(57)【特許請求の範囲】
【請求項１】
一つのシステム又は複数のシステムのネットワークに由来する、非構造化データ及び／又はハイブリッドデータを含む複数のデータストリームにおける異常シーケンスを検出する方法であって、
前記一つのシステム又は複数のシステムから前記データストリームを収集するステップと、
前記収集されたデータストリームを複数の時間間隔で分割するステップと、
前記複数の時間間隔の各々について、各データストリームに関連づけられたパラメータの値を決定するステップであり、前記パラメータは前記時間間隔内で発生するイベントの重大度の値の和に関する重大度値を含む、ステップと、
前記複数の時間間隔の各々について、前記パラメータのそれぞれの期待値を決定するステップと、
前記複数の時間間隔の各々について、前記パラメータの前記期待値と前記データストリームに関連づけられた前記パラメータの前記決定された値との偏差を計算するステップと、
前記計算された偏差の関数であり、一続きのイベントを表す偏差関数が閾値を上回る場合、前記収集されたデータストリームにおける異常シーケンスを検出するステップと、
を含み、
異常シーケンスが検出された際には、
前記検出された異常シーケンスを、異常のデータベースに記憶された少なくとも一つの異常パターンと比較するステップであり、前記異常のデータベースは、各異常パターンについて、複数の時間間隔の間の複数のデータストリームについてのパラメータ値の記憶されたパターンを含み、前記検出された異常シーケンスについて、前記複数のデータストリームについてのパラメータ値のパターンを、前記複数の時間間隔の間の前記複数のデータストリームについてのパラメータ値の前記記憶されたパターンと比較するステップを含む、ステップと、
前記パラメータ値の記憶されたパターンの類似したひとつの分類を前記検出された異常シーケンスに適用することにより前記検出された異常シーケンスを分類するステップと、
前記適用された分類に予め関連づけられたアクションを前記検出された異常シーケンスに割り当てるステップと、
をさらに含む方法。
【請求項２】
前記閾値は手動で設定される、あるいは自動的に決定される、請求項１に記載の方法。
【請求項３】
前記データストリームに関連づけられたパラメータの値を決定するステップは、
前記時間間隔内のゼロ以上のイベントの発生を検出するステップと、
前記時間間隔内の前記ゼロ以上のイベントの前記検出された発生に基づき重大度の値を割り当てることにより、前記時間間隔内の前記データストリームに関連づけられたパラメータの値を決定するステップと、
を含む、請求項１又は２のうち１項に記載の方法。
【請求項４】
前記データストリームに関連づけられたパラメータの値を決定するステップは、
前記時間間隔内の複数のイベントの発生を検出するステップと、
前記複数のイベントの各々に重大度の値を割り当てるステップと、
前記割り当てられた重大度の値の和を計算し、計算した前記重大度の値の和を前記重大度値に割り当てることにより、前記時間間隔内の前記データストリームに関連づけられたパラメータの値を決定するステップと、
を含む、請求項１乃至３のうちいずれか１項に記載の方法。
【請求項５】
前記パラメータの前記期待値は、前記パラメータの既知の値、又は少なくとも一つの前に検出された異常に基づき決定された値である、請求項１乃至４のうちいずれか１項に記載の方法。
【請求項６】
前記異常のデータベースは、前に検出された異常の機械学習、異常のオペレータ分類、及び／又は異常のユーザ入力を通して作成されたデータベースである、請求項１乃至５のうち１項に記載の方法。
【請求項７】
前記検出された異常を、異常のデータベースに記憶された少なくとも一つの前に検出された異常と比較するステップは、
前記検出された異常と前記異常のデータベースに記憶された前記少なくとも一つの異常との間の類似度の尺度を決定するステップ
を含む、請求項１乃至６のうち１項に記載の方法。
【請求項８】
前記検出された異常は、前記検出された異常と前記異常のデータベースに記憶された前記少なくとも一つの異常との間の相違が所定の閾値より小さい場合に、前記異常のデータベースに記憶された前記少なくとも一つの異常に類似すると決定される、請求項７に記載の方法。
【請求項９】
当該方法は、
時間セグメントを構成する、設定された数の時間間隔を処理するステップと、
前記時間セグメントをそれぞれ、継続時間及び時間範囲の関数として定義するステップであり、前記継続時間は収集されたデータが処理される間の時間間隔であり、前記時間範囲は前記セグメントの大きさを定義する変数である、ステップと、
をさらに含む、請求項１乃至８のうちいずれか１項に記載の方法。
【請求項１０】
異常シーケンスが検出されると、当該方法は、
前記検出された異常シーケンスを前記異常パターンのデータベースに記憶するステップ
をさらに含む、請求項１乃至９のうちいずれか１項に記載の方法。
【請求項１１】
当該方法は、
前記データストリームに関連づけられたパラメータの前記決定された値は、前記時間間隔内で発生するそれぞれのイベントのデータに存在するキートリガワードに対応する重大度の値の和である、  
請求項１乃至１０のうちいずれか１項に記載の方法。
【請求項１２】
当該方法は、
異常シーケンスを検出したことに応答して、前記収集されたデータストリームを再調査して前記データストリームのシーケンスに含まれるデータを検証するステップ
をさらに含む、請求項１乃至１１のうちいずれか１項に記載の方法。
【請求項１３】
当該方法は、
異常シーケンスを検出したことに応答して、前記異常の原因を緩和する緩和手法を実行するステップ
をさらに含む、請求項１乃至１２のうちいずれか１項に記載の方法。
【請求項１４】
一つのシステム又は複数のシステムのネットワークに由来する複数のデータストリームにおける異常シーケンスを検出する装置であって、
少なくとも一つのシステムから複数のデータストリームを収集するように動作可能なコレクタモジュールと、
前記収集されたデータストリームを複数の時間間隔で分割し、前記複数の時間間隔の各々について、各データストリームに関連づけられたパラメータの値を決定し、前記パラメータは前記時間間隔内で発生するイベントの重大度の値の和に関する重大度値を含み、前記パラメータの期待値と、前記データストリームに関連づけられた前記パラメータの前記決定された値との偏差を計算するように動作可能なプロファイラモジュールと、
前記計算された偏差の関数であり、一続きのイベントを表す偏差関数が閾値を上回る場合、前記収集されたデータストリームにおける異常シーケンスを検出するように動作可能なプロセッサであり、
異常が検出された際には、
前記検出された異常シーケンスを、異常のデータベースに記憶された一つ以上の異常パターンと比較し、前記異常のデータベースは、各異常パターンについて、複数の時間間隔の間の複数のデータストリームについてのパラメータ値の記憶されたパターンを含み、
前記検出された異常シーケンスについて、前記複数のデータストリームについてのパラメータ値のパターンを、前記複数の時間間隔の間の前記複数のデータストリームについてのパラメータ値の前記記憶されたパターンと比較し、
前記パラメータ値の記憶されたパターンの類似した一つの分類を前記検出された異常シーケンスに適用することにより前記検出された異常シーケンスを分類し、
前記適用された分類に予め関連づけられたアクションを前記検出された異常シーケンスに割り当てるように動作可能である、プロセッサと、
を含む装置。
【請求項１５】
プロセッサに請求項１乃至１３のうちいずれか１項に記載の方法を実行させる命令を含むコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システムに由来するデータストリームにおける異常を検出する方法及び装置に関する。システムは、ネットワーク、又は任意の他の複合システム若しくはデバイスであり得る。
【背景技術】
【０００２】
ヒューマンエラー、例えば、大規模の複合クリティカルインフラストラクチャのほぼリアルタイムのオペレーションの態様についてのオペレータの知識及び理解の不足は、依然として、サービスプロバイダにおける複合ネットワーク化環境のセキュリティ及び安全なオペレーションに対する主要なリスクである。システムの内部又は外部からの意図的又は非意図的なネガティブな悪意ある影響の効果からサービスを保護することの失敗は、収益及び財産の損失を結果としてもたらし、いくつかの極端な場合には、事業の停止に至る可能性がある。
【０００３】
サイバー攻撃（例えば、分散型サービス拒否（ｄＤｏＳ）攻撃など）からの防御のための最新式の解決策は、システムにおけるデータフローコレクタの開発に依存している。データフローコレクタは、ネットワークのあるセグメント上のネットワークトラフィックを統計的にサンプリングする。さらに、トラフィックを処理することにはベースライン（すなわち「正常」）信号の確立が含まれ、これは日付及び時間依存である。現在のアルゴリズムは、一般にフーリエ変換を使用してベースラインを確立する。
【０００４】
詳細に、フーリエ変換は、時系列信号をその構成周波数成分にコンバートするために使用される。確率成分及び異常が、通常、低エネルギー周波数成分により表される。ゆえに、フーリエ周波数ドメイン内の高い周波数成分のみ考慮することにより、異常が除去され、ベースライン信号を残すことができる。ベースラインからの偏差が監視システムにより検出されたとき、被害者のターゲットインターネットプロトコル（ＩＰ）アドレスが特定され、被害者のＩＰアドレスに対するトラフィックが特別なｄＤｏＳスクラビングセンタへスクラビングされる（すなわち、そらされる）。例えば、被害者へのすべてのトラフィックが、スクラビングセンタに位置する宛先シンクホールに送信され、ゆえに、取り返しのつかないほどに失われる。
【０００５】
こうした解決策は、ベースラインを計算するためのフーリエ変換の使用が、正確な結果のために合理的な時間間隔（例えば、約１５分）にわたりベースラインが計算されることを必要とする点で、制限される。これは、ネットワークトラフィック異常が検出される前の相当量の時間（例えば、１０〜１５分、又はそれ以上）を結果としてもたらす。それは、既存の解決策は長い継続時間の異常の検出に適合され得るが、既存の解決策はより短い継続時間の異常を検出するための分解能を欠いていることをさらに意味する。
【０００６】
さらに、被害者のＩＰアドレスへのトラフィックがシンクホールにそらされるという事実は、サーバのパブリックＩＰアドレスがｄＤｏＳスクラビングポリシーの「ブラックホール」効果に起因して一時的に到達不能であることを意味する。攻撃の被害者は、ゆえに、サイバー攻撃が停止しブラックホールルートが除去されるまで、そのパブリックＩＰアドレスを使用することを妨げられる。これは、ネットワークの同じ部分を共有し又は同じＩＰアドレスブロック上にいる他のユーザにさらに影響する可能性がある。さらに、既存のシステムは、実現するのに複雑であり、高価である。
【０００７】
同様の原理が、ＩＴサーバ、ルータ、スイッチ、ファイアウォール、及び他のネットワークインフラストラクチャ要素により生成されたオペレーションテレメトリに当てはまる。この後者の場合、他の構造化されていないデータフォーマットが、将来のインシデントの適時の検出に使用されるべきである。
【０００８】
一般に、偽陽性の検出（すなわち、トラフィックが実際には正常なトラフィックである場合の偽のアラーム）の数を低減させると同時にさらに全体的な検出レートを改善してより高い比率の真の異常が検出されることを確保することができる改善された異常検出装置及び方法の必要がある。
【発明の概要】
【０００９】
本発明の一目的は、上記の欠点のうち少なくともいくらかを除去又は排除し、単一のシステム又は複数のシステムのネットワークに由来するデータストリームにおける異常を可能な限りすばやく、例えば分単位というより秒単位で検出する改善された方法及び装置を提供することである。
【００１０】
発明の一態様によれば、システム又は複数のシステムのネットワークに由来する、構造化、非構造化、及び／又はハイブリッドデータを含む複数のデータストリームにおける異常を検出する方法が提供され、当該方法は、上記システム又は複数のシステムから上記データストリームを収集するステップと、上記収集されたデータストリームを複数の時間間隔に分割するステップと、上記複数の時間間隔の各々について、各データストリームに関連づけられたパラメータの値を決定するステップと、上記複数の時間間隔の各々について、上記パラメータのそれぞれの期待値を決定するステップであり、上記期待値はそれぞれの時間セグメントの間の上記パラメータの中央値を含み、各時間セグメントは複数の隣接した時間間隔を含む、ステップと、上記複数の時間間隔の各々について、上記パラメータの上記期待値から、上記データストリームに関連づけられた上記パラメータの上記決定された値における偏差を計算するステップと、上記計算された偏差が閾値を上回る場合、上記収集されたデータストリームにおける異常を検出するステップと、を含む。
【００１１】
発明の一態様によれば、システムに由来するデータストリームにおける異常を検出する装置が提供され、当該装置は、少なくとも１つのシステムから複数のデータストリームを収集するように動作可能なコレクタモジュールと、上記収集されたデータストリームを複数の時間間隔に分割し、上記複数の時間間隔の各々について、各データストリームに関連づけられたパラメータの値を決定し、上記パラメータの期待値から、上記データストリームに関連づけられた上記パラメータの上記決定された値における偏差を計算するように動作可能なプロファイラモジュールであり、上記期待値はそれぞれの時間セグメントの間の上記パラメータの中央値を含み、各時間セグメントは複数の隣接した時間間隔を含む、プロファイラモジュールと、上記計算された偏差が閾値を上回る場合、上記収集されたデータストリームにおける異常を検出するように動作可能なプロセッサと、を含む。
【００１２】
発明の一態様によれば、システム又は複数のシステムのネットワークに由来するデータストリームにおける異常を検出する方法が提供され、当該方法は、上記システムからデータストリームを収集するステップであり、上記収集されたデータストリームは、非構造化データ、及び／又は構造化データ、及び／又はハイブリッド構造化／非構造化データを含む、ステップと、上記収集されたデータストリームを複数の時間間隔に分割するステップと、上記複数の時間間隔の各々について、上記データストリームに関連づけられたパラメータの値を決定するステップであり、上記収集されたデータストリームが非構造化データを含むとき、上記パラメータの上記値を決定するステップは非構造化データのパラメータ値への変換のルールに従うステップを含む、ステップと、上記パラメータの期待値から、上記データストリームに関連づけられた上記パラメータの上記決定された値における偏差を計算するステップと、計算された偏差が閾値を上回る場合、上記収集されたデータストリームにおける異常を検出するステップと、を含む。
【００１３】
発明の一態様によれば、システムに由来するデータストリームにおける異常を検出する装置が提供され、当該装置は、少なくとも１つのシステムからデータストリームを収集するように動作可能なコレクタモジュールであり、上記収集されたデータストリームは非構造化データ、及び／又は構造化データ、及び／又はハイブリッド構造化／非構造化データを含む、コレクタモジュールと、上記収集されたデータストリームを複数の時間間隔に分割し、上記複数の時間間隔の各々について、上記データストリームに関連づけられたパラメータの値を決定し、上記パラメータの期待値から、上記データストリームに関連づけられた上記パラメータの上記決定された値における偏差を計算するように動作可能なプロファイラモジュールであり、上記収集されたデータストリームが非構造化データを含むとき、上記パラメータの上記値を決定することは非構造化データのパラメータ値への変換のルールに従うことを含む、プロファイラモジュールと、上記計算された偏差が閾値を上回る場合、上記収集されたデータストリームにおける異常を検出するように動作可能なプロセッサと、を含む。
【００１４】
発明の一態様によれば、システムに由来するデータストリームにおける異常を検出する方法が提供される。データストリームが、システムから収集される。収集されたデータストリームは、複数の時間間隔に分割される。複数の時間間隔の各々について、データストリームに関連づけられたパラメータの値が決定される。パラメータの期待値からの、データストリームに関連づけられたパラメータの決定された値における偏差が、決定される。計算された偏差が閾値を上回る場合、収集されたデータストリームにおける異常が検出される。
【００１５】
発明の別の態様によれば、システムに由来するデータストリームにおける異常を検出する装置が提供される。装置は、システムからデータストリームを収集するように動作可能なコレクタモジュールを含む。装置は、収集されたデータストリームを複数の時間間隔に分割し、複数の時間間隔の各々について、データストリームに関連づけられたパラメータの値を決定し、パラメータの期待値から、データストリームに関連づけられたパラメータの決定された値における偏差を計算するように動作可能なプロファイラモジュールをさらに含む。装置は、計算された偏差が閾値を上回る場合、収集されたデータストリームにおける異常を検出するように動作可能なディテクタモジュールをさらに含む。
【００１６】
発明の別の態様によれば、プロセッサに上記方法を実行させる命令を含む担体を含むコンピュータプログラム製品が提供される。
【００１７】
このように、本発明は、偽陽性の検出（すなわち、トラフィックが実際には正常なトラフィックである場合の偽のアラーム）の数を低減させ、かつ全体的な検出レートを改善してより高い比率の真の異常が検出されることを確保する、データストリームにおける異常を検出する改善された方法を提供する。
【図面の簡単な説明】
【００１８】
本発明のより良い理解のため、及び本発明が如何にして実施され得るかを示すために、次に、例として添付図面に対して参照が行われる。
【図１】本発明によるシステムに由来するデータストリームにおける異常を検出する装置を示すブロック図である。
【図２】本発明の一態様による方法を示すフローチャートである。
【図３】本発明の一実施例により計算されたデータストリームの例示的な期待値及び偏差関数のグラフであり、異常が検出されない。
【図４】本発明の一実施例により計算されたデータストリームの別の例示的な期待値及び偏差関数のグラフであり、異常が検出される。
【図５】本発明が実現され得る一例示的なシステムを示すブロック図である。
【図６】本発明が実現され得る別の例示的なシステムを示すブロック図である。
【図７】機械学習を使用してシステムを訓練するためにオペレータが用いられ得る一例示的なシステムを示すブロック図である。
【発明を実施するための形態】
【００１９】
図１は、本発明による、システムに由来するデータストリームにおける異常を検出する装置１０を示す。装置１０は、システムからデータストリームを収集するように動作可能なコレクタモジュール１２と、収集されたデータを複数の時間間隔に分割するように動作可能なプロファイラモジュール１４と、収集されたデータストリームに異常が存在するかどうかを検出するように動作可能なディテクタモジュール１６とを含む。いくつかの実施例において、装置１０は、複数のコレクタモジュール１２及びプロファイラモジュール１４を含んでよい。いくつかの実施例において、ディテクタモジュール１６は、様々な異常検出及び認識アルゴリズムを実現し、人工知能（ＡＩ）又は機械知識データパック（例えば、収集されたデータへの適用のための機械学習されたルールなど）を記憶するように構成された、複数の部分を含んでよい。
【００２０】
データストリームが由来するシステムは、そこからデータストリームが収集されることができるネットワーク又は任意の他の複合システム若しくはデバイスであり得る。例えば、システムは、サーバ、ローカルエリアネットワーク（ＬＡＮ）、パーソナルエリアネットワーク（ＰＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、無線ローカルエリアネットワーク（ＷＬＡＮ）、仮想プライベートネットワーク（ＶＰＮ）、インターネット、スマート電気グリッド、ＳｍａｒｔＰｌａｎｔ（登録商標）、トラフィック及びトランスポート制御システム、又は任意の他の複合システムであり得る。
【００２１】
図２は、本発明による方法１００を示すフローチャートである。
【００２２】
図２を参照し、ブロック１０２において、コレクタモジュール１２は、システムからデータストリームを収集するように動作可能である。コレクタモジュール１２は、リアルタイムで又は少なくともほぼリアルタイムでシステムからデータストリームを収集するように動作可能である。
【００２３】
システムからのデータストリームは、例えば、サーバ、ローカルエリアネットワーク（ＬＡＮ）、インターネットの一部、又は上記で説明されたような任意の他の複合システムなどの、ネットワーク又は複合システムからのデータストリームであり得る。データストリームは、構造化データ及び／又は非構造化データを含む、システムからの任意タイプのデータを含んでよい。
【００２４】
構造化データは、例えば、データを編成及び／又は標準化する（standardise）ための、編成されたデータ、又は関連づけられた予め定義されたデータモデルを有するデータであり得る。構造化データの例には、数値又は統計データなど、任意タイプの非言語データが含まれる。例えば、構造化データは、時系列値、システム性能、又は利用データ（例えば、中央処理ユニット（ＣＰＵ）に対応するデータなど）を含んでよく、これは、シンプルネットワーク管理プロトコルオブジェクト識別子（ＳＮＭＰ  ＯＩＤ）示度数により表されてよく、あるいは、これは、フォーマットされた生の統計ファイルの形式でもよく、あるいは他の標準データ収集プロトコルを用いて捕捉されてもよい。ファイルは、例えば、米国標準情報交換コード（ＡＳＣＩＩ）又は任意の他のフォーマッティング標準若しくはプロトコルを使用してフォーマットされてよい。
【００２５】
非構造化データは、例えば、データを編成及び／又は標準化するための関連づけられた予め定義されたデータモデルを欠くデータであり得る。非構造化データの例には、テキスト大量（text-heavy）データが含まれ、これは、日付、数字、事実、又は任意の他の形式の人間が読取可能なデータなどをさらに含んでよい。例えば、非構造化データは、タイムスタンプされたデータ、例えば、システムデータログ（シスログ）、アクセスログ、ファイアウォールログ、コールデータレコード、アラーム（例えば、シンプルネットワーク管理プロトコル（ＳＮＭＰ）トラップ）、シンプルネットワーク管理プロトコル（ＳＮＭＰ）データなどを含んでよい。
【００２６】
収集されたデータはタイムスタンプされたデータであり得（すなわち、データは起点タイムスタンプを有し得る）、あるいは、コレクタモジュール１２が収集されたデータにタイムスタンプするように動作可能でもよい（すなわち、データは内部又はローカルのタイムスタンプを提供される）。一例において、データは日付及び／又は時刻フォーマットでタイムスタンプされ、これは任意タイプのものでよい（例えば、ＤＤ‐ＭＭ‐ＹＹＹ、ＨＨ：ＭＭ：ＳＳ：ｍｓ、又は任意の他のタイプ）。タイムスタンプは、エポックタイムスタンプでもよい。
【００２７】
コレクタモジュール１０２により収集された他のソースのデジタル又はアナログデータがさらに処理されてよい。
【００２８】
いくつかの実施例において、方法は、収集されたデータストリームからのデータの前処理及び／又はクリーニング（cleaning）を任意選択で含んでよい（図２のブロック１０４）。これは、コレクタモジュール１２で実施されてよい。コレクタモジュール１２は、収集されたデータを、データが収集されたシステムの予め定義された知識モデルと比較することにより、収集されたデータストリームからのデータを前処理し、かつ／あるいはクリーニングしてよい。予め定義された知識モデルは、システムのオペレータにより書かれたルールにより表現されてよい。
【００２９】
収集されたデータストリームは複数のデータ値を含み、その各々が、データストリームが収集されたシステム内で発生しているイベントを表し得る。図２のブロック１０６において、プロファイラモジュール１４は、収集されたデータストリームを複数の時間間隔に分割するように動作可能である。例えば、システム内で発生する複数のイベントが、一イベントが発生する時間間隔により編成されてよい。時間間隔の大きさは柔軟であり、オペレータにより設定されてよい。一例において、ある時間間隔内のデータがデータ点を取得するために処理され、これは時間に対してプロットされてよい。データ点はデータベースに記憶されてよい。データベースは装置１００に対して内部であってよく、あるいは外部のデータベースでもよい。
【００３０】
時間間隔は、収集されたデータが処理され、かつデータ点が決定される時間の継続時間を定義する。時間間隔は、任意的な値でよい（例えば、秒又はミリ秒で表現される）。一例において、時間間隔は、異常検出の緊急性（例えば、リアルタイムに近い）及び／又はシステムハードウェア能力に基づき、オペレータにより選ばれる（例えば、収集されたデータがバックロギング、バッファリング、クラッシュなどを引き起こすことなく処理されることを可能にする値が選ばれる）。
【００３１】
プロファイラモジュール１４は、異常検出について、設定された数の隣接した時間間隔を処理してよい。設定された数の時間間隔は時間セグメントとして参照され、セグメントの大きさは半径パラメータにより定義される。セグメント内の各時間間隔のデータ処理の結果が異常検出に考慮される。
【００３２】
時間セグメントの大きさは、下記の式：
時間セグメント＝（半径パラメータ×２）＋時間間隔の継続時間
を使用して計算される。
【００３３】
一例において、半径パラメータは２に設定され、各時間間隔は１秒の継続時間を有するように設定される。２の半径パラメータ及び１秒の継続時間を有する時間間隔について、時間セグメントの大きさは、（２×２）＋１＝５秒として計算される。これは、任意の所与の時間における処理及び解析について、５個のデータ点（すなわち、５個の隣接した時間間隔の各々についてのデータ点）を提供する。
【００３４】
他の例において、時間間隔は、１００ｍｓ、１ｓ、５ｓ、１分の継続時間、又は任意の他の時間間隔継続時間を有するように選択されてよい。選ばれた時間間隔は分解能を定義し、半径パラメータは、システムが異常システム挙動を如何に速く検出することができるかを決定する。
【００３５】
図２のブロック１０８において、複数の時間間隔の各々について、プロファイラモジュール１４は、データストリームに関連づけられたパラメータの値を決定するように動作可能である。
【００３６】
一例において、プロファイラモジュール１４は、時間間隔内のゼロ以上のイベントの発生を検出し、時間間隔内のゼロ以上のイベントの検出された発生に基づき重大度の値（severity  value）を割り当てることにより、時間間隔内のデータストリームに関連づけられたパラメータの値を決定する。
【００３７】
別の例において、プロファイラモジュール１４は、時間間隔内の複数のイベントの発生を検出し、複数のイベントの各々に重大度の値を割り当て、割り当てられた重大度の値の和を計算することにより時間間隔内のデータストリームに関連づけられたパラメータの値を決定する。換言すると、パラメータは合計重大度ＳＴＯＴとして決定され、これは、各時間間隔内で発生しているイベントの個々の重大度（すなわち、定量化して求めた値）の和である。
【００３８】
別の例において、プロファイラモジュール１４は、時間間隔内の複数のイベントの発生を検出し、時間間隔内の１秒あたりに発生する検出されたイベント数のカウント、又は時間間隔あたりにロギングされたイベント数のカウントに基づき、時間間隔内のデータストリームに関連づけられたパラメータの値を決定する。
【００３９】
別の例において、時間間隔内の複数のタイムスタンプについて、プロファイラモジュール１４は、データストリームに含まれるデータを解析してイベントを検出し、検出されたイベントに基づき重大度値を割り当てる。プロファイラモジュール１４は、時間間隔ユニット内の複数のタイムスタンプにおける割り当てられた重大度値の和を計算することにより、収集されたデータストリームに関連づけられたパラメータの値を決定する。
【００４０】
上記の例のうち任意のものにおいて、イベントはトリガワード又は値であり得る。
【００４１】
検出されたイベントは所定のモデルルールに従い分類され、定量化され、該ルールは、連続的な＜ｉｆ‐ｔｈｅｎ＞手順又はルールの形式で表現できる。このように、プロファイラモジュール１４は、非構造化データ及び構造化データを変換し、処理することができる。
【００４２】
非構造化データの重大度値への変換（すなわち、上記で論じられたようなイベントデータの定量化）のための正確なルールは、データストリームが収集されるシステムの事前の挙動及び期待された挙動の知識に依存し、ベンダ及び技術固有であり得る。例えば、オペレータが、イベントデータのパラメータ値（例えば、重大度値）への変換のための＜ｉｆ‐ｔｈｅｎ＞ルールを作成し、アクションスクリプトをトリガしてよい。こうしたルール及びアクションスクリプトのコレクションが機械知識データパックの一部として提供されてよく、これは、システムにインストールされて特定のデプロイメントシナリオに対処することができる。
【００４３】
イベントが、特定の閾値を超えている数値又はテキスト値内に存在するキートリガワードにより認識される場合、定量化には、特定の文字列を特定の数値にマッピングすることを含んでよく、あるいは、イベントがトリガ値である場合、定量化には、ある数を別の数にマッピングすることを含んでよい。例えば、ワード「エラー」を含むイベントが特定の値（例えば、５０）を割り当てられてよく、ワード「警告」を含むイベントが別の値（例えば、１０）を割り当てられてよい。いかなる有意なイベントも、システムログ内に言語表現を有するものさえ、復号され、適切な値を割り当てられる。定量化して求めた値は、本明細書においてイベントの「重大度」の値として参照される。イベントがトリガワード又は値である場合について例が提供されたが、データストリームは任意の他の特性に基づき定量化されてよいことが十分理解されるであろう（例えば、別の特性は、データインターフェースのＣＰＵ使用率又はトラフィックスループットであり得る）。イベントは、上記で説明されたように解析されて、エラーがシステム内で発生したかどうか、システム内に問題があるかどうか、懸念の原因があるかどうか等の指標を提供する。
【００４４】
決定された重大度値は、実際、重大度データ系列（これは、重大度関数としてさらに参照され得る）を提供し、値は、リアルタイムで又は履歴表現ダッシュボードを介して（例えば、イベント数のプロットで）プロットされてよい。この場合、重大度関数は、構造化データ関数に相当する。関数は、単調、非単調、連続、非連続、デジタル、バイナリ等の、任意の種類の関数であり得る。一般に、重大度関数は確率関数であり、データストリームが収集されるシステムの性質に起因して予測不可能である。
【００４５】
データストリームに関連づけられたパラメータの値が、上記で説明されたように（図２のブロック１０８において）複数の時間間隔の各々について決定されると、処理はブロック１１０に移る。図２のブロック１１０において、プロファイラモジュール１４は、パラメータの期待値から、データストリームに関連づけられたパラメータの決定された値における偏差を計算するように動作可能である。期待値は、プロファイラモジュール１４により自動的に取得される。パラメータの期待値は、管理されたシステムのモデルの期待値特性のデータベースから取得された値であり得る。
【００４６】
期待値は、時間セグメント内のパラメータの中央値であり得る。例えば、プロファイラモジュール１４は、システムのデータストリーム内のデータの系列を監視し、統計解析を使用して、各時間セグメント内のデータ系列の中央値として期待値を計算してよい。ゆえに、プロファイラモジュール１４は、期待値を確立し、最新の時間セグメント内の時間間隔の各々について、期待値からの決定された値における偏差を計算する。
【００４７】
これは、期待値からの偏差の計算によりデータ系列における変化（速い、有意な、及び期待されていない変化を含む）の検出を可能にし、これは、ほぼリアルタイムで行うことができる。換言すると、プロファイラモジュール１４は、基準（すなわち、中央、平均、又は他の統計的に定義された値）からの逸れを検出することができる。
【００４８】
いくつかの実施例において、プロファイラモジュール１４は、各時間間隔について、時間セグメントの時間間隔内の（上記で説明されたような）パラメータの期待値を計算することと、それを当該時間間隔内のパラメータの決定された値と比較して期待値からのパラメータ値の偏差を計算することにより、データストリームに関連づけられたパラメータの決定された値における偏差を計算してよい。
【００４９】
上記で言及されたように、データ系列は、システムの重大度データ系列（すなわち、重大度関数）であり得る。一例において、期待値は、時間セグメント内の値の系列にわたる合計重大度ＳＴＯＴの代表的なアベレージ（average）値（例えば、平均又は中央値など）であり得る。
【００５０】
一実施例において、時間間隔内のパラメータの期待値は、時間間隔内のパラメータの中央値として計算される。換言すると、パラメータの期待値は、パラメータ値が順番であるときのパラメータの真ん中の値、すなわち、データ標本のうち下位半分からデータ標本のうち上位半分を分離する値として計算されてよい。
【００５１】
例えば、
｛２，  ３，  ５，  ９，  １２｝のメジアンは５であり、
｛２，  ８，  １６，  ９，  １１｝のメジアンは９であり、
｛１，  ３，  ０，  ９，  ４｝のメジアンは３である。
【００５２】
中央値は、データ標本（例えば、イベントカウント、値、又は重大度値）を数値順で最初ソートし、次いで中央値を決定することにより計算されてよく、中央値は、ソートされたデータ標本内の中央の要素である。
【００５３】
少数（例えば、上記で示された５、又は３、７、９、若しくは１１）の最近の標本値のメジアンを使用して期待値を形成することは、それがすばやく及び低い計算要件で生成でき、しかし異常の認識における良い第一歩を提供するという利点を有する。
【００５４】
期待値が上記の例のうち任意のものにより計算されると、期待値からの、データストリームに関連づけられたパラメータの決定された値における（例えば、合計重大度又は合計カウントにおける）偏差が計算される。偏差の尺度は、中央の要素について同じ時間セグメント内で作成され、データがソートされたときの時間セグメント内の中央の要素の値である。
【００５５】
使用できる複数の可能な偏差測定があり、これらに限られないが下記の例が含まれる。
【００５６】
一例において、未補正標本偏差（uncorrected  sample  deviation）（ＳＤ）が、絶対値で表されたメジアンに基づき使用されてよい。換言すると、未補正標本標準偏差式が基礎として使用され、平均値の代わりに中央値が使用される。この式は、下記のとおり表され得る。
【００５７】
【数１】
0006703613.tif 000002
ここで、ｘｉは、収集されたデータの観察された値（すなわち、時間間隔内のパラメータ値、例えば、イベントカウント値又はイベント重大度値など）であり、ｘは、時間間隔内の収集されたデータの中央値であり、分母（denominator）Ｎは、収集されたデータの標本の大きさである（これは、標本分散の平方根として計算され、標本分散は、標本平均についての偏差平方のアベレージである）。
【００５８】
別の例において、補正標本偏差（corrected  sample  deviation）が、絶対値で表されたメジアンに基づき使用されてよい。補正標本偏差の式は、下記のとおり表され得る。
【００５９】
【数２】
0006703613.tif 000003
ここで、ｘｉは、収集されたデータの観察された値（すなわち、時間間隔内のパラメータ値、例えば、イベントカウント値又はイベント重大度値など）であり、ｘは、時間間隔内の収集されたデータの中央値であり、Ｎは、収集されたデータの標本の大きさである（これは、標本分散の平方根として計算され、標本分散は、標本平均についての偏差平方のアベレージである）。
【００６０】
別の例において、不偏標本偏差が、絶対値で表されたメジアンに基づき使用されてよい。不偏標本偏差の式は、下記のとおり表され得る。
【００６１】
【数３】
0006703613.tif 000004
ここで、ｘｉは、収集されたデータの観察された値（すなわち、時間間隔内のパラメータ値、例えば、イベントカウント値又はイベント重大度値など）であり、ｘは、時間間隔内の収集されたデータの中央値であり、分母Ｎは、収集されたデータの標本の大きさである（これは、標本分散の平方根として計算され、標本分散は、標本平均についての偏差平方のアベレージである）。
【００６２】
使用できる偏差測定の他の例には、
１．平均のパーセンテージで表された未補正標準偏差
２．平均のパーセンテージで表された補正標準偏差
３．平均のパーセンテージで表された不偏標準偏差
４．絶対値で表された未補正標準偏差
５．絶対値で表された補正標準偏差
６．絶対値で表された不偏標準偏差
７．絶対値で表された微分係数（Derivative）
８．メジアンＭとベース信号Ｂとの間の絶対差Ｆ、すなわち、Ｆ＝（Ｂ−Ｍ）
９．パーセンテージとして表されたメジアンとベース信号との間の案分（相対）差、すなわち、Ｆ＝（Ｂ−Ｍ）／Ｂ＊１００
１０．絶対値で表されたメジアンに基づく未補正標準偏差
１１．絶対値で表されたメジアンに基づく補正標準偏差
１２．絶対値で表されたメジアンに基づく不偏標準偏差
が含まれる。
【００６３】
しかしながら、偏差測定は上記の例に限定されず、任意の他の偏差測定がさらに使用されてよい。
【００６４】
図２のブロック１１２において、計算された偏差が閾値（偏差閾値としても参照される）を上回る場合、ディテクタモジュール１６は、データストリームにおける異常を検出するように動作可能である。閾値は、手動で設定されてよく、あるいは自動的に決定されてもよい。異常を検出したことに応答して、ディテクタモジュール１６は、収集されたデータストリームを再調査して、データストリームに含まれるデータを検証してよい。異常は、パターン認識手法を通して解析され、分類されてよい。換言すると、異常に対して分類が決定される。
【００６５】
例えば、ディテクタモジュール１６は、検出された異常（又は、偏差関数などの異常について取得されたデータ）を、異常のデータベースに記憶された少なくとも１つの異常と比較してよい。異常のデータベースは、既知の又は前に識別された異常について取得されたデータを記憶してよい。異常のデータベースは、前に検出された異常の機械学習、異常のオペレータ分類、及び／又は異常のユーザ入力を通して作成されたデータベースでもよい。
【００６６】
検出された異常の、少なくとも１つの記憶された異常との比較は、ディテクタモジュール１６が検出された異常と異常のデータベースに記憶された少なくとも１つの異常との間の類似度の尺度を決定することを含んでよい。ディテクタモジュール１６は、検出された異常と異常のデータベースに記憶された少なくとも１つの異常との間の相違（divergence）が所定の閾値（相違閾値としてさらに参照される）より小さい場合、検出された異常を、異常のデータベースに記憶された少なくとも１つの異常に類似すると決定してよい。
【００６７】
検出された異常と異常のデータベースに記憶された少なくとも１つの異常との間の相違が所定の閾値より大きい場合、ディテクタモジュール１６は、検出された異常を、未知の（まだ分類されていない）異常のリストに追加する。そうでない場合、ディテクタモジュール１６は、検出された異常の分類を決定する。
【００６８】
分類されると、ディテクタモジュール１６は、検出された異常にアクションを割り当ててよい。異常を検出したことに応答して、ディテクタモジュール１６は、緩和（mitigation）手法を実現して異常のソース（又は根本原因）を緩和してよい。緩和手法には、異常のソースからのアクセスをブロックすること、収集されたデータストリームを異常のソースに向けてリダイレクトすること、及び／又は異常のソースからのトラフィックを破棄することを含んでよい。一例において、検出された異常に割り当てられるアクションには、データストリームが収集されたシステムのオペレータに通知を送信することを含んでよい。別の例において、アクションスクリプトが異常に対して自動的に実行されてよく、あるいは、異常が通知メッセージによりシステムに通知されてよく、通知メッセージは、異常に対してシステムが実行すべきアクションスクリプトを含んでよい。
【００６９】
例えば、異常は、ＳＭＳ、電子メールなどを介してシステムのオペレータに通知されてよい。異常は、インターフェースフラッピングの結果であり得、次いで、アクションスクリプトが、インターフェースフラッピングを解決し又はインターフェースフラッピングに対抗するために実行すべきアクションスクリプトをオペレータに通知してよい。別の例において、異常は、既知のサイバー脅威として分類されてよく、そのサイバー脅威を緩和するためのアクションスクリプトが自動的に実行されてよい。例えば、ディクショナリパスワードピックアップルーチンのソース（すなわち、根本原因）をブロックするファイアウォールルールが適用されてよい。この例において、システムのオペレータが異常をさらに通知されてもよい。
【００７０】
異常が検出された場合、検出された異常は異常のデータベースに記憶されてよい。データベースは装置１０に対して内部にあってよく、あるいは異常の外部データベースでもよい。
【００７１】
一方、計算された偏差が閾値を下回る場合、異常はデータストリーム内に検出されない（すなわち、データストリームは、正常に、又は期待されたパラメータの範囲内に見える）。
【００７２】
偏差閾値は任意的なパラメータであり、選ばれたシステムモデルのルールに依存する。ルールは、偽陽性の（false  positive）異常検出が最小化され、しかし感度が適切で重要なシステム挙動を検出するように作成されてよい。ルールは、いつでも適応されてよい。例えば、収集されたデータストリーム内に存在するトリガワード又はトリガ値に重大度値を割り当てる場合、ルールは、特定のイベントを増幅し、他のイベントの感度を減じるために、異なる重大度値を異なるワード又は値にマッピングすることにより調整できる。例えば、最小有意イベントが、１００の重大度値で表現されるワード「警告」で定義され、狙いが、このワードを異常として検出することである場合、閾値は、１００の値に少なくとも等しくてよい。別法として、より少ない重大度のイベントが、１０の重大度値で表現されるワード「情報」で示される場合、閾値は、このワードの１回、２回、又はさらに
は３回の発生は異常を検出するのに十分有意でなく、しかしこのワードの１０回以上の発生が時間間隔内に発生する場合には異常が検出されるように、設定されてよい。こうして、より有意でない異常は、イベントの発生数が閾値を超えた場合に検出される。さらに、特定のイベントを無視することが可能である。偏差閾値は、環境に基づき偏差閾値を適応させることができる統計解析又は他の数学演算に基づいて、予め決定され（例えば、手動で設定され）、あるいは自動的に定義されてよい。
【００７３】
計算された偏差が閾値を上回るかどうかを決定することにより、収集されたデータストリームに異常が存在するかどうかを検出することが可能である。計算された偏差は、エラーがシステム内で発生したかどうか、システム内に問題があるかどうか、懸念の原因があるかどうか等の指標を提供する。
【００７４】
いくつかの例において、プロファイラモジュール１４は、ある時間にわたり、データストリームに関連づけられたパラメータの期待値と、データストリームに関連づけられたパラメータの決定された値（すなわち、パラメータの実際の値）と、期待値からの決定された値の偏差とをプロットする。ある時間にわたる偏差のプロットは、偏差関数として参照されてよい。
【００７５】
図３は、時間に関してプロットされた偏差（すなわち、偏差関数）の一例を示す。偏差関数は、継続時間、波形を表す形状、及び最大振幅を有する。図３において、ある時間にわたりデータストリームに関連づけられたパラメータの決定された値は線２０２により示され、期待値は線２０４により示され、期待値からの偏差は線２０６により示される。
【００７６】
図２を再び参照すると、ブロック１１２において、所定の閾値レベルを超える偏差関数のいかなる有意振幅値も、測定されたパラメータの異常を示し得る。この例において、異常は検出されていない。
【００７７】
図４は、時間に関してプロットされた偏差（すなわち、偏差関数）の別の例を示す。この例は、重大度関数２０２、重大度関数の期待値２０４（この例において、これは中央値である）、及び期待値からの偏差２０６を示す。重大度関数２０２、及び重大度関数の期待値２０４は、図２のステップ１０８においてプロファイラモジュール１４により計算される。期待値からの偏差２０６は、図２のステップ１１０においてプロファイラモジュール１４により計算される。この例示において、３０２とマーク付けされたプロットの領域に異常が検出されている。
【００７８】
図５は、上記で説明された装置１０及び方法が実現され得る一例示的なシステム４００の概略表現を示す。
【００７９】
図５の右手側で始まり、データ４０２がコレクタモジュール４０４で収集される（図２のブロック１０２）。データは複数のデータストリーム４０２を含み、各データストリームは構造化、非構造化、及び／又はハイブリッド（すなわち、構造化及び非構造化の混合）のデータを含んでよく、ストリームは同じタイプのデータ又は異なるタイプを含んでよく、すなわち、これらは同種又は異種であり得る。データは、単一のシステムに、又は複数のシステムのネットワークに由来してよい。この例において、データは、イベント、センサ示度数、及び／又は性能データのセットを含んでよい。いくつかの例において、データが生成され、次いでシステム４００によりライブで受信され、次いでほぼリアルタイムで処理される。他の例において、システムに提示されるデータは、アーカイブレコードから取り出されてもよい。収集されたデータ４０２は、適応フィルタルールを使用してコレクタモジュール４０４において前処理され、クリーニングされる（図２のブロック１０４）。前処理及びクリーニングプロセスの一部として、雑音除去モジュール４０６が雑音を
除去し、標準化モジュール４０８がデータを標準化する。前処理及びクリーニングされたデータはデータベース４１４に記憶され、異常処理モジュール４１０及びパターン認識モジュール４１２により処理される。異常処理モジュール４１０は、上記で説明されたプロファイラモジュール１４及びディテクタモジュール１６と比較可能であり、図２のブロック１０６、１０８、１１０、及び１１２を参照して説明されたデータに対する処理を実行する。プロファイラモジュール１４、ディテクタモジュール１６、及び任意の他の異常処理モジュールが、互いに直接通信してシステムの性能を改善してよい。
【００８０】
異常処理モジュール４１０がデータストリームの１つ以上における異常を（上記で説明されたように）検出したとき、パターン認識モジュール４１２が、その異常に関するデータを解析して異常を一意に分類する。例えば、パターン認識モジュール４１２は、データストリーム内のデータについて作り出された偏差関数の形状、イベントがデータ若しくはデータストリーム内に発生する順序若しくはシーケンス、又は異常が分類されることを可能にするであろう任意の他の情報を解析してよい。ゆえに、１つの特定タイプの再発する異常が、１つ以上の時間間隔の間のデータストリームの第１のサブセット内の、パラメータ値における特定の変化を引き起こすことがあり、別のタイプの再発する異常が、１つ以上の時間間隔の間のデータストリームの異なる第２のサブセット内の、パラメータ値における変化を引き起こすことがある。同様に、１つの特定タイプの再発する異常が、１つ以上の時間間隔の間のデータストリームの特定のサブセット内の、パラメータ値における第１の変化セットを引き起こすことがあり、別のタイプの再発する異常が、１つ以上の時間間隔の間のデータストリームの同じサブセット内の、パラメータ値における異なる変化セットを引き起こすことがある。ゆえに、検出されるイベントは、特定のデータストリームにおけるパラメータ値変化のパターンを作り出すことになる。パラメータ値の各パターンは、複数の時間間隔にわたり広がってよい。異常の分類の処理は、異常の特定タイプの特性であるパラメータ値変化のパターンを認識することを含む。このパターンは、１つのデータストリーム内の複数のパラメータ値のシーケンスを含んでよく、あるいはそれぞれのデータストリーム内の複数のパラメータ値のそれぞれのシーケンスを含んでもよい。
【００８１】
この分類処理は、イベントの「フィンガープリント」を作成することを含んでよく、これは、異常シーケンス内のイベントの分類の、ヒストグラムの形式をとってよい。フィンガープリントは重み付けされ、例えば、異常シーケンス内の各イベントタイプの相対比率を示してもよい。パターン認識モジュール４１２により提供されるフィンガープリント及び異常処理モジュール４１０により取得される情報（例えば、偏差関数又は波形など）は、既知の及び前に検出された異常のデータベースと比較されてよい。
【００８２】
この組み合わせられたデータは、異なる異常タイプについての一意の分類基準を作成し、これは、人工知能（ＡＩ）エンジンにより評価されてよい。動的時間伸縮（ＤＴＷ）アルゴリズムが、任意の新しい観察された異常からのデータを、既知の（すなわち、前に分類された）及び未知の前に発見された異常データと比較するために使用されてよい。アルゴリズムは、２つの異常について取得されたデータ間の類似度を計算するために使用されてもよい。
【００８３】
新しい異常と前に評価された異常との間の類似度の尺度は、２つの異常の間の相違としても知られる。これは、構成可能なパラメータであり、パーセンテージとして表すことができる。評価下の２つの異常は、相違がオペレータにより設定された相違閾値より小さい場合、類似又は同一と考えられる。相違閾値は、偽陽性を最小化し、認識処理の有効性を最大化するように調整されてよい。
【００８４】
異なる異常がある時間にわたり検出されたとき、検出された異常タイプのヒストグラムがプロットされることができ、これは、参照の容易さのために発生の合計数でソートされ
ることができる。さらに、累積重大度、ソース（すなわち、異常の根本原因）、設備等に基づき異常をソートすることが可能である。この情報は、セキュリティ計画において有用であり得、かつ／あるいはオペレータがシステムパラメータ（例えば、＜ｉｆ−ｔｈｅｎ＞定量化ルール及び／又は偏差閾値など）を調整してシステムの検出レートを改善するのを支援し得る。
【００８５】
システムの較正の間、各々の新しい異常が、既知のデータ（これは、前に言及されたように、装置の最初のインストールで提供され、あるいは機械知識データパックを通して実装されてよい）と比較されてよい。未知の異常もまた認識され、発生数に従い表示される。これは、オペレータが前に検出された異常の各発生を解析し、それを分類し、それにアクションを割り当てることを可能にする。
【００８６】
図６はシステム４００のさらなる態様５００の例示であり、これはユーザ（又はオペレータ）により操作可能である。図６は、コレクタモジュールにおいて収集されたデータ４０２と、除去モジュール４０６による雑音の除去、標準化モジュール４０８によるデータの標準化、異常処理モジュール４１０による異常検出、及びパターン認識モジュール４１２によるパターン認識を含む前処理ステップ（ブロック４０４）と、データベース４１４におけるデータの記憶とを示す。図６に示されるシステム５００は、（図６のブロック５０２において）システムのユーザ又はオペレータに対する視覚化（例えば、リアルタイム又はほぼリアルタイムで）を可能にするデータ視覚化ツールをさらに提供する。視覚化に基づき、次いで、システムのユーザ又はオペレータは（図６のブロック５０４において）ユーザ入力を提供してよい。ユーザ入力は、その専門家知識及び／又はデータ視覚化ツールからのデータの解釈に従い、システムパラメータ（例えば、＜ｉｆ−ｔｈｅｎ＞ルール又は閾値など）を変更することを含んでよい。
【００８７】
一例において、未知の（すなわち、新しいタイプの）異常が頻繁に発生し、あるいは高い累積重大度を有する場合、オペレータは、高影響イベントの上位ソースを識別してよく、１つずつこれらに対処してよい。例えば、未知の異常が、オペレータに対する到着ログメッセージを介して表され得る、期待値からの有意な偏差を作り出し又はシステムに対して目立つ影響を有する新しいサイバー攻撃である場合、オペレータは、異常ダッシュボード内のリスト上の高位にこうした異常を見るであろう。次いで、解析が、すべてのこうしたイベントに対して実行されてよい。例えば、下層のデータがオペレータにより解析され、検証されてよい。オペレータによる解析に基づき、新しい異常が（図６のブロック５０６において）その影響に従い分類されてよい。異常は、名前及び説明と共に指定されてもよい。アクションスクリプトが、この段階で割り当てられてよい。新しいサイバー攻撃の例の場合、緩和スクリプトは、攻撃のソースを中和し、かつ攻撃の被害者を自動的に保護するように動作してよい。検出された異常に関する通知が、（図６のブロック５０８において）コマンド及び制御インターフェースにより、データが収集されたシステムに送信されてよい。
【００８８】
システム５００はループ５１０を含んでよく、これは、検出されたイベントの原因に基づく、ディスプレイを介してオペレータに提供され得る情報の最適化を表す。最適化情報をオペレータに提供する例には、補助ヘルプ情報を表示すること、表示ビューを整理すること（de-cluttering）、チェックリスト、操作手順、フィードバック、及び／又は警告を含むポップアップを提供することを含んでよい。
【００８９】
図７は、イベントフローから異常シーケンスを手動で拾い出し、これらを例示的な異常として機械学習アルゴリズムに提供することにより、機械学習アルゴリズムを訓練して異常を検出及び防止するためにオペレータが用いられ得るシステム７００の一例である。
【００９０】
コレクタモジュールにおいて収集されたデータ４０２が、図６を参照して上記で説明されたように、装置により受信され、前処理される（ブロック４０４）。データは、例えばイベントであり得、データ値は、標準プロトコルを介して民生（ＣＯＴＳ）サードパーティデバイス及びセンサから収集される（例えば、ｓｙｓｌｏｇ、ＳＮＭＰトラップ、ｓ−Ｆｌｏｗ（登録商標）、ＡＳＣＩＩファイルなど）。システム７００は、次いで、上記で説明された図６のブロック５０２、５０４、及び５０６に従い動作する。
【００９１】
図７のブロック７０２において、カスタムアクションスクリプト及び／又はポリシーがトリガされる。アクションスクリプト及びポリシーは、特定のハードウェアについて開発されてよく、機械学習データパックと共にデータベースに記憶されてよい。アクションスクリプトは、デバイス構成フラグメントを作り出し、これは、１つ以上の管理されたデバイス及びシステム７０４に対してプッシュされる（これは、データが収集されたデバイス又はシステムを含み、ファイアウォール、ルータなどの他のデバイス又はシステムをさらに含んでよい）。
【００９２】
アクションスクリプト及びポリシーは、例えば、様々なタスクを実行してよい。一例において、アクションスクリプト及びポリシーは、アクセスリストフィルタをデプロイすることにより、総当たりパスワードピックアップ試行の悪意あるホストソースを隔離してよく、アクセスリストフィルタは、悪意あるホストソースＩＰアドレスから到着するＩＰパケットを破棄し、あるいは拒絶する。別の例において、アクションスクリプト及びポリシーは、悪意あるホストソースＩＰアドレスから到着する複合ネットワーク侵入試行を緩和してよい。別の例において、アクションスクリプト及びポリシーは、リアルタイムでｄＤｏＳ攻撃のソースを抑制してよい。例が提供されたが、アクションスクリプト及びポリシーは任意の他タスクを実行してよいことが理解されるであろう。
【００９３】
本発明は、サイバー脅威を含む多くの形式の異常原因を認識し、対抗することができる。一例は、侵入及び承認されていないアクセスの防止である。この例において、悪意あるサイバーエージェントが侵入又は承認されていないアクセス試行を開始したとき、それは、ファイアウォールログ、侵入検出ログ、システムアクセスログ、認証ログの中に区別可能なパターンを作り出す。悪意あるアクションは典型的に自動化され、スクリプト化される。上記で説明されたように組み合わせられ、プロファイルされ、解析され、これらイベントは、偏差関数の異常波形として登録され得る区別可能イベントランドスケープを作り出す。この波形は解析され、インシデントの既知のセットと比較される。マッチが見つけられた場合、受動的な手段がデプロイされてよい。例えば、ファイアウォールフィルタ（これは、悪用しているインターネットプロトコル（ＩＰ）アドレスからのアクセスをブロックする）が、例えば所定量の時間について、攻撃のソースをブロックするためにデプロイされてよく、システムのオペレータが通知をされてよい。別の例において、ルーティングポリシーが、記録、解析、及び処理のために、悪意あるトラフィックをリダイレクトするためにデプロイされてよい。
【００９４】
別の例が、分散型サービス拒否（ｄＤｏＳ）攻撃の防止である。この例において、悪意あるサイバーエージェントが、区別可能な及び既知のパターンにマッチするアクティビティの急増を作り出したとき、システムは、受動的及び能動的な対抗手段をデプロイしてよい。例えば、ファイアウォール（これは、悪用しているインターネットプロトコル（ＩＰ）アドレスからのアクセスをブロックする）が、例えば所定量の時間について、攻撃のソースをブロックするためにデプロイされてよく、システムのオペレータが通知をされてよい。別の例において、フィルタベースのルーティングポリシーが、悪意あるトラフィックを攻撃のソースにリダイレクトするためにデプロイされてよい。攻撃のソースは、例えば、セグメント上に意図的な輻輳を引き起こすためにボトルネックを実現することによってなどで、輻輳を通して能動的に抑制されてよい。別の例において、ホストルートが、保護
された及び保護されていないドメイン間の境界におけるルータに対して物理／論理／トンネルインターフェースを介して、内部ルーティングプロトコルに導入されてよい。ルータは、悪意あるソースからのすべてのトラフィックが破棄されるように適所にリバースパスフォワーディングチェックを有してよい。一例において、保護されたドメインのエッジが、外部ルーティングプロトコル（例えば、ボーダゲートウェイプロトコル（ＢＧＰ）など）により、悪意あるトラフィックのソースまで広げられてよい。
【００９５】
したがって、本発明は、データストリームにおける異常を検出する改善された方法を有利に提供する。
【００９６】
上述された実施例は、発明を限定するのでなく例示し、当業者は別記の特許請求の範囲から逸脱することなく多くの代替的な実施例を設計することができる点に留意すべきである。ワード「含む」は、請求項内にリストアップされた要素又はステップ以外の要素又はステップの存在を除外せず、「一の」は複数を除外せず、単一のプロセッサ又は他のユニットが請求項に記載されたいくつかのユニットの機能を満たしてよい。請求項内のいかなる参照符号もその範囲を限定するように解釈されないものとする。
【図１】
0006703613.tif 000005
【図２】
0006703613.tif 000006
【図３】
0006703613.tif 000007
【図４】
0006703613.tif 000008
【図５】
0006703613.tif 000009
【図６】
0006703613.tif 000010
【図７】
0006703613.tif 000011