Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
shim-review — shim 리뷰 | Kitploit
도구/GitHubGitHub/rhboot/shim-review
Vulnerability AnalysisCode AnalysisSupply Chain SecurityLearning & EducationCurated ResourcesFirmware Analysis
GitHubrhboot/shim-review

shim-review

shim 리뷰

저장소 보기
89171410일 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

이 저장소는 shim 서명 요청을 검토하기 위한 것입니다. 요청을 생성하려면:

  • 이 저장소를 클론하세요 (바람직하게는 포크하세요)
  • 아래 템플릿을 편집하세요
  • 서명할 shim.efi를 추가하세요
  • 빌드 로그를 추가하세요
  • 필요할 수 있는 추가 바이너리/인증서/SHA256 해시를 추가하세요
  • 이 모든 것을 커밋하세요
  • "myorg-shim-arch-YYYYMMDD" 형식의 태그로 태그하세요
  • GitHub에 푸시하세요
  • https://github.com/rhboot/shim-review/issues 에서 태그 링크와 함께 이슈를 제출하세요
  • 이슈에 "accepted" 라벨이 추가되면 승인이 완료됩니다

참고로, 저희는 주로 Linux에서 GRUB2나 systemd-boot를 사용한 경험만 있으므로, 저희가 다른 것을 서명하도록 승인하도록 요청하려면 상당한 설득이 필요할 것입니다.

2025년 10월 20일 기준으로, Microsoft로 보내진 shim은 2011년 및 2023년 키로 서명됩니다. 제출한 각 shim에 대해 서로 다른 키로 서명된 두 개의 사본을 받게 됩니다. Microsoft의 최신 정보는 여기: https://techcommunity.microsoft.com/blog/hardware-dev-center/signing-with-the-new-2023-microsoft-uefi-certificates-what-submitters-need-to-kn/4455787

새로운 서명 요구 사항도 발효되었으며, 여기에서 확인할 수 있습니다: https://techcommunity.microsoft.com/blog/hardware-dev-center/updated-microsoft-uefi-signing-requirements/1062916 이 shim 검토를 거치면, shim이 오픈 소스 부트 로더에만 핸드오프하는 한 연례 보안 감사가 면제됩니다.

힌트: 제출 및 shim 서명 관련 안내는 이 저장소의 docs 디렉토리를 확인하세요.

템플릿은 다음과 같습니다:


서명을 요청하는 조직 또는 사람은 누구입니까?


조직 이름 및 웹사이트:
[여기에 텍스트를 입력하세요]


조직의 진정성을 증명하는 법적 데이터는 무엇입니까?

검토자는 악용을 방지하기 위해 귀하의 조직이 법적实体임을 쉽게 확인할 수 있어야 합니다. 진정성을 확실히 증명할 수 있는 정보를 제공하십시오.


회사/세무 등록 항목 또는 이에 상응하는 정보:
(귀하의 관할 구역 등록부에 있는 조직 항목에 대한 링크면 충분합니다)

[여기에 텍스트를 입력하세요]

Microsoft Hardware Dev Center 파일 서명 서비스에서 .cab 파일 서명에 사용된 EV 인증서에 있는 귀하의 조직 및 발급자의 공개 세부 정보. (shim 바이너리에 포함된 CA 인증서가 아닙니다)

예시:``` Issuer: O=MyIssuer, Ltd., CN=MyIssuer EV Code Signing CA Subject: C=XX, O=MyCompany, Inc., CN=MyCompany, Inc.

root@kitploit:~
*******************************************************************************
### 이 제품 또는 서비스는 무엇을 위한 것인가요?
*******************************************************************************
[여기에 텍스트를 입력하세요]

*******************************************************************************
### 전 세계가 부팅할 수 있도록 실제로 서명이 필요한 이유는 무엇인가요?
*******************************************************************************
[여기에 텍스트를 입력하세요]

*******************************************************************************
### 이미 서명된 다른 배포판의 shim을 재사용할 수 없는 이유는 무엇인가요?
*******************************************************************************
[여기에 텍스트를 입력하세요]

*******************************************************************************
### 보안 업데이트 등에 대한 기본 연락처는 누구인가요?
보안 연락처는 shim이 승인되기 전에 확인되어야 합니다. 후속 요청의 경우, 이전 성공적인 확인 이후 보안 연락처나 PGP 키가 변경된 경우에만 연락처 확인이 필요합니다.

승인된 검토자는 각 보안 연락처에게 PGP로 암호화된 이메일(임의의 단어 포함)을 보내 연락처 확인을 시작합니다.
이메일 내용을 `shim-review` 이슈에 게시하여 이메일 주소와 PGP 키의 소유권을 증명해야 합니다.
PGP 키를 keyserver.ubuntu.com과 같은 잘 알려진 키 서버에 업로드하거나, 검토에 .asc 파일로 포함시키고 여기에 링크를 제공해 주세요.

*******************************************************************************
- 이름:
- 직책:
- 이메일 주소:
- PGP 키 지문:
- 파일/키서버 위치:

*******************************************************************************
### 보안 업데이트 등에 대한 보조 연락처는 누구인가요?
*******************************************************************************
- 이름:
- 직책:
- 이메일 주소:
- PGP 키 지문:
- 파일/키서버 위치:

*******************************************************************************
### 이 바이너리가 16.1 shim 릴리스 tar에서 생성되었나요?
16.1 shim 릴리스 tar 파일을 사용하여 shim 바이너리를 생성해 주세요: https://github.com/rhboot/shim/releases/download/16.1/shim-16.1.tar.bz2

이는 https://github.com/rhboot/shim/releases/tag/16.1 과 일치하며 적절한 gnu-efi 소스를 포함하고 있습니다.

다운로드의 체크섬(SHA256, SHA512)을 다음 값과 비교하여 tarball이 올바른지 확인하세요:```
46319cd228d8f2c06c744241c0f342412329a7c630436fce7f82cf6936b1d603  shim-16.1.tar.bz2
ca5f80e82f3b80b622028f03ef23105c98ee1b6a25f52a59c823080a3202dd4b9962266489296e99f955eb92e36ce13e0b1d57f688350006bba45f2718f159fb  shim-16.1.tar.bz2

빌드 프로세스가 해당 파일을 (외부 패치를 제외한) 진실의 원천으로 사용하고 있으며 체크섬이 일치하는지 확인했는지 확인하세요. 또한 PGP 서명을 확인하여 릴리스를 추가로 검증할 수 있습니다: 분리된 서명이 있습니다.

릴리스는 관리자 Peter Jones가 서명했습니다. 그의 마스터 키 지문은 B00B48BC731AA8840FED9FB0EED266B70F4FEF10이고, 여기 서명에 있는 서명 하위 키의 지문은 02093E0D19DDE0F7DFFBB53C1FD3F540256A1372입니다. 그의 공개 키 사본은 참고용으로 여기에 포함되어 있습니다: pjones.asc

사용 중인 타르볼이 정확하고 신뢰할 수 있다고 확신하면, 여기에 간단히 yes로 확인해 주세요.

공개 키와 서명을 확인하는 방법에 대한 간단한 안내는 docs 디렉토리에서 확인할 수 있습니다.


[your text here]


바이너리를 빌드하는 데 사용된 정확한 코드가 포함된 저장소의 URL:

힌트: 애플리케이션에 사용 중인 모든 패치와 수정 사항을 첨부하는 경우, 여기에 애플리케이션의 URL을 지정할 수 있습니다 (https://github.com/YOUR_ORGANIZATION/shim-review).

코드가 호스팅된 사용자 정의 git 서버를 가리킬 수도 있습니다.


[your url here]


어떤 패치가 적용되었으며 그 이유는 무엇인가요?

빌드 과정에서 사용된 모든 외부 패치와 빌드 프로세스 수정 사항을 명시하여, 이 애플리케이션의 일부로 제출한 shim 바이너리가 정확히 일치하도록 만든 내용을 기재하세요.


[your text here]


shim에 NX 비트가 설정되어 있습니까? 그렇다면 전체 부트 스택이 NX와 호환되며, 이러한 호환성을 보장하기 위해 어떤 테스트를 수행했습니까?

NX 비트 없이 shim 서명에 대한 자세한 내용은 https://techcommunity.microsoft.com/t5/hardware-dev-center/nx-exception-for-shim-community/ba-p/3976522 를 참조하세요.


[your text here]


GRUB2에서 Secure Boot의 정확한 구현은 무엇입니까? (Upstream GRUB2 shim_lock 검증기 또는 Downstream RHEL/Fedora/Debian/Canonical 스타일 구현)

GRUB2를 사용하지 않는 경우 이 항목을 건너뛰세요.


[your text here]


다음 GRUB2 CVE에 대한 수정 사항이 모두 적용되었습니까?

GRUB2를 사용하지 않는 경우 이 항목을 건너뛰고, 사용 중이라면 해당 사항이 있는지 확인하고 _yes_로 확인하세요.

  • 2020년 7월 - BootHole
    • 세부 정보: https://lists.gnu.org/archive/html/grub-devel/2020-07/msg00034.html
    • CVE-2020-10713
    • CVE-2020-14308
    • CVE-2020-14309
    • CVE-2020-14310
    • CVE-2020-14311
    • CVE-2020-15705
    • CVE-2020-15706
    • CVE-2020-15707
  • 2021년 3월
    • 세부 정보: https://lists.gnu.org/archive/html/grub-devel/2021-03/msg00007.html
    • CVE-2020-14372
    • CVE-2020-25632
    • CVE-2020-25647
    • CVE-2020-27749
    • CVE-2020-27779
    • CVE-2021-3418 (shim_lock 모듈을 제공하는 경우)
    • CVE-2021-20225
    • CVE-2021-20233
  • 2022년 6월
    • 세부 정보: https://lists.gnu.org/archive/html/grub-devel/2022-06/msg00035.html, SBAT 증가 to 2
    • CVE-2021-3695
    • CVE-2021-3696
    • CVE-2021-3697
    • CVE-2022-28733
    • CVE-2022-28734
    • CVE-2022-28735
    • CVE-2022-28736
    • CVE-2022-28737
  • 2022년 11월
    • 세부 정보: https://lists.gnu.org/archive/html/grub-devel/2022-11/msg00059.html, SBAT 증가 to 3
    • CVE-2022-2601
    • CVE-2022-3775
  • 2023년 10월 - NTFS 취약점
    • 세부 정보: https://lists.gnu.org/archive/html/grub-devel/2023-10/msg00028.html, SBAT 증가 to 4
    • CVE-2023-4693
    • CVE-2023-4692
  • 2025년 2월
    • 세부 정보: https://lists.gnu.org/archive/html/grub-devel/2025-02/msg00024.html, SBAT 증가 to 5
    • CVE-2024-45774
    • CVE-2024-45775
    • CVE-2024-45776
    • CVE-2024-45777
    • CVE-2024-45778
    • CVE-2024-45779
    • CVE-2024-45780
    • CVE-2024-45781
    • CVE-2024-45782
    • CVE-2024-45783
    • CVE-2025-0622
    • CVE-2025-0624
    • CVE-2025-0677

[your text here]


shim이 GRUB2 부트로더를 로드하고, 이러한 수정 사항이 적용된 경우 업스트림 글로벌 SBAT 생성이 GRUB2 바이너리에서 5로 설정되어 있습니까?

GRUB2를 사용하지 않는 경우 이 항목을 건너뛰세요. 그렇지 않으면 GRUB2 바이너리에 다음과 유사한 항목이 있습니까?
grub,5,Free Software Foundation,grub,GRUB_UPSTREAM_VERSION,https://www.gnu.org/software/grub/?


[your text here]


이전 shim 해시가 Microsoft에 제공되어 향후 DBX 업데이트에 추가되도록 검증되었습니까?

새로운 신뢰 체인이 CVE에 영향을 받는 이전 GRUB2 빌드의 부팅을 허용하지 않습니까?

이전에 서명된 shim이 없었다면 여기에 그렇게 명시하세요. 그렇지 않으면 간단한 _yes_로 충분합니다.


[your text here]


부트 신뢰 체인에 Linux 커널이 포함된 경우:

업스트림 커밋 1957a85b0032a81e6482ca4aab883643b8dae06e "efi: Restrict efivar_ssdt_load when the kernel is locked down"이 적용되었습니까?

업스트림 커밋 75b0cea7bf307f362057cc778efe89af4c615354 "ACPI: configfs: Disallow loading ACPI tables when locked down"이 적용되었습니까?

업스트림 커밋 eadb2f47a3ced5c64b23b90fd2a3463f63726066 "lockdown: also lock down previous kgdb use"이 적용되었습니까?

힌트: 업스트림 커널은 이 모든 것이 적용되어야 하지만, 업스트림과는 별도로 유지 관리되는 자체 대규모 수정된 이전 커널 버전을 제공하는 경우에는 그렇지 않을 수 있습니다.
이전 커널을 제공하는 경우 소스를 다시 확인하세요. 모든 패치가 없을 수 있지만, 문제를 노출하지 않는 구성을 제공할 수도 있습니다.


[your text here]


Secure Boot가 활성화된 상태에서 시스템이 실행될 때 서명된 커널이 어떻게 lockdown을 적용합니까?

힌트: lockdown이 적용되지 않으면 shim 서명이 승인되지 않을 가능성이 높습니다.


[your text here]


서명된 커널을 추가 로컬 패치로 빌드합니까? 패치의 기능은 무엇입니까?


[your text here]


커널 모듈 서명에 임시 키를 사용합니까?

그렇지 않은 경우, 한 커널 빌드가 다른 커널용으로 빌드된 모듈을 로드하지 않도록 어떻게 보장합니까?


[your text here]


vendor_db 기능을 사용하여 여러 인증서 및/또는 해시를 제공하는 경우 인증서 설정을 간략히 설명해 주세요.

허용 목록 해시가 있는 경우, 해시가 생성된 정확한 바이너리를 공개적으로 익명 액세스가 가능한 파일 공유 서비스를 통해 제공하여 검증할 수 있도록 해 주세요.


[your text here]


이전 shim 바이너리에서 CA 인증서를 재사용하는 경우, 앞서 언급한 CVE에 노출된 이전 GRUB2 바이너리의 해시를 shim의 vendor_dbx에 추가해야 합니다. 전략을 설명해 주세요.

이렇게 하면 새로운 shim+GRUB2가 문제가 있는 이전 GRUB2 바이너리를 체인로드할 수 없습니다.

첫 번째 신청이거나 새 CA 인증서를 사용하는 경우 여기에 그렇게 명시하세요.


[your text here]


저장소의 Dockerfile이 shim 바이너리 빌드를 재현하기 위한 레시피입니까?

리뷰어는 항상 docker build .를 실행하여 애플리케이션에 첨부한 정확한 바이너리를 얻을 수 있어야 합니다.

힌트: GCC, binutils, gnu-efi 업데이트로 인해 체크섬이 다른 shim 바이너리가 빌드될 수 있으므로 툴체인에 고정된 패키지를 사용하는 것이 좋습니다.

제공된 Dockerfile을 사용하여 shim 바이너리를 재현할 수 없는 경우, 그 이유와 차이점, 그리고 이 빌드를 재현하는 데 사용되는 빌드 환경(OS 및 툴체인)을 설명해 주세요. 이 경우 처음부터 빌드 환경을 설정하는 방법에 대한 자세한 안내를 작성해 주세요.


[your text here]


이 저장소에서 빌드 로그는 어떤 파일인가요?

여기에는 빌드 루트 생성, 패치 적용, 빌드 수행, 아카이브 생성 등에 대한 로그가 포함되어야 합니다.


[your text here]


SHIM이 마지막으로 서명된 이후 배포판의 보안 부팅 체인에 어떤 변경 사항이 있었습니까?

예를 들어, 새 커널 변형, UKI, systemd-boot, 새 인증서, 새 CA 등에 서명하는 경우 등입니다.

shim 서명 신청이 처음인 경우 이 항목을 건너뛰세요.


[your text here]


최종 shim 바이너리의 SHA256 해시는 무엇입니까?


[your text here]


shim에 사용된 키를 어떻게 관리하고 보호합니까?

키 보호에 사용되는 보안 전략을 설명하세요. HSM이나 스마트카드와 같은 하드웨어 토큰 사용, 공기 격리 금고, 물리적 금고에서 기타 모범 사례까지 다양할 수 있습니다.


[your text here]


shim에 포함된 인증서로 EV 인증서를 사용합니까?

yes 또는 _no_로 답변하세요. 후자에 불이익은 없습니다.


[your text here]


shim에 CA 인증서를 포함합니까?

yes 또는 _no_로 답변하세요. 후자에 불이익은 없습니다. 하지만, _yes_인 경우: 해당 인증서가 CA임을 명시하는 X509v3 Basic Constraints를 포함합니까? 이에 대한 자세한 안내는 docs를 참조하세요.


[your text here]


SBAT 메타데이터를 지원하는 각 바이너리(GRUB2, fwupd, fwupdate, systemd-boot, systemd-stub, shim + 모든 하위 shim 바이너리)의 SBAT 섹션에 공급업체별 SBAT 항목을 추가합니까?

shim을 통해 직접 부팅하는 모든 바이너리에 대한 정확한 SBAT 항목을 제공해 주세요.

힌트: SBAT의 역사와 작동 방식에 대한 자세한 정보는 여기에서 확인할 수 있습니다. 해당 문서는 방대하므로 몇 가지 예제는 SBAT.example.md를 확인하세요.

GRUB2의 다운스트림 구현(예: Fedora 또는 Debian)을 사용하는 경우 해당 SBAT 항목을 보존하고 추가하세요(대체하지 마세요). 이를 통해 폐기가 간소화됩니다.

모든 바이너리의 항목을 게시하는 것을 잊지 마세요. 부트로더 외에도 펌웨어 업데이트 프로그램 등도 제공할 수 있으며, 이 항목도 포함됩니다.

힌트: objcopy --dump-section .sbat=/dev/stdout YOUR_EFI_BINARY를 실행하여 이러한 항목을 가져오세요. 여기에 붙여넣으세요. 각 항목을 세 개의 백틱(```)으로 감싸는 것이 좋습니다.


[your text here]


shim이 GRUB2 부트로더를 로드하는 경우, 서명된 GRUB2 이미지에 포함된 모듈은 무엇입니까?

GRUB2를 사용하지 않는 경우 이 항목을 건너뛰세요.

힌트: 이는 파일 시스템의 .mod 파일이 아니라 바이너리 자체에 포함된 모듈에 관한 것입니다.


[your text here]


arm64 또는 riscv에서 systemd-boot를 사용하는 경우, 확인되지 않은 Devicetree Blob 로드에 대한 수정 사항이 포함되어 있습니까?


[your text here]


부트로더(GRUB2 또는 systemd-boot 또는 기타)의 출처와 전체 버전 번호는 무엇입니까?


[your text here]


shim이 부트로더 외에 다른 구성 요소를 시작하는 경우, 시작되는 구성 요소에 대한 자세한 정보를 제공해 주세요.

힌트: 가장 일반적인 경우는 fwupd와 같은 펌웨어 업데이트 프로그램입니다.


[your text here]


GRUB2 또는 systemd-boot가 SecureBoot 모드에서 Linux 커널이 아닌 다른 바이너리를 시작하는 경우, 시작되는 바이너리와 Secureboot lockdown을 적용하는 방법에 대한 자세한 정보를 제공해 주세요.

GRUB2 또는 systemd-boot를 사용하지 않는 경우 이 항목을 건너뛰세요.


[your text here]


시작된 구성 요소는 인증되지 않은 코드의 실행을 어떻게 방지합니까?

보안 부트체인이 상위 수준에서 어떻게 작동하는지 한두 문장으로 요약하세요.


[your text here]


shim이 서명되지 않은 커널을 로드할 수 있는 로더(예: 특정 GRUB2 구성)를 로드합니까?


[your text here]


어떤 커널을 사용하고 있습니까? Secure Boot를 적용하기 위해 어떤 패치와 구성이 포함되어 있습니까?


[your text here]


다른 지원자의 애플리케이션을 검토하는 데 도움이 되도록 어떤 기여를 했습니까?

검토 프로세스는 동료 검토 노력으로, 애플리케이션을 더 빨리 검토받는 가장 좋은 방법은 다른 사람을 검토하는 데 도움을 주는 것입니다. 대부분의 경우 저희는 업무 시간 동안 애플리케이션을 검토하기 위해 고용되어 급여를 받는 것이 아니라, 자유 시간에 자발적으로 이 작업을 수행하는 자원봉사자입니다.

검토를 기다리는 합리적인 기간은 2-3개월에 이를 수 있습니다. 도움을 주시는 것이 이 기간을 단축하는 가장 좋은 방법입니다. 더 많은 도움을 받을수록 일이 더 빠르고 원활하게 진행됩니다.

새로운 참여자의 경우, 검토하기 쉬운으로 표시된 애플리케이션부터 시작하는 것이 좋습니다.


[your text here]


이 shim 서명 신청을 검증하는 데 필요하다고 생각되는 추가 정보를 추가하세요.


[your text here]

도구 다운로드
  • CVE-2025-0678
  • CVE-2025-0684
  • CVE-2025-0685
  • CVE-2025-0686
  • CVE-2025-0689
  • CVE-2025-0690
  • CVE-2025-1118
  • CVE-2025-1125