论文部分内容阅读
随着5G、互联网和移动端技术蓬勃发展,不仅极大的推进了人类社会的信息化进程,更使得手机成为了人类日常生活中极为重要的一部分,越来越丰富的手机应用不仅极大丰富了人们的精神生活,更为人类带来了巨大的便利。在当前手机市场上,安卓设备更是占据了主流的市场份额,在2019年,安卓的全球月活设备达到25亿台。但与此同时,安卓系统的安全问题也日益受到关注,安卓系统遭受着各类恶意软件的危害,人们的隐私与财产会受到侵害,任何针对安卓的恶意软件都会因为庞大的安卓用户数量而迅速传播开来,因而对安卓恶意软件的检测变得尤为重要。在此背景下,论文做了一下几项工作:(1)首先从背景方面,研究了安卓的基本架构、恶意软件的分类、现状以及如今恶意软件出现的新技术。又研究了恶意软件的各种检测方案与几种机器学习算法的原理。(2)通过研究当前主流的恶意软件检测方式,发现静态检测技术可以被代码混淆等技术绕过检测,针对此不足采用动态检测的方式,提出了基于系统调用的动态检测方案,并详细阐述了整个方案各个模块的具体作用和实现细节,本文找到了一种特征向量的构建方式,采用了 192个系统调用作为其特征,并设计了整个日志采集系统的结构。在对多种机器学习算法进行研究的基础上,选取了 XGBoost、LightGBM、MLP三种机器学习算法。(3)搭建整套安卓恶意软件检测系统。创建了安卓样本库,通过实验来验证XGBoost、LightGBM、MLP三种机器学习模型效果。实验发现使用主成分分析的MLP模型上准确率最高,均能达到97.4%。依据Voting原则,对XGBoost、LightGBM、MLP三种模型进行模型融合,能够达到了更高的98.1%的准确率;在检测时间上这一层面,经过特征选取的LightGBM模型拥有最快的时间,达到0.0045s,这两者有各自的优势,能够适用在不同的场景。