最嚴重的39個硬件安全漏洞
2018年1月曝光的兩個處理器高危漏洞——Meltdown和Spectre震驚了整個計算機行業(yè)。攻擊者可以繞過內(nèi)存訪問的安全隔離機制,使用惡意程序來獲取操作系統(tǒng)和其他程序的被保護數(shù)據(jù),造成內(nèi)存敏感信息泄露。
這些漏洞源于現(xiàn)代CPU的一種稱為“推測執(zhí)行”的性能特性,而緩解這些漏洞需要歷史上最大規(guī)模的補丁協(xié)調(diào)工作,涉及CPU制造商、設(shè)備制造商和操作系統(tǒng)供應(yīng)商。
還有多少“Meltdown與Spectre”漏洞?
Meltdown和Spectre并非首個由硬件設(shè)計導(dǎo)致的漏洞,但其廣泛影響引起了安全研究界對此類漏洞的興趣。自那以來,學(xué)術(shù)界和安全企業(yè)研究人員一直在研究CPU及其他硬件組件的低級操作,并發(fā)現(xiàn)了越來越多的問題和漏洞。
有些硬件漏洞的緩解需要更換硬件,有些則可以通過固件升級進行修復(fù)。無論哪種情況,硬件漏洞補丁的開發(fā)和部署并非易事,這意味著此類漏洞的威脅往往會長期存在。
主要CPU和DRAM漏洞清單
以下是Meltdown之前和之后發(fā)現(xiàn)的一些最重要的CPU和DRAM漏洞,其中包括32個CPU漏洞(cexindaogongji)和7個DRAM漏洞。
大多數(shù)Passkey實現(xiàn)可被繞過
- Spectre Variant 1(CVE-2017-5753):允許攻擊者利用現(xiàn)代CPU的分支預(yù)測功能,通過CPU緩存作為側(cè)信道,從其他進程的內(nèi)存中提取信息。影響Intel、IBM和部分ARMCPU。
- Spectre Variant 2(CVE-2017-5715):與Variant1有相同影響,但使用不同的利用技術(shù)(分支目標注入)。有效緩解該漏洞需要更新受影響的CPU微碼。
- Meltdown Variant 3(CVE-2017-5754):利用現(xiàn)代IntelCPU的亂序執(zhí)行能力,允許用戶進程跨安全邊界讀取受保護的內(nèi)核內(nèi)存。修復(fù)僅需要操作系統(tǒng)更新,并通過機制如Linux的內(nèi)核頁表隔離(KPTI)來加強內(nèi)核內(nèi)存的隔離。
- Meltdown-GP (CVE-2018-3640):利用對系統(tǒng)寄存器的推測讀取來實現(xiàn)側(cè)信道信息泄露。
- Meltdown-NM (CVE-2018-3665):與Meltdown相關(guān),可用于泄露浮點單元(FPU)的狀態(tài),F(xiàn)PU是Intel現(xiàn)代CPU中的專用數(shù)學(xué)協(xié)處理器。
- Spectre-NG (CVE-2018-3639):允許在之前的內(nèi)存寫地址未知時進行內(nèi)存讀取,可用于泄露跨進程信息。
- Spectre-PHT(CVE-2018-3693):也稱為Spectre1.1,是Spectre的一個變種,利用推測存儲來創(chuàng)建推測緩沖區(qū)溢出。它允許繞過一些以前基于軟件的Spectre緩解措施,并且需要操作系統(tǒng)更新。
- Meldown-RW:也稱為Spectre1.2,是一種利用推測存儲來覆蓋只讀數(shù)據(jù)和代碼指針的變體。此變體可用于破壞軟件沙盒,與Spectre1.1相關(guān)。緩解措施需要操作系統(tǒng)更新。
- Foreshadow系列(包括Foreshadow-OS,Foreshadow-VMM,Foreshadow-SGX):針對IntelCPU的推測執(zhí)行攻擊,允許從處理器的L1數(shù)據(jù)緩存中提取信息,對虛擬機和SGX環(huán)境尤其敏感。
- Fallout(CVE-2018-12126),RIDL(CVE-2018-12127,CVE-2018-12130),Zombieload(CVE-2019-11091):都屬于微架構(gòu)數(shù)據(jù)采樣(MDS)攻擊的一類,可泄露敏感的內(nèi)核或虛擬機監(jiān)控程序內(nèi)存。
- Starbleed:Xilinx FPGA的比特流加密過程中的設(shè)計缺陷,允許攻擊者解密并修改比特流。
- PLATYPUS:利用Intel CPU中的運行平均功率限制(RAPL)接口進行遠程差分功耗分析攻擊,可泄露Linux內(nèi)核內(nèi)存和Intel SGX安全飛地的加密密鑰。
- SRBDS(CVE-2020-0543):展示了跨CPU核心通過側(cè)信道泄露數(shù)據(jù)的推測執(zhí)行攻擊的可能性。
- Spectre-BHI(CVE-2022-0001,CVE-2022-0002,CVE-2022-23960):Spectre v2的變種,通過污染CPU預(yù)測器的全局歷史來繞過硬件防御。
- Retbleed(CVE-2022-29901,CVE-2022-29900):利用Intel和AMDCPU的推測執(zhí)行特性,繞過操作系統(tǒng)為防止之前漏洞(如Spectre)而實施的軟件防御。
- Hertzbleed(CVE-2022-23823,CVE-2022-24436):利用現(xiàn)代CPU的動態(tài)頻率縮放特性,通過遠程定時分析泄露信息。
7種DRAM內(nèi)存攻擊漏洞
- Rowhammer:通過反復(fù)快速讀取同一物理內(nèi)存行的物理效應(yīng),導(dǎo)致相鄰行的數(shù)據(jù)位翻轉(zhuǎn)。
- Rowhammer.js:通過JavaScript實現(xiàn)的Rowhammer攻擊,證明該漏洞可通過瀏覽器遠程利用。
- Drammer(CVE-2016-6728):針對Android設(shè)備的Rowhammer類型利用。
- Flip Feng Shui:針對虛擬機的Rowhammer攻擊,允許惡意訪客VM以可控方式翻轉(zhuǎn)另一個虛擬機的物理內(nèi)存位。
- ECCploit:展示了對包含錯誤糾正代碼(ECC)功能的SDRAM芯片的Rowhammer類型攻擊。
- Throwhammer:利用遠程直接內(nèi)存訪問(RDMA)功能在網(wǎng)絡(luò)上實施Rowhammer攻擊。
- RAMBleed:首次展示了使用Rowhammer效應(yīng)從內(nèi)存單元中竊取數(shù)據(jù)(而不僅僅是修改數(shù)據(jù))的攻擊。
硬件漏洞“大家族”的發(fā)展壯大不斷提醒我們,硬件安全是一個高度復(fù)雜動態(tài)發(fā)展的領(lǐng)域,需要持續(xù)的研究和更新來應(yīng)對不斷出現(xiàn)的威脅。