日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

二進制代碼相似度比較研究技術匯總

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

掃碼添加小助手

加入工程師交流群

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

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

CPU架構:X86、ARM、MIPS、PPC、RISC-V;

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

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

編譯選項:O0~O3;

安全編譯選項:BIND_NOW、NX、PIC、PIE、RELRO、SP、FS、Ftrapv等;

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

源代碼到二進制代碼的生成過程

pYYBAGNGp_2Ab1jJAAClwC8Ks0Y533.png

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

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

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

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

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

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

語義相似性:語義相似性是指所比較的代碼是否具有類似的效果,而語法相似性則是指代碼表示中的相似性。其中有26種計算語義相似度的方法。它們中的大多數(shù)以基本塊粒度捕獲語義,因為基本塊是沒有控制流的直線代碼。有三種方法用于捕獲語義:指令分類、輸入-輸出對和符號公式。

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

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

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

跨架構比較方法:對不同CPU架構二進制代碼的相似度比較,通??珞w系結構方法通過計算語義相似性來實現(xiàn)。方法之一是通過轉換成與架構無關的中間語言IR來處理(7種),另外一種是使用基于特征的相似性方法(9種)。

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

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

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

poYBAGNGqAWABLO7AARTgKRVwF8195.png

不同二進制代碼相似度比較方法的具體應用情況

pYYBAGNGqAmADxvWAADoMUuBQ_s268.png

從上表中可以看出二進制代碼相似度比較主要應用于漏洞查找,其次是補丁分析和惡意代碼分析;

針對上述不同的技術方法,分別從魯棒性、準確度評估與比較、性能指標3個維度進行評測,結果如下:

poYBAGNGqA6ARnB9AARbK0K2eBU214.png

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

審核編輯:湯梓紅

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

    關注

    2

    文章

    809

    瀏覽量

    43217
  • 代碼
    +關注

    關注

    30

    文章

    4977

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    SN系列4位二進制全加器:快速進位的高效之選

    SN系列4位二進制全加器:快速進位的高效之選 引言 在電子電路設計領域,加法器是實現(xiàn)算術運算的基礎組件,其性能直接影響到整個系統(tǒng)的運算速度和效率。TI的SN系列4位二進制全加器(SN54283
    的頭像 發(fā)表于 04-23 13:05 ?151次閱讀

    4位二進制全加器:SN54/74系列的技術剖析與應用指南

    4位二進制全加器:SN54/74系列的技術剖析與應用指南 在電子設計領域,加法器是實現(xiàn)數(shù)字運算的基礎組件,而4位二進制全加器在眾多數(shù)字電路設計中扮演著重要角色。今天,我們就來深入探討德州儀器(TI
    的頭像 發(fā)表于 04-23 13:05 ?154次閱讀

    SN54F283和SN74F283:4位二進制全加器的技術解析

    SN54F283和SN74F283:4位二進制全加器的技術解析 在電子電路設計中,加法器是實現(xiàn)算術運算的基礎組件。今天我們來深入了解一下德州儀器(TI)的SN54F283和SN74F283 4位
    的頭像 發(fā)表于 04-23 10:15 ?228次閱讀

    高速CMOS邏輯4位二進制全加器CDx4HC283和CDx4HCT283的技術解析

    高速CMOS邏輯4位二進制全加器CDx4HC283和CDx4HCT283的技術解析 今天來深入探討一下德州儀器(TI)的CD54HC283、CD74HC283、CD54HCT283
    的頭像 發(fā)表于 04-18 14:50 ?166次閱讀

    CD4089B:高性能CMOS二進制速率乘法器的設計與應用

    CD4089B:高性能CMOS二進制速率乘法器的設計與應用 在電子設計領域,對于能夠實現(xiàn)精確脈沖速率控制和多樣化運算功能的器件需求始終存在。CD4089B作為一款高性能的CMOS二進制速率乘法器
    的頭像 發(fā)表于 04-18 14:45 ?120次閱讀

    74HC283 4位二進制全加器:設計利器深度解析

    74HC283 4位二進制全加器:設計利器深度解析 作為電子工程師,在數(shù)字電路設計中,加法器是我們經(jīng)常會用到的基礎元件。今天就來深入探討一下74HC283 4位二進制全加器,它在諸多數(shù)字電路設計場景
    的頭像 發(fā)表于 04-08 16:15 ?235次閱讀

    CDx4HC283與CDx4HCT283:4位二進制全加器的技術解析與應用指南

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

    德州儀器4位二進制全加器:SN54/74系列的技術剖析

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

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

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

    CDx4HC283和CDx4HCT283:高速CMOS邏輯4位二進制全加器的詳細解析

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

    SN54F283與SN74F283:4位二進制全加器的技術剖析

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

    二進制查找(Binary Search)介紹

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

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

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

    在vivado上基于二進制碼對指令運行狀態(tài)進行判斷

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

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

    時,我們?nèi)绾稳ソ馕鰯?shù)據(jù)并且應用它們。本次的技術分享文章,我們就從如何傳輸數(shù)據(jù)和解析二進制數(shù)據(jù)來一步一步剝絲抽繭,搞清楚他的運作原理和二進制數(shù)據(jù)的數(shù)據(jù)結構。
    的頭像 發(fā)表于 07-30 15:41 ?2619次閱讀
    <b class='flag-5'>二進制</b>數(shù)據(jù)處理方法分享
    涡阳县| 永城市| 班玛县| 平湖市| 兴城市| 宝坻区| 大理市| 明溪县| 应用必备| 边坝县| 响水县| 海南省| 观塘区| 宜丰县| 房产| 饶河县| 寿光市| 襄城县| 吴旗县| 江都市| 治县。| 长垣县| 宜春市| 淅川县| 兴义市| 来凤县| 昌图县| 云林县| 隆昌县| 新龙县| 滁州市| 庄浪县| 许昌市| 泊头市| 双流县| 正定县| 苏尼特右旗| 龙岩市| 武冈市| 县级市| 麻栗坡县|