(57)【特許請求の範囲】
【請求項１】
プロセッサと、
前記プロセッサに接続されたメモリと、
を備えた装置であって、前記メモリは命令を記憶し、該命令は、前記プロセッサによって実行されると、問い合わせを受けた一意のサブドメインの数の急増、及び特定のネームサーバからの失敗した応答回数の急増に応答してドメイン名システムリソース枯渇攻撃を識別し、
前記プロセッサによって実行される命令を記憶する前記メモリは、
第２レベルドメインを保存し、
前記第２レベルドメインのサブドメインに対する要求を追跡し、
応答統計情報を収集し、
前記第２レベルドメインのサブドメインに対する要求の回数に対する前記一意のサブドメインの数の比率であるサブドメイン比を計算し、
失敗した要求比率を計算し、
前記サブドメイン比が第１の閾値を上回るとともに、前記失敗した要求比率が第２の閾値を上回った場合に前記リソース枯渇攻撃を識別する、
命令を含む、
ことを特徴とする装置。
【請求項２】
前記プロセッサによって実行される命令を記憶する前記メモリは、対抗措置を適用又は発動する命令を含む、
請求項１に記載の装置。
【請求項３】
前記対抗措置は、ドメインアクセス制限を含む、
請求項２に記載の装置。
【請求項４】
前記対抗措置は、検索要求に対するドメイン毎の速度制限を含む、
請求項２に記載の装置。
【請求項５】
前記対抗措置は、応答ポリシーゾーンを呼び出すことを含む、
請求項２に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
〔関連出願との相互参照〕
本出願は、２０１４年１０月７日に出願された米国特許出願第１４／５０８，９５３号の優先権を主張するものであり、この文献の内容は引用により本明細書に組み入れられる。
【０００２】
本発明は、一般にコンピュータネットワークにおけるトラフィック処理に関する。具体的には、本発明は、ドメイン名システムのリソース枯渇攻撃を識別する技術に関する。
【背景技術】
【０００３】
ドメイン名システム（ＤＮＳ）は、インターネット又はプライベートネットワークに接続された装置のための階層的な分散型ネーミングシステムである。ＤＮＳは、記憶したドメイン名を、ローカル装置に必要な数値的ＩＰアドレスに容易に変換する。例えば、ｗｗｗ．ｅｘａｍｐｌｅ．ｃｏｍというドメイン名は、９３．１８４．２１６．１１９（ＩＰｖ４の場合）、及び２６０６：２８００：２２０：６ｄ：２６ｂｆ：１４４７：１０７９：ａａ７（ＩＰｖ６の場合）というアドレスに変換することができる。
【０００４】
ドメイン名は、ドットによって連結され区切られた、ラベルと呼ばれる１又は２以上の部分を含む。ｗｗｗ．ｅｘａｍｐｌｅ．ｃｏｍというドメインでは、最も右側のラベルが最上位ドメインを表し、この場合は「ｃｏｍ」が最上位ドメインである。階層は、右から左に移行する。左側の各ラベルは、右側のドメインのサブドメインを指定する。同じ例によれば、「ｅｘａｍｐｌｅ」というラベルが「ｃｏｍ」ドメインのサブドメインであり、「ｗｗｗ」が「ｅｘａｍｐｌｅ．ｃｏｍ」のサブドメインである。サブドメインは、最大１２７のレベルを有することができる。
【０００５】
ＤＮＳは、不正目的で使用されることがある。ネットワーク１００について検討する。攻撃装置（機械又はマシン）１０１は、組織的攻撃のための指令及び制御センターとして動作する。具体的には、攻撃装置１０１は、ネットワーク１０２を使用して、一連の脆弱性のある装置１０４＿１、１０４＿２〜１０４＿Ｎにアクセスする。装置１０４＿Ｎは、ローカルネットワークインフラ１０６（例えば、インターネットサービスプロバイダ又はＩＳＰ）内に存在する。ネットワーク１０６内には、オープンリゾルバ１０７及びネームサーバ１０８も存在する。ネットワーク１０６は、信頼できるネームサーバであるネームサーバ１１２に結合された別のネットワーク１１０に接続されている。信頼できるネームサーバ１１２は、サポートされているドメインに対する責任がある。信頼できるネームサーバ１１２は、サブドメインに関する権限を、再帰的ネームサーバ１０８などの他のネームサーバに委託することができる。オープンリゾルバ１０７を用いてサブドメインをサポートすることもできる。
【０００６】
脆弱性のある装置１０４は、攻撃装置１０１がネットワーク１０６の再帰的ネームサーバ１０８に大量の要求をまとめて送り続けるボットネットを形成する。また、攻撃者は、オープンリゾルバ１０７を通じて大量の要求を送り続けることもある。各要求は、以前に登録されたドメインの一意のランダムな存在しないサブドメイン（例えば、ｋｂｓｒｕｘｉｘｑｆ．ｗｗｗ．ｅｘａｍｐｌｅｓ．ｃｏｍ、ａｄｕｊｑｚｕｔａｈｙｐ．ｗｗｗ．ｅｘａｍｐｌｅｓ．ｃｏｍ）を含む。各要求は、サブドメインの一意性に起因して、このドメインのネームサーバに対する再帰的検索を引き起こす。攻撃の回数が増加するにつれ、標的のＤＮＳリゾルバインフラにヒットする要求量も増加する。最終的に、標的のＤＮＳリゾルバインフラは、システムリソースの枯渇、ネットワークの飽和、又はこれらの両方からの負荷に屈してしまう。
【０００７】
ＤＮＳインフラ悪用の主な原因は、ＩＳＰのネットワーク（例えば、１０６）内に存在するオープンリゾルバ（例えば、１０７）にある。通常、オープンリゾルバは、ローカルネットワーク外部からのアクセスを可能にするように誤って構成された、家庭用ネットワークに使用される市販装置である。これらの装置は個別に管理されており、従って既知の脆弱性を有する旧式のファームウェアを実行していることが多い。ＩＳＰによるこれらの装置の制御は、たとえ行われたとしても制限されており、合法的なトラフィックを悪意のあるトラフィックと区別する方法がないため、ＩＳＰがこの問題に対処するのは困難である。
【０００８】
他の主な悪用の原因は、脆弱性のある装置１０４にある。脆弱性のある装置を修正するにはコストがかかり、ＩＳＰは、自社の顧客を混乱させることを恐れて大掛かりな措置を講じるのをためらっている。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
このため、ＤＮＳのリソース枯渇攻撃を識別する技術を確立することが望ましいと思われる。
【課題を解決するための手段】
【００１０】
装置が、プロセッサと、プロセッサに接続されたメモリとを含む。メモリは命令を記憶し、この命令は、プロセッサによって実行されると、一意のサブドメインが問い合わせを受けた回数の急増、及び特定のネームサーバからのタイムアウト回数又は応答遅延回数の急増に応答してリソース攻撃を識別する。
【００１１】
本発明は、以下の詳細な説明を添付図面と併せて読むことによってさらに完全に理解される。
【図面の簡単な説明】
【００１２】
【図１】ＤＮＳリソース枯渇攻撃を受けやすい先行技術のネットワークを示す図である。
【図２】本発明の実施形態に従って構成された装置を示す図である。
【図３】本発明の実施形態に関連する処理動作を示す図である。
【発明を実施するための形態】
【００１３】
図面の複数のビュー全体を通じて、同じ参照符号は対応する要素を示す。
【００１４】
本発明は、一意のサブドメインが問い合わせを受けた回数の急増、及び所与のネームサーバからのタイムアウト回数又は応答遅延回数の急増などの異常挙動を識別する。この結果、異常挙動に応答して対抗措置を講じることができる。
【００１５】
図２に、本発明の実施形態に従って構成された装置２００を示す。装置２００は、バス２１４を介して入力／出力装置２１２に接続された中央処理装置２１０などの標準的な構成要素を含む。入力／出力装置２１２は、キーボード、マウス及びタッチ式ディスプレイなどを含むことができる。バス２１４には、ネットワークインターフェイス回路２１６も接続される。ネットワークインターフェイス回路２１６は、有線ネットワークと無線ネットワークのあらゆる組み合わせとすることができるネットワークへの接続性を提供する。バス２１４には、メモリ２２０も接続される。メモリ２２０は、本発明の動作を実行するための、中央処理装置２１０によって実行される命令を記憶する。１つの実施形態では、メモリ２２０が、図１に関連して説明したタイプのＤＮＳリソース枯渇攻撃を識別する命令を含むリソース枯渇識別子２２２を記憶する。メモリ２２０は、識別されたリソース枯渇攻撃に対応する命令を含む対抗措置モジュール２２４を記憶することもできる。装置２００は、ＤＮＳリソース枯渇攻撃の識別に専念することができる。或いは、モジュール２２２及び／又はモジュール２２４を再帰的ネームサーバ又はその他のネットワークリソースに組み込むこともできる。
【００１６】
図３に、リソース枯渇識別子２２２の実施形態に関連する処理動作を示す。最初にＤＮＳ要求を受け取り、第２レベルドメイン（ＳＬＤ）を保存する（３００）。例えば、「ｅｘａｍｐｌｅ．ｃｏｍ」というＳＬＤを保存することができる。このＳＬＤの評判エントリを記録することもできる。ａｂｃｄｅｆｇ．ｅｘａｍｐｌｅ．ｃｏｍというドメイン例について検討する。ＳＬＤは、ｅｘａｍｐｌｅ．ｃｏｍである。先頭に追加されたａｂｃｄｅｆｇというサブドメインを濃度集合と比較する。この値が既に濃度集合内に存在する場合、濃度集合は変更されない。存在しない場合、このサブドメインを濃度集合に追加する。濃度集合についてのあらゆる問い合わせは、集合内の一意のエントリの数を表す値を戻す。
【００１７】
次に、ＳＬＤの一意のサブドメイン要求の数を追跡する（３０２）。この動作では、スライディング時間ウィンドウを使用することができる。一意のサブドメインの例としては、ａｂｓｃｄｅｆｇ．ｅｘａｍｐｌｅ．ｃｏｍ及びｈｉｊｋｌｍｎ．ｅｘａｍｐｌｅ．ｃｏｍが挙げられる。
【００１８】
次に、応答統計を収集する（３０４）。例えば、成功した応答回数と失敗した応答（タイムアウト又はエラー）回数とを対比させてカウントすることができる。次に、サブドメイン比を計算する（３０６）。サブドメイン比は、ＳＬＤの要求回数に対する一意のサブドメインの数の比率とすることができる。一意のサブドメインの数は、それまでに参照した濃度集合から取得することができる。
【００１９】
次に、失敗した要求の比率を計算する（３０８）。この値は、総要求回数に対する失敗した要求の比率を表す。次に、この比率を閾値と比較する。この比率が閾値を上回る場合（３１０−「はい」）には、リソース枯渇攻撃が存在し、従ってリソース枯渇対抗措置を適用する（３１２）。対抗措置モジュール２２４は、この措置を適用又は発動することができ、この例については後述する。
【００２０】
様々な閾値を使用することができる。サブドメイン比の閾値については、典型的なサブドメイン比を０．１又は約０．１とすることができる。このことは、ｅｘａｍｐｌｅ．ｃｏｍに対して行われた全ての要求のうち、新たなサブドメインについての問い合わせは１０個中１個のみであったことを意味する。ＤＮＳリゾルバインフラは、最初の問い合わせ後に応答をキャッシュするので、このことは重要である。従って、同じサブドメインに対するその後の問い合わせではキャッシュからしか応答を得られず、インターネットには送られない。一意のサブドメインは、キャッシュミスが発生し、信頼できるＤＮＳサーバに要求が送られることを意味する。キャッシュにヒットした場合には、帯域幅が飽和しない限りリソース枯渇は引き起こされないので、このことは攻撃にとって重要である。攻撃では、一意のサブドメインのサブドメイン比が０．７又は約０．７になり得る。従って、閾値を０．７又は約０．７に設定することができる。
【００２１】
失敗した要求比率閾値では、攻撃の一部において、問い合わせを受けているサブドメイン（ＤＮＳレコード）が存在しなかったり、或いはＤＮＳサーバの応答が非常に遅くなる（例えば、１０秒）ように細工されていたりする。再帰的リゾルバは、決して応答が得られない膨大な数の未解決な要求を構築し、従って新たな要求を生成する機会がなくなってしまう。従って、失敗の比率は、攻撃の性質に基づく重要な評価基準である。０．６又は約０．６の閾値が攻撃に関連する。閾値及び比率は、０〜１の間で正規化することができる。
【００２２】
上述したように、対抗措置モジュール２２４を使用して、対抗措置を適用又は発動することができる。例えば、応答ポリシーゾーン（ＲＰＺ）は、ＤＮＳ再帰的リゾルバにおいてドメイン名情報ゾーンのカスタマイズ処理を可能にするために使用される機構である。
【００２３】
悪意のあるドメインが報告され始めた時にこれらのドメインからの保護に役立つように、ＤＮＳ  ＲＰＺフィードを用いた商用サービスが利用可能である。このようなサービスは、攻撃が発生するとリアルタイムで対抗措置を適用する。対抗措置は、ネットワーク内のクライアントからのＤＮＳ問い合わせ要求に、ドメイン毎又はＩＰ毎の速度制限、又はカスタム応答を適用することを含むことができる。攻撃を受けたドメインへの要求がＤＮＳリゾルバインフラに到達するのを有限期間にわたってブロックする時間ウィンドウを使用することもできる。
【００２４】
本発明の実施形態は、様々なコンピュータ実装動作を実行するためのコンピュータコードを有する非一時的コンピュータ可読記憶媒体を含むコンピュータストレージ製品に関する。これらの媒体及びコンピュータコードは、本発明のために特別に設計され構築されたものとすることも、或いはコンピュータソフトウェア技術の当業者に周知の利用可能な種類のものとすることもできる。コンピュータ可読媒体の例としては、以下に限定されるわけではないが、磁気媒体、光学媒体、磁気光学媒体、並びに特定用途向け集積回路（「ＡＳＩＣ」）、プログラマブル論理装置（「ＰＬＤ」）、ＲＯＭデバイス及びＲＡＭデバイスなどの、プログラムコードを記憶して実行するように特別に構成されたハードウェア装置が挙げられる。コンピュータコードの例としては、コンパイラなどによって生成されたマシンコード、及びコンピュータがインタープリタを用いて実行する高水準コードを含むファイルが挙げられる。例えば、本発明の実施形態は、ＪＡＶＡ（登録商標）、Ｃ＋＋、又はその他のオブジェクト指向プログラミング言語及び開発ツールを用いて実装することができる。本発明の別の実施形態は、マシン実行可能ソフトウェア命令の代わりに、又はマシン実行可能ソフトウェア命令と組み合わせて、ハードワイヤード回路で実装することもできる。
【００２５】
上述の説明では、本発明を完全に理解できるように説明目的で特定の専門用語を使用している。しかしながら、当業者には、本発明を実施するために特定の詳細は不要であることが明らかであろう。従って、上述した本発明の特定の実施形態についての説明は、例示及び説明を目的として示したものである。これらの説明は、完全なものでも、或いは開示した厳密な形態に本発明を限定するものではなく、上記の教示に照らして多くの修正及び変形が可能である。これらの実施形態は、本発明の原理及びその実際の応用を最良に説明することにより、他の当業者が本発明及び様々な実施形態を考えられる特定の使用に適した形で様々に修正して最良に利用できるように選択して説明したものである。本発明の範囲は、以下の特許請求の範囲及びその同等物によって定められるように意図される。
【符号の説明】
【００２６】
３００  ＳＬＤを保存
３０２  ＳＬＤのサブドメイン要求を追跡
３０４  応答統計を収集
３０６  サブドメイン比を計算
３０８  失敗した要求の比率を計算
３１０  比率が閾値を上回るか？
３１２  リソース枯渇対抗措置を適用
【図１】
0006483819.tif 000002
【図２】
0006483819.tif 000003
【図３】
0006483819.tif 000004