国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

二進(jìn)制代碼相似度比較研究技術(shù)匯總

清歡科技 ? 來(lái)源:清歡科技 ? 作者:清歡科技 ? 2022-10-13 08:59 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在對(duì)二進(jìn)制應(yīng)用程序進(jìn)行安全分析過(guò)程中,二進(jìn)制代碼相似度比較技術(shù)是重要的技術(shù)手段之一,基于此技術(shù),可以實(shí)現(xiàn)對(duì)惡意代碼極其變種的追蹤,已知漏洞檢測(cè)、補(bǔ)丁存在性檢測(cè)。該技術(shù)基礎(chǔ)理論依據(jù)是如果源代碼中存在的屬性(惡意代碼、已知漏洞、漏洞修復(fù)補(bǔ)丁)即使相同源代碼編譯出不同的二進(jìn)制代碼(cpu架構(gòu)、OS、編譯選項(xiàng)等會(huì)直接導(dǎo)致編譯出來(lái)的二進(jìn)制會(huì)存在較大的差別),這些屬性在二進(jìn)制代碼中也是存在的(好像是廢話,不然編譯構(gòu)建工具就有問(wèn)題了)。因此若在一個(gè)樣本二進(jìn)制文件中已知存在上述類(lèi)型的屬性,如果發(fā)現(xiàn)另外一個(gè)待檢測(cè)二進(jìn)制代碼和樣本二進(jìn)制代碼相似,那么可以認(rèn)為待檢測(cè)二進(jìn)制代碼也存在相同類(lèi)型的屬性。

我們知道編譯生成二進(jìn)制代碼的影響因素非常的多,同一套源代碼基于不同因素的組合可以生成非常多不同二進(jìn)制程序。

CPU架構(gòu):X86、ARM、MIPS、PPC、RISC-V;

架構(gòu)位數(shù):32bits、64bits;

OS:Linux、Windows、Android鴻蒙、VxWork;

編譯選項(xiàng):O0~O3;

安全編譯選項(xiàng):BIND_NOW、NX、PIC、PIE、RELRO、SP、FS、Ftrapv等;

按這些選項(xiàng)可以有5x2x5x4x8 =1600個(gè)組合,從中可以看出二進(jìn)制代碼相似度比較技術(shù)不管是學(xué)術(shù)界還是工業(yè)界來(lái)說(shuō)都是一個(gè)挑戰(zhàn)技術(shù)。但是基于廣闊的應(yīng)用前景,20多年來(lái)學(xué)術(shù)界一直在不停的探索和研究新的方法想來(lái)解決這個(gè)技術(shù)挑戰(zhàn),并且也取得了一定的成果,下面就該方面的技術(shù)進(jìn)行一些梳理,讓大家對(duì)二進(jìn)制代碼相似度比較技術(shù)有一個(gè)大致的了解。

源代碼到二進(jìn)制代碼的生成過(guò)程

pYYBAGNGp_2Ab1jJAAClwC8Ks0Y533.png

從源代碼編譯生成二進(jìn)制過(guò)程中,有很多有助于理解代碼意圖的信息會(huì)被丟失,比如:函數(shù)名稱、變量名稱、數(shù)據(jù)結(jié)構(gòu)定義、變量類(lèi)型定義、注釋信息等;因?yàn)槎M(jìn)制代碼是給CPU運(yùn)行用的,因此這些信息對(duì)計(jì)算機(jī)來(lái)說(shuō)不是必須的,但這些信息對(duì)人類(lèi)來(lái)理解代碼是有很大幫助的,這就大大的提升了二進(jìn)制代碼語(yǔ)義理解的難度。其次,為了更好的保護(hù)二進(jìn)制代碼的知識(shí)產(chǎn)權(quán)或最大程度的提升對(duì)二進(jìn)制代碼的理解難度,還會(huì)對(duì)二進(jìn)制代碼進(jìn)行混淆處理,使得混淆后的二進(jìn)制代碼與編譯器編譯出來(lái)的二進(jìn)制之間又存在很大的不同。

從歷史發(fā)表的二進(jìn)制代碼相似度比較技術(shù)論文統(tǒng)計(jì)來(lái)看,有61種二進(jìn)制代碼相似性比較方法,這些在不同研究場(chǎng)所發(fā)表的數(shù)百篇論文涵蓋了計(jì)算機(jī)安全、軟件工程、編程語(yǔ)言和機(jī)器學(xué)習(xí)等計(jì)算機(jī)科學(xué)領(lǐng)域,主要發(fā)表在IEEE S&P、ACM CCS、USENIX Security、NDSS、ACSAC、RAID、ESORICS、ASIACCS、DIMVA、ICSE、FSE、ISSTA、ASE、MSR等頂級(jí)刊物上。根據(jù)上述論文得到如下統(tǒng)計(jì)數(shù)據(jù):

輸入比較:一對(duì)一(21種)、一對(duì)多(30種)、多對(duì)多(10種);

比較方法:大多數(shù)方法使用單一類(lèi)型的比較:相似性(42種)、等效性(5種)和相同(2種);即使方法中僅使用一種類(lèi)型的比較,它也可能有不同的輸入比較不同;

分析粒度:分為輸入粒度、方法粒度;有8中不同的比較粒度,分別是指令級(jí)、基本快、函數(shù)以及相關(guān)集合、執(zhí)行軌跡、程序。最常見(jiàn)的輸入粒度是函數(shù)(26個(gè)),然后是整個(gè)程序(25個(gè))和相關(guān)的基本塊(4)。最常見(jiàn)的方法粒度是函數(shù)(30個(gè)),然后是基本塊(20);

語(yǔ)法相似性:通過(guò)語(yǔ)法方法來(lái)捕獲代碼表示的相似性,更具體地說(shuō),它們比較指令序列。最常見(jiàn)的是序列中的指令在虛擬地址空間中是連續(xù)的,屬于同一函數(shù)。

語(yǔ)義相似性:語(yǔ)義相似性是指所比較的代碼是否具有類(lèi)似的效果,而語(yǔ)法相似性則是指代碼表示中的相似性。其中有26種計(jì)算語(yǔ)義相似度的方法。它們中的大多數(shù)以基本塊粒度捕獲語(yǔ)義,因?yàn)榛緣K是沒(méi)有控制流的直線代碼。有三種方法用于捕獲語(yǔ)義:指令分類(lèi)、輸入-輸出對(duì)和符號(hào)公式。

結(jié)構(gòu)相似度:結(jié)構(gòu)相似性計(jì)算二進(jìn)制代碼的圖表示上的相似性。它位于句法和語(yǔ)義相似性之間,因?yàn)閳D可以捕獲同一代碼的多個(gè)句法表示,并可以用語(yǔ)義信息注釋。結(jié)構(gòu)相似性可以在不同的圖上計(jì)算。常見(jiàn)的有控制流圖CFG、過(guò)程間控制流圖ICFG、調(diào)用圖CG;(子)圖同構(gòu)—大多數(shù)結(jié)構(gòu)相似性方法是檢查圖同構(gòu)的變化,其中涉及到方法有K子圖匹配、路徑相似性、圖嵌入。

基于特征的相似度:計(jì)算相似性的常見(jiàn)方法(28種)是將一段二進(jìn)制代碼表示為向量或一組特征,使得類(lèi)似的二進(jìn)制代碼具有相似的特征向量或特征集。這里應(yīng)用最多的是利用機(jī)器學(xué)習(xí)來(lái)實(shí)現(xiàn)。

Hash匹配相似度:對(duì)于多維向量數(shù)據(jù)相似度快速匹配,通常使用局部敏感hash算法LSH來(lái)實(shí)現(xiàn)。

跨架構(gòu)比較方法:對(duì)不同CPU架構(gòu)二進(jìn)制代碼的相似度比較,通常跨體系結(jié)構(gòu)方法通過(guò)計(jì)算語(yǔ)義相似性來(lái)實(shí)現(xiàn)。方法之一是通過(guò)轉(zhuǎn)換成與架構(gòu)無(wú)關(guān)的中間語(yǔ)言IR來(lái)處理(7種),另外一種是使用基于特征的相似性方法(9種)。

分析類(lèi)型:從分析類(lèi)型來(lái)看有:靜態(tài)分析、動(dòng)態(tài)分析、數(shù)據(jù)流分析3種類(lèi)型;

歸一化方法:語(yǔ)法相似性方法通常會(huì)對(duì)指令進(jìn)行規(guī)范化,來(lái)盡量減少語(yǔ)法上的差異;有33種方法使用指令規(guī)范化。具體的包括操作數(shù)移除法、操作數(shù)歸一化法、助記符歸一化法

論文發(fā)表的時(shí)間、發(fā)表刊物、技術(shù)方法匯總

poYBAGNGqAWABLO7AARTgKRVwF8195.png

不同二進(jìn)制代碼相似度比較方法的具體應(yīng)用情況

pYYBAGNGqAmADxvWAADoMUuBQ_s268.png

從上表中可以看出二進(jìn)制代碼相似度比較主要應(yīng)用于漏洞查找,其次是補(bǔ)丁分析和惡意代碼分析;

針對(duì)上述不同的技術(shù)方法,分別從魯棒性、準(zhǔn)確度評(píng)估與比較、性能指標(biāo)3個(gè)維度進(jìn)行評(píng)測(cè),結(jié)果如下:

poYBAGNGqA6ARnB9AARbK0K2eBU214.png

總結(jié):二進(jìn)制代碼相似性比較技術(shù)隨著研究的持續(xù)進(jìn)行,學(xué)術(shù)界雖然取得的一定的進(jìn)步和成果,但仍然還有很多挑戰(zhàn)在等著攻克,小片段的二進(jìn)制代碼比較,源代碼與二進(jìn)制的相似度比較、數(shù)據(jù)相似度比較、語(yǔ)義關(guān)系、可擴(kuò)展性、混淆、比較方法等等都是后續(xù)需要持續(xù)研究的方向。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 二進(jìn)制
    +關(guān)注

    關(guān)注

    2

    文章

    809

    瀏覽量

    43028
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4967

    瀏覽量

    73954
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    CDx4HC283與CDx4HCT283:4位二進(jìn)制全加器的技術(shù)解析與應(yīng)用指南

    CDx4HC283與CDx4HCT283:4位二進(jìn)制全加器的技術(shù)解析與應(yīng)用指南 在數(shù)字電路設(shè)計(jì)領(lǐng)域,加法器是實(shí)現(xiàn)數(shù)值運(yùn)算的基礎(chǔ)元件之一。今天我們要深入探討的CDx4HC283和CDx4HCT283
    的頭像 發(fā)表于 01-30 17:20 ?640次閱讀

    德州儀器4位二進(jìn)制全加器:SN54/74系列的技術(shù)剖析

    德州儀器4位二進(jìn)制全加器:SN54/74系列的技術(shù)剖析 在數(shù)字電路設(shè)計(jì)中,加法器是實(shí)現(xiàn)算術(shù)運(yùn)算的基礎(chǔ)組件。德州儀器的SN54283、SN54LS283、SN54S283、SN74283
    的頭像 發(fā)表于 01-28 17:05 ?472次閱讀

    探索CD54/74AC283與CD54/74ACT283:高效4位二進(jìn)制加法器的奧秘

    探索CD54/74AC283與CD54/74ACT283:高效4位二進(jìn)制加法器的奧秘 在電子設(shè)計(jì)領(lǐng)域,加法器是實(shí)現(xiàn)數(shù)字運(yùn)算的基礎(chǔ)元件之一。今天,我們將深入研究德州儀器(Texas
    的頭像 發(fā)表于 01-28 16:50 ?427次閱讀

    CDx4HC283和CDx4HCT283:高速CMOS邏輯4位二進(jìn)制全加器的詳細(xì)解析

    CDx4HC283和CDx4HCT283:高速CMOS邏輯4位二進(jìn)制全加器的詳細(xì)解析 在電子設(shè)計(jì)領(lǐng)域,加法器是數(shù)字電路中最基本的運(yùn)算單元之一,用于實(shí)現(xiàn)二進(jìn)制數(shù)的加法運(yùn)算。今天要給大家介紹
    的頭像 發(fā)表于 01-19 14:50 ?314次閱讀

    解析CD54/74AC283與CD54/74ACT283:4位二進(jìn)制加法器的卓越之選

    CD54/74AC283和CD54/74ACT283是采用先進(jìn)CMOS邏輯技術(shù)的4位二進(jìn)制加法器,具備快速進(jìn)位功能。這些器件能夠?qū)蓚€(gè)4位二進(jìn)制數(shù)相加,并在和超過(guò)15時(shí)產(chǎn)
    的頭像 發(fā)表于 01-08 16:55 ?571次閱讀

    深入剖析CD54/74AC283與CD54/74ACT283:高性能4位二進(jìn)制加法器

    /74AC283和CD54/74ACT283是采用先進(jìn)CMOS邏輯技術(shù)的4位二進(jìn)制加法器,能夠快速處理兩個(gè)4位二進(jìn)制數(shù)的加法運(yùn)算,并在和超過(guò)15時(shí)產(chǎn)生進(jìn)位輸出。這兩款器件具有多種封裝
    的頭像 發(fā)表于 01-04 17:25 ?704次閱讀

    CD54/74AC283與CD54/74ACT283:高性能4位二進(jìn)制加法器的全面解析

    : CD74AC283M96.pdf 產(chǎn)品概述 CD54/74AC283和CD54/74ACT283是采用先進(jìn)CMOS邏輯技術(shù)的4位二進(jìn)制加法器,能夠快速處理兩個(gè)4位二進(jìn)制
    的頭像 發(fā)表于 12-31 17:10 ?1396次閱讀

    SN54F283與SN74F283:4位二進(jìn)制全加器的技術(shù)剖析

    SN54F283與SN74F283:4位二進(jìn)制全加器的技術(shù)剖析 在數(shù)字電路設(shè)計(jì)中,加法器是最基礎(chǔ)且關(guān)鍵的組件之一。今天我們要深入探討的是德州儀器(TI)的SN54F283和SN74F283這兩款4位
    的頭像 發(fā)表于 12-29 16:20 ?524次閱讀

    二進(jìn)制查找(Binary Search)介紹

    二進(jìn)制查找(Binary Search)用于在已排序的數(shù)組中執(zhí)行二進(jìn)制查找的函數(shù)。 int binary_search(int arr[], int size, int target
    發(fā)表于 12-12 06:54

    如何在vivado上基于二進(jìn)制碼對(duì)指令運(yùn)行狀態(tài)進(jìn)行判斷

    在擴(kuò)展指令時(shí)我們常常需要一些手段來(lái)幫助我們判斷指令是否能夠成功運(yùn)行、運(yùn)行狀態(tài)是否正確。一方面,我們可以通過(guò)模擬器來(lái)實(shí)現(xiàn),另一方面,在沒(méi)有模擬器的情況下,我們可以通過(guò)將所擴(kuò)展指令的二進(jìn)制代碼導(dǎo)入
    發(fā)表于 10-24 06:46

    在vivado上基于二進(jìn)制碼對(duì)指令運(yùn)行狀態(tài)進(jìn)行判斷

    在擴(kuò)展指令時(shí)我們常常需要一些手段來(lái)幫助我們判斷指令是否能夠成功運(yùn)行、運(yùn)行狀態(tài)是否正確。一方面,我們可以通過(guò)模擬器來(lái)實(shí)現(xiàn),另一方面,在沒(méi)有模擬器的情況下,我們可以通過(guò)將所擴(kuò)展指令的二進(jìn)制代碼導(dǎo)入
    發(fā)表于 10-24 06:31

    二進(jìn)制數(shù)據(jù)處理方法分享

    時(shí),我們?nèi)绾稳ソ馕鰯?shù)據(jù)并且應(yīng)用它們。本次的技術(shù)分享文章,我們就從如何傳輸數(shù)據(jù)和解析二進(jìn)制數(shù)據(jù)來(lái)一步一步剝絲抽繭,搞清楚他的運(yùn)作原理和二進(jìn)制數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)。
    的頭像 發(fā)表于 07-30 15:41 ?2413次閱讀
    <b class='flag-5'>二進(jìn)制</b>數(shù)據(jù)處理方法分享

    MAX14001/MAX14002可配置、隔離型10位ADC,用于多范圍二進(jìn)制輸入技術(shù)手冊(cè)

    MAX14001/MAX14002為隔離型、單通道模數(shù)轉(zhuǎn)換器(ADC),帶有可編程電壓比較器和浪涌電流控制,優(yōu)化用于可配置二進(jìn)制輸入應(yīng)用。MAX14001/MAX14002的二進(jìn)制輸入側(cè)(現(xiàn)場(chǎng)側(cè)
    的頭像 發(fā)表于 06-03 10:15 ?906次閱讀
    MAX14001/MAX14002可配置、隔離型10位ADC,用于多范圍<b class='flag-5'>二進(jìn)制</b>輸入<b class='flag-5'>技術(shù)</b>手冊(cè)

    如何使用Keil將二進(jìn)制文件加載到外部SPI Flash中?

    我想知道是否有辦法使用 Keil 將隨機(jī)二進(jìn)制文件加載到外部 SPI 閃存中。二進(jìn)制文件將通過(guò) LPC54102(OM13077 EVK 板)。我知道一些用于 FPGA 的 ISE 允許您執(zhí)行此作
    發(fā)表于 03-17 06:37

    無(wú)法使用密度化參數(shù)構(gòu)建OpenVINO?二進(jìn)制,怎么處理?

    無(wú)法使用密度化參數(shù)構(gòu)建OpenVINO?二進(jìn)制
    發(fā)表于 03-06 06:51