英特尔又双叒叕曝出漏洞了。
根据 The Register 1 月 2 日报道,英特尔处理器存在一个底层设计缺陷,要解决这一芯片级漏洞问题,需要重新设计 Windows、Linux 内核系统。
此次英特尔所曝出的芯片级漏洞,无法通过微代码更新进行弥补,而是需要操作系统厂商一同来修补(当然土豪可以随意一些,直接换没有漏洞的新处理器)。
为了补上漏洞,Windows、Linux 等操作系统也需要更新,但这会影响英特尔产品的性能,导致英特尔芯片处理速度放慢 5 % 至 30%,具体情况取决于相关任务和处理器型号。
雷锋网发现这次部分苹果用户也要遭殃,由于这一漏洞存在于英特尔的 x86 芯片中,苹果 64 位 macOS 等系统也需进行类似更新。
目前工程师们正加紧检修开源的 Linux 内核虚拟内存系统,与此同时,微软预计将在下周二发布的补丁中对 Windows 操作系统进行调整。目前,这些调整已在 2017 年11、12 月提供给 Windows 内部版本的测试员。
雷锋网发现,这一缺陷存在于英特尔过去十年生产的处理器中,攻击者可通过这一漏洞深入到内核访问内存内容。要知道内核的内存空间中包含用户的各种密码,登陆密匙,磁盘缓存文件等。
试想黑客只要在 Web 浏览器中运行的 JavaScript 代码或者在公共服务器上运行恶意软件就能获取这些敏感数据,多么可怕。
解决方法就是,使用所谓的内核页表隔离(KPTI)功能,将内核的内存与用户进程完全分离开来。Linux内核开发团队一度考虑过Forcefully Unmap Complete Kernel With Interrupt Trampolines(又名FUCKWIT),让你了解这个问题对开发人员来说有多烦人。
只要运行中的程序需要执行任何有用的操作,比如写入到文件或建立网络连接,它就要暂时将处理器的控制权交给内核以便执行任务。
为了尽可能快速而高效地从用户模式切换到内核模式,再切换回到用户模式,内核存在于所有进程的虚拟内存地址空间中,不过这些程序看不见内核。需要内核时,程序进行系统调用,处理器切换到内核模式,进入内核。
完成后,CPU被告知切换回到用户模式,重新进入进程。在用户模式下,内核的代码和数据依然看不见,但存在于进程的页表中。
据雷锋网了解,关于英特尔芯片内部这个漏洞的细节还处于秘而不宣的阶段,不过,对这些细节保密的禁令会在这个月初解除。针对Linux内核的补丁可供所有人查看,但是源代码中的注释已经过编辑,有意对这个问题模糊化处理。
The Register 预计微软将于下周二(即2018年1月9日)公开发布这一补丁。这些变化将出现在即将发布的Linux内核版本中,而且苹果可能在不久的将来也会对macOS做出类似的修改。
虽然补丁会对性能有所影响,但工程师们还是建议普通用户进行升级,毕竟,如果不是后果非常严重,各大厂商不会花这么大力气进行升级修补的。
消息来源:Register、云头条