引用格式:羅治祥,向棲,李樂言.基于污點(diǎn)分析的二進(jìn)制程序漏洞檢測(cè)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].網(wǎng)絡(luò)安全與數(shù)據(jù)治理,,2023,,42(11):1-7.
0引言
近年來,,隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,軟件行業(yè)迅速發(fā)展,,軟件的體量,、種類不斷增大。同時(shí),,由于程序代碼編寫不規(guī)范,,編寫過程存在疏忽,,或者缺乏軟件安全方面的意識(shí)等,導(dǎo)致軟件的安全性承受巨大威脅,。針對(duì)這一現(xiàn)狀,,構(gòu)建漏洞檢測(cè)系統(tǒng)對(duì)軟件進(jìn)行安全檢測(cè)是最行之有效的辦法之一,可在一定程度上發(fā)現(xiàn)并且及時(shí)消除潛在的漏洞,。
軟件的安全檢測(cè)方法通??梢苑譃閯?dòng)態(tài)測(cè)試[1]和靜態(tài)分析[2]兩大類,靜態(tài)分析這一方法相較于動(dòng)態(tài)測(cè)試具有更高的覆蓋率以及性能效率?,F(xiàn)有的靜態(tài)分析方案大多都基于源碼級(jí)別[3]進(jìn)行分析,,雖然可以在比較高的程度上滿足軟件安全需要,但是在許多真實(shí)的安全測(cè)試場(chǎng)景中,,需要分析對(duì)象大多屬于常見的二進(jìn)制文件,,比如商業(yè)軟件、車機(jī)固件,、嵌入式系統(tǒng)固件等,。此時(shí)安全研究人員難以獲得相應(yīng)的源代碼,源碼級(jí)靜態(tài)分析方案不再適用?,F(xiàn)今商業(yè)化的二進(jìn)制程序漏洞分析系統(tǒng)基本不具備可二次開發(fā)的擴(kuò)展性,,而開源的二進(jìn)制程序漏洞分析系統(tǒng),比如 angr[4] ,、 BAP[5] ,、 BinAbsInspector等優(yōu)秀的靜態(tài)分析工具存在一些適用性問題。其中,,angr 和 BAP 正逐步發(fā)展為通用分析框架,,而不僅僅專注于二進(jìn)制漏洞掃描,這使得內(nèi)部分析算法變得復(fù)雜,,不便于后續(xù)的擴(kuò)展和優(yōu)化,。BinAbsInspector是基于Ghidra的插件,使用Java編寫開發(fā),,提供的API比較有限,,在可擴(kuò)展性上有所欠缺,普通的二進(jìn)制安全研究員無(wú)法有效地基于該工具進(jìn)行自定義開發(fā),。因此,,構(gòu)建一款在性能和可擴(kuò)展性上較為突出,同時(shí)也滿足于真實(shí)場(chǎng)景需要的二進(jìn)制程序漏洞檢測(cè)系統(tǒng)刻不容緩,。
針對(duì)上述問題,,Tan[6]等基于Java提出了一種較為簡(jiǎn)易的指針分析[7]算法,該算法在使用Datalog[8]引擎支撐之后,在構(gòu)建好的程序抽象數(shù)據(jù)上進(jìn)行分析,,使得性能得到較大的提升,。對(duì)于獲取二進(jìn)制程序抽象數(shù)據(jù)而言,普遍的做法是反編譯[9]二進(jìn)制程序生成IR中間表示,,進(jìn)一步對(duì)其進(jìn)行優(yōu)化和轉(zhuǎn)換得到其AST語(yǔ)法樹,,最后依據(jù)AST語(yǔ)法樹得到程序抽象數(shù)據(jù),比較好的工具有IDA Pro,、Ghidra,、Binary Ninja等。本文設(shè)計(jì)系統(tǒng)選取了IDA Pro進(jìn)行程序抽象數(shù)據(jù)獲取,,使用IDA Pro特有的IDAPython,,從原生角度適配了IDA Pro提供各項(xiàng)API接口,從可擴(kuò)展性上兼具了Python腳本跨平臺(tái),、易擴(kuò)展等優(yōu)點(diǎn);從性能方面,,Python庫(kù)中的pyDatalog可以替代常見的Datalog引擎,且性能方面相差無(wú)幾,。
文章詳細(xì)內(nèi)容下載請(qǐng)點(diǎn)擊:基于污點(diǎn)分析的二進(jìn)制程序漏洞檢測(cè)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)AET-電子技術(shù)應(yīng)用-最豐富的電子設(shè)計(jì)資源平臺(tái) (chinaaet.com)
作者信息:
羅治祥1,,向棲2,李樂言1,,3
(1工業(yè)和信息化部電子第五研究所,,廣東廣州511370;2東北大學(xué)軟件學(xué)院,,遼寧沈陽(yáng)110819,;3智能產(chǎn)品質(zhì)量評(píng)價(jià)與可靠性保障技術(shù)工業(yè)和信息化部重點(diǎn)實(shí)驗(yàn)室,廣東廣州511370)