英特尔处理器爆严重安全漏洞,软件修复补丁将会严重降低性能。
最近爆出英特尔近十多年来设计的X86处理器均有重大安全漏洞,会导致任意非内核程序可以通过缓存读取到任意内核内存数据。
目前这个漏洞的具体细节还处于保密期间,以防不法分子利用漏洞进行攻击。本周四保密协议到期后估计会揭秘。但是业内开发者从很多细节已经分析出大概的情况。
在2017年11月份左右,Linux内核开发社区突然反常的快速推出了一个新“功能”,将用户和内核内存缓存空间映射表的读取分离,而新增的功能在用户转换期间会导致一定的映射表缓存数据清零。由于现代X86处理器的构架设计,这个变化会导致性能严重下降,下降幅度从5%到50%不等。这个功能叫做Kernel Page-Table Isolation,简称KPTI.
这个事件非常反常。因为通常LINUX重大功能更新时都会有长期的探讨争论,大家都会确保讨论确定最优的方案,而且Linus很多时候会把出小错的开发者都骂得狗血喷头。而这次如此快速推出一个对CPU性能影响极大的更新,却鲜有任何人探讨此事,而且Linus一言不发,非常奇怪。
后来有心人发现与此更新有关的社区内邮件一律CC给了Intel,Google以及Amazon的高级软件人员。
于是大家怀疑有新的硬件漏洞被发现,而且开发者们受限于保密协定不能透露细节,说明问题非常严重。
随着时间推移,大家发现了更多的信息。Linux开发者们推出的KPTI代码里很多注释在Commit时被删除。但是还是有些蛛丝马迹遗留下来。比如新增的一个内核Flag被叫做“X86_BUG_CPU_INSECURE”,直接指出CPU不安全。
直到本周,才有更多的信息泄露出来。根据分析,英特尔从奔腾III之后的所有处理器所用的Branch Prediction逻辑均有重大安全漏洞,包括Core,Core 2,Core i 全系列的处理器,以及Xeon全系列处理器。此漏洞导致任何用户空间的恶意程序均可以读取内核数据,包括浏览器里运行的JavaScript。
此漏洞已经被业界人士称为本世纪以来最大的数据安全隐患。而Windows以及MacOS的安全补丁也在开发中。不过所有的软件补丁都会导致调用系统call时性能严重下降。
而AMD最近则证实AMD处理器并没有此漏洞,因为AMD处理器构架在线程调用内核缓存和内存数据前会验证权限,导致非法存取失败。因此AMD处理器不需要此补丁。
目前微软宣布将在一月十日前对所有Azure主机打上补丁,强制全部重启。而AWS也将成批修补所有主机操作系统,强制Instance重启。目前已经有零星AWS用户报告说系统被强制重启。
预计补丁在各大操作系统强制铺开后英特尔CPU性能会严重下降。
另,SEC文件显示英特尔CEO Brian Krzanich从去年10月开始大量抛售套现手中股票与期权。但目前并没有证据证明与此事件有关。
https://www.theregister.co.uk/2018/01/02/intel_cpu_design_flaw/
https://forums.anandtech.com/threads/massive-security-hole-in-xeons-incoming.2532563/
https://lkml.org/lkml/2017/12/27/2
https://news.ycombinator.com/item?id=16046636
|