Windows 11 관리자 보호 기능 우회 취약점: 25H2 버전의 심각한 보안 결함 발견
Windows 11 25H2 버전에서 발견된 관리자 보호 기능 우회 취약점으로 인해 공격자가 무음으로 관리자 권한을 탈취할 수 있었던 문제와 마이크로소프트의 대응 방안을 분석합니다.
Windows 11 25H2 버전에서 발견된 관리자 보호 기능 우회 취약점
보안 연구원 James Forshaw는 Windows 11 버전 25H2에 새롭게 도입된 관리자 보호(Administrator Protection) 기능에서 심각한 취약점을 발견했습니다. 이 결함으로 인해 공격자는 보안 메커니즘을 무음으로 우회하고 전체 관리자 권한을 획득할 수 있었습니다. 모든 보고된 취약점은 마이크로소프트에 의해 패치되었으나, 호환성 문제로 인해 2025년 12월 현재 해당 기능은 비활성화된 상태입니다.
취약점의 기술적 세부 사항
배경: 관리자 보호 기능
마이크로소프트는 오래된 사용자 계정 컨트롤(User Account Control, UAC) 시스템을 대체하기 위해 관리자 보호 기능을 설계했습니다. UAC는 제한된 계정과 관리자 계정 간에 프로필 리소스(예: 레지스트리 하이브, 사용자 디렉터리)를 공유한다는 점에서 보안 경계가 취약하다는 비판을 받아왔습니다. 반면, 관리자 보호 기능은 **섀도 관리자 계정(shadow administrator account)**과 별도의 로그온 세션을 활용하여 다음과 같은 문제를 방지합니다:
- 계정 간 프로필 리소스 공유
- 토큰 가장(Token Impersonation) 공격
- 마이크로소프트 바이너리의 자동 상승
그러나 Forshaw의 연구는 9가지 독자적인 우회 기법을 발견했으며, 그 중 하나는 로그온 세션과 DOS 장치 객체 디렉터리 간의 복잡한 상호작용을 악용한 것이었습니다.
취약점: 로그온 세션 하이재킹
가장 주목할 만한 우회 기법(Project Zero Issue 432313668 참조)은 Windows가 로그온 세션과 DOS 장치 객체 디렉터리를 처리하는 방식에서 비롯되었습니다. 주요 기술적 구성 요소는 다음과 같습니다:
- 로그온 세션 격리: 관리자 보호 기능의 각 섀도 관리자 토큰은 UAC의 공유 세션 모델과 달리 고유한 로그온 세션을 받습니다.
- 지연 초기화(Lazy Initialization): DOS 장치 객체 디렉터리(예:
\Sessions\0\DosDevices\X-Y)는 로그온 시점이 아닌 접근 시점에 생성됩니다. - 접근 검사 우회: 커널의
SeGetTokenDeviceMap함수는ZwCreateDirectoryObject를 호출할 때 접근 검사(OBJ_FORCE_ACCESS_CHECK플래그)를 강제하지 않아, 식별 수준 토큰을 가장할 때도 디렉터리 생성이 가능했습니다. - 소유자 SID 할당: 식별 수준 토큰으로 객체를 생성할 때 Windows는 가장된 토큰의 SID 대신 기본 토큰의 소유자 SID(제한된 사용자)를 사용해 의도치 않은 접근 권한을 부여했습니다.
- SYSTEM 프로세스 완화:
SYSTEM프로세스가 가장된 토큰의 DOS 장치 디렉터리에 접근하지 못하도록 하는 보안 기능으로 인해 디렉터리 생성은 프로세스 시작 이후로 지연되어 경쟁 조건을 유발했습니다.
악용 단계
Forshaw의 개념 증명(Proof-of-Concept)은 다음과 같은 동작을 연계했습니다:
RAiProcessRunOnce(예:runonce.exe)를 통해 일시 중지된 섀도 관리자 프로세스를 생성합니다.- 파일 리소스에 접근하기 전에 프로세스 토큰을 엽니다.
- 토큰을 식별 수준 토큰으로 복제합니다.
- 섀도 관리자 토큰을 가장한 상태에서
\??에 접근하여 디렉터리 생성을 강제합니다. - 새 DOS 장치 디렉터리에 악성 심볼릭 링크를 생성하여
C:드라이브를 하이재킹합니다. - 프로세스를 재개하여 공격자가 제어하는 DLL을 로드하도록 강제합니다.
영향 분석
보안 영향
- 무음 권한 상승: 공격자는 사용자 상호작용 없이 관리자 권한을 획득할 수 있어, 의도된 보안 경계를 우회했습니다.
- 레거시 우회 지속성: 보고된 9가지 결함 중 일부는 기존 UAC 우회 기법(예: 루프백 Kerberos 악용)의 변형으로, 점진적 개선이 역사적 취약점을 계승할 수 있음을 보여줍니다.
- 복잡한 공격 표면: 이 취약점은 5가지 독자적인 OS 동작을 연계해야 했으며, 미묘한 설계 상호작용이 심각한 결함을 유발할 수 있음을 강조합니다.
마이크로소프트의 대응
마이크로소프트는 KB5067036(2025년 10월) 업데이트를 통해 모든 보고된 문제를 해결했습니다. 주요 수정 사항은 다음과 같습니다:
"섀도 관리자 토큰을 식별 수준에서 가장할 때 DOS 장치 객체 디렉터리 생성을 방지합니다."
이 우회 기법은 공개 전 패치되었으므로 CVE는 할당되지 않았습니다.
보안 팀을 위한 권장 사항
-
패치 관리:
- 시스템을 KB5067036 이상으로 업데이트합니다.
- 관리자 보호 기능과 관련된 향후 보안 공지를 모니터링합니다.
-
구성 모범 사례:
- 관리자 보호 기능을 활성화한 경우 레거시 UAC 모드를 비활성화합니다(상호 배타적).
- 로컬 관리자 그룹 구성원 자격을 제한하여 공격 표면을 최소화합니다.
- 권한 상승 프롬프트 감시를 통해 강제 공격(coercion attack) 가능성을 탐지합니다.
-
모니터링 및 탐지:
- 비정상적인 DOS 장치 디렉터리 생성(예:
\Sessions\0\DosDevices\*경로)을 감시합니다. - 섀도 관리자 토큰을 대상으로 한 프로세스 토큰 복제 시도를 경고합니다.
- 일시 중지된 프로세스 생성 후 빠른 토큰 접근을 로깅합니다.
- 비정상적인 DOS 장치 디렉터리 생성(예:
-
방어 아키텍처:
- 일상 작업 시 관리자 권한으로 실행하지 않기(가장 효과적인 완화 방법).
- 애플리케이션 화이트리스트를 구현하여 비인가 실행 파일을 차단합니다.
- **Windows Defender 애플리케이션 제어(WDAC)**를 사용하여 코드 무결성 정책을 강화합니다.
최종 평가
관리자 보호 기능은 UAC에 비해 중요한 보안 개선을 대표하지만, Forshaw의 연구는 레거시 시스템에 대한 점진적 변경이 예상치 못한 공격 벡터를 유발할 수 있음을 보여줍니다. 섀도 계정과 로그온 세션 격리에 의존하는 이 기능은 — 보안성은 높지만 — 신중한 강화가 필요한 새로운 엣지 케이스를 생성했습니다.
마이크로소프트의 신속한 대응은 이 회사가 관리자 보호 기능을 실질적인 보안 경계로 간주하고 있음을 시사하며, 이는 UAC 우회에 대한 과거 접근 방식과 차별화됩니다. 그러나 보안 팀은 다음과 같은 이유로 경계해야 합니다:
- 멀웨어가 이 새로운 메커니즘을 표적으로 삼을 가능성이 높습니다.
- 호환성과 보안 간의 트레이드오프를 해결하기 위한 추가 설계 개선이 필요할 수 있습니다.
- 2025년 12월 현재 기능의 임시 비활성화는 안정성 문제에 대한 지속적인 도전을 강조합니다.
현재 조직은 관리자 보호 기능을 진화하는 보안 제어로 간주하고, 마이크로소프트가 호환성 문제를 해결한 후 우선적으로 배포해야 합니다.