Обзор новой функции Administrator Protection в Windows 11, особенностей работы «теневых аккаунтов» и защиты прав локального администратора.
Статья посвящена новой функции в Windows 11 Insider, а именно Local Administrator Protection, которая была анонсирована в Windows 11 Insider Preview Build 27718 (Canary Channel) и направлена на устранение постоянных административных привилегий, которые нередко становятся уязвимым местом для атак.
Функция Local Administrator Protection предназначена для устранения постоянных административных прав. Вместо этого используется скрытый механизм повышения привилегий для предоставления прав по мере необходимости, сохраняя их «в тени» до тех пор, пока они не потребуются.
Наличие прав локального администратора на устройстве Windows означает неограниченный доступ к настройкам, что является как полезным, так и опасным положением. Компрометация локальных административных прав является одним из основных способов, которым злоумышленники получают контроль над системой.
На протяжении многих лет для уменьшения такого риска использовались Контроль учётных записей пользователей (User Account Control, UAC) и разделённые токены (split token), что позволяло запускать задачи с повышенными привилегиями в ограниченном административном контексте. Несмотря на эффективность этих защитных механизмов, их можно было обойти. Однако новая версия Windows 11 предлагает решение с помощью Local Administrator Protection — значительного улучшения безопасности локальных администраторов.
Функция уходит от традиционного использования разделённых токенов и вместо этого использует System Managed Admin Account (внутреннее название ShadowAdmin в соответствующих DLL-файлах). Аккаунт динамически создаётся и связывается с основным административным аккаунтом, что позволяет выполнять задачи с повышенными привилегиями в отдельном контексте. Новая модель минимизирует доступ к правам администратора и создаёт надёжную изолированную среду для привилегированных операций.
Раньше при входе в систему как администратор Windows создавала два токена доступа: один с полными административными правами (admin token) и другой — с ограниченными (split token). Для уменьшения риска использовался admin token для повседневных задач, например, веб-серфинг или открытие файлов.
Однако при установке программ или внесении системных изменений появлялось окно UAC, спрашивающее, действительно ли нужно использовать административные права. Как только пользователь нажимал «Да», программа получала доступ ко всем привилегиям администратора до её закрытия.
Такой подход защищал пользователей от случайного запуска вредоносного ПО, но токен администратора оставался уязвимым для более сложных атак, когда вредоносное ПО ожидало, пока не будет запущено привилегированное действие, чтобы перехватить токен.
С функцией Administrator Protection Windows полностью переработала управление токенами. Вместо того, чтобы оставлять токен администратора, привязанный напрямую к аккаунту пользователя, Windows перемещает токен в скрытый, управляемый системой профиль администратора. Это похоже на запирание ключа администратора в надёжном сейфе, доступ к которому есть только у Windows.
Теперь при попытке выполнить действие с повышенными привилегиями Windows не просто активирует токен администратора. Вместо этого система переключается на изолированный управляемый профиль, который временно использует токен для конкретной задачи, а затем снова его блокирует. Это означает, что даже если вредоносное ПО присутствует в системе, оно не сможет захватить токен администратора.
Как упоминалось ранее, цель Administrator Protection — уменьшить атакуемую поверхность, динамически создавая и связывая System Managed Admin Account с локальным администратором при необходимости повышения привилегий. В отличие от Endpoint Privilege Management (EPM), который использует виртуальный аккаунт для повышения привилегий, System Managed Admin Account является постоянной учётной записью, хранящейся в SAM-базе.
Можно включить функцию через Group Policy или Intune:
Включение через Group Policy (Групповая политика):
Активация защиты администратора через групповые политики
Включение через Intune:
Активация защиты администратора в Intune Portal (Call4Cloud)
После включения Administrator Protection система динамически создаёт System Managed Admin Account для каждого существующего локального администратора с помощью функции ShadowAdminAccount::CreateShadowAdminAccount (samsrv.dll).
Созданный аккаунт получает случайное имя, например, ADMIN_<случайно> (имя вашего локального администратора). Для каждого администратора создаётся отдельный «теневой» аккаунт, за исключением учётной записи, управляемой Windows LAPS. Например, если на устройстве три локальных администратора: admin, admin и test admin, для каждого из них создаётся дополнительный аккаунт.
После включения защиты и перезагрузки устройства при выполнении команды от имени администратора система запросит подтверждение или учетные данные в зависимости от настроек UAC.
С рандомизированным именем настроены два специфических атрибута в базе данных SAM:
После создания и «связывания» функция ShadowAdminAccount::AddAccountToLocalAdministratorsGroup добавляет дополнительную учётную запись в группу локальных администраторов.
Используя команду whoami /groups, можно увидеть, что новый System Managed Admin Account входит в группу локальных администраторов.
Такая интеграция гарантирует, что System Managed Admin Account имеет все необходимые права для выполнения привилегированных операций, обходя необходимость использования разделённых токенов.
Как мы уже говорили выше, после включения Administrator Protection и перезагрузки устройства, при попытке запустить командную строку от имени администратора, будет запрошен ввод учетных данных или подтверждение в зависимости от настроек контроля учётных записей.
При повышении привилегий с включённой защитой администратора вместо привычного окна UAC вы увидите новое окно безопасности Windows. После ввода пароля и подтверждения запуска командная строка откроется в контексте System Managed Admin Account.
Перед более детальным рассмотрением процесса повышения привилегий стоит понять роль Appinfo и почему этот файл/служба играют важную роль в процессе. Appinfo.dll является ключевой частью Windows Application Information Service (также называемой службой AppInfo), которая напрямую связана с обработкой UAC.
Библиотека управляет взаимодействием между User Interface Privilege Isolation (UIPI), манипуляцией с токенами и определяет, запускать ли приложение от имени обычного пользователя или с повышенными правами. Всякий раз, когда пользователь или приложение инициируют действие, требующее прав администратора, appinfo.dll оценивает запрос и определяет последующие шаги.
Одной из видимых функций является запуск процесса consent.exe, который отображает привычное окно UAC для запроса подтверждения на повышение привилегий.
Инициация и проверка реестра:
Запуск Consent.exe:
Переключение на контекст System Managed Admin Account:
Безопасный запуск задачи
Проверка безопасности через базу данных SAM:
Введение Administrator Protection и концепции System Managed Admin Account знаменует собой фундаментальный сдвиг в управлении правами локальных администраторов. Microsoft устраняет многие традиционные уязвимости UAC, отделяя задачи с повышенными привилегиями от основного контекста пользователя, что делает роль локального администратора более безопасной.
Administrator Protection устанавливает новый стандарт безопасности, трансформируя локальные административные привилегии из постоянного риска в тщательно охраняемый ресурс.
Сбалансированная диета для серого вещества