(57)【要約】  異常検出方法およびシステムは、ネットワーク活動を監視することによって、ネットワーク・ステータスを判断する。ある期間における前記ネットワークについての統計に基づくプロファイルを発生して、潜在的に異常なネットワーク活動を分析し、現在の活動をプロファイルと比較することによって前記ネットワーク活動が異常か否か判定を行う。プロファイルを基準として用いて、本異常分析システムおよびプロセスは、挙動が異常である確率に基づいて、潜在的に異常なネットワーク活動を推定し優先度を付ける。警報が必要か否か判断するために用いる異常検出プロセスを必要とするシビリアリティは、ユーザが調節可能な閾値の現確率に対する比較に基づく。閾値が破られた場合、ユーザに警報し、別の品質チェックを受ける。報告サイクルが終了した後、異常検出システムおよびプロセスは、直前の報告サイクルにおいて観察した情報を考慮に入れるために、統計に基づくプロファイルをコンパイルし直す。【選択図】図１【特許請求の範囲】
【請求項１】
インターネット・プロトコル（ＩＰ）ネットワーク・ステータスの判定方法であって、
ＩＰ通信ネットワークを監視するステップであって、前記ＩＰ通信ネットワークが複数の関連するコンピュータ・システムを備えており、前記監視するステップは、更に、
前記ＩＰ通信ネットワーク上を伝達したログ・データを記録する毎に、該ログ・データを評価するステップと、
前記少なくとも１つのデータ通信イベントを登録し、前記少なくとも１つのデータ通信イベントの前記ＩＰ通信ネットワーク上における伝達と関連付けた時系列発生を実行することによって、前記ログ・データから、少なくとも１つのデータ通信イベントが、潜在的に異常なイベントであることを検出するステップと、
前記ログ・データから百分位数データ集合を形成し、前記少なくとも１つのデータ通信イベントを、前記百分位数データ集合と関連付けられた閾値レベルと比較することによって、前記潜在的に異常なデータ・イベントが異常なイベントであることを発見するステップと、
を備えており、更に、
前記異常イベントが、前記閾値レベルと少なくとも等しいレベルによって設定した前記百分位数データ集合と異なる場合、前記監視するステップに付随して警報信号を発生するステップと、
を備えている、方法。
【請求項２】
請求項１記載の方法であって、更に、前記異常イベントが前記閾値レベルから変動するレベルと関連付けた、シビリアリティを確定するステップを備えている、方法。
【請求項３】
請求項１記載の方法であって、更に、前記潜在的に異常なイベントの確率に基づいて、前記潜在的に異常なネットワーク活動を推定し優先度を付けるステップを備えている、方法。
【請求項４】
請求項１記載の方法であって、更に、少なくとも一人のユーザに前記潜在的に異常な活動を警告するために、前記ＩＰ通信ネットワークの前記少なくとも一人のユーザに、前記警報信号を送信するステップを備えている、方法。
【請求項５】
請求項１記載の方法であって、更に、前記異常イベントに関係付けるために、前記ログ・データの、以前に発生した１組の統計的プロファイルを更新するステップを備えている、方法。
【請求項６】
請求項１記載の方法において、前記発見ステップは、更に、観察したＩＰ通信ネットワーク活動のプロファイルを発生するために、前記少なくとも１つのデータ通信イベントを、予測したネットワーク・イベントと比較するステップを備えている、方法。
【請求項７】
請求項６記載の方法において、前記潜在的に異常なネットワーク活動の百分率レベルを推定するために、
前記プロファイルに異常ネットワーク・ステータスを記録するために、通信システム上に既定数のメモリ位置を記録するステップと、
前記メモリ位置の数を離散集合に分割するステップと、
これらの離散集合を百分率レベルで定義するステップと、
前記比較をしかるべきメモリ位置に所定の時間量だけ挿入するステップと、
を備えている、方法。
【請求項８】
請求項７記載の方法において、前記統計に基づくプロファイルは、加重平均の関数に基づいて、前記予測ネットワーク活動を推定する、方法。
【請求項９】
請求項７記載の方法において、前記統計に基づくプロファイルは、ベイズのアルゴリズムの関数に基づいて、前記予測ネットワーク活動を推定する、方法。
【請求項１０】
請求項１記載の方法であって、異常検出の際に、前記異常を分析するために他のネットワーク監視方法と調整する追加ステップを備えている、方法。
【請求項１１】
インターネット・プロトコル（ＩＰ）ネットワーク・ステータスの判定システムであって、
コンピュータ読み取り可能媒体を含むコンピュータ・システムを備えており、前記コンピュータ読み取り可能媒体は、更に、
ＩＰ通信ネットワークを監視する１組の命令および関連する回路であって、前記ＩＰ通信ネットワークが複数の関連するコンピュータ・システムを備えており、前記監視する命令は、更に、
前記ＩＰ通信ネットワーク上を伝達したログ・データを記録する毎に、該ログ・データを評価する１組の命令および関連する回路と、
前記少なくとも１つのデータ通信イベントを登録し、前記少なくとも１つのデータ通信イベントの前記ＩＰ通信ネットワーク上における伝達と関連付けた時系列発生を実行することによって、前記ログ・データから、少なくとも１つのデータ通信イベントが、潜在的に異常なイベントであることを検出する１組の命令および関連する回路と、
前記ログ・データから百分位数データ集合を形成し、前記少なくとも１つのデータ通信イベントを、前記百分位数データ集合と関連付けられた閾値レベルと比較することによって、前記潜在的に異常なデータ・イベントが異常なイベントであることを発見する１組の命令および関連する回路と、
を備えており、
前記コンピュータ・システムは、更に、前記異常イベントが、前記閾値レベルと少なくとも等しいレベルによって設定した前記百分位数データ集合と異なる場合、前記監視するステップに付随して警報信号を発生する１組の命令および関連する回路と、
を備えている、システム。
【請求項１２】
請求項１１記載のシステムにおいて、前記コンピュータ読み取り可能メモリは、更に、潜在的な異常ネットワーク活動を分析する１組の命令および関連する回路を備えており、予測ネットワーク活動と観察したネットワーク活動との比較を伴う、システム。
【請求項１３】
請求項１２記載のシステムにおいて、前記コンピュータ読み取り可能メモリは、更に、観察期間にわたって記録した値を発生する１組の命令および関連する回路を備えている、システム。
【請求項１４】
請求項１３記載の方法において、前記コンピュータ読み取り可能メモリは、更に、前記比較の統計に基づくプロファイル記録を発生する１組の命令および関連する回路を備えている、システム。
【請求項１５】
請求項１１記載のシステムにおいて、前記コンピュータ読み取り可能メモリは、更に、
既定数のメモリ位置において前記プロファイルに異常ネットワーク・ステータスを記録する１組の命令および関連する回路と、
前記メモリ位置の数を離散集合に分割する１組の命令および関連する回路と、
これらの離散集合を百分率レベルで定義する１組の命令および関連する回路と、
前記比較をしかるべきメモリ位置に所定の時間量だけ挿入する１組の命令および関連する回路と、
を備えている、システム。
【請求項１６】
請求項１５記載のシステムにおいて、前記コンピュータ読み取り可能メモリは、更に、加重平均の関数と関連付けて、前記予測ネットワーク活動の少なくとも１つの統計に基づくプロファイル推定値を発生する１組の命令および関連する回路を備えている、システム。
【請求項１７】
請求項１５記載のシステムにおいて、前記コンピュータ読み取り可能メモリは、更に、ベイズ・アルゴリズムの関数に基づいて、前記予測ネットワーク活動の少なくとも１つの統計に基づくプロファイル推定値を発生する１組の命令および関連する回路を備えている、システム。
【請求項１８】
請求項１５記載のシステムにおいて、前記コンピュータ読み取り可能メモリは、更に、異常検出の際に、前記異常を分析するために他のネットワーク監視方法と調整する１組の命令および関連する回路を備えている、システム。
【請求項１９】
コンピュータ読み取り可能媒体であって、
ＩＰ通信ネットワークを監視する１組の命令および関連する回路であって、前記ＩＰ通信ネットワークが複数の関連するコンピュータ・システムを備えており、前記監視する命令は、更に、
前記ＩＰ通信ネットワーク上を伝達したログ・データを記録する毎に、該ログ・データを評価する１組の命令および関連する回路と、
前記少なくとも１つのデータ通信イベントを登録し、前記少なくとも１つのデータ通信イベントの前記ＩＰ通信ネットワーク上における伝達と関連付けた時系列発生を実行することによって、前記ログ・データから、少なくとも１つのデータ通信イベントが、潜在的に異常なイベントであることを検出する１組の命令および関連する回路と、
前記ログ・データから百分位数データ集合を形成し、前記少なくとも１つのデータ通信イベントを、前記百分位数データ集合と関連付けられた閾値レベルと比較することによって、前記潜在的に異常なデータ・イベントが異常なイベントであることを発見する１組の命令および関連する回路と、
を備えており、
前記コンピュータ読み取り可能メモリは、更に、前記異常イベントが、前記閾値レベルと少なくとも等しいレベルによって設定した前記百分位数データ集合と異なる場合、前記監視するステップに付随して警報信号を発生する１組の命令および関連する回路と、
を備えている、コンピュータ読み取り可能媒体。
【請求項２０】
請求項１９記載のコンピュータ読み取り可能媒体において、潜在的に異常なネットワーク活動を分析する前記１組の命令および関連する回路は、更に、予測ネットワーク活動および観察したネットワーク活動の比較のために１組の命令および関連する回路を備えている、コンピュータ読み取り可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願に対する引用
【０００２】
本願は、２００７年３月３０日にPeter Mullarkeyが出願した、"Statistical Approach to Network Anomaly Detection"（ネットワーク異常検出に対する統計的手法）と題する米国仮特許出願第６０／９０９，３０７号の優先権の恩恵を主張する。この出願の内容は、ここで引用したことにより、あらゆる目的に対してもその全体が本願にも含まれるものとする。
技術分野
【０００３】
開示する主題は、ネットワーク通信システムの診断および監視に関する。具体的には、本開示は、所与の時点において予測したネットワーク活動の統計的プロファイルを用いて、どのようにして可能性のある異常を検出するかについて教示する。
【背景技術】
【０００４】
ネットワーク診断および監視ツールは、最近の通信システムでは極普通の機構である。これらのツールは、ネットワーク・リソースにアクセスしている人の数から、ネットワーク上において可能性のある攻撃まで、ネットワークのあらゆる側面を監視する。ネットワークの攻撃は、ネットワーク問題の中でも最も危険な形態であり、したがってこれらを特定するために、より多くのリソースが専用に割り当てられる。
【０００５】
攻撃を検出する慣例的な方法の１つは、侵入検出システム（「ＩＤＳ」）に由来する。ＩＤＳは、予め定めた判断基準に基づいてイベントを検出することができるが、このためには、攻撃を内包するデータがＩＤＳを通過しなければならない。更に、ＩＤＳは予め定めた判断基準を有していなければならないので、攻撃の新たな変種が特定されても、ＩＤＳで検出される可能性は低い。
【０００６】
ネットワークにおいて用いられている別のデバイスに、データ・ハーベスタ(data harvester)がある。データ・ハーベスタは、ネットワークが動作する際に、ネットワークに関する情報を収集する。この情報は、通例、報告に用いられ、事後にネットワーク問題の解決に向けた科学的(forensic)分析に用いられることもある。ネットワークにおける連鎖の一部として具体的に導出された情報を必要とするＩＤＳとは異なり、データ・ハーベスタは、通常のネットワーク監視および計画を支援するために展開されるので、ネットワーク全体の更に大きな部分を見るのが通例である。
【０００７】
ＩＤＳとデータ・ハーベスタとの間の相違を、一例として示すことができる。ＩＤＳは、最初の攻撃の間にＩＤＳを通過しなければ、攻撃からの早期警告が不可能である場合がある。攻撃は、コンピュータ・プログラムから、ログ・インする外部コンピュータまで、何にでも基づくことができる。ＩＤＳは最終的には攻撃を検出するが、攻撃がＩＤＳの限られた視野に入ってくるまでには、不定量の時間が経過する可能性がある。一旦攻撃を検出すると、データ・ハーベスタから攻撃の早期活動を解決に向けて科学的に(forensically)試験することができるが、データ・ハーベスタは単なる攻撃事後リソースに過ぎず、実際には異常も攻撃も告知することも、特定することもない。データ・ハーベスタは、後に分析すべき活動を記録するだけである。
【０００８】
データ・ハーベスタは、通例、ＩＤＳよりも多くのネットワーク・トラフィックを見ることができるが、潜在的な攻撃または異常を誰かに警報するために、素早くデータ・ハーベスタが収集した情報を効果的に用いる方法がなかった。このため、豊富な情報が異常検出に使われないままになっている。
【０００９】
データ・ハーベスタにおけるこの現在利用されていない情報を用いるためには、データを記録しつつ、記録したデータを評価し、潜在的な異常または攻撃を特定することができるプロセスが必要となる。典型的な検出ツールは、閾値警報値を動的に設定するために以前のイベントを用いることはない。閾値レベルを余りに低く設定すると、誘起される偽警報が増加し、その結果、その後の各警報の重要性が低下するように見なされる。逆に、閾値を余りに高く設定すると、多くの潜在的な異常または攻撃が、報告されずに通過したり、あるいは報告が遅すぎて有効な応答を実施することができない。
【００１０】
別の閾値問題が、固定時間中におけるネットワークの使用から発生する。ネットワークの使用度は、通例、作業日の間最も高くなり、非作業時間（夜間および週末）には最も低くなる。常時同じ閾値レベルにしておくと、作業日には報告が多すぎ、非作業時間には報告が少なすぎる結果となる。これらの閾値を１日の時間または週の関数として変化させても、先に述べた固定閾値の問題はなおも残る。
【００１１】
ＩＤＳ検出に伴う別の問題が、それらを通過したデータの詳細な分析から発生する。ＩＤＳは、通例、データの内容全てを見て、データをビット毎に試験する。これは、非常に詳しい分析を可能にするが、リソース集約的である。攻撃が発生すると、これらは一般に属性を有し、その属性は、このような詳細な試験を必要とせずに、検出することもできる。このような攻撃は、各データ・パケットの内容に踏み込むのではなく、情報の視野を広げる即ち拡大することによって検出することもできる。検出の視野を広げる即ち拡大すると、最も精巧な攻撃を検出することができない場合もあるが、このような視野によって、よく起こる攻撃がネットワークを妨害する前に、迅速に検出することが可能になる。
【００１２】
したがって、データ・ハーベスタが収集した情報を有効に用いることが求められている。これを行うためには、個々のネットワークにとって何が典型的であるか判断する方法、および最近観察されたパターンが典型的であるか否か判断する方法が必要となる。
【発明の概要】
【発明が解決しようとする課題】
【００１３】
本明細書において例示し説明する方法、システム、および記憶媒体は、様々な特徴を有するが、その内のどの１つを取っても、それだけがその所望の属性に関わるのではない。以下に続く説明によって表す範囲を限定することなく、その傑出した特徴について、これより簡潔に論ずる。この論述を検討した後、特に「例示的実施形態の詳細な説明」と題する章を読んだ後には、開示したプロセスの特徴が、どのようにして、精度を高め擬陽性警報を低減しつつ、ネットワークおよびその他のデータ異常の評価、特定、および報告に備えているか、理解できよう。
【課題を解決するための手段】
【００１４】
開示する主題の一態様によれば、ネットワーク上において潜在的に異常な活動を検出し、予め設定した異常発生の確率（即ち、脅威レベル）を考慮して、予め設定した時間期間において以前に観察したネットワーク活動に基づいて動的に調整する閾値警報レベルに対して、潜在的に異常な活動を評価する方法、システム、および記憶媒体を提供する。本開示は、統計的分析を用いて、現在のネットワーク・データが異常挙動と一致するか否か判断し、データが一致する場合、ユーザに警報する。現在のデータが異常か否か判断するために、異常検出プロセスは、今後のデータと比較するために、ある時間における統計に基づいたプロファイルを作成する。このプロファイルを基準として用いて、異常検出プロセスは、ネットワーク活動が異常である確率を動的に推定する。この確率を、ユーザが調節可能な閾値と比較する。閾値が破られており、他の品質チェックが満たされている場合、ユーザに警報する。報告サイクルが終了した後、開示するプロセスは、直前の報告サイクルにおいて観察した情報を考慮に入れるために、統計に基づくプロファイルをコンパイルし直す。
【００１５】
開示した主題のこれらおよびその他の利点、ならびに更に別の新規な特徴は、本明細書において提示する記載から明白となろう。この摘要の意図は、特許請求する主題のわかりやすい説明となることではなく、むしろ主題の機能性の一部について端的な全体像を提示することである。本明細書において提案するその他のシステム、方法、特徴、および利点は、以下の図面および詳細な説明を調べることにより、当業者には明白となろう。尚、このような更に別のシステム、方法、特徴、および利点は全て、この説明に含まれ、添付した請求項の範囲に該当することを意図している。
【図面の簡単な説明】
【００１６】
開示する主題の特徴、性質、および利点は、以下に明記する詳細な説明を、図面と合わせて検討することにより、一層明らかとなろう。図面において、同様の参照符号は、全体を通じて対応して同一視することとする。
【図１】図１は、検出、異常発見、相関付け、および警告のコンポーネント・ステップ、ならびに付随するサブ・コンポーネントを有する、異常検出プロセスの簡略ブロック図を表す。
【図２】図２は、同等のサイズを維持するために、プレースホルダが動的に調節する、動的プレースホルダのプロセス例を示す。
【図３】図３は、開示する方法およびシステムがどのようにして検出器の結果を表示することができるかについての例を示し、大規模インターネット制御メッセージ・プロトコル（Internet Control Message Protocol）パケットの数を時間の関数として示すグラフ上において、生の計量値、百分位数の差、および２つの異常確率を示す。
【図４】図４は、分毎の宛先連絡数を時間の関数として示すグラフ上において、異常検出プロセスがどのようにしてＩＰファンアウト検出器の結果を表示することができるか実証する。
【図５】図５は、開示する方法およびシステムがどのようにして、ある時間期間におけるネットワーク活動の活動を表示できるかを表示する。
【図６】図６は、開示するプロセスがどのようにして、図５において注目した活動に基づいて、ある時間期間における異常活動の百分位数推定値を表示できるかを示す。
【図７】図７は、異常検出プロセスがどのようにして、図５において注目した活動に基づいて、ある時間期間におけるネットワーク上の攻撃の確率を表示できるかについての一例を指摘する。
【図８】図８は、開示する方法およびシステムがどのようにして、ある時間期間におけるネットワーク活動の活動を表示できるかを表示する。
【図９】図９は、開示するプロセスがどのようにして、図８において注目した活動に基づいて、ある時間期間における異常活動の百分位数推定値を表示できるかを示す。
【図１０】図１０は、異常検出プロセスがどのようにして、図８において注目した活動に基づいて、ある時間期間におけるネットワーク上の攻撃の確率を表示できるかを表す。
【図１１】図１１は、開示するプロセスがどのようにして、ある時間期間におけるネットワーク活動の活動を表示できるかを示す。
【図１２】図１２は、開示するプロセスがどのようにして、図１１において注目した活動に基づいて、ある時間期間における異常活動の百分位数推定値を表示できるかについて実証する。
【図１３】図１３は、異常検出プロセスがどのようにして、図１１において注目した活動に基づいて、ある時間期間におけるネットワーク上の攻撃の確率を表示できるかを表示する。
【図１４】図１４は、開示する方法およびシステムがどのようにして、ある時間期間におけるネットワーク活動の活動を表示できるかを表す。
【図１５】図１５は、開示する方法およびシステムがどのようにして、図１４において注目した活動に基づいて、ある時間期間における異常活動の百分位数推定値を表示できるかの一例を示す。
【図１６】図１６は、異常検出プロセスがどのようにして、図１４において注目した活動に基づいて、ある時間期間におけるネットワーク上の攻撃の確率を表示できるかを実証する。
【図１７】図１７は、開示する方法およびシステムがどのようにして、ある時間期間におけるネットワーク活動の活動を表示できるかを表示する。
【図１８】図１８は、異常検出プロセスがどのようにして、図１７において注目した活動に基づいて、ある時間期間における異常活動の百分位数推定値を表示できるかを示す。
【図１９】図１９は、開示するプロセスがどのようにして、図１７において注目した活動に基づいて、ある時間期間におけるネットワーク上の攻撃の確率を表示できるかを指摘する。
【図２０】図２０は、開示する方法およびシステムがどのようにして、ある時間期間におけるネットワーク活動の活動を表示できるかを表示する。
【図２１】図２１は、異常検出プロセスがどのようにして、図２０において注目した活動に基づいて、ある時間期間における異常活動の百分位数推定値を表示できるかを示す。
【図２２】図２２は、異常検出プロセスがどのようにして、図２０において注目した活動に基づいて、ある時間期間におけるネットワーク上の攻撃の確率を表示できるかの一例を示す。
【図２３】図２３は、開示するプロセスがどのようにして、ある時間期間におけるネットワーク活動の活動を表示できるかを実証する。
【図２４】図２４は、開示するプロセスがどのようにして、図２３において注目した活動に基づいて、ある時間期間における異常活動の百分位数推定値を表示できるかを表示する。
【図２５】図２５は、開示する方法およびシステムがどのようにして、図２３において注目した活動に基づいて、ある時間期間におけるネットワーク上の攻撃の確率を表示できるかを示す。
【発明を実施するための形態】
【００１７】
あるシステム環境を特定的に参照しながら説明するが、特許請求する主題は、複数の情報技術（ＩＴ）システムにおいて実現することができる。電子通信の当業者は、開示する実施形態は、以下で説明するこれらの具体例に加えて、様々な方法で実現できることを認めよう。加えて、開示する主題の方法は、種々のソフトウェアおよびハードウェアの組み合わせを用いて実施することができる。ハードウェア部分は、特殊ロジックを用いて実施することができ、ソフトウェア部分はメモリに格納し、マイクロプロセッサ、ＰＣまたはメインフレームのような、適した命令実行システムによって実行することができる。
【００１８】
本明細書では、この開示する主題の好ましい実施形態について、開示する主題を実行するための、本発明者に分かっている最良の態様を含めて説明する。これら好ましい実施形態の変形は、以上の記載を読めば、当業者には明確になると考えられる。
【００１９】
ネットワーク計算システムは、通例、種々のコンピュータ読み取り可能媒体を含む。コンピュータ読み取り可能媒体は、計算システムがアクセスできる媒体であって、入手可能なものであればいずれでもよく、揮発性および不揮発性双方の媒体、ならびにリムーバブルおよび非リムーバブル媒体を含む。一例として、そして限定ではなく、コンピュータ読み取り可能媒体は、コンピュータ記憶媒体および通信媒体を含むことができる。コンピュータ記憶媒体は、揮発性および不揮発性、リムーバブルおよび非リムーバブル媒体を含み、コンピュータ読み取り可能命令、データ構造、プログラム・モジュール、またはその他のデータというような情報の格納のためのいずれの方法または技術でも実現できる。コンピュータ・メモリは、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュ・メモリ、またはその他のメモリ技術、ＣＤ−ＲＯＭ、ディジタル・バーサタイル・ディスク（ＤＶＤ）またはその他の光ディスク・ストレージ、磁気カセット、磁気テープ、磁気ディスク・ストレージまたはその他の磁気記憶デバイス、あるいは所望の情報を格納するために用いることができ計算システムによってアクセスすることができるのであれば他のいずれの媒体をも含むが、これらに限定されるのではない。
【００２０】
本開示は、ネットワーク活動を監視することによりネットワーク・ステータスを判定できるプロセスを提供する。ある期間におけるネットワークに対する統計に基づくプロファイルを生成して、潜在的に異常なネットワーク活動を分析し、現在の活動をプロファイルと比較することによって、ネットワーク活動が異常か否か判定する。プロファイルを基準として用いて、本プロセスは、確率に基づいて、潜在的に異常なネットワーク活動を推定し優先度を付けることができる。異常検出プロセスが、アラームを必要とするか否か判断するために用いる確率のレベルは、ユーザが修正可能な閾値に基づく。閾値が破られているのに、他の品質チェックが満たされる場合、ユーザに警報する。報告サイクルが終了した後、開示するプロセスは、プロファイルおよび非固定閾値に基づいて、以前の報告サイクルにおいて観察した情報を考慮に入れるように、統計を編集し直す。
【００２１】
図１に示す方法、本方法は、３つの主要ステップ、検出１０、分析１２、ならびに相関付けおよび警報１４を有する。検出ステップ１０において、登録ステップ１６が行われ、この後に時系列発生ステップ１８となる。分析ステップ１２は、３つの機能、任意の原点移動ステップ２０、百分位数決定ステップ２２、および閾値比較ステップ２４を含む。次いで、相関付けおよび警報ステップ１４において、相関付けステップ２６および警報ステップ２８の双方を行う。
【００２２】
本プロセスは、予め定めた時間間隔で周期的に開始する。定められた各検出器１０は、更なる分析のために、１組の被監視エンティティを登録する。検出器は、送信データのレベルからネットワークにおける処理時間まで、種々のネットワーク性能計量値についてクエリを実行することができる。検出器の一例では、ホストからのボリュームを監視するものを含む。このような検出器では、１つのＩＰアドレスから発生する高レベルの活動を検出することができる。この活動が、確定したパラメータを外れる場合、このイベントを分析のために登録する（１６）。登録プロセスが、ある時間にわたって集計した計量値を評価する際、分析プロセスは個々の測定値を時系列として試験する。次いで、この情報は異常発見セクション１２に移る。加えて、開示するプロセスの一実施形態では、他のネットワーク・ツールによる使用のために、この情報を第３コンポーネントに転送することもできる。
【００２３】
異常検出１２の間、開示する方法およびシステムは、測定値を履歴コンテキストに入れて、観察した値の流れの分布を、正常および異常挙動を記述する確率分布と比較する。ベイズの法則と共にこれらの確率分布を用いて、一連のデータ点が異常を表す尤度を計算する。
【００２４】
このプロセスは、開始すると、百分位数推定技法を用いて、データ点を履歴コンテキストに入れる。百分位数を推定するには、データ点の自己調節ヒストグラムを構築し、これを用いて、所与の点よりも上および下に来る履歴点がいくつあるか判断する。
【００２５】
具体的には、ヒストグラムＨを、１組のカテゴリＣ１．．．Ｃｎと定義する。各カテゴリは、４つのデータ項目を収容する。即ち、下位境界ＢＬ、上位境界ＢＵ、試験して上位および下位限界の範囲内に納まった項目の個数Ｔ、ならびにこれらの項目の平均Ａである。表記上、カテゴリの中にあるデータ項目は、括弧に入れたカテゴリを付けて示すこととする。例えば、Ｔ（Ｃ１）は、カテゴリＣ１の中にある項目の個数を示す。
【００２６】
このヒストグラムを構築する際、２つのカテゴリから開始する。１つは、最少可能値から期待平均まで、もう１つは期待平均から最大可能値までである。期待平均の正当な推定値が得られない場合、いずれの数値でもよい。期待平均値の相応しい推定値が得られれば、アルゴリズムはより良い推定値をより早く提供することができる。
【００２７】
データ点Ｘが到達すると、そのカテゴリＣを決定し、対応する個数Ｔ（Ｃ）を増分し、次のように、平均を計算し直す。
【数１】
2010531553.tif 000002
１つのカテゴリにおける個数のヒストグラム（Ｔ（Ｃ）／ΣＣεCategoriesＴ（Ｃ））における項目の総数に対する比が、本実施形態では（１／バケットの最大数）である閾値を超過するとき、カテゴリを２つの新しいカテゴリに分割する。１つは現在の最小値ＢＬ（Ｃ）から平均Ａ（Ｃ）まで、もう１つは平均Ａ（Ｃ）から現在の最大値ＢＵ（Ｃ）までである。現カテゴリにおける個数Ｔ（Ｃ）を２つの新しいカテゴリに跨って等しく分割し、（１／４×Ａ（Ｃ）および（３／４×Ａ（Ｃ））としてそれぞれ平均を推定する。
【００２８】
分割後にカテゴリの最大数を超過した場合、分割を行う前に、既存のカテゴリの内２つを再度組み合わせる必要があり、その再度の組み合わせの結果、分布が一層均一になればよい。そうでなければ、分割を延期する。これを行うには、個数の最低和を有する２つの連続するカテゴリを発見する。
【００２９】
次いで、所与のデータ点Ｘの百分位数を、上位境界がＸ未満である全てのカテゴリにおける個数の、全てのカテゴリにおける項目の総数と、Ｘが以下の式に該当するカテゴリにおける項目の個数の比例百分率との和に対する比率として推定することができる。
【数２】
2010531553.tif 000003
ここで、ＣＸは、上位境界がＸよりも大きく、下位境界がＸよりも小さいカテゴリである。
【００３０】
データ集合のｎ番目の百分位数の値は、次のようにして推定することができる。ｐを、（ｎ／１００）＊ΣＣεCategoriesＴ（Ｃ）とする。これは、全てのデータ点を整列した列における、ｎ番目の百分位数の位置である。次に、各カテゴリ内の項目の個数の加算を、最初の項目から始めて、この和に次のカテゴリにおける個数を加えた値が、総個数のｎパーセントを超過するまで行うことによって、このデータ点を収容するカテゴリを発見する。ｉは、最後に加算したカテゴリのインデックスを示し、ｑはカテゴリｉまでを含む各カテゴリにおける個数Ｔ（Ｃ）の和を示すとする。
カテゴリｉ内またはカテゴリｉに先立つ全てのデータ点は、ｎ番目の百分位数よりも小さいことが分かる。次いで、ｎ番目の百分位数は、カテゴリｉ＋１の上位および下位境界の間のどこかにある。次いで、これを次のように推定する。
【数３】
2010531553.tif 000004
百分位数またはその何らかの関数に関して、確率塊関数(probability mass function)を書く(author)ことができる。実施形態の一例では、百分位数自体を修正せずに用いる。別の実施形態では、実際の計量値の９０番目または５０番目の百分位数に対する比率を用いる。いずれの場合でも、百分位数の使用によって、特定の計量範囲または被監視エンティティに関して正規化され、したがってその全てにまたがって適用される確率塊関数の記述が可能となる。
このような確率塊関数は、ベイズの法則と共に用いると、観察したデータ・ポイントのシーケンスが異常を表すか否かの確率を連続的に更新して得ることが可能になる。
【数４】
2010531553.tif 000005
次のように、分母を書き直す。
【数５】
2010531553.tif 000006
Pr(point|anomaly)は、最初の確率塊関数によって求められる。Pr(point|〜anomaly)は、２番目によって求められる。Pr(anomaly)は先験的確率(prior provability)である。
【００３１】
異常の先験的確率、Pr(Anomaly)は、いずれかの所与の時点における異常の尤度を表すパラメータとして開始する。これは、一般的または特定的に、脅威がどのように所定のドメイン・パターンに関係するかについて、脅威の変化レベルを反映するように調節することができる。例えば、アクセス違反に基づくパターンについての先験的確率は、ネットワーク・フローにおけるうねり(surge)を探すパターンについての先験的確率よりも高くなる。第２の例として、ユーザが本日突然生ずるように設定された広範囲に及ぶワーム(worm)のことを知っている場合、Pr(Anomaly)は０．９に設定してもよい。通常の日では、これは０．００１のようになる方が多いかもしれない。いずれの所与の分(minute)においても異常下にない確率は、単なる補数となる。即ち、Pr(〜Anomaly)=1-Pr(Anomaly)となる。
【００３２】
新たなデータ点が観察される毎に、異常の先験的確率は前述の式の直前の出力に設定される。この結果、観察されたデータ点全てが求められ、異常の確率の推定値が連続的に更新される。
【数６】
2010531553.tif 000007
【００３３】
ネットワーク活動を長期間観察した後、このような推定値は、実際の異常に対していくらか遅れて応答する。何故なら、異常の先験的確率は、長期間の正常活動によって極度に低くされているからである。この応答性は、有限時間枠において活動を観察することによって改善することができる。これを遂行するには、最後のｎ個の異常確率推定値を格納すればよい。新たなデータ点が入来する毎に、最も古いデータ点の寄与を先験的確率から分離する。現実施態様は、２つの枠を用い、いずれの枠でも、またはそれらの代数的組み合わせを見ることもできる。
【００３４】
ベイズの法則を使用する際における別の実証できることは、それによって発生する値が個別に観察者によって理解できることである。他のプログラムによって値を処理することや、値を他の値と比較することは不要である。１つの値によって、観察者はコンテキストにおける問題を理解する。同様の値は、別の手段によって発生することもできる。
【００３５】
一旦更新した異常の確率を計算したなら、これを閾値と比較する。閾値は、分析対象のパターンおよびユーザの危険許容度の関数である。確率が閾値よりも上であり、その他の数個の品質計量を満たす場合、異常と見なされる。この手法を、先に述べた確率塊関数の柔軟性と共に用いることにより、システムは発生し得る(actionable)異常のみを通知することができる。
【００３６】
開示する方法およびシステムの別の態様は、開示するプロセスがどのように異常を検出するかということから由来する。前述のように、異常検出プロセスは、変化するパラメータ集合から外れるイベントを探すのに対して、典型的な異常検出器は特定の痕跡(signature)を探す。他の検出器は痕跡を探すので、これらは、定めた痕跡を外れる新たな脅威に備えるためには、定期的な更新を受けなければならない。予測した規範を外れるイベントを探すことができれば、付随する痕跡を必要とせずに、新たな脅威を特定することができる。
【００３７】
ネットワーク異常を検出するために多数のパラメータを用いるツールとは異なり、この開示する方法およびシステムは、統計的プロファイルによって動かされる、１つのパラメータのみ、即ち、確率を用いる。百分率に変換することができるいずれの入力も、開示する方法およびシステムによって評価することができる。
【００３８】
また、異常検出プロセスは、他のリソースの使用効果を高めることも考慮している。一旦異常検出プロセスが異常を検出すると、ＩＤＳは、異常がＩＤＳに到達／伝搬するのを待っているのではなく、その異常を見るように指令することができる。ＩＰフローに関して説明したが、開示するプロセスは、観察の範囲をＩＰフローに限定する必要はなく、データベース、他のネットワーク・リソース、あるいは百分位数で表すことができるのであればいずれのデータ（天候、交通パターン等）でも監視することができる。
【００３９】
実施形態例の有効性および独自性の別の例として、アクセス制御リスト（「ＡＣＬ」）を利用する１つのネットワーク項目について考察する。ＡＣＬは、許可のリストである。リソースが特定の機能を実行したいとき、リソースおよび機能はＡＣＬ上になければならず、そうでなければ、リソースをその機能を実行することを許されない。例えば、ジョー(Joe)（リソース）がファイルをサーバに送りたい場合（機能）、ジョーは、ネットワーク・パケットをそのサーバに送ることを許可されているとして、ＡＣＬの中になければならない。ジョーがＡＣＬ上にない機能を試そうとすると、ジョーの接続は終了させられる。異常検出プロセスは、異常か否か評価するために、多数の終了させられた接続があるか否か判断することができる。この情報はファイアウオールの記録を通じて求めることができるが、このような情報は入手するのが難しく、各終了を別個の警報としてリストを作成することによって、多数の擬陽性を生ずる虞れがある。開示するプロセスであれば、異常があったときに警報を送るだけでよく、これによって警報の回数や擬陽性の数が減少する。
【００４０】
開示するプロセスの実施形態例における別の特徴は、原点移動である。このプロセスは、百分位数計算の前に計量に適用することができる。典型的なネットワーク活動は、時間の関数として変動する。ネットワークは、業務時間中は業務時間後よりも活動が多く、週末よりも通常日の方が活動が多いと考えられる。時間全体に対する１つの固定した閾値や、所定の時点に活性化する多数の閾値であっても、狭い個々の変化には対処できない。閾値を決定する方法の中には、規則的な間隔で自動的に再較正することができるものもあるが、ネットワーク・リソースのかなりの使用を伴う。開示するプロセスは、ネットワーク活動の全体的な傾向を観察し、アルゴリズムに基づいて閾値を調節する。この手法には様々な便益があり、通例循環的であるネットワーク計量を扱うこと、攻撃者が検出を最少にするように彼らの攻撃の時刻を設定するのを妨げることが含まれる。この特徴は、開示する方法およびシステムの有効利用のための随意選択肢である。
【００４１】
一旦異常が発見されると、相関付けおよび警報ステップ１４が行われる。異常検出プロセスは、挙動を見て、観察が特性を多くのネットワーク問題に共通な特性と共有するか否か判断する（２６）。問題があると思われる場合、ユーザに警報する（２８）。
【００４２】
また、相関付けによって、関連する異常の集計も可能になる。個々の異常では、警報を誘起するには不十分である場合もあるが、数個の比較的小さな異常を一緒に合わせると、それらよりも深刻な問題が示される可能性がある。例えば、些細なファン・アウト(fan out)事故では、確実に警報を出すまでにはならない場合もあり、ＡＣＬ違反が攻撃レベルまで上昇することはない場合もあるが、これらを組み合わせると、攻撃または別の問題が示される可能性がある。
【００４３】
異常検出プロセスは、隔離して動作する必要はない。開示する方法およびシステムは、他の検出方法およびデバイスと通信すれば、一層効果的となることができる。開示するプロセスは、他の検出器に関する具体的な情報を取り込み、検出器を一層効果的に用いるために、カスタム化した出力を作成することができる。
【００４４】
前述の実施形態例は、異常検出プロセスがネットワークのステータスをユーザに図示することができる種々の方法を示した。図３は、検出器の１つを、５時間のネットワーク・データに対して動作させたときの結果を示す（１分の粒度で概略的に示す）。また、図３は、生の計量値、フレームワークによって推定した百分位数も、２つの枠で規定した異常確率と共に示す。
【００４５】
図４は、ＩＰファンアウト検出器の結果を示し、システムが、擬陽性を知らせることなく、異常な変化に素早く反応できることを強調する。
【００４６】
図５から図２６までは、７つのインターフェースについて、どのようにして１日から１分データの暫定的結果を収集したかの個々の画面を示す。入手可能なのが１日だけであるので、以前の日における同じ時間ではなく、その日の残りにしたがって百分位数を推定した。これによって、忙しい時間帯における攻撃確率の推定値が上昇するが、他の方法ではこのようにはならないであろう。
【００４７】
また、表示は、ネットワークのアクセス可能性を表すために、レーダ・プロットを用いることもできる。一実施形態では、表示は、トンネルの形態をなす表現を用いて、ネットワークのアクセス可能性を表現する。トンネルが広い程、ネットワークが扱うことができるトラフィックは増大する。表示は、空白画面から始めることができる。ネットワークの使用および異常によって生ずる制約が増える程、空白の空間は抑えられていく。これによって、どれくらいのトラフィックをネットワークが扱うことができるか、および／またはどれくらいの異常（およびその厳しさ）が起こっているか、グラフィック表示するための直観的インターフェースを提供する。可視化を補助するために、異常の確実度を色で符号化することもできる。例えば、異常の高い確率を赤で表示することができる。表示は、時間、検出器、ホスト、またはその他いずれの形式の識別子でも表すことができる。
【００４８】
刊行物、特許出願、および特許を含む、本明細書において引用した全ての参考文献は、各参考文献が個別にそして具体的に、本明細書において引用したことにより本願にも含まれ、その全体が本明細書において明記された場合と同様に、引用によって本願にも含まれるものとする。
【００４９】
開示した主題は、コンピュータによって実行するプログラム・モジュールのような、コンピュータ実行可能命令の一般的なコンテキストで記載することができる。一般に、プログラム・モジュールは、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含み、特定のタスクを実行するか、または特定の抽象的データ・タイプを実装する。開示した主題は、分散型コンピューティング環境でも実用化することができ、その場合、通信ネットワークを通じてリンクされたリモート処理デバイスによってタスクを実行する。分散型コンピューティング環境では、プログラム・モジュールは、メモリ記憶デバイスを含むローカルおよび／またはリモート・コンピュータ記憶媒体に配置してもよい。
【００５０】
添付図面と関連付けて以下に明記する詳細な説明は、ここで開示したプロセスを実用化することができる実施形態例の説明であることを意図している。この説明全体において、「一例の」という用語を用いる場合、「一例、実例、または例示としての役割を果たす」ことを意味し、必ずしも他の実施形態よりも好ましいまたは有利であると解釈すべきではない。詳細な説明は、ここに開示した方法およびシステムの完全な理解を得るための具体的な詳細を含む。しかしながら、ここに開示したプロセスは、このような具体的な詳細がなくても実用化できることは当業者には明白であろう。場合によっては、周知の構造およびデバイスは、ここに開示した方法およびシステムの概念を曖昧にするのを避けるために、ブロック図形態で示すこともある。
【００５１】
以上、本明細書において、例示的な実施形態を参照しながら、本異常検出プロセスについて詳細に説明したが、この説明は一例に過ぎず、限定的な意味で解釈すべきでないことは言うまでもない。したがって、この開示したプロセスの実施形態の詳細における多数の変更、およびこの異常検出プロセスの更に別の実施形態も当業者には明白であり、当業者がこの説明を参照することにより実施できることも言うまでもない。尚、このような変更および更に別の実施形態は全て、以下に特許請求する、この開示した方法およびシステムの主旨および真の範囲に該当するものとする。
【図２】
2010531553.tif 000008
【図１】
2010531553.tif 000009
【図３】
2010531553.tif 000010
【図４】
2010531553.tif 000011
【図５】
2010531553.tif 000012
【図６】
2010531553.tif 000013
【図７】
2010531553.tif 000014
【図８】
2010531553.tif 000015
【図９】
2010531553.tif 000016
【図１０】
2010531553.tif 000017
【図１１】
2010531553.tif 000018
【図１２】
2010531553.tif 000019
【図１３】
2010531553.tif 000020
【図１４】
2010531553.tif 000021
【図１５】
2010531553.tif 000022
【図１６】
2010531553.tif 000023
【図１７】
2010531553.tif 000024
【図１８】
2010531553.tif 000025
【図１９】
2010531553.tif 000026
【図２０】
2010531553.tif 000027
【図２１】
2010531553.tif 000028
【図２２】
2010531553.tif 000029
【図２３】
2010531553.tif 000030
【図２４】
2010531553.tif 000031
【図２５】
2010531553.tif 000032
【国際調査報告】
2010531553.tif 000033