(57)【要約】【課題】大量通信による攻撃を迅速に、かつ、高精度に検知できる通信監視装置、通信監視方法及び通信監視プログラムを提供すること。【解決手段】通信監視装置１は、通信パケットのフロー情報に基づいて、第１時間のスライディングウィンドウにおける、宛先アドレス毎の単位時間当たりの通信量が予め設定された閾値に達した時に、当該宛先アドレスを被害ホスト候補として抽出し、通信量が閾値を下回った時に、当該宛先アドレスを被害終了ホスト候補として抽出する第１フィルタ部１１と、宛先アドレスが被害終了ホスト候補として抽出された後、第１フィルタ部１１により再度、被害ホスト候補として抽出されないまま第２時間が経過した場合、当該宛先アドレスを被害終了ホストと判定し、被害ホスト候補から削除する第２フィルタ部１２と、被害ホスト候補を宛先とするフロー情報を蓄積する蓄積部１３と、を備える。【選択図】図１
2018093268.tif 000002
【特許請求の範囲】
【請求項１】
通信パケットのフロー情報に基づいて、第１時間のスライディングウィンドウにおける、宛先アドレス毎の単位時間当たりの通信量が予め設定された閾値に達した時に、当該宛先アドレスを被害ホスト候補として抽出し、前記通信量が前記閾値を下回った時に、当該宛先アドレスを被害終了ホスト候補として抽出する第１フィルタ部と、
前記宛先アドレスが前記被害終了ホスト候補として抽出された後、前記第１フィルタ部により再度、被害ホスト候補として抽出されないまま第２時間が経過した場合、当該宛先アドレスを被害終了ホストと判定し、前記被害ホスト候補から削除する第２フィルタ部と、
前記被害ホスト候補を宛先とする前記フロー情報を蓄積する蓄積部と、を備える通信監視装置。
【請求項２】
前記第１フィルタ部は、前記被害ホスト候補をデータベースに登録し、
前記第２フィルタ部は、前記被害終了ホストを前記データベースから削除し、
前記蓄積部は、前記データベースの被害ホスト候補に対応付けて、前記フロー情報を蓄積する請求項１に記載の通信監視装置。
【請求項３】
前記第１フィルタ部は、前記通信パケットをサンプリングしたフロー情報に基づいて、前記通信量を算出する請求項１又は請求項２に記載の通信監視装置。
【請求項４】
通信パケットのフロー情報に基づいて、第１時間のスライディングウィンドウにおける、宛先アドレス毎の単位時間当たりの通信量が予め設定された閾値に達した時に、当該宛先アドレスを被害ホスト候補として抽出し、前記通信量が前記閾値を下回った時に、当該宛先アドレスを被害終了ホスト候補として抽出する第１フィルタステップと、
前記宛先アドレスが前記被害終了ホスト候補として抽出された後、前記第１フィルタステップにおいて再度、被害ホスト候補として抽出されないまま第２時間が経過した場合、当該宛先アドレスを被害終了ホストと判定し、前記被害ホスト候補から削除する第２フィルタステップと、
前記被害ホスト候補を宛先とする前記フロー情報を蓄積する蓄積ステップと、をコンピュータが実行する通信監視方法。
【請求項５】
通信パケットのフロー情報に基づいて、第１時間のスライディングウィンドウにおける、宛先アドレス毎の単位時間当たりの通信量が予め設定された閾値に達した時に、当該宛先アドレスを被害ホスト候補として抽出し、前記通信量が前記閾値を下回った時に、当該宛先アドレスを被害終了ホスト候補として抽出する第１フィルタステップと、
前記宛先アドレスが前記被害終了ホスト候補として抽出された後、前記第１フィルタステップにおいて再度、被害ホスト候補として抽出されないまま第２時間が経過した場合、当該宛先アドレスを被害終了ホストと判定し、前記被害ホスト候補から削除する第２フィルタステップと、
前記被害ホスト候補を宛先とする前記フロー情報を蓄積する蓄積ステップと、をコンピュータに実行させるための通信監視プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、大量通信による攻撃を検知する通信監視装置、通信監視方法及び通信監視プログラムに関する。
【背景技術】
【０００２】
従来、複数の端末から大量の通信パケットを送信してサービスを妨害するＤＤｏＳ（Ｄｉｓｔｒｉｂｕｔｅｄ  Ｄｅｎｉａｌ  ｏｆ  Ｓｅｒｖｉｃｅ）攻撃が課題となっている。このような攻撃を検知し対処するためには、ネットワーク上のルータ等に監視装置を設置し、通信量が著しく大きい場合に攻撃と判定して、問題の原因となっている通信を廃棄するという方法が取られる。
【０００３】
このような監視装置は、ＩＰパケットのヘッダ情報であるＮｅｔＦｌｏｗ又はｓＦｌｏｗと呼ばれるフロー情報を監視して、攻撃を判定している（例えば、非特許文献１及び２参照）。
また、攻撃の検知には、以下の判定条件が利用されている。
（条件１）通信量が予め決められた閾値を上回る。
（条件２）通信量が過去の水準を上回る。
（条件３）通信に含まれるプロトコルに異常が見られる。
（条件４）パケットのペイロードを分析した結果、アプリケーションレイヤに異常がある。
（条件５）ダークＩＰと呼ばれる未使用のＩＰアドレスが送信元になっている。
（条件６）ウィルス等が悪用していると考えられる所定のＩＰアドレスが送信元になっている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Ａｒｂｏｒ  Ｎｅｔｗｏｒｋｓ社、Ａｒｂｏｒ  ＳＰ、インターネット＜https://www.arbornetworks.com/images/documents/Data%20Sheets/DS_SP_EN.pdf＞
【非特許文献２】ＧｅｎｉｅＮｅｔｗｏｒｋｓ社、ＧｅｎｉｅＡＴＭ、インターネット＜http://www.genie-networks.com/images/Download_Files/GenieATM_ServiceWhitepaper_v5.6_ENG.pdf＞
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の監視方法では、攻撃の発生から検知までの時間を短縮しつつ、検知精度を向上させることが困難であった。
例えば、前述の条件２〜６では、ある程度の誤検知も発生するため、単独の条件で攻撃を検知することが難しく、条件１と組み合わせる必要がある。条件２〜６を条件１と組み合わせずに用いる場合、攻撃を受けている被害ＩＰアドレスの候補の絞り込みが効率的にできないため、候補の数が爆発的に膨れ上がり、計算量が大きくなり過ぎる。
また、条件１では、攻撃の発生から検知までの時間を短縮すると、攻撃対象ではないＩＰアドレスを抽出してしまう可能性が高まってしまう。一方、攻撃の検知精度を上げるために十分に通信パケットが蓄積されるまで待つと、検知までの応答速度が遅くなってしまう。
【０００６】
本発明は、大量通信による攻撃を迅速に、かつ、高精度に検知できる通信監視装置、通信監視方法及び通信監視プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る通信監視装置は、通信パケットのフロー情報に基づいて、第１時間のスライディングウィンドウにおける、宛先アドレス毎の単位時間当たりの通信量が予め設定された閾値に達した時に、当該宛先アドレスを被害ホスト候補として抽出し、前記通信量が前記閾値を下回った時に、当該宛先アドレスを被害終了ホスト候補として抽出する第１フィルタ部と、前記宛先アドレスが前記被害終了ホスト候補として抽出された後、前記第１フィルタ部により再度、被害ホスト候補として抽出されないまま第２時間が経過した場合、当該宛先アドレスを被害終了ホストと判定し、前記被害ホスト候補から削除する第２フィルタ部と、前記被害ホスト候補を宛先とする前記フロー情報を蓄積する蓄積部と、を備える。
【０００８】
前記第１フィルタ部は、前記被害ホスト候補をデータベースに登録し、前記第２フィルタ部は、前記被害終了ホストを前記データベースから削除し、前記蓄積部は、前記データベースの被害ホスト候補に対応付けて、前記フロー情報を蓄積してもよい。
【０００９】
前記第１フィルタ部は、前記通信パケットをサンプリングしたフロー情報に基づいて、前記通信量を算出してもよい。
【００１０】
本発明に係る通信監視方法は、通信パケットのフロー情報に基づいて、第１時間のスライディングウィンドウにおける、宛先アドレス毎の単位時間当たりの通信量が予め設定された閾値に達した時に、当該宛先アドレスを被害ホスト候補として抽出し、前記通信量が前記閾値を下回った時に、当該宛先アドレスを被害終了ホスト候補として抽出する第１フィルタステップと、前記宛先アドレスが前記被害終了ホスト候補として抽出された後、前記第１フィルタステップにおいて再度、被害ホスト候補として抽出されないまま第２時間が経過した場合、当該宛先アドレスを被害終了ホストと判定し、前記被害ホスト候補から削除する第２フィルタステップと、前記被害ホスト候補を宛先とする前記フロー情報を蓄積する蓄積ステップと、をコンピュータが実行する。
【００１１】
本発明に係る通信監視プログラムは、通信パケットのフロー情報に基づいて、第１時間のスライディングウィンドウにおける、宛先アドレス毎の単位時間当たりの通信量が予め設定された閾値に達した時に、当該宛先アドレスを被害ホスト候補として抽出し、前記通信量が前記閾値を下回った時に、当該宛先アドレスを被害終了ホスト候補として抽出する第１フィルタステップと、前記宛先アドレスが前記被害終了ホスト候補として抽出された後、前記第１フィルタステップにおいて再度、被害ホスト候補として抽出されないまま第２時間が経過した場合、当該宛先アドレスを被害終了ホストと判定し、前記被害ホスト候補から削除する第２フィルタステップと、前記被害ホスト候補を宛先とする前記フロー情報を蓄積する蓄積ステップと、をコンピュータに実行させる。
【発明の効果】
【００１２】
本発明によれば、大量通信による攻撃を迅速に、かつ、高精度に検知できる。
【図面の簡単な説明】
【００１３】
【図１】実施形態に係る通信監視装置の機能構成を示す図である。
【図２】実施形態に係る第１フィルタ部の動作を例示する図である。
【図３】実施形態に係る第２フィルタ部の動作を例示する図である。
【図４】実施形態に係る第１フィルタ部の処理を示すフローチャートである。
【図５】実施形態に係る第２フィルタ部の処理を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、本発明の実施形態の一例について説明する。
図１は、本実施形態に係る通信監視装置１の機能構成を示す図である。
通信監視装置１は、ネットワーク内の上位階層のルータ（コアルータ）に配置される。通信監視装置１は、被害ホスト候補を宛先とする通信パケットのフロー情報をルータから取得し蓄積する。蓄積情報は、ホスト毎の重み付けがされて被害ホスト情報として出力され、被害ホストの検知及び対処に利用される。
【００１５】
通信監視装置１は、サーバ装置又はパーソナルコンピュータ等の情報処理装置（コンピュータ）であり、制御部１０及び記憶部２０の他、各種データの入出力デバイス又は通信デバイス等を備える。
【００１６】
制御部１０は、通信監視装置１の全体を制御する部分であり、記憶部２０に記憶された各種プログラムを適宜読み出して実行することにより、本実施形態における各種機能を実現している。制御部１０は、ＣＰＵであってよい。
【００１７】
記憶部２０は、ハードウェア群を通信監視装置１として機能させるための各種プログラム、及び各種データ等の記憶領域であり、ＲＯＭ、ＲＡＭ、フラッシュメモリ又はハードディスク（ＨＤＤ）等であってよい。具体的には、記憶部２０は、本実施形態の各機能を制御部１０に実行させる通信監視プログラムを記憶する。
【００１８】
制御部１０は、第１フィルタ部１１と、第２フィルタ部１２と、蓄積部１３と、出力部１４とを備える。また、記憶部２０は、被害ホストデータベース（ＤＢ）２１を備える。
【００１９】
第１フィルタ部１１は、通信パケットのフロー情報に基づいて、第１時間（例えば、２０秒間）のスライディングウィンドウにおける、宛先ＩＰアドレス毎の単位時間当たりの通信量を算出する。通信量は、例えば、ｂｐｓ（ｂｉｔ  ｐｅｒ  ｓｅｃｏｎｄ）又はｐｐｓ（ｐａｃｋｅｔ  ｐｅｒ  ｓｅｃｏｎｄ）等である。
フロー情報は、所定の割合でサンプリングした通信パケットのヘッダ情報の要約であってよい。
【００２０】
第１フィルタ部１１は、宛先ＩＰアドレス毎に算出した通信量が予め設定された閾値（例えば、７０Ｍｂｐｓ）に達した時に、この宛先ＩＰアドレスを被害ホスト候補として抽出する。その後、通信量が閾値を下回った時に、第１フィルタ部１１は、この宛先ＩＰアドレスを被害終了ホスト候補として抽出する。
第１フィルタ部１１は、被害ホスト候補を被害ホストデータベース２１に登録する。また、第１フィルタ部１１は、被害ホスト候補及び被害終了ホスト候補を、第２フィルタ部１２へ通知する。このとき、第１フィルタ部１１は、被害終了ホスト候補を被害ホストデータベース２１からは削除しない。
【００２１】
図２は、本実施形態に係る第１フィルタ部１１の動作を例示する図である。
スライディングウィンドウを用いた本実施形態の手法（ａ）の場合、時刻ｔ１においては、過去２０秒間の通信量（網掛け部分）は閾値に達していないが、その後にフロー情報を取得した時刻ｔ１＋Δｔ（Δｔ＜２０秒）において、過去２０秒間の通信量が閾値に達している。
したがって、２０秒ずつの各期間で順に通信量を算出する従来手法（ｂ）では、時刻ｔ１＋２０秒で算出される通信量（網掛け部分）が閾値に達するのに比べて、本実施形態の手法（ａ）により迅速に被害ホスト候補が検出される。
【００２２】
このように、第１フィルタ部１１は、通信量が大きい宛先ＩＰアドレスを抽出する際に、過去の一定時間（第１時間）を連続的に移動しながら監視の対象にするスライディングウィンドウを用いたフィルタによって、攻撃の発生から検知までの時間を短縮する。
なお、被害ホスト候補を抽出するための通信量の閾値は、監視対象のネットワーク内で、最も攻撃に対する耐性が低い箇所に合わせて設定されることが望ましい。
【００２３】
第２フィルタ部１２は、ＬＲＵ（Ｌｅａｓｔ  Ｒｅｃｅｎｔｌｙ  Ｕｓｅｄ）の考えに基づくフィルタによって、攻撃の可能性が低いものを効率的に監視の対象である被害ホスト候補から除外する。すなわち、第２フィルタ部１２は、宛先ＩＰアドレスが被害終了ホスト候補として抽出された後、第１フィルタ部１１により再度、被害ホスト候補として抽出されないまま第２時間（例えば、１時間）が経過した場合、この宛先ＩＰアドレスを被害終了ホストと判定し、被害ホストデータベース２１から削除する。
また、第２フィルタ部１２は、被害ホスト候補及び被害終了ホストを、蓄積部１３へ通知する。
【００２４】
図３は、本実施形態に係る第２フィルタ部１２の動作を例示する図である。
この例では、時刻ｔ２において被害ホスト候補が登録された後、時刻ｔ３で同一の宛先ＩＰアドレスが被害終了ホスト候補として登録されている。
【００２５】
時刻ｔ３の後、１時間の間、同一の宛先ＩＰアドレスが被害ホスト候補として登録されなかった場合（ａ）、時刻ｔ４において、この宛先ＩＰアドレスは被害終了ホストと判定され、被害ホスト候補から削除される。
一方、時刻ｔ３の後、時刻ｔ５において同一の宛先ＩＰアドレスが再度、被害ホスト候補として登録された場合（ｂ）、時刻ｔ３での被害終了ホスト候補としての登録はキャンセルされる。その後、時刻ｔ６において同一の宛先ＩＰアドレスが被害終了ホスト候補として登録されると、さらに１時間後の時刻ｔ７において、この宛先ＩＰアドレスは被害終了ホストと判定され、被害ホスト候補から削除される。
【００２６】
蓄積部１３は、被害ホスト候補を宛先ＩＰアドレスとするフロー情報を抽出し、同宛先ＩＰアドレスが被害終了ホストとして通知されるまで、被害ホストデータベース２１に被害ホスト候補に対応付けて蓄積する。
【００２７】
出力部１４は、被害ホストデータベース２１に蓄積された被害ホスト候補を宛先とするフロー情報に基づいて、通信パケットの特徴を解析し攻撃検知処理を行う。そして、出力部１４は、定期的に（例えば、毎秒）被害ホスト情報を出力する。
このとき、出力部１４は、宛先ＩＰアドレス毎の通信環境に応じた攻撃耐性に関する重み付けにより、攻撃と判定するための条件を設定してよい。第１フィルタ部１１では、共通の閾値により処理負荷を低減して被害ホスト候補の絞り込みが行われたが、出力部１４では、より精度の高い判定処理が行われる。
【００２８】
図４は、本実施形態に係る第１フィルタ部１１の処理を示すフローチャートである。
本処理は、フロー情報を取得する毎に繰り返し実行される。
【００２９】
ステップＳ１において、第１フィルタ部１１は、スライディングウィンドウ内での宛先ＩＰアドレス毎の通信量を算出する。
【００３０】
ステップＳ２において、第１フィルタ部１１は、ステップＳ１で算出された宛先ＩＰアドレス毎の通信量のうち、閾値に達した（閾値未満から閾値以上になった）宛先ＩＰアドレスがあるか否かを判定する。この判定がＹＥＳの場合、処理はステップＳ３に移り、判定がＮＯの場合、処理はステップＳ５に移る。
【００３１】
ステップＳ３において、第１フィルタ部１１は、通信量が閾値に達した宛先ＩＰアドレスを、被害ホスト候補として被害ホストデータベース２１に登録する。
【００３２】
ステップＳ４において、第１フィルタ部１１は、被害ホスト候補を第２フィルタ部１２へ通知する。
【００３３】
ステップＳ５において、第１フィルタ部１１は、ステップＳ１で算出された宛先ＩＰアドレス毎の通信量のうち、閾値を下回った（閾値以上から閾値未満になった）宛先ＩＰアドレスがあるか否かを判定する。この判定がＹＥＳの場合、処理はステップＳ６に移り、判定がＮＯの場合、処理は終了する。
【００３４】
ステップＳ６において、第１フィルタ部１１は、通信量が閾値を下回った宛先ＩＰアドレスを、被害終了ホスト候補として第２フィルタ部１２へ通知する。
【００３５】
図５は、本実施形態に係る第２フィルタ部１２の処理を示すフローチャートである。
本処理は、定期的に繰り返し実行される。
【００３６】
ステップＳ１１において、第２フィルタ部１２は、第１フィルタ部１１から被害ホスト候補が通知されたか否かを判定する。この判定がＹＥＳの場合、処理はステップＳ１２に移り、判定がＮＯの場合、処理はステップＳ１４に移る。
【００３７】
ステップＳ１２において、第２フィルタ部１２は、後述の第２時間の計時（ステップＳ１７）をリセットする。
【００３８】
ステップＳ１３において、第２フィルタ部１２は、被害ホスト候補を蓄積部１３へ通知する。
【００３９】
ステップＳ１４において、第２フィルタ部１２は、被害終了ホスト候補の通知を受けてから第２時間が経過したか否かを判定する。この判定がＹＥＳの場合、処理はステップＳ１５に移り、判定がＮＯの場合、処理はステップＳ１６に移る。
【００４０】
ステップＳ１５において、第２フィルタ部１２は、ステップＳ１４で第２時間が経過した被害終了ホスト候補を被害終了ホストと判定し、蓄積部１３へ通知する。
【００４１】
ステップＳ１６において、第２フィルタ部１２は、第１フィルタ部１１から被害終了ホスト候補が通知されたか否かを判定する。この判定がＹＥＳの場合、処理はステップＳ１７に移り、判定がＮＯの場合、処理は終了する。
【００４２】
ステップＳ１７において、第２フィルタ部１２は、宛先ＩＰアドレス毎に、被害終了ホスト候補として通知されてから第２時間の計時を開始する。
【００４３】
本実施形態によれば、通信監視装置１は、スライディングウィンドウを用いた第１フィルタ部１１により被害ホスト候補を絞り込み、さらに、ＬＲＵを用いた第２フィルタ部１２により誤検知に関わる被害終了ホストを効率的に除外することで、大量通信による攻撃を迅速に、かつ、高精度に検知できる。
第１フィルタ部１１では、同一の宛先ＩＰアドレスが被害ホスト候補及び被害終了ホスト候補として交互に頻繁に抽出される場合もあるが、第２フィルタ部１２により被害終了ホストと判定されるまで蓄積部１３がフロー情報を蓄積し、検知処理が継続される。
【００４４】
通信監視装置１は、被害ホストデータベース２１に対して被害ホスト候補を登録し、ここから被害終了ホストを削除しつつ、関係するフロー情報を蓄積する。
したがって、通信監視装置１は、任意のタイミングで、環境に応じた解析手法及び判定条件により、被害ホストデータベース２１から被害ホスト情報を適切に出力できる。
【００４５】
通信監視装置１は、通信パケットをサンプリングしたフロー情報を用いることにより、大規模なネットワークのコアルータにおいて、大量に観測される通信パケットを効率的に処理し、処理負荷を低減できる。
【００４６】
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本実施形態に記載されたものに限定されるものではない。
【００４７】
通信監視装置１による通信監視方法は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、情報処理装置（コンピュータ）にインストールされる。また、これらのプログラムは、ＣＤ−ＲＯＭのようなリムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。さらに、これらのプログラムは、ダウンロードされることなくネットワークを介したＷｅｂサービスとしてユーザのコンピュータに提供されてもよい。
【符号の説明】
【００４８】
１  通信監視装置
１０  制御部
１１  第１フィルタ部
１２  第２フィルタ部
１３  蓄積部
１４  出力部
２０  記憶部
２１  被害ホストデータベース
【図１】
2018093268.tif 000003
【図２】
2018093268.tif 000004
【図３】
2018093268.tif 000005
【図４】
2018093268.tif 000006
【図５】
2018093268.tif 000007