英特爾鍋砸大了,處理器的記憶體洩露臭蟲讓OS業者全跳腳
由於英特爾(Intel)處理器設計上的缺陷,讓電腦程式可以任意辨識內核記憶體內容。這個漏洞使得Windows以及Linux都需要修改作業系統核心以避開影響安全性的臭蟲,然而即使避開了臭蟲,副作用卻會造成電腦性能下降,不幸的是,這個漏洞影響了英特爾過去10年的處理器。
這個漏洞容許在電腦上執行的程式,包含一般應用程式或是在瀏覽器執行的Javascript,以某種程度辨識受保護的系統內核記憶體布局或是內容。使用者可能在瀏覽網頁的同時,網頁的Javascript程式就辨識了內核記憶體的內容,而剛好這些內容包含了一些諸如個人的密碼、登入金鑰或是硬碟檔案快取等敏感資訊,但這或許還不是最糟的情況,想像一下如果這事情發生在雲端服務,像是Amazon EC2、微軟Azure或是Google的Compute Engine會發生什麼事。
除了換一顆安全的處理器外,唯一的補救方式就是在作業系統層級修正這項錯誤,完全隔開內核以及使用者程序的記憶體位置,這項技術稱為內核頁面表隔離(Kernel Page Table Isolation,KPTI)。但是這樣的修補卻會造成效能的低落,關聯式資料庫PostgreSQL在官網公開了測試結果,當使用修補過後的Linux核心,Select 1指令最好的情況降速17%,最糟的情況降速23%。
除了Windows以及Linux,蘋果的64位元macOS同樣也需要更新,因為漏洞影響的是Intel x86的64位元處理器。Linux社群在如火如荼地趕工後,使用者已經可以在網上下載更新補丁,而微軟的更新應會在下一星期二固定更新時釋出。
英特爾、ARM與AMD相繼回應重大記憶體洩露漏洞
稍早媒體報導英特爾處理器漏洞可能導致記憶體資料外洩,為讓外界對這件事有更多的資訊Google Project Zero小組揭露更多資訊,點名英特爾、ARM、AMD產品都受到影響。英特爾也出面澄清受影響的不只有英特爾,AMD、ARM甚至是Nvidia也相繼做出回應。
周三英特爾被爆重大記憶體洩露漏洞,造成機敏資料外洩,影響該公司近10年以來的多代產品。英特爾迅速發出聲明,措詞強烈指出昨日來一些聲稱攻擊由「臭蟲」或「瑕疵」引起,而且只限英特爾產品的媒體報導並不正確。
一些報導指出英特爾處理器設計上的瑕疵可使作業系統核心記憶體內容為JavaScript Web或其他應用程式讀取。英特爾指出,這種所謂的攻擊,是來自快取時間旁道攻擊(Cache timing side-channels)的軟體分析法遭惡意使用下的結果,並不會造成資料損毁、被竄改或刪除。而媒體所指出修補後會造成的效能下降也要看一般使用者執行的負載類型而定,因此問題不如報導嚴重,過些時日也會獲得紓解。
Google Project Zero的研究人員點名英特爾、AMD、ARM產品都受到影響。Google工程師Jann Horn指出,該小組早在去年即已發現記憶體任意讀取漏洞及攻擊,並在6月1日通知英特爾、AMD及ARM。Google並證實Intel Haswell Xeon CPU、AMD FX CPU、 AMD PRO CPU 及ARM Cortex A57完成概念驗證攻擊。Google同時公佈了三種旁路攻擊手法。
儘管被點名,但AMD工程師Tom Lendacky稍早表示,AMD產品架構預設不允許記憶體參照,包括推測性參照(speculative references),可防止較低權限模式存取較高權限的資料而造成這次的記憶體分頁錯誤。
ZDNet引述AMD官方聲明報導,基於不同的架構設計,AMD能免於上述三種攻擊,並認為到目前為止AMD處理器受到攻擊的風險幾近於零。
ARM在今天稍早回應有部份產品核心受到特定漏洞及攻擊手法影響。其中開採CVE-2017-5753的邊界檢查迴避(bounds check bypass )及開採CVE-2017-5715的分支目標程式碼(branch target injection)影響Cortex R7、R8、A8、A9、A15、A17、A57、A72、A73、A75。至於開採CVE-2017-5754的惡意資料快取載入(rogue data cache load)則還影響最高階的Cortex-A75。
ARM表示,Cortex R系列一般使用模型皆為控管嚴格的封閉環境,故沒有遭攻擊的風險。針對執行Linux的ARM產品客戶,ARM也提供修改程式碼片段說明。至於Android及其他作業系統的ARM用戶則必須等待個別更新。
Nvidia則表示,該公司相信GPU硬體免於這次的安全問題,而該公司也正在更新GPU以降低CPU的安全風險。至於Nvidia為ARM CPU合作的SoC產品經過分析已找出受影響範圍,也已著手處理中。
CPU「推測執行」漏洞已有6種概念性驗證攻擊出爐
Google Project Zero安全團隊在周三(1/3)揭露了所發現的CPU「推測執行」(speculative execution)安全漏洞,歸納由該漏洞所衍生的3個變種漏洞,同時發表了4種概念性驗證攻擊(PoC),再加上眾多安全人員協力完成的Spectre與Meltdown,總計已有6種PoC問世。
不管是英特爾(Intel)、AMD或ARM的CPU都受到「推測執行」漏洞的影響,只是受波及的型號多寡不同。
Google所歸納的3個變種漏洞分別是編號為CVE-2017-5753的繞過邊界檢查(bounds check bypass)、CVE-2017-5715的分支目標注入(branch target injection),以及CVE-2017-5754的未管理資料快取載入(rogue data cache load)。
有兩個PoC利用了CVE-2017-5753漏洞,一是在 Intel Haswell Xeon、AMD FX、 AMD PRO CPU與ARM Cortex A57等不同品牌的CPU上測試該漏洞的基本概念,證明駭客在不需跨越任何權限邊界下,就能於不當的「推測執行」程序中讀取資料。另一個則是在具備標準配置的Linux版本中以一般使用者權限讀取Intel Haswell Xeon及AMD PRO的CPU的核心虛擬記憶體,在鎖定Intel Haswell Xeon的測試中,其讀取速度可達2000Bps。
針對CVE-2017-5715的PoC則是在Intel Haswell Xeon CPU搭配特定版本的Debian時,利用虛擬機機管理員建立的KVM客系統若以最高權限執行,即能以1500Bps的速度讀取主系統的核心記憶體。
開採CVE-2017-5754的PoC能在特定條件下以一般權限讀取Intel Haswell Xeon CPU的核心記憶體。
至於Meltdown與Spectre則是由10名資安研究人員共同發展出的PoC,Spectre開採了CVE-2017-5753與CVE-2017-5715漏洞,Meltdown則僅利用CVE-2017-5754漏洞。
研究人員指出,Spectre及Meltdown同時適用於個人電腦、行動裝置及雲端。其中的Meltdown可打破使用者應用程式之間,以及與作業系統的隔離界線,將允許程式存取裝置上的記憶體內容,諸如其它程式或作業系統上的機密資訊。
迄今研究人員只在英特爾處理器上測試Meltdown,指出它可能影響所有採用亂序執行(out-of-order execution)的處理器型號,除了Intel Itanium與Intel Atom之外,從1995年以來的英特爾處理器或者都難以倖免。
而Spectre則是破壞了不同應用程式之間的界線,允許駭客存取其它程式的機密資訊。比起Meltdown,Spectre較難執行,但也較不容易防範。
有鑑於「推測執行」與其衍生漏洞影響了主要的處理器品牌,因此絕大多數的裝置使用者都面臨了潛在威脅,此外,相關攻擊開採的是處理器漏洞,幾乎不會在傳統的日誌文件中留下蹤跡,亦難以察覺,研究人員甚至也不確定Meltdown與Spectre等攻擊途徑是否已遭濫用。
CPU漏洞:微軟釋出Windows、Azure安全更新
Google昨日揭露英特爾、AMD、ARM處理器發生的重大記憶體洩露漏洞,波及作業系統及雲端業者,微軟已先後釋出Windows作業系統及Azure雲端平台的安全更新。
微軟Windows Insider開發者計畫的快速頻道(fast-ring)用戶早在去年11月即已接獲軟體更新。針對一般用戶,The Verge報導,微軟在太平洋時間周三下午5:00(台北時間周四早上9:00)對個人及企業釋出安全更新,Windows 10裝置此時自動完成更新。
Windows 7及8.1電腦用戶今天也可以自己下載,如果想要自動下載,則需等到下周二。
另外,微軟Azure部門表示,大部份Azure基礎架構皆已經更新。有些服務則需要用戶重新啟動VM才會生效。
Azure 已經在幾個星期前的預期性維護中通知用戶重啟VM,已經啟動者即無需任何動作。但因應此次事件,微軟也加快維護時程,受影響的VM會在太平洋時間周三下午3:30(台北時間周四早上7:30)自動重新啟動。為了加速更新,某些用戶的自主維護的間隔期間也會被關閉。
Azure基礎架構更新是在hypervisor層解決這次的漏洞,多數用戶也不會察覺效能上的影響,Windows及Linux VM 映像檔(images)不必更新。但微軟提醒用戶還是要做好必要的安全措施。
Azure部門表示迄今尚未接獲用戶遭到利用此次的漏洞發動攻擊的消息。
Google:CPU漏洞影響不只英特爾,還有AMD與ARM
Google於本周三(1/3)指出,現今大多數的中央處理器(CPU)都受到「推測執行」(speculative execution)漏洞的影響,允許駭客讀取系統記憶體,從密碼、加密金鑰或是程式中的機密資訊,波及了英特爾(Intel)、AMD與ARM的處理器產品,原本業界計畫要在1月9日共同揭露,但因媒體及安全社群已開始報導及猜測,增加了漏洞被開採的風險,使得Google決定提前公布。
「推測執行」為一處理器最佳化技術,讓具備額外資源的電腦系統事先執行一些任務,在需要時就能使用以改善效能並預防延遲,被應用在現代大多數的CPU中。
然而,Google的Project Zero團隊去年便發現「推測執行」中隱含有一重大安全漏洞,不當的推測執行可濫用CPU資料快取的時間安排而造成資料外洩,在最糟糕的情況下可跨越本地端的安全界線而衍生出至少3種可任意讀取虛擬記憶體的變種漏洞。
Google說明,為了改善效能,許多CPU都會基於可能是真的假設來執行推測指令,並在推測執行中驗證這些假設,若是有效的便繼續執行,無效時即會鬆開執行,並因應真實的情況啟動正確的執行路徑;不過,「推測執行」在CPU處於鬆開狀態時可能會出現一些無法復原的副作用,進而導致資料外洩。
相關漏洞同時影響了英特爾、AMD與ARM的處理器,也影響採用這些處理器的裝置與作業系統。Google已於去年6月1日將漏洞資訊提交給上述處理器業者。
若要開採「推測執行」漏洞必須先於目標系統上執行惡意程式,此外,並無任何單一修補程式可一次解決已知的3種變種漏洞,得分別修補以提供保護,現階段已有許多業者防堵了其中1個或多個攻擊途徑。
Google針對CPU「推測執行」漏洞補強Android、Chrome與Google Cloud
Google周三(1/3)公布了受到CPU「推測執行」(speculative execution)漏洞影響的Google產品及服務,顯示從Google架構、Android、Chrome瀏覽器、Chrome OS到Google Cloud皆受牽連,不過,Google已針對已知的衍生漏洞與攻擊途徑提出因應之道,並有部份修補需要使用者配合操作。
有鑑於Google的Project Zero團隊在去年上半年便已發現CPU所內含的「推測執行」漏洞,立即通知受影響的軟、硬體業者,因此,儘管在昨天提前揭露了相關漏洞,但包括Google在內的大多數業者皆已展開或完成修補。
根據Google的受災產品狀態列表,完全不受「推測執行」漏洞影響的產品只有Google Home、Chormcast、Google Wifi與OnHub,由於這些產品只能執行由Google開發的可靠程式,因而免疫。
受影響但可自Google端修補的則包含了Google架構、Android、G Suite及部份的Google Cloud產品。其中,Google架構涵蓋了搜尋、YouTube、地圖、Blogger等各種Google服務,且Google強調由該站保存的客戶資料都已受到保護。
在Android平台上,所有已部署本周釋出之安全更新的Android裝置都可確保安全,此外,迄今尚未有人成功將該漏洞複製於採用ARM處理器的Android裝置上。
至於Chrome瀏覽器、Chrome OS與部份Google Cloud服務則需要使用者採取某些行動來保障安全。Google表示,目前的Chrome 63含有一「網站隔離」(Site Isolation)功能,用戶只要啟用它就能避免相關攻擊,而預計於1月23日出爐的Chrome 64即會內建保護能力。
而在去年12月15日釋出的Chrome OS 63已內建保護功能,至於更早的Chrome OS版本則會在未來藉由於核心中嵌入Kernel Page Table Isolation(KPTI)進行修補。
在企業雲端服務部份,Google已修補了Google Cloud架構,妥善隔離客戶的任務,但有些雲端服務仍需客戶採取修補行動,包括Google Cloud Dataflow、Google Cloud Datalab、Google Cloud Dataproc、Google Cloud Launcher、Google Cloud Machine Learning Engine及Google Compute Engine等,主要是要求客戶更新與修補訪客環境。而未啟用自動更新的Google Kubernetes Engine用戶則需記得要手動更新叢集。
