1. 개요

- 업데이트된 윈도우 시스템의 보안을 무너뜨릴 수 있는 두 개의 제로데이 취약점이 공개 (Windows Downdate 공격) [1]

- 다운그레이드 공격을 통해 윈도우 서버 시스템이 이전의 취약한 상태로 되돌아갈 수 있음

> 윈도우 업데이트의 액션 리스트를 조작함으로써 시스템의 구성 요소를 다운그레이드

> 공격자는 NT 커널, DLL, VBS, UEFI 기능까지 다운그레이드할 수 있음

 

1.1 Windows Update Architecture

- Windows Update COM을 통해 통신하는 업데이트 클라이언트와 업데이트 서버가 포함

> 업데이트 클라이언트는 Administrator, 업데이트 서버는 Trusted Installer가 적용되며, 업데이트 파일은 Trusted Installer만 액세스 가능

[사진 1] Windows Update 개요

- 업데이트 흐름

① 클라이언트는 서버가 제공하는 업데이트 폴더에 포함된 업데이트를 수행하도록 서버에 요청

> 업데이트 폴더에는 업데이트 구성 요소가 들어 있음

구분 설명
MUM 파일 - MS 업데이트 메타데이터
- 메타데이터 정보, 구성 요소 종속성, 설치 순서 등을 포함
- 명시적으로 서명되어 있지 않지만 Catalog 파일에 서명되어 있음
Manifest 파일 - 파일 경로, 레지스트리 키, 설치 프로그램에서 실행할 설치 프로그램 등과 같은 설치 관련 정보가 포함
- 명시적으로 서명되어 있지 않지만 Catalog 파일에 서명되어 있음
Differential 파일 - 기본 파일의 델타 파일
- 기본 파일과 델타 파일을 합치면 전체 업데이트 파일이 나옴
- 서명되지 않음
Catalog 파일 - MUM과 Manifest 파일의 디지털 서명
- 여러 파일을 한 번에 서명할 수 있도록 함
- 파일 자체적으로 디지털 서명이 되어 있어 수정 불가

② 서버는 업데이트 폴더의 무결성 검증

③ 무결성 검증 후, 클라이언트가 액세스할 수 없는 서버 제어 폴더에 업데이트 파일을 저장

④ 서버는 서버 제어 폴더에 작업 목록을 Pending.xml 파일로 저장하며, 해당 파일에 업데이트 작업이 포함

> 파일 생성, 파일 삭제, 파일 이동, 파일 하드 링크, 레지스트리 키 및 값 생성, 키 및 값 삭제 등의 기능을 제공하는 XML 파일

OS가 재부팅되면 작업 목록 작동 및 재부팅 중 업데이트 진행

 

2. 주요내용

- 윈도우 시스템을 다운그레이드 할 수 있는 제로데이 공격 Windows Downdate 발견

> CVE-2024-38202 (CVSS: 7.3): Windows Update Stack 권한 상승 취약성

> CVE-2024-21302 (CVSS: 6.7): Windows Secure Kernel Mode 권한 상승 취약성

 

2.1 Differential 파일 및 Action List

- 해당 공격에서는 Differential 파일 악용을 시도하였으나, 그러지 못함

> 예상 업데이트 파일의 해시 값이 Manifest 파일에 하드코딩되어 있음

> Manifest 파일 변경 시 Catalog 파일의 서명이 깨짐

 

- Action List의 경우 Trusted Installer가 적용되어 내용을 변경할 수 없음

> 레지스트리에서 Action List 경로를 검색해보니 PoqexecCmdline 키 발견 (목록과 목록 경로를 구문 분석하는 실행 파일을 포함)

> 해당 키의 보안 속성을 확인한 결과 Trusted Installer가 적용되지 않음

 

- 다운그레이드를 수행하기 위해 다음 작업을 수행

> 식별자는 무결성 확인을 위해 작업 목록의 식별자와 비교되는 숫자

> 다음 세 가지 작업 모두 Trusted Installer가 적용되지 않음

> 이를 통해 사용자 지정 다운그레이드 작업 목록으로 시스템을 업데이트할 수 있었음

* 작업 목록은 검증 후 생성되므로 검증을 가정하기 때문에 모든 무결성 검증을 우회

[사진 2] 다운그레이드
[사진 3] 다운그레이드 공격 전(위) 후(아래) AFD.sys 버전 비교

2.2 VBS UEFI 잠금 우회

- VBS (Virtualization-Based Security): 하드웨어 가상화 및 Windows 하이퍼바이저를 사용하여 시스템을 여러 개의 격리된 환경으로 나누고, 각 환경을 보호함으로써 전체 시스템의 보안을 강화하는 기술 [3]

- UEFI (Unified Extensible Firmware Interface): 운영 체제가 시작되기 전에 시스템을 검사하고, 보안 부팅(Secure Boot) 등의 기능을 통해 보안성을 높임 [4]

> UEFI 잠금 기능을 구현하여 VBS를 비활성화로부터 보호

> 사용자가 VBS를 비활성화하려면 MS에서 서명한 EFI 애플리케이션을 로드해야 함

> EFI는 부팅 중 사용자에게 VBS 비활성화를 물리적으로 승인하도록 요청하며, 승인 시 VBS 비활성화

 

- OS로더가 정상적으로 부팅되고 VBS의 파일 중 하나를 검증하지 못하면 VBS를 포기

> 해당 프로세스를 통해 VBS 비활성화 및 UEFI 잠금을 우회할 수 있었음 [5]

[사진 4] VBS 비활성화

2.3 Exploit

- VBS의 보안 경계는 다음을 권한 상승으로 간주

> VTL0(일반적인 실행 환경) -> VTL1(보안이 강화된 환경)

> Ring3(일반적인 실행 환경)/0(커널) -> Ring -1(하이퍼바이저)

[사진 5] 권한 상승

- 연구에서는 세 가지 경우를 대상으로 다운그레이드 수행

① 보안 모드의 격리된 사용자 모드 프로세스 대상

[사진 6] 보안 모드의 격리된 사용자 모드 프로세스 대상

- Credential Guard

> Ring3-VTL1에서 LsaIso.exe라는 이름의 격리된 사용자 모드 프로세스로 구현

> Credential Guard를 실행하면 비밀이 원래 LSASS 프로세스 대신 VTL1 LsaIso.exe에 저장

 

- CVE-2022-34709로 다운그레이드 진행 및 다운그레이드 감지 없이 허용 (Ring3-VTL0 -> Ring3-VTL1)

> CVE-2022-34709: Windows Defender Credential Guard 보안 기능 우회 취약성 [6]

② 보안 모드 커널 대상

[사진 7] 보안 커널 대상

- 보안 커널이란 일반 커널에 보안 기능을 추가하여 안전성을 강화한 커널

- CVE-2021-27090로 다운그레이드 진행 및 다운그레이드 감지 없이 허용 (Ring3-VTL0 -> Ring3-VTL1)

> CVE-2021-27090: Windows 보안 커널 모드 권한 상승 취약성 [7]

③ 하이퍼바이저 대상

[사진 8] 하이퍼바이저 대상

- 하이퍼바이저 권한 상승 취약점이 다수 있었으나, 구체적인 내용은 공유되지 않음

> 하이퍼바이저를 2년 전 버전으로 다운그레이드 시도 및 다운그레이드 감지 없이 허용 (Ring3-VTL0 -> Ring3-VTL1)

 

[사진 9] 다운그레이드 전(위) 후(아래) 하이퍼바이저 버전 비교 [8]

- 24.02 MS에 내용 전달 및 MS 24 8월 정기 보안 업데이트에서 해당 취약점을 포함한 다수의 취약점에 대한 패치를 제공 [9]

 

3. 참고

[1] https://www.safebreach.com/blog/downgrade-attacks-using-windows-updates/
[2] https://www.safebreach.com/wp-content/uploads/2024/08/AFD-Downgrade-Kernel-Code-Execution.mp4
[3] https://learn.microsoft.com/ko-kr/windows-hardware/design/device-experiences/oem-vbs
[4] https://namu.wiki/w/UEFI
[5] https://www.safebreach.com/wp-content/uploads/2024/08/Credential-Extraction-PPL-and-UEFI-Lock-Bypass.mp4
[6] https://nvd.nist.gov/vuln/detail/CVE-2022-34709
[7] https://nvd.nist.gov/vuln/detail/cve-2021-27090
[8] https://www.safebreach.com/wp-content/uploads/2024/08/Hyper-V-Hypervisor-Downgrade.mp4
[9] https://msrc.microsoft.com/update-guide/releaseNote/2024-Aug
[10] https://www.dailysecu.com/news/articleView.html?idxno=158444

+ Recent posts