◆張海艦 方 舟 陳 新
?
基于深度學習技術的惡意APP檢測方案
◆張海艦 方 舟 陳 新
(空軍預警學院 湖北 430019)
本文提出了一種基于深度學習算法的安卓惡意軟件檢測原理。該原理的實現主要由APK代碼靜態特征和動態特征提取、深度學習模型建立、成熟深度學習模型仿真檢測未知APK三個步驟組成。并且該技術相比于傳統的惡意代碼檢測算法,執行檢測的效率有較大的提高。
安卓系統;深度學習技術;惡意代碼
近年來,智能手機普及率迅速增加,智能手機應用功能激增.全球最具權威的IT研究與顧問咨詢公司Gartner的數據顯示,截止到2016年年底,全球大約有23億部電腦、平板電腦以及智能手機使用Android系統,Android近年來的快速發展使其成為了一個占主導地位的智能手機平臺,擁有整個市場約三分之二的份額。由于Android系統的開放性,它也成為了眾多惡意代碼開發者的活躍地盤。由于惡意代碼的數量和種類越來越多,加上代碼混淆、加密等技術的興起,網絡用戶數據流量的急速增加,使得惡意代碼檢測面臨前所未有的挑戰。
隨著計算機GPU等核心硬件性能的不斷提升,計算機前沿科技人工智能(AI)取得飛速發展。深度學習(Deep Learning)作為推動人工智能發展的核心技術,其模擬人腦神經網絡的強大學習機理,已經在很多涉及計算機的傳統領域取得了突破性的進步。例如Google公司DeepMind團隊開發的深度學習程序AlphaGo以4:1的驚人戰績打敗了韓國圍棋界傳奇人物李世石九段,國內百度公司開發的深度學習機器人小度(Duer)也在很多綜藝節目里公開挑戰人類最強人腦,顛覆了人類在圖像記憶、聲音識別、等多領域的記錄。深度學習算法最擅長的就是處理大數據,因此深度學習最能有效應對未來互聯網用戶信息數據“爆炸”現象。將深度學習技術用于信息安全領域將顛覆傳統算法,以新的框架模式和檢測機理為網絡用戶的信息安全提供堅實有效的保障。
1.1 靜態特征分析
靜態分析使用反編譯工具獲得反編譯smali文件,smali文件擁有特定的格式和語法,解釋安卓虛擬機Dvlvik執行的動作,去掉無關的動作指令,保留首寫字母為M、R、G、I、T、P、V的動作指令,分別代表移動、返回、跳轉、判斷、取數據、存數據和調用方法七大指令,再提取統計相關數據,為檢測系統提供特征集以及相應的數據來源。目前的靜態分析大多針對應用申請的權限、API調用、應用證書等提取特征集,這種方式提取特征的缺點是不能做到完全覆蓋,且細粒度低,容易導致漏報、錯報。
1.2 動態特征分析
動態分析利用沙盒對軟件進行動態分析,為解決未知的代碼所帶來的靜態分析所不具備的檢測能力,彌補所存在的可能的漏洞,提高檢測性能。利用開源的安卓沙盒DroidBox進行分析,記錄其執行動作log及次數,分析所有動作并歸類,按照靜態分析思路利用相同算法,進行機器學習,得到動態行為檢測結果。
在深度學習模型建立模塊,將以上靜態分析的樣本特征數據和動態分析的樣本數據構造成樣本矩陣,在Matlab環境下開發的卷積神經網絡算法,對樣本的特征數據矩陣進行卷積操作、下采樣操作、卷積操作、下采樣操作、數據展開、分類等一系列操作,實現無監督的神經網絡構造。如圖1所示。

圖1 深度學習原理框圖
從谷歌市場和小米市場上批量下載未參與成熟模型構建的安卓APK文件,然后將其導入成熟的深度學習模型進行檢測,得到樣本APK的分類混淆矩陣和ROC感受曲線,如圖2所示。然后整理該未知樣本的相關檢測數據,依照既定的參數標準,評價未知樣本的風險等級,提交檢測報告給用戶。

圖2 深度學習系統仿真結果
在樣本特征數據采集部分,本文采取將靜態代碼分析和動態沙盒檢測分析相結合的方式提取樣本的特征數據,彌補了單一靜態代碼分析的缺點。本文中采用了從谷歌市場和小米市場下載的110003個惡意APK樣本和90317個非惡意APK樣本進行模型建立,9000個未參與模型建立的APK樣本進行準確率測試。仿真結果表明,本檢測方案在準確率和執行效率上表現良好。接下來將完成兩大任務:(1)將研究更多類型行為特征的樣本特征采集方法以及提高模型精度、改進神經網絡層數和網絡參數,使得深度學習模型更加穩定。(2)將算法模型使用java語言重新搭建,將目前兼容性差和基于Matlab平臺的算法原理移植到手機操作系統平臺和PC機的Windows平臺。
[1]Witten Ian H.DataMinting:PraticalMarchine Learning Tools and Techinques .China Machine Press,2012.
[2]EnckWillian,Gilbert Peter,Chun Byung-Gon,etal.TiantDroid:Aninformation-flow tracking system for realtime privacy monitoring on smartphones,the 9th USENIX conference on Operating System Design and Implementation(OSDI’10).Vancouver,Canada,2010.