[發明專利]一種基于程序特征樹的漏洞檢測方法及系統有效
| 申請號: | 201710242822.4 | 申請日: | 2017-04-14 |
| 公開(公告)號: | CN107038380B | 公開(公告)日: | 2019-07-05 |
| 發明(設計)人: | 金海;鄒德清;齊漢超;李珍 | 申請(專利權)人: | 華中科技大學 |
| 主分類號: | G06F21/57 | 分類號: | G06F21/57;G06F11/36 |
| 代理公司: | 華中科技大學專利中心 42201 | 代理人: | 李智;曹葆青 |
| 地址: | 430074 湖北*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 程序 特征 漏洞 檢測 方法 系統 | ||
1.一種基于程序特征樹的漏洞檢測方法,其特征在于,包括:
(1)分析漏洞函數代碼生成漏洞程序依賴圖,遍歷漏洞程序依賴圖生成漏洞程序特征樹,以及,分析待測函數代碼生成待測程序依賴圖,遍歷待測程序依賴圖生成待測程序特征樹;
(2)將漏洞程序特征樹與待測程序特征樹進行節點匹配,若漏洞程序特征樹中的所有節點在待測程序特征樹中均能找到匹配,則判斷待測程序特征樹中與漏洞程序特征樹匹配的各節點之間是否存在與漏洞程序特征樹相同的數據依賴關系,若存在,則待測函數代碼中存在漏洞;
步驟(1)具體包括以下步驟:
(1.1)分析漏洞函數代碼生成漏洞程序依賴圖,以及,分析待測函數代碼生成待測程序依賴圖,其中,漏洞程序依賴圖與待測程序依賴圖中均包括控制依賴關系與數據依賴關系;
(1.2)獲取漏洞程序依賴圖中每一個節點和邊的屬性值,并對漏洞程序依賴圖中所有的節點值涉及到的標識符按照類型進行映射,以及,獲取待測程序依賴圖中每一個節點和邊的屬性值,并對待測程序依賴圖中所有的節點值涉及到的標識符按照類型進行映射,其中,屬性值包括節點類型和節點值;
(1.3)使用深度優先的方式分別遍歷所述漏洞程序依賴圖與所述待測程序依賴圖中所有路徑,在當前節點無后繼節點或者重新回到環入口節點時才開始向上層回溯;
(1.4)在分別對所述漏洞程序依賴圖與所述待測程序依賴圖遍歷的過程中分離數據依賴和控制依賴,分別生成漏洞程序特征樹與待測程序特征樹。
2.根據權利要求1所述的方法,其特征在于,所述漏洞程序特征樹與所述待測程序特征樹均包括控制依賴樹與數據依賴集,其中,控制依賴樹中的節點與相應的程序依賴圖中的節點對應,表示一個代碼實體,控制依賴樹中的每一條邊與相應的程序依賴圖中相應節點之間的控制依賴邊對應,表示節點之間的控制依賴關系;
數據依賴集中的節點與相應的控制依賴樹中的節點對應,數據依賴集中的邊與相應的程序依賴圖中相應節點之間的數據依賴邊對應。
3.根據權利要求2所述的方法,其特征在于,步驟(2)具體包括以下步驟:
(2.1)初始節點匹配:在待測程序特征樹的控制依賴樹中查找與漏洞程序特征樹的控制依賴樹中根節點相匹配的節點獲得初始匹配節點集合;
(2.2)控制依賴匹配:在待測程序特征樹的控制依賴樹中,以初始匹配節點集合中的節點為根節點,依次向下進行與漏洞程序特征樹的控制依賴樹的匹配操作,并記錄匹配的節點對,若漏洞程序特征樹的控制依賴樹中的所有節點均能在待測程序特征樹的控制依賴樹中找到匹配,則執行步驟(2.3),否則結束執行;
(2.3)數據依賴匹配:根據步驟(2.2)中控制依賴匹配后得到的匹配對,判斷待測程序特征樹中與漏洞程序特征樹匹配的各節點之間是否存在與漏洞程序特征樹相同的數據依賴關系,若存在,則待測函數代碼中存在漏洞。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華中科技大學,未經華中科技大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710242822.4/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:浴室玩具(1)
- 下一篇:包裝袋(燴面底料?原味)





