AWS 바이너리 blob이 생성되는 방법 - Amazon Elastic Compute Cloud

AWS 바이너리 blob이 생성되는 방법

다음 단계를 사용하여 AMI 생성 중 UEFI 보안 부팅 변수를 사용자 지정할 수 있습니다. 이 단계에서 사용되는 KEK는 2021년 9월 현재 최신 버전입니다. Microsoft에서 KEK를 업데이트하는 경우 최신 KEK를 사용해야 합니다.

AWS 바이너리 blob 생성
  1. 빈 PK 서명 목록을 생성합니다.

    touch empty_key.crt cert-to-efi-sig-list empty_key.crt PK.esl
  2. KEK 인증서를 다운로드합니다.

    https://go.microsoft.com/fwlink/?LinkId=321185
  3. UEFI 서명 목록(siglist)에서 KEK 인증서를 래핑합니다.

    sbsiglist --owner 77fa9abd-0359-4d32-bd60-28f4e78f784b --type x509 --output MS_Win_KEK.esl MicCorKEKCA2011_2011-06-24.crt
  4. Microsoft의 db 인증서를 다운로드합니다.

    https://www.microsoft.com/pkiops/certs/MicWinProPCA2011_2011-10-19.crt https://www.microsoft.com/pkiops/certs/MicCorUEFCA2011_2011-06-27.crt
  5. db 서명 목록을 생성합니다.

    sbsiglist --owner 77fa9abd-0359-4d32-bd60-28f4e78f784b --type x509 --output MS_Win_db.esl MicWinProPCA2011_2011-10-19.crt sbsiglist --owner 77fa9abd-0359-4d32-bd60-28f4e78f784b --type x509 --output MS_UEFI_db.esl MicCorUEFCA2011_2011-06-27.crt cat MS_Win_db.esl MS_UEFI_db.esl > MS_db.esl
  6. 다음 링크에서 업데이트된 dbx 변경 요청을 다운로드합니다.

    https://uefi.org/revocationlistfile
  7. 이전 단계에서 다운로드한 dbx 변경 요청은 이미 Microsoft KEK로 서명되었으므로 이를 제거하거나 압축을 풀어야 합니다. 다음 링크를 사용할 수 있습니다.

    https://gist.github.com/out0xb2/f8e0bae94214889a89ac67fceb37f8c0
    https://support.microsoft.com/en-us/topic/microsoft-guidance-for-applying-secure-boot-dbx-update-e3b9e4cb-a330-b3ba-a602-15083965d9ca
  8. uefivars.py 스크립트를 사용하여 UEFI 변수 스토어를 빌드합니다.

    ./uefivars.py -i none -o aws -O uefiblob-microsoft-keys-empty-pk.bin -P ~/PK.esl -K ~/MS_Win_KEK.esl --db ~/MS_db.esl --dbx ~/dbx-2021-April.bin
  9. 바이너리 blob과 UEFI 변수 스토어를 확인합니다.

    ./uefivars.py -i aws -I uefiblob-microsoft-keys-empty-pk.bin -o json | less
  10. Blob을 동일한 도구에 다시 전달하여 업데이트할 수 있습니다.

    ./uefivars.py -i aws -I uefiblob-microsoft-keys-empty-pk.bin -o aws -O uefiblob-microsoft-keys-empty-pk.bin -P ~/PK.esl -K ~/MS_Win_KEK.esl --db ~/MS_db.esl --dbx ~/dbx-2021-April.bin

    예상 결과

    Replacing PK Replacing KEK Replacing db Replacing dbx