便携式路由器的安全性研究
字数 1643 2025-08-22 12:22:36
便携式路由器硬件安全研究教学文档
1. 研究目标
- 对便携式路由器进行完整的硬件安全评估,包括:
- 分析固件更新机制(比较更新前后的硬件差异)
- 检查文件系统中的安全漏洞(如后门、未文档化功能)
- 提取并逆向固件以获取完整分析视图。
2. 所需工具与设备
| 工具/设备 | 用途 |
|---|---|
| Bus Pirate v3.6 | 硬件通信工具,用于转储固件(兼容性优于v4.0)。 |
| Shikra (Xipiter) | 替代Bus Pirate,支持SPI协议,用于固件提取和对比。 |
| SOIC 8 PIN夹子 | 连接EEPROM芯片,避免拆焊(推荐高质量夹子,防止脱落)。 |
| USB显微镜 | 放大200倍,用于读取芯片标识(如SuperEyes牙科显微镜)。 |
| 跳线 | 连接夹子与诊断设备(如Shikra/Bus Pirate)。 |
| Flashrom | Linux工具,用于读取/写入SPI闪存芯片(命令:flashrom -p ft2232_spi...)。 |
3. 硬件采集步骤
-
识别芯片:
- 主板中央大芯片为处理器,小芯片为EEPROM(存储固件),可能还有RAM芯片。
- 使用显微镜确认芯片型号(如GD21Q16(B)),搜索数据表以确定引脚定义。
-
连接EEPROM:
- 通过SOIC夹子连接EEPROM的8个引脚(引脚1通过芯片上的点标识)。
- 映射EEPROM引脚到SPI接口(参考数据表):
- MOSI(主出从入)、MISO(主入从出)、SCK(时钟)、CS(片选)、GND(地线)、VCC(电源)。
-
设备连接:
- Shikra:按SPI引脚图连接跳线(确保MOSI-MOSI、MISO-MISO等对应)。
- Bus Pirate:需更新固件至最新版本(v3.6更稳定)。
4. 固件提取
-
Linux环境配置:
- 安装Flashrom:
sudo apt-get install flashrom。 - 检测设备:
dmesg | grep tty,确认Shikra位于ttyUSB0。
- 安装Flashrom:
-
转储命令:
flashrom -p ft2232_spi:type=232H -r spidump.bin- 若使用Bus Pirate,需更长时间,可能提示错误但仍可完成。
-
验证固件:
- 对比制造商官网固件,分析旧版本漏洞(如未修复的漏洞点)。
5. 常见问题与解决
- 引脚接触不良:用显微镜检查夹子是否对准芯片引脚。
- 芯片型号未知:尝试通用EEPROM数据表(如Gigadevice系列)。
- Flashrom报错:检查SPI引脚映射或更换工具(如Shikra替代Bus Pirate)。
6. 后续分析方向
- 固件逆向:
- 使用Binwalk提取文件系统,分析敏感文件(如
/etc/shadow)。
- 使用Binwalk提取文件系统,分析敏感文件(如
- 漏洞挖掘:
- 对比新旧固件,定位补丁差异(如CVE漏洞修复点)。
- 硬件后门检测:
- 搜索隐藏串口/UART接口,检查调试模式。
7. 参考资源
- 原文链接:Malwarebytes Blog
- 工具购买:
- Bus Pirate:Dangerous Prototypes
- Shikra:Xipiter
注:操作需谨慎,避免损坏硬件。建议在实验前备份原始固件。