王新新 譚成予 梁意文
(武漢大學(xué)計(jì)算機(jī)學(xué)院 湖北 武漢 430072)
安卓惡意軟件的計(jì)算機(jī)免疫檢測(cè)模型
王新新 譚成予 梁意文
(武漢大學(xué)計(jì)算機(jī)學(xué)院 湖北 武漢 430072)
安卓系統(tǒng)因其開放性的特點(diǎn)導(dǎo)致惡意軟件泛濫,現(xiàn)有方法多考慮靜態(tài)或動(dòng)態(tài)單方面特征,判別算法多依賴于學(xué)習(xí)樣本,且準(zhǔn)確率有一定的限制。為解決上述問(wèn)題,提出結(jié)合安卓軟件的靜態(tài)權(quán)限特征與動(dòng)態(tài)行為特征的計(jì)算機(jī)免疫惡意軟件檢測(cè)模型。結(jié)合靜態(tài)權(quán)限特征與動(dòng)態(tài)行為特征,構(gòu)建安卓軟件的特征體系,經(jīng)預(yù)處理后映射為樹突狀細(xì)胞算法DCA(Dendritic Cell Algorithm)的各類信號(hào),使用無(wú)需樣本學(xué)習(xí)的輕量級(jí)算法DCA進(jìn)行惡意軟件檢測(cè)。實(shí)驗(yàn)證明該模型可以有效檢測(cè)惡意軟件。
安卓惡意軟件 靜態(tài)特征 動(dòng)態(tài)特征 DCA
根據(jù)試產(chǎn)研究機(jī)構(gòu)發(fā)布的《智能操作系統(tǒng)市場(chǎng)調(diào)研報(bào)告》的相關(guān)統(tǒng)計(jì),2015年國(guó)內(nèi)智能機(jī)市場(chǎng)Android份額達(dá)到81.36%[1],市場(chǎng)份額有絕對(duì)優(yōu)勢(shì)。與WinPhone、iPhone的封閉模式不同的是,任何人都可以將自己編寫的軟件上傳至應(yīng)用商店供用戶下載安裝。這種開源模式也導(dǎo)致了安卓惡意軟件的泛濫,安卓手機(jī)安全受到巨大威脅[2]。
目前已有的安卓惡意軟件檢測(cè)方法,多通過(guò)抽取軟件靜態(tài)或動(dòng)態(tài)特征,使用聚類、分類、數(shù)理統(tǒng)計(jì)或機(jī)器學(xué)習(xí)相關(guān)算法,對(duì)軟件進(jìn)行判別。
根據(jù)所使用的特征不同,可以將檢測(cè)算法靜態(tài)檢測(cè)和動(dòng)態(tài)檢測(cè)兩類[3]。特征抽取方面,靜態(tài)檢測(cè)方法多選擇安卓軟件權(quán)限、系統(tǒng)調(diào)用敏感函數(shù)、APK中相關(guān)組件使用統(tǒng)計(jì)數(shù)據(jù)等特征;動(dòng)態(tài)檢測(cè)中,多將軟件置于沙箱中進(jìn)行運(yùn)行監(jiān)控,獲取軟件動(dòng)態(tài)行為,例如系統(tǒng)調(diào)用情況、CPU占用率、惡意行為等,并將這些作為軟件動(dòng)態(tài)行為特征。靜態(tài)特征獲取較為簡(jiǎn)單,但對(duì)惡意軟件的描述不足,識(shí)別惡意軟件準(zhǔn)確率有限。動(dòng)態(tài)分析和靜態(tài)分析相比,更多利用應(yīng)用程序的行為特征,更容易發(fā)現(xiàn)惡意行為,但是它只能對(duì)符合選定的特定測(cè)試案例進(jìn)行檢查[4]。因此,如何結(jié)合軟件的動(dòng)態(tài)及靜態(tài)行為特征,抽取能夠代表惡意軟件特點(diǎn)的特征,成為決定檢測(cè)方法準(zhǔn)確率的關(guān)鍵。
檢測(cè)算法中,目前使用較多的為各種較為成熟的分類、機(jī)器學(xué)習(xí)相關(guān)算法。其中,Borja等[5]根據(jù)應(yīng)用程序申請(qǐng)的權(quán)限,采用機(jī)器學(xué)習(xí)相關(guān)算法對(duì)程序進(jìn)行分類進(jìn)而判別應(yīng)用程序是否為惡意軟件。楊歡等[6]根據(jù)抽取的相關(guān)特征,采用三層分類算法對(duì)惡意軟件進(jìn)行檢測(cè),提高了惡意軟件的檢測(cè)率。程際橋[7]通過(guò)對(duì)安卓源代碼的分析抽取相關(guān)靜態(tài)特征,使用決策向量機(jī)對(duì)惡意軟件進(jìn)行檢測(cè)。Shabtai等[8]提出惡意軟件檢測(cè)系統(tǒng)Andromaly,基于行為獲取CPU消耗、進(jìn)程數(shù)、按鍵及應(yīng)用程序啟動(dòng)特征等,并應(yīng)用Logistic回歸分析和貝葉斯網(wǎng)絡(luò)來(lái)對(duì)應(yīng)用程序進(jìn)行分類。然而,機(jī)器學(xué)習(xí)及相關(guān)分類算法,需要大量的樣本進(jìn)行學(xué)習(xí),判別結(jié)果與學(xué)習(xí)樣本的選取關(guān)系較大。如何使用輕量級(jí)且無(wú)需學(xué)習(xí)的算法進(jìn)行惡意軟件識(shí)別,也是決定檢測(cè)方法好壞的關(guān)鍵。
Green Smith等[9]根據(jù)免疫系統(tǒng)中樹突狀細(xì)胞的行為特征及分化過(guò)程,提出樹突狀細(xì)胞算法(DCA)并將其運(yùn)用于網(wǎng)絡(luò)異常檢測(cè)。DCA是基于先天免疫,它通過(guò)模擬機(jī)體中樹突狀細(xì)胞的自我免疫過(guò)程,實(shí)現(xiàn)對(duì)機(jī)體正常狀態(tài)與異常狀態(tài)的判斷。該方法無(wú)需動(dòng)態(tài)學(xué)習(xí),檢測(cè)過(guò)程中也不需要進(jìn)行模式匹配。將DCA用于分類及機(jī)器學(xué)習(xí)時(shí),不僅有較高的準(zhǔn)確率,和其他的系統(tǒng)相比可以減少誤報(bào)率[10]。文獻(xiàn)[11]中,將DCA用于機(jī)器學(xué)習(xí),使用文獻(xiàn)[12]中的數(shù)據(jù)集,比對(duì)其他分類算法,DCA的準(zhǔn)確率可以達(dá)到99%。文獻(xiàn)[13]中,將DCA用于圖像的分類,選取圖像紋理特征等抽象為抗原及相關(guān)信號(hào),有效提高了圖像分類的準(zhǔn)確率,同時(shí)減少了算法的運(yùn)行時(shí)間。雖然目前已有很多研究將DCA應(yīng)用于各個(gè)領(lǐng)域,但是針對(duì)DCA的各類信號(hào)的選取及處理,仍然是使用DCA的一個(gè)難點(diǎn)[14]。基于DCA的無(wú)需動(dòng)態(tài)學(xué)習(xí)且分類的高準(zhǔn)確率,本文考慮將DCA用于安卓惡意軟件的檢測(cè),降低檢測(cè)所需學(xué)習(xí)樣本,同時(shí)提高檢測(cè)準(zhǔn)確率。
本文針對(duì)上述部分提到的特征選取及檢測(cè)算法的不足,提出一種結(jié)合靜態(tài)及動(dòng)態(tài)行為特征的人工免疫DCA安卓惡意軟件檢測(cè)模型。該模型提取安卓程序的動(dòng)靜多個(gè)特征,將特征進(jìn)行降維處理后,抽象為DCA的抗原信號(hào)、危險(xiǎn)信號(hào)及安全信號(hào),采用DCA進(jìn)行惡意軟件判別。實(shí)驗(yàn)證明此類方法能有效檢測(cè)惡意軟件,兼顧軟件的靜態(tài)特征與動(dòng)態(tài)特征,提高了惡意軟件的檢測(cè)率。
本文主要?jiǎng)?chuàng)新及貢獻(xiàn)如下:
1) 結(jié)合靜態(tài)特征及軟件動(dòng)態(tài)行為特征,既彌補(bǔ)了靜態(tài)特征無(wú)法檢測(cè)運(yùn)行時(shí)權(quán)限提升、加載惡意代碼的缺陷,也將靜態(tài)特征作為動(dòng)態(tài)特征的補(bǔ)充,提高了檢測(cè)的效率。
2) 提取軟件的多個(gè)靜態(tài)特征及動(dòng)態(tài)特征,可充分反映軟件的相關(guān)行為,特征經(jīng)過(guò)處理后可以降維為算法的固定多個(gè)輸入信號(hào)。可以根據(jù)識(shí)別軟件的不同類型進(jìn)行擴(kuò)展,具有較高的擴(kuò)展性。
3) 將抽取的靜態(tài)特征及動(dòng)態(tài)行為特征映射為DCA的相關(guān)信號(hào)病原體分子模式(PAMP)、安全信號(hào)(SS)和危險(xiǎn)信號(hào)(DS)。實(shí)驗(yàn)中選擇一定數(shù)量的惡意軟件,抽取特征,使用DCA進(jìn)行惡意軟件檢測(cè),證明了該算法的有效性。
在安卓系統(tǒng)中,一個(gè)應(yīng)用所擁有的所有權(quán)限在安裝時(shí)都需要獲得用戶的許可,只有用戶在選擇接受該應(yīng)用獲得這些權(quán)限才能安裝軟件。這種基于權(quán)限的方式,能夠在一定程度上保護(hù)安卓系統(tǒng)的安全性,限制軟件訪問(wèn)未聲明或關(guān)系系統(tǒng)安全的權(quán)限。在Android官網(wǎng)中,將安卓系統(tǒng)的所有權(quán)限劃分為四類:normal、dangerous、signature和signatureorSystem。目前市場(chǎng)中的惡意軟件,常包括竊取用戶隱私信息、后臺(tái)發(fā)送扣費(fèi)短信、私自打開藍(lán)牙發(fā)送數(shù)據(jù)、撥打電話、獲取用戶地理位置信息等相關(guān)行為。這些行為對(duì)于安卓用戶來(lái)說(shuō),都需要一定的權(quán)限。文獻(xiàn)[15]中,通過(guò)對(duì)比正常軟件與惡意軟件的權(quán)限使用情況,發(fā)現(xiàn)惡意軟件更傾向于使用開機(jī)自啟動(dòng)、更改WiFi狀態(tài)等相關(guān)權(quán)限。因此,系惡意軟件與正常軟件在權(quán)限的使用情況和類別組合中,有較大的不同,可以將權(quán)限作為識(shí)別惡意軟件的一個(gè)特征。
對(duì)于一些在啟動(dòng)后動(dòng)態(tài)加載惡意代碼的軟件,權(quán)限特征無(wú)法識(shí)別。為了彌補(bǔ)靜態(tài)權(quán)限特征的不足,考慮將軟件啟動(dòng)后的動(dòng)態(tài)行為作為識(shí)別惡意軟件的特征。我們一些獲取用戶信息或消耗用戶手機(jī)資費(fèi)的行為定義為敏感行為。正常軟件可能也會(huì)有一定的敏感行為,但是惡意軟件在敏感性為的數(shù)量和頻率上,與正常軟件會(huì)有較大的不同。因此,可以將動(dòng)態(tài)軟件行為作為區(qū)分惡意軟件的重要特征。
在獲取這些特征之后,如何通過(guò)有效的方法識(shí)別惡意軟件與正常軟件,提高惡意軟件識(shí)別的正確率并降低誤判率與漏判率,是決定惡意軟件檢測(cè)模型質(zhì)量的關(guān)鍵。
DCA是Green Smith根據(jù)人體免疫系統(tǒng)中的樹突狀細(xì)胞的分化過(guò)程提出的抗原提呈算法。DC捕獲抗原,收集當(dāng)前PAMP、DS、SS的濃度作為輸入。根據(jù)權(quán)值矩陣融合之后,輸出協(xié)同刺激分子(CSM),半成熟信號(hào)(SEMI)和成熟信號(hào)(MAT)并進(jìn)行相關(guān)累加操作。到達(dá)遷移閾值之后,DC比對(duì)累加的半成熟信號(hào)與成熟信號(hào),判斷機(jī)體當(dāng)前狀態(tài)并激活機(jī)體的相關(guān)免疫反應(yīng)。DCA不依賴于樣本學(xué)習(xí),在檢測(cè)的過(guò)程中也不需要進(jìn)行模式匹配,自動(dòng)根據(jù)當(dāng)前狀態(tài)進(jìn)行判別。在文獻(xiàn)[16]中,將DCA作為一個(gè)二值分類算法,對(duì)比其他算法有較好的效果。
考慮DCA的輕量性及在分類中的有效性,本文將上述抽象的靜態(tài)特征與動(dòng)態(tài)特征,并定義相關(guān)預(yù)處理函數(shù),處理后將相關(guān)特征映射為DCA中的PAMP、DS和SS,實(shí)現(xiàn)惡意軟件識(shí)別。
綜上:安卓惡意軟件檢測(cè)框架結(jié)構(gòu)如圖1所示。

圖1 安卓惡意軟件檢測(cè)系統(tǒng)框架圖
本節(jié)主要描述了安卓惡意軟件檢測(cè)模型的關(guān)鍵技術(shù),包括程序靜態(tài)權(quán)限特征的提取,程序動(dòng)態(tài)敏感行為特征的提取,各類信號(hào)的預(yù)處理及映射和DCA處理流程。這些相關(guān)技術(shù)及算法是構(gòu)成基于權(quán)限及行為特征的安卓惡意軟件計(jì)算機(jī)免疫檢測(cè)模型的關(guān)鍵。
2.1 靜態(tài)特征提取
安卓應(yīng)用中如果申請(qǐng)了能進(jìn)行敏感行為的權(quán)限,同時(shí)這些權(quán)限目前市場(chǎng)中大部分應(yīng)用不會(huì)申請(qǐng)的,該應(yīng)用就會(huì)具有較大的危險(xiǎn)性。根據(jù)文獻(xiàn)[17]中對(duì)惡意安卓應(yīng)用的單個(gè)惡意權(quán)限及組合惡意權(quán)限的描述,綜合惡意軟件常見竊取信息及消耗資費(fèi)的行為相關(guān)權(quán)限,本文選取以下相關(guān)對(duì)手機(jī)安全性有較大影響的權(quán)限及權(quán)限組合。具體內(nèi)容見表1。

表1 權(quán)限及權(quán)限組合表

續(xù)表1
上述權(quán)限及權(quán)限組合中,既有獲取用戶隱私信息、后臺(tái)安裝其他應(yīng)用等單個(gè)權(quán)限,也有后臺(tái)發(fā)送扣費(fèi)短信,記錄用戶通話內(nèi)容,獲取用戶聯(lián)系人并發(fā)送至指定服務(wù)器的組合權(quán)限。安卓應(yīng)用一旦獲取了這些敏感權(quán)限,很有可能進(jìn)行相關(guān)惡意行為,造成用戶的損失。
安卓應(yīng)用在根目錄中有一個(gè)名為AndroidManifest.xml的程序清單文件,該文件中定義了該應(yīng)用需要獲取的所有權(quán)限、應(yīng)用所需AndroidAPI的最低版本以及所需要調(diào)用的開發(fā)庫(kù)定義。因此,通過(guò)反編譯相關(guān)技術(shù),可以獲取安卓應(yīng)用獲取的所有權(quán)限。本文中,通過(guò)相關(guān)反編譯工具,對(duì)安卓應(yīng)用進(jìn)行反編譯,獲取每個(gè)安卓應(yīng)用對(duì)應(yīng)的權(quán)限,并采用自動(dòng)化腳本進(jìn)行相關(guān)統(tǒng)計(jì)。
2.2 動(dòng)態(tài)特征提取
針對(duì)部分惡意軟件在運(yùn)行后繞過(guò)安卓系統(tǒng)自身的權(quán)限機(jī)制進(jìn)行權(quán)限提升[18],從而進(jìn)行一系列獲取用戶信息或消耗資費(fèi)的行為。本文中選擇監(jiān)控應(yīng)用部分動(dòng)態(tài)行為作為動(dòng)態(tài)特征,具體選取的特征及原因如下:
1) 權(quán)限提升行為(RU):對(duì)于惡意軟件來(lái)說(shuō),偽裝成正常軟件誘導(dǎo)用戶安裝,之后繞過(guò)安卓的權(quán)限機(jī)制進(jìn)行權(quán)限提升,從而可以進(jìn)行一系列破壞手機(jī)安全性、泄漏用戶隱私或消耗資費(fèi)的行為。因此,應(yīng)用是否進(jìn)行權(quán)限提升,可以作為區(qū)別惡意軟件與正常軟件的重要?jiǎng)討B(tài)特征。
2) 流量特征(FS):根據(jù)流量的流入方向,我們將應(yīng)用使用的流量分為上行流量及下行流量。對(duì)于大部分用戶瀏覽及閱讀為主的應(yīng)用,是下行流量遠(yuǎn)大于上行流量。對(duì)于竊取用戶隱私行為的相關(guān)應(yīng)用,因?yàn)樾枰獙⒂脩舻男畔l(fā)送至指定服務(wù)器,則會(huì)導(dǎo)致上行流量大于下行流量。因此,可以將應(yīng)用在一定時(shí)間內(nèi)的流量特征作為應(yīng)用動(dòng)態(tài)特征。
3) 敏感數(shù)據(jù)讀寫(IW):對(duì)于手機(jī)中用戶的一些關(guān)鍵信息和隱私信息,普通應(yīng)用并不會(huì)進(jìn)行訪問(wèn),只有竊取用戶隱私信息的相關(guān)應(yīng)用才會(huì)讀取。讀取之后,利用這些敏感信息,結(jié)合社會(huì)工程學(xué)相關(guān)方法,可以對(duì)用戶造成較大的人身安全及財(cái)產(chǎn)安全的損失。因此,可以將是否訪問(wèn)敏感數(shù)據(jù)作為安卓軟件的動(dòng)態(tài)行為特征。在安卓應(yīng)用中,常見的幾個(gè)敏感數(shù)據(jù)主要見表2。

表2 關(guān)鍵路徑表
4) 惡意吸費(fèi)(BM):在相關(guān)的統(tǒng)計(jì)中,有超過(guò)半數(shù)的應(yīng)用都存在發(fā)送短信、撥打特定的電話等相關(guān)惡意吸費(fèi)行為,造成用戶的財(cái)產(chǎn)損失。因此,可以將應(yīng)用是否調(diào)用撥號(hào)或短信功能發(fā)送短信、撥打電話給非運(yùn)營(yíng)商的特殊號(hào)碼作為應(yīng)用的動(dòng)態(tài)行為特征。
5) 獲取定位信息(GL):用戶的定位信息是私人信息,一般應(yīng)用不會(huì)要求獲取。惡意軟件為竊取用戶相關(guān)信息,會(huì)進(jìn)行獲取定位信息的行為,然后將相關(guān)信息發(fā)送至指定服務(wù)器,結(jié)合其他信息進(jìn)行相關(guān)猜測(cè),造成不好的結(jié)果。因此,可以將應(yīng)用是否獲取定位相關(guān)信息作為動(dòng)態(tài)行為特征之一。
為了獲取安卓應(yīng)用的相關(guān)行為特征,將應(yīng)用程序安裝至模擬器中進(jìn)行觀察,使用trace、wireshark、mokeyrunner等相關(guān)觀察工具,記錄一定時(shí)間內(nèi)安卓應(yīng)用的相關(guān)行為,并對(duì)流量情況、權(quán)限提升情況、讀取文件情況等進(jìn)行記錄,獲取軟件的動(dòng)態(tài)行為特征。
2.3 信號(hào)預(yù)處理及映射
2.3.1 信號(hào)預(yù)處理
根據(jù)2.1節(jié)中定義的安卓應(yīng)用相關(guān)權(quán)限特征,根據(jù)權(quán)限特征可以進(jìn)行的相關(guān)敏感行為,對(duì)所有權(quán)限及權(quán)限組合賦予一定的權(quán)值。具體權(quán)值對(duì)應(yīng)如表3所示。

表3 權(quán)限權(quán)值表
對(duì)于2.2節(jié)中定義的軟件動(dòng)態(tài)行為特征,考慮這些敏感行為的發(fā)生頻率,獲取一定時(shí)間內(nèi)的行為特征,并定義歸一化函數(shù):
(1)
通過(guò)定義的歸一化函數(shù),可以將收集到的所有動(dòng)態(tài)特征結(jié)合時(shí)間因素,完成歸一化處理。
2.3.2 病原體相關(guān)分子模式(PAMP)映射
病原體相關(guān)分子模式說(shuō)明系統(tǒng)整體存在異常,本文主要選取安卓軟件的部分靜態(tài)權(quán)限特征作為PAMP信號(hào),具體包括{SMS,BO,WS,RS,CA,CI}。
2.3.3 安全信號(hào)(SS)映射
安全信號(hào)表明系統(tǒng)整體安全,存在異常的可能性較小,選取的安全信號(hào)具體包括{GPS,BL,IN,WI,RU,FS,IW,BM,GL}。
2.3.4 危險(xiǎn)信號(hào)(DS)映射
危險(xiǎn)信號(hào)表明系統(tǒng)現(xiàn)在處于即將進(jìn)入異常的狀態(tài),具體選擇的指標(biāo)包括軟件的所有動(dòng)態(tài)特征和部分靜態(tài)特征,具體包括{WS,RS,CA,CI,RU,FS,IW,BM,GL}。
2.4 算法參數(shù)定義
考慮相關(guān)信號(hào)的放大作用,本文加入致炎因子放大PAMP、SS和DS信號(hào),致炎因子的大小定義為0.4。
DC收集組織中的抗原,并針對(duì)PAMP、SS和DS三類輸入信號(hào)進(jìn)行處理,計(jì)算出三類信號(hào):協(xié)同刺激信號(hào)(CSM)、半成熟信號(hào)(SEMI)和成熟信號(hào)(MAT)。由輸入信號(hào)計(jì)算各類輸出信號(hào)時(shí),定義信號(hào)矩陣如表4所示。

表4 信號(hào)矩陣表
定義計(jì)算公式如下:
C[CSM,SEMI,MAT]=

(1+IS)
(2)
其中:CPAMP、CDS、CSS分別代表輸入的信號(hào)值,WPAMP、WDS、WSS分別代表各類信號(hào)的權(quán)值,IS代表上文定義的放大信號(hào)致炎因子。
2.5 算法處理流程
本文使用的樹突狀細(xì)胞算法描述如下:
輸入:抗原信號(hào)值PAM、SS、DS。
輸出:CSM、成熟DC或未成熟DC。
具體算法流程偽代碼如下所示:
初始化抗原池
isNeedInitDC=true;
while isNeedInitDC do
{
初始化DC細(xì)胞,設(shè)置CSM遷移值Z
while(該DC的CSM { 隨機(jī)選取未標(biāo)記抗原,根據(jù)輸入信號(hào)及權(quán)值矩陣計(jì)算CSM、SEMI和MAT并累加 } 比較計(jì)算標(biāo)記該DC狀態(tài) 計(jì)算該DC所采集的抗原的判定次數(shù)(總次數(shù)、異常次數(shù))并累加 If(未被標(biāo)記的抗原中有達(dá)到判定次數(shù)的抗原) { 計(jì)算該抗原的MCAV=判定異常次數(shù)/判定總次數(shù),比較與異常閾值N的大小。 If MCAV >=N then 抗原標(biāo)記為異常; Else 抗原標(biāo)記為正常; End } If 沒(méi)有未被標(biāo)記的抗原 IsNeedInitDC=false } 選取一定數(shù)量的安卓正常軟件與異常軟件,通過(guò)相關(guān)工具進(jìn)行預(yù)處理后,形成數(shù)據(jù)集共150條,分別映射為PAMP、DS、SS信號(hào),使用Java實(shí)現(xiàn)的DCA程序,對(duì)數(shù)據(jù)集進(jìn)行判別。計(jì)算該模型在惡意軟件檢測(cè)中的有效性和準(zhǔn)確性,為降低實(shí)驗(yàn)的隨機(jī)性,將實(shí)驗(yàn)進(jìn)行重復(fù)并計(jì)算各個(gè)結(jié)果的平均值。同時(shí)進(jìn)行對(duì)比實(shí)驗(yàn),將處理后的數(shù)據(jù)集采用DCA、傳統(tǒng)的統(tǒng)計(jì)學(xué)分類方法及K-means聚類方法進(jìn)行檢測(cè),對(duì)比說(shuō)明該方法的有效性。實(shí)驗(yàn)證明該安卓惡意軟件檢測(cè)模型充分考慮軟件動(dòng)態(tài)與靜態(tài)特征,在安卓惡意軟件檢測(cè)中具有較好的效果。 3.1 實(shí)驗(yàn)設(shè)計(jì) 本文設(shè)計(jì)了檢測(cè)模型對(duì)安卓惡意軟件檢測(cè)實(shí)驗(yàn),實(shí)驗(yàn)?zāi)康脑谟隍?yàn)證該計(jì)算機(jī)免疫檢測(cè)模型對(duì)于安卓惡意軟件檢測(cè)的可行性及有效性。 采用與文獻(xiàn)[19]中一樣的應(yīng)用來(lái)源,從“Contagio mobile”網(wǎng)站下載惡意軟件與正常軟件共150個(gè)。其中,包含的惡意病毒主要有以下幾類: 1) 惡意吸費(fèi)病毒:例如刷機(jī)吸費(fèi)大盜、偽酷六視頻等。這些病毒會(huì)向某些特定號(hào)碼發(fā)送扣費(fèi)信息并刪除相關(guān)反饋信息,用戶在不之情的情況下經(jīng)濟(jì)受到損失。 2) 隱私信息收集類病毒:例如愛(ài)情連陷、偽升級(jí)扣費(fèi)病毒等。這些病毒會(huì)收集用戶手機(jī)號(hào)、硬件信息、地理位置信息等并發(fā)送至特定服務(wù)器。 3) 惡意破壞類病毒:此類病毒會(huì)偽裝成收集工具,誘導(dǎo)用戶下載并安裝其他惡意軟件,同時(shí)干擾殺毒軟件的運(yùn)行,破壞手機(jī)的安全性。 使用反編譯軟件Android Killer對(duì)軟件進(jìn)行反編譯獲取權(quán)限定義文件。根據(jù)表1定義的權(quán)限或權(quán)限組合及表3定義的權(quán)限權(quán)值,如果權(quán)限文件中包含該權(quán)限,則將該權(quán)限或權(quán)限組合賦予定義的權(quán)值,如果不包含,則將該權(quán)限或組合賦值為0。 使用模擬器及模擬器監(jiān)視工具trace、wireshark、mokeyrunner等獲取軟件的動(dòng)態(tài)行為特征,包括吸費(fèi)信息、流量特征、權(quán)限提升行為等。同時(shí)根據(jù)2.3節(jié)中定義的相關(guān)預(yù)處理函數(shù),對(duì)行為特征進(jìn)行歸一化預(yù)處理,形成DCA算法的相關(guān)數(shù)據(jù)集。 實(shí)驗(yàn)設(shè)置DC生命周期為10,當(dāng)DC采集10個(gè)抗原之后,若還沒(méi)有達(dá)到遷移閾值,將該DC置為失效,重新初始化DC;CSM遷移閾值為25到40之間的隨機(jī)數(shù),保證算法一定隨機(jī)性;抗原判定閾值為10,表示每個(gè)抗原最多被判定10次;抗原異常閾值為70%,表示抗原被判定為異常的次數(shù)超過(guò)總判定次數(shù)70%時(shí),判定該抗原為異常。 3.2 實(shí)驗(yàn)結(jié)果與分析 選取150個(gè)抗原進(jìn)行試驗(yàn)后,測(cè)試結(jié)果如圖2所示。其中,橫坐標(biāo)是標(biāo)記的抗原ID,縱坐標(biāo)是每個(gè)ID計(jì)算之后的MCAVA值。圓形為被正確判定為正常軟件的抗原,菱形為正確被判定為惡意軟件的應(yīng)用, 方形為錯(cuò)判漏判的抗原。實(shí)驗(yàn)結(jié)果表明該方法對(duì)于惡意軟件的檢測(cè),檢測(cè)率較高。 圖2 實(shí)驗(yàn)結(jié)果圖 為避免實(shí)驗(yàn)結(jié)果隨機(jī)性的影響,重復(fù)實(shí)驗(yàn)10次和30次,具體結(jié)果如表5、表6所示。 表5 實(shí)驗(yàn)結(jié)果 表6 與其他檢測(cè)算法對(duì)比 重復(fù)試驗(yàn)證明該模型對(duì)于惡意軟件的檢測(cè)具有較高的準(zhǔn)確率,可以有效檢測(cè)惡意軟件。表 6給出了在上述數(shù)據(jù)集中分別使用DCA、統(tǒng)計(jì)學(xué)分類方法及K-means聚類方法進(jìn)行惡意軟件檢測(cè)的結(jié)果。結(jié)果證明該計(jì)算機(jī)免疫檢測(cè)模型對(duì)安卓惡意軟件的檢測(cè)具有更高的準(zhǔn)確率。 本文通過(guò)分析安卓應(yīng)用的靜態(tài)權(quán)限特征及動(dòng)態(tài)行為特征,結(jié)合DCA在異常檢測(cè)中較高的準(zhǔn)確率,構(gòu)建了一個(gè)安卓惡意軟件檢測(cè)模型。實(shí)驗(yàn)證明該模型對(duì)于惡意軟件的檢測(cè)具有較高的準(zhǔn)確率,具有一定的可行性。然而,如何通過(guò)安裝應(yīng)用或修改內(nèi)核的方式實(shí)時(shí)觀察軟件動(dòng)態(tài)運(yùn)行特征而不是在模擬器中使用各類軟件觀察,實(shí)時(shí)獲取數(shù)據(jù)并進(jìn)行分析促進(jìn)模型的轉(zhuǎn)化,是下一步工作的方向。如何根據(jù)各類軟件的不同作用獲取不同的特征指標(biāo),也是下一步改進(jìn)的方向。同時(shí),DCA中需要設(shè)置的參數(shù)較多,如何結(jié)合模型的特點(diǎn)改進(jìn)參數(shù)的設(shè)置提高系統(tǒng)的準(zhǔn)確率也是下一步需要解決的問(wèn)題。 [1] http://tech.gmw.cn/newspaper/2015-12/23/content_110321682.htm. [2] Steven M P.Contrary to what you‘ve heard,Android is almost impenetrable to malware[EB/OL].[2014-06-23].http://qz.com /131436/contrary-to-what-you’ve-heard-android-is-almost-impenerable-to-malware/. [3] Bergeron J,Debbabi M,Desharnais J,et al.Static Detection of Malicious Code in Executable Programs[J].Int.j.of Req.eng,2009. [4] 秦中元,徐毓青,梁彪,等.一種Android平臺(tái)惡意軟件靜態(tài)檢測(cè)方法[J].東南大學(xué)學(xué)報(bào)(自然科學(xué)版),2013,43(6):1162-1167. [5] Sanz B,Santos I,Laorden C,et al.PUMA:Permission Usage to Detect Malware in Android[C]//International Joint Conference CISIS’12-ICEUTE′12-SOCO′12 Special Sessions.Springer Berlin Heidelberg,2013:289-298. [6] 楊歡,張玉清,胡予濮,等.基于多類特征的Android應(yīng)用惡意行為檢測(cè)系統(tǒng)[J].計(jì)算機(jī)學(xué)報(bào),2014,37(1):15-27. [7] 程際橋.基于支持向量機(jī)的Android惡意軟件檢測(cè)方法[D].華中科技大學(xué),2014. [8] Shabtai A,Kanonov U,Elovici Y,et al.“Andromaly”:a behavioral malware detection framework for android devices[J].Journal of Intelligent Information Systems,2012,38(1):161-190. [9] Greensmith J,Aickelin U,Cayzer S.Introducing Dendritic Cells as a Novel Immune-Inspired Algorithm for Anomaly Detection[M]//Artificial Immune Systems.Springer Berlin Heidelberg,2010:153-167. [10] Chelly Z,Elouedi Z.A survey of the dendritic cell algorithm[J].Knowledge & Information Systems,2016,48(3):505-535. [11] Greensmith J,Aickelin U,Tedesco G.Information fusion for anomaly detection with the dendritic cell algorithm[J].Information Fusion,2010,11(1):21-34. [12] Asuncion A,Newman D.Uci machine learning repository[OL].2007.http://archive.ics.uci.edu/ml/. [13] 常文萃,秦振吉.樹突狀細(xì)胞算法在圖像分類中的應(yīng)用[J].計(jì)算機(jī)應(yīng)用與軟件,2014,31(4):250-253. [14] Ng D V,Hwang J I G.Android malware detection using the dendritic cell algorithm[C]//Machine Learning and Cybernetics (ICMLC),2014 International Conference on.IEEE,2014,1:257-262. [15] Zhou Y,Jiang X.Dissecting android malware:Characterization and evolution[C]//2012 IEEE Symposium on Security and Privacy.IEEE,2012:95-109. [16] Chelly Z,Elouedi Z.FDCM:A fuzzy dendritic cell method[M]//Artificial Immune Systems.Springer Berlin Heidelberg,2010:102-115. [17] 文偉平,梅瑞,寧戈,等.Android惡意軟件檢測(cè)技術(shù)分析和應(yīng)用研究[J].通信學(xué)報(bào),2014,35(8):78-85. [18] 彭國(guó)軍,李晶雯,孫潤(rùn)康,等.Android惡意軟件檢測(cè)研究與進(jìn)展[J].武漢大學(xué)學(xué)報(bào)理學(xué)版,2015,61(1):21-33. [19] 蔡志標(biāo),彭新光.基于系統(tǒng)調(diào)用的Android惡意軟件檢測(cè)[J].計(jì)算機(jī)工程與設(shè)計(jì),2013,34(11):3757-3761. THEANDROIDMALWAREDETECTIONMODELBASEDONCOMPUTERIMMUNE Wang Xinxin Tan Chengyu Liang Yiwen (ComputerSchool,WuhanUniversity,Wuhan430072,Hubei,China) Android malware flooding is based on the characteristics of its openness, existing solutions are based on static or dynamic unilateral features, discriminant algorithm depends more on learning samples, and the accuracy rate has some restrictions. In order to solve these problems, this paper proposed a computer immune malware detection model which combines the static privilege characteristics and dynamic behavior characteristics of Android software. Combining the characteristics of static privilege and dynamic behavior, the characteristic system of Android software was constructed. After pretreatment, it was mapped to DCA. The software was detected by using the lightweight algorithm DCA without sample learning. The experiment proved that the model could effectively detect malicious software. Android malware Permissions characteristic Dynamic behavior characteristics Dendritic cell algorithm 2017-01-05。王新新,碩士生,主研領(lǐng)域:計(jì)算機(jī)免疫。譚成予,副教授。梁意文,教授。 TP301.6 A 10.3969/j.issn.1000-386x.2017.12.0583 實(shí)驗(yàn)結(jié)果與分析



4 結(jié) 語(yǔ)