セキュリティ ウォッチ境界でのマルウェア検査

Yuri Diogenes、Mohit Saxena、Jim Harrison

目次

マルウェア検査のしくみ
TMG のマルウェア検査機能を構成する
Web アクセス用のポリシーを設定する
Update Center (更新センター)
テストと監視
まとめ

Essential Business Server の一部としてもスタンドアロン製品としても提供されている新しい Microsoft Forefront Threat Management Gateway Medium Business Edition (TMG MBE) を使用すると、Microsoft Firewall サービスの動作が大幅に強化されます。この新しいファイアウォールの最も重要な機能の 1 つは、ファイアウォールを通過する HTTP トラフィックにマルウェアが含まれているかどうかを検査する機能です。この新機能を使用すると、次のことができるようになります。

  • インターネットから流れ込むマルウェアから内部ネットワークを保護する能力を強化する。
  • TMG Update Center (更新センター) を使用して、境界で常に最新のマルウェア シグネチャが使用されるようにする。
  • リアルタイムでのログ エントリの監視を通じて不審なトラフィックに目を光らせたり、一連の新しいレポートを使用して事後分析用にマルウェアについての統計情報を入手したりする。

このアプローチを使用すると、境界を通過する HTTP トラフィックに含まれる潜在的な脅威を緩和することができ、マルウェア対策ソリューションのセキュリティがいっそう強化されます。クライアントやサーバーでウイルス対策ソフトウェアを使用する必要がなくなるわけではありませんが、この検査はクライアント ワークステーションがデータを受信する前に実行されるので、マルウェアの脅威が大幅に緩和されます。

これは、ネットワーク上にゲスト コンピュータなどの管理されていないコンピュータがある場合に特に有用です。Forefront TMG を使用すると、こうしたコンピュータで不審なファイルのダウンロードが試みられた場合、その管理されていないコンピュータでウイルス対策ソフトウェアが実行されていなくても、そのファイルはブロックされます。

マルウェア検査のしくみ

ユーザーが Web サイトにアクセスしてファイルのダウンロードを試みると、TMG はそのトラフィックを傍受し、そのユーザーによる対象サイトへのアクセスを許可するルールでマルウェア検査機能が有効になっているかどうかを確認します。有効になっている場合、TMG による検査が開始されます (この機能が有効になっていない場合は、当然、TMG によるトラフィックのスキャンは行われません)。図 1 は、クライアントからファイルのダウンロードが行われているときの、マルウェア検査の基本的な流れの概要を示しています。

  1. クライアントは、ファイルをダウンロードするために対象の Web サイトに HTTP 要求を送信します。
  2. Forefront TMG が要求を受信し、適合するルールがあるかどうかを確認します。そして、そのルールでマルウェア検査が有効になっている場合は、マルウェアが含まれているかどうかを確認するために要求をスキャンします。
  3. 要求が有効であり、要求にマルウェアが含まれていない場合は、Forefront TMG が宛先サーバーに要求を送信します。
  4. 宛先サーバーは要求を受信し、それに応じて応答します。
  5. Forefront TMG は宛先サーバーからの応答を受信し、まずプロキシ エンジン経由で応答を処理します。
  6. マルウェア検査を行うようルールで指定されている場合、プロキシ エンジンは HTTP 要求の本文をマルウェア検査フィルタに送信します。64 KB 未満の応答はメモリ内に累積されます (インターネットの統計によると、ダウンロードされるファイルの約 98% は 64 KB 未満でありディスク I/O なしでスキャンできます)。マルウェア検査フィルタでは、コンテンツを累積し、ダウンロードと検査を行うタイミングを決定して、プロキシ エンジンに制御を返します。
  7. コンテンツが許可されている場合、Forefront TMG は元のファイルをユーザーに送信します。ファイルが感染しており TMG でこのファイルからマルウェアを駆除できない場合、TMG は、コンテンツがブロックされたという内容の HTML ページをユーザーに送信します。

fig01.gif

図 1 マルウェア検査の流れ

累積処理 (手順 6) 時に、TMG では、次のコンテンツ配信方法のいずれかを使用して、より快適なユーザー エクスペリエンスを提供します。

  • 進行状況を示す HTML ページ: 進行状況が動的に示され、スキャンが完了したら、ユーザーは TMG コンピュータからコンテンツをダウンロードすることができます。
  • 標準配信: Forefront TMG では、最初は非常に低速でクライアントにコンテンツを送信し、スキャンが完了すると、できる限り高速でデータを送信します。
  • 高速配信: 定義したパラメータが、ユーザー エクスペリエンス (Forefront TMG でのバッファを少なくし、スキャンの回数を多くする) とパフォーマンス (Forefront TMG でのバッファを多くし、スキャンの回数を少なくする) との間のトレードオフを示す数字として使用されます。これは通常、(メディア ストリーミングではなく) オンライン プレーヤーで再生されるメディア ファイルに使用されます。

マイクロソフトが提供する他のセキュリティ ソリューションが満たす水準を維持するために、TMG のマルウェア対策機能では、Forefront Client Security、Windows Defender、および OneCare で使用されるものと同じ Malware Protection Engine (MPE) が利用されます。Update Center (更新センター) を使用して定義を最新の状態に保つ方法については、後述します。

TMG のマルウェア検査機能を構成する

マルウェア検査を構成するには、まずグローバル レベルでマルウェア検査を有効にし、その後、ルール レベルでも有効にする必要があります。最初の手順は、[Web Access Policy] (Web アクセス ポリシー) ノードに移動し、[Tasks] (タスク) ペインの [Configure Malware Inspection] (マルウェア検査を構成する) をクリックすることです (図 2 参照)。

fig02.gif

図 2 Web アクセスの設定

この操作を行うと、マルウェア検査をグローバルに有効にできるダイアログ ボックスが表示されます (図 3 参照)。このダイアログ ボックスには、既定の設定があらかじめ設定されたマルウェア検査用の他の設定も用意されています。こうした設定の中には、アクセス ルール レベルで制御できるものもあれば、グローバルにしか設定できないものもあります。

fig03.gif

図 3 グローバル レベルでマルウェア検査を構成する

図 4 に示す [Exceptions] (除外) タブでは、どのサイトをマルウェア検査の対象外とするかを制御することができます。ポリシー設定によってこれを行うこともできますが、このダイアログ ボックスを使用して行われた構成は、どのアクセス ルールよりも優先されます。特定のサイトがこのダイアログ ボックスのこのタブ内の一覧に表示されている場合、検査を行うようルール レベルで規定されていても、そのサイトに対してマルウェア検査は行われません。このようなグローバル設定は、組織が内部ユーザー用に DMZ 内でホストする Web サイトなど、使用頻度が高く信頼できるサイトに対して有用です。

fig04.gif

図 4 除外するサイト

図 5 に示す [Inspection Settings] (検査の設定) タブでは、ブロックするコンテンツの種類を指定することができます。この種のコンテンツに対する既定の処理を定義できます (Forefront TMG では感染しているコンテンツからのマルウェアの駆除を試みてからそのコンテンツをエンド ユーザーに送信する必要があるかどうか、マルウェアの駆除を試みることなくこのようなコンテンツを完全にブロックするかどうかなど)。

fig05.gif

図 5 検査パラメータを設定する

不審なファイル、破損したファイル、暗号化されたファイル、またはスキャンできないファイルをブロックすることもできます。また、帯域幅を維持し、ユーザーがサイズの大きなファイルや検査に時間がかかりすぎるファイルをダウンロードするのを防ぐために、ファイル サイズの上限を設定することができます。これらはグローバル設定であり、ルールでは公開されないことに注意してください。

図 6 に示す [Content Delivery] (コンテンツの配信) タブでは、ファイルのダウンロード中のユーザー エクスペリエンスを構成することができます。たとえば、ファイルのダウンロードとスキャンにかかる時間が 10 秒 (COM で構成可能) を超える場合に、エンド ユーザーが応答を少しずつ受信するようにするか、それとも進行状況を通知するページをエンド ユーザーに対して表示するかを指定できます (かかる時間が 10 秒以下の場合、通知は表示されません)。

fig06.gif

図 6 コンテンツの配信方法の指定

応答を少しずつ受信するのではなく進行状況の通知を表示するコンテンツの種類を選択することもできます。これを行うには、[Select Content Types] (コンテンツの種類を選択) をクリックし、表示されるダイアログ ボックスにコンテンツの種類を追加したりダイアログ ボックスからコンテンツの種類を削除したりします。これはグローバル設定であり、ルールでは公開されません。

[Storage] (格納先) タブでは、ファイルのスキャンおよびエンド ユーザーへの配信が行われているときにファイルが一時的に累積されるフォルダを定義します。既定のフォルダは %SystemRoot%\Temp ですが、変更できます。これも、グローバル設定であり、ルールでは公開されません。

このフォルダが OS のページングや Forefront TMG のログ記録に使用されるドライブとは別のスピンドルにあると、ディスクに累積する必要があるコンテンツに対する、Forefront TMG のマルウェア検査のパフォーマンスが向上します。TMG Server 上にウイルス対策ソフトウェアがある場合は、このフォルダをスキャンの対象外とすることが重要です。ファイルが Forefront TMG Server によって使用されているときにウイルス対策ソフトウェアによるスキャンのためにファイルがロックされることを避けるためです。対象外とするフォルダに関するベスト プラクティスについては、「ISA Server でウイルス対策ソフトウェアを使用する場合の考慮事項」を参照してください。

Web アクセス用のポリシーを設定する

Forefront TMG 管理者は、Web Access Policy (Web アクセス ポリシー) または Firewall Policy (ファイアウォール ポリシー) を通じて、ユーザーからインターネットへのアクセスを制御するルールを構成することができます。Web Access Policy (Web アクセス ポリシー) を使用する場合、ルールでは HTTP プロトコルと HTTPS プロトコルのみが明示的に許可されます。また、この場合、管理者はルールを使用してユーザーによる Web サイトへのアクセスを許可または拒否することができます。これは、[Firewall Policy] (ファイアウォール ポリシー) の下にある [Access Rule] (アクセス ルール) を通じて行うこともできます。ここでは、アクセス元、アクセス先、およびユーザーに基づいて、HTTP アクセスと HTTPS アクセスを手動で許可することができます。[Access Rule] (アクセス ルール) に [Malware Inspection] (マルウェア検査) オプションが表示されるのは、選択されたプロトコルに Web プロトコルが含まれている場合だけであることに注意してください。

ルール レベルでマルウェア検査を有効にするには、[Inspect content downloaded from Web servers to clients] (Web サーバーからクライアントにダウンロードされたコンテンツを検査する) チェック ボックスをオンにします。このチェック ボックスは、[Web Access Default Rule Properties] (Web アクセスの既定のルール プロパティ) ダイアログ ボックス上にあります。この検査はルールによってダウンロードされた HTTP コンテンツにのみ適用されることに注意してください。ルール レベルでマルウェア検査を適用できるようにするには、まずグローバル レベルでマルウェア検査を有効にする必要があります。

Update Center (更新センター)

Forefront TMG では、既知のマルウェア (既知のウイルス、ワームなど) の定義が管理されます。こうした重要な定義を最新の状態に保つために、Forefront TMG には、Update Center (更新センター) と呼ばれる一元化されたメカニズムが組み込まれています。管理者はこれを使用して更新の頻度や自動更新処理を構成することができます。Update Center (更新センター) には Forefront TMG コンソールからアクセスできます。

[Definition Updates] (定義の更新) パネルでは、前回の更新の状態、および新しい更新の確認が最後に実行された時刻が示されます。右側にある [Tasks] (タスク) ペインでは、更新パラメータを構成することができます。図 7 は、定義の更新用のさまざまなオプションを示しています。[Tasks] (タスク) ペインの [Configure Update Settings] (更新の設定を構成する) をクリックすると、こうしたオプションにアクセスすることができます。

fig07.gif

図 7 定義の更新に関するウィンドウ

既定では、Forefront TMG は、マルウェア対策用定義を更新するために自動更新エージェントを使用して Microsoft Update サービスから更新プログラムを取得します。更新エージェントは、コンピュータで既定で選択されている更新サーバーを使用します。したがって、コンピュータが Windows Server Update Services (WSUS) から提供される更新プログラムを使用する場合、エージェントは、WSUS からも更新プログラムを取得します。それ以外の場合は、Microsoft Update から直接取得します。こうしたトランザクションは、(通常の Windows Update の場合と同様に) %systemroot%\windowsupdate.log ファイルに記録されます。

Forefront TMG Update Center (更新センター) で構成された頻度の設定によって Windows Update の設定が無効になることはありません。この 2 種類の設定はまったく異なるものです。したがって、Windows はソフトウェア更新プログラムをダウンロードし、一方、Forefront TMG はシグネチャのみをダウンロードします。

[Task] (タスク) ペインの [Check for Updates] (更新を確認する) をクリックすると、Forefront TMG で更新プログラムを検索することができます。新しい更新プログラムが検出されインストールされると、[Alerts] (通知) タブに情報通知が表示されます (図 8 参照)。ご覧のとおり、ウィンドウの下部には、その更新に関する詳細、および更新されたファイルのバージョンが示されます。

fig08.gif

図 8 マルウェア検査フィルタの通知

テストと監視

検査の設定と Update Center (更新センター) の設定を構成したら、次は機能をテストします。Forefront TMG 経由でインターネットにアクセスするクライアント ワークステーションで、Web サイトからファイルをダウンロードする必要があるとしましょう。ファイルのダウンロードが開始される前に、まず、外部リソースへのアクセスを試みているクライアント ワークステーションの IP アドレスをフィルタ選択して、Forefront TMG で監視を構成する必要があります (図 9 参照)。

fig09.gif

図 9 ファイルのダウンロードを試みているクライアント ワークステーションの監視

この例では、クライアントが files.fabrikam.com/suspicious.exe に HTTP GET を送信しているとします。要求が送信されると、Forefront TMG は要求を評価し、要求に含まれるファイルが不審であることを検知すると、"Failed Connection Attempt" (接続に失敗しました。) というイベントがログに書き込まれます (図 10 参照)。

fig10.gif

図 10 不審なファイルが検出された

[Malware Inspection Result] (マルウェア検査の結果) 列でこのファイルが不審なファイルに分類されていることがわかります。また、[Threat Name] (脅威となるものの名前) 列でマルウェアの名前が示されていることや、Threat Level (脅威のレベル) が深刻であることもわかります。エラーの詳細を示すペインでは、接続に失敗した理由の詳細が示されます。

このファイルのダウンロードを試みていたユーザーもこのエラーを体験しますが、ユーザーに対しては、"セキュリティ ポリシーの設定により、不審なファイルへのアクセスがブロックされている" ことを説明する、よりわかりやすいメッセージが表示されます (図 11 参照)。このようなアプローチがとられることにより、ユーザーは、何が起こっているかや、自分がアクセスを試みているファイルにアクセスできなかった理由を理解することができます。

fig11.gif

図 11 よりわかりやすいエラー メッセージ

まとめ

このコラムの主な目的は、Microsoft Forefront TMG のマルウェア検査機能を使用することによってエッジ セキュリティがどのように強化されるかを説明することでした。この機能を使用すると、ファイアウォールを通過する可能性のあるすべての不審なトラフィックを 1 か所で確認でき、検査の結果に基づいて措置を講じることができます。これは環境のセキュリティ強化に向けた重要なアプローチですが、これによって Web 閲覧時のユーザー エクスペリエンスにどのような影響が及ぼされる可能性があるかについての懸念は常にあります。

Microsoft Forefront TMG では、スキャン処理をエンド ユーザーがなるべく意識しなくてもよいようにして、こうした懸念にも対処しています。詳細については、Microsoft Forefront エッジ セキュリティ TechCenter にある Forefront TMG のドキュメントを確認してください。

Yuri Diogenes は、MCSE+S、MCTS、MCITP、Security+、Network+、および CCNP 資格保持者であり、マイクロソフトの ISA Server/IAG チームのセキュリティ サポート エンジニアです。ISA Server チームのブログや TechNet Magazine の記事の執筆も行っています。Yuri は、"Tales from the Edge" と呼ばれる Forefront コミュニティ ページの共同執筆者の 1 人です。

Mohit Saxena は、Microsoft ISA Server サポート チームのテクニカル リードです。サポート エンジニアやエスカレーション エンジニアで構成されるチームを率いて、故障の修理に関する問題、バグ、およびデザイン変更の要求に関するサポートをユーザーに提供しています。

Jim Harrison は、2003 年 1 月に QFE テスタとして ISA Server Sustained Engineering チームに加わりました。現在、彼は ISA Server の熱烈なファンであり、システム実装を担当しています。また、"Tales from the Edge" と呼ばれる Forefront コミュニティ ページの共同執筆者の 1 人でもあります。

現在、Yuri、Mohit、および Jim は、Microsoft Press から今度出版される、Microsoft Forefront Threat Management Gateway (TMG) に関する書籍を執筆中です。この書籍は 2009 年に出版される予定です。