Уровни целостности

Из статьи вы узнаете, что такое уровни целостности (Integrity Level). Мало кто знает, что не только права определяют возможности того или иного приложения.





Читать

Маркеры доступа

Из этой статьи вы узнаете, что такое маркеры доступа, и из чего они состоят. А также я покажу, как запустить программу с изменённым маркером доступа.





Читать

Virtualize file and registry

В этой статье рассмотрим виртуализацию файловой системы и реестра (Virtualize file and registry). Посмотрим на практике, как это всё работает.





Читать

Система UAC

В этой статье разберём настройки связанные с контролем учетных записей (UAC). А также узнаем про особенности работы этой системы.





Читать

Аудит безопасности

В статье рассмотрим то, как мы можем проводить аудит безопасности системы Windows. Узнаем как настроить и смотреть логи связанные с аудитом.





Читать

Login в Windows

В этой статье разберем процесс входа в систему (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 ищет в реестре значение параметра HKLMSOFTWARE MicrosoftWindows NTCurrent VersionWinlogonUserinit и на его основе создает первый процесс пользователя. По умолчанию это Userinit, который загружает профиль пользователя, а затем загружает оболочку пользователя из параметра HKCUSOFTWARE MicrosoftWindows NTCurrent VersionWinlogonShell или из HKLMSOFTWAREMicrosoftWindows NTCurrent VersionWinlogonShell. По умолчанию оболочка пользователя — Explorer.exe. Затем происходит выход из Userinit. Именно поэтому для Explorer.exe не показывается родительский процесс при просмотре в Process Explorer.




Windows Hello




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




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




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








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



2021-10-13T16:19:36
Администрирование Windows