(57)【特許請求の範囲】
【請求項１】
データを中継する中継部と、
前記中継部が中継するデータが通過するコネクションのうち、所定のコネクションを選択する選択部と、
前記中継部が中継するデータのうち、前記選択部により選択された所定のコネクションに対応するデータを抽出する抽出部と、
前記抽出部が抽出したデータを解析して不正な通信を行うコネクションを検知する検知部と、
前記選択部が選択した所定のコネクションを記憶する記憶部と、
を備え、
前記選択部は、前記記憶部に記憶されるコネクションのうち、所定のウェブサイトを一方の端点とするコネクションの総数が第１の所定数以下となるよう前記所定のコネクションを選択することを特徴とする検知システム。
【請求項２】
前記記憶部に記憶されるコネクションを更新する更新部をさらに備え、前記更新部は、前記記憶部に記憶されるコネクションが終了したとき、または、前記中継部が当該コネクションに対応するデータを所定の期間中継しなかったとき、当該コネクションを前記記憶部から削除することを特徴とする請求項１に記載の検知システム。
【請求項３】
前記選択部は、前記中継部が中継するデータが通過するコネクションから、所定の確率で所定のコネクションを選択することを特徴とする請求項１または２に記載の検知システム。
【請求項４】
各ウェブサイトを宛先または送信元とする不正な通信の検知回数に応じて変化する、各ウェブサイトの監視重要度を算出する算出部をさらに備え、
前記記憶部はさらに、各ウェブサイトに対応づけて、当該ウェブサイトの監視重要度と、当該記憶部に記憶可能なコネクションの数と、を記憶し、
前記選択部は、前記監視重要度に応じて変動する前記第１の所定数以下となるよう前記所定のコネクションを選択することを特徴とする請求項１に記載の検知システム。
【請求項５】
各コネクションに対応する不正な通信が疑われる通信パターンの検知回数に応じて変化する、各コネクションの監視重要度を算出する算出部をさらに備え、
前記記憶部はさらに、各コネクションに対応づけて、当該コネクションの監視重要度を記憶し、
前記更新部は、前記監視重要度が所定の閾値を下回ったコネクションを前記記憶部から削除することを特徴とする請求項２に記載の検知システム。
【請求項６】
データを中継する中継工程と、
前記中継工程において中継するデータが通過するコネクションのうち、所定のコネクションを選択する選択工程と、
前記中継工程において中継するデータのうち、前記選択工程において選択された所定のコネクションに対応するデータを抽出する抽出工程と、
前記抽出工程において抽出したデータを解析して不正な通信を行うコネクションを検知する検知工程と、
前記選択工程において選択された所定のコネクションを記憶部に記憶させる記憶工程と、
を含み、
前記選択工程は、前記記憶部に記憶されるコネクションのうち、所定のウェブサイトを一方の端点とするコネクションの総数が第１の所定数以下となるよう前記所定のコネクションを選択することを特徴とする検知方法。
【請求項７】
データを中継する中継手順と、
前記中継手順において中継するデータが通過するコネクションのうち、所定のコネクションを選択する選択手順と、
前記中継手順において中継するデータのうち、前記選択手順において選択された所定のコネクションに対応するデータを抽出する抽出手順と、
前記抽出手順において抽出したデータを解析して不正な通信を行うコネクションを検知する検知手順と、
前記選択手順において選択された所定のコネクションを記憶部に記憶させる記憶手順と、
をコンピュータに実行させ、
前記選択手順は、前記記憶部に記憶されるコネクションのうち、所定のウェブサイトを一方の端点とするコネクションの総数が第１の所定数以下となるよう前記所定のコネクションを選択することを特徴とする検知プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検知システム、検知方法および検知プログラムに関する。
【背景技術】
【０００２】
サーバ等のネットワーク機器に対するトラフィック量を一時的に極度に増加させることでサービスの提供を不可能にさせるようなサービス不能攻撃が知られている。たとえば、ＤｏＳ攻撃（Denial-of-Service  Attack）、ＤＤｏＳ攻撃（Distributed  Denial-of-Service  Attack）、Ｓｌｏｗ  ＤｏＳ攻撃（Slow  Denial-of-Service  Attack）などである。
【０００３】
Ｓｌｏｗ  ＤｏＳ攻撃とは、クライアントとサーバの間で確立されるセッションにおいて、無通信によるタイムアウトを回避するために少量サイズのパケットのやり取りを発生させ、セッションを長期継続させることによって、サーバが確立可能なセッションを埋め尽くす攻撃手法をいう。なお、セッションとは、サーバとクライアントがＴＣＰ（Transmission  Control  Protocol）を用いてパケットのやりとりをする際に成立させるＴＣＰコネクションの接続の単位であり、この接続開始から終了までの単位を１セッションとして、この一連の通信１回に相当する通信を意味する。  
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Kumar  Sourav,  Debi  Prasad  Mishra,  “DDos  Detection  and  Defense:  Client  Termination  Approach”,  CUBE  ’12  Proceedings  of  the  CUBE  International  Information  Technology  Conference,  pp.  749-752,  ACM,  2012
【非特許文献２】P.  Phaal,  S.  Panchen,  and  N.  McKee,  “InMon  Corporation’s  sFlow:  A  Method  for  Monitoring  Traffic  in  Switched  and  Routed  Networks”  (RFC  3176),  IETF,  2001
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来、上記のようなネットワーク上の攻撃を検知するため、ネットワーク上を流れるパケットをミラーリングして監視し、不正なパケットを検知することが行われている。
【０００６】
しかしながら、ネットワーク上のすべてのパケットをミラーリングして監視する場合、一つの監視装置で実行するのでは負荷が大きい。他方、監視対象とするウェブサイトごとに監視装置を設けるとコストがかかる。そこで、ネットワーク上を流れるパケットの一部だけを抽出してミラーリングし、監視することも考えられる。しかし、この場合、複数のパケットによって攻撃通信が構成されているような場合に一部のパケットしか抽出、監視できないことになりかねない。すると、監視対象であるパケットは攻撃情報の一部しか含まないことになり、攻撃検知の精度が低下してしまう。また、統計情報等を利用する技術も提案されているが、統計情報によっては検知できない攻撃も存在する。
【０００７】
開示の実施形態は、上記に鑑みてなされたものであって、ネットワーク上の攻撃検知に要するコストを抑制しつつ、攻撃検知の精度の低下を抑えることができる検知システム、検知方法および検知プログラムを実現することを目的とする。
【課題を解決するための手段】
【０００８】
開示する検知システム、検知方法および検知プログラムは、中継するデータが通過するコネクションのうち、所定のコネクションを選択し、中継するデータのうち、選択された所定のコネクションに対応するデータを抽出し、抽出したデータを解析して不正な通信を行うコネクションを検知することを特徴とする。
【発明の効果】
【０００９】
開示する検知システム、検知方法および検知プログラムは、ネットワーク上の攻撃検知に要するコストを抑制しつつ、攻撃検知の精度の低下を抑えることができる検知システム、検知方法および検知プログラムを実現するという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】図１は、第１の実施形態に係る検知システムの構成の一例を示す図である。
【図２】図２は、第１の実施形態に係る中継装置が記憶するコネクション情報の構成の一例を示す図である。
【図３】図３は、第１の実施形態に係る中継装置が記憶する監視対象コネクション情報の構成の一例を示す図である。
【図４】図４は、第１の実施形態に係る中継装置が記憶するウェブサイト情報の構成の一例を示す図である。
【図５】図５は、第１の実施形態に係る中継装置が記憶する上限値情報の構成の一例を示す図である。
【図６】図６は、第１の実施形態に係る検知方法の処理の流れの一例を示すフローチャートである。
【図７】図７は、第１の実施形態に係る検知方法において、監視対象コネクションの選択処理の流れの一例を示すフローチャートである。
【図８】図８は、第１の実施形態の変形例１の検知システムの構成の一例を示す図である。
【図９】図９は、第２の実施形態に係る検知システムの構成の一例を示す図である。
【図１０】図１０は、第２の実施形態に係る検知方法における解析コネクション枠を更新する再割当処理の流れの一例を示すフローチャートである。
【図１１】図１１は、第２の実施形態に係る検知システムが備える解析装置に記憶される監視重要度情報の構成の一例を示す図である。
【図１２】図１２は、第２の実施形態に係る検知システムが備える中継装置に記憶される上限値情報の構成の一例を示す図である。
【図１３】図１３は、第３の実施形態に係る検知システムの構成の一例を示す図である。
【図１４】図１４は、第３の実施形態に係る監視重要度の算出処理の流れの一例を示すフローチャートである。
【図１５】図１５は、第３の実施形態に係る検知システムが備える解析装置に記憶される監視重要度情報の構成の一例を示す図である。
【図１６】図１６は、第１〜第３の実施形態に係る検知方法において、監視対象となるコネクションが偏る場合について説明するための図である。
【図１７】図１７は、第４の実施形態において、監視対象となるコネクションの偏りが抑制されることを説明するための図である。
【図１８】図１８は、第４の実施形態に係る検知システムの構成の一例を示す図である。
【図１９】図１９は、第４の実施形態に係る検知システムが記憶する確率情報の構成の一例を示す図である。
【図２０】図２０は、第１〜第４の実施形態に係る検知システムの構成の変形例について説明するための図である。
【図２１】図２１は、開示の技術にかかる検知プログラムによる情報処理がコンピュータを用いて具体的に実現されることを示す図である。
【発明を実施するための形態】
【００１１】
（第１の実施形態）
第１の実施形態に係る検知システム、検知方法および検知プログラムは、ネットワーク上を流れるデータをコネクション単位で抽出して監視する。ここで、「コネクション」とは、所定の装置間において確立される通信経路を指す。通信経路とはたとえば、論理的な通信路である。たとえば、「コネクション」は、所定のＩＰアドレスとポート番号によって特定される複数の装置間において確立される論理的通信路を指す。またたとえば、「コネクション」は、ＴＣＰコネクションを指す。
【００１２】
第１の実施形態に係る検知システムは、たとえばネットワーク上に確立されるＴＣＰコネクションのうち、一部のコネクションを選択する。そして、検知システムは、選択したコネクションに対応するパケットを抽出して監視する。選択したコネクションに対応するパケットとは、たとえば、確立されたＴＣＰコネクションのうち選択されたコネクションを用いて送受信されるパケットである。たとえば、所定の宛先ＩＰアドレス、宛先ポート番号、送信元ＩＰアドレス、送信元ポート番号をヘッダに含むＴＣＰパケットである。またたとえば、同様に、所定の宛先ＩＰアドレス、送信元ＩＰアドレス、宛先ポート番号、送信元ポート番号を含むＵＤＰ（User  Datagram  Protocol）パケットである。
【００１３】
［検知システム１の構成の一例］
図１は、第１の実施形態に係る検知システム１の構成の一例を示す図である。図１を参照して検知システム１の構成の一例につき説明する。
【００１４】
検知システム１は、中継装置１０と、解析装置２０と、を備える。中継装置１０は、ネットワーク上を流れるパケットを受信して中継する。中継装置１０は、ホスト（ウェブサーバ等）３０Ａ〜３０Ｄとネットワークを介して接続される。中継装置１０はまた、ネットワークを介して解析装置２０と接続される。中継装置１０は、受信したパケットを宛先であるホスト３０Ａ〜３０Ｄに中継する。また、中継装置１０は、所定のコネクションに対応するパケットを受信すると、当該パケットを解析装置２０にミラーリングする。なお、図１には、４つのホスト３０Ａ〜３０Ｄを示すが、中継装置がパケットの中継先とするホストの数はこれに限定されない。
【００１５】
［中継装置１０の構成の一例］
中継装置１０は、記憶部１１０と、中継部１２０と、選択部１３０と、抽出部１４０と、更新部１５０と、を備える。
【００１６】
記憶部１１０はたとえば、半導体メモリ素子や記憶装置である。例えば、半導体メモリ素子としては、ＶＲＡＭ（Video  Random  Access  Memory）、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）やフラッシュメモリ（flash  memory）などを用いることができる。また、記憶装置としては、ハードディスク、光ディスクなどの記憶装置を用いることができる。記憶部１１０に記憶する情報の詳細については後述する。
【００１７】
中継部１２０は、パケット等を送受信して中継する通信部である。中継部１２０は、パケットを受信すると、受信したパケットを当該パケットのヘッダ等によって指定される宛先に中継する。また、中継部１２０は、受信したパケットを選択部１３０、抽出部１４０および更新部１５０に渡す。
【００１８】
選択部１３０は、受信したパケットからコネクションの情報を抽出し、当該コネクションの情報が記憶部１１０に記憶されていない場合、当該情報を記憶部１１０に記憶する。また、選択部１３０は、記憶部１１０に記憶された情報を参照し、抽出したコネクションを監視対象コネクションとして選択するか否かを判定する。監視対象コネクションとは、攻撃等に用いられるデータを検知するため、解析装置２０が監視すなわち解析の対象とするコネクションを指す。選択部１３０は、抽出したコネクションを監視対象コネクションとして選択すると判定した場合、当該コネクションの情報を監視対象コネクション情報として記憶部１１０に記憶する。選択部１３０による監視対象コネクションの選択処理の詳細については後述する。
【００１９】
抽出部１４０は、受信したパケットからコネクションの情報を抽出し、当該コネクションの情報が、監視対象コネクション情報として記憶部１１０に記憶されているか否かを判定する。抽出部１４０は、当該コネクションの情報が、監視対象コネクション情報として記憶されていると判定した場合、当該パケットを解析装置２０にミラーリングする。
【００２０】
更新部１５０は、記憶部１１０に記憶される監視対象コネクション情報を更新する。更新部１５０はたとえば、確立されていたコネクションが終了したことを検知した場合に、記憶部１１０に記憶された監視対象コネクション情報から、当該コネクションの情報を削除する。
【００２１】
更新部１５０は、たとえば、ＴＣＰコネクションの終了を示すＦＩＮパケットやＴＣＰコネクションの中断や拒否を示すＲＳＴパケットを受信した場合、当該パケットに含まれるコネクションの情報を抽出する。そして、更新部１５０は、当該コネクションの情報を記憶部１１０に記憶された監視対象コネクション情報から削除する。
【００２２】
更新部１５０は、また、監視対象コネクション情報として記憶されているコネクションの情報を含むパケットを所定期間受信しなかった場合（タイムアウト）、当該コネクションの情報を記憶部１１０に記憶された監視対象コネクション情報から削除する。
【００２３】
なお、中継部１２０、選択部１３０、抽出部１４０および更新部１５０における処理は、ＣＰＵ（Central  Processing  Unit）等の制御部が統括的に制御し実行するものとして構成すればよい。また、各部の処理は適宜統合分散することができる。
【００２４】
［記憶部１１０に格納される情報の一例］
次に、中継装置１０の記憶部１１０に記憶される情報について説明する。記憶部１１０は、コネクション記憶部１１１と、監視対象コネクション記憶部１１２と、ウェブサイト記憶部１１３と、上限値記憶部１１４と、を備える。
【００２５】
コネクション記憶部１１１は、中継装置１０を介して確立されるコネクションの情報を記憶する。第１の実施形態においては、コネクション記憶部１１１は、中継装置１０を介して確立されるコネクションの情報をすべて記憶する。
【００２６】
コネクション記憶部１１１に記憶する情報は、選択部１３０によって抽出される。選択部１３０は、受信したパケットに含まれるコネクションの情報を抽出し、当該コネクションの情報がすでにコネクション記憶部１１１に記憶されていない場合、当該コネクションの情報をコネクション記憶部１１１に記憶させる。
【００２７】
図２は、第１の実施形態に係る中継装置１０が記憶するコネクション情報の構成の一例を示す図である。図２に示すように、コネクション記憶部１１１が記憶するコネクション情報は、「コネクションＩＤ」、「宛先ＩＰアドレス」、「宛先ポート番号」、「送信元ＩＰアドレス」、「送信元ポート番号」を含む。「コネクションＩＤ」は、各コネクションを一意に識別するための識別子（Identifier）である。「宛先ＩＰアドレス」は、中継装置１０が受信したパケットの宛先を示すＩＰアドレスである。「宛先ポート番号」は、中継装置１０が受信したパケットの宛先を特定するためのポート番号である。「送信元ＩＰアドレス」は、中継装置１０が受信したパケットの送信元を示すＩＰアドレスである。「送信元ポート番号」は、中継装置１０が受信したパケットの送信元を特定するためのポート番号である。選択部１３０は、たとえば、パケットのヘッダ部分に格納される情報に基づき、コネクション記憶部１１１に記憶する情報を抽出する。
【００２８】
図２中、たとえば、コネクションＩＤ「Ｃ００１」に対応づけて、「宛先ＩＰアドレス、192.168.0.1」、「宛先ポート番号、８０」、「送信元ＩＰアドレス、221.34.76.54」、「送信元ポート番号、13556」が記憶されている。なお、同じコネクションに属するパケットには、同じクライアントとウェブサーバとの間で送受信される上りパケットと下りパケットとが含まれる。つまり、宛先ＩＰアドレスと送信元ＩＰアドレス、宛先ポートと送信元ポートがそれぞれ逆になっているパケットは同一のコネクションに属する。上記の例では、「宛先ＩＰアドレス、192.168.0.1」、「宛先ポート番号、８０」、「送信元ＩＰアドレス、221.34.76.54」、「送信元ポート番号、13556」のパケットと、「宛先ＩＰアドレス、221.34.76.54」、「宛先ポート番号、13556」、「送信元ＩＰアドレス、192.168.0.1」、「送信元ポート番号、８０」のパケットと、は同じコネクションに属するものとして扱う。
【００２９】
監視対象コネクション記憶部１１２は、中継装置１０が監視対象とするコネクションの情報を記憶する。監視対象コネクション記憶部１１２に記憶する情報は、選択部１３０によって選択される。選択部１３０は、コネクション記憶部１１１に記憶するコネクションのうち、所定のコネクションを監視対象として選択し、監視対象コネクション記憶部１１２に記憶させる。
【００３０】
図３は、第１の実施形態に係る中継装置１０が記憶する監視対象コネクション情報の構成の一例を示す図である。監視対象コネクション情報の構成は、図２に示したコネクション情報の構成と同様である。ただし、監視対象コネクション情報はさらに、「ウェブサイトＩＤ」を含む。「ウェブサイトＩＤ」は、コネクションの宛先または送信元のウェブサイトを一意に識別するための情報である。図３の例では、「ウェブサイトＩＤ、Ｗ００１」によって特定されるウェブサイトに対応付けて、「コネクションＩＤ」が「Ｃ０１０」、「Ｃ０１４」、「Ｃ０２６」である３つのコネクションの情報が記憶されている。コネクションＩＤ「Ｃ０１０」のコネクションの宛先ＩＰアドレス「192.158.9.3」および宛先ポート番号「８０」は、コネクションＩＤ「Ｃ０１４」のコネクションの宛先ＩＰアドレスおよび宛先ポート番号とそれぞれ同一である。すなわち、コネクション「Ｃ０１０」を介して送信されるパケットの宛先は、コネクション「Ｃ０１４」を介して送信されるパケットの送信元と同一である。選択部１３０は、後述するウェブサイト記憶部１１３に記憶されるウェブサイトの情報を参照して、パケットの宛先および送信元のウェブサイトを特定する。そして、同一のウェブサイトを宛先または送信元とするパケットを当該ウェブサイトに対応付けて記憶する。図３の例では、ＩＰアドレス「192.158.9.3」、ポート番号「８０」で特定されるウェブサイトのウェブサイトＩＤは「Ｗ００１」である（図４参照）。監視対象コネクション記憶部１１２は、このように、各コネクションの宛先または送信元であるウェブサイトごとにコネクションを記憶する。
【００３１】
ウェブサイト記憶部１１３は、中継装置１０を経由するデータの送信元または宛先となるウェブサイトの情報を記憶する。図４は、第１の実施形態に係る中継装置１０が記憶するウェブサイト情報の構成の一例を示す図である。図４に示すように、ウェブサイト記憶部１１３は、「ウェブサイトＩＤ」と「ＩＰアドレス」とを対応づけて記憶する。「ウェブサイトＩＤ」は、ウェブサイトを一意に識別するための識別子であり、図３に示したものと同様である。「ＩＰアドレス」は、ウェブサイトを一意に特定するための、当該ウェブサイトのＩＰアドレスを示す情報である。「ＩＰアドレス」はたとえば、図２、図３に示す「宛先ＩＰアドレス」や「送信元ＩＰアドレス」と同様である。図４の例ではたとえば、「ウェブサイトＩＤ、Ｗ００１」に対応付けて、「ＩＰアドレス、192.158.9.3」が記憶されている。なお、図４の例では、ＩＰアドレスによってウェブサイトを特定するものとしたが、これに限定されず、ＩＰアドレスとポート番号との組によってウェブサイトを特定する構成としてもよい。
【００３２】
上限値記憶部１１４は、中継装置１０において監視対象とするコネクションの上限値を記憶する。ここで、上限値とは、検知システム１において解析装置２０が同時に解析対象とするコネクションの数の上限数である。解析装置２０が同時に解析可能な情報量には限りがあるため、解析装置２０の処理能力等に基づき、上限値を予め算出する。選択部１３０は、予め定められた上限値の範囲内で、監視対象コネクションを選択する。
【００３３】
第１の実施形態に係る検知システム１では、選択部１３０は、上限値の範囲内で選択可能な監視対象コネクションの数を各ウェブサイトに割り当てる。たとえば、予め定められた上限値が１０００であり、監視対象となるウェブサイトの数が１００であるとする。この場合、たとえば、各ウェブサイトに監視対象コネクションを均等に割り当てるとすれば、各ウェブサイトを宛先または送信元とするコネクションのうち１０のコネクションを監視対象コネクションとすることができる。第１の実施形態では、このように検知システム１全体として同時に解析可能な監視対象コネクションの上限値を設定するとともに、各ウェブサイトに対応して監視対象とすることができるコネクションの数を設定する。以下、各ウェブサイトに割り当てられる監視対象コネクションの上限数を解析コネクション枠と呼ぶ。第１の実施形態では、各ウェブサイトに均等に解析コネクション枠を割り当てるものとする。ただし、解析コネクション枠の割当手法はこれに限定されない。
【００３４】
上限値記憶部１１４は、このようにして算出された解析コネクション枠を記憶する。図５は、第１の実施形態に係る中継装置１０が記憶する上限値情報の構成の一例を示す図である。図５に示すように、上限値記憶部１１４は、「ウェブサイトＩＤ」と「解析コネクション枠」とを対応づけて記憶する。「ウェブサイトＩＤ」はウェブサイトを一意に識別するための識別子であり、「解析コネクション枠」は各ウェブサイトに対応づけて割り当てられる監視対象コネクションの上限数を示す。図５の例では、「ウェブサイトＩＤ、Ｗ００１」のウェブサイトに対応付けて、「解析コネクション枠、１０」が記憶されている。これは、ウェブサイトＩＤ「Ｗ００１」で識別されるウェブサイトを宛先または送信元とするコネクションを、１０個まで監視対象とすることができることを意味する。
【００３５】
［解析装置２０の構成の一例］
次に再び図１を参照し、解析装置２０の構成の一例について説明する。解析装置２０は、中継装置１０がミラーリングしたパケットを解析して不正なパケットまたはコネクションを検知する。解析装置２０はまた、検知した不正なパケットまたはコネクションについて中継装置１０に通知する。
【００３６】
図１に示すように、解析装置２０は、記憶部２１０と、検知部２２０とを備える。
【００３７】
記憶部２１０は、記憶部１１０と同様たとえば、半導体メモリ素子や記憶装置である。記憶部２１０はたとえば、中継装置１０から送信される監視対象パケットを一時的に記憶し、検知した不正なパケットまたはコネクションに関する情報を記憶する。記憶部２１０は、不正コネクション記憶部２１１を備える。不正コネクション記憶部２１１は、解析装置２０が検知した不正な通信に関する情報を記憶する。
【００３８】
検知部２２０は、中継装置１０からミラーリングされたパケットを解析して、不正な通信を検知する。検知部２２０はたとえば、クライアントからウェブサイトへの通信間隔が所定のパターンに合致するコネクションを検知して、不正コネクションとして不正コネクション記憶部２１１に記憶する。また、検知部２２０は、検知した不正なパケットまたはコネクションの情報を中継装置１０に通知する。
【００３９】
［第１の実施形態に係る検知方法の処理の流れの一例］
図６は、第１の実施形態に係る検知方法の処理の流れの一例を示すフローチャートである。図６に示すように、処理が開始するとまず、中継装置１０の中継部１２０がパケットを受信する（ステップＳ２０１）。中継部１２０は、受信したパケットを当該パケットの宛先に送信するとともに、選択部１３０に渡す。選択部１３０は、パケットに含まれるコネクション情報を抽出する（ステップＳ２０２）。選択部１３０は、記憶部１１０に記憶されている情報を参照して、抽出した情報を監視対象コネクションの情報として選択するか否かを判定する（ステップＳ２０３）。選択部１３０は、当該コネクションの情報を監視対象コネクションの情報として選択する、と判定した場合（ステップＳ２０３、肯定）、当該コネクションの情報を監視対象コネクション記憶部１１２に記憶する（ステップＳ２０４）。他方、選択部１３０は、当該コネクションの情報を監視対象コネクションの情報として選択しない、と判定した場合（ステップＳ２０３、否定）、ステップＳ２０１に戻る。次に、抽出部１４０は、受信したパケットからコネクション情報を抽出して、監視対象コネクション記憶部１１２に記憶された情報と照合し、記憶されたコネクション情報を含むパケットを抽出し、解析装置２０にミラーリングする（ステップＳ２０５）。解析装置２０は、ミラーリングされたパケットを解析し不正な通信を検知する（ステップＳ２０６）。解析装置２０は、不正な通信を検知した場合は、当該通信を構成するパケットまたはコネクションの情報を不正コネクション記憶部２１１に記憶し、中継装置１０に通知する。これで第１の実施形態に係る検知処理が終了する。
【００４０】
［監視対象コネクションの選択：パケット受信時の選択部の処理］
次に、中継装置１０の選択部１３０による監視対象コネクションの選択処理についてさらに説明する。図７は、第１の実施形態に係る監視対象コネクションの選択処理の流れの一例を示すフローチャートである。なお、図７に示す選択処理は概ね図６のステップＳ２０１からステップＳ２０４の処理に対応する。
【００４１】
図７に示すように、選択部１３０は、中継部１２０が受信したパケットを受け取る（ステップＳ７０１）。そして、選択部１３０は、受信したパケットに含まれるコネクションの情報を抽出する（ステップＳ７０２）。選択部１３０は、コネクション記憶部１１１を参照し、抽出したコネクションの情報が記憶されているか否かを判定する（ステップＳ７０３）。そして、コネクション記憶部１１１に記憶されていないと判定した場合（ステップＳ７０３、否定）、選択部１３０は、当該情報をコネクション記憶部１１１に記憶し（ステップＳ７０４）、ステップＳ７０５に進む。他方、コネクション記憶部１１１に記憶されていると判定した場合（ステップＳ７０３、肯定）、そのまま選択部１３０はステップＳ７０５に進む。
【００４２】
そして、選択部１３０は、ウェブサイト記憶部１１３を参照し、受信したパケットから抽出したコネクションの宛先または送信元のＩＰアドレスに対応するウェブサイトを特定する（ステップＳ７０５）。そして、選択部１３０は、特定したウェブサイトに対応付けて監視対象コネクション記憶部１１２に記憶されているコネクションの情報を参照し、受信したパケットのコネクション情報が記憶済みか否かを判定する（ステップＳ７０６）。記憶済みと判定した場合（ステップＳ７０６、肯定）、選択部１３０は選択処理を終了する。他方、記憶されていないと判定した場合（ステップＳ７０６、否定）、選択部１３０は、上限値記憶部１１４を参照し、特定したウェブサイトに対応する解析コネクション枠を読み出す（ステップＳ７０７）。選択部１３０は次に、特定したウェブサイトに対応づけて記憶されている監視対象コネクションの数が、読み出した解析コネクション枠よりも少ないか否かを判定する（ステップＳ７０８）。解析コネクション枠よりも少ない場合（ステップＳ７０８、肯定）、選択部１３０は、受信したパケットのコネクション情報を監視対象コネクションとして監視対象コネクション記憶部１１２に記憶させ（ステップＳ７０９）、選択処理を終了する。他方、解析コネクション枠以上である場合（ステップＳ７０８、否定）、選択部１３０は選択処理を終了する。これで、監視対象コネクションの選択処理が終了する。
【００４３】
［記憶部１１０に記憶されるコネクション情報の更新タイミング］
上の説明では、選択部１３０は、新しくパケットを受信するごとにコネクション記憶部１１１に格納されたコネクション情報と照合して、格納されていないコネクション情報を追加で記憶させるものとした。また、選択部１３０は、新しくパケットを受信するごとに監視対象コネクション記憶部１１２に格納された監視対象コネクション情報と照合するものとした。しかし、記憶部１１０に記憶される情報の更新タイミングは上記に限定されない。
【００４４】
たとえば、選択部１３０は、新しく受信したパケットが、ＴＣＰコネクションを確立させるスリーウェイハンドシェイクの処理を構成するパケットである場合のみ、記憶される情報を更新するものとしてもよい。たとえば、選択部１３０は、スリーウェイハンドシェイクを構成するパケットのうち、コネクション確立要求に対する応答メッセージであるパケットを受信したタイミングで、コネクション記憶部１１１に当該コネクションの情報を記憶させてもよい。また、選択部１３０は、スリーウェイハンドシェイクを構成するパケットのうち、コネクション確立を示すメッセージであるパケットを受信したタイミングで、コネクション記憶部１１１に当該コネクションの情報を記憶させてもよい。たとえば、ＳＹＮパケットの受信タイミングで情報を更新するものとしてもよい。
【００４５】
なお、ＴＣＰではなくＵＤＰの場合は、コネクションの開始を示すパケットがないため、パケットを受信するたびに当該パケットに含まれるコネクションの情報を記憶部１１０に記憶された情報と照合すればよい。
【００４６】
また、更新部１５０が監視対象コネクションを削除する際に、選択部１３０に通知して、選択部１３０が、コネクション記憶部１１１に記憶されているが監視対象コネクションとして選択されていないコネクションを監視対象コネクションに追加してもよい。
【００４７】
また、選択部１３０は、パケットの受信がなくとも所定期間ごとに解析コネクション枠に空きがないか判定して、空きがあればコネクション記憶部１１１に記憶されたコネクションで監視対象コネクションを補充するようにしてもよい。
【００４８】
なお、監視対象コネクション記憶部１１２に記憶される情報の更新タイミングについては、上限値記憶部１１４の更新タイミングと同期させなくてよい。たとえば、監視対象コネクション記憶部１１２に記憶される各ウェブサイトあたりのコネクション数が、上限数よりも多い場合は、選択部１３０は、それ以上監視対象とするコネクションを追加しない。そして、更新部１５０の処理により、監視対象コネクション数が上限数以下となるまで待つ。また、監視対象コネクション記憶部１１２に記憶される各ウェブサイト当たりのコネクション数が、新しい上限数よりも少ない場合は、選択部１３０は、予め定められた更新タイミングで監視対象コネクションを上限数以内で追加すればよい。
【００４９】
また、各ウェブサイトに対して割り当てる監視対象コネクションの数（解析コネクション枠）も、必ずしも均等に割り当てなくてもよい。たとえば、過去に不正が検知されたウェブサイトや、セキュリティ対策が十全でないウェブサイト等については、解析コネクション枠を多くとる等、任意に解析コネクション枠を割り当ててよい。
【００５０】
また、検知システム１全体としての監視対象コネクションの上限値および解析コネクション枠は、ユーザ等が手動で設定入力してもよいし、解析装置２０の処理能力や中継装置１０が配置されるネットワーク上の通信量等に基づいて自動的に初期設定されるものとしてもよい。
【００５１】
［第１の実施形態の効果］
第１の実施形態に係る検知システムは、データを中継する中継部と、中継部が中継するデータが通過するコネクションのうち、所定のコネクションを選択する選択部と、中継部が中継するデータのうち、選択部により選択された所定のコネクションに対応するデータを抽出する抽出部と、抽出部が抽出したデータを解析して不正な通信を行うコネクションを検知する検知部と、を備える。
【００５２】
このように、第１の実施形態に係る検知システムは、ネットワーク上を流れるパケットのうち、所定のコネクションに対応するパケットを選択して監視する。このため、ネットワーク上を流れるパケットをすべて監視する場合と比較して、パケットの監視に要する負荷を減じることができる。また、第１の実施形態に係る検知システムによれば、攻撃通信を行うコネクションが監視対象コネクションとして選択された場合には、ネットワーク上のすべてのパケットを監視対象としている場合と同じ精度で攻撃を検知することができる。また、Ｓｌｏｗ  ＤｏＳ攻撃のように多数のコネクションを用いて攻撃を実行する手法に対しては、高い確率で攻撃検知を実現することができる。
【００５３】
また、第１の実施形態に係る検知システムは、選択部が選択した所定のコネクションを記憶する記憶部をさらに備え、選択部は、記憶部に記憶されるコネクションのうち、所定のウェブサイトを端点とするコネクションの総数が第１の所定数以下となるよう所定のコネクションを選択する。すなわち、第１の実施形態に係る検知システムでは、選択部は、解析コネクション枠の範囲内で各ウェブサイトに対応する監視対象コネクションを選択する。このため、解析装置にかかる処理負担を抑制しつつ、監視対象となっているウェブサイトに対してＳｌｏｗ  ＤｏＳ攻撃が発生した場合に高確率で攻撃を検知することができる。
【００５４】
また、第１の実施形態に係る検知システムは、記憶部に記憶されるコネクションを更新する更新部をさらに備え、更新部は、記憶部に記憶されるコネクションが終了したとき、または、中継部が当該コネクションに対応するデータを所定の期間中継しなかったとき、当該コネクションを記憶部から削除する。このため、監視の必要がなくなったコネクションや監視の必要性が低いコネクションを迅速に監視対象からはずして効率的に監視対象を選択し、攻撃を検知することができる。
【００５５】
第１の実施形態に係る検知システム、検知方法および検知プログラムは、特にＳｌｏｗ  ＤｏＳ攻撃のように大量の不正コネクションを発生させる攻撃の検知に有効である。Ｓｌｏｗ  ＤｏＳ攻撃の場合、攻撃者は特定のウェブサイト宛に大量の不正コネクションを確立し、そのコネクションを長時間維持する。それによって、ウェブサイトの同時処理可能なコネクションを消尽させる。このような場合には、ウェブサイトが接続しているコネクションの大部分が攻撃者による不正なセッションとなることも考えられる。第１の実施形態に係る検知システムでは、各ウェブサイトごとに解析コネクション枠を設けて、一定数のコネクションをミラーリングする。このため、一つのウェブサイトに対して多数の不正なコネクションが発生していれば、いずれかの不正なコネクションが監視対象となる可能性が高い。また、監視対象となったコネクションについてはすべての対応するパケットが解析対象となる。このため、高い確率で攻撃を検知することができる。
【００５６】
また、第１の実施形態においては、所定のコネクションに対応するパケットをすべてミラーリングして解析するため、所定のコネクションに特有の攻撃パターンがある場合に、当該攻撃パターンを検知することが可能である。
【００５７】
（第１の実施形態の変形例１−リアルタイムでの解析コネクション枠設定）
上の説明では、監視対象コネクションの上限値すなわち解析コネクション枠は予め設定するものとした。しかし、これに限定されず、たとえば、リアルタイムで監視対象コネクションの上限値を変化させるように構成してもよい。
【００５８】
図８は、第１の実施形態の変形例１の検知システム１ａの構成の一例を示す図である。図８に示すように、変形例１の検知システム１ａが備える中継装置１０ａは、算出部１６０をさらに備える。また、変形例１の検知システム１ａが備える解析装置２０ａは、使用率情報収集通知部２３０をさらに備える。なお、変形例１にかかる検知システム１ａの構成および機能は、特に説明しない限り第１の実施形態の検知システム１と同様である。
【００５９】
変形例１の検知システム１ａでは、使用率情報収集通知部２３０は、解析装置２０ａの計算資源の使用率を示す情報を定期的に収集する。そして、使用率情報収集通知部２３０は、収集した情報を、中継装置１０ａの算出部１６０に通知する。算出部１６０は、通知された使用率情報と、その時点で監視対象コネクションとして記憶されているコネクションの数とに基づき、監視対象コネクションとして設定できるコネクションの上限数を算出する。
【００６０】
たとえば、算出部１６０は、以下の式（１）に基づき、上限数を算出する。
【数１】
0006441748.tif 000002
ただし、式（１）中、Ｕは監視対象コネクションの上限値、ｐは計算資源の使用率、ｃはその時点で記憶されている監視対象コネクションの数を示す。
【００６１】
算出部１６０は、上記のようにして算出した上限値の情報に基づき、各ウェブサイトに対して割り当てる解析コネクション枠を算出する。そして、算出部１６０は、上限値記憶部１１４ａに記憶される解析コネクション枠の数値を更新する。
【００６２】
なお、算出部１６０は、計算資源使用率としてたとえば、ＣＰＵ使用率、メモリ使用率、または両者の組み合わせを使用することができる。
【００６３】
このように、解析装置の資源の使用状況に応じて動的に解析コネクション枠を設定することで、解析装置の資源を有効活用して効率的に攻撃を検知することができる。
【００６４】
（第２の実施形態）
第１の実施形態では、ネットワーク上を流れるパケットのうち特定のコネクションに対応するパケットを監視対象とした。第２の実施形態では、これに加えて、不正な通信が検知された場合には、当該不正な通信に対応するウェブサイトに対する監視を強化する。すなわち、第２の実施形態に係る検知システムでは、監視対象となっているウェブサイトごとに、不正な通信の検知状況に応じた監視重要度を設定する。そして、監視重要度の変動にあわせて、当該ウェブサイトを宛先または送信元とする監視対象コネクションの上限数を変動させる。すなわち、不正通信の検知に応じて、監視対象となるパケットのサンプリングレートを変動させる。このため、不正な攻撃が発生する可能性が高い通信（パケット、コネクション）の監視状態を動的に調整することができる。
【００６５】
［第２の実施形態に係る検知システム１Ａの構成の一例］
図９は、第２の実施形態に係る検知システム１Ａの構成の一例を示す図である。図９に示すように、第２の実施形態に係る検知システム１Ａの構成は、概ね図１に示す第１の実施形態に係る検知システム１の構成と同様である。ただし、第２の実施形態に係る検知システム１Ａは、監視重要度算出部２４０Ａおよび監視重要度記憶部２１２Ａを備える点が、第１の実施形態に係る検知システム１と異なる。以下、第１の実施形態と同様の機能および構成については説明を省略する。
【００６６】
第２の実施形態に係る検知システム１Ａが備える中継装置１０Ａは、記憶部１１０Ａ、中継部１２０Ａ、選択部１３０Ａ、抽出部１４０Ａ、更新部１５０Ａを備える。また、記憶部１１０Ａは、コネクション記憶部１１１Ａ、監視対象コネクション記憶部１１２Ａ、ウェブサイト記憶部１１３Ａ、上限値記憶部１１４Ａを備える。これら各部の構成および機能は、第１の実施形態に係る同様の部分と同様である。ただし、中継装置１０Ａにおいては、更新部１５０Ａにおける処理および上限値記憶部１１４Ａに記憶される情報の構成が、第１の実施形態に係る更新部１５０における処理および上限値記憶部１１４に記憶される情報の構成と異なる。
【００６７】
第２の実施形態に係る検知システム１Ａが備える解析装置２０Ａは、記憶部２１０Ａ、検知部２２０Ａ、監視重要度算出部２４０Ａを備える。記憶部２１０Ａは、不正コネクション記憶部２１１Ａと監視重要度記憶部２１２Ａとを備える。第２の実施形態に係る解析装置２０Ａは、監視重要度算出部２４０Ａおよび監視重要度記憶部２１２Ａを備える点が第１の実施形態に係る解析装置２０と異なる。
【００６８】
中継装置１０Ａは、ネットワーク上に確立されるコネクションのうち所定のコネクションを監視対象とする。監視対象とするコネクションは、ウェブサイトごとに上限値が定められ、中継装置１０Ａは上限値の範囲内で監視対象を選択する。そして、中継装置１０Ａは、ネットワーク上を流れるパケットを受信して、監視対象であるコネクションに対応するパケットを抽出し、解析装置２０Ａにミラーリングする。解析装置２０Ａは、ミラーリングされたパケットを解析して、ウェブサイトに対する攻撃などを構成する不正な通信を検知する。これらの点は第１の実施形態と同様である。解析装置２０Ａは、不正な通信を検知すると、当該不正な通信の対象となっているウェブサイトの監視重要度をアップさせる。たとえば、受信したパケットからウェブサイトに対する攻撃を検知した場合、解析装置２０Ａは、当該ウェブサイトに対応づけて記憶されている監視重要度を増加させる。監視重要度は、ウェブサイトと対応付けて監視重要度記憶部２１２Ａに記憶される。解析装置２０Ａは、監視重要度を更新した場合、中継装置１０Ａに通知する。中継装置１０Ａは、通知された監視重要度に応じて、上限値記憶部１１４Ａに記憶される解析コネクション枠を更新する。そして、選択部１３０Ａは更新後の解析コネクション枠に基づき、監視対象コネクションを選択する。
【００６９】
図１１は、第２の実施形態に係る検知システム１Ａが備える解析装置２０Ａに記憶される監視重要度情報の構成の一例を示す図である。図１１に示すように、監視重要度記憶部２１２Ａに記憶される監視重要度情報においては、「ウェブサイトＩＤ」と「監視重要度」とが対応づけられている。「ウェブサイトＩＤ」は、図４に示したウェブサイト情報に含まれる「ウェブサイトＩＤ」と同様である。「監視重要度」は、各ウェブサイトに対する通信監視の重要性を示す値である。すなわち当該ウェブサイトに対する攻撃が発生する可能性の大小を示す値である。たとえば、ウェブサイトに対する攻撃が発生する可能性が高ければ監視重要度を高く設定し、ウェブサイトに対する攻撃が発生する可能性が低ければ監視重要度を低く設定する。図１１の例ではたとえば、「ウェブサイトＩＤ、Ｗ００１」に対応付けて「監視重要度、１０」が記憶されている。
【００７０】
たとえば、検知システム１Ａによる通信監視を開始する時に、ネットワーク上で通信が検知される各ウェブサイトにデフォルトで「５」の監視重要度を付与する。そして、通信監視の開始後、監視重要度算出部２４０Ａは、不正な通信が検知されたウェブサイトの監視重要度を検知ごとに「５」増加させる。また、通信監視の開始後、監視重要度算出部２４０Ａは、所定期間にわたって不正な通信が検知されなかったウェブサイトの監視重要度を所定期間経過ごとに「１」減少させる。このように、監視重要度算出部２４０Ａは、各ウェブサイトにおいて不正が検知される可能性の大小に応じて監視重要度を変動させる。
【００７１】
図１２は、第２の実施形態に係る検知システム１Ａが備える中継装置１０Ａに記憶される上限値情報の構成の一例を示す図である。図１２に示す第２の実施形態に係る上限値情報は、図５に示す第１の実施形態に係る上限値情報と、「監視重要度」が含まれる点で異なる。図１２に示すように、第２の実施形態に係る上限値情報は、「ウェブサイトＩＤ」に対応づけて、「監視重要度」と「解析コネクション枠」とを含む。「ウェブサイトＩＤ」、「解析コネクション枠」は図４，５等に示したものと同様である。
【００７２】
［第２の実施形態における再割当処理の流れの一例］
図１０は、第２の実施形態に係る検知方法における解析コネクション枠を更新する再割当処理の流れの一例を示すフローチャートである。図１０に示す再割当処理は、例えば図６に示す処理と並行して実行される。なお、第２の実施形態においても、中継部１２０Ａ、選択部１３０Ａ、抽出部１４０Ａにおける処理は、第１の実施形態の中継部１２０、選択部１３０、抽出部１４０と同様である。また、検知部２２０Ａの処理も検知部２２０と同様である。
【００７３】
なお、第２の実施形態に係る上限値記憶部１１４Ａにおいては、たとえば、通信監視の開始時にすべてのウェブサイトに対応付けて「監視重要度、５」が付与される。この場合、すべてのウェブサイトの監視重要度が同じであるため、解析コネクション枠をすべてのウェブサイトに対して均等に割り当てる。たとえば、ウェブサイトの数が１０、監視対象コネクションの上限値が１００であれば、各ウェブサイトの解析コネクション枠を１０とする。
【００７４】
通信監視が継続して実行され、解析装置２０Ａの検知部２２０Ａが不正な通信を検知したとする。たとえば、検知部２２０Ａが、ウェブサイトＩＤ「Ｗ００１」のウェブサイトを宛先とするコネクションＩＤ「Ｃ０１０」のコネクションにおいて不正な通信に属するパケットを検知したとする。すると、検知部２２０Ａは、検知した不正なコネクションの情報を不正コネクション記憶部２１１Ａに記憶する。監視重要度算出部２４０Ａは、所定期間ごとに、不正な通信の検知有無を不正コネクション記憶部２１１Ａを参照してチェックする。そして、不正な通信が検知されていれば、検知回数に応じて監視重要度記憶部２１２Ａに記憶される監視重要度を増加させる。たとえば検知回数が１回であれば５、２回であれば１０だけ監視重要度を増加させる。また、監視重要度算出部２４０Ａは、不正な通信の検知がなければ監視重要度を１減少させる。
【００７５】
更新後の監視重要度は中継装置１０Ａに通知される。中継装置１０Ａは、上限値記憶部１１４Ａに記憶される「監視重要度」を通知された値に更新する。そして、上限値記憶部１１４Ａに記憶される「解析コネクション枠」を更新後の監視重要度の値に対応する値となるよう更新する。
【００７６】
図１０を参照し、まず、監視重要度算出部２４０Ａは、前回の再割当処理から所定時間が経過したか、または通信監視の開始から所定時間が経過したか、を判定する（ステップＳ９０１）。所定時間が経過していないと判定すると（ステップＳ９０１、否定）、監視重要度算出部２４０Ａは、ステップＳ９０１に戻って判定を繰り返す。他方、所定時間が経過したと判定すると（ステップＳ９０１、肯定）、監視重要度算出部２４０Ａは、所定時間内に不正な通信を検知したか否かを判定する（ステップＳ９０２）。不正な通信を検知したと判定すると（ステップＳ９０２、肯定）、監視重要度算出部２４０Ａは、検知した不正な通信の数に応じて監視重要度記憶部２１２Ａに記憶される監視重要度を増加させて更新する（ステップＳ９０３）。他方、不正な通信を検知していないと判定すると（ステップＳ９０２、否定）、監視重要度算出部２４０Ａは、監視重要度記憶部２１２Ａに記憶される監視重要度を所定の数だけ減少させて更新する（ステップＳ９０４）。
【００７７】
そして、監視重要度算出部２４０Ａは更新後の監視重要度を中継装置１０Ａに通知する（ステップＳ９０５）。中継装置１０Ａでは更新部１５０Ａが更新後の監視重要度の通知を受け、上限値記憶部１１４Ａに記憶された監視重要度を更新する。さらに、更新部１５０Ａは、更新後の監視重要度に応じた解析コネクション枠を、ウェブサイトＩＤに対応付けて算出し記憶する（ステップＳ９０６）。これによって、解析コネクション枠を更新する処理が終了する。
【００７８】
なお、第２の実施形態においては、ミラーリングされたパケットを解析することで不正な攻撃を受けているウェブサイトを特定するものとした。ただし、これに限定されず、たとえば、不正な攻撃を受けているウェブサイトの情報を外部のセキュリティシステムから取得して、当該ウェブサイトの監視重要度のスコアを増加させるように構成してもよい。また、不正な攻撃を検知したシステムに応じて増加させるスコアの値を変動させてもよい。たとえば、システムＡから通知された不正な攻撃を受けているウェブサイトについてはスコアを１増加させ、システムＢから通知された不正な攻撃を受けているウェブサイトについてはスコアを５増加させる等、システムの信頼性に応じた調整をおこなってもよい。
【００７９】
［第２の実施形態の効果］
このように、第２の実施形態に係る検知システムは、各ウェブサイトを宛先または送信元とする不正な通信の検知回数に応じて変化する、各ウェブサイトの監視重要度を算出する算出部をさらに備え、記憶部はさらに、各ウェブサイトに対応づけて、当該ウェブサイトの監視重要度と、記憶部に記憶可能なコネクションの数と、を記憶し、選択部は、監視重要度に応じて変動する第１の所定数以下となるよう所定のコネクションを選択する。このため、第２の実施形態に係る検知システムは、不正な通信の検知回数に応じて各ウェブサイトに割り当てられる監視対象コネクションの数を調整することができる。このため、不正な通信が多く、監視の必要性が高いウェブサイトの監視対象コネクションを増やして、監視を強化することができる。また、不正な通信が生じていないウェブサイトについては、監視対象コネクションを減らして、検知システムの負荷を減じることができる。
【００８０】
このように、第２の実施形態に係る検知システム１Ａでは、不正な通信が発生したウェブサイトが送受信するパケットのサンプリングレートを上げるのと同じ効果が得られる。また、通信の監視に係る解析装置２０Ａの負荷を抑制しつつ、不正な通信が発生しているウェブサイトについて監視対象とするコネクションの数を増やすことができる。このため、第２の実施形態に係る検知システム１Ａにおいては、複数のＩＰアドレスから１つのウェブサイトが攻撃を受けている場合などに、複数の攻撃元ＩＰアドレスを効率的に検知することができる。
【００８１】
（第３の実施形態）
第２の実施形態では、ウェブサイトに対応付けて監視重要度を設定し、不正な通信の有無に応じて監視重要度を変動させた。そして、監視重要度に応じて解析コネクション枠を変動させることで、ネットワーク上の不正な通信の有無に応じて監視を強化するものとした。第３の実施形態では、ウェブサイトに対応付けて監視重要度を設定するのではなく、コネクションに対応付けて監視重要度を設定する。そして、第３の実施形態では監視重要度に基づいて、監視の必要性が低いコネクションを監視対象コネクションから削除する。
【００８２】
［第３の実施形態に係る検知システム１Ｂの構成の一例］
図１３は、第３の実施形態に係る検知システム１Ｂの構成の一例を示す図である。図１３に示す検知システム１Ｂの構成は、図９に示す第２の実施形態に係る検知システム１Ａの構成と同様である。ただし、第３の実施形態においては、監視重要度算出部２４０Ｂにおける処理と、監視重要度記憶部２１２Ｂに記憶する情報の構成とが、第２の実施形態の監視重要度算出部２４０Ａにおける処理と、監視重要度記憶部２１２Ａに記憶する情報の構成と異なる。以下、第１、第２の実施形態と同様の機能および構成については説明を省略する。
【００８３】
第３の実施形態に係る検知システム１Ｂが備える中継装置１０Ｂは、記憶部１１０Ｂ、中継部１２０Ｂ、選択部１３０Ｂ、抽出部１４０Ｂ、更新部１５０Ｂを備える。また、記憶部１１０Ｂは、コネクション記憶部１１１Ｂ、監視対象コネクション記憶部１１２Ｂ、ウェブサイト記憶部１１３Ｂ、上限値記憶部１１４Ｂを備える。これら各部の構成および機能は、第２の実施形態に係る同様の部分と同様である。
【００８４】
第３の実施形態に係る検知システム１Ｂが備える解析装置２０Ｂは、記憶部２１０Ｂ、検知部２２０Ｂ、監視重要度算出部２４０Ｂを備える。記憶部２１０Ｂは、不正コネクション記憶部２１１Ｂと監視重要度記憶部２１２Ｂとを備える。
【００８５】
［第３の実施形態に係る検知システム１Ｂに記憶される情報］
図１５は、第３の実施形態に係る検知システム１Ｂが備える解析装置２０Ｂに記憶される監視重要度情報の構成の一例を示す図である。図１５に示す情報は、監視重要度記憶部２１２Ｂに記憶される。監視重要度情報は、「コネクションＩＤ」に対応づけて「スコア」と「監視重要度」とを含む。「コネクションＩＤ」は、たとえば図２に示した「コネクションＩＤ」と同様である。「スコア」は、各コネクションに対応して検知された不正通信が疑われる通信パターンの検知回数を評価する評価値である。「監視重要度」は、各コネクションにおける通信を監視する重要度を示す値である。すなわち、「監視重要度」は、当該コネクションにおいて不正な通信が発生する可能性を評価した値である。第３の実施形態における監視重要度は、第２の実施形態における監視重要度とは異なる方法で算出する。
【００８６】
第３の実施形態に係る監視重要度算出部２４０Ｂは、検知部２２０Ｂが検知した不正通信が疑われる通信パターンの検知回数に応じて、各コネクションをスコアリングする。そして、監視重要度算出部２４０Ｂは、各コネクションのスコアに応じて監視重要度を算出する。監視重要度算出部２４０Ｂが算出したスコアと監視重要度とは、監視重要度記憶部２１２Ｂに記憶される。監視重要度算出部２４０Ｂは、スコアが第１の閾値を超えるコネクションは不正コネクションとして中継装置１０Ｂに通知する。また、監視重要度算出部２４０Ｂは、スコアに応じて監視重要度を算出する。そして、監視重要度算出部２４０Ｂは、算出した監視重要度が第２の閾値を下回る場合、当該監視重要度のコネクションを中継装置１０Ｂに通知する。中継装置１０Ｂは、通知されたコネクションを監視対象コネクションから削除する。
【００８７】
［第３の実施形態における監視重要度の算出処理］
図１４は、第３の実施形態に係る監視重要度の算出処理の流れの一例を示すフローチャートである。監視重要度算出部２４０Ｂは、通信監視が開始してからまたは前回の監視重要度算出処理から所定時間が経過したか否かを判定する（ステップＳ１３０１）。所定時間が経過していないと判定した場合は（ステップＳ１３０１、否定）、監視重要度算出部２４０Ｂは、ステップＳ１３０１を繰り返す。所定時間が経過したと判定した場合は（ステップＳ１３０１、肯定）、監視重要度算出部２４０Ｂは、各監視対象コネクションについて所定時間内に不正な通信が検知されたか否かを判定する（ステップＳ１３０２）。不正な通信が検知されたと判定した場合（ステップＳ１３０２、肯定）、監視重要度算出部２４０Ｂは、当該コネクションのコネクションＩＤに対応付けて記憶されているスコアを、不正な通信が検知された回数に応じて増加させる（ステップＳ１３０３）。たとえば、監視重要度算出部２４０Ｂは、不正な通信が２回発生していれば、２×１＝２だけスコアを増加させる。他方、不正な通信が検知されていないと判定した場合（ステップＳ１３０２、否定）、監視重要度算出部２４０Ｂは、該当するコネクションのコネクションＩＤに対応付けて記憶されているスコアを所定値だけ減少させる（ステップＳ１３０４）。たとえば、監視重要度算出部２４０Ｂは、スコアを１減少させる。
【００８８】
そして、監視重要度算出部２４０Ｂは、減少または増加させて更新した後のスコアが所定の閾値（Ｔｈ１）より大きいか否かを判定する（ステップＳ１３０５）。スコアが所定の閾値（Ｔｈ１）以下であると判定した場合（ステップＳ１３０５、否定）、監視重要度算出部２４０Ｂは、スコアに基づき監視重要度を算出する（ステップＳ１３０６）。監視重要度はたとえば、その時点でのスコアｓを、通信監視の開始時点からの経過時間ｔ（秒）で除した値（ｓ／ｔ）とする。
【００８９】
ここで、スコアを、通信開始の開始時点からの経過時間ｔで除した値としたのは、ウェブサイトの監視重要度は時間経過で変化しないが、コネクションの重要度は時間経過とともに低下することがあるためである。また、長時間かけてスコアが増加したコネクションよりも短時間でスコアが増加したコネクションの方が不正コネクションである可能性が高いためである。なお、コネクションの重要度が時間経過によってもあまり低下しないと想定される場合には、経過時間でスコアｓを除さずに、スコアｓをそのまま監視重要度としてもよい。
【００９０】
なお、ｔで除した値を監視重要度とする場合、上述のスコアを減少させる処理は実施しなくてもよい。また、スコアを減少させる処理を一定時間ごとに実施するのであれば、監視重要度はｔで除した値としなくてもよい。
【００９１】
監視重要度算出部２４０Ｂは算出した監視重要度を監視重要度記憶部２１２Ｂに格納する。そして、監視重要度算出部２４０Ｂは、算出した監視重要度が所定の閾値（Ｔｈ２）よりも小さいか否かを判定する（ステップＳ１３０７）。監視重要度が所定の閾値（Ｔｈ２）以上であると監視重要度算出部２４０Ｂが判定した場合（ステップＳ１３０７、否定）、ステップＳ１３０１に戻る。他方、監視重要度が所定の閾値（Ｔｈ２）よりも小さいと判定した場合（ステップＳ１３０７、肯定）、監視重要度算出部２４０Ｂは、その旨を中継装置１０Ｂに通知する（ステップＳ１３０８）。通知を受けた中継装置１０Ｂの更新部１５０Ｂは、通知された監視重要度に対応するコネクションを監視対象コネクション記憶部１１２Ｂに記憶された監視対象コネクションから削除する（ステップＳ１３０９）。
【００９２】
ステップＳ１３０５に戻り、監視重要度算出部２４０Ｂは、スコアが所定の閾値（Ｔｈ１）より大きいと判定した場合（ステップＳ１３０５、肯定）、当該スコアに対応づけられているコネクションを不正コネクションとして検知する（ステップＳ１３１０）。そして、監視重要度算出部２４０Ｂは、検知した不正コネクションを中継装置１０Ｂに通知する（ステップＳ１３１１）。中継装置１０Ｂでは、通知を受けた中継部１２０Ｂが、通知された不正コネクションを介した通信を遮断する（ステップＳ１３１２）。これによって、監視重要度算出処理は終了する。
【００９３】
なお、図１４の例では、監視重要度が所定の閾値を下回ると直ちに当該コネクションを監視対象コネクションから削除するものとした。ただし、これに限られず、当該コネクションの情報を一時的に記憶しておき、選択された監視対象コネクションの数が解析コネクション枠に達したときに、監視重要度が所定の閾値を下回ったコネクションを削除するように構成してもよい。
【００９４】
また、解析装置２０Ｂが監視重要度を中継装置１０Ｂに通知するタイミングも特に限定されない。たとえば、監視重要度の更新の有無にかかわらず、所定期間ごとに解析装置２０Ｂから中継装置１０Ｂに通知するようにしてもよい。また、スコアに変動があるごとに、解析装置２０Ｂから中継装置１０Ｂに通知するようにしてもよい。
【００９５】
また、図１４の例では、解析装置２０Ｂは、所定時間ごとに算出処理を実行するものとしたが、これに限られず、不正な通信を検知するごとに、スコアおよび監視重要度を算出するようにしてもよい。
【００９６】
［第３の実施形態の効果］
このように、第３の実施形態に係る検知システムは、各コネクションに対応する不正な通信が疑われる通信パターンの検知回数に応じて変化する、各コネクションの監視重要度を算出する算出部をさらに備え、記憶部はさらに、各コネクションに対応づけて、当該コネクションの監視重要度を記憶し、更新部は、監視重要度が所定の閾値を下回ったコネクションを記憶部から削除する。このため、所定期間にわたって不正な通信が検知されないコネクションについては、監視対象コネクションから削除して、他のコネクションを監視対象とすることができ、効率的な通信監視を実現できる。
【００９７】
（第４の実施形態）
上記第１〜第３の実施形態においては、監視対象コネクションを選択する手法は特に限定せず、解析コネクション枠の範囲内で監視対象コネクションを追加できるものとした。すなわち、第１〜第３の実施形態においては、検知システムは新しいコネクションを検知するごとに、解析コネクション枠に余裕があれば、監視対象コネクションに追加する。しかし、たとえば、検知されたコネクションを検知された順番に監視対象としていった場合、攻撃を効率的に検知できない場合も考えられる。
【００９８】
図１６は、第１〜第３の実施形態に係る検知方法において、監視対象となるコネクションが偏る場合について説明するための図である。図１６では、中継装置において、所定のウェブサイトに対応して、順番にコネクションＣ１〜Ｃ１０００の１０００個のコネクションが検知されたものとする。この場合に、ウェブサイトに対応して設定されている解析コネクション枠が「５」であるとする。すると、中継装置は、検知された順番にコネクションＣ１，Ｃ２，Ｃ３，Ｃ４，Ｃ５を監視対象コネクションとする。この場合、コネクションＣ１１１〜Ｃ２００において攻撃が発生したとする。コネクションＣ１１１〜Ｃ２００は監視対象となっていないため、検知システムは攻撃を検知することができない。
【００９９】
これに対して、監視対象コネクションが順次検知されるコネクションの一部に偏らないように監視対象コネクションを選択することが考えられる。たとえば、中継装置が新しいコネクションを検知した場合に、当該コネクションを監視対象コネクションとする確率を予め設定しておくことができる。たとえば、中継装置が新しいコネクションを検知すると、解析コネクション枠に空きがあれば、当該コネクションを２０％の確率で監視対象コネクションとする。このようにすれば、監視対象コネクションが一部に偏ることがなく、効率的に不正なコネクションを検知することができる。
【０１００】
図１７は、第４の実施形態において、監視対象となるコネクションの偏りが抑制されることを説明するための図である。図１７の例では、監視対象コネクションとなっているコネクションを二重枠線で示す。つまり、図１７の例では、監視対象コネクションは、コネクションＣ５６，Ｃ１８０，Ｃ３６０，Ｃ７８０，Ｃ９５０である。このように監視対象コネクションを偏りなく選択することで、不正なコネクションの検知率を上げることができる。たとえば、攻撃がコネクションＣ１１１〜Ｃ２００において発生したとする。この場合でも、少なくともコネクションＣ１８０が監視対象コネクションとなっているため、不正な通信を検知できる。そして、不正を検知した場合に不正な通信に対応するウェブサイトの解析コネクション枠を増加させる第２の実施形態のような構成をとれば、不正な通信の検知に応じてＣ１１１〜Ｃ２００中のＣ１８０以外のコネクションも監視対象とすることができる。
【０１０１】
図１８は、第４の実施形態に係る検知システム１Ｃの構成の一例を示す図である。第４の実施形態に係る検知システム１Ｃは概ね第１の実施形態に係る検知システム１と同様の構成である。ただし、検知システム１Ｃは、コネクション記憶部および上限値記憶部を備えない。代わりに、検知システム１Ｃは、確率記憶部１１４Ｃを備える点が、第１の実施形態に係る検知システム１と異なる。
【０１０２】
第４の実施形態に係る検知システム１Ｃは、中継装置１０Ｃと解析装置２０Ｃとを備える。中継装置１０Ｃは、記憶部１１０Ｃ、中継部１２０Ｃ、選択部１３０Ｃ、抽出部１４０Ｃ、更新部１５０Ｃを備える。記憶部１１０Ｃは、監視対象コネクション記憶部１１２Ｃ、ウェブサイト記憶部１１３Ｃ、確率記憶部１１４Ｃを備える。また、解析装置２０Ｃは、記憶部２１０Ｃと検知部２２０Ｃとを備え、記憶部２１０Ｃは不正コネクション記憶部２１１Ｃを備える。中継部１２０Ｃ、抽出部１４０Ｃ、更新部１５０Ｃの処理は、第１の実施形態に係る中継部１２０、抽出部１４０、更新部１５０と同様である。また、解析装置２０Ｃの各部の処理も第１の実施形態に係る解析装置２０と同様である。
【０１０３】
第４の実施形態に係る検知システム１Ｃでは、選択部１３０Ｃは、中継部１２０Ｃから新しく受信したパケットを受け取るとコネクション情報を抽出する。そして、選択部１３０Ｃは、当該コネクション情報が監視対象コネクション記憶部１１２Ｃに記憶されていない場合、確率記憶部１１４Ｃに記憶された確率で当該コネクション情報を選択する。
【０１０４】
図１９は、第４の実施形態に係る検知システム１Ｃが記憶する確率情報の構成の一例を示す図である。図１９に示すように、確率記憶部１１４Ｃは、「ウェブサイトＩＤ」に対応付けて「選択確率」を記憶する。「選択確率」とは、対応するウェブサイトを宛先または送信元とするコネクションを新たに監視対象コネクションとして選択する確率である。選択部１３０Ｃは、確率記憶部１１４Ｃに記憶された確率に基づき、監視対象コネクションを選択する。
【０１０５】
このように構成した場合、新しいコネクション情報を含むパケットの受信と同時に監視対象コネクションとして選択するか否かの処理を実行でき、監視対象コネクション以外のコネクションの情報は記憶しておかなくともよい。このため、コネクション記憶部は設けなくてよい。また、選択確率をすべてのウェブサイトに対して一律に設定するのであれば、確率記憶部１１４Ｃも設けなくともよい。
【０１０６】
また、選択確率は固定とせずともよく、検知システム１Ｃの負荷に応じて動的に設定してもよい。たとえば、第２の実施形態のように、ウェブサイトごとに監視重要度を設定する場合は、監視重要度に対応させてウェブサイトごとに選択確率を設定してもよい。
【０１０７】
なお、監視対象コネクションの選択処理を行うタイミングは、第１の実施形態と同様、スリーウェイハンドシェイクの完了時点や、ＳＹＮパケットの受信時点などでもよい。また、第４の実施形態と第１〜第３の実施形態を組み合わせ、選択確率を用いて監視対象コネクションを選択するとともに、解析コネクション枠内で選択するようにしてもよい。
【０１０８】
［第４の実施形態の効果］
第４の実施形態における検知システムにおいては、選択部は、中継部が中継するデータが通過するコネクションから、所定の確率で所定のコネクションを選択する。このため、検知されたコネクションを偏りなく選択することができ、不正なコネクションの検知率を向上させることができる。
【０１０９】
また、第４の実施形態のように検知システムを構成した場合、受信したパケットから新しいコネクションを検知するごとに、所定の確率で監視対象コネクションとして選択すればよい。このため、各コネクションについての情報を蓄積しておかなくともよい。したがって、コネクション記憶部を設けなくともよい。このため、記憶部の使用量を減じることができる。
【０１１０】
（変形例）
上記第１〜第４の実施形態においては、検知システムは中継装置と解析装置とを備え、中継装置でミラーリングしたパケットを解析装置が解析するものとした。しかし、中継装置と解析装置との機能の分担や、パケットの処理はこれに限らず、任意に変更してもよい。図２０は、第１〜第４の実施形態に係る検知システムの構成の変形例について説明するための図である。
【０１１１】
図２０の（１）に示すように、中継装置と解析装置とを別個に設けることができる。そして、中継装置を経由するパケットのうち、監視対象コネクションに対応するパケット、すなわち一部のコネクションに帰属するパケットのみを、中継装置が解析装置に対してミラーリングし、残りのパケットについてはそのまま中継装置が本来の宛先に中継することができる。そして、ミラーリングの対象とならないパケットは中継装置がそのまま本来の宛先に中継する。この場合、上に説明した第１〜第３の実施形態のようになる。
【０１１２】
次に、図２０の（２）に示すように、中継装置が解析装置に対して監視対象コネクションに対応するパケットをミラーリングするのではなく、当該パケットを転送するように構成してもよい。そして、解析装置側で解析対象とするパケットの情報を抽出した上で、パケットを本来の宛先に送信してもよい。
【０１１３】
また、図２０の（３）に示すように、中継装置と解析装置とを一体の装置として構成してもよい。そして、装置内で、監視対象コネクションに対応するパケットを抽出して解析するように構成してもよい。
【０１１４】
また、上記実施形態においては、中継装置が監視対象コネクションを選択する選択部や、コネクションを記憶する記憶部等を備えるものとした。これに限定されず、複数の中継装置を一括して制御するネットワークコントローラを設けて、監視対象コネクションの選択等の処理を行うものとしてもよい。
【０１１５】
（プログラム）
図２１は、開示の技術に係る検知プログラムによる情報処理がコンピュータを用いて具体的に実現されることを示す図である。図２１に例示するように、コンピュータ１０００は、例えば、メモリ１０１０と、ＣＰＵ（Central  Processing  Unit）１０２０と、ハードディスクドライブ１０８０と、ネットワークインタフェース１０７０とを有する。コンピュータ１０００の各部はバス１１００によって接続される。
【０１１６】
メモリ１０１０は、図２１に例示するように、ＲＯＭ１０１１およびＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。
【０１１７】
ここで、図２１に例示するように、ハードディスクドライブ１０８０は、例えば、ＯＳ１０８１、アプリケーションプログラム１０８２、プログラムモジュール１０８３、プログラムデータ１０８４を記憶する。すなわち、開示の実施の形態に係る検知プログラムは、コンピュータによって実行される指令が記述されたプログラムモジュール１０８３として、例えばハードディスクドライブ１０８０に記憶される。
【０１１８】
また、検知プログラムによる情報処理に用いられるデータは、プログラムデータ１０８４として、例えばハードディスクドライブ１０８０に記憶される。そして、ＣＰＵ１０２０が、ハードディスクドライブ１０８０に記憶されたプログラムモジュール１０８３やプログラムデータ１０８４を必要に応じてＲＡＭ１０１２に読み出し、各種の手順を実行する。
【０１１９】
なお、検知プログラムに係るプログラムモジュール１０８３やプログラムデータ１０８４は、ハードディスクドライブ１０８０に記憶される場合に限られない。例えば、プログラムモジュール１０８３やプログラムデータ１０８４は、着脱可能な記憶媒体に記憶されてもよい。この場合、ＣＰＵ１０２０は、ディスクドライブなどの着脱可能な記憶媒体を介してデータを読み出す。また、同様に、検知プログラムに係るプログラムモジュール１０８３やプログラムデータ１０８４は、ネットワーク（ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）等）を介して接続された他のコンピュータに記憶されてもよい。この場合、ＣＰＵ１０２０は、ネットワークインタフェース１０７０を介して他のコンピュータにアクセスすることで各種データを読み出す。
【０１２０】
（その他）
なお、本実施形態で説明した検知プログラムは、インターネット等のネットワークを介して配布することができる。また、検知プログラムは、ハードディスク、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読取可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
【０１２１】
なお、本実施形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【０１２２】
上記の実施形態やその変形は、本願が開示する技術に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【０１２３】
１，１Ａ，１Ｂ，１Ｃ  検知システム
１０，１０Ａ，１０Ｂ，１０Ｃ  中継装置
１１０，１１０Ａ，１１０Ｂ，１１０Ｃ  記憶部
１１１，１１１Ａ，１１１Ｂ  コネクション記憶部
１１２，１１２Ａ，１１２Ｂ，１１２Ｃ  監視対象コネクション記憶部
１１３，１１３Ａ，１１３Ｂ，１１３Ｃ  ウェブサイト記憶部
１１４，１１４ａ，１１４Ａ，１１４Ｂ  上限値記憶部
１１４Ｃ  確率記憶部
１２０  中継部
１３０  選択部
１４０  抽出部
１５０  更新部
２０，２０Ａ，２０Ｂ，２０Ｃ  解析装置
２１０  記憶部
２２０  検知部
２３０  使用率情報収集通知部
２４０Ａ，２４０Ｂ  監視重要度算出部
３０Ａ〜３０Ｄ  ホスト
【図１】
0006441748.tif 000003
【図２】
0006441748.tif 000004
【図３】
0006441748.tif 000005
【図４】
0006441748.tif 000006
【図５】
0006441748.tif 000007
【図６】
0006441748.tif 000008
【図７】
0006441748.tif 000009
【図８】
0006441748.tif 000010
【図９】
0006441748.tif 000011
【図１０】
0006441748.tif 000012
【図１１】
0006441748.tif 000013
【図１２】
0006441748.tif 000014
【図１３】
0006441748.tif 000015
【図１４】
0006441748.tif 000016
【図１５】
0006441748.tif 000017
【図１６】
0006441748.tif 000018
【図１７】
0006441748.tif 000019
【図１８】
0006441748.tif 000020
【図１９】
0006441748.tif 000021
【図２０】
0006441748.tif 000022
【図２１】
0006441748.tif 000023