Открыть сервис

User Account Control

User Account Control (UAC, контроль учётных записей пользователей) — это компонент операционной системы Microsoft Windows, впервые внедрённый в Windows Vista, который обеспечивает ограничение привилегий приложений и предотвращает несанкционированное внесение изменений в системные настройки. UAC функционирует на основе механизма разделения привилегий, требуя явного согласия администратора или ввода пароля для выполнения операций, затрагивающих безопасность системы.

История

Предпосылки создания

До появления UAC в Windows XP и более ранних версиях пользователи с правами администратора работали с полным доступом ко всем системным ресурсам. Это приводило к тому, что вредоносное программное обеспечение, запущенное от имени администратора, могло беспрепятственно изменять системные файлы, реестр и настройки безопасности. В то же время пользователи с ограниченными правами (стандартные пользователи) сталкивались с проблемами совместимости приложений, многие из которых требовали прав администратора для корректной работы.

Разработка и внедрение

Microsoft начала разработку UAC под кодовым названием «Integrity Mechanism» (механизм целостности) в рамках проекта Windows Vista (Longhorn). Основной целью было создание системы, которая бы позволяла большинству пользователей работать в режиме стандартных учётных записей, но при необходимости предоставляла временные административные привилегии. В Windows Vista UAC был включён по умолчанию, что вызвало значительную критику из-за большого количества запросов на подтверждение, особенно при выполнении рутинных задач.

Эволюция в последующих версиях

В Windows 7 (2009) количество запросов UAC было значительно сокращено за счёт оптимизации: многие системные операции, не представляющие угрозы, были автоматически одобрены. В Windows 8 (2012) и Windows 10 (2015) UAC был интегрирован с новыми функциями безопасности, такими как SmartScreen и Windows Defender. В Windows 11 (2021) интерфейс UAC был незначительно изменён в соответствии с общим дизайном системы, а также добавлена возможность более тонкой настройки уровня уведомлений.

Принцип работы

Разделение привилегий

UAC реализует модель безопасности, при которой все процессы, запущенные от имени пользователя, по умолчанию выполняются с минимальными привилегиями (стандартный уровень). Даже если пользователь входит в группу «Администраторы», его сессия запускается с токеном доступа, из которого удалены административные права. Для выполнения операций, требующих повышенных привилегий (например, установка программ, изменение системных файлов), UAC запрашивает подтверждение.

Токены доступа

При входе пользователя в систему Windows создаёт два токена доступа: полный (административный) и отфильтрованный (стандартный). Отфильтрованный токен содержит все права и привилегии, необходимые для обычной работы, но лишён прав на изменение системных объектов. UAC использует отфильтрованный токен для запуска большинства приложений, включая рабочий стол и проводник.

Запрос на подтверждение

Когда приложение пытается выполнить операцию, требующую административных прав, Windows приостанавливает выполнение и выводит диалоговое окно UAC. В зависимости от настроек безопасности, пользователь должен либо нажать кнопку «Да» (если он администратор), либо ввести пароль администратора (если он стандартный пользователь). После подтверждения Windows создаёт новый процесс с полным токеном доступа, который может выполнять требуемые действия.

Уровни безопасности

UAC имеет четыре уровня уведомлений, которые можно настроить в панели управления:

  1. Всегда уведомлять — самый строгий уровень. Запрос появляется при любом изменении системных настроек, включая те, которые инициированы самим пользователем. Рабочий стол затемняется, чтобы предотвратить случайные нажатия.
  2. Уведомлять только при попытках программ внести изменения — уровень по умолчанию в Windows 10 и 11. Запросы появляются только при попытках приложений изменить системные параметры. Действия самого пользователя (например, изменение времени) не требуют подтверждения.
  3. Уведомлять без затемнения рабочего стола — аналогичен предыдущему уровню, но диалоговое окно не затемняет рабочий стол. Это снижает безопасность, так как другие программы могут взаимодействовать с окном UAC.
  4. Никогда не уведомлять — UAC отключается полностью. Все процессы запускаются с полными правами администратора. Этот уровень не рекомендуется для повседневного использования.

Критика и ограничения

Чрезмерная назойливость

В Windows Vista UAC подвергался критике за чрезмерное количество запросов, что приводило к «усталости от подтверждений» и побуждало пользователей отключать его. В последующих версиях количество запросов было сокращено, но проблема остаётся актуальной для некоторых сценариев использования.

Обход защиты

UAC не является полноценной системой защиты от вредоносного ПО. Опытные злоумышленники могут использовать уязвимости для обхода UAC, например, через подмену исполняемых файлов или использование доверенных процессов, которые автоматически получают повышенные привилегии. Microsoft регулярно выпускает обновления для устранения таких уязвимостей.

Влияние на производительность

Каждый запрос UAC требует временной приостановки выполнения приложения, что может замедлить работу, особенно при установке крупных программ или выполнении сложных системных операций. Однако в современных системах это влияние минимально.

Применение

В корпоративной среде

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

В домашних условиях

Для домашних пользователей UAC обеспечивает базовый уровень защиты от случайных изменений системы, например, при установке программ из непроверенных источников. Рекомендуется оставлять UAC включённым на уровне по умолчанию, чтобы снизить риск заражения вредоносным ПО.

Альтернативы и аналоги

В других операционных системах существуют аналогичные механизмы контроля учётных записей:

  • В Linux и macOS используется команда sudo (superuser do), которая позволяет временно повышать привилегии для выполнения одной команды.
  • В macOS также присутствует система запросов на ввод пароля администратора при изменении системных настроек.
  • В Android и iOS используется модель изолированных приложений, где каждое приложение работает в собственном контейнере с ограниченными правами.

Интересные факты

  • Изначально UAC в Windows Vista назывался «User Account Protection» (UAP), но название было изменено перед релизом.
  • Диалоговое окно UAC в Windows Vista и 7 содержало два варианта ответа: «Продолжить» и «Отмена». В Windows 8 и 10 кнопки были переименованы на «Да» и «Нет».
  • В Windows 10 и 11 UAC может автоматически повышать привилегии для некоторых доверенных приложений, таких как «Диспетчер задач» и «Панель управления», если они запущены из безопасного контекста.

Источники

  • Microsoft Docs. «User Account Control Overview». — 2021.
  • Mark Russinovich, David A. Solomon, Alex Ionescu. «Windows Internals, Part 1: System architecture, processes, threads, memory management, and more». — 7th edition. — Microsoft Press, 2017.
  • TechNet Magazine. «Understanding User Account Control in Windows Vista». — 2007.
  • Блог безопасности Microsoft. «Mitigating UAC Bypass Techniques». — 2019.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →