欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

为啥这次苹果A系列处理器中的BootROM漏洞是史诗级的?

程序员文章站 2022-04-08 09:18:26
这几天有关于iphone最热门的话题莫过于这个新的checkm8漏洞了,漏洞发现人axi0mx在宣布自己研究发现的tweet里面直接用了史诗级(epic)这个单词来描述...

这几天有关于iphone最热门的话题莫过于这个新的checkm8漏洞了,漏洞发现人axi0mx在宣布自己研究发现的tweet里面直接用了史诗级(epic)这个单词来描述这个漏洞,为什么呢?主要有三大理由。

硬件漏洞,无法修复

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,在硬件上修复了漏洞,不过后来就再也没这么干过了。

洞穿ios安全启动链源头

ios用了一套安全启动链的机制来保证ios不被轻易篡改,在apple自制的一系列a系列soc中有一块存储区域专门存放了一部分最初的启动代码,也就是俗称的bootrom,这部分被apple称之为securerom,它是在电源键被按下,设备上电之后最初加载的代码。securerom检查下一级bootloader,也就是low level bootloader(llb),如果签名没有问题,那么就加载并初始化llb,此时设备的apple logo就出现了。然后llb检查并初始化iboot,同样是通过apple root ca public证书验证签名,验证通过就会把设备带给iboot,而iboot会映射device tree,然后验证内核签名并加载,最终初始化内核并运行,这时候可以说ios系统已经启动了。

这里要补充的是,llb只存在于使用a9及之前的ios设备上,从a10开始已经没有llb了,bootrom直接把设备交给iboot,也就是ios设备的主要bootloader。

可以看到apple这套安全启动链的核心机制就是使用证书签名验证机制,在前一级验证后一级的完整性来确保安全。而现在,在第一级bootloader上面存在就有漏洞,并且可以被利用,那么可以说整个安全启动链就已经失效了。

题外话,其实这种安全启动链在pc平台和android平台上面同样存在,不过可能实现形式有所不同。单论从iphone 4s到iphone x这期间的iphone销量就已经是一个非常恐怖的数字了,再加上ipad这个销量也不俗的平板设备和陪衬的ipod touch,算它几个亿,不过分吧。几个亿的设备上存有这个漏洞,可能已经是史上影响范围最为广泛的硬件漏洞之一了,堪比当年intel处理器中的幽灵和熔断两大硬件漏洞。

漏洞的局限之处

以上三点已经足以让checkm8成为一个史诗级的漏洞,但它还是有很多局限之处的,首先,想要利用这个漏洞首先还是要通过usb有线连接,不能在手机端直接操作或者通过远程命令来执行。其次,想要达成无需引导越狱(也就是常说的完美越狱)还需要ios系统上面的漏洞配合完成,单靠这个漏洞只能达成需引导越狱(也就是常说的非完美越狱),目前这个漏洞还只是黑客用来对ios设备进行研究的一个渠道。还有用户也不用担心自己的一些核心机密数据可以被读取到,像touch id、face id还有nfc信用卡数据都是存放于另外一个区域中的——苹果处理器中有一块类似于arm trustzone的区域用来存放这些敏感数据,至今还没有曝出泄露。

总之,ios越狱这个带有反抗苹果色彩的行为离彻底消亡还太过于早,它可能会沉寂,可能会淡出人们的视线,但黑客精神永远鼓动着世界上成千上万的黑客、白帽子等等极客们对这个封闭的平台进行分析研究,向苹果发起挑战,黑客精神不灭,它就不会死。

为啥这次苹果A系列处理器中的BootROM漏洞是史诗级的?