亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        融合注意力機(jī)制和Child-Sum Tree-LSTM的二進(jìn)制代碼相似性檢測(cè)

        2023-12-13 11:43:46王金雙
        關(guān)鍵詞:語義檢測(cè)模型

        李 濤,王金雙

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

        0 引言

        代碼復(fù)用在軟件開發(fā)過程中非常普遍。大量代碼和庫(kù)被復(fù)用到多個(gè)體系架構(gòu)的二進(jìn)制文件中,其中存在的一些脆弱代碼可能會(huì)導(dǎo)致安全隱患。二進(jìn)制代碼相似性檢測(cè)技術(shù)可以評(píng)估兩個(gè)或者多個(gè)二進(jìn)制代碼間的相似性和差異性,被廣泛應(yīng)用于漏洞發(fā)現(xiàn)[1-2]、代碼剽竊檢測(cè)[3]、惡意軟件檢測(cè)[4]等領(lǐng)域。

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

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

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

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

        在二進(jìn)制代碼相似度檢測(cè)領(lǐng)域,Luo等人[12]利用LSTM和孿生網(wǎng)絡(luò)學(xué)習(xí)匯編代碼的語義表示。Asm2vec[13]使用PV-DM[14]模型學(xué)習(xí)函數(shù)和指令符號(hào)的嵌入。jTrans[15]在文獻(xiàn)[16]預(yù)訓(xùn)練任務(wù)的基礎(chǔ)上,將控制流信息融入預(yù)訓(xùn)練任務(wù),取得了較好的效果。但是這些方法無法適用于跨指令集架構(gòu)的檢測(cè)場(chǎng)景。

        觀察來自庫(kù)findutils中的closs_stream函數(shù),如圖1所示,在保持編譯配置相同(編譯器Clang7.0,編譯優(yōu)化O0,其他編譯器選項(xiàng)相同)的情況下,不同指令集架構(gòu)(x86和ARM)二進(jìn)制代碼間的CFG具有一定的差異,而其二進(jìn)制代碼對(duì)應(yīng)的AST特征則只出現(xiàn)了一個(gè)節(jié)點(diǎn)的差異。

        圖1 二進(jìn)制代碼的CFG和AST特征對(duì)比(bigram工程closs_stream函數(shù)O0優(yōu)化)

        Tai[17]等人提出了兩種Tree-LSTM網(wǎng)絡(luò)(Child-Sum Tree-LSTM和N-ary Tree-LSTM)用于處理自然語言處理領(lǐng)域的結(jié)構(gòu)化數(shù)據(jù),其在情感分類和語義相關(guān)任務(wù)中的性能優(yōu)于普通LSTM。其中,N-ary Tree-LSTM適合于二叉樹,而Child-Sum Tree-LSTM適用于多孩子的無序樹,并且具有更高的計(jì)算效率。

        在此工作的基礎(chǔ)上,Yang等人[18]提出了一種基于AST編碼的跨指令集架構(gòu)的檢測(cè)方法Asteria。通過提取二進(jìn)制函數(shù)的AST作為跨指令集架構(gòu)的二進(jìn)制特征來源,并利用能夠處理樹形數(shù)據(jù)的Tree-LSTM網(wǎng)絡(luò)學(xué)習(xí)二進(jìn)制代碼的AST語義嵌入。但是原生Tree-LSTM難以捕獲子節(jié)點(diǎn)對(duì)整棵樹的語義貢獻(xiàn)度,影響訓(xùn)練精度。

        AST的節(jié)點(diǎn)代表了代碼中的表達(dá)式或語句,不同種類的節(jié)點(diǎn)承載著不同的信息量。然而Child-Sum Tree-LSTM對(duì)子節(jié)點(diǎn)隱藏狀態(tài)累加以表示父節(jié)點(diǎn),未能考慮不同類別AST節(jié)點(diǎn)對(duì)整棵樹特征表示的貢獻(xiàn)程度。例如,AST中包含的num等節(jié)點(diǎn)通常和expr、block等節(jié)點(diǎn)具有一定的從屬關(guān)系,并且通常在樹中處于不同的位置。進(jìn)行節(jié)點(diǎn)向量傳播的過程中應(yīng)當(dāng)對(duì)這些節(jié)點(diǎn)的語義信息對(duì)進(jìn)行重要性區(qū)分,使得在模型訓(xùn)練過程中節(jié)點(diǎn)對(duì)整棵AST提供適當(dāng)?shù)恼Z義貢獻(xiàn)度。

        本文提出了一種融合注意力機(jī)制和Child-Sum Tree-LSTM的二進(jìn)制代碼相似性檢測(cè)方法。首先使用二進(jìn)制分析工具IDA Pro對(duì)二進(jìn)制文件進(jìn)行反編譯提取AST作為特征來源,輸入到融合注意力機(jī)制的Child-Sum Tree-LSTM神經(jīng)網(wǎng)絡(luò)中進(jìn)行訓(xùn)練,最后通過實(shí)驗(yàn)表現(xiàn)驗(yàn)證本方法的有效性。所提方法可用于跨指令集架構(gòu)、跨代碼混淆、跨編譯優(yōu)化等級(jí)等多種二進(jìn)制代碼相似性檢測(cè)場(chǎng)景。

        1 相關(guān)工作

        1.1 二進(jìn)制代碼相似度檢測(cè)

        現(xiàn)有二進(jìn)制代碼特征提取方法主要可分為動(dòng)態(tài)分析特征提取和靜態(tài)分析特征提取。動(dòng)態(tài)分析方法能夠準(zhǔn)確獲取代碼的功能語義。動(dòng)態(tài)分析環(huán)境搭建復(fù)雜度較高,難以適用于大規(guī)模分析場(chǎng)景。靜態(tài)分析方法利用反匯編或者反編譯技術(shù)能夠獲得較高的代碼覆蓋率,但是難以準(zhǔn)確獲取程序的實(shí)際執(zhí)行語義。

        根據(jù)特征來源的不同,現(xiàn)有的靜態(tài)二進(jìn)制代碼相似度檢測(cè)技術(shù)可以分為以下幾類:基于語法特征、基于結(jié)構(gòu)特征和基于語義特征的檢測(cè)技術(shù)。

        基于語法特征的檢測(cè)技術(shù)提取二進(jìn)制代碼中的助記符或操作碼、操作數(shù)、指令序列等作為相似性檢測(cè)的特征來源。此類方法依賴于對(duì)檢測(cè)目標(biāo)、檢測(cè)場(chǎng)景的精確設(shè)計(jì),易受編譯優(yōu)化、代碼混淆技術(shù)干擾。

        基于結(jié)構(gòu)特征的檢測(cè)技術(shù)通常提取二進(jìn)制代碼的數(shù)據(jù)流轉(zhuǎn)信息,如CFG、數(shù)據(jù)流圖等作為相似性檢測(cè)的特征來源。并且通常需要結(jié)合如匯編代碼對(duì)二進(jìn)制函數(shù)進(jìn)行綜合表示。然后利用圖匹配算法等度量?jī)啥味M(jìn)制代碼的相似度。

        基于語義特征的檢測(cè)技術(shù)獲取代碼的語義信息作為相似性檢測(cè)的特征來源。隨著深度學(xué)習(xí)技術(shù)的發(fā)展,研究人員利用深度神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)代碼的語義信息,已經(jīng)取得了較好的效果。

        1.2 循環(huán)神經(jīng)網(wǎng)絡(luò)

        循環(huán)神經(jīng)網(wǎng)絡(luò)被廣泛應(yīng)用于文本表示、神經(jīng)機(jī)器翻譯、時(shí)間序列預(yù)測(cè)與建模等任務(wù),適用于具有時(shí)間順序的任務(wù)。

        LSTM通過引入門機(jī)制用于控制信息傳輸,用于解決標(biāo)準(zhǔn)循環(huán)神經(jīng)網(wǎng)絡(luò)不能處理長(zhǎng)期依賴而出現(xiàn)的梯度消失或梯度爆炸問題。

        為了進(jìn)一步提升神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)能力,研究人員在LSTM的基礎(chǔ)上進(jìn)行創(chuàng)新,如GRU[19]、BiLSTM[20]、Tree-LSTM、GraphLSTM[21]等。

        GRU將LSTM中的輸入門和遺忘門合并為更新門,結(jié)合重置門用于控制序列信息的記憶或者遺忘。相較于LSTM,GRU具有更少的參數(shù)量,具備更快的收斂速度。BiLSTM是一種雙向的LSTM,相較于LSTM能夠更好地捕獲文本的雙向語義。

        1.3 注意力機(jī)制

        注意力機(jī)制最早出現(xiàn)在圖像領(lǐng)域,被廣泛應(yīng)用在基于循環(huán)神經(jīng)網(wǎng)絡(luò)/卷積神經(jīng)網(wǎng)絡(luò)的視覺圖像、自然語言處理任務(wù)中。

        注意力機(jī)制能夠增強(qiáng)模型對(duì)輸入序列中不同元素的關(guān)注程度。它允許模型在預(yù)測(cè)和生成任務(wù)時(shí),動(dòng)態(tài)地聚焦于任務(wù)中的輸入部分。

        2 模型框架與訓(xùn)練流程

        本節(jié)介紹本方法的框架和訓(xùn)練流程,并給出相應(yīng)的符號(hào)描述。

        2.1 模型概述

        圖2描述了模型的工作流,共包含特征提取、模型訓(xùn)練、相似性檢測(cè)3個(gè)階段:(1)使用IDA Pro對(duì)二進(jìn)制文件進(jìn)行反編譯并提取AST。由于AST中包含了節(jié)點(diǎn)的名稱、類別等特征,無法直接輸入網(wǎng)絡(luò)中,因此需要對(duì)AST進(jìn)行節(jié)點(diǎn)映射。(2)使用基于注意力機(jī)制的Child-Sum Tree-LSTM作為骨干網(wǎng)絡(luò)。AST中的節(jié)點(diǎn)通過Child-Sum Tree-LSTM后,以從葉子節(jié)點(diǎn)到根子節(jié)點(diǎn)的順序進(jìn)行遍歷,采用孿生網(wǎng)絡(luò)架構(gòu)對(duì)模型進(jìn)行訓(xùn)練,最終生成整個(gè)AST的語義向量。(3)利用語法樹相似度衡量二進(jìn)制函數(shù)的相似度。

        圖2 模型框架和訓(xùn)練流程

        圖3展示了對(duì)二進(jìn)制函數(shù)相似性檢測(cè)的流程,從二進(jìn)制代碼中提取的AST通過先序遍歷編碼生成初始向量輸入模型編碼后,得到AST嵌入,然后利用向量相似度度量語法樹相似度。

        圖3 相似性檢測(cè)實(shí)例(xorriso.elf的Xorriso_option_extract_cut函數(shù))

        語法樹相似度定義如下:給定兩個(gè)二進(jìn)制函數(shù)f1和f2及其對(duì)應(yīng)的AST表示T1和T2,使用Tree-LSTM對(duì)樹型特征進(jìn)行編碼得到對(duì)應(yīng)的向量N(T1)和N(T1)。最后使用兩個(gè)AST的相似度得分衡量?jī)啥味M(jìn)制代碼的相似性,AST相似度Sim(T1,T2)計(jì)算公式如式(1)所示:

        Sim(T1,T2)=

        softmax(σ(cat(|N(T1)-N(T2)|,N(T1)⊙N(T2))×W))

        (1)

        其中T=,V和E為AST的點(diǎn)與邊的合集。N(T)為使用模型對(duì)T編碼后的向量。

        2.2 特征提取階段

        特征提取階段使用二進(jìn)制分析工具IDA Pro7.0的Hex-rays插件對(duì)二進(jìn)制文件進(jìn)行反編譯提取AST。由于7.0版本的Hex-rays插件僅支持ARM和x86指令集的反編譯,在后續(xù)的實(shí)驗(yàn)中本文使用ARM、x86作為模型訓(xùn)練和測(cè)試的指令集架構(gòu)來源。

        從二進(jìn)制代碼中提取的AST節(jié)點(diǎn)是字符串形式的數(shù)據(jù),無法直接輸入到神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,通過將節(jié)點(diǎn)映射到固定的整型數(shù)值實(shí)現(xiàn)對(duì)節(jié)點(diǎn)名稱的編碼[18]。AST的節(jié)點(diǎn)被分為語句節(jié)點(diǎn)和表達(dá)式節(jié)點(diǎn)2類。語句節(jié)點(diǎn)包括控制函數(shù)執(zhí)行流的節(jié)點(diǎn),而表達(dá)式節(jié)點(diǎn)則包含各種用于計(jì)算的節(jié)點(diǎn),如表1所示。

        表1 AST中的標(biāo)簽映射關(guān)系

        2.3 模型訓(xùn)練階段

        模型訓(xùn)練階段用于實(shí)現(xiàn)對(duì)二進(jìn)制AST語義嵌入。LSTM能夠捕獲句子中的詞序,并且有效地解決了RNN梯度消失的問題。但是原生LSTM只能處理線性數(shù)據(jù),通過反編譯提取到的AST無法直接用于LSTM模型中。

        Child-Sum Tree-LSTM能夠利用AST所有子節(jié)點(diǎn)的語義向量進(jìn)行聚合和前向傳播,以生成父節(jié)點(diǎn)和整棵樹的語義向量。由于其適用于多孩子節(jié)點(diǎn)的情況,并且具有更高的計(jì)算效率,因此本文采用此網(wǎng)絡(luò)作為對(duì)比網(wǎng)絡(luò)。

        每個(gè)Child-Sum Tree-LSTM單元包含輸入輸出門ij和oj以及用于每個(gè)孩子k的遺忘門fjk。其內(nèi)部門狀態(tài)由所有子節(jié)點(diǎn)的隱藏狀態(tài)和更新,如式(2)所示:

        (2)

        其中,hk表示子節(jié)點(diǎn)k的隱藏狀態(tài),C(j)表示節(jié)點(diǎn)j的孩子節(jié)點(diǎn)。

        (3)

        (4)

        (5)

        其中xj表示節(jié)點(diǎn)嵌入,由節(jié)點(diǎn)Vj嵌入到高維向量生成,W(o)、W(c)、U(i)、U(o)、U(c)、b(i)、b(o)和b(c)為需要學(xué)習(xí)的參數(shù)矩陣。其中σ表示sigmoid函數(shù),能夠?qū)⑤斎氲南蛄哭D(zhuǎn)化為[0,1]區(qū)間內(nèi)的向量。

        Child-Sum Tree-LSTM含了k個(gè)遺忘門,用于合并來自每個(gè)子節(jié)點(diǎn)的單個(gè)信息。

        fjk=σ(W(f)xj+U(f)hk+b(f))

        (6)

        然后,多個(gè)遺忘門向量輸出與相應(yīng)的單元狀態(tài)相乘后組合得到單個(gè)遺忘門向量,模型的最終單元狀態(tài)cj如式(7)所示:

        (7)

        最后,Child-Sum Tree-LSTM的隱藏狀態(tài)hj更新方程如式(8)所示:

        hj=oj⊙tanh(cj)

        (8)

        每一個(gè)參數(shù)矩陣代表輸入xi和組件單元的第k個(gè)子節(jié)點(diǎn)的隱藏狀態(tài)hk之間的相關(guān)性。

        Child-Sum Tree-LSTM對(duì)AST進(jìn)行從葉子節(jié)點(diǎn)到根節(jié)點(diǎn)進(jìn)行遍歷時(shí),由不同組成部分或從屬部分的信息首先被組合起來表示上層的根節(jié)點(diǎn),然后這個(gè)根節(jié)點(diǎn)再作為子節(jié)點(diǎn)繼續(xù)遍歷的過程。在Child-Sum Tree-LSTM中,每個(gè)節(jié)點(diǎn)都會(huì)接收它的子節(jié)點(diǎn)的隱藏狀態(tài)和細(xì)胞狀態(tài),并將它們相加得到總的表示。

        注意力機(jī)制因?yàn)樵趫D像領(lǐng)域取得了很好的效果而備受關(guān)注,它允許模型在做下游任務(wù)時(shí),能夠?qū)渥又械臄?shù)據(jù)進(jìn)行重要性區(qū)分。受相關(guān)研究的啟發(fā),本文將注意力機(jī)制和Child-Sum Tree-LSTM進(jìn)行融合,用于學(xué)習(xí)AST的語義向量。融合注意力機(jī)制的Child-Sum Tree-LSTM的隱藏狀態(tài)更新方程如式(11)所示:

        Watt=softmax(attention(hj))

        (9)

        hatt=Watt⊙hj

        (10)

        hj=oj⊙(tanh(cj)+hatt)

        (11)

        其中,attention定義為一個(gè)線性層,維度為記憶單元向量的維度。注意力層引入的過程使得模型能夠根據(jù)注意力權(quán)重動(dòng)態(tài)地關(guān)注不同子節(jié)點(diǎn),并在計(jì)算當(dāng)前節(jié)點(diǎn)的隱藏狀態(tài)時(shí)加入子節(jié)點(diǎn)的注意力加權(quán)和。

        綜上,使用神經(jīng)網(wǎng)絡(luò)建模二進(jìn)制代碼AST對(duì)的相似性包括兩個(gè)步驟:通過一個(gè)語義編碼器將兩段二進(jìn)制代碼表示為語義向量,然后使用這兩個(gè)向量進(jìn)行分類過程。訓(xùn)練后的模型可以用于二進(jìn)制代碼相似度檢測(cè)。

        3 實(shí)驗(yàn)配置

        3.1 實(shí)驗(yàn)環(huán)境及超參數(shù)介紹

        本方法部署在一臺(tái)搭載Ubuntu 20.04 LTS操作系統(tǒng)的工作站中。處理器為一顆Inter Xeon(R)Gold 5218R CPU@2.10 GHz,內(nèi)存大小為128 GB,顯卡為一張NVIDIA Corporation 3090,顯存大小為24 GB。神經(jīng)網(wǎng)絡(luò)向量嵌入維度為32,記憶狀態(tài)維度為200,訓(xùn)練epoch為30,學(xué)習(xí)率為0.01。訓(xùn)練結(jié)果為3次實(shí)驗(yàn)平均值。

        3.2 實(shí)驗(yàn)數(shù)據(jù)集介紹

        為了評(píng)估本方法的有效性,使用開源數(shù)據(jù)集BINKIT[22]中的NOLINE和OBFUSCATION兩種類別的項(xiàng)目作為訓(xùn)練集和測(cè)試集。為了實(shí)現(xiàn)對(duì)跨指令集架構(gòu)以及跨混淆代碼的檢測(cè),選擇的所有項(xiàng)目都以Clang 7.0作為編譯器,編譯優(yōu)化為O0-O3,指令集架構(gòu)為ARM和x86,字長(zhǎng)為32,包含bcf、sub和fla三種代碼混淆方式,具體數(shù)據(jù)集介紹如表2所示。

        表2 訓(xùn)練和測(cè)試數(shù)據(jù)集介紹

        函數(shù)對(duì)池的構(gòu)造方式如下:以函數(shù)名作為函數(shù)語義標(biāo)簽,對(duì)無混淆數(shù)據(jù)和三種混淆數(shù)據(jù)使用隨機(jī)采樣生成訓(xùn)練數(shù)據(jù)對(duì)。其中,共生成7組函數(shù)池,每種函數(shù)池中包含4種優(yōu)化的數(shù)據(jù)。具體如表3所示。

        表3 訓(xùn)練和測(cè)試樣本對(duì)構(gòu)造

        訓(xùn)練集和測(cè)試集的構(gòu)造方式為:將函數(shù)對(duì)池打亂后隨機(jī)采樣函數(shù)對(duì),共生成54 000個(gè)函數(shù)對(duì)用于模型訓(xùn)練過程,6 000個(gè)函數(shù)對(duì)用于模型測(cè)試過程。其中正樣本對(duì)和負(fù)樣本對(duì)的比例為1∶1,無混淆數(shù)據(jù)對(duì)和混淆數(shù)據(jù)對(duì)的比例為2∶1,使用1和-1對(duì)相似對(duì)和不相似對(duì)進(jìn)行標(biāo)注。

        3.3 評(píng)價(jià)指標(biāo)介紹

        本文選用的評(píng)價(jià)指標(biāo)為Accuracy、AUC和MSE。

        AUC(Area Under the Curve):AUC是ROC曲線下面積,AUC越大,模型的辨別能力越好。ROC曲線通過繪制真陽性率與假陽性率之間的關(guān)系來表示模型在不同閾值下的表現(xiàn),能夠說明模型的診斷能力。AUC反映了模型能否正確判斷AST是否為相似對(duì)的概率。函數(shù)對(duì)的相似性被計(jì)算為r的分?jǐn)?shù),并且設(shè)置閾值為β,如果得分r大于或者等于β,則該函數(shù)對(duì)被認(rèn)為是正結(jié)果,否則判斷為負(fù)結(jié)果。

        (12)

        (13)

        其中,TP、FP、TN、FN分別表示:二進(jìn)制函數(shù)對(duì)為正,預(yù)測(cè)為正;二進(jìn)制函數(shù)對(duì)為負(fù),預(yù)測(cè)為正;二進(jìn)制函數(shù)對(duì)標(biāo)簽為正,預(yù)測(cè)為負(fù);二進(jìn)制函數(shù)對(duì)標(biāo)簽為負(fù),預(yù)測(cè)為負(fù)。

        Accuracy:準(zhǔn)確率,用于衡量模型分類的性能。計(jì)算模型在所有樣本中正確分類的比例,準(zhǔn)確率的值越高表示模型的分類準(zhǔn)確性越好。計(jì)算公式如式(14)所示:

        (14)

        MSE(Mean Squared Error):均方誤差,用于衡量模型的性能。MSE用于計(jì)算預(yù)測(cè)值與真實(shí)值之間的平均平方差,其對(duì)預(yù)測(cè)值之間的差異性較為敏感。MSE的值越小表示模型對(duì)于觀測(cè)值的擬合效果越好。

        3.4 實(shí)驗(yàn)結(jié)果

        實(shí)驗(yàn)結(jié)果如表4、圖4至圖6所示,訓(xùn)練過程中本文方法在測(cè)試集上的MSE曲線較低,證明本方法在相似對(duì)判別中具有更好的性能。同時(shí)本文方法在測(cè)試集中的AUC指標(biāo)為94.1%,比Child-Sum Tree-LSTM網(wǎng)絡(luò)93.6%的結(jié)果提高了0.5%,Accuracy指標(biāo)為66.2%,比Child-Sum Tree-LSTM網(wǎng)絡(luò)65.8%的結(jié)果提高了0.4%。

        表4 測(cè)試集結(jié)果比較

        圖4 訓(xùn)練過程測(cè)試集MSE對(duì)比

        圖5 訓(xùn)練過程測(cè)試集AUC對(duì)比

        圖6 訓(xùn)練過程測(cè)試集Accuracy對(duì)比

        3.5 超參數(shù)實(shí)驗(yàn)

        本節(jié)主要用于測(cè)試向量維度對(duì)于模型性能的影響,包括詞向量的嵌入維度和隱藏狀態(tài)維度。消融實(shí)驗(yàn)epoch為5。

        從表5可以看出,模型的效果受到輸入向量維度和隱藏狀態(tài)維度的影響。實(shí)驗(yàn)結(jié)果表明,當(dāng)隱藏狀態(tài)為200時(shí),模型的效果優(yōu)于100。持續(xù)增大隱藏狀態(tài)維度會(huì)較大地增加算力消耗,所以本文采用的隱藏狀態(tài)為200。當(dāng)輸入向量維度為16和32時(shí),模型的測(cè)試結(jié)果接近。綜上,本文選擇的輸入維度為32,隱藏狀態(tài)維度為200。

        表5 超參數(shù)驗(yàn)證

        4 結(jié)論

        本文提出了一種融合注意力機(jī)制和Child-Sum Tree-LSTM的二進(jìn)制代碼相似度檢測(cè)技術(shù),用于跨指令集架構(gòu)、跨代碼混淆技術(shù)的檢測(cè)場(chǎng)景。首先利用二進(jìn)制分析工具提取跨指令集架構(gòu)、跨代碼混淆的二進(jìn)制代碼AST作為特征;然后構(gòu)建訓(xùn)練AST數(shù)據(jù)對(duì)用于模型訓(xùn)練;最后利用融合注意力機(jī)制和Child-Sum Tree-LSTM的神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)AST的語義信息。實(shí)驗(yàn)表明,注意力機(jī)制增強(qiáng)了Child-Sum Tree-LSTM對(duì)二進(jìn)制AST的語義學(xué)習(xí)能力。

        猜你喜歡
        語義檢測(cè)模型
        一半模型
        “不等式”檢測(cè)題
        “一元一次不等式”檢測(cè)題
        “一元一次不等式組”檢測(cè)題
        重要模型『一線三等角』
        重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
        語言與語義
        3D打印中的模型分割與打包
        “上”與“下”語義的不對(duì)稱性及其認(rèn)知闡釋
        小波變換在PCB缺陷檢測(cè)中的應(yīng)用
        先锋影音av资源我色资源| 国产精品国产高清国产专区 | 中文字幕+乱码+中文字幕无忧| 亚洲国产成人Av毛片大全| 久久午夜一区二区三区| 中文字幕无码成人片| 骚小妹影院| 国产av综合一区二区三区最新| 亚洲伊人伊成久久人综合| 亚洲成av人片在www鸭子| 亚洲欧美激情精品一区二区| 午夜a福利| 国产精品一区二区三区三| 曰韩内射六十七十老熟女影视| 黄色a级国产免费大片| 91亚洲国产三上悠亚在线播放| 91精品蜜桃熟女一区二区| 亚洲av成人片色在线观看| 国产成人无码一区二区在线观看| 国产伦精品一区二区三区四区| 日本高清一区二区三区不卡| 亚洲综合网国产精品一区| 国内a∨免费播放| 国产成人一区二区三区高清| 久久久亚洲av成人乱码| 中文无码一区二区三区在线观看| 久久精品国产日本波多麻结衣| 免费观看成人稀缺视频在线播放| 日本高清一区在线你懂得| 女人被躁到高潮嗷嗷叫免| 久久精品欧美日韩精品| 欧美人与动zozo| 9l国产自产一区二区三区| 十四以下岁毛片带血a级| 波多野结衣免费一区视频| 亚洲黄片高清在线观看| 在线观看国产成人av天堂野外| 天天躁日日躁狠狠很躁| 欧美色图50p| av在线不卡一区二区| 亚洲成av人影院|