论文部分内容阅读
随着数字技术的快速发展,移动终端的性能越来越高,人机交互越来越智能,特别是随着5G技术的逐步普及,网速也不再是移动终端用户体验的瓶颈。技术的发展给人们带来便利的同时,也为恶意应用提供更加坚实的软硬件环境。因此,手机安全防护在安全领域的地位愈发重要,甚至已经成为国家安全的重要组成部分。PC端基于机器学习的恶意软件检测技术日渐成熟并且达到了较高的准确率,但在移动端防护方面受限于相对有限的计算资源,依旧处于一个较为薄弱的境地。而在机器学习算法特征选择的众多研究中,系统调用序列逐渐成为研究人员最常使用的动态特征之一。但现有系统调用序列的获取方法大多基于模拟软件对安卓应用的随机操作,该方法产生的系统调用序列随机性极高且存在较大噪声,对检测效果造成不小的影响。本文针对上述问题,采用移动端检测和PC端检测相结合的二级风险评判机制。在移动端提出一种轻量级的恶意软件检测方法,以满足计算资源有限的条件下对安卓应用进行第一级风险评判;而在PC端第二级风险评判中提出了一种基于方法调用图的恶意家族聚类算法,该算法克服了系统调用序列随机性大的不足,同时不局限于安卓应用良性或恶意二分类的研究,进一步探索了方法调用图在恶意家族聚类上的效果,对于摸清同一恶意软件家族的恶意行为规律,更有针对性的做好手机安全防护工作有着积极的作用。具体工作内容如下:(1)提出了一种轻量级的移动端恶意软件检测方法。权限是安卓恶意软件静态检测最常使用的特征之一。随着安卓系统的不断升级,安卓权限的数目也不断增加。安卓系统的权限机制要求应用必须显示的申请想要使用的权限,而良性和恶意安卓应用在申请权限的种类和数量上存在明显的差别。相比良性安卓应用,恶意应用需要更多的敏感权限。但是,存在部分权限在恶意或良性安卓应用中几乎都没有被使用,也有一部分权限几乎被所有安卓应用申请,还有部分权限之间往往成对出现,存在着明显的关联性。基于上述分析,同时为了适应移动端轻量级的需求,本文提出了一种基于信息熵和关联规则的特征选择算法,引入信息论中信息熵的概念,放弃对恶意检测贡献度低的部分权限,并结合关联规则算法,挖掘权限之间的强关联规则,进行特征选择。(2)提出了一种基于方法调用图的恶意家族聚类算法。应用程序接口(API)是衔接开发人员与底层系统的桥梁,开发人员通过调用不同的API完成不同的功能。良性安卓应用聚焦于给用户更好的使用体验,API的使用风格简单高效;而恶意应用则更加热衷于窃取、传输私密数据,甚至会尝试获取移动设备的控制权,势必会涉及大量敏感操作。因此,良性安卓应用和恶意安卓应用在API的使用种类和频率上同样存在较大区别。基于上述分析,本文利用污点分析框架构建安卓应用的方法调用图,提出了一种基于社区发现算法和图嵌入技术的恶意程序检测算法,并构建样本关系图,再通过对样本关系图进行社区发现的方法,完成恶意家族的聚类。该算法采用无监督的学习方式,更有利于发现新的恶意家族。(3)设计并实现了智能移动终端恶意程序主动检测系统。该系统分为移动端和云端两部分,采用二级风险判断的方式对样本进行检测。移动端负责第一级风险判断,基于已经训练好的检测模型,完成安卓应用的特征提取和静态检测,将风险较高的应用上传至云端检测平台进行二次评估;云端检测平台负责疑似样本的二级风险判断,给出最终结果并分类存储。考虑到移动端计算资源(例如:电量、内存等)有限的弊端,本系统在云端完成静态检测模型的训练,训练完成后迁移到移动端使用。