不正アクセス検知装置及び不正アクセス検知プログラム及び記録媒体及び不正アクセス検知方法
【課題】ネットワークのアクセス数の時系列データのAnomaly検知を行う不正アクセス検知装置において、誤検知の発生が少なく、また、週内変動がある場合にも適切である予測プロファイルを生成する不正アクセス検知装置の提供を目的とする。
【解決手段】予測プロファイル生成部105は、正常状態のプロファイル152と、環境変化情報161とを入力し、所定の規則に従うことにより、環境変化情報161を使用してプロファイル152から将来のアクセス数の異常検知に使用する使用プロファイルの候補となる複数の予測プロファイルを生成する。分析部103とプロファイル選択部106とから構成される使用プロファイル決定部は、複数の予測プロファイルのなかから、所定の基準に合致する予測プロファイルを使用プロファイルとして決定する。
【解決手段】予測プロファイル生成部105は、正常状態のプロファイル152と、環境変化情報161とを入力し、所定の規則に従うことにより、環境変化情報161を使用してプロファイル152から将来のアクセス数の異常検知に使用する使用プロファイルの候補となる複数の予測プロファイルを生成する。分析部103とプロファイル選択部106とから構成される使用プロファイル決定部は、複数の予測プロファイルのなかから、所定の基準に合致する予測プロファイルを使用プロファイルとして決定する。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、アクセス数の時系列データをプロファイルとして用いてアクセス数の異常検知を行うAnomaly検知を実行する不正アクセス検知装置、不正アクセス検知プログラム、不正アクセス検知方法に関する。
【背景技術】
【0002】
ネットワーク上の不正アクセス発生の検知手段として、正常な状態のアクセス数をプロファイルとして定義・学習し、観測されたアクセス数がプロファイルから逸脱していることを検出する方法がある。これをAnomaly検知という。このようなネットワークの時系列データの分析において、正常な状態のアクセス数の傾向が設備の変更などにより変動する場合がある。変動後は、変動前に定義したプロファイルを使用すると正しく分析できないため、変動後の正常な状態のアクセス数をプロファイルとして再学習することが一般的である。再学習の期間は分析が行えないため、再学習期間を短縮するために予測プロファイルを生成し分析を継続する技術として特許文献1がある。この方式を使用すれば、例えば、最低1週間必要だった再学習期間が1日以下に短縮できる。
【特許文献1】特開2008−146157号公報、ネットワーク異常判定装置
【発明の開示】
【発明が解決しようとする課題】
【0003】
特許文献1では、正常な状態のアクセス数の時系列データが変動した後、1つの予測プロファイルのみを使用する。予測プロファイルが実測値よりも大きく生成されれば、実測値が予測プロファイルに隠れて検知漏れが発生し、小さく生成されていれば実測値が予測プロファイルよりも飛び出るため誤検知が発生するという課題があった。また、正常な状態のアクセス数の週内変動などは予測プロファイルに反映していないため、週内変動などがあるデータに対して予測プロファイルが適切ではなく、分析の精度に影響する場合があるという課題があった。
【0004】
この発明は、誤検知の発生が少なく、また、週内変動がある場合にも適切である予測プロファイルを生成する不正アクセス検知装置の提供を目的とする。
【課題を解決するための手段】
【0005】
この発明の不正アクセス検知装置は、
アクセス数の時系列データをプロファイルとして用いてアクセス数の異常検知を行うAnomaly検知を実行する不正アクセス検知装置において、
正常と認められる過去のアクセス数からなる正常時系列データと、前記正常時系列データの改変に使用する改変情報とを入力し、所定の生成規則に従うことにより、前記改変情報を使用して前記正常時系列データから将来のアクセス数の異常検知に使用する使用プロファイルの候補となる複数の予測プロファイルを生成する予測プロファイル生成部と、
前記予測プロファイル生成部によって生成された前記複数の予測プロファイルのなかから、所定の決定基準に合致する予測プロファイルを前記使用プロファイルとして決定する使用プロファイル決定部と
を備えたことを特徴とする。
【発明の効果】
【0006】
この発明により、誤検知の発生が少ない予測プロファイルを生成する不正アクセス検知装置を提供できる。
【発明を実施するための最良の形態】
【0007】
実施の形態1.
図1〜図20を用いて実施の形態1を説明する。
【0008】
図1は、コンピュータで実現される不正アクセス検知装置100の外観の一例を示す図である。図1において、不正アクセス検知装置100は、システムユニット830、CRT(Cathode・Ray・Tube)やLCD(液晶)の表示画面を有する表示装置813、キーボード814(Key・Board:K/B)、マウス815、FDD817(Flexible・Disk・ Drive)、コンパクトディスク装置818(CDD:Compact Disk Drive)、プリンタ装置819などのハードウェア資源を備え、これらはケーブルや信号線で接続されている。システムユニット830はネットワークに接続している。
【0009】
図2は、コンピュータで実現される不正アクセス検知装置100のハードウェア資源の一例を示す図である。図2において、不正アクセス検知装置100は、プログラムを実行するCPU810(Central Processing Unit:中央処理装置、処理装置ともいう)を備えている。CPU810は、バス825を介してROM(Read Only Memory)811、RAM(Random Access Memory)812、表示装置813、キーボード814、マウス815、通信ボード816、FDD817、CDD818、プリンタ装置819、磁気ディスク装置820と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置820の代わりに、光ディスク装置、フラッシュメモリなどの記憶装置でもよい。
【0010】
RAM812は、揮発性メモリの一例である。ROM811、FDD817、CDD818、磁気ディスク装置820等の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部、格納部、バッファの一例である。通信ボード816、キーボード814、FDD817などは、入力部、入力装置の一例である。また、通信ボード816、表示装置813、プリンタ装置819などは、出力部、出力装置の一例である。
【0011】
通信ボード816は、LAN(Local Area Netwirk)等のネットワークに接続されている。通信ボード816は、LANに限らず、インターネット、ISDN等のWAN(ワイドエリアネットワーク)などに接続されていても構わない。
【0012】
磁気ディスク装置820には、オペレーティングシステム821(OS)、ウィンドウシステム822、プログラム群823、ファイル群824が記憶されている。プログラム群823のプログラムは、CPU810、オペレーティングシステム821、ウィンドウシステム822により実行される。
【0013】
上記プログラム群823には、以下に述べる実施の形態の説明において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、CPU810により読み出され実行される。
【0014】
ファイル群824には、以下に述べる実施の形態の説明において、「使用プロファイル」、「カウント151」、「プロファイル候補」、「予測プロファイル」などとして説明する情報や、「〜の判定結果」、「〜の算出結果」、「〜の選択結果」、「〜の生成結果」、「〜の処理結果」として説明する情報や、データや信号値や変数値やパラメータなどが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU810によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
【0015】
また、以下に述べる実施の形態の説明においては、データや信号値は、RAM812のメモリ、FDD817のフレキシブルディスク、CDD818のコンパクトディスク、磁気ディスク装置820の磁気ディスク、その他光ディスク、ミニディスク、DVD(Digital・Versatile・Disk)等の記録媒体に記録される。また、データや信号は、バス825や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【0016】
また、以下に述べる実施の形態の説明において、「〜部」として説明するものは、「手段」、「〜回路」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ROM811に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU810により読み出され、CPU810により実行される。すなわち、プログラムは、以下に述べる「〜部」としてコンピュータを機能させるものである。あるいは、以下に述べる「〜部」の手順や方法をコンピュータに実行させるものである。
【0017】
図3は、実施の形態1における不正アクセス検知装置100の構成図である。図3に示すように、不正アクセス検知装置100は、データ取得部101、集計部102、分析部103、プロファイル定義部104、予測プロファイル生成部105、プロファイル選択部106を備える。また、分析部103は、カウント処理部1031、プロファイル処理部1032、演算部1033、逸脱確認部1034を備える。プロファイル定義部104は、使用プロファイル蓄積部1041、カウント蓄積部1042、プロファイル候補蓄積部1043を備える。予測プロファイル生成部105は、差異定義部1051、差異反映部1052を備える。
【0018】
また、プロファイル選択部106と分析部103とは、後述のように複数の予測プロファイルの中から使用プロファイルとするべき予測プロファイルを決定する使用プロファイル決定部を構成する。
【0019】
図3において、
(1)データ取得部101は、ネットワーク機器のログ150を取り込む。
(2)集計部102は、ネットワーク機器のログ150から、特定の集計期間における特定条件下の集計値をカウント151として出力する。
(3)分析部103は、プロファイル定義部104からプロファイル152を受け取り、特定の統計分析によりカウント151がプロファイル152に対して異常か否か分析する。
(4)プロファイル定義部104は、正常状態のカウントの集合であるプロファイルを保持する。
(5)予測プロファイル生成部105は、プロファイル152と、アクセス数の変動後のアクセス数の平均予測値などの環境変化情報161から、予測プロファイル154を1つ以上生成する。
(6)プロファイル選択部106は、複数生成された予測プロファイルを用いて分析した複数の分析結果から、最適な予測プロファイルを判定し、その結果である選択された予測プロファイル156をプロファイル定義部104に通知する。
【0020】
(A:学習の動作)
図4は学習動作を示すシーケンスである。図3、図4を参照して、学習の動作について説明する。不正アクセス検知装置100における検知開始前の準備動作を「学習」と呼ぶ。データ取得部101は、正常な状態として扱う期間のネットワークトラフィックデータ(例えば、ネットワーク機器のログ150を1週間分)を受信し(S101)、集計部102に渡す(S102)。ネットワークトラフィックデータとして、例えば、図5の様なIDS(Intrusion Detection System)のログファイルを取り込む。
【0021】
次に集計部102は、データ取得部101から受け取ったネットワークトラフィックデータ(ログ150)から、時系列データを生成する(S103)。図6は集計部102が生成した時系列データ(概念図)の一例を示している。ここでは、例として宛先ポートが445のアクセス数の時系列データを生成する。集計部102は、定められた集計時間、例えば5分間において、そのログ中の、「宛先ポート445のアクセスの出現個数」を数え上げる。これを集計時間毎に順に行うと、宛先ポート445のアクセス数の時系列データが生成できる。
【0022】
例えば、図5のログの例であれば、「06/04/18、12:00」から5分間の間にDstPort(宛先)445は3個の出現個数である。この作業を5分ごとに行えば、宛先ポート445について5分集計のアクセス数の時系列データが生成される。ここで、集計値=その集計期間におけるアクセス数である。ログデータが1週間分であれば、60分×24時間×7日=10080分の期間であり、5分で割れば2016個の集計値から構成されるアクセス数の時系列データが得られる。このようにして得られた時系列データをグラフ化したのが、図6である。横軸は時刻(集計タイミング)、縦軸はアクセス数を示している。
【0023】
この様にして集計部102により得られたアクセス数の時系列データは、図7の時系列データ157のような集計時刻、集計間隔、集計値(アクセス数)のフォーマットで列挙されたデータとして扱う。
【0024】
集計部102は、時系列データ157をプロファイル定義部104に渡す(S104)。プロファイル定義部104は、時系列データ157を使用プロファイル蓄積部1041にプロファイルとして保存する。ここでは、図8の様に、現在のプロファイル201として蓄積される(S105)。
【0025】
(B:検知動作)
図9は検知動作を示すシーケンスである。図9を参照して、プロファイルを用いた検知動作について説明する。データ取得部101は、ネットワーク機器のログ150を5分間ぶん新たに受信し(S201)、集計部102に渡す(S202)。
【0026】
集計部102は、集計条件に従い集計を行う。集計条件としては、例えば、宛先ポート445の5分間のアクセス数の集計を行う(S203)。集計の結果は、「カウント151」として分析部103に渡す(S204)。図5を例に示せば、「06/04/18、12:00」から5分間の間に宛先ポート445は3個の出現個数であり、出現個数=集計値がアクセス数に該当する。図10にカウント151のフォーマットを示す。
【0027】
分析部103では、以下の処理を行う。カウント151がプロファイル定義部104の使用プロファイル蓄積部1041に保存さているプロファイルと比較し、統計的に異常か否かを分析する(S205)。分析の方法は、3σ法や、主成分分析、AutoRegressiveMovingAverageモデルなどがあるが、ここでは、ある特定のアルゴリズムを使用するものとする。
【0028】
分析部103は、カウント151が統計的に異常であれば、異常として、検知結果153を出力する。それ以外は正常として検知結果153を出力する。
【0029】
(C:検知動作の詳細)
図11は分析部103における検知動作の詳細を示すシーケンスである。図11を参照して、分析部103における検知動作の詳細を説明する。図11において、プロファイル152は、使用プロファイル蓄積部1041における現在のプロファイル201であり、プロファイル処理部1032に入力される(S2051)。分析対象であるカウント151はカウント処理部1031に入力される(S2052)。
【0030】
例として、統計分析のアルゴリズムを3σ法とする。
【0031】
プロファイル処理部1032では、使用プロファイル蓄積部1041から渡されたプロファイル152(現在のプロファイル201、この例では図8に示す3月の1ヶ月間のもの)から、時系列データ(ここでは、集計値の羅列)とその構成数を計算する(S2053)。時系列データは、9、2、15、・・・、11である。その構成数は3月の5分毎の集計なので12×24×31=8928であり、集計値の値が記録された行数に一致する。これらを、演算部1033に入力する(S2054)。
【0032】
カウント処理部1031は、この例ではカウント151のフォーマットから集計値(xとする)のみを取り出し、演算部1033に入力する(S2055)。図10の例であれば、x=3である。
【0033】
演算部1033は、プロファイル処理部1032からの時系列データとその個数から、その平均μ、分散σ2を計算し(S2056)、カウント処理部1031から取得した集計値xと共に、逸脱確認部1034に入力する(S2057)。
【0034】
逸脱確認部1034は、μ+3σ<xであるかを確認(S2058)し、検知結果を出力する(S2059)。逸脱条件を満たせば逸脱として判定し、異常検知を示す情報を出力する。逸脱条件を満たさない場合は正常を示す情報を出力する。これが検知結果153である。検知結果153は、例えば、異常検知の場合は1、正常の場合は0で表す。
【0035】
ここでは、演算部1033による統計分析のアルゴリズムが3σの場合について説明したが、他の統計分析のアルゴリズムでも、入力されたカウント151をカウント処理部1031で前記他の統計分析のアルゴリズムに適した形に前処理し、、またプロファイル152をプロファイル処理部1032で前記他の統計分析のアルゴリズムに適した形に前処理し、演算部1033で前記他の統計分析のアルゴリズムで処理し、その結果を逸脱確認部1034でプロファイルから逸脱しているか判定する。統計分析のアルゴリズムによりこれらの構成要素の処理が変わるが、基本的な役割は以上に述べたとおりである。
【0036】
当動作を、06/04/18、12:05以降も、5分おきにログを取り込み、5分おきに集計されたカウント151に対して逸脱確認を行う。その場合、プロファイルは毎回の動作において同じである。すなわち、プロファイルの分析(平均μ、分散σ2の算出)は最初に算出したものを使用し、各集計値Xについて逸脱判定を行う。以上が、プロファイルを使用した異常検知動作である。
【0037】
前述の図8は、分析を継続している間のプロファイル定義部104の内部状態を示している。プロファイル定義部104はカウント151を集計の都度受け取り、カウント蓄積部1042に蓄積する(蓄積カウント202)。例えば、4月の1ヶ月間において分析を実施している場合、カウント151を継続的に蓄積することで、4月の全てのアクセス数の時系列データをカウント蓄積部1042に保持することになる。4月に検知が発生しなければ、この時系列データを4月のプロファイル203としてプロファイル候補蓄積部1043に保存する。このプロファイル候補蓄積部1043に保存された時系列データは後述するように、予測プロファイルの生成に使用される。
【0038】
次に、設備変更などにより監視対象のネットワーク上の計算機の数が変動するなど、正常な状態のアクセス数の時系列データが変動する場合の分析について説明する。
【0039】
例えばWindows(登録商標)を搭載した計算機の数が増加する場合、Windows(登録商標)の通信が利用する宛先ポート445のアクセスも増加する。もし、宛先ポート445のプロファイルを、計算機の増加前と同じものを使用していた場合、計算機の増加後の分析において正常な宛先ポート445のアクセスの増加が異常として分析される可能性がある。なぜならば、計算機の増加後に宛先ポート445のアクセスが増加しており、現在使用しているプロファイルと比較した場合に増加している状態なので分析部103は、統計的に異常と判断するからである。
【0040】
図12を例に挙げると、「5/1(木曜日)、00:00」に設備変更があり、宛先ポート445のアクセス数が4月と比較して増加している。現在使用している使用プロファイル(3月の時系列データ)に対して4月のアクセス数は異常ではない(不正アクセスではない)が、4月よりも5月は増加しているため、分析部103によって現在使用しているプロファイルと比較した場合に異常と判断される。
【0041】
ここで、設備変更により計算機が10台から100台に増えたとする。例として分析アルゴリズムとして3σ法を利用している場合、計算機の数が増える前は「平均10アクセス/5分、標準偏差2」であったものが、計算機の数が増えたことにより、「平均100アクセス/5分、標準偏差10」になったとする。計算機の増加する前のプロファイルに基づけば、正常なアクセス数の範囲は(10+3×σ)/5分、σ=2であり、これに対して計算機増加後の平均アクセス数100/5分を比較すると、異常と判断される。
【0042】
この様に、設備の変更など、不正アクセスではない原因によりアクセス数が増加した場合は、異常として検知するべきではない。従って、この場合は、プロファイル自体も計算機の増加を考慮したプロファイルに変更する必用がある。
【0043】
例えば、5/1(木)において、設備変更として監視対象の計算機数が10台から100台に増えるとする。この場合、月間の宛先ポート445の平均アクセス数は計算機が増加した分比例して増加するとして、このシステム外において予め平均アクセス数の予測が分かっているとする。この様に設備変更後の平均アクセス数の予測がたっている場合は、平均アクセス数の予測値を利用し予測プロファイルを生成する。
【0044】
(D:予測プロファイルの生成動作)
図13は予測プロファイルの生成過程を示すシーケンスである。図13を参照して予測プロファイルの生成を説明する。差異定義部1051は、、5/1(木曜日)、0時に5月の宛先ポート445宛の平均アクセス数の予測値を環境変化情報161(改変情報の一例)として予め受け取る(S301)。例えば、キーボードなどの入力装置から環境変化情報161を入力する。この場合、予測値である平均アクセス数が100であるとする。
【0045】
(予測プロファイル生成部105の動作)
予測プロファイル生成部105の差異定義部1051は、プロファイル定義部104のプロファイル候補蓄積部1043が保存している4月のプロファイル203(正常時系列データの一例)を受け取り(S302)、平均値を求める(S303)。図3に示したように、4月のプロファイル203は、プロファイル152として渡される。ここで、4月の平均値が10(10/5分)であったとする。次にこの平均値と5月の予測アクセス数の差Δ(100−10=90)を求める(S304)。これを差異10551とする。差異定義部1051は、差異10551を差異反映部1052に渡す(S305)。
【0046】
(差異反映部1052の動作)
図14に示すように、予測プロファイル生成部105の差異反映部1052は、4月のプロファイル203の全ての集計時刻のカウントに差異10551であるΔ(90)を足して、変動後の予測プロファイルを生成する(S306)。図14では、4月のプロファイル203のフォーマットにおいて、各集計値にΔを足したデータを予測プロファイルとして生成する。
【0047】
ここで、複数のプロファイルを生成するため、差異反映部1052は、Δを0.5倍〜2.0倍まで0.1刻みで計算した0.5*Δ〜2.0*Δを用意し、4月のプロファイル203にこれらを足したものを複数のプロファイルとして生成する(所定の生成規則の一例)。例えば、図15において、予測プロファイル1は、4月のプロファイル203に0.5*Δを足したものである。
【0048】
図16は、0.5*Δ〜2.0*Δを生成する処理を示すフローチャートである。このフローチャートでは、j=1の場合が、0.5*Δの生成(Δ1)、j=16の場合が、2.0*Δの生成(Δ16)に相当する。
【0049】
図17は、予測プロファイル1〜16を生成する処理を示すフローチャートである。Ciは4月のプロファイル203の集計値であり、5分集計で30日なので、データの数は、8640個である。このフローチャートでは、j=1の場合に出力されるX(i,1)(iは1〜8640)が予測プロファイル1の生成であり、j=16の場合に出力されるX(i,16)(iは1〜8640)が予測プロファイル16に相当する。4月のプロファイル203の、「集計時刻、集計間隔、該当する集計値に対してΔjを足した値」、をProf_jに保存する。図18は、Prof_1の例を示す図である。
【0050】
(E:最適な予測プロファイル選択の動作)
図19は最適な予測プロファイルの選択動作を示すシーケンスである。図19を参照して、5/1(木)00:05以降における不正アクセス検知装置の動作を説明する。5/1、00:05において、データ取得部101は、ネットワーク機器のログ150(5分間ぶん)を受け取り(S401)、集計部0102に出力する(S402)。集計部102は宛先ポート445の5分間のアクセス数を集計し(S403)、カウント151として出力する(S404)。分析部103のプロファイル処理部1032は、差異反映部1052から複数の予測プロファイルを受け取る(S405)。
【0051】
分析部103は、カウント151(図20におけるi=1相当)に対して、予測プロファイル生成部105から受け取った複数の予測プロファイル154(図20におけるj=1〜16)を用いて分析する。当例では、予測プロファイルは、予測プロファイル1〜16の16個である。
【0052】
まず、分析部103で使用している統計分析のアルゴリズムを用いて、予測プロファイル1の予測プロファイルを用いて分析する。次に、予測プロファイル2を用いて分析する(S406)。内容は図11の検知動作の場合と同様である。すなわち、図19のS406−1において、演算部1033は、予測プロファイル1〜16を統計処理し、それぞれについて平均μ、分散σ2を算出する。S406−2において、逸脱確認部1034は、予測プロファイル1〜16を対象として、カウント151の値が異常かどうかを「μ+3σ<x」の式により判定する。この様にして、予測プロファイル16を用いた分析まで繰り返し行う。
【0053】
各々の分析の結果(図20におけるR(j,i))は、プロファイル選択部106に予測プロファイルによる分析結果155として送られ(S407)、プロファイル選択部106に蓄積される。以上が、5/1(木)0時00分のカウント151に対する分析であるが、これを、5/1(木)23時59分59秒までの1日のアクセス数のカウントについて行う。蓄積された分析結果155をR(j,i)(j=1〜16、i=1〜288)とする。jは予測プロファイル1〜16を意味し、iは5/1(木)00:05の集計値〜5/2(木)00:00の集計値(5/1(木)23時59分59秒までの集計)288個(1日ぶん)を意味する。
【0054】
(プロファイル選択部106の選択動作)
5/2(木)00:00において、プロファイル選択部106は自身に蓄積された、R(j,i)を用いて、適切なプロファイルを選択する(S408)。プロファイル選択部106は、1日の分析の間に検知が発生した予測プロファイルは、プロファイルとして適切では無いと判断し削除する。図20は、プロファイル選択部106がプロファイルを削除する処理を示す。図20は、S34、S35、S36,S37と進みS37からS34に戻るループは、ある予測プロファイルを対象とした場合に、各5分ごとのカウント151が異常かどうかを判定する処理である。R(j,i)は分析結果155(異常=1、あるいは正常=0)であり、例えば、予測プロファイル1を使った場合の、5/1(木)0時00分の分析結果155はR(1,1)、5/2(木)0時00分の分析結果はR(1,288)である。Prof_jが予測プロファイルであり、jが予測プロファイルの番号である。つまり、予測プロファイル1はProf_1である。
【0055】
当処理の結果、例えば、図20において、予測プロファイル1〜予測プロファイル9を用いた分析で異常検知が発生した場合、予測プロファイル1〜9が削除(S39)される。削除する理由は、異常検知が発生した予測プロファイルは、プロファイルとして実測値よりも小さかったため適切では無いからである。
【0056】
プロファイル選択部106は、残った予測プロファイルの中において、一番小さいn*Δを採用したプロファイルを、以後予測プロファイルとして利用(決定)する(所定の決定基準の一例)。図15においては、予測プロファイル10を採用する。
【0057】
残った予測プロファイルは、検知が発生しない程度の大きさであるが、大きすぎると実測値が隠れて検知しなくなってしまうので、残った予測プロファイルの中で一番小さい予測プロファイルを適切なものとして残す。
【0058】
図3において、上記の様に、選択された予測プロファイル156(この例では予測プロファイル10)がプロファイル選択部106からプロファイル定義部104に渡され、新しい使用プロファイルとして使用プロファイル蓄積部1041に上書き保存され、5/2(木)00:05以降の分析(検知)には、この新しい使用プロファイルが使用される。5月の検知が異常検知の発生が無い場合には、カウント蓄積部1042に蓄積されたカウント151の5月分のデータが、プロファイル候補蓄積部1043にプロファイル候補として格納されるが、同時に、この5月のプロファイル候補は使用プロファイル蓄積部1041に使用プロファイルとして上書きされる。すなわち、6月の分析には、使用プロファイルとして、異常が検知されなかった5月のカウント151(一月ぶん)が使用される。
【0059】
本実施の形態1では、変動後のアクセス数が増加することを前提に記述したが、減少する場合でも同じように差異を求めることで、減少後の複数の予測プロファイルを生成し、同じ方法で最適な予測プロファイルを選択することができる。つまり、この場合は、差異10551がマイナスの値をとるだけであり、各部が同じ動作を行うだけで対応できる。
【0060】
以上の様に、実施の形態1では、設備の変動により正常な状態のアクセス数が変動する場合において、予め変動後の平均アクセス数が分かっている場合は、これを利用することにより現在のプロファイルの平均値と比較し、差異を求め、この差異に複数の比率を掛け、現在のプロファイルに反映することで複数の予測プロファイルを生成する。複数の予測プロファイルを用いて設備の変動後の1日のデータを分析し、適切な予測プロファイルを選択することにより、以後の分析において、誤検知や検知漏れを低減できる効果がある。また、予測プロファイルの生成では、現在のプロファイルに差異Δを足す方式をとることにより、現在のプロファイルの周期変動などの傾向を反映した予測プロファイルを生成可能である。
【0061】
実施の形態2.
次に図21〜図24を参照して実施の形態2を説明する。実施の形態1では、予め5月の予想平均アクセス数が分かっている場合に、これを利用して予測プロファイルを生成した。実施の形態2では、予測平均アクセス数が分からない場合の実施形態を説明する。
【0062】
設備変更後の平均アクセス数が予測できない場合は、設備変更後の1日(ある曜日)のデータ(この例では5月1日の一日間のデータ)を観測して実施の形態1の環境変化情報161に相当するデータを算出し、設備変更前の同じ曜日のデータとの差分を用いて、予測プロファイルを生成する。
【0063】
(A:5月1日の一日間の学習動作)
5/1(木曜日)の設備変更後、5/1(木)の一日間のみの学習を行う。この動作は、実施の形態1に示した学習動作であるが、実施の形態2では、集計部102が時系列データ157をプロファイル定義部104に渡す場合、プロファイル定義部104は、時系列データ157をカウント蓄積部1042に保存する。つまりこの場合、図4におけるS105では、時系列データ157がカウント蓄積部1042に保存される。
【0064】
(B:予測プロファイルの生成の動作)
図21は、実施の形態2における予測プロファイルを生成する動作を示す図である。図21を参照して予測プロファイルの生成動作を説明する。
【0065】
プロファイル定義部104は、カウント蓄積部1042に蓄積された時系列データ157(5/1の一日分の288個のデータ)から、5/1(木)の1日のカウントの平均値であるμthr304(改変情報の一例)を計算し、予測プロファイル生成部105の差異定義部1051に渡す(S501)。
【0066】
(差異定義部1051)
次に、予測プロファイル生成部105における差異定義部1051は、プロファイル定義部104からプロファイル候補蓄積部1043が保存している4月のプロファイル203(正常時系列データの一例)を受け取り(S502)、4月における木曜日のカウントである木曜日のカウント301を取り出し、平均値μ’thr303を求める(4/3(木),10(木),17(木),24(木)のアクセス数の平均値)(S503)。
さらに、
Δ=μthr304−μ’thr303
を計算する(S504)。この処理を図22に示す。
差異定義部1051は、このΔを差異10551として差異反映部1052に渡す(S505)。
【0067】
(差異反映部1052)
予測プロファイル生成部105における差異反映部1052は、図23に示すように、4月のプロファイル203の全ての時刻のカウントに差異定義部1051から受け取った差異10551であるΔを足して、変動後の予測プロファイルを生成する(S506)。
【0068】
差異反映部1052による予測プロファイルの生成(所定の生成規則)は実施の形態1と同様である。すなわち、複数の予測プロファイルを生成するため、Δを0.5倍〜2.0倍まで0.1刻みで計算した0.5*Δ〜2.0*Δを用意し、4月のプロファイル203にこれらを足したものを複数の予測プロファイルとして用意する。これらを予測プロファイル1〜予測プロファイル16とする。このように、Δと4月のプロファイル203を使用した複数の予測プロファイルの生成方法は実施の形態1と同じである。
【0069】
(C:最適な予測プロファイルの選択)
図24は、実施の形態2における最適な予測プロファイルを選択する動作を示す図である。図24を参照して最適な予測プロファイルの選択動作を説明する。実施に形態1と異なり、実施の形態1の場合、検知対象とする5/1の一日分のデータ(i=1〜288)は既に取得されている。
【0070】
分析部103は、5/1の一日分のカウント151をカウント蓄積部1042から取得(S601)し、予測プロファイル1〜16を差異反映部1052から取得する(S602)。分析部103は、プロファイル定義部104のカウント蓄積部1042に保存されている蓄積カウント202における5/1(木)の1日のカウントについて、5分おきの集計値に対して、各予測プロファイル1〜16を使用して分析(異常検知)を行う(S603)。
【0071】
すなわち、分析部103で使用している統計分析のアルゴリズムを用いて、5/1(木)の5分おきのカウント全てに対して、予測プロファイル1を用いて分析する。次に、予測プロファイル2を用いて同様に分析する。この様にして、予測プロファイル16を用いた分析まで繰り返し行う。
【0072】
各々の分析の結果R(j、i)は、プロファイル選択部106に予測プロファイル1〜16を用いた分析結果155として送られ、プロファイル選択部106に蓄積される。
【0073】
5/2(木)の0時0分において、プロファイル選択部106は、自身に蓄積された、5/1(木)1日分の分析結果を用いて、適切なプロファイルを選択する(S604)。選択の方法は、実施の形態1におけるプロファイル選択部106が行う選択と同じである。選択された予測プロファイルは、使用プロファイル蓄積部1041に上書きされる(S605)。
【0074】
実施の形態2では、実施の形態1と同様に、変動後のアクセス数が増加することを前提に記述したが、減少する場合でも同じように差異10551を求めることで、減少後の複数の予測プロファイルを生成し、同じ方法で最適な予測プロファイルを選択することができる。つまり、この場合は、差異10551がマイナスの値をとるだけであり、各部が同じ動作を行うだけで対応できる。
【0075】
以上の様に、実施の形態2では、設備の変動により正常な状態のアクセス数の時系列データが変動する場合において、変動後の予測の平均アクセス数が分かっていない場合は、変動後の1日のデータを学習し、学習した曜日の現在のプロファイルのカウントの平均を求め、これらの差異を求め、この差異に複数の比率を掛け、現在のプロファイルに反映することで複数の予測プロファイルを生成する。複数の予測プロファイルを用いて設備の変動後の1日のデータを分析し、適切な予測プロファイルを選択することにより、以後の分析において、誤検知や検知漏れを低減できる効果がある。また、予測プロファイルの生成では、現在のプロファイルに差異Δを足す方式をとることにより、現在のプロファイルの周期変動などの傾向を反映した予測プロファイルを生成可能である。
【0076】
実施の形態3.
(装置外からパラメータ入力)
実施の形態3は、差分Δに乗じる0.5倍等の数値を外部からパラメータとして入力する実施形態である。実施の形態1、2では、複数のプロファイルを準備する際に、例としてΔを0.5倍〜2.0倍まで0.1刻みで指定しているが、他の倍数、刻みでもよく、装置外からパラメータで与える方式で実現する。図25において、パラメータ10551は、倍率最大値10552、倍率最小値10553、生成個数10554、刻み幅10555で与える。倍率最大値10552は実施の形態1では2.0に相当し、倍率最小値10553は0.5に相当する。刻み幅10555は、0.1に相当する。刻み幅を与えない場合は、代わりに生成個数10554を与え、差異定義部1051は以下を計算し、結果を刻み幅の代わりとする。
すなわち、
刻み幅=(倍率最大値−倍率最大値)/生成個数とする。
【0077】
実施の形態4.
(分析日数をm日)
実施の形態1、実施の形態2では、生成した複数の予測プロファイルの選択において、複数の予測プロファイルを用いて1日ぶんの分析を行い、異常を検知した予測プロファイルを削除し、異常検知しなかった予測プロファイルの中で1番小さいものを選択した。本実施の形態4では、選択するための分析期間をm日とし、その期間において、検知した予測プロファイルを削除し、検知しなかった予測プロファイルの中で1番小さいものを選択する。
【0078】
実施の形態5.
(ビジネスアワーにのみ加算)
実施の形態1、2では、現在のプロファイル全体に、n*Δを足して予測プロファイルを生成した。しかし、土日、夜間はプロファイル変動前と変動後で変化が無く、平日のビジネスアワーのみ変化があることが分かっている場合は、プロファイルにおいて平日のビジネスアワーの部分にのみ、n*Δを足してもよい。例えば、図26の様に、平日の昼アクセス数が多く、夜はアクセス数は少なく、土日はアクセス数が少ない場合、設備変更による変動後も同様の傾向が想定される場合は、平日のビジネスアワー(例:9時〜17時)にのみn*Δを足し、それ以外は足さないで予測プロファイルを生成する。
【0079】
以上の様に、当実施の形態5では、ビジネスアワーの変動を考慮した適切な予測プロファイルを生成することが可能である。
【0080】
実施の形態6.
(d>kの場合に予測プロファイルを削除)
実施の形態1、2では、予測プロファイルの選択において、図20のフローで、d>0の場合にProf_jを削除(S39)したが、d>0の分岐をd>kとする。kはプロファイル選択部106に与えるパラメータであり、例えば、k=10であれば、そのプロファイルを使用し10回以上検知が発生した場合に削除することになる。このように、異常を検知した回数が閾値を超えた場合に削除するようにする。
【0081】
実施の形態7.
(平均の比によって予測プロファイルを生成)
実施の形態1では、差異定義部1051は、現在のプロファイルの平均値と、平均値の予測値の差を差異10551として計算した。また、実施の形態2では、差異定義部1051は、現在のプロファイルの木曜日の平均値と、5/1(木)の平均値の差を差異10551として計算した。本実施の形態7では、これらの平均値の差を差異10551として計算するのではなく、比を差異10551として求めても良い。
【0082】
つまり、実施の形態1では、
Δ=「平均値の予測値」/「現在のプロファイルの木曜日の平均値」
であり、実施の形態2では、
Δ=「5/1(木)の平均値」/「現在のプロファイルの木曜日の平均値」
である。
【0083】
この場合、図17の「Xij=Ci+Δj」を「Xij=Ci*Δj」に変更する。
【0084】
実施の形態8.
(予測プロファイルの補正)
実施の形態1、実施の形態2では、生成した複数の予測プロファイルの選択において、複数の予測プロファイルを用いて1日分析を行い、異常検知された予測プロファイルを削除した。本実施の形態8では、全ての予測プロファイルにおいて異常検知が発生しなかった場合に予測プロファイルの補正を行うものである。実施の形態1、実施の形態2ではΔを0.5倍〜2.0倍まで0.1刻みで計算した0.5*Δ〜2.0*Δを用意して複数の予測プロファイルを生成したが、異常検知が発生しないということはこれらで生成した予測プロファイルでは実測値に対して大きいということである。よって、Δに掛ける倍率を最低の0.5の1/10を刻みとして、0.05*Δ〜0.45*Δを差異として新しい予測プロファイルを生成し、これらの予測プロファイルで検知するか試みる。
【0085】
上記でも検知しない場合は、0.05の1/10を刻みとして、同様に、0.005*Δ〜0.045*Δを差異として新しい予測プロファイルを生成し(所定の補正規則の一例)、これらの予測プロファイルで検知するか試み、これを繰り返す。
【0086】
つまり、本実施の形態8では、予測プロファイルの生成において使用した差異が大きかった場合に、さらに小さい差異を使用して予測プロファイルを再生成し、検知するまで予測プロファイルの再生成を繰り返すことで(所定の補正規則の一例)、最適な予測プロファイルを選択するものである。本実施の形態8では、実施の形態1、2を例として、予測プロファイルの再生成用の差異を0.05の1/10を基準としたが、他の割合、生成の個数でも良い。
【0087】
以上の様に、当実施の形態8では、最初に生成した複数の予測プロファイルが適切でなかった場合に、さらに複数の予測プロファイルを作り選択することが可能である。
【0088】
実施の形態9.
(選択する際に使用するアルゴリズム)
実施の形態1、実施の形態2では、予測プロファイルを選択する際の分析アルゴリズムとして、検知に用いる統計分析のアルゴリズムをそのまま使用した。本実施の形態9では、予測プロファイルを選択するために別の統計分析のアルゴリズムを適用しても良い。例えば、検知に3σ(平均+3σを超えたら検知)を利用している場合において、予測プロファイルの選択においては、これを1σ(平均+σを超えたら検知)とし、分析を行い選択の判断を行っても良い。他の例として、例えば、特開2008−146157号公報に示されるスライディングウィンドウを使用したPCA(Principal Component Analysis:主成分分析)を適用して分析を行い、選択の判断を行っても良い。
【0089】
実施の形態10.
(1時間おきの平均アクセス数の反映)
実施の形態2では、設備変更後に1日観測したアクセス数の1日の平均値(5/1(木)の1日の平均)を求め、4月のプロファイルにおける同じ曜日の平均値を求めてその差を差異として、4月のプロファイル全体に反映した。本実施の形態10では、設備変更後に1日観測したアクセス数の1時間おきの(5分の集計値の)平均値を求め、4月のプロファイルにおける同じ曜日の1日の1時間おきの(5分の集計値の)平均値を求め、各1時間おきの差異を、4月のプロファイルの同時間帯に反映するものである。
【0090】
具体的には以下のように処理する。5/1(木)に観測したアクセス数の1時間おきの(5分の集計値の)平均値を以下の様に表す。
μthr_0_1(5/1(木)0時〜1時の5分の平均アクセス数)、
μthr_1_2(5/1(木)1時〜2時の5分の平均アクセス数)、
・・・
μthr_23_24(5/1(木)23時〜24時の5分の平均アクセス数)、
図22の、木曜日のカウント301から4月の木曜日の1時間おきの平均値を以下の様に表す。
μ’thr_0_1(4月の木曜日の0時〜1時の5分の平均アクセス数)、
μ’thr_1_2(4月の木曜日の1時〜2時の5分の平均アクセス数)、
・・・、
μ’thr_23_24(4月の木曜日の23時〜24時の5分の平均アクセス数)、
【0091】
次に以下を計算する。
Δ_0_1=μthr_0_1−μ’thr_0_1、
Δ_1_2=μthr_1_2−μ’thr_1_2、
・・・
Δ_23_24=μthr_23_24−μ’thr_23_24、
【0092】
この各Δを4月のプロファイル203に適用する。ここではn=0.5とする。
4月1日0時〜1時における各5分の集計値+n*Δ_0_1、
4月1日1時〜2時における各5分の集計値+n*Δ_1_2、
・・・
4月1日23時〜24時における各5分の集計値+n*Δ_23_24、
4月2日0時〜1時における各5分の集計値+n*Δ_0_1、
4月2日1時〜2時における各5分の集計値+n*Δ_1_2、
・・・
4月2日23時〜24時における各5分の集計値+n*Δ_23_24、
以降、4月30日のデータまで同じように適用する。
【0093】
上記の計算を行えば、5/1(木)と4月の木曜日のアクセス数の1時間ごとの差異を、4月のプロファイル全体の同時間帯に反映した予測プロファイルを生成可能である。
【0094】
nを0.5〜2.0まで0.1刻みで変化させて上記計算を行えば、実施の形態2と同じように16個の予測プロファイルを生成できる。
【0095】
上記の例では、1時間ごとのΔを生成したが、0時〜6時、6時〜12時、12時〜18時、18時〜24時のように時間帯を分けて、時間大別の平均値を求め同様の処理を適用しても良い。或いは、1時間よりも細かい時間帯、例えば、30分ごとに同様の処理を行っても良い。
【0096】
以上の様に、当実施の形態10では、アクセス数の変動後の時間ごとの細かい差異を反映できる。
【0097】
実施の形態11.
(1週間の観測)
実施の形態2では、設備変更後に1日観測したアクセス数の1日の平均値を求め、4月のプロファイルにおける同じ曜日の平均値を求めその差を差異として、4月のプロファイル全体に反映した。本実施の形態では、設備変更後に7日観測したアクセス数の曜日別の平均値を求め、4月のプロファイルにおける同じ曜日の平均値を求め、同じ曜日の平均値の差を求め、曜日別の差異を4月のプロファイルの曜日ごとに反映するものである。
【0098】
具体的には以下のように処理する。
5/1(木)〜5/7(水)に観測したアクセス数の1日の平均値を以下の様に表す。
μthr(5/1(木)の1日の平均アクセス数)、
μfri(5/2(金)の1日の平均アクセス数)、
・・・
μwed(5/7(水)の1日の平均アクセス数)、
図22の、4月のプロファイル203から各曜日の1日の平均値を以下の様に表す。
μ’thr(4月の木曜日の1日の平均アクセス数)、
μ’fri(4月の金曜日の1日の平均アクセス数)、
・・・
μ’wed(4月の水曜日の1日の平均アクセス数)、
【0099】
次に以下を計算する。
Δ_thr=μthr−μ’thr、
Δ_fri=μfri−μ’fri、
・・・
Δ_wed=μwed−μ’wed、
【0100】
この各Δを4月のプロファイル203 の各曜日に適用する。ここでは n=0.5とする。
4月の各木曜日の各5分の集計値+n*Δ_thr、
4月の各金曜日の各5分の集計値+n*Δ_fri、
・・・
4月の各水曜日の各5分の集計値+n*Δ_wed、
【0101】
上記の計算を行えば、5/1(木)〜5/7(水)の1週間の各曜日と4月の各曜日のアクセス数の差異を、4月のプロファイル全体の同曜日に反映した予測プロファイルを生成可能である。実施の形態1では、1日のアクセス数の平均の差異を反映したが、本実施の形態12に従えば、観測期間は7日になるが、設備変更後の各曜日の差異を4月のプロファイルに反映することができる。
【0102】
実施の形態12.
実施の形態1、2では、プロファイルとして3月や4月という単位ごとにプロファイルを使用して分析した。他の分析の形態として、ビジネスアワーとそれ以外にプロファイルを分けて持つ場合や、1時間おきや、曜日別にプロファイルを分けて分析を行う場合がある。
【0103】
例えば、ビジネスアワーとそれ以外にプロファイルを分けて持つ場合は、ビジネスアワーにおけるアクセス数の分析では、ビジネスアワー用のプロファイルを用いて逸脱を確認する。
【0104】
ビジネスアワーとそれ以外にプロファイルを分けて持つ場合で、設備変更によるアクセス数の変動後の平均の予測値μ’がある場合は次のようにする。ビジネスアワーとそれ以外のアクセス数のプロファイルを合わせた平均値μを求め、これらの平均値の差をΔ=μ’−μとし、ビジネスアワー用のプロファイル、ビジネスアワー以外のプロファイルにΔを反映することで、各々の予測プロファイルを生成する。設備変更によるアクセス数の変動後の平均の予測値が無い場合は次のようにする。設備変更後の1日において、ビジネスアワーとそれ以外のアクセス数を観測し、ビジネスアワーのアクセス数の平均値μ’bと、ビジネスアワー以外の平均値μ’nbを各々求め、現在のビジネスアワーのプロファイルの平均値μb、ビジネスアワー以外の平均値μnbに対して、
Δb=μ’b−μb、Δnb=μ’nb−μnb
を求める。Δbを現在のビジネスアワー用のプロファイルに、Δnbをビジネスアワー以外のプロファイルに反映することで、ビジネスアワーとそれ以外の予測プロファイルを生成できる。
【0105】
1時間おきにプロファイルを持っている場合は、設備変更によるアクセス数の変動後の平均の予測値μ’がある場合は、1時間おきのプロファイルを全て足し平均値μを求め、これらの平均値の差をΔ=μ’−μとし、1時間おきのプロファイルにΔを反映することで、各々の予測プロファイルを生成する。設備変更によるアクセス数の変動後の平均の予測値が無い場合は次のようにする。設備変更後の1日において、1時間おきのアクセス数を観測し、1時間おきの平均値(μ’i,i=0〜23)を求める。次に、現在の1時間おきのプロファイルの平均値(μi,i=0〜23)を求める。Δi=μ’i−μi(i=0〜23)を求め、Δiを現在の1時間ごとのプロファイルに反映することで、各時間の予測プロファイルを生成できる。ここで、i=0は0時、i=23は23時を示す。
【0106】
曜日別にプロファイルを持っている場合は、設備変更によるアクセス数の変動後の平均の予測値μ’がある場合は、曜日別のプロファイルを全て足し平均値μを求め、これらの平均値の差をΔ=μ’−μとし、曜日別のプロファイルにΔを反映することで、各々の予測プロファイルを生成する。設備変更によるアクセス数の変動後の平均の予測値が無い場合は次のようにする。設備変更後の1日において、アクセス数を観測し、1日の平均値μ’を求める。観測した曜日に該当する曜日のプロファイルの1日の平均値μを求める。これらの平均値の差異をΔ=μ’−μとする。このΔを各曜日のプロファイルに反映することで、各曜日の予測プロファイルを生成できる。
【0107】
上記の様に生成した予測プロファイルは、実施の形態1や2の様にΔに倍率を掛けることで複数生成でき、生成された予測プロファイルの選択は実施の形態1や2と同様の処理を行うことで選択できる。
【0108】
本実施の形態12では、プロファイルがビジネスアワーとそれ以外、時間別、曜日別などに分割されていても、設備変更によるアクセス数の変動後の平均の予測値がある場合、無い場合について、実施の形態1や2の考え方を応用して適切な予測プロファイルを生成することが可能である。
【0109】
以上の実施の形態では不正アクセス検知装置100を説明したが、不正アクセス検知装置100は、不正アクセス検知装置100の各構成要素が行う「不正アクセス検知方法」の実施形態として把握することもできる。また、不正アクセス検知装置100は、「〜部」の機能をコンピュータに実行させる「不正アクセス検知プログラム」の実施形態として把握することもできる。さらに、「不正アクセス検知プログラム」を記録したコンピュータ実行可能な「記録媒体」の実施形態として把握することも可能である。
【0110】
以上の実施の形態では、ネットワークのアクセス数の時系列データのAnomaly検知において、正常な状態のアクセス数の傾向が変動した際に、変動した正常なアクセス数の再学習の期間を短縮するために予測プロファイルを利用する分析おいて、複数の予測プロファイルを生成する予測プロファイル生成部105と、複数の予測プロファイルによる分析を行い、最適な予測プロファイルを選択する使用プロファイル決定部とを備えた不正アクセス検知装置100を説明した。
【0111】
以上の実施の形態では、予測プロファイル生成部105は、予め入手した変動後の予測の平均アクセス数と現在のプロファイルの平均アクセス数との差異を求め、この変位に複数の倍率をかけ、現在のプロファイルに反映することで、現在のプロファイルの傾向を反映した予測プロファイルを複数生成する不正アクセス検知装置100を説明した。
【0112】
以上の実施の形態では、予測プロファイル生成部105は、変動した正常なアクセス数を1日観測し、観測した曜日と現在のプロファイルの曜日のデータを元に差異を求め、この差異に複数の倍率をかけ、現在のプロファイルに反映することで、現在のプロファイルの傾向を反映した予測プロファイルを複数生成する不正アクセス検知装置100を説明した。
【図面の簡単な説明】
【0113】
【図1】実施の形態1における不正アクセス検知装置100の外観の一例。
【図2】実施の形態1における不正アクセス検知装置100のハードウェア構成。
【図3】実施の形態1における不正アクセス検知装置100のブロック図。
【図4】実施の形態1における学習のシーケンス。
【図5】実施の形態1におけるログ150の例。
【図6】実施の形態1における集計部102の生成した時系列データの概念図。
【図7】実施の形態1における時系列データ157を示す図。
【図8】実施の形態1におけるプロファイル定義部104の内部構成を示す図。
【図9】実施の形態1における検知動作のシーケンス。
【図10】実施の形態1におけるカウント151の例。
【図11】実施の形態1における検知動作の詳細のシーケンス。
【図12】実施の形態1における設備変更の場合のアクセス数変動を示す図。
【図13】実施の形態1における予測プロファイル生成のシーケンス。
【図14】実施の形態1における予測プロファイルの生成を説明する図。
【図15】実施の形態1における生成される複数の予測プロファイルを説明する図。
【図16】実施の形態1における変化ぶん生成のフローチャート。
【図17】実施の形態1における予測プロファイルの生成のフローチャート。
【図18】実施の形態1における生成された予測プロファイル1を示す図。
【図19】実施の形態1における最適な予測プロファイルの選択シーケンス。
【図20】実施の形態1における予測プロファイルの選択のフローチャート。
【図21】実施の形態2における予測プロファイル生成のシーケンス。
【図22】実施の形態2における平均値μ、μ’の生成を説明する図。
【図23】実施の形態2における予測プロファイルの生成を説明する図。
【図24】実施の形態2における予測プロファイルの生成のシーケンス。
【図25】実施の形態3におけるパラメータの入力を説明する図。
【図26】実施の形態5におけるパラメータの入力を説明する図。
【符号の説明】
【0114】
100 不正アクセス検知装置、101 データ取得部、102 集計部、103 分析部、1031 カウント処理部、1032 プロファイル処理部、1033 演算部、1034 逸脱確認部、104 プロファイル定義部、1041 使用プロファイル蓄積部、1042 カウント蓄積部、1043 プロファイル候補蓄積部、105 予測プロファイル生成部、1051 差異定義部、1052 差異反映部、106 プロファイル選択部。
【技術分野】
【0001】
この発明は、アクセス数の時系列データをプロファイルとして用いてアクセス数の異常検知を行うAnomaly検知を実行する不正アクセス検知装置、不正アクセス検知プログラム、不正アクセス検知方法に関する。
【背景技術】
【0002】
ネットワーク上の不正アクセス発生の検知手段として、正常な状態のアクセス数をプロファイルとして定義・学習し、観測されたアクセス数がプロファイルから逸脱していることを検出する方法がある。これをAnomaly検知という。このようなネットワークの時系列データの分析において、正常な状態のアクセス数の傾向が設備の変更などにより変動する場合がある。変動後は、変動前に定義したプロファイルを使用すると正しく分析できないため、変動後の正常な状態のアクセス数をプロファイルとして再学習することが一般的である。再学習の期間は分析が行えないため、再学習期間を短縮するために予測プロファイルを生成し分析を継続する技術として特許文献1がある。この方式を使用すれば、例えば、最低1週間必要だった再学習期間が1日以下に短縮できる。
【特許文献1】特開2008−146157号公報、ネットワーク異常判定装置
【発明の開示】
【発明が解決しようとする課題】
【0003】
特許文献1では、正常な状態のアクセス数の時系列データが変動した後、1つの予測プロファイルのみを使用する。予測プロファイルが実測値よりも大きく生成されれば、実測値が予測プロファイルに隠れて検知漏れが発生し、小さく生成されていれば実測値が予測プロファイルよりも飛び出るため誤検知が発生するという課題があった。また、正常な状態のアクセス数の週内変動などは予測プロファイルに反映していないため、週内変動などがあるデータに対して予測プロファイルが適切ではなく、分析の精度に影響する場合があるという課題があった。
【0004】
この発明は、誤検知の発生が少なく、また、週内変動がある場合にも適切である予測プロファイルを生成する不正アクセス検知装置の提供を目的とする。
【課題を解決するための手段】
【0005】
この発明の不正アクセス検知装置は、
アクセス数の時系列データをプロファイルとして用いてアクセス数の異常検知を行うAnomaly検知を実行する不正アクセス検知装置において、
正常と認められる過去のアクセス数からなる正常時系列データと、前記正常時系列データの改変に使用する改変情報とを入力し、所定の生成規則に従うことにより、前記改変情報を使用して前記正常時系列データから将来のアクセス数の異常検知に使用する使用プロファイルの候補となる複数の予測プロファイルを生成する予測プロファイル生成部と、
前記予測プロファイル生成部によって生成された前記複数の予測プロファイルのなかから、所定の決定基準に合致する予測プロファイルを前記使用プロファイルとして決定する使用プロファイル決定部と
を備えたことを特徴とする。
【発明の効果】
【0006】
この発明により、誤検知の発生が少ない予測プロファイルを生成する不正アクセス検知装置を提供できる。
【発明を実施するための最良の形態】
【0007】
実施の形態1.
図1〜図20を用いて実施の形態1を説明する。
【0008】
図1は、コンピュータで実現される不正アクセス検知装置100の外観の一例を示す図である。図1において、不正アクセス検知装置100は、システムユニット830、CRT(Cathode・Ray・Tube)やLCD(液晶)の表示画面を有する表示装置813、キーボード814(Key・Board:K/B)、マウス815、FDD817(Flexible・Disk・ Drive)、コンパクトディスク装置818(CDD:Compact Disk Drive)、プリンタ装置819などのハードウェア資源を備え、これらはケーブルや信号線で接続されている。システムユニット830はネットワークに接続している。
【0009】
図2は、コンピュータで実現される不正アクセス検知装置100のハードウェア資源の一例を示す図である。図2において、不正アクセス検知装置100は、プログラムを実行するCPU810(Central Processing Unit:中央処理装置、処理装置ともいう)を備えている。CPU810は、バス825を介してROM(Read Only Memory)811、RAM(Random Access Memory)812、表示装置813、キーボード814、マウス815、通信ボード816、FDD817、CDD818、プリンタ装置819、磁気ディスク装置820と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置820の代わりに、光ディスク装置、フラッシュメモリなどの記憶装置でもよい。
【0010】
RAM812は、揮発性メモリの一例である。ROM811、FDD817、CDD818、磁気ディスク装置820等の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部、格納部、バッファの一例である。通信ボード816、キーボード814、FDD817などは、入力部、入力装置の一例である。また、通信ボード816、表示装置813、プリンタ装置819などは、出力部、出力装置の一例である。
【0011】
通信ボード816は、LAN(Local Area Netwirk)等のネットワークに接続されている。通信ボード816は、LANに限らず、インターネット、ISDN等のWAN(ワイドエリアネットワーク)などに接続されていても構わない。
【0012】
磁気ディスク装置820には、オペレーティングシステム821(OS)、ウィンドウシステム822、プログラム群823、ファイル群824が記憶されている。プログラム群823のプログラムは、CPU810、オペレーティングシステム821、ウィンドウシステム822により実行される。
【0013】
上記プログラム群823には、以下に述べる実施の形態の説明において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、CPU810により読み出され実行される。
【0014】
ファイル群824には、以下に述べる実施の形態の説明において、「使用プロファイル」、「カウント151」、「プロファイル候補」、「予測プロファイル」などとして説明する情報や、「〜の判定結果」、「〜の算出結果」、「〜の選択結果」、「〜の生成結果」、「〜の処理結果」として説明する情報や、データや信号値や変数値やパラメータなどが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU810によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
【0015】
また、以下に述べる実施の形態の説明においては、データや信号値は、RAM812のメモリ、FDD817のフレキシブルディスク、CDD818のコンパクトディスク、磁気ディスク装置820の磁気ディスク、その他光ディスク、ミニディスク、DVD(Digital・Versatile・Disk)等の記録媒体に記録される。また、データや信号は、バス825や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【0016】
また、以下に述べる実施の形態の説明において、「〜部」として説明するものは、「手段」、「〜回路」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ROM811に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU810により読み出され、CPU810により実行される。すなわち、プログラムは、以下に述べる「〜部」としてコンピュータを機能させるものである。あるいは、以下に述べる「〜部」の手順や方法をコンピュータに実行させるものである。
【0017】
図3は、実施の形態1における不正アクセス検知装置100の構成図である。図3に示すように、不正アクセス検知装置100は、データ取得部101、集計部102、分析部103、プロファイル定義部104、予測プロファイル生成部105、プロファイル選択部106を備える。また、分析部103は、カウント処理部1031、プロファイル処理部1032、演算部1033、逸脱確認部1034を備える。プロファイル定義部104は、使用プロファイル蓄積部1041、カウント蓄積部1042、プロファイル候補蓄積部1043を備える。予測プロファイル生成部105は、差異定義部1051、差異反映部1052を備える。
【0018】
また、プロファイル選択部106と分析部103とは、後述のように複数の予測プロファイルの中から使用プロファイルとするべき予測プロファイルを決定する使用プロファイル決定部を構成する。
【0019】
図3において、
(1)データ取得部101は、ネットワーク機器のログ150を取り込む。
(2)集計部102は、ネットワーク機器のログ150から、特定の集計期間における特定条件下の集計値をカウント151として出力する。
(3)分析部103は、プロファイル定義部104からプロファイル152を受け取り、特定の統計分析によりカウント151がプロファイル152に対して異常か否か分析する。
(4)プロファイル定義部104は、正常状態のカウントの集合であるプロファイルを保持する。
(5)予測プロファイル生成部105は、プロファイル152と、アクセス数の変動後のアクセス数の平均予測値などの環境変化情報161から、予測プロファイル154を1つ以上生成する。
(6)プロファイル選択部106は、複数生成された予測プロファイルを用いて分析した複数の分析結果から、最適な予測プロファイルを判定し、その結果である選択された予測プロファイル156をプロファイル定義部104に通知する。
【0020】
(A:学習の動作)
図4は学習動作を示すシーケンスである。図3、図4を参照して、学習の動作について説明する。不正アクセス検知装置100における検知開始前の準備動作を「学習」と呼ぶ。データ取得部101は、正常な状態として扱う期間のネットワークトラフィックデータ(例えば、ネットワーク機器のログ150を1週間分)を受信し(S101)、集計部102に渡す(S102)。ネットワークトラフィックデータとして、例えば、図5の様なIDS(Intrusion Detection System)のログファイルを取り込む。
【0021】
次に集計部102は、データ取得部101から受け取ったネットワークトラフィックデータ(ログ150)から、時系列データを生成する(S103)。図6は集計部102が生成した時系列データ(概念図)の一例を示している。ここでは、例として宛先ポートが445のアクセス数の時系列データを生成する。集計部102は、定められた集計時間、例えば5分間において、そのログ中の、「宛先ポート445のアクセスの出現個数」を数え上げる。これを集計時間毎に順に行うと、宛先ポート445のアクセス数の時系列データが生成できる。
【0022】
例えば、図5のログの例であれば、「06/04/18、12:00」から5分間の間にDstPort(宛先)445は3個の出現個数である。この作業を5分ごとに行えば、宛先ポート445について5分集計のアクセス数の時系列データが生成される。ここで、集計値=その集計期間におけるアクセス数である。ログデータが1週間分であれば、60分×24時間×7日=10080分の期間であり、5分で割れば2016個の集計値から構成されるアクセス数の時系列データが得られる。このようにして得られた時系列データをグラフ化したのが、図6である。横軸は時刻(集計タイミング)、縦軸はアクセス数を示している。
【0023】
この様にして集計部102により得られたアクセス数の時系列データは、図7の時系列データ157のような集計時刻、集計間隔、集計値(アクセス数)のフォーマットで列挙されたデータとして扱う。
【0024】
集計部102は、時系列データ157をプロファイル定義部104に渡す(S104)。プロファイル定義部104は、時系列データ157を使用プロファイル蓄積部1041にプロファイルとして保存する。ここでは、図8の様に、現在のプロファイル201として蓄積される(S105)。
【0025】
(B:検知動作)
図9は検知動作を示すシーケンスである。図9を参照して、プロファイルを用いた検知動作について説明する。データ取得部101は、ネットワーク機器のログ150を5分間ぶん新たに受信し(S201)、集計部102に渡す(S202)。
【0026】
集計部102は、集計条件に従い集計を行う。集計条件としては、例えば、宛先ポート445の5分間のアクセス数の集計を行う(S203)。集計の結果は、「カウント151」として分析部103に渡す(S204)。図5を例に示せば、「06/04/18、12:00」から5分間の間に宛先ポート445は3個の出現個数であり、出現個数=集計値がアクセス数に該当する。図10にカウント151のフォーマットを示す。
【0027】
分析部103では、以下の処理を行う。カウント151がプロファイル定義部104の使用プロファイル蓄積部1041に保存さているプロファイルと比較し、統計的に異常か否かを分析する(S205)。分析の方法は、3σ法や、主成分分析、AutoRegressiveMovingAverageモデルなどがあるが、ここでは、ある特定のアルゴリズムを使用するものとする。
【0028】
分析部103は、カウント151が統計的に異常であれば、異常として、検知結果153を出力する。それ以外は正常として検知結果153を出力する。
【0029】
(C:検知動作の詳細)
図11は分析部103における検知動作の詳細を示すシーケンスである。図11を参照して、分析部103における検知動作の詳細を説明する。図11において、プロファイル152は、使用プロファイル蓄積部1041における現在のプロファイル201であり、プロファイル処理部1032に入力される(S2051)。分析対象であるカウント151はカウント処理部1031に入力される(S2052)。
【0030】
例として、統計分析のアルゴリズムを3σ法とする。
【0031】
プロファイル処理部1032では、使用プロファイル蓄積部1041から渡されたプロファイル152(現在のプロファイル201、この例では図8に示す3月の1ヶ月間のもの)から、時系列データ(ここでは、集計値の羅列)とその構成数を計算する(S2053)。時系列データは、9、2、15、・・・、11である。その構成数は3月の5分毎の集計なので12×24×31=8928であり、集計値の値が記録された行数に一致する。これらを、演算部1033に入力する(S2054)。
【0032】
カウント処理部1031は、この例ではカウント151のフォーマットから集計値(xとする)のみを取り出し、演算部1033に入力する(S2055)。図10の例であれば、x=3である。
【0033】
演算部1033は、プロファイル処理部1032からの時系列データとその個数から、その平均μ、分散σ2を計算し(S2056)、カウント処理部1031から取得した集計値xと共に、逸脱確認部1034に入力する(S2057)。
【0034】
逸脱確認部1034は、μ+3σ<xであるかを確認(S2058)し、検知結果を出力する(S2059)。逸脱条件を満たせば逸脱として判定し、異常検知を示す情報を出力する。逸脱条件を満たさない場合は正常を示す情報を出力する。これが検知結果153である。検知結果153は、例えば、異常検知の場合は1、正常の場合は0で表す。
【0035】
ここでは、演算部1033による統計分析のアルゴリズムが3σの場合について説明したが、他の統計分析のアルゴリズムでも、入力されたカウント151をカウント処理部1031で前記他の統計分析のアルゴリズムに適した形に前処理し、、またプロファイル152をプロファイル処理部1032で前記他の統計分析のアルゴリズムに適した形に前処理し、演算部1033で前記他の統計分析のアルゴリズムで処理し、その結果を逸脱確認部1034でプロファイルから逸脱しているか判定する。統計分析のアルゴリズムによりこれらの構成要素の処理が変わるが、基本的な役割は以上に述べたとおりである。
【0036】
当動作を、06/04/18、12:05以降も、5分おきにログを取り込み、5分おきに集計されたカウント151に対して逸脱確認を行う。その場合、プロファイルは毎回の動作において同じである。すなわち、プロファイルの分析(平均μ、分散σ2の算出)は最初に算出したものを使用し、各集計値Xについて逸脱判定を行う。以上が、プロファイルを使用した異常検知動作である。
【0037】
前述の図8は、分析を継続している間のプロファイル定義部104の内部状態を示している。プロファイル定義部104はカウント151を集計の都度受け取り、カウント蓄積部1042に蓄積する(蓄積カウント202)。例えば、4月の1ヶ月間において分析を実施している場合、カウント151を継続的に蓄積することで、4月の全てのアクセス数の時系列データをカウント蓄積部1042に保持することになる。4月に検知が発生しなければ、この時系列データを4月のプロファイル203としてプロファイル候補蓄積部1043に保存する。このプロファイル候補蓄積部1043に保存された時系列データは後述するように、予測プロファイルの生成に使用される。
【0038】
次に、設備変更などにより監視対象のネットワーク上の計算機の数が変動するなど、正常な状態のアクセス数の時系列データが変動する場合の分析について説明する。
【0039】
例えばWindows(登録商標)を搭載した計算機の数が増加する場合、Windows(登録商標)の通信が利用する宛先ポート445のアクセスも増加する。もし、宛先ポート445のプロファイルを、計算機の増加前と同じものを使用していた場合、計算機の増加後の分析において正常な宛先ポート445のアクセスの増加が異常として分析される可能性がある。なぜならば、計算機の増加後に宛先ポート445のアクセスが増加しており、現在使用しているプロファイルと比較した場合に増加している状態なので分析部103は、統計的に異常と判断するからである。
【0040】
図12を例に挙げると、「5/1(木曜日)、00:00」に設備変更があり、宛先ポート445のアクセス数が4月と比較して増加している。現在使用している使用プロファイル(3月の時系列データ)に対して4月のアクセス数は異常ではない(不正アクセスではない)が、4月よりも5月は増加しているため、分析部103によって現在使用しているプロファイルと比較した場合に異常と判断される。
【0041】
ここで、設備変更により計算機が10台から100台に増えたとする。例として分析アルゴリズムとして3σ法を利用している場合、計算機の数が増える前は「平均10アクセス/5分、標準偏差2」であったものが、計算機の数が増えたことにより、「平均100アクセス/5分、標準偏差10」になったとする。計算機の増加する前のプロファイルに基づけば、正常なアクセス数の範囲は(10+3×σ)/5分、σ=2であり、これに対して計算機増加後の平均アクセス数100/5分を比較すると、異常と判断される。
【0042】
この様に、設備の変更など、不正アクセスではない原因によりアクセス数が増加した場合は、異常として検知するべきではない。従って、この場合は、プロファイル自体も計算機の増加を考慮したプロファイルに変更する必用がある。
【0043】
例えば、5/1(木)において、設備変更として監視対象の計算機数が10台から100台に増えるとする。この場合、月間の宛先ポート445の平均アクセス数は計算機が増加した分比例して増加するとして、このシステム外において予め平均アクセス数の予測が分かっているとする。この様に設備変更後の平均アクセス数の予測がたっている場合は、平均アクセス数の予測値を利用し予測プロファイルを生成する。
【0044】
(D:予測プロファイルの生成動作)
図13は予測プロファイルの生成過程を示すシーケンスである。図13を参照して予測プロファイルの生成を説明する。差異定義部1051は、、5/1(木曜日)、0時に5月の宛先ポート445宛の平均アクセス数の予測値を環境変化情報161(改変情報の一例)として予め受け取る(S301)。例えば、キーボードなどの入力装置から環境変化情報161を入力する。この場合、予測値である平均アクセス数が100であるとする。
【0045】
(予測プロファイル生成部105の動作)
予測プロファイル生成部105の差異定義部1051は、プロファイル定義部104のプロファイル候補蓄積部1043が保存している4月のプロファイル203(正常時系列データの一例)を受け取り(S302)、平均値を求める(S303)。図3に示したように、4月のプロファイル203は、プロファイル152として渡される。ここで、4月の平均値が10(10/5分)であったとする。次にこの平均値と5月の予測アクセス数の差Δ(100−10=90)を求める(S304)。これを差異10551とする。差異定義部1051は、差異10551を差異反映部1052に渡す(S305)。
【0046】
(差異反映部1052の動作)
図14に示すように、予測プロファイル生成部105の差異反映部1052は、4月のプロファイル203の全ての集計時刻のカウントに差異10551であるΔ(90)を足して、変動後の予測プロファイルを生成する(S306)。図14では、4月のプロファイル203のフォーマットにおいて、各集計値にΔを足したデータを予測プロファイルとして生成する。
【0047】
ここで、複数のプロファイルを生成するため、差異反映部1052は、Δを0.5倍〜2.0倍まで0.1刻みで計算した0.5*Δ〜2.0*Δを用意し、4月のプロファイル203にこれらを足したものを複数のプロファイルとして生成する(所定の生成規則の一例)。例えば、図15において、予測プロファイル1は、4月のプロファイル203に0.5*Δを足したものである。
【0048】
図16は、0.5*Δ〜2.0*Δを生成する処理を示すフローチャートである。このフローチャートでは、j=1の場合が、0.5*Δの生成(Δ1)、j=16の場合が、2.0*Δの生成(Δ16)に相当する。
【0049】
図17は、予測プロファイル1〜16を生成する処理を示すフローチャートである。Ciは4月のプロファイル203の集計値であり、5分集計で30日なので、データの数は、8640個である。このフローチャートでは、j=1の場合に出力されるX(i,1)(iは1〜8640)が予測プロファイル1の生成であり、j=16の場合に出力されるX(i,16)(iは1〜8640)が予測プロファイル16に相当する。4月のプロファイル203の、「集計時刻、集計間隔、該当する集計値に対してΔjを足した値」、をProf_jに保存する。図18は、Prof_1の例を示す図である。
【0050】
(E:最適な予測プロファイル選択の動作)
図19は最適な予測プロファイルの選択動作を示すシーケンスである。図19を参照して、5/1(木)00:05以降における不正アクセス検知装置の動作を説明する。5/1、00:05において、データ取得部101は、ネットワーク機器のログ150(5分間ぶん)を受け取り(S401)、集計部0102に出力する(S402)。集計部102は宛先ポート445の5分間のアクセス数を集計し(S403)、カウント151として出力する(S404)。分析部103のプロファイル処理部1032は、差異反映部1052から複数の予測プロファイルを受け取る(S405)。
【0051】
分析部103は、カウント151(図20におけるi=1相当)に対して、予測プロファイル生成部105から受け取った複数の予測プロファイル154(図20におけるj=1〜16)を用いて分析する。当例では、予測プロファイルは、予測プロファイル1〜16の16個である。
【0052】
まず、分析部103で使用している統計分析のアルゴリズムを用いて、予測プロファイル1の予測プロファイルを用いて分析する。次に、予測プロファイル2を用いて分析する(S406)。内容は図11の検知動作の場合と同様である。すなわち、図19のS406−1において、演算部1033は、予測プロファイル1〜16を統計処理し、それぞれについて平均μ、分散σ2を算出する。S406−2において、逸脱確認部1034は、予測プロファイル1〜16を対象として、カウント151の値が異常かどうかを「μ+3σ<x」の式により判定する。この様にして、予測プロファイル16を用いた分析まで繰り返し行う。
【0053】
各々の分析の結果(図20におけるR(j,i))は、プロファイル選択部106に予測プロファイルによる分析結果155として送られ(S407)、プロファイル選択部106に蓄積される。以上が、5/1(木)0時00分のカウント151に対する分析であるが、これを、5/1(木)23時59分59秒までの1日のアクセス数のカウントについて行う。蓄積された分析結果155をR(j,i)(j=1〜16、i=1〜288)とする。jは予測プロファイル1〜16を意味し、iは5/1(木)00:05の集計値〜5/2(木)00:00の集計値(5/1(木)23時59分59秒までの集計)288個(1日ぶん)を意味する。
【0054】
(プロファイル選択部106の選択動作)
5/2(木)00:00において、プロファイル選択部106は自身に蓄積された、R(j,i)を用いて、適切なプロファイルを選択する(S408)。プロファイル選択部106は、1日の分析の間に検知が発生した予測プロファイルは、プロファイルとして適切では無いと判断し削除する。図20は、プロファイル選択部106がプロファイルを削除する処理を示す。図20は、S34、S35、S36,S37と進みS37からS34に戻るループは、ある予測プロファイルを対象とした場合に、各5分ごとのカウント151が異常かどうかを判定する処理である。R(j,i)は分析結果155(異常=1、あるいは正常=0)であり、例えば、予測プロファイル1を使った場合の、5/1(木)0時00分の分析結果155はR(1,1)、5/2(木)0時00分の分析結果はR(1,288)である。Prof_jが予測プロファイルであり、jが予測プロファイルの番号である。つまり、予測プロファイル1はProf_1である。
【0055】
当処理の結果、例えば、図20において、予測プロファイル1〜予測プロファイル9を用いた分析で異常検知が発生した場合、予測プロファイル1〜9が削除(S39)される。削除する理由は、異常検知が発生した予測プロファイルは、プロファイルとして実測値よりも小さかったため適切では無いからである。
【0056】
プロファイル選択部106は、残った予測プロファイルの中において、一番小さいn*Δを採用したプロファイルを、以後予測プロファイルとして利用(決定)する(所定の決定基準の一例)。図15においては、予測プロファイル10を採用する。
【0057】
残った予測プロファイルは、検知が発生しない程度の大きさであるが、大きすぎると実測値が隠れて検知しなくなってしまうので、残った予測プロファイルの中で一番小さい予測プロファイルを適切なものとして残す。
【0058】
図3において、上記の様に、選択された予測プロファイル156(この例では予測プロファイル10)がプロファイル選択部106からプロファイル定義部104に渡され、新しい使用プロファイルとして使用プロファイル蓄積部1041に上書き保存され、5/2(木)00:05以降の分析(検知)には、この新しい使用プロファイルが使用される。5月の検知が異常検知の発生が無い場合には、カウント蓄積部1042に蓄積されたカウント151の5月分のデータが、プロファイル候補蓄積部1043にプロファイル候補として格納されるが、同時に、この5月のプロファイル候補は使用プロファイル蓄積部1041に使用プロファイルとして上書きされる。すなわち、6月の分析には、使用プロファイルとして、異常が検知されなかった5月のカウント151(一月ぶん)が使用される。
【0059】
本実施の形態1では、変動後のアクセス数が増加することを前提に記述したが、減少する場合でも同じように差異を求めることで、減少後の複数の予測プロファイルを生成し、同じ方法で最適な予測プロファイルを選択することができる。つまり、この場合は、差異10551がマイナスの値をとるだけであり、各部が同じ動作を行うだけで対応できる。
【0060】
以上の様に、実施の形態1では、設備の変動により正常な状態のアクセス数が変動する場合において、予め変動後の平均アクセス数が分かっている場合は、これを利用することにより現在のプロファイルの平均値と比較し、差異を求め、この差異に複数の比率を掛け、現在のプロファイルに反映することで複数の予測プロファイルを生成する。複数の予測プロファイルを用いて設備の変動後の1日のデータを分析し、適切な予測プロファイルを選択することにより、以後の分析において、誤検知や検知漏れを低減できる効果がある。また、予測プロファイルの生成では、現在のプロファイルに差異Δを足す方式をとることにより、現在のプロファイルの周期変動などの傾向を反映した予測プロファイルを生成可能である。
【0061】
実施の形態2.
次に図21〜図24を参照して実施の形態2を説明する。実施の形態1では、予め5月の予想平均アクセス数が分かっている場合に、これを利用して予測プロファイルを生成した。実施の形態2では、予測平均アクセス数が分からない場合の実施形態を説明する。
【0062】
設備変更後の平均アクセス数が予測できない場合は、設備変更後の1日(ある曜日)のデータ(この例では5月1日の一日間のデータ)を観測して実施の形態1の環境変化情報161に相当するデータを算出し、設備変更前の同じ曜日のデータとの差分を用いて、予測プロファイルを生成する。
【0063】
(A:5月1日の一日間の学習動作)
5/1(木曜日)の設備変更後、5/1(木)の一日間のみの学習を行う。この動作は、実施の形態1に示した学習動作であるが、実施の形態2では、集計部102が時系列データ157をプロファイル定義部104に渡す場合、プロファイル定義部104は、時系列データ157をカウント蓄積部1042に保存する。つまりこの場合、図4におけるS105では、時系列データ157がカウント蓄積部1042に保存される。
【0064】
(B:予測プロファイルの生成の動作)
図21は、実施の形態2における予測プロファイルを生成する動作を示す図である。図21を参照して予測プロファイルの生成動作を説明する。
【0065】
プロファイル定義部104は、カウント蓄積部1042に蓄積された時系列データ157(5/1の一日分の288個のデータ)から、5/1(木)の1日のカウントの平均値であるμthr304(改変情報の一例)を計算し、予測プロファイル生成部105の差異定義部1051に渡す(S501)。
【0066】
(差異定義部1051)
次に、予測プロファイル生成部105における差異定義部1051は、プロファイル定義部104からプロファイル候補蓄積部1043が保存している4月のプロファイル203(正常時系列データの一例)を受け取り(S502)、4月における木曜日のカウントである木曜日のカウント301を取り出し、平均値μ’thr303を求める(4/3(木),10(木),17(木),24(木)のアクセス数の平均値)(S503)。
さらに、
Δ=μthr304−μ’thr303
を計算する(S504)。この処理を図22に示す。
差異定義部1051は、このΔを差異10551として差異反映部1052に渡す(S505)。
【0067】
(差異反映部1052)
予測プロファイル生成部105における差異反映部1052は、図23に示すように、4月のプロファイル203の全ての時刻のカウントに差異定義部1051から受け取った差異10551であるΔを足して、変動後の予測プロファイルを生成する(S506)。
【0068】
差異反映部1052による予測プロファイルの生成(所定の生成規則)は実施の形態1と同様である。すなわち、複数の予測プロファイルを生成するため、Δを0.5倍〜2.0倍まで0.1刻みで計算した0.5*Δ〜2.0*Δを用意し、4月のプロファイル203にこれらを足したものを複数の予測プロファイルとして用意する。これらを予測プロファイル1〜予測プロファイル16とする。このように、Δと4月のプロファイル203を使用した複数の予測プロファイルの生成方法は実施の形態1と同じである。
【0069】
(C:最適な予測プロファイルの選択)
図24は、実施の形態2における最適な予測プロファイルを選択する動作を示す図である。図24を参照して最適な予測プロファイルの選択動作を説明する。実施に形態1と異なり、実施の形態1の場合、検知対象とする5/1の一日分のデータ(i=1〜288)は既に取得されている。
【0070】
分析部103は、5/1の一日分のカウント151をカウント蓄積部1042から取得(S601)し、予測プロファイル1〜16を差異反映部1052から取得する(S602)。分析部103は、プロファイル定義部104のカウント蓄積部1042に保存されている蓄積カウント202における5/1(木)の1日のカウントについて、5分おきの集計値に対して、各予測プロファイル1〜16を使用して分析(異常検知)を行う(S603)。
【0071】
すなわち、分析部103で使用している統計分析のアルゴリズムを用いて、5/1(木)の5分おきのカウント全てに対して、予測プロファイル1を用いて分析する。次に、予測プロファイル2を用いて同様に分析する。この様にして、予測プロファイル16を用いた分析まで繰り返し行う。
【0072】
各々の分析の結果R(j、i)は、プロファイル選択部106に予測プロファイル1〜16を用いた分析結果155として送られ、プロファイル選択部106に蓄積される。
【0073】
5/2(木)の0時0分において、プロファイル選択部106は、自身に蓄積された、5/1(木)1日分の分析結果を用いて、適切なプロファイルを選択する(S604)。選択の方法は、実施の形態1におけるプロファイル選択部106が行う選択と同じである。選択された予測プロファイルは、使用プロファイル蓄積部1041に上書きされる(S605)。
【0074】
実施の形態2では、実施の形態1と同様に、変動後のアクセス数が増加することを前提に記述したが、減少する場合でも同じように差異10551を求めることで、減少後の複数の予測プロファイルを生成し、同じ方法で最適な予測プロファイルを選択することができる。つまり、この場合は、差異10551がマイナスの値をとるだけであり、各部が同じ動作を行うだけで対応できる。
【0075】
以上の様に、実施の形態2では、設備の変動により正常な状態のアクセス数の時系列データが変動する場合において、変動後の予測の平均アクセス数が分かっていない場合は、変動後の1日のデータを学習し、学習した曜日の現在のプロファイルのカウントの平均を求め、これらの差異を求め、この差異に複数の比率を掛け、現在のプロファイルに反映することで複数の予測プロファイルを生成する。複数の予測プロファイルを用いて設備の変動後の1日のデータを分析し、適切な予測プロファイルを選択することにより、以後の分析において、誤検知や検知漏れを低減できる効果がある。また、予測プロファイルの生成では、現在のプロファイルに差異Δを足す方式をとることにより、現在のプロファイルの周期変動などの傾向を反映した予測プロファイルを生成可能である。
【0076】
実施の形態3.
(装置外からパラメータ入力)
実施の形態3は、差分Δに乗じる0.5倍等の数値を外部からパラメータとして入力する実施形態である。実施の形態1、2では、複数のプロファイルを準備する際に、例としてΔを0.5倍〜2.0倍まで0.1刻みで指定しているが、他の倍数、刻みでもよく、装置外からパラメータで与える方式で実現する。図25において、パラメータ10551は、倍率最大値10552、倍率最小値10553、生成個数10554、刻み幅10555で与える。倍率最大値10552は実施の形態1では2.0に相当し、倍率最小値10553は0.5に相当する。刻み幅10555は、0.1に相当する。刻み幅を与えない場合は、代わりに生成個数10554を与え、差異定義部1051は以下を計算し、結果を刻み幅の代わりとする。
すなわち、
刻み幅=(倍率最大値−倍率最大値)/生成個数とする。
【0077】
実施の形態4.
(分析日数をm日)
実施の形態1、実施の形態2では、生成した複数の予測プロファイルの選択において、複数の予測プロファイルを用いて1日ぶんの分析を行い、異常を検知した予測プロファイルを削除し、異常検知しなかった予測プロファイルの中で1番小さいものを選択した。本実施の形態4では、選択するための分析期間をm日とし、その期間において、検知した予測プロファイルを削除し、検知しなかった予測プロファイルの中で1番小さいものを選択する。
【0078】
実施の形態5.
(ビジネスアワーにのみ加算)
実施の形態1、2では、現在のプロファイル全体に、n*Δを足して予測プロファイルを生成した。しかし、土日、夜間はプロファイル変動前と変動後で変化が無く、平日のビジネスアワーのみ変化があることが分かっている場合は、プロファイルにおいて平日のビジネスアワーの部分にのみ、n*Δを足してもよい。例えば、図26の様に、平日の昼アクセス数が多く、夜はアクセス数は少なく、土日はアクセス数が少ない場合、設備変更による変動後も同様の傾向が想定される場合は、平日のビジネスアワー(例:9時〜17時)にのみn*Δを足し、それ以外は足さないで予測プロファイルを生成する。
【0079】
以上の様に、当実施の形態5では、ビジネスアワーの変動を考慮した適切な予測プロファイルを生成することが可能である。
【0080】
実施の形態6.
(d>kの場合に予測プロファイルを削除)
実施の形態1、2では、予測プロファイルの選択において、図20のフローで、d>0の場合にProf_jを削除(S39)したが、d>0の分岐をd>kとする。kはプロファイル選択部106に与えるパラメータであり、例えば、k=10であれば、そのプロファイルを使用し10回以上検知が発生した場合に削除することになる。このように、異常を検知した回数が閾値を超えた場合に削除するようにする。
【0081】
実施の形態7.
(平均の比によって予測プロファイルを生成)
実施の形態1では、差異定義部1051は、現在のプロファイルの平均値と、平均値の予測値の差を差異10551として計算した。また、実施の形態2では、差異定義部1051は、現在のプロファイルの木曜日の平均値と、5/1(木)の平均値の差を差異10551として計算した。本実施の形態7では、これらの平均値の差を差異10551として計算するのではなく、比を差異10551として求めても良い。
【0082】
つまり、実施の形態1では、
Δ=「平均値の予測値」/「現在のプロファイルの木曜日の平均値」
であり、実施の形態2では、
Δ=「5/1(木)の平均値」/「現在のプロファイルの木曜日の平均値」
である。
【0083】
この場合、図17の「Xij=Ci+Δj」を「Xij=Ci*Δj」に変更する。
【0084】
実施の形態8.
(予測プロファイルの補正)
実施の形態1、実施の形態2では、生成した複数の予測プロファイルの選択において、複数の予測プロファイルを用いて1日分析を行い、異常検知された予測プロファイルを削除した。本実施の形態8では、全ての予測プロファイルにおいて異常検知が発生しなかった場合に予測プロファイルの補正を行うものである。実施の形態1、実施の形態2ではΔを0.5倍〜2.0倍まで0.1刻みで計算した0.5*Δ〜2.0*Δを用意して複数の予測プロファイルを生成したが、異常検知が発生しないということはこれらで生成した予測プロファイルでは実測値に対して大きいということである。よって、Δに掛ける倍率を最低の0.5の1/10を刻みとして、0.05*Δ〜0.45*Δを差異として新しい予測プロファイルを生成し、これらの予測プロファイルで検知するか試みる。
【0085】
上記でも検知しない場合は、0.05の1/10を刻みとして、同様に、0.005*Δ〜0.045*Δを差異として新しい予測プロファイルを生成し(所定の補正規則の一例)、これらの予測プロファイルで検知するか試み、これを繰り返す。
【0086】
つまり、本実施の形態8では、予測プロファイルの生成において使用した差異が大きかった場合に、さらに小さい差異を使用して予測プロファイルを再生成し、検知するまで予測プロファイルの再生成を繰り返すことで(所定の補正規則の一例)、最適な予測プロファイルを選択するものである。本実施の形態8では、実施の形態1、2を例として、予測プロファイルの再生成用の差異を0.05の1/10を基準としたが、他の割合、生成の個数でも良い。
【0087】
以上の様に、当実施の形態8では、最初に生成した複数の予測プロファイルが適切でなかった場合に、さらに複数の予測プロファイルを作り選択することが可能である。
【0088】
実施の形態9.
(選択する際に使用するアルゴリズム)
実施の形態1、実施の形態2では、予測プロファイルを選択する際の分析アルゴリズムとして、検知に用いる統計分析のアルゴリズムをそのまま使用した。本実施の形態9では、予測プロファイルを選択するために別の統計分析のアルゴリズムを適用しても良い。例えば、検知に3σ(平均+3σを超えたら検知)を利用している場合において、予測プロファイルの選択においては、これを1σ(平均+σを超えたら検知)とし、分析を行い選択の判断を行っても良い。他の例として、例えば、特開2008−146157号公報に示されるスライディングウィンドウを使用したPCA(Principal Component Analysis:主成分分析)を適用して分析を行い、選択の判断を行っても良い。
【0089】
実施の形態10.
(1時間おきの平均アクセス数の反映)
実施の形態2では、設備変更後に1日観測したアクセス数の1日の平均値(5/1(木)の1日の平均)を求め、4月のプロファイルにおける同じ曜日の平均値を求めてその差を差異として、4月のプロファイル全体に反映した。本実施の形態10では、設備変更後に1日観測したアクセス数の1時間おきの(5分の集計値の)平均値を求め、4月のプロファイルにおける同じ曜日の1日の1時間おきの(5分の集計値の)平均値を求め、各1時間おきの差異を、4月のプロファイルの同時間帯に反映するものである。
【0090】
具体的には以下のように処理する。5/1(木)に観測したアクセス数の1時間おきの(5分の集計値の)平均値を以下の様に表す。
μthr_0_1(5/1(木)0時〜1時の5分の平均アクセス数)、
μthr_1_2(5/1(木)1時〜2時の5分の平均アクセス数)、
・・・
μthr_23_24(5/1(木)23時〜24時の5分の平均アクセス数)、
図22の、木曜日のカウント301から4月の木曜日の1時間おきの平均値を以下の様に表す。
μ’thr_0_1(4月の木曜日の0時〜1時の5分の平均アクセス数)、
μ’thr_1_2(4月の木曜日の1時〜2時の5分の平均アクセス数)、
・・・、
μ’thr_23_24(4月の木曜日の23時〜24時の5分の平均アクセス数)、
【0091】
次に以下を計算する。
Δ_0_1=μthr_0_1−μ’thr_0_1、
Δ_1_2=μthr_1_2−μ’thr_1_2、
・・・
Δ_23_24=μthr_23_24−μ’thr_23_24、
【0092】
この各Δを4月のプロファイル203に適用する。ここではn=0.5とする。
4月1日0時〜1時における各5分の集計値+n*Δ_0_1、
4月1日1時〜2時における各5分の集計値+n*Δ_1_2、
・・・
4月1日23時〜24時における各5分の集計値+n*Δ_23_24、
4月2日0時〜1時における各5分の集計値+n*Δ_0_1、
4月2日1時〜2時における各5分の集計値+n*Δ_1_2、
・・・
4月2日23時〜24時における各5分の集計値+n*Δ_23_24、
以降、4月30日のデータまで同じように適用する。
【0093】
上記の計算を行えば、5/1(木)と4月の木曜日のアクセス数の1時間ごとの差異を、4月のプロファイル全体の同時間帯に反映した予測プロファイルを生成可能である。
【0094】
nを0.5〜2.0まで0.1刻みで変化させて上記計算を行えば、実施の形態2と同じように16個の予測プロファイルを生成できる。
【0095】
上記の例では、1時間ごとのΔを生成したが、0時〜6時、6時〜12時、12時〜18時、18時〜24時のように時間帯を分けて、時間大別の平均値を求め同様の処理を適用しても良い。或いは、1時間よりも細かい時間帯、例えば、30分ごとに同様の処理を行っても良い。
【0096】
以上の様に、当実施の形態10では、アクセス数の変動後の時間ごとの細かい差異を反映できる。
【0097】
実施の形態11.
(1週間の観測)
実施の形態2では、設備変更後に1日観測したアクセス数の1日の平均値を求め、4月のプロファイルにおける同じ曜日の平均値を求めその差を差異として、4月のプロファイル全体に反映した。本実施の形態では、設備変更後に7日観測したアクセス数の曜日別の平均値を求め、4月のプロファイルにおける同じ曜日の平均値を求め、同じ曜日の平均値の差を求め、曜日別の差異を4月のプロファイルの曜日ごとに反映するものである。
【0098】
具体的には以下のように処理する。
5/1(木)〜5/7(水)に観測したアクセス数の1日の平均値を以下の様に表す。
μthr(5/1(木)の1日の平均アクセス数)、
μfri(5/2(金)の1日の平均アクセス数)、
・・・
μwed(5/7(水)の1日の平均アクセス数)、
図22の、4月のプロファイル203から各曜日の1日の平均値を以下の様に表す。
μ’thr(4月の木曜日の1日の平均アクセス数)、
μ’fri(4月の金曜日の1日の平均アクセス数)、
・・・
μ’wed(4月の水曜日の1日の平均アクセス数)、
【0099】
次に以下を計算する。
Δ_thr=μthr−μ’thr、
Δ_fri=μfri−μ’fri、
・・・
Δ_wed=μwed−μ’wed、
【0100】
この各Δを4月のプロファイル203 の各曜日に適用する。ここでは n=0.5とする。
4月の各木曜日の各5分の集計値+n*Δ_thr、
4月の各金曜日の各5分の集計値+n*Δ_fri、
・・・
4月の各水曜日の各5分の集計値+n*Δ_wed、
【0101】
上記の計算を行えば、5/1(木)〜5/7(水)の1週間の各曜日と4月の各曜日のアクセス数の差異を、4月のプロファイル全体の同曜日に反映した予測プロファイルを生成可能である。実施の形態1では、1日のアクセス数の平均の差異を反映したが、本実施の形態12に従えば、観測期間は7日になるが、設備変更後の各曜日の差異を4月のプロファイルに反映することができる。
【0102】
実施の形態12.
実施の形態1、2では、プロファイルとして3月や4月という単位ごとにプロファイルを使用して分析した。他の分析の形態として、ビジネスアワーとそれ以外にプロファイルを分けて持つ場合や、1時間おきや、曜日別にプロファイルを分けて分析を行う場合がある。
【0103】
例えば、ビジネスアワーとそれ以外にプロファイルを分けて持つ場合は、ビジネスアワーにおけるアクセス数の分析では、ビジネスアワー用のプロファイルを用いて逸脱を確認する。
【0104】
ビジネスアワーとそれ以外にプロファイルを分けて持つ場合で、設備変更によるアクセス数の変動後の平均の予測値μ’がある場合は次のようにする。ビジネスアワーとそれ以外のアクセス数のプロファイルを合わせた平均値μを求め、これらの平均値の差をΔ=μ’−μとし、ビジネスアワー用のプロファイル、ビジネスアワー以外のプロファイルにΔを反映することで、各々の予測プロファイルを生成する。設備変更によるアクセス数の変動後の平均の予測値が無い場合は次のようにする。設備変更後の1日において、ビジネスアワーとそれ以外のアクセス数を観測し、ビジネスアワーのアクセス数の平均値μ’bと、ビジネスアワー以外の平均値μ’nbを各々求め、現在のビジネスアワーのプロファイルの平均値μb、ビジネスアワー以外の平均値μnbに対して、
Δb=μ’b−μb、Δnb=μ’nb−μnb
を求める。Δbを現在のビジネスアワー用のプロファイルに、Δnbをビジネスアワー以外のプロファイルに反映することで、ビジネスアワーとそれ以外の予測プロファイルを生成できる。
【0105】
1時間おきにプロファイルを持っている場合は、設備変更によるアクセス数の変動後の平均の予測値μ’がある場合は、1時間おきのプロファイルを全て足し平均値μを求め、これらの平均値の差をΔ=μ’−μとし、1時間おきのプロファイルにΔを反映することで、各々の予測プロファイルを生成する。設備変更によるアクセス数の変動後の平均の予測値が無い場合は次のようにする。設備変更後の1日において、1時間おきのアクセス数を観測し、1時間おきの平均値(μ’i,i=0〜23)を求める。次に、現在の1時間おきのプロファイルの平均値(μi,i=0〜23)を求める。Δi=μ’i−μi(i=0〜23)を求め、Δiを現在の1時間ごとのプロファイルに反映することで、各時間の予測プロファイルを生成できる。ここで、i=0は0時、i=23は23時を示す。
【0106】
曜日別にプロファイルを持っている場合は、設備変更によるアクセス数の変動後の平均の予測値μ’がある場合は、曜日別のプロファイルを全て足し平均値μを求め、これらの平均値の差をΔ=μ’−μとし、曜日別のプロファイルにΔを反映することで、各々の予測プロファイルを生成する。設備変更によるアクセス数の変動後の平均の予測値が無い場合は次のようにする。設備変更後の1日において、アクセス数を観測し、1日の平均値μ’を求める。観測した曜日に該当する曜日のプロファイルの1日の平均値μを求める。これらの平均値の差異をΔ=μ’−μとする。このΔを各曜日のプロファイルに反映することで、各曜日の予測プロファイルを生成できる。
【0107】
上記の様に生成した予測プロファイルは、実施の形態1や2の様にΔに倍率を掛けることで複数生成でき、生成された予測プロファイルの選択は実施の形態1や2と同様の処理を行うことで選択できる。
【0108】
本実施の形態12では、プロファイルがビジネスアワーとそれ以外、時間別、曜日別などに分割されていても、設備変更によるアクセス数の変動後の平均の予測値がある場合、無い場合について、実施の形態1や2の考え方を応用して適切な予測プロファイルを生成することが可能である。
【0109】
以上の実施の形態では不正アクセス検知装置100を説明したが、不正アクセス検知装置100は、不正アクセス検知装置100の各構成要素が行う「不正アクセス検知方法」の実施形態として把握することもできる。また、不正アクセス検知装置100は、「〜部」の機能をコンピュータに実行させる「不正アクセス検知プログラム」の実施形態として把握することもできる。さらに、「不正アクセス検知プログラム」を記録したコンピュータ実行可能な「記録媒体」の実施形態として把握することも可能である。
【0110】
以上の実施の形態では、ネットワークのアクセス数の時系列データのAnomaly検知において、正常な状態のアクセス数の傾向が変動した際に、変動した正常なアクセス数の再学習の期間を短縮するために予測プロファイルを利用する分析おいて、複数の予測プロファイルを生成する予測プロファイル生成部105と、複数の予測プロファイルによる分析を行い、最適な予測プロファイルを選択する使用プロファイル決定部とを備えた不正アクセス検知装置100を説明した。
【0111】
以上の実施の形態では、予測プロファイル生成部105は、予め入手した変動後の予測の平均アクセス数と現在のプロファイルの平均アクセス数との差異を求め、この変位に複数の倍率をかけ、現在のプロファイルに反映することで、現在のプロファイルの傾向を反映した予測プロファイルを複数生成する不正アクセス検知装置100を説明した。
【0112】
以上の実施の形態では、予測プロファイル生成部105は、変動した正常なアクセス数を1日観測し、観測した曜日と現在のプロファイルの曜日のデータを元に差異を求め、この差異に複数の倍率をかけ、現在のプロファイルに反映することで、現在のプロファイルの傾向を反映した予測プロファイルを複数生成する不正アクセス検知装置100を説明した。
【図面の簡単な説明】
【0113】
【図1】実施の形態1における不正アクセス検知装置100の外観の一例。
【図2】実施の形態1における不正アクセス検知装置100のハードウェア構成。
【図3】実施の形態1における不正アクセス検知装置100のブロック図。
【図4】実施の形態1における学習のシーケンス。
【図5】実施の形態1におけるログ150の例。
【図6】実施の形態1における集計部102の生成した時系列データの概念図。
【図7】実施の形態1における時系列データ157を示す図。
【図8】実施の形態1におけるプロファイル定義部104の内部構成を示す図。
【図9】実施の形態1における検知動作のシーケンス。
【図10】実施の形態1におけるカウント151の例。
【図11】実施の形態1における検知動作の詳細のシーケンス。
【図12】実施の形態1における設備変更の場合のアクセス数変動を示す図。
【図13】実施の形態1における予測プロファイル生成のシーケンス。
【図14】実施の形態1における予測プロファイルの生成を説明する図。
【図15】実施の形態1における生成される複数の予測プロファイルを説明する図。
【図16】実施の形態1における変化ぶん生成のフローチャート。
【図17】実施の形態1における予測プロファイルの生成のフローチャート。
【図18】実施の形態1における生成された予測プロファイル1を示す図。
【図19】実施の形態1における最適な予測プロファイルの選択シーケンス。
【図20】実施の形態1における予測プロファイルの選択のフローチャート。
【図21】実施の形態2における予測プロファイル生成のシーケンス。
【図22】実施の形態2における平均値μ、μ’の生成を説明する図。
【図23】実施の形態2における予測プロファイルの生成を説明する図。
【図24】実施の形態2における予測プロファイルの生成のシーケンス。
【図25】実施の形態3におけるパラメータの入力を説明する図。
【図26】実施の形態5におけるパラメータの入力を説明する図。
【符号の説明】
【0114】
100 不正アクセス検知装置、101 データ取得部、102 集計部、103 分析部、1031 カウント処理部、1032 プロファイル処理部、1033 演算部、1034 逸脱確認部、104 プロファイル定義部、1041 使用プロファイル蓄積部、1042 カウント蓄積部、1043 プロファイル候補蓄積部、105 予測プロファイル生成部、1051 差異定義部、1052 差異反映部、106 プロファイル選択部。
【特許請求の範囲】
【請求項1】
アクセス数の時系列データをプロファイルとして用いてアクセス数の異常検知を行うAnomaly検知を実行する不正アクセス検知装置において、
正常と認められる過去のアクセス数からなる正常時系列データと、前記正常時系列データの改変に使用する改変情報とを入力し、所定の生成規則に従うことにより、前記改変情報を使用して前記正常時系列データから将来のアクセス数の異常検知に使用する使用プロファイルの候補となる複数の予測プロファイルを生成する予測プロファイル生成部と、
前記予測プロファイル生成部によって生成された前記複数の予測プロファイルのなかから、所定の決定基準に合致する予測プロファイルを前記使用プロファイルとして決定する使用プロファイル決定部と
を備えたことを特徴とする不正アクセス検知装置。
【請求項2】
前記予測プロファイル生成部は、
アクセス数を検知する検知対象の設備を変更した場合の変更後の平均アクセス数の予測値を前記改変情報として入力すると共に前記正常時系列データの平均アクセス数を算出し、算出した前記平均アクセス数と入力した前記予測値とに基づいて、前記複数の予測プロファイルを生成することを特徴とする請求項1記載の不正アクセス検知装置。
【請求項3】
前記予測プロファイル生成部は、
アクセス数を検知する検知対象の設備を変更した変更後におけるアクセス数をある曜日の1日間観測した観測結果に基づき算出された前記1日間における平均アクセス数を前記改変情報として入力すると共に前記正常時系列データにおける前記曜日と同じ曜日についての平均アクセス数を算出し、算出した前記平均アクセス数と入力した前記平均アクセス数とに基づいて、前記複数の予測プロファイルを生成することを特徴とする請求項1記載の不正アクセス検知装置。
【請求項4】
前記使用プロファイル決定部は、前記所定の決定基準として、
前記予測プロファイルの期間に含まれる一定期間を対象として前記複数の予測プロファイルの前記予測プロファイルごとに前記予測プロファイルを用いたアクセス数の異常検知処理により異常が検知されるかどうかを判定して異常の検知結果に基づいて前記使用プロファイルを決定することを特徴とする請求項1〜3のいずれかに記載の不正アクセス検知装置。
【請求項5】
前記予測プロファイル生成部は、
前記使用プロファイル決定部による判定の結果、どの前記予測プロファイルについても異常が検出されなかった場合には、所定の補正規則に基づいて、前記複数の予測プロファイルの各予測プロファイルを補正し、
前記使用プロファイル決定部は、
補正後の前記予測プロファイルごとに前記補正後の予測プロファイルを用いたアクセス数の異常検知処理により異常が検知されるかどうかを前記所定の決定基準によって再度判定し、異常の検知結果に基づいて前記使用プロファイルを決定することを特徴とする請求項4記載の不正アクセス検知装置。
【請求項6】
前記使用プロファイル決定部は、
現在においてプロファイルとして使用している時系列データを、決定された前記使用プロファイルに切り替え、前記使用プロファイルを使用してアクセス数の異常検知を行うことを特徴とする請求項1〜5の記載の不正アクセス検知装置。
【請求項7】
コンピュータを、
正常と認められる過去のアクセス数からなる正常時系列データと、前記正常時系列データの改変に使用する改変情報とを入力し、所定の生成規則に従うことにより、前記改変情報を使用して前記正常時系列データから将来のアクセス数の異常検知に使用する使用プロファイルの候補となる複数の予測プロファイルを生成する予測プロファイル生成部、
前記予測プロファイル生成部によって生成された前記複数の予測プロファイルのなかから、所定の決定基準に合致する予測プロファイルを前記使用プロファイルとして決定する使用プロファイル決定部
として機能させるための不正アクセス検知プログラム。
【請求項8】
請求項7記載の不正アクセス検知プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項9】
アクセス数の時系列データをプロファイルとして用いてアクセス数の異常検知を行うAnomaly検知を実行する不正アクセス検知装置が行う不正アクセス検知方法において、
(1)予測プロファイル生成部が、
正常と認められる過去のアクセス数からなる正常時系列データと、前記正常時系列データの改変に使用する改変情報とを入力し、所定の生成規則に従うことにより、前記改変情報を使用して前記正常時系列データから将来のアクセス数の異常検知に使用する使用プロファイルの候補となる複数の予測プロファイルを生成し、
(2)使用プロファイル決定部が、
前記予測プロファイル生成部によって生成された前記複数の予測プロファイルのなかから、所定の決定基準に合致する予測プロファイルを前記使用プロファイルとして決定することを特徴とする不正アクセス検知方法。
【請求項1】
アクセス数の時系列データをプロファイルとして用いてアクセス数の異常検知を行うAnomaly検知を実行する不正アクセス検知装置において、
正常と認められる過去のアクセス数からなる正常時系列データと、前記正常時系列データの改変に使用する改変情報とを入力し、所定の生成規則に従うことにより、前記改変情報を使用して前記正常時系列データから将来のアクセス数の異常検知に使用する使用プロファイルの候補となる複数の予測プロファイルを生成する予測プロファイル生成部と、
前記予測プロファイル生成部によって生成された前記複数の予測プロファイルのなかから、所定の決定基準に合致する予測プロファイルを前記使用プロファイルとして決定する使用プロファイル決定部と
を備えたことを特徴とする不正アクセス検知装置。
【請求項2】
前記予測プロファイル生成部は、
アクセス数を検知する検知対象の設備を変更した場合の変更後の平均アクセス数の予測値を前記改変情報として入力すると共に前記正常時系列データの平均アクセス数を算出し、算出した前記平均アクセス数と入力した前記予測値とに基づいて、前記複数の予測プロファイルを生成することを特徴とする請求項1記載の不正アクセス検知装置。
【請求項3】
前記予測プロファイル生成部は、
アクセス数を検知する検知対象の設備を変更した変更後におけるアクセス数をある曜日の1日間観測した観測結果に基づき算出された前記1日間における平均アクセス数を前記改変情報として入力すると共に前記正常時系列データにおける前記曜日と同じ曜日についての平均アクセス数を算出し、算出した前記平均アクセス数と入力した前記平均アクセス数とに基づいて、前記複数の予測プロファイルを生成することを特徴とする請求項1記載の不正アクセス検知装置。
【請求項4】
前記使用プロファイル決定部は、前記所定の決定基準として、
前記予測プロファイルの期間に含まれる一定期間を対象として前記複数の予測プロファイルの前記予測プロファイルごとに前記予測プロファイルを用いたアクセス数の異常検知処理により異常が検知されるかどうかを判定して異常の検知結果に基づいて前記使用プロファイルを決定することを特徴とする請求項1〜3のいずれかに記載の不正アクセス検知装置。
【請求項5】
前記予測プロファイル生成部は、
前記使用プロファイル決定部による判定の結果、どの前記予測プロファイルについても異常が検出されなかった場合には、所定の補正規則に基づいて、前記複数の予測プロファイルの各予測プロファイルを補正し、
前記使用プロファイル決定部は、
補正後の前記予測プロファイルごとに前記補正後の予測プロファイルを用いたアクセス数の異常検知処理により異常が検知されるかどうかを前記所定の決定基準によって再度判定し、異常の検知結果に基づいて前記使用プロファイルを決定することを特徴とする請求項4記載の不正アクセス検知装置。
【請求項6】
前記使用プロファイル決定部は、
現在においてプロファイルとして使用している時系列データを、決定された前記使用プロファイルに切り替え、前記使用プロファイルを使用してアクセス数の異常検知を行うことを特徴とする請求項1〜5の記載の不正アクセス検知装置。
【請求項7】
コンピュータを、
正常と認められる過去のアクセス数からなる正常時系列データと、前記正常時系列データの改変に使用する改変情報とを入力し、所定の生成規則に従うことにより、前記改変情報を使用して前記正常時系列データから将来のアクセス数の異常検知に使用する使用プロファイルの候補となる複数の予測プロファイルを生成する予測プロファイル生成部、
前記予測プロファイル生成部によって生成された前記複数の予測プロファイルのなかから、所定の決定基準に合致する予測プロファイルを前記使用プロファイルとして決定する使用プロファイル決定部
として機能させるための不正アクセス検知プログラム。
【請求項8】
請求項7記載の不正アクセス検知プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項9】
アクセス数の時系列データをプロファイルとして用いてアクセス数の異常検知を行うAnomaly検知を実行する不正アクセス検知装置が行う不正アクセス検知方法において、
(1)予測プロファイル生成部が、
正常と認められる過去のアクセス数からなる正常時系列データと、前記正常時系列データの改変に使用する改変情報とを入力し、所定の生成規則に従うことにより、前記改変情報を使用して前記正常時系列データから将来のアクセス数の異常検知に使用する使用プロファイルの候補となる複数の予測プロファイルを生成し、
(2)使用プロファイル決定部が、
前記予測プロファイル生成部によって生成された前記複数の予測プロファイルのなかから、所定の決定基準に合致する予測プロファイルを前記使用プロファイルとして決定することを特徴とする不正アクセス検知方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【公開番号】特開2010−152431(P2010−152431A)
【公開日】平成22年7月8日(2010.7.8)
【国際特許分類】
【出願番号】特願2008−326805(P2008−326805)
【出願日】平成20年12月24日(2008.12.24)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】
【公開日】平成22年7月8日(2010.7.8)
【国際特許分類】
【出願日】平成20年12月24日(2008.12.24)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】
[ Back to top ]