论文部分内容阅读
随着智能手机的普及,移动互联网已成为人们生活中必不可少的一部分。移动互联网技术在给我们带来便利的同时,也会带来各种隐患。近年来,各种各样的病毒层出不穷,安全性方面的问题日益凸显。Android系统凭借着自身的优点,迅速占据了移动操作系统的半壁江山,但这也使其成为手机恶意程序重点攻击的目标。由Android恶意应用造成的损失越来越大,如何高效准确的分辨出应用中存在的威胁,在当前仍具有重要的研究意义。但是目前在Android应用安全性检测上,传统的检测技术都存在一些不足,如何更加有效的检测应用的安全性问题,依然是当前的研究重点。本文以评估Android应用的安全性为目标,基于Soot框架设计并实现了 Android应用安全性检测工具。恶意应用程序利用Android系统提供的API接口对用户进行攻击,攻击行为的产生是通过API函数的调用序列产生的,因此本文基于Soot框架追踪并抽取应用的行为,最后通过分析这些行为实现对Android应用的安全性检测。本文首先研究了当前Android系统的普及,分析了国内外学者对于Android应用安全性检测研究的优点和不足。其次学习了 Android恶意程序分类标准以及Android系统的安全机制。接着深入研究了污点传播技术、Soot框架使用方法和一些机器学习算法。最终利用这些技术完成了Android应用安全性检测工具的研究与实现。整篇论文的具体工作如下:1.对Android平台发展趋势进行调研,归纳总结了国内外关于Android应用安全性研究成果及现状。然后,通过概述前人对Android应用检测的研究和应用现状,给出了论文的组织结构。2.详细介绍了研究Android应用安全性检测工具的关键技术,主要包括Android应用恶意程序分类方法、Android系统安全机制、污点传播分析技术、Soot框架和机器学习算法。3.通过研究污点分析算法,实现了基于Soot的Android静态污点分析方案,以此静态分析Android应用静态行为特征。之后参照静态分析结果,提出了包含行为编号的动态插桩方案,在插桩过程中通过引入API编号,将动态分析的行为序列与静态污点分析结果相结合。最后提出了基于随机森林算法的Android应用分类模型,使用静态分析结果和动态分析结果,建立了应用安全性分析模型,以此分析Android应用的安全性问题。4.根据研究成果,设计并实现了 Android应用安全性检测工具。并对工具的基础功能、模块功能进行了测试。最后,以此为基础,通过在对工具实现和使用中出现的一些问题进行分析和总结,并对未来工具改进的方向进行了展望。