据外媒消息,英特尔公司处理器(CPU)日前爆出一个严重安全漏洞,该漏洞是由芯片设计问题所致,无法通过修改处理器微代码(microcode)解决,只能在操作系统层面屏蔽,目前的解决方案,将导致电脑性能下降,最高下降幅度高达三成。
据了解,由于该漏洞存在,普通程序也可以访问任意内存区域,包括受保护的内核页表信息,利用这一漏洞可以让部分内核保护机制失效,波及到的应用涵盖数据中心应用程序到 JavaScript 支撑的 Web 浏览器,受影响的操作系统则有 Windows、Linux 和 macOS 等。
这一漏洞存在于英特尔公司在过去十年生产的 x86 处理器中,该漏洞威胁到包括亚马逊、微软和谷歌在内的云计算厂商和数以亿计的个人电脑用户。
目前,英特尔这一漏洞获得了一个“保护期”,即漏洞信息尚未在网络上被公开,英特尔、微软、苹果等公司正在加班加点研究解决办法,由于无法通过修改微代码解决,在操作系统层面屏蔽这一漏洞须付出性能代价。目前 Linux 的解决方法是重新设计页表,此前普通程序和内核程序共用页表,靠 CPU 来阻止普通程序的越权访问。补丁方案是让内核使用另外一个页表,而普通程序的页表中只保留一些必要的内核信息。每次普通程序和内核程序之间的切换都需要切换页表,引起 CPU 的 TLB 缓存刷新。TLB 缓存刷新相对正常指令来说是非常耗时的,因此会降低系统的效率。
一位名叫 Dave Hansen 的 Linux 内核开发人员(效力于英特尔公司)在文章中表示,Linux 内核中进行的修补将会影响所有的操作系统工作,大部分软件运行将会出现“个位数下滑”(10%以下),典型的性能下降幅度为 5%。而在联网功能方面,性能下降最大幅度为 30%。据悉,修补这一漏洞的补丁将会影响到系统调用的底层功能,因此将影响到软件编译,虚拟机运行等。
Phoronix 网站测试结果显示,IO 性能几乎下降了 50%,编译性能下降了接近 30%,PostgreSQL 和 Redis 也有差不多 20%的性能下跌。游戏性能似乎影响不大。
部分应用受影响状况
游戏受影响较小
12 月 26 日,AMD 的 Tom Lendacky 发文表示,英特尔此次遇到的页表隔离漏洞(Page Table Isolation,简称 PTI)并不会发生在 AMD 处理器上。他说:“AMD 架构不允许包括推测引用(speculative reference)在内的存储引用,所以 AMD 处理器不会遇到 PTI 问题。”
当前补丁假定所有 X86CPU 都有问题
但 Phoronix 网站最新文章指出,Linux 最新补丁中,将 AMD 处理器也视为“不安全的处理器”,所以改版补丁下,AMD 处理器同样会性能下降。
AMD 处理器也被假定有问题
由于此次波及产品范围过大,以每年两亿台 PC 出货计算(英特尔约 80%占市场份额),至少影响 16 亿台电脑,英特尔不可能进行召回,有可能对部分企业用户进行赔偿,个人用户即便集体诉讼,也可能难以获得赔偿。
有业内人士表示,这个漏洞的影响,堪比 20 多年前奔腾浮点计算 bug,而该漏洞累积十余年都没有发现,从侧面说明长期垄断地位让英特尔产生了懈怠。
阅读全文