信用卡终端上的根 Shell

主要观点:

  • 作者因支付卡终端的高风险而开始逆向工程,该终端在瑞士随处可见,模型为 Worldline Yomani XR 终端,其硬件设计包括多个 PCB 板。
  • 设备有防篡改保护措施,如通过板间互连、锯齿形轨迹等检测设备是否被打开,作者拆除设备后触发了篡改事件,设备显示“TAMPER DETECTED”。
  • 作者拆下板载闪存芯片提取固件,发现内容未加密但有奇怪的 ECC 布局,通过修补 YAFFS2 文件系统成功读取文件系统内容,确定设备运行 Linux 系统及相关版本信息。
  • 意外发现设备的 Linux 系统有串口控制台,无需复杂攻击链或破解密码即可获得 root 权限,且串口从外部即可访问,这存在很大安全隐患。
  • 分析发现设备有两个处理器,Linux 系统(mp2)处理网络、更新和业务逻辑,独立的“mp1”处理器处理“安全”事务,如处理卡、获取密码等,且安全图像有加密签名。
  • 披露时间表显示 2024 年 11 月 14 日发现 root 壳,15 日通知制造商 90 天内不发布,18 日制造商确认收到报告,2025 年 6 月 1 日发布。
  • 结论认为暴露的 root 壳虽存在安全风险,但未发现敏感数据会因此泄露,也不确定哪些固件版本存在漏洞,作者希望有更多时间深入研究。

关键信息:

  • Worldline Yomani XR 终端模型,瑞士广泛使用。
  • 防篡改保护机制,包括板间互连、锯齿形轨迹等。
  • 未加密但有特殊 ECC 布局的固件及成功读取文件系统内容。
  • 可通过串口控制台获得 root 权限且串口可从外部访问。
  • 设备有两个处理器,分别处理不同事务。
  • 披露时间表及最终结论。

重要细节:

  • 作者拆除设备时因未拧紧螺丝触发篡改检测。
  • 固件内容布局为 3x694 字节数据块后接 10 个 ECC 字节,最后 16 字节为 YAFFS2 文件系统元数据。
  • 设备运行 3.6 内核,使用 Buildroot 2010.02 构建,用户空间使用经典 init 脚本、busybox 和 uClibc 。
  • 制造商在 2025 年 6 月 1 日前收到报告并确认。
  • 作者希望有人能继续深入研究该项目。
阅读 10
0 条评论