(57)【要約】  イベント相関グラフを使用してコンピューティングシステムに対する攻撃を検出するための、コンピュータによって実行される方法は、（１）コンピューティングシステム内の第１のアクタに関与する不審イベントを検出することと、（２）第１のアクタを表す第１のノードと、第２のアクタを表す第２のノードと、第１のノードと第２のノードとを相互接続し、第１のアクタ及び第２のアクタに関与する不審イベントを表す、エッジとを含む、イベント相関グラフを構築することと、（３）更なる不審イベントに少なくとも部分的に基づいて、そのイベント相関グラフに関する攻撃スコアを算出することと、（４）この攻撃スコアが既定の閾値を上回ることを判定することと、（５）その攻撃スコアが既定の閾値を上回ることに少なくとも部分的に基づいて、その不審イベントがコンピューティングシステムに対する攻撃の一部であり得ることを判定することとを含み得る。様々な他の方法、システム、及びコンピュータ可読媒体もまた、開示される。
2016528656.tif 000002
【特許請求の範囲】
【請求項１】
イベント相関グラフを使用してコンピューティングシステムに対する攻撃を検出するための、コンピュータによって実行される方法であって、前記方法の少なくとも一部分が、少なくとも１つのプロセッサを備えるコンピューティングデバイスによって実行され、前記方法が、
コンピューティングシステム内の第１のアクタに関与する不審イベントを検出することと、
前記第１のアクタに関与する前記不審イベントの検出に応じて、イベント相関グラフを構築することであって、前記イベント相関グラフが、少なくとも、
前記第１のアクタを表す第１のノードと、
第２のアクタを表す第２のノードと、
エッジであって、
前記第１のノードと前記第２のノードとを相互接続し、
前記第１のアクタ及び前記第２のアクタに関与する不審イベントを表す、
エッジと、
を含むことと、
前記第１のアクタ及び前記第２のアクタに関与する前記更なる不審イベントに少なくとも部分的に基づいて、前記イベント相関グラフに関する攻撃スコアを算出することと、
前記攻撃スコアが既定の閾値を上回ることを判定することと、
前記攻撃スコアが前記既定の閾値を上回ることに少なくとも部分的に基づいて、前記不審イベントが前記コンピューティングシステムに対する攻撃を含むことを、判定することと、
を含む、コンピュータによって実行される方法。
【請求項２】
前記イベント相関グラフを構築することが、前記イベント相関グラフ内のノードによって表される各アクタに関して、
前記アクタ及び少なくとも１つの更なるアクタに関与する、イベントのセットを特定することと、
前記イベントのセット内の各イベントに関して、
前記更なるアクタを表す更なるノードを、前記イベント相関グラフに追加することと、
前記ノードと更なるノードとを相互接続し、
前記アクタ及び前記更なるアクタに関与する前記イベントを表す、
更なるエッジを、前記イベント相関グラフに追加することと、
を含む、請求項１に記載のコンピュータによって実行される方法。
【請求項３】
前記イベントのセットが、不審イベントのセットを含む、請求項２に記載のコンピュータによって実行される方法。
【請求項４】
前記イベント相関グラフを構築することが、前記イベント相関グラフ内のノードによって表される各アクタに関して、
前記アクタに関与し、他のアクタに関与しない、不審イベントのセットを特定することと、
前記不審イベントのセット内の各不審イベントを、前記アクタを表す前記ノードに関連付けることと、
を含む、請求項１に記載のコンピュータによって実行される方法。
【請求項５】
前記イベント相関グラフ内に表される各不審イベントが、不審性スコアに関連付けられ、
前記イベント相関グラフに関する前記攻撃スコアを算出することが、前記イベント相関グラフ内に表される各不審イベントの前記不審性スコアに、少なくとも部分的に基づく、
請求項１に記載のコンピュータによって実行される方法。
【請求項６】
前記イベント相関グラフに関する前記攻撃スコアを算出することが、
前記イベント相関グラフ内の各エッジに関するスコアを、前記エッジによって表される前記不審イベントに関連付けられた不審性スコアに少なくとも部分的に基づいて、算出することと、
前記イベント相関グラフ内の各エッジに関する前記スコアに少なくとも部分的に基づいて、前記イベント相関グラフに関する前記攻撃スコアを算出することと、
を含む、請求項１に記載のコンピュータによって実行される方法。
【請求項７】
前記イベント相関グラフに関する前記攻撃スコアを算出することが、
前記イベント相関グラフ内の各ノードに関するスコアを、前記ノードに関連付けられる各不審イベントに関連付けられた不審性スコアに少なくとも部分的に基づいて、算出することと、
前記イベント相関グラフ内の各ノードに関する前記スコアに少なくとも部分的に基づいて、前記イベント相関グラフに関する前記攻撃スコアを算出することと、
を含む、請求項１に記載のコンピュータによって実行される方法。
【請求項８】
前記イベント相関グラフに関する前記攻撃スコアを算出する前に、少なくとも１つの低スコアのノードの領域を、前記低スコアのノードの領域のスコアが、更なる既定の閾値を下回ることに少なくとも部分的に基づいて、前記イベント相関グラフから除去することを更に含む、請求項１に記載のコンピュータによって実行される方法。
【請求項９】
前記イベント相関グラフに関する前記攻撃スコアを算出する前に、少なくとも１つの遠隔ノードを、前記第１のノードからの前記遠隔ノードの距離が、更なる既定の閾値を上回ることに少なくとも部分的に基づいて、前記イベント相関グラフから除去することを更に含む、請求項１に記載のコンピュータによって実行される方法。
【請求項１０】
前記コンピューティングシステムの管理者に、前記イベント相関グラフのグラフィック表現を表示することを更に含む、請求項１に記載のコンピュータによって実行される方法。
【請求項１１】
イベント相関グラフを使用してコンピューティングシステムに対する攻撃を検出するためのシステムであって、
コンピューティングシステム内の第１のアクタに関与する不審イベントを検出する、検出モジュールと、
前記第１のアクタに関与する前記不審イベントの検出に応じて、イベント相関グラフを構築する、構築モジュールであって、前記イベント相関グラフが、少なくとも、
前記第１のアクタを表す第１のノードと、
前記コンピューティングシステム内の第２のアクタを表す第２のノードと、
エッジであって、
前記第１のノードと前記第２のノードとを相互接続し、
前記第１のアクタ及び前記第２のアクタに関与する更なる不審イベントを表す、
エッジと、
を含む、構築モジュールと、
前記第１のアクタ及び前記第２のアクタに関与する前記更なる不審イベントに少なくとも部分的に基づいて、前記イベント相関グラフに関する攻撃スコアを算出する、スコア算出モジュールと、
前記攻撃スコアが既定の閾値を上回ることを判定する、閾値判定モジュールと、
前記攻撃スコアが前記既定の閾値を上回ることに少なくとも部分的に基づいて、前記不審イベントが前記コンピューティングシステムに対する攻撃を含むことを判定する、攻撃判定モジュールと、
前記検出モジュール、前記構築モジュール、前記スコア算出モジュール、前記閾値判定モジュール、及び前記攻撃判定モジュールを実行する、少なくとも１つの物理プロセッサと、
を備える、システム。
【請求項１２】
前記構築モジュールが、前記イベント相関グラフ内のノードによって表される各アクタに関して、
前記アクタ及び少なくとも１つの更なるアクタに関与する、イベントのセットを特定することと、
前記イベントのセット内の各イベントに関して、
前記更なるアクタを表す更なるノードを、前記イベント相関グラフに追加することと、
前記ノードと更なるノードとを相互接続し、
前記アクタ及び前記更なるアクタに関与する前記イベントを表す、
更なるエッジを、前記イベント相関グラフに追加することと、
によって、前記イベント相関グラフを構築する、請求項１１に記載のシステム。
【請求項１３】
前記イベントのセットが、不審イベントのセットを含む、請求項１２に記載のシステム。
【請求項１４】
前記構築モジュールが、前記イベント相関グラフ内のノードによって表される各アクタに関して、
前記アクタに関与し、他のアクタに関与しない、不審イベントのセットを特定することと、
前記不審イベントのセット内の各不審イベントを、前記アクタを表す前記ノードに関連付けることと、
によって、前記イベント相関グラフを構築する、請求項１１に記載のシステム。
【請求項１５】
前記イベント相関グラフ内に表される各不審イベントが、不審性スコアに関連付けられ、
前記スコア算出モジュールが、前記イベント相関グラフ内に表される各不審イベントの前記不審性スコアに、少なくとも部分的に基づいて、前記イベント相関グラフに関する前記攻撃スコアを算出する、
請求項１１に記載のシステム。
【請求項１６】
前記スコア算出モジュールが、
前記イベント相関グラフ内の各エッジに関するスコアを、前記エッジによって表される前記不審イベントに関連付けられた不審性スコアに少なくとも部分的に基づいて、算出することと、
前記イベント相関グラフ内の各エッジに関する前記スコアに少なくとも部分的に基づいて、前記イベント相関グラフに関する前記攻撃スコアを算出することと、
によって、前記イベント相関グラフに関する前記攻撃スコアを算出する、請求項１１に記載のシステム。
【請求項１７】
前記スコア算出モジュールが、
前記イベント相関グラフ内の各ノードに関するスコアを、前記ノードに関連付けられる各不審イベントに関連付けられた不審性スコアに少なくとも部分的に基づいて、算出することと、
前記イベント相関グラフ内の各ノードに関する前記スコアに少なくとも部分的に基づいて、前記イベント相関グラフに関する前記攻撃スコアを算出することと、
によって、前記イベント相関グラフに関する前記攻撃スコアを算出する、請求項１１に記載のシステム。
【請求項１８】
前記構築モジュールが、前記イベント相関グラフに関する前記攻撃スコアが算出される前に、少なくとも１つの低スコアのノードの領域を、前記低スコアのノードの領域のスコアが、更なる既定の閾値を下回ることに少なくとも部分的に基づいて、前記イベント相関グラフから更に除去する、請求項１１に記載のシステム。
【請求項１９】
前記構築モジュールが、前記イベント相関グラフに関する前記攻撃スコアが算出される前に、少なくとも１つの遠隔ノードを、前記第１のノードからの前記遠隔ノードの距離が、更なる既定の閾値を上回ることに少なくとも部分的に基づいて、前記イベント相関グラフから更に除去する、請求項１１に記載のシステム。
【請求項２０】
１つ以上のコンピュータ実行可能命令を含む、非一時的コンピュータ可読媒体であって、前記１つ以上のコンピュータ実行可能命令が、コンピューティングデバイスの少なくとも１つのプロセッサによって実行されると、前記コンピューティングデバイスに、
前記コンピューティングシステム内の第１のアクタに関与する不審イベントを検出させ、
前記第１のアクタに関与する前記不審イベントの検出に応じて、イベント相関グラフを構築させ、前記イベント相関グラフが、少なくとも、
前記第１のアクタを表す第１のノードと、
前記コンピューティングシステム内の第２のアクタを表す第２のノードと、
エッジであって、
前記第１のノードと前記第２のノードとを相互接続し、
前記第１のアクタ及び前記第２のアクタに関与する更なる不審イベントを表す、
エッジと、
を含み、
前記第１のアクタ及び前記第２のアクタに関与する前記更なる不審イベントに少なくとも部分的に基づいて、前記イベント相関グラフに関する攻撃スコアを算出させ、
前記攻撃スコアが既定の閾値を上回ることを判定させ、
前記攻撃スコアが前記既定の閾値を上回ることに少なくとも部分的に基づいて、前記不審イベントが前記コンピューティングシステムに対する攻撃を含むことを判定させる、
非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
近年、悪意のあるプログラマが、政府、企業、政治組織、防衛請負業者などの、高い注目度又は高いレベルのエンティティを対象とする、様々な巧妙な標的型攻撃を作り出している。多くの場合、そのような標的型攻撃の目的は、財務情報、防衛関連情報、及び／又は知的財産（例えば、ソースコード）などの、高度な保護必要情報若しくは機密情報にアクセスすること、並びに／あるいは、単にエンティティの業務を妨害することである。
【発明の概要】
【発明が解決しようとする課題】
【０００２】
多くのセキュリティソフトウェア会社は、定期的にマルウェアシグネチャ（例えば、既知のマルウェアを一意的に特定するハッシュ関数）を作成し、自身の顧客に配備することによって、標的型攻撃に対抗することを試みる。しかしながら、著しい数の上述の攻撃は、特定のアプリケーションの未だ発見されていない脆弱性を利用するように慎重に作り込まれた、（「ゼロデイ」エクスプロイトとして周知の）マルウェアを伴う。それゆえ、それらの問題となるエクスプロイトは、公的には未発見であるため、従来のセキュリティソフトウェアが、これらの攻撃を検出及び／又は無力化することは、多くの場合困難である。
【０００３】
シグネチャベースの手法に加えて、又はその手法の代替として、一部のセキュリティソフトウェア会社は、様々な挙動ベースのヒューリスティックを適用することにより、標的型攻撃を検出することができる。残念ながら、著しい数の標的型攻撃（例えば、持続的標的型攻撃）は、スローペースで進展することによって、それらの悪意のある挙動を不明瞭化することができるため、従来のセキュリティソフトウェアは、それらの標的型攻撃の悪意のある個別の挙動を、正当な挙動から区別することが不可能となる恐れがある。したがって、本開示は、コンピューティングシステムに対する攻撃を検出するためのシステム及び方法に関する必要性を特定し、対処する。
【課題を解決するための手段】
【０００４】
以下でより詳細に説明されるように、本開示は、全般的に、イベント相関グラフを使用してコンピューティングシステムに対する攻撃を検出するための、システム及び方法に関する。一実施例では、イベント相関グラフを使用してコンピューティングシステムに対する攻撃を検出するための、コンピュータによって実行される方法は、（１）コンピューティングシステム内の第１のアクタに関与する不審イベントを検出することと、（２）この第１のアクタに関与する不審イベントの検出に応じて、少なくとも、第１のアクタを表す第１のノードと、第２のアクタを表す第２のノードと、第１のノードと第２のノードとを相互接続し、第１のアクタ及び第２のアクタに関与する不審イベントを表す、エッジとを含む、イベント相関グラフを構築することと、（３）第１のアクタ及び第２のアクタに関与する更なる不審イベントに少なくとも部分的に基づいて、そのイベント相関グラフに関する攻撃スコアを算出することと、（４）この攻撃スコアが既定の閾値を上回ることを判定することと、（５）その攻撃スコアが既定の閾値を上回ることに少なくとも部分的に基づいて、その不審イベントがコンピューティングシステムに対する攻撃の一部であり得ることを判定することとを含み得る。
【０００５】
一部の実施例では、イベント相関グラフを構築するステップは、イベント相関グラフ内のノードによって表される各アクタに関して、（１）そのアクタ及び少なくとも１つの更なるアクタに関与する、イベントのセットを特定することと、（２）このイベントのセット内の各イベントに関して、その更なるアクタを表す更なるノードと、そのノードと更なるノードとを相互接続し、そのアクタ及び更なるアクタに関与するイベントを表す、更なるエッジとを、イベント相関グラフに追加することとを含み得る。少なくとも一実施例では、イベントのセットは、不審イベントのセットを含み得る。
【０００６】
一部の実施形態では、イベント相関グラフを構築するステップは、イベント相関グラフ内のノードによって表される各アクタに関して、（１）そのアクタに関与し、他のアクタに関与しない、不審イベントのセットを特定することと、（２）この不審イベントのセット内の各不審イベントを、そのアクタを表すノードに関連付けることとを含み得る。
【０００７】
一部の実施例では、イベント相関グラフ内に表される各不審イベントは、不審性スコアに関連付けることができ、イベント相関グラフに関する攻撃スコアを算出するステップは、そのイベント相関グラフ内に表される各不審イベントの不審性スコアに、少なくとも部分的に基づき得る。
【０００８】
一部の実施形態では、イベント相関グラフに関する攻撃スコアを算出するステップは、（１）イベント相関グラフ内の各エッジに関するスコアを、そのエッジによって表される不審イベントに関連付けられた不審性スコアに少なくとも部分的に基づいて、算出することと、（２）このイベント相関グラフ内の各エッジに関するスコアに少なくとも部分的に基づいて、イベント相関グラフに関する攻撃スコアを算出することとを含み得る。
【０００９】
一部の実施例では、イベント相関グラフに関する攻撃スコアを算出するステップは、（１）イベント相関グラフ内の各ノードに関するスコアを、そのノードに関連付けられる各不審イベントに関連付けられた不審性スコアに少なくとも部分的に基づいて、算出することと、（２）このイベント相関グラフ内の各ノードに関するスコアに少なくとも部分的に基づいて、イベント相関グラフに関する攻撃スコアを算出することとを含み得る。
【００１０】
一部の実施形態では、イベント相関グラフを使用してコンピューティングシステムに対する攻撃を検出するための、コンピュータによって実行される方法は、イベント相関グラフに関する攻撃スコアを算出する前に、少なくとも１つの低スコアのノードの領域を、その低スコアのノードの領域のスコアが、既定の閾値を下回ることに少なくとも部分的に基づいて、イベント相関グラフから除去することを更に含み得る。
【００１１】
一部の実施例では、イベント相関グラフを使用してコンピューティングシステムに対する攻撃を検出するための、コンピュータによって実行される方法は、イベント相関グラフに関する攻撃スコアを算出する前に、少なくとも１つの遠隔ノードを、第１のノードからの遠隔ノードの距離が、既定の閾値を上回ることに少なくとも部分的に基づいて、イベント相関グラフから除去することを更に含み得る。
【００１２】
一部の実施形態では、イベント相関グラフを使用してコンピューティングシステムに対する攻撃を検出するための、コンピュータによって実行される方法は、そのコンピューティングシステムの管理者に、イベント相関グラフのグラフィック表現を表示することを更に含み得る。
【００１３】
一実施形態では、上述の方法を実行するためのシステムは、（１）コンピューティングシステム内の第１のアクタに関与する不審イベントを検出する、検出モジュールと、（２）この第１のアクタに関与する不審イベントの検出に応じて、少なくとも、第１のアクタを表す第１のノードと、そのコンピューティングシステム内の第２のアクタを表す第２のノードと、第１のノードと第２のノードとを相互接続し、第１のアクタ及び第２のアクタに関与する更なる不審イベントを表す、エッジとを含む、イベント相関グラフを構築する、構築モジュールと、（３）第１のアクタ及び第２のアクタに関与する更なる不審イベントに少なくとも部分的に基づいて、そのイベント相関グラフに関する攻撃スコアを算出する、スコア算出モジュールと、（４）この攻撃スコアが既定の閾値を上回ることを判定する、閾値判定モジュールと、（５）その攻撃スコアが既定の閾値を上回ることに少なくとも部分的に基づいて、その不審イベントがコンピューティングシステムに対する攻撃の一部であり得ることを判定する、攻撃判定モジュールと、（６）検出モジュール、構築モジュール、スコア算出モジュール、閾値判定モジュール、及び攻撃判定モジュールを実行する、少なくとも１つのプロセッサとを含み得る。
【００１４】
一部の実施例では、上述の方法は、非一時的コンピュータ可読記憶媒体上のコンピュータ可読命令として、コード化することができる。例えば、コンピュータ可読記憶媒体は、１つ以上のコンピュータ実行可能命令を含み得るものであり、それらのコンピュータ実行可能命令は、コンピューティングデバイスの少なくとも１つのプロセッサによって実行されると、そのコンピューティングデバイスに、（１）コンピューティングシステム内の第１のアクタに関与する不審イベントを検出させ、（２）この第１のアクタに関与する不審イベントの検出に応じて、少なくとも、第１のアクタを表す第１のノードと、第２のアクタを表す第２のノードと、第１のノードと第２のノードとを相互接続し、第１のアクタ及び第２のアクタに関与する更なる不審イベントを表す、エッジとを含む、イベント相関グラフを構築させ、（３）第１のアクタ及び第２のアクタに関与する更なる不審イベントに少なくとも部分的に基づいて、そのイベント相関グラフに関する攻撃スコアを算出させ、（４）この攻撃スコアが既定の閾値を上回ることを判定させ、（５）その攻撃スコアが既定の閾値を上回ることに少なくとも部分的に基づいて、その不審イベントがコンピューティングシステムに対する攻撃の一部であり得ることを判定させることができる。
【００１５】
上述の実施形態のうちのいずれによる特徴も、本明細書で説明される一般原理に従って、互いに組み合わせて使用することができる。これらの実施形態、特徴、及び利点、並びに他の実施形態、特徴、及び利点は、添付の図面及び特許請求の範囲と併せて、以下の「発明を実施するための形態」を読むことによって、より完全に理解されるであろう。
【図面の簡単な説明】
【００１６】
添付の図面は、幾つかの例示的実施形態を示すものであり、本明細書の一部をなす。以下の説明と併せて、これらの図面は、本開示の様々な原理を実証及び説明する。
【図１】イベント相関グラフを使用してコンピューティングシステムに対する攻撃を検出するための、例示的システムのブロック図である。
【図２】イベント相関グラフを使用してコンピューティングシステムに対する攻撃を検出するための、更なる例示的システムのブロック図である。
【図３】イベント相関グラフを使用してコンピューティングシステムに対する攻撃を検出するための、例示的方法の流れ図である。
【図４】例示的なイベント相関グラフのブロック図である。
【図５】例示的なイベント相関グラフのブロック図である。
【図６】例示的なイベント相関グラフのブロック図である。
【図７】例示的なイベント相関グラフのブロック図である。
【図８】例示的なイベント相関グラフのブロック図である。
【図９】例示的なイベント相関グラフのブロック図である。
【図１０】例示的なイベント相関グラフのブロック図である。
【図１１】本明細書で説明及び／又は図示される実施形態のうちの１つ以上を実施することが可能な、例示的なコンピューティングシステムのブロック図である。
【図１２】本明細書で説明及び／又は図示される実施形態のうちの１つ以上を実施することが可能な、例示的なコンピューティングネットワークのブロック図である。
【００１７】
これらの図面全体を通して、同一の参照文字及び説明は、同様ではあるが、必ずしも同一ではない要素を示す。本明細書で説明される例示的実施形態は、様々な修正及び代替的形態を許容するものであるが、特定の実施形態が例として図面には示されており、本明細書で詳細に説明されるであろう。しかしながら、本明細書で説明される例示的実施形態は、開示される特定の形態に限定されることを意図するものではない。むしろ、本開示は、添付の特許請求の範囲内に含まれる全ての修正、等価物、及び代替物を包含するものである。
【発明を実施するための形態】
【００１８】
本開示は、全般的に、イベント相関グラフを使用してコンピューティングシステムに対する攻撃を検出するための、システム及び方法を目的とする。以下でより詳細に説明されるように、不審イベント使用して、その不審イベントに関与するアクタが、その不審イベントによってどのように関連するかに基づいて、イベント相関グラフを構築することによって、本明細書で説明されるシステム及び方法は、コンピューティングシステムに対する標的型攻撃の検出を可能にすることができる。更には、一部の実施例では、グラフベースの相関の手法を使用して、コンピューティングシステムに対する攻撃を検出することによって、これらのシステム及び方法は、それらの攻撃に関する、より深い理解（例えば、それらの攻撃に関与するアクタ及び方法）を提供することが可能な情報を、生成することができる。本開示の実施形態はまた、以下でより詳細に論じられるように、様々な他の利点及び特徴も提供することができる。
【００１９】
以下では、図１、図２を参照して、イベント相関グラフを使用してコンピューティングシステムに対する攻撃を検出するための、例示的システムの詳細な説明が提供される。コンピュータによって実行される対応する方法の詳細な説明もまた、図３〜図１０に関連して提供される。更には、本明細書で説明される実施形態のうちの１つ以上を実行することが可能な、例示的なコンピューティングシステム及びネットワークアーキテクチャの詳細な説明が、それぞれ、図１１及び図１２に関連して提供される。
【００２０】
図１は、イベント相関グラフを使用してコンピューティングシステムに対する攻撃を検出するための、例示的システム１００のブロック図である。この図に示されるように、例示的システム１００は、１つ以上のタスクを実行するための、１つ以上のモジュール１０２を含み得る。例えば、以下でより詳細に説明されるように、例示的システム１００は、コンピューティングシステム内の第１のアクタに関与する不審イベントを検出する、検出モジュール１０４を含み得る。例示的システム１００はまた、この第１のアクタに関与する不審イベントの検出に応じて、イベント相関グラフを構築する、構築モジュール１０６も含み得る。
【００２１】
更には、以下でより詳細に説明されるように、例示的システム１００は、そのイベント相関グラフに関する攻撃スコアを算出する、スコア算出モジュール１０８を含み得る。例示的システム１００はまた、この攻撃スコアが既定の閾値を上回ることを判定する、閾値判定モジュール１１０も含み得る。例示的システム１００は、その攻撃スコアが既定の閾値を上回ることに少なくとも部分的に基づいて、その不審イベントがコンピューティングシステムに対する攻撃の一部であり得ることを判定する、攻撃判定モジュール１１２を更に含み得る。別個の要素として示されているが、図１でのモジュール１０２のうちの１つ以上は、単一のモジュール又はアプリケーションの諸部分を表し得る。
【００２２】
特定の実施形態では、図１でのモジュール１０２のうちの１つ以上は、コンピューティングデバイスによって実行されると、そのコンピューティングデバイスに１つ以上のタスクを実行させることが可能な、１つ以上のソフトウェアアプリケーション又はプログラムを表し得る。例えば、以下でより詳細に説明されるように、モジュール１０２のうちの１つ以上は、図２に示されるデバイス（例えば、コンピューティングデバイス２０２（１）〜２０２（Ｎ）及び／又はサーバ２０６）、図１１でのコンピューティングシステム１１１０、及び／又は図１２での例示的ネットワークアーキテクチャ１２００の諸部分などの、１つ以上のコンピューティングデバイス上に記憶され、実行されるように構成された、ソフトウェアモジュールを表し得る。図１でのモジュール１０２のうちの１つ以上はまた、１つ以上のタスクを実行するように構成された、１つ以上の専用コンピュータの全体又は諸部分も表し得る。
【００２３】
図１に示されるように、例示的システム１００はまた、データベース１２０などの、１つ以上のデータベースも含み得る。一実施例では、データベース１２０は、１つ以上の不審イベントについての情報を記憶するための、不審イベント１２２と、不審イベントに関連付けられた不審性スコアについての情報を記憶するための、不審性スコア１２４と、１つ以上のイベント相関グラフについての情報を記憶するための、イベント相関グラフ１２６とを含み得る。
【００２４】
データベース１２０は、単一のデータベース若しくはコンピューティングデバイス、又は複数のデータベース若しくはコンピューティングデバイスの、諸部分を表し得る。例えば、データベース１２０は、図２でのサーバ２０６、図１１でのコンピューティングシステム１１１０の一部分、及び／又は図１２での例示的ネットワークアーキテクチャ１２００の諸部分を表し得る。あるいは、図１でのデータベース１２０は、図２でのサーバ２０６、図１１でのコンピューティングシステム１１１０、及び／又は図１２での例示的ネットワークアーキテクチャ１２００の諸部分などのコンピューティングデバイスによってアクセスすることが可能な、物理的に別個の１つ以上のデバイスを表し得る。
【００２５】
図１での例示的システム１００は、様々な方式で実施することができる。例えば、例示的システム１００の全て又は一部分は、図２での例示的システム２００の諸部分を表し得る。図２に示されるように、システム２００は、ネットワーク２０４を介してサーバ２０６と通信する、コンピューティングデバイス２０２（１）〜２０２（Ｎ）を含み得る。一実施例では、コンピューティングデバイス２０２（１）〜２０２（Ｎ）に、モジュール１０２のうちの１つ以上をプログラムすることができ、かつ／又は、データベース１２０内のデータの全て若しくは一部分を記憶させることができる。更には、又は代替的に、サーバ２０６に、モジュール１０２のうちの１つ以上をプログラムすることができ、かつ／又は、データベース１２０内のデータの全て若しくは一部分を記憶させることができる。
【００２６】
一実施形態では、図１からのモジュール１０２のうちの１つ以上は、コンピューティングデバイス２０２（１）〜２０２（Ｎ）のうちの１つ以上及び／又はサーバ２０６の、少なくとも１つのプロセッサによって実行されると、コンピューティングデバイス２０２（１）〜２０２（Ｎ）のうちの１つ以上及び／又はサーバ２０６が、イベント相関グラフを使用して、システム２００に対する攻撃を検出することを可能にし得る。例えば、以下でより詳細に説明されるように、モジュール１０２のうちの１つ以上は、コンピューティングデバイス２０２（１）〜２０２（Ｎ）のうちの１つ以上及び／又はサーバ２０６に、（１）システム２００内の第１のアクタに関与する不審イベントを検出させ、（２）この第１のアクタに関与する不審イベントの検出に応じて、イベント相関グラフ（例えば、図４でのイベント相関グラフ４００）を構築させ、（３）その第１のアクタに関与する不審イベントに基づいて、そのイベント相関グラフに関する攻撃スコアを算出させ、（４）この攻撃スコアが既定の閾値を上回ることを判定させ、（５）その攻撃スコアが既定の閾値を上回ることに少なくとも部分的に基づいて、その不審イベントがシステム２００に対する攻撃の一部であり得ることを判定させることができる。
【００２７】
コンピューティングデバイス２０２（１）〜２０２（Ｎ）は、一般に、コンピュータ実行可能命令を読み取ることが可能な、任意のタイプ又は形態のコンピューティングデバイスを表す。コンピューティングデバイス２０２（１）〜２０２（Ｎ）の例としては、限定するものではないが、ラップトップ、タブレット、デスクトップ、サーバ、セルラー電話、携帯情報端末（ＰＤＡ）、マルチメディアプレーヤ、ルータ、スイッチ、組み込みシステム、これらの１つ以上の組み合わせ、図１１での例示的コンピューティングシステム１１１０、図１２での例示的ネットワークアーキテクチャ１２００の諸部分、又は任意の他の好適なコンピューティングデバイスが挙げられる。図２に示されるように、コンピューティングデバイス２０２（１）〜２０２（Ｎ）はそれぞれ、コンピューティングデバイス２０２（１）〜２０２（Ｎ）のそれぞれに発生する不審イベントを検出し、かつ／又は、それらの不審イベントについての情報をサーバ２０６に送信することが可能な、検出モジュール１０４を含み得る。
【００２８】
サーバ２０６は、一般に、コンピュータ実行可能命令を読み取ることが可能な、任意のタイプ又は形態のコンピューティングデバイスを表す。サーバ２０６の例としては、限定するものではないが、様々なデータベースサービスを提供し、かつ／又は特定のソフトウェアアプリケーションを実行するように構成された、アプリケーションサーバ及びデータベースサーバが挙げられる。
【００２９】
ネットワーク２０４は、一般に、通信若しくはデータ転送を容易にすることが可能な、任意の媒体又はアーキテクチャを表す。ネットワーク２０４の例としては、限定するものではないが、イントラネット、広域ネットワーク（ＷＡＮ）、ローカルエリアネットワーク（ＬＡＮ）、パーソナルエリアネットワーク（ＰＡＮ）、インターネット、電力線通信（ＰＬＣ）、セルラーネットワーク（例えば、グローバルシステムフォーモバイルコミュニケーションズ（ＧＳＭ）（登録商標）ネットワーク）、図１２での例示的ネットワークアーキテクチャ１２００などが挙げられる。ネットワーク２０４は、無線接続若しくは有線接続を使用して、通信又はデータ転送を容易にすることができる。一実施形態では、ネットワーク２０４は、コンピューティングデバイス２０２（１）〜２０２（Ｎ）及び／又はサーバ２０６間の通信を容易にすることができる。
【００３０】
図３は、イベント相関グラフを使用してコンピューティングシステムに対する攻撃を検出するための、コンピュータによって実行される例示的な方法３００の流れ図である。図３に示されるステップは、任意の好適なコンピュータ実行可能コード及び／又はコンピューティングシステムによって、実行することができる。一部の実施形態では、図３に示されるステップは、図１でのシステム１００、図２でのシステム２００、図１１でのコンピューティングシステム１１１０、及び／又は図１２での例示的ネットワークアーキテクチャ１２００の諸部分の、構成要素のうちの１つ以上によって実行することができる。
【００３１】
図３に示されるように、ステップ３０２で、本明細書で説明されるシステムのうちの１つ以上は、コンピューティングシステム内の第１のアクタに関与する不審イベントを検出することができる。例えば、検出モジュール１０４は、図２でのサーバ２０６の一部として、コンピューティングデバイス２０２（１）上での２つのプロセスに関与する不審イベント（例えば、プロセス「ｖｉｕｘ．ｅｘｅ」が、別のプロセス「ｗｓｃｎｔｆｙ．ｅｘｅ」内にコードを注入した不審イベント）を検出することができる。
【００３２】
用語「不審イベント」とは、本明細書で使用するとき、一般に、コンピューティングシステムに対する攻撃を示し得る、コンピューティングシステム内でのあらゆる不審な発生を指す。一部の実施例では、用語「不審イベント」とは、コンピューティングシステムに対する攻撃を示し得る、コンピューティングシステム内での、１つ以上のアクタによる１つ以上の挙動の発生を指すことができる。不審イベントの例としては、限定するものではないが、あるプロセスが別のプロセス内にコードを注入すること、ブラウザが不審なウェブサイトを訪問すること、及び不明なファイルの存在を挙げることができる。一部の実施例では、不審イベントは、不審イベントの様々な属性を定義する規則を使用して、特定することができる。少なくとも一実施形態では、そのような規則はまた、不審イベントに関する不審性のレベル又はスコアも定義することができる。
【００３３】
本明細書で使用するとき、用語「アクタ」とは、一般に、不審イベントに参加するか、又は他の方式で不審イベントに関与する、あらゆるエンティティを指す。一部の実施例では、用語「アクタ」とは、アクションを実行することが可能なエンティティ（例えば、ソースアクタ）及び／又はアクションが実行される対象となり得るエンティティ（例えば、ターゲットアクタ）を指すことができる。２つ以上のアクタが、双方とも同じ不審イベントに関与している場合には、それらのアクタは関連しているものと見なすことができる。アクタの例としては、限定するものではないが、ユーザ、プロセス、アプリケーション、コンピューティングデバイス、ファイル、ポート、ネットワーク、情報資源（例えば、ウェブサイト）などを挙げることができる。
【００３４】
図３に戻ると、本明細書で説明されるシステムは、任意の好適な方式で、ステップ３０２を実行することができる。一実施例では、検出モジュール１０４は、不審イベントを、その不審イベントについての情報を受信することによって、検出することができる。例えば、検出モジュール１０４は、不審イベントについての情報を検出、収集、及び／又は管理するように設計されたシステム（例えば、ＳＩＥＭ、ＳＩＭ、又はＳＥＭ）から、不審イベントについての情報を受信することができる。更には、又は代替的に、検出モジュール１０４は、不審イベントを管理及び／又は監視していたシステム（例えば、ファイアウォール、ルータ、スイッチ、仮想プライベートネットワーク、ウィルス対策システム、侵入検出及び／又は侵入防止システム、脆弱性検査ツール、ウェブサーバ、ウェブフィルタ、プロキシ、データベース、メール及び／又はグループウェアシステム、認証サーバ、並びに／あるいはシステムロガー）から、不審イベントについての情報を直接受信することができる。
【００３５】
一部の実施例では、検出モジュール１０４は、不審イベントについての情報を検出、収集、及び／又は管理するように設計されたシステム、並びに／あるいはイベントを管理及び／又は監視するように設計されたシステムであって、そのシステムの一部として、不審イベントを検出することができるシステムの、一部分を表し得るものである。
【００３６】
更には、又は代替的に、検出モジュール１０４は、データベース内に記憶されている不審イベントについての情報を特定することによって、不審イベントを検出することができる。一例として図２を使用すると、検出モジュール１０４は、不審イベントを、データベース１２０の不審イベント１２２内の、その不審イベントについての情報を特定することによって検出することができる。
【００３７】
本明細書で説明されるシステムは、不審イベントの検出に応じて、イベント相関グラフを作成することができるため、少なくとも一実施例では、検出モジュール１０４は、高度に不審なイベント（例えば、コンピューティングシステムに対する攻撃の一部である可能性が最も高い不審イベント）のみを検出することによって、作成されるイベント相関グラフの数を低減することができる。
【００３８】
ステップ３０４で、本明細書で説明されるシステムのうちの１つ以上は、第１のアクタに関与する不審イベントの検出に応じて、イベント相関グラフを構築することができる。例えば、構築モジュール１０６は、図２でサーバ２０６の一部として、プロセス「ｖｉｕｘ．ｅｘｅ」及びプロセス「ｗｓｃｎｔｆｙ．ｅｘｅ」に関与する、コンピューティングデバイス２０２（１）上の不審イベントの検出に応じて、図４でのイベント相関グラフ４００を構築することができる。
【００３９】
本明細書で使用するとき、用語「イベント相関グラフ」とは、一般に、不審イベントに関与するアクタが、その不審イベントによってどのように関連するかに基づいて互いに関連付けられる、２つ以上の不審イベントの、任意の論理的表現又はグラフィック表現を指す。一部の実施例では、相関グラフは、（１）不審イベントに関与するアクタの表現（例えば、ノード）、並びに（２）それらの不審イベント、及び／又は、それらの不審イベントに基づくアクタ間の関係性の表現（例えば、エッジ）を含み得る。図４は、例示的なイベント相関グラフ４００のブロック図である。図４に示されるように、イベント相関グラフ４００は、有向エッジ４２８〜４６２によって相互接続される、ノード４０２〜４２６を含み得る。この実施例では、ノード４０２〜４２６は、有向エッジ４２８〜４６２によって表された相関不審イベントに関与する、アクタを表し得るものであり、有向エッジ４２８〜４６２は、それらの相関不審イベント、及び／又は、それらの相関不審イベントに関与するアクタ間の関係性を表し得る。以下でより詳細に説明されるように、イベント相関グラフ４００は、ノード４０２及びノード４０４によってそれぞれ表されるプロセス「ｖｉｕｘ．ｅｘｅ」及びプロセス「ｗｓｃｎｔｆｙ．ｅｘｅ」に関与した、エッジ４２８によって表される不審イベントの検出によって、その作成がトリガされた、イベント相関グラフを表し得る。
【００４０】
本明細書で使用するとき、用語「ノード」とは、一般に、コンピューティングシステム内のアクタの任意の表現を指す。一部の実施例では、ノードはまた、１つのアクタのみに関与する不審イベントを表すためにも、使用することができる。用語「エッジ」とは、本明細書で使用するとき、一般に、コンピューティングシステム内の２つ以上のアクタに関与する不審イベント、及び／又は、それらの不審イベントの結果として、それらの２つ以上のアクタ間に存在する関係性の、任意の表現を指す。一部の実施例では、エッジは、２つ以上のアクタ間に存在する関係性の方向を表す、有向エッジを含み得る。一般的に、不審イベントは、それらの不審イベントを表すノード及び／又はエッジに関連付けることができる。
【００４１】
図３に戻ると、本明細書で説明されるシステムは、任意の好適な方式で、ステップ３０４を実行することができる。一実施例では、構築モジュール１０６は、（１）単一の検出不審イベント（例えば、トリガ不審イベント）を表す、イベント相関グラフを作成することと、（２）更なる関連不審イベントを含むように、そのイベント相関グラフを反復的に拡張することとによって、イベント相関グラフを構築することができる。構築モジュール１０６は、２つのアクタのそれぞれに関するノードと、それらの２つのノードを接続する不審イベントに関するエッジとを含む、イベント相関グラフを作成することによって、それらの２つのアクタに関与する単一の不審イベントを表す、イベント相関グラフ（例えば、図５でのイベント相関グラフ５００）を作成することができる。同様に、構築モジュール１０６は、１つのアクタに関する１つのノードを含む、イベント相関グラフを作成し、不審イベントをそのノードと関連付けることによって、１つのみのアクタに関与する単一の不審イベントを表す、イベント相関グラフを作成することができる。
【００４２】
一部の実施例では、構築モジュール１０６は、（１）イベント相関グラフ内に表される各アクタに関して、そのアクタ及び更なるアクタに関与する、不審イベントのセットを特定することと、（２）新たに特定された各アクタに関するノード、及び新たに特定された各不審イベントに関するエッジを、イベント相関グラフに追加することとによって、イベント相関グラフに、更なる関連不審イベントを反復的に追加することができる。更には、又は代替的に、構築モジュール１０６は、（１）イベント相関グラフ内に表される各アクタに関して、そのアクタに関与し、他のアクタに関与しない、不審イベントのセットを特定することと、（２）新たに特定された各不審イベントを、そのアクタを表すノードに関連付けることとによって、イベント相関グラフに、更なる関連不審イベントを反復的に追加することができる。少なくとも一実施例では、構築モジュール１０６は、イベント相関グラフ内に表されるアクタに関与する、更なる不審イベントを特定することができなくなるまで、イベント相関グラフを継続して拡張することができる。
【００４３】
イベント相関グラフを構築すると、構築モジュール１０６は、データベース１２０内のイベント相関グラフ１２６に、そのイベント相関グラフを記憶させることができる。一部の実施例では、構築モジュール１０６は、新たな不審イベントが検出される際に、イベント相関グラフを継続して反復的に拡張することができる。例えば、構築モジュール１０６は、新たな不審イベントが検出される際に、イベント相関グラフ１２６内に記憶されたイベント相関グラフを、定期的に更新することができる。
【００４４】
図５〜図８は、構築モジュール１０６が、どのようにして図４でのイベント相関グラフ４００を反復的に構築することができるかを示す。以下の実施例では、図５での例示的なイベント相関グラフ５００、図６での例示的なイベント相関グラフ６００、図７での例示的なイベント相関グラフ７００、及び図８での例示的なイベント相関グラフ８００は、それぞれ、イベント相関グラフ４００の、第１、第２、第３、及び第４の反復を表し得る。図５から開始すると、構築モジュール１０６は、プロセス「ｖｉｕｘ．ｅｘｅ」がプロセス「ｗｓｃｎｔｆｙ．ｅｘｅ」内にコードを注入した、不審イベントの検出に応じて、例示的なイベント相関グラフ５００を生成することができる。図示のように、構築モジュール１０６は、プロセス「ｖｉｕｘ．ｅｘｅ」を表すノード４０２と、プロセス「ｗｓｃｎｔｆｙ．ｅｘｅ」を表すノード４０４と、ノード４０２とノード４０４とを相互接続し、プロセス「ｖｉｕｘ．ｅｘｅ」及びプロセス「ｗｓｃｎｔｆｙ．ｅｘｅ」に関与する不審イベントを表すエッジ４２８とを含むように、イベント相関グラフ５００を生成することができる。
【００４５】
図５でのイベント相関グラフ５００を構築すると、構築モジュール１０６は、（１）イベント相関グラフ５００内に表されたアクタ（例えば、プロセス「ｖｉｕｘ．ｅｘｅ」及びプロセス「ｗｓｃｎｔｆｙ．ｅｘｅ」）に関与する、更なる不審イベントを特定することと、（２）特定された各不審イベントに関して、イベント相関グラフ５００に、その不審イベントの表現を追加することとによって、イベント相関グラフ５００から、図６でのイベント相関グラフ６００を構築することができる。例えば、構築モジュール１０６は、プロセス「ｖｉｕｘ．ｅｘｅ」が、５つの更なる不審イベント（例えば、プロセス「ｉｅｘｐｌｏｒｅ．ｅｘｅ」に関与する不審イベント、プロセス「ｂｏｔ．ｅｘｅ」に関与する３つの不審イベント、及びプロセス「ｅｘｐｌｏｒｅｒ．ｅｘｅ」に関与する不審イベント）に参加したことを判定することができ、プロセス「ｗｓｃｎｔｆｙ．ｅｘｅ」が、更なる不審イベントには参加しなかったことを判定することができる。図６に示されるように、構築モジュール１０６は、プロセス「ｖｉｕｘ．ｅｘｅ」及びプロセス「ｉｅｘｐｌｏｒｅ．ｅｘｅ」に関与する不審イベントを表すエッジ４３０によってノード４０２に接続される、ノード４０６と、プロセス「ｖｉｕｘ．ｅｘｅ」及びプロセス「ｂｏｔ．ｅｘｅ」に関与する３つの不審イベントを表すエッジ４３２によってノード４０２に接続される、ノード４０８と、プロセス「ｖｉｕｘ．ｅｘｅ」及びプロセス「ｅｘｐｌｏｒｅｒ．ｅｘｅ」に関与する不審イベントを表すエッジ４３４によってノード４０２に接続される、ノード４１０とを追加することによって、イベント相関グラフ５００に、これらの新たに特定された不審イベントを追加することができる。
【００４６】
図６でのイベント相関グラフ６００を構築すると、構築モジュール１０６は、（１）イベント相関グラフ６００内に表された新たなアクタ（例えば、プロセス「ｉｅｘｐｌｏｒｅ．ｅｘｅ」、プロセス「ｂｏｔ．ｅｘｅ」、及びプロセス「ｅｘｐｌｏｒｅｒ．ｅｘｅ」）に関与する、更なる不審イベントを特定することと、（２）特定された各不審イベントに関して、図６でのイベント相関グラフ６００に、その不審イベントの表現を追加することとによって、イベント相関グラフ６００から、例示的なイベント相関グラフ７００を構築することができる。例えば、構築モジュール１０６は、プロセス「ｉｅｘｐｌｏｒｅ．ｅｘｅ」が、６つの更なる不審イベント（例えば、そのプロセス自体に関与する不審イベント、ウェブサイト「ｓｇｍｍｖｊｎｚｒｑｐｎｘ．ｃｏｍ」に関与する不審イベント、プロセス「ｂｏｔ．ｅｘｅ」に関与する２つの不審イベント、及びプロセス「ｅｘｐｌｏｒｅｒ．ｅｘｅ」に関与する２つの不審イベント）に参加したことを判定することができる。図７に示されるように、構築モジュール１０６は、プロセス「ｉｅｘｐｌｏｒｅ．ｅｘｅ」及びそのプロセス自体に関与する不審イベントを表す、ノード４０６とそのノード自体とを相互接続するエッジ４３６と、プロセス「ｉｅｘｐｌｏｒｅ．ｅｘｅ」及びウェブサイト「ｓｇｍｍｖｊｎｚｒｑｐｎｘ．ｃｏｍ」に関与する不審イベントを表すエッジ４３８によってノード４０６に接続される、ノード４１２と、プロセス「ｉｅｘｐｌｏｒｅ．ｅｘｅ」及びプロセス「ｂｏｔ．ｅｘｅ」に関与する２つの不審イベントを表す、ノード４０６とノード４０８とを相互接続するエッジ４４０と、プロセス「ｉｅｘｐｌｏｒｅ．ｅｘｅ」及び「ｅｘｐｌｏｒｅｒ．ｅｘｅ」に関与する２つの不審イベントを表す、ノード４０６とノード４１０とを相互接続するエッジ４４２とを追加することによって、イベント相関グラフ６００に、これらの新たに特定された不審イベントを追加することができる。構築モジュール１０６はまた、プロセス「ｉｅｘｐｌｏｒｅ．ｅｘｅ」が、他のアクタに関与しない１つの不審イベント（例えば、プロセス「ｉｅｘｐｌｏｒｅ．ｅｘｅ」が、証明書を読み取った不審イベント）に参加したことも判定することができる。図７に示されるように、構築モジュール１０６は、この新たに特定された不審イベントを、ノード４０６にそのイベントを関連付けることによって（例えば、図７に示されるように）、イベント相関グラフ７００に追加することができる。
【００４７】
構築モジュール１０６はまた、プロセス「ｂｏｔ．ｅｘｅ」が、５つの更なる不審イベント（例えば、プロセス「ｉｅｘｐｌｏｒｅ．ｅｘｅ」に関与する２つの不審イベント、及びプロセス「ｃｍｄ．ｅｘｅ」に関与する２つの不審イベント）に参加したことも判定することができる。図７に示されるように、構築モジュール１０６は、プロセス「ｂｏｔ．ｅｘｅ」及びプロセス「ｉｅｘｐｌｏｒｅ．ｅｘｅ」に関与する２つの不審イベントを表す、ノード４０６とノード４０８とを相互接続するエッジ４４０と、プロセス「ｂｏｔ．ｅｘｅ」及びプロセス「ｃｍｄ．ｅｘｅ」に関与する２つの不審イベントを表すエッジ４４４によってノード４０８に接続される、ノード４１４とを追加することによって、イベント相関グラフ６００に、これらの新たに特定された不審イベントを追加することができる。
【００４８】
構築モジュール１０６は、プロセス「ｅｘｐｌｏｒｅｒ．ｅｘｅ」が、１２の更なる不審イベント（例えば、プロセス「ｃｍｄ．ｅｘｅ」に関与する不審イベント、プロセス「ｂａｓｈｃｏｎｔｒｏｌａｐｐ．ｅｘｅ」に関与する不審イベント、プロセス「ｉｌｏ．ｅｘｅ」に関与する２つの不審イベント、プロセス「ｖｍｗａｒｅｕｓｅｒ．ｅｘｅ」に関与する２つの不審イベント、そのプロセス自体に関与する不審イベント、プロセス「ｔａｓｋｍｇｒ．ｅｘｅ」に関与する２つの不審イベント、プロセス「ｃｓｒｓｓ．ｅｘｅ」に関与する不審イベント、及びプロセス「ｉｅｘｐｌｏｒｅ．ｅｘｅ」に関与する２つの不審イベント）に参加したことを、更に判定することができる。図７に示されるように、構築モジュール１０６は、プロセス「ｅｘｐｌｏｒｅｒ．ｅｘｅ」及びプロセス「ｃｍｄ．ｅｘｅ」に関与する不審イベントを表す、ノード４１０とノード４１４を相互接続するエッジ４４６と、プロセス「ｅｘｐｌｏｒｅｒ．ｅｘｅ」及びプロセス「ｂａｓｈｃｏｎｔｒｏｌａｐｐ．ｅｘｅ」に関与する不審イベントを表すエッジ４４８によってノード４１０に接続される、ノード４１６と、プロセス「ｅｘｐｌｏｒｅｒ．ｅｘｅ」及びプロセス「ｉｌｏ．ｅｘｅ」に関与する２つの不審イベントを表すエッジ４５０によってノード４１０に接続される、ノード４１８と、プロセス「ｅｘｐｌｏｒｅｒ．ｅｘｅ」及びプロセス「ｖｍｗａｒｅｕｓｅｒ．ｅｘｅ」に関与する２つの不審イベントを表すエッジ４５２によってノード４１０に接続される、ノード４２０と、プロセス「ｅｘｐｌｏｒｅｒ．ｅｘｅ」及びそのプロセス自体に関与する不審イベントを表す、ノード４１０とそのノード自体とを相互接続するエッジ４５４と、プロセス「ｅｘｐｌｏｒｅｒ．ｅｘｅ」及びプロセス「ｔａｓｋｍｇｒ．ｅｘｅ」に関与する２つの不審イベントを表すエッジ４５６によってノード４１０に接続される、ノード４２２と、プロセス「ｅｘｐｌｏｒｅｒ．ｅｘｅ」及びプロセス「ｃｓｒｓｓ．ｅｘｅ」に関与する不審イベントを表すエッジ４５８によってノード４１０に接続される、ノード４２４と、プロセス「ｅｘｐｌｏｒｅｒ．ｅｘｅ」及びプロセス「ｉｅｘｐｌｏｒｅ．ｅｘｅ」に関与する２つの不審イベントを表す、ノード４０６とノード４１０とを相互接続するエッジ４４２とを追加することによって、イベント相関グラフ６００に、これらの新たに特定された不審イベントを追加することができる。
【００４９】
構築モジュール１０６はまた、プロセス「ｅｘｐｌｏｒｅｒ．ｅｘｅ」が、他のアクタに関与しない３つの不審イベント（例えば、プロセス「ｅｘｐｌｏｒｅｒ．ｅｘｅ」が、ハイパーテキスト転送プロトコル（ＨＴＴＰ）トラフィックを生成した不審イベント、プロセス「ｅｘｐｌｏｒｅｒ．ｅｘｅ」が、システムレジストリにロードポイントを追加した不審イベント、及び、プロセス「ｅｘｐｌｏｒｅｒ．ｅｘｅ」が、証明書を読み取った不審イベント）に参加したことも判定することができる。図７に示されるように、構築モジュール１０６は、これらの新たに特定された不審イベントを、ノード４１０にそれらの不審イベントを関連付けることによって、イベント相関グラフ７００に追加することができる。
【００５０】
図７でのイベント相関グラフ７００を構築すると、構築モジュール１０６は、（１）イベント相関グラフ７００内に表された新たなアクタに関与する、更なる不審イベントのセットを特定することと、（２）特定された各不審イベントに関して、イベント相関グラフ７００に、その不審イベントの表現を追加することとによって、例示的なイベント相関グラフ８００を構築することができる。例えば、構築モジュール１０６は、プロセス「ｃｍｄ．ｅｘｅ」が、１つの更なる不審イベント（例えば、プロセス「ｂａｓｈｃｏｎｔｒｏｌａｐｐ．ｅｘｅ」に関与する不審イベント）に参加したことと、プロセス「ｉｌｏ．ｅｘｅ」が、１つの更なる不審イベント（例えば、アドレス「１７２．１８．１．５２」のプロセスに関与する不審イベント）に参加したことと、新たに追加された他の全てのアクタが、更なる不審イベントには関与しなかったこととを、判定することができる。図８に示されるように、構築モジュール１０６は、プロセス「ｃｍｄ．ｅｘｅ」及びプロセス「ｂａｓｈｃｏｎｔｒｏｌａｐｐ．ｅｘｅ」に関与する不審イベントを表す、ノード４１４とノード４１６とを相互接続するエッジ４６０と、プロセス「ｉｌｏ．ｅｘｅ」及びアドレス「１７２．１８．１．５２」に関与する不審イベントを表すエッジ４６２によってノード４１８に接続される、ノード４２６とを追加することによって、イベント相関グラフ７００に、これらの新たに特定された不審イベントを追加することができる。図８でのイベント相関グラフ８００を構築すると、構築モジュール１０６は、新たに追加されたアクタのいずれもが、いずれの更なる不審イベントにも参加しなかったことを判定することによって、イベント相関グラフ８００が完成していることを判定することができる。
【００５１】
図３に戻ると、ステップ３０６で、本明細書で説明されるシステムのうちの１つ以上は、イベント相関グラフに関する攻撃スコアを算出することができる。例えば、スコア算出モジュール１０８は、図２でのサーバ２０６の一部として、図４でのイベント相関グラフ４００に関する攻撃スコアを算出することができる。
【００５２】
本明細書で説明されるシステムは、任意の好適な方式で、ステップ３０６を実行することができる。例えば、スコア算出モジュール１０８は、（１）イベント相関グラフ内に表される、不審イベントの全て又は一部分を特定することと、（２）特定された不審イベントのそれぞれに関連付けられる、不審性スコアを特定することと、（３）イベント相関グラフに関する攻撃スコアを算出するために、その不審性スコアを使用することとによって、イベント相関グラフに関する攻撃スコアを算出することができる。一実施例では、スコア算出モジュール１０８は、イベント相関グラフ内に表される各不審イベントの不審性スコアを、単純に合計することによって、イベント相関グラフに関する攻撃スコアを算出することができる。
【００５３】
一例として図９を使用すると、スコア算出モジュール１０８は、（１）イベント相関グラフ内に表される、不審イベントの全てを特定することと、（２）特定された不審イベントのそれぞれに関連付けられる、（例えば、図９で、イベント相関グラフ４００内の各不審イベントの隣の、括弧内の数字によって示されるような）不審性スコアを特定することと、（３）イベント相関グラフ４００内に表される各不審イベントの不審性スコアを合計することによって、イベント相関グラフ４００に関する攻撃スコアが、１１９０に等しいことを判定することとによって、イベント相関グラフ４００に関する攻撃スコアを算出することができる。
【００５４】
更には、又は代替的に、スコア算出モジュール１０８は、イベント相関グラフ内の各ノード及び／又はエッジに関するスコアに基づいて、イベント相関グラフに関する攻撃スコアを算出することができる。例えば、スコア算出モジュール１０８は、（１）イベント相関グラフ内の各エッジに関するスコアを、そのエッジによって表される不審イベントに関連付けられた、不審性スコアに基づいて算出することと、（２）イベント相関グラフ内の各ノードに関するスコアを、そのノードに関連付けられる各不審イベントに関連付けられた、不審性スコアに少なくとも部分的に基づいて、算出することと、（３）イベント相関グラフ内の各ノード及びエッジのスコアを合計することとによって、イベント相関グラフに関する攻撃スコアを算出することができる。
【００５５】
一例として図１０を使用すると、スコア算出モジュール１０８は、（１）イベント相関グラフ４００内の各エッジに関するスコアを、そのエッジによって表される不審イベントに関連付けられた、（例えば、図１０で、イベント相関グラフ４００内の各エッジの隣の、括弧内の数字によって示されるような）不審性スコアに基づいて算出することと、（２）イベント相関グラフ４００内の各ノードに関するスコアを、そのノードに関連付けられる各不審イベントに関連付けられた、（例えば、図１０で、イベント相関グラフ４００内の各ノード内の、括弧内の数字によって示されるような）不審性スコアに少なくとも部分的に基づいて、算出することと、（３）イベント相関グラフ４００内の各ノード及びエッジのスコアを合計することによって、イベント相関グラフ４００に関する攻撃スコアが、１１９０に等しいことを判定することとによって、イベント相関グラフ４００に関する攻撃スコアを算出することができる。
【００５６】
図３に戻ると、不審イベントの不審性スコアに基づいて攻撃スコアを算出することに加えて、又はその代替として、スコア算出モジュール１０８は、イベント相関グラフのサイズに基づいて、イベント相関グラフに関する攻撃スコアを算出することができる。例えば、スコア算出モジュール１０８は、イベント相関グラフ内の、ノード、エッジ、及び／又は不審イベントの数に基づいて、イベント相関グラフに関する攻撃スコアを算出することができる。
【００５７】
一部の実例では、多くの無害なアクタが、無害な不審イベントにより、イベント相関グラフの一部となり得る可能性がある。スコア算出モジュール１０８は、それらの無害なアクタを、イベント相関グラフから取り除くことによって、この問題に対処することができる。一部の実施例では、スコア算出モジュール１０８は、イベント相関グラフに関する攻撃スコアを算出する前に、イベント相関グラフから低スコアのノードの領域を除去することによって、イベント相関グラフから無害なアクタを取り除くことができる。ノードの領域は、イベント相関グラフ内の任意のノードを、そのノードから既定の距離の範囲内にある任意の他のノードと共に含み得る。少なくとも一実施例では、スコア算出モジュール１０８は、イベント相関グラフ内のノードの各領域に関するスコアを算出して、そのスコアが既定の閾値を下回るノードの領域を除去することによって、イベント相関グラフから無害なアクタを取り除くことができる。
【００５８】
更には、又は代替的に、スコア算出モジュール１０８は、イベント相関グラフの構築をトリガした不審イベントに関与するアクタを表すノードからの、遠隔ノードの距離が、既定の閾値を上回ることに基づいて、イベント相関グラフから、その遠隔ノードを除去することによって、イベント相関グラフから無害なアクタを取り除くことができる。
【００５９】
ステップ３０８で、本明細書で説明されるシステムのうちの１つ以上は、攻撃スコアが既定の閾値を上回ることを判定することができる。例えば、閾値判定モジュール１１０は、図２でのサーバ２０６の一部として、図４でのイベント相関グラフ４００に関する攻撃スコアが、既定の閾値を上回ることを判定することができる。
【００６０】
本明細書で説明されるシステムは、任意の好適な方式で、ステップ３０８を実行することができる。一実施例では、閾値判定モジュール１１０は、攻撃スコアが、コンピューティングシステムの管理者又はユーザによって提供された既定の閾値を上回ることを判定することができる。別の実施例では、閾値判定モジュール１１０は、攻撃スコアが、他のイベント相関グラフの攻撃スコアに基づく既定の閾値を上回ることを判定することができる。例えば、閾値判定モジュール１１０は、攻撃スコアが、平均攻撃スコアを上回ることを判定することができ、かつ／又は、攻撃スコアが、既定の割合の他のイベント相関グラフの攻撃スコアを上回ることを判定することができる。他のイベント相関グラフに基づく閾値を使用することによって、閾値判定モジュール１１０は、コンピューティングシステムに対する攻撃の一部である可能性が最も高いイベント相関グラフのみを、特定することができる。
【００６１】
ステップ３１０で、本明細書で説明されるシステムのうちの１つ以上は、攻撃スコアが既定の閾値を上回ることに少なくとも部分的に基づいて、その不審イベントが、コンピューティングシステムに対する攻撃の一部であり得ることを、判定することができる。例えば、攻撃判定モジュール１１２は、図２でのサーバ２０６の一部として、図４でのイベント相関グラフ４００の攻撃スコアが、既定の閾値を上回ることに少なくとも部分的に基づいて、プロセス「ｖｉｕｘ．ｅｘｅ」及びプロセス「ｗｓｃｎｔｆｙ．ｅｘｅ」に関与する不審イベントが、コンピューティングデバイス２０２（１）に対する攻撃の一部であり得ることを、判定することができる。
【００６２】
本明細書で説明されるシステムは、任意の好適な方式で、ステップ３１０を実行することができる。例えば、不審イベントが、コンピューティングシステムに対する攻撃の一部であり得ることを判定すると、攻撃判定モジュール１１２は、コンピューティングシステムの管理者又はユーザに、その検出された攻撃を警告することができる。更には、又は代替的に、攻撃判定モジュール１１２は、攻撃を阻止し、かつ／又は、攻撃からコンピューティングシステムを保護することができる。例えば、攻撃判定モジュール１１２は、その攻撃に関与するアクタを隔離することができる。
【００６３】
一部の実施例では、攻撃判定モジュール１１２は、イベント相関グラフのグラフィック表現を生成して、コンピューティングシステムの管理者又はユーザに表示することにより、管理者又はユーザは、それらのグラフィック表現が表す攻撃を分析することができる。一部の実施例では、本明細書で説明されるシステムは、イベント相関グラフ内のノード及びエッジに、（例えば、図４及び図９に示されるように）それらが表すアクタ及び／又は不審イベントについての情報を、ラベル付けすることができる。イベント相関グラフのグラフィック表現を提示することによって、攻撃判定モジュール１１２は、攻撃が発生するコンテキストについての鑑識情報を提供することができる。ステップ３１０が完了すると、図３での例示的方法３００を終了することができる。
【００６４】
上述のように、不審イベント使用して、その不審イベントに関与するアクタが、その不審イベントによってどのように関連するかに基づいて、イベント相関グラフを構築することによって、本明細書で説明されるシステム及び方法は、コンピューティングシステムに対する標的型攻撃の検出を可能にすることができる。更には、一部の実施例では、グラフベースの相関の手法を使用して、コンピューティングシステムに対する攻撃を検出することによって、これらのシステム及び方法は、それらの攻撃に関する、より深い理解（例えば、それらの攻撃に関与するアクタ及び方法）を提供することが可能な情報を、生成することができる。
【００６５】
例えば、本明細書で説明されるシステム及び方法は、（１）１つ以上のホストベース又はネットワークベースの検出器から、不審イベントについての情報を収集することと、（２）不審イベント使用して、その不審イベントに関与するアクタが、その不審イベントによってどのように関連するかに基づいて、イベント相関グラフを構築することと、（３）イベント相関グラフ内に含まれる不審イベントに基づいて、そのイベント相関グラフに関するスコアを算出することと、（４）それらの不審イベントがコンピューティングシステムに対する攻撃の一部であり得ることを、イベント相関グラフに関するスコアが示すことを判定することとによって、コンピューティングシステムに対する攻撃を検出することができる。
【００６６】
図１１は、本明細書で説明及び／又は図示される実施形態のうちの１つ以上を実施することが可能な、例示的コンピューティングシステム１１１０のブロック図である。例えば、コンピューティングシステム１１１０の全て又は一部分は、単独で、又は他の要素と組み合わせて、本明細書で説明されるステップのうちの１つ以上（図３に示されるステップのうちの１つ以上など）を実行することができ、かつ／あるいは、それらのステップを実行する手段とすることもできる。コンピューティングシステム１１１０の全て又は一部分はまた、本明細書で説明及び／又は図示される任意の他のステップ、方法、若しくはプロセスも実行することができ、かつ／あるいは、それらのステップを実行する手段とすることもできる。
【００６７】
コンピューティングシステム１１１０は、概して、コンピュータ可読命令を実行することが可能な、任意のシングルプロセッサ若しくはマルチプロセッサのコンピューティングデバイス又はシステムを表す。コンピューティングシステム１１１０の例としては、限定するものではないが、ワークステーション、ラップトップ、クライアント側端末、サーバ、分散型コンピューティングシステム、ハンドヘルドデバイス、又は任意の他のコンピューティングシステム若しくはデバイスが挙げられる。コンピューティングシステム１１１０は、その最も基本的な構成では、少なくとも１つのプロセッサ１１１４及びシステムメモリ１１１６を含み得る。
【００６８】
プロセッサ１１１４は、一般に、データを処理するか、あるいは命令を解釈及び実行することが可能な、任意のタイプ又は形態の物理処理ユニット（例えば、ハードウェアで実装される中央処理装置）を表す。特定の実施形態では、プロセッサ１１１４は、ソフトウェアアプリケーション又はモジュールから、命令を受信することができる。これらの命令は、プロセッサ１１１４に、本明細書で説明及び／又は図示される例示的実施形態のうちの１つ以上の機能を実行させることができる。
【００６９】
システムメモリ１１１６は、一般に、データ及び／又は他のコンピュータ可読命令を記憶することが可能な、任意のタイプ又は形態の、揮発性若しくは不揮発性の記憶デバイス又は記憶媒体を表す。システムメモリ１１１６の例としては、限定するものではないが、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、フラッシュメモリ、又は任意の他の好適なメモリデバイスが挙げられる。必須ではないが、特定の実施形態では、コンピューティングシステム１１１０は、揮発性メモリユニット（例えば、システムメモリ１１１６など）及び不揮発性記憶デバイス（例えば、以下で詳細に説明されるような、一次記憶デバイス１１３２など）の双方を含み得る。一実施例では、図１からのモジュール１０２のうちの１つ以上は、システムメモリ１１１６内にロードすることができる。
【００７０】
特定の実施形態では、例示的コンピューティングシステム１１１０はまた、プロセッサ１１１４及びシステムメモリ１１１６に加えて、１つ以上の構成要素又は要素も含み得る。例えば、図１１に示されるように、コンピューティングシステム１１１０は、通信インフラストラクチャ１１１２を介して、それぞれが相互接続することが可能な、メモリコントローラ１１１８、入出力（Ｉ／Ｏ）コントローラ１１２０、及び通信インタフェース１１２２を含み得る。通信インフラストラクチャ１１１２は、一般に、コンピューティングデバイスの１つ以上の構成要素間の通信を容易にすることが可能な、任意のタイプ又は形態のインフラストラクチャを表す。通信インフラストラクチャ１１１２の例としては、限定するものではないが、通信バス（業界標準アーキテクチャ（ＩＳＡ）、周辺装置相互接続（ＰＣＩ）、ＰＣＩエクスプレス（ＰＣＩｅ）、又は同様のバスなど）、及びネットワークが挙げられる。
【００７１】
メモリコントローラ１１１８は、一般に、メモリ若しくはデータを処理するか、又はコンピューティングシステム１１１０の１つ以上の構成要素間の通信を制御することが可能な、任意のタイプ又は形態のデバイスを表す。例えば、特定の実施形態では、メモリコントローラ１１１８は、通信インフラストラクチャ１１１２を介して、プロセッサ１１１４、システムメモリ１１１６、及びＩ／Ｏコントローラ１１２０間の通信を制御することができる。
【００７２】
Ｉ／Ｏコントローラ１１２０は、一般に、コンピューティングデバイスの入出力機能を、調整及び／又は制御することが可能な、任意のタイプ又は形態のモジュールを表す。例えば、特定の実施形態では、Ｉ／Ｏコントローラ１１２０は、プロセッサ１１１４、システムメモリ１１１６、通信インタフェース１１２２、ディスプレイアダプタ１１２６、入力インタフェース１１３０、及び記憶装置インタフェース１１３４などの、コンピューティングシステム１１１０の１つ以上の要素間でのデータの転送を制御するか、又は容易にすることができる。
【００７３】
通信インタフェース１１２２は、概して、例示的コンピューティングシステム１１１０と１つ以上の更なるデバイスとの間の通信を容易にすることが可能な、任意のタイプ若しくは形態の通信デバイス又はアダプタを表す。例えば、特定の実施形態では、通信インタフェース１１２２は、コンピューティングシステム１１１０と、更なるコンピューティングシステムを含むプライベートネットワーク又は公衆ネットワークとの間の通信を、容易にすることができる。通信インタフェース１１２２の例としては、限定するものではないが、有線ネットワークインタフェース（ネットワークインタフェースカードなど）、無線ネットワークインタフェース（無線ネットワークインタフェースカードなど）、モデム、及び任意の他の好適なインタフェースが挙げられる。少なくとも一実施形態では、通信インタフェース１１２２は、インターネットなどのネットワークへの直接リンクを介して、リモートサーバへの直接接続を提供することができる。通信インタフェース１１２２はまた、例えば、ローカルエリアネットワーク（Ｅｔｈｅｒｎｅｔ（登録商標、以下同じ）ネットワークなど）、パーソナルエリアネットワーク、電話若しくはケーブルネットワーク、セルラー電話接続、衛星データ接続、又は任意の他の好適な接続を通じて、そのような接続を間接的に提供することもできる。
【００７４】
特定の実施形態では、通信インタフェース１１２２はまた、外部バス又は通信チャネルを介して、コンピューティングシステム１１１０と１つ以上の更なるネットワーク又は記憶デバイスとの間の通信を容易にするように構成された、ホストアダプタも表し得る。ホストアダプタの例としては、限定するものではないが、小型コンピュータシステムインタフェース（ＳＣＳＩ）ホストアダプタ、ユニバーサルシリアルバス（ＵＳＢ）ホストアダプタ、米国電気電子学会（ＩＥＥＥ）１３９４ホストアダプタ、アドバンストテクノロジーアタッチメント（ＡＴＡ）ホストアダプタ、パラレルＡＴＡ（ＰＡＴＡ）ホストアダプタ、シリアルＡＴＡ（ＳＡＴＡ）ホストアダプタ、及び外部ＳＡＴＡ（ｅＳＡＴＡ）ホストアダプタ、ファイバーチャネルインタフェースアダプタ、Ｅｔｈｅｒｎｅｔアダプタなどが挙げられる。通信インタフェース１１２２はまた、コンピューティングシステム１１１０が、分散型コンピューティング又はリモートコンピューティングに関与することも可能にすることができる。例えば、通信インタフェース１１２２は、実行するために、遠隔デバイスから命令を受信するか又は遠隔デバイスに命令を送信することができる。
【００７５】
図１１に示されるように、コンピューティングシステム１１１０はまた、ディスプレイアダプタ１１２６を介して通信インフラストラクチャ１１１２に結合された、少なくとも１つのディスプレイデバイス１１２４を含み得る。ディスプレイデバイス１１２４は、一般に、ディスプレイアダプタ１１２６によって転送された情報を視覚的に表示することが可能な、任意のタイプ又は形態のデバイスを表す。同様に、ディスプレイアダプタ１１２６は、一般に、ディスプレイデバイス１１２４上に表示するために、通信インフラストラクチャ１１１２からの（又は、当該技術分野において既知であるようなフレームバッファからの）グラフィック、テキスト、及び他のデータを転送するように構成された、任意のタイプ又は形態のデバイスを表す。
【００７６】
図１１に示されるように、例示的コンピューティングシステム１１１０はまた、入力インタフェース１１３０を介して通信インフラストラクチャ１１１２に結合された、少なくとも１つの入力デバイス１１２８も含み得る。入力デバイス１１２８は、一般に、コンピュータ又は人間のいずれかが生成した入力を、例示的コンピューティングシステム１１１０に提供することが可能な、任意のタイプ又は形態の入力デバイスを表す。入力デバイス１１２８の例としては、限定するものではないが、キーボード、ポインティングデバイス、音声認識デバイス、又は任意の他の入力デバイスが挙げられる。
【００７７】
図１１に示されるように、例示的コンピューティングシステム１１１０はまた、記憶装置インタフェース１１３４を介して通信インフラストラクチャ１１１２に結合された、一次記憶デバイス１１３２及びバックアップ記憶デバイス１１３３も含み得る。記憶デバイス１１３２及び記憶デバイス１１３３は、一般に、データ及び／又は他のコンピュータ可読命令を記憶することが可能な、任意のタイプ若しくは形態の記憶デバイス又は記憶媒体を表す。例えば、記憶デバイス１１３２及び記憶デバイス１１３３は、磁気ディスクドライブ（例えば、いわゆるハードドライブ）、ソリッドステートドライブ、フロッピー（登録商標、以下同じ）ディスクドライブ、磁気テープドライブ、光ディスクドライブ、フラッシュドライブなどとすることができる。記憶装置インタフェース１１３４は、一般に、記憶デバイス１１３２及び記憶デバイス１１３３とコンピューティングシステム１１１０の他の構成要素との間でデータを転送するための、任意のタイプ若しくは形態のインタフェース又はデバイスを表す。一実施例では、図１からのデータベース１２０は、一次記憶デバイス１１３２内に記憶させることができる。
【００７８】
特定の実施形態では、記憶デバイス１１３２及び記憶デバイス１１３３は、コンピュータソフトウェア、データ、又は他のコンピュータ可読情報を記憶するように構成された、取り外し可能記憶ユニットから読み取るように、かつ／又は、その取り外し可能記憶ユニットに書き込むように構成することができる。好適な取り外し可能記憶ユニットの例としては、限定するものではないが、フロッピーディスク、磁気テープ、光ディスク、フラッシュメモリデバイスなどが挙げられる。記憶デバイス１１３２及び記憶デバイス１１３３はまた、コンピュータソフトウェア、データ、又は他のコンピュータ可読命令が、コンピューティングシステム１１１０内にロードされることを可能にするための、他の同様の構造体又はデバイスも含み得る。例えば、記憶デバイス１１３２及び記憶デバイス１１３３は、ソフトウェア、データ、又は他のコンピュータ可読情報を読み取り、かつ書き込むように構成することができる。記憶デバイス１１３２及び記憶デバイス１１３３はまた、コンピューティングシステム１１１０の一部とすることができ、又は、他のインタフェースシステムを通じてアクセスされる、別個のデバイスとすることもできる。
【００７９】
多くの他のデバイス又はサブシステムを、コンピューティングシステム１１１０に接続することができる。反対に、本明細書で説明及び／又は図示される実施形態を実践するために、図１１に示される構成要素及びデバイスの全てが存在する必要はない。上記で言及されるデバイス及びサブシステムはまた、図１１に示されるものとは異なる方式で相互接続することもできる。コンピューティングシステム１１１０はまた、任意数のソフトウェア構成、ファームウェア構成、及び／又はハードウェア構成を採用することもできる。例えば、本明細書で開示される例示的実施形態のうちの１つ以上は、コンピュータ可読記憶媒体上に、コンピュータプログラム（コンピュータソフトウェア、ソフトウェアアプリケーション、コンピュータ可読命令、又はコンピュータ制御論理とも称される）としてコード化することができる。語句「コンピュータ可読記憶媒体」とは、一般に、コンピュータ可読命令を記憶又は搬送することが可能な、任意の形態のデバイス、キャリア、若しくは媒体を指す。コンピュータ可読記憶媒体の例としては、限定するものではないが、搬送波などの伝送型媒体、並びに、磁気記憶媒体（例えば、ハードディスクドライブ及びフロッピーディスク）、光記憶媒体（例えば、コンパクトディスク（ＣＤ）又はデジタルビデオディスク（ＤＶＤ））、電子記憶媒体（例えば、ソリッドステートドライブ及びフラッシュメディア）、及び他の配布システムなどの、非一時型媒体が挙げられる。
【００８０】
コンピュータプログラムを含むコンピュータ可読記憶媒体は、コンピューティングシステム１１１０内にロードすることができる。次いで、そのコンピュータ可読記憶媒体上に記憶されたコンピュータプログラムの全て又は一部分を、システムメモリ１１１６、並びに／又は記憶デバイス１１３２及び記憶デバイス１１３３の様々な部分内に記憶させることができる。プロセッサ１１１４によって実行されると、コンピューティングシステム１１１０内にロードされたコンピュータプログラムは、プロセッサ１１１４に、本明細書で説明及び／又は図示される例示的実施形態のうちの１つ以上の機能を実行させることができ、かつ／あるいは、プロセッサ１１１４を、それらの機能を実行する手段にすることもできる。更には、又は代替的に、本明細書で説明及び／又は図示される例示的実施形態のうちの１つ以上は、ファームウェア及び／又はハードウェアとして実装することができる。例えば、コンピューティングシステム１１１０は、本明細書で開示される例示的実施形態のうちの１つ以上を実施するように適合された、特定用途向け集積回路（ＡＳＩＣ）として構成することができる。
【００８１】
図１２は、クライアントシステム１２１０、１２２０、及びクライアントシステム１２３０、並びにサーバ１２４０及びサーバ１２４５をネットワーク１２５０に結合することが可能な、例示的ネットワークアーキテクチャ１２００のブロック図である。上記で詳述されたように、ネットワークアーキテクチャ１２００の全て又は一部分は、単独で、又は他の要素と組み合わせて、本明細書で開示されるステップのうちの１つ以上（図３に示されるステップのうちの１つ以上など）を実行することができ、かつ／あるいは、それらのステップを実行する手段とすることもできる。ネットワークアーキテクチャ１２００の全て又は一部分はまた、本開示に記載される他のステップ及び特徴を実行するために、かつ／あるいは、実行する手段とするために使用することもできることもできる。
【００８２】
クライアントシステム１２１０、１２２０、及びクライアントシステム１２３０は、一般に、図１１での例示的コンピューティングシステム１１１０などの、任意のタイプ若しくは形態のコンピューティングデバイス又はシステムを表す。同様に、サーバ１２４０及びサーバ１２４５は、一般に、様々なデータベースサービスを提供し、かつ／又は特定のソフトウェアアプリケーションを実行するように構成された、アプリケーションサーバ若しくはデータベースサーバなどの、コンピューティングデバイス又はシステムを表す。ネットワーク１２５０は、一般に、例えばイントラネット、ＷＡＮ、ＬＡＮ、ＰＡＮ、又はインターネットを含めた、任意のテレコミュニケーションネットワーク又はコンピュータネットワークを表す。一実施例では、クライアントシステム１２１０、１２２０、及び／又はクライアントシステム１２３０、並びに／あるいは、サーバ１２４０及び／又はサーバ１２４５は、図１からのシステム１００の全て又は一部分を含み得る。
【００８３】
図１２に示されるように、１つ以上の記憶デバイス１２６０（１）〜１２６０（Ｎ）を、サーバ１２４０に直接取り付けることができる。同様に、１つ以上の記憶デバイス１２７０（１）〜１２７０（Ｎ）を、サーバ１２４５に直接取り付けることができる。記憶デバイス１２６０（１）〜１２６０（Ｎ）及び記憶デバイス１２７０（１）〜１２７０（Ｎ）は、一般に、データ及び／又は他のコンピュータ可読命令を記憶することが可能な、任意のタイプ若しくは形態の記憶デバイス又は記憶媒体を表す。特定の実施形態では、記憶デバイス１２６０（１）〜１２６０（Ｎ）及び記憶デバイス１２７０（１）〜１２７０（Ｎ）は、ネットワークファイルシステム（ＮＦＳ）、サーバメッセージブロック（ＳＭＢ）、又は共通インターネットファイルシステム（ＣＩＦＳ）などの様々なプロトコルを使用して、サーバ１２４０及びサーバ１２４５と通信するように構成された、ネットワーク接続ストレージ（ＮＡＳ）デバイスを表し得る。
【００８４】
サーバ１２４０及びサーバ１２４５はまた、ストレージエリアネットワーク（ＳＡＮ）ファブリック１２８０にも接続することができる。ＳＡＮファブリック１２８０は、一般に、複数の記憶デバイス間の通信を容易にすることが可能な、任意のタイプ若しくは形態のコンピュータネットワーク又はアーキテクチャを表す。ＳＡＮファブリック１２８０は、サーバ１２４０及びサーバ１２４５と、複数の記憶デバイス１２９０（１）〜１２９０（Ｎ）及び／又はインテリジェントストレージアレイ１２９５との間の通信を、容易にすることができる。ＳＡＮファブリック１２８０はまた、デバイス１２９０（１）〜１２９０（Ｎ）及びアレイ１２９５が、クライアントシステム１２１０、１２２０、及びクライアントシステム１２３０に、ローカルで取り付けられたデバイスとして現れるような方式で、ネットワーク１２５０並びにサーバ１２４０及びサーバ１２４５を介して、クライアントシステム１２１０、１２２０、及びクライアントシステム１２３０と、記憶デバイス１２９０（１）〜１２９０（Ｎ）及び／又はインテリジェントストレージアレイ１２９５との間の通信を、容易にすることもできる。記憶デバイス１２６０（１）〜１２６０（Ｎ）及び記憶デバイス１２７０（１）〜１２７０（Ｎ）と同様に、記憶デバイス１２９０（１）〜１２９０（Ｎ）及びインテリジェントストレージアレイ１２９５は、一般に、データ及び／又は他のコンピュータ可読命令を記憶することが可能な、任意のタイプ若しくは形態の記憶デバイス又は記憶媒体を表す。
【００８５】
特定の実施形態では、図１１の例示的コンピューティングシステム１１１０を参照すると、図１１での通信インタフェース１１２２などの通信インタフェースを使用して、各クライアントシステム１２１０、１２２０、及びクライアントシステム１２３０とネットワーク１２５０との間の接続性を提供することができる。クライアントシステム１２１０、１２２０、及びクライアントシステム１２３０は、例えば、ウェブブラウザ又は他のクライアントソフトウェアを使用して、サーバ１２４０又はサーバ１２４５上の情報にアクセスすることが可能となり得る。そのようなソフトウェアにより、クライアントシステム１２１０、１２２０、及びクライアントシステム１２３０は、サーバ１２４０、サーバ１２４５、記憶デバイス１２６０（１）〜１２６０（Ｎ）、記憶デバイス１２７０（１）〜１２７０（Ｎ）、記憶デバイス１２９０（１）〜１２９０（Ｎ）、又はインテリジェントストレージアレイ１２９５によってホストされるデータに、アクセスすることが可能となり得る。図１２は、データを交換するためのネットワーク（インターネットなど）の使用を示すものであるが、本明細書で説明及び／又は図示される実施形態は、インターネット、又は任意の特定のネットワークベースの環境に限定されるものではない。
【００８６】
少なくとも一実施形態では、本明細書で開示される例示的実施形態のうちの１つ以上の全て又は一部分は、コンピュータプログラムとしてコード化して、サーバ１２４０、サーバ１２４５、記憶デバイス１２６０（１）〜１２６０（Ｎ）、記憶デバイス１２７０（１）〜１２７０（Ｎ）、記憶デバイス１２９０（１）〜１２９０（Ｎ）、インテリジェントストレージアレイ１２９５、又はこれらの任意の組み合わせ上にロードして、それらによって実行することができる。本明細書で開示される例示的実施形態のうちの１つ以上の全て又は一部分はまた、コンピュータプログラムとしてコード化し、サーバ１２４０内に記憶させ、サーバ１２４５によって実行し、ネットワーク１２５０を介してクライアントシステム１２１０、１２２０、及びクライアントシステム１２３０に分散することもできる。
【００８７】
上記で詳述されたように、コンピューティングシステム１１１０、及び／又はネットワークアーキテクチャ１２００の１つ以上の構成要素は、単独で、又は他の要素と組み合わせて、イベント相関グラフを使用してコンピューティングシステムに対する攻撃を検出するための例示的方法の１つ以上のステップを実行することができ、かつ／又は、それらのステップを実行する手段とすることもできる。
【００８８】
上述の開示は、特定のブロック図、流れ図、及び実施例を使用して、様々な実施形態を記載しているが、本明細書で説明及び／又は図示される、ブロック図の各構成要素、流れ図の各ステップ、各動作、及び／又は各構成要素は、個別に、及び／又は集合的に、広範なハードウェア、ソフトウェア、又はファームウェア（又は、それらの任意の組み合わせ）の構成を使用して、実行することができる。更には、多くの他のアーキテクチャを実装することにより、同じ機能性を達成することができるため、他の構成要素内に含まれる構成要素のいずれの開示も、本質的に例示であると見なされるべきである。
【００８９】
一部の実施例では、図１での例示的システム１００の全て又は一部分は、クラウドコンピューティング環境又はネットワークベースの環境の諸部分を表し得る。クラウドコンピューティング環境は、インターネットを介して、様々なサービス及びアプリケーションを提供することができる。これらのクラウドベースのサービス（例えば、サービス型ソフトウェア、サービス型プラットフォーム、サービス型インフラストラクチャなど）は、ウェブブラウザ又は他のリモートインタフェースを通じてアクセス可能とすることができる。本明細書で説明される様々な機能は、リモートデスクトップ環境、又は任意の他のクラウドベースのコンピューティング環境を通じて提供することができる。
【００９０】
様々な実施形態では、図１での例示的システム１００の全て又は一部分は、クラウドベースのコンピューティング環境内でのマルチテナント機能を容易にすることができる。換言すれば、本明細書で説明されるソフトウェアモジュールは、本明細書で説明される機能のうちの１つ以上に関するマルチテナント機能を容易にするように、コンピューティングシステム（例えば、サーバ）を構成することができる。例えば、本明細書で説明されるソフトウェアモジュールのうちの１つ以上は、２つ以上のクライアント（例えば、顧客）が、サーバ上で実行中のアプリケーションを共有することが可能となるように、サーバをプログラムすることができる。この方式でプログラムされたサーバは、複数の顧客（即ち、テナント）の間で、アプリケーション、オペレーティングシステム、処理システム、及び／又は記憶システムを共有することができる。本明細書で説明されるモジュールのうちの１つ以上はまた、１つの顧客が、別の顧客のデータ及び／又は構成情報にアクセスすることができないように、各顧客に関して、マルチテナントアプリケーションのデータ及び／又は構成情報を分割することもできる。
【００９１】
様々な実施形態によれば、図１での例示的なステム１００の全て又は一部分は、仮想環境内で実装することができる。例えば、本明細書で説明されるモジュール及び／又はデータを、仮想マシン内に常駐させ、かつ／又は仮想マシン内で実行することができる。本明細書で使用するとき、語句「仮想マシン」とは、一般に、仮想機械マネージャ（例えば、ハイパーバイザ）によってコンピューティングハードウェアから抽出される、任意のオペレーティングシステム環境を指す。更には、又は代替的に、本明細書で説明されるモジュール及び／又はデータを、仮想化層内に常駐させ、かつ／又は仮想化層内で実行することができる。本明細書で使用するとき、語句「仮想化層」とは、一般に、オペレーティングシステム環境にオーバーレイし、かつ／又はオペレーティングシステム環境から抽出される、任意のデータ層及び／又はアプリケーション層を指す。仮想化層は、下層にある基本オペレーティングシステムの一部であるかのように仮想化層を提示する、ソフトウェア仮想化ソリューション（例えば、ファイルシステムフィルタ）によって管理することができる。例えば、ソフトウェア仮想化ソリューションは、最初に基本ファイルシステム及び／又はレジストリ内の場所に方向付けられる呼び出しを、仮想化層内の場所にリダイレクトすることができる。
【００９２】
一部の実施例では、図１での例示的システム１００の全て又は一部分は、モバイルコンピューティング環境の諸部分を表し得る。モバイルコンピューティング環境は、携帯電話、タブレットコンピュータ、電子ブックリーダ、携帯情報端末、ウェアラブルコンピューティングデバイス（例えば、ヘッドマウント型ディスプレイを備えるコンピューティングデバイス、スマートウォッチなど）などを含めた、広範なモバイルコンピューティングデバイスによって実装することができる。一部の実施例では、モバイルコンピューティング環境は、例えば、バッテリ電力への依存、任意の所与の時間での１つのみのフォアグラウンドアプリケーションの提示、リモート管理機能、タッチスクリーン機能、位置及び移動データ（例えば、全地球測位システム、ジャイロスコープ、加速度計などによって提供されるもの）、システムレベルの構成に対する修正を制限し、かつ／又はサードパーティのソフトウェアが他のアプリケーションの挙動を検査する能力を限定する、制限付きプラットフォーム、アプリケーションのインストールを（例えば、認可されたアプリケーションストアのみに由来するように）制限するための制御などを含めた、１つ以上の明確な特徴を有し得る。本明細書で説明される様々な機能は、モバイルコンピューティング環境に対して提供することができ、かつ／又は、モバイルコンピューティング環境と相互作用することができる。
【００９３】
更には、図１での例示的システム１００の全て又は一部分は、情報管理のための１つ以上のシステムの諸部分を表し、それらのシステムと相互作用し、それらのシステムによって生成されるデータを消費し、かつ／又は、それらのシステムによって消費されるデータを生成することができる。本明細書で使用するとき、語句「情報管理」とは、データの保護、編成、及び／又は記憶を指すことができる。情報管理のためのシステムの例としては、限定するものではないが、記憶システム、バックアップシステム、アーカイブシステム、複製システム、高可用性システム、データ検索システム、仮想化システムなどを挙げることができる。
【００９４】
一部の実施形態では、図１での例示的システム１００の全て又は一部分は、情報セキュリティのための１つ以上のシステムの諸部分を表し、それらのシステムによって保護されるデータを生成し、かつ／又は、それらのシステムと通信することができる。本明細書で使用するとき、語句「情報セキュリティ」とは、保護されたデータへのアクセスの制御を指すことができる。情報セキュリティのためのシステムの例としては、限定するものではないが、管理されたセキュリティサービスを提供するシステム、データ損失防止システム、本人認証システム、アクセス制御システム、暗号システム、ポリシー遵守システム、侵入検出及び防止システム、電子証拠開示システムなどを挙げることができる。
【００９５】
一部の実施例によれば、図１での例示的システム１００の全て又は一部分は、エンドポイントセキュリティのための１つ以上のシステムの諸部分を表し、それらのシステムと通信し、かつ／又は、それらのシステムから保護を受けることができる。本明細書で使用するとき、語句「エンドポイントセキュリティ」とは、不正及び／又は違法な使用、アクセス、並びに／あるいは制御からの、エンドポイントシステムの保護を指すことができる。エンドポイント保護のためのシステムの例としては、限定するものではないが、マルウェア対策システム、ユーザ認証システム、暗号システム、プライバシーシステム、スパムフィルタリングサービスなどを挙げることができる。
【００９６】
本明細書で説明及び／又は図示される、プロセスパラメータ並びにステップのシーケンスは、単なる例としてのみ与えられるものであり、必要に応じて変更することができる。例えば、本明細書で図示及び／又は説明されるステップは、特定の順序で示されるか、又は論じられる場合があるが、これらのステップは、必ずしも図示又は論じられる順序で実行する必要はない。本明細書で説明及び／又は図示される様々な例示的方法はまた、本明細書で説明又は図示されるステップのうちの１つ以上を省略することも可能であり、又は開示されるステップに加えて、更なるステップを含むことも可能である。
【００９７】
本明細書では、完全に機能的なコンピューティングシステムのコンテキストで、様々な実施形態が説明及び／又は図示されてきたが、これらの例示的実施形態のうちの１つ以上は、実際に分散を実施するために使用される具体的なコンピュータ可読記憶媒体のタイプにかかわらず、様々な形態のプログラム製品として分散することができる。本明細書で開示される実施形態はまた、特定のタスクを実行するソフトウェアモジュールを使用して、実施することもできる。これらのソフトウェアモジュールとしては、スクリプト、バッチ、又は、コンピュータ可読記憶媒体上若しくはコンピューティングシステム内に記憶することが可能な他の実行可能ファイルを挙げることができる。一部の実施形態では、これらのソフトウェアモジュールは、本明細書で開示される例示的実施形態のうちの１つ以上を実行するように、コンピューティングシステムを構成することができる。
【００９８】
更には、本明細書で説明されるモジュールのうちの１つ以上は、データ、物理デバイス、及び／又は物理デバイスの表現を、１つの形態から別の形態へと変換することができる。例えば、本明細書で列挙されるモジュールのうちの１つ以上は、変換するべき１つ以上の不審イベントについてのデータを受信し、それらの１つ以上の不審イベントについてのデータを、イベント相関グラフへと変換し、それらの１つ以上の不審イベントが、コンピューティングシステムに対する攻撃の一部であるか否かを判定することが可能な、攻撃検出システムに、その変換の結果を出力し、その変換の結果を使用して、イベント相関グラフに関する攻撃スコアを算出することによって、それらの１つ以上の不審イベントが、コンピューティングシステムに対する攻撃の一部であるか否かを判定し、攻撃検出システムにアクセス可能なデータベースに、その変換の結果を記憶させることができる。更には、又は代替的に、本明細書で列挙されるモジュールのうちの１つ以上は、コンピューティングデバイス上で実行すること、コンピューティングデバイス上にデータを記憶すること、及び／又は他の方式でコンピューティングデバイスと相互作用することによって、プロセッサ、揮発性メモリ、不揮発性メモリ、及び／又は、物理コンピューティングデバイスの任意の他の部分を、１つの形態から別の形態へと変換することができる。
【００９９】
前述の説明は、本明細書で開示される例示的実施形態の様々な態様を、当業者が最良に利用することを可能にするために提供されてきた。この例示的説明は、包括的であること、又は、開示されるいずれの正確な形態に限定されることも意図するものではない。本開示の趣旨及び範囲から逸脱することなく、多くの修正及び変形が可能である。本明細書で開示される実施形態は、あらゆる点で例示的であり、制限的ではないものと見なされるべきである。本開示の範囲を決定する際に、添付の特許請求の範囲及びそれらの等価物を参照するべきである。
【０１００】
別途記載のない限り、用語「〜に接続される」及び「〜に結合される」（及び、それらの派生語）とは、本明細書及び特許請求の範囲で使用するとき、直接的接続及び間接的（すなわち、他の要素又は構成要素を介した）接続の双方を許容するものとして解釈されたい。更には、用語「ａ」又は「ａｎ」とは、本明細書及び特許請求の範囲で使用するとき、「〜のうち少なくとも１つ」を意味するものとして解釈されたい。最後に、使用の容易性のために、用語「含む」及び「有する」とは、本明細書及び特許請求の範囲で使用するとき、用語「備える」と互換性があり、かつ同じ意味を有するものとする。
【図１】
2016528656.tif 000003
【図２】
2016528656.tif 000004
【図３】
2016528656.tif 000005
【図４】
2016528656.tif 000006
【図５】
2016528656.tif 000007
【図６】
2016528656.tif 000008
【図７】
2016528656.tif 000009
【図８】
2016528656.tif 000010
【図９】
2016528656.tif 000011
【図１０】
2016528656.tif 000012
【図１１】
2016528656.tif 000013
【図１２】
2016528656.tif 000014
【手続補正書】
【提出日】平成28年2月25日(2016.2.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
イベント相関グラフを使用してコンピューティングシステムに対する攻撃を検出するための、コンピュータによって実行される方法であって、前記方法の少なくとも一部分が、少なくとも１つのプロセッサを備えるコンピューティングデバイスによって実行され、前記方法が、
コンピューティングシステム内の第１のアクタに関与する不審イベントを検出することと、
前記第１のアクタに関与する前記不審イベントの検出に応じて、イベント相関グラフを構築することであって、前記イベント相関グラフが、少なくとも、
前記第１のアクタを表す第１のノードと、
第２のアクタを表す第２のノードと、
エッジであって、
前記第１のノードと前記第２のノードとを相互接続し、
前記第１のアクタ及び前記第２のアクタに関与する更なる不審イベントを表す、
エッジと、
を含むことと、
前記第１のアクタ及び前記第２のアクタに関与する前記更なる不審イベントに少なくとも部分的に基づいて、前記イベント相関グラフに関する攻撃スコアを算出することと、
前記攻撃スコアが既定の閾値を上回ることを判定することと、
前記攻撃スコアが前記既定の閾値を上回ることに少なくとも部分的に基づいて、前記不審イベントが前記コンピューティングシステムに対する攻撃を含むことを、判定することと、
を含む、コンピュータによって実行される方法。
【請求項２】
前記イベント相関グラフを構築することが、前記イベント相関グラフ内のノードによって表される各アクタに関して、
前記アクタ及び少なくとも１つの更なるアクタに関与する、イベントのセットを特定することと、
前記イベントのセット内の各イベントに関して、
前記更なるアクタを表す更なるノードを、前記イベント相関グラフに追加することと、
前記ノードと更なるノードとを相互接続し、
前記アクタ及び前記更なるアクタに関与する前記イベントを表す、
更なるエッジを、前記イベント相関グラフに追加することと、
を含む、請求項１に記載のコンピュータによって実行される方法。
【請求項３】
前記イベントのセットが、不審イベントのセットを含む、請求項２に記載のコンピュータによって実行される方法。
【請求項４】
前記イベント相関グラフを構築することが、前記イベント相関グラフ内のノードによって表される各アクタに関して、
前記アクタに関与し、他のアクタに関与しない、不審イベントのセットを特定することと、
前記不審イベントのセット内の各不審イベントを、前記アクタを表す前記ノードに関連付けることと、
を含む、請求項１に記載のコンピュータによって実行される方法。
【請求項５】
前記イベント相関グラフ内に表される各不審イベントが、不審性スコアに関連付けられ、
前記イベント相関グラフに関する前記攻撃スコアを算出することが、前記イベント相関グラフ内に表される各不審イベントの前記不審性スコアに、少なくとも部分的に基づく、
請求項１に記載のコンピュータによって実行される方法。
【請求項６】
前記イベント相関グラフに関する前記攻撃スコアを算出することが、
前記イベント相関グラフ内の各エッジに関するスコアを、前記エッジによって表される前記不審イベントに関連付けられた不審性スコアに少なくとも部分的に基づいて、算出することと、
前記イベント相関グラフ内の各エッジに関する前記スコアに少なくとも部分的に基づいて、前記イベント相関グラフに関する前記攻撃スコアを算出することと、
を含む、請求項１に記載のコンピュータによって実行される方法。
【請求項７】
前記イベント相関グラフに関する前記攻撃スコアを算出することが、
前記イベント相関グラフ内の各ノードに関するスコアを、前記ノードに関連付けられる各不審イベントに関連付けられた不審性スコアに少なくとも部分的に基づいて、算出することと、
前記イベント相関グラフ内の各ノードに関する前記スコアに少なくとも部分的に基づいて、前記イベント相関グラフに関する前記攻撃スコアを算出することと、
を含む、請求項１に記載のコンピュータによって実行される方法。
【請求項８】
前記イベント相関グラフに関する前記攻撃スコアを算出する前に、少なくとも１つの低スコアのノードの領域を、前記低スコアのノードの領域のスコアが、更なる既定の閾値を下回ることに少なくとも部分的に基づいて、前記イベント相関グラフから除去することを更に含む、請求項１に記載のコンピュータによって実行される方法。
【請求項９】
前記イベント相関グラフに関する前記攻撃スコアを算出する前に、少なくとも１つの遠隔ノードを、前記第１のノードからの前記遠隔ノードの距離が、更なる既定の閾値を上回ることに少なくとも部分的に基づいて、前記イベント相関グラフから除去することを更に含む、請求項１に記載のコンピュータによって実行される方法。
【請求項１０】
前記コンピューティングシステムの管理者に、前記イベント相関グラフのグラフィック表現を表示することを更に含む、請求項１に記載のコンピュータによって実行される方法。
【請求項１１】
イベント相関グラフを使用してコンピューティングシステムに対する攻撃を検出するためのシステムであって、
コンピューティングシステム内の第１のアクタに関与する不審イベントを検出する、検出モジュールと、
前記第１のアクタに関与する前記不審イベントの検出に応じて、イベント相関グラフを構築する、構築モジュールであって、前記イベント相関グラフが、少なくとも、
前記第１のアクタを表す第１のノードと、
前記コンピューティングシステム内の第２のアクタを表す第２のノードと、
エッジであって、
前記第１のノードと前記第２のノードとを相互接続し、
前記第１のアクタ及び前記第２のアクタに関与する更なる不審イベントを表す、
エッジと、
を含む、構築モジュールと、
前記第１のアクタ及び前記第２のアクタに関与する前記更なる不審イベントに少なくとも部分的に基づいて、前記イベント相関グラフに関する攻撃スコアを算出する、スコア算出モジュールと、
前記攻撃スコアが既定の閾値を上回ることを判定する、閾値判定モジュールと、
前記攻撃スコアが前記既定の閾値を上回ることに少なくとも部分的に基づいて、前記不審イベントが前記コンピューティングシステムに対する攻撃を含むことを判定する、攻撃判定モジュールと、
前記検出モジュール、前記構築モジュール、前記スコア算出モジュール、前記閾値判定モジュール、及び前記攻撃判定モジュールを実行する、少なくとも１つの物理プロセッサと、
を備える、システム。
【請求項１２】
前記構築モジュールが、前記イベント相関グラフ内のノードによって表される各アクタに関して、
前記アクタ及び少なくとも１つの更なるアクタに関与する、イベントのセットを特定することと、
前記イベントのセット内の各イベントに関して、
前記更なるアクタを表す更なるノードを、前記イベント相関グラフに追加することと、
前記ノードと更なるノードとを相互接続し、
前記アクタ及び前記更なるアクタに関与する前記イベントを表す、
更なるエッジを、前記イベント相関グラフに追加することと、
によって、前記イベント相関グラフを構築する、請求項１１に記載のシステム。
【請求項１３】
前記イベントのセットが、不審イベントのセットを含む、請求項１２に記載のシステム。
【請求項１４】
前記構築モジュールが、前記イベント相関グラフ内のノードによって表される各アクタに関して、
前記アクタに関与し、他のアクタに関与しない、不審イベントのセットを特定することと、
前記不審イベントのセット内の各不審イベントを、前記アクタを表す前記ノードに関連付けることと、
によって、前記イベント相関グラフを構築する、請求項１１に記載のシステム。
【請求項１５】
前記イベント相関グラフ内に表される各不審イベントが、不審性スコアに関連付けられ、
前記スコア算出モジュールが、前記イベント相関グラフ内に表される各不審イベントの前記不審性スコアに、少なくとも部分的に基づいて、前記イベント相関グラフに関する前記攻撃スコアを算出する、
請求項１１に記載のシステム。
【国際調査報告】
2016528656.tif 000015
2016528656.tif 000016