資源描述:
《基于動態(tài)輸入追蹤的模糊基于動態(tài)輸入追蹤的模糊技術(shù)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、第37卷第6期計算機工程2011年3月Vol.37No.6ComputerEngineeringMarch2011···軟件技術(shù)與數(shù)據(jù)庫·軟件技術(shù)與數(shù)據(jù)庫···文章編號:::1000———3428(2011)06———0044———02文獻(xiàn)標(biāo)識碼:::A中圖分類號:::TP309基于動態(tài)輸入追蹤的模糊技術(shù)11,21黃黃黃奕奕奕,,,曾凡平,曾凡平,,,張美超,張美超(1.中國科學(xué)技術(shù)大學(xué)計算機學(xué)院,合肥230026;2.安徽省計算與通訊軟件重點實驗室,合肥230026)摘摘摘要要要:要:::在基于反匯編的輸入路徑追蹤技術(shù)的
2、基礎(chǔ)上,結(jié)合基于代碼覆蓋的測試數(shù)據(jù)生成和基于快照恢復(fù)的錯誤注入技術(shù),將其應(yīng)用于模糊測試中。提出一種軟件安全漏洞自動化挖掘的方法,較好地解決傳統(tǒng)模糊技術(shù)存在的若干局限。設(shè)計并實現(xiàn)一個基于此方法的測試系統(tǒng),通過對實例軟件的漏洞挖掘?qū)嶒?,驗證該方法的有效性。關(guān)鍵詞:::漏洞挖掘:;模糊測試;輸入追蹤FuzzingTechniqueBasedonDynamicInputTracking11,21HUANGYi,ZENGFan-ping,ZHANGMei-chao(1.SchoolofComputerScience,Universi
3、tyofScienceandTechnologyofChina,Hefei230026,China;2.AnhuiKeyLaboratoryofComputationandCommunicationSoftware,Hefei230026,China)【【【Abstract】】】Thispaperproposesanewfuzzingtechniquebasedoninputpathtrackingtechnologyondisassemblycode,whichiscombinedwithcode-coverage-ba
4、sedtestdatagenerationandsnapshot-recovery-basedfaultinjectiontechniques.Itisanewmethodforautomaticsoftwaresecurityvulnerabilitydiscoveringandsolvesanumberoflimitationsoftraditionalfuzzingtechniques.Atestsystembasedonthismethodisdesignedandimplementedandthemethodis
5、validatedbyvulnerabilitiesdiscoveringexperimentonexamplesoftware.【【【Keywords】】】vulnerabilitymining;fuzzingtest;inputtrackingDOI:10.3969/j.issn.1000-3428.2011.06.016用才能引發(fā)的異常或多階段綜合條件觸發(fā)的復(fù)雜漏洞。本文1概述隨著信息技術(shù)的廣泛應(yīng)用,軟件安全漏洞所造成的危害在結(jié)合了靜態(tài)分析和動態(tài)分析技術(shù)的基礎(chǔ)上,提出一種基于正日益嚴(yán)重。軟件安全漏洞發(fā)掘作為一種預(yù)先發(fā)
6、現(xiàn)軟件潛在動態(tài)輸入路徑追蹤的fuzzing技術(shù)進(jìn)行軟件安全漏洞發(fā)掘的安全漏洞、保證信息安全的重要技術(shù),也越來越受到人們的新思路,較好地解決了上述問題。重視。目前國內(nèi)外常用的漏洞自動發(fā)掘技術(shù)主要有手工分析、2總體框架與關(guān)鍵技術(shù)模糊(fuzzing)技術(shù)、補丁比較、源碼自動分析和動態(tài)調(diào)試等。2.1基本框架軟件安全漏洞發(fā)掘技術(shù)大致分為基于源代碼的漏洞發(fā)掘技術(shù)基于動態(tài)輸入跟蹤的fuzzing技術(shù)的基本原理為:將待測和基于可執(zhí)行文件的漏洞發(fā)掘技術(shù)。然而現(xiàn)在大多數(shù)軟件都軟件的可執(zhí)行代碼反匯編為匯編代碼,通過靜態(tài)分析匯編代不是開源的,如
7、各種商業(yè)軟件和操作系統(tǒng)軟件等,因此,針碼,確定函數(shù)塊及其調(diào)用關(guān)系,并查找代碼分支選擇信息以對可執(zhí)行文件的漏洞發(fā)掘技術(shù)顯得尤為重要。供生成測試用例,動態(tài)跟蹤輸入數(shù)據(jù)的流向以確定錯誤注入fuzzing測試是通過提供非正常的輸入并監(jiān)測系統(tǒng)異常點,將測試用例注入后若無異常發(fā)生則恢復(fù)注入前的進(jìn)程快發(fā)現(xiàn)軟件安全漏洞的自動化方法。它的基本原理是將利用正照重新進(jìn)行fuzzing,其基本框架如圖1所示。確數(shù)據(jù)隨機修改得到的畸形數(shù)據(jù)注入應(yīng)用程序中,觀察運行結(jié)果(程序崩潰或者異常中斷),通過程序運行的錯誤來挖掘[1]軟件的脆弱點。fuzzing
8、測試的思想比較直觀,便于實現(xiàn)自動化。利用這種方法進(jìn)行漏洞發(fā)掘,發(fā)現(xiàn)漏洞到定位漏洞比較容易,并且不存在誤報,但卻能揭示出程序中的重要漏洞,目前正廣泛應(yīng)用于各類軟件漏洞的發(fā)掘,在近幾年的漏洞挖掘?qū)嵺`過程中取得了很好的效果。雖然經(jīng)過多年的發(fā)展fuzzing技術(shù)已經(jīng)取得長足的進(jìn)步,[2]但是仍然存在較多的不足,