微軟的一次更新,卻讓 Linux 躺槍了。
大量 Linux 用戶稱,安裝了微軟的更新后,自己的 Linux 系統(tǒng)無法啟動(dòng)了。
受到微軟更新影響的 Linux 用戶,都是安裝了 Windows+Linux 雙系統(tǒng)。
突如其來的無法啟動(dòng),讓不少用戶焦急萬分,急忙發(fā)帖尋找解決方案。結(jié)果,類似的反饋在 Reddit 和多個(gè) Linux 社區(qū)鋪天蓋地出現(xiàn)。
出了這樣的事后,有網(wǎng)友感慨,微軟不可能針對(duì) Linux 做事無巨細(xì)的測試,雙系統(tǒng)還是通過虛擬機(jī)實(shí)現(xiàn)更加保險(xiǎn)。
還有網(wǎng)友認(rèn)為這并非是個(gè)意外。
畢竟在之前微軟就試過通過安全啟動(dòng)阻止 Windows 10 用戶啟動(dòng)其他操作系統(tǒng)。
作為替代方案,微軟還推出了 WSL,從而能夠在 Windows 當(dāng)中運(yùn)行 Linux 子系統(tǒng),以滿足用戶的雙系統(tǒng)需求。
微軟修漏洞,Linux 躺槍
此次事件中受到波及的,是 Windows+Linux 的雙系統(tǒng)用戶。
安裝更新后,這些用戶在啟動(dòng) Linux 時(shí)會(huì)發(fā)生報(bào)錯(cuò),提示“出現(xiàn)嚴(yán)重錯(cuò)誤”。
Verifying shim SBAT data failed: Security Policy Violation.
shim SBAT 數(shù)據(jù)校驗(yàn)失?。哼`反安全策略
Something has gone seriously wrong: SBAT self-check failed: Security Policy Violation.
出現(xiàn)嚴(yán)重錯(cuò)誤:SBAT 自檢失敗:違反安全策略
Debian、Ubuntu 等多個(gè)發(fā)行版本,無論新舊都遭了殃,甚至 U 盤和光盤啟動(dòng)也出現(xiàn)了類似情況。
而這背后的直接原因,就是微軟新發(fā)布的一款補(bǔ)丁。
補(bǔ)丁修復(fù)的是兩年前曝出的一個(gè)漏洞,代號(hào)為 CVE-2022-2601,CVSS 嚴(yán)重程度評(píng)分為 8.6(最高 10)。
該漏洞與 GRUB 有關(guān),GRUB 是啟動(dòng)許多 Linux 設(shè)備都在用的開源引導(dǎo)加載程序。
利用該漏洞,黑客能夠繞過安全啟動(dòng)機(jī)制,該機(jī)制是一套確保操作系統(tǒng)啟動(dòng)過程中不會(huì)加載惡意固件或軟件的行業(yè)標(biāo)準(zhǔn)。
微軟在有關(guān) CVE-20220-2601 的公告中解釋,針對(duì)該漏洞的更新將安裝 SBAT(一種用于屏蔽啟動(dòng)路徑中各種組件的 Linux 機(jī)制)。
這樣一來,Windows 設(shè)備上的安全啟動(dòng)被利用該漏洞的 GRUB 包攻擊的概率就會(huì)降低。
同時(shí)微軟還信誓旦旦地表示,裝有 Linux 的設(shè)備不會(huì)受到這次更新的影響。
但事與愿違,不僅 Linux 出現(xiàn)了故障,還有其他程序也受到了 SBAT 的“戕害(IT之家備注讀音:qiāng hài)”。
有網(wǎng)友表示,自己的軟件帶有網(wǎng)絡(luò)引導(dǎo)功能,由于也利用了 GRUB,在按照更新后也會(huì)無法運(yùn)行。
要想解決,就要把系統(tǒng)中所有設(shè)備的安全啟動(dòng)全都禁用,或者刪掉 SBAT 文件。
有用戶對(duì)微軟的這波操作不解,質(zhì)疑為什么微軟要去修復(fù)一個(gè)本不屬于 Windows、自己也“一無所知”的模塊。
微軟回復(fù)被現(xiàn)實(shí)“打臉”
對(duì)于這一波故障,微軟這邊給出的回應(yīng)是這樣的:
當(dāng)檢測到 Linux 啟動(dòng)選項(xiàng)時(shí),此更新不會(huì)被應(yīng)用。
我們知道,某些輔助啟動(dòng)方案會(huì)給某些客戶帶來問題,包括使用“過時(shí)的”Linux 加載程序。
我們正在與 Linux 合作伙伴合作,調(diào)查問題原因和解決方案
實(shí)際上,基本和 CVE-20220-2601 發(fā)布時(shí)的公告內(nèi)容沒什么區(qū)別:
SBAT 值不適用于同時(shí)裝有 Windows 和 Linux 的雙啟動(dòng)系統(tǒng),理論上也不會(huì)影響這些系統(tǒng)。
版本較舊的 Linux 發(fā)行版可能無法啟動(dòng),如果發(fā)生這種情況,請(qǐng)與您的 Linux 供應(yīng)商合作獲取更新。
但微軟的說法多少有些自打自臉了 —— 如果不是雙系統(tǒng),單用 Linux 自然也不會(huì)出現(xiàn)這種故障。
還有人發(fā)出靈魂提問 —— 要是只用 Windows,誰會(huì)裝 GRUB ?。?/p>
抓馬的事,實(shí)際情況也并非像微軟說的那樣影響的都是舊版 Linux,出現(xiàn)故障的系統(tǒng)有一些正是新版(如 Ubuntu 24.04、Debian 12.6.0)。
不過也有網(wǎng)友神評(píng)論說,微軟其實(shí)也沒說謊,因?yàn)檠b完補(bǔ)丁之后 Linux 啟動(dòng)不了,就不算是雙系統(tǒng)了。
另外,有熱心網(wǎng)友提出了應(yīng)急補(bǔ)救措施 ——
首先進(jìn)入 BIOS 關(guān)閉安全啟動(dòng),目的是先進(jìn)入到 Linux 系統(tǒng)。
之后利用命令行把引發(fā)故障的 SBAT 策略刪除,然后重啟讓設(shè)置生效。
最后,再次進(jìn)入 BIOS 重新打開安全啟動(dòng),問題就暫時(shí)解決了。
參考鏈接:
[1]https://arstechnica.com/security/2024/08/a-patch-microsoft-spent-2-years-preparing-is-making-a-mess-for-some-linux-users/
[2]https://news.ycombinator.com/item?id=41310217
[3]https://www.techtimes.com/articles/307222/20240821/dual-booting-windows-linux-longer-available-microsoft-s-security-update%E2%80%94why.htm
[4]https://discourse.ubuntu.com/t/sbat-revocations-boot-process/34996
本文來自微信公眾號(hào):量子位(ID:QbitAI),作者:克雷西,原標(biāo)題《微軟“闖禍”Linux 躺槍:更新之后,Linux 打不開了》
廣告聲明:文內(nèi)含有的對(duì)外跳轉(zhuǎn)鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時(shí)間,結(jié)果僅供參考,IT之家所有文章均包含本聲明。