论文部分内容阅读
随着移动互联网的发展,移动智能终端设备在全球范围内得到了迅速地普及。Android作为一款应用于移动智能手机上的操作系统,以其开源的特性受到了众多用户的青睐。然而,开源的代码也会引发更多的手机安全问题。病毒程序可以在用户毫不知情的情况下窃取它的账户信息与个人隐私,甚至进一步破坏系统影响用户的正常使用。目前,基于智能手机的安全问题研究尚处在起步阶段。传统的静态码病毒分析方法很难适应手机病毒的快速变异速度。本文针对智能手机安全问题,分析了Android手机病毒的行为特征,进而设计并实现了一款病毒行为的自动分析工具。本文的主要工作分为以下四点。
第一,本文首先介绍了Android手机的安全现状与传统计算机病毒的检测方法。针对Android手机病毒问题,本文采用特征行为分析的方法考察病毒程序的系统调用行为。
第二,本文在分析ARM Linux系统调用与可加载内核模块原理的基础上,利用LKM模块扩展了Android操作系统的内核功能。其中包括在内核空间中动态搜索系统调用表地址,修改系统调用表,hook系统调用函数以及记录目标病毒程序的系统调用行为。
第三,本文通过研究Android SDK提供的模拟器功能,借助LKM模块设计并实现了Android病毒行为自动分析工具。利用Android模拟器的封闭隔离性,将其作为病毒程序运行的沙盒,从而记录下病毒程序的系统调用行为,生成系统调用日志。
第四,本文在ARM Linux内核源码的基础上采用hook技术实现了对301个系统调用的日志记录。为了验证工具的正确性,本文针对系统调用中读写与删除用户文件,发送通讯录到远程邮件服务器等行为编写了样本进行实验测试。结果显示,本工具能够准确地记录测试样本的恶意行为,为Android手机病毒行为分析提供了可靠的数据支持。