昨天有报道称存在一个新的安全漏洞:
- 卢西安·康斯坦丁 (2015-12-16)。流行引导加载程序中的漏洞使锁定的 Linux 计算机面临风险。公民社会组织在线。
- 帕特里克·艾伦 (2015-12-16)。按 Backspace 28 次即可侵入 Linux 系统。这是修复方法。生活黑客。
- 斯瓦蒂·坎德尔瓦尔 (2015-12-16)。只需按 28 次“Backspace”即可侵入 Linux 计算机。。黑客新闻。
新闻报道都说该漏洞可以“允许黑客在锁定的 Linux 系统上安装恶意软件”,可以“绕过锁定的 Linux 机器的所有安全性”,并且可以“绕过计算机上的密码保护” 。实际的漏洞本身是 CVE-2015-8370,由其发现者之一编写:
- 赫克托·马可和伊斯梅尔·里波尔 (2015-12-14)。返回 28:Grub2 身份验证 0 天。 CVE-2015-8370。
虽然新闻报道谈论的是 Linux 中的漏洞,但 Marco 和 Ripoll 的报告对于非程序员来说非常具有技术性,可以理解,深入到彩色源代码或 GRUB2 以及 40 个字符长的数字和字母字符串。第一页。
我只是一个普通的“保安”。我通过安全补丁使我的应用程序和操作系统保持最新状态。因此,没有新闻报道中的夸张,也没有让我对源代码和十六进制转储感到困惑:
- 我应该立即采取什么行动吗?我应该立即采取什么行动吗?能拿?
- 我家里的个人系统有什么风险?
- 我的服务器在工作时面临哪些风险?例如,如果某人拥有 IPKVM 或 ILO 访问权限,这是否会被利用?
答案1
这种问题是不可避免的。或者,至少,它是双倍可能。当人们谈论grub
作为必要性他们几乎总是提出诸如将内核映像保存在加密磁盘或安全启动密钥上之类的问题。他们通常说你无法处理这些事情,否则你需要在启动过程中使用中间加载程序来进行交互之间你的固件和内核。
虽然确实grub
可以读取许多不同类型的文件系统,具有内置网络支持,并支持 EFI SecureBoot 垫片,但我认为其他人认为这些是有点奇怪好的事物。我认为它们多余、过于复杂并且是第二个攻击面。
曾几何时,它是必要的-虽然一直都是愚蠢的- 曾经有过必要的让固件调用中间加载程序二进制文件,该二进制文件可以然后调用内核。这是必要的,因为 BIOS 太旧且太愚蠢,无法理解任何实际可用的系统内核,否则您可能更喜欢它加载。的想法引导装载程序首先只是愚蠢固件的解决方法。
对于过去五年左右制造的典型机器来说,情况已不再如此,尽管实际上每个 Linux 发行版仍然默认这样做。 BIOS 已经死了 - (U)EFI 标准实际上已经完全取代了它,并且这种固件在直接调用系统内核方面没有任何问题 - 不需要引导加载程序。事实上,如果您要在 initramfs 中进行编译,您只需命名您的内核映像/boot/EFI/BOOT/BOOTX64.efi
,您的计算机就会启动它自动地。
所有关于grub
处理加密文件系统等所必需的内容都是废话,简单明了。在我看来,可以解锁锁定磁盘的程序越少,锁定就越安全。所以如果你把你的内核放在清楚的文件系统 - 例如 EFI 系统分区强制使用的非常基本的 FAT fs - 然后 (U)EFI 可以加载它并且核心当然,会解锁您的磁盘。
你也可以自签名你的系统内核并将这些密钥安装到固件的 NVRAM 中,以便固件在每次启动时直接验证内核映像的证书。
你可以做到这一点,没有grub
- 你可以做到这一点更轻松没有grub
。
因此,如果您想担心第二个操作系统内核的额外复杂性和额外的攻击面,那么您应该grub
立即更新您的 chainloader。如果不这样做,您应该卸载它。
信息安全网站的答案似乎淡化了与此问题相关的漏洞。他们说这不是问题,因为你需要对机器进行物理访问才能利用它,如果你有这个权限,那么机器就是你的了。
我不同意。如果有人可以走到您的计算机前,将其关闭然后再打开,通过按退格键 28 次来绕过您的启动菜单密码,然后通过 的grub
命令行访问您的磁盘和通过你的 MAC 连接到你的网络,那就是一个问题。
答案2
如何在没有引导加载程序的情况下引导 Linux。未经我个人测试,但可能是一个很好的起点。