둘 다더반그리고우분투dbx
인증서가 EFI/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 2020
CN=Debian Secure Boot CA
https://dsa.debian.org/secure-boot-ca.
확인 예:
openssl verify -verbose -CAfile debian-ca.pem debian-signer.pem
debian-signer.pem: OK
데비안은 서명자 인증서만 교체해야 합니다. 이전 CA 인증서는 여전히 유효하며 새 서명자 인증서의 정확성을 확인하는 데 사용할 수 있습니다. Canonical/Ubuntu에도 동일하게 적용된다고 생각하지만 현재 CA 인증서 URL이 없습니다. (혹시 아시거나 발견하신 분은 댓글이나 수정 부탁드립니다!)
출처: Andreas Hunkeler의 댓글https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=925550
답변2
부스홀 완화 개요를 확인하세요.
LiveCD 복구 명령은 GRUB2SecureBootBypass를 참조하세요.
https://wiki.ubuntu.com/SecurityTeam/KnowledgeBase/GRUB2SecureBootBypass
여기의 두 번째 링크에는 제 범위를 벗어나는 명령이 포함되어 있어서 감히 포함할 수 없었지만, 우분투에서 부트홀을 다루는 모든 사람에게 도움이 되도록 여기에 링크를 포함하는 것이 쉬울 것이라고 생각했습니다.