《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 融合注意力機制和Child-Sum Tree-LSTM的二進制代碼相似性檢測
融合注意力機制和Child-Sum Tree-LSTM的二進制代碼相似性檢測
網絡安全與數據治理 11期
李濤,王金雙
(中國人民解放軍陸軍工程大學指揮控制工程學院,江蘇南京210007)
摘要: 抽象語法樹是一種代碼的樹型表示,它保留了代碼中定義良好的語句組件、語句的顯式順序和執行邏輯。包含豐富語義信息的抽象語法樹可以在二進制分析時通過反編譯生成,并且已經作為代碼特征應用于二進制代碼相似度檢測。抽象語法樹中不同類別的節點承載著不同的語義信息,對整棵樹的語義具有不同的貢獻程度。然而現有的二進制代碼相似度檢測方法所用神經網絡無法對抽象語法樹節點進行重要性區分,影響了模型的訓練效果。針對該問題,提出了一種融合注意力機制和Child-Sum Tree-LSTM神經網絡的跨指令集、跨代碼混淆二進制代碼相似性檢測方法。首先使用二進制分析工具IDA Pro對二進制代碼反編譯提取架構無關的抽象語法樹特征,并利用隨機采樣構造訓練樣本對。然后使用抽象語法樹訓練樣本對訓練融合注意力機制和Child-Sum Tree-LSTM的神經網絡模型。在公開數據集BINKIT上的實驗表明,所提方法的AUC和Accuracy指標分別為94.1%、66.2%,優于Child-Sum Tree-LSTM算法。
中圖分類號:TP315
文獻標識碼:ADOI:10.19358/j.issn.2097-1788.2023.11.002
引用格式:李濤,王金雙.融合注意力機制和Child-Sum Tree-LSTM的二進制代碼相似性檢測[J].網絡安全與數據治理,2023,42(11):8-14,34.
Binary code similarity detection via attention mechanism and Child-Sum Tree-LSTM
Li Tao,Wang Jinshuang
(Command & Control Engineering College,Army Engineering University of PLA,Nanjing 210007,China)
Abstract: Abstract syntax tree (AST) is a tree representation of code, which preserves well-defined statement components, exploit order of statements, and the execution logic. AST contains rich semantic information and is easy to generate by decompiling the function during binary analysis. The AST can be utilized as a code feature for binary code similarity detection. In an AST, nodes of different types carry different semantic information and contribute differently to the overall semantics of the tree. However, the neural networks used in the existing binary code similarity detection methods are unable to differentiate the importance of AST nodes,which adversely affects the training effectiveness of the models. To address this issue, a binary code similarity detection method is proposed. The method is designed for cross-instruction set architecture and cross-obfuscation, combining attention mechanism and Child-Sum tree-structured long short-term memory networks (Tree-LSTM). Firstly, binary analysis tools IDA Pro are used to decompile the binary code and extract architecture independent AST features. Random sampling is employed to construct training binary function pairs. Secondly, the neural network model, which combines the attention mechanism and Child-Sum Tree-LSTM, is trained on the pairs of abstract syntax tree features. Evaluation results on the public dataset BINKIT show that the method achieves an AUC (Area Under the Curve) of 941% and an accuracy of 662%, outperforming the Child-Sum Tree-LSTM algorithm.
Key words : binary code; similarity detection; attention mechanism; Child-Sum Tree-LSTM

0引言

代碼復用在軟件開發過程中非常普遍。大量代碼和庫被復用到多個體系架構的二進制文件中,其中存在的一些脆弱代碼可能會導致安全隱患。二進制代碼相似性檢測技術可以評估兩個或者多個二進制代碼間的相似性和差異性,被廣泛應用于漏洞發現[1-2]、代碼剽竊檢測[3]、惡意軟件檢測[4]等領域。

二進制代碼相似性檢測的任務是尋找與給定查詢二進制函數func最相似的目標函數func′。根據檢測對象的不同,主要分為以下兩種類型:(1)一對一比較:直接計算兩段二進制代碼之間的相似性。這種方法通常需要設置一個合適的閾值,閾值的選擇將直接影響檢測的準確度。(2)一對多比較。該場景將一個源函數與目標函數池中的函數進行相似度評分并排序。目標函數的排序越靠前,說明模型對于函數語義的區分度越好。

編譯選項的差異(如編譯優化O0-O3、-fno-inline選項等)、代碼混淆技術(如Obfuscator-LLVM[5])的使用給研究人員提取二進制代碼語義帶來了諸多挑戰。

基于深度學習的二進制代碼相似度檢測方法可以自動化地提取代碼語義,從而避免了人工分析可能引入的偏差。常用的神經網絡主要有兩類:(1)使用處理結構特征的圖神經網絡,如Structure2Vec[6]、GCN[7]等;(2)使用處理文本序列的神經網絡,如LSTM(Long Short Term Memory)[8]、Transformer[9]等。

Genius[10]結合基本塊語法特征和控制流圖(Control Flow Graph,CFG)生成屬性控制流圖用于相似性檢測,之后的Gemini[11]、VulSeeker[1]等均使用了類似的思想。

在二進制代碼相似度檢測領域,Luo等人[12]利用LSTM和孿生網絡學習匯編代碼的語義表示。Asm2vec[13]使用PV-DM[14]模型學習函數和指令符號的嵌入。jTrans[15]在文獻[16]預訓練任務的基礎上,將控制流信息融入預訓練任務,取得了較好的效果。但是這些方法無法適用于跨指令集架構的檢測場景。

觀察來自庫findutils中的closs_stream函數,如圖1所示,在保持編譯配置相同(編譯器Clang70,編譯優化O0,其他編譯器選項相同)的情況下,不同指令集架構(x86和ARM)二進制代碼間的CFG具有一定的差異,而其二進制代碼對應的AST特征則只出現了一個節點的差異。

Tai[17]等人提出了兩種Tree-LSTM網絡(Child-Sum Tree-LSTM和N-ary Tree-LSTM)用于處理自然語言處理領域的結構化數據,其在情感分類和語義相關任務中的性能優于普通LSTM。其中,N-ary Tree-LSTM適合于二叉樹,而Child-Sum Tree-LSTM適用于多孩子的無序樹,并且具有更高的計算效率。

在此工作的基礎上,Yang等人[18]提出了一種基于AST編碼的跨指令集架構的檢測方法Asteria。通過提取二進制函數的AST作為跨指令集架構的二進制特征來源,并利用能夠處理樹形數據的Tree-LSTM網絡學習二進制代碼的AST語義嵌入。但是原生Tree-LSTM難以捕獲子節點對整棵樹的語義貢獻度,影響訓練精度。

屏幕截圖 2024-01-25 110722.png

圖1二進制代碼的CFG和AST特征對比

(bigram工程closs_stream函數O0優化)

AST的節點代表了代碼中的表達式或語句,不同種類的節點承載著不同的信息量。然而Child-Sum Tree-LSTM對子節點隱藏狀態累加以表示父節點,未能考慮不同類別AST節點對整棵樹特征表示的貢獻程度。例如,AST中包含的num等節點通常和expr、block等節點具有一定的從屬關系,并且通常在樹中處于不同的位置。進行節點向量傳播的過程中應當對這些節點的語義信息對進行重要性區分,使得在模型訓練過程中節點對整棵AST提供適當的語義貢獻度。

本文提出了一種融合注意力機制和Child-Sum Tree-LSTM的二進制代碼相似性檢測方法。首先使用二進制分析工具IDA Pro對二進制文件進行反編譯提取AST作為特征來源,輸入到融合注意力機制的Child-Sum Tree-LSTM神經網絡中進行訓練,最后通過實驗表現驗證本方法的有效性。所提方法可用于跨指令集架構、跨代碼混淆、跨編譯優化等級等多種二進制代碼相似性檢測場景。


本文下載請點擊:融合注意力機制和Child-Sum Tree-LSTM的二進制代碼相似性檢測AET-電子技術應用-最豐富的電子設計資源平臺 (chinaaet.com)


作者信息:

李濤,王金雙

 (人民解放軍陸軍工程大學指揮控制工程學院,江蘇南京210007)中國


電子技術應用微店二維碼.jpg


此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
99精品热视频| 9l国产精品久久久久麻豆| 欧美激情亚洲| 久久人人爽人人爽爽久久| 午夜精品一区二区三区四区| av不卡在线观看| 亚洲全部视频| 久久国产精品电影| 欧美在线播放视频| 久久www成人_看片免费不卡| 亚洲欧美日韩在线高清直播| 亚洲字幕在线观看| 亚洲视屏在线播放| 亚洲视频在线播放| 一区二区三区日韩| 亚洲色诱最新| 亚洲性图久久| 亚洲一区二区综合| 午夜免费在线观看精品视频| 亚洲一区二区在线视频| 亚洲男人av电影| 欧美一级网站| 亚洲福利视频二区| 亚洲国产精品久久久久| 亚洲精品九九| 亚洲欧洲日夜超级视频| 亚洲毛片播放| 宅男噜噜噜66国产日韩在线观看| 亚洲图片欧美午夜| 午夜亚洲一区| 久久精品一级爱片| 美女福利精品视频| 欧美精品国产| 国产精品大全| 国产一区二区欧美| 在线观看精品视频| 99riav久久精品riav| 亚洲素人在线| 欧美亚洲日本网站| 亚洲高清电影| 一区二区三区国产精华| 亚洲欧美日韩爽爽影院| 久久久国产视频91| 女人香蕉久久**毛片精品| 欧美区日韩区| 欧美视频中文在线看 | 欧美精品高清视频| 欧美视频中文字幕在线| 国产日本欧美在线观看| 在线观看国产成人av片| 日韩午夜免费| 欧美影院一区| 亚洲日韩第九十九页| 亚洲午夜精品一区二区| 欧美永久精品| 噜噜噜躁狠狠躁狠狠精品视频| 欧美精品福利视频| 国产欧美日韩在线| 亚洲高清在线观看一区| 亚洲无限av看| 久久精品国产在热久久| 一本大道久久a久久综合婷婷| 亚洲欧美国产另类| 久久九九国产精品| 欧美日韩的一区二区| 国产日本亚洲高清| 最新国产成人在线观看| 亚洲永久精品大片| 亚洲三级网站| 欧美在线free| 欧美日本亚洲视频| 国产一区二区三区四区老人| 亚洲精品久久久蜜桃| 亚洲欧美日韩精品久久久| 亚洲精品欧美专区| 欧美专区一区二区三区| 欧美剧在线免费观看网站| 国产欧美综合一区二区三区| 亚洲日本在线观看| 欧美在线观看日本一区| 亚洲一区免费视频| 欧美激情一区二区三级高清视频| 国产欧美日韩不卡| 亚洲裸体视频| 亚洲国产精品v| 欧美在线视屏| 欧美日韩一本到| 曰韩精品一区二区| 午夜久久久久久久久久一区二区| 一区二区免费在线播放| 久久综合久久综合九色| 国产女主播在线一区二区| 亚洲美女精品一区| 亚洲韩国精品一区| 久久精品在这里| 国产精品久久久久久五月尺| 亚洲人成人一区二区在线观看 | 一区二区三区欧美激情| 免费不卡在线视频| 国产亚洲综合在线| 亚洲在线播放电影| 亚洲欧美日韩天堂| 欧美视频一区二区三区| 亚洲精品少妇30p| 亚洲精品麻豆| 猛男gaygay欧美视频| 国产自产2019最新不卡| 午夜精品久久久久| 午夜精品视频在线| 国产精品video| 日韩视频免费大全中文字幕| 亚洲欧洲一区| 嫩模写真一区二区三区三州| 国产真实久久| 久久成人精品电影| 久久精品最新地址| 国产欧美在线视频| 午夜亚洲视频| 久久九九热免费视频| 国产人成一区二区三区影院| 性做久久久久久| 久久精品综合| 国内外成人在线| 久久精品二区三区| 久久亚洲精品一区二区| 国产综合一区二区| 亚洲福利在线看| 蜜桃久久av一区| 亚洲国产福利在线| 亚洲乱码国产乱码精品精天堂| 欧美成人在线网站| 亚洲精品1区2区| 夜夜嗨av一区二区三区网页| 欧美日本一区二区视频在线观看| 亚洲精品久久久久| 在线视频欧美日韩| 国产精品v欧美精品v日韩 | 久久成人免费网| 久久久久久久精| 一色屋精品视频在线观看网站| 亚洲国产成人一区| 欧美jizz19性欧美| 亚洲啪啪91| 亚洲一区国产视频| 国产精品一二三四区| 欧美一区二区高清在线观看| 久久精品人人做人人爽| 精久久久久久久久久久| 亚洲精品一二| 欧美日韩综合一区| 亚洲欧美另类国产| 久久久久久国产精品一区| 在线播放日韩| 99国产精品国产精品久久 | 欧美视频观看一区| 亚洲伊人一本大道中文字幕| 久久国产精品久久w女人spa| 黄色成人免费网站| 一本久久综合| 国产精品视频xxxx| 亚洲国产精品久久久久婷婷老年| 欧美成人午夜剧场免费观看| 亚洲免费观看在线视频| 午夜亚洲视频| **网站欧美大片在线观看| 日韩天天综合| 国产精品视频区| 亚洲福利av| 欧美性猛交xxxx乱大交退制版| 午夜精品久久久久影视| 你懂的国产精品| 亚洲新中文字幕| 老司机精品福利视频| 亚洲免费电影在线观看| 亚洲欧美综合另类中字| 亚洲第一网站| 香蕉av福利精品导航| 在线免费观看日本一区| 亚洲天堂av在线免费| 国产综合色一区二区三区| 99精品视频网| 国产一区二区三区久久久久久久久 | 欧美日韩一区在线观看视频| 亚洲欧美成人网| 欧美电影在线播放| 午夜精品免费视频| 欧美日本在线看| 久久不见久久见免费视频1| 欧美午夜精品一区| 亚洲黄色成人| 国产精品一区免费视频| 99在线热播精品免费99热| 欧美成人免费在线观看| 亚洲男人第一av网站| 欧美日韩午夜视频在线观看| 欧美淫片网站| 国产精品国产三级国产普通话蜜臀| 亚洲国产精品va在线看黑人| 国产精品捆绑调教| 亚洲免费黄色|