论文部分内容阅读
随着移动互联网的飞速发展,智能手机的销量也呈现井喷式的增长。智能手机已从原来单一的通讯设备变为集通讯、购物、娱乐、移动支付等功能于一身的必备电子设备。在众多的智能手机操作系统中,Android智能手机也以绝对的优势处于领跑地位。由于Android系统独特的开源性,Android系统也成为了恶意软件泛滥的温床。各种恶意攻击手段层出不穷,从广告软件、恶意吸费软件到间谍软件、跟踪软件等,恶意软件已经给手机用户带来了极大的安全威胁。如何检测Android恶意软件是当前亟待解决的难题。面对恶意软件攻击技术的不断升级,Android自身的安全机制和传统的检测手段已经不再适用。本次研究从恶意软件行为特征出发,结合机器学习算法,构建了一个基于多特征的检测系统,使得Android恶意软件的检测更加高效、精确。本次研究主要包括以下四个方面。第一,数据准备:通过网络爬虫从国外恶意软件网站获取大量的恶意软件样本,从国内安卓应用市场、github等获得正常软件样本。第二,特征提取和优化:通过反编译工具APKTOOL编写自动化脚本对样本软件进行批量处理,然后通过正则匹配和自动化提取技术得到API和权限信息。对敏感API采用信息增益算法进行特征提纯优化,对权限信息利用卡方检验和聚类分析得到最优的权限特征。第三,数据挖掘和机器学习与检测系统的结合:对提取的API和权限信息进行多特征融合。首先采用WEKA进行检测,然后对随机森林算法的节点分裂进行优化,利用改进后的随机森林算法再次进行训练和预测。第四,最优API和权限数量的选取:通过横向测试和纵向测试对系统各方面进行测试,对未知恶意软件进行检测,并对比基于单一特征的检测,分析可得改进的随机森林算法和多特征结合达到了较高的检测率,可以满足目前对Android恶意软件检测的需求。