天下网吧 >> 网吧系统 >> 系统动态 >> 正文

FBI成功破解苹果iPhone只是侥幸?

2016-4-3不详佚名

最近闹的沸沸扬扬的FBI vs Apple的事件,期间经历了FBI在法庭上要求苹果开发通用的破解锁屏密码的程序,苹果发布iOS 9.3,FBI要求查看iOS源代码到最后苹果威胁要在iCloud中用点对点加密代替现在的Master Key方案,最终该事件在前几天尘埃落定。据传言是在某个神秘选手的帮忙下,FBI终于解开了那台iPhone 5C手机。

最近的媒体传闻都是说苹果的锁屏密码多么难破解,神秘选手技术多么厉害,其实据我们分析, FBI这一次只是运气好,碰到的是一台iPhone 5C,如果这台设备是iPhone 5S的话,那么很大可能还要通过法律手段。

苹果的锁屏密码到底有多难破?为什么说这一次说FBI是侥幸的?对于我们普通用户来说又有什么影响?

请看盘古实验室对苹果数据加密机制以及锁屏密码保护机制的技术分析。

iOS上哪些数据做了加密?

FBI成功破解苹果iPhone只是侥幸?

首先,iOS整个磁盘是全盘加密的,解密的EMF Key (file-system master encryption key)保存在闪存中1号扇区的可安全擦除区域(擦除后无法恢复,并且支持远程擦除),该key对每台设备都是唯一,并且会在数据擦除时销毁;其次,在磁盘之上的文件系统的内容也是加密的,在每个文件创建的时候会随机生成针对每个文件的Per-File Key,通过这个Per-File Key对文件中的内容进行加密保护,并且苹果又为此设计了Class Key来对Per-File Key进行保护。苹果设计A-F等各个不同的保护级别的Class Key,每个级别分别对应了密钥生成和销毁的时机,该级别可以通过数据保护的API来指定。默认设备上的信息,通讯录,邮件等都指定了iOS数据保护功能,而常见的几个级别分别是:

全面保护(Class A)

数据保护最为严格的级别,系统解锁后才能够解锁解密的密钥,并且在锁定以后丢弃该密钥。

未打开文件保护(Class B)

数据保护较为严格的级别,通过密钥包中的Class Key进行协商生成公私钥,文件一但解锁后即使系统锁屏仍然可以访问,直到文件句柄被关闭。

首次认证前保护(Class C)

数据保护较为严格的级别,在系统启动时第一次输入密码时解锁解密的密钥,并且在系统关闭时丢弃密钥。

无数据保护(Class D)

没有指定数据保护,但这不意味着文件没有加密保护,对于没有设置数据保护的其他所有文件,iOS中用一个DKey(Device Key)进行保护。该Key设备唯一,并且保存在闪存的可安全擦除区域。

从上述机制我们可以看出苹果对iOS数据保护的整个设计框架是相当完善的,结合硬件并且通过多重保护机制来防止各种物理手段上对设备的数据破解。

锁屏密码(Passcode)的作用

假设把每个文件的加密看作为上了一道锁的话,那么对应的开锁的钥匙就存放在系统密钥包里面,而锁屏密码除了防止用户进入系统桌面之外,更重要的角色就是利用密码对系统密钥包进行额外的加密保护。很多人对锁屏密码理解的一个误区,就是锁屏密码只是物理手段上防止进入手机的一个保护,但实际上,用户在第一次设置锁屏密码的时候,锁屏密码会结合硬件加密引擎生成一个叫做Passcode Key的密钥,通过这个密钥对保存在密钥包中的各个钥匙(Class Key)进行加密保护。锁屏密码不会以其他加密的形式保存在设备上,用户在解锁的时候,会直接用输入的密码生成Passcode Key对密钥包中的Class Key解密,解密失败代表用户密码错误。

从苹果的数据加密和锁屏密码的保护机制来看,直接拆除存储芯片并对其进行文件读写操作是不可能的。

破解Passcode Key的手段

Passcode Key是用户输入的passcode结合系统硬件的加密引擎以及PBKDF2(Password-Based Key Derivation Function)算法生成的。PBKDF2的基本原理是通过一个伪随机函数,把明文和一个盐值及加密重复次数作为输入参数,然后重复进行运算,并最终产生密钥。重复运算的会使得暴力破解的成本变得很高,而硬件key及盐值的添加基本上断绝了通过“彩虹表”攻击的可能。

由于硬件加密引擎的Key无法提取,所以只能在目标的机器上运行暴力破解程序进行破解,假设用户的密码设置的足够复杂的话,那么破解的周期就会变得非常久。

在FBI这个案例中,由于嫌犯可能开启了输错10次密码自动擦除设备的选项,一旦暴力猜测程序连续10次输入错误的密码,设备上的所有内容就会擦除掉。一旦触发数据擦除,苹果会首先对可安全擦除区域进行擦除,物理方式上即使能够恢复大部分加密数据,但是却无法恢复可安全擦除区域中的数据,因为大部分的解密密钥都保存在这个区域中,例如能够解开系统密钥包的二进制数据的BAG1 Key。

后续苹果为了封堵各种暴力猜测Passcode的方法,在64位设备的Secure Enclave中增加了定时器,针对尝试密码的错误次数,增加尝试的延时,即使断电重启也无法解决。

历史上曾经出现过的破解方法

早期的A4及更老的芯片(iPhone4之前的设备包括iPhone4)存在bootrom漏洞,通过bootrom中的硬件漏洞获取设备的shell然后运行暴力破解程序。[A4后面的芯片目前没有公开的bootrom漏洞]

iOS7中存在利用外接键盘可以暴力破解密码,甚至停用的设备也可以破解的漏洞。[该漏洞已经在iOS8中修复]

iOS8的早期几个版本中存在密码尝试失败立即断电并不会增加错误计数的漏洞。[该漏洞已经修复]

FBI是怎么破解这台手机的?

FBI要想要破解的这台手机是一台iPhone 5C并且运行着iOS 9,从硬件的角度上来说这是一台32位的设备(没有Secure Enclave),所以我们觉得相对可能的几个方案是(第三种是可能性最高的):

通过未公开的bootrom/iboot漏洞来获得系统的权限,然后通过修补内核的方式去绕过软件的错误计数来进行暴力破解密码。

使用未公开的暴力破解绕过错误计数的漏洞(类似曾经出现过的强制断电绕过的漏洞)

事先通过物理方式先对手机上闪存的数据进行克隆,由于32位系统不支持在Secure Enclave做硬件的计时和计数,可以通过类似USB外接键盘进行暴力猜测,每当猜测到9次左右的时候,再通过物理方式用克隆的数据对手机进行数据恢复,这样就避免了数据被擦除的尴尬。

通过摄像头追终嫌疑人的生活轨迹并且分析,比如摄像头刚好拍摄到嫌疑人在星巴克解锁手机,那么就可以通过图片分析的手段来判断用户输入的锁屏密码是什么。

为什么说FBI是幸运的?

如果这是一台64位的设备(拥有Secure Enclave),第三方即使拥有bootrom级别的漏洞都不可能对设备进行暴力破解,除非在找到Secure Enclave的漏洞才有可能对设备进行暴力破解,目前来看这种可能性微乎其微。这种情况下也许走司法程序是个更容易的方法。

那么苹果是否还有弱点?

从设备上的保护力度来看,苹果做的这套保护架构在没有类似bootrom漏洞之类的大杀器几乎很难去破解,那么是否有弱点?答案是肯定有的。

本文来源:不详 作者:佚名

声明
声明:本站所发表的文章、评论及图片仅代表作者本人观点,与本站立场无关。若文章侵犯了您的相关权益,请及时与我们联系,我们会及时处理,感谢您对本站的支持!联系Email:support@txwb.com,系统开号,技术支持,服务联系QQ:1175525021本站所有有注明来源为天下网吧或天下网吧论坛的原创作品,各位转载时请注明来源链接!
天下网吧·网吧天下