机器之心报道,参与:李泽南、路。
谷歌 Zero 团队在 2018 年初爆出的 Meltdown 和 Spectre 处理器漏洞引起了科技界的轩然大波,这些漏洞影响了所有的现代英特尔处理器,而 Spectre 还影响了 AMD 处理器和很多 ARM 内核的产品。英特尔为修复漏洞研发的补丁已经在推出过程中,然而与其匹配的软件使用许可协议却再一次引发了争议。
这一次,英特尔的 CPU 微码许可协议中包含了「禁止用户跑分」条款。这意味着人们使用任何 Benchmark 软件对自己的 CPU 进行评测,并将分数和对比结果公布成为了「非法」动作。
近日,英特尔正在更新旗下 CPU 的可加载微码,来应对多种侧通道和 timing 攻击。同时,这家芯片巨头也推出了适用于新版微码的许可协议:
你不能,也不能允许任何第三方:
(i)使用、复制、分发、出售或提供本软件或相关文档;
(ii)修改、改编、增加、反汇编、反编译、逆向工程、更改或创建本软件的衍生作品,除非且仅在强制适用法律或本软件随附的适用第三方许可条款明确要求的范围内;
(iii)让第三方使用或经由本软件获益;
(iv)在你自己的产品中使用本软件,而非英特尔硬件或平台,或软件中标识的软件;
(v)发布或提供任何软件基准评测,或对比测试结果。
由于微码运行在每条指令之上,这似乎意味着该软件使用条款适用于整个处理器。所以,现在英特尔完全禁止运行基准测试软件了,即使是在你自己的软件上运行也不可以——如果你想「提供」或者公布测试结果的话。
众所周知,针对「Meltdown」和「Specter」漏洞的修复补丁会显著降低英特尔处理器的性能,这不仅会让消费者感到失望,降低英特尔的声望,甚至还会导致针对于此的诉讼。如果基于安全考虑,让处理器的性能直接降低 5-10%,这对于很多服务器拥有者和云服务提供商来说是一个巨大的麻烦。不过在此问题上,我们不能责怪英特尔——毕竟这是一个难以预料的问题。而且,AMD 和 ARM 的 CPU 也出现了类似问题。但对于客户而言,损失就是损失。
另一个问题是客户是否应该安装修复程序。很多计算机用户不允许外来或非特权用户在自己的 CPU 上像在云或托管公司上那样运行。对于他们来说,这些侧通道和 timing 攻击无关紧要,而安装修复程序造成的速度降低则是不必要的。
因此,很多人对微码修复程序造成的速度损失很感兴趣,现在英特尔尝试通过许可证限制,阻止任何人收集报告此类损失的信息。这不得不说是一个让人讨厌的动作。处理安全问题的正确方式是承认所造成的损害、发布缓解办法,从而维护用户。隐瞒用户的受损状况是不可接受的。而禁止用户自由发布基准评测?这或许会是一个让客户丧失信任的行为。
英特尔这次的特殊举动引起了人们的广泛议论。很多人认为这就是英特尔针对安装补丁之后 CPU 性能下降的「补救方法」。
在 HackerNews 上,网友 headmelted 对此评论道:
在 Zen 处理器之前,我们都认为英特尔处于大大超前的位置,而 AMD 风雨飘摇。
我事实上认为英特尔一定会玩一些把戏,比如我们从没见过的性能收益,因为没有市场需要他们,他们很多年来都只靠着边际收益而已。
看到他们采取这个立场,似乎微码受攻击非常糟糕,「国王没有穿衣服」。
很明显,他们无法回应 AMD。如果一切属实,他们的股东应该严肃询问为何这么长时间什么事都没有做,以及在没有强大竞争对手的情况下钱都花到哪里去了。
而另一些网友则对英特尔的行动表示了嫌恶,johnklos 就问道:
我真的很好奇,英特尔是如何想像跑分也是能被强行禁止的。例如,如果我拥有一台服务器,很多其上的用户拥有 shell 访问权限,我难道应该禁止我的用户发布 Benchmark 分数吗?如果他们这么做了,我是否会因为我「同意」了这一条例而承担责任?或者说责任在于哪些用户,尽管他们从未「同意」这一使用许可?我觉得这种条款根本没有意义。
在遭受争议之后,英特尔官方很快做出了反应,表示:「我们现在正在更新许可证以解决此问题,并将很快推出新版本。作为开源社区的积极成员,我们继续欢迎人们的所有反馈。」
看来,在 CPU 漏洞危机过后,英特尔还有很多事情要做。