資源描述:
《基于模糊測試的軟件安全漏洞發(fā)掘技術(shù)研究》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學術(shù)論文-天天文庫。
1、中國科學技術(shù)大學碩士學位論文基于模糊測試的軟件安全漏洞發(fā)掘技術(shù)研究姓名:黃奕申請學位級別:碩士專業(yè):計算機應用技術(shù)指導教師:曾凡平20100401摘要摘要隨著信息化時代的到來,計算機軟件被廣泛應用各個領域中,而由軟件安全漏洞帶來的各種危害也日益嚴重,因此作為能有效發(fā)現(xiàn)并消除漏洞的軟件安全漏洞發(fā)掘技術(shù)也日益受到人們的重視。本文在研究現(xiàn)有軟件安全漏洞發(fā)掘技術(shù)的基礎上,針對安全漏洞的產(chǎn)生機理和現(xiàn)有發(fā)掘技術(shù)的不足,提出并實現(xiàn)--冪eo新的軟件安全漏洞發(fā)掘技術(shù),以有效提高軟件安全漏洞的發(fā)掘效率。本文首先闡述了軟件安全漏洞的定義和產(chǎn)生原因,接著總結(jié)分析了軟
2、件安全漏洞的分類、特點及其形成原理,之后研究了軟件安全漏洞發(fā)掘技術(shù)的各種分類及其技術(shù)特點。根據(jù)軟件安全漏洞的主要產(chǎn)生機理,即漏洞源自外部輸入數(shù)據(jù)與內(nèi)部不安全函數(shù)調(diào)用的結(jié)合,針對現(xiàn)有軟件安全漏洞發(fā)掘技術(shù)的不足,在模糊測試技術(shù)的基礎上,我們提出了一種新的軟件安全漏洞發(fā)掘方法,主要包括四項關(guān)鍵技術(shù):(1)不安全函數(shù)定位技術(shù):在研究總結(jié)各類不安全函數(shù)的反匯編形式和特征的基礎上,利用靜態(tài)逆向分析技術(shù)來自動識別和定位可執(zhí)行代碼中的不安全函數(shù)調(diào)用,為有針對性地進行漏洞發(fā)掘提供了可靠依據(jù),且可應用于使用廣泛的各類無源碼軟件。(2)基于輸入的動態(tài)跟蹤技術(shù):針對多
3、數(shù)漏洞由外部輸入數(shù)據(jù)引發(fā)的問題,通過在程序運行期間動態(tài)監(jiān)控輸入數(shù)據(jù)的獲取和使用,來確定存在輸入數(shù)據(jù)操作的函數(shù),進而只針對存在輸入數(shù)據(jù)操作和不安全函數(shù)調(diào)用的函數(shù)進行測試,從而大幅提高漏洞發(fā)掘效率。(3)基于漏洞類型和代碼覆蓋的數(shù)據(jù)生成技術(shù):根據(jù)各類常見漏洞的特點建立相應的測試用例集,并通過搜索目標代碼中比較指令引用的常量數(shù)據(jù)來指導模糊測試數(shù)據(jù)生成,有效增強了測試用例的針對性,提高了測試效率和代碼覆蓋率。(4)基于快照恢復的錯誤注入技術(shù):針對一般測試用例不能通過軟件校驗和檢查的問題,通過快照恢復方式在程序內(nèi)部直接對目標函數(shù)進行測試,從而能繞過檢查函
4、數(shù)深入程序內(nèi)部挖掘漏洞。此外還能有效避免程序頻繁啟動退出、網(wǎng)絡延遲和干擾等影響因素,減少了系統(tǒng)資源和測試時間的耗費,大幅提高了模糊測試的效率。本文設計并實現(xiàn)了基于此方法的原型測試工具,并運用測試工具分別對兩款軟件進行了軟件漏洞發(fā)掘?qū)嶒灒瑢嶒灲Y(jié)果表明該測試工具能有效發(fā)現(xiàn)軟件中的安全漏洞,驗證了該技術(shù)方法的可行性和有效性。關(guān)鍵詞:安全漏洞漏洞發(fā)掘模糊測試輸入追蹤AbstractABSTRACTWiththeadventofinformationage,computersoitwareiswidelyusedinvariousfields.Harms
5、causedbysoftwaresecurityvulnerabilitiesareincreasinglyheavily.Moreandmorepeopleattachimportancetothediscoveringtechnologyofsol,raresecurityvulnerabilitieswhichcaneffectivelydiscoverandeliminatesoftwaresecurityvulnerabilities.Accordingtothegenerationmechanismforsecurityvulner
6、abilitiesandlimitsofexistingdiscoveringtechniques,thispaperproposedandimplementedanewdiscoveringtechniqueofsoftwaresecurityvulnerabilitiesonthebasisofthestudyaboutexistingdiscoveringtechnologyofsoftwaresecurityvulnerabilitiestoimprovethediscoveringefficiencyofsecurityvulnera
7、bilities.Thispaperfirstdescribedthedefinitionofsoftwaresecurityvulnerabilitiesandcausesofsoftwaresecurityvulnerabilities.Thenitsummarizedtheclassificationandtheprincipleofformationofsoftwaresecurityvulnerability.Thevariouscategoriesofdiscoverytechnologyofsoftwaresecurityvuln
8、erabilityanditstechnicalcharactersarestudyandanalyzed.Accordingtothemajorge