2018年1月曝光的两个处理器高危漏洞——Meltdown和Spectre震惊了整个计算机行业。攻击者可以绕过内存访问的安全隔离机制,使用恶意程序来获取操作系统和其他程序的被保护数据,造成内存敏感信息泄露。

这些漏洞源于现代CPU的一种称为“推测执行”的性能特性,而缓解这些漏洞需要历史上最大规模的补丁协调工作,涉及CPU制造商、设备制造商和操作系统供应商。

还有多少“Meltdown与Spectre”漏洞?

Meltdown和Spectre并非首个由硬件设计导致的漏洞,但其广泛影响引起了安全研究界对此类漏洞的兴趣。自那以来,学术界和安全企业研究人员一直在研究CPU及其他硬件组件的低级操作,并发现了越来越多的问题和漏洞。

有些硬件漏洞的缓解需要更换硬件,有些则可以通过固件升级进行修复。无论哪种情况,硬件漏洞补丁的开发和部署并非易事,这意味着此类漏洞的威胁往往会长期存在。

主要CPU和DRAM漏洞清单

以下是Meltdown之前和之后发现的一些最重要的CPU和DRAM漏洞,其中包括32个CPU漏洞(cexindaogongji)和7个DRAM漏洞。

大多数Passkey实现可被绕过

  • Spectre Variant 1(CVE-2017-5753):允许攻击者利用现代CPU的分支预测功能,通过CPU缓存作为侧信道,从其他进程的内存中提取信息。影响Intel、IBM和部分ARMCPU。

  • Spectre Variant 2(CVE-2017-5715):与Variant1有相同影响,但使用不同的利用技术(分支目标注入)。有效缓解该漏洞需要更新受影响的CPU微码。

  • Meltdown Variant 3(CVE-2017-5754):利用现代IntelCPU的乱序执行能力,允许用户进程跨安全边界读取受保护的内核内存。修复仅需要操作系统更新,并通过机制如Linux的内核页表隔离(KPTI)来加强内核内存的隔离。

  • Meltdown-GP (CVE-2018-3640):利用对系统寄存器的推测读取来实现侧信道信息泄露。

  • Meltdown-NM (CVE-2018-3665):与Meltdown相关,可用于泄露浮点单元(FPU)的状态,FPU是Intel现代CPU中的专用数学协处理器。

  • Spectre-NG (CVE-2018-3639):允许在之前的内存写地址未知时进行内存读取,可用于泄露跨进程信息。

  • Spectre-PHT(CVE-2018-3693):也称为Spectre1.1,是Spectre的一个变种,利用推测存储来创建推测缓冲区溢出。它允许绕过一些以前基于软件的Spectre缓解措施,并且需要操作系统更新。

  • Meldown-RW:也称为Spectre1.2,是一种利用推测存储来覆盖只读数据和代码指针的变体。此变体可用于破坏软件沙盒,与Spectre1.1相关。缓解措施需要操作系统更新。

  • Foreshadow系列(包括Foreshadow-OS,Foreshadow-VMM,Foreshadow-SGX):针对IntelCPU的推测执行攻击,允许从处理器的L1数据缓存中提取信息,对虚拟机和SGX环境尤其敏感。

  • Fallout(CVE-2018-12126),RIDL(CVE-2018-12127,CVE-2018-12130),Zombieload(CVE-2019-11091):都属于微架构数据采样(MDS)攻击的一类,可泄露敏感的内核或虚拟机监控程序内存。

  • Starbleed:Xilinx FPGA的比特流加密过程中的设计缺陷,允许攻击者解密并修改比特流。

  • PLATYPUS:利用Intel CPU中的运行平均功率限制(RAPL)接口进行远程差分功耗分析攻击,可泄露Linux内核内存和Intel SGX安全飞地的加密密钥。

  • SRBDS(CVE-2020-0543):展示了跨CPU核心通过侧信道泄露数据的推测执行攻击的可能性。

  • Spectre-BHI(CVE-2022-0001,CVE-2022-0002,CVE-2022-23960):Spectre v2的变种,通过污染CPU预测器的全局历史来绕过硬件防御。

  • Retbleed(CVE-2022-29901,CVE-2022-29900):利用Intel和AMDCPU的推测执行特性,绕过操作系统为防止之前漏洞(如Spectre)而实施的软件防御。

  • Hertzbleed(CVE-2022-23823,CVE-2022-24436):利用现代CPU的动态频率缩放特性,通过远程定时分析泄露信息。

7种DRAM内存攻击漏洞

  • Rowhammer:通过反复快速读取同一物理内存行的物理效应,导致相邻行的数据位翻转。

  • Rowhammer.js:通过JavaScript实现的Rowhammer攻击,证明该漏洞可通过浏览器远程利用。

  • Drammer(CVE-2016-6728):针对Android设备的Rowhammer类型利用。

  • Flip Feng Shui:针对虚拟机的Rowhammer攻击,允许恶意访客VM以可控方式翻转另一个虚拟机的物理内存位。

  • ECCploit:展示了对包含错误纠正代码(ECC)功能的SDRAM芯片的Rowhammer类型攻击。

  • Throwhammer:利用远程直接内存访问(RDMA)功能在网络上实施Rowhammer攻击。

  • RAMBleed:首次展示了使用Rowhammer效应从内存单元中窃取数据(而不仅仅是修改数据)的攻击。

硬件漏洞“大家族”的发展壮大不断提醒我们,硬件安全是一个高度复杂动态发展的领域,需要持续的研究和更新来应对不断出现的威胁。

参考链接:

https://www.csoonline.com/article/567525/hardware-and-firmware-vulnerabilities-a-guide-to-the-threats.html

声明:本文来自GoUpSec,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。