在 Spectre 和 Meltdown 之前,我从未听说过用户通过固件或其他方式更新芯片上的微码。我实际上认为它被写入硅并且不可变。现在我看到很多关于这个的提及。,诸如禁用分支预测之类的事情。
这在多大程度上有先例?它是正式完成还是以其他方式完成(通过业余爱好者渠道)。例如,是否可以对英特尔芯片进行重新编程,从而禁用除 RISC 指令之外的所有指令?有没有办法验证执行的微码没有被恶意修改?
在 Spectre 和 Meltdown 之前,我从未听说过用户通过固件或其他方式更新芯片上的微码。我实际上认为它被写入硅并且不可变。现在我看到很多关于这个的提及。,诸如禁用分支预测之类的事情。
这在多大程度上有先例?它是正式完成还是以其他方式完成(通过业余爱好者渠道)。例如,是否可以对英特尔芯片进行重新编程,从而禁用除 RISC 指令之外的所有指令?有没有办法验证执行的微码没有被恶意修改?
至少从 2000 年 1 月 29 日开始,英特尔就一直在为其 CPU 发布微码更新。AMD 发布微码更新的时间相似。
从理论上讲,在芯片的能力范围内,可以对英特尔芯片进行重新编程以做任何你想做的事情。实际上,正如上述网站所指出的,微码更新似乎是使用最佳实践公钥加密进行签名的。因此,只有英特尔签名的微码更新才会被芯片接受:无论是修补者还是恶意行为者都无法提供有效的更新。
为了更清楚地表达它:限制因素很可能是“硅的能力”——除了破解上述密码学的可用可能性之外,在大多数情况下,可用资源(微码存储区和隐藏寄存器)应该非常有限的。
否则,打开微指令集并将处理器作为(新的)“带有 x86 仿真软件的 RISC 处理器”进行营销可能会更有希望。