杨雪
摘 要: Android智能手机的广泛应用使其成为备受关注的数字取证源,近年来取证技术不断发展,Android手机取证标准日臻成熟。研究了Android手机存储设备NAND闪存的异步更新策略这一有利于取证的特性,详细描述了符合国际标准的Android手机取证过程,以及Android手机取证技术的国内外研究现状和面临的挑战。在此基础上展望未来发展趋势,为进一步研究Android手机取证提供参考性意见。
关键词: Android智能手机; 数字取证; 取证标准; 取证现状
中图分类号:TN929.53 文献标志码:A 文章编号:1006-8228(2015)06-07-03
Abstract: The widely used Android smartphones have become main source of digital forensic. In recent years, standard of forensic procedure has become matured and forensic technology is constantly evolving. This article describes the usage of NAND flash chip as storage device in Android phone and its out-of-place-write strategy that forensic officers can take advantage of. Then this article illustrates the international guidelines of mobile phone forensic process, provides an overview of the state-of-the-art mobile phone forensic technology and the challenges investigators are facing, proposes possible trends in this field. Hope this work can serve as an effective support for future in-depth study of Android phone forensics.
Key words: Android smartphone; digital forensic; forensic guidelines; state-of-the-art
0 引言
网络与信息技术的蓬勃发展使智能手机市场迅速扩张。IDC(International Data Corporation)在2015年2月24日发布的全球手机市场调查报告[1]中称,截至2014年第4季度,全球智能手机保有量达到13亿部,其中Android手机占81.5%。Android手机的广泛应用使其成为目前备受关注的数字取证源。本文研究Android手机取证技术,对近年来国内外研究现状进行概述和分析并展望Android手机取证的未来趋势。
1 Android手机取证相关特性
由于携带轻便、功耗低、存储数据不易丢失等特点,NAND闪存被广泛用作Android手机的存储设备。由于NAND闪存的耐擦写程度远低于磁存储器,为了延长闪存的使用寿命,必须通过异步更新的策略实现磨损均衡[2]。即:修改文件时,新数据并不直接写入原来的位置,而是写入一块未分配的区域,并将原数据标记为无效;NAND闪存在空间不足时启动垃圾回收机制把这些区域标记为可用。NAND闪存的这一特性为Android手机取证提供了有利机会。
2 Android手机取证过程
NIST在2014年5月发布的《移动设备取证指南》中把移动设备的取证过程分为证据保全、证据获取、证据分析和生成报告四个阶段[3]。Android手机的取证过程也遵照相应规定。
2.1 证据保全
证据保全的目的是保护驻留在移动设备及其可移动介质上的数据,基本步骤包括记录现场、网络隔离和证据保存。
2.1.1 记录现场
使用相机记录现场并生成一份有关手机状态的报告。拍照时要避免触碰或污染手机及其所处的环境。如果手机的界面是可查看的,则要用相机记录屏幕内容,获取手机的系统时间、服务状态、电量水平及其他可视化图标等。
2.1.2 网络隔离
来电或短信会修改手机的状态或数据,GPS定位数据可能暴露取证人员的位置,此外,一些手机可以通过发送命令远程锁定或擦除数据。因此,在取证前需要把手机与网络隔离。
开启飞行模式、关机和将手机放入屏蔽容器是实现隔离的三种基本方法。然而,这些方法都存在一些缺陷。开启飞行模式需要与手机的键区交互,这会带来一些操作上的风险,而且飞行模式无法完全阻止系统使用GPS服务。关机后再次开机可能会激活认证(如:手机开机密码),使数据提取变得复杂。保持开机实施网络隔离会缩短电池使用时间,因为手机在无法连接到网络时会增大发射信号的强度。法拉第笼通常用来屏蔽信号,但它在手机位于基站附近时可能无法完全发挥作用。普渡大学的实验显示[4],屏蔽设备并不能完全阻止网络通信,短消息最容易透过屏蔽,紧跟其后的是电话和多媒体短信息。目前常用的网络屏蔽方法有蜂窝网络隔离卡、把手机放入屏蔽容器、屏蔽手机周边区域和禁用手机的网络服务等。
2.1.3 证据保存
由于手机数据易失,获取到手机后应尽快送往取证实验室处理。存储证据的介质应密封在容器中放到凉爽、干燥的安全区域。
2.2 证据获取
获取证据的方式可分为三类:手工获取、逻辑获取和物理获取。
手工获取是取证人员记录自己的全部操作并利用系统原有的应用程序获取数据。这种获取方式的优点是操作简单、获取到的信息容易理解;缺点是人工操作的出错率很高,且获取的信息非常有限。因此,手工获取通常作为其他获取方式的补充。
逻辑获取把移动设备与计算机相连接,然后用命令提取信息。通常情况下,逻辑获取通过访问设备的文件系统获取那些未被删除的数据。利用第三方程序获得ROOT权限,在adb shell上执行dd命令以获取/dev/mtd目录下的所有mtd文件是常用的Android手机逻辑获取方式。常用的逻辑获取工具有AFLogial、Celebrite UFED等。这种数据获取方式的不足之处在于,需要安装代理软件且不能获得已删除或文件系统无法识别的数据。
当移动设备损坏或不具备执行逻辑获取所需的标准接口时,逻辑获取便无法执行。一般来说,逻辑获取技术主要与文件系统交互,而物理获取工作在更底层,作用于物理存储介质。物理获取能够按位获得芯片的完整镜像,主要的技术有bootloader、JTAG(Joint Test Action Group)、Chip off和微读取等。
Bootloader是指在移动设备上安装取证人员定制的外部操作系统,引导设备启动后将原系统的数据导出。Bootloader能够绕过手机的安全机制,Flasher Box就使用这种获取方式。
JTAG方式利用板上芯片测试技术获取驻留在存储介质上的数据[5],JTAG工具能在数据受到最小改动的情况下从设备中直接获取镜像,无需将芯片从电路板上取下。但JTAG的数据获取速度较慢且接入点难以寻找,有些设备制造商屏蔽了JTAG调试接入方式。
Marcel Breeuswma等人认为,把存储介质从电路板上焊下(Chip off)再用商业可编程读写器读取数据是最直接的获取数据的方法[6]。这种获取方式对操作者的经验及技巧有很高要求,且可能对设备造成不可逆的损坏。
微读取是最具侵入性、最高端,同时也是最昂贵和费时的物理获取技术。其方法是用高倍显微镜查看门电路的状态,要求取证人员有相应的设备且对相关信息有足够多的了解。
物理获取的难点在于芯片的引脚数目、定义和尺寸各不相同,且在一定程度上有损坏芯片和数据的风险。即便如此,取证界仍普遍认同物理获取优于逻辑获取,因为它能够提取那些已删除的文件或无法被文件系统识别的残余数据。
2.3 证据分析
获取手机镜像后要对其进行分析,取证人员往往最关心系统数据库和网络浏览器数据。常用的商业取证分析软件有XRY COMPLETE、OXYGEN SOFTWARE、SECURE VIEW2、Final Mobile Forensics和BitPim等。
2.4 生成报告
生成报告是取证的最后阶段,是对取证过程中所有操作及所得结论的详细总结。取证报告应包含能够标识案件和取证源的信息,列出所有调查结果以及负责人的签名等[3]。一些取证工具能够根据预定义的模板生成报告,并允许用户修改。
获取到的数据的类型决定了报告是否为硬拷贝格式。大部分智能手机都提供音频和视频功能,这些数据无法打印,为了更好地呈现证据,此类报告应输出在可移动存储介质上(如:CD、DVD或闪存)。
3 国内外研究现状
2009年,Lessard和Kessler[7]在获取ROOT权限后用dd命令拷贝数据镜像,观察系统数据库和Web浏览器中的数据,他们的工作对Android取证技术的研究有先导性作用。Hoog[8]的研究是Android取证领域的里程碑,他提出了处理移动设备的框架,指出最佳的网络隔离方法是开启飞行模式,建议通过adb获取数据。Maus等人[9]在应用程序数据库中搜索维度、经度和高度等属性,并将这些数据转储到专门的数据库获取智能手机中的地理信息。信息工程大学的吴熙惜[10]等提出基于文件头尾部标志的恢复算法从Android footprint数据库中恢复footprint.db和图片,获取手机的历史位置信息。
YAFFS2曾用作Android手机的文件系统。2011年DFRWS[11]发出挑战,要求从其提供的NAND镜像中提取有价值的信息。DFRWS最后公布了四项挑战成果,获胜者FOX-IT[12]把镜像加载到Linux系统然后提取信息,他们通过比较时间戳来确定文件的最新版本,并撰写了一份详细的报告。高丽大学的参赛者Bang[13]等编写工具yaffs2androidimage处理镜像并恢复出整个文件系统。单独参赛者Rustagi[14]认为NAND闪存的OOB信息在文件系统重构中起关键作用;另一单独参赛者Burenin[15]认同YAFFS2元信息在提取文件时的作用,但他未考虑文件和目录之间的关系,没能恢复出完整的目录结构。国内在此方向也有比较深入的研究,杭州电子科技大学的徐明等人利用YAFFS2镜像OOB区域的元信息,用逆序遍历的方法恢复出完整的文件系统及各文件的历史轨迹[16]。武贝贝和尧俊等人在此基础上提出Android手机SQLite数据恢复[17]和用户行为的重构与分析技术[18]。由于Google已把文件系统从YAFFS2迁移到EXT4,上述技术只适用于Android 2.3之前的版本。Dohyun Kim等人详细描述了EXT4文件系统,并提出针对EXT4的信息提取技术[19]。
目前Android取证面临如下挑战。
⑴ 获取ROOT权限存在争议。如前所述,用第三方程序获得手机ROOT权限再通过adb进行逻辑获取是常用的手段,但这会修改手机数据。TimothyVidas等人反对在取证过程中获取ROOT权限,认为用其他镜像引导手机启动是更好的方式[20]。
⑵ 手机安全机制。屏幕锁是最常见的安全机制,暴力攻击会修改手机数据,通过其他系统镜像引导启动是一种绕过屏幕锁的方法。“污点攻击”(smudge attack)是另一种可行的破解方式,用不同角度的光线照射屏幕来发现屏幕锁的图形样式。此外,新版手机操作系统往往采用更难绕过的安全机制,如Android 4.0允许用户对手机信息进行加密,这意味着取证技术必须做出调整。Muller和Spreitzenbarth[21]成功地尝试对手机进行“冷启动攻击”(Cold boot attack)获取内存中解密后的信息。
⑶ 手机病毒和恶意软件的大肆传播对Android生态系统构成威胁,同时也影响取证技术的发展。这些病毒或恶意软件能够绕过安全机制,远程控制手机发动攻击,取证技术应能检测出它们的存在。例如:使用定制的bootloader绕过原来的系统获取手机内存镜像,再将其加载到取证系统用合适的反病毒软件查杀。
4 结束语
近年来,移动手机取证标准日臻成熟,取证技术也在不断发展。Android取证目前面临的主要挑战是如何成功绕过手机安全机制以及防止病毒和恶意软件的干扰。虽有冷启动攻击和bootloader等可行手段,更多类似的绕过安全机制和检测病毒的方法仍有待研究。此外,Sylve等[22]还提出通过分析Dalvik VM内存对整个Android应用空间进行取证分析的思路。本文详细论述了符合国际标准的Android手机取证过程、取证技术的国内外研究现状和目前面临的挑战,为在该领域进行下一步研究提供参考。
参考文献:
[1] International Data Corporation.IDC Worldwide Quarterly Mobile
Phone Tracker [DB/OL].http://www.idc.com/getdoc.jsp?containerId
=prUS25450615,2015.
[2] wear-leveling. http://en.wikipedia.org/wiki/Wear_leveling[DB/
OL],2015.
[3] Rick Ayers, Sam Brothers, Wayne Jassen. Guidelines on Mobile
Device Forensics [DB/OL]. http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-101r1.pdf,2014.
[4] Eric Katz. A Field Test of Mobile Phone Shielding Devices [D].
College of Technology Master Thesis,2010:33
[5] MarcelBreeuwsma. Forensic imaging of embedded system using
JTAG[J]. Digital Invesigation,2006.
[6] Marcel Breeuwsma,Martien de Jongh, CoertKlaver, etc.Forensic
data recovery from flash memory[J]. Small Scale Device Forensics Journal,2007.
[7] Jeff Lessard, Gary Kessler. Android forensics: Simplifying cell
phone examinations [J]. Small Scale Device Forensics Journal,2011.
[8] Hoog A. Chapter 6-Android forensic techniques, Android
Forensic[M]. Syngress Media, US,2011.
[9] Stefan Maus, Hans Hofken, Marko Schuba. Forensic analysis of
geodata in android smartphones [DB/OL].http://www.schuba.fh-aachen.de/papers/11-cyberforensics.pdf,2011.
[10] 吴熙曦,李炳龙.基于Android平台的智能手机地理数据恢复[J].武
汉大学学报(理学版),2013.10.
[11] DFRWS.DFRWS-2011-challenge [DB/OL].http://www.dfrws.
org/2011/challenge/index.shtml,2011.
[12] Pooters I, Moorrees S, Arends p. FOX-IT [Z]. http://sandbox.
dfrws.org/2011/fox-it/,2011.
[13] Bang J, Park J, etc. Dfrc-submission [Z]. http://sandbox.dfrws.
org/2011/dfrc/,2011.
[14] Rustagi A. Rustagi-submission [Z]. http://sandbox.dfrws.org/
2011/rustagi,2011.
[15] Burenin PV. Burenin-submission [Z]. http://sandbox.dfrws.org/
2011/burenin/,2011.
[16] Xu Ming, Yang Xue, etc. A metadata-based method for
recovering files and file traces from YAFFS2 [J]. Digital Forensics,2013.
[17] 武贝贝.面向NAND闪存的SQLite数据恢复技术研究与应用[D].
杭州电子科技大学,2013.
[18] 尧俊.Android用户行为重构与分析技术研究[D].杭州电子科技大
学,2014.
[19] Dohyun Kim, Jungheum Park, etc. Forensic analysis of android
phone using ext4 file system journal log [C]. the 7th FTRA International Conference on Future Information Technology,2012.
[20] Timothy Vidas, Chengye Zhang, Nicolas Christin. Toward a
general collection methodology for Andrid devices [J]. Digital Investigation,2011.
[21] TiloMulle, Michael Spreitzenbarth. FROST[DB/OL]. Lecture
Notes in Computer Science Volume 7954,2013:373-388
[22] Joe Sylve, Andrew Case, etc.Acquisition and analysis of
volatilememory from android devices[J]. Digital Investigation,2012.