• 
    

    
    

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

      Android惡意應用HTTP行為特征生成與提取方法

      2016-12-01 07:14:30羅亞玲黎文偉蘇欣
      電信科學 2016年8期
      關鍵詞:網(wǎng)絡流量控件特征提取

      羅亞玲 ,黎文偉 ,蘇欣 ,3

      (1.廣東松山職業(yè)技術學院計算機系,廣東 韶關 512126;2.湖南大學信息科學與工程學院,湖南 長沙 410082;3.湖南警察學院網(wǎng)絡偵查技術湖南省重點實驗室,湖南 長沙 410138)

      Android惡意應用HTTP行為特征生成與提取方法

      羅亞玲1,黎文偉2,蘇欣2,3

      (1.廣東松山職業(yè)技術學院計算機系,廣東 韶關 512126;2.湖南大學信息科學與工程學院,湖南 長沙 410082;3.湖南警察學院網(wǎng)絡偵查技術湖南省重點實驗室,湖南 長沙 410138)

      Android惡意應用數(shù)量的不斷增加不僅嚴重危害Android市場安全,同時也為Android惡意應用檢測工作帶來挑戰(zhàn)。設計了一種基于HTTP流量的Android惡意應用行為生成與特征自動提取方法。該方法首先使用自動方式執(zhí)行惡意應用,采集所生成的網(wǎng)絡流量。然后從所生成的網(wǎng)絡流量中提取基于HTTP的行為特征。最后將得到的網(wǎng)絡行為特征用于惡意應用檢測。實驗結果表明,所設計的方法可以有效地提取Android惡意應用行為特征,并可以準確地識別Android惡意應用。

      Android惡意應用;HTTP流量;網(wǎng)絡行為特征;安全

      1 引言

      近年來,智能手機數(shù)量及其業(yè)務量發(fā)展迅速。國內(nèi)移動數(shù)據(jù)服務商QuestMobile發(fā)布的 《2015年中國移動互聯(lián)網(wǎng)研究報告》顯示,截至2015年12月,國內(nèi)在網(wǎng)活躍移動智能設備數(shù)量達到8.99億臺,其中,Android操作系統(tǒng)占70%左右[1]。Android系統(tǒng)代碼的開放性以及 Android智能手機上存儲的大量用戶隱私信息,使得Android平臺成為了眾多惡意代碼開發(fā)者的活躍地盤。

      在已有的Android惡意應用檢測研究中,很多工作都關注于提取系統(tǒng)層的行為特征(system-level behavioral signature)來對Android惡意應用進行檢測,此類方法主要分為靜態(tài)分析和動態(tài)分析。其中,靜態(tài)分析的典型方法有RiskRanker[2]和 Drebin[3]等。RiskRanker提出了一種基于 代碼分析的主動檢測策略,檢測當前Android市場中的Android應用,并通過分析應用中是否存在危險行為來檢測惡意應用。該方法把危險行為分為3類:高危險、中危險和低危險。例如,一個應用如果被檢測到存在root手機這一行為,就會被定義為具有高危險行為的應用;如果被檢測到使用短信服務但是沒有調(diào)用onClick這個方法,就會被定義為具有危險行為的應用。Drebin設計了一個輕量級、低開銷、能實時在Android手機上檢測Android惡意應用的系統(tǒng)。該系統(tǒng)從應用的Manifest文件、dex代碼等系統(tǒng)層屬性中選取了8個屬性,并使用線性SVM算法[4]對實時運行在Android手機中的應用進行分類,從而實現(xiàn)檢測惡意應用的目的。然而,由于Android惡意應用制造者廣泛使用代碼混淆和加密等技術,靜態(tài)分析不能很好地處理這些情況。因此,有些研究人員提出使用動態(tài)分析,該類型的方法有 PUMA[5]、TaintDroid[6]等。其中,PUMA 設計了一 種PUMA腳本語言來自動執(zhí)行、動態(tài)分析Android應用。該腳本語言通過使用Android Monkey[7]并針對不同的應用控件設定多個執(zhí)行事件,比如點擊按鈕、拖拉屏幕等。該工具可以在用于測試Android應用bug、廣告欺詐檢測、觸發(fā)Android惡意應用惡意行為等多個工作中。TaintDroid提出了使用動態(tài)污染分析變量層、方法層、消息層和文件層的信息,用于檢測隱私泄露方面的漏洞。

      由于基于系統(tǒng)層行為特征的檢測方法存在不易部署、開銷大等不足,基于網(wǎng)絡流量行為特征的檢測方法受到研究人員的關注。Wei等人[8]對27個Android應用所產(chǎn)生的網(wǎng)絡流量進行分析,然而該方法通過手動的方式來執(zhí)行應用生成流量,不適用于大量Android應用的情況。參考文獻[9]提出了一種DNS域名分析方法,來檢測網(wǎng)絡中存在的Android惡意應用所產(chǎn)生的流量。然而很多Android惡意應用會經(jīng)常變換DNS域名,從而導致該方法檢測率較低。Su等人[10]提出了使用HTTP特征簽名和時間關聯(lián)度的方法來識別Android應用。該方法以特征簽名為基礎,通過自定義的時間窗口來發(fā)現(xiàn)不具備特征簽名的HTTP流,從而達到Android應用識別的目的。Dai等人[11]提出了一種自動生成移動應用HTTP流量并從中提取特征字符串對Android應用進行識別的方法,然而并未對Android應用識別的準確率進行實驗證明。Xu等人[12]設計一種名為FLOWER的自動學習Android應用特征簽名的系統(tǒng)。該系統(tǒng)通過觀察同時出現(xiàn)的應用屬性,從HTTP頭部文件中學習特征簽名。但是該系統(tǒng)并不能準確地識別網(wǎng)絡流量由哪個應用產(chǎn)生,只能把網(wǎng)絡流量產(chǎn)生的應用數(shù)量范圍限定在5個以下。因此,不適用于Android惡意應用的檢測。

      本文設計了一種針對Android惡意應用的HTTP行為特征自動生成與提取方法,解決上述工作存在的不足。在Zhou等人的研究工作[13]中發(fā)現(xiàn),大部分的Android惡意應用都是通過HTTP與外部服務器進行通信,并執(zhí)行惡意活動,比如隱私竊取、下載惡意代碼等。因此,本文重點關注Android惡意應用產(chǎn)生的HTTP流量,并從中提取基于網(wǎng)絡流量的行為特征。不同于已有研究中所提取的端口或者主機域名等網(wǎng)絡特征,本文所提取的網(wǎng)絡特征包括流量的五元組、HTTP頭部文件中的主機域名、HTTP請求方法和URI等,可以準確地捕獲到Android惡意應用的網(wǎng)絡行為。

      所提出的方法首先自動地執(zhí)行Android惡意應用并捕獲其所產(chǎn)生的網(wǎng)絡流量;其次,解析所捕獲的網(wǎng)絡流量數(shù)據(jù),提取出相應的HTTP流的行為特征;隨后對所提取的HTTP流的行為特征進行聚類,并合并具有重疊元素的特征;最后得到一個由HTTP流行為特征所組成的Android惡意應用網(wǎng)絡流量行為特征的特征庫,并將該特征庫用于Android惡意應用檢測。實驗結果表明,本文提出的方法可以有效地從HTTP流量中提取Android惡意應用的行為特征,并準確地檢測Android惡意應用。

      2 行為特征提取方法設計

      設計并實現(xiàn)了一種自動執(zhí)行Android惡意應用,并從所生成的網(wǎng)絡流量中提取行為特征的方法。該方法通過提取網(wǎng)絡流量中的HTTP流的行為特征來檢測Android惡意應用。首先調(diào)用Android的測試工具(比如Monkey等)的程序接口(application programming interface,API)來自動執(zhí)行 Android惡意應用,并使用 TCPDUMP[14]捕獲應用在運行過程中生成的網(wǎng)絡流量。隨后,對捕獲到的網(wǎng)絡流量數(shù)據(jù)中的HTTP流的行為特征進行提取,并通過聚類算法對提取到的行為特征進行聚類和合并。最后建立一個基于HTTP流的Android惡意應用網(wǎng)絡流量的行為特征庫,用于Android惡意應用檢測工作。圖1是本文方法的框架。

      圖1 Android惡意應用網(wǎng)絡行為特征自動提取框架

      2.1 自動執(zhí)行

      由于手動執(zhí)行Android惡意應用會造成時間和精力的大量浪費[8],因此使用 Android自動測試工具Monkey所提供的自動執(zhí)行功能來解決這個不足。Monkey是Android中的一個命令行工具,可以運行在模擬器或實際設備中。它向系統(tǒng)發(fā)送偽隨機的用戶事件流(如按鍵輸入、觸摸屏輸入、手勢輸入等),以實現(xiàn)對正在開發(fā)的應用程序進行壓力測試。由于Monkey所提供的自動操作Android應用的事情都是隨機產(chǎn)生的,無法根據(jù)應用中不同的控件類型而生成相對應的操作事件,導致一些Android惡意應用的網(wǎng)絡行為無法被觸發(fā)。針對這個不足,本文所設計的方法在Monkey的基礎上增加了如何根據(jù)不同的Android應用控件類型生成相對應的自動操作事件。自動執(zhí)行模塊的工作流程如圖2所示。圖2由4個組件組成,分別是事件模擬器、路徑生成器、控件識別器和流量捕獲。

      圖2 自動執(zhí)行模塊流程

      2.1.1 事件模擬器

      該組件基于 Android的測試工具 MonkeyRunner[15]的API設計實現(xiàn),主要實現(xiàn)兩個功能:一是連接Android設備(如Android智能手機或模擬器),自動安裝和卸載所需要運行的應用,并啟動需要采集流量的應用;二是向Android設備發(fā)送應用操作事件,比如點擊按鈕、拖拉屏幕等,并返回執(zhí)行應用的狀態(tài)。根據(jù)控件識別器所提供的不同控件類型生成不同的操作事件,保證Android惡意應用可以被正常地執(zhí)行。

      2.1.2 控件識別器

      該組件基于Android另一個測試工具Hierarchy Viewer[15]的API設計實現(xiàn),主要功能是識別當前Android設備上顯示的界面中所定義的控件類型,比如按鈕、文本框等,并發(fā)送給事件生成器,以便事件生成器根據(jù)不同類型的控件生成不同的應用操作事件。

      2.1.3 路徑識別器

      該模塊調(diào)用Hierarchy Viewer所提供的API進行設計,主要功能是識別當前手機或者模擬器屏幕顯示的界面(activity),并獲取該activity上所有控件的信息(如控件名稱、ID、是否可點擊等),從而為事件生成模塊提供控件信息生成相應的執(zhí)行事件。典型的Android應用包含一個或多個activities。一個activity可以被看作一個容納了很多控件元素的容器,如按鈕、列表、文本框等。不同的activity之間都是執(zhí)行這些控件進行轉換。

      一個Android應用包含一條或多條可執(zhí)行路徑,執(zhí)行路徑不同可能觸發(fā)不同網(wǎng)絡行為,從而導致產(chǎn)生的流量具有不一樣的屬性。因此,為了識別Android應用的可執(zhí)行路徑,提出一個基于深度優(yōu)先搜索的可執(zhí)行路徑識別算法,即深度優(yōu)先識別算法(depth-first identification algorithm)。該算法是基于傳統(tǒng)的深度優(yōu)先遍歷樹算法,根據(jù)Android應用的特點進行改進得到的。該算法最初把一個Android應用啟動時首先出現(xiàn)在屏幕的activity作為根節(jié)點;隨后對根節(jié)點的activity中控件進行點擊,當前activity就會跳轉到下一級節(jié)點,一直重復這個過程直到跳轉到某個activity上不存在可點擊的控件或者點擊后該activity不再轉換。該算法則返回上一級節(jié)點的activity去尋找沒有點擊過的控件進行點擊。那么從根節(jié)點到葉子節(jié)點的這條路徑就可以記錄為Android應用的一條可執(zhí)行路徑。深度優(yōu)先識別算法將詳細介紹可執(zhí)行路徑識別的過程,如算法1所示。

      算法1 基于深度優(yōu)先的路徑識別算法

      輸入 Android應用的操作界面;

      輸出 Android應用執(zhí)行路徑;

      (1)function DFI(|A|)

      (2) for all activities Ai,Ajin|A|do

      (3) change to activity Ai;

      (4) DEPFIRSTIDENT (Ai);

      (5) end for

      (6)end function

      (7)function DEPFIRSTIDENTI (Ai)

      (8) widgetset←GET_WIDGET(Ai);

      (9) for each widget in widgetset do

      (10) if(widgetset.isclickable==TURE)then

      (11) if(Ai→Aj)

      (12) record this activity transition;

      (13) DEPFIRSTIDENTI (Ai);

      (14) back to activity Ai;

      (15) end if

      (16) end if

      (17) end for

      (18)end function

      在深度優(yōu)先路徑識別算法中,首先從Android應用的manifest文件中提取應用啟動時顯示的activity名稱 (比如main activity),這些activity將作為可執(zhí)行路徑的起點。然后從這個起點開始執(zhí)行算法(第1~5行)。對于應用中的每個 activity(Ai),算法都會提取其所有的控件的屬性(第9行)。該算法將逐個判斷每個控件是否可點擊,如果該控件可點擊,則進行點擊。當發(fā)現(xiàn)當前activity Ai跳轉到一個新的activity Aj時,算法將在Aj上遞歸地調(diào)用DEPFIRSTIDENT函數(shù),并記錄這個轉換。該算法將以深度優(yōu)先的形式執(zhí)行下去,直到當面顯示的activity中沒有可點擊的控件或者點擊可點擊的控件后activity不再轉換,算法將跳轉到上一級的activity,并重復前述的過程。

      假設Android應用具有N個activity。每個activity調(diào)用DEPFIRSTIDENT函數(shù)的次數(shù)是根據(jù)該activity中所定義的可點擊控件的個數(shù)來決定的,即widgetset所包含控件個數(shù)W。在執(zhí)行一個Android應用時,DEPFIRSTIDENT函數(shù)被調(diào)用的次數(shù)應該是該應用所具有的可點擊控件的個數(shù),即所以該算法的時間復雜度為O(M)。

      2.1.4 流量捕獲

      該組件是基于 TCPDUMP[14]設計實現(xiàn)的,主要功能就是捕獲Android惡意應用在運行時產(chǎn)生的網(wǎng)絡流量,并保存為pcap格式文件,便于后續(xù)的分析工作。

      2.2 網(wǎng)絡行為特征提取

      該模塊通過對Android惡意應用運行時產(chǎn)生的網(wǎng)絡流量進行捕獲、解析,并從中提取HTTP的行為特征。將提取的行為特征保存到Android惡意應用網(wǎng)絡行為特征庫中。網(wǎng)絡行為可以映射為多個不同的網(wǎng)絡特征,比如一個Android惡意應用可能訪問一個或者多個命令與控制(command and control,Camp;C)服務器,訪問不同的 Camp;C 服務器可能導致不同的網(wǎng)絡行為,從而產(chǎn)生不同的網(wǎng)絡流量行為特征。而根據(jù)Zhou等人的研究發(fā)現(xiàn)[13],絕大部分的Android惡意應用都是通過HTTP和Camp;C服務器進行通信,。因此,Android惡意應用的網(wǎng)絡流量特征主要集中在HTTP流中。所以本文將從Android惡意應用產(chǎn)生的HTTP流中提取Android惡意應用的網(wǎng)絡流量行為特征。如圖1所示,該模塊由4個不同的組件組成,接下來將詳細介紹每個組件。

      2.2.1 流量解析

      每一個被捕獲的流量數(shù)據(jù)文件都包含一條或多條HTTP請求的信息。由于受限于最大分段長度,很多HTTP請求被分割成多段進行傳輸。因此,本組件需要把這些被分割的段整合為一個整體。本組件將根據(jù)網(wǎng)絡流量屬性中的具有相同的源/目的IP地址和源/目的端口的流判斷為同一條流。HTTP流整合完成后,提取如下的網(wǎng)絡流量的屬性 :{fid,srcIP,dstIP,srcPort,dstPort,host,method,URI,header,isad,isalexa}。其中,fid 表示 Android 惡意應用的識別符,< srcIP,dstIP,srcPort,dstPort>分別表示源/目的 IP地址和源/目的端口,host表示所訪問的服務器域名,method表示HTTP請求的方法,如 get或者 post,URI表示HTTP請求的統(tǒng)一資源定位符,header表示HTTP頭部信息,isad表示是否為廣告庫生成的流量,isalexa表示是否是正常流量。

      2.2.2 流量聚類

      為了更好地區(qū)分Android惡意應用的不同的HTTP行為,本組件將相似度較高的HTTP行為聚類到同一個簇中。聚類的原則是,基于URI相似度將具有相同的HTTP請求方法并具有相同或者相似的URI的HTTP流聚類到同一個簇。相似度的計算方法是基于Jaccard index[16]進行計算的,該模塊對每一對URI進行Jaccard指標計算,如果計算得到的Jaccard指標的值大于0.6(第3.3節(jié)詳述),則認為這兩條流具有相似性,并可以聚類到同一個簇。

      2.2.3 特征生成

      HTTP流的行為特征代表了Android惡意應用的網(wǎng)絡行為,該特征是由多個網(wǎng)絡屬性所組成的。由于大多數(shù)的Android惡意應用都通過HTTP與外部服務器進行通信,因此本組件重點關注于HTTP流的行為特征提取。HTTP流的行為特征由HTTP請求流中的主機域名、請求方法和URI 3個部分組成。其中,URI又包括URL路徑或者查詢路徑以及查詢的參數(shù),這些元素可以映射為應用不同的網(wǎng)絡行為。圖3通過一個名為ADRD[17]的Android惡意應用所產(chǎn)生的HTTP請求中所包含的URI為例子來更好地解釋Android惡意應用的行為特征。

      其中,page表示該應用所訪問的URL或者請求的資源路徑,f表示應用所訪問的具體頁面或者請求具體的資源文件類型,query表示查詢部分,k表示查詢的參數(shù),υ表示查詢參數(shù)的值。

      該組件首先根據(jù)分隔符“?”把整個字段劃分成兩個子字段,分別是請求頁面字符串和查詢字符串。隨后去掉查詢字段里面的查詢參數(shù)值,因為有些參數(shù)表示Android設備的參數(shù),比如IMEI、屏幕分辨率等,對于不同的Android設備這些值是不一樣的,但是并不能說明所產(chǎn)生的網(wǎng)絡行為不同。最后,該模塊從URI中提取出的page和k兩類字段,與流量解析部分描述的其他網(wǎng)絡屬性共同組成了Android惡意應用的網(wǎng)絡流量行為特征。

      2.2.4 特征合并

      在HTTP流量聚類后,不同的簇中可能存在HTTP流包含同樣的或者相似的URI,導致所提取的行為特征具有一定的冗余性,增加后續(xù)檢測工作的開銷。因此,本文對所提取的行為特征進行合并。假設有兩個URI,提取后得到的字段集合分別用S1和S2表示。

      S1:/zsxh/*.aspx,type=,imei=,imsi=,area=

      S2:/zsxh/*.aspx,imei=,imsi=,ver=

      從S1和S2可以看出,兩個字段集合的page部分是完全一樣的,而查詢參數(shù)部分也具有一定的重合度。因此具有這樣特征的行為特征字段是需要進行合并的。合并的方法就是對查詢參數(shù)取交集操作。最后得到S:/zsxh/*.aspx,imei=,imsi=。

      經(jīng)過上述4個組件提取了基于網(wǎng)絡流量的Android惡意應用的行為特征。圖 4以 ADRD和 DroidDreamLight[18]兩類惡意應用為例,展示了存儲于特征庫里面的最終行為特征的格式。本文將行為特征存儲為類似于Snort規(guī)則的格式,以便于部署到Android惡意應用檢測工作中。

      3 實驗結果

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

      圖3 ADRD惡意應用的URI

      圖4 基于HTTP流量的Android惡意應用的行為特征格式

      使用兩個不同的數(shù)據(jù)集,第一個是美國北卡羅萊納州立 大學 提 供 的 Android malware genome project[13]中 所 提 供 的Android惡意應用數(shù)據(jù)集。該數(shù)據(jù)集包括了來自49個不同Android惡意應用家族的1 260個惡意應用,其中,1 171個惡意應用都會通過HTTP與Camp;C服務器進行通信。該數(shù)據(jù)集用于自動執(zhí)行應用并從中提取Android惡意應用的網(wǎng)絡流量的行為特征。第二個數(shù)據(jù)集是由118個未知類型的惡意應用組成。該數(shù)據(jù)集用于驗證所提取的行為特征的有效性。表1列舉了兩類數(shù)據(jù)集的詳細信息。

      表1 數(shù)據(jù)集詳細信息

      由于大多數(shù)Android惡意應用都是通過在正常應用中嵌入惡意代碼的方式來生成的。因此,在運行惡意應用時會同時產(chǎn)生正常和惡意兩類網(wǎng)絡流量。為了更加準確地提取惡意應用產(chǎn)生的網(wǎng)絡流量的行為特征,本文根據(jù)流量的域名定義了一個白名單,該名單是由Alexa[19]網(wǎng)站所提供的世界上最流行的500個網(wǎng)站域名組成的。在采集完網(wǎng)絡流量數(shù)據(jù)后先用該白名單過濾掉那些正常的網(wǎng)絡流量。此外,Android應用還具有一個特點,即內(nèi)嵌的廣告庫在應用運行時也會產(chǎn)生網(wǎng)絡流量。因此這部分流量也需要在提取行為特征之前過濾掉。本文同樣建立一個廣告名單,由AdRisk[20]中所提到的廣告域名所組成。同樣地在采集Android惡意應用生成的網(wǎng)絡流量時根據(jù)廣告名單過濾掉廣告流量。表2列舉了過濾后的網(wǎng)絡流量信息。

      表2 流量分類統(tǒng)計信息

      實驗中,每個Android惡意應用都是在真實的Android智能手機上(系統(tǒng)版本2.3.3)運行,每個應用運行5 min。此外,由于在自動執(zhí)行過程中需要識別控件類型,該階段平均消耗的時間為10 s左右。

      3.2 Android惡意應用自動執(zhí)行結果

      通過使用activity覆蓋率來驗證本文所設計的Android惡意應用自動執(zhí)行方法的有效性。activity覆蓋率是指一個Android惡意應用在自動執(zhí)行過程中執(zhí)行的activity個數(shù)占該應用總的activity個數(shù)的比例。因為在Android惡意應用中觸發(fā)不同的activity可能導致不同的網(wǎng)絡行為,從而生成不同的HTTP流量。所以在自動執(zhí)行過程中如果可以執(zhí)行Android惡意應用所有的activity,那么就可以從HTTP流量中提取到可以完全表示該惡意應用網(wǎng)絡行為的特征。圖5列舉了5個流行的Android惡意應用的activity覆蓋率,并和手動執(zhí)行方法、使用Monkey隨機執(zhí)行方法進行比較。這5個惡意應用分別來自5個不同的惡意家族,分別是AnserverBot、Basebridge、Beanbot、Geinimi和 DroidKungfu。

      圖5 activity覆蓋率

      從圖5可以看出,本文所設計的Android惡意應用自動執(zhí)行的方法和手動執(zhí)行的方法在activity覆蓋率上能達到幾乎一樣的結果,只是在執(zhí)行Droidkungfu這個Android惡意應用時,activity覆蓋率稍微差了一些。但是自動執(zhí)行方法不需要消耗人力和時間。此外,自動執(zhí)行方法比Monkey隨機執(zhí)行的方法在activity覆蓋率上要高出很多。這說明自動執(zhí)行方法通過對所執(zhí)行控件的類型進行識別后生成相應的執(zhí)行動作,保證了Android惡意應用可以不中斷地執(zhí)行。其中,只有Beanbot惡意應用的activity覆蓋率同另外兩種方法一樣,這是因為該應用只包含1個activity。activity覆蓋率的結果也驗證本文所提出的方法可以有效地執(zhí)行Android惡意應用,盡可能多地觸發(fā)其網(wǎng)絡行為,從而可以提取到更加全面有效的行為特征。

      3.3 特征提取結果

      首先本實驗驗證Jaccard指標的閾值選取。分別選取Jaccard指標為 0.2、0.4、0.6、0.8進行 10倍交叉驗證的聚類。聚類的結果見表3。

      從表3可以看出,當Jaccard指標從0.2增加到0.6時,聚類的準確率、精準率(precision)、召回率(recall)和F值也隨著增加。在0.6時達到最高值,誤判率隨著降低,在0.6時達到最低值。當Jaccard指標繼續(xù)增加到0.8時,聚類的準確率、精準率、召回率和F值有一定程度的降低,而誤判率有一定程度的增加。因此,在聚類Android惡意應用產(chǎn)生的網(wǎng)絡流量時,Jaccard指標選擇為0.6可以得到最優(yōu)的聚類結果。

      表3 不同Jaccard指標值的聚類結果

      表4列舉了自動提取行為特征中每一階段的結果。Android惡意應用的網(wǎng)絡流量的行為特征提取是根據(jù)第2節(jié)所描述的方法進行提取的。

      表4 Genome和未知類型數(shù)據(jù)集特征提取結果

      從表4的結果觀察到,通過對Genome數(shù)據(jù)集中的1 171個Android惡意應用所產(chǎn)生的HTTP流量進行特征提取,一共提取了660條基于網(wǎng)絡流量的行為特征。其中經(jīng)過合并后得到623條不同的行為特征,并屬于99個不同的簇。而未知類型的Android惡意應用數(shù)據(jù)集由于應用個數(shù)遠少于Genome的應用個數(shù)。因此,所提取的行為特征也遠少于從Genome數(shù)據(jù)集里面提取的特征,生成84條行為特征,合并后只有79條,分別聚類到11個不同的簇。表5列舉了特征提取過程中每一步所需要的時間開銷。

      表5 自動特征提取的時間開銷分布

      從表5的結果可以看出,在自動特征提取的過程中,最為耗時的就是流量解析過程,兩類數(shù)據(jù)集的流量解析時間基本上占據(jù)了總體時間開銷的90%以上。但是本文提出的方法主要用于線下分析,比如Android市場的應用審核。因此,分鐘級別的時間開銷應該是可以接受的。

      [21]中提出了對僵尸網(wǎng)絡的Camp;C信道的網(wǎng)絡進行聚類分析。該工作使用X-means算法對網(wǎng)絡流量屬性(如數(shù)據(jù)分組個數(shù)等)進行聚類分析。本實驗將本文的方法與參考文獻[21]的方法在流量解析和流量聚類的時間開銷方面進行對比,以Genome數(shù)據(jù)集為例,結果見表6。

      表6 聚類分析時間開銷對比

      從表6中的結果可以看出,兩類方法在流量解析的時間開銷上相差不大,因為流量解析工作主要是流量屬性的提取,這兩種方法都是使用同樣的流量解析方法。但是在流量聚類階段,本文方法的時間開銷遠低于參考文獻[17]的方法。這是因為本文的聚類方法是通過預先設定的Jaccard指標值來判斷兩條流量是否具有相似度,并歸類到同一個簇中。而參考文獻[21]的方法需要經(jīng)過多次迭代后才能把具有相似屬性的網(wǎng)絡流量歸類到同一個簇。因此,本文的流量聚類的方法能更加快速地把具有相似屬性的網(wǎng)絡流量進行聚類。

      圖6以8類流行的Android惡意應用家族為例,展示了行為特征提取后各個家族所對應的行為特征數(shù)目。從圖6中觀察得到,從Android惡意應用生成的HTTP流中提取到的行為特征數(shù)目要多于Android惡意應用的數(shù)目。這是因為一個Android惡意應用一般具有多種不同的網(wǎng)絡行為,比如竊取不同的隱私數(shù)據(jù)、接收Camp;C服務器的命令等。不同的網(wǎng)絡行為映射為不同的行為特征。因此,行為特征的數(shù)目要多于應用的數(shù)目。

      圖6 流行Android惡意應用家族行為特征數(shù)分布

      3.4 Android惡意應用檢測

      首先通過使用從Genome數(shù)據(jù)集里面提取到的行為特征,對未知類型的數(shù)據(jù)集中的Android惡意應用進行檢測,并判斷它們分別是屬于哪些Android惡意應用家族。檢測結果見表7。

      表7 行為特征驗證結果

      從表7中觀察到,未知類型的數(shù)據(jù)集中一共正常運行了96個惡意應用,并成功地判斷出86個惡意應用分別所屬的惡意應用家族。還有10個惡意應用沒有成功判定,是因為行為特征提取的數(shù)據(jù)集中沒有包含這些惡意應用家族。將在未來的工作中繼續(xù)擴大數(shù)據(jù)集,爭取包含更多的惡意應用家族,從而提高Android惡意應用的行為特征提取質(zhì)量。此外,在未知類型的Android惡意應用中,DroidKungfu惡意應用的數(shù)量是最多的。該惡意應用可以入侵Android手機存在的漏洞,并躲避目前殺毒軟件的檢測。

      其次,為了驗證白名單和廣告名單對Android惡意應用特征提取的影響。對未過濾的Android惡意應用產(chǎn)生的網(wǎng)絡流量按照前述方法進行特征提取,并使用這類特征和從過濾后的Android惡意應用中提取的特征一起對一個由100個從第三方市場下載的Android應用組成的數(shù)據(jù)集進行驗證。該數(shù)據(jù)集通過VirusTotal[22]的驗證發(fā)現(xiàn)一共存在37個Android惡意應用和63個Android正常應用。VirusTotal是一個提供在線檢測Android惡意應用的網(wǎng)站,其中集成了40多個商業(yè)反病毒軟件。最后,根據(jù)兩類特征的檢測結果見表8。

      如表8所示,根據(jù)兩類不同的提取特征都從37個惡意應用中檢測到32個。但是通過白名單和廣告名單過濾所提取出來的特征僅僅誤判5個正常應用為惡意應用,而未通過白名單和廣告名單過濾所提取的特征誤判21個正常應用為惡意應用。該結果說明了通過白名單和廣告名單過濾后所提取的特征更加能反映Android惡意應用的網(wǎng)絡行為特征,在實際檢測中具有較高的準確率和較低的誤判率。

      最后,為了驗證本文方法的有效性,本實驗將對比本文的方法和參考文獻[10]所提出的Android應用識別的方法進行惡意應用檢測的精準率和召回率,實驗數(shù)據(jù)集使用未知類型中的96個Android惡意應用。其中,精準率和召回率的計算式如下所示:

      表8 Android應用檢測結果

      其中,TP表示檢測的成功率,F(xiàn)P表示檢測的誤判率,F(xiàn)N表示檢測的漏判率。比較結果如圖7所示。

      圖7 本文方法和參考文獻[10]方法的比較結果

      從圖7可以看出,在檢測6個不同Android惡意應用家族中的惡意應用時,本文方法在精準率和召回率兩個指標上均能達到90%以上,而參考文獻[10]的方法在這兩個指標上只能達到80%左右的程度。這是因為參考文獻[10]中的方法主要通過特征簽名和時間窗口來生成網(wǎng)絡行為特征,這樣會導致把一些不屬于該應用的流量誤判為該應用所生成的網(wǎng)絡流量,導致精準率和召回率有所降低。此外,在ADRD和DroidDreamLight兩個惡意應用家族上,本文的方法和參考文獻[10]的方法具有相同的精準率和召回率。這是因為這兩個家族的應用數(shù)目較少,變種應用也較少,所以具有較高的精準率和召回率。

      4 結束語

      針對Android惡意應用提出了一種基于HTTP流的自動網(wǎng)絡流量行為生成與特征提取的方法。首先介紹如何設計自動執(zhí)行Android惡意應用的方法來解決手動執(zhí)行方法中存在的耗時耗精力的不足;其次,通過對捕獲到的網(wǎng)絡流量進行流量解析、聚類,特征生成和合并等操作,提取到基于HTTP流的Android惡意應用行為特征。在實驗階段,使用兩類不同的數(shù)據(jù)集對本文所設計的提取方法進行驗證。實驗結果表明,本文的方法不僅能有效地提取Android惡意應用的HTTP流量的行為特征,并且所提取的特征可以準確地識別未知的Android惡意應用。

      參考文獻:

      [1]上年國內(nèi)在網(wǎng)活躍移動智能設備數(shù)量達到 8.99億[EB/OL].[2016-04-25]. http://www.ce.cn/culture/whcyk/cysj/201601/18/t20160118_8352012.shtml.The number of online active smart devices reach 0.899 billion in first half of 2015 in China [EB/OL]. [2016-04-25].http://www.ce.cn/culture/whcyk/cysj/201601/18/t20160118_8352012.shtml.

      [2]GRACE M,ZHOU Y,ZHANG Q,et al.RiskRanker:scalable and accuratezero-dayAndroid malwaredetection [C]//The 10th International Conference on Mobile Systems,Applications and Services (MobiSys 2012),April 5-11,2012,San Diego,CA,USA.New York:ACM Press,2012:281-294.

      [3]ARP D,SPREITZENBARTH M,HUBNER M,et al.Drebin:effective and explainable detection of Android malware in yourpocket [C]//Network and Distributed System Security Symposium(NDSS 2014),June 11-15,2014,San Diego,CA,USA.Washington:IEEE Computer Society,2014:199-210.

      [4] Linear SVM [EB/OL]. [2016-04-25].http://www.linearsvm.com.

      [5]HAO S,LIU B,NATH S,et al.Programmable UI-automation forlarge-scale dynamic analysisofmobile apps [C]//12th International Conference on Mobile Systems,Applications and Services (MobiSys 2014),September 5-11,2014,Bretton Woods,New Hampshire,USA.New York:ACM Press,2014:204-217.

      [6]ENCK W,GILBERTP,CHUN B,etal.Taintdroid:an information-flow tracking system for realtime privacy monitoring on smartphones[C]//9th USENIX Conference on Operating Systems Design and Implementation,December 9-12,2010,Vancouver,BC,Canada.New Jersey:IEEE Press,2010:1-6.

      [7] Monkey[EB/OL]. [2016-04-25].http://developer.android.com/tools/help/monkey.html.

      [8]WEI X,GOMEZ L,NEAMTIU I,et al.Profile droid:multilayer profiling of android applications [C]//18th Annual International Conference on Mobile Computing and Networking(MobiCom 2012),June 11-15,2012,Istanbul,Turkey.New York:ACM Press,2012:137-148.

      [9]JIANG X, ZHOU Y. Dissecting android malware:Characterization and evolution [C]//2012 IEEE Symposium on Security and Privacy,May 20-23,2012,San Francisco,USA.New Jersey:IEEE Press,2012:95-109.

      [10]SU X,ZHANG D,DAI S,et al.Mobile traffic Identification based on applications network signature [J].International Journal of Embedded Systems,2016,8(2-3):217-227.

      [11]DAI S,TONGAONKAR A,WANG X,et al.Network profiler:Towards automatic fingerprinting of android apps[C]//32nd IEEE International Conference on Computer Communications,Infocom 2013,June 5-7,2013,Turin,Italy.New Jersey:IEEE Press,2013:809-817.

      [12]XU Q,LIAO Y,MISKOVIC S,et al.Automatic generation of mobile App signatures from traffic observations [C]//34th IEEE International Conference on Computer Communications,Infocom 2015,November 3-5,2015,Hong Kong,China.New Jersey:IEEE Press,2015:1481-1489.

      [13]ZHOU Y,JIANG X.Dissecting android malware:characterization and evolution[C]//IEEE Symposium on Security and Privacy,June 5-9,2012,San Francisco,CA,USA.New Jersey:IEEE Press,2012:95-109.

      [14]Tcpdump[EB/OL].[2016-04-25].http://www.tcpdump.org.

      [15]Tools[EB/OL].[2016-04-25].http://developer.android.com/tools.

      [16]Jaccard index[EB/OL].[2016-04-25].http://en.wikipedia.org/wiki/Jaccard_index.

      [17]Adrd [EB/OL]. [2016-04-25].https://www.microsoft.com/security/portal/threat/encyclopedia/entry.aspx?Name=TrojanSpy%3AAndroid OS%2FAdrd.A.

      [18]Trojan:droid dream light [EB/OL]. (2011-07-23)[2016-04-25].http://tools.cisco.com/security/center/viewAlert.x?alertId=23296.

      [19]Alexa [EB/OL].[2016-04-25].http://www.alexa.com.

      [20]GRACE M,ZHOU W,JIANG X,et al.Unsafe exposure analysis of mobile in-app advertisements [C]//Fifth ACM Conference on Security and Privacy in Wireless and Mobile Networks(WiSec 2012),November 3-5,2012,Tucson,Arizona,USA.New York:ACM Press,2012:101-112.

      [21]蘇欣,張大方,羅章琪,等.基于Command and Control通信信道流量屬性聚類的僵尸網(wǎng)絡檢測方法[J].電子與信息學報,2012,34(8):1993-1999.SU X,ZHANG D F,LUO Z Q,et al.Botnet detecting method based on clustering flow attributes of Command and Control communication channel [J].Journal of Electronicsamp;Information Technology,2012,34(8):1993-1999.

      [22]Virus total[EB/OL].[2016-04-25].https://www.virustotal.com/.

      HTTP behavior characteristics generation and extraction approach for Android malware

      LUO Yaling1,LI Wenwei2,SU Xin2,3
      1.Department of Computer,Guangdong Songshan Polytechnic College,Shaoguan 512126,China 2.College of Computer Science and Electronics Engineering,Hunan University,Changsha 410082,China 3.Hunan Provincial Key Laboratory of Network Investigational Technology,Hunan Police Academy,Changsha 410138,China

      Growing of Android malware,not only seriously endangered the security of the Android market,but also brings challenges for detection.A generation and extraction approach of automatic Android malware behavioral signatures was proposed based on HTTP traffic.Firstly,the behavioral signatures were extracted from the traffic traces generated by Android malware.Then,network behavioral characteristics were extracted from the generated network traffic.Finally,these behavioral signatures were used to detect Android malware.The experimental results show that the approach is able to extract Android malware network traffic behavioral signature with accuracy and efficiency.

      Android malware,HTTP traffic,network behavioral characteristic,security

      s: The National Natural Science Foundation of China(No.61173168,No.61471169),F(xiàn)oundation of the Education Department of Guangdong Province of China (No.[2012]54-A12),The Open Research Fund of Key Laboratory of Network Crime Investigation of Hunan Provincial Colleges (No.2016WLFZZC008)

      TP393.08

      A

      10.11959/j.issn.1000-0801.2016222

      2016-04-25;

      2016-08-04

      羅亞玲,versace0922@163.com

      國家自然科學基金資助項目(No.61173168,No.61471169);廣東省教育廳資助項目(粵教高函[2012]54號-A12);網(wǎng)絡犯罪偵查湖南省普通高等學校重點實驗室開放研究基金資助項目(No.2016WLFZZC008)

      羅亞玲(1977-),女,廣東松山職業(yè)技術學院講師,主要研究方向為Web開發(fā)與研究、移動應用。

      黎文偉(1975-),男,博士,湖南大學信息科學與工程學院副教授,主要研究方向為可信系統(tǒng)與網(wǎng)絡、網(wǎng)絡測試。

      蘇欣(1983-),男,湖南大學信息科學與工程學院博士生,主要研究方向為移動應用安全、移動互聯(lián)網(wǎng)大數(shù)據(jù)挖掘。

      猜你喜歡
      網(wǎng)絡流量控件特征提取
      基于多元高斯分布的網(wǎng)絡流量異常識別方法
      基于神經(jīng)網(wǎng)絡的P2P流量識別方法
      基于Daubechies(dbN)的飛行器音頻特征提取
      電子制作(2018年19期)2018-11-14 02:37:08
      關于.net控件數(shù)組的探討
      軟件(2018年7期)2018-08-13 09:44:42
      AVB網(wǎng)絡流量整形幀模型端到端延遲計算
      Bagging RCSP腦電特征提取算法
      基于MED和循環(huán)域解調(diào)的多故障特征提取
      網(wǎng)絡流量監(jiān)控對網(wǎng)絡安全治理的重要性
      河南科技(2014年23期)2014-02-27 14:18:43
      就這樣玩會VBA中常見的自定義控件
      電腦迷(2012年24期)2012-04-29 00:44:03
      Walsh變換在滾動軸承早期故障特征提取中的應用
      軸承(2010年2期)2010-07-28 02:26:12
      如皋市| 梨树县| 肥乡县| 宁明县| 高雄市| 滦平县| 哈尔滨市| 始兴县| 中宁县| 红桥区| 泰和县| 宣威市| 邹平县| 凤山市| 西贡区| 华亭县| 仁怀市| 镇远县| 晋宁县| 丽江市| 六枝特区| 珠海市| 罗甸县| 公安县| 渝北区| 天峨县| 桃园市| 鹤庆县| 阿荣旗| 墨玉县| 台山市| 宣恩县| 邓州市| 桂东县| 克山县| 盐山县| 湘潭县| 北安市| 思南县| 稷山县| 远安县|