原因不明な再起動の問題

翻訳元: The Case of the Mysterious Reboots (英語)

この問題は、大企業でシステム管理者として勤務している Sysinternals のパワー ユーザーが、友人からノート PC が使用できなくなったと報告を受けたときに始まりました。その友人が言うには、ネットワークに接続すると常にノート PC が再起動するそうです。パワー ユーザーは、そのノート PC を手に入れると、まずワイアレス ネットワークに接続して動作を確認しました。システムはすぐに再起動し、セーフ モードで起動した後、通常の Windows のスタートアップに戻りました。セーフ モードでは問題の原因となっているものがアクティブにならないと考え、ノート PC を直接セーフ モードで起動してみましたが、ログオンしても自動的にログオフされるだけでした。通常のモードで起動すると、Microsoft Security Essentials (MSE) がインストールされていることに気付き、MSE の起動を試みました。ところが、アイコンをダブルクリックしても何も起きず、コントロール パネルのプログラムと機能セクションで MSE のエントリをダブルクリックすると、次のようなエラー メッセージが表示されました。

図: エラー メッセージ

[スタート] メニューの MSE のアイコンをポイントすると、エラーの原因がわかりました。リンク先には、次のように、マルウェアが作成したと思われる偽の場所が設定されていました。

図: [スタート] メニューの MSE のアイコンをポイント

ネットワークに接続できなかったため、破損した MSE のインストールを修復するのは困難でした。Sysinsternals のツールが役立つのではないかと考え、Process ExplorerAutoruns を USB メモリにコピーし、次に USB メモリからノート PC にコピーしました。そのとき、彼はノート PC がウイルスに感染していることを確信していました。Process Explorer を起動すると、次のようなプロセス ツリーが表示されました。

図: Process Explorer で表示されたプロセス ツリー

私は、Black Hat カンファレンスで行った「Sysinternals のツールによるゼロデイ脆弱性を悪用したマルウェアの駆除 (英語、PDF: 6.97 MB)」と題したプレゼンテーションで、悪意のあるプロセスに見られる共通の特徴を紹介しました。悪意のあるプロセスの特徴として、アイコン、企業名、または説明がない、%Systemroot% ディレクトリか %Userprofile% ディレクトリに存在する、"パックされている" (暗号化または圧縮されている) などを挙げました。上記のような特徴のない洗練されたマルウェアもありますが、ほとんどはなんらかの特徴があります。今回は、その良い例でした。Process Explorer では、UPX などの一般的な実行可能ファイルの圧縮ツールの署名と、圧縮エンジンに使用される移植可能な実行可能ファイルの画像レイアウトを含むヒューリスティックを探し、該当するものを "パックされた" ものとして強調表示色で強調表示します。Process ビューでは、約 10 個のプロセスが、赤紫 (既定色) で強調表示されています。また、強調表示されたどのプロセスにも、説明と企業名がありません (一部、アイコンがあるものはありますが)。

その多くには、正規の Windows システムの実行可能ファイルと同じ名前または類似した名前が付けられています。以下に示す強調表示されたプロセスは、Windows の Svchost.exe の実行可能ファイルと同じ名前が付けられていますが、Adobe Flash のアイコンを借用しており、C:\Windows\Update.1 という標準的ではないディレクトリに存在しています。

図: 不自然なプロセスの詳細を確認

次に示すプロセスの名前は、どの Windows の実行可能ファイルとも異なります。ただし、Svchostdriver.exe という名前は Windows の実行可能ファイルと類似しており、Windows の内部にそこまで詳しくないユーザーを混乱させるには十分です。実際、このプロセスは、接続をリッスンする TCP/IP ソケットを備えており、ボットを利用したウイルス作成者が接続するのでしょう。

図: Windows の実行可能ファイルと類似した不自然なプロセスの詳細を確認

コンピューターが、ウイルスに感染して深刻な状態にあることは明らかでした。Autoruns は、いくつかの異なるアクティブ化のポイントを使用し、マルウェアを検出しました。そこから、コマンド プロンプトを使用するセーフ モードでも正常に動作しなかったのは、Services32.exe (これも正規のファイル名に類似しています) という名前の偽の実行可能ファイルが、セーフ モードの AlternateShell として登録されていたためだと判明しました。通常、AlternateShell には、既定で Cmd.exe (コマンド プロンプト) が登録されています。

図: Autoruns がマルウェアを検出

マルウェアを駆除するには、可能なら、まずマルウェア対策ユーティリティを利用することをお勧めします。マルウェア対策ユーティリティでは、感染したファイルの一部またはすべてに対応する場合があります。必要がない限り、このような作業は自分でやらないのが得策です。ただし、このシステムはインターネットに接続できなかったので、MSE のインストールを簡単に修復したり、Microsoft Windows 悪意のあるソフトウェアの削除ツール (MSRT) のような他のマルウェア対策ツールをダウンロードしたりすることができませんでした。私は、あるカンファレンスで、Process Explorer の一時停止機能を使用してマルウェア プロセスを一時停止し、システムのウイルス駆除を試みているユーザーがマルウェア プロセスを 1 つ停止したときに、残りのプロセスが互いに再開し合うのを回避する方法を紹介したことがありました。パワー ユーザーは、これを見ていました。彼は、悪意があると思われるプロセスをすべて一時停止したら、システムが再起動されることなくネットワークに接続できるのではないかと考え、これは、やってみる価値がありました。

悪意のあるプロセスを順に右クリックし、[一時停止] をクリックしてプロセスを一時停止状態にします。

図: 悪意のあるプロセスを一時停止

この作業が完了すると、プロセス ツリーは次のようになりました。一時停止されたプロセスは灰色で強調表示されています。

図: 該当プロセスを一時停止させた状態のプロセス ツリー

問題が解決したかどうかを確かめるため、ワイアレス ネットワークに接続しました。ノート PC は再起動されませんでした。成功です。次に、インターネットに接続し、MSE をダウンロードしてインストールし、システムの完全なスキャンを実行しました。ウイルス対策エンジンが始動し、検出したウイルス感染が報告されました。この作業が完了すると、Trojan:Win32/TenielBackdoor:Win32/Bafruz.CTrojan:Win32/Malex.gen!E、および Trojan:Win32/Sisron という 4 つの異なる種類のマルウェアが検出されました。

図: 4 つの異なる種類のマルウェア

以前よりも明らかにすばやく再起動し、問題なくネットワークに接続しました。念のため、Process Explorer を起動し、疑わしいプロセスが残っていないか確認しました。次のようにプロセス ツリーにマルウェア プロセスは見当たらず、彼は安心しました。

図: 対処後の Process Explorer

これでまた、Sysinternals のツールを利用して問題が解決されました。Aaron Margosis と共著の新刊『Windows Sysinternals Administrator’s Reference』(Microsoft Press、2011 年) では、すべてのツールと機能について詳しく説明しており、低いパフォーマンス、誤解を招くエラー メッセージ、およびアプリケーションのクラッシュに関連する問題を解決するのに必要な手段やテクニック紹介しています。また、サイバー セキュリティに関心があるなら、拙著のサイバー サスペンス『Zero Day』(Thomas Dunne Books、2011 年) をお手に取ってみてください。

ページのトップへ

共有

ブログにコピー: ([Ctrl] + [C] でコピーしてください)