時間:2018-05-24 來源:互聯網 瀏覽量:
新智元推薦
本文由微信公眾號 「AI 前線」原創,(ID:ai-front)
編譯 | Debra 編輯 | Natalie
【新智元導讀】 近日,微軟和穀歌的研究人員又發現了現代處理器中存在數據泄漏風險的 Meltdown-Spectre 安全漏洞第四種變種。變體 4 影響英特爾、AMD 和 Arm 的無序執行處理器內核,以及 IBM 的 Power 8、Power 9 和 System z CPU。
近日,微軟和穀歌的研究人員又發現了現代處理器中存在數據泄漏風險的 Meltdown-Spectre 安全漏洞第四種變種。
在安全係數較低的電腦或設備上,這些推測性執行設計缺陷可能會被惡意軟件攻擊並利用,或通過非正常登錄係統,從內核或應用程序內存慢慢提取隱私信息,如密碼等。 現代處理器被發現的安全漏洞變體 1 和變體 2 被稱為 Spectre(CVE-2017-5753,CVE-2017-5715),變體 3 則被稱為 Meltdown(CVE-2017-5754),這幾個安全漏洞前段時間在業界引起了一陣不小的恐慌。一波未平一波又起,微軟和穀歌研究人員又披露了新漏洞變體 4(CVE-2018-3639)。
新漏洞有何影響?
變體 4 影響 英特爾、AMD 和 Arm 的無序執行處理器內核,以及 IBM 的 Power 8、Power 9 和 System z CPU 。要知道,ARM 內核可是廣泛應用於全球各地的智能手機、平板電腦和嵌入式電子產品中。
第四種變體可能會被程序運行的腳本文件(例如瀏覽器標簽中的網頁 JavaScript)利用,從應用程序的其他部分 竊取敏感信息 ,例如從另一個標簽中獲得個人詳細信息。
根據英特爾的說法,其已經向公眾發布針對變體 1 的緩解措施,這是最難解決的問題,因此利用變體 4 進行攻擊要困難得多。換句話說,修補變體 1 漏洞會使變體 4 攻擊網頁瀏覽器,以及即時執行腳本和其他語言的類似程序變得困難。
到目前為止,沒有已知針對變體 4 的代碼擴散。
另外,研究人員還披露了一個漏洞 CVE-2018-3640:這是一個流氓係統寄存器讀取,允許普通程序查看寄存器中的硬件狀態標誌等,這些標誌本應隻有操作係統內核、驅動程序以及管理程序訪問。
漏洞工作原理
變體 4 被稱為 推測性存儲旁路 (speculative store bypass)。這是在無序執行工程界的另一個 “等等,為什麼我沒有想到?” 式設計。這個漏洞是 Google Project Zero 的 Jann Horn 發現的,他還是最早發現早期的 Spectre 和 Meltdown 漏洞的人。
這個漏洞的工作原理基於一個事實,即當麵對大量將數據存儲到內存的軟件指令時,CPU 會在存儲完成時預計是否可以進行任何其他無序執行。與其他指令相比,寫入內存通常較慢。一個現代化的 CPU 不會被存儲阻礙了進程,因此它會與此同時尋找有沒有其他可以同時進行的任務。
如果處理器內核在程序推測時發現一條從內存中加載數據的指令,它將預測這個加載操作是否受到之前存儲的影響。例如,如果存儲正在寫入內存,稍後從內存中提取,則需要先完成存儲。如果預測可以安全加載,處理器會推測性地執行該操作,而芯片的其他部分則忙於存儲操作和其他代碼。
這種推測行為涉及將數據從內存拉入一級數據緩存。如果事實證明程序不應該在存儲之前運行加載,那麼放棄指令並重新啟動已經為時已晚:基於取回的數據,緩存數據會被接觸到,這留給惡意程序足夠的機會接觸提取數據。一遍又一遍地重複這個過程,你可以從應用程序的其他部分複製這些數據。例如,在一個瀏覽器標簽中運行的 JavaScript 可以窺探其他標簽中的網頁。
Specter 這個名字的選擇是有深意的: 它就像一個在機器中時時觀察的幽靈一樣 。通過觀察由處理器的推測執行引擎更新的緩存,就可以識別隱私數據。通過盡可能地減少閑置的處理單元,這種推測對於盡可能快地運行芯片至關重要,但缺點是 CPU 可能被欺騙,從而向本應被禁止的應用程序和腳本泄露內存內容。
下麵一段視頻由 Linux 發行巨頭 Red Hat 製作的視頻展示了此缺陷的原理:
英特爾、Arm 等做出回應
英特爾產品安全執行官 Leslie Culbertson 表示:“變體 4 利用的推測性執行是大多數現代處理器體係結構的共同特征,它可能通過側通道暴露某些類型的數據。”
“在這種情況下,研究人員在基於語言的運行時環境中演示了變體 4,目前我們並沒有發現通過瀏覽器竊取信息的案例,瀏覽器是最常用的運行時如在 Web 瀏覽器中運行的 JavaScript。”
“從 1 月份開始,大多數領先的瀏覽器提供商在其管理的運行時中為變體 1 部署了緩解措施。這些緩解措施大大增加了在 Web 瀏覽器中利用旁道的難度,同樣也適用於變體 4,現在可供消費者使用。”
根據 Culbertson 的說法,英特爾和其他公司將發布新的微碼和軟件調整,以更全麵地應對利用第四種變體的惡意軟件。據悉,計算機和設備製造商正在對這些補丁進行測試。有趣的是,這些補丁會被 默認禁用 ,大概是因為漏洞成功進攻的風險太低。這個漏洞修複很棘手,但也很難被利用。被默認禁用的另一個原因可能是,英特爾過去一直在努力推出穩定的 Spectre 更新。
“為確保我們提供的緩解措施全麵並能有效防止其他方式的進攻,我們和行業合作夥伴正在為變體 4 提供額外的緩解措施,這是一個微碼和軟件更新組合,” 英特爾執行官表示。
“我們已經向 OEM 係統製造商和係統軟件供應商提供了測試版的變體 4 微碼更新,預計將在未來幾周內發布到生產 BIOS 和軟件更新中。”
“這種緩解措施將被設置為默認情況下,讓客戶選擇是否啟用它。我們預計大多數行業軟件合作夥伴也會使用默認關閉選項。在此配置中,我們沒有觀察到性能受到影響的現象。啟用緩解措施後,我們觀察到客戶和服務器測試係統基於 SYSmark 2014 SE 和 SPEC 等基準測試的總體評分會受到 2-8%的影響。”
Arm 的一位發言人在一份聲明中稱:
最新的 Specter 變體對一小部分 Arm Cortex-A 內核會產生影響,用戶可通過 Arm 開發的固件更新進行補救,該更新可在 www.arm.com/security-update 上找到。與之前的 Specter 變體一樣,這個變體隻有在用戶設備上運行特定惡意軟件時才能進行攻擊。Arm 強烈建議個人用戶遵循安全措施,以防止惡意軟件攻擊,並確保軟件更新到最新版本。
此外,今年 7 月,Arm 將向係統芯片設計人員提供針對 Specter 版本 2 的 Cortex-A72,Cortex-A73 和 Cortex-A75 內核的更新版本,Cortex- A75 將可以抵製 Meltdown,也就是變種 3。
AMD 的發言人稱:
AMD 推薦的 SSB 推測性存儲旁路] 緩解措施需要將操作係統更新到 Family 15 處理器(“Bulldozer” 產品)。有關技術細節,請參閱 AMD 白皮書( https://developer.amd.com/wp-content/resources/124441_AMD64_SpeculativeStoreBypassDisable_Whitepaper_final.pdf )。微軟即將完成針對 Windows 客戶端和服務器操作係統的 AMD 特定更新的最終測試和驗證,這些操作係統預計將通過其標準更新流程發布。同樣,Linux 發行商正在為 SSB 開發操作係統更新。AMD 建議您與操作係統提供商取得聯係,以獲取具體指導。
基於開發漏洞的難度,AMD 和我們的生態係統合作夥伴目前推薦使用默認設置來支持內存消歧。
漏洞應對措施
Red Hat 今天發布了應對第四個變體的詳細指南,解釋了漏洞的影響以及工作原理,請參閱:
https://www.redhat.com/en/blog/speculative-store-bypass-explained-what-it-how-it-works
VMware 也提供了建議和更新:
https://blogs.vmware.com/security/2018/05/vmsa-2018-0012.html#
而 Xen Project 做出解釋並提供了一個修複方法:
https://xenbits.xen.org/xsa/advisory-263.html
IBM 的發言人目前還沒有表態。
小結
我們注意到,到目前為止,並沒有發現惡意軟件攻擊芯片中的任何 Spectre 和 Meltdown 漏洞,更不用說這個最新的變體,這或許是因為廣泛采取緩解措施讓攻擊者無從下手,或者這樣做根本不值得,因為還有很多特權升級漏洞可以被利用進入內核和其他應用程序。
除此之外,還有各種嚐試利用 Specter 係列設計缺陷的技術出現,例如本月早些時候(https://www.theregister.co.uk/2018/05/03/just_your_monthly_reminder_that_the_spectre_bug_is_still_out_there/ ),以及三月份兩次披露的設計缺陷(https://www.theregister.co.uk/2018/03/01/us_researchers_apply_spectrestyle_tricks_to_break_intels_sgx/ )。
此外,為了利用這些缺陷,惡意軟件必須在設備上運行,這並不是一件容易的事情,因為你得欺騙用戶安裝一些不好的代碼。英特爾建議用戶可以在閑暇時使用圖形處理器掃描內存以檢查軟件缺陷,如利用幽靈進行攻擊的惡意軟件。
對於我們來說,這些芯片級的安全漏洞是洞察半導體設計的一次機會,在此案例中,對速度的一味追求導致存儲器保護機製被遺忘在角落。而在操作係統和編譯器設計的世界中,程序員們在保護內核和用戶模式代碼的安全上,還有很長的路要走。
原文鏈接:
https://www.theregister.co.uk/2018/05/21/spectre_meltdown_v4_microsoft_google/
本文來自新智元,創業家係授權發布,略經編輯修改,版權歸作者所有,內容僅代表作者獨立觀點。[ 下載創業家APP,讀懂中國最賺錢的7000種生意 ]