近日,微軟和谷歌的研究人員又發(fā)現(xiàn)了現(xiàn)代處理器中存在數(shù)據(jù)泄漏風(fēng)險(xiǎn)的 Meltdown-Spectre 安全漏洞第四種變種。變體 4 影響英特爾、AMD 和 Arm 的無序執(zhí)行處理器內(nèi)核,以及 IBM 的 Power 8、Power 9 和 System z CPU。
近日,微軟和谷歌的研究人員又發(fā)現(xiàn)了現(xiàn)代處理器中存在數(shù)據(jù)泄漏風(fēng)險(xiǎn)的 Meltdown-Spectre 安全漏洞第四種變種。
在安全系數(shù)較低的電腦或設(shè)備上,這些推測(cè)性執(zhí)行設(shè)計(jì)缺陷可能會(huì)被惡意軟件攻擊并利用,或通過非正常登錄系統(tǒng),從內(nèi)核或應(yīng)用程序內(nèi)存慢慢提取隱私信息,如密碼等。現(xiàn)代處理器被發(fā)現(xiàn)的安全漏洞變體 1 和變體 2 被稱為 Spectre(CVE-2017-5753,CVE-2017-5715),變體 3 則被稱為 Meltdown(CVE-2017-5754),這幾個(gè)安全漏洞前段時(shí)間在業(yè)界引起了一陣不小的恐慌。一波未平一波又起,微軟和谷歌研究人員又披露了新漏洞變體 4(CVE-2018-3639)。
新漏洞有何影響?
變體 4 影響英特爾、AMD 和 Arm 的無序執(zhí)行處理器內(nèi)核,以及 IBM 的 Power 8、Power 9 和 System z CPU。要知道,ARM 內(nèi)核可是廣泛應(yīng)用于全球各地的智能手機(jī)、平板電腦和嵌入式電子產(chǎn)品中。
第四種變體可能會(huì)被程序運(yùn)行的腳本文件(例如瀏覽器標(biāo)簽中的網(wǎng)頁 JavaScript)利用,從應(yīng)用程序的其他部分竊取敏感信息,例如從另一個(gè)標(biāo)簽中獲得個(gè)人詳細(xì)信息。
根據(jù)英特爾的說法,其已經(jīng)向公眾發(fā)布針對(duì)變體 1 的緩解措施,這是最難解決的問題,因此利用變體 4 進(jìn)行攻擊要困難得多。換句話說,修補(bǔ)變體 1 漏洞會(huì)使變體 4 攻擊網(wǎng)頁瀏覽器,以及即時(shí)執(zhí)行腳本和其他語言的類似程序變得困難。
到目前為止,沒有已知針對(duì)變體 4 的代碼擴(kuò)散。
另外,研究人員還披露了一個(gè)漏洞 CVE-2018-3640:這是一個(gè)流氓系統(tǒng)寄存器讀取,允許普通程序查看寄存器中的硬件狀態(tài)標(biāo)志等,這些標(biāo)志本應(yīng)只有操作系統(tǒng)內(nèi)核、驅(qū)動(dòng)程序以及管理程序訪問。
漏洞工作原理
變體 4 被稱為推測(cè)性存儲(chǔ)旁路(speculative store bypass)。這是在無序執(zhí)行工程界的另一個(gè) “等等,為什么我沒有想到?” 式設(shè)計(jì)。這個(gè)漏洞是 Google Project Zero 的 Jann Horn 發(fā)現(xiàn)的,他還是最早發(fā)現(xiàn)早期的 Spectre 和 Meltdown 漏洞的人。
這個(gè)漏洞的工作原理基于一個(gè)事實(shí),即當(dāng)面對(duì)大量將數(shù)據(jù)存儲(chǔ)到內(nèi)存的軟件指令時(shí),CPU 會(huì)在存儲(chǔ)完成時(shí)預(yù)計(jì)是否可以進(jìn)行任何其他無序執(zhí)行。與其他指令相比,寫入內(nèi)存通常較慢。一個(gè)現(xiàn)代化的 CPU 不會(huì)被存儲(chǔ)阻礙了進(jìn)程,因此它會(huì)與此同時(shí)尋找有沒有其他可以同時(shí)進(jìn)行的任務(wù)。
如果處理器內(nèi)核在程序推測(cè)時(shí)發(fā)現(xiàn)一條從內(nèi)存中加載數(shù)據(jù)的指令,它將預(yù)測(cè)這個(gè)加載操作是否受到之前存儲(chǔ)的影響。例如,如果存儲(chǔ)正在寫入內(nèi)存,稍后從內(nèi)存中提取,則需要先完成存儲(chǔ)。如果預(yù)測(cè)可以安全加載,處理器會(huì)推測(cè)性地執(zhí)行該操作,而芯片的其他部分則忙于存儲(chǔ)操作和其他代碼。
這種推測(cè)行為涉及將數(shù)據(jù)從內(nèi)存拉入一級(jí)數(shù)據(jù)緩存。如果事實(shí)證明程序不應(yīng)該在存儲(chǔ)之前運(yùn)行加載,那么放棄指令并重新啟動(dòng)已經(jīng)為時(shí)已晚:基于取回的數(shù)據(jù),緩存數(shù)據(jù)會(huì)被接觸到,這留給惡意程序足夠的機(jī)會(huì)接觸提取數(shù)據(jù)。一遍又一遍地重復(fù)這個(gè)過程,你可以從應(yīng)用程序的其他部分復(fù)制這些數(shù)據(jù)。例如,在一個(gè)瀏覽器標(biāo)簽中運(yùn)行的 JavaScript 可以窺探其他標(biāo)簽中的網(wǎng)頁。
Specter 這個(gè)名字的選擇是有深意的:它就像一個(gè)在機(jī)器中時(shí)時(shí)觀察的幽靈一樣。通過觀察由處理器的推測(cè)執(zhí)行引擎更新的緩存,就可以識(shí)別隱私數(shù)據(jù)。通過盡可能地減少閑置的處理單元,這種推測(cè)對(duì)于盡可能快地運(yùn)行芯片至關(guān)重要,但缺點(diǎn)是 CPU 可能被欺騙,從而向本應(yīng)被禁止的應(yīng)用程序和腳本泄露內(nèi)存內(nèi)容。
英特爾、Arm 等做出回應(yīng)
英特爾產(chǎn)品安全執(zhí)行官 Leslie Culbertson 表示:“變體 4 利用的推測(cè)性執(zhí)行是大多數(shù)現(xiàn)代處理器體系結(jié)構(gòu)的共同特征,它可能通過側(cè)通道暴露某些類型的數(shù)據(jù)。”
“在這種情況下,研究人員在基于語言的運(yùn)行時(shí)環(huán)境中演示了變體 4,目前我們并沒有發(fā)現(xiàn)通過瀏覽器竊取信息的案例,瀏覽器是最常用的運(yùn)行時(shí)如在 Web 瀏覽器中運(yùn)行的 JavaScript。”
“從 1 月份開始,大多數(shù)領(lǐng)先的瀏覽器提供商在其管理的運(yùn)行時(shí)中為變體 1 部署了緩解措施。這些緩解措施大大增加了在 Web 瀏覽器中利用旁道的難度,同樣也適用于變體 4,現(xiàn)在可供消費(fèi)者使用。”
根據(jù) Culbertson 的說法,英特爾和其他公司將發(fā)布新的微碼和軟件調(diào)整,以更全面地應(yīng)對(duì)利用第四種變體的惡意軟件。據(jù)悉,計(jì)算機(jī)和設(shè)備制造商正在對(duì)這些補(bǔ)丁進(jìn)行測(cè)試。有趣的是,這些補(bǔ)丁會(huì)被默認(rèn)禁用,大概是因?yàn)槁┒闯晒M(jìn)攻的風(fēng)險(xiǎn)太低。這個(gè)漏洞修復(fù)很棘手,但也很難被利用。被默認(rèn)禁用的另一個(gè)原因可能是,英特爾過去一直在努力推出穩(wěn)定的 Spectre 更新。
“為確保我們提供的緩解措施全面并能有效防止其他方式的進(jìn)攻,我們和行業(yè)合作伙伴正在為變體 4 提供額外的緩解措施,這是一個(gè)微碼和軟件更新組合,” 英特爾執(zhí)行官表示。
“我們已經(jīng)向 OEM 系統(tǒng)制造商和系統(tǒng)軟件供應(yīng)商提供了測(cè)試版的變體 4 微碼更新,預(yù)計(jì)將在未來幾周內(nèi)發(fā)布到生產(chǎn) BIOS 和軟件更新中。”
“這種緩解措施將被設(shè)置為默認(rèn)情況下,讓客戶選擇是否啟用它。我們預(yù)計(jì)大多數(shù)行業(yè)軟件合作伙伴也會(huì)使用默認(rèn)關(guān)閉選項(xiàng)。在此配置中,我們沒有觀察到性能受到影響的現(xiàn)象。啟用緩解措施后,我們觀察到客戶和服務(wù)器測(cè)試系統(tǒng)基于 SYSmark 2014 SE 和 SPEC 等基準(zhǔn)測(cè)試的總體評(píng)分會(huì)受到 2-8%的影響。”
Arm 的一位發(fā)言人在一份聲明中稱:
最新的 Specter 變體對(duì)一小部分 Arm Cortex-A 內(nèi)核會(huì)產(chǎn)生影響,用戶可通過 Arm 開發(fā)的固件更新進(jìn)行補(bǔ)救,該更新可在 www.arm.com/security-update 上找到。與之前的 Specter 變體一樣,這個(gè)變體只有在用戶設(shè)備上運(yùn)行特定惡意軟件時(shí)才能進(jìn)行攻擊。Arm 強(qiáng)烈建議個(gè)人用戶遵循安全措施,以防止惡意軟件攻擊,并確保軟件更新到最新版本。
此外,今年 7 月,Arm 將向系統(tǒng)芯片設(shè)計(jì)人員提供針對(duì) Specter 版本 2 的 Cortex-A72,Cortex-A73 和 Cortex-A75 內(nèi)核的更新版本,Cortex- A75 將可以抵制 Meltdown,也就是變種 3。
AMD 的發(fā)言人稱:
AMD 推薦的 SSB 推測(cè)性存儲(chǔ)旁路] 緩解措施需要將操作系統(tǒng)更新到 Family 15 處理器(“Bulldozer” 產(chǎn)品)。有關(guān)技術(shù)細(xì)節(jié),請(qǐng)參閱 AMD 白皮書(https://developer.amd.com/wp-content/resources/124441_AMD64_SpeculativeStoreBypassDisable_Whitepaper_final.pdf)。微軟即將完成針對(duì) Windows 客戶端和服務(wù)器操作系統(tǒng)的 AMD 特定更新的最終測(cè)試和驗(yàn)證,這些操作系統(tǒng)預(yù)計(jì)將通過其標(biāo)準(zhǔn)更新流程發(fā)布。同樣,Linux 發(fā)行商正在為 SSB 開發(fā)操作系統(tǒng)更新。AMD 建議您與操作系統(tǒng)提供商取得聯(lián)系,以獲取具體指導(dǎo)。
基于開發(fā)漏洞的難度,AMD 和我們的生態(tài)系統(tǒng)合作伙伴目前推薦使用默認(rèn)設(shè)置來支持內(nèi)存消歧。
漏洞應(yīng)對(duì)措施
Red Hat 今天發(fā)布了應(yīng)對(duì)第四個(gè)變體的詳細(xì)指南,解釋了漏洞的影響以及工作原理,請(qǐng)參閱:
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 做出解釋并提供了一個(gè)修復(fù)方法:
https://xenbits.xen.org/xsa/advisory-263.html
IBM 的發(fā)言人目前還沒有表態(tài)。
小結(jié)
我們注意到,到目前為止,并沒有發(fā)現(xiàn)惡意軟件攻擊芯片中的任何 Spectre 和 Meltdown 漏洞,更不用說這個(gè)最新的變體,這或許是因?yàn)閺V泛采取緩解措施讓攻擊者無從下手,或者這樣做根本不值得,因?yàn)檫€有很多特權(quán)升級(jí)漏洞可以被利用進(jìn)入內(nèi)核和其他應(yīng)用程序。
除此之外,還有各種嘗試?yán)?Specter 系列設(shè)計(jì)缺陷的技術(shù)出現(xiàn),例如本月早些時(shí)候(https://www.theregister.co.uk/2018/05/03/just_your_monthly_reminder_that_the_spectre_bug_is_still_out_there/ ),以及三月份兩次披露的設(shè)計(jì)缺陷(https://www.theregister.co.uk/2018/03/01/us_researchers_apply_spectrestyle_tricks_to_break_intels_sgx/ )。
此外,為了利用這些缺陷,惡意軟件必須在設(shè)備上運(yùn)行,這并不是一件容易的事情,因?yàn)槟愕闷垓_用戶安裝一些不好的代碼。英特爾建議用戶可以在閑暇時(shí)使用圖形處理器掃描內(nèi)存以檢查軟件缺陷,如利用幽靈進(jìn)行攻擊的惡意軟件。
對(duì)于我們來說,這些芯片級(jí)的安全漏洞是洞察半導(dǎo)體設(shè)計(jì)的一次機(jī)會(huì),在此案例中,對(duì)速度的一味追求導(dǎo)致存儲(chǔ)器保護(hù)機(jī)制被遺忘在角落。而在操作系統(tǒng)和編譯器設(shè)計(jì)的世界中,程序員們?cè)诒Wo(hù)內(nèi)核和用戶模式代碼的安全上,還有很長(zhǎng)的路要走。
-
微軟
+關(guān)注
關(guān)注
4文章
6572瀏覽量
103963 -
cpu
+關(guān)注
關(guān)注
68文章
10829瀏覽量
211198 -
谷歌
+關(guān)注
關(guān)注
27文章
6142瀏覽量
105118 -
intel
+關(guān)注
關(guān)注
19文章
3480瀏覽量
185764
原文標(biāo)題:微軟谷歌再曝 CPU 新漏洞,Intel、AMD、Arm 全部遭殃
文章出處:【微信號(hào):AI_era,微信公眾號(hào):新智元】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論