国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于系統(tǒng)調(diào)用的智能終端惡意軟件檢測框架

2020-06-12 09:17:38陳怡西景小榮
計算機(jī)工程與設(shè)計 2020年6期
關(guān)鍵詞:調(diào)用標(biāo)簽框架

王 寧,王 丹,陳怡西,景小榮,2

(1.重慶郵電大學(xué) 通信與信息工程學(xué)院,重慶 400065;2.重慶郵電大學(xué) 移動通信技術(shù)重慶市重點(diǎn)實(shí)驗(yàn)室,重慶 400065)

0 引 言

Android智能終端在市場中占有率高[1]主要有以下幾個因素:Android智能終端的開源性,生產(chǎn)商可以根據(jù)需求定制不同的系統(tǒng),用戶同樣能編寫自己喜歡的應(yīng)用軟件;硬件兼容性高,跨平臺特性強(qiáng),Android生產(chǎn)商不斷推出各種設(shè)備來吸引顧客,比如平板、電視等,而且上層應(yīng)用也可以向多種產(chǎn)品移植,用戶體驗(yàn)豐富,性價比高。相比與其它操作系統(tǒng)的智能終端,在同樣的價格下,Android智能終端具有絕對的性價比優(yōu)勢,應(yīng)用豐富且開發(fā)門檻低。

然而智能終端產(chǎn)品質(zhì)量問題被頻頻報道,特別是Android平臺下的一些惡意應(yīng)用給用戶造成很多難以彌補(bǔ)的損失。這些惡意應(yīng)用分為病毒類、木馬類、后門類、僵尸類等多種類型,它們在使用者未授權(quán)的情況下執(zhí)行違法行為,進(jìn)而造成數(shù)據(jù)和信息泄露,財產(chǎn)損失等問題,極大地影響了消費(fèi)者對智能終端產(chǎn)品的信心。根據(jù)調(diào)研,由于Android產(chǎn)品軟件和硬件的各種質(zhì)量問題,用戶流失比例較高,嚴(yán)重制約了該產(chǎn)業(yè)的發(fā)展[2]。

1 相關(guān)工作

針對上述問題,學(xué)術(shù)界和產(chǎn)業(yè)界的研究者越來越重視Android的安全研究。安全軟件商如360公司、騰訊公司等,以監(jiān)控權(quán)限的使用、維護(hù)服務(wù)器建立惡意軟件庫等為切入點(diǎn),來保護(hù)設(shè)備的安全,但這些方法都有著明顯的不足:一方面,對于多數(shù)使用者來講,它們沒有足夠?qū)I(yè)的知識對當(dāng)前軟件的安全進(jìn)行判斷;另一方面,搭建惡意軟件數(shù)據(jù)庫這一方法已經(jīng)很難對未知家族的惡意軟件或已知家族惡意軟件的變種進(jìn)行檢測。華為應(yīng)用市場審核應(yīng)用時,則采用人工與機(jī)器相結(jié)合的方法確保應(yīng)用的安全,但是Android惡意軟件一直層出不窮,沒有妥善地解決該問題。學(xué)術(shù)界則把惡意軟件檢測技術(shù)主要分為軟件代碼的靜態(tài)檢測和運(yùn)行時的動態(tài)檢測兩種。

靜態(tài)檢測技術(shù)的主要思想在于掃描軟件的源程序或者二進(jìn)制代碼,通過直接分析被檢測程序的特征,進(jìn)而查詢程序的異常狀態(tài)。Wei W等[3]則通過計算單個權(quán)限(Permission)和惡意軟件之間的關(guān)聯(lián)度,分別從3方面系統(tǒng)地分析了以Permission為判斷規(guī)則的有效性和局限性。Daniel A等[4]收集了大量安裝包中的可獲得信息(如請求的Permission、應(yīng)用組件等),反編譯后的信息(如API調(diào)用、網(wǎng)絡(luò)地址等),并通過支持向量機(jī)(support vector machine,SVM)分類軟件,然而此方法只在單個應(yīng)用程序上性能較優(yōu)。Manzhi Y等[5]對APK文件反編譯后,將文件各個部分映射成圖像,依據(jù)其產(chǎn)生的不同視覺特征,通過機(jī)器學(xué)習(xí)進(jìn)行惡意代碼分類。目前己形成的靜態(tài)分析工具有androguard等。

然而,靜態(tài)檢測中無法對混淆代碼、加殼代碼進(jìn)行分析,動態(tài)檢測技術(shù)則彌補(bǔ)了此缺陷,該技術(shù)是通過實(shí)時追蹤軟件在模擬器中運(yùn)行時的行為特征,然后對其進(jìn)行處理的過程。在所有動態(tài)檢測工作中最為著名的是Enck W等[6]提出的污點(diǎn)標(biāo)記追蹤技術(shù),在該方法中,當(dāng)軟件的目標(biāo)代碼在Dalvik虛擬機(jī)中運(yùn)行時,標(biāo)記相關(guān)污點(diǎn)數(shù)據(jù),進(jìn)而對敏感數(shù)據(jù)的流向進(jìn)行跟蹤。但本地代碼中的隱私泄露問題無法得到解決。Tam K等[7]提出了一款名為CopperDroid的框架,將應(yīng)用軟件放置在沙盒測試環(huán)境中,一邊與外部系統(tǒng)交互,一邊利用操作系統(tǒng)中的系統(tǒng)調(diào)用(system call,SC)等信息,以達(dá)到還原應(yīng)用行為的目的,缺點(diǎn)是該框架只適用于離線分析。Stephan H等[8]綜合了API監(jiān)控、內(nèi)核系統(tǒng)調(diào)用監(jiān)控、污點(diǎn)標(biāo)記追蹤等動態(tài)分析方式,通過多種技術(shù)以觸發(fā)應(yīng)用行為,從而在隱私泄露等方面的分析中取得了較好的效果,但是它對于計算資源和電量并不充裕的移動設(shè)備來說是不小的開銷。Mayank J等[9]提出了以系統(tǒng)調(diào)用為分析對象的動態(tài)檢測系統(tǒng),并分析了良性和惡意軟件系統(tǒng)調(diào)用之間的相似性和差異性,該系統(tǒng)使檢測惡意應(yīng)用程序的資源消耗更小,但是沒有考慮系統(tǒng)調(diào)用之間的關(guān)聯(lián)性。Xi X等[10]提出了一種基于系統(tǒng)調(diào)用序列的馬爾可夫鏈反向傳播神經(jīng)網(wǎng)絡(luò),該方法把一個系統(tǒng)調(diào)用序列看作一個齊次平穩(wěn)的馬爾可夫矩陣,通過應(yīng)用反向傳播神經(jīng)網(wǎng)絡(luò),比較矩陣中的轉(zhuǎn)移概率來檢測惡意軟件,但復(fù)雜度較高。因此,動態(tài)檢測時間較長,實(shí)時性不高,效率低,系統(tǒng)資源消耗較多。文獻(xiàn)[11]則提出一種基于系統(tǒng)調(diào)用頻率的新型惡意軟件檢測方法,但此方法并未考慮系統(tǒng)調(diào)用之間的相關(guān)性和整體性。相較之下,文獻(xiàn)[12]提出的自動分類框架將系統(tǒng)調(diào)用之間的相關(guān)性考慮在內(nèi),但該框架容易導(dǎo)致過擬合。目前已形成的動態(tài)分析工具有Droidbox等。

通過上述對惡意軟件的檢測研究現(xiàn)狀的分析發(fā)現(xiàn),靜態(tài)檢測和動態(tài)檢測均存在著大量亟待解決的問題,動態(tài)檢測技術(shù)能由于能夠?qū)崿F(xiàn)對加密惡意軟件進(jìn)行分析,因此,更具研究價值。但是,目前基于動態(tài)檢測的惡意軟件檢測方案存在檢測準(zhǔn)確率低等問題;其次,Android的惡意軟件檢測技術(shù)一般基于特征提取,而提取的特征種類和維度對檢測效率起著決定性的作用??紤]到這些因素,本文通過對智能終端中的惡意軟件樣本進(jìn)行動態(tài)分析,提出了一種基于系統(tǒng)調(diào)用的惡意軟件動態(tài)檢測框架。該惡意檢測框架不但能豐富這一研究領(lǐng)域,而且根據(jù)仿真結(jié)果,顯示其具有很強(qiáng)的實(shí)用性。

2 基于系統(tǒng)調(diào)用序列的動態(tài)檢測框架

2.1 惡意軟件動態(tài)檢測框架描述

基于以上分析與研究,本文提出的基于系統(tǒng)調(diào)用序列的惡意軟件動態(tài)檢測框架,如圖1所示。該框架的內(nèi)容主要分為3個階段:第一階段為特征提?。捍罱ㄉ澈袦y試環(huán)境,自動化安裝待檢測樣本,模擬和激發(fā)待測樣本的動態(tài)行為,同時使用檢測工具記錄動態(tài)行為的日志,進(jìn)而提取出待測樣本信息;第二階段為特征預(yù)處理:將動態(tài)行為的日志信息進(jìn)行預(yù)處理,該階段包括數(shù)據(jù)降維,特征標(biāo)簽化處理和去冗余3個步驟;第三階段為機(jī)器學(xué)習(xí)分類處理:在學(xué)習(xí)前構(gòu)建系統(tǒng)調(diào)用的馬爾可夫矩陣,并將結(jié)果轉(zhuǎn)化為SVM能夠識別的格式,進(jìn)而將訓(xùn)練集輸入進(jìn)行有效實(shí)驗(yàn),得出訓(xùn)練好的分類模型用于判斷。最后對惡意樣本和正常樣本的混合測試集進(jìn)行檢測,得出檢測結(jié)果。

圖1 動態(tài)檢測框架

2.2 動態(tài)特征提取

在惡意軟件的動態(tài)檢測框架中,如何提取特征是整個流程的重點(diǎn)工作。本文通過監(jiān)控并記錄系統(tǒng)調(diào)用完成特征提取,原因有二。其一,Android操作系統(tǒng)采用了分層的架構(gòu)形式,其底層為Linux內(nèi)核層,系統(tǒng)調(diào)用是Android系統(tǒng)與軟件之間交互的底層接口,能夠充分反映應(yīng)用程序執(zhí)行過程中的行為;其二,某些系統(tǒng)調(diào)用在惡意軟件和正常軟件的使用頻率和使用規(guī)則中存在明顯差異,例如,名為read的系統(tǒng)調(diào)用在樣本中的概率轉(zhuǎn)移特性和調(diào)用頻率與在正常軟件中明顯不同時,那么這一樣本是惡意樣本的可能性就越高。

其具體步驟如下:首先獲取模擬器或者Android設(shè)備的超級管理員(Root)權(quán)限,下載并安裝超級管理員軟件(Android debug bridge device,ADBD)并開啟超級管理員模式,否則設(shè)備在啟動系統(tǒng)用戶空間跟蹤器(Strace)命令時會警告并提示未獲得權(quán)限(permission not allowed);其次獲取待測樣本的進(jìn)程身份編號(personal ID,PID),進(jìn)而利用Strace命令提取系統(tǒng)調(diào)用的動態(tài)特征,如果設(shè)備中沒有Strace命令,則需要使用調(diào)試工具(Android debug bridge,ADB)命令將相應(yīng)版本的Strace可執(zhí)行文件放置于設(shè)備系統(tǒng)程序集緩存(bin)下,若有權(quán)限問題,則進(jìn)行重新掛載,并使用命令增加工具的可執(zhí)行權(quán)限即可;然后利用模擬人工操作工具(Monkey)在樣本軟件上模擬人工操作,等待程序自動運(yùn)行一段時間后,殺死進(jìn)程,此處需要保證每個待測樣本運(yùn)行時間一致;最后將樣本日志文件以文本(TXT)格式記錄保存后,去除掉亂碼部分,同時把系統(tǒng)調(diào)用的參數(shù)部分全部去除,進(jìn)而得到按時間順序輸出的系統(tǒng)調(diào)用序列。上述過程的流程如圖2所示。在實(shí)驗(yàn)實(shí)施過程中使用了多個調(diào)試監(jiān)控工具,表1對這些工具進(jìn)行了匯總。

圖2 特征提取流程

表1 工具匯總

2.3 特征預(yù)處理

特征預(yù)處理階段的目的是小幅度降低檢測率的同時大幅度降低檢測復(fù)雜度,該階段主要包含數(shù)據(jù)降維、特征標(biāo)簽化和去冗余3個步驟。在數(shù)據(jù)降維和去冗余時需要選取合適的閾值,本章后續(xù)章節(jié)將具體介紹,下面將詳細(xì)描述特征預(yù)處理過程。

2.3.1 數(shù)據(jù)降維

惡意軟件檢測一般基于特征提取,而提取的特征種類和維度起著決定性的作用,特征維度過多會導(dǎo)致檢測時間過長,特征提取少又會導(dǎo)致檢測準(zhǔn)確率下降。目前,研究人員通常以犧牲效率為代價,提取出多維度特征,換取檢測準(zhǔn)確率的提升,如何對多維度特征篩選和降維并達(dá)到同等檢測準(zhǔn)確率是一大難點(diǎn)。

本文實(shí)驗(yàn)中的操作系統(tǒng)包含196個系統(tǒng)調(diào)用,由于后期需要針對系統(tǒng)調(diào)用構(gòu)建馬爾可夫矩陣,如果不降維處理維度將高達(dá)196的平方。信息增益(information gain,IG)法是在決策樹算法中用來選擇特征的方法,它能夠很好地衡量特征為分類系統(tǒng)帶來信息量的多少,因此本文采用信息增益法對系統(tǒng)調(diào)用按照不同重要程度進(jìn)行量化評分,并按評分高低對系統(tǒng)調(diào)用進(jìn)行分類處理。定義待分類系統(tǒng)調(diào)用集合C的熵H(C)與某系統(tǒng)調(diào)用T的條件熵H(C|T)之差為系統(tǒng)調(diào)用T給系統(tǒng)帶來的信息增益IG(T),即

IG(T)=H(C)-H(C|T)

(1)

其中

(2)

(3)

(4)

(5)

將式(2),式(3),式(4)和式(5)帶入式(1),則

(6)

根據(jù)IG方法,得到全部系統(tǒng)調(diào)用的評分見表2,IG(T)越大,特征T對分類結(jié)果越重要。然后根據(jù)評分選擇合適的閾值(閾值的選擇在下一節(jié)我們將通過數(shù)值仿真給出),將196個系統(tǒng)調(diào)用分為“重要”和“無用”兩個部分,將“重要”部分作為主要特征。例如,表2中flock的評分高于rename,那么flock這一系統(tǒng)調(diào)用在惡意軟件和正常軟件之間差異較大,比rename更適合作為評價指標(biāo),即更“重要”。但“無用”部分也會對檢測帶來影響,由于系統(tǒng)調(diào)用數(shù)量較多,對于“無用”部分,屬于同一類別的系統(tǒng)調(diào)用合并為一類,本文將其按照屬性不同劃分為文件類,進(jìn)程類,網(wǎng)絡(luò)管理類,內(nèi)存類,系統(tǒng)類,進(jìn)程通信類和用戶管理類7個類型,實(shí)現(xiàn)數(shù)據(jù)降維。

表2 工具匯總系統(tǒng)調(diào)用評分(部分)

2.3.2 特征標(biāo)簽化

特征標(biāo)簽化處理是為了使數(shù)據(jù)能夠被機(jī)器學(xué)習(xí)處理。首先,將降維后的系統(tǒng)調(diào)用映射為標(biāo)簽值,一個標(biāo)簽代表一個向量維度,映射函數(shù)表達(dá)式如下

Label=QSC

(7)

其中,Q表示從系統(tǒng)調(diào)用到標(biāo)簽值的映射函數(shù),Label為輸出的標(biāo)簽值,一個Label代表一個維度,SC表示系統(tǒng)調(diào)用。在該映射函數(shù)中,“重要”部分的系統(tǒng)調(diào)用與標(biāo)簽值一一映射,而對于“無用”部分,屬于同一類別的系統(tǒng)調(diào)用映射為同一個標(biāo)簽值,實(shí)現(xiàn)多對一映射,并將所得系統(tǒng)調(diào)用與標(biāo)簽值之間的映射關(guān)系存儲到數(shù)據(jù)庫。

其次,樣本根據(jù)數(shù)據(jù)庫中的映射關(guān)系,將按時間順序輸出的系統(tǒng)調(diào)用映射成Label依次輸出,從而得到標(biāo)簽化的系統(tǒng)調(diào)用序列,如圖3所示。

圖3 標(biāo)簽化的系統(tǒng)調(diào)用序列

2.3.3 去冗余

針對以上問題,本文提出了改進(jìn)的TF-IDF算法和N-gram平滑算法相結(jié)合的方案對軟件中的冗余信息進(jìn)行去除。在該方案中,首先使用N-gram算法,將文本劃分為多個子序列,然后用改進(jìn)的TF-IDF算法評價子序列,選擇合適的閾值去除評分低的子序列,將評分高的子序列重新連接即可。具體內(nèi)容如下:

首先對圖3所示的序列進(jìn)行N-gram處理,根據(jù)文獻(xiàn)[13],N取值為3時性能較優(yōu),具體方法示例如圖4所示,Si表示系統(tǒng)調(diào)用,每3個相鄰的系統(tǒng)調(diào)用構(gòu)成一個子序列,每次平滑一個單位,獲取下一個子序列,直至遍歷完樣本,并將N-gram得到子序列的順序與出現(xiàn)的次數(shù)保存在數(shù)據(jù)庫中待用。

圖4 標(biāo)簽化的系統(tǒng)調(diào)用序列

傳統(tǒng)的TF-IDF算法用以評估一個詞對于一個文件的重要程度。本文采用改進(jìn)的TF-IDF算法對N-gram算法得到的子序列進(jìn)行量化評分,以評估子序列對樣本庫的重要程度。TF是某個子序列出現(xiàn)的頻率,即某個子序列在樣本庫中的頻率,其計算公式如下

(8)

其中,TFj為子序列tj在樣本庫中出現(xiàn)的頻率;nj為子序列tj在樣本庫中出現(xiàn)的次數(shù)。IDF,即“反文檔頻率”,其計算公式如下

(9)

其中,IDFj表示子序列tj的反文檔頻率;|D|表示樣本庫中的樣本總數(shù);|i:tj∈di|表示出現(xiàn)子序列tj的日志總數(shù);tj∈di表示子序列tj在動態(tài)行為日志di中出現(xiàn);+1是防止分母為0。最后子序列tj的評分為:TFj*IDFj。

最后根據(jù)評分從大到小選取合適的閾值(閾值的選擇在下一節(jié)我們將通過數(shù)值仿真給出),去除評分小的冗余信息,僅保留評分大的“重要數(shù)據(jù)”,并對這些子序列重新進(jìn)行合并,某一樣本合并流程的偽代碼見表3,在程序執(zhí)行過程中由于Index的值不同而會影響子序列的連接方式,因此在設(shè)置子序列的連接方式中,樣本首尾的兩個系統(tǒng)調(diào)用會直接保存,不做去冗余處理,從而得到去冗余后的系統(tǒng)調(diào)用序列。相比于將標(biāo)簽化后的系統(tǒng)調(diào)用序列直接分類處理,去冗余能夠在一定幅度上提高檢測結(jié)果。

表3 子序列連接方式

2.4 機(jī)器學(xué)習(xí)分類

通常情況下,在SVM中,用樣本點(diǎn)與超平面之間的距離來表示分類的準(zhǔn)確率。最大化該距離的平均值則是SVM的目的。如圖5所示,黑點(diǎn)和白點(diǎn)分別代表不同類別的樣本,通過兩條虛線之間的超平面以完成分類,但僅僅實(shí)線部分所表示的超平面能夠取得最大的區(qū)分間隔,使分類器達(dá)到最優(yōu)的分類目的,即實(shí)線代表的超平面為決策最優(yōu)超平面。SVM的邊界為兩條虛線上的3個樣本,它們是找尋最優(yōu)分類超平面的重要依據(jù),被稱為支持向量。本文中Android惡意軟件的檢測判別是一個二分類問題,而SVM正是一種特殊的二類分類模型,并且該模型在解決樣本量較小以及高維度識別問題方面具有優(yōu)勢,因此適用于軟件檢測領(lǐng)域。

圖5 SVM原理

由于直接訓(xùn)練樣本會導(dǎo)致復(fù)雜度過高,每個應(yīng)用程序的系統(tǒng)調(diào)用序列都可表示為一個離散的馬爾可夫矩陣,因此在訓(xùn)練測試樣本之前首先構(gòu)建馬爾可夫矩陣以最大程度地還原系統(tǒng)調(diào)用序列的原始結(jié)構(gòu)。假設(shè)預(yù)處理階段得到M個標(biāo)簽值,在標(biāo)簽化后的系統(tǒng)調(diào)用序列中,則每個樣本中的系統(tǒng)調(diào)用之間的概率轉(zhuǎn)移關(guān)系可以用一個M*M的矩陣表示為

(10)

其中,pl,q是指樣本調(diào)用標(biāo)簽l對應(yīng)的系統(tǒng)調(diào)用后,再調(diào)用標(biāo)簽q對應(yīng)的系統(tǒng)調(diào)用的概率,pl是標(biāo)簽l對應(yīng)的系統(tǒng)調(diào)用轉(zhuǎn)移到其它系統(tǒng)調(diào)用的概率矢量。接著將數(shù)據(jù)轉(zhuǎn)化為SVM能夠識別的格式,即p1…pl…pM,將其作為支持向量機(jī)的輸入,最后把正常軟件和惡意軟件的混合訓(xùn)練集部分導(dǎo)入到系統(tǒng)中,惡意樣本標(biāo)記為1,正常樣本標(biāo)記為0,進(jìn)行有效性實(shí)驗(yàn)訓(xùn)練,從而得出訓(xùn)練好的分類模型用于判斷;最后樣本檢測,進(jìn)而得出檢測結(jié)果。

3 實(shí)驗(yàn)結(jié)果及分析

3.1 數(shù)據(jù)集和評判指標(biāo)

本文實(shí)驗(yàn)數(shù)據(jù)集中的非惡意軟件來源于小米官方網(wǎng)站,其Android安裝包通過Scrapy爬蟲獲取得到;而實(shí)驗(yàn)數(shù)據(jù)集中的惡意軟件來源于國外開源網(wǎng)站VirusShare。用到的分類模型工具包為LIBSVM。

根據(jù)學(xué)術(shù)界的規(guī)則,在惡意軟件的判別標(biāo)準(zhǔn)中,主要包括以下幾個度量:判別準(zhǔn)確率ACC(accuracy),真陽性率TPR(true positive rate),假陽性率FPR(false positive rate)。其中ACC定義為

(11)

TPR定義為

(12)

FPR定義為

(13)

在上述公式中,TP(true positive)表示是惡意軟件且分類判別正確的樣本數(shù)量;FN(false negative)表示是惡意軟件但分類錯誤的樣本數(shù)量;TN(true negative)表示是正常軟件且判定正確的樣本數(shù)量;而FP(false positive)表示是正常軟件但分類錯誤的樣本數(shù)量,所有的待測應(yīng)用都可以歸屬為以上4類之一,ACC表示所有被分類正確的樣本占總樣本的比例,TPR表示惡意樣本的分類準(zhǔn)確率,而FPR表示正常樣本的分類錯誤率。TP與TN越大,F(xiàn)N與FP越小分類效果越好。其次當(dāng)TPR相等時,F(xiàn)PR越小檢測效果越好;當(dāng)FPR相等時,TPR越大檢測效果越好;ACC越大,分類的準(zhǔn)確率越高;這些度量可以完善衡量本文方法的優(yōu)越性。

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

本實(shí)驗(yàn)從1026個惡意樣本和1034個良性樣本分別隨機(jī)選取800個樣本組成訓(xùn)練集,剩下的部分組成測試集。

在閾值選擇方面,保留的系統(tǒng)調(diào)用數(shù)量越多,檢測準(zhǔn)確率越高,但復(fù)雜度也會隨之增高。本文同時兼顧復(fù)雜度和檢測準(zhǔn)確率,以犧牲小幅度檢測準(zhǔn)確率為代價,換取復(fù)雜度的大幅度降低。具體而言,本方案根據(jù)評分高低,從高到低分別選取數(shù)量為20、40、60、80、100、120和140的系統(tǒng)調(diào)用進(jìn)行標(biāo)簽化處理,未被選取的部分不做處理,從而得到系統(tǒng)調(diào)用和檢測準(zhǔn)確率之間的關(guān)系如圖6所示。

圖6 系統(tǒng)調(diào)用數(shù)量-檢測率關(guān)系

根據(jù)圖6,可發(fā)現(xiàn)系統(tǒng)調(diào)用數(shù)量在40時檢測準(zhǔn)確率超過90%,故本文以此為轉(zhuǎn)折點(diǎn),選取數(shù)量40為閾值,對應(yīng)的檢測準(zhǔn)確率為92.1%,接著按照屬性的不同合并“無用”命令組成文件類等7種類型的系統(tǒng)調(diào)用,因此通過特征映射后共有47個標(biāo)簽用以檢測,從而進(jìn)一步提高檢測準(zhǔn)確率,可達(dá)到96.9%。

在去冗余的閾值選擇方面,根據(jù)評分高低,子序列可劃分為“重要”與“冗余”兩個部分,但兩部分的臨界點(diǎn)未知。在本文中,評分越高數(shù)據(jù)越重要,評分低的子序列為冗余量,因此按照評分從低到高進(jìn)行系統(tǒng)調(diào)用去除,最后得到去冗余后的系統(tǒng)調(diào)用序列。冗余數(shù)據(jù)的去除量和檢測準(zhǔn)確率之間的關(guān)系如圖7所示。

圖7 冗余數(shù)據(jù)的去除量-檢測準(zhǔn)確率關(guān)系

根據(jù)圖7,冗余數(shù)據(jù)的去除量,即數(shù)據(jù)庫中的子序列較少時對檢測準(zhǔn)確率無影響,接著檢測準(zhǔn)確率會隨著冗余數(shù)據(jù)去除量的增加而提高,在去除3000個冗余子序列時檢測準(zhǔn)確率達(dá)到峰值,之后,檢測準(zhǔn)確率會隨著冗余數(shù)據(jù)去除量的增加而降低,這是因?yàn)槿コ臄?shù)據(jù)包含了重要信息而非冗余,所以檢測率會下降。因此選取閾值為3000。實(shí)驗(yàn)得到的分類結(jié)果中,ACC為97.8%,TPR為97.4%,F(xiàn)PR為1.7%。

實(shí)驗(yàn)結(jié)果表明本文經(jīng)過預(yù)處理后的檢測結(jié)果既能保證較優(yōu)的檢測效果,又能大幅度降低檢測復(fù)雜度。

3.3 對比分析

現(xiàn)有的文獻(xiàn)提出了多種不同的檢測軟件的框架,表4解析了以系統(tǒng)調(diào)用為特征的檢測結(jié)果,下面將具體進(jìn)行比較分析。

表4 本方案與其它方法的比較

文獻(xiàn)[11]提出的基于系統(tǒng)調(diào)用頻率的新型惡意軟件檢測方法檢測率達(dá)到93%,但此框架由于未考慮系統(tǒng)調(diào)用之間的相關(guān)性和整體性,無法充分保證分類的準(zhǔn)確性。文獻(xiàn)[12]提出的自動分類框架雖然提高了TPR,但該框架仍未考慮整體性,特征向量冗余量太大,容易導(dǎo)致過擬合,故檢測率并未得到提高。文獻(xiàn)[10]所提框架構(gòu)建了系統(tǒng)調(diào)用的馬爾可夫矩陣,考慮到了系統(tǒng)調(diào)用的整體性,因此檢測和TPR均有所提高。但文獻(xiàn)[10]使用了196個系統(tǒng)調(diào)用,構(gòu)建馬爾可夫鏈矩陣訓(xùn)練復(fù)雜度高達(dá)196的平方,增加了機(jī)器學(xué)習(xí)過程中的訓(xùn)練時間。本文的檢測框架相較于文獻(xiàn)[10]提出的數(shù)據(jù)降維方案在降低檢測復(fù)雜度的同時,仍可以達(dá)到與未降維近乎一致的檢測準(zhǔn)確率,表4直觀反映出本文所提出的方案優(yōu)于其它檢測方案。

4 結(jié)束語

本文通過對Android惡意軟件樣本進(jìn)行動態(tài)分析,進(jìn)而提出了一種動態(tài)檢測框架。在該檢測框架中,首先模擬運(yùn)行智能終端的樣本提取系統(tǒng)調(diào)用特征,然后使用信息增益的方法篩選系統(tǒng)調(diào)用,對系統(tǒng)調(diào)用進(jìn)行數(shù)據(jù)降維和標(biāo)簽化處理,最后將系統(tǒng)調(diào)用序列構(gòu)建為馬爾可夫矩陣并利用SVM對樣本進(jìn)行分類。系統(tǒng)調(diào)用可以最根本地反映應(yīng)用軟件的行為,將其構(gòu)建為馬爾可夫矩陣可以挖掘出系統(tǒng)底層中系統(tǒng)調(diào)用之間的聯(lián)系。

實(shí)驗(yàn)結(jié)果表明,本文給出的檢測框架對惡意軟件的檢測效果明顯優(yōu)于現(xiàn)有的幾種檢測方法。但在特征提取過程中,monkey工具向系統(tǒng)發(fā)送偽隨機(jī)用戶事件流不能挖掘全部的軟件行為,因而存在一定的局限性,將來還需研究其它可能的方式挖掘其行為,以提高檢測效果。

猜你喜歡
調(diào)用標(biāo)簽框架
框架
廣義框架的不相交性
核電項目物項調(diào)用管理的應(yīng)用研究
LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
無懼標(biāo)簽 Alfa Romeo Giulia 200HP
車迷(2018年11期)2018-08-30 03:20:32
不害怕撕掉標(biāo)簽的人,都活出了真正的漂亮
海峽姐妹(2018年3期)2018-05-09 08:21:02
WTO框架下
法大研究生(2017年1期)2017-04-10 08:55:06
基于系統(tǒng)調(diào)用的惡意軟件檢測技術(shù)研究
標(biāo)簽化傷害了誰
一種基于OpenStack的云應(yīng)用開發(fā)框架
涞源县| 田东县| 岐山县| 芦山县| 佳木斯市| 乌拉特后旗| 柳林县| 北碚区| 青阳县| 吴川市| 专栏| 都昌县| 敦煌市| 长泰县| 米易县| 资阳市| 蒲江县| 偃师市| 宿州市| 长泰县| 穆棱市| 元江| 大方县| 大洼县| 上思县| 静乐县| 耿马| 六安市| 斗六市| 佛冈县| 陵水| 湖北省| 察隅县| 新民市| 荔波县| 榆中县| 通辽市| 平顺县| 深水埗区| 黔东| 北川|