盘古越狱揭秘 王铁磊 徐 昊 盘古安全团队 上海犇众信息技术有限公司 • 盘古越狱用户态漏洞分析 • 盘古越狱内核态漏洞分析 • 总结 关于我们 • 移动安全研究团队,创建上海犇众信息技术有限公司 • 研究涉猎各种移动平台,包括Android、iOS、车联网以 及各种嵌入式设备 • 团队因多次发布针对iOS 7、8、9三代操作系统越狱工具 而闻名 • 组织一个专门针对移动平台的安全会议MOSEC 越狱设计 • 大部分iOS安全机制都在iOS内核中实现,因此越狱工具 需要通过攻击内核漏洞才能突破这些安全机制 • 沙盒执行环境仅能与有限几个内核扩展模块通信,直接攻 击内核难度很大 • 沙盒外代码执行可以获得更大的内核攻击面,但是获得沙 盒外代码执行本身不简单 盘古越狱的特色 • 通过用户态漏洞获得沙盒外代码执行 • 沙盒外任意文件读写漏洞 • 沙盒外任意代码执行漏洞 沙盒外任意文件读写漏洞 XPC进程间通信 • Mac OS/iOS上进程间通信机制,是对Mach 消息的封 装,更加简单易用 • 2011年在iOS 5版本中引入 XPC 服务端 XPC 客户端 Assetsd漏洞 • Assetsd 负责名为 com.apple.PersistentURLTranslator.Gatekeeper 的系 统服务 • Assetsd 本身位于 /System/Library/Frameworks/AssetsLibrary.framewo rk/Support/ • 任何沙盒内应用都可以与该服务通信 漏洞成因 • • Assetsd 有个公开接口,负责将指定路径的文件或者目录 转移到 /var/mobile/Media/DCIM/ 下面 Assetsd 根据xpc消息中srcPath 和 destSubdir 字段获取 源文件和目的文件路径 漏洞利用 在 srcPath/destSubdir 中使用 “../”技巧,就可以构成路径遍 历漏洞,导致任意文件读写 更多攻击场景 • 任意文件读直接导致严重隐私泄漏问题 • 任意文件写则可以被转化为安装任意App、替换系统App 等 • 参考 MalwAirDrop: Compromising iDevices via AirDrop, Mark Dowd, Ruxcon 2015 沙盒外任意代码执行 • 想法:在系统进程中注入动态链接库,从而在系统进程执行 环境中攻击内核 • 难点1:自iOS 8版本后,苹果公司设计了TEAM ID验证,这 个机制阻止系统进程加载第三方动态链接库 (除非系统进程 拥有 com.apple.private.skip-library-validation entitlement) • 难点2:自iOS 8.3版本后,动态链接器dyld忽略DYLD_* 类 型的环境变量 (除非系统进程拥有 get-task-allow entitlement) 谁拥有get-task-allow • • iOS 9 文件系统中的所有可执行文件都不具有 get-taskallow entitlement 幸好在老版本的DDI(Developer Disk Image)中找到 了vpnagent 如何上传vpnagent到设备 • • 直接加载一个老版本的DDI? iOS 9 有版本检查,老版本DDI无法被成功加载 • 但是。。。。 如何上传vpnagent到设备 • • 直接加载一个老版本的DDI? iOS 9 有版本检查,老版本DDI无法被成功加载 • • 但是。。。。 MobileStorageMounter会先将DDI中的trustcache注册 到内核,通知内核把DDI中trustcache文件里的CDHASH 值加入到可信列表中 • 结果:老版本中的vpnagent在iOS设备上具备了合法签名 调试vpnagent • 加载一个正常的DDI,使得iOS设备上有debugserver • 利用之前的XPC漏洞,将老版本的vpnagent写到一个 debugserver可以访问的位置 • 通知debugserver 调试vpnagent,设置 DYLD_INSERT_LIBRARIES环境变量,强制vpnagent加 载我们提供的动态链接库 绕过TEAM ID验证 • 在我们的dylib中,重用系统可执行文件的签名段 • 内核会误以为vpnagent加载一个系统dylib,因此不会触 发Team ID 验证失败 • 但是这个dylib会触发代码签名验证失败 get-task-allow的神奇 • • • • 为支持iOS设备调试,内核允许具有get-task-allow entitlement的进程发生代码签名错误 例如,如果调试器设置断点,这类断点本质上就会修改代 码段,导致代码签名验证失败 但是内核会允许进程继续执行 因此vpnagent加载我们dylib的时候,虽然触发了代码 签名错误,但是内核并不会终止vpnagent进程

pdf文档 2016-《王铁磊、徐昊-盘古越狱揭秘》

安全研究库 > 网络论坛材料 > 2016ISC-移动安全发展论坛 > 文档预览
30 页 0 下载 47 浏览 0 评论 0 收藏 3.0分
温馨提示:如果当前文档出现乱码或未能正常浏览,请先下载原文档进行浏览。
2016-《王铁磊、徐昊-盘古越狱揭秘》 第 1 页 2016-《王铁磊、徐昊-盘古越狱揭秘》 第 2 页 2016-《王铁磊、徐昊-盘古越狱揭秘》 第 3 页 2016-《王铁磊、徐昊-盘古越狱揭秘》 第 4 页 2016-《王铁磊、徐昊-盘古越狱揭秘》 第 5 页
下载文档到电脑,方便使用
还有 25 页可预览,继续阅读
本文档由 张玉竹2022-04-08 10:08:23上传分享
给文档打分
您好可以输入 255 个字符
安信天行文库的中文名是什么?( 答案:安信天行 )
评论列表
  • 暂时还没有评论,期待您的金玉良言