基于改進變異樹的工控協(xié)議模糊測試用例生成方法
發(fā)布時間:2022-01-02 13:42
針對現(xiàn)有應(yīng)用層工控協(xié)議在模糊測試過程中用例冗余度高、測試效率低和隨機性強等問題,提出一種基于改進變異樹的測試用例生成方法。該方法將協(xié)議樣本數(shù)據(jù)序列進行樹結(jié)構(gòu)化,同時提取協(xié)議規(guī)約中字段優(yōu)先級信息,并利用其有效地控制樹中各節(jié)點屬性值的變異程度,從而達到降低測試成本、提高測試效率以及增大發(fā)掘漏洞幾率的目的。實驗結(jié)果表明,該測試用例生成方法對提高協(xié)議模糊測試性能具有顯著的優(yōu)化效果和漏洞檢測能力。
【文章來源】:計算機應(yīng)用研究. 2020,37(12)北大核心CSCD
【文章頁數(shù)】:5 頁
【部分圖文】:
基于字段優(yōu)先級的協(xié)議校驗順序
本文針對不同版本的Modbus Slave進行模擬仿真測試,從而對該方法進行有效性驗證。首先結(jié)合協(xié)議規(guī)約并利用協(xié)議樣本數(shù)據(jù)構(gòu)建初始協(xié)議樣本樹,實際上通過樹模型結(jié)構(gòu)對Modbus TCP請求報文序列中的協(xié)議字段及其字節(jié)進行自動拆分。通過整理目前存在的Modbus TCP協(xié)議漏洞,提取并設(shè)計單變異和組合變異因子,進而基于變異樹的測試用例變異模塊Mutate Tree實現(xiàn)測試用例的組合生成,并編寫執(zhí)行測試用例腳本實現(xiàn)自動化測試。對于測試期間的響應(yīng)狀況,本文則通過Wireshark工具進行旁路監(jiān)聽,并將所捕獲的pcap文件分析測試用例的有效程度及執(zhí)行效率、導(dǎo)致異常的用例和異常響應(yīng)信息,其具體測試執(zhí)行過程如圖3所示。3.2 結(jié)果分析
圖4為有效測試用例及測試效率與時間的關(guān)系。從圖4中可看出,該變異樹方案有效用例數(shù)以及測試效率均要高于peach模糊器,這是由于peach變異報文的過程中隨機程度過高,從而導(dǎo)致測試執(zhí)行效率過低。該方案利用協(xié)議中優(yōu)先級字段對變異過程中引導(dǎo)節(jié)點進行優(yōu)化剪枝,盡可能降低測試過程中的盲目性,并提高測試用例質(zhì)量和測試效率;在漏洞檢測方面,針對Modbus Slave V4.3和V7.0兩個版本進行實驗測試,peach測試結(jié)果中并未發(fā)現(xiàn)異常漏洞,而本文采用的方法卻檢測出兩個漏洞,其中V7.0版本中存在超長字符串填充所造成的緩沖區(qū)溢出漏洞,另外V4.3版本存在著非法寫入的未知漏洞,在未經(jīng)允許情況下能夠利用同一傳輸標(biāo)志符將數(shù)值寫入寄存器。綜上所述,本文所采用的測試用例生成方法能夠很大程度上優(yōu)化測試效果,并且具備檢測漏洞的能力。
【參考文獻】:
期刊論文
[1]基于協(xié)議狀態(tài)機遍歷的模糊測試優(yōu)化方法[J]. 張洪澤,洪征,周勝利,馮文博. 計算機工程與應(yīng)用. 2020(04)
[2]基于深度學(xué)習(xí)的車身網(wǎng)絡(luò)KWP2000協(xié)議漏洞挖掘[J]. 張成彬,趙慧,曹宗鈺. 山東大學(xué)學(xué)報(工學(xué)版). 2019(02)
[3]基于啟發(fā)式搜索和分類樹的網(wǎng)絡(luò)協(xié)議模糊測試用例生成方法研究[J]. 劉靜靜,袁耀東. 現(xiàn)代電子技術(shù). 2016(21)
[4]工業(yè)控制系統(tǒng)安全綜述[J]. 陶耀東,李寧,曾廣圣. 計算機工程與應(yīng)用. 2016(13)
[5]基于范式語法的工控協(xié)議Fuzzing測試技術(shù)[J]. 張亞豐,洪征,吳禮發(fā),康紅凱,孫賀. 計算機應(yīng)用研究. 2016(08)
[6]基于變異樹的Fuzzing技術(shù)研究[J]. 劉海龍,汪永益,潘祖烈. 計算機工程與設(shè)計. 2011(11)
[7]基于分類樹和貪心算法的測試數(shù)據(jù)自動生成方法[J]. 劉龍霞,吳軍華. 計算機工程與設(shè)計. 2011(08)
本文編號:3564279
【文章來源】:計算機應(yīng)用研究. 2020,37(12)北大核心CSCD
【文章頁數(shù)】:5 頁
【部分圖文】:
基于字段優(yōu)先級的協(xié)議校驗順序
本文針對不同版本的Modbus Slave進行模擬仿真測試,從而對該方法進行有效性驗證。首先結(jié)合協(xié)議規(guī)約并利用協(xié)議樣本數(shù)據(jù)構(gòu)建初始協(xié)議樣本樹,實際上通過樹模型結(jié)構(gòu)對Modbus TCP請求報文序列中的協(xié)議字段及其字節(jié)進行自動拆分。通過整理目前存在的Modbus TCP協(xié)議漏洞,提取并設(shè)計單變異和組合變異因子,進而基于變異樹的測試用例變異模塊Mutate Tree實現(xiàn)測試用例的組合生成,并編寫執(zhí)行測試用例腳本實現(xiàn)自動化測試。對于測試期間的響應(yīng)狀況,本文則通過Wireshark工具進行旁路監(jiān)聽,并將所捕獲的pcap文件分析測試用例的有效程度及執(zhí)行效率、導(dǎo)致異常的用例和異常響應(yīng)信息,其具體測試執(zhí)行過程如圖3所示。3.2 結(jié)果分析
圖4為有效測試用例及測試效率與時間的關(guān)系。從圖4中可看出,該變異樹方案有效用例數(shù)以及測試效率均要高于peach模糊器,這是由于peach變異報文的過程中隨機程度過高,從而導(dǎo)致測試執(zhí)行效率過低。該方案利用協(xié)議中優(yōu)先級字段對變異過程中引導(dǎo)節(jié)點進行優(yōu)化剪枝,盡可能降低測試過程中的盲目性,并提高測試用例質(zhì)量和測試效率;在漏洞檢測方面,針對Modbus Slave V4.3和V7.0兩個版本進行實驗測試,peach測試結(jié)果中并未發(fā)現(xiàn)異常漏洞,而本文采用的方法卻檢測出兩個漏洞,其中V7.0版本中存在超長字符串填充所造成的緩沖區(qū)溢出漏洞,另外V4.3版本存在著非法寫入的未知漏洞,在未經(jīng)允許情況下能夠利用同一傳輸標(biāo)志符將數(shù)值寫入寄存器。綜上所述,本文所采用的測試用例生成方法能夠很大程度上優(yōu)化測試效果,并且具備檢測漏洞的能力。
【參考文獻】:
期刊論文
[1]基于協(xié)議狀態(tài)機遍歷的模糊測試優(yōu)化方法[J]. 張洪澤,洪征,周勝利,馮文博. 計算機工程與應(yīng)用. 2020(04)
[2]基于深度學(xué)習(xí)的車身網(wǎng)絡(luò)KWP2000協(xié)議漏洞挖掘[J]. 張成彬,趙慧,曹宗鈺. 山東大學(xué)學(xué)報(工學(xué)版). 2019(02)
[3]基于啟發(fā)式搜索和分類樹的網(wǎng)絡(luò)協(xié)議模糊測試用例生成方法研究[J]. 劉靜靜,袁耀東. 現(xiàn)代電子技術(shù). 2016(21)
[4]工業(yè)控制系統(tǒng)安全綜述[J]. 陶耀東,李寧,曾廣圣. 計算機工程與應(yīng)用. 2016(13)
[5]基于范式語法的工控協(xié)議Fuzzing測試技術(shù)[J]. 張亞豐,洪征,吳禮發(fā),康紅凱,孫賀. 計算機應(yīng)用研究. 2016(08)
[6]基于變異樹的Fuzzing技術(shù)研究[J]. 劉海龍,汪永益,潘祖烈. 計算機工程與設(shè)計. 2011(11)
[7]基于分類樹和貪心算法的測試數(shù)據(jù)自動生成方法[J]. 劉龍霞,吳軍華. 計算機工程與設(shè)計. 2011(08)
本文編號:3564279
本文鏈接:http://sikaile.net/guanlilunwen/ydhl/3564279.html
最近更新
教材專著