导语:2017年6月6日,在WWDC2017上,全新的iOS 11正式登台亮相。今天我就来详细聊聊iOS的取证分析。
2017年6月6日,在WWDC2017上,全新的iOS 11正式登台亮相。今天我就来详细聊聊iOS的取证分析。
备份
iOS系统备份是最快也是最简单的从iPhone获取大部分数据的方式,其中又以iTunes备份最受欢迎,因为你可以获得精确的设备数据备份,一旦重新恢复,你可以完全将iTunes备份里的数据全封不动的导到手机上,包括通话记录,上网记录,保存的电子邮件帐户,社交网络和即时通讯的凭据,以及网上银行的敏感信息。
事实上,有一个同iTools功能一样的工具,完全可以替代iTunes,进行iOS设备管理。这就是libimobiledevice,因为它的源码是开放的,可以自行编译,所以对很多开发者而言可以说更为实用。
对于libimobiledevice又称libiphone,是一个开源包,可以让Linux支持连接iPhone/iPod Touch等iOS设备。由于苹果官方并不支持Linux系统,但是Linux上的高手绝对不能忍受因为要连接iOS设备就换用操作系统这个事儿。因此就有人逆向出iOS设备与Windows/Mac Host接口的通讯协议,最终成就了横跨三大桌面平台的非官方版本的USB接口库。
从技术上讲,iOS有专门的备份运行服务,iTunes或者libimobiledevice的作用就是连接到备份服务并发送“备份”命令。如果设置了备份密码(下文会详细解释),那么备份服务就会返回一个加密流,这时,iTunes或者libimobiledevice完全没有办法进行备份。
iTunes的备份加密
从iOS 3开始,iTunes就开始使用了备份密码,如果没有密码,你将无法恢复加密备份。 不过,关于iTunes备份有两个特殊之处:
首先,备份密码是设备的属性,而不是备份文件的属性,当然,iTunes备份通常会被拆分为多个文件。这说明如果你在一台计算机上设置了密码,则无论你使用哪种工具进行备份,你以后进行的所有备份都将使用该密码进行加密。如果你想更改密码,你需要先输入旧密码。
那么这种加密方式是如何影响iPhone取证的呢?如果你有一个设备获得,即使你进行了备份密码设置,你就将得到加密了的备份。在这种情况下,你就必须先使用暴力破解或字典攻击来破解密码。不过这种暴力方式在iOS 8之前还管点用,但到了iOS 9/10/11就无效了。
破解备份密码非常耗时,从iOS 4到iOS 10.1中,苹果使用了1万次迭代(pbkdf2),这对破解的复杂度以及破解设备的运行速度,提出了很大的挑战。
不过,我在iOS 10.0中发现了一个严重的弱点。除了标准的保护方法之外,备份还会包含一个不同的,更容易破解的哈希值。这使我可以在CPU上每秒钟尝试几十亿个密码。不过苹果也发现了该漏洞,在iOS 10.1这个哈希值漏洞被苹果删除,并在iOS 10.2中进一步强化了密码加密程度。所以现在我只能在CPU上每分钟尝试几个密码,而使用GPU每秒最多可以100个密码。
其次,是否使用了密码创建备份,直接决定着你在处理钥匙串(Keychain)加密和一些其他关键数据(如与运行状况相关的数据)的方式,关于这部分我会在以下详细解释。
信任关系
任何人都可以将iPhone连接到电脑上进行备份,不过当你首次将iPhone连接到电脑备份,你必须首先解锁设备,然后才能创建备份,并在手机和电脑之间建立信任关系。
所谓的信任关系就是在手机和计算机建立联系时,会创建一对加密密钥:一个在iPhone上,另一个在计算机上。
在iOS 7之前,设备上没有任何关于信任关系的提示,如果设备连接到计算机,就会自动建立信任关系,这就造成了巨大的安全风险,比如你将iPhone连接到在机场,餐厅等公共场所的充电器上,就可能会有黑客从iPhone上悄悄地获取所有数据,甚至可以将恶意软件安装到其中。
在iOS 7中,系统就会检测手机是否连接的是充电器还是计算机。如果连接的是USB电源,无需取得信任即可充电;如果检测到的是计算机,系统会提示“你信任此计算机”吗?尽管会有此提示,但我相信许多人并没有注意到或者直接忽略了它,而是一直点击“是”。
从iOS 11开始,要建立信任关系就需要密码,只使用Touch ID已经完全无法满足匹配关系了,关于iOS 11的安全变化,请点此详细了解。
iPhone/iOS 4的加密漏洞
之所以从iOS 4直接谈起,是因为iOS 1到3压根就没有加密措施。
从iOS 4开始,iPhone 取证专家的取证工作越来越困难了,就连Zdziarski也无奈加入苹果安全工程和架构团队,安全研究员和前越狱社区开发者 Jonathan Zdziarski 是著名的iPhone 取证专家,在过去几年中,Zdziarski 参与了很多重要的 iOS 安全相关事件,比如2015年苹果与 FBI 之间的法律斗争以及去年 WhatApp 应用中发现的安全漏洞。他曾经是 iPhone Dev Team 和 Chronic Dev Team 的成员之一。Zdziarski 曾经在推特上分享了很多内容,但现在账户已经关闭,很有可能是因为加入了苹果。
所以很可能,我是第一个发现iPhone 4破解方法的人,利用bootrom代码中的漏洞,将我自己的系统映像加载到设备内存中,获得加密密钥,映像磁盘并解密映像。因此,我可以以DMG映像的形式获取设备的完整存储信息,这些映像可以很容易地在macOS中安装,或者使用任何第三方软件进行分析。
bootrom最好的一点是它是只读的,这意味着其不会受到系统更新的干扰。
我发现的这种方法甚至可以用于破解由于密码输入错误而锁定的iPhone,因为,iPhone上大部分文件所需的密钥并不依赖于密码。相反,加密是基于某个特定设备的硬件密钥,我已经找到了破解的方法。这种方法是完全用于取证的,在取证时不会改变设备上的任何内容。
与通常的密码加密相比,iOS使用了更聪明的密码保护方法,密码验证功能内置于设备硬件中,作为“黑匣子”使用。如果要实施密码攻击,则会非常缓慢,每秒大约只有5个密码,也就是说,在不到半个小时的时间内只能破解4位数的密码。
如果我可以对设备进行映像,那为什么还需要考虑密码呢?所以在iOS 8中,苹果决定对映像方法采取更强的保护措施。所以如果有时候在访问设备时,除了上面提到的硬件密钥之外,还需要使用密码。比如访问下载的电子邮件和钥匙串。
钥匙串
钥匙串是苹果公司Mac OS中的密码管理系统,它在Mac OS 8.6中被导入,并且包括在了所有后续的Mac OS版本中,包括Mac OS X。一个钥匙串可以包含多种类型的数据:密码(包括网站,FTP服务器,SSH帐户,网络共享,无线网络,群组软件,加密磁盘镜像等),私钥,电子证书和加密笔记等。
但iOS不提供查看钥匙串内容的界面,这就使非官方开发人员无法进行查重其中玄机。原因很简单:出于安全考虑,每个应用程序只能访问钥匙串中有关自己的数据,而不能访问系统记录或任何其他应用程序的数据,以方恶意应用程序可能会窃取你的凭证。
kSecAttrAccessible这个属性,决定了item在什么条件下可以获取到里面的内容,在添加item的时候,可以添加这个属性,来增强数据的安全性,具体的主要有以下几个:
kSecAttrAccessibleWhenUnlocked kSecAttrAccessibleAfterFirstUnlock kSecAttrAccessibleAlways kSecAttrAccessibleWhenUnlockedThisDeviceOnly kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly kSecAttrAccessibleAlwaysThisDeviceOnly kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly
还有kSecAttrSynchronizable属性,决定了密钥是否应与iCloud同步。
该如何使用密码
有一个关于苹果iTunes备份的知识库,是这样说明的:“加密的iTunes备份可以包含未加密的iTunes备份没有包含的信息,比如保存的密码、无线网络设置、历史网站以及健康数据(从iOS 11才开始有)。
不过,上述说法在技术上不正确。实际上,iOS系统备份的内容和没有密码的内容是一样的。唯一的区别就是上述数据加密的方式。在没有密码的iTunes备份中,加密基于每个iPhone独有的硬件专用密钥。这种特定于硬件的密钥是永久性的,即使在完全恢复出厂设置后也是不变的。顺便说一下, iCloud备份也有类似的情况。
对于受密码保护的备份,大部分数据仅使用用户指定的备份密码进行加密。由此带来的后果就是,没有密码的备份只能在和其相同的设备上被完全恢复,因为有些信息是不可解密的。但是,如果你计划将备份在新设备上进行恢复,那么使用自己的密码进行备份是有好处的。这样,所有的数据,如保存的密码等也将被恢复。
虽然以上是从用户的角度来看的,但对取证分析来说也是非常重要的。如果设备没有备份密码,强烈建议分析人员在执行取证之前指定一个密码。这样你就可以在获得完整的数据并且能够使用你掌握的密码来解密所有的东西。如果用户已经提前设置了备份密码,而且你还不知道,则意味着你不得不使用暴力方法才能恢复密码。
物理取证技术
物理取证是唯一可以精确获取iPhone存储数据的方法,它类似于传统硬盘驱动器的“dd”,实际上有相当多的数据不包含在iTunes备份中。
首先,有位置数据,iOS会跟踪你的一举一动且记录会被保存50天。
其次,所有与2G/3G/4G网络的连接都被记录下来,这个信息不是关于你的位置信息,而是关于你周围的网络点的位置信息。
除了位置数据以外,下载的邮件也完全可以通过物理取证获得。另外,有第三方应用程序数据也可以进行本地和iCloud备份,比如你在Skype和Telegram进行的对话都会有备份。
还有就是日志,它们可能被用于恢复有关设备使用情况的完整信息,比如应用程序启动和关闭事件,各种网络连接,应用程序之间的切换,处理器/数据/网络使用,崩溃等等。不过,目前市场上还没有用于日志分析的软件,不过要解析也不难。
你可能想知道物理取证是否对删除的数据有用。从iOS 4开始,就不能在未分配的空间上创建信息。虽然实际数据仍然存在,但它是加密的。一旦一个文件被删除,那它的加密密钥就会被删除,并且绝对没有办法再解密该文件。如果设备被重置,情况也是一样的。此时,恢复的只是从SQLite数据库中删除的一些记录(iOS中最常见的格式),例如,SMS消息。
从iPhone 4S到iPhone 5c,取证越来越困难
在iPhone 4S中,苹果修复了bootrom漏洞。从此以后(包括最新的iPhone 8和iPhone X),该漏洞再没有被发现。
对于一般的取证人员来说,这意味着取证工作就此被终结。但对我来说,如果密码没有被设置,我仍然可以通过物理取证来从设备获得很多信息,具体有3步:
1.进行密码保护备份;
2.安装越狱工具;
3.物理取证。
不过,除了越狱之外,你还需要安装OpenSSH才可以,不过,如果你安装的越狱工具已经包括一个SSH客户端,那就没有必要了。接下来要做的就是将我的软件(实际上是两个小工具)上传到设备中,并运行它们来制作设备映像,提取加密密钥,并最终对钥匙串(包括带有ThisDeviceOnly属性的硬件加密记录)和设备映像进行解密。
不过这种方法会对取证的内容进行相当多的更改。尽管如此,这仍然是提取尽可能多的数据的最佳方法。
破解密码的硬件设备
如果设备因受密码保护而无法安装越狱程序,那该怎么办?目前市场上有一些设备可能会破解iPhone手机密码。最著名的设备是IP-BOX,当IP-BOX连接至iPhone时,将会猜测所有的密码,从0000到9999。这可能需要耗时100多小时,但破解成功率将是100%。不过,这些破解设备都依赖于iOS的已知漏洞,目前顶多也就是在iOS 8.2上可以运行。另外,这些设备在破解密码失败后(大约10次),很有可能会造成数据的永久丢失。由于密码验证仍然是在手机上进行,所以超过4个字符的密码需要很长的时间。
总之,这些设备对于较老的设备,尤其是那些运行iOS 7的设备,还比较适用,但是前提是你要承受数据丢失的风险。
不过,目前有一种破解密码的硬件设备可能适用于iOS 8到iOS 10,但不适用iOS 11。不过,要使这些设备运行,你必须首先将iPhone置于DFU模式,然后启动软件更新过程。由于此过程通常会删除用户数据,所以必须对系统分区更新。在某些时候,iPhone要求输入密码,此时就不会出现10次尝试破解失败,数据就被删除的情况。但是,密码验证速度会出奇的慢,每个密码要5分钟左右。这意味着,一个多月的时间,只能破解出4位数的密码。虽然有些用户声称他们可以将每个密码的破解速度是降低至5秒,但要破解出4位数的密码也需要约14个小时。不过,iOS 10已将默认密码长度设置为6位数,每个密码需要5秒钟也要大约两个月。
64位iPhone的Secure Enclave
在2013年,苹果发布了iPhone 5S。这是第一个配备指纹识别器(TouchID)的机型,不过这个技术早在几年前的Android设备上就出现过了。真正的创新是Secure Enclave,这是一种旨在使iPhone更加安全的特殊芯片。
简而言之,Secure Enclave让物理取证更加困难了。即使使用了越狱和OpenSSH,解密设备映像和钥匙串所需的加密密钥还是无法从设备中提取。
不过,我还是可以在无法获取映像的情况下得到文件系统的完整副本。唯一保持加密的是钥匙串。这意味着没有密钥和密码数据,只包括位置数据,应用程序文件,互联网缓存,日志等数据。
关于iOS数据加密还有一件事,就是从iOS 8开始,iPhone上的大部分数据的加密方式与钥匙串记录相同,即基于特定硬件的密钥和密码的组合。即使我能以某种方式从苹果自身获取固件的签名密钥,并将我们自己的代码加载到设备中;即使所有的iOS版本都有一个可以越狱,我仍然会在没有密码的情况下一无所获。即使苹果自己也无能为力,也许Secure Enclave真的无懈可击。
关于Touch ID
我经常会被问到Touch ID(现在是Face ID)是否就比密码更安全?对此,我只能说,Touch ID的唯一目的是方便,它不会使设备更安全。相反,它还会使你的手机更易被攻击。
首先,理论上可以创建一个人造指纹。虽然这不是一个常用的技术,但必定是存在的。
其次,你可能会被迫用你的指纹解锁你的设备。在某些司法管辖区,对执法人员来说,指纹识别可能更容易方便取证。
不过,利用Touch ID重新启动之后,还是需要密码。如果你在48小时内没有解锁设备,或者三次未成功解锁指纹密码,你也会被提示输入密码。
利用iCloud取证
如果你有一个没有设置密码的手机,并且可以安装一个越狱,那么你在取证时就容易的多。然而,这种情况很少见,一般的iPhone都会设置密码,且通常情况下,都处于关机状态,这意味着即使锁定记录也不会对取证有多大帮助。
在云时代,许多iPhone用户甚至不在意本地备份,觉得一切内容都可以保管在iCloud。相对于本地备份,使用iCloud备份方便且高效,你不需要将手机连接到计算机,只要能连上网,设置一下自动备份,则每时每刻你手机的内容都会自动上传到iCloud,即使屏幕被锁定也不会影响iCloud备份。
更重要的是,iCloud备份是不受空间大小限制的,随时可以扩充。iCloud备份类似于在没有密码的情况下用iTunes创建的本地备份,钥匙串的加密方式与 iTunes备份相同,即使用硬件密钥。如果你还记得的话,那么你可以从没有Secure Enclave的32位设备获取该密钥,并且只能通过物理取证的方式。
其实在iCloud备份出现后不久,我就有一个想法,假如我能开发一款软件把备份下载下来该有多好。截至目前,苹果公司也没有提供任何使用iCloud备份的软件或方法,用户所能做的就是在新手机中进行备份恢复,当然使用时还要提供有效的凭证(Apple ID和密码)。
开发使用iCloud备份的软件其实很复杂,目前 iCloud备份只能通过无线网直接从手机上进行创建,恢复过程也是一样。不过,流量当然是加密的。
所以我最后使用了中间人攻击的方法,以在恢复过程中捕获流量,分析协议并逆向加密。
尽管加密密钥与数据是一起存储的,但iCloud数据本身已加密。因此,恢复备份的过程和在iPhone中是一样的。我所使用的取证软件会对iCloud进行认证,以获取手机的备份列表,下载所有的数据,并将它们解密。等解密完成后,我会将iCloud备份转换成iTunes格式,使其与现有的取证工具兼容。
现在,只要有一台能连接到取证目标的iCloud账户的设备,我就可以开始取证了。对于一般取证人员来说,获取用户的Apple ID凭证是件很困难的事。不过这并不代表没有机会,如果手机发生了丢失,被盗,破碎等物理上的不可用,或发生了密码锁定,或设置了强大的备份密码,都需要使用到Apple ID凭证。
“艳照门事件”(Celebgate)和双因素验证
2014,大量的好莱坞女明星的艳照出现在网上,后来经调查,此次“艳照门”事件是黑客利用iCloud云端系统的漏洞,在破解了女艺人们所设的简单密码后侵入并非法盗取了裸照,继而在网络论坛发布的。
当时,苹果已经对iCloud账户进行了双因素验证,但iCloud备份并没有被保护,只要使用登录名和密码就足以访问到数据备份,就连基本的短信通知提示都没有,即使启用了2SV,也不会有任何的登录操作提示。
很快苹果就吸取了教训,用2SV保护iCloud备份。之后,他们又推出了更强大,更方便的双因素验证,一旦启用这种保护模式,账户拥有者就会在所有受信任的设备上实时获得登录提示,如果有人试图在不受信任的设备访问用户的iCloud账户,他们立马就会知道。
在最近发布的iOS 11中,苹果正在努力地推动双因素身份验证的使用,这确实是一个提高安全措施的好主意。不过,苹果的双因素身份验证仍然存在安全隐患,例如,你的手机发生了密码锁定,可是你知道密码,且双因素身份验证在iCloud帐户上可以使用,则你可以在不使用旧密码的情况下重置iCloud密码,甚至可以更改预留的电话号码,更多的详细案例,请点此。
令牌
iCloud不仅可以在iPhone上使用,也可以在包括Windows和Mac的计算机上使用。 对iCloud取证的目的是轻松访问iCloud Drive 中储存的文档,同步联系人和日历等。如果你使用的是计算机,那还必须进行身份验证,但只需执行一次验证。
无论是否使用了双因素身份验证,一旦通过了验证,系统就会保存从服务器获得的所谓验证令牌(小的二进制数据),该令牌将被用于以后的所有iCloud的数据同步请求中。
我要做的就是找到令牌存储的位置和加密方式,并学会如何在没有密码,也没有双因素验证的情况下来验证iCloud。
对于同步的数据,例如联系人,日志,网络历史记录,照片等,这些令牌可以一直有效,至少在几个月内是没有问题的,这个效果在备份中也一样。有一次,苹果决定把令牌的使用寿命减少到只有一个小时,即只能用于访问备份,但是在iOS 9中,iCloud备份被移到了iCloud Drive。 正常情况下,iCloud Drive中的数据应该始终可以访问,并且令牌也一直有效。但最近苹果又做了调整,令牌似乎只在12个小时以内有效,在此之后,你仍然可以使用令牌来访问除备份之外的所有内容。这给了我一个信号,苹果可能随时增加或减少令牌的使用周期。
数据备份和数据同步,哪个更好?
如果你熟悉Android,你可能知道它的备份和苹果完全不一样。 Android没有本地备份,虽然有些供应商可能有自己的备份系统,但都存在不同程度的漏洞。既然没有本地备份,那是否有云备份呢?对此,我只能说,目前将Android设备的信息备份在用户的谷歌账户上的做法还不是很成熟。
不过,Android相比于苹果的最大优势之处,就在于数据同步。虽然理论上,你可以不需要通过备份来恢复Android手机,而只需将其链接到你的Google帐户,数据同步就可以了。但实际上很多内容都没有恢复或同步回手机上。
与此形成鲜明对比的就是,苹果公司的备份方案非常完整,除此之外,他们还提供了实时数据同步,以满足其它需要。虽然苹果公司并没有像谷歌那样对同步的数据进行了那么多分类,但所有重要的数据都是同步的,比如联系人,日志,日历,网页浏览记录,书签,钱包数据(预订,折扣卡,登机牌),邮件(仅限苹果的icloud.com),支持其HomeKit平台的智能家居设备数据,游戏数据,健康数据(从iOS 11才开始有)和媒体文件(如果你启用了iCloud媒体库,其中包含照片和视频)。
当然我也可以下载这些数据,其中最简单的方法是基于网络的,这与登录icloud.com时大致相同。不过,我更愿意在配置级别较低的环境中,通过iCloud Drive下载这些数据,即使iCloud Drive在Explorer或Finder中是不可见的,它仍然是所有数据的主要存储空间。通过iCloud Drive,我还能够访问iOS和macOS使用的特定的应用程序数据,比如WhatsApp备份、用户自定义的字典。
这种低级别访问的另一个好处是能够获得一些已删除的数据,比如媒体文件,历史浏览记录以及日志。虽然都是已删除的数据,但它们并没有真正消失,数据仍然可以被访问,我最多访问过3年之前的记录。不过目前,此方法已经被苹果发现后并修复,就算是这样,我还是可以访问到2到4周的删除数据。仔细想想,这些备份数据也许并没有真正的消失,很可能是被移动到了其它的服务器,只不过我们不知道而已。
苹果的反取证措施
我会在每一次发现新的iCloud安全漏洞后,及时向苹果报告,对此,我感到十分自豪。但令我惊讶的是,一些取证人员和商家似乎不喜欢我将这些漏洞报告给苹果,经常问我是出于何种动机?能不能进行野外利用这些漏洞。
这是一个很严肃的问题,一方面,我想为取证人员提供最好的工具和技术,谈到针对iCloud以及谷歌的服务,我确信我开发的工具比市场上的任何软件都更好用,可以提取比其他任何人更多的数据。
另一方面,我真的很关心隐私和安全,希望你我的手机变得更加完美,毕竟,我正在使用与你一样的苹果设备和服务。
所以,我总是详尽地描述什么可以、什么不能用来提取数据和解密,什么是使用的先决条件,你可能遇到什么问题等等。虽然这可能不是最好的向取证人员介绍取证技术的方法,但我相信,这比我只简单地告诉你,我现在可以破解XX或向我发送你的设备信息,我可以帮解锁它这样的方式要好得多。
无论如何,我公开发布的信息足以让苹果提高其产品和服务的安全性。比如, iOS的两个安全修复HT207271和HT207482都采用了我提的建议。
谈到iCloud取证,苹果肯定不喜欢iCloud备份可以被下载,因为这是一把双刃剑,虽然很方便但也很不安全。为此,他们最近实施了一些预防措施,比如你从同一个IP地址访问不同的iCloud帐户,那苹果就会临时限定你访问这些帐户,并强制用户更改密码。我个人认为这不是一个好主意,因为即使是在合法的设备恢复之后,帐户锁定有时也会发生。最好的办法就是让用户决定如何保护自己,比如双因素身份验证就是一种比较好的方式。
iCloud钥匙串
从iOS 7开始,苹果就在iOS系统中加入了iCloud钥匙串功能,不过有很多人至今都没有开启使用过这项功能。
iCloud 钥匙串是什么?
所谓的iPhone钥匙串简单来说就是加密备份你的各种登录用户名、密码和信用卡卡号等信息,并在同一苹果账号的其他 iOS 设备中同步更新使用。比如你的 iPhone 之前在一家店里连接了WIFI,下次你带 iPad 无需输入密码就能连 WIFI,因为同一个钥匙串的设备,密码已经同步过来了。
而且iCloud钥匙串功能,也能为用户提供随机的密码。使用随机密码有利于提升账号安全性。如果你有多个Apple设备(iPhone、iPad、Mac等系列产品),则iCloud钥匙串是一项非常棒的功能。这样你就不需要密码管理员,不过话说回来你真的能相信那些密码管理员吗?特别是那些把你的数据保存在自己的服务器上的密码管理员,你确定他们的加密就是安全的吗?他们有没有与政府合作呢? 而iCloud钥匙串就没有这样的问题。
如何开启钥匙串
如果你想启用钥匙串,那么先在一台苹果设备中开启钥匙串,此时会显示等待中,然后在另外一台苹果设备登录 iCloud 账号或者使用 iCloud 安全码批准开启。两种方式均可行,但推荐使用 iCloud 账号来开启比较方便。
方法一:用iCloud账号开启钥匙串
1.在另外一台设备同样打开“设置”→“iCloud”,登录相同的iCloud账号。
2.此时第一台设备上会出现“是否允许第二台设备使用钥匙串”的弹窗,输入iCloud密码即可打开第二台设备的钥匙串,要是没有弹窗,可以将两个设备的iCloud注销后,重新登录一下。
方法二:用安全码开启钥匙串
1.打开第一台设备的“设置”→“iCloud”→“钥匙串”→“使用安全码批准”,如果已经打开说明已经设置了安全码,请直接到第二台设备上设置。
2.创建安全码,然后并输入电话号码获取验证码,设置完成。
3.接着打开另一台设备的“设置”→“iCloud”→“钥匙串”→“使用安全码批准”,输入安全码和手机验证码,这样就开启了钥匙串功能。
总的说来,你所有的iOS设备都能用iCloud 钥匙串来接管你的账号信息,这样即便忘记密码也不用担心。
关于iCloud钥匙串的技术细节太多,我就不详细讨论了,本文只重点关注所以它的实际用处。
首先,iCloud钥匙串的实现会根据你是否提前设置了双因素验证而有所不同。如果你在没有设置双因素验证的情况下使用了iCloud钥匙串,则系统会提示你设置一个安全码iCloud安全代码),但这是个可选项。
有趣的是,如果你没有既没有设置双因素验证也没有设置安全码,那么反而iCloud是最安全的。在这种模式下,任何人都绝对没有机会访问你的iCloud钥匙串,因为该过程使用的点对点(peer-to-peer)交换是在你的设备上直接进行同步的。但这样做的风险就是,如果你丢失了你的设备,就再也没有办法找回钥匙串了,它会永远消失的。
令人惊讶的是,下面要介绍的这种最安全的配置也是没有双因素验证的,不过与上面的不同,这次要用到安全码。要访问iCloud钥匙串,需要用到这三个信息:身份验证凭证,你设置的安全代码,以及最后发送到受信任手机上的其他验证码。看起来很像3FA,对吗?
最后一种情况是,如果你设置了双因素验证,那么你还需要身份验证凭证,除此之外,还需要已经在任一Apple设备(iPhone、iPad、Mac等系列产品)使用过的密码,这听起来有点疯狂吧?
这么做是否有安全风险?我可以拍着胸脯说,这些方法实施起来都是非常安全的。如果你想暴力破解安全码或密码,则iCloud钥匙串可能会被临时锁定,或者甚至被完全删除。
那么如何在这么安全的情况下,实施取证工作呢?目前,我所发现的方法只适用于特定的情况。
如果在过去的3-4年(从5S到iPhone X)制造的iPhone上运行iOS 8或更高版本,并具有强大的备份密码(iTunes现在也会提示使用备份密码)和手机密码,则根本没有办法对备份和钥匙串进行取证。你可以使用的最好的办法是遍历所有的设备屏幕,从而只获取可见的信息。不过这个办法非常低效,我才不会用。
于是我就想,能不能将手机连接到iCloud帐户。如果手机密码已经提前知道,那就去iCloud取证,从iCloud和钥匙串里抓取所有的内容。如果赚取不到内容,你可以直接从设备上更改用户的iCloud密码,必要时添加一个新的信任号码,然后执行相同的操作。如果iCloud备份和iCloud钥匙串被禁用,只需启用它们。
简而言之,这似乎是破解最新iPhone钥匙串的唯一方法。虽然听起来有点复杂,但实际上使用起来非常简单高效。请注意,钥匙串同步需要很长时间,大约几个小时。
不过我要再次提醒的是,你希望从钥匙串中得到什么?大多数用户的iCloud帐户密码一般都是从同一设备上访问其它网站的密码,如果你需要访问启用了双因素身份验证的帐户,不妨试试这些密码。
总结
本文详细介绍了目前苹果产品的一些漏洞和对应的取证方法,你也许会有疑问,既然我说的取证方法如此牛叉,那用户的产品还有什么安全性可言,岂不是任由你们来读取?这其实是对取证的一种误解,取证首先是建立在产品的漏洞之上的,如果漏洞没有被发现那取证就是一种奢望,相信随着iOS版本的不断升级,我们的隐私会更加完美地被保护起来。