<strong>描述</strong>
从 NAND 闪存启动 Zynq-7000 SoC 器件时,BootROM 中的 NAND 驱动在 NAND 参数页面 (Parameter Page) 中执行读取时不会对输入进行验证。
如果从参数页面读入的备用字节包含恶意的非法值,则会导致缓冲器上溢,从而可能导致执行任意代码。
要成功完成此项攻击,需对 Zynq-7000 SoC 器件进行物理访问和修改,将原始 NAND 闪存替换为 NAND 闪存仿真器件。
<li>仅限使用身份验证或加密进行安全启动的 Zynq-7000 SoC 器件才会受此攻击影响。</li>
<li>此项攻击不会影响任何其它产品系列。</li>
<strong>解决方案</strong>
如果可对 Zynq-7000 进行物理访问,请确保将篡改界限扩展至同时包含 Zynq-7000 SoC 和 NAND 接口。
其它保护措施包括:
<li>在 NAND 接口上使用盲孔和埋线,移除所有裸露在外的走线,这样即可最大程度提升连接到 NAND 接口的难度。</li>
<li>将开发板设计为一旦与 NAND 内存断开连接,就会导致 Zynq-7000 系统永久性损坏</li>
<li>将开发板设计为一旦连接至 NAND 接口,就会导致 Zynq-7000 系统永久性损坏</li>