[發明專利]二進制程序循環寫內存安全漏洞的檢測方法無效
| 申請號: | 201210138459.9 | 申請日: | 2012-05-08 |
| 公開(公告)號: | CN102708054A | 公開(公告)日: | 2012-10-03 |
| 發明(設計)人: | 吳世忠;郭濤;郝永樂;崔寶江;梁曉兵 | 申請(專利權)人: | 中國信息安全測評中心;北京郵電大學 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;G06F21/00 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 100089 北京市海淀*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 二進制 程序 循環 內存 安全漏洞 檢測 方法 | ||
1.一種二進制程序循環寫內存安全漏洞的檢測方法,其特征在于,包括:
步驟1、獲取與二進制程序中潛在安全漏洞相關的二進制程序的循環結構摘要信息;
步驟2、根據所述循環結構摘要信息,生成測試數據;
步驟3、根據所述測試數據對二進制程序進行循環寫內存安全漏洞的檢測。
2.根據權利要求1所述的方法,其特征在于,所述步驟1包括:
從二進制程序控制流圖中最內部的循環結構開始,依次向外展開,分別對有內存寫操作的循環結構生成單循環結構的摘要信息,所述單循環結構的摘要信息包括:循環結構的起始地址、循環結構的結束地址、控制循環體的循環次數的變量、循環寫內存的緩沖區變量、所述緩沖區的數據的來源變量、輸入文件中的關鍵字節相對于輸入文件的文件頭的偏移地址;
獲取單循環結構的摘要信息的集合,所述單循環結構的摘要信息的集合就是二進制程序的循環結構摘要信息。
3.根據權利要求2所述的方法,其特征在于,該方法還包括:
步驟11、對所述二進制程序的循環結構進行識別;
步驟12、對二進制程序進行動態數據結構重構。
4.根據權利要求3所述的方法,其特征在于,所述生成單循環結構的摘要信息具體包括:
根據循環結構識別結果和動態數據結構重構結果,生成單循環結構的摘要信息。
5.根據權利要求4所述的方法,其特征在于,對所述二進制程序的循環結構進行識別具體包括:
步驟111、初始化一個回邊鏈表和一個循環結構鏈表,所述回邊鏈表和所述循環結構鏈表的初始值均為空;
步驟112、查找所述二進制程序控制流圖中的所有回邊,將查找到的回邊集合保存在所述回邊鏈表中;
步驟113、順序遍歷保存了回邊集合的回邊鏈表,得到一條回邊,將所述回邊記為NodeBB->NodeSB,將NodeSB標記為“已訪問過”,以NodeBB為起點,在所述二進制程序控制流圖中作反向的深度遍歷;
步驟114、將反向的深度遍歷經過的節點、NodeBB、和NodeSB作為一個循環結構添加到所述循環結構鏈表中;
步驟115、判斷對回邊鏈表的遍歷是否到達回邊鏈表尾,如果是,則完成循環結構的識別,否則,返回步驟113。
6.根據權利要求5所述的方法,其特征在于,對二進制程序進行動態數據結構重構具體包括:
步驟121、記錄輸入文件讀入內存的起始位置和讀入的字節數,將讀入內存的字節標記為數據污染源,將所述輸入文件讀入內存的起始位置作為動態數據結構重構的起始點;
步驟122、定義一個記錄污染數據傳遞的鏈表pTaintList,所述pTaintList的初始值為空;
從所述起始點處開始解析所述二進制程序的匯編指令,解析的過程如下:
步驟123、抽取當前的匯編指令的類型INSTYPE,如果當前的匯編指令是危險函數調用類型的指令,則執行步驟124,如果當前的匯編指令不是危險函數調用類型的指令,則執行步驟125;
步驟124、抽取當前的匯編指令調用的危險函數的參數,得到一個所述危險函數的參數列表,獲取所述危險函數的參數列表中參數變量的三元數組信息,并查找所述pTaintList中是否包含所述參數變量的參數值,如果是,則輸出所述危險函數調用地址、所述危險函數的參數列表,和所述參數列表相關聯的輸入文件中的關鍵字節相對于輸入文件的文件頭的偏移地址等相關信息,然后跳轉到下一條匯編指令,返回步驟123繼續執行,如果不是,則跳轉到下一條匯編指令,返回步驟3繼續執行;
步驟125、判斷當前的匯編指令的操作數的變量值是否被污染:如果變量值被污染,更新目的操作數的污染狀態信息,并把更新后的污染狀態信息添加到所述pTaintList中,跳轉到下一條匯編指令,返回步驟123繼續執行;如果變量值沒有被污染,跳轉到下一條匯編指令,返回步驟123繼續執行;
步驟126、如果程序正常退出,數據結構動態重構結束。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國信息安全測評中心;北京郵電大學,未經中國信息安全測評中心;北京郵電大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210138459.9/1.html,轉載請聲明來源鉆瓜專利網。





