JP5310094B2 - 異常検出システム、異常検出方法および異常検出用プログラム - Google Patents

異常検出システム、異常検出方法および異常検出用プログラム Download PDF

Info

Publication number
JP5310094B2
JP5310094B2 JP2009046088A JP2009046088A JP5310094B2 JP 5310094 B2 JP5310094 B2 JP 5310094B2 JP 2009046088 A JP2009046088 A JP 2009046088A JP 2009046088 A JP2009046088 A JP 2009046088A JP 5310094 B2 JP5310094 B2 JP 5310094B2
Authority
JP
Japan
Prior art keywords
data series
data
group
abnormality
series
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2009046088A
Other languages
English (en)
Other versions
JP2010198579A (ja
Inventor
昌也 山形
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2009046088A priority Critical patent/JP5310094B2/ja
Publication of JP2010198579A publication Critical patent/JP2010198579A/ja
Application granted granted Critical
Publication of JP5310094B2 publication Critical patent/JP5310094B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、異常検出システム、異常検出方法および異常検出用プログラムに関し、特に、複数のデータ系列中のどのデータ系列に異常や変化が生じているかを検出する異常検出システム、異常検出方法および異常検出用プログラムに関する。
種々の異常検出システムが提案されている。例えば、特許文献1には、ネットワークトラヒックをその特性を利用してフロー単位に集約し、検査対象となるデータ系列を減らして異常検出を行うネットワーク異常検出システムが記載されている。
また、特許文献2には、異常を検出する複数の異常検出手段と、同一原因に由来して複数の異常検出手段から検出された複数の異常検出情報を単一の異常情報として集約し、一つの検出情報として生成するシステムが記載されている。
また、非特許文献1には、複数のデータ系列を集約してから異常検出する方法が記載されている。非特許文献1に記載の方法では、異常検出後に、集約前のどのデータ系列が異常の要因であるかを人が特定している。
また、特許文献3には、パケット情報および所定の種別毎のフロー統計情報を収集する複数の収集装置と、収集装置が収集した情報を、一つまたは複数の収集装置から取得し、所定の方法に従って収集情報を集約する集約装置とを備えるネットワーク監視システムが記載されている。
また、特許文献4には、統計量データを算出し、プロセスの異常を診断するプロセス監視装置が記載されている。
特許文献5には、指定されたフィールドの上位N(N≧2)個のフィールド値等を算出し、算出した上位N個のフィールド値等を蓄積し、新規に算出されたデータと過去のデータとの類似度を計算し、類似度と閾値との比較により異常を検出する異常トラフィック検出方法が記載されている。また、特許文献5には、過去の類似度のデータから統計分布を計算し、その99%値を閾値とすることが記載されている。
また、異常検出アルゴリズムとして、外れ値検出(特許文献6〜9参照)、変化点検出(特許文献10,11参照)、異常行動検出(特許文献12参照)等がある。
特開2006−246325号公報(段落0008、図1) 特開2001−314037号公報(段落0007、図1) 特開2007−13590号公報(段落0021−0023、段落0032−0043) 特開2007−65883号公報(段落0020,0032) 特開2008−167484号公報(段落0007,0019) 特開2001−101154号公報 特開2003−5970号公報 特開2004−78981号公報 特開2007−18530号公報 特開2004−54370号公報 特開2004−4658号公報 特開2004−309998号公報
山形昌也、村田康裕、井上大介、衛藤将史、吉岡克成、中尾康二、「マクロ解析環境における全ポートアクセス監視を考慮した変化点検出エンジンの拡張」、2008年暗号と情報セキュリティシンポジウム(SCIS2008),3C1-4,2008年
特許文献1に記載されているように、複数のデータ系列を集約して異常検出する方式があるが、特許文献1に記載された技術では、異常検出時に、集約する前の各データ系列のうちどのデータ系列で異常や変化が生じているのかを自動的に特定することはできない。また、アクセス過多を起こすサービス不能攻撃(DoS:Denial of Service)のように、フロー自体が急激に増加する場合には、集約による異常検出対象の減少は困難である。
また、特許文献2に記載されたシステムでは、各データ系列全てについて異常検出を行うので、データ系列の数に比例して異常検出の処理量が増えるという問題がある。また、特許文献2に記載されたシステムでは、同一要因に由来していない異常情報は集約されない。また、複数のデータ系列に対してそれぞれ個別に異常を検出するためには、データ系列毎に異常検出用の閾値を定める必要がある。また、データ系列におけるデータの傾向が変化すると、その閾値を再設定する必要がある。このように個々のデータ系列毎に異常を検出することは、データ系列毎に個別の閾値設定を必要とし、そのための作業負担が大きくなってしまうという問題があった。また、データマイニングにより自動で異常検出することも考えられるが、統計処理の影響により一定の割合で異常検出が行われる(例えば異常スコアの分布上位0.1%等)。そのため、データ系列の数に比例して異常検出件数が多くなり過ぎ、本来特定したいデータ系列の特定が困難となってしまう。
また、非特許文献1に記載された方法では、どのデータ系列が異常の要因であるかを人が特定する。そのため、集約前のデータ系列の種類が多い場合、データ系列の特定が困難となるおそれがある。例えば、1つのデータ系列で、1日に1件異常が生じると仮定する。データ系列が1000系列あるとすると、1日に1000件の異常が生じることとなる。この場合、2分に1件以上の異常が生じていることとなる。また、データ系列が100000系列あるとすると、1日に100000件異常が生じる。この場合、1秒に1件以上の異常が生じていることとなる。このようなペースで異常が生じる場合、人手でのデータ系列の特定は困難である。また、人手でデータ系列を特定する場合、作業者のスキルにより特定の精度や時間にばらつきが生じ、一定の基準に従ってデータ系列を特定し続けることは困難である。
そこで、本発明は、データ系列の数が非常に多い場合であっても、どのデータ系列に異常や変化が生じたかを効率よく検出することができる異常検出システム、異常検出方法および異常検出用プログラムを提供することを目的とする。
本発明による異常検出システムは、同一のグループに属していると定められたデータ系列のデータ値またはデータ値の累乗の和を計算することにより、同一のグループに属していると定められたデータ系列を集約する集約手段と、集約される前のデータ系列のデータ値の統計量を計算する統計量計算手段と、各グループ毎に計算された和に基づいて、異常または変化が生じているデータ系列を含むグループを検出するグループ検出手段と、グループ検出手段に検出されたグループに属するデータ系列の中から、統計量に基づいて、異常または変化が生じているデータ系列を特定するデータ系列特定手段とを備えることを特徴とする。
また、本発明による異常検出方法は、同一のグループに属していると定められたデータ系列のデータ値またはデータ値の累乗の和を計算することにより、同一のグループに属していると定められたデータ系列を集約し、集約される前のデータ系列のデータ値の統計量を計算し、各グループ毎に計算された和に基づいて、異常または変化が生じているデータ系列を含むグループを検出し、検出されたグループに属するデータ系列の中から、統計量に基づいて、異常または変化が生じているデータ系列を特定することを特徴とする。
また、本発明による異常検出用プログラムは、コンピュータに、同一のグループに属していると定められたデータ系列のデータ値またはデータ値の累乗の和を計算することにより、同一のグループに属していると定められたデータ系列を集約する集約処理、集約される前のデータ系列のデータ値の統計量を計算する統計量計算処理、各グループ毎に計算された和に基づいて、異常または変化が生じているデータ系列を含むグループを検出するグループ検出処理、および、グループ検出処理で検出されたグループに属するデータ系列の中から、統計量に基づいて、異常または変化が生じているデータ系列を特定するデータ系列特定処理を実行させることを特徴とする。
本発明によれば、データ系列の数が非常に多い場合であっても、どのデータ系列に異常や変化が生じたかを効率よく検出することができる。
本発明の第1の実施形態の異常検出システムの例を示すブロック図である。 第1の実施形態の処理経過の例を示すフローチャートである。 一定期間W内に発生するデータ数の一例を示す説明図である。 外れ値検出を模式的に示す説明図である。 変換点検出を模式的に示す説明図である。 異常行動検出を模式的に示す説明図である。 複数のデータ系列のデータ値の例を示す説明図である。 図7に示したデータ系列の集約結果の変化を示す説明図である。 計算された閾値Tを模式的に示す説明図である。 本発明の第2の実施形態の異常検出システムの例を示すブロック図である。 第3の実施形態の処理経過の例を示すフローチャートである。 本発明の最小構成を示すブロック図である。 本発明の他の構成例を示すブロック図である。 本発明の他の構成例を示すブロック図である。
以下、本発明の実施形態を図面を参照して説明する。
実施形態1.
図1は、本発明の第1の実施形態の異常検出システムの例を示すブロック図である。本発明の異常検出システム10は、データ系列集約手段2と、統計情報算出手段6と、変換情報記憶手段3と、異常検出手段4と、データ系列特定手段5とを備える。そして、異常検出システム10は、情報源1から複数のデータ系列のデータを受信する。
情報源1は、複数のデータ系列のデータを発生させる。各データ系列のデータは数値で表される数値データであり、このデータが表す数値をデータ値と記す。なお、情報源1は、単一の装置によって実現されているのではなく、複数の装置によって実現されていてもよい。情報源1が発生させる各データ系列のデータは、時間により変化する。また、全データ系列数は、数個ではなく、大量の数であってもよい。例えば、全データ系列数は、1000個以上、10000個以上等であってもよい。
各データ系列のデータは、例えば、単位時間当たりのトラヒック数等であってもよい。情報源1は、このようなデータを、通信トラヒックに関するログとして生成すればよい。また、各データ系列は、TCP(Transmission Control Protocol )やUDP(User Datagram Protocol)のパケットとして異常検出システム10に受信され、各データ系列の個々のデータは、パケットのペイロードに格納されていてもよい。
個々のデータ系列は、それぞれ別別のポート番号に対応していてもよい。すなわち、データ系列に対応するポート番号は、データ系列毎に異なっていてもよい。
また、データ系列は、予めグループ分けされる。図1に示す例では、データ系列1からデータ系列Nまでの各データ系列が同一のグループに属していると定められていて、同様に、データ系列Sからデータ系列Eまでの各データ系列が同一のグループに属していると定められている場合を例示している。
より具体的には、データ系列は、TCPやUDPの送信元ポート番号単位(65536 種類)、および、送信先ポート番号単位(65536 種類)に対応していてもよい。また、送信元IPアドレス単位、送信先IPアドレス単位でデータ系列が定められていてもよい。送信元IPアドレスや送信先IPアドレスの種類は、IPv4(Internet Protocol Version4)では、約43億種類(223種類)である。
データ系列集約手段2は、グループ毎に、同一のグループに属していると定められているデータ系列を集約する。具体的には、データ系列集約手段2は、同一のグループに属していると定められているデータ系列のデータ値の和、あるいは、データ値の累乗の和を計算する。この計算によって得た和がデータ系列の集約結果である。データ系列集約手段2は、グループ毎に集約結果を求める処理を、一定期間毎に行う。この一定期間を記号Wで表す。なお、データ値の累乗の和を計算する際、累乗の計算における指数は自然数に限定されない。例えば、累乗計算における指数を1/2とし、データ値の1/2乗の和(すなわちデータ値の平方根の和)を計算してもよい。
図1に示す例では、データ系列集約手段2は、データ系列1からデータ系列Nまでのデータ系列に関して集約を行い、同様に、データ系列Sからデータ系列Eまでのデータ系列に関して集約を行う。他のデータ系列に関しても同様に、グループ毎に集約を行う。
データ系列集約手段2が同一グループの各データ系列のデータ値の和、またはデータ値の累乗の和を計算して、集約結果となる数値を求める。従って、データがまとめられ、データ系列数が和演算前よりも減少することになる。
統計情報算出手段6は、データ系列集約手段2によって集約される前のデータ系列のデータ値の統計量(統計情報)を計算する。統計量の例として、平均値や分散等が挙げられるが、統計情報算出手段6が計算する統計量は、平均値や分散等に限定されない。
以下、統計情報算出手段6が計算した統計情報を変換情報と記す。変換情報は、統計情報以外の情報(具体的には、第2の実施形態等で説明する除外情報)を含んでもよいが、第1の実施形態では、変換情報は統計情報のみを含む場合について説明する。
変換情報記憶手段3は、変換情報を記憶する記憶装置である。統計情報算出手段6は、計算した統計情報(変換情報)を変換情報記憶手段3に記憶させる。変換情報記憶手段3に記憶された変換情報の集合は変換情報データベースということができる。
図1に示す例では、統計情報算出手段6は、データ系列1からデータ系列Nまでに関して統計情報31a(変換情報3)を計算し、その統計情報31aを変換情報記憶手段3に記憶させる。同様に、データ系列Sからデータ系列Eまでに関しても統計情報3ka(変換情報3)を計算し、その統計情報3kaを変換情報記憶手段3に記憶させる。統計情報算出手段6は、同様に、他の各グループのデータ系列についてもそれぞれ統計情報を計算し、計算した統計情報を変換情報記憶手段3に記憶させる。この結果、個々のグループ毎に計算された統計情報が変換情報記憶装置3に記憶される。
異常検出手段4は、グループ毎に集約された集約結果(すなわちグループ毎に計算されたデータ値またはデータ値の累乗の和)の推移に基づいて、異常または変化が生じているデータ系列を含むグループを検出する。換言すれば、異常または変化が生じているデータ系列がグループ内に存在するか否かをグループ毎に判定する。異常または変化が生じているデータ系列がグループ内に存在するか否かを判定する異常検出アルゴリズムは、予めグループ毎に定められている。異常検出アルゴリズムは、グループ毎に別々のアルゴリズムであってもよい。例えば、データ系列1からデータ系列Nまでのグループ内で異常等が生じているか否かの判定を行う異常検出アルゴリズムと、データ系列Sからデータ系列Eまでのグループ内で常等が生じているか否かの判定を行う異常検出アルゴリズムとが異なっていてもよい。
異常検出手段4に、特許文献6〜9に記載された外れ値検出アルゴリズム、特許文献10,11に記載された変化点検出アルゴリズム、あるいは、特許文献12に記載された異常行動検出アルゴリズムが適用されていてもよい。異常検出アルゴリズムとして、他の異常検出アルゴリズムが適用されてもよい。
データ系列特定手段5は、異常または変化が生じているデータ系列を含むグループが異常検出手段4によって検出された場合、そのグループから計算した統計情報を用いて、そのグループ内のいずれのデータ系列に異常または変化が生じているかを特定する。例えば、データ系列1からデータ系列Nまでのグループが異常検出手段4によって検出された場合、データ系列特定手段5は、統計情報31aを用いて、データ系列1からデータ系列Nまでのデータ系列の中から、異常または変化が生じているデータ系列を特定する。他のグループが検出された場合も同様である。
データ系列集約手段2、統計情報算出手段6、異常検出手段4およびデータ系列特定手段5は、例えば、プログラム(異常検出用プログラム)に従って動作するコンピュータのCPUによって実現される。この場合、CPUが、異常検出用プログラムが記憶されたプログラム記憶手段(図示略)から異常検出用プログラムを読み込み、そのプログラムに従って、データ系列集約手段2、統計情報算出手段6、異常検出手段4およびデータ系列特定手段5として動作すればよい。また、データ系列集約手段2、統計情報算出手段6、異常検出手段4およびデータ系列特定手段5がそれぞれ別個の専用回路として実現されていてもよい。
次に、動作について説明する。図2は、第1の実施形態の処理経過の例を示すフローチャートである。以下に示す例では、データ系列Sからデータ系列Eまでのデータ系列に着目して説明するが、他のグループについても同様に動作する。
まず、異常検出システム10は、データ系列S〜Eのデータを情報源1から取得する(ステップA1)。例えば、情報源1が送信する各データ系列のデータを受信する。データ系列Sからデータ系列Eまでのデータ系列の数をN個とする。
次に、データ系列集約手段2は、一定期間W内に取得したデータ系列Sからデータ系列Nまでのデータ系列を集約する(ステップA2)。例えば、データ系列集約手段2は、一定期間W内に取得したデータ系列S〜Eの各データ値の和を計算し、その結果を集約結果とする。また、各データ値の累乗の和を計算し、その結果を集約結果としてもよい。既に説明したようにデータ値の累乗計算として、平方根を算出してもよい。
また、一つのデータ系列について、一定時間W内に取得するデータ数は1個であってもよい。あるいは2個以上であってもよい。図3は、一定期間W内に発生するデータ数の一例を示す説明図である。図3に示す例では、データ系列1では、一定期間W内に3つのデータが発生し、データ系列2では、一定期間W内に1つのデータが発生している。このような場合、一定期間W内に取得したデータを全て集約の対象とすればよい。例えば、データ系列集約手段2は、図3に示すデータ系列1の3つのデータと、データ系列2の一つのデータについてデータ値の和を計算したり、あるいはデータ値の累乗の和を計算したりすればよい。
統計情報算出手段6は、情報源1から取得したデータ値の統計量を計算し、計算した統計量を変換情報記憶手段3に記憶させる(ステップA3)。以下に、統計量の計算例を示す。ただし、以下に示す各式において、vは、それぞれのデータ系列のデータとして取得した各データのデータ値である。統計量計算時点までに取得した、着目しているグループの各データ系列のデータ値をvとしてもよい。あるいは、統計量計算時点から所定期間遡った時点以降に受信したデータ値をvとしてもよい。すなわち、所定期間遡った時点より前の古いデータを無視することとしてもよい。αは、各データ系列のデータのデータ値の平均値であり、以下に示す式(1)によって求めればよい。なお、Nは、着目しているグループ(本例ではデータ系列S〜Eのグループ)内のデータ系列数である。
Figure 0005310094
例えば、統計情報算出手段6は、着目しているグループに関して、以下に示す式(2)の計算を行って統計量σを求めてもよい。
Figure 0005310094
式(2)は、統計量σとして、標準偏差を求める式である。
また、例えば、統計情報算出手段6は、着目しているグループに関して、以下に示す式(3)の計算を行って統計量σを求めてもよい。
Figure 0005310094
式(3)は、統計量σとして、調和平均を求める式である。
また、例えば、統計情報算出手段6は、着目しているグループに関して、以下に示す式(4)の計算を行って統計量σを求めてもよい。
Figure 0005310094
式(4)は、統計量σとして、データ値の相加平均の指数関数値である。この指数関数の底はeである。式(4)によって統計量を求めた場合、データ値に桁の大きな値が現れても、計算不能となることを防止できる。
ここでは、統計量の計算式として式(2)〜(4)の3種類を示したが、統計量の計算方法は上記の例に限定されず、統計情報算出手段6は他の計算式で統計量を計算してもよい。
ステップA3に続いて、異常検出手段4は、データ系列のグループ毎に計算された集約結果の推移に基づいて、異常または変化が生じているデータ系列を含むグループを検出する(ステップA4)。例えば、データ系列S〜Eのグループに関して、異常または変化が生じているデータ系列がグループ内に存在するか否かを判定する。そして、異常または変化が生じているデータ系列が存在すると判定されたグループを特定する。
異常検出手段4は、異常検出アルゴリズムとして例えば外れ値検出を用い、集約結果が外れ値となる場合に、その集約結果の元であったグループを検出してもよい。図4は、外れ値検出を模式的に示す説明図である。外れ値検出は、得られたデータのうち、統計的に他のデータから外れていると判定されるデータ91を、異常(外れ値)として検出するアルゴリズムである。
また、異常検出手段4は、異常検出アルゴリズムとして例えば変換点検出を用い、集約結果が急激に変化したならば、その集約結果の元であったグループを検出してもよい。図5は、変換点検出を模式的に示す説明図である。変化点検出は、データの急激な変化を検出するアルゴリズムである。図5に示す例では、時刻Pにおいて、データの変動の傾向が変わっている。異常検出手段4は、このような集約結果の急激な変化を検出すればよい。
また、異常検出手段4は、異常検出アルゴリズムとして例えば異常行動検出を用いて、集約結果の出現パターンが変わったならば、その集約結果の元であったグループを検出してもよい。図6は、異常行動検出を模式的に示す説明図である。異常行動検出では、データの推移を監視し、正常なデータの推移パターンを特定し、その推移パターンに該当しないパターンでデータが現れたならば、異常として検出する。異常検出手段4は、過去の集約結果から集約結果の正常な推移パターンを特定し、そのパターンに該当しない集約結果の変化を検出したならば異常のあるグループとして検出すればよい。
異常検出手段4が異常または変化の生じたグループがないと判定した場合(ステップA5におけるNo)、ステップA1に戻る。
異常検出手段4が異常または変化の生じたグループがあると判定した場合(ステップA5におけるYes)、データ系列特定手段5は、ステップA4で検出されたグループ(異常または変化の生じたグループ)の統計情報を用いて、そのグループ内のどのデータ系列に異常または変化が生じているのかを判定する(ステップA6)。ステップA6において、データ系列特定手段5は、ステップA4で検出されたグループの統計情報から閾値を計算し、ステップA2の集約で用いたデータ値がその閾値を越えているデータ系列が、異常または変化の生じているデータ系列であると判定する。
ステップA6において、データ系列特定手段5は、閾値を、異常または変化が検出されたグループ内のデータ系列数、そのグループに関してステップA3で計算した統計量、そのグループのデータ系列のデータ値の平均値の関数として計算してもよい。データ系列S〜Eのグループに異常または変化が生じているとすると、データ系列数はNである。また、そのグループに関して計算する閾値をTとすると、Tは、N、統計量σ、データ値の平均値αの関数として、式(5)のように表すことができる。このような関数として、例えば、式(6)または式(7)に例示する関数を用いることができる。式(6)に示すように、Nを用いずに閾値Tを計算してもよい。
Figure 0005310094
Figure 0005310094
Figure 0005310094
例えば、統計量σとして標準偏差(式(2)参照)が計算され、データ系列特定手段5が式(6)の計算によって閾値を計算したとする。この場合、データ値の平均に偏差の1/2を加算した値が閾値となり、データ系列特定手段5は、その閾値以上のデータ値が生じたデータ系列を検出する。
また、例えば、統計量σとして調和平均(式(3)参照)が計算され、データ系列特定手段5が式(7)の計算によって閾値を計算したとする。この場合、平均値が大きいほど、閾値と平均値との差は小さくなる。よって、データ値の平均値が小さい場合には、平均値との差が大きなデータ値が存在しても異常等が生じたデータ系列と判定されにくくなり、データ値の平均値が大きい場合には、平均値との差が小さなデータ値であっても、異常等が生じたデータ系列と判定されやすくなる。
異常検出システム10は、予め定められたグループ毎に、上記の各ステップA1〜A6を実行する。
次に、異常の生じたグループを特定し、さらに異常の生じたデータ系列を特定する処理を具体例を用いて説明する。図7(a)〜(d)に示す各グラフでは、横軸はデータ系列であり、縦軸はデータ値である。図7は、データ系列S〜Eのデータ値を示している。具体的には、データ系列S〜Eは、データ系列3000〜3009の10個のデータ系列である場合を示している。また、図7(a)〜(d)は、それぞれ時刻「10:00」、「10:01」、「10:02」、「10:09」におけるデータ系列3000〜3009のデータ値を示している。
図8は、図7に示したデータ系列の集約結果の変化を示す説明図であり、時刻10:00〜10:10までの間における集約結果の変化を示している。図8における横軸は時刻であり、縦軸は各時刻における集約結果である。例えば、時刻10:00に、図7(a)に示す10個のデータ系列のデータ値を取得すると、データ系列集約手段2はそのデータ値を集約する。図8では、図7(a)に示すデータを集約した集約結果に該当する箇所に符号(a)を付している。同様に、図7(b),(c),(d)に示すデータの集約結果に該当する箇所にそれぞれ符号(b),(c),(d)を付している。
また、各時刻においてデータ系列を集約する際に、統計情報算出手段6は、データ系列3000〜3009のグループについての統計量を計算し、変換情報記憶手段3に記憶させている。
異常検出手段4は、図8(d)の集約結果が他の集約結果と比較して異なっていると判定し、データ系列3000〜3009のグループに異常が生じていると判定する。そして、データ系列特定手段5は、このグループについて計算された統計量を用いて閾値Tを計算する。図9は、計算された閾値Tを模式的に示す説明図である。図9に示すグラフは、図7(d)に示すグラフと同一であり、集約結果に変化が生じた時刻におけるデータ系列3000〜3009のデータ値を示している。そして、このグラフ上に閾値Tを重ねて示している。図9に示す閾値Tを計算すると、データ系列特定手段5は、集約結果に変化が生じた時刻におけるデータ値が閾値Tを越えているデータ系列に異常が生じていると判定する。本例では、二つのデータ系列に異常が生じていると判定する。
また、個々のデータ系列にそれほど大きな変動がなくとも、データ系列毎の変動が加算されて、集約結果に大きな変動が生じることもある。そのような場合であっても、各データ系列のデータ値は閾値以下となり、データ系列特定手段5は、異常や変動が生じているデータ系列はないと判定する。
本実施形態によれば、データ系列集約手段2が大量のデータ系列をグループ毎に和の計算によって集約し、異常検出手段4が、異常または変化の生じているグループを検出する。個々のデータ系列毎に直接、異常等の有無を判定するのではなく、グループ毎にデータ値の集約を行うことで、異常や変化の有無の判定対象を減少させている。そして、データ系列特定手段5が、検出されたグループから異常または変化の生じているデータ系列を検出している。このように、集約により異常や変化の有無の判定対象を減少させているので、どのデータ系列に異常や変化が生じたかを効率よく検出することができる。
また、グループの中からデータ系列を検出する場合には、統計情報算出手段6が計算した統計量(αやσ等)から閾値を計算して、閾値を越えるデータ系列を検出する。従って、人手で予めデータ系列毎に閾値を定めたり、閾値を更新したりする必要がなく、効率よくデータ系列を検出することができる。
また、あるデータ値が変動したとしても、集約結果の変動として現れないこともある。そのようなデータ値の変動が異常により生じたものであっても、集約結果の変動として現れるような極端に大きな変動でなければ、その異常は軽微であり無視してよい。本発明では、集約によって、軽微な異常等まで検出されないようにして、大きな異常や変化が生じたデータ系列を効率よく検出することができる。
また、一般に、異常や変化が生じると、データ系列のデータ値は極めて大きくなる。よって、グループを定める際に、データ値のオーダ(桁)が異なるデータ系列を同一のグループに含めることができる。例えば、通常時に10程度の値となるデータ系列と、通常時に1000程度の値となるデータ系列とを同じグループに含めておくことができる。10程度の値となるデータ系列に異常が生じると、そのデータ値は、1000と比較しても大きくなる値となる。よって、集約結果自体も大きく変動し、そのグループに異常等が生じたと検出できる。ここで、オーダの小さいデータ系列のデータ値の変動が小さい場合(例えば、通常10程度の値が50程度になった場合)、他に1000程度の値のデータ系列も含まれるので、集約結果の変動は目立たない。この場合には、前述のように、オーダの小さいデータ系列の異常等は無視してよい。一般には、異常等が生じるとデータ値は極めて大きく変動するので、グループの集約結果の値も大きく変動し、そのグループ内のいずれかのデータ系列に異常が生じていると判定することができる。
なお、オーダの大きいデータ系列の方が、異常発生時に、より集約結果に影響を与えやすいと考えられることから、データ系列特定手段5は、検出されたグループ内でオーダが最も大きいデータ系列に異常または変化が生じていると判定してもよい。ただし、グループが検出されても個々のデータ系列には異常が生じていない場合や、図9に示すように複数のデータ系列に異常が生じている場合もあるので、閾値を計算して、閾値とデータ値との比較によりデータ系列を検出することが好ましい。
実施形態2.
図10は、本発明の第2の実施形態の異常検出システムの例を示すブロック図である。第1の実施形態と同様の構成要素については、図1と同一の符号を付し、詳細な説明を省略する。本発明の異常検出システム10は、データ系列集約手段2と、統計情報算出手段6と、変換情報記憶手段3と、異常検出手段4と、データ系列特定手段5と、除外情報編集手段7とを備える。
第1の実施形態では、変換情報が統計情報(統計量)のみを含む場合を示したが、本実施形態では、変換情報に除外情報も含める。除外情報は、集約対象から除外すべきデータ系列を示す情報であり、例えばグループ毎に定められる。図10に示す例では、データ系列1〜Nのグループに関して除外情報31bが定められ、データ系列S〜Eのグループに関しては、除外情報3kbが定められている。また、グループの中に除外すべきデータ系列がなければ、除外情報はなくてもよい。
除外情報編集手段7は、各グループの除外情報を編集する。ここでは、除外情報編集手段7が、ユーザの操作に応じて除外情報を編集する場合を例にして説明するが、他の態様で除外情報を編集してもよい。除外情報編集手段7は、ユーザの操作に応じて、変換情報記憶手段3に新たな除外情報を記憶させる。また、ユーザの操作に応じて、変換情報記憶手段3に記憶させた除外情報を更新したり、削除したりしてもよい。
本実施形態では、データ系列集約手段2は、グループ毎にデータ系列を集約する。この点は第1の実施形態と同様である。ただし、データ系列集約手段2は、着目しているグループの除外情報が示すデータ系列を、集約対象から除外する。例えば、データ系列S〜Eのうち、データ系列Sが除外情報で指定されているとする。この場合、データ系列集約手段2は、データ系列S〜Eのうち、データ系列S以外のデータ系列のデータ値を用いて集約を行う。他の点に関しては、第1の実施形態のデータ系列集約手段2と同様である。
また、統計情報算出手段6は、グループ毎に統計量を計算する。この点は第1の実施形態と同様である。ただし、統計情報算出手段6は、着目しているグループの除外情報が示すデータ系列を、統計量の計算から除外する。例えば、データ系列S〜Eのうち、データ系列Sが除外情報で指定されているとする。この場合、統計情報算出手段6は、データ系列S〜Eのうち、データ系列S以外のデータ系列のデータ値を用いてσやαを計算する。このときデータ系列の系列数Nとして、予め定められたNから除外情報が示すデータ系列の数(除外されるデータ系列数)を減算した値を用いればよい。
データ系列集約手段2および統計情報算出手段6は、例えばプログラムに従って動作するCPUによって実現される。この場合、CPUがプログラムに従って、データ系列集約手段2、統計情報算出手段6および他の各手段として動作すればよい。
第2の実施形態においても、第1の実施形態と同様にステップA1〜A6の処理を行えばよい。
第2の実施形態によれば、異常検出の必要のないデータ系列を除外情報で指定しておくことにより、そのようなデータ系列について検出しないようにすることができる。異常検出の必要のないデータ系列の例として、定常的に攻撃を受けていることが既にわかっているデータ系列や、故障などによりデータを取得できないデータ系列等が挙げられる。このようなデータ系列では、異常が現れ続けたり、データが存在しなかったり、変化しなかったりする。このような予め異常等の発生がわかっているデータ系列について検出しないようにすることができる。
実施形態3.
実施形態3は、第2の実施形態と同様の構成である(図10参照)。ただし、データ系列特定手段5も、除外情報の追加を行う。データ系列特定手段5は、異常検出手段4によってグループが検出されると、そのグループから異常または変化が生じているデータ系列を検出する。この動作は第1の実施形態および第2の実施形態と同様である。第3の実施形態では、データ系列特定手段5は、データ系列を検出したときに、そのデータ系列を示す除外情報を、そのデータ系列が属するグループの除外情報として、変換情報記憶手段3に記憶させる。他の構成要素は、第2の実施形態と同様である。
図11は、第3の実施形態の処理経過の例を示すフローチャートである。ステップA1〜ステップA6は、第1および第2の実施形態と同様である。データ系列特定手段5は、異常等が生じているデータ系列を検出した後(ステップA6の後)、検出したデータ系列を示す除外情報を、そのデータ系列が属しているグループの除外情報として変換情報記憶手段3に記憶させる(ステップA7)。
この結果、異常等が発生しているデータ系列として検出されたデータ系列は、集約対象から除外される。そして、引き続きデータを取得して集約する際には、そのデータ系列は集約処理の対象外として扱われる。
第3の実施形態では、データ系列特定手段5が、検出したデータ系列を示す除外情報を変換情報記憶手段3に記憶させるので、異常が生じているデータ系列が何度も連続して検出されることを防ぐことができる。
また、検出されたデータ系列のデータ値は大きく変動しているが、そのようなデータ系列を集約の対象として含めた状態を続けていると、他のデータ系列に異常が生じた場合、そのデータ系列の変動が集約結果に埋もれてしまい(換言すれば、集約結果に反映されにくくなってしまい)、他のデータ系列における異常を検出しにくくなってしまう。第3の実施形態では、検出したデータ系列を集約対象から除外するので、そのような問題を防ぐことができる。
なお、ステップA6で検出されたデータ系列が異常でないことや、あるいは、異常が収束したことを確認した場合、除外情報からそのデータ系列の情報を削除すれば、元の検出状態に戻すことができる。
なお、第3の実施形態において、除外情報編集手段7を備えていない構成としてもよい。すなわち、除外情報編集手段7による除外情報の編集は行わずに、データ系列特定手段5のみが除外情報を追加する構成であってもよい。
第1から第3までの各実施形態では、データ系列の集約処理(ステップA2)に併せて統計情報算出手段6が統計量の計算(ステップA3)を行う場合を示した。統計情報算出手段6は、異常検出手段4によってグループが検出されたとき(すなわち、異常または変化が生じたデータ系列を含んでいると判定されたグループの検出時)に、そのグループのデータ値から統計量を計算し、変換情報記憶手段3に記憶させてもよい。統計量の計算方法自体は、既に説明した実施形態と同様である。
このように異常検出手段4に検出されたグループについてのみ統計量を計算することで、変換情報記憶手段3に記憶される統計情報を少なくすることができる。
次に、本発明の最小構成について説明する。図12は、本発明の最小構成を示すブロック図である。本発明の異常検出システムは、集約手段71と、統計量計算手段72と、グループ検出手段73と、データ系列特定手段74とを備える。
集約手段71(例えばデータ系列集約手段2,2)は、同一のグループに属していると定められたデータ系列のデータ値またはデータ値の累乗の和を計算することにより、同一のグループに属していると定められたデータ系列を集約する。
統計量計算手段72(例えば、統計情報算出手段6,6)は、集約される前のデータ系列のデータ値の統計量を計算する。
グループ検出手段73(例えば異常検出手段4)は、各グループ毎に計算された和に基づいて、異常または変化が生じているデータ系列を含むグループを検出する。
データ系列特定手段74(例えばデータ系列特定手段6)は、グループ検出手段73に検出されたグループに属するデータ系列の中から、統計量に基づいて、異常または変化が生じているデータ系列を特定する。
そのような構成により、データ系列の数が非常に多い場合であっても、どのデータ系列に異常や変化が生じたかを効率よく検出できる。
また、図13、図14は、本発明の他の構成例を示すブロック図である。上記の実施形態には、図13に示すように、集約から除外されるデータ系列を示す情報である除外情報を記憶する除外情報記憶手段75(例えば、変換情報記憶手段3)を備え、集約手段71が、除外情報が示すデータ系列を、データ値またはデータ値の累乗の和の計算対象から除外する構成が開示されている。そのような構成によれば、異常検出の必要のないデータ系列を除外情報で指定しておくことにより、そのようなデータ系列について検出しないようにすることができる。
また、上記の実施形態には、図14に示すように、ユーザの操作に応じて、除外情報記憶手段74に記憶される除外情報を編集する除外情報編集手段76(例えば、除外情報編集手段7)を備える構成が開示されている。
また、上記の実施形態には、データ系列特定手段74が、異常または変化が生じているデータ系列として特定したデータ系列を示す除外情報を除外情報記憶手段に記憶させる構成が開示されている。そのような構成によれば、同じデータ系列が連続して検出されないようにすることができる。
また、上記の実施形態には、統計量計算手段72が、同一のグループに属していると定められたデータ系列が集約されるときに、データ系列のデータ値の統計量を計算する構成が開示されている。
また、上記の実施形態には、統計量計算手段72が、グループ検出手段73がグループを検出したときに、そのグループに属し集約手段71に集約された各データ系列のデータ値の統計量を計算する構成が開示されている。
また、上記の実施形態には、個々のデータ系列が、それぞれ別々のポート番号に対応するデータ系列である場合が開示されている。
また、上記の実施形態には、個々のデータ系列が、通信トラヒックに関するログとして生成されたデータ系列である場合が開示されている。
本発明は、複数のデータ系列中のどのデータ系列に異常や変化が生じているかを検出する異常検出システムに好適に適用される。例えば、TCPやUDPの送信元ポート番号、送信先ポート番号、送信元IPアドレス、送信先IPアドレスを単位として、通信パケットの変化の監視や異常検出をするシステムに適用可能である。また、例えば、大規模WebサーバにおけるURL(Uniform Resource Locator)単位でのアクセス数の変化や、大規模メールサーバにおける送信元、送信先メールアドレス単位でのメールの流通量の変化の監視や異常検出をするシステムに適用可能である。
1 情報源
2,2 データ系列集約手段
3 変換情報記憶手段
4 異常検出手段
5 データ系列特定手段
6,6 統計情報算出手段
7 除外情報編集手段
10 異常検出システム

Claims (12)

  1. 同一のグループに属していると定められたデータ系列のデータ値またはデータ値の累乗の和を計算することにより、同一のグループに属していると定められたデータ系列を集約する集約手段と、
    集約される前のデータ系列のデータ値の統計量を計算する統計量計算手段と、
    各グループ毎に計算された和に基づいて、異常または変化が生じているデータ系列を含むグループを検出するグループ検出手段と、
    グループ検出手段に検出されたグループに属するデータ系列の中から、前記統計量に基づいて、異常または変化が生じているデータ系列を特定するデータ系列特定手段とを備える
    ことを特徴とする異常検出システム。
  2. 集約から除外されるデータ系列を示す情報である除外情報を記憶する除外情報記憶手段を備え、
    集約手段は、前記除外情報が示すデータ系列を、データ値またはデータ値の累乗の和の計算対象から除外する
    請求項1に記載の異常検出システム。
  3. ユーザの操作に応じて、除外情報記憶手段に記憶される除外情報を編集する除外情報編集手段を備える
    請求項2に記載の異常検出システム。
  4. データ系列特定手段は、異常または変化が生じているデータ系列として特定したデータ系列を示す除外情報を除外情報記憶手段に記憶させる
    請求項2または請求項3に記載の異常検出システム。
  5. 統計量計算手段は、同一のグループに属していると定められたデータ系列が集約されるときに、前記データ系列のデータ値の統計量を計算する
    請求項1から請求項4のうちのいずれか1項に記載の異常検出システム。
  6. 統計量計算手段は、グループ検出手段がグループを検出したときに、当該グループに属し集約手段に集約された各データ系列のデータ値の統計量を計算する
    請求項1から請求項4のうちのいずれか1項に記載の異常検出システム。
  7. 個々のデータ系列は、それぞれ別々のポート番号に対応するデータ系列である
    請求項1から請求項6のうちのいずれか1項に記載の異常検出システム。
  8. 個々のデータ系列は、通信トラヒックに関するログとして生成されたデータ系列である
    請求項1から請求項7のうちのいずれか1項に記載の異常検出システム。
  9. 同一のグループに属していると定められたデータ系列のデータ値またはデータ値の累乗の和を計算することにより、同一のグループに属していると定められたデータ系列を集約し、
    集約される前のデータ系列のデータ値の統計量を計算し、
    各グループ毎に計算された和に基づいて、異常または変化が生じているデータ系列を含むグループを検出し、
    検出されたグループに属するデータ系列の中から、前記統計量に基づいて、異常または変化が生じているデータ系列を特定する
    ことを特徴とする異常検出方法。
  10. 集約から除外されるデータ系列を示す情報である除外情報が示すデータ系列を、データ値またはデータ値の累乗の和の計算対象から除外する
    請求項9に記載の異常検出方法。
  11. コンピュータに、
    同一のグループに属していると定められたデータ系列のデータ値またはデータ値の累乗の和を計算することにより、同一のグループに属していると定められたデータ系列を集約する集約処理、
    集約される前のデータ系列のデータ値の統計量を計算する統計量計算処理、
    各グループ毎に計算された和に基づいて、異常または変化が生じているデータ系列を含むグループを検出するグループ検出処理、および、
    グループ検出処理で検出されたグループに属するデータ系列の中から、前記統計量に基づいて、異常または変化が生じているデータ系列を特定するデータ系列特定処理
    を実行させるための異常検出用プログラム。
  12. 集約から除外されるデータ系列を示す情報である除外情報を記憶する除外情報記憶手段を備えるコンピュータに、
    集約処理で、前記除外情報が示すデータ系列を、データ値またはデータ値の累乗の和の計算対象から除外させる
    請求項11に記載の異常検出用プログラム。
JP2009046088A 2009-02-27 2009-02-27 異常検出システム、異常検出方法および異常検出用プログラム Expired - Fee Related JP5310094B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009046088A JP5310094B2 (ja) 2009-02-27 2009-02-27 異常検出システム、異常検出方法および異常検出用プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009046088A JP5310094B2 (ja) 2009-02-27 2009-02-27 異常検出システム、異常検出方法および異常検出用プログラム

Publications (2)

Publication Number Publication Date
JP2010198579A JP2010198579A (ja) 2010-09-09
JP5310094B2 true JP5310094B2 (ja) 2013-10-09

Family

ID=42823203

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009046088A Expired - Fee Related JP5310094B2 (ja) 2009-02-27 2009-02-27 異常検出システム、異常検出方法および異常検出用プログラム

Country Status (1)

Country Link
JP (1) JP5310094B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9330119B2 (en) 2013-04-11 2016-05-03 Oracle International Corporation Knowledge intensive data management system for business process and case management
US10740358B2 (en) 2013-04-11 2020-08-11 Oracle International Corporation Knowledge-intensive data processing system
US9804830B2 (en) * 2014-12-19 2017-10-31 Signalfx, Inc. Anomaly detection using a data stream processing language for analyzing instrumented software
JP6466864B2 (ja) * 2016-02-09 2019-02-06 日本電信電話株式会社 分析装置及び分析方法
US11327797B2 (en) 2016-05-09 2022-05-10 Oracle International Corporation Memory usage determination techniques
JP7172909B2 (ja) * 2019-08-01 2022-11-16 株式会社デンソー 電子制御装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007207173A (ja) * 2006-02-06 2007-08-16 Fujitsu Ltd 性能分析プログラム、性能分析方法、および性能分析装置
JP4331174B2 (ja) * 2006-02-22 2009-09-16 日本電信電話株式会社 トラフィックデータ中継システム、トラフィックデータの分散配置システムおよびトラフィックデータの分散配置方法
JP4324189B2 (ja) * 2006-11-01 2009-09-02 日本電信電話株式会社 異常トラヒック検出方法およびその装置およびプログラム
JP4948359B2 (ja) * 2007-10-26 2012-06-06 三菱電機株式会社 不正アクセス検知装置及び不正アクセス検知方法及びプログラム

Also Published As

Publication number Publication date
JP2010198579A (ja) 2010-09-09

Similar Documents

Publication Publication Date Title
US10103960B2 (en) Spatial and temporal anomaly detection in a multiple server environment
US9369364B2 (en) System for analysing network traffic and a method thereof
JP5310094B2 (ja) 異常検出システム、異常検出方法および異常検出用プログラム
CN107566163B (zh) 一种用户行为分析关联的告警方法及装置
US10944784B2 (en) Identifying a potential DDOS attack using statistical analysis
US20160103724A1 (en) System and method for detecting and predicting anomalies based on analysis of time-series data
US20070226803A1 (en) System and method for detecting internet worm traffics through classification of traffic characteristics by types
CN105656693B (zh) 一种基于回归的信息安全异常检测的方法及***
US20230018908A1 (en) Feedback-based control system for software defined networks
JP5933463B2 (ja) ログ生起異常検知装置及び方法
CN114978568A (zh) 使用机器学习进行数据中心管理
CN105808368B (zh) 一种基于随机概率分布的信息安全异常检测的方法及***
JP2021056927A (ja) 異常検知装置、異常検知方法および異常検知プログラム
EP3242240B1 (en) Malicious communication pattern extraction device, malicious communication pattern extraction system, malicious communication pattern extraction method and malicious communication pattern extraction program
US20130318609A1 (en) Method and apparatus for quantifying threat situations to recognize network threat in advance
CN112019523A (zh) 一种工控***的网络审计方法和装置
JP2007173907A (ja) 異常トラヒック検出方法及び装置
JP2005196675A (ja) ログ分析装置、ログ分析方法およびログ分析プログラム
JP2020102671A (ja) 検知装置、検知方法、および、検知プログラム
JP4559462B2 (ja) 通信関係構造変化による異常検出方法、装置、プログラム、および記録媒体
JP2017211806A (ja) 通信の監視方法、セキュリティ管理システム及びプログラム
JP4559500B2 (ja) 異常トラヒック検出方法及び装置
CN114564349B (zh) 一种服务器的监控方法、装置、电子设备及存储介质
CN112583825B (zh) 一种工业***的异常检测方法和装置
CN109120543B (zh) 网络流量的监控方法、装置、计算机设备及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120113

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130520

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130604

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130617

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5310094

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees