硬件逆向分析
安全团队首先拆解了Traeger Grill的Wi-Fi控制器模块,发现其采用ESP32-WROVER-E芯片。PCB板上暴露的10针调试接口通过万用表测量确认与ESP32的TXD0/RXD0 UART引脚相连(存在100Ω电阻)。
通过Attify调试工具建立UART连接后,成功捕获设备启动日志:
|
|
固件提取与分析
通过将GPIO引脚接地强制进入下载模式,使用esptool.py成功提取4MB完整固件:
|
|
利用esp32_image_parser工具解析分区表后,从storage分区提取出关键证书文件:
|
|
MQTT协议逆向工程
分析发现设备采用MQTT over TLS协议与云端通信。通过复现配对流程,捕获到以下关键交互:
- 移动应用获取配对令牌:
|
|
- 烤炉通过/certs API获取设备证书:
|
|
关键授权漏洞
研究发现存在严重的设计缺陷:任何经过认证的用户都可以通过以下步骤劫持其他用户的烤炉:
- 使用合法账户获取目标烤炉的thingName(如通过Wi-Fi嗅探)
- 调用/certs API注册新证书
- 通过MQTT订阅prod/
/run_cmd主题
实际测试中,安全团队成功远程将测试烤炉温度设置为500°F并触发关机循环,证明漏洞的可利用性。
漏洞详情
主要漏洞
- CWE-285: 不当授权
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
允许攻击者完全控制任意用户的智能烤炉
辅助漏洞
-
未加密固件(CWE-311)
通过UART接口可提取包含敏感信息的明文固件 -
暴露调试接口(CWE-1191)
未防护的UART接口允许物理攻击者获取设备控制权
修复建议
- 实施严格的设备所有权验证机制
- 为MQTT主题添加用户级访问控制
- 加密固件并禁用生产设备的调试接口
- 实现证书撤销检查机制
该研究揭示了物联网设备在云端集成时常见的授权设计缺陷,强调了产品安全评审在IoT开发生命周期中的重要性。