(57)【要約】【課題】      不正な侵入のようなネットワークの異常を全般的に検知し、異常の種類を見極めるのに適した検知装置等を提供する。【解決手段】  履歴集約部１８３は、通信状態を表す状態量の履歴データを集約項目毎に集約して履歴空間データを生成する。検出部１８１は、履歴集約部１８３によって生成された履歴空間データを基準として通信状態を表す状態量の観測データに生じた差異に基づき、情報通信ネットワークの通信状態の変化を検出する。【選択図】  図１
2008252427.tif 000002
【特許請求の範囲】
【請求項１】
情報通信ネットワークの通信状態の変化を検出する検出装置であって、
前記通信状態を表す状態量の履歴データを集約項目毎に集約して履歴空間データを生成する履歴集約手段と、
前記履歴集約手段によって生成された履歴空間データを基準として前記通信状態を表す状態量の観測データに生じた差異に基づき、前記情報通信ネットワークの通信状態の変化を検出する検出手段とを備える、検出装置。
【請求項２】
前記検出手段は、前記通信状態を表す状態量をヒストグラム化し又は前記通信状態を表す状態量の割合を円グラフ化することにより、前記差異を特定する、請求項１記載の検出装置。
【請求項３】
前記履歴空間データは、ＴＣＰコントロールフラグの組み合わせと各コントロールフラグについてのパケット数のデータであり、
前記検出手段は、前記情報通信ネットワークの通信状態の変化として異常なヘッダ値を有するパケット情報を検出する、請求項１又は２記載の検出装置。
【請求項４】
前記履歴空間データは、送信元ＩＰアドレス又はポート番号とそれに対するパケット数のデータであり、
前記検出手段は、前記情報通信ネットワークの通信状態の変化としてトロイの木馬を検出する、請求項１又は２記載の検出装置。
【請求項５】
前記履歴空間データは、送信先ＩＰアドレスとそれに対するパケット数のデータであり、
前記検出手段は、前記情報通信ネットワークの通信状態の変化としてＤｏｓ又はＤＤｏｓ攻撃を検出する、請求項１又は２記載の検出装置。
【請求項６】
前記履歴空間データは、リクエストサイズとそれに対するリクエスト数のデータであり、
前記検出手段は、前記情報通信ネットワークの通信状態の変化としてバッファオーバーフロー攻撃を検出する、請求項１又は２記載の検出装置。
【請求項７】
前記履歴空間データは、ＦＩＮフラグが１である比率であり、
前記検出手段は、前記情報通信ネットワークの通信状態の変化としてパスワード総当り攻撃を検出する、請求項１又は２記載の検出装置。
【請求項８】
前記履歴集約手段は、前記通信状態を表す状態量の履歴データのうち所定の集約条件を満たすものを集約項目毎に集約して履歴空間データを生成する、請求項１から７のいずれかに記載の検出装置。
【請求項９】
前記履歴集約手段は、前記情報通信ネットワークに接続する端末の利用環境に応じて設定された前記集約条件と前記集約項目に基づいて、履歴空間データを生成する、請求項８記載の検出装置。
【請求項１０】
前記検出手段は、前記情報通信ネットワークの通信状態の変化を生じさせたアクセス源を特定する、請求項１から９のいずれかに記載の検出装置。
【請求項１１】
情報通信ネットワークの通信状態の変化を検出する検出方法であって、
履歴集約手段が、前記通信状態を表す状態量の履歴データを集約項目毎に集約して履歴空間データを生成するステップと、
検出手段が、前記履歴集約手段によって生成された履歴空間データを基準として前記通信状態を表す状態量の観測データに生じた差異に基づき、前記情報通信ネットワークの通信状態の変化を検出するステップとを含む、検出方法。
【請求項１２】
第１の情報通信ネットワークと第２の情報通信ネットワーク間の通信状態の変化を検出して前記第１の情報通信ネットワークと前記第２の情報通信ネットワーク間の通信状態又は前記第１の情報通信ネットワーク内の通信状態を制御する通信制御方法であって、
履歴集約手段が、前記第１の情報通信ネットワークと前記第２の情報通信ネットワーク間の通信状態を表す状態量の履歴データを集約項目毎に集約して履歴空間データを生成するステップと、
検出手段が、前記履歴集約手段によって生成された履歴空間データを基準として前記第１の情報通信ネットワークと前記第２の情報通信ネットワーク間の通信状態を表す状態量の観測データに生じた差異に基づき、前記第１の情報通信ネットワークと前記第２の情報通信ネットワーク間の通信状態の変化を検出するステップと、
制御手段が、前記検出手段の検出結果に基づいて前記第１の情報通信ネットワークと前記第２の情報通信ネットワーク間の通信状態又は前記第１の情報通信ネットワーク内の通信状態を制御するステップと、を含む、通信制御方法。
【請求項１３】
履歴集約手段が、情報通信ネットワークの通信状態を表す状態量の履歴データを集約項目毎に集約して履歴空間データを生産するステップを含む、履歴空間データ生産方法。
【請求項１４】
請求項１１から１３のいずれかに記載の方法をコンピュータに実行させることが可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検出装置、検出方法、通信制御方法、履歴空間データ生産方法、及びこれらの方法をコンピュータに実行させることが可能なプログラムに関し、特に、情報通信ネットワークの通信状態の変化を検出する検出装置等に関する。
【背景技術】
【０００２】
現在、インターネットは世界的に広く拡大しており、ビジネスや日常生活において欠かせないものとなってきている。しかし、インターネットの普及に伴い、それを悪用した被害が多発している。ネットワークにおける被害の原因は、大きく２つに分類される。すなわち、外部からの攻撃的侵入による被害と内部ネットワークでの不正な活動による被害である。外部からの攻撃的侵入による被害としては、情報漏洩やシステムの権限外の利用（不正なログイン）やサービスを停止させること等が挙げられる。内部ネットワークでの不正な活動による被害としては、外部へのＤｏｓ攻撃やワームの活動等が挙げられる。
【０００３】
このような被害を防ぐ従来法として、個別の統計量の時間的な変化を見て不正な侵入を検知する技術（アノマリ検知方式、Ｄｏｓ／ＤＤｏｓに特化した検知方式）やペイロード部のパターンマッチングにより不正な侵入を検知する技術（シグニチャ辞書方式）が知られている。前者は、単位時間あたりのパケット数がある閾値を越えた場合に不正な侵入であると判断して検知する方式である。後者は予めシグニチャ辞書に登録された不正な侵入の情報とパケットの情報を照らし合わせて不正な侵入を検知する方式である。
【０００４】
また、上記の被害を防ぐ方法として、特許文献１に示す技術が提案されている。特許文献１には、多項分布を用いて統計的に通常状態を定義する。そして、通信状態が通常状態からどれくらい逸脱しているかを求めて異常を検知するという技術が記載されている。
【０００５】
【特許文献１】特開２００５−２０３９９２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、アノマリ検知方式やＤｏｓ／ＤＤｏｓに特化した検知方式では、個別の統計量の時間的な変化だけを見ている。そのため、パスワード総当り攻撃のような不正な侵入は検知することができない。また、個別の統計量だけを見ているため、通信情報を総合的に見て精密に分析することは難しい。
【０００７】
また、シグニチャ方式では、シグニチャ辞書に登録させている不正な侵入は検知できるが、登録されていない亜種については検知することができない。さらに、シグニチャ辞書に不正な侵入に関する情報を定義するには高度な知識が必要であり、作業に手間と時間が掛かってしまう。
【０００８】
さらに、特許文献１に記載された技術では通常状態が定義されているが、ネットワーク上の通信において通常状態という状態を定義するのは非常に困難な作業である。そのため、人間が介在して閾値等を設定する必要がある。しかし、ネットワークは常に攻撃的な侵入を受けており、特に悪意をもつ不正な侵入は身を潜めて侵入する傾向があり、閾値を設定すること自体が非常に困難である。
【０００９】
仮に閾値を設定することができても、ネットワークの状態はユーザごとに個性があり、あるユーザにとっては通常状態であっても他のユーザにとっては通常状態ではないということも十分に想定される。その場合、特許文献１に示す技術ではユーザごとに閾値を設定しなければならず、作業に手間と時間を有する。
【００１０】
さらに、特許文献１においては、プローブ攻撃とＤｏｓ攻撃に対して評価を行い、有効性を示しているが、それ以外の様々な攻撃相手に対する評価や攻撃相手の特定に関しては触れられていない。
【００１１】
不正な侵入のようなネットワークの異常には様々な種類があり、それらを全般的に検知することは非常に重要な課題である。さらに、異常を検知するのと同時に、異常の種類を見極めることも重要である。異常が検知できても、その種類が特定できなければ、適切な対処を選択することができない。異常の種類の見極めを間違ってしまうと、間違った対処を行ってしまい返って被害を拡大してしまう可能性もある。
【００１２】
そこで、本発明は、上記課題を解決する検出装置、検出方法、通信制御方法、履歴空間データ生産方法、及びこれらの方法をコンピュータに実行させることが可能なプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
請求項１に係る発明は、情報通信ネットワークの通信状態の変化を検出する検出装置であって、前記通信状態を表す状態量の履歴データを集約項目毎に集約して履歴空間データを生成する履歴集約手段と、前記履歴集約手段によって生成された履歴空間データを基準として前記通信状態を表す状態量の観測データに生じた差異に基づき、前記情報通信ネットワークの通信状態の変化を検出する検出手段とを備える。
【００１４】
請求項２に係る発明は、請求項１において、前記検出手段が、前記通信状態を表す状態量をヒストグラム化し又は前記通信状態を表す状態量の割合を円グラフ化することにより、前記差異を特定するものである。
【００１５】
請求項３に係る発明は、請求項１又は２において、前記履歴空間データが、ＴＣＰコントロールフラグの組み合わせと各コントロールフラグについてのパケット数のデータであり、前記検出手段が、前記情報通信ネットワークの通信状態の変化として異常なヘッダ値を有するパケット情報を検出するものである。
【００１６】
請求項４に係る発明は、請求項１又は２において、前記履歴空間データが、送信元ＩＰアドレス又はポート番号とそれに対するパケット数のデータであり、前記検出手段が、前記情報通信ネットワークの通信状態の変化としてトロイの木馬を検出するものである。
【００１７】
請求項５に係る発明は、請求項１又は２において、前記履歴空間データが、送信先ＩＰアドレスとそれに対するパケット数のデータであり、前記検出手段が、前記情報通信ネットワークの通信状態の変化としてＤｏｓ又はＤＤｏｓ攻撃を検出するものである。
【００１８】
請求項６に係る発明は、請求項１又は２において、前記履歴空間データが、リクエストサイズとそれに対するリクエスト数のデータであり、前記検出手段が、前記情報通信ネットワークの通信状態の変化としてバッファオーバーフロー攻撃を検出するものである。
【００１９】
請求項７に係る発明は、請求項１又は２において、前記履歴空間データが、ＦＩＮフラグが１である比率であり、前記検出手段が、前記情報通信ネットワークの通信状態の変化としてパスワード総当り攻撃を検出するものである。
【００２０】
請求項８に係る発明は、請求項１から７のいずれかにおいて、前記履歴集約手段が、前記通信状態を表す状態量の履歴データのうち所定の集約条件を満たすものを集約項目毎に集約して履歴空間データを生成するものである。
【００２１】
請求項９に係る発明は、請求項８において、前記履歴集約手段が、前記情報通信ネットワークに接続する端末の利用環境に応じて設定された前記集約条件と前記集約項目に基づいて、履歴空間データを生成するものである。
【００２２】
請求項１０に係る発明は、請求項１から９のいずれかにおいて、前記検出手段が、前記情報通信ネットワークの通信状態の変化を生じさせたアクセス源を特定するものである。
【００２３】
請求項１１に係る発明は、情報通信ネットワークの通信状態の変化を検出する検出方法であって、履歴集約手段が、前記通信状態を表す状態量の履歴データを集約項目毎に集約して履歴空間データを生成するステップと、検出手段が、前記履歴集約手段によって生成された履歴空間データを基準として前記通信状態を表す状態量の観測データに生じた差異に基づき、前記情報通信ネットワークの通信状態の変化を検出するステップとを含む、ものである。
【００２４】
請求項１２に係る発明は、第１の情報通信ネットワークと第２の情報通信ネットワーク間の通信状態の変化を検出して前記第１の情報通信ネットワークと前記第２の情報通信ネットワーク間の通信状態又は前記第１の情報通信ネットワーク内の通信状態を制御する通信制御方法であって、履歴集約手段が、前記第１の情報通信ネットワークと前記第２の情報通信ネットワーク間の通信状態を表す状態量の履歴データを集約項目毎に集約して履歴空間データを生成するステップと、検出手段が、前記履歴集約手段によって生成された履歴空間データを基準として前記第１の情報通信ネットワークと前記第２の情報通信ネットワーク間の通信状態を表す状態量の観測データに生じた差異に基づき、前記第１の情報通信ネットワークと前記第２の情報通信ネットワーク間の通信状態の変化を検出するステップと、制御手段が、前記検出手段の検出結果に基づいて前記第１の情報通信ネットワークと前記第２の情報通信ネットワーク間の通信状態又は前記第１の情報通信ネットワーク内の通信状態を制御するステップと、を含む、ものである。
【００２５】
請求項１３に係る発明は、履歴集約手段が、情報通信ネットワークの通信状態を表す状態量の履歴データを集約項目毎に集約して履歴空間データを生産するステップを含む、履歴空間データ生産方法である。
【００２６】
請求項１４に係る発明は、請求項１１から１３のいずれかに記載の方法をコンピュータに実行させることが可能なプログラムである。
【発明の効果】
【００２７】
本発明によれば、アノマリ検知方式やＤｏｓ／ＤＤｏｓに特化した検知方式のように個別の統計量を見るだけでは検知できないパスワード総当り攻撃を検知することができる。また、異常なヘッダ値をもつ通信情報、トロイの木馬、Ｄｏｓ／ＤＤｏｓ攻撃、及び、バッファオーバーフロー攻撃等も侵入も検知することが可能である。さらに、ＴＣＰフロー、ＴＣＰ個別パケット、ＵＤＰ個別パケット、及び、ＩＣＭＰ個別パケットについても異常を検知することが可能である。従って、広範囲に渡ってネットワーク上の異常を検知することができる。
【００２８】
また、ヒストグラムや円グラフ等を用いることでネットワーク上の通信情報を総合的に判定し、精密に分析することが可能となる。また、基準となる通常の状態を定義する必要がないため、非常に困難な閾値の設定を行わなくてよい。
【００２９】
さらに、シグニチャ辞書に登録されていない亜種についても検知することが可能である。従って、亜種が発見された場合に、それを詳細に分析して亜種に関する情報をシグニチャ辞書に定義する手間が掛からなくて済む。
【００３０】
さらに、例えば、曜日ごとや昼夜ごとや時間帯ごと等様々な異なる基準を、ネットワークを使用するユーザごとに作成することで、ユーザの個性を反映して検知することができ、メンテナンスフリーの実現が可能となる。また、タイムアウトによる分断ではなく、様々な異なる基準を用いることで検知の精度を上げることが可能となる。
【００３１】
さらに、不正な侵入の相手を正確に特定することで、不正な侵入があった際のその後の対処をスムーズに行うことが可能となる。
【発明を実施するための最良の形態】
【００３２】
本発明の実施の形態を以下に説明する。なお、本発明は以下の実施の形態により限定されるものではない。
【００３３】
図１は、本発明の実施の形態に係るシステムの概要の一例を示すブロック図である。インターネット等の外部ネットワーク１５０に、ルータ１３０を介して、異常検知装置１００と、運用監視ツール１６０と、サーバ類１１０と、ユーザパソコンやＩＰ電話機器等の情報通信装置１２０が接続されている。サーバ類１１０と情報通信装置１２０とは、内部ネットワーク１２５により接続されている。外部ネットワーク１５０とルータ１３０の間には、外部からの通信を制御し、内部ネットワーク１２５の安全性を維持するためのファイヤウォール１４０が接続されている。異常検知装置１００は、プローブ１７０とネットワークセキュリティデータベース（以下、「ＮＳＤＢ」という。）１８０とを備える。
【００３４】
ＮＳＤＢ１８０は、検出部１８１と、履歴集約部１８３と、Traffic  DB１８５とを備える。Traffic  DB１８５は、Probe  DB（以下、「ＰＤＢ」という。）３４０とStatistical  DB（以下、「ＳＤＢ」という。）３５０とを備える。
【００３５】
ここで、図１のシステムの処理の概要について簡単に説明する。異常検知装置１００のプローブ１７０は、外部ネットワーク１５０からファイヤウォール１４０とルータ１３０を介して流れてくる情報の全パケット及び内部ネットワーク１２５より流出する情報の全パケットに対してキャプチャを行う。ＮＳＤＢ１８０では、プローブ１７０のキャプチャにより取り込まれた情報に基づいて異常を検知する処理が行われる。異常があると判断された場合は運用監視ツール１６０にアラートが送信される。運用監視ツール１６０は、受信したアラートに基づいて、全ての通信の遮断、ＩＰアドレスごとの通信の遮断等により、サーバ類１１０や情報通信装置１２０への外部からの不正なアクセスや内部からの情報漏洩等を防止する。
【００３６】
次に、本発明の実施の形態に係る異常検知装置１００について説明する。図２は、図１の異常検知装置１００のプローブ１７０の構成の一例を示したブロック図である。図３は、異常検知装置１００のＮＳＤＢ１８０の構成の一例を示したブロック図である。図４は、異常検知装置１００が検出できる異常の種類をまとめた図である。
【００３７】
まず、図２において、プローブ１７０は、キャプチャ部２１０とパケット集計部２２０と共有メモリ部２３０とを備える。図２においては、キャプチャ部２１０はキャプチャプロセスにより実現され、パケット集計部２２０はパケット集計プロセスにより実現されている。共有メモリ部２３０は、書き込み面番号部２３０ａと第１のパケットブロック部２３０ｂと第２のパケットブロック部２３０ｃとを備える。このような構成を有するのは、共有メモリ部２３０の情報の読み込み処理と共有メモリ部２３０への情報の書き込み処理を制御するためである。第１パケットブロック部２３０ｂと第２パケットブロック部ｃは、キャプチャパケット数、キャプチャ時刻、及び、パケットバッファ（１〜ｎ）の情報を有する。
【００３８】
次に、図３において、ＮＳＤＢ１８０は、検出部１８１と履歴集約部１８３とTraffic  DB１８５と異常検知テーブル１８７（図１では省略）とを備える。図３においては、検出部１８１は侵入検知プロセスにより実現され、履歴集約部１８３は統計量集約プロセスにより実現されている。Traffic  DB１８５のＰＤＢ３４０は、プローブ１７０でキャプチャされた情報を集計した、トロイの木馬ＴＣＰバックドア情報３４０ａ、トロイの木馬ＵＤＰバックドア情報３４０ｂ、トロイの木馬ＴＣＰ情報漏洩情報３４０ｃ、トロイの木馬ＵＤＰ情報漏洩情報３４０ｄ、バッファオーバーフロー情報３４０ｅ、異常ヘッダ情報３４０ｆ、及び、ＳｙｎＦｌｏｏｄ情報３４０ｇの７種類の異常に関する情報を記憶する。ＳＤＢ３５０は、プローブ１７０でキャプチャされた情報を集計した上記７つの情報のうち、最初の６つを所定の集約時間（１０分、１時間、１日、２８日）で集約した情報を記憶し、ＳｙｎＦｌｏｏｄに関しては異なる集約時間（１時間）で集約した情報を記憶する。ＰＤＢ３４０は、記憶する情報とＳＤＢ３５０が記憶する情報の差異をヒストグラムを用いて抽出する。これによって、図４に示すような、シグニチャ辞書に登録されていない亜種の攻撃的侵入や、個別の統計量の変化を見るだけでは検知ができないパスワード総当り攻撃のような不正アクセスも検知することができる。
【００３９】
次に、プローブ１７０及びＮＳＤＢ１８０の処理について簡単に説明する。
【００４０】
図２において、外部ネットワーク１５０上を流れるパケット情報は、キャプチャ部２１０によりキャプチャされる。キャプチャされたパケット情報は共有メモリ２３０の第１のパケットブロック部２３０ｂ又は第２のパケットブロック部２３０ｃに書き込まれる。書き込まれたパケット情報は、パケット集計部２２０に読み込まれ、そこでパケット情報の集計処理が行われる。集計処理は、異常の種類ごとにハッシュマップを作成して行われる。集計結果の情報は、ＮＳＤＢ１８０へ送信される。
【００４１】
図３において、集計結果の情報を受信したＮＳＤＢ１８０では、検出部１８１によりＰＤＢ３４０の作成処理が行われる。ＰＤＢ３４０が作成されると、検出部１８１は、履歴集約部１８３が所定の集約時間に応じて集約した情報とＰＤＢ３４０が持つ情報とをヒストグラムにより比較する。その比較の結果、異常があると判断されると、その異常情報が異常検知テーブル１８７に記憶される。
【００４２】
次に、図２のプローブ１０２の処理についてさらに詳細に説明する。図５（ａ）は、図２のキャプチャ部２１０の処理の一例を示すフロー図である。キャプチャ部２１０は、外部ネットワーク１５０から流入してくる情報や内部から外部ネットワーク１５０に流出する情報の全パケットをキャプチャする処理等を行う。
【００４３】
まず、ステップＳＴ１０１で初期化処理が行われる。この初期化処理では、プロセスのパラメータのチェックやシグナルの設定や共有メモリへのＩＤの割り付け等の処理が行われる。ステップＳＴ１０２では、パケット情報セマフォに対するＰ操作が行われる。セマフォとは、排他制御を必要とする際に用いる共通変数であり、処理の要求通知をＰ操作、処理の終了通知をＶ操作という。ここでは、Ｐ操作を行うことで、パケット情報に対して他のプロセスがアクセスできないようにし、Ｖ操作がなされるまで待ち状態となるように制御している。
【００４４】
ステップＳＴ１０３では、共有メモリ部２３０の書き込み面番号部２３０ａの書き込み面番号が読み出される。ステップＳＴ１０４では、ステップＳＴ１０３で読み込んだ書き込み面番号に基づいて、第１のパケットブロック部２３０ｂまたは第２のパケットブロック部２３０ｃにパケット情報が書き込まれる。書き込み面番号が１の場合は、第１のパケットブロック部２３０ｂに書き込まれ、書き込み面番号が２の場合は、第２のパケットブロック部２３０ｃに書き込まれる。この書き込み面番号の切り替えは、パケット集計部２２０により行われる。ステップＳＴ１０５では、ステップＳＴ１０４で書き込んだパケット情報に基づいて、キャプチャパケット数が更新される。そして、ステップＳＴ１０６でパケット情報セマフォに対するＶ操作が行われて、再びステップＳＴ１０２の処理に戻る。このＶ操作が行われた時点で、待ち状態になっていた他のプロセスはパケット情報にアクセスすることができるようになる。
【００４５】
上記処理は、キャプチャ部２１０がシグナルＳＩＧＩＮＴを受信するまで繰り返して行われる。ステップＳＴ１０７でシグナルＳＩＧＩＮＴを受信した場合は、ステップＳＴ１０８で終了処理が行われてキャプチャ部２１０の処理を終了する。終了処理では、パケット情報セマフォに対するＶ操作や共有メモリの分離の処理等が行われる。
【００４６】
図５（ｂ）は、図２のパケット集計部２２０の処理の一例を示すフロー図である。パケット集計部２２０は、キャプチャ部２１０がキャプチャしたパケット情報を、異常の種類ごとに必要な項目を集計してハッシュマップを作成し、その集計結果の情報をＮＳＤＢ１８０に送信する処理等を行う。
【００４７】
まず、ステップＳＴ２０１で初期化処理が行われる。この初期化処理でも、キャプチャ部２１０の場合と同様に、プロセスのパラメータのチェックやシグナルの設定や共有メモリへのＩＤの割り付け等の処理が行われる。さらに、ここではＮＳＤＢ１８０との接続処理や異常の種類ごとに必要なメモリの確保や集計処理フラグを０にする処理等も行われる。以降、集計処理は、シグナルＳＩＧＡＬＡＲＭを受け取ってから開始となる。シグナルＳＩＧＡＬＡＲＭを受信すると、集計処理フラグが０か１かが判定され、集計処理フラグが０であれば集計処理フラグを１にする。
【００４８】
ステップＳＴ２０２では、集計処理フラグが０か１かが判定される。集計処理フラグが０の場合ステップＳＴ２０３で所定の時間（ここでは５秒に設定）が経過するまでポーズが行われる。そして５秒が経過するとステップＳＴ２０４の処理に進む。集計処理フラグが１の場合は、そのまま、ステップＳＴ２０４の集計処理に進む。
【００４９】
ここで、ステップＳＴ２０４の集計処理についてさらに詳細に説明する。図６は、図５（ｂ）のステップＳＴ２０４の集計処理の詳細の一例を示すフロー図である。
【００５０】
まず、ステップＳＴ３０１で、集計処理フラグを０にする。ステップＳＴ３０２では、キャプチャパケット数がクリアされる。ステップＳＴ３０３では、キャプチャ時刻が更新される。ステップＳＴ３０４では、Ｐ操作が行われる。ステップＳＴ３０５では、共有メモリ部２３０の書き込み面番号部２３０ａの書き込み面番号が切り替えられる。この切り替えのタイミングは所定の時間（ここでは５秒に設定）ごとに行われる。すなわち、第１のパケットブロック部２３０ｂまたは第２のパケットブロック部２３０ｃには５秒分のパケット情報が書き込まれていることになる。ステップＳＴ３０５の書き込み面番号の切り替え処理が終わると、ステップＳＴ３０６でＶ操作が行われる。
【００５１】
ステップＳＴ３０７では、キャプチャ部２１０がキャプチャしたパケット情報数が、第１または第２のパケットブロックのパケットバッファ数以下かどうかが判定される。キャプチャパケット数がパケットバッファ数以下ではない場合は、ステップＳＴ３１２の処理に進む。キャプチャパケット数がパケットバッファ数以下の場合は、ステップＳＴ３０８の処理に進む。ステップＳＴ３０８では、１つのパケット情報を読み出す処理が行われる。ステップＳＴ３０９では、集計処理フラグが０か１かが判定される。集計処理フラグが１の場合にはステップＳＴ３１３の処理に進み、集計処理フラグが０の場合にはステップＳＴ３１０の処理に進む。ステップＳＴ３１０では攻撃といった異常ごとの集計処理が行われる。
【００５２】
ここで、ステップＳＴ３１０の異常ごとの集計処理についてさらに詳細に説明する。図７は、図６のステップＳＴ３１０の異常ごとの集計処理の一例を示した模式図である。図８は、図６のステップＳＴ３１０の異常ごとの集計処理の詳細の一例を示したフロー図である。
【００５３】
図７において、共有メモリ中のパケット情報を１つずつ読み出す（図中のａ）。集計処理は異常ごと（上記に示した７種類の異常）に分かれており、その異常ごとの集計処理に、読み出したパケット情報を渡す（図中のｂ）。図７では１番目の集計処理にパケット情報を渡す様子を示している。パケット情報を受け取った集計処理は、異常を検知するのに必要な項目を取り出す（図中のｃ）。その後、取り出された項目に基づき、パケットの流れる方向、ＩＰアドレスなどの条件が判定される（図中のｄ）。取り出された項目が連結され、固定長のｃｈａｒ型の連結のキーが作成される（図中のｅ）。また、拡張のためｎｏｐメンバが作られて構造体が作成される（図中のｆ）。そして、作成されたキーと作成された構造体とが関連付けられて格納される（図中のｇ）。
【００５４】
次に、図８を参照して図７に示す集計処理のフローを説明する。まず、ステップＳＴ４０１で、パケット情報の判定処理が行われる。この判定処理は、パケット情報が異常検知の対象となるデータであるか否かの条件で行われるものである。ステップＳＴ４０２では、パケット情報がステップＳＴ４０１の条件を満たすか否かが判定される。条件を満たさない場合は、そのまま異常ごとの集計処理を終了する。条件を満たす場合は、ステップＳＴ４０３の処理に進む。ステップＳＴ４０３では、集計に必要な項目が抽出される（図７のｃに対応）。ステップＳＴ４０４では、抽出された項目でキーが作成される（図７のｅに対応）。ステップＳＴ４０５では、作成されたキーがハッシュマップに存在するかどうかが判定される。
【００５５】
キーが示すデータがハッシュマップに存在する場合は、ステップＳＴ４０６の処理に進む。ステップＳＴ４０６では、ハッシュマップのデータをキーで検索して該当するデータを読み出す。ステップＳＴ４０７では、読み出した以前に読み出したデータを削除する。ステップＳＴ４０８では、読み出したデータのパケット数を更新して、ステップＳＴ４１１のインサート処理を行う。
【００５６】
キーが示すデータがハッシュマップに存在しない場合は、ステップＳＴ４０９で新たな構造体の作成を行う（図７のｆに対応）。ステップＳＴ４１０でパケット数を１にセットして、ステップＳＴ４１１のインサート処理を行う（図７のｇに対応）。ステップＳＴ４１１のインサート処理により、ハッシュマップが作成されると１番目の集計処理を終了する。この処理を７番目の集計処理まで繰返し、全ての集計処理が終了すると、異常ごとの集計処理を終了する。
【００５７】
図６に戻って、ステップＳＴ３１０で上記のような異常ごとの集計処理が行われると、ステップＳＴ３１１で、パケット情報の全てが読み出されたか否かが判定される。読み出されていないパケット情報があれば、再びステップＳＴ３０８に戻って１パケット情報ずつの集計処理を繰り返す。パケット情報の全てが読み出されていれば、ステップＳＴ３１２で、ＮＳＤＢ１８０に対して集計結果の情報を送信する。そして、ステップＳＴ３１３でメモリが開放され、集計処理を終了する。
【００５８】
図５（ｂ）に戻って、ステップＳＴ２０４の集計処理が終了すると、再びステップＳＴ２０２の処理に戻って、シグナルＳＩＧＩＮＴを受信するまで処理が繰り返される。ステップＳＴ２０５で、シグナルＳＩＧＩＮＴを受信した場合は、ステップＳＴ２０６で終了処理が行われ、パケット集計プロセスの処理を終了する。終了処理では、共有メモリの分離やメモリの開放処理やＮＳＤＢ１０４との接続を切断する処理等が行われる。
【００５９】
次に、図３のＮＳＤＢ１８０の処理についてさらに詳細に説明する。
【００６０】
図９は、図３の検出部１８１の処理の一例を示すフロー図である。検出部１８１では、プローブ１７０から送信された集計結果の情報に基づいてＰＤＢ３４０の作成する処理、ＰＤＢ３４０のデータをＳＤＢ３５０に登録する処理、及び、異常の検知をする処理等が行われる。
【００６１】
まず、ステップＳＴ５０１で初期化処理が行われる。この初期化処理では、データベースへの接続の確立処理やポート番号の取得や受信バッファのメモリの確保やソケットの作成等の処理が行われる。ステップＳＴ５０２では、プローブ１７０からのコネクション要求があるまでコネクション待ちが行われる。ステップＳＴ５０３では、プローブ１７０からのコネクション要求があった場合に、それに応答してプローブ１７０に対して受信可能である通知がなされる。ステップＳＴ５０４では、データ通信に成功したかどうかが判定される。データ通信に成功しなかった場合は、ステップＳＴ５１１でコネクションを切断して、再びステップＳＴ５０２のコネクション待ち状態となる。データ通信に成功した場合は、ステップＳＴ５０５で、プローブ１７０により送信された集計結果の情報を受信する。ステップＳＴ５０６では、データ通信に成功したかどうかが判定される。データ通信に成功しなかった場合は、ステップＳＴ５１２でバッファが初期化され、ステップＳＴ５１１でコネクションが切断されて、再びステップＳＴ５０２のコネクション待ち状態となる。データ通信に成功した場合は、次のステップＳＴ５０７の処理に進む。
【００６２】
ステップＳＴ５０７では、ＰＤＢ３４０の作成・登録処理が行われる。この作成・登録処理では、プローブ１７０で異常ごとに集計した集計結果の情報を、ＰＤＢ３４０にコピーする処理が行われる。ステップＳＴ５０８では、ＰＤＢ３４０の作成・登録処理が成功したかどうかが判定される。ＰＤＢ３４０の作成・登録処理に成功しなかった場合は、ステップＳＴ５０９の処理を行わずにステップＳＴ５１０の処理に進む。ＰＤＢ３４０の作成・登録処理に成功した場合は、ステップＳＴ５０９の処理に進む。ステップＳＴ５０９では、検知・登録処理が行われる。この検知・登録処理では、ＰＤＢ３４０にコピーされた情報とＳＤＢ３５０に記憶されている情報の差異をヒストグラムにより抽出することで、ネットワークに異常があるかどうかの判定が行われ、その後ＰＤＢ３４０の情報をＳＤＢ３５０に登録する処理が行われる。
【００６３】
ここで、ステップＳＴ５０９の検知・登録処理についてさらに詳細に説明する。図１０は、図９のステップＳＴ５０９の検知・登録処理の詳細の一例を示したフロー図である。
【００６４】
まず、ステップＳＴ６０１でトランザクションが開始される。ステップＳＴ６０２では、ＳＱＬの実行処理が行われる。ここで実行されるＳＱＬにより、ＰＤＢ３４０に記憶された情報とＳＤＢ３５０に記憶された情報が比較され、異常の検知処理が行われる。
【００６５】
ここで、検知処理について詳細に説明する。上記に示した７種類の異常を検知する処理は、大きく以下の４つの処理区分に分けることができる。
（１）異常なヘッダ値を持つパケット情報を検知する処理
（２）トロイの木馬を検知する処理
（３）Ｄｏｓ／ＤＤｏｓ攻撃（ＳｙｎＦｌｏｏｄ）を検知する処理
（４）バッファオーバーフロー攻撃を検知する処理
【００６６】
以下に、上記４つの処理区分のそれぞれについて説明する。
【００６７】
まず、処理区分（１）の異常なヘッダ値を持つパケット情報を検知する処理について説明する。図１１（ａ）及び（ｂ）は、ヒストグラムを用いて異常なヘッダ値を持つパケット情報を検知する処理の模式図である。図１１（ａ）はＰＤＢ３４０の統計量を示すヒストグラムであり、図１１（ｂ）はＳＤＢ３５０の統計量を示すヒストグラムである。それぞれのヒストグラムは、縦軸がパケット数で、横軸がコントロールフラグである。なお、S=000010B、A=010000B、AP=011000B、SA=010010B、F=010001B、SF=000011B、UA=110000Bである。
【００６８】
図１１（ｂ）は、過去のパケット情報を集約した統計量が示すヒストグラムである。つまり、この統計量が定常の状態を示すヒストグラムであり、正常な統計量とすることができる。比較の目安となる閾値をパケット数の0.01％に設定したとする。図１１（ａ）のヒストグラムと図１１（ｂ）のヒストグラムを比較すると、図１１（ａ）のコントロールフラグＵＡとＳＦが異常であると判断できる。したがって、異常なヘッダ値を持つパケット情報を検知することができる。この時、過去のパケット情報を集約した統計量として、５秒、１０分、１日、２８日ごとに集約された統計量を用いて比較の処理を行う。
【００６９】
図１２は、異常なヘッダ値を検出する処理を実現するコードの一例を示す図であり、ＳＱＬで記載されている。図１２において、（ａ）は異常検知処理であり、（ｂ）はＰＤＢよりＳＤＢを生成する処理であり、（ｃ）は統計量集約処理のうち圧縮用のものであり、（ｄ）は統計量集約処理のうち検知用のものであり、（ｅ）は統計量削除処理である。なお、図１２で、閾値は例えば０．０１であり、＄ＰＩＤはプローブＩＤであり、＄ＴＩＭは時間幅（例えば、５Ｓｅｃ、１０ｍｉｎ、１Ｄａｙ、１Ｍｏｎ）であり、＄ＴＩＭ１は％ＴＩＭに対して一つ前の時間幅（例えば、＄ＴＩＭ＝１０Ｍｉｎのとき５Ｓｅｃ）である。
【００７０】
続いて、処理区分（２）のトロイの木馬を検知する処理について説明する。図１１（ｃ）及び（ｄ）は、ヒストグラムを用いてトロイの木馬を検知する処理の模式図である。図１１（ｃ）はＰＤＢ３４０の統計量を示すヒストグラムであり、図１１（ｄ）はＳＤＢ３５０の統計量を示すヒストグラムである。それぞれのヒストグラムは、縦軸がパケット数で、横軸が送信元ＩＰアドレス／ポート番号である。図１１（ｄ）は、過去のパケット情報を集約した統計量が示すヒストグラムであり、処理区分（１）の場合と同様に、この統計量が定常の状態を示すヒストグラムとして、正常な統計量とすることができる。比較の目安となる閾値を所定のパケット数に設定し、図１１（ｃ）のヒストグラムと図１１（ｄ）のヒストグラムを比較すると、図１１（ｃ）のヒストグラムでは、過去に組合せの無い送信元ＩＰアドレス／ポート番号の組合せを検出している。つまり、普段使用しない送信元ＩＰアドレス／ポート番号が使用されていることから、トロイの木馬による不正なアクセスがあったことを検知することができる。このとき、過去のパケット情報を集約した統計量として、５秒、１０分、１日、２８日ごとに集約された統計量を用いて比較の処理を行う。
【００７１】
図１３は、トロイの木馬（ＴＣＰバックドア）を検出する処理を実現するコードの一例を示す図である。図１３の（ａ）〜（ｅ）は、それぞれ図１２の（ａ）〜（ｅ）に対応する。また、＄ＰＩＤ、＄ＴＩＭ、＄ＴＩＭ１も図１２と同様である。図１４、図１５、図１６は、それぞれ、ＴＣＰ情報漏洩、ＵＤＰバックドア、ＵＤＰ情報漏洩のトロイの木馬を検出する処理を実現するコードの一例を示す図である。
【００７２】
続いて、処理区分（３）のＤｏｓ／ＤＤｏｓ攻撃（ＳｙｎＦｌｏｏｄ）を検知する処理について説明する。図１１（ｅ）及び（ｆ）は、ヒストグラムを用いてＤｏｓ／ＤＤｏｓ攻撃を検知する処理の模式図である。図１１（ｅ）のグラフはＰＤＢ３４０の統計量を示すヒストグラムであり、図１１（ｆ）のグラフはＳＤＢ３５０の統計量を示すヒストグラムである。それぞれのヒストグラムは、縦軸がパケット数で、横軸が送信先ＩＰアドレスである。この処理では、ＳＤＢ３５０に記憶されている過去の同曜日同時間帯における統計量（Ｎ週間前までのパケット数の標準偏差：Ｎ＝１，２，３，４）を元に、ＰＤＢ３４０が記憶するパケット数の偏差値を算出し、偏差値が閾値以上であれば、ＰＤＢ３４０のデータを異常であるとする。図１１（ｆ）は、過去のパケット情報を集約した統計量が示すヒストグラムである。この統計量が定常の状態を示すヒストグラムであり、正常な統計量とすることができる。比較の目安となる閾値を偏差値７０に設定したとする。正常な統計量を示す図１１（ｅ）のヒストグラムと図１１（ｆ）のヒストグラムを比較すると、Ｅの送信先ＩＰアドレスについて、偏差値が７０以上である。つまり、Ｅの送信先ＩＰアドレスでは、過去（過去の同曜日同時間帯）に無い大きさのパケット数で情報の通信がなされている。従って、Ｄｏｓ／ＤＤｏｓ攻撃（ＳｙｎＦｌｏｏｄ）を受けたと判断することができる。この時、過去のパケット情報を集約した統計量として、５秒、１時間ごとに集約された統計量を用いて比較の処理を行う。
【００７３】
図１７は、Ｄｏｓ／ＤＤｏｓ攻撃を検出する処理を実現するコードの一例を示す図である。図１７の（ａ）は検知処理、（ｂ）はＰＤＢからＳＤＢの生成処理、（ｃ）は統計量集約処理、（ｄ）は統計量削除処理を実現する。また、＄ＰＩＤ、＄ＴＩＭ、＄ＴＩＭ１は図１２と同様である。
【００７４】
続いて、処理区分（４）のバッファオーバーフロー攻撃を検知する処理を検知する処理について説明する。図１１（ｇ）及び（ｈ）は、ヒストグラムを用いてバッファオーバーフロー攻撃を検知する処理の模式図である。図１１（ｇ）のグラフはＰＤＢ３４０の統計量を示すヒストグラムであり、図１１（ｈ）のグラフがＳＤＢ３５０の統計量を示すヒストグラムである。それぞれのヒストグラムは、縦軸がリクエスト数で横軸がリクエストサイズである。
【００７５】
図１８及び図１９は、バッファオーバーフロー攻撃を検出する処理を実現するコードの一例を示す図である。図１８及び図１９の（ａ）〜（ｄ）は、それぞれ図１２の（ａ）〜（ｅ）に対応する。また、＄ＰＩＤ、＄ＴＩＭ、＄ＴＩＭ１も図１２と同様である。
【００７６】
（１）〜（４）の４つの処理区分に従って検知処理を行うことで、上記に示した７種類の異常を検知することが可能となる。また、比較する際にヒストグラムにより幾何学的に差異を見ることができるため、異常な状態を簡単に検知することが可能となる。さらに、様々な集約時間ごとに集約した統計量で比較を行うので、精密な分析が可能となり、検知の精度を上げることができる。
【００７７】
図１０に戻って、ステップＳＴ６０２でＳＱＬが実行され、異常の検知が行われると、ステップＳＴ６０３で異常があったかどうかが判定される。異常が無かったと判定された場合は、ステップＳＴ６０６の処理に進む。異常があったと判定された場合は、ステップＳＴ６０４の異常内容書き込み処理を行う。この異常内容書き込み処理では、検知された異常の内容に関する情報が異常検知テーブル３６０に記憶される。この情報に基づいて運用監視ツール１０６にアラートが送信される。ステップＳＴ６０５では、ステップＳＴ６０４の処理の結果、異常検知テーブル３６０に書き込みが成功したかどうかが判定される。書き込みが成功しなかった場合は、ステップＳＴ６０９でロールバックして処理を終了する。書き込みが成功した場合は、ステップＳＴ６０６でＳＱＬの実行処理が行われる。
【００７８】
このステップＳＴ６０６では、ＰＤＢ３４０に記憶された情報をＳＤＢ３５０にコピーして登録するＳＱＬが実行される。ステップＳＴ６０７では、ステップＳＴ６０６でＳＱＬを実行した結果、登録に成功したかどうかが判定される。登録に成功しなかった場合は、ステップＳＴ６０９でロールバックをして処理を終了する。登録に成功した場合は、ステップＳＴ６０８でコミットして処理を終了する。
【００７９】
図９に戻って、ステップＳＴ５０９で検知・登録処理が終了すると、ステップＳＴ５１０で検知の終了処理が行われる。この検知の終了処理では、次回の処理を行うための設定として、ＰＤＢ３４０の全テーブルの削除や受信バッファのメモリの解放等の処理が行われる。そして、再びステップＳＴ５０３の受信可能通知の処理に戻って、シグナルＳＩＧＩＮＴを受信するまで異常の検知処理等が繰り返して行われる。
【００８０】
ステップＳＴ５１３でシグナルＳＩＧＩＮＴを受信した場合は、ステップＳＴ５１４で終了処理が行われて、侵入検知プロセス３１０の処理を終了する。
【００８１】
続いて、図３の履歴集約部１８３について説明する。履歴集約部１８３は、ＰＤＢ３４０からＳＤＢ３５０に登録されるパケット情報を所定の集約時間で集約する処理等を行う。図２０（ａ）は、図３の履歴集約部１８３の処理の一例を示すフロー図である。
【００８２】
まず、ステップＳＴ７０１で初期化処理が行われる。この初期化処理では、データベースへの接続の確立処理や集約時間の設定の処理等が行われる。ステップＳＴ７０２では、次の集約時間まで待機される。以降、集約処理を開始する場合には、シグナルＳＩＧＡＬＡＲＭを受け取ってからの開始となる。シグナルＳＩＧＡＬＡＲＭは１０秒ごとに送信され、ＳＩＧＡＬＡＲＭを受信すると、受信した時間と集約時間を比較して、受信した時間が集約時間以降であれば処理開始フラグをＯＮにする。
【００８３】
ここで集約時間について説明する。図２０（ｂ）に、集約時間の概要を示す。ＯＳからのシグナルが１０秒ごとに送信されている。そのシグナルの受信時が、プロセス起動時（０）から集約時間（本発明の実施の形態では１０分、１時間、１日、２８日）経っている場合は集約処理を行う。そして、集約処理が完了後、集約時間に集約時間間隔幅を加算した値で集約時間を更新する。
【００８４】
図２０（ａ）に戻って、ステップＳＴ７０２の待機処理では、処理開始フラグがＯＮに設定されるとステップＳＴ７０３の統計量集約処理に進む。
【００８５】
ここで、ステップＳＴ７０３の統計量集約処理について詳細に説明する。図２１は、統計量集約処理の一例を示したフロー図である。
【００８６】
まず、ステップＳＴ８０１でキャプチャ時刻を取得する。ステップＳＴ８０２では、処理開始フラグをＯＦＦにする。ステップＳＴ８０３では、最小集計開始時間を取得し、ステップＳＴ８０４では最大集計終了時間を取得する。ステップＳＴ８０５では、トランザクションが開始される。ステップＳＴ８０６では、ＳＱＬの実行処理が行われる。ここで実行されるＳＱＬは、パケット情報を集約するＳＱＬである。
【００８７】
ここで、パケット情報の集約処理について具体的に説明する。図２２に、集約処理の具体例を示す。図２２に示す通り、上記で示した７種類の異常のうち、トロイの木馬ＴＣＰバックドア情報３４０ａ、トロイの木馬ＵＤＰバックドア情報３４０ｂ、トロイの木馬ＴＣＰ情報漏洩情報３４０ｃ、トロイの木馬ＵＤＰ情報漏洩情報３４０ｄ、バッファオーバーフロー情報３４０ｅ、及び、異常ヘッダ情報３４０ｆの情報を１０分、１日、２８日の単位で集約する。ＳｙｎＦｌｏｏｄ情報３４０ｇは、１時間の単位で集約する。このようにして集約されたそれぞれの集約情報は、侵入検知プロセス３１０が異常を検知する処理において、比較の対象として利用される。
【００８８】
図２１に戻って、ステップＳＴ８０６でＳＱＬが実行されると、ステップＳＴ８０７でＳＱＬの実行処理に成功したかどうかが判定される。ＳＱＬの実行処理が成功しなかった場合は、ステップＳＴ８０８でロールバックを行って処理を終了する。ＳＱＬの実行処理が成功した場合は、ステップＳＴ８０９でＳＱＬが全て実行されているかどうかが判定される。ＳＱＬが全て実行されていない場合は、ステップＳＴ８０６のＳＱＬの実行処理に戻って、その他のＳＱＬの実行処理を行う。ＳＱＬが全て実行されている場合は、ステップＳＴ８１０でコミットして処理を終了する。
【００８９】
図２０（ａ）に戻って、ステップＳＴ７０３の統計量集約処理が終了すると、ステップＳＴ７０４の集約処理の終了処理が行われる。この集約処理の終了処理では、次回の集約処理を行うための設定や集約時間の更新等の処理が行われる。そして、再びステップＳＴ７０２の待機処理に戻って、シグナルＳＩＧＩＮＴを受信するまで統計処理が繰り返して行われる。
【００９０】
ステップＳＴ７０５でシグナルＳＩＧＩＮＴを受信した場合は、ステップＳＴ７０６で終了処理が行われて、履歴集約部１８３の処理を終了する。
【００９１】
続いて、図２３及び図２４により、検知事例を示す。図２３（ａ）は、2006年12月14日に発生した異常なヘッダ値を持つパケット情報の検知例を示す図である。図２３（ｂ）は、2006年11月18日に発生したトロイの木馬（ＴＣＰバックドア）の検知例を示す図である。図２３（ｃ）は、2006年9月28日に発生したトロイの木馬（ＴＣＰ情報漏洩）の検知例を示す図である。図２３（ｄ）は、2006年9月23日に発生したトロイの木馬（ＵＤＰバックドア）の検知例を示す図である。図２４（ａ）は、2006年11月7日に発生したトロイの木馬（ＵＤＰ情報漏洩）の検知例を示す図である。図２４（ｂ）は、2006年9月21日に発生したＤｏｓ／ＤＤｏｓ攻撃（ＳｙｎＦｌｏｏｄ）の検知例を示す図である。図２４（ｃ）は、2006年10月3日に発生したバッファオーバーフロー攻撃の検知例を示す図である。
【００９２】
なお、１つのＮＳＤＢ１８０に対して、プローブ１７０を複数対応させてもよい。
【００９３】
また、比較する際に用いる図形は、ヒストグラムだけでなく、例えば円グラフでもよい。ヒストグラムであれば、いわば絶対量での比較となるのに対し、円グラフであれば、いわば相対量での比較となることとなる。
【００９４】
さらに、プローブ１０２とＮＳＤＢ１０４を一体的に捉えてもよい。その場合、パケット集計プロセスと侵入検知プロセスを１つのプロセスとして捉えてもよい。
【００９５】
さらに、履歴集約部１８３による集約処理に代えて、ＳＤＢ３５０に所定の期間（例えば５秒間）のパケット情報をできるだけ多く記憶させ、ＰＤＢ３４０と記憶されたパケット情報との比較処理を行って、異常を検知するようにしてもよい。
【図面の簡単な説明】
【００９６】
【図１】本発明の実施の形態に係るシステムの概要の一例を示すブロック図である。
【図２】図１の異常検知装置１００のプローブ１７０の構成の一例を示したブロック図である。
【図３】異常検知装置１００のＮＳＤＢ１８０の構成の一例を示したブロック図である。
【図４】異常検知装置１００が検出できる異常の種類をまとめた図である。
【図５】図２のプローブ１７０の処理の一例を示すフロー図であり、（ａ）はキャプチャ部２１０の処理の一例を示し、（ｂ）は図２のパケット集計部２２０の処理の一例を示す。
【図６】図５（ｂ）のステップＳＴ２０４の集計処理の詳細の一例を示すフロー図である。
【図７】図６のステップＳＴ３１０の異常ごとの集計処理の一例を示した模式図である。
【図８】図６のステップＳＴ３１０の異常ごとの集計処理の詳細の一例を示したフロー図である。
【図９】図３の検出部１８１の処理の一例を示すフロー図である。
【図１０】図９のステップＳＴ５０９の検知・登録処理の詳細の一例を示したフロー図である。
【図１１】ヒストグラムを用いて、異常なヘッダ値を持つパケット情報、トロイの木馬、Ｄｏｓ／ＤＤｏｓ攻撃、及び、バッファオーバーフロー攻撃を検知する処理の模式図である。
【図１２】異常なヘッダ値を検出する処理を実現するコードの一例を示す図である。
【図１３】トロイの木馬（ＴＣＰバックドア）を検出する処理を実現するコードの一例を示す図である。
【図１４】トロイの木馬（ＴＣＰ情報漏洩）を検出する処理を実現するコードの一例を示す図である。
【図１５】トロイの木馬（ＵＤＰバックドア）を検出する処理を実現するコードの一例を示す図である。
【図１６】トロイの木馬（ＵＤＰ情報漏洩）を検出する処理を実現するコードの一例を示す図である。
【図１７】Ｄｏｓ／ＤＤｏｓ攻撃を検出する処理を実現するコードの一例を示す図である。
【図１８】バッファオーバーフロー攻撃を検出する処理を実現するコードの一例を示す第１図である。
【図１９】バッファオーバーフロー攻撃を検出する処理を実現するコードの一例を示す第２図である。
【図２０】図３の履歴集約部１８３の処理を説明するための図である。
【図２１】図３の履歴集約部１８３による統計量集約処理の一例を示したフロー図である。
【図２２】図３の履歴集約部１８３による集約処理の具体例を示す図である。
【図２３】本実施例による異常の検知例を示す第１図である。
【図２４】本実施例による異常の検知例を示す第２図である。
【符号の説明】
【００９７】
１００  異常検知装置、１７０  プローブ、１８０  ＮＳＤＢ、１８１  検出部、１８３  履歴集約部
【図１】
2008252427.tif 000003
【図２】
2008252427.tif 000004
【図３】
2008252427.tif 000005
【図４】
2008252427.tif 000006
【図５】
2008252427.tif 000007
【図６】
2008252427.tif 000008
【図７】
2008252427.tif 000009
【図８】
2008252427.tif 000010
【図９】
2008252427.tif 000011
【図１０】
2008252427.tif 000012
【図１２】
2008252427.tif 000013
【図１３】
2008252427.tif 000014
【図１４】
2008252427.tif 000015
【図１５】
2008252427.tif 000016
【図１６】
2008252427.tif 000017
【図１７】
2008252427.tif 000018
【図１８】
2008252427.tif 000019
【図１９】
2008252427.tif 000020
【図２０】
2008252427.tif 000021
【図２１】
2008252427.tif 000022
【図２２】
2008252427.tif 000023
【図１１】
2008252427.tif 000024
【図２３】
2008252427.tif 000025
【図２４】
2008252427.tif 000026