论文部分内容阅读
智能手机凭借其连通性及便携性,日益成为人们生活中不可或缺的移动设备。Android平台以开放及低成本的特点,已成为移动设备的首选操作系统。随着Android系统在移动设备中占有率的不断提高,Android平台上应用软件所面临的安全问题也日趋严峻,如恶意扣费、资费消耗、隐私窃取等恶意行为时有发生且愈发复杂、多样。因此,如何高效、准确地检测出Android应用软件中是否存在恶意行为,已成为当前信息安全领域的一个热点研究问题。研究发现,目前恶意软件检测方法主要有静态、动态两种,每种都有其优势及缺点,但现存研究更多的是关于某个方向技术的改进,以及对某个具体问题的深入分析讨论。针对这一问题,本文在对Android操作系统、Android软件恶意行为及现存恶意软件检测方法深入研究后,提出了基于行为分析的Android恶意软件检测方法,并设计、实现了结合特征提取、置信度和机器学习算法的自动检测模型。论文主要研究工作包括:(1)针对静态分析,利用反编译相关技术获得配置文件及Java源码文件后,针对权限、四大组件、Intent及系统API的声明和使用,全面收集Android软件的静态行为信息。由于行为数据量太大,本文通过特征描述及特征提取,剔除冗余信息以构造具有最佳分类效果及性能的特征集。(2)为解决对未知恶意软件自动检测的问题,本文利用机器学习算法构造分类器,并以静态行为特征为载体,在样本集上进行训练及测试模型。为了减小机器学习算法构造的分类器强制将不确定样本分类产生的误差,对分类判别置信度低于50%的Android软件样本实施进一步的动态行为分析,根据其生成的关于文件访问、网络访问、加密解密和系统设置日志,最终对Android软件样本属性进行判断。(3)基于上述行为收集、特征工程和恶意软件检测方法,论文设计并实现了一个完整的基于行为分析的Android恶意软件检测模型。在包含606个恶意及618个良性Android软件样本集上进行测试,当使用随机森林算法基于静态行为特征构造分类器时,恶意软件检出率达到97.7%。加入特征提取及动态行为分析后,仅有2个恶意软件被误判为良性没有检测出来。与现有Android恶意软件检测方法相比,本文基于行为分析的方法,在恶意软件检出率方面比AndroDialysis提高了 2.2%,且其使用的31维特征集也达到更优的检测效率。