졸업프로젝트

사전공부 4

img1244 2026. 1. 23. 20:01

OVMF

다른 팀원들과 버전을 통일 해야하기에 특정 벤더사 uefi보단 EDK2 OVMF 하나 받기로 했고,

취약점 탐색에는 과거 버전이 유리할 것이라고 판단하여 2018년 버전의 OVMF을 사용하기로 하였다.

https://github.com/tianocore/edk2

 

GitHub - tianocore/edk2: EDK II

EDK II. Contribute to tianocore/edk2 development by creating an account on GitHub.

github.com

OVMF

  • 가상 머신에서 UEFI 펌웨어를 제공하기 위한 오픈 소스 펌웨어 프로젝트다. 주로 QEMU/KVM 같은 하이퍼바이저에서 BIOS 대신 UEFI 펌웨어로 부팅할 때 쓰는 이미지 세트

이전에 확인했던 방식대로 우선순위를 확인해봤고, 

  • DevicePathDxe
    • UEFI Device Path 프로토콜 구현 드라이버
  •  PcdDxe
    • PCD(Platform Configuration Database)를 DXE 환경에서 제공하는 드라이버
  • AmdSevDxe
    • AMD SEV(Secure Encrypted Virtualization)를 지원하기 위한 DXE 드라이버
  • FvbServicesRuntimeDxe
    • Firmware Volume Block(FVB) 프로토콜을 런타임까지 제공하는 드라이버
    • 플래시 같은 펌웨어 볼륨을 블록 디바이스처럼 읽고 쓰는 서비스를 구현

여기서 발생했던 cve가 있는지 궁금해서 탐색해보았다.

 

관련 취약점

CVE는 벤더별로 되어 있는 경우가 많아서 CVE 번호가 없는 경우가 많고, EDK2 자체가 오픈소스라서 더 등재된 것을 찾기 어려운듯 하다.

DevicePathDxe 관련

직접적으로 명시된 사례는 찾지 못했으나, 

GetDecivePathSize, IsDevicePathValid 등의 디바이스 패스를 다루는 함수들에 의해 간접적인 취약점이 존재한다.

 

Heap Buffer Overflow in Tcg2MeasurePeImage()

### Summary An integer overflow can happen when calculating the EventSize variable at line 420 at `SecurityPkg/Library/DxeTpm2MeasureBootLib/DxeTpm2MeasureBootLib.c`, which leads to a heap-buffer ...

github.com

 

 PcdDxe 관련

  • Bootkit 공격 사례
    • GrabAccess 같은 UEFI 부트킷 도구에서 PcdDxe.ffs를 펌웨어에 삽입해 PCD 값을 조작하고, Windows 로그인 패스워드 우회나 루트킷을 구현하는 공격이 보고되었다.
    • GrabAccess(로그인 암호 우회용 부트킷) github
    • https://github.com/Push3AX/GrabAccess
 

GitHub - Push3AX/GrabAccess: Bootkit / Windows Login Password Bypass Tool

Bootkit / Windows Login Password Bypass Tool. Contribute to Push3AX/GrabAccess development by creating an account on GitHub.

github.com

 

AmdSevDxe 관련

  • SEV 펌웨어 / 프로토콜 취약점
  • SEV‑SNP / IOMMU 관련 취약점
    • CVE-2023-20582, CVE-2023-20584
      • IOMMU가 특정 잘못된 페이지/디바이스 테이블 엔트리를 처리하는 과정에서 RMP(Reverse Map Table) 체크를 우회할 수 있어, 권한 있는 공격자가 SEV‑SNP 게스트 메모리의 무결성을 깨뜨릴 수 있는 문제
      • IOMMU(입출력 메모리 관리 장치)는 CPU와 메모리 관리 장치(MMU)처럼, 컴퓨터의 주변 장치(디바이스)가 시스템 메모리에 직접 접근할 때 장치의 가상 주소를 실제 물리 주소로 변환하고 접근 권한을 제어하는 하드웨어 구성 요소
      • https://www.amd.com/en/resources/product-security/bulletin/amd-sb-3003.html
 

AMD Server Vulnerabilities – August 2024 

 

www.amd.com

 

FvbServicesRuntimeDxe

SMM 취약점이 여러 건 발견 되었고, SMI(System Management Interrupt) 핸들러를 통해 OS나, SPI 플래시,SMRAM에 접근 가능하게 하는 등, 권한과 메모리 손상을 유발함

CVE ID심각도 (CVSS)취약점 요약영향을 받는 펌웨어

CVE ID 심각도 (CVSS) 취약점 요약 관련 펌웨어 출처
CVE-2023-28468 중간 SMI 핸들러가 OS에서 SPI 플래시를 읽고 쓸 수 있게 노출되어 정보 유출·수정 가능 InsydeH2O kernel 5.0~5.5 https://nvd.nist.gov/vuln/detail/CVE-2023-28468
CVE-2021-42554 높음 SMM 메모리 손상 취약점으로, 공격자가 SMRAM에 고정/예측 가능 데이터 쓰기 가능 InsydeH2O, BullSequana 등 https://support.ts.fujitsu.com/ProductSecurity/content/Fujitsu-PSIRT-FCCL-IS-2021-090903-Security-Advisory.asp?lng=com
CVE-2022-35893 높음 SMM 메모리 손상으로 SMRAM에 데이터 쓰기 공격 가능 InsydeH2O FvbServicesRuntimeDxe https://nvd.nist.gov/vuln/detail/cve-2022-35893
CVE-2022-32477 중간 DMA 공격으로 공유 버퍼를 통해 SMM/비-SMM 코드 간 데이터 조작 가능 InsydeH2O kernel 5.0~5.5 https://access.redhat.com/security/cve/cve-2022-32477
CVE-2022-35896 높음 SMI를 통해 SMRAM 내용 덤프 가능, 정보 유출로 이어짐 FvbServicesRuntimeDxe SW SMI https://www.cve.org/CVERecord?id=CVE-2022-35896

 

공격 벡터 공통점

  • SMI 핸들러 취약:
    • DXE/SMM 통합 드라이버에서 SW SMI(예: 0xFD, 0x16)를 등록하고, 입력 버퍼(CommBuffer) 검증이 부족해 OS 권한 코드가 SMRAM이나 SPI 플래시를 직접 건드릴 수 있다
  • 권한 상승 가능:
    • DXE 단계에서 악성 코드 실행 시 SMM 권한으로 에스컬레이션되어 펌웨어 변조나 영구 루트킷 설치가 가능하다

'졸업프로젝트' 카테고리의 다른 글

ghidra headless 사용  (0) 2026.02.13
사전공부 6  (0) 2026.02.06
사전공부 5  (0) 2026.01.30
사전공부 3  (0) 2026.01.16
사전 공부 1 & 2  (0) 2026.01.02