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