(57)【要約】【課題】効率よく攻撃を遮断する。【解決手段】遮断システムは、ネットワークの流入口に設置されるとともに、特定のトリガ情報に基づいて攻撃通信を遮断するための遮断プログラムが搭載されたＳＧＷ１０と、攻撃通信を疎通させていると判断されるＳＧＷ１０に対して、攻撃対象サーバ２００への攻撃通信を遮断するためのトリガ情報のみをＵＤＰによって伝達する遮断サーバ２０とを備える。そして、トリガ情報を伝達されたＳＧＷ１０が遮断プログラムを実行することによって攻撃対象サーバ２００への攻撃通信を遮断する。【選択図】図４
2014236461.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークの流入口に設置されるとともに、特定のトリガ情報に基づいて攻撃通信を遮断するための遮断プログラムが搭載されたＳＧＷと、
攻撃通信を疎通させていると判断されるＳＧＷに対して、攻撃対象サーバへの攻撃通信を遮断するためのトリガ情報のみをＵＤＰによって伝達する遮断サーバとを備え、
前記トリガ情報を伝達されたＳＧＷが前記遮断プログラムを実行することによって前記攻撃対象サーバへの攻撃通信を遮断することを特徴とする遮断システム。
【請求項２】
複数のＳＧＷから収集した通信ログを解析することによって、攻撃通信を疎通させているＳＧＷを判断する通信ログ解析部と、
前記通信ログ解析部の解析結果に基づいて、攻撃対象サーバへの攻撃通信を遮断するためのトリガ情報のみをＵＤＰによって伝達する配信処理部と
を備えることを特徴とする遮断サーバ。
【請求項３】
前記通信ログ解析部は、攻撃通信を疎通させているＳＧＷをトラヒックの変化に基づいて判断することを特徴とする請求項２記載の遮断サーバ。
【請求項４】
前記通信ログ解析部は、攻撃通信を疎通させるおそれのあるＳＧＷを、攻撃通信を疎通させているＳＧＷとして判断することを特徴とする請求項２又は３記載の遮断サーバ。
【請求項５】
攻撃対象サーバへの攻撃通信を遮断するための遮断方法であって、
複数のＳＧＷから収集した通信ログを解析することによって、攻撃通信を疎通させているＳＧＷを判断する通信ログ解析ステップと、
前記通信ログ解析ステップにおける解析結果に基づいて、攻撃対象サーバへの攻撃通信を遮断するためのトリガ情報のみをＵＤＰによって伝達する配信処理ステップと
を遮断サーバが実行することを特徴とする遮断方法。
【請求項６】
攻撃対象サーバへの攻撃通信を遮断するためのプログラムであって、
複数のＳＧＷから収集した通信ログを解析することによって、攻撃通信を疎通させているＳＧＷを判断する通信ログ解析ステップと、
前記通信ログ解析ステップにおける解析結果に基づいて、攻撃対象サーバへの攻撃通信を遮断するためのトリガ情報のみをＵＤＰによって伝達する配信処理ステップと
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、遮断システム、遮断サーバ、遮断方法、およびプログラムに関し、特に、ＤＤｏＳ攻撃を遮断する技術に関する。
【背景技術】
【０００２】
従来、Ｄｏｓ攻撃やＤＤｏＳ攻撃に対して何通りかの対策方法が知られている。ＤｏＳ攻撃であれば、攻撃元が特定されるため、攻撃元のサーバの接続を拒否するのが一般的である。一方、ＤＤｏＳ攻撃であれば、攻撃元が不特定多数であることから、攻撃対象のサーバでの接続拒否を効率的に実施する工夫によりサーバのダウンを防ぐ方法がとられていた（例えば、非特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】インターネット〈ＵＲＬ：http://www.atmarkit.co.jp/flinux/rensai/iptables207/iptables207a.html〉
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、非特許文献１のように、攻撃対象のサーバでの接続拒否を実施すると、正しい接続も含めて全体の接続数が制限される。すなわち、正しい接続のユーザについても接続ができない場合があるという課題があった。
【０００５】
本発明は、上述した従来の技術に鑑み、効率よく攻撃を遮断することができる遮断システム、遮断サーバ、遮断方法、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、第１の態様に係る発明は、遮断システムであって、ネットワークの流入口に設置されるとともに、特定のトリガ情報に基づいて攻撃通信を遮断するための遮断プログラムが搭載されたＳＧＷと、攻撃通信を疎通させていると判断されるＳＧＷに対して、攻撃対象サーバへの攻撃通信を遮断するためのトリガ情報のみをＵＤＰによって伝達する遮断サーバとを備える。そして、前記トリガ情報を伝達されたＳＧＷが前記遮断プログラムを実行することによって前記攻撃対象サーバへの攻撃通信を遮断することを要旨とする。
【０００７】
また、上記目的を達成するため、第２の態様に係る発明は、遮断サーバであって、複数のＳＧＷから収集した通信ログを解析することによって、攻撃通信を疎通させているＳＧＷを判断する通信ログ解析部と、前記通信ログ解析部の解析結果に基づいて、攻撃対象サーバへの攻撃通信を遮断するためのトリガ情報のみをＵＤＰによって伝達する配信処理部とを備えることを要旨とする。
【０００８】
また、第３の態様に係る発明は、第２の態様に係る発明において、前記通信ログ解析部は、攻撃通信を疎通させているＳＧＷをトラヒックの変化に基づいて判断することを要旨とする。
【０００９】
また、第４の態様に係る発明は、第２又は第３の態様に係る発明において、前記通信ログ解析部は、攻撃通信を疎通させるおそれのあるＳＧＷを、攻撃通信を疎通させているＳＧＷとして判断することを要旨とする。
【００１０】
また、上記目的を達成するため、第５の態様に係る発明は、攻撃対象サーバへの攻撃通信を遮断するための遮断方法であって、複数のＳＧＷから収集した通信ログを解析することによって、攻撃通信を疎通させているＳＧＷを判断する通信ログ解析ステップと、前記通信ログ解析ステップにおける解析結果に基づいて、攻撃対象サーバへの攻撃通信を遮断するためのトリガ情報のみをＵＤＰによって伝達する配信処理ステップとを遮断サーバが実行することを要旨とする。
【００１１】
また、上記目的を達成するため、第６の態様に係る発明は、攻撃対象サーバへの攻撃通信を遮断するためのプログラムであって、複数のＳＧＷから収集した通信ログを解析することによって、攻撃通信を疎通させているＳＧＷを判断する通信ログ解析ステップと、前記通信ログ解析ステップにおける解析結果に基づいて、攻撃対象サーバへの攻撃通信を遮断するためのトリガ情報のみをＵＤＰによって伝達する配信処理ステップとをコンピュータに実行させることを要旨とする。
【発明の効果】
【００１２】
本発明によれば、効率よく攻撃を遮断することができる遮断システム、遮断サーバ、遮断方法、およびプログラムを提供することができる。
【図面の簡単な説明】
【００１３】
【図１】一般的な遮断システムの概要を説明するための図である。
【図２】本発明の実施の形態における遮断システムの概要を説明するための図である。
【図３】本発明の実施の形態における遮断サーバおよびＳＧＷの動作を示すフローチャートである。
【図４】本発明の実施の形態における遮断サーバおよびＳＧＷの構成図である。
【図５】本発明の実施の形態における判断ルールの走査パターンの一例を示す図である。
【図６】本発明の実施の形態における遮断処理の一例を示す図である。
【図７】本発明の実施の形態における遮断サーバの受信パケット数の推移の一例を示すグラフである。
【図８】図７に示されるパケット受信中の遮断サーバの動作を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
【００１５】
（一般的な遮断システム）
図１は、一般的な遮断システムの概要を説明するための図である。この図に示すように、特定可能な攻撃元からの大量接続であるＤｏＳ攻撃、最近では、悪意あるプログラムに感染し乗っ取られた複数のクライントＰＣから大量接続するＤＤｏＳ攻撃など、攻撃対象となるサーバ２００への攻撃方法が多様化している。ＤＤｏＳ攻撃の攻撃側となるクライアント１０１は、意図せず悪意あるプログラムに感染し、悪意あるハンドラー１００の指示によって攻撃対象となるサーバ２００を攻撃することになる。感染は、悪意あるものが用意したプログラムを実行すること、そのサーバに誘導されて接続されること、直接的な侵入、感染者からの伝搬など多様である。以降、ＤＤｏＳ攻撃の攻撃側となるきっかけを悪意あるハンドラー１００による攻撃の予兆として記述する。
【００１６】
従来、ＤｏＳ攻撃に対しては攻撃元が特定できるので、特定の攻撃元からの通信をサーバ２００側で接続拒否するのが通例であった。一方、ＤＤｏＳ攻撃に対しては、攻撃対象のサーバ２００においてＣＰＵ使用率の上昇やパケット廃棄率の上昇などサーバダウンにつながる要因を検知して、攻撃対象のサーバ２００側で接続拒否を行うのが通例であった。ロードバランサ設置による負荷分散、ファイアウォールの設置、専用装置を設置することによりサーバ２００へ直接接続することを防ぐが、サーバ２００側の入り口で防ぐという意味では同義である。サーバ２００側の入り口には大量のトラヒックが集中するため、サーバ２００側の入り口で一定の割合を拒否する必要がある。このような場合、本来必要な利用者の通信もあわせて遮断することになり、サービス品質の低下は避けられなかった。
【００１７】
（本実施の形態における遮断システム）
図２は、本実施の形態における遮断システムの概要を説明するための図である。この図に示すように、本実施の形態における遮断システムでは、遮断サーバ２０とＳＧＷ（クライアント）１０上の遮断プログラムとが連携して、ネットワーク流入前に攻撃対象への通信を遮断するとともに、必要な通信を選択透過する。すなわち、遮断プログラムや遮断ルールなどのほとんどを到達確認有りで確実に事前に配信しておき、攻撃対象など少ない情報を一斉に配信することで、遮断ルールをネットワークの入り口に短期間に適用する。
【００１８】
以下、このような遮断システムの構成を具体的に説明する。なお、以下の説明では、遮断サーバ２０を単に「サーバ」、ＳＧＷ１０を単に「ＧＷ」と記載する場合がある。また、遮断プログラムと遮断ルールとを一括して単に「遮断プログラム」と記載する場合がある。
【００１９】
本実施の形態におけるＧＷは、ネットワーク側からの侵入（図２のＳＧＷおよびＧＷ配下のネットワークへの侵入）を防ぐために、ネットワーク側から開始する接続を全て遮断する。このため、ＧＷに事前に配信するプログラム、事前に配信する遮断ルールは、全てＧＷからの開始であるか、または、あらかじめ決められた信号をトリガとしてしか動作しない。例えば、ＧＷに対して未知のＴＣＰのｓｙｎを送信しても、ＴＣＰのセッションは開始せず、ＧＷのリソースを消費せずに破棄される。前述のあらかじめ決められた信号を受信すると、ＧＷは接続動作を実行するとともに、その他の動作を継続することができる。この後のＧＷの接続先は、事前に決定された接続先、内部プログラムの動作であり、自由に指定することはできないため堅牢である。この初期信号がＵＤＰトリガであり、これを契機として、ｈｔｔｐＧＥＴや各種送達確認有りの接続シーケンスをＧＷ側から開始することができる。従来は、このように、ＧＷ側からの接続シーケンスを開始するトリガに使用するＵＤＰトリガ内において、指示を内包して動作させる実装はなかった。
【００２０】
（動作例、構成例）
図３は、本実施の形態における遮断サーバ２０およびＳＧＷ１０の動作を示すフローチャートである。遮断サーバ２０とＳＧＷ１０上の遮断プログラムとが連携して、ネットワーク流入前に攻撃対象への通信を遮断するとともに、必要な通信を選択透過するようになっている（図３のＳ１〜Ｓ１８）。図３では、ＳＧＷ１０側で実行されるステップと遮断サーバ２０側で実行されるステップとの境界に点線を付している。もちろん、各ステップの主体は必要に応じて変更することが可能である。
【００２１】
図４は、本実施の形態における遮断サーバ２０およびＳＧＷ１０の構成図である。図４に示される実線矢印は通常時の処理経路を示し、点線矢印は通信ログの収集経路を示し、一点鎖線矢印は遮断処理の指示経路を示している。図４に示すように、ＳＧＷ１０は、信号送受信部１１と、信号抽出部１２と、遮断処理部１３と、遮断ルール１４と、信号挿入部１５と、異常定型文１６と、ＵＤＰトリガ受信部１７と、攻撃対象リスト１８と、乱数生成部１９とを備える。一方、遮断サーバ２０は、ＤＢ２１と、配信先２２と、配信処理部２３と、通信ログ解析部２４と、ＤＢ２５とを備える。通信ログ解析部２４およびＤＢ２５は遮断サーバ２０側でなくＳＧＷ１０側に備えてもよい。ここでは、遮断ルール１４、攻撃対象リスト１８、攻撃対象リスト１８、配信先２２などと記載しているが、これらは電子データであり、ハードディスク等の記憶部に記憶されていることはいうまでもない。
【００２２】
以下、図３および図４を用いて、遮断サーバ２０およびＳＧＷ１０の構成をその動作とともに説明する。なお、以下の説明では、一つの括弧内に図３のステップとそのステップの主体とを記載する場合がある。
【００２３】
まず、ＳＧＷ１０は、ＵＤＰトリガを受けると、事前に配置された遮断プログラム（遮断ルール）の実行を開始する（図３のＳ１→Ｓ２、遮断処理部１３）。プロセスの起動などに時間がかかる場合は、あらかじめ起動した状態で待ち受けるようにする。ＵＤＰトリガには、最新の攻撃対象のＩＰアドレスを記載する（図３のＳ１８、通信ログ解析部２４→配信処理部２３）。ＵＤＰトリガパケットを高速に配信できるように繰り返しや分業するようになっている。トリガには、ドメインを含めて複数のＩＰアドレスを記載することができる。最大は、ＵＤＰのパケット長でヘッダを除いた分まで可能であるが、サーバ側・ＳＧＷ１０側ともにトリガを極力軽くし、実行までにかかる時間を短くする。ドメインが攻撃対象の場合、ドメインを含めて通知することは、ネットワーク全体として攻撃時に増加するＤＮＳ接続を、ネットワーク流入前にＳＧＷ１０で遮断し削減することができるため有効である。攻撃対象のＩＰアドレス回避、攻撃対象のドメイン回避を行う。もちろん、ＩＰアドレスの表記としてはプレフィックス表記を許容する。
【００２４】
一般的に、ＵＤＰの応答有無はアプリケーション実装次第である。逆にいうと、ＵＤＰは、プロトコル上は送信が不達であってもよい。すなわち、シーケンスの管理リソースが不要という利点があるため、ＵＤＰを採用している。ＵＤＰは、ＴＣＰと比較して、シーケンス管理をしなくてよい分、軽く早く実行することができる。ＯＳＧｉの機能を用いた場合は、続くシーケンスを期待しない。これにより、送信帯域幅いっぱいのＵＤＰパケットをサーバ側の全てのＣＰＵリソースを使用して送信することができる。理論上、１Ｇｂｐｓの回線を用いて１００Ｂｙｔｅのトリガパケットで攻撃対象のｖ６アドレスを通知する場合、秒間１２億件のＵＤＰパケットを送信することができる。受信するＳＧＷ１０側は、ひとつ受けて応答の必要性がないため、少ない性能で十分である。送信側は、送信内容は同じであるため時間を要しないが、送信先（ＳＧＷ１０）の選択読み出しに時間がかかる。例えば、サーバ側の処理に１０ｍｓかかる場合、送信対象の選択読み出しは１秒間に１００台となる（図３のＳ１７）。このため、前述のように、専用の送信用のネットワークインタフェースを用いて送信先のＳＧＷ１０をあらかじめ抽出してパケットを作成しておき、攻撃対象のＩＰアドレスのみをＵＤＰトリガに記載するようにしておくとよい。
【００２５】
ここでは、前述のように送信不達を考慮しないので、あらかじめ選択済みの送信先ＳＧＷ１０を選択することで、送信にかかる初速を低下させない工夫を実装する。専用のインタフェースを持っている場合はパケットを生成しておくとよい。
【００２６】
ＳＧＷ１０で用いるＵＤＰトリガの待ち受けポート番号には、ウェルノウンポートを除く老番をランダムに使う。この機能が逆に攻撃対象とならないようにするためである。ＳＧＷ１０は、時間とプレフィックスと乱数によりポート番号を生成する（乱数生成部１９→信号送受信部１１）。サーバ側でもポート番号を生成することができる。サーバ側では、短期間に多数の異なるポート番号へのトリガを通知するため、軽い生成ロジックとなるように配慮している。異なるＳＧＷ１０のＵＤＰトリガの待ち受けポート番号が同一時間帯に重ならないようにする。変更時間は、ＳＧＷ１０あたりのポートスキャンにかかる時間よりも短い時間とする。
【００２７】
サーバ側でもＵＤＰトリガ発信元のＩＰアドレス、ポート番号はランダムに遷移することが望ましい。最速で発信するための負荷分散と、逆に攻撃対象としてネットワークの弱点とならないようにするためである。前述のように、ネットワーク帯域やＣＰＵ使用率などのリソースは、ＵＤＰトリガを短期間に多数発信することに使い切るのが望ましい。このため、ＵＤＰトリガ発信専用のインタフェースおよびサーバ、専用装置を使用する。
【００２８】
本実施の形態におけるプログラム配信および攻撃対象の配信機構については、ＯＳＧｉによるバンドル配信を利用する記載としているが、本発明はこれに限定されるものではない。すなわち、ＯＳＧｉを実装済みのＳＧＷ１０でそのまま流用できるからであって、工場出荷時から該当のプログラムを実装し、検索用の最新追加のデータをＦＴＰなどの別の手段で配布することは可能である。
【００２９】
ＳＧＷ１０は、ＵＤＰトリガを受けると（信号送受信部１１→ＵＤＰトリガ受信部１７）、ＵＤＰトリガパケットから攻撃対象のアドレスを抽出して（信号抽出部１２→遮断処理部１３）、以降、そのアドレスへの通信を遮断する。ただし、例えば、ＳＹＮ→ＳＹＮＡＣＫ→ＡＣＫのように、正しいシーケンスが継続している場合には、その通信を許可することができる（図３のＳ８）。Ｈｔｍｌのようなシーケンスパターンではない攻撃は認証確認せず遮断してもよい。新たにＳＹＮパケットを出そうとしている場合にはこれを留保する。攻撃対象へのＳＹＮフラッド対策が必要である旨がＵＤＰトリガに記載されていれば、この例の対策だけでいいし、ｐｉｎｇであればｐｉｎｇ対策だけでいい。図６（ｃ），図６（ｄ）では、より指示内容を短縮するためｉｄで通知している。短い指示であれば、ＵＤＰトリガ内に記載することができる。
【００３０】
ユーザには、ＳＧＷ１０上のプログラムにより、接続確認のｈｔｍｌファイルを異常定型文１６として表示する（図３のＳ１０、異常定型文１６→遮断処理部１３→信号挿入部１５→信号送受信部１１）。接続先の事由のｈｔｍｌファイルを異常定型文１６として表示してもよい。これらの定型文は、本実施の形態における遮断プログラムとともに事前にＳＧＷ１０へ配信することができる。抽出した攻撃対象への接続に横割りして表示し、ユーザが接続確認のボタンを押下した場合には接続を許可し（図３のＳ１１）、当初の接続先へ接続する。このように、悪意あるプログラムによる接続ではなく、ユーザがブラウザから意図した接続を試みていた場合には、必要なユーザだけを許可することができる。これは、ＳＧＷ１０がネットワークの流入口となっていることから可能である。前述の乱数を用いてＰＩＮ番号の画像を生成し、ユーザにＰＩＮ番号を入力させてもよい。悪意ある高度なプログラムから自動押下させないためである。
【００３１】
本実施の形態は、極めて短時間の攻撃と、短時間での対策であるので、前述の乱数を用いてＳＧＷ１０からネットワークに流入する接続を遅延させてもよい。例えば、｜１０００ｍｓ−乱数｜ｍｓ分、攻撃対象への送信パケットを送信遅延させる。ネットワーク全体では、乱数により送信タイミングがばらけるので、これにより十分な効果を期待することができる。ＴＣＰの接続に対して数百ｍｓ遅延させることは、タイムアウトしない範囲でとれる有効な手段である。
【００３２】
こうしたＳＧＷ１０で遮断ルールを適用した緊急体制の解除についてもＵＤＰトリガを用いることができる（図３のＳ１３）。この場合に解除漏れがあってはならないので、ＳＧＷ１０から遮断サーバ２０へ続くシーケンスを期待し、確実に解除されることを確認する。本実施の形態では、ＳＧＷ１０上の同一プログラムによって、ＵＤＰトリガのみ、ＵＤＰトリガから始まるシーケンスの両方を実施可能としている。すなわち、リソースの限られたＳＧＷ１０で最小のプログラム実装としている。
【００３３】
ＳＧＷ１０はセキュリティの問題もあり、あらゆる信号を受けて動作する仕組みになっておらず、ＵＤＰのトリガなどを受けたうえでＳＧＷ１０から通信を開始する仕組みとなっている。逆にいうと、ＵＤＰトリガであれば、受けつけて動作することができる。
【００３４】
遮断ルールは、事前配布ルールとしてＧＷに複数保持しており、サーバから更新可能である。ＧＷからネットワークに流入するトラヒックのうち、どのプロトコルで、パケットのどの部分がどうなっているパケットを破棄するかを記載している。この遮断ルールだけを適用する指示をすると、送信元のＩＰアドレス、送信先のＩＰアドレスに関係なく遮断することができる。前述の対象のＩＰアドレスが指示されると、そのＩＰアドレスが含まれるパケットを遮断する。図６（ｃ）の事前配布ルールのひとつ、ｉｄがｘｙｚのルールは、ＴＣＰＳＹＮを遮断するルールとなっている。サーバの保持するいくつかのトリガ例（図６（ｅ））のうち、１つ目のトリガを与えると、ＴＣＰＳＹＮで且つ送信先のＩＰアドレスが２２２:２２２:２２２:２２２のパケットを遮断するようになる。２つ目に記載のｕｐｄａｔｅがくると、その遮断ルールを送信先ＩＰアドレスがｙｙｙ:ｙｙｙ:ｙｙｙ:ｙｙｙまたは送信先ＩＰプレフィックスがｙｙｙ:ｙｙｙ:ｘｘｘ:ｘｘｘ／２４のパケットを遮断するルールに変更する。３つ目のｆｉｎは、ｘｙｚの遮断ルールを終了する指示を意味する。例では、ｕｐｄａｔｅによって、対象のＩＰアドレス、プレフィックスが異なるものになっているが、本実施の形態はこれに限定されるものではない。例えば、このｕｐｄａｔｅによって、最初は、短い時間で解析を実行するために比較的精度の低い遮断ルールを設定して解析を実行し、その後、より精度高く遮断する幅を狭めるように遮断ルールを更新することもできる。最初から精度の高い遮断ルールを適用して解析すると時間がかかり手遅れになることも想定できるため、非常に有効な手段である。
【００３５】
遮断ルールは、後述するサーバ側の攻撃か否か、攻撃元となりうるか否かの判断ルールと密接な関係がある。判断ルールにより、送信先ＩＰアドレスやポート番号が明確になる。その時、判断する材料になった通信履歴が全て前述のようにＴＣＰＳＹＮであった場合、ＴＣＰＳＹＮをＳＴＯＰ（遮断する）という遮断ルールを事前に配布する必要がある。短いルールであれば、ＵＤＰトリガであわせて送信する。逆に、長いルールであれば、まず、ＵＤＰトリガに指示された送信先ＩＰアドレスへのパケットを全て遮断し、その後、更新される遮断ルールに基づいて遮断する範囲を緩和する。
【００３６】
ＯＳＧｉを利用することにより、サービス無停止でＳＧＷ１０上の遮断ルールを更新することができる。専用装置では一般的にプログラムの更新が難しいと言われ、特に、大量に分散する場合は困難である。ＯＳＧｉを備えた環境では、これをサービス無停止で実現する。かつ、ＯＳＧｉのシーケンスにより、遮断ルールの更新が確実になされたことを含め、ＳＧＷ１０に配信するいくつかのプログラムの要／不要や相互関係を確実に保証することができる。陳腐化したルールの削除など、現行化を容易に実現することができる。
【００３７】
ＳＧＷ１０で遮断処理を実行することは、宅内の端末やＯＳ、アプリケーションの起動によらず実現可能である。ＧＷで実現するものであるから、近年普及するネットワークに接続する白物家電についてもアンチウィルスソフトの適用を心配する必要はない。
【００３８】
ＳＧＷ１０で遮断処理を実行するため、ＯＳやアプリケーション、端末によらない共通のロジックを適用することができる。逆にアンチウィルスソフトは、ＯＳや端末に依存し、また、制限対象のアプリケーションと同列であるため、アンチウィルスからアプリケーションを制限できると同時に、被疑アプリケーションからアンチウィルスソフトが制限をうけて機能しない可能性がある。ＳＧＷ１０で遮断処理を実行すると、こうした課題を回避することができる。
【００３９】
ＳＧＷ１０は、宅内ネットワーク、宅内機器からみてネットワークへの入り口となっているため、ネットワークの多数箇所の入り口で遮断処理を実行することができる。専用装置は一般的に広範囲に対応する分、複雑、高機能、高価であり、クライアント毎に配置するのは現実的ではない。専用装置をネットワーク上に配置する場合には、配置する場所を検討する必要があるが、分散されたネットワーク上では適切な位置に配置するのは難しい。インターネットサービスプロバイダ（ＩＳＰ）が独自にＩＳＰのネットワークの入り口で防ぐ方法も考えられるが、サーバ群の手前で防ぐという考え方と変わらず、負荷が高まる対象が専用装置なのかロードバランサなのかファイアウォールなのかといった違いになる。また、一度ネットワークに流入したトラヒックを回収するのは効率的ではない。正常なトラヒックと不正なトラヒックがネットワーク上では混在し、ネットワークおよびネットワーク装置の負荷が無駄に高まるためである。すなわち、本実施の形態のようにネットワーク流入元で制限するのが効率的である。
【００４０】
ＤＤｏＳ攻撃は、複数のクライアントからの攻撃となるため、攻撃側のクライアント単体（悪意あるハンドラー１００に操作されたＰＣなど）を観察する場合、通常の使用と見分けがつきにくかった。本実施の形態のように、複数のクライアントの通信履歴情報を集めて解析する場合、攻撃の特定が容易となる。このような通信履歴情報を集める手法は様々あり、特に限定されるものではない。例えば、ＳＧＷ１０は、通信する度にその通信履歴情報を遮断サーバ２０に送信するようにしてもよい。ＳＧＷ１０は、ネットワークへの流入口で処理能力を持つことを特徴とするので、ＧＷ配下の通信のうち必要な情報要素のみ取捨選択して遮断サーバ２０に送信する。また、ＳＧＷ１０は、連続する同一データなどを集約して送信頻度を減らし、送信ヘッダ分の送信量を減らしてもよい。さらに、ネットワークおよび遮断サーバ２０側の負荷分散のために、特定の時刻になったタイミングで一括して通信履歴情報を遮断サーバ２０に送信するようにしてもよい。
【００４１】
ＤＤｏＳ攻撃の予兆として、サーバの脆弱性や乗っ取ろうとするクライアントの脆弱性を調査するために、悪意あるハンドラー１００によって、または感染したクライアントから同一の接続先に対してＩＤやポート番号のみ異なる通信が発生する。また、攻撃元となったクライアントは、過去に全く同じサーバに誘導されて接続している。このため、複数のＧＷの通信履歴を長時間分収集することにより、単体の通信履歴からは発見できない攻撃の予兆を発見することが可能となる。
【００４２】
図６を用いて、対策速度が重要となる攻撃対象となりうるＳＧＷ１０を特定する例を示す。図６（ａ）に示すように、各ＳＧＷ１０からの通信履歴を並べ替え、差分抽出を行っている。この例は、パケットのヘッダおよびペイロードを展開したものである。さらに、複数のＳＧＷ１０からの通信履歴を含めて並べ替え、差分抽出を行っている。差分抽出は、事前に設定された時間、直近数分の過去履歴の差分抽出でよい。図６（ｂ）の例では、便宜的に通信履歴を行で記載しているが、メモリ上に展開した通信履歴のうち、この単位時間に受信した通信履歴をスライドウィンドウ式に走査する。この点については、図７を用いて後述する。
【００４３】
図５に判断ルールの走査パターンの一例を示す。ここでは、短間隔実施ルールの走査パターンＰ１，Ｐ２，Ｐ３，…と、長間隔実施ルールの走査パターンＰ１，Ｐ２，Ｐ３，…とを例示している。短間隔実施ルールとは、比較的短期間の通信履歴の走査を実施する場合のルールであり、長間隔実施ルールとは、比較的長期間の通信履歴の走査を実施する場合のルールである。詳細については、図７を用いて後述する。
【００４４】
図５に示すように、送信先ＩＰアドレスが同じものを抽出した場合、事前に設定された数以上同じとなっているもの（図では、２２２:２２２:２２２:２２２）を抽出する（図５のＰ１）。これにより、ＳＧＷＩＤの分散（３種類一つずつ）と、送信先ポート番号の分散（３種類一つずつ）が一致している場合、ＳＧＷＩＤごとに送信先ポート番号の異なる接続が行われていることを検出することができる。単位時間あたりの受信数と走査時間はサーバ毎に個別に検証が必要であるので、一致の割合について詳細は記載しないが、受信数に対する割合を指定してもよい。図６（ｂ）のように、アドレス２２２:２２２:２２２:２２２に対するＴＣＰのｓｙｎがポート番号だけを変えて送信されていることを検出することができる。また、図６（ｄ）のように、送信元のアドレスが１１１:１１１:１１１:０００のプレフィックスにより行われているため、これに続くアドレスおよびプレフィックスを攻撃元になりうる対象として決定することができる（図５のＰ３）。攻撃内容は一般的なｓｙｎアタックであるため、図６（ｃ）のように、事前に送付済みのルールｉｄを指定して、図６（ｅ）のように、残りはどこを対象としたｓｙｎパケットであるかを示すアドレス情報だけを送信してやればよい。
【００４５】
図７は、遮断サーバ２０の受信パケット数の推移の一例を示すグラフであり、図８は、図７に示されるパケット受信中の遮断サーバ２０の動作を示すフローチャートである。本実施の形態は、ＧＷを通過する複数クライアントの通信情報を複数ＧＷ分の通信履歴として収集し、一定時間分の差分評価を繰り返し実施する（図８のＳ２１〜Ｓ２４）。図７に示すように、区間Ａの通信履歴に対して、事前に保持する複数の判断ルール・判断閾値に基づいて複数パターン走査を実施する。すなわち、図５に示される複数のパターンＰ１，Ｐ２，Ｐ３，…を適宜組み合わせ、その実行結果の組合せにより攻撃の予兆を判断する。
【００４６】
図６では通信履歴を行で記載しているが、メモリ上に展開した通信履歴をパターン毎に並び替え、種類と量のカウント、各種分布関数との一致などを調査する。分布関数との一致に関して、割合は別に指定して保持する（例えば、平均から最大が離れる割合がσの場合など）。
【００４７】
区間Ａの走査時間経過中にも、ＳＧＷ１０からは新規の接続が発生するので、区間Ｂの通信履歴の走査を実施する。以降、スライドウィンドウ式に繰り返す。スライドウィンドウ式とは、単位時間を対象に走査している間に、次の単位時間分の接続を受けているので、事前に定義された複数の走査パターンを実施した後、次の単位時間分の走査を開始することである。
【００４８】
これとは別に、前述の攻撃の予兆であるハンドラーの操作痕跡やクライアントの接続痕跡を抽出する。例えば、区間Ｃの長期的な処理で事前に設定された間隔（数日分〜数週間分）の差分抽出を区間Ａで適用した短時間の判断ルールの対象を長期間にした分析として、ポート番号のみの変化や送信先のＩＰアドレスのみの変化がないかを抽出する。また、長期的なトラヒック量の変化の傾向分析も行う。
【００４９】
ある単位時間分（区間Ａ）の走査をしているうちに加わった新規の通信履歴に対して、次の単位時間分（区間Ｂ）の走査を行う。この新規の通信履歴に対しては、区間Ａで攻撃元と判断した判断ルールに合致するかを優先的に判断する（図８のＳ２２）。図６の例では、送信先ＩＰアドレスが同じでＳＧＷＩＤとポート番号が異なるかを優先的に判断する。このように、新規接続に対する判断を加速する。
【００５０】
判断ルールや判断閾値は事前に保持しておく。ここで、判断ルールの例を示す。例えば、高頻度のＩＰアドレス順番に並べた場合に、送信先ＩＰアドレスが同一で、全ての送信先ポート番号が８０番である場合には、ポート番号を狙った走査ではないと断定することができる。一方、図６に示すように、高頻度の送信先ＩＰアドレスであって、送信先ポート番号に規則性がみられた場合には、その送信先ＩＰアドレスに対して複数のＳＧＷ１０を用いてポート番号の走査が行われていることが分かる。この場合、この接続を試みるＳＧＷ１０に対して制限を行うための指示を出す。指示内容は攻撃対象の送信先ＩＰアドレスとなる。このように並べ替え、差分抽出を行い、順序性およびランダム性などの規則性の評価を行い、それぞれランキングし、攻撃元か否かを判断する。
【００５１】
本実施の形態のように、複数のＳＧＷ１０からの接続情報を収集することによって、トラヒックの変化を攻撃の兆候としてとらえることができる。複数のＳＧＷ１０から接続情報を継続的に収集して、接続頻度により並び替えを行っている。接続頻度の高さでグルーピングした場合、このグループの接続傾向が一気に変わることはないため、グループでの傾向の変化をトラヒックの変化としてとらえることができる。トラヒック量の観点でも同様である。すなわち、ある時間のトラヒック量の違いによりトラヒック大、中、小でグルーピングした場合、このグループのトラヒック量がまとまって変化することはないため、グループでの傾向の変化をトラヒックの変化としてとらえることが可能である。
【００５２】
接続情報の嗜好という観点で分類すると、より顕著になる。ＳＧＷ１０からの接続先の類似性により相関関係を分類することができる。例えば、あるドメイン（ＩＰアドレス）とあるドメイン（ＩＰアドレス）に接続している頻度が高レベルのＳＧＷ１０と、中レベルのＳＧＷ１０と、低レベルのＳＧＷ１０に分類する。この場合、攻撃者となっているＳＧＷ１０が頻度の高いＳＧＷ群と一致している場合、このグループに所属しているＳＧＷ１０は、攻撃者となる可能性が非常に高い。そのため、本実施の形態の対処を優先的に実施するＳＧＷ１０として、これらのＳＧＷ１０を絞り込むことができる。すなわち、遮断サーバ２０は、攻撃通信を疎通させているＳＧＷ１０を判断するが、ここでいう「攻撃通信を疎通させているＳＧＷ１０」には、「攻撃通信を疎通させるおそれのあるＳＧＷ１０」が含まれる。ＳＧＷ１０は、契約情報にあわせた必要十分なプログラムを配信するので、契約情報と紐づけてプログラム（特にＯＳＧｉで配信するプログラム）を管理している。これにより、より詳細なエリアや契約者の情報と紐づけることができる。
【００５３】
本実施の形態の対象とするシステムはＳＧＷ１０を収容している。ＳＧＷ１０はネットワークのエッジルータに接続され、特定のＩＰプレフィックスが払い出されている。また、ＳＧＷ１０を収容するサーバでは、回線情報や収容情報に基づいてエリアを意識できるデータベースにＳＧＷ１０を格納している。悪意あるハンドラー１００の操作がＩＰアドレスをもとに行われた場合（例えば、ＩＰプレフィックスの範囲でＩＰアドレスが総当たりの場合）、ＳＧＷ１０にネットワークから払い出されたＩＰプレフィックスが近接の同一エリアが対象となる場合が想定される。そのため、乗っ取られたクライアントの攻撃元の対象として対策する場合の判断指標となる。
【００５４】
このように、本実施の形態によれば、攻撃対象への通信、特に通信開始を遮断するという指示を大量のクライアントに短期間で実施することができる。ＤＤｏＳ攻撃についても、ネットワークの流入口でトラヒックの流入を防ぐので、攻撃対象だけでなくネットワークの負荷を下げることができる。さらに、必要な接続を選択して接続許可することができる効果もある。
【００５５】
本実施の形態における遮断システムの特徴的なところをまとめると次のようになる。すなわち、ネットワークへの複数の入口に複数のＧＷを配置している。ＧＷは、ネットワーク側から開始する接続を全て遮断し、特定のＵＤＰパケットのみで動作することができる。このようなＧＷに対して、ＵＤＰパケットをトリガにＧＷ側から開始する接続シーケンスにより遮断ルールを定期的に配信（購読）する。そして、サーバ側での複数のＧＷの通信履歴の差分検出を契機に、前述のＵＤＰトリガに内包するアドレスを含むごく短い指示によって、ネットワークの流入口に位置する複数のＧＷに遮断ルールを適用する。短期間で送信する量が少ないため、サーバ側の負荷を軽くすることができ、短期間で大量の瞬時対策を適用することが可能である。また、配信先の選定、組み合わせとパケット配信準備を行い、配信開始からの動作を高速化することができる。遮断時は、ルールに沿った継続シーケンスの救済を行う。これをシーケンスタイムアウトまでに判断できる高速性をもつ。認証可能なシーケンスに対し、認証動作を挟むことにより、より適切な遮断ルールを適用することができる。さらに、配信機構と同じ機構を用いて遮断ルールの終了指示を行うため、確実に終了指示を行い、遮断したサービスを再開することができる。加えて、複数のＧＷの通信履歴を収集して、同一送信先への通信履歴の差分を抽出して並び替えるため、複数のＧＷからの大量接続を判断することができる。例えば、既に大量接続元となったＧＷの通信履歴と類似性の高い通信履歴を持つ複数のＧＷを抽出して、遮断ルールを高速に適用する。これにより、大量の接続元ＧＷに加わる前に遮断ルールを適用し、ネットワークへの大量トラヒックの流入を防ぐことができる。
【００５６】
以上のように、本実施の形態における遮断システムは、ネットワークの流入口（例えば、家庭やオフィス内のネットワークと広域ネットワークとの境界）に設置されるとともに、特定のトリガ情報に基づいて攻撃通信を遮断するための遮断プログラムが搭載されたＳＧＷ１０（例えば、ホームゲートウェイ）と、攻撃通信を疎通させていると判断されるＳＧＷ１０に対して、攻撃対象サーバ２００への攻撃通信を遮断するためのトリガ情報のみをＵＤＰによって伝達する遮断サーバ２０とを備える。そして、トリガ情報を伝達されたＳＧＷ１０が遮断プログラムを実行することによって攻撃対象サーバ２００への攻撃通信を遮断する。これにより、情報量が少なく、ＵＤＰを用いるため、攻撃検出時に多数のＳＧＷ１０に短時間に効率的に遮断指示を出すことができ、対処時間の短縮を図ることが可能となる。また、攻撃側からネットワークに流入する関門であるＳＧＷ１０で攻撃を遮断することができ、ネットワークおよび攻撃対象サーバ２００において、通常の通信への影響を最小限にすることが可能である。
【００５７】
また、本実施の形態における遮断サーバ２０は、複数のＳＧＷ１０から収集した通信ログを解析することによって、攻撃通信を疎通させているＳＧＷを判断する通信ログ解析部２４と、通信ログ解析部２４の解析結果に基づいて、攻撃対象サーバ２００への攻撃通信を遮断するためのトリガ情報のみをＵＤＰによって伝達する配信処理部２３とを備える。具体的には、通信ログ解析部２４は、攻撃通信を疎通させているＳＧＷ１０をトラヒックの変化に基づいて判断する。また、通信ログ解析部２４は、攻撃通信を疎通させるおそれのあるＳＧＷ１０を、攻撃通信を疎通させているＳＧＷ１０として判断する。これにより、攻撃通信を疎通させているＳＧＷ１０であるかどうかを効率よく且つ的確に判断することが可能である。
【００５８】
なお、本発明は、遮断システムまたは遮断サーバ２０として実現することができるだけでなく、このような遮断システムまたは遮断サーバ２０が備える特徴的な処理部をステップとする遮断方法として実現したり、それらのステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、ＣＤ−ＲＯＭ等の記録媒体やインターネット等の伝送媒体を介して配信することができるのは言うまでもない。
【符号の説明】
【００５９】
１０…ＳＧＷ
１１…信号送受信部
１２…信号抽出部
１３…遮断処理部
１４…遮断ルール
１５…信号挿入部
１６…異常定型文
１７…ＵＤＰトリガ受信部
１８…攻撃対象リスト
１９…乱数生成部
２０…遮断サーバ
２１…ＤＢ
２２…配信先
２３…配信処理部
２４…通信ログ解析部
２５…ＤＢ
【図１】
2014236461.tif 000003
【図２】
2014236461.tif 000004
【図３】
2014236461.tif 000005
【図４】
2014236461.tif 000006
【図５】
2014236461.tif 000007
【図６】
2014236461.tif 000008
【図７】
2014236461.tif 000009
【図８】
2014236461.tif 000010