加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 业界 > 正文

BlackHat 2018 | iOS越狱细节揭秘:危险的用户态只读内存

发布时间:2018-08-15 23:16:17 所属栏目:业界 来源:陈良
导读:技术沙龙 | 邀您于8月25日与国美/AWS/转转三位专家共同探讨小程序电商实战 议题概要 现代操作系统基本都已经在硬件级别(MMU)支持了用户态只读内存,只读内存映射在保证了跨进程间通信、用户态与内核间通信高效性的同时,也保证了其安全性。直到DirtyCOW漏洞

最后我们得出结论,如果需要通过越界m_inlineArray写到一个页的前8字节,需要满足:

  1. index = 0x27f6 + n ∗ 0×800  

而如果需要到达任意页内偏移,假设要到达偏移m,则index需要满足条件:

  1. index = 0x27f6 + 0x2ab ∗ m/8 + n ∗ 0×800  

image.png

与之前得出的index范围结论相结合,我们最终选择了index值0x9e6185:

image.png

然后我们通过以下几个步骤进行漏洞利用,在第一个布局中,我们得出Slot B与Slot C的index值:

image.png

随之我们将slot B填入相同大小的AGXGLContext对象,然后再次利用漏洞泄露出其vtable的第四位:

image.png

image.png

最后我们通过将Slot C释放并填入AGXGLContext对象,将其原本0×568偏移的AGXAccelerator对象改为我们可控的内存值,实现代码执行:

image.png

最后,整个利用流程总结如下:

image.png

image.png

在通过一系列ROP后,我们最终拿到了TFP0,但这离越狱还有一段距离:绕过AMFI,rootfs的读写挂载、AMCC/KPP绕过工作都需要做,由于这些绕过技术都有公开资料可以查询,我们这里不作详细讨论:

image.png

image.png

最后,我们对整条攻击链作了总结:

  • 在iOS 11的第一个版本发布后,我们的DMA映射漏洞被修复;
  • 但是苹果图形组件中的越界写漏洞并没有被修复;
  • 这是一个”设计安全,但实现并不安全”的典型案例,通过这一系列问题,我们将这些问题串联起来实现了复杂的攻击;
  • 也许目前即便越界写漏洞不修复,我们也无法破坏重新建立起来的只读内存可信边界;
  • 但是至少,我们通过这篇文章,证明了可信边界是可以被打破的,因为用户态只读映射是”危险”的;
  • 也许在未来的某一天,另一个漏洞的发现又彻底破坏了这样的可信边界,配合这个越界写漏洞将整个攻击链再次复活。这是完全有可能的。

image.png

image.png

【编辑推荐】

  1. BlackHat 2018带来10大网络安全热点趋势
  2. BlackHat 2018 | 热点议题前瞻,今年的猛料都在这儿!
  3. BlackHat 2018 | 华硕和华擎产品的固件更新机制存在漏洞,可被植入恶意代码
  4. BlackHat 2018 | 混合信号无线芯片面临边信道攻击威胁
  5. BlackHat 2018 | 研究员演示轻松突破绕过macOS防火墙
【责任编辑:赵宁宁 TEL:(010)68476606】
点赞 0

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读