英特爾、谷歌和AWS迴應CPU安全事件:AMD和ARM也有問題,影響巨大

AI前線發表於2018-01-04

本文由 「AI前線」原創,原文連結:英特爾、谷歌和AWS迴應CPU安全事件:AMD和ARM也有問題,影響巨大
譯者 | 核子可樂 Debra Natalie
編輯 | Vincent Tina

英特爾、谷歌和AWS迴應CPU安全事件:AMD和ARM也有問題,影響巨大
AI 前線導讀:英特爾公司指出,將於下週釋出的 CPU 漏洞補丁基本不會給普通使用者造成任何影響。另外,英特爾亦將此項 bug 定位為全行業範圍內的大事件。

就在本週三下午召開的電話會議上,英特爾公司釋出更多與此次 CPU 核心漏洞相關的訊息,並將其正式定名為“旁路分析利用”。該公司高管表示,相關補丁即將在接下來的數週內釋出。另外,儘管大多數普通 PC 使用者幾乎不會因此受到影響,但這批補丁確實會帶來令人沮喪的效能降級後果,具體水平約在 0% 到 30% 之間。

英特爾、谷歌、AWS三家大廠隨後接連發文迴應,稱此次bug事件影響範圍較大,一直堅稱自己沒受影響的AMD也被谷歌發現了問題。


更多幹貨內容請關注微信公眾號“AI 前線”(ID:ai-front)

英特爾方面解釋稱,其已經向 ARM、AMD 以及其它多家作業系統供應商報告了此項漏洞。該方同時強調,該漏洞最初是由谷歌公司的 Zero 專案安全小組所發現,這一說法也得到了谷歌方面的證實。

英特爾公司指出,其將釋出微程式碼更新以解決此項問題,而隨時間推移這些修復補丁中的一部分亦將被引入硬體當中。

據英特爾所說,本來他們是計劃下週當軟體和韌體都比較完善的時候向使用者披露這個資訊的,但是由於媒體的報導不準確,引起輿論譁然才讓其不得不提前釋出宣告。在迴應時,Intel 表示,這些漏洞不存在被攻擊、修改或刪除資料的可能,還表示 媒體報導此“漏洞”或“缺陷”是英特爾的產品獨有的問題這一說法是不準確的。基於目前為止的分析,許多型別的計算裝置(不同供應商的處理器和作業系統)也很容易受到這些攻擊。

微軟公司拒絕就此事發表評論,不過預計微軟也將推出自己的對應補丁。此外,AWS、谷歌公司也釋出了自己的報告(見下文)。

意味著什麼: 就目前來講,我們可以看到各大主要晶片與作業系統供應商已經意識到問題的存在,並努力釋出修復程式。第一款補丁很可能被納入微軟的新一輪補丁週二釋出。目前還不清楚這批補丁會影響到多少不同型別的軟體與 CPU 架構,也不明確具體將給 PC 效能造成怎樣的影響。

但是,補丁帶來的影響會不會比安全問題本身更令人難以接受?根據初步報導,取決於具體任務與處理器型號的不同,PC 使用者可能因此遭遇“5% 到 30% 之間的效能衰減”。

英特爾方面似乎 堅信普通使用者不會受到任何負面影響。其在一份宣告中指出:“與一部分報導相反,任何潛在的效能影響都將取決於實際工作負載。而對普通計算機使用者而言,其不會產生任何顯著的影響,且效能衰減將隨時間推移而得到緩解。”

英特爾公司進一步作出解釋,即“具體取決於實際工作負載”,但客戶仍然無法藉此對影響作出準確的判斷。

高管們表示,英特爾公司在研究這項漏洞的影響時,並沒有將客戶 PC 與資料中心伺服器區分開來。事實上,普通使用者所使用的應用程式可能遭受 0% 到 2% 的效能影響,但調整依賴應用程式與作業系統間互動的綜合性工作負載則可能遭遇最高 30% 的效能衰減。

我們可以做點什麼?

英特爾公司給出的建議是補丁、補丁、還是補丁。相信大家已經對這樣的陳詞濫調非常熟悉:“請諮詢您的作業系統供應商或系統製造商,並儘快應用所有可用更新。遵循良好的安全措施以防範惡意軟體,這將有助於預防可能的惡意利用活動直到更新工作全面完成。”

機器學習會受到影響嗎?

據部分專家分析,這取決於整合模型,對模型每個部分的呼叫都可能產生影響。此外,生成一個新程式將產生新的開銷,記憶體釋放 / 分配演算法將更復雜,而 CPU 處理器將成為深度學習 GPU 影象載入的瓶頸。

谷歌迴應:Chrome 瀏覽器將受影響,請按操作更新

谷歌公司則報告稱,其 Chrome 瀏覽器將受到影響,但使用者可以採取兩步走解決戰略:首先,確保您的瀏覽器更新至版本 63; 其次,可以啟用一項名為站點隔離的可選功能,從而將各站點隔離在獨立的地址空間內。此可選專案可在 chrome://flags/#enable-site-per-process 當中開啟。最後,計劃於今年 1 月 23 日釋出的 Chrome 64 將能夠保護使用者免受旁路攻擊的侵擾。

受影響裝置完整清單如下:

以下未明確列出的所有 Google 產品都不需要使用者進行操作。

Android

  • 最新安全更新的裝置受到保護。此外,目前我們還未發現此漏洞成功再複製,即未經 ARM Android 裝置的授權洩露資訊。

  • 最新安全更新的 Nexus 和 Pixel 裝置受到保護。

  • Google Apps / G Suite(Gmail,日曆,雲端硬碟,網站等):

  • 無需額外的使用者或客戶操作。

  • 谷歌瀏覽器:

  • 一些使用者或客戶需要採取措施。

  • Google Chrome 作業系統(例如 Chromebook):

  • 需要一些額外的使用者或客戶操作。

  • Google 雲端平臺

  • Google App 引擎:無需額外操作。

  • Google 計算引擎:需要一些額外操作。

  • Google Kubernetes 引擎:需要一些額外操作。

  • Google Cloud Dataflow:需要一些額外操作。

  • Google Cloud Dataproc:需要一些額外操作。

  • 所有其他 Google 雲產品和服務:無需其他操作。

  • Google 主頁 / Chromecast:無需額外操作。

  • Google Wifi / OnHub:無需額外的使用者操作。

  • 具體操作請參考:

    https://security.googleblog.com/2018/01/todays-cpu-vulnerability-what-you-need.html

    亞馬遜迴應:此 bug 已存在 20 餘年,釋出新版 Linux 系統

    昨日,亞馬遜也作出迴應,稱這個 bug 其實是 Intel、AMD 等現代處理器存在了 20 多年的問題,目前亞馬遜 MC2 fleet 只有一小部分產品是可以抵禦攻擊的,在未來的幾小時之內將會被修復。

    Amazon Linux 儲存庫中提供了更新的 Amazon Linux 核心。2018 年 1 月 3 日下午 10:45(GMT)之後使用預設的 Amazon Linux 配置啟動將自動包含更新的軟體包。Amazon Linux AMI 使用者可以執行以下命令,確保收到更新的軟體包:

    https://alas.aws.amazon.com/

    旁路分析利用是什麼?

    根據英特爾方面的說法,攻擊者可以通過觀察高許可權記憶體中的內容利用名為“推測性執行”的 CPU 技術規避必要的許可權級別約束。如此一來,攻擊者將能夠訪問其正常情況下無法訪問的資料。不過英特爾公司表示其無法對資料內容進行刪除或者修改。

    事實上,英特爾與研究人員們發現了 三種漏洞利用變種,分別為“邊界檢查旁路”、“分支目標註入”以及“流氓資料載入”,三者在具體攻擊手段方面略有不同。但通過作業系統更新,三種問題都能夠得到有效緩解。

    英特爾公司工程技術負責人 Steve Smith 報告了這一重要發現,並補充稱目前還沒有觀察到對該項漏洞的任何實際利用行為。他同時否認了此項漏洞屬於缺陷的說法,亦不承認其出現是為了專門針對英特爾。在本次電話會議上,Smith 向投資者們強調“處理器的運作方式仍然嚴格遵循我們的設計預期。”

    Smith 同時表示,這一發現敦促全球各硬體製造商以“負責任的方式”應對此項漏洞。

    這是一個影響到全行業的問題

    前文提到的各家企業已經計劃在未來一週內陸續釋出相關補丁。而英特爾方面則表示,其提前作出評論的原因在於“目前存在諸多不夠準確的媒體報導”——但需要強調的是,晶片巨頭的宣告當中並沒有對這些報導作出任何否定。英特爾只是首先向媒體釋出了一份宣告,而後即召開電話會議。

    英特爾公司指出,“英特爾與其它技術企業已經意識到用於描述軟體分析方法的新型安全研究成果一旦出於惡意目的而遭利用,可能導致從計算裝置上收集敏感資料。”

    英特爾公司認為,此項漏洞與其它型別架構同樣存在密切關聯——這裡所指的肯定是 AMD(儘管其否認自家晶片會因此受到影響)以及作為大多數智慧手機核心的 ARM。除此之外,另有幾家廠商以及作業系統供應商的產品“易受影響”。

    微軟公司的一位發言人在接受郵件採訪時解釋稱,“我們已經意識到這一影響整個行業的問題,並一直與晶片製造商開展密切合作,旨在開發並測試緩解措施以保護我們的客戶。我們正在為雲服務部署緩解措施,同時亦釋出了對應安全更新,希望保護 Windows 客戶免受英特爾、ARM 以及 AMD 支援型硬體晶片內相關漏洞的影響。”

    AMD 方面否認其處理器產品受到影響,並在採訪中強調稱目前 AMD 處理器所面臨的風險“幾乎為零”。

    英特爾則試圖解釋其為何沒有主動站出來曝光問題——晶片巨頭宣稱,就在此次訊息傳出之時,其幾乎已經完成了漏洞的內部解決。英特爾公司指出,“我們致力於通過負責任的方式披露安全問題,也正因為如此,英特爾與其它供應商才計劃在下週公佈相關軟體與韌體更新時正式披露這一問題。”

    英特爾迴應存疑,網友不買賬

    雖然官方做出了迴應,但是網友們似乎並不買賬,大多數網友對這一回應都持懷疑的態度,認為英特爾不夠誠實,這樣的做法是自欺欺人。知名社交網站 Reddit 上有關英特爾的討論同樣在如火如荼進行著,除了瘋狂 diss 英特爾之外,也有網友給出了自己的分析。

    我們摘錄了部分網友的討論內容:

    網友觀點一:對於有獨立資料中心的企業來說可能沒太大影響,因為他們不會受到這個漏洞帶來的安全問題影響,因此肯定會在沒有核心補丁的情況下繼續執行他們的資料中心。但對於學術研究人員來說,這可能(會?)確實是一個更大的問題,因為他們通常不管理自己的核心,而是雲上執行計算任務。不過 CPU 一般很少成為效能瓶頸,現在大多數 BLAS 密集型計算是在 GPU 上完成的,資料集通常被完全載入到 RAM 中,而在現代庫中不會經常產生新的執行緒。

    網友觀點二:這幾乎肯定會導致產品召回,並最終從 Linux 核心中刪除該核心補丁。

    網友觀點三:

    幾乎所有在過去 20 年中生產的英特爾處理器都受到了影響,許多目前還有人在使用的處理器很可能早已停產,並且沒辦法快速生產出可以相容的主機板。英特爾可能會召回最近的一款處理器,但是全面召回受影響的處理器將需要數年時間,甚至可能導致公司破產。所以使用者只能繼續忍受這個核心補丁,直到購買一個新的處理器,由於這個問題補丁導致的效能下降,可能得比計劃更早去購買新處理器。也許英特爾會給因為這個原因購買新晶片的客戶適當的折扣,以恢復客戶對他們的信任。

    網友觀點四:或許是時候該買點 AMD 的股票了。

    網友觀點五:

    或者賣掉 Intel 的股票。

    https://www.fool.com/investing/2017/12/19/intels-ceo-just-sold-a-lot-of-stock.aspx(英特爾的 CEO 在 12 月中下旬賣掉了大量英特爾的股票)

    網友觀點六:他不僅賣掉了一堆股票,而且還賣掉了所有可以賣出的股票(附例說 CEO 必須擁有 25 萬股股票——於是他把 25 萬股以外的股票全賣掉了......)

    網友觀點七:這可能就是為什麼微軟釋出了一個通知,說 Azure 中的一些虛擬機器必須先重啟,否則將會在 1 月 10 日自動重啟。 當然,這可能只是標準的維護,因為它不像他們釋出大量的資訊。補充:這下有趣了,微軟剛剛發出了警告,強制要求所有還沒重新部署的人立即重新部署。看來是因為 Project Zero 剛剛釋出的訊息:

    https://googleprojectzero.blogspot.com/2018/01/reading-privileged-memory-with-side.html

    網友觀點八:我不是這方面的專家,但是這聽起來像是跳過了資料結構的邊界檢查——檢查肯定會花費更多時間和資源,如果你確信檢查是不必要的,那麼直接省略這個步驟可以節省時鐘週期。

    這聽起來像是和推測執行有關。如果你正在推測性地執行一條指令,那麼你最終可能會捨棄它的結果,所以執行這個指令花費的代價越少越好。也許英特爾認為他們可以在推測執行的時候跳過priv檢查,如果最終發現確實需要這條指令,就在實際執行結果之前執行指令。 然而,也許事實證明,這種推測性執行開啟了一些通過後門獲取資料的方法,比如通過快取、定時等等,如果異常提前被發現,這個問題就不會暴露了。

    網友觀點九:這個修復補丁對於效能到底有多大影響會根據具體的計算任務而有所不同,但不可能全部是 34%。這個補丁確實會損害核心的上下文切換效能。如果你的應用程式一直在做大量的系統呼叫,這對你的效能影響可能會非常大。然而,直到我們真的看到實際的案例,才能真正瞭解影響到底有多大。

    網友觀點十:這裡有兩篇文章,他們在整合並啟用了該修復補丁的 Windows 10 Insider 上進行了測試,測試結果顯示,普通使用者其實無需擔心。在合成、實際工作負載以及遊戲中的 CPU 效能基本未受影響,基準測試中的差異都還在誤差範圍內。可能唯一有影響的是使用了 NVMe 驅動的使用者,比如 960 Pro 這種速度非常快的驅動器,效能損失約 5%,對大多數人來說可以忽略不計。而像基於 NVME 和 SATA 的 SSD,效能損失幾乎為 0%,因為這些驅動器的速度沒有快到會被影響到。

    7700K + 1080 Ti:

    https://www.computerbase.de/2018-01/intel-cpu-pti-sicherheitsluecke/#update2

    3930K + 1080 Ti:

    https://www.hardwareluxx.de/index.php/news/hardware/prozessoren/45319-intel-kaempft-mit-schwerer-sicherheitsluecke-im-prozessor-design.html

    網友觀點十一:欸等等,AMD 也被報告“不安全”? 哦,哦,哦,是 修復補丁把 AMD 視為不安全,而不是 AMD 實際上不安全。補充:Bug 不會影響 AMD。 但顯然,他們正在向所有架構都推送補丁,而不只是英特爾,這又反過來影響了 AMD 的效能。也許在經過全面測試之後,AMD 會回滾到打補丁之前的版本。補充吐槽:簡直是天才,當你出了問題,就強制讓別人也出問題。

    網友觀點十二:

    免責宣告:我是一名英特爾的工程師,但是我的發言僅代表我個人意見,而且我沒有直接參與這項調查。

    我已經閱讀了谷歌的 Meltdown 論文,可以分享一些想法。我也可以回答大家的問題,但顯然我不會分享任何英特爾內部訊息。

    攻擊主要利用了推測性執行(speculative execution),並依賴於快取方攻擊。其實並不是一個真正意義上的“bug”,因為推測性執行就是按照設計工作的,也就是說它不會影響暫存器或記憶體(除非已提交),但可能會影響快取。因此,這種攻擊會導致 CPU 首先進入某種故障或陷阱,然後按照程式的順序執行一些訪問特權記憶體的指令。這些指令永遠不會退出,因為陷阱會導致他們中斷,但可能會推測性地執行,這就可能影響快取。然後這個攻擊會使用一個旁道攻擊(side channel attack)來獲取快取的內容,於是就可能在裡面發現特權資料。

    基本上任何支援推測性執行的硬體都可能被攻擊。在作業系統層面可以解決大部分問題,當然從硬體層面上也有很多修復的方法。但是目前這個缺陷的嚴重程度,與亂序引擎的深度和其他結構的大小基本上是直接相關的。非常糟糕的是,這基本上意味著一個更快的核心就會更脆弱,更容易受到影響。谷歌的這篇文章稱,他們發現所有的英特爾、AMD 和 ARM 都存在問題,但他們無法對 AMD 或者 ARM 進行攻擊,這可能是因為 AMD 和 ARM 沒有那麼複雜或者亂序引擎的深度更小(雖然這看起來似乎 ARM 存在另一個相關的問題)。所以英特爾暴露的問題最為嚴重,因為英特爾的亂序引擎有更高的效能。

    Spectre 攻擊要少見得多,但對所有 CPU 供應商的影響是一樣的。風險較小是因為攻擊必須針對一個特定的過程,但是相應的修復起來也很困難。

    參考文章

    https://www.pcworld.com/article/3245508/components-processors/intel-responds-to-the-cpu-kernel-bug.html

    https://www.reddit.com/r/sysadmin/comments/7nl8r0/intel_bug_incoming/

    https://www.reddit.com/r/MachineLearning/comments/7ny7kx/n_considering_the_bug_find_in_intel_processors/

    https://security.googleblog.com/2018/01/todays-cpu-vulnerability-what-you-need.html

    https://amazonaws-china.com/cn/security/security-bulletins/AWS-2018-013/?from=timeline

    https://newsroom.intel.com/news/intel-responds-to-security-research-findings/

    今日薦文

    Intel CPU 曝嚴重 Bug,修復將使效能降低 25%~30%:http://t.cn/RHRU1wi

    更多幹貨內容,可關注AI前線,ID:ai-front,後臺回覆「AI」、「TF」、「大資料」可獲得《AI前線》系列PDF迷你書和技能圖譜。


相關文章