物理黑客:点燃你的直发器
字数 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通道:接收设备响应
  • 指令格式
    • 示例: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. 攻击步骤

  1. 设备发现
    • 使用bleahnRF Connect扫描BLE设备,定位目标MAC(如F0:13:C3:00:4B:8C
  2. 指令构造
    • 温度值:十六进制转换(如150°C → 0x96
    • 时间值:分钟转十六进制(如10分钟 → 0x0A
    • 计算Checksum并拼接完整指令
  3. 发送指令
    bleah -b "F0:13:C3:00:4B:8C" -u "0783b03e-8535-b5a0-7140-a304f013c3ba" -d "0x5445EB509600052A"
    
  4. 绕过限制
    • 温度范围:50°C–235°C(超出范围无效)
    • 时间限制:≤20分钟

6. 防御建议

  • 厂商修复方案
    • 启用BLE配对认证
    • 移除日志中的敏感数据
    • 增加温度熔断硬件
  • 用户防护
    • 使用后物理断电
    • 关闭App蓝牙权限

7. 扩展思考

  • 攻击场景
    • 物理接触:通过丢弃的Log.txt获取设备MAC
    • 远程中继:劫持App与AWS的通信(利用泄露的JWT)
  • 工具链
    • 反编译:Jadx-GUI
    • 蓝牙调试:BLEAH、Wireshark(抓包分析)

8. 参考资源


注:本教学仅用于安全研究,未经授权测试他人设备属违法行为。

物理黑客:智能直发器安全分析与控制教学文档 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通道 :接收设备响应 指令格式 : 示例: 54,45,eb,50,c8,00,05,f8 (200°C,5分钟) 结构: [Header][温度值][时间][Checksum] 4. Checksum算法 Java实现 : 计算示例 : 输入: 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并拼接完整指令 发送指令 : 绕过限制 : 温度范围: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(示例) 注:本教学仅用于安全研究,未经授权测试他人设备属违法行为。