您的位置:首頁>正文

穀歌:關於 CPU 推測執行漏洞,你需要知道這些

推測執行 (speculative execution) 是當今主流處理器(包括 AMD、ARM 和 Intel)中廣泛採用的一項優化技術。 其基本思路是利用處理器的閒置時間提前執行一些將來 “可能用得上, 但也可能被放棄” 的計算(包括分支預測、預讀記憶體和檔資料), 從而極大提升系統的整體運行速度。 然而我們發現這項優化技術可能存在漏洞, 進而威脅使用者資料安全。 本文將為大家介紹事件脈絡, 並闡述我們至今為保護大家的資料安全所做的努力和成果。

背景

去年, 我們的 Project Zero 團隊發現了由 “推測執行” 引起的嚴重安全性漏洞, 這是大多數現代處理器 (CPU) 用來優化性能的技術。

Project Zero 的研究人員 Jann Horn 展示了一些可能的進攻場景:惡意行為者可以利用推測執行來讀取本應無法被訪問的系統記憶體。 例如, 未經授權方可能會讀取系統記憶體中的敏感資訊, 如密碼、加密金鑰或是在應用中打開的敏感資訊。 測試還表明, 在虛擬機器上運行的攻擊能夠訪問主機的實體記憶體, 並通過這種方式獲得同一物理主機上其他虛擬機器的記憶體讀取許可權。

這些漏洞會影響許多 CPU, 包括來自 AMD、ARM 和 Intel 的 CPU, 以及運行在其上的設備和作業系統。

在得知了這個新的攻擊類型後, 我們的安全和產品開發團隊便立即行動起來, 捍衛 Google 的系統安全和使用者資料。 我們已經更新了受影響的系統和產品, 以阻止這種新型的攻擊。

我們還與整個行業內的硬體和軟體製造商合作, 説明保護使用者和更廣義的網路安全。 這些努力包括協作分析和開發全新的應對方法。

由於現有的公開報導以及新聞和安全研究領域對這個問題的猜測越來越多, 這可能會導致這種新型的攻擊方法被更多人惡意利用, 因此我們沒有在原定計劃的 2018 年 1 月 9 日, 而是提前了一些時間進行發佈(本文原文在 2018 年 1 月 3 日發表于 Google Security Blog, 本文結尾處有完整連結)。

Google 產品的應對狀態

下面我們列出了受影響的 Google 產品清單及其對此攻擊的應對狀態。 由於這是一種新的攻擊類型, 我們的補丁狀態指的是我們為防範目前已知的缺陷和進攻方式所採取的措施。 這些措施已經在很多產品中起到了顯著效果(甚至某些產品中從一開始就不存在推測執行漏洞)。

在某些情況下, 使用者和客戶可能需要採取額外的操作步驟來確保他們使用的是安全的產品版本。 這個清單和其中的產品狀態可能會隨著新的進展而變化。 屆時我們也會更新這個列表, 並告知大家。

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

Android:

擁有最新安全更新的設備已受保護。 雖然這個漏洞可能造成基於 ARM 的 Android 設備資訊洩露, 但在我們的更新後未發現這個漏洞再次出現。

安裝了最新安全更新的受支援的 Nexus 和 Pixel 設備已受保護。

更多資訊請見:https://support.google.com/faqs/answer/7622138#android

Google Apps / G Suite ( Gmail, Calendar, Drive, Site 等 ) :

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

Google Chrome:

一些使用者或客戶需要採取操作。

更多資訊請見:https://support.google.com/faqs/answer/7622138#chrome

Google Chrome OS ( 如 Chromebook ) :

需要一些額外的使用者或客戶操作。 更多資訊請見:https://support.google.com/faqs/answer/7622138#chromeos

Google Cloud Platform:

Google App Engine:無需額外的客戶操作。

Google Compute Engine:需要一些額外的客戶操作。 更多資訊請見:https://support.google.com/faqs/answer/7622138#gce

Google Kubernetes 引擎:需要一些額外的客戶操作。 更多資訊請見:https://support.google.com/faqs/answer/7622138#gke

Google Cloud Dataflow:需要一些額外的客戶操作。 更多資訊請見:https://support.google.com/faqs/answer/7622138#clouddataflow

Google Cloud Dataproc:需要一些額外的客戶操作。 更多資訊請見:https://support.google.com/faqs/answer/7622138#clouddataproc

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

Google Home / Chromecast:

無需額外的用戶操作。

Google Wifi / OnHub:

無需額外的用戶操作。

漏洞的攻擊方法及對策

要利用此漏洞, 攻擊者首先必須能夠在目標系統上運行惡意程式碼。

Project Zero 的研究人員發現了三種在不同條件下有效的攻擊方法(即 “變種” )。 所有這三種攻擊方式都可以允許擁有普通使用者許可權的進程執行未經授權的記憶體資料讀取, 這些資料可能包含密碼、金鑰資料等敏感資訊。

為了提高系統的運行性能, 許多 CPU 可能會選擇基於被認為可能成立的假設來推測性地提前執行指令。 在推測執行期間, 處理器也會驗證這些假設:如果它們成立, 則繼續之前執行的操作;如果它們不成立, 則回滾之前執行的操作, 並根據實際情況轉向正確的執行路徑。 這種運行機制可能存在分支解除時沒有回滾 CPU 狀態而產生副作用, 並且導致資訊洩露。

對於三個攻擊變種沒有單一的解決方案:每個變種都需要獨立的保護措施。 許多供應商都提供了補丁, 可用於應對一種或多種的此類攻擊。

我們將繼續應對此漏洞, 並會在發佈進一步措施時更新我們的產品支援頁面。 同時, 感謝所有合作夥伴和 Google 工程師, 在過去幾個月裡不知疲倦地為我們的使用者和客戶提供了安全支援。

> 本文的英文原連結:https://security.googleblog.com/2018/01/todays-cpu-vulnerability-what-you-need.html

> Project Zero 關於此漏洞的完整報告請使用如下連結查看:https://googleprojectzero.blogspot.com/2018/01/reading-privileged-memory-with-side.html

> Google 針對此漏洞的所有產品應對狀態清單請使用如下連結查看:https://support.google.com/faqs/answer/7622138

希望這篇文章可以幫助您瞭解到您在使用 Google 工具及服務面對漏洞時的狀態及應對舉措。如果您還有與此相關的疑惑及問題,歡迎在我們的微信公眾平臺留言,我們將收集有代表性的問題,請 Google 工程師做出解答,並會在下一期的“Android 開發者 FAQ” 專題文章中統一回復大家。

在過去幾個月裡不知疲倦地為我們的使用者和客戶提供了安全支援。

> 本文的英文原連結:https://security.googleblog.com/2018/01/todays-cpu-vulnerability-what-you-need.html

> Project Zero 關於此漏洞的完整報告請使用如下連結查看:https://googleprojectzero.blogspot.com/2018/01/reading-privileged-memory-with-side.html

> Google 針對此漏洞的所有產品應對狀態清單請使用如下連結查看:https://support.google.com/faqs/answer/7622138

希望這篇文章可以幫助您瞭解到您在使用 Google 工具及服務面對漏洞時的狀態及應對舉措。如果您還有與此相關的疑惑及問題,歡迎在我們的微信公眾平臺留言,我們將收集有代表性的問題,請 Google 工程師做出解答,並會在下一期的“Android 開發者 FAQ” 專題文章中統一回復大家。

同類文章
Next Article
喜欢就按个赞吧!!!
点击关闭提示