论文部分内容阅读
随着信息产业的发展,近几年移动互联网和智能手机相关产业发生了巨大的变化,Android操作系统由于其开放性吸引了大量的企业和用户。伴随着Android操作系统的快速发展,第三方的手机应用软件逐步的崛起和普及,大量的Android开发者开发了数以万计的应用软件。与此同时,Android平台上的恶意程序给企业和用户造成了巨大的经济损失,Android应用程序的安全性也成为了信息产业中的重中之重。在这样的背景下,如何检测应用程序的安全性显得至关重要,本文在深入分析了Android操作系统特点以及所面临的安全威胁的基础上,重点研究了Android应用程序的安全性检测技术,论文的主要研究内容和创新点如下:(1)在分析当前主流检测技术的基础上,提出了综合特征码检测、静态检测及动态检测的Android应用程序安全性检测方案。该方案中首先对目标软件进行特征码检测,在特征码检测为非恶意软件的情况下,继续进行静态检测和动态检测。论文中对各个模块分别进行了设计与实现,搭建了具备对已出现应用程序与全新应用程序进行安全性检测能力的软件平台,在平台的基础上,设计了针对各模块能力和整个系统检测能力的测试方案。(2)对传统特征码检测做了一些改进,主要将特征类和特征函数加入到特征库中作为恶意软件判断的一个标准。该改进能够使特征码检测对新型软件或者恶意软件变种有一定的检测能力,在一定程度上改善了特征码检测只能检测已有恶意软件的问题。(3)在动态检测部分,率先提出了运行时库级别的API行为监控。该监控方法相比于传统的监控方法有安装方便、监控范围广、复杂度低等优点。该方法利用了应用程序启动过程中Zygote进程会同时加载Dalvik虚拟机、Java运行时库以及核心JNI方法的过程,通过修改Java运行时库实现API行为监控的目的。论文中对API行为监控部分做了系统设计和编程实现。(4)动态检测的行为数据分析中,率先将序列模式挖掘算法应用到Android应用程序安全性检测中。该算法能够提取出恶意软件的序列模式,也就是查找恶意软件的频繁序列,目标软件产生的行为序列通过与这些频繁序列比较来对Android应用程序安全性进行判断。论文中序列模式挖掘算法选用分治策略的PrefixSpan算法,论文中对该算法进行了编程实现。