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

访客4年前黑客资讯798

招募黑客网: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

相关文章

黑客让机场国歌(黑客攻击机场)

黑客让机场国歌(黑客攻击机场)

本文目录一览: 1、中越黑客大战的经过 2、中越黑客大战到底怎么回事? 3、问大家下最近越南政府网站被黑客攻击后出现中国国旗和国歌,还有些骂越南的字,是中国黑客攻击的吗? 中越黑客大战的经过...

西安数据恢复教程

打开软件,点一下全能修复,挑选要恢复数据库的本地磁盘,点一下逐渐扫描仪,等候扫描仪进行,挑选修复基本数据类型,启用要修复的文档,点一下逐渐修复,设定好修复途径,点一下逐渐修复就可以。 知名品牌型号...

黑客帝国回应(黑客帝国问题)

黑客帝国回应(黑客帝国问题)

本文目录一览: 1、黑客帝国3中最后先知回答的问题 2、黑客帝国问题 3、黑客帝国1-3中的经典台词 4、关于黑客帝国中世界观问题的官方说法 黑客帝国3中最后先知回答的问题 凡事只要有开...

网上找黑客靠谱吗?专业可靠的黑客哪里有

网上找黑客靠谱吗?专业可靠的黑客哪里有

什么是"黑客增长"? 黑客增长这一概念最早源自于美国互联网,其核心是"驱动用户增长",增长黑客,英文「Growth Hacking」,指的是创业型团队在数据分析基础上,利用产品或技术手段来获取...

安华金和数据安全运营服务平台的数据安全整治解决方法

安华金和数据安全运营服务平台的数据安全整治解决方法

近些年,随着移动互联网、数字贸易、智慧政务等行业的不断髙速发展趋势,数据的使用价值和功效日益突显,变成世界各地新起、关键的生产要素,关乎国防安全与社会稳定。 殊不知,应对因黑客入侵、奸细泄露、错误操...

手机牧场看不见好友是怎么回事(手机农场游戏

手机牧场看不见好友是怎么回事(手机农场游戏

估计有很多朋友都是因为看我写的《哆啦A梦 牧场物语》攻略而关注我的,正好两天前海外上架了一款非常有牧场物语风格的手游,名字叫《乐园生活 绵羊村 大地恩惠与冒险之海》。 为什么你们日本厂商都喜欢起...