(57)【特許請求の範囲】
【請求項１】
複数個の通信識別子が含まれる定常状態の通信ログデータを入力し、通信識別子ごとに前記定常状態の通信ログデータにおける出現回数を計数する定常状態出現回数計数部と、
前記定常状態出現回数計数部による計数結果に基づき、出現回数が多い通信識別子を個別対応通信識別子に指定し、出現回数が少ない通信識別子を合算対応通信識別子に指定する通信識別子指定部と、
複数個の通信識別子が含まれる不正アクセス検知対象の通信ログデータを入力し、通信識別子ごとに前記不正アクセス検知対象の通信ログデータにおける出現回数を計数する検知対象出現回数計数部と、
前記検知対象出現回数計数部により計数された出現回数のうち、前記合算対応通信識別子に指定された通信識別子の出現回数を合算する出現回数合算部と、
前記個別対応通信識別子に指定された通信識別子に対する不正アクセス検知分析を前記検知対象出現回数計数部により計数された個々の通信識別子の出現回数を用いて行い、前記合算対応通信識別子に指定された通信識別子に対する不正アクセス検知分析を前記出現回数合算部により算出された出現回数の合算値を用いて行う不正アクセス検知分析部とを有することを特徴とする不正アクセス検知装置。
【請求項２】
前記通信識別子指定部は、
前記合算対応識別子に指定された複数個の通信識別子を二以上のグループの各々に分類し、
前記出現回数合算部は、
前記合算対応識別子のグループごとに、共通するグループに分類された通信識別子の出現回数を合算し、
前記不正アクセス検知分析部は、
前記合算対応通信識別子に指定された通信識別子に対する不正アクセス検知分析を、前記合算対応識別子のグループごとに、共通するグループに分類された通信識別子の出現回数の合算値を用いて行うことを特徴とする請求項１に記載の不正アクセス検知装置。
【請求項３】
前記不正アクセス検知分析部は、
複数の不正アクセス検知分析を並列に処理することが可能であり、
前記通信識別子指定部は、
前記合算対応識別子に指定された複数個の通信識別子を、前記不正アクセス検知分析部による不正アクセス検知分析の並列処理数及び前記個別対応通信識別子の個数から決定される個数のグループに分類することを特徴とする請求項２に記載の不正アクセス検知装置。
【請求項４】
前記通信識別子指定部は、
前記合算対応識別子に指定された複数の通信識別子のうち出現回数の多い通信識別子から順にグループに分類していくことを特徴とする請求項２又は３に記載の不正アクセス検知装置。
【請求項５】
前記通信識別子指定部は、
前記合算対応識別子に指定された複数の通信識別子からランダムに通信識別子を選択し、選択した通信識別子から順にグループに分類していくことを特徴とする請求項２又は３に記載の不正アクセス検知装置。
【請求項６】
前記通信識別子指定部は、
前記定常状態出現回数計数部による計数結果に基づき出現回数の多い通信識別子から順に前記個別対応通信識別子に指定するとともに、前記個別対応通信識別子に指定された通信識別子の出現回数の合計値が前記定常状態の通信ログデータにおける通信識別子の総出現回数に対して所定の割合となった場合に、前記個別対応通信識別子に指定されていない通信識別子を前記合算対応通信識別子に指定することを特徴とする請求項１又は２に記載の不正アクセス検知装置。
【請求項７】
前記通信識別子指定部は、
前記定常状態出現回数計数部による計数結果に基づき出現回数の多い通信識別子から順に前記個別対応通信識別子に指定するとともに、直近に個別対応通信識別子に指定された通信識別子の出現回数との差異が所定数以下となる通信識別子及び当該通信識別子よりも出現回数が少ない通信識別子を前記合算対応通信識別子に指定することを特徴とする請求項１又は２に記載の不正アクセス検知装置。
【請求項８】
前記通信識別子指定部は、
不正アクセスによる影響をシミュレートするためのシミュレーションデータを用いて、前記合算対応識別子のグループ数を決定することを特徴とする請求項２に記載の不正アクセス検知装置。
【請求項９】
前記定常状態出現回数計数部は、
通信識別子として、複数個の宛先ポート番号が含まれる定常状態の通信ログデータを入力し、宛先ポート番号ごとに前記定常状態の通信ログデータにおける出現回数を計数し、
前記通信識別子指定部は、
前記定常状態出現回数計数部による計数結果に基づき、出現回数が多い宛先ポート番号を個別対応通信識別子に指定し、出現回数が少ない宛先ポート番号を合算対応通信識別子に指定し、
前記検知対象出現回数計数部は、
通信識別子として、複数個の宛先ポート番号が含まれる不正アクセス検知対象の通信ログデータを入力し、宛先ポート番号ごとに前記不正アクセス検知対象の通信ログデータにおける出現回数を計数することを特徴とする請求項１〜８のいずれかに記載の不正アクセス検知装置。
【請求項１０】
前記定常状態出現回数計数部は、
通信識別子として、複数個の送信元アドレスが含まれる定常状態の通信ログデータを入力し、送信元アドレスごとに前記定常状態の通信ログデータにおける出現回数を計数し、
前記通信識別子指定部は、
前記定常状態出現回数計数部による計数結果に基づき、出現回数が多い送信元アドレスを個別対応通信識別子に指定し、出現回数が少ない送信元アドレスを合算対応通信識別子に指定し、
前記検知対象出現回数計数部は、
通信識別子として、複数個の送信元アドレスが含まれる不正アクセス検知対象の通信ログデータを入力し、送信元アドレスごとに前記不正アクセス検知対象の通信ログデータにおける出現回数を計数することを特徴とする請求項１〜８のいずれかに記載の不正アクセス検知装置。
【請求項１１】
前記不正アクセス検知分析部は、
不正アクセス検知分析として、通信識別子の出現回数の時間変動に対する主成分分析を行うことを特徴とする請求項１〜１０のいずれかに記載の不正アクセス検知装置。
【請求項１２】
コンピュータが、複数個の通信識別子が含まれる定常状態の通信ログデータを入力し、通信識別子ごとに前記定常状態の通信ログデータにおける出現回数を計数する定常状態出現回数計数ステップと、
コンピュータが、前記定常状態出現回数計数ステップによる計数結果に基づき、出現回数が多い通信識別子を個別対応通信識別子に指定し、出現回数が少ない通信識別子を合算対応通信識別子に指定する通信識別子指定ステップと、
コンピュータが、複数個の通信識別子が含まれる不正アクセス検知対象の通信ログデータを入力し、通信識別子ごとに前記不正アクセス検知対象の通信ログデータにおける出現回数を計数する検知対象出現回数計数ステップと、
コンピュータが、前記検知対象出現回数計数ステップにより計数された出現回数のうち、前記合算対応通信識別子に指定された通信識別子の出現回数を合算する出現回数合算ステップと、
コンピュータが、前記個別対応通信識別子に指定された通信識別子に対する不正アクセス検知分析を前記検知対象出現回数計数ステップにより計数された個々の通信識別子の出現回数を用いて行い、前記合算対応通信識別子に指定された通信識別子に対する不正アクセス検知分析を前記出現回数合算ステップにより算出された出現回数の合算値を用いて行う不正アクセス検知分析ステップとを有することを特徴とする不正アクセス検知方法。
【請求項１３】
複数個の通信識別子が含まれる定常状態の通信ログデータを入力し、通信識別子ごとに前記定常状態の通信ログデータにおける出現回数を計数する定常状態出現回数計数処理と、
前記定常状態出現回数計数処理による計数結果に基づき、出現回数が多い通信識別子を個別対応通信識別子に指定し、出現回数が少ない通信識別子を合算対応通信識別子に指定する通信識別子指定処理と、
複数個の通信識別子が含まれる不正アクセス検知対象の通信ログデータを入力し、通信識別子ごとに前記不正アクセス検知対象の通信ログデータにおける出現回数を計数する検知対象出現回数計数処理と、
前記検知対象出現回数計数処理により計数された出現回数のうち、前記合算対応通信識別子に指定された通信識別子の出現回数を合算する出現回数合算処理と、
前記個別対応通信識別子に指定された通信識別子に対する不正アクセス検知分析を前記検知対象出現回数計数処理により計数された個々の通信識別子の出現回数を用いて行い、前記合算対応通信識別子に指定された通信識別子に対する不正アクセス検知分析を前記出現回数合算処理により算出された出現回数の合算値を用いて行う不正アクセス検知分析処理とをコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不正アクセスの検知のためにネットワークトラフィックデータを解析する技術に関する。
【背景技術】
【０００２】
ネットワークトラフィックの時系列データに対して主成分分析（Ｐｒｉｎｃｉｐａｌ  Ｃｏｍｐｏｎｅｎｔ  Ａｎａｌｙｓｉｓ、以下ＰＣＡともいう）を行って不正アクセスを検知する場合がある。
従来の主成分分析による不正アクセスの時系列データ分析として、例えば、非特許文献１に記載されている技術がある。
非特許文献１では、ネットワークトラフィックデータをある一定の長さの１単位時間ずつシフトしながら切り出し、行列化し主成分分析を行い、特徴量を用いて異常を検知する方法が示されている。この方法では、主成分分析を行った結果、定常状態に該当する特徴量から乖離した特徴量をもつネットワークトラフィックデータを異常と判断する。
また、不正アクセスの時系列データ分析の例として、ＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）、ＵＤＰ／ＩＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）における特定のポート宛のパケット数の変動を監視することがある（例えば、特許文献１）。
【特許文献１】特開２００６−３１４０７７号公報
【非特許文献１】「定点観測による不正アクセス分析システム」  情報処理学会  ２００６−ＣＳＥＣ−３５
【発明の開示】
【発明が解決しようとする課題】
【０００３】
非特許文献１に示されるようにＰＣＡを利用した不正アクセスの検知、特にワームの活動の検知においては例えば特定の宛先ポートのアクセス数の変動を検知する方法がある。
従来のワームは、ある特定のポートへの感染を試みることが多かったが、最近のワームは様々な宛先ポートに接続してバックドア活動などを行ったり、拡散を試みたりする。
従って、常に全てのポートを監視することが重要である。
ところが、従来のＰＣＡによる宛先ポートにおけるアクセス数の時系列データの変動の検知においては、１回のＰＣＡにかかる時間が大きいため、全てのポート番号に対して個別にＰＣＡを実施することは困難であった。
ポート番号は０〜６５，５３５と非常に多いため、一つのポートをＰＣＡする場合、ある実装では例えばＰｅｎｔｉｕｍ４（登録商標）２．４Ｇで０．４秒かかるため、全ポートでは７時間以上の計算時間がかかってしまう。従って、頻繁に不正アクセスに利用される一部のポートの時系列データをＰＣＡにかけるのが一般的であった。
しかし、前述の様に最近のワームが様々なポートへのアクセスを行うことを鑑みると、ワームの活動を検知するためには全ポートの変動を同時に短時間でＰＣＡで検知することが必要である。
【０００４】
この発明は、上記のような課題を解決することを主な目的の一つとしており、不正アクセス検知のためのネットワークトラフィックデータの解析を短時間で効率的かつ高精度に行うことを主な目的とする。
【課題を解決するための手段】
【０００５】
本発明に係る不正アクセス検知装置は、
複数個の通信識別子が含まれる定常状態の通信ログデータを入力し、通信識別子ごとに前記定常状態の通信ログデータにおける出現回数を計数する定常状態出現回数計数部と、
前記定常状態出現回数計数部による計数結果に基づき、出現回数が多い通信識別子を個別対応通信識別子に指定し、出現回数が少ない通信識別子を合算対応通信識別子に指定する通信識別子指定部と、
複数個の通信識別子が含まれる不正アクセス検知対象の通信ログデータを入力し、通信識別子ごとに前記不正アクセス検知対象の通信ログデータにおける出現回数を計数する検知対象出現回数計数部と、
前記検知対象出現回数計数部により計数された出現回数のうち、前記合算対応通信識別子に指定された通信識別子の出現回数を合算する出現回数合算部と、
前記個別対応通信識別子に指定された通信識別子に対する不正アクセス検知分析を前記検知対象出現回数計数部により計数された個々の通信識別子の出現回数を用いて行い、前記合算対応通信識別子に指定された通信識別子に対する不正アクセス検知分析を前記出現回数合算部により算出された出現回数の合算値を用いて行う不正アクセス検知分析部とを有することを特徴とする。
【発明の効果】
【０００６】
本発明では、定常状態において出現回数が少ない合算対応通信識別子に対する不正アクセス検知分析を出現回数の合算値を用いて行うため、不正アクセス検知分析の件数を抑えることができ、不正アクセス検知分析を短時間で効率的かつ高精度に行うことができる。
【発明を実施するための最良の形態】
【０００７】
実施の形態１．
本実施の形態では、上述した課題を解決するために全ポートの変動を捉えるためのＰＣＡの回数を減らすことに着眼している。
その方法として、通信ログデータにおける出現回数（出現個数又はアクセス数ともいう）が大きいポートは従来どおり個別にＰＣＡを実施し、出現回数が小さいポートはその出現回数を足しこんでまとめてしまってから（マージしてから）ＰＣＡを実施する。このマージによりＰＣＡの数を減らす。
【０００８】
ワームの発生においては、時間の経過と共に感染が増え、ポートへのアクセス数が増加することを考慮すれば、普段、殆どアクセスの発生しないポートへのアクセス数をマージしたとしても、１つのポートにワームが感染すれば、そのアクセス数の増加はマージした結果に対しても現われてくるという予想に基づいている。
【０００９】
図１は、本実施の形態に係る不正アクセス検知装置１００の構成例を示す図である。
図１に示す不正アクセス検知装置１００は、例えば、ＩＤＳ（Ｉｎｔｒｕｓｉｏｎ  Ｄｅｔｅｃｔｉｏｎ  Ｓｙｓｔｅｍ）の一部を構成する。
【００１０】
図１において、データ取得部１０１は、ネットワーク機器の通信ログデータ１５０（以下、ネットワーク機器のログ１５０又はログ１５０という）を取り込む。
後述するように、不正アクセス検知装置１００の動作として、準備段階と検知段階の２段階があり、データ取得部１０１は、準備段階及び検知段階のそれぞれでログ１５０を取得する。
【００１１】
ポート別集計部１０２は、データ取得部１０１により取得されたネットワーク機器のログ１５０を入力し、ネットワーク機器のログ１５０から、集計期間内における各宛先ポート番号（以下、単に宛先ポート又はポートともいう）の出現頻度をカウントし、各宛先ポート番号別に、カウント値をポート別カウント１５１として出力する。
つまり、ネットワーク機器のログ１５０には複数個の宛先ポート番号（通信識別子）が含まれており、ポート別集計部１０２は、ネットワーク機器のログ１５０に含まれる各宛先ポート番号の一定期間における出現回数を係数し、ポート別カウント１５１として出力する。
ポート別集計部１０２は、準備段階では、定常状態のログ１５０を入力し、宛先ポート番号ごとに定常状態のログ１５０における出現回数を計数する。定常状態のログ１５０とは、一定期間分の通信ログデータであって、対象となるネットワークの通常の（平均的な）通信状態を示すと考えられる通信ログデータである。
また、ポート別集計部１０２は、検知段階で、複数個の宛先ポート番号が含まれる不正アクセス検知対象のログ１５０を入力し、宛先ポート番号ごとに不正アクセス検知対象のログ１５０における出現回数を計数する。
ポート別集計部１０２は、定常状態出現回数計数部及び検知対象出現回数計数部の例である。
【００１２】
ポート域分割部１０３は、ポート別カウント１５１に対してポート帯域を分割しポート別カウント１５１のマージを行い、マージしなかったポート別カウント１５１’及びその時系列データであるポート別時系列データ１５２を出力する。
さらに、マージしたポート別カウント１５１であるマージポートカウント１５３及びその時系列データであるマージポート時系列データ１５４を出力する。
【００１３】
ポート域分割部１０３は、ポート別集計部１０２による定常状態のログ１５０に対する計数結果に基づき、出現回数が多い宛先ポート番号を個別対応ポート（個別対応通信識別子）に指定し、出現回数が少ない宛先ポート番号をマージ対応ポート（合算対応通信識別子）に指定する。
個別対応ポートとは、主成分分析が単一のポート番号の出現回数に対して行われるポート番号である。つまり、個別対応ポートでは、主成分分析は当該個別対応ポート単独の出現回数を対象とする。一方、マージ対応ポートとは、主成分分析が複数のポート番号の出現回数の合算値に対して行われるポート番号である。つまり、マージ対応ポートでは、主成分分析はマージ対応ポートとして指定されている複数のポート番号の出現回数の合算値を対象とする。
また、ポート域分割部１０３は、ポート別集計部１０２によって不正アクセス検知対象のログ１５０に対して計数された出現回数のうち、マージ対応ポートに指定された宛先ポートの出現回数を合算し、合算値をマージポートカウント１５３として出力する。
ポート別時系列データ１５２は、定常状態のログ１５０における個別対応ポートの個々の出現回数の時系列データであり、マージポート時系列データ１５４は、定常状態のログ１５０におけるマージ対応ポートの出現回数の合算値の時系列データである。
また、ポート別カウント１５１’は、不正アクセス検知対象のログ１５０における個別対応ポートの個々の出現回数を示すデータであり、マージポートカウント１５３は、不正アクセス検知対象のログ１５０におけるマージ対応ポートの出現回数の合算値を示すデータである。
ポート域分割部１０３は、通信識別子指定部及び出現回数合算部の例である。
【００１４】
分析部１０４は、ポート別カウント１５１’に対して個別にＰＣＡを行い個別対応ポートごとに特徴量（主成分得点）１５５を算出する。
また、マージポートカウント１５３に対してＰＣＡを行いマージ対応ポートの特徴量（主成分得点）１５６を算出する。
つまり、分析部１０４は、個別対応ポートに指定された宛先ポート番号に対する不正アクセス検知分析をポート別集計部１０２により計数された個々の宛先ポート番号の出現回数（ポート別カウント１５１’）を用いて行い、マージ対応ポートに指定された宛先ポート番号に対する不正アクセス検知分析をポート域分割部１０３により算出された出現回数の合算値を用いて行う。
分析部１０４は、不正アクセス検知分析部の例である。
【００１５】
異常検知部１０５は、分析部１０４の主成分分析の結果において、現在のカウントの特徴量が定常域から逸脱（異常）しているか否か（定常）を検知する。
【００１６】
定常域データ定義部１０６は、ポート域分割部１０３と連携し定常状態の集計データ（ポート別時系列データ１５２及びマージポート時系列データ１５４）を保持する。
【００１７】
次に、本実施の形態に係る不正アクセス検知装置１００の動作について説明する。
【００１８】
まず、検知開始前の準備段階における不正アクセス検知装置１００の準備動作を図１１のフローチャートを参照しながら説明する。
データ取得部１０１は、定常域として扱う期間のネットワークトラフィックデータ、つまり定常状態のネットワークトラフィックデータ（例えば、１週間分のネットワーク機器のログ１５０）を受信し（Ｓ１１０１）、ポート別集計部１０２にデータを渡す。
ネットワークトラフィックデータとして例えば、図２の様なログファイルを取り込む。
図２のログファイルでは、パケットの捕捉日時（Ｄａｔｅ）に対して、送信元ＩＰアドレス（ＳｒｃＩＰ）、宛先ＩＰアドレス（ＤｓｔＩＰ）、宛先ポート番号（ＤｓｔＰｏｒｔ）、警告番号（ＡｌｅｒｔＩＤ）が示されている。
【００１９】
次に、ポート別集計部１０２が、データ取得部１０１から受け取ったネットワークトラフィックデータ（定常状態のログ１５０）から、宛先ポート番号別の出現回数をカウントし、宛先ポート番号別の出現回数の時系列データを生成する（Ｓ１１０２）（定常状態出現回数計数ステップ）。この例では、宛先ポートが０から６５５３５の各ポート番号別に出現回数の時系列データを生成する。
ポート別集計部１０２は、定められた集計時間、例えば５分間において、そのログ中の「宛先ポート０の出現個数」、「宛先ポート１の出現個数」、「宛先ポート２の出現個数」と順に数えていき、「宛先ポート６５５３５の出現個数」までそれぞれのポート宛の出現個数を数え上げる。これを集計時間毎に順に行うと、ポートごとに出現回数の時系列データが生成できる。
【００２０】
例えば、図２のログの例であれば、０６／０４／１８：１２：００から５分間の間にポート番号４４５は３個、ポート番号１３５は２個、ポート番号１２３は１個、ポート番号１４３４は１個出現しており、その他のポートは全て０回の出現個数である。
この作業を５分ごとに行えば、各ポートについて５分集計の時系列データが生成される。
ログデータが１週間分であれば、６０分×２４時間×７日＝１００８０分であり、５分で割れば２０１６個の集計値から構成される時系列データが得られる。
【００２１】
当処理をフローチャートで表したのが、図３である。まず、ｊは集計期間の単位のインデックスである。例えば、０６／０４／１８：１２：００から５分を集計期間とし１週間のログデータを与えるのであれば、以下の様になる。
０６／０４／１８：１２：００  から５分間  ｊ＝１
０６／０４／１８：１２：０５  から５分間  ｊ＝２
０６／０４／１８：１２：１０  から５分間  ｊ＝３
・・・
０６／０４／２５：１２：１０  から５分間  ｊ＝２０１６
これは、図３において、ｋ＝１、ｎ＝２０１６＋１とした場合に相当する。
【００２２】
次に、フローにおいては、ポート別集計部１０２は、ｊ＝１の場合は、まず、ポート番号に相当するインデックスｉに０を設定し、ｊ＝１の集計期間中のログに現われた宛先ポートが０の出現回数をカウントする（Ｓ３０３）。
次に、カウント値をＣｏｕｎｔ＿０＿１に設定する（Ｓ３０４）。
次に、ｉを１増やす（Ｓ３０５）。これは、次のポート番号の出現回数をカウントするための準備である。
同様に、宛先ポートが１の出現回数をカウントし（Ｓ３０３）、Ｃｏｕｎｔ＿１＿１に設定する（Ｓ３０４）。
これをｉ＝６５５３５まで繰り返すと（Ｓ３０２）、Ｃｏｕｎｔ＿０＿１〜Ｃｏｕｎｔ＿６５５３５＿１が出力される。
Ｃｏｕｎｔ＿０＿１〜Ｃｏｕｎｔ＿６５５３５＿１は、集計期間のインデックスｊ＝１、つまり０６／０４／１８：１２：００から５分間における各ポートのログ中の出現頻度である。
【００２３】
ポート別集計部１０２は、上記作業を、ｊ＝１〜ｊ＝２０１６について繰り返す（Ｓ３０１）。
この結果、各ポートにおけるｊ＝１〜２０１６の時系列データが生成される。
図４は、０から６５５３５の各ポート番号別に時系列データを生成した例である（ＤｓｔＰｏｒｔ＝０、１００００、６５５３５に関してのみグラフを表記している）。
ポート別集計部１０２はこの各ポートの時系列データをポート別時系列データ１５２としてポート域分割部１０３に渡す。つまり、Ｃｏｕｎｔ＿ｉ＿ｊ（ｉ＝０〜６５５３５、ｊ＝１〜２０１６）を渡す。
【００２４】
ポート域分割部１０３では渡されたポート別時系列データ１５２を元に、定常時にアクセス数の平均が高いものと低いものに分割して、個別対応ポートとマージ対応ポートを指定する処理を行う（Ｓ１１０３）（通信識別子指定ステップ）。これをポート域の分割処理と呼ぶことにする。
【００２５】
ここで、ポート域の分割処理の詳細を説明する。
まず、ポート域分割部１０３は受け取った各ポートの時系列データごとに平均μｉと分散σ２ｉを計算する。
例えばポート番号０については、以下の計算になる。
μ０  ＝ΣＣｏｕｎｔ＿０＿ｊ［ｊ＝１〜２０１６］／２０１６
σ２０＝Σ（Ｃｏｕｎｔ＿０＿ｊ−μ０）２［ｊ＝１〜２０１６］／２０１６
また、同様にして、ポート域分割部１０３は、（μ０、σ２０）・・・（μ６５５３５、σ２６５５３５）を求める。
【００２６】
次に、ポート域分割部１０３は、平均μに基づき、平均的にアクセス数が多い順にポート番号のソートを行う。
その結果、図５のヒストグラムが得られる（図４と図５のポート番号は一致していない）。この例では、（１）の宛先ポート４４５では平均で１，０００のアクセス数、宛先ポート１３５、宛先ポート１３９では７００以上があるが、それ以外の（２）の宛先ポートでは０〜１程度しかない。
この様にソートしたヒストグラムにおいて、（１）の様にアクセス数が多いグループは個別にＰＣＡをかける対象である個別対応ポートとする。逆に（２）の様に通常アクセス数が小さいか殆ど無いグループに関してはこのグループ内全てのアクセス数をマージする対象であるマージ対応ポートとする。
【００２７】
次に、ポート域分割部１０３は、マージ対応ポートの出現回数をマージして、マージ後の出現回数の時系列データであるマージポート時系列データ１５４を生成する（Ｓ１１０４）。
【００２８】
マージとは、以下の様に示される。
グループ（２）のようにマージ対象となるポート番号の集合を、ＭｅｒｇｅＰｏｒｔ＝｛０〜６５５３５，｜４４５，１３５，１３９を除く｝とする。ここでは例として分かりやすくするため、殆どアクセスが無いと仮定した（０〜１アクセス程度）。
ＭｅｒｇｅＣｏｕｎｔ＿ｊ＝ΣＣｏｕｎｔ＿ｉ＿ｊ
ｉ＝｛０〜６５５３５，｜４４５，１３５，１３９を除く｝
として計算される。
当例では、ｊ＝１〜２０１６までそれぞれのｊについてマージを行う。これをフローで表したのが図６であり、ｋ＝１，ｎ＝２０１７とした場合である。
つまり、この処理の結果得られるのは、ＭｅｒｇｅＣｏｕｎｔ＿ｊ［ｊ＝１〜２０１６］である。
ＭｅｒｇｅＣｏｕｎｔ＿ｊをｊを１から時系列に並べていけば図７の様にマージされたデータの時系列データが生成される。
【００２９】
ポート域分割部１０３は、単独のポート番号の時系列データであるポート別時系列データ１５２とマージされた時系列データであるマージポート時系列データ１５４を定常域データ定義部１０６に渡す。
ポート別時系列データ１５２はこの例では、Ｃｏｕｎｔ＿４４５＿ｊ、Ｃｏｕｎｔ＿１３５＿ｊ、Ｃｏｕｎｔ＿１３９＿ｊ［ｊ＝１〜２０１６］の時系列データである。
マージポート時系列データ１５４はこの例では、ＭｅｒｇｅＣｏｕｎｔ＿ｊ［ｊ＝１〜２０１６］である。
【００３０】
定常域データ定義部１０６では、ポート域分割部１０３から受け取ったポート別時系列データ１５２とマージポート時系列データ１５４を保存する（Ｓ１１０５）。
ここまでが、検知開始前の準備動作である。
【００３１】
次に、検知段階における不正アクセス検知装置１００の検知動作を図１２のフローチャートを参照しながら説明する。
【００３２】
データ取得部１０１はネットワーク機器のログ１５０を５分間分受信し（Ｓ１２０１）、ポート別集計部１０２に渡す。
データ取得部１０１が受信したこの５分間分のネットワーク機器のログ１５０は、不正アクセス検知対象のログである。
【００３３】
ポート別集計部１０２では、宛先ポートごとにログ中の出現個数をカウントし（Ｓ１２０２）（検知対象出現回数計数ステップ）、ポート別カウント１５１としてポート域分割部１０３に渡す。
当処理は、図３の処理において、ｋ＝２０１７、ｎ＝２０１８とおくことに等しく、この結果得られる、Ｃｏｕｎｔ＿ｉ＿２０１７［ｉ＝０〜６５５３７］がポート別カウント１５１である。
【００３４】
次に、ポート域分割部１０３では、以下の２つの処理（（１）個別対応ポートに対する処理及び（２）マージ対応ポートに対する処理）を行う。
【００３５】
ポート域分割部１０３は、（１）個別対応ポートに対する処理として、検知開始前の準備動作で決定された単独でＰＣＡをかける個別対応ポートであるポート番号４４５、１３５、１３９に対しては、ポート別集計部１０２から渡された該当するポート番号の集計数を使用する。
つまり、Ｃｏｕｎｔ＿４４５＿２０１７、Ｃｏｕｎｔ＿１３５＿２０１７、Ｃｏｕｎｔ＿１３９＿２０１７をポート別カウント１５１’として分析部１０４へ出力する。
【００３６】
また、ポート域分割部１０３は、（２）マージ対応ポートに対する処理として、検知開始前の準備動作で決定されたマージ対応ポートに該当するポート番号に対して、検知開始前の準備動作と同様に渡された該当するポート番号の集計数を足しこむ（Ｓ１２０３）（出現回数合算ステップ）。
つまり、ＭｅｒｇｅＣｏｕｎｔ＿２０１７＝ΣＣｏｕｎｔ＿ｉ＿２０１７
ｉ＝｛０〜６５５３５，｜４４５，１３５，１３９を除く｝
を計算する。
次に、ポート域分割部１０３は、ＭｅｒｇｅＣｏｕｎｔ＿２０１７をマージポートカウント１５３として分析部１０４へ出力する。
【００３７】
分析部１０４では、以下の２つの処理（（１）個別対応ポートに対する処理及び（２）マージ対応ポートに対する処理）を行い、ポート別カウント１５１’、マージポートカウント１５３、ポート別時系列データ１５２及びマージポート時系列データ１５４を用いて主成分分析（不正アクセス検知分析）を行う（Ｓ１２０４）（不正アクセス検知分析ステップ）。
【００３８】
先ず、（１）個別対応ポートに対する処理として、分析部１０４は、定常域データ定義部１０６からポート番号４４５に対応するポート別時系列データ１５２を取り出す。つまり、Ｃｏｕｎｔ＿４４５＿ｊ［ｊ＝１〜２０１６］を取り出す。
次に、分析部１０４は、当時系列データの末尾にＣｏｕｎｔ＿４４５＿２０１７を追加する。つまり、Ｃｏｕｎｔ＿４４５＿ｊ［ｊ＝１〜２０１７］を生成する。
そして、分析部１０４は、この時系列データに対してスライディングウィンドウ方式のＰＣＡをかけ、特徴量１５５を算出する。
特徴量１５５は異常検知部１０５へ送られる。同様の処理を、ポート番号１３５、１３９についても同じ処理を行う。
【００３９】
また、（２）マージ対応ポートに対する処理として、分析部１０４は、定常域データ定義部１０６からマージデータに対応するマージポート時系列データ１５４を取り出す。つまり、ＭｅｒｇｅＣｏｕｎｔ＿ｊ［ｊ＝１〜２０１６］を取り出す。
次に、分析部１０４は、この時系列データの末尾にＭｅｒｇｅＣｏｕｎｔ＿２０１７を追加する。つまり、ＭｅｒｇｅＣｏｕｎｔ＿ｊ［ｊ＝１〜２０１７］を生成する。
そして、分析部１０４は、時系列データに対してスライディングウィンドウ方式のＰＣＡをかけ、特徴量１５６を算出する。
特徴量１５６は異常検知部１０５へ送られる。
【００４０】
異常検知部１０５では、以下の処理（（１）個別対応ポートに対する処理及び（２）マージ対応ポートに対する処理）を行って、異常検知を行う（Ｓ１２０５）。
【００４１】
異常検知部１０５は、（１）個別対応ポートに対する処理として、ポート番号４４５に対応する特徴量において、Ｃｏｕｎｔ＿４４５＿２０１７に対応する特徴量が、Ｃｏｕｎｔ＿４４５＿ｊ［ｊ＝１〜２０１６］に対応する特徴量に対して乖離しているか否かを判定する。乖離していれば異常と判定する。
異常と判定されなかった場合は、定常域データ定義部はＣｏｕｎｔ＿４４５＿ｊ［ｊ＝１〜２０１７］を定常時の時系列データとして扱い、次の集計データの判定に備える。
同様に、ポート番号１３５、１３９についても同じ処理を行う。
【００４２】
また、異常検知部１０５は、（２）マージ対応ポートに対する処理として、マージされたポートの時系列データに対応する特徴量において、ＭｅｒｇｅＣｏｕｎｔ＿２０１７に対応する特徴量が、ＭｅｒｇｅＣｏｕｎｔ＿ｊ［ｊ＝１〜２０１６］に対応する特徴量に対して乖離しているか否かを判定する。乖離していれば異常と判定する。
異常と判定されなかった場合は、定常域データ定義部はＭｅｒｇｅＣｏｕｎｔ＿ｊ［ｊ＝１〜２０１７］を定常時の時系列データとして扱い、次の集計データの判定に備える。
【００４３】
マージ対応ポートの時系列データについて異常が検出された場合は、実際に出現回数が増加したポートを調べる必要がある。
そのためには、図８の様に、検知したタイミングでのマージ対応ポートの出現回数のヒストグラムを生成し、マージ対応ポートの中から、出現回数が増加したポートを見つければよい。
例えば、ｊ＝２０１７で異常が判定された場合、ｊ＝２０１７におけるマージ対応ポートのアクセス数のヒストグラムを作成する。
図８では、ポート５５５５番が増加しているため、このポート番号において異常が発生したと判断する。
アクセス数の増加したポートの見つけ方としては、マージ対応ポートにおけるＣｏｕｎｔ＿ｉ＿２０１７［ｉ＝０〜６５５３５｜４４５，１３５，１３９を除く］を大きい順にソートし、一番大きいＣｏｕｎｔ＿ｉ＿２０１７のｉが原因となるポートと判断する。この例ではｉ＝５５５５である。
【００４４】
マージ対応ポートは、元々、個々のアクセス数が無いか、非常に小さいため、多数個足しこんだ場合において、仮に１つのポートでワームが発生してもその影響はマージポートカウント中にも顕著に現われる可能性がある。
【００４５】
このように、本実施の形態に係る不正アクセス検知装置では、アクセス数の少ないポートについてアクセス数をマージすることでＰＣＡの個数を減らすことが可能となる。
【００４６】
以上、本実施の形態では、アクセス数の多いポートと少ないポートを分け、アクセス数の多いポートにはその時系列データに対して単独でスライディングウィンドウのＰＣＡによる分析を行い、アクセス数の少ないポートはその時系列データを足し合わせた結果に対してスライディングウィンドウのＰＣＡによる分析を行うことにより、ＰＣＡの処理個数を減らし計算時間を短縮する不正アクセス検知装置について説明した。
【００４７】
実施の形態２．
次に、ポート域分割部１０３における分割の方法について説明する。
実施の形態１では、アクセス数の多いポート番号４４５、１３５、１３９の３つを個別対応ポートとし、残りのポートは全てアクセス数が極めて少ないか０と仮定した。
つまり、実施の形態１は、マージ対応ポートを１つしか設けず、個別対応ポート以外のポートはすべて単一のマージ対応ポートに分類していた。
しかし、実際には６５，５３６−３＝６５，５３３個のポートの全てのアクセス数が１または０とは限らず、６５，５３３個のポートのアクセス数を全部足しこむと、１つの集計時間で１０，０００を超える可能性もある。
ここで、仮に１つのポートでワームが発生し、アクセス数が１から１００に増えたとする。しかし、マージされたデータでは、１０，１００程度であり、この値を増加として捉えられない可能性がある。つまり、誤差の範囲として捉えられてしまう可能性があるということである。
【００４８】
そこで、本実施の形態では、ワームによるアクセス数の増加を捉えるために、マージ対応ポートを複数のグループに分割し１つのグループのマージ結果が小さくなるようにする。
具体的には、不正アクセス検知装置１００において性能的に同時に実施可能なＰＣＡの数をＮとおく。不正アクセスに用いられる既知のポート（過去のインターネットの調査結果によれば統計的には１０個程度である）数をＭとおく。
ポート域分割部１０３は、ポート別集計部１０２による定常状態のログ１５０に対する集計結果に従い、アクセス数の多い順にＭ個のポートを個別対応ポートとして指定する。
そして、Ｋ＝Ｎ−Ｍはマージした時系列データをＰＣＡで処理できる上限値となり、マージ対応ポートの分割数となる。
このため、ポート域分割部１０３は、上記のＭ個の個別対応ポート以外のポートをマージ対応ポートとして指定するとともに、マージ対応ポートをＫ個のグループに分類する。
【００４９】
本実施の形態では、図５の様にソートされたヒストグラムにおいて、単独でＰＣＡを実施する上位Ｍ個のポート（個別対応ポート）を除いた残りを、単純に（６５５３６−Ｍ）／Ｋとして分割する。
つまり、例えば、Ｎ＝３０、Ｍ＝１０の場合、Ｋ＝２０であるから、（６５５３６−１０）／２０≒３２７６となる。
つまり、ヒストグラムで、上位１１位以降のポートを３２７６個ずつ２０のグループに分類し、グループごとにアクセス数をマージし、各グループにおいてＭｅｒｇｅＣｏｕｎｔ＿ｊを生成する方式である。
【００５０】
マージする単位（グループ）が決まった場合の不正アクセス検知装置１００の各構成の働きは、実施の形態１におけるマージするデータの処理と同じ処理を各マージ単位に実施するものである。
つまり、検知開始前の準備動作においては、ポート域分割部１０３は、定常状態のログ１５０に関して、マージ対応ポートのグループごとに共通するグループに分類されているポートの出現回数を合算する。このため、マージポート時系列データ１５４がグループ数（上記の例では２０）だけ生成される。
また、検知動作についても、マージポートカウント１５３が２０あり各々に実施の形態１のときと同じ処理を行う。つまり、ポート域分割部１０３は、不正アクセス検知対象のログ１５０に関して、マージ対応ポートのグループごとに共通するグループに分類されているポートの出現回数を合算する。このため、マージポートカウント１５３がグループ数（上記の例では２０）だけ生成される。そして、分析部１０４は、マージ対応ポートについては、グループごとに、マージポートカウント１５３及びマージポート時系列データ１５４を用いて主成分分析を行う。
【００５１】
このように、本実施の形態では、マージ対応ポートを複数のグループに分類するため、単一のマージ対応ポートする場合に比べて各グループのマージされた出現回数が小さくなり、マージ対応ポートにおける出現回数の増加を検出しやすくなり、異常検知の精度が向上する。
【００５２】
以上、本実施の形態では、監視するポートをまとめることでＰＣＡの数を減らし処理を効率化するが、そのまとめ方の方式として、不正アクセス検知装置のＰＣＡの同時処理個数（同時に処理可能な個数）に基づき、アクセス数の平均でソートされたポートについて、上位から固定数で区切ってマージする方式について説明した。
【００５３】
実施の形態３．
実施の形態２では、マージ対応ポートにおいて、ソートされた上位から固定個数（例として３２７６）ずつ分割したのに対し、実施の形態３では、ポート別集計部１０２による定常状態のログ１５０に対する集計結果について、単独でＰＣＡを実施するＭ個のポート（個別対応ポート）以外は、ランダムに各ポートを並べ、ランダムに並べた最初のポートから、３２７６ずつ分割する。
実施の形態２では、ソートされた上位側のマージ単位程、ＭｅｒｇｅＣｏｕｎｔ＿ｊが大きくなる可能性があったが、本実施の形態では、ランダムにグループ分けをするため、グループ別のＭｅｒｇｅＣｏｕｎｔ＿ｊの偏りが無くなる。
【００５４】
なお、本実施の形態においても、検知動作は実施の形態１に示したとおりであり、ポート域分割部１０３は、不正アクセス検知対象のログ１５０に関して、マージ対応ポートのグループごとに共通するグループに分類されているポートの出現回数を合算する。そして、分析部１０４は、マージ対応ポートについては、グループごとに、マージポートカウント１５３及びマージポート時系列データ１５４を用いて主成分分析を行う。
【００５５】
このように、本実施の形態では、ポート域分割部１０３は、マージ対応ポートに指定された複数の宛先ポートからランダムに宛先ポートを選択し、選択した宛先ポートから順にグループに分類していくため、グループ間の出現回数の偏りが減少し、このため、出現回数の増加を検出しやすくなり、異常検知の精度が向上する。
【００５６】
以上、本実施の形態では、監視するポートをまとめることでＰＣＡの数を減らし処理を効率化するが、そのまとめ方の方式として、不正アクセス検知装置のＰＣＡの同時処理個数（同時に処理可能な個数）に基づき、ランダムに選んだポートを固定数でマージする方式について説明した。
【００５７】
実施の形態４．
本実施の形態では、図９のようにアクセス数の平均でソートしたポート番号に対して、アクセス数の全体に対する上位のポートの割合で、単独でＰＣＡを実施する個別対応ポートとマージするマージ対応ポートを決める方式について説明する。
【００５８】
本実施の形態では、ポート域分割部１０３は、ポート別集計部１０２による定常状態のログ１５０に対する集計結果について、アクセス数の上位のポートからアクセス数を足し合わせていき、全体のアクセス数に対して一定の割合に達した段階を個別対応ポートとマージ対応ポートとの境界と決定する。
例えば、図９の（１）に含まれるポートのアクセス数を全て足すと全体の９０％に相当するのであれば、残りの（２）に属するポートについてはトラフィックの少ないポートと見なす事ができ、マージを行う。
この場合は（１）に含まれるポートの数が、最高でＮ−１である必要がある（Ｎは、不正アクセス検知装置１００が並列処理可能なＰＣＡの数）。
【００５９】
なお、本実施の形態においても、検知動作は実施の形態１に示したとおりであり、ポート域分割部１０３は、不正アクセス検知対象のログ１５０に関して、マージ対応ポートのグループごとに共通するグループに分類されているポートの出現回数を合算する。そして、分析部１０４は、マージ対応ポートについては、グループごとに、マージポートカウント１５３及びマージポート時系列データ１５４を用いて主成分分析を行う。
【００６０】
このように、本実施の形態では、ポート域分割部１０３が、ポート別集計部１０２による定常状態のログ１５０に対する計数結果に基づき出現回数の多い宛先ポート番号から順に個別対応ポートに指定するとともに、個別対応ポートに指定された宛先ポート番号の出現回数の合計値が定常状態のログ１５０における宛先ポート番号の総出現回数に対して所定の割合（例えば、９０％）となった際に個別対応ポートに指定されていない宛先ポート番号をマージ対応ポートに指定する。
このため、マージ対応ポートに指定される各ポート番号の出現回数が少数となり、マージ対応ポートにおける出現回数の増加を検出しやすくなり、異常検知の精度が向上する。
【００６１】
以上、本実施の形態では、監視するポートをまとめることでＰＣＡの数を減らし処理を効率化するが、そのまとめ方の方式として、マージするポート数を全体のトラフィック量に対する固定の割合で決める方式について説明した。
【００６２】
実施の形態５．
本実施の形態では、ポート別集計部１０２による定常状態のログ１５０に対する集計結果について、ソートされたポートの隣同士の差分を計算していき差分が一定の値より小さくなった場合に、個別対応ポートとマージ対応ポートとの境界として定める。
但し、偶然上位にある２つのポートのアクセス数の差が小さかった場合は、誤って判定してしまうので、アクセス数についても条件を設ける。
例えば、アクセス数が１０個以下で、ソートした隣のポート番号（直近に個別対応ポートに指定されたポート番号）のアクセス数との差が２以下になった時点で境界と定める。
本実施の形態に係る方式は、図１０に例示するように、トラフィック量が上位の方のポートでは差分が大きくバラつきがあるが（図１０の（１）の領域）、下位のポートになるにつれて差分が小さくなる（差分が収束していく）（図１０の（２）の領域）という経験的な予想を前提としている。
そして、図１０では、（１）の領域に含まれるポートを個別対応ポートとし、（２）の領域に含まれるポートをマージ対応ポートとしている。
【００６３】
なお、本実施の形態においても、検知動作は実施の形態１に示したとおりであり、ポート域分割部１０３は、不正アクセス検知対象のログ１５０に関して、マージ対応ポートのグループごとに共通するグループに分類されているポートの出現回数を合算する。そして、分析部１０４は、マージ対応ポートについては、グループごとに、マージポートカウント１５３及びマージポート時系列データ１５４を用いて主成分分析を行う。
【００６４】
このように、本実施の形態では、ポート別集計部１０２による定常状態のログ１５０に対する計数結果に基づき出現回数の多い宛先ポート番号から順に個別対応ポートに指定するとともに、直近に個別対応ポートに指定された宛先ポート番号の出現回数との差異が所定数以下（例えば、２以下）となる宛先ポート番号及び当該宛先ポート番号よりも出現回数が少ない宛先ポート番号をマージ対応ポートに指定する。
このような方法によっても、マージ対応ポートに指定される各ポート番号の出現回数が少数となり、マージ対応ポートにおける出現回数の増加を検出しやすくなり、異常検知の精度が向上する。
【００６５】
以上、本実施の形態では、監視するポートをまとめることでＰＣＡの数を減らし処理を効率化するが、そのまとめ方の方式として、アクセス数の平均でソートされたポートの隣同士の差分を計算していき差分が一定の値より小さくなった場合に、個別にＰＣＡを行うポートと１つにマージするポートの境界を決める方式について説明した。
【００６６】
実施の形態６．
本実施の形態では、ワームの発生時のアクセス数の増加が、ＭｅｒｇｅＣｏｕｎｔ＿ｊにおける時系列データに埋もれないようにするためにＭｅｒｇｅＣｏｕｎｔ＿ｊの上限を決める。その手段として、ワームのシュミレーションデータを用いる。
つまり、本実施の形態では、ポート域分割部１０３は、マージ対応ポートを複数のグループに分割するが、分割の際に、不正アクセスによる影響をシミュレートするためのシミュレーションデータを用いて、各グループにおける出現回数の合算値の上限を計算して、分割するグループ数を決定する。
【００６７】
文献
Ｃ．Ｃ．Ｚｏｕ，  Ｌ．Ｇａｏ，  Ｗ．Ｇｒｏｎｇ，  ａｎｄ  Ｄ．Ｔｏｗｓｌｅｙ，“Ｍｏｎｉｔｏｒｉｎｇ  ａｎｄ  Ｅａｒｌｙ  Ｗａｒｎｉｎｇ  ｆｏｒ  Ｉｎｔｅｒｎｅｔ  Ｗｏｒｍｓ”，Ｉｎ  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  １０ｔｈ  ＡＣＭ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｃｏｍｐｕｔｅｒ  ａｎｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ  Ｓｅｃｕｒｉｔｙ  （ＣＣＳ’０３），  ２００３．
によれば、下記の式で全感染ホスト数の時間変化が表現される。
Ｉｔ＝（１＋α）Ｉｔ−１−（α／Ｎ）Ｉ２ｔ−１
Ｚｔ＝ｍ／２３２ηＩｔ−１
Ｎ：脆弱性を持つ全ホスト数、Ｉｔ：時刻ｔにおける全感染ホスト数、α：感染レート、Ｚｔ：時刻ｔで観測されるアクセス数に対するワームによる影響、ｍ：監視ホスト数、η：ワームからの単位時間あたりの平均アクセス数。
【００６８】
ある例によると、１週間にわたって３０分間隔の平均アクセス数を調べたところ、全ポートの内の約６０，０００個のポートがアクセス数０であり、約５，０００ポートについてアクセス数が１〜３であった。このアクセス数が０である６０，０００ポートに関してはまとめてしまってもワームからの検知が容易にできる（全部まとめてしまってもアクセス数が０になるので、ワームからのアクセス数が鋭敏にでる）。
アクセス数が１〜３のポートに関しては、ワームのアクセス数が埋もれてしまわない範囲内で足しあわさなければならない（アクセス数が１〜３のポートでも５，０００個のポートを足せばアクセス数が５，０００〜１５，０００になってしまう）。
そこで、ポート域の足し合わせの指標として上記のワームアクセス数のシミュレーションデータを用いる。
【００６９】
上記の式において、ワームがＣｏｄｅＲｅｄ型であると仮定すると各パラメータは以下のようになる。
時刻ｔ−１での全感染ホスト数Ｉｔ−１＝５０，０００、監視ホスト数ｍ＝１
ワームからの３０分間あたりの平均アクセス数η＝１，０７１
従って、時刻（ｔ−１）からｔでのワームからのパケット数Ｚｔは、
Ｚｔ＝１／２３２×１０７１×５０，０００＝８，１７１  となる（時間間隔は３０分）。
【００７０】
この時、ポート域のアクセス数が８，０００になるまで、ポート毎のアクセス数を足し合わせたとする。
ここで、足し合わせたポートのうち一つが感染した場合に、ワームのアクセス数８１７１が加わるので、全体として約２倍のアクセス数になる。この場合は、明らかにアクセス数に変化があるので、精度よくワームの検知が出来る。
従って、アクセス数が３のポートを５，０００個監視するためには、８，０００／３≒２，６６６より、５，０００個のポートを２，６６６個と２，３３４個ずつ２つのポート域に分割して、各々をＰＣＡすればよい。
この方法によって５，０００個のポートのアクセス数の時系列データを５，０００個、個別にＰＣＡにかけなくても、２つのマージしたポート域をＰＣＡにかけることによってワームの検知を行う事ができる。
【００７１】
このように、本実施の形態では、ポート域分割部１０３は、個別対応ポートを実施の形態１〜５のいずれかに示す方法により決定するとともに、マージ対応ポートについては、上記のＺｔ＝８，１７１という計算結果に基づき、マージ対応ポートの各グループのアクセス数の合算値の上限を８，０００と決定する。そして、この８，０００をマージ対応ポートの各ポートに想定されるアクセス数（３アクセス）で除した値（２，６６６）を各グループのポート数の上限として各ポートを複数のグループに分類する。
グループへの分類の方法は、例えば、実施の形態２に示すように平均アクセス数でソートされた上位のポート番号から順に分類してもよいし、又は実施の形態３に示すようにランダムに並べられたポート番号の出現順に分類してもよい。
【００７２】
上記の例ではＣｏｄｅＲｅｄの例を挙げたが、より緩やかなアクセス数の増加を見せるワームもある。
その場合は、検知対象とすべきワームの種類に基づき、パラメータを変更する。例えばηを小さくする。η＝１００とした場合は、Ｚｔ＝８１７となる。この場合は足し合わせた数が８００になるように５，０００のポートを分割する。アクセス数が３のポートを５０００個監視するためには、８００／３アクセス＝２６７ポート数の足しあわせであればアクセス数の合計は８００を超えない。従って、例えば、５０００／２６７＝１８個のポート域（グループ）に分割する。このことにより、マージしたポート域において感染が発生しても通常の２倍のアクセス数が観測される。
【００７３】
また、通常の２倍で無ければＰＣＡでは検知できないかというと、ＰＣＡで検知する際のパラメータチューニングの方式により、実験的には１．５倍以下でも検知が可能である。
仮に１．５倍を目安とした場合は、η＝１００とした場合は、Ｚｔ＝８１７となるため、アクセス数の合計が１，６００になるまでマージが可能である。
つまり、ワームが発生しても１，６００＋８１７≒１，６００＊１．５となる。
この場合は、１，６００／３アクセス＝５３３ポート数より、５０００／５３３＝９となり、９個のポート分割（９グループへの分割）ですむことになる。
【００７４】
なお、本実施の形態においても、検知動作は実施の形態１に示したとおりであり、ポート域分割部１０３は、不正アクセス検知対象のログ１５０に関して、マージ対応ポートのグループごとに共通するグループに分類されているポートの出現回数を合算する。そして、分析部１０４は、マージ対応ポートについては、グループごとに、マージポートカウント１５３及びマージポート時系列データ１５４を用いて主成分分析を行う。
【００７５】
このように、実施の形態では、ワームの拡散状況を想定し分割するポート域を決定することが可能である。
本実施の形態に係る方法では、シミュレーションデータに基づき、ワームによるアクセス数の増加があっても当該アクセス数の増加が埋もれてしまわないようにマージ対応ポートを分割しているため、いずれかのグループのポートにおいてワームによりアクセス数が増加した場合に、的確に異常を検知することができる。
【００７６】
以上、本実施の形態では、監視するポートをまとめることでＰＣＡの数を減らし処理を効率化するが、そのまとめ方の方式として、ワームの発生時のアクセスの増加がポートのマージにより埋もれないようにするために、ワーム発生のシュミレーションデータを利用し、埋もれないポートのマージ単位を決定する方式について説明した。
【００７７】
実施の形態７．
今までの実施の形態では、宛先ポート番号別の集計を扱ってきた。
実施の形態では、宛先ポート番号の代わりに、ＩＰアドレス別の集計を行うことに適用する。
【００７８】
ＩＰアドレスは、そのクラスにより例えばクラスＢであれば１ネットワークアドレスあたり６５，５３４個のホストが存在することになる。
例えば、送信元が、クラスＢのある１つのネットワークアドレスのホスト全てについてＰＣＡでアクセス数を監視しようとした場合に、その監視数は６５，５３４となりポート番号と同じ課題が生じる。
そこで、当実施の形態では実施の形態１〜６でポート別に集計した処理をＩＰアドレス別の集計に置き換えたものである。
ＳｒｃＩＰアドレス（送信元ＩＰアドレス）ごとに集計した場合、実施の形態１〜６のポートの処理をＳｒｃＩＰアドレスに置き換えるのみでよい。
その結果、普段通信の多いＳｒｃＩＰアドレスは個別にＰＣＡを行い、通信の殆ど無いＳｒｃＩＰアドレスはマージされることで、ＰＣＡの個数を減らすことが可能となる。
また、同様にして、ＤｓｔＩＰアドレス（宛先ＩＰアドレス）についても、普段通信の多いＤｓｔＩＰアドレスは個別にＰＣＡを行い、通信の殆ど無いＤｓｔＩＰアドレスはマージしてＰＣＡを行ってもよい。
また、宛先ポート番号、送信元ＩＰアドレス、宛先ＩＰアドレスの組み合わせに対して、実施の形態１〜６に示す手法を適用してもよい。
また、図２に示すログファイルには記述されていないが、ログファイルに送信元ポート番号が記述される場合には、送信元ポート番号に対して、実施の形態１〜６に示す手法を適用してもよい。
【００７９】
以上、本実施の形態では、実施の形態１〜６に示す手法をＳｒｃＩＰアドレス又はＤｓｔＩＰアドレス別のアクセス数の変化の検知に適用する方式について説明した。
【００８０】
最後に、実施の形態１〜７に示した不正アクセス検知装置１００のハードウェア構成例について説明する。
図１３は、実施の形態１〜７に示す不正アクセス検知装置１００のハードウェア資源の一例を示す図である。
なお、図１３の構成は、あくまでも不正アクセス検知装置１００のハードウェア構成の一例を示すものであり、不正アクセス検知装置１００のハードウェア構成は図１３に記載の構成に限らず、他の構成であってもよい。
【００８１】
図１３において、不正アクセス検知装置１００は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。
ＣＰＵ９１１は、バス９１２を介して、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９１３、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９１４、通信ボード９１５、表示装置９０１、キーボード９０２、マウス９０３、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。
更に、ＣＰＵ９１１は、ＦＤＤ９０４（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）、コンパクトディスク装置９０５（ＣＤＤ）、プリンタ装置９０６、スキャナ装置９０７と接続していてもよい。また、磁気ディスク装置９２０の代わりに、光ディスク装置、メモリカード（登録商標）読み書き装置などの記憶装置でもよい。
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
通信ボード９１５、キーボード９０２、マウス９０３、スキャナ装置９０７、ＦＤＤ９０４などは、入力装置の一例である。
また、通信ボード９１５、表示装置９０１、プリンタ装置９０６などは、出力装置の一例である。
【００８２】
通信ボード９１５は、例えば、ＬＡＮ（ローカルエリアネットワーク）、インターネット、ＷＡＮ（ワイドエリアネットワーク）などに接続されている。
また、通信ボード９１５は、上記のＬＡＮ等を介してネットワーク機器の通信ログデータを受信する。
【００８３】
磁気ディスク装置９２０には、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。プログラム群９２３のプログラムは、ＣＰＵ９１１、オペレーティングシステム９２１、ウィンドウシステム９２２により実行される。
【００８４】
ＲＯＭ９１３には、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）プログラムが格納され、磁気ディスク装置９２０にはブートプログラムが格納されている。
不正アクセス検知装置１００の起動時には、ＲＯＭ９１３のＢＩＯＳプログラム及び磁気ディスク装置９２０のブートプログラムが実行され、ＢＩＯＳプログラム及びブートプログラムによりオペレーティングシステム９２１が起動される。
【００８５】
上記プログラム群９２３には、実施の形態１〜７の説明において「〜部」として説明している機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
【００８６】
ファイル群９２４には、実施の形態１〜７の説明において、「〜の判断」、「〜の計数」、「〜のカウント」、「〜の比較」、「〜の更新」、「〜の設定」、「〜の指定」、「〜の選択」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのＣＰＵの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態１〜７で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、ＲＡＭ９１４のメモリ、ＦＤＤ９０４のフレキシブルディスク、ＣＤＤ９０５のコンパクトディスク、磁気ディスク装置９２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ等の記録媒体に記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【００８７】
また、実施の形態１〜７の説明において「〜部」として説明しているものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明しているものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。すなわち、プログラムは、実施の形態１〜７の「〜部」としてコンピュータを機能させるものである。あるいは、実施の形態１〜７の「〜部」の手順や方法をコンピュータに実行させるものである。
【００８８】
このように、実施の形態１〜７に示す不正アクセス検知装置１００は、処理装置たるＣＰＵ、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
【図面の簡単な説明】
【００８９】
【図１】実施の形態１〜７に係る不正アクセス検知装置の構成例を示す図。
【図２】実施の形態１に係るネットワーク機器のログの例を示す図。
【図３】実施の形態１に係るポート別集計部の動作例を示すフローチャート図。
【図４】実施の形態１に係るポート別のアクセス数の時系列データの例を示す図。
【図５】実施の形態１に係るポート域分割の例を示す図。
【図６】実施の形態１に係るポート域分割部の動作例を示すフローチャート図。
【図７】実施の形態１に係るマージされたアクセス数の時系列データの例を示す図。
【図８】実施の形態１に係るマージ対応ポートにおけるアクセス数の増加の検出例を示す図。
【図９】実施の形態４に係るポート域分割の例を示す図。
【図１０】実施の形態５に係るポート域分割の例を示す図。
【図１１】実施の形態１〜７に係る不正アクセス検知装置の準備段階における動作例を示すフローチャート図。
【図１２】実施の形態１〜７に係る不正アクセス検知装置の検知段階における動作例を示すフローチャート図。
【図１３】実施の形態１〜７に係る不正アクセス検知装置のハードウェア構成例を示す図。
【符号の説明】
【００９０】
１００  不正アクセス検知装置、１０１  データ取得部、１０２  ポート別集計部、１０３  ポート域分割部、１０４  分析部、１０５  異常検知部、１０６  定常域データ定義部、１５０  ネットワーク機器のログ、１５１  ポート別カウント、１５２  ポート別時系列データ、１５３  マージポートカウント、１５４  マージポート時系列データ。
【図１】
0004948359.tif 000002
【図２】
0004948359.tif 000003
【図３】
0004948359.tif 000004
【図４】
0004948359.tif 000005
【図５】
0004948359.tif 000006
【図６】
0004948359.tif 000007
【図７】
0004948359.tif 000008
【図８】
0004948359.tif 000009
【図９】
0004948359.tif 000010
【図１０】
0004948359.tif 000011
【図１１】
0004948359.tif 000012
【図１２】
0004948359.tif 000013
【図１３】
0004948359.tif 000014