微服務(wù)應(yīng)用安全分析獲獎科研報告_第1頁
微服務(wù)應(yīng)用安全分析獲獎科研報告_第2頁
微服務(wù)應(yīng)用安全分析獲獎科研報告_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

微服務(wù)應(yīng)用安全分析獲獎科研報告摘

要:隨著軟件的不斷發(fā)展,軟件的開發(fā)技術(shù)也在不斷地提高,如今的軟件開發(fā)者所使用的開發(fā)技術(shù)不再是以前的那種單一整體架構(gòu)了,更多使用的是分布式的微服務(wù)架構(gòu)。使用微服務(wù)架構(gòu)的方式來開發(fā)軟件確實降低了軟件開發(fā)過程中的復(fù)雜性,但同時也給軟件帶來了更多的安全隱患。本文針對微服務(wù)架構(gòu)應(yīng)用中存在的一些安全漏洞,簡單介紹了一些開發(fā)者進行軟件開發(fā)時需要考慮到的攻擊方式和應(yīng)對策略。

關(guān)鍵詞:微服務(wù);安全漏洞;應(yīng)對策略

1微服務(wù)的興起

什么是微服務(wù)?微服務(wù)就是將單個應(yīng)用程序拆分成多個小的服務(wù)的集群,每個微服務(wù)都圍繞具體業(yè)務(wù)進行實現(xiàn),相互之間通過輕量級通信機制,有著極少的統(tǒng)一管理。每個微服務(wù)可以獨立部署,使用不同的編程語言,使用不同的數(shù)據(jù)存儲技術(shù)。[1,2]從上面這段話我們可以知道,微服務(wù)的思想就是使用一個個獨立的微服務(wù)來構(gòu)成整個系統(tǒng)。

為什么我們不再趨向于使用以前的單一整體架構(gòu)來開發(fā)?單體架構(gòu)在系統(tǒng)規(guī)模較小時的效果確實很不錯,但隨著系統(tǒng)規(guī)模的不斷擴大,出現(xiàn)的問題就越來越多,舉一個簡單的例子,技術(shù)是在不斷發(fā)展的,可以說是日新月異,我們通常都會使用新的技術(shù)來更新項目,但在使用單體架構(gòu)實現(xiàn)的項目中,各個功能模塊之間是有著復(fù)雜的聯(lián)系,你想用新的技術(shù)來更新項目非常困難,你必須更改每一個模塊的代碼,需要付出的時間和精力實在是太大了。而微服務(wù)架構(gòu)恰好解決了這個問題,每個微服務(wù)都是獨立的,想用什么技術(shù)就用什么技術(shù),并且微服務(wù)的體積通常都是很小的,即使需要使用新的技術(shù)來更新也不會太過復(fù)雜。除此之外,微服務(wù)還解決了單體架構(gòu)中軟件擴展困難、維護困難、復(fù)雜性高等問題,這就是為什么微服務(wù)越來越受歡迎的原因。

2微服務(wù)存在的安全問題

安全問題是每一個應(yīng)用在開發(fā)過程中都不能忽視的問題,盡管微服務(wù)架構(gòu)的使用解決了單體架構(gòu)中的許多問題,但安全問題也會更加復(fù)雜。相比于單體架構(gòu),微服務(wù)暴露了更多的可攻擊面。[3]一個基于微服務(wù)的應(yīng)用中,存在的安全問題可分為兩類,一類是傳統(tǒng)的安全問題,一類是微服務(wù)架構(gòu)中存在的安全問題。

第一類安全問題并不是微服務(wù)架構(gòu)獨有的,它也存在于以前的單體架構(gòu)中,比較常見的攻擊有注入攻擊、XSS攻擊、文件上傳等。[4]但這一類的安全問題現(xiàn)在人們已經(jīng)提出了許多相對完善的防御方法了,對于開發(fā)者來說不足為慮。第二類安全問題才是使用微服務(wù)架構(gòu)時需要重視的問題,這一類的安全問題有很多個方面,本文主要講微服務(wù)系統(tǒng)中微服務(wù)之間訪問這一方面的問題。

3安全漏洞的處理

通過前面的分析,我們已經(jīng)把系統(tǒng)中存在的安全漏洞都分析出來了,下一步,我們就應(yīng)該“對癥下藥”了。在下文,我將根據(jù)現(xiàn)有的研究簡述這兩類安全問題產(chǎn)生的原因以及我們應(yīng)該用什么樣的方法來防御。

3.1傳統(tǒng)的安全問題

首先說一下注入攻擊,注入攻擊有分好幾類,其中我們聽得比較多的就是SQL注入。SQL注入主要是通過把SQL命令插入到Web表單遞交或輸入域名或頁面請求的查詢字符串,實現(xiàn)無帳號登錄,甚至篡改數(shù)據(jù)庫。SQL注入的本質(zhì)實際上就是對提交數(shù)據(jù)檢查的不充分,將提交的非法數(shù)據(jù)當成SQL語句來執(zhí)行。對于這種攻擊,我們常使用字符過濾和使用參數(shù)化查詢(最有效的方法)來預(yù)防。

XSS攻擊,即跨站腳本攻擊,它是一種最普遍的WEB安全漏洞,其原理是嵌入惡意代碼到WEB頁面里面,用戶一旦訪問這個頁面就會觸發(fā)這些惡意代碼,這時攻擊者的特殊目的就可以實現(xiàn)了,他們可以竊取你的cookie、會話等私人信息,嚴重的話會造成非常大的損失。抵御這種攻擊最常用的方式就是通過添加攔截器過濾請求參數(shù)來阻止惡意代碼的執(zhí)行。

文件上傳與表單數(shù)據(jù)重復(fù)提交也是比較常見的安全問題,前者會導(dǎo)致一些惡意腳本文件被上傳到系統(tǒng)中,而后者會增加服務(wù)器負載均衡,嚴重的時候還會造成服務(wù)器宕機。文件上傳漏洞是開發(fā)者在開發(fā)過程中僅設(shè)置文件后綴檢驗產(chǎn)生的,一些惡意腳本文件可以通過修改文件后綴名等方式通過文件后綴檢驗進入到系統(tǒng)中,所以對付文件上傳漏洞的最好方式就是同時設(shè)置文件后綴校驗和文件格式檢驗。表單數(shù)據(jù)重復(fù)提交的原因有很多,可能是用戶的誤操作或者網(wǎng)絡(luò)原因,也可能是攻擊者刻意而為,但不管是什么樣的可能性我們都要考慮到這個問題。常用的阻止表單重復(fù)提交方法有JavaScript屏蔽提交按鈕、數(shù)據(jù)庫添加唯一約束、利用session設(shè)置提交有效時間和AOP自定義切入,推薦使用后面兩種方式。

3.2微服務(wù)之間的訪問

不管是什么樣的系統(tǒng),用戶訪問服務(wù)前為了保證系統(tǒng)的安全性都需要對用戶進行身份認證,認證通過后才能授權(quán)給用戶去訪問這個服務(wù)。在單體架構(gòu)中,所有的服務(wù)都是部署在同一個服務(wù)器上的,用戶想訪問另一個服務(wù)服務(wù)器可以通過本地方法調(diào)用的方式來實現(xiàn),用戶只需要進行一次身份驗證。但在微服務(wù)架構(gòu)里,各個微服務(wù)通常是部署在不同服務(wù)器上的,用戶想訪問多個微服務(wù)就要進行多次認證,非常復(fù)雜,而且還會暴露微服務(wù)的存在,讓攻擊者有更多的機會來攻擊,安全性不夠高。有沒有什么方法可以讓微服務(wù)之間的訪問變得更安全和更簡單呢?答案是肯定的,人們提出了4種解決方法,分別是單點登錄(SSO)、分布式會話(Session)、客戶端令牌(Token)和API網(wǎng)關(guān)(Gateway)。我們經(jīng)常用到的解決方法就是微服務(wù)系統(tǒng)中使用API網(wǎng)關(guān)。

API網(wǎng)關(guān)為微服務(wù)系統(tǒng)提供了統(tǒng)一入口,起到了客戶端和后臺微服務(wù)應(yīng)用之間的橋接作用,是微服務(wù)架構(gòu)系統(tǒng)的重要部分。[5]API網(wǎng)關(guān)有著很多功能,認證授權(quán)、訪問控制、負載均衡、動態(tài)路由、過濾、日志

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論