Vulnerabilities & CVEs

윈도우 UAC 우회 취약점: 5가지 UI 접근성 문제 수면 위로

AI의 잠재력으로 가득 찬 디지털 세계이지만, 때로는 시스템 보안의 가장 예상치 못한 구석에서 가장 깊은 변화가 일어납니다. 최근 윈도우 사용자 계정 컨트롤(UAC) 우회에 대한 발표가 바로 그것을 증명합니다.

{# Always render the hero — falls back to the theme OG image when article.image_url is empty (e.g. after the audit's repair_hero_images cleared a blocked Unsplash hot-link). Without this fallback, evergreens with cleared image_url render no hero at all → the JSON-LD ImageObject loses its visual counterpart and LCP attrs go missing. #}
빛나는 열쇠가 통과하는 디지털 잠금 장치의 추상적인 표현.

Key Takeaways

  • 연구진은 윈도우의 새로운 관리자 보호 기능에 대한 9가지 우회 방법을 발견했습니다.
  • 이 중 5가지 우회는 접근성 도구를 위한 UI 접근성 기능을 악용한 것입니다.
  • UI 접근성 메커니즘은 낮은 권한 프로세스가 높은 권한 프로세스와 상호 작용하는 것을 방지하는 보안 조치인 UIPI를 우회할 수 있게 했습니다.
  • RAiLaunchAdminProcess RPC 호출을 통해 UI 접근성을 부여하는 방식에서 취약점이 발생했으며, 이는 조작을 가능하게 했습니다.
  • 마이크로소프트는 해당 취약점들을 패치했습니다.

디지털 성을 안전하게 지키기 위해 설계된 도구들이 자신도 모르게 뒷문을 열어두고 있다면 어떨까요?

지난주 보안 커뮤니티를 뒤흔든 짜릿한 질문이었습니다. 바로 윈도우의 관리자 보호 기능을 파헤친 예리한 연구자들 덕분이죠. 단순히 버그를 패치하는 것을 넘어, 사용자 인터페이스와 관리자 권한 사이의 근본적인 긴장을 이해하는 문제입니다. 이렇게 생각해보세요. 운영체제를 활기찬 도시라고 상상해 보세요. 어떤 구역은 모두에게 열려 있는 시장과 광장처럼 자유롭습니다. 하지만 진짜 권력이 있는, 삼엄하게 경비되는 정부 건물도 있죠. 수년간 윈도우는 사용자 계정 컨트롤(UAC), 특히 새로운 관리자 보호 기능을 통해 이 두 구역 사이에 명확하고 넘을 수 없는 벽을 만들려고 노력해 왔습니다. 그런데 만약 도움이 필요한 시민들을 위한 특별한 열쇠가 위조되어 경비병을 통과하는 데 사용될 수 있다면 어떨까요?

그게 바로 일어난 일입니다. 시스템 아키텍처를 꼼꼼하게 해체한 ‘설계자’라고 부를 만한 한 연구자가 이 새로운 보호 기능을 우회할 수 있는 방법을 아홉 가지나 발견했습니다. 이건 사소한 결함이 아닙니다. 복잡한 시스템이 어떻게 의도치 않은 결과를 초래할 수 있는지 보여주는 커튼 뒤의 모습입니다.

접근성 딜레마

설계자가 설명하는 이 우회의 핵심은 UI 접근성이라는 기능에 있습니다. 이는 진정한 필요에서 비롯된 흥미로운 해결책입니다. 윈도우 비스타 이전에는 어떤 프로그램이든 다른 프로그램의 창을 마음대로 조작할 수 있었습니다. 강도를 상상해보세요. 같은 거리에 서 있다는 이유만으로 은행 금고에서 직접 물건을 가져갈 수 있는 상황 말입니다. 그게 옛날 방식이었습니다. UAC, 특히 UIPI(사용자 인터페이스 개인 정보 보호 격리)는 이를 막기 위해 도입되었습니다. 마치 엄격한 보안 경계선을 설정하는 것과 같습니다. 일반 프로그램(일상 앱처럼)은 시스템 관리자나 강화된 UAC 프롬프트와 같은 고수준 프로그램의 창을 직접 조작하거나 제어할 수 없습니다.

하지만 여기 인간적인 요소, 즉 혁신(때로는 취약점)을 촉발하는 필요성이 있습니다. 보조 기술이 필요한 사람들은 어떻습니까? 화면 판독기 같은 경우, 관리자 권한으로 실행되는 애플리케이션에서도 화면에 표시되는 내용을 읽을 필요가 있습니다. UIPI가 이를 완전히 차단한다면, 이러한 필수적인 도구들은 작동하지 않을 것입니다. 마이크로소프트의 해결책은 무엇이었을까요? UI 접근성 플래그입니다. 프로세스가 이 플래그를 받으면, 보안이 강화된 창과 상호 작용할 수 있는 특별한 보이지 않는 통행증을 받는 것과 같습니다. 이는 관리자 권한과 특정 코드 서명 요구 사항을 포함하는 보안 핸드셰이크를 통해 합법적인 접근성 소프트웨어와 같은 신뢰할 수 있는 애플리케이션에만 부여되도록 설계되었습니다. 이 플래그가 설정되면 프로세스는 많은 UIPI 제한을 우회할 수 있습니다.

“TokenUIAccess 정보 클래스를 사용하여 NtSetInformationToken을 호출하여 이 플래그를 활성화하는 것은 SE_TCB_NAME 권한에 대한 검사를 통해 제한되었으므로 제한된 사용자에게는 수행할 수 없었습니다.”

처음에는 이 과정이 강력해 보였습니다. UI 접근성 플래그를 얻으려면 애플리케이션은 자신의 가치를 증명해야 했습니다. uiAccess=true를 선언하는 특수 매니페스트, 신뢰할 수 있는 코드 서명 인증서, 그리고 애플리케이션은 보호된 시스템 디렉터리에 위치해야 했습니다. 마치 문 앞에서 신분증을 확인하는 든든한 디지털 경비원 같았죠.

갑옷의 흠집

하지만 설계자는 의도된 디자인 너머를 보았습니다. 그들은 UI 접근성을 부여하는 데 사용되는 메커니즘, 특히 관리자 권한 프로세스를 시작하는 데 사용되는 RAiLaunchAdminProcess RPC 호출이 조작될 수 있다는 것을 깨달았습니다. 문제는 단일 버그가 아니라, 이 특별한 접근 권한이 어떻게 부여되는지에 대한 미묘한 오해의 연속이었습니다. 9가지 우회 중 5가지가 이 UI 접근성 구현에서 비롯되었습니다. 알고 보니 ‘보안 핸드셰이크’가 생각만큼 안전하지 않았던 것입니다. 합법적인 접근성 도구를 돕고자 하는 시스템의 열의가 악의적인 공격자가 유사한 신원을 주장하고 사용자가 UAC 프롬프트를 통해 명시적으로 승인하지 않고도 관리자 권한을 얻을 수 있는 경로를 무심코 만들어낸 것입니다.

이것이 바로 AI 플랫폼과의 유사성이 빛을 발하는 지점입니다. AI 모델이 컴퓨팅의 새로운 운영 체제가 되어가는 것처럼, UI 접근성과 같은 기능은 현재 OS의 복잡한 배관 시스템입니다. 그 배관에 결함이 있다면 파급 효과는 엄청납니다. 단일 소프트웨어 문제가 아니라, 그 위에 모든 것이 구축되는 기반 레이어에 대한 문제입니다. 설계자의 작업은 이러한 기본 요소를 철저히 조사하는 것이 얼마나 중요한지를 강조합니다. 단순한 명백한 버그뿐만 아니라, 의도되지 않은 동작으로 유도될 수 있는 미묘한 방식까지도 말입니다.

마이크로소프트는 신속하게 대응하여 이러한 취약점을 패치했습니다. 하지만 근본적인 교훈은 여전히 남아 있습니다. 시스템이 복잡해지고, 점점 더 정교하고 때로는 모호한 기능들을 통합함에 따라, 이러한 종류의 정교한 우회 가능성은 커지고 있습니다. 이는 혁신과 보안 사이의 끊임없는 춤이며, 근본적인 아키텍처를 이해하는 것이 핵심인 경주입니다.

이 모든 사건은 안전한 컴퓨팅의 미래가 단순히 더 큰 방화벽을 구축하는 것뿐만 아니라, 우리 시스템 내의 복잡하고 사람이 설계한 메커니즘을 이해하고 그것들이 영리한 사칭에 속을 수 없도록 보장하는 것임을 분명히 상기시켜 줍니다.


🧬 관련 인사이트

Written by
Threat Digest Editorial Team

Curated insights, explainers, and analysis from the editorial team.

Worth sharing?

Get the best Cybersecurity stories of the week in your inbox — no noise, no spam.

Originally reported by Google Project Zero