CPU

「幽靈」與「崩潰」來襲:Intel、AMD處理器漏洞事件簿,與目前的應變方式[更新]

文.圖/陳兆宏 2018-01-19 15:00:00
為了讓CPU執行速度更快,近20年來的電腦處理器核心架構,都加入了所謂的Speculative Execution(推測執行)的機制,讓程式在根據某些條件時需要跳躍到各種分歧點時,CPU可以透過推測的方式預先載入,以加速整個系統的執行效能。然而這樣的機制,在這半年之內卻被Google的團隊發現居然有可怕的漏洞,可能導致CPU在執行過程中,把不必要的機敏資訊洩露出去,成了最大的資安漏洞…

這顆震撼彈,是Google的Project Zero (俗稱GPZ)團隊於2018年1月3日在自家部落格率先揭發出來的,可說是有史以來最嚴重的處理器安全性漏洞事件,在市場鬧得沸沸揚揚。雖然資安人士表示這次的漏洞事件,對於一般消費者的環境影響不大,但對於工作站、伺服器,甚至資料中心來說,提供最高等級的安全性,降低各種風險,可說是毋庸置疑的。也因此,Intel、AMD甚至ARM (對!ARM也有影響到)都各自發表聲明,來說明應對方式與解決方法,而微軟和其他作業系統業者,也紛紛推出各式安全性更新,以嘗試彌平這次的「災難」!

那麼消費者們最關心的部份,就是這個漏洞,會不會影響我目前電腦的運作。還有到底要不要安裝更新,還有,裝了更新會影響多少效能,會不會裝了就自動重開機,甚至無法開機的狀況。有這些疑慮的讀者們,請看本文的詳細說明。

2018年伊始,「崩潰」(Meltdown)與「幽靈」(Spectre)來襲!各晶片組大廠準備接招了嗎?


Google Project Zero團隊的發現與影響

從Google Project Zero的部落格在2018年1月3日所揭露Reading privileged memory with a side-channel (透過旁側通道方式,來讀取特權等級下的記憶體內容)說明中,發現了近20年來的CPU,都存在著重大的安全性漏洞,這樣的漏洞會導致CPU在執行過程中,把不必要的機敏資訊洩露出去。

也就是說,使用權級較低的攻擊者,並不需取得最高權限,即可透過這種CPU硬體本身所挾帶的安全性漏洞,來洩漏出本地端權級較高的記憶體資訊,或者透過遠端方式來洩露出本地端使用者資訊。

至於在實際的攻擊測試中,只要攻擊者透過特殊的程式寫法,在一定的條件下就會觸發這樣的條件,也就有可能洩露出本地作業系統底層運作資訊,以及秘鑰資訊等。這時候,駭客只要透過這些資訊,就可以繞過Kernel(核心),以及Hypervisor(虛擬機器的超級管理者)的隔離防護,甚至在雲端服務應用中,攻擊者更可能透過瀏覽器來洩漏出受害者的帳號、密碼、內容、Email、Cookie等機敏資訊。由於這次所發現的漏洞是屬於硬體層級的,不像以往軟體層級那樣只要輕易釋出軟體(包括OS、Driver、App)更新就能解決。因此各大硬體廠商也卯起來,正視這次的CPU漏洞問題,並提出解決方案!

Google的研究者發現有3種攻擊方式,可能觸發這樣的漏洞,分別是如下:

● 方式1: bounds check bypass 繞過邊界檢查 (CVE-2017-5753)
● 方式2: branch target injection 分支目標注入 (CVE-2017-5715)
● 方式3: rogue data cache load 惡意數據快取載入 (CVE-2017-5754)

上述的漏洞1和2,被歸類為Spectre(幽靈)漏洞
至於漏洞3,則被歸類為Meltdown(崩潰)漏洞

Google Project Zero與資安人員,將這次的漏洞分別取名為「崩潰」(Meltdown)與「幽靈」(Spectre),並有專屬頁面與白皮書,說明產生漏洞的原理


上述的Meltdown和Spectre安全漏洞,主要是利用新世代CPU中的「推測執行」效能提升技術。正由於推測執行,是CPU透過同時執行多項指令來提升運算速度,不過執行的順序不一定與指令輸入CPU時的順序相同。為了提升效能,CPU會在目前分支完成之前,預測哪個分支路徑最有可能被採用,並根據其推測繼續執行該分支指令。如果預測錯誤,這個推測的執行就會以軟體無法察覺的方式倒回(Rollback)。

雖說架構倒回了,但可能像是TLB或快取狀態並沒有被倒回,使得這些副作用,可以被駭客透過旁道攻擊(Side Channel Attack)的方式,來獲取到快取內容。若攻擊者能觸發到推測執行,去存取指定的機敏資料區的話,就可能讀取到更高權限的機敏資料。Meltdown和Spectre漏洞攻擊手法,就是利用這種方式,從權限較低的使用者程序(例如惡意app)來存取具有特殊權限的記憶體(包括系統核心),如此一來便有機會讀取到機敏資料,導致資料外洩!這對資料安全性有極端要求的應用場合來說,可說是非常可怕的一件事!

目前影響的CPU方面,先說Meltdown漏洞吧!幾乎從1995年以來的Intel處理器都有受到影響,唯獨只有2013年以前的Itanium和Atom處理器沒有受到影響。AMD處理器方面,GPZ團隊因為沒有測試,所以不曉得是否有影響。至於ARM處理器(對!ARM也有這種漏洞!)方面,則是Cortex-A75的處理器。

至於Spectre漏洞方面,則是幾乎全中!市面上幾乎所有的Intel、AMD、ARM的處理器,都受到影響!這樣看來,幾乎所有桌上型電腦、筆記型電腦、工作站、伺服器,甚至連手機、平板…等裝置,都可能具有上述的Spectre和Meltdown的漏洞!看來,2018年伊始,這些處理器大廠就開始頭痛了!

Intel方面的說明、解決方式

Intel與AMD都有提出自己的說明與補救措施。以Intel來說,這次所爆發的CPU安全性漏洞問題,幾乎影響到自家1995年以來的所有處理器,無一倖免。

◎受影響的Intel處理器/系統/夥伴與廠商,可參考這個網頁的下方。

「崩潰」(Meltdown)與「幽靈」(Spectre) Inside?!


Intel的說明如下:

2018/1/3:大意就是Intel表示,並沒有在真實應用程式上發生過這種案例,並強調些漏洞並不會破壞、修改或刪除掉您的數據。(但是資料有被洩密出去的風險啊…)

2018/1/4:大意就是Intel和其夥伴開始進行軟體與韌體更新,來修補這種漏洞。並表示1/13前將有90%的近5年來的Intel處理器,都能獲得這樣的更新,但這樣的更新所帶來的衝擊,就是效能會有所降低 (只是沒說會降低多少就是了)。

2018/1/8:Intel CEO在CES 2018開幕前一晚的主題演講中,一開始就提到這個問題,他強調截至目前為止,還沒有收到任何受害者因為這些漏洞所造成的資料被洩漏出去的案例。他也表示正在努力解決這個問題,並承諾在一週內(1/13前)將有90%的近5年來的Intel處理器,都能獲得這樣的更新,至於其他CPU則是在1月底發布更新。

2018/1/9:大意就是Intel正式釋出更新了,並表示在他們在第八代處理器的系統上,以SYSmark 2014軟體測試整體效能,發現效能降低不到6%(個別軟體項目測試則是從2%至14%),所以影響是不太顯著的!(效能玩家和超頻玩家可能會有意見吧!)

2018/1/10:Intel正式把測試數據公佈出來。主要是以第6、7、8代Core處理器為主,並以SYSMark 2014 SE與PCMark 10做程式,結果如同上面所述,影響不到6%。若是配置傳統HDD的電腦系統,則影響更低!

詳細的測試數據,可參考這裡

Intel釋出消費端的效能測試圖表,安裝更新後,效能影響不到6%左右


2018/1/11:大意是Intel CEO表示1/15前釋出更新,把90%的近5年處理器問題解決。並表示將持續與夥伴們、客戶們與產業們,來解決這樣的問題。

2018/1/11:真是禍不單行!國外有發生使用者在安裝Intel的更新時,結果會有意外重新開機的情況!這則新聞稿的大意就是Intel表示,少數客戶使用了韌體更新之後,會有發生系統重開機的狀況!影響範圍包含Broadwell和Haswell CPU。Intel表示他們正在處理這樣的問題,必要時會推出修改版的韌體,以解決這樣的問題!

2018/1/17:先前都是在處理消費端的問題,這次就是以伺服器端的處理狀況。Intel表示已與Dell、HP、Lenovo、微軟合作,共同加入其「安全第一承諾」的計畫。並再一次表示有90%的近5年CPU,都已經獲得韌體更新,包含Ivy Bridge、Sandy Bridge、Skylake、Kaby Lake平台都獲得解決(至於Broadwell和Haswell平台則還在找出會導致重開機的問題中)。至於效能方面,以資料中心效能測試各種運算,大概只有2%、4%的效能降低而已。唯獨只有SPDK的iSCSI測試項目,在以單核心測試的狀態下,會有25%的效能遞減。

詳細的測試數據,可參考這裡

Intel釋出伺服器端的效能測試圖表,安裝更新後,效能影響不到4%左右


[Intel後續更新]
2018/1/22:大意是:Intel已確定先前在1月11日所公佈的韌體更新會導致Broadwell和Haswell重新開機的根本原因,上週末也已經推出更新版本的韌體給策略夥伴們進行測試了,測試完成之後,就會正式發布最終版本。(編按:其實先前的版本,不只造成2013年Haswell、2014年Broadwell平台會重新開機,後續還有人回應說,連2011年Sandy Bridge、2012年Ivy Bridge、2015年Skylake、2017年Kaby Lake,甚至2017年底的Coffee Lake都有問題,會導致重新開機,等於是無一倖免)。

因此,Intel在專屬的安全中心網頁中,特別說明這次事件的應對措施,並有建議作法。在1/22日的更新中,Intel建議OEM廠、雲端服務供應商、系統製造商,軟體供應商,和End User(一般消費者)「不要」下載目前最新的韌體版本(如BIOS更新、軟體更新等等),因為有可能導致Broadwell和Haswell平台不可預測的系統重新開機狀況。此外Intel更建議這些合作夥伴們,將測試重點擺在先前釋出的韌體更新版本。Intel期望在本週晚些時候,能夠釋出更多細節,並希望所有客戶能確保系統安全性,讓消費者對於系統安全無後顧之憂。對於這次更新策略的臨時中斷與改變,Intel副總裁暨消費性電腦事業群總經理Navin Shenoy先生,他個人也表示非常抱歉。他表示產品的安全性對於Intel本身、客戶和合作夥伴,以及他個人來說,都是至關重要的,他表示Intel內部正在加緊趕工以解決這些問題。一有新的消息就會馬上公佈周知。

Intel副總裁暨消費性電腦事業群總經理Navin Shenoy先生,他手上拿著(有Bug的?!)第七代Intel處理器…


Intel CPU用戶的解決方式與影響
綜合上述的說明,使用者安裝韌體更新後,效能影響僅6%而已。但由於使用Broadwell和Haswell處理器會有重新開機的狀況,因此若您是這兩種世代處理器的使用者,暫時先別安裝更新!

至於這些更新要到哪裡下載呢?主要就是要看你的電腦/主機板是哪個廠牌。這部份可參考各電腦廠商的消息公佈了!

例如:微星已推出Z370主機板的韌體更新,可修復這次的安全性問題

[Intel解決方式更新]
由於後續有使用者與系統廠商反應,不只是Haswell、Broadwell平台會重新開機,就連Sandy Bridge、Ivy Bridge、Skylake、Kaby Lake,甚至Coffee Lake都遭殃,等於是Intel從第二代到第八代Core處理器都有可能導致重新開機的疑慮。因此若有必要,建議先安裝先前的韌體更新版本,否則還是暫時按兵不動,先別更新,等Intel發布最新的、確定沒問題的韌體(微碼)更新之後,讓其策略夥伴製作成最新版本的BIOS更新檔之後,消費者再去更新!

AMD方面的說明

至於AMD方面,AMD目前是透過這個網頁,來說明他們目前碰到的狀況與解決說明。

2018/1/3:大意是因為AMD的產品架構不同,因此方式3不會出現這樣的漏洞,而方式2則是攻擊風險近乎為零,且尚未在AMD CPU上發現方式二的漏洞。至於方式1的漏洞,可以透過系統供應商和製造商推出的軟體/作業系統更新來解決。且對性能的影響微小。

2018/1/11:大意就是再根據GPZ的三種攻擊方式與應對的解決方法,做更細部的說明。包括方法1的微軟OS更新說明、方法2的可選性更新,以及方法3並不影響的事情。

AMD說明自家的影響狀態,以及解決之道


AMD CPU用戶的解決方式與影響
綜合上述的說明,原本AMD認為這次的漏洞影響甚微,但在Intel大動作的進行修補之下,AMD也開始進行更細部的說明,以撫AMD粉絲們的心。

目前看來,AMD是先跟微軟合作,推出多個安全性更新,來解決Windows用戶的疑慮。AMD電腦的使用者,只要安裝這些更新,就能解決安全性問題,至於效能影響方面可能不明顯。

簡單來說,其實只要您有開啟Windows Update自動更新功能,就不太需要擔心這次的安全性問題!至於這些更新要到哪裡下載呢?可以到微軟的這個網站來看看需要安裝哪些更新!

至於少數比較舊款的AMD處理器,微軟會擋住這些裝置,不讓這些裝置下載上述的安全性更新,主要考量是因為安裝了那些更新,可能會導致無法開機的狀況(比Intel會自動重新開機的狀況還慘)!

微軟表示已與AMD合作解決這個問題,並推出最新的解決方案,可解決Windows 10和Windows Server 2016下發生無法在AMD裝置開機的問題。

ARM方面的說明

再來看看ARM的處理方式,在其開發者網站中,有詳細說明各種攻擊方式的影響狀況,以及各種CPU的解決方法。

◎受影響的ARM處理器,可參考這個網頁的下方。

ARM詳細列出自家CPU的影響狀態,並提供修正方法


在該持續更新的網頁中,除了Google列出的三種攻擊方式之外,ARM還針對第三種Meltdown攻擊方式,多增加一個攻擊方式3a,並列出有不少CPU會受到攻擊方式3a的影響。

其影響到的CPU,幾乎都是Cortex-A系列為主,包含A8、A9、A15、A17、A57、A72、A73、A75,甚至連Cortex-R7、R8都中鏢!幾乎都有中Spectre,而Meltdown也有部份CPU受到影響。

不過,在ARM開發者網站中,已經有針對上述的漏洞推出各種修正更新檔。開發者只要去下載這些更新檔,重新組譯一下作業系統與使用者環境,即可推出新的更新包,讓消費者下載。

受影響的ARM處理器,可參考這裡

微軟方面的更新措施

由於Meltdown與Spectre漏洞事關重大,微軟在1月3日就針對此次的漏洞提出各種解決措施,讓消費者能夠針對自己的需求來進行升級。

由於這次的漏洞越吵越烈,微軟於1月9日補充說明,表示從2018年1月3日開始,微軟已發行數個更新,來協助降低這些漏洞所造成的風險,同時提升自家雲端服務,以及Internet Explorer和Microsoft Edge瀏覽器的安全。同時持續與業界合作夥伴(包括晶片製造商、裝置製造商和應用程式廠商)密切合作。

微軟特別列出各電腦廠商的連結,讓使用者可以去各廠商的網站去下載最新的BIOS更新!包含宏碁(Acer)、華碩(ASUS)、戴爾(Dell)、富士通(Fujitsu)、惠普(HP)、聯想(Lenovo)、樂金(LG)、松下(Panasonic)、三星(Samsung)、東芝(Toshiba)、索尼Vaio等廠商,當然微軟自家Surface產品,也有應對的解決方案。

看來,微軟應該是最忙的,要幫許多Intel、AMD、ARM的裝置擦屁股!


蘋果方面的更新措施

針對Meltdown與Spectre的漏洞,Apple在1月9日提出說明,並表示iOS 11.2、macOS 10.13.2、tvOS 11.2已修復這個問題了。因此只要您是iPhone、iPad,或是Mac電腦使用者,記得去下載最新版本的作業系統更新即可!

蘋果只有一頁說明,言簡意賅,說明漏洞早就處理掉了,你們其他人可要各自努力啊…


NVIDIA方面的更新措施

除了CPU之外,GPU也中招!也許玩家會問,GPU不是處理3D材質、數據什麼的,為什麼也會有Meltdown和Spectre的問題呢?其實這是因為GPU也可以用來當成GPGPU (一般功能GPU)來執行一些指令(像是挖礦)。既然GPU同樣也有預測執行,那麼就同樣會有Meltdown與Spectre的漏洞,影響的產品線範圍,包含GeForce、Quadro、Tesla、GRID等等。

在NVIDIA持續更新的支援網頁,表示其最新的驅動程式(3.90)已解決這個問題,因此建議每個人都去下載最新的驅動程式,以杜絕漏洞被駭客利用。

總結

有關這次的處理器漏洞事件,主要就是利用CPU的Speculative Execution推測執行功能,駭客在某些特定的條件下,才有機會取得機敏資料。雖說到現在並沒有任何受害者因為這次的事件而造成損失,但是,如今既然已被揭露,那麼各大廠商就有義務趕快解決,以避免後續遭到有心人士利用來進行各種真實世界的攻擊!

「崩潰」(Meltdown)與「幽靈」(Spectre)漏洞,為2018年的資安重大事件!影響層級從軟體到硬體,包含近20年的產品都影響到!


回顧最近不少資安漏洞事件,似乎開始挖掘出存在超過10年以上的重大漏洞(例如Shellshock,Bash漏洞),而且不只是挖掘出軟體漏洞,甚至硬體漏洞也被挖掘出來,而且影響範圍非常廣(例如這次的Meltdown與Spectre),看來資安議題,永遠都不能輕忽。希望這次的事件,讓新一代的處理器的設計,不會再有這樣的漏洞!

發表您的看法

請勿張貼任何涉及冒名、人身攻擊、情緒謾罵、或內容涉及非法的言論。

請勿張貼任何帶有商業或宣傳、廣告用途的垃圾內容及連結。

請勿侵犯個人隱私權,將他人資料公開張貼在留言版內。

請勿重複留言(包括跨版重複留言)或發表與各文章主題無關的文章。

請勿張貼涉及未經證實或明顯傷害個人名譽或企業形象聲譽的文章。

您在留言版發表的內容需自負言論之法律責任,所有言論不代表PCDIY!雜誌立場,違反上述規定之留言,PCDIY!雜誌有權逕行刪除您的留言。