文章参考:
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效应从内存单元中窃取数据(而不仅仅是修改数据)的攻击。
硬件漏洞“大家族”的发展壮大不断提醒我们,硬件安全是一个高度复杂动态发展的领域,需要持续的研究和更新来应对不断出现的威胁。