基于HTM算法的惡意Android應(yīng)用檢測
仇慎健a, 張仕斌a, 劉蘋光b
(成都信息工程大學(xué)a.信息安全工程學(xué)院;b.通信工程學(xué)院, 成都610225)
摘要:隨著互聯(lián)網(wǎng)用戶從傳統(tǒng)PC端到移動端的轉(zhuǎn)換,移動安全受到越來越多的關(guān)注。為了提高對未知惡意移動應(yīng)用的檢測效率,針對傳統(tǒng)檢測對引入多態(tài)和變形技術(shù)的惡意應(yīng)用檢測能力較差的問題,提出了一種基于HTM算法的惡意Android移動應(yīng)用檢測方法。該應(yīng)用檢測包含針對Android應(yīng)用Dalvik指令特點的特征提取、采用信息增益的方式進行特征選擇與融合,并利用HTM算法進行序列模式訓(xùn)練和推導(dǎo),然后將測試樣本特征提取與融合后的結(jié)果輸入到完成訓(xùn)練的HTM網(wǎng)絡(luò)中,達到檢測惡意應(yīng)用的目的。實驗仿真表明,所設(shè)計的惡意應(yīng)用檢測方法的檢測率接近100%,檢測效率高,誤報率0.08%。相較于其他算法,提出的惡意檢測方法的檢測率、誤報率、分類準確率均更優(yōu),并能應(yīng)用于不同類型的惡意應(yīng)用,但訓(xùn)練和測試時間較長。
關(guān)鍵詞:移動安全;HTM算法;Dalvik指令;信息增益;惡意應(yīng)用;檢測
文章編號:1673-1549(2015)04-0050-07
DOI:10.11863/j.suse.2015.04.11
收稿日期:2015-06-08
基金項目:四川省科技支撐計劃項目(2013GZX0137;2014GZ0002);成都市科技攻關(guān)項目(2014-HM01-00108-SF) ; 四川省科技創(chuàng)新研發(fā)專項( 2014GZ0006)
作者簡介:仇慎健(1990-),男,江蘇徐州人,碩士生,主要從事計算機取證、網(wǎng)絡(luò)與信息安全方面的研究,(E-mail)1074271150@qq.com;張仕斌(1971-),男,重慶人,教授,博士,主要從事計算機取證、信息安全理論及應(yīng)用方面的研究(E-mail)498251651@ qq.com
中圖分類號:TP393
文獻標志碼:A
引言
以前,移動端惡意應(yīng)用主要竊取的是文本信息,如短信、聯(lián)系人信息、地理位置等。隨著攻擊者攻擊技術(shù)的逐漸提升,惡意應(yīng)用進行環(huán)境錄音、通話錄音、讀取sdcard內(nèi)容的攻擊方式也逐漸出現(xiàn)。隨著對反病毒引擎的免殺能力逐漸增強,惡意應(yīng)用通過逆向?qū)埂⒓託ぁootkit等技術(shù)逃避殺毒軟件的查殺。傳統(tǒng)基于規(guī)則和特征的檢測技術(shù)難以適應(yīng)引入多態(tài)和變形技術(shù)的惡意代碼檢測,于是出現(xiàn)了基于深度學(xué)習算法HTM(Hierarchal Temporal Memory)的惡意移動應(yīng)用檢測算法。深度學(xué)習算法HTM是一種新型的機器學(xué)習算法,其核心思想由Jeff Hawkins在其2004年出版的著作《人工智能的未來》中提出,它以模仿新大腦皮層的處理信息特性為核心,有著高度的學(xué)習、識別和預(yù)測能力。2005年George與Jeff介紹了HTM的基本模型[1],利用Bayesian Belief Propagation原理解釋分類和重建的過程,同時把算法部分原理通過生物學(xué)現(xiàn)象進行解釋。2009年Jeff和George對HTM算法[2]進入了深入的研究,闡述了HTM算法序列記憶的約束條件以及序列模型在生物學(xué)上的意義和具體的算法實現(xiàn)過程。2010年George提出了皮質(zhì)學(xué)習的主題條件[3],并且提出了HTM的改進算法——Recursive Cortical Network(RCN)算法[4],該算法是在原HTM的各層的相鄰節(jié)點nodes之間加入了連接(connections)。2014年,Rehn等人[5]提出了針對HTM算法的Incremental Learning方法。在國內(nèi),針對HTM算法的研究也只是停留在理論層面。例如,2011年李元誠、樊慶君提出將HTM算法應(yīng)用于未知惡意代碼檢測[6],該算法利用字節(jié)級n元文法提取訓(xùn)練集中文件的特征向量,構(gòu)建HTM網(wǎng)絡(luò)進行序列模式學(xué)習訓(xùn)練和分類推導(dǎo),然后將測試集中提取的特征向量輸入到完成訓(xùn)練的HTM網(wǎng)絡(luò)進行序列識別。本文在分析Android應(yīng)用的基礎(chǔ)上,結(jié)合HTM算法優(yōu)勢,提出使用基于Dalvik指令進行Android惡意應(yīng)用的特征提取,生成二進制稀疏表征,并通過HTM網(wǎng)絡(luò)進行深度學(xué)習訓(xùn)練和分類推導(dǎo),基于此方式進行惡意應(yīng)用識別,目的是提高對未知惡意移動應(yīng)用的檢出比。
1移動應(yīng)用檢測系統(tǒng)組成
Dalvik是由Google開發(fā)的應(yīng)用在Android平臺上的虛擬機。Dalvik虛擬機運行的是Dalvik字節(jié)碼,所有的Dalvik字節(jié)碼由java字節(jié)碼轉(zhuǎn)換而來,并被打包到一個DEX(Dalvik Executable)中??梢愿鶕?jù)Dalvik指令集的特點來提取惡意應(yīng)用程序的特征,從指令中精簡出反應(yīng)程序語義的指令,精簡后的指令僅包括函數(shù)調(diào)用、賦值、跳轉(zhuǎn)等[7]。在Android惡意應(yīng)用中,通常使用反射機制調(diào)用有關(guān)程序,在語義提取過程中忽視調(diào)用的方法名,進而可產(chǎn)生一種新型式的描述語言:
Procedure:=StatementList;
M:=MOVE|MOVE_WIDE_FROM16;
R:=RETURN|RETURN_OBJECT;
V:=INVOKE_INTERFACE_RANGE.
獲取到病毒等惡意應(yīng)用進行反編譯后得到.smali文件??梢允褂胘eb將samli語言轉(zhuǎn)換為java語言,或者將惡意應(yīng)用的核心代碼使用NDK原生程序去編寫,使用IDA進行反編譯.so文件獲取關(guān)鍵代碼,然后找到對應(yīng)的關(guān)鍵方法,如短信截取、靜默安裝等惡意行為實現(xiàn)反編譯之后的源代碼,最后使用新型式描述語言進行定義,如[IRVM]@[MVRIR]等,可簡化存儲并且可以摒棄冗余的指令。
因為隨機樣本進行提取的特征種類較多,但不是所有的特征都具有很強的分類性能,因此需要選擇出具有較好分類的特征,本文應(yīng)用信息增益實施衡量[8]。假設(shè)Y代表分類結(jié)果的參數(shù),Xi為與特征i對應(yīng)的參數(shù),那么特征i的信息增益可表示為
I(Y,Xi)=H(Y)-H(Y|Xi)
(1)
其中,H(Y)是參數(shù)Y的熵,H(Y|Xi)為在參數(shù)Xi限定下參數(shù)Y的條件熵。信息增益I(Y,Xi)結(jié)果值越大,說明參數(shù)Xi所對應(yīng)的特征i的分類性能越優(yōu)。在HTM算法中,輸入序列為離散表征二進制數(shù),因此可以構(gòu)建特征集合S,每個特征元素即為一段二進制序列,選取信息增益值最大的前500個特征構(gòu)成該集合。集合S可以作為特征融合的原始輸入,特征融合的輸出即為HTM算法序列輸入。
下面對特征融合進行說明。假設(shè)U代表先知分類的代碼集合,對?u∈U,u符合u=
M={m|m∈U∧y=1}
N={n|n∈U∧y=0}
假設(shè)V代表將要檢測的未知惡意程序集合體,對?v∈V,v符合v=
(2)
(3)
PS=S-DS-SS
(4)
HTM層次實時記憶算法是一種以捕捉新大腦皮層結(jié)構(gòu)與算法特性為目標的機器學(xué)習方法[9]。新的大腦表層對于高等思維有著舉足輕重的位置。生物學(xué)研究指出,并不是每一種認知功能都對應(yīng)一個神經(jīng)算法,由于新大腦皮層的回路具有很高的統(tǒng)一性,新大腦皮層用一套公用的算法去實現(xiàn)不同功能。該算法是基于流數(shù)據(jù)的,而不是靜態(tài)數(shù)據(jù)庫。它可以通過最新的輸入來學(xué)習、識別和預(yù)測。它是一個基于記憶的系統(tǒng),HTM網(wǎng)絡(luò)被大量具有時間特性的數(shù)據(jù)訓(xùn)練而成,并依賴于大量儲存的模式序列。HTM的核心原理是它的層級組織結(jié)構(gòu)、區(qū)域的構(gòu)建、信息基于時間以及數(shù)據(jù)的存儲方式要以離散稀疏表征存儲等。一個HTM網(wǎng)絡(luò)是以按層級排列的區(qū)域構(gòu)成。該區(qū)域由一存儲和預(yù)測單元組成,區(qū)域表示該層級中的下級多個子元素會被聚合后形成的存儲單元。由于反饋連接的存在,信息也會隨著等級的下降不斷分流。稀疏離散表征是將自然界語言(如圖像,文本,音頻等)轉(zhuǎn)換為二進制序列,而且是稀疏的,這是HTM的重要基礎(chǔ),所以HTM區(qū)域所做的第一件事就是將輸入轉(zhuǎn)化為稀疏離散表征。
將特征融合后得到的危險特征集以稀疏離散特征的方式存儲,并作為輸入序列進入HTM網(wǎng)絡(luò)底層節(jié)點進行學(xué)習,直到底層所有節(jié)點的空間沉積池都完成了空間模式的學(xué)習,時間沉積池完成時間分組的學(xué)習。HTM的整體層次框架如圖1所示。
圖1 HTM層次框架
HTM具有樹狀的層級網(wǎng)絡(luò)結(jié)構(gòu),節(jié)點是HTM中記憶與預(yù)測的基本單元。在節(jié)點中主要存儲三種數(shù)據(jù)[10-12],C(coincidences的集合)、G(temporal groups的集合,每個group實際上是coincidences的集合)和transition probability matrix(每個group中各個coincidence之間的轉(zhuǎn)移概率組成的矩陣)。HTM對空間模式的提取依賴于父節(jié)點對各子節(jié)點子模式的pooling,而時間模式與序列記憶的實現(xiàn)依賴于節(jié)點中不同的temporal groups以及其各coincidences組成的Markov chains。通過記憶不同order的Markov chains,可以由一個coincidences往前或者后推知另外coincidences發(fā)生的可能性,從而實現(xiàn)序列記憶。而每個group也是這種coincidences之間轉(zhuǎn)移概率最大化分類,以獲得時間相近、模式相似的結(jié)果。coincidence模式和Markov鏈時間分組利用belief propagation完成節(jié)點的記憶結(jié)構(gòu)。例如,Markov鏈時間組的子節(jié)點由coincidence模式下的Ci定義成向量[rim1,...,rimM]的形式,當M=2時,則group2和group5來自于子節(jié)點m1與m2,則C4的coincidences模式可等價為[2,5]。
空間沉積池(spatial pooler)主要功能是將一個區(qū)域的輸入轉(zhuǎn)換為稀疏模式,因為在學(xué)習序列和預(yù)測的機制中第一步就要求從稀疏離散表征開始。時間沉積池(temporal pooler)是將空間沉積池中的輸出作為輸入,然后根據(jù)序列模式的時間鄰接特性進行離散性存儲,它是基于海量學(xué)習數(shù)據(jù)之下的,微量或單一數(shù)據(jù)的學(xué)習起不到效果。單一節(jié)點學(xué)習如圖2所示。
圖2 單一節(jié)點學(xué)習
空間沉積的實現(xiàn)包括初始化、覆蓋、抑制、學(xué)習等幾個部分。根據(jù)當前的輸入計算柱狀區(qū)域的覆蓋情況,在抑制作用完成后計算最終活躍的柱狀區(qū)域,最后更新突觸的聯(lián)通值和內(nèi)部變量。完成覆蓋抑制過程的偽代碼為:
1)for k
2)overlap(k)=0
3)for s in connectedSynapses(k)
4)overlap(k)=overlap(k) + input(t,s.sourceinput)
5)if overlap(k) 6)overlap(k)=0 7)else 8)overlap(k)=overlap(k)*boost(k) 9)for k in columns 10)minLocalActivity=KthScore(neighbors(k),desiredLocalActivity) 11)if overlap(k)>0 and overlap(k)>=minLocalActivity then 12)activeColumns(t).append(k) 給定一個輸入向量并根據(jù)這個向量計算每個柱狀區(qū)域的覆蓋情況。柱狀區(qū)域的覆蓋情況可以簡單的理解為與當前激勵輸入相連的突觸數(shù)量,然后乘以促進系數(shù)。如果值小于minOverlap,將覆蓋值(overlap(c))置為0,然后從在柱狀區(qū)域經(jīng)過抑制作用后作為勝利者余留下來,desirLocalActivity是用來控制最終活躍的柱狀區(qū)域數(shù)量的參數(shù)。 根據(jù)需要更新突觸的連通值以及柱狀區(qū)域的促進系數(shù)和抑制半徑完成學(xué)習操作,其過程的偽代碼描述為: 1)for g in ActiveColumns(t) 2)for m in PotentialSynapses(g) 3)if active(m) then 4)m.permanence+=permanenceInc 5)m.permanence=min(1.0, m.permanence) 6)else 7)m.permanence-=permanenceDec 8)m.permanence=max(0.0, m.permanence) 9)for c in columns: 10)minDutyCycle(g)=0.01 * maxDutyCycle(neighbors(g)) 11)activeDutyCycle(g)=updateActiveDutyCycle(g) 12)boost(g)=boostFunction(activeDutyCycle(g), minDutyCycle(g)) 13)overlapDutyCycle(g)=updateOverlapDutyCycle(g) 14)if overlapDutyCycle(g)< minDutyCycle(g) 15)then 16)increasePermanences(g, 0.1 *connectedPerm) 17)inhibitionRadius=averageReceptiveFieldSize() 部分參數(shù)說明如下: columns:所有柱狀區(qū)域的列表。 overlap(c):柱狀區(qū)域c對于特定輸入的空間沉積池的覆蓋值。 activeColumns(t):因自底向上輸入而活躍的柱狀區(qū)域列表。 desiredLocalActivity:一個控制經(jīng)過抑制后仍活躍的柱狀區(qū)域數(shù)量的參數(shù)。 inhibitionRadius:被連接到柱狀區(qū)域的平均感受域大小。 neighbors(c):在柱狀區(qū)域c抑制半徑內(nèi)所有柱狀區(qū)域的列表。 minOverlap:會進入抑制過程的柱狀區(qū)域覆蓋值的最小值。 boost(c):在學(xué)習時被用與柱狀區(qū)域計算的c的促進系數(shù),用于增加非活躍柱狀區(qū)域的覆蓋值。 節(jié)點學(xué)習記憶過程如圖3所示。 圖3 節(jié)點學(xué)習記憶過程 根據(jù)1.1節(jié)中特征提取的方法將測試集中惡意應(yīng)用的特征值提取并轉(zhuǎn)化為HTM網(wǎng)絡(luò)可識別的稀疏離散變量的形式,輸入到完成訓(xùn)練的HTM網(wǎng)絡(luò)中進行序列識別以確定測試集中是否為惡意應(yīng)用。 在算法的實際實現(xiàn)中,因為numenta公司已經(jīng)把開源項目nupic放到github上,使用python和c++實現(xiàn)。官網(wǎng)上也給出了開源的3個應(yīng)用的源代碼GROK FOR IT ANALYTICS[9]、ROGUE BEHAVIOR DETECTION[10]和GEOSPATIAL TRACKING[11],它們是從3個不同的角度實現(xiàn)HTM算法的思想。在實際實現(xiàn)中參考它們算法實現(xiàn)的思想,包含簡單的層級、時間性、稀疏離散表征等基本實現(xiàn)滿足實驗的基本要求。 圖4為該系統(tǒng)的流程圖,反映了系統(tǒng)的各個組成部分。 圖4 系統(tǒng)流程圖 2實驗結(jié)果及分析 實驗平臺選取Win 7 64位操作系統(tǒng)、4 G內(nèi)存、酷睿i5處理器。采集的樣本由正常程序代碼和惡意正常程序代碼組成,其中正常的應(yīng)用隨機采集于Google Play商店或者一些大型互聯(lián)網(wǎng)廠商的官方App,惡意應(yīng)用來自于北卡羅來納州立大學(xué)建立的惡意樣本數(shù)據(jù)庫和一些自己平時收集已經(jīng)披露的大型安全事件的惡意樣本。例如,通過瘋狂截圖來獲取聊天信息、短信內(nèi)容,竊取用戶隱私信息;通過手機僵尸網(wǎng)絡(luò)“挖礦”的CoinKrypt家族木馬[13];將移動設(shè)備加密鎖屏后,對用戶進行勒索的simplelock家族木馬;偽造關(guān)機,實際上在后臺竊聽的shutdownhack家族木馬以及短信蠕蟲等。根據(jù)惡意應(yīng)用的行為種類選取合適的學(xué)習樣本,以達到更好的訓(xùn)練效果。 本文準確率(TPR)的定義為正確檢測出惡意樣本的個數(shù)和惡意樣本總數(shù)的比例,定義TP表示正確的檢測出的惡意樣本的數(shù)目,F(xiàn)N表示被錯誤的檢測為正常樣本的數(shù)目,TPR的測算可表示為: (5) 本文誤報率(FPR)的定義為正常樣本被誤報為惡意樣本數(shù)目和被分類正常樣本總數(shù)之比,定義FP為被誤報為惡意樣本的正常樣本的數(shù)目,TN表示正確的被分類的正常樣本數(shù)目,F(xiàn)PR的測算[14]表示為: (6) 分類準確率(CA)為把正常樣本和錯誤樣本分開的正確率,其中,TOT為正常樣本和病毒樣本的總數(shù),F(xiàn)N代表被錯誤的檢測為正常樣本的數(shù)目,定義FP為被誤報為惡意樣本的正常樣本的數(shù)目: (7) 在該實驗中選取300個正常的應(yīng)用和126個惡意應(yīng)用作為測試樣本,選取傳播范圍比較廣、影響比較大的ADRD和DroidKungFu惡意應(yīng)用為實驗樣本,并規(guī)定每類惡意應(yīng)用的有效特征數(shù)為3個,檢測到的結(jié)果大于等于2時即認為該樣本為惡意應(yīng)用,并利用該算法和第三方殺毒軟件(金山手機毒霸、360手機衛(wèi)士、卡巴斯基KAV手機殺毒)作對比,該測試樣本經(jīng)過本算法的訓(xùn)練和測試得出的結(jié)果和第三方殺毒應(yīng)用對樣本庫的掃描結(jié)果如圖5所示。 圖5 TPR對比圖 從圖5可以看出,對于有少量樣本的ADRD類檢測率均為100%,而對于量為350的DroidKungFu類,本文的檢測算法與金山、KAV結(jié)果接近,其正確率均接近于100%,但是360殺毒軟件的準確率在10%左右,這是因為其特征庫中很少這類病毒的特征,故準確率很低。由此可知,第三方應(yīng)用對軟件特征庫很依賴,如果惡意代碼軟件變化范圍較大時就不太容易檢測出其正確結(jié)果。圖6為誤報率的對比圖。 圖6 FPR對比圖 從圖6可以看出,本文的檢測算法與第三方殺毒軟件的誤報率都比較低,誤報率均低于0.2%。所以本文的檢測算法是行之有效的。 本文檢測算法、金山手機毒霸、360手機衛(wèi)士、卡巴斯基KVA手機殺毒檢測時間隨樣本數(shù)目的變化關(guān)系如圖7所示。從圖7可以看出,檢測時間隨樣本數(shù)目的變化而變化,基本呈線性關(guān)系,本文算法的檢測效果為12分鐘400個樣本,即檢測每個樣本需要1.8 s,其檢測效率沒有360、KVA效率高,略高于金山毒霸,360檢測效率較高但是其準確率較低。 圖7 檢測時間圖 實驗在WEKA平臺上比較本算法和其他的數(shù)據(jù)挖掘算法的性能,其他算法由決策樹算法(J48)、樸素貝葉斯算法(Na?ve Bayes)、支持向量機算法(SVM)和本算法作比較。 收集的樣本分為正常應(yīng)用和惡意應(yīng)用,其中正常App數(shù)量為126個,惡意應(yīng)用一共106個,來源于殺軟測試中的樣本進行抽取。其中木馬35個、病毒35個、蠕蟲36個,表1給出了相關(guān)數(shù)據(jù)的統(tǒng)計信息。 表1 數(shù)據(jù)集信息 在該平臺驗證下,檢測的結(jié)果見表2。從表2的數(shù)據(jù)可以看出HTM算法在3種測試集中的準確率、誤報率、分類準確率均優(yōu)于其他3種數(shù)據(jù)挖掘算法。 表2 不同算法檢測結(jié)果 在實驗分析過程中,可以看出在同一測試集情況下,正常應(yīng)用-木馬測試集中,HTM算法準確率、誤報率、分類準確率均優(yōu)于其他3種算法。同樣其他兩個測試集正常應(yīng)用-病毒測試集、正常應(yīng)用-蠕蟲測試集也是這種狀況,從表2中還可以看出HTM算法對含有木馬測試集、病毒測試集、蠕蟲測試集的正常應(yīng)用都能正常的檢測出其惡意應(yīng)用。 從表3可以看出本算法所用的訓(xùn)練時間較長,測試時間和其他算法相比處于中間水平,其原因主要在于HTM算法的數(shù)據(jù)反饋時間[13]和HTM網(wǎng)絡(luò)訓(xùn)練完成的訓(xùn)練時間較長。 表3 不同算法的效率 3結(jié)束語 本文提出了一種新的基于深度學(xué)習HTM算法的惡意移動應(yīng)用檢測系統(tǒng),該移動應(yīng)用檢測系統(tǒng)包含適合Android應(yīng)用特點的特征提取、特征選擇與融合、HTM算法的學(xué)習訓(xùn)練,通過對該系統(tǒng)分析得出本算法和殺毒軟件對比其準確率、誤報率均達到了要求,與不同檢測算法比較可知,本文算法的檢測率、誤報率、分類準確率均優(yōu)于其他算法,但本算法和其他算法相比訓(xùn)練和測試時間較長,在下一步的算法模型改進中嘗試建立一種算法融合的實踐,把其他檢測算法和HTM算法融合,做出一種最優(yōu)的判決規(guī)則,使檢測率、誤報率、分類準確率達到較好的狀況下,訓(xùn)練時間和測試時間也不會耗費較長時間。 參 考 文 獻: [1]George D,Hawkins J.A hierarchical Bayesian Model of invariant pattern recognition in the visual cortex//Proceedings of 2005 IEEE International Joint Conference on Neural Networks(IJCNN),Montreal,Canada,July 31-August 4,2005:1821-1817. [2]Hawkins J,George D,Niemasik J.Sequence memory for prediction,inference and behavior.Philosophical Transactions on the Royal Society B,2009,364:1203-1211. [3]vicarious[EB/OL].[2015-05-10].http://vicarious.com/ [4]Vicarious announces MYM15 million funding for AI software based on the brain[EB/OL].(2012-08-24)[2015-05-10].http://www.kurzweilai.net/vicarious-announces-15-million funding for ai software based on the brain [5]Rehn E M,Maltoni D.Incremental learning by message passing in Hierarchical Temporal Memory.Neural Computation,2014,26(8):1763-1809. [6]李元誠,樊慶君.未知惡意代碼的深度學(xué)習檢測算法:中國,201110373558.2012-04-11. [7]黃聰會,陳靖.一種基于危險理論的惡意代碼檢測方法.中南大學(xué)學(xué)報:自然科學(xué)版,2014,45(9):3057-3058. [8]Numenta Platform for Intelligent Computing[EB/OL].[2015-05-12].http://numenta.org/htm-white-paper.html [9]Breakthrough science for it anomaly detection[EB/OL].[2015-05-12].http://numenta.com/assets/pdf/grok/resources/1.6/Grok-1.6-DataSheet.pdf [10]Numenta.The science of anomaly detection[EB/OL].[2015-05-12].http://numenta.com/assets/pdf/whitepapers/Numenta %20 White %20 Paper %20-%20 Science %20 of %20 Anomaly %20 Detection.pdf [11]Numenta.Geospatial tracking[EB/OL].[2015-05-12].http://numenta.com/assets/pdf/whitepapers/Geospatial %20 Tracking %20 White %20 Paper.pdf [12]李挺,董航.基于Dalvik指令的Android惡意代碼特征描述及驗證.計算機研究與發(fā)展,2014,51(7):1458-1466. [13]Weka 3:Data Mining Software in Java[EB/OL].[2015-05-15].http://www.cs.waikato.ac.nz/ml/weka/ [14]George D.How the brain might work:A hierarchical and temporal model for learning and recognition.Stanford:Stanford University,2008. Detection of Malicious Android Application Based on HTM Algorithm QIUShenjiana,ZHANGShibina,LIUPingguangb (a.College of Information Security Engineering; b.College of Communication Engineering, Chengdu University of Information Technology, Chengdu 610225, China) Abstract:With the Internet users’ conversion from traditional PC to mobile terminal, the mobile security has been more and more concerned. In order to improve the detection efficiency of unknown malicious mobile application, aiming at the poor detection ability problem of traditional detection in detecting the malicious applications that introduces polymorphic and deformation techniques, a method to detect malicious Android mobile applications based on HTM algorithm is proposed, the application detection contains the feature extraction that aims at Android application Dalvik instructions characteristic and the feature selection and integration by using the information gain method, and the sequence mode is trained and deduced by HTM algorithm, then the feature extraction and fusion result of test sample is input into the HTM network that completes training, therefore, the purpose of detecting malicious applications is achieved. The experiment simulation show: the detection rate of designed malicious application detection method is nearly 100%, and has high detection efficiency; the false positive rate is 0.08%. Compared to other algorithms, the detection rate, false positive rate and classification accuracy rate of proposed malicious detection method are better, and it can be applied to different types of malicious applications, but the training and testing time is longer. Key words: mobile security; HTM algorithm; Dalvik instruction; information gain; malicious application; detection1.4 系統(tǒng)流程圖
2.1 實驗條件及指標
2.2 實驗測試
2.3 不同檢測算法性能