企業環境における悪意のあるソフトウェアの削除ツールを展開する

適用対象: Windows 7 Enterprise NWindows 7 Home BasicWindows 7 Home Premium

Windows 悪意のあるソフトウェアの削除ツールは、この資料の対象製品の一覧に記載されているオペレーティング システムで使用するためのものです。 この一覧に含まれていないオペレーティング システムでのテストは行われていないため、サポート対象外です。 組み込みのオペレーティング システムのすべてのバージョンとエディションも、サポート対象外のオペレーティング システムに該当します。

はじめに


Microsoft は通常、Windows 悪意のあるソフトウェアの削除ツール (MSRT) を Windows Update の一部として、またはスタンドアロン ツールとして毎月リリースしています。 このツールを使用して、特定の悪質な脅威を検出して削除し、行った変更を元に戻します (対象の脅威を参照)。 包括的なマルウェアの検出および削除のために、Microsoft Safety Scanner の使用を検討してください。

このツールは、既存のマルウェア対策ソリューションを補完するように動作し、最新の Windows バージョンで使用できます (「プロパティ」セクションを参照)。

この資料では、このツールの企業環境での展開に関する情報のみを掲載しています。 このツールの詳細については、次の サポート技術情報を参照することをお勧めします:

ツールをダウンロードする


ツールをダウンロードするには、次のサイトにアクセスします:

展開の概要


企業環境において、既存の保護策の強化および "多層防御" 戦略の一環として展開することができます。 企業環境へのこのツールの展開には、以下の方法を使用することができます。

  • Windows Server Update Services
  • Microsoft Systems Management Software (SMS) ソフトウェア パッケージ
  • グループ ポリシーでコンピューターのスタートアップ スクリプトを使用する方法
  • グループ ポリシーでユーザーのログオン スクリプトを使用する方法

このツールの現在のバージョンでは、以下の展開テクノロジや展開手法はサポートされていません。

  • Windows Update カタログ
  • リモート コンピューターに対するこのツールの実行
  • Software Update Services (SUS)

また、Microsoft Baseline Security Analyzer (MBSA) ではこのツールの実行が検出されません。 この項目には、展開の一環としてツールの実行をどのように検証できるかについての情報が記載されています。

サンプル コード


ここで記載された文書ならびに手順はサンプルもしくは例とすることのみを意図しています。 ユーザーは、これらのサンプル スクリプトおよび事例をテストし、適切に変更して、展開先の環境で機能するようにする必要があります。 サンプル スクリプトに含まれている ServerName および ShareName は、環境内の設定に合わせて変更する必要があります。

サンプル コードでは、次の処理が行われます。

  • ツールをサイレント モードで実行します。
  • 事前に構成したネットワーク共有にログ ファイルをコピーします。
  • ツールが実行されたコンピューターの名前と現在のユーザーのユーザー名が、ログ ファイルの名前の先頭に追加されます。

    注: 「事前の設定と構成」の手順に従って、共有のアクセス許可を適切に設定する必要があります。
REM In this example, the script is named RunMRT.cmd.REM The Sleep.exe utility is used to delay the execution of the tool when used as a REM startup script. See the "Known issues" section for details.@echo offcall \\ServerName\ShareName\Sleep.exe 5Start /wait \\ServerName\ShareName\Windows-KB890830-V5.78.exe /qcopy %windir%\debug\mrt.log \\ServerName\ShareName\Logs\%computername%_%username%_mrt.log

注: このサンプル コード内の ServerName は使用するサーバーの名前に、ShareName は使用する共有の名前に、それぞれ置き換えます。

事前の設定と構成


以下の説明は、スタートアップ スクリプトまたはログオン スクリプトを使用してツールを展開する管理者を対象にしています。 SMS を使用する場合は、「展開の方法」に進んでください。

サーバーおよび共有を構成するには、以下の手順を実行します。

  1. メンバー サーバーに共有を作成します。 この共有に付けた名前を
    ShareName とします。
  2. ツールおよびサンプル スクリプト RunMRT.cmd を共有にコピーします。 サンプル スクリプトの詳細については、「サンプル コード」を参照してください。
  3. 共有のアクセス許可および NTFS ファイル システムのアクセス許可を以下のように構成します。
    • 共有の アクセス許可:
      1. この共有を管理するユーザーのドメイン ユーザー アカウントを追加し、"フル コントロール" のアクセス許可を付与します。

      2. Everyone グループを削除します。

      3. コンピューターのスタートアップ スクリプトを使用する場合は、Domain Computers グループを追加し、このグループに "変更" および "読み取り" のアクセス許可を付与します。

      4. ログオン スクリプトを使用する場合は、Authenticated Users グループを追加し、このグループに "変更" および "読み取り" のアクセス許可を付与します。

    • NTFS アクセス許可
      1. この共有を管理するユーザーのドメイン ユーザー アカウントを追加し、"フル コントロール" のアクセス許可を付与します。
      2. Everyone グループが一覧に含まれている場合は、削除します。

        注: Everyone グループを削除するときにエラー メッセージが表示される場合は、[セキュリティ] タブの [詳細] をクリックし、[継承可能なアクセス許可を親からこのオブジェクトに継承できるようにする] チェック ボックスをオフにします。
      3. コンピューターのスタートアップ スクリプトを使用する場合は、Domain Computers グループを追加し、このグループに "読み取りと実行"、"フォルダーの内容の一覧表示" および "読み取り" のアクセス許可を付与します。
      4. ログオン スクリプトを使用する場合は、Authenticated Users グループを追加し、このグループに "読み取りと実行"、"フォルダーの内容の一覧表示" および "読み取り" のアクセス許可を付与します。
  4. ShareName フォルダー内に Logs という名前のフォルダーを作成します。

    クライアント コンピューターでツールを実行した後、このフォルダーに最終的なログ ファイルが集められます。
  5. 次の手順を実行して、Logs フォルダーの NTFS アクセス許可を構成します。

    注 : この手順では、共有のアクセス許可は変更しないようにします。
    1. この共有を管理するユーザーのドメイン ユーザー アカウントを追加し、"フル コントロール" のアクセス許可を付与します。
    2. コンピューターのスタートアップ スクリプトを使用する場合は、Domain Computers グループを追加し、このグループに "変更"、"読み取りと実行"、"フォルダーの内容の一覧表示"、"読み取り"、および "書き込み" のアクセス許可を付与します。
    3. ログオン スクリプトを使用する場合は、Authenticated Users グループを追加し、このグループに "変更"、"読み取りと実行"、"フォルダーの内容の一覧表示"、"読み取り"、および "書き込み" のアクセス許可を付与します。

展開の方法


注: このツールを実行するには、選択した展開方法にかかわらず、Administrator または SYSTEM のアクセス許可が必要です。

SMS ソフトウェアパッケージの使い方

以下の例は、SMS 2003 を使ったステップバイステップの説明について記載しています。 SMS 2.0 を使用する場合も、手順は以下と同様です。

  1. /x スイッチを使用して Windows-KB890830-V1.34.exe パッケージから Mrt.exe ファイルを抽出します (パッケージのファイル名はバージョンによって異なります)。
  2. Mrt.exe を起動して ISMIF32.exe でリターン コードを取得するための .bat ファイルを作成します。

    以下に例を示します。
    @echo offStart /wait Mrt.exe /qIf errorlevel 13 goto error13If errorlevel 12 goto error12Goto end:error13Ismif32.exe –f MIFFILE –p MIFNAME –d ”text about error 13”Goto end:error12Ismif32.exe –f MIFFILE –p MIFNAME –d “text about error 12”Goto end:end
    Ismif32.exe の詳細については、以下のマイクロソフト サポート技術情報番号をクリックしてください。
    186415 ステータス MIF を作成する Ismif32.exe について
  3. 次の手順を実行して、SMS 2003 コンソールでパッケージを作成します。
    1. SMS 管理コンソールを起動します。
    2. [パッケージ] ノードを右クリックし、
      [新規作成]、[パッケージ] の順にクリックします。

      [
      パッケージのプロパティ] ダイアログ ボックスが表示されます。
    3. [全般] タブで、パッケージの名前を入力します。
    4. [データ ソース] タブで、[このパッケージはソース ファイルを含む] チェック ボックスをオンにします。
    5. [設定] をクリックし、ツールが含まれるソース ディレクトリを選択します。
    6. [配布の設定] タブで、[送信の優先順位] ボックスの一覧の [] をクリックします。
    7. [レポート] タブで、[MIF のステータスの一致に次のフィールドを使用する] をクリックし、[MIF ファイル名] ボックスおよび
      [名前] ボックスに名前を入力します。

      [バージョン] ボックスおよび [発行元] ボックスは省略可能です。
    8. [OK] をクリックしてパッケージを作成します。
  4. 次の手順を実行して、パッケージの配布ポイント (DP) を指定します。
    1. SMS 2003 管理コンソールの [パッケージ] の下で、新しく作成したパッケージを見つけます。
    2. パッケージを展開します。 [配布ポイント] を右クリックし、[新規作成] をポイントし、[配布ポイント] をクリックします。
    3. 新しい配布ポイント ウィザードを起動して、 既存の配布ポイントを選択します。
    4. [完了] をクリックしてウィザードを終了します。
  5. 次の手順を実行して、手順 2. で作成したバッチ ファイルを新しいパッケージに追加します。
    1. 新しいパッケージのノードの下で、[プログラム] ノードをクリックします。
    2. [プログラム] を右クリックし、
      [新規作成] をポイントして、[プログラム] をクリックします。
    3. [全般] タブをクリックし、有効な名前を入力します。
    4. [コマンド ライン] の隣の
      [参照] をクリックして、Mrt.exe の起動用に作成したバッチ ファイルを選択します。
    5. [実行] を
      [非表示] に変更します。 [] を [アクションの必要はありません] に変更します。
    6. [必要条件] タブをクリックし、[指定したクライアントのプラットフォームでのみ実行可能] をクリックします。
    7. [x86 Windows XP すべて] タブをクリックします。
    8. [環境] タブをクリックし、
      [プログラムの実行条件] ボックスの一覧の [ユーザーのログオン状態にかかわらず] をクリックします。 実行モードの [管理者権限で実行する] をクリックします。
    9. [OK] をクリックして、ダイアログ ボックスを閉じます。
  6. 次の手順を実行して、プログラムをクライアントに提供するための提供情報を作成します。
    1. [提供情報] を右クリックし、[新規作成] をポイントし、
      [提供情報] をクリックします。
    2. [全般] タブで、提供情報の名前を入力します。 [パッケージ] ボックスの一覧で、事前に作成したパッケージを選択します。 [プログラム] ボックスの一覧で、事前に作成したプログラムを選択します。 [参照] をクリックし、[すべてのシステム] をクリックするか、Windows Vista 以降のみを含むコンピューターのコレクションをクリックします。
    3. プログラムを一度だけ実行する場合は、[スケジュール] タブで、既定の設定を使用します。 スケジュールに沿ってプログラムを実行するには、スケジュールの期間を割り当てます。
    4. [優先順位] ボックスの一覧の [] をクリックします。
    5. [OK] をクリックして提供情報を作成します。

グループ ポリシーでコンピューターのスタートアップ スクリプトを使用する方法

この方法では、スクリプトを設定してグループ ポリシーの設定を適用した後、クライアント コンピューターを再起動する必要があります。

  1. 共有をセットアップします。 これを行うには、
    事前の設定と構成」セクションの手順を実行します。
  2. スタートアップ スクリプトをセットアップします。 この場合、次の手順を実行します。
     
    1. Active Directory ユーザーとコンピューター Microsoft 管理コンソール (MMC) スナップインで、ドメイン名を右クリックし、
      [プロパティ] をクリックします。
    2. [グループ ポリシー] タブをクリックします。
    3. [新規] をクリックして新しいグループ ポリシー オブジェクト (GPO) を作成し、そのポリシーの名前として「MRT Deployment」と入力します。
    4. 新しいポリシーをクリックし、[編集] をクリックします。
    5. [コンピューターの構成]、[Windows の設定] を順に展開し、[スクリプト] をクリックします。
    6. [ログオン] をダブルクリックし、[追加] をクリックします。

      [スクリプトの追加] ダイアログ ボックスが表示されます。
    7. [スクリプト名] ボックスに
      \\ServerName\ShareName\RunMRT.cmd.
    8. [OK] をクリックし、[適用] をクリックします。
  3. このドメインに所属するクライアント コンピューターを再起動します。

グループ ポリシーでユーザーのログオンスクリプトを使用する方法

この方法では、ログオンするユーザー アカウントがドメイン アカウントであり、クライアント コンピューターのローカル管理者のグループに所属している必要があります。

  1. 共有をセットアップします。 これを行うには、
    事前の設定と構成」セクションの手順を実行します。
  2. ログオン スクリプトをセットアップします。 この場合、次の手順を実行します。
    1. Active Directory ユーザーとコンピューター Microsoft 管理コンソール (MMC) スナップインで、ドメイン名を右クリックし、
      [プロパティ] をクリックします。
    2. [グループ ポリシー] タブをクリックします。
    3. [新規] をクリックして新しい GPO を作成し、その名前として「MRT Deployment」と入力します。
    4. 新しいポリシーをクリックし、
      [編集] をクリックします。
    5. [ユーザーの構成]、[Windows の設定] を順に展開し、[スクリプト] をクリックします。
    6. [ログオン] をダブルクリックし、[追加] をクリックします。 [スクリプトの追加] ダイアログ ボックスが表示されます。
    7. [スクリプト名] ボックスに
      \\ServerName\ShareName\RunMRT.cmd.
    8. [OK] をクリックし、[適用] をクリックします。
  3. ログオフした後、クライアント コンピューターに再度ログオンします。

この場合、スクリプトおよびツールは、ログオンしているユーザーのコンテキストで実行されます。 ユーザーがローカル管理者グループに所属していない場合や、ユーザーに十分なアクセス許可がない場合、ツールが実行されず、適切なリターン コードが返されません。 スタートアップ スクリプトおよびログオン スクリプトの使用方法の詳細については、以下のマイクロソフト サポート技術情報番号をクリックしてください。

企業での展開に関連する補足情報


リターンコードの検証方法

リターン コードを調査する方法展開用のログオン スクリプトまたはスタートアップ スクリプトでは、ツールのリターン コードを調査して、実行の結果を確認することができます。 この方法の例については、「サンプル コード」を参照してください。

以下に、有効なリターン コードの一覧を示します。

0 = 感染が見つかりませんでした。
1 = OS 環境のエラーです。
2 = 管理者として実行されていません。
3 = サポートされていない OS です。
4 = スキャナーの初期化エラー。 (ツールの新しいコピーをダウンロード)
5 = 未使用。
6 = 感染が 1 つ以上検出されました。 エラーはありません。
7 = 感染が 1 つ以上検出されましたが、エラーが発生しました。
8 = 感染が 1 つ以上検出されて削除されましたが、完全に削除するには手動の操作が必要です。
9 = 感染が 1 つ以上検出されて削除されましたが、完全に削除するには手動の操作が必要であり、エラーも発生しました。
10 = 感染が 1 つ以上検出されて削除されましたが、完全に削除するには再起動が必要です。
11 = 感染が 1 つ以上検出されて削除されましたが、完全に削除するには再起動が必要であり、エラーも発生しました。
12 = 感染が 1 つ以上検出されて削除されましたが、完全に削除するには手動の削除手順を実行して再起動する必要があります。
13 = 感染が 1 つ以上検出されて削除されましたが、再起動が必要です。 エラーは発生しませんでした。

ログ ファイルを参照する方法

悪意のあるソフトウェアの削除ツールでは、実行結果に関する詳細が %windir%\debug フォルダーの mrt.log ログ ファイルに書き込まれます。

注意事項

  • このログ ファイルは英語で出力されます。
  • この削除ツールのバージョン 1.2 (2005 年 3 月版) からは、このログ ファイルで Unicode テキストが使用されます。 バージョン 1.2 より前のログ ファイルでは ANSI テキストが使用されていました。
  • バージョン 1.2 からログ ファイルの形式が変更されたため、ツールの最新バージョンをダウンロードして使用することを推奨します。

    このログ ファイルが既に存在する場合は、既存のファイルにログが追加されます。
  • 上記の例と同様のコマンド スクリプトを使用すると、リターン コードを取り込んで、ログ ファイルをネットワーク共有に集めることができます。
  • ANSI から Unicode への切り替えにより、削除ツールの Version 1.2 では、%windir%\debug フォルダー内の ANSI 版の Mrt.log ファイルが同じディレクトリ内に Mrt.log.old という名前でコピーされます。 Version 1.2 ではさらに、新しい Unicode 版の Mrt.log が同じディレクトリに作成されます。 ANSI 版と同様、毎月、このログ ファイルに新しいログが追加されます。

次の例は、MPnTestFile ワームに感染したコンピューターの Mrt.log ファイルです。

Microsoft Windows Malicious Software Removal Tool v5.3, August 2013 (build 5.3.9300.0)Started On Tue Jul 30 23:34:49 2013Quick Scan Results:-------------------Threat Detected: Virus:Win32/MPnTestFile.2004 and Removed! Action: Remove, Result: 0x00000000 regkey://HKLM\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUN\\v5mpn runkey://HKLM\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUN\\v5mpn file://c:\temp\mpncleantest.exe SigSeq: 0x00002267735A46E2Results Summary:----------------Found Virus:Win32/MPnTestFile.2004 and Removed!Microsoft Windows Malicious Software Removal Tool Finished On Tue Jul 30 23:35:39 2013Return code: 6 (0x6)  


次の例は、悪質なソフトウェアが検出されなかった場合のログ ファイルです。

Microsoft Windows Malicious Software Removal Tool v5.3, August 2013 (build 5.3.9300.0)Started On Thu Aug 01 21:15:43 2013Results Summary:----------------No infection found.Microsoft Windows Malicious Software Removal Tool Finished On Thu Aug 01 21:16:28 2013Return code: 0 (0x0) 


次の例は、エラーが検出された場合のログ ファイルです。


このツールで発生する警告やエラーの詳細については、以下のマイクロソフト サポート技術情報番号をクリックしてください。

Microsoft Windows Malicious Software Removal Tool v5.3, August 2013 (build 5.3.9300.0)Started On Fri Aug 02 16:17:49 2013Scan Results:-------------Threat Detected: Virus:Win32/MPTestFile.2004, partially removed. Operation failed. Action: Clean, Result: 0x8007065E. Please use a full antivirus product ! !  file://d:\temp\mpcleantest.7z->mpcleantest.exe SigSeq: 0x00001080D2AE29FC containerfile://d:\temp\mpcleantest.7zResults Summary:----------------Found Virus:Win32/MPTestFile.2004, partially removed.Microsoft Windows Malicious Software Removal Tool Finished On Fri Aug 02 16:18:09 2013Return code: 7 (0x7) 

既知の問題


既知の問題 1

スタートアップ スクリプトを使用してツールを実行したとき、次のようなエラー メッセージが Mrt.log ファイルに記録されることがあります。
 

エラー: MemScanGetImagePathFromPid(pid: 552) failed.
0x00000005: アクセスは拒否されます。


注:
pid 番号は状況によって異なります。

プロセスが開始された直後か、最近停止された場合に、このエラー メッセージが発生します。 このエラー メッセージが発生すると、その pid が指定されたプロセスはスキャンされません。

既知の問題 2

ごくまれに、管理者が /q Quiet スイッチ (サイレント モードとも呼ばれる) を使用して MSRT を展開することを選択した場合、再起動の後に追加の駆除が必要である状況では、一部の感染の駆除が完全には解決されない場合があります。 これは、ある種の rootkit の亜種の削除においてのみ観察されています。

FAQ


Q1: ツールを展開するためのスタートアップ スクリプトまたはログオン スクリプトをテストしたとき、作成したネットワーク共有にログ ファイルがコピーされません。 この理由を教えてください。

A1 : 多くの場合、この現象はアクセス許可の問題が原因で発生します。 たとえば、削除ツールを実行しているアカウントに、共有への書き込みのアクセス許可がありません。 この問題のトラブルシューティングを行うには、まずレジストリ キーをチェックしてツールが実行されたことを確認するか、 クライアント コンピューターにログ ファイルが存在することを確認します。 ツールが正しく実行されている場合は、ツールを実行したときと同じセキュリティ コンテキストで簡単なスクリプトを実行して、ネットワーク共有への書き込みを実行できることを確認します。

Q2 : 削除ツールがクライアント コンピューターで実行されたかどうかを確認する方法を教えてください。

A2 : 次のレジストリ エントリの値のデータを調べることにより、ツールが実行されたことを確認できます。 このような確認を、スタートアップ スクリプトまたはログオン スクリプトに含めることもできます。 この処理により、ツールが繰り返し実行されることがなくなります。

サブキー: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\RemovalTools\MRT
エントリ名 :
バージョン

ツールが実行されるたびに、GUID がレジストリに記録され、ツールが実行されたことが示されます。 これは、実行の結果とは関係なく発生します。 次の表に示すのは、各リリースに対応する GUID の一覧です。

Q3 : 結果がマイクロソフトに送信されないようにするために、ツールの感染報告コンポーネント (レポート コンポーネント) を無効にする方法を教えてください。

A3 : 次のレジストリ値をコンピューターに追加することにより、管理者はツールの感染報告コンポーネントを無効にすることができます。 このレジストリ値が設定されていると、感染情報がマイクロソフトに送信されません。

サブキー: HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\MRT
エントリ名 : \DontReportInfectionInformation
種類: REG_DWORD
値のデータ: 1

Q4 : 2005 年 3 月版では、Mrt.log ファイルのデータが失われたように見えます。 このデータが削除された理由と、データを復元する方法を教えてください。

A4 : 2005 年 3 月版から、Mrt.log ファイルは Unicode ファイルとして出力されるようになりました。 互換性の問題が発生しないようにするため、2005 年 3 月版のツールを実行すると、ANSI 版のログ ファイルがシステムに存在する場合は、そのログ ファイルの内容が %WINDIR%\debug の Mrt.log.old にコピーされ、新しい Unicode 版の Mrt.log が作成されます。 ANSI 版と同様、この Unicode 版でも、その後ツールを実行するたびに、このログ ファイルに新しいログが追加されます。