プログラミング言語や環境設定を中心としたパソコン関連の技術メモです。
主にシステム開発中に調べたことをメモしています。TIPS的な位置付けで、気が向いたときにちまちま更新していきます。
Windows7、「svchost.exe」とはなんぞや?
SP1をあててからなんか微妙に遅くなった我が家のWindows7さん。
仕方ないので邪魔くさいのを止めていくことに。

さて、次に調べたるは「svchost.exe」。

基本的に止めちゃ駄目ってのは知っていますが、
一体全体「svchost.exe」ってなんじゃらほい?ってのを
ちゃんと調べてみようかと思いましてね。

ふむふむ。

「svchost.exe」はOS内の各種サービスを起動するための親となるプロセスで
OS起動時には、svchost.exeを経由して各種のネットワーク・サービスが起動する

だそうです。
もう少し具体的に書くと、

ダイナミック リンク ライブラリ (DLL) から実行されるサービスに対して付けられる
汎用のホスト プロセス名

になります。分かりました?(^^;

どうやら自分では動けないサービスを動かしてやるためのプロセスみたいですね。
例えば「hoge.exe」のような実行形式になっていれば、自分で動けます。
でも「hoge.dll」のようにDLL形式の場合は、自分では動けません。
誰かに呼び出してもらう必要があります。

そのDLL形式になっているサービスを動かしてやるためのプロセスみたいです。

「svchost.exe」さんが呼び出す奴らのリストは、レジストリの

\HKEY_LOCAL_MACHINE
 \SOFTWARE\Microsoft
  \Windows NT
   \CurrentVersion
    \Svchost

に登録されています。
例えば上記のレジストリに

値の名前種類値のデータ
LocalServiceREG_MULTI_SZnsi
WdiServiceHost
w32time
EventSystem
RemoteRegistry
WinHttpAutoProxySvc
sppuinotify
THREADORDER
netprofm
lltdsvc
fdphost
SstpSvc
WebClient
FontCache

が登録されていたとします。
このとき

svchost.exe -k LocalService

のような指定をすると「LocalService」の名前で登録されているサービスたち、

nsi
WdiServiceHost
w32time
EventSystem
RemoteRegistry
WinHttpAutoProxySvc
sppuinotify
THREADORDER
netprofm
lltdsvc
fdphost
SstpSvc
WebClient
FontCache

が(動くように設定されていれば)「svchost.exe」によって動かされるようです。

ということはあれですね。
dllを仕込んでレジストリ改変すれば独自のサービスを見た目「svchost.exe」で動かせるということです。
例えば「virus.dll」を送り込んで、上記のレジストリ値にしれっと紛れ込ませておけば
「svchost.exe」さんが「virus.dll」を動かしてくれます。

svchost.exeがマルウェアさんに大人気なのも分かるってもんですね。

心配な方は「svchost.exe」が動かしているサービスを確認してくださいな。
「svchost.exe」がどのサービスを動かしているか確認するツールは
巷にあふれているのでお好みの物をどーぞです。
私は「Process Explorer」を使わせていただいています。
わざわざツールを入れるのが面倒くさい人は、コマンドプロンプトで

Tasklist /SVC

を実行しても確認できますけどね。


ちなみにウィルスはオリジナルのプロセスの場合もあれば
既存のプロセスに偽装している場合もあります。
偽装している場合の方が多いのかしら(--?
なもんで、ウィルス対策ソフトさんが検出した場合は
例え一般的に大丈夫なはずのプロセスでも、
ファイルサイズやタイムスタンプ等から総合的に判断したって下さい。

スポンサーリンク
 
このエントリーをはてなブックマークに追加 

category:プロセス  thema:パソコンな日々 - genre:コンピュータ  Posted by ササキマコト 

  関連記事