AR# 76201

|

Zynq-7000 SoC 设计咨询:BootROM 和 FSBL NAND 驱动中发生缓冲器上溢

描述

从 NAND 闪存启动 Zynq-7000 SoC 器件时,BootROM 和 FSBL(2020.3 版和更低版本)中的 NAND 驱动在 NAND 参数页面 (Parameter Page) 中执行读取时不会对输入进行验证。

如果从参数页面读入的备用字节包含恶意的非法值,则会导致缓冲器上溢,从而可能导致执行任意代码。

为成功完成此攻击,需以物理方式接入装配有 Zynq-7000 SoC 器件的开发板组合件并对其进行修改,将原始 NAND 闪存替换为 NAND 闪存仿真器件。

  • 仅限使用身份验证或加密进行安全启动的 Zynq-7000 SoC 器件才会受此攻击影响。
  • 此项攻击不会影响任何其它产品系列。
重要注释:
  • BootROM 不可变。对于 BootROM 中的 NAND 驱动,上述行为将不会发生改变。
  • 对于 FSBL 的 NAND 驱动,将在 2021.1 版本中加以修复.

图 1 所示高层次汇总信息可用于判定现有系统是否受到影响。



如需了解有关如何订阅新“设计咨询”通知的更多信息,请参阅(赛灵思答复记录 18683)

解决方案

如果能以物理方式接入 Zynq-7000,请确保将篡改界限扩展至同时包含 Zynq-7000 SoC 和 NAND 接口。

其它保护措施包括:

  • 在 NAND 接口上使用盲孔和埋线,移除所有裸露在外的走线,这样即可最大程度提升连接到 NAND 接口的难度。
  • 将开发板设计为一旦与 NAND 内存断开连接,就会导致 Zynq-7000 系统永久性损坏
  • 将开发板设计为一旦连接至 NAND 接口,就会导致 Zynq-7000 系统永久性损坏
AR# 76201
日期 05/13/2021
状态 活跃
Type 设计咨询
器件
Tools
People Also Viewed