[發明專利]一種文件處理程序的加密點和檢查點定位方法及系統在審
| 申請號: | 201710587017.5 | 申請日: | 2017-07-18 |
| 公開(公告)號: | CN107491387A | 公開(公告)日: | 2017-12-19 |
| 發明(設計)人: | 武澤慧;曹琰;魏強;王允超;柳曉龍;麻榮寬 | 申請(專利權)人: | 中國人民解放軍信息工程大學 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 鄭州大通專利商標代理有限公司41111 | 代理人: | 陳勇 |
| 地址: | 450000 河*** | 國省代碼: | 河南;41 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 文件 處理 程序 加密 檢查點 定位 方法 系統 | ||
技術領域
本發明涉及軟件測試技術領域,尤其涉及一種文件處理程序的加密點和檢查點定位方法及系統。
背景技術
從當前軟件脆弱性測試技術的發展情況來看,模糊測試技術 (Fuzzing)仍然是文件處理軟件脆弱性檢測的主要手段。模糊測試是一種基于缺陷注入的自動軟件測試技術,通過構造大量畸形數據作為應用程序的輸入,導致一些未對輸入做校驗或者校驗不嚴格的應用觸發異常行為。文件處理軟件作為當前操作系統應用頻率最高的軟件,由于其代碼復雜性往往包含一些未知的0day漏洞。目前針對該類軟件的模糊測試主要集中于對文件格式數據的變異方面。
盡管現在有很多支持對文件進行模糊測試的工具,例如Peach,Sulley,FileFuzz等,但當被測軟件中存在數據加密機制以及完整性檢查機制的情況下,會導致模糊測試生成的大量測試用例因無效而被過早丟棄,從而大大降低了這些工具的有效性,具體原因如下:
(1)為保證數據的私密性,很多文件處理軟件都會對數據進行加密,但是這種加密機制會限制模糊測試生成的測試用例的有效性,如果直接對加密數據進行變異會導致解密后的數據完全不可控,使得解密后的數據直接被程序丟棄,從而無法測試代碼的深層邏輯。
(2)為保證數據的完整性,通常文件處理軟件在對文件進行格式解析前也會對文件的完整性進行檢查,只有通過驗證點的文件才會被處理。然而這種完整性檢查機制使得模糊測試產生的大量畸形測試用例都會被驗證點過濾掉,導致針對該類程序的模糊測試失效。
綜上分析,用于模糊測試的程序中采用的加密機制以及完整性檢查機制為軟件脆弱性測試帶來很大障礙,亟需進行解決。
發明內容
本發明的目的在于克服上述模糊測試的不足,提出一種文件處理程序的加密點和檢查點定位方法及系統,可以提高模糊測試生成的有效樣本的比例。
為了實現上述目的,本發明采用以下技術方案:
一種文件處理程序的加密點和檢查點定位方法,包括以下步驟:
步驟1:載入被測對象,即文件處理程序,對文件處理程序進行污點分析,所述文件處理程序為文件處理軟件的可執行程序;
步驟2:根據污點分析的結果,構造候選檢查點集合;
步驟3:逆向分析候選檢查點集合中的每一個檢查點,根據其與加密數據的關系定位檢查點;
步驟4:根據污點分析的結果,定位文件處理程序的加密點。
優選地,所述步驟1包括:
步驟11:載入被測對象,即文件處理程序;
步驟12:通過污點分析對文件處理過程中的數據流進行跟蹤;
步驟13:通過靜態分析方法去除、合并不必要的污點傳播過程。
優選地,所述污點分析通過PIN插樁的方式實現,記錄文件處理程序中的污染源的傳播過程,污點分析結果能夠反映數據流之間的依賴關系。
優選地,所述步驟2包括:
步驟21:通過PIN插樁每一條被污染的條件跳轉指令;
步驟22:查看所述每一條被污染的條件跳轉指令的EFLAGS寄存器的內存依賴度關系;
步驟23:篩選出高依賴度關系的條件跳轉指令,作為候選檢查點集合。
優選地,所述候選檢查點集合的大小由用戶輸入的閾值決定,閾值越大檢查點集合中的元素個數越小。
優選地,在所述步驟3之后,還包括:
修改文件處理程序的二進制文件實現檢查點繞過;
對修改后的文件處理程序進行模糊測試;
模糊測試過程中某個或某些測試樣本使得文件處理程序出現故障;
根據污點分析結果逆向定位出加密函數所加密的明文在內存中的原始位置。
優選地,所述定位文件處理程序的加密點的方法有兩種:一種是通過動態定位密碼函數內部的循環結構,對循環結構的輸入輸出進行分析,收集包含解密數據的內存集合,在此基礎上結合解密數據的特性從中進一步篩選出加密點;另一種是根據細顆粒度污點分析技術表達密文與明文之間的強關聯特性,利用該特性定位加密點。
優選地,在所述步驟4之后,還包括:
利用污點分析過程中密碼函數的雪崩效應識別加密點對應位置內存中的加密內容,為后續構造故障再現的測試樣本提供依據;
修改樣本中致使故障出現的數據對應的密文,構造故障再現的測試樣本;
將修改后的樣本在二進制文件未被修改的文件處理程序中進行故障再現;
保留故障再現成功的測試樣本。
基于上述的一種文件處理程序的加密點和檢查點定位方法的一種文件處理程序的加密點和檢查點定位系統,包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國人民解放軍信息工程大學,未經中國人民解放軍信息工程大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710587017.5/2.html,轉載請聲明來源鉆瓜專利網。





