Vulnerabilities & CVEs

Уязвимости обхода UAC в Windows: обнаружено 5 проблем с UI A

Цифровой мир бурлит потенциалом ИИ, но иногда самые глубокие сдвиги происходят из самых неожиданных уголков системной безопасности. Недавнее разоблачение обходов контроля учетных записей пользователей (UAC) в Windows — тому подтверждение.

{# 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 способов обхода новой функции защиты администратора Windows.
  • Пять из этих обходов использовали функцию UI Access, предназначенную для инструментов доступности.
  • Механизм UI Access позволял определённым процессам обходить ограничения UIPI — меры безопасности, призванные предотвратить взаимодействие процессов с низкими привилегиями с процессами с высокими привилегиями.
  • Уязвимости возникли из-за того, как система выдавала UI Access через RPC-вызов RAiLaunchAdminProcess, что позволило осуществлять манипуляции.
  • Microsoft устранила выявленные уязвимости.

Что, если сами инструменты, призванные защищать ваш цифровой замок, незаметно оставляли приоткрытой потайную дверь?

Именно этот волнующий вопрос на этой неделе вызвал переполох в сообществе кибербезопасности благодаря острому взгляду исследователей, изучавших защиту администратора (Administrator Protection) в Windows. Дело не только в исправлении банальной ошибки, а в понимании фундаментального противоречия в основе пользовательских интерфейсов и повышенных привилегий. Представьте себе: ваша операционная система — это оживлённый город. Некоторые районы доступны всем, полны открытых рынков и площадей. Затем идут хорошо охраняемые правительственные здания — места, где сосредоточена реальная власть. Годами Windows пыталась выстроить чёткую, непроходимую стену между этими двумя зонами с помощью контроля учетных записей пользователей (UAC), особенно новой защиты администратора. Но что, если специальный ключ — предназначенный для помощи нуждающимся гражданам — можно было подделать и использовать, чтобы проскользнуть мимо стражников?

Вот что, по сути, и произошло. Исследователь, назовём его ‘Архитектор’ за доскональное вскрытие архитектуры системы, обнаружил не один, а целых девять способов обойти эту новую защиту. Это не мелкий сбой, а взгляд за кулисы того, как сложные системы могут иметь непреднамеренные последствия.

Дилемма доступности

Суть этих обходов, как объясняет Архитектор, кроется в функции под названием UI Access. Это интригующее решение, порождённое реальной потребностью. До Windows Vista любая программа могла свободно вмешиваться в окна других программ. Представьте себе мелкого воришку, способного выхватить вещи прямо из банковской ячейки, просто потому, что он стоял на той же улице. Так было раньше. UAC, и в частности UIPI (User Interface Privacy Isolation), был призван это остановить. Это как установление строгого периметра безопасности: низкоуровневые программы (например, ваши обычные приложения) не могут напрямую взаимодействовать или управлять окнами высокоуровневых программ (например, системных администраторов или запросов UAC с повышенными правами).

Но вот и человеческий фактор, искра необходимости, зажигающая инновации (а иногда и уязвимости). Как быть с людьми, которым нужны вспомогательные технологии? Например, программы чтения с экрана должны читать то, что отображается на экране, даже из приложений с повышенными правами. Если бы UIPI полностью блокировал их, эти важнейшие инструменты перестали бы работать. Решение Microsoft? Флаг UI Access. Когда процесс получает этот флаг, это всё равно что выдать ему специальный, невидимый пропуск для взаимодействия с окнами повышенной безопасности. Он предназначен для предоставления только доверенным приложениям, таким как легитимное программное обеспечение для доступности, посредством безопасного рукопожатия, включающего повышенные привилегии и специфические требования к подписанию кода. Этот флаг, когда он установлен, позволяет процессу обойти многие ограничения UIPI.

«Активация этого флага через вызов NtSetInformationToken с классом информации TokenUIAccess была ограничена проверкой привилегии SE_TCB_NAME, поэтому она не могла быть выполнена ограниченным пользователем».

Изначально этот процесс казался надёжным. Чтобы получить флаг UI Access, приложение должно было доказать свою легитимность: специальный манифест с декларацией uiAccess=true, доверенный сертификат подписи кода, и приложение должно было находиться в защищённом системном каталоге. Это звучало как надёжный цифровой вышибала, проверяющий удостоверения у входа.

Трещина в броне

Однако Архитектор увидел больше, чем предполагалось изначально. Он понял, что механизм, используемый для предоставления UI Access — в частности, RPC-вызов RAiLaunchAdminProcess, который используется для запуска процессов с повышенными правами — может быть использован для манипуляций. Проблема была не в одной ошибке, а в серии тонких неверных интерпретаций того, как раздавался этот специальный доступ. Пять из девяти обходов возникли из-за этой реализации UI Access. Оказалось, что «безопасное рукопожатие» было не таким уж безопасным, как считалось. Стремление системы помочь легитимным инструментам доступности непреднамеренно создало путь для злоумышленников, чтобы выдать себя за них и получить повышенный доступ без явного одобрения пользователя через запрос UAC.

Именно здесь параллель с ИИ-платформами действительно сияет. Так же, как модели ИИ становятся новыми операционными системами для вычислений, такие функции, как UI Access, представляют собой сложную «сантехнику» наших текущих ОС. Когда эта сантехника даёт сбой, последствия огромны. Речь идёт не просто об одном куске программного обеспечения, а о фундаментальных слоях, на которых всё построено. Работа Архитектора подчёркивает, насколько важно тщательно изучать эти основополагающие элементы, не только на предмет явных ошибок, но и на предмет тонких способов, которыми их можно побудить к непреднамеренному поведению.

Microsoft отреагировала оперативно, исправив эти уязвимости. Но основной урок остаётся: по мере усложнения систем и интеграции всё более совершенных — а иногда и малопонятных — функций, растёт и потенциал для таких изощрённых обходов. Это постоянный танец между инновациями и безопасностью, гонка, в которой понимание фундаментальной архитектуры является ключом.

Вся эта история — яркое напоминание о том, что будущее безопасных вычислений заключается не только в построении более крупных межсетевых экранов, но и в понимании сложных, разработанных человеком механизмов внутри наших систем и обеспечении того, чтобы их нельзя было обмануть ловкой мимикрией.


🧬 Связанные инсайты

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