基于模糊測試的二進(jìn)制代碼相似性檢測
發(fā)布時間:2021-08-14 22:50
軟件相似性檢測,作為軟件漏洞和病毒檢測以及軟件版權(quán)保護(hù)中最基礎(chǔ)核心的技術(shù),自信息時代以來一直受到了廣泛的重視和研究,其中基于源碼的代碼相似性檢測由于源碼所擁有的豐富的語義信息,使得一些簡單的基于詞法語法的方法就能夠滿足個別應(yīng)用的需要。然而在現(xiàn)實(shí)場景下,待檢測代碼的源碼經(jīng)常無法獲得,并且源碼也無法提供對于漏洞檢測非常重要的程序運(yùn)行時信息。故近年來,面向二進(jìn)制的相似性代碼檢測逐漸開始受到重視。傳統(tǒng)的基于靜態(tài)的二進(jìn)制相似性檢測方法由于對二進(jìn)制結(jié)構(gòu)信息具有敏感性的問題,在準(zhǔn)確性上一直有所欠缺;谀:郎y試的二進(jìn)制相似性檢測系統(tǒng)Sim-Fuzz相較于靜態(tài)方法,能夠容忍二進(jìn)制文件中常出現(xiàn)的代碼混淆現(xiàn)象,故更適合于不同編譯器甚至是平臺的二進(jìn)制相似性比較,在病毒的變種檢測方面也有更優(yōu)異的表現(xiàn)。具體而言,Sim-Fuzz捕捉程序的運(yùn)行時行為(如內(nèi)存讀寫以及庫函數(shù)調(diào)用等)用來表示程序的特征,利用最長序列算法將這些運(yùn)行時的信息轉(zhuǎn)化為一個特征向量作為預(yù)測的輸入,最后在生成的特征向量上訓(xùn)練了一個支持向量機(jī)(Support Vector Machine,SVM)來做最后的相似性預(yù)測,輸出兩個程序之間的相似可信度。...
【文章來源】:華中科技大學(xué)湖北省 211工程院校 985工程院校 教育部直屬院校
【文章頁數(shù)】:59 頁
【學(xué)位級別】:碩士
【部分圖文】:
一個while循環(huán)的AST樹結(jié)構(gòu)
3) 基于核心值以及,4) 基于地毯執(zhí)行。于詞法語法最具代表性文獻(xiàn)[1],作為率先提出解決二進(jìn)制相似要的貢獻(xiàn)在于提出將在源碼上效果很好的基于詞法語法的分析主要的問題在于:如果過多考慮和編譯器相關(guān)的如具體數(shù)據(jù)的的使用,則會由于太過于具體而造成過高的漏報率,但同時如少,如只考慮指令的語義,則會造成過多的誤報。于以上出發(fā)點(diǎn)提出了一種將二進(jìn)制指令一般化的方式,如圖 立即數(shù)都一般化為了一個概括性的值實(shí)體,從而忽略了其具體在其到底是表示的地址還是值上做了區(qū)分,然后將所有用到了型都一般化為了名為寄存器表達(dá)式的實(shí)體。對于不同的指令保。作為這個領(lǐng)域的開山之作,其提出了很多富有建設(shè)性的解決般化的方法被后續(xù)的工作所廣泛使用,但是其不足之處在于,統(tǒng)和平臺,并且處理不同優(yōu)化等級帶來的結(jié)構(gòu)性變化。
華 中 科 技 大 學(xué) 碩 士 學(xué) 位 論 文二進(jìn)制分析的重要性。但其的不足在于,其本質(zhì)上是之前源碼上基于控制流工作的延續(xù),正如之前所說,跨指令集的二進(jìn)制中存在眾多編譯器優(yōu)化及代碼混淆等改變控制流的現(xiàn)象。一個具體的由編譯器優(yōu)化帶來的對控制流的影響。如圖 2- 2 所示,md5_finish_ctx 優(yōu)化之前的控制流圖,如圖 2- 2 (a)所示,和優(yōu)化之后,如圖 2- 2 (b)所示,可以看出,優(yōu)化之后,函數(shù)控制流被極大地簡化,并且這時,不同函數(shù)的控制流會變得十分相似,如圖 2- 2 (c)所示。這無疑使得對控制流敏感的高效貪心搜索算法這種情況從根本上不適用于跨平臺的應(yīng)用。并且其將二進(jìn)制指令一般化的工作主要集中在翻譯,并不在于設(shè)計中間目標(biāo)指令,翻譯的目標(biāo)中間表達(dá)語言是另外的工作。
【參考文獻(xiàn)】:
期刊論文
[1]Android惡意軟件檢測方法研究綜述[J]. 李江華,邱晨. 計算機(jī)應(yīng)用研究. 2019(01)
[2]基于動靜結(jié)合的Android惡意代碼行為相似性檢測[J]. 陳鵬,趙榮彩,單征,韓金,孟曦. 計算機(jī)應(yīng)用研究. 2018(05)
[3]抗混淆的Android應(yīng)用相似性檢測方法[J]. 王兆國,李城龍,關(guān)毅,薛一波. 華中科技大學(xué)學(xué)報(自然科學(xué)版). 2016(03)
本文編號:3343321
【文章來源】:華中科技大學(xué)湖北省 211工程院校 985工程院校 教育部直屬院校
【文章頁數(shù)】:59 頁
【學(xué)位級別】:碩士
【部分圖文】:
一個while循環(huán)的AST樹結(jié)構(gòu)
3) 基于核心值以及,4) 基于地毯執(zhí)行。于詞法語法最具代表性文獻(xiàn)[1],作為率先提出解決二進(jìn)制相似要的貢獻(xiàn)在于提出將在源碼上效果很好的基于詞法語法的分析主要的問題在于:如果過多考慮和編譯器相關(guān)的如具體數(shù)據(jù)的的使用,則會由于太過于具體而造成過高的漏報率,但同時如少,如只考慮指令的語義,則會造成過多的誤報。于以上出發(fā)點(diǎn)提出了一種將二進(jìn)制指令一般化的方式,如圖 立即數(shù)都一般化為了一個概括性的值實(shí)體,從而忽略了其具體在其到底是表示的地址還是值上做了區(qū)分,然后將所有用到了型都一般化為了名為寄存器表達(dá)式的實(shí)體。對于不同的指令保。作為這個領(lǐng)域的開山之作,其提出了很多富有建設(shè)性的解決般化的方法被后續(xù)的工作所廣泛使用,但是其不足之處在于,統(tǒng)和平臺,并且處理不同優(yōu)化等級帶來的結(jié)構(gòu)性變化。
華 中 科 技 大 學(xué) 碩 士 學(xué) 位 論 文二進(jìn)制分析的重要性。但其的不足在于,其本質(zhì)上是之前源碼上基于控制流工作的延續(xù),正如之前所說,跨指令集的二進(jìn)制中存在眾多編譯器優(yōu)化及代碼混淆等改變控制流的現(xiàn)象。一個具體的由編譯器優(yōu)化帶來的對控制流的影響。如圖 2- 2 所示,md5_finish_ctx 優(yōu)化之前的控制流圖,如圖 2- 2 (a)所示,和優(yōu)化之后,如圖 2- 2 (b)所示,可以看出,優(yōu)化之后,函數(shù)控制流被極大地簡化,并且這時,不同函數(shù)的控制流會變得十分相似,如圖 2- 2 (c)所示。這無疑使得對控制流敏感的高效貪心搜索算法這種情況從根本上不適用于跨平臺的應(yīng)用。并且其將二進(jìn)制指令一般化的工作主要集中在翻譯,并不在于設(shè)計中間目標(biāo)指令,翻譯的目標(biāo)中間表達(dá)語言是另外的工作。
【參考文獻(xiàn)】:
期刊論文
[1]Android惡意軟件檢測方法研究綜述[J]. 李江華,邱晨. 計算機(jī)應(yīng)用研究. 2019(01)
[2]基于動靜結(jié)合的Android惡意代碼行為相似性檢測[J]. 陳鵬,趙榮彩,單征,韓金,孟曦. 計算機(jī)應(yīng)用研究. 2018(05)
[3]抗混淆的Android應(yīng)用相似性檢測方法[J]. 王兆國,李城龍,關(guān)毅,薛一波. 華中科技大學(xué)學(xué)報(自然科學(xué)版). 2016(03)
本文編號:3343321
本文鏈接:http://sikaile.net/kejilunwen/ruanjiangongchenglunwen/3343321.html
最近更新
教材專著