基于深度学习技术的恶意APP检测方案
2017-10-13张海舰
◆张海舰 方 舟 陈 新
基于深度学习技术的恶意APP检测方案
◆张海舰 方 舟 陈 新
(空军预警学院 湖北 430019)
本文提出了一种基于深度学习算法的安卓恶意软件检测原理。该原理的实现主要由APK代码静态特征和动态特征提取、深度学习模型建立、成熟深度学习模型仿真检测未知APK三个步骤组成。并且该技术相比于传统的恶意代码检测算法,执行检测的效率有较大的提高。
安卓系统;深度学习技术;恶意代码
0 引言
近年来,智能手机普及率迅速增加,智能手机应用功能激增.全球最具权威的IT研究与顾问咨询公司Gartner的数据显示,截止到2016年年底,全球大约有23亿部电脑、平板电脑以及智能手机使用Android系统,Android近年来的快速发展使其成为了一个占主导地位的智能手机平台,拥有整个市场约三分之二的份额。由于Android系统的开放性,它也成为了众多恶意代码开发者的活跃地盘。由于恶意代码的数量和种类越来越多,加上代码混淆、加密等技术的兴起,网络用户数据流量的急速增加,使得恶意代码检测面临前所未有的挑战。
随着计算机GPU等核心硬件性能的不断提升,计算机前沿科技人工智能(AI)取得飞速发展。深度学习(Deep Learning)作为推动人工智能发展的核心技术,其模拟人脑神经网络的强大学习机理,已经在很多涉及计算机的传统领域取得了突破性的进步。例如Google公司DeepMind团队开发的深度学习程序AlphaGo以4:1的惊人战绩打败了韩国围棋界传奇人物李世石九段,国内百度公司开发的深度学习机器人小度(Duer)也在很多综艺节目里公开挑战人类最强人脑,颠覆了人类在图像记忆、声音识别、等多领域的记录。深度学习算法最擅长的就是处理大数据,因此深度学习最能有效应对未来互联网用户信息数据“爆炸”现象。将深度学习技术用于信息安全领域将颠覆传统算法,以新的框架模式和检测机理为网络用户的信息安全提供坚实有效的保障。
1 软件特征数据提取
1.1 静态特征分析
静态分析使用反编译工具获得反编译smali文件,smali文件拥有特定的格式和语法,解释安卓虚拟机Dvlvik执行的动作,去掉无关的动作指令,保留首写字母为M、R、G、I、T、P、V的动作指令,分别代表移动、返回、跳转、判断、取数据、存数据和调用方法七大指令,再提取统计相关数据,为检测系统提供特征集以及相应的数据来源。目前的静态分析大多针对应用申请的权限、API调用、应用证书等提取特征集,这种方式提取特征的缺点是不能做到完全覆盖,且细粒度低,容易导致漏报、错报。
1.2 动态特征分析
动态分析利用沙盒对软件进行动态分析,为解决未知的代码所带来的静态分析所不具备的检测能力,弥补所存在的可能的漏洞,提高检测性能。利用开源的安卓沙盒DroidBox进行分析,记录其执行动作log及次数,分析所有动作并归类,按照静态分析思路利用相同算法,进行机器学习,得到动态行为检测结果。
2 深度学习模型建立
在深度学习模型建立模块,将以上静态分析的样本特征数据和动态分析的样本数据构造成样本矩阵,在Matlab环境下开发的卷积神经网络算法,对样本的特征数据矩阵进行卷积操作、下采样操作、卷积操作、下采样操作、数据展开、分类等一系列操作,实现无监督的神经网络构造。如图1所示。
图1 深度学习原理框图
3 模型仿真
从谷歌市场和小米市场上批量下载未参与成熟模型构建的安卓APK文件,然后将其导入成熟的深度学习模型进行检测,得到样本APK的分类混淆矩阵和ROC感受曲线,如图2所示。然后整理该未知样本的相关检测数据,依照既定的参数标准,评价未知样本的风险等级,提交检测报告给用户。
图2 深度学习系统仿真结果
4 结束语
在样本特征数据采集部分,本文采取将静态代码分析和动态沙盒检测分析相结合的方式提取样本的特征数据,弥补了单一静态代码分析的缺点。本文中采用了从谷歌市场和小米市场下载的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.