平臺安全保密防護技術(shù)培訓(xùn)講座_第1頁
平臺安全保密防護技術(shù)培訓(xùn)講座_第2頁
平臺安全保密防護技術(shù)培訓(xùn)講座_第3頁
平臺安全保密防護技術(shù)培訓(xùn)講座_第4頁
平臺安全保密防護技術(shù)培訓(xùn)講座_第5頁
已閱讀5頁,還剩71頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、平臺平安保密技術(shù)2022/7/161計算機平臺的泄密途徑1自然因素引發(fā)的危害2計算機系統(tǒng)本身的軟硬件缺陷漏洞發(fā)現(xiàn)技術(shù)3計算機技術(shù)和產(chǎn)品的非自主性4落后的數(shù)據(jù)備份技術(shù)5不完備的災(zāi)難恢復(fù)策略和方案6電磁輻射泄露7計算機病毒危害8非法入侵竊密9平安管理問題2022/7/1622022/7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院3平臺保密技術(shù)數(shù)據(jù)加密技術(shù)密鑰管理技術(shù)信息隱藏技術(shù)信息認證技術(shù)訪問控制技術(shù)病毒防治技術(shù)漏洞掃描技術(shù)平安審計技術(shù)防電磁防輻射技術(shù)Bug與漏洞現(xiàn)代軟件工業(yè)的開展,軟件規(guī)模不斷擴大軟件內(nèi)部的邏輯也變得異常復(fù)雜。為了保證軟件的質(zhì)量測試成了極為重要的一環(huán)。即便如此,不管從理論上還是工程上

2、都沒有任何人敢聲稱能夠徹底消滅軟件中所有的邏輯缺陷 bug。2022/7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院4Bug與漏洞軟件邏輯缺陷中,有一局部能夠引起非常嚴重的后果。 “超出設(shè)計范圍的事情的bug稱為漏洞(vulnerabillty)功能性邏輯缺陷bug:影響軟件的正常功能執(zhí)行結(jié)果錯誤、圖標顯示錯誤平安性邏輯缺陷漏洞:通常情況下不影響軟件的正常功能,但被攻擊者成功利用后,有可能引起軟件去執(zhí)行額外的惡意代碼常見的漏洞包括軟件中的緩沖區(qū)溢出漏洞、網(wǎng)站中的跨站腳本漏洞(XSS)、SOL注入漏洞等。2022/7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院5困惑的平安問題1從來不運行來歷不明的軟件,

3、為什么還會中病毒?利用系統(tǒng)漏洞沖擊波蠕蟲、slamer蠕蟲效勞器軟件中存在平安漏洞系統(tǒng)中可以被RPC遠程調(diào)用的函數(shù)中存在緩沖區(qū)溢出漏洞淪為“肉雞2022/7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院6困惑的平安問題2我只是點擊了一個URL鏈接,并沒有執(zhí)行任何其他操作,為什么會中木馬?如果瀏覽器解析HTML文件時,存在緩沖區(qū)溢出漏洞攻擊者可以精心構(gòu)造一個承載惡意代碼的HTML文件點擊該鏈接就會觸發(fā)漏洞,從而導(dǎo)致HTML中的惡意代碼shellcode被執(zhí)行這樣的惡意代碼通常是在沒有任何提示的情況下去指定的地方下載木馬客戶端并運行2022/7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院7困惑的平安問題3w

4、ord文檔、power point文檔、excel表不是可執(zhí)行文件,他們會導(dǎo)致惡意代碼執(zhí)行嗎?如果office軟件在解析數(shù)據(jù)文件時,存在緩沖區(qū)溢出漏洞攻擊者可以精心構(gòu)造一個承載惡意代碼的word文件2022/7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院8困惑的平安問題4使用高強度密碼,賬戶是否平安?高強度密碼可以抗暴力破解,但是否平安還存在其他一些因素密碼存在哪里?本地還是效勞器密碼怎么存?明文還是密文,加密算法強度怎樣?密碼怎樣傳遞?密鑰交換過程是否平安、是否使用SSL等如果網(wǎng)站存在SQL注入漏洞2022/7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院9軟件漏洞分類1緩沖區(qū)溢出漏洞2整數(shù)溢出漏洞3

5、格式化字符串漏洞4指針覆蓋漏洞5SQL注入漏洞6Bypass漏洞7信息泄露漏洞8越權(quán)型漏洞2022/7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院101緩沖區(qū)溢出漏洞非常普遍、非常危險的漏洞,在各種操作系統(tǒng)、應(yīng)用軟件中廣泛存在利用緩沖區(qū)溢出攻擊,可以導(dǎo)致程序運行失敗、系統(tǒng)宕機、重新啟動等后果更為嚴重的是,可以利用它執(zhí)行非授權(quán)指令,甚至可以取得系統(tǒng)特權(quán),進而進行各種非法操作2022/7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院11緩沖區(qū)溢出攻擊有多種英文名稱buffer overflow、buffer overrun、smash the stacktrash the stack、scribble th

6、e stack、 mangle the stack、 memory leak、overrun screw第一個緩沖區(qū)溢出攻擊-Morris蠕蟲,發(fā)生在二十年前,它曾造成了全世界6000多臺網(wǎng)絡(luò)效勞器癱瘓。2022/7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院12緩沖區(qū)溢出是指當計算機向緩沖區(qū)內(nèi)填充數(shù)據(jù)位數(shù)時超過了緩沖區(qū)本身的容量,溢出的數(shù)據(jù)覆蓋在合法數(shù)據(jù)上理想的情況是程序檢查數(shù)據(jù)長度并不允許輸入超過緩沖區(qū)長度的字符但是絕大多數(shù)程序都會假設(shè)數(shù)據(jù)長度總是與所分配的儲存空間相匹配,這就為緩沖區(qū)溢出埋下隱患.操作系統(tǒng)所使用的緩沖區(qū)又被稱為堆棧. 在各個操作進程之間,指令會被臨時儲存在堆棧當中,堆棧也會出

7、現(xiàn)緩沖區(qū)溢出。2022/7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院13緩沖區(qū)溢出的原理通過往程序的緩沖區(qū)寫超出其長度的內(nèi)容,造成緩沖區(qū)的溢出,從而破壞程序的堆棧,造成程序崩潰或使程序轉(zhuǎn)而執(zhí)行其它指令,以到達攻擊的目的。造成緩沖區(qū)溢出的原因是程序中沒有仔細檢查用戶輸入的參數(shù)。2022/7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院14上面的strcpy()將直接把str中的內(nèi)容copy到buffer中。這樣只要str的長度大于16,就會造成buffer的溢出,使程序運行出錯。存在象strcpy這樣的問題的標準函數(shù)還有:strcat(),sprintf(),vsprintf(),gets(),scan

8、f()等 2022/7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院15當然,隨便往緩沖區(qū)中填東西造成它溢出一般只會出現(xiàn)“分段錯誤Segmentation fault,而不能到達攻擊的目的。最常見的手段是通過制造緩沖區(qū)溢出使程序運行一個用戶shell,再通過shell執(zhí)行其它命令。如果該程序?qū)儆趓oot且有suid權(quán)限的話,攻擊者就獲得了一個有root權(quán)限的shell,可以對系統(tǒng)進行任意操作了。 2022/7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院16緩沖區(qū)溢出的漏洞和攻擊緩沖區(qū)溢出攻擊的目的在于擾亂具有某些特權(quán)運行的程序的功能,這樣可以使得攻擊者取得程序的控制權(quán),如果該程序具有足夠的權(quán)限,那么整個

9、主機就被控制了。一般而言,攻擊者攻擊root程序,然后執(zhí)行類似“exec(sh)的執(zhí)行代碼來獲得root權(quán)限的shell。為了到達這個目的,攻擊者必須到達如下的兩個目標:1. 在程序的地址空間里安排適當?shù)拇a。2. 通過適當?shù)某跏蓟娣牌骱蛢?nèi)存,讓程序跳轉(zhuǎn)到入侵者安排的地址空間執(zhí)行。2022/7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院172整數(shù)溢出漏洞整數(shù)分為無符號和有符號兩類,其中有負符號整數(shù)最高位為1,正整數(shù)最高位為0,無符號整數(shù)無此限制;常見的整數(shù)類型8位布爾、單字節(jié)字符等16位短整型、Unicode等32位整型、長整型64位_int64等2022/7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)

10、學(xué)院18整數(shù)溢出就是往存儲整數(shù)的內(nèi)存單位中存放的數(shù)據(jù)大于該內(nèi)存單位所能存儲的最大值,從而導(dǎo)致了溢出。舉例當整型變量nIn輸入小于sOut的最大值65535時,輸出正常;否那么,輸出的值是對65536取模得到的。2022/7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院19例子1 int num; num=argv(1); if(num+150000)strcpy(des,src);如果從外部獲得num=ox7fffffff時,會發(fā)生什么?十進制21474836472022/7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院20例子2代碼/(1)char *buf;(2)int sizeBuf=sizeof(

11、argv1)+260;(3)buf=new charsizeBuf;(4)memcpy(buf, argv1,sizeof(argv1);/2022/7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院21如果sizeof(argv1)=2 147 483 388sizeBuf= 2 147 483 388+260=2 147 483 648這個值大于有符號數(shù)的最大值,因此變?yōu)橐粋€負數(shù)導(dǎo)致后面的memcpy發(fā)生嚴重的內(nèi)存溢出錯誤2022/7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院223格式化字符串漏洞由于程序的數(shù)據(jù)輸出函數(shù)對輸出數(shù)據(jù)的格式解析不當而引發(fā)的%d, %o, %x, %u, %f, %e, %

12、g, %c, %s2022/7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院23#include #includeint main()printf(“s%n,abcdef);/printf(“c%n,abcdef);/return 0;2022/7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院244指針覆蓋漏洞對于一個程序來說,內(nèi)存中的數(shù)據(jù)往往都影響著程序的執(zhí)行流程,因為程序?qū)⑷〕瞿硞€內(nèi)存地址中的內(nèi)容作為它下一個將要執(zhí)行的地址。這個時候,稱這個程序執(zhí)行地址的內(nèi)存地址為“指針。由于程序在運行中往往會將來自于程序外部的數(shù)據(jù)也存放進入內(nèi)存中,如果某些數(shù)據(jù)恰好覆蓋了程序的指針,那么程序的執(zhí)行流程就會被這些外部數(shù)據(jù)

13、所控制,這就是指針覆蓋漏洞。2022/7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院25緩沖區(qū)溢出漏洞主要是因為程序的返回地址被外部數(shù)據(jù)所覆蓋,程序在函數(shù)調(diào)用返回的時候被外部數(shù)據(jù)控制。指針覆蓋漏洞的范圍那么更廣泛一些,外部數(shù)據(jù)不僅可以覆蓋程序的函數(shù)返回地址,還可能覆蓋程序運行中其他的關(guān)鍵地址。如程序正在調(diào)用指令call ecx,此時,ecx存放器中的數(shù)據(jù)來源于內(nèi)存中的某個地址。一旦程序發(fā)生指針覆蓋漏洞,ecx索取數(shù)據(jù)的這個內(nèi)存地址被一個執(zhí)行ShellCode代碼的地址所覆蓋,那么程序一旦調(diào)用call ecx指令,ShellCode就會馬上被執(zhí)行。2022/7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院

14、26指針覆蓋漏洞可能是最近幾年軟件平安中出現(xiàn)最多的漏洞。緩沖區(qū)溢出漏洞那么隨著一些平安技術(shù)的提高慢慢開始消失,尤其近幾年CPU硬件設(shè)計者采用的一些硬件級別的防止緩沖區(qū)溢出漏洞的方法,更加使得緩沖區(qū)溢出漏洞難以被利用。但是對于指針覆蓋漏洞來說,由于它不牽涉用過長的數(shù)據(jù)覆蓋內(nèi)存數(shù)據(jù),而是讓程序主動修改自己的關(guān)鍵存放器數(shù)據(jù),從而使得硬件級別的方法也無法防止這種漏洞被惡意利用2022/7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院275SQL注入漏洞6Bypass漏洞Bypass漏洞翻譯過來就是“繞過漏洞 假設(shè)一個軟件,只允許管理員登錄,不允許其他人登錄??墒悄惆l(fā)現(xiàn)利用某種方法,即使你不知道管理員密碼,也

15、能夠登錄該軟件,這時候,就發(fā)現(xiàn)了一個“登錄限制繞過漏洞。假設(shè)一個軟件,限制你訪問某些特定的文件,如被加密的文件。可是,你發(fā)現(xiàn)利用修改文件屬性的方法可以使得你能夠訪問特定的被加密文件,這個時候,你繞過了軟件的限制,就是發(fā)現(xiàn)了一個“文件限制繞過漏洞。2022/7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院28總的來說,Bypass漏洞是一個大類,包含了很多小類共同的特點,就是這些出現(xiàn)問題的軟件在使用上都存在對用戶使用的限制,而Bypass漏洞就可以繞過軟件的限制,使得軟件的限制形同虛設(shè)。2022/7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院29Windows2000系統(tǒng)的輸入法漏洞這個漏洞可以讓你在不知

16、道別人系統(tǒng)密碼的情況下,成功地訪問到系統(tǒng)內(nèi)部的所有文件與數(shù)據(jù)信息,這就是。Windows2000系統(tǒng)的輸入法漏洞允許用戶在不知道系統(tǒng)密碼的情況下,在輸入用戶名的窗口中調(diào)出“幫助程序,借助“幫助程序的“跳至URL功能,訪問到系統(tǒng)的任意一個文件 2022/7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院30著名的谷歌輸入法的漏洞只要安裝了谷歌輸入法的操作系統(tǒng),不管你是WindowsXP還是WindowsVista,別人都可以在不知道你系統(tǒng)密碼的情況下訪問你系統(tǒng)中的任意一個文件對平安軟件來說,Bypass漏洞更加具有危害性例如殺毒軟件,一個原本是病毒的文件,由于殺毒軟件存在Bypass漏洞,該病毒文件竟然

17、繞過了被殺毒軟件發(fā)現(xiàn)的平安保護機制,用戶相信殺毒軟件沒有警告的文件一定是平安的,于是會放心地運行該病毒文件,后果可想而知。2022/7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院317信息泄露漏洞按照在操作系統(tǒng)上的軟件會隨時泄露自己系統(tǒng)中的信息分類本地式信息泄露漏洞原程式信息泄露漏洞2022/7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院32本地式信息泄露漏洞當用戶在計算機系統(tǒng)上安裝某個軟件之后,該軟件生成的文件會將用戶計算機系統(tǒng)上的其他的數(shù)據(jù)信息在未經(jīng)用戶許可的情況下,擅自保存到文件中。當該文件被惡意攻擊者獲得后,惡意攻擊者就可以借助該漏洞獲得用戶計算機系統(tǒng)的信息,從而造成用戶信息被泄露。2022/

18、7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院33遠程式信息泄露漏洞常見于提供遠程網(wǎng)絡(luò)效勞的軟件8越權(quán)型漏洞2022/7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院34漏洞利用過程漏洞挖掘漏洞分析漏洞利用2022/7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院35漏洞利用過程-漏洞挖掘比較權(quán)威的兩個漏洞發(fā)布機構(gòu)CVECommon Vulnerabilities and ExposuresCERTComputer Emergency Response Team此外國外eEye、LSD等組織也對最新的漏洞進行及時跟蹤分析,并給出相應(yīng)的漏洞解決方案綠盟科技、啟明星辰等單位是國內(nèi)平安研究組織的代表2022/7/1

19、6哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院36漏洞利用過程-漏洞挖掘現(xiàn)有漏洞挖掘技術(shù)分類根據(jù)分析對象的不同,漏洞挖掘技術(shù)可以分為基于源碼的漏洞挖掘技術(shù)基于目標代碼的漏洞挖掘技術(shù)兩大類2022/7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院37漏洞利用過程-漏洞挖掘基于源碼的漏洞挖掘前提是必須能獲取源代碼,對于一些開源工程,通過分析其公布的源代碼,就可能找到存在的漏洞。例如對Linux系統(tǒng)的漏洞挖掘就可采用這種方法。但大多數(shù)的商業(yè)軟件其源碼很難獲得,不能從源碼的角度進行漏洞挖掘2022/7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院38漏洞利用過程-漏洞挖掘基于目標代碼的漏洞挖掘?qū)δ繕舜a進行分析涉及編譯器、指

20、令系統(tǒng)、可執(zhí)行文件格式等多方面的知識,難度較大 首先將要分析的二進制目標代碼反匯編,得到匯編代碼;然后對匯編代碼進行切片,即對某些上下文關(guān)聯(lián)密切、有意義的代碼進行會聚,降低其復(fù)雜性;最后通過分析功能模塊,來判斷是否存在漏洞。2022/7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院39漏洞利用過程-漏洞挖掘漏洞挖掘技術(shù)從逆向分析的軟件測試角,又可分為三類白箱分析黑箱分析灰箱分析2022/7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院40漏洞利用過程-漏洞挖掘常用的漏洞發(fā)現(xiàn)技術(shù):手工測試manual testing靜態(tài)分析static analysis運行時分析runtime analysis-動態(tài)分析技

21、術(shù)二進制比較Diff and BinDifffuzzing技術(shù)2022/7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院41漏洞利用過程-漏洞挖掘(1)手工測試通過客戶端或效勞器訪問目標效勞,手工向目標程序發(fā)送特殊的數(shù)據(jù),包括有效的和無效的輸入,觀察目標的狀態(tài)、對各種輸入的反響,根據(jù)結(jié)果來發(fā)現(xiàn)問題的漏洞檢測技術(shù)。手工測試不需要額外的輔助工具,可由測試者獨立完成,實現(xiàn)起來比較簡單。但這種方法高度依賴于測試者,需要測試者對目標比較了解。手工測試可用于Web應(yīng)用程序、瀏覽器及其他需要用戶交互的程序。2022/7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院42漏洞利用過程-漏洞挖掘(2)靜態(tài)分析通過詞法、語法、

22、語義分析檢測程序中潛在的平安問題,發(fā)現(xiàn)平安漏洞,根本思想是對源程序的靜態(tài)掃描分析,故也歸類為靜態(tài)檢測分析靜態(tài)分析重點:檢查函數(shù)調(diào)用及返回狀態(tài),特別是未進行邊界檢查或邊界檢查不正確的函數(shù)調(diào)用、由用戶提供輸入的函數(shù)、在用戶緩沖區(qū)進行指針運算的程序等strcpy,strcat等可能造成緩沖區(qū)溢出的函數(shù)不需要運行軟件程序就可以分析程序中可能存在的漏洞的分析技術(shù)2022/7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院43漏洞利用過程-漏洞挖掘目前流行的軟件漏洞靜態(tài)分析技術(shù)主要包括源代碼掃描反匯編掃描2022/7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院44漏洞利用過程-漏洞挖掘 源代碼掃描主要針對開放源代碼的

23、程序,通過檢測程序中不符合平安規(guī)那么的文件結(jié)構(gòu)、命名規(guī)那么、函數(shù)、堆棧指針等,從而發(fā)現(xiàn)程序中可能隱含的平安缺陷這種漏洞分析技術(shù)需要熟練掌握編程語言,并預(yù)先定義出不平安代碼的審查規(guī)那么,通過表達式匹配的方法檢查源代碼由于程序運行時是動態(tài)變化的,如果不考慮函數(shù)調(diào)用的參數(shù)和調(diào)用環(huán)境,不對源代碼進行詞法分析和語法分析就沒有方法準確的把握程序的語義,因此這種方法不能發(fā)現(xiàn)程序動態(tài)運行過程中的平安漏洞。2022/7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院45漏洞利用過程-漏洞挖掘反匯編掃描對于不公開源代碼的程序來說往往是最有效的發(fā)現(xiàn)平安漏洞的方法。分析反匯編代碼需要有豐富的經(jīng)驗,也可以使用輔助工具來幫助簡化

24、這個過程。但不可能有一種完全自動的工具來完成這個過程。例如,利用一種優(yōu)秀的反匯編程序IDA就可以得到目標程序的匯編腳本語言,再對匯編出來的腳本語言使用掃描的方法,從而進一步識別一些可疑的匯編代碼序列。從理論上講,不管多么復(fù)雜的問題總是可以通過反匯編來解決的。它的缺點也是顯然的,這種方法費時費力,對人員的技術(shù)水平要求很高,不能檢測到程序動態(tài)運行過程中產(chǎn)生的平安漏洞。 2022/7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院46漏洞利用過程-漏洞挖掘靜態(tài)分析方法優(yōu)點:高效快速,能夠很快完成對源代碼的檢查,并且檢查者不需要了解程序的實現(xiàn)方式,故非常適合自動化的源程序緩沖區(qū)溢出檢查此外,它還能夠較全面的覆

25、蓋系統(tǒng)代碼,減少了漏報。但這種方法也存在很大的局限性不斷擴充的特征庫或詞典,造成了檢測的結(jié)果集大、誤報率高;重點分析代碼的“特征,而不關(guān)心程序的功能,不會有針對功能及程序結(jié)構(gòu)的分析檢查2022/7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院47漏洞利用過程-漏洞挖掘3動態(tài)分析技術(shù)在調(diào)試器中運行目標程序,通過觀察執(zhí)行過程中程序的運行狀態(tài)、內(nèi)存使用狀況以及存放器的值等以發(fā)現(xiàn)潛在問題,尋找漏洞從代碼流和數(shù)據(jù)流兩方面入手:通過設(shè)置斷點動態(tài)跟蹤目標程序代碼流,以檢測有缺陷的函數(shù)調(diào)用及其參數(shù);對數(shù)據(jù)流進行雙向分析,通過構(gòu)造特殊數(shù)據(jù)觸發(fā)潛在錯誤并對結(jié)果進行分析。動態(tài)分析需要借助調(diào)試器工具,SoftIce、Oll

26、yDbg、WinDbg等是比較強大的動態(tài)跟蹤調(diào)試器。 2022/7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院48漏洞利用過程-漏洞挖掘常見動態(tài)分析方法輸入追蹤測試法堆棧比較法故障注入分析法2022/7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院49漏洞利用過程-漏洞挖掘動態(tài)分析方法的優(yōu)點:在程序運行時進行分析,找到的漏洞即表現(xiàn)為程序錯誤,因此具有較高的準確率;它能夠有針對性的對目標系統(tǒng)進行檢查,從而能夠準確確實定目標系統(tǒng)相應(yīng)功能或模塊的系統(tǒng)表現(xiàn)。此外,動態(tài)分析技術(shù)與黑盒測試非常相似,無須源代碼,可以通過觀察程序的輸入和輸出來分析,并對其進行各種檢查,以驗證目標程序是否有錯誤。如由輸入引發(fā)的緩沖區(qū)溢出

27、漏洞,可以使用此方法。2022/7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院50漏洞利用過程-漏洞挖掘局限性它效率不高,不容易找到分析點,需要熟悉目標系統(tǒng)且有豐富經(jīng)驗,技術(shù)復(fù)雜,對分析人員要求高,難以實現(xiàn)自動化發(fā)現(xiàn)在大規(guī)模工程的檢查中,動態(tài)分析技術(shù)都受到較大的制約。2022/7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院51漏洞利用過程-漏洞挖掘4二進制比對技術(shù)又可稱為補丁比對技術(shù)主要是被用以挖掘“的漏洞,也可被認為是一種漏洞分析技術(shù)。由于平安公告中一般都不指明漏洞確實切位置和成因,使得漏洞的有效利用比較困難但漏洞一般都有相應(yīng)的補丁,所以可以通過比較補丁前后的二進制文件,確定漏洞的位置和成因。202

28、2/7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院52漏洞利用過程-漏洞挖掘補丁比對技術(shù)對于平安人員及黑客都是非常有用的技術(shù)通過補丁比對分析,定位漏洞代碼再加以數(shù)據(jù)流分析,最后可以得到漏洞利用的攻擊代碼有經(jīng)驗的平安專家或黑客甚至能在很短的時間內(nèi)就完成這個漏洞挖掘與利用的過程。 2022/7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院53漏洞利用過程-漏洞挖掘補丁比對技術(shù)種類二進制字節(jié)比較假設(shè)干字節(jié)變化的比較二進制文件反匯編后的文本比較缺乏對程序邏輯的理解,沒有語義分析,適用于小文件和少量的變化這兩種方法都不適合文件修改較多的情況2022/7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院54漏洞利用過程-漏洞

29、挖掘較復(fù)雜的方法Tobb Sabin提出的基于指令相似性的圖形化比較前者可以發(fā)現(xiàn)文件中一些非結(jié)構(gòu)化的變化,如緩沖區(qū)大小的改變等,并且圖形化顯示比較直觀缺乏是受編譯器優(yōu)化的影響較大,且不能在兩個文件中自動發(fā)現(xiàn)大量比較的起始點Halvar Flake提出的結(jié)構(gòu)化二進制比較注重二進制可執(zhí)行文件在結(jié)構(gòu)上的變化,從而在一定程度上消除了編譯器優(yōu)化對分析二進制文件所帶來的影響但這種方法不能發(fā)現(xiàn)非結(jié)構(gòu)的變化。 2022/7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院55漏洞利用過程-漏洞挖掘常用的補丁比對工具IDefense公司發(fā)布的IDACompareThe eEye Digital Security發(fā)布的Bi

30、nary Diffing SuiteEBDSSabre Security的BinDiff以上都是基于結(jié)構(gòu)化二進制比較技術(shù)的補丁比對工具NCNIPC還于2007年12月發(fā)布了NIPC Binary DifferNBD補丁比對工具2022/7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院56漏洞利用過程-漏洞挖掘5Fuzzing技術(shù)黑盒測試:基于缺陷注入的自動軟件測試技術(shù)應(yīng)用程序的輸入:大量半有效的數(shù)據(jù)以程序是否出現(xiàn)異常為標志,來發(fā)現(xiàn)應(yīng)用程序中可能存在的平安漏洞所謂半有效的數(shù)據(jù)是指對應(yīng)用程序來說文件的必要標識局部和大局部數(shù)據(jù)是有效的,這樣應(yīng)用程序就會認為這是一個有效的數(shù)據(jù)同時該數(shù)據(jù)的其他局部是無效的,這

31、樣應(yīng)用程序在處理該數(shù)據(jù)時就有可能發(fā)生錯誤這種錯誤能夠?qū)е聭?yīng)用程序的崩潰或者觸發(fā)相應(yīng)的平安漏洞。2022/7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院57漏洞利用過程-漏洞挖掘2022/7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院58構(gòu)造半有效數(shù)據(jù)發(fā)送到需要測試的程序保存使程序出錯的數(shù)據(jù)程序崩潰?NY漏洞利用過程-漏洞挖掘Fuzzing技術(shù)利用Fuzzer工具通過完全隨機的或精心構(gòu)造一定的輸入來實現(xiàn)的Fuzzing技術(shù)根據(jù)應(yīng)用對象主要可分為兩類一類是文件格式的Fuzzing,主要針對圖像格式、文檔格式等另一類是協(xié)議的Fuzzing,主要針對RPC協(xié)議和HTTP協(xié)議等2022/7/16哈爾濱工程大學(xué)計

32、算機科學(xué)與技術(shù)學(xué)院59漏洞利用過程-漏洞挖掘Fuzzing測試通常以大小相關(guān)的局部、字符串、標志字符串開始或結(jié)束的二進制塊等為重點,使用邊界值附近的值對目標進行測試Fuzzing技術(shù)可以用于檢測多種平安漏洞,包括:緩沖區(qū)溢出漏洞、整型溢出漏洞、格式化串漏洞、競爭條件漏洞、SQL注入、跨站點腳本、遠程命令執(zhí)行、文件系統(tǒng)攻擊、信息泄露等。目前公布的平安漏洞中有許多都是使用Fuzzing技術(shù)檢測發(fā)現(xiàn)的,并且有許多Fuzzing工具可以用于測試應(yīng)用程序的平安性。2022/7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院60漏洞利用過程-漏洞挖掘Fuzzing技術(shù)與其它技術(shù)相比,優(yōu)點思想簡單、容易理解從發(fā)現(xiàn)漏

33、洞到漏洞重現(xiàn)容易不存在誤報缺點:具有黑盒測試的全部缺點不通用構(gòu)造測試周期長2022/7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院61特征:1. 被重啟動;2. 用netstat 可以看到大量tcp 135端口的掃描;3. 系統(tǒng)中出現(xiàn)文件:%Windir%system32msblast.exe4. 系統(tǒng)工作不正常,比方拷貝、粘貼功能不工作,IIS效勞啟動異常等;2022/7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院62傳播機理利用DCOM RPC 漏洞進行傳播導(dǎo)致系統(tǒng)不穩(wěn)定,有可能造成系統(tǒng)崩潰掃描端口號是TCP/135傳播成功后他會利用tcp/4444和UDP 69端口下載并運行它的代碼程序Msbl

34、ast.exe還將對windowsupdate 進行拒絕效勞攻擊,不能使您及時地得到這個漏洞的補丁。2022/7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院63BACKRPC遠程平安漏洞Remote Procedure Call (RPC)Windows 操作系統(tǒng)使用的一種遠程過程調(diào)用協(xié)議,RPC提供進程間交互通信機制允許在某臺計算機上運行程序無縫地在遠程系統(tǒng)上執(zhí)行代碼。微軟的Windows操作系統(tǒng)的RPC接口存在多個遠程平安漏洞Microsoft的RPC局部在通過TCP/IP處理信息交換時存在多個遠程堆緩沖區(qū)溢出問題遠程攻擊者可以利用這些漏洞以本地系統(tǒng)權(quán)限在系統(tǒng)上執(zhí)行任意指令2022/7/16哈

35、爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院64RPC遠程平安漏洞RPC的DCOM接口此接口處理由客戶端機器發(fā)送給效勞器的DCOM對象激活請求攻擊者通過向目標發(fā)送畸形RPC DCOM請求來利用這些漏洞成功利用此漏洞可以以本地系統(tǒng)權(quán)限執(zhí)行任意指令攻擊者可以在系統(tǒng)上執(zhí)行任意操作 ,如安裝程序、查看或更改、刪除數(shù)據(jù)或創(chuàng)立系統(tǒng)管理員權(quán)限的帳戶。2022/7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院65RPC遠程平安漏洞攻擊者可以通過 135(UDP/TCP), 137/UDP, 138/UDP, 139/TCP, 445(UDP/TCP), 593/TCP端口進行攻擊對于啟動了COM Internet效勞和RPC

36、over HTTP的用戶來說,攻擊者還可能通過80/TCP和443/TCP端口進行攻擊。微軟已經(jīng)在其平安公告MS03-039中提供了平安補丁以修復(fù)上述漏洞2022/7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院66返回SQL注入漏洞ASP編程門檻很低:在平安性方面容易忽略SQL注入漏洞的問題用NBSI 2.0對網(wǎng)上的一些ASP網(wǎng)站稍加掃描,就能發(fā)現(xiàn)許多ASP網(wǎng)站存在SQL注入漏洞教育網(wǎng)里高校內(nèi)部機構(gòu)的一些網(wǎng)站這種漏洞就更普遍了2022/7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院67SQL注入漏洞在編寫代碼的時候,沒有對用戶輸入數(shù)據(jù)的合法性進行判斷,使應(yīng)用程序存在平安隱患網(wǎng)址 :/localhost

37、/lawjia/show.asp?ID=444,將這個網(wǎng)址提交到效勞器后,效勞器將進行類似: Select * from 表名 where 字段=&ID ID即客戶端提交的參數(shù),本例是即4442022/7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院68SQL注入漏洞再將查詢結(jié)果返回給客戶端,如果這里客戶端成心提交這么一個網(wǎng)址: :/localhost/lawjia/show.asp?ID=444 and user0 這時,效勞器運行 Select * from 表名 where 字段=444 and user0 當然這個語句是運行不下去的,肯定出錯,錯誤信息如下: 2022/7/16哈爾濱工程大學(xué)計算機科學(xué)與技術(shù)學(xué)院69SQL注入漏洞從這個出錯信息中,可以獲得以下信息:該站使用MSSQL數(shù)據(jù)庫用ODBC連接連接帳號名為:sonybb。所謂SQL注入SQL Injection利用程序員對用戶輸入數(shù)據(jù)的合法性檢測不嚴或不檢測的特點,成心從客戶端提交特殊的代碼,從而收集程序及效勞器的信息,從而獲取想得到的資料。2022/7/

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論