iOS安全:沙箱机制与模糊测试全解析
1. iOS沙箱机制概述
iOS沙箱旨在通过基于进程正常运行所需的权限对其施加限制,来限制代码执行后的利用行为以及来自App Store的恶意软件。App Store应用通过此功能实现隔离,超过40个预装的平台应用(如MobileSafari和MobileMail)拥有自定义配置文件,限制其可用操作。
沙箱系统的主要组件通过一个内核扩展实现,该扩展暴露了一个TrustedBSD策略。内核扩展将进程置于一个由特定领域语言编写的Scheme脚本描述的沙箱中。这个配置文件会根据其属性(如vnode路径或端口号)提炼为决策树过滤操作,最终决定允许或拒绝操作。配置文件在运行时可以有限地扩展。
在越狱设备中,当前的越狱补丁会破坏平台应用的沙箱机制。可以通过在kernelcache中查找 “Sandbox: ignoring builtin profile …” 字符串,找到其中一个补丁。例如,redsn0w 0.9.9b7的cred_label_update_execve补丁,通过将字节修改为01 23 01 23,强制进行调试模式的sysctl检查,并确保对于不在App Store目录下的应用,沙箱配置文件被忽略。
对于攻击者而言,了解二进制配置文件的格式和评估方式,以及处理该配置文件的代码,是绕过沙箱的重要途径。同时,以评估函数为参考,将内核操作映射到SBPL操作,也是寻找沙箱逃逸的另一条有价值的路径。
2. 模糊测试的基本概念
在对iOS设备进行远程利用时,首要步骤是发现其中的安全漏洞。攻击者有多种方式向iOS设备提供数据,包括服务器端威胁(如mDNSresponder、无线和蓝牙栈,
超级会员免费看
订阅专栏 解锁全文
471

被折叠的 条评论
为什么被折叠?



