可以从哪里下载较新的 Debian/Ubuntu EFI/UEFI 固件证书?

可以从哪里下载较新的 Debian/Ubuntu EFI/UEFI 固件证书?

两个都德班乌班图证书已添加到dbxEFI/UEFI 固件数据库中,因为BootHole漏洞,并且两个主要的 Linux 发行版现在被迫使用不同的私钥来签署它们提供的软件。但没有关于从哪里下载新证书的信息。那么如何获得它们呢?

答案1

事实证明,如果您有一个使用特定证书签名的 EFI 二进制文件,您可以从中提取证书的公共部分:

#!/bin/sh

if [ "$1" = "" ] || [ ! -e "$1" ]
then
    echo "Usage: ${0##*/} <binary.efi>"
    exit 64 # EX_USAGE
fi

TEMPFILE=$(mktemp)
trap "rm -f $TEMPFILE" EXIT

osslsigncode extract-signature -pem "$1" "$TEMPFILE"
openssl pkcs7 -inform pem -print_certs -text -in "$TEMPFILE"

如果您在 Debian 的更新版本上运行此命令grubx64.efi,您将在标准输出中获得包含主题和颁发者的scriptname /boot/efi/EFI/debian/grubx64.efi证书。您可以将其传输到一个文件中,然后根据 Debian Secure Boot CA 证书对其进行验证,您可以在以下位置下载该证书:CN=Debian Secure Boot Signer 2020CN=Debian Secure Boot CAhttps://dsa.debian.org/secure-boot-ca

验证示例:

openssl verify -verbose -CAfile debian-ca.pem debian-signer.pem
debian-signer.pem: OK

请注意,Debian 必须仅替换其签名者证书;他们的旧 CA 证书仍然有效,可用于验证新签名者证书的正确性。我相信这同样适用于 Canonical/Ubuntu,但我现在手头没有他们的 CA 证书 URL。 (如果有人知道/发现它,请随时评论或编辑它!)

来源:Andreas Hunkeler 的评论https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=925550

答案2

请参阅缓解 Boothole 的概述:

https://ubuntu.com/blog/mitigating-boothole-theres-a-hole-in-the-boot-cve-2020-10713-and-lated-vulnerability

请参阅 GRUB2SecureBootBypass 了解 LiveCD 修复命令:

https://wiki.ubuntu.com/SecurityTeam/KnowledgeBase/GRUB2SecureBootBypass

我不敢在此处的第二个链接中包含命令,因为它超出了我的范围,但我认为很容易在此处包含链接以帮助任何可能处理 Ubuntu 上的 boothole 的情况。

相关内容