为什么 Meltdown 和 Spectre 错误这么长时间都没有被发现?
这些错误已经存在于 CPU 中近 20 年了,考虑到对所有使用这些处理器的计算机造成的严重影响,为什么不早点发现呢?
它们被放在那里。我的意思是真的,你相信什么?难道芯片的设计者只是碰巧错过了这个明显的恶意后门颠覆漏洞?或者事实上它们被放在那里是有目的的?现在,您认为所有公司中的谷歌如果没有另一个入口点,会暴露这样的漏洞吗?
答案非常简单:现代 CPU 拥有数十亿个晶体管。例如,最新的英特尔 Skylake 架构的容量约为 20 亿。每个晶体管可能具有影响其他晶体管状态的状态(即这些晶体管以某种方式连接)。
基本上,这意味着现代 CPU 存在多种可能的排列或状态,我们根本无法在一生中进行测试。因此,我们(或者更确切地说是生产者)仅测试某些状态和某些场景,从而为危险的极端情况留下了潜在的空间。
Spectre 和 Meltdowns 是未经测试的极端情况,但由于现代 CPU 的复杂性,可能还有更多情况。