Secure Boot 완화 오케스트레이터 스크립트
개요
이 PowerShell 스크립트는 Microsoft 보안 가이드에 설명된 대로 CVE-2023-24932에 대한 Secure Boot 완화 단계를 자동화합니다. 레지스트리 업데이트, 재부팅, 이벤트 로그 확인을 포함한 전체 프로세스를 처리하여 시스템이 BlackLotus UEFI 부트킷으로부터 보호되도록 합니다.
특징
- 완전 자동화된 오케스트레이션: 스크립트가 여러 번의 재부팅을 포함한 각 단계를 안내하며, 각 재부팅 후 자동으로 재개됩니다.
- 이벤트 로그 확인: 특정 이벤트 ID(예: 1799, 1037)를 확인하여 업데이트 성공 여부를 확인합니다.
- BitLocker 인식: BitLocker가 활성화된 경우 경고하고 복구 키가 있는지 확인합니다.
- 하드웨어 호환성 검사: 지원되지 않는 구성(예: Windows Server 2012/R2의 TPM 2.0)에서 실행을 차단합니다.
- 수동 확인 옵션: Boot Manager 서명 및 Secure Boot 데이터베이스를 수동으로 확인할 수 있습니다.
포함된 단계
스크립트는 공식 Microsoft 가이드를 따라 다음 단계를 순서대로 실행합니다:
-
DB-업데이트 (0x40)
- "Windows UEFI CA 2023" 인증서를 Secure Boot 데이터베이스(DB)에 추가합니다.
- 2번의 재부팅이 필요합니다.
-
Boot-Manager 업데이트 (0x100)
- "Windows UEFI CA 2023" 인증서로 서명된 버전으로 Boot Manager를 업데이트합니다.
- 2번의 재부팅이 필요합니다.
-
수동 확인 (선택 사항)
- Boot Manager(
bootmgfw.efi)를 복사하여 수동 서명 확인을 수행합니다.
- DB에 "Windows UEFI CA 2023" 인증서가 있는지 확인합니다.
-
DBX-업데이트 (0x80)
- "Windows Production PCA 2011" 인증서를 Secure Boot 금지 서명 데이터베이스(DBX)에 추가합니다.
- 이 인증서로 서명된 이전 Boot Manager를 차단합니다.
- 2번의 재부팅이 필요합니다.
-
SVN-업데이트 (0x200)
- Secure Boot 보안 버전 번호(SVN)를 업데이트하여 롤백 공격을 방지합니다.
- 2번의 재부팅이 필요합니다.
-
최종 보고서
- Secure Boot 구성 및 이벤트 로그 항목의 요약을 표시합니다.
사전 요구 사항
- Windows 버전: Windows 10/11, Windows Server 2016/2019/2022 이상.
- 관리자 권한: 스크립트는 관리자 권한으로 실행되어야 합니다.
- Secure Boot 활성화: 시스템의 UEFI 펌웨어에서 Secure Boot가 활성화되어 있어야 합니다.
- BitLocker 복구 키: BitLocker가 활성화된 경우 복구 키가 있는지 확인하세요.
사용 방법
-
스크립트 다운로드:
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/helleflo1312/Orchestrated-Powerhell-for-CVE-2023-24932/refs/heads/main/CVE-2023-24932-automation.ps1" -OutFile "CVE-2023-24932-automation.ps1"
-
관리자 권한으로 스크립트 실행:
.\CVE-2023-24932-automation.ps1
-
화면의 지시를 따릅니다. 스크립트가 재부팅을 포함한 각 단계를 안내합니다.
하드웨어 검사:
스크립트는 Microsoft 보안 가이드에 따라 하드웨어 공급업체 및 호환성을 확인합니다.
이벤트 로그 확인
스크립트는 성공적인 업데이트를 확인하기 위해 다음 이벤트 ID를 확인합니다:
- 1036: DB 업데이트(0x40) 성공.
- 1799: Boot Manager 업데이트(0x100) 성공.
- 1037: DBX 업데이트(0x80) 성공.
이벤트가 발견되지 않으면 스크립트는 경고를 표시하지만 계속 실행됩니다. 이벤트 뷰어를 사용하여 로그를 수동으로 확인할 수 있습니다.
이 스크립트가 성공적으로 실행된 후의 예시:

참고 사항
- 되돌릴 수 없는 변경: DBX 업데이트(0x80)가 적용되면 Secure Boot를 재설정하지 않는 한 되돌릴 수 없습니다.
- 복구 미디어: DBX 업데이트를 적용하기 전에 업데이트된 복구 미디어가 있는지 확인하세요. 이전 미디어는 업데이트 후 부팅되지 않을 수 있습니다.
- 테스트: 널리 배포하기 전에 프로덕션이 아닌 환경에서 스크립트를 테스트하세요.
문제 해결
- 이벤트 로그 오류: 스크립트가 예상된 이벤트 ID를 찾지 못하면 시스템 로그를 수동으로 확인하여 오류를 확인하세요.
- BitLocker 복구: 시스템이 BitLocker 복구 모드로 진입하면 복구 키를 사용하여 드라이브를 잠금 해제하세요.
- 펌웨어 문제: 일부 UEFI 펌웨어는 필요한 업데이트를 지원하지 않을 수 있습니다. 하드웨어 공급업체에 업데이트를 문의하세요.
참고 자료
라이선스
이 스크립트는 MIT 라이선스에 따라 제공됩니다. 사용에 따른 책임은 본인에게 있습니다.
기여
문제가 발생하거나 개선 제안이 있으면 GitHub에서 이슈를 열거나 풀 리퀘스트를 제출해 주세요.
고지 사항
이 스크립트는 어떠한 보증도 없이 "있는 그대로" 제공됩니다. 라이브 시스템에 배포하기 전에 항상 프로덕션이 아닌 환경에서 테스트하세요.