便携式路由器的安全性研究
字数 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. 硬件采集步骤

  1. 识别芯片

    • 主板中央大芯片为处理器,小芯片为EEPROM(存储固件),可能还有RAM芯片。
    • 使用显微镜确认芯片型号(如GD21Q16(B)),搜索数据表以确定引脚定义。
  2. 连接EEPROM

    • 通过SOIC夹子连接EEPROM的8个引脚(引脚1通过芯片上的点标识)。
    • 映射EEPROM引脚到SPI接口(参考数据表):
      • MOSI(主出从入)、MISO(主入从出)、SCK(时钟)、CS(片选)、GND(地线)、VCC(电源)。
  3. 设备连接

    • Shikra:按SPI引脚图连接跳线(确保MOSI-MOSI、MISO-MISO等对应)。
    • Bus Pirate:需更新固件至最新版本(v3.6更稳定)。

4. 固件提取

  1. Linux环境配置

    • 安装Flashrom:sudo apt-get install flashrom
    • 检测设备:dmesg | grep tty,确认Shikra位于ttyUSB0
  2. 转储命令

    flashrom -p ft2232_spi:type=232H -r spidump.bin
    
    • 若使用Bus Pirate,需更长时间,可能提示错误但仍可完成。
  3. 验证固件

    • 对比制造商官网固件,分析旧版本漏洞(如未修复的漏洞点)。

5. 常见问题与解决

  • 引脚接触不良:用显微镜检查夹子是否对准芯片引脚。
  • 芯片型号未知:尝试通用EEPROM数据表(如Gigadevice系列)。
  • Flashrom报错:检查SPI引脚映射或更换工具(如Shikra替代Bus Pirate)。

6. 后续分析方向

  1. 固件逆向
    • 使用Binwalk提取文件系统,分析敏感文件(如/etc/shadow)。
  2. 漏洞挖掘
    • 对比新旧固件,定位补丁差异(如CVE漏洞修复点)。
  3. 硬件后门检测
    • 搜索隐藏串口/UART接口,检查调试模式。

7. 参考资源


:操作需谨慎,避免损坏硬件。建议在实验前备份原始固件。

便携式路由器硬件安全研究教学文档 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 。 转储命令 : 若使用Bus Pirate,需更长时间,可能提示错误但仍可完成。 验证固件 : 对比制造商官网固件,分析旧版本漏洞(如未修复的漏洞点)。 5. 常见问题与解决 引脚接触不良 :用显微镜检查夹子是否对准芯片引脚。 芯片型号未知 :尝试通用EEPROM数据表(如Gigadevice系列)。 Flashrom报错 :检查SPI引脚映射或更换工具(如Shikra替代Bus Pirate)。 6. 后续分析方向 固件逆向 : 使用Binwalk提取文件系统,分析敏感文件(如 /etc/shadow )。 漏洞挖掘 : 对比新旧固件,定位补丁差异(如CVE漏洞修复点)。 硬件后门检测 : 搜索隐藏串口/UART接口,检查调试模式。 7. 参考资源 原文链接: Malwarebytes Blog 工具购买: Bus Pirate: Dangerous Prototypes Shikra: Xipiter 注 :操作需谨慎,避免损坏硬件。建议在实验前备份原始固件。