(57)【要約】【課題】ネットワーク異常検出システムのためのグラフ・データベース分析を提供する。【解決手段】データ分析デバイスが、コンピューティング・ネットワークにおけるコンピュータ・ネットワーク・イベントに関連するパラメータを含む複数のログ・データ・エントリを受信する。データ分析デバイスは、１つ以上のパラメータをリアルタイムで抽出し、第１グラフ・メトリックまたは第２グラフ・メトリックのうちの少なくとも１つに基づいてネットワーク・イベント・グラフを生成する。第１および第２グラフ・メトリックは、抽出された１つ以上のパラメータに基づく。データ分析デバイスは、ネットワーク・イベント・グラフに対して実行された照会に基づいて、コンピューティング・ネットワークに関連する異常なイベントまたはコンピューティング・ネットワークに関連する悪意あるイベントのうちの少なくとも１つを検出する。【選択図】図１
2018049602.tif 000002
【特許請求の範囲】
【請求項１】
データ分析デバイスによって、コンピューティング・ネットワークにおけるコンピュータ・ネットワーク・イベントに関連するパラメータを含む複数のログ・データ・エントリを受信するステップと、
前記データ分析デバイスによって１つ以上のパラメータを抽出するステップであって、前記パラメータはリアルタイムで抽出される、前記抽出するステップと、
前記データ分析デバイスによって、第１グラフ・メトリックまたは第２グラフ・メトリックのうちの少なくとも１つに基づいてネットワーク・イベント・グラフを生成するステップであって、前記第１および第２グラフ・メトリックは、前記抽出された１つ以上のパラメータに基づく、前記生成するステップと、
前記ネットワーク・イベント・グラフに対して実行された照会に基づいて、前記データ分析デバイスによって、前記コンピューティング・ネットワークに関連する異常なイベントまたは前記コンピューティング・ネットワークに関連する悪意あるイベントのうちの少なくとも１つを検出するステップと、
を含む、コンピュータに実装された方法。
【請求項２】
検出するステップは、少なくとも１つのプライマリ・ノードとのデータ通信に関与した１つ以上のセカンダリ・ノードを検出するために、前記ネットワーク・イベント・グラフに対して１つ以上の照会を実行することを含む、請求項１に記載の方法。
【請求項３】
前記少なくとも１つのプライマリ・ノードは、前記異常なイベントまたは前記悪意あるイベントのうちの少なくとも１つに直接関連している、請求項２に記載の方法。
【請求項４】
前記少なくとも１つのプライマリ・ノードと相関を有する少なくとも１つのターシャリ・ノードを識別するために、前記データ分析デバイスによって、前記１つ以上のセカンダリ・ノードのネットワーク通信アクティビティを分析するステップ
をさらに含む、請求項３に記載の方法。
【請求項５】
前記ネットワーク・イベント・グラフならびに前記第１および第２グラフ・メトリックを、前記データ分析デバイスの第１ストレージ媒体に記憶するステップ
をさらに含む、請求項１に記載の方法。
【請求項６】
前記第１ストレージ媒体は、グラフ・データベースまたはグラフィックス処理ユニット（ＧＰＵ）加速グラフ・データベースのうちの少なくとも１つである、請求項５に記載の方法。
【請求項７】
前記第１グラフ・メトリックおよび前記第２グラフ・メトリックを前記データ分析デバイスの第２ストレージ媒体に記憶するステップであって、前記第１ストレージ媒体に記憶されるように前記第１および第２グラフ・メトリックをフォーマットすることを含む、前記第２ストレージ媒体に記憶するステップ
をさらに含む、請求項６に記載の方法。
【請求項８】
抽出するステップは、１つ以上のパラメータをリアルタイムで抽出するために、データ・ストリーム処理エンジンを使用して抽出、変換、ロード関数を適用することを含む、請求項１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、１つ以上のグラフ・データベースのリアルタイム・イベント分析により、コンピュータ・ネットワークに対する悪意ある脅威を検出することに関する。
【背景技術】
【０００２】
コンピュータ・ネットワークは、インターネットによりアクセス可能な多様なデジタル・コンテンツを含む共有リソースに個人またはユーザがアクセスすることを可能にする複数のコンピューティング資産を含む。コンピュータ・ネットワークは、パーソナル・エリア・ネットワーク、ローカル／バーチャル・エリア・ネットワーク、ワイド・エリア・ネットワーク、またはその他任意の種類の、コンピューティング・デバイスの集合に関連するネットワーク・アーキテクチャ内の１つ以上のノードを構成するよう互いに接続されたコンピュータのセットであることもある。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
インターネットに対するアクセスおよび特定のネットワーク外のその他ウェブ・リソースに対するアクセスは、サイバー・セキュリティの多様な課題を提示する。したがって、コンピュータ・ネットワーク内のコンピューティング資産には、悪意あるユーザがネットワーク内の１つ以上の資産に権限なしにアクセスすることによるデータ漏洩または攻撃が生じやすい場合がある。
【課題を解決するための手段】
【０００４】
本明細書は、進行中のネットワーク脅威を識別するためにコンピュータ・ネットワーク・エンタープライズ中の複合的な洞察力を提供する、スケーラブル且つ加速型の、悪意ある脅威の検出システムについて記載する。記載される主題は、ネットワーク・アクティビティのパターンに基づき個々の脅威を検出するために解析的プロセスを利用するシステムおよび方法を含む。本主題はさらに、ネットワーク・イベント・グラフを生成するためにログ・データを処理することと、ネットワーク内の悪意あるアクティビティの可能性の指標を検出するためにグラフ照会を応用することとに関する。照会結果に基づき、ネットワーク・イベントが分析されて、悪意ある行為者および／またはプログラム・コードによるコンピュータ・ネットワーク資産に対する権限のないアクセスの発生が、識別および／または軽減され得る。したがって、本願明細書に記載された教示を応用することで、サイバー脅威のより効果的且つ適時の検出が達成される。
【０００５】
本明細書に記載される主題の革新的な側面は、コンピュータに実装された方法に具現化できる。本方法は、データ分析デバイスによって、コンピューティング・ネットワークにおけるコンピュータ・ネットワーク・イベントに関連するパラメータを含む複数のログ・データ・エントリを受信するステップと、１つ以上のパラメータをデータ分析デバイスによって抽出するステップであって、パラメータはリアルタイムで抽出される、抽出するステップとを含む。本方法は、データ分析デバイスによって、第１グラフ・メトリックまたは第２グラフ・メトリックのうちの少なくとも１つに基づいてネットワーク・イベント・グラフを生成するステップを含み、第１および第２グラフ・メトリックは、抽出された１つ以上のパラメータに基づく。本方法は、ネットワーク・イベント・グラフに対して実行された照会に基づいて、データ分析デバイスによって、コンピューティング・ネットワークに関連する異常なイベントまたはコンピューティング・ネットワークに関連する悪意あるイベントのうちの少なくとも１つを検出するステップをさらに含む。
【０００６】
これらの実装および他の実装はそれぞれ、任意選択で、以下の特徴のうちの１つ以上を含むことができる。例えば一部の実装では、検出するステップは、少なくとも１つのプライマリ・ノードとのデータ通信に関与した１つ以上のセカンダリ・ノードを検出するために、ネットワーク・イベント・グラフに対して１つ以上の照会を実行することを含む。この実装の一側面では、少なくとも１つのプライマリ・ノードは、異常なイベントまたは悪意あるイベントのうちの少なくとも１つに直接関連している。別の側面では、本方法は、少なくとも１つのプライマリ・ノードと相関を有する少なくとも１つのターシャリ・ノードを識別するために、データ分析デバイスによって、１つ以上のセカンダリ・ノードのネットワーク通信アクティビティを分析するステップをさらに含む。
【０００７】
一部の実装では、本方法は、ネットワーク・イベント・グラフならびに第１および第２グラフ・メトリックを、データ分析デバイスの第１ストレージ媒体に記憶するステップをさらに含む。この実装の一側面では、第１ストレージ媒体は、グラフ・データベースまたはグラフィックス処理ユニット（ＧＰＵ）加速グラフ・データベースのうちの少なくとも１つである。別の側面では、本方法は、第１グラフ・メトリックおよび第２グラフ・メトリックをデータ分析デバイスの第２ストレージ媒体に記憶するステップであって、第１ストレージ媒体に記憶されるように第１および第２グラフ・メトリックをフォーマットすることを含む、該第２ストレージ媒体に記憶するステップをさらに含む。別の実装では、抽出するステップは、１つ以上のパラメータをリアルタイムで抽出するために、データ・ストリーム処理エンジンを使用して抽出、変換、ロード関数を適用することを含む。
【０００８】
この側面および他の側面の他の実装は、対応するシステム、装置、および本方法のアクションを実行するよう構成されコンピュータ・ストレージ・デバイスにコードされたコンピュータ・プログラムを含む。１つ以上のコンピュータのシステムは、ソフトウェア、ファームウェア、ハードウェア、またはシステムにインストールされたそれらの組み合わせによって、動作時にシステムにアクションを実行させるように構成できる。１つ以上のコンピュータ・プログラムは、命令を有することによって、データ処理装置により実行されると装置にアクションを実行させるように構成できる。
【発明の効果】
【０００９】
進行中のネットワーク脅威を識別するためにコンピュータ・ネットワーク・エンタープライズ中の複合的な洞察力を提供する、スケーラブル且つ加速型の、悪意ある脅威の検出システムを提供する。
【図面の簡単な説明】
【００１０】
【図１】例示のデータ分析デバイスを含む例示のコンピューティング・ネットワークのブロック図を示す。
【図２】図１のデータ分析デバイスに関連する１つ以上のグラフおよび時系列分析機能の例を表すブロック図を示す。
【図３】図１の例示のコンピューティング・ネットワークにおける悪意ある脅威検出のための例示のプロセスのフローチャートを示す。
【図４】図１のデータ分析デバイスに関連する１つ以上のグラフ分析機能の例を表すブロック図を示す。
【図５】図１の例示のコンピューティング・ネットワークにおける悪意ある脅威検出のための別の例示のプロセスのフローチャートを示す。
【図６】図１のコンピューティング・ネットワークの中のノードに適用可能な例示のノード構造および関連するリスク・スコアを示す。
【発明を実施するための形態】
【００１１】
本明細書に記載される主題の１つ以上の実装の詳細が、添付の図面および以下の説明に記載される。本主題の他の潜在的な特徴、側面、および利点は、本記載、図面、および特許請求の範囲から明らかとなる。
【００１２】
別々の図面内の同じ参照番号および名称は、同様の構成要素を示す。
【００１３】
本明細書は、多様なネットワーク保護ツールからの複数のログ・ファイルの取得と、データ分析デバイスによるログ・データのコンバートとを含むシステムおよび方法について記載する。データ分析デバイスは、コンピュータ・ネットワークに対する悪意ある脅威の検出を可能にするために、取得されたデータにグラフおよび時系列に基づく解析的測度を適用する１つ以上のモジュールを含む。グラフ分析および時系列分析測度を適用することで、取得されたログ・データを、１つ以上のノードおよびエッジを有するグラフィカル・ネットワークとして視覚化することができる。
【００１４】
例示の実装では、グラフ分析測定は、１）ログ・ファイルにより示されるネットワーク・イベント・データの周期的な時間間隔での収集および記憶、２）収集および記憶に応答したネットワーク・イベント・データに対するグラフ解析測度の適用、ならびに３）収集および記憶が生じる各時間間隔に対する所定レートでのグラフ解析計算の更新を含む。ネットワーク・イベント・データに関連する一定のパラメータがパースまたは抽出されるとき、時系列分析の前に、分析デバイスによるデータのエンリッチ化が生じる。特定のノードのネットワーク・アクティビティにおける突然または急激な変動を明らかにするべくパラメータ値をベースラインまたは閾値に対し比較および対照するために、時系列分析測度が、抽出されたパラメータに適用される。ネットワーク・アクティビティにおける突然の予期せぬ任意の変動に基づき、悪意ある脅威の検出が可能になる。一部の実装では、異常または特異なコンピュータ・ネットワーク・イベントの検出は、悪意ある脅威につながる徴候を明らかにすることができる。
【００１５】
本明細書はさらに、異なるネットワーク・セキュリティ・デバイスにより提供された大量のログ・データに対する多数の照会を受けることができる１つ以上のネットワーク・イベント・グラフを生成することを含む、システムおよび方法について記載する。ログ・データは、分配デバイスにより受信されリアルタイムで処理されることが可能である。処理されたログ・データから関連性のあるパラメータおよび特徴を抽出するために、抽出関数を適用できる。抽出されたデータを使用して、１つ以上のネットワーク・イベント・グラフを生成することができる。ネットワーク・イベント・グラフに関係するデータは、照会を受信するよう構成された１つ以上のグラフ・データベースに保存できる。コンピュータ・ネットワークの中のプライマリ・ノードに影響を及ぼしている進行中のサイバー・セキュリティ脅威を迅速に検出するために、複雑な照会を少なくとも１つのグラフ・データベースに提出できる。さらに、照会結果は、プライマリ・ノードへの接続を有することに部分的に基づき侵害されているかもしれない１つ以上のセカンダリ・ノードを識別することができる。
【００１６】
図１は、例示のデータ分析デバイスを含む例示のコンピューティング・ネットワーク１００のブロック図を示す。ネットワーク１００は、コンピューティング資産１０４ａ／ｂ／ｃ、ネットワーク保護ツール１０６、セキュリティ情報イベント管理デバイス１１０（ＳＩＥＭ（ｓｅｃｕｒｉｔｙ  ｉｎｆｏｒｍａｔｉｏｎ  ｅｖｅｎｔ  ｍａｎａｇｅｍｅｎｔ）１１０）、およびデータ分析デバイス１１２（以下「デバイス１１２」）を含む。ユーザ１０２は、コンピューティング資産１０４ａ／ｂ／ｃとやり取りする。単一のユーザ１０２が示されているが、ネットワーク１００は複数のユーザ１０２を含むことができる。一部の実装では、コンピューティング資産１０４ａ／ｂ／ｃは、ユーザ１０２が、ネットワーク１００内外のデータ通信トラフィックを生成する様々なコンピュータ関係アクティビティに関与できるようにする。アクティビティとしては、例えば、イントラネット・サイトにアクセスすること、電子メール通信文の草稿を書いて送信すること、文書を印刷すること、インターネット１０８にアクセスすること、ファイル・サーバおよびクラウド・ベースのアプリケーションなどの共有されたローカルおよび外部リソースにアクセスすることを挙げることができる。
【００１７】
コンピューティング資産１０４ａ／ｂ／ｃとしては、標準的なラップトップおよびデスクトップ・コンピュータ、プリント・サーバおよびプリンタ／コピー機デバイス、電子メール・サーバ、アプリケーション・サーバ、ルータ、スイッチ、イントラネットおよび関係するファイル・サーバ、またはコンピュータ・ネットワークに関連するその他任意のコンピューティング・デバイスもしくは資産を挙げることができる。例えば、コンピューティング資産１０４ａをラップトップ／デスクトップ・コンピュータとすることができ、資産１０４ｂを電子メール・サーバとすることができ、資産１０４ｃをルータとすることができる。図１には３つのコンピューティング資産１０４ａ／ｂ／ｃが示されているが、一部の実装では、ネットワーク１００は、ユーザ１０２が上述のコンピュータ関係のアクティビティに関与できるように協働する、より多数またはより少数の資産１０４を含んでもよい。
【００１８】
図のように、コンピューティング資産１０４ａ／ｂ／ｃは、ネットワーク保護ツール１０６とデータ通信している。保護ツール１０６は、ネットワーク１００に様々なネットワーク・セキュリティ機能を提供する。例示のネットワーク・セキュリティ機能は、データ・パケットまたはその他データ・トラフィックがネットワーク１００に入らないように、および／またはネットワーク１００から出ないようにブロックまたはフィルタリングすることを含む。さらに、例示のネットワーク保護ツール１０６としては、ファイアウォール、プロキシ・サーバ、侵入検知システム、侵入防止システム、パケット・スニフィング・デバイス、脆弱性スキャニング・デバイス、またはコンピュータ・ネットワークと関連するその他任意のネットワーク・セキュリティ・デバイスが挙げられる。
【００１９】
さらに詳しく後述するとおり、一部の実装では、集合的にネットワーク保護ツール１０６を構成する１つ以上のツール／デバイスはそれぞれ、ネットワーク１００内で生じるセキュリティおよび非セキュリティ関係のイベントまたはアクティビティに関連する一定のパラメータまたは属性を含むログ・データ／ファイルを周期的に生成するよう設計または構成できる。図のように、ネットワーク保護ツール１０６の個々のデバイスにより生成される各ログ・ファイルは、データ通信パス１２２ｂを通してデバイス１１２に提供できる。
【００２０】
図のように、ネットワーク保護ツール１０６の１つ以上のツール／デバイスは、それぞれＳＩＥＭ１１０またはデバイス１１２のうちの１つとデータ通信している。コンピュータおよび／またはネットワーク動作に関して、ＳＩＥＭ１１０は、コンピューティング資産１０４ａ／ｂ／ｃ、ネットワーク保護ツール１０６、および明示的に記載はされないがコンピュータ・ネットワーク（すなわちネットワーク１００）内に存在することが周知である１つ以上の他のコンピューティング・デバイスに関する、多様なシステム・イベント・データおよびシステム情報データの収集および記憶を提供する。
【００２１】
ＳＩＥＭ１１０は、ネットワーク１００内で生じるコンピューティング・アクティビティ（例えばドメイン名システム（ＤＮＳ：Ｄｏｍａｉｎ  Ｎａｍｅ  Ｓｙｓｔｅｍ）トラフィック）に関連するイベントまたは情報に関するログ・データを生成、追跡、または監視する。ネットワーク保護ツール１０６のデバイスとよく似て、ＳＩＥＭ１１０も、ネットワーク１００内のイベントまたはアクティビティに関連する一定のパラメータまたは属性を含むログ・データ／ファイルを周期的に生成するよう設計または構成できる。一部の実装では、ＳＩＥＭ１１０は、保護ツール１０６の各デバイスからログ・ファイルを受信し、各ログ・ファイルを、データ通信パス１２２ａを通してデバイス１１２に提供する。他の実装では、ＳＩＥＭ１１０は、保護ツール１０６の各デバイスからログ・ファイルを受信し、各ログ・ファイルをより大きなログ・ファイルに集約し、且つ／またはログ・ファイルに関連する共通の属性に基づいて各ログ・ファイルを相関させる。図１に示されているとおり、ＳＩＥＭ１１０からのログ・データは、データ通信パス１２２ａを通してデバイス１１２に提供される。
【００２２】
図１に示されているとおり、デバイス１１２は、ＳＩＥＭ１１０またはネットワーク保護ツール１０６のうちの１つに接続または結合可能である。一部の実装では、デバイス１１２は、データ通信パス１２２ａを通してＳＩＥＭ１１０に接続または結合される。同じく、一部の実装では、デバイス１１２は、データ通信パス１２２ｂを通して、またはＳＩＥＭ１１０およびデータ通信パス１２２ａを通して間接的に、ネットワーク保護ツール１０６に接続または結合可能である。さらに別の実装では、デバイス１１２は、データ通信パス１２２ａを通してＳＩＥＭ１１０と、さらにはデータ通信パス１２２ｂを通してかまたはＳＩＥＭ１１０およびデータ通信パス１２２ａを通して間接的にかのいずれかでネットワーク保護ツール１０６と、の両方に同時に結合可能である。
【００２３】
デバイス１１２は、処理ユニット１１４およびモジュール１２０ａを含む。図４を参照してさらに詳しく後述されるとおり、一部の代わりの実装では、デバイス１１２は、１つ以上のストリーム解析測度および抽出関数をデータ・ストア１１８内のログ・データに適用して１つ以上のネットワーク・イベント・グラフを発生させる特定の命令論理またはプログラム・コードを含む、モジュール１２０ｂを含むことができる。
【００２４】
一部の実施形態では、処理ユニット１１４は、１つ以上のプロセッサ（例えばマイクロプロセッサまたは中央処理ユニット（ＣＰＵ：ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ））、グラフィックス処理ユニット（ＧＰＵ：ｇｒａｐｈｉｃｓ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）、特定用途向け集積回路（ＡＳＩＣ：ａｐｐｌｉｃａｔｉｏｎ  ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）、または異なるプロセッサの組み合わせを含むことができる。他の実施形態では、デバイス１１２は、本明細書に記載される判定および計算のうちの１つ以上を実行するための追加の処理オプションを提供する、他のコンピューティング・リソース／デバイス（例えばクラウド・ベースのサーバ）を含むことができる。
【００２５】
処理ユニット１１４は、１つ以上のメモリ・ユニットまたはメモリ・バンクを含むことができる。一部の実装では、処理ユニット１１４は、本明細書に記載された１つ以上の機能をモジュール１２０ａおよびデバイス１１２に実行させるために、メモリに記憶されたプログラム済み命令を実行する。処理ユニット１１４のメモリは、１つ以上の非一時的機械可読ストレージ媒体を含むことができる。非一時的機械可読ストレージ媒体は、ソリッド・ステート・メモリ、磁気ディスク、および光ディスク、ポータブル・コンピュータ・ディスケット、ランダム・アクセス・メモリ（ＲＡＭ：ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、読み取り専用メモリ（ＲＯＭ：ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、消去可能プログラム可能読み取り専用メモリ（例えばＥＰＲＯＭ（ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄｏｎｌｙ  ｍｅｍｏｒｙ）、ＥＥＰＲＯＭ、またはフラッシュメモリ）、あるいは情報を記憶できるその他任意の有形の媒体を含むことができる。
【００２６】
上述のとおり、ネットワーク保護ツール１０６およびＳＩＥＭ１１０はそれぞれ、ネットワーク１００内で生じるセキュリティおよび非セキュリティ関係のイベントまたはアクティビティ（例えばデータ通信、パケット情報、および／またはデータ・フロー／トラフィック・パターン）に関連する一定のパラメータまたは属性を含むログ・データ／ファイルを周期的に生成する。よって、ログ・データ・ストア１１８は、ネットワーク保護ツール１０６およびＳＩＥＭ１１０により生成されたログ・ファイルを含む。
【００２７】
モジュール１２０ａは、１つ以上のグラフ解析測度および１つ以上の時系列分析測度をデータ・ストア１１８の中のログ・データに適用する一定の命令論理またはプログラム・コードを含むことができる。図２を参照してさらに詳しく後述するとおり、デバイス１１２のモジュール１２０ａは、ログ・データをグラフィカル・フォーマットに構造化し、構造化されたログ・データに１つ以上のグラフ解析測度を適用して、中心性および重要度測度に基づきノードをエンリッチ化するよう構成可能である。モジュール１２０ａはさらに、時系列分析に基づく解析測度をグラフィカル・データに適用して、ネットワーク１００内の特定のノードについて示される重要度の予期せぬ突然の変動または変化を検出するよう構成可能である。モジュール１２０ａは、図１においてはデバイス１１２の一部として示されているが、別の実施形態では、処理ユニット１１４と独立してグラフィカル分析および／または時系列分析測定を実行するスタンドアロンのデータ分析デバイスとすることができる。
【００２８】
図２は、図１のデバイス１１２に関連する１つ以上のグラフ分析および時系列分析機能を表すブロック図を示す。ログ・データ・ストア１１８は、１つ以上のログ・データ・タイプを含むことができ、モジュール１２０ａは、１つ以上のサブモジュールを含むことができる。図のように、ログ・データ・ストア１１８は、ユーザ・ログ２０２、ベンダ・ログ２０４、およびシステム・ログ２０６などの１つ以上のログ・データ・タイプを含む。さらにモジュール１２０ａは、抽出、変換、およびロード（ＥＴＬ：ｅｘｔｒａｃｔｉｏｎ，ｔｒａｎｓｆｏｒｍａｔｉｏｎ，ａｎｄ  ｌｏａｄｉｎｇ）２０８サブモジュール、データ・ストア・サブモジュール２１０、グラフィックス処理ユニット２１２、およびｈａｄｏｏｐ分散ファイル・システム（ＨＤＦＳ：ｈａｄｏｏｐ  ｄｉｓｔｒｉｂｕｔｅｄ  ｆｉｌｅ  ｓｙｓｔｅｍ）２１４を含む。
【００２９】
ユーザ・ログ２０２は、ネットワーク１００内で生じるユーザ特有のアクティビティまたはイベントに対応することができる。例示のユーザ・イベントとしては、ユーザ１０２によるネットワーク１００および／またはコンピューティング資産１０４ａ／ｂ／ｃに対する認証、ユーザ１０２によるネットワーク１００および／またはコンピューティング資産１０４ａ／ｂ／ｃへのログイン試行、ユーザ１０２によるファイル・アクセス、ユーザ１０２による電子メール通信文の送受信、またはコンピュータ・ネットワークにおいて典型的に生じるその他任意の関係するユーザ・アクティビティが挙げられる。ベンダ・ログ２０４およびシステム・ログ２０６は、ＳＩＥＭ１１０により、さらに／またはネットワーク保護ツール１０６の１つ以上のデバイスにより生成されるデバイス特有のログ・データ（例えば事前構成済みのベンダ設定に基づく）とすることができる。
【００３０】
ＥＴＬ２０８は、１つ以上のタイプのログ・データをデータ・ストア１１８から受信し、受信したログ・データに対して抽出関数、変換関数、およびロード関数のうちの１つを実行する。一部の実装では、ＥＴＬ２０８の抽出関数は、ログ・データ・ストア１１８の中の複数のログ・エントリを分析して、ログ・エントリの望ましいサブセットを抽出する。次に、ＥＴＬ２０８の変換関数が、ルックアップ・テーブルまたは他の関係する変換方法を使用してルールを適用し、抽出されたログ・エントリのサブセットを望ましい状態にコンバートまたは変換する。最後に、ＥＴＬ２０８のロード関数が使用されて、結果として生じたデータが、ＨＤＦＳ２１４またはデータ・ストア２１０などのターゲット・データベースに書き込まれる。
【００３１】
後述のとおり、ネットワーク１００の１つ以上のデバイスにより生成されたログ・データは、グラフ・ネットワークまたはモデルとして視覚化でき、各ノードは、例えばコンピューティング資産１０４ａ／ｂ／ｃまたはユーザ１０２を表現し、各エッジは、例えば特定のノードのネットワーク・アクティビティに関連するパラメータを含む具体的なログ・エントリを表現する。一部の実装では、パラメータは例えば、データを送信するコンピューティング資産１０４（またはネットワーク１００外の資産）の送信元インターネット・プロトコル（ＩＰ：ｉｎｔｅｒｎｅｔ  ｐｒｏｔｏｃｏｌ）アドレスおよびデータを受信するコンピューティング資産１０４（またはネットワーク１００外の資産）の宛先ＩＰアドレスを含む。グラフ・モデルのエッジは、特定の送信元ＩＰアドレスおよび宛先ＩＰアドレスを含むログ・エントリ数の重み付けされた量とすることができる。
【００３２】
ＧＰＵ２１２は、ＨＤＦＳ２１４に記憶されている抽出済みログ・エントリに少なくとも部分的に基づき、ネットワーク１００のグラフィカル・モデルを発生させる。抽出済みログ・エントリは、ネットワーク１００内で悪意あるアクティビティが生じている可能性の指標としての役割を潜在的に果たし得る対象パラメータを少なくとも１つ含む。ネットワーク１００内で生じる一定のアクティビティまたはイベントに関連するパラメータ（例えば対象パラメータ）が、モジュール１２０により自動的に、またはネットワーク１００の管理を監督する管理者もしくはセキュリティ担当者により手動で識別され得る。
【００３３】
一部の実装では、パラメータを選択するのに使用されるアクティビティ／イベントとしては、例えば、特定の送信元ＩＰアドレスが特定の宛先ＩＰアドレスにアウトバウンド接続を試行していること、既知のアクティビティ傾向に基づき特定の送信元ＩＰアドレスにより典型的に試行される閾値数を超える数のアウトバウンド接続を当該送信元ＩＰアドレスが試行していること、第１の送信元ＩＰアドレスまたはコンピューティング資産１０４がウイルスまたはマルウェアなどの悪意あるプログラム・コードに感染していると分かっている第２の送信元ＩＰアドレスまたはコンピューティング資産１０４に接続または結合されていること、特定のユーザ１０２が特定ファイルまたはネットワーク１００のサブネットワークに対するアクセスまたは認証を試行していることの徴候、あるいはその他、ユーザ１０２、コンピューティング資産１０４、もしくは送信元／宛先ＩＰアドレスが関与していて且つ特異であるまたは１つ以上のサイバー・セキュリティ脆弱性が疑われる指標であると理解され得るネットワーク１００関連のアクティビティを挙げることができる。
【００３４】
一部の実装では、ネットワーク１００のグラフィカル・モデルを発生させることは、モジュール１２０ａにより、ポイント・イン・タイム・パーティショニング（ＰＴＰ：ｐｏｉｎｔ−ｉｎ−ｔｉｍｅ  ｐａｒｔｉｔｉｏｎｉｎｇ）を含む周期的なログ・データ更新を実行することを含む。ＰＴＰの実行に際し、ＨＤＦＳ２１４に提供される抽出済みログ・エントリの新たな更新（経過時間窓（ｐａｓｔ  ｔｉｍｅ  ｗｉｎｄｏｗ）に対応）毎に、その経過時間窓のデータがＨＤＦＳ２１４により収集／受信され、ＧＰＵ２１２によってグラフ解析メトリックの新たなセットが計算されてデータ・ストア２１０に記憶される。一部の実装では、グラフィカル・モデルまたは解析メトリック・セットが、隣接行列および圧縮疎行列のうちの少なくとも１つとしてデータ・ストア２１０に記憶される。各時間窓に対してグラフ解析計算がどの程度頻繁に実行されるかに対応する更新レートは、管理者の好みによって異なり得る。各グラフ解析計算は、ネットワーク１００の特定のノード／パラメータ（例えばユーザ１０２のユーザＩＤ、送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ユーザＩＤ、または宛先ユーザＩＤ）に関連するグラフ解析メトリックのセットを発生させる。
【００３５】
一部の例では、ＧＰＵ２１２がグラフ解析メトリックの新規または後続のセットを１時間毎に計算するように、毎時間の更新レートを有するようモジュール１２０ａを構成できる。更新レートは変化してもよく、毎時間、毎日、毎週、またはネットワーク１００の管理者が望むその他任意のレートとすることができる。経過時間窓は、グラフ解析計算のために使用される時間窓のサイズ（例えば１日、２日、５日などの時間単位）に対応する。一部の実装では、モジュール１２０ａは、２日の経過時間窓を有するよう構成でき、それにより、ＧＰＵ２１２に提供される抽出済みログ・エントリは、過去２日間に生じたネットワーク・アクティビティ・ログに対応する。更新レートとよく似て、経過時間窓も管理者の好みによって異なることができる。
【００３６】
モジュール１２０ａは、ＧＰＵ２１２により実行されたグラフ解析測定に関連する１つ以上のエンリッチ化関数を含むことができる。一部の実装では、エンリッチ化関数は、ネットワーク１００の中の１つ以上のノードの特定のネットワーク・アクティビティ（例えばデータ・トラフィック／パケットの送信または受信）に関連する時間属性を各ログ・エントリに関してパースするために、抽出済みログ・エントリに対して適用される。さらに、パースされた時点における対応するグラフ解析測度を、ネットワーク・アクティビティに関連する送信元ノード／ＩＰアドレスおよび宛先ノード／ＩＰアドレスに関してエンリッチ化できる。一部の例では、上述のとおり、時間属性のエンリッチ化は、ログ・エントリの経過時間窓（ログ・エントリの過去２日間）に対して時間属性（ＥＳＴ午前１１時）をパースして経過時間窓にわたる特定のノードまたはパラメータに関するログ・エントリの内容を分析することを含むことができる。
【００３７】
グラフ分析／解析測度は、ＰａｇｅＲａｎｋ測度、媒介中心性測度、三角形数え上げ測度、あるいはその他、ログ・エントリに含まれるノードまたはパラメータの繰り返し起こる特性を分析するべく構成された１つ以上のグラフ解析測度のうちの少なくとも１つを含むことができる。コンピュータ・ネットワーク分析に関しては、グラフ解析測度を使用して、グラフ内で最も重要な頂点（例えばノード・アクティビティ／イベント）を識別する中心性の指標を検出することができる。応用として、コンピュータ・ネットワークの中で最もアクティブなノードを識別することを挙げることができる。例えばネットワーク１００では、グラフ解析測度を使用することで、閾値レベルのアクティビティを超えるネットワーク・アクティビティ（例えば閾値を上回る特定のファイル／リソースへのアクセス試行、閾値を上回るデータ・パケットの送信／受信など）に関与したユーザ１０２またはコンピューティング資産１０４（送信元／宛先ＩＰ）を識別または検出することができる。
【００３８】
データ・ストア２１０は、検索照会の機能性を含む時系列データ・ストアである。一部の実装では、データ・ストア２１０は、時系列データの記憶および取得のためのメカニズムを提供する非構造化照会言語（ＮｏＳＱＬ：ｎｏｎ−ｓｔｒｕｃｔｕｒｅｄ  ｑｕｅｒｙ  ｌａｎｇｕａｇｅ）データベースとすることができる。データ・ストア２１０は、ネットワーク１００の特定のノードに関連する時系列データを受信および記憶するよう構成される。図２に示されるとおり、データ・ストア２１０は、ＧＰＵ２１２から受信される時系列データを記憶することができる。一部の実装では、データは、ＧＰＵ２１２によって生成された１つ以上のグラフ・メトリック・セットに対してＧＰＵ２１２により実行される時系列処理に基づき発生する。時系列データを発生させるためにＧＰＵ２１２により使用される例示の時系列分析法としては、例えば、時系列回帰法、自己回帰法、管理図に基づく方法、マルコフ・ジャンプ法、またはその他、少なくとも部分的にＧＰＵ２１２によって実装可能な任意の時系列分析法を挙げることができる。
【００３９】
時系列データを生成する処理方法は複数ある。例えば、１つの方法は、ＨＤＦＳ２１４を使用して実装可能な従来型の時系列算定関数を使用することを伴う。図のように、時系列データを生成した後、次にＨＤＦＳ２１４は、生成されたデータを記憶および後続の分析のためにＮｏＳＱＬデータ・ストア２１０に提供することができる。時系列データを生成する別の方法は、例えば、抽出済みのログ・データをＧＰＵクラスタに提供し、計算／算定を実行して時系列データを生成し、次に、生成されたデータをＮｏＳＱＬデータ・ストア２１０に記憶することにより、ＧＰＵ２１２に固有の算定関数を利用することを含む。別の実装では、ＥＴＬ２０８によりログ・データに対して実行された算定に少なくとも部分的に基づいて時系列データを生成できる。したがって、データ・ストア２１０は、ＥＴＬ２０８の１つ以上の関数の適用後に生成されたコンピュータ・ネットワーク・イベントに関連するパラメータを含むログ・エントリを受信することができる。時系列分析法の適用は、時系列分析データを生成するプロセスとは異なる。故に、上述の時系列分析法を、データ・ストア２１０に記憶された時系列分析データに対して適用して、ネットワーク１００に対する悪意ある脅威を最終的に識別することができる。
【００４０】
一部の例では、時系列分析は、所与の期間の使用を有効化して、ネットワーク１００の特定のノードに関連する抽出済みログ・データ・エントリまたはグラフ・メトリックを発生順にさせる。時系列グラフは、時間の進行に伴う属性または変数の値の変化を含め、属性値を順序づけて表示するグラフィカル・データ・セットを含むことができる。値とベースラインまたは閾値とを比較するなど、多様な統計的検討を時系列データに対して実行できる。一部の例では、時系列グラフは、少なくとも２つのログ・データ・パラメータの分析に基づいて構築でき、時間／日付値は、少なくとも２つのパラメータのうちの少なくとも１つのパラメータである。日付／時間の増分がプロットされ、他のパラメータまたは変数に関連する値がその日付／時間増分に対してプロットされ得る。
【００４１】
したがって、或る特定のパラメータ値は、系列の中の特定の日付／時間に対応し、指定された時間範囲にわたってパラメータ値が分析されて、ベースラインまたは閾値に対する値の突然のまたは予期せぬ変動を検出することができる。値の突然のまたは予期せぬ変動は、ネットワーク１００の特定ノードの相対的重要度の増大に対応し得る。一部のノードは、そのノードの既知のイベント・プロファイルと比較して、そのノードらしくない、故に特異と思われる、上昇した重要度係数を示すかもしれない。特異な挙動を示すノード、またはそれらしくないネットワーク・アクティビティに関与したノードは、そのノードが、コンピュータ・ウイルスまたはマルウェアなどの悪意あるプログラム・コードにより侵害されまたはそれに感染したことの指標となり得る。
【００４２】
一部の実装では、デバイス１１２は、特定のノードが並外れて高い重要度係数を示すときに、生成される偽陽性指摘の数を削減するよう構成された偽陽性処理（ＦＰＨ：ｆａｌｓｅ  ｐｏｓｉｔｉｖｅ  ｈａｎｄｌｉｎｇ）機能性を含むことができる。デバイス１１２のＦＰＨ機能は、それらしくない高重要度係数を示しているように思われる特定のノードに適用されるホワイトリスト機能を有効化することを含むことができる。そのようなノードは、例えば一定期間中に実行される割り当てられたジョブに基づき相対的重要度の突然の変動を周期的に生成させる、「既知の優良ノード」として識別できる。例示の既知の優良ノードとしては、ネットワーク脆弱性スキャナ、電子メール・サーバ、ウェブ・リソース・サーバ、あるいはその他、特定の状況が原因で重要度係数の上昇を示すことが分かっている任意のコンピューティング資産１０４またはユーザ１０２（または他のデバイス）を挙げることができる。したがってＦＰＨ機能は、対応が必要なネットワーク・セキュリティ事例数を減少させ、したがってネットワーク管理者の作業負荷を削減するべく、一定の既知の優良ノードをホワイトリストに載せるために使用可能である。
【００４３】
図３は、１つ以上のグラフ解析メトリックと、ネットワーク１００に関連するデバイスから取得されたログ・データの少なくともサブセットに対して実行される時系列分析とに基づく、悪意ある脅威検出のための例示のプロセス３００のフローチャートを示す。プロセス３００は、ブロック３０２にて開始し、デバイス１１２によって、ネットワーク１００に関連するフィールドを含むログ・データをデータ・ストア１１８から受信することを含む。上述のとおり、フィールドは例えば、ノードおよび時間属性を含むことができる。ノードは例えば、第１コンピューティング資産または送信元ＩＰ、第２コンピューティング資産または宛先ＩＰ、送信元ユーザ、あるいは宛先ユーザのうちの１つを含むことができる。一部の実装では、フィールドは、ネットワーク１００外のコンピューティング資産、ユーザ、またはＩＰアドレスに対応してもよい。ブロック３０４にて、プロセス３００は、デバイス１１２のモジュール１２０ａが、ログ・データ・ストア１１８に含まれるログ・エントリから抽出された少なくとも１つのフィールドに部分的に基づいてネットワーク１００に関連するグラフィカル・モデルを構築する／発生させることを含む。
【００４４】
ブロック３０６にてプロセス３００は、デバイス１１２のモジュール１２０ａが、グラフィカル・モデルに関連するグラフ時系列特徴を生成することを含み、この特徴はネットワーク１００のノードにも関連する。上述のとおり、一部の実装では、この特徴は、グラフ解析モデルから求められた重要度測度とすることができる。一方、他の実装では、この特徴は、ノードがネットワーク１００内での、またはネットワーク１００外のコンピューティング資産とのネットワーク・アクティビティに関与する回数とすることができる。ブロック３０８にてプロセス３００は、識別された時系列特徴に対してモジュール１２０ａが時系列分析を実行することを含む。一部の実装では、この特徴は、以前の挙動（例えばベースライン・アクティビティ・プロファイルもしくは傾向データ）またはＧＰＵ２１２により生成されたグラフ解析特徴により示される重要度係数に基づいて分析される。
【００４５】
ブロック３１０にてプロセス３００は、識別されたパラメータに関して作成された時系列モデルに基づき、ネットワーク１００に関連する異常なイベントまたはネットワーク１００に関連する悪意あるイベント／脅威のうちの少なくとも１つを判定または検出する。一部の実装では、識別された特徴の時系列分析は、特定ノードの相対的重要度係数か、または或るノードに関連する識別された特徴（および特徴の値）かに生じた、突然の予期せぬ変動を検出できるようにする。ネットワーク・セキュリティの文脈では、悪意あるイベントまたは脅威とは、通常はネットワーク所有者の認識も許可もないままに、機密情報またはデータに対して、破損、破壊、アクセス拒否、スパイ、または盗取などの有害なまたは望まれない影響を生じさせる目的で、不正なユーザおよび／またはコンピュータ・プログラム（例えばマルウェア、ウイルス、スパイウェア、またはボットネット）が、ネットワーク１００に権限なしにアクセスすることの発生、またはその可能性と説明することができる。
【００４６】
図４は、図１のデータ分析デバイスに関連する１つ以上のグラフ処理および分析機能の例を表すブロック図を示す。図のように、モジュール１２０ｂは、メッセージング・デバイス４０２、ストリーム解析（ＳＡ：ｓｔｒｅａｍ  ａｎａｌｙｔｉｃｓ）デバイス４０４、中間データ・ストレージ４０６、データ・ストア４１０、第１グラフ・データベース（ＧＤＢ：ｇｒａｐｈ  ｄａｔａｂａｓｅ）４１２、および第２ＧＤＢ４１４を含む。図のように、ＳＡデバイス４０４は、図２を参照して上述したＥＴＬサブモジュール２０８に似た方式で機能するＥＴＬサブモジュール４０８を含むことができる。一部の実装では、モジュール１２０ｂは、データ分析デバイス１１２内でモジュール１２０ａとは独立して動作する。例えばデバイス１１２は、モジュール１２０ａの代わりにモジュール１２０ｂを含むことができ、その一方で別の例では、デバイス１１２はモジュール１２０ｂおよびモジュール１２０ａの両方を含むことができる。デバイス１１２がモジュール１２０ｂおよびモジュール１２０ａの両方を含む場合、データ・ストア１１８は、ログ・データの第１部分をモジュール１２０ａに提供し、ログ・データの第２部分をモジュール１２０ｂに提供することができる。別の実装では、モジュール１２０ａが発生させた時系列分析データを、後述の方法に基づく追加処理のためにモジュール１２０ｂに提供できる。
【００４７】
モジュール１２０ａは、データ処理測度およびグラフ解析測度をデータ・ストア１１８の中のログ・データに適用する一定の命令論理またはプログラム・コードを含むことができる。デバイス１１２のモジュール１２０ｂは、ログ・データをグラフィカル・フォーマットに構造化して、１つ以上のネットワーク・イベント・グラフを発生させるよう構成可能である。モジュール１２０ｂは、データ・ストア４１０、ＧＤＢ４１２、またはＧＤＢ４１４のうちの少なくとも１つにグラフィカル・データを記憶するようさらに構成可能である。次にユーザは、多様な照会をモジュール１２０ｂのグラフ・データベースに提出して、照会結果に基づいて１つ以上の悪意ある脅威を検出し、またはネットワーク１００内のノード（単数または複数）に関連する悪意あるプログラム・コードを検出してもよい。図１にはデバイス１１２の一部であるものとして示されているが、他の実施形態においてモジュール１２０ｂは、処理ユニット１１４とは独立してグラフィカル分析および／またはログ・データ処理を実行してネットワーク・イベント・グラフを生成するスタンドアロンのデータ分析デバイスとすることができる。
【００４８】
モジュール１２０ｂ内でのログ・データのフローに関して、ＳＡデバイス４０４は、１つ以上のタイプのログ・データをデータ・ストア１１８から受信し、ＥＴＬ４０８を使用して、受信したログ・データに対して抽出関数、変換関数、およびロード関数のうちの１つを実行する。一部の実装では、ＥＴＬ４０８の抽出関数は、ログ・データ・ストア１１８の中の複数のログ・エントリを分析して、ログ・エントリの望ましいサブセットを抽出する。次に、ＥＴＬ４０８の変換関数が、ルックアップ・テーブルまたは他の関係する変換方法を使用してルールを適用し、抽出されたログ・エントリのサブセットを望ましい状態にコンバートまたは変換する。最後に、結果として生じたデータが、ターゲット・データベースまたはストレージ媒体に書き込まれるようＥＴＬ４０８のロード関数が使用される。
【００４９】
モジュール１２０ｂは、複雑なネットワーク・イベント処理を提供するために利用されてもよい。モジュール１２０ｂによって新たなログ・データが受信されるのに伴い、ログ・データはストリーム解析（ＳＡ）エンジン４０４により迅速に処理可能である。一部の実装では、ＳＡエンジン４０４は、ＥＴＬモジュール４０８を使用して、１つ以上のＥＴＬ関数を適用し、受信されたログ・データを処理およびフォーマットする。図のように、ＳＡデバイス４０４は、抽出または修正されたログ・データ・エントリを、ストレージ４０６、データ・ストア４１０、第１ＧＤＢ４１２、または第２ＧＤＢ４１４のうちの少なくとも１つに提供する。記憶されたデータを照会して、悪意あるネットワーク・アクティビティがネットワーク１００内で生じているかどうかを判定または検出することができる。一部の実装では、モジュール１２０ｂをモジュール１２０ａとともに使用して、モジュール１２０ａが発生させたグラフ解析および／または時系列データを利用する相補スコアリング・エンジンを提供することができる。例えばモジュール１２０ｂは、悪意あるネットワーク・イベントの検出に基づき、且つネットワーク１００内の他のコンピューティング・ノードに特定の悪意あるイベントが影響を及ぼした確率に基づき、リスク・スコアを割り当てることができる。
【００５０】
一部の実装では、データ・ストア１１８からの新たなログ・データ・エントリは、特定のノードが悪意あるプログラム・コード（例えばマルウェア、ボットネット、トロイなど）に以前感染した別のノードと通信したかどうかを判断するために、モジュール１２０によってリアルタイムで分析される。時間パラメータは、抽出されたログ・エントリに適用して、例えば過去１０分、過去１時間、過去１日、または過去１週間のうちにノード間の通信が生じたかどうかを判断することができる。さらに、数ヶ月または数年のタイム・スパンで生じた通信など、より長い期間の分析も可能である。
【００５１】
現在のリアルタイム・ネットワーク・イベント分析法では、複数の構造照会言語（ＳＱＬ：ｓｔｒｕｃｔｕｒｅ  ｑｕｅｒｙ  ｌａｎｇｕａｇｅ）結合を使用する必要があり、これを達成するには大量の時間および計算リソースが必要である。ＳＱＬ結合句は、リレーショナル・データベースの中の１つ以上のテーブルから列を組み合わせる。結合関数は、テーブルとして保存またはそのまま使用可能なデータ・セットを作成することができる。ＪＯＩＮは、１つ（自己テーブル）または２つ以上のテーブルから、それぞれに共通する値を使用することで列を組み合わせる手段である。１秒未満の時間でＳＱＬ結合を処理するための現行方法では、典型的には１分あたり１００，０００イベントのシステム・スループットが必要であり、サイバー・セキュリティのアナリストが大量の抽出済みログ・データに対して複雑な照会を実行しようとするときに問題となり得る。
【００５２】
本明細書に記載されるシステムおよび方法を利用すると、ネットワーク・イベント・グラフ構造を含む１つ以上のグラフ・データベースを使用して、サイバー・セキュリティ・イベントを検出するために複雑な照会を迅速に処理できる。モジュール１２０ｂのグラフ・データベース（ＧＤＢ：ｇｒａｐｈ  ｄａｔａｂａｓｅ）ストレージ４１２および４１４は、例えば、特定の第１／プライマリ・ノード（悪意あるコードに感染している）が特定の第２ノードとのデータ通信に関与した（例えばデータ・パケットをやり取りした）かどうか、およびその特定の第２ノードが特定の第３ノードとのデータ通信に関与したかどうかを判断するために、照会を処理できるようにする。したがって、特定のノードが悪意あるコードに感染したプライマリ・ノードに直接または間接の接続を有することに基づいて、２つ以上のノード間の分離度が識別されてリスク・スコアが割り当てられ得る。
【００５３】
モジュール１２０ｂ内のログ・データのフローを再び参照する。ログ・データは、例えば第１ＩＰアドレスが、第２ＩＰアドレスにデータ・パケットを提供したこと、または第２ＩＰアドレスとのデータ通信に関与したことを示すサイバー・セキュリティ・イベントを含むことができる。サイバー・セキュリティ・イベントを含むログ・データは、メッセージング・デバイス４０２に提供される。一部の実装では、メッセージング・デバイス４０２は、サイバー・セキュリティ・イベントを含むログ・データがデータ・ストア１１８から取得されてＳＡデバイス４０４に提供され／ＳＡデバイス４０４により受信されることを保証するよう構成されたメッセージング・キューとすることができる。したがって、メッセージング・デバイス４０２は、ＳＡデバイス４０４による処理を必要とするメッセージ（例えばログ・データ・エントリ）の行列、シーケンス、またはバッチを含むことができる。
【００５４】
ＳＡデバイス４０４は、１つ以上のＥＴＬ関数を適用するよう構成された例示のデータ・ストリーム処理エンジンとすることができる。一部の実装では、メッセージ・ストリームは、ＳＡデバイス４０４によって、関連性のあるまたは望まれる情報または特徴を抽出して、抽出された特徴をストレージ４０６、データ・ストア４１０、またはＧＤＢ４１４のうちの１つに提供することによりリアルタイムで処理される。さらに詳しく後述するとおり、抽出された特徴は、照会可能なネットワーク・イベント・グラフを発生させるためにＧＤＢ４１２またはＧＤＢ４１４により使用される。抽出可能な特徴としては、例えば、悪意あるコードに感染したことが分かっているノード、コンピューティング資産のホスト名、統一リソース・ロケータ（ＵＲＬ：Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）、ＩＰアドレス、ユーザ名、またはコンピューティング・ネットワーク１００のノードに関連するその他任意の情報が挙げられる。
【００５５】
グラフ構造またはネットワーク・イベント・グラフが生成されると、モジュール１２０ｂ内のネットワーク・イベント・グラフを記憶するグラフ・データベース（例えばＧＤＢ４１２、４１４）に対して１つ以上の照会を提出できる。一部の実装では、照会は例えば、モジュール１２０ｂに結合された照会端末を介して提出できる。一例では、照会は、特定のＩＰアドレス（例えばプライマリ・ノード／ノード０）がどのＩＰアドレスとデータ通信のやり取りをしたかを探索することを含むことができ、グラフ・データベースは、第１セットのＩＰアドレス（例えばセカンダリ・ノード／ノード（単数または複数）１）を含む結果を提供することができる。次に、第１セットのＩＰアドレスがどのＩＰアドレスとデータ通信をやり取りしたかを判断するために後続の照会を提出でき、グラフ・データベースは、第２セットのＩＰアドレス（例えばターシャリ・ノード／ノード（単数または複数）２）を含む結果を提供することができる。第２セットのＩＰアドレスは、第１セットのＩＰアドレスに対して１次または直接接続を、さらにプライマリ・ノードとして説明されたＩＰアドレスに対して２次または間接接続を有することができる。
【００５６】
図６に示されているとおり、照会結果はツリーまたはノード構造として表すことができ、追加の照会を提出して、プライマリ・ノードに対する検出された接続に基づきツリーを拡大することができる。前の段落で上述した例では、プライマリ・ノードは、悪意あるコードに最近感染したノードとすることができる。したがって、照会をモジュール１２０ｂに提出することで、ほかのどのノードが悪意あるコードに感染した可能性があり得るか、またはそうでなければサイバー・セキュリティ攻撃を受けやすい／影響されやすいと考えられるかが判断される。したがって、モジュール１２０ｂおよびデータ分析デバイス１１２は、現状では従来のネットワーク・データベースに対し提出することもそれによって処理することも不可能な複雑な照会を提出することによって、大量のログ・データ・エントリを精査および分析するための柔軟性を提供する。
【００５７】
一部の実装では、モジュール１２０ｂは中間ストレージ４０６を含むことができ、他の実装では、モジュール１２０ｂはストレージ４０６を含まない。ストレージ４０６は、ネットワーク・イベント・グラフのストレージとして使用されるデータベースとストリーム処理エンジンであるＳＡデバイス４０４との間の中間段階として使用可能な、一種の抽出済みログ・データ・ストレージである。一部の実装では、ストレージ４０６は、モジュール１２０ｂ内でＧＤＢ４１４への直接ストリーミングが有効でないときに使用される。例えば、ＳＡデバイス４０４とＧＤＢ４１４との間のデータまたはファイル・フォーマットの矛盾が理由で、ＧＤＢ４１４に受け入れられるフォーマットにコンバートするために、中間ストレージ４０６を使用して受信データを処理できる。
【００５８】
ネットワーク・イベント・グラフは、ＧＤＢ４１２、４１４のうちの１つにグラフ・フォーマットで記憶される。これらのグラフ・データベースは、ネットワーク１００の様々なノード間の通信パターンを判断するためにグラフ形式で照会できる。一部の実装では、照会はＧＤＢ４１２、４１４に直接提出されるが、上述のとおりユーザは、データ分析デバイス１１２に結合した別個の端末を通してデータベースに対する照会を行うことができる。本願明細書に記載される他の実装では、照会に応答しての結果または回答は、照会／質問を受信したグラフ・データベースにより提供される。一部の実装では、ＧＤＢ４１２は、ＧＰＵ加速グラフ・データベースであり、ＧＤＢ４１４に対して異なるデータベースである。ＧＰＵ加速ＧＤＢ４１２を使用または構成することで、ＧＤＢ４１４と比べて加速されたグラフィカル分析を実行できる。例えばＧＤＢ４１２は、より高速なグラフィカル処理関数を利用して、ＧＤＢ４１４により使用されるイベント・データの標本サイズと比較してより小さいノード／ネットワーク・イベント・データの標本サイズを含むネットワーク・イベント・グラフを発生させることができる。
【００５９】
図２を参照して上述したとおり、ネットワーク１００のデバイスにより生成されたログ・データは、ネットワーク１００の中のコンピューティング・ノードに関連する様々なサイバー・セキュリティ・イベントを含むグラフ・ネットワークとして視覚化できる。ノードは例えば、コンピューティング資産１０４ａ／ｂ／ｃまたはユーザ１０２を表現することができ、エッジは例えば、特定のノードのネットワーク・アクティビティに関連するパラメータまたは特徴を含む具体的なログ・エントリを表現することができる。一部の実装では、特徴は例えば、データを送信するコンピューティング資産１０４（またはネットワーク１００外の資産）の送信元インターネット・プロトコル（ＩＰ）アドレスと、データを受信するコンピューティング資産１０４（またはネットワーク１００外の資産）の宛先ＩＰアドレスとを含む。グラフ・モデルのエッジは、特定の送信元ＩＰアドレスおよび宛先ＩＰアドレスを含むログ・エントリ数の重み付けされた量とすることができる。
【００６０】
図５は、ネットワーク１００のコンピューティング資産１０４ａ／ｂ／ｃに関連するサイバー・セキュリティ・イベントに基づくネットワーク・イベント・グラフを使用して悪意ある脅威の検出をするための別の例示のプロセス５００のフローチャートを示す。プロセス５００は、メッセージング・デバイス４０２が、ネットワーク１００内の様々なコンピューティング資産からの異なる多様なログ・データ・エントリを含むサイバー・セキュリティ・イベントをデータ・ストア１１８から受信する、ブロック５０２にて開始する。メッセージング・デバイス４０２は、受信されたログ・エントリが処理されて、モジュール１２０ｂの１つ以上のグラフ・データベースに記憶された例示のネットワーク・イベント・グラフに追加されるよう、該ログ・エントリをＳＡデバイス４０４に送り込む。ブロック５０４にて、プロセス５００は、ＳＡデバイス４０４およびＥＴＬ４０８が、関連性ある特定の情報をサイバー・セキュリティ・イベントに関連するログ・データ・エントリから抽出することを含む。一部の実装において、関連性のある情報は、ＩＰアドレス、ユーザ名、ホスト名、ＵＲＬなどの特徴を含むことができる。さらに、関連性のある情報は、リアルタイムまたは準リアルタイムで抽出できる。
【００６１】
ブロック５０６にてプロセス５００は、関連性のある抽出済み情報を使用して、頂点およびエッジを構築することを含み、これらはデータ・ストア４１０、ＧＤＢ４１２、またはＧＤＢ４１４のうちの少なくとも１つでの記憶用に提供される。ブロック５０８にて、初期のネットワーク・イベント・グラフを生成でき、または、既存のネットワーク・イベント・グラフが新たな頂点およびエッジにより更新されて更新されたグラフ構造／モデルが発生する。ブロック５１０にてプロセス５００は、ユーザがＧＤＢ４１２またはＧＤＢ４１４のうちの少なくとも１つに照会を提出することによりネットワーク・イベント・データ分析を実行することを含む。上述のとおり、提出される照会は、ＧＤＢ４１２またはＧＤＢ４１４に記憶されたネットワーク・イベント・グラフを対象とし、ネットワーク１００の様々なノード間の相関または接続に基づきネットワーク１００に関連する悪意ある脅威を検出するために使用される。
【００６２】
図６は、図１のコンピューティング・ネットワークの中のノードに適用可能な例示のノード構造６００および関連するリスク・スコアを示す。構造６００は、プライマリ・ノード６０２、セカンダリ・ノード６０４、ターシャリ・ノード６０６ａ／ｂ／ｃ、および他のノード６０８を含む。一部の実装では、構造６００は、複数のセカンダリ・ノード６０４、複数のターシャリ・ノード６０６ａ／ｂ／ｃ、および複数の他のノード６０８を含むことができる。図のように、セカンダリ・ノード（単数または複数）６０４は、例えばプライマリ・ノード６０２への１次／直接接続を有するコンピューティング資産１０４ａ／ｂ／ｃまたはＩＰアドレスを含むことができる。同様に、ターシャリ・ノード６０６ａ／ｂ／ｃは、プライマリ・ノード６０２への２次／間接接続を有するコンピューティング資産１０４ａ／ｂ／ｃまたはＩＰアドレスを含むことができる。
【００６３】
上述のとおり、モジュール１２０ｂは、例えばプライマリ・ノード６０２（例えば悪意あるコードに感染している）がセカンダリ・ノード（単数または複数）６０４とのデータ通信に関与した（例えばデータ・パケットをやり取りした）かどうか、およびセカンダリ・ノード（単数または複数）６０４が１つ以上のターシャリ・ノード６０６ａ／ｂ／ｃとのデータ通信に関与したかどうかを判断するための照会処理を可能にする。したがって、図６は、２つ以上のノード間に存在し得る分離度と、例えば特定のノードが悪意あるコードに感染したプライマリ・ノードに対し直接または間接の接続を有することに基づいて割り当てられ得るリスク・スコアとを示す。
【００６４】
図６に示されているとおり、プライマリ・ノード６０２は、感染したまたは侵害されたノードであり、よって、最高リスク・スコアを有する。セカンダリ・ノード６０４は、プライマリ・ノード６０２への直接接続を有し、その結果として、中〜高リスク・スコアを有する。ターシャリ・ノード６０６ａ／ｂ／ｃは、セカンダリ・ノード６０４への直接接続を有するが、プライマリ・ノード６０２に対しては間接接続を有し、よって、ノード６０６ａ／ｂ／ｃは、セカンダリ・ノード６０４に割り当てられたリスク・スコアよりもわずかに低いリスク・スコア（中リスク）を有する。よって、ネットワーク１００の中の他の１つ以上のノード６０８は、それらのプライマリ・ノード６０２に対する分離度に基づき、より低いまたはより高い相対リスク・スコアを有してもよい。一部の実装では、リスク・スコアは、ＧＤＢ４１２またはＧＤＢ４１４に記憶されるメタデータ・タグを使用して特定のノードに割り当てられる。
【００６５】
照会結果は、ノード・ツリーまたはノード構造６００として表すことができ、追加の照会を提出して、プライマリ・ノード６０２に対する検出された接続に基づき他のノード６０８を含めるようノード構造６００を拡大することができる。プライマリ・ノードは、悪意あるコードに最近感染したノードとすることができる。したがって、照会をモジュール１２０ｂに提出することで、ほかのどのノードが悪意あるコードに感染した可能性があり得るか、またはそうでなければサイバー・セキュリティ攻撃を受けやすい／影響されやすいと考えられるかが判断される。リスク・スコアは、悪意あるネットワーク・イベントの検出に基づき、且つネットワーク１００内の他のコンピューティング・ノードに悪意ある特定のイベントが影響を及ぼした確率に基づき割り当てることができる。
【００６６】
本主題の実施形態、および本明細書に記載された機能動作は、デジタル電子回路において、または有形に具現化されたコンピュータ・ソフトウェアもしくはファームウェアにおいて、または本明細書で開示された構造およびその構造上の等価物を含むコンピュータ・ハードウェアにおいて、またはそのうちの１つ以上の組み合わせにおいて実装できる。本明細書に記載された主題の実施形態は、１つ以上のコンピュータ・プログラム、すなわちデータ処理装置により実行されるよう、またはデータ処理装置の動作を制御するよう、有形の非一時的プログラム保持体上にコードされたコンピュータ・プログラム命令の１つ以上のモジュールなどとして実装できる。あるいは、またはさらに、プログラム命令は、例えば機械により生成された電気、光、または電磁信号などの人工的に生成される伝播信号上にコードでき、該信号は、データ処理装置による実行のために適切な受信器装置に送信するべく情報をコードするために生成される。コンピュータ・ストレージ媒体は、機械可読ストレージ・デバイス、機械可読ストレージ基板、ランダムもしくは逐次アクセス・メモリ・デバイス、またはその１つ以上の組み合わせとすることができる。
【００６７】
コンピュータ・プログラム（プログラム、ソフトウェア、ソフトウェア・アプリケーション、モジュール、ソフトウェア・モジュール、スクリプト、またはコードと呼ばれることも記載されることもある）は、コンパイル型もしくはインタープリタ型言語、または宣言型もしくは手続き型言語を含む任意の形式のプログラミング言語で書くことができ、スタンドアロン・プログラムとして、またはモジュール、コンポーネント、サブルーチン、あるいはコンピューティング環境用に適した他のユニットとしてを含め、任意の形態で展開できる。コンピュータ・プログラムは、ファイル・システムの中のファイルに対応することもあるが、必須ではない。プログラムは、例えばマークアップ言語ドキュメントに格納される１つ以上のスクリプトなど、他のプログラムまたはデータを保持するファイルの一部、対象のプログラム専用の単一ファイル、あるいは例えば１つ以上のモジュール、サブプログラム、またはコードの一部を格納する複数ファイルなどの複数の連携ファイルに格納可能である。コンピュータ・プログラムは、１つのコンピュータ上、または１つの場所に位置するかもしくは複数の場所に分散し通信ネットワークにより相互接続された複数のコンピュータ上で実行されるよう展開可能である。
【００６８】
本明細書に記載されたプロセスおよび論理フローは、入力データに作用し出力を生成することにより機能を実行する１つ以上のコンピュータ・プログラムを実行する１つ以上のプログラマブル・コンピュータにより実行できる。プロセスおよび論理フローはさらに、例えばＦＰＧＡ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ：フィールド・プログラマブル・ゲート・アレイ）、ＡＳＩＣ（特定用途向け集積回路）、またはＧＰＵ（汎用グラフィックス処理ユニット）などの専用論理回路により実行可能であり、装置はさらに、該専用論理回路として実装可能である。
【００６９】
コンピュータ・プログラムを実行するのに適したコンピュータは、例として、汎用もしくは専用マイクロプロセッサまたはその両方、あるいはその他任意の種類の中央処理ユニットに基づくことができる。一般に、中央処理ユニットは、読み取り専用メモリまたはランダム・アクセス・メモリまたは両方から命令およびデータを受信する。コンピュータの必須要素は、命令を実施または実行する中央処理ユニット、ならびに命令およびデータを記憶する１つ以上のメモリ・デバイスである。一般に、コンピュータはさらに、例えば磁気、光磁気ディスク、もしくは光ディスクなど、データを記憶する１つ以上の大容量ストレージ・デバイスを含むか、またはそれからデータを受信するよう、もしくはそれにデータを転送するよう動作上結合されるか、またはその両方である。なお、コンピュータはそのようなデバイスを有しなくてもよい。さらにコンピュータは、ごく少数の例を挙げると、モバイル電話、携帯情報端末（ＰＤＡ：ｐｅｒｓｏｎａｌ  ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｔ）、モバイル・オーディオまたはビデオ・プレーヤ、ゲーム機、全地球測位システム（ＧＰＳ：Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）受信器、または例えばユニバーサル・シリアル・バス（ＵＳＢ：ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ）フラッシュ・ドライブなどのポータブル・ストレージ・デバイスなど、別のデバイスに組み込むことができる。
【００７０】
コンピュータ・プログラム命令およびデータを記憶するのに適したコンピュータ可読媒体は、あらゆる形式の不揮発性メモリ、媒体、およびメモリ・デバイスを含み、例として、例えばＥＰＲＯＭ、ＥＥＰＲＯＭ、およびフラッシュ・メモリ・デバイスなどの半導体メモリ・デバイス、例えば内蔵ハード・ディスクまたはリムーバブル・ディスクなどの磁気ディスク、光磁気ディスク、ならびにＣＤ  ＲＯＭおよびＤＶＤ−ＲＯＭディスクなどが含まれる。プロセッサおよびメモリは、専用論理回路により補完されること、またはそれに組み込まれることが可能である。
【００７１】
ユーザとのやり取りを提供するために、本明細書に記載されている主題の実施形態は、ユーザに情報を表示するための、例えばＣＲＴ（ｃａｔｈｏｄｅ  ｒａｙ  ｔｕｂｅ：陰極線管）またはＬＣＤ（ｌｉｑｕｉｄ  ｃｒｙｓｔａｌ  ｄｉｓｐｌａｙ：液晶ディスプレイ）モニタなどのディスプレイ・デバイス、ならびにユーザが入力をコンピュータに提供することができるキーボードおよび、例えばマウス、またはトラックボールなどのポインティング・デバイスを有するコンピュータ上に実装できる。他の種類のデバイスを、同じくユーザとのやり取りを提供するために使用可能である。例えば、ユーザに提供されるフィードバックは、例えば視覚フィードバック、聴覚フィードバック、または触覚フィードバックなど、任意の形式の感覚フィードバックとすることができ、ユーザからの入力は、音響、スピーチ、または触覚入力を含め、任意の形式で受信可能である。さらに、コンピュータは、例えばウェブ・ブラウザから受信されたリクエストに応答してウェブ・ページをユーザのクライアント・デバイス上のウェブ・ブラウザへ送信するなど、ユーザにより使用されるデバイスにドキュメントを送信し該デバイスからドキュメントを受信することで、ユーザとやり取りできる。
【００７２】
本明細書に記載されている主題の実施形態は、例えばデータ・サーバとしてなど、バックエンド・コンポーネントを含むコンピューティング・システム、または、例えばアプリケーション・サーバなど、ミドルウェア・コンポーネントを含むコンピューティング・システム、または、例えば本明細書に記載されている主題の実装とのやり取りをユーザがすることができるグラフィカル・ユーザ・インターフェースもしくはウェブ・ブラウザを有するクライアント・コンピュータなど、フロント・エンド・コンポーネントを含むコンピューティング・システム、またはそのようなバックエンド、ミドルウェア、もしくはフロント・エンド・コンポーネントの１つ以上の任意の組み合わせにおいて実装できる。システムのコンポーネントは、例えば通信ネットワークなど、任意の形態または媒体のデジタル・データ通信により相互接続可能である。通信ネットワークの例としては、ローカル・エリア・ネットワーク（「ＬＡＮ（ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）」）、および例えばインターネットなどのワイド・エリア・ネットワーク（「ＷＡＮ（ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）」）が挙げられる。
【００７３】
コンピューティング・システムは、クライアントおよびサーバを含むことができる。クライアントとサーバとは、一般に、互いに遠隔にあり、典型的には通信ネットワークを介してやり取りする。クライアントとサーバとの関係は、各コンピュータ上で実行され互いにクライアント−サーバ関係を有するコンピュータ・プログラムにより生じる。
【００７４】
本明細書は具体的な実装の詳細を多数含むが、これらは、任意の発明の範囲または特許請求の範囲に対する制限として解釈されるべきではなく、むしろ特定の発明の特定の実施形態に特有であり得る特徴の記載として解釈されるべきである。別々の実施形態との関連で本明細書に記載されている特定の特徴は、単一の実施形態において組み合わせて実装されることも可能である。逆に、単一の実施形態との関連で記載されている様々な特徴が、複数の実施形態で別々に、または任意の適切な一部組み合わせで実装されることも可能である。さらに、各特徴は、特定の組み合わせで動作するよう上記に記載されることもあり、当初そのように請求されることさえもあるが、場合によっては、請求される組み合わせの１つ以上の特徴が、その組み合わせから削除されることが可能であり、請求される組み合わせは、一部組み合わせまたは一部組み合わせの変形物を対象とし得る。
【００７５】
同じく、各動作は特定の順序で図面に表されているが、これは、所望の結果を達成するために、当該の動作が示されている特定の順序もしくは順番で実行されること、または示されているすべての動作が実行されることを要求するものと理解されてはならない。特定の状況では、マルチタスクおよび並列処理が有利なこともある。さらに、上述の実施形態における様々なシステム・モジュールおよびコンポーネントの分離は、すべての実施形態においてそのような分離を要求するものと理解されてはならず、当然のことながら、記載されているプログラム・コンポーネントおよびシステムは、一般に、単一ソフトウェア製品に統合されること、または複数のソフトウェア製品にパッケージ化されることが可能である。
【００７６】
本主題の特定の実施形態が記載された。他の実施形態は、添付の特許請求の範囲に記載の範囲内にある。例えば、特許請求の範囲に列挙されたアクションは、異なる順序で実行でき、それでも所望の結果を達成し得る。一例として、添付の図面に表したプロセスは、所望の結果を達成するために、必ずしも示された特定の順序または順番を要求するものではない。特定の実装では、マルチタスクおよび並列処理が有利なこともある。
【符号の説明】
【００７７】
１０２  ユーザ
１０４ａ、１０４ｂ、１０４ｃ  コンピューティング資産
１０６  ネットワーク保護ツール（ファイアウォール、ＩＤＳ、プロキシ・ログなど）
１０８  インターネット
１１０  セキュリティ情報／イベント・マネージャ（ＳＩＥＭ）
１１２  データ分析デバイス
１１４  処理ユニット
１１８  データ・ストア
１２０ａ／ｂ  グラフ解析モジュール
１２２ａ、１２２ｂ  データ通信パス
【図１】
2018049602.tif 000003
【図２】
2018049602.tif 000004
【図３】
2018049602.tif 000005
【図４】
2018049602.tif 000006
【図５】
2018049602.tif 000007
【図６】
2018049602.tif 000008
【外国語明細書】
2018049602000001.pdf
2018049602000002.pdf
2018049602000003.pdf
2018049602000004.pdf