[發明專利]基于動態二進制平臺檢測運行時程序漏洞的方法有效
| 申請號: | 201710737006.0 | 申請日: | 2017-08-24 |
| 公開(公告)號: | CN107526970B | 公開(公告)日: | 2020-05-19 |
| 發明(設計)人: | 朱二周;周澤人;李學俊 | 申請(專利權)人: | 安徽大學 |
| 主分類號: | G06F21/57 | 分類號: | G06F21/57 |
| 代理公司: | 合肥興東知識產權代理有限公司 34148 | 代理人: | 胡東升 |
| 地址: | 230601 安徽省*** | 國省代碼: | 安徽;34 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 動態 二進制 平臺 檢測 運行 程序 漏洞 方法 | ||
1.一種基于動態二進制平臺檢測運行時程序漏洞的方法,其特征在于,包括如下步驟:
S1、基于二進制代碼執行平臺Pin,對主存和寄存器中來自外部渠道的輸入進行識別并將其作為可疑污染源加以標記;
S2、通過中間指令層實現可疑污染源傳播行為的跟蹤,根據各指令操作數的污點狀態對污點行為進行分析,其中污點狀態包括被污染、未被污染和受控污染;
S3、建立內存模型和寄存器模型記錄每個主存字節和寄存器字節的污點狀態;其中所述的內存模型具體用于:使用兩比特來識別所述主存字節的污染狀態,并在字節被污染或受控污染時,將該字節添加在鏈接哈希表中;
所述的鏈接哈希表的組織過程包括:
將PA的第31~20位作為索引每個鏈接列表的鍵,并通過PA的第31位描述該PA的內存字節是系統空間還是內存空間;
如果鏈接列表的鍵相同,則將所述主存字節的污點信息放置在相同的鏈表中;
所述主存字節中的節點結構包括標簽域、污點信息域以及下一個域,其中標簽域用于標示鏈接列表中的每個節點,污點信息域用于存儲由標簽指定的16個連續內存字節的污點信息,下一個域用于指向下一個節點。
2.如權利要求1所述的基于動態二進制平臺檢測運行時程序漏洞的方法,其特征在于,所述的步驟S2,具體包括:
將待檢測二進制程序中的所有指令進行分類,包括算數/邏輯指令、存儲器訪問指令、控制傳輸指令、可傳播污染點行為的指令、不幫助傳播污點行為的指令以及執行后可以清理受污染和/或受控污染數據的指令;
將分析代碼防止在基本塊的末尾,以對分類后的指令執行之前獲取寄存器值;
在獲取寄存器值后,利用每個指令的操作數來調用相應的指令處理過程來執行指令分析任務。
3.如權利要求1所述的基于動態二進制平臺檢測運行時程序漏洞的方法,其特征在于,所述的寄存器模型具體用于:對所述寄存器進行分類,對每個類別的寄存器采用對應的數組記錄其污點狀態。
4.如權利要求2所述的基于動態二進制平臺檢測運行時程序漏洞的方法,其特征在于,所述的將分析代碼放置在基本塊的末尾,以對分類后的指令執行之前獲取寄存器值,具體包括:
將存儲在所述二進制代碼執行平臺Pin中的基本塊所有指令時復制到軟件保留指令緩存中;
利用INS_InsertCall()獲取存儲在itrace.out中的寄存器值,并將獲取的寄存器值存儲在同一個數組中;
在執行當前的基本塊之后,在數組中順序的獲取所有指令以及所有寄存器值。
5.如權利要求3所述的基于動態二進制平臺檢測運行時程序漏洞的方法,其特征在于,所述的將字節添加在鏈接哈希表的標準為:
當16個連續的內存字節中至少一個被污染或受控污染時,將該字節添加在鏈接哈希表中。
6.如權利要求4所述的基于動態二進制平臺檢測運行時程序漏洞的方法,其特征在于,還包括:
基于基本塊和API對二進制程序漏洞的檢測過程進行優化。
7.如權利要求6所述的基于動態二進制平臺檢測運行時程序漏洞的方法,其特征在于,所述的基于基本塊對二進制程序漏洞的檢測過程進行優化,具體包括:
將相同的基本塊的指令存儲到所述軟件保留指令緩存中;
在執行當前的基本塊之后,將所述相同基本塊的指令同時進行處理。
8.如權利要求6所述的基于動態二進制平臺檢測運行時程序漏洞的方法,其特征在于,所述的基于API對二進制程序漏洞的檢測過程進行優化,具體包括:
提取二進制代碼的公共部分作為普通簽名,并基于普通簽名對API函數進行識別;
對識別出的API函數的污染傳播行為進行檢查,并將檢查出的污染傳播信息存儲在數據庫中;
根據設定的過濾準則,對不傳播污染數據的API函數進行過濾。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于安徽大學,未經安徽大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710737006.0/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種沖壓機械手
- 下一篇:一種沖床用的片狀零件上下料輔助裝置





