[發明專利]針對com組件導出函數參數空間及2進制數據的fuzz工具的測試用例生成方法無效
| 申請號: | 201210042953.5 | 申請日: | 2012-02-23 |
| 公開(公告)號: | CN102622297A | 公開(公告)日: | 2012-08-01 |
| 發明(設計)人: | 賈春鵬;張炯 | 申請(專利權)人: | 北京航空航天大學 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京科迪生專利代理有限責任公司 11251 | 代理人: | 楊學明;顧煒 |
| 地址: | 100191*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 針對 com 組件 導出 函數 參數 空間 數據 fuzz 工具 測試 生成 方法 | ||
技術領域
本發明適用于網絡安全領域,功能為com組件的漏洞的發掘和測試,其核心是一種新的針對com組件的黑盒測試生成測試用例的方法具體涉及一種針對com組件導出函數參數空間及2進制數據的fuzz工具的測試用例生成方法。
背景技術
網絡安全問題一直是現今最重要的計算機問題之一,其中axtiveX控件的安全問題又是最重要的網絡安全問題之一。諸如網上銀行,網上購物等等網站都大量使用axtiveX控件,com技術是axtiveX技術的基礎,一旦com組件出現漏洞,將對網絡安全造成巨大的威脅。避免這些隱患,一方面需要以程序員的角度,開發時盡量避免留下漏洞,一方面也需要以黑客的角度,發掘已經寫好的com組件中的漏洞,證明他的可利用性,并及時上報漏洞。
現在的測試工具諸如最著名的COMRaider,其核心都是對于不同導出函數的參數類型進行等距大范圍的覆蓋,其效率和準確率受到生成測試用例的方法的限制,往往測試結果需要大量的專業人員進行人工分析篩選,并且近些年漏洞很少依托與數據類型本身的特征,在生成大量無用的測試用例的同時,很多可能出現漏洞的異常數據無法被覆蓋,綜上,使用傳統技術對com組件的測試不僅僅效率準確率存在問題,覆蓋率也存在問題。使自動測試之后仍然需要十分大量的人工測試。
為了解決以上問題,就需要一種新的生成測試用例的方法和與之相適應的信息提取和漏洞跟蹤的方法。
發明內容
本發明要解決的技術問題為:解決現有針對com組件的fuzz中生成測試用例效率低準確率低有效覆蓋率低的特點。
本發明解決上述技術問題的技術方案為:針對com組件導出函數參數空間及2進制數據的fuzz工具的測試用例生成方法,該方法步驟如下:
步驟(1)通過組冊表HKEY_CLASSES_ROOT/TypeLib鍵,遍歷所有已經注冊的com組件的名稱、版本、GUID、以及絕對地址。
步驟(2)提取每一個com組件的導出函數的信息,信息包括導出函數返回的類型,導出函數每一個參數的類型。根據測試用例的生成規則,篩選容易出現漏洞的com組件以及其容易出現漏洞的導出函數。
步驟(3)針對每一個導出函數的參數類型所占的空間以及最可能引發異常的2進制數據的數據特征,構造測試用例。
步驟(4)執行每一個測試用例,使用window系統提供的api針對測試用例構造方法和漏洞的利用難度跟蹤并記錄所有出現的有利用價值的異常。
步驟(5)記錄測試結果信息。
所述的步驟(2)進一步包括:
(a1)針對組冊的com組件,分析記錄導出函數參數數據類型以及數據所占的空間大小;
(b1)針對數據類型以及數據類型的數據所占空間分析漏洞發生的可能性,并根據此結果篩選出易發現漏洞,發現的漏洞易利用的com組件,其中可能性的判斷見功能(3)的敘述;
所述的步驟(3)進一步包括:
(a2)針對導出函數參數的數據類型的數據所占空間,確定生成用例所需要覆蓋的異常數據的長度。其中用于記錄實際信息的切長度固定的數據類型,生成原類型長度,和原類型長度增加1個半字,增加2個半字的三種長度的異常數據,對于指針句柄等數據類型的數據使用規則(d),對于字符串等不定長數據類型使用規則(e)。
(b2)對于異常數據長度等于原數據類型長度的異常數據,構造以半字為單位的2進制數據,使每半字覆蓋0000?0000、1111?1111。對每個半字的情況進行組合,使整體測試用例覆蓋所有容易引發異常的數據。
(c2)對于異常數據長度大于原數據類型長度的異常數據,減少原數據類型長度內的覆蓋,使用全1,對于超出原數據類型長度部分依照(b)的規則并忽略全0進行用例構造。
(d2)對于指針句柄等類型數據32位內的部分,特殊的只構造0000?0000?0000?0000?00000000?0000?0000、1111?1111?1111?1111?1111?1111?1111?1111兩種異常數據。
(e2)對于字符串等不定長數據類型,以半字為單位,長度以2的指數的增長速度,生成全0和全1的異常數據。達到用戶指定的長度時停止。
(f2)針對用戶指定的數據類型增加指定的測試用例,選擇性的測試漏洞出現幾率比較小的依托數據類型的特點的漏洞。
所述的步驟(4)進一步包括:
(a3)獲得線程的EXCEPTION_DEBUG_INFO結構。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京航空航天大學,未經北京航空航天大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210042953.5/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:耐海水防腐蝕PE料
- 下一篇:一種鐵溝澆注料及其制備方法





