最嚴重的39個硬件安全漏洞
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效應從內存單元中竊取數據(而不僅僅是修改數據)的攻擊。
硬件漏洞“大家族”的發展壯大不斷提醒我們,硬件安全是一個高度復雜動態發展的領域,需要持續的研究和更新來應對不斷出現的威脅。