當前位置:
首頁 > 科技 > 超線程已玩完?ChromeOS 砍掉 Intel CPU 的關鍵功能;微軟和蘋果建議類似措施

超線程已玩完?ChromeOS 砍掉 Intel CPU 的關鍵功能;微軟和蘋果建議類似措施

軟體開發商將安全放在性能的前面,停用超線程(SMT)技術。

就在今天英特爾謹慎地披露其數百萬個處理器中發現了一系列安全漏洞後,谷歌已關閉Chrome OS中的超線程機制,以全面保護用戶。

與此同時,蘋果、微軟、IBM的Red Hat、QubesOS和Xen紛紛建議客戶:可能應採取類似措施。

這一系列漏洞名為微架構數據採樣(MDS),這裡是英特爾的官方公告(https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00233.html),以及應對數據泄露漏洞的必要的微代碼更新和受影響產品列表。安裝這些修復程序並禁用英特爾的超線程功能是堵住漏洞的肯定能奏效的方法,不過性能可能因此受影響。

背景介紹

超線程是英特爾實施的同步多線程(SMT),這種技術用於將一個物理處理器核心分成兩個虛擬核心(名為硬體線程)。它應該可以提升性能,因為允許兩個軟體線程同時通過每個物理核心來運行,並根據需要共享矽片上的可用資源。這意味著一個物理核心就可以同時處理同一個應用程序中或兩個獨立應用程序中的兩個線程,從而提升吞吐量。一些工作負載得益於此,而一些工作負載受到阻礙或毫無成效。實際情況可能因人而異。

然而,它確實帶來的一個問題是這個風險:MDS等側通道監視技術可能會破壞硬體線程隔離,訪問本該看不到的敏感數據。換句話說,一個線程可能窺視共享同一個物理CPU核心的另一個線程的內存訪問,並有可能獲取密碼、密鑰及其他秘密信息。

實際上,今天披露的晶元漏洞就涉及一系列設計失誤:高危系統上的惡意軟體或惡意用戶可以鑽ZombieLoad(CVE-2018-12130)的空子,可能竊取瀏覽器歷史記錄、網站內容、用戶密鑰、密碼和系統級秘密信息(比如來自內存其他部分的磁碟加密密鑰)。我們獲悉,它可以攻陷CPU保護環和進程邊界,並針對雲和本地虛擬機以及可信執行環境。概念證明漏洞代碼(https://github.com/IAIK/ZombieLoad)可用來供你自己試一下。

還有RIDL和Fallout(CVE-2018-12126、CVE-2018-12127和CVE-2019-11091),可以被用來從內存中竊取機密信息。

應對英特爾晶元中的這些安全疏忽將需要安裝微代碼更新,以及利用這些更新的操作系統和虛擬機管理程序補丁,因此諮詢一下操作系統開發商(需要的話還要諮詢系統製造商),問問有無新軟體,儘快安裝。這些修復程序可能會導致性能下降,具體取決於你運行的程序類型。

你可以選擇關閉超線程以完全消除威脅,不過可能需要在打開和關閉該功能的情況下測試使用的應用程序,斟酌一下是否值得為之降低性能。

谷歌

谷歌表示,由於擔心安全,它在Chrome OS 74中默認禁用了超線程,並特別指出Chrome OS 75會添加額外的應對措施。

谷歌的工作人員在漏洞通知中稱:「決定禁用或啟用超線程實際上就是權衡安全與性能。在禁用超線程的情況下,英特爾CPU可能出現性能下降的情況,具體取決於工作負載。但在啟用超線程的情況下,用戶可以執行鑽MDS的空子以讀取敏感內存內容的代碼,比如只要訪問網站或運行安卓應用程序。」

谷歌在此(https://support.google.com/faqs/answer/9330250)進一步詳細介紹了如何從客戶端應用程序到雲服務全面處理錯誤。

BSD社區

舉例說,去年OpenBSD社區在OpenBSD 6.4中禁用超線程後得出了這個結論。針對過去表明超線程是風險的英特爾處理器漏洞(TLBleed和L1TF),OpenBSD的領導者Theo de Raadt聲稱,超線程基本上壞掉了,因為它在兩個CPU實例之間共享資源而不保證安全隔離。

當時他在郵件列表中說:「在BIOS中禁用你的所有英特爾系統上的超線程。」

蘋果

蘋果發布了macOS Mojave 10.14.5,以對付通過JavaScript和Safari實行的MDS攻擊。但它表示全面的修復程序需要關閉超線程,這可能導致性能受到嚴重影響。

蘋果在公告中警告:「全面應對需要使用Terminal應用程序來啟用額外的CPU指令,並禁用超線程處理技術。這項功能適用於採用最新安全更新版的macOS Mojave、High Sierra和Sierra,可能會使性能最多降低40%,對高度多線程的密集計算任務來說影響最大。」

對於使用老式Mac的蘋果用戶來說頗為遺憾的是,英特爾還沒有為2010年或更早版本的Mac機型提供微代碼修復程序。

微軟

微軟在其MDS威脅指南中沒有採取堅定的立場,不過特別指出:「為了得到全面保護,客戶可能還需要禁用超線程。」這個Windows巨頭已發布了操作系統更新,加上必要的微代碼更新,共同應對英特爾的設計漏洞,請參閱上述鏈接。

Red Hat

Red Hat在公告中附有一個鏈接以禁用超線程,但沒給出這樣那樣的建議。其超線程(SMT)安全頁面特別指出:「最近發現了眾多微處理器漏洞。某些問題需要禁用SMT,才能更全面地應對這個問題。」

這家企業Linux經銷商在這裡(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)有更多的技術說明,解釋了原因和影響。其他Linux發行版也應該會推出各自的修復程序。比如,這是Ubuntu和Debian的修復程序: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。

「如果你使用針對容器優化的操作系統(COS)作為來賓操作系統,並且你在虛擬機中運行不受信任的多租戶工作負載,谷歌雲僅建議為Compute Engine用戶禁用超線程。」谷歌為在Kubernetes Engine裡面的多租戶服務上運行不受信任的代碼的人給出了類似建議。

Xen開發的虛擬機管理程序由AWS及其他雲提供商使用,它發布了一份公告(https://xenbits.xen.org/xsa/advisory-297.html),詳細說明了超線程的風險,同時拒絕默認禁用該技術,因為這麼做造成的破壞性太大。上述鏈接附有應對措施和修復程序。

其公告聲稱:「只有禁用超線程(如果在BIOS中可用且處於活躍狀態),並且對Xen打補丁,才能完全阻止數據從Xen或其他來賓操作系統泄露出去。」

依賴Xen進行虛擬化的Qubes給出的說法大同小異。

英特爾覺得其技術很好,讓行業合作夥伴來自行決定要不要禁用超線程。

公司發言人在電子郵件中告訴IT外媒The Register:「英特爾不建議禁用超線程。」

「單單禁用SMT/HT防範不了MDS,這麼做可能會影響工作負載的性能或資源利用率,影響有多大取決於具體工作負載,明白這一點很重要。」

「系統更新後,在某些情況下,可能需要考慮採取另外的措施。我們的軟體合作夥伴會提供指導,幫助客戶為對其需求而言至關重要的系統和工作負載做出正確的選擇。」


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 雲頭條 的精彩文章:

首例:舊金山正式禁止使用人臉識別軟體
Supermicro將生產基地搬出中國

TAG:雲頭條 |