随着手机智能化程度越来越高,我们可以通过智能手机处理越来越多的生活需求。智能手机中的电子数据主要来源于用户使用各类系统应用与第三方应用留下的痕迹,包括聊天记录、出行记录、地理位置、支付记录、通话记录和短信等信息,获知此类信息可以帮助办案人员更好的了解案情,必须及时做好手机的扣押及电子数据的提取与分析工作。 手机电子数据提取流程主要包括现场获取、实验室检验、检出数据和检验记录四个部分。在本文中,我们将主要针对实验室检验与检出数据环节,从数据存储情况、数据提取技术和取证分析技术三个方面,具体介绍主流的iOS和Android智能手机取证所涉及到的研究基础和关键技术。
1.智能手机数据存储技术
为了提取和分析移动设备存储的数据,首先必须知道在哪里可以找到这些数据。下面将根据设备系统类型不同对数据存储方式进行介绍。
1.1 Android数据存储技术
Android文件系统通常分为内部存储和外部存储,内部存储即系统内存,用于存储Android操作系统以及应用程序的私有数据和缓存,外部存储则类似于 SD卡,正常情况下用户只能对该部分进行读写操作,外部存储目前也普遍内置到设备中。应用安装后,系统会自动在内部存储和外部存储分别建立应用的私有存储区域,对于不同的Android设备来说,它们往往具有一些通用的标准存储位置。图1展示了Android存储的层次化描述,最顶层红色部分表示在取证过程中应重点关注的Android系统分区,下层表示在这些分区中能够定位的电子数据信息的存储位置。 图1 Android数据存储区域 首先来看“data”分区,这个分区包含所有的用户数据,是联系人、短信、设置和应用程序等存放的地方,擦除这个分区就相当于执行恢复出厂设置。在取证时“data”分区下应重点关注的数据存储目录见表1。 表1 “data”分区详情 其次来看“sdcard”分区,这个分区用作外部存储区域,主要用来缓解系统存储空间不足带来的影响,该分区不受安全保护,任何人都可以访问存储在这里的数据。“sdcard”分区中的有用信息包括:相机应用程序拍摄的图片/视频、用户自定义下载的文件以及应用程序公共存储区存储的数据。 最后来看“system”分区,此分区用来存放除内核和文件系统以外的系统相关配置,包括了用户界面、手机预装的软件、应用程序运行日志等,这些数据提供了深入了解应用程序运行底层逻辑的可能。 不同的Android设备虽然可能有着不同的文件系统结构,但是它们所具有的这些通用的数据存储位置给取证人员工作的开展指明了方向。
1.2 iOS数据存储技术
iOS使用HFS+(Hierarchical File System Plus)文件系统,如图2所示,一个HFS+卷一般包含6个数据结构,分别是: (1)卷头文件(Volume Header):该文件定义卷的基本结构,如每个分配块的大小、已用和空闲块的数量,以及其他特殊文件的大小和位置。 (2)分配文件(Allocation File):此文件包括一个位图,其中包含卷中已使用和未使用的块。 (3)目录文件(Catalog File):此文件定义文件系统中文件夹的结构,并用于标识特定文件或文件夹的位置扩展数据块。 (4)扩展数据块溢出文件(Extents Overflow File):此文件包含指向需要八个以上连续分配块的文件的其他扩展数据块的指针。 (5)属性文件(Attribute File):此文件包含文件的可自定义属性。 (6)启动文件(Startup File):此文件包含系统启动时所需的信息。 图2 HFS+文件系统结构 iOS设备一般分为两部分——系统分区和数据分区。系统分区包含iOS操作系统和所有预装应用,路径一般是“/dev/disk0s1”或者“/dev/disk0s1s1”。由于系统部分不包含用户安装的应用程序且用户通常无法访问该分区且与调查相关的所有信息都在数据分区内,所以此部分很小且此分区通常不被关注。 数据分区占据了存储空间的大部分,路径一般是“/dev/disk0s2”或者“/dev/disk0s2s2”。该部分包含用户数据以及用户安装的应用程序。关键存储目录描述如表2所示。 表2 iOS数据分区关键存储目录 #
2.智能手机数据提取技术
明确了数据的存储位置,接下来要考虑如何从智能手机设备中将这些有用数据提取出来。本节主要介绍了四种技术来提取智能手机物理映像或逻辑映像数据,其中前两种Android和iOS设备可以共用,后两种仅能针对Android设备。提取物理映像数据可以理解为对存储设备或分区的逐位复制或数据转储,提取逻辑映像数据则可以理解为去拷贝设备存储的文件和文件夹的副本。
2.1 基于Chip-Off(芯片摘取)的数据提取技术
这种数据提取方式用于提取智能设备物理映像,需要分析人员具备相关硬件技术知识,从设备的电路板上将NAND闪存芯片实际剥离出来,并通过焊接等技术将芯片的引脚直接与硬件分析工具进行连接,以便随后分析工作的展开。只要闪存芯片完整,即使设备已经损坏,Chip-Off技术也可以从中提取数据,并且不需要提前了解设备解锁凭据。该技术的缺点是拆解芯片时可能会造成无法还原的后果,耗时较长,风险较高,而且随着全盘加密技术的普及,通过Chip-Off技术很难获取到NAND中的明文数据。
2.2 基于备份的数据提取技术
该技术主要通过第三方备份应用软件或备份应用编程接口来提取设备数据。早期Android没有提供个人数据备份机制,因此应用商场中发布了很多第三方备份软件,例如RerWare公司开发的My Backup Pro,这些软件可以让用户或取证人员将终端设备数据备份到SD卡或云端上,如果具有root访问权限,还可以将“/data/data”等重点存储区域的文件进行备份。使用谷歌推出的备份应用程序接口进行备份会更加安全、可靠,并且对于所有设备上的应用程序来说具有备份一致性,这有利于备份的恢复工作。iOS设备则可以直接通过iTunes获取手机备份。
2.3 基于JTAG (Joint Test Action Group)的数据提取技术
JTAG是一种国际标准测试协议,主要用于对各类芯片以及其外围设备进行测试与调试。目前Android设备的CPU(central processing unit,CPU)硬件一般具备JTAG接口,可以采用JTAG技术手段提取设备的完整镜像文件并进行深度的数据恢复操作,属于物理映像数据提取技术。分析人员利用Android设备背后的JTAG测试接口,向设备CPU发送命令,通过JTAG命令将闪存中的所有数据发送给CPU,再从CPU上把闪存芯片的数据提取走。JTAG技术对CPU底层协议的操作是在设备不开机情况下进行的,不需要获知设备类型、锁屏密码等信息,同时避免了对设备物理结构的破坏,数据提取效果与Chip-Off技术完全一致。JTAG技术的缺点主要包括:不是所有设备都支持JTAG,JTAG测试接口很难定位,数据提取过程缓慢以及必须在CPU完好的情况下才能发挥作用。
2.4 基于ADB(Android Debug Bridge)的数据提取技术
ADB是取证人员针对Android设备取证经常接触到的一个命令行工具,属于Android SDK,允许计算机和Android设备之间使用USB连接后建立通信。主要功能包括执行服务器端Shell、上传/下载文件、建立连接和映射以及安装应用程序等。该工具包含三个套件:Client部分运行在计算机端,用于向Android设备发送命令;Daemon部分运行在设备端后台,用于运行Client发送过来的命令;Server部分运行在计算机端后台,用于管理Client和Daemon之间的通信。ADB中的常用命令如表3所示。 表3 ADB常用命令 默认情况下,Android设备的ADB功能是关闭的,需要手动开启USB调试模式,且需要提前解锁设备并获得设备的root权限。
3.智能手机数据分析
从设备中提取出数据后,取证人员需要对数据含义进一步抽取和分析。本小节从时间序列分析、文件雕复和应用分析三个角度进行介绍,这些分析技术都是为了最大限度的对数据上下文进行关联,以便从中获取取证所需的关键证据信息。
3.1 时间序列分析
时间序列分析是取证调查中的重要部分,通过分析操作事件发生的时间可以定位嫌疑人的可疑操作,相关时间戳也保证了电子证据固化的可信性和司法机构的公信力。 在Android设备中,DropBoxManagerService服务工作路径下以SystemBoot@[timestamp].[log|txt]形式命名的日志文件能反应设备启动时间,而以event_data@[timestamp].txt形式命名的日志文件每30分钟创建一次,可方便取证人员分析设备连续运行时间。除此之外,还有一些数据位置同样包含有关时间和日期设置的相关信息,例如“/data/property/persist.sys.timezone”文件中包含当前正在使用的时区信息。为获取文件系统中的时间序列信息,需要先将文件系统以只读的方式挂载,然后可以借助log2timeline等工具分析文件创建、修改时间。 iOS设备的计时方式没有采用经典的UNIX时间戳,而是使用MAC绝对时间戳,即自2001年1月1日00:00:00以来经过的秒数。Apple iTunes软件允许用户创建iOS设备备份,备份文件夹名称的末尾会附加备份的时间戳。另外,iMessage、Dropbox、Google Drive等应用数据库中也存储了如通话记录、短信记录、文件上传时间等应用自身提供服务的时间戳,同样在取证过程中需重点关注。 通过运用专业知识,对提取到的时间信息进行分析,技术人员可以更有效的分辨各类操作背后与案件相关的证据信息。
3.2 文件雕复
文件雕复是指对具体文件进行查找和获取的过程。这个过程中,文件的内容被作为二进制数值对待,文件雕复的工作就是检查二进制数据,并利用已知文件头来识别文件类型。若已知某文件有确定的文件尾,文件雕复技术将会从文件头开始扫描,直到匹配到相应的文件尾,然后将头尾之间的数据保存为文件,存储到磁盘中用于后续审查。 传统的文件雕复技术要求映像中是有序数据,对于产生文件碎片的大文件很难恢复。新型文件雕复技术尝试突破文件碎片修复的困局,考虑将一些常见文件系统的碎片特征配置化。Scalpel是一款著名的开源文件雕复工具,它通过读取定义了文件头尾特征的数据库从文件系统的原始映像中提取文件,可工作在FAT、NTFS、HFS等常见移动设备原始分区格式之上。 雕复完成后,输出以文件类型分类存储。表4中展示了用Scalpel能够恢复的部分标准文件类型以及可供取证人员参考的文件信息。 表4 Scalpal文件雕复结果
3.3 应用分析
本小节以Android和iOS设备中部分默认应用程序为例进行分析,从应用信息、重要目录及文件、重要数据库等方面介绍取证人员在分析时的重点关注对象。
3.4 Android设备
(1)短信与彩信 应用软件名为Messaging,软件包名为com.android.providers.telephony。分析“data”分区下该应用的数据目录,能发现关键数据主要存储在mmssms.db数据库中,其中重要的数据库表信息如表5所示。 表5 “Messaging”数据库表信息 由上表可知,取证人员在分析该应用数据时应重点关注sms表中信息,另外应用目录下还存在一个app_parts文件夹,其中存有的多媒体附件也是重点分析对象。手机短信可以作为证明案件事实的证据,在进行手机短信内容公证的时候,还要注意记录下手机的品牌和型号。 (2)浏览器 应用软件名为Internet,软件包名为com.android.browser。该应用需重点分析的文件和数据库表如下所示: 表6 “Internet”数据库表信息 浏览器历史记录分析的主要目的在于检查并分析计算机用户通过网络浏览器在互联网上查看的内容,一些关键证据可能会隐藏其中,尤其在涉及情色及信用卡诈骗等以浏览器为主要犯罪工具的案件中。 (3)联系人 应用软件名为Contacts,软件包名为com.android.providers.contacts。该应用关键数据主要存储在contacts2.db数据库中,其中重要的数据库表信息如表7所示。 表7 “Contacts”数据库表信息 统计手机中所有联系人分布情况,可以用于绘制手机持有者人物画像,与手机中其他信息进行关联,可以挖掘出其中出现过的手机号、邮箱、身份证号、银行卡号、车牌号、人名、地点等关键数据。
3.5 iOS设备
(1)短信与彩信 应用名称“SMS/iMessage”,关键数据主要存储在“/private/var/mobile/Library/SMS/sms.db”数据库中。Message和msg_pieces是两个需重点关注的表,message表包括了每一条短信发送者的电话号码、消息发送时间、消息内容等,msg_pieces表包含了随着MMS消息发送的文本内容。 (2)Safari浏览器 Safari是iOS预装的一款浏览器,它的数据保存在“/private/var/mobile/Library/Safari/”和“/private/var/mobile/Containers/Data/application/C6254D15-92CE-4989-9427-26A589DFA8B7/”两个路径下。其中重要信息如下表所示: 表8 “Safari”数据库表信息 (3)联系人 联系人信息存储在“/private/var/mobile/Library/AddressBook/”文件夹下,其中两个重要的数据库是AddressBook.sqlitedb和AddressBookImages.sqlitedb。AddressBook.sqlitedb包含保存的联系人的姓名、姓氏、电话、电子邮件地址等;AddressBookImages.sqlitedb存储的是联系人的头像信息。
4.智能手机取证面临的挑战
智能手机设备电子数据取证的需求与日俱增,在取证过程中仍然面临着一些挑战。 首先,与智能移动设备的任何交互都会在某种程度上改变此设备的原始环境,例如对设备进行root操作将有可能破坏整个系统的完整性,导致关键证据的丢失。因此,取证人员应特别谨慎的运用不同的取证方案,当原始环境发生改变时应能清楚的说明改变产生的原因以及人员操作的必要性。 其次,目前市场上有大量不同类型、不同版本的智能手机终端设备及其应用,每一个终端设备与平台相结合又有其独特性,在数据提取和分析时,针对这些区别,取证人员需要进行大量的测试与验证。 最后,取证过程中每个技术环节都应严格遵循相应的原则和工作标准,否则取证结果的合法性和客观性将难以得到保证,取得的证据也将不足以被法庭质证采信。
参考文献
[1]. Andrew Hoog. Android取证实战:调查、分析与移动安全[M]. 北京:机械工业出版社,2013:166-312. [2]. Andrew Hoog. iOS取证实战:调查、分析与移动安全[M]. 北京:机械工业出版社,2013:87-175. [3]. Lin X, Lin X, Lagerstrom-Fife. Introductory Computer Forensics[M]. Springer International Publishing, 2018. [4]. 蒲泓全, 郭艳芬, 卫邦国. 电子取证应用研究综述[J]. 计算机系统应用, 2019, 28(1): 10-16.http://www.c-s-a.org.cn/1003-3254/6707.html. [5]. 金波, 吴松洋, 熊雄, 等. 新型智能终端取证技术研究[J]. 信息安全学报, 2016 (3): 37-51. [6]. Gupta A. Learning Pentesting for Android Devices[M]. Packt Publishing Ltd, 2014. [7]. Sylve J, Case A, Marziale L, et al. Acquisition and analysis of volatile memory from Android devices[J]. Digital Investigation, 2012, 8(3-4): 175-184. [8]. Epifani M, Stirparo P. Learning iOS forensics[M]. Packt Publishing Ltd, 2016. [9]. Kaart M, Laraghy S. Android forensics: Interpretation of timestamps[J]. Digital Investigation, 2014, 11(3): 234-248.
转载请注明:IT运维空间 » 安全防护 » 浅谈智能手机取证—技术篇
发表评论