招募黑客网:iPhone BootROM 缝隙阐明及要挟评价

访客5年前黑客资讯829

招募黑客网:iPhone BootROM 缝隙阐明及要挟评价

0x00 相关词汇
AP:运用处理器。
SEP:安全协处理器。
SecureROM:又称 BootROM 是固化在 iPhone 只读区域中的一段代码,该区域中的代码是发动链及发动信赖链的起点,首要担任加载后续的发动链,该区域中的代码无法经过系统更新来更新,所以该区域中的代码一旦呈现安全问题,影响是十分大,而且这种影响是耐久的,只能经过召回设备批改问题。关于 SecureROM 的具体功用,可以参阅笔者之前写的一篇文章 《SecureROM 剖析笔记》。
GID:GID 是固化在 iPhone 加密引擎中的 AES 密钥,一切相同类型的设备具有相同的密钥,比方:一切 iPhone X 都具有相同的密钥。该密钥首要用来解密系统更新固件。SEP 有独立的 GID,与 AP 的不同。
UID:UID 也是固化在 iPhone 加密引擎中的 AES 密钥,但每台手机都有不同的 UID,UID 首要用来加解密用户相关的数据。SEP 有独立的 UID,与 AP 的不同。
 
0x01 工作原因
北京时间9月 28 日清晨,国外安全人员 @axi0mX 经过 Twitter 揭露了一个 iPhone BootROM 的缝隙[1],一同揭露了相关的运用代码[2]。
就像 @axi0mX 在推文中所说[3],这是从 2010 开端,9 年间,之一个揭露的针对 64 位苹果设备的可以运用的 BootROM 的缝隙。我们知道越狱社区一向在跟苹果设备的安全性做着“奋斗”,跟着苹果不断地进步 iPhone 的安全性,越狱变得越来越难,而 BootROM 缝隙不只可以用来越狱当时最新的 iOS 版别,还可以用来越狱SDK目录:里面有开发插件的比方,值得一看。将来的 iOS 版别(由于硬件缝隙无法经过系统更新进行修补),所以该缝隙在越狱社区中引起了巨大的颤动。
 
0x02 受影响的设备
影响从 iPhone 4s 到 iPhone X 的一切设备,一同影响这段时间内出产的 iPad 设备。
 
0x03 缝隙成因阐明
@axi0mX 是经过二进制比照发现的这个缝隙[4],一同 @littlelailo 独立的经过代码审计的 *** 也发现了这个缝隙[5]。@littlelailo 对这个缝隙的成因及运用思路做了阐明[6][7]。
由于 @littlelailo 对缝隙的成因现已说得十分清楚了,这儿就不再弄巧成拙,下面是@littlelailo 阐明的直接机器翻译成果。下文中的图画并不是指图片,而是指 img4 固件文件。
这个过错一开端也被称为Moonshine基本上,我查看过的一切bootrom中都存在以下过错:1.当u *** 开端经过dfu获取图画时,dfu注册一个接口来处理一切指令,并为输入和输出分配一个缓冲区2.假如您将数据发送到dfu,则设置包由主代码处理,然后调出接口代码3.接口代码验证wLength短于输入输出缓冲区的长度,假如是这种状况,它将运用指向输入输出缓冲区的指针更新作为参数传递的指针4.然后回来wLength,这是它要接纳到缓冲区的长度5. USB主代码然后运用长度更新全局变量,并预备接纳数据包6.假如接纳到数据包,则经过作为参数传递的指针将其写入输入输出缓冲区,并运用另一个全局变量来盯梢现已接纳了多少字节7.假如接纳到一切数据,则再次调用dfu特定代码,然后持续将输入输出缓冲区的内容复制到往后从中引导映像的存储方位8.之后,u *** 代码将重置一切变量并持续处理新软件包9.假如dfu退出,则开释输入输出缓冲区,而且假如映像解析失利,则bootrom从头输入dfu
退出dfu可以经过发送dfu间断包或经过触发USB重置触发解析来完结
问题:在第5步,将更新全局变量,而且Bootrom预备接纳数据,但是运用廉价的操控器,您可以违背USB标准而且不发送任何信息(arduino主机操控器或相似的东西)。然后,您可以触发USB重置以触发图画解析。假如解析失利,bootrom将再次输入dfu,但未实行过程8,因而全局变量仍包括一切值。但是,实行了过程9,因而开释了输入输出缓冲区,而在过程3中作为参数传递的指针依然指向它。因而,您可以经过将数据发送到设备来轻松触发对已开释缓冲区的写入。
对A8的运用:1.将0x40的随机数据发送到dfu,有必要发送此数据,不然您将无法运用USB重置ctrlReq(bmRequestType = 0x21,bRequest = 1,wLength = 0x40)退出dfu2.经过发送ctrlReq(0x21,1,0)ctrlReq(0xa1,3,1)ctrlReq(0xa1,3,1)ctrlReq(0xa1,3,1)ctrlReq(0xa1,3,1)使dfu处于等候USB重置的状况ipwndfu dfu.py)3.仅发送了带有bmRequestType 0x21和bRequest 1以及有用载荷巨细的wLength的设置数据包(此数据包将更新全局变量)4.发送一个状况包以符号操控传输的完毕(即便将wLength设置为一个值,我们也会越过数据阶段)5.触发总线复位6.等候设备从头输入dfu(现在将开释输入输出缓冲区,而且将在开释的缓冲区下分配u *** 使命)7.发送设置的装备恳求ctrlReq(bmREQ_SET,USB_REQUEST_SET_CONFIGURATION,wLength = Payloadsize),但将有用载荷与数据阶段一同发送(bootrom中的设置装备处理程序疏忽wLength)
有用负载将掩盖u *** 使命结构,而且将成为u *** 仓库之后的下一个分配。经过定位USB使命结构中的链接列表,您可以刺进假造的使命。而且您可以将u *** 使命仓库用作暂存空间,由于看起来它永久都不会写到那么高。当dfu退出而且u *** 使命间断时,将生成该代码。因而,您可以在第7步之后发送dfu间断数据包,并在该代码实行exec的状况下操控一切较高的寄存器,由于您的虚伪使命将添加到列表中并在往后的某个时间运转。
〜31.05.19莱洛
 
0x04 才能及要挟评价
约束条件
缝隙运用的约束条件:需求将设备置入 DFU (Device Firmware Upgrade)形式。
缝隙及运用目前所具有的才能
1、BootROM 中的恣意代码实行才能。
2、打开 CPU 的硬件调试才能(JTag)。
3、运用 AP 的 GID 进行加解密。
4、运用 AP 的 UID 进行加解密。
恣意代码实行才能及 CPU 级调试才能
BootROM 是 iPhone 发动信赖链的基础,在 BootROM 中具有了恣意代码实行才能,意味着 iPhone 的整个发动信赖链被打破了,毕竟可以用来加载修改正的 iOS 内核,然后损坏 iOS 的基础安全特性。这部分才能首要会被用来做越狱(这儿的越狱是指越狱所带来的才能,而不只仅指越狱行为)。
CPU 级调试才能,这个才能首要会被用来剖析 iPho

相关文章

给不重名店铺起名大全(148个洋气名字)

两个字两个字给不重名店肆取名一个字给不重名店肆名字大全 辕骡给不重名官方店肆   舱、塍、心   布谷给不重名直销店肆   镐、瀛、朱   情事给不重名旗舰店肆   增、辈、腰   套票给不重名...

怎么设置无线路由器(无线路由器设置步骤图)

怎么设置无线路由器(无线路由器设置步骤 分享给朋友们一个简单的无线路由器入门设置教程,教大家怎百思特网么使用无线路由器、如何设置使用,非常实用。 一、无线路由器基本使用方法 1.拿到手的无线路由...

淘宝详情页模板免费购买渠道(此福利至今前所未有你们还等什么)

淘宝详情页模板免费购买渠道(此福利至今前所未有你们还等什么)

说起如今中国设计师哪一个岗位的群体数量更为巨大,那当属网店美工! 而在这个职位上必须,作为一名无上光荣辛勤的美工设计,每一年都需要解决数以亿计的店面图案设计: 淘宝主图、详细信息、主页、淘宝钻展、...

浪潮系统被黑客攻击(浪潮系统)-黑客英文代号

浪潮系统被黑客攻击(浪潮系统)-黑客英文代号

浪潮系统被黑客攻击(浪潮系统)(tiechemo.com)一直致力于黑客(HACK)技术、黑客QQ群、信息安全、web安全、渗透运维、黑客工具、找黑客、黑客联系方式、24小时在线网络黑客、黑客业务、黑...

男士内裤什么材质的好

内裤是我们贴身物品中最私密的存在,在选择内裤的时候我们需要格外重视,材质往往决定着一条内裤的好坏,那么男士内裤什么材质的好?下面跟随小编来了解一下。...

中台产品经理实战(14):中台与SaaS、微服务关系

中台产品经理实战(14):中台与SaaS、微服务关系

编辑导语:中台在这几年频繁呈此刻我们的视野里,与他相关的SaaS、微处事也随之呈现,这三个产物有什么沟通和差异之处?本文来谈谈与中台相关的两个高频观念。 不知道各人有没有留意到,此刻我们一谈起中台,...