Windows вики
Advertisement

Подсистема клиент/сервер времени выполнения (Шаблон:Lang-en, CSRSS) или csrss.exe, входит в состав операционной системы Microsoft Windows NT, и представляет собой часть пользовательского режима подсистемы Win32. Включена в состав Windows 2000, Windows XP, Windows 2003, Windows Vista, Windows Server 2008 и Windows 7. Поскольку большинство операций подсистемы Win32 были перенесены в режим ядра, а конкретнее в драйверы режима ядра, в Windows NT 4 и выше CSRSS в основном отвечает за обработку консоли в Win32 и графический интерфейс выключения ОС. Подсистема имеет решающее значение для функционирования ОС; поэтому завершение этого процесса приведёт к отказу системы. При нормальных условиях CSRSS не может быть завершена применением команды Taskkill или с помощью диспетчера задач Windows, хотя это возможно в Vista, если диспетчер задач запускается в режиме администратора. В Windows 7 и Windows 8 Developer Preview диспетчер задач сообщит пользователю, что завершение процесса приведёт к отказу системы, и покажет запрос, хочет ли пользователь продолжить.

Завершение csrss.exe ведёт к BSOD и (аварийной) перезагрузке Windows. Исполняемый файл csrss.exe хранится в папке %SYSTEMROOT%\system32.

Обзор[]

Процесс участвует в работе:

  • терминальных служб;
  • служб удалённого доступа к рабочему столу;
  • приложений с интерфейсом командной строки;
  • потоков в операционной системе (создание потоков в подсистеме Win32).

Работа подсистемы[]

CSRSS выполняется как системный сервис пользовательского режима. Когда процесс пользовательского режима вызывает функцию с участием консольных окон, создания процесса/потока, или поддержки Side-by-Side, библиотеки Win32 (kernel32.dll, user32.dll, gdi32.dll) вместо запроса системного вызова обращаются к процессу CSRSS путём меж-процессного вызова (IPC вида Local Procedure Call), и CSRSS делает большую часть реальной работы, без того, чтобы подвергать опасности (компрометировать) ядро[1]. Однако вызовы к оконному менеджеру и сервисам GDI обрабатываются драйверами режима ядра (win32k.sys)[2].

История[]

Серия выпусков Windows NT 3.x вмещала компонент GDI (интерфейс графических устройств) внутри CSRSS, но GDI был перенесен в режим ядра в версии Windows NT 4.0 для улучшения производительности графического отображения[3]. Процесс запуска Windows был значительно изменен начиная с версии Vista. В версиях Windows Vista и 7 работает 2 экземпляра csrss.exe [4].

Угрозы[]

Известно, что вирусы, шпионские программы и трояны заражают или маскируются под этот процесс. Это делают по меньшей мере следующие зловредные программы:

  • Nimda.E [5]
  • W32/Netsky.ab@MM [6]
  • W32/VBMania@MM [7]

Множество вирусов использует для маскировки имя приложения, чтобы не вызвать подозрения у пользователя, особенно учитывая, что для каждой терминальной сессии создаётся отдельный экземпляр процесса, поэтому на серверных машинах их количество может доходить до нескольких десятков. Оригинальный файл хранится только в папке %SYSTEMROOT%\system32, а его подмена практически невозможна на компьютере с одной операционной системой.

Проблемы[]

Данная программа является критическим системным компонентом, отвечающим за вызовы функций подсистемы Win32. При её завершении система завершит работу с отображением синего экрана смерти.

Ссылки[]

  1. Detailed implementation of a system service in Windows NT. Undocumented Windows NT. Архивировано из первоисточника 15 марта 2012.
  2. Шаблон:Cite book
  3. The Windows NT 4.0 Kernel mode change. MS Windows NT Kernel-mode User and GDI White Paper. Microsoft. Проверено 19 января 2009. Архивировано из первоисточника 15 марта 2012.
  4. Inside the Windows Vista Kernel - Startup Processes. Inside the Windows Vista Kernel - Startup Processes. Microsoft. Проверено 1 октября 2010. Архивировано из первоисточника 15 марта 2012.

Шаблон:Windows-stub

Advertisement