移动取证之高级调查策略-全-

移动取证之高级调查策略(全)

原文:annas-archive.org/md5/2665c96ad646c78b03ec523895eb87e2

译者:飞龙

协议:CC BY-NC-SA 4.0

前言

智能手机和平板电脑技术在过去几年发生了剧烈而迅速的变化,并且仍在以惊人的速度持续发展。这些更小型的计算设备已经如此普及,能够在人与计算机的交互中取代台式机的角色。坐在任何提供 Wi-Fi 的咖啡馆、机场或公共场所,你会看到人们的脸几乎紧贴着设备屏幕,专注地与设备互动,似乎完全忽略了他们周围的物理环境。

智能手机和平板设备已经成为大型数字存储库,存储着我们的个人和职业秘密。奇怪的是,尽管我们对云存储缺乏信任,但我们已经开始接受将这些数据备份到云端,因此我们本地设备存储中的重要数据现在也存在于云存储中。为什么我提到云存储?云备份数据可以通过其他过程访问,即使设备本身的访问由于安全机制可能受到阻碍。这本书从各种智能手机平台讨论了云取证

尽管这本书可能被认为是一本高度技术性的书籍,但它对新手和经验丰富的检查员来说都是一本非常值得阅读的好书。对于那些读过 Elcomsoft 发布的任何博客文章的人,你会发现这本书的写作方式非常易于理解。

本书的作者致力于提供有关多个概念的基本信息,包括以下内容:

  • NAND eMMC 闪存

  • JTAG 取证简要总结

  • NANDroid 备份

  • iOS 安全性与获取方法

  • iOS 备份的密码破解

  • Windows Phone 的安全性与获取

  • BlackBerry 7 及 BlackBerry 数据获取方法和密码破解

当然,书中也提到了由作者及其同事开发的定制工具。这向所有读者强调,在移动取证领域,没有一款工具能够解决所有问题。我知道并且敢于这么说,因为我使用过书中提到的所有工具。所有工具都有其优点和局限性。但为了高效工作,检查员至少需要几款工具,才能覆盖移动取证领域中的广泛技术。

本书涵盖的内容

本书的写作旨在呈现电子发现过程中的自然流程,涵盖了从获取设备到获取数据和分析证据的不同阶段的移动取证。本书详细讲解了智能手机和平板电脑的基本处理、获取和分析技巧,涉及最流行的操作系统:Android、iOS、Windows Phone、Windows 8、8.1 和 RT,以及 BlackBerry。以下主题将被详细讨论:

获取技巧:

  • 保护设备:使用法拉第袋

  • 保留易失性内存并捕获内存转储

获取技巧:

  • 物理获取(通过 USB 连接)

  • 通过数据备份进行逻辑获取

  • 无线获取和云分析

证据发现与数据分析:

  • 查找、查看和分析证据

移动取证工具:

  • 获取和分析工具概述

  • 获取 iOS 设备的工具

  • 获取 Android、BlackBerry 和 Windows Phone 设备的工具

  • 发现和分析证据的工具

需要注意的是,本书涵盖的内容。包括:

  • JTAG 获取

  • 芯片拆除镜像

  • 磁盘镜像工具

  • 获取 Windows 8 和 8.1 设备的工具

我们不会深入探讨任何技术细节,例如某个地址上的十六进制代码表示什么,如何计算 UDID,或者如何使用 ADB 破解 Android 2.1 的密码保护。我们认为这些内容对于执法人员来说毫无意义,应该只引起在获取实验室工作的技术人员的兴趣——而本书并不是为他们准备的。

第一章,移动取证导论,介绍了将移动设备作为有价值证据来源的概念。本章描述了移动设备中通常可用的证据类型。它还概述了获取选项,取决于读者是否能够访问实际设备、是否知道用户的登录和密码(如 Apple ID 或 Google 账户密码),或者是否能访问同步该设备的计算机。本章还讨论了嫌疑人用来对抗取证工作的方法,并提出了克服这些方法的建议。阅读本章后,你将理解在调查移动设备时专家试图实现的目标、原因和方式。本章有助于你了解移动取证的全貌,认识到获取移动证据没有单一的简单途径,并明白可用的获取选项在很大程度上依赖于多种因素。你还将了解如何扣押和存储移动设备,以及如何检测和反制反取证措施。

第二章,获取方法概述,概述了针对不同移动平台可用的获取方法。随着移动设备的种类繁多,存在多种获取方法。并没有适用于所有设备型号的通用获取方法。一些获取方法依赖于手机的锁定和加密状态、操作系统版本、可用存储类型等。调查人员必须在调查过程中了解哪些获取方法适用于特定设备。

第三章,采集 – 处理 Android 设备,讨论了从 Android 设备获取信息的可选方法,提供了 Android 智能手机和平板电脑的物理采集、逻辑采集和无线采集方法的详细概述。 在本章中,读者将了解 Android 平台上可用的采集方法,哪些采集技术在什么情况下可以使用,以及如何为特定设备选择合适的采集方法。 本章还涵盖了移动取证中最具挑战性的一个方面:恢复销毁证据的能力。 在本章中,我们将详细讨论现代智能手机如何处理已删除的数据,这取决于操作系统(Android、iOS、Windows)和加密状态。 我们将讨论设备的内部存储(eMMC)和外部存储(SD)之间的差异,并解释如何从未分配区域恢复信息。

第四章,Android 采集的实用步骤,讨论了 Google 收集的大量信息,并解释了如何从 Google 服务器提取这些信息。 我们将使用法医工具从 Google 下载数据、查看数据并检查获取的证据。 采集 Google 帐户可以比单一的 Android 智能手机提供更深入的用户活动洞察。 本章详细讨论和演示了针对各种 Android 设备的不同物理采集方法,包括特定厂商的低级服务模式(LG、Qualcomm 和 Mediatek),使用自定义恢复(CWM、TWRP)进行数据分区转储,制作 NANDroid 备份,并使用命令行工具如 dd 进行设备的实时成像。此外,本章还讨论了加密问题及其对物理采集的影响。

第五章,iOS – 介绍与物理采集,讨论了物理采集的好处和独特特点,并讲述了存储的密码和 Apple 安全存储——钥匙串。 本章提供了物理采集的详细兼容性矩阵,讨论了哪些锁定的设备可以在不知道正确密码的情况下进行采集,并列出了提供 Apple iOS 设备物理采集的法医工具。 本章还讨论了 32 位和 64 位 Apple 硬件的差异,并解释了如何安装越狱。

第六章,iOS 逻辑和云获取,介绍了 iOS 设备的逻辑获取概念。逻辑获取包括提取现有的 iTunes 备份或使设备生成备份然后提取它。解释了加密与未加密备份之间的区别,概述了使用已知密码生成加密备份相比未加密备份的优点。本章概述了恢复未知备份密码的基础知识。此外,本章提供了使用 Elcomsoft Phone Breaker 提取 iOS 备份的逐步指南。如果备份受到未知密码保护,还提供了恢复密码的详细指导和建议。本章解释了空中获取的优势和适用性,并演示了如何使用 Elcomsoft Phone Breaker 进行云获取。此外,本章讨论了使用二进制认证令牌绕过 Apple ID 和密码,以及两步验证的应用。

第七章,获取 – 接触 Windows Phone 和 Windows 10 Mobile,介绍了 Windows Phone 法医。它概述了获取 Windows Phone 8 和 8.1 以及 Windows 10 Mobile 设备的可用方法和策略。解释了物理获取、引导加载程序漏洞、通过 JTAG 进行的侵入式(高级)获取以及芯片拆卸。在本章中,我们讨论了 Windows Phone 平台各代设备加密的差异,并详细介绍了如何使用 Elcomsoft Phone Breaker 进行 Windows 移动设备的空中获取。

第八章,获取 – 接触 Windows 8、8.1、10 和 RT 平板电脑,涵盖了使平板法医与传统 PC 和笔记本电脑获取方法不同的主要内容。我们将讨论替代传统睡眠和休眠模式的 Windows 平板电脑新型连接待机模式,讨论各种 Windows 平板平台上的安全启动,回顾 UEFI BIOS 设置,并学习如何从可引导的 USB 媒体启动平板电脑。我们还将介绍捕获设备 RAM 内容和镜像不可拆卸 eMMC 媒体的技术。还将描述 Windows RT 设备的通用获取步骤,因为标准的 Windows 恢复媒体不能与 RT 设备一起使用。

第九章,获取 – 接近黑莓,提供了关于获取运行旧版(BB OS 1 至 7.1)和现代版(BlackBerry 10)操作系统的黑莓智能手机的介绍、概述和深入教程。黑莓备份及其备份密码(旧版 BB OS)也有所解释。本章提供了如何提取和查看旧版黑莓备份,以及如何恢复保护这些备份的密码的教程。读者将学习如何使用 Elcomsoft Phone Breaker 解密 BlackBerry 10 备份,并通过 Elcomsoft Phone Viewer 或 Oxygen Forensic Suite 查看其内容。

第十章,处理问题、障碍和特殊情况,涵盖了移动取证中一些最具挑战性的方面:恢复销毁证据的能力和两步验证带来的挑战。在本章中,我们讨论了现代智能手机如何根据操作系统(Android、iOS、Windows)和加密状态处理删除数据。我们将讨论设备内部存储(eMMC)与外部存储(SD 卡)在恢复未分配区域信息时的差异。本章还涉及了在空中获取时的两步验证问题。如果嫌疑人的云账户启用了两步验证,专家在尝试从其云账户中获取信息时将面临严重障碍。如果无法访问第二认证因素,云获取变得更加困难。然而,也有绕过两步验证的方法。本章概述了这些方法,并将在本书的技术章节中更详细地讨论。

第十一章,移动取证工具和案例研究,概述了几种可用于获取移动设备的移动取证工具。列出了 Cellebrite UFED、Micro Systemation XRY、AccessData MPE+、Oxygen Forensic Toolkit、Magnet ACQUIRE、BlackBag Mobilyze 以及 ElcomSoft 的各种移动取证工具,并进行了简要回顾。此外,本章还包括了几例关于使用移动取证工具进行企业调查和数据恢复的案例研究。

你需要的书籍内容

现代移动取证无法在没有使用工具的情况下进行。目前,没有单一的全能工具可以覆盖完整的移动设备获取和分析过程。不同的任务和不同的情况将需要使用多种工具。我们在这里列出了本书中使用的所有工具。

对于许多 Android 智能手机,我们使用了 Oxygen Forensic Suite 和 Oxygen Forensic Extractor,这是 Oxygen Forensics 的一款商业产品(www.oxygen-forensic.com/en/)。

对于 Android 智能手机,你需要从 Android SDK 工具包(Android Studio 2.1 的一部分)下载 ADB 和 Fastboot,这是 Google 提供的免费工具(developer.android.com/sdk/index.html)。

此外,你可能还需要 TWRP 自定义恢复(为特定获取目标定制,twrp.me)或 CWM 自定义恢复(为特定获取目标定制,www.clockworkmod.com/),Busybox 包(版本取决于获取目标的 Android 版本,busybox.net/),unyaffs 1.0(仅当获取目标使用 yaffs 文件系统时使用,github.com/ehlers/unyaffs),以及 Netcat 1.10(nc110.sourceforge.net/)。这些工具都可以从各自的开发者网站以开源方式下载。

对于 Apple iOS 设备,我们使用了以下商业工具:Elcomsoft iOS Forensic Toolkit(www.elcomsoft.com/eift.html)、Elcomsoft Phone Breaker(可以从www.elcomsoft.com/eppb.html下载演示版),以及 Elcomsoft Phone Viewer(www.elcomsoft.com/epv.html)。Elcomsoft Phone Breaker 和 Phone Viewer 也用于获取 BlackBerry OS、BlackBerry 10,以及 Windows Phone/Windows 10 Mobile 设备的证据。

本书适合的人群

我们写这本书是为了帮助执法人员和 IT 安全人员,他们需要在日常工作中处理数字证据。我们希望这本书能够作为移动取证的入门和通用指南。我们意识到市场上生态系统、操作系统的代际、设备和应用程序的多样性。我们有亲身经验,处理过 Android 分支、定制 ROM、以及厂商、运营商和用户定制,这些都可能将一个熟悉的设备变成一个大问号。

这也是为什么我们坚信,不可能有人能够了解(甚至听说过)所有的变化。

出于这个原因,我们不再相信手动获取和分析数据的方法。我们相信工具的力量。没有必要重新发明轮子,或者在某些工具能在几分钟内完成的任务上浪费无数小时。有成千上万种不同的设备型号,每种型号可能运行着不同版本的操作系统,或者使用不同的 OEM 或运营商定制,每种都有其特定的安全隐患。有数百万个应用程序,每个应用程序都有自己存储、组织和保护数据的方式。从技术角度来说,一个专家是不可能了解所有内容的。然而,仍然可以学习方法、工具和技术,以便在大多数实际情况下获取和分析证据。

然而,即便是最好的工具,如果你不了解或不遵循移动设备获取、处理和采集的基本规则,也不会起作用。在任何一步出错,你可能会失去对证据的访问,封锁更简单的采集路径,甚至永久性地摧毁你即将访问的数据。即使你成功提取了证据,如果没有遵守指南,你获取的证据也可能不被采纳。这就是为什么我们会介绍从获取移动设备到获取内容、查看数据和分析证据的整个工作流程。

能够分析可能泄露敏感信息的移动设备对于公司安全至关重要。然而,如果公司没有为每一部允许接入公司网络的移动设备存储恢复密钥,那么一部由前员工使用的智能手机上的密码锁可能会成为一个大问题。如何破解前员工的密码锁定的 iPhone?你可以怎么处理 BlackBerry 智能手机?不允许越狱设备进入公司场所有什么合理的理由吗?处理这类问题需要使用专用工具,即便如此,成功的结果也不能保证。在本书中,你将了解用于处理智能手机和平板电脑中存储信息的工具和方法。

约定

在本书中,你会看到一些文本样式,用来区分不同类型的信息。以下是这些样式的示例及其含义的解释。

文章中的代码词、数据库表名、文件夹名称、文件名、文件扩展名、路径名、虚拟 URL、用户输入和 Twitter 账号会显示如下:"平台通过命令行提供有限的离线备份能力(adb backup)。"

新术语重要词汇会用粗体显示。屏幕上看到的词汇,例如在菜单或对话框中,通常会这样出现在文本中:"此外,使用 ADB 备份需要解锁手机并启用ADB 调试选项。"

注意

警告或重要提示会以这样的框框显示。

提示

提示和技巧会像这样出现。

读者反馈

我们始终欢迎读者的反馈。告诉我们你对这本书的看法——你喜欢或不喜欢的内容。读者的反馈对我们非常重要,因为它帮助我们开发出你能真正受益的书籍。如果你想向我们提供一般反馈,只需发送电子邮件到 feedback@packtpub.com,并在邮件主题中注明书名。如果你在某个领域有专业知识,并且有兴趣撰写或贡献书籍,请参阅我们的作者指南:www.packtpub.com/authors

客户支持

现在你是一本 Packt 书籍的自豪拥有者,我们提供了一些帮助你充分利用购买内容的资源。

下载本书的彩色图片

我们还为您提供了一个包含本书中使用的截图/图表彩色图像的 PDF 文件。彩色图像将帮助您更好地理解输出变化。您可以从www.packtpub.com/sites/default/files/downloads/MobileForensicsAdvancedInvestigativeStrategies_ColorImages.pdf下载此文件。

勘误

尽管我们已经尽力确保内容的准确性,但错误仍然会发生。如果您在我们的书籍中发现任何错误——可能是文本错误或代码错误——我们将非常感激您能向我们报告。这样,您可以避免其他读者的困扰,并帮助我们改进该书的后续版本。如果您发现任何勘误,请访问www.packtpub.com/submit-errata,选择您的书籍,点击勘误提交表格链接,并输入勘误的详细信息。您的勘误经验证后,将被接受,并上传至我们的网站或加入该书籍“勘误”部分的现有勘误列表中。

要查看先前提交的勘误,请访问www.packtpub.com/books/content/support,并在搜索框中输入书名。所需信息将出现在勘误部分。

盗版

网络上版权材料的盗版问题在所有媒体中持续存在。在 Packt,我们非常重视保护我们的版权和许可证。如果您在互联网上发现任何形式的我们作品的非法复制品,请立即向我们提供该位置地址或网站名称,以便我们采取补救措施。

如发现疑似盗版材料,请通过 copyright@packtpub.com 与我们联系,并提供链接。

我们感谢您在保护我们的作者以及我们为您提供有价值内容方面的帮助。

问题

如果您对本书的任何方面有问题,可以通过 questions@packtpub.com 与我们联系,我们将尽力解决问题。

第一章:介绍移动取证

现今的智能手机使用频率较低的是打电话,更多的是用于社交;这使得智能手机存储了大量关于用户的敏感数据。移动设备保存了用户来自各种来源的联系人信息(包括电话、社交网络、即时消息和通讯应用),电话记录、发送和接收的短信、电子邮件及附件。还有浏览器日志和缓存的地理定位信息;用手机相机拍摄的照片和视频;云服务、论坛、社交网络、在线门户和购物网站的密码;存储的支付数据;以及许多对调查至关重要的其他信息。

不用说,这些信息对企业和取证调查来说非常重要。在本书中,我们将讨论不仅仅是如何获取所有这些数据,还包括在每个具体案件中可能会涉及到什么类型的数据。

平板电脑不再仅仅作为娱乐设备使用。配备强大处理器和充足存储空间,即使是最小的平板电脑也能够运行完整的 Windows 系统,并且带有 Office 办公套件。虽然平板电脑的使用量不如智能手机,但它们仍然广泛用于社交、通讯、计划活动和预订旅行。

一些智能手机配备了高达 6.4 英寸的大屏幕,而许多平板电脑则具备通过移动网络拨打语音电话的功能。这一切使得很难界定手机(或大屏手机)与平板电脑之间的界限。

市面上的每一部智能手机都配备有一部相机,和体积较大的(可能更好的)相机不同,它始终可以随时使用。因此,普通智能手机所包含的照片和视频比专用相机还要多,有时甚至是几个 GB 的图像和视频片段。

智能手机还是存储设备。它们可以被用来(并且已经在被用来)存储、携带和交换信息。连接到公司网络的智能手机可能访问到一些本不该暴露的文件和文档。员工的智能手机对公司网络的未经控制的访问可能(并且确实会)导致高度敏感信息的泄露。员工流动频繁,许多公司允许甚至鼓励自带设备政策,因此控制连接到公司网络的设备所能访问的数据至关重要。

为什么我们需要移动取证

移动取证的重要性不容低估。早在 2012 年,超过 70%的网页请求来自桌面和笔记本电脑(Windows 7 和 Windows XP 是最受欢迎的操作系统)。到 2015 年 5 月,只有 43%的请求来自桌面操作系统,而 54%的流量来自 Android、iOS 和 Windows 手机设备。如果你看一下下面的图表,趋势非常明显——用户在桌面计算机上花费的时间比例在下降,而移动设备的使用比例在上升:

为什么我们需要移动取证

不同操作系统的访问者数量(来源:http://www.liveinternet.ru/)

2015 年初,苹果公司宣布其已售出超过十亿部 iOS 设备。仅在 2015 年第一季度,公司就售出了 7440 万部 iPhone。安卓设备在 2014 年早些时候就达到了十亿台的销量。

智能手机和平板在与个人计算机争夺用户注意力方面取得了成功。它们有效地取代了数码相机、摄像机、电子书阅读器、报纸、通讯和导航设备、便携游戏机,甚至电视。据 Flurry 报告(flurrymobile.tumblr.com/post/115194107130/mobile-to-television-we-interrupt-this-broadcast#.VGukrIvF_Ex),消费者在移动设备上的花费时间已超过电视:

为什么我们需要移动取证

移动设备与电视(来源:Flurry)

由于在移动设备上花费的时间如此之多,而且可用的活动范围如此广泛,智能手机和平板积累了比我们想象中更多的用户信息。提取这些信息、分析数据并将其转化为可靠证据是数字调查员的主要目标。

可用信息

与基本呈现单一信息源的个人计算机(设备本身由硬盘和易失性内存组成)不同,移动取证涉及多个数据源。根据可用的数据源,调查人员可能会使用不同的工具来获取信息。

移动设备

如果你可以访问移动设备,你可以尝试执行物理或逻辑获取。根据设备本身(硬件)和运行的操作系统,这可能是可行的,也可能不可行。然而,物理获取仍然被认为是所有可用证据中最完整和最新的来源。

一般来说,大多数安卓智能手机和平板、较旧的苹果硬件(iPhone 4 及之前型号、原版 iPad、iPad mini 等)以及具有已知密码的最新苹果硬件都可以进行物理获取。作为规则,只有越狱后的苹果设备才能进行物理获取。由于越狱是通过利用 iOS 中的漏洞获得超级用户权限,而苹果公司会积极修复这些漏洞,因此 iOS 设备的物理获取依然存在不确定性。最近,Cellebrite 通用取证提取设备 (UFED)已经为一些 Windows 手机设备开发了物理获取技术。

物理采集也适用于 64 位 Apple 硬件(如 iPhone 5S 及更新机型、iPad mini 2 等)。值得注意的是,64 位设备的物理采集比旧款 32 位硬件更为严格,因为它不仅需要越狱设备并通过密码解锁,还需要从安全设置中移除该密码。有趣的是,按照 Apple 的说法,即便是 Apple 自己,也无法从运行 iOS 8 及更新版本的 64 位 iOS 设备中提取信息,即使他们持有法院命令。

物理采集仅适用于运行 BlackBerry OS 7 及更早版本的少数 BlackBerry 智能手机。对于 BlackBerry 智能手机,物理采集适用于解锁的 BlackBerry 7 及更低版本设备(如果支持),可以通过 Cellebrite UFED Touch/4PC 采用引导加载程序方法进行。对于未启用设备加密的 BlackBerry 10 设备,使用 Cellebrite UFED 通过芯片拆卸法可以成功提取设备内存。

注意

你可以在这里了解更多关于上述方法的信息:BlackBerry 法医 - 从 BlackBerry 设备进行物理提取和解码(Cellebrite)-www.cellebrite.com/Pages/blackberry-forensics-physical-extraction-and-decoding-from-blackberry-devices

个人电脑

值得注意的是,用户的个人电脑可以帮助获取移动设备的证据。PC 可能包含手机的离线数据备份(例如由 Apple iTunes 生成的备份),这些备份包含手机中存储的大部分信息,并且这些信息在物理获取过程中可能是可用的(或不可用的)。

当 iOS 设备通过物理连接与电脑连接并通过 iTunes 授权时,会创建锁定记录。锁定记录可用于在不输入密码的情况下访问 iOS 设备。此外,电脑中可能包含二进制认证令牌,能够用来访问与用户移动设备关联的相应云账户。

云存储

许多智能手机和平板电脑,尤其是 Apple 生产的设备,提供将信息备份到在线云的功能。例如,Apple 智能手机每次连接到充电器并且处于已知 Wi-Fi 网络范围内时,会自动将其内容备份到 Apple iCloud。Windows 手机设备表现出类似的行为。虽然 Google 并不像 Apple 或 Microsoft 那样提供完整的云备份,但通过 Google 移动服务GMS)收集并保留更多的信息,这些信息也可以从云中提取。

由于云备份是透明的、无侵入性的,并且不需要用户互动,许多智能手机用户默认启用云备份,这使得调查人员可以通过获取云存储内容或根据法院命令向相关公司请求这些内容。

为了成功访问手机的云存储,必须知道用户的认证凭证(登录和密码)。也许可以通过从用户计算机提取的二进制认证令牌访问 iCloud。

随着制造商在安全实施方面的快速发展,云取证在数字取证专家中正迅速获得重要性和认可。

移动取证的阶段

本节将简要讨论移动取证的一般阶段,并不打算提供每个阶段的详细解释。互联网上有足够的文档可以轻松访问,提供了关于移动取证阶段的详细信息。然而,为了帮助读者进行初步查询,以下资源是进一步阅读的强烈推荐:

读者需要理解的最重要概念是:在所有阶段中,对移动设备的影响要尽可能小。换句话说,检查员应首先考虑从最不干扰到最干扰的方法,这可以根据需要从移动设备中获取的数据类型以及移动设备的硬件/软件复杂性来决定。

阶段 1 - 设备扣押

这一阶段涉及设备的物理扣押,使其处于调查员/检查员的控制和保管之下。同时还需要考虑扣押、提取和搜索这些数据的合法授权或书面同意。

应记录设备在被扣押时的物理状态,理想情况下通过数字照片记录和书面笔记进行记录,例如:

  • 设备是否损坏?如果是,请记录损坏类型。

  • 设备是开机还是关机?

  • 如果设备开机,设备的日期和时间是什么?

  • 如果设备开机,设备桌面上正在运行或可观察到的应用程序是什么?

  • 如果设备开机,是否可以访问设备桌面以检查密码和安全设置?

设备扣押的其他几个方面如下所述,它们将影响扣押后的分析:无线电隔离、设备开机时是否需要关闭、远程清除、以及反取证。

扣押 - 我们应该扣押什么以及如何扣押?

在正确获取移动设备时,必须注意计算机和移动设备操作方式的差异。扣押、处理、存储和提取移动设备必须采取与台式机甚至笔记本电脑不同的方法。

与可以处于在线或离线状态(包括节能模式,如睡眠和休眠)的 PC 不同,智能手机和平板电脑采用的是一种始终在线的工作模式。即使设备看似在休眠,后台仍会进行大量活动。这些活动可以通过调度或由大量事件触发,包括来自在线服务的推送事件和由用户远程发起的事件。

另一个在获取移动设备时需要考虑的因素是安全性。移动设备经常被携带,并且它们被设计得比台式 PC 更安全。不可拆卸的存储、焊接的 RAM 芯片、可选或强制的数据加密、远程销毁开关、安全的锁屏和锁定的引导加载程序仅是其中的一些安全措施。

法拉第包的使用

法拉第包通常用于暂时存放被扣押的设备,而不关闭电源。法拉第包可以阻挡设备与蜂窝网络、Wi-Fi、蓝牙、卫星导航以及其他移动设备使用的无线电频率的连接。法拉第包通常设计为屏蔽本地蜂窝运营商和卫星导航使用的无线频率范围(通常为 700-2,600 MHz),以及 Wi-Fi 网络和蓝牙使用的 2.4-5 GHz 频段。许多法拉第包采用特殊涂层的金属屏蔽材料,能够阻挡广泛的无线电频率。

法拉第包的使用

一个简单的没有充电接口的法拉第包

保持设备开机

在处理被扣押的设备时,必须防止设备关机。确保设备始终开机是一方面,防止其关闭是另一方面。由于移动设备即使在屏幕关闭时仍然会消耗电力,因此标准做法是将设备连接到充电器,并将其放入一个无线信号屏蔽的法拉第包中。这样可以防止设备在电量不足时自动关机。

保持设备开机

一个配备充电接口的高级法拉第包

我们为什么需要这个过程呢?实际上,相比于一个在实验室启动且你不知道密码的设备,你可能能够从一个至少被解锁过一次的设备中提取到更多信息。

为了说明潜在的结果,假设你扣押了一台被未知密码锁定的 iPhone。这台 iPhone 恰好是越狱的,因此你可以尝试使用Elcomsoft iOS Forensic Toolkit来提取信息(请参见第四章,安卓设备获取的实际步骤)。

如果设备被锁定且你不知道密码,你只能访问一组非常有限的数据:

  • 最近的地理位置信息:由于主位置数据库仍然是加密的,因此只能提取有限的位置信息。只有当设备在启动完成后至少解锁过一次时,才可以访问这些有限的位置信息。因此,如果你保持设备开机状态,你可能会从设备中获取到最近的地理位置历史记录。然而,如果设备关闭并且只在实验室开机,地理位置数据将无法访问,直到设备解锁为止。

  • 来电(仅号码)和短信:来电短信会在冷启动后的第一次解锁之前临时以未加密的形式保留。一旦设备在冷启动后第一次解锁,消息将被转移到主加密数据库中。这意味着,如果获取的设备在冷启动后从未解锁过,将只能访问设备在锁定状态下收到的短信。

    如果所获取的 iPhone 在启动后至少解锁过一次(例如,如果设备是在开机状态下被扣押的),你可能能够访问到显著更多的信息。短信数据库在第一次解锁时会被解密,从而允许你提取所有短信,而不仅仅是设备保持锁定状态时收到的那些短信。

  • 应用和系统日志(安装和更新、网络访问日志等)。

  • SQLite 临时文件,包括预写日志WAL):这些 WAL 可能包含应用程序(如 Skype、Viber、Facebook Messenger 等)收到的消息。一旦设备解锁,数据会与相应应用的主数据库合并。当从冷启动(从未解锁)提取设备时,你只能访问启动后收到的通知。然而,如果你提取的是在启动后至少解锁过一次的设备,你可能能够提取完整的数据库和所有消息(具体取决于某个应用的开发者选择的数据保护级别)。

处理杀死开关

诸如苹果 iOS、最新版本的谷歌安卓、所有版本的黑莓 OS 和微软 Windows Phone 8/8.1(Windows 10 Mobile)等移动操作系统都具有一个重要的安全功能,旨在防止未经授权的人员访问设备中存储的信息。所谓的远程锁定功能使所有者能够在设备丢失或被盗时锁定或擦除设备。尽管合法客户使用此功能来保护其数据,但嫌疑人也可能尝试在其移动设备被扣押时远程销毁证据。

注意

在最近的摩里斯敦男子被指控远程擦除扣押手机中未成年女友的裸照报告中(wate.com/2015/04/07/morristown-man-accused-of-remotely-wiping-nude-photos-of-underage-girlfriend-on-confiscated-phone/),被告使用远程锁定功能擦除了存储在他的 iPhone 上的数据。

使用法拉第袋是防止嫌疑人访问远程锁定功能的关键。然而,即使涉及设备已被远程擦除,也不一定意味着所有数据完全丢失。

苹果 iOS、Windows Phone 8/8.1、Windows 10 Mobile 和最新版本的安卓(安卓 6.0 Marshmallow)支持云备份(尽管安卓云备份包含的数据量有限)。至于黑莓 10,备份严格离线,但解密密钥与用户的黑莓 ID 绑定,并存储在黑莓服务器上。

自动上传数据备份副本到云端的能力是一把双刃剑。虽然为用户提供更多便利,但云备份使远程获取技术成为可能。根据平台的不同,可以通过使用取证工具(例如Elcomsoft Phone BreakerOxygen Forensic Detective)或向相应公司(苹果、谷歌、微软或黑莓)提出政府请求来从云端检索设备中的所有或部分信息。

移动设备反取证

有许多反取证方法针对执法机构使用的证据获取方法。警方通常会扣押设备,连接充电器,并放入法拉第袋。一些技术先进的嫌疑人在安卓手机上使用的反取证方法包括 root 设备并安装一个监控设备无线连接的工具。如果该工具检测到设备在一定时间内处于空闲状态、连接充电器且没有无线连接,它将执行恢复出厂设置。由于在获取之前没有实际方法来确定设备是否启用了这种保护,单纯遵循既定的指南存在证据被销毁的风险。如果有合理的理由怀疑此类系统可能已被启用,可以将设备关机(同时意识到全盘加密可能会阻止后续的获取)。

尽管对设备进行 root 或越狱通常会使设备容易受到高级获取方法的攻击,但我们已经看到一些用户通过解锁启动加载器来安装自定义恢复,使用密码保护对该自定义恢复的访问权限,并重新锁定启动加载器。锁定的启动加载器和受密码保护的自定义恢复访问权限是一种极难突破的组合。

在几份报告中,我们了解到一组网络犯罪分子使用了以下反取证技术。设备被配置为在满足某些预定义条件时自动清除用户数据。在这种情况下,触发清除的预定义条件与典型的获取场景相匹配,即将设备放入法拉第袋并连接充电器。当设备报告正在充电且没有无线连接(但未进入飞行模式)且持续了一段时间后,一个特殊工具会触发设备的完全恢复出厂设置。值得注意的是,这只在 root 或越狱设备上可行。

到目前为止,这种反取证技术尚未广泛得到认可。它被少数智能手机用户使用,主要是那些从事网络犯罪的人。智能手机以这种方式配置的概率足够低,因此可以考虑对已发布的指南进行修改。

第二阶段 - 数据获取

这一阶段指的是从设备中提取数据的各种方法。可以采用的数据提取方法受到以下因素的影响:

  • 移动设备类型:品牌、型号、硬件、软件和厂商配置。

  • 检查员可使用的各种硬件和软件提取/分析工具的可用性:没有一款工具能够完成所有工作;检查员需要能够访问多种工具,以便协助数据提取。

  • 设备的物理状态:设备是否遭受过损坏,例如物理损坏、水损或生物液体(如血液)?通常,损坏的类型会决定对设备进行数据提取时采取的措施。

数据提取有几种不同类型,决定了从设备中获取多少数据:

  • 物理提取:设备的二进制镜像具有最大的潜力来恢复已删除的数据,并从设备中提取最多的数据。这可能是最具挑战性的提取类型。

  • 文件系统:这是设备用户区域中文件和文件夹的表示,可能包含特定于数据库的已删除数据。这种方法提取的数据量通常比物理数据提取少。

  • 逻辑提取:这从设备中提取的数据最少。其示例包括通话记录、短信、联系人、图片、电影、音频文件等。这被称为“低垂的果实”。没有提取已删除数据或源文件。结果通常是提取工具生成的一系列报告。这通常是最简单和最快的提取方式。

  • 照片记录:当所有其他数据提取方式都已耗尽时,通常会使用此方法。在此过程中,检查员使用数码相机对设备显示的内容进行拍摄记录。当需要拍摄的大量信息时,这是一种耗时的方法。

这里解释了特定的数据提取概念:启动引导程序、越狱、Root、adb、调试和 SIM 卡克隆。

Root、越狱和解锁启动引导程序

一般来说,Root 或越狱移动设备使它们容易受到各种漏洞的攻击。在移动取证的背景下,Root 设备容易被采集,因为许多法医采集工具依赖于 Root/越狱来执行物理采集。

解锁启动引导程序的设备允许启动未签名的代码,从而有效地允许完全访问设备,即使设备已设置密码保护。然而,如果设备已加密且密码是加密密钥的一部分,绕过密码保护可能不会自动使加密数据可以访问。

Root 或越狱使得文件系统可以不受限制地访问,绕过操作系统的安全措施,允许采集工具读取受保护区域中的信息。这也是禁止公司场所使用 Root 设备(以及解锁启动引导程序设备)的原因之一。

在 iOS 设备上安装越狱总会使手机的安全性降低,允许第三方代码注入并在系统层面运行。这一点是法医专家所熟知的,他们使用诸如 Cellebrite UFED 或 Elcomsoft iOS Forensic Toolkit 等工具进行已越狱 Apple 智能手机的物理数据采集。

一些安卓设备允许解锁引导加载程序,这使得设备的 root 过程变得简单直接。虽然并非所有解锁了引导加载程序的安卓设备都已经 root,但在获取解锁引导加载程序的设备时,安装 root 权限比锁定设备更有更高的成功率。像 Cellebrite UFED、取证工具包FTK)、Oxygen 取证套件等工具,可以利用设备的 root 状态来注入采集小程序并进行镜像提取。

如果使用 UFED 工具,解锁的引导加载程序也可以被利用。存在一种引导加载程序级别的漏洞,可以在 UFED 中使用,以获取基于高通参考平台的许多安卓和 Windows 手机设备的数据,即使它们的引导加载程序被锁定。

安卓 ADB 调试

安卓系统有一个隐藏的开发者选项菜单。访问此菜单需要多次点击操作系统的版本号。某些用户可能因好奇而启用开发者选项。启用后,开发者选项菜单可能无法隐藏。

其中,开发者选项菜单列出了一个叫做USB 调试ADB 调试的选项。如果启用该选项,它允许通过 ADB 命令行控制设备,从而使得使用安卓调试工具(adb.exe)的专家可以在设备即使被密码锁定的情况下,通过 PC 连接到设备。启用USB 调试后,会暴露出许多可能性,即使设备被密码锁定,也能进行数据提取。

SIM 卡克隆

在某些情况下,除非手机插入了 SIM 卡,否则无法建立手机与提取工具之间的连接。此外,一些设备可以被配置为在使用不同 SIM 卡时启用保护。极少数情况下,如果插入非原装 SIM 卡或拔出 SIM 卡,设备甚至可以被配置为清除其内容。特别是,一些 BlackBerry 设备可能会通过显示SIM 未激活SIM 不允许的消息来阻止提取操作。在这种情况下,使用克隆 SIM 卡可能会使通信得以恢复,并允许进行数据提取。

SIM 卡内存

SIM 卡包含网络运营商信息,并能识别分配给用户的手机号码。SIM 卡上可以存储通话记录和短信。大多数(如果不是全部)移动取证工具都可以获取 SIM 卡上的信息。

存储卡

大多数智能手机和平板电脑(除 iOS 设备外)都可以通过使用 microSD 卡来扩展存储容量。取证员会从移动设备/平板电脑中取出存储卡,并使用硬件或软件写保护方法创建存储卡的位流取证镜像,然后使用取证软件工具(如 X-Ways、Autopsy Sleuth Kit、Forensic Explorer(GetData)、EnCase 或 FTK(AccessData))进行分析。

第 3 阶段 - 数据分析

这一阶段的移动设备取证涉及分析来自设备及其组件(如有 SIM 卡和存储卡)的获取数据。大多数从设备内存获取数据的移动取证工具,也可以解析提取的数据,并提供在工具中执行分析的功能。这包括对任何未删除和已删除数据的审查。

在审查未删除数据时,明智的做法是也进行设备的手动检查,以确保提取和解析的数据与设备显示的数据相匹配。随着移动设备存储容量的增加,建议仅审查相关区域中的部分数据记录。例如,如果移动设备有超过 200 条通话记录,可以检查设备上的未接来电、来电和去电记录,看看它们与提取数据中的类似记录是否一致。通过进行这种手动审查,就能够发现提取数据中的任何不一致之处。

手动设备审查仅能在设备仍处于审查员手中的情况下完成。有时,在数据提取完成后,设备会被归还给调查员或所有者。在这种情况下,审查员应该记录,鉴于这些情况,手动验证的工作非常有限,甚至无法执行。

最后,读者应该清楚意识到,分析获取的数据可以使用多个分析工具。特别是在某些类型的数据无法通过一个工具解析时,应该考虑使用其他工具进行分析。

摘要

在本章中,我们介绍了移动取证的基础知识。我们讨论了今天的移动设备中可用的证据量,并介绍了移动取证的一般步骤。我们还讨论了如何查封、处理和存储移动设备,并探讨了罪犯如何利用技术防止取证访问。我们提供了获取和分析步骤的一般概述。在下一章中,我们将更详细地讨论获取方法。我们将概述不同的获取方法和技术,并探讨它们在不同情况下的适用性。

第二章:获取方法概述

随着各种移动设备的出现,存在多种获取方法。没有一种通用的获取方法适用于所有型号。某些获取方法依赖于手机的锁定和加密状态、操作系统版本、可用存储类型等。你需要在调查中逐步发现哪些获取方法适用于特定设备。

以下是对不同移动平台可用的获取方法的快速概述,从最简单到最先进(且劳动密集型)。有关每种获取方法的更多细节,请参考各个平台的章节。

本章讨论了现有的获取方法及其在主要移动平台上的适用性:

  • 空中获取

  • 从移动备份中获取证据

  • 物理获取 - 可用性和适用性

  • 高级获取方法 - JTAG、ISP 和芯片脱离

空中获取

许多移动设备具有将其内容备份到云端的功能。根据平台的不同,云备份可能包含设备的完整内容,包括通话历史记录和消息(Apple iOS 7.x 到 9.x、Windows RT、Windows 8/8.1/10);也可能只有已安装应用程序的列表和一些随机设置(Android 4.4 和 Android 5.x);或介于两者之间(Windows Phone 8 和 Android 6.0)。

对于某些设备,由于全盘加密和硬件锁,云取证可能是唯一可用的获取方法。例如,云取证是锁定的 64 位 iPhone(运行 iOS 8 以上)和一些 Windows Phone 8 以及 Windows 10 Mobile 设备的唯一可行方法。

与其他获取方法相比,云备份通常包含的信息量最少。

为了使云获取有效,专家必须拥有用户的认证凭据。虽然登录名和密码是最常用的凭据,但如果无法访问二次认证因素,二重身份验证可能会成为障碍。

云获取的好处如下:

  • 不需要设备

  • 独立于设备型号、操作系统版本和越狱状态

  • 远程获取

  • 可以在嫌疑人不知情的情况下进行

  • 可以用来追踪嫌疑人(定位追踪)

  • 最简单的获取方法之一

  • 无需特殊专业知识

  • 不需要拆解设备

  • 非破坏性过程

云获取的主要缺点包括以下几点:

  • 提取的信息量有限

  • iOS 密钥链提取可能不可用

  • 必须知道用户 ID 和密码(或拥有二进制身份验证令牌)

  • 大量数据下载可能非常缓慢

  • 双重身份验证带来额外的挑战

  • 二进制认证令牌可能会过期

  • 无法提取未分配空间

Apple iCloud

在 Apple iCloud 的情况下,用户计算机上的软件(通过 Apple iCloud for Windows 或其 macOS 版本)创建的二进制认证令牌可以替代登录名和密码。目前,使用二进制认证令牌可以绕过 Apple 的双重身份验证。然而,这些认证令牌可能有有限的使用期限(Apple 经常调整令牌过期时间),并且在实际获取时可能已经过期。我们将在第六章,iOS 逻辑与云获取中提供更多关于令牌及其过期的信息。

Windows Phone 8、Windows 10 Mobile 和 Windows RT/8/8.1/10

Windows Phone 8 和 Windows 10 Mobile 拥有完善的云备份系统。如果知道用户的 Microsoft 帐户登录名和密码,可以通过取证工具下载云备份。Windows 8、8.1、10 和 Windows RT 会自动将用户数据、现代 UI 应用及其数据备份到用户的 Microsoft 帐户(OneDrive),但前提是用户使用 Microsoft 帐户凭据登录,而非使用本地 Windows 帐户。

Google Android

从 Android 设备中可以备份到用户 Google 帐户的资料非常有限。然而,Google 会收集并存储大量关于其用户的信息。这些数据来自所有设备,无论是否为 Android,只要在该设备上使用了特定的 Google 服务。因此,可以从嫌疑人的 Google 帐户中获取大量极具价值的信息。

执法机构可以选择通过法院命令请求服务提供商(Apple、Microsoft 或 Google)提供嫌疑人云帐户的完整内容。由于云备份通常没有加密(或加密密钥与备份一起存储),因此获取数据并没有技术障碍。如果这些组织在不久的将来实施加密云备份,这种情况可能会发生变化。

有关通过无线方式获取 Google 帐户的更多信息,请参见第三章,获取 - 接近 Android 设备

逻辑获取(备份分析)

许多设备(例如 Apple iOS、BlackBerry 和一些 Android 型号,如 Sony Xperia)能够通过安装在用户计算机上的软件生成离线备份。Apple iTunes、BlackBerry Link、Sony PC Companion 以及其他许多工具可以用于生成和恢复手机或平板电脑的备份。根据操作系统的不同,离线备份可能会或不会受到密码保护。根据保护状态,专家可能能够提取全部、部分或没有任何信息。

离线备份(如果某个平台支持)通常比云备份提供更多或同等的信息。

逻辑获取的好处包括以下几点:

  • 最简单的获取方法之一

  • 无需特殊专业知识

  • 不需要拆解设备

  • 非破坏性过程

逻辑获取的主要缺点如下:

  • 提取的信息量有限

  • Android:制造商和应用程序开发者控制 ADB 备份中包含的内容和不包含的内容

  • Android:ADB 备份在加密设备上可能无法使用

  • 不适用于 Windows Phone 8 和 Windows 10 Mobile

  • 无法提取未分配空间

  • 使用未知密码保护的备份:无成功保证和未知时间框架

Apple iOS

带密码保护的 iTunes 备份(Apple iOS)是加密的;专家必须提供正确的密码才能解密备份。如果不知道密码,专家可以执行攻击(暴力破解、字典攻击或组合攻击)来恢复密码。在分析受密码保护的 Apple 备份时,专家可以访问 Apple 钥匙串中的项目。没有密码创建的离线备份大部分情况下是未加密的;然而,钥匙串会用硬件密钥加密,这意味着无法获取钥匙串数据。让(解锁的)iOS 设备生成离线备份是一个可行的获取方法。如果可能,尝试确保创建一个已知密码的备份(如果未设置备份密码,在创建备份之前设置一个密码将确保钥匙串项可以解密)。

如果启用了备份密码保护,备份密码更像是实际 iOS 设备的属性,而不是备份本身。如果启用备份密码保护,备份会在 iOS 设备上加密,在数据离开设备之前。一旦启用了备份加密,无论使用什么工具来创建备份,都不会有未加密的数据离开设备。换句话说,Apple iTunes 实际上并没有创建备份;而是工具接收加密的数据流并将其保存为文件。

BlackBerry 10

由 BlackBerry Link(BB 10 操作系统)生成的备份没有密码。相反,它们会在设备上使用强加密密钥进行安全加密,该密钥存储在线。如果知道用户的 BlackBerry ID 和密码,或者有政府请求,便可以检索加密密钥。

类似于 Apple iOS,BlackBerry 10 设备会在内部加密其备份。没有未加密的数据离开设备。因此,当用户通过 BlackBerry Link 或其他工具(例如,Sachesi 或 Darcy 的 BlackBerry 工具)创建备份时,备份工具只是向 BlackBerry 设备发送一个命令。设备在内部处理加密,并将加密的数据流传输到 BlackBerry Link(或替代工具)。需要注意的是,无论使用什么工具,加密数据从不会离开设备。

注意

Windows Phone 8 和 Windows 10 Mobile 不提供离线备份。

Android

原生安卓系统没有类似 iTunes 的工具来进行完整设备备份。然而,一些原始设备制造商OEM)提供了制作和恢复离线备份的工具(例如,索尼为 Xperia 设备提供的 PC Companion 工具)。

该平台提供了通过命令行(adb backup)创建离线备份的有限功能。然而,与 iTunes 备份相比,ADB 备份可能包含的数据量有限。由于安卓系统的碎片化,不同的制造商对备份内容有不同的控制权。因此,一些设备可能会备份通话记录、联系人和短信,而其他一些设备则不会。例如,三星、索尼和 HTC 通常会省略通话记录、联系人和短信,但会允许 Google Chrome 数据(例如缓存的密码和浏览历史)备份。我们将在第四章中进一步讨论通过 ADB 备份进行的安卓逻辑获取,安卓数据获取的实践步骤,以及无需 root 的实时镜像(通过 ADB 备份)部分。

Nandroid 备份

已 root 的安卓手机并安装了自定义恢复模式(CWM 和 TWRP)可以创建所谓的 Nandroid 备份,这些备份包含设备文件系统的完整映像。在获取数据时,这些设备可以启动到恢复模式,并指示设备生成完整的 Nandroid 备份。

一般来说,手机必须安装自定义恢复模式才能生成 Nandroid 备份。如果尚未安装自定义恢复模式,则需要解锁引导加载程序(或使用引导加载程序破解)和/或对设备进行 root。请注意,在大多数情况下,解锁锁定的引导加载程序将清除设备上的所有用户数据。这个安卓安全措施在某些情况下可以通过引导加载程序破解绕过。

请注意,云备份和离线备份都不包括未分配的空间。

物理获取

物理获取在提取速度、使用方便性和提取信息量之间提供了最佳平衡。这个过程不需要拆解手机或使用任何特殊硬件。只需一条微型 USB(或苹果 Lightning)数据线、一台 PC(或 Mac)以及用于物理获取的取证软件(参见以下部分)即可。对于 iPhone 4 之后的 iOS 设备,Elcomsoft iOS 取证工具包目前是唯一可用的物理获取解决方案。

物理获取从设备中提取最多的信息。对于未加密的设备,未分配的空间将与文件系统一起提取,允许专家对销毁的证据进行恢复。加密设备对未分配空间的处理方式不同。例如,Apple iOS 总是使用全盘加密,不会保存已释放数据块的加密密钥。因此,未分配区域可以访问,但即使设备已越狱且已知密码,Apple 设备中的未分配区域也无法解密。

物理获取的好处如下:

  • 在提取数据量、速度和易用性之间达到了最佳平衡

  • 保证的时间框架

  • 在许多情况下,它可以提取未分配的空间(Apple 设备除外)

  • 在较高层次上操作,并能够克服加密(提取的图像会实时解密)

  • 可适用于某些 Windows Phone 型号

  • 可适用于较旧的 iOS 设备

  • 可适用于许多 Android 设备(有多种方法)

  • 只需要一个 USB 或 Lightning 数据线以及获取软件

  • 不需要拆解设备

  • 大多数法医专家都可以使用,无需特殊技能

  • 非破坏性和非侵入性过程

物理获取的主要缺点如下:

  • 一般可用性有限,Apple iOS 设备的可用性极为有限

  • 可能支持,也可能不支持关闭 USB 调试的锁定 Android 设备

  • 没有统一的方法,获取工具和方法种类繁多

  • 可能无法获取有未知 PIN/密码锁定的设备

Apple iOS

就 Apple 设备而言,物理获取对 32 位硬件完全可用,对 64 位设备的支持有限(即使已知密码,获取 64 位设备时,钥匙串项目仍然保持加密)。32 位获取过程支持 iPhone 4、4S、5 和 5C,但不支持后续的 5S、6 或 6 Plus。原版 iPad mini 可以通过 32 位过程进行获取,但 iPad mini 2(Retina)已使用 64 位 系统级芯片SoC),因此物理获取需要通过独立的(64 位)过程进行。

注意

SoC 是一种集成电路,将主 CPU、GPU、无线调制解调器以及专用运动和其他协处理器等电子组件集成在单个芯片上。SoC 不仅仅是一个 CPU,它将更多功能集成在同一硅芯片上。

请注意,iPhone 4S、5 和 5C 只能通过越狱进行获取,因此这些设备的物理获取前提条件包括一个已越狱的 iPhone 或已知密码,以及一个可以越狱的 iOS 版本。没有越狱的、被未知密码锁定的 iPhone 4S、5 或 5C 无法通过物理获取提取;然而,即使设备被未知密码锁定,仍然可以提取有限的数据。

64 位获取过程支持所有现有的苹果设备,如 iPhone 5S/6/6S/Plus、iPad mini 2-4、iPad Air/Air 2 和 iPad Pro。64 位过程向后兼容 32 位设备,在获取设备时出现错误时,可以代替完整的 32 位获取过程。然而,64 位过程高度侵入性,它会修改用户和系统分区的内容。与 DMG 镜像不同,64 位过程返回的是文件系统的 TAR 文件(仅包含文件和文件夹)。最后,密钥链项会被获取,但即使已知密码,也无法通过 64 位过程解密。

关于 iOS 物理获取的更多信息,参见第五章,iOS - 简介与物理获取

Android

物理获取可能是目前安卓设备上最佳的提取方法。物理获取操作的层次高于 JTAG 或芯片拆除。

注意

JTAG:这是测试访问端口TAP)的通用名称,由联合测试行动小组JTAG)协会标准化。这些端口可以用来访问连接设备中存储的原始数据,除此之外还可以用于其他功能。芯片拆除:这是一种高级且具有破坏性的获取技术,通过将单个存储芯片(例如嵌入式多媒体卡eMMC))从设备中移除,并直接对其进行成像(通过将线接头连接到芯片触点)或通过市售适配器进行成像。

由于物理获取通过手机的控制器运行,在许多情况下,转储加密设备会产生解密的转储文件(而 JTAG 或芯片拆除不会如此)。在安卓中,转储过程需要超级用户权限来运行。设备必须已经 root。像 Oxygen Forensic Suite 这样的商业获取工具会自动尝试为专家 root 设备(通过有线 root)。某些设备通过引导加载程序黑客攻击(Cellebrite UFED)可采用不同的、更先进的获取策略,这种方法不需要 root 设备或以任何方式修改其内容。此方法仅适用于支持的设备,包括某些摩托罗拉安卓设备、选定的三星、Qualcomm 和 LG 设备。虽然这种方法主要适用于解锁 bootloader 的设备,但 Cellebrite 也有适用于某些锁定 bootloader 设备的引导加载程序黑客(例如,选定的诺基亚 Lumia 设备)。

最后,一些制造商通过特殊的固件更新模式实现了对手机存储的服务访问。这些制造商包括高通(Qualcomm HS-USB 9006 / Qualcomm MMC 存储;无论引导加载程序锁定状态如何都能使用,但并非所有设备都支持);LG(无论芯片组如何,LAF 模式都能使用,且不受引导加载程序锁定状态影响);以及联发科和展讯(仅在解锁引导加载程序时有效)。这些模式可以通过移动取证工具(如 Oxygen Forensic Suite)用于对某些设备的法医采集。

我们将在第五章中详细讨论 Android 物理采集,iOS - 介绍与物理采集

Windows Phone 8 和 Windows 10 Mobile

长时间以来,Windows Phone 操作系统对物理采集攻击保持安全。Cellebrite 为特定的 Windows Phone 设备开发了一个引导加载程序级别的漏洞。支持的 Windows Phone 8 设备可以通过 USB 电缆使用 Cellebrite UFED 进行数据提取(www.cellebrite.com/Pages/windows-phone-forensics-physical-extraction-and-decoding-from-windows-phone-devices)。

即使设备更新至 Windows 10 Mobile,bootloader 漏洞仍然有效。

限制与可用性

对于 BlackBerry 10、64 位硬件的 Apple iOS 设备以及许多没有已知漏洞的 Android 智能手机,无法进行物理提取。

物理采集工具

需要提到的是,以下法医工具可用于并推荐用于进行移动设备的物理采集:

  • Cellebrite UFED 提供了广泛的移动取证工具,涵盖了 UFED 系列下的多个工具。Cellebrite 还提供更多工具。

  • Micro Systemation (XRY) 提供一系列移动取证工具,用于从多种移动设备执行物理和逻辑提取,提取所有可用的原始数据(仅限物理提取)。

  • AccessData (MPE+) 提供了 Mobile Phone Examiner PlusMPE+),这是一款支持广泛移动设备的全能采集和分析工具包。该公司声称支持超过 7,000 种设备型号。

  • Elcomsoft iOS 法医工具包是市场上唯一支持对所有 32 位和 64 位 iOS 设备进行物理采集的工具。

  • Oxygen Forensic Suite支持通过物理、逻辑和云采集技术,覆盖超过 12,000 种独特的设备型号。它还能够利用某些芯片组和 OEM 的独特属性,使调查人员能够在绕过引导加载程序锁和屏幕锁的情况下,提取设备的全部内容。

  • Magnet ACQUIRE可以执行逻辑采集以及多个 Android 和 iOS 设备的物理采集。提取过程采用无关工具的方式,这样任何分析工具都可以导入提取的数据进行分析。

  • BlackBag Mobilyize可以获取 Android 和 iOS 设备数据。iOS 仅限于逻辑/文件系统提取。对于 Android,它可以在设备类型和其他变量(如操作系统、运营商定制等)的支持下进行三种级别的提取。

JTAG

JTAG 取证是一种先进的采集程序,使用 JTAG 协会标准的测试接入端口。这些端口可以用来访问连接设备中存储的原始数据。采集过程涉及使用设备电路板上现有的焊接点。通过使用专用设备和与之匹配的设备特定 JTAG 电缆,可以从兼容设备中提取闪存内容(排除 eMMC 过度配置区域,但包括可寻址的未分配空间)。值得注意的是,JTAG 采集通常可以用于锁定、损坏或其他无法访问的设备。JTAG 采集支持许多 Android 设备,以及一些功能手机和 Windows Phone 7 及 8 设备。JTAG 不支持近期的 BlackBerry 10 设备,也不支持任何苹果设备。

与物理采集相比,JTAG 在较低级别操作。这既有优点也有缺点。

以下是 JTAG 的优点:

  • 它可以获取带有未知 PIN 码/密码的锁定设备

  • 支持 USB 调试关闭的锁定 Android 设备

  • 支持许多 Windows Phone 型号

  • 支持运行专有操作系统的设备(例如,Ubuntu Touch、Firefox OS 等)

  • 有很大机会提取锁定、损坏和破损设备的内容

  • 从不受任何取证工具支持的设备中提取数据

  • 非破坏性,但具有侵入性

JTAG 采集的主要缺点包括:

  • 无法破解加密(专家可能能够,也可能无法解密提取的图像)

  • 需要较高的技能水平和丰富的专业知识

  • 侵入性过程,需拆解设备

  • 劳动密集型

  • 相对较慢的采集速度(与 Chip-off 或 ISP 相比)

  • 仅支持具有 TAP 端口的有限设备

  • 可能需要不同种类的 JTAG 盒子来全面支持所有制造商或型号,这会增加显著的成本

JTAG 取证是一个劳动密集且耗时的过程,需要专家使用设备齐全的实验室。因此,取证专家通常会在其他方法失败后尝试 JTAG 采集。

Chip-off

芯片提取法是一种高度先进且破坏性的提取技术,要求将导线连接到 PCB 接触点或物理去除(脱焊)手机的闪存芯片。与 JTAG 相比,芯片提取法被认为更为困难;然而,通过芯片提取法获取的信息量与通过 JTAG 获取的数据量相似。由于大多数智能手机使用标准的 eMMC 闪存模块,因此该过程是标准化的,通常不会给检查员带来意外。

在对计算机硬盘进行成像时,通常会尽量尝试进行尽可能低级的访问。在移动取证的领域,最低级别的访问并不总是最佳选择。虽然直接读取芯片会生成内存芯片的完整原始数据,但调查员可能会遇到加密分区,而加密密钥并没有存储在任何地方。对于苹果设备、许多三星手机以及其他设备(例如 Android 5 的 Nexus 系列)来说,加密是默认启用的。在低级获取或攻击离线镜像时,即使你知道正确的密码,这种强制加密也无法绕过。芯片提取法在对未加密设备使用时能提供最佳效果。

芯片提取法的好处包括:

  • 可以获取未知 PIN 码/密码的锁定设备

  • 支持 USB 调试关闭的锁定安卓设备

  • 适用于所有 Windows Phone 型号

  • 适用于运行专有操作系统的设备(例如,Ubuntu Touch、Firefox OS 等)

  • 在提取被锁定、损坏和破损设备内容方面具有极高的成功率

  • 从没有任何取证工具支持的设备中提取数据

  • 支持没有 JTAG 端口的设备

  • 高速获取

芯片提取法的主要缺点包括:

  • 无法破解加密(专家可能能够或无法解密提取的镜像)

  • 需要拆解设备

  • 需要极高的专业知识

  • 极度劳动密集

  • 破坏性过程

在苹果 iOS 设备上,芯片提取法(Chip-off)没有作用,因为这些设备默认启用加密。对于加密的 BlackBerry 10 设备也无效;然而,BlackBerry 10 设备并未强制启用加密,也没有默认开启加密功能,因此 BB10 智能手机的加密状态应根据具体情况进行确认。

系统内编程

系统内编程ISP)取证是芯片拆卸获取的非破坏性变体。ISP 是一种高级获取过程,介于 JTAG 和芯片拆卸之间。在获取过程中,检查员可以尝试在不拆除芯片的情况下提取 eMMC 存储器的内容。ISP 获取仅适用于使用 eMMC 或 eMCP 风格的球栅阵列BGA)芯片的设备。访问内存是通过 BGA 芯片周围的接入点进行的。该获取过程被视为非破坏性的,因为如果一切顺利,设备在提取后可以重新组装并启动。

eMMC ISP 用于创建设备的二进制镜像,可以使用诸如 UFED 或 Oxygen Forensic Suite 等市面上众多的取证工具进行获取和分析。

ISP 的优势包括以下几点:

  • 适用于 eMMC BGA 芯片的标准化程序

  • 被视为非破坏性(设备可以在提取后重新组装并启动)

  • 可以提取带有未知 PIN 码/密码的锁定设备

  • 支持 USB 调试关闭的锁定 Android 设备

  • 适用于所有 Windows Phone 型号

  • 可用于运行专有操作系统的设备(例如,Ubuntu Touch、Firefox OS 等)

  • 极大提高了从锁定、损坏或破损设备中提取内容的机会

  • 从任何取证工具不支持的设备中提取数据

  • 支持没有 JTAG 端口的设备

  • 高获取速度

ISP 获取的主要缺点包括以下几点:

  • 无法突破加密(专家可能能够,也可能无法解密提取的镜像)

  • 高度侵入性的过程,需要拆解设备

  • 仍然需要高水平的专业技能

  • 劳动密集型

ISP 获取过程的局限性与芯片拆卸类似。加密设备最好使用其他获取技术,这意味着不能通过 ISP 获取任何苹果智能手机或平板电脑。从技术上讲,该技术可以用于 Apple iOS 设备;然而,解密数据分区将是不可能的。

总结

在本章中,我们概述了现有的获取方法,从相对简单的逻辑和云端提取到专家级且劳动密集型的芯片拆卸。我们还回顾了适用于各种移动平台的获取方法,并了解了每种方法的优缺点。从下一章开始,我们将深入探讨每个移动平台。下一章将提供关于获取运行 Android 操作系统的移动设备的详细技术信息。

第三章:获取 – 接近 Android 设备

大约 82% 的移动设备(2016 年第一季度)运行 Android 操作系统。活跃的 Android 设备总数约为 14 亿(尽管并非所有这些设备都是 Google 设备)。

类似于 iOS,数据并不是仅存储在移动设备上。在 Android 6 中,Google 正式引入了云备份选项,允许用户在 Google Drive 上为 Android 设备保持有限的自动备份。了解 Google 知道用户的哪些信息对于调查至关重要。

有一个很好的资源,包含大量详细的(但不是过于技术化的)信息,可以帮助法医专家更好地理解 Android 法医分析。免费 Android 法医博客(freeandroidforensics.blogspot.com)提供了对 Android 平台、成像工具和技术的深刻洞察。该博客主要讨论使用免费法医工具和获取技术,而在我们看来,这可能会限制可用的获取选项,并需要比检查员可能有的时间和精力更多的投入。然而,博客中提供的信息是理解获取工具在获取移动设备信息时到底做了什么的极好阅读材料。

在接下来的部分中,我们将讨论从 Android 设备获取信息以及从 Google 服务器提取相关数据的可用选项。在本章中,我们将涵盖以下主题:

  • Android 平台碎片化及其重要性

  • AOSP 和 GMS 解析

  • 通过 ADB 备份进行逻辑获取

  • 处理未分配空间

  • 高级获取方法概述

Android 平台碎片化

Android 是一个高度碎片化的平台。近 1,300 家制造商和超过 24,000 款设备型号带来了极大的差异性:

Android 平台碎片化

来源:opensignal.com/reports/2015/08/android-fragmentation/

硬件规格在屏幕大小、分辨率、显示比例、CPU、SoC 甚至架构(ARMv7、ARMv8 和 Intel 的 x86/x64 是最流行的 Android 平台之一)上表现出极大的差异。Android 设备在核心操作系统的版本和可用 API 上也有所不同。与苹果的 iOS 相比:

Android 平台碎片化

iOS 和 Android 分布图(2016 年 4 月)

Android 设备有许多不同版本的 Android 操作系统和不同的 API 级别,这些版本和级别在任何时候都可能存在。对于移动法医分析来说,这意味着必须熟悉所有版本的 Android 的获取和保护细节,或者转而使用专门的 Android 获取产品。

关于 Android 碎片化的更多信息可在以下链接查看:

  • Google Play 服务的独特之处:一举解决 Android 分裂、恶意软件和分支问题 在此查看

  • OpenSignal Android 分裂报告 在此查看

  • 另一份 Android '分裂'报告忽略了关键点 在此查看

AOSP、GMS 及其取证影响

Android 和 Google 并不是同义词。核心 Android 操作系统由 Google 开发和维护,并通过Android 开源项目AOSP)以开放源代码发布。AOSP Android 是免费提供给任何人使用的,无需签署合同,并且制造商在使用和修改时没有任何限制。制造商具有(技术和法律上的)能力创建所谓的 Android 分支版本,这是经过高度修改的 Android 版本,可能与所有 Android 应用兼容,也可能不兼容。AOSP Android 不包括任何专有的 Google 服务(稍后我们会讨论更多相关内容)。

中国大陆出售的大多数智能手机基于 AOSP Android,而一些手机则运行定制的操作系统版本(例如,小米 MIUI 或魅族 FlyMe)。

Android 设备在西半球如此受欢迎的原因在于 Google 提供的生态系统。Google Play 商店提供了数百万款游戏和应用的访问。Google 地图提供了便捷的地图服务,包括免费的导航和实时交通信息。Gmail(Google 邮件)、Google Drive、Google Photos、Google Keep(便签)、Google Chrome(浏览器)等,以及其他许多 Google 产品,构成了一个在Google 移动服务GMS) umbrella 下运作的封闭源生态系统。

为了在设备上预装 GMS,制造商必须加入开放手机联盟OHA)并签署一份非常严格的协议。该协议不允许 OHA 成员制造基于 Android 分支的设备,这使得制造商只能在没有 Google 服务的 AOSP 设备和启用 GMS 的设备之间做出选择。只能选择其一。

Google 移动服务几乎包含了所有在西半球销售的 Android 智能手机。Google 使用其服务从启用 GMS 的设备收集大量信息。位置报告、Google 帐号详情、便签、搜索和浏览历史、存储的表单和密码、同步的应用数据,以及其他许多信息,都会由 GMS 启用的设备自动传输到 Google 服务。

这些数据中的大部分可以通过 Google 获取或请求。没有 Google 移动服务的基于 AOSP 的设备不会将其使用情况报告给 Google 服务器,因此,它们更不容易受到空中下载技术的影响。

在美国,亚马逊是基于 Android 分叉系统开发设备的最大公司。亚马逊的定制 Android 系统——Fire OS,驱动着该公司推出的 Fire 平板,包括原版 Kindle Fire、Kindle Fire HD、Kindle Fire HDX 7、Kindle Fire HDX 8.9(2013 年版)、Fire HDX 8.9(2014 年版)以及整个 2015 年系列。唯一的亚马逊智能手机 Amazon Fire Phone 也基于 Fire OS。Amazon Fire OS 用亚马逊自家的替代品替代了 Google 移动服务,提供了替代的地图、推送和同步服务以及自家的应用商店。较旧版本的 Fire OS 与原生 Android 相差甚远,以至于 Google Play Store 无法在平台上运行。最新版本(Fire OS 5)在外观和操作体验上与原生 Android 更为相似,并且与 Google 服务兼容性大大增强。

Google Play 服务通过向所有版本的 Android(自 2.3 Gingerbread 起)用户提供及时的后台更新,帮助克服平台分裂问题。

注意

Google Play 服务的天才之处:一举解决 Android 分裂、恶意软件和分叉问题www.androidcentral.com/genius-google-play-services

安卓逻辑获取

纯粹的 Android 操作系统对 ADB 离线备份的支持有限。Google 在 Android 4.0 冰激凌三明治版本中实现了 ADB 备份功能。ADB 备份功能允许检查员通过 ADB 将应用程序数据提取到本地 PC。这一过程不需要 root 权限,也不需要自定义恢复模式或解锁引导加载程序;然而,它提取的信息非常有限,应该仅作为最后的手段使用。此外,使用 ADB 备份功能需要解锁手机并启用 ADB 调试 选项。

XDA 开发者发布了一个完整的指南,用于通过 ADB 备份手机:

forum.xda-developers.com/galaxy-nexus/general/guide-phone-backup-unlock-root-t1420351

额外信息请参见:

android.stackexchange.com/questions/28481/how-do-you-extract-an-apps-data-from-a-full-backup-made-through-adb-backup

以下命令应生成设备的完整备份,包含所有 APK 文件,包括系统应用和共享 (/sdcard) 存储的内容:

adb backup -apk -shared -system -all -f C:\fullpath\backup.ab 

完整的语法如下:

adb backup [-f ] [-apk|-noapk] [-shared|-noshared] [-all][-system|-nosystem] [<packages...>]</packages...>

各选项解释如下:

  • 将设备的数据写入归档文件。如果没有提供 -f 选项,则数据将写入当前目录下的 backup.ab 文件。

  • -apk|-noapk 将启用/禁用备份 .apks 文件本身到归档文件中;默认值为 noapk

  • -shared|-noshared 将启用/禁用设备共享存储 / SD 卡内容的备份;默认值为 noshared

  • -all 表示备份所有已安装的应用程序。

  • -system|-nosystem 切换是否将 -all 自动包含系统应用;默认情况下会包含系统应用。

  • <packages...></packages...> 是待备份的应用程序列表。如果传递了 -all-shared 标志,则包列表是可选的。命令行中明确指定的应用程序将被包含,即使 -nosystem 通常会导致它们被排除。

为了使其正常工作,手机必须启用 ADB 调试 并解锁。手机可能会显示提示,要求您确认操作。

注意

在实际操作中,指定某些选项可能会导致备份失败。例如,当我们尝试使用 -noapk 选项备份 Motorola Nexus 6 时,备份失败。然而,使用 adb backup –all –f c:\temp\nexus6.ab 命令成功完成备份。

在没有 root 权限的情况下,通过 ADB 备份提取的功能是有限的。ADB 备份无法获取设备上安装的所有应用程序。开发人员可以选择是否允许他们的应用程序进行备份。尽管默认设置为 on,但一些开发者选择禁用备份。值得注意的是,ADB 备份无法捕获应用程序缓存的内容。ADB 备份功能与 Android 6.0 Marshmallow 引入的新云备份功能是分开的。

尽管通过使用制造商特定的驱动程序和 Android 调试桥 (ADB) 可以在没有任何特定移动取证工具的情况下进行 Android 设备的逻辑采集,但如果您已经拥有商业化的移动取证工具,您可能更愿意使用它。例如,以下是使用 Oxygen Forensic Suite 执行 Android 设备逻辑采集的步骤:

  1. 打开并解锁设备。

  2. 确保在 开发者选项 中启用了 USB 调试,如下面的截图所示:Android 逻辑采集

  3. 通过 USB 电缆将设备连接到计算机。在某些设备上,您可能需要将 USB 连接模式从 仅充电 切换到 PTPMTP

    注意

    Android 提供了多种连接选项。您可能会看到 充电文件传输(MTP)照片传输(PTP) 等选项。只有选择 MTP(媒体传输协议,用于在 Android 设备和 Windows 或 Mac 之间传输文件)或 PTP(照片传输协议,通常由打印机和相机等设备用于传输照片)后,才能建立 ADB 连接。在我们的测试中,选择 PTP 选项的成功率更高。

    Android 逻辑采集

  4. 选择 连接设备 | 快速备份/镜像提取...,如下面的截图所示:Android 逻辑采集

  5. 选择 Android 备份 并点击 下一步Android 逻辑采集

  6. 连接设备并按照指示操作:Android 逻辑采集

  7. 在 Android 设备上,您可能需要授权您的 PC 作为调试桥接:Android 逻辑获取

  8. Oxygen Forensic Extractor 将自动与设备建立连接并开始提取备份。

关于 ADB 备份的更多信息,请参见第四章,Android 获取的实际步骤

OEM 软件

一些制造商提供配套软件以启用手机与 PC 之间的通信。最常见的例子是苹果 iTunes,法医专家在进行逻辑获取时经常使用它。例如,SONY PC 伴侣提供完整的备份和恢复功能,支持 Xperia 设备,无需 root 或解锁引导加载程序。尽管使用 SONY PC 伴侣需要用户用正确的方法解锁设备(PIN 码、图案等),但我们已经见过一些绕过这种锁定措施的证据:

OEM 软件

索尼 PC 伴侣备份

此外,一些 OEM(如 LG、华硕等)提供自己的专有软件,用于备份和恢复设备的全部内容。然而,使用这些工具需要设备已解锁,在这种情况下,可能还有其他获取方法可用。

从 ASUS ZenPad S 8.0 平板提取的备份包含以下所有文件:

OEM 软件

ASUS ZenPad S 8.0 备份的内容

使用专有工具制作的备份通常包含设备设置、密码(或在某些情况下,身份验证令牌,这些令牌可能已过期,或者恢复时仍有效)、已安装的应用程序列表,以及应用程序数据(通常还包括应用程序二进制文件)。这些备份不包括访问未分配空间的功能。

Android 获取 – 特殊注意事项

用户试图销毁的信息会发生什么?已删除的证据仍然可以恢复——至少在 Android 智能手机中是这样。Android 设备很少加密,容易受到各种获取技术的攻击,其中许多技术能够访问已删除的数据。我们来看看 Android 如何删除信息,以及如何恢复已删除的数据。

未分配空间

在 Android 中,未分配空间通常可以与文件系统一起提取(而苹果设备则不行,因为 iOS 采用全盘加密)。然而,需要意识到的是,Android 设备支持修整(trim)功能,每次设备关闭时,未分配磁盘空间的内容都会被擦除。这也是为什么标准的获取技术不建议在任何时候关闭手机的原因;相反,建议将设备连接到充电器并放入法拉第袋中。

那么,Android 手机中的未分配(或释放)空间会发生什么呢?

eMMC 存储

让我们来看看最近的智能手机和平板电脑是如何存储信息的。自 2011 年以来,大多数安卓智能手机都使用 eMMC 闪存芯片进行非易失性存储。与普通闪存芯片不同,eMMC 存储将闪存内存和控制器集成到一个单芯片中,植入到手机的主板上。内建控制器负责执行特定于闪存的操作,以维护数据完整性,同时确保 NAND 单元的最佳性能和使用寿命。控制器执行的操作包括修剪未使用的数据块、将逻辑地址映射到物理芯片等。此外,控制器还负责在请求时执行安全数据擦除。

重新映射与超额预留

在内部,内建控制器负责在可寻址(逻辑)存储空间与闪存芯片中的物理块之间建立链接。换句话说,每个逻辑块都会通过 eMMC 控制器映射到一个对应的物理块。然而,反过来却不成立——我们不能说每个物理块都有一个对应的可寻址逻辑块。

eMMC 芯片的实际存储容量要比它对外宣称的要多。因此,额外的物理数据块在被 eMMC 控制器调用服务之前是不可寻址的。这个特性被称为超额预留。超额预留的数据块没有逻辑地址。任何坏块(不稳定或不可读的数据块)将永久性地被放置到超额预留区域。它们将永远不会被分配逻辑地址,也不会对操作系统或其他任何系统可见,只有内建的 eMMC 控制器可以访问它们。

注意

重要:没有可行的方法可以提取超额预留区域中的信息。整个区域对逻辑或物理获取工具不可见,因为这些数据块没有映射到可用的地址空间。这些数据块只能由内部控制器访问,外部没有接口可以故意访问其内容。因此,即使进行芯片拆除提取,也无法访问超额预留区域中的物理块,因为 eMMC 芯片的芯片拆除提取仍然是通过向 eMMC 控制器发送命令进行的。

磨损均衡

闪存有一些该类型存储特有的特点。NAND 闪存芯片的使用寿命有限,只能支持有限次数的写入-擦除循环。达到有效使用寿命的终点后,闪存芯片可能仍然能够继续工作,但数据保持期可能会受到严重影响(在闪存存储断电一段时间后,数据可能会损坏或完全消失)。因此,嵌入式 eMMC 控制器将尽力将写入循环均匀地分配到可用的数据块中,这被称为磨损均衡。

修剪

闪存存储的另一个独特特性是它们写入信息的方式。块必须先被擦除才能写入。擦除一个闪存单元所需的时间比写入到一个已经空闲的块所需的时间要长得多。为了绕过这个问题,eMMC 控制器将在空闲时通过修剪(擦除)已释放的块进行后台垃圾回收。为了使某个逻辑地址在其内容被删除后立即可写(而且该块已被标记为可用,但尚未擦除),控制器可能会通过将该逻辑块指向一个已经空闲的物理单元来执行地址重映射。与擦除不同,重映射是瞬时发生的,使得曾经包含已删除数据的块可以无需等待擦除过程即可被写入。

由于 Android 平台的碎片化,Android 的修剪支持在不同版本之间以及不同 OEM 之间有所不同。完全修剪支持直到 Android 版本 4.3 Jelly Bean 才开始支持。此外,完全修剪支持仅保证在原本搭载 Android 4.3 或更新版本的设备上,这意味着从早期 Android 版本升级的设备不在此范围内。虽然一些制造商在更新设备到新版本 Android 时实现了修剪支持,但其他一些 OEM 从未处理过此问题。因此,许多最初搭载 Android 4.2 并更新到 Android Kit Kat 或甚至 Lollipop 的设备,始终没有获得正确的修剪支持。

早期没有完全修剪支持的 Android 版本曾经包含一种基本的修剪形式。在旧版 Android 中没有实时修剪的情况下,每次设备关机时都会执行清理(修剪)。这也是 ACPO 要求保持设备开机而不是关机的原因之一。顺便说一句,仅仅移除电池并不会触发清理阶段。

如果你正在处理一台 Android 设备,并且它是旧版设备,你可能能够导出其 eMMC 芯片的物理镜像,并访问其未分配空间的信息。

删除的数据会发生什么?

那么,操作系统释放的块中的信息会发生什么呢?Android 操作系统(取决于版本)会向 eMMC 控制器发送一个trim命令,告诉它某个逻辑块不再使用。控制器将给与该逻辑地址对应的物理块一个特殊状态,标记为无所谓,将该物理块添加到待擦除列表,并将逻辑地址重新映射到一个干净的物理块(可以是现有地址空间中的,或者是超额配置区域中的)。

值得注意的是,控制器可能会或可能不会决定将新发布的物理块从可寻址空间推送到超配区域。因此,已删除的逻辑块的内容可能会在可寻址空间中保留一段时间。这个现象使得法医专家能够从未分配的区域中恢复信息。

如果你需要了解关于 Android 设备上删除的信息会发生什么,请参考Laurent SimonRoss Anderson剑桥大学)发布的《Android 工厂重置的安全分析》论文,论文可通过 www.cl.cam.ac.uk/~rja14/Papers/fr_most15.pdf 获取。在这篇论文中,科学家研究了多款运行 Android 2.3.x 至 4.3 版本的 Android 智能手机上的工厂重置实现,回顾了 Android 智能手机如何处理已删除文件,并发现,在许多情况下,由于许多设备制造商对该功能的实现不当,用户数据在工厂重置后仍然可以访问。

JTAG 取证

JTAG 取证是一种先进的数据获取程序,使用联合测试行动小组JTAG)协会标准化的测试接入端口TAP)。这些端口可以用于访问连接设备中存储的原始数据等内容。获取过程涉及使用设备电路板上现有的焊接点。通过使用专用设备和与设备匹配的 JTAG 电缆,专家可以从兼容设备中提取整个闪存内容(去除 eMMC 超配区,但包括可寻址的未分配空间)。值得注意的是,即使是被锁定、损坏或其他无法访问的设备,JTAG 获取仍然是可行的。JTAG 获取适用于许多 Android 设备,以及一些功能手机和 Windows Phone 7 和 8 设备。

JTAG 取证是一个劳动密集型且耗时的过程,要求专家在设备齐全的实验室中操作。因此,法医专家往往在其他方法无效后尝试 JTAG 获取数据。

何时进行 JTAG 取证

JTAG 是一种侵入式获取方法,因为它需要将设备拆解到一定程度,并将电线焊接到测试端口的接触点上。尽管具有侵入性,但许多专家认为 JTAG 并不是一种破坏性的方法。如果操作得当,JTAG 过程前设备处于正常工作状态时,设备在 JTAG 处理后仍会继续工作——这正是测试端口的设计初衷。尽管如此,JTAG 操作有时仍会导致设备无法使用。因此,JTAG 取证通常用于商业法医工具无法提取设备数据,或者设备软砖化或无法启动时。这包括被锁定且密码未知的设备,以及未启用USB 调试选项且无法绕过保护的设备。

JTAG 采集会生成设备内存的完整映像,包括未分配的空间。这就是 JTAG 采集在实验室中的样子:

何时使用 JTAG 对设备进行提取

诺基亚 Lumia 920 的 JTAG 采集。图片来源:SYTECH 数字取证,http://sytech-consultants.com/.

JTAG 取证的限制

JTAG 提取是一种低级别的采集方法,它返回设备存储的原始内容。如果启用了全盘加密,JTAG 将提取原始加密映像。是否能够破解加密取决于制造商(例如三星以与众不同而闻名)、手机型号和 Android 版本。

为了提取解密的映像,必须使用更高级别的 API。不过,这可能需要用正确的密码解锁设备(或采用其他方法,如图案或敲击密码)。某些三星设备、运行 Android 5 的谷歌制造设备(如 Nexus 6 和 Nexus 9)以及一些其他由领先制造商销售的旗舰手机,开箱即启用全盘加密。

JTAG 过程的文档资料极为有限,并且需要专家级检查员。有些制造商在设备出厂后会禁用 TAP 端口,因此即使设备上有 TAP 端口,JTAG 采集可能也无法进行。

通过 JTAG 提取的完整映像不包括过度配置区域。JTAG 不会绕过控制器,只能访问设备控制器允许的设备内存区域,除非检查员使用一种被称为边界扫描的高级 JTAG 形式。换句话说,未使用边界扫描技术时,标准 JTAG 方法无法访问过度配置区域。然而,即便使用边界扫描技术,检查员也只能访问从嵌入式存储中提取的信息。如果设备使用 eMMC 内存,所有提取请求仍会通过集成在 eMMC 芯片中的嵌入式控制器进行路由,而该控制器又不允许直接访问闪存芯片的内容。因此,边界扫描技术仅在设备配备普通闪存芯片时有效,而当前的设备大多使用 eMMC 芯片(例如,大多数 Android 智能手机自 Android 2.3 以来一直使用 eMMC 芯片)。值得注意的是,一些入门级的无品牌中国智能手机仍然使用普通闪存芯片而非 eMMC。

尽管存在一些限制,JTAG 仍然是兼容设备的一种可行获取方法。谷歌决定放弃对新 Android 5.0 设备进行加密(arstechnica.com/gadgets/2015/03/google-quietly-backs-away-from-encrypting-new-lollipop-devices-by-default/),取消了要求在升级到 Android 5.0/5.1 的现有设备中强制执行全盘加密的要求,以及新发布的 Lollipop 系统手机的默认加密。只有当手机没有使用全盘加密时,您才能对兼容的手机使用 JTAG 取证。

步骤逐步的 JTAG 获取

本书面向移动取证专家,因此我们不会详细讨论 JTAG 提取。将手机送往专门从事低级提取的实验室可能是您最好的选择。在实验室中,他们将执行以下步骤:

  1. 专家将尝试通过研究特定设备型号的服务文档来识别 TAP。如果没有服务文档可用,检查员将打开设备并检查其 PCB,寻找潜在的 TAP,然后手动探测以识别 TAP 连接器引脚。

  2. 专家随后将通过焊接连接器或使用无焊接夹具,将电线引线连接到正确的连接器引脚。

  3. 电线引线将连接到支持正在分析设备的适当 JTAG 仿真器。

  4. 通过向展品设备发送适当的命令,专家将使设备转储其闪存内容。原始转储将由 JTAG 仿真器捕获,并保存为二进制文件。

  5. 包含内存芯片原始内容的二进制文件将提供给您进行分析。该转储可能已加密,也可能未加密,即使知道锁屏密码,也可能无法在当时解密其内容。

  6. 此时,您可以使用您选择的移动取证工具加载 JTAG 转储的内容并解析和分析其内容。

Chip-off 获取

Chip-off 获取是一种高度先进的破坏性提取技术,需要将电线引线连接到 PCB 接触点或物理移除(拆焊)手机的闪存芯片。与 JTAG 相比,Chip-off 被认为更困难;然而,通过 Chip-off 获取到的信息量与通过 JTAG 提取设备获得的数据量相似。由于大多数智能手机使用标准的 eMMC 闪存模块,过程是标准化的,通常不会给检查员带来意外。

在移动取证的世界中,最低级别的访问并不总是最好的。虽然直接读取芯片可以生成内存芯片的完整原始转储,但调查员可能会面对一个加密分区,而加密密钥并未存储在任何地方。在苹果设备、许多三星手机以及一些其他设备(例如,Android 5 Nexus 系列)的情况下,加密是开箱即用的,并且即使知道正确的密码,也无法在芯片卸载采集过程中绕过加密。芯片卸载采集在未加密设备上使用时能获得最佳结果。

芯片卸载与加密

芯片卸载通常涉及从电路板上移除内存芯片,并使用特殊的 eMMC 适配器制作内存芯片的原始转储。如果设备启用了全盘加密,在许多 Android 5.0 Lollipop 之前的 Android 版本中(使用默认加密方案),就可以尝试在原始数据转储中进行数据雕刻,以便定位并提取加密元数据。如果成功提取了加密元数据,分析员可以尝试暴力破解密码并解密镜像。

芯片卸载提取是可用的最低级别采集方法。如果物理采集和 JTAG 提取都失败,芯片卸载通常作为最后的手段。如果使用了全盘加密,芯片卸载采集将导致一个加密的镜像,可能无法解密。

请注意,这项技术在许多具有较新固件的三星手机上不起作用,也在大多数运行 Android 5.0 及以后版本的 Android 设备上无法使用。近期的三星设备(以及所有 Android 5.x 智能手机)使用主密钥加密元数据,而主密钥本身存储在一个无法通过芯片卸载访问的受保护区域中。

系统编程取证

系统编程取证是芯片卸载采集的一种非破坏性变体。ISP 是一种高级采集过程,介于 JTAG 和芯片卸载之间。在采集过程中,检查员可以尝试不移除芯片就转储 eMMC 内存的内容。ISP 采集仅适用于使用 eMMC 或 eMCP 样式 BGA 芯片的设备。通过 BGA 芯片周围的接入点获取对内存的访问。这个采集过程被认为是非破坏性的,因为如果一切顺利,设备在提取后可以重新组装并启动。这是实验室中 ISP 采集的样子:

系统编程取证

连接到智能手机 PCB 的 eMMC 适配器。来源:http://easy-jtag.com/。

以下是 JTAG eMMC 引脚图的示意图(感谢 Easy Jtag 提供):

系统编程取证

Easy JTAG eMMC 盒子。来源:http://easy-jtag.com/。

Teel Technologies(www.teeltech.com/mobile-device-forensics-training/in-system-programming-for-mobile-device-forensics/)列出了 ISP 采集的以下优点:

  • 使检查员能够绕过锁码,从不支持 JTAG 或商业工具的手机中恢复完整的数据集

  • 一种非破坏性的操作方法,能够实现与芯片拆除相同的结果,同时保持原始证据完好无损

  • 比 JTAG 快得多,能够更快速地收集数据,使检查员能够更高效地处理更多手机

  • 执行 ISP 下载所需的资源和工具比芯片拆除更少

总结

在本章中,我们从取证的角度审视了 Android 操作系统。我们回顾了各种数据采集选项,并讨论了如何进行 Android 设备的逻辑采集。我们还探讨了已删除证据的问题,并讨论了何时以及如何恢复已删除的数据。在下一章,我们将继续研究 Android 设备,学习一些最常用的取证技术——物理采集。

第四章:Android 获取的实际步骤

在接触 Android 智能手机时,并没有一条简单的获取路径。由于 Android 平台的高度碎片化,获取 Android 智能手机的方式会因设备的不同而大相径庭。你的方法将取决于设备的制造商和使用的芯片组;设备运行的 Android 版本以及最初发布时的 Android 版本;设备是否具有解锁(或可解锁)引导加载程序,以及是否已经或可以被 root。如果这些还不够,设备的加密状态(也取决于设备的品牌、型号和 Android 版本)也会影响你的获取选项。

本章详细讨论并展示了针对各种 Android 设备的物理数据获取方法。我们将讨论如何使用制造商特定的低级服务模式(LG、Qualcomm 和 Mediatek),如何使用自定义恢复模式(ClockworkModCWM)和 Team Win Recovery ProjectTWRP))进行数据分区的转储,以及如何制作 NANDroid 备份并使用命令行工具,如 dd,对设备进行实时映像。我们还会谈论加密以及它对物理数据获取的影响。

Android 物理获取

在接触 Android 智能手机时,并没有一条简单的物理获取路径。设备是否加密?你是否知道密码?设备是否有解锁(或至少是半解锁)的引导加载程序?设备是否已经安装了 root 权限,或者你是否能够对其进行 root?某些型号是否有服务后门?根据这些因素,你可能会选择不同的获取方法。

加密

在我们继续讨论各种物理获取方法之前,我们需要明确一点:设备加密可能会影响你访问用户数据的能力。可能存在提取解密密钥的可能性,而这取决于 Android 版本以及手机是否为三星制造。

在 Android 5.0 Lollipop 之前,Google 曾使用一种存在严重缺陷的加密方法,并将其推送到 Android 开源项目AOSP)。这种方法被攻破了,专家们能够从设备中提取解密密钥,并用它来解密用户数据。解密元数据保持未加密,因此提取元数据可以解密数据分区。

三星知道这一漏洞,并设计了自己专有的加密方案,加密了解密元数据。因此,即使运行早期版本的 Android(Lollipop 之前)的三星加密智能手机,也非常难以破解。

注意

运行 Android 4.0 及更早版本的三星设备使用开放的解密元数据,即使加密也能获取。运行原生 Android 的三星 Galaxy Nexus 采用了谷歌的标准加密实现(具有开放的解密元数据),也可以被解密。

在 Android 5.0 中,谷歌采用了更安全的加密方案,类似于三星开发的方案。在 Android 5.x 和 6.x 中,解密元数据不再以开放形式存储,而是被安全地加密。虽然解密元数据可以通过物理映像、JTAG 或芯片拆除来提取,但无法用它来解密数据分区,因为所需的元数据本身是加密的。目前,没有方法能够在设备外部解密所需的元数据。三星现在在运行 Android 5.x 及更高版本的设备中使用这一加密标准。获取加密 Android 设备时,适用以下兼容性矩阵:

  • 对于运行 Android 4.4 KitKat 或更早版本的非三星加密设备,你可能能够恢复解密密钥并用它解密用户数据。

  • 对于运行 Android 4.0 到 4.4 的加密三星智能手机,你可能无法提取或恢复解密密钥。因此,你可能无法解密用户数据。如果是这种情况,你仍然可以尝试实时映像、逻辑获取或云提取。

  • 对于运行 Android 5.x 或更高版本的加密设备,你不太可能找到解密密钥。低级别的获取技术(JTAG、ISP 或芯片拆除)同样无效。可以尝试实时映像、逻辑获取或云提取。

既然我们已经弄清楚了这一点,接下来我们来看实际的获取技巧。

接近物理获取

在接触设备时,你可能需要考虑以下几点:

  • 一些制造商出厂时已将设备的引导加载程序完全或部分解锁。通常情况下,映像这些设备不会遇到问题(除非数据被加密)。

  • 一些制造商出厂时将设备的引导加载程序锁定,但官方允许用户解锁它们(例如,三星、摩托罗拉、SONY、Nexus 设备等)。如果用户解锁了引导加载程序,成功获取设备映像的可能性很高(除非采用了反取证技术)。

  • 在许多情况下,制造商和/或运营商会限制引导加载程序解锁。有些情况下,可以绕过这些限制,特别是在某些型号上(设备的芯片组和制造商很重要)。一些芯片组制造商和设备 OEM 厂商有后门(用于服务级别的访问),而有些可以被利用来绕过引导加载程序锁,并启动自定义恢复模式(这并不意味着你能永久刷入一个自定义恢复)。这些设备通常也比较容易获得。

  • 最后,一些设备真的很难获取。锁定的引导加载程序、没有服务模式以及没有已知的漏洞使它们难以获取。你仍然可以尝试实时成像或其他替代获取方法。

如果你正在使用 Cellebrite UFED,可能会觉得安装他们的免费移动应用程序(到你的智能手机或平板电脑上)非常有用,以帮助你识别特定移动设备的提取功能。UFED Phone Detective 可用于 iOS 和 Android 设备,并提供一种简便的方式来查看 Cellebrite UFED 4PC/Touch/Classic 支持的移动设备的法医提取和解码功能,以及连接方式。虽然该应用程序可以免费下载,但你需要提供 My Cellebrite 账户信息才能登录。如果你没有 My Cellebrite 账户,可以在应用程序内免费注册:

接近物理获取

UFED Phone Detective 移动应用程序通过允许专家按厂商名称、移动设备名称或型号查询移动设备,补充了 Cellebrite 的移动提取套件。一旦设备被识别,应用程序将显示特定的支持信息,包括是否可以绕过设备的锁定。

注意

有关 UFED Phone Detective 的更多信息以及下载链接,请访问 www.cellebrite.com/

我们为你整理了一份简短的获取操作指南,方便你参考。

加密状态 – 数据分区是否加密?

:如果你正在成像三星设备,并且该设备运行 Android 4.0 到 4.4,或者你正在成像运行 Android 5 或更高版本的三星或非三星设备,请尝试实时成像。为了执行实时成像,你需要使用正确的密码解锁设备(市场上有很多解决方案)。如果你正在成像一部较旧的 非三星 设备,并且该设备运行的是 Android 4.4 或更早版本,请继续进行物理获取,因为你有很大机会恢复解密密钥。

:继续进行物理获取。

服务模式可用

在尝试其他获取方法之前,我们先来看看设备是否有可用的服务后门。

LG 智能手机

LG 智能手机配备了一种名为 LAF 的专有服务访问模式。在 LG 智能手机中,这种专有模式完全取代了芯片制造商(如高通或联发科)提供的类似低级访问模式。这带来了一个重要的后果。如果你正在对 LG 智能手机进行成像,请确保使用 LG 服务模式,而不是尝试将设备启动到高通 9006 或 MTK 服务模式。

LG 服务模式支持双向操作(既能读取数据,也能将数据写入原始物理存储)。因此,无论引导加载程序是否被锁定,都可以对完整的物理存储进行映像备份。LG 使用专有协议,因此你的采集工具必须支持此协议才能读取数据。同时,你还需要安装最新的 LG 驱动程序。支持 LAF 协议的工具包括 Cellebrite UFED 和 Oxygen Forensic Suite。更多关于此方法的内容将在LG 智能手机 LAF 模式一节中讨论。

基于高通参考平台的设备

许多厂商基于芯片制造商提供的参考平台构建设备。使用参考平台大大简化了开发过程。制造商会收到一个完整的、可直接使用的 PCB 设计,设计中已预选好组件和驱动程序。除此之外,一些参考平台还暴露了服务访问后门。全球最大的芯片制造商之一高通提供的参考平台包括几种服务模式。其中一种模式,HS-USB 9006模式 9006,提供对设备分区的系统级访问,无论设备的引导加载程序是否被锁定。

一般来说,切换到这种模式的方法是:关闭设备,使用 USB 数据线将设备连接到电脑,同时按住音量加键,再按住音量加键的同时开机(不同设备进入模式 9006 的具体方法可能略有不同)。一旦设备启动到服务模式,Windows 的磁盘管理控制台将显示可用分区的列表。请注意,必须在专家的计算机上安装专用的高通下载模式 HS-USB 9006 驱动程序,才能让分区显示出来。一旦看到分区列表,就可以使用你选择的移动取证工具对这些分区进行映像备份。某些闪存映像工具也可以使用。有关这种方法的更多内容将在高通 9006 模式一节中讨论。

基于联发科的中国手机

另一个提供特殊服务后门的芯片制造商是联发科MTK)。MTK 芯片广泛应用于中国大多数智能手机厂商,包括小米、魅族、OPPO、Vivo、一加、Cubot、Zoppo、中兴、No. 1 等,以及数百个 B 品牌和 C 品牌。与高通不同,联发科仅在引导加载程序解锁的情况下,才允许通过该服务模式访问数据。许多中国厂商出厂时将智能手机的引导加载程序设置为解锁,通常是为了便于维修,这也使得移动取证工具的用户能够通过利用 MTK 服务模式轻松获取这些设备的数据。书中的后续章节将讨论一种工具,氧气取证工具包(Oxygen Forensic Toolkit)。有关此方法的更多内容将在联发科智能手机一节中讨论。

引导加载程序状态

引导加载程序是否锁定? 这是在获取安卓设备时的一个重要问题。主要品牌的安卓设备都配备了锁定的引导加载程序。一些厂商允许在某些型号和运营商组合下解锁引导加载程序,而其他厂商(型号和运营商)则选择永久锁定引导加载程序。

大多数在美国和欧洲销售的安卓设备都配备了锁定的引导加载程序;而在中国,情况恰恰相反。一些设备配备了半锁定的引导加载程序,允许引导(但不能永久刷写)自定义引导镜像。如果你能够引导进入自定义恢复模式,你可能能够创建 Nandroid 备份或映像数据分区。然而,请注意,使用半解锁的引导加载程序引导进入自定义引导加载程序可能会(例如 InFocus m810t)或可能不会(例如 ASUS ZenPad S 8.0)触发安全重置。

Root 状态

设备是否已经 root? 与 iOS 越狱不同,root 设备并不是获取许多安卓设备映像的必要前提。设备是否已 root,只会影响你是否能够进行实时映像备份。然而,如果设备已经 root,你就可以直接进行实时映像备份,而不必先 root 设备,这可能不太稳定。

LG 智能手机的 LAF 模式

为了服务目的,LG 开发了一种低级协议,使 LG 智能手机即使在设备无法正常访问(变砖)的情况下,也能通过 USB 连接接受固件更新。最初该协议仅对授权服务中心开放,但该协议的详细信息以及实际的驱动程序和刷写工具很快就向公众开放,并进入了一些移动取证工具,如 Cellebrite UFED 和 Oxygen Forensic Suite(更多信息请参见《使用 Oxygen Forensic Suite 进行实时映像》部分)。

此服务模式(LAF 模式)通常通过关机、按住音量加键并通过 USB 线将设备连接到 PC 来激活。手机将自动启动进入下载模式,准备接受固件更新:

LG 智能手机的 LAF 模式

在此模式下,映像工具可以提取设备物理存储的完整物理映像。这是目前最干净、最简单、最具取证可靠性的数据获取方法之一。

使用此方法时,选择物理数据获取 | LG 安卓转储

LG 智能手机的 LAF 模式

系统将提示你下载并安装 LG 驱动程序,如下图所示:

LG 智能手机的 LAF 模式

驱动程序安装完成后,按照以下截图中的指示操作:

LG 智能手机的 LAF 模式

一旦 LG 设备连接完成,请等待 Windows 安装相应的驱动程序:

LG 智能手机的 LAF 模式

点击下一步

LG 智能手机的 LAF 模式

稍后,你将看到设备已连接:

LG 智能手机的 LAF 模式

点击 Next 开始成像:

LG 智能手机的 LAF 模式

一旦过程完成,你将得到一个单一的二进制文件(存储在你之前指定的路径中),该文件表示设备整个物理存储的转储。你将能够在 Oxygen Forensic Suite 或任何你选择的移动取证工具中打开并分析该转储。

MediaTek 智能手机

MediaTek 是一家中国制造商,为大量手机厂商提供高性价比的移动芯片组。MTK 芯片组主要用于低端和中端设备,广泛应用于 LG、SONY、HTC 等主要厂商生产的智能手机和平板电脑,以及无数的 B 品牌和 C 品牌制造商的设备中。

在中国大陆销售并且可以通过众多在线渠道购买的 C 品牌设备几乎总是配备 MTK 提供的某种芯片组。这些设备很少配有锁定的引导程序,因此可以通过 MTK 固件更新模式进行干净的获取。请注意,只有解锁了引导程序的设备才能通过此方法进行获取,因此像 SONY、HTC 或 LG 生产的引导程序锁定的设备是无法使用此方法的。

从技术上讲,MTK 服务模式通过将虚拟串口(COM)端口安装到系统中来工作。虽然有专门的 MTK 驱动程序,但实际上这些是用于虚拟 COM 端口的通用 Windows 驱动程序,并配有自定义的 .inf 文件。一旦安装了驱动程序,MTK 提供的 DLL 允许启动进入服务引导程序,读取设备信息,并提取存储内容。此方法可以访问 NAND 和 eMMC 内存。新型号需要更新版本的 MTK 服务 DLL 和引导程序。请注意,支持是针对整个 SoC(芯片组)系列添加的,而不是单个智能手机型号。

为了通过 MTK 物理成像提取设备,在 Oxygen Forensic Suite 中选择相应的选项:

MediaTek 智能手机

系统会提示你下载驱动程序并关闭设备:

MediaTek 智能手机

驱动程序安装完成后,打开设备并按照指示操作:

MediaTek 智能手机

一旦设备连接完成,你就可以继续提取其存储内容。

Qualcomm 引导程序漏洞

对于锁定引导程序、没有 root 权限并禁用了 ADB 调试选项的设备,物理获取选项有限。某些 Qualcomm 设备存在引导程序级漏洞,可以通过 Cellebrite UFED 等工具使用打补丁的引导程序镜像启动设备,从而允许工具提取设备镜像。

该漏洞基于在某些版本的 Qualcomm 引导加载程序中发现的关键安全漏洞,这些引导加载程序被多个 OEM 实现并用于 Qualcomm 参考设备。当在 fastboot 模式下处理启动命令时,受影响的内核引导加载程序不会验证设备的解锁状态或内核是否经过正确签名。如果设备使用受影响的内核,它可以在没有验证的情况下使用已修补的内核镜像启动。

专家可以利用此漏洞通过 fastboot 启动 Android 设备,并使用任意内核镜像,即使目标设备使用签名内核且引导加载程序被锁定。(来源:Fastboot 启动命令绕过签名验证 (CVE-2014-4325),详情见www.codeaurora.org/projects/security-advisories/fastboot-boot-command-bypasses-signature-verification-cve-2014-4325)。

引导加载程序漏洞是特定于设备的,并涉及使用专为目标设备构建的自定义引导镜像。手动为正在调查的特定设备构建已修补的引导镜像不可行,因为这需要高度的技能和大量的时间。Cellebrite 获取套件实现了多个设备的引导加载程序运行时漏洞。

引导加载程序攻击是有线的。它们不会在设备上写入任何内容,而是使用一个已修补的引导镜像,仅修改设备的易失性内存(RAM)内容,而不改变设备存储的内容。基于此原因,引导加载程序级别的获取是法医上可行的。

由于引导加载程序漏洞是特定于设备的,因此仅适用于某些设备(Cellebrite 声称支持大多数摩托罗拉 Android 设备、部分三星、Qualcomm 和 LG GSM 和 CDMA 设备)。没有通用的引导加载程序漏洞。使用引导加载程序漏洞时应小心,因为已知某些设备在启动进入自定义恢复模式时会清除数据分区。截至写作时,引导加载程序获取仅限于 Cellebrite UFED:

Qualcomm 引导加载程序漏洞

除了引导加载程序漏洞外,某些 Qualcomm 基础的设备还易受通过 Qualcomm 9006 模式进行的一些最干净的获取技术的影响。

Qualcomm 基础智能手机 – HS-USB 9006

该方法适用于基于最近 Qualcomm SoC 的某些智能手机和平板电脑。引导加载程序状态无关;即使设备的引导加载程序被锁定,也可以使用此方法成功成像。限制因素如下:能够将设备切换到 Qualcomm 下载模式 9006,并且具有特定设备所需的正确 Qualcomm HS-USB 9006 驱动程序。

该方法被认为是物理数据获取。它会返回整个 eMMC 存储或仅数据分区的完整转储。完整的原始转储会被捕获,包括未分配的空间,这使得恢复已删除的文件成为可能。此方法干净、安全、法医上是可靠的(它在设备中不会留下任何痕迹),且不需要特定的技术专业知识。

加密

在此模式下,您将捕获整个 eMMC 卡或选定分区的原始映像。如果数据分区已加密,系统不会提示您输入密码。数据将以加密状态被捕获。即使您知道正确的密码,之后您也可能无法解密该数据。解密加密数据的能力取决于多个因素,如设备运行的 Android 版本、最初发布时的 Android 版本以及设备的制造商。例如,三星在某些版本的 Android 中使用了特别强的定制加密。最初发布时运行 Android 5.x Lollipop 的设备使用了类似强度的加密方案。发布时运行 Android 4.2 Jellybean 的设备通常可以解密。

高通 9006 模式

高通因向 OEM 厂商提供多个参考平台而闻名。制造商可以使用这些平台,包括低级固件和驱动程序,快速构建智能手机和平板电脑,而无需花费太多时间进行研究和开发。

由于高通的参考平台被多家不同厂商应用于各种设备,因此适用于某个参考平台的安全漏洞通常也能被应用于基于同一平台构建的其他设备。例如,Cellebrite 开发了引导加载程序级别的漏洞,使该公司的获取工具 UFED 能够成功地从锁定引导加载程序的智能手机中获取信息。值得注意的是,这种方法适用于不同平台的设备(如 Android、Windows Phone 8.x 和 Windows 10 Mobile),无论设备的引导加载程序是否被锁定。

还有一种低级漏洞存在,允许通过使用高通下载模式(固件恢复模式 9006、高通 MMC 存储(Diag 9006)、高通 HS-USB 诊断 9006、HS-USB QDLoader 9006、高通 HS-USB 9006,或简单地称为 qhsusb 9006,具体取决于设备)下载设备内部存储(eMMC)的全部内容。如果设备的引导加载程序损坏,则该模式会自动启动。在许多设备上,通过关闭设备并在通过 USB 端口连接到 PC 时按住音量下键,手动进入此模式是可能的。在某些设备上,可能需要不同的操作步骤。例如,LG G Flex 2 需要在连接到 PC 时按住音量加键。

提示

9006 诊断模式与高通 HS-USB QDLoader 9008 模式之间存在显著差异。虽然使用高通 QPST 可以轻松将设备切换到 9008 模式,但需要额外的文件才能引导到 9006 模式。无法从 9008 模式影像设备。更多信息请访问forum.xda-developers.com/general/help/how-to-enter-qualcomm-mmc-storage-diag-t3253478。还要注意,有时候使用 QPST 的 eMMC 软件下载工具可以通过使用额外的文件将设备从 9008 转为 9006。

通过连接兼容设备进入高通下载模式 9006 并使用特定软件,可能可以在不获取设备 root 权限或解锁其引导加载程序的情况下获取手机 eMMC 芯片的全部内容。请注意,对于一些制造商(如 HTC、LG、Motorola、Sony 等),这种技术可能不起作用,因为他们可能会调整参考平台以移除用户对 9006 模式的访问权限。

在高通下载模式 9006 中(假设已安装正确的驱动程序并且您使用的是 Windows PC),可用分区可能会显示在Windows 磁盘管理控制台中。如果是这种情况,获取设备内容就像使用影像工具(如HDD Raw Copy Tool)(hddguru.com/software/HDD-Raw-Copy-Tool/)一样简单。

但是,存在特定于高通的软件,允许您识别和获取单个分区的内容。

通过高通下载模式 9006 进行影像工具

有各种工具可通过诊断端口编程/读取设备。其中之一是eMMC 原始工具。该工具由 Albie Cervice 开发,并可在www.na2nkhape.com/2015/02/download-emmc-raw-tool.html免费下载。

提示

视频:关于如何使用 eMMC 原始工具的快速视频教程,请访问www.youtube.com/watch?v=0ESQqVqCODY(视频由www.unbrickandroid.com/提供)。

该工具可以通过低级固件恢复模式高通 HS-USB 9006 读取设备的 eMMC 存储内容。或者,它可以将安卓智能手机作为通用大容量存储设备挂载。

eMMC 原始工具的功能包括以下内容:

  • 读取完整镜像

  • 从设备读取分区结构

  • 从文件读取分区结构

  • 从设备读取选定分区

  • 按地址读取

请注意,eMMC 原始工具是一个强大的工具,也可以用于向安卓设备写入。这个工具也被用来恢复(砖式)带有损坏引导加载程序设备。毋需多言,在被影像的手机上写入任何内容并非我们的意图。

要使用 eMMC 原始工具,请执行以下步骤:

  1. 从开发者网站下载并解压工具(www.na2nkhape.com/2015/02/download-emmc-raw-tool.html)或从 4pda.ru/forum/index.php?showtopic=655617 下载。

  2. 下载并解压 Qualcomm 驱动程序(必须安装适用于 Qualcomm 9006 模式的正确驱动程序)。

  3. 安装适合你 Windows 版本的正确驱动程序。

  4. 将设备切换到 Qualcomm 下载模式 9006。这是一个不确定的部分。你可以尝试以下顺序:

    1. 关闭设备(等待它完全关机)。

    2. 按住硬件音量减小键(某些设备上,按住音量增大键)。

    3. 在按住按键的同时,通过 USB 电缆将设备连接到计算机。

    4. 等待直到设备显示下载模式更新固件 0%

    5. 放开按键,等待驱动程序安装完成。

  5. 如果设备没有切换到 9006 模式,你可以尝试查找正确的顺序。

  6. 此时,Windows 将尝试安装 Qualcomm HS-USB 9006 驱动程序。当提示时,选择正确的驱动程序并等待安装完成。

  7. 最后,运行 eMMC RAW 工具,如下图所示:

通过 Qualcomm 下载模式 9006 进行成像的工具

为了对设备进行成像,请执行以下步骤:

  1. 点击刷新

  2. 物理驱动器列表将会显示。选择驱动器框中的合适设备。

  3. 点击读取分区结构。可用分区的列表将出现在主窗口中。

  4. 通过点击窗口左上角的复选框,选择所有分区。

  5. 点击读取选定分区

或者,你也可以仅在第 4 步时选择USERDATADATASDCARD分区。这将只读取包含用户数据的单个分区的内容:

通过 Qualcomm 下载模式 9006 进行成像的工具

在 Qualcomm 9006 模式下成像安卓智能手机

例如,前面的截图中的USERDATA分区(分区号20)就是使用读取选定分区功能进行成像的正确分区。或者,完整的设备镜像可以通过使用读取完整镜像来读取。

就是这样,你已经成功地对设备进行了成像。现在可以继续进行实际恢复。如果这种方法对你无效(例如,手机不支持 Qualcomm HS-USB 9006 模式),你可以尝试使用其他方法进行成像。

使用自定义恢复工具

使用自定义恢复镜像 Android 设备的方式不止一种。第一种方法最为简单,只需进入自定义恢复(通过fastboot boot twrp.imgfastboot boot cwm.img)并使用屏幕上的控制按钮生成数据分区的 Nandroid 备份。第二种方法(通过dd命令)更为复杂,需要打开两个独立的终端窗口;不过,这种方法会返回数据分区的完整原始镜像。以下是这两种方法的简要对比:

  • Nandroid 备份:这种方法快速、简单,并且通过图形用户界面(基于触控或使用手机硬件按键控制)完成。它仅仅是导出文件系统;由于无法访问未分配空间,因此无法恢复已删除的文件。

  • 通过 dd 命令镜像:这种方法需要额外的工具和两个终端窗口。使用时需要更高的专业知识,并且返回数据分区的完整原始镜像,能完全访问未分配空间,从而可以恢复已删除的文件。

本书并不是关于 Root Android 或安装自定义恢复的内容。有关 Android 法医的推荐阅读,请参考本书末尾。

本章将简要介绍自定义恢复能做什么和不能做什么,以及使用自定义恢复镜像设备时的限制和风险。

提示

警告:如果设备的引导加载程序被锁定,解锁它可能(并且很可能)会导致完整的恢复出厂设置,从而完全丢失数据。只有在你的引导加载程序已经解锁,或者你确定设备能够在不清除数据的情况下启动自定义恢复时,才继续操作。

使用自定义恢复是有风险的。Android 平台高度碎片化。不同的制造商在其设备中采用不同的安全策略。进入自定义恢复可能成功,也可能失败,可能触发完整的恢复出厂设置,或者成功后触发完整的恢复出厂设置。因此,通常情况下,使用自定义恢复并不被认为是法医上可靠的设备镜像方法。

加密

即使知道正确的密码,自定义恢复也可能无法处理加密的分区。此外,如果数据分区被捕获时是加密的,你可能无法解密它——即便你知道密码。

以下是最近几个案例中的一些示例:

  • 摩托罗拉 Nexus 6(以及可能的其他 Nexus 设备):可以刷入或启动自定义恢复。然而,解锁引导加载程序会导致恢复出厂设置。

  • 摩托罗拉 Moto X (2014):一旦解锁引导加载程序,刷入或启动自定义恢复会成功(适用于 Android 4.4 至 6.0 所有版本)。解锁引导加载程序会导致恢复出厂设置。

  • SONY Xperia Z 系列:解锁引导加载程序会导致恢复出厂设置。之后,启动或刷入自定义恢复会成功。

  • ASUS MeMo Pad 7:无法解锁。尝试启动自定义恢复模式失败。

  • ASUS ZenPad S 8.0(所有版本):无法解锁引导程序。不过,可以通过漏洞启动自定义恢复模式(forum.xda-developers.com/android/development/zenpad-s-root-achieved-t3160422),并且不会产生不良后果(在所有固件版本上进行过测试,包括当前的 4.5.0 版本)。

  • ASUS ZenPhone:与 ZenPad S 相同的漏洞。

  • InFocus M810t:通过漏洞解锁引导程序是可能的;该漏洞本身不会触发数据擦除。即使引导程序被锁定,也可以启动自定义恢复模式。然而,启动自定义恢复会在下次重启时触发数据擦除。有趣的是,一旦进入自定义恢复模式,可以在数据擦除发生之前备份分区。

在分析设备时,你可以尝试安装或启动自定义恢复模式。两种流行的自定义恢复是ClockworkModCWM)(www.clockworkmod.com/)和Team Win Recovery ProjectTWRP)(teamw.in/Devices/)。

提示

重要:安装或启动自定义恢复模式需要设备的引导程序完全或部分解锁。部分解锁的引导程序可能允许启动自定义恢复模式;然而,系统可能会在此之后擦除数据分区。请小心操作!

自定义恢复不过是精简版的 Linux 操作系统引导程序。因此,自定义恢复是设备特定的,因为它们需要包含每个特定设备型号所需的驱动程序。因此,自定义恢复可以无缝绕过 Android 的标准安全措施,如访问限制(但不包括数据加密)。

通过自定义恢复模式进行成像 - 制作 Nandroid 备份

从技术上讲,没有什么阻止自定义恢复导出数据分区的原始镜像。目前,TWRP 和 CWM 都没有提供通过用户界面制作数据分区原始镜像的功能(但引导分区和系统分区可以作为原始镜像进行捕获)。因此,TWRP 和 CWM 的用户界面无法用于访问存储在未分配空间中的数据。

注意

重要:使用自定义恢复可以完整地导出数据分区的原始数据。然而,与制作 Nandroid 备份相比,这一过程要复杂得多。设备成像部分解释了如何通过自定义恢复模式进行 Android 设备的物理成像。

然而,使用自定义恢复界面是制作完整文件系统备份的一种可行方法,包括所有应用数据。

如果正在分析的设备有解锁的引导程序,你可以安装(或者更好的是,启动进入)自定义恢复模式。从那里,你可以轻松备份设备的整个数据分区:

  1. 如果未安装自定义恢复模式,从 TWRP 或 CWM 下载适合您设备的自定义恢复镜像。

  2. 将设备启动到引导加载程序(fastboot 模式):

    1. 关闭手机。

    2. 按住音量减键并按下电源按钮。

    3. 手机应启动到引导加载程序(fastboot 模式)。如果没有,请确定适合您的设备的引导加载程序(fastboot)启动方式,并按照该设备的具体说明操作。

  3. 获取 adb 和 fastboot 可执行文件。

  4. 将 fastboot 文件和自定义恢复镜像放入同一个文件夹中。在该文件夹中打开命令行。

  5. 下载并安装适用于正在调查的设备的 fastboot 驱动程序(驱动程序可以是针对制造商、设备或芯片组的,具体取决于型号)。

  6. 通过 USB 数据线将手机连接到 PC。

  7. 运行以下命令之一:

     fastboot boot twrp.img
    

    或者运行以下命令:

     fastboot boot cwm.img
    

    在这里,twrp.imgcwm.img 是 TWRP 或 CWM 恢复模式的文件名。使用正确的文件名,或者将下载的恢复镜像重命名为更短的文件名。

  8. 从自定义恢复模式备份数据分区(只需要数据分区)。确保目标位置是外部 SD 卡或 随时可用 (OTG) USB 驱动器。不要使用手机的内部存储来备份数据。

此时,您已成功获取设备的完整文件系统,形式为 Nandroid 备份

通过自定义恢复模式创建的 Nandroid 备份文件通常以 EXT4、F2FS 或 YAFFS TAR 镜像的形式保存。这些文件通常可以使用免费的归档工具如 7Zip 提取:

通过自定义恢复进行映像 - 制作 Nandroid 备份

TWRP Nandroid 备份生成的文件

7Zip 可以在不重命名或合并文件的情况下打开多卷备份。只需启动 7Zip 并打开 data.f2fs.win000 文件(或类似的文件)来从数据分区提取文件:

通过自定义恢复进行映像 - 制作 Nandroid 备份

TWRP 备份的内容

TWRP 可以创建 YAFFS 文件系统镜像。可以使用市场上众多取证工具之一,从 TWRP Nandroid 备份中提取文件。也有一个开源工具叫做 unyaffs,其源代码可以在 code.google.com/p/unyaffs/downloads/list 获取。

该工具的编译版本可以按如下方式使用:

unyaffs data.img

在这里,data.img 是 Nandroid 备份文件。

通过自定义恢复进行映像 – 通过 dd 进行物理映像

大多数流行的自定义恢复(如 TWRP 和 CWM)通过用户界面获取备份时,不能以原始模式映像完整的数据分区。为了能够调查未分配的空间,您可能需要将整个用户数据分区提取为原始镜像。

在未加密的 Android 设备中,提取未分配区域仅能通过直接访问存储来完成。Android 内建的安全措施阻止了从应用框架内部进行此类访问,导致无法使用任何用户级别的应用扫描未分配区域。需要 root 权限才能进行低级别的存储访问。

提示

警告:Root 设备是不安全的。它可能导致设备不稳定或无法访问,甚至可能会擦除设备。然而,dd 提取方法并不需要 root 设备。你只需要一个已刷入或已启动(推荐)的自定义恢复。自定义恢复是该操作系统的精简版,默认内置 root 权限。

这种高级物理获取方法使用 dd 命令对设备进行成像。dd 命令可以转储整个物理存储或任意数量的单独分区。对于数字取证,只需要数据分区。

为了通过 USB 接口将数据从 Android 设备传输到 PC,我们将使用 netcat 命令。

这包括以下前提条件:

  • 已解锁或半解锁的 bootloader(允许启动到自定义恢复模式):不需要 root 设备,因为自定义恢复已内置完整的 root 权限。

  • BusyBox:这通常与自定义恢复(TWRP 和 CWM)一起预装。要验证是否安装,请在进入自定义恢复模式后,输入任意 BusyBox 命令,如 busybox nc

  • Android 调试桥(ADB:需要此工具才能在 Android 设备上运行 shell 命令。

  • Fastboot:这是 ADB 包的一部分。应该安装在你的 PC 上。

  • ADB 驱动:ADB 驱动是设备特定的。必须安装这些驱动,才能使此获取方法正常工作。

安装并配置好所有必要的工具后,执行以下步骤:

  1. 确定你 Android 设备上用户数据分区的名称。如果你无法识别数据分区,那么你将需要对整个设备(物理存储)进行成像。

  2. 验证 bootloader 是否已解锁或半解锁(允许你在不清除数据的情况下启动到自定义恢复模式)。

  3. 将手机启动到恢复模式。如果设备已关闭,通过按住音量减键并开机进入恢复模式。如果设备已开机,并且你已建立 ADB 连接,使用 adb -d reboot recovery 来重新启动进入恢复模式。

  4. 将设备通过 USB 数据线连接到计算机。

  5. 通过运行 fastboot devices 来确保 fastboot 正常工作。应显示设备列表。如果为空字符串,说明有问题。

    注意

    注意: 某些设备需要在命令行中指定正确的厂商 ID。例如,要将联想 ZUK 启动到自定义恢复模式,可以使用 fastboot -i 0x2b4c boot recovery.img。正确的厂商 ID 通常可以在网上找到。此外,在某些情况下,fastboot devices 返回空白,但实际引导到自定义恢复模式是有效的。

  6. 使用以下命令将设备引导到自定义恢复模式:

     fastboot boot recovery.img
    

    这里,recovery.img 是与正在获取的设备相关的自定义恢复镜像。

  7. 确保 Netcat 在您的自定义恢复模式中正常工作,方法是运行 ADB shell(adb shell)并执行 busybox nc 命令。您可能需要配置计算机的防火墙,以允许连接到本地端口。

您现在已经准备好对设备进行镜像。以下步骤描述了如何使用 netcat 命令捕获数据分区的镜像。您将同时运行两个不同的 shell 会话:一个连接到设备,另一个连接到您的计算机。

镜像设备

运行 cmd.exe 或使用其他终端(例如,Cygwin)。这是第一个与 Android 设备交互的 shell 会话。运行 adb shell。默认情况下,您将获得 root 权限,因此不需要运行 su

启动另一个 cmd.exe 实例或您喜欢的终端。此会话将在您的计算机上打开,并用于接收来自 Android 设备的数据。导航到将接收用户分区的文件夹(cd c:\path)。确保您使用的是 NTFS 或 exFAT 格式的硬盘来接收数据;FAT32 格式的卷无法保存超过 4 GB 的镜像,而现在大多数手机的存储空间都超过了 4 GB。在此 shell 中,运行 adb forward tcp:5555 tcp:5555(如果需要,您可以使用其他端口号)。此命令使 ADB 可以通过端口 5555 使用 Netcat 进行通信。

现在,一旦连接建立,返回到第一个与您的手机连接的 shell。输入以下命令:

dd if=/dev/block/mmcblk0 | busybox nc -l -p 5555

此命令将 /dev/block/mmcblk0 的内容进行镜像,并通过端口 5555 使用 Netcat 通过 ADB 写入。

或者,您可以使用以下语法:

busybox nc -l -p 5555 -e busybox dd if=/dev/block/mmcblk0p12

此命令获取 mmcblk0p12 数据块。请注意,您需要找出正在获取设备的数据块名称。

最后,返回到第二个 shell(连接到您的计算机),并输入以下命令:

nc 127.0.0.1 5555 > image.raw

nc(Netcat)命令将第一个 shell 的输出保存到计算机上,通过端口 5555 进行传输。文件将存储在您启动第二个 shell 时所在的同一文件夹中。您可以通过 cd disk:\path 命令切换到其他文件夹。请注意,一些 Windows 文件夹(例如,C:\Program Files\ 及其子文件夹)没有写入权限。

如果一切顺利,窗口将在捕获镜像时冻结。处理完成后,您将能够在选择的取证工具中挂载新捕获的镜像。

注意

注意: 自定义恢复无法解密加密的设备。因此,如果数据分区已加密,您将获得一个加密的镜像,您可能无法在之后解密它。如果设备已加密,唯一的选择是执行实时成像(有关更多信息,请参考实时成像部分),这要求设备已获得 root 权限并安装了 BusyBox。

通过自定义恢复成像 Android 设备的更多信息:

NANDroid 备份

此获取方法适用于已 root 或安装了自定义恢复的智能手机和平板电脑。它同样适用于完全或部分解锁了引导加载程序的设备(允许专家启动设备进入自定义恢复模式)。

如果安装了自定义恢复,或者可以启动到自定义恢复,则可以使用另一种获取方法(通过dd命令),允许捕获数据分区的完整原始镜像(有关更多信息,请参考通过自定义恢复成像 - 通过 dd 进行物理成像部分)。dd 方法返回整个 eMMC 存储或仅数据分区的完整转储。Nandroid 备份包含数据分区的完整文件系统;未分配的空间不包括在内,这使得恢复已删除的文件变得不可能。此方法相对容易使用,但需要一定的技术专长。Nandroid 备份被视为法医上可靠的获取方法;然而,Nandroid 备份仍然包含比通过 ADB 获取的更多的信息。

与几乎所有其他智能手机操作系统不同,Android 系统不提供创建设备完整备份的功能。平台没有提供用于创建或恢复此类备份的原生工具。此外,平台在原生状态下甚至不允许第三方开发者制作此类备份工具,因为它们的使用需要较高的权限(root 权限)。

各个制造商实现了专有工具用于备份和恢复(例如,索尼的 Xperia 手机和平板电脑使用 Sony PC Companion)。然而,这些工具的使用者相对较少,因为(再次,与 iOS 不同)它们并不是执行设备上其他常规任务(如传输文件)所必需的。

创建和恢复完整文件系统备份的需求存在,特别是在那些喜欢尝试不同设备并希望在设备出现问题时能够将其恢复到先前工作状态的活跃 Android 用户中。为这些用户提供了完整的文件系统备份工具,但仅适用于已经 root 过的设备、具有自定义恢复模式的设备,或能够通过 fastboot 刷机的设备。

对某些 Android 设备进行分析的检查员有另一种方法来提取文件系统的完整镜像(但通常不是数据分区的原始转储),即通过生成 NANDroid 备份。NANDroid 备份包含在创建备份时选择的所有分区的文件系统完整镜像。可以通过将设备启动到自定义恢复模式,如 CWM 或 TWRP(可以通过发出 ADB 命令,或者如果USB 调试未启用,通过按住设备上的音量下键和电源键)并从菜单中选择相应的菜单项来生成 Nandroid 备份。

注意

注意: NANDroid 这个名称来源于NANDAndroid两个词。因此,正确的名称是NANDroid,但为了简便,经常将其写作Nandroid

是否需要解锁 bootloader?

尽管大多数来源表示,为了制作 Nandroid 备份,您需要 root 权限或解锁 bootloader(或两者都需要),但这并不完全正确。严格来说,制作 Nandroid 备份所需的唯一条件是自定义恢复模式,如 CWM 或 TWRP。确实,许多设备需要 root 权限才能安装自定义恢复模式,且必须解锁 bootloader 才能安装自定义恢复。然而,用户在安装自定义恢复后可以安全地重新锁定 bootloader,这不会影响生成 Nandroid 备份的能力。此外,许多设备即使 bootloader 被官方锁定,也可以安全地启动进入自定义恢复模式(通过fastboot boot recovery.img),而不是永久安装一个。对于移动取证来说,启动进入自定义恢复模式是一个更加干净且在取证上更为可靠的设备成像方法。

是否需要 root 权限?

与普遍看法相反,root 权限并不是制作 Nandroid 备份的绝对要求。为了生成 Nandroid 备份,您可以选择进入自定义恢复模式(root 状态无关紧要)或使用一个应用程序(需要 root 权限和 BusyBox 包)。

生成 Nandroid 备份

以下是制作 Nandroid 备份的两种方法:

  • 解锁或部分解锁的引导加载程序,特定设备的自定义恢复(例如,CWM 或 TWRP)可用:请注意,通常需要解锁引导加载程序才能安装自定义恢复。除此之外,某些设备必须先 root 才能安装自定义恢复。在调查过程中,通常无法解锁引导加载程序,因为此操作会启动数据分区的完全清除。然而,在安装自定义恢复后,引导加载程序可以重新锁定,因此从技术上讲,不需要解锁引导加载程序就可以通过自定义恢复制作 Nandroid 备份。为了通过自定义恢复制作 Nandroid 备份,设备的 root 状态并不重要。

  • 已 root 的设备,已安装 BusyBox,使用 Nandroid 备份应用:即使引导加载程序已解锁,你也可以使用 Nandroid 备份。为此,你将使用许多 Nandroid 备份应用中的一种。你可以将这样的应用通过旁加载方式安装到手机上。请注意,你可能需要安装 BusyBox(除非工具使用自己的一种数据分区映像机制)。使用这些应用需要 root 权限;然而,如果操作是通过自定义恢复执行的,则不需要 root 权限。

拥有自定义恢复,基本上是操作系统的独立版本,这有助于绕过大多数安全限制(除了加密)。如果你能启动进入自定义恢复(或者能够在不清除设备数据的情况下安装它),你可以轻松地转储整个 eMMC 存储的内容,或者将数据分区映像写入外部 SD 卡或 OTG 闪存驱动器(如果手机支持这些设备)。

在某些情况下,你可能会遇到重新锁定的引导加载程序(用户解锁引导加载程序,安装自定义恢复,然后重新锁定引导加载程序)。虽然一般来说这不是问题,但有些用户可能会用密码保护自定义恢复的访问权限。结合锁定的引导加载程序和密码保护的自定义恢复是非常难以破解的。

分析 Nandroid 备份

Nandroid 备份在不同的恢复之间是标准化的。Nandroid 是存储 Android 系统备份的事实标准格式。Nandroid 备份可以被像 Oxygen Forensic Suite(www.oxygen-forensic.com/en/compare)或 Belkasoft Evidence Center(版本 7.3 或更高版本)这样的取证工具解析和分析。

在 Oxygen Forensic Suite 中,Nandroid 备份可以通过Android 备份/映像 | Android 备份导入:

分析 Nandroid 备份

选择备份类型:

分析 Nandroid 备份

指定备份位置:

分析 Nandroid 备份

指定选项并点击完成。数据将被处理并导入分析套件:

分析 Nandroid 备份

完成该过程后,你将能够访问刚刚导入的备份中的信息:

分析 Nandroid 备份

实时成像

实时成像可能是获取加密设备时的最后手段。由于引导加载程序漏洞和自定义恢复无法解密加密分区,您可能需要使用正确的 PIN 码启动并解锁设备,以便访问加密的数据分区。

Android 设备的实时成像类似于 通过自定义恢复成像 – 通过 dd 进行物理成像 部分描述的过程。

带 Root 的实时成像(通过 dd)

实时成像被认为是一个相对不那么合规的取证方法,和使用自定义恢复或其他获取方法相比。这种方法需要已经 Root 的设备并安装了 BusyBox。一般来说,Root 一个 Android 设备并不总是安全或可行的。根据 Android 的版本和获取 Root 权限的方法,Root 可能会修改设备的引导映像和/或其系统与数据分区。安装 BusyBox 可能会修改系统分区,也可能不会。Root 设备和安装 BusyBox 也可能会改变用户数据分区的内容。随着 无系统根 技术的发展,现在可以在不修改系统分区的情况下获取 Root 权限并安装 BusyBox。

关于如何在 Android 设备上进行 Root 和安装 BusyBox 的教程广泛可见,这里不再赘述。

前提条件如下:

  • Root 权限:设备必须已获取 Root 权限。此获取方法不要求解锁引导加载程序。

  • BusyBox:必须在 Android 设备上安装该工具。

  • cmd.exe 或其他终端(例如,Cygwin)。

  • ADB 可执行文件:需要 Android 调试桥(adb.exe)。

  • ADB 驱动程序:必须安装与正在获取的设备相对应的 ADB 驱动程序。

  • USB 调试:必须在 Android 设备的 开发者选项中启用此功能。

一旦设备被 Root,你将使用两个 Shell——一个连接到 Android 设备,一个连接到计算机:

  1. 确定正在获取的数据分区的名称。如果无法确定数据分区,可以对整个设备(物理存储)进行成像。

  2. 打开并解锁设备。如果设备设置了密码,请输入密码。如果密码不清楚,请使用多种密码恢复技术之一来找回。

  3. 在 Android 开发者选项中启用 USB 调试

  4. 使用 USB 数据线将设备连接到计算机。解锁设备。

  5. 设备将提示授权调试接口。点击确定

  6. 在你的计算机上,打开命令行并输入adb devices。你的设备应出现在连接设备列表中。如果返回的列表为空,或者你的手机显示为离线状态,请排查 ADB 连接问题。

  7. 打开两个 Shell 中的第一个。这将是与正在成像的设备的连接。运行cmd.exe或打开另一个 Shell(例如,Cygwin)。输入adb shell后跟su。在设备上,如果提示,确认超级用户访问权限。

  8. 通过尝试列出 /data 来检查是否成功获得 root 权限。输入 ls /data。如果你能看到该目录的内容,则表示成功获取了 root 权限。如果没有,请排查 root 权限问题。

如果一切顺利,你已经准备好获取设备镜像。

启动另一个 cmd.exe 实例或你喜欢的终端。此会话作为连接计算机的 shell 打开,将用于接收来自 Android 设备的数据。导航到接收用户分区的文件夹(cd c:\path)。确保你使用的是 NTFS 或 exFAT 格式的硬盘来接收数据;FAT32 格式的磁盘将无法保存超过 4 GB 的镜像,这低于当今大多数手机的典型存储容量。在此 shell 中,运行 adb forward tcp:5555 tcp:5555(如有需要,你可以使用不同的端口号)。此命令使 ADB 通过 Netcat 在 5555 端口上进行通信。

现在,一旦建立连接,回到第一个 shell(连接到你的手机)。输入以下命令:

dd if=/dev/block/mmcblk0 | busybox nc -l -p 5555

此命令镜像 /dev/block/mmcblk0 的内容,并通过 ADB 端口 5555 使用 Netcat 写入数据。

或者,你可以使用以下语法:

busybox nc -l -p 5555 -e busybox dd if=/dev/block/mmcblk0p12

此命令获取mmcblk0p12数据块。请注意,你需要确定正在获取的设备上的数据块名称。

最后,回到第二个 shell(连接到你的计算机),并输入以下命令:

nc 127.0.0.1 5555 > image.raw

nc(Netcat)命令将第一个 shell 的输出通过端口 5555 保存到计算机中。文件将存储在你启动第二个 shell 的相同文件夹中。你可以通过 cd disk:\path 导航到正确的位置来更改此文件夹。请注意,某些 Windows 文件夹(例如 C:\Program Files\ 及其子文件夹)是不可写的。

如果一切顺利,窗口将冻结,直到镜像捕获完成。过程完成后,你将能够在你选择的取证工具中挂载新捕获的镜像。

注意

注意: 与之前通过自定义恢复模式进行的获取方法不同,Android 设备的实时镜像可以成功获取加密分区。加密数据将在传输过程中实时解密。

有关镜像 Android 设备的更多信息如下:

无需 root 的实时镜像(通过 ADB 备份)

在一些设备上,可能无法获得 root 权限。如果是这种情况,除了Google 帐号获取方法外,唯一剩下的镜像选项就是尝试进行 ADB 备份。此方法是 100% 逻辑获取;我们在此讨论它,因为它是所有其他方法失败时最后可用的获取方式。

重要的是要认识到这种方法的局限性。与 Apple iOS 或 BlackBerry 10 不同,非 root 设备上的 Android 备份仅提取非常有限的信息。应用程序开发人员可以在其应用的 Manifest 文件中禁用备份;ADB 将不会备份这些应用的数据。然而,如果没有其他获取选项,ADB 备份可能仍然比什么都没有要好。

这个过程的要求如下:

  • 启用USB 调试,或者解锁设备/绕过锁屏以启用USB 调试

  • 如果数据分区被加密,设备必须解锁(绕过锁屏是不够的)

  • 已安装并正常工作的 ADB

要开始对设备进行成像,请开启设备并等待其完全启动。解锁设备(或绕过锁屏),确保在开发者选项中启用了USB 调试

无需 root 进行实时成像(通过 ADB 备份)无需 root 进行实时成像(通过 ADB 备份)

接下来,将设备通过 USB 线连接到 PC。在安装了 ADB 的文件夹中启动cmd.exe。输入adb devices以验证连接。手机上会提示您授权来自连接 PC 的调试;点击确认提示。如果一切顺利,您应该在adb devices提示下看到设备列表:

无需 root 进行实时成像(通过 ADB 备份)

接下来,您将使用 ADB 备份命令。该命令的语法如下:

adb backup [-f ] [-apk|-noapk] [-shared|-noshared] [-all] [-system|nosystem] [<packages...>]</packages...>

如果您想备份设备的全部内容,请使用以下语法:

adb backup -all -f c:\android\backup.ab

在被成像的 Android 设备上,您将看到以下提示:

无需 root 进行实时成像(通过 ADB 备份)

点击备份我的数据,然后等待过程完成。

注意

注意:在某些设备上,如果数据分区被加密,即使您用正确的密码解锁设备,ADB 备份也可能无法工作。目前,尚无已知的解决方法。

您也可以使用 Oxygen Forensic Extractor 自动生成 ADB 备份:

无需 root 进行实时成像(通过 ADB 备份)

生成的backup.ab文件可以在市场上的许多移动取证套件中打开。例如,在 Oxygen Forensic Suite 中,使用以下顺序导入此备份:导入文件 | 导入 Android 备份/镜像 | 导入 Android 备份...

无需 root 进行实时成像(通过 ADB 备份)

导入完成后,您将看到类似以下截图的内容:

无需 root 进行实时成像(通过 ADB 备份)

使用 Oxygen Forensic Suite 进行实时成像

Oxygen Forensic Suite 提供了对多种 Android 设备进行实时镜像的功能。其获取方法包括从特定厂商的原始转储到对已 root 设备的物理获取,以及对没有 root 权限的 Android 设备的逻辑获取。对于许多设备型号,Oxygen Forensic Suite 可以完全绕过引导加载程序锁和屏幕锁。对于某些设备,该工具可以自动获取 root 权限。

对于 Android 设备的实时镜像,您将使用 Oxygen Forensic Extractor:

使用 Oxygen Forensic Suite 进行实时镜像

通过 USB 数据线连接设备。解锁并确保启用了ADB 调试

使用 Oxygen Forensic Suite 进行实时镜像

如果没有获得 root 权限,请在设备的开发者选项中启用USB 调试

使用 Oxygen Forensic Suite 进行实时镜像

设备连接到计算机后,请确保在设备屏幕上授权USB 调试

如果一切顺利,您将看到以下界面:

使用 Oxygen Forensic Suite 进行实时镜像

故障排除连接问题:在某些情况下,设备连接到 PC 后,USB 调试可能无法使用:

使用 Oxygen Forensic Suite 进行实时镜像

如果是这种情况,请通过从屏幕顶部下拉通知面板检查 USB 连接设置是否为除充电之外的选项。我们建议选择照片传输(PTP)选项:

使用 Oxygen Forensic Suite 进行实时镜像

在 Oxygen Forensic Extractor 中点击重新连接以进行重新尝试。

连接设备后,Oxygen Forensic Extractor 会检测设备是否已获得 root 权限。如果 Android 设备已经 root,设备将提示您允许 root 权限。确认提示:

使用 Oxygen Forensic Suite 进行实时镜像

如果 Android 设备没有 root 权限,Oxygen Forensic Extractor 将尝试多种不同的漏洞来获得 root 权限:

使用 Oxygen Forensic Suite 进行实时镜像

如果成功获得 root 权限,镜像过程将自动开始:

使用 Oxygen Forensic Suite 进行实时镜像

如果 Oxygen Forensic Extractor 无法获得 root 权限,则物理提取将失败。您可以尝试不同的提取方法,例如空中获取(有关更多信息,请参考 Google 帐户获取——空中获取 部分)或通过 ADB 备份(有关更多信息,请参考 无 root 的实时镜像(通过 ADB 备份) 部分):

使用 Oxygen Forensic Suite 进行实时镜像

Google 帐户获取——空中获取

Android 是一个 Google 操作系统。它 heavily 依赖于云服务,其中大部分由 Google 提供,因此 Android 设备不可避免地会在 Google 的服务器上留下痕迹。从 Google 的服务器提取信息是补充设备本身可用信息的好方法。虽然在其他所有采集方法失败时可以使用空中传输来获取数据,但它不限于获取 Android 设备数据。相反,获取 Google 账户的信息可以提供比单一 Android 智能手机更多的关于用户活动的深度洞察。

请注意,并非所有 Android 设备都预装 Google 移动服务;我们稍后会详细讨论这一点。特别是,Amazon 设备(如 Fire 平板电脑和 Amazon Fire Phone)没有预装任何 Google 服务。然而,最终用户可以稍后添加 Google 服务。

为什么是 Google 账户?

Android 的备份功能充其量是有限的。在 Android 世界中,云备份仍然是新兴的,并且(截至 Android 6.0)尚不完整。然而,相较于 Android 备份,许多有趣的数据可以直接从用户的 Google 账户中获取。

Google 以收集大量关于每个拥有 Google 账户的人的信息而著称。如果你能够通过用户的 Google 凭证登录,你将能够获取这些数据,而无需实际拥有 Android 设备。了解 Google 知道的关于嫌疑人的信息,对于调查可能至关重要。

Google 提供通过其服务 Google Takeout 提取一些数据的能力。不幸的是,Google Takeout 缺乏透明度,且没有提供完整的可用信息访问。数据存储在多个不同格式中,Google 通常会拒绝协助调查人员分析这些数据的请求。

Google 账户 - 里面有什么?

Google 提供多种服务,其中大多数是免费的。公司提供 Google 邮箱(Gmail)、Google Drive、无处不在的 Google 搜索、Google Chrome(带云同步)、Google 地图及其他几十项服务,这些服务可以通过单一 Google 账户在设备间自动同步。

Google 账户是关于用户在线行为和离线活动的单一信息聚合。Google 分析搜索查询和通讯内容,并推荐可以访问的地点和阅读的内容。Google 收集并维护全面的位置历史,存储在注册的桌面和移动设备上进行的所有 Google 搜索,同步 Chrome 标签、书签、密码和浏览历史,保留笔记,标注图片,同步联系人等,功能众多。

所有这些数据是由不同的服务收集并存储在 Google 服务器的不同地方。数据以多种不同格式存在,并且访问它们需要使用截然不同的协议。然而,这些数据的全部内容只需通过 Google 账户进行一次身份验证即可访问。

从 Google 账户提取数据时,你可以期待看到什么?几乎每个人都有 Gmail 账户,这意味着消息和联系人。Google Chrome 占据了几乎一半的网页请求量,这意味着标签、书签和浏览历史记录,以及网页表单和登录。Google 地图是一个重要的角色,Google Drive 提供几乎所有内容的云存储。以下是从 Google 账户获取数据时你可以期待看到的内容:

  • 用户资料

  • 位置历史记录(非常详细)

  • Gmail 消息和设置

  • 联系人和日历

  • 连接设备的信息

  • 请求访问的设备、应用和浏览器的信息

  • Google 广告设置(包括年龄、性别、兴趣等)

  • Google Keep 笔记

  • Google Photos(相册、检测到的人物、EXIF、位置信息等)

  • Hangouts 消息

  • Google Fit 数据

以下信息可以通过 Google Chrome 同步数据获得(Google Chrome 数据可能会额外受到密码保护):

  • 书签

  • 浏览历史记录

  • Chrome 同步的密码

  • Web 表单的自动填充数据

  • Google 搜索查询

  • YouTube 搜索查询

每条来自搜索和浏览历史记录的条目包含以下附加信息:

  • 原始 IP 地址

  • 浏览器数据

  • 页面过渡(打开的搜索结果)

  • 广告操作(跟踪点击和购买)

Google Takeout 不会导出搜索和浏览历史记录。

关于 Android 备份的一些话

云备份是 Android 新增的功能。第三方应用数据的自动备份仅在 Android 6.0 中提供。然而,即便是在早期版本的 Android 中,部分数据仍然会被导入云端并在用户用 Google 账户初始化新设备时恢复。特别地,我们已经看到以下数据:

  • 已安装的应用(仅来自 Google Play,没有关于侧载应用的数据)

  • 主机设置,包括壁纸、文件夹和图标

  • Google Calendar 设置

  • Wi-Fi 网络列表

  • Wi-Fi 密码

  • Gmail 设置

  • 显示设置

  • 语言和输入设置,包括 Google 键盘的自定义词典

  • 日期和时间设置(例如,12/24 小时制、时区等)

Android 6.0 引入了对云备份的支持,允许第三方应用进行自动备份和恢复:

关于 Android 备份的一些话

然而,与 iOS 和 Windows Phone 相比,Android 云备份仍然严重受限。虽然 Android 6.0 的预发行版本允许第三方应用选择退出数据备份(默认行为是所有未通过清单选择退出的应用都启用备份),但 Android 6.0 的正式版本并未保留这一变化。

Android 6.0 的最终版本使用了选择加入方法,允许应用程序开发者通过清单文件明确允许应用进行备份。默认行为是不进行数据备份。到目前为止,很少有应用程序使用此功能,包括 Google 自己的应用程序,它们并未使用 Android 6.0 的新备份功能,而是使用 Google Drive 来备份数据。

注意

注意:目前,WhatsApp 不使用 Android 6.0 提供的默认备份机制。相反,WhatsApp 提供了将内容直接备份到 Google Drive 的功能。WhatsApp 备份可以从 Google Drive 获取;然而,要解密备份,需要提取解密密钥,只有在设备已经 root 的情况下才能访问此密钥。Oxygen Forensic Suite 可以实现这一目标。

关于这个主题的更多信息,请参考 Ars Technica 的精彩文章:Android 6.0 拥有一个伟大的自动备份系统,但没有人使用(至少现在没有)arstechnica.com/gadgets/2015/10/android-6-0s-auto-backup-for-apps-perfect-data-backup-for-the-1-5/)。

用户在 Google Photos 空间中的图片也存储在云端。与 Google Drive 相比,Google Photos 服务包含更多信息:

  • 相册

  • 事件

  • 评论

  • 地理位置标签

  • 订阅

  • 查看计数器

  • 被标记的人物(面部)

某些数据(例如位置历史、仪表板项目和 Hangout 对话)可以在不让 Google 通过电子邮件提醒用户的情况下获取。

Google Takeout

在获取 Google 数据时,首选且显而易见的选择是使用 Google 自己的数据导出服务 Google Takeout。此服务可通过 takeout.google.com/settings/takeout 访问。

Google Takeout 允许用户下载他们的数据。然而,由于多种原因,Takeout 不是一个好的取证解决方案。Takeout 使用多种格式,如 OPML(RSS)、CSV、纯文本、JSON(地图数据的 GeoJSON 格式)、vCard、PDF 和 HTML 等:

Google Takeout

虽然 Google Takeout 导出了大量数据,但它未能提供一些重要的内容。Google Takeout 会在用户帐户中留下痕迹,并通过电子邮件提醒用户其数据已被访问。Google Takeout 生成的文件并不能立即使用,因为数据以多种格式存储,无法直接用于搜索和分析。

使用 Elcomsoft Cloud Explorer 获取和分析 Google 帐户

Google Takeout 不提供对某些数据的完全访问权限,包括存储的密码、连接设备上的搜索查询、Chrome 页面转换和浏览历史。此数据在 Google 的其他地方仍然可用,并可以手动提取。然而,手动提取可能既费时又费力。

为了自动化提取,您可以使用 Elcomsoft Cloud Explorer。该工具会验证 Google 账户并自动从 Google 服务器下载所有可用信息。内置查看器以人类可读的形式显示信息,并支持快速搜索和过滤。Elcomsoft Cloud Explorer 尝试最小化其在被获取账户中留下的痕迹,特别是在获取过程中不会触发电子邮件提醒。例如,该工具可以显示用户在启动搜索后点击的链接:

使用 Elcomsoft Cloud Explorer 获取和分析 Google 账户数据

Elcomsoft Cloud Explorer 为调查人员提供访问 Google 账户的权限,并允许下载所有可用信息。与 Google Takeout 相比,该工具留下的痕迹更少,但拉取的数据更多:

使用 Elcomsoft Cloud Explorer 获取和分析 Google 账户数据

请注意,如果有人从不同的设备或 IP 地址访问用户的 Google 账户,Google 可能会提醒用户。虽然使用 Google Takeout 一定会触发此类提醒,但使用 Elcomsoft Cloud Explorer 可以减少(但无法完全消除)这种可能性。目前,我们还不清楚哪些数据类型可能会触发此类提醒。请注意这种可能性。

您可以提取以下内容:

  • 用户资料

  • 仪表盘

  • 位置历史

  • Hangouts 消息

  • 联系人(包括来自其他设备的同步联系人)

  • Google 照片,包括 EXIF 数据

  • Google Keep 笔记

  • 搜索历史和页面转换

  • Google Chrome 数据(书签、表单、存储的凭证和所有同步设备的页面转换)

提示

Chrome 同步数据可能受到额外密码的保护。如果您输入正确的密码,Elcomsoft Cloud Explorer 可以解密数据。

  • 日历

Elcomsoft Cloud Explorer 包括一个内置查看器,用于查看 Google 账户中所有可用的数据格式,包括用于同步密码的内置查看器:

使用 Elcomsoft Cloud Explorer 获取和分析 Google 账户数据

Elcomsoft Phone Viewer:查看存储的密码

双因素认证

一些 Google 账户可能受到双因素认证的保护,要求专家在提供用户的 Google ID 和密码之外,还需输入额外的验证码。如果启用了双因素认证,在使用 Google Takeout 或 Elcomsoft Cloud Explorer 时,会提示您输入额外的六位数验证码。

用户提醒

需要意识到,Google 会通过向注册的电子邮件地址发送邮件,通知用户获取了 Takeout 数据。这只有在使用 Google Takeout 时才会发生。如果你使用 Elcomsoft Cloud Explorer,则不会触发警报,并且不会在用户的 Google 帐户中留下痕迹(这可能在未来有所改变,但目前是这样)。请注意,在一些少见的情况下,访问某些类型的数据仍然可能会触发 Google 的通知。目前,我们尚不清楚具体是什么触发了这个通知。可以将其视为与云数据获取相关的风险。

查看、搜索和分析数据

在使用 Google Takeout 时,准备好面对许多繁琐的数据格式。另一方面,Elcomsoft Cloud Explorer 会自动解码这些数据格式。该工具将数据以人类可读的形式显示,允许查看和分析从嫌疑人的 Google 帐户中获取的信息:

查看、搜索和分析数据

Elcomsoft Phone Viewer:查看和分析信息

内置查看器识别 Google 使用的数据格式,并可在 Google 帐户中使用。数据会被解析并自动显示。该查看器提供即时筛选和快速搜索。要定位联系人、消息或身份验证凭据(登录名和密码),只需在搜索框中输入部分关键词。

总结

在本章中,我们回顾了执行各种 Android 设备获取的工具、方法和实际步骤。我们介绍了通过设备服务模式进行的低级获取技术,并讨论了通过 root 漏洞和引导加载程序级漏洞进行的物理获取。我们还讲解了逻辑获取,并讨论了其在 Android 平台上的局限性。在下一章中,我们将转向另一种移动平台,学习适用于 Apple iOS 的获取技术。

第五章:iOS – 介绍与物理获取

苹果于 2007 年 1 月发布了第一代 iPhone。从那时起,全球智能手机市场再也没有回到过去。

随着安卓设备的崛起,iOS 手机的市场份额多年来稳步下降。据www.idc.com/prodserv/smartphone-os-market-share.jsp数据显示,到 2015 年第二季度,iPhone 约占所有智能手机销量的 14%,其余市场则由安卓系统主导。

从绝对数量上来看,仍然有很多旧款 iOS 设备。仅在 2015 年第一季度,就售出了大约 7440 万部 iPhone。

在美国,iPhone 在 2015 年第三季度占据了 35.58%的用户基数(来源:bgr.com/2015/10/01/iphone-market-share-q3-2015-android/)。在美国使用如此多的 iOS 智能手机的情况下,对 iOS 取证的需求依然强劲。

本章将讨论从 iOS 设备获取信息的可选方法。我们还将详细讨论物理获取,介绍执行物理获取所需的工具和实际步骤。本章将涵盖以下内容:

  • 苹果 iOS 的安全隐患及其如何影响可用的获取选项

  • 苹果硬件的不同代际,以及传统的 32 位设备和现代的 64 位设备之间的区别

  • 越狱的必要性

  • 不同的 iOS 获取方法以及何时使用它们

  • 物理获取的详细介绍——工具、技术和实际步骤

iOS 取证 – 介绍

不同的设备需要不同的获取技术。不同版本的 iOS 系统需要不同的获取路径,每个版本都有其独特的攻击向量。在苹果的生态系统中,我们几乎看不到如此广泛的设备种类和高度定制化的操作系统版本(每个版本都有其自身的漏洞),但仍然有许多设备可供使用。

苹果硬件的不同代际

iOS 是一个封闭的操作系统,只支持苹果制造的硬件。因此,我们不需要处理来自数十家不同制造商和数千个型号的设备。到 2015 年第二季度,苹果已经发布了十款 iPhone、五款 iPod Touch、六款全尺寸 iPad 和三款 iPad mini。

虽然可以在en.wikipedia.org/wiki/List_of_iOS_devices查看苹果硬件的一般信息和最新规格,但官方规格中没有提到的几点内容可能会影响设备对物理获取的易受攻击性。

早期的苹果设备在受信启动(Trusted Boot)上存在漏洞,允许攻击者在 DFU 模式下绕过签名验证。由于签名验证代码位于设备的只读存储器中,苹果永远无法修补已存在设备中的这个漏洞。这个漏洞让移动取证专家能够创建工具,用于无条件、始终有效的物理获取易受攻击的 iOS 设备(例如,Elcomsoft iOS 取证工具包,网址:www.elcomsoft.com/eift.html)。

提示

不管 iOS 版本和越狱状态如何,iPhone 3G、3GS 和 4;第一代至第四代 iPod Touch;以及原版 iPad,都可以进行无条件的物理获取。

在新一代硬件中,苹果修复了这个漏洞,使得物理获取过程变得更加复杂。

因此,使用 32 位处理器的设备,包括 iPhone 4S、iPhone 5、iPhone 5C、iPad 2+、iPad Mini 和第五代 iPod Touch,只有在设备越狱(无论是由用户还是调查员越狱,如果密码已知)后,才能进行获取。

那么,使用 64 位芯片组的苹果最新一代设备怎么样?所有 64 位苹果设备,如 iPhone 5S、iPhone 6 和 iPhone 6 Plus;iPad 2 及更新版;iPad Air 和 Air 2;以及 iPad Mini 2 和 3,都可以通过 Elcomsoft iOS 取证工具包进行物理获取。获取过程需要越狱的设备;设备的密码必须已知,并且必须在设备的安全性设置中移除,才能进行获取。

你有多大可能遇到 32 位的苹果设备?虽然没有关于每一代设备仍在使用的直接统计数据,但我们可以通过查看官方的 iOS 版本统计数据来估算这些数字。虽然苹果以提供最新 iOS 更新并对旧版本进行更新而著称,但这些设备在接受更新时有着有限的能力和时间框架。因此,以 iPhone 4 为例,支持的最新 iOS 版本是 iOS 7.1.2;而所有更新的设备都支持 iOS 8。

到 2016 年 2 月,苹果声称(developer.apple.com/support/appstore/)约 76%的用户已经升级到 iOS 9。大约 17%的苹果用户使用 iOS 8,而早期版本只占苹果用户基础的 7%。

在硬件方面,这意味着早期的设备,如 iPhone、iPhone 3G 和 3GS,只有少量的代表性(市场份额为 2%)。由于 iPhone 4 支持 iOS 7.x,因此它可以被视为 7%组的一部分(使用 iOS 7)。然而,大多数 iPhone 都在使用 iOS 9(76%)或 iOS 8(17%),这意味着它们是 iPhone 4S、5、5C、5S、6 和 6 Plus。

是否需要越狱?

由于物理获取需要对数据分区进行低级别访问,物理获取仅在越狱的 iOS 设备上可行。其他获取方法,例如,逻辑获取和空中获取,则不需要越狱。

地理位置相关信息

iOS 设备配备蜂窝模块,定期收集和存储地理位置相关信息,这已不是什么新闻。iOS 设备能够捕捉到附近蜂窝基站和 Wi-Fi 接入点的信息,即使设备未连接到它们。这些信息以明文未加密的形式存储在 cache_encryptedA.db 文件中。该文件会保留最多 45 天的蜂窝基站和 Wi-Fi 网络的追踪信息。Apple 官方声明称:

iPhone 并不会记录你的位置信息。相反,它会维护一个包含你当前所在地周围 Wi-Fi 热点和蜂窝基站的数据库,其中一些可能位于距离你的 iPhone 一百多英里的地方,帮助你的 iPhone 在请求时迅速且准确地计算出其位置。仅使用 GPS 卫星数据计算手机位置可能需要几分钟的时间。iPhone 可以通过利用 Wi-Fi 热点和蜂窝基站数据,快速找到 GPS 卫星,甚至在 GPS 无法使用时(例如在室内或地下室),仅使用 Wi-Fi 热点和蜂窝基站数据就能三角定位出其位置,从而将定位时间缩短到仅几秒钟。这些计算在 iPhone 上实时执行,使用由数千万部 iPhone 汇集的 Wi-Fi 热点和蜂窝基站数据的众包数据库,这些数据通过匿名加密的方式发送给 Apple,包含了周围 Wi-Fi 热点和蜂窝基站的地理标记位置。

值得注意的是,cache_encryptedA.db 文件不会存储在设备的备份中,无论是云备份还是通过 iTunes 创建的备份。由于 Apple iOS 中没有用户访问系统文件的权限,因此必须越狱才能提取该文件。当然,cache_encryptedA.db 文件始终会作为物理获取过程的一部分被提取。移动取证工具(例如,Oxygen Forensic Toolkit)可以解析该文件,并显示用户的追踪信息,如下图所示:

地理位置相关信息地理位置相关信息

地理位置相关信息

提取地理位置相关信息是物理获取相较于逻辑提取的主要优势之一。如果特定设备无法进行物理获取,在需要访问嫌疑人位置历史的情况下,尝试越狱并手动提取 cache_encryptedA.db 文件将是值得的努力。

其他的地理位置历史来源也可能是可用的,包括照片 EXIF 标签和应用数据(如果启用了地理定位并允许由用户提供)。

这些信息存储在哪里?

显然,手机本身被视为数据的主要来源,这也是理所当然的。然而,如果手机被锁定且密码未知呢?再者,如果你没有手机呢?

智能手机收集的信息存储在多个地方,并且可以从中提取。Apple 手机可以通过 iTunes 将数据备份到 PC,或通过 Wi-Fi 将数据备份到 Apple 自有的云服务(iCloud/iCloud Drive)。因此,你可能正在处理一组备份文件(可能有密码,也可能没有),或者你仅拥有一台没有任何备份文件的计算机,但它曾用于与 iCloud 同步。

有时你可能会拥有一切:一部手机、一组离线备份和一台与 iCloud 同步的计算机。但更多的时候,你可能需要立即获取信息,或者 越快越好。在最短时间内获取尽可能多的信息的最佳路线是什么?答案取决于你手中到底有什么。

iOS 采集方法概述

虽然有多种方法可以帮助提取移动设备的内容,但选择哪种方法通常取决于你拥有的工具。你有一部可用的 iPhone 吗?你可以尝试物理采集,但前提是设备在兼容性矩阵范围内。你是否有访问与手机同步过的计算机?搜索移动备份。如果你能找到 iTunes 备份,可以使用逻辑采集来破解备份并提取信息。那台计算机是否用于与 iCloud 同步?查找 iCloud 身份验证令牌。如果找到,可以利用该令牌绕过登录密码直接连接到用户的 iCloud 账户。你是否知道用户的 Apple ID、BlackBerry ID 或 Windows Live 账户和密码?云取证可以帮助你从云端下载数据。

选择采集方法时,请参考以下表格:

我拥有... 物理采集 逻辑采集(备份分析) 云取证
物理设备(iPhone、iPad 或 iPod Touch) 是* 可能 可能
与手机/平板电脑同步过的计算机(或信任过的设备) 不适用 不适用 可能
iOS 设备及与其同步(或信任)的计算机 不适用 可能***** 可能
iTunes 备份 不适用 是** 可能
Apple ID 登录和密码 不适用 不适用 是***
iCloud 身份验证令牌 不适用 不适用 是****

物理采集仅适用于特定设备。请参阅 第六章,iOS 逻辑与云采集* 以获取详细的兼容性矩阵。

**某些备份可能受到复杂长密码的保护。对于受密码保护的备份,没有保证恢复时间框架或成功恢复密码的保证。

***Apple 的双因素认证使事情变得稍微复杂了一些。如果某个 Apple ID 启用了双因素认证,则需要访问次级认证单元(例如受信设备、恢复密钥或应用程序特定密码)。Microsoft 采用类似的双因素认证方法。目前,Elcomsoft 产品仅支持 Apple 设备的双因素认证。

**认证令牌可能会过期(具体取决于 iOS 版本)。它们的确切寿命目前尚不清楚。虽然我们在使用 ATEX 工具从控制面板提取的一些令牌在一小时内过期(仅适用于 iOS 8.x 的云备份),但在其他情况下我们并未遇到这种情况。我们正在进行广泛的测试以了解更多。值得注意的是,云文件的认证令牌寿命更长。iOS 9 将云备份转移到 iCloud Drive;目前,其认证令牌没有过期日期(或拥有非常长的生命周期)。最后,当用户更改账户密码或明确从某台计算机上退出云端时,认证令牌将失效。

*****如果你拥有一台与设备同步过的计算机和该 iOS 设备本身,你或许可以提取解密密钥并强制设备进行备份,甚至无需知道密码。然而,这只有在 iOS 设备在上次与计算机同步后没有重新启动的情况下才可能实现。有趣的是,即使 iOS 设备上没有启用自动同步,当你将设备插入时,它仍会提示是否信任该计算机。如果答案是,则会创建一对加密密钥(在设备上和计算机上)。

iOS 获取方法对比

在不太可能的情况下,如果你拥有物理设备、其离线备份副本以及用户的 Apple ID/密码(或从用户 PC 收集的二进制认证令牌),你应该选择哪种获取方法?

答案取决于你需要数据的速度,以及是否需要访问已删除的文件和钥匙串。物理获取是迄今为止最好的获取方法——如果你的设备受到支持的话。云获取可以返回当前和过去的数据,而离线备份则是最容易(如果没有密码保护)或最慢(如果有密码保护)恢复的数据。

不同的获取方法彼此之间提供不同的优点。

对于 iOS 设备,物理获取是首选方法(请参考下一章中的兼容性矩阵部分)。物理获取提供以下优点:

  • 访问存储在移动设备中的完整信息(如果已知或恢复了密码)

  • 保证的时间范围(如果已知密码或使用了四位数密码)

  • 极高的获取速度

  • 潜在访问某些已删除数据(例如,联系人和消息),这些数据存储在 SQLite 数据库中

  • 访问钥匙串信息(如果知道密码或能够恢复)

  • 访问最多 45 天的地理位置跟踪数据

iOS 设备的逻辑获取涉及分析由 Apple iTunes 生成的离线备份。逻辑获取具有以下优点:

  • 访问存储在移动设备中的大多数信息

  • 密码保护备份没有保证的恢复时间

  • 可能访问存储在 SQLite 数据库中的某些删除数据(例如,联系人和消息)

  • 如果通过物理获取从设备提取了解密密钥,则可以访问钥匙串信息

  • 钥匙串数据可以从密码保护的备份中恢复

  • 长且复杂的密码可能完全阻止恢复

云获取适用于运行 Apple iOS、BlackBerry 和 Windows Phone 8/8.1 的移动设备。云获取具有以下优点:

  • 访问存储在移动设备中的大多数信息

  • 访问设备中某些文件(但实际未存储在设备中)

  • 恢复时间高度依赖于连接速度和可用的云吞吐量

  • 可能访问存储在 SQLite 数据库中的某些删除数据(例如,联系人和消息)

  • iOS:如果通过物理获取从设备提取了解密密钥,则可以访问钥匙串信息

  • iOS:即使登录和密码已知,双因素认证也可能禁止云访问(如果有有效且未过期的认证令牌,可以绕过)

最后,可以通过直接从内存芯片提取数据来执行芯片拆除获取(需要专用硬件和技能)。芯片拆除获取具有以下特点:

  • 在旧设备上,除加密的部分(钥匙串)外,几乎可以提取所有信息。

  • 最近一代的 iOS 设备广泛依赖于加密存储。因此,大多数用户数据将保持加密,并使用强大且不可提取的加密密钥。

  • 保证的时间框架,但可访问的数据量有限。

  • 获取速度极快。

  • 无法访问钥匙串信息或历史位置信息。

以下表格总结了各种获取方法的可能结果:

物理获取 逻辑获取 云取证 芯片拆除
大致时间框架 35-50 分钟(取决于设备型号)
  • 即时(未保护的备份)

  • 未知(密码保护)

0-4 小时(取决于连接速度和数据量) 1-4 小时(取决于技能水平)
钥匙串恢复
  • 否(未保护的备份),除非securityd可用

  • 是的(密码保护)

否(除非 securityd 可用)
访问已删除文件 否*
删除的 SQLite 记录访问
最多 45 天的地理位置跟踪数据
可能的问题 上一代设备必须越狱(参考兼容性矩阵
  • 需要 Apple ID/密码或认证令牌

  • 双因素认证

  • 通知电子邮件

|

  • 仅适用于 iOS 1 至 4

  • 最近的设备使用了完整的硬件加密

  • 加密数据不可恢复且无法解密

  • 对于最近的 iOS 设备,无法使用 Chip-off 获取方法

|

*访问已删除的文件对 iOS 1.x 到 3.x 版本是可能的。然而,遇到这么旧的 iOS 版本的机会几乎为零。

iOS 高级逻辑获取

不久前,Jonathan Zdziarski 引入了一种所谓的高级逻辑获取方法。这在其流行时期非常受欢迎。检查员仍然需要拥有一个解锁的设备,但如果是这样,相较于纯逻辑获取(备份分析),可以获取更多的信息。

与纯逻辑获取相比,先进的逻辑获取提供了以下优势:

  • iTunes 备份密码无法阻止访问未受到任何密码保护的个人数据,例如联系人或短信

  • 可以提取更多应用数据,包括日志文件

由于 Apple 修复了该获取方法使用的漏洞,并隐藏了相应的服务,因此该方法的使用寿命较短。自 iOS 8 起,只有应用共享的文档(例如,由办公应用编辑的文档或由媒体播放器观看的视频)才能通过此方法提取。

iOS 物理获取

物理获取是目前 iOS 设备上最全面的获取方法。其他平台(例如 Android、BlackBerry OS、BlackBerry 10 和基于 Windows 的设备)可以通过一些较低级别的技术,如 JTAG、ISP 或 Chip-off 方法来获取。这些获取技术对于 iOS 设备不可用,因为强制实施的全盘加密(无论用户是否设置额外的安全性)使得物理获取成为唯一可行的方案。与任何其他方法(如逻辑获取或备份分析)相比,物理获取能返回显著更多的信息。存储在 Apple 受保护存储中的数据,如钥匙串,只能通过物理过程访问。

物理获取非常决定性:要么有效,要么无效。如果有效,你可以在不到 40 分钟内完成整个设备的成像,即使是 32GB 的 iPhone 4,这款设备是最慢的之一。存储更大的设备可能需要更长时间;然而,与尝试攻击备份密码时的不确定性不同,物理获取是明确可预见的。ElcomSoft 为 iOS 设备开发了一款物理获取工具包:

iOS 物理获取

从 iPhone 4S 发布开始,相较于所有旧设备,具备更强安全性的 iPhone 4S 使得每一代新的 iOS 设备的物理获取变得越来越困难。直到今天,Elcomsoft iOS Forensic Toolkit 才能支持新一代 iOS 设备的物理获取。

需要注意的是,限制性、无限制和保证的物理获取仅适用于旧款 Apple 设备(请参考下一章的兼容性矩阵部分)。从 iPhone 4S(或 iPad 2)开始,成功的物理获取要求检查员要么知道用户的原始密码(以便安装越狱),要么拥有一台已越狱的设备。如果设备被密码锁定,则无法安装越狱,也无法获取该设备。除了越狱外,还必须从 Cydia 安装 OpenSSH 工具。

在越狱设备上,Elcomsoft iOS Forensic Toolkit 可以通过暴力破解或字典攻击来破解原始密码。在越狱的 iPhone 5 和 5C 设备上,密码恢复速度大约为每秒 15.5 个密码,允许 iOS Forensic Toolkit 在大约 10 分钟内破解典型的四位数密码。然而,即使没有密码,也可以轻松地提取设备;因此,下载的邮件和钥匙串数据将保持加密状态。

在配备 64 位平台和 Secure Enclave 的 iOS 设备上,物理获取的限制更加严格。在此类设备上,必须知道密码并能够从设备设置中移除它(这还包括越狱设备)。即便如此,钥匙串可以提取,但在 64 位设备上无法解密。

物理获取的好处

物理获取相较于其他获取方法提供了许多优势。固定的时间框架和保证的交付只是其中的一部分。

物理获取提供以下好处:

  • 获取完整的位精确设备镜像

  • 提取了未分配的空间,但在较新的 iOS 版本上无法解密

  • 解密钥匙串项并提取设备密钥

  • 保证的时间框架:32 GB 型号需要 20 到 50 分钟

  • 零足迹

  • 不需要密码(适用于旧设备或已安装越狱的设备)

  • 简单的四位数密码在 10 到 40 分钟内恢复(适用于旧设备或越狱设备)

物理获取是唯一可以提取以下信息的方法:

  • 缓存(下载的)邮件:无论是什么类型的电子邮件账户,缓存的邮件在离线或在线备份中均不可用。下载的邮件也可以通过所谓的高级逻辑获取方式获取,该方式利用一些未文档化的 iOS 服务,并且需要密码或来自信任计算机的配对记录。此外,缓存邮件还可以通过 64 位物理获取过程获得。

  • 地理位置信息:虽然 iTunes 和 iCloud 备份仅包含有限的地理位置信息(例如,从地理标记图像中提取),但实体获取可以提取更多关于用户位置的详细信息。这包括常用位置以及应用程序和系统服务请求的位置信息。位置数据会在某些事件发生时请求(并存储),例如使用地图、校准指南针、广告追踪、浏览网页、请求用户位置、查找无线网络等。通过实体获取位置信息,可以精确地重建嫌疑人的行踪。

  • 系统日志和崩溃日志:这显示了已启动或已安装的应用程序。

  • 缓存的应用数据:这提供了缓存的网页、输入的地址和任何被第三方应用缓存的网页数据。许多 iOS 应用程序是基于 Web 的,因此通过实体获取可以获得的缓存数据量可能非常庞大。

  • 某些类型的删除数据:包括已删除的联系人、短信和 iMessages(也可以通过逻辑获取从 SQLite 数据库中提取)。

  • 钥匙串:在 Apple 设备中,这个受保护的存储空间用于存储高度敏感的信息,例如网站和在线帐户的密码、财务信息以及第三方应用写入受保护存储的数据。由于有不同的保护级别,只有某些钥匙串项在处理备份时能够解密。实体获取可以解密整个钥匙串,提取所有可用信息。

  • 扩展的钥匙串获取:苹果在 iOS 7 中更改了钥匙串格式。在 iOS 8 中,苹果将更多的数据移入了钥匙串。从 iOS 7 开始,注册了特定 Apple ID 的设备可能包含该 Apple 帐户的 iCloud 钥匙串的缓存副本(需用户授权)。如果 iCloud 钥匙串可用,则其提取可能使访问存储在其他共享相同 Apple ID 的 Apple 设备中的密码和信用卡信息成为可能。

实体获取有什么独特之处?

实体获取仍然值得吗?越狱的 iOS 设备在野外非常罕见。然而,越狱 iOS 设备的可能性依然存在,尤其是考虑到许多作为证据收集的设备已经等待了很长时间。我们仍然认为,如果可行,实体获取是最佳选择。以下是原因:

  • 苹果有一项新政策,拒绝来自政府的设备信息请求,无论设备是否运行 iOS 8 或 9、是否具备安全隔区。苹果坚决捍卫这一政策。如果设备运行 iOS 8 或更高版本,将设备交给苹果后将无法获得完整镜像,即使苹果面临法律诉讼(www.apple.com/privacy/government-information-requests/

  • 在某些地区,苹果运行认证翻新的项目,仍然以较低价格出售翻新的 32 位手机。例如,在 2015 年第一季度,翻新的 iPhone 4S 和 5 型号占据了俄罗斯零售渠道所有 iPhone 销售量的 46%。

  • 相比其他任何获取方法,物理获取依然能够提供显著更多的信息(记住,苹果设备无法进行芯片提取)。电子邮件消息、应用数据、日志、位置信息以及大量其他数据永远不会进入备份中。

  • 完整的钥匙串提取仅限于物理获取(仅限 32 位设备)。只有在没有安全加密区(Secure Enclave)的设备上才能解密钥匙串。这包括使用设备特定密钥加密的记录。虽然一些钥匙串项目可以从受密码保护的 iTunes 备份中提取,但许多项目在没有设备特定密钥的情况下无法解密。

  • 物理获取(32 位过程)可以帮助从设备中提取 securityd(0x835)密钥。该密钥可以用于完整的钥匙串解密。此外,该密钥还可以用于解密来自 iCloud 备份和未加密密码的本地 iTunes 备份中的钥匙串项目。

  • 对 32 位设备的物理获取返回一个标准的 DMG 磁盘镜像(HFS+ 文件系统),而对 64 位设备进行相同的操作则返回一个包含设备完整目录结构的 TAR 存档。

据我们所知,Elcomsoft iOS Forensic Toolkit 是唯一一款可以对 iPhone 4S、5 和 5C,特别是更新的 64 位设备进行物理获取的非苹果工具。

物理获取的未来

无条件的物理获取仅支持旧设备。从 iPhone 4S 开始,每次 iOS 迭代和每次硬件更新,苹果都在不断增强安全性,使物理获取变得越来越困难。

iOS 8 的发布是一个重要的分水岭,使得物理获取变得更加困难。iOS 8 中发生了以下两大变化:

  • 所有用户数据现在都存储在一个依赖于密码的加密容器中。

  • 针对密码尝试,新增了硬件级五秒延迟(仅限新款硬件)。

iOS 8 将大多数用户数据置于更严格的控制之下。消息、照片、联系人、通话记录以及许多其他内容现在都存储在受密码保护的容器中。一旦手机重启,解密密钥就会丢失,数据变得不可访问,直到用户输入正确的密码。然而,如果设备至少解锁过一次,除了钥匙串外,大部分数据将被解密并保持解密状态,直到设备关机。这正是 64 位获取过程所使用的方式。

那么,如何破解密码呢?对于 A7 和 A8 系列设备(iPhone 5S、6 和 6 Plus),苹果引入了硬件级别的五秒延迟,用于密码尝试。以下是苹果的官方说法:

在配备 A7 处理器的设备上,关键操作由安全隔离区(Secure Enclave)执行,它还会在连续的解锁失败请求之间强制执行 5 秒钟的延迟。这为暴力破解攻击提供了一个防护措施,此外还通过 iOS 强制执行了其他安全保障。(来源:www.apple.com/br/ipad/business/docs/iOS_Security_EN_Feb14.pdf。)

尽管目前尚不清楚延迟是硬编码的还是可以通过软件禁用,第三方获取工具现在每五秒钟只能尝试一次密码。这意味着,尝试所有可能的四位数密码组合大约需要 14 小时。对于更长、更强的数字或字母数字密码,暴力破解攻击已经不可行。

目前,所有配备 32 位和 64 位芯片组的现有设备都可以进行物理获取。进行物理获取时,必须使用有效的越狱。此外,必须知道密码(并且对于 64 位设备需要移除密码),才能获取最大的信息量。

物理获取兼容矩阵

物理获取是一项很好的技术。不幸的是,目前物理获取的可用性有限。较新的苹果设备(从 iPhone 4S 和 iPad 2 开始)具有更强的安全性,这限制了我们进行物理获取的能力。如今,以下设备可以通过此方法获取:

  • iPhone 3G、3GS 和 4(GSM 和 CDMA 型号)

  • iPhone 4S、5 和 5C***

  • iPod Touch(第一至四代)

  • iPod Touch 第五代 ***

  • iPad(仅第一代)

  • iPad 2***

  • 配备 Retina 显示屏的 iPad(第三代和第四代)***

  • iPad Mini***

这些设备可以运行以下任何操作系统:

  • iOS 1 至 3(最高支持 3.1.3)

  • iOS 4.x——最高支持 iOS 4.3.5(iPhone 4 CDMA 支持 iOS 4.2.10)

  • iOS 5.x

  • iOS 6.x

  • iOS 7.0

  • iOS 7.1(使用 Pangu 1.2+ 越狱)

  • iOS 8.x 和 9.x****

物理获取兼容矩阵

运行 iOS 3.0 之前版本的设备没有启用数据保护,其用户分区未加密。

最初出厂时搭载 iOS 3.x 的设备,包括那些从 iOS 3.x 升级到 iOS 4/5 的设备(没有执行 erase install,即使用 iTunes 中的 更新 选项而不是 恢复),没有启用数据保护,用户分区没有加密。因此,不需要进行解密。

iPhone 4S、iPhone 5、iPhone 5C、iPad 2+、iPad Mini 和 iPod Touch 第五代可以恢复,如果已知密码或设备已越狱(iOS 5 至 9)。

***新设备的物理采集(iPhone 4S 及更新版本)仍然受限于越狱的可用性。越狱设备并恢复(在某些情况下,移除)密码是强制性的,因为所有用户数据现在都采用依赖密码的密钥进行加密(与 iOS 7 相比,iOS 7 仅为钥匙串和邮件保护使用了如此强的加密)。

*****64 位型号的物理采集(iPhone 5S/6/6S/Plus、iPad mini 2/3/4、iPad Air / Air 2 和 iPad Pro)通过一种不同的采集过程进行,这个过程专门称为 64 位设备的物理采集。越狱设备并在 iOS 设置中移除密码保护是强制性的。64 位 iOS 设备的采集在单独的章节中进行说明。

未分配的空间 - 自 iOS 4 起不可用

如果您获取的是运行 iOS 3.x 或更早版本的设备,则只有通过物理采集才能访问未分配的空间。由于这些是非常旧的 iOS 版本,您在现实生活中遇到的可能性极低。如果您遇到这样的设备,您可以使用 Elcomsoft iOS Forensic Toolkit 绕过密码保护并提取设备的完整镜像,包括未分配的空间。

自 iOS 4 以来,苹果使用依赖密码的文件系统加密。iOS 不会保存未被文件占用区域的加密密钥。在文件删除后,系统会销毁对应数据块的加密密钥。因此,在进行物理采集时,无法解密这些未分配的区域。在使用 Elcomsoft iOS Forensic Toolkit 或其他第三方工具进行内部物理采集时,未分配的磁盘空间会被提取,但不会被解密。

可以恢复的是包含已删除短信、通话记录和聊天记录的 SQLite 记录。然而,这个过程远非简单,需要使用专业软件或 SQLite 特定的专业知识。

发送设备到苹果

在其隐私政策中(www.apple.com/privacy/government-information-requests/),苹果明确表示以下内容:

在运行 iOS 8 的设备上,您的个人数据,如照片、信息(包括附件)、电子邮件、联系人、通话历史记录、iTunes 内容、备忘录和提醒事项,都受到您的密码保护。与我们的竞争对手不同,苹果无法绕过您的密码,因此无法访问这些数据。因此,从技术上讲,我们无法回应政府要求从其持有的运行 iOS 8 的设备中提取这些数据的命令。

分析新款 64 位设备的系统工作方式后,我们倾向于相信前述说法是正确的。

由于 iOS 8 的技术特点以及苹果公司新政策的限制,目前无法向苹果请求已解密的设备镜像,但执法机构仍然可以将运行旧版本 iOS 的苹果设备送交苹果,以获取其未加密的镜像。在这种情况下,苹果会提供设备的完整解密镜像(如果不知道密码,钥匙串可能会成为例外)。

密码的作用

密码是 iOS 安全性的核心。即使它只是一个由四个数字组成的简单 PIN 码,实际上,密码是移动世界中最强大安全模型之一的关键。这个密码与一个独特且非常长的二进制数据字符串(硬件加密密钥)结合,用于生成一个独特且极其强大的加密密钥。然后,设备使用这个加密密钥和政府标准的 AES 加密算法对设备的敏感数据进行加密,包括短信、电子邮件、照片等。

需要注意的是,如果没有访问设备的硬件加密密钥,就无法生成加密密钥,而且即使将设备拆解成小块,也无法获得该硬件加密密钥。如果没有正确的密码,基于密码加密的数据将保持加密状态,即使完整的镜像已经被提取出来。

换句话说,除非已知原始密码,否则设备的某些部分可能仍然会被加密(这在最新的 iOS 版本中尤为明显)。恢复原始密码只能在设备本身进行。

旧版本的 iOS 并未使用密码加密所有用户数据。即使没有密码,我们也能破解这些设备并几乎获取所有数据。但 iOS 8 后情况发生了变化。

以下图表总结了成功获取数据是否需要密码:

  • iOS 1.x 至 3.x:在这些版本中,不需要密码。所有数据都可以访问。密码会立即被恢复并显示。

  • iOS 4.0 至 7.x:密码不是强制要求的,但强烈建议使用。某些数据通过基于密码的密钥进行保护:

    • 电子邮件消息

    • 钥匙串项目

    • 某些第三方应用程序数据,如果该应用程序请求了安全访问权限

  • iOS 8 和 9:成功获取数据需要输入密码。大多数用户信息都通过基于密码的密钥进行保护。

物理获取 iOS 8 和 9 的数据

iOS 9 是苹果移动操作系统中最新且最安全的版本。根据苹果的数据,到 2016 年 2 月,大约 76% 的苹果客户已升级到最新的 iOS,而 17% 的用户仍在使用 iOS 8。仅有 7% 的设备在运行 iOS 7 或更早版本(来源:developer.apple.com/support/app-store/)。

在 iOS 8 中,Apple 进一步加强了 iOS 设备的安全性。苹果移动操作系统的第 8 和第 9 代加密了比以往更多的信息。数据加密在苹果设备上并不新鲜,这项技术已经实施了多年。新的变化在于手机加密存储的数据量。在 iOS 8 中,苹果将电子邮件、信息、照片和视频等内容移入了手机的加密区域。再次强调,许多以前可以访问的数据(且对调查非常有价值)被移动到了受密码保护的部分,这使得在不知密码的情况下进行物理获取几乎毫无意义。苹果宣称,iOS 8 及更高版本的安全性极高,以至于即使政府提供了有效的设备,也将拒绝提取信息的请求(来源:www.apple.com/privacy/government-information-requests/).

从实际操作角度来看,这意味着你必须破解密码才能正确提取运行 iOS 8 或 9 的设备镜像。要破解新版设备(如 iPhone 4S、iPad 2 及其更新型号)的密码,设备必须已经越狱或能被调查员越狱。对于 iPhone 4S 之前的未越狱设备以及原版 iPad,破解密码仍然是可能的。截至目前(2016 年 2 月),唯一提供 iOS 8 和 9 设备物理获取支持的法医工具是 Elcomsoft iOS Forensic Toolkit。该工具支持 32 位和 64 位设备,这些设备要么已经越狱,要么能够被调查员越狱。如果设备没有越狱(且不知道密码),通过物理获取能够访问的唯一信息是通话记录和短信历史。此外,在进行 64 位设备的物理获取时,必须先在设备的安全设置中移除密码。

关于苹果如何加密信息以及 iOS 8 中发生了哪些变化的更多信息,请访问以下网址:

iOS 8 和 9 的物理获取

iOS 物理获取工具

物理获取 iOS 设备需要使用专用的获取工具。Elcomsoft 提供了 iOS Forensic Toolkit (www.elcomsoft.com/eift.html),这款工具支持比任何竞争产品更多型号的物理获取。

请注意,以下页面包含了展示如何使用工具包来获取 iPhone 的视频:

www.elcomsoft.com/ios_forensic_toolkit_video.html

教程 – 使用 Elcomsoft iOS Forensic Toolkit 进行物理获取

让我们使用 iOS Forensic Toolkit 提取 iPhone 的内容。但首先,我们先来看看当工具进行物理获取时,实际发生了什么。

该工具的功能是什么?

获取过程的第一步是将设备置于所谓的DFU模式(调试和固件升级模式),通过按住 Home 和 Power 按钮的组合来实现。Elcomsoft iOS Forensic Toolkit 会显示如何将设备进入此模式的提示。

一旦设备进入 DFU 模式,我们可以使用其F功能,模拟固件升级。然而,与其加载苹果原厂固件不同,工具包尝试加载经过修改的固件。设备将通过引导 ROM 功能验证新的固件的数字签名(这些是只读的,无法关闭)。现在,如果我们正在获取 iPhone 4 或更早的版本,工具包可以利用一个引导 ROM 漏洞,跳过检查,并将修改过的固件加载到设备的易失性内存(RAM)中。在这种情况下,设备存储保持不变,因为所有操作仅在设备的易失性内存中进行。

如果我们正在获取 iPhone 4S,之前可以用于旧款 iPhone 的引导 ROM 漏洞就无法使用。因此,工具包使用另一种方法,该方法仅在设备已越狱的情况下有效。在此方法中,工具包通过 OpenSSH 连接到设备并安装和启动获取工具。该方法会通过安装获取工具改变设备内容。必须考虑到这一点并妥善记录,以确保过程具有法医证据的有效性。

前提条件

您需要一台正常工作的 iOS 设备,一个兼容的 USB 电缆来将其连接到计算机,并且需要一份 Elcomsoft iOS Forensic Toolkit(需要 USB 加密狗才能操作)。

请注意以下事项:

  • 必须安装成像工具才能获取设备

  • 如果未安装越狱,您需要通过按住 Home 和 Power 键的组合将设备置于 DFU 模式(设备固件升级模式)

  • 对于苹果的 64 位设备,可以通过单独的过程进行物理获取(请参见获取 64 位苹果设备

  • 只有在 DFU 模式下才能恢复密码

步骤 0 - 连接设备:使用适当的 USB 电缆将苹果设备连接到您的计算机。启动 iOS Forensic Toolkit。

步骤 1 - 进入 DFU 模式:如果您正在成像一台已知可以进入 DFU 模式的设备,可以认为这是幸运。在 iOS Forensic Toolkit 中,输入 1,如下图所示:

前提条件

如果您正在获取较新的设备,如 iPhone 4S、iPhone 5、iPhone 5C、iPad 2、iPad 3、iPad 4 及更新型号),则只有在您知道正确的密码或设备已越狱的情况下,物理获取才可用。要获取此类设备,请直接跳到步骤 3:

前提条件

您将看到如何将设备进入 DFU 模式的互动指南:

前提条件前提条件

在第一次尝试时可能有点难掌握。请花时间并多次尝试,直到成功。当您的设备进入 DFU 模式时,继续执行步骤 2。

请注意,将设备置于 DFU 模式或拥有已越狱/解锁的设备对于恢复原始密码至关重要。

步骤 2 - 加载 RAM 磁盘:在此步骤中,您将把获取代码加载到 Apple 设备中。该代码将被加载到设备的易失性内存(RAM)中,不会修改任何内容。要加载 RAM 磁盘,可以执行以下任一操作:

  • 在提示时同意加载 RAM 磁盘

  • 在主屏幕上按2并按照提示操作:

前提条件

加载 RAM 磁盘时,设备会显示 Elcomsoft 的标志。

请注意,从 iOS 4 开始,加载 RAM 磁盘是恢复密码的必要前提条件。

前提条件

步骤 3 - 恢复密码:这一过程在一年前还是可选的。今天,尝试恢复密码是获取任何有意义信息的必要步骤。如果您已经有了正确的密码,可以跳到下一步。

是否需要恢复密码以获取用户数据,取决于设备所使用的 iOS 版本:

  • iOS 1.x 到 3.x:无需密码。所有数据都可以访问。密码会立即恢复并显示。

  • iOS 4.0 到 7.x:密码不是必需的,但强烈推荐。部分数据通过依赖密码的密钥进行保护:

    • 电子邮件消息

    • 钥匙串项目

    • 某些第三方应用程序的数据,如果该应用请求了安全访问

  • iOS 8 和 9:密码是成功获取的必要条件。大多数用户信息都通过基于密码的密钥进行保护。

如果您阅读过前面的章节,您会知道密码是 Apple 安全性的关键。在旧设备和早期版本的 iOS 中,密码用于生成保护存储在 Apple 安全存储区(钥匙串)中的信息的加密密钥。即使在旧设备和早期的 iOS 版本中,保护的数据也包括账户密码、信用卡信息、Wi-Fi 密码以及对调查至关重要的其他信息。

随着 iOS 7 的发布以及随后的 iOS 8 升级(后来的 iOS 9),密码的作用大大增强。在运行 iOS 8 或 9 的现代设备中,受密码保护的分区现在存储的信息比以往更多。事实上,现在几乎所有有价值的信息都存储在受密码保护的磁盘中。电子邮件和短信、密码、通过手机相机拍摄的图片和视频,以及许多其他信息现在都已加密。因此,如果没有密码,今天对设备进行成像将比一年前返回的信息少得多。为了解密存储在受保护区域的信息,必须首先恢复密码。

由于苹果设计和实现其安全模型的方式,恢复密码仅能使用原始设备进行。虽然使用计算机或一组 GPU 加速工作站来恢复密码听起来很诱人,但即使在理论上也是不可能的。

苹果设备可以使用标准的数字密码(四位 PIN)、长数字密码和完整的字母数字密码。这些类型的密码可以通过 iOS Forensic Toolkit 通过暴力破解或字典攻击(如果破解字母数字密码)进行恢复。

请注意,您需要先加载 RAM 磁盘(如前一步所述),才能恢复运行 iOS 4 或更高版本的设备密码。

另一个需要注意的是破解密码的速度。密码恢复很慢!它故意很慢,这是苹果设计的特性。苹果在其各个设备中仔细平衡了所使用的算法,显然目标是每个密码的验证时间大约为 80 毫秒。因此,恢复四位数字密码可能需要约 35 分钟;暴力破解可能需要更长时间,字母数字密码则可能永远无法破解。

使用 iOS Forensic Toolkit,恢复密码通过在主屏幕上输入3获取密码)命令启动。您将看到以下窗口:

Prerequisites

您将有以下选择:(1)查看密码类型(数字四位、数字长密码、字母数字密码),(2)暴力破解四位 PIN,(3)对字母数字密码进行字典攻击,或(4)使用完全手动选项。

虽然我们在恢复较长的字母数字密码时取得了一些有限的成功,但大多数 iPhone 用户选择简单的四位数密码。通过枚举所有可能的组合来暴力破解此类密码,在 iPhone 4S 上大约需要 35 分钟。输入2后,您将看到进度报告窗口。当前尝试的密码将显示:

Prerequisites

一旦正确的密码被发现,它将显示出来。记下密码并按Enter继续提取设备密钥:

Prerequisites

步骤 4 - 提取设备密钥:为了能够解密存储在加密分区上的信息(提醒一下,这包括用户密码、电子邮件、消息等),您需要获取设备密钥和钥匙串数据。在 iOS 取证工具包中,使用4GET KEYS)命令。此操作是强制性的,您不能跳过它。没有密钥,既无法解密钥匙串,也无法解密设备镜像:

Prerequisites

要获取设备密钥和钥匙串,请输入 4

为了成功获取设备密钥和钥匙串数据,您需要提供设备密码(如果非空):

PrerequisitesPrerequisites

步骤 5 - 解密钥匙串项:存储在 iPhone、iPod Touch 或 iPad 中的一些最有价值的信息存储在系统的受保护存储区——钥匙串中。受保护的信息使用强大的依赖于密码的加密密钥进行保护(这就是为什么需要恢复密码以获取这些密钥并解密钥匙串的原因)。随着每次 iOS 更新,苹果将更多的数据移到钥匙串存储中。根据 iOS 版本,受保护的信息可能包括电子邮件账户密码、消息、Wi-Fi 密码、输入的网站密码和某些第三方应用程序的密码、财务信息、文档等。

钥匙串解密是即时的。要解密钥匙串,在工具的主界面输入 5

Prerequisites

步骤 6 - 执行采集:通过物理连接捕获 iOS 设备时,您将有两种不同的选项:

  • 在选项 1 中,您可以捕获设备的完整镜像(IMAGE DISK 命令,6

  • 在选项 2 中,您可以下载用户的文件作为 UNIX 风格的 tar 包(TAR FILES 命令,8

下载单个文件的选项有时被称为 逻辑采集,但我们更倾向于将该术语用于涉及分析使用 Apple iTunes 创建的离线备份的采集方法。下载单个文件是一个更快速的选项,且支持即时解密。然而,如果选择下载文件,您将错过可能存储在未分配磁盘空间中的信息。

另一方面,IMAGE DISK 命令执行设备的完整物理镜像。当我们谈到 物理采集 时,我们通常指的是此选项。使用磁盘镜像,您将下载设备的逐位精确副本;不会执行即时解密。因此,稍后您需要使用 DECRYPT DISK 工具(命令 7)来解密磁盘。

让我们来看一下输入 6IMAGE DISK)时会发生什么。首先,您将看到可用分区的列表。通常,您会看到 System 分区(通常是未加密的,包含系统文件和应用程序)和 User 分区(通常是加密的)。要选择一个分区进行镜像,请在提示符中输入其编号:

Prerequisites

选择好分区后,获取过程将立即开始。根据设备型号和存储容量,获取设备的过程可能需要约 35 到 90 分钟。如果你选择像8命令那样的文件系统级获取,所需的时间将取决于设备中实际存储的用户数据量。如果用户数据不多,使用该模式进行获取的速度会非常快:

前提条件

第 7 步 - 解密磁盘:在前一步获取磁盘镜像后,你将得到一个未加密的(系统)分区和一个很可能是加密的(用户)分区。为了能够分析用户数据,你需要首先解密该分区。解密通过从主窗口选择7命令(DECRYPT DISK)来执行:

前提条件前提条件前提条件

就是这样!你已经获取了一个 iOS 设备的数据,并准备进行分析。数据以标准的 DMG 镜像格式保存。要分析信息,你可以使用许多第三方取证工具之一。如果你使用的是 Mac 电脑,为了手动访问 DMG 镜像中的信息,你只需要将镜像挂载到系统中(只读)。如果你使用的是 Windows 电脑,你需要安装一个 HFS+驱动程序,例如 Paragon HFS+,可以通过www.paragon-software.com/home/hfs-windows/下载。无论是哪种方式,挂载镜像后,你将能够访问设备中可用的单个文件和数据库。

获取 64 位的 Apple 设备

Elcomsoft iOS Forensic Toolkit 是市场上唯一(截至 2015 年 12 月)允许物理获取 Apple 64 位设备的工具。该工具可以从越狱的 64 位 iPhone(如 Apple iPhone 5S、6/6S/Plus)和 64 位 iPad(包括 iPad mini 2-4、iPad Air/Air2、iPad Pro)中获取信息。

64 位获取过程与以前从 32 位设备提取数据的老方法有显著不同。新方法向后兼容 32 位的 iPhone 和 iPad;然而,如果你有选择,我们建议在提取 32 位 iPhone 数据时,仍然使用老的、经过验证的获取流程。

请注意,新的获取过程必须有一个有效的越狱才能正常工作。

如果你不想阅读理论内容,可以直接跳到在 64 位 iOS 设备上执行物理获取部分。

比较 64 位过程和传统物理获取

为了成功操作苹果的 64 位设备,新获取过程必须在目标平台的限制内进行。与基于旧硬件的遗留设备相比,苹果的 64 位平台实现了更严格的安全保护;因此,64 位获取有一些在获取 32 位硬件时从未遇到过的限制。

两种获取方法之间的第一个区别在于输出数据格式。32 位物理获取过程通过以原始模式访问数据,返回设备的完整比特精确镜像。64 位平台实现了更强的保护,虽然可以生成磁盘镜像,但始终不会释放解密文件所需的加密密钥。因此,64 位获取过程被限制为使用更高层次的访问权限,以 Unix 风格的 TAR 归档形式捕获文件系统。请注意,归档文件包含的与传统过程产生的原始数据转储相同的数据。然而,钥匙串项无法解密。与处理完整的 DMG 镜像相比,分析文件系统镜像要稍微复杂一些,因为 DMG 镜像几乎被所有移动取证工具支持,而文件系统转储则没有那么广泛的支持。

这里是两种获取方法之间的第二个区别。64 位过程可以提取设备中的钥匙串数据库。然而,由于无法访问 securityd 设备密钥,新的过程无法解密钥匙串。因此,存储的 Web 表单和密码,以及其他放入钥匙串的数据将保持不可访问(至少在目前是这样)。

最后,必须使用正确的密码解锁设备,并在 iOS 设置中移除密码保护后才能进行提取。

最后,与旧的 32 位处理过程相比,64 位数据获取过程要更具侵入性。这意味着获取过程的每一步以及对设备内容的每次修改都必须仔细记录;否则,提取的证据可能无法作为证据被接纳。

总结一下,64 位过程相比于 32 位设备的物理获取有以下限制:

  • 提取了钥匙串,但解密

  • HFS+文件系统镜像(64 位)与比特精确镜像(32 位)

  • 必须在 iOS 设置中移除密码后才能进行获取(64 位)

  • 高度侵入,要求仔细记录,以确保证据可被接纳

支持的设备和 iOS 版本

从硬件角度来看,64 位获取过程支持所有以下设备,无论它们运行的是哪个版本的 iOS(假设该版本的 iOS 有可用的越狱工具):

  • iPhone 5S、6、6 Plus、6S 和 6S Plus

  • iPad Air、Air 2 和 Pro

  • iPad mini Retina、iPad mini 3 和 4

  • iPod Touch 6 代

新的采集过程需要对文件系统的完全访问权限,因此,它在很大程度上依赖于设备已经越狱。由于 iOS 的新版本对于越狱者来说始终是一个挑战,如果你遇到运行最新版本 iOS 且尚未越狱的设备,你可能会运气不好(至少暂时如此)。截至目前(2015 年 12 月),iOS 9.1 和 9.2 Beta 仍然没有可用的越狱工具,因此你将无法在这些设备上使用新的采集过程。

在 64 位 iOS 设备上执行物理采集

64 位设备的采集过程与 32 位设备有很大不同。因此,在 iPhone 5S、6/6S 或任何 Plus 版本的设备上进行物理采集时,需要额外的步骤。

步骤 1 - 在你的 iOS 设备上

  1. 确保设备已越狱:64 位设备的物理采集仅限于越狱后的 iPhone、iPad 和 iPod。如果未越狱,请继续执行 安装越狱

  2. 如果没有安装 OpenSSH,请从 Cydia 安装它(cydia.saurik.com/openssh.html)或按照 www.cydiaos.com/install-openssh-on-iphone-ipod-without-cydia/ 上的说明进行安装。

  3. 通过提供正确的密码来解锁设备。

  4. 如果密码为空,请进入 iOS 法医工具包。

  5. 在 iOS 设置中禁用密码保护。

    iOS 8(没有 Touch ID):设置 | 密码锁定 | 关闭密码

在 64 位 iOS 设备上执行物理采集

步骤 2 - 安装越狱

越狱 iOS 8 和 9 是一个繁琐的过程,并且没有保证的结果。根据 iOS 的版本,你可能需要遵循不同的步骤并使用不同的工具进行越狱。

例如,在 iOS 9.0.1-9.0.2 上安装 Pangu 越狱可能会卡在 85% 处,并显示错误信息。如果发生这种情况,你需要在第一次重启后(并且在将设备设置为 飞行模式 之前)打开照片应用程序,以确保设备上至少有一张照片。打开(并保持打开)照片应用程序可能足以继续;但是,安装越狱过程中可能会遇到其他很多障碍。

你需要知道的事项

为了越狱 iOS 设备,你需要禁用多个保护层。为此,你可能需要提供正确的 Apple ID 密码并输入正确的密码(如果启用了这些保护层中的一个或两个)。

准备越狱

  • 在越狱之前,你需要使用正确的密码解锁 iOS 设备。

  • 检查 查找我的 iPhone 是否已启用。如果启用了,请在 iOS 设置中禁用 查找我的 iPhone(需要 Apple ID 密码):

在 64 位 iOS 设备上执行物理采集

TaiG 和 Pangu 越狱需要禁用 Touch ID 和密码保护。如果你在之前的步骤中没有禁用它们,请现在禁用。检查密码保护是否已启用(如果你在解锁设备时需要输入密码,则已启用)。如果已启用,请在 iOS 设置中禁用Touch ID密码(需要原始密码):

在 64 位 iOS 设备上进行物理采集

安装越狱

对于 iOS 8.x(所有版本),使用 TaiG 越狱并按照www.taig.com/en/上的说明进行操作。

对于 iOS 9 到 9.0.2 版本,使用 Pangu 越狱并按照en.pangu.io/上的说明进行操作。

对于 iOS 9.1 和 9.2 版本,目前没有可用的越狱(未来可能会有所变化)。

步骤 3 - 连接设备

一旦你的设备完成越狱,你可以通过 Lightning 数据线将其连接到计算机。启动 iOS 取证工具包。对于 64 位设备,大多数选项无法使用。64 位采集过程可以通过TAR FILES命令进行。

步骤 4 - 使用 iOS 取证工具包

  1. 启动工具包在 64 位 iOS 设备上进行物理采集

  2. 使用TAR 文件命令(第 8 项)从主菜单:这将返回一个 Unix 风格的 TAR 归档文件,包含完整的文件系统和所有应用数据。钥匙串数据库也将被提取;但是,由于 64 位设备无法访问钥匙串解密密钥,无法进行解密:在 64 位 iOS 设备上进行物理采集在 64 位 iOS 设备上进行物理采集

    如果提示,输入 root 密码。默认的 root 密码是alpine。你需要输入两次密码。

    重新输入 root 密码:

    在 64 位 iOS 设备上进行物理采集

  3. 指定文件名:路径是相对于主目录的:在 64 位 iOS 设备上进行物理采集

  4. 等待文件系统提取:这可能是一个漫长的过程,尤其是在采集数据量大的设备时(在我们的实验室中,提取 7.5 GB 数据大约需要 10 分钟):在 64 位 iOS 设备上进行物理采集

  5. 当过程完成后,断开设备连接并开始分析数据在 64 位 iOS 设备上进行物理采集

通过 64 位物理采集可获取的内容

64 位采集过程会返回设备的完整文件系统,包括钥匙串(遗憾的是,无法解密)。我们能够访问以下所有数据,这些数据在 iTunes 或 iCloud 备份中不可用

  • 位置信息 (/private/var/root/Library/Caches/locationd)

  • 下载的邮件 (/private/var/mobile/Library/Mail)

  • 健康数据 (/private/var/mobile/Library/Health)

  • 音乐 (/private/var/mobile/Media/iTunes_Control/Music)

  • 详细的电池使用情况(/private/var/mobile/Library/BatteryLife

  • 应用程序数据和缓存(/private/var/mobile/Containers/Data/Application/<application id="">, /private/var/mobile/Library/Caches</application>

  • 移动 Safari 缓存——历史记录、最近搜索等(/private/var/mobile/Containers/Data/Application/4FF7BF97-4B3B-4964-ACD8-974AADB8D4F8/Library/Safari

  • Lockdown 证书信息(/private/var/root/Library/Lockdown

  • CPU 使用数据(/private/var/mobile/Library/CoreDuet

  • 推送通知(/private/var/mobile/Library/ApplePushService

  • 电池使用情况(/private/var/mobile/Library/BatteryLife

  • 配置文件(/private/var/mobile/Library/Preferences

  • 网络和数据使用情况(/private/var/networkd, /private/var/wireless/Library/Databases

  • 各种日志文件(/private/var/log, /private/var/logs, /private/var/wireless/Library/Logs, /private/var/mobile/Library/Logs

  • 所有 SQLite 数据库的 SHM 和 WAL 文件(延迟事务)

  • 应用程序活动(/private/var/mobile/Library/AggregateDictionary

  • Spotlight 数据(/private/var/mobile/Library/Spotlight

  • 键盘缓存(/private/var/mobile/Library/Keyboard

日志包括有关应用程序安装/卸载、从备份恢复、同步和配对、应用程序崩溃、GSM 网络连接、iCloud 访问(按应用程序)、iOS 更新、应用程序崩溃日志、设备开关机信息、诊断和安全日志等内容。

缓存包含的内容远不止应用程序缓存。除此之外,你还可以获取通过互联网下载的数据缓存、应用程序最近状态的截图(在它们被挂起时)、设备剪贴板中存储的信息等等。

还有很多数据需要分析,特别是在 /private/var/mobile/Library 文件夹中。

有趣的是,即使你不知道密码,某些数据在执行锁定设备的获取时也可用。

锁定的设备,且密码未知

新的获取过程可以用于从 32 位和 64 位的未知密码锁定设备中提取一些信息(需要越狱)。这包括那些已经开机(或重启)但从未解锁的设备。越狱是绝对必要的;如果设备没有越狱并且密码未知,我们无法提取任何信息!

可提取的信息量取决于设备在开机或重启后是否至少解锁过一次。如果设备在重启后从未解锁,则仅能获取非常有限的数据集。然而,如果用户至少输入正确的密码一次,那么许多信息(例如短信数据库、联系人数据库、Wi-Fi 密码等)将被解密并可以在设备随后被锁定后提取。

以下数据可以从越狱并启用了密码锁的设备中提取:

  • 一些地理位置数据(包括蜂窝塔和指南针校准数据,以及坐标)

  • 来电(仅限号码)和短信

  • 应用程序和系统日志(安装和更新、网络访问日志等)

  • SQLite 临时文件,包括预写日志WAL

从锁定设备中可以获取的内容取决于设备是否在启动后至少解锁过一次。例如,如果设备启动后从未解锁过,接收到的短信将会放在一个临时的、未加密的数据库中。然而,如果设备至少解锁过一次,即使后续锁定,所有短信也会被转移到加密数据库中。因此,如果设备至少解锁过一次并且安装了越狱,那么相比那些启动后从未解锁过的设备,你可能可以获取到更多的数据。这也是你应该尽力防止被扣押的设备关机(使用法拉第袋和充电器例程)的一大原因。

查看和分析镜像

64 位获取过程会返回一个设备文件系统的归档(.TAR)镜像。如果你使用的是 Windows,直接从 TAR 压缩包中提取文件和文件夹可能无法返回压缩包的完整内容,因为某些文件和文件夹可能包含 NTFS 或 exFAT 不允许的字符。你可以允许归档工具重命名这些文件,或者将信息提取到一个挂载的 HFS/HFS+ 卷中:

查看和分析镜像

如果你使用的是 macOS X 计算机,你可以直接将通过 32 位进程提取的 DMG 镜像挂载为虚拟磁盘。然而,64 位进程不会返回 DMG 镜像,这意味着你必须手动从 TAR 压缩包中提取文件系统并逐个分析文件。将文件系统的 TAR 镜像转换为可挂载的 DMG 镜像是可能的;我们目前正在开发一种工具,可以在获取过程中实时执行转换。敬请期待 iOS Forensic Toolkit 2.1!

如果你使用的是 Windows PC 来分析提取的数据集,可能需要安装第三方工具来挂载 HFS+ 卷。我们整理了以下工具列表,帮助你在 Windows PC 上挂载 HFS+ 卷:

你还可以尝试使用 BootCamp 驱动程序:

提取的数据集分析可以通过许多取证工具进行。我们发现 BlackBag Technologies 的 BlackLight 在 macOS X 和 Windows 平台上都表现良好:

www.blackbagtech.com/software-products/blacklight.html

潜在的法律影响

64 位设备的物理提取过程相较于旧硬件的提取方法更具侵入性。它涉及修改系统设置(移除密码保护),并且会在手机上写入文件(在设备上必须安装 OpenSSH 才能使该过程生效)。如果设备没有安装越狱,必须在提取之前进行越狱,这再次会修改系统和数据分区。

考虑到这一点,通过新提取过程获得的证据可能无法在法庭上作为证据使用,除非每个步骤都已正确记录。在尝试物理提取之前,强烈建议先创建并获取设备备份(通过 iTunes 生成离线备份或通过 iCloud 生成在线备份)。你可以使用 Elcomsoft Phone Breaker(www.elcomsoft.com/eppb.html)来解密本地备份或从 iCloud 下载备份。

总结

本章介绍了 iOS 取证,详细说明了适用于不同代苹果 iOS 设备的提取选项。我们回顾了各种提取选项,并学习了如何使用 Elcomsoft iOS Forensic Toolkit 进行 iOS 设备的物理提取。我们还简要了解了其他提取技术,这些技术将在下一章详细讨论。

第六章. iOS 逻辑和云采集

在本章中,我们将提到逻辑采集,指的是获取和分析 iTunes 备份。每次 iPhone 用户将设备与 PC(Windows 或 macOS X)同步时,iTunes 会创建设备中所有用户数据的本地副本(除非用户选择云备份,这将在下一章讨论)。虽然自动备份是否好坏见仁见智,但除非选择了选项,否则用户最终会在每台同步的计算机上都有其设备内容的备份副本。

因此,用户的 PC 上遇到 iPhone 本地副本的可能性是相当大的。默认情况下,iTunes 会将离线备份存储在用户计算机上的以下文件夹中:

  • macOS X: ~/Library/Application Support/MobileSync/Backup/

  • Windows XP: Documents and Settings\(username)\Application Data\Apple Computer\MobileSyncBackup

  • Windows Vista、Windows 7、8、8.1 和 Windows 10: Users\(username)\AppData\Roaming\Apple Computer\MobileSyncBackup

虽然这些位置可以更改,但在上述文件夹之一中存储大量文件是本地备份存在的一个良好迹象。

与设备本身相比,本地备份包含的信息稍微少一些。不过,即便如此,依然包含大量数据。根据 Apple 的说法,离线备份可能包含:

  • 地址簿和地址簿收藏夹

  • App Store 应用数据

  • 应用设置、首选项和数据

  • 网页的自动填充

  • CalDAV 和订阅的日历账户

  • 日历账户

  • 日历事件

  • 通话记录

  • 照片库

  • 应用内购买

  • 钥匙串(在非密码备份中使用强硬件依赖的加密密钥加密,但如果存在备份密码,则使用备份密码进行加密)

  • 外部同步源列表(Mobile Me、Exchange、ActiveSync)

  • 允许使用你位置的应用和网站的定位服务偏好设置

  • 邮件账户

  • 管理配置/配置文件

  • 地图书签、最近搜索和在地图中显示的当前位置

  • Microsoft Exchange 账户配置

  • 网络设置(保存的 Wi-Fi 热点、VPN 设置、网络偏好设置)

  • Nike + iPod 保存的锻炼和设置

  • 笔记

  • 离线网页应用缓存/数据库

  • 配对的蓝牙设备(只能在恢复到与备份设备相同的手机时使用)

  • Safari 收藏夹、Cookies、历史记录、离线数据和当前打开的页面

  • 保存的建议修正(这些会在拒绝建议修正时自动保存)

  • 短信和多媒体信息(图片和视频)

  • 可信主机及其无法验证的证书

  • 语音备忘录

  • 语音邮件令牌

  • 壁纸

  • 网页剪辑

  • YouTube 收藏夹和历史记录

iTunes 备份不是作为单一文件制作的。相反,Apple 会生成大量随机命名的文件,包含各种信息。这些文件的名称可能并非完全随机;我们的猜测是,这些文件名是这些文件存储在设备内时完整路径的哈希值。

根据非官方的 iOS 法医学博客,备份通过 iTunes 生成的文件名源自 iTunes 计算文件路径和名称附加到 iOS 域的 SHA1 哈希值(即 iOSDomain-FilePath/FileName)

有趣的是,这些文件实际上是 SQLite 数据库文件。在未保护的备份情况下,它们几乎可以通过任何支持 SQLite 格式的法医工具读取和分析。

理解备份 - 本地、云端、加密和未加密

Apple 提供给用户三种不同的备份方法,允许通过 iTunes 创建本地备份,包括未加密和密码保护的备份,或者进行无线的 iCloud 备份。下表展示了三种备份方法之间的主要区别:

iTunes,未加密 iTunes 密码保护(加密) iCloud
钥匙串加密方式 securityd (*) 密码(与其他备份相同);一些保护级别较高的钥匙串项目仍然由硬件支持的 securityd 密钥保护 securityd (*)
数据量 完整(但钥匙串数据可能无法访问,除非从物理设备中提取 securityd) 有限(某些钥匙串数据不可用) 有限(例如,没有 IMEI 和其他硬件特定数据)
恢复类型 大部分信息即时可用 必须恢复原始密码 必须知道 Apple ID/密码,或必须拥有未过期的认证令牌
是否可以恢复钥匙串? 无法恢复钥匙串(除非可以访问 securityd) 使用其他数据解密钥匙串(如果密码恢复成功)。只能恢复部分钥匙串数据。 无法恢复钥匙串(除非可以访问 securityd)**
  • iCloud 备份以及未加密的 iTunes 离线备份不会以明文显示钥匙串信息。相反,钥匙串数据通过使用硬件特定的密钥(即 securityd)进行加密。

除了常规的钥匙串,iCloud 账户还包含一个所谓的 iCloud 钥匙串。iCloud 钥匙串与备份钥匙串是独立管理的,并且会在所有配置正确的设备间自动同步,包括 Mac 台式机,即使云备份已禁用。iCloud 钥匙串的目的是在设备间保持和同步在线表单数据,如网站的登录名和密码。iCloud 钥匙串中包含的信息与保存在云备份中的常规钥匙串独立管理;不过,iCloud 钥匙串包含常规钥匙串中可用数据的子集。与提取 iCloud 备份相比,提取 iCloud 钥匙串要困难得多,因为它涉及强制的双重身份验证,需要使用受信设备、特殊访问码(可能与设备密码不匹配)或恢复密钥。目前,任何商业工具都无法恢复 iCloud 钥匙串。ElcomSoft 制作了一个用于内部测试目的的概念验证工具。下章将详细介绍 iCloud 钥匙串。

securityd 密钥的优点是它在设备的整个生命周期中保持不变。这个密钥使得 iOS 用户能够访问从未加密备份恢复的所有历史、当前和未来的 iOS 密钥链。不幸的是,提取 securityd 只能通过物理获取来实现。因此,如果你仅有未加密的备份,并且无法访问符合物理获取兼容矩阵的物理设备,你将无法访问密钥链数据。然而,如果你已从设备中提取了 securityd 密钥,你将能够利用它解密该设备制作的所有当前以及未来的备份。

你可以阅读更多关于 securityd 的文章:

加密与未加密的 iTunes 备份

如果你仅有一个 iTunes 备份,了解你的选项对成功调查至关重要。

在配置备份策略时,iOS 用户可以选择创建非加密备份或密码保护备份。以下是 Apple 的说明:

在 iTunes 的 概述 页面中,选择 加密 iPhone 备份,如果你希望在 iTunes 创建备份时加密存储在计算机上的信息。加密备份会显示一个挂锁图标(如 删除备份 部分所示),并且需要密码才能恢复信息到 iPhone。你可能需要写下备份的密码并将其存放在安全的地方。如果你使用的是 Mac,当设置密码时,你可以选择将密码存储在钥匙串中。使用 iOS 4 及更高版本时,如果你加密备份,你可以将大多数钥匙串项目转移到新设备上。

加密与未加密的 iTunes 备份

提示

警告

如果你在 iTunes 中加密了 iPhone 备份,然后忘记了密码,你将无法从备份中恢复数据,且数据将无法恢复。如果你忘记了密码,你仍然可以继续备份和使用设备;然而,如果没有密码,你将无法将加密备份恢复到任何设备上。每次备份或同步时,你不需要输入备份的密码。

如果你无法记住密码并希望重新开始,你必须进行完全的软件恢复,并且在 iTunes 提示选择要恢复的备份时,选择作为新设备设置

如果你阅读了前面的段落,可能会感觉受密码保护的备份相比未加密的备份可以提取更多的信息。的确如此。在受密码保护的备份中,钥匙串(包含许多敏感信息,如邮件、密码、帐户数据等)与其余数据使用相同的密码进行加密。而在未加密的备份中,钥匙串是用硬件特定的密钥加密的,外部无法破解。

因此,使用密码保护备份的用户可以将备份恢复到任何 Apple 设备,并恢复所有存储在钥匙串中的安全项。选择不保护备份的用户仍然可以在任何 Apple 设备上恢复备份,但无法恢复/访问存储在钥匙串中的任何数据。Apple 通过以下声明确认了这一点:

“如果你使用 iOS 4 或更高版本加密备份,钥匙串信息会被转移到新设备上。使用未加密的备份时,钥匙串只能恢复到同一台 iPhone 或 iPod touch。如果你使用未加密的备份恢复到新设备,你需要重新输入这些密码。”

随着 Apple 将越来越多的内容推入钥匙串,使用密码保护备份变得比以往任何时候都更方便,同时也使得调查人员可以访问存储在钥匙串中的安全信息……如果他们能够破解密码的话。

破解备份密码

如果遇到受密码保护的备份,你需要恢复(或破解)原始密码才能解密其内容。没有办法绕过密码。Apple 的备份加密在今天的标准下非常强大,这使得攻击原始密码比攻击二进制加密密钥更容易。密码只能通过常规方式(暴力破解、字典或混合攻击)恢复。

为了破解密码,我们将使用内部的 Elcomsoft Phone Breaker(以前叫做 Phone Password Breaker)。这个工具最初就是为此而设计的:破解 iOS 备份密码。Elcomsoft Phone Breaker 将尝试通过执行几种类型的攻击来猜测密码。恢复密码需要多少时间,以及是否能够恢复密码,取决于原始密码的强度。短小简单的密码(例如,4 位数的 PIN)可以非常快速地破解,而长而复杂的字母数字密码可能需要非常长的时间才能恢复。与密码锁不同,Apple 备份密码使用的频率较低;因此,用户倾向于选择包含字母、数字和特殊字符的更长密码。

破解密码 - 需要多长时间?

你到底能多快地破解密码?不幸的是,与物理获取不同,没有固定的时间框架,也没有保证可以破解备份密码。以下因素会影响密码恢复的速度:

  • 你计算机的 CPU 速度和它的视频卡速度(后者比前者更为重要)

  • 密码的长度和复杂度(这是一个很大的未知数)

  • 你知道的关于密码的任何信息(例如,用户的其他密码以及从他们的密码相关习惯中得出的任何模式)

一个快速的 CPU 和更快的视频卡

对于需要一个快速 CPU 的需求不言而喻,但为什么我们还需要一个快速的显卡呢?为什么我们说拥有一张快速的视频卡比拥有一颗快速的 CPU 更重要?

其原因是 GPU 加速。如今的视频卡非常快速。只需考虑支持现代 3D 游戏在高分辨率和每秒 60 帧的运行所需的计算能力,你就会意识到它需要大量的处理能力。

利用这些计算能力来破解密码可以显著提高恢复速度。通过将计算密集型的部分任务交给典型游戏显卡的庞大并行处理单元(GPU),即使是价格不超过$200-300 的显卡,也可以将恢复 iTunes 密码的速度提高 10 到 20 倍。通过使用更快的视频卡,或者使用两张或更多显卡,恢复速度可以比使用高端四核 CPU 快 30 到 50 倍。有趣的是,ElcomSoft Phone Breaker 可以利用系统中安装的所有显卡,即使没有配置 SLI/Cross Fire 模式。

没有视频卡数量的限制。

一个快速的 CPU 和更快的视频卡

Elcomsoft Phone Breaker 包含了一种智能解决方案,用于延长攻击时间。该工具通过利用消费级或游戏显卡的计算能力,显著提高了攻击速度。该工具采用了专利的 GPU 加速算法,大大缩短了恢复 iPhone/iPad/iPod 和 BlackBerry 备份密码所需的时间。最新一代的 ElcomSoft GPU 加速技术支持无限数量的 AMD 或 NVIDIA 显卡板卡,如 NVIDIA GeForce 400、500、600、700、800 和 900 系列,以及 AMD Radeon HD 5000、6000、7000、R7 和 R9 系列。ElcomSoft GPU 加速技术为消费者提供了超级计算机级别的性能,且价格亲民。

破解复杂密码

显然,长且复杂的密码破解所需的时间更多。破解工具需要尝试更多的可能组合才能发现一个长的字母数字密码,而破解一个简单的 4 位数 PIN 密码所需的尝试次数则要少得多。

如果密码仅包含数字,那么每增加一个字符,密码的强度就会增加 10 倍,这意味着每增加一个数字,破解密码所需的时间会延长 10 倍。一个完全由小写字母组成的密码,每增加一个字母,强度就会增加 26 倍。如果密码包含数字和大小写字母,每增加一个字符,密码的强度会增加 62 倍。

简而言之,尝试的总组合数计算如下:

(密码可能包含的不同字符数) 的(密码长度)次方

例如,一个相对简单的密码仅包含六个字符,且包含数字、小写和大写字母,可能的组合数为 62⁶ = 56,800,235,584(超过 56 亿)。如果你对密码没有任何信息,仅知道其长度和它是字母数字混合的,密码恢复工具将尝试所有可能的组合,直到找到匹配的密码(除非通过更高级的攻击方式,比如字典攻击或词汇攻击成功)。

了解用户有助于破解密码

一些密码的保护比其他密码更强。事实上,在我们的日常生活中,我们常常使用弱保护或完全没有保护的密码。即时通讯密码?存储在 Windows 注册表或配置文件中的明文或几乎没有加密。网站密码?根据 Web 浏览器的不同,这些密码可以立即或在几秒钟内提取。像 Outlook Express、Windows Mail、Windows Live! Mail 或 Thunderbird 等常用应用程序中的电子邮件密码?通过简单的免费工具瞬间显示。旧版 Office 文档、第三方办公应用程序和许多其他来源可能包含比保护 Apple 备份密码更容易访问的密码。

花些时间提取存储在其他地方的易于恢复的密码是一个好主意。将这些密码添加到用于字典攻击的 wordlist 文件的顶部,在某些情况下,您根本不必处理漫长的攻击。

即使在 iTunes 备份中没有其他密码有效,也不是白费时间。看看那些密码。您看到了共同模式吗?如果用户选择的密码不是完全随机的,往往它们都会遵循一个共同的模式。也许一个或多个常用单词,电话号码,宠物名字,足球队,或者只是 godsex,或 topsecret。也许它们都以一个大写字母开头,以一个数字结尾。也许它们还有其他共同点,您可以利用这种模式在 Elcomsoft Phone Breaker 中创建一个通用模式,并显著减少可能的密码组合数量,加快恢复速度。

Elcomsoft Phone Breaker 还包括一个所谓的 wordlist,其中包含由使用英语、德语和俄语的用户最常用的密码。互联网上还有许多其他常用密码列表。下载其中一些列表绝对是值得的,因为许多用户可能已经使用了其中的某个密码。最后,在产品中有特殊选项,允许您检查来自 wordlist 的单词变体;我们称之为 smart mutations

如果用户为每个用途选择完全随机的密码会怎样呢?复杂的随机密码,有时使用特殊软件生成,不是最佳的安全选择。虽然普通人可能会记住一个或两个这样的密码,但这些密码很可能从未更改过。如果遇到超过少数几个随机密码,它们很可能都被记录在某个地方。也许是一张小纸条,也许是一个密码管理器(密码保存器)应用程序,无论是在线还是安装在计算机上。破解该应用程序的主密码将显示出所有其他密码,无论它们有多长或复杂。

教程 - 使用 Elcomsoft Phone Breaker 进行逻辑获取

足够的理论!让我们继续并进行获取。

首先和最重要的:Elcomsoft Phone Breaker 应该离线使用,在您自己的计算机上,绝不能在嫌疑人的 PC 上使用。该工具允许解密从安装了 Elcomsoft Phone Breaker 的计算机访问的加密备份。您可以挂载磁盘映像或使用网络磁盘;在破解密码时不会产生性能损失。

破解密码

在访问备份中存储的信息之前,您需要解密数据。为了解密数据,您需要原始的明文密码。如果您不知道密码,Elcomsoft Phone Breaker 将执行攻击以恢复它。

为了恢复密码,您不需要在计算机上拥有完整的备份文件。事实上,启动破解密码所需的只是一个名为Manifest.plist的小文件(如果您处理的是 BlackBerry 备份,请参考在线文档以获取更多信息)。

Elcomsoft Phone Breaker 通过攻击备份文件来恢复密码。您可以指定一个或多个不同的攻击方式,例如,字典攻击(已知密码攻击)、字典、暴力破解等。多种攻击方式的组合构成了一个恢复管道。

要在 Elcomsoft Phone Breaker 中恢复密码,请执行以下操作:

  1. 打开密码恢复向导页面。破解密码

  2. 通过选择选择源命令或将Manifest.plist文件拖放到密码恢复向导窗口中,指定备份文件。

    • 默认情况下,工具将列出所有本地可用的备份。如果您正在恢复位于嫌疑人硬盘、外部设备或已挂载的取证磁盘映像上的备份,您需要手动指定 iTunes 备份的位置。为了破解密码,工具只需要一个名为manifest.plist的单一文件(完整的备份文件集将用于解密)。

    • 如果您手动指定位置,以下是 iTunes 在不同操作系统上使用的默认路径:

      • Windows XP\Documents and Settings\(用户名)\Application Data\Apple Computer\MobileSync\Backup\

      • Windows Vista, 7 和 8\Users\用户名\AppData\Roaming\Apple Computer\MobileSync\Backup\

      • macOS X(所有版本)~/Library/Application Support/MobileSync/Backup/

  3. 在指定备份文件后,您需要定义将用于破解密码的攻击方式。

  4. 点击加号+添加不同的攻击方式来破解密码。默认情况下,字典攻击和暴力破解攻击会自动添加。有关攻击方式及其设置的更多信息,请参见在线手册中的密码恢复攻击主题。破解密码

  5. 您可以通过点击每种方法右侧的齿轮图标来可选配置字典攻击暴力破解破解密码

  6. 您可以使用 Elcomsoft Phone Breaker 附带的默认英文词典,或者选择任何数量的自定义字典(必须是纯文本格式,每个单词或短语应单独占一行)。高质量的自定义字典对于破解密码至关重要。如果可能,尽量构建一个包含用户其他密码的自定义字典。破解密码

  7. 点击开始恢复。Elcomsoft Phone Breaker 将开始攻击密码。预计剩余时间以及当前处理的单词将被显示。你可以点击攻击名称旁边的更多信息,查看附加信息,例如尝试的密码数量和平均攻击速度。破解密码

  8. 如果攻击成功,发现的密码将在恢复结果窗口中显示。破解密码

就这样,我们成功恢复了一个密码。这个密码现在可以用来解密备份。此外,你还可以使用钥匙串浏览器查看存储在钥匙串中的信息。

正在解密备份

只有在你已经知道或已经恢复了原始明文密码的情况下,才能解密备份。如果你没有密码,请先恢复密码。

启动 Elcomsoft Phone Breaker。如果你知道密码,按照以下步骤解密备份:

  1. 加载备份文件后,你将能够看到如下截图中的信息:

  2. 通过将Manifest.plist文件拖到解密备份窗口,或点击选择备份手动导航到备份文件,来选择正在解密的备份所属的Manifest.plist文件。

  3. 选择解密备份

  4. 工具菜单中,选择Apple选项卡。

    • 序列号

    • 备份日期

    • 产品类型

  5. 你可以通过点击备份名称旁的更改备份来选择不同的备份。解密备份

  6. 定义备份解密选项:

    • 保存解密到:选择解密备份的保存位置。

    • 备份密码:输入备份的密码。切换查看 (解密备份)按钮,以显示密码为字符或星号(*)。如果你还没有恢复备份的密码,点击恢复密码

    • 恢复原始文件名:将文件重命名为与设备上的显示方式相匹配。如果取消选中此选项,文件在解密后仍然可用,但其名称将保持不变。

    注释

    如果你正在使用第三方移动取证工具分析备份,请勿恢复原始文件名,因为这会干扰分析工具。仅在手动查看文件时选择此选项。

  7. 点击解密

  8. 解密过程已开始。你可以查看处理的文件数量以及在解密过程中收到的错误数量。

  9. 当解密完成后,你可以通过点击查看 (解密备份)按钮,查看保存到本地计算机位置的备份。解密备份

  10. 要查看解密文件和解密过程中发生的错误的详细报告,请点击详细信息

  11. 点击完成以关闭解密备份窗口。

现在备份已在你的计算机上,可以进一步分析。你可以使用 Elcomsoft Phone Viewer 浏览并查看备份内容。

处理长且复杂的密码

无论我们如何简化描述,破解 Apple 备份密码都是一个缓慢且技术复杂的过程。恢复速度将取决于可用的硬件(计算机的 CPU 和显卡)、攻击类型,以及你对密码的了解。要了解如何加快恢复速度,请阅读以下所有页面:

具体而言,最后两个链接解释了如何指定你所知道的密码信息,以便加速恢复。

但是,如果密码很长且复杂,或者你对密码知之甚少,且恢复过程需要经过漫长而无果的攻击怎么办?如果是这种情况,你可以探索其他的获取选项。特别是,可以无需攻击密码即可从云端下载信息。

在 Mac 上的 Elcomsoft Phone Breaker,或者在虚拟 PC 中,或通过 RDP

许多客户使用运行 macOS X 的计算机。Elcomsoft Phone Breaker 是原生 Windows 软件。因此,一些用户在他们的 Mac 上通过虚拟机(Windows 环境)运行 Elcomsoft Phone Breaker。然而,这种设置存在一些限制。将 Elcomsoft Phone Breaker 运行在虚拟机中的 Windows 环境下的一个主要缺点是缺乏速度。截止到本文写作时,还没有驱动程序能在任何虚拟机中实现 GPU 加速的正确支持。因此,在虚拟机中尝试进行暴力破解密码将不可避免地导致性能严重下降。如果你的计算机配备了中端显卡,那么通过虚拟机运行密码恢复的速度将比在物理计算机上运行同样的工具慢 20 到 50 倍。

有一种变通方法。您可以在网络上设置一台 Windows 电脑,并从 Mac 远程连接到该电脑。然而,请注意,使用 RDP 协议会导致与使用虚拟机一样的性能下降。为了释放 GPU 加速的全部潜力,我们建议通过 TeamViewer 等替代接口进行连接。

iOS 云取证 - 空中获取

有时,即使没有访问原设备,也可以远程访问存储在用户 iPhone 中的信息。这样的访问得益于 iCloud 去年的用户数超过了 2.5 亿;这个数字还在稳步增长。

了解 iCloud 取证:无需长时间攻击,也无需物理访问 iPhone 设备即可获取用户数据。随着最新技术的发展,现在甚至不需要用户的 Apple ID 和密码,就能访问他们的云数据。听起来难以置信?我们来看看其中的奥秘。

关于 Apple iCloud

Apple iCloud 是一项流行的服务,提供给 Apple 用户 5GB 的免费在线存储空间。这个存储空间可以用来备份 Apple 设备的内容,并存储其他信息,如文档、图片和音乐。去年,超过 3 亿的 Apple 客户在积极使用 iCloud。这个数字还在不断增长。

iCloud 为用户提供了极大的便利。例如,如果在海外旅行中丢失了 iPhone,用户可以直接在当地的 Apple Store 购买一台替代设备,输入其 iCloud 凭据,所有数据会自动恢复到新设备上。更换或升级设备时也是如此。

iCloud 备份完全自动化。然而,只有在满足以下条件时,备份才会发生:

  • 用户已在设备中启用 iCloud 备份

  • 设备连接或充电中

  • 存在 Wi-Fi 连接

虽然 iCloud 备份是增量式的,只会同步设备中发生变化的内容,但在初始化新 Apple 设备时,恢复备份只需一次操作。然而,如果需要传输大量数据,专家可能希望更快地获取数据。使用 Elcomsoft Phone Breaker,可以选择性地下载某些类型的数据,以便尽早开始调查。

更多关于 Apple iCloud 的信息,请访问 Apple 网站:

  • iCloud在 iCloud 中存储和备份您的内容

  • 创建 iCloud 账户常见问题解答

  • iCloud备份和恢复概述

开始使用 iCloud 钥匙串

从 iOS 7 的中间版本(7.0.3)开始,iCloud 还包含了钥匙串数据。iCloud 钥匙串作为一项功能被添加,允许 Apple 用户在所有 Apple 设备之间同步其账户名和密码。存储在 iCloud 钥匙串中的数据会在所有授权的 iOS 7 设备和共享相同 Apple ID 的 OS X Mavericks 设备之间自动同步。

虽然 iCloud 钥匙串默认并未启用,但苹果使其设置变得非常简单。当初始化一台新的 iOS 7(或更高版本)设备时,或者在将 iOS 升级到最新版本后,用户会被提示启用 iCloud 钥匙串。如果他们拒绝选择,稍后仍可以在 设置 | iCloud | iCloud 钥匙串 中启用它。

作为额外的安全措施,苹果要求用户设置 iCloud 安全代码,以保护其最敏感的钥匙串数据。该代码可以是一个 4 位数的 PIN 或者一个更复杂的密码。iCloud 安全代码用于授权其他设备访问 iCloud 钥匙串。此外,在用户升级或丢失设备时,这个密码也用于恢复 iCloud 钥匙串。

iCloud 钥匙串采用强制性的双重身份验证保护。目前市场上没有任何第三方工具可以解密 iCloud 钥匙串。从技术上讲,如果拥有恢复密钥或可信设备,第三方产品是可以访问 iCloud 钥匙串的。ElcomSoft 提供了一款概念验证工具,可以实现这一功能;不过目前该工具尚未成为商业化产品。

访问存储在 iCloud 钥匙串中的数据的另一种方式是:在苹果设备上启用 iCloud 钥匙串,同步设备,从本地钥匙串中提取数据,并通过 ElcomSoft Keychain Explorer 解密。这种方法需要拥有一台解锁的、可信的 iOS 设备。

有趣的是,iCloud 钥匙串(以及最近同步的设备的本地钥匙串)中包含了备份密码、Apple ID 和密码,这些信息在通过身份验证令牌访问 iCloud 时可能会派上用场。保护备份的密码存储在常规钥匙串中,并具有最强的保护等级。因此,这个密码只能通过物理获取方式进行解密。

更多关于 iCloud 钥匙串的信息:

开始使用 iCloud Drive

iOS 8 引入了将设备备份以外的其他信息保存到云端的功能。苹果将这一新服务命名为 iCloud Drive。除了备份,应用程序也可以将数据存储到云中;一个典型的例子就是 WhatsApp,它将备份与 iCloud 备份分开存储。iCloud Drive 的目标是与已有的云存储服务提供商竞争,如 Box、Dropbox、Google Drive 和 Microsoft OneDrive。用户可以将几乎任何类型的文件存储在 iCloud Drive 中,并且可以在任何苹果设备以及 Windows PC 上访问这些数据。

为了启用 iCloud Drive,Apple 用户必须明确升级他们的账户。虽然 Apple 用户可以随时升级他们的 iCloud 账户以使用 iCloud Drive,但要从 iPhone 和 iPad 访问 iCloud Drive,需要 iOS 8 或更高版本。iOS 9 使 iCloud Drive 的应用更加广泛,将云备份存储在新系统中,并逐步从经典的 iCloud 迁移出去。

到 2016 年 2 月,76% 的 Apple 用户已经升级到 iOS 9,并且默认将他们的云备份存储在 iCloud Drive 中。到那时,17% 的设备仍在运行 iOS 8,这意味着云备份存储在“普通”iCloud 中,而特定应用的备份和其他文件也可以存储在 iCloud Drive 中。其余的 7% 在 2016 年 2 月之前无法访问 iCloud Drive。

新的 iCloud Drive 可用于存储所有类型的用户数据,包括但不限于以下内容:

  • iWork 文档(如果配置为存储在云端),如 Pages、Numbers、Keynote

  • 第三方应用数据(例如 WhatsApp 备份、1Password 密码数据库等)

  • 某些在设备之间同步的系统文件(例如,用户词典,其中可能包含用户输入的、不是通用词典一部分的单词和短语)

iCloud Drive 使用与 Apple iCloud 不同的协议。因此,所有云取证工具都需要明确支持 iCloud Drive 才能访问存储在云服务中的信息。目前,Elcomsoft Phone Breaker 仍然是唯一完全支持 iCloud 和 iCloud Drive 的工具。

理解 iCloud 取证

iCloud 取证为专家提供了另一种获取重要证据的方式。云取证的优点显而易见:不需要访问物理设备,也不需要(也没有可能进行)长时间的密码攻击。潜在的问题包括:你必须知道用户的 Apple ID 和密码,或者拥有来自用户 PC 的近期(未过期)认证令牌。

使用云取证时,你只有两个选择。首先,你可以使用一台新的(或恢复出厂设置的)Apple 设备来恢复数据,然后备份这些数据。这是一个漫长且复杂的过程。或者,你可以使用 Elcomsoft Phone Breaker,这是唯一目前可用的云取证工具,因为 Apple 没有提供将 iCloud 信息下载到 PC 的方法。如果用户拥有多台设备,并且这些设备使用相同的 Apple ID 注册,则他们的在线备份可以无缝地从 iCloud 恢复,无需额外操作。

教程 - 使用 Elcomsoft Phone Breaker 进行云获取

截至目前,市场上只有一个工具能够执行完整的 iOS 设备空中获取,包括升级到 iCloud Drive 的帐户。Elcomsoft Phone Breaker(前身为 Elcomsoft Phone Password Breaker)是第一个也是唯一一个可以检索和解密存储在 iCloud 中的备份,并且可以在有或没有原始 Apple ID 和密码的情况下下载存储在目标 iCloud Drive 中的文件的第三方取证工具。值得注意的是,Apple 并没有提供将 iCloud 信息下载到 PC 上的方法,因此 Elcomsoft Phone Breaker 仍然是唯一可用的此类工具。

为了能够访问备份,您需要向 Apple iCloud 服务器提供有效的身份验证凭证。直到最近,从云端下载数据时,唯一的认证方式是通过登录(用户的 Apple ID)和密码。然而,最近发现,在某些情况下,会生成一个二进制身份验证令牌并将其存储在用户的计算机上,允许取证专家在不知道原始登录和密码的情况下访问云端的信息。

根据您是否知道原始 Apple ID 和密码,或者您是否能够访问实际物理设备或从用户计算机获得的信息,您可以选择多个获取路径中的一种。

下载 iCloud 备份 - 使用 Apple ID 和密码

如果您知道某人的 Apple ID 和密码,可以使用 Elcomsoft Phone Breaker 从他们的 iCloud 账户中下载信息。该工具将从 iCloud 下载备份,解密数据,并将其转换为 iTunes 备份,以便您可以使用几乎任何移动取证工具分析其内容。但请注意,我们不建议使用转换后的备份文件恢复设备。

要下载 iCloud 备份,启动 Elcomsoft Phone Breaker 并执行以下操作:

  1. 工具 菜单中,选择 Apple 标签。

  2. 选择 从 iCloud 下载备份

  3. 从 iCloud 下载备份 页面,定义身份验证类型为 密码

    • 密码:使用您的 Apple 凭证(Apple ID 和密码)。

    • 令牌:使用通过 Elcomsoft Apple Token Extractor 从 iCloud 提取的身份验证令牌。有关提取令牌的更多信息,请参见 提取身份验证 令牌主题。下载 iCloud 备份 - 使用 Apple ID 和密码

    • 输入 Apple ID 和密码到相应字段,然后点击 登录 进入 iCloud。下载 iCloud 备份 - 使用 Apple ID 和密码

  4. 一旦 Elcomsoft Phone Breaker 成功登录 iCloud(假设没有额外的身份验证步骤),它将显示与该 Apple ID 关联的设备列表。请注意,你将看到所有使用该 Apple ID 注册的设备,包括那些不在调查范围内的设备。iCloud 备份存储打开:下载 iCloud 备份 - 使用 Apple ID 和密码

    注意

    你可以查看 iCloud 用户的用户名、用户 ID 和 Apple ID,以及该用户的备份列表。默认情况下,显示最近的三个备份。将鼠标悬停在绿色(i)图标上可以查看存储容量和占用大小。

    若要选择由其他 iCloud 用户保存的备份,请点击更改用户如果某个设备正在忙于保存新的备份,且备份仍在进行中,该设备将不会列为可供下载。

  5. 每个设备都会显示以下信息:

    • 设备名称

    • 型号

    • 序列号

    • 唯一设备 ID

    • 最新备份创建的日期和时间:显示的时间为获取计算机所在时区的本地时间;如果被分析的设备属于其他时区,这一点至关重要。

    • 备份大小

  6. 通过选中左侧的复选框,选择你想要下载备份的设备。

  7. 定义下载备份的选项。点击信息以查看每个选项的提示。

    • 恢复原始文件名:如果选中此项,则所有备份文件将以与 iOS 操作系统中相同的文件名保存,包括完整路径。例如,短信(SMS 和 iMessage)会保存为 \HomeDomain\Library\SMS\sms.db(SQLite 格式)。如果未选中此项,备份将保存为 iTunes 格式(该格式也用于本地备份)。

      注意

      如果你正在使用第三方手机取证产品,确保禁用恢复原始文件名选项。禁用此选项后,备份将保存为 iTunes 格式,这是市面上几乎所有移动取证工具都支持的格式。

      仅下载特定数据模式下,恢复原始文件名的选项会自动启用,如下所示:

      下载 iCloud 备份 - 使用 Apple ID 和密码

    • 仅下载特定数据:选择此选项可以通过优先下载最重要的数据来加快调查进程。请注意,这个选项并不能替代完整的 iCloud 备份分析,它更像是对最重要数据的快速预览下载 iCloud 备份 - 使用 Apple ID 和密码

  8. 定义所有选项后,点击下载

  9. 使用选择文件夹指定本地计算机上存储下载文件的位置。

  10. 下载开始。

    注意

    尝试下载部分(正在进行中的)备份将失败。

  11. 下载完成后,工具会在已下载的备份旁边打上勾。点击 完成 退出下载向导。

下载的备份现在可以在您的计算机上进行进一步分析。您可以使用 www.elcomsoft.com/epv.html 浏览并查看备份的内容。

下载 iCloud/iCloud Drive 备份 - 使用认证令牌

很自然地,您会认为需要原始的登录凭证(Apple ID 和密码)才能访问存储在云中的信息。如果您不知道用户的 Apple ID 和密码,但可以访问他们用于与 iCloud(或 iCloud Drive)同步的计算机,应该怎么办?如果是这种情况,您可以尝试使用从用户计算机中提取的二进制认证令牌连接到 iCloud。

使用二进制认证令牌可以绕过 Apple iCloud 的登录和密码认证。作为附加好处,使用认证令牌还可以绕过用户指定的任何双重身份验证。

下载 iCloud/iCloud Drive 备份 - 使用认证令牌

从技术角度来看,认证令牌是由 iCloud 控制面板创建的小型二进制文件,用于免去用户每次同步云时都输入登录和密码的麻烦。如果安装了 iCloud 控制面板(或 iCloud for Windows),并且用户在获取令牌时已登录该计算机的控制面板,那么该令牌可以从用户的计算机中提取。如果用户退出了 iCloud 控制面板,则令牌会被删除并失效,意味着即使从硬盘中提取出来,也无法再用来访问 iCloud 数据。

注意

认证令牌不包含用户 Apple 账户的密码,也不包含密码的哈希值。您不能使用认证令牌进行暴力破解原始的明文密码。

iCloud 控制面板是 macOS 系统的重要组成部分。Windows 系统可以使用 iCloud for Windows。为了方便用户,可以保持登录状态,以便无缝同步联系人、密码(iCloud 钥匙串)、照片和其他类型的数据。这意味着很有可能从安装了 iCloud 控制面板(iCloud for Windows)的计算机中获取认证令牌。

使用认证令牌下载 iCloud 备份的过程与使用 Apple ID 和密码类似,不同的是,在下一个屏幕上,您需要提供认证令牌,而不是用户的 Apple ID 和密码:

下载 iCloud/iCloud Drive 备份 - 使用认证令牌

请注意,您需要从使用适当命令行工具提取的文本文件中复制完整的认证令牌字符串。在下面的屏幕截图中,文本文件的第二行表示认证令牌:

下载 iCloud/iCloud Drive 备份 - 使用认证令牌

提取认证令牌

只有在以下所有条件成立的情况下,才能从系统中提取有效的认证令牌(在本例中,我们讨论的是 Windows PC):

  • 用户已安装 iCloud for Windows

  • 用户已登录到 iCloud for Windows,且在获取时未注销

  • 在获取时,用户没有更改他们的 Apple ID 密码

注意

在任何阶段都不需要连接物理 iOS 设备。

Elcomsoft Phone Breaker 提供了两种不同的提取令牌的方法。提取当前登录用户的二进制认证令牌时,调查人员可以使用提供的命令行工具(atex.exe)。在所有其他情况下,Elcomsoft Phone Breaker 提供了一个方便的用户界面。

必须先从用户的计算机、硬盘或取证磁盘映像中提取认证令牌,才能使用它。Elcomsoft Phone Breaker 配备了可以定位、提取和解密二进制认证令牌的工具。该工具可以为该计算机上的所有用户提取认证令牌,包括域用户(前提是知道他们的系统登录密码)。此外,认证令牌还可以离线从用户的硬盘或取证磁盘映像中提取。命令行工具适用于 Windows 和 macOS X。

让我们看看在 Windows 上如何提取认证令牌。有关如何在 macOS X 上提取认证令牌的说明,请访问 www.elcomsoft.com/help/en/eppb/extracting_authentication_mac.html

认证令牌可以为当前 iCloud 控制面板用户提取,也可以为系统中的所有其他用户提取,只要知道正确的账户密码(或管理员密码)。此外,可以从存储在虚拟磁盘或取证磁盘映像中的二进制文件 m 中提取认证令牌。为了简化起见,下面我们将为当前的 iCloud 控制面板用户提取认证令牌。

要在 Windows PC 上提取当前 iCloud for Windows 用户的认证令牌,请执行以下操作:

  1. 启动 atex.exe。一个名为 icloud_token_<timestamp>.txt</timestamp> 的文件将被创建在您启动工具的同一文件夹中(如果您没有足够的权限将文件写入启动 atex.exe 的文件夹,则会创建在 C:\Users\<user name="">\AppData\Local\Temp</user> 文件夹中)。

  2. 提取的文件的完整路径将显示在控制台窗口中:提取认证令牌

  3. 生成的文件具有 .txt 扩展名,包含当前 iCloud 控制面板用户的 Apple ID 及其认证令牌。提取认证令牌

    如果您需要为其他 Windows 用户提取认证令牌,或者您正在处理法医磁盘镜像,您可以使用令牌提取向导。

  4. 启动 Elcomsoft Phone Breaker 并选择 提取认证令牌提取认证令牌

  5. 指定令牌文件的路径(通常是 %appdata%\Apple Computer\Preferences\)。提取认证令牌

  6. 指定主密钥的路径(此密钥用于解密令牌),然后点击 提取。此密钥用于解密认证令牌。提取认证令牌

  7. Elcomsoft Phone Breaker 将提取、解密并显示令牌。您将能够将令牌导出为文件。现在您可以使用此令牌登录 iCloud 并从 iCloud 下载备份。

再次提醒,如果您使用的是 macOS X 计算机,请阅读以下文档以获取逐步指南:

www.elcomsoft.com/help/en/eppb/extracting_authentication_mac.html

获取关于提取认证令牌的最新信息,请访问 www.elcomsoft.com/help/en/eppb/index.html?extracting_token_on_non-live_w.html

iCloud 认证令牌(iOS 6 至 9)- 限制

那么,这些二进制认证令牌(ATEX)是 iOS 法医中的“灵丹妙药”吗?在发现这一获取方法后的几个月里,我们是这么想的。然而,Apple 已实施了一些更改,使得通过二进制认证令牌获取 iCloud 数据的吸引力有所下降。

注意

根据 iOS 版本,从 iCloud 控制面板提取的 ATEX 令牌可能有使用限制。尽管仍然可以使用该令牌登录 iCloud 并查看设备列表及其相应的备份,但在一些罕见情况下,该令牌可能仅在一个小时内有效,用于下载 iCloud 备份。这适用于 iOS 8.x。

Apple 在回应名人照片黑客事件后,大幅缩短了 iCloud 认证令牌的有效期。然而,随着新的认证方法(包括两步验证,后来被双因素认证取代)问世,Apple 再次放宽了规则。

注意

快速令牌过期不适用于新的 Apple iCloud Drive。虽然“经典”iCloud 令牌显然在一小时后过期,但这些相同的令牌在用于 iCloud Drive(用于从运行 iOS 9 及更高版本的设备中提取数据,包括云备份)进行认证时,似乎并不会有这么短的有效期。我们无法确切确定这些令牌在此目的下的有效时长,但有效期显然比 经典 iCloud 令牌长得多。

以下表格说明了 经典 Apple iCloud(iOS 6 至 8)使用的 ATEX 令牌的用途:

在 iCloud 控制面板登录后一小时内 超过一小时后,直到过期
设备列表
iCloud 备份列表
下载 iCloud 备份
  • 否(iOS 8.x)

  • 是(iOS 9.x)

|

下载存储在 iCloud Drive 中的文件

iCloud Drive 身份验证令牌(iOS 9 及更高版本)——完全不同的情况

从 iOS 9 开始,Apple 将云备份存储在 iCloud Drive 中,而不是 经典 iCloud。iCloud Drive 的令牌受不同规则的管辖,且似乎没有像 iCloud 令牌那样短的有效期。

尽管如此,我们无法确定 iCloud Drive 令牌的确切有效期。它明显比“经典”iCloud ATEX 令牌的有效期要长,而且肯定超过几天。因此,相比 iOS 8,iOS 9 及更高版本的设备云提取更有可能成功。

快速开始 - 选择性下载

Apple iCloud 并不是地球上最快的云存储服务。事实上,有时候它非常慢,远比一般的宽带连接速度慢。实际上,这意味着下载完整的 iCloud 备份可能需要几个小时,甚至在某些情况下需要一整晚。

然而,你可能甚至不需要 iOS 设备的完整数据集。用户的通话记录、消息、浏览数据、笔记、联系人、社交通讯和一些其他类型的数据对于调查来说非常重要,但它们在手机中占用的空间非常少。考虑到 Apple iCloud 的速度,你可以选择花几分钟下载一些选定类型的数据,然后再获取完整备份。

如果你需要立即获取某些数据来开始调查,你可以使用 Elcomsoft Phone Breaker 中的 仅下载特定数据 选项。

快速开始 - 选择性下载

接下来,你需要点击“自定义”以指定要下载的数据类型。

快速开始 - 选择性下载

请注意,这个选项并不是完整 iCloud 备份分析的合适替代品。它的预期目的是提供一个 快速预览,查看最重要的数据,让你在完整备份仍在下载时就能开始调查。

关于可用于选择性下载的数据类型的更多信息,请访问 www.elcomsoft.com/help/en/eppb/downloading_specific_data.html

双因素身份验证

IT 安全领域在不断变化。最近的安全漏洞促使 Apple 实施了额外的安全措施。这些增加的安全措施包括扩展了双因素身份验证,并且当有新设备访问用户云账户中的信息时,会向用户发送通知。双因素身份验证现在已经可用(但仍然是可选的)用于云备份。

Apple 还宣布了一种额外的双重认证方法。除了现有的认证方法,包括在受信设备上的验证码和恢复密钥外,还增加了应用专用密码方法。然而,应用专用密码与法医获取无关,因为它们与备份或存储在云端的文件无关。

对额外安全性的需求如此强烈,以至于 Apple 被迫在 iOS 8 发布前加强 iCloud 安全性。这使得启用双重认证后,许多第三方工具无法再用来访问云端。

双重认证(以及较旧的两步验证)仍然是可选的。如果启用,专家只有在以下任一条件满足时,才能访问云数据:

  • 发送到受信设备的安全码必须能够访问受信设备或带有受信电话号码的 SIM 卡。受信设备必须解锁才能查看安全码。SIM 卡可以用于在任何设备上接收验证码短信;无需使用原始的 iPhone 来接收验证码。

  • 在设置两步验证时创建的恢复密钥

  • 从受信设备获得的二进制认证令牌,或从计算机中提取

双重认证不仅涵盖 iCloud 备份,还包括存储在云端的其他信息。

双重认证是可选的

截至今天(2016 年 5 月),Apple 并未强制要求用户启用双重认证。强制进行额外认证会影响 Apple 用户习惯的便捷性和易用性。额外的认证步骤可能导致一些用户放弃云备份的想法。因此,Apple 仍在通过试验和错误寻找平衡。

Apple 没有披露启用双重认证的用户数量。双重认证和两步验证仍然不完全透明。在现实世界中,我们很少看到许多 Apple 用户启用双重认证。我们预计,双重认证的接受率将在可预见的未来缓慢而稳定地增长。

双重认证与两步验证 - 理解它们之间的区别

两步验证和双重认证是两个截然不同但又容易混淆的过程,旨在保护 Apple ID 及相关服务的访问安全。两者方法都在原有的 Apple ID 和密码之外,增加了一个额外的认证因素,验证你拥有的东西以及你知道的东西

不同于其他公司(例如 Google),Apple 并未采用单一的双重认证解决方案。相反,该公司不得不使用两种具有类似用户体验但技术实现完全不同的过程。为什么要使用两种不同的过程?事实上,两步验证是匆忙的事后想法。在名人照片泄露丑闻期间,Apple 必须迅速采取行动,对现有(和遗留)iOS 版本的用户实施更严格的安全措施。另一方面,双重认证(你是不是已经晕了?)出现在 iOS 9 和 macOS El Capitan 中,仅适用于最新 iOS 版本的用户。那么这两种验证过程有什么区别,对移动取证又有何影响?让我们试着找出答案。

注意

Apple 关于两种验证方法的官方文档。

两步验证

双重认证

两步验证

两步验证2SV)于 2013 年推出,作为对 iCloud 名人照片泄露事件的匆忙回应。它在 iOS 8 发布之前推出,用于保护用户 Apple ID 的某些活动。当登录 Apple ID 或 iCloud 或从新设备进行购买时,2SV 会在登录时添加额外的验证步骤(请参阅前面的 Apple 链接以获取更多信息)。

对于数字取证的目的,重要的是 Apple 如何提供作为第二验证因素的代码。

用户可以通过四种不同方法接收两步验证的代码。

交付第二验证代码

  • 发送推送通知到信任设备

  • 发送文本消息或电话给信任的手机号码

  • 恢复密钥(离线)

  • 应用特定密码

启用两步验证

  • 从 Apple 设备上

  • 通过我的 Apple ID 在线操作

双重认证

与匆忙推出的两步验证不同,真正的技术进步是两步验证(首次在 2015 年与 iOS 9 一起发布)。这一全新和改进的安全方法需要操作系统的内建支持,并且仅在 iOS 9 及更高版本或 OS X El Capitan 及更高版本中有效。重要的是,两步验证(2FA)无法在运行较旧 iOS 版本的设备上使用。两步验证的可用性目前仅限于某些地区,2FA 将逐步推广到所有地区。

两步验证

两步验证取消了离线恢复密钥和应用特定密码。

传送二次验证代码

  • 推送通知到受信任的设备(所有受信任的设备上会显示互动提示;设备必须解锁才能允许访问并查看验证码)。

  • 通过短信或电话拨打注册的号码(使用没有收到验证码?链接)。

  • 新功能:不再需要应用特定密码。将 6 位验证码附加到原始密码后,可以用来验证不支持两步验证的应用程序。

  • 新功能:通过受信任设备设置生成的时效性代码进行离线验证。

启用两步验证

  • 只能在兼容的苹果设备(iOS 9,El Capitan)上启用两步验证。无法通过 Web 进行在线激活。

  • 2FA 替代了旧版的 2SV。如果已经启用了 2SV,必须先禁用它,才能启用两步验证。

两步验证

两步验证的一个重要进展是能够通过请求受信任设备生成(并使用)离线验证代码。

两步验证

这些新的离线验证代码类似于谷歌和微软的实现。每 30 秒生成一个新的代码。不过,苹果的做法与谷歌和微软的认证应用有些不同。苹果为每个受信任的设备使用独特的种子,这意味着每个受信任的设备生成一个独特的验证代码,而谷歌和微软则只允许所有认证应用共用一个种子。这意味着苹果用户可以从每个单独的设备撤销 2FA 授权,而谷歌和微软用户撤销 2FA 验证会立即使所有已安装认证应用的受信任设备上的认证失效。

在两步验证中不使用应用特定密码

不再提供应用特定密码,以支持那些不支持苹果两步验证方案的应用程序。恢复密钥也已经取消。当访问受两步验证保护的设备或服务时,用户如果至少有一台设备不支持 2FA(例如,运行 iOS 8 或更早版本的 iPhone),将看到以下提示:

你的部分设备尚未准备好进行两因素认证。如果继续操作,你将不得不在每次输入密码时,将六位验证代码附加到密码末尾,尤其是在旧设备上。

苹果似乎已经采取了一些措施,使这一过程不那么不便。第一次尝试从 iOS 8.3 设备(不支持 2FA)进行 App Store 购买时,会提示输入密码,并附带一个 6 位数字代码。受信任的设备会显示提示和代码。有趣的是,在我们第二天进行的测试中,常规的 Apple ID 密码有效。再次强调,我们第二天使用相同的设备时不需要附加 6 位数字代码。然而,我们的受信设备(运行 iOS 9)仍然显示提示和代码,但我们不必使用它。这有些令人困惑。

如果你无法访问二次认证因素怎么办?没有受信设备,也无法访问注册的电话号码。

两因素认证中没有应用特定密码

在这种情况下,官方路径是向苹果提交请求,通过两因素认证帐户恢复来重新获得 Apple ID 的访问权限 support.apple.com/en-us/HT204921

带有两步验证和两因素认证的云端获取

如果你正在使用 Elcomsoft Phone Breaker 进行云端获取,并且 Apple ID 受到了 2SV 或 2FA 的保护,你需要提供该二次认证因素,才能进行身份验证并访问备份。如果启用了两步验证,Elcomsoft Phone Breaker 会自动提示输入二次认证码。

请注意以下事项:

  • 应用特定密码不能用于下载 iCloud 备份。

  • 如果设备运行的是 iOS 8.x 或更早版本,则只能使用两步验证(而不能使用两因素认证)。然而,如果用户至少拥有一台支持 2FA 的设备,他们仍然可能会为 Apple ID 启用 2FA。

  • 如果启用了给定 Apple ID 的两因素认证,一种继续操作的方式是生成(或接收)一个 6 位认证码。在认证 Elcomsoft Phone Breaker 时,你可以将该六位数代码附加到密码末尾

  • 如果你正在从使用两因素认证的 Apple 帐号(iOS 9 及更高版本)获取备份,并且你使用的是从受信设备设置中生成的离线 2FA 代码,请注意,这些代码是短暂的。你只能在生成后的前 30 分钟内使用这些代码进行身份验证,过后它们将失效。

  • 如果你无法访问第二次认证因子,可以尝试使用二进制认证令牌。这样的令牌可以通过安装了 iCloud 控制面板(iCloud for Windows)的计算机获取。这些令牌似乎不会过期,适用于存储在 iCloud Drive 中的 iOS 9 备份,但对于存储在经典 iCloud 中的 iOS 8.x 及更早的备份,则已知会很快过期。

下一步是什么?

从 iOS 设备获取信息是第一步。下一步是查看数据,接着发现和分析证据。现在有许多优秀的取证工具可以分析从各种移动设备提取的信息。这些工具从非常简单的工具到大型的全功能套件不等,后者允许你一次交叉分析多个数据源。

如果你没有使用这些工具的经验,可能想从轻便且简单的工具入手——例如,Elcomsoft Phone Viewer。

Elcomsoft Phone Viewer 是一个小型、轻量级的工具,用于查看从移动备份中提取的信息。该工具可以显示联系人、消息、通话记录、笔记、日历数据以及许多其他类型的数据。还可以查看存储在 iOS 备份中的已删除短信和 iMessages。

小结

在本章中,我们介绍了两种最常用的 iOS 获取方法:逻辑获取和云提取。我们讨论了备份加密和密码保护,了解了云备份和 iCloud 认证。我们讲解了苹果的两步验证和双因素认证之间的区别,并提供了全面的逐步教程,涵盖了逻辑获取和云提取。在下一章,我们将从苹果平台转向微软平台,讨论 Windows Phone 8/8.1 和 Windows 10 Mobile 的可用获取选项。

第七章:获取 – 接触 Windows Phone 和 Windows 10 Mobile

Windows Phone 是移动市场的新兴玩家。微软采取了激进的策略,通过多个无线运营商销售大量低成本设备。该操作系统经过优化,即使在低端硬件上也能完美运行,相比更臃肿、沉重的 Android,它在廉价手机上提供了更加流畅的用户体验。

根据 IDC (www.idc.com/prodserv/smartphone-os-market-share.jsp) 的数据,Windows Phone 在 2015 年第二季度占据约 2.6% 的市场份额,2015 年第二季度共售出 880 万部设备。

与市场份额逐年下降的 BlackBerry 不同,微软通过在印度等新兴市场销售数百万台廉价设备,成功扩大了其用户群。Windows Phone 在 Google Android 和 Apple iOS 之后,稳居第三,而 BlackBerry 则几乎只能勉强进入 其他 类别。

根据 Kantar (www.kantarworldpanel.com/smartphone-os-market-share/intro) 的数据,到 2015 年 12 月,Windows Phone 设备在德国占所有智能手机销售的 6.4%(相比之下,Apple iPhone 市场份额为 20.2%)。在美国,Windows Phone 占 1.6% 的智能手机销售份额,而 iOS 则拥有 39.1% 的健康市场份额。

一般来说,Windows Phone 在欧洲成为了一个受欢迎的选择(在英国为 9.2%,在意大利为 8.1%)。微软的移动操作系统在亚洲并不常见(中国为 1.2%,在日本几乎没有市场份额):

获取 – 接触 Windows Phone 和 Windows 10 Mobile

来源: http://wp7forum.ru/kantar-worldpanel-otchet-po-dole-rynka-mobilnyx-operacionnyx-sistem-za-sentyabr-2014-goda/

Windows Phone 安全模型

微软提供了一份关于 Windows Phone 8 安全模型的详细白皮书,下载地址为 download.microsoft.com/download/B/9/A/B9A00269-28D5-4ACA-9E8E-E2E722B35A7D/Windows-Phone-8-1-Security-Overview.pdf

Windows Phone 物理获取

显然,微软在保护 Windows Phone 设备方面做得非常出色。事实上,微软完全控制着该平台(高通平台),该平台被不同的 Windows Phone 设备制造商使用,因此与 Android 不同,这里不会有劣质实现。因此,所有 Windows Phone 设备在安全性方面大致相当。直到最近,JTAG 和芯片拆卸获取是获取大多数 Windows Phone 的唯一方法。然而,在 2015 年 1 月,Cellebrite 实现了一个获取模块,使调查人员能够对大量 Lumia 设备进行物理获取。该技术仍处于初级阶段,解析内容仍有很多工作要做。然而,文件系统是 NTFS,操作系统与 Windows 非常相似,因此最终这将会完成。

从那时起,又出现了一项新发展。Windows Phone Internals (www.wpinternals.net/) 为 Lumia 520、521、525、620、625、720、820、920、925、928、1020 和 1320 开发了一个解锁引导加载程序的方法。解锁引导加载程序的设备可以用来启动未签名的代码,而这些代码可以用于物理获取的目的。

Windows Phone 8.x 和 Windows 10 Mobile 上的 JTAG 法医取证

类似于 Android,大多数 Windows Phone 7.x、8.x 和 Windows 10 Mobile 设备可以通过 JTAG 法医取证过程成功获取。该过程与获取 Android 设备非常相似,因此请参阅后续章节中的 JTAG 获取部分,JTAG 法医取证 [第 42 页]。

与 Android 设备相比,成功 JTAG 一个 Windows 智能手机的几率要高得多。然而,随着 Windows Phone 8.x 设备升级到 Windows 10 Mobile,JTAG 获取的情况发生了变化。

Windows Phone 8.x 设备加密

Windows Phone 8 和 8.1 没有提供用户可配置的设置来加密数据分区。根据官方的 Windows Phone 8.1 安全概述 文档(可以从 download.microsoft.com/download/B/9/A/B9A00269-28D5-4ACA-9E8E-E2E722B35A7D/Windows-Phone-8-1-Security-Overview.pdf 下载),内部存储只能通过实施 需要设备加密 策略(Require Device Encryption)通过企业安全策略进行加密。当启用此策略时,它会阻止用户禁用设备加密,并强制加密内部存储。不会创建或上传任何托管密钥到网络上的任何地方,以便解密加密分区。启用后,Windows Phone 8.1 设备会使用 BitLocker 技术进行加密,并使用 高级加密标准AES)128 位加密。

注意

重要:在 Windows Phone 8.x 设置中没有任何用户可访问的选项来启用或禁用加密。加密只能通过推送的企业政策启用。因此,大多数终端用户设备保持未加密状态,用户无法加密数据。

Windows 10 Mobile 设备加密

这一系统在 Windows 10 Mobile 中发生了变化。在此版本的操作系统中,用户可以通过 设置 | 系统 | 设备加密 手动启用加密:

Windows 10 Mobile 设备加密

有趣的是,Windows 10 Mobile 允许用户在启用设备加密后禁用加密功能。这是 Android 中无法做到的。要禁用设备加密,用户只需在同一配置界面上将滑块切换为关闭

关于 JTAG 获取,加密设备几乎没有兴趣,必须先解密才能获取数据。为了解密设备,必须输入正确的 PIN 码来解锁设备;然而,Windows 10 Mobile 允许即使没有 PIN 码也能进行加密。在 Windows 10 Mobile 中,系统没有用户可配置的功能来在多次登录失败后清除设备内存;因此,针对这些设备,基于硬件的 PIN 恢复选项是可行的。

Windows Phone 8/8.1 和 Windows 10 Mobile 云取证

Windows Phone 8 和 8.1 设备,以及运行 Windows 10 Mobile 的设备,可以通过 Microsoft 账户(前身为 My Windows Phone)使用 Microsoft OneDrive(前身为 SkyDrive)。Microsoft 备份将信息分成多个部分并以一种不透明的格式保存。即使你恰好知道用户的 Live ID 和密码,或直接从 Microsoft 获取备份,手动分析这些数据仍然非常困难。

在从 Microsoft 云获取数据时,Elcomsoft Phone Breaker 按块下载信息,并创建一个人工备份。此备份主要使用 SQLite 格式,从而使专家能够使用标准的取证工具分析其内容。该工具还提取与某个 Microsoft 账户关联的设备列表。

Elcomsoft Phone Breaker 可以提取以下 Windows Phone 和 Windows 10 Mobile 设备的数据:

  • 联系方式

  • 注意事项

  • 短信消息

下载的数据作为一个归档文件保存,其中包含 SQLite 数据库,以及一个 Manifest.xml 文件,后者包含该用户 Microsoft 账户下每个设备的信息,并列出了每个数据库文件的文件名。

通过空中获取 Windows Phone 备份

Elcomsoft Phone Breaker 允许下载通过用户 Microsoft 账户备份到云中的 Windows Phone 数据(前提是你知道用户的 Microsoft 账户登录信息和密码)。

要从 Microsoft OneDrive 下载 Windows Phone 数据,请执行以下步骤:

  1. 工具 菜单中,选择 Microsoft 标签,然后点击 下载 Windows Phone 数据通过空中获取 Windows Phone 备份

  2. 为用于备份数据的 Microsoft 帐户定义用户名密码。切换视图按钮以显示或隐藏密码:通过无线方式获取 Windows Phone 备份

  3. 选择一个位置以保存从 Microsoft 帐户下载的数据。

    • 点击更改用户以访问存储在不同 Microsoft 帐户下的数据。

    • 点击下载开始下载数据:通过无线方式获取 Windows Phone 备份

  4. 下载过程开始。您可以查看处理过的文件数量以及解密过程中接收到的错误数量:通过无线方式获取 Windows Phone 备份

  5. 解密完成后,您可以通过点击查看按钮,在本地计算机上查看保存备份的位置。要查看解密文件的详细信息以及解密过程中发生的错误,请点击详细信息通过无线方式获取 Windows Phone 备份

  6. 点击完成以关闭向导。

人工创建的备份文件现在可以在您的计算机上进行进一步分析。您可以使用Elcomsoft Phone Viewer浏览并查看此备份的内容。此时,工具会提取联系人、消息和笔记(以 MS OneNote 格式);Elcomsoft Phone Viewer可以将这些笔记提取为单独的*.one文件。

注意

注意:您可以使用相同的 Microsoft 帐户凭据访问存储在用户 Microsoft 帐户中的其他信息。这包括电子邮件(Hotmail)、在线云存储(OneDrive)、Skype 联系人和历史记录(Skype),以及在Microsoft Live旗下管理的其他服务。您可以通过登录用户的 OneDrive 帐户并选择设置 | 设备备份 (onedrive.live.com/Options/DeviceBackups)查看可用的备份列表:

通过无线方式获取 Windows Phone 备份

现在,您可以在 Elcomsoft Phone Viewer 中打开备份。您将能够访问与相同 Microsoft 帐户同步的所有设备上的联系人、消息和笔记:

通过无线方式获取 Windows Phone 备份

本次会话捕获的帐户包含六台 Windows 设备的备份,包括 Microsoft Lumia 640 和 Nokia Lumia 930 手机、一台 ThinkPad 8 平板电脑、一台运行 Windows RT 的 Nokia Lumia 2520 平板电脑、一台台式电脑和一台笔记本电脑。下载后,可以通过以下界面访问备份:

通过无线方式获取 Windows Phone 备份

消息仅在下载由 Windows 智能手机备份的信息时可用:

通过无线方式获取 Windows Phone 备份

另一方面,联系人可以在所有设备上使用,并与用户的 Outlook / Hotmail / Windows Live 帐户同步:

通过无线方式获取 Windows Phone 备份

此时,Windows 设备的云获取选项仅限于之前看到的信息。实际设备备份(onedrive.live.com/Options/DeviceBackups)已被安全加密。需要进一步研究才能检索和解密这些备份:

无线获取 Windows Phone 备份

总结

在本章中,我们讨论了适用于移动设备的 Windows 法医分析。我们还介绍了 Windows Phone 8.x 和 Windows 10 Mobile 智能手机的获取方法。我们讨论了云获取及其在 Windows 平台上的限制,并学习了如何使用 Elcomsoft Phone Breaker 从 Microsoft OneDrive 提取备份数据。在下一章中,我们将继续讨论 Windows 平台,尽管这一次我们将研究下一类设备——运行 Windows 和 Windows RT 操作系统的平板电脑。

第八章:获取 – 处理 Windows 8、8.1、10 和 RT 平板

本书并不是一本关于 Windows 取证的书籍。获取、成像和分析 Windows 数据是数字取证领域最为成熟的领域之一。本书将涵盖使得平板取证与传统 PC 和笔记本获取方法不同的主要要点。本章将讨论取代传统睡眠和休眠模式的全新连接待机模式,讨论各种 Windows 平板平台上的安全启动,回顾 UEFI BIOS 设置,并学习如何从可启动 USB 介质启动平板。我们还将介绍捕获设备 RAM 内容和成像不可移除 eMMC 介质的技术。但在此之前,我们先来看看什么是 Windows 平板,什么又不是。

本书不包括的内容有:创建可启动 USB 介质的一般步骤(这一部分在其他地方已经有详细介绍,包括微软官方资源),以及使用任何特定取证工具制作的可启动 USB 介质的使用。然而,我们会描述 Windows RT 设备的这些步骤,因为标准 Windows 恢复介质无法与 RT 设备兼容。

Windows 8、8.1、10 和 RT 在便携式触摸屏设备上的应用

自从 2012 年发布 Windows 8 以来,微软一直在瞄准便携电子设备市场。新的磁贴式用户界面优化了触摸使用,旨在主要用于平板电脑和具备触摸屏的便携式计算机。

微软渴望进入平板市场,甚至专门开发了一个名为 Windows RT 的 Windows 版本,用于运行基于 ARM 指令集的硬件(如诺基亚 Lumia 2520、微软 Surface RT 和 Surface 2 等设备中的 Snapdragon 800 和 NVIDIA Tegra 4 芯片组)。如今,微软已正式声明这只是一个权宜之计,而许多顾客和 IT 媒体早已认为这条路是死胡同。

恰巧在差不多同一时间,英特尔决定征服便携式电子设备市场,并通过补贴那些选择在手机和平板电脑中使用英特尔 CPU,而不是采用当时主流的 ARM 架构的制造商,来推动 x86 架构。这吸引了制造商生产搭载英特尔处理器并运行安卓系统的平板和手机。现在,随着许多便携式设备采用 x86 架构,微软不再需要依赖 RT 和 ARM 架构。

为了与安装在 x86 处理器平板电脑上的 Android 竞争,微软决定向生产小型和廉价设备的制造商免费提供 Windows。因此,微软发布了一款名为 Windows 8.1 with Bing 的特别版本,免费提供给 8 英寸及以下显示尺寸的小型平板电脑制造商。微软还为安装 Windows 的制造商提供额外的激励措施,如 64GB 及更大容量 SDXC 卡上的默认文件系统 exFAT 免费授权以及免除许可费(否则安卓设备制造商需要支付给微软的许可费用)。

这些激励措施实际上起了作用。虽然绝对数量上没有那么多 Windows 平板电脑,但每年的销量都在增加。HP Stream 7、Dell Venue 8 Pro 以及许多其他 7 英寸和 8 英寸的 Windows 平板电脑以极低的价格出售。

如今,全球销售数十万台这些设备。尽管大多数平板电脑运行完整的 Windows 系统(仍有少数运行 Windows RT 的设备存在),但与过去购买台式机和笔记本电脑的方式有很大不同。

Windows 平板电脑的获取

购买 Windows 桌面和笔记本电脑相对较容易。程序已广为人知,专家们长期以来都有处理这些机器的经验。例如,要获取内存转储,可以简单地插入一个 USB 驱动器并运行一个小型实用程序。如果这种方法不可行,还可以利用 FireWire 端口(如果有安装的话),或者在没有 IEEE.1394 端口的情况下安装一个附加的 FireWire 适配器。对于平板电脑而言,这种操作则需要使用不同的技术。

这种相对新的 Windows 设备类别包括便携式电子设备,其中包括平板电脑和可转换设备(带可拆卸键盘的笔记本电脑)。从法医学的角度来看,这些设备在某些方面与 Windows 桌面电脑相似,但在其他方面却有很大不同。我们来看看如何处理平板电脑。

理解安全启动

在过去几年制造的大多数计算机和笔记本电脑,以及几乎所有营销过的 Windows 8、8.1 和 Windows 10 平板电脑,它们的 UEFI BIOS 中都有一个叫做安全启动(Secure Boot)的功能。安全启动由 PC 行业成员开发,旨在保护设备的引导加载程序,防止启动未经信任(或者说未签名)的系统。如果配置了安全启动,平板电脑只能使用厂商信任的软件进行引导。

安全启动的概念类似于我们在苹果 iOS 和许多 Android 设备上看到的锁定启动引导程序,尽管其操作和技术实现方式有所不同。如果在计算机的 UEFI BIOS 中启用了安全启动,计算机的固件会验证启动链中每一环的数字签名,包括固件驱动程序和操作系统。只有当签名通过验证时,计算机才会启动。

需要理解的是,禁用安全启动并不是进入 Windows 8.x/Windows 10 恢复镜像的必要条件,即使该镜像存储在外部闪存驱动器上。安全启动的功能是防止不受信任的、未签名的代码运行,因此如果启用,它会阻止启动 Linux 或其他系统。

注意

安全启动仍然是一个可选功能,微软 Windows 8、8.1 和 Windows 10 都支持,但并非必须。所有 Windows RT 设备出厂时都启用了不可移除的安全启动保护,这使得对这些机器进行取证分析变得更加困难。

连接待机(InstantGo)

便携式 Windows 设备,如平板电脑和可转换设备,设计时基于 Connected Standby(连接待机)概念,这意味着除非用户特意发出 关机 命令,或者电池几乎耗尽,否则设备不会真正进入休眠或自动关闭。

在连接待机模式下,设备每 16 小时休眠只消耗约 5% 的电池电量(根据微软的规格)。在此模式下,设备保持与无线网络的连接,并执行大多数常规的后台活动,如检查和接收电子邮件、同步社交网络以及更新新闻源。

对于数字取证目的,这意味着任何被扣押的 Windows 平板电脑必须像处理一部活跃的手机一样处理。换句话说,必须采取预防措施,将设备立即放入法拉第袋中,以阻止其无线连接。然而,这也意味着被获取的便携设备几乎肯定处于开启状态,并且可以用来获取内存转储。

重要的是,InstantGo(连接待机)是 Windows 平板电脑上自动激活 BitLocker 设备加密的其中一个要求。

BitLocker 设备加密

BitLocker 设备加密是 Windows 8.x 和 Windows 10 安全模型的一个关键部分。设备加密本质上是 BitLocker 的功能受限版本,用于加密整个 C 盘分区。与仍主要运行 Windows 7 的桌面和笔记本电脑不同,所有版本的 Windows 8.x 和 10 用户,包括核心版和带 Bing 的 Windows,均可使用 BitLocker 设备加密。

从本质上讲,对于数字取证,BitLocker 设备加密会在用户使用具有管理员权限的 Microsoft 帐户登录时自动启用。首次登录后,系统会自动开始加密过程。加密过程在后台运行,对最终用户是透明和不可见的。恢复密钥会自动保存在用户的 Microsoft 帐户中,并且可以从该帐户中检索以解密设备。在企业环境中,BitLocker 的托管密钥会保存在活动目录中。

提示

重要: 保存到用户 Microsoft 帐户中的恢复密钥(BitLocker 托管密钥)可以随时由用户删除。微软表示,从用户的 Microsoft 帐户中删除的恢复密钥会被永久销毁,公司不会保留。因此,应该考虑防止嫌疑人访问他们的 Microsoft 帐户并删除存储在该帐户中的 BitLocker 恢复密钥。

BitLocker 设备加密在所有版本的 8.1 和 Windows 10 中提供。然而,与完整的 BitLocker 不同,设备加密要求设备符合以下所有规格:

  • InstantGo(前称为连接待机)支持

  • 固态硬盘或 eMMC 存储

  • 焊接(不可拆卸)RAM 以防止冷启动攻击

  • 受信平台模块 (TPM) 2.0 芯片

必须满足以上所有规格,才能启用 BitLocker 设备加密。值得注意的是,所有 Windows RT 设备以及大多数 Windows 8.1 和 Windows 10 平板电脑自然符合上述所有规格,唯一的例外是某些较便宜的平板电脑可能没有 TPM 芯片。因此,BitLocker 设备加密不会自动启用在没有 TPM 芯片的低价 Windows 8.1/Windows 10 设备上。

BitLocker 与加密文件系统

虽然 BitLocker 保护整个操作系统驱动器免受离线攻击,加密文件系统 (EFS) 可以通过按用户基础加密单个文件和文件夹提供额外的文件级安全性。换句话说,尽管 BitLocker 加密保护整个计算机的内容免受外部攻击,EFS 有助于在同一台计算机的多个用户之间保持安全隔离。EFS 可以与 BitLocker 结合使用,以进一步加密 BitLocker 保护驱动器上的文件。

BitLocker 与休眠

正如我们所知,BitLocker 将其二进制加密/解密密钥存储在计算机的主内存中,这使其容易受到内存转储攻击。然而,BitLocker 解密密钥可能会出现在计算机的休眠文件中。

Mike Halsey 在他发表的文章 Will Bitlocker's Security Flaw Remain in Windows 8? (www.ghacks.net/2012/03/15/will-bitlockers-security-flaw-remain-in-windows-8/) 中声称,休眠或许是 BitLocker 最大的安全漏洞。所有版本的 Windows(包括 Windows 8.1)都会在硬盘的某个位置以未加密的形式存储休眠文件。这就使得可以使用取证工具(例如,Elcomsoft Forensic Disk Decryptor)从休眠文件中提取二进制解密密钥,并利用这些密钥立即解锁加密卷。微软对此表示确认 (technet.microsoft.com/en-us/library/ee449438(v=ws.10).aspx#BKMK_Sleep),并建议在启用休眠电源管理的情况下,使用额外的身份验证步骤来保护 BitLocker 加密镜像。

值得注意的是,许多 Windows 8 系统默认情况下会禁用休眠功能。然而,Windows 8.x 平板电脑通常会有一个 Microsoft 称为 快速启动 的选项,这是一种混合关机(或部分休眠)电源管理模式。由于快速启动默认启用,每次用户通过电源 Charm 关闭平板电脑时(与通过 Windows + X 菜单关闭不同,后者会反直觉地执行完全关机),系统会将内核和驱动程序保存到较小版本的休眠文件(hiberfil.sys)中。通过使用该文件,系统能够在下次启动时更快地启动。

部分休眠文件不包含 BitLocker 解密密钥。

注意

注意: 如果目标计算机在加密卷卸载时被关闭或进入休眠状态,则休眠文件将不包含加密密钥,无法立即解密 BitLocker 卷。

BitLocker 获取总结

总结上一章的内容,如果硬盘的 C 盘被 BitLocker 保护,则可以通过以下几种方式获取密钥:

如果你拥有 BitLocker 储存密钥(恢复密钥),你可以执行以下操作之一

  1. 解锁 BitLocker 分区并解密捕获的卷镜像。

  2. 按原样处理镜像,解密捕获的镜像(例如,通过将镜像保存到物理硬盘,使用 Windows 虚拟机或使用你选择的取证产品解密该镜像)。

如果你没有 BitLocker 储存密钥(恢复密钥)

  1. 尝试捕获内存转储(RAM 转储)以获取二进制解密密钥:

    1. 为了使其生效,计算机必须以开机并解锁状态被获取。

    2. 如果有 FireWire(IEEE.1394)端口,可以尝试通过 FireWire 攻击捕获内存。

  2. 如果平板电脑被锁定,则无法捕获内存转储,因为内存芯片已焊接以防止冷启动攻击,并且 Windows 平板通常没有 FireWire 端口。然而,休眠(如果可用)或关机(如果启用了 Windows 快速启动)可能会产生一个可用的休眠文件,从中可以提取解密密钥。

  3. 如果设备是在休眠状态下被查获,尝试获取休眠文件(hiberfil.sys)。

  4. 使用 Elcomsoft Forensic Disk Decryptor(www.elcomsoft.com/efdd.html)分析内存转储或休眠文件,提取 BitLocker 二进制解密密钥,并挂载加密卷。

  5. 解密的卷映像。

捕获内存转储

尝试捕获 Windows 设备的内存转储对于数字调查至关重要。根据 ACPO 指南,这也是推荐的做法。

直到最近,执法人员在查获计算机时通常会直接关闭计算机,从而丧失了存储在计算机易失性内存中的大量潜在重要证据。在 Windows 环境中,这些信息包括社交网络中的近期活动、运行中的进程数据、开放的网络连接、缓存的密码以及私人浏览会话。特别值得关注的是,可以用于解锁加密卷(如 BitLocker、TrueCrypt 和 PGP WDE 所维护的加密卷)的二进制加密密钥(可以使用 Elcomsoft Forensic Disk Decryptor 提取这些密钥,并用它们挂载加密卷)。如果调查人员能够捕获并分析计算机的易失性内存内容,那么这些以及许多其他类型的证据是可以恢复的。

这正是 ACPO 推荐在获取数字证据时捕获并分析计算机 RAM 内容的原因。在获取数字证据并进行计算机存储镜像之前,转储易失性内存内容已经成为标准操作程序。

尽管转储并分析计算机易失性内存的内容非常重要,但必须意识到,由于 RAM 本身的性质,它具有高度的易失性和高度的碎片化。因此,可能永远无法找到完整的对话记录或正在编辑的整个文档。相反,可能会有片段、碎片和破损部分——这些可以通过某些智能切割算法(如 Belkasoft 智能切割)重新组合成有用的内容。可以在计算机的 RAM 中实际发现什么?

易失性内存中可用的证据类型

某些类型的证据仅存在于计算机的 RAM 中。这些证据包括:

  • 正在运行的进程和服务

  • 被保护程序的解包/解密版本

  • 系统信息(例如,自上次重启以来经过的时间)

  • 登录用户的信息

  • 注册表信息

  • 开放的网络连接和 ARP 缓存

  • 聊天记录、社交网络中的通讯以及 MMORPG 游戏中的通讯遗留

  • 最近的网页浏览活动,包括 IE InPrivate 模式和其他 Web 浏览器中的类似隐私模式

  • 通过 Webmail 系统的近期通信

  • 云服务中的信息

  • 在捕获时挂载的加密卷的解密密钥

  • 最近查看的图片

  • 运行中的恶意软件/木马

特殊情况 – Windows RT 设备

尽管很多人认为 Windows RT 从未追赶上来,但确实有多个设备销售,搭载了这个鲜为人知的平台。微软的 Surface RT 和 Surface 2,以及诺基亚的 Lumia 2520,都是运行 RT 平台的最受欢迎设备。那么,Windows RT 到底是什么,如果可以的话,如何获取它呢?

事实上,Windows RT 只是 Windows 8 或 8.1 的一个变种,它运行在 ARM 处理器架构上,而不是熟悉的 x86 或 x64 架构。RT 具有相同的现代 UI,并且运行大部分与完整 Windows 系统相同的 Metro 风格应用程序,并且可以访问与“完整版” Windows 相同的所有系统更新。Windows RT 具有桌面模式,理论上可以运行为 ARM 指令集编译的应用程序( .exe 文件)。然而,它无法运行为 Intel x86 架构编译的桌面应用程序。

此外,微软决定将 Windows RT 的桌面模式锁定为仅允许运行由微软签名的 .exe 文件,这意味着你无法使用 ARM 编译器编译自己的应用程序并直接在桌面模式下运行。这实际上排除了实时分析,并且几乎不可能使用任何已知的取证工具捕获实时内存转储。

那么如何处理 Windows RT 设备呢?由于我们不能安装除了从 Windows Store 下载的 Metro 风格应用程序之外的任何东西,我们实际上只能对其内建存储进行离线分析。

使用 Windows 内建工具不能轻松捕获实时内存转储(更多信息请参考 如何在 Windows Server 2008 和 Windows Server 2008 R2 中生成内核或完整内存转储文件support.microsoft.com/en-us/kb/969028;本文中描述的技术同样适用于 Windows RT)。然而,系统的默认行为是在系统故障时创建完整的内存转储。如果能够使系统崩溃,那么就有很大的机会创建内存转储。

如果制作内存转储变得不可能,最佳的选择是让系统进入休眠状态,而不是使用连接待机功能,即使按照 关闭、睡眠或休眠计算机 中的描述:windows.microsoft.com/en-us/windows-8/how-shut-down-turn-off-pc,这可能也不是一个可行的选项。

然而,如果你能够使设备进入休眠状态,你将能够继续进行下一步:制作设备内建存储的取证磁盘镜像。

SD 卡和 Windows 文件历史记录

提醒一下,大多数 Windows 平板电脑,包括 Windows RT 设备,都配备了 SD 卡槽。典型的配置允许使用一张 micro SDHC(最大 32 GB)或一张 micro SDXC(64 GB 及更大)存储卡。默认情况下,这些存储卡格式化为 FAT32(SDHC)或 exFAT(SDXC),且没有使用 BitLocker 或内建 NTFS 加密。因此,这些存储卡通常是法医分析的容易目标。

在近期的 Android 设备上,存储卡通常不用于包含应用程序数据。相反,它们的预期用途是存储多媒体文件,如大量音乐和视频,以便离线访问。但 Windows 系统并非如此,Windows 可以访问 SD 卡的整个内容,用户可以利用它来存储几乎所有东西,包括用户文档、OneDrive 内容和数据备份,甚至桌面应用程序和页面文件。

另一个促使 Windows 平板电脑使用 SD 卡的因素是,大多数 Windows 平板电脑的存储容量为 32 GB。在这 32 GB 中,安装所有当前 Windows 更新后,最终用户可用的存储空间通常只有可怜的 6 至 11 GB。

因此,Windows 平板用户更可能主动使用 SD 卡作为二级(甚至是主要)存储设备,来存储文档、相机胶卷和其他文件。

一个对调查平板设备的专家特别有趣的 Windows 功能是一个鲜为人知的功能,叫做 Windows 文件历史记录。如果启用此功能(适用于 Windows 8、8.1 和 RT),它会自动备份用户文件(位于文档、音乐、图片、视频和桌面文件夹中的文件)以及可离线访问的 OneDrive 文件到系统分区以外的存储设备。如果原始文件丢失、损坏或删除,用户可以通过使用存储在文件历史记录中的副本来恢复这些文件。

文件历史记录包含用户文件的不同版本,如文档、电子表格的工作副本,已删除和未编辑的图片版本等,并以方便的时间轴形式排列。

SD 卡与 Windows 文件历史记录

这里有两个重要的要点:

  • Windows 文件历史记录使用系统分区以外的驱动器。在 Windows 平板电脑上,这几乎不可避免地是未受保护、未加密且易于移除的 SD 卡。

  • 文件历史记录包含用户文件的当前版本和历史版本。

你可能会发现这些对于你的调查非常有用。

映像内建 eMMC 存储

在本章中,我们不会讨论法医写保护硬盘映像设备的使用。我们也不会涉及任何磁盘映像软件,因为这些工具在所有主要的法医套件中都能找到,而且你可能比本书的作者更熟悉其中的某一款工具。相反,我们将讨论如何处理 Windows 平板并使其能够使用你选择的工具进行映像。

注意

注意: 与智能手机和 Android/iOS 平板电脑一样,Windows 设备中使用的 eMMC 芯片可以被拆下并放入 eMMC 读卡器中。

这种破坏性方法被称为芯片拆卸获取。此类技术在其他地方有广泛的讨论。在本书中,我们将讨论非破坏性、基于软件的获取方法。

大多数 Windows 平板电脑(以及所有 Windows RT 设备)都配备了不可拆卸的存储,形式为 eMMC 芯片。eMMC 代表 嵌入式 MMC,或 嵌入式多媒体卡,其工作方式更接近标准的 SD(安全数字)卡,而非 SSD 驱动器。换句话说,eMMC 是一种不可拆卸的 BGA 闪存芯片,焊接在电路板上。如果平板电脑的存储容量为 32 GB,那么这 32 GB 存储位于 eMMC 芯片中。

内置 eMMC 存储成像

这对数字取证意味着什么?

正如我们所知,大多数 Windows 平板电脑(极少数例外)都配备了内置的不可拆卸(除非使用 BGA 焊接站)eMMC 存储。让我们想一想 eMMC 芯片被焊接在电路板上的事实。它不能被拆卸并放入写保护成像设备中,也不能连接到另一台计算机。为了对内置存储进行成像,调查人员必须启动系统,并在被调查的设备上运行成像工具。这可能由于某些型号的安全设置而带来挑战。

如果我们谈论的是一款完整的 Windows 平板电脑,最佳做法是从外部可启动介质启动系统。很可能你在实验室中已经有一个。如果没有,许多工具和教程可以帮助专家完成这一操作,例如,创建 Windows 安装介质windows.microsoft.com/en-us/windows-8/create-reset-refresh-mediawindows.microsoft.com/en-us/windows-8/create-usb-recovery-drive

提示

注意: 由于 Windows 8 和 8.1 64 位版本早期构建中的漏洞,导致连接待机功能无法正常工作,许多 Windows 平板电脑的制造商选择在其设备上安装 32 位版本,并提供 32 位版本的 UEFI BIOS。这意味着即使 CPU 和其他硬件完全支持 64 位,系统可能仍无法从 64 位恢复介质启动。在这种系统上,调查人员必须使用 32 位恢复介质。

eMMC 和已删除数据恢复

虽然 eMMC 存储不能完全替代 SSD 驱动器,但这两种存储类型有一个共同点:都支持修剪已删除的数据。

如果你稍微思考一下 Windows(以及大多数现代操作系统)是如何管理已删除文件的,你会意识到像已删除文件和文件夹这样的信息并不会被永久擦除。相反,系统会在文件系统中简单地为正在删除的文件和文件夹标记一个相应的属性。原本被这些文件占用的磁盘空间将被释放到可用磁盘空间池中。再强调一遍,Windows 并不会做任何事情来真正擦除或清除曾经被删除数据占用的数据块。

随着固态存储介质的引入,这种行为必须发生变化。基于 NAND 闪存的固态存储介质在擦除数据时比写入空块要慢得多。此外,NAND 闪存单元的写入次数有限,这使得某种形式的磨损均衡变得必要。为了应对这两个问题,业界采用了一定的协议来处理释放的数据块。

兼容的操作系统(Windows 7、8、8.1 或更新版本)与兼容的 SSD 或 eMMC 存储一起工作,并格式化为唯一兼容的文件系统(NTFS),会发出 TRIM 命令,指示存储控制器某些数据块不再包含数据。接收到 TRIM 命令后,控制器会将该命令中传递的数据块添加到 块列表中,同时将它们重新映射(分配其逻辑地址)到已擦除的预留池块中。 块会在后台缓慢擦除。实际上,TRIM 命令充当了一种垃圾回收工具,帮助 SSD 防止未来写入操作的性能下降。

对于数字取证而言,这意味着你再也不能依赖已删除的文件在删除后仍然能够恢复。由于操作系统使用 TRIM 命令,并且在后台不断进行磨损均衡和垃圾回收处理,空闲块通常会在没有进一步交互的情况下被完全擦除。换句话说,如果用户删除了某些文件,这些文件将真正消失——有少数例外。

有关固态存储和数据恢复的更多信息,可以从 Belkasoft 的白皮书 SSD Forensics 2014. 从 SSD 驱动器恢复证据:了解 TRIM、垃圾回收和排除 中获得,网址:belkasoft.com/en/ssd-2014

Windows 8 和 Windows 10 加密 – TRIM 与 BitLocker

考虑到全盘加密的特性,并结合 SSD 和 eMMC 存储等固态介质的性能和使用寿命问题,人们不可避免地会遇到一个逻辑性的问题:如果在固态存储卷上启用了全盘加密,已删除的数据会发生什么?特别是,系统是否会通过保留已删除数据的加密状态来牺牲性能,还是会通过暴露加密卷中空白(已擦除)部分来牺牲安全性?

这个问题的答案取决于特定系统中使用的硬件和整个磁盘加密软件的组合。然而,对于 BitLocker 和 eMMC 存储,有一个简单且官方的答案。根据微软的说法(blogs.msdn.microsoft.com/e7/2009/05/05/support-and-qa-for-solid-state-drives/),BitLocker 的加密过程[已]优化为在 SSD 上工作[...]使用 NTFS。当 BitLocker 首次在一个分区上配置时,整个分区会被读取、加密并重新写回。这样做时,NTFS 文件系统会发出 Trim 命令,以帮助 SSD 优化其行为。 正如我们所见,在这种特定情况下,微软决定追求性能,虽然牺牲了一些安全性。因此,即使你对整个 BitLocker 卷进行镜像,你也无法恢复已删除的文件。

然而,历史上,这并非一直如此。在 SSD 的早期,像 TrueCrypt 这样的当时的整个磁盘加密提供商全力追求安全性,绝不让 TRIM 命令传递到底层物理存储。因此,如果使用整个磁盘加密,TrueCrypt 曾经会对性能产生巨大的负面影响,因为 SSD 控制器无法再区分空闲空间和已用空间,因为在加密磁盘上,空闲空间和已用空间都被视为(加密的)数据。这种做法违背了 TRIM 的初衷,并有效地禁用了磨损均衡优化。

为了缓解这个问题,整个磁盘加密产品的开发者引入了所谓的TRIM 直通功能。启用此功能后,加密产品将把关于空闲数据块的信息传递给 SSD 控制器,允许它修剪已释放的数据块。这对固态存储介质的性能和寿命产生了巨大积极影响,但也暴露了哪些数据块实际被加密数据占用的信息,给外部攻击者提供了线索。这被视为一种安全弱点,因此,出于这个原因,一些 WDE 制造商选择默认不启用该功能。

经过几年后,支持自加密的 SSD 问世。这些 SSD 在物理层面上写入数据之前先进行加密。TGS Opal 全盘加密标准允许操作系统设置密钥(前提是操作系统和硬件都支持该系统),有效地解决了上述问题。因此,如果正在调查的 Windows 设备具有符合正确加密标准的存储设备(无论是 SSD 还是 eMMC),BitLocker 将利用硬件加密引擎,有效绕过基于软件的加密,转而使用硬件加密。

从恢复媒体启动 Windows 平板电脑

为了从恢复媒体启动,需要满足几个条件。首先,平板必须有足够的电量才能完成恢复过程。由于大多数平板将充电和连接外设(如 USB 闪存驱动器)的 USB 端口合二为一,因此在恢复之前最好将平板充满电。

其次,只有少数平板电脑提供全尺寸的 USB 端口。你更有可能遇到的是微型 USB 端口(具体为 USB2.0 或 USB3.0,取决于平板型号)。因此,你需要一个匹配的 USB On-The-Go (OTG) 数据线来连接闪存驱动器。

最后,除非在 UEFI BIOS 中指定,否则平板电脑不会从外部设备启动。

特殊情况——Windows RT 恢复媒体

Windows RT 设备出厂时启用了 UEFI 安全启动,这使得这些设备只能启动 Windows RT。理论上,禁用安全启动后,可以使用 ARM 版本的 Linux 或定制版 Android 启动并刷入设备。然而,这并不可行,因为在任何 Windows RT 设备上都无法禁用安全启动。

因此,你可以选择从平板的恢复分区启动,或使用自定义恢复。由于 Windows RT 是一个相对简化的操作系统,获取或制作一个可用的恢复镜像比 x86 或 x64 Windows 版本要困难得多。

如果没有恢复分区,通常可以从制造商处获取 Windows RT 恢复镜像。例如,微软为其 Surface RT 和 Surface 2 平板提供了这样的镜像,链接为www.microsoft.com/surface/en-us/support/warranty-service-and-recovery/downloadablerecoveryimage

按照下载说明操作后,便可以制作一个可启动的闪存媒体。

从恢复媒体启动的步骤

微软发布了逐步指导,教你如何从 USB 恢复媒体启动 Windows 平板,链接为www.microsoft.com/surface/en-ca/support/storage-files-and-folders/boot-surface-pro-from-usb-recovery-device?lc=4105。这些说明适用于微软 Surface RT 设备,也适用于大多数其他 Windows 平板。如果不适用,请参考所使用设备的制造商手册。

如何在平板关闭时从可启动的 USB 设备启动:

微软发布了以下操作指南:

尽管这两篇指南主要针对微软 Surface 用户,但它们也适用于其他 Windows 平板电脑用户:

  1. 将包含 Windows 恢复映像的可启动 USB 设备连接到 USB 端口。

    如果没有全尺寸 USB 端口,可以使用 USB OTG 电缆。

  2. 按住音量减小按钮。

  3. 按下并释放电源按钮。

  4. 当出现 logo 时,松开音量减小按钮。

    平板电脑将启动 USB 设备上的软件。

如果平板电脑已开机且你已登录,启动过程会有所不同。

当平板电脑已开机时,如何从可启动的 USB 设备启动:

  1. 将可启动的 USB 设备连接到 USB 端口。

    如果没有全尺寸 USB 端口,可以使用 USB OTG 电缆。

  2. 从右侧滑动,然后点击设置(如果你使用的是鼠标,将鼠标指针指向屏幕右上角,向下移动鼠标指针,然后点击设置)。

  3. 点击或轻触更改 PC 设置

  4. 点击或轻触更新和恢复,然后点击或轻触恢复

  5. 高级启动下,点击或轻触立即重启

  6. 选择一个选项屏幕上,点击或轻触使用设备

  7. 故障排除屏幕上,点击或轻触高级选项

  8. 高级选项屏幕上,点击或轻触 USB 设备的名称。平板电脑将重启并从 USB 设备启动。

配置 UEFI BIOS 从恢复媒体启动

根据特定 Windows 平板电脑的制造商(及用户执行的调整),如果从外部设备启动,可能需要更改 UEFI 设置。如果是这种情况,你需要进入 UEFI BIOS 并启用外部启动模式。

与 Windows 不同,Windows 在不同计算机间几乎没有太大差异,但 UEFI BIOS 的变化是无穷无尽的。不同制造商的选项和设置可能名称不同。

Windows 平板电脑没有 BIOS。它们使用 UEFI 固件,可以通过按住音量减小按钮并使用电源键开启平板电脑来访问。进入 UEFI 后,查找启动选项以指定平板电脑允许启动的设备顺序(关于如何将任何 Windows 平板电脑启动到 UEFI 的全面教程可以在www.7tutorials.com/how-boot-uefi-bios-any-windows-81-tablet-or-device找到)。

如果你的外部启动设备包含一个安全启动密钥(例如 Windows 8.1 或 Windows PE 5.1),则无需更改 UEFI BIOS 设置中的安全启动选项。如果你使用的是未签名的可启动恢复映像,则需要先禁用安全启动。

根据制造商的不同,您可能需要将名为 安全启动 的选项更改为 禁用,并将 UEFI 启动 更改为 CSM 启动(或在某些平板电脑中为 设置模式),以便允许系统从外部设备启动。之后,您应该能够从自定义(未签名的)恢复媒体启动。

请注意,禁用安全启动在 Windows RT 设备上不可用。

获取 BitLocker 加密密钥

BitLocker 加密在 Windows 设备上是可选的。此外,许多面向预算的平板电脑(例如配备 Intel Z3735 和 1 GB 内存的设备)缺乏 TPM(受信平台模块)支持,这使得在这些设备上使用 BitLocker 变得复杂。默认情况下,Windows 8.x 中没有启用 BitLocker 加密,只有在用户使用 Microsoft 帐户登录 Windows 8 机器时(而不是使用本地 Windows 帐户)才会激活。如果您使用的是带有 Microsoft 帐户和管理员权限的 Surface RT/2,那么第一次登录时 BitLocker(或设备加密)将自动为您开启。

如果启用,BitLocker 加密将有效防止调查员访问设备的内容——即使是从恢复驱动器启动时也是如此。

注意

重要:BitLocker 是 Windows 安全模型的一个关键部分,也是调查的主要障碍。应采取一切措施以保护和恢复 BitLocker 密钥。务必尝试捕获计算机的易失性内存转储,这将包含用于解密 BitLocker 卷(如果使用)的二进制密钥。最后,BitLocker 加密仍然是可选的,如果计算机仅具有本地 Windows 帐户且未使用 Microsoft 管理员帐户,它将不会自动激活。

当使用 USB 恢复驱动器时,特别是当该恢复驱动器并非在正在成像的特定设备上创建时,可能无法访问其存储内容,因为 BitLocker 加密的原因。在使用命令提示符时,可能会提示您输入加密密钥。如果没有此密钥,包含所有用户数据的卷将继续安全加密。

BitLocker 保护可以通过正确的恢复密钥解锁。此密钥在每台计算机上都是唯一的,并存储在用户的 Microsoft 帐户中。您需要拥有用户的 Microsoft 帐户登录和密码,才能检索恢复密钥。以下步骤描述了如何从用户的 Microsoft 帐户中提取恢复密钥:

  1. 如果系统提示输入恢复密钥,请记下设备屏幕上显示的 密钥 ID

  2. 使用另一台计算机访问 windows.microsoft.com/recoverykey

  3. 查找具有相同密钥 ID 的设备,如上所述。

  4. 使用与给定密钥 ID 对应的恢复密钥解锁加密驱动器。

重要:Microsoft 持有用户 BitLocker 加密存储设备的恢复密钥。这些密钥可以通过用户的 Microsoft 账户获取,除非用户明确删除。应考虑防止嫌疑人在加密设备被扣押后销毁恢复密钥。如果你知道用户的 Microsoft 账户凭据,恢复密钥可以在几分钟内获得。通过提交书面请求并附上法院命令,可以直接向 Microsoft 获取恢复密钥。

更多关于 BitLocker 恢复密钥的信息,请访问 technet.microsoft.com/en-us/library/ee449438(v=ws.10).aspx

Microsoft 还发布了关于恢复 BitLocker 驱动加密锁定计算机访问权限的说明,详情请参见:technet.microsoft.com/en-us/library/cc732774(v=ws.11).aspx

请注意,按照 Microsoft 的说明,你仍然需要恢复密钥来解锁磁盘。另外,如果你在加密分区挂载时成功捕获了平板电脑的易失性内存内容,你可以使用第三方软件挂载 BitLocker 加密的卷。更多细节将在下一章介绍。

破解 Microsoft 账户以获取 BitLocker 恢复密钥

获取 BitLocker 恢复密钥很容易,只要你能够访问用户的 Microsoft 账户。登录 Microsoft 账户需要有效的密码。如果你不知道密码,暴力破解在线服务是行不通的。

从 Windows 8 开始,用户可以选择使用在线账户凭据登录计算机,而不必使用本地 Windows 账户和密码。通过使用 Microsoft 账户,用户可以享受自动云备份、跨多个设备同步设置和数据(如浏览器密码)的功能,最重要的是,可以将 BitLocker 恢复密钥备份到云端。

登录 Microsoft 账户需要电子邮件和密码(而不是用户名和密码)。很容易看出是使用本地账户还是 Microsoft 账户登录。像username@live.comusername@hotmail.comusername@outlook.com这样的登录名,肯定可以看出是 Microsoft 账户登录。Microsoft 账户作为单一登录解决方案,被广泛用于各种 Microsoft 服务,如 Outlook.com、OneDrive 和 Skype。

由于 Microsoft 账户是基于云的在线认证服务,通常你无法突破。尝试输入多次错误密码会导致后续的登录尝试被锁定。然而(这是个好消息),Microsoft 账户的密码哈希会被缓存在所有使用这些凭据的电脑上。

这为情况带来了一个有趣的转折。您可以获取该密码的本地哈希值,并使用它通过离线攻击暴力破解在线的 Microsoft 帐户。

为了做到这一点,您可以使用两种工具:Elcomsoft System Recovery(www.elcomsoft.com/esr.html)来创建可启动介质(例如 USB 驱动器),以导出本地缓存的 Microsoft 帐户密码哈希,和 Elcomsoft Distributed Password Recovery(www.elcomsoft.com/edpr.html)来使用 GPU 辅助的攻击暴力破解密码,该攻击分布在多台计算机之间。字典攻击和暴力破解攻击的组合可能导致恢复用户 Microsoft 帐户的原始明文密码,解锁该帐户中保存的 BitLocker 恢复密钥,并允许我们解密 BitLocker 卷。

使用 Elcomsoft Forensic Disk Decryptor 解锁 BitLocker 分区

由于许多 Windows 平板电脑的 C 驱动器分区默认启用 BitLocker 保护,您需要一种方法来解锁受保护的卷。如果输入正确的用户登录名和密码,BitLocker 卷可以自动解锁。您还可以通过提供正确的恢复密钥来解锁 BitLocker 卷,而这个恢复密钥通常可以从用户的 Microsoft 帐户中获取。

那么,如果您既不知道密码,也无法访问恢复密钥该怎么办?如果是这种情况,您仍然可以选择从计算机的易失性内存转储中提取密钥。这也是为什么在尝试其他方法之前,您必须尽最大努力对计算机的 RAM 进行转储的原因之一。

如果您即将获取的 Windows 设备处于活动状态或睡眠状态(连接待机),请不要让它关闭电源。首先尝试捕获 RAM 图像。如果该设备使用 BitLocker 设备保护,捕获实时内存转储可能是唯一获取 BitLocker 解密密钥的机会。如果您能够提取该密钥,您将能够使用 Elcomsoft Forensic Disk Decryptorwww.elcomsoft.com/efdd.html)挂载 BitLocker 保护的分区,即使您无法登录到设备。

BitLocker 密钥和受信平台模块

虽然许多运行 Windows 8 和 8.1(以及一些 Windows 10 设备)的低端平板电脑缺少受信平台模块TPM)支持,但仍然可能遇到具有或不具有 TPM 模块的设备。重要的是要认识到,由于解密数据所需的密钥由 TPM 锁定,因此仅仅通过移除存储设备并将其安装到另一台计算机上无法读取数据(来源:technet.microsoft.com/library/cc732774.aspx)。更重要的是,TPM 拥有独立于操作系统可访问内存的内存。这意味着,密钥对的私有部分与操作系统控制的内存分开存储,不会暴露给操作系统或软件的任何部分,也无法通过内存转储工具捕获。

然而,实际的驱动器加密密钥会被释放到操作系统中,存储在系统的 RAM 中,并且可以通过捕获计算机易失性内存的快照并使用 Elcomsoft Forensic Disk Decryptor 分析该快照来恢复。

TPM 事实摘要

  • TPM 在许多低端 Windows 平板电脑上不可用

  • 如果没有安装 TPM,BitLocker 加密将无法立即使用(但用户可以通过gpedit.msc中的允许在没有兼容 TPM 的情况下启用 BitLocker选项手动启用)

  • 如果 TPM 可用,则驱动器将保持锁定,直到密钥被释放

  • 一旦加密的驱动器解锁,解密密钥会保持在计算机的 RAM 中,操作系统可以访问,并且可以通过捕获内存转储并使用 Elcomsoft Forensic Disk Decryptor 分析来获取。

映像 Windows RT 平板

虽然我们已经谈到了为 Windows RT 平板创建可引导 USB 设备的很多内容,但如何或是否可能对其进行映像仍然是一个大问题。Windows RT 本质上是一个受限的平台,具有平台级的安全措施,这些措施极其有效地禁止任何非签名代码在 RT 设备上启动或执行。无法禁用的预激活安全启动、使用 ARM 架构而非 x86,以及对所有桌面应用程序进行系统级受信签名检查,使得传统的获取技术无效。

由于所有已知的 Windows RT 设备都使用 eMMC,一种焊接在主板上的 BGA 芯片,因此从技术上讲,执行芯片拆卸或 ISP 获取是可能的。

映像 Windows RT 平板

然而,这是一项耗时、劳动密集且破坏性的过程,在常规调查过程中并不总是可用的选项。如果启用了 BitLocker 磁盘加密,获取过程可能会变得困难或不可能。即使在 Windows RT 中,仍然可以使用其他映像选项。

BitLocker 加密

Windows RT 是一个受限且安全的平台。默认情况下,所有用户文件所在的 C 盘分区受 BitLocker 保护。从恢复介质启动、访问 Windows 恢复环境 (WinRE) 命令提示符,或者尝试在没有提供正确的账户密码或 PIN 码的情况下登录,都会导致被锁定,无法访问该分区上的信息。因此,Windows RT 的取证工作要求你知道管理员账户的密码(或者在最坏的情况下,任何本地账户的密码),或者需要访问 BitLocker 恢复密钥。有关更多信息,请参见 获取 BitLocker 加密密钥 部分。

BitLocker To Go 在 Windows RT 中部分支持。根据微软的说明 (technet.microsoft.com/en-us/library/dn736041.aspx#BKMK_bitlockertogo),“虽然 Windows RT 8.1 无法创建加密的 BitLocker To Go USB 驱动器或 SD 卡,但它能够使用这些已经从 Windows 8 Pro 或 Windows 8 Enterprise(甚至 Windows 7)电脑加密的驱动器或卡片。插入 BitLocker To Go USB 驱动器或 SD 卡时,用户将被提示输入所需的密码,然后才能访问或更新 USB 驱动器或 SD 卡上的数据。”

注意

重要:默认情况下,Windows RT 会创建 BitLocker 托管密钥并将其上传到用户的 Microsoft 帐户。微软持有用户 BitLocker 加密存储设备的恢复密钥。这些密钥可以在用户的 Microsoft 帐户中找到,除非用户明确删除。若你知道用户的 Microsoft 帐户凭证,可以通过 onedrive.live.com/recoverykey 在几分钟内获取恢复密钥。恢复密钥也可以通过提交书面请求和法院命令直接从微软获取。

DISM – 一个用于映像 Windows RT 的内置工具

如我们所知,Windows RT 不允许启动任何除 Windows RT 之外的操作系统。系统也不允许运行任何未签名的桌面应用程序。

假设你拥有一台 Microsoft Surface RT、Surface 2、Nokia Lumia 2520 或任何其他 RT 平板电脑。你成功地从包含 Windows RT 的 USB 恢复介质启动设备,并且完全访问命令行。与 Android 或 iOS 平板一样,由于平板运行的是 ARM CPU 并且仅允许运行内置的桌面工具,所以你能做的映像操作不多。由于 Windows RT 平板不能执行 x86 代码(也不能运行未签名的 ARM 代码),因此取证工具的制造商并没有提供支持。这意味着,在你的取证需求中,你仅能使用 Windows 内置的命令行工具。

幸运的是,有一款工具完全符合我们的需求。微软的部署映像服务与管理(DISM.exe)工具完全能够创建 Windows 分区的镜像并将其保存为 WIM 格式。

为了创建平板电脑的镜像,请执行以下操作。

注意

注意:上述技术不仅限于 Windows RT。它们可以应用于任何运行 Windows 8、8.1、Windows Server 2012 或 Windows RT 的平板电脑。然而,对于非 RE 系统,存在更好的获取方法。DISM 镜像应仅作为最后手段使用。

必须使用管理员账户登录

如果你已经登录并拥有管理员权限,可以直接跳到 使用 DISM.exe 创建驱动器镜像 部分。如果没有,你需要将系统启动到恢复模式,以便获得管理员级别的命令提示符。

必须登录

由于 Windows PE 不适用于 RT 架构,你只能使用 Windows 恢复(修复)环境(WinRE)来获得对计算机的管理权限。特别是,你需要访问命令提示符。启动到命令提示符后,你将能够使用 Windows 内置的命令行工具。特别地,我们将使用 DISM 工具来为设备的分区创建镜像。

如果你已登录,你可以配置系统以命令提示符启动 Windows 恢复环境。

启动到 WinRE 命令提示符

为了启动到 WinRE 命令提示符,请执行以下操作:

  1. 启动平板电脑。

  2. 在登录提示符处,点击“轻松访问”图标。

  3. 选择屏幕键盘

  4. 按下 Shift 键,Shift 键应该保持亮起。

  5. 在右下角,点击电源键并选择重新启动

  6. 当设备重新启动时,选择故障排除选项。

  7. 在此处,选择高级选项。

  8. 选择命令提示符

输入 BitLocker 恢复密钥

你可能会被要求输入主分区的恢复密钥。如果看到消息 输入恢复密钥以继续操作,请输入恢复密钥并按 Enter。如果你没有恢复密钥,你仍然可以使用 跳过此驱动器 选项访问命令提示符,但无法读取加密的卷。更多信息请参见 BitLocker 恢复密钥:常见问题解答windows.microsoft.com/en-us/windows-8/bitlocker-recovery-keys-faq

如果你有自己的可启动 USB 驱动器,你可以类似地配置系统从该驱动器启动。

使用 DISM.exe 创建驱动器镜像

微软 TechNet 提供了一份关于如何使用 DISM.exe 工具捕获 Windows 分区的全面指南(请参见前面的链接 使用 DISM 捕获硬盘分区镜像):

  1. 确定要捕获的分区:最常见的 Windows RT 平板电脑配有一个系统分区、一个主分区和一个或多个保留分区(包含恢复镜像)。你需要的是主分区(如果有的话,还包括所有逻辑分区)。

  2. 为分区分配驱动器字母:如果你要捕获的一个或多个分区尚未分配驱动器字母,可以使用 DiskPart 工具分配字母。该分区将以读写模式挂载。

  3. 使用 DISM 命令行工具捕获 图像:你将使用 DISM 命令并结合 /capture-Image 选项。示例:

 Dism /Capture-Image /ImageFile:c:\partition0.wim /CaptureDir:C:\ /Name:"partition0" 

注意

注意:如果你的附加存储空间不足以接收整个分区的图像,可以通过运行 net use n: \\Server\Share 命令将图像保存到网络磁盘,并将 /ImageFile 参数的路径替换为新映射的网络驱动器路径。

你可以在 Microsoft TechNet 上了解更多关于 DISM 命令行工具及其选项和参数的信息:

云获取

Windows RT 是基于 Windows 8/8.1 的操作系统。因此,系统能够在 Microsoft OneDrive 中维护云备份。云中备份的信息包括联系人、消息、同步的 Internet Explorer 密码、已安装应用的列表,以及一些应用设置,如存储的密码(例如,在进行完全恢复出厂设置后重新安装以前安装的 Pocket 客户端时,无需重新登录;应用会立即工作。然而,任何已下载的内容都将重新下载)。

只有当用户使用 Microsoft 账户登录(而不是使用本地 Windows 账户)并且在设置中启用了备份选项时,数据才会自动备份。然而,这对于 Windows RT 平板电脑来说是典型的使用场景。

为了下载 Windows RT 数据,请在 Elcomsoft Phone Breaker 中使用 下载 Windows Phone 数据 获取选项:

Cloud Acquisition

你需要指定用户的 Microsoft 账户登录名和密码。

Cloud Acquisition

该工具从 Microsoft Live! 服务器下载信息(目前只能下载联系人、笔记和消息)。

注意: 由于用户可能拥有多个 Microsoft 设备,Elcomsoft Phone Breaker 将下载所有设备上同步的信息,这些设备是用户通过 Microsoft 帐户登录的。包括 Windows Phone 8.1 和 Windows 10 Mobile 智能手机、Windows RT 平板电脑、Windows 8、8.1 和 Windows 10 的桌面、笔记本以及平板电脑。可通过登录用户的 OneDrive 帐户并选择 设置 | 设备备份 (onedrive.live.com/Options/DeviceBackups) 来查看可用的备份列表。

云端获取

Elcomsoft Phone Breaker 下载信息:

云端获取

提取完成后,你将能够在 Elcomsoft Phone Viewer 中查看下载的备份。以下截图展示了从一台 Lenovo ThinkPad 8 平板(Windows 8.1)保存的云端备份中提取的信息。

云端获取

概述

在本章中,我们讨论了获取 Windows 平板电脑的相关内容。我们介绍了 Windows 8.x 和 Windows 10 平板电脑的获取方法,并探讨了基于 ARM 的 Windows 平板电脑运行专门的 ARM 版 Windows(Windows RT)时出现的问题。我们了解了自动 BitLocker 加密,并回顾了通过从用户的 Microsoft 帐户提取 BitLocker 恢复密钥来绕过 BitLocker 保护的方法。最后,我们了解了如何通过执行离线密码恢复攻击,突破 Microsoft 帐户的缓存密码。在下一章中,我们将回到智能手机,探讨黑莓智能手机的获取选项。

第九章:获取 - 接近黑莓

尽管根据彭博社的数据黑莓的全球市场份额已降至不到 1%(www.bloomberg.com/news/2014-05-28/blackberry-market-share-to-fall-to-0-3-in-2018-idc-says.html),许多黑莓设备仍在企业环境中使用。

安全性一直是黑莓的核心优势之一。存储在加密黑莓设备中的信息,若未知正确密码,是无法提取或解密的。然而,攻击黑莓备份提供了一种恢复用户数据的方法。

从黑莓设备恢复信息取决于设备运行的黑莓操作系统版本。如果设备使用的是黑莓操作系统 10 之前的任何版本,用户可以将其配置为生成受用户选择密码保护的离线备份。然而,如果设备运行的是黑莓 10,备份将存储在在线云端,并且需要原始的黑莓 ID 和密码才能访问。

注意

由 Shafik Punja(Teel Technologies)和 Cindy Murphy(Gillware Digital Forensics)撰写的关于黑莓取证的综合白皮书,可以在 www.nist.gov/forensics/upload/5-Punja-nist-2014-bb-forensics-FULL.pdf 中查看(黑莓取证,NIST 移动取证研讨会 2014 年 6 月)。

黑莓操作系统的历史 - 黑莓 1.0 到 7.1

在黑莓 10 发布之前,现在的黑莓操作系统版本,黑莓设备可以在连接到运行黑莓桌面软件的授权计算机时,配置为生成受密码保护的离线备份(*.ipd*.bbb 备份文件)。需要注意的是,这些备份仅使用用户可选的密码进行保护。与苹果不同,黑莓并未指定使用任何额外的硬件加密密钥。因此,成功恢复密码就是解密黑莓备份所需的全部步骤。

黑莓备份(OS 1.0 到 7.0)默认情况下没有密码保护/加密。用户必须在黑莓桌面软件界面中启用此选项。未加密的黑莓设备也可以通过 JTAG(兼容的型号)或芯片拆卸获取。

黑莓 7 JTAG、ISP 和芯片拆卸获取

根据设备是否启用了内容保护(数据加密,选项 | 安全性 | 加密 在 BB7 中),该设备可能会或不会受到高级获取技术(如 JTAG、在系统编程ISP)或芯片拆卸)的影响。此外,这些较旧的黑莓设备可以通过其连接的 BES 解锁。请注意,JTAG 仅适用于旧设备。

根据 BlackBerry 7 设备是否连接到 BES,解密芯片脱离的转储可能成功,也可能无法成功。在某些情况下,使用内置加密(内容保护)的非 BES 设备可以通过芯片脱离方式进行转储,并通过从 SHA1 哈希文件中恢复原始密码来成功解码。

注意

更多信息:PGP 加密的 BlackBerry 和芯片脱离取证 securemobile.me/yes-the-blackberry-can-be-cracked-but-how-easily/

获取 BlackBerry 桌面备份

我们将使用 Elcomsoft Phone Breaker 通过对备份文件进行攻击来恢复保护 BlackBerry 备份的密码。需要注意的是,此攻击仅适用于 经典 BlackBerry 操作系统(版本 7 及以下)。您可以指定一种或多种不同的攻击方式,例如,字典(也称为密码攻击)、暴力破解等。多种攻击方式的组合构成了一个恢复管道。

要在 Elcomsoft Phone Breaker 中恢复密码,请执行以下操作:

  1. 打开 密码恢复向导 页面。获取 BlackBerry 桌面备份

  2. 通过选择文件的 选择源 命令,或将备份文件拖放到 密码恢复向导 窗口中,指定备份文件(.ipd.bbb)。

    注意

    注意:或者,您可以使用 工具 | BlackBerry | 解密备份 路径,如下截图所示:

    获取 BlackBerry 桌面备份

  3. 默认情况下,该工具将列出所有使用 BlackBerry Desktop 软件创建的本地可用备份。如果您正在恢复位于嫌疑人硬盘、外部设备或已挂载的取证磁盘映像上的备份,您需要手动指定备份文件的位置。

  4. 在指定备份文件后,您需要定义将用于破解密码的攻击方式。点击加号 + 以添加不同的破解密码攻击。默认情况下,字典攻击和暴力破解攻击会自动添加。如需了解攻击方式及其设置的更多信息,请参见在线手册中的 密码恢复攻击 主题。获取 BlackBerry 桌面备份

  5. 您可以选择通过点击每种方法右侧的齿轮图标来配置字典攻击和暴力破解攻击。获取 BlackBerry 桌面备份获取 BlackBerry 桌面备份

  6. 点击 开始恢复。Elcomsoft Phone Breaker 将开始攻击密码。显示剩余的估计时间以及当前处理的密码。您可以点击攻击名称旁边的 更多信息 来查看附加信息,例如已尝试的密码数量和平均攻击速度。获取 BlackBerry 桌面备份

  7. 如果攻击成功,发现的密码将在恢复结果窗口中显示。此时,您可以解密备份并在Elcomsoft BlackBerry Backup Explorer中打开它(www.elcomsoft.com/ebbe.html),或者使用第三方取证工具,利用发现的密码解密备份。

就是这样,我们已成功恢复密码。现在可以使用该密码解密备份。此外,您还可以破解保护 BlackBerry Wallet 和 Keeper 数据的密码。

解密备份

以下部分适用于 BlackBerry OS 备份(BB OS 7 及更早版本)。BlackBerry 10 的备份使用不同的过程获取。

如果您已经知道(或之前已恢复)BlackBerry 备份的密码,EPPB 可以解密它,因此您可以在其他软件中打开解密后的备份文件(我们推荐使用 Elcomsoft Blackberry Backup Explorer)。

您需要一个 BlackBerry 数据库*.ipd文件或 BlackBerry 备份*.bbb文件来解密备份。

只有 BlackBerry 智能手机备份可以解密;从 PlayBook 设备创建的备份具有不同的格式,目前尚不支持,因此 EPPB 只能恢复此类文件的密码,但无法解密它们。

要解密 BlackBerry 备份,请执行以下操作:

  1. 工具菜单中,选择BlackBerry选项卡。

  2. 选择解密备份。

  3. 选择一个 BlackBerry 数据库文件(*.ipd)或 BlackBerry 备份文件(*.bbb),将其拖放到解密备份窗口中,或者点击选择备份手动导航到所需的文件。

  4. 加载备份后,您可以查看以下有关备份的信息:

    • 备份日期

    • 产品类型

  5. 您可以通过点击备份名称旁边的更改备份来选择其他备份。

  6. 定义备份解密选项:

    • 保存解密到:选择解密后备份保存的位置。

    • 备份密码:输入备份的密码。切换查看按钮,以字符或星号(*)显示密码。如果您尚未恢复密码,点击恢复密码

  7. 点击解密

  8. 解密过程已开始。您可以查看处理的文件数量以及解密过程中出现的错误数量。

  9. 当解密完成后,您可以通过点击查看按钮查看保存到本地计算机的备份位置。

  10. 点击完成以关闭解密备份页面。

您现在已经成功解密了备份,可以继续恢复 BlackBerry Keeper 和 Wallet 数据。

注意

注意:如果您正在查看由旧版本的 Blackberry(BlackBerry 10 之前版本)生成的备份文件,您可以使用 Elcomsoft Blackberry Backup Explorer:www.elcomsoft.com/ebbe.html

BlackBerry 密码管理器和 BlackBerry 钱包

BlackBerry 密码管理器和 BlackBerry 钱包是两个内置的应用程序,包含大量宝贵的数据。网站的认证凭证和密码存储在 BlackBerry 密码管理器中,提供更快捷的登录体验。BlackBerry 钱包存储信用卡号码、账单和送货地址、忠诚计划和常旅客计划等信息。通常,这些信息会通过额外的主密码进行加密保护。

BlackBerry 密码管理器和 BlackBerry 钱包不共享主密码(但没有什么可以阻止用户使用相同的密码设置它们)。如果连续 10 次输入错误的密码,在用户选择相应设置(默认行为)的情况下,存储在 BlackBerry 密码管理器或钱包中的信息可能会被永久删除。

注意

注意:在分析离线备份时,不必担心 10 次失败的尝试会擦除数据。事实上,在恢复密码管理器和钱包主密码时,我们会尝试数百万个密码——显然不会丢失存储在备份中的任何数据。

BlackBerry 密码管理器

BlackBerry 密码管理器通过主密码保护用户密码的访问。只需要记住一个密码,用户就更容易为不同的资源(如网站、应用程序和服务)保持独特的密码。BlackBerry 鼓励使用密码管理器生成包含长字符、数字和符号的随机密码,这些密码极其安全。密码管理器加密用户的密码,只有输入正确的密码管理器主密码才能解密。

存储在 BlackBerry 密码管理器中的密码默认包含在完整的离线备份中(除非在备份时明确排除)。备份本身是加密的;然而,即使备份被解密,密码管理器中的密码仍然会受到额外主密码的保护。

BlackBerry 钱包

BlackBerry 钱包存储某些财务信息,如信用卡号码、账单和送货地址、常旅客号码、忠诚奖励和会员卡号码。钱包旨在加速移动支付过程,通过自动填写必填字段简化在线购买流程。

存储在 BlackBerry 钱包中的数据非常敏感,并且通过钱包主密码进行加密保护。这个密码通常与 BlackBerry 备份密码不同,提供了额外的保护层。

BlackBerry 安全模型 - 破解设备密码

存储在经典 BlackBerry 操作系统设备中的信息通过设备密码进行保护。每次开机时,设备都会请求输入设备密码,同时每次安全超时到期时(如果启用了该选项)也会要求输入设备密码。10 次错误尝试将导致数据完全清除,无法再进行恢复。这个安全特性是 BlackBerry 安全模型的标志之一。然而,个人安全密码不是强制执行的,是可选的。换句话说,BlackBerry 设备用户不必为 BlackBerry 设备(包括 BlackBerry 10)启用设备密码,除非通过公司政策(BES、Exchange 服务等)强制执行此保护。

ElcomSoft 已发现绕过设备密码的方法。在某些情况下,如果选择了用户可选择的选项来加密可移除媒体卡的内容,则可以离线攻击并恢复设备密码。如果是这种情况,调查人员可以使用 Elcomsoft Phone Breaker 来分析存储在媒体卡(microSD)上的信息,并在不使用 BlackBerry 设备本身的情况下攻击原始设备密码。

什么是媒体加密,为什么它可以用来攻击设备密码?BlackBerry 智能手机可以选择加密 SD 卡的内容。理论上,这将不允许攻击者在不知道正确的设备密码的情况下访问存储在 SD 卡上的信息。实际上,加密方案依赖于设备密码,允许在不使用设备本身的情况下攻击该密码。需要注意的是,SD 卡加密默认情况下是禁用的,但一些用户选择启用额外的安全层。

请注意,这种方法仅在使用安全密码选项加密可移除媒体卡的情况下有效(而不是使用硬件依赖的加密密钥)。大约 30% 的 BlackBerry 用户选择通过此选项保护他们的媒体卡,使他们的设备暴露于此攻击中。

根据 BlackBerry 的定义,存在三种可能的选项组合,如下所示:

  • 设备密钥:使用由 BlackBerry 智能手机生成的媒体卡加密密钥加密文件

  • 安全密码设备密码(取决于操作系统版本):使用 BlackBerry 智能手机密码加密文件

  • 安全密码和设备密钥设备密码和设备密钥(取决于操作系统版本):使用媒体卡的加密密钥和 BlackBerry 智能手机密码加密文件

Elcomsoft Phone Breaker 可以成功恢复密码,如果指定了安全密码(设备密码)或安全密码和设备密钥(设备密码和设备密钥)选项。然而,如果启用了安全密码和设备密钥,即使恢复了原始密码,也无法在没有使用过的 BlackBerry 设备的情况下解密媒体卡内容。

BlackBerry 10 始终使用基于设备密钥的媒体卡加密,这带来了两个后果。首先,我们不能再通过使用加密的媒体卡来攻击设备密码。其次,如果用户将卡从原始使用的 BlackBerry 10 设备中移除,其他 BlackBerry 10 设备将无法访问该卡上的信息。因此,在将媒体卡转移到另一个 BlackBerry 设备之前,备份卡上存储的信息是至关重要的。

更多信息可以在以下网址找到:

使用此选项时,实际的 BlackBerry 设备并不需要执行攻击。所需的只是来自 SD 卡的单个文件。使用现代计算机时,离线恢复速度极高(考虑到经典 BlackBerry OS 设备的硬件速度是多么慢),每秒能解锁数千万个密码。这意味着,一个相对安全的七字符密码可以在不到一小时内解锁。

通过知道原始设备密码,调查员可以访问存储在原始 BlackBerry 设备中的信息,或者可以生成备份文件以供离线分析。

获取 BlackBerry 10

多年来,基于 QNX 的 BlackBerry 10 一直是 BlackBerry 的核心操作系统。它被应用于所有新设备;较旧的设备未升级至 BB 10(www.theinquirer.net/inquirer/news/2145581/rim-current-devices-won-t-upgraded-blackberry)。

2013 年 1 月,BlackBerry 发布了一个全新的、改进版的操作系统,命名为 BlackBerry 10。最初仅在单一触摸屏设备 BlackBerry Z10 上提供,这个新系统随后扩展到包括 BlackBerry Q5、Q10、Q20(经典版)和 Q30(护照版和护照 SE),触摸屏 Z30 和 Leap,以及若干款保时捷设计的型号。

BlackBerry 10 具有运行 Android 应用的功能(可以通过 Amazon 应用商店或 Amazon Underground 安装,适用于最新版本);然而,该操作系统不支持Google 移动服务GMS),而且通常不会像基于 Google 的 Android 那样收集关于用户的过多信息。

入门指南

与 iOS 类似,BlackBerry 10 是一个封闭源代码的操作系统。与苹果类似,BlackBerry 在内部制造所有 BB10 手机,使用的仅仅是单一制造商的两款芯片组。除 BlackBerry Passport 外,所有 BlackBerry 10 设备都采用 Qualcomm Snapdragon S4 芯片组(见于 BlackBerry Q5、Q10、Q20 Classic、Z10、Z30、Z3、Leap 和限量生产的 Porsche Design 单元)。Passport 配备 Snapdragon 801。就像 iOS 一样,所有 BlackBerry 10 设备会在同一时间更新至最新版本的 BlackBerry OS。因此,没有平台碎片化,也没有平台或制造商特有的考虑。基于此,仅需几个简单的迭代即可确定最佳的数据采集方法。

你知道设备是否加密吗? 如果知道,并且设备没有加密,那么 ISP 或芯片提取将提供最大量的信息,包括已删除的数据。如果你知道设备已加密,那么低级别的数据采集技术可能无法奏效。

提示

注意:在现有版本的 BlackBerry 10 中,除非设备连接到 BES 且 BES 强制执行设备加密策略,否则加密不会被强制执行。此外,在没有连接到 BES 的消费者设备上,默认情况下加密是关闭的。任何 BlackBerry 10 手机的加密状态需要根据具体情况来验证。请注意,这不适用于 BlackBerry Android 设备(如 BlackBerry Priv 和 DTEK50),这些设备默认启用全盘加密。

设备是否连接到 BES? 根据 BB10 操作系统的版本,设备只有在连接到 BES 时才能使用 PGP 加密;用户可选择的数据保护可能会使用不同的加密方案。尽管通过 BES 远程解密连接到 BES 的设备是可能的,但如果不知道正确的设备密码,突破用户可选择的加密将是不可能的。

你知道密码吗? 如果你知道设备密码,你可能能够登录设备并通过 BlackBerry Link 或第三方工具制作完整的备份。备份将使用存储在线的密钥进行加密;只有在知道正确的 BlackBerry ID 密码的情况下,你才能解密备份。

你有备份文件吗? 如果你可以访问现有的备份文件,并且知道原始的 BlackBerry ID 密码,你可能能够解密它。如果没有这个密码,解密备份将是不可能的,因为解密密钥存储在服务器上。

BlackBerry 10 备份

尽管命名方式相似,BlackBerry 10 是一个全新的系统,在各个方面与 BlackBerry OS 截然不同。差别有多大?就像 Symbian 与 Android 之间的差异一样巨大。

新的操作系统基于微内核架构QNX),这与 Android 和 iOS 等使用的单内核架构有着本质的不同。难怪 BlackBerry 10 在操作系统安全模型上做出了重大改变。SD 卡加密不再影响设备密码。现在本地备份由 BlackBerry Link 处理,并且始终使用基于用户 BlackBerry ID 的高度安全加密密钥加密,而不是用户可选择的密码。该加密密钥深藏在设备内部,无法通过芯片移除提取。然而,该密钥可以用于在新的 BlackBerry 设备上恢复(并解密)备份,因此可以从 BlackBerry 服务器获取。

用户使用 BlackBerry Link 创建备份时究竟发生了什么?

BlackBerry 10 备份

使用 BlackBerry Link 备份 BlackBerry Passport

当使用现有的 BlackBerry ID 设置新的 BlackBerry 设备时,设备会连接到 BlackBerry 服务器并接收与该 BlackBerry ID 绑定的二进制加密密钥。该密钥随后被存储在设备的安全区域内。这个区域无法从外部访问,也不能通过 eMMC 转储或芯片移除获取;只有 BlackBerry 操作系统才能访问该密钥。

加密密钥非常安全。与 Apple 的 securityd 不同,BlackBerry 的加密方案不依赖于硬件。相反,密钥与用户的 BlackBerry ID 绑定,并保存在服务器上。所有这些都使得用户能够在新设备上恢复完全相同的数据,包括敏感信息。当用户更改或重置 BlackBerry 密码时,加密密钥不会改变。硬件升级后仍使用相同的密钥,这证明密钥不依赖于硬件。

当用户使用 BlackBerry Link 或第三方工具(如 Sachesi 或 Darcy 的 BlackBerry 工具)进行备份时,工具不会接收到未加密的数据。相反,工具会向 BlackBerry 设备发送命令,设备本身会实时加密信息。加密后的数据会被传输到 BlackBerry Link(或其他替代应用程序)。类似于 Apple iTunes,BlackBerry Link 并不负责制作备份;它只是接收加密的数据流并将其保存到文件中。

当恢复相同或新的 BlackBerry 设备时,设备通过 BlackBerry 服务器与 BlackBerry ID 进行初始化。加密密钥从服务器传输到设备。只有在接收到加密密钥后,设备才能解密通过 BlackBerry Link 恢复的备份。解密过程发生在设备本身。在 BlackBerry 10 中,解密后的数据永远不会离开设备。

初始化请求可以通过模拟用给定 BlackBerry ID 激活的 BlackBerry 设备来拦截。BlackBerry ID 以明文存储在备份文件中。如果你知道保护用户 BlackBerry ID 账户的正确密码,就可以使用 Elcomsoft Phone Breaker 从 BlackBerry 服务器获取加密密钥,并立即解密本地备份。

在提供用户的 BlackBerry ID 和密码后,可以使用 Elcomsoft Phone Breaker 解密离线备份。以下类别可用,并将生成:

  • 应用程序数据

  • 媒体文件(图片和视频)

  • 设置

注意

注意:BlackBerry 10 也可以备份应用程序文件(.bar文件)。由于版权原因,.bar文件不会被提取。

BlackBerry 10 备份中的大部分信息都以明文或 SQLite 格式提供。这可以通过通用的移动取证软件进行分析。

BlackBerry 10 - 考虑 ISP 和芯片拆解取证

BlackBerry 10 手机没有 JTAG 端口。然而,仍然可以根据设备的加密状态使用高级采集技术,例如 ISP 和芯片拆解。

随着 BlackBerry 市场份额的流失,购买 BlackBerry 的主要原因就是其安全性。因此,加密很可能在被获取的 BlackBerry 10 设备上启用。启用加密后,若没有有效的解密密钥,芯片拆解获取 BlackBerry 10 手机的内容是没有意义的,因为无法在芯片拆解过程中提取解密密钥。

提示

重要:在当前版本的 BlackBerry 10 中,加密默认没有启用,需要由最终用户或BlackBerry 企业服务器BES)管理员激活。每台 BlackBerry 10 手机的加密状态都需要逐个验证。

如果已知某设备的密码,检查加密是否启用就很容易:

  1. 打开并解锁设备。

  2. 在设备的主屏幕上,从屏幕顶部向下滑动。

  3. 点击设置 | 安全与隐私 | 加密BlackBerry 10 - 考虑 ISP 和芯片拆解取证

  4. 检查以下开关是否设置为开启

    • 设备加密

    • 媒体卡加密

    BlackBerry 10 - 考虑 ISP 和芯片拆解取证

如果一台 BlackBerry 10 设备被锁定且密码未知,就没有简单的方法来验证其加密功能是否已启用。此时,可以尝试对手机进行芯片拆解,期望获取未加密的图像。

我们时不时会遇到未加密的 BlackBerry 10 设备。从统计上看,看到未加密的 BlackBerry 设备极为罕见。然而,我们已收到多个关于新款 BlackBerry(包括 BlackBerry Classic、Z10 和 Z30)成功进行芯片拆解的报告,且未出现问题。

获取 BlackBerry 10 备份

BlackBerry 10 设备使用 BlackBerry Link 进行离线备份。此外,BlackBerry 10 不再拥有钱包功能。然而,Keeper 应用仍然可用,并且从 10.3 版本开始成为 BlackBerry 操作系统的一部分。

使用 Elcomsoft Phone Breaker

您需要一个 BlackBerry 备份*.bbb文件来解密 BlackBerry Link 备份。您还需要创建备份的用户的 BlackBerry ID 密码。

要解密 BlackBerry Link 备份,请按以下步骤操作:

  1. 当备份加载后,您可以查看备份的以下信息:

  2. 通过拖放 BlackBerry 备份文件(*.bbb)到解密备份窗口,或者点击选择备份手动导航到所需文件。

  3. 选择解密备份

  4. 工具菜单中,选择BlackBerry标签。

    • 备份日期:PC/Mac 上的本地时间,备份已创建的时间(我们仅提取此字段并显示原样,因为它是从备份文件中提取的)。

    • 产品类型:已备份的 BlackBerry 设备类型。

    • PIN:BlackBerry 设备的 ID

  5. 您可以通过点击备份名称旁边的更改备份来选择不同的备份。使用 Elcomsoft Phone Breaker

  6. 定义备份解密选项:

    • 保存解密至:选择保存解密备份的位置。

    • 关联 BlackBerry ID 用户名:创建备份的用户的 BlackBerry ID(电子邮件)。

    • BB ID 密码:输入以斜体显示在关联 BlackBerry ID 用户名中的 BlackBerry ID 密码。切换查看按钮以显示密码字符或星号(***)。

  7. 点击解密

  8. 解密过程开始。

  9. 当解密完成后,您可以通过点击查看按钮查看保存到本地计算机位置的备份内容。使用 Elcomsoft Phone Breaker

  10. 点击完成以关闭解密备份窗口。

备份现在可以在您的计算机上用于进一步分析。您可以使用 Elcomsoft Phone Viewer 浏览和查看备份的内容。

使用 Oxygen Forensic Suite

如果您拥有 Oxygen Forensic Suite 的许可,您可以使用该工具内置的获取向导来导入加密的 BlackBerry 10 备份。Oxygen Forensic Suite 使用 Elcomsoft Phone Breaker 的技术,通过正确的 BlackBerry ID 和密码从 BlackBerry 服务器获取解密密钥。

  1. 使用导入文件 | 导入 Blackberry 备份 | 导入 BB10 备份...使用 Oxygen Forensic Suite

  2. 系统将提示您输入 BlackBerry ID 密码(而非设备密码):使用 Oxygen Forensic Suite

  3. 如果输入了正确的密码(工具会在您点击应用密码按钮后立即检查),您将能够填写案件详情,之后会出现以下摘要屏幕:使用 Oxygen Forensic Suite

  4. 点击 提取,工具将开始解密备份:使用 Oxygen Forensic Suite

  5. 根据备份的大小,过程可能需要相当长的时间。例如,解密一个 7.57 GB 的备份大约需要 25 分钟。

分析 BlackBerry 备份

市面上有许多取证工具可以解析和分析存储在 BlackBerry 备份中的信息(前提是密码已知或已恢复)。ElcomSoft 提供了以下工具:

Elcomsoft BlackBerry Backup Explorer(适用于 BlackBerry 1.0 至 7.1 版本创建的备份)可以访问存储在密码保护备份中的加密信息,前提是知道原始密码或通过 Elcomsoft Phone Breaker 恢复了密码。使用该工具,您可以提取 BlackBerry 备份中可用的重要信息,进行分析、打印并导出信息。Elcomsoft BlackBerry Backup Explorer 是为数不多的能够在提供的密码下,实时解密加密备份的工具之一。

Elcomsoft Phone Viewer 可以访问解密后的 BlackBerry 10 备份。为了查看 BlackBerry 10 备份,首先使用 Elcomsoft Phone Breaker 解密它。然后打开 Elcomsoft Phone Viewer 并点击 选择备份

分析 BlackBerry 备份

该工具默认显示 iTunes 备份的列表(如果有)。要加载 BlackBerry 10 备份,请点击 选择其他

分析 BlackBerry 备份

从出现的文件对话框中,选择您要查看的 BlackBerry 10 备份。工具将导入该备份。

分析 BlackBerry 备份

一旦备份被导入,您将看到设备中可用信息的概览。

分析 BlackBerry 备份

Elcomsoft Phone Viewer 允许查看 日历通话联系人媒体(图片和视频,包括缓存的图像和地图瓦片)、短信笔记。您可以使用过滤器来指定日期范围、来电/去电等。

分析 BlackBerry 备份

如果您需要更多的分析功能,可以使用一些功能齐全的移动取证工具,如 Oxygen Forensic Suite。特别是,Oxygen Forensic Suite 允许在备份的整个文件系统中进行全文搜索。

分析 BlackBerry 备份

总结

本章中,我们回顾了两代 BlackBerry 设备的获取方法:BlackBerry OS 1 至 7 和 BlackBerry 10。我们学习了如何根据操作系统获取 BlackBerry 备份,并回顾了一个漏洞,该漏洞使我们能够在旧版 BlackBerry OS 设备中恢复设备密码(前提是其媒体卡已加密)。我们没有研究 BlackBerry Android 设备,因为它们的获取方法与获取其他 Android 设备相似。

下一章将讨论在获取移动设备时遇到的障碍、特殊情况和注意事项。

第十章:处理问题、障碍和特殊案例

每个获取案例都不尽相同。不同的制造商、硬件和生态系统;不同版本的移动操作系统;不同的设备安全设置;以及许多其他因素,使得每个案例都具有独特性。在本章中,我们将看看一些可能成为成功获取路上的障碍。我们将学习如何处理一些问题,并了解一些特定平台所施加的限制和局限性。

云获取与双重身份验证

双重身份验证可能是自密码发明以来最好的安全功能。双重身份验证在很大程度上保护了账户免受黑客攻击。仅仅一个密码,不管多么长或安全,已经不足以提供足够的保护。社交工程、关联的安全漏洞 (blog.elcomsoft.com/2013/02/yahoo-dropbox-and-battle-net-hacked-stopping-the-chain-reaction/)、泄露的密码和被黑的邮箱,都加剧了基于密码的保护的不安全性。一旦入侵者掌握了某人的密码,他们就能轻松访问该账户。更糟糕的是,他们还可以通过例如使用被黑的电子邮件地址来请求其他相关服务的密码重置,从而访问其他账户。双重身份验证旨在解决这一问题。

LinkedIn。Yahoo! Mail。Dropbox。Battle.net。IEEE。Adobe Connect。PayPal。eBay。Twitter。这些只是最近一些大型服务提供商被黑的例子,数百万的密码被泄露。

那个臭名昭著的名人照片泄露事件 (www.mirror.co.uk/3am/celebrity-news/celebrity-4chan-shock-naked-picture-4395155) 引起了极大的关注。它展示了 iCloud 用户如何容易受到远程黑客攻击。成千上万的名人通过 iPhone 拍摄的裸照直接从他们的 iCloud 账户中被盗。显然,黑客能够从名人的 Apple ID 获取密码,并使用 Elcomsoft Phone Breaker 的副本获得访问链接的 iCloud 账户。如果 Apple 强制要求 iCloud 账户持有者启用双重身份验证,那么这个问题可能会发生得更少。即使双重身份验证并非万无一失,且易受社交工程攻击,它确实需要黑客付出更大的努力才能从受害者那里获取一个快速过期的安全代码,并且对攻击者构成更高的风险。

作为一名移动取证专家,你可能会在尝试从嫌疑人的云账户获取信息时遇到类似的障碍。

双重身份验证——Apple、Google 和 Microsoft

三大主要移动服务提供商(Apple、Google 和 Microsoft)都采用类似的双因素身份验证方法。最常见的两种方法是在线和离线。

在线身份验证通过在受信任的设备上批准认证请求或输入推送到用户的代码,或通过短信发送的代码来工作。离线身份验证应用程序必须初始化一次加密种子;此后它们会生成时间敏感的身份验证代码,而无需互联网连接。

Google 主要通过其 Google Authenticator 应用程序(或在 Windows Phone 设备上通过 Microsoft Authenticator)使用离线身份验证。不过,推送认证是 Google 在 2016 年 6 月新增的功能。

Apple 主要依赖在线身份验证,将代码推送到受信任的 iOS 设备,或通过短信传送服务器生成的一次性验证码。使用时间依赖的离线代码的功能是在 iOS 9 中加入的,支持双因素身份验证。

最后,Microsoft 用户可以同时访问这两种认证方法。Windows 用户在验证其 Microsoft 帐户时,可以随时选择在线或离线认证。此外,用户可以通过电子邮件地址或电话号码设置两步验证。当用户尝试在新设备或新位置登录时,Microsoft 会发送安全码供用户在登录页面输入。

Microsoft Apple Google
推送认证 是:仅适用于 Windows 10 Mobile 和 Android 应用 是:适用于 iOS 9 及更高版本 是:适用于运行最新 Google Play 服务的 Android 未指明版本
离线认证 是:iOS 9,通过设置
文本/SMS 认证 是,作为备份 是,作为备份 是,作为备份

在线与离线身份验证

在使用在线身份验证时,用户必须在其受信任的设备上批准通知。使用这种类型的身份验证,用户无需输入安全代码,而是会向所有受信任的设备推送验证请求。通过批准请求,用户可以成功确认其身份。

离线认证应用程序基于不同的原理。它们不需要活动的互联网连接或移动服务。每隔几秒钟,认证应用会自动生成一个新的时间敏感的一次性验证码。即使受信任的设备处于离线状态,代码也会自动生成。

虽然通常可以通过在线身份验证应用取消单个受信任设备的授权,但取消离线身份验证的授权仅能同时对所有离线身份验证应用进行。生成新的加密种子后,使用旧种子生成的离线认证应用程序代码将无法验证。

应用程序密码与双因素身份验证

双重身份验证仍然相对较新。因此,一些设备和第三方应用在启用双重身份验证时,无法正确验证账户。如果是这种情况,用户在尝试设置账户时会看到密码错误的提示。这是因为这些较老的应用不支持额外的安全代码。

这个问题立即引起了双重身份验证方案开发者的关注,并实现了一个巧妙的解决方法。如果某个应用或设备不支持双重身份验证,用户可以创建一个独特的应用密码,让这些应用能够登录并有效绕过第二步身份验证。用户可以根据需要生成任意数量的应用密码。微软、苹果和谷歌都支持特定应用的密码。建议用户为每个不支持双重身份验证方案的应用或设备创建新的应用密码。

用户可以随时撤销应用密码。使用被撤销密码的应用将无法登录或认证(例如,通过存储的令牌)。有趣的是,特定应用的密码无法用于网页登录或与各公司各自的应用程序配合使用。

一个由谷歌 2FA 生成的典型应用密码如下所示:asdg skgf dsks ezck(输入时不应有空格)。

从取证角度看,这些应用密码一旦被提取,可以有效绕过双重身份验证。然而,它们在取证中的使用是有限的。例如,苹果不允许使用应用密码下载 iCloud 备份,但允许访问某些类型的数据(如笔记和消息)。微软也不允许通过应用密码访问其备份。另一方面,谷歌即使在使用应用密码时,也允许有限访问某些类型的数据。值得注意的是,当专家无法访问第二重身份验证因素时,应用密码可以作为最后的手段。

谷歌的双重身份验证

谷歌实现了统一的双重身份验证,保护用户在使用谷歌账户进行的所有互动。如果启用了双重身份验证,用户在尝试访问任何由谷歌账户提供的服务时,若是从新设备、应用或浏览器发起的访问,都必须验证身份。例如,在 Internet Explorer 中验证 Gmail 并不会自动授予用户在 Chrome 中访问同一 Gmail 账户的权限,反之亦然。

受保护的服务包括(但不限于)登录谷歌账户、使用 Gmail、访问谷歌云端硬盘中的文件或文档,或设置新设备(例如,Android 手机)以访问谷歌 Play 服务。总的来说,谷歌的双重身份验证实现比苹果和微软更为一致且直接。

谷歌主要依赖离线的、非交互式的双重认证。认证应用可以在 Android 和 iOS 上轻松获取。用户通过扫描在设置双重认证时显示的颜色二维码来初始化该应用。一旦初始化完成,应用会持续生成并显示六位数的验证码,这些验证码有效时间很短(30 秒)。

从技术上讲,该应用实现了 RFC 6238 标准中定义的 TOTP 或 HOTP 安全令牌。因此,基于相同标准的类似双重认证应用可能与谷歌兼容,生成的验证码将与用于认证账户的验证码完全相同。例如,微软的认证应用(Microsoft Authenticator),可以在 Windows Phone 平台的 Windows Store 中获取,完全兼容微软和谷歌的双重认证方案,能够用于认证这两种类型的账户。

离线认证通常很方便,因为它不需要活跃的互联网连接。然而,由于它用于验证账户访问(本质上是在线操作),因此这一点是无关紧要的。这种认证方式的缺点是用户无法撤销已授权的设备或应用。如果用户需要撤销任何设备上的应用授权,他们必须生成一个新的初始化图像,并用来重新初始化所有设备上的认证应用。

由于初始化的认证应用可能并不总是可用,谷歌提供了两种备用选项来接收认证码。用户可以授权一个或多个电话号码,通过短信(SMS)接收一次性验证码。此外,用户还可以打印 10 个预生成的八位数备份码。这些备份码不会过期,但它们是一次性的;每个码只能使用一次。如果所有备份码都被使用,或者用户丢失了它们,可以在www.google.com/landing/2step/生成一批新的备份码(这将自动使上一批未使用的备份码失效)。

谷歌的双重认证

谷歌提供了多种认证选项,从可打印的验证码、应用特定的密码、可信设备上的推送认证,到安全密钥(电子令牌)。

谷歌的双重认证

Elcomsoft Cloud Explorer (www.elcomsoft.com/ecx.html) 支持谷歌的双重认证。如果谷歌认证服务器请求验证码,工具会自动请求该验证码:

谷歌的双重认证

点击登录后将会要求输入验证码:

谷歌的双重认证

你可以从受信任的设备请求代码(如果选择安全代码作为身份验证类型,将会出现受信任设备列表),或者使用恢复密钥,如果可用。输入代码并点击验证以继续:

谷歌的双因素认证

注意

更多关于 Google Authenticator 的信息请访问garbagecollected.org/2014/09/14/how-google-authenticator-works/

微软的实现

在微软 Windows 的世界里,微软通过多重安全措施保护 Microsoft 账户登录。微软在恢复 Windows 8、8.1、Windows 10、Windows Phone 8.1 和 Windows 10 Mobile 时使用相同的 2FA 配置。运行这些操作系统的设备数量庞大,因此了解微软双因素认证的含义非常重要。

为什么法医专家应当关注微软系统中的双因素认证?至少,双因素认证保护了之前所有兼容系统所做的在线备份的访问。这些备份包含了关于用户的全面信息,包括存储的 Internet Explorer 和 Edge 浏览器密码、应用数据、联系人、通话记录和短信。尽管微软备份中可用的数据量略少于苹果 iOS 所捕获的数据,但仍远多于 Android 备份中可获得的数据(即便是最新的 Android 6.0.1)。

在设置新的 Windows 8、8.1 或 Windows 10 PC 并尝试使用 Microsoft 账户登录时(而不是使用本地登录),系统可能会提示你完成身份验证。用户的身份可以通过在受信任的设备上批准验证请求或输入由 Authenticator 应用生成的代码来验证。验证请求可以推送到受信任的 PC 或移动设备上的授权 Microsoft 账户应用程序(该应用的 Android 版本也可用)。一旦通过应用程序批准请求,新设备将被添加到受信任设备列表中。

Windows Phone 8 和 8.1 平台使用离线版 Microsoft Authenticator 应用,其工作方式与 Google Authenticator 相似(生成时效性单次使用代码)。两者的区别在于前者需要活跃的互联网连接来接收认证请求,而后者完全离线工作。两种认证方法可以同时启用。

不同的认证类型可能并非在所有平台上都可用。微软已经编制了一份详尽的 FAQ,介绍如何在不同的移动平台上配置身份验证应用程序。

注意

身份验证应用程序:常见问题解答请见windows.microsoft.com/en-US/Windows/identity-verification-apps-faq

提示

你知道吗? 微软和谷歌的离线认证应用是兼容的。用户可以使用运行在 Windows Phone 设备上的 Microsoft Authenticator 来认证谷歌账户,或者使用运行在 iOS 或 Android 上的 Google Authenticator 来认证微软账户。

以下是不同平台上可用的身份验证应用类型:

  • Apple iOS:它是一个离线认证器。微软建议使用与之兼容的 Google Authenticator。

  • Android:它既支持离线认证也支持在线认证。微软账户处理在线认证请求,而 Google Authenticator 可用于生成离线认证码。

  • Windows Phone:它是一个离线认证器。Microsoft Authenticator 可用于验证微软和谷歌账户。

可以在 account.live.com/proofs/Manage 配置验证方法。

微软的实现

注意

关于微软两步验证的更多信息windows.microsoft.com/en-us/windows/two-step-verification-faq

微软允许使用双重身份验证来保护与微软账户的所有交互。然而,用户可以选择仅为访问敏感信息启用此类身份验证,例如在 Windows 10 设备上建立微软账户(这会自动启用对通过 Microsoft OneDrive 同步的所有文件的完全访问权限,访问存储的密码,以及恢复包括配置设置和应用数据在内的备份的能力)。

苹果的两步验证

直到最近,苹果一直使用自己独特的多因素认证方法。这个被称为两步验证的额外安全层(support.apple.com/en-us/HT204152)仅用于保护使用用户的 Apple ID 可以执行的某些活动。具体来说,二步验证涵盖(并且如果你使用的是 iOS 版本低于 9.0,仍然覆盖)以下所有活动:

  1. 登录到 Apple ID 账户页面。

  2. 在新设备上登录 iCloud 或访问 www.icloud.com/

  3. 登录 iMessage、Game Center 或 FaceTime。

  4. 在新设备上进行 iTunes、iBooks 或 App Store 购买。

  5. 获取与 Apple ID 相关的支持,请访问苹果。

根据苹果的说明,以下是两步验证的工作原理:

  1. 按照平常的方式输入 Apple ID 和密码。

  2. 苹果会将验证代码发送到你的某一设备上。

  3. 输入验证码以验证身份并完成登录。

注意

来源support.apple.com/kb/PH14668?locale=en_US

两步验证只支持一个次级认证因素:受信任的 iOS 设备。苹果会将验证代码推送到受信任的设备上,用户可以使用该设备验证启用了两步验证的请求。

备份验证方法包括短信验证和可以创建、打印并存放在安全地方的离线恢复密钥

随着 iOS 9 的发布,苹果从这种专有方案转向了另一种方法:更加开放的双因素认证。

苹果的双重认证

自 iOS 9 起,苹果从双重验证切换到了一个不同的、改进的安全机制。苹果的双因素认证直接集成在 iOS 9 中,旨在保护访问存储在 Apple 上的所有照片、文档及其他重要数据。

自 2015 年秋季以来,苹果已逐步向符合条件的用户推出双重认证(support.apple.com/en-us/HT205075)。与较早的双重验证不同,新的双重认证机制从根本上保护 iOS 设备。如果启用了双重认证,用户每次从新设备访问 Apple ID 时,都需要输入一个独特的、一次性六位数的认证代码。该代码会自动显示在用户的其他设备上,或发送到受信任(并已验证)的电话号码(support.apple.com/en-us/HT204915)。

该代码每个设备仅请求一次。它在用户完全注销、擦除设备或更改密码之前保持有效。可以通过提供信任浏览器的选项来记住网页登录。

绕过苹果的双因素认证

在数字取证中,次级认证因素可能存在也可能不存在。如果次级认证因素是受信任的 iOS 设备,则需要能够解锁该设备(通过输入正确的密码)才能访问推送的认证代码。此访问权限可能对调查员可用,也可能不可用。

当执行受双重验证或双因素认证保护的苹果账户的云端数据获取时,调查员可以通过使用缓存的认证令牌绕过认证要求。认证令牌是一段缓存数据,有助于在不需要用户每次输入凭证的情况下对请求进行认证。

此时,仅由 Apple iTunes 生成的认证令牌可以用于绕过认证。

获取并使用二进制认证令牌访问用户的 iCloud 和 iCloud Drive 数据的详细信息,请参阅我们的博客:

注意

突破 iCloud:无需密码,详见 blog.elcomsoft.com/2014/06/breaking-into-icloud-no-password-required/

如果没有可用的二进制认证令牌,仍然有可能从计算机中提取正确的 Apple ID 和密码:

注意

获取和使用 Apple ID 密码,降低风险并保护个人信息,详见blog.elcomsoft.com/2015/03/acquiring-and-utilizing-apple-id-passwords-mitigating-the-risks-and-protecting-personal-information/

进一步阅读:Apple 双重身份验证和 iCloud,详见blog.elcomsoft.com/2013/05/apple-two-factor-authentication-and-the-icloud/(该文章发布于 2013 年,因此自那时以来某些内容已有变化)。

双重身份验证——一个真正的障碍

双重身份验证在确保用户账户安全方面起到了重要作用。即使使用了一个弱密码,第三方也可能无法访问被双重身份验证保护的信息,如果他们无法物理接触到第二个身份验证因素的话。

双重身份验证是执行无线获取的障碍。因为获取通常发生在被认为是新设备的设备上,认证系统会要求通过第二个因素验证用户身份。因此,像 Elcomsoft Cloud Explorer 这样的工具需要输入正确的身份验证代码。

有例外情况。例如,可以从之前已授权的计算机中提取 Apple 的认证令牌,并与像 Elcomsoft Phone Breaker 这样的工具配合使用。这允许访问存储在用户 iCloud 中的信息,包括 iOS 备份和上传的文件,即使没有可信设备也能访问。

未分配空间

虽然我们会为每个独立的移动平台分别讲解未分配空间问题,但本章将所有关于该问题的信息集中在一个地方。为了方便读者将本章作为参考,我们包含了一些关于内部存储(eMMC)和外部存储(SD 卡)以及加密基础知识的信息,并探讨了加密对未分配空间的影响。我们分别审视了内部和外部存储的加密选项,因为它们对未分配空间的影响可能大不相同。如果你只想知道是否能从特定设备中恢复未分配空间,继续往下读吧!

未分配空间的问题

从智能手机中删除的信息会发生什么?在进行完全恢复出厂设置后,数据还有生命吗?在远程清除之后,设备上还剩下什么?恢复未分配空间中存储的信息的最佳方法是什么?需要哪些工具和设备?鉴于六大主流移动平台和无数变种,任何这些问题都没有统一的答案。让我们从头开始探讨这个问题。

访问不同移动平台上被销毁的证据

目前,我们有几个截然不同的移动平台:苹果 iOS、安卓、Windows Phone 8、Windows RT、Windows 8/8.1/10 和黑莓 10。说这些平台在处理已删除数据时有所不同,并没有说明太多。安卓和 iOS 在处理已删除数据和恢复信息方面截然不同。Windows Phone 8 介于二者之间,而 Windows RT 以及完整版本的 Windows 8/8.1/10 则各自有其问题。

苹果 iOS – 不可能

本章写起来很简单。在 iOS 5 及更高版本中,恢复存储在未分配空间中的数据是不可能的,甚至对于越狱设备也是如此。即便你将设备送到苹果公司,也无法恢复,即使你提供密码。一旦数据丢失,就无法找回。恢复出厂设置会彻底且不可恢复地删除所有内容。

存在一个理论概念,允许你将文件系统的状态恢复到过去的某个时刻。曾经开发过一个概念验证工具,但它从未真正达到可用状态。

这背后的原因是苹果实现加密的方式。从 iOS 5 起,苹果在 iOS 设备中使用了全盘加密。解密密钥仅为文件系统(已分配数据块)保留。iOS 会立即丢弃未分配(已释放)数据块的解密密钥。这意味着一旦文件被删除,针对那些加密数据块的解密密钥就会被销毁。

你可能能够提取完整的磁盘映像。你可能能够提取解密密钥。但你仍然无法解密未分配区域,因为这些数据块的解密密钥已经不存在。虽然实际的(加密)数据可能仍然存在,但绝对没有办法解密它。

由于没有苹果设备使用外部存储(SD 卡),因此也无法从 SD 卡中恢复信息。

那么对于越狱设备用户可用的来自 Cydia 仓库的数据恢复工具呢?那些是假的。在近期的 iOS 设备上,已删除的文件是无法恢复的,任何声称能恢复此类数据的工具或服务都是骗子。

请注意,你仍然可以通过检索设备的 iCloud 备份来访问一些最近删除的文件。由于 iCloud 保留最近的三个备份,通过 Elcomsoft Phone Breaker(www.elcomsoft.com/eppb.html)下载最早的备份,可能会发现那些文件在被删除之前还存在。

黑莓 – 不确定

安全性是黑莓智能手机的标志。虽然以前版本的黑莓操作系统允许用户选择安全性和数据加密级别,但最新的黑莓 10 并非如此。

根据设计,BlackBerry 10 采用可选的全盘加密功能,由终端用户或由企业BESBlackBerry 企业服务器)进行激活。BlackBerry 10 没有越狱方法。BlackBerry 10 设备的物理获取方法有限(Cellerbrite UFED 通过引导加载程序利用某些设备漏洞,如果没有设置设备密码)。无法提取已加密 BlackBerry 10 智能手机的解密原始镜像。芯片取出方法只能生成加密的磁盘镜像;所有数据将继续保持加密状态。BlackBerry 的安全模型非常优秀,并且无法访问 BlackBerry 10 智能手机中(加密的)未分配空间的数据。

实际上,销售给终端用户的 BlackBerry 10 手机默认并未启用加密。由于许多用户不会主动启用加密(或者担心加密后存储子系统的性能变慢),我们遇到过不少未加密的 BlackBerry 10 智能手机。

由于在较新的 BlackBerry 设备上没有物理获取方法,也没有 JTAG 提取方法,芯片取出是唯一可用于 BlackBerry 10 设备的提取方法。没有已知的方法来判断某个特定的 BlackBerry 是否已加密。因此,特定 BlackBerry 10 手机的加密状态必须逐一确定。

SD 卡

一些 BlackBerry 10 设备可以使用 SD 卡来扩展存储空间。这些 SD 卡可以加密,也可以不加密。未加密的 SD 卡可以通过常规方式获取。然而,针对加密 SD 卡并没有解密内容的方法(除非你指示原始 BlackBerry 10 设备执行此操作,而这需要先通过密码解锁设备)。

三星设备已知会使用存储在设备内存中的加密密钥来加密 SD 卡。因此,加密的 SD 卡只能在同一设备中使用。Windows 10 Mobile 也采用类似的技术来加密 SD 卡。

Android – 有可能,但有限制

Android 是一个高度碎片化的平台,它实现了许多与 iOS 相反的功能。我们来看看当文件在 Android 设备中被删除时会发生什么。

Android – 内建存储

许多 Android 设备有两种完全独立的存储类型:内建存储(通常是 eMMC 芯片)和可选的外部存储(通常是 micro SD 卡)。

在 Android 2.3 Gingerbread 之前,Android 智能手机通常使用普通的闪存芯片作为主要存储。为实现磨损均衡,使用了一种称为 f2fs 的闪存友好型文件系统。从 Android 2.3 及以后的版本开始,绝大多数 Android 智能手机使用 eMMC 存储。通常,数据分区会使用 Linux 文件系统之一进行格式化,如 ext3ext4,但 f2fs 也经常出现。在过去,YAFFS2 文件系统也是一个常见的选择。部分三星型号使用 RFS,这是一种基于 FAT 的文件系统。

请注意,仍有大量超低价的中国智能手机使用原始 NAND 芯片,而非 eMMC 闪存。虽然芯片摘取采集可以捕获这些芯片的完整原始数据,但较为简单的采集方式,如物理采集和 JTAG,通常也能在这些设备上使用。这些设备在中国以外的地区相对较为罕见。

未加密存储

如果数据分区未加密,可以通过物理采集、JTAG、ISPIn-system programming,系统内编程)或芯片摘取方式捕获完整的磁盘映像,从而使调查人员可以通过支持 Linux 文件系统的工具进行未分配空间分析。所有 eMMC 存储的限制条件都适用(如 eMMC 和已删除数据 部分所述)。需要注意的是,完整磁盘物理采集可能需要获取 root 权限,或者使用能够临时 root 设备的采集工具。这些方法无法提取 eMMC 芯片的过度分配区域。

加密存储

Android 在许多方面与 iOS 完全相反,包括它的加密方式。与采用全盘加密并销毁未使用块解密密钥的苹果 iOS 相对,Android 的加密是基于扇区的。因此,如果成功解密用户分区,未分配区域也会自动解密。

由于 Android 是一个高度碎片化的平台,OEM 厂商可以以多种不同方式实现系统的各个部分。某些厂商(例如三星)以设备间差异化较大而闻名,甚至通过 OTA 更新改变同一设备上的加密类型。因此,无法预测某个特定的加密分区是否能够通过物理采集方式提取(无论是否知道正确的密码)。有一点是肯定的:加密会使得低级攻击(如 JTAG 和芯片摘取)变得复杂。

Android 各版本的加密方式

说到原生 Android,谷歌早在 Android 3.0 Honeycomb 就实现了加密。然而,大多数 OEM 从 Android 4.0 开始才实现加密。基于 Linux 的 dm-crypt,第一代加密容易被暴力破解。第二代加密更难破解,但暴力破解密码仍然可能(通过切换函数为 scrypt)。Android 加密的初期实现本质上是不安全的,因为加密元数据和加密数据存储在一起。

三星早期的设备使用了原生 Android 的加密实现。然而,该公司对其安全性并不满意,因此开始实验自己的加密实现。三星早期的专有加密实现仍然将加密元数据公开访问。然而,随着时间的推移,公司学会了加密元数据,并将主密钥移到了一个受保护的区域(在芯片提取时无法访问)。

Android 5.0 的加密实现方式与三星的做法非常相似。加密元数据现在由一个主密钥保护,该主密钥被存储在一个受保护的区域,无法通过芯片提取方式访问。谷歌曾计划强制所有搭载 Android 5.x 系统的设备启用加密;然而,这一计划并未实现,除了 Nexus 系列之外,大多数 Android 5.x 设备的加密仍然是可选的。

如果你设法获取到加密分区的未保护镜像(例如,通过物理采集),或者成功解密一个受保护的镜像,你可能能够访问未分配的区域。请注意,大多数加密实现也实现了 Trim 透传,允许 eMMC 控制器清除(擦除)不再使用的数据块。这些数据块将显得像是空的(零填充)区域。然而,由于 Trim 操作在 eMMC 控制器上并不是即时完成的(与大多数 SSD 驱动器不同),你可能仍然有时间分析并恢复这些未分配区域中的数据。

Android – SD 卡

由于许多 Android 设备配有 SD 卡插槽,而且这些 SD 卡很少被加密(详见下一章),因此检索和分析外部 SD 卡是一种恢复信息的简单方法。自然,从 SD 卡恢复信息最好是将卡取出,并以只读方式插入到微型 SD 读卡器中,直接连接到调查员的计算机。

由于 Android 是一个高度碎片化的平台,系统的多个不同版本(以及许多厂商定制化的版本)在 SD 卡上存储哪些数据的策略各不相同。Android 有以下政策,用户在不进行 root 的情况下无法更改这些政策,但个别 OEM 可以覆盖这些政策:

  • Android 2.3, 4.0-4.2:应用程序允许写入外部 SD 卡。许多 OEM 实现将外部 SD 卡设置为未保护状态。应用程序可以被移动到 SD 卡上。应用程序可以安装到 SD 卡上。移动到或安装到 SD 卡上的应用程序可以将数据保存在该 SD 卡上。

  • Android 4.4:由于安全策略的变化,只有系统应用程序可以完全访问外部 SD 卡。普通应用程序不能将数据保存在 SD 卡上,除非它们使用了新的 SAF存储访问框架)API。SD 卡仍然可以用于存储多媒体文件(如音乐和视频)或保存信息,例如地图数据(例如,HERE Maps)。

  • Android 5.0-5.1:新的 API(SAF 扩展)现在允许完全访问 SD 卡目录和文件。

  • Android 6.0:访问外部存储(SD 卡和 OTG 闪存)与内部存储整合。

引入不同的 API 是为了确保存储在 SD 卡上的信息的安全性。与通常使用 ext3 或 ext4 格式化的内部分区(这种文件系统内建权限管理和访问控制)不同,外部 SD 卡通常使用 FAT32(SDHC,最多 32 GB)或 exFAT(SDXC,64GB 及更大卡)格式化。这两种格式都没有实现任何类型的权限或访问控制,因此操作系统需要完全控制谁可以访问 SD 卡上的哪些区域。

注意

注意:64GB(及更大容量)SDXC 卡默认使用 exFAT 格式化。您将需要一个支持 exFAT 的工具来恢复已删除的信息并分析这些 SD 卡上的未分配区域。虽然您仍然可以使用不支持 exFAT 的工具来刻录这些卡,但这些工具将无法区分已分配和未分配的区域,且结果可能混乱。请检查您的工具功能,因为并非所有工具都支持 exFAT。

Android – SD 卡加密

在 Android 手机上,加密的 SD 卡相对较少见。标准 Android 在 Android M 之前的任何版本中都没有实现外部 SD 卡的加密(尽管 SD 卡加密将成为 Android M 的一部分)。

许多三星手机以及某些 OEM ROM 提供可选的 SD 卡加密。相应的设置通常位于 设置 | 更多 | 安全性 | 加密外部 SD 卡设置 | 控制 | 安全性 下,并且只能在手机设置了密码保护的情况下启用。与内部存储类似,SD 卡没有 全盘 加密。相反,只有文件系统被加密。未分配(空闲)区域通常不会加密,这使得调查人员能够在加密前恢复存储在 SD 卡上的已删除信息。三星设备已知会使用存储在设备内部存储器中的加密密钥来加密 SD 卡。因此,加密的 SD 卡只能在加密该卡的同一设备上使用。

注意

Android M 实现了可采纳存储的新概念,允许我们像使用内部存储一样使用外部 SD 卡或 USB 驱动器。这意味着,采用的外部存储与保护内部存储使用的加密方式相同。更多信息可以参考 nelenkov.blogspot.fi/2015/06/decrypting-android-m-adopted-storage.html

恢复出厂设置会导致存储在加密 SD 卡上的数据无法使用(即使 SD 卡与设备分开存储),因为在重置过程中加密主密钥被销毁。

Windows Phone 8 和 8.1 — 对终端用户设备有可能,但存在一些限制

Windows Phone 是一个独特的系统。其他三个系统都是基于 Unix 的。苹果的 iOS 基于 BSD UNIX,谷歌的 Android 基于 Linux,BlackBerry 10 基于 QNX。而 Windows Phone 8/8.1 则基于微软的 Windows,并共享其系统架构和文件系统(NTFS)。

Windows Phone 8/8.1 是一个平衡良好的操作系统,借鉴了 Android 和 iOS 的许多优点。与 iOS 略似,它提供了创建云备份的功能(尽管这些备份包含的信息较少,与 iOS 相比,几乎没有应用程序数据被恢复,只有登录数据会被恢复)。该操作系统为每个应用提供独立的数据空间(沙盒),并且删除应用后不会留下残余垃圾。然而,它允许访问共享文件(例如,任何支持的应用程序都可以播放音乐和视频,而不仅仅是用户导入数据的那个应用程序),这与 Android 相似。像 iOS 一样,Windows Phone 通常不允许从 Windows Store 以外的来源安装应用程序。

Windows Phone 设备可以通过官方的开发者解锁来安装来自第三方来源的有限数量的未签名应用程序。然而,与 Android 不同,用户安装的应用无法获得管理员权限。由于 Windows Phone 设备无法被 root 或越狱,因此也无法安装具有管理员级别访问权限的可执行文件。

因此,无法开发用户级应用程序在手机上启动以访问未分配的空间。这个问题是由于权限不足和缺少低级磁盘访问 API 导致的。

销售给最终用户的 Windows Phone 8/8.1 设备没有预先启用加密。与 Android 不同,用户不能手动在设备上启用加密,且设置中没有任何加密选项。这使得可以使用 JTAG 和芯片提取方法提取设备的完整磁盘镜像。此外,还存在一些方法可以直接读取 eMMC 芯片,而无需将其从电路板上移除。所有 eMMC 存储的常见限制都适用(如在 eMMC 和已删除数据 部分所述)。Windows 10 Mobile 改变了这种行为,允许用户完全控制设备的加密(和解密)。

一些较新的 Windows Phone 8 设备(例如,诺基亚 Lumia 520)可以通过利用启动加载器漏洞进行物理获取。Cellebrite 提供了一种工具(UFED),可以对选定的 Windows Phone 进行物理获取。通过这种方法获取的镜像(如果设备没有加密)将包含手机存储的完整原始转储,包括未分配的区域。

Windows Phone BitLocker 加密

通常,Windows Phone 操作系统(版本 8 和 8.1 以及 Windows 10 Mobile)支持使用 BitLocker 技术来加密用户数据。该技术有效地保护信息(包括未分配区域)免受 JTAG 和芯片提取等硬件攻击。

在 Windows Phone 8 和 8.1 中,最终用户无法控制设备加密。手机设置中没有任何选项可以启用或禁用加密。

在 Windows 10 Mobile 中,微软添加了一个用户可访问的设备加密设置。有趣的是,微软允许同时启用和禁用加密,允许调查人员通过简单的设置更改来解密加密的设备。不用说,任何存储在未分配空间中的数据在解密过程中将永久丢失

Windows Phone BitLocker 加密

Windows 10 设备加密

根据微软的说明(dev.windowsphone.com/en-US/OEM/docs/Phone_Bring-Up/Secure_boot_and_device_encryption_overview),Windows Phone 设备在企业环境中通常会预先启用 BitLocker 加密。设备加密并不是默认启用的。以下情况会自动启用设备加密:

  • 用户将 Outlook 帐户添加到手机中,并且它连接的 Microsoft Exchange 服务器被配置为要求设备加密。

  • 用户将手机连接到公司应用帐户,并且该帐户的企业设备管理服务器会将一个要求设备加密的策略推送到手机上。

在这两种情况下,设备加密策略更改配置在手机上后,手机会自动开始加密主操作系统和内部用户数据存储分区。加密工作会被限制,以最小化对终端用户的影响。

这种加密有效地防止了通过物理获取捕获完整磁盘映像,并使得未分配空间分析变得不可能。JTAG/芯片拆卸获取仍然可以进行,但会变得毫无用处。

根据微软的说法,与桌面 Windows 的 BitLocker 不同,Windows Phone 上没有恢复密钥备份,也没有用户界面选项让终端用户启用或禁用设备加密。微软 Exchange 服务器和企业设备管理服务器无法在启用设备加密后禁用它

提示

dev.windowsphone.com/en-US/OEM/docs/Phone_Bring-Up/Secure_boot_and_device_encryption_overview

Windows Phone SD 卡

许多 Windows Phone 智能手机(有少数例外)支持通过 SD 卡槽使用外部存储。Windows Phone 操作系统实现了对外部存储的高级支持,允许用户不仅可以在 SD 卡上存储音乐和视频,还可以使用外部存储安装应用程序。与 Android 不同,这一功能在所有配备 SD 卡槽的 Windows Phone 设备上都是标准配置,无论是哪个 OEM。特别是那些内部存储空间有限的入门级 Windows Phone 设备(例如 8 GB 型号)很可能会安装 SD 卡,这使得获取更加容易。

Windows Phone 没有单独的选项来加密 SD 卡的内容。相反,SD 卡加密是通过与手机相配套的公司政策触发的,这意味着大多数终端用户设备将保持完全未加密状态,而大多数公司设备将加密内部分区并启用 SD 卡加密。

即便设备的安全策略要求加密 SD 卡,根据微软政策,用户文件(如照片和视频)将保持未加密状态。

有关 Windows Phone 8.1 中 SD 卡加密的更多信息,请参阅 第八章,获取 —— 接近 Windows 8、8.1、10 和 RT 平板

Windows RT、Windows 8/8.1 和 Windows 10

由于 Windows RT 是一个封闭平台,不允许运行未签名的桌面应用程序,除了将设备送回制造商(并附带政府请求)以外,其他获取选项非常有限。

由于大多数 Windows RT 设备(以及许多运行 Windows 8/8.1/10 的平板电脑)都配备了适当的 BitLocker 磁盘加密功能,因此遇到加密系统分区的设备的可能性较高。(为了恢复,默认情况下,如果设备配备了 TPM 模块,具有不可拆卸的(焊接)内存,并且用户使用 Microsoft 账户登录而不是本地 Windows 账户,BitLocker 全盘保护会自动启用,而无需用户干预。)有关 BitLocker 保护的更多内容,请参见 BITLOCKER DEVICE ENCRYPTION。请注意,BitLocker 恢复密钥可以通过政府请求从 Microsoft 获取。

BitLocker 加密是基于卷的。在 eMMC 和 SSD 硬盘上,BitLocker 提供了 TRIM 透传功能,并且不会加密未分配的空间。已释放的数据块将保持加密状态,直到被 SSD 或 eMMC 控制器修剪。

如果 BitLocker 加密没有被启用,通常的获取技术以及适用于 eMMC 的所有考虑事项仍然适用。然而,Windows RT 的获取可能会较为复杂,芯片提取可能是最有效的解决办法。

大多数 Windows RT 设备(几乎所有 Windows 8/8.1 平板电脑)都支持 SD 卡。虽然 Windows RT 可以访问(并解密)通过 BitLocker To Go 加密的 SD 卡,但该系统没有提供加密 SD 卡的工具。(用户仍然可以在运行完整版 Windows 8/8.1/10 的另一台 PC 上为 SD 卡设置密码进行加密,然后使用该加密卡在 Windows RT 设备上。)因此,你很可能会看到未加密的 SD 卡。由于许多 Windows 和 Windows RT 设备的存储空间不足以同时存放 Windows 安装和 Metro 应用程序(32GB 几乎只能满足此需求),因此用户很可能会安装一张 micro SD 卡。

请注意,在 完整版(非 RT)版本的 Windows 中,BitLocker To Go 仅在 Windows 8 和 8.1 的专业版和企业版中支持。

还需要注意,Windows RT 和 Windows 8/8.1/10 会在用户的 Microsoft 账户下保持 OneDrive 备份文档(如果用户使用 Microsoft 账户登录),并且会在用户的 Microsoft 账户中保持完整的应用程序备份(包括应用数据)。只要知道用户的 Microsoft 账户登录信息和密码,检查员就可以从云端提取信息。或者,可以向 Microsoft 提交政府请求,获取他们所拥有的信息,包括存储在云端的所有 BitLocker 恢复密钥。

eMMC 和已删除的数据

所有移动设备的少数共同点之一是内部存储类型的选择。所有苹果智能手机和平板电脑,大多数自 Android 2.3 Gingerbread 以来的安卓设备,所有 BlackBerry 10 智能手机,Windows Phone 8,Windows RT,以及大量的 Windows 8/8.1 平板电脑都使用 eMMC 芯片作为存储。

eMMC 代表 嵌入式 MMC,即 嵌入式多媒体卡。简单来说,eMMC 是一种不可拆卸的内存卡,焊接在电路板上。与普通闪存芯片不同,eMMC 标准采用了 NAND 模块和集成存储控制器的组合,并将它们集成在一个芯片中。正是这个存储控制器使得恢复已删除信息的方式与传统存储介质有很大不同。

从大致来说,嵌入式存储控制器负责所有的读写操作。此外(这是关键部分),eMMC 规范定义了一些维护程序,旨在通过与 SSD 驱动器相似的方式,保持闪存的性能并维持其健康状态。

eMMC 和 SSD – 相似之处

从技术角度讲,eMMC 存储与 SSD 驱动器相似,因为它依赖于固态 NAND 闪存芯片来存储数据,并使用集成控制器执行读取、写入以及所有维护操作。

eMMC 和 SSD 驱动器中使用的 NAND 闪存芯片具有两个固有特性:

  • 基于 NAND 闪存芯片的固态存储只能向空白块写入数据。如果块中已经有信息,则必须先擦除该块才能接受新数据。与向空块写入数据相比,擦除非空块的速度要慢得多。这些特性在 eMMC 和 SSD 驱动器之间是共享的,因为它们使用的是相同类型的底层物理介质。

  • NAND 闪存芯片具有有限的使用寿命。每个单元只能承受有限次数的写入操作。每次将新数据写入单元时,该单元会开始比之前泄漏更多的电流。在经历一定次数的写入周期后,这种泄漏会变得足够严重,从而严重影响单元保持数据的能力。大多数制造商会将其闪存单元的写入次数设定为一定的标准,并假设在断电情况下数据能保留三个月。

由于底层技术的原因,eMMC 标准定义了性能优化和磨损均衡措施,类似于 SSD 驱动器所使用的技术。超额配置、即时重映射、磨损均衡、修整和后台垃圾回收是 eMMC 和 SSD 驱动器的共同特点。这意味着我们会观察到由于这些后台进程,eMMC 媒体自毁的现象。

然而,尽管有相似之处,eMMC 和 SSD 驱动器在实现这些技术时有所不同,即使在删除数据之后,它们仍然保留一些信息的残余。

eMMC 和 SSD – 区别

eMMC 存储和 SSD 驱动器之间的主要技术区别不在于类型,而在于使用的 NAND 闪存芯片数量。与 eMMC 相比,SSD 驱动器速度要快得多,这并不是因为它们使用了超高速闪存(尽管通常,制造商倾向于为 SSD 驱动器选择比 eMMC 模块更高质量的芯片)。而是 SSD 驱动器配备了多个并行工作的闪存芯片。因此,它们的控制器能够同时从多个闪存单元读取和写入数据。这种能力使得 SSD 在与单芯片解决方案相比时,性能大大提高。

如我们所见,SSD 驱动器配备了更快、更智能且更复杂的控制器。这些控制器也更大,占用更多空间并消耗更多能量。eMMC 芯片则是为了满足不同的需求而设计的。由于用于便携式电池供电的设备,它们必须小巧且节能。因此,eMMC 芯片不仅不具备并行操作功能,而且采用了简化版的 SSD 驱动器中使用的一些维护算法。包括:

  • 与 SSD 驱动器不同,eMMC 控制器可能不会立即开始擦除已修剪的数据。在许多情况下,即使发出了修剪命令,已删除的数据仍可能保持不变。例如,许多 Android 手机仅在关机时才会进行数据修剪。对于法医提取而言,这意味着 eMMC 芯片可能比 SSD 驱动器更长时间地保存已删除的数据。

  • 与 SSD 驱动器不同,eMMC 标准没有定义确定性修剪。SSD 驱动器中使用的 DRAT修剪后确定性读取)定义了控制器会为所有已修剪的块返回相同的数据。其扩展版本 DZAT修剪后确定性零值读取)意味着 SSD 控制器在任何尝试读取已修剪的块时都会返回所有零值——即使是那些尚未擦除的物理块。现在,eMMC 控制器不具备确定性修剪。因此,控制器将返回单元的实际内容——即使它已经被标记为已修剪。对于移动法医分析而言,这意味着已删除的数据可以在较长时间内以可恢复的状态保存,相比之下,SSD 驱动器则不然。

超额预留和重映射

特别需要注意的是超额预留(即内存芯片的物理存储容量超过了向外界宣传的容量)和重映射(嵌入式控制器能够即时重新分配逻辑地址到不同的物理块)。

超配是制造商用来提高写入性能和延长闪存存储有效寿命的一种手段。控制器可以立即将一个逻辑数据块从服务中推送到超配区域,在那里该块将被擦除并准备好为将来的使用服务。重要的是,超配数据块是不可寻址的,除了通过控制器,无法通过任何方式访问它们。没有办法通过任何逻辑或物理方式从超配区域提取数据块。JTAG 和芯片拆除提取方法会返回可寻址的空间,因为它们是通过 eMMC 控制器工作(而不是直接访问 NAND 闪存芯片)。直接从 NAND 芯片读取数据的可能性更像是一种理论上的可能性。虽然可以实现,但代价巨大且需要极为复杂的硬件。

eMMC 芯片中的超配数据块无法被任何数据恢复程序或应用程序访问。它们不会成为原始镜像或转储的一部分。在 JTAG 和芯片拆除提取过程中,超配区域保持不可见,因为 JTAG 和芯片拆除请求是由集成在 eMMC 芯片中的控制器处理的(而不是直接访问 NAND 闪存芯片)。如果设备使用的是普通闪存芯片,则 JTAG、使用边界扫描技术或芯片拆除提取,将返回这些芯片的完整内容,包括超配区域。

超配块可以通过集成在 eMMC 芯片中的控制器被调入服务。控制器可以立即为任何健康的物理块分配一个逻辑地址,包括超配块。这意味着,已删除文件的数据块可以通过数据重映射迅速推送到超配区域,而一个已经擦除的物理块将对应到原本属于已删除文件的逻辑地址。

超配区域中的用户数据

我们收到过这样的问题:您是否已经确定该空间中是否也包含用户数据?这是否像旧版 NAND 闪存中的坏块,可能包含旧日期的用户数据,只有通过芯片拆除才能获取?或者 eMMC 控制器是否允许用户数据存储在此区域,并且需要通过芯片拆除、ISP 或 JTAG 等过程才能访问这些区域?

理解什么是超配空间以及它不是什麽非常重要。

在 eMMC 芯片的背景下,超配区域代表了一些额外的存储块,这些块并未作为可用存储容量公开。这些块没有可以被操作系统访问的物理地址。没有标准的方式或过程可以从外部世界访问它们。只有嵌入芯片中的 eMMC 控制器可以访问这些块。然而,eMMC 标准没有定义任何标准机制、命令或过程,可以用来让控制器转储超配区域的内容。

过度配置的块可以是以下之一:

  • 坏块:每一颗 eMMC 芯片,无一例外,出厂时都包含一定数量的坏内存块。这些块会被永久标记为不可用。如果某个特定的 NAND 块失效(达到最大允许写入周期)或出现问题,它可以被永久过度配置。其物理地址将被分配到过度配置区域中的一个健康块。

  • 修剪(擦除)块:这些块通常被控制器用作脏块的快速替代品,脏块被标记为待修剪。如果发生这种情况,控制器会将脏块从可寻址空间中映射出去,并将其地址分配给来自过度配置区域的一个新的块。

  • 脏块:这些块仍包含信息,等待清理(修剪、擦除)。最终,这些块将被擦除;然而,没有定义的时间框架,因此无法知道某个特定块是否会在某个特定时刻被擦除。是否(或何时)这些块会被实际修剪,取决于特定 eMMC 芯片的型号、所使用的控制器以及当前的 I/O 负载。

如上所示,过度配置的块仍可能包含用户数据。由于 eMMC 芯片的特性,访问实际的 NAND 闪存模块极为困难,且没有精确的设备是无法完成的。

由于 eMMC 的限制,我们从未能够访问到真实的 NAND 芯片原始转储(与通过芯片拆卸获取的转储相对)。然而,我们在 SSD 硬盘上的经验表明(SSD 硬盘包含可拆卸的独立 NAND 芯片),即便是在可寻址的修剪块中以及过度配置区域内,也可能会散布着一些用户数据的残留。

对于便携式电子设备,这些将是实际的用户数据,而非系统文件。在智能手机和平板电脑中,系统文件主要是只读的,通常不会被移动或删除,除非最近应用了 OTA/固件更新。

总结本章内容,必须提到,通过捕获 NAND 芯片的原始物理转储来获取过度配置区域的内容是非常复杂的,而且潜在的用户数据量微不足道,因此该过程几乎不值得进行,除非在极端情况下。

删除操作在非加密的 eMMC 驱动器上的处理

一旦从未加密的 eMMC 卷中删除了文件,操作系统会对文件系统进行更改,以指示某些扇区(在文件系统层面上定义)不再使用。操作系统还会向 eMMC 控制器发送修剪命令,告诉设备某些物理数据块不再被使用。然后,eMMC 控制器会将这些数据块标记为特殊的无关状态。到目前为止,这一过程一直非常简单明了。

接下来发生的事情取决于具体的 eMMC 控制器及其内部程序。如前所述,NAND 闪存单元如果先前被擦除,可以更快速地写入(它们必须在写入前先被擦除)。因此,eMMC 控制器将做两件事:

  • 控制器将调度已修剪的块进行清空(擦除),以准备它们接收新数据。

  • 控制器可能会重新映射这些数据块,将它们的逻辑地址分配给已经被清空的物理块。这些已清空的数据块可以来自可用(可寻址)块,或者从超配区拉取。这样的重新映射有两个目标:它允许系统立即将新数据写入该逻辑地址,而无需等待其被擦除(提高了有效写入速度),并允许控制器将数据写入那些擦写周期最少的闪存单元(无论这些单元的物理地址如何)。

结果是,操作系统(或任何试图读取该特定扇区的应用程序)可能会发现,属于最近删除文件的扇区会在瞬间变为空——实际上,这比闪存芯片实际擦除数据的速度要快得多。

作为一名取证专家,你可能会想知道那些仍包含已删除文件信息的数据块会发生什么。这些数据块可以被重新映射到另一个逻辑地址(这意味着你应该能够在对 eMMC 芯片进行完整转储后恢复该文件)。或者,这些数据块可能会被推出寻址空间,进入超配区,集成控制器将在后台擦除它们的内容。如果这些数据块最终进入超配区,那么即使使用 JTAG 或芯片提取技术,也没有可行的方法提取其内容。

eMMC 总结

在我们开始讨论不同移动平台的具体实现之前,我们已经可以得出结论:由于底层技术的原因,恢复未分配空间将是困难的,且并非总是可行的。从 eMMC 芯片中恢复信息的机会明显高于 SSD 驱动器,但显著低于传统硬盘或没有集成控制器的闪存存储介质。

换句话说,仍然有机会从未分配的空间中恢复已删除的数据……前提是移动操作系统没有以某种方式阻止它。

SD 卡

许多 Android 手机、大多数 Windows Phone 8、Windows RT、Windows 8/8.1 设备和 BlackBerry 10 手机都配备了 micro SD 卡插槽,以允许用户增加可用存储容量。根据平台的不同,用户被允许在 SD 卡上保存什么类型的数据会有一定的限制。例如,Windows Phone 8 平台允许完全无限制地使用 SD 卡,包括安装应用程序的选项,而不同版本的 Android 对外部存储实施着截然不同的政策。

SD 卡经常用于存储多媒体文件(音乐和视频)、相机胶卷、离线地图(例如 HERE Maps 或其他导航应用程序)以及其他数据(例如属于较大游戏的额外文件)。在 Android 中,并非所有应用程序都能使用外部存储来保存它们的数据。

与 eMMC 芯片一样,SD 卡是 NAND 闪存芯片和集成微控制器的组合。然而,内置存储控制器比 eMMC 驱动器的要简单得多。SD 卡控制器确实具有地址重映射功能(根据制造限制,每个 SD 卡中的每个 NAND 芯片包含大量不可用的故障块,这些块被简单地映射出去);然而,在 Secure Digital 标准中,后台修剪已擦除数据并不是其中的一部分。因此,从未加密的 SD 卡中删除的文件数据通常会保持可访问状态,直到被新信息覆盖。

注意

注意: SDHC/SDXC 规格包括对快闪擦除的支持,这是永久擦除数据块内容的命令。虽然一些标准尺寸的 SD 卡支持快闪擦除,但移动设备使用的是"micro"型号的 SD 卡。microSD 卡按照不同的规格构建,与标准尺寸的 SD 卡相比有所不同。特别是,microSD 卡不支持快闪擦除,这意味着无法进行后台垃圾收集。microSD 卡不支持释放数据块的自动擦除。

另一个需要注意的事项是文件系统的使用。符合 SDHC 标准(包括 32 GB 卡)的 micro SD 卡采用 FAT32 格式,而 SDXC 标准则要求使用 exFAT,这是微软推出的一种新文件系统,解除了最大文件大小的 4 GB 限制。微软收取支持 exFAT 的许可费用。这就是为什么许多 Android 设备只支持最多 32 GB 的 SD 卡(更多情况下,如果重新格式化为 FAT32,这些设备同样支持 64 GB 存储卡)。与此同时,即使是最便宜的 Windows 手机也支持带有 exFAT 的 SDXC 存储卡。

SD 卡加密

许多移动平台具有加密外部存储内容(包括 micro-SD 卡)的功能。尽管不同生态系统之间的加密政策和实施方式各不相同,但它们之间有两个共同点:

  • SD 卡几乎从不是开箱即用的加密。用户(或系统管理员,如果设备受企业政策管理)必须明确加密 SD 卡的内容。

  • SD 卡加密实际上几乎从不是全盘加密。这意味着,当用户加密 SD 卡时,只有文件系统被加密。任何空闲空间(可能包含已删除数据的残留物)都会留下来。

除此之外,还遵守以下政策。

Apple iOS

任何 Apple iOS 设备都不支持 SD 卡。

Android

用户可以手动加密 SD 卡。恢复出厂设置通常会擦除内部存储器的内容;尽管数据在擦除后由于加密元数据被销毁而变得无法访问,但外部 SD 卡的内容很少被擦除。由于平台碎片化和各种 OEM 实现的不同,此行为可能会有所不同。

大多数实现使 SD 卡上多媒体文件(图片、视频和音乐)的加密是可选的。这为从 SD 卡中恢复已删除的图片和视频打开了可能性。

如果 Android 设备已挂载 SD 卡,系统和一些应用程序可能会自动使用 SD 卡存储信息。例如,Foursquare 默认情况下将部分数据存储在 SD 卡上,而 WhatsApp 使用 SD 卡创建备份。HERE Maps 和一些其他导航工具可以配置为将地图、语音和部分数据存储在 SD 卡上。有许多应用程序使用 SD 卡存储数据,这使专家能够从 SD 卡中提取内容作为证据。

由于 Android 不具备使用 Linux 文件系统(如 ext3 或 ext4)格式化 SD 卡的能力,大多数用于 Android 设备的 SD 卡都是使用 FAT32(SDHC,32 GB 及以下的卡)或 exFAT(SDXC,64 GB 及更大的卡)格式化的。这两种文件系统都不带有访问控制或权限管理。这以及 SD 卡可以轻松移除的事实,使一些开发人员采用专有加密来保护其应用程序存储在 SD 卡上的文件。这在分析 SD 卡未分配空间时可能会成为额外的障碍。

Windows Phone 8/8.1

Windows Phone 8.1 支持将应用程序安装到 SD 卡上。根据微软文档(download.microsoft.com/download/B/9/A/B9A00269-28D5-4ACA-9E8E-E2E722B35A7D/Windows-Phone-8-1-Security-Overview.pdf),应用程序及其数据存储在 SD 卡上的一个隐藏分区中。如果设备通过相应的策略启用了加密,这个分区将像内部存储一样被加密。值得注意的是,照片和视频等个人内容存储在 SD 卡上的一个未加密分区中,以便用户可以在其他设备上访问 SD 卡。因此,即使启用了加密,至少也可以为未加密分区预留出未分配的空间。

实际上,我们未能证明在 Windows Phone 8.1 设备上存在一个特殊的隐藏分区。将应用程序安装到插入 Windows 手机的 SD 卡上,并且该设备已配置以支持加密时,始终会在该卡的主分区上创建明显可见的文件和文件夹。这些文件夹的所有内容,包括应用程序二进制文件、数据和临时文件,都可以直接查看。在 2014 年底微软推送的系统更新后,系统通过启用每个文件的加密来修复了这一行为。虽然整个文件系统仍然可以浏览,且文件名和大小可见,但这些文件的内容现在已经加密。这一行为与微软白皮书中描述的机制有显著差异。其他研究人员(例如,www.insinuator.net/2015/01/in-secure-sd-cards-on-wp8-1/)也得出了类似的结果,因此我们经历的情况不太可能是孤立事件。

Windows Phone 8.x 确实不允许用户通过手机菜单中的设置加密设备(或 SD 卡)。没有提供这样的选项。加密只能通过公司安全策略激活(如果手机用于企业环境并连接到 MDM 系统)。

恢复出厂设置可能不会使 SD 卡无法访问,因为加密托管密钥可能在 MDM 系统中可用。

Windows 10 Mobile

Windows 10 Mobile 引入了终端用户控制设备和 SD 卡加密的功能。用户现在可以选择加密和解密(!)内部存储。SD 卡也有单独的加密选项。

Windows RT

Windows RT 支持某种程度上受限的 BitLocker 版本,不允许加密 Windows RT 设备中的 SD 卡,但允许使用已加密的卡(例如,如果该卡在运行完整版 Windows 的计算机上加密)。考虑到 Windows RT 设备的销售数量,遇到加密 SD 卡的机会几乎为零。

值得注意的是,完全重置 Windows RT 系统不会擦除 SD 卡的内容,也不会让数据变得不可访问,因为信息是用密码加密的,如果输入正确的密码,数据可以再次访问。

Windows 8 至 10

虽然大多数运行 Windows 8、8.1 和 Windows 10 的平板电脑支持 BitLocker 全盘保护(用于加密主 eMMC 存储中的分区),但 BitLocker To Go(用于加密外部存储,如 USB 闪存驱动器和 SD 卡)仅在 Windows 8 和 8.1 的 Pro 和 Enterprise 版本以及 Windows 10 Pro 中可用。由于许多低端 Windows 平板使用的是带 Bing 的最基础版 Windows,用户无法使用 SD 卡加密(不过,类似于 Windows RT,它们仍然可以访问在支持 BitLocker 的更高版本 Windows 上加密的 BitLocker 保护的 SD 卡)。即使 SD 卡已加密,BitLocker To Go 也只加密文件系统,未分配的空间则不加密。(在 Windows 10 中,这种情况已发生变化,现在提供了加密 SD 卡全部内容的选项。)

值得注意的是,完全重置 Windows 系统不会擦除 SD 卡的内容,也不会让数据变得不可访问,因为信息是用密码加密的,如果输入正确的密码,数据可以再次访问。

BlackBerry OS 1 至 7

早期版本的 BlackBerry OS 提供了三种加密 SD 卡的不同选项:

  • 使用设备密钥

  • 使用密码

  • 使用设备密钥和密码

除了第一种加密方法外,密码可以被攻击和恢复,备份也可以被解密。

在 SD 卡加密方面,解密密钥可以通过设备的物理镜像或芯片提取转储获得。早期版本的 BlackBerry OS(BlackBerry 10 之前)曾存在与加密 SD 卡相关的安全漏洞。可以通过分析加密的 SD 卡内容并暴力破解安全密钥来推导加密元数据。例如,这种漏洞(如在 Elcomsoft Phone Breaker 中使用)允许调查人员解密从设备本身转储的加密分区,除了 SD 卡本身的内容外。实际上,加密 SD 卡内容的选项成为了系统的阿基琉斯之踵。然而,这种情况在 BlackBerry 10 中不再存在。

BlackBerry 10

在 BlackBerry 10 中,SD 卡加密是可选的,即使设备已配置加密其主存储器。恢复出厂设置会销毁加密元数据,使得该 SD 卡的内容完全无法访问。

以下是不同系统中 SD 卡加密的对比表:

默认启用 用户可配置 加密算法 已知漏洞
Android 版本特定,AES
BlackBerry OS 1-7 取决于用户选择的设置 在某些场景下,攻击加密的 SD 卡可能会恢复设备密码
BlackBerry 10 AES
Windows Phone 8.x BitLocker 某些版本未启用加密,但声称已启用加密
Windows 10 Mobile BitLocker
Windows RT 否;必须使用其他 PC 进行加密(取决于 Windows 版本);可以使用已加密的 SD 卡 BitLocker
Windows 8 至 10 是,取决于 Windows 版本 BitLocker

SD 卡结论

虽然 SD 卡配备了集成存储控制器,但内置的控制器类型较为简单。虽然支持数据重映射,但 SD 卡控制器不实现修剪(trim),这意味着删除的数据将仍然保留在未分配的区域,就像大多数 USB 闪存驱动器一样。对于 USB 闪存驱动器有效的相同获取方法也适用于 SD 卡。SDHC 卡(最多 32 GB)通常格式化为 FAT32。请注意,较大的 SDXC 卡(64 GB 及以上)预先格式化为 exFAT,且需要支持该文件系统的恢复工具。

需要特别注意的是,移动设备(智能手机和平板电脑)使用的是 microSD 卡,而不是标准尺寸的 SD 卡。microSD 卡的规格与标准尺寸的 SD 卡不同。特别是,microSD 卡不支持 闪存擦除 命令,这意味着没有后台数据收集,也没有自动擦除已释放的数据块。

SQLite 数据库(访问通话记录、浏览历史等)

一个特殊情况(访问移动平台上删除的数据)适用于存储在 SQLite 数据库中的信息。SQLite 是一种广泛接受的数据库格式,广泛应用于所有流行的移动平台上的系统和第三方应用。Android 和 iOS 会将通话记录、消息历史、网页浏览记录以及许多系统设置存储在 SQLite 数据库中。Chrome、Firefox、Skype、WhatsApp 等应用程序也使用 SQLite。

与从加密分区删除的文件不同,从 SQLite 数据库删除的记录可能不会立即消失。在一种天真的尝试中,为了应对取证工作,用户可能会清除通话记录、删除消息日志和清除浏览历史。这些措施可能没有用户想象的那么有效。

这些措施不可靠的原因在于 SQLite 删除记录的方式。由于性能考虑,SQLite 不会删除已删除的记录(这些记录可能非常大),除非进行了刷新。相反,实际数据并没有被移动。SQLite 修改指向已删除记录的指针,以表明这些记录现在存储在一个所谓的自由列表中。通过使用法医 SQLite 分析工具(例如,Belkasoft Evidence Center 或 Elcomsoft Phone Viewer),可以访问并解析数据库容器,从自由列表中成功提取已删除记录,并与现有数据一起查看。

定期清理通话记录和删除短信有助于用户保持隐私的假象,实际上已删除的记录可能并不会立即消失。相反,这些记录可能会被放入自由列表中。记录可以在自由列表中保持很长时间——实际上比大多数用户意识到的要长得多,因为可能触发清理的新通话和短信相对较少。

总结

在本章中,我们回顾了获取移动设备时的障碍、特殊情况和考虑事项。我们审视了 SD 卡加密,并了解了基于闪存的存储介质中未分配空间的问题。我们还回顾了主要移动生态系统中实现的双因素身份验证方法的差异。下一章将展示案例研究,并列出可用于获取和分析移动设备的法医工具。

第十一章:移动取证工具与案例研究

在本书中,我们介绍了 ElcomSoft 和 Oxygen Forensics 的多种取证工具。我们之所以介绍这些工具,是因为我们参与了它们的开发,并且有丰富的使用经验。然而,移动取证工具的市场并不仅限于本书中评审的少数几款产品。还有更多知名且真正优秀的工具可供选择。

Cellebrite

Cellebrite (www.cellebrite.com/) 提供了一系列广泛的移动取证工具,隶属于其 通用取证提取设备 (UFED) 品牌。Cellebrite 提供 UFED Physical Analyzer、UFED Cloud Analyzer、UFED Logical Analyzer、UFED Phone Detective 等工具。

Cellebrite 开发了多项独特技术,竞争对手无法匹敌。其中包括通过公司开发的启动加载程序漏洞,获取多个设备(例如,配备 Qualcomm 芯片组的设备、一些 Lumia 智能手机等)的能力 (blog.cellebrite.com/blog/tag/android-forensics/)。这种获取方法干净、强大且具有取证可行性。在某些情况下,UFED 可能是唯一能完成工作的获取工具。

Micro Systemation AB

Micro Systemation AB (www.msab.com/) 提供一系列高质量的移动取证工具,隶属于 XRY 品牌。包括 XRY Physical、XRY Logical、XRY PinPoint 和 XRY Viewer。XRY 允许对多种移动设备进行物理和逻辑提取,提取所有可用的原始数据(仅物理提取)。XRY Logical 允许恢复设备上的大部分实时和文件系统数据,是自动化的工具,相当于手动检查设备上的每个可用屏幕。

AccessData

AccessData (accessdata.com/) 提供 移动电话检查员 Plus (MPE+),一款支持多种移动设备的一体化获取和分析工具包。该公司声称支持超过 7,000 种设备型号。MPE+ 是市场上较为优质的获取和分析工具之一。

Oxygen Forensic 工具包

Oxygen Forensics (www.oxygen-forensic.com/en/) 提供市场上最先进的一体化获取和分析工具包之一。支持通过物理、逻辑和云获取技术,涵盖超过 12,000 种独特设备型号,Oxygen Forensic 工具包具备利用某些芯片组和 OEM 的独特属性的能力,这些属性允许调查人员在完全绕过启动加载程序锁和屏幕锁的情况下,导出设备的全部内容。Oxygen Forensic Suite 在本书中得到了详细评审。

Magnet ACQUIRE

Magnet ACQUIRE (www.magnetforensics.com/) 可以提取 Android 和 iOS 的逻辑、文件系统或物理数据。提取过程是无关工具的,因此任何分析工具都可以导入提取的数据进行分析。该产品对取证社区免费提供。

BlackBag Mobilyze

BlackBag Mobilyze (www.blackbagtech.com/) 可以获取 Android 和 iOS 数据。iOS 限于逻辑/文件系统获取,但对于 Android,它可以根据设备类型和其他变量(如操作系统、运营商定制等)进行三种层次的提取。支持 Mac 和 Windows 版本。

ElcomSoft 工具

ElcomSoft 公司 (www.elcomsoft.com/) 提供多种移动取证工具,其中一些已在本书中进行评测。工具包括以下几种:

  • Elcomsoft Phone Breaker:该工具帮助进行 iOS、Windows Phone 和 BlackBerry 备份的逻辑获取和备份分析。它用于 iOS 和 Windows Phone 设备的云端获取。

  • Elcomsoft iOS Forensic Toolkit:该工具帮助进行 iOS 设备的物理获取(32 位和 64 位,需越狱)。目前,该公司在物理获取技术方面处于无可匹敌的领先地位。

  • Elcomsoft Blackberry Backup ExplorerElcomsoft Phone Viewer:这是一个快速、轻量级的工具,用于查看移动备份的内容。

  • Elcomsoft Cloud Explorer:该工具用于 Google 账户数据的云端获取,提供了广泛的获取和分析功能。

案例研究

在本章中,我们将回顾一些典型场景,这些场景需要在处理移动设备获取时采取不同的方法和工具。

移动取证

我实验室里有一堆 iPhone,每个只能花大约 40 分钟。你能在 40 分钟内为我提取什么?

这是来自警察在繁忙环境中常问的典型问题。在这么有限的时间内,能从这些 iPhone 上做些什么呢?

这取决于可用的资源。如果你手头只有一部正在运行但被锁定的 iPhone,并且不知道密码,那么唯一有可能提取任何信息的方法是尝试物理获取。如果手机在兼容性矩阵内,你可以按照这些步骤从设备中提取信息。凭借其保证的时间框架,物理获取是从锁定设备中提取信息的唯一方式。

如果你知道用户的 Apple ID 和密码,可以使用 Elcomsoft Phone Breaker 从 iCloud 执行选择性下载,提取如通话记录、地理位置信息、通讯录、消息等重要信息。选择性下载可以帮助快速启动调查,同时你可以在后台继续下载其余数据。

如果您拥有用户的计算机、硬盘驱动器或该硬盘驱动器的取证磁盘镜像,您可能还会有其他可用的选项。例如,硬盘可能包含一个二进制认证令牌,允许您立即连接到 iCloud 并下载信息,而无需知道用户的密码、Apple ID 和账户密码。

计算机可能还包含存储在 iOS 设备中的信息的本地备份副本。如果备份没有密码保护,您可以使用 Elcomsoft Phone Viewer 立即访问数据。但是,如果备份受未知密码保护,您可以尝试破解该密码,尽管没有时间框架的保证。

数据恢复

在内部调查过程中,通常需要访问员工企业智能手机中存储的信息。实时访问这些数据有助于调查或防止敏感信息的泄露,这些信息通过智能手机进行携带或传输。

在企业环境中,破解员工设备通常不是问题。通过恢复密钥存储和强制执行企业在线电话账户的恢复程序,再加上大多数企业安全政策要求全面禁止越狱设备,使得物理获取变得不可能或不必要。相反,企业通常使用在线访问手机数据。

在苹果 iOS 设备的情况下,公司可以通过从 iCloud 下载信息来访问员工的企业智能手机中存储的数据。iCloud 下载是透明进行的,无需原始的苹果设备。

直到最近,使用 Elcomsoft Phone Breaker 下载 iCloud 数据时,最终用户并不会知道。然而,苹果已修改了其安全策略。当有人试图下载 iCloud 备份时,苹果会自动向用户注册的 Apple ID 发送电子邮件通知。当从新的 IP 地址访问 iCloud 备份时,也会向注册的电子邮件地址发送通知。然而,在访问应用程序数据如KeynotesPagesNumbers文档时,不会发送通知。这些通知旨在防止在不知情的用户身上进行监控,告知用户他们的数据正在被下载。

黑莓场景

以下讨论的场景基于Shafik Punja(TeelTech)所遇到的真实情况,无论是通过咨询服务,还是在检查运行 BlackBerry OS 1 至 7 的经典黑莓设备过程中发生的。

锁定的黑莓设备

在大多数情况下,任何被收购的黑莓设备都是锁定的。仍然有方法可以处理被锁定的黑莓手机。

锁定的黑莓手机,未连接至黑莓企业服务器(BES)

情况:

  • 只在右下角显示一个挂锁

  • 不包含内存卡

考官注意事项:

  • 密码存储在与设备同步的计算机或笔记本电脑上

  • 密码在 IPD 或 BBB 备份文件中找到

  • 没有锁定类型文件

  • 在没有密码的情况下,唯一的解决办法是通过芯片脱除(去芯片)闪存

锁定的 BlackBerry 连接到 BES

情况:

  • 内部调查,设备由 BES 管理

  • 显示两个挂锁:左上角和右下角

  • 审查员可以直接或间接访问 BES

审查员考虑事项:

  • 通过 BES 发起设备的密码重置

  • 密码重置不会破坏用户数据

  • 如果 BES 加密策略已启用,使用 UFED 工具获得的物理镜像可能无法解密加密内容,且这可能受到 BlackBerry 操作系统版本的影响

  • UFED 物理分析器 (PA) 的解密能力取决于所使用的 BB 操作系统;不支持较新的加密方法

  • 关闭/禁用设备加密仅会影响新数据,不会影响现有数据

  • 在任何与 BES 相关的场景中,不要忘记检查 BES 日志中的通话历史和消息记录,以及电子邮件服务器中的邮件

锁定的 BlackBerry 连接到启用了 Pretty Good Privacy (PGP)加密的 BES

情况:

  • 外部 BES,由敌对实体管理(理解为犯罪团伙)

  • 显示两个挂锁:左上角和右下角

  • 调查人员运气不错,找到了一个带有密码的便签,秘密

  • 通过 UFED 工具获得了一个物理镜像(由于已知密码)。然而,发现电子邮件是 PGP 加密的,且此数据在 UFED PA 中仍然显示为加密状态

审查员考虑事项:

  • UFED PA 解密能力取决于所使用的 BB 操作系统,且不支持较新的加密方法。

  • 当在 BlackBerry 上输入密码时,电子邮件被解锁/解密。但是,你必须逐个解锁每封电子邮件(当你输入某个发件人的密码后,该发件人发送的大部分电子邮件似乎会被解锁;当遇到另一个发件人时,你必须再次输入密码)。

  • 你需要拍下每个电子邮件项的照片!目前没有工具,讲解者所知的任何工具,能够自动解密所有 PGP 加密的电子邮件内容,前提是提供了正确的密码。

  • 联邦执法组成功设置了一个新的虚假账户和新的 IT 政策,并让 BlackBerry 与活动目录服务器通信;只有在完成 BlackBerry 同步后,电子邮件才会以未加密状态下载。

锁定的 BlackBerry,未连接到 BES

情况:

  • 显示两个挂锁:左上角和右下角

  • 包含一张存储卡

审查员考虑事项:

  • 密码存储在与设备同步的计算机或笔记本中

  • 密码在 IPD 或 BBB 备份文件中找到

  • 没有锁定类型文件

  • 对存储卡进行成像,找到info.mkf文件,使用Elcomsoft Phone Password Breaker (EPPB)分析此卡,看看是否能获取设备密码

  • 在没有密码的情况下,唯一的方法是去芯片(dechipping)闪存内存

锁定的黑莓 - 成功完成去芯片

情况:

  • 显示两个挂锁:左上角和右下角

  • 内存卡无法成功并攻击info.mkf文件

  • 成功去芯片和读取芯片

  • 在 UFED PA 解析过程中,向审查人员提供消息:....请提供与以下 SHA1 哈希值匹配的密码:....

审查人员的考虑:

  • 复制 SHA1 值,并使用几个可自由获取的在线源之一解密 SHA1 值。将解码后的 SHA1 值输入到 UFED PA 屏幕中。

锁定的黑莓 - 密码不起作用

情况:

  • 您已将黑莓设备连接到 BES

  • 您正在使用提供给您的密码exd0

  • 您将黑莓设备连接到提取工具上,该工具在数据提取之前要求密码,但是您尝试的任何数据提取工具都不接受密码。

审查人员的考虑:

  • 保持简单。不要忘记Alt键序列,这会在按下Alt键时更改键字符。

  • 根据正在使用的键序列验证密码。

  • 在这种情况下,exd0实际上应该被解释为2580。四个字符的键序列需要按下Alt键以获取前三个字符258,然后释放Alt键并按 0 键以获取2580

无密码的解锁黑莓设备

有时,您可能有一台没有设置密码锁定的黑莓设备。这些设备通常更容易获取。

无密码的解锁黑莓设备

情况:

  • 包含内存卡和 SIM 卡

审查人员的考虑:

  • 应该执行哪种类型的数据提取以及什么顺序?

  • 物理上,然后逻辑上?审查人员有多种工具可供选择。

  • 然而,使用 UFED 进行物理获取可能会在罕见情况下导致设备重置为出厂默认状态。Cellebrite 称之为缓存内存重置。

  • 逻辑级别上的数据结构,以逻辑备份/获取的形式存在,与物理级别上的同一记录不同。

带密码的解锁黑莓设备

情况:

  • 密码未知且无法移除

  • 幸运的是,可以访问并导航桌面

  • 为了防止因不活动而超时,设备必须使用(即保持鼠标移动)

审查人员的考虑:

  • 密码未知且无法移除

  • 可以查看设备数据,您唯一的选择是拍照

总结

在本章中,我们列出了一些供法证专家使用的工具。我们审查了一些在处理移动获取时影响工具选择的常见场景。

posted @ 2025-07-07 14:37  绝不原创的飞龙  阅读(7)  评论(0)    收藏  举报