导语:客观地讲,虽然苹果的系统是封闭的,但其安全性却非常的好。在过去几年,苹果已经成功构建了一个完整的、多体系的安全系统,以保护其硬件和软件的生态系统能在安全范围内正常运行。当然,这个系统并不是完美的,最明显的漏洞就是通过SS7
客观地讲,虽然苹果的系统是封闭的,但其安全性却非常的好。在过去几年,苹果已经成功构建了一个完整的、多体系的安全系统,以保护其硬件和软件的生态系统能在安全范围内正常运行。当然,这个系统并不是完美的,最明显的漏洞就是通过SS7协议进行双因素认证。但总的来说,它仍然是市场上最安全的系统。
不过,随着iOS 11的发布,这个最安全的称号似乎正在消失。以前用户引以为傲的新的S.O.S.模式以及为了与新设备建立信任而必须输入密码的要求,在iOS 11中出现了一些新的变化。这些变化总的来说就是提高用户易用性,不过在提高操作便捷性的同时,也带来了相应的安全威胁。如果分开来看,每个细小的改变所产生的安全代价都微乎其微,但要把这些细小的代价加起来则产生的安全协同效应将是毁灭性的,这种为提高易用性而丧失部分安全性的做法会让以前的安全优势荡然无存。目前,唯一可以确定安全的部分就是你的隐私数据不会被泄露,这些设备数据包括你的iOS设备以及你在苹果账户上注册的所有其他苹果设备。
说完了系统的变化,我再说说密码保护的分量。这么说吧,在iOS 11中,iOS的安全性完全依赖于密码保护。如果有人偷走了你的iPhone,且能搞到你的密码,那你手机本身所存储的信息连同第三方帐户,比如Apple ID都将一览无余。如果你的Apple ID被攻击者得到,那么他们就可以远程删除或管理你的信息。
有必要为易用性失去安全性吗?
对于我来说,相比于易用性而言,安全性才是iOS受欢迎的优势。在如今这个复杂的网络环境中,人们之所以是iOS,就是为了让自己的隐私能得到更好的保护,但随着iOS 11的发布,你原来那些对iOS良好印象似乎将被彻底颠覆。让我们来看看,到底攻击者通过iOS 11能够进行哪些恶意操作?
iTunes备份密码的优势荡然无存
假设你在一家公司工作,而公司的主营业务就是破解密码,那你一定领教过苹果的密码保护能力。不过随着iOS 11的发布,似乎对密码的重置可以轻而易举的实现。如果你有权访问所破解的设备,那你完全不需要使用以前那么复杂的攻击方式,只需要删除密码即可实现所有的操作,而在以前要想得到iPhone的备份密码必须要使用专门的取证工具。以iOS 8,9,10为例,我来进行说明。
在iOS 8,9,10中备份密码
在这些版本的iOS中,你可以通过在iTunes中设置一个密码来保护备份。一旦设置了密码,那不管你在何时何地进行备份都将受到该密码的保护。
此时,密码将成为设备安全属性的一部分,不管你将手机连接到哪里的计算机,还是使用新安装的iTunes进行本地备份,你都将用到很久以前设置的备份密码。
任何更改或删除密码的尝试都必须通过iOS,且需要先提供旧密码。假如你忘记了原始密码怎么办?那你只能恢复到出厂模式,但与此同时你的所有数据都将被删除。
如果从安全性来评判这种保护模式,那一定是最完美的,且是经过仔细思考的解决方案。显然,并不是每个人都喜欢的这么严谨的安全模式。比如不小心丢了密码的用户,需要取证的警方。
iOS 11:放弃使用备份密码
在iOS 11中,虽然你仍然可以在iTunes中设置备份密码,但如果你不知道原始密码,则仍然无法通过iTunes更改或重置该密码。但相比于以前,你现在可以轻松地从iOS设置中删除该密码。至于为何会这样做,可以点此查看苹果对此的解释。
以前如果没有密码,你无法恢复加密的备份。但在iOS 11中,你可以通过重新设置密码来对手机进行新的加密备份,具体过程如下:
1.在你的iOS设备上,找到设置→常规→重置。
2.重置所有设置后,输入新的的iOS密码。
3.虽然这个设置过程,并不会影响到你手里里的信息,但会对其它设置,如显示亮度,屏幕大小和壁纸等造成影响,另外该过程还会删除你原来的加密备份密码。
4.再次将你的手机连接到iTunes,并创建一个新的加密备份。
此时,虽然你无法使用以前的加密备份,但可以使用iTunes备份当前数据并设置新的备份密码。
如果你现在使用的是iOS 10或更低版本的iPhone,则无法实现重置密码。
由于你刚刚删除了以前的备份密码,现在你不但可以进行新的备份,而且还能从设备中提取信息。建议你在进行备份之前,不要急于更改临时密码,因为“123”始终有效。受密码保护的备份将允许你用临时密码搜索用户的密码,信用卡数据,健康数据和其他需要密码才能读到的内容。
简而言之,整个过程就是设置一个临时密码,然后进行备份,最后使用iTunes备份密码神器(Elcomsoft Phone Password Breaker)或Keychain Explorer(Elcomsoft Phone Breaker中的一个工具)访问该用户的密码,身份验证令牌,信用卡号和其他隐私内容,比如照片。
这样,你就能找到设备里存储的Google帐户登录凭证。如果该登录凭证在钥匙串中,那么你将会获得大量非常有趣的信息,比如好几年的精确位置数据,以及Google相册,书签,Google搜索记录和日志。可能你还有疑问,难道双因素认证就不发挥安全预防作用吗?我敢打赌,就算此时有双因素认证,那也一定会是发送至SIM卡或Google邮箱,如果是这样,双因素认证就毫无意义了。
如果在备份中没有发现任何照片怎么办?那你就要在iOS设置中检查iCloud帐户是否启用了 iCloud照片库同步功能。如果确定启用了该功能,则照片与iCloud同步,就不会出现在本地备份中。只需关闭iCloud照片库同步功能,就可以将照片备份到本地备份中。
如果iPhone运行的是iOS的早期版本,那如何删除备份密码?很简单,将该设备更新到iOS 11,然后重置该密码。
如果你的设备根本无法运行iOS 11,就像圣博娜迪诺恐怖袭击案中犯罪者的iPhone 5c一样,那该怎么办?如果是这样的话,最好的办法就是尝试越狱。 因为32位设备(iPhone 4s,5c和5c)允许完整的进行物理取证(包括钥匙串)。请注意,我现在是在假设密码已知的情况下,但圣博娜迪诺恐怖袭击案并不在我讨论的情况中。
只需访问iPhone及其密码,就可以获得以下所有访问权限:
1.本地备份中包含的所有内容,其中就包含带密码的内容。
2.来自本地钥匙串的密码和令牌。
3.储存的所有图片和视频。
4.应用程序数据(主要是SQLite)。
以上这些仅仅是最基本的内容,如果你有兴趣,还可以发掘更多有趣的内容。比如,现在我让你更改用户的Apple ID密码,删除iCloud锁,远程锁并完全控制设备帐户,你会怎么做?
更改Apple ID密码并删除iCloud锁
通常情况下,修改帐户密码时需要先输入旧密码。不过在某些情况下,可以通过接收一个一次性密码的重置链接来重置密码。
对于具有双因素验证的Apple帐户来说,你只需通过确认设备密码,就可从设备上直接重置其Apple ID密码,此时你不需要提供旧的Apple ID密码。
知道这意味着什么吗?如果你拥有某人的iPhone,并且碰巧知道对方的密码或可以暴力破解密码,那你则可以执行以下操作:
1.更改用户的Apple ID密码。
2.删除iCloud锁,然后重置并在另一个帐户上重新激活iPhone。
3.找到用Apple ID注册的其他所有设备的物理位置。
4.远程锁定或删除这些设备。
5.替换原始用户预留的联系电话号码,这一步完成后,设备发送给用户的双因素验证码就会显示在你的SIM信息中。
6.访问存储在用户的iCloud帐户中的所有内容。
那么如何重置用户的Apple账户或 iCloud密码呢?首先,你要预先安装一个“Find My iPhone”的应用程序,不过请注意,此操作仅适用于启用了双因素验证的帐户。
如上图所示,点击“Forgot Apple ID or password?”,此时该应用程序将提示你输入设备密码。
输入密码后,你会在下一步中输入并确认一个新的Apple ID密码(这与iCloud密码相同)。
重置用户的Apple账户或 iCloud密码就这么轻松地完成了,整个过程从未出现过输入原始Apple帐户密码的提示,只需要输入设备密码就足以重置一个新的帐户密码。
也许你会问,这是不是手机应用程序中的一个漏洞?我可以肯定地回答你,绝对不是!你也可以在不使用该应用程序的情况下进行同样的操作。进入用户iPhone上的设置界面,打开Apple ID设置。这样你就可以找到“Password & Security”选项了。
如果你点击更改密码选项,系统就会提示你输入设备密码:
然后你就可以将密码更改为iCloud/Apple ID:
实际上,你可以在“设置”应用程序中,通过许多操作途径来完成以上的重置目的。除了账号密码之外,你还可以用自己的电话号码来替换用户登记的可信电话号码,如此一来,原来的用户再想重新获得账户的控制权就很困难了。要想替换原来登记的可信电话号码,你首先要添加并确认一个新的可信号码。
此时,你就可以删除iCloud锁了。这么说吧,这一步几乎和关闭“Find My iPhone”程序以及输入新创建的Apple ID密码一样简单。
访问iCloud帐户
iCloud数据(备份,同步数据,iCloud照片和存储的密码)通常是受到安全保护的。为了访问这些数据,你必须使用一个登录名和密码以及经过双因素验证。
但是,由于你刚刚重置了用户的iCloud密码,并添加了一个新的电话号码以逃避双因素验证。这意味着你可以轻松访问用户在其Apple账户中的所有内容,包括iCloud备份,上传的所有照片,iCloud 钥匙串,联系人,通话记录等。
iCloud备份
我曾经多次写过关于iCloud备份漏洞的文章,总而言之,每个苹果设备最多可以有三份iCloud备份。如果用户在同一个Apple ID上注册了多个iOS设备,则每个设备也最多有3个云备份。
通过重置iCloud密码,你可以访问这些备份。而你所需要做的就是获取用户的Apple ID,然后对密码进行重新设置以及截获双因素验证代码。
使用iTunes备份密码神器(Elcomsoft Phone Password Breaker)下载备份,操作过程依次是点击Tools→Apple→Download from iCloud→Backups。
这样,备份将被下载并以iTunes格式被保存下来。接下来,你就可以使用Elcomsoft Phone Viewer(一款快速,轻便的取证查看器)快速访问从移动备份中提取的信息。
调用日志、文件和同步数据
iCloud不仅仅是用来做备份用的,还可以使用iCloud同步Apple设备的各种信息,比如浏览器书签、打开的标签、网页历史记录,联系人,登录日志,通话记录甚至密码等。这些信息会在同一个苹果帐户上注册的所有设备上进行收集和同步。
提取同步数据很简单,只需使用Elcomsoft Phone Breaker进行下载,并使用Elcomsoft Phone Viewer进行分析。
如果你正在使用Mac,那就可以访问由Mac与iCloud Drive同步的文档和桌面文件。使用Elcomsoft Phone Breaker的操作过程依次是Tools→Apple→Download from iCloud→iCloud Drive,这样你就可以获取这些文件了。不过你可能获得额外的收获,你可能能够提取用户的FileVault2恢复密钥,不过前提是用户允许云恢复。
密码:iCloud钥匙串
钥匙串是苹果公司Mac OS中的密码管理系统。它在Mac OS 8.6中被导入,并且包括在了所有后续的Mac OS版本中,包括Mac OS X。一个钥匙串可以包含多种类型的数据:密码(包括网站,FTP服务器,SSH帐户,网络共享,无线网络,群组软件,加密磁盘镜像等),私钥,电子证书和加密笔记等。现在假设你知道了设备密码,并更改了iCloud密码,那你就可以轻松地下载iCloud钥匙串了,具体分4步走。
步骤1:在Elcomsoft Phone Breaker中点击Tool→Apple→Download from iCloud→Keychain 。
步骤2:使用登录名,密码和双因素代码登录到iCloud。
步骤3:从列表中选择一个可信设备(你必须知道设备密码),并输入其密码。
第四步:下载iCloud 钥匙串后,你就可以返回主窗口并打开Keychain Explorer来访问这些密码。顺便说一下,你现在可以访问用户的Apple ID帐户的原始密码,以及其他Apple ID帐户的原始密码。此外,你还可以看到电子邮件帐户和无线网络的密码,以及在Safari输入的几乎所有密码。
总结
在iOS 11中,开发人员为了操作的简便性,牺牲了大量的安全性能。
一旦攻击者侵入了用户的iPhone并知道了设备密码,那之后就再也不会有什么安全措施了。本地备份,钥匙串,iCloud锁,Apple帐户密码,云备份和照片,iCloud 钥匙串密码,通话记录,位置数据,浏览记录,浏览器标签以及用户的原始Apple ID密码都会迅速被攻击者得到。另外,攻击者还可以控制用户在同一个Apple帐户上注册的其他Apple设备,并且可以远程删除或锁定这些设备。即使用户要重新获得对被劫持账户的控制也是不可能的,因为预留可信的电话号码也可以被替换。
就在12月2日,又有漏洞导致了苹果手机的崩溃,具体原因是从App Store下载的,调用了Apple的“本地通知”API的第三方应用程序(而非内置应用程序)在发送本地通知时耗尽大量内存,导致系统崩溃。建议用户赶紧升级至iOS 11.2,并在设置中手动为每个应用程序禁用通知功能。
缓解措施
1.由于密码是现在唯一的安全保障,请确保你的密码至少有6位,因为四位数的PIN码已不再安全。
2.及时关注更新,有任何新发布的漏洞,都要尽快升级。