简而言之:禁用安全启动真的是一个好主意吗?
我有两台笔记本电脑,分别安装了 LinuxMint、Xuntu、Ubuntu 14&5 Win 10 和 Win 8.1。Grub 2 在 /、/boot 和 /home 分区上工作正常。所有这些都需要多次重新安装和调整 BIOS,并在联想上启用传统启动(但 UEFI 保持优先)。
我喜欢我的设置,尽管有时我需要返回 BIOS,因为 Windows 不断重新声明自己是优先启动。
我的问题与日益严重的恶意软件、黑客攻击以及诸如 rootkit 和勒索软件等新形式攻击的出现有关。
一想到重新启用安全启动会带来很多麻烦,我就不寒而栗。但也许值得作为预防措施开始尝试,看看我是否可以在安全启动中启动现在开启模式,以免下一波恶意软件开始利用我们这些已关闭安全启动的用户。是时候开始武装自己并要求使用已签名的操作系统进行启动了吗?或者说把它关掉还是安全的并利用这种似乎正在世界各地蔓延的攻击来冒险?
注意:两者都使用相同的 MS 兼容 BIOS Insyde 或类似的东西在 HP 2000 Pentium 4 GB 内存上,另一个是联想 5080 i3 4 GB 内存(是的,我将尽快升级内存:-))
答案1
您的问题建立在错误的前提之上,即存在“安全”和“不安全”的做法。没有安全的做法。只有相对的安全措施——实践 A 可能是更安全比实践 B 更安全,但称实践 A 为“安全”充其量也是一种误导。
考虑到这一点,安全启动,顾名思义,旨在提高安全性。我们可以争论它在这方面有多有效,但即使你对此持怀疑态度,激活安全启动也不太可能降低安全性,而且激活它至少在理论上有好处。
Ubuntu 支持安全启动,因为 Ubuntu 附带一个已签名的 Shim 程序,因此操作系统可以在启用安全启动的情况下启动。正如 Doug 所说,Ubuntu 的 GRUB 将启动未签名的内核,但这只是安全隐患之一——禁用安全启动的计算机将启动任何旧的 EFI 二进制文件,即使该文件不以任何方式依赖 GRUB 或 Linux 内核。这样的二进制文件可能是恶意的,因此如果有人在启动过程中在您的计算机上安装一个程序,该程序每次启动时都会将一兆字节的随机数据写入磁盘上的随机扇区,您就会遇到麻烦。这样的程序不需要依赖 GRUB 或 Linux 内核;它可以是一个独立的 EFI 应用程序。安全启动至少有很好的机会阻止这样的恶意程序。
正在讨论的 16.04 版 GRUB 更改将使 Ubuntu 的工作方式更像 Fedora —— 有了这一更改,Ubuntu 的 GRUB 将只启动已签名的 Linux 内核,而不是未签名的内核。除非您使用自己本地编译的内核,否则这不会使启动 Ubuntu 变得更加困难,因为 Ubuntu 已经附带了已签名的内核。无论哪种情况,在启用安全启动的情况下,您都需要使用 Shim 来启动 GRUB,而 Ubuntu 附带了合适的 Shim 二进制文件。这一更改与安全启动一样,将提高安全性,但不会使 Ubuntu 绝对“安全”。
实际上,我不知道 EFI 预启动恶意软件有多普遍。BIOS 中肯定存在这样的工具,我也听说过 EFI 的演示程序,但我不知道它们是否“普遍存在”。即使它们今天并不常见,但明天它们可能会变得很常见,所以保护自己是有意义的。这种保护有多种形式,没有一种单独是足够的。安全启动可以成为这种保护的一部分,病毒扫描程序、防火墙、良好的帐户安全实践等也可以。
如果您在具有功能齐全的安全启动系统的系统上正确安装了 Ubuntu,您甚至不会注意到安全启动处于活动状态——至少,除非或直到您想要执行某些操作,例如编译自己的内核或使用除 GRUB 之外的启动程序。您评论说您必须调整“BIOS”(实际上是 EFI)设置才能启用 BIOS/CSM/旧版支持,这表明您的 EFI 要么坏了,要么您做事的方式很困难。(仍然有很多页面提供非常糟糕的 EFI 安装建议。)我自己的安全启动网页提供背景信息和关于如何使用它(或如何禁用它)的实用建议。您可能还想阅读我的 EFI 模式 Linux 安装页面和Adam Williamson 关于 EFI 工作原理的博客文章有关 EFI 模式启动的更多背景信息。只要理解正确,启用安全启动的 EFI 模式启动并不难处理。