分支预测功能利用CPU缓存作为侧信道,从其他进程的内存中提取信息,影响了Intel、IBM以及部分ARM的CPU。Spectre Variant 2(CVE-2017-5715)与Variant 1具有相似的影响,但采用了不同的利用技术——分支目标注入。有效缓解这一漏洞需要更新受影响的CPU微码。
Meltdown Variant 3(CVE-2017-5754)利用了现代Intel CPU的乱序执行能力,允许用户进程跨安全边界读取受保护的内核内存。修复这一问题仅需操作系统更新,并通过诸如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),也称为Spectre 1.1,是Spectre的一个变种,利用推测存储创建推测缓冲区溢出。它绕过了基于软件的一些先前的Spectre缓解措施,并且需要操作系统更新。
Meldown-RW,也称为Spectre 1.2,是一种利用推测存储覆盖只读数据和代码指针的变体。此变体可用于破坏软件沙盒,并与Spectre 1.1相关。缓解措施需要操作系统更新。
Foreshadow系列(包括Foreshadow-OS、Foreshadow-VMM、Foreshadow-SGX)针对Intel CPU的推测执行攻击,允许从处理器的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和AMD CPU的推测执行特性,绕过操作系统为防止之前漏洞(如Spectre)而实施的软件防御。Hertzbleed(CVE-2022-23823、CVE-2022-24436)利用现代CPU的动态频率缩放特性,通过远程定时分析泄露信息。
七种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效应从内存单元中窃取数据(而不仅仅是修改数据)的攻击。
硬件漏洞“大家族”的发展壮大不断提醒我们,硬件安全是一个高度复杂且动态发展的领域,需要持续的研究和更新来应对不断出现的威胁。
发表评论 取消回复