英特尔披露了新的处理器漏洞:L1 Terminal Fault(L1TF) aka Foreshadow。AMD 发表声明,表示它的处理器不受该漏洞影响,主要云服务供应商都已发表安全公告(AWS,Google Cloud,Azure 等)。
L1TF 是一种预测执行攻击,类似今年一月披露的 Spectre/Meltdown 漏洞,允许攻击者从 PC 或第三方云窃取敏感信息。
英特尔的软件保护扩展(SGX)功能让程序可以在英特尔处理器上建立所谓的安全区域(secure enclave)。芯片的这部分区域被围了起来,运行计算机操作系统无法访问或更改的代码。即使恶意软件或另外的威胁危及主计算机,安全区域也为敏感数据提供了避风港。但是来自世界各地五个学术机构的一群研究人员发现,虽然 SGX 基本上可以击退 Spectre 和 Meltdown 攻击,但一种相关的攻击可以绕过它的防线。他们称之为 Foreshadow 漏洞。
这类攻击,虽然对个人电脑和服务器里的英特尔 CPU 都有效,但更多的是针对服务器进行。不过现在越来越多的安全服务在尝试把 SGX 用在消费级产品里,比如说密码存储软件 1Password、端到端加密的聊天软件 Signal 等。但安全研究员表示,黑客极低可能会利用该漏洞攻击某个特定的用户,一般做法是攻击整套基础设施。
紧接着,英特尔的研究团队在此基础上又发现了两个变体。这三者一起,构成了 L1TF 系列漏洞。
CVE | Name | Severity | Score |
---|---|---|---|
CVE-2018-3615 | L1 Terminal Fault-SGX | High | 7.9 |
CVE-2018-3620 | L1 Terminal Fault-OS/ SMM | High | 7.1 |
CVE-2018-3646 | L1 Terminal Fault-VMM | High | 7.1 |
Foreshadow:最初的攻击[CVE-2018-3615],旨在获取驻留在 L1 缓存中的英特尔 SGX 数据,在这篇研究论文 https://foreshadowattack.eu/foreshadow.pdf 中有详述。
Foreshadow-NG:最初的 Foreshadow 攻击的两个变种,可获取驻留在 CPU 的 L1 缓存中的数据,包括属于信息管理模式(SMM)或操作系统内核的信息[CVE-2018-3620],或属于在主机操作系统的虚拟机监视器(VMM)上运行的虚拟机的数据[CVE-2018-3646]。两个 Foreshadow-NG 变种在这篇研究论文 https://foreshadowattack.eu/foreshadow-NG.pdf 中都有详述。
上面说到,Foreshadow 有两个变体版本,第一种设计用于提取英特尔 SGX 安全区保护的数据,第二种 Next Generation (NG) 影响虚拟机,虚拟机管理器程序,操作系统内核内存,系统管理模式内存,Foreshadow-NG 潜在可被用于读取 L1 缓存中的任何信息,读取运行在同一处理器其它线程上的虚拟机中储存的信息(因为超线程共享 L1 缓存)。最简单的解决方法显然是关闭超线程,但这无疑会带来巨大的性能开销。其它解决方案同样会带来性能开销,Linux 内核的稳定分支已经释出了补丁,详细的技术细节可浏览 LWN 的分析。
英特尔正在为 Foreshadow 发布可解决软件问题和微代码(硬件)问题的缓解措施,该公司已开始分发微代码修复程序,作为5月份/6月份发布版的一部分,并与包括微软在内的众多主要开发商在整个软件生态系统层面展开协调,今天就开始分发补丁。预计 Linux 也将开始收到修复程序。英特尔坚称,这项研究虽然重要,但代表了实际上极其有限的风险。
英特尔在一份声明中说:“L1 Terminal Fault 可通过今年初发布的微代码更新,以及今天开始发布的针对操作系统和虚拟机管理程序软件的相应更新加以解决。”英特尔需要迅速而彻底地打补丁的一个原因是,该公司发现更多的处理器系统容易受到 Foreshadow 类型的攻击。安全区域相当于计算机里面的计算机,因此有理由相信 Foreshadow 攻击实际上适用于具有类似特征的其他部件或功能。比如说,Foreshadow 可能侵蚀虚拟机(共享相同硬件的不同计算环境)之间的隔离。这可能给云公司带来重大风险 —— 云公司使用虚拟机让客户可以共享其基础设施。
最后附上受影响的英特尔产品
-
Intel® Core™ i3处理器(45nm 和 32nm)
-
Intel® Core™ i5处理器(45nm 和 32nm)
-
Intel® Core™ i7 处理器 (45nm 和 32nm)
-
Intel® Core™ M 处理器系列(45nm 和 32nm)
-
第2代Intel® Core™处理器
-
第3代Intel® Core™处理器
-
第4代Intel® Core™处理器
-
第5代Intel® Core™处理器
-
第6代Intel® Core™处理器
-
第7代Intel® Core™处理器
-
第8代Intel® Core™处理器
-
Intel® Core™ X-系列处理器系列,面向 Intel® X99 平台
-
Intel® Core™ X-系列处理器 系列,面向 Intel® X299 平台
-
Intel® Xeon® 处理器 3400系列
-
Intel® Xeon® 处理器 3600系列
-
Intel® Xeon® 处理器 5500系列
-
Intel® Xeon® 处理器 5600系列
-
Intel® Xeon® 处理器 6500系列
-
Intel® Xeon® 处理器 7500系列
-
Intel® Xeon® 处理器 E3系列
-
Intel® Xeon® 处理器 E3 v2系列
-
Intel® Xeon® 处理器 E3 v3系列
-
Intel® Xeon® 处理器 E3 v4系列
-
Intel® Xeon® 处理器 E3 v5系列
-
Intel® Xeon® 处理器 E3 v6系列
-
Intel® Xeon® 处理器 E5系列
-
Intel® Xeon® 处理器 E5 v2系列
-
Intel® Xeon® 处理器 E5 v3系列
-
Intel® Xeon® 处理器 E5 v4系列
-
Intel® Xeon® 处理器 E7系列
-
Intel® Xeon® 处理器 E7 v2系列
-
Intel® Xeon® 处理器 E7 v3系列
-
Intel® Xeon® 处理器 E7 v4系列
-
Intel® Xeon® 处理器可扩展系列
-
Intel® Xeon® 处理器 D(1500 和 2100)