(57)【要約】【課題】Ｓｌｏｗ  Ｄｏｓ攻撃を適切に検知することができる。【解決手段】サーバ装置３は、転送装置が抽出した所定サーバへのＴＣＰ  ＳＹＮパケット及び所定サーバへのＴＣＰ  ＦＩＮパケットのコピーを取得するパケット取得部３３１と、取得したパケットのコピーを基に、ＴＣＰ  ＳＹＮパケットが到達してから、該ＴＣＰ  ＳＹＮパケットに対応するフローでのＴＣＰ  ＦＩＮパケットが到達するまでの期間を計測する計測部３３３と、計測した期間と所定の閾値とを比較し、比較結果に基づいて、ＴＣＰ  ＳＹＮパケットに対応するフローに対する攻撃を検知する攻撃検知部３３４と、を有する。【選択図】図４
2018026747.tif 000002
【特許請求の範囲】
【請求項１】
通過するパケットの中から所定サーバへの接続要求パケット及び前記所定サーバへの切断要求パケットを抽出する転送装置から、該転送装置が抽出したパケットのコピーを取得する取得部と、
前記取得部が取得したパケットのコピーを基に、前記接続要求パケットが到達してから、前記接続要求パケットに対応するフローでの切断要求パケットが到達するまでの期間を計測する計測部と、
前記計測部が計測した期間と所定の閾値とを比較し、比較結果に基づいて、前記接続要求パケットに対応するフローに対する攻撃の疑いを検知し、該フローについて攻撃の疑いを検知した場合には、該フローのパケットを、攻撃被疑フローのパケットとして、攻撃の解析を行う攻撃解析装置に転送するように前記転送装置に指示する攻撃検知部と、
を有することを特徴とする攻撃検知装置。
【請求項２】
前記攻撃検知部は、前記計測部によって計測された期間が前記所定の閾値を超えている場合に、前記接続要求パケットに対応するフローに対する攻撃の疑いがあることを検知することを特徴とする請求項１に記載の攻撃検知装置。
【請求項３】
前記接続要求パケットが到達してから、前記接続要求パケットに対応するフローでの切断要求パケットが到達するまでの期間の度数分布を一定期間作成し、該作成した度数分布を基に前記所定の閾値を設定する設定部をさらに有することを特徴とする請求項１または２に記載の攻撃検知装置。
【請求項４】
複数の転送装置を含むネットワークへの攻撃の疑いを検知する攻撃検知装置と、前記ネットワークへの攻撃を解析する攻撃解析装置と、を有する攻撃検知システムであって、
前記転送装置は、
当該転送装置を通過するパケットの中から、所定サーバへの接続要求パケット及び前記所定サーバへの切断要求パケットを抽出する抽出部と、
前記抽出部が抽出したパケットのコピーを前記攻撃検知装置に送信する送信部と、
を有し、
前記攻撃検知装置は、
前記転送装置から、該転送装置が抽出したパケットのコピーを取得する取得部と、
前記取得部が取得したパケットのコピーを基に、前記接続要求パケットが到達してから、前記接続要求パケットに対応するフローでの切断要求パケットが到達するまでの期間を計測する計測部と、
前記計測部が計測した期間と所定の閾値とを比較し、比較結果に基づいて、前記接続要求パケットに対応するフローに対する攻撃の疑いを検知し、該フローについて攻撃の疑いを検知した場合には、該フローのパケットを、攻撃被疑フローのパケットとして、前記攻撃解析装置に転送するように前記転送装置に指示する攻撃検知部と、
を有し、
前記攻撃解析装置は、
前記攻撃被疑フローのパケットを受信した場合に、該攻撃被疑フローの内容を解析する解析部
を有することを特徴とする攻撃検知システム。
【請求項５】
パケットの抽出機能を有する複数の転送装置を含むネットワークのトラフィックへの攻撃の疑いを検知する攻撃検知装置が行う攻撃検知方法であって、
前記攻撃検知装置が、前記転送装置によって抽出された該転送装置を通過するパケットの中から所定サーバへの接続要求パケット及び前記所定サーバへの切断要求パケットのコピーを取得する取得工程と、
前記攻撃検知装置が、前記取得工程において取得したパケットのコピーを基に、前記接続要求パケットが到達してから、前記接続要求パケットに対応するフローでの切断要求パケットが到達するまでの期間を計測する計測工程と、
前記攻撃検知装置が、前記計測工程において計測した期間と所定の閾値とを比較し、比較結果に基づいて、前記接続要求パケットに対応するフローに対する攻撃の疑いを検知する検知工程と、
前記攻撃検知装置が、前記検知工程において、前記接続要求パケットに対応するフローについて攻撃の疑いを検知した場合には、該フローのパケットを、攻撃被疑フローのパケットとして、攻撃の解析を行う攻撃解析装置に転送するように前記転送装置に指示する指示工程と、
を含んだことを特徴とする攻撃検知方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、攻撃検知装置、攻撃検知システムおよび攻撃検知方法に関する。
【背景技術】
【０００２】
近年、サービスプロバイダが提供するネットワークサービスを妨害する攻撃が問題となっている。この攻撃としては、例えば、悪意のある攻撃者がネットワークに大量のパケットを送信してネットワークの帯域に負荷をかける、またはサーバに対しリソースを消費させるパケットを送信することでサーバに負荷をかけ、これによりネットワークサービス提供者のサービスを妨害するＤｏＳ攻撃（Denial  of  Service）やＤＤｏＳ攻撃（Distributed  Denial  of  Service）が知られている。
【０００３】
これらの攻撃からネットワークに接続された通信機器（サーバ装置など）を防御するために、種々の攻撃検知方法が提案されている。たとえば、一般的なＤＤｏSの対策技術として、フローコレクターを用いた検知、或いは、Ｍｉｔｉｇａｔｉｏｎ装置への通信引き込みによる対処がある（例えば、非特許文献１参照）。この手法では、攻撃を仕掛ける通信端末とサーバ装置とを結ぶ通信経路上に、パケットのカウント機能を有する転送装置を設け、サーバにおいて、フローの帯域が閾値を超えた場合に攻撃検知を行い、攻撃と疑われるフローをセキュリティ装置に引き込んで詳細分析及び対処を行う。
【０００４】
ただし、通信量に基づいて攻撃検知を行うｘＦｌｏｗ技術を用いる非特許文献１記載の手法では、攻撃先サーバに対し多数セッションを張り続けることにより低通信量でも攻撃が成立するＳｌｏｗ  Ｄｏｓ攻撃の検知ができなかった。ＳｌｏｗＤｏｓ攻撃としては、Ｓｌｏｗ  Ｒｅａｄ  ＤｏＳ攻撃、Ｓｌｏｗ  ＨＴＴＰ（HyperText  Transfer  Protocol）ポスト攻撃及びＳｌｏｗ  ＨＴＴＰヘッダ攻撃がある。
【０００５】
例えば、Ｓｌｏｗ  Ｒｅａｄ  ＤｏＳは、ＨＴＴＰサーバに対して、ＴＣＰプロトコルのウィンドウサイズを小さく通知することによって、ＨＴＴＰサーバからのレスポンスを、時間をかけて受信することによって、攻撃先サーバとの多数のセッションを維持し、ＨＴＴＰサーバのセッション数を使い切る攻撃である。また、Ｓｌｏｗ  ＨＴＴＰ  ＰＯＳＴ攻撃は、ＨＴＴＰ  Ｐｏｓｔリクエスト全体を分割して数バイトごとに時間をかけて送信することによって、大量に接続を張ることでサーバをダウンさせる攻撃である。Ｓｌｏｗ  ＨＴＴＰヘッダ攻撃は、不完全なＨＴＴＰヘッダを、時間をかけて送信し続け、接続を張り続けることによって、サーバをダウンさせる攻撃である。
【０００６】
そこで、近年では、このようなＳｌｏｗ  Ｄｏｓ攻撃の検知手法として、ＷＡＦ等のセキュリティ装置をインライン接続することによって対処を行う手法（例えば、非特許文献２参照）が提案されている。また、Ｗｅｂサーバでの設定変更による対処、具体的には、Ｗｅｂサーバでのタイムアウト設定を小さくするパーシステントコネクション設定を無効にする手法（例えば、非特許文献３参照）も提案されている。さらに、Ｗｅｂサーバでの検知アルゴリズム動作による検知及び対処、具体的には、コネクション数やコネクション継続時間を基に攻撃の検知及び対処を行う手法（例えば、非特許文献４参照）も提案されている。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】ISPにおけるDoS/DDoS攻撃の検知・対策技術、［online］、［平成２８年８月２日検索］、インターネット＜ＵＲＬ：https://www.nic.ad.jp/ja/materials/iw/2013/proceedings/s2/s2-nishizuka.pdf＞
【非特許文献２】Barracuda  Web  Application  Firewall、［平成２８年８月２日検索］、インターネット＜ＵＲＬ：http://www.keyman.or.jp/pd/10028645/＞
【非特許文献３】Are  you  ready  for  slow  reading?、［平成２８年８月２日検索］、インターネット＜ＵＲＬ：https://blog.qualys.com/securitylabs/2012/01/05/slow-read＞
【非特許文献４】平川哲也他,  “分散型  Slow  Read  DoS  攻撃に対する防御手法の提案”,  平成２７年度電気関係学会東北支部連合大会
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、非特許文献２記載の手法では、セキュリティ装置は、通常通信も分析を行ってしまうため、セキュリティ装置に要するコストが高くなってしまうという問題があった。また、非特許文献３記載の手法では、Ｗｅｂサーバでの設定変更を行うため、通常通信（通常ユーザ）のＱｏＳ（Quality  of  Service）に影響を及ぼすという問題があった。そして、非特許文献４記載の手法では、Ｗｅｂサーバに、コネクションごとに継続時間等を保持するプロセスを動作させることによって、すなわち、ＷｅｂサーバにおけるＳｌｏｗ  Ｄｏｓ検知アルゴリズムを動作することによって、Ｗｅｂアプリケーションの性能に影響を及ぼす場合があるという問題があった。
【０００９】
本発明は、上記に鑑みてなされたものであって、Ｓｌｏｗ  Ｄｏｓ攻撃を適切に検知することができる攻撃検知装置、攻撃検知システムおよび攻撃検知方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するために、本発明に係る攻撃検知装置は、通過するパケットの中から所定サーバへの接続要求パケット及び所定サーバへの切断要求パケットを抽出する転送装置から、該転送装置が抽出したパケットのコピーを取得する取得部と、取得部が取得したパケットのコピーを基に、接続要求パケットが到達してから、接続要求パケットに対応するフローでの切断要求パケットが到達するまでの期間を計測する計測部と、計測部が計測した期間と所定の閾値とを比較し、比較結果に基づいて、接続要求パケットに対応するフローに対する攻撃の疑いを検知し、該フローについて攻撃の疑いを検知した場合には、該フローのパケットを、攻撃被疑フローのパケットとして、攻撃の解析を行う攻撃解析装置に転送するように前記転送装置に指示する攻撃検知部と、を有することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、Ｓｌｏｗ  Ｄｏｓ攻撃を適切に検知することができる。
【図面の簡単な説明】
【００１２】
【図１】図１は、実施の形態に係る攻撃検知システムの構成の一例を模式的に示す図である。
【図２】図２は、図１に示す転送装置の構成の一例を示すブロック図である。
【図３】図３は、図２に示す抽出パケット設定テーブルのデータ構成の一例を示す図である。
【図４】図４は、図１に示すサーバ装置の構成の一例を示すブロック図である。
【図５】図５は、各フローのＴＣＰ  ＳＹＮパケット及びＴＣＰ  ＦＩＮパケットの到達時間の計測結果テーブルの一例を示す図である。
【図６】図６は、サーバ装置による、ＷｅｂサーバへのＴＣＰ  ＳＹＮパケット及びＴＣＰ  ＦＩＮパケットの取得タイミングの一例を示す図である。
【図７】図７は、サーバ装置による、ＷｅｂサーバへのＴＣＰ  ＳＹＮパケット及びＴＣＰ  ＦＩＮパケットの取得タイミングの他の例を示す図である。
【図８】図８は、図１に示すセキュリティ装置の構成の一例を示す図である。
【図９】図９は、図８に示す記憶部が記憶する攻撃解析用のテーブルの一例を示す図である。
【図１０】図１０は、図１に示す攻撃検知システムによる攻撃検知処理の流れを説明するシーケンス図である。
【図１１】図１１は、プログラムが実行されることにより、攻撃検知システムのサーバ装置が実現されるコンピュータの一例を示す図である。
【発明を実施するための形態】
【００１３】
以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
【００１４】
［実施の形態］
実施の形態に係る攻撃検知システムについて、攻撃検知システム全体の概略構成、攻撃検知システムを構成する各装置の概略構成、攻撃検知システムにおける処理の流れ及び具体例を説明する。なお、以降で説明する転送装置の台数等は、あくまで例示であり、これに限定されるものではない。
【００１５】
［攻撃検知システムの構成］
この実施の形態では、監視対象のフローの帯域が閾値を超えた場合に攻撃を検知するのではなく、検知対象のサーバに対するＴＣＰ（Transmission  Control  Protocol）  ＳＹＮ（Synchronize）パケット（接続要求パケット）が到達してから、このＴＣＰ  ＳＹＮパケットに対応するフローでのＴＣＰ  ＦＩＮ（Finish）パケット（切断要求パケット）が到達するまでの期間と、所定の閾値とを比較することによって、低通信量で長期間にわたり攻撃を行うＳｌｏｗ  Ｄｏｓ攻撃を検知する。
【００１６】
まず、図１を参照して、実施の形態に係る攻撃検知システムの構成について説明する。図１は、実施の形態に係る攻撃検知システムの構成の一例を説明するための図である。
【００１７】
図１に示すように、実施の形態に係る攻撃検知システムは、複数の転送装置２Ａ〜２Ｄを含むネットワーク１０に対して、該ネットワーク１０を流れるトラフィックを監視するとともにネットワーク１０を流れる攻撃の疑いを検知するサーバ装置３（攻撃検知装置）と、ネットワーク１０を流れる攻撃があった場合に該攻撃を解析するセキュリティ装置４（攻撃解析装置）とを有する。
【００１８】
図１の例では、転送装置２Ｃの接続先にＷｅｂサーバ５が位置する。本実施の形態では、このＷｅｂサーバ５へのＳｌｏｗ  Ｄｏｓ攻撃を検知、対処する例について説明する。また、図１の例では、転送装置２Ａは、インターネット等を介して、外部の通常ユーザ端末６Ａと、攻撃者端末６Ｂとに接続する。また、図１では、ネットワーク１０内を流れるトラフィックフローとして、フローＦａ，Ｆｂ，Ｆｃを例示している。また、フローＦａ，Ｆｂ，Ｆｃのうち、フローＦａ，Ｆｃを正常フローとして説明し、フローＦｂを攻撃フローとして説明する。
【００１９】
転送装置２Ａ〜２Ｄは、ネットワーク１０の通信経路上に設けられたパケット転送装置である。転送装置２Ａ〜２Ｄは、それぞれ、転送先の装置の識別情報と転送先の装置のアドレスとをそれぞれ対応付けた転送テーブルに従って、到着したパケットを転送先に転送する。
【００２０】
また、転送装置２Ａ〜２Ｄは、転送装置２Ａ〜２Ｄを通過するパケットの中から、所定サーバ（例えば、Ｗｅｂサーバ５）へのＴＣＰ  ＳＹＮパケット、及び、Ｗｅｂサーバ５へのＴＣＰ  ＦＩＮパケットを抽出し、抽出したパケットのコピーをサーバ装置３に送信する。転送装置２Ａ〜２Ｄは、仮想スイッチ、仮想ソフトウェアスイッチ、物理スイッチ或いはゲートウェイ等である。
【００２１】
サーバ装置３は、例えば、各装置との間で通信を行い、各種サービスを提供する。また、サーバ装置３は、ネットワーク１０のトラフィックを監視し、監視状況に基づいてネットワーク１０を流れる攻撃の疑いを検知する。本実施の形態では、サーバ装置３は、転送装置２Ａ〜２Ｃから送信されたパケットのコピーを基に、ネットワーク１０を流れる攻撃の疑いを検知する。
【００２２】
具体的には、サーバ装置３は、転送装置２Ａ〜２Ｃから送信されたパケットのコピーを基に、Ｗｅｂサーバ５へのＴＣＰ  ＳＹＮパケットが到達してから、ＴＣＰ  ＳＹＮパケットに対応するフローでのＴＣＰ  ＦＩＮパケットが到達するまでの期間と、所定の閾値とを比較することによってＳｌｏｗ  Ｄｏｓ攻撃の疑いを検知する。この所定の閾値は、ＴＣＰ  ＳＹＮパケットが到達してから、ＴＣＰ  ＳＹＮパケットに対応するフローでのＴＣＰ  ＦＩＮパケットが到達するまでの期間の度数分布を一定期間作成し、該作成した度数分布を基にされる。
【００２３】
セキュリティ装置４は、サーバ装置３がネットワーク１０を流れる攻撃の疑いを検知した場合、サーバ装置３が攻撃を検知したフローを攻撃被疑フローとして、攻撃被疑フローの内容を解析する。例えば、セキュリティ装置４は、転送装置2Ａ〜２Ｄから論理的に接続できる場所に設けられ、転送装置２Ａ〜２Ｄを介して、サーバ装置３と通信可能に接続される。或いは、セキュリティ装置４は、ネットワーク１０の外部に設けられ、各種通信装置を介してサーバ装置３と通信可能に接続される。
【００２４】
Ｗｅｂサーバ５は、各装置との間で通信を行い、各種サービスを提供する。例えば、Ｗｅｂサーバ５は、転送装置２Ａ〜２Ｄのいずれかを経由して、端末からＨＴＴＰリクエストを受信した場合に、ＨＴＭＬ（HyperText  Markup  Language）ファイル等をリクエスト元の端末に返信する。
【００２５】
通常ユーザ端末６Ａは、転送装置２Ａ〜２Ｄやインターネットを介して、Ｗｅｂサーバ５などの他の端末と通信を行う通信装置である。例えば、ＰＣ（Personal  Computer）やＰＤＡ（Personal  Digital  Assistant）等である。図１に示す例では、通常ユーザ端末６Ａは、転送装置２Ａ〜２Ｄと通信可能に接続される。また、図１の例では、攻撃者端末６Ｂが、転送装置２Ａ〜２Ｄやインターネットを介して、Ｗｅｂサーバ５にＳｌｏｗ  Ｄｏｓ攻撃を実行し、サーバ装置３が、攻撃者端末６ＢによるＳｌｏｗ  Ｄｏｓ攻撃を検知する場合について説明する。
【００２６】
［転送装置の構成］
次に、ＴＣＰ  ＳＹＮパケット及びＴＣＰ  ＦＩＮパケットのコピーを生成する転送装置２Ａ〜２Ｄの構成について説明する。図２は、図１に示す転送装置２Ａの構成の一例を示すブロック図である。図２に示すように、転送装置２Ａは、記憶部２１、通信部２２及び制御部２３を有する。なお、他の転送装置２Ｂ〜２Ｄも転送装置２Ａと同様の構成を有する。
【００２７】
記憶部２１は、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置によって実現され、転送装置２を動作させる処理プログラムや、処理プログラムの実行中に使用されるデータなどが記憶される。記憶部２１は、転送先の装置の識別情報と転送先の装置のアドレスとをそれぞれ対応付けた転送テーブルを記憶する。
【００２８】
また、記憶部２１は、転送装置２を通過するパケットのうち、抽出対象となるパケットを設定した抽出パケット設定テーブル２１１を記憶する。この抽出パケットは、他の装置（例えば、サーバ装置３）からの通知に従い設定される。また、抽出パケットの設定方法として、転送装置２に静的に設定する方法や、通過するフロー情報から動的に設定する方法等が考えられる。
【００２９】
図３は、図２に示す抽出パケット設定テーブル２１１のデータ構成の一例を示す図である。抽出パケット設定テーブル２１１は、図３に示すテーブルＴ１のように、抽出対象となるパケットの宛先ＩＰアドレス（dst_ip_addr）、宛先ポート番号（dst_port）、プロトコル（protocol）、フラグ（tcp_flag）が示されている。
【００３０】
攻撃検知対象がＷｅｂサーバ５（dst_ip_addr＝B，dst_port＝80  or  443）である場合には、例えばテーブルＴ１の１行目に、dst_ip_addr＝B、dst_port＝80  or  443、protocol＝tcp、tcp_flag＝synが設定されており、１行目に、dst_ip_addr＝B、dst_port＝80  or  443、protocol＝tcp、tcp_flag＝finが設定されている。このようにテーブルＴ１を設定することによって、抽出部２３１（後述）が、攻撃検知対象であるＷｅｂサーバ５へのＴＣＰ  ＳＹＮパケット及びＴＣＰ  ＦＩＮパケットを抽出できるようにしている。
【００３１】
通信部２２は、ネットワークを介して接続された装置と各種情報を送受信する通信インターフェースである。例えば、通信部２２は、他の装置から送信されたパケットを受信したり、転送対象のパケットを転送先に送信したりする。
【００３２】
制御部２３は、各種の処理手順などを規定したプログラム及び所要データを格納するための内部メモリを有し、これらによって種々の処理を実行する。例えば、制御部２３は、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などの電子回路である。制御部２３は、抽出部２３１、パケットコピー部２３２（送信部）及び転送制御部２３３を有する。
【００３３】
抽出部２３１は、転送装置２Ａを通過するパケットの中から、所定サーバ（Ｗｅｂサーバ５）へのＴＣＰ  ＳＹＮパケット及びＴＣＰ  ＦＩＮパケットを抽出し、抽出したパケットをパケットコピー部２３２に出力する。抽出部２３１は、通信部２２が受信したパケットのうち、宛先ＩＰアドレス（dst_ip_addr）、宛先ポート番号（dst_port）、プロトコル（protocol）、フラグ（tcp_flag）の組み合わせが、テーブルＴ１に示す組み合わせと一致したパケットを、抽出対象のパケットとして判別する。
【００３４】
パケットコピー部２３２は、抽出部２３１が抽出したパケットのコピーを、通信部２２を介し、サーバ装置３に送信する（図１の矢印Ｙ１参照）。転送制御部２３３は、通信部２２におけるパケットの転送処理を制御する。転送制御部２３３は、サーバ装置３で攻撃被疑フローを決定した後に、サーバ装置３から転送装置２Ａに対して転送指示が送信される（図１の矢印Ｙ２参照）と、攻撃被疑フローをセキュリティ装置４に転送する（図１の矢印Ｙ３参照）。
【００３５】
サーバ装置３は、転送装置２Ａから送信された、Ｗｅｂサーバ５へのＴＣＰ  ＳＹＮパケット及びＴＣＰ  ＦＩＮパケットのコピーを基に攻撃の疑いを検知する。次に、サーバ装置３の構成について説明する。
【００３６】
［サーバ装置の構成］
図４は、図１に示すサーバ装置３の構成の一例を示すブロック図である。図４に示すように、サーバ装置３は、記憶部３１、通信部３２及び制御部３３を有する。
【００３７】
記憶部３１は、ＲＡＭ、フラッシュメモリ等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置によって実現され、サーバ装置３を動作させる処理プログラムや、処理プログラムの実行中に使用されるデータなどが記憶される。記憶部３１は、転送装置２Ａ〜２Ｄから送信されたパケットのコピーや、攻撃検知に用いられる閾値を記憶する。また、通信部３２は、ネットワークを介して接続された装置と各種情報を送受信する通信インターフェースである。
【００３８】
制御部３３は、ＣＰＵやＭＰＵなどの電子回路であり、各種の処理手順などを規定したプログラムに従って種々の処理を実行する。制御部３３は、パケット取得部３３１（取得部）、タイマ３３２、計測部３３３、攻撃検知部３３４、通信制御部３３５及び閾値設定部３３６を有する。
【００３９】
パケット取得部３３１は、転送装置２Ａ〜２Ｄから、転送装置２Ａ〜２Ｄが抽出したパケットのコピーを取得する。このパケットのコピーは、転送装置２Ａ〜２Ｄを通過するパケットの中から抽出された、Ｗｅｂサーバ５へのＴＣＰ  ＳＹＮパケット及びＴＣＰ  ＦＩＮパケットのコピーである。具体的には、パケット取得部３３１は、通信部３２が受信したパケットから、攻撃検知対象期間に対応するパケットのコピーを抽出する。或いは、パケット取得部３３１は、記憶部３１に記憶されたパケット情報から、攻撃検知対象期間に対応するパケットのコピーを読み出す。
【００４０】
タイマ３３２は、時刻を計測する。タイマ３３２は、複数ある。
【００４１】
計測部３３３は、パケット取得部３３１が取得したパケットのコピーを基に、Ｗｅｂサーバ５へのＴＣＰ  ＳＹＮパケットが到達してから、このＴＣＰ  ＳＹＮパケットに対応するフローでのＴＣＰ  ＦＩＮパケットが到達するまでの期間を計測する。計測部３３３は、パケット取得部３３１が取得したパケットのコピーの取得タイミングに応じてタイマ３３２の起動及び計測終了を制御することによって、Ｗｅｂサーバ５へのＴＣＰ  ＳＹＮパケットが到達してから、このＴＣＰ  ＳＹＮパケットに対応するフローでのＴＣＰ  ＦＩＮパケットが到達するまでの期間を計測する。計測部３３３は、ＴＣＰ  ＳＹＮパケットが所属するフローごとに、タイマ３３２を起動させる。
【００４２】
なお、計測部３３３は、ＴＣＰ  ＳＹＮパケットのヘッダ情報から、このパケットの送信元ＩＰアドレス（src_ip_addr）や送信元ポート番号（src_port）を判別できる。また、計測部３３３は、ＴＣＰ  ＦＩＮパケットが途中でロスした場合に永遠にタイマ３３２が稼働し続けることを防止するために、タイマ３３２の計測値が設定値を超えた場合には、このタイマ３３２を終了する。
【００４３】
このように、計測部３３３が、各フローのＴＣＰ  ＳＹＮパケット及びＴＣＰ  ＦＩＮパケットの到達時間を計測することによって、サーバ装置３は、各フローのＴＣＰ  ＳＹＮパケット及びＴＣＰ  ＦＩＮパケットの到達時間をそれぞれ得ることができる。図５は、各フローのＴＣＰ  ＳＹＮパケット及びＴＣＰ  ＦＩＮパケットの到達時間の計測結果テーブルの一例を示す図である。
【００４４】
例えば、通常ユーザ端末６Ａ(src_ip_addr＝D，dst_ip_addr＝B，src_port＝E，dst_port＝443，protocol＝tcp，flag=syn)によるＴＣＰ  ＳＹＮパケットのコピーが取得された場合、計測部３３３は、このＴＣＰ  ＳＹＮパケットが所属するフローＦａ（src_ip_addr＝D，dst_ip_addr＝B，src_port＝E，dst_port＝443，protocol＝tcp）について、一つのタイマ３３２を起動する（図５の計測結果テーブルＴ２の１行目参照）。続いて、通常ユーザ端末６ＡによるＴＣＰ  ＦＩＮパケットのコピーが取得された場合には、計測部３３３は、このフローＦａに対応するタイマ３３２の計測を終了し、計測した期間Ｄ１を記憶部３１に記録する（計測結果テーブルＴ２の２行目最右欄参照）。
【００４５】
また、攻撃者端末６Ｂ（src_ip_addr＝A，src_port＝C）によるＴＣＰ  ＳＹＮパケットの取得があった場合には、計測部３３３は、このＴＣＰ  ＳＹＮパケットが所属するフローＦｂ（src_ip_addr＝A，dst_ip_addr＝B，src_port＝C，dst_port＝80，protocol＝tcp）について、また別のタイマ３３２を起動する。そして、攻撃者端末６ＢによるＴＣＰ  ＦＩＮパケットのコピーが取得された場合には、計測部３３３は、このフローＦｂに対応するタイマ３３２の計測を終了し、計測した期間Ｄ３を記憶部３１に記録する（計測結果テーブルＴ２の３，４行目参照）。
【００４６】
攻撃検知部３３４は、計測部３３３によって計測された、Ｗｅｂサーバ５へのＴＣＰ  ＳＹＮパケットが到達してから、このＴＣＰ  ＳＹＮパケットに対応するフローでのＴＣＰ  ＦＩＮパケットが到達するまでの期間と、所定の閾値とを比較し、比較結果に基づいて監視対象フローに対する攻撃の疑いを検知する。具体的には、攻撃検知部３３４は、計測部３３３によって計測された期間が所定の閾値（Ｄｔ）を超えている場合に、ＴＣＰ  ＳＹＮパケットに対応するフローに対する攻撃の疑い、すなわち、Ｗｅｂサーバ５に対する攻撃の疑いがあることを検知し、該監視対象フローが攻撃被疑フローであると判断する。
【００４７】
図６及び図７は、サーバ装置３による、Ｗｅｂサーバ５へのＴＣＰ  ＳＹＮパケット及びＴＣＰ  ＦＩＮパケットの取得タイミングの一例を示す図である。
【００４８】
図５では、計測部３３３が、フローＦａについて、ＴＣＰ  ＳＹＮパケットが到達し、ＴＣＰ  ＦＩＮパケットが到達するまでの期間として、期間Ｄ１を計測した場合について示す。この場合、計測部３３３が計測した期間Ｄ１は、閾値Ｄｔ以下であるため、攻撃検知部３３４は、フローＦａは、攻撃被疑フローではないと判断する（図６の矢印Ｙａ参照）。
【００４９】
また、図６では、計測部３３３は、フローＦｂについて、ＴＣＰ  ＳＹＮパケットが到達し、ＴＣＰ  ＦＩＮパケットが到達するまでの期間として、期間Ｄ３を計測した場合について示す。この場合、計測部３３３が計測した期間Ｄ３は、閾値Ｄｔを超えているため、攻撃検知部３３４は、このフローＦｂに攻撃があることを検知し、このフローＦｂを攻撃被疑フローであると判断する（図７の矢印Ｙｂ参照）。
【００５０】
攻撃検知部３３４は、あるフロー（例えば、図１に示すフローＦｂ）に対する攻撃を検知した場合には、該フローを攻撃被疑フローとして、通信部３２を介して、転送装置２Ａ〜２Ｄ及びセキュリティ装置４に通知する。
【００５１】
まず、攻撃検知部３３４は、攻撃の疑いを検知した場合には、攻撃の疑いを検知したフローＦｂのパケットを、攻撃被疑フローのパケットとして、セキュリティ装置４に転送するように転送装置２Ａ〜２Ｄに指示する。すなわち、攻撃検知部３３４は、フローＦｂを攻撃被疑フローとしてコピー、ステアリングし、攻撃被疑フローであるフローＦｂを、セキュリティ装置４を経由するフローに変更するよう転送装置２Ａ〜２Ｄに指示する（図１の矢印Ｙ２参照）。
【００５２】
そして、攻撃検知部３３４は、攻撃の疑いを検知したフローであって、転送装置２Ａ〜２Ｄから転送されたパケットに対応するフローＦｂが、攻撃被疑フローであることを示す攻撃フロー情報（攻撃検知情報）をセキュリティ装置４に通知する。
【００５３】
なお、サーバ装置３は、転送装置２Ｂを介してセキュリティ装置４と通信する場合には、転送装置２Ｂに攻撃被疑フローのパケットのセキュリティ装置４への転送を指示し、これによって、転送装置２Ｂがセキュリティ装置４にＵ−Ｐｌａｎｅのトラフィックを転送する（図１の矢印Ｙ３参照）。
【００５４】
通信制御部３３５は、通信部３２における通信処理を制御し、他の装置との間で各種情報を通信する。
【００５５】
そして、閾値設定部３３６は、抽出対象のフローごとに、該フローのＴＣＰ  ＳＹＮパケットが到達してからＴＣＰ  ＦＩＮパケットが到達する期間の比較対象となる閾値を設定する。
【００５６】
具体的には、閾値設定部３３６は、閾値の設定対象であるフローのパケットのコピーの中から、攻撃のない時間帯における、ＴＣＰ  ＳＹＮパケット及び該ＴＣＰ  ＳＹＮパケットに対応するＴＣＰ  ＦＩＮパケットを収集する。そして、閾値設定部３３６は、閾値の設定対象であるフローについて、ＴＣＰ  ＳＹＮパケットが到達してからＴＣＰ  ＦＩＮパケットが到達するまでの期間の度数分布を一定期間作成し、該作成した度数分布を基に、このフローの所定の閾値を設定する。
【００５７】
例えば、閾値設定部３３６は、攻撃のない時間帯に、パケット取得部３３１を介して、閾値設定対象フローのパケットのコピーの収集を行ってもよいし、記憶部３１に記憶された閾値設定対象フローのパケットのコピーであって攻撃のない時間帯に対応するものを読み出すことによってパケットのコピーの収集を行ってもよい。閾値設定部３３６は、この処理を複数回繰り返すことによって、ＴＣＰ  ＳＹＮパケットが到達してからＴＣＰ  ＦＩＮパケットが到達するまでの期間の度数分布を一定期間作成する。
【００５８】
続いて、閾値設定部３３６は、該作成した閾値設定対象フローのＴＣＰ  ＳＹＮパケットが到達してからＴＣＰ  ＦＩＮパケットが到達するまでの期間の度数分布を基に、この期間の所定のα（例えば、９９．９）パーセンタイル値を、該閾値設定対象フローにおける閾値として設定する。閾値設定部３３６は、上記の閾値設定までの処理を、サーバ装置３における攻撃検知処理を開始する前に行う他、攻撃のない時間帯に適宜行って閾値を更新してもよい。閾値設定部３３６は、設定した閾値を、対応するフローの識別情報に対応付けて記憶部３１に記憶する。
【００５９】
［セキュリティ装置の構成］
次に、セキュリティ装置４の構成について説明する。図８は、図１に示すセキュリティ装置４の構成の一例を示す図である。図８に示すように、セキュリティ装置４は、記憶部４１、通信部４２及び制御部４３を有する。
【００６０】
記憶部４１は、ＲＡＭ、フラッシュメモリ等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置によって実現され、セキュリティ装置４を動作させる処理プログラムや、処理プログラムの実行中に使用されるデータなどが記憶される。記憶部４１は、攻撃解析のために用いる解析用テーブル４１１を記憶する。
【００６１】
図９は、図８に示す記憶部４１が記憶する解析用テーブル４１１の一例を示す図である。図９のテーブルＴ３は、ＤＤｏＳ攻撃を解析するためのものであり、攻撃内容と、攻撃のトラフィックパターンとを対応付けている。例えば、テーブルＴ３の最終行には、不完全なＨＴＴＰヘッダを、時間をかけて送信する攻撃トラフィックが検出できる場合には、Ｗｅｂサーバ５が、Ｓｌｏｗ  ＨＴＴＰヘッダ攻撃の標的となっていることが示されている。
【００６２】
通信部４２は、ネットワークを介して接続された装置と各種情報を送受信する通信インターフェースである。
【００６３】
制御部４３は、ＲＡＭ、フラッシュメモリ等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置によって実現され、セキュリティ装置４を動作させる処理プログラムや、処理プログラムの実行中に使用されるデータなどが記憶される。制御部４３は、攻撃解析部４３１を有する。
【００６４】
攻撃解析部４３１は、転送装置２Ａ〜２Ｄから転送された攻撃被疑フローのパケットを受信した場合、サーバ装置３から攻撃検知情報に基づいて攻撃被疑フローの内容を解析する。攻撃解析部４３１は、攻撃検知情報である制御信号にしたがって、攻撃検知情報に示された攻撃被疑フローをコピーし、攻撃被疑フローを、セキュリティ装置４を経由するフローに変更するよう処理を行う。
【００６５】
例えば、攻撃解析部４３１は、攻撃検知情報で示された攻撃被疑フローが、図１に示すフローＦｂである場合には、このフローＦｂを、セキュリティ装置４を経由するフロー（図１参照）に変更する。すなわち、セキュリティ装置４は、転送装置２Ｂを制御して、攻撃被疑フローのパケットの全てを、セキュリティ装置４に転送させる。つまり、転送装置２Ｂで攻撃被疑フローであるフローＦｂ自体をセキュリティ装置４に引き込んでいる。
【００６６】
そして、セキュリティ装置４は、このように転送させた攻撃被疑フローのパケットから、攻撃被疑フローのトラフィックパターンを検出し、検出したトラフィックパターンと、テーブルＴ３に示されたトラフィックパターンとを比較して、攻撃内容を解析する。さらに、セキュリティ装置４は、該解析結果に基づいて攻撃対処を行う。
【００６７】
［攻撃検知処理の流れ］
図１０は、図１に示す攻撃検知システムによる攻撃検知処理の流れを説明するシーケンス図である。図１０では、説明の簡易化のために、ある一つのフローを監視対象フローとした場合の処理手順について示す。
【００６８】
図１０に示すように、転送装置２Ａは、パケットを受信すると（ステップＳ１）、所定サーバへのＴＣＰ  ＳＹＮパケット及びＴＰＣ  ＦＩＮパケットを抽出し（ステップＳ２）、抽出したパケットをコピーし（ステップＳ３）、パケットのコピーをサーバ装置３に送信する（ステップＳ４）。転送装置２Ａは、ステップＳ１〜ステップＳ４の処理を繰り返す。
【００６９】
そして、サーバ装置３は、タイマ３３２の計測時間が所定の閾値を超えているか否かを判断する（ステップＳ５）。サーバ装置３は、タイマ３３２の計測時間が所定の閾値を超えていないと判断した場合（ステップＳ５：Ｎｏ）、パケットのコピーの受信の有無を判断する（ステップＳ６）。サーバ装置３は、パケットのコピーを受信していないと判断した場合（ステップＳ６：Ｎｏ）、ステップＳ５に戻り、計測時間と所定の閾値との比較判断を行う。
【００７０】
サーバ装置３は、パケットのコピーを受信したと判断した場合（ステップＳ６：Ｙｅｓ）、受信したパケットのコピーは、ＴＣＰ  ＳＹＮパケット及びＴＣＰ  ＦＩＮパケットのいずれであるかを判断する（ステップＳ７）。サーバ装置３は、受信したパケットのコピーが、ＴＣＰ  ＳＹＮパケットであると判断した場合（ステップＳ７：ＴＣＰ  ＳＹＮ）、タイマ３３２の計測を開始し（ステップＳ８）、ステップＳ５に戻り、計測時間と所定の閾値との比較判断を行う。
【００７１】
一方、サーバ装置３は、受信したパケットのコピーは、ＴＣＰ  ＦＩＮパケットであると判断した場合（ステップＳ７：ＴＣＰ  ＦＩＮ）、タイマ３３２の計測を終了する（ステップＳ９）。そして、サーバ装置３は、ステップＳ５に戻り、計測時間と所定の閾値との比較判断を行う。
【００７２】
サーバ装置３は、タイマ３３２の計測時間が所定の閾値を超えていると判断した場合（ステップＳ５：Ｙｅｓ）、この計測時間に対応するフローへの攻撃の疑いを検知し（ステップＳ１０）、該フローのパケットを、攻撃被疑フローのパケットとしてセキュリティ装置４に転送するように指示する（ステップＳ１１）。転送装置２Ｂは、この攻撃被疑フローのパケットをセキュリティ装置４に転送する（ステップＳ１２）。なお、サーバ装置３は、攻撃被疑フローを示す情報を送信して、転送装置２Ｂで攻撃被疑フロー自体をセキュリティ装置４に引き込んでいる。
【００７３】
セキュリティ装置４は、受信した攻撃被疑フローのパケットを基に攻撃被疑フローの内容を解析して（ステップＳ１３）、攻撃の内容を解析し、該解析結果に基づいて攻撃対処を行う。
【００７４】
［実施の形態の効果］
このように、本実施の形態に係る攻撃検知システムでは、攻撃検知対象の所定サーバへのＴＣＰ  ＳＹＮパケットが到達してから、ＴＣＰ  ＳＹＮパケットに対応するフローでのＴＣＰ  ＦＩＮパケットが到達するまでの期間を、所定の閾値と比較することによって、所定サーバに対する攻撃を検知する。言い換えると、本実施の形態では、ＴＣＰ  ＳＹＮパケットが到達してからＴＣＰ  ＦＩＮパケットが到達するまでの期間が所定の閾値を超えていた場合に、該ＴＣＰ  ＳＹＮパケットに対応するフローに攻撃が流れていることを検知する。
【００７５】
このため、本実施の形態では、従来のように、監視対象フローの帯域を用いて攻撃を検知するのではなく、ＴＣＰ  ＳＹＮパケットが到達してから、ＴＣＰ  ＳＹＮパケットに対応するフローのＴＣＰ  ＦＩＮパケットが到達するまでの期間を用いて、攻撃を検知する。したがって、本実施の形態によれば、ＴＣＰ  ＳＹＮパケットが到達してからＴＣＰ  ＦＩＮパケットが到達するまでの期間を計測し、該計測した期間に基づいて攻撃を検知するため、低い通信量で、時間をかけて接続を張り続けることでサーバを攻撃する攻撃を適切に検知することができる。
【００７６】
そして、本実施の形態では、サーバ装置３が検知した攻撃被疑フローのみをセキュリティ装置４に引き込んで、攻撃を解析し、通常通信に対しては、攻撃の解析は行わないため、セキュリティ装置４に要するコストを低減することができる。
【００７７】
また、本実施の形態では、サーバ装置３がＳｌｏｗ  Ｄｏｓ攻撃の検知を行うため、Ｗｅｂサーバ５の設定を何ら変更する必要がなく、通常通信（通常ユーザ）のＱｏＳを低下させることもない。もちろん、本実施の形態によれば、サーバ装置３がＳｌｏｗ  Ｄｏｓ攻撃の検知を行うため、Ｗｅｂサーバ５においてＳｌｏｗ  Ｄｏｓ検知アルゴリズムを動作させる必要もないため、Ｗｅｂアプリケーションの性能に影響を及ぼすこともない。
【００７８】
［他の実施の形態］
［システム構成等］
図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部又は任意の一部が、ＣＰＵ及び当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００７９】
また、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部又は一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００８０】
［プログラム］
図１１は、プログラムが実行されることにより、攻撃検知システムのサーバ装置３が実現されるコンピュータの一例を示す図である。コンピュータ１０００は、例えば、メモリ１０１０、ＣＰＵ１０２０を有する。また、コンピュータ１０００は、ハードディスクドライブインタフェース１０３０、ディスクドライブインタフェース１０４０、シリアルポートインタフェース１０５０、ビデオアダプタ１０６０、ネットワークインタフェース１０７０を有する。これらの各部は、バス１０８０によって接続される。
【００８１】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１及びＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１１００に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ１１００に挿入される。シリアルポートインタフェース１０５０は、例えばマウス１１１０、キーボード１１２０に接続される。ビデオアダプタ１０６０は、例えばディスプレイ１１３０に接続される。
【００８２】
ハードディスクドライブ１０９０は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３、プログラムデータ１０９４を記憶する。すなわち、サーバ装置３の各処理を規定するプログラムは、コンピュータ１０００により実行可能なコードが記述されたプログラムモジュール１０９３として実装される。プログラムモジュール１０９３は、例えばハードディスクドライブ１０９０に記憶される。例えば、サーバ装置３における機能構成と同様の処理を実行するためのプログラムモジュール１０９３が、ハードディスクドライブ１０９０に記憶される。なお、ハードディスクドライブ１０９０は、ＳＳＤ（Solid  State  Drive）により代替されてもよい。
【００８３】
また、上述した実施形態の処理で用いられる設定データは、プログラムデータ１０９４として、例えばメモリ１０１０やハードディスクドライブ１０９０に記憶される。そして、ＣＰＵ１０２０が、メモリ１０１０やハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して実行する。
【００８４】
なお、プログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ１１００等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、プログラムモジュール１０９３及びプログラムデータ１０９４は、ネットワーク（ＬＡＮ、ＷＡＮ等）を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール１０９３及びプログラムデータ１０９４は、他のコンピュータから、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【００８５】
以上、本発明者によってなされた発明を適用した実施形態について説明したが、本実施形態による本発明の開示の一部をなす記述及び図面により本発明は限定されることはない。すなわち、本実施形態に基づいて当業者等によりなされる他の実施形態、実施例及び運用技術等は全て本発明の範疇に含まれる。
【符号の説明】
【００８６】
２Ａ〜２Ｄ  転送装置
３  サーバ装置
４  セキュリティ装置
５  Ｗｅｂサーバ
６Ａ  通常ユーザ端末
６Ｂ  攻撃者端末
１０  ネットワーク
２１，３１，４１  記憶部
２２，３２，４２  通信部
２３，３３，４３  制御部
２１１  抽出パケット設定テーブル
２３１  抽出部
２３２  パケットコピー部
２３３  転送制御部
３３１  パケット取得部
３３２  タイマ
３３３  計測部
３３４  攻撃検知部
３３５  通信制御部
３３６  閾値設定部
４１１  解析用テーブル
４３１  攻撃解析部
【図１】
2018026747.tif 000003
【図２】
2018026747.tif 000004
【図３】
2018026747.tif 000005
【図４】
2018026747.tif 000006
【図５】
2018026747.tif 000007
【図６】
2018026747.tif 000008
【図７】
2018026747.tif 000009
【図８】
2018026747.tif 000010
【図９】
2018026747.tif 000011
【図１０】
2018026747.tif 000012
【図１１】
2018026747.tif 000013