• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      結(jié)合局部?jī)?yōu)化匹配的Android惡意家族檢測(cè)算法

      2021-04-23 04:29:30
      關(guān)鍵詞:函數(shù)調(diào)用誤報(bào)率應(yīng)用程序

      杜 垚

      西南民族大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,成都610000

      隨著移動(dòng)應(yīng)用的廣泛普及,如今的移動(dòng)信息安全已不僅僅是個(gè)人數(shù)據(jù)的安全問題,更成為了影響到企業(yè)甚至國(guó)家的關(guān)鍵數(shù)據(jù)信息重要方面之一。在移動(dòng)平臺(tái)之中,Android系統(tǒng)的病毒感染問題尤為突出。在Android應(yīng)用普及之初的2013 年,就有97%的移動(dòng)惡意軟件與Android平臺(tái)相關(guān),高于2012年的79%和2011年的66%[1]。之后,Android 惡意代碼量逐年攀升。到了2019 年,被截獲到的Android 惡意代碼量已達(dá)到180 余萬個(gè)[2]。以Google 為代表的主要移動(dòng)應(yīng)用開發(fā)公司雖投入了大量的人力財(cái)力來維護(hù)其官方應(yīng)用程序市場(chǎng)的安全,但仍成為了惡意攻擊的重災(zāi)區(qū)[3]。而國(guó)內(nèi)的移動(dòng)應(yīng)用平臺(tái)更是種類繁多,難以監(jiān)管,使得惡意代碼的感染問題更加突出。

      傳統(tǒng)基于簽名的惡意代碼檢測(cè)算法因過度依賴人工分析,具有檢測(cè)滯后期長(zhǎng)和難以檢測(cè)新型變種病毒等缺陷。為了解決這些問題,研究人員開始致力于尋找更高層次的特征來描述應(yīng)用程序和檢測(cè)惡意行為,如敏感權(quán)限信息與函數(shù)信息等等[4-6],大多取得了良好的效果。然而,層出不窮的惡意攻擊技術(shù)與快速增長(zhǎng)的變種樣本量給移動(dòng)應(yīng)用程序的安全檢測(cè)與惡意行為演化分析帶來了沉重的負(fù)擔(dān)。要解決該問題,迫切需要研究工作在提高對(duì)惡意樣本識(shí)別率的同時(shí)對(duì)其進(jìn)行準(zhǔn)確的家族識(shí)別與分類,并建立系統(tǒng)性的樣本集。通過對(duì)大量樣本研究表明,許多新的惡意代碼與現(xiàn)有應(yīng)用程序的局部結(jié)構(gòu)相似,是通過重封裝技術(shù)[7-8]形成的大量變種樣本。因此,對(duì)應(yīng)用程序進(jìn)行局部結(jié)構(gòu)匹配來尋找高相似度區(qū)域是發(fā)現(xiàn)惡意攻擊的重要手段。該檢測(cè)策略也能有效地解決使用基于純語法特征的惡意代碼檢測(cè)算法時(shí)因受到形態(tài)混淆技術(shù)的影響而使得檢測(cè)率快速下降的問題。但是,對(duì)不同應(yīng)用程序的內(nèi)部結(jié)構(gòu)進(jìn)行局部匹配會(huì)涉及到子圖同構(gòu)問題。為了避免NP(Non-deterministic Polynomial)完全問題的產(chǎn)生,如何設(shè)計(jì)高效的啟發(fā)式匹配算法是必須解決的一個(gè)關(guān)鍵問題。

      1 相關(guān)工作

      為了更有效地將待檢測(cè)應(yīng)用程序內(nèi)部結(jié)構(gòu)與現(xiàn)有惡意結(jié)構(gòu)特征進(jìn)行比較并避免NP 問題,安全研究人員設(shè)計(jì)出了許多有效的方法。如,Crussell等人[9]設(shè)計(jì)了一種基于結(jié)構(gòu)化特征的方法來識(shí)別移動(dòng)應(yīng)用程序的復(fù)制和克隆行為。該方法通過改進(jìn)VF2 算法來進(jìn)行結(jié)構(gòu)匹配,以用于評(píng)價(jià)應(yīng)用程序間的相似性。Zhang 等人[10]以Soot[11]為基礎(chǔ)設(shè)計(jì)了一種新的圖結(jié)構(gòu)生成工具來獲取應(yīng)用程序的功能依賴圖,通過分析圖結(jié)構(gòu)間的相似度能夠進(jìn)行應(yīng)用程序樣本的特征向量空間構(gòu)造,從而形成對(duì)惡意代碼的分類規(guī)則建立并識(shí)別惡意程序。祝小蘭等人[12]通過計(jì)算不同應(yīng)用程序基于敏感信息結(jié)構(gòu)特征間的編輯距離來識(shí)別變種病毒。Xu等人[13]提出的結(jié)構(gòu)化惡意代碼檢測(cè)方法通過加入應(yīng)用程序的操作碼來計(jì)算不同程序函數(shù)調(diào)用圖間的編輯距離,以達(dá)到識(shí)別變種樣本的目的。

      此外,研究人員通過采用不同的方法來對(duì)應(yīng)用程序結(jié)構(gòu)進(jìn)行分析,從而得到進(jìn)一步的代碼行為特征。Atici等人[14]從Android應(yīng)用程序的控制流圖中自動(dòng)提取出代碼塊,再利用回歸樹(CART)算法對(duì)代碼快進(jìn)行分類來識(shí)別惡意軟件,提升了Dendroid[15]的檢測(cè)率。Wei 等人[16]使用不同方法構(gòu)造出了應(yīng)用程序的多種圖結(jié)構(gòu),并通過對(duì)這些圖結(jié)構(gòu)的靜態(tài)分析來追蹤惡意行為。Sun等人[17]使用應(yīng)用程序Application Programming Interface(API)作為節(jié)點(diǎn),Android 組件的控制流優(yōu)先順序作為邊來構(gòu)造控制流圖。之后,設(shè)計(jì)了圖相似度進(jìn)行評(píng)分算法來識(shí)別惡意軟件和變種病毒。Elish 等人[18]通過對(duì)數(shù)據(jù)依賴圖的特征分析來識(shí)別使用者觸發(fā)應(yīng)用程序惡意函數(shù)的行為。

      以上研究雖然均取得了良好的效果,但在惡意樣本量迅速增長(zhǎng)的情況下仍存在局限性,如應(yīng)用程序間結(jié)構(gòu)差異大,在直接進(jìn)行同構(gòu)計(jì)算或相似度計(jì)算時(shí)會(huì)遍歷大量的圖結(jié)構(gòu),從而產(chǎn)生了巨大的計(jì)算量和精度降低的問題。而有的方法雖然會(huì)根據(jù)特定的語義信息來構(gòu)造出新的特征,但此類方法需要根據(jù)指定的樣本建立一個(gè)可靠的匹配規(guī)則,當(dāng)樣本的結(jié)構(gòu)發(fā)生較大變化時(shí),匹配規(guī)則的可靠性會(huì)面臨巨大的考驗(yàn),暴露出其存在過擬合的問題。本文提出了一種基于局部結(jié)構(gòu)的優(yōu)化匹配算法進(jìn)行惡意代碼識(shí)別與家族分類。該方法通過對(duì)節(jié)點(diǎn)的相似性匹配迭代地構(gòu)造出家族特征,并以此進(jìn)行對(duì)目標(biāo)應(yīng)用程序的惡意性判定與家族識(shí)別。實(shí)驗(yàn)通過對(duì)不同種類惡意和良性應(yīng)用程序的檢測(cè)驗(yàn)證了本文方法的有效性,即使對(duì)高度相似的惡意家族樣本進(jìn)行分類識(shí)別時(shí)也具有高準(zhǔn)確率和低誤報(bào)率。

      2 檢測(cè)框架整體設(shè)計(jì)與實(shí)現(xiàn)

      本文檢測(cè)框架的整體框架主要分為惡意家族特征提取與惡意家族識(shí)別兩個(gè)大的部分,如圖1所示。

      圖1 檢測(cè)框架整體設(shè)計(jì)

      首先,通過反編譯從惡意軟件中提取函數(shù)及其調(diào)用關(guān)系。本文的方法主要分析Android應(yīng)用程序的Android包(APK)文件,反編譯工具為Androguard。在使用Androguard工具提取出所有函數(shù)及其調(diào)用關(guān)系后,通過編寫Python腳本文件來構(gòu)造出完整函數(shù)調(diào)用圖。

      下一步進(jìn)行惡意代碼家族特征集構(gòu)建。在特征訓(xùn)練過程中,單個(gè)惡意軟件家族的所有應(yīng)用程序樣本都作為一個(gè)單元執(zhí)行。對(duì)同一家族中的樣本,采用基于節(jié)點(diǎn)匹配的局部結(jié)構(gòu)相似度算法進(jìn)行惡意代碼家族特征生成。對(duì)于節(jié)點(diǎn)匹配過程中出現(xiàn)的多匹配問題,采用基于匈牙利算法的最大相似度計(jì)算方法選擇出最優(yōu)節(jié)點(diǎn)進(jìn)行匹配,通過迭代計(jì)算得到最終的家族結(jié)構(gòu)特征。從單元訓(xùn)練過程中獲得的結(jié)構(gòu)特征可以視為某惡意軟件家族的特征。將所有訓(xùn)練得到的家族特征放入特征集中,用于局部結(jié)構(gòu)匹配。

      然后,對(duì)待識(shí)別的目標(biāo)程序進(jìn)行反編譯,得到包含其函數(shù)與函數(shù)間調(diào)用關(guān)系的文件并構(gòu)造函數(shù)調(diào)用圖。通過將目標(biāo)程序的函數(shù)調(diào)用圖與特征庫當(dāng)中的特征結(jié)構(gòu)進(jìn)行匹配,識(shí)別出目標(biāo)程序是否具有惡意性以及所屬的惡意代碼家族。

      最后,收集大量不同家族的惡意與不同種類的良性樣本,驗(yàn)證該算法在不同惡意代碼家族檢測(cè)時(shí)的性能。

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

      通過對(duì)應(yīng)用程序進(jìn)行反編譯,提取出函數(shù)以及函數(shù)間的調(diào)用關(guān)系能夠構(gòu)建出靜態(tài)的函數(shù)調(diào)用圖。靜態(tài)函數(shù)調(diào)用圖包含所有函數(shù)的全部調(diào)用關(guān)系,能夠反映應(yīng)用程序的完整行為特性,且不需要提供虛擬運(yùn)行應(yīng)用程序的系統(tǒng)資源,因而開銷較小,運(yùn)行速度較快。

      定義1本文函數(shù)調(diào)用圖定義為G=<V,E >,式中V為函數(shù)調(diào)用圖中的節(jié)點(diǎn)集,任意v∈V代表應(yīng)用程序中的某一函數(shù)。E是邊集,E∈V×V,任意的一條邊(u,v)∈E代表應(yīng)用程序中由u所代表函數(shù)對(duì)v所代表函數(shù)的調(diào)用關(guān)系。

      2.2 局部結(jié)構(gòu)匹配策略

      雖然許多惡意變種代碼已被模糊處理過,但它們?cè)趦?nèi)部局部結(jié)構(gòu)上仍保留了相似部分,使得完全無關(guān)的應(yīng)用程序可以實(shí)現(xiàn)類似的攻擊。例如,同一家族樣本中(如:樣本“53dc08f08005f374a957afa44607ab52f205b684.apk”和“744c0c7091630fc5a999277b95dc0b1cf3b68153.apk”)存在相同的惡意性局部結(jié)構(gòu),如圖2所示。

      圖2 不同應(yīng)用程序間的公共惡意結(jié)構(gòu)示例

      定義2給定兩個(gè)節(jié)點(diǎn)va和vb,則兩個(gè)節(jié)點(diǎn)之間的相似度可以由邊相似度和鄰接點(diǎn)相似度之和表示:

      式中,Doutx與分別是點(diǎn)x的出入度。Ba,b為連接不同兩個(gè)節(jié)點(diǎn)邊之間的相似度值。VCba是兩個(gè)節(jié)點(diǎn)鄰接點(diǎn)間的相似度值,其中vak和vbk分別為節(jié)點(diǎn)va和vb的第k個(gè)子節(jié)點(diǎn),子節(jié)點(diǎn)數(shù)量最大值為i。因vak和vbk可能存在多匹配問題,其最優(yōu)匹配過程與相似度值計(jì)算方法將在后續(xù)2.3 節(jié)中詳細(xì)描述。α、β、ρ、ω為人工設(shè)置參數(shù)。

      由定義2,本局部結(jié)構(gòu)匹配策略的執(zhí)行過程可描述為:

      (1)使用同家族的訓(xùn)練樣本進(jìn)行節(jié)點(diǎn)匹配,將相似度值最大的節(jié)點(diǎn)作為特征子圖結(jié)構(gòu)生成的原始節(jié)點(diǎn)。

      (2)遍歷原始節(jié)點(diǎn)的鄰接點(diǎn),將Ba,b和VCa,b均高于設(shè)定值的鄰接點(diǎn)和邊加入到現(xiàn)有特征子圖結(jié)構(gòu)中。當(dāng)沒有新的符合條件的節(jié)點(diǎn)被找到時(shí),該計(jì)算過程終止,此時(shí)得到的圖結(jié)構(gòu)即為當(dāng)前家族結(jié)構(gòu)特征。

      (3)在不同的惡意代碼家族的樣本上循環(huán)執(zhí)行上兩步,得到全部家族結(jié)構(gòu)特征。

      (4)在對(duì)待檢測(cè)樣本進(jìn)行惡意性識(shí)別時(shí),首先對(duì)待檢測(cè)樣本進(jìn)行反編譯并提取出函數(shù)調(diào)用圖。將需要進(jìn)行安全識(shí)別應(yīng)用程序的函數(shù)調(diào)用圖與已生成的惡意軟件家族結(jié)構(gòu)特征逐一執(zhí)行匹配計(jì)算,并得到測(cè)試結(jié)果。其匹配計(jì)算的具體方法為:首先將應(yīng)用程序與惡意結(jié)構(gòu)特征相似度值最大的節(jié)點(diǎn)作為匹配的原始節(jié)點(diǎn),之后依次對(duì)原始節(jié)點(diǎn)的鄰接點(diǎn)進(jìn)行匹配,節(jié)點(diǎn)間的相似度值均按照定義2 進(jìn)行計(jì)算。當(dāng)惡意結(jié)構(gòu)特征的所有節(jié)點(diǎn)被匹配后,且相似度均不低于閾值,則認(rèn)定為匹配成功,即檢測(cè)出應(yīng)用程序所屬的惡意家族,否則匹配失敗,即判定應(yīng)用程序無惡意性。

      為了提高待檢測(cè)目標(biāo)應(yīng)用的識(shí)別速度,惡意代碼家族特征生成過程可在線下離線進(jìn)行。

      2.3 鄰接點(diǎn)匹配優(yōu)化策略

      在2.2節(jié)中,使用公式(2)進(jìn)行局部結(jié)構(gòu)匹配時(shí)存在一個(gè)節(jié)點(diǎn)的鄰接點(diǎn)與另一節(jié)點(diǎn)多個(gè)鄰接點(diǎn)同時(shí)滿足匹配條件的情況。為此,本文設(shè)計(jì)了一種基于改進(jìn)匈牙利算法的優(yōu)化匹配計(jì)算方法。

      定義3假設(shè)節(jié)點(diǎn)va∈GA,vb∈GB,對(duì)va的m個(gè)鄰接點(diǎn)與vb的n個(gè)鄰接點(diǎn)間的多匹配問題可表示如下:

      式中,Z為最優(yōu)匹配時(shí),所有鄰接點(diǎn)間的距離之和。Cij為va和vb各自的鄰接點(diǎn)i與j的差距值,Xij的值為0時(shí)代表鄰接點(diǎn)i與j不滿足匹配條件,值為1 時(shí)則代表鄰接點(diǎn)i與j滿足匹配條件。Cij的具體計(jì)算方法定義如下。

      定義4鄰接點(diǎn)間的差距值:

      其中,Cij的下標(biāo)i表示節(jié)點(diǎn)va的第i個(gè)鄰接點(diǎn),下標(biāo)j表示節(jié)點(diǎn)vb的第j個(gè)鄰接點(diǎn)。需要注意的是,當(dāng)i≠j時(shí),即構(gòu)成了非平衡問題。因此本文算法總是將數(shù)量較少的鄰接點(diǎn)(如m)作為行向量,數(shù)量較多的鄰接點(diǎn)(如n)作為列向量,并將n-m行的所有值置為0,可表示為:

      根據(jù)上述定義,基于改進(jìn)匈牙利算法的最優(yōu)匹配算法過程為:

      (1)對(duì)當(dāng)前匹配目標(biāo)節(jié)點(diǎn)的鄰接點(diǎn)剪枝。移動(dòng)應(yīng)用程序函數(shù)調(diào)用圖中的部分節(jié)點(diǎn)會(huì)存在大量為葉節(jié)點(diǎn)的鄰接點(diǎn),這些葉節(jié)點(diǎn)因?yàn)闊o下級(jí)節(jié)點(diǎn)故可以直接比較而不需要代入公式(2)進(jìn)行計(jì)算。為了提高算法性能,在進(jìn)行匹配計(jì)算前可對(duì)其進(jìn)行如下處理:

      式中,F(xiàn)是待匹配兩節(jié)點(diǎn)(如va和vb)為葉節(jié)點(diǎn)的鄰接點(diǎn)間的差異度值。t和s分別代表待匹配節(jié)點(diǎn)va與vb各自具有的為葉節(jié)點(diǎn)的鄰接點(diǎn)數(shù)量。當(dāng)F的值不高于指定值時(shí),將F值存儲(chǔ)后對(duì)鄰接點(diǎn)進(jìn)行剪枝,并繼續(xù)進(jìn)行對(duì)當(dāng)前節(jié)點(diǎn)的匹配計(jì)算,否則結(jié)束算法執(zhí)行。

      (2)依次掃描鄰接點(diǎn)差距值矩陣中的行和列,把不含有0 元素的行或列中的全部元素減去各自的最小元素值,以產(chǎn)生出0元素。

      (3)在上一步得到的矩陣基礎(chǔ)上處理0值元素以尋找最優(yōu)解,具體過程為:首先找到擁有唯一0 值元素的行,把0 值元素標(biāo)記為c1,即指定為存在唯一配對(duì)的節(jié)點(diǎn)。之后把c1 所處的列包含的其他0 元素劃除后標(biāo)記為c2,代表指定過的節(jié)點(diǎn)不再繼續(xù)參與匹配。完成對(duì)所有行的遍歷和標(biāo)記后,再對(duì)列執(zhí)行上述標(biāo)記過程,直到不存在任何只包含1個(gè)0值元素的行或者列。

      此時(shí),如仍存在行(列)包含2個(gè)以上的0值元素,且同時(shí)包含未經(jīng)標(biāo)記的0 值元素,則執(zhí)行如下操作:給所屬行與列包含0 值元素最少的0 值元素標(biāo)記c1,其所處行和列的其他0 值元素標(biāo)記為c2,直到所有0 值元素均被標(biāo)記。

      (4)如c2的數(shù)量與矩陣行數(shù)相等,則代表算法已完成節(jié)點(diǎn)匹配計(jì)算。如c2 的數(shù)量小于矩陣行數(shù),則進(jìn)入如下操作:首先將不含有c1標(biāo)記的行標(biāo)記為c3,并將這些行中c2 元素所屬的列也標(biāo)記為c3。之后,再找到有c3 標(biāo)記列中的c1 元素,將其所屬的行也標(biāo)記為c3。重復(fù)上述步驟,在完成所有的c3標(biāo)記操作后,對(duì)沒有標(biāo)記c3 的行添加一條行線,對(duì)沒有標(biāo)記c3 的列添加一條列線。如行列線總數(shù)小于矩陣階數(shù),則進(jìn)入步驟(5)。如行列線總數(shù)與矩陣階數(shù)相等,同時(shí)行線數(shù)量小于階數(shù),則跳轉(zhuǎn)回到步驟(2)。

      (5)將標(biāo)記為c3 行的元素均減去未被行列線覆蓋的最小元素值,再將標(biāo)記為c3 列中元素值與該最小值相加。若此時(shí)矩陣階數(shù)等于0元素個(gè)數(shù),表示已成功計(jì)算出最優(yōu)匹配,該算法停止執(zhí)行,否則返回步驟(3)。

      例如,得到如下匹配結(jié)果矩陣:

      其中,行代表節(jié)點(diǎn)用va1~va5表示,列代表節(jié)點(diǎn)用vb1~vb5表示,匹配結(jié)果如表1所示(匹配執(zhí)行時(shí)間小于2 ms)。

      表1 節(jié)點(diǎn)匹配表

      根據(jù)表1 中的差距值,VCba的值可由公式(9)進(jìn)行計(jì)算得到:

      式中,Cij是鄰接點(diǎn)差距值,sum(Cij)即為最優(yōu)匹配時(shí)鄰接點(diǎn)距離之和,n代表總的節(jié)點(diǎn)數(shù),α和β是人工設(shè)置參數(shù),F(xiàn)由公式(8)得到。

      3 實(shí)驗(yàn)與分析

      3.1 實(shí)驗(yàn)數(shù)據(jù)集

      實(shí)驗(yàn)數(shù)據(jù)集包含了兩個(gè)主要的部分,第一部分主要基于Genome Project[19-20]的系統(tǒng)惡意代碼數(shù)據(jù)集。該數(shù)據(jù)集主要涉及到的惡意攻擊技術(shù)包括:重打包、遠(yuǎn)程控制、個(gè)人信息竊取、更新攻擊等。第二部分?jǐn)?shù)據(jù)集由1 500 個(gè)惡意軟件和2 200 個(gè)來自多個(gè)網(wǎng)站和第三方市場(chǎng)[21-23]的良性樣本組成。數(shù)據(jù)集的詳細(xì)信息如表2所示。

      表2 實(shí)驗(yàn)樣本信息

      3.2 對(duì)惡意代碼家族的識(shí)別準(zhǔn)確性

      本節(jié)實(shí)驗(yàn)測(cè)試了本文所提出的方法在該數(shù)據(jù)集惡意代碼家族中的檢測(cè)能力,并將其與三項(xiàng)已有研究與Androguard 工具的檢測(cè)性能進(jìn)行了對(duì)比。第一項(xiàng)已有研究是Dendroid[15](Den),該方法從所構(gòu)造的控制流圖中按照特定的規(guī)則提取出字符串作為特征。最后通過計(jì)算字符串間的距離來判定目標(biāo)樣本程序的家族。第二項(xiàng)研究“MIGDroid”[24]是一種基于方法調(diào)用圖的惡意軟件檢測(cè)方法。該方法可以將整個(gè)方法調(diào)用圖劃分為多個(gè)子圖。然后根據(jù)每個(gè)子圖的敏感API 計(jì)算威脅得分。通過評(píng)估威脅分?jǐn)?shù),MIGDroid 可以識(shí)別不同家族的惡意軟件。第三項(xiàng)研究是基于敏感權(quán)限及其函數(shù)調(diào)用圖的Android 惡意代碼檢測(cè)[12](基于敏感權(quán)限圖的檢測(cè)方法)。

      表3 對(duì)比了已有研究和本文方法之間的識(shí)別精度。其中Androguard主要依賴基于簽名的檢測(cè)方式,對(duì)新病毒識(shí)別能力差;MIGDroid 容易受到針對(duì)API 混淆技術(shù)的影響,如表中“zHash”家族樣本均被寫入了大量垃圾代碼致使其識(shí)別度下降為0。Dendroid依賴于所提取的字符串,但根據(jù)其規(guī)則提取出的結(jié)構(gòu)字符串?dāng)?shù)量不穩(wěn)定,當(dāng)家族的特征字符串不足,在對(duì)高相似度家族進(jìn)行判斷時(shí),難于得到理想結(jié)果。本文方法能夠高效地進(jìn)行局部特征分析,且不需要建立額外的特征轉(zhuǎn)化規(guī)則,家族識(shí)別效率較高?;诿舾袡?quán)限圖的檢測(cè)方法受敏感權(quán)限提取質(zhì)量的影響較大。

      3.3 惡意代碼家族檢測(cè)誤報(bào)率分析

      除了識(shí)別準(zhǔn)確率外,誤報(bào)率也是檢驗(yàn)算法性能的重要指標(biāo),它反映了算法將其他種類樣本錯(cuò)誤地識(shí)別為某惡意代碼家族的概率。本節(jié)對(duì)算法誤報(bào)率的檢測(cè)分為兩個(gè)部分進(jìn)行,第一部分驗(yàn)證了算法在高相似度惡意代碼家族間的誤報(bào)率。選擇這些惡意家族是因?yàn)樵谒鼈冮g進(jìn)行惡意家族的識(shí)別時(shí)更易產(chǎn)生相對(duì)于進(jìn)行無關(guān)聯(lián)家族識(shí)別時(shí)更高的誤報(bào)率。從數(shù)據(jù)集中選取了9 個(gè)最密切相關(guān)的惡意家族來評(píng)估。

      表4的混淆矩陣展示本文算法對(duì)以上9個(gè)惡意代碼家族的識(shí)別結(jié)果。表中的列表示實(shí)際的惡意代碼家族名稱,行表示經(jīng)算法識(shí)別后的家族名稱。實(shí)驗(yàn)結(jié)果表明,本文算法對(duì)這些惡意家族進(jìn)行識(shí)別的誤報(bào)率最高為2.1%。

      本節(jié)實(shí)驗(yàn)的第二部分中,選擇數(shù)據(jù)集中的惡意代碼家族與所有良性樣本進(jìn)行誤報(bào)率檢測(cè),所選擇的惡意代碼家族如表5所示。

      圖3顯示了本文方法對(duì)表5中惡意軟件家族檢測(cè)的誤報(bào)率。實(shí)驗(yàn)結(jié)果表明,本文算法的平均誤報(bào)率為1.15%,最高誤報(bào)率為5.6%。

      表3 本文方法與已有研究和Androguard檢測(cè)率對(duì)比

      表4 對(duì)高相似度惡意代碼家族檢測(cè)誤報(bào)率統(tǒng)計(jì)

      表5 惡意家族簡(jiǎn)寫標(biāo)記

      圖3 對(duì)不同惡意代碼家族檢測(cè)誤報(bào)率統(tǒng)計(jì)

      4 結(jié)論

      本文提出了一種基于局部結(jié)構(gòu)優(yōu)化匹配的移動(dòng)應(yīng)用惡意性識(shí)別與家族分類算法。該算法能夠準(zhǔn)確地生成Android 移動(dòng)應(yīng)用靜態(tài)函數(shù)調(diào)用圖,并采用基于節(jié)點(diǎn)相似度的迭代匹配算法來構(gòu)建惡意軟件族的結(jié)構(gòu)特征,進(jìn)而通過這些結(jié)構(gòu)特征來識(shí)別出目標(biāo)應(yīng)用程序所屬的惡意代碼家族。在實(shí)驗(yàn)中,從以下兩個(gè)方面證明了該方法的有效性。首先,通過與三項(xiàng)已有研究和Androguard 進(jìn)行惡意家族識(shí)別的準(zhǔn)確率比較。其次,使用不同惡意代碼家族與不同種類的良性樣本對(duì)本文方法進(jìn)行誤報(bào)率檢測(cè)。實(shí)驗(yàn)結(jié)果表明,該方法能在多個(gè)具有代表性的惡意軟件家族中獲得較高的識(shí)別精度和低的誤報(bào)率。

      猜你喜歡
      函數(shù)調(diào)用誤報(bào)率應(yīng)用程序
      基于GRU-LSTM算法的物聯(lián)網(wǎng)數(shù)據(jù)入侵檢測(cè)分析
      基于SSA-SVM的網(wǎng)絡(luò)入侵檢測(cè)研究
      基于C語言的數(shù)學(xué)菜單的設(shè)計(jì)與實(shí)現(xiàn)
      家用燃?xì)鈭?bào)警器誤報(bào)原因及降低誤報(bào)率的方法
      煤氣與熱力(2021年6期)2021-07-28 07:21:40
      刪除Win10中自帶的應(yīng)用程序
      基于函數(shù)調(diào)用序列模式和函數(shù)調(diào)用圖的程序缺陷檢測(cè)方法*
      探討C++編程中避免代碼冗余的技巧
      Unity3D項(xiàng)目腳本優(yōu)化分析與研究
      神經(jīng)網(wǎng)絡(luò)技術(shù)在網(wǎng)絡(luò)入侵檢測(cè)模型及系統(tǒng)中的應(yīng)用
      關(guān)閉應(yīng)用程序更新提醒
      電腦迷(2012年15期)2012-04-29 17:09:47
      克东县| 天台县| 诸城市| 县级市| 南汇区| 许昌市| 日喀则市| 和平县| 上饶县| 郎溪县| 佳木斯市| 聂拉木县| 清徐县| 巨鹿县| 齐河县| 祁连县| 满城县| 宁波市| 滕州市| 会昌县| 丰镇市| 家居| 衢州市| 永安市| 昌乐县| 当雄县| 兖州市| 厦门市| 托克逊县| 湘潭市| 东乌珠穆沁旗| 克什克腾旗| 石河子市| 郧西县| 青州市| 蒲江县| 玉田县| 明溪县| 彭山县| 长子县| 新蔡县|