Breaking the Sound Barrier Part I: Fuzzing CoreAudio with Mach Messages
a year ago
- #MacOS
- #Fuzzing
- #Security
- Dillon Franke(高级安全工程师)的客座文章,探讨MacOS安全研究
- 探索将Mach IPC消息作为沙箱逃逸攻击向量的可能性
- 使用自定义模糊测试工具、动态插桩和调试技术来识别漏洞
- 在coreaudiod系统守护进程中发现高危类型混淆漏洞
- 在GitHub上开源模糊测试工具和测试框架
- 采用结合自动化与人工分析的知识驱动型模糊测试方法
- 研究周期详细步骤:确定攻击向量→选择目标→创建框架→模糊测试→分析→迭代
- 聚焦Mach消息因其历史安全问题和在MacOS IPC中的核心作用
- 选择coreaudiod守护进程作为目标因其复杂性和可从沙盒进程访问的特性
- 创建直接调用Mach消息处理程序的模糊测试框架以提高效率
- 目标初始化和有状态消息处理器处理方面的挑战
- 运用API调用链技术管理相互依赖的Mach消息处理器
- 通过模拟非必要功能来集中模糊测试资源
- 改进样本结构以通过语法检查和处理OOL数据
- 在多个Mach消息处理器中发现类型混淆漏洞
- 通过mach_msg API演示漏洞可利用性的概念验证
- 苹果公司通过添加类型检查修补该漏洞
- 预防类似漏洞的未来建议