В этой статье разберем процесс входа в систему (Login в Windows). А также разберём все компоненты участвующие в этом процессе.

Компоненты участвующие в процессе входа

Login в Windows начинается с процесса Winlogon. Который координирует вход в систему, запускает первый процесс пользователя при входе в систему и обрабатывает выход из системы.

Winlogon может запускать процесс LogonUI для ввода паролей при: входе в систему, изменении паролей, блокировке и раз-блокировке компьютера.

Winlogon при получении учетных данных пользователя зависит от поставщиков учетных записей, которые являются com-объектами. Поставщики поддерживают аутентификацию с использованием:

  • пароля,
  • pin-кода,
  • смарт-карты с pin-кодом,
  • распознавания лица.

Могут быть установлены и сторонние поставщики, например считывание отпечатка пальца.

Так как Winlogon является критически важным объектом, то его необходимо защищать. Поэтому Winlogon загружает поставщиков данных используя другой процесс — LogonUI. Процесс LogonUI запускается только по запросу, когда нужно вывести пользовательский интерфейс получения учетных данных. Выход из LogonUI осуществляется после получения таких данных. Winlogon может просто перезапустить LogonUI в случае сбоя.

После того как Winlogon получил учетные данные он вызывает LSASS, чтобы проверить правильность учетных данных. Если пользователь есть в системе и ему разрешено входить в систему, запускается оболочка входа в систему от имени этого пользователя.

Компоненты, участвующие во входе в систему

Инициализация Winlogon

Перед тем, как станет активным любое пользовательское приложение, процесс Winlogon выполняет следующие действия:

  • создает и выполняет интерактивное окно, для предоставления клавиатуры, мыши и монитора. Ни один другой пользовательский процесс не сможет запуститься, пока Winlogon это не разрешит;
  • создает и запускает два рабочих стола — интерактивный и защищенный. Интерактивный рабочий стол используется для работы пользователя, а защищенный при блокировке системы, или перед тем как кто-нибудь зайдет в систему. Нажатие Ctrl+Alt+Delete переключает защищенный рабочий стол на интерактивный и начинается процедура аутентификации, запускается LogonUI, загружается один из поставщиков учетных данных и так далее;
  • устанавливает ALPC-подключение к LSASS для обмена информацией;
  • регистрируется сервер rpc-сообщений, который прослушивает уведомления SAS, выхода из системы и блокировки рабочей станции. Безопасность SAS реализована таким образом, что ни одно другое приложение не может перехватить комбинацию Ctrl+Alt+Delete.

Этапы входа пользователя в систему

Login в Windows начинается, когда пользователь нажимает SAS комбинацию (Ctrl+Alt+Delete). Далее Winlogon запускает LogonUI, который вызывает поставщика учетных данных. Winlogon также создает для этого пользователя уникальный SID входа в систему, этот SID попадает в маркер доступа.

После ввода имени пользователя и пароля Winlogon обращается к LSASS. Как только LSASS проверит пользователя, Winlogon продолжит процесс входа. Если LSASS в ходе проверки не узнает пользователя, то процесс входа для него прекращается.

Для интерактивного входа используются два стандартных пакета аутентификации:

  • MSV1_0 — на автономном компьютере. Он принимает логин и хеш введенного пароля и отправляет запрос локальному SAM-администратору для извлечения информации об учетной записи. Извлекается имя учетной записи, его группы и хеш пароля. На основе этой информации принимается решение, пускать пользователя в систему или нет.
  • Kerberos — на компьютере в домене. Процесс входа похож на первый, но в этом случае компьютеру в домене нужно еще обмениваться информацией с контроллером домена. Такой обмен выполняется по протоколу Kerberos, который обеспечивает безопасную среду передачи информации от рабочей станции к контроллеру домена в ходе аутентификации.

Затем Winlogon ищет в реестре значение параметра HKLM\SOFTWARE \ Microsoft\Windows NT\Current Version\Winlogon\Userinit и на его основе создает первый процесс пользователя. По умолчанию это Userinit, который загружает профиль пользователя, а затем загружает оболочку пользователя из параметра HKCU\SOFTWARE\ Microsoft\Windows NT\Current Version\Winlogon\Shell или из HKLM\SOFTWARE\Microsoft\Windows NT\Current Version\Winlogon\Shell. По умолчанию оболочка пользователя — Explorer.exe. Затем происходит выход из Userinit. Именно поэтому для Explorer.exe не показывается родительский процесс при просмотре в Process Explorer.

Windows Hello

Технология Windows Hello, появившаяся в Windows 10, предоставляет новые средства аутентификации пользователей на основании биометрической информации. С этой технологией пользователь может выполнить вход с минимальными усилиями — для этого достаточно заглянуть в камеру или провести пальцем.

Windows Hello поддерживает три типа биометрической идентификации:

  • отпечаток пальца;
  • лицо;
  • сетчатка глаза.

Вернуться к оглавлению

Сводка
Login в Windows
Имя статьи
Login в Windows
Описание
В этой статье разберем процесс входа в систему (Login в Windows). А также разберём все компоненты участвующие в этом процессе

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *