(57)【要約】【課題】検知ルールが明らかでない新種や未知の不正アクセスに対処すること。また、新種や未知の不正アクセスに対処するための検知ルールの生成を迅速かつ自動的に行うこと。【解決手段】ネットワークに対して行われる不正アクセスを検出する不正アクセス検出装置であって、自己の存在を知らせることなく自己宛の通信を検出するパッシブホストセンサ１１と、不正アクセスを特徴づける検知ルールを生成して出力する検知ルール生成装置１２と、観測されたアクセスの不正性を判定するシグネチャマッチング型ＩＤＳ１４とが備えられ、検知ルール生成装置１２は、パッシブホストセンサ１１から通知されたアクセスログに基づいて検知ルールを自動生成する自動生成手段を備える。【選択図】      図１
2005316779.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに対して行われる不正アクセスを検出する不正アクセス検出装置であって、
自己の存在を知らせることなく自己宛の通信を検出するパッシブホストセンサと、
不正アクセスを特徴づける検知ルールを生成して出力する検知ルール生成装置と、
観測されたアクセスの不正性を判定するシグネチャマッチング型のＩＤＳと、
を備え、
前記検知ルール生成装置は、
前記パッシブホストセンサから通知されたアクセスログに基づいて前記検知ルールを自動生成する自動生成手段を備えたことを特徴とする不正アクセス検出装置。
【請求項２】
前記自動生成手段は、前記アクセスログのプロトコルまたは当該アクセスログを構成するフィールドの特性に応じて検知ルールの自動生成処理を行わせるか否かを判定する第１の剪定手段を備えたことを特徴とする請求項１に記載の不正アクセス検出装置。
【請求項３】
前記自動生成手段は、前記アクセスログに基づいて仮の検知ルールを生成する仮の検知ルール生成手段と、該仮の検知ルールに対して所定の抽出処理を施して真の検知ルールを生成する抽出手段と、を具備する第２の剪定手段を備えたことを特徴とする請求項１または２に記載の不正アクセス検出装置。
【請求項４】
前記仮の検知ルール生成手段は、
前記アクセスログのメッセージ部を段階的に分割し、分割途中の段階を含め各段階で生成された文字列の全てを仮の検知ルールとして残しておくことを特徴とする請求項３に記載の不正アクセス検出装置。
【請求項５】
前記仮の検知ルール生成手段は、分割途中の各段階で検知ルールとして生成される文字列に対し、当該文字列の両端に分割時に付加されていた区切り文字を残しておくことを特徴とする請求項３または４に記載の不正アクセス検出装置。
【請求項６】
前記所定の抽出処理では、不正アクセスを含まないトラフィックデータである通常トラフィックデータに基づいて頻出文字列リストが生成され、前記仮の検知ルールから、当該頻出文字列リストの所定の順位以上に位置する頻出文字列が除去されることを特徴とする請求項１〜５のいずれか一つに記載の不正アクセス検出装置。
【請求項７】
前記アクセスログのプロトコルがアプリケーション層の通信プロトコルであることを特徴とする請求項１〜６のいずれか一つに記載の不正アクセス検出装置。
【請求項８】
前記第１の剪定手段は、
前記アプリケーション層の通信プロトコルで通信されたリクエストに含まれるメッセージヘッダを構成するフィールド名のセッションごとの出現頻度と、該フィールドの種類ごとに算出された所定の第１のしきい値と、に基づいて前記検知ルールの自動生成処理を行わせるか否かを判定することを特徴とする請求項７に記載の不正アクセス検出装置。
【請求項９】
前記第１の剪定手段は、
前記アプリケーション層の通信プロトコルで通信されたリクエストに含まれるメッセージヘッダのフィールド値を構成する文字列の任意の文字種間の遷移確率の平均値と、所定の第２のしきい値とに基づいて前記検知ルールの自動生成処理を行わせるか否かを判定することを特徴とする請求項７に記載の不正アクセス検出装置。
【請求項１０】
観測された不正アクセスから生成される複数の検知ルールに対し、当該検知ルールの性能を表す重要度で重み付け処理した合計値である得点が所定値以上の場合にアラートを発生させることを特徴とする請求項１〜９のいずれか一つに記載の不正アクセス検出装置。
【請求項１１】
前記重要度は、過去のトラヒックデータに対する反応数に基づいて算出されることを特徴とする請求項１０に記載の不正アクセス検出装置。
【請求項１２】
所定の許容Ｆ.Ｐ.数および検知ルールに反応したセッションごとの得点の傾向に基づいて判定しきい値が設定され、当該判定しきい値以上の得点を有する１以上のセッションが存在する場合に、アラートを発生させることを特徴とする請求項１〜１１のいずれか一つに記載の不正アクセス検出装置。
【請求項１３】
観測された不正アクセスが新種の不正アクセスの場合に、当該観測された不正アクセスに基づいて検知ルールを生成し、生成された検知ルールを所定のデータベースに追加する追加モードと、
登録済の検知ルールに基づいて観測されたアクセスが不正か否かを判定する判定モードと、
を有することを特徴とする請求項１〜１２のいずれか一つに記載の不正アクセス検出装置。
【請求項１４】
前記検知ルールを新規に構築するための生成モードを有することを特徴とする請求項１〜１３のいずれか一つに記載の不正アクセス検出装置。
【請求項１５】
検知ルールの追加および判定処理を同時に行う追加・判定モードを有することを特徴とする請求項１３または１４に記載の不正アクセス検出装置。
【請求項１６】
ネットワークに対して行われる不正アクセスを検出するための検知ルールを生成する検知ルール生成装置であって、
入力されたアクセスログに基づいて不正アクセスを特徴づける検知ルールを自動生成する自動生成手段を備えたことを特徴とする検知ルール生成装置。
【請求項１７】
前記自動生成手段は、前記アクセスログのプロトコルまたは当該アクセスログを構成するフィールドの特性に応じて検知ルールの自動生成処理を行わせるか否かを判定する第１の剪定手段を備えたことを特徴とする請求項１６に記載の検知ルール生成装置。
【請求項１８】
前記自動生成手段は、前記アクセスログに基づいて仮の検知ルールを生成する仮の検知ルール生成手段と、該仮の検知ルールに対して所定の抽出処理を施して真の検知ルールを生成する抽出手段と、を具備する第２の剪定手段を備えたことを特徴とする請求項１６または１７に記載の検知ルール生成装置。
【請求項１９】
前記仮の検知ルール生成手段は、
前記アクセスログのメッセージ部を段階的に分割し、分割途中の段階を含め各段階で生成された文字列の全てを仮の検知ルールとして残しておくことを特徴とする請求項１８に記載の検知ルール生成装置。
【請求項２０】
前記仮の検知ルール生成手段は、分割途中の各段階で検知ルールとして生成される文字列に対し、当該文字列の両端に分割時に付加されていた区切り文字を残しておくことを特徴とする請求項１８または１９に記載の検知ルール生成装置。
【請求項２１】
前記検知ルールを新規に構築するための生成モードを有することを特徴とする請求項１６〜２０のいずれか一つに記載の検知ルール生成装置。
【請求項２２】
仮の検知ルールデータから前記検知ルールが一括生成されることを特徴とする請求項２１に記載の検知ルール生成装置。
【請求項２３】
ネットワークに対して行われる不正アクセスを検出するための検知ルールを生成する検知ルール生成方法であって、
入力されたアクセスログに基づいて不正アクセスを特徴づける検知ルールを自動生成する自動生成ステップと、
前記アクセスログのプロトコルまたは当該アクセスログを構成するフィールドの特性に応じて検知ルールの自動生成処理を行わせるか否かを判定する第１の剪定ステップと、
を含むことを特徴とする検知ルール生成方法。
【請求項２４】
前記自動生成ステップは、前記アクセスログに基づいて仮の検知ルールを生成する仮の検知ルール生成ステップと、該仮の検知ルールに対して所定の抽出処理を施して真の検知ルールを生成する抽出ステップと、を具備する第２の剪定ステップを備えたことを特徴とする請求項２３に記載の検知ルール生成方法。
【請求項２５】
前記仮の検知ルール生成ステップは、
前記アクセスログのメッセージ部を段階的に分割し、分割途中の段階を含め各段階で生成された文字列の全てを仮の検知ルールとして残しておくことを特徴とする請求項２４に記載の検知ルール生成方法。
【請求項２６】
前記仮の検知ルール生成ステップは、分割途中の各段階で検知ルールとして生成される文字列に対し、当該文字列の両端に分割時に付加されていた区切り文字を残しておくことを特徴とする請求項２４または２５に記載の検知ルール生成方法。
【請求項２７】
請求項２３〜２６のいずれか一つに記載の方法を電子計算機に実行させることを特徴とする検知ルール生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ネットワークに対して行われる不正アクセスの検出に関するものであり、特に、新種や未知の不正アクセスに対処可能な不正アクセス検出装置ならびに、これらの新種や未知の不正アクセスに迅速に対処するための検知ルールを自動生成可能な検知ルール生成装置、検知ルール生成方法および検知ルール生成プログラムに関するものである。
【背景技術】
【０００２】
近年、インターネットが社会的に重要なメディアとなり、その上で様々なサービスが提供されている。例えば、従来から利用されているメール、ｗｅｂによるブラウジングや掲示板などに加え、オンラインショッピングや銀行決済、企業間の取引などにもインターネットが利用されるようになってきている。
【０００３】
一方、これらへの利用に伴い、悪意のあるユーザによる不正アクセスによって、サービスの停止や、情報の改ざん、情報の漏洩などが起こった場合の社会的活動に与える影響が以前に比べて重大かつ深刻なものになってきている。そのため、不正アクセスをいち早く検出し対策をとることが求められている。
【０００４】
上述のような不正アクセスを早期に検出するための検出手段の一つとして、侵入検知システム（ＩＤＳ：Ｉｎｔｒｕｓｉｏｎ  Ｄｅｔｅｃｔｉｏｎ  Ｓｙｓｔｅｍ）があり、その中でも、“Ｓｎｏｒｔ”と呼ばれるシグネチャマッチング型のＩＤＳが実用化され、各所で使用されている。
【０００５】
ところで、シグネチャマッチング型のＩＤＳは、既知の不正アクセスの通信内容に含まれる特徴的な文字列を予めデータベースとして保有するとともに、その文字列に一致するものが監視対象のネットワークで発見され場合に、管理者に対してアラートを通知するように動作する。したがって、この方式は、動作の高速性があり、誤検出が少ないといった利点を有している反面、対応する検知ルールが明らかでない新種や未知の不正アクセスについては、全く検知することはできないという問題点が存在しており、新種や未知の不正アクセスが発見されたときにいかにして、迅速に検知ルールを作成するかが重要な課題として残っている。
【０００６】
このような状況下において、不正アクセスから自己のシステムを防御するための従来技術として、コンピュータネットワークのセキュリティサポート契約者に対し、不正侵入を検知した契約者のネットワーク機器からの情報により、不正侵入者をおとりサーバに誘導する手段を提供した管理システムが開示されている（例えば、特許文献１）。この特許文献１では、この管理システムを利用することの利点として、おとりサーバの設置やログ解析、応答パケットの作成といった対処を専門のサービス業者に委託することによりネットワーク管理のコストを軽減することができるという第１の利点と、サービス提供者側が、サービス利用者のネットワーク機器の状況を遠隔地から常時把握することができ、サービス利用者のところに出向かずとも迅速な対応が可能となるという第２の利点とが挙げられている。
【０００７】
【特許文献１】特開２００２−３１８７３９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述した従来のシグネチャマッチング型のＩＤＳや、上記特許文献１に開示された管理システムにおいては、根本的な問題点が内在しているという点で両者には共通点がある。すなわち、特許文献１の発明ではログ解析や不正アクセスに対する応答パケットの作成といった対処を専門のサービス業者に委託することが前提であり、従来のシグネチャマッチング型のＩＤＳに固有な「新種や未知の不正アクセスが発見されたときに迅速な対処ができない」という課題は依然として解決されていない。
【０００９】
この発明は、上述した従来の欠点に鑑みてなされたものであり、検知ルールが明らかでない新種や未知の不正アクセスに対処することができる不正アクセス検出装置を提供することを目的とする。また、これらの新種や未知の不正アクセスに対処するための検知ルールの生成を迅速かつ自動的に行うことができる検知ルール生成装置、検知ルール生成方法および検知ルール生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、請求項１にかかる不正アクセス検出装置は、ネットワークに対して行われる不正アクセスを検出する不正アクセス検出装置であって、自己の存在を知らせることなく自己宛の通信を検出するパッシブホストセンサと、不正アクセスを特徴づける検知ルールを生成して出力する検知ルール生成装置と、観測されたアクセスの不正性を判定するシグネチャマッチング型ＩＤＳと、を備え、前記検知ルール生成装置は、前記パッシブホストセンサから通知されたアクセスログに基づいて前記検知ルールを自動生成する自動生成手段を備えたことを特徴とする。
【００１１】
また、請求項２にかかる不正アクセス検出装置は、上記の発明において、前記自動生成手段は、前記アクセスログのプロトコルまたは当該アクセスログを構成するフィールドの特性に応じて検知ルールの自動生成処理を行わせるか否かを判定する第１の剪定手段を備えたことを特徴とする。
【００１２】
また、請求項３にかかる不正アクセス検出装置は、上記の発明において、前記自動生成手段は、前記アクセスログに基づいて仮の検知ルールを生成する仮の検知ルール生成手段と、該仮の検知ルールに対して所定の抽出処理を施して真の検知ルールを生成する抽出手段と、を具備する第２の剪定手段を備えたことを特徴とする。
【００１３】
また、請求項４にかかる不正アクセス検出装置は、上記の発明において、前記仮の検知ルール生成手段は、前記アクセスログのメッセージ部を段階的に分割し、分割途中の段階を含め各段階で生成された文字列の全てを仮の検知ルールとして残しておくことを特徴とする。
【００１４】
また、請求項５にかかる不正アクセス検出装置は、上記の発明において、前記仮の検知ルール生成手段は、分割途中の各段階で検知ルールとして生成される文字列に対し、当該文字列の両端に分割時に付加されていた区切り文字を残しておくことを特徴とする。
【００１５】
また、請求項６にかかる不正アクセス検出装置は、上記の発明において、前記所定の抽出処理では、不正アクセスを含まないトラフィックデータである通常トラフィックデータに基づいて頻出文字列リストが生成され、前記仮の検知ルールから、当該頻出文字列リストの所定の順位以上に位置する頻出文字列が除去されることを特徴とする。
【００１６】
また、請求項７にかかる不正アクセス検出装置は、上記の発明において、前記アクセスログのプロトコルがアプリケーション層の通信プロトコルであることを特徴とする。
【００１７】
また、請求項８にかかる不正アクセス検出装置は、上記の発明において、前記第１の剪定手段は、前記アプリケーション層の通信プロトコルで通信されたリクエストに含まれるメッセージヘッダを構成するフィールド名のセッションごとの出現頻度と、該フィールドの種類ごとに算出された所定の第１のしきい値と、に基づいて前記検知ルールの自動生成処理を行わせるか否かを判定することを特徴とする。
【００１８】
また、請求項９にかかる不正アクセス検出装置は、上記の発明において、前記第１の剪定手段は、前記アプリケーション層の通信プロトコルで通信されたリクエストに含まれるメッセージヘッダのフィールド値を構成する文字列の任意の文字種間の遷移確率の平均値と、所定の第２のしきい値とに基づいて前記検知ルールの自動生成処理を行わせるか否かを判定することを特徴とする。
【００１９】
また、請求項１０にかかる不正アクセス検出装置は、上記の発明において、観測された不正アクセスから生成される複数の検知ルールに対し、当該検知ルールの性能を表す重要度で重み付け処理した合計値である得点が所定値以上の場合にアラートを発生させることを特徴とする。
【００２０】
また、請求項１１にかかる不正アクセス検出装置は、上記の発明において、前記重要度は、過去のトラヒックデータに対する反応数に基づいて算出されることを特徴とする。
【００２１】
また、請求項１２にかかる不正アクセス検出装置は、上記の発明において、設定された許容Ｆ.Ｐ.数と、検知ルールごとの前記得点の傾向とに基づいて決定される判定しきい値が設定され、当該判定しきい値よりも上位順位にある検知ルールに反応したときにアラートを発生させることを特徴とする。
【００２２】
また、請求項１３にかかる不正アクセス検出装置は、上記の発明において、観測された不正アクセスが新種の不正アクセスの場合に、当該観測された不正アクセスに基づいて検知ルールを生成し、生成された検知ルールを所定のデータベースに追加する追加モードと、登録済の検知ルールに基づいて観測されたアクセスが不正か否かを判定する判定モードと、を有することを特徴とする。
【００２３】
また、請求項１４にかかる不正アクセス検出装置は、上記の発明において、前記検知ルールを新規に構築するための生成モードを有することを特徴とする。
【００２４】
また、請求項１５にかかる不正アクセス検出装置は、上記の発明において、検知ルールの追加および判定処理を同時に行う追加・判定モードを有することを特徴とする。
【００２５】
また、請求項１６にかかる検知ルール生成装置は、上記の発明において、ネットワークに対して行われる不正アクセスを検出するための検知ルールを生成する検知ルール生成装置であって、入力されたアクセスログに基づいて不正アクセスを特徴づける検知ルールを自動生成する自動生成手段を備えたことを特徴とする。
【００２６】
また、請求項１７にかかる検知ルール生成装置は、上記の発明において、前記自動生成手段は、前記アクセスログのプロトコルまたは当該アクセスログを構成するフィールドの特性に応じて検知ルールの自動生成処理を行わせるか否かを判定する第１の剪定手段を備えたことを特徴とする。
【００２７】
また、請求項１８にかかる検知ルール生成装置は、上記の発明において、前記自動生成手段は、前記アクセスログに基づいて仮の検知ルールを生成する仮の検知ルール生成手段と、該仮の検知ルールに対して所定の抽出処理を施して真の検知ルールを生成する抽出手段と、を具備する第２の剪定手段を備えたことを特徴とする。
【００２８】
また、請求項１９にかかる検知ルール生成装置は、上記の発明において、前記仮の検知ルール生成手段は、前記アクセスログのメッセージ部を段階的に分割し、分割途中の段階を含め各段階で生成された文字列の全てを仮の検知ルールとして残しておくことを特徴とする。
【００２９】
また、請求項２０にかかる検知ルール生成装置は、上記の発明において、前記仮の検知ルール生成手段は、分割途中の各段階で検知ルールとして生成される文字列に対し、当該文字列の両端に分割時に付加されていた区切り文字を残しておくことを特徴とする。
【００３０】
また、請求項２１にかかる検知ルール生成装置は、上記の発明において、前記検知ルールを新規に構築するための生成モードを有することを特徴とする。
【００３１】
また、請求項２２にかかる検知ルール生成装置は、上記の発明において、仮の検知ルールデータから前記検知ルールが一括生成されることを特徴とする。
【００３２】
また、請求項２３にかかる不正アクセス検出方法は、ネットワークに対して行われる不正アクセスを検出するための検知ルールを生成する検知ルール生成方法であって、入力されたアクセスログに基づいて不正アクセスを特徴づける検知ルールを自動生成する自動生成ステップと、前記アクセスログのプロトコルまたは当該アクセスログを構成するフィールドの特性に応じて検知ルールの自動生成処理を行わせるか否かを判定する第１の剪定ステップと、を含むことを特徴とする。
【００３３】
また、請求項２４にかかる不正アクセス検出方法は、上記の発明において前記自動生成ステップは、前記アクセスログに基づいて仮の検知ルールを生成する仮の検知ルール生成ステップと、該仮の検知ルールに対して所定の抽出処理を施して真の検知ルールを生成する抽出ステップと、を具備する第２の剪定ステップを備えたことを特徴とする。
【００３４】
また、請求項２５にかかる不正アクセス検出方法は、上記の発明において前記仮の検知ルール生成ステップは、前記アクセスログのメッセージ部を段階的に分割し、分割途中の段階を含め各段階で生成された文字列の全てを仮の検知ルールとして残しておくことを特徴とする。
【００３５】
また、請求項２６にかかる不正アクセス検出方法は、上記の発明において前記仮の検知ルール生成ステップは、分割途中の各段階で検知ルールとして生成される文字列に対し、当該文字列の両端に分割時に付加されていた区切り文字を残しておくことを特徴とする。
【００３６】
また、請求項２７にかかる検知ルール生成プログラムは、請求項２３〜２６のいずれか一つに記載の方法を電子計算機に実行させることを特徴とする。
【発明の効果】
【００３７】
この発明にかかる不正アクセス検出装置によれば、パッシブホストセンサから通知されたアクセスログに基づいて検知ルールを自動生成するようにしているので、検知ルールが明らかでない新種や未知の不正アクセスに対処することができる。
【００３８】
また、この発明にかかる検知ルール生成装置によれば、入力されたアクセスログに基づいて不正アクセスを特徴づける検知ルールを自動生成するようにしているので、新種や未知の不正アクセスに対処するための検知ルールの生成を迅速かつ自動的に行うことができる。
【発明を実施するための最良の形態】
【００３９】
以下、図面を参照して、この発明の実施の形態である不正アクセス検出装置ならびに検知ルール生成装置および検知ルール生成方法について説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００４０】
（実施の形態１）
図１は、この発明の実施の形態１にかかる不正アクセス検出装置の構成を示すブロック図である。同図に示す接続構成は、不正アクセス検出装置１０が接続されるネットワークがインターネットや他のネットワークなどの任意のネットワークに接続されている状態を示すものである。
【００４１】
図１において、不正アクセス検出装置１０は、ネットワーク２，３およびインターネット４に接続されたネットワーク１に接続されている。一方、ネットワーク１には、ネットワーク１の通信ログなどを常時記録するためのトラフィックデータベース５が接続されている。不正アクセス検出装置１０は、パッシブホストセンサ１１と、検知ルール生成装置１２と、検知ルールデータベース１３と、ＩＤＳ１４とを備えている。不正アクセス検出装置１０を構成する各構成部は、パッシブホストセンサ１１と、ＩＤＳ１４とがネットワーク１にそれぞれ接続され、パッシブホストセンサ１１に接続される検知ルール生成装置１２と、ＩＤＳ１４に接続される検知ルールデータベース１３とがそれぞれ接続されている。また、検知ルール生成装置１２およびＩＤＳ１４は、トラフィックデータベース５にも接続されている。
【００４２】
例えば、パッシブホストセンサ１１、検知ルール生成装置１２およびＩＤＳ１４は、ワークステーションまたはパーソナルコンピュータなどのプラットフォームと、このプラットフォームに搭載される処理ソフトウェアなどから構成される。また、検知ルールデータベース１３は磁気ディスク等の記憶装置から構成される。なお、これらの各構成部は、図１に示すようにそれぞれが異なるハードウェアで処理させる構成としてもよいし、また、それぞれの処理能力に応じて、各構成部で行われる幾つかの処理機能を統合して同一ハードウェア上で処理させる構成としてもよい。例えば、パッシブホストセンサ１１内に検知ルール生成装置１２の機能を組み込むように構成してもよい。また、検知ルール生成装置１２内に検知ルールの記憶領域を確保し、検知ルールデータベース１３の機能を組み込むように構成してもよい。
【００４３】
つぎに、図１に示す不正アクセス検出装置１０の３つの処理モードについて説明する。不正アクセス検出装置１０は、つぎに示す３つの処理モードを有する。
（１）  検知ルールデータベース１３を新規に構築するための生成モード
（２）  観測された不正アクセスが新種の不正アクセスの場合に、この観測された不正アクセスに基づいて不正アクセス検知ルール（以下、単に「検知ルール」と呼称）を生成し、生成された検知ルールを検知ルールデータベース１３に追加する追加モード
（３）  登録済の検知ルールに基づいて観測されたアクセスが不正か否かを判定する判定モード
また、上記３つの処理モードの他に検知ルールの自動生成と、生成された検知ルールの登録を迅速に行うことができるという特徴を活用し、検知ルールの追加および判定処理を同時に行う追加・判定モードも存在するが、この追加・判定モードは、システムの運用上のモードであり機能的には追加モードおよび判定モードの機能を組み合わせたものに相当するので、上記３つの処理モードに含めて考えることにする。  なお、ここでいう検知ルールという用語は、一般的なＩＤＳなどに設定されている不正パケットの特徴情報を示すシグネチャと同義であると考えて差しつかえない。
【００４４】
上述の３つの処理モードにおいて、以下のような処理が行われる。生成モードでは、予め記録されているアクセスログ（例えば、トラフィックデータベース５などに記録されているログデータ）に基づいて検知ルールが生成され、生成された検知ルールが検知ルールデータベース１３に登録される。なお、検知ルールの生成に際しては、上述したＳｎｏｒｔなどに記述されているルールセットなどを活用することができる。追加モードでは、パッシブホストセンサ１１において観測されたアクセスログに基づいて生成される検知ルールが検知ルールデータベース１３に追加される。判定モードでは、ＩＤＳ１４において観測されたアクセスの不正性が判定される。
【００４５】
なお、パッシブホストセンサ１１は、一種のおとりシステムであり、故意に脆弱性を設けたホストセンサをおとりとしてネットワークに設置して不正アクセスの挙動を観測するためのものである。パッシブホストセンサ１１を用いる理由は、「通常、このおとりシステムであるパッシブホストセンサ１１をクライアントとして利用するユーザはなく、また、外部に対するアナウンスも行われていないので、パッシブホストセンサ１１に対して行われる通信は全て何らかの悪意を持って行われる」、という考え方に基づいている。
【００４６】
また、パッシブホストセンサ１１を侵入検知システムとして見た場合にはつぎのような利点がある。すなわち、従来は実際に被害が出るか、もしくはネットワーク上の通信ログを詳細に解析しなければ不正アクセスが行われたか否かの判断を行うことができなかったが、その判断を即座に行うことができる。さらに、不正アクセスの解析に先立ち、必要な不正アクセスログの分離作業も必要なくなる。
【００４７】
つぎに、上記３つの処理モードの各処理手順について各図面を参照しながら説明する。図２は、生成モード時の処理手順を示すフローチャートである。なお、同図に示すように、アクセスログなどのトラフィックデータに基づいて仮の検知ルールデータ２１が生成されて記録されているものとする。例えば、仮の検知ルールデータ２１には、任意のトラフィックデータに対して上述のＳｎｏｒｔなどのルールセットを適用し、このルールセットに反応した複数のセッション（セッション群）などが記録されている。
【００４８】
図２のフローに戻り、まず、仮の検知ルールデータ２１に記録されている仮の検知ルールデータが検知ルール生成装置１２に読み込まれる（ステップＳ１０１）。検知ルール生成装置１２は、不正アクセスを特徴づける検知ルールの自動生成処理（詳細は後述）を行う（ステップＳ１０２）。自動生成された検知ルールは、検知ルールデータベース１３に送信され（ステップＳ１０３）、登録される（ステップＳ１０４）。また、この検知ルールはＩＤＳ１４に送信され（ステップＳ１０５）、設定登録される（ステップＳ１０６）。ここで、自動生成された検知ルールを検知ルールデータベース１３に加えてＩＤＳ１４にも設定登録するようにしているが、この理由は不正アクセスの検出処理を迅速に行うためである。ただし、検出処理に対する時間的要求がさほど厳しくない場合には自動生成された検知ルールをＩＤＳ１４に設定登録しなくてもよい。この場合には、不正アクセスの判定処理を行う際に、ＩＤＳ１４側から検知ルールデータベース１３を参照するような処理方式を採用すればよい。
【００４９】
ところで、上記でいうセッションという概念は、「接続要求」があった時点から「終了通知」または「タイムアウト」になった時点までの期間を意味するものである。例えば、ＴＣＰの場合では、ＳＹＮパケット（接続要求パケット）からＦＩＮ（終了通知）、または、ＲＳＴ（切断要求パケット）送信されるまでか、あるいは通信が途絶えて（通信相手からのパケット送信が途絶えて）から設定したタイムアウトになった時点までの期間を意味する。
【００５０】
つぎに、追加モード時の処理手順について説明する。図３は、追加モード時の処理手順を示すフローチャートである。同図において、パッシブホストセンサ１１は、ネットワーク１から自身に対して行われたアクセスを検出する（ステップＳ１１１）。上述のように、「パッシブホストセンサ１１に対して行われる通信は全て何らかの悪意を持って行われる」ということを前提としているため、パッシブホストセンサ１１は、ステップＳ１１１で検出されたアクセスを不正アクセスと判定し、不正アクセスがあったことをトラフィックデータベース５に対して通知（ステップＳ１１２）するとともに、当該アクセスにかかるアクセスログを検知ルール生成装置１２に送信する（ステップＳ１１３）。
【００５１】
トラフィックデータベース５は、ネットワーク１で行われているアクセスデータを、常時、所定の間隔で記録しているが、パッシブホストセンサ１１から不正アクセスが通知された場合には、通常トラフィックデータの更新処理を行う（ステップＳ１１４）。なお、ここでいう「通常トラフィックデータ」とは、不正アクセス以外のトラフィックデータのみで構成されたトラフィックデータのことを指しており、この更新処理では、トラフィックデータベース５に蓄積されているトラフィックデータ（通信ログデータ）の中から不正アクセスにかかるセッションのトラフィックデータが除去される。
【００５２】
一方、検知ルール生成装置１２は、検知ルールの自動生成処理に先立ってトラフィックデータベース５から通常トラフィックデータを読み込み（ステップＳ１１５）、この通常トラフィックデータとパッシブホストセンサ１１から送信されたアクセスログとに基づいて検知ルールの自動生成処理を行う（ステップＳ１１６）。なお、ステップＳ１１６の処理は、「生成モード時における検知ルールの自動生成処理」である図２のステップＳ１０２の処理と同等である。その後のステップＳ１１７〜Ｓ１２０処理、すなわち、検知ルール生成装置１２で自動生成された検知ルールが検知ルールデータベース１３や、ＩＤＳ１４に登録される処理については、生成モード時と同様な処理であり、その説明を省略する。
【００５３】
ところで、上記の処理では、通常トラフィックデータを生成する際には、パッシブホストセンサ１１からの不正アクセスの通知に基づいて、常時記録しているトラフィックデータからパッシブホストセンサ１１で観測されたセッション「のみ」を除去するようにしている。一方、このような除去処理とは異なるつぎのような処理を適用することも可能である。例えば、パッシブホストセンサで観測されたセッションだけでなく、同種と考えられる不正を含むセッションを除去するような処理を行う場合には、上記ステップＳ１１６の処理後に、不正アクセスを通知するとともに、生成された検知ルールセットをトラフィックデータベース５に対して通知することもできる。
【００５４】
なお、図３に示す追加モード時の通常トラフィックデータの読込処理（ステップＳ１１５）では、通常トラフィックデータの全体を読み込む処理と、ステップＳ１１４の処理にて更新された通常トラフィックデータの更新分のデータ（差分データ）だけを読み込む処理とが考えられ、いずれの処理を適用してもよい。ただし、通常トラフィックデータは膨大な量のデータ群であり、検知ルールの生成の都度、通常トラフィックデータを読み込むことは得策ではなく、後者のように通常トラフィックデータの差分データだけを読み込むようにすれば、処理負荷の低減化や、処理時間の短縮化が可能となる。
【００５５】
また、図２に示す生成モード時の処理手順の中では、頻出文字列リストの除外処理を行わない場合、あるいは予め検知ルール自動生成装置内に頻出文字列リストが保持されている場合を想定しているので、検知ルールの自動生成処理（ステップＳ１０２）において、通常トラフィックデータの読込処理を行ってはいない。しかしながら、生成モード時の処理手順においても、図３に示す追加モード時の処理手順のように、通常トラフィックデータを読み込んだ後に頻出文字列リストを生成するとともに、生成された頻出文字列を仮の検知ルールから除外する処理を行うようにしてもよい。
【００５６】
つぎに、判定モード時の処理手順について説明する。図４は、判定モード時の処理手順を示すフローチャートである。同図において、ＩＤＳ１４は、ネットワーク１で行われたアクセスを検出し（ステップＳ１２１）、検出したアクセスが自身に設定登録されている検知ルールに反応するか否かを判定し（ステップＳ１２２）、検知ルールに反応した場合（ステップＳ１２２，Ｙｅｓ）にはアラートを出力する（ステップＳ１２５）。一方、全ての検知ルールに反応しない場合（ステップＳ１２２，Ｎｏ）にはアラートを出力しない。なお、検知ルールに反応した場合（ステップＳ１２２，Ｙｅｓ）には、不正アクセスがあったことをトラフィックデータベース５に対して通知する（ステップＳ１２３）。トラフィックデータベース５は、ＩＤＳ１４からの通知に基づいて、通常トラフィックデータの更新処理を行う（ステップＳ１２４）。
【００５７】
つぎに、検知ルールの自動生成処理について説明する。図５は、図２に示すステップＳ１０２の処理や、図３に示すステップＳ１１６の処理に対応するものであり、自動生成処理の一例としてＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）通信に適用した検知ルール自動生成処理の処理手順を示すフローチャートである。図５に示すフローには、同一の不正行為だけでなく、同種の不正行為をも含んだリクエストを検出する一方で、不正でないものを不正と判断するフォールスポジティブ（以下「Ｆ.Ｐ.」と標記）や、不正なものを不正でないと判断するフォールスネガティブ（以下「Ｆ.Ｎ.」と標記）を極力少なくするための処理が含まれている。なお、このフローは、好適な一例としてＨＴＴＰ通信の場合について説明するものであり、必ずしもＨＴＴＰプロトコルに限定されるものではない。例えば、ＳＭＴＰプロトコルや、ＦＴＰプロトコルなどのアプリケーション層の通信プロトコルにも適用できる。この場合、ＨＴＴＰプロトコルのメッセージと同等の構造を有しているものに対して適用することができ、同等な構造がないものに対しては当該処理をスキップしてもよい。
【００５８】
ここで、図５のフローチャートの説明に際し、以降の説明の理解を容易にするため、ＨＴＴＰリクエストメッセージの構造について説明する。図６は、ＨＴＴＰリクエストメッセージの構造を示す図である。ＨＴＴＰリクエストメッセージはＲＦＣ２６１６によって定義されており、同図に示すように、スタートライン、メッセージヘッダ部、メッセージボディの３つの部分から構成される。
【００５９】
スタートラインには、主としてリクエストの動作および対象となるファイルが記述され、空白を区切り文字として、メソッド、ＵＲＩ、ＨＴＴＰバージョンの３つの部分に分けられる。ＵＲＩには、“？”に続けてクエリ文字列が続く場合がある。クエリ文字列はサーバ側で実行されるプログラムにデータを渡すために用いられる。なお、サーバ側のプログラムによって形式は異なるが、一般には、変数名と値が“＝”で結ばれ、それが複数個の“＆”を区切りとして連結したものである場合が多い。一方、メッセージヘッダ部は、クライアント側の情報をサーバ側に伝えるために用いられる。なお、メッセージヘッダ部では、一つの行に記述されるメッセージヘッダが複数記述され、各メッセージヘッダは“：”で区切られた“フィールド名”と“フィールド値”から構成される。また、メッセージボディは、サーバ側で実行されるプログラムにデータ渡す際に用いられるものであり、上記ＵＲＩのクエリ文字列と同様の形式である場合が多い。
【００６０】
つぎに、図５に戻り、検知ルール生成装置１２で行われる検知ルールの自動生成処理について説明する。同図に示すように、この自動生成処理ステップは、ステップＳ２０１〜Ｓ２０４の第１の剪定処理ステップと、ステップＳ２０５〜Ｓ２０７の第２の剪定処理ステップとに分解することができる。ここで、第１の剪定処理ステップは、検知ルール自動生成の前処理に相当するものであり、処理対象の種類（通信プロトコル）や、処理対象を構成するメッセージフィールドの特性に応じて、後続の第２の剪定処理を行わせるか否かのフィルタリングを行うものである。一方、第２の剪定処理ステップは、検知ルール自動生成の本処理に相当するものであり、実際に検知ルールの自動生成処理を行うものである。ただし、後述のように、一旦、仮の検知ルールセットを生成し、生成された仮の検知ルールセットから所定の文字列を除外するようなフィルタリング処理を併用している。これらの第１、第２の剪定処理ステップを行うことで、単純に自動生成処理を行う場合に比べて、処理時間、処理負荷を大幅に低減させることができ、また、誤検知の確率を大幅に低下させることができるという利点がある。
【００６１】
図５において、検知ルール生成装置１２は、パッシブホストセンサ１１から送信された不正アクセスログ（ＨＴＴＰリクエスト）に対して、その処理対象を特定する。例えば、“スタートライン”、“メッセージヘッダ”、“メッセージボディ”のいずれに該当するのかを特定する（ステップＳ２０１）。処理対象が“メッセージヘッダ”以外（ステップＳ２０２、Ｎｏ）ならば、第１の剪定処理ステップを抜けて第２の剪定処理ステップ（ステップＳ２０５）の処理に移行する。一方、処理対象が“メッセージヘッダ”の場合には（ステップＳ２０２、Ｙｅｓ）、メッセージヘッダを構成する“フィールド名”および“フィールド値”のそれぞれに対して、それぞれ異なる判定処理が行われる。まず、フィールド名に対しては、各セッションにおけるフィールド名の出現頻度と、ヘッダフィールドの種類（例えば、Ｃｏｏｋｉｅヘッダフィールド、Ｉｆ−Ｍｏｄｉｆｉｅｄ−Ｓｉｎｃｅヘッダフィールド）ごとに算出された所定のしきい値としての第１のしきい値との間で比較処理が行われる（ステップＳ２０３）。フィールド名の出現頻度が第１のしきい値以下の場合には（ステップＳ２０３、Ｎｏ）、第１の剪定処理ステップを抜けて第２の剪定処理ステップ（ステップＳ２０５）の処理に移行し、フィールド名の出現頻度が第１のしきい値よりも大きい場合には（ステップＳ２０３、Ｙｅｓ）、ステップＳ２０４に移行する。
【００６２】
また、フィールド値に対しては、各セッションにおいて、フィールド値を構成する文字列の任意の文字種間の遷移確率の平均値と、所定のしきい値としての第２のしきい値との間で比較処理が行われる（ステップＳ２０３）。このフィールド値の遷移確率の平均値が第２のしきい値より大きい場合には（ステップＳ２０４、Ｎｏ）、第２の剪定処理ステップに移行することなく自動生成処理を終了し、フィールド値の遷移確率の平均値が第２のしきい値以下の場合には（ステップＳ２０４、Ｙｅｓ）、第２の剪定処理ステップのステップＳ２０５に移行する。なお、上記の説明の中で、ステップＳ２０４で行われる平均処理は、相乗平均、相加平均などの任意の平均処理を適用することができる。また、上記の説明の中の「文字種間の遷移確率」については、以下にその詳細について補足する。
【００６３】
「文字種間の遷移確率」とは、メッセージヘッダなどに含まれる文字列の各文字の移り変わりを確率的に表したものである。通常、文字列は左から右へ向かって変化するという前提であり、文字列のある２文字に着目した場合、左側の文字種が観測された後、右側の文字種が出現する確率は、左側の文字種と、右側の文字種との関係で決定され、文字種ごとに異なる確率値をとる。この確率値を「文字種間の遷移確率」と定義している。例えば、日本語の場合、文末に「です。」という文字列が頻繁に出現するので、「で」という文字種のつぎに「す」という文字種に遷移する確率は高くなる。このように、ステップＳ２０３の処理では、メッセージヘッダに現れる文字を対象として、上記のように定義された文字種間の遷移確率を予め算出するようにしている。
【００６４】
つぎに、図５のフローチャートに戻って、第２の剪定処理ステップについて説明する。検知ルール生成装置１２は、スタートライン、メッセージボディなどのリクエストデータや、第１の剪定処理ステップの処理でフィルタリングされたメッセージヘッダから不正アクセスを検出するための文字列を抽出した仮の検知ルールセットを生成し（ステップＳ２０５）、その一方で、通常トラフィックデータに基づいて頻出文字列リストを生成し、あるいは頻出文字列リストに新たな検知ルールを追加する（ステップＳ２０６）。検知ルール生成装置１２は、検知ルールセットから頻出文字列リストの上位に位置する所定の頻出文字列を除去した検知ルール（真の検知ルール）を生成して出力する（ステップＳ２０７）。なお、この検知ルールが、検知ルールデータベース１３に登録され、ＩＤＳ１４に反映されることは前述のとおりである。
【００６５】
このように、図５に示す第１の剪定処理ステップおよび第２の剪定処理ステップの処理に基づいて、同種の不正行為を含んだリクエストの検出を可能とする一方で、Ｆ.Ｐ.数やＦ.Ｎ.数を局限可能な検知ルールを自動生成することができる。なお、上述の説明の中で、ステップＳ２０５の仮の検知ルールセットの生成処理、ステップＳ２０６の頻出文字列の生成処理およびステップＳ２０７の頻出文字列による除外処理の各説明が不足しているので、さらに説明を加える。
【００６６】
図７および図８は、仮の検知ルールセットの生成処理について補足するための図であり、より詳細には、図７は、同種の不正アクセスを検出するための検知ルールの一例を示す説明図であり、図８は、プロトコル構文を考慮した階層的な分割手法の一例を示す説明図である。まず、図７において、上段部には、ＨＴＴＰプロトコルのリクエストメッセージ（Ａ）が示されている。中上段部には、リクエストメッセージ（Ａ）から抽出された３つの検知ルール（ａ），（ｂ），（ｃ）が示されている。このような検知ルールが生成されている場合に、例えば、中下段部に示される不正なリクエストメッセージ（Ｂ），（Ｃ）が検出された場合を考える。このとき、検知ルール（ａ）ではリクエストメッセージ（Ｂ），（Ｃ）ともに検知することができず、検知ルール（ｃ）ではリクエストメッセージ（Ｂ），（Ｃ）ともに検知することができるが、不正なアクセス以外にも反応する可能性がある。一方、検知ルール（ｂ）ではリクエストメッセージ（Ｂ），（Ｃ）ともに検知することができ、また、不正なアクセス以外に反応する可能性は検知ルール（ｃ）よりも小さい。このように、検知ルール（ｂ）は不正な部分の特徴部分のみが適切に記述された例としての一例を示すものである。
【００６７】
また、図８には、ＨＴＴＰプロトコルのスタートラインの記述例が示されている。例えば、スタートラインでは、空白によって、メソッド、ＵＲＩ、バージョンに分割し、ＵＲＩは“？”によってファイル指定部およびクエリ文字列に分割し、さらに、ファイル指定部は、“／”によって分割する。なお、分割途中の段階を含め、各段階で生成された文字列の全てを、仮の検知ルールとして残しておくことが重要なポイントである。このような分割途中の段階で生成された文字列を含めることで、同種の不正アクセスを検出する確率を増大させることができる。なお、同図には示していないが、メッセージヘッダや、メッセージボディについても同様な手法で分割することができる。
【００６８】
分割に際して、他の考慮すべき事項として、生成した検知ルールが全く関係のない文字列や、当該文字列を部分的に含む文字列に偶然に一致することを避ける必要がある。このため、図８の下段部に示すように、一旦分割された文字列の両端に分割に用いた区切り文字を残すようにする。例えば、ＵＲＩ部分を分割した、“ａｒｃｈ”という文字列が生成された場合には、分割に用いた文字“／”を両端に残し、“／ａｒｃｈ／”を検知ルールとする。この処理により、“ｒｅｓｅａｒｃｈ”や、“ａｒｃｈｉｔｅｃｔｕｒｅ”などの文字列に偶然に一致するような状況が回避され、また、ＵＲＩから生成された検知ルールがＵＲＩ部分により限定的にマッチするようになり、Ｆ.Ｐ.数の増加防止に効果的である。
【００６９】
一方、図９は、頻出文字列の生成処理および仮の検知ルールに対する頻出文字列の除外処理を補足するための図であり、より詳細には、通常トラフィックデータの中に含まれる文字列の出現頻度の一例を示す図である。同図に示すグラフは横軸が文字列を出現頻度順に並べたときの順位であり、縦軸は当該順位文字列の総リクエスト数に対する出現頻度である。例えば、同図の例では、縦軸上の切片に'；ｑ＝’という文字列の総リクエスト数に対する出現頻度である“２４６０４９”の値がプロットされ、以下、右隣の所定の位置に'ｉｍａｇｅ／’、'ｔｅｘｔ／’、・・・のそれぞれの値がプロットされる。同図では、好適な例として、面積の８０％を占めるまでの文字列を高頻度で出現する文字列（頻出文字列）として定義し、これらの文字列は不正の特徴を表していないものとして取り扱われる。すなわち、仮の検知ルールの中にこれらの文字列を含んでいる場合には、検知ルールから取り除かれる。
【００７０】
先に述べたように、通常トラヒックデータの大部分は正規の通信によって占められている。したがって、不正な通信に特有の文字列は通常トラヒックデータ中には高頻度では存在しないはずである。そこで、通常トラヒックデータ中にあるしきい値以上で高頻度に出現する文字列は、通常の通信にも含まれる一般的な語と判断して検知ルールから除くという処理を行うことで、同種の不正行為を含んだリクエストの検出を可能とし、その一方で、不正でないものを不正と判定するＦ.Ｐ.数を局限することができる。
【００７１】
なお、この実施の形態では、専用の装置を用いた構造について説明したが、本発明の適用対象は、必ずしも実施の形態に限定して解釈する必要はない。また、具体的構造についても、図１のブロック図に示されるものに限定して解釈する必要はなく、上記の手法を用いてネットワークの不正アクセスを検出できるものであればよい。
【００７２】
（実施の形態２）
実施の形態２にかかる不正アクセス検出装置の構成は、図１に示す実施の形態１の構成と同一、あるいは同等である。一方、この実施の形態の処理は、実施の形態１の処理と比較して以下のような特徴を有している。
（１）  実施の形態１の処理では、検知ルールに一つでも反応すればアラートを発生していたが、この実施の形態の判定処理では、反応した検知ルールに重要度を設定し、セッション単位での重要度の合計（以下「得点」と呼称）が所定値以上の場合にアラートを発生させる。
（２）  実施の形態１の処理では、許容Ｆ.Ｐ.数による制御という概念が存在しなかったが、この実施の形態では、許容Ｆ.Ｐ.数に基づいた制御を行う。
（３）  上記（２）に関連するが、設定された許容Ｆ.Ｐ.数と、検知ルールごとの得点の傾向とに基づいて決定される判定しきい値を設定し、当該判定しきい値よりも上位順位にある検知ルールに反応したときにアラートを発生させる。
【００７３】
つぎに、上述した実施の形態２の特徴に含まれる「重要度」および「判定しきい値」の概念について説明する。実施の形態１のところで説明したように、パッシブホストセンサ１１が観測した１つの不正アクセスから複数個の検知ルールが生成される。これらの検知ルールには、リクエストメッセージ中の不正な部分を適切に記述しＦ.Ｐ.を発生させない理想的なものから、逆にＦ.Ｐ.を多く発生させるものまで、その性能にはばらつきがある。そこで、「重要度」という概念を導入し、検知ルールに対して、この「重要度」で重み付け処理を行うことを考える。具体的には、Ｆ.Ｐ.の発生具合によって検知ルールの性能を評価し、検知ルールが持つ情報量の観点から、Ｆ.Ｐ.の発生が少ない検知ルールの重要度は高く、逆にＦ.Ｐ.を多く発生させる検知ルールの重要度は低くなるように、それぞれの重要度に傾きを付けるように処理する。
【００７４】
ここで、重要度は次式のように定義する。
重要度＝１／（過去のトラヒックデータに対する反応数）  ・・・（１）
なお、過去のトラフィックデータとして上記で定義した通常トラフィックデータを用いるのが好適である。なぜなら、通常トラフィックデータ中には不正なトラフィック（セッション）の含まれる可能性が低いので、重要度の適正性を確保することができるからである。ところで、式（１）において、過去のトラヒックデータに対する反応数が０のときは、重要度の値が∞になってしまうので、適度な値を設定する必要がある。同式によれば、過去のトラヒックデータに対する反応数＝１のときに重要度＝１となるので、過去のトラヒックデータに対する反応数が０のときは、例えば、重要度＝２に設定することができる。なお、過去のトラヒックデータに反応する場合より反応しない場合の方が重要度を高く設定するという意味では、過去のトラヒックデータに対する反応数が０のときに、１を超える重要度が設定されていればよい。
【００７５】
具体的には、検知ルールの１つを通常トラヒックデータに対して適用し、通常トラヒックデータに反応した数をフォールスポジティブと見なす。このようにして算出された検知ルールごとの反応数に基づき、反応数が少ない検知ルールは重要度を高く、反応数が多いものは重要度を低く設定するように処理する。なお、この重要度の設定処理は、予め実施しておくことができる。例えば、図２に示した検知ルールの自動生成処理（ステップＳ１０２）時に、仮の検知ルールデータ２１内に含ませた通常トラフィックデータに基づいて重要度を設定すればよい。また、図３に示した検知ルールの自動生成処理（ステップＳ１１６）時に、通常トラフィックデータに追加されたセッションに対する各検知ルールの重要度の更新処理を行うようにすればよい。
【００７６】
つぎに、判定しきい値について説明する。この実施の形態では各検知ルールに上述のような重要度を導入したことにより、アラートを発生させる基準を、従来の、検知ルールが１つでも反応したセッションに対してアラートを発生させるという処理から、判定しきい値と呼ばれる基準を設定し、この判定しきい値を基準とした判定処理を導入する。
【００７７】
判定しきい値の設定方法としては、例えば、以下の手順に示される。
（１）  許容Ｆ.Ｐ.数をＮに設定
（２）  通常トラフィックデータの各セッションに検知ルールを適用
（３）  各セッションごとに反応した検知ルールの重要度の合計（以下「得点」と呼称）を算出
（４）  得点を降順でソート
（５）  上位Ｎ番目のセッションとＮ＋１番目の間の所定の得点に判定しきい値を設定
【００７８】
図１０は、判定しきい値の概念をさらに詳細に説明するための図である。同図の例では、１日以上（通常は、複数日分）の通常トラフィックデータに対して検知ルールを適用し、各セッションごとに反応した検知ルールの得点を算出し、得点の降順に整列させたものである。同図の例では、１日当たりの許容Ｆ.Ｐ.数が５に設定されるので、得点が２０９のセッションＳと、得点が１３４のセッションＬとの間に判定しきい値を設定するためのラインが引かれ、１３４以上で２０９以下の任意の値に判定しきい値が設定される。なお、判定しきい値を２０９に近い値に設定した場合と、１３４に近い値に設定した場合とでは、前者の方が、後者に比較して、Ｆ.Ｐ.数が減少する一方で、未検知数が増加する傾向になる。したがって、これらの判定しきい値や、許容Ｆ.Ｐ.数の設定については、管理者の判断に委ねられる部分となる。
【００７９】
つぎに、上述のような「重要度」および「判定しきい値」の概念が導入された実施の形態２の不正アクセス検出装置の動作について説明する。図１１は、この発明の実施の形態２にかかる不正アクセス検出装置の判定モード時の処理手順を示すフローチャートである。なお、生成モード時および追加モード時の処理手順は、それぞれ図２および図４に示す実施の形態１の処理手順に上述の重要度の設定処理手順を含めたものと同一または同等であるので、説明を省略する。
【００８０】
図１１において、ＩＤＳ１４は、ネットワーク１で行われたアクセスを検出し、検出したアクセスが自身に設定登録されている検知ルールに反応するか否かの判定処理を全ての検知ルールに対して行う（ステップＳ３０１）。つぎに、ＩＤＳ１４は、検出したアクセスが１以上の検知ルール反応したか否かを判定し（ステップＳ３０２）、全ての検知ルールに反応しない場合（ステップＳ３０２，Ｎｏ）にはアラートを出力せずにこの判定モードの処理から抜け出るが、１以上の検知ルールに反応した場合（ステップＳ３０２，Ｙｅｓ）には、通常トラフィックデータに基づいて予め算出されている重要度を参照して、各セッションごとの得点の算出処理を行う（ステップＳ３０４）。ＩＤＳ１４は、各セッションの得点と、上述した手順などにより予め設定された判定しきい値とをそれぞれ比較し（ステップＳ３０５）、全てのセッションが判定しきい値未満の場合（ステップＳ３０５，Ｎｏ）にはアラートを出力せずにこの判定モードの処理から抜け出るが、判定しきい値以上の得点を有する１以上のセッションが存在する場合（ステップＳ３０５，Ｙｅｓ）にはアラート（要すれば当該セッション番号や、当セッションの内容も含む）を出力する（ステップＳ３０６）。なお、アラートが出力された場合には、不正アクセスがトラフィックデータベース５に通知され（ステップＳ３０７）、爾後の判定処理に備えて通常トラフィックデータが更新される（ステップＳ３０８）。
【００８１】
なお、上記の処理手順の中で、重要度の重み付けを行わず（すなわち、重要度は全て同一）、判定しきい値のみで判定してもよい。この場合、ステップＳ３０４の処理をバイパスすることができる。
【００８２】
（実施の形態２の装置の評価）
図１２は、実施の形態２の不正アクセス検出装置の評価実験を行った結果を示す図である。図１２において、横軸を設定した１ルールセットあたりの許容Ｆ.Ｐ.数とし、縦軸を検出率およびＦ.Ｐ.数とした。また、実線部分は重要度と判定しきい値の両者を導入した場合の波形であり、破線部分は判定しきい値のみを導入した場合の波形である。
【００８３】
ここで、評価実験の環境を簡単に説明する。まず、１００台規模のホストが接続するＬＡＮを出入りする１日分のトラヒックデータにＳｎｏｒｔに付属のルールセットを適用し、反応したセッションを、パッシブホストセンサ１１で観測された新種の不正アクセス手法と想定し、反応しなかったトラヒックデータを通常トラヒックデータと想定してこれらをテストデータとした。つぎに、不正なリクエストデータの１つをパッシブホストセンサ１１で観測された未知の不正と想定し、本発明の処理手順に基づいて検知ルールを生成した。また、生成した検知ルールセットを不正アクセスのトラヒックに適用し、同種の不正リクエストを検知できるかどうかを調べた。さらに、通常トラヒックデータに適用にしたときのＦ.Ｐ.数についてもカウントした。
【００８４】
図１２の結果に示されるように、重要度および判定しきい値を導入した場合、ならびに判定しきい値のみを導入した場合の両者ともに殆どの領域において９５％前後の良好な検出率が維持されている。また、許容Ｆ.Ｐ.数を５０から１０程度に軽減させた場合であっても、検出率の低下がほとんどなく、良好な検出性能が維持され、実運用に十分耐えうる検出性能が得られている。
【００８５】
図１３は、実運用上のデータを用いて評価実験を行った結果を示す図表であり、より詳細には、ある年月の２１日〜２８日までの８日間に観測されたＨＴＴＰリクエストに対する検知結果を示す図表である。図１２の実験結果はＳｎｏｒｔに付属の標準ルールセットを未知の不正と想定し、人為的に生成したテストデータを用いて行ったものであるが、図１３に示す実験結果は、この実施の形態の不正アクセス検出装置を実稼働のネットワーク上に実際に設置して評価したものである。このネットワークには１００台程度のホストが接続され、常時約３０のホストが外部のｗｅｂサーバにアクセスしている。また、ネットワーク内にはｗｅｂサーバが１０台稼働し、ネットワークの入口では全てのトラヒックが観測されダンプデータとして保存されている。なお、ネットワーク入口を出入りするトラヒックは、１日あたり約３０，０００セッションである。
【００８６】
図１３に示すように、８日間の全てにおいて検知率が１００％であり、良好な結果が得られている。また、フォールスポジティブ数も平均して１日あたり９個に抑えられており、実運用に耐えられる値を示している。この結果により、この実施の形態の不正アクセス検出装置の有用性が十分に証明されているものと考える。
【産業上の利用可能性】
【００８７】
以上のように、この発明にかかる不正アクセス検出装置は、シグネチャマッチング型のＩＤＳをベースとしているものの、検知ルールが明らかでない新種や未知の不正アクセスに対処することのできるＩＤＳとして有用である。
【図面の簡単な説明】
【００８８】
【図１】この発明の実施の形態１にかかる不正アクセス検出装置の構成を示すブロック図である。
【図２】生成モード時の処理手順を示すフローチャートである。
【図３】追加モード時の処理手順を示すフローチャートである。
【図４】判定モード時の処理手順を示すフローチャートである。
【図５】自動生成処理の一例としてＨＴＴＰ通信に適用した検知ルール自動生成処理の処理手順を示すフローチャートである。
【図６】ＨＴＴＰリクエストメッセージの構造を示す図である。
【図７】同種の不正アクセスを検出するための検知ルールの一例を示す説明図である。
【図８】図８は、プロトコル構文を考慮した階層的な分割手法の一例を示す説明図である。
【図９】通常トラフィックデータの中に含まれる文字列の出現頻度の一例を示す図である。
【図１０】判定しきい値の概念をさらに詳細に説明するための図である。
【図１１】この発明の実施の形態２にかかる不正アクセス検出装置の判定モード時の処理手順を示すフローチャートである。
【図１２】実施の形態２の不正アクセス検出装置の評価実験を行った結果を示す図である。
【図１３】実運用上のデータを用いて評価実験を行った結果を示す図表である。
【符号の説明】
【００８９】
１，２，３  ネットワーク
４  インターネット
５  トラフィックデータベース
１０  不正アクセス検出装置
１１  パッシブホストセンサ
１２  検知ルール生成装置
１３  検知ルールデータベース
２１  仮の検知ルールデータ
【図１】
2005316779.tif 000003
【図２】
2005316779.tif 000004
【図３】
2005316779.tif 000005
【図４】
2005316779.tif 000006
【図５】
2005316779.tif 000007
【図６】
2005316779.tif 000008
【図７】
2005316779.tif 000009
【図８】
2005316779.tif 000010
【図９】
2005316779.tif 000011
【図１０】
2005316779.tif 000012
【図１１】
2005316779.tif 000013
【図１２】
2005316779.tif 000014
【図１３】
2005316779.tif 000015