[發明專利]一種用于灰盒模糊測試的樣本格式保護方法及裝置有效
| 申請號: | 201810082824.6 | 申請日: | 2018-01-29 |
| 公開(公告)號: | CN108171064B | 公開(公告)日: | 2021-03-19 |
| 發明(設計)人: | 朱俊虎;趙世斌;周天陽;林宏陽;李睿;彭建山;許航 | 申請(專利權)人: | 中國人民解放軍戰略支援部隊信息工程大學 |
| 主分類號: | G06F21/57 | 分類號: | G06F21/57;G06F11/36 |
| 代理公司: | 北京集佳知識產權代理有限公司 11227 | 代理人: | 王寶筠 |
| 地址: | 450001 河*** | 國省代碼: | 河南;41 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 用于 模糊 測試 樣本 格式 保護 方法 裝置 | ||
本發明公開了一種用于灰盒模糊測試的樣本格式保護方法及裝置,包括:訓練機器學習模型以使該模型可以識別測試語料的格式的正確性;對程序進行模糊測試時,從語料集中獲取初始語料,對初始語料變異得到測試語料;應用測試語料對程序進行模糊測試,在模糊測試的過程中通過該模型確定測試語料的格式是否正確。當測試語料的格式正確且覆蓋了已有測試語料沒有覆蓋的程序代碼時,將該測試語料添加到語料集中,并重復這個過程。由此,將每輪模糊測試確定出的格式正確的語料添加到語料集中,最大程度的保證了語料集中語料的格式的正確性,提高了模糊測試效率。并且,通過位置集合對初始語料的變異進行指導,避免了無用的變異操作,進一步提高了測試效率。
技術領域
本發明涉及軟件測試領域,尤其涉及一種用于灰盒模糊測試的樣本格式保護方法及裝置。
背景技術
灰盒模糊測試被認為是漏洞挖掘領域最先進的技術。灰盒模糊測試以提高代碼覆蓋率為目的,通過輕量級插樁的方式記錄程序執行路徑,使用遺傳算法指導模糊測試中測試用例的生成,對初始語料進行有導向性地變異,使程序快速到達某些難以覆蓋的代碼路徑。與其他的模糊測試方法相比,灰盒模糊測試具有更高的效率和更好的實用性。灰盒模糊測試的代表性工具AFL,已經通過模糊測試技術挖掘出數以百計的高價值漏洞。
但是,由于灰盒模糊測試不需要提供格式信息,使其測試成本較低,但是這也帶來了弊病,隨著模糊測試的進行,由于持續的樣本變異操作,會產生更多的格式錯誤的樣本,這些格式錯誤的樣本也會導致正在測試的程序進入錯誤的程序流程,降低了模糊測試的測試效率。
發明內容
有鑒于此,本發明實施例公開了一種用于灰盒模糊測試的樣本格式保護方法及裝置,保證了語料集中的語料格式為正確的,并阻止了循環使用該錯誤的測試語料,從而導致模糊測試的測試效率低的問題。
本發明實施例公開了一種用于灰盒模糊測試的樣本格式保護方法,包括:
從語料集中獲取初始語料;
對所述初始語料進行變異,得到測試語料;
將所述測試語料輸入到程序中,對所述程序進行模糊測試,并在模糊測試的過程中通過預設的機器學習模型確定所述測試語料的格式是否正確;所述預設的機器學習模型已通過訓練語料的預設的特征數據進行了訓練;
在所述測試語料為格式正確的情況下,查看所述測試語料是否覆蓋了已有測試語料沒有覆蓋的程序代碼;
若所述測試語料覆蓋了已有測試語料沒有覆蓋的程序代碼,將所述測試語料添加到所述初始語料中。
可選的,所述從語料集中獲取測試語料,包括:
創建臨時工作集合;
從所述程序的EDGE中隨機選取一個目標EDGE,所述目標EDGE為所述臨時工作集中的測試語料未覆蓋到的所述程序的EDGE;
從所述語料集中選取執行所述目標EDGE時代價最小的語料;
判斷所述程序的EDGE中是否包含所述臨時工作集合中的語料未覆蓋到的EDGE;
若包含,返回執行從所述程序的EDGE中隨機選取一個目標EDGE,所述目標EDGE為所述臨時工作集中的測試語料未覆蓋到的所述程序的EDGE;
若不包含,將所述臨時工作集輸出為初始語料。
可選的,所述在模糊測試的過程中通過預設的機器學習模型獲取所述測試語料的格式是否正確的結果,包括:
在模糊測試的過程中,獲取所述測試語料對應的特征數據;
將所述特征數據輸入到預設的機器學習模型中,獲取所述測試語料的格式是否正確的結果。
可選的,所述對所述初始語料進行變異,得到測試語料,包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國人民解放軍戰略支援部隊信息工程大學,未經中國人民解放軍戰略支援部隊信息工程大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810082824.6/2.html,轉載請聲明來源鉆瓜專利網。





