Winlogon ( Windows Logon ) — компонент операционных систем Microsoft Windows , который отвечает за обработку безопасной последовательности внимания , загрузку профиля пользователя при входе в систему, создание рабочих столов для оконной станции и, при необходимости, блокировку компьютера при запуске заставки (требуется еще один шаг аутентификации). Роли и обязанности Winlogon значительно изменились в Windows Vista и более поздних операционных системах.
Первая часть процесса входа в систему, которую проводит Winlogon, — это запуск процесса, который показывает пользователю экран входа в систему. До Windows Vista это делала GINA , [2], но начиная с Vista это делает LogonUI. Эти программы отвечают за получение учетных данных пользователя и передачу их в Local Security Authority Subsystem Service , которая аутентифицирует пользователя.
После того, как управление возвращается Winlogon, он создает и открывает интерактивную оконную станцию, WinSta0, [3] и создает три рабочих стола, Winlogon, Defaultи ScreenSaver. Winlogon переключается с рабочего стола Winlogon на Defaultрабочий стол, когда оболочка сообщает, что она готова отобразить что-либо для пользователя, или по истечении тридцати секунд, в зависимости от того, что наступит раньше. [4]
Система переключается обратно на Winlogonрабочий стол, если пользователь нажимает Control-Alt-Delete или когда отображается запрос контроля учетных записей пользователей . [4] Winlogon теперь запускает программу, указанную в значении Userinit, которое по умолчанию равно userinit.exe. Это значение поддерживает несколько исполняемых файлов. [5]
Обязанности
Защита оконных станций и рабочих столов
Winlogon устанавливает защиту оконной станции и соответствующих рабочих столов, чтобы гарантировать, что каждый из них будет надлежащим образом доступен. В общем, это означает, что локальная система будет иметь полный доступ к этим объектам, а интерактивно вошедший в систему пользователь будет иметь доступ на чтение к объекту оконной станции и полный доступ к объекту рабочего стола приложения.
Стандартное распознавание SAS
Winlogon имеет специальные хуки в сервере User32, которые позволяют ему отслеживать события Control-Alt-Delete защищенной последовательности внимания (SAS). Winlogon делает эту информацию о событиях SAS доступной для GINA /поставщиков учетных данных для использования в качестве их SAS или как части их SAS. В целом, GINA должны отслеживать SAS самостоятельно; однако любой GINA, имеющий стандартный Ctrl+ + SAS в качестве одного из распознаваемых им SAS, должен использовать поддержку Winlogon, предоставляемую для этой цели.AltDel
SAS рутинная диспетчеризация
Когда Winlogon сталкивается с событием SAS или когда GINA отправляет Winlogon SAS, Winlogon устанавливает соответствующее состояние, переходит на рабочий стол Winlogon и вызывает одну из функций обработки SAS GINA.
Загрузка профиля пользователя
При входе пользователей в систему их профили загружаются в реестр. Таким образом, процессы пользователя могут использовать специальный раздел реестра HKEY_CURRENT_USER. Winlogon делает это автоматически после успешного входа в систему, но до активации оболочки для вновь вошедшего в систему пользователя.
Назначение безопасности пользовательской оболочке
Когда пользователь входит в систему, GINA отвечает за создание одного или нескольких начальных процессов для этого пользователя. Winlogon предоставляет функцию поддержки для GINA, чтобы применить безопасность нового вошедшего в систему пользователя к этим процессам. Однако предпочтительный способ сделать это — вызвать функцию Windows CreateProcessAsUser для GINA и позволить системе предоставить эту услугу.
Управление заставкой экрана
Winlogon отслеживает активность клавиатуры и мыши, чтобы определить, когда активировать заставки. После активации заставки Winlogon продолжает отслеживать активность клавиатуры и мыши, чтобы определить, когда завершить заставку. Если заставка помечена как безопасная, Winlogon рассматривает рабочую станцию как заблокированную. При наличии активности мыши или клавиатуры Winlogon вызывает функцию WlxDisplayLockedNotice GINA, и поведение заблокированной рабочей станции возобновляется. Если заставка небезопасна, любая активность клавиатуры или мыши завершает заставку без уведомления GINA.
Поддержка нескольких сетевых провайдеров
Несколько сетей, установленных в системе Windows, могут быть включены в процесс аутентификации и в операции обновления паролей. Это включение позволяет дополнительным сетям собирать идентификационную и аутентификационную информацию одновременно во время обычного входа в систему, используя защищенный рабочий стол Winlogon. Некоторые из параметров, требуемых в службах Winlogon, доступных для GINA, явно поддерживают этих дополнительных сетевых провайдеров.
Уязвимости
Winlogon является распространенной целью для нескольких угроз, которые могут изменить его функцию и использование памяти. Winlogon поддерживает плагины, которые загружаются и уведомляются о конкретных событиях. [6] Некоторые руткиты объединяют плагины Winlogon, поскольку они загружаются до того, как пользователь войдет в систему. Некоторые ключи реестра позволяют указывать несколько значений, что позволяет вредоносной программе выполняться одновременно с легитимным системным файлом. [7]
В утечке исходного кода Windows XP в сентябре 2020 года Winlogon был единственным отсутствующим элементом исходного кода, что делало просочившуюся операционную систему неполной. [8]
Ссылки
^ Архивированные docs. "Администрирование Windows: Внутри ядра Windows Vista: Часть 2". learn.microsoft.com . Получено 2023-05-14 .
^ Russinvoich, Mark E.; Solomon, David (2005). Microsoft Windows Internals (4-е изд.). Редмонд, Вашингтон: Microsoft Press . стр. 81. ISBN978-0735619173.
^ "Window Stations". MSDN . Microsoft Corporation . Получено 19 апреля 2014 г. .
^ ab "Desktops". MSDN . Microsoft Corporation . Получено 19 апреля 2014 г. .
^ Ионеску, Алекс; Руссинович, Марк; Соломон, Дэвид А. (2012). Внутреннее устройство Windows, часть 1 (6-е изд.). Редмонд, Вашингтон: Microsoft Press. стр. 77. ISBN978-0735648739.
^ Уоррен, Том (25.09.2020). «Исходный код Windows XP просочился в сеть». The Verge . Получено 27.09.2020 .
Внешние ссылки
Настройка GINA. Часть 1. Учебное пособие для разработчиков по написанию собственного GINA.
Настройка GINA. Часть 2. Учебное пособие для разработчиков по написанию собственного GINA.
MSKB:193361 MSGINA.DLL не сбрасывает структуру WINLOGON
Windows Vista и Windows Server 2008: понимание, улучшение и расширение сквозной безопасности — презентация Microsoft PowerPoint , включающая информацию об изменениях в Winlogon в Windows Vista и Windows Server 2008