探索iOS蓝牙安全性的利器:ToothPicker
toothpicker项目地址:https://gitcode.com/gh_mirrors/to/toothpicker
在网络安全领域,我们经常需要对系统组件进行深入测试以发现潜在的安全隐患。ToothPicker就是这样一款专为iOS设计的覆盖率引导型模糊测试(fuzzer)工具,特别针对iOS的蓝牙守护进程bluetoothd
和各种蓝牙协议进行分析。其强大的功能,灵活的设计,使得它不仅可以用于iOS,还能通过FRIDA扩展到其他平台。
项目简介
ToothPicker借鉴了frizzer的基础结构,但已经进行了优化和调整,专门适应于蓝牙协议的模糊测试。该项目包括了一个空中(Over-the-Air)模糊测试器,并附带了一个针对Apple MagicPairing协议的示例实现。另外,还有一个ReplayCrashFile.py
脚本,用于验证内进程模糊测试找到的崩溃情况。
技术解析
ToothPicker依赖FRIDA的强大动态代码插桩能力,可以在运行时分析和修改应用的行为。它的内进程模糊测试器能在不同的iOS版本上工作,只需提供相应的符号文件。而使用FRIDA-Compile编译的特殊化 Harness 脚本,使得测试能够精确地针对特定的目标进行。
对于新的iOS版本,ToothPicker允许开发者通过Ghidra的版本管理工具来添加符号信息。而在资源受限的环境中,可以调整系统设置如提高bluetoothd
的优先级和内存限制,以便执行更长时间的测试。
应用场景
ToothPicker适用于多种场景:
- 安全研究: 对iOS蓝牙协议的深度安全测试。
- 漏洞发掘: 自动化地寻找
bluetoothd
以及其他蓝牙相关组件中的潜在错误。 - 设备兼容性测试: 验证不同设备与iOS设备之间的蓝牙连接稳定性。
项目特点
- 灵活性: 基于FRIDA,可扩展至任何支持FRIDA的平台。
- 针对性: 专注于iOS蓝牙守护进程
bluetoothd
及其协议的测试。 - 易用性: 提供详细的安装指南和使用说明,方便新用户快速上手。
- 性能优化: 尽管在PAC处理器(如iPhone A12+)上的性能有所降低,但仍能有效运行并产生有价值的测试结果。
如果你想深入了解iOS蓝牙安全性或参与其中,ToothPicker是一个绝佳的起点。无论是安全研究人员,还是对模糊测试感兴趣的开发者,都能从这个项目中获益良多。现在就行动起来,加入这个激动人心的探索旅程吧!
toothpicker项目地址:https://gitcode.com/gh_mirrors/to/toothpicker