(57)【特許請求の範囲】
【請求項１】
異常通信を検知する方法であって、
１つまたは複数のリンキング規則に基づくネットワークグラフにおいて各ノードのコミュニティおよび役割ラベルに基づいて前記ネットワークグラフをシミュレーションすることと、
前記シミュレーションされたネットワークグラフと真のネットワークグラフとの間の差に基づいて各ノードの前記コミュニティおよび役割ラベルを調整することと、
前記シミュレーションされたネットワークグラフが前記真のネットワークグラフに収束するまで前記シミュレーションすることと調整することとを繰り返して、コミュニティおよび役割ラベルの終集合を判定することと、
コミュニティおよび役割ラベルの前記終集合に基づいてネットワーク通信が異常であるかどうかを判定することと、を含み、
各ノードの前記コミュニティおよび役割ラベルを調整することが、ノードの対における各ノードのコミュニティおよび役割ラベルに対するリンキングの率と両方のノードのコミュニティおよび役割ラベルの比とに基づいてネットワークグラフにおけるノードの各対に対して条件付き分布を判定することを含む、方法。
【請求項２】
異常通信を検知する方法であって、
１つまたは複数のリンキング規則に基づくネットワークグラフにおいて各ノードのコミュニティおよび役割ラベルに基づいて前記ネットワークグラフをシミュレーションすることと、
前記シミュレーションされたネットワークグラフと真のネットワークグラフとの間の差に基づいて各ノードの前記コミュニティおよび役割ラベルを調整することと、
前記シミュレーションされたネットワークグラフが前記真のネットワークグラフに収束するまで前記シミュレーションすることと調整することとを繰り返して、コミュニティおよび役割ラベルの終集合を判定することと、
コミュニティおよび役割ラベルの前記終集合に基づいてネットワーク通信が異常であるかどうかを判定することと、を含み、
前記シミュレーションすることと調整することとを繰り返すことが、前記真のネットワークグラフに基づく真の隣接行列および前記シミュレーションされたネットワークグラフに基づく合成隣接行列を判定することと、前記合成隣接行列の前記真の隣接行列との類似性を判定することによって前記シミュレーションされたネットワークグラフが前記真のネットワークグラフに収束したかどうかを判定することを含む、方法。
【請求項３】
複数のノードのそれぞれに対して初期コミュニティおよび役割ラベルを判定することをさらに含む、請求項１または２に記載の方法。
【請求項４】
初期コミュニティおよび役割ラベルを判定することが、コミュニティおよび役割ラベルを各ノードにランダムに割り当てることを含む、請求項３に記載の方法。
【請求項５】
前記真のネットワークグラフが、前記ノード間の通信履歴に基づく、請求項１または２に記載の方法。
【請求項６】
ネットワーク通信が異常であるかどうかを判定することが、関連付けられた第１のノードと第２のノードとの間で起こる前記ネットワーク通信の確率を前記それぞれの第１および第２のノードの前記コミュニティおよび役割ラベルに基づいて判定することを含む、請求項１または２に記載の方法。
【請求項７】
検知された侵入事象に自動的に応答することをさらに含み、前記応答が、前記ネットワーク通信を遮断することと、アクセスを制限することと、セキュリティポリシーを変更することと、システム管理者に警告することとのうちの１つまたは複数を有する、請求項１または２に記載の方法。
【請求項８】
異常通信を検知するシステムであって、
シミュレーションされたネットワークグラフと真のネットワークグラフとの間の差に基づいて各ノードのコミュニティおよび役割ラベルを調整するために、ならびに前記シミュレーションされたネットワークグラフが前記真のネットワークグラフに収束するまで前記シミュレーションおよび調整を繰り返してコミュニティおよび役割ラベルの終集合を判定するために、１つまたは複数のリンキング規則に基づく前記ネットワークグラフにおいて各ノードの前記コミュニティおよび役割ラベルに基づいて前記ネットワークグラフをシミュレーションするように構成されたプロセッサを備えているコミュニティおよび役割検知モジュールと、
コミュニティおよび役割ラベルの前記終集合に基づいてネットワーク通信が異常であるかどうかを判定するように構成された異常検知モジュールと、を有し、
前記コミュニティおよび役割検知モジュールが、ノードの対における各ノードのコミュニティおよび役割ラベルに対するリンキングの率と両方のノードのコミュニティおよび役割ラベルの比とに基づいてネットワークグラフにおけるノードの各対に対する条件付き分布を判定するようにさらに構成される、システム。
【請求項９】
異常通信を検知するシステムであって、
シミュレーションされたネットワークグラフと真のネットワークグラフとの間の差に基づいて各ノードのコミュニティおよび役割ラベルを調整するために、ならびに前記シミュレーションされたネットワークグラフが前記真のネットワークグラフに収束するまで前記シミュレーションおよび調整を繰り返してコミュニティおよび役割ラベルの終集合を判定するために、１つまたは複数のリンキング規則に基づく前記ネットワークグラフにおいて各ノードの前記コミュニティおよび役割ラベルに基づいて前記ネットワークグラフをシミュレーションするように構成されたプロセッサを備えているコミュニティおよび役割検知モジュールと、
コミュニティおよび役割ラベルの前記終集合に基づいてネットワーク通信が異常であるかどうかを判定するように構成された異常検知モジュールと、を有し、
前記コミュニティおよび役割検知モジュールが、前記真のネットワークグラフに基づく真の隣接行列および前記シミュレーションされたネットワークグラフに基づく合成隣接行列を判定し、前記合成隣接行列の前記真の隣接行列との類似性を判定することによって前記シミュレーションされたネットワークグラフが前記真のネットワークグラフに収束したかどうかを判定するように構成される、システム。
【請求項１０】
前記コミュニティおよび役割検知モジュールが、複数のノードのそれぞれに対して初期コミュニティおよび役割ラベルを判定するようにさらに構成される、請求項８または９に記載のシステム。
【請求項１１】
前記コミュニティおよび役割検知モジュールが、コミュニティおよび役割ラベルを各ノードにランダムに割り当てるようにさらに構成される、請求項１０に記載のシステム。
【請求項１２】
前記真のネットワークグラフが、前記ノード間の通信履歴に基づく、請求項８または９に記載のシステム。
【請求項１３】
前記異常検知モジュールが、関連付けられた第１のノードと第２のノードとの間で起こる前記ネットワーク通信の確率を前記それぞれの第１および第２のノードの前記コミュニティおよび役割ラベルに基づいて判定するようにさらに構成される、請求項８または９に記載のシステム。
【請求項１４】
前記異常検知モジュールが、検知された侵入事象に自動的に応答するようにさらに構成され、前記応答が、前記ネットワーク通信を遮断することと、アクセスを制限することと、セキュリティポリシーを変更することと、システム管理者に警告することとのうちの１つまたは複数を有する、請求項８または９に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願情報
本出願は、２０１５年４月１６日に出願した米国特許出願第62/148,232号の優先権を主張し、参照によりその全体をここに組み込む。
【０００２】
本発明は、コンピュータおよびネットワークのセキュリティに関し、より詳細には、そのようなネットワークにおけるノードのコミュニティと役割の統合型の発見に関する。
【背景技術】
【０００３】
関連技術の説明
企業ネットワークは、法人において主要なシステムであり、ミッションクリティカル情報の大半を扱う。それらの重要性の結果として、これらのネットワークはしばしば攻撃の対象となる。したがって、企業ネットワーク上の通信は、攻撃を検知することへの一歩として異常なネットワーク通信の検知のために頻繁に監視され、分析されている。
【０００４】
しかし、システムがコミュニティおよび役割の知識に欠ける場合、正確なおよび効果的な検知は困難である。コミュニティは、マシンが属する作業グループを表し、役割はマシンの機能（たとえば、電子メールサーバとして、データサーバとして、パーソナルデスクトップとして、など）を表す。ユーザがネットワーク全体のコミュニティおよび役割の正確な状況を提供することは不可能である場合が多い。
【０００５】
コミュニティおよび役割の検知の既存の方式では諸問題を別々に処理し、たとえば、実際にはコミュニティと役割が密に結合されており、現実のネットワークでは分離することができない場合に、コミュニティ構造を考慮に入れず役割を検知し、ノードのコミュニティをその役割を無視しながら検知する。
【発明の概要】
【０００６】
異常通信を検知するための方法は、１つまたは複数のリンキング規則（関連付け規則）に基づくネットワークグラフにおいて各ノードのコミュニティおよび役割ラベルに基づいてネットワークグラフをシミュレーションすることを含む。各ノードのコミュニティおよび役割ラベルは、シミュレーションされたネットワークグラフと真のネットワークグラフとの間の差に基づいて調整される。シミュレーションおよび調整は、コミュニティおよび役割ラベルの終集合を判定するために、シミュレーションされたネットワークグラフが真のネットワークグラフに収束するまで繰り返される。コミュニティおよび役割ラベルの終集合に基づいてネットワーク通信が異常であるかどうかが判定される。
【０００７】
異常通信を検知するためのシステムは、シミュレーションされたネットワークグラフと真のネットワークグラフとの間の差に基づいて各ノードのコミュニティおよび役割ラベルを調整するために、ならびにシミュレーションされたネットワークグラフが真のネットワークグラフに収束するまで前記シミュレーションおよび調整を繰り返してコミュニティおよび役割ラベルの終集合を判定するために、１つまたは複数のリンキング規則に基づくネットワークグラフにおいて各ノードのコミュニティおよび役割ラベルに基づいてネットワークグラフをシミュレーションするように構成されたプロセッサを有するコミュニティおよび役割検知モジュールを含む。異常検知モジュールは、コミュニティおよび役割ラベルの終集合に基づいてネットワーク通信が異常であるかどうかを判定するように構成される。
【０００８】
これらのおよび他の特徴および利点は、添付の図面に関連して読まれるはずである、それらの例示的な実施態様の以下の詳細な説明から明らかとなるであろう。
【図面の簡単な説明】
【０００９】
本開示は、以下の図を参照して好ましい実施形態の以下の説明において詳細を提供する。
【００１０】
【図１】図１は、本原理による、ノードのコミュニティおよび役割を表すネットワークグラフに関する図である。
【図２】図２は、本原理による、コミュニティおよび役割メンバーシップを発見し、異常を検知する方法のブロック／流れ図である。
【図３】図３は、本原理による、異常を検知する方法のブロック／流れ図である。
【図４】図４は、本原理による、コミュニティおよび役割メンバーシップを発見し、異常を検知するためのシステムのブロック図である。
【図５】図５は、本原理による、処理システムのブロック図である。
【発明を実施するための形態】
【００１１】
本原理によれば、本実施形態は、ネットワークにおけるコミュニティと役割を統合されたやり方で検知する。特に、ネットワークにおけるあらゆるノードは、コミュニティメンバーシップだけでなく、役割メンバーシップにも関連付けられており、したがって、システムは、コミュニティと役割の両方の構造を同時に捕捉することができる。２つのノードが相互作用することを試みるとき（たとえば、ネットワークを表すグラフ上の２つのノードの間のエッジを形成するとき）、コミュニティメンバーシップと役割メンバーシップの両方が、リンクがどの位の確率であるのか、したがって、リンクを異常とみなすことができるかどうかを判定するときに検討される。各ノードのコミュニティおよび役割は、一実施形態において、ギブスサンプリングベースの学習により判定される。
【００１２】
次に、同じ数字が同じまたは同様の要素を表す図を、および最初に図１を詳細に参照すると、例示的なコンピュータネットワーク１００が、本原理の一実施形態により、例示的に示されている。ネットワーク１００は、ノード１０１の組から形成され、そのそれぞれが役割とコミュニティとを有する。図１の実施形態において、１０２と標識されたノードは、コミュニティ１０８を有するが、１０４と標識されたノードは、コミュニティ１１０を有する。ネットワークグラフ１００は、物理ネットワークを表さないが、代わりに、ノード１０１間の通信を表し、グラフの各エッジは通信リンクを表すことに留意されたい。原理上は、コミュニティ１０８からのノード１０２を、コミュニティ１１０におけるノード１０４とリンクを形成しないように停止させるものは何もない。しかし、本実施形態は、リンクが異常であるかどうかを判定する際にノード１０１のコミュニティと役割とを検討する。ノード１０１は、個々のデバイスを表すものとして本明細書に説明するが、いくつかの実施形態において、単一のノード１０１が複数のデバイスを組み込んでもよく、逆に、単一のデバイスが複数のノード１０１のホストをしてもよいことを理解されたい。同様に、単一のノード１０１が複数の役割を占有してもよい。
【００１３】
異なるコミュニティにおけるノード１０１は、互いの相互作用の低い尤度（たとえば、リンクを形成する低い確率）を有することを理解されたい。しかし、１つの例外は、ルータまたはブリッジなどの特定の役割を有するノード１０６の場合である。この場合、ノード１０６は、コミュニティ１０８および１１０のうちの一方、または両方に属してもよく、またはいずれにも属さなくてもよく、それらの２つのコミュニティの間の中間物としてのその役割は、他のノード１０１との接続を形成するその尤度に強く影響する。これは、バックグラウンドの役割ベースの接続と呼ばれることがある。しかし、コミュニティは、物理ネットワークセグメントを用いて識別される必要がなく、代わりに、コミュニティは、単純に、たとえば、それ自体内で頻繁に通信し、相対的に他の部との通信はまれである部または他の組織的構造を表してもよいことに留意されたい。
【００１４】
同様に、２つのノードは、同じコミュニティにあるとき、より高い確率で相互作用するが、役割は強力な要因でもある。たとえば、コミュニティ１０８内のファイルサーバ１０３が、それらのノード１０２が互いに相互作用するよりもユーザ端末１０２とより頻繁に相互作用してもよい。これは、コミュニティ内の役割ベースの接続と呼ばれることがある。
【００１５】
次に、図２を参照すると、異常リンクを検知するための方法が示される。ブロック２０２が、青写真グラフの隣接行列表現を生成し、それはネットワーク１００における通信の履歴データセットから構築された異種グラフであり、ノード１０１が企業ネットワーク上の物理デバイスを表し、エッジがノード１０１間の通常の通信パターンを反映する。隣接行列におけるノードの各対に対して、ブロック２０４がコミュニティおよび役割ラベルを生成する。ブロック２０４によって生成された初期ラベルは、ランダムでもよく、または利用可能である任意の初期情報により生成されてもよい（たとえば、それぞれのノード１０１上にインストールされた周知のソフトウェアに基づいて、または既存のネットワークマップに基づいて）。
【００１６】
次いで、ブロック２０６が、異なるコミュニティと役割との間のノード対の相互作用をシミュレーションする。シミュレーションは、コミュニティメンバー間の、および役割による、周知の相互作用に対する規則の組に基づいている。たとえば、ラベルによってコミュニティ１１０のメンバーであるものとして標識されたノード１０４は、それらの間のシミュレーションされたリンクを有する。別の例において、サーバ／クライアントの役割関係は、リンクとして表すことができる。このシミュレーションは、シミュレーションされたグラフ青写真を生成するのに使用される。ブロック２０７が、シミュレーションされたグラフ青写真を使用して、シミュレーションされたグラフに対する合成隣接行列を形成する。
【００１７】
隣接行列と合成隣接行列との間に不一致がある場合、ブロック２０８が、シミュレーションされたリンクを青写真グラフにおける実際のリンクにより近づけるようにコミュニティおよび役割ラベルを調整する。次いで、ブロック２１０が、シミュレーションされたグラフにおけるリンクが青写真グラフのリンクに合致するように、合成行列が実際の隣接行列に収束したのかどうかを判定する。集束は、合成隣接行列が実際の隣接行列と同一であるとき満足してもよく、あるいは類似性メトリックが閾値未満であるとき集束に達する該行列に対する類似性メトリックに基づいてもよい。そうである場合、ブロック２１２が、異常があるかどうかを判定するために、検知されたコミュニティおよび役割ラベルを使用する。そうでない場合、処理は合成行列が収束するまでブロック２０６に戻る。
【００１８】
異常検知の一例において、「データベースサーバ」の役割ラベル、および「システムチーム」のコミュニティラベルを有する第１のノードｎ１を検討する。第２のノードｎ２が、「電子メールサーバ」の役割ラベルおよび「操作チーム」のコミュニティラベルを有する。ｎ１とｎ２との間の新しいネットワーク接続が検知された場合、システムは、１つのチームのデータベースサーバが別のチームの電子メールサーバと通信する正当なニーズをめったに有さないことと判定することができる（そのような情報がドメインユーザによって設定される）。次いで、ブロック２１２が、侵入が起きたと判定してもよい。
【００１９】
ブロック２０４におけるラベルの割当ては、各ノードｉに対するそれぞれのコミュニティメンバーシップベクトルπｉおよびそれぞれの役割メンバーシップベクトルθｉとして実施してもよい。ノードの対（ｉ，ｊ）がリンクを形成しようと試みるとき、それらのコミュニティおよび役割メンバーシップ割当て
【００２０】
【数１】
0006545819.tif 000002
が、それらのメンバーシップ分布ベクトルによってパラメータ化された多項分布により引き出され、
【００２１】
【数２】
0006545819.tif 000003
がノードの対（ｉ，ｊ）に対するノードｉのコミュニティ割当てであり、
【００２２】
【数３】
0006545819.tif 000004
がノードの対（ｉ，ｊ）に対するノードｉの役割割当てである。リンクが形成されたかどうかの質問は、２つのノードのコミュニティおよび役割割当てと、２つのコミュニティおよび役割割当てタプル、たとえば、
【００２３】
【数４】
0006545819.tif 000005
との間の相互作用確率を特徴づける相互作用パラメータＢに基づいて、ベルヌーイ事象として表される。
【００２４】
パラメータπ、θ、およびＢは、Ｂの各入力に対してベータ事前分布をかけたランダム変数として扱われる。項Ｂδｐｑはベルヌーイ分布であり、πｉおよびθｉはディリクレ事前分布を有する多項分布を有する。次いで、本モデルは以下のようにまとめることができる。
【００２５】
Ｂにおける各入力（δ，ｐ，ｑ）に対して：
【００２６】
【数５】
0006545819.tif 000006
を引き出す。
【００２７】
各ノードｉに対して：
【００２８】
コミュニティメンバーシップベクトルπｉ〜ディリクレ（ａｃ）を引き出す。
【００２９】
役割メンバーシップ分布ベクトルθｉ〜ディリクレ（ａｒ）を引き出す。
【００３０】
各ノード対（ｉ，ｊ）に対して：
ノードｉのコミュニティ
【００３１】
【数６】
0006545819.tif 000007
〜多項（πｉ）を引き出す。
【００３２】
ノードｊのコミュニティ
【００３３】
【数７】
0006545819.tif 000008
〜多項（πｊ）を引き出す。
【００３４】
ノードｉの役割
【００３５】
【数８】
0006545819.tif 000009
〜多項（θｉ）を引き出す。
【００３６】
ノードｊの役割
【００３７】
【数９】
0006545819.tif 000010
〜多項（θｊ）を引き出す。
【００３８】
リンクＥｉｊ〜ベルヌーイ
【００３９】
【数１０】
0006545819.tif 000011
を引き出す。
【００４０】
上記の生成モデルの下で、隣接行列Ｅｉｊを観察した場合、メンバーシップベクトルなどの隠れた変数の事後分布を推論することができる。ネットワーク通信データを所与とし、モデルにおける変数の事後分布、特に、事後平均が、推論される。事後推論における隠れた状態にわたる複雑な積分のために、正確な推論は扱いにくい。したがって、本実施形態は、ギブスサンプリング推論を採用するが、他のタイプの推論を代わりに使用してもよいことを理解されたい。
【００４１】
ギブスサンプリングにおいて、マルコフ連鎖が維持される。この連鎖は、他の変数のすべての現在の値が条件とされているとき、変数をその分布からサンプリングすることによってその次の状態に連続して達する。マルコフ連鎖が平衡分布に近づいたとき、その後のサンプルは対象分布から生成される。崩壊型ギブスサンプリングを使用して、ディリクレメンバーシップ変数πおよびθの直接サンプルは、それらの変数を積分消去することによって回避される。したがって、対の条件付き分布により、ノードの対（ｉ，ｊ）のメンバーシップ割当てだけが一度にサンプリングされる。したがって、隣接行列Ｅｉｊおよび他のノード対の現在の割当てを所与として、条件付き分布Ｐは、計算され、ノードの対（ｉ，ｊ）のコミュニティおよび役割割当てを表す。条件付き分布Ｐは、
【００４２】
【数１１】
0006545819.tif 000012
と定義され、ここで、
【００４３】
【数１２】
0006545819.tif 000013
であり、ｈｉａはコミュニティａに割り当てられたノードｉのカウントであり、ｍｉｐは役割ｂに割り当てられたノードｉのカウントであり、
【００４４】
【数１３】
0006545819.tif 000014
は、コミュニティ割当てａおよびｂならびに役割割当てｐおよびｑを有するリンクされたノード対のカウントであり、
【００４５】
【数１４】
0006545819.tif 000015
は、コミュニティ割当てａおよびｂならびに役割割当てｐおよびｑを有するリンクされていないノード対のカウントであり、ξ1およびξ2は相互作用テンソルＢにおける（ｋ，ｐ，ｑ）に対するスカラーベータハイパーパラメータである。
【００４６】
条件付き分布Ｐが、２つのノードのコミュニティおよび役割割当てを所与として、リンク／非リンクの率と、両方のノードのコミュニティおよび役割メンバーシップ割当ての比（正規化後の）との２つの部分に比例していることは注目に値する。両方の部分は、それらの現在の割当てを除外することによって計算される。
【００４７】
次いで、マルコフ連鎖は、すべてのノード対に対する所与のコミュニティおよび役割メンバーシップ割当てによって初期化することができる。この連鎖は、残りが条件とされているノードの各対の割当てを順次、再サンプリングすることによって実行することができる。ノードの対の割当てが更新されると、カウンタｎ、ｍおよびｈも更新される。十分な反復の後、マルコフ連鎖は、平衡分布に近づく。コミュニティおよび役割割当てのその後のサンプルは、変数の事後分布を推定するために収集することができる。
【００４８】
ノードｉのコミュニティメンバーシップは、ディリクレ分布され、そのａ番目の次元の平均は、
【００４９】
【数１５】
0006545819.tif 000016
であり、ここで、Ｋｃはコミュニティの数であり、ａｃはπｉに対するディリクレハイパーパラメータである。ノードｉの役割メンバーシップもディリクレ分布され、そのｐ番目の次元の平均は、
【００５０】
【数１６】
0006545819.tif 000017
によって与えられ、ここでＫｒは役割の数であり、ａｒはθｉに対するディリクレハイパーパラメータである。相互作用テンソルＢはベータ分布され、各入力の平均が、
【００５１】
【数１７】
0006545819.tif 000018
によって推定される。
【００５２】
したがって、ブロック２０６および２０７が、ノード（ｉ、ｊ）の各対に対する条件付き分布を計算し、ブロック２０８がπｉａ、θｉｐ、およびＢｋｐｑを判定する。
【００５３】
本明細書に説明する実施形態は、全体にハードウェアでもよく、全体にソフトウェアでもよく、またはハードウェア要素とソフトウェア要素との両方を含んでもよい。好ましい実施形態において、本発明は、ファームウェア、常駐ソフトウェア、マイクロコードなどを含むが、それらに限定されないソフトウェアに実装される。
【００５４】
実施形態は、コンピュータまたは任意の命令実行システムによって使用されるための、またはそれらに関連したプログラムコードを提供するコンピュータ使用可能またはコンピュータ可読媒体からアクセス可能なコンピュータプログラム製品を含んでもよい。コンピュータ使用可能またはコンピュータ可読媒体は、命令実行システム、装置、またはデバイスによって使用されるための、またはそれらに関連したプログラムを記憶し、通信し、伝搬し、または輸送する任意の装置を含んでもよい。媒体は、磁気、光学、電子、電磁気、赤外線、または半導体システム（または装置もしくはデバイス）または伝搬媒体であり得る。媒体は、半導体または固体メモリ、磁気テープ、取外し可能コンピュータディスケット、ランダムアクセスメモリ（ＲＡＭ）、読出し専用メモリ（ＲＯＭ）、硬質磁気ディスクおよび光ディスクなどのコンピュータ可読記憶媒体を含んでもよい。
【００５５】
各コンピュータプログラムは、本明細書に説明する手順を実施するために記憶媒体またはデバイスがコンピュータによって読まれたとき、コンピュータの動作を構成および制御するための汎用または専用プログラマブルコンピュータによって可読のマシン可読記憶媒体またはデバイス（たとえば、プログラムメモリまたは磁気ディスク）に有形に記憶されてもよい。本発明システムは、コンピュータプログラムを用いて構成されるコンピュータ可読記憶媒体において具現化されることを検討されてもよく、その場合、そのように構成された記憶媒体により、コンピュータは具体的なおよび所定のやり方で動作して、本明細書に説明する機能を実施する。
【００５６】
プログラムコードを記憶しおよび／または実行するのに適切なデータ処理システムは、システムバスを通して直接または間接的にメモリ素子に結合された少なくとも１つのプロセッサを含んでもよい。メモリ素子は、コードが実行中に大容量記憶装置から取り出される回数を低減するために少なくともあるプログラムコードの一時的記憶を提供するプログラムコード、大容量記憶装置、およびキャッシュメモリの実際の実行の間に使用されるローカルメモリを含むことができる。入力／出力またはＩ／Ｏデバイス（キーボード、ディスプレイ、ポインティングデバイスなどを含むがそれらに限定されない）は、直接または介在するＩ／Ｏ制御器を通してのいずれかでシステムに結合されてもよい。
【００５７】
ネットワークアダプタは、データ処理システムが、介在する私的または公的ネットワークを通して他のデータ処理システムまたは遠隔プリンタまたは記憶デバイスに結合されることになることを可能にするためにシステムに結合されてもよい。モデム、ケーブルモデムおよびＥｔｈｅｒｎｅｔカードは、現在利用可能なタイプのネットワークアダプタのうちのごくわずかに過ぎない。
【００５８】
次に、図３を参照すると、コミュニティ情報と役割情報の両方を含む統合ネットワークレベル分析に基づいて侵入検知を実施する方法が示される。ブロック３０２が、ノード１０１のそれぞれにインストールされたエージェントからデータを収集する。エージェントは、たとえば、ホストレベル活動（たとえば、ユーザ対プロセス事象、プロセス対ファイル事象、ユーザ対レジストリ事象など）およびネットワークレベル活動（たとえば、他のノード１０１をネットワーク１００上に有するＴＣＰおよびＵＤＰ接続）を含む各ノードの活動に関する情報を収集する。
【００５９】
ブロック３０４が、収集された情報を使用してネットワークレベル分析を実施する。ネットワークレベル分析は、上記に、より詳細に説明し、異常通信を検知するためにノードコミュニティメンバーシップとノード役割メンバーシップの両方を統合する。ブロック３０６が、単一のノード１０１内に異常行動がローカルで起きたかどうかを判定するために、収集された情報に基づいてホストレベル分析を実施する。
【００６０】
ブロック３０８が、侵入検知事象を提供するためにネットワークレベル異常とホストレベル異常とを統合する。これは、たとえば、あるホストレベル異常とネットワークレベル異常が一緒に起きたとき、より大きなインポートを有してもよいことに留意して、ネットワークレベル異常とホスト−レベル異常との間の相互作用を検知するために、文脈分析をさらに含んでもよい。次いで、ブロック３１０が、検知された侵入事象を再検討のために、およびさらなる動作のためにユーザに提示する。いくつかの実施形態において、ブロック３１２が、侵入検知事象に自動的に応答してもよい。応答は、たとえば、あるネットワークレベル通信を遮断すること、個々のホストのレベルでアクセスを制限すること、セキュリティポリシーを変更すること、およびシステム管理者などの関係者にアラートを提供することを含んでもよい。ブロック３１２は、最善策を判定するためにブロック３０８によって判定された具体的な侵入情報を検討してもよい。
【００６１】
次に図４を参照すると、ネットワークレベル異常検知システム４００が示されている。検知システム４００は、ハードウェアプロセッサ４０２とメモリ４０４と、ならびにネットワークインターフェース４０５とを含む。システム４００は、いくつかの実施形態において、メモリ４０４に記憶され、プロセッサ４０２によって実行されるソフトウェアとして実装されてもよい、ある機能モジュールをさらに含む。他の実施形態において、機能モジュールは、たとえば、特定用途向け集積チップまたはフィールドプログラマブルゲートアレイの形で１つまたは複数の個別のハードウェア構成要素として実装されてもよい。
【００６２】
システム４００は、ネットワークインターフェース４０５を介してネットワー１００に関する履歴データ４０６を収集し、履歴データ４０６をメモリ４０４に記憶する。この履歴データ４０６は、ネットワーク１００上のノード１０１の間の通信を反映し、個々のノード１０１においてエージェントによって提供され、各それぞれのノード１０１が何をしているのかを報告する情報を含む。履歴データ４０６は、ネットワーク１００の青写真グラフ４１０を構築するのに使用され、青写真グラフのノード１０１がネットワーク１００上の個々のホストを表し、エッジがノード１０１の間の通常の通信を表す。
【００６３】
コミュニティおよび役割検知モジュール４０８が、上記に詳細に説明するように、ネットワーク１００における各ノード１０１のコミュニティおよび役割メンバーシップを自動的に発見する。コミュニティおよび役割検知モジュール４０８は、青写真グラフ４１０を分析するためにプロセッサ４０２を使用し、メンバーシップベクトルθおよびπを提供する。異常検知モジュール４１２は、現在のネットワーク通信に関する入力情報を再検討するために、および所与の通信が異常であるかどうかを判定するために、メンバーシップベクトルおよび青写真グラフを使用する。異常検知モジュール４１２は、青写真グラフ４１０の調整を行うために入力ネットワーク通信をさらに使用し、次いで、青写真グラフ４１０はコミュニティおよび役割メンバーシップにおける調整をもたらしてもよい。
【００６４】
次に図５を参照すると、ネットワークレベル異常検知システム４００を表してもよい例示的な処理システム５００が示される。処理システム５００は、システムバス５０２を介して他の構成要素に動作可能に結合された少なくとも１つのプロセッサ（ＣＰＵ）５０４を含む。キャッシュ５０６、読出し専用メモリ（ＲＯＭ）５０８、ランダムアクセスメモリ（ＲＡＭ）５１０、入力／出力（Ｉ／Ｏ）アダプタ５２０、サウンドアダプタ５３０、ネットワークアダプタ５４０、ユーザインターフェースアダプタ５５０、およびディスプレイアダプタ５６０は、システムバス５０２に動作可能に結合されている。
【００６５】
第１の記憶デバイス５２２および第２の記憶デバイス５２４が、Ｉ／Ｏアダプタ５２０によってシステムバス５０２に動作可能に結合されている。記憶デバイス５２２および５２４は、ディスク記憶デバイス（たとえば、磁気または光ディスク記憶デバイス）、固体磁気デバイスなどのうちのいずれかであり得る。記憶デバイス５２２および５２４は、同じタイプの記憶デバイスまたは異なるタイプの記憶デバイスであり得る。
【００６６】
スピーカ５３２が、サウンドアダプタ５３０によってシステムバス５０２に動作可能に結合されている。送受信機５４２が、ネットワークアダプタ５４０によってシステムバス５０２に動作可能に結合されている。ディスプレイデバイス５６２が、ディスプレイアダプタ５６０によってシステムバス５０２に動作可能に結合されている。
【００６７】
第１のユーザ入力デバイス５５２、第２のユーザ入力デバイス５５４、および第３のユーザ入力デバイス５５６が、ユーザインターフェースアダプタ５５０によってシステムバス５０２に動作可能に結合されている。ユーザ入力デバイス５５２、５５４、および５５６は、キーボード、マウス、キーパッド、画像捕捉デバイス、動作感知デバイス、マイクロホン、先行するデバイスうちの少なくとも２つの機能を組み込んだデバイスなどのうちのいずれかであり得る。もちろん、本原理の精神を維持しながら他のタイプの入力デバイスを使用することもできる。ユーザ入力デバイス５５２、５５４、および５５６は、同じタイプのユーザ入力デバイスまたは異なるタイプのユーザ入力デバイスであり得る。ユーザ入力デバイス５５２、５５４、および５５６は、システム５００との情報の入力および出力に使用される。
【００６８】
もちろん、処理システム５００は、当業者によって容易に企図されるように、他の要素（図示せず）を含んでもよいし、ならびに、ある要素を省略してもよい。たとえば、さまざまな他の入力デバイスおよび／または出力デバイスは、その特定の実装形態により、当業者によって容易に理解されるように、処理システム５００に含めることができる。たとえば、さまざまなタイプの無線および／または有線入力および／または出力デバイスを使用することができる。さらに、追加のプロセッサ、制御器、メモリなどを、当業者によって容易に理解されるように、さまざまな構成で利用することもできる。処理システム５００のこれらのおよび他の変形は、本明細書に提供する本原理の教示を所与として、当業者によって容易に企図される。
【００６９】
前述のものは、あらゆる点において制限的ではなく説明的で、例示的であると理解されるものとし、本明細書に開示される本発明の範囲は、詳細な説明から決定されるものではなく、特許法によって容認される全幅により解釈される特許請求の範囲から決定されるものとする。本明細書に示し説明した実施形態は、本発明の原理を例示するに過ぎず、当業者は本発明の範囲および精神から逸脱することなくさまざまな変更を実装してもよいことを理解されたい。当業者は、本発明の範囲および精神から逸脱することなくさまざまな他の特徴の組合せを実装することができる。特許法によって求められる詳細および細部を用いて本発明の態様をこのようにして説明してきたので、特許証によって保護されて特許請求され、所望される内容は、添付の特許請求の範囲に記載されている。
【図１】
0006545819.tif 000019
【図２】
0006545819.tif 000020
【図３】
0006545819.tif 000021
【図４】
0006545819.tif 000022
【図５】
0006545819.tif 000023