《iOS取证实战:调查、分析与移动安全》一2.3 操作模式

简介: 本节书摘来自华章出版社《iOS取证实战:调查、分析与移动安全》一书中的第2章,第2.3节,作者(美)Andrew Hoog Katie Strzempka,更多章节内容可以访问云栖社区“华章计算机”公众号查看

2.3 操作模式

上述设备能够运行在不同的操作模式上,包括基本模式、恢复模式或DFU(Device Failsafe Utility)模式。这些模式将会在后续章节经常提及,因为要在设备上执行特定功能就需要设备在指定模式下运行。例如,执行升级或系统还原,设备必须以恢复模式运行。

2.3.1 基本模式

设备以标准形式启动,即称为基本(normal)模式。大多数在iPhone上进行的操作都运行在基本模式下,除非有其他规定。

2.3.2 恢复模式

对于恢复模式,用户或审查者将设备启动到iBoot,绕过了操作系统加载。iBoot是Apple的第二阶段引导模式,恢复模式将驻留在此。某些功能要在这个操作模式下实现,例如激活设备、升级或降级iPhone,或执行某些物理获取操作。
要进入恢复模式需要按照以下方式:第一步关闭设备电源(按住电话顶部的按钮直到看见设备上显示“移动滑块来关机”提示);第二步,长按Home键,同时通过USB连接线将设备连接到计算机,保持这个动作直到显示“连接到iTunes”(见图2-1),然后释放。
通过连接电缆线,设备将获得电源。另一个做法是先将设备连接到计算机,再关闭设备电源,然后同时按住Home键和设备的电源按钮。

2.3.3 DFU模式

iPhone的各种初始化行为都要求运行在DFU模式下,最常见的是执行物理取证。它经常在“设备固件升级”中被提及。

image

进入DFU模式的步骤是,确保iPhone已经连接到电脑上,此时iTunes不要运行,如果设备连接时iTunes启动了,要通过在Mac的左上角选择“iTunes→退出iTunes”, 确保iTunes程序退出(或者在Windows上,通过“关闭”按钮来关闭此应用程序)。在设备启动或者关闭时,持续同时按住Home键和电源按钮10秒,然后释放电源按钮(此时持续按住Home键)保持十几秒(保持超过10秒是很重要的)。当成功进入DFU模式时,屏幕将是黑色的。若看到了Apple的标志或者其他设备正在启动的信号,则证明进入DFU模式失败了,操作过程执行不正确。
要校验Mac设备是否已经进入了DFU模式,可以运行系统分析程序。启动后,选择USB选项,可以看到如图2-2所示的设备。如果操作正确,屏幕上会显示USB DFU Device,否则仅显示Apple iPhone设备。

image

系统分析程序也能够通过终端窗口来搜索。首先,输入下面的命令来启动系统分析程序:
image

接下来,输入下面的命令来查找运行在DFU模式的设备(此命令的显示结果如图 2-3所示):

一些要在iPhone上获取物理映像的新工具需要运行在Linux上。在Linux工作站上校验设备是否工作在DFU模式,可以用一个类似的程序。将设备连接到Linux机器上,在终端窗口上输入lsusb命令,窗口将显示所有连接到指定机器的USB设备。当连接到工作站的iPhone运行在基本模式时,通过lsusb命令将显现Apple 设备的情况,包括型号编号、序列号以及其他此设备的详细信息。

image
image

当连接到工作站的iPhone在DFU模式下运行时,运行“lsusb”命令将显现类似上面的一些设备信息,但是它同时也会显示此iPhone是一个“DFU”设备。

image
image

请注意,在不同的操作模式下产品ID和序列号的显示情况是不一样的。当执行固件升级时,有必要修改“idProduct”字段以确保仅有DFU驱动被加载(Microcontroller Division Applications,2003)。这个方法也能够帮助审查者确定设备是否运行在DFU模式(例如,如果显现的是序列号,那么可能设备就是运行在基本模式了)。

2.3.4 退出恢复/DFU模式

无论是在恢复模式下还是在DFU模式下,都可以通过同样的过程回退到基本模式。同时按住电源和“Home”键直到Apple的标志出现,设备将重启。通常,这一系列的操作(注意顺序)将使电话成功地回到基本操作模式。
设备有可能进入所谓的“恢复模式循环”,iPhone将会不断重启进入该模式。这会发生在越狱或解锁的过程中。如果发生了这种情况,有一些开源工具可用来协助用户跳出恢复模式循环,例如RecBoot 或者 iRecovery。这两个工具都是免费的,并且在Windows和Mac操作环境下都可以下载使用,iRecovery还能够在Linux上使用。这些工具通过USB连接与第二阶段引导程序(iBoot/iBSS)通信,以离开循环恢复模式。
在Linux和Mac系统上安装iRecovery涉及简单的源文件下载步骤。而Windows用户必须安装libusb以允许USB设备接入。要使用iRecovery,用户需要在终端窗口上输入以下命令,以运行此程序:
image

接下来,执行以下命令:
image

最后,用户发起重启过程,设备就会以基本模式运行了。这个过程如果使用iRecovery来完成,会有一点复杂,因为它还提供了其他一些功能,例如上传文件(iRecovery,2009)。Jonathan Zdziarski的物理获取工具利用iRecovery在必要的时候自动重启iPhone。这个工具也将在后面讨论,它在取证过程中扮演了很重要的角色。
RecBoot工具对于跳出恢复模式循环来说更简单一些。它只有两个用途:进入恢复模式或者离开恢复模式(图2-4中展示了RecBoot工具的用户界面)。由于这种原因,它的界面更友好。用户简单地点击按钮,设备就能够自动重启,恢复基本操作模式。
不同的操作模式经常会在取证映像过程中应用,我们将在第5章讨论这些操作模式。

相关文章
|
28天前
|
搜索推荐 Android开发 iOS开发
安卓与iOS系统的用户界面设计对比分析
本文通过对安卓和iOS两大操作系统的用户界面设计进行对比分析,探讨它们在设计理念、交互方式、视觉风格等方面的差异及各自特点,旨在帮助读者更好地理解和评估不同系统的用户体验。
19 1
|
30天前
|
存储 运维 安全
iOS加固原理与常见措施:保护移动应用程序安全的利器
iOS加固原理与常见措施:保护移动应用程序安全的利器
28 0
|
2月前
|
Android开发 数据安全/隐私保护 iOS开发
安卓与iOS系统的发展趋势与比较分析
【2月更文挑战第6天】 在移动互联网时代,安卓和iOS系统作为两大主流移动操作系统,各自呈现出不同的发展趋势。本文将从技术角度出发,对安卓和iOS系统的发展方向、特点及未来趋势进行比较分析,以期为读者提供更深入的了解和思考。
35 4
|
3月前
|
安全 前端开发 iOS开发
钉钉里微应用ios 底部安全区域的颜色怎么修改?
钉钉里微应用ios 底部安全区域的颜色怎么修改?
57 5
|
3月前
|
存储 运维 安全
iOS加固原理与常见措施:保护移动应用程序安全的利器
iOS加固原理与常见措施:保护移动应用程序安全的利器
38 0
|
4天前
|
调度 iOS开发 开发者
iOS 中的并发编程模式:理解 GCD 和 Operation Queues
【4月更文挑战第19天】 在现代 iOS 应用开发中,有效地管理线程和并发是至关重要的。为了确保用户界面的流畅性和后台任务的高效运行,开发者需要掌握并发编程技术。本文深入探讨了两种主要的并发模式:Grand Central Dispatch (GCD) 和 Operation Queues。我们将分析它们的工作原理,比较它们的特点,并通过实际代码示例说明如何在 iOS 应用中实现高效的并发处理。通过本文,读者将获得在 iOS 平台上进行多线程开发的实用知识,以及如何根据不同的应用场景选择最合适的并发工具。
|
2月前
|
安全 搜索推荐 Android开发
Android 与 iOS 的比较分析
【2月更文挑战第5天】 Android 和 iOS 是目前市场上两种最流行的移动操作系统,它们都拥有自己的特点和优势。本文将会分别从操作系统设计、应用生态、安全性等方面对这两种操作系统进行比较和分析,希望能够帮助读者更好地选择适合自己的移动设备。
|
3月前
|
iOS开发
你知道IOS移动端到操作手势有哪些吗?
你知道IOS移动端到操作手势有哪些吗?
|
5月前
|
运维 安全 数据安全/隐私保护
iOS加固原理与常见措施:保护移动应用程序安全的利器
随着移动应用的普及和用户对数据安全的关注度提高,iOS加固成为了很多开发者和企业的必备工具。那么,iOS加固是如何保护应用程序的安全性的呢? iOS加固是指对OS应用程序进行一系列的安全措施,以提高其抗逆向工程、反编译和破解的能力。下面将介绍iOS加固的原理和常见的加固措施。
iOS加固原理与常见措施:保护移动应用程序安全的利器
|
5月前
|
iOS开发
实战编程·使用SwiftUI从0到1完成一款iOS笔记App(五)(3)
实战编程·使用SwiftUI从0到1完成一款iOS笔记App(五)
59 0