论文部分内容阅读
随着移动设备和网络技术的飞速发展,移动互联网已经成为社会发展的重要保证,随之而来的移动端的安全问题逐渐成为移动互联网时代人们面临的最为严重的问题之一。统计分析表明,移动端的恶意行为主要包括敏感数据窃取、远程控制、恶意扣费、恶意传播、资费消耗、系统破坏、流氓软件、数据破坏等。其中,用户敏感数据窃取是各种恶意行为中最为常见的一种。如何有效的检测用户敏感数据的恶意行为是有待人们急需解决的问题。在移动端的恶意软件检测方面,国内外已经有一些较为深入的研究工作。然而已有的手段相对落后,传统的动态检测方式虽然可以根据软件运行时的表现进行监控判断,但是很难覆盖软件运行的所有路径,并且对设备硬件的开销比较大。而传统的静态检测方式,虽然能够很好的检测样本库中已经存在的恶意软件,但是对于新出现的恶意行为,其在检测准确率方面有待商榷。在对移动端用户敏感数据窃取的恶意行为及其检测方法进行了研究之后,本文提出了新型的Android应用恶意行为检测技术----基于信息流的Android应用污点分析技术。这是一种主要针对用户敏感数据泄露的恶意行为的检测技术,具有污点追踪粒度低、不需要被检测程序源代码、能够检测未知恶意软件、精确性高等特点。本文首先阐述了本课题所涉及的研究背景及意义,Android系统恶意软件的主要行为,Android系统的安全机制等相关背景知识,然后主要研究了静态污点分析技术的两个重要步骤----控制流分析和数据流分析。控制流分析主要通过分析程序所有的反编译源码,找出非顺序信息流中数据的传播途径,以方便数据流分析做污点追踪。数据流分析则主要通过指令分析来识别和标记通过Android系统发送API所发送的污点数据,并反方向追踪污点数据(对于非顺序信息流的追踪则借助控制流分析的结果来完成追踪),最终找到污点数据的源头并检测其是否是来自于Android系统获取敏感数据的API,从而完成污点检测。接着基于静态污点分析技术构建了原型系统,展示了系统设计思路及相关实现细节。最后对该系统进行了实验评估,从功能上和性能上对系统进行了测试。实验表明,静态污点分析技术能很好的完成针对用户敏感数据窃取的检测任务,但是在性能方面还需提升。