• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    VDNS: 一種跨平臺的固件漏洞關(guān)聯(lián)算法

    2016-11-14 02:12:52劉中金王猛濤石志強孫利民
    計算機研究與發(fā)展 2016年10期
    關(guān)鍵詞:固件二進制調(diào)用

    常 青 劉中金 王猛濤 陳 昱 石志強 孫利民

    1(物聯(lián)網(wǎng)信息安全技術(shù)北京市重點實驗室(中國科學(xué)院信息工程研究所) 北京 100093)2(中國科學(xué)院信息工程研究所 北京 100093)3(中國科學(xué)院大學(xué) 北京 100049)4(國家計算機網(wǎng)絡(luò)應(yīng)急技術(shù)處理協(xié)調(diào)中心 北京 100029) (changqing@iie.ac.cn)

    ?

    VDNS: 一種跨平臺的固件漏洞關(guān)聯(lián)算法

    常 青1,2,3劉中金4王猛濤1,2,3陳 昱1,2,3石志強1,2,3孫利民1,2,3

    1(物聯(lián)網(wǎng)信息安全技術(shù)北京市重點實驗室(中國科學(xué)院信息工程研究所) 北京 100093)2(中國科學(xué)院信息工程研究所 北京 100093)3(中國科學(xué)院大學(xué) 北京 100049)4(國家計算機網(wǎng)絡(luò)應(yīng)急技術(shù)處理協(xié)調(diào)中心 北京 100029) (changqing@iie.ac.cn)

    當前,越來越多的物聯(lián)網(wǎng)廠商將第三方代碼庫編譯并部署在不同平臺上.現(xiàn)有研究主要集中在同平臺固件漏洞關(guān)聯(lián)場景,不能直接用于檢測其他平臺上的同源漏洞,而跨平臺場景的研究則剛剛起步.針對現(xiàn)有跨平臺方法準確率低的問題,提出基于神經(jīng)網(wǎng)絡(luò)和局部調(diào)用結(jié)構(gòu)匹配的2階段跨平臺固件漏洞關(guān)聯(lián)方法(vulnerability detection based on neural networks and structure matching, VDNS).以函數(shù)為最小關(guān)聯(lián)單元,對函數(shù)間調(diào)用圖、函數(shù)內(nèi)控制流圖、函數(shù)基本信息進行特征選擇和數(shù)值化處理,并采用神經(jīng)網(wǎng)絡(luò)計算待匹配函數(shù)對的相似程度,在此基礎(chǔ)上采用結(jié)構(gòu)化匹配方法進一步提高匹配精度.實驗結(jié)果表明:該方法在二進制文件OpenSSL上性能指標Top1從32.1%提高至76.49%;采用5個漏洞函數(shù)對OpenSSL進行關(guān)聯(lián)的Rank值均為1;采用4個常見的路由器漏洞函數(shù)在372個D-Link路由器固件上進行關(guān)聯(lián)獲得了良好的實驗效果.

    跨平臺;漏洞關(guān)聯(lián);特征選擇;神經(jīng)網(wǎng)絡(luò);二分圖匹配

    固件(firmware)是嵌入在硬件設(shè)備中的軟件,表現(xiàn)為存儲于非易失存儲器中的二進制程序,為上層軟件有效使用硬件設(shè)備提供調(diào)用接口,是電子系統(tǒng)的重要組成部分,計算機系統(tǒng)中的BIOS和擴展ROM中的程序,以及常見的網(wǎng)絡(luò)設(shè)備如路由器、交換機、網(wǎng)絡(luò)攝像頭的可執(zhí)行程序都是典型的固件.固件方便了用戶的使用,同時也為信息系統(tǒng)的安全留下隱患.開放式Web應(yīng)用程序安全項目(open Web application security project, OWASP)的調(diào)查結(jié)果顯示,2014年排名前10位的針對物聯(lián)網(wǎng)設(shè)備系統(tǒng)的漏洞威脅和攻擊中,對軟件和嵌入式設(shè)備固件的攻擊排名第9位[1].ZoomEye的統(tǒng)計報告指出,2013年10月發(fā)生的D-Link路由器后門事件中,受影響的路由器型號多達10多個,可在公網(wǎng)搜索訪問到的6萬多臺路由器中受影響的多達23%[2].愈來愈多因惡意固件導(dǎo)致的安全事件的發(fā)生,讓人們認識到固件安全防護的重要性.

    固件漏洞關(guān)聯(lián)是指利用已知固件中存在的漏洞檢測出其他固件中存在的同源漏洞.由于固件源代碼難以獲取,一般采用二進制程序相似性檢測等技術(shù),從待檢測固件的二進制文件中搜索并定位包含已知漏洞的代碼片段.早期的應(yīng)用場景中,包含漏洞函數(shù)的二進制文件和待檢測的二進制文件是針對同平臺進行編譯的,具有相同的指令集.按分析對象的不同,漏洞關(guān)聯(lián)方法包括比特流比對[3-4]、指令序列比對[5-12]和動態(tài)插裝[13]等.比特流比對技術(shù)研究01序列的相似性,采用滑動窗口獲得的01序列作為特征計算相似度;指令序列比對技術(shù)研究匯編語句的相似程度;動態(tài)插裝技術(shù)則模擬程序的動態(tài)執(zhí)行過程,比較同環(huán)境下程序執(zhí)行帶來的“副作用”的相似程度.

    當前,越來越多的物聯(lián)網(wǎng)廠商將第三方代碼庫編譯并部署在不同的CPU平臺上,如何利用1個平臺(如x86)上的漏洞函數(shù)去關(guān)聯(lián)其他平臺(如ARM,MIPS等)上的同源漏洞變得越來越重要.然而,現(xiàn)有的同平臺漏洞關(guān)聯(lián)方法并不能直接應(yīng)用到跨平臺場景中來:比特流比對技術(shù)分析的對象是比特流,它與平臺采用的編碼方式相關(guān);指令序列比對技術(shù)分析的對象是指令序列,它與平臺采用的指令集相關(guān);動態(tài)插裝技術(shù)分析的是動態(tài)分析過程的中間結(jié)果,受限于分析工具的平臺兼容性,例如動態(tài)插裝工具PIN僅支持x86平臺.2015年P(guān)ewny等人首次提出基于語義的跨平臺漏洞關(guān)聯(lián)方法[14],采用了提升中間語言表示、轉(zhuǎn)語義表達式、數(shù)值采樣和最小Hash加速等技術(shù),將二進制代碼相似性檢測問題轉(zhuǎn)化為基本塊的語義信息比較問題,使用該方法對心臟流血漏洞函數(shù)進行關(guān)聯(lián)獲得了不錯的效果.由于采用了基于可信基點的基本塊擴張算法,對平臺不同導(dǎo)致的函數(shù)內(nèi)部控制流圖細節(jié)異構(gòu)敏感,即在圖匹配的過程中不能跳過不匹配的代碼塊,重新找到比較的開始點,導(dǎo)致后面的匹配全不正確,在對二進制文件OpenSSL進行關(guān)聯(lián)時其性能指標Top1僅達到32.1%.

    針對當前方法準確率不高的問題,本文提出一種基于神經(jīng)網(wǎng)絡(luò)和局部調(diào)用結(jié)構(gòu)匹配的2階段跨平臺固件漏洞關(guān)聯(lián)方法(vulnerability detection based on neural networks and structure matching, VDNS),該方法不依賴特定的指令集,可以跨平臺進行固件漏洞關(guān)聯(lián).實驗證明:該方法具有良好的關(guān)聯(lián)效果.

    1 跨平臺的固件漏洞關(guān)聯(lián)框架

    本文提出的固件漏洞關(guān)聯(lián)框架包括2個階段:1)基于神經(jīng)網(wǎng)絡(luò)的函數(shù)數(shù)值相似度的計算階段;2)基于局部調(diào)用結(jié)構(gòu)匹配的函數(shù)整體相似度計算階段.

    1個固件下載解壓過濾后包含多個二進制文件,對固件進行漏洞關(guān)聯(lián)等同于對固件包含的二進制文件進行漏洞關(guān)聯(lián).二進制文件在逆向分析后被劃分為多個函數(shù).框架輸入為2個二進制文件F和G,假設(shè)F包含已知的漏洞函數(shù)f,需要對G中的所有函數(shù)進行漏洞關(guān)聯(lián),即目的是獲得漏洞函數(shù)f與G中所有待檢測函數(shù)g的相似程度,記f,g為待匹配函數(shù),(f,g)為待匹配函數(shù)對.圖1是VDNS整體框架.

    Fig. 1 The framework of VDNS.圖1 VDNS整體框架

    在函數(shù)數(shù)值相似度計算階段,對二進制文件中每個函數(shù)的函數(shù)間調(diào)用關(guān)系、函數(shù)內(nèi)控制流圖、函數(shù)基本信息進行數(shù)值化處理和特征提取,其中特征的表現(xiàn)形式有數(shù)量型、集合型和序列型.針對不同的表現(xiàn)形式,分別采用歐氏距離、Jaccard系數(shù)和最長公共子序列占比這3種度量方法計算待匹配函數(shù)對(f,g)各維特征的相似程度得到相似度向量.基于相似度向量采用ReliefF算法進行特征選擇.篩選后的相似度向量作為神經(jīng)網(wǎng)絡(luò)的輸入,將神經(jīng)網(wǎng)絡(luò)的輸出作為待匹配函數(shù)對(f,g)的數(shù)值相似度.在進行第2階段之前,可以根據(jù)數(shù)值相似度結(jié)果對規(guī)模較大的待檢測函數(shù)集進行初步篩選后再進行較為精確的結(jié)構(gòu)化匹配.

    在函數(shù)整體相似度計算階段,分別在二進制文件F和G生成的函數(shù)調(diào)用圖中截取以待匹配函數(shù)f和g為中心的局部調(diào)用結(jié)構(gòu),轉(zhuǎn)化為分層賦權(quán)二分圖,將其最大權(quán)匹配作為最終的整體相似度得分.

    在進行關(guān)聯(lián)結(jié)果分析時,可以根據(jù)數(shù)值相似度得分進行關(guān)聯(lián)分析,也可以根據(jù)整體相似度得分進行關(guān)聯(lián)分析.數(shù)值相似度計算是整體相似度計算過程的中間步驟,由于計算數(shù)值相似度不需要進行后期的子圖匹配,因此速度較整體相似度快.但整體相似度考慮了函數(shù)調(diào)用圖的結(jié)構(gòu)信息,準確率高.在實際應(yīng)用中,可以根據(jù)具體情況進行選擇.

    由于該方法在第1階段較為全面地提取了函數(shù)在函數(shù)調(diào)用圖、函數(shù)基本屬性和函數(shù)控制流圖3方面信息,并進行了特征選擇,使得提取的特征具有一定的區(qū)分能力,同時,這些特征不依賴指令集,具有一定的跨平臺能力,可以對2個不同指令集的二進制代碼進行相似性度量.而在第2階段采用的局部調(diào)用結(jié)構(gòu)匹配算法結(jié)合了函數(shù)調(diào)用圖層面的局部結(jié)構(gòu)信息,考慮了與待匹配函數(shù)對存在調(diào)用關(guān)系的其他函數(shù)對的相似程度對待匹配函數(shù)對的影響,提高了關(guān)聯(lián)準確率.在第1階段計算出數(shù)值相似度的基礎(chǔ)上,可以對規(guī)模較大的待檢測函數(shù)集進行初步篩選,再進行較為精確的局部調(diào)用結(jié)構(gòu)匹配,提高整體性能.

    2 基于神經(jīng)網(wǎng)絡(luò)的函數(shù)數(shù)值相似度計算

    2.1 提取函數(shù)數(shù)值特征

    函數(shù)數(shù)值特征是指函數(shù)中可以進行數(shù)值化處理的特征,如指令個數(shù)、基本塊數(shù)、棧大小等.函數(shù)數(shù)值特征提取的難點和思路如下:

    1) 提取的特征應(yīng)忽略平臺不同帶來的差異.既使是同一份源碼針對不同平臺編譯得到的二進制文件反匯編后呈現(xiàn)的匯編程序,其指令集、寄存器、尋址方式和函數(shù)內(nèi)控制流圖也存在很大差異.這就要求提取的特征能忽略平臺不同帶來的差異.而比特流、指令集或寄存器名稱等嚴重依賴平臺,因此選擇的特征不能基于這些對象.二進制文件進行反匯編和信息提取后,大部分信息表達為1個函數(shù)調(diào)用圖、一系列匯編形式的函數(shù)和一系列函數(shù)控制流圖.經(jīng)實驗觀察發(fā)現(xiàn),同一份源碼針對不同平臺編譯,函數(shù)間調(diào)用關(guān)系基本保持一致;函數(shù)的某些基本屬性,例如調(diào)用的字符串,也具有跨平臺特性;至于函數(shù)控制流圖,平臺不同可能導(dǎo)致圖的細節(jié)發(fā)生變化,但某些描述性特征,例如規(guī)模大小等不會發(fā)生巨大變化.因此,本文主要從函數(shù)調(diào)用關(guān)系、函數(shù)基本信息和函數(shù)控制流圖信息3個方面入手,提取平臺依賴較弱的特征.

    2) 對匯編程序、圖的數(shù)值化處理.由于分析的對象是匯編程序和圖,無法直接輸入神經(jīng)網(wǎng)絡(luò),這就有必要對匯編程序和圖進行數(shù)值化處理.匯編程序和圖提供的數(shù)值特征眾多,各特征的跨平臺性及區(qū)分度也不盡相同.對匯編程序,可以對棧、字符串、特殊指令所占比例等方面提取;對于圖,可以從點邊信息、度信息和路徑信息進行分析.

    具體的提取過程如下:

    1) 函數(shù)調(diào)用圖

    函數(shù)調(diào)用圖是1個有向圖,節(jié)點表示函數(shù),有向邊表示函數(shù)間調(diào)用關(guān)系.對函數(shù)調(diào)用圖進行分析,提取該函數(shù)被其他函數(shù)調(diào)用的次數(shù)callt和該函數(shù)調(diào)用其他函數(shù)的次數(shù)callf,以及去重后次數(shù)callt2和callf2,構(gòu)成調(diào)用關(guān)系特征.

    2) 函數(shù)基本屬性

    分析函數(shù)基本信息,計算??臻gstack、代碼量code、調(diào)用字符串個數(shù)str和調(diào)用的字符串集合strSet.對函數(shù)進行指令分析,統(tǒng)計指令個數(shù)inst、跳轉(zhuǎn)指令個數(shù)jump、跳轉(zhuǎn)指令占比jumpp,結(jié)合式(1)計算指令熵instEpt和跳轉(zhuǎn)指令熵jumpEpt,Pk表示(跳轉(zhuǎn))指令k的占比,以上特征構(gòu)成函數(shù)基本特征.

    (1)

    3) 函數(shù)控制流圖

    1個函數(shù)對應(yīng)1個函數(shù)控制流圖(control flow graph, CFG),圖中每個節(jié)點對應(yīng)函數(shù)中的1個基本塊,節(jié)點間的有向邊對應(yīng)基本塊間的跳轉(zhuǎn)關(guān)系.從點邊、度和路徑3個方面對函數(shù)控制流圖進行分析.

    對函數(shù)控制流圖進行點邊分析.計算節(jié)點數(shù)node和邊數(shù)edge;按式(2)計算圖密度density,以上構(gòu)成CFG圖點邊屬性特征.

    (2)

    對函數(shù)控制流圖進行路徑分析,采用Floyd或Dijkstra算法計算入口基本塊到任意基本塊的最小距離,構(gòu)造升序距離序列pathList,計算圖的平均路徑長度avePath、圖直徑(即最長路徑)diameter,按式(3)計算圖鏈路效率effect,以上構(gòu)成CFG圖路徑特征.

    (3)

    對函數(shù)控制流圖進行度分析,統(tǒng)計每個節(jié)點的出度、入度,將CFG圖轉(zhuǎn)化為無向圖,計算無向CFG圖的每個節(jié)點的度,構(gòu)成入度升序序列iList、出度升序序列oList、無向度升序序列uList.由3種度序列,分別計算3種最大度imax,omax,umax和3種平均度ieva,oeva,ueva;由式(1)計算無向圖度的熵uEpt.按式(4)(5)計算圖的聚類系數(shù)cluster[15],其中,c表示節(jié)點k的所有鄰居節(jié)點構(gòu)成的無向CFG圖的子圖邊數(shù),dk表示節(jié)點k的度,以上構(gòu)成CFG圖度特征.

    (4)

    (5)

    以上共計31維特征作為1個函數(shù)的數(shù)值特征.

    2.2 計算待匹配函數(shù)對的相似度向量

    由于本文待解決的是每個待比較的函數(shù)對(f,g)的相似性度量問題,不是分類問題,因此神經(jīng)網(wǎng)絡(luò)的輸入不是1個函數(shù)的31維特征,而是待比較函數(shù)對(f,g)的每維特征的相似度構(gòu)成的相似度向量.以上提取的31維特征有3種表現(xiàn)形式:數(shù)量型、序列型和集合型,本文采用不同的相似度度量方法:

    1) 針對序列型特征:pathList,iList,oList,uList.采用式(6)計算待比較函數(shù)f和g的序列型特征L1和L2的最長公共子序列(LCS)占比作為相似度[16]:

    (6)

    其中,c0為0,1之間的1個常量.

    2) 針對集合型特征:strSet.計算待比較函數(shù)f和g的strSet特征sf和sg的Jaccard系數(shù)[17]作為相似度:

    (7)

    其中,c1為0,1之間的1個常量.

    3) 針對26維特征數(shù)量型特征.采用式(8)對待比較函數(shù)f和g的數(shù)量型特征Ff和Fg進行相似度計算:

    (8)

    其中,c2為0,1之間的1個常量.

    這樣便得到了31維特征的相似程度,取值范圍是[0,1],構(gòu)成了每個待比較的函數(shù)對(f,g)的相似度特征向量.待比較的函數(shù)對(f,g)相似程度越高,按以上方法計算得到的特征相似度越高.

    2.3 特征選擇

    特征選擇是從原始特征中選擇出一些最有效的特征以降低數(shù)據(jù)集維度的過程,是提高學(xué)習(xí)算法性能的重要手段.以上31維特征是根據(jù)經(jīng)驗進行選取的,在對未知樣本進行預(yù)測之前,應(yīng)決定哪些特征應(yīng)該采用、哪些特征應(yīng)該忽略.本文采用ReliefF算法[18-19]進行特征選擇,同時采用直觀的統(tǒng)計方法輔證特征選擇的合理性.由于神經(jīng)網(wǎng)絡(luò)輸入是相似度向量,因此以相似度向量為分析對象進行特征選擇.

    ReliefF算法是一種特征選擇算法,基于特征對近距離樣本的區(qū)分能力賦予特征不同的權(quán)重.權(quán)重越大,表示該特征的分類能力越強,權(quán)重小于某個閾值的特征應(yīng)被移除.本文采用ReliefF算法計算各個特征相似度的重要程度,實驗數(shù)據(jù)集采用ARM×MIPS的OpenSSL.31個特征的類型和采用ReliefF算法計算31個特征的權(quán)重結(jié)果如表1和圖2所示.如圖2所示,“·”表示每次迭代對應(yīng)編號的特征權(quán)重,“*”表示20次迭代的平均權(quán)重.權(quán)重低于0.015的特征,包括指令熵instEpt、跳轉(zhuǎn)指令熵jumpEpt、度熵uEpt、平均入度ieva、平均出度oeva、最大出度omax、聚類系數(shù)cluster、鏈路效率effect,這8個特征對近距離樣本的區(qū)分能力不高,將其移除.其中指令熵和跳轉(zhuǎn)指令熵代表了函數(shù)的指令分布情況,這2個特征顯著性不高說明不同函數(shù)的指令分布差異性不大.而聚類系數(shù)則代表了函數(shù)控制流圖中三角結(jié)構(gòu)的密度,這與函數(shù)循環(huán)結(jié)構(gòu)密度和形狀有關(guān),該特征顯著性不高說明不同函數(shù)的分支結(jié)構(gòu)差異性不大.

    Table 1 The Table of Weight of Features Based on ReliefF

    Fig. 3 Separating capacity of code and omax.圖3 代碼量code和最大出度omax的區(qū)分能力示意圖

    采用直觀的統(tǒng)計結(jié)果輔證特征選擇的合理性.相似度向量的每個元素取值區(qū)間是[0,1],值越大,代表2個待比較函數(shù)在該特征上相似程度越高.如果大量正樣本特征取值很高,則認為這一特征是好的特征.本文將0~1區(qū)間均分為10個小區(qū)間,統(tǒng)計每個小區(qū)間正樣本的比例.落入各取值區(qū)間的正樣本比例應(yīng)隨著取值區(qū)間的變大而越大.以代碼量特征code和最大出度特征omax為例,考察特征在不同取值區(qū)間包含的正樣本比例.如圖3所示,菱形折線表示代碼量code的區(qū)分能力.隨著代碼量相似度取值區(qū)間的增大,落入對應(yīng)區(qū)間的正樣本比例呈遞增趨勢,說明該特征有較好的區(qū)分能力;倒三角折線表示最大出度omax的區(qū)分能力,其正樣本比例與特征相似度的取值區(qū)間的遞增沒有正相關(guān)性,因此不具有良好的區(qū)分能力,這與ReliefF算法的結(jié)果相對應(yīng).

    2.4 神經(jīng)網(wǎng)絡(luò)預(yù)測

    Fig. 5 The local calling structure matching.圖5 局部調(diào)用結(jié)構(gòu)匹配示意圖

    神經(jīng)網(wǎng)絡(luò)采用反向傳播(back propagation, BP)神經(jīng)網(wǎng)絡(luò)[20],可以實現(xiàn)輸入和輸出間的任意非線性映射,網(wǎng)絡(luò)由輸入層、隱層和輸出層的節(jié)點構(gòu)成,如圖4所示.將篩選得到的23維特征的相似度向量作為神經(jīng)網(wǎng)絡(luò)的輸入,每維特征相似度都從不同方面反映了函數(shù)之間的相似性.通過神經(jīng)網(wǎng)絡(luò)整合這些相似度獲得1個值,作為待比較函數(shù)對(f,g)的數(shù)值相似度.

    Fig. 4 The structure of BP neural network.圖4 BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)

    3 基于局部調(diào)用結(jié)構(gòu)匹配的整體相似度計算

    經(jīng)實驗觀察發(fā)現(xiàn),相比函數(shù)內(nèi)部控制流圖,函數(shù)調(diào)用圖對平臺和優(yōu)化選項更具魯棒性.文獻[14]在函數(shù)控制流圖層面上采用了基于可信基點的基本塊擴張算法,對函數(shù)控制流圖異構(gòu)現(xiàn)象敏感,關(guān)聯(lián)效果并不理想.這是由于在圖匹配的過程中,算法不能跳過一小段不匹配的代碼塊,重新找到比較的開始點.這就意味著,一旦有局部異構(gòu),其后面的匹配結(jié)果全不正確.因此,本文在對平臺和優(yōu)化選項魯棒性較好的函數(shù)調(diào)用圖層級上進行結(jié)構(gòu)匹配.

    局部調(diào)用結(jié)構(gòu)是指在函數(shù)調(diào)用圖中以待匹配函數(shù)為中心,與其有調(diào)用關(guān)系的函數(shù)構(gòu)成的子圖,按調(diào)用關(guān)系的跳數(shù)可分為1級調(diào)用(直接調(diào)用)、2級調(diào)用等.基于局部調(diào)用結(jié)構(gòu)匹配計算整體相似度是指以函數(shù)數(shù)值相似度為基礎(chǔ),計算待比較函數(shù)對的局部調(diào)用子圖的相似程度.本文假設(shè)距離待匹配函數(shù)越近的函數(shù)對匹配的貢獻越大,采用分層構(gòu)造賦權(quán)二分圖求最大權(quán)匹配的方法,具體流程如下:

    1) 從函數(shù)調(diào)用圖中截取待比較函數(shù)的局部結(jié)構(gòu)信息構(gòu)成2個結(jié)構(gòu)子圖.

    2) 將截取的結(jié)構(gòu)子圖按離待比較函數(shù)的跳數(shù)分為+1層、+2層等和-1層、-2層等,并按距離跳數(shù)賦權(quán)重ω+1,ω+2等和ω-1,ω-2等.其中待匹配節(jié)點對為0層,權(quán)重為ω0.

    3) 逆調(diào)用方向,從距離待匹配節(jié)點對最近+1層開始,將2個節(jié)點集抽象為賦權(quán)完全二分圖,其中邊權(quán)為數(shù)值相似度.采用Kuhn-Munkres算法[21]計算該賦權(quán)完全二分圖的最大權(quán)匹配作為該圖的相似度,并基于節(jié)點匹配結(jié)果對+2層的節(jié)點集構(gòu)造賦權(quán)二分圖,計算最大權(quán)匹配,直至到達距離中心節(jié)點最遠的一層為止.

    4) 順調(diào)用方向,具體步驟同3).

    5) 計算所有匹配節(jié)點的相似度加權(quán)均值作為待比較函數(shù)的整體相似度.

    如圖5所示,計算函數(shù)a0和b0的整體相似度.從+1層開始,將由函數(shù)a11,a12,a13構(gòu)成的節(jié)點集和由函數(shù)b11,b12,b13,b14構(gòu)成的節(jié)點集轉(zhuǎn)化為賦權(quán)二分圖,計算最大權(quán)匹配.假設(shè)函數(shù)a11與函數(shù)b11匹配,那么下一步將計算調(diào)用函數(shù)a11的函數(shù)a21,a22構(gòu)成的節(jié)點集和調(diào)用函數(shù)b11的函數(shù)b21構(gòu)成的節(jié)點集的最大權(quán)匹配.

    理論上局部調(diào)用結(jié)構(gòu)的階數(shù)越多,附加信息越多,匹配結(jié)果應(yīng)越精確.但事實上,隨著階數(shù)的增加,前一層二分圖匹配的誤差會傳遞到后一層,這將導(dǎo)致關(guān)聯(lián)結(jié)果變差,并且階數(shù)的增加意味著時間成本的增加.分析局部調(diào)用結(jié)構(gòu)的階數(shù)對算法時間復(fù)雜度的影響,計算第n-1層節(jié)點向第n層擴張的時間復(fù)雜度.設(shè)每層節(jié)點向外平均擴張m個節(jié)點,第n層共有mn個節(jié)點,需要進行mn-1次二分圖匹配,每次匹配的時間復(fù)雜度是O(m3),總共的時間復(fù)雜度是O(mn+2),隨階數(shù)指數(shù)級增長.因此,在進行局部調(diào)用結(jié)構(gòu)匹配時應(yīng)同時考慮關(guān)聯(lián)精度和時間成本.實驗表明,2階能夠取得良好的關(guān)聯(lián)效果.

    4 實驗與結(jié)果分析

    實驗主要驗證VDNS的漏洞關(guān)聯(lián)性能,所涉及的平臺包括x86,ARM和MIPS.

    4.1 實驗設(shè)置

    1) 實驗設(shè)備和實現(xiàn)

    實驗所用臺式機配置是Intel?CoreTMi7-4790 CPU @3.60 GHz 3.5 GHz,8 GB內(nèi)存.在64位Window平臺上采用python語言實現(xiàn)了VDNS.利用反匯編軟件IDA Pro 6.6對二進制文件進行逆向分析,編寫IDA插件進行特征提?。簧窠?jīng)網(wǎng)絡(luò)采用Matlab R2014b提供的神經(jīng)網(wǎng)絡(luò)工具箱完成.

    2) 關(guān)聯(lián)模式的定義

    引入1個概念:關(guān)聯(lián)模式,它描述了待匹配函數(shù)f和g所在的二進制文件F和G的平臺和優(yōu)化選項等信息.例如,采用針對x86平臺編譯的二進制文件F與針對MIPS平臺編譯的二進制文件G相關(guān)聯(lián)構(gòu)成的訓(xùn)練集訓(xùn)練神經(jīng)網(wǎng)絡(luò),記“x86×MIPS”為訓(xùn)練集的關(guān)聯(lián)模式.如果應(yīng)用場景是將x86平臺的二進制文件F中函數(shù)f作為漏洞函數(shù),對MIPS平臺的二進制文件G的函數(shù)g作漏洞關(guān)聯(lián),記“x86×MIPS”為測試集的關(guān)聯(lián)模式.本文的實驗數(shù)據(jù)建立在已知測試集的關(guān)聯(lián)模式的假設(shè)之上,采用同關(guān)聯(lián)模式的神經(jīng)網(wǎng)絡(luò)進行計算.本文將在4.6節(jié)驗證即使訓(xùn)練集和測試集的關(guān)聯(lián)模式不同,其關(guān)聯(lián)結(jié)果仍可滿足實際需求.

    3) 訓(xùn)練集的構(gòu)造

    本文實驗所用的訓(xùn)練集采用BusyBox v1.21.1.以x86×MIPS關(guān)聯(lián)模式的訓(xùn)練集為例,給出具體的構(gòu)造過程.將BusyBox v1.21.1源碼針對x86平臺和MIPS平臺進行編譯得到二進制文件F和G.對于F中每一函數(shù)f,其在G中同名函數(shù)f′即為f真正匹配的函數(shù).取(f,f′)的特征相似度向量為正樣本,標簽為1;在G中隨機取10個函數(shù)gi≠f′,i=1,2,…,10,這10個函數(shù)對(f,g)的特征相似度向量作為負樣本,標簽為0.正負樣本比例為1∶10.

    4) 神經(jīng)網(wǎng)絡(luò)的參數(shù)設(shè)置

    神經(jīng)網(wǎng)絡(luò)的輸入層和輸出層分別含有23個節(jié)點和1個節(jié)點.隱含層50個節(jié)點為經(jīng)驗值,與實驗的樣本有關(guān),可根據(jù)具體情況調(diào)節(jié)隱含層的節(jié)點數(shù).

    5) 動態(tài)鏈接的函數(shù)處理

    函數(shù)調(diào)用圖中某些節(jié)點是動態(tài)鏈接的函數(shù),二進制文件中不包含其函數(shù)體,不能直接對其特征提取.本文實驗中設(shè)定涉及動態(tài)鏈接函數(shù)的函數(shù)對的相似度為1個常量.

    4.2 評價指標

    為了和文獻[14]的結(jié)果對比,我們采用文獻[14]所用的評價指標:Rank和Top,定義如下:

    設(shè)漏洞函數(shù)集合為F,待檢測函數(shù)集合為G,對F中的某個漏洞函數(shù)f,計算f與G中所有函數(shù)的相似度.記與漏洞函數(shù)f真正匹配的G中函數(shù)f′的相似度排名為漏洞函數(shù)f的Rank值,Rank值越小表示關(guān)聯(lián)效果越好,Rank值為1表示關(guān)聯(lián)效果最好.

    統(tǒng)計F中所有漏洞函數(shù)的Rank值,如果F中有y%的漏洞函數(shù)的Rank值不大于x,記F的Topx值為y%.y%取值范圍為0~1,y%越大表示關(guān)聯(lián)效果越好.通常用Top1,Top10和Top100描述漏洞函數(shù)集合F的整體關(guān)聯(lián)情況.

    4.3 時間復(fù)雜度分析

    由于本文在計算數(shù)值和整體相似度時是將函數(shù)兩兩進行比較,時間復(fù)雜度是O(nm),其中n是漏洞函數(shù)的個數(shù),m是待檢測的固件函數(shù)的個數(shù),這與文獻[14]相同.由于實際應(yīng)用中漏洞函數(shù)個數(shù)較少,所以本文方法可以應(yīng)用于大規(guī)模固件函數(shù)漏洞檢測.

    4.4 跨平臺漏洞關(guān)聯(lián)實驗

    實驗主要驗證該方法能夠在跨平臺場景下有效地漏洞關(guān)聯(lián),分為2個部分:二進制文件OpenSSL的函數(shù)關(guān)聯(lián)實驗和真實漏洞函數(shù)的關(guān)聯(lián)實驗.

    1) 二進制文件OpenSSL的函數(shù)關(guān)聯(lián)實驗

    實驗思路是采用同一份源碼針對不同平臺進行編譯得到2個二進制文件F和G,則與F中函數(shù)f真正匹配的函數(shù)是G中f的同名函數(shù)f′.匹配F的所有函數(shù)與G的所有函數(shù),計算F的Top1,Top10和Top100描述整體關(guān)聯(lián)情況.為了與文獻[14]進行結(jié)果對比,測試采用的二進制文件為OpenSSL,版本是v1.0.1f.

    圖6展示了關(guān)聯(lián)模式為ARM×MIPS的Rank值的累計分布函數(shù)圖,橫軸表示x,縱軸表示Topx的值.文獻[14]中的實驗結(jié)果是Top1=32.1%,Top10=56.1%,Top100=80.0%.從圖6中可見,在相同配置下,該方法計算得到的數(shù)值相似度是Top1=39.26%,Top10=69.11%,Top100=83.70%;該方法計算得到的整體相似度是Top1=76.49%,Top10=85.07%,Top100=88.10%.在ARM×MIPS關(guān)聯(lián)模式下,無論是數(shù)值相似度還是整體相似度,本文的實驗結(jié)果都優(yōu)于文獻[14].由于文獻[14]沒有給出OpenSSL在其他關(guān)聯(lián)模式下的實驗結(jié)果,我們僅給出本文方法的實驗結(jié)果,如表2所示,可見關(guān)聯(lián)效果良好.

    Fig. 6 Cumulative distribution function of ARM×MIPS.圖6 ARM×MIPS關(guān)聯(lián)模式下的累計分布圖

    PatternSimilarityTypeTop1Top10Top100ARM×MIPSResultsin[14]32.1056.1080.00ARM×MIPSNumericalSimilarity39.2669.1183.70ARM×MIPSOverallSimilarity76.4985.0788.10MIPS×x86NumericalSimilarity38.3365.2580.85MIPS×x86OverallSimilarity71.6181.4386.39x86×ARMNumericalSimilarity32.2662.8480.42x86×ARMOverallSimilarity78.9687.3291.97ARM×x86NumericalSimilarity32.9261.1676.68ARM×x86OverallSimilarity76.1485.4489.82MIPS×ARMNumericalSimilarity36.1565.1484.80MIPS×ARMOverallSimilarity75.5483.1289.12x86×MIPSNumericalSimilarity33.6863.4582.18x86×MIPSOverallSimilarity74.2383.9187.90

    2) 真實漏洞函數(shù)的關(guān)聯(lián)實驗

    為了說明該方法對真實漏洞函數(shù)的關(guān)聯(lián)能力,本文收集了二進制文件OpenSSL中5個漏洞函數(shù),具體信息如表3所示.對二進制文件OpenSSL進行關(guān)聯(lián),計算不同跨平臺關(guān)聯(lián)模式下5個漏洞函數(shù)的Rank值;實驗表明,除了漏洞函數(shù)X509_verify之外,其他4個漏洞函數(shù)的數(shù)值相似度Rank值保持在10以內(nèi),整體相似度的Rank值為1,關(guān)聯(lián)效果良好,具體如表4所示.

    Table 3 Five Vulnerability Functions in OpenSSL

    Table 4 Search Results of Five Vulnerability Functions in OpenSSL

    表4 OpenSSL的5個漏洞函數(shù)的Rank值列表

    4.5 在真實固件中關(guān)聯(lián)真實漏洞的關(guān)聯(lián)實驗

    實驗主要驗證該方法在真實情況下,即采用真實漏洞函數(shù)在真實固件中進行關(guān)聯(lián),具有良好的關(guān)聯(lián)效果.實驗過程如下:

    1) 選擇D-Link路由器固件中常見的4個漏洞函數(shù),如表5所示:

    Table 5 Four Vulnerability Functions in D-Link Router Firmware

    表5 D-Link路由器固件中4個漏洞函數(shù)列表

    2) 從D-Link路由器固件中隨機抽選372個MIPS平臺的固件,篩選條件為文件名包含“cgi”和“web”子串的ELF文件,共計得到305個二進制文件共74 006個函數(shù),其中漏洞函數(shù)同名函數(shù)個數(shù)n分別為29,28,51,58;

    Fig. 7 Searching results of four vulnerability functions in routers.圖7 4個漏洞函數(shù)在路由器固件中的關(guān)聯(lián)結(jié)果

    3) 分別計算1)中每個漏洞函數(shù)與這74 006個函數(shù)的數(shù)值相似度并進行排序.

    設(shè)74 006個函數(shù)中與漏洞函數(shù)同名的函數(shù)個數(shù)為n,將得分最高的前n個函數(shù)中同名函數(shù)的個數(shù)m作為實驗結(jié)果的評價指標.理想情況下,得分最高的前n個函數(shù)中同名函數(shù)的個數(shù)應(yīng)該為n,即這n個同名函數(shù)的數(shù)值相似度在74 006個函數(shù)中排在了前n位.m取值在0~n之間,m越接近n說明關(guān)聯(lián)效果越好.實驗表明,得分最高的前n個函數(shù)中同名函數(shù)個數(shù)為29,22,37,49,如圖7所示.以漏洞函數(shù)alpha_auth_check為例,其同名函數(shù)個數(shù)為29,在進行漏洞關(guān)聯(lián)過程中,所有同名函數(shù)在74 006個函數(shù)中排到了前29,表明關(guān)聯(lián)效果良好.

    4.6 已知關(guān)聯(lián)模式對關(guān)聯(lián)結(jié)果的影響

    4.5節(jié)的實驗結(jié)果建立在已知關(guān)聯(lián)模式的條件下,但在實際應(yīng)用中存在未知關(guān)聯(lián)模式的情況.本實驗將驗證訓(xùn)練集和測試集關(guān)聯(lián)模式不同時,包括平臺(ARM,MIPS,x86)不同和優(yōu)化選項(-O0,-O1,-O2,-O3)不同,該方法仍能保持良好的關(guān)聯(lián)效果.測試集的關(guān)聯(lián)模式是ARM-O0×MIPS-O2,實驗將采用不同關(guān)聯(lián)模式的訓(xùn)練集訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)計算表3中5個漏洞函數(shù)的數(shù)值相似度的Rank值.

    表6表示優(yōu)化選項的關(guān)聯(lián)模式為-O0×-O2時,改變平臺的關(guān)聯(lián)模式的實驗結(jié)果.第1列表示漏洞函數(shù)的平臺,項目欄表示待關(guān)聯(lián)函數(shù)的平臺,表格數(shù)據(jù)表示表3中5個漏洞函數(shù)的數(shù)值相似度的Rank值.例如行1、列4的表格內(nèi)容是1,1,1,1,2,這表示訓(xùn)練集的關(guān)聯(lián)模式為ARM-O0×x86-O2,所在的二進制文件平臺是ARM、優(yōu)化選項是-O0的5個漏洞函數(shù),在平臺是MIPS、優(yōu)化選項為-O2的二進制文件OpenSSL中的關(guān)聯(lián)結(jié)果分別是1,1,1,1,2.黑體結(jié)果表示訓(xùn)練集與測試集關(guān)聯(lián)模式相同的關(guān)聯(lián)結(jié)果.

    Table 6 Search Results for Different Platforms

    通過觀察表6可以發(fā)現(xiàn),即使訓(xùn)練集與測試集關(guān)聯(lián)模式不同,關(guān)聯(lián)結(jié)果并沒有發(fā)生很大變化,Rank值依然保持在21以內(nèi).這就表明即使平臺關(guān)聯(lián)模式未知,本文提出的算法仍能獲得良好的關(guān)聯(lián)效果.

    表7表示平臺的關(guān)聯(lián)模式為-O0×-O2時改變優(yōu)化選項的關(guān)聯(lián)模式的實驗結(jié)果.其中,第1列表示漏洞函數(shù)的優(yōu)化選項,項目欄表示待關(guān)聯(lián)函數(shù)的優(yōu)化選項,表中數(shù)據(jù)表示表3中5個漏洞函數(shù)的數(shù)值相似度的Rank值.結(jié)果表明,即使訓(xùn)練集與測試集優(yōu)化選項不同,關(guān)聯(lián)結(jié)果并沒有發(fā)生很大變化,Rank值依然保持在20以內(nèi).這就表明即使優(yōu)化選項關(guān)聯(lián)模式未知,本文提出的算法仍能獲得良好的關(guān)聯(lián)效果.

    Table 7 Searching Results for Different Optimization Options

    以編號為4的漏洞函數(shù)為例,相比黑體結(jié)果,采用與測試集不同關(guān)聯(lián)模式的訓(xùn)練集訓(xùn)練的神經(jīng)網(wǎng)絡(luò)計算的排名略有下降.這就表明在進行關(guān)聯(lián)前,如果能夠識別二進制文件的平臺和優(yōu)化選項,將一定程度提高關(guān)聯(lián)的準確率.

    5 結(jié)束語

    本文提出一種基于神經(jīng)網(wǎng)絡(luò)和局部調(diào)用結(jié)構(gòu)匹配的固件漏洞關(guān)聯(lián)方法,該方法以函數(shù)為最小關(guān)聯(lián)單元,較為全面地提取了函數(shù)在函數(shù)調(diào)用圖、函數(shù)基本屬性和函數(shù)控制流圖3方面信息,同時,這些特征的提取不依賴指令集,具有一定的跨平臺能力,可以對2個不同指令集的二進制代碼進行相似程度度量.局部調(diào)用結(jié)構(gòu)匹配考慮了與待匹配函數(shù)有調(diào)用關(guān)系的其他函數(shù)相似程度的影響,提高了準確率.

    本文在二進制文件OpenSSL上進行跨平臺漏洞關(guān)聯(lián)實驗,相比已有方法,該方法在同一固件上性能指標Top1從32.1%提高至76.49%;采用5個真實漏洞函數(shù)對二進制文件OpenSSL進行關(guān)聯(lián)時,整體相似度的Rank值均為1.最后,采用4個真實的漏洞函數(shù)在372個D-Link路由器固件上進行關(guān)聯(lián)實驗,結(jié)果表明該方法具有良好的關(guān)聯(lián)效果.下一步工作主要集中于5個方面:

    1) 將其他諸如SVM、決策樹等機器學(xué)習(xí)算法應(yīng)用于代碼相似性檢測,并分析其優(yōu)缺點.

    2) 識別二進制文件的平臺和編譯優(yōu)化選項,在進行漏洞關(guān)聯(lián)前確定關(guān)聯(lián)模式,提高關(guān)聯(lián)準確率.

    3) 實際應(yīng)用中,判定閾值往往根據(jù)特定的實驗數(shù)據(jù)經(jīng)驗獲取.不同關(guān)聯(lián)模式下其相似度的數(shù)值分布不同,經(jīng)驗選取的閾值不能靈活地適應(yīng)不同關(guān)聯(lián)模式的需求.下一步將研究閾值的確定方法.

    4) 在對動態(tài)鏈接庫的處理上,本文在實驗中設(shè)定動態(tài)鏈接的函數(shù)的相似度為1個常量.下一步的工作可以通過分析其函數(shù)體所在的動態(tài)鏈接庫文件進行函數(shù)特征提取,提高關(guān)聯(lián)準確率.

    5) 本文方法可以應(yīng)用于大規(guī)模固件函數(shù)同源性檢測,時間復(fù)雜度是O(n2).為了減少時間成本,可以采用時間復(fù)雜度為O(n)的聚類算法進行提速,如LSH.

    [1]Open Web Application Security Project. OWASP Internet of Things Project (Top 10 IoT Vulnerabilities (2014) Project)[EB/OL]. (2016-02-05)[2016-03-10]. https://www.owasp.org/ index.php/OWASP_Internet_of_Things_Top_Ten_Project#tab=Top_10_IoT_Vulnerabilities__282014_29

    [2]Knownsec. A statistical analysis report about the back door of D-Link by ZoomEye.org[EB/OL]. (2013-10-28)[2016-09-05]. http://blog.knownsec.com/2013/10/zoomeye-org關(guān)于d-link后門的統(tǒng)計分析報告(知道創(chuàng)宇. ZoomEye.org關(guān)于D-Link后門的統(tǒng)計分析報告[EB/OL]. (2013-10-28)[2016-09-05]. http://blog.knownsec.com/2013/10/zoomeye-org關(guān)于d-link后門的統(tǒng)計分析報告)

    [3]Myles G, Collberg C. K-gram based software birthmarks[C] //Proc of the 20th ACM Symp on Applied Computing. New York: ACM, 2005: 314-318

    [4]Kolter J Z, Maloof M A. Learning to detect malicious executables in the wild[C] //Proc of the 10th ACM SIGKDD Int Conf on Knowledge Discovery and Data Mining. New York: ACM, 2004: 470-478

    [5]Jin W, Chaki S, Cohen C, et al. Binary function clustering using semantic hashes[C] //Proc of Int Conf on Machine Learning & Applications. Piscataway, NJ: IEEE, 2012: 386-391

    [6]David Y, Yahav E. Tracelet-based code search in executables[J]. ACM Sigplan Notices, 2014, 49(6): 349-360

    [7]Gao D, Reiter M K, Song D. BinHunt: Automatically finding semantic differences in binary programs[C] //Proc of the 10th Int Conf on Information and Communications Security. Berlin: Springer, 2008: 238-255

    [8]Lakhotia A, Preda M D, Giacobazzi R. Fast location of similar code fragments using semantic “juice”[C] //Proc of ACM Sigplan Program Protection and Reverse Engineering Workshop. New York: ACM, 2013: 1-6

    [9]Ming J, Pan M, Gao D. iBinHunt: Binary hunting with inter-procedural control flow[C] //Proc of the 15th Information Security and Cryptology. Berlin: Springer, 2012: 92-109

    [10]Ng B H, Prakash A. Expose: Discovering potential binary code re-use[C] //Proc of the 37th Annual Computer Software and Applications Conf (COMPSAC’13). Piscataway, NJ: IEEE, 2013: 492-501

    [11]Xie Yuqiang, Zeng Ying, Shu Hui. Improved graph-based executable file comparison algorithm[J]. Computer Engineering and Design, 2007, 28(2): 257-260(謝余強, 曾穎, 舒輝. 改進的基于圖的可執(zhí)行文件比較算法[J]. 計算機工程與設(shè)計, 2007, 28(2): 257-260)

    [12]Zeng Ming, Zhao Rongcai, Wang Xiaoqin, et al. A binary patch analysis technique based on the disassembly technology[J]. Computer Science, 2006, 33(10): 283-287(曾鳴, 趙榮彩, 王小芹, 等. 一種基于反匯編技術(shù)的二進制補丁分析方法[J]. 計算機科學(xué), 2006, 33(10): 283-287)

    [13]Egele M, Woo M, Chapman P, et al. Blanket execution: Dynamic similarity testing for program binaries and components[C] //Proc of the 23rd USENIX Conf on Security Symposium. Berkeley, CA: USENIX Association, 2014: 303-317

    [14]Pewny J, Garmany B, Gawlik R, et al. Cross-architecture bug search in binary executables[C] //Proc of IEEE Symp on Security and Privacy. Piscataway, NJ: IEEE, 2015: 709-724

    [15]Watts D J, Strogatz S H. Collective dynamics of “small-world” networks[J]. Nature, 1998, 393(6684): 440-442

    [16]Bergroth L, Hakonen H, Raita T. A survey of longest common subsequence algorithms[C] //Proc of the 5th Int Symp on String Processing and Information Retrieval. Berlin: Springer, 2000: 39-48

    [17]Hamers L, Hemeryck Y, Herweyers G, et al. Similarity measures in scientometric research: The Jaccard index versus Salton’s cosine formula[J]. Information Processing & Management, 1989, 25(3): 315-318

    [18]Kononenko I. Estimating attributes: Analysis and extensions of RELIEF[C] //Proc of the 5th European Conf on Machine Learning. Berlin: Springer, 1994: 171-182

    [19]Robnik-Sikonja M, Kononenko I. Theoretical and empirical analysis of ReliefF and RReliefF[J]. Machine Learning, 2003, 53(1/2): 23-69

    [20]Hecht-Nielsen R. Theory of the back propagation neural network[J]. Neural Networks, 1989, 1(1): 593-605

    [21]Bourgeois F, Lassalle J C. An extension of the Munkres algorithm for the assignment problem to rectangular matrices[J]. Communications of the ACM, 1971, 14(12): 802-804

    Chang Qing, born in 1991. Master candidate. Received her BSc degree from University of Electronic and Technology of China in 2014. Her main research interests include IOT security, industrial control system security.

    Liu Zhongjin, born in 1988. Received his PhD degree from Tsinghua University in 2014. Researcher in the National Computer Network Emergency Response Technical TeamCoordination Center of China. His main research interests include computer and network security, network virtualization, future Internet architecture.

    Wang Mengtao, born in 1989. Master candidate. Received his BSc degree from Hainan University in 2014. His main research interests include IOT security.

    Chen Yu, born in 1988. PhD candidate. Received his MSc degree from Beihang University in 2014. His main research interests include industrial control system security.

    Shi Zhiqiang, born in 1970. Received his PhD degree from the Institute of Software, Chinese Academy of Sciences in 2001. Senior engineer in the Institute of Information Engineering, Chinese Academy of Sciences. His main research interests include industrial control system security, cyber security, etc.

    Sun Limin, born in 1966. Received his BSc, MSc, and PhD degrees from National University of Defense Technology in 1988, 1995, and 1998 respectively. Associate professor in the Institute of Information Engineering, Chinese Academy of Sciences. His main research interests include IOT security.

    VDNS: An Algorithm for Cross-Platform Vulnerability Searching in Binary Firmware

    Chang Qing1,2,3, Liu Zhongjin4, Wang Mengtao1,2,3, Chen Yu1,2,3, Shi Zhiqiang1,2,3, and Sun Limin1,2,3

    1(BeijingKeyLaboratoryofIOTInformationSecurity,InstituteofInformationEngineering,ChineseAcademyofSciences,Beijing100093)2(InstituteofInformationEngineering,ChineseAcademyofSciences,Beijing100093)3(UniversityofChineseAcademyofSciences,Beijing100049)4(NationalComputerNetworkEmergencyResponseTechnicalTeamCoordinationCenterofChina,Beijing100029)

    Nowadays, most IOT vendors use the similar code to compile firmware for devices based on various CPU architectures. However, the prior vulnerability searching methods are limited to the same platform, which can’t be directly extended to the cross-platform case, and the cross-platform studies have just started. In this paper, we propose an algorithm to search vulnerabilities of firmware in a cross-platform model based on neural network and local calling structure matching. Firstly we extract the selected compared features from the call graphs, the basic attributes and the control flow graphs of the two compared functions as the input of the neural network, and gain the calculated results. Then we match the call sub-graphs of the compared functions with the results of the previous step as weight to improve the accuracy. The experimental results on the open source code OpenSSL demonstrate our method has better performance than the prior cross-platform vulnerability searching method with theTop1 increasing from 32.1% to 76.49% in the searching pattern from ARM to MIPS. The searching ranks of the common five vulnerabilities in OpenSSL are all No.1 rank. Moreover, we search the common four vulnerabilities in the firmware of the 372 types of D-Link routers and the results show good performance too.

    cross-platform; vulnerability search; feature selection; neural network; bipartite matching

    2016-06-16;

    2016-08-11

    中國科學(xué)院戰(zhàn)略性先導(dǎo)科技專項課題(XDA06040101);國家重點研發(fā)計劃(2016YFB0800202);國家自然科學(xué)基金項目(U1536107)

    石志強(shizhiqiang@iie.ac.cn)

    TP309.1

    Chen Zhifeng, born in 1986. PhD. His main research interests include information security and trust computing.

    This work was supported by the State Priority Research Program of the Chinese Academy of Sciences (XDA06040101), the National Key Technology Research and Development Program of China (2016YFB0800202), and the National Natural Science Foundation of China (U1536107).

    猜你喜歡
    固件二進制調(diào)用
    用二進制解一道高中數(shù)學(xué)聯(lián)賽數(shù)論題
    核電項目物項調(diào)用管理的應(yīng)用研究
    有趣的進度
    二進制在競賽題中的應(yīng)用
    LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
    基于系統(tǒng)調(diào)用的惡意軟件檢測技術(shù)研究
    基于固件的遠程身份認證
    提取ROM固件中的APP
    電腦愛好者(2015年7期)2015-04-09 08:54:02
    一種通過USB接口的可靠固件升級技術(shù)
    奧林巴斯XZ—2新固件升級
    中國攝影(2014年1期)2014-02-24 01:50:23
    麻豆国产av国片精品| 国产成人福利小说| 国产精品1区2区在线观看.| 国内精品久久久久精免费| 一级av片app| 国产视频内射| 精品日产1卡2卡| 中出人妻视频一区二区| 欧美成人免费av一区二区三区| 如何舔出高潮| 国产亚洲欧美98| 蜜桃亚洲精品一区二区三区| 国产一级毛片在线| 国产一级毛片在线| 日韩,欧美,国产一区二区三区 | 午夜福利在线在线| 久久精品影院6| 欧美成人a在线观看| 免费看日本二区| 国产成人午夜福利电影在线观看| 国产精品一区二区性色av| 91aial.com中文字幕在线观看| 色综合站精品国产| 亚洲国产精品成人久久小说 | 日韩欧美一区二区三区在线观看| 91在线精品国自产拍蜜月| 亚洲成a人片在线一区二区| 日韩一区二区视频免费看| 亚洲中文字幕日韩| 色综合亚洲欧美另类图片| 一区二区三区四区激情视频 | 亚洲欧洲国产日韩| 99国产精品一区二区蜜桃av| 午夜福利成人在线免费观看| 热99re8久久精品国产| 中文字幕制服av| 尾随美女入室| 日本免费一区二区三区高清不卡| 久久精品综合一区二区三区| 99热全是精品| 久久久久久久久久成人| 国产一区二区在线观看日韩| 欧美成人a在线观看| 精品久久久久久成人av| 夫妻性生交免费视频一级片| 高清日韩中文字幕在线| 高清毛片免费观看视频网站| 久久久精品大字幕| 精品人妻偷拍中文字幕| 我要看日韩黄色一级片| 女人被狂操c到高潮| 日韩在线高清观看一区二区三区| 波多野结衣高清无吗| 国国产精品蜜臀av免费| 51国产日韩欧美| 欧美一级a爱片免费观看看| 全区人妻精品视频| 五月玫瑰六月丁香| 99热全是精品| www.av在线官网国产| 91av网一区二区| 少妇裸体淫交视频免费看高清| a级毛色黄片| 赤兔流量卡办理| 男的添女的下面高潮视频| 国产亚洲91精品色在线| 可以在线观看的亚洲视频| 联通29元200g的流量卡| 日本免费一区二区三区高清不卡| 男女下面进入的视频免费午夜| 日本免费a在线| 干丝袜人妻中文字幕| 91狼人影院| 自拍偷自拍亚洲精品老妇| 我要看日韩黄色一级片| 人妻久久中文字幕网| 人妻制服诱惑在线中文字幕| 婷婷六月久久综合丁香| 日本欧美国产在线视频| 成人欧美大片| 欧美+亚洲+日韩+国产| 久久精品综合一区二区三区| 极品教师在线视频| 波野结衣二区三区在线| av又黄又爽大尺度在线免费看 | 麻豆精品久久久久久蜜桃| 18+在线观看网站| 2022亚洲国产成人精品| 国产视频首页在线观看| 特大巨黑吊av在线直播| 国内精品一区二区在线观看| 免费av毛片视频| 最近手机中文字幕大全| 欧美变态另类bdsm刘玥| 亚洲av中文av极速乱| 综合色av麻豆| 色视频www国产| 国产伦在线观看视频一区| 久久99蜜桃精品久久| 欧美性感艳星| 亚洲人成网站在线播| 欧美激情久久久久久爽电影| 亚洲欧洲国产日韩| 美女cb高潮喷水在线观看| 日韩视频在线欧美| 黄片无遮挡物在线观看| 色播亚洲综合网| 久久精品国产亚洲av天美| 国产老妇女一区| 99热只有精品国产| 最近的中文字幕免费完整| 美女被艹到高潮喷水动态| 久久热精品热| 91在线精品国自产拍蜜月| 亚洲人成网站在线播| 欧美区成人在线视频| 国产精品免费一区二区三区在线| 可以在线观看的亚洲视频| 亚洲av中文字字幕乱码综合| 3wmmmm亚洲av在线观看| 精品久久久久久久末码| 久久久久久久亚洲中文字幕| 又粗又爽又猛毛片免费看| 乱人视频在线观看| 亚洲精品乱码久久久v下载方式| 精品不卡国产一区二区三区| 久久久精品94久久精品| 成人鲁丝片一二三区免费| 黄色配什么色好看| 丰满的人妻完整版| 少妇人妻精品综合一区二区 | 亚洲熟妇中文字幕五十中出| 久久精品国产99精品国产亚洲性色| 亚洲国产精品合色在线| 国产成人精品婷婷| 久久草成人影院| 网址你懂的国产日韩在线| 国产精品,欧美在线| 久久久国产成人免费| 人人妻人人看人人澡| 亚洲自拍偷在线| 日日摸夜夜添夜夜爱| 久久久久久久久久久丰满| 欧美三级亚洲精品| 久久久久久大精品| 亚洲久久久久久中文字幕| 美女脱内裤让男人舔精品视频 | 99久久成人亚洲精品观看| 午夜福利在线观看免费完整高清在 | 久久久精品94久久精品| 欧美色欧美亚洲另类二区| 99久久人妻综合| 小蜜桃在线观看免费完整版高清| 日韩中字成人| 国产亚洲精品久久久com| av专区在线播放| 深夜a级毛片| 成人无遮挡网站| 免费观看精品视频网站| 看非洲黑人一级黄片| 18禁裸乳无遮挡免费网站照片| 国产探花在线观看一区二区| 少妇被粗大猛烈的视频| 精品人妻熟女av久视频| 日韩国内少妇激情av| av免费在线看不卡| 亚洲成a人片在线一区二区| 亚洲经典国产精华液单| a级毛片免费高清观看在线播放| 啦啦啦啦在线视频资源| 永久网站在线| av又黄又爽大尺度在线免费看 | 天美传媒精品一区二区| 最近最新中文字幕大全电影3| ponron亚洲| av在线天堂中文字幕| 精品99又大又爽又粗少妇毛片| 亚洲国产高清在线一区二区三| 综合色av麻豆| 女人被狂操c到高潮| 99视频精品全部免费 在线| 亚洲国产欧美人成| 日韩欧美国产在线观看| 亚洲成人精品中文字幕电影| 国产精品嫩草影院av在线观看| 日韩欧美在线乱码| 国产精品免费一区二区三区在线| 亚洲成a人片在线一区二区| 黄片无遮挡物在线观看| 男人的好看免费观看在线视频| 日韩大尺度精品在线看网址| 18禁黄网站禁片免费观看直播| 亚洲最大成人手机在线| 中国美白少妇内射xxxbb| 草草在线视频免费看| 亚洲国产精品成人久久小说 | 日本欧美国产在线视频| h日本视频在线播放| 国产亚洲91精品色在线| 国产av一区在线观看免费| 国产精品综合久久久久久久免费| 亚洲精品影视一区二区三区av| 日韩大尺度精品在线看网址| 日韩制服骚丝袜av| 久久精品久久久久久久性| 在线观看66精品国产| 哪里可以看免费的av片| 国内久久婷婷六月综合欲色啪| 亚洲精品乱码久久久久久按摩| 国产精品久久久久久av不卡| 欧美人与善性xxx| 亚洲自偷自拍三级| 久久久久久久久久久丰满| 此物有八面人人有两片| 禁无遮挡网站| 伦理电影大哥的女人| 长腿黑丝高跟| 国内久久婷婷六月综合欲色啪| 久久欧美精品欧美久久欧美| 美女内射精品一级片tv| 亚洲性久久影院| 日日撸夜夜添| 欧美成人免费av一区二区三区| 国产女主播在线喷水免费视频网站 | 欧美又色又爽又黄视频| videossex国产| 亚洲欧美成人精品一区二区| 一边亲一边摸免费视频| 亚洲国产精品久久男人天堂| 亚洲欧美精品专区久久| 午夜爱爱视频在线播放| 天堂中文最新版在线下载 | 久久久欧美国产精品| 丰满的人妻完整版| 欧美另类亚洲清纯唯美| 国产午夜精品久久久久久一区二区三区| 久久九九热精品免费| 国内精品一区二区在线观看| 欧美一区二区亚洲| 免费人成在线观看视频色| 久久精品国产自在天天线| 久久久久网色| 亚洲国产高清在线一区二区三| 精品免费久久久久久久清纯| 赤兔流量卡办理| 日日撸夜夜添| 国产久久久一区二区三区| 日韩av不卡免费在线播放| 欧美成人a在线观看| 中国美白少妇内射xxxbb| 深夜精品福利| 国产综合懂色| 亚洲美女视频黄频| 国产一级毛片在线| 久久久午夜欧美精品| 午夜福利在线观看吧| 成人永久免费在线观看视频| 国国产精品蜜臀av免费| 老女人水多毛片| 久久国产乱子免费精品| 夜夜夜夜夜久久久久| 两个人的视频大全免费| 插阴视频在线观看视频| 少妇高潮的动态图| 一个人免费在线观看电影| 成人综合一区亚洲| 91麻豆精品激情在线观看国产| 91精品国产九色| 国产免费一级a男人的天堂| 欧美zozozo另类| 97超碰精品成人国产| 久久人人爽人人爽人人片va| 国产 一区 欧美 日韩| 黄片wwwwww| 三级毛片av免费| 人体艺术视频欧美日本| 少妇猛男粗大的猛烈进出视频 | 一区二区三区免费毛片| 日本熟妇午夜| 久久综合国产亚洲精品| 看黄色毛片网站| 国产精品国产三级国产av玫瑰| 亚洲av免费高清在线观看| 精品国内亚洲2022精品成人| 日本免费一区二区三区高清不卡| 国产国拍精品亚洲av在线观看| 一级毛片久久久久久久久女| 成人漫画全彩无遮挡| 性色avwww在线观看| 国产精品伦人一区二区| 九草在线视频观看| 精华霜和精华液先用哪个| 夜夜爽天天搞| 在线播放国产精品三级| 久久久久国产网址| 国产亚洲5aaaaa淫片| 综合色丁香网| 亚洲国产精品久久男人天堂| 久久精品91蜜桃| 有码 亚洲区| 精品无人区乱码1区二区| 白带黄色成豆腐渣| 黑人高潮一二区| 国产亚洲欧美98| av福利片在线观看| 99在线人妻在线中文字幕| 又爽又黄无遮挡网站| 国产老妇女一区| 国产精品爽爽va在线观看网站| 如何舔出高潮| 91久久精品电影网| 国产精品日韩av在线免费观看| 亚洲第一电影网av| 日韩欧美一区二区三区在线观看| 亚洲第一电影网av| 日韩欧美一区二区三区在线观看| 国产av一区在线观看免费| 少妇丰满av| 蜜桃亚洲精品一区二区三区| 精华霜和精华液先用哪个| 麻豆av噜噜一区二区三区| 日韩欧美 国产精品| 久久精品国产亚洲av涩爱 | 91狼人影院| 亚洲无线在线观看| 亚洲人成网站高清观看| 国产精品免费一区二区三区在线| 丝袜喷水一区| 亚洲18禁久久av| 丝袜喷水一区| 国产高清视频在线观看网站| 日韩大尺度精品在线看网址| 床上黄色一级片| 亚洲在线观看片| 国产成人91sexporn| 精品日产1卡2卡| 亚洲成人中文字幕在线播放| 少妇熟女欧美另类| 色哟哟哟哟哟哟| а√天堂www在线а√下载| 亚洲不卡免费看| 日本成人三级电影网站| 亚洲国产欧洲综合997久久,| 中文字幕精品亚洲无线码一区| 国产伦一二天堂av在线观看| 一区福利在线观看| 日本欧美国产在线视频| 国产探花极品一区二区| 亚洲熟妇中文字幕五十中出| 一卡2卡三卡四卡精品乱码亚洲| 不卡一级毛片| 69人妻影院| 国产成人a区在线观看| 亚洲真实伦在线观看| 免费人成视频x8x8入口观看| 精品久久久久久久久久免费视频| 国内少妇人妻偷人精品xxx网站| 青青草视频在线视频观看| 老师上课跳d突然被开到最大视频| 日韩精品青青久久久久久| videossex国产| 亚洲成av人片在线播放无| 草草在线视频免费看| 少妇猛男粗大的猛烈进出视频 | 免费av不卡在线播放| 久久久久久伊人网av| 亚洲成人久久爱视频| 欧美激情国产日韩精品一区| 成人国产麻豆网| 亚洲国产精品国产精品| 国内少妇人妻偷人精品xxx网站| av在线播放精品| 小蜜桃在线观看免费完整版高清| 国产精品久久久久久精品电影| 国产人妻一区二区三区在| 日韩成人伦理影院| 一本—道久久a久久精品蜜桃钙片 精品乱码久久久久久99久播 | av卡一久久| 中文字幕av在线有码专区| 一区福利在线观看| 在线免费观看不下载黄p国产| av天堂中文字幕网| 听说在线观看完整版免费高清| 中文在线观看免费www的网站| av在线观看视频网站免费| 国产亚洲av嫩草精品影院| 91狼人影院| 床上黄色一级片| 午夜久久久久精精品| 亚洲精品乱码久久久久久按摩| 一边摸一边抽搐一进一小说| 欧美日韩国产亚洲二区| 亚洲18禁久久av| 99久久人妻综合| 日韩欧美精品v在线| 日韩高清综合在线| 人妻久久中文字幕网| 国产精品久久久久久亚洲av鲁大| 亚洲国产色片| 久久热精品热| 夜夜夜夜夜久久久久| 久久国产乱子免费精品| 欧洲精品卡2卡3卡4卡5卡区| 97超视频在线观看视频| 99久久精品一区二区三区| 成年女人永久免费观看视频| 国产亚洲精品av在线| av在线天堂中文字幕| a级一级毛片免费在线观看| 狂野欧美激情性xxxx在线观看| 免费av观看视频| 一级二级三级毛片免费看| 一个人看视频在线观看www免费| 嫩草影院新地址| 网址你懂的国产日韩在线| 中国美女看黄片| 国产熟女欧美一区二区| 久久九九热精品免费| 成年女人看的毛片在线观看| 亚洲欧美中文字幕日韩二区| 2021天堂中文幕一二区在线观| 中出人妻视频一区二区| 99热网站在线观看| 可以在线观看毛片的网站| 色综合站精品国产| 伊人久久精品亚洲午夜| 日韩高清综合在线| 亚洲成人久久性| 美女 人体艺术 gogo| 男女啪啪激烈高潮av片| 午夜福利在线观看吧| 黄色视频,在线免费观看| 女的被弄到高潮叫床怎么办| 又粗又爽又猛毛片免费看| 一本一本综合久久| 搞女人的毛片| 欧美精品国产亚洲| 国产高清三级在线| av免费观看日本| 在线免费观看不下载黄p国产| 少妇高潮的动态图| 一级二级三级毛片免费看| 国产在线精品亚洲第一网站| 自拍偷自拍亚洲精品老妇| 亚洲国产色片| 国产熟女欧美一区二区| 一个人观看的视频www高清免费观看| 久久亚洲国产成人精品v| 欧美激情久久久久久爽电影| 国产一区二区激情短视频| 精品久久久噜噜| 久久99热这里只有精品18| 欧美色欧美亚洲另类二区| 亚洲av二区三区四区| 亚洲av中文av极速乱| 国产一区亚洲一区在线观看| 亚洲av电影不卡..在线观看| 亚洲精品成人久久久久久| 在线观看美女被高潮喷水网站| 91精品一卡2卡3卡4卡| 有码 亚洲区| 国产欧美日韩精品一区二区| 久久久成人免费电影| 一级av片app| 日本色播在线视频| 国产视频内射| 久久久午夜欧美精品| 国产淫片久久久久久久久| 身体一侧抽搐| 禁无遮挡网站| 国产黄色小视频在线观看| 国产亚洲精品av在线| a级毛片a级免费在线| 小蜜桃在线观看免费完整版高清| 国产一区二区激情短视频| 国产av麻豆久久久久久久| 有码 亚洲区| 国产激情偷乱视频一区二区| 久久精品影院6| 一级毛片aaaaaa免费看小| 变态另类丝袜制服| 一级毛片aaaaaa免费看小| 97在线视频观看| a级一级毛片免费在线观看| 丰满乱子伦码专区| 99久久精品一区二区三区| 久久久久久久午夜电影| 免费一级毛片在线播放高清视频| 亚洲av成人av| 99热精品在线国产| 国产一区亚洲一区在线观看| 成人美女网站在线观看视频| 一本—道久久a久久精品蜜桃钙片 精品乱码久久久久久99久播 | 久久国内精品自在自线图片| 欧美区成人在线视频| 一本久久精品| 成年女人看的毛片在线观看| 久久国内精品自在自线图片| 身体一侧抽搐| 国产人妻一区二区三区在| 男女啪啪激烈高潮av片| 精品无人区乱码1区二区| 蜜臀久久99精品久久宅男| 久久人人爽人人片av| 国产亚洲5aaaaa淫片| 国产69精品久久久久777片| 久久欧美精品欧美久久欧美| 麻豆乱淫一区二区| av在线观看视频网站免费| 成人鲁丝片一二三区免费| 亚洲精品日韩av片在线观看| 成人亚洲精品av一区二区| 欧美bdsm另类| 精品久久久久久成人av| 日韩制服骚丝袜av| 国产大屁股一区二区在线视频| 黑人高潮一二区| 久久人妻av系列| 久久精品影院6| 成人午夜精彩视频在线观看| 国产精品日韩av在线免费观看| 人人妻人人看人人澡| 国产精品女同一区二区软件| 亚洲,欧美,日韩| 搡老妇女老女人老熟妇| 成人高潮视频无遮挡免费网站| av卡一久久| 欧美日韩一区二区视频在线观看视频在线 | 精品国产三级普通话版| 欧美极品一区二区三区四区| 国产三级在线视频| 成人鲁丝片一二三区免费| 色噜噜av男人的天堂激情| 久久精品国产鲁丝片午夜精品| 在线免费观看的www视频| 精品久久久噜噜| 成人特级av手机在线观看| 91狼人影院| 丝袜美腿在线中文| 大香蕉久久网| 国产成人影院久久av| 色哟哟哟哟哟哟| 美女 人体艺术 gogo| 亚洲自拍偷在线| 精品99又大又爽又粗少妇毛片| 久久亚洲精品不卡| 亚洲天堂国产精品一区在线| 欧美精品国产亚洲| 中文字幕av在线有码专区| 免费观看人在逋| 成人高潮视频无遮挡免费网站| 嫩草影院入口| av.在线天堂| 亚洲国产精品成人久久小说 | 日韩一区二区三区影片| 精品人妻视频免费看| 亚洲美女搞黄在线观看| 男女做爰动态图高潮gif福利片| 高清在线视频一区二区三区 | 在线观看一区二区三区| 精品久久久久久久久久久久久| 精品午夜福利在线看| 国产成人午夜福利电影在线观看| 在线观看美女被高潮喷水网站| 亚洲经典国产精华液单| 男人的好看免费观看在线视频| 欧美一区二区精品小视频在线| 麻豆精品久久久久久蜜桃| www日本黄色视频网| 日本三级黄在线观看| 日韩三级伦理在线观看| 看片在线看免费视频| 欧美性感艳星| 99久久九九国产精品国产免费| 好男人视频免费观看在线| 悠悠久久av| 成人鲁丝片一二三区免费| 热99在线观看视频| 亚洲欧美日韩高清在线视频| 国产一区二区三区在线臀色熟女| 久久久久国产网址| 午夜免费激情av| 亚洲精品自拍成人| 亚洲欧美精品综合久久99| 亚洲美女视频黄频| 国产探花在线观看一区二区| 欧美性感艳星| 免费av不卡在线播放| 麻豆成人午夜福利视频| 中文欧美无线码| 国产乱人偷精品视频| 国产精品一区二区三区四区久久| 国产精品不卡视频一区二区| 色播亚洲综合网| 亚洲成人久久性| 免费看日本二区| 亚洲一级一片aⅴ在线观看| 人人妻人人看人人澡| 99国产精品一区二区蜜桃av| 日本-黄色视频高清免费观看| 能在线免费观看的黄片| 免费看a级黄色片| 高清在线视频一区二区三区 | 婷婷六月久久综合丁香| 亚洲丝袜综合中文字幕| 欧美激情在线99| 三级国产精品欧美在线观看| 亚洲一区高清亚洲精品| 亚洲欧洲国产日韩| 国产又黄又爽又无遮挡在线| 黄片无遮挡物在线观看| 如何舔出高潮| 日韩欧美三级三区| 美女被艹到高潮喷水动态| 亚洲七黄色美女视频|