[發明專利]對模糊測試中的測試用例進行優化的方法,裝置和系統有效
| 申請號: | 201210365720.9 | 申請日: | 2012-09-27 |
| 公開(公告)號: | CN103699475A | 公開(公告)日: | 2014-04-02 |
| 發明(設計)人: | 劉玉恒 | 申請(專利權)人: | 西門子公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京康信知識產權代理有限責任公司 11240 | 代理人: | 李慧 |
| 地址: | 德國*** | 國省代碼: | 德國;DE |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 模糊 測試 中的 進行 優化 方法 裝置 系統 | ||
技術領域
本發明總體上涉及軟件測試技術領域,更具體地涉及對模糊測試中使用的測試用例進行優化。
背景技術
軟件(包括應用程序、通信軟件等)的安全性測試實際上是在軟件輸入空間中的一種探測。軟件的輸入空間由該軟件的所有可能的輸入或所有可能的輸入的組合構成。窮舉是驗證軟件行為正確性的一種最極端的方法,然而,窮舉對大部分案例來說不具備可操作性,因為通常情況下,軟件程序的輸入空間非常巨大,甚至可能是無窮大。
相比于窮舉的方法來說,模糊測試(Fuzz?Testing)作為一種隨機樣本方法,是一種更具可行性的黑盒測試方法。模糊測試通過以下方式來工作:自動地為測試對象(即應用程序、通信軟件等)提供隨機的或半有效的輸入(即測試用例(Test?Case)),以嘗試觸發故障指示以及使測試對象崩潰。這種程序故障或錯誤可以指示存在安全脆弱性。作為一種黑盒測試方法,模糊測試通常用于大型軟件開發項目。目前,最常用的模糊測試是基于字符的,基于字符的模糊測試提供隨機數據流(從文件或其他數據流中提供,例如,從套接字中提供)作為被測軟件程序的輸入。基于字符的模糊測試正廣泛應用于協議或網絡服務的安全性測試。模糊測試被認為能夠提高軟件的安全性,這是因為:模糊測試總是能檢測出一些測試人員未能發現的漏洞(bug),這些漏洞往往會被軟件測試工程師所忽略。模糊測試的主要優勢在于:進行測試的成本相對較低,并且完全可以自動實現;此外,模糊測試經常能找出比較嚴重的且可被利用的漏洞,這些漏洞可以被攻擊者加以利用。
使用模糊測試的一個挑戰是,如何利用有限的測試資源來選擇能夠有效地檢測漏洞的測試用例。有許多方法用來選擇用于模糊測試的測試用例。一個簡單的方法叫作隨機模糊測試(RFT),該方法隨機地從輸入域(即,所有可能的輸入的集合)中選擇測試用例。RFT具有以下優點:成本低;能夠自動地生成大量測試用例;以及在無需軟件規范和源代碼的情況下生成測試用例。除此以外,RFT將“隨機性”引入測試過程。這種隨機性能夠最好地反映系統運行環境的混亂。因此,RFT能夠檢測到通過確定性的方法所不能暴露的某些漏洞。所有這些優點使得RFT在發現軟件漏洞的行業中被廣泛的使用。
然而,在RFT中,并不嘗試使用任何可用的信息來引導測試。由于現在的軟件至少具有基本的機制來檢查輸入的有效性,所以與合法輸入顯著不同的過于特別的“模糊”數據將被容易地檢測到并被丟棄。此外,在RFT中,非常可能具有重復的測試用例,因為一些測試用例對于目標軟件具有相同的攻擊效果。因此,RFT的主要缺點是效率差。
發明內容
根據本發明的一個方面,提供了一種用于對測試用例進行排序的方法,包括:執行以下步驟一輪或多輪:按照初始測試用例集合中多個測試用例的排列順序,使用所述多個測試用例中的每個測試用例對測試對象進行測試,監視每個測試用例的攻擊效果,并且根據相應于每個測試用例的攻擊效果來確定每個測試用例的優先級;根據所確定的每個測試用例的優先級,對所述測試用例集合中的多個測試用例重新排序;其中,在當前輪次中得到的重新排序后的測試用例的集合能夠作為在下一輪次的執行中使用的初始測試用例集合。
進一步地,在所述方法中,所述一個或多個標準至少包括以下各項之一:測試用例能夠單獨地導致測試對象發生故障,測試用例能夠與其他測試用例共同地導致測試對象發生故障,測試用例與能夠單獨地導致測試對象發生故障的測試用例的類似度達到預定程度,以及測試用例導致測試對象響應延遲。
進一步地,在所述方法中,通過優先級值來表示優先級,當測試用例的攻擊效果滿足所述一個或多個標準時,在測試用例的當前優先級值上增加相應的優先級值。
進一步地,在所述方法中,增加相應的優先級值包括:當一測試用例能夠單獨地導致測試對象發生故障時,為該測試用例增加第一高的優先級值;當一測試用例能夠與其他測試用例共同地導致測試對象發生故障時,為該測試用例增加第二高的優先級值;當一測試用例與能夠單獨地導致測試對象發生故障的測試用例的類似度達到預定程度時,為該測試用例增加第三高的優先級值;當一測試用例導致測試對象響應延遲時,為該測試用例增加第四高的優先級值。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于西門子公司,未經西門子公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210365720.9/2.html,轉載請聲明來源鉆瓜專利網。





