[發(fā)明專利]一種基于變異報文隨機(jī)排序的模糊測試方法、裝置和存儲介質(zhì)在審
| 申請?zhí)枺?/td> | 202110635941.2 | 申請日: | 2021-06-08 |
| 公開(公告)號: | CN113326194A | 公開(公告)日: | 2021-08-31 |
| 發(fā)明(設(shè)計)人: | 傅濤;馮馳宇;郭金輝;郭超 | 申請(專利權(quán))人: | 博智安全科技股份有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 南京司南專利代理事務(wù)所(普通合伙) 32431 | 代理人: | 葉蕙 |
| 地址: | 210012 江蘇省南*** | 國省代碼: | 江蘇;32 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 變異 報文 隨機(jī) 排序 模糊 測試 方法 裝置 存儲 介質(zhì) | ||
本發(fā)明一種基于變異報文隨機(jī)排序的模糊測試方法、裝置和存儲介質(zhì),測試方法包括如下步驟:將測試用例庫中的用例應(yīng)用于測試對象進(jìn)行模糊測試,并針對該模糊測試用例進(jìn)行實時抓包獲取測試報文,并基于特定輸入的可測試性將測試報文集合最小劃分為多個子測試,將獲取到的基準(zhǔn)次序的多個子測試根據(jù)隨機(jī)排序算法進(jìn)行排序,重新啟動測試對象后,將隨機(jī)排序的測試報文進(jìn)行回放,測試后再次記錄對應(yīng)的故障數(shù)量以及故障對應(yīng)的測試報文。本發(fā)明只依賴于變異報文排序以及流量回放的操作,可支持現(xiàn)有的網(wǎng)絡(luò)協(xié)議模糊測試框架,如Kitty、Sulley、Peach等,跨框架能力比較強(qiáng);本發(fā)明克服了傳統(tǒng)模糊測試用例的報文次序固定的不足,可以較大的提升模糊測試的質(zhì)量,增大發(fā)現(xiàn)未知故障的概率。
技術(shù)領(lǐng)域
本發(fā)明涉及信息安全的技術(shù)領(lǐng)域,具體涉及一種基于變異報文隨機(jī)排序的模糊測試方法、裝置和存儲介質(zhì)。
背景技術(shù)
近些年來,隨著工控系統(tǒng)面臨的安全威脅逐年增加,如何有效確保工控設(shè)備自身安全性,是擺在企業(yè)工控安全運營者面前的現(xiàn)實挑戰(zhàn)。當(dāng)前對工控設(shè)備或工控協(xié)議的未知故障的檢測主要是基于模糊測試技術(shù),而模糊測試用例的質(zhì)量以及覆蓋率則直接關(guān)于未知故障檢測的成效。
目前模糊測試用例生成的報文雖然可以覆蓋各種字段的變異,但是每一個用例只能以固定的順序發(fā)送測試報文,無法改變發(fā)包順序,而實際工控領(lǐng)域中往往存在一些故障需要多個異常報文按照不同時序進(jìn)行攻擊才能觸發(fā)。
發(fā)明內(nèi)容
本發(fā)明提供一種基于變異報文隨機(jī)排序的模糊測試方法、裝置和存儲介質(zhì),解決了模糊測試用例的報文時序固定導(dǎo)致覆蓋率低的問題,可以提高發(fā)現(xiàn)故障的概率。
測試用例庫中的選擇一個或多個測試用例作為測試對象并進(jìn)行模糊測試,針對該測試用例進(jìn)行實時抓包并獲取測試報文,并基于特定輸入的可測試性將測試報文集合最小劃分為i個子測試,i個子測試的當(dāng)前順序作為基準(zhǔn)次序,測試后需記錄所測試對象的故障數(shù)量以及故障對應(yīng)的測試報文;
根據(jù)隨機(jī)排序算法對獲取的基準(zhǔn)次序的子測試進(jìn)行排序,重新啟動測試對象后,使用隨機(jī)排序的測試報文進(jìn)行測試,測試后再次記錄對應(yīng)的故障數(shù)量以及故障對應(yīng)的測試報文;其中,判斷該測試用例的某些變異報文是否能夠與其他測試報文共同地導(dǎo)致測試對象發(fā)生故障,需要采用如下步驟:
(a)重啟測試對象;
(b)使用隨機(jī)排序函數(shù)對報文進(jìn)行排序和流量重放;
循環(huán)執(zhí)行以上步驟(a)和(b)),直到第N次測試對象發(fā)生故障;
執(zhí)行上述步驟一輪或者多輪,其中N和i均為大于1的自然數(shù)。
優(yōu)選地,經(jīng)過第M輪隨機(jī)排序后,觸發(fā)測試對象故障的報文字節(jié)串集合是否是第一次執(zhí)行時故障對應(yīng)變異包的子集,當(dāng)?shù)贛輪排序后,觸發(fā)測試對象故障的報文字節(jié)串集合是第一次執(zhí)行時故障對應(yīng)變異包的子集的情況下,則不予處理,繼續(xù)排序進(jìn)行下一次測試;若產(chǎn)生故障的變異報文在第N次執(zhí)行時引發(fā)故障,但是前N-1次均沒有引發(fā)測試對象的故障,則判斷出該變異報文在特定的報文按照特定的次序發(fā)送才會觸發(fā)測試對象的故障,其中M為自然數(shù)。
優(yōu)選地,其包括如下步驟:
S1:變異包隨機(jī)排序;
S2:模糊測試。
優(yōu)選地,其中步驟S1包括如下步驟:
S11:測試用例庫中選擇一個或多個測試用例應(yīng)用于測試對象,其中,第一次執(zhí)行的子測試變異包的次序作為基準(zhǔn)次序,后續(xù)所有的隨機(jī)排序均以此為基礎(chǔ),通過監(jiān)視器進(jìn)行故障定位,記錄第一次執(zhí)行時所觸發(fā)故障的測試報文的字節(jié)串,存到字節(jié)串?dāng)?shù)組中,字節(jié)串?dāng)?shù)組為B1;
S12:實時抓取測試報文并按照每個子測試分別保存為P1、P2...Pi,同時自動根據(jù)文件名稱生成數(shù)組[P1,P2,P3,..Pi];
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于博智安全科技股份有限公司,未經(jīng)博智安全科技股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110635941.2/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 隨機(jī)數(shù)生成設(shè)備及控制方法、存儲器存取控制設(shè)備及通信設(shè)備
- 隨機(jī)接入方法、用戶設(shè)備、基站及系統(tǒng)
- 真隨機(jī)數(shù)檢測裝置及方法
- 隨機(jī)元素生成方法及隨機(jī)元素生成裝置
- 數(shù)據(jù)交互方法、裝置、服務(wù)器和電子設(shè)備
- 一種隨機(jī)數(shù)發(fā)生器的多隨機(jī)源管理方法
- 用于彩票行業(yè)的隨機(jī)數(shù)獲取方法及系統(tǒng)
- 隨機(jī)接入方法、裝置及存儲介質(zhì)
- 偽隨機(jī)方法、系統(tǒng)、移動終端及存儲介質(zhì)
- 模型訓(xùn)練方法、裝置和計算設(shè)備





