基于異常分布導(dǎo)向的智能Fuzzing方法
doi: 10.11999/JEIT140262 cstr: 32379.14.JEIT140262
基金項目:
國家863計劃項目(2012AA012902)資助課題
Intelligent Fuzzing Based on Exception Distribution Steering
-
摘要: 現(xiàn)有主流智能Fuzzing測試一般通過對程序內(nèi)部結(jié)構(gòu)的精確分析構(gòu)造新測試樣本,因而嚴(yán)重依賴于當(dāng)前計算機的性能,往往忽略了已發(fā)現(xiàn)的程序異常信息對新測試樣本構(gòu)造的指導(dǎo)意義。為了克服上述缺陷,該文提出一種基于異常分布導(dǎo)向的智能Fuzzing方法。該方法針對二進制程序測試,建立了TGM(Testcase Generation Model)樣本構(gòu)造模型:首先根據(jù)計算能力收集測試樣本集的相關(guān)信息;然后隨機選擇初始測試樣本進行測試;最后,基于測試結(jié)果初始化模型參數(shù),根據(jù)模型優(yōu)先選擇更有效的輸入屬性構(gòu)造新樣本并進行新一輪測試,通過重復(fù)進行該步驟,在迭代測試中不斷更新模型參數(shù),用于指導(dǎo)下一輪新測試樣本構(gòu)造。實驗數(shù)據(jù)表明該方法可以輔助Fuzzing選擇更有效的樣本優(yōu)先進行測試,設(shè)計的原型工具CombFuzz在異常檢測能力和代碼覆蓋能力上都有良好表現(xiàn),同時,在對大型應(yīng)用程序進行測試時,與微軟SDL實驗室的MiniFuzz測試器相比,在限定時間內(nèi)平均異常發(fā)現(xiàn)率提高近18倍,并在WPS 2013等軟件中發(fā)現(xiàn)了7個MiniFuzz無法發(fā)現(xiàn)的未公開可利用脆弱點。Abstract: The current mainstream intelligent Fuzzing often constructs new test samples through precise analysis of the programs internal structure, which is heavily dependent on the performance of the computer and often overlooks the guiding significance of the discovered program information of exceptions for construction of new testing samples. To overcome these shortcomings, this paper presents a method based on intelligent Fuzzing exception distribution steering, which establishes a data-constructing model named TGM (Testcase Generation Model) for binary program testing. Firstly the relevant information of testing samples is collected according to the computing capability. Then random initial testing samples are selected for testing. Finally, the testing results are used to initialize parameters of the model, which guides the priority selection of more effective input attributes to construct new samples for the next round of testing. This procedure is repeated in iterative testing to constantly update model parameters for guiding the next testing. Experimental data shows that this method can assist Fuzzing to prioritize more effective samples for testing. Design prototyping tool CombFuzz has good performance in the exception detection capability and code coverage capability, meanwhile, when the tests are carried out on large programs, compared with MiniFuzz of Microsoft,s SDL lab, this method increases the average of exception detection rate by nearly 18 times in a limited period of time, and has found 7 undisclosed exploitable vulnerabilities in WPS 2013 and other softwares that MiniFuzz did not find.
-
Key words:
- Software test /
- Smart fuzzing /
- Exception distribution /
- Vulnerability
-
計量
- 文章訪問數(shù): 2489
- HTML全文瀏覽量: 233
- PDF下載量: 1325
- 被引次數(shù): 0