(57)【要約】【課題】誤警報を抑制しながら、効率的に異常アクセスや不正アクセスを検知することができる侵入検知装置及び侵入検知プログラムを提供する。【解決手段】新たなアクセスがあった場合、監視システム２０はパケット編集データを生成する。次に、監視システム２０は、パケット編集データと、プロファイルデータ記憶部２３に記録された各クラスタとの距離を算出する。算出した距離が、各クラスタの分散に基づいて算出した閾値より大きい場合、監視システム２０はシグニチャデータ記憶部２４に記録された各シグニチャと、パケット編集データとの類似度を算出する。そして、最も類似度が高いシグニチャが不正シグニチャである場合、監視システム２０はアラームを出力する。【選択図】      図１
2004186878.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク上の通信パケットを監視する侵入検知装置であって、
前記侵入検知装置が、
過去の蓄積パケット状況に基づいて生成したクラスタから構成されたプロファイルに関するデータを記録したプロファイルデータ記憶手段と、
前記蓄積パケット状況毎に生成したシグニチャに関するデータを記録したシグニチャデータ記憶手段と、
新たに取得した受信パケット状況と、前記プロファイルデータ記憶手段に記録された各クラスタとの距離を算出する異常検知手段と、
前記距離が閾値以上である場合には、前記シグニチャデータ記憶手段に記録されたシグニチャと前記受信パケット状況とを比較し、比較結果に基づいて警報を出力する不正検知手段と
を有することを特徴とする侵入検知装置。
【請求項２】
前記閾値は各クラスタの分散に基づいて算出されることを特徴とする請求項１に記載の侵入検知装置。
【請求項３】
前記蓄積パケット状況及び受信パケット状況は、通信パケットの属性を抽出し、編集したデータであることを特徴とする請求項１又は２に記載の侵入検知装置。
【請求項４】
前記異常検知手段は、
前記プロファイルデータ記憶手段に記録されたクラスタの数が所定値以上の場合、遺伝的アルゴリズムによる検索を用いて最も距離の近いクラスタを抽出し、このクラスタとの距離を算出することを特徴とする請求項１〜３のいずれか１項に記載の侵入検知装置。
【請求項５】
前記不正検知手段は、
前記受信パケット状況と類似度の高いシグニチャを、前記シグニチャデータ記憶手段から抽出し、
前記抽出したシグニチャを含めた警報を出力することを特徴とする請求項１〜４のいずれか１項に記載の侵入検知装置。
【請求項６】
過去の蓄積パケット状況に基づいて生成したクラスタから構成されたプロファイルに関するデータを記録したプロファイルデータ記憶手段と、前記蓄積パケット状況毎に生成したシグニチャに関するデータを記録したシグニチャデータ記憶手段に接続された侵入検知装置を用いて、ネットワーク上の通信パケットを監視する侵入検知プログラムであって、
前記侵入検知装置を、
新たに取得した受信パケット状況と、前記プロファイルデータ記憶手段に記録された各クラスタとの距離を算出する異常検知手段と、
前記距離が閾値以上である場合には、前記シグニチャデータ記憶手段に記録されたシグニチャと、前記受信パケット状況とを比較し、比較結果に基づいて警報を出力する不正検知手段
として機能させることを特徴とする侵入検知プログラム。
【請求項７】
前記閾値は各クラスタの分散に基づいて算出されることを特徴とする請求項６に記載の侵入検知プログラム。
【請求項８】
前記蓄積パケット状況及び受信パケット状況は、通信パケットの属性を抽出し、編集したデータであることを特徴とする請求項６又は７に記載の侵入検知プログラム。
【請求項９】
前記異常検知手段は、
前記プロファイルデータ記憶手段に記録されたクラスタの数が所定値以上の場合、遺伝的アルゴリズムによる検索を用いて最も距離の近いクラスタを抽出し、このクラスタとの距離を算出することを特徴とする請求項６〜８のいずれか１項に記載の侵入検知プログラム。
【請求項１０】
前記不正検知手段は、
前記受信パケット状況と類似度の高いシグニチャを、前記シグニチャデータ記憶手段から抽出し、
前記抽出したシグニチャを含めた警報を出力することを特徴とする請求項６〜９のいずれか１項に記載の侵入検知プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、異常アクセス又は不正アクセスを検知する場合に用いる侵入検知装置及び侵入検知プログラムに関するものである。
【０００２】
【従来の技術】
今日、インターネット等のネットワークに接続されたシステムでは多様なアクセスが行なわれている。このようなアクセスの中には、不正なアクセスや異常なアクセスも含まれる。このようなアクセスを検知し、システムに対する侵入を検出し、通知するために、侵入検知システム（ＩＤＳ：Ｉｎｔｒｕｓｉｏｎ  Ｄｅｔｅｃｔｉｏｎ  Ｓｙｓｔｅｍ）が用いられることが多い。このＩＤＳでは、ネットワークを流れるパケットを監視して、異常や不正なアクセスと思われるパケットを発見したときにアラームを表示するとともに、通信記録を収集し保存する。
【０００３】
この侵入検知の方法には、大きく分けて、異常検出（ａｎｏｍａｌｙ  ｉｎｔｒｕｓｉｏｎ  ｄｅｔｅｃｔｉｏｎ  ：ＡＩＤ）と不正検出（ｍｉｓｕｓｅ  ｉｎｔｒｕｓｉｏｎ  ｄｅｔｅｃｔｉｏｎ：ＭＩＤ）とがある。
【０００４】
ここで、ＡＩＤ方式は、侵害行為を意味するイベントは通常ではないイベントに含まれるとの仮定し、通常ではないイベントや統計的に稀なイベントを検出する方法である。この場合、ＩＤＳを一定期間運用して通常運用時のシステムのプロファイルを作成する。プロファイルには、ユーザのログインした時間帯や利用するアプリケーションタイプ、トラフィック量などが含まれる。運用時に明らかにプロファイルと異なるアクセスがあった場合に、それを異常として検出する。例えば、あるユーザのログイン時間が変化した場合やトラフィック量が急激に増加した場合などに警報を発生させる。
【０００５】
一方、ＭＩＤ方式は、既知のシグニチャに基づく情報とのマッチングを行ない、侵害の存在を検出する方法である。ここで、シグネチャとは、過去に認識された攻撃パターンをデータベース化したものである。１つの攻撃パターンは１つのシグネチャとして管理される。この手法は、パケットを収集し、これをシグネチャと比較することによって攻撃パケットであるか否かを判断する。
【０００６】
以上のような検知方法を採用した侵入検知装置に関する技術が開示されている（例えば、特許文献１参照。）。この侵入検知装置は、パケットを受信又は送信する通信手段、受信したパケットが不正であるか否かを判断するパケット分析手段、通信遮断等の対策を行なう対策手段等を含む。そして、侵入検知装置は、通信手段により外部ネットワークからパケットを受信した場合、パケット分析手段によりパケットが不正か否かを解析する。このパケットの分析方法には、（１）パケット内に含まれている文字列やコードを検査するパターンマッチングと、（２）一定時間に一定以上の個数のパケットを検知する統計的な手法とが用いられる。もし、受信したパケットが不正であると判断された場合、対策手段によりパケットの中継は行なわず、通信を遮断する。
【０００７】
以上のように、侵入検知装置のパケット分析手段が、不正か否かの判断を行なうため、効率的に侵入を検知することができる。
【０００８】
【特許文献１】
特開２００２−７３４３３号公報（図１）
【０００９】
【発明が解決しようとする課題】
通常、このような侵入検知システム（ＩＤＳ）を利用する場合、不正検出のためのシグニチャを外部のデータソースから入手し、システム自身のデータベースに格納する必要がある。しかし、このようなデータの入手には非常にコストがかかる場合がある。そして、不正検知を行なう場合にも、ネットワーク環境を熟知したエキスパートがネットワーク環境毎に異なる設定を行なう必要がある。このための作業は非常に煩雑になる可能性がある。
【００１０】
さらに、シグニチャとパターンマッチングを行なうＭＩＤ方式では、未知の攻撃パターンを検出できない場合がある。また、シグニチャの更新が頻繁に行なわれる場合、運用コストが増大するおそれがある。また、暗号化されたパケットやフラグメント化されたパケットは検出できず、不正があっても対応できないという問題もある。
【００１１】
また、ＡＩＤ方式では、ネットワーク環境に適したパラメータの設定が困難である。さらに、特許文献１のように、パターンマッチング（ＭＩＤ方式）と統計的手法（ＡＩＤ方式）とを併用する場合、両方式による警報が出力されるため、誤警報が多くなる。この場合、監視者の負荷が重くなり、効率的な侵入検知を行なうことができない場合がある。
【００１２】
本発明は、上記問題点を解決するためになされたものであり、その目的は、効率的に異常アクセスや不正アクセスを検知することができる侵入検知装置及び侵入検知プログラムを提供することにある。
【００１３】
【課題を解決するための手段】
上記問題点を解決するために、請求項１に記載の発明は、ネットワーク上の通信パケットを監視する侵入検知装置であって、前記侵入検知装置が、過去の蓄積パケット状況に基づいて生成したクラスタから構成されたプロファイルに関するデータを記録したプロファイルデータ記憶手段と、前記蓄積パケット状況毎に生成したシグニチャに関するデータを記録したシグニチャデータ記憶手段と、新たに取得した受信パケット状況と、前記プロファイルデータ記憶手段に記録された各クラスタとの距離を算出する異常検知手段と、前記距離が閾値以上である場合には、前記シグニチャデータ記憶手段に記録されたシグニチャと前記受信パケット状況とを比較し、比較結果に基づいて警報を出力する不正検知手段とを有することを要旨とする。
【００１４】
請求項２に記載の発明は、請求項１に記載の侵入検知装置において、前記閾値は各クラスタの分散に基づいて算出されることを要旨とする。
請求項３に記載の発明は、請求項１又は２に記載の侵入検知装置において、前記蓄積パケット状況及び受信パケット状況は、通信パケットの属性を抽出し、編集したデータであることを要旨とする。
【００１５】
請求項４に記載の発明は、請求項１〜３のいずれか１項に記載の侵入検知装置において、前記異常検知手段は、前記プロファイルデータ記憶手段に記録されたクラスタの数が所定値以上の場合、遺伝的アルゴリズムによる検索を用いて最も距離の近いクラスタを抽出し、このクラスタとの距離を算出することを要旨とする。
【００１６】
請求項５に記載の発明は、請求項１〜４のいずれか１項に記載の侵入検知装置において、前記不正検知手段は、前記受信パケット状況と類似度の高いシグニチャを、前記シグニチャデータ記憶手段から抽出し、前記抽出したシグニチャを含めた警報を出力することを要旨とする。
【００１７】
請求項６に記載の発明は、過去の蓄積パケット状況に基づいて生成したクラスタから構成されたプロファイルに関するデータを記録したプロファイルデータ記憶手段と、前記蓄積パケット状況毎に生成したシグニチャに関するデータを記録したシグニチャデータ記憶手段に接続された侵入検知装置を用いて、ネットワーク上の通信パケットを監視する侵入検知プログラムであって、前記侵入検知装置を、新たに取得した受信パケット状況と、前記プロファイルデータ記憶手段に記録された各クラスタとの距離を算出する異常検知手段と、前記距離が閾値以上である場合には、前記シグニチャデータ記憶手段に記録されたシグニチャと、前記受信パケット状況とを比較し、比較結果に基づいて警報を出力する不正検知手段として機能させることを要旨とする。
【００１８】
請求項７に記載の発明は、請求項６に記載の侵入検知プログラムにおいて、前記閾値は各クラスタの分散に基づいて算出されることを要旨とする。
請求項８に記載の発明は、請求項６又は７に記載の侵入検知プログラムにおいて、前記蓄積パケット状況及び受信パケット状況は、通信パケットの属性を抽出し、編集したデータであることを要旨とする。
【００１９】
請求項９に記載の発明は、請求項６〜８のいずれか１項に記載の侵入検知プログラムにおいて、前記異常検知手段は、前記プロファイルデータ記憶手段に記録されたクラスタの数が所定値以上の場合、遺伝的アルゴリズムによる検索を用いて最も距離の近いクラスタを抽出し、このクラスタとの距離を算出することを要旨とする。
【００２０】
請求項１０に記載の発明は、請求項６〜９のいずれか１項に記載の侵入検知プログラムにおいて、前記不正検知手段は、前記受信パケット状況と類似度の高いシグニチャを、前記シグニチャデータ記憶手段から抽出し、前記抽出したシグニチャを含めた警報を出力することを要旨とする。
【００２１】
（作用）
請求項１又は６に記載の発明によれば、過去の蓄積パケット状況に基づいて生成したクラスタから構成されたプロファイルに関するデータを記録したプロファイルデータ記憶手段を用いる。さらに、前記蓄積パケット状況毎に生成したシグニチャに関するデータを記録したシグニチャデータ記憶手段とを用いて、通信パケットを監視する。そして、侵入検知装置は、新たに取得した受信パケット状況と、前記プロファイルデータ記憶手段に記録された各クラスタとの距離を算出する。前記距離が閾値以上である場合には、前記シグニチャデータ記憶手段に記録されたシグニチャと、前記受信パケット状況とを比較し、比較結果に基づいて警報を出力する。このため、新たに取得した受信パケット状況が、プロファイルデータ記憶手段に記録されたクラスタに基づいて判断できない場合、シグニチャデータ記憶手段に記録されたシグニチャとの比較を行なう。従って、効率的に不正検知を行なうことができる。
【００２２】
請求項２又は７に記載の発明によれば、閾値は各クラスタの分散に基づいて算出される。このため、クラスタの性質に応じて適切に不正を検知することができる。すなわち、分散が少ない場合には異常の範囲を狭め、分散が大きい場合には異常の範囲を広げることにより、異常検知の精度を上げることができる。
【００２３】
請求項３又は８に記載の発明によれば、前記蓄積パケット状況及び受信パケット状況は、通信パケットの属性を抽出し、編集したデータである。このため、コンテンツ部分を暗号化されたパケットや、フラグメント化されたパケットに対しても、異常検知や不正検知を行なうことができる。
【００２４】
請求項４又は９に記載の発明によれば、前記異常検知手段は、前記プロファイルデータ記憶手段に記録されたクラスタの数が所定値以上の場合、遺伝的アルゴリズムによる検索を用いて最も距離の近いクラスタを抽出し、このクラスタとの距離を算出する。遺伝的アルゴリズムを用いることにより、非線形な複雑系においても効率的に最近接クラスタを検出することができる。
【００２５】
請求項５又は１０に記載の発明によれば、前記不正検知手段は、前記受信パケット状況と類似度の高いシグニチャを、前記シグニチャデータ記憶手段から抽出する。そして、前記抽出したシグニチャを含めた警報を出力する。このため、検知された不正の種別を予測することができる。
【００２６】
【発明の実施の形態】
以下、本発明を具体化した実施形態を図１〜図７に従って説明する。本実施形態では、図１に示すように、ネットワークとしてのインターネットＩを介して、通信ホスト３０からシステム１０に対するアクセスを監視する場合に用いる侵入検知装置及び侵入検知プログラムとして説明する。
【００２７】
システム１０内のネットワークは、ルータ１０１を介してインターネットＩに接続されている。そして、このルータ１０１には、さらに監視システム２０が接続されている。また、システム１０のネットワークには、ファイアウォール１０２が設けられ、このファイアウォール１０２を介して公開サーバ１０４が接続されている。さらに、システム１０のネットワークは、ルータ１０３を介してクライアント端末１０５が接続されている。
【００２８】
この監視システム２０は、システム１０のネットワークの外部と内部との通信パケットを監視するコンピュータシステムである。監視システム２０は、図示しない制御手段（ＣＰＵ）、メモリ手段（ＲＡＭ、ＲＯＭ等）等を備える。そして、監視システム２０は、各種監視機能を実現するための侵入検知プログラムを内蔵している。そして、監視システム２０は、このプログラムを実行することにより、異常検知手段、不正検知手段等の各手段として機能する。
【００２９】
監視システム２０は、パケット編集データ記憶部２２、プロファイルデータ記憶手段としてのプロファイルデータ記憶部２３、及びシグニチャデータ記憶手段としてのシグニチャデータ記憶部２４を保有している。
【００３０】
パケット編集データ記憶部２２には、蓄積パケット状況としてのパケット編集データが記録される。このパケット編集データは、送受信された通信パケットの属性データに基づいて生成される。このパケット編集データは、所定期間のパケットを収集し、生成された場合に記録される。本実施形態では、パケット編集データは、パケットの属性データを編集し、編集時刻とともに、入力パケット数、出力パケット数、入力バイト数、出力バイト数、フラグメントパケット数等に関するデータから構成される。
【００３１】
プロファイルデータ記憶部２３には、パケット編集データに対して、公知のクラスタリング手法を用いて生成されたプロファイルデータが記録される。このプロファイルデータは、予め設定された時刻に、正常又は異常の判断が行なわれたパケット編集データに関してクラスタが生成した場合に記録される。プロファイルデータは、パケット編集データに基づいて生成されたクラスタに対して、クラスタ生成時刻とともに記録される。なお、本実施形態では、正常と判断されたパケット編集データのみにより生成されたクラスタに関するデータが記録される。
【００３２】
シグニチャデータ記憶部２４には、パターンマッチングを行なうためのシグニチャに関するデータが記録される。シグニチャデータは、パケット変数データ毎に付与された正常フラグ又は異常フラグとともに記録される。このシグニチャデータには、正常と判断されて蓄積されたパケット編集データに基づいて生成されたものと、事後的に不正と確認されたパケット編集データに基づいて生成されたもの等を含む。
【００３３】
次に、上記のように構成されたシステムにおいて、ネットワーク上の通信パケットを監視し、不正アクセスを検知する場合の処理手順を図２〜図３に従って説明する。ここでは、異常検知や不正検知を行なうためのプロファイルやシグニチャ等のデータベースを生成するデータベース生成段階（図２）及び通信パケットを監視し、異常／不正パケットを検出するパケット監視段階（図３）とに分けて説明する。
【００３４】
（データベース生成段階）
まず、異常検知を行なうためのプロファイルや、不正検知を行なうためのシグニチャ等のデータベースを生成する段階の処理を、図２を用いて説明する。
【００３５】
まず、監視システム２０は送受信される通信パケットを収集する（Ｓ１−１）。そして、収集したパケットの属性データを抽出する。この属性データには、各パケットのヘッダデータから抽出して生成される。ＴＣＰ／ＩＰの場合、ＩＰヘッダ部には、宛先ＩＰアドレスや送信元ＩＰアドレス、データ長、上位プロトコルのタイプ（ＴＣＰ／ＵＤＰ等）、各種フラグ類、ヘッダのチェックサム、ＴＴＬなどが含まれている。さらに、ＴＣＰヘッダ部には発信元アドレス、宛先アドレス等が含まれる。
【００３６】
次に、監視システム２０は、抽出した属性データに基づいてパケット編集データを生成する（Ｓ１−２）。このパケット編集データは、パケットの属性データを編集したデータに、編集時刻を付加したデータである。本実施形態では、パケット編集データには、入力パケット数、出力パケット数、入力バイト数、出力バイト数、フラグメントパケット数に関するデータが含まれる。
【００３７】
監視システム２０は、生成したパケット編集データをパケット編集データ記憶部２２に記録する。ここでは、簡単のために、パケット編集データを構成するパラメータの内、所定の２つのパラメータを用いて説明する。各々のパケット編集データを２つのパラメータの座標上に表示させると、分散状況は図４に示すように表わされる場合を想定する。このパラメータには、例えば「パケット数」や「バイト数」等を用いる。図４に示す座標上の各々のイベント１００は、各パケット編集データに対応する。
【００３８】
次に、監視システム２０は、パケット編集データ記憶部２２に記録されたパケット編集データに対して、公知のクラスタリング手法を用いて、プロファイルの生成を行なう（Ｓ１−３）。ここで、クラスタリング手法とは、分類基準の明確でないデータの類似性からグループに分類する手法である。なお、本実施形態では、このクラスタリングには、正常と判断されたパケット編集データに対して行なう。ここで、図４に示すイベント１００に対してクラスタリングを行なった場合、図５に示すように、クラスタ（１１０、１１１、１１２）に分類される場合を想定する。なお、このクラスタリングは予め設定された周期で実行される。
【００３９】
そして、生成した各クラスタをプロファイルデータとしてプロファイルデータ記憶部２３に記録する。この場合、各クラスタの性質を識別するための識別子を付与して記録する。具体的には、ここでは正常系クラスタとしての正常フラグを付与して記録する。
【００４０】
次に、監視システム２０は正常系のシグニチャデータを生成する（Ｓ１−４）。具体的には、各クラスタに含まれるパケット変数データ毎に、この各クラスタに付与された正常フラグを付与してシグニチャを生成する（クラシフィケーション）。そして、監視システム２０は、生成したシグニチャをシグニチャデータ記憶部２４に記録する。
【００４１】
次に、監視システム２０に不正系のシグニチャデータを追加する（Ｓ１−５）。具体的には、事後的に不正と認定されたパケット変数データに対して不正フラグを付与してシグニチャデータを生成する。そして、この場合も、監視システム２０は、生成したシグニチャデータをシグニチャデータ記憶部２４に記録する。
【００４２】
さらに、監視システム２０には、自己成長を実現するための機能として、プロファイルデータの自動更新及びシグニチャデータの自動生成に関する機能を有する。ここで、プロファイルの自動更新とは、各クラスタの分散を考慮した距離の閾値判定を行なうために、新たに取得したパケット編集データに基づいて、監視対象ネットワークのプロファイリングを行なう機能である。但し、更新のタイミングは管理者によって任意又は適宜に決定される。
【００４３】
一方、シグニチャの自動生成とは、本システムにシグニチャジェネレータというシステムを設定し、通常時のネットワークデータの収集プロセス中に随時、異常時のデータを追加する。これらの機能により、ネットワークの状態の遷移に即してプロファイル、シグニチャの正常、異常データを動的に捉えることができる。以上により、データベース生成段階の説明を終了する。
【００４４】
（パケット監視段階）
次に、異常又は不正なパケットを検出する段階の処理を、図３を用いて説明する。
【００４５】
新たなアクセスがあった場合、監視システム２０は通信パケットを収集する。そして、監視システム２０は収集した通信パケットの属性データを抽出する（Ｓ２−１）。さらに、監視システム２０は抽出した属性データに基づいて、受信パケット状況としてのパケット編集データを生成する。
【００４６】
ここで、プロファイルデータ記憶部２３に記録されているクラスタ数により処理が異なる（Ｓ２−２）。クラスタ数が所定数以下の場合（ステップ（Ｓ２−２）において「Ｎｏ」の場合）、監視システム２０は、新たなアクセスによるパケット編集データと、プロファイルデータ記憶部２３に記録された各クラスタとの距離を算出する（Ｓ２−３）。例えば、アクセスのあった場合のパケット編集データを図５に示す２次元パラメータの座標系にプロットした場合、図６に示すイベント１２０として表示される場合を想定する。そこで、監視システム２０は、各クラスタ（１１０、１１１、１１２）とイベント１２０との距離を算出する。
【００４７】
一方、クラスタ数が所定数より多い場合（ステップ（Ｓ２−２）において「Ｙｅｓ」の場合）、監視システム２０は、新たなアクセスによるパケット編集データに対して最近接のクラスタを、遺伝的アルゴリズムを用いて検索し、その距離を算出する（Ｓ２−４）。ここで、遺伝的アルゴリズム（Ｇｅｎｅｔｉｃ    Ａｌｇｏｒｉｔｈｍ：ＧＡ）とは、最適化を高速に行なうための探索アルゴリズムの一種である。ここでは、まず初期集団を生成し、選択、交叉、突然変異等のプロセスを繰り返すことにより、最適解（ここでは、最近接クラスタ）を検索する。
【００４８】
次に、監視システム２０は、算出された距離と所定の閾値とを比較する（Ｓ２−５）。本実施形態では、この閾値として、監視システム２０が各クラスタの分散に基づいて算出した値を用いる。具体的に、分散が少ない場合には小さな値を、分散が大きい場合には大きな値を閾値として用いる。
【００４９】
次に、算出した距離が所定の閾値より大きい場合（ステップ（Ｓ２−５）において「Ｙｅｓ」の場合）、監視システム２０は各シグニチャとの類似度を算出する（Ｓ２−６）。具体的には、シグニチャデータ記憶部２４に記録された各シグニチャと、アクセスのあったパケット編集データとの類似度（距離）を算出する。例えば、図７に示すようにシグニチャ（１５０、１５１、１５２）及び不正シグニチャ１５３との比較を行なう。ここで、シグニチャ１５０はクラスタ１１０に含まれるパケット編集データから生成され、シグニチャ１５１はクラスタ１１１に含まれるパケット編集データから生成され、シグニチャ１５２はクラスタ１１２に含まれるパケット編集データから生成される。不正シグニチャ１５３は、シグニチャジェネレータにより生成された不正と判断されたシグニチャである。
【００５０】
最も類似度が高いシグニチャが不正フラグの付されたシグニチャ（不正シグニチャ）である場合（ステップ（Ｓ２−７）において「Ｙｅｓ」の場合）、監視システム２０は異常なアクセスがある旨のアラーム（警報）を出力する（Ｓ２−８）。
【００５１】
そして、監視システム２０はシグニチャデータの更新を行なう（Ｓ２−９）。具体的には、異常と判断したパケット変数データに不正フラグを付与してシグニチャを生成し、このシグニチャをシグニチャデータ記憶部２４に記録する。
【００５２】
ステップ（Ｓ２−３）またはステップ（Ｓ２−４）において算出した距離が所定の閾値より小さい場合（ステップ（Ｓ２−５）において「Ｎｏ」の場合）、監視システム２０は正常なアクセスとしてシグニチャデータを更新する（Ｓ２−１０）。具体的には、監視システム２０は、パケット変数データに正常フラグを付与してシグニチャを生成し、このシグニチャをシグニチャデータ記憶部２４に記録する。
【００５３】
さらに、監視システム２０はプロファイルの更新を行なう（Ｓ１−１１）。具体的には、新たに取得したパケット編集データを用いて、クラスタリング手法を用いてプロファイルの生成し直す。そして、監視システム２０は、生成したプロファイルデータをプロファイルデータ記憶部２３に記録する。
【００５４】
なお、最も類似度が高いシグニチャが正常フラグの付されたシグニチャである場合（ステップ（Ｓ２−７）において「Ｎｏ」の場合）も、ステップ（Ｓ２−１０）、（Ｓ２−１１）の処理が行なわれる。以上により、異常／不正パケットを検出する監視処理の説明を終了する。
【００５５】
以上、本実施形態によれば、以下に示す効果を得ることができる。
・  上記実施形態では、新たなアクセスがあった場合、監視システム２０は、プロファイルデータ記憶部２３に記録されたプロファイルを用いて正常系クラスタとの距離を算出する。そして、最近接の正常系クラスタとの距離が所定の閾値以上の場合、監視システム２０は異常なアクセスの可能性を検出することができる。従って、未知の攻撃の可能性を検知できる。
【００５６】
・  上記実施形態では、クラスタとの距離を比較するための閾値として、監視システム２０が各クラスタの分散に基づいて算出した値を用いる。具体的に、分散が少ない場合には小さな値を、分散が大きい場合には大きな値を閾値として用いる。従って、分散が少ない場合には異常の範囲を狭め、分散が大きい場合には異常の範囲を広げることにより、異常検知の精度を上げることができる。
【００５７】
・  上記実施形態では、ステップ（Ｓ２−９）やステップ（Ｓ２−１０）において、新たに取得したパケット変数データに基づいて正常フラグ又は不正フラグを付与したシグニチャデータを生成する。さらに、ステップ（Ｓ１−１１）において、新たに取得したパケット編集データに基づいて、クラスタリング手法を用いて、プロファイルの生成し直すことによりプロファイルの更新を行なう。このため、監視対象となるネットワーク環境とその遷移の学習によってデータベースに格納するデータを自動的に生成する自己成長を実現するができる。従って、不正アクセスを検知するためのデータを効率的に準備できる。また、ネットワーク環境に応じた煩雑な設定作業も軽減できる。
【００５８】
・  上記実施形態では、正常系クラスタとイベントとの距離が所定の閾値より大きい場合、監視システム２０は、このイベントと類似度が高いシグニチャを特定する。そして、監視システム２０は、このシグニチャの属性により、不正の有無を判断する。このように、クラスタリングとクラシフィケーションとを組み合わせることにより、誤警報を抑制しながら、効率的に異常アクセスや不正アクセスを検出できる。
【００５９】
・  上記実施形態では、クラスタ数が所定数より多い場合、監視システム２０は、新たなアクセスによるパケット編集データに対して最近接のクラスタを、遺伝的アルゴリズムを用いて検索し、その距離を算出する。遺伝的アルゴリズムを用いることにより、非線形な複雑系においても、極小解や極大解等の局所的な解に陥ることなく、効率的に最近接クラスタを検出することができる。
【００６０】
・  上記実施形態では、監視システム２０は、パケット編集データ記憶部２２に記録されたパケット編集データに対して、公知のクラスタリング手法を用いて、プロファイルの生成を行なう。このため、パケット編集データを収集することにより、監視システム２０が適切なクラスタリングを行なう。従って、効率的にプロファイルデータを生成することができる。
【００６１】
・  上記実施形態では、プロファイルデータ記憶部２３には、パケット編集データに対して、公知のクラスタリング手法を用いて生成されたプロファイルデータが記録される。正常か否かは状況（季節、時間、場所等）に応じて変化するものであるため、多くのクラスタが蓄積されることにより、蓄積された状況に応じて、より的確に正常又は異常を判断することできる。
【００６２】
なお、上記実施形態は、以下の態様に変更してもよい。
・  上記実施形態では、ネットワークとしてのインターネットＩを介して、通信ホスト３０からシステム１０に対するアクセスを監視する場合を想定するが、これに限るものではない。例えば、イントラネット内の監視等に用いてもよい。
【００６３】
・  上記実施形態では、正常と判断されたパケット編集データのみにより生成されたクラスタに関するデータがプロファイルデータ記憶部２３に記録される。これに代えて、異常と判断されたパケット編集データにより生成されたクラスタ（異常系クラスタ）に関するデータをプロファイルデータ記憶部２３に記録してもよい。また、両クラスタを記録してもよい。算出した距離が所定の閾値より小さい場合、監視システム２０は最近接クラスタの種類を特定し、異常系クラスタに近い場合、異常なアクセスとして警告を出力する。さらに、正常系クラスタからも、異常系クラスタからも遠い場合に、シグニチャデータとの照合処理を実行する。これによっても、監視システム２０は、正常性や異常性等を判断することができる。
【００６４】
・  上記実施形態では、監視システム２０が算出された距離と比較する場合に用いる閾値として、各クラスタの分散に基づいて算出した値を用いる。具体的に、分散が少ない場合には小さな値を、分散が大きい場合には大きな値を閾値として用いる。閾値を算出する方法はこれに限られるものではなく、予め用意した関数に各クラスタに含まれるパケット編集データを代入して閾値を算出してもよい。
【００６５】
・  上記実施形態では、最も類似度が高いシグニチャが不正フラグの付されたシグニチャ（不正シグニチャ）である場合、監視システム２０は異常なアクセスがある旨のアラームを出力する。この場合、各シグニチャとの類似度の一覧を表示してもよい。これにより、不正の種類を特定したり、その他の可能性を提示したりすることができる。
【００６６】
・  上記実施形態では、システム１０内のネットワークは、ルータ１０１を介してインターネットＩに接続されている。そして、このルータ１０１には、さらに監視システム２０が接続されている。システム構成はこれに限られるものではなく、従来のＩＤＳ等の組み合わせて構成してもよい。
【００６７】
【発明の効果】
以上詳述したように、本発明によれば、誤警報を抑制しながら、効率的に異常アクセスや不正アクセスを検知することができる。
【図面の簡単な説明】
【図１】本発明の実施形態のシステム概略図。
【図２】本実施形態の処理手順の説明図。
【図３】本実施形態の処理手順の説明図。
【図４】イベント分布の説明図。
【図５】イベント分布の説明図。
【図６】異常検知の概念の説明図。
【図７】不正検知の概念の説明図。
【符号の説明】
２０…侵入検知装置としての監視システム、２３…プロファイルデータ記憶手段としてのプロファイルデータ記憶部、２４…シグニチャデータ記憶手段としてのシグニチャデータ記憶部、１１０，１１１，１１２…クラスタ、１５０，１５１，１５２…シグニチャ、１５３…不正シグニチャ、Ｉ…ネットワークとしてのインターネット。
【図１】
2004186878.tif 000003
【図２】
2004186878.tif 000004
【図３】
2004186878.tif 000005
【図４】
2004186878.tif 000006
【図５】
2004186878.tif 000007
【図６】
2004186878.tif 000008
【図７】
2004186878.tif 000009