摘要:
如今,智能手机行业飞速发展,尤其是Android智能手机更是得到了广泛普及,成为人们重要的交流工具。但是Android智能手机上恶意软件泛滥,给用户的信息安全带来巨大的威胁。软件检测技术是实现恶意代码检测的一种途径。已有的静态检测技术局限性较大。如何使用动态特征来实现软件检测成为了人们越来越关注的问题。本文对软件运行时内存的特征进行了一定的研究。 本文的主要研究目的是利用对象引用关系图为动态特征,实现对Android恶意代码的检测。本文主要的研究内容是在Android平台下抽取内存信息建立对象引用关系图,并研究通过子图同构匹配算法实现对象引用关系图的匹配。 首先,本介绍了Android系统的整体架构,分析了其安全机制和应用程序运行机制。并对Android平台的恶意代码进行了分类,分析了其行为特点和攻击原理。抽取堆内存中的对象引用关系是本文工作的难点,本文实现了在Android平台下对单个进程内存数据的抽取,并从数据中获取了对象间的引用关系。 其次,本文分析了目前广泛应用的经典图同构匹配算法,重点研究了适用于子图同构匹配的VF2算法,并在VF2算法的基础上进行修改,加入了新的参数来控制匹配的精度,使其适用于对象引用关系图的同构匹配,并详细分析了算法的时间复杂度和空间复杂度。 最后,本文搭建了Android恶意代码的检测系统,对该方法在恶意代码检测中的有效性进行了测试。实验表明,对象引用关系图检测方法对程序通过代码混淆方法改变自身静态特征之后的识别依然有效。通过调整修改后VF2算法中控制匹配精度的参数,实验测试出了该算法在不同匹配精度下检测的漏报率和误报率,验证了算法在实际应用中的可行性。
展开