クライアント/サーバー ランタイム サブシステム
クライアント/サーバー ランタイム サブシステム (英語: 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]。
- プロセスやスレッドの生成と破棄
GetTempFile
、ExitWindowsEx
など多種のファンクション- Side-by-Sideやマニフェストのサポート
- Win32コンソールウィンドウ
- 仮想DOSマシンのサポート
サブシステムの働き
[編集]CSRSSはユーザーモードのシステムサービスとして動作する。ユーザーモードプロセスがコンソールウィンドウで呼び出すファンクション、プロセスやスレッドの生成・破棄およびSide-by-Sideをサポートする。プロセスからのシステムコール要求はWin32ライブラリ (kernel32.dll, user32.dll, gdi32.dll) が肩代わりし、CSRSSが直接カーネルに働きかけるわけではない。しかし、ウィンドウマネージャーやGDIサービスの機能にはカーネルモードドライバー (win32k.sys) が直接呼び出される[3]。Windows Vista以降ではShatter Attackによる脆弱性から守るため、Win32コンソールに関わる処理のほとんどはローカルユーザーのコンテキストで動作するConHost.exeに移されている[4]。
脅威
[編集]csrss.exeと類似したファイルパスやファイル名による偽装を行うマルウェアがいくつか確認されている。
正規のファイルはC:\Windows\System32
に格納されており、その他の場所にある同名のファイルはマルウェアである疑いが強い。
脚注
[編集]- ^ “Windows NT Workstation Resource Kit Chapter 5 - Windows NT 4.0 Workstation Architecture”. Microsoft. 2016年7月6日閲覧。
- ^ 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”. Microsoft. 2016年7月6日閲覧。
- ^ “W32.Nimda.E@mm : シマンテック 日本”. シマンテック. 2016年7月6日閲覧。
- ^ “W32.Netsky.AB@mm : シマンテック 日本”. シマンテック. 2016年7月6日閲覧。
- ^ “ウイルス情報 W32/VBMania@MM”. マカフィー. 2016年7月6日閲覧。
参考文献
[編集]- David A. Solomon、Mark E. Russinovich、Alex Ionescu (2009-06-17). Windows Internals. Microsoft Press. ISBN 0735625301