从逻辑、完整文件系统和iCloud三个角度全方位比较iOS取证的方式
2020-09-07 11:15:00 Author: www.4hou.com(查看原文) 阅读量:469 收藏

导语:在本文中,我们将比较使用三种不同的获取方法从同一个256-GB的iPhone 11 Pro Max中提取的数据的类型和数量:高级逻辑、完整文件系统和iCloud提取。

截至目前,我已经介绍了多种在iPhone上的取证方法,其中一些获取方法基于未记录的漏洞和公共越狱,而其他一些方法则利用已发布的API来访问信息。在本文中,我们将比较使用三种不同的获取方法从同一个256-GB的iPhone 11 Pro Max中提取的数据的类型和数量:高级逻辑、完整文件系统和iCloud提取。

我们已经测试并比较了用于提取运行iOS 13.3的iPhone 11 Pro Max的可用获取方法,该设备以及大量其他设备,包括MacBook Pro、一台Mac Mini、一台iMac、其他四款iphone (6s、7、X、Xr)、一台iPad Pro第三代、一台Apple Watch、几台Apple tv和一台HomePod都连接到iCloud帐户,这还不算其他家庭成员的设备。之所以进行这么多设备的连接,就是期望大量数据通过iCloud跨设备同步。

请注意,情况在不断变化。在其他所有iOS和macOS版本中,Apple更改了数据的存储和保护方式。iCloud也在不断变化,具体请参阅此文

逻辑采集

逻辑采集是最快、最简单、最兼容的采集方法,适用于运行所有iOS版本的所有iOS设备。你需要的只是iOS(iPadOS,WatchOS,tvOS)设备本身,以及Lightning充电线,对于Apple Watch来说,还有iBUS适配器。

通过逻辑获取,你可以获得:

1. 更多的设备信息;

2. 设备备份(iTunes风格);可能受密码保护;

3. 媒体文件(加上一些可能包含已删除文件信息的系统数据库);

4. 崩溃和诊断日志;

5. 共享的应用程序数据。

iTunes备份在逻辑获取中占重要地位,你可以使用iTunes进行备份或在最新的macOS Catalina上的Finder中,有关详细信息,请参见如何备份iPhone,iPad和iPod touch。只要确保你已禁用设备与计算机的同步即可,另外,大多数取证软件也支持这种方法,不过在Windows上,它们通常需要安装iTunes,这主要是因为设备驱动程序的需要。

有关设备备份的详细信息,请参阅iPhone备份的特殊情况。备份的主要问题是密码保护。如果设置了密码,几乎不可能破解它。如果你拥有设备并知道其屏幕锁定密码,则可以重置密码,但是此操作会造成严重后果,有关详细信息,请参考iOS取证中最严重的漏洞。同时,受密码保护的备份包含的信息要比不受保护的备份多得多,包括钥匙串。钥匙串是苹果公司Mac OS中的密码管理系统。它在Mac OS 8.6中被导入,并且包括在了所有后续的Mac OS版本中,包括Mac OS X。一个钥匙串可以包含多种类型的数据:密码(包括网站,FTP服务器,SSH帐户,网络共享,无线网络,群组软件,加密磁盘镜像等),私钥,电子证书和加密笔记等。

除了备份之外,还有更多的逻辑获取,而这部分经常被忽略。不管有没有备份保护,你都可以从设备中获取所有媒体文件以及元数据(元数据通常包含关于已删除文件的信息)和缩略图。

1.png

最后一点是,你始终可以获取崩溃和诊断日志(这可能有助于建立设备使用时间表)以及某些应用程序共享的文件。

逻辑获取的好处是,有时即使设备锁屏了也可以使用该方法。如果你在设备上激活USB受限模式之前就可以物理访问“受信任”的计算机,则该方法才可以起作用。否则,你将无法破解密码,但是上面提到的所有数据都将可用。

在我们的测试中,我们提取了一个包含112K文件(共138 GB)的备份,以及一个47K媒体文件(包括元数据),总共101 GB,外加271个共享文件(109 MB)。

2.png

在某些取证包(例如Elcomsoft iOS Forensic Toolkit)中,可以进行完整的逻辑采集(包括媒体文件,日志和共享文件)。

逻辑采集的优点

1. 数据获取过程非常简单;

2. 如果你使用取证软件,则操作过程完全安全;

3. 使用iTunes仍然安全,不过前提是你要禁用同步功能;

4. 与所有iOS版本兼容;

5. 如果存在配对记录,可以使用锁定的设备;

6. 可以获取设备日志和共享的应用程序数据;

7. 即使设置了备份密码,媒体文件(带有EXIF)仍然可用。

逻辑采集的缺点

1. 可用的数据量有限;

2. 备份加密可能是一个问题;

3. 只能从具有已知密码的受保护备份中获取钥匙串;

4. 你仍然需要屏幕锁定密码来将手机与PC配对(除非使用现有的锁定文件)。

完整文件系统获取

即使是受密码保护的备份所包含的信息也远少于设备上实际存在的信息,该设备存储大量数据:系统数据库(带有详细的位置数据),甚至来自安全信使的第三方应用程序数据,可能包含已删除数据的SQLite预写日志(WAL)、临时文件、WebKit数据、AplePay交易,来自所有应用程序的通知,以及许多其他关键证据。

3.png

提取完整文件系统可能相对困难,第一个问题是选择问题。目前,我们可以从运行iOS 13.3和更低版本的所有设备中提取文件系统,比如较旧的设备(包括iPhone X),和最新的iOS 13.4.1。

4.jpg

但这确实值得,对于上述同一设备,我们大约在同一时间获得了211 GB的数据(速度约为2.5 GB / min,即每小时150 GB)。

5.png

从理论上讲,可以通过在设备上安装越狱来使用该方法。但是,要进行越狱绝非易事,因为要进行太多更改,而大多数更改都没有记录在案。你还需要诸如iOS Forensic Toolkit之类的工具来解密钥匙串。

6.png

完整文件系统获取的优点

1. 部分信息获取可用于锁定/禁用的设备;

2. 完整的数据采集;

3. 备份密码保护被忽略;

4. MDM保护;

5. 完整的钥匙串可用。

完整文件系统获取的缺点

1. iOS版本应该容易受到攻击;

2. 需要iOS开发者帐户。

在对iOS数字取证和事件响应(DFIR)进行例行调查之后,研究人员发现了一些可疑事件,这些事件早在2018年1月就影响了iOS上的默认邮件应用程序。研究人员分析了这些事件,发现了一个影响苹果iphone和ipad的可利用漏洞。ZecOps在很长一段时间内,在企业用户、vip和mssp上检测到该漏洞的多个触发器。

该漏洞的攻击范围包括向受害者的邮箱发送自定义电子邮件,使其能够在iOS 12上的iOS MobileMail应用程序或在iOS 13上发送的邮件中触发该漏洞。

几乎没有可疑事件包括黑客通常使用的字符串(例如414141…4141),经过确认,我们验证了这些字符串是由电子邮件发送者提供的。值得注意的是,尽管有证据显示证实了受攻击者的电子邮件是由受害者的iOS设备接收和处理的,但本应接收并存储在邮件服务器上的相应电子邮件却丢失了。因此,我们推断这些电子邮件可能已被有意删除。

我们知道从2018年1月开始在iOS 11.2.2上发生了多个触发事件,当前,攻击者可能正在滥用这些漏洞,详情请点此。在研究触发这些漏洞的过程中,我们已经看到一些可疑受害者之间的相似之处。

受影响的版本:1.所有经过测试的iOS版本都容易受到攻击,包括iOS 13.4.1;2.根据我们的发现,这些漏洞都是在iOS 11.2.2或更高版本上主动触发的;3.iOS 6及更高版本容易受到攻击,iOS 6于2012年发布,iOS6之前的版本可能也会受到攻击,但我们尚未检查较早的版本。因为在iOS 6发行时,iPhone 5已上市。

研究人员发现,MIME库中MFMutableData的实现缺少对系统调用ftruncate()的漏洞检查,该漏洞导致越界写入。我们还找到了一种无需等待系统调用ftruncate失败即可触发OOB-Write的方法。此外,我们发现了可以远程触发的堆溢出。众所周知,这两种漏洞都是可以远程触发的。OOB写入漏洞和堆溢出漏洞都是由于相同的漏洞而引发的,即未正确处理系统调用的返回值。远程漏洞可以在处理下载的电子邮件时触发,在这种情况下,电子邮件将无法完全下载到设备上。

受影响的库:/System/Library/PrivateFrameworks/MIME.framework/MIME;易受攻击的函数:-[MFMutableData appendBytes:length:]。

利用漏洞后的异常行为,除了手机邮件应用暂时放缓外,用户观察不到任何其他异常行为。在iOS 12上尝试利用漏洞(成功/失败)之后,用户只会注意到邮件应用程序突然崩溃。在iOS13上,除了暂时的速度下降之外,这不会引起注意。如果随后进行另一次攻击并删除电子邮件,则失败的攻击在iOS 13上不会明显。

在失败的攻击中,攻击者发送的电子邮件将显示消息:“此消息无内容。”崩溃取证分析,用户经历的部分崩溃(多次崩溃中的一部分)如下;崩溃的指令是stnp x8,x9,[x3],这意味着x8和x9的值已被写入x3并由于访问存储在x3中的无效地址0x000000013aa1c000而崩溃。

为了找出导致进程崩溃的原因,我们需要看一下MFMutableData的实现。下面的调用树是从崩溃日志中提取的,只有选定的一些设备才会发生崩溃。通过分析MIME库,-[MFMutableData appendBytes:length:]的伪代码如下:在崩溃发生之前执行以下调用堆栈:如果数据大小达到阈值,则使用文件存储实际数据,当数据更改时,应相应更改映射文件的内容和大小,系统调用ftruncate()被inside -[MFMutableData _flushToDisk:capacity:]调用以调整映射文件的大小。ftruncate的帮助文档是这样说明的:如上所示,如果调用失败,则返回-1,并且全局变量errno指定漏洞。这意味着在某些情况下,此系统调用将无法截断文件并返回漏洞代码。但是,在ftruncate系统调用失败时,_flushToDisk无论如何都会继续,这意味着映射的文件大小不会扩展,执行最终会到达appendBytes()函数中的memmove(),从而导致mmap文件出现超出边界(OOB)的写入。

iCloud信息提取

最初,iCloud信息提取全都与备份有关。如今,iCloud备份的作用已大大减少。与未设置密码的本地iTunes备份相比,iCloud备份的限制甚至更多。大多数iPhone和iPad也将大量数据与云同步。从联系人到照片,消息以及钥匙串,几乎所有内容都可以被删除。另外,与Apple的文档相反,iCloud钥匙串可能不仅包含密码,还包含身份验证令牌。还有iCloud Drive,其中包含许多文件和文档,通常包括来自Mac电脑的文件和桌面文件夹。不仅从单个iPhone收集所有信息,而且从与该帐户连接的所有设备收集所有信息。

7.png

在使用Elcomsoft Phone Breaker进行测试提取期间,我们提取了39 GB的同步数据以及101 GB的iPcloud Photos。那不算备份。惊人。

8.png

另外,iCloud驱动器上有很多文件。其中包括文档,第三方应用程序数据以及一些Messenger,密码管理器等的备份。

9.png

iCloud信息提取的优点

1. 与所有iOS版本兼容;

2. 不需要设备本身;

3. 可以访问连接到该帐户的所有设备中的数据;

4. 可以获得iCloud钥匙串;

5. iCloud Drive中的文件;

6. 实时数据可用;

7. 可以访问旧的设备备份。

iCloud信息提取的缺点

1. 需要iCloud凭据(包括第二个验证因素);

2. 使用令牌进行采集是可能的,但是非常有限;

3. 要访问端到端的加密数据,需要使用其中一个可信设备的密码;

4. 设备可能根本不使用iCloud,因此有时没有或几乎没有可用的数据。

取证方法比较表

下面是一个比较表,你可以期望获得的每一种取证方法:

10.png

本文翻译自:https://blog.elcomsoft.com/2020/04/ios-acquisition-methods-compared-logical-full-file-system-and-icloud/如若转载,请注明原文地址:


文章来源: https://www.4hou.com/posts/Rwl0
如有侵权请联系:admin#unsafe.sh