论文部分内容阅读
随着移动通信技术的迅速发展,智能手机成为人们身边不可缺少的移动设备。全球大多数智能手机采用安卓操作系统,但是由于安卓平台的开放性,近年安卓恶意软件数量快速增长,各种恶意行为对用户的手机安全构成了极大的威胁。用户安装的软件很可能具有潜在的恶意行为,因此检测安卓恶意软件的需求变得越来越强烈。现有的检测方法无法评估手机软件的恶意程度,用户无法了解手机上的软件是否安全,所以检测手机恶意软件的方法需要不断改进。本文对基于安卓平台的恶意软件特征进行了深入研究,通过分析已有的恶意软件检测技术、恶意软件检测环境和工具、恶意软件的机器学习分类算法,设计出一个基于应用类别的恶意软件检测和评估系统,该系统包括恶意特征提取模块、危险度评估模块和机器学习分类模块,具体工作如下。一、设计和实现了静态检测和动态检测相结合的恶意软件检测框架。在该框架下设计了一个静态特征提取模块,对手机软件的权限、签名和Java源代码等进行检测分析,查找软件中可能存在的恶意系统函数调用和不在预期内的操作行为。同时,设计了一个动态特征提取模块,结合Droidbox和TaintDroid,利用模拟器和真机作为测试环境运行手机软件,记录应用的网络连接、文件读取、隐私泄露等行为特征,利用流量分析动态获取API调用的补充信息,防止恶意软件隐藏恶意行为而逃避检测。二、设计了一个基于应用类别和行为特征的手机恶意软件评估方案,实现了危险值评估系统。从多个恶意软件提取特征,生成特征模板,依据特征的用途和功能,将特征模板中的特征进行分类,生成各类特征的危险值。基于应用类别判断各类特征是否恶意,赋予各类特征不同的危险权重。最后,将待测应用与特征模板进行比对,计算加权后的危险值,评估应用的危险程度。三、综合运用了改进的SVM方案、K-means和KNN方案对应用进行判别,依据各类静动态特征的危险值以判断手机应用是恶意还是正常。实验结果表明,本方案在社交类、壁纸类,SVM方案具有更高的分类准确率,在影音类、系统类和游戏类,K-means和KNN方案具有更高的准确率。本系统基于沙盒环境和真机环境,结合静态检测技术和动态检测技术,成功在真实环境中实现。通过与其他工具对比,本系统能检测出应用更多的特征和行为。通过与现有技术和方案进行对比,本系统具有较高的恶意软件判别准确率。