陈徐毅
2018年席卷全球的“芯片漏洞门”事件让人们神经紧绷,行业各方、各个IT领域都受到了不同程度的影响。Meltdown(熔断)和Spectre(幽灵)两组漏洞是这起事件的罪魁祸首,它们暴露了现代处理器的先天设计缺陷,允许黑客突破操作系统和用户、进程间的隔离,从被攻击系统内存获取敏感数据。
随着两组处理器漏洞事件的发展和愈演愈烈,英特尔、AMD的市值缩水,笼罩着CES 2018展会上空的阴霾,苹果公司遭遇多地集体诉讼,一系列的问题仍在发酵,麻烦正不断增多,整个业界从未感受到有史以来源自芯片安全的巨大压力。
芯片门的起因
1月3日,安全小组Google Project Zero的研究员Jann Horn在其组织官博上公布了两组芯片漏洞Meltdown和Spectre,分别对应全球统一漏洞库的CVE-2017-5754、CVE-2017-5753/CVE-2017-5715。Meltdown的发现者包括三个独立小组,Cyberus Technology小组、格拉茨技术大学研究小组得出相似结论。
两组漏洞的起因皆为芯片厂商长期为提高CPU执行效率而引入的两个特征:Out-of-Order Execution(乱序执行)和Speculative Execution(推测执行)。人类将二十世纪工程学的伟大思想运用到计算机科学上,现代处理器为了提高执行效率有别于早期处理器的顺序指令执行,对指令执行进行相关性分析后进行乱序并行处理,这大大提高了CPU的性能。这种设计思想有赖于英特尔处理器的三级缓存构架,线程之间共享缓存的设计。
为了确保并行执行的准确性,处理器对执行指令进行安全检查,只有符合当前用户权限的指令才能被执行。然而这里有一个窗口期,在并行执行的一段过程中,被加载到缓存的指令并不会接受安全检查,而那些被丢弃的指令也不会在缓存中被重置。推测执行在性能提升的方法上有别于乱序执行,但是指令在缓存中的状态却是相似的。因此,缓存中的对象就成了著名的侧信道攻击的目标。攻击者通过非正面推测缓存中的信息,以此获得隐私数据。
行业各方措手不及
据称,Jann Horn于2017年6月分别向三大芯片制造商报告了这一问题,可能是基于投资者和股东压力,芯片商的答复比较含糊,处理结果也比较糟糕,直到今年1月漏洞曝光,一石激起千层浪,铺天盖地的麻烦接踵而至,终于谁都躲不过了。
起初英特尔首当其冲,老同行AMD则初步调查后声称有别于英特尔处理器的不同架构,这次安全漏洞对自家处理器产品的影响几乎为零。然而很快一记重拳就打在AMD的脸上,漏洞发布者和测试研究员旋即宣布AMD处理器同样受到影响,同时ARM、英伟达无一幸免。英特尔CEO科再奇发布公开信,呼吁所有芯片商与相关的行业各方联手共渡难关。这一次它们终于“乖乖站好”齐心协力。
事件发酵数日后,英特尔宣布针对各大操作系统发布了更新,这些更新将覆盖近5年来超过90%的英特尔芯片产品。AMD则从一开始咬住“架构不同”不松口到慢慢承认“可能会受到Spectre的影响”,然后默默更新补丁。影响最大的云端Linux各发行版相继发布内核安全补丁,为抢救Windows 10的微软同样忙得急火燎原。谷歌则宣布对部分自家产品作出了“优雅地回避”,但未公布具体细节。2018 CES上各位巨头一脸疲态,大伙相视而(苦)笑。
芯片门的影响
1月的業界身“芯”疲惫,Meltdown和Spectre一跃成为史上影响最深刻、最广泛的史诗级安全漏洞,虽然至今还没有一起关于该漏洞引发的安全实例,但是它的影响力和波及范围足以令整个业界瑟瑟发抖。
Meltdown和Spectre同时影响1995年之后除2013年之前安腾、凌动之外的全系英特尔处理器,后者还影响AMD、ARM、英伟达的芯片产品,几乎波及整个计算机处理器世界。受影响的操作系统包括Windows、Linux、Mac OS、Android。科技企业重灾区还包括微软、亚马逊、谷歌这类云计算大户。
近期厂商更新的相应补丁虽解燃眉之急,但对处理器性能造成了最高30%的降速影响,这一结果相当于让全球CPU技术进程倒退至少五年。
今年2月底,英特尔提供了针对Skylake架构处理器的新微代码,它适用于Skylake变种处理器以及之后的主流芯片漏洞的修复,其中Skylake、 Kaby Lake、Coffee Lake处理器存在的“幽灵”(Spectre)漏洞包括变种漏洞都能得到修复。这也是迄今为止业界所获悉关于解决漏洞门问题最好的消息。
除了被迫在性能和安全之间作权衡之外,更重要的是,芯片安全已经撼动了迄今为止的原始计算机架构本身。二十一世纪人类亟需算力资源以求发展当下生机蓬勃的人工智能等技术之时,关于现代计算机架构重构的声音历经半个多世纪或将再次浮上水面。