資源描述:
《一種緩沖區(qū)溢出攻擊一種緩沖區(qū)溢出攻擊的》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在行業(yè)資料-天天文庫。
1、第37卷第10期計算機工程2011年5月Vol.37No.10ComputerEngineeringMay2011···安全技術·安全技術···文章編號:::1000———3428(2011)10———0111———03文獻標識碼:::A中圖分類號:::TP309一種緩沖區(qū)溢出攻擊的的的實時檢測方法的實時檢測方法1,21史勝利,,,任平安,任平安(1.陜西師范大學計算機科學學院,西安710062;2.包頭師范學院信息科學與技術學院,內(nèi)蒙古包頭014030)摘摘摘要要要:要:::根據(jù)攻擊者通常通過修改函數(shù)返回地址或函數(shù)入口地址來改變程序流程的特點以及ELF文件的結構特點,在調(diào)用
2、函數(shù)和函數(shù)調(diào)用返回時對某些特定信息進行處理,以檢測出攻擊行為。依靠動態(tài)程序監(jiān)控平臺pin提供的API函數(shù)來編寫程序運行時監(jiān)控工具,提出緩沖區(qū)溢出攻擊實時檢測的方法。實例分析表明該方法具有無需對現(xiàn)有的軟、硬件系統(tǒng)進行修改的特點。關鍵詞:::程序監(jiān)控:;緩沖區(qū)溢出;全局偏移表;實時檢測Real-timeDetectionMethodofBufferOverflowAttacks1,21SHISheng-li,RENPing-an(1.CollegeofComputerScience,ShaanxiNormalUniversity,Xi’an710062,China;2.Schoo
3、lofInformationScienceandTechnology,BaotouTeacherCollege,Baotou014030,China)【【【Abstract】】】AccordingtothefeaturesthattheattackerusualdependsonmodifyingfunctionreturnaddressorfunctionentryaddresstochangetheprogramexecutionsequenceandthestructuralcharacteristicsofELFfile,whilecallingfunctionand
4、returningafterfunctioncalling,certainspecificinformationisdealedwithinordertodetectattackaction.ThispaperpresentsanewapproachofdetectingbufferoverflowattacksatruntimedependingonthepinthatisatoolforthedynamicprogrammonitoringandprovidesnumbersofAPIfunctionstodesignatoolwhichexecutivesruntime
5、program.Caseanalysisshowsthatthemethoddoesnotneedalterthesoftwareandhardwaresystem.【【【Keywords】】】programmonitoring;bufferoverflow;GlobalOffsetTable(GOT);real-timedetectionDOI:10.3969/j.issn.1000-3428.2011.10.0371概述程序1緩沖區(qū)溢出漏洞是現(xiàn)今信息安全的最大威脅之一,在Fun(char*str){charbuffer[100];2010年的Pwn2Own駭客競賽中,黑客
6、成功攻克了微軟的strcpy(buffer,str);}Windows7版IE,繞過了微軟用于防止緩沖區(qū)溢出的ASLR(地voidmain(intargc,char**argv)址空間編排隨機化)和DEP(數(shù)據(jù)執(zhí)行防止)兩大Windows平臺{Fun(argv[1]);}內(nèi)建的安全防護。緩沖區(qū)溢出漏洞依然廣泛地存在于各類軟件中,是黑客經(jīng)常利用的攻擊手段。對現(xiàn)有的程序來說單純buffer[0]低端地址依靠防護功能往往不夠全面,所以,需要結合程序運行時的...攻擊實時檢測來共同防御攻擊行為。本文通過研究程序執(zhí)行buffer[99]時緩沖區(qū)溢出攻擊的特點,提出一種使用程序監(jiān)控來實時
7、檢bp測緩沖區(qū)溢出的方法。returnaddressargv2緩沖區(qū)溢出攻擊的原理高端地址緩沖區(qū)溢出攻擊要達成其目的需滿足一定條件,首先需有緩沖區(qū)溢出,其次要覆蓋函數(shù)指針或函數(shù)返回地址等改變圖圖圖1程序1的棧部分數(shù)據(jù)程序流向的關鍵值,還有就是需有可執(zhí)行的攻擊代碼。如果2.2函數(shù)指針覆蓋其中有一個條件不能滿足,攻擊就會失敗,那么只要破壞其在程序2和圖2中,當執(zhí)行main中的strcpy函數(shù)時,如中的1個或2個條件就可阻止緩沖區(qū)溢出攻擊。果argv[1]中的字符數(shù)超過100個,會覆蓋pf函數(shù)指針的值,在Li