[發明專利]一種可配置系統漏洞復現系統以及復現方法在審
| 申請號: | 202010597156.8 | 申請日: | 2020-06-28 |
| 公開(公告)號: | CN113849814A | 公開(公告)日: | 2021-12-28 |
| 發明(設計)人: | 郭健;茅兵 | 申請(專利權)人: | 南京大學 |
| 主分類號: | G06F21/57 | 分類號: | G06F21/57;G06F8/71 |
| 代理公司: | 江蘇圣典律師事務所 32237 | 代理人: | 胡建華 |
| 地址: | 210023 江*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 配置 系統漏洞 復現 系統 以及 方法 | ||
1.一種基于相似度的可配置系統漏洞復現系統,其特征在于,包括:
差異分析模塊,提取二進制差異,并且將差異映射到源代碼級別;
特征提取模塊,包括源代碼特征提取和二進制特征提取,源代碼特征提取基于源代碼分析工具TypeChef生成的抽象語法樹VAST,并且在抽象語法樹VAST上提取代碼的約束依賴,二進制特征提取基于二進制反匯編工具IDA提取二進制特征;
匹配模塊,利用特征提取模塊生成的特征進行匹配,包括粗粒度的函數級特征匹配和細粒度的組合特征匹配。
2.根據權利要求1所述的一種基于相似度的可配置系統漏洞復現系統,其特征在于,二進制特征包括字符串、常量和函數調用。
3.根據權利要求1所述的一種基于相似度的可配置系統漏洞復現系統,其特征在于,差異分析模塊,用于提取默認二進制與目標二進制之間的差異,并且將該差異對應到源代碼級別,差異體現在函數級別;
通過BinDiff獲得二進制差異的數據庫,使用Python對數據庫中信息進行提取和分析,使用networkx函數庫對數據庫中的信息進行建模,以基本塊為節點構建函數控制流圖,并且對差異節點進行記錄;尋找差異節點的最短公共父節點和最短公共子節點,二進制與源代碼對應使用默認二進制中調試信息,根據調試信息找到二進制差異在源代碼的開始和結束位置,將二進制差異控制在源代碼的函數內部,或者代碼片段,包括循環或者分支結構的代碼片段。
4.根據權利要求3所述的一種基于相似度的可配置系統漏洞復現系統,其特征在于,源代碼特征提取,通過遍歷VAST樹完成特征提取,VAST的遍歷以函數入口為起始位置,遍歷整個函數,提取字符串等特征;在提取特征時,每一個特征都要記錄與之對應的約束條件,用于在函數匹配時進行約束求解;
二進制特征提取使用二進制反匯編工具IDA,使用Python的軟件庫networkx對二進制反匯編工具IDA的數據進行封裝,對于二進制中的指令,只保留關鍵指令,將其余指令去除;保留的指令根據原有的圖結構連接,得到一個只含有關鍵指令的圖結構;關鍵指令為比較指令cmp、字符串和常量中的一種或幾種。
5.根據權利要求3所述的一種基于相似度的可配置系統漏洞復現系統,其特征在于,特征匹配是在二進制中搜索源代碼特征是否存在,對于簡單特征,在二進制圖上進行搜索,遍歷所有節點匹配源代碼特征;對于組合特征,將組合特征構建成一張無向圖,從而在二進制的圖結構中搜索源代碼的圖結構,以比較指令cmp為匹配根節點,依次匹配判斷條件和內容;
特征匹配將源代碼與二進制進行匹配,將每一個約束條件構建抽象語法樹AST,第一步劃分單詞和操作符,第二步利用邏輯表達式的文法將表達式解析為AST樹,最后遍歷抽象語法樹AST生成符合約束求解器Z3的輸入格式;將得到每一個宏應該的取值,最終對應于軟件配置選項,實現漏洞復現。
6.一種基于相似度的可配置系統漏洞復現方法,包括以下步驟:
步驟1,分析編譯系統和源代碼,建立軟件配置選項與源代碼之間的控制關系;
步驟2,使用與崩潰二進制相同的編譯器相關信息和默認軟件配置選項由源代碼構建本地生成二進制,作為默認二進制,崩潰二進制則作為目標二進制;
步驟3,使用二進制差異分析軟件BinDiff,分析默認二進制與目標二進制的差異,并將該差異映射到源代碼中;
步驟4,提取源代碼與二進制特征進行匹配,確認二進制差異是否由軟件配置選項引起的,最終確定目標二進制所使用的軟件配置選項,從而實現漏洞復現。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于南京大學,未經南京大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010597156.8/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:風力發電機組及其避轉速控制方法、裝置
- 下一篇:一種耳機家庭影院系統





