直呼 Linux 太坑,手动安装 Grub2 BootHole 漏洞的缓解 “补丁”

2020-09-19 15:43:09 +08:00
 Osk

炸机警告

⚠Bitlocker 用户

⚠HP 商用机用户

请参考 HP 官网更新 BIOS 或者临时禁用 HP SureStart 保护,以免更新失败。

⚠Linux 用户

安装 dbx 前请更新系统, 特别确认 Grub2 是修复了 BootHole 的重签版本,否则更新后会无法启动 Linux 。

⚠奇葩 UEFI 固件的电脑

可能炸机也不一定。。。

解决方案

土豪用户(比如 Surface Pro 等设备) + 不用 Linux

进入固件设置 > Secure Boot,把 Secure Boot 证书模板中 Microsoft 第三方 CA ( Microsoft Corporation UEFI CA 2011 ) 拉黑。这样就只能启动 Windows 8/10,其它系统不能再启动了。

无法拉黑第三方 CA / 要用 Linux

很不幸我的乞丐版 surface 固件设置中并不能拉黑第三方 CA,又不想自己去测试搞自己的 PK,只能安装 dbx 更新了。

参考 Microsoft guidance for applying Secure Boot DBX update 这篇文章安装 dbx 即可,链接我发不出来,各位自行搜索。

自建 Secure Boot 证书的用户

要么 dbx 里面拉黑或者不签 Microsoft Corporation UEFI CA 2011,不用其它 Linux 系统。

也可以试试用那个 dbx 拉黑有问题的 grub2 ( uefi.org 提供的 dbx 不知道是谁的 KEK 签的, 猜测是 Microsoft Corporation KEK CA 2011 )。

测试

自建 PK 的计算机我没测试,因为我只签了自己的 EFI 文件,所有其它操作系统都无法启动的,也根本不受 Grub2 BootHole 漏洞影响。

在 Surface 上测试一下安装 dbx 是否有效。

先看看原来的 dbx :

Get-SecureBootUEFI -Name dbx -OutputFilePath dbx-oem.var

尝试一下启动 Ubuntu 20.04 LiveCD, 可以启动。

然后安装 dbx 更新重启。看一下 dbx 变大了。回头找工具看看 dbx 里面的 hash 。

再尝试启动 Ubuntu 20.04 LiveCD,挂了。升级 grub2 到最新,重启,可以了。

其它发行版的 ISO 没测试过。

不知道这个 dbx 更新是拉黑 grub2 的 hash 还是 Linux 发行版厂商用来签 Grub2 的证书,反正 shim 没被拉黑。如果是拉黑 grub2 的 hash 就太窒息了,想想 grub 发了这么多个版本...

900 次点击
所在节点    Windows
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/708555

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX