《二進制軟體記憶體安全漏洞可利用性自動分析技術》是依託中國人民解放軍國防科技大學,由馮超擔任項目負責人的青年科學基金項目。
基本介紹
- 中文名:二進制軟體記憶體安全漏洞可利用性自動分析技術
- 項目類別:青年科學基金項目
- 項目負責人:馮超
- 依託單位:中國人民解放軍國防科技大學
中文摘要,結題摘要,
中文摘要
隨著模糊測試工具的廣泛部署,越來越多的軟體記憶體漏洞被發現。如何對這些漏洞進行快速準確的威脅分析,在此基礎上設計修復補丁,仍是軟體安全領域的困難問題。為解決該問題,本項目主要研究二進制軟體記憶體漏洞可利用性的自動分析技術。首先通過分析典型記憶體漏洞成因,建立記憶體模型和記憶體安全模型,可涵蓋主流記憶體元素和記憶體漏洞類型,並在此基礎上結合程式分析、污點跟蹤、代碼切片技術等設計記憶體漏洞成因的自動分析方法。其次通過對大量記憶體漏洞利用方法的分析,建立漏洞利用模型,可準確描述現有漏洞利用方法中記憶體布局方法、多漏洞利用狀態轉換、漏洞緩解繞過等技術。結合該模型,提出了漏洞利用狀態機,可引導符號執行方法遍歷被分析程度的狀態空間,自動推演漏洞的可利用性。最後,基於約束求解系統和模糊編程方法,設計特定記憶體布局數據方法,自動產生漏洞利用代碼。本項目的研究成果將豐富漏洞分析的理論和方法,提升漏洞分析效率,促進網路空間安全。
結題摘要
記憶體漏洞可利用性分析是軟體安全的重要內容,快速分析記憶體漏洞異常樣本的成因和可利用性,對於軟體安全至關重要。本項目圍繞二進制軟體記憶體漏洞的可利用性自動分析技術展開研究,重點完成了如下三個方面的研究內容:(1)軟體記憶體漏洞成因分析。針對漏洞樣本分析複雜,準確數據獲取難的問題,研究了基於時間旅行式的異常樣本執行跡並行分析技術,能夠快速、準確獲取異常樣本的執行全流程數據;在此基礎上研究了基於深度學習的漏洞成因分析技術,使用人工神經網路快速定位漏洞代碼位置;(2)軟體記憶體漏洞可利用性分析技術。針對異常樣本讀異常可利用性難以判定問題,研究了基於讀寫轉換和反向推演的可利用新分析技術,能夠大大提升可利用性分析準確度;(3)複雜堆記憶體漏洞利用代碼自動生成技術。基於人工漏洞利用經驗構建了利用模式,設計實現了針對複雜堆漏洞的利用代碼自動生成方法,能夠自動產生漏洞利用代碼。項目的研究成果論文形式發表在《軟體學報》、《IET Software》、《Security and Communication Networks》、《Mathematics problems in engineering》、《IEEE Access》等一批高水平的學術會議與期刊上,項目共資 助發表論文 11 篇,其中 SCI 檢索論文 9 篇,EI 檢索 2篇。此外,相關成果支撐項目組戰隊蟬聯2017、2018國際機器人網路安全大賽冠軍,支撐項目組戰隊在2019Defcon China BCTF競賽中,全球首次突破堆溢出漏洞的自動利用。項目成果達到國內領先、國際先進水平,部分研究成果在國際上形成了較強影響力。