クライアント/サーバー ランタイム サブシステム (英語: Client/Server Runtime Subsystem, CSRSS) あるいは csrss.exe はWindows NT系オペレーティングシステムのコンポーネントで、ユーザーモード側のWin32サブシステムを提供する。ほとんどのWin32サブシステム処理はWindows NT 4.0以降でカーネルモードドライバーに移されたため[1]、CSRSSは基本的にWin32コンソールの処理とGUIのシャットダウンを行う役割を持つ。もっとも、Windows Vista以降ではセキュリティを強化するため、Win32コンソールに関わる処理のほとんどはConHost.exeに移されている。
CSRSSはシステムを処理する上で重要なコンポーネントであるため、このプロセスを終了させるとブルースクリーンに至るなどシステムに重大な障害をもたらす。通常の状況下でcsrss.exeはtaskkillコマンドやWindows タスク マネージャーから終了させることはできないが、Windows Vista以降でタスクマネージャーを管理者権限で実行していれば可能である。Windows 7ではタスクマネージャーでプロセスの終了を試みると、システムに障害が発生することを警告するメッセージが表示される。 CSRSSは次の機能に関わっている[2]。 CSRSSはユーザーモードのシステムサービスとして動作する。ユーザーモードプロセスがコンソールウィンドウで呼び出すファンクション、プロセスやスレッドの生成・破棄およびSide-by-Sideをサポートする。プロセスからのシステムコール要求はWin32ライブラリ (kernel32.dll, user32.dll, gdi32.dll) が肩代わりし、CSRSSが直接カーネルに働きかけるわけではない。しかし、ウィンドウマネージャーやGDIサービスの機能にはカーネルモードドライバー (win32k.sys) が直接呼び出される[3]。Windows Vista以降ではShatter Attack csrss.exeと類似したファイルパスやファイル名による偽装を行うマルウェアがいくつか確認されている。 正規のファイルはC:\Windows\System32に格納されており、その他の場所にある同名のファイルはマルウェアである疑いが強い。
概略
プロセスやスレッドの生成と破棄
GetTempFile、ExitWindowsExなど多種のファンクション
Side-by-Sideやマニフェストのサポート
Win32コンソールウィンドウ
仮想DOSマシンのサポート
サブシステムの働き
脅威
Nimda.E[5]
W32/Netsky.ab@MM[6]
W32/VBMania[7]
脚注^ “Windows NT Workstation Resource Kit Chapter 5 - Windows NT 4.0 Workstation Architecture
^ Windows Internals, p.118
^ Windows Internals, p.54
^ CC Hameed (2009年10月5日). “Windows 7 / Windows Server 2008 R2: Console Host - Ask the Performance Team Blog