華文網

讓Intel焦頭爛額的兩大處理器缺陷:“Meltdown”和“Spectre”

這周是進入2018年後第一個星期,本應是讓人期待的一個好開始,但事實上剛開年,全球用戶和軟硬體廠商就必須面對一個難堪的問題:我們日常使用的PC和手機中最主要硬體之一的處理器,

近日被曝出存在兩個重大缺陷:“Meltdown”和“Spectre”,惡意軟體可以利用它們來對PC、移動設備和雲進行攻擊獲取個人資訊,而且與以往硬體缺陷容易被修復不同的是,這兩個缺陷的根源是來自現代處理器的架構設計。

“Meltdown”和“Spectre”嚴重性在於它們利用到處理器的底層執行指令,

這是自處理器架構設計而來的特性。由於現代化的處理器都採用了推測執行(speculative execution)來進行任務調度,即處理器會根據工作任務預先給出猜測指令,如果符合特定的條件即進行執行,否則的話就會丟棄這條推測的指令,不進行執行。推測執行是所有處理器中最基本的一個架構功能,所以它可以直接從緩存中獲取所有包括標識為不可讀的資料,另外有這樣許可權的還有處理器的分枝預測(branch predictor),
這些處理器功能都可以被利用來獲取一些敏感資訊。

據外媒ArsTechnica在報導中解釋到,“Meltdown”利用的便是推測執行來獲得使用者程式中的內核資料,目前Intel、AMD和ARM的處理器都會在記憶體內進行推測執行,其中Intel最為激進,其晶片允許 使用者程式使用內核資料和執行進入檢查,從而可以訪問到內核記憶體(Kernel memory),這裡往往保存了使用者的隱私資料,但AMD和ARM的處理器則沒有這樣被攻擊的風險,

因為AMD禁止了這類執行,而ARM早已經有補丁進行防範。

目前要封堵“Meltdown”存在隱患,主要通過打補丁來關閉作業系統的共用內核映射,這是個自上個世紀九十年代初,便用於來提高系統運行效率的作業系統功能,在關閉該功能後會徹底禁止 使用者程式讀取內核記憶體,從而阻止“Meltdown”漏洞攻擊。但這種修復方法也帶來很大的問題,一些對使用者程式很依賴的任務會因此變慢,

比如執行磁片和網路操作,所以昨天便有報導Intel在修復了該硬體漏洞後,其處理器可能會出現35%的性能損失。

對於AMD和ARM處理器更需要面臨的漏洞則是來自“Spectre”(當然Intel處理器也有這個缺陷),其利用到更多推測執行的能力,所以這個危害性要比“Meltdown”更為廣泛和深入,不僅會獲取系統內核的資訊,還可以獲取虛擬機器管理員到訪客系統的大範圍資訊,而且利用這個缺陷進行的攻擊還無法被追蹤到(所以稱為幽靈),

這使得目前還沒有很有效的防範措施放出。

慶倖的是,現階段還沒有人利用“Meltdown”和“Spectre”進行攻擊,這兩個缺陷對於雲服務商的威脅更大,而普通用戶受到的影響要小很多,大眾只要安裝Windows、macOS和Linux系統提供的安全補丁即可。當然這些都只是補救手段,要徹底解決這兩個缺陷,還需要處理器在未來的架構上作改進了。