Off-By-One 2024大会徽章硬件CTF挑战
引言
我们如期在活动结束一个月后发布徽章固件和本文,让感兴趣的参与者可以继续探索。章鱼徽章作为Off-By-One 2024大会的亮点,内置了以硬件为核心的CTF挑战。本文将深入解析徽章的设计过程和技术实现。
硬件设计
徽章采用ESP32-S3作为主处理器,驱动两个GC9A01 OLED显示屏作为章鱼眼睛。用户可通过物理按钮和方向摇杆交互,ATmega328P协处理器通过I2C协议通信。电路设计使用KiCad完成,提供三种配色版本区分参会者身份。
硬件CTF挑战
1. USB字符串描述符
欢迎flag隐藏在USB描述符中,可通过Linux的dmesg或Windows设备管理器查看:
|
|
2. C编译内部库
flaglib模块通过MicroPython REPL暴露:
|
|
由于未加密的固件存储,可通过esptool.py提取闪存内容:
|
|
3. 硬件随机数生成器
通过分析roulette.mpy文件发现,RNG使用ADC噪声作为熵源。将指定引脚接地可控制随机数生成:
4. Arduino协处理器
I2C总线上的0x30地址直接返回flag:
|
|
5. 时序攻击
0x31地址需要精确控制读取时机:
|
|
通过200-220ms的精细控制逐字符获取flag。
6. 电压毛刺攻击
Arduino的UART端口显示验证代码:
|
|
通过精确控制电源通断制造指令跳过:
|
|
成功时显示:
|
|
结语
该徽章设计成功展示了嵌入式系统安全的关键技术,包括硬件接口分析、固件提取、物理层攻击等,为参会者提供了宝贵的硬件安全实践机会。