基于緩沖區(qū)溢出的攻擊與防御技術(shù)研究
發(fā)布時(shí)間:2022-01-16 18:36
緩沖區(qū)溢出是一種非常普遍并且危險(xiǎn)的漏洞,在各種操作系統(tǒng)和應(yīng)用軟件中廣泛存在。利用緩沖區(qū)溢出攻擊,可以導(dǎo)致程序運(yùn)行失敗、系統(tǒng)宕機(jī)、重新啟動(dòng)等后果。更為嚴(yán)重的情況可以利用它執(zhí)行非授權(quán)指令,甚至可以取得系統(tǒng)特權(quán),進(jìn)而執(zhí)行各種非法操作。要實(shí)現(xiàn)緩沖區(qū)溢出攻擊,一般需要完成兩個(gè)任務(wù),一是在漏洞程序的內(nèi)存空間中安排攻擊代碼;二是通過適當(dāng)?shù)囊绯霾僮魇钩绦蛱D(zhuǎn)到預(yù)先安排好的地址空間執(zhí)行指令。本文重點(diǎn)研究Heap Spray,它是一種代碼植入技術(shù),可以幫助攻擊者實(shí)現(xiàn)穩(wěn)定布局shellcode的目的。首先,簡單介紹了緩沖區(qū)溢出的相關(guān)知識(shí),對(duì)緩沖區(qū)溢出攻擊原理作出總結(jié),這為研究Heap Spray作了良好的鋪墊。詳細(xì)分析了 Heap Spray的實(shí)現(xiàn)原理,結(jié)合漏洞實(shí)例分析加深了對(duì)該技術(shù)的理解,接著針對(duì)現(xiàn)有的兩個(gè)防御機(jī)制DEP和Nozzle提出了一個(gè)Heap Spray攻擊模型HSM,并對(duì)模型中用到的shellcode編碼技術(shù)提出了自己的改進(jìn)策略。其次,研究Heap Spray技術(shù)的防御策略,不僅根據(jù)Heap Spray自身的特點(diǎn)對(duì)防御技術(shù)進(jìn)行了分析,還從防御緩沖區(qū)溢出的角度作出歸納研究。通過對(duì)HSM模型的分析...
【文章來源】:沈陽理工大學(xué)遼寧省
【文章頁數(shù)】:70 頁
【學(xué)位級(jí)別】:碩士
【部分圖文】:
圖1.1?2018年4月至2018年9月漏洞新增數(shù)量統(tǒng)計(jì)圖??’
幀的底部)的內(nèi)容入棧,并把ESP中的內(nèi)容復(fù)制給EBP,作為新的基地址[25];然??后把ESP減去20,為數(shù)組sta開辟內(nèi)存空間。如果輸入內(nèi)容為字符串“Hello?world!”,??那么執(zhí)行完gets(sta)之后,棧中的內(nèi)容如圖2.2所示。??內(nèi)存低端棧頂部?內(nèi)存低端棧底部??Hello?world。埽??^?-??sta?EBP?Ret??&sta??圖2.2執(zhí)行gets(sta)后棧的狀態(tài)??Fig.2.2?The?state?of?the?stack?after?executing?gets(sta)??接下來執(zhí)行for循環(huán),做字符串打印操作,最后從main函數(shù)返回。首先要把??ESP的值增加20來回收sta數(shù)組占用的內(nèi)存空間,這時(shí)ESP指向之前保存的EBP??值,程序會(huì)把這個(gè)值彈出,并賦給EBP,使它重新指向main函數(shù)調(diào)用者的棧底。??緊接著彈出的是位于棧頂?shù)姆祷氐刂罚遥澹簦瑢⑵滟x值給EIP,CPU就會(huì)接著去執(zhí)行??EIP指向的命令[26]。??這是程序正常執(zhí)行下的一種狀態(tài),那么當(dāng)輸入的數(shù)據(jù)超過20個(gè)字節(jié)的長度??時(shí),棧的狀態(tài)又會(huì)是怎樣的呢?例如輸入.??Helloworld。粒粒粒粒粒粒粒痢@次??執(zhí)行完gets(name)之后
幀的底部)的內(nèi)容入棧,并把ESP中的內(nèi)容復(fù)制給EBP,作為新的基地址[25];然??后把ESP減去20,為數(shù)組sta開辟內(nèi)存空間。如果輸入內(nèi)容為字符串“Hello?world!”,??那么執(zhí)行完gets(sta)之后,棧中的內(nèi)容如圖2.2所示。??內(nèi)存低端棧頂部?內(nèi)存低端棧底部??Hello?world!\0??^?-??sta?EBP?Ret??&sta??圖2.2執(zhí)行gets(sta)后棧的狀態(tài)??Fig.2.2?The?state?of?the?stack?after?executing?gets(sta)??接下來執(zhí)行for循環(huán),做字符串打印操作,最后從main函數(shù)返回。首先要把??ESP的值增加20來回收sta數(shù)組占用的內(nèi)存空間,這時(shí)ESP指向之前保存的EBP??值,程序會(huì)把這個(gè)值彈出,并賦給EBP,使它重新指向main函數(shù)調(diào)用者的棧底。??緊接著彈出的是位于棧頂?shù)姆祷氐刂罚遥澹,將其賦值給EIP,CPU就會(huì)接著去執(zhí)行??EIP指向的命令[26]。??這是程序正常執(zhí)行下的一種狀態(tài),那么當(dāng)輸入的數(shù)據(jù)超過20個(gè)字節(jié)的長度??時(shí),棧的狀態(tài)又會(huì)是怎樣的呢?例如輸入.??Helloworld。粒粒粒粒粒粒粒痢@次??執(zhí)行完gets(name)之后
【參考文獻(xiàn)】:
期刊論文
[1]信息安全、網(wǎng)絡(luò)安全與國家安全間的關(guān)系與構(gòu)成探討[J]. 張少華. 網(wǎng)絡(luò)安全技術(shù)與應(yīng)用. 2018(08)
[2]淺析DEP安全保護(hù)技術(shù)[J]. 郭建偉. 網(wǎng)絡(luò)安全和信息化. 2018(08)
[3]基于源碼與二進(jìn)制文件的漏洞挖掘技術(shù)[J]. 傅濤. 軟件. 2018(07)
[4]漏洞庫現(xiàn)狀分析及質(zhì)量評(píng)價(jià)[J]. 楊剛. 電信網(wǎng)技術(shù). 2018(02)
[5]Windows棧緩沖區(qū)溢出攻擊原理及其防范[J]. 李云飛,陳洪相. 軟件工程. 2017(09)
[6]GCC編譯器中的堆棧保護(hù)技術(shù)概述[J]. 曹耀彬,王亞剛. 信息技術(shù). 2017(07)
[7]基于遺傳算法的緩沖區(qū)溢出漏洞挖掘技術(shù)[J]. 王春東,王少華,邱曉華. 南開大學(xué)學(xué)報(bào)(自然科學(xué)版). 2017(02)
[8]美國網(wǎng)絡(luò)戰(zhàn)的歷史及其對(duì)現(xiàn)代網(wǎng)絡(luò)作戰(zhàn)組織和決策的影響[J]. 夏聃,Omry Haizler. 中國信息安全. 2017(04)
[9]Windows Shellcode自動(dòng)構(gòu)建方法研究[J]. 朱帥,羅森林,柯懂湘. 信息網(wǎng)絡(luò)安全. 2017(04)
[10]基于任意函數(shù)地址的ASLR繞過技術(shù)研究[J]. 徐鑫,張松年,胡建偉. 信息網(wǎng)絡(luò)安全. 2016(07)
博士論文
[1]代碼復(fù)用攻擊與檢測(cè)技術(shù)研究[D]. 袁平海.南京大學(xué) 2017
[2]面向軟件安全的二進(jìn)制代碼逆向分析關(guān)鍵技術(shù)研究[D]. 邱景.哈爾濱工業(yè)大學(xué) 2015
碩士論文
[1]基于API調(diào)用行為特征的ROP檢測(cè)機(jī)制[D]. 呂留東.西北大學(xué) 2017
[2]網(wǎng)頁惡意代碼檢測(cè)技術(shù)研究與實(shí)現(xiàn)[D]. 王大浩.北京郵電大學(xué) 2017
[3]基于Windows平臺(tái)的地址空間布局隨機(jī)化技術(shù)的研究[D]. 王睿宸.北京郵電大學(xué) 2016
[4]基于漏洞分析的軟件綜合檢測(cè)方法研究[D]. 王宏陽.大連海事大學(xué) 2016
[5]基于面向方面技術(shù)的軟件檢查點(diǎn)及恢復(fù)技術(shù)研究[D]. 張?zhí)K超.電子科技大學(xué) 2015
[6]基于數(shù)據(jù)不可信的緩沖區(qū)溢出攻擊檢測(cè)技術(shù)研究[D]. 許來光.東北大學(xué) 2014
[7]基于Active SVM算法的惡意網(wǎng)頁檢測(cè)技術(shù)研究[D]. 施光瑩.南京理工大學(xué) 2014
[8]緩沖區(qū)溢出漏洞挖掘和防護(hù)技術(shù)研究[D]. 邱曉華.天津理工大學(xué) 2014
[9]針對(duì)ROP攻擊的程序安全性檢測(cè)與防御技術(shù)的研究[D]. 黃志軍.南京大學(xué) 2013
[10]Windows內(nèi)核漏洞檢測(cè)與利用關(guān)鍵技術(shù)研究[D]. 倪濤.解放軍信息工程大學(xué) 2013
本文編號(hào):3593212
【文章來源】:沈陽理工大學(xué)遼寧省
【文章頁數(shù)】:70 頁
【學(xué)位級(jí)別】:碩士
【部分圖文】:
圖1.1?2018年4月至2018年9月漏洞新增數(shù)量統(tǒng)計(jì)圖??’
幀的底部)的內(nèi)容入棧,并把ESP中的內(nèi)容復(fù)制給EBP,作為新的基地址[25];然??后把ESP減去20,為數(shù)組sta開辟內(nèi)存空間。如果輸入內(nèi)容為字符串“Hello?world!”,??那么執(zhí)行完gets(sta)之后,棧中的內(nèi)容如圖2.2所示。??內(nèi)存低端棧頂部?內(nèi)存低端棧底部??Hello?world。埽??^?-??sta?EBP?Ret??&sta??圖2.2執(zhí)行gets(sta)后棧的狀態(tài)??Fig.2.2?The?state?of?the?stack?after?executing?gets(sta)??接下來執(zhí)行for循環(huán),做字符串打印操作,最后從main函數(shù)返回。首先要把??ESP的值增加20來回收sta數(shù)組占用的內(nèi)存空間,這時(shí)ESP指向之前保存的EBP??值,程序會(huì)把這個(gè)值彈出,并賦給EBP,使它重新指向main函數(shù)調(diào)用者的棧底。??緊接著彈出的是位于棧頂?shù)姆祷氐刂罚遥澹簦瑢⑵滟x值給EIP,CPU就會(huì)接著去執(zhí)行??EIP指向的命令[26]。??這是程序正常執(zhí)行下的一種狀態(tài),那么當(dāng)輸入的數(shù)據(jù)超過20個(gè)字節(jié)的長度??時(shí),棧的狀態(tài)又會(huì)是怎樣的呢?例如輸入.??Helloworld。粒粒粒粒粒粒粒痢@次??執(zhí)行完gets(name)之后
幀的底部)的內(nèi)容入棧,并把ESP中的內(nèi)容復(fù)制給EBP,作為新的基地址[25];然??后把ESP減去20,為數(shù)組sta開辟內(nèi)存空間。如果輸入內(nèi)容為字符串“Hello?world!”,??那么執(zhí)行完gets(sta)之后,棧中的內(nèi)容如圖2.2所示。??內(nèi)存低端棧頂部?內(nèi)存低端棧底部??Hello?world!\0??^?-??sta?EBP?Ret??&sta??圖2.2執(zhí)行gets(sta)后棧的狀態(tài)??Fig.2.2?The?state?of?the?stack?after?executing?gets(sta)??接下來執(zhí)行for循環(huán),做字符串打印操作,最后從main函數(shù)返回。首先要把??ESP的值增加20來回收sta數(shù)組占用的內(nèi)存空間,這時(shí)ESP指向之前保存的EBP??值,程序會(huì)把這個(gè)值彈出,并賦給EBP,使它重新指向main函數(shù)調(diào)用者的棧底。??緊接著彈出的是位于棧頂?shù)姆祷氐刂罚遥澹,將其賦值給EIP,CPU就會(huì)接著去執(zhí)行??EIP指向的命令[26]。??這是程序正常執(zhí)行下的一種狀態(tài),那么當(dāng)輸入的數(shù)據(jù)超過20個(gè)字節(jié)的長度??時(shí),棧的狀態(tài)又會(huì)是怎樣的呢?例如輸入.??Helloworld。粒粒粒粒粒粒粒痢@次??執(zhí)行完gets(name)之后
【參考文獻(xiàn)】:
期刊論文
[1]信息安全、網(wǎng)絡(luò)安全與國家安全間的關(guān)系與構(gòu)成探討[J]. 張少華. 網(wǎng)絡(luò)安全技術(shù)與應(yīng)用. 2018(08)
[2]淺析DEP安全保護(hù)技術(shù)[J]. 郭建偉. 網(wǎng)絡(luò)安全和信息化. 2018(08)
[3]基于源碼與二進(jìn)制文件的漏洞挖掘技術(shù)[J]. 傅濤. 軟件. 2018(07)
[4]漏洞庫現(xiàn)狀分析及質(zhì)量評(píng)價(jià)[J]. 楊剛. 電信網(wǎng)技術(shù). 2018(02)
[5]Windows棧緩沖區(qū)溢出攻擊原理及其防范[J]. 李云飛,陳洪相. 軟件工程. 2017(09)
[6]GCC編譯器中的堆棧保護(hù)技術(shù)概述[J]. 曹耀彬,王亞剛. 信息技術(shù). 2017(07)
[7]基于遺傳算法的緩沖區(qū)溢出漏洞挖掘技術(shù)[J]. 王春東,王少華,邱曉華. 南開大學(xué)學(xué)報(bào)(自然科學(xué)版). 2017(02)
[8]美國網(wǎng)絡(luò)戰(zhàn)的歷史及其對(duì)現(xiàn)代網(wǎng)絡(luò)作戰(zhàn)組織和決策的影響[J]. 夏聃,Omry Haizler. 中國信息安全. 2017(04)
[9]Windows Shellcode自動(dòng)構(gòu)建方法研究[J]. 朱帥,羅森林,柯懂湘. 信息網(wǎng)絡(luò)安全. 2017(04)
[10]基于任意函數(shù)地址的ASLR繞過技術(shù)研究[J]. 徐鑫,張松年,胡建偉. 信息網(wǎng)絡(luò)安全. 2016(07)
博士論文
[1]代碼復(fù)用攻擊與檢測(cè)技術(shù)研究[D]. 袁平海.南京大學(xué) 2017
[2]面向軟件安全的二進(jìn)制代碼逆向分析關(guān)鍵技術(shù)研究[D]. 邱景.哈爾濱工業(yè)大學(xué) 2015
碩士論文
[1]基于API調(diào)用行為特征的ROP檢測(cè)機(jī)制[D]. 呂留東.西北大學(xué) 2017
[2]網(wǎng)頁惡意代碼檢測(cè)技術(shù)研究與實(shí)現(xiàn)[D]. 王大浩.北京郵電大學(xué) 2017
[3]基于Windows平臺(tái)的地址空間布局隨機(jī)化技術(shù)的研究[D]. 王睿宸.北京郵電大學(xué) 2016
[4]基于漏洞分析的軟件綜合檢測(cè)方法研究[D]. 王宏陽.大連海事大學(xué) 2016
[5]基于面向方面技術(shù)的軟件檢查點(diǎn)及恢復(fù)技術(shù)研究[D]. 張?zhí)K超.電子科技大學(xué) 2015
[6]基于數(shù)據(jù)不可信的緩沖區(qū)溢出攻擊檢測(cè)技術(shù)研究[D]. 許來光.東北大學(xué) 2014
[7]基于Active SVM算法的惡意網(wǎng)頁檢測(cè)技術(shù)研究[D]. 施光瑩.南京理工大學(xué) 2014
[8]緩沖區(qū)溢出漏洞挖掘和防護(hù)技術(shù)研究[D]. 邱曉華.天津理工大學(xué) 2014
[9]針對(duì)ROP攻擊的程序安全性檢測(cè)與防御技術(shù)的研究[D]. 黃志軍.南京大學(xué) 2013
[10]Windows內(nèi)核漏洞檢測(cè)與利用關(guān)鍵技術(shù)研究[D]. 倪濤.解放軍信息工程大學(xué) 2013
本文編號(hào):3593212
本文鏈接:http://www.sikaile.net/kejilunwen/ruanjiangongchenglunwen/3593212.html
最近更新
教材專著