2011.
07.
25
07:13:07
SP1をあててからなんか微妙に遅くなった我が家のWindows7さん。
仕方ないので邪魔くさいのを止めていくことに。
さて、次に調べたるは「svchost.exe」。
基本的に止めちゃ駄目ってのは知っていますが、
一体全体「svchost.exe」ってなんじゃらほい?ってのを
ちゃんと調べてみようかと思いましてね。
ふむふむ。
だそうです。
もう少し具体的に書くと、
になります。分かりました?(^^;
どうやら自分では動けないサービスを動かしてやるためのプロセスみたいですね。
例えば「hoge.exe」のような実行形式になっていれば、自分で動けます。
でも「hoge.dll」のようにDLL形式の場合は、自分では動けません。
誰かに呼び出してもらう必要があります。
そのDLL形式になっているサービスを動かしてやるためのプロセスみたいです。
「svchost.exe」さんが呼び出す奴らのリストは、レジストリの
に登録されています。
例えば上記のレジストリに
が登録されていたとします。
このとき
のような指定をすると「LocalService」の名前で登録されているサービスたち、
が(動くように設定されていれば)「svchost.exe」によって動かされるようです。
ということはあれですね。
dllを仕込んでレジストリ改変すれば独自のサービスを見た目「svchost.exe」で動かせるということです。
例えば「virus.dll」を送り込んで、上記のレジストリ値にしれっと紛れ込ませておけば
「svchost.exe」さんが「virus.dll」を動かしてくれます。
svchost.exeがマルウェアさんに大人気なのも分かるってもんですね。
心配な方は「svchost.exe」が動かしているサービスを確認してくださいな。
「svchost.exe」がどのサービスを動かしているか確認するツールは
巷にあふれているのでお好みの物をどーぞです。
私は「Process Explorer」を使わせていただいています。
わざわざツールを入れるのが面倒くさい人は、コマンドプロンプトで
を実行しても確認できますけどね。
ちなみにウィルスはオリジナルのプロセスの場合もあれば
既存のプロセスに偽装している場合もあります。
偽装している場合の方が多いのかしら(--?
なもんで、ウィルス対策ソフトさんが検出した場合は
例え一般的に大丈夫なはずのプロセスでも、
ファイルサイズやタイムスタンプ等から総合的に判断したって下さい。
仕方ないので邪魔くさいのを止めていくことに。
さて、次に調べたるは「svchost.exe」。
基本的に止めちゃ駄目ってのは知っていますが、
一体全体「svchost.exe」ってなんじゃらほい?ってのを
ちゃんと調べてみようかと思いましてね。
ふむふむ。
「svchost.exe」はOS内の各種サービスを起動するための親となるプロセスで
OS起動時には、svchost.exeを経由して各種のネットワーク・サービスが起動する
OS起動時には、svchost.exeを経由して各種のネットワーク・サービスが起動する
だそうです。
もう少し具体的に書くと、
ダイナミック リンク ライブラリ (DLL) から実行されるサービスに対して付けられる
汎用のホスト プロセス名
汎用のホスト プロセス名
になります。分かりました?(^^;
どうやら自分では動けないサービスを動かしてやるためのプロセスみたいですね。
例えば「hoge.exe」のような実行形式になっていれば、自分で動けます。
でも「hoge.dll」のようにDLL形式の場合は、自分では動けません。
誰かに呼び出してもらう必要があります。
そのDLL形式になっているサービスを動かしてやるためのプロセスみたいです。
「svchost.exe」さんが呼び出す奴らのリストは、レジストリの
\HKEY_LOCAL_MACHINE
\SOFTWARE\Microsoft
\Windows NT
\CurrentVersion
\Svchost
\SOFTWARE\Microsoft
\Windows NT
\CurrentVersion
\Svchost
に登録されています。
例えば上記のレジストリに
値の名前 | 種類 | 値のデータ |
---|---|---|
LocalService | REG_MULTI_SZ | nsi 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
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
を実行しても確認できますけどね。
ちなみにウィルスはオリジナルのプロセスの場合もあれば
既存のプロセスに偽装している場合もあります。
偽装している場合の方が多いのかしら(--?
なもんで、ウィルス対策ソフトさんが検出した場合は
例え一般的に大丈夫なはずのプロセスでも、
ファイルサイズやタイムスタンプ等から総合的に判断したって下さい。