(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6419987
(24)【登録日】2018年10月19日
(45)【発行日】2018年11月7日
(54)【発明の名称】出現しつつある脅威のプロアクティブな検出
(51)【国際特許分類】
G06F 17/30 20060101AFI20181029BHJP
G06N 7/00 20060101ALI20181029BHJP
G06N 99/00 20100101ALI20181029BHJP
G06Q 10/04 20120101ALI20181029BHJP
【FI】
G06F17/30 419B
G06F17/30 120A
G06N7/00 150
G06N99/00 150
G06Q10/04
【請求項の数】17
【全頁数】19
(21)【出願番号】特願2017-544030(P2017-544030)
(86)(22)【出願日】2015年9月16日
(65)【公表番号】特表2018-512646(P2018-512646A)
(43)【公表日】2018年5月17日
(86)【国際出願番号】US2015050371
(87)【国際公開番号】WO2016137531
(87)【国際公開日】20160901
【審査請求日】2017年8月18日
(31)【優先権主張番号】14/629,795
(32)【優先日】2015年2月24日
(33)【優先権主張国】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】503455363
【氏名又は名称】レイセオン カンパニー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100091214
【弁理士】
【氏名又は名称】大貫 進介
(72)【発明者】
【氏名】カダムベ,シュブハ
(72)【発明者】
【氏名】スレピカ,ジェイソン
(72)【発明者】
【氏名】ライト,ベンジャミン ティー.
(72)【発明者】
【氏名】ファン,キム エー.
【審査官】
山本 俊介
(56)【参考文献】
【文献】
米国特許出願公開第2010/0205128(US,A1)
【文献】
米国特許出願公開第2011/0238603(US,A1)
【文献】
米国特許出願公開第2007/0118909(US,A1)
【文献】
米国特許出願公開第2003/0163729(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 17/30
G06N 7/00
G06N 99/00
G06Q 10/04
(57)【特許請求の範囲】
【請求項1】
コンピュータプロセッサが、一つの環境におけるイベントに関するデータを受け取るステップであり、前記データは、前記イベントの中に組み込まれたエージェント、前記イベントのタイプ、および、前記イベントの発生回数を含んでいる、ステップと、
前記コンピュータプロセッサが、前記イベントに関する前記データを使用して、非テンプレートベースのダイナミック確率論的ネットワークをプロアクティブでリアルタイムに作成するステップであり、前記ダイナミック確率論的ネットワークはスーパーノードを含み、各スーパーノードはローカルノードを含み、かつ、前記ローカルノードは前記エージェントを含み、
前記ダイナミック確率論的ネットワークは、前記スーパーノードと前記ローカルノードとの間における接続を含み、前記接続は、前記スーパーノードと前記ローカルノードに関するイベントを含み、
前記スーパーノードと前記ローカルノードとの間の前記接続の強度は、前記スーパーノードと前記ローカルノードについて共通であるイベントの数の関数である、
ステップと、
前記コンピュータプロセッサが、前記エージェントが時間期間にわたりインタラクションする際に、前記スーパーノードと前記ローカルノードとの間で前記接続を作成し、そして、壊すステップと、
前記コンピュータプロセッサが、前記スーパーノードと前記ローカルノードが共通に有するイベントの数の変化の関数として、前記スーパーノードと前記ローカルノードとの間の前記接続の強度を増加させ、そして、減少させるステップと、
前記コンピュータプロセッサが、前記ダイナミック確率論的ネットワークについて、定期的に不安定性メトリックを計算するステップと、
前記コンピュータプロセッサが、前記不安定性メトリックからの偏差に基づいて、出現しつつあるグループの脅威の挙動をプロアクティブでリアルタイムに検出するステップと、
を含み、
前記出現しつつあるグループの脅威の挙動は、前記確率論的ネットワークの平衡ベクトルからの距離を計算することによって、前記距離が所定の閾値を超える場合にリアルタイムに検出され、
前記コンピュータプロセッサが、前記不安定性メトリックを計算するステップは、
前記コンピュータプロセッサが、前記ダイナミック確率論的ネットワークのコンフィグレーションを決定するステップであり、前記コンフィグレーションは、アクティブなエージェントの数、および、前記エージェントが関連付けされたイベントの数とイベントのタイプ、を含む、ステップと、
前記コンピュータプロセッサが、前記エージェントと関連付けされたイベントの持続時間を決定するステップと、
前記コンピュータプロセッサが、前記スーパーノードの中のエージェントの他のスーパーノードに対する接続を決定するステップと、
を含む、
方法。
【請求項2】
前記コンピュータプロセッサが、不安定性メトリックについて定期的に指数的移動平均を計算するステップと、
前記コンピュータプロセッサが、前記不安定性メトリックの前記指数的移動平均からの偏差を検出することによって、前記出現しつつあるグループの脅威の挙動を検出するステップと、
を含む、請求項1に記載の方法。
【請求項3】
前記ダイナミック確率論的ネットワークは、動的に変化するネットワークコンフィグレーションを含む、
請求項1に記載の方法。
【請求項4】
各スーパーノードは、特定のタイプのインテリジェンスデータソースのイベントおよびエージェントを含む、
請求項1に記載の方法。
【請求項5】
前記インテリジェンスデータソースは、電子信号インテリジェンス(ELINT)、通信インテリジェンス(COMINT)、画像インテリジェンス(IMINT)、地理的インテリジェンス(GEOINT)、および、人的インテリジェンス(HUMINT)、を含む信号インテリジェンスのうち一つまたはそれ以上を含んでいる、
請求項4に記載の方法。
【請求項6】
各スーパーノードは、複数の密集して接続されたローカルノードとしてモデル化されている、
請求項1に記載の方法。
【請求項7】
前記コンピュータプロセッサが、前記ダイナミック確率論的ネットワークの経験的分布に近似しており、かつ、計算されたベクトル場に対応している、一式の常微分方程式の差異を計算するステップと、
を含む、請求項1に記載の方法。
【請求項8】
前記コンピュータプロセッサが、前記ベクトル場に係る差異の大きさを決定するステップと、
前記計算されたベクトル場がゼロに近い場合に、前記コンピュータプロセッサが、前記ダイナミック確率論的ネットワークが安定であると判断するステップと、
前記計算されたベクトル場がゼロから離れる傾向にあり、かつ、閾値より大きい場合に、前記コンピュータプロセッサが、前記ダイナミック確率論的ネットワークが不安定であると判断するステップと、
前記ダイナミック確率論的ネットワークが不安定である場合に、前記コンピュータプロセッサが、前記ダイナミック確率論的ネットワークが不安定であることを報告するアラートを送信するステップと、
を含む、請求項7に記載の方法。
【請求項9】
前記コンピュータプロセッサが、前記ダイナミック確率論的ネットワークの不安定性に対する特定のエージェントの寄与を決定するステップと、
を含む、請求項8に記載の方法。
【請求項10】
前記不安定性メトリックの計算は、平衡安定性インデックスの計算を含み、
前記平衡安定性インデックスの計算は、
前記コンピュータプロセッサが、ベクトル場を計算するステップと、
前記コンピュータプロセッサが、前記ベクトル場における変化率の絶対値の指数的移動平均を計算するステップと、
を含む、請求項1に記載の方法。
【請求項11】
前記ダイナミック確率論的ネットワークは、前記スーパーノード間での接続を含み、かつ、前記スーパーノード間での前記接続は、インテリジェンスデータの異なるソース間でのイベントとエージェントとの間の関係を含んでいる、
請求項1に記載の方法。
【請求項12】
ハードウェアのコンピュータプロセッサを含むシステムであって、
前記コンピュータプロセッサは、
一つの環境におけるイベントに関するデータを受け取り、前記データは、前記イベントの中に組み込まれたエージェント、前記イベントのタイプ、および、前記イベントの発生回数を含んでおり、
前記イベントに関する前記データを使用して、非テンプレートベースのダイナミック確率論的ネットワークをプロアクティブでリアルタイムに作成し、前記ダイナミック確率論的ネットワークはスーパーノードを含み、各スーパーノードはローカルノードを含み、かつ、前記ローカルノードは前記エージェントを含み、
前記ダイナミック確率論的ネットワークは、前記スーパーノードと前記ローカルノードとの間における接続を含み、前記接続は、前記スーパーノードと前記ローカルノードに関するイベントを含み、かつ、
前記スーパーノードと前記ローカルノードとの間の前記接続の強度は、前記スーパーノードと前記ローカルノードについて共通であるイベントの数の関数であり、
前記エージェントが時間期間にわたりインタラクションする際に、前記スーパーノードと前記ローカルノードとの間で前記接続を作成し、そして、壊し、
前記スーパーノードと前記ローカルノードが共通に有するイベントの数の変化の関数として、前記スーパーノードと前記ローカルノードとの間の前記接続の強度を増加させ、そして、減少させ、
前記ダイナミック確率論的ネットワークについて、定期的に不安定性メトリックを計算し、
前記不安定性メトリックからの偏差に基づいて、リアルタイムな出現しつつあるグループの脅威の挙動をプロアクティブでリアルタイムに検出する、
ように構成されており、
前記出現しつつあるグループの脅威の挙動は、前記確率論的ネットワークの平衡ベクトルからの距離を計算することによって、前記距離が所定の閾値を超える場合にリアルタイムに検出され、
前記ハードウェアのコンピュータプロセッサは、
前記不安定性メトリックを、
前記ダイナミック確率論的ネットワークのコンフィグレーションを決定し、前記コンフィグレーションは、アクティブなエージェントの数、および、前記エージェントが関連付けされたイベントの数とイベントのタイプ、を含み、
前記エージェントと関連付けされたイベントの持続時間を決定し、かつ、
前記スーパーノードの中のエージェントの他のスーパーノードに対する接続を決定する、
ことによって、計算するように構成されている、
システム。
【請求項13】
前記ハードウェアのコンピュータプロセッサは、
不安定性メトリックについて定期的に指数的移動平均を計算し、かつ、
前記不安定性メトリックの前記指数的移動平均からの偏差を検出することによって、前記出現しつつあるグループの脅威の挙動を検出する、
ように構成されている、請求項12に記載のシステム。
【請求項14】
前記ハードウェアのコンピュータプロセッサは、
前記ダイナミック確率論的ネットワークの経験的分布に近似しており、かつ、計算されたベクトル場に対応している、一式の常微分方程式の差異を計算し、
前記ベクトル場に係る差異の大きさを決定し、
前記計算されたベクトル場がゼロに近い場合に、前記ダイナミック確率論的ネットワークが安定であると判断し、
前記計算されたベクトル場がゼロから離れる傾向にあり、かつ、閾値より大きい場合に、前記ダイナミック確率論的ネットワークが不安定であると判断し、
前記ダイナミック確率論的ネットワークが不安定である場合に、前記ダイナミック確率論的ネットワークが不安定であることを報告し、かつ、
前記ダイナミック確率論的ネットワークの不安定性に対する特定のエージェントの寄与を決定する、
ように構成されている、請求項12に記載のシステム。
【請求項15】
インストラクションを含むコンピュータで読取り可能な記憶媒体であって、プロセッサによって前記インストラクションが実行されると、
一つの環境におけるイベントに関するデータを受け取るステップであり、前記データは、前記イベントの中に組み込まれたエージェント、前記イベントのタイプ、および、前記イベントの発生回数を含んでいる、ステップと、
前記イベントに関する前記データを使用して、非テンプレートベースのダイナミック確率論的ネットワークをプロアクティブでリアルタイムに作成するステップであり、前記ダイナミック確率論的ネットワークはスーパーノードを含み、各スーパーノードはローカルノードを含み、かつ、前記ローカルノードは前記エージェントを含み、
前記ダイナミック確率論的ネットワークは、前記スーパーノードと前記ローカルノードとの間における接続を含み、前記接続は、前記スーパーノードと前記ローカルノードに関するイベントを含み、
前記スーパーノードと前記ローカルノードとの間の前記接続の強度は、前記スーパーノードと前記ローカルノードについて共通であるイベントの数の関数である、
ステップと、
前記エージェントが時間期間にわたりインタラクションする際に、前記スーパーノードと前記ローカルノードとの間で前記接続を作成し、そして、壊すステップと、
前記スーパーノードと前記ローカルノードが共通に有するイベントの数の変化の関数として、前記スーパーノードと前記ローカルノードとの間の前記接続の強度を増加させ、そして、減少させるステップと、
前記ダイナミック確率論的ネットワークについて、定期的に不安定性メトリックを計算するステップと、
前記不安定性メトリックからの偏差に基づいて、リアルタイムな出現しつつあるグループの脅威の挙動をプロアクティブでリアルタイムに検出するステップと、
を含む方法を実施し、
前記出現しつつあるグループの脅威の挙動は、前記確率論的ネットワークの平衡ベクトルからの距離を計算することによって、前記距離が所定の閾値を超える場合にリアルタイムに検出され、
前記インストラクションにおける前記不安定性メトリックを計算するステップは、
前記ダイナミック確率論的ネットワークのコンフィグレーションを決定するステップであり、前記コンフィグレーションは、アクティブなエージェントの数、および、前記エージェントが関連付けされたイベントの数とイベントのタイプ、を含む、ステップと、
前記エージェントと関連付けされたイベントの持続時間を決定するステップと、
前記スーパーノードの中のエージェントの他のスーパーノードに対する接続を決定するステップと、
を含む、
コンピュータで読取り可能な記憶媒体。
【請求項16】
前記インストラクションは、
不安定性メトリックについて定期的に指数的移動平均を計算するステップと、
前記不安定性メトリックの前記指数的移動平均からの偏差を検出することによって、前記出現しつつあるグループの脅威の挙動を検出するステップと、
を含む、請求項15に記載のコンピュータで読取り可能な記憶媒体。
【請求項17】
前記インストラクションは、
前記ダイナミック確率論的ネットワークの経験的分布に近似しており、かつ、計算されたベクトル場に対応している、一式の常微分方程式の差異を計算するステップと、
前記ベクトル場に係る差異の大きさを決定するステップと、
前記計算されたベクトル場がゼロに近い場合に、前記ダイナミック確率論的ネットワークが安定であると判断するステップと、
前記計算されたベクトル場がゼロから離れる傾向にあり、かつ、閾値より大きい場合に、前記ダイナミック確率論的ネットワークが不安定であると判断するステップと、
前記ダイナミック確率論的ネットワークが不安定である場合に、前記ダイナミック確率論的ネットワークが不安定であることを報告するアラートを送信するステップと、
前記ダイナミック確率論的ネットワークの不安定性に対する特定のエージェントの寄与を決定するステップと、
を含む、請求項15に記載のコンピュータで読取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、出現しつつある脅威のプロアクティブな検出のためのシステムおよび方法に関する。
【0002】
優先権の主張
本出願は、2015年2月24日に出願された米国特許出願第14/629795号に対する優先権の利益を主張するものであり、ここにおいて、その全体が参照により包含されている。
【0003】
政府の権利
本発明は、米国政府の支援によってなされたものではない。米国政府は、本発明においていかなる権利も有していない。
【背景技術】
【0004】
2013年のボストンマラソン爆撃のような攻撃の後、アナリストは、攻撃への動き始めとなるもの(what led up to the attack)を理解するために、膨大な量のデータを厳密に調べている。このインテリジェンス(intelligence)から、アナリストは、同様の攻撃が再び発生するのを防止するための予防措置を提案している。その後の2014年のボストンマラソンについて、このことは、圧力鍋(pressure cookers)および持主の無いバックパック(unattended backpacks)に対する警戒にセキュリティが課されたことを意味した。このアプローチに伴う問題は、敵は、創造的であり、かつ、毎日即興的に動いていることである。攻撃者にとって、同じ攻撃方法を繰り返すことはまれである。代わりに、彼らは、新しい方法を使用するものである。結果として、挙動(behaviors)が、単にあまりにも多様であり、それぞれの可能性を説明するようにエキスパートシステムを訓練することができない。しかしながら、攻撃への動き始めである所定の一般的な挙動は、共通している。プランニングおよび攻撃者間での通信、といったものである。将来において攻撃が発生するのを防ぐためには、出現しつつある脅威(emerging threats)を厳重にモニタし、かつ、発生する前に攻撃を止めさせるように、オペレータをアラート(alert)する、プロアクティブ(proactive)なリアルタイムの分析ツールの必要性が存在している
【0005】
そうした攻撃に対処するための従来の試みは、Raytheon社のIntersent Sentry
TMおよびEarthBase
TM、または、IBM社のSPSS
(R)といったツールからなるものである。これらのツールは、リアルタイムではなく、オフラインのフォレンシック分析(forensic analysis)だけをサポートしている。それらは、リアルタイムにプロアクティブな分析を行う能力を有していない。予測分析(predictive analytics)について現在使用されている基礎となる技術は、グラフィカルネットワークとベイズ(Bayes)ネットワークに基づいている。これらの技術は、イベント間の因果関係を条件付き確率の形において獲得する。これは、イベント、イベントタイプ、および、事前に定義されるべき因果関係を必要とする。これは、さらに、イベント及びそれらの因果関係を理解し、かつ、こうした関係を数学的にモデル化することができる特定分野の専門家(domain expert)を必要とする。一旦モデルが定義されると、大量のデータを用いて訓練される必要がある。データは、事前に収集されることを要し、かつ、実生活を表すものでなければならない。一旦モデルが訓練されると、モデルは固定される。モデルが訓練されたイベントだけを予測できる、ことを意味するものである。
【図面の簡単な説明】
【0006】
【
図1】
図1は、出現しつつある脅威のプロアクティブな検出システムに係るダイヤグラムである。
【
図2A】
図2Aは、出現しつつある脅威のプロアクティブな検出システムにおけるスーパーノードとローカルノードに係るダイヤグラムの一つの例である。
【
図2B】
図2Bは、出現しつつある脅威のプロアクティブな検出システムにおけるスーパーノードとローカルノードに係るダイヤグラムの別の例である。
【
図3】
図3は、出現しつつある脅威のプロアクティブな検出システムにおけるイベントの検出を説明しているグラフである。
【
図4A】
図4Aは、出現しつつある脅威のプロアクティブな検出システムの機能と動作を説明しているブロックダイヤグラムである。
【
図4B】
図4Bは、出現しつつある脅威のプロアクティブな検出システムの機能と動作を説明しているブロックダイヤグラムである。
【
図5】
図5は、出現しつつある脅威のプロアクティブな検出システムの一つまたはそれ以上の実施例を実行することができるコンピュータシステムのブロックダイヤグラムである。
【発明を実施するための形態】
【0007】
以下の説明および図面は、当業者が実施できるように特定の実施例を十分に説明している。他の実施例は、構造的、論理的、電気的、プロセス、および、他の変更を取り込んでよい。いくつかの実施例の部分および特徴は、他の実施例の部分および特徴に含まれてよく、または、置き換えられてよい。請求項に示された実施例は、そうした請求項に係る全ての利用可能な均等物を包含するものである。
【0008】
一つの実施例は、攻撃につながる可能性のある挙動について非テンプレートベース(non-template based)のプロアクティブなリアルタイム分析を実行するツールであり、そうした挙動が、本格的な攻撃になる以前に、出現しつつある脅威についてアナリストをアラートする(alert)ことができる。本ツールは、イベントが発生すると作成される希薄スーパーノード(sparse super nodes)とローカル密集ノード(local dense nodes)に係るイベントベースのダイナミック確率論的ネットワーク(dynamic stochastic network)を使用する。出現しつつある脅威の挙動の検出は、ネットワークの平衡(equilibrium)からの距離を計算することによってリアルタイムに達成される。本ツールは、監督されるものではない(unsupervised)ので、上記に概説した以前の試みの制限にわずらわされない。そして、本ツールは、前もって新たなイベントを処方する(prescribing)特定分野の専門家(domain expert)または対象事項の専門家(subject matter expert)を要せず新しいイベントに適応することができ、トレーニングデータを収集する必要がなく、かつ、リアルタイムに分析を実行することができる。
【0009】
図1は、出現しつつある脅威のプロアクティブな検出システムに係るハイレベルのブロックダイヤグラムである。イベント検出器100は、電子的インテリジェンス(ELINT)、画像インテリジェンス(IMINT)、通信インテリジェンス(COMINT)、地理的インテリジェンス(GEOINT)、および、人的インテリジェンス(HUMINT)といった、インテリジェンス収集システム120からの入力を受け取る。システムは、各スーパーノード140の中の希薄に接続されたスーパーノード140および密集して接続されたローカルノード150からなる、ダイナミック確率論的ネットワーク130をリアルタイムに構築する。スーパーノード140は、ELINTまたはCOMINTといった、一つのタイプのインテリジェンスデータソースのイベントおよびエージェント(所定のイベントに関連付けられたアクタ(actors))を表している。スーパーノード140間での希薄な接続(connectivity)は、一つのデータソースから他のデータソースへのイベントとエージェントとの間の関係を表している。スーパーノード140の中のローカルノード150は、エージェントを表しており、かつ、ローカルノード150間での接続(および、接続の厚さ(thickness))は、エージェント間での関係(および、2つのエージェントを接続するイベントの数)を表している。2つのローカルノード150(エージェント)間での関係および接続は、エージェントに関連する共通のイベントに基づいて確立される。スーパーノード140の中のスーパーノード140およびローカルノード150に係るこのネットワークは、アクタが現れ、かつ、消滅し、そして、イベントが発生する際に、動的に構築される。時どき(例えば、周期的な時間であってよい)、ネットワークの平衡ベクトルが計算される。通常の生活パターンについて、この平衡ベクトルはゼロに近い。エージェント及び/又はイベントの数、および、エージェント間での関係において突然の変化が存在する場合、すると、計算された平衡ベクトルはゼロから離れる傾向がある。これは、ゼロベクトルおよび計算された平衡ベクトルからの距離を計算することによって測定される。この計算された距離が所定の閾値を超える場合に、本ツールは、潜在的に出現しつつある脅威および脅迫的な挙動に関連するアクタを注意深くモニタするようにオペレータに注意喚起することができるように、リアルタイムで異常な挙動を適応的に識別する。
【0010】
希薄スーパーノード140は、全体的(global)または巨視的(macroscopic)な挙動をキャプチャする。スーパーノード140の中のローカル密集ノード150は、ローカルな微視的(microscopic)な挙動をキャプチャする。スーパーノード140の中の各ローカルノード150は、ポアソン過程(Poisson process)として表わされる。ローカルネットワークは、スーパーノード140に関連するノードまたはエージェントのマルコフジャンププロセス(Markov jump process)として表されるスーパーノード140である。グローバルネットワークは、関連するマルコフジャンププロセスとして表わされる。グローバルネットワークは、そのグローバルネットワークの一部である各スーパーノード140と関連するマルコフジャンプ過程のセットとして表わされるスーパーノード140のセットである。
【0011】
ネットワークの平衡、および、その平衡からの偏差(deviation)は、以下のように決定される。ローカルネットワークにおけるスーパーノードiは、イベントタイプまたはクラス{c
1、c
2、・・・、c
k}、および、所与の時間におけるアクティブなエージェントまたはノードの数Nから構成されている。スーパーノードiは、また、所与の時間tにおいてエージェントまたはノードによって取り扱われる異なるクラスのアクティブなイベントの数から構成されている、χ={n=(n
1、n
2、・・・、n
k)}。スーパーノードiは、さらに、ノードまたはエージェントlの確率論的過程から構成されている。時間tにおいては、以下のように表わされる。
【数1】
(ここに、明細書中の[数1]をカット&ペーストしてください)
ここで、λ
i、k、lは、エージェントlにおいてスーパーノードiに入るクラスkイベントの確率であり、μ
i、k、lは、エージェントlと関連付けされているスーパーノードiにおけるクラスkイベントの持続時間であり、そして、γ
i、l、jは、スーパーノードiにおいてそれらに関するイベントによって関連付けられたエージェントlとjとの間の関係に係る確率である。スーパーノードiの確率論的過程は、以下のように表される。
【数2】
ここで、‖は、以下のように定義される特性関数である。
【数3】
【0012】
グローバルネットワークは、M個のスーパーノードから構成されており、そして、時間tにおける確率論的過程は以下のように表される。
【数4】
スーパーノードiと関連付けされているイベントのヒストグラムが作成される。スーパーノードについてのヒストグラムおよび確率は、以下のように生成および計算することができる。
【0013】
最後のヒストグラムからのイベントをタイプごとにまとめ、かつ、全体の履歴を更新することによって、各ノードにおいてノードレベルのまとめが作成される。グローバルレベルにおいては、各ノードのコンフィグレーションについて、各スーパーノードにおいて平衡が計算される(この計算に関連するオペレーションの数は、[O(M*X*K)]である)。
【0014】
ヒストグラムを使用して、以下の確率が計算される。
λ
i、k、l=(エージェント1と関連付けられたイベントタイプ1・・・Kの数)/(スーパーノードにおける全てのアクティブなエージェントと関連付けられたイベントタイプ1・・・Kの総数)
イベントタイプkの持続時間は、以下のとおりである。
μ
i、k、l=(エージェント1と関連付けられたイベントタイプkの持続時間)/(スーパーノードにおける全てのアクティブなエージェントと関連付けられたイベントタイプ1・・・Kの全体の持続時間)
スーパーノードi−γ
i、l、jにおいてそれらに関するイベントによって関連付けられたエージェントlとjとの間の関係に係る確率は、上述のような別のヒストグラムを作成することによって、計算することができる。
【0015】
同様なヒストグラムのアプローチを使用して、関連するイベントに関して2つのスーパーノードiとlとの間の接続または関係に係る確率γ
ilは、以下のように計算することができる。
γ
il=(スーパーノードiとlとの間のインタラクションの数)/(全てのスーパーノード間でのインタラクションの総数)
ここで、いつオペレータにアラートするかを知るように出現する挙動を検出するために、各データベースまたはインテリジェンスソースにおけるイベントに基づいて、異なるタイプのイベントクラスに関してエージェントを作成することによって、ローカルインスタンス化される。λ
i、k、lは、全てのアクティブなエージェントに対して計算され、μ
i、k、lは、関連のイベントに関連する全てのアクティブなエージェントlとjとの間のインタラクションの数に基づいて計算される。次に、一つのスーパーノードのイベントが他のスーパーノードの中のいくつかのイベントに関連する場合に、それらのスーパーノード間での関係に係る確率γ
ilが計算される。
【0016】
次に、T回ステップ毎(例えば、5または10回)に、生成されたネットワークの平衡が、以下の式を使用して計算される。
【数5】
ここで、f
i、n(.)は、以下のとおりである。
【数6】
【0017】
生成されたネットワークの平衡の上記の計算において、e
kは、k番目の単位ベクトル(unit vector)を表しており、k番目のコンポーネントにおいて1、その他のところではゼロである。表記m+e
kは、n
kを1だけインクリメントすることによって得られるコンフィグレーションを示している。この平衡ベクトルはゼロに近いものである。それ以降、システムは、エージェント、イベント、または、それらに関するイベントのセットがネットワークに含まれるか、またはネットワークから除外されるときに、一つの平衡から別の平衡への移行を探す。ゼロに近い平衡ベクトルからのあらゆる鋭い偏差は、可能性のある脅威となる挙動を示すものである。この偏差は、オペレータがアラートされるべき信号であり得る。
【0018】
偏差は、平衡安定性インデックス(Equilibrium Stability Index)を介して計算することができる。平衡安定性インデックスは、以下のように、平衡ベクトルの大きさにおける変化率の絶対値の指数的移動平均をとることによって計算される。
【数7】
上式において、ESI
tは、時間tにおける平衡安定性インデックスであり、そして、E
tは、時間tにおける平衡ベクトルの大きさf(.)である。
【数8】
係数αは、過去の重み付けの程度を表しており、0と1との間の一定の平滑化係数(smoothing factor)である。より高いαは、より古い観察をより速くディスカウント(discount)する。検出は、ESIが閾値を超えた場合に観察される(例えば、一つのシナリオについて、5秒のサンプリングレートを用いて0.1に設定され得る)。E
tは、ネットワーク平衡の大きさである。不安定性メトリックは、上式を用いてE
tを使用して計算された閾値化されたESI
tである。
【0019】
図2Aと2Bは、出現しつつある脅威のプロアクティブな検出システムにおけるスーパーノードとローカルノードに係る例示的なダイヤグラムであり、平衡安定性インデックスおよび平衡からの距離を示している。
図2Aと2Bにおいて、スーパーノード210とスーパーノード220は、数個のローカルノード230をそれぞれに含んでいる。スーパーノードの中のローカルノードは、接続240によって結合されており、そして、スーパーノード210の中の1つのローカルノードは、接続245を介して、スーパーノード220の中の別のローカルノードに対して結合されている。
図2Bにおいて、太字の接続242は、2つの結合されたローカルノード230の間で共通のイベントがいくつか存在することを示している。上述のように、ローカルノード230はエージェントを表しており、そして、ローカルノード230の中の数字はノードコンフィグレーションを表している。つまり、イベントのクラスごとの各エージェントについてのアクティブなイベントの数である。
図2Aは、それぞれのスーパーノード210と220について計算された平衡250を示しており、
図2Bは、平衡がどれだけ大きくなってきたかを示しており、アラートが生成されるべきであることを示し得る。
図3は、さらに、0.1の閾値と、オペレータに対して報告すべき異変(unusual events)の検出310を示している。閾値は、いくらかの値の上のESI
tを表している。この実施例において、閾値は0.1である。閾値は、経験的に選択することができ、ある一定の確率の検出のために選択することができる。
【0020】
図4Aと4Bは、出現しつつある脅威のプロアクティブな検出システムのステップと特徴を説明しているブロックダイヤグラムである。
図4Aと4Bは、数多くのプロセス、ブロック405−439を含んでいる。
図4Aと4Bの実施例においては連続的に配置されているが、他の実施例は、ブロックを再配列し、一つまたはそれ以上のブロックを省略し、かつ/あるいは、複数のプロセッサもしくは2つまたはそれ以上の仮想マシンまたはサブプロセッサとして構成されている単一プロセッサを使用して並行に実行されてよい。さらに、他の実施例は、なお、モジュール間でモジュールを通じて通信される関連の制御信号とデータ信号を伴う、一つまたはそれ以上の特定の相互接続されたハードウェアまたは集積回路モジュールとして、ブロックを実施することができる。従って、あらゆるプロセスフローが、ソフトウェア、ファームウェア、ハードウェア、および、ハイブリッド実施に対して適用することができる。
【0021】
図4Aと4Bを参照すると、405において、一つの環境におけるイベントに関するデータがコンピュータプロセッサの中へ受信される。データは、イベントに関係するエージェント、イベントのタイプ、および、イベントの発生時間から構成されている。識別されたエージェントそれぞれに対して識別名または番号を割り当てることができる。
【0022】
410においては、イベントに関するデータを用いてダイナミック確率論的ネットワークが作成される。ダイナミック確率論的ネットワークは、スーパーノードを含み、そして、各スーパーノードは、ローカルノードを含んでいる。特定的には、410Aに示すように、各スーパーノードは、複数の密集して接続されたローカルノードとしてモデル化されている。ローカルノードは、エージェントを含んでいる。ダイナミック確率論的ネットワークは、また、スーパーノードとローカルノードとの間の接続も含んでいる。接続は、スーパーノードとローカルノードに関するイベント、を含み、そして、特には、第1および第2の特定のローカルノードに共通するイベントを含む、第1の特定のローカルノードと第2の特定のローカルノードとの間の接続を含んでいる。スーパーノードとローカルノード(および、特定の第1および第2のローカルノード)との間の接続の強さは、スーパーノードとローカルノード(および、特定の第1および第2ローカルノード)に共通するイベントの数の関数である。ブロック411は、ダイナミック確率論的ネットワークとは、ネットワークが動的に変化するネットワークコンフィグレーションを有していることを意味しており、さらに、スーパーノードとローカルノードとの間での変化する接続を意味している(接続の切断、接続の確立、接続強度の増加、および、接続強度の低減)。ブロック412は、各スーパーノードが、特定のタイプのインテリジェンスデータソースのイベントおよびエージェントを含むことを開示しており、そして、ブロック412Aは、インテリジェンスデータソースが信号インテリジェンス(電子信号インテリジェンス(ELINT))、通信インテリジェンス(COMINT)、画像インテリジェンス(IMINT)、地理的インテリジェンス(GEOINT)、人的インテリジェンス(HUMINT)を含み得ることを開示している。
【0023】
415においては、エージェントがある期間にわたりインタラクションする際に、スーパーノードとローカルノードとの間の接続が作成され、そして、壊される。例えば、2人のエージェントが同じ道路上を近接して移動している場合に、それら2人のエージェントのローカルノード間において接続が確立されてよい。それ以降、エージェントのうち1人が道路を外れ、そして、他のエージェントが道路上に残っている場合には、それら2人のエージェントの2つのローカルノード間の接続が壊され得る。その結果、420に示すように、スーパーノードとローカルノード(および、特定の第1および第2のローカルノード)との間の接続の強さは、スーパーノードおよびローカルノードが共通に有するイベント数の変化の関数として増加および減少する。
【0024】
430においては、動的確率論的ネットワークについて不安定性メトリックが計算される。430Aにおいて、不安定性メトリックの平衡ベクトルの大きさの変化率の絶対値の指数的移動平均が、時どき計算される(ある固定の時間ステップにおけるものであってよい−定期的)、そして、出現しつつあるグループの脅威の挙動は、不安定性メトリックの指数的移動平均からの偏差によって検出される。
【0025】
動作431−439は、不安定性メトリックを計算する方法を示している。431から開始して、ダイナミック確率論的ネットワークのコンフィグレーションが決定される。コンフィグレーションは、アクティブなエージェントの数、および、エージェントが関連付けされたイベントの数とイベントのタイプといった、要因を含んでよい。432において、エージェントと関連付けされたイベントの持続時間が決定され、そして、433において、スーパーノードの中のエージェントの他のスーパーノードに対する接続が決定される。これは、特定的には、第1のスーパーノードにおける第1のローカルノードの、第2のスーパーノードの中にある第2のローカルノードに対する接続を含んでいる。
【0026】
不安定性メトリックの計算は、さらに、434における、一式の常微分方程式の差異、すなわちグラジエント(gradient)、を計算すること含んでいる。微分方程式は、ダイナミック確率論的ネットワークの経験的分布(empirical distribution)に近似しており、そして、計算されたベクトル場に対応するものである。435においては、出現しつつある脅威の挙動が、不安定性メトリックからの偏差に基づいて検出される。これは、436において示されるように、最初にベクトル場を計算し、そして次に、ベクトル場における変化率の絶対値の指数的移動平均を計算することを含んでいる。特定的には、437において、ベクトル場に係る差異の大きさが決定される。次に、437Aにおいて、計算されたベクトル場がゼロに近い場合にダイナミック確率論的ネットワークが安定であること、および、437Bにおいて、計算されたベクトル場がゼロから離れる傾向にあり、かつ、閾値より大きい場合にダイナミック確率論的ネットワークが不安定であることに留意する。閾値は、以前の経験およびシステムの所望の感度に基づいてオペレータによって選択され得る。438において、ダイナミック確率論的ネットワークが不安定である場合に、ダイナミック確率論的ネットワークが不安定であることを報告するアラートがオペレータに対して送信される。439においては、ダイナミック確率論的ネットワークの不安定性に対する特定のエージェントの寄与が決定される。アラートは、疑わしいグループ挙動が特定されたこと、および、ダイナミック確率論的ネットワークの不安定性に対して著しく寄与する特定のエージェントがより詳細に監視されるべきであることを伝達する。
【0027】
プロアクティブな出現しつつある脅威検出システムは、多くの異なる環境において使用され得る。例えば、海といった、大きな水域(body of water)において使用することがでる。海は、漁域と2つの航行レーンを含むことがあり、一つは東行きの船舶用であり、もう一つは西行きの船舶用である。航路内の船舶および海の他の部分は、貨物船、漁船、遊覧船、高速ボート、軍用船舶を含み得る。
【0028】
この環境から収集され得るデータは、貨物船が2つの航行レーンのうちの一つを介して海を航海していること、およそ10隻の漁船の4つのグループが存在していること、軍用船舶が航行レーンを通じて移動しており、かつ、貨物船より速いこと、および、敵が乗っている可能性のあるいくつかの高速ボートが存在していること、の観測を含み得る。インテリジェンスデータは、次に、高速ボートのグループが各漁域に進入し、漁船の間で止まり、そして、しばらくしてから、高速ボートが、軍用船舶に対する迎撃コースを設定すること、を示すことができるだろう。このデータは、レーダーセンサーデータを使用して、トラック別に生成され得るものである。このインテリジェンスデータは、次に、上記の出現しつつある脅威のプロアクティブな検出システムに対して提供され、そして、システムは、軍用船舶に対する迎撃を設定している高速ボートの異常な活動を特定する。この航行レーンにおけるイベントの例は、ボートと船舶の接近、進路変更、航行レーンの進入および退出、過度の速度または非常に遅い速度、加速または減速、停止、出発、および他の動きを含んでいる。
【0029】
一つの実施例は、エラー分析方法を含み得る。エラー分析において、イベントの各検出は、出現しつつある脅威のプロアクティブな検出システムによって注目される重要性に係るタイムスパンを表している。例えば、タイムスパンは、400秒から520秒の範囲であってよい。エラー分析は、平衡点サンプリングレート(Equilibrium Point Sampling Rate)(アルファの逆数)、指数的移動平均アルファ値(Exponential Moving Average alpha value)(サンプリングレートの逆数)、検出閾値(Detection Threshold)といった、いくつかの調整可能なパラメータを含んでいる。海または海峡におけるボートと船舶に係る上記の例について、パラメータは、5秒のサンプリングレート、0.1アルファ、および、10%閾値、に設定されてよい。
【0030】
エラーは、見逃されているあらゆる所与のイベントに係る固定の確率レートを有することによってもたらされる。例えば、エラー率が5%の場合には、シナリオにおける各イベントについて、そのイベントが見逃されて、システム計算に含まれない可能性が5%存在する。一つの実施例においては、様々な見逃しイベントデータの公平なサンプリングを保証するために、100回の反復を実行すべきである2つのシステム実行の間での検出の一致が、ベースライン(エラーなし)結果の60秒以内(すなわち、460秒+/−60秒)の検出一致の中心をチェックすることによって判断される。正しい一致は、テストにおける一つまたはそれ以上の結果と一致するベースラインにおける検出の数によって判断される。見逃された検出は、テストにおけるあらゆる結果において検出されなかったベースラインにおける検出の数によって判断される。誤ったアラームは、ベースラインにおけるあらゆる結果になかったテストにおける検出の数によって判断される。
【0031】
図5は、本発明の実施例を実行することができるハードウェアおよび動作環境の総括ダイヤグラムである。
図5の説明は、本発明を実行することができる適切なコンピュータハードウェアと適切なコンピューティング環境に係る簡潔で、一般的な説明を提供するように意図されたものである。いくつかの実施例において、本発明は、パーソナルコンピュータといった、コンピュータによって実行される、プログラムモジュールといった、コンピュータで実行可能な命令の一般的なコンテキストにおいて説明されている。一般的に、プログラムモジュールは、特定のタスクを実行し、もしくは、特定の抽象データを実装する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造、等を含んでいる。
【0032】
さらに、当業者であれば、本発明が、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースまたはプログラマブル民生用電子機器、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、等を含む他のコンピュータシステムコンフィグレーションを用いて実施され得ることを正しく理解するであろう。本発明は、また、通信ネットワークを通じてリンクされているI/Oリモート処理装置によってタスクが実行される、分散コンピュータ環境においても実施され得る。分散コンピューティング環境において、プログラムモジュールは、ローカルとリモート両方のメモリ記憶装置の中に置かれてよい。
【0033】
図5に示される実施例で、他の図面において示されているサーバ及び/又はリモートクライアントのいずれにも適用可能なハードウェアおよび動作環境が提供されている。
【0034】
図5に示されるように、ハードウェアおよび動作環境に係る一つの実施例は、コンピュータ20(例えば、パーソナルコンピュータ、ワークステーション、または、サーバ)の形態の汎用コンピューティングデバイスを含んでおり、一つまたはそれ以上の処理装置21、システムメモリ22、および、システムメモリ22を含む様々なシステムコンポーネントを処理装置21に対して動作可能に結合するシステムバス23、を含んでいる。コンピュータ20のプロセッサが、単一の中央処理装置(CPU)、もしくは、一般的にマルチプロセッサまたは並列プロセッサ環境として参照される、複数の処理装置を含むように、一つだけ、または、一つ以上の処理装置21が、存在してよい。マルチプロセッサシステムは、クラウドコンピューティング環境を含み得る。様々な実施形態において、コンピュータ20は、従来のコンピュータ、分散コンピュータ、または、あらゆる他のタイプのコンピュータ、である。
【0035】
システムバス23は、いくつかのタイプのバス構造のうちいずれであってもよい。様々なバスアーキテクチャのいずれかを使用している、メモリバスまたはメモリコントローラ、ペリフェラルバス、および、ローカルバスを含んでいるものである。システムメモリは、また、単にメモリとしても呼ばれ、そして、いくつかの実施例では、読出し専用メモリ(ROM)24およびランダムアクセスメモリ(RAM)25を含んでいる。基本入力/出力システム(BIOS)プログラム26は、起動の最中といったときに、コンピュータ20の中のエレメント間において情報を転送するのを手助けするベーシックルーチンを含んでおり、ROM24の中に保管されてよい。コンピュータ20は、さらに、ハードディスクに対して読出し及び書込みするためのハードディスクドライブ27、図示なし、リムーバブル磁気ディスク29に対して読出し又は書込みするための磁気ディスクドライブ28、および、CD ROMまたは他の光媒体といった、リムーバブル光ディスク31に対して読出し又は書込みするための光ディスクドライブ30、を含んでいる。
【0036】
ハードディスクドライブ27、磁気ディスクドライブ28、および、光ディスクドライブ30は、それぞれに、ハードディスクドライブインターフェース32、磁気ディスクドライブインターフェース33、および、光ディスクドライブインターフェース34と接続している。ドライブおよび関連するコンピュータで読取り可能な媒体は、コンピュータで読取り可能な命令、データ構造、プログラムモジュール、および、コンピュータ20のための他のデータに係る不揮発性の保管を提供する。磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ベルヌーイ(Bernouli)カートリッジ、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、独立したディスクの冗長アレイ(例えば、RAIDストレージ装置)といった、コンピュータによってアクセス可能なデータを保管することができるあらゆるタイプのコンピュータで読取り可能な媒体が、典型的な動作環境において使用され得ることが、当業者によって正しく理解されよう。
【0037】
複数のプログラムモジュールは、ハードディスク、磁気ディスク29、光ディスク31、ROM24、またはRAM25に保管することができ、オペレーティングシステム35、一つまたはそれ以上のアプリケーションプログラム36、他のプログラムモジュール37、およびプログラムデータ38を含んでいる。本発明のためのセキュリティ送信エンジンを含むプラグインは、これらのコンピュータ可読媒体のいずれか一つまたは多数に常駐することができる。
【0038】
ユーザは、キーボード40とポインティングデバイス42といった、入力装置を通じてコンピュータ20の中へコマンドおよび情報を入力することができる。他の入力装置(図示なし)は、マイクロフォン、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナ、等、を含み得る。こうした他の入力装置は、しばしば、システムバス23に対して接続されているシリアルポートインターフェース46を通じて処理装置21に接続されているが、パラレルポート、ゲームポート、または、ユニバーサルシリアルバス(USB)といった、他のインターフェースによっても接続され得る。モニタ47または他のタイプの表示装置も、また、ビデオアダプタ48といった、インターフェースを介してシステムバス23に対して接続され得る。モニタ47は、ユーザのためのグラフィカルユーザインターフェースを表示することができる。モニタ47に加えて、コンピュータは、典型的には、スピーカおよびプリンタといった、他の周辺出力装置(図示なし)を含んでいる。
【0039】
コンピュータ20は、リモートコンピュータ49といおった、一つまたはそれ以上のリモートコンピュータまたはサーバに対する論理接続を使用して、ネットワーク環境において動作することができる。これらの論理接続は、コンピュータ20、または、その一部に対して接続された通信装置によって達成される。本発明は、特定のタイプの通信装置に限定されるものではない。リモートコンピュータ49は、別のコンピュータ、サーバ、ルータ、ネットワークPC、クライアント、ピアデバイス、または、他の共通ネットワークノード、であってよく、そして、典型的には、メモリ記憶装置50だけが示されてきたが、コンピュータ20に関して上述したI/Oのエレメントの多くまたは全てを含んでいる。
図5に示される論理接続は、ローカルエリアネットワーク(LAN)51、及び/又は、ワイドエリアネットワーク(WAN)52を含む。こうしたネットワーキング環境は、オフィスネットワーク、企業規模のコンピュータネットワーク、イントラネット、および、インターネットにおいて普通のものであり、これらは全てのタイプのネットワークである。
【0040】
LANネットワーキング環境において使用される場合に、コンピュータ20は、通信装置の一つのタイプである、ネットワークインターフェースまたはアダプタ53を通じてLAN 51に対して接続される。いくつかの実施例においては、WANネットワーキング環境で使用される場合に、コンピュータ20は、インターネットといった、ワイドエリアネットワークにわたる通信を確立するために、モデム54(別のタイプの通信装置)、または、あらゆる他のタイプの通信装置、例えば無線トランシーバ、を典型的には含んでいる。モデム54は、内蔵型でも外付け型でもよいが、シリアルポートインターフェース46を介してシステムバス23に対して接続されている。ネットワーク化された環境において、コンピュータ20に関して示されたプログラムモジュールは、リモートコンピュータ50のリモートメモリ記憶装置50、またはサーバ49において保管され得る。示されたネットワーク接続は典型的なものであり、そして、コンピュータ間において通信リンクを確立するための、他の手段、および、通信装置が使用され得ることが正しく理解される。ハイブリッドファイバー同軸接続、T1-T3回線、DSL、OC-3及び/又はOC-12、TCP/IP、マイクロ波、無線アプリケーションプロトコル、および、あらゆる適切なスイッチ、ルータ、アウトレットおよび電源ラインを通じたあらゆる他の電子メディア、を含んでおり、当業者によって知られ、かつ、理解されるものも同様である。
【0041】
要約は、37 C.F.R. §1.72(b)に準拠して提供されており、そして、読者は、本技術的開示の性質および要点を迅速に確認することができる。要約は、特許請求の範囲または意味を解釈または限定するためには使用されないという理解を伴い提出されるものである。
【0042】
上記の実施例に係る説明において、本開示を能率的にする目的のために、様々な特徴が単一の実施例において一緒にまとめられている。開示のこの方法は、請求された実施例が、各請求項において明示的に列挙されたよりも多くの特徴を有することを表しているものとして解釈されるべきではない。むしろ、以降の請求項が表すように、発明的な技術的事項は、単一の開示された実施例に係る全ての特徴よりも少ないものである。従って、以下の請求項は、発明の詳細な説明の中に組み込まれており、各請求項は別個の典型的な実施例として単独で評価されている。