(57)【要約】【課題】大量の攻撃に対しても攻撃検知処理の飽和を防ぐことを可能にする。【解決手段】攻撃監視手段の処理負荷に関連するデータ状態を監視し、当該データ状態の変化に応じてシグネチャファイルの現在使用対象となっているシグネチャの選択された検知項目の攻撃検知度数を減増変更すると共に、バージョン番号を新旧変更することにより当該シグネチャの更新を行い、この更新ごとに、更新されたシグネチャの攻撃監視手段への読み込みを再起動し、攻撃監視手段で出力した検知ログを計数し、当該計数値が更新されたシグネチャの検知項目ごとの攻撃検知度数に基づいて設定した閾値を超えるごとに該当する検知ログを１つ出力するよう制御する処理負荷制御手段を備える。【選択図】図１
2008098766.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク上から取得した通信パケット情報と不正侵入手口のパターンを記述した検知ロジックを登録したシグネチャとのマッチングをとることにより攻撃判定を行い、攻撃と判定した検知ログを作成して出力する攻撃監視手段を備えた不正侵入検知装置において、
前記攻撃監視手段で使用する検知ロジックに記載された各種の検知項目に対してそれぞれ攻撃検知度数が設定されると共に、バージョン番号が付されたシグネチャを１つ格納するシグネチャファイルと、
前記攻撃監視手段の処理負荷に関連するデータ状態を監視し、当該データ状態の変化に応じて前記シグネチャファイルの現在使用対象となっているシグネチャの選択された検知項目の攻撃検知度数を減増変更すると共に、バージョン番号を新旧変更することにより当該シグネチャの更新を行い、この更新ごとに、更新されたシグネチャの前記攻撃監視手段への読み込みを再起動し、前記攻撃監視手段で出力した検知ログを計数し、当該計数値が前記更新されたシグネチャの検知項目ごとの攻撃検知度数に基づいて設定した閾値を超えるごとに該当する検知ログを１つ出力するよう制御する処理負荷制御手段を備えたことを特徴とする不正侵入検知装置。
【請求項２】
処理負荷制御手段は、
攻撃監視手段が現在の攻撃判定に使用しているシグネチャに記載のバージョン番号を格納するバージョン番号ファイルと、
検知攻撃履歴ファイルと、
シグネチャ履歴ファイルと、
前記攻撃監視手段で出力された検知ログから検知項目、検知日時を抽出して前記検知攻撃履歴ファイルに格納し、また対応して使用したシグネチャに記載の検知項目の攻撃検知度数を抽出し、他手段からの要求に応じて所定のデータを出力する検知攻撃情報管理手段と、
当該装置を含む処理を実行するＣＰＵ負荷が所定の閾値を超えたか否かを常時監視する負荷監視手段と、
前記負荷監視手段の監視結果に応じて前記バージョン番号ファイルから現在使用中のシグネチャのバージョン番号を取得するバージョン番号抽出手段と、
前記バージョン番号抽出手段からＣＰＵ負荷が所定の閾値を超えたときに取得したバージョン番号が与えられた場合には、前記検知攻撃情報管理手段に要求を出して前記検知攻撃履歴ファイルのデータの中から抽出した、現在から遡る所定期間内における検知数が所定値より大きい検知項目とその検知数を取り寄せ、取り寄せた各検知項目の検知度数をそれぞれ算出して、算出した検知度数に所定の割合で減少を与える係数をそれぞれ乗じて各検知項目の新たな攻撃検知度数を作成するシグネチャ更新内容作成手段と、
前記バージョン番号抽出手段が取得したバージョン番号に該当するシグネチャを前記シグネチャファイルから読み出し、当該シグネチャのバージョン番号を増加させた次のバージョン番号に変更し、かつ前記シグネチャ更新内容作成手段が作成した各検知項目の新たな攻撃検知度数に基づいて当該シグネチャに記載の対応する検知項目の攻撃検知度数を変更して前記シグネチャファイルに使用対象シグネチャとして記憶すると同時に、この更新したシグネチャを前記攻撃監視手段に読み込むよう再起動させ、当該更新したシグネチャのバージョン番号を現在使用中の番号として前記バージョン番号ファイルに記憶するとともに、更新されたシグネチャの検知項目とバージョン番号及び日時をシグネチャ履歴として前記シグネチャ履歴ファイルに格納するシグネチャ更新手段と、
前記検知攻撃情報管理手段から得られた現在使用中のシグネチャに記載の各検知項目の攻撃検知度数に基づいて出力可否の閾値を設定し、前記攻撃監視手段が出力する検知ログを計数し、当該計数値が設定した閾値を超えるごとに該当する検知ログを１つ出力する検知ログ出力可否判定手段とを有したことを特徴とする請求項１記載の不正侵入検知装置。
【請求項３】
シグネチャ更新手段は、負荷監視手段でＣＰＵ負荷が閾値以下となった場合には、バージョン番号抽出手段が取得したバージョン番号を過去に用いた１つ手前のバージョン番号に変更し、シグネチャ履歴ファイルから前記過去に用いた１つ手前のバージョン番号でかつ最新日付のシグネチャを前記攻撃監視手段に読み込むよう再起動し、当該起動対象となったシグネチャのバージョン番号を現在使用中の番号として前記バージョン番号ファイルに記憶するようにしたことを特徴とする請求項２記載の不正侵入検知装置。
【請求項４】
処理負荷制御手段は、
攻撃監視手段が現在の攻撃判定に使用しているシグネチャのバージョン番号を格納するバージョン番号ファイルと、
他からの要求により前記バージョン番号ファイルから現在使用中のシグネチャのバージョン番号を取得するバージョン番号抽出手段と、
検知攻撃履歴ファイルと、
シグネチャ履歴ファイルと、
前記攻撃監視手段で出力された検知ログから検知項目、検知日時を抽出して前記検知攻撃履歴ファイルに格納し、また対応して使用したシグネチャに記載の検知項目の攻撃検知度数を抽出し、他手段からの要求に応じて所定のデータを出力する検知攻撃情報管理手段と、
前記検知攻撃情報管理手段から前記攻撃監視手段が出力する同じ検知ログを定期的に一定時間取得して当該検知ログの出力度数を算出し、算出した出力度数が予め設定した閾値を超えたか否かを常時監視し、超えた場合には前記バージョン番号抽出手段により前記バージョン番号ファイルから現在使用中のシグネチャのバージョン番号を取得すると共に、前記検知攻撃情報管理手段に要求を出して前記検知攻撃履歴ファイルのデータの中から抽出した、現在から遡る所定期間内における検知数が所定値より大きい検知項目とその検知数を取り寄せ、取り寄せた各検知項目の検知度数をそれぞれ算出して、算出した検知度数に所定の割合で減少を与える係数をそれぞれ乗じて各検知項目の新たな攻撃検知度数を作成する検知ログ出力監視・更新内容作成手段と、
前記バージョン番号抽出手段が取得したバージョン番号のシグネチャを前記シグネチャファイルから読み出し、当該シグネチャのバージョン番号を増加させた次のバージョン番号に変更し、かつ前記検知ログ出力監視・更新内容作成手段が作成した各検知項目の新たな攻撃検知度数に基づいて当該シグネチャに記載の対応する検知項目の攻撃検知度数を変更して前記シグネチャファイルに使用対象シグネチャとして記憶すると同時に、この更新したシグネチャを前記攻撃監視手段に読み込むよう再起動させ、当該更新したシグネチャのバージョン番号を現在使用中の番号として前記バージョン番号ファイルに記憶するとともに、更新されたシグネチャの検知項目とバージョン番号及び日時をシグネチャ履歴として前記シグネチャ履歴ファイルに格納するシグネチャ更新手段と、
前記検知攻撃情報管理手段から得られた現在使用中のシグネチャに記載の各検知項目の攻撃検知度数に基づいて出力可否の閾値を設定し、前記攻撃監視手段が出力する検知ログを計数し、当該計数値が設定した閾値を超えるごとに該当する検知ログを１つ出力する検知ログ出力可否判定手段とを有したことを特徴とする請求項１記載の不正侵入検知装置。
【請求項５】
シグネチャ更新手段は、検知ログ出力監視・更新内容作成手段で算出した検知ログの出力度数が予め設定した閾値以下となった場合には、前記バージョン番号ファイルから取得したバージョン番号を過去に用いた１つ手前のバージョン番号に変更し、シグネチャ履歴ファイルから前記過去に用いた１つ手前のバージョン番号でかつ最新日付のシグネチャを前記攻撃監視手段に読み込むよう再起動し、当該起動対象となったシグネチャのバージョン番号を現在使用中の番号として前記バージョン番号ファイルに記憶するようにしたことを特徴とする請求項４記載の不正侵入検知装置。
【請求項６】
不正侵入手口のパターンを記述した検知ロジックに記載された各種の検知項目に対してそれぞれ攻撃検知度数が設定されると共に、バージョン番号が付されたシグネチャを１つ格納するシグネチャファイルと、シグネチャの履歴を格納するシグネチャ履歴ファイルと、現在の攻撃判定に使用しているシグネチャのバージョン番号を格納するバージョン番号ファイルと、検知攻撃履歴ファイルとを備えたコンピュータにインストールし、ネットワーク上から取得した通信パケット情報と前記シグネチャファイルから読み込んだ現在使用対象のシグネチャとのマッチングをとることにより攻撃判定を行い、攻撃と判定した検知ログを作成して出力する攻撃監視ステップを当該コンピュータに実行させる不正侵入検知プログラムであって、
前記攻撃監視ステップにおいて出力された検知ログから検知項目、検知日時を抽出して前記検知攻撃履歴ファイルに格納し、また対応して使用したシグネチャに記載の検知項目の攻撃検知度数を抽出する検知攻撃履歴情報取得ステップと、
前記コンピュータの動作制御を行うＣＰＵ負荷が所定の閾値を超えたか否かを常時監視する負荷監視ステップと、
この負荷監視ステップにおける監視結果に応じて前記バージョン番号ファイルから現在使用中のシグネチャのバージョン番号を取得するバージョン番号抽出ステップと、
前記ＣＰＵ負荷が所定の閾値を超えた場合に、前記検知攻撃履歴ファイルのデータの中から、現在から遡る所定期間内における検知数が所定値より大きい検知項目とその検知数を抽出する検知項目・検知数抽出ステップと、
前記抽出した各検知項目について検知度数をそれぞれ算出し、算出した検知度数に所定の割合で減少を与える係数をそれぞれ乗じて各検知項目の新たな攻撃検知度数を作成する攻撃検知度数作成ステップと、
前記バージョン番号抽出ステップで取得したバージョン番号に該当するシグネチャを前記シグネチャファイルから読み出し、当該シグネチャのバージョン番号を増加させた次のバージョン番号に変更し、かつ前記攻撃検知度数作成ステップで作成した各検知項目の新たな攻撃検知度数に基づいて当該シグネチャに記載の対応する検知項目の攻撃検知度数を変更して前記シグネチャファイルに使用対象シグネチャとして記憶すると同時に、この更新したシグネチャを読み込んで前記攻撃監視ステップの実行を再起動させ、当該更新したシグネチャのバージョン番号を現在使用中の番号として前記バージョン番号ファイルに記憶し、前記更新されたシグネチャの検知項目とバージョン番号をシグネチャ履歴として前記シグネチャ履歴ファイルに格納するシグネチャ更新ステップと、
検知攻撃履歴情報取得ステップにおいて得られる現在使用中のシグネチャに記載の各検知項目の攻撃検知度数に基づいて出力可否の閾値を設定し、前記攻撃監視ステップで出力する検知ログを計数し、当該計数値が設定した閾値を超えるごとに該当する検知ログを１つ出力する検知ログ出力可否判定ステップとを有したことを特徴とする不正侵入検知プログラム。
【請求項７】
シグネチャ更新ステップは、負荷監視ステップでＣＰＵ負荷が閾値以下となった場合には、バージョン番号抽出ステップで取得したバージョン番号を過去に用いた１つ手前のバージョン番号に変更し、シグネチャ履歴ファイルから前記過去に用いた１つ手前のバージョン番号でかつ最新日付のシグネチャを読み込んで前記攻撃監視ステップの実行を再起動させ、当該起動対象となったシグネチャのバージョン番号を現在使用中の番号として前記バージョン番号ファイルに記憶することを特徴とする請求項６記載の不正侵入検知プログラム。
【請求項８】
不正侵入手口のパターンを記述した検知ロジックに記載された各種の検知項目に対してそれぞれ攻撃検知度数が設定されると共に、バージョン番号が付されたシグネチャを１つ格納するシグネチャファイルと、シグネチャの履歴を格納するシグネチャ履歴ファイルと、現在の攻撃判定に使用しているシグネチャのバージョン番号を格納するバージョン番号ファイルと、検知攻撃履歴ファイルとを備えたコンピュータにインストールし、ネットワーク上から取得した通信パケット情報と前記シグネチャファイルから読み込んだ現在使用対象のシグネチャとのマッチングをとることにより攻撃判定を行い、攻撃と判定した検知ログを作成して出力する攻撃監視ステップを当該コンピュータに実行させる不正侵入検知プログラムであって、
前記攻撃監視ステップにおいて出力された検知ログから検知項目、検知日時を抽出して前記検知攻撃履歴ファイルに格納し、また対応して使用したシグネチャに記載の検知項目の攻撃検知度数を抽出する検知攻撃履歴情報取得ステップと、
前記検知攻撃履歴情報取得ステップで収集する検知項目の同じ検知ログの検知数を定期的に一定時間取得し、取得した検知ログの出力度数が予め設定した閾値を超えたか否かを監視する検知ログ出力度数監視ステップと、
前記検知ログ出力度数監視ステップにおける監視結果に応じて前記バージョン番号ファイルから現在使用中のシグネチャのバージョン番号を取得するバージョン番号抽出ステップと、
前記検知ログ出力度数監視ステップにおいて検知ログの検知度数が予め設定した閾値を超えた場合に超えた場合には、前記検知項目に基づいて前記検知攻撃履歴ファイルのデータの中から、現在から遡る所定期間内における検知数が所定値より大きい検知項目とその検知数を抽出する検知項目・検知数抽出ステップと、
前記抽出した各検知項目について検知度数をそれぞれ算出し、算出した検知度数に所定の割合で減少を与える係数をそれぞれ乗じて各検知項目の新たな攻撃検知度数を作成する攻撃検知度数作成ステップと、
前記バージョン番号抽出ステップで取得したバージョン番号に該当するシグネチャを前記シグネチャファイルから読み出し、当該シグネチャのバージョン番号を増加させた次のバージョン番号に変更し、かつ前記攻撃検知度数作成ステップで作成した各検知項目の新たな攻撃検知度数に基づいて当該シグネチャに記載の対応する検知項目の攻撃検知度数を変更して前記シグネチャファイルに使用対象シグネチャとして記憶すると同時に、この更新したシグネチャを読み込んで前記攻撃監視ステップの実行を再起動させ、当該更新したシグネチャのバージョン番号を現在使用中の番号として前記バージョン番号ファイルに記憶し、前記更新されたシグネチャの検知項目とバージョン番号をシグネチャ履歴として前記シグネチャ履歴ファイルに格納するシグネチャ更新ステップと、
前記検知攻撃履歴情報取得ステップにおいて得られる現在使用中のシグネチャに記載の各検知項目の攻撃検知度数に基づいて出力可否の閾値を設定し、前記攻撃監視ステップで出力する検知ログを計数し、当該計数値が設定した閾値を超えるごとに該当する検知ログを１つ出力する検知ログ出力可否判定ステップとを有したことを特徴とする不正侵入検知プログラム。
【請求項９】
シグネチャ更新ステップは、バージョン番号抽出ステップで取得したバージョン番号を過去に用いた１つ手前のバージョン番号に変更し、シグネチャ履歴ファイルから前記過去に用いた１つ手前のバージョン番号でかつ最新日付のシグネチャを読み込んで前記攻撃監視ステップの実行を再起動させ、当該起動対象となったシグネチャのバージョン番号を現在使用中の番号として前記バージョン番号ファイルに記憶することを特徴とする請求項８記載の不正侵入検知プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、コンピュータ等への不正アクセスを検知する侵入検知装置（Intrusion Detection System：ＩＤＳ）に係り、特に大量の攻撃検知処理時の負荷制御を可能にする不正侵入検知装置および不正侵入検知プログラムに関するものである。
【背景技術】
【０００２】
周知のように、組織のネットワークを防御するセキュリティ手段の一つとして、ファイアウォールが広く知られている。一方、このファイアウォールと組み合わせて使用され、組織のネットワークに到達する通信パケットの監視、検出を行う不正侵入検知装置（例えば、特許文献１参照）が近年登場してきている。その理由は、従来のファイアウォールの機能が、設定内容に基づき、通信を通過させるか、通信を破棄するかだけしか行わないものである。具体的には、通信における送信元、宛先、リクエストするサービスの種別程度の情報しか検査していない。これに対して、不正侵入検知装置の方は、リクエストの内容までを見て、それが正常な通信か、攻撃なのかの判定を行う機能を持っている。
例えば、今、クラッカーによってポートスキャンが開始されたケースを想定する。ファイアウォールの場合、自己が権限を与えていないユーザのポートへのアクセスは、当然異常イベントとしてログ情報に記録する。しかし、その異常イベントが実際にポートスキャンであるかという判断は、システム管理者によって下されているのである。そのため、システム管理者には、連続したポート番号を使用し拒否されているイベントがあることを検知し、その内容がポートスキャンであることを判断できる能力が要求されると共に、ファイアウォールの設定内容（ルールベース）を更新する作業を常に実行し続けることが求められる。
【０００３】
一方、不正侵入検知装置は、元々シーケンシャルにポート番号を変更してアクセスしてくる通信パケットを検出した場合に、自動的にポートスキャンであると判断する機能を備えている。そのため、ファイアウォールと組み合わせた場合、システム管理者の作業コストを大幅に削減できることになる。すなわち、不正侵入検知装置は、正常な通信であるか、攻撃なのかの判定を自動的に行うことにより、防御のために必要なファイアウォールのルールベースを変更するシステム管理者の作業を大幅に低減することができる。また、不正侵入検知装置では、送受信されている通信パケットの中から異常と思われるものを検知ログとして抽出し、後で照会しやすい形で記録するようにも設計されている。
【０００４】
攻撃と呼ばれる通信は、必ず攻撃を行うためのパターン情報を含んでいるから、不正侵入検知装置では、これらの既知攻撃パターンを記述した検知ロジックを作成しシグネチャと呼ばれるデータに登録しておく。そしてネットワーク上から通信パケットを取得すると、通信パケットごとにシグネチャを用いてマッチングを行い、攻撃通信であるか、通常通信であるかの攻撃判定を行い、攻撃と判定されたパケットに対して検知ログの作成を行って出力する。したがって、単位時間当たりに不正侵入する通信パケットの量が多くなると不正侵入検知装置の処理負荷は高くなるという問題がある。そこで、一般に不正侵入検知装置の導入形態としては、ファイアウォールで大半の攻撃を絞った後、ファイアウォールを通過する通信パケットに対して、不正侵入検知装置による判定・検知を行うようにしている。しかし、次に述べるような大量の不正パケットを送信する攻撃には対応できなくなっていた。
【０００５】
ところで、近時、コンピュータ等への不正アクセスが横行しているが、中でもネットワークを通じた不正アクセス、すなわち攻撃で、相手のコンピュータやルータなどに不正なデータを送信して使用不能に陥らせたり、トラフィックを増大させて相手のネットワークを麻痺させたりするＤＤｏＳ攻撃（Distributed Denial of Service Attack；分散サービス妨害攻撃）と呼ばれるものがある。このＤＤｏＳ攻撃の場合は、第三者のマシンに攻撃プログラムを仕掛けて踏み台にし、その踏み台とした多数のマシンから標的とするマシンに大量のパケットを同時に送信する形態を採る。その結果、このように攻撃元が複数で、標的とされたコンピュータが１つである場合、その標的のコンピュータにかかる防御のための負荷は膨大なものとなる。ＤＤｏＳ攻撃に対しては、現状では、ある程度の対策はできても、少なくとも完全に防ぐ方法はなく、そのためインターネットの根幹に対する脅威となっている。
【０００６】
また、ネットワーク型の不正侵入検知装置の処理性能を評価するためのＳＴＩＣＫと呼ばれる評価プログラムがある。これは、ネットワーク型の不正侵入検知装置のルールセットに定義された「検出されるための情報」を大量に送信して、不正侵入検知装置から偽の警告通知を多数発生させるフリーのソフトウェアツールである。これは、擬似的に多くの攻撃パケットを短時間で大量に生成することが可能であるがゆえに、攻撃者が、攻撃の隠蔽のためにＳＴＩＣＫを用いて偽の警告通知を多数発生させ、ＤＤｏＳ攻撃と同じような状態を作り、不正侵入検知装置の性能をダウンあるいは、無力化させるという問題が起こっている。
上述のようなＤＤｏＳ攻撃に対する対策法は幾つか存在するが、いずれにしても、システム管理者による人手に頼らなければならず、それゆえ見逃されることも度々生じていた。
【０００７】
【特許文献１】特開２００５−２１０６０１号公報（図１）
【発明の開示】
【発明が解決しようとする課題】
【０００８】
以上のように、従来のネットワーク型の不正侵入検知装置によれば、ＤＤｏＳ攻撃を受けてネットワークトラフィックが増加した場合、システム管理者による取りこぼしが起こりやすく、解析処理が追従できないといった問題が発生した。特に、不正侵入検知装置の分析能力をはるかに超える攻撃の場合、攻撃の検知ログの分析処理が飽和してしまい、最悪の場合、不正侵入検知装置自体の機能が停止に追い込まれる事態になるといった問題があった。
【０００９】
この発明は、以上のような問題を解決するためになされたもので、大量の攻撃に対しても攻撃検知処理の飽和を防ぐことを可能にする不正侵入検知装置および不正侵入検知プログラムを得ることを目的とする。
【課題を解決するための手段】
【００１０】
この発明の不正侵入検知装置は、ネットワーク上から取得した通信パケット情報と不正侵入手口のパターンを記述した検知ロジックを登録したシグネチャとのマッチングをとることにより攻撃判定を行い、攻撃と判定した検知ログを作成して出力する攻撃監視手段を備えた不正侵入検知装置において、攻撃監視手段で使用する検知ロジックに記載された各種の検知項目に対してそれぞれ攻撃検知度数が設定されると共に、バージョン番号が付されたシグネチャを１つ格納するシグネチャファイルと、攻撃監視手段の処理負荷に関連するデータ状態を監視し、当該データ状態の変化に応じてシグネチャファイルの現在使用対象となっているシグネチャの選択された検知項目の攻撃検知度数を減増変更すると共に、バージョン番号を新旧変更することにより当該シグネチャの更新を行い、この更新ごとに、更新されたシグネチャの攻撃監視手段への読み込みを再起動し、攻撃監視手段で出力した検知ログを計数し、当該計数値が更新されたシグネチャの検知項目ごとの攻撃検知度数に基づいて設定した閾値を超えるごとに該当する検知ログを１つ出力するよう制御する処理負荷制御手段を備えたものである。
【発明の効果】
【００１１】
この発明によれば、攻撃を目的とする大量の通信パケットを取得して攻撃判定・検知処理を実行した場合でも、攻撃監視手段の攻撃判定・検知処理における処理負荷の異常な上昇を抑えることができ、その結果、ＣＰＵ（Central Processing Unit）負荷の上昇も抑え、装置の停止を防ぐことが可能となる。
【発明を実施するための最良の形態】
【００１２】
実施の形態１．
図１は、この発明の実施の形態１による不正侵入検知装置を含むネットワークシステムの機能構成を示すブロック図である。
不正侵入検知装置１００が接続されたネットワーク４００には、不正マシン４０１、正常マシン４０２、サーバ４０３などが適宜接続されており、ネットワーク４００上には通信パケットが流れている。
不正侵入検知装置１００の構成において、パケットキャプチャ部１０１、攻撃監視部（攻撃判定部１０２、攻撃検知部１０３からなる）１２０、シグネチャ読み込み部１１０、シグネチャファイル１１０ａ、検知ログ出力可否判定部１０５、検知ログ出力部１０６、シグネチャ更新部１０９は、従来の構成に略相当する機能である。特に、攻撃監視部１２０は特許文献１の図１における不正侵入検知装置２００に相当する部分である。また、シグネチャ更新部１０９は、従来はシステム管理者が手動で操作していた部分である。
一方、破線で囲まれた処理負荷制御部１２１は、この発明の目的を達成するための主なる構成部分であり、上記シグネチャ更新部１０９、検知ログ出力可否判定部１０５を含み、検知攻撃情報管理部１０４、検知攻撃履歴ファイル１０４ａ、ＣＰＵ負荷監視部１０７、シグネチャ更新内容作成部１０８、バージョン番号ファイル１０９ａ、シグネチャ履歴ファイル１０９ｂ、バージョン番号抽出部１１２を備えている。
【００１３】
パケットキャプチャ部１０１は、ネットワーク４００上から通信パケットを取得し、関連するパケットをつなげて連続した一つの情報にして、図示しないメモリ領域に格納すると共に、読み出して攻撃監視部１２０へ出力する手段である。攻撃判定部１０２は、パケットキャプチャ部１０１で取得した通信パケット情報とシグネチャとのマッチングをとることにより攻撃判定を行う手段である。攻撃検知部１０３は、攻撃判定の結果、特定の攻撃として識別された通信パケット情報について検知ログを作成し出力する手段である。検知ログ出力可否判定部１０５は、攻撃検知部１０３から出力された検知ログを、後段へ出力すべきか否かを閾値に基づいて判定する手段である。検知ログ出力部１０６は、検知ログ出力可否判定部１０５からの検知ログ、そのアラートを管理部２００側へ出力する手段である。シグネチャファイル１１０ａは、攻撃判定のマッチングの使用対象とするシグネチャを格納する手段である。ここで、シグネチャには、既知の不正侵入手口のパターンを記述した検知ロジックが登録されているが、この検知ロジックには、例えばプロトコルの種類、ポート番号、文字列（例、ＳＱＬ  ＳＬＡＭＭＲ、Ｐｉｎｇ  Ｓｗｅｅｐ）など、対象とする攻撃を検知するための各種の検知項目が含まれている。また、シグネチャには、攻撃名称、各検知項目に対して設定された攻撃検知度数（単位時間当たりの攻撃検知数）、シグネチャのバージョン番号などが記述されている。後述するが、この発明では、選択した検知項目の攻撃検知度数とバージョン番号を変更制御することが特徴の一つとなっている。
【００１４】
シグネチャ読み込み部１１０は、攻撃監視手段１２０で攻撃判定する際にマッチングに用いるシグネチャをシグネチャファイル１１０ａから読み込む手段である。ＣＰＵ負荷監視部１０７は、不正侵入検知装置１００を含む処理のＣＰＵ負荷が所定の閾値を超えたか否かを常時監視する手段である。バージョン番号ファイル１０９ａは、攻撃監視部１２０で現在の攻撃判定に使用しているシグネチャのバージョン番号を格納する手段である。バージョン番号抽出部１１２は、攻撃監視部１２０の監視結果に応じてバージョン番号ファイル１０９ａから現在使用中のシグネチャのバージョン番号を取得する手段である。検知攻撃情報管理部１０４は、攻撃監視部１２０で出力された検知ログに記載された検知項目、検知日時を抽出して検知攻撃履歴ファイル１０４ａに格納し、またマッチングで使用したシグネチャに記載の検知項目の攻撃検知度数を抽出し、他手段からの要求に応じて所定のデータを出力する手段である。シグネチャ更新内容作成部１０８は、ＣＰＵ負荷が所定の閾値を超えた場合に検知攻撃情報管理部１０４から検知数が所定値より大きい検知項目とその検知数を取り寄せて各検知項目の検知度数をそれぞれ算出し、それら検知度数に所定の割合で減少を与える係数をそれぞれ乗じて各検知項目の新たな攻撃検知度数を作成する手段である。シグネチャ更新部１０９は、バージョン番号抽出部１１２で取得したバージョン番号に該当するシグネチャの選択された検知項目の攻撃検知度数を減増変更すると共に、バージョン番号を新旧変更するとともに、更新するシグネチャの検知項目とバージョン番号、日時をシグネチャの履歴としてシグネチャ履歴ファイル１０９ｂに格納し、この更新ごとに、更新されたシグネチャの攻撃監視部１２０への読み込みを再起動する手段である。
【００１５】
まず、従来の構成部分による攻撃判定・検知処理に相当する動作について説明する。
図１において、パケットキャプチャ部１０１は、ネットワーク４００上から通信パケットを取得すると、一つの意味を持つ通信データ（これを、「通信パケット情報」と呼ぶことにする）を再構築して攻撃監視部１２０へ出力する。攻撃判定部１０２では、通信パケット情報を受け取ると、シグネチャ読み込み部１１０を起動してシグネチャファイル１１０ａからシグネチャを読み込み、通信パケット情報とシグネチャとでマッチングを行い、当該通信パケット情報が不正侵入のデータであるかの攻撃判定処理を行う。具体的には、ＩＰヘッダ部の解析、ＩＰのデフラグメンテーション、プロトコル毎のヘッダ部の解析、ＴＣＰ通信であればセッション管理などの処理を実行した後、シグネチャに含まれる検知項目合致するデータがあるかのマッチングを行い、合致するものがあれば異常あるいは攻撃通信と判定する。
【００１６】
次に、攻撃検知部１０３では、攻撃判定部１０２で攻撃と判定された通信パケット情報に対して、シグネチャに記載された検知ロジックに従って攻撃検知処理を実行する。具体的には、攻撃判定部１０２で行った解析データに対して、シグネチャに記載された検知ロジック、例えば「プロトコルがＴＣＰで、ポートが８０で、データ部に＊＊＊が含まれているものはＷＥＢにおける＊＊＊攻撃」というような既知の攻撃パターンに応じて調べ、マッチングで使用したシグネチャで指定している各種検知項目を検出する。この場合の検知項目の検出方法としては、シグネチャで設定している各検知項目の攻撃検知度数に従って行う。例えば或る検知項目について、１０秒に１回検知したならば検知ログを出力するとか、あるいは１０秒で１０回検知したならば初めて検知ログを出力するというようにする。この場合に出力される検知ログの内容としては、攻撃名称、アラート、送信元ＩＰアドレス、検知項目、検知日時などを含む。
従来の検知ログ出力可否判定部１０５の場合は、攻撃検知部１０３から出力された検知ログを計数し、当該計数値が予め設定された、あるいは手動で変更可能に設定された閾値を超えるごとに該当する検知ログを１つ出力する。検知ログ出力部１０６では、検知ログ出力可否判定部１０５から検知ログが出力された場合にその検知ログからアラートを抽出し、検知ログと共にデータを管理部２００へ出力する。
【００１７】
次に、この発明に係る処理負荷制御部１２１によるシグネチャ更新処理について、図２のフローに従って説明する。
ここで、最初、シグネチャファイル１１０ａに格納されている使用対象とするシグネチャには初期バージョン番号（デフォルト値、例えば「０」）が記述されているものとする。バージョン番号ファイル１０９ａには、上記使用対象とするシグネチャの初期バージョン番号が格納されているものとする。シグネチャ読み込み部１１０は、最初の攻撃判定処理の起動時には、上記使用対象とするシグネチャを攻撃監視部１２０へ読み込むものとする。
また、攻撃監視部１２０が攻撃判定・検知処理を行っている状態において、検知攻撃情報管理部１０４では、攻撃監視部１２０が随時出力する検知ログから検知項目、検知日時を抽出して検知攻撃履歴ファイル１０４ａに格納していき、また対応して使用したシグネチャに記載の検知項目の攻撃検知度数を抽出して検知ログ出力可否判定部１０５に出力しているものとする。
【００１８】
ＣＰＵ負荷監視部１０７では、不正侵入検知装置１００を含む動作を制御しているＣＰＵ負荷の状態（攻撃監視部１２０の処理負荷に関連するデータ状態）を常時監視する（ステップＳＴ１）。ここで、このＣＰＵ負荷は今、ＣＰＵ負荷が或る一定時間に亘って所定の閾値（例えば９０％）を連続して超えたことを検出した場合、すなわち負荷が異常となる可能性が高い状態になった場合（ステップＳＴ２）、ＣＰＵ負荷監視部１０７は、その負荷検出情報をバージョン番号抽出部１１２へ出力する。バージョン番号抽出部１１２では、検出情報を受けると、バージョン番号ファイル１０９ａから現在使用中のシグネチャのバージョン番号を読み込んで、負荷検出情報と共にシグネチャ更新内容作成部１０８へ渡す（ステップＳＴ３）。シグネチャ更新内容作成部１０８では、受け取った負荷検出情報がＣＰＵ負荷上昇を示している場合、検知攻撃情報管理部１０４に対してシグネチャ更新内容の作成に用いる所定のデータを要求する。この要求に応じて検知攻撃情報管理部１０４では、現在から遡る所定期間内における検知数が所定値より大きい複数の検知項目とその検知数を抽出してシグネチャ更新内容作成部１０８へ渡す。シグネチャ更新内容作成部１０８は、取得した複数の検知項目の検知数から検知度数をそれぞれ算出し、算出した検知度数に所定の割合で減少を与える係数（例えば、一律１／２）をそれぞれ乗じて各検知項目の新たな攻撃検知度数を作成し、バージョン番号抽出部１１２から与えられた負荷検出情報、攻撃名称、初期バージョン番号と共にシグネチャ更新部１０９に渡す（ステップＳＴ６）。
【００１９】
シグネチャ更新部１０９では、受け取った負荷検出情報がＣＰＵ負荷上昇を示している場合、初期バージョン番号に該当するシグネチャをシグネチャファイル１１０ａから読み出し、当該シグネチャの初期バージョン番号を＋１にした新バージョン番号に変更し、かつシグネチャ更新内容作成部１０８で作成した各検知項目の新たな攻撃検知度数に基づいて当該シグネチャに記載の対応する検知項目の攻撃検知度数を変更して、使用対象とするシグネチャとしてシグネチャファイル１１０ａに記憶すると共に、更新したシグネチャを攻撃監視部１２０に読み込むようシグネチャ読み込み部１１０を再起動させる。また、このとき変更したシグネチャの新バージョン番号を、現在使用中のシグネチャのバージョン番号としてバージョン番号ファイル１０９ａに記録する（ステップＳＴ８）。
【００２０】
以上のシグネチャ更新処理の結果、攻撃監視部１２０が新バージョン番号を持つシグネチャを用いてマッチングを行い、攻撃と判定した検知ロジックを作成して出力することになる。この場合、攻撃検知部１０３において行う各種検知項目の検出処理は、シグネチャで設定された検知項目の攻撃検知度数に依存するので、したがって、これら攻撃検知度数が初期バージョン番号のものよりも低減するので、処理負荷も低減することになる。この一連のシグネチャ更新処理はＣＰＵ負荷が閾値以下の安全な状態に落ち着くまで、バージョン番号が増える方向に繰り返される。
また、ステップＳＴ８において、シグネチャ更新部１０９では、上記のようにシグネチャを更新した場合、その更新シグネチャの検知項目とバージョン番号、日時をシグネチャ履歴として前記シグネチャ履歴ファイル１０９ｂに格納する。これは、攻撃検知の頻度解析の際、更新時刻の攻撃検知度数を把握しておく必要があるためである。
【００２１】
一方、上述の場合とは逆に、ＣＰＵ負荷監視部１０７が、ＣＰＵ負荷が一定時間閾値より低くなったことを検出した場合（ステップＳＴ２）、ＣＰＵ負荷監視部１０７は、その負荷検出情報をバージョン番号抽出部１１２へ出力する。バージョン番号抽出部１１２では、検出情報を受けると、バージョン番号ファイル１０９ａから現在使用中のシグネチャのバージョン番号を読み込んで、負荷検出情報と共にシグネチャ更新内容作成部１０８へ渡す（ステップＳＴ４）。シグネチャ更新内容作成部１０８では、受け取った負荷検出情報がＣＰＵ負荷低下を示している場合、入手したバージョン番号が初期値であるか否かを調べる（ステップＳＴ５）。初期値でない場合には、そのバージョン番号を負荷検出情報と共にシグネチャ更新部１０９に渡す（ステップＳＴ７）。シグネチャ更新部１０９では、負荷検出情報がＣＰＵ負荷低下を示している場合、シグネチャ更新内容作成部１０８から受け取ったバージョン番号を−１にして次に使用対象とするシグネチャのバージョン番号とし、この減らしたバージョン番号に対応するシグネチャを、シグネチャ履歴ファイル１０９ｂから最新日付の内容のシグネチャに変更し、かつ更新したシグネチャを攻撃監視部１２０に読み込むようシグネチャ読み込み部１１０を再起動させる。また、このときシグネチャ更新部１０９では、減らしたバージョン番号を現在使用中のシグネチャのバージョン番号としてバージョン番号ファイル１０９ａに記録する（ステップＳＴ８）。すなわち、この更新データは１世代前の更新内容、言い換えれば１世代前に検知項目の攻撃検知度数が設定されたシグネチャとなる。
したがって、シグネチャで設定された検知項目の攻撃検知度数が現在のバージョン番号のものよりも増加するので、攻撃検知部１０３における処理負荷も増加することになる。この場合のシグネチャの更新処理は、現在使用対象とするシグネチャが初期バージョン番号となるまで繰り返される。その後の処理負荷制御部１２１の動作は、ＣＰＵ負荷監視部１０７でＣＰＵ負荷が閾値を超える場合は再び攻撃検知度数を下げていく動作に移る。
【００２２】
以上、一連のシグネチャ更新処理を自動的に行い、装置全体の負荷状況に応じた攻撃判定・検知処理の統制・制御を実行することについて述べた。しかし、この場合、攻撃判定・検知処理により攻撃監視部１２０から出力する検知ログの出力度数は変化する。そのため、検知ログ出力可否判定部１０５で用いている閾値が従来のように一定だと検知ログ出力部１０６に出力する検知ログの出力度数も変化することになる。そこで、検知ログ出力可否判定部１０５の閾値を調整して、検知ログの出力度数を安定にする、検知ログの出力処理の統制が必要となる。
【００２３】
この発明の検知ログ出力可否判定部１０５では、検知攻撃情報管理部１０４で常時取得する現在使用中のシグネチャに記載の各検知項目の攻撃検知度数に基づいて出力可否の閾値を自動的に設定変更するようにする。例えば、各検知項目の攻撃検知度数の平均値をとり、その値を閾値とする。このことにより、出力可否の閾値は、検知ログの出力度数が増加した場合には高くし、逆に検知ログの出力度数が減少した場合には低く設定することができる。すなわち、検知ログ出力可否判定部１０５は、攻撃監視部１２０が出力する検知ログの出力数を計数して出力度数を算出し、当該出力度数がこの閾値を超えるごとに該当する検知ログを１つ出力することになり、検知ログ出力部１０６に与える検知ログの出力頻度を安定化させることができる。
【００２４】
以上説明してきた不正侵入検知装置１００による処理は、プログラムによりコンピュータで実行させることができるものである。その場合のプログラムは、ネットワーク上から取得した通信パケット情報とシグネチャファイル１１０ａから読み込んだ現在使用対象のシグネチャとのマッチングをとることにより攻撃判定を行い、攻撃と判定した検知ログを作成して出力する攻撃監視ステップと、この攻撃監視ステップにおいて出力された検知ログから検知項目、検知日時を抽出して検知攻撃履歴ファイル１０４ａに格納し、また対応して使用したシグネチャに記載の検知項目の攻撃検知度数を抽出する検知攻撃履歴情報取得ステップと、コンピュータの動作制御を行うＣＰＵ負荷が所定の閾値を超えたか否かを常時監視する負荷監視ステップと、この負荷監視ステップにおける監視結果に応じてバージョン番号ファイル１０９ａから現在使用中のシグネチャのバージョン番号を取得するバージョン番号抽出ステップと、ＣＰＵ負荷が所定の閾値を超えた場合に検知攻撃履歴ファイル１０４ａのデータの中から、現在から遡る所定期間内における検知数が所定値より大きい検知項目とその検知数を抽出する検知項目・検知数抽出ステップと、抽出した各検知項目について検知度数をそれぞれ算出し、算出した検知度数に所定の割合で減少を与える係数をそれぞれ乗じて各検知項目の新たな攻撃検知度数を作成する攻撃検知度数作成ステップと、バージョン番号抽出ステップで取得したバージョン番号に該当するシグネチャをシグネチャファイル１１０ａから読み出し、当該シグネチャのバージョン番号を増加させた次のバージョン番号に変更し、かつ攻撃検知度数作成ステップで作成した各検知項目の新たな攻撃検知度数に基づいて当該シグネチャに記載の対応する検知項目の攻撃検知度数を変更してシグネチャファイル１１０ａに使用対象シグネチャとして記憶すると同時に、この更新したシグネチャを読み込んで攻撃監視ステップの実行を再起動させ、当該更新したシグネチャのバージョン番号を現在使用中の番号としてバージョン番号ファイル１０９ａに記憶するとともに、更新するシグネチャの検知項目とバージョン番号、日時をシグネチャ履歴としてシグネチャ履歴ファイル１０９ｂに格納するシグネチャ更新ステップと、検知攻撃履歴情報取得ステップにおいて得られる現在使用中のシグネチャに記載の各検知項目の攻撃検知度数に基づいて出力可否の閾値を設定し、攻撃監視ステップで出力する検知ログを計数し、当該計数値がこの閾値を超えるごとに該当する検知ログを１つ出力する検知ログ出力可否判定ステップとを有している。
【００２５】
また、このプログラムのシグネチャ更新ステップは、負荷監視ステップでＣＰＵ負荷が閾値以下となった場合には、バージョン番号抽出ステップで取得したバージョン番号を過去に用いた１つ手前のバージョン番号に変更し、シグネチャ履歴ファイル１０９ｂから当該過去に用いた１つ手前のバージョン番号でかつ最新日付のシグネチャを読み込んで攻撃監視ステップの実行を再起動させ、当該起動対象となったシグネチャのバージョン番号を現在使用中の番号としてバージョン番号ファイル１０９ａに記憶する処理を行う。
【００２６】
以上のように、この実施の形態１によれば、攻撃判定・検知処理を含む動作制御を行うＣＰＵ負荷の状態に応じて、攻撃判定・検知処理のマッチングに使用するシグネチャに記載の検知項目の攻撃検知度数の設定を変更調整するシグネチャ更新処理を行うようにしたので、攻撃を目的とする大量の通信パケットを取得して攻撃判定・検知処理を実行した場合でも、その処理負荷の異常な上昇を抑えることができ、その結果、ＣＰＵ負荷の上昇も抑えて装置の停止を防ぐことが可能となる。また、このシグネチャ更新処理により変更されたシグネチャに記載の検知項目の攻撃検知度数に基づいて、検知ログ出力可否判定処理で用いる閾値を変更調整するようにしたので、攻撃判定・検知処理によって後段に出力する検知ログの出力頻度を安定させることが可能となる。
【００２７】
実施の形態２．
図３はこの発明の実施の形態２による不正侵入検知装置を含むネットワークシステムの機能構成を示すブロック図である。図において、図１に相当する部分には同一符号を付し、原則としてその説明は省略する。図３の構成は、図１のＣＰＵ負荷監視部１０７が無く、また、シグネチャ更新内容作成部１０８の代わりに検知ログ出力監視・更新内容作成部１１１を設けた点が異なる。実施の形態１ではＣＰＵ負荷の状態を常時監視していたのに対し、実施の形態２では、検知ログの出力度数（攻撃監視部１２０の処理負荷に関連するデータ状態）を定期的に監視するようにした点に特徴がある。そのため、検知ログ出力監視・更新内容作成部１１１は、実施の形態１の図１に示すシグネチャ更新内容作成部１０８が行う処理に加え、攻撃監視部１２０における処理負荷を監視する機能を併せ持っている。
【００２８】
次に、実施の形態２におけるシグネチャ更新処理について、図４に示す動作フローに従って説明する。
図３において、検知ログ出力監視・更新内容作成部１１１は、攻撃監視部１２０から検知攻撃情報管理部１０４に出力される検知項目の同じ検知ログを定期的に一定時間取得して出力度数を算出し、その出力度数をシグネチャ項目毎の検知ログを定期的に検知攻撃情報管理部１０４から取得して監視している（ステップＳＴ１１）。このため、検知ログ出力監視・更新内容作成部１１１では、同じ検知項目の検知ログの出力度数に関する閾値（例えば、一定時間に２０回）が予め設定されている。一定時間に取得した検知ログの出力度数がこの閾値を超えた場合（ステップＳＴ１２）、検知ログ出力監視・更新内容作成部１１１は、バージョン番号抽出部１１２に対しバージョン番号ファイル１０９ａに格納された現在使用中のシグネチャのバージョン番号を要求し、そのバージョン番号を取得する。次に検知ログ出力監視・更新内容作成部１１１では、検知攻撃情報管理部１０４に対してシグネチャ更新内容の作成に用いる所定のデータを要求する。この要求に応じて検知攻撃情報管理部１０４では、現在から遡る所定期間内における検知数が所定値より大きい複数の検知項目とその検知数を抽出して検知ログ出力監視・更新内容作成部１１１へ渡す。検知ログ出力監視・更新内容作成部１１１は、取得した複数の検知項目の検知数から検知度数をそれぞれ算出し、算出した検知度数に所定の割合で減少を与える係数（例えば、一律１／２）をそれぞれ乗じて各検知項目の新たな攻撃検知度数を作成し、バージョン番号抽出部１１２から与えられた初期バージョン番号、出力度数の検出情報と共にシグネチャ更新部１０９に渡す（ステップＳＴ１３）。
【００２９】
シグネチャ更新部１０９では、受け取った出力度数の検出情報が処理負荷上昇を示している場合、初期バージョン番号に該当するシグネチャをシグネチャファイル１１０ａから読み出し、当該シグネチャの初期バージョン番号を＋１にした新バージョン番号に変更し、かつ検知ログ出力監視・更新内容作成部１１１で作成した各検知項目の新たな攻撃検知度数に基づいて当該シグネチャに記載の対応する検知項目の攻撃検知度数を変更して、使用対象とするシグネチャとしてシグネチャファイル１１０ａに記憶すると共に、更新したシグネチャを攻撃監視部１２０に読み込むようシグネチャ読み込み部１１０を再起動させる（ステップＳＴ１６）。また、このとき変更したシグネチャの新バージョン番号を、現在使用中のシグネチャのバージョン番号としてバージョン番号ファイル１０９ａに記録する。
また、シグネチャ更新部１０９では、上記のようにシグネチャを更新した場合、その更新シグネチャの検知項目とバージョン番号、日時をシグネチャ履歴としてシグネチャ履歴ファイル１０９ｂに格納する。
【００３０】
一方、上述の場合とは逆に、一定時間に取得した検知ログの出力度数が閾値より低くなった場合（ステップＳＴ１２）、検知ログ出力監視・更新内容作成部１１１は、上記と同様にして、バージョン番号抽出部１１２を介してバージョン番号ファイル１０９ａから現在使用中のシグネチャのバージョン番号を取得し（ステップＳＴ１４）、取得したバージョン番号が初期値であるか否かを調べる（ステップＳＴ１５）。初期値でない場合には、そのバージョン番号を出力度数の検出情報と共にシグネチャ更新部１０９に渡す（ステップＳＴ１５）。シグネチャ更新部１０９では、出力度数の検出情報が処理負荷低下を示している場合、検知ログ出力監視・更新内容作成部１１１から受け取ったバージョン番号を−１にして次に使用対象とするシグネチャのバージョン番号とし、この減らしたバージョン番号に対応するシグネチャを、シグネチャ履歴ファイル１０９ｂから最新日付の内容のシグネチャに変更し、かつ更新したシグネチャを攻撃監視部１２０に読み込むようシグネチャ読み込み部１１０を再起動させる。また、このときシグネチャ更新部１０９では、減らしたバージョン番号を現在使用中のシグネチャのバージョン番号としてバージョン番号ファイル１０９ａに記録する（ステップＳＴ１６）。すなわち、この更新データは１世代前に検知項目の攻撃検知度数が設定されたシグネチャとなる。
その後、検知ログ出力可否判定部１０５による検知ログの出力処理の制御は、実施の形態１と同様にして行われる。
【００３１】
なお、以上説明したこの実施の形態２の処理をコンピュータで行わせるプログラムは、ネットワーク上から取得した通信パケット情報とシグネチャファイル１１０ａから読み込んだ現在使用対象のシグネチャとのマッチングをとることにより攻撃判定を行い、攻撃と判定した検知ログを作成して出力する攻撃監視ステップと、この攻撃監視ステップにおいて出力された検知ログから検知項目、検知日時を抽出して検知攻撃履歴ファイル１０４ａに格納し、また対応して使用したシグネチャに記載の検知項目の攻撃検知度数を抽出する検知攻撃履歴情報取得ステップと、この検知攻撃履歴情報取得ステップで収集する同じ検知ログの出力数を定期的に一定時間取得し、取得した検知ログの出力度数が予め設定した閾値を超えたか否かを監視する検知ログ出力度数監視ステップと、この検知ログ出力度数監視ステップにおける監視結果に応じてバージョン番号ファイル１０９ａから検知項目が同じ現在使用中のシグネチャのバージョン番号を取得するバージョン番号抽出ステップと、検知ログ出力度数監視ステップにおいて検知ログの出力度数が予め設定した閾値を超えた場合に超えた場合には検知攻撃履歴ファイル１０４ａのデータの中から、現在から遡る所定期間内における検知数が所定値より大きい検知項目とその検知数を抽出する検知項目・検知数抽出ステップと、抽出した各検知項目について検知度数をそれぞれ算出し、算出した検知度数に所定の割合で減少を与える係数をそれぞれ乗じて各検知項目の新たな攻撃検知度数を作成する攻撃検知度数作成ステップと、バージョン番号抽出ステップで取得したバージョン番号に該当するシグネチャをシグネチャファイル１１０ａから読み出し、当該シグネチャのバージョン番号を増加させた次のバージョン番号に変更し、かつ攻撃検知度数作成ステップで作成した各検知項目の新たな攻撃検知度数に基づいて当該シグネチャに記載の対応する検知項目の攻撃検知度数を変更してシグネチャファイル１１０ａに使用対象シグネチャとして記憶すると同時に、この更新したシグネチャを読み込んで前記攻撃監視ステップの実行を再起動させ、当該更新したシグネチャのバージョン番号を現在使用中の番号としてバージョン番号ファイル１０９ａに記憶するとともに、更新するシグネチャの検知項目とバージョン番号、日時をシグネチャ履歴としてシグネチャ履歴ファイル１０９ｂに格納するシグネチャ更新ステップと、検知攻撃履歴情報取得ステップにおいて得られる現在使用中のシグネチャに記載の各検知項目の攻撃検知度数に基づいて出力可否の閾値を設定し、攻撃監視ステップで出力する検知ログを計数し、当該計数値が設定した閾値を超えるごとに該当する検知ログを１つ出力する検知ログ出力可否判定ステップとを有している。
【００３２】
また、このプログラムのシグネチャ更新ステップは、出力度数の検出情報が処理負荷低下を示している場合、バージョン番号抽出ステップで取得したバージョン番号を過去に用いた１つ手前のバージョン番号に変更し、シグネチャ履歴ファイル１０９ｂから当該過去に用いた１つ手前のバージョン番号でかつ最新日付のシグネチャを読み込んで攻撃監視ステップの実行を再起動させ、当該起動対象となったシグネチャのバージョン番号を現在使用中の番号としてバージョン番号ファイル１０９ａに記憶する処理を行う。
【００３３】
以上のように、この実施の形態２によれば、攻撃判定・検知処理で出力される検知ログの出力度数の状態に応じて、マッチングに使用するシグネチャに記載の検知項目の攻撃検知度数の設定を変更調整するシグネチャ更新処理を行うようにしたので、実施の形態１と同様に、攻撃を目的とする大量の通信パケットを取得して攻撃判定・検知処理を実行した場合でも、その処理負荷の異常な上昇を抑えることができ、その結果、ＣＰＵ負荷の上昇も抑えて装置の停止を防ぐことが可能となる。また、このシグネチャ更新処理により変更されたシグネチャに記載の検知項目の攻撃検知度数に基づいて、検知ログ出力可否判定処理で用いる閾値を変更調整するようにしたので、攻撃判定・検知処理によって後段に出力する検知ログの出力頻度を安定させることが可能となる。なお、この実施の形態２の場合は、検知ログの出力度数を監視するので、ＣＰＵ負荷を監視する実施の形態１よりも構成上有利となる。
【図面の簡単な説明】
【００３４】
【図１】この発明の実施の形態１による不正侵入検知装置を含むネットワークシステムの機能構成を示すブロック図である。
【図２】この発明の実施の形態１に係る処理負荷制御部のシグネチャ更新処理を説明するフローチャートである。
【図３】この発明の実施の形態２による不正侵入検知装置を含むネットワークシステムの機能構成を示すブロック図である。
【図４】この発明の実施の形態２に係る処理負荷制御部のシグネチャ更新処理を説明するフローチャートである。
【符号の説明】
【００３５】
１００  不正侵入検知装置、１０１  パケットキャプチャ部、１０２  攻撃判定部、１０３  攻撃検知部、１０４  検知攻撃情報管理部、１０４ａ  検知攻撃履歴ファイル、１０５  検知ログ出力可否判定部、１０６  検知ログ出力部、１０７  ＣＰＵ負荷監視部、１０８  シグネチャ更新内容作成部、１０９  シグネチャ更新部、１０９ａ  バージョン番号ファイル、１０９ｂ  シグネチャ履歴ファイル、１１０  シグネチャ読み込み部、１１０ａ  シグネチャファイル、１１１  検知ログ出力監視・更新内容作成部、１１２  バージョン番号抽出部、１２０  攻撃監視部、１２１  処理負荷制御部。
【図１】
2008098766.tif 000003
【図２】
2008098766.tif 000004
【図３】
2008098766.tif 000005
【図４】
2008098766.tif 000006