

不过桌面计算机的安全性确实是基本上没救了的状态,御三家(Win Linux Mac)除了 Mac on Apple Silicon 之外甚至没有一个不那么拉垮的验证启动(Verified Boot)。。。尤其是、特别是 Linux (存密钥环也没大用)(特别特别是如果你还在用(或者被迫使用) XOrg 的话)


@orz@bgme.me
UEFI secure boot 只验证第一步的 bootloader ,要是 bootloader 有意的话可以完全不验证下一步执行的 OS/Kernel/secondary bootloader 的签名( shim 里就有这个功能),这样的话,即使平台固件开启了 secure boot ,实际上它是无法起到任何作用的。
大多数出厂自带的安卓系统上,整个操作系统分区( /system )都是会在启动时被 AVB 验证一遍的,但大多数第三方安卓系统没有。苹果 iPhone 估计也差不多。
不过,想来,这个和厂商对平台的控制力也是有关的。如果一个平台只被预期(expected)执行一种 OS ,那厂商可以以可自定义性为代价把系统锁得很死,然后如果厂商的系统安全做得好的话,确实可以做到更高的安全性。换到默认就需要可以启动任何操作系统的 x86 兼容机上,就很艰难了, UEFI 搞了个 secure boot 就被换着法子嘲了很久 (当然厂商锁死只接受微软的证书,或者不允许关闭 secure boot 也同样该死),之后的 intel boot guard 也是。

@Orca @orz
wiki.archlinux.org/...
Windows 不太清楚 ,但 Linux 的 Secure Boot 不是可以自己设置吗?
想要安全,完全可以进 Setup Mode 然后导入自己生成的密钥(虽然不推荐,但这一步,你可以不导入 Microsoft 的密钥,也就是说只导入你自己生成的密钥),而且正常进行 Secure Boot 的话,启动过程的所有可执行文件都会被验签(至少验证签名到 initramfs)。
如果有 TPM 的话,结合 TPM 更是可以保证导入的证书、bootloader 可执行文件自身、kernel、kernel command line 都得到验证,有任意一个被修改便无法启动。