• 
    

    
    

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

      ?

      一種基于余弦算法的手機(jī)病毒檢測(cè)方法

      2020-04-13 01:25:32王怡然
      關(guān)鍵詞:基本塊控制流病毒檢測(cè)

      ◆蘇 暉 王怡然

      (華能貴誠(chéng)信托有限公司電子商務(wù)部 北京 100093)

      隨著全球化和信息化的發(fā)展,移動(dòng)互聯(lián)網(wǎng)的發(fā)展進(jìn)入了高速行駛的快車道,同時(shí),移動(dòng)互聯(lián)網(wǎng)病毒也加快蔓延。2018 年,CNCERT 通過移動(dòng)互聯(lián)網(wǎng)惡意程序監(jiān)測(cè)體系共監(jiān)測(cè)移動(dòng)互聯(lián)網(wǎng)惡意程序5702861 個(gè),比2017 年同期監(jiān)測(cè)3162981 個(gè)惡意程序增長(zhǎng)1.8 倍,涉及移動(dòng)惡意程序702 個(gè),繼續(xù)呈現(xiàn)出爆炸式增長(zhǎng)趨勢(shì)。

      現(xiàn)在對(duì)手機(jī)病毒的分析及檢測(cè)主要采用基于特征的檢測(cè)方法,它通過對(duì)已知特征匹配來判斷是否存在手機(jī)病毒?,F(xiàn)在,基于行為的檢測(cè)方法也被引入手機(jī)病毒檢測(cè),它通過對(duì)手機(jī)程序執(zhí)行監(jiān)視,對(duì)文件、內(nèi)存、進(jìn)程等變化進(jìn)行判斷來完成檢測(cè),如J2ME 沙箱、Android 沙箱等[1-9]。但是,無論是基于特征還是基于行為的檢測(cè)方法都無法難以對(duì)多態(tài)[10-11]和變形技術(shù)[12-13]處理后的手機(jī)病毒進(jìn)行有效的檢測(cè)。因?yàn)槎鄳B(tài)和變形技術(shù)處理后的手機(jī)病毒,可以通過逃避已知檢測(cè)點(diǎn)或者加入混淆信息欺騙檢測(cè)工具的方法來防止其被檢測(cè)。由于沒有對(duì)手機(jī)操作系統(tǒng)底層進(jìn)行研究,檢測(cè)不到操作系統(tǒng)底層的工作狀態(tài),如內(nèi)存的變化,僅僅是監(jiān)視了應(yīng)用層APP 的數(shù)據(jù)改動(dòng)及API 調(diào)用[14],因此無法對(duì)多態(tài)和變形技術(shù)處理后的手機(jī)病毒進(jìn)行判斷,從而對(duì)其也無法進(jìn)行檢測(cè)。

      本文提出了一種基于余弦算法的二進(jìn)制程序手機(jī)病毒檢測(cè)方法,該方法對(duì)二進(jìn)制程序行為進(jìn)行分析,監(jiān)視手機(jī)操作系統(tǒng)底層,跟蹤內(nèi)存及APP 存儲(chǔ)空間的變化情況,揭示手機(jī)病毒程序的工作機(jī)制,通過余弦相似度比較對(duì)其進(jìn)行檢測(cè),從而有效地解決了對(duì)多態(tài)和變形技術(shù)處理后的二進(jìn)制程序手機(jī)病毒無法進(jìn)行檢查的問題。

      1 形式化方法

      為了進(jìn)行手機(jī)病毒的二進(jìn)制程序分析,本文定義了一種用于安全性分析的中間語(yǔ)言 EDIL(Exploit Detection for Intermediate Language),針對(duì)手機(jī)病毒檢測(cè),對(duì)BIL 中間語(yǔ)言[15]進(jìn)行優(yōu)化和擴(kuò)展。BIL 是一種二進(jìn)制程序分析的語(yǔ)言,能對(duì)數(shù)據(jù)流和控制流進(jìn)行正確描述。

      1.1 語(yǔ)言語(yǔ)法

      EDIL 語(yǔ)法由程序狀態(tài)語(yǔ)句列表(∑),當(dāng)前內(nèi)存狀態(tài)(μ),當(dāng)前變量值(φ),程序計(jì)數(shù)器(η)以及程序當(dāng)前狀態(tài)(σ)組成。參數(shù)的語(yǔ)法敘述見表1。

      其中,∑、μ和φ都是起到了映射作用。如φ[x←10]表示將變量x進(jìn)行更新,將它賦值為數(shù)值v=10。

      表1 EDIL 基本語(yǔ)法描述

      1.2 形式化表達(dá)式

      EDIL 有完整的形式化方法,它的每一個(gè)程序狀態(tài)語(yǔ)句都符合以下的形式化表達(dá)式:

      表達(dá)式(1)表示在程序狀態(tài)語(yǔ)句s由當(dāng)前狀態(tài)改變到下一終止?fàn)顟B(tài)s’的時(shí)候,其他規(guī)則都在分?jǐn)?shù)線上的computation發(fā)生了變化。例如,在成功發(fā)生條件跳轉(zhuǎn)時(shí),EDIL 的形式化表達(dá)式如下:

      在形式化表達(dá)式(2)中有一個(gè)簡(jiǎn)單的計(jì)算規(guī)則需要指明。表達(dá)式 ,μ φ? ?e v表示在當(dāng)前狀態(tài)語(yǔ)句下,根據(jù)μ和φ的具體范圍,求出e的數(shù)值v。

      2 手機(jī)病毒檢測(cè)算法

      2.1 算法描述

      通過對(duì)二進(jìn)制程序行為進(jìn)行分析,利用余弦相似度比較惡意行為和正常行為之間的差異,從而檢測(cè)二進(jìn)制程序是否是一個(gè)惡意的手機(jī)病毒程序。基于余弦相似度的二進(jìn)制程序手機(jī)病毒檢測(cè)算法主要包括以下三個(gè)子算法:基本塊劃分算法、控制流分析算法以及行為分析算法。

      2.2 基本塊劃分算法

      基本塊劃分是在匯編代碼的基礎(chǔ)上進(jìn)行的,基本塊的過程可以分為兩步:

      (1)確定每個(gè)基本塊的入口指令,根據(jù)上述原理,基本塊入口指令只可能有三種:

      · ①程序入口處的第一條指令;

      · ②jmp 或者jcc 跳轉(zhuǎn)目標(biāo)地址處的指令;

      · ③jmp 或者jcc 指令的下一條指令。

      (2)根據(jù)每個(gè)基本塊的入口指令,構(gòu)造其所在的基本塊。此時(shí)又有三種情況:

      · ①由當(dāng)前入口指令的開始地址直到下一個(gè)入口指令開始的地址之間的所有指令構(gòu)成一個(gè)基本塊;

      · ②由當(dāng)前入口指令的開始地址到其后第一條跳轉(zhuǎn)指令的結(jié)束地址之間的所有指令構(gòu)成一個(gè)基本塊;

      · ③由當(dāng)前入口指令的開始地址到程序結(jié)尾之間的所有指令構(gòu)成一個(gè)基本塊。

      2.3 控制流分析算法

      本文利用分層法[16]對(duì)程序的控制流進(jìn)行分析的過程分為三輪。

      (1)第一輪先分析程序中的函數(shù),得出起始地址和結(jié)束地址;

      (2)第二輪調(diào)用基本塊劃分模塊對(duì)每個(gè)函數(shù)內(nèi)部的匯編代碼進(jìn)行分析,對(duì)每個(gè)基本塊屬性進(jìn)行記錄。在分析過程中關(guān)注的屬性包括基本塊的入口地址、出口地址和跳轉(zhuǎn)目標(biāo)。

      (3)第三輪根據(jù)控制流圖求函數(shù)的所有控制流路徑,即求出從控制流根節(jié)點(diǎn)(函數(shù)入口基本塊)到葉子節(jié)點(diǎn)的所有可能路徑。路徑皆由所經(jīng)過的基本塊組成。

      2.4 行為分析算法

      在基本塊劃分算法和控制流分析算法的基礎(chǔ)上,可以通過EDIL 對(duì)手機(jī)病毒程序行為進(jìn)行描述,利用余弦相似度比較算法對(duì)手機(jī)病毒程序行為進(jìn)行比較,從而對(duì)其進(jìn)行檢測(cè)。

      對(duì)程序行為的兩個(gè)程序行為向量間的角度定義如下:

      其中,G為基本塊算法劃分成的基本塊。則與兩個(gè)向量的夾角為:

      在初始情況下,ai=1,i= 1,2,...,m。經(jīng)過學(xué)習(xí)可以對(duì)余弦夾角測(cè)度進(jìn)行校正。

      3 手機(jī)病毒檢測(cè)模型系統(tǒng)

      3.1 模型系統(tǒng)描述

      圖1 給出了基于二進(jìn)制程序行為分析的手機(jī)病毒檢測(cè)模型系統(tǒng),框圖代表核心部件,其余表示文件格式和中間過程。該模型系統(tǒng)包括了3 個(gè)主要部分:APP 行為監(jiān)視器、預(yù)處理器以及APP 行為檢測(cè)器,現(xiàn)就它們的工作原理進(jìn)行詳細(xì)介紹。

      3.2 APP 行為監(jiān)視器

      APP 行為監(jiān)視器用于對(duì)需要進(jìn)行手機(jī)病毒檢測(cè)的文件進(jìn)行監(jiān)控,它跟蹤文件在二進(jìn)制程序中的執(zhí)行情況。在APP 行為監(jiān)視器中使用OllyDBG v1.1[17]完成反匯編工作。OllyDBG 可以解析多種PE 格式,得到其中的匯編指令、寄存器、內(nèi)存以及導(dǎo)出函數(shù)等信息。同時(shí),APP 行為監(jiān)視器還對(duì)程序執(zhí)行時(shí)特定進(jìn)程的執(zhí)行路徑進(jìn)行動(dòng)態(tài)監(jiān)視,所采用的方法是通過掛鉤系統(tǒng)服務(wù)描述符表(SSDT)中的Native API。這樣可以通過相關(guān)堆棧信息對(duì)程序執(zhí)行路徑進(jìn)行回溯,并且通過監(jiān)視調(diào)用Native API 情況,輔助和簡(jiǎn)化二進(jìn)制程序分析,特別體現(xiàn)在處理函數(shù)調(diào)用以及動(dòng)態(tài)代碼生成時(shí)。

      圖1 基于二進(jìn)制程序行為分析的手機(jī)病毒檢測(cè)系統(tǒng)模型

      3.3 預(yù)處理器

      預(yù)處理器包括兩個(gè)方面:基于基本塊劃分和控制流分析。預(yù)處理器的輸入是匯編語(yǔ)言,輸出是EDIL 中間語(yǔ)言,同時(shí)能優(yōu)化匯編代碼,增加檢測(cè)效率。例如,一個(gè)程序入口點(diǎn)初始化分配堆棧的匯編代碼如下:

      在經(jīng)過預(yù)處理器轉(zhuǎn)化之后,輸出的需EDIL 中間語(yǔ)言如下:

      3.4 APP 行為檢測(cè)器

      APP 行為檢測(cè)器的功能是確定進(jìn)行檢測(cè)的APP 文件是否存在手機(jī)病毒。它通過將對(duì)需要進(jìn)行手機(jī)病毒檢測(cè)的文件程序行為描述和正常行為描述相比較。需要指出的是在反匯編器和程序行為監(jiān)視器有差異,反匯編器僅僅是通過OllyDBG 完成了相應(yīng)的匯編代碼生成,而并沒有采集程序執(zhí)行時(shí)特定進(jìn)程的執(zhí)行路徑。原因在計(jì)算行為狀態(tài)序列時(shí)并不需要回溯路徑,僅僅計(jì)算出每個(gè)基本塊的程序調(diào)用序列即可。

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

      為驗(yàn)證本文所提出的APP 分析的手機(jī)病毒檢測(cè)方法的有效性,選擇遠(yuǎn)程控制手機(jī)病毒和本地文件手機(jī)病毒進(jìn)行實(shí)驗(yàn)。

      4.1 遠(yuǎn)程控制手機(jī)病毒檢測(cè)

      遠(yuǎn)程控制手機(jī)病毒[18]檢測(cè)的實(shí)驗(yàn)環(huán)境:操作系統(tǒng)為Android。為保證樣本可對(duì)比性,選用10 個(gè)常用的遠(yuǎn)程控制類手機(jī)病毒,結(jié)果如表2。

      表2 給出了4 種主流殺毒軟件和EDIL 手機(jī)病毒檢測(cè)系統(tǒng)模型對(duì)10 種遠(yuǎn)程控制類手機(jī)病毒樣本的檢測(cè)結(jié)果,√表示能夠檢測(cè),×表示無法檢測(cè)。從實(shí)驗(yàn)結(jié)果可以看出,EDIL 檢測(cè)系統(tǒng)模型可以有效地檢測(cè)出手機(jī)病毒樣本,而其他4 種殺毒軟件存在著檢測(cè)不出樣本的情況。特別是針對(duì)0007 和0009,各種測(cè)試的殺毒軟件皆不能夠進(jìn)行檢測(cè)。0007 的手機(jī)病毒方式是由于瀏覽器的CFunctionPointer 函數(shù)沒有正確地處理文檔對(duì)象,如果以特定序列附加并刪除了對(duì)象,就可以觸發(fā)內(nèi)存破壞,導(dǎo)致以當(dāng)前登錄用戶的權(quán)限執(zhí)行任意代碼。而殺毒軟件沒有監(jiān)測(cè)這個(gè)函數(shù)的行為,并對(duì)此進(jìn)行檢測(cè),從而根本不能判斷進(jìn)行此變形后的手機(jī)病毒。

      表2 遠(yuǎn)程控制手機(jī)病毒檢測(cè)結(jié)果

      表3 中給出了實(shí)驗(yàn)中各個(gè)樣本的空間代價(jià)占用情況及時(shí)間代價(jià)占用情況。由實(shí)驗(yàn)結(jié)果可以看出,行為描述文件的生成大小與原始的手機(jī)病毒文件大小無關(guān)。例如,0006 與0007 兩個(gè)實(shí)驗(yàn)樣本的原始的手機(jī)病毒文件大小都為633KB,但是行為描述文件大小分別是4,897KB 和10,687KB。由于兩者的手機(jī)病毒方式不一樣,導(dǎo)致了在進(jìn)行二進(jìn)制行為分析時(shí)所經(jīng)歷的路徑不同,因此描述文件的生成大小與原始的手機(jī)病毒文件大小無必然聯(lián)系。

      表3 遠(yuǎn)程控制類手機(jī)病毒檢測(cè)結(jié)果

      手機(jī)病毒的時(shí)間代價(jià)包括預(yù)處理時(shí)間和檢測(cè)時(shí)間,它與生成的行為描述文件大小成正比。行為描述文件大小越大,其預(yù)處理時(shí)間和檢測(cè)時(shí)間也就消耗得越多。

      4.2 本地文件手機(jī)病毒檢測(cè)

      本地文件手機(jī)病毒檢測(cè)的實(shí)驗(yàn)環(huán)境:操作系統(tǒng)為Android。

      本文選取了13 個(gè)本地文件手機(jī)病毒程序,表4 給出了4種主流殺毒軟件和EDIL手機(jī)病毒檢測(cè)系統(tǒng)模型對(duì)13 個(gè)本地文件手機(jī)病毒的檢測(cè)結(jié)果。從實(shí)驗(yàn)結(jié)果可以看出,EDIL 檢測(cè)系統(tǒng)模型可以有效地檢測(cè)出手機(jī)病毒樣本,而其他4 種殺毒軟件則存在著檢測(cè)不出樣本的情況。4 種殺毒軟件都不能夠?qū)Σ《?008 進(jìn)行檢測(cè)。

      表4 本地文件手機(jī)病毒檢測(cè)結(jié)果

      表5 中給出了實(shí)驗(yàn)中各個(gè)樣本的空間代價(jià)占用情況及時(shí)間代價(jià)占用情況。由實(shí)驗(yàn)結(jié)果可以看出,本地文件手機(jī)病毒檢測(cè)的行為描述文件的生成大小與原始的手機(jī)病毒文件大小也是不具有直接聯(lián)系的,決定其大小的在于利用的何種漏洞。同時(shí),由于APP 應(yīng)用軟件的類型不同,空間和時(shí)間代價(jià)都有所差別。

      表5 本地文件手機(jī)病毒檢測(cè)結(jié)果

      5 結(jié)束語(yǔ)

      基于余弦相似度算法的二進(jìn)制程序手機(jī)病毒檢測(cè)算法通過對(duì)APP 二進(jìn)制程序行為進(jìn)行跟蹤,監(jiān)視手機(jī)內(nèi)存和APP 空間的變化,在中間語(yǔ)言層對(duì)程序行為進(jìn)行形式化分析,從而對(duì)手機(jī)病毒進(jìn)行檢測(cè)。實(shí)驗(yàn)結(jié)果表明該方法可以有效地對(duì)手機(jī)病毒進(jìn)行分析和檢測(cè),并且具有較小的時(shí)間復(fù)雜度和空間復(fù)雜度。

      猜你喜歡
      基本塊控制流病毒檢測(cè)
      基于級(jí)聯(lián)森林的控制流錯(cuò)誤檢測(cè)優(yōu)化算法
      2021下半年加州鱸病毒檢測(cè)總結(jié)與建議
      抵御控制流分析的Python 程序混淆算法
      距離與權(quán)重相結(jié)合的導(dǎo)向式灰盒模糊測(cè)試方法
      工控系統(tǒng)中PLC安全漏洞及控制流完整性研究
      電子科技(2021年2期)2021-01-08 02:25:58
      抵御控制流分析的程序混淆算法
      一種檢測(cè)控制流錯(cuò)誤的多層分段標(biāo)簽方法
      基于WinPcap的校園網(wǎng)ARP病毒檢測(cè)防御系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
      GeXP多重RT-PCR技術(shù)在呼吸道病毒檢測(cè)中的應(yīng)用
      HIV感染者血漿、尿液巨細(xì)胞病毒檢測(cè)的臨床分析
      北辰区| 大关县| 新蔡县| 高平市| 松阳县| 江孜县| 永昌县| 扬州市| 大庆市| 温宿县| 诸城市| 泸州市| 宁远县| 乌兰县| 平昌县| 陇南市| 苗栗县| 屯门区| 宣城市| 兴仁县| 和平区| 牡丹江市| 定日县| 汝阳县| 嫩江县| 龙门县| 舞钢市| 安乡县| 武山县| 玛沁县| 汽车| 牡丹江市| 安达市| 斗六市| 灵川县| 南阳市| 方山县| 东乡族自治县| 页游| 龙里县| 镇原县|