超线程已玩完?ChromeOS 砍掉 Intel CPU 的关键功能;微软和苹果建议类似措施
軟件開發(fā)商將安全放在性能的前面,停用超線程(SMT)技術(shù)。
就在今天英特爾謹(jǐn)慎地披露其數(shù)百萬個(gè)處理器中發(fā)現(xiàn)了一系列安全漏洞后,谷歌已關(guān)閉 Chrome OS 中的超線程機(jī)制,以全面保護(hù)用戶。
與此同時(shí),蘋果、微軟、IBM 的 Red Hat、QubesOS 和 Xen 紛紛建議客戶:可能應(yīng)采取類似措施。
這一系列漏洞名為微架構(gòu)數(shù)據(jù)采樣(MDS),這里是英特爾的官方公告(https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00233.html),以及應(yīng)對(duì)數(shù)據(jù)泄露漏洞的必要的微代碼更新和受影響產(chǎn)品列表。安裝這些修復(fù)程序并禁用英特爾的超線程功能是堵住漏洞的肯定能奏效的方法,不過性能可能因此受影響。
背景介紹
超線程是英特爾實(shí)施的同步多線程(SMT),這種技術(shù)用于將一個(gè)物理處理器核心分成兩個(gè)虛擬核心(名為硬件線程)。它應(yīng)該可以提升性能,因?yàn)樵试S兩個(gè)軟件線程同時(shí)通過每個(gè)物理核心來運(yùn)行,并根據(jù)需要共享硅片上的可用資源。這意味著一個(gè)物理核心就可以同時(shí)處理同一個(gè)應(yīng)用程序中或兩個(gè)獨(dú)立應(yīng)用程序中的兩個(gè)線程,從而提升吞吐量。一些工作負(fù)載得益于此,而一些工作負(fù)載受到阻礙或毫無成效。實(shí)際情況可能因人而異。
然而,它確實(shí)帶來的一個(gè)問題是這個(gè)風(fēng)險(xiǎn):MDS 等側(cè)通道監(jiān)視技術(shù)可能會(huì)破壞硬件線程隔離,訪問本該看不到的敏感數(shù)據(jù)。換句話說,一個(gè)線程可能窺視共享同一個(gè)物理 CPU 核心的另一個(gè)線程的內(nèi)存訪問,并有可能獲取密碼、密鑰及其他秘密信息。
實(shí)際上,今天披露的芯片漏洞就涉及一系列設(shè)計(jì)失誤:高危系統(tǒng)上的惡意軟件或惡意用戶可以鉆 ZombieLoad(CVE-2018-12130)的空子,可能竊取瀏覽器歷史記錄、網(wǎng)站內(nèi)容、用戶密鑰、密碼和系統(tǒng)級(jí)秘密信息(比如來自內(nèi)存其他部分的磁盤加密密鑰)。我們獲悉,它可以攻陷 CPU 保護(hù)環(huán)和進(jìn)程邊界,并針對(duì)云和本地虛擬機(jī)以及可信執(zhí)行環(huán)境。概念證明漏洞代碼(https://github.com/IAIK/ZombieLoad)可用來供你自己試一下。
還有 RIDL 和 Fallout(CVE-2018-12126、CVE-2018-12127 和 CVE-2019-11091),可以被用來從內(nèi)存中竊取機(jī)密信息。
應(yīng)對(duì)英特爾芯片中的這些安全疏忽將需要安裝微代碼更新,以及利用這些更新的操作系統(tǒng)和虛擬機(jī)管理程序補(bǔ)丁,因此咨詢一下操作系統(tǒng)開發(fā)商(需要的話還要咨詢系統(tǒng)制造商),問問有無新軟件,盡快安裝。這些修復(fù)程序可能會(huì)導(dǎo)致性能下降,具體取決于你運(yùn)行的程序類型。
你可以選擇關(guān)閉超線程以完全消除威脅,不過可能需要在打開和關(guān)閉該功能的情況下測試使用的應(yīng)用程序,斟酌一下是否值得為之降低性能。
谷歌
谷歌表示,由于擔(dān)心安全,它在 Chrome OS 74 中默認(rèn)禁用了超線程,并特別指出 Chrome OS 75 會(huì)添加額外的應(yīng)對(duì)措施。
谷歌的工作人員在漏洞通知中稱:“決定禁用或啟用超線程實(shí)際上就是權(quán)衡安全與性能。在禁用超線程的情況下,英特爾 CPU 可能出現(xiàn)性能下降的情況,具體取決于工作負(fù)載。但在啟用超線程的情況下,用戶可以執(zhí)行鉆 MDS 的空子以讀取敏感內(nèi)存內(nèi)容的代碼,比如只要訪問網(wǎng)站或運(yùn)行安卓應(yīng)用程序。”
谷歌在此(https://support.google.com/faqs/answer/9330250)進(jìn)一步詳細(xì)介紹了如何從客戶端應(yīng)用程序到云服務(wù)全面處理錯(cuò)誤。
BSD 社區(qū)
舉例說,去年 OpenBSD 社區(qū)在 OpenBSD 6.4 中禁用超線程后得出了這個(gè)結(jié)論。針對(duì)過去表明超線程是風(fēng)險(xiǎn)的英特爾處理器漏洞(TLBleed 和 L1TF),OpenBSD 的領(lǐng)導(dǎo)者 Theo de Raadt 聲稱,超線程基本上壞掉了,因?yàn)樗趦蓚€(gè) CPU 實(shí)例之間共享資源而不保證安全隔離。
當(dāng)時(shí)他在郵件列表中說:“在 BIOS 中禁用你的所有英特爾系統(tǒng)上的超線程。”
蘋果
蘋果發(fā)布了 macOS Mojave 10.14.5,以對(duì)付通過 JavaScript 和 Safari 實(shí)行的 MDS 攻擊。但它表示全面的修復(fù)程序需要關(guān)閉超線程,這可能導(dǎo)致性能受到嚴(yán)重影響。
蘋果在公告中警告:“全面應(yīng)對(duì)需要使用 Terminal 應(yīng)用程序來啟用額外的 CPU 指令,并禁用超線程處理技術(shù)。這項(xiàng)功能適用于采用最新安全更新版的 macOS Mojave、High Sierra 和 Sierra,可能會(huì)使性能最多降低 40%,對(duì)高度多線程的密集計(jì)算任務(wù)來說影響最大。”
對(duì)于使用老式 Mac 的蘋果用戶來說頗為遺憾的是,英特爾還沒有為 2010 年或更早版本的 Mac 機(jī)型提供微代碼修復(fù)程序。
微軟
微軟在其 MDS 威脅指南中沒有采取堅(jiān)定的立場,不過特別指出:“為了得到全面保護(hù),客戶可能還需要禁用超線程。”這個(gè) Windows 巨頭已發(fā)布了操作系統(tǒng)更新,加上必要的微代碼更新,共同應(yīng)對(duì)英特爾的設(shè)計(jì)漏洞,請(qǐng)參閱上述鏈接。
Red Hat
Red Hat 在公告中附有一個(gè)鏈接以禁用超線程,但沒給出這樣那樣的建議。其超線程(SMT)安全頁面特別指出:“最近發(fā)現(xiàn)了眾多微處理器漏洞。某些問題需要禁用 SMT,才能更全面地應(yīng)對(duì)這個(gè)問題。”
這家企業(yè) Linux 經(jīng)銷商在這里(https://access.redhat.com/solutions/rhel-smt)和這里(https://www.redhat.com/en/blog/understanding-mds-vulnerability-what-it-why-it-works-and-how-mitigate-it?sc_cid=701f2000000tyBjAAI)有更多的技術(shù)說明,解釋了原因和影響。其他 Linux 發(fā)行版也應(yīng)該會(huì)推出各自的修復(fù)程序。比如,這是 Ubuntu 和 Debian 的修復(fù)程序:https://blog.ubuntu.com/2019/05/14/ubuntu-updates-to-mitigate-new-microarchitectural-data-sampling-mds-vulnerabilities 和 https://security-tracker.debian.org/tracker/DSA-4444-1。
“如果你使用針對(duì)容器優(yōu)化的操作系統(tǒng)(COS)作為來賓操作系統(tǒng),并且你在虛擬機(jī)中運(yùn)行不受信任的多租戶工作負(fù)載,谷歌云僅建議為 Compute Engine 用戶禁用超線程。”谷歌為在 Kubernetes Engine 里面的多租戶服務(wù)上運(yùn)行不受信任的代碼的人給出了類似建議。
Xen 開發(fā)的虛擬機(jī)管理程序由 AWS 及其他云提供商使用,它發(fā)布了一份公告(https://xenbits.xen.org/xsa/advisory-297.html),詳細(xì)說明了超線程的風(fēng)險(xiǎn),同時(shí)拒絕默認(rèn)禁用該技術(shù),因?yàn)檫@么做造成的破壞性太大。上述鏈接附有應(yīng)對(duì)措施和修復(fù)程序。
其公告聲稱:“只有禁用超線程(如果在 BIOS 中可用且處于活躍狀態(tài)),并且對(duì) Xen 打補(bǔ)丁,才能完全阻止數(shù)據(jù)從 Xen 或其他來賓操作系統(tǒng)泄露出去。”
依賴 Xen 進(jìn)行虛擬化的 Qubes 給出的說法大同小異。
英特爾覺得其技術(shù)很好,讓行業(yè)合作伙伴來自行決定要不要禁用超線程。
公司發(fā)言人在電子郵件中告訴 IT 外媒 The Register:“英特爾不建議禁用超線程。”
“單單禁用 SMT/HT 防范不了 MDS,這么做可能會(huì)影響工作負(fù)載的性能或資源利用率,影響有多大取決于具體工作負(fù)載,明白這一點(diǎn)很重要。”
“系統(tǒng)更新后,在某些情況下,可能需要考慮采取另外的措施。我們的軟件合作伙伴會(huì)提供指導(dǎo),幫助客戶為對(duì)其需求而言至關(guān)重要的系統(tǒng)和工作負(fù)載做出正確的選擇。”
相關(guān)閱讀:
Intel CPU 千瘡百孔:又有新的安全漏洞 PortSmash
Intel 扔掉了「X86 和馮·諾伊曼架構(gòu)」,打造百億億次數(shù)據(jù)流引擎
Intel CPU 又爆漏洞:一把通向數(shù)據(jù)王國的鑰匙
Intel CPU 根本性的安全風(fēng)險(xiǎn):超線程
IT 行業(yè)的災(zāi)難:所有操作系統(tǒng)內(nèi)核都可能被劫持或崩潰!因程序員誤讀了 Intel 的文檔
Intel CPU 又曝 8 個(gè)大 BUG .... 這次更危險(xiǎn)....
Intel CPU 曝大 BUG:迫使重新設(shè)計(jì) Linux 和 Windows
總結(jié)
以上是生活随笔為你收集整理的超线程已玩完?ChromeOS 砍掉 Intel CPU 的关键功能;微软和苹果建议类似措施的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 终于有个正当理由发呆了!国家卫生健康委:
- 下一篇: 微信电脑版多开工具 电脑端微信多开小工具