论文部分内容阅读
智能手机作为一款新型的电子产品进入了人们的生活,人们大部分的信息交互过程都发生在智能手机上。在所有的手机平台中,Android操作系统又占据着主导的地位。所以,Android手机的取证分析工作对于整治与电子工具相关的违法活动有十分重大的意义。特别地,相比于传统以静态文件为目标的Android手机取证工作,Android手机的内存取证工作可以获得更多有价值的电子线索。然而,现阶段大部分Android手机的内存取证方法在诸多方面存在不足:提取过程影响提取内容,缺乏一致性估计;提取内容在逻辑上离散需要额外的地址转换工作;内存分析广度不够,缺乏对应用层的数据分析;内存分析深度不够,简单的内容匹配难以分析出应用数据之间的关联信息。本文以解决现阶段Android内存取证中提取和分析方法的不足为出发点,以进程内存为目标深入研究了 Android应用进程内存提取方法,评估了所提取内容在时间上的一致性,设计了以堆对象为中心的从底往上的Android应用进程内存分析方法,并在此基础上实现了 Android应用进程内存分析系统。论文的主要研究工作如下:1.介绍了 Android取证的研究背景,并列举了国内外电子取证模型。在介绍了提取与分析两个子阶段的研究现状后,指出了现阶段Android手机内存提取和分析方法的缺陷:提取方法影响提取目标从而缺乏一致性估计、提取的内存内容在逻辑上离散、分析广度不足和深度不够等。2.对Android应用进程内存提取与分析方法所涉及的相关技术进行了介绍,包括Linux操作系统和进程的关系模型、Linux进程的状态转换模型、Linux进程的内存管理、Linux进程内存布局、Android应用进程层次以及Android应用进程内存布局等。3.针对现阶段Android内存提取方法影响提取对象的内容问题,提出了以进程内存为目标的Android应用进程内存提取方法。详细介绍了该提取方法的流程,并研究了提取过程中进程内存的变化情况,还评估了所提取的内存在时间上的一致性。结果表明,该提取方法不会影响所提取的目标本身,所提取内容在时间上的一致性较高。4.为了满足现阶段Android内存分析的深度和广度的需求,研究了 Android虚拟机的垃圾回收机制,深入分析了多种底层数据结构的内存布局及这些底层数据结构之间的关联性,提出以堆对象为中心的从底往上的Android应用进程内存分析方法。研究过程中发现,应用数据在内存中存在三种基本的关联性,利用这些关联信息有利于还原多种复杂结构的应用数据,增强内存分析的深度。5.在本文的最后实现了 Android应用进程内存分析系统,并对五大类二十多款应用的多种应用数据进行了内存取证的实践,展现了以应用进程内存为目标的提取方法和以堆对象为中心的从底往上的Android应用进程内存分析方法广泛的适用性。