(57)【要約】【課題】類似の特徴を有する攻撃ノードをグループ化してノード群として扱い、そのノード群ごとに対策を実施する技術を提供する。【解決手段】攻撃ノード群判定装置１２は、取得したイベントログから抽出したイベントログ基本パラメータと、そのイベントログ基本パラメータに係る属性情報とを取得する（Ｓ１０５〜Ｓ１０９）。そして、取得した属性情報とイベントログ基本パラメータとの一部または全部を次元とする空間に対して、クラスタリングを実行し、クラスタを算出し、そのクラスタ情報とその対処方法とをＦＷ（ルータ）１１に送信する（Ｓ１１０〜Ｓ１１３）。ＦＷ（ルータ）１１は、新たに攻撃ノード群６０から攻撃パケットを検知したときに、該パケットを含むクラスタを特定し、特定したクラスタ全体に対して、それに対応する対処方法を実行する（Ｓ１１５）。【選択図】図１３
2010050939.tif 000002
【特許請求の範囲】
【請求項１】
パケットが通過または到着したときに作成されるイベントログを出力する情報処理装置と通信可能に接続され、
前記情報処理装置から取得されるイベントログから抽出した基本項目情報と、該基本項目情報に基づき新たに付与する属性情報とをイベントとして格納するイベント情報の記憶部と、
前記基本項目情報と前記属性情報との各項目にそれぞれ割り当てる距離関数と、前記イベント情報から特定のイベントを抽出するフィルタと、前記イベント同士の特徴が類似する度合いを算出する評価式と、前記フィルタ条件および前記評価式に関連付けられた閾値とを格納するポリシ情報の記憶部と、
前記記憶部のポリシ情報を参照して、前記記憶部から読み出したイベント情報に所定期間内に記録されたまたは所定件数記録されたイベントに前記フィルタを適用して抽出したイベントの項目に対して、その項目に対応する前記距離関数に基づくクラスタリング処理を実行して、類似の特徴を有するクラスタを作成し、前記クラスタに対して特徴が類似する度合いを該クラスタの評価値として算出し、前記クラスタの評価値が前記閾値を超えている場合に、該クラスタは類似の特徴を有するクラスタであると判定する演算装置と、
を備えることを特徴とする攻撃ノード群判定装置。
【請求項２】
パケットが通過または到着したときに作成されるイベントログを用いた攻撃ノード群判定装置であって、
演算部と記憶部とを備え、
前記記憶部は、取得したイベントログの中から特定のイベントを抽出するフィルタ情報と、前記フィルタ情報に関連付けられた閾値と、抽出された前記特定のイベントを有するパケットの対処方法と、を記憶し、
前記演算部は、
所定の期間に取得または所定数取得されたイベントログを前記フィルタ情報を用いたフィルタに透過させてクラスタリング対象となるイベントを抽出し、前記抽出したイベントに記載されている基本項目情報を抽出し、前記基本項目情報の内の一つであるＩＰアドレスを用いて、該ＩＰアドレスに係るノードの情報を第１の属性情報として取得し、前記ＩＰアドレスを所定に分解して第２の属性情報として算出し、
前記基本項目情報、前記第１の属性情報、および前記第２の属性情報の項目の一部または全部を次元とする空間に対してクラスタリングを実行し、類似の特徴を有するクラスタを算出し、
前記クラスタ内の前記イベント同士の特徴が類似する度合いをクラスタの評価値として算出し、
前記クラスタの評価値を前記フィルタ情報に関連付けられた閾値と比較することによって、類似の特徴を有するクラスタとみなせるか否かを判定し、
前記特定のイベントを有するパケットを検知したときに、前記類似の特徴を有するとみなせるクラスタに係る情報を参照して、該パケットがどのクラスタに含まれるかを特定し、
前記特定のイベントを有するパケットが含まれると特定されたクラスタに対応するパケットに対して前記対処方法を適用すること、
を特徴とする攻撃ノード群判定装置。
【請求項３】
前記記憶部は、さらに、不正アクセスに対応する対処方法を記憶し、
前記演算部は、さらに、
前記不正アクセスに係るパケットを検知したときに、前記類似の特徴を有するとみなせるクラスタに係る情報を参照して、該パケットがどのクラスタに含まれるかを特定し、
前記不正アクセスに係るパケットが含まれると特定されたクラスタに対応するパケットに対して前記対処方法を適用すること、
を特徴とする請求項２に記載の攻撃ノード群判定装置。
【請求項４】
前記演算部は、
前記第１の属性情報の取得において、該ノードに係る情報を取得可能な検査パケットを該ノードに送信することによって行うこと、
を特徴とする請求項２または請求項３に記載の攻撃ノード群判定装置。
【請求項５】
前記演算部は、
前記基本項目情報、前記第１の属性情報、および前記第２の属性情報の項目を次元とする空間に対して、前記項目ごとに定められた前記イベントの２点間の距離に重み付けをして、クラスタリングを実行すること、
を特徴とする請求項２ないし請求項４のいずれか一項に記載の攻撃ノード群判定装置。
【請求項６】
前記クラスタの評価値は、
前記算出されたクラスタに含まれるイベントの割合、イベントの個数、クラスタに含まれるイベントの分散値、およびクラスタの重心とクラスタに含まれるイベントとの距離の平均のいずれか１つまたはそれらの組み合わせによって算出されること、
を特徴とする請求項２ないし請求項５のいずれか一項に記載の攻撃ノード群判定装置。
【請求項７】
前記対処方法は、警報通知、通信帯域制限、通信遮断のいずれかであること、
を特徴とする請求項２ないし請求項６のいずれか一項に記載の攻撃ノード群判定装置。
【請求項８】
パケットが通過または到着したときに作成されるイベントログを出力可能とし、不正アクセスに対して対処方法を実行する情報処理装置と通信可能に接続される攻撃ノード群判定装置であって、
演算部と記憶部とを備え、
前記記憶部は、取得したイベントログの中から特定のイベントを抽出するフィルタ情報と、前記フィルタ情報に関連付けられた閾値と、前記不正アクセスに対応する対処方法とを記憶し、
前記演算部は、
所定の期間に取得したイベントログを前記フィルタに透過させてクラスタリング対象となるイベントを抽出し、前記抽出したイベントに記載されている基本項目情報を抽出し、前記基本項目情報の内の一つであるＩＰアドレスを用いて、該ＩＰアドレスに係るノードの情報を第１の属性情報として取得し、前記ＩＰアドレスをオクテットに分解して第２の属性情報として算出し、
前記基本項目情報、前記第１の属性情報、および前記第２の属性情報の項目の一部または全部を次元とする空間に対してクラスタリングを実行し、類似の特徴を有するクラスタを算出し、
前記クラスタ内の前記イベント同士の特徴が類似する度合いをクラスタの評価値として算出し、
前記クラスタの評価値を前記フィルタ情報に対応する閾値と比較することによって、類似の特徴を有するクラスタとみなせるか否かを判定し、
前記類似の特徴を有するとみなせるクラスタに係る情報と、該クラスタに対応する前記不正アクセスに対応する対処方法とを、前記情報処理装置に送信すること、
を特徴とする攻撃ノード群判定装置。
【請求項９】
前記情報処理装置に送信される前記類似の特徴を有するとみなせるクラスタに係る情報は、前記フィルタ情報、前記クラスタリングを実行したときに用いた前記基本項目情報、前記第１の属性情報、および前記第２の属性情報であること、
を特徴とする請求項８に記載の攻撃ノード群判定装置。
【請求項１０】
請求項８または請求項９に記載の攻撃ノード群判定装置と通信可能に接続される情報処理装置であって、
演算部と記憶部とを備え、
前記情報処理装置の記憶部は、
受信した前記類似の特徴を有するとみなせるクラスタに含まれる前記基本項目情報、前記第１の属性情報、および前記第２の属性情報と、該クラスタに対応するパケットの対処方法とを前記記憶部に記憶しており、
前記情報処理装置の演算部は、
不正アクセスに係るパケットを検知したときに、その不正アクセス元および不正アクセス先のノードに検査パケットを送信して、そのノードの前記第１の属性情報を取得し、該パケットの基本項目情報と第１の属性情報と第２の属性情報とを、当該情報処理装置の記憶部に記憶した前記基本項目情報、前記第１の属性情報、および前記第２の属性情報と比較して、どのクラスタに含まれるか否かを判定し、
該当するクラスタを特定した場合、該クラスタに対応するパケットに対して前記対処方法を適用すること、
を特徴とする情報処理装置。
【請求項１１】
請求項８または請求項９に記載の攻撃ノード群判定装置と通信可能に接続される情報処理装置であって、
演算部と記憶部とを備え、
前記情報処理装置の記憶部は、
受信した前記類似の特徴を有するとみなせるクラスタに含まれる前記基本項目情報、前記第１の属性情報、および前記第２の属性情報と、該クラスタに対応するパケットの対処方法とを前記記憶部に記憶しており、
前記情報処理装置の演算部は、
不正アクセスに係るパケットを検知したときに、その不正アクセス元および不正アクセス先のノードに検査パケットを送信して、そのノードの前記第１の属性情報を取得し、該パケットの基本項目情報と第１の属性情報と第２の属性情報とを、当該情報処理装置の記憶部に記憶した前記基本項目情報、前記第１の属性情報、および前記第２の属性情報と比較して、どのクラスタに含まれるか否かを判定し、
該当するクラスタを特定した場合、該クラスタに含まれるＩＰアドレスに対応するパケットに対して前記対処方法を適用すること、
を特徴とする情報処理装置。
【請求項１２】
パケットが通過または到着したときに作成されるイベントログを作成し、不正アクセスに対して対処方法を実行する攻撃ノード群判定装置において用いられる攻撃ノード群判定方法であって、
前記攻撃ノード群判定装置は、演算部と記憶部とを備え、
前記記憶部は、取得したイベントログの中から特定のイベントを抽出するフィルタ情報と、前記フィルタ情報に関連付けられた閾値と、前記不正アクセスに対応する対処方法とを記憶し、
前記演算部は、
所定の期間に取得または所定数取得されたイベントログを前記フィルタ情報を用いたフィルタに透過させてクラスタリング対象となるイベントを抽出し、前記抽出したイベントに記載されている基本項目情報を抽出し、前記基本項目情報の内の一つであるＩＰアドレスを用いて、該ＩＰアドレスに係るノードの情報を該ノードに係る情報を取得可能な検査パケットを該ノードに送信することによって第１の属性情報として取得し、前記ＩＰアドレスを所定に分解して第２の属性情報として算出し、
前記基本項目情報、前記第１の属性情報、および前記第２の属性情報の項目の一部または全部の項目を次元とする空間に対して、前記項目ごとに定められた前記イベントの２点間の距離に重み付けをして、クラスタリングを実行し、類似の特徴を有するクラスタを算出し、
前記クラスタ内の前記イベント同士の特徴が類似する度合いをクラスタの評価値として算出し、
前記クラスタの評価値を前記フィルタ情報に関連付けられた閾値と比較することによって、類似の特徴を有するクラスタとみなせるか否かを判定し、
不正アクセスに係るパケットを検知したときに、前記類似の特徴を有するとみなせるクラスタに係る情報を参照して、該パケットがどのクラスタに含まれるかを特定し、
該特定されたクラスタに対応するパケットに対して前記対処方法を適用すること、
を特徴とする攻撃ノード群判定方法。
【請求項１３】
前記クラスタの評価値は、
前記算出されたクラスタに含まれるイベントの割合、イベントの個数、クラスタに含まれるイベントの分散値、およびクラスタの重心とクラスタに含まれるイベントとの距離の平均のいずれか１つまたはそれらの組み合わせによって算出されること、
を特徴とする請求項１２に記載の攻撃ノード群判定方法。
【請求項１４】
前記対処方法は、警報通知、通信帯域制限、通信遮断のいずれかであること、
を特徴とする請求項１２または請求項１３に記載の攻撃ノード群判定装置。
【請求項１５】
パケットが通過または到着したときに作成されるイベントログを出力可能とし、不正アクセスに対して対処方法を実行する情報処理装置と通信可能に接続される攻撃ノード群判定装置に用いられる攻撃ノード群判定方法であって、
前記攻撃ノード群判定装置は、演算部と記憶部とを備え、
前記記憶部は、取得したイベントログの中から特定のイベントを抽出するフィルタ情報と、前記フィルタ情報に関連付けられた閾値と、前記不正アクセスに対応する対処方法とを記憶し、
前記演算部は、
所定の期間に取得または所定数取得されたイベントログを前記フィルタ情報を用いたフィルタに透過させてクラスタリング対象となるイベントを抽出し、前記抽出したイベントに記載されている基本項目情報を抽出し、前記基本項目情報の内の一つであるＩＰアドレスを用いて、該ＩＰアドレスに係るノードの情報を第１の属性情報として取得し、前記ＩＰアドレスを所定に分解して第２の属性情報として算出し、
前記基本項目情報、前記第１の属性情報、および前記第２の属性情報の項目の一部または全部を次元とする空間に対してクラスタリングを実行し、類似の特徴を有するクラスタを算出し、
前記クラスタ内の前記イベント同士の特徴が類似する度合いをクラスタの評価値として算出し、
前記クラスタの評価値を前記フィルタ情報に関連付けられた閾値と比較することによって、類似の特徴を有するクラスタとみなせるか否かを判定し、
前記類似の特徴を有するとみなせるクラスタに係る情報と、該クラスタに対応する前記不正アクセスに対応する対処方法とを、前記情報処理装置に送信すること、
を特徴とする攻撃ノード群判定方法。
【請求項１６】
前記情報処理装置に送信される前記類似の特徴を有するとみなせるクラスタに係る情報は、前記フィルタ情報、前記クラスタリングを実行したときに用いた前記基本項目情報、前記第１の属性情報、および前記第２の属性情報であること、
を特徴とする請求項１５に記載の攻撃ノード群判定方法。
【請求項１７】
請求項１５または請求項１６に記載の攻撃ノード群判定装置と通信可能に接続される情報処理装置において用いられる攻撃対処方法であって、
前記情報処理装置は、演算部と記憶部とを備え、
前記演算部は、
受信した前記類似の特徴を有するとみなせるクラスタに含まれる前記基本項目情報、前記第１の属性情報、および前記第２の属性情報と、該クラスタに対応するパケットの対処方法とを前記記憶部に記憶し、
不正アクセスに係るパケットを検知したときに、その不正アクセス元および不正アクセス先のノードに検査パケットを送信して、そのノードの前記第１の属性情報を取得し、該パケットの基本項目情報と第１の属性情報と第２の属性情報とを、前記記憶部に記憶した前記基本項目情報、前記第１の属性情報、および前記第２の属性情報と比較して、どのクラスタに含まれるか否かを判定し、
該当するクラスタを特定した場合、該クラスタに対応するパケットに対して前記対処方法を適用すること、
を特徴とする情報処理装置において用いられる攻撃対処方法。
【請求項１８】
請求項１５または請求項１６に記載の攻撃ノード群判定装置と通信可能に接続される情報処理装置において用いられる攻撃対処方法であって、
前記情報処理装置は、演算部と記憶部とを備え、
前記演算部は、
受信した前記類似の特徴を有するとみなせるクラスタに含まれる前記基本項目情報、前記第１の属性情報、および前記第２の属性情報と、該クラスタに対応するパケットの対処方法とを前記記憶部に記憶し、
不正アクセスに係るパケットを検知したときに、その不正アクセス元および不正アクセス先のノードに検査パケットを送信して、そのノードの前記第１の属性情報を取得し、該パケットの基本項目情報と第１の属性情報と第２の属性情報とを、前記記憶部に記憶した前記基本項目情報、前記第１の属性情報、および前記第２の属性情報と比較して、どのクラスタに含まれるか否かを判定し、
該当するクラスタを特定した場合、該クラスタに含まれるＩＰアドレスに対応するパケットに対して前記対処方法を適用すること、
を特徴とする情報処理装置において用いられる攻撃対処方法。
【請求項１９】
コンピュータを請求項２ないし請求項７のいずれか一項に記載の攻撃ノード群判定装置を構成する各部として、コンピュータを機能させるための攻撃ノード群判定プログラム。
【請求項２０】
コンピュータを請求項８または請求項９に記載の攻撃ノード群判定装置を構成する各部として、コンピュータを機能させるための攻撃ノード群判定プログラム。
【請求項２１】
コンピュータを請求項１０または請求項１１に記載の情報処理装置を構成する各部として、コンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不正な活動を行うノード群を判定し、そのノード群からのアクセスを制御する技術に関する。
【背景技術】
【０００２】
インターネットには、多くのコンピュータが接続されている。それらのコンピュータに対して、正規のアクセス権を持たない人が、そのコンピュータのソフトウェアのセキュリティホールを悪用したり、ダウンロード可能に提供されるプログラムにコンピュータウイルスを仕込んでコンピュータにバックドアを意図的に作成してコンピュータの機能を無許可で利用可能にしたり、といった不正アクセスが発生している。さらに、近年、正規のアクセス権を持たない人によって勝手に制御されるコンピュータによって構成されるネットワークであるボットネットを用いて、多地点から分散してＤＤｏＳ（Distributed Denial of Service attack）攻撃やサイバ攻撃を行うといったことが急増している。
【０００３】
このような不正アクセスに対処する装置として、不正アクセスを検知する侵入検知システム（以降、ＩＤＳという。ＩＤＳ：Intrusion Detection System）や、不正アクセスから特定のコンピュータネットワークの安全を維持するファイアウォール（以降、ＦＷという。ＦＷ：Firewall）等が知られている。ＩＤＳは、予め登録された不正アクセスに用いられるパケットの情報パターンを用いて、その情報パターンに一致するパケットを監視して、不正アクセスを検知している。また、ＦＷは、ＩＰアドレスやポート番号単位でアクセスの可否を予め設定しておいた情報に基づいて、適合パケットまたは違反パケットの検知を行っている。
【０００４】
特許文献１には、ＦＷが不正アクセスを検知し、その不正アクセス元のＩＰアドレスを特定し、ＬＡＮ（Local Area Network）に設置されているルータのフィルタ機能にそのＩＰアドレスを廃棄させる設定をして、不正アクセス元のＩＰアドレスに係るパケットを廃棄させて、不正アクセスを防止する発明が開示されている（段落００１９参照）。
【特許文献１】特開２００５−１９７８２３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、ＤＤｏＳ攻撃やサイバ攻撃の仕方は、攻撃を仕掛けてくる攻撃ノードが次々と現れては消えていくというように、複雑で巧妙化している。
そのため、特許文献１に開示されているように、不正アクセス元のＩＰアドレスに対して、個々に対応しているのでは、非効率になるという問題がある。すなわち、個々のＩＰアドレスにピンポイントで対策していたのでは、類似の特徴を持った新たな攻撃が発生した場合にも、ＩＰアドレスが一致しなければ対応できず、対策が後手に回ってしまうという問題がある。
本発明は、以上のような問題に鑑みてなされたものであり、類似の特徴を有する攻撃ノードをグループ化して攻撃ノード群として扱い、その攻撃ノード群ごとに対策を実施する技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
前記課題を解決するため、本発明は、攻撃ノード群判定装置が、イベントログを収集し、収集したイベントログから基本項目情報を抽出し、その基本項目情報を加工、または、その基本項目に基づいて対象となるノードを検査して得られた情報を属性情報として、その属性情報に対してクラスタリングを実行し、類似の特徴を有するイベントを算出し、その算出したクラスタを、情報処理装置に設定し、その設定後に、不正アクセスが検知されたとき、情報処理装置は、不正アクセスに係るイベントが含まれるクラスタを特定し、その特定されたクラスタ全体に係る不正アクセスに対して、予め設定された対処方法を実行することを特徴とする。
【０００７】
類似の特徴を有する攻撃ノード同士をクラスタ化して、そのクラスタ全体に対して対策（対処方法）を実行するので、対策作業の効率を向上させることができ、新たな同様の特徴を有する攻撃ノードからの攻撃を未然に防ぐことができる。
【発明の効果】
【０００８】
本発明によれば、不正な活動を行うノード群を判定し、そのノード群からのアクセスを制御することが可能となる。
【発明を実施するための最良の形態】
【０００９】
本発明を実施するための最良の形態（以降、「実施形態」という）について、適宜図面を用いながら詳細に説明する。
【００１０】
まず、不正アクセスの特徴を抽出し、類似の傾向を有する攻撃ノード同士をグループ化する攻撃ノード群判定システムの構成例を、図１を用いて説明する。図１は、攻撃ノード群判定システムの一構成例を示す図である。
図１において、攻撃ノード群判定システム１０は、ＦＷ（ルータ）１１、攻撃ノード群判定装置１２、ＩＤＳ１３、Ｗｅｂサーバ１４、メールサーバ１５、プロキシサーバ１６、および端末１７を含んで構成される。なお、ＦＷ（ルータ）１１、攻撃ノード群判定装置１２、ＩＤＳ１３、Ｗｅｂサーバ１４、メールサーバ１５、プロキシサーバ１６、および端末１７は、図１には、１つしか記載していないが、複数であっても構わない。
【００１１】
ＦＷ（ルータ）１１（情報処理装置）は、当該ＦＷ（ルータ）１１の外側に接続されている外部ネットワーク５０から伝達されてくるパケットに対して、許可された通信のパケットのみを通過させることによって、ＦＷの内側に構成されるネットワーク（例えば、社内ネットワーク等）に接続されている端末１７等の安全を維持する。例えば、ＦＷ（ルータ）１１は、ＤＭＺ（DeMilitarized Zone：非武装地帯）２０を備え、そのＤＭＺ２０に設置されるＷｅｂサーバ１４、メールサーバ１５、およびプロキシサーバ１６を、外部ネットワーク５０側からアクセス可能としている。しかし、ＦＷ（ルータ）１１は、アクセス制御プログラム１１１によって、許可されていないパケットに対しては、該パケットを廃棄したり、不正アクセスがあったことを管理者に通知したりする等、予め設定されている対処方法に基づいた処理を実行する。そして、ＦＷ（ルータ）１１は、不正アクセスに係るログをイベントログとして格納する。
【００１２】
ＩＤＳ１３は、侵入検知プログラムによって、外部ネットワーク５０を流れるパケットを監視して、不正なパケットを検知する。検知された不正なパケットに係るログがイベントログとして格納される。
【００１３】
Ｗｅｂサーバ１４は、ＷｅｂサーバプログラムによってＷｅｂサービスを提供する。その際、Ｗｅｂページへのアクセス、認証に係るログがイベントログとして格納される。
メールサーバ１５は、メールサーバプログラムによってメールの送受信に係るサービスを提供する。その際、メール送信、メール受信、認証、ウイルスメール検知、スパムメール検知等に係るログがイベントログとして格納される。
【００１４】
プロキシサーバ１６は、ＦＷ（ルータ）１１の内側のネットワークに接続された端末１７が外部ネットワーク５０に接続されたサーバによって提供されるＷｅｂ、ＦＴＰ（File Transfer Protocol）、およびＴｅｌｎｅｔ等のサービスを利用するときに、プロキシサーバプログラムによって、端末１７に代わって通信を行う。その際、アクセスや認証に係るログがイベントログとして格納される。
端末１７は、例えば、パーソナルコンピュータ（ＰＣ）であり、侵入検知プログラム、ウイルス対策プログラム、スパムメール対策プログラム等によって、不正なアクセスを監視し、そのログをイベントログとして格納する。
【００１５】
攻撃ノード群判定装置１２は、ＦＷ（ルータ）１１、ＩＤＳ１３、Ｗｅｂサーバ１４、メールサーバ１５、プロキシサーバ１６、および端末１７のイベントログを収集し、解析ブログラムによってその収集したイベントログのイベントをクラスタリングして、類似の特徴を有する攻撃ノード同士をクラスタに分類する。そして、攻撃ノード群判定装置１２は、クラスタ化した結果に基づいて、アクセス制御指示プログラムを用いて、ＦＷ（ルータ）１１に対して、クラスタに係る情報とその対処方法とを送信する。この攻撃ノード群判定装置１２における処理の詳細については、後記する。
【００１６】
なお、図１において、各ブロック（１１〜１７）間を結ぶ実線や破線は、ブロック間の配線を示すのではなく、実線はイベントログ以外の通信パケットの伝達経路を示し、破線はイベントログを収集する経路を示している。
【００１７】
ここで、イベントログの一例について、図２を用いて説明する。図２の（ａ）は、ＩＤＳのイベントログの一例であり、（ｂ）は、ＦＷ（ルータ）のイベントログの一例であり、（ｃ）は、Ｗｅｂのイベントログの一例である。
図２（ａ）に示すように、ＩＤＳ１３では、主に、イベントの日時、送信元のＩＰアドレスやポート、宛先のＩＰアドレスやポート、プロトコル、および攻撃名称が記録される。
ＦＷ（ルータ）１１では、図２（ｂ）に示すように、主に、イベントの日時、送信元のＩＰアドレスやポート、宛先のＩＰアドレスやポート、およびプロトコルが記録される。
Ｗｅｂサ−バ１４では、図２（ｃ）に示すように、主に、イベントの日時、送信元のＩＰアドレスやポート、ＵＲＬ（Uniform Resource Locator）、応答、およびＵｓｅｒ−Ａｇｅｎｔヘッダが記録される。Ｕｓｅｒ−Ａｇｅｎｔヘッダは、リクエストを生成したユーザエージントについての情報を表している。
【００１８】
ＦＷ（ルータ）１１、ＩＤＳ１３、Ｗｅｂサーバ１４、メールサーバ１５、プロキシサーバ１６、および端末１７の構成については、図示を省略するが、各々が、アプリケーションプログラムによって種々の演算処理やイベントログの作成を司る演算部、情報入力のための入力部、演算結果や指示を画面表示する表示部、他の装置との通信を制御する通信部、およびアプリケーションプログラムや演算結果等を記憶する記憶部を含んでいる。なお、攻撃ノード群判定装置１２の構成の詳細については、後記する。
【００１９】
≪本実施形態の概要≫
ここで、本実施形態の概要を、図１４を用いて説明する。図１４の（ａ）は、不正アクセスに対応する処理の比較例を説明する図であり、（ｂ）は、不正アクセスに対応する処理の本実施形態の概要を説明する図である。
【００２０】
図１４（ａ）に示す比較例は、不正アクセス元のＩＰアドレスに対して個々に対応するケースである。
まず、不正アクセスを特定したＩＰアドレスとそのＩＰアドレスに対応する対処方法とを、該ＩＰアドレスごとに、ＦＷ（ルータ）１１（図１参照）に設定する。次に、ＦＷ（ルータ）１１が、特定したＩＰアドレスを検知する。そのとき、ＦＷ（ルータ）１１は、特定したＩＰアドレスを有するパケットに対して、設定された対処方法を実行する。
すなわち、比較例では、不正アクセスに係るパケットのＩＰアドレスとその対処方法とを、ＩＰアドレス単位でＦＷ（ルータ）１１に設定して、その設定したＩＰアドレスごとに、ＦＷ（ルータ）１１が設定された対処方法を実行している。
【００２１】
次に、図１４（ｂ）に示す本実施形態の概要について以下に説明する（適宜、図１参照）。
まず、攻撃ノード群判定装置１２が、ＦＷ（ルータ）１１、ＩＤＳ１３、Ｗｅｂサーバ１４、メールサーバ１５、プロキシサーバ１６、および端末１７からイベントログを収集する。次に、攻撃ノード群判定装置１２は、収集したイベントログに対してクラスタリングを実行し、クラスタを算出する。そのクラスタは、ボットネットに対応可能にするために、類似の特徴を有するイベントによって決まる集合である。また、類似の特徴とは、例えば、ある国の国民が他の国に対して抗議するときに行うＤＤｏＳ攻撃やサイバ攻撃の場合には、特定の国であったり、特定のＩＰアドレスであったりする。そして、攻撃ノード群判定装置１２は、算出したクラスタを、ＦＷ（ルータ）１１に設定する。
その設定後に、ＩＤＳ１３またはＦＷ（ルータ）１１が不正アクセスを検知したとき、ＦＷ（ルータ）１１は、不正アクセスに係るイベントが含まれるクラスタを特定する。次に、ＦＷ（ルータ）１１は、特定されたクラスタ全体に係るパケットに対して、設定された対処方法を実行する。
すなわち、本実施形態では、予めクラスタとその対処方法とをＦＷ（ルータ）１１に設定しておき、不正アクセスに係るクラスタ全体に対して、ＦＷ（ルータ）１１が、設定された対処方法を実行する。
【００２２】
次に、クラスタの形成について、イベントログに含まれる送信元ＩＰアドレスを例として、図１５を用いて説明する。図１５の（ａ）は、クラスタリング前のイベントログの送信元ＩＰアドレスの一例を示す図であり、（ｂ）は、クラスタリング後の送信元ＩＰアドレスの配置とクラスタの一例を示す図である。なお、図１５では、説明を簡単にするために、送信元ＩＰアドレスの第１オクテットをｙ軸、第２オクテットをｘ軸として、２次元の場合について示している。
なお、図１５（ａ）では、６つの送信元ＩＰアドレスがプロットされている。カッコ内の数字は、（ｘ，ｙ）を表している。
【００２３】
次に、図１５（ｂ）では、クラスタリング手法としてｋ平均法によって、クラスタ数を３として、クラスタリングを実行する場合を示す。
ｋ平均法では、初期値として、６つのプロットを適宜３つのクラスタに振り分けて、そのクラスタの重心を計算する。そして、同じ重心に最も距離が近いプロット同士は、同じクラスタに分類する。その後、クラスタごとに重心を再計算しては、その再計算した重心とプロットとの距離を計算して、最も距離の近い重心がどれかを判定することを繰り返すことによって、クラスタとそのクラスタの範囲（大きさ）を収束させる。
図１５（ｂ）では、ｘ軸の距離を、ｙ軸の距離の１／１０となるように重みを付けた場合を示している。そして、クラスタの範囲は、円で示されるように求められる。
【００２４】
≪攻撃ノード群判定装置≫
次に、攻撃ノード群判定装置１２の構成について、図３を用いて説明する。図３は、攻撃ノード群判定装置の構成の一例を示す図である。
攻撃ノード群判定装置１２は、演算部１２１、メモリ１２２、入力部１２３、表示部１２４、通信部１２５、および記憶部１３１を含む。
【００２５】
演算部１２１は、攻撃ノード群判定装置１２の各部（１２２〜１２５，１３１）の制御、および各部（１２２〜１２５，１３１）間の情報の伝達を司る。演算部１２１は、例えば、演算処理を実行するＣＰＵ（Central Processing Unit ）である。そして、このＣＰＵが主記憶装置であるメモリ１２２にアプリケーションプログラムを展開して、それを実行することにより種々の演算処理を具現化する。メモリ１２２は、ＲＡＭ（Random Access Memory）により実現される。なお、アプリケーションプログラムは、記憶部１３１に格納されている。
入力部１２３は、キーボードやマウス等であり、攻撃ノード群判定装置１２を操作する管理者等による情報入力を受け付ける。
表示部１２４は、ＣＲＴ（Cathode Ray Tube）やＬＣＤ（Liquid Crystal Display）等であり、入力を促す画面や演算結果を確認する画面等を表示する。
通信部１２５は、攻撃ノード群判定システム１０内の各部（１１，１３〜１７）（図１参照）や、外部ネットワーク５０に接続されている図示しないコンピュータとの間で情報を送受信する。
【００２６】
記憶部１３１は、解析プログラム１３２、アクセス制御指示プログラム１３３、イベントＤＢ１３４、ポリシＤＢ１３５、および距離関数ＤＢ１３６を記憶している。なお、解析プログラム１３２およびアクセス制御指示プログラム１３３は、アプリケーションプログラムとして、メモリ１２２に展開されて、演算部１２１によって実行される。
解析プログラム１３２は、収集したイベントログに対して、イベントＤＢ１３４、ポリシＤＢ１３５、および距離関数ＤＢ１３６に格納されている情報を用いて、クラスタリングを実行し、集団行動クラスタを決定する。ここで、集団行動クラスタとは、クラスタの中でも、特に、クラスタ内のイベント間の関連性が高い（後記するように、クラスタの評価値が高いことに相当する）クラスタを意味する。そして、解析プログラム１３２は、集団行動クラスタに対応して、不正アクセスに対する対処方法を設定する。例えば、集団行動クラスタ内に、不正アクセスに係るイベントが含まれている場合は、通信を遮断（パケットを廃棄）するといった対処方法を設定する。また、特定のノード（例えば、Ｗｅｂサーバ１４）へ伝送されてくるパケットの量が多すぎる場合には、通信帯域を制限するといった対処方法を設定する。なお、解析プログラム１３２の動作の詳細については、後記する。
アクセス制御指示プログラム１３３は、解析ブログラム１３２によって決定された集団行動クラスタに係る情報、および、その対処方法を、ＦＷ（ルータ）１１に送信する。
【００２７】
次に、イベントＤＢ１３４については、図４を用いて説明する。図４は、イベントＤＢの一例を示す図である。
イベントＤＢ１３４は、イベントごとに、イベントログ基本パラメータ情報（基本項目情報）と属性情報とを含む。イベントログ基本パラメータ情報は、イベントログから抽出できる項目についての情報である。また、属性情報は、イベントログ基本パラメータ情報の項目を加工、または、その項目の１つであるＩＰアドレスに係るノードを検査して得られた項目についての情報である。
【００２８】
イベントログ基本パラメータには、以下の項目がある。
検知日時は、イベントを検知した日時である。
ログタイプは、イベントログを送信した装置を識別する情報である。
送信元ＩＰアドレスは、イベントを記録させる原因となったノードに設定されているＩＰアドレスである。例えば、ＦＷ（ルータ）１１のイベントにおいてはそのＦＷ（ルータ）１１へのアクセス元、ＩＤＳ１３のイベントにおいては攻撃元、Ｗｅｂサーバ１４のイベントにおいてはクライアント、メールサーバ１５のイベントにおいてはＳＭＴＰ（Simple Mail Transfer Protocol）あるいはＰＯＰ（Post Office Protocol）送信者、プロキシサーバ１６のイベントにおいてはプロキシ利用者のそれぞれのＩＰアドレスである。なお、端末１７のイベントにおいては、端末１７にインストールされたソフトウェアに応じて定義される。
送信元ポート番号は、イベントを記録させる原因となったノードのポート番号で、送信元ＩＰアドレスと同様にログタイプに応じて定義される。
【００２９】
宛先ＩＰアドレスは、パケットを送出するイベントに係る宛先のＩＰアドレスである。例えば、ＦＷ（ルータ）１１のイベントにおいてはそのＦＷ（ルータ）１１へのアクセス先、ＩＤＳ１３のイベントにおいては攻撃先、Ｗｅｂサーバ１４のイベントにおいてはＷｅｂサーバ自身、メールサーバ１５のイベントにおいてはメール送信先、プロキシサーバ１６のイベントにおいては代理アクセス先のそれぞれのＩＰアドレスである。なお、端末１７のイベントにおいては、端末１７にインストールされたソフトウェアに応じて定義される。
【００３０】
プロトコルは、イベントに係る通信において用いられたプロトコルであって、例えば、ＴＣＰ（Transmission Control Protocol）、ＵＤＰ（User Datagram Protocol）、ＩＣＭＰ（Internet Control Message Protocol）等である。
なお、イベントログ基本パラメータの項目は、これに限られるものではなく、例えば、ウイルス対策ソフトウェアにおけるウイルス名等、イベントログの送信元装置に応じて柔軟に拡張可能である。
【００３１】
次に、属性情報に格納される項目について説明する。
送信元ＩＰアドレスの第ｎオクテットは、ＩＰｖ４の場合、ｎ＝１〜４であり、ＩＰｖ６の場合、ｎ＝１〜１６である。なお、請求項に記載の「所定に分割」は、オクテットごとの分割である。
送信元国、送信元都市、送信元緯度、送信元経度、送信元ＡＳ（Autonomous System）番号、送信元回線種別、送信元地域時差等は、それぞれＩＰアドレスが割り当てられたノードの所在国、所在都市、所在緯度、所在経度、所在ノードの属するＡＳ（Autonomous System）番号、回線種別、所在地域の時差を、イベントログ基本パラメータである送信元ＩＰアドレスに基づいて導出したものである。この導出は、予め記憶部１３１に格納しておいたＩＰアドレスとそれらの項目とを関連付けたテーブルを参照するか、または、前記テーブルと同様の情報を備えた外部サービスを利用することによって行われる。
回線種別は、例えば、ダイアルアップ（Dial-up）、ＩＳＤＮ（Integrated Services Digital Network）、ＡＤＳＬ（Asymmetric Digital Subscriber Line）、ケーブルテレビ（Cable TV）、ＦＴＴＨ（Fiber To The Home）等である。
【００３２】
送信元回線速度は、送信元ＩＰアドレスのネットワーク環境に係る情報である。例えば、解析プログラム１３２（図３参照）によって、送信元ＩＰアドレスに対して、ＩＣＭＰ（ping）を用いた検査パケットにより検査して得られたレスポンスタイムやＴＴＬ（Time To Live）等である。
送信元稼動ＯＳは、解析プログラム１３２（図３参照）によって能動的に検査して得る情報である。例えば、ＯＳスタックフィンガープリンティングの技術を利用した検査パケットを用いて、対象ノードのＯＳに係る情報を得る。また、Ｗｅｂサーバ１４のように、ＯＳやクライアントソフトウェアの識別子がイベントログに記載されている場合は、それを参照して送信元稼動ＯＳを知ることもできる。
【００３３】
属性情報における「宛先」で始まる項目は、「送信元」で始まる項目の場合と同様に、イベントログ基本パラメータである宛先ＩＰアドレスに基づいて導出したものであるので、宛先ＩＰアドレスの第ｎオクテット、宛先国、宛先都市、宛先緯度、宛先経度、宛先ＡＳ（Autonomous System）番号、宛先回線種別、宛先地域時差、宛先回線速度、宛先稼動ＯＳについての説明を省略する。
宛先稼動サービスは、宛先ポート番号によって割り出されるサービス名称、あるいは、イベントログを構成する項目に記載されたサービス名称である。例えば、宛先稼動サービスは、宛先ポートが８０番であればＷｅｂ、ＩＤＳ１３によってＳＱＬＳｅｒｖｅｒ（登録商標）を攻撃するパケットを検知して得られたイベントであればＳＱＬＳｅｒｖｅｒ（登録商標）となる。
【００３４】
次に、図３に示すポリシＤＢ１３５について、図５，図６を用いて説明する。図５は、ポリシＤＢに格納されている距離関数割当ポリシの一例を示す図である。図６は、ポリシＤＢに格納されているアクションポリシの一例を示す図である。
図５に示すように、距離関数割当ポリシは、イベントＤＢ１３４のイベントの項目と、項目毎に割り当てた距離関数の一覧と、項目を識別するＩＤとを含む。例えば、検知日時にはユークリッド距離関数を割り当て、識別子をＬ１とする。また、送信元ＩＰアドレスの第１オクテットは第１オクテット用距離関数を割り当て、識別子をＡ１とする。残りの項目については、説明を省略する。
【００３５】
ここで、距離関数について、説明する。一般的に、クラスタリング手法を用いてクラスタを導出するときには、データ間の距離関数が定義される。
２次元ユークリッド空間では、２つのデータＡ＝（ｘａ、ｙａ）、Ｂ＝（ｘｂ、ｙｂ）間の距離は、ｘ軸とｙ軸ともに同等に扱われている。つまり、ｘ軸における距離がｘａとｘｂの差の絶対値で、ｙ軸における距離がｙａとｙｂの差の絶対値であり、点ＡとＢとの間の距離は、それぞれの軸における距離の二乗和の平方根であるとされることが一般的である。
本実施形態では、各イベントの項目を軸としてとらえ、さらに各軸における距離の算出方法を同等ではなく、軸（イベントの項目）の性質に応じて使い分ける。すなわち、軸ごとに重み付けを考慮する。
例えば、図１５（ｂ）に示したように、ｘ軸の距離に対する重みを、ｙ軸の距離に対する重みの１／１０にするといったことである。
【００３６】
次に、図６に示す、ポリシＤＢ１３５のアクションポリシについて、説明する。
アクションポリシは、アクションＮｏ．、フィルタ条件、評価式、閾値、および対処方法を格納している。
アクションＮｏ．は、適宜、識別するために付される。
フィルタ条件は、クラスタリングを実行するときに使用する、イベントログのデータをフィルタによって選別するときの条件である。例えば、アクションＮｏ．＝３の場合では、Ｌ２＝ＷＥＢとなっている。このＬ２は、図５に示したＩＤを意味しており、ログタイプを示している。そして、「ＷＥＢ」は、Ｗｅｂサーバのイベントログを対象とすることを示している。
【００３７】
評価式は、アクションＮｏ．＝３ではＡ１＋Ａ２＋Ａ３＋Ａ４となっている。この式では、Ａ１、Ａ２、Ａ３、およびＡ４は、図５に示したＩＤを意味している。そして、評価式は、Ａ１、Ａ２、Ａ３、およびＡ４を軸として、２点間を各軸へ射影したときの距離の二乗を全ての軸について加算して、その加算結果の４乗根を算出するものと定義する。なお、アクションＮｏ．＝１の場合の評価式では、Ｌ２、Ａ１、Ａ２、Ａ３、Ａ４、およびＡ２６×３（＝Ａ２６の重みづけが３）を軸として、２点間を各軸へ射影したときの距離の二乗を全ての軸について加算して、その加算結果の６乗根を算出するものと定義する。
そして、クラスタリングによって得られたクラスタについて、イベント全体の個数に対するそのクラスタに含まれる個数の割合、イベントの個数、分散値、クラスタの重心とそのクラスタに含まれるイベントとの距離の平均等を組み合わせて定量化した評価値（クラスタの評価値）を得る。なお、本実施形態では、クラスタの評価値が大きいほど、イベント間の関連性が高いものとして説明している。
なお、請求項に記載の「フィルタ情報」とは、フィルタ条件および評価式のことである。
【００３８】
閾値は、クラスタの評価値がその閾値より大きいか小さいかを比較する場合に用いられる。そして、クラスタの評価値が閾値より大きい場合には、イベント間の関連性が高い（類似の特徴を有する）クラスタ、すなわち、集団行動クラスタであると判定されるものとする。
対処方法は、集団行動クラスタに対する処理内容を示している。例えば、「警告通知（管理者に警告情報を通知する）」、「通信帯域制限（通信帯域を制限する）」、あるいは「通信遮断（通信を遮断する）」等である。
【００３９】
次に、図３に示す距離関数ＤＢ１３６について、図７〜１０を用いて説明する。図７は、距離関数ＤＢに格納される距離関数定義の一例を示す図である。図８は、距離関数ＤＢに格納されるポート測距用マトリクスおよびプロトコル測距用マトリクスの一例を示す図である。図９は、距離関数ＤＢに格納される回線種別測距用マトリクスおよびサービス測距用マトリクスの一例を示す図である。図１０は、距離関数ＤＢに格納されるＯＳ測距用マトリクスの一例を示す図である。
【００４０】
距離関数定義には、距離関数とそれを定義するアルゴリズムが格納されている。例えば、ユークリッド距離関数は、２点間のユークリッド距離を距離関数の戻り値として返す。また、ポリシＤＢ１３５の距離関数割当ポリシ（図５参照）に示される送信元国（ＩＤ＝Ａ５）や送信先国（ＩＤ＝１８）に割り当てられた国用距離関数は、測距する２値（２つの国）が同じ値（同じ国）であった場合に０、隣国の場合は１０、それ以外の場合は２５５を距離関数の戻り値として返す。
【００４１】
ポート番号用距離関数は、宛先ポート番号（ＩＤ＝Ｌ６）（図５参照）に割り当てられているが、図８に示すポート測距用マトリクスを用いて測距し、距離関数の戻り値として返す。例えば、ＨＴＴＰ用の標準ポートである８０番ポートと、ＨＴＴＰＳ用の標準ポートである４４３番ポートでは、４４３−８０＝３６３の差があるものの、同じＷｅｂサービスに用いられるといった点において類似している。このため、８０番ポートと４４３番ポートは距離が１となるように定義している。
【００４２】
図８に示すプロトコル測距用マトリクスは、距離関数ＤＢ１３７の距離関数定義のプロトコル用距離関数を定義するのに用いられる。例えば、通常、異なるプロトコル間の関連性は低いと考えられるため、プロトコル番号が異なる場合は２５５の大きな値を返すが、ＩＰｖ４用のＩＣＭＰ（１）と、ＩＰｖ６用のＩＰｖ６−ＩＣＭＰ（５８）は、同じＩＣＭＰに関するプロトコルであることから、距離が１となるように定義している。
【００４３】
次に、図９に示す回線種別測距用マトリクスは、距離関数ＤＢ１３７の距離関数定義の回線種別用距離関数を定義するのに用いられる。例えば、いわゆるナローバンド系の回線（ＤｉａｌＵＰやＩＳＤＮ（Integrated Services Digital Network））と、ブロードバンド系の回線（ＡＤＳＬ（Asymmetric Digital Subscriber Line），ＣａｂｌｅＴＶ、ＦＴＴＨ（Fiber To The Home））に分けて距離を定義している。
サービス測距用マトリクスは、距離関数ＤＢ１３７の距離関数定義のサービス用距離関数を定義するのに用いられる。例えば、メール送信サービス（ＳＭＴＰ）と、メール受信サービス（ＰＯＰ）は、メールに関するサービスであるため、距離を１として定義している。また、Ｗｉｎｎｙや、Ｗｉｎｎｙｐ、ＷｉｎＭＸなどのアプリケーションによるサービスはＰ２Ｐ型ファイル共有ソフトという点で共通であるため距離が短くなるように定義している。
【００４４】
次に、図１０に示すＯＳ測距用マトリクスは、距離関数ＤＢ１３７の距離関数定義のＯＳ用距離関数を定義するのに用いられる。例えば、Ｗｉｎｄｏｗｓ（登録商標）９ｘ系カーネルを持つＷｉｎｄｏｗｓ（登録商標）９５やＷｉｎｄｏｗｓ（登録商標）Ｍｅと、Ｗｉｎｄｏｗｓ（登録商標）ＮＴ系カーネルを持つＷｉｎｄｏｗｓ（登録商標）ＮＴ４．０やＷｉｎｄｏｗｓ（登録商標）２０００、Ｗｉｎｄｏｗｓ（登録商標）ＸＰと、ＵＮＩＸ（登録商標）系カーネルを持つＢＳＤ、Ｌｉｎｕｘ（登録商標），Ｍａｃ（登録商標）ＯＳＸに分けて距離を定義している。
【００４５】
そして、図３に戻って、攻撃ノード群判定装置１２では、解析プログラム１３２が、イベントＤＢ１３４、ポリシＤＢ１３５、および距離関数ＤＢ１３６を用いて、クラスタリングを実行して、集団行動クラスタを算出する。解析プログラム１３２における処理の流れと集団行動クラスタの例について、図１１，図１２を用いて説明する。図１１は、解析プログラムにおける処理の流れを示す図である。図１２は、集団行動クラスタの一例を示す図である。
【００４６】
図１１に示すように、解析プログラム１３２（図３参照）が開始されると、ポリシＤＢ１３５からアクションポリシ（図６参照）を読み込む（ステップＳ１１０１）。ここでは、アクションＮｏ．＝３が読み込まれるものとする。
フィルタ条件として「Ｌ２＝ＷＥＢ」が、評価式として「Ａ１＋Ａ２＋Ａ３＋Ａ４」が、閾値として「０．９」が、対処方法として「通信遮断」が設定される（ステップＳ１１０２〜Ｓ１１０５）。
そして、距離関数割当ポリシ（図５参照）が読み込まれる（ステップＳ１１０６）。すなわち、Ａ１、Ａ２、Ａ３、およびＡ４に対応する距離関数が読み込まれる。
【００４７】
次に、イベントＤＢ１３４（図４参照）から、イベントログが読み込まれる（ステップＳ１１０７）。この読み込みにタイミングは、所定の期間ごとであっても、また、例えば１０００という所定数ごとであっても、管理者の操作によってであっても良い。
そして、読み込まれたイベントログの内、フィルタ条件に基づいて、Ｌ２＝ＷＥＢのデータが抽出される（ステップＳ１１０８）。
【００４８】
次に、評価式に基づいて、送信元ＩＰアドレスが属性情報としての４つのオクテットに分解（加工）される（ステップＳ１１０９）。
そして、Ａ１、Ａ２、Ａ３、およびＡ４を軸とする、４次元の空間に各イベントを射影する（ステップＳ１１１０）。
【００４９】
次に、距離関数ＤＢ１３６（図７参照）から、Ａ１、Ａ２、Ａ３、およびＡ４に対応する距離関数が読み込まれる（ステップＳ１１１１）。
そして、各軸（Ａ１、Ａ２、Ａ３、Ａ４）の距離関数を使って、クラスタリングが行われる（ステップＳ１１１２）。
【００５０】
次に、形成されたクラスタの評価値が算出される（ステップＳ１１１３）。
そして、クラスタが集団行動クラスタであるか否かが判定される。すなわち、クラスタの評価値と閾値とが比較される（ステップＳ１１１４）。
クラスタの評価値が閾値以上である場合（ステップＳ１１１４でＹｅｓ）、集団行動クラスタとその対処方法とがアクセス制御指示プログラムに引き渡される（ステップＳ１１１５）。
クラスタの評価値が閾値未満である場合（ステップＳ１１１４でＮｏ）、処理を終了する。
【００５１】
なお、図示していないが、全てのクラスタに対して、ステップＳ１１１４〜Ｓ１１１５の処理が繰り返し実行される。
また、図１１では、ステップＳ１１０５において、対処方法を設定していたが、ステップ１１１５において対処方法を設定する場合もある。すなわち、集団行動クラスタ内に、不正アクセスに係るイベントが含まれていることが判明した場合には、そのことを反映した対処方法を設定しても良い。
【００５２】
次に、解析プログラム１３２によって決定された集団行動クラスタの例について、以下に説明する。
図１２（ａ）に示すクラスタＡは、クラスタリングの結果として得られた、送信元ＩＰアドレスのクラスタである。クラスタＡの範囲は、送信元ＩＰアドレスの第１オクテットが１９２から距離０以内、送信元ＩＰアドレスの第２オクテットが１６８から距離０以内、送信元ＩＰアドレスの第３オクテットが１から距離０以内、送信元ＩＰアドレスの第４オクテットが６２から距離５以内の全ての条件を満たす場合を表す。
図１２（ｂ）に示すクラスタＢは、送信元稼動ＯＳに係るクラスタである。ＯＳは、ソフトウェアの種類やバージョン等が識別可能にされているので、その範囲が、Ｌｉｎｕｘから距離５以内の全ての条件を満たす場合を表す。
図１２（ｃ）に示すクラスタＣは、送信元回線速度に係るクラスタである。回線速度は、ＩＣＭＰ（Ｐｉｎｇ）を用いて、対象とするノードからのレスポンスタイムやＴＴＬから割り出すことが可能であるので、その範囲が、ＴＴＬ６０から距離１０以内の全ての条件を満たす場合を表す。
【００５３】
次に、本実施形態の攻撃ノード群検知システムの動作を、図１３を用いて説明する。図１３は、本実施形態の攻撃ノード群検知システムの動作の一例を示す図である。
図１３では、外部ネットワーク５０（図１参照）に接続された複数の攻撃ノード６１，６２，６３，６４からなる攻撃ノード群６０から、Ｗｅｂサーバ１４に対して攻撃が行われた場合について説明する。なお、図１３において、ＦＷ（ルータ）１１、攻撃ノード群判定装置１２、ＩＤＳ１３、Ｗｅｂサーバ１４、メールサーバ１５、プロキシサーバ１６、端末１７は、図１に示したものと同様であるので、説明を省略する。
【００５４】
まず、攻撃ノード群６０から、Ｗｅｂサーバに対して攻撃パケットが送信される（ステップＳ１０１）。
攻撃ノード群６０から送信された攻撃パケットは、ＩＤＳ１３によって攻撃として検知され、攻撃パケットに関するイベントとして記録される（ステップＳ１０２）。次に、攻撃パケットは、ＦＷ（ルータ）１１によって、通過パケットとして検知され、イベントログに記録される（ステップＳ１０３）。そして、攻撃パケットは、Ｗｅｂサーバ１４にアクセス記録として記録され、イベントログに記録される（ステップＳ１０４）。
攻撃ノード群判定装置１２は、所定の期間ごとあるいは管理者の操作によって、ＩＤＳ１３、ＦＷ（ルータ）１１、Ｗｅｂサーバ１４、メールサーバ１５、プロキシサーバ１６、および端末１７からイベントログを取得する（ステップＳ１０５〜Ｓ１０７）。
【００５５】
攻撃ノード群判定装置１２は、取得したイベントログからイベントログ基本パラメータ（図４参照）を抽出し、イベントログ基本パラメータの一部の項目（例えば送信元ＩＰアドレス）を用いて、攻撃ノード６１，６２，６３，６４のそれぞれに検査パケットを送信して、属性情報の検査（例えば回線速度や稼動ＯＳ）を行い、属性情報（第１の属性情報）（図４参照）を取得する（ステップＳ１０８）。また、攻撃ノード群判定装置１２は、宛先のＩＰアドレスにも検査パケットを送信して、属性情報の検査（例えば回線速度や稼動ＯＳ）を行い、属性情報（第１の属性情報）（図４参照）を取得する。
そして、攻撃ノード群判定装置１２は、取得した属性情報をイベントの情報に付加して、イベントＤＢ１３４に格納する。また、攻撃ノード群判定装置１２は、イベントログ基本パラメータを加工して作成した属性情報（第２の属性情報）をイベントの情報に付加して、イベントＤＢ１３４に格納する。（ステップＳ１０９）。
【００５６】
攻撃ノード群判定装置１２は、イベントＤＢ１３４（図４参照）に属性情報を追加した後に、イベンドＤＢ１３４に格納されたイベントに対しクラスタリングの処理を行う（ステップＳ１１０）。また、攻撃ノード群判定装置１２は、クラスタリングによって作成されたクラスタのそれぞれについて、クラスタの評価値を算出して、算出したクラスタの評価値と閾値とを比較することによって、クラスタ評価を行う（ステップＳ１１１）。そして、攻撃ノード群判定装置１２は、集団行動クラスタと判定されたクラスタに対して、アクションポリシの対処方法（図６参照）を設定する（ステップＳ１１２）。
なお、ステップＳ１１１〜Ｓ１１２の具体例として、例えば、アクションポリシのアクションＮｏ．＝３（図６参照）に示される条件を用いて、Ｗｅｂサーバ１４のイベントログのイベントをクラスタリング処理することによってクラスタＡ（図１１参照）が算出され、送信元ＩＰアドレスが類似した攻撃ノード群６０を含むクラスタＡの評価値が０．９５として算出された場合を想定する。この条件の場合には、予め設定した閾値が０．９であり、クラスタＡの評価値（＝０．９５）が閾値（＝０．９）より大きいので、そのクラスタＡは集団行動クラスタであると判定される。そして、アクションポリシにしたがって対処方法が設定される。
【００５７】
攻撃ノード群判定装置１２は、クラスタＡを含む集団行動クラスタに係るクラスタ情報とその集団行動クラスタに対応する対処方法とをＦＷ（ルータ）１１（情報処理装置）に送信する（ステップＳ１１３）。ＦＷ（ルータ）１１は、受信した集団行動クラスタと対処方法とを図示しない記憶部に格納する。そして、ＦＷ（ルータ）１１は、新たに、攻撃ノード群６０から攻撃パケットを受信したときに、アクセス制御プログラム１１１によって、そのパケットに係るイベントのイベントログ基本パラメータを抽出し、検査パケットを攻撃ノードに送信して、その検査結果に基づいて、ノードの情報を取得する（ステップＳ１１４）。そして、ＦＷ（ルータ）１１は、アクセス制御プログラム１１１によって、該パケットがクラスタＡに含まれることが判明した場合には、そのクラスタＡに含まれるノード全体に対して、それに対応する対処方法を実行する（ステップＳ１１５）。
【００５８】
（変形例）
変形例では、ＩＰアドレスに対してのみ対処方法を実行する既存のＦＷ（ルータ）１１でも対応可能にする。
すなわち、図１３のステップＳ１１２に対応するステップにおいて、集団行動クラスタと判定されたクラスタに含まれるＩＰアドレスやポード番号によって、クラスタ全体が表現される。そして、そのクラスタに対して、対応する対処方法が関連付けられる。次に、ステップＳ１１３に対応するステップにおいて、集団行動クラスタに係るイベントログ基本パラメータと、そのイベントログ基本パラメータを加工して作成した属性情報（第２の属性情報）と、それに対応する対処方法とが、ＦＷ（ルータ）１１に送信され、図示しない記憶部に格納される。また、集団行動クラスタとＩＰアドレスとを関連付けて記憶部に格納する。
次に、ＦＷ（ルータ）１１は、ステップＳ１１４に対応するステップにおいて、ノードに係る属性情報（第１の属性情報）を取得する。そして、ＦＷ（ルータ）１１は、新たに、攻撃ノード群６０から攻撃パケットを受信したときに、ステップＳ１１５に対応するステップにおいて、そのパケットに係るイベントのイベントログ基本パラメータと属性情報を、記憶部に記憶しておいたイベントログ基本パラメータと属性情報と比較して、攻撃パケットに係るクラスタを特定する。そして、ＦＷ（ルータ）１１は、記憶部を参照して、そのクラスタ全体に係るＩＰアドレスを抽出し、抽出されたＩＰアドレスに基づいて、そのクラスタ全体に含まれるＩＰアドレスに対して、それに対応する対処方法を実行する。
例えば、ある集団行動クラスタ全体のＩＰアドレスが１９２．１６８．１．０／２４で表される場合には、そのＩＰアドレスに対応するパケットは、全て同じ対処方法が取られる。
【００５９】
以上説明したように、本実施形態や変形例に係る攻撃ノード群判定装置２０（図１参照）は、イベントログをクラスタリングして、共通の特徴を有するクラスタを単位として攻撃等に対処するため、悪意あるソフトウェアに集団感染しているネットワークセグメント、国、地域等を特定することが可能である。また、クラスタを単位として攻撃等に対処するため、同じクラスタに属する未だ攻撃を仕掛けてきていないノードに対しても、未然に対処することが可能である。さらに、クラスタを単位として攻撃等に対処するため、攻撃してくるノードのＩＰアドレスを検知するごとに対症療法的に対策を講じるのではなく、グループ単位で効率よく対策を講じることが可能となる。
【００６０】
以上、本実施形態や変形例について説明したが、本発明は、これらに限定されるものではなく、その趣旨を変えない範囲で実施することができる。
【００６１】
例えば、本実施形態では、図１に示すように、ＩＤＳ１３がＦＷ（ルータ）１１の外側（外部ネットワーク５０側）に設置される構成としたが、ＤＭＺ２０内に設置されても構わない。また、Ｗｅｂサーバ１４、メールサーバ１５、およびプロキシサーバ１６が全て設置されている必要はなく、単独であっても、任意の組み合わせであっても構わない。また、イベントログを出力する装置であれば、本実施形態に適用可能である。
なお、ＦＷ（ルータ）１１、攻撃ノード群判定装置１２、ＩＤＳ１３、Ｗｅｂサーバ１４、メールサーバ１５、プロキシサーバ１６、および端末１７は、異なるハードウェアとして実装されるとは限らず、ソフトウェアの集約や、仮想化技術によって、一つのハードウェア上に、異なる擬似装置として実装されても良い。
また、クラスタリングの方法は、ｋ平均法に限定されるものではない。
また、攻撃ノード群判定装置１２が、ＦＷ（ルータ）１１の機能を備えていても良い。さらに、Ｗｅｂサーバ１４、メールサーバ１５、プロキシサーバ１６、および端末１７は、攻撃ノード群判定装置１２およびアクセス制御プログラム１１１を実行可能としていても良い。
【００６２】
また、前記した実施形態や変形例では、ＦＷ（ルータ）１１は、攻撃パケットを受信したときに、ステップＳ１１５において、それに対応する対処方法を実行することとした。しかし、これに限られることはなく、ＦＷ（ルータ）１１は、攻撃パケットを受信しない状態においても、ステップＳ１１３において受信した対処方法を常に実行しているとよい。このようにすることによって、不正アクセスかどうか分からない場合においても、特定のイベントを有するパケットを受信した場合に、ＦＷ（ルータ）１１が、対処方法を実行することができる。
【図面の簡単な説明】
【００６３】
【図１】攻撃ノード群判定システムの一構成例を示す図である。
【図２】（ａ）は、ＩＤＳのイベントログの一例であり、（ｂ）は、ＦＷ（ルータ）のイベントログの一例であり、（ｃ）は、Ｗｅｂのイベントログの一例である。
【図３】攻撃ノード群判定装置の構成の一例を示す図である。
【図４】イベントＤＢの一例を示す図である。
【図５】ポリシＤＢに格納されている距離関数割当ポリシの一例を示す図である。
【図６】ポリシＤＢに格納されているアクションポリシの一例を示す図である。
【図７】距離関数ＤＢに格納される距離関数定義の一例を示す図である。
【図８】距離関数ＤＢに格納されるポート測距用マトリクスおよびプロトコル測距用マトリクスの一例を示す図である。
【図９】距離関数ＤＢに格納される回線種別測距用マトリクスおよびサービス測距用マトリクスの一例を示す図である
【図１０】距離関数ＤＢに格納されるＯＳ測距用マトリクスの一例を示す図である。
【図１１】解析プログラムにおける処理の流れを示す図である。
【図１２】集団行動クラスタの一例を示す図である。
【図１３】本実施形態の攻撃ノード群検知システムの動作の一例を示す図である。
【図１４】（ａ）は、不正アクセスに対応する処理の比較例を説明する図であり、（ｂ）は、不正アクセスに対応する処理の本実施形態の概要を説明する図である。
【図１５】（ａ）は、クラスタリング前のイベントログの送信元ＩＰアドレスの一例を示す図であり、（ｂ）は、クラスタリング後の送信元ＩＰアドレスの配置とクラスタの一例を示す図である。
【符号の説明】
【００６４】
１０    攻撃ノード群判定システム
１１    ＦＷ（ルータ）
１２    攻撃ノード群判定装置
１３    ＩＤＳ
１４    Ｗｅｂサーバ
１５    メールサーバ
１６    プロキシサーバ
１７    端末
５０    外部ネットワーク
１１１  アクセス制御プログラム
１２１  演算装置
１３１  記憶部
１３２  解析プログラム
１３３  アクセス制御指示プログラム
１３４  イベントＤＢ
１３５  ポリシＤＢ
１３６  距離関数ＤＢ
【図１】
2010050939.tif 000003
【図２】
2010050939.tif 000004
【図３】
2010050939.tif 000005
【図４】
2010050939.tif 000006
【図５】
2010050939.tif 000007
【図６】
2010050939.tif 000008
【図７】
2010050939.tif 000009
【図８】
2010050939.tif 000010
【図９】
2010050939.tif 000011
【図１０】
2010050939.tif 000012
【図１１】
2010050939.tif 000013
【図１２】
2010050939.tif 000014
【図１３】
2010050939.tif 000015
【図１４】
2010050939.tif 000016
【図１５】
2010050939.tif 000017