(57)【特許請求の範囲】
【請求項１】
プロセッサと、
前記プロセッサとネットワークに結合され、ネットワークトラフィックを収集するネットワークインターフェイス回路と、
前記プロセッサに接続されたメモリと、
を備えた装置であって、前記メモリは命令を記憶し、該命令は、前記プロセッサによって実行されると、
前記ネットワークトラフィックに関連する第２レベルドメインを保存し、
前記第２レベルドメインの一意のサブドメインを含むサブドメインに対する、前記ネットワークトラフィック中の要求を追跡し、
前記ネットワークトラフィック中の符号化されたサブドメインデータであって、前記符号化されたサブドメインデータは、トンネリングサーバに送信された符号化されたサブドメインデータの送信ペイロードである、前記符号化されたサブドメインデータのサイズを測定し、
前記ネットワークトラフィック中のサブドメイン要求に対する応答データのサイズを測定し、
前記第２レベルドメインのサブドメインに対する前記ネットワークトラフィック中の要求数に対する、前記ネットワークトラフィック中の一意のサブドメインの数の比率が第１の閾値を上回っている場合、第１の既成条件が確立されたと見なし、
前記第１の既成条件に応答して、前記ネットワークトラフィック中の符号化されたサブドメインデータの前記サイズが第２の閾値を上回り、前記ネットワークトラフィック中のサブドメイン要求に対する応答データの前記サイズが第３の閾値を上回っている場合、見なしドメイン名システムトンネル行為として指定された第２の既成条件が確立されたと判断し、
前記第１の既成条件に応答して、前記ネットワークトラフィック中の前記サブドメインデータの前記サイズが前記第２の閾値を上回っている場合、見なしドメイン名システムデータ流出行為として指定された第３の既成条件が確立されたと判断し、
サブドメイン応答の数に対する、前記ネットワークトラフィック中のサブドメイン要求の数の比率が約１であることを確認する、
ことを特徴とする装置。
【請求項２】
前記プロセッサによって実行される命令を記憶する前記メモリは、前記ネットワークトラフィック中のサブドメイン要求に対する応答データのサイズが特定の閾値を下回っていることを確認する命令を含む、
請求項１に記載の装置。
【請求項３】
前記プロセッサによって実行される命令を記憶する前記メモリは、対抗措置を適用又は発動する命令を含む、
請求項１に記載の装置。
【請求項４】
前記対抗措置は、ドメインアクセス制限を含む、
請求項３に記載の装置。
【請求項５】
前記対抗措置は、応答ポリシーゾーンを呼び出すことを含む、
請求項３に記載の装置。
【請求項６】
プロセッサと、
前記プロセッサとネットワークに結合され、ネットワークトラフィックを収集するネットワークインターフェイス回路と、
前記プロセッサに接続されたメモリと、
を備えた装置であって、前記メモリは命令を記憶し、該命令は、前記プロセッサによって実行されると、
前記ネットワークトラフィックに関連する第２レベルドメインを保存し、
前記第２レベルドメインの一意のサブドメインを含むサブドメインに対する、前記ネットワークトラフィック中の要求を追跡し、
問い合わせを受けた前記第２レベルドメインの一意のサブドメインに対する一意の応答数を求め、
前記一意の応答に対する応答ペイロードの平均サイズを測定し、
前記第２レベルドメインの一意のサブドメインが問い合わせを受けた回数が第１の閾値を上回り、問い合わせを受けた前記第２レベルドメインの一意のサブドメインに対する一意の応答の数が第２の閾値を上回り、前記一意の応答に対する前記応答ペイロードの平均サイズが第３の閾値を上回っている場合、ドメイン名システムデータ侵入を示す条件が確立されたと判断する、
ことを特徴とする装置。
【請求項７】
前記プロセッサによって実行される命令を記憶する前記メモリは、対抗措置を適用又は発動する命令を含む、
請求項６に記載の装置。
【請求項８】
前記対抗措置は、ドメインアクセス制限を含む、
請求項７に記載の装置。
【請求項９】
前記対抗措置は、応答ポリシーゾーンを呼び出すことを含む、
請求項７に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
〔関連出願との相互参照〕
本出願は、２０１４年１０月７日に出願された米国特許出願第１４／５０８，９８７号の優先権を主張するものであり、この文献の内容は引用により本明細書に組み入れられる。
【０００２】
本発明は、一般にコンピュータネットワークにおけるトラフィック処理に関する。具体的には、本発明は、ドメイン名システムのトンネル、流出（ｅｘｆｉｌｔｒａｔｉｏｎ）及び侵入（ｉｎｆｉｌｔｒａｔｉｏｎ）を識別する技術に関する。
【背景技術】
【０００３】
ドメイン名システム（ＤＮＳ）は、インターネット又はプライベートネットワークに接続された装置のための階層的な分散型ネーミングシステムである。ＤＮＳは、記憶したドメイン名を、ローカル装置に必要な数値的ＩＰアドレスに容易に変換する。例えば、ｗｗｗ．ｅｘａｍｐｌｅ．ｃｏｍというドメイン名は、９３．１８４．２１６．１１９（ＩＰｖ４の場合）、及び２６０６：２８００：２２０：６ｄ：２６ｂｆ：１４４７：１０７９：ａａ７（ＩＰｖ６の場合）というアドレスに変換することができる。
【０００４】
ドメイン名は、ドットによって連結され区切られた、ラベルと呼ばれる１又は２以上の部分を含む。ｗｗｗ．ｅｘａｍｐｌｅ．ｃｏｍというドメインでは、最も右側のラベルが最上位ドメインを表し、この場合は「ｃｏｍ」が最上位ドメインである。階層は、右から左に移行する。左側の各ラベルは、右側のドメインのサブドメインを指定する。同じ例によれば、「ｅｘａｍｐｌｅ」というラベルが「ｃｏｍ」ドメインのサブドメインであり、「ｗｗｗ」が「ｅｘａｍｐｌｅ．ｃｏｍ」のサブドメインである。サブドメインは、最大１２７のレベルを有することができる。
【０００５】
ＤＮＳは、不正目的で使用されることがある。ネットワーク１００について検討する。攻撃装置（機械又はマシン）１０１は、脆弱性攻撃のための指令及び制御センターとして動作する。具体的には、攻撃装置１０１は、ネットワーク１０２を使用して、一連の脆弱性のある装置１０４＿１、１０４＿２〜１０４＿Ｎにアクセスする。装置１０４＿Ｎは、ローカルネットワークインフラ１０６（例えば、インターネットサービスプロバイダ又はＩＳＰ）内に存在する。ネットワーク１０６内には、オープンリゾルバ１０７及びネームサーバ１０８も存在する。ネットワーク１０６は、信頼できるネームサーバであるネームサーバ１１２に結合された別のネットワーク１１０に接続されている。信頼できるネームサーバ１１２は、サポートされているドメインに対する責任がある。信頼できるネームサーバ１１２は、サブドメインに関する権限を、再帰的ネームサーバ１０８などの他のネームサーバに委託することができる。
【０００６】
攻撃装置１０１、及び／又は脆弱性のある装置１０４のうちの１つ又は２つ以上は、ＤＮＳトンネルを形成することができる。すなわち、ＤＮＳプロトコルを使用して、ハイパーテキスト転送プロトコル（ＨＴＴＰ）又はセキュアソケットレイヤ（ＳＳＬ）プロトコルなどの他のプロトコルへのトンネリングを行う。ＤＮＳを用いたファイル転送などの、データ漏洩であるデータ流出にも同じ装置を使用することができる。これらは、有料ＷｉＦｉホットスポットをうまく避け、又は他のネットワーク保護方法を迂回してリソースにアクセスする一般的技術である。ＤＮＳの設計では、結果が未だローカルにキャッシュされていない場合、ＤＮＳリゾルバインフラがインターネット上の信頼できるサーバと交信することによって所与のドメインに関する情報を発見しようと試みる必要があるので、ＤＮＳは、トンネリングを行うのに便利なプロトコルである。このことは、ＤＮＳ要求を、特定のサーバへの接続を生じるキャッシュミスを強制するように細工できることを意味する。
【０００７】
ＤＮＳのトンネリング技術及び流出技術は、一意のサブドメイン及びリソースレコード（ＲＲ）応答を細工することによってこれらのアーキテクチャ構造を利用する。通常、ＤＮＳトンネリングシステムは、送信ペイロードを、信頼できるサーバになり済ましたトンネリングサーバに送られる（例えば、ベース３２）符号化されたサブドメインとして符号化する。通常、サーバからの応答は、ＲＲに（例えば、ベース３２）符号化される。通常は、ＴＸＴレコード又はＣＮＡＭＥレコードを用いてペイロードがクライアントに戻され、このペイロードにセッションデータが詰め込まれる。他のレコードが利用されることもある。この機能を容易にする、ＤＮＳトンネリングに利用可能なクライアント／サーバシステムは数多く存在する。
【０００８】
同様に、データ流出では、符号化されたサブドメインにペイロードを詰め込む。トンネリングとは対照的に、通常、応答は非常に小さく、セッション又は受信通知を維持するために使用される。ＤＮＳは、ユーザデータグラムプロトコル（ＵＤＰ）を使用しているため損失を伴うことがあり、通常、応答は、最後のデータパケットを正常に受け取ったことを示す。
【０００９】
データ侵入も同様の技術を用いて行うことができ、この場合、ペイロードがＲＲ応答内で符号化され、サブドメインでの応答はセッションデータにすぎない。
【発明の概要】
【発明が解決しようとする課題】
【００１０】
このため、ＤＮＳトンネリング、流出及び侵入を識別する技術を確立することが望ましいと思われる。
【課題を解決するための手段】
【００１１】
装置が、プロセッサと、プロセッサに接続されたメモリとを含む。メモリは命令を記憶し、この命令は、プロセッサによって実行されると、第２レベルドメインを保存し、第２レベルドメインのサブドメインに対する要求を追跡し、符号化されたサブドメインデータのサイズを決定し、サブドメイン要求のための応答データのサイズを決定する。サブドメイン要求の数に対する一意のサブドメインの数の比率が第１の閾値を上回っている場合、第１の既成条件が確立される。第１の既成条件に応答して、サブドメインデータのサイズが第２の閾値を上回り、応答データのサイズが第３の閾値を上回っている場合、見なしドメイン名システムトンネル行為に対応する第２の既成条件が確立されたと判断する。第１の既成条件に応答して、サブドメインデータのサイズが第２の閾値を上回っている場合、見なしドメイン名システムデータ流出行為に対応する第３の既成条件が確立されたと判断する。
【００１２】
本発明は、以下の詳細な説明を添付図面と併せて読むことによってさらに完全に理解される。
【図面の簡単な説明】
【００１３】
【図１】ＤＮＳトンネリング、流出及び侵入攻撃を受けやすい先行技術のネットワークを示す図である。
【図２】本発明の実施形態に従って構成された装置を示す図である。
【図３】ＤＮＳトンネリング及び流出を識別する処理動作を示す図である。
【図４】ＤＮＳ侵入を識別する処理動作を示す図である。
【発明を実施するための形態】
【００１４】
図面の複数のビュー全体を通じて、同じ参照符号は対応する要素を示す。
【００１５】
図２に、本発明の実施形態に従って構成された装置２００を示す。装置２００は、バス２１４を介して入力／出力装置２１２に接続された中央処理装置２１０などの標準的な構成要素を含む。入力／出力装置２１２は、キーボード、マウス及びタッチ式ディスプレイなどを含むことができる。バス２１４には、ネットワークインターフェイス回路２１６も接続される。ネットワークインターフェイス回路２１６は、有線ネットワークと無線ネットワークのあらゆる組み合わせとすることができるネットワークへの接続性を提供する。バス２１４には、メモリ２２０も接続される。メモリ２２０は、本発明の動作を実行するための、中央処理装置２１０によって実行される命令を記憶する。１つの実施形態では、メモリ２２０が、ＤＮＳトンネル行為を識別する命令を含むＤＮＳトンネル識別子２２２を記憶する。メモリ２２０は、ＤＮＳデータ流出行為を識別する命令を含むＤＮＳデータ流出モジュール２２４を記憶することもできる。メモリ２２０は、ＤＮＳデータ侵入行為を識別する命令を含むＤＮＳデータ侵入識別子２２６も記憶する。最後に、メモリ２２８は、識別された不正行為に応答して１又は２以上の対抗措置を行う命令を含む対抗措置モジュール２２８を記憶する。装置２００は、特定の行為の識別に専念することができる。或いは、モジュール２２２、２２４、２２６及び／又は２２８を再帰的ネームサーバ又はその他のネットワーク接続リソースに組み込むこともできる。
【００１６】
図３に、ＤＮＳトンネル識別子２２２及びＤＮＳデータ流出識別子２２４の実施形態に関連する処理動作を示す。最初にＤＮＳ要求を受け取り、第２レベルドメイン（ＳＬＤ）を保存する（３００）。例えば、「ｅｘａｍｐｌｅ．ｃｏｍ」というＳＬＤを保存することができる。このＳＬＤの評判エントリを記録することもできる。ａｂｃｄｅｆｇ．ｅｘａｍｐｌｅ．ｃｏｍというドメイン例について検討する。ＳＬＤは、ｅｘａｍｐｌｅ．ｃｏｍである。先頭に追加されたａｂｃｄｅｆｇというサブドメインを濃度集合と比較する。この値が既に濃度集合内に存在する場合、濃度集合は変更されない。存在しない場合、このサブドメインを濃度集合に追加する。濃度集合についてのあらゆる問い合わせは、集合内の一意のエントリの数を表す値を戻す。
【００１７】
次に、ＳＬＤの一意のサブドメイン要求の数を追跡する（３０２）。この動作では、スライディング時間ウィンドウを使用することができる。一意のサブドメインの例としては、ａｂｓｃｄｅｆｇ．ｅｘａｍｐｌｅ．ｃｏｍ及びｈｉｊｋｌｍｎ．ｅｘａｍｐｌｅ．ｃｏｍが挙げられる。
【００１８】
次に、符号化されたサブドメインデータのサイズを測定する（３０４）。次に、各一意のサブドメイン要求の応答データのサイズを測定する（３０６）。次に、比率を閾値と比較する（３０８）。具体的には、要求数に対する一意のサブドメインの数の比率を、０．６５又は約０．６５の値の第１の閾値と比較する。閾値を上回っていない場合（３０８−「いいえ」）、制御はブロック３０２に戻る。閾値を上回っている場合（３０８−「はい」）、サブドメインデータのサイズを第２の閾値と比較し、応答データのサイズを第３の閾値と比較する。一例として、第２の閾値は５０〜１２０とすることができ、６２又は約６２に設定することができる。一例として、第３の閾値は１００〜５００とすることができ、１１２又は約１１２に設定することができる。
【００１９】
第２及び第３の閾値を上回っている場合（３１０−「はい」）、この行為はＤＮＳトンネルと見なされる（３１２）。ブロック３１０において検証した両方の値が満たされていない場合（３１０−「いいえ」）、再びサブドメインデータのサイズを第２の閾値と比較すれる。サブドメインデータのサイズが第２の閾値を上回っている場合（３１４−「はい」）、この行為はＤＮＳデータ流出と見なされる（３１６）。そうでなければ（３１４−「いいえ」）、制御はブロック３０２に戻る。流出の識別では、応答に対する要求の比率のチェックを必要とすることもでき、この比率は１に近いはずである。応答データの量が一定の閾値を下回っていることを確認するチェックを行うこともできる。図３の処理は、最小パケットサイズ比率のチェックを含むこともできる。例えば、５０バイトを上回る要求の数が６５％よりも多く、１００バイトを上回る応答の数が５０％よりも多い場合には、ＤＮＳトンネルが存在する。流出の場合には、最小応答パケットサイズの閾値が無視される。
【００２０】
見なしＤＮＳトンネル又は見なしＤＮＳデータ流出の場合には、対抗措置を適用することができる（３１８）。対抗措置モジュール２２８を使用して、対抗措置を適用又は発動することができる。例えば、応答ポリシーゾーン（ＲＰＺ）は、ＤＮＳ再帰的リゾルバにおいてドメイン名情報ゾーンのカスタマイズ処理を可能にするために使用される機構である。悪意のあるドメインが報告され始めた時にこれらのドメインからの保護に役立つように、ＤＮＳ  ＲＰＺフィードを用いた商用サービスが利用可能である。対抗措置は、ＤＮＳトンネリング、流出又は侵入に関連する既知の不正ドメインをブロックすることを含むことができる。
【００２１】
図３の処理は、問い合わせのＳＬＤ及び送信元ＩＰアドレスに関連して実行することができる。送信元ＩＰアドレスは、わずかに低い閾値を使用することができる。ドメインを問い合わせる送信元ＩＰアドレスの濃度を追跡することができる。要求数を一意のＩＰアドレスの数で除算することができる。これにより、一意のＩＰアドレス当たりの要求数が得られ、この数は、ブロック３０８、３１０及び３１４の動作の実行前に閾値を上回らなければならない。
【００２２】
流出行為の識別の変形例を使用することもできる。例えば、総応答量が総要求量未満でなければならないという条件を指定することができる。流出と見なされるドメイン／ＩＰの要求量／応答量の閾値は、トンネリングに使用される閾値とは異なることができる。要求数に対する一意のサブドメインの数の比率の閾値は、さらに高くすることもできる。
【００２３】
トンネリング検出のためのさらなる改善は、さらに粒度の高い閾値が適用されるように、（リソースレコードが要求されている）特定の要求タイプを追跡することを含むことができる。Ａレコードについての問い合わせは、はるかに大きなペイロード限界を有するＣＮＡＭＥ、ＴＸＴ、又はＡＮＹ要求に比べてＲＲのデータ空間が制限されるという理由で異なる閾値を有することができる。
【００２４】
図４に、ＤＮＳデータ侵入識別子２２６の実施形態によって行われる処理動作を示す。最初の動作４００及び４０２は、図３に関連して説明した動作３００及び３０２に対応する。次に、いくつかの値を収集する。具体的には、一意のサブドメインが問い合わせを受けた回数を求め（４０４）、一意の応答の数を求め（４０６）、応答ペイロードの平均サイズを求める（４０８）。収集された値を特定の閾値と比較する。一例として、一意のサブドメインが問い合わせを受ける閾値は、０〜１とすることができ、０．２５又は約０．２５に設定することができる。一意の応答の閾値は、０．５〜１．０とすることができ、０．６５又は約０．６５に設定することができる。平均サイズの応答ペイロードの閾値は、５０〜１１２とすることができ、６２又は約６２に設定することができる。各閾値を上回っている場合（４１０−「はい」）、トラフィックはＤＮＳデータ侵入と見なされる。そうでなければ（４１０−「いいえ」）、制御はブロック４０２に戻る。このトラフィックには、対抗措置を適用することができる（４１４）。
【００２５】
本発明の実施形態は、様々なコンピュータ実装動作を実行するためのコンピュータコードを有する非一時的コンピュータ可読記憶媒体を含むコンピュータストレージ製品に関する。これらの媒体及びコンピュータコードは、本発明のために特別に設計され構築されたものとすることも、或いはコンピュータソフトウェア技術の当業者に周知の利用可能な種類のものとすることもできる。コンピュータ可読媒体の例としては、以下に限定されるわけではないが、磁気媒体、光学媒体、磁気光学媒体、並びに特定用途向け集積回路（「ＡＳＩＣ」）、プログラマブル論理装置（「ＰＬＤ」）、ＲＯＭデバイス及びＲＡＭデバイスなどの、プログラムコードを記憶して実行するように特別に構成されたハードウェア装置が挙げられる。コンピュータコードの例としては、コンパイラなどによって生成されたマシンコード、及びコンピュータがインタープリタを用いて実行する高水準コードを含むファイルが挙げられる。例えば、本発明の実施形態は、ＪＡＶＡ（登録商標）、Ｃ＋＋、又はその他のオブジェクト指向プログラミング言語及び開発ツールを用いて実装することができる。本発明の別の実施形態は、マシン実行可能ソフトウェア命令の代わりに、又はマシン実行可能ソフトウェア命令と組み合わせて、ハードワイヤード回路で実装することもできる。
【００２６】
上述の説明では、本発明を完全に理解できるように説明目的で特定の専門用語を使用している。しかしながら、当業者には、本発明を実施するために特定の詳細は不要であることが明らかであろう。従って、上述した本発明の特定の実施形態についての説明は、例示及び説明を目的として示したものである。これらの説明は、完全なものでも、或いは開示した厳密な形態に本発明を限定するものではなく、上記の教示に照らして多くの修正及び変形が可能である。これらの実施形態は、本発明の原理及びその実際の応用を最良に説明することにより、他の当業者が本発明及び様々な実施形態を考えられる特定の使用に適した形で様々に修正して最良に利用できるように選択して説明したものである。本発明の範囲は、以下の特許請求の範囲及びその同等物によって定められるように意図される。
【符号の説明】
【００２７】
３００  ＳＬＤを保存
３０２  ＳＬＤのサブドメイン要求を追跡
３０４  符号化されたサブドメインデータのサイズを測定
３０６  サブドメイン要求の応答データのサイズを測定
３０８  比率が閾値を上回るか？
３１０  値が閾値を上回るか？
３１２  ＤＮＳトンネルと見なす
３１４  値が閾値を上回るか？
３１６  ＤＮＳデータ流出と見なす
３１８  対抗措置を適用
【図１】
0006651511.tif 000002
【図２】
0006651511.tif 000003
【図３】
0006651511.tif 000004
【図４】
0006651511.tif 000005