自動化漏洞利用的發展 期刊讀後記錄

2021-10-12 23:17:56 字數 2378 閱讀 6076

這篇文章,是一篇關於系統漏洞利用的綜述。自動化漏洞利用的發展是為了保障資訊系統安全,顯著提高軟體安全分析的效率,為人工分析提高良好輔助。本文圍繞自動化漏洞利用技術,對該技術進行概述,同時選取典型研究成果,重點對其發展現狀進行分析**,最後對未來發展趨勢進行展望。

自動化漏洞利用,指在無安全分析人員干擾餓基礎上,依靠程式自動化挖掘軟體中隱藏的漏洞,並自動分析漏洞,生成可以獲取計算機控制許可權的利用資料或**,最終利用該漏洞實現軟體非預期的功能。

(用自己的話來說:就是通過自動化漏洞利用生產的利用**目標是獲取計算機資訊系統的執行許可權。)

自動化漏洞利用的過程主要包括兩個階段:漏洞挖掘、漏洞利用生成。

漏洞挖掘:對源**或可執行的二進位制程式進行分析,採用靜態分析技術(分彙編技術、控制流圖分析技術)和動態分析技術(模糊測試、符號執行、汙點分析技術)結合的方式發現軟體中的漏洞、確定漏洞在程式中的位置。

漏洞利用生成:漏洞利用生成是根據上一階段獲得的漏洞現場資訊(記憶體上下文資訊和暫存器資訊等),對其加以分析,提取關鍵暫存器值,構造記憶體布局,並根據系統記憶體防護機制採取相應的繞過方法,最終生成能夠利用挖掘出的軟體漏洞獲取目標系統控制許可權的**。

(簡言之:漏洞挖掘:找漏洞;漏洞利用生成:分析漏洞,生成payload)

這裡重點介紹了六個重大研究成果。

apeg 方案

背景:2023年,美國卡內基梅隆大學,提出的基於補丁比對的自動化漏洞利用方案。

原理:通過補丁程式尋找到導致程式崩潰的位置,並且根據補丁程式中的崩潰過濾條件,為待測程式生成非預期輸入,以此觸發程式漏洞。

(補丁程式必須要有過濾條件)aeg 方案

背景:2023年,為了彌補上一方案對補丁程式依賴的弊端,提出基於原始碼的自動化漏洞利用方案。

原理:將自動化漏洞利用轉化為形式化的驗證問題,使用帶路徑優先策略的前置條件符號執行技術收集路徑約束並使用stp求解器進行求解,能夠發現軟體程式中的棧溢位漏洞和格式化字串漏洞,可以生成繞過nx 棧不可執行保護的漏洞利用,對程式實現rtlibc方式的控制流劫持。

(通過分析源**,主要針對棧溢位等有限範圍的漏洞)mayhem方案

背景:2023年,為了擺脫源**限制,擴大安全分析的適用範圍

原理:以二進位制程式作為分析物件,使用動態符號執行技術檢測漏洞,利用基於可滿足性模理論(smt)的約束求解器求解同時滿足路徑可達條件和漏洞可利用條件的漏洞利用。

(通過基於索引的記憶體模型,緩解了漏洞挖掘過程中的路徑**問題。不能有效處理複雜程式)polyaec方案

背景:2023年,通過汙點分析技術動態監控、獲取程式中全部可能的控制流劫持點,通過構造不同的跳轉指令鏈和對收集的路徑約束進行求解,生成多樣化的漏洞利用樣本。

原理:依賴程式中存在的指令資訊,構造不同的跳轉指令鏈和對收集的路徑約束進行求解,動態生成漏洞利用

flowstitch方案

背景:2023年,面向資料流分析的自動化漏洞分析。

原理:在不改變程式控制流的前提下,針對目標二進位制程式中的已知記憶體錯誤進行分析,對正常資料流中的關鍵變數內容進行篡改,生成的漏洞利用可以實現對目標主機的許可權提公升和資訊洩露等功能。

(要求,目標程式含有已知的記憶體錯誤,對正常資料流中的關鍵變數內容進行篡改)revery方案

背景:2023年,針對程式crash現場無法利用的問題,提出的

原理:以異常物件的記憶體布局為導向,採用模糊測試技術來探索漏洞可利用的替代路徑,並利用關鍵記憶體操作指令定位漏洞點,使用汙點分析技術在替代路徑中尋找可利用狀態。確定拼接點,完成路徑拼接後,通過符號執行技術求解路徑約束、漏洞利用約束等條件,生成漏洞利用。

(無法自動生成繞過aslr記憶體位址隨機保護機制的利用樣本,無法自動構造記憶體布局)

自動化攻防:自動化漏洞利用技術的出現和發展正滿足了自動化攻防的迫切需求,自動挖掘軟體或系統中的 0day 漏洞,自動生成漏洞利用**,實施網路對抗,同時隨著技術的成熟,自動化漏洞利用會結合自動生成補丁,對乙方軟體和系統中的漏洞威脅進行修復,實現積極防禦,增強資訊系統的安全性。正是由於自動化漏洞利用技術的高度適用性,圍繞該技術的研究在網路自動化攻防中具有廣闊前景。

智慧型化發展:今後的軟體安全分析研究中,乙個可能的發展趨勢是自動化漏洞利用會緊密結合機器學習等技術,探索漏洞挖掘與漏洞利用生成的新方式,尤其是在自動化漏洞利用中的漏洞挖掘階段,構造路徑覆蓋率高或具有脆弱性導向的測試輸入,能提高漏洞挖掘的效率和針對性,利用神經網路模型可以對海量待測程式進行分析、學習,並利用生成模型指導生成更高質量的測試輸入樣本,緩解盲目性、路徑**問題,結合梯度下降演算法處理約束求解的複雜性問題。

軟體自動化測試框架的發展

it168技術文章 基於介面的軟體自動化測試框架和工具的發展大致經歷了三個階段 有人也據此將測試工具分為三代 1 簡單的錄製 回放 由工具錄製並記錄操作的過程和資料形成指令碼,通過回放來重複人工操作的過程。在這種模式下資料和指令碼混在一起,幾乎乙個測試用例對應乙個指令碼,維護成本很高。而且即使介面的...

軟體自動化測試框架的發展

基於介面的軟體 自動化測試框架和工具的發展大致經歷了三個階段 有人也據此將測試工具分為三代 1 簡單的錄製 回放 由工具錄製並記錄操作的過程和資料形成指令碼,通過回放來重複人工操作的過程。在這種模式下資料和指令碼混在一起,幾乎乙個測試用例對應乙個指令碼,維護成本很高。而且即使介面的簡單變化也需要重新...

漏洞眾測 人類自動化的力量

本文講的是漏洞眾測 人類自動化的力量,自動化的全面應用是過去100年來全球技術進步的典型特徵。我們生活中的各個方面幾乎都可以找出某種方法來應用那些能夠提高效率的技術,將人類自身從枯燥乏味的重複性勞動中解放出來,從事那些更高階別的工作。安全領域也如此,比如漏洞評估,用 推送來排程靜態 審查,部署工具對...