论文部分内容阅读
近年来,随着移动互联网的飞速发展,移动智能终端已经深深影响着人们的生活、学习和工作。然而,在众多的移动智能终端中Android系统的智能终端设备占据了巨大的市场份额。由于Android系统的开放性以及国内应用市场的混乱性,导致Android恶意软件急剧增长,这给人们的隐私数据和财产安全造成了巨大危害,因此对Android恶意软件分析和检测系统的研究已经刻不容缓。Android软件分析技术主要分为静态分析和动态分析,静态分析主要通过反编译技术获取的反汇编代码来分析其逻辑,动态分析主要通过代码注入或者通过定制Android系统来分析软件的行为特征。为了更准确和快速的对恶意软件分析和检测,本文综合静态分析和动态分析的优点,提出了利用决策树算法和神经网络算法的恶意软件检测模型。该模型首先使用静态分析技术提取出应用软件申请的权限、组件信息、应用包名和应用签名等信息,通过决策树算法对应用软件进行快速检测;然后通过动态分析技术提取出应用软件运行时的敏感API函数、系统命令等信息,综合静态分析技术提取出的数据,使用神经网络算法对应用软件进行准确检测;最后在以上检测模型的基础上设计了一套恶意软件检测系统。本论文的主要工作如下:(1)本文研究了Android系统的架构、Android应用程序组件、Android安全模型、Android恶意软件的分类以及攻击方式和软件分析方法,并详细分析了Android系统的启动过程等知识,为下文检测模型的建立提供了理论基础。(2)针对恶意软件检测的快速和轻量的需求,提出了一种基于权限使用决策树算法快速检测Android恶意软件的模型。该模型以应用程序申请的权限为切入点,使用静态分析技术提取出软件申请的权限,以众多样本中应用程序申请的权限的次数多少和信息增益大小为依据进行特征选取和特征去冗,组成最具有代表软件类别的权限特征集合作为分类标准,实验结果表明该模型具有较好的准确率和较快的运行速度。为了进一步提高检测的准确率,本文结合静态分析和动态分析技术,提出了基于神经网络算法深度检测Android恶意软件的模型,该模型在静态分析的基础上,对现有动态分析技术的改进来记录软件运行时敏感API函数的执行情况、系统命令调用等多类特征作为分类标准,实验表明该模型在一定的执行时间内明显优于决策树算法,具有很好的应用价值。(3)结合Android的安全机制和以上提出的检测模型,本文设计了Android恶意软件检测系统的框架。该框架由手机客户端和服务器端组成,手机客户端主要负责收集已经安装应用软件的包名、签名和申请的权限信息,通过网络通信把数据传输给服务器端并展示服务器端返回的检测结果;服务器端负责对未知应用软件进行检测、恶意软件样本库更新和算法模型训练等功能。该框架为Android恶意软件的检测提供了具体的解决思路,具有一定的实际应用价值。