张海舰
摘 要设计了一个基于深度学习技术的恶意应用程序检测系统。该系统的实现主要由三大部分组成:安全与恶意APK代码特征的提取模块、深度学习模型的“训练”模块、深度学习模型检测未知APK样本模块。系统协助设备用户有效应对大数据人工智能时代的恶意入侵威胁和个人隐私信息泄露威胁。
【关键词】Andriod系统 APK 深度学习 大数据人工智能
深度学习(Deep Learning),作为一种实现人工智能(AI)的强大技术,经过近期的飞速发展,已经在手写识别、维数约简、语音识别、图像理解、机器翻译、蛋白结构预测和情感识别等各个方面获得了广泛的应用,因屡屡打破记录的测评结果而受到社会和科技前沿的高度关注。然而随着移动互联网(Mobile Internet)和物联网(Internet of Things)等信息产业技术的蓬勃发展,基于Andriod平台的移动智能设备数量和用户数据流量呈指数爆炸式增长。因而大数据人工智能时代的信息安全问题将会是我们人类面临的重大挑战。为应对艰难挑战,本文将人工智能时代的大数据背景与擅长大数据处理的前沿科技——深度学习,创新性的结合在一起,突破传统算法效率低的技术屏障,且从理论上取得了可行性证明,实际验证也获得了较好的检测效果。
1 系统实现原理
深度学习检测系统在原理上由三大模块构成:安全与恶意APK代码特征的提取模块、深度学习模型的“训练”模块、深度学习模型检测未知APK样本模块。如图1所示。
2 APK特征数据提取模块
本文使用静态代码特征分析来提取特征集。原理图如图2所示。
2.1 APK代码反编译与指令特征分析
在特征描述阶段,静态代码分析获取各个应用程序Dalivk指令的N-Gram序列的统计数据。
2.2 统计处理模块
使用 Python语言编写代码对静态分析获得的特征集合进行统一处理为CSV格式。然后将特征数据转为成卷积神经网络擅长识别处理的样本特征矩阵。
3 深度学习模型“训练”模块
卷積神经网络的感知原理类似于视觉系统的作用原理,针对二维形状的识别而设计的一种多层感知器,局部连接,权值共享。在Matlab环境下开发编写了cnn.m、fcnn.m、deep_Learning.m等多个卷积神经网络算法文件来对样本特征矩阵进行训练。
原理框图如图3所示。
4 深度学习模型检测未知APK样本模块
从Google play上批量下载未参与训练深度神经网络的Andriod应用程序,然后对其APK执行系统步骤,得到未知样本APK的相关预测报告。得到了较好预测效果。
5 结束语
本文采用静态代码分析技术提取Android应用的多类行为特征数据,然后将特征数据创新性地转化为样本特征矩阵(Sample Matrix),并创作OPNG技术以提高细粒度,弥补了一般静态代码分析的缺点。另一方面本文突破了传统分类算法在面对大数据时的局限性和低效率性、同类型特征在Android恶意行为检测中所起的不同作用等诸多复杂的难题,极大地提高了算法分类判性的可靠性。本文中采用了11126个恶意APK样本和22002个非恶意APK样本进行训练,2000个未参与“训练”的APK样本进行准确率测试。实验结果表明,本作品在准确率和执行效率上表现良好。下一步工作主要分为两大部分:
(1)将研究基于更多类型行为特征的深度学习算法,并对深度学习算法结合云计算实现更快速的处理,进一步完善系统。
(2)将整体检测模型使用java开发语言重新搭建,将目前的检测系统植入便于操作的pc端应用程序之中。
参考文献
[1]彭国军,李晶雯等.Android恶意软件检测研究与进展[D].武汉大学计算机学院,2015(01):003.
[2]张福勇.基于n-gram词频的恶意代码特征提取方法[D].江苏生物工程学院,2012
作者单位
空军预警学院 湖北省武汉市 430019