DNSシンクホールを使用したConfickerの対処方法

Printer Friendly Page

※この記事は以下の記事の日本語訳です。

How to Deal with Conficker using DNS Sinkhole

https://live.paloaltonetworks.com/t5/Configuration-Articles/How-to-Deal-with-Conficker-using-DNS-Sin...

 

 

訳注:本文書で紹介するDNSのシンクホール機能はPAN-OS 6.0から対応しています。

 

概要

Confickerは2008年11月に初めて見つかり、Windowsを実行しているコンピューターに最も広く感染したワームの1つです。 Palo Alto Networksは、Confickerワームを見つけ、遮断することができるシグネチャ群を作成しました。それらの中でもConfickerの亜種によって使用されるDNSドメインを見つけることのできるアンチ ウィルス/アンチ スパイウェアのシグネチャがあります。 このドメインは、Confickerの亜種が見つかるとすぐに更新されます。WildFireライセンスが使用されている場合、新しく見つかったドメインは、WildFireシグネチャをとおして、1時間ごとにPalo Alto Networksファイアウォールに展開されます。ライセンスを使用していない場合、シグネチャは24時間ごとに展開され、すべてのPalo Alto Networksデバイスに対して、ダイナミック アップデートによってダウンロードされます。次回の更新時に、新しいAVシグネチャに対してもアップデートが実施されます。この保護は、ネットワーク内のユーザーが「悪意ある」ドメインを要求している時に機能します。ログの分析を行うことで、感染したドメインに対する要求が、ローカルのDNSサーバーから来ていることを確認することができます。これは、DNSの階層構造により発生します。

 

詳細

すべてのPalo Alto Networksプラットフォームは、有害なドメインに対するクエリに対して、シンクホール機能を実装しています。この機能を使用して、Palo Alto Networksファイアウォールは、ネットワーク内の感染したホストを見つけることができ、セキュリティの管理者に通知を行うことができます。これにより、そのネットワークから感染した端末を隔離することができます。

 

一連の動作:

  1. 感染したコンピューターは、ローカルのDNSサーバーから、感染したドメインの名前解決を依頼します。
  2. ローカルのDNSサーバーは、公開されているDNSサーバーにクエリを送ります。
  3. Palo Alto Networksデバイスは、最新のシグネチャを使用して、そのクエリー内容から有害なドメインを見つけます。
  4. 管理者が設定したIPアドレス (シンクホール アドレス) を付与してDNS要求に対する回答を上書きし、クライアントに対して改変された回答を送ります。
  5. クライアントは、シンクホールのIPアドレスに接続しようとします。
  6. Palo Alto Networksは、そのトラフィックを遮断し、その試みをログに記録します。
  7. ファイアウォールの管理者は、そのイベントの通知を受け取ります。
  8. 有害なクライアントは、ネットワークから隔離、除去されます。

 

手順

DNSシンクホール機能を設定するために、こちらをご覧ください: How to Configure DNS Sinkholing on PAN-OS 6.0

L3インターフェイスが、シンクホール インターフェイスとして設定されているPalo Alto Networksデバイスを使用して(ループバック インターフェイスを使用することもできます) 、以下の手順を行います:

  1. 仮想 ルーターとセキュリティ ゾーンに、以下の例のようにインターフェイスを追加します。このゾーンは、ユーザーが接続を開始するものとは異なります。有害なコンピューターはトラフィックを送り出すかは定かではありませんが、ベストプラクティスとしてはこのインターフェイスに対して新しいシンクホール ゾーンを作成します。
    Screen Shot 2014-01-28 at 12.52.12 AM.png
    新しい"sinkhole"ゾーンの作成にし、作成したループバック インターフェイスを"loopback.222"を追加します。
    Screen Shot 2014-01-28 at 12.55.17 AM.png
  2. 現在使用されておらず、管理者に対して分かりやすいIPアドレスをインターフェイスに割り当てます。
  3. 社内でIPv6が使用されている場合、インターフェイスにIPv6アドレスも割り当てます。
    Screen Shot 2014-01-28 at 12.52.53 AM.png
  4. [ Objects ] > [ セキュリティ プロファイル ] > [ アンチ スパイウェア ] を開き、インターネット ユーザーに割り当てられるプロファイルを選択(あるいは作成)します。
  5. DNS シグネチャ タブ内で、DNSクエリ時のアクションとして"シンクホール"を選択します。"ブロック"を選択した場合、有害なドメインに対してのクエリを遮断し、ログにはローカルのDNSのみが"attacker"として表示されます。先ほど作成したシンクホールIPアドレス (222.222.222.222) を選択します。 IPv6のDNSクエリ用には、IPv6のIPアドレスを選択します。
  6. 「パケット キャプチャ」欄で、シグネチャをトリガーにしたパケットだけではなく、より多くのパケットをキャプチャするために、"extended-capture"を選択します。この値は、[ Device ] > [ セットアップ ] > [ コンテンツ ID ] > [ コンテンツ ID 設定 ] で定義されています。
    Screen Shot 2014-01-28 at 12.57.58 AM.png
  7. アンチ スパイウェア プロファイルをセキュリティ ルールに適用し、「セッション終了時にログ」を有効にします。
  8. コミットをクリックして、設定を反映させます。

 

検証

設定の反映が完了した後、トラフィックがキャプチャされることを確認し、有害なコンピューターを特定します。

  1. ファイアウォールの背後にある検証機を使用します。
  2. Confickerドメインの1つに対して、DNSトラフィックを開始します(この検証では"fetyeq.net"を使用します)。
    注:他のConfickerドメインを確認するためには、Palo Alto Networksデバイス上にインストールされているダイナミック アップデートのアンチウィルス リリース ノートを開きます。Palo Alto Networksは、これらのドメインを定期的に更新しており、アンチウィルス シグネチャのリリース ノート内で確認することができます。
  3. [ Device ] > [ ダイナミック更新 ] > [ アンチ ウィルス ] > [ リリース ノート ] を開き、"conficker"を検索すると、約1,000件のドメインを見ることができます。
  4. 脅威ログにて、アクションが"sinkhole"となっているログを確認します。
    Screen Shot 2014-01-28 at 1.16.27 AM.png
  5. 必要に応じて、パケット キャプチャを確認します。
    Screen Shot 2014-01-28 at 1.17.19 AM.png
  6. クエリ ビルダーにて、フィルタとして"( action eq sinkhole)" を使用してカスタム レポートを作成します。毎日実行するために、スケジュール設定にチェックを入れます。
    Screen Shot 2014-01-28 at 1.19.38 AM.png
  7. 翌日、データが収集、表示されていることを確認するために、レポートを確認します。
    Screen Shot 2014-01-28 at 1.21.10 AM.png

上記の手順に従うことで、特定のネットワーク内の有害なコンピューターを追跡したり、隔離することができます。

 

 

著者:ialeksov