Meltdown熔斷、Spectre幽靈兩大安全漏洞被發現之后,Intel處理器身上的漏洞開始源源不斷地出現,尤其以“幽靈”漏洞變種居多。
近日,兩位安全研究人員又披露了兩個新的“幽靈級”(Specter-class)安全漏洞,并將這些漏洞命名為“Spectre 1.1”和“Spectre 1.2”。
像之前發現的所有“熔斷”(Meltdown)和“幽靈”(Specter)CPU漏洞變種一樣,最新發現的兩個漏洞也利用了CPU中的推測執行(speculative execution)進程——這是在所有現代CPU中發現的一種功能,它通過提前計算操作,并稍后丟棄不需要的數據來提高性能。
Spectre 1.1和Spectre 1.2簡要介紹
根據研究人員的說法,Spectre 1.1攻擊利用了預測緩沖區溢出,使得本地攻擊者可以在脆弱的系統上執行任意不受信任的代碼。通過邊際信道分析(side-channel analysis)和投機緩沖區溢出(speculative buffer overflow),它可利用微處理器的投機性執行和分支預測來暴露敏感信息。
據悉,Spectre 1.1與Spectre V1.和V4.非常相似,但發現該漏洞的兩名研究人員表示:
“目前,還沒有有效的靜態分析或編譯器工具可用于檢測或緩解Spectre 1.1漏洞影響。”
更可怕的是,除了Spectre 1.1之外,研究人員還指出了所謂的“Spectre 1.2”漏洞。作為幽靈漏洞的另一個新型變體,Spectre 1.2漏洞主要影響那些CPU不執行讀/寫保護和依賴于懶惰的PTE強制執行的處理器。在一場 Spectre 1.2 攻擊中,被允許的投機存儲可覆寫只讀的數據、代碼指針、以及代碼元數據:其包括 vtables、GOT / IAT、以及控制流緩解元數據,結果就是依賴于只讀存儲器的硬件執行沙箱都被無效化了。
與大多數之前發現的Meltdown和Spectre漏洞類似,這兩個漏洞都需要在用戶的PC上存在惡意代碼,這些代碼負責運行攻擊。這在某種程度上限制了漏洞的嚴重性,但這一點不能作為系統管理員在補丁可用時不及時應用補丁的借口。
漏洞影響Intel和ARM,甚至AMD
英特爾和ARM已經公開承認,其部分CPU容易受到Spectre 1.1漏洞的攻擊。而AMD方面暫時沒有發布任何聲明,不過可以理解,AMD在審查安全問題方面一直動作很慢。由于所有Spectre攻擊都會影響AMD CPU,因此可以大膽地假設,這些新攻擊也會影響AMD的產品組合。
目前,研究人員還沒有發布有關受Spectre 1.2影響的CPU的信息,而且也沒有任何補丁可用于修復這兩種漏洞。但英特爾發言人表示,其用于處理Meltdown和Spectre漏洞的指南中包含有關“開發人員應該如何檢查和修改其源代碼,以減輕應用程序/軟件級別漏洞”的信息。
此外,Microsoft、Oracle以及Red Hat也已經表示,他們仍在調查Spectre 1.1是否會影響其產品所處理的數據,并正在研究如何降低軟件級別的風險。
在一篇題為《投機緩沖區溢出:攻擊和防御》(Speculative Buffer Overflows: Attacks and Defenses)的研究論文中,發現這些漏洞的兩位學者提出了3種基于硬件的緩解措施,來防止Spectre 1.1和Spectre 1.2攻擊。
值得一提的是,英特爾方面還向發現該漏洞的研究團隊支付了10萬美元的漏洞賞金,用于兌現該公司在最初的Meltdown和Spectre漏洞披露后設立的“漏洞懸賞項目”。據悉,這是迄今為止已知的賞金最高的漏洞懸賞項目之一。
如果您已經忘記了所有最近的Meltdown和Spectre相關的CPU漏洞,我們還將所有信息總結在了下表之中,以幫助您跟蹤所有變化:

|