本發(fā)明專利技術提供一種基于目標逼近式模糊測試的安全性分析輔助方法、裝置和系統(tǒng)。該方法包括:對給定的二進制程序進行逆向分析,得到函數(shù)信息、函數(shù)調用關系、基本塊信息及基本塊調用關系并在前端頁面展示;選擇函數(shù)和/或基本塊作為目標點,對二進制程序進行模糊測試來逼近目標點;在模糊測試的過程中,收集輸入樣本,并在二進制程序運行期間獲取樣本經(jīng)過的路徑信息,并將路徑信息以可視化形式在前端頁面展示;將前端頁面上展示的每個函數(shù)和基本塊作為一個節(jié)點,為所有節(jié)點設置選擇功能和下載功能,以便用戶根據(jù)需要選取任一節(jié)點或選取由若干個連續(xù)節(jié)點組成的一條路徑所對應的樣本強制作為種子繼續(xù)模糊測試或下載樣本以輔助人工分析。工分析。工分析。
【技術實現(xiàn)步驟摘要】
基于目標逼近式模糊測試的安全性分析輔助方法、裝置和系統(tǒng)
[0001]本專利技術涉及軟件安全
,尤其涉及一種基于目標逼近式模糊測試的安全性分析輔助方法、裝置和系統(tǒng)。
技術介紹
[0002]隨著信息技術的發(fā)展,軟件在各個領域都發(fā)揮著重要的作用,在此情形下,軟件的安全尤為關鍵。近年來,雖然各大軟件廠商都積極在產品的研發(fā)階段采用“安全開發(fā)生命周期”,軟件開發(fā)人員的安全編碼意識較前些年相比也有顯著提高,但軟件復雜度和代碼量的不斷提高,決定了無法徹底杜絕漏洞的出現(xiàn)。
[0003]軟件漏洞是安全問題的根源之一,目前對軟件程序的漏洞挖掘技術主要分為自動化模糊測試和人工分析,常見的自動化模糊測試通過生成樣本或變異樣本作為輸入,監(jiān)控運行程序,并對發(fā)生崩潰的用例進行收集。但是在很多情況下,自動化模糊測試會因為路徑爆炸,監(jiān)控行為受限等原因,無法有效處理特殊情況,往往需要人工介入來進行分析。對于人工分析來說,動態(tài)調試可以直觀地看到程序的運行狀態(tài),方便地下斷點,是安全分析人員最常用的技術手段,但動態(tài)調試需要有理想的輸入樣本,這是因為樣本決定了程序的執(zhí)行路徑和狀態(tài)。但現(xiàn)有的模糊測試工具除了提供基本的覆蓋率和崩潰信息外,并無法對人工分析提供更多的輔助性信息,自動化模糊測試和人工分析也并沒有有效的結合起來。
技術實現(xiàn)思路
[0004]為了能夠有效地將自動化模糊測試和人工分析進行結合進而更好地對軟件漏洞進行挖掘,本專利技術提供一種基于目標逼近式模糊測試的安全性分析輔助方法、裝置和系統(tǒng)。
[0005]第一方面,本專利技術提供一種基于目標逼近式模糊測試的安全性分析輔助方法,包括:步驟1:對給定的二進制程序進行逆向分析,得到函數(shù)信息、函數(shù)調用關系、基本塊信息及基本塊調用關系并在前端頁面展示;步驟2:選擇函數(shù)和/或基本塊作為目標點,對所述二進制程序進行模糊測試來逼近所述目標點;步驟3:在模糊測試的過程中,收集輸入樣本,并在所述二進制程序運行期間獲取所述樣本經(jīng)過的路徑信息,并將所述路徑信息以可視化形式在前端頁面展示;步驟4:將前端頁面上展示的每個函數(shù)和基本塊作為一個節(jié)點,為所有節(jié)點設置選擇功能和下載功能,以便用戶根據(jù)需要選取任一節(jié)點或選取由若干個連續(xù)節(jié)點組成的一條路徑所對應的樣本強制性作為種子繼續(xù)變異進行模糊測試或下載樣本以輔助人工調試分析。
[0006]進一步地,步驟1具體包括:步驟1.1:采用靜態(tài)分析法通過反匯編工具IDA對二進制程序進行逆向分析;
步驟1.2:以可視化形式在前端頁面上展示全局的函數(shù)調用關系圖及每個函數(shù)內部的基本塊調用關系圖。
[0007]進一步地,步驟2具體包括:結合非確定性變異策略和確定性變異策略作為種子變異策略,對所述二進制程序進行模糊測試;具體包括:首先采用非確定性變異策略對所述二進制程序進行模糊測試,然后使用模擬退火算法快速收斂得到距離更近的有效樣本,并對所有的有效樣本進行優(yōu)先級及資源權重劃分;再根據(jù)有效樣本采用確定性變異策略對樣本的特定位置進行變異。
[0008]進一步地,所述的采用模擬退火算法快速收斂得到距離更近的有效樣本,具體包括:模糊測試初始時,采用模擬退火算法在整個路徑空間內收斂出有效路徑;獲取當前樣本所經(jīng)過的函數(shù)信息、基本塊信息、函數(shù)調用關系以及基本塊調用關系,構建得到當前樣本所經(jīng)過的路徑的CFG圖,將此時的CFG圖記作S_CFG;遍歷S_CFG中的每個路徑,以當前路徑的終點為起點,采用單源最短路徑算法在所述二進制程序的CFG圖中找出從所述起點到達目標點的最短路徑,將所述最短路徑加入至S_CFG中得到新的CFG圖,將此時的CFG圖記作D_CFG;根據(jù)歷史路徑加權原則,采用基于圖神經(jīng)網(wǎng)絡的圖相似性比較方法,計算S_CFG和D_CFG的相似度距離,找到有效樣本。
[0009]第二方面,本專利技術提供一種基于目標逼近式模糊測試的安全性分析輔助裝置,包括:逆向分析模塊,用于對給定的二進制程序進行逆向分析,得到函數(shù)信息、函數(shù)調用關系、基本塊信息及基本塊調用關系并推送至前端頁面以供展示;模糊測試模塊,用于在選擇函數(shù)和/或基本塊作為目標點之后,對所述二進制程序進行模糊測試來逼近所述目標點;以及在模糊測試的過程中,收集輸入樣本,并在所述二進制程序運行期間獲取所述樣本經(jīng)過的路徑信息,并將所述路徑信息推送至前端頁面以供其以可視化形式展示;選擇和下載模塊,用于將前端頁面上展示的每個函數(shù)和基本塊作為一個節(jié)點,為所有節(jié)點設置選擇功能和下載功能,以便用戶根據(jù)需要選取任一節(jié)點或選取由若干個連續(xù)節(jié)點組成的一條路徑所對應的樣本強制性作為種子繼續(xù)變異進行模糊測試或下載樣本以輔助人工調試分析。
[0010]進一步地,還包括:距離計算模塊,用于采用基于圖神經(jīng)網(wǎng)絡的圖相似性比較方法,計算輸入的兩個CFG圖的相似度距離。
[0011]第三方面,本專利技術提供一種基于目標逼近式模糊測試的安全性分析輔助系統(tǒng),包括交互展示層、引擎調度層和功能支撐層;所述交互展示層,用于向用戶提供系統(tǒng)具備的可操作功能類型和展示數(shù)據(jù)信息;可操作功能類型包括任務管理、目標選擇、指定樣本模糊測試和顯示崩潰信息;所述引擎調度層,用于對各引擎進行調用以完成任務的處理;任務的處理類型包括:任務分發(fā)、引擎調用和資源配置管理和數(shù)據(jù)存儲管理;所述功能支撐層,包括數(shù)據(jù)交互單元和引擎單元;所述數(shù)據(jù)交互單元用于封裝引擎調度層和數(shù)據(jù)庫之間的交互;所述引擎單元采用如權利要求6或7所述的基于目標逼近式
模糊測試的安全性分析輔助裝置。
[0012]本專利技術的有益效果:(1)本專利技術利用目標逼近的技術可以自動生成到達用戶指定的目標位置的樣本,解決了在動態(tài)調試時沒有合適的樣本對具體位置進行調試分析的問題;(2)本專利技術可以在用戶選擇指定樣本的基礎上,強制以此樣本作為種子進行模糊測試,可以更快的驗證安全分析人員所判斷的目標位置,將人工分析和自動模糊測試有效的結合起來,大大提高漏洞挖掘的效率。
[0013](3)本專利技術使用的目標逼近技術,將樣本的歷史路徑作為距離計算的一個因子,并按照樣本種子的距離對樣本進行優(yōu)先級及資源權重劃分,有效提高目標逼近的效率。
[0014](4)模糊測試期間,收集測試樣本及對應的函數(shù)路徑及基本塊路徑信息并可視化展示,并提供根據(jù)單個函數(shù)、單個基本塊或路徑下載樣本的功能(5)本專利技術提供了易于交互展示的裝置,用戶可以方便的通過界面操作進行任務創(chuàng)建、任務執(zhí)行等操作,降低了用戶使用的復雜性,同時模糊測試的結果通過數(shù)據(jù)可視化展示到界面,以便用戶的分析查看。
附圖說明
[0015]圖1為本專利技術實施例提供的基于目標逼近式模糊測試的安全性分析輔助方法的流程示意圖;圖2為本專利技術實施例提供的篩選有效樣本的流程示意圖;圖3為本專利技術實施例提供的基于目標逼近式模糊測試的安全性分析輔助系統(tǒng)的結構示意圖。
具體實施方式
[0016]為使本專利技術的目的、技術方案和優(yōu)點更加清楚,下面將結合本專利技術實施例中的附圖,對本專利技術實施例中的技術方案進行清楚地描述,顯然,所描述的實施例是本專利技術一部分實施例,而不是全部的實施例。基于本專利技術中的實施例,本領域本文檔來自技高網(wǎng)...
【技術保護點】
【技術特征摘要】
1.基于目標逼近式模糊測試的安全性分析輔助方法,其特征在于,包括:步驟1:對給定的二進制程序進行逆向分析,得到函數(shù)信息、函數(shù)調用關系、基本塊信息及基本塊調用關系并在前端頁面展示;步驟2:選擇函數(shù)和/或基本塊作為目標點,對所述二進制程序進行模糊測試來逼近所述目標點;步驟3:在模糊測試的過程中,收集輸入樣本,并在所述二進制程序運行期間獲取所述樣本經(jīng)過的路徑信息,并將所述路徑信息以可視化形式在前端頁面展示;步驟4:將前端頁面上展示的每個函數(shù)和基本塊作為一個節(jié)點,為所有節(jié)點設置選擇功能和下載功能,以便用戶根據(jù)需要選取任一節(jié)點或選取由若干個連續(xù)節(jié)點組成的一條路徑所對應的樣本強制性作為種子繼續(xù)變異進行模糊測試或下載樣本以輔助人工調試分析。2.根據(jù)權利要求1所述的基于目標逼近式模糊測試的安全性分析輔助方法,其特征在于,步驟1具體包括:步驟1.1:采用靜態(tài)分析法通過反匯編工具IDA對二進制程序進行逆向分析;步驟1.2:以可視化形式在前端頁面上展示全局的函數(shù)調用關系圖及每個函數(shù)內部的基本塊調用關系圖。3.根據(jù)權利要求1所述的基于目標逼近式模糊測試的安全性分析輔助方法,其特征在于,步驟2具體包括:結合非確定性變異策略和確定性變異策略作為種子變異策略,對所述二進制程序進行模糊測試;具體包括:首先采用非確定性變異策略對所述二進制程序進行模糊測試,然后使用模擬退火算法快速收斂得到距離更近的有效樣本,并對所有的有效樣本進行優(yōu)先級及資源權重劃分;再根據(jù)有效樣本采用確定性變異策略對樣本的特定位置進行變異。4.根據(jù)權利要求3所述的基于目標逼近式模糊測試的安全性分析輔助方法,其特征在于,所述的采用模擬退火算法快速收斂得到距離更近的有效樣本,具體包括:模糊測試初始時,采用模擬退火算法在整個路徑空間內收斂出有效路徑;獲取當前樣本所經(jīng)過的函數(shù)信息、基本塊信息、函數(shù)調用關系以及基本塊調用關系,構建得到當前樣本所經(jīng)過的路徑的CFG圖,將此時的CFG圖記作S_CFG;遍歷S_CFG中的每個路徑,以當前路徑的終點為起點,采用單源...
【專利技術屬性】
技術研發(fā)人員:陸麗,吳博,宋玉柱,谷晶中,陳桂林,姚金龍,
申請(專利權)人:山谷網(wǎng)安科技股份有限公司,
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。