摘要:模糊測試是通過不斷生成不同的輸入來測試程序從而發(fā)現并識別安全漏洞,已經廣泛應用于漏洞挖掘中。目前灰盒模糊測試是最流行的模糊測試策略,它將輕量級代碼插樁與數據反饋驅動相結合,以生成新的程序輸入。AFL(American Fuzzy Lop)是一種卓越的灰盒模糊測試工具,其以高效的forkserver執(zhí)行、可靠的遺傳算法和多種的變異策略著稱,但其變異策略主要采樣隨機變異,存在較大的盲目性。文章提出了一種運用強化學習的方法來優(yōu)化變異的策略,以多搖臂賭博機問題為模型,記錄不同變異方式產生的輸入在目標程序中的執(zhí)行效果,利用探索-利用算法自適應地學習變異操作結果的概率分布情況,智能地進行變異操作策略調整,提升AFL的模糊測試性能。文章選擇湯普森采樣為優(yōu)化算法設計實現了AFL-EE模糊測試工具,并對5類常用的文件類程序進行了驗證測試,實驗表明該方法能自動調整變異操作策略,有效地產生覆蓋率高的測試輸入,方法可行、額外資源消耗較小,總體上優(yōu)于AFL工具。
注:因版權方要求,不能公開全文,如需全文,請咨詢雜志社