论文部分内容阅读
目前Android市场内Android恶意应用数目疯狂增长,而Android系统本身的权限机制又存在缺陷,使得Android安全问题面临着严峻的挑战。解决方案更多地偏向恶意应用的检测。现有检测方法,分为静态检测和动态检测,静态方法轻量,动态方法精确。静态方法多采用权限和API调用作为输入,通过规则匹配或者机器学习分类模型,输出检测结果。本文通过相关研究了解,这些规则或模型容易出现噪声敏感,过拟合等问题,导致检测性能下降。针对该问题,本文设计并实现了基于随机森林的轻量级恶意应用检测系统。本文的主要工作包括:1.恶意应用特征分析。从恶意应用的安装,启动,载荷和权限使用四个方面分析恶意应用利用安全漏洞进行攻击的行为特征。2.研究了可以作为模型特征的候选信息。通过对恶意应用行为的分析,认为以下信息可以作为判别正常应用和恶意应用的依据,权限集合及大小,软硬件功能集合及大小,广播Action集合及大小,受保护和可疑的API调用集合。3.设计了基于随机森林模型的恶意应用检测方法。该方法首先判断该恶意应用是否为已存在的恶意应用,如果不是,接着对应用程序进行解析,提取应用特征集合,然后构造特征向量,最后由随机森林分类器进行分类,输出检测结果。4.对随机森林模型进行评估。本文有两个数据集,数据集1包括16254个正常样本,16235个恶意样本(自2013至2016年6月),数据集2包括243个恶意样本(2016年6月以后)。在数据集1上对随机森林,其它分类器,和VirusTotal各个权威病毒扫描器进行评估,随机森林模型总体性能优于其它分类器,处于扫描器的中等水平。在数据集2上评估随机森林模型的性能,实现结果显示模型具有较好的预测能力。5.实现了基于随机森林的恶意应用检测系统。