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

        ?

        基于LSTM-SVM 模型的惡意軟件檢測方法

        2022-10-25 13:41:24張雪芹朱唯一朱世楠
        關(guān)鍵詞:列表并聯(lián)良性

        趙 敏, 張雪芹, 朱唯一, 朱世楠

        (華東理工大學(xué)信息科學(xué)與工程學(xué)院,上海 200237)

        安卓(Android)系統(tǒng)因其開放性成為了惡意軟件最易滋生的平臺。許多惡意軟件會誘導(dǎo)用戶安裝木馬,或者通過申請過多或不當?shù)臋?quán)限來獲取相關(guān)信息,實現(xiàn)其搜集用戶隱私的目的[1]。為了避免或減少惡意軟件帶來的損害,對惡意軟件實現(xiàn)高精度的檢測具有重要意義。Android 系統(tǒng)惡意軟件的檢測技術(shù)主要分為靜態(tài)檢測[2]和動態(tài)檢測[3]。靜態(tài)檢測是指在不執(zhí)行應(yīng)用軟件的情況下判斷其是否是惡意的;動態(tài)檢測是指在執(zhí)行Android 應(yīng)用軟件時收集系統(tǒng)調(diào)用、網(wǎng)絡(luò)流量、用戶交互等信息來判斷其是否是惡意的。靜態(tài)檢測能夠在安裝前發(fā)現(xiàn)惡意軟件,實現(xiàn)有效預(yù)防。本文針對靜態(tài)檢測方法開展研究,提高檢測準確度。

        近年來,機器學(xué)習(xí)和深度學(xué)習(xí)[4-6]技術(shù)在Android惡意軟件的靜態(tài)檢測中得到了應(yīng)用。Fcizollah 等[7]為了評估意圖信息作為識別惡意軟件特征的有效性,提出了AndroDialysis 系統(tǒng)。該系統(tǒng)提取了意圖特征,采用貝葉斯網(wǎng)絡(luò)結(jié)合簡單估計算法和LAGDHillCilmber 搜索算法進行惡意軟件的檢測,在1 846 個良性應(yīng)用和5 560 個惡意軟件組成的數(shù)據(jù)集上達到了91%的檢測精度,誤報率和漏檢率均為9%。Li 等[8]為了應(yīng)對Android 惡意軟件數(shù)量的快速增長,提出了一種基于權(quán)限使用分析的惡意軟件檢測系統(tǒng)(SigPID),提取權(quán)限特征后通過負比率權(quán)限排序、基于支持度的權(quán)限排序和關(guān)聯(lián)規(guī)則權(quán)限挖掘3 個級別的剪枝來識別最重要的權(quán)限,以有效區(qū)分良性應(yīng)用和惡意應(yīng)用;采用Functional Tree 模型,在各有5 494 個良性應(yīng)用和惡意應(yīng)用的數(shù)據(jù)集上達到了95.63%的檢測精度,誤報率為2.36%,漏檢率為6.38%。Alotaibi[9]提出了MalResLSTM 框架用于惡意軟件識別。該框架提取硬件組件、請求權(quán)限、應(yīng)用程序組件、意圖和可疑應(yīng)用程序接口調(diào)用等8 組靜態(tài)特征組成特征向量,利用ResLSTM 網(wǎng)絡(luò)進行惡意軟件的檢測,在Drbin 數(shù)據(jù)集(包含123 453 個良性應(yīng)用和5 560 個惡意軟件)上的檢測精度達到了99%,誤報率為0.36%,漏檢率為9%。Xu 等[10]提出了DeepRefiner 網(wǎng)絡(luò)用于Android 惡意軟件的檢測。該網(wǎng)絡(luò)是一個基于深度學(xué)習(xí)的雙層網(wǎng)絡(luò),第1 層采用多層感知器,通過xml 文件中的權(quán)限、組件等信息將樣本分為良性、惡意以及不確定3 類;第2 層采用LSTM 網(wǎng)絡(luò),通過字節(jié)碼信息對第1 層網(wǎng)絡(luò)中分類為不確定的樣本再次檢測。在62 915 個惡意軟件和47 525 個良性應(yīng)用組成的數(shù)據(jù)集上檢測精度達到97.74%,誤報率為2.54%,漏檢率為2.04%。孫志強等[11]針對傳統(tǒng)Android 惡意軟件檢測方法檢測率低的問題,提出了一種基于深度收縮降噪自編碼網(wǎng)絡(luò)(Deep Contractive Denoising Autoencoder Network, DCDAN)的Android 惡意軟件檢測方法,對深度自編碼網(wǎng)絡(luò)的輸入數(shù)據(jù)添加噪聲,同時加入雅克比矩陣作為懲罰項,結(jié)合貪婪算法和反向傳播算法進行訓(xùn)練,通過權(quán)限、軟硬件、組件和敏感API 等7 類信息進行檢測,在各2 500 個良性和惡意樣本的數(shù)據(jù)集上檢測精度達到97.8%,誤報率為1.6%,漏檢率為2.8%。

        由此可見,權(quán)限、組件、意圖和API 特征在惡意軟件的檢測上是有效的。機器學(xué)習(xí)方法,特別是深度學(xué)習(xí)方法能夠有效發(fā)現(xiàn)特征中隱含的非線性關(guān)系,提升檢測效果。因此,本文采用維度較低的API 特征訓(xùn)練SVM 網(wǎng)絡(luò)模型;采用維度較高的XML 特征訓(xùn)練LSTM 網(wǎng)絡(luò)模型。為了進一步提高Android 惡意軟件的檢測精度,提出了一種基于多特征多模型的檢測方法,主要創(chuàng)新點為:(1)提出了一種API 特征的選取方法,降低對惡意樣本的漏檢率,提高檢測精度。(2)基于API 特征和XML 特征,提出了LSTM-SVM 并聯(lián)檢測模型,結(jié)合概率差融合算法,對惡意軟件進行檢測,在保證漏檢率的條件下,降低誤報率,提高檢測精度。

        1 惡意軟件特征選擇

        Android 應(yīng)用程序的原文件是擴展名為.apk 的壓縮文件,經(jīng)過apktool 來反編譯APK 原文件,可獲取AndroidManifest.xml 和smali 兩類文件。Android-Manifest.xml 文件是應(yīng)用程序的清單文件,描述了全局的數(shù)據(jù),為應(yīng)用程序的運行提供了說明,從中提取所包含的信息可作為一類檢測特征。smali 是Android虛擬機Dalvik 的反匯編語言,每一個smali 文件都對應(yīng)一個Java 類,其中包含了所有的函數(shù)信息。每個應(yīng)用軟件都需要一組Android API 來實現(xiàn)其主要目標和功能,因此應(yīng)用軟件中使用的API 列表代表了應(yīng)用程序的特點[12]。研究發(fā)現(xiàn),惡意軟件與良性軟件在某些API 的調(diào)用上有很大差異[13],從smali 文件中提取API 調(diào)用可作為一類檢測特征。

        1.1 XML 特征及其特征列表構(gòu)建

        AndroidManifest.xml 文件中包含了應(yīng)用程序所需要的權(quán)限(Permission)、組件(Component)、意圖(Intent)、軟硬件、資源等信息,其中惡意軟件和良性軟件在權(quán)限、組件和意圖的使用種類上有較大差異[14],可以選取這幾類信息作為檢測特征。

        Android 系統(tǒng)提供了一個基于Permission 的訪問控制機制,使得應(yīng)用程序的操作行為和敏感數(shù)據(jù)的訪問被嚴格控制。為了完成一定的行為操作,應(yīng)用程序必須向Android 系統(tǒng)申請一些對應(yīng)的系統(tǒng)權(quán)限,因此,系統(tǒng)權(quán)限的使用能夠暗示一個Android 應(yīng)用的行為信息。Component 是Android 應(yīng)用的基本模塊,包括Activity、Service、Broadcast Receiver 和Content Provider。其中,Activity 提供一個開發(fā)人員可以定義的虛擬用戶接口;Service 提供可以執(zhí)行的后臺處理;Broadcast Receiver 提供接收其他應(yīng)用程序信息的通道;Content Provider 提供數(shù)據(jù)庫接口,用來和其他應(yīng)用程序分享數(shù)據(jù)。Intent 可以用來開啟組件或者向其他組件傳送一些重要數(shù)據(jù),它暗示了組件間的交互信息。Intent 有Data、Extras、Action 和Category 4 個重要屬性,其中,Data 和Extras 主要用于存放或傳遞數(shù)據(jù),如電話、郵箱、網(wǎng)址等;Action 代表系統(tǒng)中已經(jīng)定義了的一系列常用動作;Category 用于指定Action 被執(zhí)行的環(huán)境。由于每個應(yīng)用軟件所需的數(shù)據(jù)都不相同,前兩者無法判斷應(yīng)用軟件的良、惡意;后兩者在一定程度上可以反映應(yīng)用程序的動作,且具有固定取值,因此可以用來判斷應(yīng)用軟件的良、惡意[7]。

        本文提取Permission、Component、Intent 信息作為檢測特征,稱為XML 特征。為了構(gòu)建檢測模型,對訓(xùn)練數(shù)據(jù)集中的多個Android 軟件分別提取XML特征,合并后構(gòu)建XML 特征列表。表1 示出了XML特征列表中的部分特征。

        表1 XML 特征示例Table1 Examples of XML features

        1.2 API 特征及其特征列表構(gòu)建

        smali 文件中以“invoke-”開頭表示函數(shù)調(diào)用,可以從中尋找API 及相關(guān)信息。API 代表了應(yīng)用程序的特點,在一定程度上能夠區(qū)分良性和惡意應(yīng)用。API 特征有onCreate、getCacheDir、setFillType、createFromParcel 等。本文提出根據(jù)smali 文件分析API 調(diào)用情況,構(gòu)建API 特征列表。

        為構(gòu)建檢測模型,對訓(xùn)練數(shù)據(jù)集中的多個Android 應(yīng)用軟件分別提取API 特征,API 特征列表構(gòu)建方法如下:

        (1)提取良性應(yīng)用軟件中的API;

        (2)分別統(tǒng)計各API 被多少個良性應(yīng)用軟件調(diào)用過,按照調(diào)用次數(shù)從大到小進行排序,得到一個初始的良性API 列表;

        (3)提取惡意應(yīng)用軟件中的API,進行同樣的操作,得到一個初始的惡意API 列表;

        (4)分別取兩個列表中包含前n個API 的子列表,可以認為經(jīng)過排序操作后選取的兩個子列表在一定程度上代表了良性軟件和惡意軟件的API 調(diào)用分布;

        (5)將兩個子列表合并,刪除重復(fù)的API(使每個API 名稱在列表中僅出現(xiàn)一次),構(gòu)成API 特征列表。

        API 特征列表構(gòu)建流程如圖1 所示。

        圖1 API 特征列表構(gòu)建Fig.1 Construction of API feature list

        1.3 特征向量化

        每個APK 原文件都可以獲得XML 和API 兩組特征。使用apktool 工具對訓(xùn)練集中的每個Android惡意軟件的APK 原文件進行反編譯,獲取每個APK原文件對應(yīng)的AndroidManifest.xml 文件和smali 文件。其次,將xml 文檔表示成樹,通過標簽提取檢測所需要的Permission、Component 和Intent 特征,并構(gòu)成XML 特征列表;對smali 文件中通過判斷每行的前7 個字符是否是“invoke-”找到相應(yīng)位置,提取API 調(diào)用特征,通過分析API 調(diào)用情況構(gòu)成API 特征列表。

        對訓(xùn)練集和測試集中的每個Android 軟件,反編譯后提取XML 特征和API 特征,對照XML 特征列表和API 特征列表,根據(jù)各特征出現(xiàn)與否量化為1 和0,構(gòu)造出每個軟件的特征向量,用于模型訓(xùn)練和檢測。

        2 LSTM-SVM 并聯(lián)檢測模型

        2.1 LSTM-SVM 檢測框架

        從Android 應(yīng)用軟件中可以提取出多種靜態(tài)特征,不同的特征其中隱含的信息也不同。簡單的級聯(lián)合并會使特征維度過高,增加檢測模型訓(xùn)練負擔(dān),同時還會形成特征冗余,影響檢測效果。本文提出構(gòu)建LSTM-SVM 并聯(lián)檢測模型,考慮惡意軟件運行的時序性、特征維度等,對XML 長特征采用LSTM建模,對API 特征采用SVM 建模[15],最終根據(jù)模型預(yù)測概率差確定檢測結(jié)果?;贚STM-SVM 模型的Android 惡意軟件檢測框架如圖2 所示。

        圖2 基于LSTM-SVM 的惡意軟件檢測框架Fig.2 Malware detection framework based on LSTM-SVM

        2.2 基于SVM 的異常檢測模型

        SVM 的本質(zhì)是一種二分類算法,通過求取能使兩類樣本以最大間隔分開的超平面建立分類模型??紤]到惡意樣本數(shù)量較少,API 特征維數(shù)較高,而SVM 在小樣本、高維度的情況下仍具有較強的分類能力和泛化能力,可以在一定程度上克服“維度災(zāi)難”和“過學(xué)習(xí)”的問題[16],本文采用SVM 構(gòu)建基于API 特征的異常檢測模型。

        對于給定的樣本數(shù)據(jù)(x1,y1),(x2,y2), ,(xN,yN),X2 Rd,y2 f+1,?1g,N為樣本數(shù),d為輸入維數(shù),x為提取的API 特征向量,y為類標簽,如果y的值為1,表示對應(yīng)的樣本為良性;如果y的值為-1,表示對應(yīng)的樣本為惡意。根據(jù)SVM 理論,對于待分類樣本存在一個超平面,使得兩類樣本完全分開,該超平面為

        其中:w表示法向量,決定了超平面的方向;b表示偏移量,決定了超平面與原點之間的距離。

        求解超平面可以看成如下二次規(guī)劃問題求解:

        其中:C為懲罰因子,控制對錯分樣本的懲罰程度;ξi為松弛變量,每個樣本都有一個對應(yīng)的松弛變量,表征該樣本不滿足約束的程度。

        求解式(2)可轉(zhuǎn)化為求解其對偶問題:

        其中: αi為拉格朗日乘子,對應(yīng)于 αi>0 的向量稱為

        K?xi,xj)=φ(xi)Tφ?xj)支持向量; 為核函數(shù),常用的核函數(shù)有線性核函數(shù)、多項式核函數(shù)、高斯核函數(shù)等,不同的核函數(shù)將形成不同的算法。決策函數(shù)為

        其中, S gn(x) 代表符號函數(shù),當x<0 時,返回值為-1;當x>0 時,返回值為1;當x=0 時,返回值為0;αi*表示最優(yōu)拉格朗日乘子;b*表示最優(yōu)偏置。

        2.3 基于LSTM-SVM 網(wǎng)絡(luò)的異常檢測模型

        長短期記憶(LSTM)網(wǎng)絡(luò)[17]是為了克服遞歸神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network, RNN)中梯度消失和梯度爆炸問題而提出的一種深度學(xué)習(xí)方法,通常應(yīng)用在具有時間序列的分類問題中。它可以通過基于時間序列的記憶門學(xué)習(xí)長期依賴關(guān)系,模擬多個輸入變量的問題,因此常用于時間序列檢測。此外,由于LSTM 網(wǎng)絡(luò)能夠有效保留長序列數(shù)據(jù)中對最終判定結(jié)果有益的歷史信息,因此,對于挖掘數(shù)據(jù)之間的關(guān)聯(lián)關(guān)系也表現(xiàn)出了良好的效果??紤]到XML特征描述了應(yīng)用軟件的運行特性,其中存在著時序關(guān)系,本文采用LSTM 構(gòu)建基于XML 長特征的異常檢測模型。

        LSTM 添加了記憶單元專門用于保存歷史信息,記憶單元的結(jié)構(gòu)如圖3 所示。每個記憶單元含有3 個輸入:來自原始輸入序列中當前時刻t傳入模型的所有有用數(shù)據(jù)xt、到t-1 時刻模型記錄的歷史狀態(tài)ct-1和所有有用的隱藏信息ht-1。每一個記憶單元的輸出包括當前時刻記錄的所有有用信息ht和當前狀態(tài)ct。

        圖3 LSTM 單元標準結(jié)構(gòu)Fig.3 LSTM unit standard construction

        為了尋找歷史信息中的有效內(nèi)容,輸入數(shù)據(jù)要通過3 個門:遺忘門(f)、輸入門(i)、輸出門(o)。遺忘門負責(zé)判斷是否丟棄歷史信息,它的輸入是歷史隱藏信息ht-1以及當前序列節(jié)點信息xt,使用Sigmoid 函數(shù)輸出一個0 到1 之間的值,表示是否遺忘歷史單元狀態(tài)模式的信息,1 表示保留歷史信息,0 表示遺忘歷史信息。遺忘門的計算如式(5)所示:

        其中:W表示神經(jīng)單元中的權(quán)重矩陣;下標f 表示遺忘門;下標x 表示當前節(jié)點信息;下標h 表示歷史隱藏信息(即Wfx表示遺忘門當前節(jié)點信息的權(quán)重矩陣;Wfh表示遺忘門歷史隱藏信息的權(quán)重矩陣);b為對應(yīng)權(quán)重偏置; σ 表示Sigmoid 函數(shù)。

        同理可得輸入門和輸出門對應(yīng)的計算公式,如式(6)和式(7)所示:

        候選狀態(tài)gt和當前狀態(tài)st決定了在當前單元中可以保留哪些新的信息到下一個神經(jīng)元。

        最終根據(jù)傳輸信息的狀態(tài)確定輸出值,以tanh 函數(shù)處理當前單元狀態(tài),并與輸出門相乘得到當前單元的隱藏信息ht,再傳遞給下一個單元。

        2.4 概率差融合算法

        實際上惡意軟件檢測的本質(zhì)是二分類,對應(yīng)的樣本標簽為正(1)或負(-1),正標簽對應(yīng)良性應(yīng)用,負標簽對應(yīng)惡意軟件。在進行二分類時,LSTM 和SVM 檢測模型輸出的是樣本屬于正、負標簽的概率值,并取較大概率值對應(yīng)的標簽為分類結(jié)果,即:

        其中: l abel 表示得到的樣本標簽;pbenign表示輸入數(shù)據(jù)屬于正標簽(即良性應(yīng)用)的概率;pmalicious表示輸入數(shù)據(jù)屬于負標簽(即惡意軟件)的概率。概率差為

        通常,兩個概率之間的差值越大,可認為模型得到的分類結(jié)果越可靠。

        在LSTM-SVM 并聯(lián)檢測模型中,當兩個檢測模型給出的分類結(jié)果不同時,認為概率差較大的檢測模型給出的預(yù)測結(jié)果更為可靠,即

        其中: ΔpLSTM為LSTM 模型給出的輸入數(shù)據(jù)的概率差; ΔpSVM為SVM 模型給出的輸入數(shù)據(jù)的概率差;labelLSTM為LSTM 模型給出的分類結(jié)果; l abelSVM為SVM 模型給出的分類結(jié)果。

        2.5 算法描述

        基于LSTM-SVM 模型的Android 惡意軟件檢測算法描述如下:

        輸入:APK 文件

        輸出:樣本分類標簽

        (1) apktool 反編譯訓(xùn)練樣本,獲得xml 文件和smali 文件

        (2) 從AndroidManifest.xml 文件中提取XML特征,從smali 文件中提取API 特征,分別構(gòu)建特征列表

        (3) 對應(yīng)特征列表將XML 特征和API 特征映射為0 或1 組成的特征向量

        (4) 基于XML 特征訓(xùn)練LSTM 檢測模型,基于API 特征訓(xùn)練SVM 檢測模型

        (5) 反編譯測試樣本,提取XML 特征和API特征,對應(yīng)特征列表得到XML 和API 特征向量

        (6) 測試樣本的XML 特征向量送入訓(xùn)練好的LSTM 模型,API 特征向量送入訓(xùn)練好的SVM 模型,得到對應(yīng)標簽及概率

        (7) If labelLSTM= labelSVM

        (8) 最終分類標簽label=labelLSTM=labelSVM

        (9) End

        (10) If labelLSTM≠ labelSVMΔpLSTM>ΔpSVM

        (11) If 概率差

        (12) 最終分類標簽label=labelLSTM

        (13) Else

        (14) 最終分類標簽label=labelSVM

        (15) End

        (16) End

        3 實驗部分

        實驗的硬件環(huán)境為Intel Core i5-9300H CPU 2.40 GHz, 8 GB RAM, 軟 件 環(huán) 境 為Windows10,python3.7,apktool。

        3.1 實驗數(shù)據(jù)

        實驗采用CICAndMal2017[18]數(shù)據(jù)集,其中包含了1 700 個良性軟件和426 個惡意軟件。該數(shù)據(jù)集的良性樣本多于惡意樣本,符合現(xiàn)實世界中良性軟件多于惡意軟件的狀況。實驗時,對數(shù)據(jù)集按照訓(xùn)練集、驗證集和測試集分別為60%、20%和20%進行隨機劃分,各部分數(shù)量如表2 所示。在構(gòu)建各特征序列時,都只使用訓(xùn)練集中的樣本,以保證測試集中的樣本對于檢測都是未知軟件。

        表2 數(shù)據(jù)集劃分Table2 Data set partition

        表3 示出了API 和XML 兩類特征的數(shù)量??梢钥吹?,API 特征維度為2 253,維度較高;XML 特征中的3 類特征合并后維度達23 893,屬于高維特征。

        表3 特征類別及其數(shù)量Table3 Category and quantity of features

        3.2 評價指標

        表4 列出了4 個基本評價指標。其中,N(Negative)代表標簽為惡意軟件;P(Positive)代表標簽為良性軟件;TN 代表真實標簽是N、模型分類為N 的軟件數(shù)量;FN 代表真實標簽是P、模型分類為N 的軟件數(shù)量;TP 代表真實標簽是P、模型分類為P 的軟件數(shù)量;FP 代表真實標簽是N、模型分類為P 的軟件數(shù)量。

        表4 基本評價指標Table4 Basic evaluation index

        基于4 個基本指標,定義以下評估指標:

        準確率(ACC):被正確識別出來的惡意軟件和良性軟件個數(shù)在樣本總數(shù)中的占比。

        良性檢測率(TPR):被正確識別出來的良性軟件個數(shù)在所有良性軟件個數(shù)中的占比。

        漏檢率(FPR):被錯誤識別為良性的惡意軟件個數(shù)在所有惡意軟件個數(shù)中的占比。

        3.3 實驗結(jié)果及分析

        實驗中,LSTM 模型的神經(jīng)元數(shù)量為256,采用的優(yōu)化器為adam,學(xué)習(xí)率為0.001,使用的損失函數(shù)為sparse_categorical_crossentropy,SVM 模型的懲罰因子C=0.1。

        3.3.1 XML 特征實驗 為了驗證XML 特征的有效性,XML特征中包含了Permission、Component和Intent 3 類特征,采用LSTM 模型,對比單獨使用3 類特征和XML 特征的分類結(jié)果,如圖4 所示。

        由圖4 可知,采用XML 特征的ACC 為96.48%,高于3 類特征單獨使用時的94.13%、94.13%和92.48%;采用XML 特征的FPR 為6.98%,明顯低于3 類特征單獨使用時的18.6%、17.44%和31.4%,這是因為各分特征都只描述了程序應(yīng)用清單的一個方面,單獨使用時不能刻畫特征間的內(nèi)在聯(lián)系,使得準確率較低、漏檢率較高??梢?,使用XML 特征比單獨使用Permission、Component 和Intent 3 類特征更有效。

        圖 4 3 類特征和XML 特征檢測結(jié)果比較Fig. 4 Comparison of detection results of three types of features and XML features

        3.3.2 API 特征子列表長度對比實驗 每個應(yīng)用軟件所用到的API 數(shù)量不同,多的甚至達到上萬個,但并不是所有的API 調(diào)用對惡意軟件的檢測都是有效的,所選取的API 序列也不是越長越好,選取的序列過長會使得無用信息增加,稱為冗余特征。為了在API 特征原始列表中選取合適的子列表長度n,采用SVM 模型進行檢測,實驗結(jié)果如表5 所示。

        從表5 中可以看出,雖然TPR 隨著API 子列表長度(n)的增加而變大,但是FPR 在API 子列表長度達到2 000 時取得最小,更長的子列表對惡意軟件的識別沒有更大的作用,因此API 子列表長度取2 000是合理的。

        表5 不同API 特征子列表長度檢測結(jié)果對比Table5 Comparison of detection results of different API feature sublist lengths

        3.3.3 特征融合方式對比實驗 實驗采用LSTM 檢測模型,對比使用XML 特征、XML 特征與API 特征向量級聯(lián)(XML+API)、XML 特征與API 特征向量并聯(lián)(XML-API)時的分類結(jié)果。這里,XML 特征與API特征向量并聯(lián)指對兩種特征分別采用LSTM 建模,輸出結(jié)果采用概率差融合算法判斷。實驗結(jié)果如表6 所示。

        從表6 中可以看出,在XML 特征的基礎(chǔ)上引入API 特征,ACC 和TPR 都有所提高,但在級聯(lián)模式下,F(xiàn)PR 最大,這意味著有更多的惡意軟件被漏檢。而XML 特征與API 特征并聯(lián)使用,在不增加漏檢率的條件下提升了ACC 和TPR??梢?,將XML 特征與API 特征采用并聯(lián)方式建模是合理有效的。

        表6 不同特征融合方式檢測結(jié)果比較Table6 Comparison of detection results of different feature fusion methods

        3.3.4 基于XML 特征的不同算法模型對比實驗 為了驗證基于XML 特征的LSTM 檢測模型的有效性,實驗基于XML 特征,對比了LSTM 模型、SVM 模型、RF(Random Forest)模型、MLP(Multi_Layer Perceptron)模型、CNN(Convolutional Neural Networks)模型的實驗結(jié)果,如表7 所示。

        從表7 中可以看出,對于XML 特征,幾個模型的TPR 相差不大,RF 模型和CNN 模型的TPR 略高于LSTM 模型,但LSTM 模型的FPR 指標最低,即漏檢率最低。因此,基于XML 特征選擇LSTM 模型是有效的。

        表7 基于XML 特征的不同模型檢測結(jié)果比較Table7 Comparison of detection results of different models based on XML features

        3.3.5 基于API 特征的不同算法模型對比實驗 為了驗證基于API 特征的SVM 檢測模型的有效性,實驗基于API 特征,對比了上述幾種不同模型的檢測結(jié)果,以及SVM模型采用線性核(Linear)、高斯核(RBF)和多項式核(Poly)的檢測結(jié)果,如表8 所示。

        表8 基于API 特征的不同模型檢測結(jié)果比較Table8 Comparison of detection results of different models based on API features

        從表8 看出,采用LSTM 模型的TPR 最高,但FPR 也偏高;使用SVM(Poly)模型的FPR 最低,但ACC 和TPR 也偏低。SVM(Linear)模型的ACC 和TPR 較高,F(xiàn)PR 較低,整體性能好于其他模型。因此,對于API 特征,后續(xù)采用SVM(Linear)模型。

        3.3.6 并聯(lián)模型對比實驗 為了驗證LSTM-SVM 并聯(lián)模型的有效性,以基于XML 特征的LSTM 模型作為基礎(chǔ)對比模型(Baseline),分別將基于API 特征的SVM 模型、RF 模型、LSTM 模型、MLP 模型、CNN模型與基礎(chǔ)模型進行并聯(lián),采用概率差融合算法給出檢測結(jié)果,如表9 所示。

        從表9 中可以看出,采用并聯(lián)檢測模型可以有效提升檢測精度。同時,相較于其他并聯(lián)模型,本文的LSTM-SVM 模型具有最高的ACC 和TPR,分別為98.12%和99.41%,具有最低的FPR,為6.98%,模型具有最佳性能。

        表9 并聯(lián)模型的對比實驗結(jié)果Table9 Comparison of parallel models experiments

        4 結(jié)束語

        提出了一種基于LSTM-SVM 模型的Android 惡意軟件檢測方法。從Android 惡意軟件反編譯后獲得的AndroidManifest.xml 文件中提取Permission、Component、Intent 信息組成XML 特征列表,從smali文件提取API 特征,并通過分析API 調(diào)用情況構(gòu)建API 特征列表;基于XML 特征構(gòu)建了LSTM 異常檢測模型,基于API 特征構(gòu)建了SVM 異常檢測模型,兩個模型采用并聯(lián)模式,基于概率差融合算法給出檢測結(jié)果。實驗結(jié)果表明,與單特征單模型、多特征單模型、多特征級聯(lián)模型相比,基于多特征多模型的LSTM-SVM 模型檢測方法具有更高的檢測精度。未來考慮進一步在虛擬機或沙箱環(huán)境中運行惡意軟件獲取動態(tài)特征,從靜態(tài)和動態(tài)兩個方面描述惡意行為,進一步提高Android 惡意軟件檢測效果。

        猜你喜歡
        列表并聯(lián)良性
        巧用列表來推理
        走出睡眠認知誤區(qū),建立良性睡眠條件反射
        中老年保健(2022年6期)2022-08-19 01:41:22
        識別串、并聯(lián)電路的方法
        呼倫貝爾沙地實現(xiàn)良性逆轉(zhuǎn)
        學(xué)習(xí)運用列表法
        擴列吧
        基層良性發(fā)展從何入手
        審批由“串聯(lián)”改“并聯(lián)”好在哪里?
        并聯(lián)型APF中SVPWM的零矢量分配
        一種軟開關(guān)的交錯并聯(lián)Buck/Boost雙向DC/DC變換器
        人妻少妇久久久久久97人妻 | 日韩高清在线观看永久| 456亚洲老头视频| 免费观看在线视频一区| 漂亮丰满人妻被中出中文字幕| 成人影院yy111111在线| 乱子真实露脸刺激对白| 亚洲青青草视频在线播放| 亚洲av高清一区二区在线观看| 久久久久av无码免费网| 18无码粉嫩小泬无套在线观看| 饥渴的熟妇张开腿呻吟视频| 91精品国产91久久久无码95| 亚洲麻豆av一区二区| 黑人老外3p爽粗大免费看视频| 天干天干天啪啪夜爽爽av| 亚洲AV伊人久久综合密臀性色| 亚洲综合天堂一二三区| 白嫩丰满少妇av一区二区| 亚洲综合精品伊人久久| 国产无码十八禁| 丝袜美腿在线观看视频| 久久久久国产精品| 久久久久99精品国产片| 久久国产精品男人的天堂av| 一区二区三区四区中文字幕av | 黄色视频免费在线观看| 午夜国产精品久久久久| 国产精品一区二区夜色不卡| 少妇扒开毛茸茸的b自慰| 久久天天躁狠狠躁夜夜96流白浆| 亚洲精品综合在线影院| 日韩美女亚洲性一区二区| 国产激情电影综合在线看| 人妻丰满熟妇AV无码片| 小黄片免费在线播放观看| 久久久久人妻精品一区三寸| 亚洲一区二区三区日本久久九| 日本亚洲成人中文字幕| 久久久精品国产亚洲av网深田 | 久久久国产一区二区三区四区小说|