原文:
annas-archive.org/md5/2665c96ad646c78b03ec523895eb87e2译者:飞龙
第六章. 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 的文章:
- 改进的 iOS 密钥链浏览器:
blog.crackpassword.com/2012/04/new-features-in-eppb/
加密与未加密的 iTunes 备份
如果你仅有一个 iTunes 备份,了解你的选项对成功调查至关重要。
在配置备份策略时,iOS 用户可以选择创建非加密备份或密码保护备份。以下是 Apple 的说明:
在 iTunes 的 概述 页面中,选择 加密 iPhone 备份,如果你希望在 iTunes 创建备份时加密存储在计算机上的信息。加密备份会显示一个挂锁图标(如 删除备份 部分所示),并且需要密码才能恢复信息到 iPhone。你可能需要写下备份的密码并将其存放在安全的地方。如果你使用的是 Mac,当设置密码时,你可以选择将密码存储在钥匙串中。使用 iOS 4 及更高版本时,如果你加密备份,你可以将大多数钥匙串项目转移到新设备上。
提示
警告
如果你在 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 模式。
没有视频卡数量的限制。
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 备份中没有其他密码有效,也不是白费时间。看看那些密码。您看到了共同模式吗?如果用户选择的密码不是完全随机的,往往它们都会遵循一个共同的模式。也许一个或多个常用单词,电话号码,宠物名字,足球队,或者只是 god,sex,或 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 中恢复密码,请执行以下操作:
-
通过选择选择源命令或将
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/
-
-
-
在指定备份文件后,您需要定义将用于破解密码的攻击方式。
-
点击加号**+添加不同的攻击方式来破解密码。默认情况下,字典攻击和暴力破解**攻击会自动添加。有关攻击方式及其设置的更多信息,请参见在线手册中的密码恢复攻击主题。https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/mobi-frsc-adv-inves-stg/img/0102.jpeg
-
您可以通过点击每种方法右侧的齿轮图标来可选配置字典攻击和暴力破解。https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/mobi-frsc-adv-inves-stg/img/0103.jpeg
-
您可以使用 Elcomsoft Phone Breaker 附带的默认英文词典,或者选择任何数量的自定义字典(必须是纯文本格式,每个单词或短语应单独占一行)。高质量的自定义字典对于破解密码至关重要。如果可能,尽量构建一个包含用户其他密码的自定义字典。https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/mobi-frsc-adv-inves-stg/img/0104.jpeg
-
点击开始恢复。Elcomsoft Phone Breaker 将开始攻击密码。预计剩余时间以及当前处理的单词将被显示。你可以点击攻击名称旁边的更多信息,查看附加信息,例如尝试的密码数量和平均攻击速度。https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/mobi-frsc-adv-inves-stg/img/0105.jpeg
-
如果攻击成功,发现的密码将在恢复结果窗口中显示。https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/mobi-frsc-adv-inves-stg/img/0106.jpeg
就这样,我们成功恢复了一个密码。这个密码现在可以用来解密备份。此外,你还可以使用钥匙串浏览器查看存储在钥匙串中的信息。
正在解密备份
只有在你已经知道或已经恢复了原始明文密码的情况下,才能解密备份。如果你没有密码,请先恢复密码。
启动 Elcomsoft Phone Breaker。如果你知道密码,按照以下步骤解密备份:
-
加载备份文件后,你将能够看到如下截图中的信息:
-
通过将
Manifest.plist文件拖到解密备份窗口,或点击选择备份手动导航到备份文件,来选择正在解密的备份所属的Manifest.plist文件。 -
选择解密备份。
-
在工具菜单中,选择Apple选项卡。
-
序列号
-
备份日期
-
产品类型
-
-
你可以通过点击备份名称旁的更改备份来选择不同的备份。https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/mobi-frsc-adv-inves-stg/img/0107.jpeg
-
定义备份解密选项:
-
保存解密到:选择解密备份的保存位置。
-
备份密码:输入备份的密码。切换查看 (https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/mobi-frsc-adv-inves-stg/img/0108.jpeg)按钮,以显示密码为字符或星号(*)。如果你还没有恢复备份的密码,点击恢复密码。
-
恢复原始文件名:将文件重命名为与设备上的显示方式相匹配。如果取消选中此选项,文件在解密后仍然可用,但其名称将保持不变。
注释
如果你正在使用第三方移动取证工具分析备份,请勿恢复原始文件名,因为这会干扰分析工具。仅在手动查看文件时选择此选项。
-
-
点击解密。
-
解密过程已开始。你可以查看处理的文件数量以及在解密过程中收到的错误数量。
-
当解密完成后,你可以通过点击查看 (https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/mobi-frsc-adv-inves-stg/img/0109.jpeg)按钮,查看保存到本地计算机位置的备份。https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/mobi-frsc-adv-inves-stg/img/0110.jpeg
-
要查看解密文件和解密过程中发生的错误的详细报告,请点击详细信息。
-
点击完成以关闭解密备份窗口。
现在备份已在你的计算机上,可以进一步分析。你可以使用 Elcomsoft Phone Viewer 浏览并查看备份内容。
处理长且复杂的密码
无论我们如何简化描述,破解 Apple 备份密码都是一个缓慢且技术复杂的过程。恢复速度将取决于可用的硬件(计算机的 CPU 和显卡)、攻击类型,以及你对密码的了解。要了解如何加快恢复速度,请阅读以下所有页面:
-
通用密码恢复指南:
www.elcomsoft.com/help/en/eppb/recovering_passwords.html -
解密备份:
www.elcomsoft.com/help/en/eppb/decrypting_iphone_backup.html -
Phone Password Breaker 中可用的攻击类型:
www.elcomsoft.com/help/en/eppb/password_recovery_attacks.html -
破解密码的选项:
www.elcomsoft.com/help/en/eppb/password_breaking_options.html -
暴力破解攻击的选项:
www.elcomsoft.com/help/en/eppb/brute-force_attack_options.html
具体而言,最后两个链接解释了如何指定你所知道的密码信息,以便加速恢复。
但是,如果密码很长且复杂,或者你对密码知之甚少,且恢复过程需要经过漫长而无果的攻击怎么办?如果是这种情况,你可以探索其他的获取选项。特别是,可以无需攻击密码即可从云端下载信息。
在 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 钥匙串常见问题:
support.apple.com/kb/HT5813
开始使用 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 并执行以下操作:
-
在 工具 菜单中,选择 Apple 标签。
-
选择 从 iCloud 下载备份。
-
在 从 iCloud 下载备份 页面,定义身份验证类型为 密码:
-
密码:使用您的 Apple 凭证(Apple ID 和密码)。
-
令牌:使用通过 Elcomsoft Apple Token Extractor 从 iCloud 提取的身份验证令牌。有关提取令牌的更多信息,请参见 提取身份验证 令牌主题。https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/mobi-frsc-adv-inves-stg/img/0111.jpeg
-
输入 Apple ID 和密码到相应字段,然后点击 登录 进入 iCloud。https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/mobi-frsc-adv-inves-stg/img/0112.jpeg
-
-
一旦 Elcomsoft Phone Breaker 成功登录 iCloud(假设没有额外的身份验证步骤),它将显示与该 Apple ID 关联的设备列表。请注意,你将看到所有使用该 Apple ID 注册的设备,包括那些不在调查范围内的设备。iCloud 备份存储打开:https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/mobi-frsc-adv-inves-stg/img/0113.jpeg
注意
你可以查看 iCloud 用户的用户名、用户 ID 和 Apple ID,以及该用户的备份列表。默认情况下,显示最近的三个备份。将鼠标悬停在绿色(i)图标上可以查看存储容量和占用大小。
若要选择由其他 iCloud 用户保存的备份,请点击更改用户。如果某个设备正在忙于保存新的备份,且备份仍在进行中,该设备将不会列为可供下载。
-
每个设备都会显示以下信息:
-
设备名称
-
型号
-
序列号
-
唯一设备 ID
-
最新备份创建的日期和时间:显示的时间为获取计算机所在时区的本地时间;如果被分析的设备属于其他时区,这一点至关重要。
-
备份大小
-
-
通过选中左侧的复选框,选择你想要下载备份的设备。
-
定义下载备份的选项。点击信息以查看每个选项的提示。
-
恢复原始文件名:如果选中此项,则所有备份文件将以与 iOS 操作系统中相同的文件名保存,包括完整路径。例如,短信(SMS 和 iMessage)会保存为
\HomeDomain\Library\SMS\sms.db(SQLite 格式)。如果未选中此项,备份将保存为 iTunes 格式(该格式也用于本地备份)。注意
如果你正在使用第三方手机取证产品,确保禁用恢复原始文件名选项。禁用此选项后,备份将保存为 iTunes 格式,这是市面上几乎所有移动取证工具都支持的格式。
在仅下载特定数据模式下,恢复原始文件名的选项会自动启用,如下所示:
-
仅下载特定数据:选择此选项可以通过优先下载最重要的数据来加快调查进程。请注意,这个选项并不能替代完整的 iCloud 备份分析,它更像是对最重要数据的快速预览。https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/mobi-frsc-adv-inves-stg/img/0115.jpeg
-
-
定义所有选项后,点击下载。
-
使用选择文件夹指定本地计算机上存储下载文件的位置。
-
下载开始。
注意
尝试下载部分(正在进行中的)备份将失败。
-
下载完成后,工具会在已下载的备份旁边打上勾。点击 完成 退出下载向导。
下载的备份现在可以在您的计算机上进行进一步分析。您可以使用 www.elcomsoft.com/epv.html 浏览并查看备份的内容。
下载 iCloud/iCloud Drive 备份 - 使用认证令牌
很自然地,您会认为需要原始的登录凭证(Apple ID 和密码)才能访问存储在云中的信息。如果您不知道用户的 Apple ID 和密码,但可以访问他们用于与 iCloud(或 iCloud Drive)同步的计算机,应该怎么办?如果是这种情况,您可以尝试使用从用户计算机中提取的二进制认证令牌连接到 iCloud。
使用二进制认证令牌可以绕过 Apple iCloud 的登录和密码认证。作为附加好处,使用认证令牌还可以绕过用户指定的任何双重身份验证。
从技术角度来看,认证令牌是由 iCloud 控制面板创建的小型二进制文件,用于免去用户每次同步云时都输入登录和密码的麻烦。如果安装了 iCloud 控制面板(或 iCloud for Windows),并且用户在获取令牌时已登录该计算机的控制面板,那么该令牌可以从用户的计算机中提取。如果用户退出了 iCloud 控制面板,则令牌会被删除并失效,意味着即使从硬盘中提取出来,也无法再用来访问 iCloud 数据。
注意
认证令牌不包含用户 Apple 账户的密码,也不包含密码的哈希值。您不能使用认证令牌进行暴力破解原始的明文密码。
iCloud 控制面板是 macOS 系统的重要组成部分。Windows 系统可以使用 iCloud for Windows。为了方便用户,可以保持登录状态,以便无缝同步联系人、密码(iCloud 钥匙串)、照片和其他类型的数据。这意味着很有可能从安装了 iCloud 控制面板(iCloud for Windows)的计算机中获取认证令牌。
使用认证令牌下载 iCloud 备份的过程与使用 Apple ID 和密码类似,不同的是,在下一个屏幕上,您需要提供认证令牌,而不是用户的 Apple ID 和密码:
请注意,您需要从使用适当命令行工具提取的文本文件中复制完整的认证令牌字符串。在下面的屏幕截图中,文本文件的第二行表示认证令牌:
提取认证令牌
只有在以下所有条件成立的情况下,才能从系统中提取有效的认证令牌(在本例中,我们讨论的是 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 用户的认证令牌,请执行以下操作:
-
启动
atex.exe。一个名为icloud_token_<timestamp>.txt</timestamp>的文件将被创建在您启动工具的同一文件夹中(如果您没有足够的权限将文件写入启动atex.exe的文件夹,则会创建在C:\Users\<user name="">\AppData\Local\Temp</user>文件夹中)。 -
提取的文件的完整路径将显示在控制台窗口中:https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/mobi-frsc-adv-inves-stg/img/0119.jpeg
-
生成的文件具有
.txt扩展名,包含当前 iCloud 控制面板用户的 Apple ID 及其认证令牌。https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/mobi-frsc-adv-inves-stg/img/0120.jpeg如果您需要为其他 Windows 用户提取认证令牌,或者您正在处理法医磁盘镜像,您可以使用令牌提取向导。
-
启动 Elcomsoft Phone Breaker 并选择 提取认证令牌。https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/mobi-frsc-adv-inves-stg/img/0121.jpeg
-
指定令牌文件的路径(通常是
%appdata%\Apple Computer\Preferences\)。https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/mobi-frsc-adv-inves-stg/img/0122.jpeg -
指定主密钥的路径(此密钥用于解密令牌),然后点击 提取。此密钥用于解密认证令牌。https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/mobi-frsc-adv-inves-stg/img/0123.jpeg
-
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):
support.apple.com/en-us/HT204152
双重认证:
-
双重认证(2FA):
support.apple.com/en-us/HT204915 -
获取双因素认证的验证代码:
support.apple.com/en-us/HT204974
两步验证
两步验证(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%,在日本几乎没有市场份额):
来源: 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 允许用户在启用设备加密后禁用加密功能。这是 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 数据,请执行以下步骤:
-
在 工具 菜单中,选择 Microsoft 标签,然后点击 下载 Windows Phone 数据:https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/mobi-frsc-adv-inves-stg/img/0132.jpeg
-
为用于备份数据的 Microsoft 帐户定义用户名和密码。切换视图按钮以显示或隐藏密码:https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/mobi-frsc-adv-inves-stg/img/0133.jpeg
-
选择一个位置以保存从 Microsoft 帐户下载的数据。
-
点击更改用户以访问存储在不同 Microsoft 帐户下的数据。
-
-
下载过程开始。您可以查看处理过的文件数量以及解密过程中接收到的错误数量:https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/mobi-frsc-adv-inves-stg/img/0135.jpeg
-
解密完成后,您可以通过点击查看按钮,在本地计算机上查看保存备份的位置。要查看解密文件的详细信息以及解密过程中发生的错误,请点击详细信息:https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/mobi-frsc-adv-inves-stg/img/0136.jpeg
-
点击完成以关闭向导。
人工创建的备份文件现在可以在您的计算机上进行进一步分析。您可以使用Elcomsoft Phone Viewer浏览并查看此备份的内容。此时,工具会提取联系人、消息和笔记(以 MS OneNote 格式);Elcomsoft Phone Viewer可以将这些笔记提取为单独的*.one文件。
注意
注意:您可以使用相同的 Microsoft 帐户凭据访问存储在用户 Microsoft 帐户中的其他信息。这包括电子邮件(Hotmail)、在线云存储(OneDrive)、Skype 联系人和历史记录(Skype),以及在Microsoft Live旗下管理的其他服务。您可以通过登录用户的 OneDrive 帐户并选择设置 | 设备备份 (onedrive.live.com/Options/DeviceBackups)查看可用的备份列表:
现在,您可以在 Elcomsoft Phone Viewer 中打开备份。您将能够访问与相同 Microsoft 帐户同步的所有设备上的联系人、消息和笔记:
本次会话捕获的帐户包含六台 Windows 设备的备份,包括 Microsoft Lumia 640 和 Nokia Lumia 930 手机、一台 ThinkPad 8 平板电脑、一台运行 Windows RT 的 Nokia Lumia 2520 平板电脑、一台台式电脑和一台笔记本电脑。下载后,可以通过以下界面访问备份:
消息仅在下载由 Windows 智能手机备份的信息时可用:
另一方面,联系人可以在所有设备上使用,并与用户的 Outlook / Hotmail / Windows Live 帐户同步:
此时,Windows 设备的云获取选项仅限于之前看到的信息。实际设备备份(onedrive.live.com/Options/DeviceBackups)已被安全加密。需要进一步研究才能检索和解密这些备份:
总结
在本章中,我们讨论了适用于移动设备的 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 储存密钥(恢复密钥),你可以执行以下操作之一:
-
解锁 BitLocker 分区并解密捕获的卷镜像。
-
按原样处理镜像,解密捕获的镜像(例如,通过将镜像保存到物理硬盘,使用 Windows 虚拟机或使用你选择的取证产品解密该镜像)。
如果你没有 BitLocker 储存密钥(恢复密钥):
-
尝试捕获内存转储(RAM 转储)以获取二进制解密密钥:
-
为了使其生效,计算机必须以开机并解锁状态被获取。
-
如果有 FireWire(IEEE.1394)端口,可以尝试通过 FireWire 攻击捕获内存。
-
-
如果平板电脑被锁定,则无法捕获内存转储,因为内存芯片已焊接以防止冷启动攻击,并且 Windows 平板通常没有 FireWire 端口。然而,休眠(如果可用)或关机(如果启用了 Windows 快速启动)可能会产生一个可用的休眠文件,从中可以提取解密密钥。
-
如果设备是在休眠状态下被查获,尝试获取休眠文件(
hiberfil.sys)。 -
使用 Elcomsoft Forensic Disk Decryptor(
www.elcomsoft.com/efdd.html)分析内存转储或休眠文件,提取 BitLocker 二进制解密密钥,并挂载加密卷。 -
解密的卷映像。
捕获内存转储
尝试捕获 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 文件到系统分区以外的存储设备。如果原始文件丢失、损坏或删除,用户可以通过使用存储在文件历史记录中的副本来恢复这些文件。
文件历史记录包含用户文件的不同版本,如文档、电子表格的工作副本,已删除和未编辑的图片版本等,并以方便的时间轴形式排列。
这里有两个重要的要点:
-
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 芯片中。
这对数字取证意味着什么?
正如我们所知,大多数 Windows 平板电脑(极少数例外)都配备了内置的不可拆卸(除非使用 BGA 焊接站)eMMC 存储。让我们想一想 eMMC 芯片被焊接在电路板上的事实。它不能被拆卸并放入写保护成像设备中,也不能连接到另一台计算机。为了对内置存储进行成像,调查人员必须启动系统,并在被调查的设备上运行成像工具。这可能由于某些型号的安全设置而带来挑战。
如果我们谈论的是一款完整的 Windows 平板电脑,最佳做法是从外部可启动介质启动系统。很可能你在实验室中已经有一个。如果没有,许多工具和教程可以帮助专家完成这一操作,例如,创建 Windows 安装介质:windows.microsoft.com/en-us/windows-8/create-reset-refresh-media 或 windows.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 设备启动:
微软发布了以下操作指南:
-
通过 USB 设备启动 Surface (
www.microsoft.com/surface/en-us/support/storage-files-and-folders/boot-surface-from-usb-recovery-device?os=windows-10) -
使用 Surface USB 恢复驱动器(
www.microsoft.com/surface/en-us/support/warranty-service-and-recovery/usbrecovery?os=windows-10)
尽管这两篇指南主要针对微软 Surface 用户,但它们也适用于其他 Windows 平板电脑用户:
-
将包含 Windows 恢复映像的可启动 USB 设备连接到 USB 端口。
如果没有全尺寸 USB 端口,可以使用 USB OTG 电缆。
-
按住音量减小按钮。
-
按下并释放电源按钮。
-
当出现 logo 时,松开音量减小按钮。
平板电脑将启动 USB 设备上的软件。
如果平板电脑已开机且你已登录,启动过程会有所不同。
当平板电脑已开机时,如何从可启动的 USB 设备启动:
-
将可启动的 USB 设备连接到 USB 端口。
如果没有全尺寸 USB 端口,可以使用 USB OTG 电缆。
-
从右侧滑动,然后点击设置(如果你使用的是鼠标,将鼠标指针指向屏幕右上角,向下移动鼠标指针,然后点击设置)。
-
点击或轻触更改 PC 设置。
-
点击或轻触更新和恢复,然后点击或轻触恢复。
-
在高级启动下,点击或轻触立即重启。
-
在选择一个选项屏幕上,点击或轻触使用设备。
-
在故障排除屏幕上,点击或轻触高级选项。
-
在高级选项屏幕上,点击或轻触 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 帐户中提取恢复密钥:
-
如果系统提示输入恢复密钥,请记下设备屏幕上显示的 密钥 ID。
-
使用另一台计算机访问
windows.microsoft.com/recoverykey。 -
查找具有相同密钥 ID 的设备,如上所述。
-
使用与给定密钥 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.com、username@hotmail.com 或 username@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 Decryptor(www.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 获取是可能的。
然而,这是一项耗时、劳动密集且破坏性的过程,在常规调查过程中并不总是可用的选项。如果启用了 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 命令提示符,请执行以下操作:
-
启动平板电脑。
-
在登录提示符处,点击“轻松访问”图标。
-
选择屏幕键盘。
-
按下 Shift 键,Shift 键应该保持亮起。
-
在右下角,点击电源键并选择重新启动。
-
当设备重新启动时,选择故障排除选项。
-
在此处,选择高级选项。
-
选择命令提示符。
输入 BitLocker 恢复密钥
你可能会被要求输入主分区的恢复密钥。如果看到消息 输入恢复密钥以继续操作,请输入恢复密钥并按 Enter。如果你没有恢复密钥,你仍然可以使用 跳过此驱动器 选项访问命令提示符,但无法读取加密的卷。更多信息请参见 BitLocker 恢复密钥:常见问题解答:windows.microsoft.com/en-us/windows-8/bitlocker-recovery-keys-faq。
如果你有自己的可启动 USB 驱动器,你可以类似地配置系统从该驱动器启动。
使用 DISM.exe 创建驱动器镜像
微软 TechNet 提供了一份关于如何使用 DISM.exe 工具捕获 Windows 分区的全面指南(请参见前面的链接 使用 DISM 捕获硬盘分区镜像):
-
确定要捕获的分区:最常见的 Windows RT 平板电脑配有一个系统分区、一个主分区和一个或多个保留分区(包含恢复镜像)。你需要的是主分区(如果有的话,还包括所有逻辑分区)。
-
为分区分配驱动器字母:如果你要捕获的一个或多个分区尚未分配驱动器字母,可以使用 DiskPart 工具分配字母。该分区将以读写模式挂载。
-
使用 DISM 命令行工具捕获 图像:你将使用 DISM 命令并结合
/capture-Image选项。示例:
Dism /Capture-Image /ImageFile:c:\partition0.wim /CaptureDir:C:\ /Name:"partition0"
注意
注意:如果你的附加存储空间不足以接收整个分区的图像,可以通过运行 net use n: \\Server\Share 命令将图像保存到网络磁盘,并将 /ImageFile 参数的路径替换为新映射的网络驱动器路径。
你可以在 Microsoft TechNet 上了解更多关于 DISM 命令行工具及其选项和参数的信息:
-
DISM 镜像管理命令行选项:
technet.microsoft.com/en-in/library/hh825258.aspx -
使用 DISM 捕获硬盘分区图像:
technet.microsoft.com/en-us/library/hh825072.aspx -
捕获和应用 Windows、系统和恢复分区:
technet.microsoft.com/en-us/library/hh825041.aspx
云获取
Windows RT 是基于 Windows 8/8.1 的操作系统。因此,系统能够在 Microsoft OneDrive 中维护云备份。云中备份的信息包括联系人、消息、同步的 Internet Explorer 密码、已安装应用的列表,以及一些应用设置,如存储的密码(例如,在进行完全恢复出厂设置后重新安装以前安装的 Pocket 客户端时,无需重新登录;应用会立即工作。然而,任何已下载的内容都将重新下载)。
只有当用户使用 Microsoft 账户登录(而不是使用本地 Windows 账户)并且在设置中启用了备份选项时,数据才会自动备份。然而,这对于 Windows RT 平板电脑来说是典型的使用场景。
为了下载 Windows RT 数据,请在 Elcomsoft Phone Breaker 中使用 下载 Windows Phone 数据 获取选项:
你需要指定用户的 Microsoft 账户登录名和密码。
该工具从 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 中恢复密码,请执行以下操作:
-
打开 密码恢复向导 页面。https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/mobi-frsc-adv-inves-stg/img/0151.jpeg
-
通过选择文件的 选择源 命令,或将备份文件拖放到 密码恢复向导 窗口中,指定备份文件(
.ipd或.bbb)。注意
注意:或者,您可以使用 工具 | BlackBerry | 解密备份 路径,如下截图所示:
-
默认情况下,该工具将列出所有使用 BlackBerry Desktop 软件创建的本地可用备份。如果您正在恢复位于嫌疑人硬盘、外部设备或已挂载的取证磁盘映像上的备份,您需要手动指定备份文件的位置。
-
在指定备份文件后,您需要定义将用于破解密码的攻击方式。点击加号 + 以添加不同的破解密码攻击。默认情况下,字典攻击和暴力破解攻击会自动添加。如需了解攻击方式及其设置的更多信息,请参见在线手册中的 密码恢复攻击 主题。https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/mobi-frsc-adv-inves-stg/img/0153.jpeg
-
您可以选择通过点击每种方法右侧的齿轮图标来配置字典攻击和暴力破解攻击。https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/mobi-frsc-adv-inves-stg/img/0154.jpeghttps://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/mobi-frsc-adv-inves-stg/img/0155.jpeg
-
点击 开始恢复。Elcomsoft Phone Breaker 将开始攻击密码。显示剩余的估计时间以及当前处理的密码。您可以点击攻击名称旁边的 更多信息 来查看附加信息,例如已尝试的密码数量和平均攻击速度。https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/mobi-frsc-adv-inves-stg/img/0156.jpeg
-
如果攻击成功,发现的密码将在恢复结果窗口中显示。此时,您可以解密备份并在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 备份,请执行以下操作:
-
在工具菜单中,选择BlackBerry选项卡。
-
选择解密备份。
-
选择一个 BlackBerry 数据库文件(
*.ipd)或 BlackBerry 备份文件(*.bbb),将其拖放到解密备份窗口中,或者点击选择备份手动导航到所需的文件。https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/mobi-frsc-adv-inves-stg/img/0157.jpeg -
加载备份后,您可以查看以下有关备份的信息:
-
备份日期
-
产品类型
-
-
您可以通过点击备份名称旁边的更改备份来选择其他备份。https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/mobi-frsc-adv-inves-stg/img/0158.jpeg
-
定义备份解密选项:
-
保存解密到:选择解密后备份保存的位置。
-
备份密码:输入备份的密码。切换查看按钮,以字符或星号(*)显示密码。如果您尚未恢复密码,点击恢复密码。
-
-
点击解密。
-
解密过程已开始。您可以查看处理的文件数量以及解密过程中出现的错误数量。
-
当解密完成后,您可以通过点击查看按钮查看保存到本地计算机的备份位置。https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/mobi-frsc-adv-inves-stg/img/0160.jpeg
-
点击完成以关闭解密备份页面。
您现在已经成功解密了备份,可以继续恢复 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 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 手机的加密状态都需要逐个验证。
如果已知某设备的密码,检查加密是否启用就很容易:
-
打开并解锁设备。
-
在设备的主屏幕上,从屏幕顶部向下滑动。
-
点击设置 | 安全与隐私 | 加密:https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/mobi-frsc-adv-inves-stg/img/0162.jpeg
-
检查以下开关是否设置为开启:
-
设备加密
-
媒体卡加密
-
如果一台 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 备份,请按以下步骤操作:
-
当备份加载后,您可以查看备份的以下信息:
-
通过拖放 BlackBerry 备份文件(
*.bbb)到解密备份窗口,或者点击选择备份手动导航到所需文件。 -
选择解密备份。
-
在工具菜单中,选择BlackBerry标签。
-
备份日期:PC/Mac 上的本地时间,备份已创建的时间(我们仅提取此字段并显示原样,因为它是从备份文件中提取的)。
-
产品类型:已备份的 BlackBerry 设备类型。
-
PIN:BlackBerry 设备的 ID
-
-
您可以通过点击备份名称旁边的更改备份来选择不同的备份。https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/mobi-frsc-adv-inves-stg/img/0164.jpeg
-
定义备份解密选项:
-
保存解密至:选择保存解密备份的位置。
-
关联 BlackBerry ID 用户名:创建备份的用户的 BlackBerry ID(电子邮件)。
-
BB ID 密码:输入以斜体显示在关联 BlackBerry ID 用户名中的 BlackBerry ID 密码。切换查看按钮以显示密码字符或星号(***)。
-
-
点击解密。
-
解密过程开始。
-
当解密完成后,您可以通过点击查看按钮查看保存到本地计算机位置的备份内容。https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/mobi-frsc-adv-inves-stg/img/0165.jpeg
-
点击完成以关闭解密备份窗口。
备份现在可以在您的计算机上用于进一步分析。您可以使用 Elcomsoft Phone Viewer 浏览和查看备份的内容。
使用 Oxygen Forensic Suite
如果您拥有 Oxygen Forensic Suite 的许可,您可以使用该工具内置的获取向导来导入加密的 BlackBerry 10 备份。Oxygen Forensic Suite 使用 Elcomsoft Phone Breaker 的技术,通过正确的 BlackBerry ID 和密码从 BlackBerry 服务器获取解密密钥。
-
使用导入文件 | 导入 Blackberry 备份 | 导入 BB10 备份…。https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/mobi-frsc-adv-inves-stg/img/0166.jpeg
-
系统将提示您输入 BlackBerry ID 密码(而非设备密码):https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/mobi-frsc-adv-inves-stg/img/0167.jpeg
-
如果输入了正确的密码(工具会在您点击应用密码按钮后立即检查),您将能够填写案件详情,之后会出现以下摘要屏幕:https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/mobi-frsc-adv-inves-stg/img/0168.jpeg
-
点击 提取,工具将开始解密备份:https://github.com/OpenDocCN/freelearn-sec-pt3-zh/raw/master/docs/mobi-frsc-adv-inves-stg/img/0169.jpeg
-
根据备份的大小,过程可能需要相当长的时间。例如,解密一个 7.57 GB 的备份大约需要 25 分钟。
分析 BlackBerry 备份
市面上有许多取证工具可以解析和分析存储在 BlackBerry 备份中的信息(前提是密码已知或已恢复)。ElcomSoft 提供了以下工具:
-
Elcomsoft BlackBerry Backup Explorer(仅限 BlackBerry 1.0-7.1)访问地址:
www.elcomsoft.com/ebbe.html -
Elcomsoft Phone Viewer(BlackBerry 10、iOS 和 Windows Phone)访问地址:
www.elcomsoft.com/epv.html
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 并点击 选择备份:
该工具默认显示 iTunes 备份的列表(如果有)。要加载 BlackBerry 10 备份,请点击 选择其他:
从出现的文件对话框中,选择您要查看的 BlackBerry 10 备份。工具将导入该备份。
一旦备份被导入,您将看到设备中可用信息的概览。
Elcomsoft Phone Viewer 允许查看 日历、通话、联系人、媒体(图片和视频,包括缓存的图像和地图瓦片)、短信 和 笔记。您可以使用过滤器来指定日期范围、来电/去电等。
如果您需要更多的分析功能,可以使用一些功能齐全的移动取证工具,如 Oxygen Forensic Suite。特别是,Oxygen Forensic Suite 允许在备份的整个文件系统中进行全文搜索。
总结
本章中,我们回顾了两代 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 | ||
|---|---|---|---|
| 推送认证 | 是:仅适用于 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,仍然覆盖)以下所有活动:
-
登录到 Apple ID 账户页面。
-
在新设备上登录 iCloud 或访问
www.icloud.com/。 -
登录 iMessage、Game Center 或 FaceTime。
-
在新设备上进行 iTunes、iBooks 或 App Store 购买。
-
获取与 Apple ID 相关的支持,请访问苹果。
根据苹果的说明,以下是两步验证的工作原理:
-
按照平常的方式输入 Apple ID 和密码。
-
苹果会将验证代码发送到你的某一设备上。
-
输入验证码以验证身份并完成登录。
注意
来源: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 采用可选的全盘加密功能,由终端用户或由企业BES(BlackBerry 企业服务器)进行激活。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 文件系统之一进行格式化,如 ext3 或 ext4,但 f2fs 也经常出现。在过去,YAFFS2 文件系统也是一个常见的选择。部分三星型号使用 RFS,这是一种基于 FAT 的文件系统。
请注意,仍有大量超低价的中国智能手机使用原始 NAND 芯片,而非 eMMC 闪存。虽然芯片摘取采集可以捕获这些芯片的完整原始数据,但较为简单的采集方式,如物理采集和 JTAG,通常也能在这些设备上使用。这些设备在中国以外的地区相对较为罕见。
未加密存储
如果数据分区未加密,可以通过物理采集、JTAG、ISP(In-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 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 Explorer 和 Elcomsoft 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 备份时,也会向注册的电子邮件地址发送通知。然而,在访问应用程序数据如Keynotes、Pages或Numbers文档时,不会发送通知。这些通知旨在防止在不知情的用户身上进行监控,告知用户他们的数据正在被下载。
黑莓场景
以下讨论的场景基于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 称之为缓存内存重置。
-
逻辑级别上的数据结构,以逻辑备份/获取的形式存在,与物理级别上的同一记录不同。
带密码的解锁黑莓设备
情况:
-
密码未知且无法移除
-
幸运的是,可以访问并导航桌面
-
为了防止因不活动而超时,设备必须使用(即保持鼠标移动)
审查人员的考虑:
-
密码未知且无法移除
-
可以查看设备数据,您唯一的选择是拍照
总结
在本章中,我们列出了一些供法证专家使用的工具。我们审查了一些在处理移动获取时影响工具选择的常见场景。
7622

被折叠的 条评论
为什么被折叠?



