有问有答:为什么说这次苹果A系列处理器中的BootROM漏洞是史诗级的?
这几天有关于iPhone最热门的话题莫过于这个新的checkm8漏洞了,漏洞发现人axi0mX在宣布自己研究发现的Tweet里面直接用了史诗级(EPIC)这个单词来描述这个漏洞,为什么呢?主要有三大理由。
1. 硬件漏洞,无法修复
checkm8漏洞存在于A系列芯片的BootROM中,换句话说它的位置是在硬件中,而这块区域是只读的,不可通过软件手段进行写入,这也就意味着这个漏洞是不能通过软件手段进行修复的。
而大家知道之前Intel CPU上面的幽灵和熔断两大硬件漏洞却可以被修复,为什么呢?
checkm8这个漏洞是BootROM里面存放的软件代码中的漏洞,属于软件范畴,而恰恰这块区域是只读的,制造时候一次性写入,连苹果自己也不能在写入后修改的。而Intel CPU的漏洞属于硬件设计问题,其实也没有办法修复,在老的处理器上面只是通过微码和操作系统更新来进行了规避,本质上并没有完全修复掉。而苹果能不能在系统中采取一些规制手段呢?可以,但是作用很小,理由请看第二条。
我们回头看一下那些被发现存有BootROM漏洞的设备都怎么样了:
Nintendo Switch
老版本的NS上面是有一个BootROM漏洞的,这个是NVIDIA的Tegra X1芯片带过来的,而这也是离我们最近的一款影响范围比较大并且有BootROM漏洞的设备,它存在于所有使用T210芯片的老款NS之上。而它能够干什么大家都已经知道了,破解NS的系统还只是一个方面,用它来把NS变成一个Android设备或者运行Linux都不是什么难题。
而任天堂在新款NS上面通过新制程的新版Tegra X1修复掉了这个漏洞。
Apple A4
在iPod touch 3以及其他所有使用Apple A4芯片的设备上都存在一个BootROM漏洞,由天才小子ghohot(题外话,这人现在做自动驾驶汽车去了)发现,并且成功利用它结合iOS系统本身的漏洞做出了完美越狱。而这个漏洞使得iPhone 4等使用Apple A4的设备在iOS 6时代仍然是首批能够进行越狱的设备。
而3GS上面存有的另一个BootROM漏洞则是让苹果直接推出了新款3GS,在硬件上修复了漏洞,不过后来就再也没这么干过了。
2. 洞穿iOS安全启动链源头
iOS用了一套安全启动链的机制来保证iOS不被轻易篡改,简单的流程图如下:
图片来自于packtpub
引用我以前写过的来描述一下:
这里要补充的是,LLB只存在于使用A9及之前的iOS设备上,从A10开始已经没有LLB了,BootROM直接把设备交给iBoot,也就是iOS设备的主要Bootloader。
可以看到Apple这套安全启动链的核心机制就是使用证书签名验证机制,在前一级验证后一级的完整性来确保安全。而现在,在第一级Bootloader上面存在就有漏洞,并且可以被利用,那么可以说整个安全启动链就已经失效了。
题外话,其实这种安全启动链在PC平台和Android平台上面同样存在,不过可能实现形式有所不同。
3. 影响设备数量过于庞大
这个BootROM漏洞存在于BootROM版本早于3332.0.0.1.23的芯片上面,简单罗列一下有多少设备使用了这期间的芯片吧:
· A5:iPhone 4S、iPad 2、iPad 3(A5X)、iPod touch 5
· A6:iPhone 5、iPhone 5C、iPad 4(A6X)
· A7:iPhone 5S、iPad Air、iPad Mini 2/3
· A8:iPhone 6/6 Plus、iPod touch 6、iPad Air 2(A8X)
· A9:iPhone 6S/6S Plus、iPhone SE、iPad 5、iPad Pro(12.9''+9.7'')(A9X)
· A10:iPhone 7/7 Plus、iPod touch 7、iPad 6/7、iPad Pro 2(12.9''+10.5'')(A10X)
· A11:iPhone 8/8 Plus、iPhone X
可以看到,受到影响的设备数量之庞大,单论从iPhone 4S到iPhone X这期间的iPhone销量就已经是一个非常恐怖的数字了,再加上iPad这个销量也不俗的平板设备和陪衬的iPod touch,算它几个亿,不过分吧。几个亿的设备上存有这个漏洞,可能已经是史上影响范围最为广泛的硬件漏洞之一了,堪比当年Intel处理器中的幽灵和熔断两大硬件漏洞。
漏洞的局限之处
以上三点已经足以让checkm8成为一个史诗级的漏洞,但它还是有很多局限之处的,首先,想要利用这个漏洞首先还是要通过USB有线连接,不能在手机端直接操作或者通过远程命令来执行。其次,想要达成无需引导越狱(也就是常说的完美越狱)还需要iOS系统上面的漏洞配合完成,单靠这个漏洞只能达成需引导越狱(也就是常说的非完美越狱),目前这个漏洞还只是黑客用来对iOS设备进行研究的一个渠道。还有用户也不用担心自己的一些核心机密数据可以被读取到,像Touch ID、Face ID还有NFC信用卡数据都是存放于另外一个区域中的——苹果处理器中有一块类似于ARM Trustzone的区域用来存放这些敏感数据,至今还没有曝出泄露。
总之,iOS越狱这个带有反抗苹果色彩的行为离彻底消亡还太过于早,它可能会沉寂,可能会淡出人们的视线,但黑客精神永远鼓动着世界上成千上万的黑客、白帽子等等极客们对这个封闭的平台进行分析研究,向苹果发起挑战,黑客精神不灭,它就不会死。