Программа входа в систему
Программа входа в систему (Windows Logon) — компонент операционной системы Microsoft Windows, отвечающий за вход в систему.
Краткий обзор
Исполняемым файлом процесса является winlogon.exe
. Он запускается процессом smss.exe
, который так же запускает процесс csrss.exe
. Для реализации диалога с пользователем применяется библиотека GINA. Программа входа в систему обрабатывает нажатие клавиш Ctrl+Alt+Del и Ctrl+⇧ Shift+Esc. Winlogon.exe
подгружает и выполняет код из библиотек Winlogon notification packages. Такие библиотеки применяются системой, программами и вирусами. Они не поддерживаются в Windows Vista[1], а также в более поздних версиях Windows.
Критичность процесса
Процесс winlogon.exe
через стандартный WinAPI невозможно закрыть. Для этого требуется привилегия SE_DEBUG
.
Если всё-таки закрыть процесс, на экране появится синий экран смерти со следующим сообщением:
c000021a {Fatal System Error} The Windows logon system process terminated unexpectly with a status…
что является следствием срабатывания специальной защиты, установленной для процесса winlogon.exe
недокументированной функцией RtlSetProcessIsCritical
библиотеки ntdll.dll
.
В русской версии операционной системы экран заполнится символами ASCII, которые при расшифровке значат:
c000021a {} Непредвиденное завершение системного процесса Windows Logon Process с состоянием…
Причиной такого сбоя может быть заполнение системного диска до предела, при освобождении места всё возвращается в норму.
Начиная с Windows Vista завершение процесса winlogon.exe
вызывает немедленный выход из системы вместо сбоя.
Функции
Программа входа в систему начинает работу, будучи запущенным процессом smss.exe
. После некоторых подготовительных действий, она отображает приглашение ко входу в систему. В ходе загрузки операционной системы запускается lsass.exe
и services.exe
. Если активен новый стиль экрана приветствия, то для его отображения запускается процесс logonui.exe
. После входа Программа входа в систему запускает команды, прописанные в параметре Userinit
Реестра Windows — обычно userinit.exe
, которая в свою очередь выполняет запуск программ, прописанных в параметре Shell
— обычно explorer.exe
.
Использование вредоносными программами
Вирусы и другие вредоносные программы могут добавлять свои библиотеки Winlogon notification packages и изменять параметры Shell
и Userinit
для заражения системы. Имя winlogon.exe
используют некоторые вирусы, поэтому подозрительными являются все файлы с таким именем, находящиеся в папке, отличной от %SYSTEMROOT%\system32
и %SYSTEMROOT%\dllcache
. Переименовав нужное приложение в %SystemRoot%\System32\logon.scr,
можно добиться его запуска с правами пользователя SYSTEM через 10 минут ожидания ввода имени пользователя и пароля для входа в систему.
Примечания
- Winlogon Notification Packages Removed: Impact on Windows Vista Planning and Deployment (недоступная ссылка). Дата обращения: 27 сентября 2008. Архивировано 13 мая 2013 года.