資源描述:
《基于動(dòng)態(tài)污點(diǎn)分析的狀態(tài)協(xié)議實(shí)現(xiàn)軟件模糊測試方法分析》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、摘要模糊測試(Fuzzing)是冃前對(duì)軟件進(jìn)行安全測試和漏洞發(fā)掘的最有效方法Z一,如何利用模糊測試技術(shù)構(gòu)建高效、準(zhǔn)確和高覆蓋率的安全測試系統(tǒng)是相關(guān)究領(lǐng)域和業(yè)界所關(guān)注的關(guān)鍵問題和研究熱點(diǎn)。木文針對(duì)傳統(tǒng)模糊測試方法所存在的測試用例牛成盲目性高、測試執(zhí)行效率較低以及對(duì)狀態(tài)網(wǎng)絡(luò)協(xié)議支持不夠等問題,研究如何通過動(dòng)態(tài)污點(diǎn)分析技術(shù)使得模糊測試方法可更加高效地應(yīng)用于狀態(tài)網(wǎng)絡(luò)協(xié)議實(shí)現(xiàn)軟件的安全測試中。本文的主要工作包括:首先,基于動(dòng)態(tài)污點(diǎn)分析技術(shù),提出了啟發(fā)式測試用例生成方法。該方法利用動(dòng)態(tài)污點(diǎn)分析技術(shù)跟蹤程序?qū)Σ豢尚艛?shù)據(jù)的處理,通過監(jiān)視程序中可疑的錯(cuò)誤點(diǎn)來追蹤輸入網(wǎng)絡(luò)報(bào)文中潛在的攻擊點(diǎn),并以此作為模糊測試用例
2、生成的啟發(fā)式信息?;趧?dòng)態(tài)污點(diǎn)分析的啟發(fā)式測試用例生成可在一定程度上降低測試用例生成的肓目性,提高了模糊測試的效率和有效性。其次,針對(duì)目前多數(shù)安全測試對(duì)具有復(fù)雜狀態(tài)網(wǎng)絡(luò)協(xié)議支持的不足,提出面向狀態(tài)協(xié)議的模糊測試框架。該框架使用狀態(tài)機(jī)刻畫狀態(tài)協(xié)議,設(shè)計(jì)并實(shí)現(xiàn)了易擴(kuò)展的狀態(tài)協(xié)議描述腳本語言,能夠生成高覆蓋的狀態(tài)協(xié)議測試用例。同時(shí),使用基于異常元素庫的測試用例變異技術(shù),結(jié)合動(dòng)態(tài)污點(diǎn)分析結(jié)果,啟發(fā)式地變異生成畸形測試用例。最后,設(shè)計(jì)并實(shí)現(xiàn)了基于動(dòng)態(tài)污點(diǎn)分析的狀態(tài)協(xié)議模糊測試系統(tǒng)SmartFuzzer,能夠有效的發(fā)掘出典型商業(yè)軟件目標(biāo)程序屮潛在的漏洞信息。通過與其他模糊測試器的比較,SmartFuzze
3、r的用例生成更加具有針對(duì)性,對(duì)軟件漏洞的發(fā)掘更加準(zhǔn)確和高效。主題詞:軟件安全測試,漏洞發(fā)掘,模糊測試,狀態(tài)協(xié)議,動(dòng)態(tài)污點(diǎn)分析ABSTRACTFuzzingiscurrentlyoneofthemostpowerfultestingmethodologieswidelyusedintheareaofsoftwaresecuritytestingandvulnerabilitymining.Buildingefficientandprecisesecuritytestingsystemwithhigh-coverageisthekeypointandhotareaforbothresearchan
4、dindustry.However,thetraditionalfuzzingtechniquehastheweaknessofblindgenerationoftestingcases,lowperformanceinexecutionefficiencyandinsufficientsupportforstatefulnetworkprotocols.Aimedataboveissues,thisthesisstudieshowtoapplythetechniqueofdynamictaintanalysistothefuzzingofstatefulnetworkprotocolimpl
5、ementationsefficiently?Ourworkincludes:Firstly,theapproachofheuristictestcasegeneratingbasedondynamictaintanalysis(DTA)isproposed?DTAisusedtotracehowtheprogramprocessesuntrustworthydata,andthenminethepotentialattackingpointsinthetestcasesbymonitoringpotentialerrorpointsintheprogram.Themethodtreatthe
6、potentialattackingpointsasheuristicinformationinthegenerationoftestingcasesandgreatlyreducetheblindnessintestcasegenerationwithhighertestingperformance.Secondly,wcpresentanewfuzzingframeworkorientedtothesecuritytestingofcomplexstatefulprotocolswhichisunsatisfactorilysupportedbymosttesting.Ourframewo
7、rkusestatemachinetodescriptstatefulprotocols,andthendesignandimplementeasy-extendeddescriptionscriptlanguageofstatefulprotocols,whichcouldgeneratetestcasesofstatefulprotocolswithhigh-coverage?Combinin