対ウイルス多層防御ガイド

第 4 章: 感染拡大防止と復旧

公開日: 2004年9月7日

トピック

はじめに
ステップ 1: 感染しているかどうかの確認
ステップ 2: インシデントへの対応
ステップ 3: マルウェアの解析
ステップ 4: システム復旧
ステップ 5: 復旧後の作業
要約

はじめに

この章では、マルウェアに関する検討事項について詳しく説明します。これらの検討事項に基づいて、マルウェアの感染または感染拡大の事実を明らかにすること、マルウェアによる被害を防止すること、およびマルウェアに感染したシステムを修復することができます。マルウェアへの対処と復旧に関して、整合性のとれた簡単明瞭な処理を決めることはきわめて重要です。マルウェアへの対処は緊急性が高い傾向があります。このことは、長期にわたって実効性のある処理をじっくりと考えるうえで障害となります。

重要なポイントを 1 つ追加する必要があります。マルウェア攻撃は複雑化しており、さまざまな方法でシステムに負荷をかけるようになってきました。そのため、単にマルウェアをシステムから駆除するだけでは、万全とは言えなくなっています。つまり、マルウェア攻撃の種類ごとに、修復方法を用意しておく必要があります。だからと言って、攻撃を特定するプロセス、攻撃を阻止するプロセス、および被害を受けたシステムを復旧するプロセスを定義する意義が小さくなるわけではありません。これらのプロセスの整合性は、引き続き確保すべきです。

マルウェアによる被害を受けたシステムを復旧する処理手順は、要約すると次のようになります。

  1. 感染しているかどうかの確認

  2. インシデントへの対応

  3. マルウェアの解析

  4. システムの復旧

  5. 復旧後の処理

ページのトップへ

ステップ 1: 感染しているかどうかの確認

システムがマルウェアに感染しているかどうかを迅速に判断できれば、感染による被害を最小限に抑えることができるため、これはきわめて重要です。感染しているかどうかを迅速に確認し、その疑わしい特徴を明らかにすることにより、感染の拡大とユーザーへの影響を抑えることができます。

コンピュータの動作不全のパターンの中には、ウイルスと間違えやすいものがいろいろあります。サポート要員は、ユーザーから "システムがウイルスに感染したらしい" という内容の電話や電子メールを受け付けた場合、まず、システムの動作不全の原因が悪意のあるコードによるものであるかどうかを判断する必要があります。次のような事象が発生した場合、ユーザーは "ウイルスに感染したようだ" と報告してくる可能性があります。

  • "電子メールの添付ファイルを開いたが、何も起こらなかった。また、マシンの動作がおかしくなった。"

  • "取引先から、私が .exe 形式や .zip 形式などの添付ファイルを送信した理由を尋ねる電子メールを受け取ったが、私はそのような電子メールを送信していない。"

  • "使用しているウイルス対策ソフトウェアの処理が停止し、コンピュータがシャットダウンしたままになっている。"

  • "プログラムが正常に動作せず、しかも処理がきわめて遅い。"

  • "今まで見たことのないファイル群が "マイ ドキュメント" フォルダに存在している。"

  • "自分で作成したファイルのいくつかが開かないか見つからない。"

ユーザーからの意見やフィードバックは重要です。なぜなら、異常な動作に最初に気付くのはユーザーである場合が多いからです。マルウェアの感染拡大スピードが速くなるのに伴い、最初の感染が発生してから効果的な防御手段が利用可能になるまでの期間がますます重要になってきています。ほとんどの感染はこの期間に発生するため、感染しているかどうかを迅速に判断することは、感染拡大と被害を最小限に抑えるうえできわめて重要です。

次に、異常な動作の原因が本当にマルウェア攻撃であるかどうかを迅速に判断するための処理手順を示します。

新種のマルウェアがシステムに感染した場合、異常な動作に最初に気付くのは、おそらくそのシステムのユーザーです。「第 3 章: 対ウイルス多層防御」で説明したように、新種のマルウェアが登場してから、ウイルス対策ソフトウェアがそのマルウェアに対応できるように更新されるまでの間に、タイム ラグがあるのが普通です。ウイルスに対して早期に対処できるようにするための最善の方法は、マルウェア攻撃の徴候を見分けられるようにユーザーを教育すること、およびそのマルウェア攻撃を速やかに報告できるようにするための手段を用意することです。

感染の報告

ヘルプデスクでは、新種のマルウェア攻撃の疑いに関して電話を受けたり警告が生成されたりした後、その警告が新種のマルウェア攻撃に関するものであるかどうかを速やかに判断するためのプロセスを定義しておくと効果的です。次のフロー チャートに、このプロセスにおける主なステップを示します。

図 4.1 マルウェア感染報告プロセス

異常動作報告

次の質問を使用して、警告を生じさせた異常動作が新種のマルウェア攻撃であるかどうかを判断することをお勧めします。このガイドでは、IT ヘルプデスクの要員が一般ユーザーにこれらの質問をすることを前提としています。

基本情報を収集する

最初に行う質問は、警告の実際の内容、およびその警告が新種のマルウェア攻撃である可能性を速やかに判断できる回答を引き出せるように設定してください。このプロセスで最初に行う質問の例を次に示します。これらの質問を、各組織の要件に合わせて修正してください。

  • 報告日時はいつか。

  • 報告すべき異常動作の内容はどのようなものか。

  • 異常動作の直前にどのような動作が発生していたか。

    • 最近、日常的にアクセスする Web サイト以外の Web サイトにアクセスしたか。

    • このシステムは最近、社内ネットワーク以外の場所に持ち出されたか (例: 空港、自宅、Wi-Fi ホットスポット、ホテル)。

    • 画面上に異常なポップアップ ウィンドウや広告が表示されたことがあるか。

  • 現在、異常なプロセスまたは予期しないプロセスが実行されているか。

  • そのコンピュータはワークステーションかサーバーか。そのコンピュータで稼動しているオペレーティング システムは何か。また、既に適用されているセキュリティ更新プログラムはどれか。

  • そのコンピュータ自体、またはそのコンピュータに接続されている機器に、基幹業務のデータが格納されているか。

  • そのユーザーは、管理者権限を持つアカウントでログオンしているか。

  • そのユーザーは、強力なパスワードまたはパスフレーズを使用しているか。

  • このシステムは、今までにマルウェア攻撃を受けたことがあるか。

この最後の質問は重要です。なぜなら、過去に攻撃を受けた場合、システムが脆弱になることがあり、この脆弱箇所を修正しないままにしておくと、さらに攻撃を受ける可能性があるためです。この質問に対する回答が「はい」である場合、さらに次の質問をすることを検討してください。

  • 過去に攻撃を受けたのは具体的にいつか。

  • その問題を処理したのはだれか。また、その問題番号はいくつか (わかっている場合)。

  • そのときに実行された作業に関して、ヘルプ デスク側で何か情報を持っているか。

収集したデータを評価する

サポート技術者はこれらの質問に対する回答を収集したら、次の項目に基づいて収集データを評価し、報告された問題の原因がマルウェア攻撃であるかどうかを判断します。

  • その報告内容は、システムの新規または更新された特性の結果であると言えるか。

  • その報告は、権限を持つユーザー (つまりハッカーや侵入者ではないユーザー) の行為であると言えるか。

  • その報告内容は、既知のシステム動作によって説明できるか。

  • その報告内容は、プログラムまたはシステムに対する正当な変更によって説明できるか。

最後に、外部のウイルス対策に関する情報源 (「第 3 章: 対ウイルス多層防御」の「事前内部連絡」を参照) を使用して検査を行い、この報告が既存のウイルス警告やワーム警告に当てはまるかどうかを調べます。

詳細情報を収集する

この時点で、その問題の原因が新種のマルウェア攻撃であるかどうかを判断できる可能性があります。判断できない場合は、詳細な技術情報を収集したり、サポート要員が現地に赴いたりする必要があります。なお、感染した疑いのあるシステムをリモート制御できる場合は、わざわざ現地に赴く必要はありません。次の技術的なサンプル質問を使用して詳細情報を収集することにより、システムがハッカーまたは悪意のあるコードによって攻撃されているかどうかを明確に判断できます。

  • その機器自体のファイアウォール機能が有効になっているか、その機器のインターネット側にファイアウォールが存在しているか。ファイアウォール機能が有効であるかインターネット側にファイアウォールが存在している場合、インターネットに対して開いているポートはどれか。

  • アプリケーションがクラッシュしている場合は、そのアプリケーションのベンダにすぐに連絡し、根本的な原因を調べてください。たとえば、最新のマイクロソフト製アプリケーションにはエラー報告ツールが提供されています。そのツールを使用してクラッシュ レポートを提出できます。

  • そのシステム用として公開されているセキュリティ更新プログラムの中で、まだインストールされていないものがあるか。

  • そのシステムに対してどのようなパスワード ポリシーが設定されているか。パスワードは何文字以上か。パスワードを複雑にするために、どのような条件が設定されているか。

  • 次の項目の中で、新規に作成/生成されたものや疑わしいものがあるか。

    • ローカル マシン上のアカウント

    • Administrators グループに属するアカウント

    • [サービス] 管理コンソールに一覧表示されているサービス

    • イベント ログ中のイベント

  • netstat ユーティリティを実行したときに、外部 IP アドレスまたは疑わしい IP アドレスへのネットワーク接続が通知されたか。

異常動作への対処

ヘルプデスクは、初期情報を収集して警告の原因を判断したら、誤報、デマ ウイルス、本物のマルウェア攻撃のどれであるかを判定できるはずです。

偽のマルウェア レポートを生成することは、ウイルスやワームを作成するよりもはるかに簡単です。このため、偽のマルウェア警告が多数生成されることになります。これらのデマ ウイルス、およびそのデマ ウイルスが生成する呼び出しや警告情報により、かなりの量の時間とコストが浪費されます。また、デマ ウイルスはユーザーをいらだたせるとともに、攻撃の疑いに関するレポートを生成する意義についてユーザーに疑問を抱かせることにもなります。警告が正しく処理されるようにするには、次の点を検討する必要があります。

  • 誤報: レポートが誤報の場合、呼び出し情報をログに記録することをお勧めします。この情報を定期的に確認すれば、ユーザーに追加トレーニングを実施する必要があるかどうかを判断できます。

  • デマ ウイルス: 本物のマルウェア活動だけでなく、偽のマルウェア警告を追跡して記録することも重要です。なぜなら、偽のマルウェア警告は悪意のあるコードを使用していないだけであり、攻撃であることに変わりはないからです。本物のマルウェアと偽のマルウェア警告に関する情報をユーザーに通知するプロセスを、社内の日常的なウイルス対策連絡処理の中に組み込むことをお勧めします。ユーザーはこの情報を利用することにより、事前にデマ ウイルスに関する知識を持つことができるため、生産性の低下を抑えることができます。

  • 既知の感染: システムがマルウェアに感染しているように見える場合、ヘルプデスクの要員は、その感染が既知の攻撃であるかどうかを判断するための対策を講じる必要があります。既知の攻撃であれば、既存のウイルス対策アプリケーションを使用して対処できます。まず、そのシステムにインストールされているウイルス対策ソフトウェアを調べ、正常に動作しているか、また最新のバージョンであるかどうかを確認します。次に、システム全体をスキャンし、システムからマルウェアを駆除します。このスキャン処理によってマルウェアが検出され、正しく駆除された場合、呼び出し情報をログに記録します。また、"ウイルス対策システムが正常に動作し、また最新の状態に更新されている" という内容の警告をすべてのユーザーに送信します。スキャン処理で特定の形式のマルウェアを検出できなかった場合、そのマルウェアを新種の感染であると見なし、「インシデント対応プロセス」の指針に従います。

  • 新種の感染: システムが新種のマルウェアに感染しているように見える場合、いくつかの初期アクションを実行し、その問題が正しい方法で伝達されるようにする必要があります。これらの初期アクションを実行すると、IT サポート要員は、一連の正しいアクションからなるプロセスを、整合性のとれた方法で実行できます。前述の初期質問に対する回答に基づいて、このフェーズで次の初期アクションのうちどれを検討すべきかを判断できます。

    • 緊急対応チームの担当メンバに 警告の詳細内容を伝える。

    • 感染した疑いのあるコンピュータがサーバーである場合、そのコンピュータの管理者に連絡して、そのコンピュータをネットワークから物理的に切り離す場合の影響について検討する。

    • 感染した疑いのあるコンピュータがワークステーションである場合、そのコンピュータのユーザーに連絡して、そのコンピュータをネットワークから物理的に切り離す場合の影響について検討する。

    • 検出された攻撃を警告するため、そのシステムのユーザーに詳細な警告情報を伝えることを検討する。

これで、ヘルプデスクの役割は完了します。感染拡大に関する責任はインシデント対応プロセスに移るため、問題をコンピュータ セキュリティ インシデント対応チーム (CSIRT: Computer Security Incident Response Team) のメンバに通知する必要があります。

ページのトップへ

ステップ 2: インシデントへの対応

「第 3 章: 対ウイルス多層防御」で説明したように、CSIRT は速やかに緊急会議を招集し、次のフェーズであるインシデント対応プロセスの準備を行う必要があります。インシデント対応チームを編成する方法、およびセキュリティ保護プロセスと障害復旧プロセスを確立する方法の詳細についても、第 3 章を参照してください。

このガイドでは、CSIRT が編成されていることを前提とします。この時点における CSIRT の第一の目標は、直接的な感染拡大防止手段を取り決めることです。次に、この手段に関するオプションとコンポーネントを決めるのに役立つ情報を示します。

感染拡大を防止するための応急措置

マルウェア攻撃が確認されたら、感染拡大を防止するために、まず、感染したコンピュータを他の機器から隔離します。感染したコンピュータを確実に隔離することは、きわめて重要です。なぜなら、隔離すれば、悪意のあるコードの拡大を抑制できるからです。この隔離を実行するための手段はいろいろありますが、隔離すると通常の運用に影響を与える可能性があります。

重要: 組織が刑事訴訟または民事訴訟を起こすと考えられる場合、組織の顧問弁護士に相談してからインシデント対応プロセスを進めることをお勧めします。

ウイルス対策関連の企業や組織の間で感染拡大が認められた場合、ウイルス対策ソフトウェア ベンダから示される指針に従って、感染拡大の重大度を判断します。

感染拡大がまだ広く認識されていない場合は、使用しているウイルス対策ソフトウェアのベンダに、そのインシデントを速やかに報告してください。そのウイルス対策ソフトウェア ベンダから、そのマルウェアのサンプルをパスワード保護された圧縮ファイルの形で送信するように依頼されることがあります。これにより、ウイルス対策ソフトウェア ベンダはそのサンプルを解析できます。これらのマルウェアは簡単に見つかるとは限らないため、前もって用意しておくことをお勧めします。マルウェアのサンプルを用意する方法については、「ステップ 3: マルウェアの解析」を参照してください。

次に実行するアクションは、直接的な攻撃を阻止することです。基本的な手段としては、次の 3 つが考えられます。

  • マルウェアに感染したシステムをローカル ネットワークから切り離す。

  • 可能なら、感染したホストが属すネットワークを隔離する。

  • ネットワーク全体がマルウェアに感染している場合、またはその疑いがある場合は、そのネットワーク全体を外部ネットワークから切り離す。

より技術的な手段も多数あります。たとえば、ネットワークを監視して、攻撃対象になったネットワーク ポートと IP アドレスを特定する方法などがあります。ただし、マルウェアが詳しく解析されなかった場合、攻撃経路を見落とすリスクが高くなり、感染拡大につながります。このリスクを許容できるかどうかを判断する際に役立つ唯一の手段は、詳細なセキュリティ リスク評価レポートです。このレポートを使用すると、攻撃を阻止できなかった場合に、顧客やパートナー企業に感染したり意図しない攻撃を加えてしまうリスクを判断できます。攻撃を受ける前にこのリスク分析が完了しなかった場合、警戒しすぎるくらい警戒し、最高レベルの隔離方法を選択して、攻撃が拡大する可能性を最小限に抑えることをお勧めします。

ここで説明するオプションは、単なる指針です。組織が行うアクションは、業務上のニーズ、感染発生現場、影響、重大度など、その会社や感染拡大状況にのみ当てはまる要因によって異なる可能性があります。

復旧の準備を行う

感染拡大防止対策を講じたら、有効な復旧プロセスを開始します。復旧プロセスの全体的な目的は、次の目標を達成することです。

  • 業務の中断を最小限に抑える。

  • 攻撃を受けてから復旧が完了するまでの時間をできるだけ短縮する。

  • 復旧処理に役立つ情報を取り込む。

  • セキュリティ対策を追加作成するために必要な情報を取得する。

  • 復旧したシステムが、今後この種類の攻撃を受けないようにする。

最初の 2 つの目標では "短時間で修復する" ための手法が必要であるのに対し、後の 3 つの目標では、攻撃内容を完全に把握するための情報収集に時間を要します。この両方の条件を満たすには、つまり、問題を迅速に解決するとともに必要なデータをもれなく収集するには、次の図に示すプロセスを検討してください。このプロセスは、マルウェアに感染したシステムを速やかに復旧すると同時に、訴訟に必要なデータが失われないようにするものです。このデータは重要です。なぜなら、このデータは、復旧したシステムが今後同種の攻撃から保護されるかどうかを判断する際に使用されるからです。また、将来法的手段に訴える際の証拠としても役立ちます。

システムを速やかに復旧するため、システム復旧プロセスとウイルス解析プロセスは並列して実行することをお勧めします。

図 4.2 解析作業の前に行う復旧処理手順 拡大表示する

マルウェアに感染しているすべてのシステムを速やかに復旧するには、いずれかのシステムを解析用として使用できるかどうかを判断します。解析用として使用できる場合、そのシステムを検疫して解析します。この解析プロセスに関する指針については、「ステップ 3: マルウェアの解析」を参照してください。検疫と解析を実行できない場合、次に最適な方法は、イメージ作成ソフトウェアを使用してそのシステムのクローンを作成することです。この方法を利用できる場合、まずシステムのイメージ データを作成し、次に元のコンピュータを復旧し、最後にクローン システムを作成します。

証拠を収集できる場合、または詳細な解析を実行できる場合、特に重要なのは、マルウェアに感染したコンピュータのイメージを速やかに (修復を行う前に) 作成することです。これにより、感染内容を明確化して重大度を判断し、最も適切な方法で対処することができます。

イメージを作成できない場合、最小限の法的データを収集してからシステムを復旧してください。組織のセキュリティ チームが、インシデント対応ツールキットを作成し、保守するのが理想的です。このようなツールキットを使用すれば、揮発性および非揮発性のシステム データを収集できます。これらのデータは、法的データを作成するのに役立ちます。このツールキットは、次のセクションで使用する、より包括的なマルウェア解析ツールキットの中に組み込むこともできますが、このような包括的なマルウェア解析ツールキットは、マルウェアのすべての要素を扱うわけではありません。なお、インシデント対応ツールキットの主な優位点は、"最小限のシステム情報を速やかに取得するため、システムを速やかに復旧できる" という点です。

ページのトップへ

ステップ 3: マルウェアの解析

マルウェア攻撃の拡大を阻止したら、すぐに感染拡大のパターンを把握してマルウェアを詳しく解析することが重要です。このステップを実行できなかった場合、再度感染する可能性が高くなります。なぜなら、マルウェアの動作を把握できない場合、システムからマルウェアを駆除して今後の攻撃に対してセキュリティを確保することができないからです。

マルウェア解析は、セキュリティ チームのメンバが専用のアプリケーションとユーティリティを使用して実行するのが理想的です。専用のアプリケーションとユーティリティを使用すれば、必要な情報の多くを自動的に収集できます。次のステップを実行すると、攻撃の性質を把握するのに役立ちます。

オペレーティング システム要素を検査する

攻撃によって追加または改ざんされたオペレーティング システム ファイルを特定します。この解析作業の中で、次の情報が変更されているかどうかを調べます。

  • アクティブなプロセスとサービス

  • ローカルのレジストリ

  • Microsoft® Windows® システム フォルダ内のファイル

  • 新しいユーザー アカウントまたはグループ アカウント (特に、Administrator 権限を持っているもの)

  • 共有フォルダ (隠しフォルダを含む)

  • 新規に作成されたファイルのうち、ファイル名は一般的だが通常と異なる場所にあるもの

  • 開いているネットワーク ポート

これらのオペレーティング システム要素を検査する際に利用できる手法については、以降のセクションで説明します。

アクティブなプロセスとサービスを検査する

マルウェアに感染したシステムでは、メモリ上に新しいプロセスがロードされている可能性があります。

PsTools や Process Explorer (フリー ソフト) など専用のプロセス一覧表示ツールを使用することをお勧めします。これらのツールは使いやすいユーザー インターフェイスを備えています。これらのツールは Sysinternals の Web サイト (https://www.sysinternals.com) で入手できます。これらのツールを使用すれば、イメージ ファイルへのパスだけでなく、プロセス ツリーも表示できます。

プロセス一覧に表示されるエントリの数を必要最小限に抑え、異常なプロセスを特定するには、有効なアプリケーションと有効なバックグラウンド アプリケーション (例: インスタント メッセンジャー、電子メール モニタ、メモリ常駐型のサードパーティ製ユーティリティ) を終了します。

専用ツールを利用できない場合は、Microsoft Windows Systems の Windows タスク マネージャを使用すると、システム上で現在動作しているアクティブ プロセスを簡単に確認できます。ただし、タスク マネージャには、各プロセスを開始したイメージへのパスは表示されないため、svrhost として開始されたマルウェア攻撃が正当なプロセスであるかどうかを判断することはできません。

タスク マネージャを使用してアクティブ プロセスを解析するには、次の処理を実行します。

Windows コンピュータ上でアクティブ プロセスを解析するには

  1. Ctrl キーと Alt キーを押しながら Del キーを押して [Windows のセキュリティ] ウィンドウを開き、[タスク マネージャ] をクリックします。

    注: Windows 9x コンピュータ の場合は、Ctrl キーと Alt キーを押しながら Del キーを押すと、タスク マネージャではなく、実行中プログラムの一覧が表示されます。

  2. [プロセス] タブをクリックします。

  3. [Windows タスク マネージャ] ウィンドウを拡大し、できるだけ多くのアクティブ プロセスを画面に表示します。

  4. [表示] メニューの [列の選択] をクリックします。

  5. 次のチェック ボックスをオンにします。

    • [PID (プロセス ID)]

    • [CPU 使用率]

    • [CPU 時間]

    • [メモリ使用量]

    • [最大メモリ使用量]

    • [I/O 読み取り]

    • [I/O 書き込み]

  6. [OK] をクリックし、ウィンドウを拡大して、できるだけ多くの列を表示します。

列の並び順を変更するには、変更する列のタイトルをクリックします。各列に対してこの並べ替えを使用すると、どのプロセスがどのリソースを使用しているかを確認できます。

注: この一覧のハード コピーを作成し、後で参照できるようにするには、Process Explorer または Windows タスク マネージャをアクティブ ウィンドウにして、Alt キーを押しながら PrintScreen キーを押します。この一覧のスクリーン ショットがクリップボード内に作成されるため、ペイントや Microsoft Word などのアプリケーションに貼り付けて印刷することができます。

次の図に、Microsoft Windows 2000 Server のタスク マネージャでプロセスの詳細情報を表示した例を示します。Blaster ワームがアクティブ プロセスとして表示されています。

図 4.3 Windows 2000 のタスク マネージャで Blaster ワーム プロセスが表示されている様子 拡大表示する

注: マルウェアの中には、ユーザーに見つけられないようにするため、タスク マネージャの起動を阻止しようとするものがあります。この場合、Tasklist (Microsoft Windows XP および Windows Server™ 2003 コンピュータの場合) または TList (Windows 2000 コンピュータの場合) というコマンド ライン ユーティリティを使用して、簡単なテキスト ファイルを生成することができます。このファイルをリムーバブル メディアにコピーしておくと、後で解析することができます。すべてのアクティブ プロセスの一覧を含むテキスト ファイルを生成するには、次のコマンド ライン構文を使用します。

このコマンドを実行すると、現在の作業ディレクトリに TaskList.txt という名前のファイルが生成されます。

マルウェアに感染している疑いのあるコンピュータ上のプロセスを調べるには、次の指針を参考にしてください。

  • Telnet サービスまたは File Transfer Protocol (FTP) サービスが実行中であるかどうかを確認する。

  • プロセスの内容がわからない場合は、Google などのインターネット検索エンジンを使用して、そのプロセスに関する情報を確認する。

  • イメージ名がわかっているプロセスのイメージ ファイルへのパスを確認する。

  • 実行中のサービスと停止されたサービスの両方を検索する。

図 4.3 には、msblast.exe 以外にも、次のような疑わしいプロセスが表示されています。

  • ServuFTP

  • Ocxdll.exe

  • Kill.exe

  • Mdm.exe

  • Mdm.scr

  • Mt.exe

  • Ncp.exe

  • Psexec.exe

  • Win32load.exe

スタートアップ フォルダを検査する

マルウェアは、システムのスタートアップ フォルダを変更することによって自身を起動しようとした可能性があります。

注: スタートアップ フォルダへの正確なパスは、解析対象オペレーティング システムによって異なります。次の情報は、Windows XP、Windows Server 2003、および Windows 2000 にのみ適用されます。

検査する必要のあるスタートアップ フォルダは 2 種類あります。1 つ目は All Users フォルダです。このフォルダの既定の場所は次のとおりです。

C:\Documents and Settings\All Users\スタート メニュー

2 つ目は、現在ログオンしているアカウントに対するユーザー プロファイル パスです。ただし、現在ログオンしているアカウントだけでなく、システム上に作成されているすべてのプロファイルを検査することが重要です。この情報は、"C:\Documents and Settings\<UserName>\スタート メニュー" にあります。<UserName> は、検査対象のシステム上で定義されているユーザーのログオン ID です。

注: Microsoft Windows 95 および Windows 98 の場合、マルウェアによってスタートアップ フォルダの名前が変更される可能性があります。詳細については、マイクロソフト サポート技術情報の記事、「141900 - [スタートアップ] 以外のフォルダでプログラムが起動する」 (https://support.microsoft.com/KB/141900) を参照してください。

各起動フォルダ内のエントリを検査し、システム起動時にマルウェアが自分自身を起動しようとしてしないかどうかを確認します。

スケジュール設定されたアプリケーションを検査する

マルウェアは、Windows スケジューラ サービスを使用して、許可されていないアプリケーションを起動しようとすることもあります。このような処理が実行されていないかどうかを確認するには、次の処理を実行して、スケジューラ キューを検査します。

スケジューラ キューを検査するには

  1. [スタート] メニューの [ファイル名を指定して実行] をクリックし、「at」と入力して Enter キーを押します。

  2. 一覧を確認します。許可されていないアプリケーションや疑わしいアプリケーションが表示された場合、以下のコマンドを実行してレポートを作成します。このレポートは、後で解析を行う際に利用できます。

    • [スタート] メニューの [ファイル名を指定して実行] をクリックし、「at >C:\AT_Queue_Report.txt」と入力して Enter キーを押します。

このコマンドを実行すると、C: ドライブのルートにテキスト ファイルが生成されます。このファイルをリムーバブル ディスクに移動し、後で解析を行う際に利用できるようにします。このテキスト ファイルの内容を確認して、許可されていないアプリケーションがキュー内でスケジュール設定されているかどうかを確認します。

アクティブ プロセスとスケジュール設定されたプロセスを詳しく解析すると、攻撃によって開始されたプロセスを特定できる可能性があります。テキスト ファイルが作成されたら、システムをリブートして解析を再度実行し、その攻撃がシステムの他の領域に被害を与えたり、システム起動時に異常なプロセスの開始を許可したかどうかを確認します。その攻撃がシステムの他の領域に被害を与えたり、システム起動時に異常なプロセスの開始を許可した場合、システムのブート ファイルとレジストリを解析し、異常なプロセスをどのように保持しているかを調べます。

ローカル レジストリを解析する

システム レジストリはサイズが大きく複雑なデータ ストアのため、システム レジストリ全体のコピーを作成しておくとよいでしょう。そうすれば、復旧プロセスの完了後に詳細な解析を実行できます。

Windows のすべてのバージョンに付属しているバックアップ ユーティリティを使用すれば、システム レジストリ全体をバックアップおよび復元できます。既にバックアップ ユーティリティを使用してハード ディスクを定期的にバックアップしている場合は、そのバックアップ セットにレジストリを簡単に追加できます。バックアップ ユーティリティを使用してレジストリをバックアップするには、バックアップ セットに含めるドライブ、ファイル、およびフォルダを選択する際に [システム状態] を選択します。

[システム状態] には、レジストリ以外のシステム固有情報も含まれるため、バックアップ ファイルのサイズは数百 MB になる可能性があります。Windows のすべてのバージョンに付属しているレジストリ エディタ ユーティリティを使用する方法もあります。レジストリ エディタは、レジストリのコピーを作成するのに適しています。Windows XP と Windows Server 2003 には、2 種類のレジストリ エディタ ツールが付属しています。1 つは Regedit.exe、もう 1 つはコマンド ライン ツールの Reg.exe です。

注: Windows 2000 と Windows NT® では Regedt32.exe を使用します。また、Regedit.exe および Reg.exe と同じ機能を利用するには、リソース キットに付属している RegBack.exe および RegRest.exe を使用する必要があります。これらのツールの詳細については、Microsoft.com の「Windows 2000 Resoruce Kit」にある「Backing up and Restoring the Windows 2000 Registry」 (英語、https://www.microsoft.com/technet/prodtechnol/windows2000serv/reskit/regentry/RegistryBackup.mspx?mfr=true) を参照してください。

Regedit を使用してレジストリのバックアップ コピーを作成するには

  1. [スタート] メニューの [ファイル名を指定して実行] をクリックし、「regedit」と入力して Enter キーを押します。

  2. 左ペインで [マイ コンピュータ] を選択し、[ファイル] メニューの [エクスポート] をクリックします。

  3. [ファイル名] ボックスに、レジストリ ファイルのコピーに対する名前と場所を入力します。

  4. [書き出し範囲] で [すべて] をクリックし、[保存] をクリックします。

Regedit.exe および Reg.exe の使用方法の詳細については、「Windows Server 2003 deployment guide」の「Registry Reference for Windows Server 2003」 (英語、https://technet.microsoft.com/library/cc778196.aspx) を参照してください。

重要: このディスクはマルウェアに公開されるため、効果的な感染防止手段を確立するまでの間、他のシステムに公開されないように十分注意してください。

レジストリのバックアップ処理が成功したら、次の部分を検査し、異常なファイル参照がないかどうかを調べます。

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SessionManager\KnownDLLs 
HKEY_LOCAL_MACHINE\System\ControlSet001\Control\Session Manager\KnownDLLs 
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Current Version\Run 
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Current Version\RunOnce 
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Current Version\RunOnceEx 
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices 
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Windows 
("run=" line) 
HKEY_CURRENT_USER\Software\Microsoft\Windows\Current Version\Run 
HKEY_CURRENT_USER\Software\Microsoft\Windows\Current Version\RunOnce 
HKEY_CURRENT_USER\Software\Microsoft\Windows\Current Version\RunOnceEx 
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices 
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows 
("run=" value)

レジストリのこの部分は、悪意のあるコードの標的になることがよくあります。なぜなら、マルウェアはこの部分を利用することにより、システム起動時に自分自身を起動できるからです。たとえば W32@.Mydoom.G@mm ワームは、

"(Default)" = "%System%\<random_filename>"

という値を次のレジストリに追加します。

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run

最近は、次のキーも標的になっています。

HKEY_CLASSES_ROOT\CLSID\{E6FB5E20-DE35-11CF-9C87-00AA005127ED}\InProcServer32

このキーは、Microsoft Internet Explorer (Explorer.exe) によってロードされる .dll ファイルを制御するものです。たとえば、Mydoom ワームとその亜種は、このキーにエントリを追加することにより、脆弱性を悪用してバックドア攻撃を可能にする .dll ファイルをロードします。

また、W32.Netsky.D@mm ワームは、次のキーとその後続のキー全体を削除します。

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\PINF HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\WksPatch

マルウェアと破損ファイルを検査する

ほとんどのマルウェアは、コンピュータのハード ディスク上にある 1 つまたは複数のファイルを改ざんします。ただし、改ざんされたファイルを見つけるのは困難な場合があります。そのシステムがイメージから生成されたものである場合、感染したシステムを、このイメージから生成された直後のシステムと直接比較できます。

この方法を利用できない場合は、別の方法を使用して、改ざんされたファイルを調べます。具体的には、システム全体を対象にして、マルウェアがシステムに初めて感染したとき以降に変更されたすべてのファイルを検索します。この検索を実行するには、Windows の検索ツールを使用します。次のスクリーン ショットに、[検索結果] ペインの詳細オプションを使用して、感染ファイルを絞り込み検索する方法を示します。

図 4.4 詳細オプションを表示した状態の [検索結果] ペイン 拡大表示する

この図のとおりにオプションを設定した場合、マルウェアがホストに感染した日 (この例では 2004 年 4 月 27 日) に作成されたすべてのファイルが一覧表示されます。

現在のディレクトリとそのサブディレクトリにあるファイルの一覧情報が格納された、テキスト ファイルを作成することもできます。ただし、このファイルは大きなサイズになる可能性があります。

特定のディレクトリとそのサブディレクトリにあるファイルの一覧情報を作成するには

  1. [スタート] メニューの [ファイル名を指定して実行] をクリックし、「cmd」と入力して Enter キーを押します。

  2. ファイル一覧を作成するディレクトリに移動します。

  3. コマンド プロンプトで「dir /s /-c /o:-d /t:c /q > FileList.txt」と入力し、Enter キーを押します。

このコマンドを実行すると、現在のディレクトリに FileList.txt という名前のテキスト ファイルが生成されます。このファイルをリムーバブル メディアにコピーし、後で解析を行う際に利用できるようにします。

注: このような一覧は、他のツールやスクリプトを使用して作成することもできます。ただし、ここでの目的は、コンピュータ上で一般的に利用できるツールを使用して、情報を簡単に収集することです。より高度なスクリプトを備えた緊急対応ツールキットを用意する時間的余裕がある場合は、ここで説明した処理ではなく、そのツールキットを使用してください。

この検索の完了後、ファイル タイプを基準にして検索結果を並べ替えると、実行可能ファイルを見つけやすくなります。実行可能ファイルは、マルウェアの標的になることがよくあります。実行可能コードを埋め込むことができる代表的なファイル タイプを、次に示します。

*.exe        *.html        *.cmd        *.htm

*.bat        *.cpl        *.pif        *.pot

*.vbs        *.vbe         *.js        *.jse

*.scr        *.jpg         *.doc        *.xls

*.mdb        *.com        *.ocx

注: 検索結果の中には大量のエントリが含まれる場合があるため、このフェーズでは、すべての変更内容を確認するだけの十分な時間をとれないことがあります。ただし、この一覧を保存または印刷しておくことは重要です。これは、後で時間ができたときに、標的になった可能性のあるファイルを確認するためです。

システム上に次のファイルが存在している場合、マルウェアに感染している可能性があります。

  • DLL16.ini

  • DLL32.hlp

  • DLL32NT.hlp

  • Gates.txt

  • Gg.bat

  • Httpsearch.ini

  • Seced.bat

  • Xvpll.hlp

  • Psexec.bat

  • Lcp_netbios.dll

これらのファイルは、過去にマルウェア攻撃によって利用されたものです。ここでは、マルウェア ファイルを隠蔽するために使用された名前付け方法を示します。特定のファイル名がわからない場合、インターネットで検索すれば、ファイルの性質、およびそのファイルがマルウェアにリンクされているかどうかがわかることがあります。ここで重要なのは、インターネット検索はマルウェアに感染していないシステム上で実行するということです。なぜなら、Web ページ ブラウズ処理がマルウェア攻撃によって改ざんされている可能性があるからです。

もう一つ重要な点は、"多くのマルウェア攻撃は有効なシステム ファイル名を使用しているが、そのファイルを別のフォルダに配置し、Windows File Protection サービスで検出されないようにしている" ということです。たとえば、以前マルウェアによって使用されたファイルの 1 つに Svchost.exe があります。このファイルは、通常の設定では %WINDIR%\System32 フォルダにインストールされ、保護されます。一方、%WINDIR% フォルダに同名のファイルを直接作成するマルウェアもあります。したがって、ファイル名だけでなくその絶対パスを調べることも重要です。

マルウェア攻撃がファイルを配置または改ざんする際の標的となる主な箇所は、次のとおりです。

  • %Windir%: この変数は、Windows オペレーティング システムの既定のインストール先フォルダを表します。このフォルダには、重要な実行可能ファイルと構成ファイルが多数配置されています。既定では、この変数は次のフォルダへのパスを指します。

    • C:\Windows (Windows 95/98/Me/XP および Windows Server 2003 の場合)

    • C:\Winnt\ (Windows NT/2000 の場合)

  • %System%: この変数は、Windows オペレーティング システムの既定のインストール先フォルダのすぐ下にあるシステム フォルダを表します。このフォルダには、ホスト オペレーティング システム用のシステム ファイルが配置されています。既定では、この変数は次のフォルダへのパスを指します。

    • C:\Windows\System (Windows 95/98/Me の場合)

    • C:\Winnt\System32 (Windows NT/2000 の場合)

    • C:\Windows\System32 (Windows XP および Windows Server 2003 の場合)

  • %Temp%: この変数は、アプリケーションが一時ファイルを書き込む際に使用するパスを表します。既定では、この変数は次のパスを指します。

    • C:\Windows\TEMP (Windows 95/98/Me の場合)

    • C:\WINNT\Temp (Windows NT/2000 の場合)

    • C:\Document and Settings\<UserName>\Local Settings\Temp (Windows XP および Windows Server 2003 の場合)

  • %Temporary Internet Files%: この変数は、インターネット ブラウザ アプリケーションが Web ページのブラウズ時に一時ファイルを格納する際に使用するパスを表します。既定では、この変数は次のパスを指します。

    • C:\Windows\Temporary Internet Files (Windows 95/98/Me の場合)

    • C:\Document and Settings\<UserName>\Local Settings\Temporary Internet Files (Windows NT/2000/XP および Windows Server 2003 の場合)

システム上のファイルを解析した結果、感染ファイルが見つかった場合、そのファイルをリムーバブル メディアにコピーして、後で解析できるようにしておきます。もちろん、コピーされたこれらのファイルはマルウェアに感染しているため、目的のプロセス以外で使用できないように対策を講じます。これらのコピーを保護するために検討すべき処理の例を次に示します。

  • ファイル名の拡張子を変更する。 ファイル名の拡張子を、オペレーティング システムに登録されていない拡張子に変更すれば、誤ってクリックしても、そのファイルが実行されることはありません。たとえば Avirus.exe というファイルの場合、最後の文字をアンダースコアに変更して Avirus.ex_ にすることを検討してください。

  • 感染ファイルを保護された圧縮ファイルで保存する。 感染ファイルを ZIP 形式で圧縮し、その ZIP ファイルをパスワード保護することを検討してください。

  • 特殊なメディアを使用する。 色付きのディスクや標準外のラベルを使用して、リムーバブル メディアと標準メディアを物理的に見分けられるようにします。

  • ファイルを安全な場所に保管する。 マルウェアのサンプルが格納されているすべてのメディアを、金庫などの安全な保管場所に保管し、安全性を物理的に確保します。

  • 電子メールで送信する際、パスワード保護されたアーカイブを使用する。 マルウェアの疑いがあるファイルを電子メールで送信する必要がある場合 (例: ウイルス対策ベンダに送信する場合)、必ずパスワード保護された圧縮ファイルの形で送信してください。電子メール ゲートウェイがマルウェアをスキャンして検出できるのは、そのマルウェアが、保護されていない通常の添付ファイルとして送信された場合です。

    注: マルウェア攻撃の中には、パスワード保護されたアーカイブを使用して、ウイルス対策ソフトウェアのスキャン処理を免れるものもあります。その結果、多くの企業が、受信したすべての圧縮ファイルを阻止または検疫しています。ファイルを送信する前に、受信者がこの方法をとっているかどうかを確認してください。

ユーザーとグループを検査する

マルウェア攻撃の中には、システム上の既存ユーザーの権限を格上げしようとしたり、管理者権限を持つグループに新規アカウントを追加しようとするものがあります。ユーザーとグループに関して次の検査を実行し、次の項目に当てはまる異常な設定があるかどうかを調べてください。

  • 異常なユーザー アカウントまたはグループがある。

  • 不適切に見えるユーザー名がある。

  • グループの中に無効なユーザーが属している。

  • 無効なユーザー権利が設定されている。

  • 任意のユーザー アカウントまたはグループ アカウントに対する特権が最近格上げされた。

  • Administrators グループの中に無効なメンバがある。

[ローカル ユーザーとグループ] Microsoft Management Console (MMC) スナップインを使用して、ローカルの Administrators グループに異常なユーザーが追加されていないかどうかを調べます。また、ローカル コンピュータのセキュリティ ログを検査し、異常なエントリが登録されていないかどうかを確認します。たとえば、イベント 636 などの Account Management カテゴリ エントリは、ローカル グループに新しいメンバが追加されたことを意味します。これらのログには、変更処理が発生した日時も記録されます。

検査対象システムが Windows サーバーの場合は、[Active Directory ユーザーとグループ] MMC スナップインを使用して、ドメイン グループのメンバも同様に検査します。Windows 2000 における既定のユーザーとグループの詳細については、次の URL で Microsoft TechNet の「Default User Accounts and Groups」ページ (英語) を参照してください。 https://technet.microsoft.com/library/bb726980.aspx 代表的なセキュリティ識別子 (SID: security identifier) とそれに関連付けられたユーザーとグループの情報については、次の URL で、マイクロソフト サポート技術情報の記事、「243330: Windows サーバー オペレーティング システムの既知のセキュリティ識別子」を参照してください。 https://support.microsoft.com/KB/243330

注: この記事では Windows 2000 について説明していますが、Windows 2003 にも当てはまります。なぜなら、既定のグループは基本的に変更されていないからです。ただし、Windows Server 2003 では、Network Service グループや Local Service グループなどが既定のグループとして新たに追加されました。詳細については、ご使用のシステムにおける既定のシステム構成を確認してください。

共有フォルダを検査する

マルウェアは、共有フォルダを使用して感染を拡大させることがよくあります。感染したシステムの共有フォルダの状態を調べるには、[コンピュータの管理] MMC スナップインを使用するか、コマンド ラインで NetShare コマンドを使用します。表 4.1 および表 4.2 に、それぞれ Windows クライアントと Windows サーバーにおける既定の共有フォルダを示します。

注: Windows 9x コンピュータでは、ファイル環境を有効にしていない場合、既定でファイルやフォルダは共有されません。また、Windows 9x クライアントには、admin$ またはそれに相当する隠し共有がありません。ネットワーク経由で利用できるのは、明示的に共有設定されたフォルダまたはボリュームだけです (ネットワーク経由で利用する場合、システムが被害を受けないようにしたり、リモート管理ソフトウェアがシステム上にインストールされないようにします)。

表 4.1: Windows XP における既定のフォルダ共有

共有フォルダ 共有パス 説明
ADMIN$ C:\Windows リモート管理
C$ C:\ 既定の共有
<n>$ <n:>\ システム上の各固定ドライブのルートに対する共有を表します。
SharedDocs C:\Documents and Settings\All Users\Documents ローカル ファイル共有が有効になっている場合、追加されます。
**表 4.2: Windows Server 2003 および Windows 2000 Server における既定のフォルダ共有**
共有フォルダ 共有パス 説明
ADMIN$ C:\Windows リモート管理
C$ C:\ 既定の共有
<n>$ <n:>\ システム上の各固定ドライブのルートに対する共有を表します。
SharedDocs C:\Documents and Settings\All Users\Documents ローカル ファイル共有が有効になっている場合、追加されます。
Wwwroot$ C:\inetpub\wwwroot Web サーバーとしてインターネット インフォメーション サービス (IIS: Internet Information Services) がインストールされている場合、設定されます。
これらの共有に対するアクセス許可を検査するには、SrvCheck というコマンド ライン ツールを使用します。このツールは、Microsoft.com の「Windows 2003 Resource Kit Tools」ページ (英語) ([https://go.microsoft.com/fwlink/?LinkId=4544](https://go.microsoft.com/fwlink/?linkid=4544)) で入手できます。 サードパーティ製ユーティリティを使用して、これらのレポートを生成することもできます。サードパーティ製ユーティリティの例としては、SystemTools.com の Web サイト ([https://www.somarsoft.com](https://www.somarsoft.com/)) で入手できる Dumpsec などがあります。 ##### 開いているネットワーク ポートを検査する マルウェア攻撃の多くは、感染先システムを今後攻撃しやすくするため、そのシステムの脆弱性を高めようとします。その際によく使用されるのは、ホスト上のネットワーク ポートを開くという方法です。開いたポートは、その後そのマルウェア攻撃によって使用され、ホストに入り込むための経路となります。 現在のネットワーク ポート設定の一覧をエクスポートするツールは多数あります。たとえば、Microsoft Windows Server 2003 Support Tools の中の PortQRY などです。このツールの詳細については、次の URL で、マイクロソフト サポート技術情報の記事、「832919: PortQry Version 2.0 の新しい機能」を参照してください。 [https://support.microsoft.com/KB/832919](https://support.microsoft.com/kb/832919) その他のツールとしては、Foundstone ([https://www.foundstone.com](https://www.foundstone.com/)) の FPort というコマンド ライン ユーティリティなどがあります。 Windows に付属している NetStat というコマンド ライン ユーティリティを使用して、現在のネットワーク接続の状態、および、リッスンしているネットワーク ポートに関するレポートを作成できます。また、ネットワーク接続とポート状態の詳細情報を印刷することもできます。 **NETSTAT レポートを作成するには** - マルウェアに感染しているホストで、\[スタート\] メニューの \[ファイル名を指定して実行\] をクリックし、「Netstat -an >c:\\netstat\_report.txt」と入力して **Enter** キーを押します。 **注:** Windows XP 以降のオペレーティング システムで Netstat を実行している場合、次のコマンドを使用することもあります。このコマンドを実行すると、関連するプロセス ID (PID: Process Identifier) もレポートに表示されます。 Netstat -ano >c:\\netstat\_report.txt C: ドライブのルートに、netstat\_report.txt という名前のテキスト ファイルが生成されます (ファイル名に日付を追加することもできます)。レポートを後で解析できるようにするため、このファイルをリムーバブル メディアに保存することをお勧めします。 ##### ネットワーク プロトコル アナライザを使用する ネットワーク プロトコル アナライザ ツールを使用すると、感染したホストとの間で送受信されるデータのネットワーク トラフィック ログ ファイルを作成できます。作成されたネットワーク トレース ファイルは、情報ファイル セットの 1 つとして保存しておきます。これにより、後で解析を行う際に利用できます。 これらのネットワーク トレース ファイルを作成する際に利用できるネットワーク プロトコル アナライザの例としては、Microsoft Systems Management Server (SMS) の Network Monitor コンポーネントや、Ethereal アナライザなどのサードパーティ製ツールなどがあります。Ethereal アナライザは、Ethereal の Web サイト (https://www.ethereal.com/) で入手できます。 ##### システム イベント ログを検査してエクスポートする Windows のシステム イベント ログを使用して、さまざまな異常動作を発見できることがあります。その場合、マルウェアが行った変更処理とその日時を特定できます。\[イベント ビューア\] MMC を使用して、各種のイベント ログ ファイル (アプリケーション、セキュリティ、およびシステム) をリムーバブル メディアに保存します。これにより、後で解析を行う際に利用できます。既定では、これらのファイルは C:\\Winnt\\System32\\Config\\ フォルダに保存されます。各ファイルの名前は、**AppEvent.evt**、**SecEvent.evt**、および **SysEvent.evt** です。なお、システムの動作中は、これらのファイルはロックされているため、\[イベント ビューア\] MMC を使用してエクスポートする必要があります。 これらのログを使用してマルウェア攻撃の影響を判断する際のヒントを次に示します。 - 攻撃の疑いのある処理の発生時に変更された情報を調べる。 - イベント ログの時間をファイルの作成時刻および更新時刻と比較する。 - 侵入の疑いのある処理の発生時刻前後に作成された、またはパスワードが変更されたアカウントを調べる。 マルウェア解析プロセスの最後で、マルウェアの性質によっては、切り離したネットワークを再接続するかどうかを検討できます。たとえば、解析の結果、マルウェアが特定のピア ツー ピア アプリケーション経由でのみ拡大することが判明した場合、境界ファイアウォールのフィルタを変更して、このアプリケーションによって使用されるネットワーク ポートを閉じると、ネットワークおよびその他のサービスを復元できます。このような修復作業を実行すると、通常の通信処理がある程度回復するとともに、システム復旧プロセスが開始されます。 [](#mainsection)[ページのトップへ](#mainsection) ### ステップ 4: システム復旧 マルウェア攻撃に関する必要情報を収集してその性質を十分に理解したら、そのマルウェアを駆除して感染したコンピュータ上の破損データを復旧するプロセスを開始できます。 **重要:** ご使用のウイルス対策ソフトウェアが、マルウェアを認識してコンピュータから駆除する機能を備えていたとしても、感染日時と感染方法を特定することをお勧めします。この情報がない場合、他のシステム、バックアップ メディア、またはリムーバブル メディアが攻撃にさらされていたかどうかを判断するのが難しくなります。 このプロセスを進める方法は、マルウェア攻撃の性質によって大きく異なります。ただし、高度なプロセスを実行して、データとコンピュータ システムの両方を完全に復旧できます。 1. 喪失データまたは破損データを復元する。 2. 感染ファイルを削除するか、または感染ファイルからマルウェアを駆除する。 3. コンピュータ システムからマルウェアが駆除されたことを確認する。 4. コンピュータ システムをネットワークに再接続する。 システムからマルウェアが駆除されたことを確認するステップは重要であり、軽視してはいけません。マルウェアの多くは、長期間検出されないように設計されています。また、バックアップ イメージやシステム復元ポイントに、感染したシステム ファイルが含まれている可能性があります。この場合、感染しているバックアップ イメージからシステムを復元すると、さらなる感染が発生します。このため、マルウェア攻撃が最初に発生した日時を明らかにすることは重要です。基準としてタイム スタンプを設定したら、バックアップ イメージの日付に基づいて、各バックアップ イメージがマルウェアに感染しているかどうかを判断できます。 #### システムからマルウェアを駆除するか、システム全体を再構築するかの判断 システムの復旧方法を検討する際、選択肢が 2 つあります。1 つ目の方法は、システムからマルウェアを駆除することです。この方法は、攻撃の既知の特性に基づいて、受けた被害を体系的に回復するものです。2 つ目の方法は、システムの再構築または "フラット化" と呼ばれるものです。ただし、どちらの方法を使うかは、簡単には決められません。 攻撃のすべての要素が明らかになっていること、およびマルウェア駆除処理を実行すれば攻撃のすべての要素を修復できることが確実な場合にのみ、システムからマルウェアを駆除する方法をとるべきです。ウイルス対策ソフトウェア ベンダは一般に、ユーザーが必要とする情報を用意します。ただし、ベンダが攻撃の性質を完全に把握するまでに数日かかる可能性があります。システムからマルウェアを駆除する方法の方が優れていることが多くあります。なぜなら、システムがクリーンな状態に戻り、アプリケーションとデータは元のままであるからです。この方法は通常、システムを再構築する方法に比べて、運用に戻るのに要する期間が短くて済みます。ただし、マルウェア コードが詳細に解析されていない場合、システムからマルウェアを完全に駆除できない可能性があります。 システムからマルウェアを駆除する方法における根本的なリスクとは、最初の感染の未確認要素 (二次的な感染や攻撃を招くおそれがある) が検出または明確化されていない、システムがまだマルウェアに感染している可能性がある、またはマルウェアの仕組みの中に疑わしい点があるということです。このようなリスクがあるため、多くの組織は、感染したシステムを再構築してマルウェアを完全に消去する方法をとります。 一般に、システムが攻撃を受け、バックドアまたは rootkit が埋め込まれた場合、システムを再構築することをお勧めします。この種の攻撃の詳細については、「第 2 章: マルウェアの脅威」を参照してください。この種の攻撃のさまざまなコンポーネントを確実に検出するのは困難です。このため、これらのコンポーネントを一掃したつもりでも、後で再発することがよくあります。これらの攻撃は主に、被害を受けたシステムに不正アクセスする際に使用されます。すると、そのシステムに対してさらなる攻撃をしかけ、権限を格上げしたり自身のソフトウェアを埋め込んだりすることができます。このため、コンピュータ システムからマルウェアを完全に駆除するには、信頼できるメディアからシステムを再構築し、構成を変更して脆弱箇所を修復する必要があります。この脆弱箇所とは、最初に攻撃を受けた箇所 (セキュリティ更新プログラムを適用していなかった箇所、ユーザー パスワードが破られやすい箇所など) のことです。 このプロセスでは、感染したシステムから必要なユーザー データを慎重に取り込んで検査すること、破損したデータを修復すること、破損したデータをスキャンし、マルウェアが残存していないことを確認すること、および再構築したシステムにクリーンなデータを復元することも必要です。 システムを再構築するには、システム上で使用していたすべてのアプリケーションを再インストールし、各アプリケーションを適切に構成する必要があります。したがって、再構築を行えば感染しているマルウェアを最も確実に消去できますが、マルウェアを駆除する方法に比べると作業量が大幅に増えます。 どちらの方法を使用するかを検討する際、マルウェアを確実に駆除できるかどうかを第一に考えるべきです。修復中のシステム停止時間の長短は、システムの完全性や安定性を確保することに比べれば、二義的な問題です。 **表 4.3: システムからマルウェアを駆除する方法とシステムを再構築する方法の長所と短所**
システムからマルウェアを駆除する方法 システムを再構築する方法
マルウェア駆除ツールを利用できる場合、簡単に実行できます。 プロセスは複雑です (特に、感染する前にバックアップ/復元ソリューションを利用できなかった場合)。
わずかなステップでデータをクリーンにすることができます。 データの取り込み、バックアップ、消去、スキャン、復元の各ステップを実行する必要があります。
システム全体を再構築する場合に比べ、削除ツールに必要なリソースが少なくて済みます。 再構築プロセスを実行するには、長い時間と多くの人員を必要とします。
システムがまだ感染している可能性があります。 クリーンなメディアから復元してデータを適切に管理すれば、感染のリスクは大幅に低下します。
**注:** 感染したシステムからマルウェアを駆除する方法を選択した場合、組織の管理部門と法務部門はリスク分析を実施し、"マルウェア駆除プロセスによって悪意のあるコードを駆除しきれなかった場合に今後攻撃を受けるリスクが高まる" ということを受け入れられるかどうかを判断します。 #### システムからのマルウェアの駆除 マルウェアの攻撃と動作が明確になっており、かつ、マルウェア駆除処理が十分にテストされている場合、マルウェアを駆除する方法を選択すべきです。管理者向けのドキュメント化された処理手順、およびシステムからマルウェアを駆除する処理を自動化するツールは、マイクロソフトまたはウイルス対策ソフトウェア ベンダから入手できます。どちらの方法も、感染中に実行された各処理を慎重に取り消し、システムを元の運用状態に戻すことを目的としています。これらの処理は、主要なウイルスやワームに対応する目的でのみ提供されるものであり、通常は、最初のマルウェア感染が判明してからわずか数日で公開されます。 **注:** 多くのマルウェア (例: MyDoom@A、MyDoom@B) は波状攻撃を仕掛けてくるため、駆除処理または駆除ツールを使用して特定のバージョンのマルウェアをシステムから駆除することは、きわめて重要です。 駆除するマルウェアに対応した自動化ツールが提供されていない場合、システムから手動でマルウェアを駆除するかどうかを検討します。その際の基本的な処理は次のとおりです。 1. マルウェア実行プロセスを停止する - 現在動作中のマルウェア関連プロセス、および駆除するマルウェアに関連する自動実行エントリと、スケジュール設定されたタスクを停止する必要があります。 2. 埋め込まれたマルウェア ファイルを削除する - このステップでは、ホストのハード ディスク ドライブ上にあるファイルを詳しく解析し、マルウェアによって埋め込まれたファイルを特定します。 3. 最新のセキュリティ更新プログラムまたは修正プログラムを適用し、マルウェアに悪用された脆弱性を緩和する - このステップでは、再起動や Windows Update Web サイトへのアクセスを何回か実行し、すべてのセキュリティ更新プログラムを適用します。 4. 破られた可能性のある、または推測されやすいパスワード (ドメイン パスワードまたはローカル パスワード) を変更する - 強力なパスワードの設定に関する指針については、次の Microsoft.com の「Strong Passwords」ページ (英語) を参照してください。 [https://technet.microsoft.com/library/cc756109.aspx](https://technet.microsoft.com/ja-jp/library/d406b824-857c-4c2a-8de2-9b7ecbfa6e51(v=TechNet.10)) 5. マルウェアによるシステム変更結果を元に戻す - このステップでは、コンピュータ上にあるローカルの hosts ファイルとファイアウォール構成を復元します。 6. マルウェアによって改ざんまたは削除されたユーザー ファイルを復元する。 上記の処理を実行することを決定した場合、この処理を後に公開される駆除処理と比較して、必要なステップをすべて実行したかどうかを確認できるようにするには、この処理だけを使用してシステムを修復してください。組織内にウイルス対策サポート チームがある場合は、そのチームがすべての攻撃経路を特定して緩和する目的で使用する検査処理と修復処理が適切であるかどうかも確認する必要があります。処理が適切であることを確認できない場合、再び感染するおそれがあります。 #### 復元するか再インストールするかの判断 システムを再構築するのが最善の方法であると判断した場合、以前に作成しておいたクリーンなイメージまたはシステム バックアップを使用してシステムを復元する方法と、元のインストール用メディアからシステムを再インストールする方法のいずれかを選択できます。 以前にバックアップしておいたイメージからシステムを復元する場合、感染したシステム上にある最新のユーザー データを保全し、バックアップ時点から現在までの間に作成または更新されたデータが失われないようにする必要があります。バックアップ イメージではなく元のインストール用メディアを使用してシステムを再構築する場合、データが失われないようにするには、感染したシステム上にあるデータを保全してから、システムをバックアップします。 ##### 感染したシステム上のデータを復旧する システムにおいて最も価値のある資産は、おそらくそのシステム上のデータです。このため、データを保存、復元、修復、バックアップする方法、およびシステム再構築後にそのデータをシステムに復元する方法を慎重に検討することが重要です。 システムを完全に復元するには、次の種類のデータを適切に取得する必要があります。 - **オペレーティング システム構成データ**: ホスト オペレーティング システムを元の状態に復元するために必要なすべての構成設定情報。これらのデータを復元すれば、ホストのサービスすべてが正しく機能します。 - **アプリケーション データ**: ホスト デバイスにインストールされているアプリケーションによって使用および格納されるすべてのデータ。 - **ユーザー データ**: すべての構成データ (例: ユーザー プロファイル、ユーザーが生成したファイル)。 **注:** これらの保存されるデータ自体が感染しているおそれがあります。これらのデータを検査してマルウェアを調べる確実な方法が見つかるまでの間、これらのデータを扱う際、最大限の注意を払う必要があります。 すべてのデータを安全なメディア、または権限のないユーザーやシステムによって実行またはアクセスされない場所にバックアップします。必要があれば、任意のツールなどデータ復元用手段を使用して、再構築後にシステムにそのデータを復元できるようになるまでの間、そのデータを安全に保管しておきます。 ##### イメージまたはバックアップから復元する イメージまたはバックアップからデータを復元するには、マルウェアに感染する前に、復旧ツールを使用してイメージまたはバックアップを作成しておく必要があります。システム上のデータをバックアップする処理とそのデータを復元する処理を大幅に簡素化するためのさまざまなツールが提供されています。これらのツールを利用すれば、マルウェア感染だけでなく、ハードウェア障害などの潜在的な脅威からシステムをしっかり守ることができます。万全な障害復旧基盤を構築する作業については、このガイドでは説明しません。ただし、ウイルス対策に関する問題に対処する際に利用できる、この分野のいくつかの主要技術については、以降で説明します。 ###### Windows システム復元 Windows システム復元 (WSR: Windows System Restore) は、重要なシステム ファイルとアプリケーション ファイルを保護するユーティリティです。具体的には、これらのファイルが改ざんされる前に、監視、記録、および場合によってはバックアップします。使用しているウイルス対策ソフトウェアが WSR をサポートしているかどうかを知っておくことは重要です。なぜなら、WSR は復元ポイントを作成できるからです。最初のマルウェア攻撃以降にこのソフトウェアを使用してシステムからマルウェアを駆除した場合、この復元ポイントはマルウェアに感染する可能性があります。この場合、マルウェアは、感染した復元ポイントからシステムに再び入り込む恐れがあります。ただし、WSR をサポートしているウイルス対策ソフトウェアは、復元プロセスの実行中にマルウェアを検出します。マルウェアに感染したファイルが検出された場合、このウイルス対策ソフトウェアは、そのファイルを修正、移動、または削除しようとします。ファイルからマルウェアが正しく駆除された場合、WSR によってそのファイルが復元されます。ただし、ファイルからマルウェアを駆除できず、そのファイルが削除または検疫された場合、復元プロセスは失敗します。なぜなら、ファイルを隔離すると、復元したシステムの状態の整合性がとれなくなるからです。この場合、WSR によってシステムが以前の状態 (復元処理を開始する前の状態) に戻ります。 ウイルス対策ソフトウェアと WSR の連携方法の詳細については、マイクロソフト サポート技術情報の記事「831829: ウイルス対策ソフトウェアとシステムの対策の復元が一緒に動作方法」を参照してください。 [https://support.microsoft.com/KB/832919](https://support.microsoft.com/kb/831829) **注:** ウイルス定義ファイルがある特定のマルウェア攻撃に対応するように更新されると、以前失敗した復元処理が今度は成功する場合があります (ウイルス対策ソフトウェアの更新後)。逆に、以前成功したポイントに復元したが、ウイルス定義ファイルが更新されたため、以前駆除できなかったバックアップ ファイル上のマルウェアを検出できるようになった場合、復元プロセスが失敗する可能性があります。 WSR の詳細については、Microsoft.com の「How to Restore Windows XP to a Previous State」ページ (英語) を参照してください。