(57)【特許請求の範囲】
【請求項１】
コンピュータプロセッサが、一つの環境におけるイベントに関するデータを受け取るステップであり、前記データは、前記イベントの中に組み込まれたエージェント、前記イベントのタイプ、および、前記イベントの発生回数を含んでいる、ステップと、
前記コンピュータプロセッサが、前記イベントに関する前記データを使用して、非テンプレートベースのダイナミック確率論的ネットワークをプロアクティブでリアルタイムに作成するステップであり、前記ダイナミック確率論的ネットワークはスーパーノードを含み、各スーパーノードはローカルノードを含み、かつ、前記ローカルノードは前記エージェントを含み、
前記ダイナミック確率論的ネットワークは、前記スーパーノードと前記ローカルノードとの間における接続を含み、前記接続は、前記スーパーノードと前記ローカルノードに関するイベントを含み、
前記スーパーノードと前記ローカルノードとの間の前記接続の強度は、前記スーパーノードと前記ローカルノードについて共通であるイベントの数の関数である、
ステップと、
前記コンピュータプロセッサが、前記エージェントが時間期間にわたりインタラクションする際に、前記スーパーノードと前記ローカルノードとの間で前記接続を作成し、そして、壊すステップと、
前記コンピュータプロセッサが、前記スーパーノードと前記ローカルノードが共通に有するイベントの数の変化の関数として、前記スーパーノードと前記ローカルノードとの間の前記接続の強度を増加させ、そして、減少させるステップと、
前記コンピュータプロセッサが、前記ダイナミック確率論的ネットワークについて、定期的に不安定性メトリックを計算するステップと、
前記コンピュータプロセッサが、前記不安定性メトリックからの偏差に基づいて、出現しつつあるグループの脅威の挙動をプロアクティブでリアルタイムに検出するステップと、
を含み、
前記出現しつつあるグループの脅威の挙動は、前記確率論的ネットワークの平衡ベクトルからの距離を計算することによって、前記距離が所定の閾値を超える場合にリアルタイムに検出され、
前記コンピュータプロセッサが、前記不安定性メトリックを計算するステップは、
前記コンピュータプロセッサが、前記ダイナミック確率論的ネットワークのコンフィグレーションを決定するステップであり、前記コンフィグレーションは、アクティブなエージェントの数、および、前記エージェントが関連付けされたイベントの数とイベントのタイプ、を含む、ステップと、
前記コンピュータプロセッサが、前記エージェントと関連付けされたイベントの持続時間を決定するステップと、
前記コンピュータプロセッサが、前記スーパーノードの中のエージェントの他のスーパーノードに対する接続を決定するステップと、
を含む、
方法。
【請求項２】
前記コンピュータプロセッサが、不安定性メトリックについて定期的に指数的移動平均を計算するステップと、
前記コンピュータプロセッサが、前記不安定性メトリックの前記指数的移動平均からの偏差を検出することによって、前記出現しつつあるグループの脅威の挙動を検出するステップと、
を含む、請求項１に記載の方法。
【請求項３】
前記ダイナミック確率論的ネットワークは、動的に変化するネットワークコンフィグレーションを含む、
請求項１に記載の方法。
【請求項４】
各スーパーノードは、特定のタイプのインテリジェンスデータソースのイベントおよびエージェントを含む、
請求項１に記載の方法。
【請求項５】
前記インテリジェンスデータソースは、電子信号インテリジェンス（ELINT）、通信インテリジェンス（COMINT）、画像インテリジェンス（IMINT）、地理的インテリジェンス（GEOINT）、および、人的インテリジェンス（HUMINT）、を含む信号インテリジェンスのうち一つまたはそれ以上を含んでいる、
請求項４に記載の方法。
【請求項６】
各スーパーノードは、複数の密集して接続されたローカルノードとしてモデル化されている、
請求項１に記載の方法。
【請求項７】
前記コンピュータプロセッサが、前記ダイナミック確率論的ネットワークの経験的分布に近似しており、かつ、計算されたベクトル場に対応している、一式の常微分方程式の差異を計算するステップと、
を含む、請求項１に記載の方法。
【請求項８】
前記コンピュータプロセッサが、前記ベクトル場に係る差異の大きさを決定するステップと、
前記計算されたベクトル場がゼロに近い場合に、前記コンピュータプロセッサが、前記ダイナミック確率論的ネットワークが安定であると判断するステップと、
前記計算されたベクトル場がゼロから離れる傾向にあり、かつ、閾値より大きい場合に、前記コンピュータプロセッサが、前記ダイナミック確率論的ネットワークが不安定であると判断するステップと、
前記ダイナミック確率論的ネットワークが不安定である場合に、前記コンピュータプロセッサが、前記ダイナミック確率論的ネットワークが不安定であることを報告するアラートを送信するステップと、
を含む、請求項７に記載の方法。
【請求項９】
前記コンピュータプロセッサが、前記ダイナミック確率論的ネットワークの不安定性に対する特定のエージェントの寄与を決定するステップと、
を含む、請求項８に記載の方法。
【請求項１０】
前記不安定性メトリックの計算は、平衡安定性インデックスの計算を含み、
前記平衡安定性インデックスの計算は、
前記コンピュータプロセッサが、ベクトル場を計算するステップと、
前記コンピュータプロセッサが、前記ベクトル場における変化率の絶対値の指数的移動平均を計算するステップと、
を含む、請求項１に記載の方法。
【請求項１１】
前記ダイナミック確率論的ネットワークは、前記スーパーノード間での接続を含み、かつ、前記スーパーノード間での前記接続は、インテリジェンスデータの異なるソース間でのイベントとエージェントとの間の関係を含んでいる、
請求項１に記載の方法。
【請求項１２】
ハードウェアのコンピュータプロセッサを含むシステムであって、
前記コンピュータプロセッサは、
一つの環境におけるイベントに関するデータを受け取り、前記データは、前記イベントの中に組み込まれたエージェント、前記イベントのタイプ、および、前記イベントの発生回数を含んでおり、
前記イベントに関する前記データを使用して、非テンプレートベースのダイナミック確率論的ネットワークをプロアクティブでリアルタイムに作成し、前記ダイナミック確率論的ネットワークはスーパーノードを含み、各スーパーノードはローカルノードを含み、かつ、前記ローカルノードは前記エージェントを含み、
前記ダイナミック確率論的ネットワークは、前記スーパーノードと前記ローカルノードとの間における接続を含み、前記接続は、前記スーパーノードと前記ローカルノードに関するイベントを含み、かつ、
前記スーパーノードと前記ローカルノードとの間の前記接続の強度は、前記スーパーノードと前記ローカルノードについて共通であるイベントの数の関数であり、
前記エージェントが時間期間にわたりインタラクションする際に、前記スーパーノードと前記ローカルノードとの間で前記接続を作成し、そして、壊し、
前記スーパーノードと前記ローカルノードが共通に有するイベントの数の変化の関数として、前記スーパーノードと前記ローカルノードとの間の前記接続の強度を増加させ、そして、減少させ、
前記ダイナミック確率論的ネットワークについて、定期的に不安定性メトリックを計算し、
前記不安定性メトリックからの偏差に基づいて、リアルタイムな出現しつつあるグループの脅威の挙動をプロアクティブでリアルタイムに検出する、
ように構成されており、
前記出現しつつあるグループの脅威の挙動は、前記確率論的ネットワークの平衡ベクトルからの距離を計算することによって、前記距離が所定の閾値を超える場合にリアルタイムに検出され、
前記ハードウェアのコンピュータプロセッサは、
前記不安定性メトリックを、
前記ダイナミック確率論的ネットワークのコンフィグレーションを決定し、前記コンフィグレーションは、アクティブなエージェントの数、および、前記エージェントが関連付けされたイベントの数とイベントのタイプ、を含み、
前記エージェントと関連付けされたイベントの持続時間を決定し、かつ、
前記スーパーノードの中のエージェントの他のスーパーノードに対する接続を決定する、
ことによって、計算するように構成されている、
システム。
【請求項１３】
前記ハードウェアのコンピュータプロセッサは、
不安定性メトリックについて定期的に指数的移動平均を計算し、かつ、
前記不安定性メトリックの前記指数的移動平均からの偏差を検出することによって、前記出現しつつあるグループの脅威の挙動を検出する、
ように構成されている、請求項１２に記載のシステム。
【請求項１４】
前記ハードウェアのコンピュータプロセッサは、
前記ダイナミック確率論的ネットワークの経験的分布に近似しており、かつ、計算されたベクトル場に対応している、一式の常微分方程式の差異を計算し、
前記ベクトル場に係る差異の大きさを決定し、
前記計算されたベクトル場がゼロに近い場合に、前記ダイナミック確率論的ネットワークが安定であると判断し、
前記計算されたベクトル場がゼロから離れる傾向にあり、かつ、閾値より大きい場合に、前記ダイナミック確率論的ネットワークが不安定であると判断し、
前記ダイナミック確率論的ネットワークが不安定である場合に、前記ダイナミック確率論的ネットワークが不安定であることを報告し、かつ、
前記ダイナミック確率論的ネットワークの不安定性に対する特定のエージェントの寄与を決定する、
ように構成されている、請求項１２に記載のシステム。
【請求項１５】
インストラクションを含むコンピュータで読取り可能な記憶媒体であって、プロセッサによって前記インストラクションが実行されると、
一つの環境におけるイベントに関するデータを受け取るステップであり、前記データは、前記イベントの中に組み込まれたエージェント、前記イベントのタイプ、および、前記イベントの発生回数を含んでいる、ステップと、
前記イベントに関する前記データを使用して、非テンプレートベースのダイナミック確率論的ネットワークをプロアクティブでリアルタイムに作成するステップであり、前記ダイナミック確率論的ネットワークはスーパーノードを含み、各スーパーノードはローカルノードを含み、かつ、前記ローカルノードは前記エージェントを含み、
前記ダイナミック確率論的ネットワークは、前記スーパーノードと前記ローカルノードとの間における接続を含み、前記接続は、前記スーパーノードと前記ローカルノードに関するイベントを含み、
前記スーパーノードと前記ローカルノードとの間の前記接続の強度は、前記スーパーノードと前記ローカルノードについて共通であるイベントの数の関数である、
ステップと、
前記エージェントが時間期間にわたりインタラクションする際に、前記スーパーノードと前記ローカルノードとの間で前記接続を作成し、そして、壊すステップと、
前記スーパーノードと前記ローカルノードが共通に有するイベントの数の変化の関数として、前記スーパーノードと前記ローカルノードとの間の前記接続の強度を増加させ、そして、減少させるステップと、
前記ダイナミック確率論的ネットワークについて、定期的に不安定性メトリックを計算するステップと、
前記不安定性メトリックからの偏差に基づいて、リアルタイムな出現しつつあるグループの脅威の挙動をプロアクティブでリアルタイムに検出するステップと、
を含む方法を実施し、
前記出現しつつあるグループの脅威の挙動は、前記確率論的ネットワークの平衡ベクトルからの距離を計算することによって、前記距離が所定の閾値を超える場合にリアルタイムに検出され、
前記インストラクションにおける前記不安定性メトリックを計算するステップは、
前記ダイナミック確率論的ネットワークのコンフィグレーションを決定するステップであり、前記コンフィグレーションは、アクティブなエージェントの数、および、前記エージェントが関連付けされたイベントの数とイベントのタイプ、を含む、ステップと、
前記エージェントと関連付けされたイベントの持続時間を決定するステップと、
前記スーパーノードの中のエージェントの他のスーパーノードに対する接続を決定するステップと、
を含む、
コンピュータで読取り可能な記憶媒体。
【請求項１６】
前記インストラクションは、
不安定性メトリックについて定期的に指数的移動平均を計算するステップと、
前記不安定性メトリックの前記指数的移動平均からの偏差を検出することによって、前記出現しつつあるグループの脅威の挙動を検出するステップと、
を含む、請求項１５に記載のコンピュータで読取り可能な記憶媒体。
【請求項１７】
前記インストラクションは、
前記ダイナミック確率論的ネットワークの経験的分布に近似しており、かつ、計算されたベクトル場に対応している、一式の常微分方程式の差異を計算するステップと、
前記ベクトル場に係る差異の大きさを決定するステップと、
前記計算されたベクトル場がゼロに近い場合に、前記ダイナミック確率論的ネットワークが安定であると判断するステップと、
前記計算されたベクトル場がゼロから離れる傾向にあり、かつ、閾値より大きい場合に、前記ダイナミック確率論的ネットワークが不安定であると判断するステップと、
前記ダイナミック確率論的ネットワークが不安定である場合に、前記ダイナミック確率論的ネットワークが不安定であることを報告するアラートを送信するステップと、
前記ダイナミック確率論的ネットワークの不安定性に対する特定のエージェントの寄与を決定するステップと、
を含む、請求項１５に記載のコンピュータで読取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、出現しつつある脅威のプロアクティブな検出のためのシステムおよび方法に関する。
【０００２】
優先権の主張
本出願は、2015年2月24日に出願された米国特許出願第14/629795号に対する優先権の利益を主張するものであり、ここにおいて、その全体が参照により包含されている。
【０００３】
政府の権利
本発明は、米国政府の支援によってなされたものではない。米国政府は、本発明においていかなる権利も有していない。
【背景技術】
【０００４】
2013年のボストンマラソン爆撃のような攻撃の後、アナリストは、攻撃への動き始めとなるもの（what  led  up  to  the  attack）を理解するために、膨大な量のデータを厳密に調べている。このインテリジェンス（intelligence）から、アナリストは、同様の攻撃が再び発生するのを防止するための予防措置を提案している。その後の2014年のボストンマラソンについて、このことは、圧力鍋（pressure  cookers）および持主の無いバックパック（unattended  backpacks）に対する警戒にセキュリティが課されたことを意味した。このアプローチに伴う問題は、敵は、創造的であり、かつ、毎日即興的に動いていることである。攻撃者にとって、同じ攻撃方法を繰り返すことはまれである。代わりに、彼らは、新しい方法を使用するものである。結果として、挙動（behaviors）が、単にあまりにも多様であり、それぞれの可能性を説明するようにエキスパートシステムを訓練することができない。しかしながら、攻撃への動き始めである所定の一般的な挙動は、共通している。プランニングおよび攻撃者間での通信、といったものである。将来において攻撃が発生するのを防ぐためには、出現しつつある脅威（emerging  threats）を厳重にモニタし、かつ、発生する前に攻撃を止めさせるように、オペレータをアラート（alert）する、プロアクティブ（proactive）なリアルタイムの分析ツールの必要性が存在している
【０００５】
そうした攻撃に対処するための従来の試みは、Raytheon社のIntersent  SentryTMおよびEarthBaseTM、または、IBM社のSPSS(R)といったツールからなるものである。これらのツールは、リアルタイムではなく、オフラインのフォレンシック分析（forensic  analysis）だけをサポートしている。それらは、リアルタイムにプロアクティブな分析を行う能力を有していない。予測分析（predictive  analytics）について現在使用されている基礎となる技術は、グラフィカルネットワークとベイズ（Bayes）ネットワークに基づいている。これらの技術は、イベント間の因果関係を条件付き確率の形において獲得する。これは、イベント、イベントタイプ、および、事前に定義されるべき因果関係を必要とする。これは、さらに、イベント及びそれらの因果関係を理解し、かつ、こうした関係を数学的にモデル化することができる特定分野の専門家（domain  expert）を必要とする。一旦モデルが定義されると、大量のデータを用いて訓練される必要がある。データは、事前に収集されることを要し、かつ、実生活を表すものでなければならない。一旦モデルが訓練されると、モデルは固定される。モデルが訓練されたイベントだけを予測できる、ことを意味するものである。
【図面の簡単な説明】
【０００６】
【図１】図１は、出現しつつある脅威のプロアクティブな検出システムに係るダイヤグラムである。
【図２Ａ】図２Ａは、出現しつつある脅威のプロアクティブな検出システムにおけるスーパーノードとローカルノードに係るダイヤグラムの一つの例である。
【図２Ｂ】図２Ｂは、出現しつつある脅威のプロアクティブな検出システムにおけるスーパーノードとローカルノードに係るダイヤグラムの別の例である。
【図３】図３は、出現しつつある脅威のプロアクティブな検出システムにおけるイベントの検出を説明しているグラフである。
【図４Ａ】図４Ａは、出現しつつある脅威のプロアクティブな検出システムの機能と動作を説明しているブロックダイヤグラムである。
【図４Ｂ】図４Ｂは、出現しつつある脅威のプロアクティブな検出システムの機能と動作を説明しているブロックダイヤグラムである。
【図５】図５は、出現しつつある脅威のプロアクティブな検出システムの一つまたはそれ以上の実施例を実行することができるコンピュータシステムのブロックダイヤグラムである。
【発明を実施するための形態】
【０００７】
以下の説明および図面は、当業者が実施できるように特定の実施例を十分に説明している。他の実施例は、構造的、論理的、電気的、プロセス、および、他の変更を取り込んでよい。いくつかの実施例の部分および特徴は、他の実施例の部分および特徴に含まれてよく、または、置き換えられてよい。請求項に示された実施例は、そうした請求項に係る全ての利用可能な均等物を包含するものである。
【０００８】
一つの実施例は、攻撃につながる可能性のある挙動について非テンプレートベース（non-template  based）のプロアクティブなリアルタイム分析を実行するツールであり、そうした挙動が、本格的な攻撃になる以前に、出現しつつある脅威についてアナリストをアラートする（alert）ことができる。本ツールは、イベントが発生すると作成される希薄スーパーノード（sparse  super  nodes）とローカル密集ノード（local  dense  nodes）に係るイベントベースのダイナミック確率論的ネットワーク（dynamic  stochastic  network）を使用する。出現しつつある脅威の挙動の検出は、ネットワークの平衡（equilibrium）からの距離を計算することによってリアルタイムに達成される。本ツールは、監督されるものではない（unsupervised）ので、上記に概説した以前の試みの制限にわずらわされない。そして、本ツールは、前もって新たなイベントを処方する（prescribing）特定分野の専門家（domain  expert）または対象事項の専門家（subject  matter  expert）を要せず新しいイベントに適応することができ、トレーニングデータを収集する必要がなく、かつ、リアルタイムに分析を実行することができる。
【０００９】
図１は、出現しつつある脅威のプロアクティブな検出システムに係るハイレベルのブロックダイヤグラムである。イベント検出器100は、電子的インテリジェンス（ELINT）、画像インテリジェンス（IMINT）、通信インテリジェンス（COMINT）、地理的インテリジェンス（GEOINT）、および、人的インテリジェンス（HUMINT）といった、インテリジェンス収集システム120からの入力を受け取る。システムは、各スーパーノード140の中の希薄に接続されたスーパーノード140および密集して接続されたローカルノード150からなる、ダイナミック確率論的ネットワーク130をリアルタイムに構築する。スーパーノード140は、ELINTまたはCOMINTといった、一つのタイプのインテリジェンスデータソースのイベントおよびエージェント（所定のイベントに関連付けられたアクタ（actors））を表している。スーパーノード140間での希薄な接続（connectivity）は、一つのデータソースから他のデータソースへのイベントとエージェントとの間の関係を表している。スーパーノード140の中のローカルノード150は、エージェントを表しており、かつ、ローカルノード150間での接続（および、接続の厚さ（thickness））は、エージェント間での関係（および、２つのエージェントを接続するイベントの数）を表している。２つのローカルノード150（エージェント）間での関係および接続は、エージェントに関連する共通のイベントに基づいて確立される。スーパーノード140の中のスーパーノード140およびローカルノード150に係るこのネットワークは、アクタが現れ、かつ、消滅し、そして、イベントが発生する際に、動的に構築される。時どき（例えば、周期的な時間であってよい）、ネットワークの平衡ベクトルが計算される。通常の生活パターンについて、この平衡ベクトルはゼロに近い。エージェント及び／又はイベントの数、および、エージェント間での関係において突然の変化が存在する場合、すると、計算された平衡ベクトルはゼロから離れる傾向がある。これは、ゼロベクトルおよび計算された平衡ベクトルからの距離を計算することによって測定される。この計算された距離が所定の閾値を超える場合に、本ツールは、潜在的に出現しつつある脅威および脅迫的な挙動に関連するアクタを注意深くモニタするようにオペレータに注意喚起することができるように、リアルタイムで異常な挙動を適応的に識別する。
【００１０】
希薄スーパーノード140は、全体的（global）または巨視的（macroscopic）な挙動をキャプチャする。スーパーノード140の中のローカル密集ノード150は、ローカルな微視的（microscopic）な挙動をキャプチャする。スーパーノード140の中の各ローカルノード150は、ポアソン過程（Poisson  process）として表わされる。ローカルネットワークは、スーパーノード140に関連するノードまたはエージェントのマルコフジャンププロセス（Markov  jump  process）として表されるスーパーノード140である。グローバルネットワークは、関連するマルコフジャンププロセスとして表わされる。グローバルネットワークは、そのグローバルネットワークの一部である各スーパーノード140と関連するマルコフジャンプ過程のセットとして表わされるスーパーノード140のセットである。
【００１１】
ネットワークの平衡、および、その平衡からの偏差（deviation）は、以下のように決定される。ローカルネットワークにおけるスーパーノードｉは、イベントタイプまたはクラス｛ｃ１、ｃ２、・・・、ｃｋ｝、および、所与の時間におけるアクティブなエージェントまたはノードの数Ｎから構成されている。スーパーノードｉは、また、所与の時間ｔにおいてエージェントまたはノードによって取り扱われる異なるクラスのアクティブなイベントの数から構成されている、χ＝｛ｎ＝（ｎ１、ｎ２、・・・、ｎｋ）｝。スーパーノードｉは、さらに、ノードまたはエージェントｌの確率論的過程から構成されている。時間ｔにおいては、以下のように表わされる。
【数１】
0006419987.tif 000002
（ここに、明細書中の［数１］をカット＆ペーストしてください）
ここで、λｉ、ｋ、ｌは、エージェントｌにおいてスーパーノードｉに入るクラスｋイベントの確率であり、μｉ、ｋ、ｌは、エージェントｌと関連付けされているスーパーノードｉにおけるクラスｋイベントの持続時間であり、そして、γｉ、ｌ、ｊは、スーパーノードｉにおいてそれらに関するイベントによって関連付けられたエージェントｌとｊとの間の関係に係る確率である。スーパーノードｉの確率論的過程は、以下のように表される。
【数２】
0006419987.tif 000003
ここで、‖は、以下のように定義される特性関数である。
【数３】
0006419987.tif 000004
【００１２】
グローバルネットワークは、Ｍ個のスーパーノードから構成されており、そして、時間ｔにおける確率論的過程は以下のように表される。
【数４】
0006419987.tif 000005
スーパーノードｉと関連付けされているイベントのヒストグラムが作成される。スーパーノードについてのヒストグラムおよび確率は、以下のように生成および計算することができる。
【００１３】
最後のヒストグラムからのイベントをタイプごとにまとめ、かつ、全体の履歴を更新することによって、各ノードにおいてノードレベルのまとめが作成される。グローバルレベルにおいては、各ノードのコンフィグレーションについて、各スーパーノードにおいて平衡が計算される（この計算に関連するオペレーションの数は、［Ｏ（Ｍ＊Ｘ＊Ｋ）］である）。
【００１４】
ヒストグラムを使用して、以下の確率が計算される。
λｉ、ｋ、ｌ＝（エージェント１と関連付けられたイベントタイプ１・・・Ｋの数）／（スーパーノードにおける全てのアクティブなエージェントと関連付けられたイベントタイプ１・・・Ｋの総数）
イベントタイプｋの持続時間は、以下のとおりである。
μｉ、ｋ、ｌ＝（エージェント１と関連付けられたイベントタイプｋの持続時間）／（スーパーノードにおける全てのアクティブなエージェントと関連付けられたイベントタイプ１・・・Ｋの全体の持続時間）
スーパーノードｉ−γｉ、ｌ、ｊにおいてそれらに関するイベントによって関連付けられたエージェントｌとｊとの間の関係に係る確率は、上述のような別のヒストグラムを作成することによって、計算することができる。
【００１５】
同様なヒストグラムのアプローチを使用して、関連するイベントに関して２つのスーパーノードｉとｌとの間の接続または関係に係る確率γｉｌは、以下のように計算することができる。
γｉｌ＝（スーパーノードｉとｌとの間のインタラクションの数）／（全てのスーパーノード間でのインタラクションの総数）
ここで、いつオペレータにアラートするかを知るように出現する挙動を検出するために、各データベースまたはインテリジェンスソースにおけるイベントに基づいて、異なるタイプのイベントクラスに関してエージェントを作成することによって、ローカルインスタンス化される。λｉ、ｋ、ｌは、全てのアクティブなエージェントに対して計算され、μｉ、ｋ、ｌは、関連のイベントに関連する全てのアクティブなエージェントｌとｊとの間のインタラクションの数に基づいて計算される。次に、一つのスーパーノードのイベントが他のスーパーノードの中のいくつかのイベントに関連する場合に、それらのスーパーノード間での関係に係る確率γｉｌが計算される。
【００１６】
次に、Ｔ回ステップ毎（例えば、５または１０回）に、生成されたネットワークの平衡が、以下の式を使用して計算される。
【数５】
0006419987.tif 000006
ここで、ｆｉ、ｎ（.）は、以下のとおりである。
【数６】
0006419987.tif 000007
【００１７】
生成されたネットワークの平衡の上記の計算において、ｅｋは、ｋ番目の単位ベクトル（unit  vector）を表しており、k番目のコンポーネントにおいて１、その他のところではゼロである。表記ｍ＋ｅｋは、ｎｋを１だけインクリメントすることによって得られるコンフィグレーションを示している。この平衡ベクトルはゼロに近いものである。それ以降、システムは、エージェント、イベント、または、それらに関するイベントのセットがネットワークに含まれるか、またはネットワークから除外されるときに、一つの平衡から別の平衡への移行を探す。ゼロに近い平衡ベクトルからのあらゆる鋭い偏差は、可能性のある脅威となる挙動を示すものである。この偏差は、オペレータがアラートされるべき信号であり得る。
【００１８】
偏差は、平衡安定性インデックス（Equilibrium  Stability  Index）を介して計算することができる。平衡安定性インデックスは、以下のように、平衡ベクトルの大きさにおける変化率の絶対値の指数的移動平均をとることによって計算される。
【数７】
0006419987.tif 000008
上式において、ＥＳＩｔは、時間ｔにおける平衡安定性インデックスであり、そして、Ｅｔは、時間ｔにおける平衡ベクトルの大きさｆ（.）である。
【数８】
0006419987.tif 000009
係数αは、過去の重み付けの程度を表しており、０と１との間の一定の平滑化係数（smoothing  factor）である。より高いαは、より古い観察をより速くディスカウント（discount）する。検出は、ESIが閾値を超えた場合に観察される（例えば、一つのシナリオについて、５秒のサンプリングレートを用いて０．１に設定され得る）。Ｅｔは、ネットワーク平衡の大きさである。不安定性メトリックは、上式を用いてＥｔを使用して計算された閾値化されたＥＳＩｔである。
【００１９】
図２Ａと２Ｂは、出現しつつある脅威のプロアクティブな検出システムにおけるスーパーノードとローカルノードに係る例示的なダイヤグラムであり、平衡安定性インデックスおよび平衡からの距離を示している。図２Ａと２Ｂにおいて、スーパーノード210とスーパーノード220は、数個のローカルノード230をそれぞれに含んでいる。スーパーノードの中のローカルノードは、接続240によって結合されており、そして、スーパーノード210の中の１つのローカルノードは、接続245を介して、スーパーノード220の中の別のローカルノードに対して結合されている。図２Ｂにおいて、太字の接続242は、２つの結合されたローカルノード230の間で共通のイベントがいくつか存在することを示している。上述のように、ローカルノード230はエージェントを表しており、そして、ローカルノード230の中の数字はノードコンフィグレーションを表している。つまり、イベントのクラスごとの各エージェントについてのアクティブなイベントの数である。図２Ａは、それぞれのスーパーノード210と220について計算された平衡250を示しており、図２Ｂは、平衡がどれだけ大きくなってきたかを示しており、アラートが生成されるべきであることを示し得る。図３は、さらに、０．１の閾値と、オペレータに対して報告すべき異変（unusual  events）の検出310を示している。閾値は、いくらかの値の上のＥＳＩｔを表している。この実施例において、閾値は０．１である。閾値は、経験的に選択することができ、ある一定の確率の検出のために選択することができる。
【００２０】
図４Ａと４Ｂは、出現しつつある脅威のプロアクティブな検出システムのステップと特徴を説明しているブロックダイヤグラムである。図４Ａと４Ｂは、数多くのプロセス、ブロック405−439を含んでいる。図４Ａと４Ｂの実施例においては連続的に配置されているが、他の実施例は、ブロックを再配列し、一つまたはそれ以上のブロックを省略し、かつ／あるいは、複数のプロセッサもしくは２つまたはそれ以上の仮想マシンまたはサブプロセッサとして構成されている単一プロセッサを使用して並行に実行されてよい。さらに、他の実施例は、なお、モジュール間でモジュールを通じて通信される関連の制御信号とデータ信号を伴う、一つまたはそれ以上の特定の相互接続されたハードウェアまたは集積回路モジュールとして、ブロックを実施することができる。従って、あらゆるプロセスフローが、ソフトウェア、ファームウェア、ハードウェア、および、ハイブリッド実施に対して適用することができる。
【００２１】
図４Ａと４Ｂを参照すると、405において、一つの環境におけるイベントに関するデータがコンピュータプロセッサの中へ受信される。データは、イベントに関係するエージェント、イベントのタイプ、および、イベントの発生時間から構成されている。識別されたエージェントそれぞれに対して識別名または番号を割り当てることができる。
【００２２】
410においては、イベントに関するデータを用いてダイナミック確率論的ネットワークが作成される。ダイナミック確率論的ネットワークは、スーパーノードを含み、そして、各スーパーノードは、ローカルノードを含んでいる。特定的には、410Aに示すように、各スーパーノードは、複数の密集して接続されたローカルノードとしてモデル化されている。ローカルノードは、エージェントを含んでいる。ダイナミック確率論的ネットワークは、また、スーパーノードとローカルノードとの間の接続も含んでいる。接続は、スーパーノードとローカルノードに関するイベント、を含み、そして、特には、第１および第２の特定のローカルノードに共通するイベントを含む、第１の特定のローカルノードと第２の特定のローカルノードとの間の接続を含んでいる。スーパーノードとローカルノード（および、特定の第１および第２のローカルノード）との間の接続の強さは、スーパーノードとローカルノード（および、特定の第１および第２ローカルノード）に共通するイベントの数の関数である。ブロック411は、ダイナミック確率論的ネットワークとは、ネットワークが動的に変化するネットワークコンフィグレーションを有していることを意味しており、さらに、スーパーノードとローカルノードとの間での変化する接続を意味している（接続の切断、接続の確立、接続強度の増加、および、接続強度の低減）。ブロック412は、各スーパーノードが、特定のタイプのインテリジェンスデータソースのイベントおよびエージェントを含むことを開示しており、そして、ブロック412Aは、インテリジェンスデータソースが信号インテリジェンス（電子信号インテリジェンス（ELINT））、通信インテリジェンス（COMINT）、画像インテリジェンス（IMINT）、地理的インテリジェンス（GEOINT）、人的インテリジェンス（HUMINT）を含み得ることを開示している。
【００２３】
415においては、エージェントがある期間にわたりインタラクションする際に、スーパーノードとローカルノードとの間の接続が作成され、そして、壊される。例えば、２人のエージェントが同じ道路上を近接して移動している場合に、それら２人のエージェントのローカルノード間において接続が確立されてよい。それ以降、エージェントのうち１人が道路を外れ、そして、他のエージェントが道路上に残っている場合には、それら２人のエージェントの２つのローカルノード間の接続が壊され得る。その結果、420に示すように、スーパーノードとローカルノード（および、特定の第１および第２のローカルノード）との間の接続の強さは、スーパーノードおよびローカルノードが共通に有するイベント数の変化の関数として増加および減少する。
【００２４】
430においては、動的確率論的ネットワークについて不安定性メトリックが計算される。430Aにおいて、不安定性メトリックの平衡ベクトルの大きさの変化率の絶対値の指数的移動平均が、時どき計算される（ある固定の時間ステップにおけるものであってよい−定期的）、そして、出現しつつあるグループの脅威の挙動は、不安定性メトリックの指数的移動平均からの偏差によって検出される。
【００２５】
動作431−439は、不安定性メトリックを計算する方法を示している。431から開始して、ダイナミック確率論的ネットワークのコンフィグレーションが決定される。コンフィグレーションは、アクティブなエージェントの数、および、エージェントが関連付けされたイベントの数とイベントのタイプといった、要因を含んでよい。432において、エージェントと関連付けされたイベントの持続時間が決定され、そして、433において、スーパーノードの中のエージェントの他のスーパーノードに対する接続が決定される。これは、特定的には、第１のスーパーノードにおける第１のローカルノードの、第２のスーパーノードの中にある第２のローカルノードに対する接続を含んでいる。
【００２６】
不安定性メトリックの計算は、さらに、434における、一式の常微分方程式の差異、すなわちグラジエント（gradient）、を計算すること含んでいる。微分方程式は、ダイナミック確率論的ネットワークの経験的分布（empirical  distribution）に近似しており、そして、計算されたベクトル場に対応するものである。435においては、出現しつつある脅威の挙動が、不安定性メトリックからの偏差に基づいて検出される。これは、436において示されるように、最初にベクトル場を計算し、そして次に、ベクトル場における変化率の絶対値の指数的移動平均を計算することを含んでいる。特定的には、437において、ベクトル場に係る差異の大きさが決定される。次に、437Aにおいて、計算されたベクトル場がゼロに近い場合にダイナミック確率論的ネットワークが安定であること、および、437Bにおいて、計算されたベクトル場がゼロから離れる傾向にあり、かつ、閾値より大きい場合にダイナミック確率論的ネットワークが不安定であることに留意する。閾値は、以前の経験およびシステムの所望の感度に基づいてオペレータによって選択され得る。438において、ダイナミック確率論的ネットワークが不安定である場合に、ダイナミック確率論的ネットワークが不安定であることを報告するアラートがオペレータに対して送信される。439においては、ダイナミック確率論的ネットワークの不安定性に対する特定のエージェントの寄与が決定される。アラートは、疑わしいグループ挙動が特定されたこと、および、ダイナミック確率論的ネットワークの不安定性に対して著しく寄与する特定のエージェントがより詳細に監視されるべきであることを伝達する。
【００２７】
プロアクティブな出現しつつある脅威検出システムは、多くの異なる環境において使用され得る。例えば、海といった、大きな水域（body  of  water）において使用することがでる。海は、漁域と２つの航行レーンを含むことがあり、一つは東行きの船舶用であり、もう一つは西行きの船舶用である。航路内の船舶および海の他の部分は、貨物船、漁船、遊覧船、高速ボート、軍用船舶を含み得る。
【００２８】
この環境から収集され得るデータは、貨物船が２つの航行レーンのうちの一つを介して海を航海していること、およそ１０隻の漁船の４つのグループが存在していること、軍用船舶が航行レーンを通じて移動しており、かつ、貨物船より速いこと、および、敵が乗っている可能性のあるいくつかの高速ボートが存在していること、の観測を含み得る。インテリジェンスデータは、次に、高速ボートのグループが各漁域に進入し、漁船の間で止まり、そして、しばらくしてから、高速ボートが、軍用船舶に対する迎撃コースを設定すること、を示すことができるだろう。このデータは、レーダーセンサーデータを使用して、トラック別に生成され得るものである。このインテリジェンスデータは、次に、上記の出現しつつある脅威のプロアクティブな検出システムに対して提供され、そして、システムは、軍用船舶に対する迎撃を設定している高速ボートの異常な活動を特定する。この航行レーンにおけるイベントの例は、ボートと船舶の接近、進路変更、航行レーンの進入および退出、過度の速度または非常に遅い速度、加速または減速、停止、出発、および他の動きを含んでいる。
【００２９】
一つの実施例は、エラー分析方法を含み得る。エラー分析において、イベントの各検出は、出現しつつある脅威のプロアクティブな検出システムによって注目される重要性に係るタイムスパンを表している。例えば、タイムスパンは、４００秒から５２０秒の範囲であってよい。エラー分析は、平衡点サンプリングレート（Equilibrium  Point  Sampling  Rate）（アルファの逆数）、指数的移動平均アルファ値（Exponential  Moving  Average  alpha  value）（サンプリングレートの逆数）、検出閾値（Detection  Threshold）といった、いくつかの調整可能なパラメータを含んでいる。海または海峡におけるボートと船舶に係る上記の例について、パラメータは、５秒のサンプリングレート、０．１アルファ、および、１０％閾値、に設定されてよい。
【００３０】
エラーは、見逃されているあらゆる所与のイベントに係る固定の確率レートを有することによってもたらされる。例えば、エラー率が５％の場合には、シナリオにおける各イベントについて、そのイベントが見逃されて、システム計算に含まれない可能性が５％存在する。一つの実施例においては、様々な見逃しイベントデータの公平なサンプリングを保証するために、１００回の反復を実行すべきである２つのシステム実行の間での検出の一致が、ベースライン（エラーなし）結果の６０秒以内（すなわち、４６０秒＋／−６０秒）の検出一致の中心をチェックすることによって判断される。正しい一致は、テストにおける一つまたはそれ以上の結果と一致するベースラインにおける検出の数によって判断される。見逃された検出は、テストにおけるあらゆる結果において検出されなかったベースラインにおける検出の数によって判断される。誤ったアラームは、ベースラインにおけるあらゆる結果になかったテストにおける検出の数によって判断される。
【００３１】
図５は、本発明の実施例を実行することができるハードウェアおよび動作環境の総括ダイヤグラムである。図５の説明は、本発明を実行することができる適切なコンピュータハードウェアと適切なコンピューティング環境に係る簡潔で、一般的な説明を提供するように意図されたものである。いくつかの実施例において、本発明は、パーソナルコンピュータといった、コンピュータによって実行される、プログラムモジュールといった、コンピュータで実行可能な命令の一般的なコンテキストにおいて説明されている。一般的に、プログラムモジュールは、特定のタスクを実行し、もしくは、特定の抽象データを実装する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造、等を含んでいる。
【００３２】
さらに、当業者であれば、本発明が、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースまたはプログラマブル民生用電子機器、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、等を含む他のコンピュータシステムコンフィグレーションを用いて実施され得ることを正しく理解するであろう。本発明は、また、通信ネットワークを通じてリンクされているＩ／Ｏリモート処理装置によってタスクが実行される、分散コンピュータ環境においても実施され得る。分散コンピューティング環境において、プログラムモジュールは、ローカルとリモート両方のメモリ記憶装置の中に置かれてよい。
【００３３】
図５に示される実施例で、他の図面において示されているサーバ及び／又はリモートクライアントのいずれにも適用可能なハードウェアおよび動作環境が提供されている。
【００３４】
図５に示されるように、ハードウェアおよび動作環境に係る一つの実施例は、コンピュータ20（例えば、パーソナルコンピュータ、ワークステーション、または、サーバ）の形態の汎用コンピューティングデバイスを含んでおり、一つまたはそれ以上の処理装置21、システムメモリ22、および、システムメモリ22を含む様々なシステムコンポーネントを処理装置21に対して動作可能に結合するシステムバス23、を含んでいる。コンピュータ20のプロセッサが、単一の中央処理装置（CPU）、もしくは、一般的にマルチプロセッサまたは並列プロセッサ環境として参照される、複数の処理装置を含むように、一つだけ、または、一つ以上の処理装置21が、存在してよい。マルチプロセッサシステムは、クラウドコンピューティング環境を含み得る。様々な実施形態において、コンピュータ20は、従来のコンピュータ、分散コンピュータ、または、あらゆる他のタイプのコンピュータ、である。
【００３５】
システムバス23は、いくつかのタイプのバス構造のうちいずれであってもよい。様々なバスアーキテクチャのいずれかを使用している、メモリバスまたはメモリコントローラ、ペリフェラルバス、および、ローカルバスを含んでいるものである。システムメモリは、また、単にメモリとしても呼ばれ、そして、いくつかの実施例では、読出し専用メモリ（ROM）24およびランダムアクセスメモリ（RAM）25を含んでいる。基本入力／出力システム（BIOS）プログラム26は、起動の最中といったときに、コンピュータ20の中のエレメント間において情報を転送するのを手助けするベーシックルーチンを含んでおり、ROM24の中に保管されてよい。コンピュータ20は、さらに、ハードディスクに対して読出し及び書込みするためのハードディスクドライブ27、図示なし、リムーバブル磁気ディスク29に対して読出し又は書込みするための磁気ディスクドライブ28、および、CD  ROMまたは他の光媒体といった、リムーバブル光ディスク31に対して読出し又は書込みするための光ディスクドライブ30、を含んでいる。
【００３６】
ハードディスクドライブ27、磁気ディスクドライブ28、および、光ディスクドライブ30は、それぞれに、ハードディスクドライブインターフェース32、磁気ディスクドライブインターフェース33、および、光ディスクドライブインターフェース34と接続している。ドライブおよび関連するコンピュータで読取り可能な媒体は、コンピュータで読取り可能な命令、データ構造、プログラムモジュール、および、コンピュータ20のための他のデータに係る不揮発性の保管を提供する。磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ベルヌーイ（Bernouli）カートリッジ、ランダムアクセスメモリ（RAM）、リードオンリーメモリ（ROM）、独立したディスクの冗長アレイ（例えば、RAIDストレージ装置）といった、コンピュータによってアクセス可能なデータを保管することができるあらゆるタイプのコンピュータで読取り可能な媒体が、典型的な動作環境において使用され得ることが、当業者によって正しく理解されよう。
【００３７】
複数のプログラムモジュールは、ハードディスク、磁気ディスク29、光ディスク31、ROM24、またはRAM25に保管することができ、オペレーティングシステム35、一つまたはそれ以上のアプリケーションプログラム36、他のプログラムモジュール37、およびプログラムデータ38を含んでいる。本発明のためのセキュリティ送信エンジンを含むプラグインは、これらのコンピュータ可読媒体のいずれか一つまたは多数に常駐することができる。
【００３８】
ユーザは、キーボード40とポインティングデバイス42といった、入力装置を通じてコンピュータ20の中へコマンドおよび情報を入力することができる。他の入力装置（図示なし）は、マイクロフォン、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナ、等、を含み得る。こうした他の入力装置は、しばしば、システムバス23に対して接続されているシリアルポートインターフェース46を通じて処理装置21に接続されているが、パラレルポート、ゲームポート、または、ユニバーサルシリアルバス（USB）といった、他のインターフェースによっても接続され得る。モニタ47または他のタイプの表示装置も、また、ビデオアダプタ48といった、インターフェースを介してシステムバス23に対して接続され得る。モニタ47は、ユーザのためのグラフィカルユーザインターフェースを表示することができる。モニタ47に加えて、コンピュータは、典型的には、スピーカおよびプリンタといった、他の周辺出力装置（図示なし）を含んでいる。
【００３９】
コンピュータ20は、リモートコンピュータ49といおった、一つまたはそれ以上のリモートコンピュータまたはサーバに対する論理接続を使用して、ネットワーク環境において動作することができる。これらの論理接続は、コンピュータ20、または、その一部に対して接続された通信装置によって達成される。本発明は、特定のタイプの通信装置に限定されるものではない。リモートコンピュータ49は、別のコンピュータ、サーバ、ルータ、ネットワークＰＣ、クライアント、ピアデバイス、または、他の共通ネットワークノード、であってよく、そして、典型的には、メモリ記憶装置50だけが示されてきたが、コンピュータ20に関して上述したＩ／Ｏのエレメントの多くまたは全てを含んでいる。図５に示される論理接続は、ローカルエリアネットワーク（LAN）51、及び／又は、ワイドエリアネットワーク（WAN）52を含む。こうしたネットワーキング環境は、オフィスネットワーク、企業規模のコンピュータネットワーク、イントラネット、および、インターネットにおいて普通のものであり、これらは全てのタイプのネットワークである。
【００４０】
LANネットワーキング環境において使用される場合に、コンピュータ20は、通信装置の一つのタイプである、ネットワークインターフェースまたはアダプタ53を通じてLAN  51に対して接続される。いくつかの実施例においては、WANネットワーキング環境で使用される場合に、コンピュータ20は、インターネットといった、ワイドエリアネットワークにわたる通信を確立するために、モデム54（別のタイプの通信装置）、または、あらゆる他のタイプの通信装置、例えば無線トランシーバ、を典型的には含んでいる。モデム54は、内蔵型でも外付け型でもよいが、シリアルポートインターフェース46を介してシステムバス23に対して接続されている。ネットワーク化された環境において、コンピュータ20に関して示されたプログラムモジュールは、リモートコンピュータ50のリモートメモリ記憶装置50、またはサーバ49において保管され得る。示されたネットワーク接続は典型的なものであり、そして、コンピュータ間において通信リンクを確立するための、他の手段、および、通信装置が使用され得ることが正しく理解される。ハイブリッドファイバー同軸接続、T1-T3回線、DSL、OC-3及び／又はOC-12、TCP/IP、マイクロ波、無線アプリケーションプロトコル、および、あらゆる適切なスイッチ、ルータ、アウトレットおよび電源ラインを通じたあらゆる他の電子メディア、を含んでおり、当業者によって知られ、かつ、理解されるものも同様である。
【００４１】
要約は、37  C.F.R.  §1.72(b)に準拠して提供されており、そして、読者は、本技術的開示の性質および要点を迅速に確認することができる。要約は、特許請求の範囲または意味を解釈または限定するためには使用されないという理解を伴い提出されるものである。
【００４２】
上記の実施例に係る説明において、本開示を能率的にする目的のために、様々な特徴が単一の実施例において一緒にまとめられている。開示のこの方法は、請求された実施例が、各請求項において明示的に列挙されたよりも多くの特徴を有することを表しているものとして解釈されるべきではない。むしろ、以降の請求項が表すように、発明的な技術的事項は、単一の開示された実施例に係る全ての特徴よりも少ないものである。従って、以下の請求項は、発明の詳細な説明の中に組み込まれており、各請求項は別個の典型的な実施例として単独で評価されている。
【図１】
0006419987.tif 000010
【図２Ａ】
0006419987.tif 000011
【図２Ｂ】
0006419987.tif 000012
【図３】
0006419987.tif 000013
【図４Ａ】
0006419987.tif 000014
【図４Ｂ】
0006419987.tif 000015
【図５】
0006419987.tif 000016