Процесс исполнения клиент-сервер: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
Нет описания правки
мНет описания правки
 
(не показано 46 промежуточных версий 30 участников)
Строка 1: Строка 1:
'''Подсистема клиент/сервер времени выполнения''' ({{lang-en|Client/Server Runtime Subsystem}}, ''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, диспетчер задач сообщит пользователю, что завершение процесса приведет к отказу системы, и покажет запрос хочет ли пользователь продолжить.
'''Подсистема клиент/сервер времени выполнения''' ({{lang-en|Client/Server Runtime Subsystem}}, ''CSRSS'') или csrss.exe входит в состав операционной системы Microsoft Windows NT и представляет собой часть пользовательского режима подсистемы Win32. Включена в состав Windows 2000, Windows XP, Windows 2003, Windows Vista, Windows Server 2008, Windows 7, Windows 8 (8.1) и Windows 10. Поскольку большинство операций подсистемы Win32 было перенесено в режим ядра, а конкретнее в драйверы режима ядра, в Windows NT 4 и выше CSRSS в основном отвечает за обработку консоли в Win32 и графический интерфейс выключения ОС. Подсистема имеет решающее значение для функционирования ОС; поэтому завершение этого процесса приведёт к отказу системы. При нормальных условиях CSRSS не может быть завершена применением команды Taskkill или с помощью диспетчера задач Windows, хотя это возможно с Windows Vista, если диспетчер задач запускается в режиме администратора. Начиная с Windows 7 диспетчер задач сообщит пользователю, что завершение процесса приведёт к отказу системы и покажет запрос, хочет ли пользователь продолжить.


Завершение csrss.exe ведёт к BSOD и (аварийной) перезагрузке ''Windows''.
Завершение csrss.exe ведёт к [[Синий экран смерти|BSOD]] (синему экрану смерти) и аварийной перезагрузке ''Windows''.
Исполняемый файл csrss.exe хранится в папке <code>[[Переменные среды|%SYSTEMROOT%]]\system32</code>.
Исполняемый файл csrss.exe хранится в папке <code>[[Переменные среды|%SYSTEMROOT%]]\system32</code>.


== Обзор ==
== Обзор ==
Процесс участвует в работе:
Процесс участвует в работе:
* [[Терминальные службы|Терминальных служб]].
* [[Терминальные службы|терминальных служб]];
* Служб [[удалённый доступ|удалённого доступа]] к рабочему столу.
* служб [[Общий доступ к рабочему столу|удалённого доступа]] к рабочему столу;
* Приложений с [[Интерфейс командной строки|интерфейсом командной строки]].
* приложений с [[Интерфейс командной строки|интерфейсом командной строки]];
* [[Многопоточность|Потоков]] в операционной системе (Создание потоков в подсистеме Win32).
* [[Многопоточность|потоков]] в операционной системе (создание потоков в подсистеме Win32).


==Работа подсистемы==
== Работа подсистемы ==
CSRSS выполняется как системный сервис пользовательского режима. Когда процесс пользовательского режима вызывает функцию с участием консольных окон, создания процесса/потока, или поддержки Side-by-Side, библиотеки Win32 (kernel32.dll, user32.dll, gdi32.dll) вместо запроса системного вызова обращаются к процессу CSRSS путем меж-процессного вызова (IPC), и CSRSS делает большую часть реальной работы, без того, чтобы подвергать опасности (компроментировать) ядро[1]. Однако вызовы к оконному менеджеру и сервисам GDI обрабатываются драйверами режима ядра (win32k.sys)[2].
CSRSS выполняется как системный сервис пользовательского режима. Когда процесс пользовательского режима вызывает функцию с участием консольных окон, создания процесса/потока или поддержки Side-by-Side, библиотеки Win32 (kernel32.dll, user32.dll, gdi32.dll) вместо запроса системного вызова обращаются к процессу CSRSS путём межпроцессного вызова (LPC вида Local Procedure Call), и CSRSS делает большую часть реальной работы, без того, чтобы подвергать опасности (компрометировать) ядро<ref>{{cite web |lang=en |author=Prasad Dabak, Sandeep Phadke and Milind Borate |url=http://www.gbv.de/dms/ilmenau/toc/306024276.PDF |title=Undocumented Windows NT |website=Gemeinsamen Bibliotheksverbundes |accessdate=2021-06-06 |archive-date=2021-06-06 |archive-url=https://web.archive.org/web/20210606174743/http://www.gbv.de/dms/ilmenau/toc/306024276.PDF |deadlink=no }}</ref>. Однако вызовы к оконному менеджеру и сервисам GDI обрабатываются драйверами режима ядра (win32k.sys)<ref>{{книга |заглавие=Windows Internals, 5th Edition |ссылка=https://archive.org/details/windowsinternals0000russ |год=2009 |издательство={{Нп3|Microsoft Press}} |страницы=[https://archive.org/details/windowsinternals0000russ/page/54 54] |ref=Russinovich |язык=en |автор=Russinovich, Mark}}</ref>.


==История==
== История ==
Cерия выпусков Windows NT 3.x вмещала компонент GDI (интерфейс графических устройств) внутри CSRSS, но GDI был перенесен в режим ядра в версии Windows NT 4.0 для улучшения производительности графического отображения[3]. Процесс запуска Windows был значительно изменен начиная с верчии Vista. В версиях Windows Vista и 7 работает 2 экземпляра csrss.exe [4].
Серия выпусков Windows NT 3.x вмещала компонент GDI (интерфейс графических устройств) внутри CSRSS, но GDI был перенесен в режим ядра в версии Windows NT 4.0 для улучшения производительности графического отображения<ref>{{cite web |lang=en |url=https://technet.microsoft.com/en-us/library/cc750820.aspx#XSLTsection124121120120 |title=The Windows NT 4.0 Kernel mode change |accessdate=2009-01-19 |website=TechNet - Microsoft |archiveurl=https://www.webcitation.org/66AzBXou0?url=http://technet.microsoft.com/en-us/library/cc750820.aspx#XSLTsection124121120120 |archivedate=2012-03-15 |deadlink=no }}</ref>. Процесс запуска Windows был значительно изменен начиная с версии Vista. В версиях Windows Vista и 7 работает 2 экземпляра csrss.exe<ref>{{cite web |lang=en |title=Inside the Windows Vista Kernel - Startup Processes |url=https://technet.microsoft.com/en-us/magazine/2007.03.vistakernel.aspx |accessdate=2010-10-01 |website=TechNet - Microsoft |deadlink=no |archiveurl=https://www.webcitation.org/66AzCF2rA?url=http://technet.microsoft.com/en-us/magazine/2007.03.vistakernel.aspx |archivedate=2012-03-15 }}</ref>.


==Угрозы==
== Угрозы ==
Известно, что вирусы, шпионские программы и трояны, заражают или маскируются под этот процесс. Это делают следующие зловредные программы (включая, но не ограничиваясь):
Известно, что вирусы, шпионские программы и трояны заражают или маскируются под этот процесс. Это делают по меньшей мере следующие зловредные программы:
* Nimda.E [5]
* [[Nimda]].E
* W32/Netsky.ab@MM [6]
* W32/[[Netsky (червь)|Netsky]].ab@MM
* W32/VBMania@MM [7]
* W32/VBMania@MM


Множество [[Компьютерный вирус|вирусов]] использует для маскировки имя приложения, чтобы не вызвать подозрения у пользователя, особенно учитывая, что для каждой терминальной сессии создаётся отдельный экземпляр процесса, поэтому на [[сервер (аппаратное обеспечение)|серверных машинах]] их количество может доходить до нескольких десятков. Оригинальный файл хранится только в папке <code>%SYSTEMROOT%\system32</code>, а его подмена практически невозможна на компьютере с одной операционной системой.
===Подверженность взломам===
Множество [[Компьютерный вирус|вирусов]] использует данное имя приложения, чтобы не вызвать подозрения у пользователя, тем более что для каждого терминального доступа создаётся отдельный экземпляр процесса, поэтому на [[сервер (аппаратное обеспечение)|серверных машинах]] их количество может доходить до нескольких десятков. Оригинальный файл хранится только в папке <code>%SYSTEMROOT%\system32</code>, а его подмена практически невозможна на компьютере с одной операционной системой.


== Проблемы ==
== Проблемы ==
Данная программа является критическим системным компонентом, отвечающим за вызовы функций подсистемы Win32. При её завершении система завершит работу с отображением [[Синий экран смерти|синего экрана смерти]].
Данная программа является критическим системным компонентом, отвечающим за вызовы функций подсистемы Win32. При её завершении система завершит работу с отображением [[Синий экран смерти|синего экрана смерти]] с кодом CRITICAL_PROCESS_DIED. До Windows 8 синий экран отображал код 0x000000F4 и сообщение:
{{начало цитаты}}A process or thread crucial to system operation has unexpectedly exited or been terminated.{{конец цитаты}}


== Примечания ==
{{Windows-stub}}
{{примечания}}
{{rq|sources|refless|stub|img|topic=IT}}

{{rq|sources|refless|img|topic=IT}}
{{Компоненты Microsoft Windows}}
{{Компоненты Microsoft Windows}}


[[Категория:Microsoft Windows]]
[[Категория:Стандартные приложения Windows]]
[[Категория:Стандартные приложения Windows]]
[[Категория:Компоненты Windows]]

[[en:Client/Server Runtime Subsystem]]
[[pl:CSRSS]]

Текущая версия от 18:37, 11 октября 2023

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

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

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

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

[править | править код]

CSRSS выполняется как системный сервис пользовательского режима. Когда процесс пользовательского режима вызывает функцию с участием консольных окон, создания процесса/потока или поддержки Side-by-Side, библиотеки Win32 (kernel32.dll, user32.dll, gdi32.dll) вместо запроса системного вызова обращаются к процессу CSRSS путём межпроцессного вызова (LPC вида 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].

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

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

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

A process or thread crucial to system operation has unexpectedly exited or been terminated.

Примечания

[править | править код]
  1. Prasad Dabak, Sandeep Phadke and Milind Borate. Undocumented Windows NT (англ.). Gemeinsamen Bibliotheksverbundes. Дата обращения: 6 июня 2021. Архивировано 6 июня 2021 года.
  2. Russinovich, Mark. Windows Internals, 5th Edition (англ.). — Microsoft Press[англ.], 2009. — P. 54.
  3. The Windows NT 4.0 Kernel mode change (англ.). TechNet - Microsoft. Дата обращения: 19 января 2009. Архивировано 15 марта 2012 года.
  4. Inside the Windows Vista Kernel - Startup Processes (англ.). TechNet - Microsoft. Дата обращения: 1 октября 2010. Архивировано 15 марта 2012 года.