イベント相関グラフを使用してコンピューティングシステムに対する攻撃を検出するためのシステム及び方法

著者らは特許

G06F21/55 - ローカルへの侵入を検知または対抗策を実行するもの
G06F21/57 - 信頼された計算機プラットフォームの保証または維持,例.セキュアブートまたは電源断,バージョンの管理,システム・ソフトウェアの検査,セキュア更新または脆弱性評価
H04L1 - 受信情報中の誤りを検出または防止するための配置

の所有者の特許 JP2016528656:

シマンテック コーポレーションSymantec Corporation

 

イベント相関グラフを使用してコンピューティングシステムに対する攻撃を検出するための、コンピュータによって実行される方法は、(1)コンピューティングシステム内の第1のアクタに関与する不審イベントを検出することと、(2)第1のアクタを表す第1のノードと、第2のアクタを表す第2のノードと、第1のノードと第2のノードとを相互接続し、第1のアクタ及び第2のアクタに関与する不審イベントを表す、エッジとを含む、イベント相関グラフを構築することと、(3)更なる不審イベントに少なくとも部分的に基づいて、そのイベント相関グラフに関する攻撃スコアを算出することと、(4)この攻撃スコアが既定の閾値を上回ることを判定することと、(5)その攻撃スコアが既定の閾値を上回ることに少なくとも部分的に基づいて、その不審イベントがコンピューティングシステムに対する攻撃の一部であり得ることを判定することとを含み得る。様々な他の方法、システム、及びコンピュータ可読媒体もまた、開示される。

 

 

近年、悪意のあるプログラマが、政府、企業、政治組織、防衛請負業者などの、高い注目度又は高いレベルのエンティティを対象とする、様々な巧妙な標的型攻撃を作り出している。多くの場合、そのような標的型攻撃の目的は、財務情報、防衛関連情報、及び/又は知的財産(例えば、ソースコード)などの、高度な保護必要情報若しくは機密情報にアクセスすること、並びに/あるいは、単にエンティティの業務を妨害することである。
多くのセキュリティソフトウェア会社は、定期的にマルウェアシグネチャ(例えば、既知のマルウェアを一意的に特定するハッシュ関数)を作成し、自身の顧客に配備することによって、標的型攻撃に対抗することを試みる。しかしながら、著しい数の上述の攻撃は、特定のアプリケーションの未だ発見されていない脆弱性を利用するように慎重に作り込まれた、(「ゼロデイ」エクスプロイトとして周知の)マルウェアを伴う。それゆえ、それらの問題となるエクスプロイトは、公的には未発見であるため、従来のセキュリティソフトウェアが、これらの攻撃を検出及び/又は無力化することは、多くの場合困難である。
シグネチャベースの手法に加えて、又はその手法の代替として、一部のセキュリティソフトウェア会社は、様々な挙動ベースのヒューリスティックを適用することにより、標的型攻撃を検出することができる。残念ながら、著しい数の標的型攻撃(例えば、持続的標的型攻撃)は、スローペースで進展することによって、それらの悪意のある挙動を不明瞭化することができるため、従来のセキュリティソフトウェアは、それらの標的型攻撃の悪意のある個別の挙動を、正当な挙動から区別することが不可能となる恐れがある。したがって、本開示は、コンピューティングシステムに対する攻撃を検出するためのシステム及び方法に関する必要性を特定し、対処する。
以下でより詳細に説明されるように、本開示は、全般的に、イベント相関グラフを使用してコンピューティングシステムに対する攻撃を検出するための、システム及び方法に関する。一実施例では、イベント相関グラフを使用してコンピューティングシステムに対する攻撃を検出するための、コンピュータによって実行される方法は、(1)コンピューティングシステム内の第1のアクタに関与する不審イベントを検出することと、(2)この第1のアクタに関与する不審イベントの検出に応じて、少なくとも、第1のアクタを表す第1のノードと、第2のアクタを表す第2のノードと、第1のノードと第2のノードとを相互接続し、第1のアクタ及び第2のアクタに関与する不審イベントを表す、エッジとを含む、イベント相関グラフを構築することと、(3)第1のアクタ及び第2のアクタに関与する更なる不審イベントに少なくとも部分的に基づいて、そのイベント相関グラフに関する攻撃スコアを算出することと、(4)この攻撃スコアが既定の閾値を上回ることを判定することと、(5)その攻撃スコアが既定の閾値を上回ることに少なくとも部分的に基づいて、その不審イベントがコンピューティングシステムに対する攻撃の一部であり得ることを判定することとを含み得る。
一部の実施例では、イベント相関グラフを構築するステップは、イベント相関グラフ内のノードによって表される各アクタに関して、(1)そのアクタ及び少なくとも1つの更なるアクタに関与する、イベントのセットを特定することと、(2)このイベントのセット内の各イベントに関して、その更なるアクタを表す更なるノードと、そのノードと更なるノードとを相互接続し、そのアクタ及び更なるアクタに関与するイベントを表す、更なるエッジとを、イベント相関グラフに追加することとを含み得る。少なくとも一実施例では、イベントのセットは、不審イベントのセットを含み得る。
一部の実施形態では、イベント相関グラフを構築するステップは、イベント相関グラフ内のノードによって表される各アクタに関して、(1)そのアクタに関与し、他のアクタに関与しない、不審イベントのセットを特定することと、(2)この不審イベントのセット内の各不審イベントを、そのアクタを表すノードに関連付けることとを含み得る。
一部の実施例では、イベント相関グラフ内に表される各不審イベントは、不審性スコアに関連付けることができ、イベント相関グラフに関する攻撃スコアを算出するステップは、そのイベント相関グラフ内に表される各不審イベントの不審性スコアに、少なくとも部分的に基づき得る。
一部の実施形態では、イベント相関グラフに関する攻撃スコアを算出するステップは、(1)イベント相関グラフ内の各エッジに関するスコアを、そのエッジによって表される不審イベントに関連付けられた不審性スコアに少なくとも部分的に基づいて、算出することと、(2)このイベント相関グラフ内の各エッジに関するスコアに少なくとも部分的に基づいて、イベント相関グラフに関する攻撃スコアを算出することとを含み得る。
一部の実施例では、イベント相関グラフに関する攻撃スコアを算出するステップは、(1)イベント相関グラフ内の各ノードに関するスコアを、そのノードに関連付けられる各不審イベントに関連付けられた不審性スコアに少なくとも部分的に基づいて、算出することと、(2)このイベント相関グラフ内の各ノードに関するスコアに少なくとも部分的に基づいて、イベント相関グラフに関する攻撃スコアを算出することとを含み得る。
一部の実施形態では、イベント相関グラフを使用してコンピューティングシステムに対する攻撃を検出するための、コンピュータによって実行される方法は、イベント相関グラフに関する攻撃スコアを算出する前に、少なくとも1つの低スコアのノードの領域を、その低スコアのノードの領域のスコアが、既定の閾値を下回ることに少なくとも部分的に基づいて、イベント相関グラフから除去することを更に含み得る。
一部の実施例では、イベント相関グラフを使用してコンピューティングシステムに対する攻撃を検出するための、コンピュータによって実行される方法は、イベント相関グラフに関する攻撃スコアを算出する前に、少なくとも1つの遠隔ノードを、第1のノードからの遠隔ノードの距離が、既定の閾値を上回ることに少なくとも部分的に基づいて、イベント相関グラフから除去することを更に含み得る。
一部の実施形態では、イベント相関グラフを使用してコンピューティングシステムに対する攻撃を検出するための、コンピュータによって実行される方法は、そのコンピューティングシステムの管理者に、イベント相関グラフのグラフィック表現を表示することを更に含み得る。
一実施形態では、上述の方法を実行するためのシステムは、(1)コンピューティングシステム内の第1のアクタに関与する不審イベントを検出する、検出モジュールと、(2)この第1のアクタに関与する不審イベントの検出に応じて、少なくとも、第1のアクタを表す第1のノードと、そのコンピューティングシステム内の第2のアクタを表す第2のノードと、第1のノードと第2のノードとを相互接続し、第1のアクタ及び第2のアクタに関与する更なる不審イベントを表す、エッジとを含む、イベント相関グラフを構築する、構築モジュールと、(3)第1のアクタ及び第2のアクタに関与する更なる不審イベントに少なくとも部分的に基づいて、そのイベント相関グラフに関する攻撃スコアを算出する、スコア算出モジュールと、(4)この攻撃スコアが既定の閾値を上回ることを判定する、閾値判定モジュールと、(5)その攻撃スコアが既定の閾値を上回ることに少なくとも部分的に基づいて、その不審イベントがコンピューティングシステムに対する攻撃の一部であり得ることを判定する、攻撃判定モジュールと、(6)検出モジュール、構築モジュール、スコア算出モジュール、閾値判定モジュール、及び攻撃判定モジュールを実行する、少なくとも1つのプロセッサとを含み得る。
一部の実施例では、上述の方法は、非一時的コンピュータ可読記憶媒体上のコンピュータ可読命令として、コード化することができる。例えば、コンピュータ可読記憶媒体は、1つ以上のコンピュータ実行可能命令を含み得るものであり、それらのコンピュータ実行可能命令は、コンピューティングデバイスの少なくとも1つのプロセッサによって実行されると、そのコンピューティングデバイスに、(1)コンピューティングシステム内の第1のアクタに関与する不審イベントを検出させ、(2)この第1のアクタに関与する不審イベントの検出に応じて、少なくとも、第1のアクタを表す第1のノードと、第2のアクタを表す第2のノードと、第1のノードと第2のノードとを相互接続し、第1のアクタ及び第2のアクタに関与する更なる不審イベントを表す、エッジとを含む、イベント相関グラフを構築させ、(3)第1のアクタ及び第2のアクタに関与する更なる不審イベントに少なくとも部分的に基づいて、そのイベント相関グラフに関する攻撃スコアを算出させ、(4)この攻撃スコアが既定の閾値を上回ることを判定させ、(5)その攻撃スコアが既定の閾値を上回ることに少なくとも部分的に基づいて、その不審イベントがコンピューティングシステムに対する攻撃の一部であり得ることを判定させることができる。
上述の実施形態のうちのいずれによる特徴も、本明細書で説明される一般原理に従って、互いに組み合わせて使用することができる。これらの実施形態、特徴、及び利点、並びに他の実施形態、特徴、及び利点は、添付の図面及び特許請求の範囲と併せて、以下の「発明を実施するための形態」を読むことによって、より完全に理解されるであろう。
添付の図面は、幾つかの例示的実施形態を示すものであり、本明細書の一部をなす。以下の説明と併せて、これらの図面は、本開示の様々な原理を実証及び説明する。
イベント相関グラフを使用してコンピューティングシステムに対する攻撃を検出するための、例示的システムのブロック図である。 イベント相関グラフを使用してコンピューティングシステムに対する攻撃を検出するための、更なる例示的システムのブロック図である。 イベント相関グラフを使用してコンピューティングシステムに対する攻撃を検出するための、例示的方法の流れ図である。 例示的なイベント相関グラフのブロック図である。 例示的なイベント相関グラフのブロック図である。 例示的なイベント相関グラフのブロック図である。 例示的なイベント相関グラフのブロック図である。 例示的なイベント相関グラフのブロック図である。 例示的なイベント相関グラフのブロック図である。 例示的なイベント相関グラフのブロック図である。 本明細書で説明及び/又は図示される実施形態のうちの1つ以上を実施することが可能な、例示的なコンピューティングシステムのブロック図である。 本明細書で説明及び/又は図示される実施形態のうちの1つ以上を実施することが可能な、例示的なコンピューティングネットワークのブロック図である。
これらの図面全体を通して、同一の参照文字及び説明は、同様ではあるが、必ずしも同一ではない要素を示す。本明細書で説明される例示的実施形態は、様々な修正及び代替的形態を許容するものであるが、特定の実施形態が例として図面には示されており、本明細書で詳細に説明されるであろう。しかしながら、本明細書で説明される例示的実施形態は、開示される特定の形態に限定されることを意図するものではない。むしろ、本開示は、添付の特許請求の範囲内に含まれる全ての修正、等価物、及び代替物を包含するものである。
本開示は、全般的に、イベント相関グラフを使用してコンピューティングシステムに対する攻撃を検出するための、システム及び方法を目的とする。以下でより詳細に説明されるように、不審イベント使用して、その不審イベントに関与するアクタが、その不審イベントによってどのように関連するかに基づいて、イベント相関グラフを構築することによって、本明細書で説明されるシステム及び方法は、コンピューティングシステムに対する標的型攻撃の検出を可能にすることができる。更には、一部の実施例では、グラフベースの相関の手法を使用して、コンピューティングシステムに対する攻撃を検出することによって、これらのシステム及び方法は、それらの攻撃に関する、より深い理解(例えば、それらの攻撃に関与するアクタ及び方法)を提供することが可能な情報を、生成することができる。本開示の実施形態はまた、以下でより詳細に論じられるように、様々な他の利点及び特徴も提供することができる。
以下では、図1、図2を参照して、イベント相関グラフを使用してコンピューティングシステムに対する攻撃を検出するための、例示的システムの詳細な説明が提供される。コンピュータによって実行される対応する方法の詳細な説明もまた、図3〜図10に関連して提供される。更には、本明細書で説明される実施形態のうちの1つ以上を実行することが可能な、例示的なコンピューティングシステム及びネットワークアーキテクチャの詳細な説明が、それぞれ、図11及び図12に関連して提供される。
図1は、イベント相関グラフを使用してコンピューティングシステムに対する攻撃を検出するための、例示的システム100のブロック図である。この図に示されるように、例示的システム100は、1つ以上のタスクを実行するための、1つ以上のモジュール102を含み得る。例えば、以下でより詳細に説明されるように、例示的システム100は、コンピューティングシステム内の第1のアクタに関与する不審イベントを検出する、検出モジュール104を含み得る。例示的システム100はまた、この第1のアクタに関与する不審イベントの検出に応じて、イベント相関グラフを構築する、構築モジュール106も含み得る。
更には、以下でより詳細に説明されるように、例示的システム100は、そのイベント相関グラフに関する攻撃スコアを算出する、スコア算出モジュール108を含み得る。例示的システム100はまた、この攻撃スコアが既定の閾値を上回ることを判定する、閾値判定モジュール110も含み得る。例示的システム100は、その攻撃スコアが既定の閾値を上回ることに少なくとも部分的に基づいて、その不審イベントがコンピューティングシステムに対する攻撃の一部であり得ることを判定する、攻撃判定モジュール112を更に含み得る。別個の要素として示されているが、図1でのモジュール102のうちの1つ以上は、単一のモジュール又はアプリケーションの諸部分を表し得る。
特定の実施形態では、図1でのモジュール102のうちの1つ以上は、コンピューティングデバイスによって実行されると、そのコンピューティングデバイスに1つ以上のタスクを実行させることが可能な、1つ以上のソフトウェアアプリケーション又はプログラムを表し得る。例えば、以下でより詳細に説明されるように、モジュール102のうちの1つ以上は、図2に示されるデバイス(例えば、コンピューティングデバイス202(1)〜202(N)及び/又はサーバ206)、図11でのコンピューティングシステム1110、及び/又は図12での例示的ネットワークアーキテクチャ1200の諸部分などの、1つ以上のコンピューティングデバイス上に記憶され、実行されるように構成された、ソフトウェアモジュールを表し得る。図1でのモジュール102のうちの1つ以上はまた、1つ以上のタスクを実行するように構成された、1つ以上の専用コンピュータの全体又は諸部分も表し得る。
図1に示されるように、例示的システム100はまた、データベース120などの、1つ以上のデータベースも含み得る。一実施例では、データベース120は、1つ以上の不審イベントについての情報を記憶するための、不審イベント122と、不審イベントに関連付けられた不審性スコアについての情報を記憶するための、不審性スコア124と、1つ以上のイベント相関グラフについての情報を記憶するための、イベント相関グラフ126とを含み得る。
データベース120は、単一のデータベース若しくはコンピューティングデバイス、又は複数のデータベース若しくはコンピューティングデバイスの、諸部分を表し得る。例えば、データベース120は、図2でのサーバ206、図11でのコンピューティングシステム1110の一部分、及び/又は図12での例示的ネットワークアーキテクチャ1200の諸部分を表し得る。あるいは、図1でのデータベース120は、図2でのサーバ206、図11でのコンピューティングシステム1110、及び/又は図12での例示的ネットワークアーキテクチャ1200の諸部分などのコンピューティングデバイスによってアクセスすることが可能な、物理的に別個の1つ以上のデバイスを表し得る。
図1での例示的システム100は、様々な方式で実施することができる。例えば、例示的システム100の全て又は一部分は、図2での例示的システム200の諸部分を表し得る。図2に示されるように、システム200は、ネットワーク204を介してサーバ206と通信する、コンピューティングデバイス202(1)〜202(N)を含み得る。一実施例では、コンピューティングデバイス202(1)〜202(N)に、モジュール102のうちの1つ以上をプログラムすることができ、かつ/又は、データベース120内のデータの全て若しくは一部分を記憶させることができる。更には、又は代替的に、サーバ206に、モジュール102のうちの1つ以上をプログラムすることができ、かつ/又は、データベース120内のデータの全て若しくは一部分を記憶させることができる。
一実施形態では、図1からのモジュール102のうちの1つ以上は、コンピューティングデバイス202(1)〜202(N)のうちの1つ以上及び/又はサーバ206の、少なくとも1つのプロセッサによって実行されると、コンピューティングデバイス202(1)〜202(N)のうちの1つ以上及び/又はサーバ206が、イベント相関グラフを使用して、システム200に対する攻撃を検出することを可能にし得る。例えば、以下でより詳細に説明されるように、モジュール102のうちの1つ以上は、コンピューティングデバイス202(1)〜202(N)のうちの1つ以上及び/又はサーバ206に、(1)システム200内の第1のアクタに関与する不審イベントを検出させ、(2)この第1のアクタに関与する不審イベントの検出に応じて、イベント相関グラフ(例えば、図4でのイベント相関グラフ400)を構築させ、(3)その第1のアクタに関与する不審イベントに基づいて、そのイベント相関グラフに関する攻撃スコアを算出させ、(4)この攻撃スコアが既定の閾値を上回ることを判定させ、(5)その攻撃スコアが既定の閾値を上回ることに少なくとも部分的に基づいて、その不審イベントがシステム200に対する攻撃の一部であり得ることを判定させることができる。
コンピューティングデバイス202(1)〜202(N)は、一般に、コンピュータ実行可能命令を読み取ることが可能な、任意のタイプ又は形態のコンピューティングデバイスを表す。コンピューティングデバイス202(1)〜202(N)の例としては、限定するものではないが、ラップトップ、タブレット、デスクトップ、サーバ、セルラー電話、携帯情報端末(PDA)、マルチメディアプレーヤ、ルータ、スイッチ、組み込みシステム、これらの1つ以上の組み合わせ、図11での例示的コンピューティングシステム1110、図12での例示的ネットワークアーキテクチャ1200の諸部分、又は任意の他の好適なコンピューティングデバイスが挙げられる。図2に示されるように、コンピューティングデバイス202(1)〜202(N)はそれぞれ、コンピューティングデバイス202(1)〜202(N)のそれぞれに発生する不審イベントを検出し、かつ/又は、それらの不審イベントについての情報をサーバ206に送信することが可能な、検出モジュール104を含み得る。
サーバ206は、一般に、コンピュータ実行可能命令を読み取ることが可能な、任意のタイプ又は形態のコンピューティングデバイスを表す。サーバ206の例としては、限定するものではないが、様々なデータベースサービスを提供し、かつ/又は特定のソフトウェアアプリケーションを実行するように構成された、アプリケーションサーバ及びデータベースサーバが挙げられる。
ネットワーク204は、一般に、通信若しくはデータ転送を容易にすることが可能な、任意の媒体又はアーキテクチャを表す。ネットワーク204の例としては、限定するものではないが、イントラネット、広域ネットワーク(WAN)、ローカルエリアネットワーク(LAN)、パーソナルエリアネットワーク(PAN)、インターネット、電力線通信(PLC)、セルラーネットワーク(例えば、グローバルシステムフォーモバイルコミュニケーションズ(GSM)(登録商標)ネットワーク)、図12での例示的ネットワークアーキテクチャ1200などが挙げられる。ネットワーク204は、無線接続若しくは有線接続を使用して、通信又はデータ転送を容易にすることができる。一実施形態では、ネットワーク204は、コンピューティングデバイス202(1)〜202(N)及び/又はサーバ206間の通信を容易にすることができる。
図3は、イベント相関グラフを使用してコンピューティングシステムに対する攻撃を検出するための、コンピュータによって実行される例示的な方法300の流れ図である。図3に示されるステップは、任意の好適なコンピュータ実行可能コード及び/又はコンピューティングシステムによって、実行することができる。一部の実施形態では、図3に示されるステップは、図1でのシステム100、図2でのシステム200、図11でのコンピューティングシステム1110、及び/又は図12での例示的ネットワークアーキテクチャ1200の諸部分の、構成要素のうちの1つ以上によって実行することができる。
図3に示されるように、ステップ302で、本明細書で説明されるシステムのうちの1つ以上は、コンピューティングシステム内の第1のアクタに関与する不審イベントを検出することができる。例えば、検出モジュール104は、図2でのサーバ206の一部として、コンピューティングデバイス202(1)上での2つのプロセスに関与する不審イベント(例えば、プロセス「viux.exe」が、別のプロセス「wscntfy.exe」内にコードを注入した不審イベント)を検出することができる。
用語「不審イベント」とは、本明細書で使用するとき、一般に、コンピューティングシステムに対する攻撃を示し得る、コンピューティングシステム内でのあらゆる不審な発生を指す。一部の実施例では、用語「不審イベント」とは、コンピューティングシステムに対する攻撃を示し得る、コンピューティングシステム内での、1つ以上のアクタによる1つ以上の挙動の発生を指すことができる。不審イベントの例としては、限定するものではないが、あるプロセスが別のプロセス内にコードを注入すること、ブラウザが不審なウェブサイトを訪問すること、及び不明なファイルの存在を挙げることができる。一部の実施例では、不審イベントは、不審イベントの様々な属性を定義する規則を使用して、特定することができる。少なくとも一実施形態では、そのような規則はまた、不審イベントに関する不審性のレベル又はスコアも定義することができる。
本明細書で使用するとき、用語「アクタ」とは、一般に、不審イベントに参加するか、又は他の方式で不審イベントに関与する、あらゆるエンティティを指す。一部の実施例では、用語「アクタ」とは、アクションを実行することが可能なエンティティ(例えば、ソースアクタ)及び/又はアクションが実行される対象となり得るエンティティ(例えば、ターゲットアクタ)を指すことができる。2つ以上のアクタが、双方とも同じ不審イベントに関与している場合には、それらのアクタは関連しているものと見なすことができる。アクタの例としては、限定するものではないが、ユーザ、プロセス、アプリケーション、コンピューティングデバイス、ファイル、ポート、ネットワーク、情報資源(例えば、ウェブサイト)などを挙げることができる。
図3に戻ると、本明細書で説明されるシステムは、任意の好適な方式で、ステップ302を実行することができる。一実施例では、検出モジュール104は、不審イベントを、その不審イベントについての情報を受信することによって、検出することができる。例えば、検出モジュール104は、不審イベントについての情報を検出、収集、及び/又は管理するように設計されたシステム(例えば、SIEM、SIM、又はSEM)から、不審イベントについての情報を受信することができる。更には、又は代替的に、検出モジュール104は、不審イベントを管理及び/又は監視していたシステム(例えば、ファイアウォール、ルータ、スイッチ、仮想プライベートネットワーク、ウィルス対策システム、侵入検出及び/又は侵入防止システム、脆弱性検査ツール、ウェブサーバ、ウェブフィルタ、プロキシ、データベース、メール及び/又はグループウェアシステム、認証サーバ、並びに/あるいはシステムロガー)から、不審イベントについての情報を直接受信することができる。
一部の実施例では、検出モジュール104は、不審イベントについての情報を検出、収集、及び/又は管理するように設計されたシステム、並びに/あるいはイベントを管理及び/又は監視するように設計されたシステムであって、そのシステムの一部として、不審イベントを検出することができるシステムの、一部分を表し得るものである。
更には、又は代替的に、検出モジュール104は、データベース内に記憶されている不審イベントについての情報を特定することによって、不審イベントを検出することができる。一例として図2を使用すると、検出モジュール104は、不審イベントを、データベース120の不審イベント122内の、その不審イベントについての情報を特定することによって検出することができる。
本明細書で説明されるシステムは、不審イベントの検出に応じて、イベント相関グラフを作成することができるため、少なくとも一実施例では、検出モジュール104は、高度に不審なイベント(例えば、コンピューティングシステムに対する攻撃の一部である可能性が最も高い不審イベント)のみを検出することによって、作成されるイベント相関グラフの数を低減することができる。
ステップ304で、本明細書で説明されるシステムのうちの1つ以上は、第1のアクタに関与する不審イベントの検出に応じて、イベント相関グラフを構築することができる。例えば、構築モジュール106は、図2でサーバ206の一部として、プロセス「viux.exe」及びプロセス「wscntfy.exe」に関与する、コンピューティングデバイス202(1)上の不審イベントの検出に応じて、図4でのイベント相関グラフ400を構築することができる。
本明細書で使用するとき、用語「イベント相関グラフ」とは、一般に、不審イベントに関与するアクタが、その不審イベントによってどのように関連するかに基づいて互いに関連付けられる、2つ以上の不審イベントの、任意の論理的表現又はグラフィック表現を指す。一部の実施例では、相関グラフは、(1)不審イベントに関与するアクタの表現(例えば、ノード)、並びに(2)それらの不審イベント、及び/又は、それらの不審イベントに基づくアクタ間の関係性の表現(例えば、エッジ)を含み得る。図4は、例示的なイベント相関グラフ400のブロック図である。図4に示されるように、イベント相関グラフ400は、有向エッジ428〜462によって相互接続される、ノード402〜426を含み得る。この実施例では、ノード402〜426は、有向エッジ428〜462によって表された相関不審イベントに関与する、アクタを表し得るものであり、有向エッジ428〜462は、それらの相関不審イベント、及び/又は、それらの相関不審イベントに関与するアクタ間の関係性を表し得る。以下でより詳細に説明されるように、イベント相関グラフ400は、ノード402及びノード404によってそれぞれ表されるプロセス「viux.exe」及びプロセス「wscntfy.exe」に関与した、エッジ428によって表される不審イベントの検出によって、その作成がトリガされた、イベント相関グラフを表し得る。
本明細書で使用するとき、用語「ノード」とは、一般に、コンピューティングシステム内のアクタの任意の表現を指す。一部の実施例では、ノードはまた、1つのアクタのみに関与する不審イベントを表すためにも、使用することができる。用語「エッジ」とは、本明細書で使用するとき、一般に、コンピューティングシステム内の2つ以上のアクタに関与する不審イベント、及び/又は、それらの不審イベントの結果として、それらの2つ以上のアクタ間に存在する関係性の、任意の表現を指す。一部の実施例では、エッジは、2つ以上のアクタ間に存在する関係性の方向を表す、有向エッジを含み得る。一般的に、不審イベントは、それらの不審イベントを表すノード及び/又はエッジに関連付けることができる。
図3に戻ると、本明細書で説明されるシステムは、任意の好適な方式で、ステップ304を実行することができる。一実施例では、構築モジュール106は、(1)単一の検出不審イベント(例えば、トリガ不審イベント)を表す、イベント相関グラフを作成することと、(2)更なる関連不審イベントを含むように、そのイベント相関グラフを反復的に拡張することとによって、イベント相関グラフを構築することができる。構築モジュール106は、2つのアクタのそれぞれに関するノードと、それらの2つのノードを接続する不審イベントに関するエッジとを含む、イベント相関グラフを作成することによって、それらの2つのアクタに関与する単一の不審イベントを表す、イベント相関グラフ(例えば、図5でのイベント相関グラフ500)を作成することができる。同様に、構築モジュール106は、1つのアクタに関する1つのノードを含む、イベント相関グラフを作成し、不審イベントをそのノードと関連付けることによって、1つのみのアクタに関与する単一の不審イベントを表す、イベント相関グラフを作成することができる。
一部の実施例では、構築モジュール106は、(1)イベント相関グラフ内に表される各アクタに関して、そのアクタ及び更なるアクタに関与する、不審イベントのセットを特定することと、(2)新たに特定された各アクタに関するノード、及び新たに特定された各不審イベントに関するエッジを、イベント相関グラフに追加することとによって、イベント相関グラフに、更なる関連不審イベントを反復的に追加することができる。更には、又は代替的に、構築モジュール106は、(1)イベント相関グラフ内に表される各アクタに関して、そのアクタに関与し、他のアクタに関与しない、不審イベントのセットを特定することと、(2)新たに特定された各不審イベントを、そのアクタを表すノードに関連付けることとによって、イベント相関グラフに、更なる関連不審イベントを反復的に追加することができる。少なくとも一実施例では、構築モジュール106は、イベント相関グラフ内に表されるアクタに関与する、更なる不審イベントを特定することができなくなるまで、イベント相関グラフを継続して拡張することができる。
イベント相関グラフを構築すると、構築モジュール106は、データベース120内のイベント相関グラフ126に、そのイベント相関グラフを記憶させることができる。一部の実施例では、構築モジュール106は、新たな不審イベントが検出される際に、イベント相関グラフを継続して反復的に拡張することができる。例えば、構築モジュール106は、新たな不審イベントが検出される際に、イベント相関グラフ126内に記憶されたイベント相関グラフを、定期的に更新することができる。
図5〜図8は、構築モジュール106が、どのようにして図4でのイベント相関グラフ400を反復的に構築することができるかを示す。以下の実施例では、図5での例示的なイベント相関グラフ500、図6での例示的なイベント相関グラフ600、図7での例示的なイベント相関グラフ700、及び図8での例示的なイベント相関グラフ800は、それぞれ、イベント相関グラフ400の、第1、第2、第3、及び第4の反復を表し得る。図5から開始すると、構築モジュール106は、プロセス「viux.exe」がプロセス「wscntfy.exe」内にコードを注入した、不審イベントの検出に応じて、例示的なイベント相関グラフ500を生成することができる。図示のように、構築モジュール106は、プロセス「viux.exe」を表すノード402と、プロセス「wscntfy.exe」を表すノード404と、ノード402とノード404とを相互接続し、プロセス「viux.exe」及びプロセス「wscntfy.exe」に関与する不審イベントを表すエッジ428とを含むように、イベント相関グラフ500を生成することができる。
図5でのイベント相関グラフ500を構築すると、構築モジュール106は、(1)イベント相関グラフ500内に表されたアクタ(例えば、プロセス「viux.exe」及びプロセス「wscntfy.exe」)に関与する、更なる不審イベントを特定することと、(2)特定された各不審イベントに関して、イベント相関グラフ500に、その不審イベントの表現を追加することとによって、イベント相関グラフ500から、図6でのイベント相関グラフ600を構築することができる。例えば、構築モジュール106は、プロセス「viux.exe」が、5つの更なる不審イベント(例えば、プロセス「iexplore.exe」に関与する不審イベント、プロセス「bot.exe」に関与する3つの不審イベント、及びプロセス「explorer.exe」に関与する不審イベント)に参加したことを判定することができ、プロセス「wscntfy.exe」が、更なる不審イベントには参加しなかったことを判定することができる。図6に示されるように、構築モジュール106は、プロセス「viux.exe」及びプロセス「iexplore.exe」に関与する不審イベントを表すエッジ430によってノード402に接続される、ノード406と、プロセス「viux.exe」及びプロセス「bot.exe」に関与する3つの不審イベントを表すエッジ432によってノード402に接続される、ノード408と、プロセス「viux.exe」及びプロセス「explorer.exe」に関与する不審イベントを表すエッジ434によってノード402に接続される、ノード410とを追加することによって、イベント相関グラフ500に、これらの新たに特定された不審イベントを追加することができる。
図6でのイベント相関グラフ600を構築すると、構築モジュール106は、(1)イベント相関グラフ600内に表された新たなアクタ(例えば、プロセス「iexplore.exe」、プロセス「bot.exe」、及びプロセス「explorer.exe」)に関与する、更なる不審イベントを特定することと、(2)特定された各不審イベントに関して、図6でのイベント相関グラフ600に、その不審イベントの表現を追加することとによって、イベント相関グラフ600から、例示的なイベント相関グラフ700を構築することができる。例えば、構築モジュール106は、プロセス「iexplore.exe」が、6つの更なる不審イベント(例えば、そのプロセス自体に関与する不審イベント、ウェブサイト「sgmmvjnzrqpnx.com」に関与する不審イベント、プロセス「bot.exe」に関与する2つの不審イベント、及びプロセス「explorer.exe」に関与する2つの不審イベント)に参加したことを判定することができる。図7に示されるように、構築モジュール106は、プロセス「iexplore.exe」及びそのプロセス自体に関与する不審イベントを表す、ノード406とそのノード自体とを相互接続するエッジ436と、プロセス「iexplore.exe」及びウェブサイト「sgmmvjnzrqpnx.com」に関与する不審イベントを表すエッジ438によってノード406に接続される、ノード412と、プロセス「iexplore.exe」及びプロセス「bot.exe」に関与する2つの不審イベントを表す、ノード406とノード408とを相互接続するエッジ440と、プロセス「iexplore.exe」及び「explorer.exe」に関与する2つの不審イベントを表す、ノード406とノード410とを相互接続するエッジ442とを追加することによって、イベント相関グラフ600に、これらの新たに特定された不審イベントを追加することができる。構築モジュール106はまた、プロセス「iexplore.exe」が、他のアクタに関与しない1つの不審イベント(例えば、プロセス「iexplore.exe」が、証明書を読み取った不審イベント)に参加したことも判定することができる。図7に示されるように、構築モジュール106は、この新たに特定された不審イベントを、ノード406にそのイベントを関連付けることによって(例えば、図7に示されるように)、イベント相関グラフ700に追加することができる。
構築モジュール106はまた、プロセス「bot.exe」が、5つの更なる不審イベント(例えば、プロセス「iexplore.exe」に関与する2つの不審イベント、及びプロセス「cmd.exe」に関与する2つの不審イベント)に参加したことも判定することができる。図7に示されるように、構築モジュール106は、プロセス「bot.exe」及びプロセス「iexplore.exe」に関与する2つの不審イベントを表す、ノード406とノード408とを相互接続するエッジ440と、プロセス「bot.exe」及びプロセス「cmd.exe」に関与する2つの不審イベントを表すエッジ444によってノード408に接続される、ノード414とを追加することによって、イベント相関グラフ600に、これらの新たに特定された不審イベントを追加することができる。
構築モジュール106は、プロセス「explorer.exe」が、12の更なる不審イベント(例えば、プロセス「cmd.exe」に関与する不審イベント、プロセス「bashcontrolapp.exe」に関与する不審イベント、プロセス「ilo.exe」に関与する2つの不審イベント、プロセス「vmwareuser.exe」に関与する2つの不審イベント、そのプロセス自体に関与する不審イベント、プロセス「taskmgr.exe」に関与する2つの不審イベント、プロセス「csrss.exe」に関与する不審イベント、及びプロセス「iexplore.exe」に関与する2つの不審イベント)に参加したことを、更に判定することができる。図7に示されるように、構築モジュール106は、プロセス「explorer.exe」及びプロセス「cmd.exe」に関与する不審イベントを表す、ノード410とノード414を相互接続するエッジ446と、プロセス「explorer.exe」及びプロセス「bashcontrolapp.exe」に関与する不審イベントを表すエッジ448によってノード410に接続される、ノード416と、プロセス「explorer.exe」及びプロセス「ilo.exe」に関与する2つの不審イベントを表すエッジ450によってノード410に接続される、ノード418と、プロセス「explorer.exe」及びプロセス「vmwareuser.exe」に関与する2つの不審イベントを表すエッジ452によってノード410に接続される、ノード420と、プロセス「explorer.exe」及びそのプロセス自体に関与する不審イベントを表す、ノード410とそのノード自体とを相互接続するエッジ454と、プロセス「explorer.exe」及びプロセス「taskmgr.exe」に関与する2つの不審イベントを表すエッジ456によってノード410に接続される、ノード422と、プロセス「explorer.exe」及びプロセス「csrss.exe」に関与する不審イベントを表すエッジ458によってノード410に接続される、ノード424と、プロセス「explorer.exe」及びプロセス「iexplore.exe」に関与する2つの不審イベントを表す、ノード406とノード410とを相互接続するエッジ442とを追加することによって、イベント相関グラフ600に、これらの新たに特定された不審イベントを追加することができる。
構築モジュール106はまた、プロセス「explorer.exe」が、他のアクタに関与しない3つの不審イベント(例えば、プロセス「explorer.exe」が、ハイパーテキスト転送プロトコル(HTTP)トラフィックを生成した不審イベント、プロセス「explorer.exe」が、システムレジストリにロードポイントを追加した不審イベント、及び、プロセス「explorer.exe」が、証明書を読み取った不審イベント)に参加したことも判定することができる。図7に示されるように、構築モジュール106は、これらの新たに特定された不審イベントを、ノード410にそれらの不審イベントを関連付けることによって、イベント相関グラフ700に追加することができる。
図7でのイベント相関グラフ700を構築すると、構築モジュール106は、(1)イベント相関グラフ700内に表された新たなアクタに関与する、更なる不審イベントのセットを特定することと、(2)特定された各不審イベントに関して、イベント相関グラフ700に、その不審イベントの表現を追加することとによって、例示的なイベント相関グラフ800を構築することができる。例えば、構築モジュール106は、プロセス「cmd.exe」が、1つの更なる不審イベント(例えば、プロセス「bashcontrolapp.exe」に関与する不審イベント)に参加したことと、プロセス「ilo.exe」が、1つの更なる不審イベント(例えば、アドレス「172.18.1.52」のプロセスに関与する不審イベント)に参加したことと、新たに追加された他の全てのアクタが、更なる不審イベントには関与しなかったこととを、判定することができる。図8に示されるように、構築モジュール106は、プロセス「cmd.exe」及びプロセス「bashcontrolapp.exe」に関与する不審イベントを表す、ノード414とノード416とを相互接続するエッジ460と、プロセス「ilo.exe」及びアドレス「172.18.1.52」に関与する不審イベントを表すエッジ462によってノード418に接続される、ノード426とを追加することによって、イベント相関グラフ700に、これらの新たに特定された不審イベントを追加することができる。図8でのイベント相関グラフ800を構築すると、構築モジュール106は、新たに追加されたアクタのいずれもが、いずれの更なる不審イベントにも参加しなかったことを判定することによって、イベント相関グラフ800が完成していることを判定することができる。
図3に戻ると、ステップ306で、本明細書で説明されるシステムのうちの1つ以上は、イベント相関グラフに関する攻撃スコアを算出することができる。例えば、スコア算出モジュール108は、図2でのサーバ206の一部として、図4でのイベント相関グラフ400に関する攻撃スコアを算出することができる。
本明細書で説明されるシステムは、任意の好適な方式で、ステップ306を実行することができる。例えば、スコア算出モジュール108は、(1)イベント相関グラフ内に表される、不審イベントの全て又は一部分を特定することと、(2)特定された不審イベントのそれぞれに関連付けられる、不審性スコアを特定することと、(3)イベント相関グラフに関する攻撃スコアを算出するために、その不審性スコアを使用することとによって、イベント相関グラフに関する攻撃スコアを算出することができる。一実施例では、スコア算出モジュール108は、イベント相関グラフ内に表される各不審イベントの不審性スコアを、単純に合計することによって、イベント相関グラフに関する攻撃スコアを算出することができる。
一例として図9を使用すると、スコア算出モジュール108は、(1)イベント相関グラフ内に表される、不審イベントの全てを特定することと、(2)特定された不審イベントのそれぞれに関連付けられる、(例えば、図9で、イベント相関グラフ400内の各不審イベントの隣の、括弧内の数字によって示されるような)不審性スコアを特定することと、(3)イベント相関グラフ400内に表される各不審イベントの不審性スコアを合計することによって、イベント相関グラフ400に関する攻撃スコアが、1190に等しいことを判定することとによって、イベント相関グラフ400に関する攻撃スコアを算出することができる。
更には、又は代替的に、スコア算出モジュール108は、イベント相関グラフ内の各ノード及び/又はエッジに関するスコアに基づいて、イベント相関グラフに関する攻撃スコアを算出することができる。例えば、スコア算出モジュール108は、(1)イベント相関グラフ内の各エッジに関するスコアを、そのエッジによって表される不審イベントに関連付けられた、不審性スコアに基づいて算出することと、(2)イベント相関グラフ内の各ノードに関するスコアを、そのノードに関連付けられる各不審イベントに関連付けられた、不審性スコアに少なくとも部分的に基づいて、算出することと、(3)イベント相関グラフ内の各ノード及びエッジのスコアを合計することとによって、イベント相関グラフに関する攻撃スコアを算出することができる。
一例として図10を使用すると、スコア算出モジュール108は、(1)イベント相関グラフ400内の各エッジに関するスコアを、そのエッジによって表される不審イベントに関連付けられた、(例えば、図10で、イベント相関グラフ400内の各エッジの隣の、括弧内の数字によって示されるような)不審性スコアに基づいて算出することと、(2)イベント相関グラフ400内の各ノードに関するスコアを、そのノードに関連付けられる各不審イベントに関連付けられた、(例えば、図10で、イベント相関グラフ400内の各ノード内の、括弧内の数字によって示されるような)不審性スコアに少なくとも部分的に基づいて、算出することと、(3)イベント相関グラフ400内の各ノード及びエッジのスコアを合計することによって、イベント相関グラフ400に関する攻撃スコアが、1190に等しいことを判定することとによって、イベント相関グラフ400に関する攻撃スコアを算出することができる。
図3に戻ると、不審イベントの不審性スコアに基づいて攻撃スコアを算出することに加えて、又はその代替として、スコア算出モジュール108は、イベント相関グラフのサイズに基づいて、イベント相関グラフに関する攻撃スコアを算出することができる。例えば、スコア算出モジュール108は、イベント相関グラフ内の、ノード、エッジ、及び/又は不審イベントの数に基づいて、イベント相関グラフに関する攻撃スコアを算出することができる。
一部の実例では、多くの無害なアクタが、無害な不審イベントにより、イベント相関グラフの一部となり得る可能性がある。スコア算出モジュール108は、それらの無害なアクタを、イベント相関グラフから取り除くことによって、この問題に対処することができる。一部の実施例では、スコア算出モジュール108は、イベント相関グラフに関する攻撃スコアを算出する前に、イベント相関グラフから低スコアのノードの領域を除去することによって、イベント相関グラフから無害なアクタを取り除くことができる。ノードの領域は、イベント相関グラフ内の任意のノードを、そのノードから既定の距離の範囲内にある任意の他のノードと共に含み得る。少なくとも一実施例では、スコア算出モジュール108は、イベント相関グラフ内のノードの各領域に関するスコアを算出して、そのスコアが既定の閾値を下回るノードの領域を除去することによって、イベント相関グラフから無害なアクタを取り除くことができる。
更には、又は代替的に、スコア算出モジュール108は、イベント相関グラフの構築をトリガした不審イベントに関与するアクタを表すノードからの、遠隔ノードの距離が、既定の閾値を上回ることに基づいて、イベント相関グラフから、その遠隔ノードを除去することによって、イベント相関グラフから無害なアクタを取り除くことができる。
ステップ308で、本明細書で説明されるシステムのうちの1つ以上は、攻撃スコアが既定の閾値を上回ることを判定することができる。例えば、閾値判定モジュール110は、図2でのサーバ206の一部として、図4でのイベント相関グラフ400に関する攻撃スコアが、既定の閾値を上回ることを判定することができる。
本明細書で説明されるシステムは、任意の好適な方式で、ステップ308を実行することができる。一実施例では、閾値判定モジュール110は、攻撃スコアが、コンピューティングシステムの管理者又はユーザによって提供された既定の閾値を上回ることを判定することができる。別の実施例では、閾値判定モジュール110は、攻撃スコアが、他のイベント相関グラフの攻撃スコアに基づく既定の閾値を上回ることを判定することができる。例えば、閾値判定モジュール110は、攻撃スコアが、平均攻撃スコアを上回ることを判定することができ、かつ/又は、攻撃スコアが、既定の割合の他のイベント相関グラフの攻撃スコアを上回ることを判定することができる。他のイベント相関グラフに基づく閾値を使用することによって、閾値判定モジュール110は、コンピューティングシステムに対する攻撃の一部である可能性が最も高いイベント相関グラフのみを、特定することができる。
ステップ310で、本明細書で説明されるシステムのうちの1つ以上は、攻撃スコアが既定の閾値を上回ることに少なくとも部分的に基づいて、その不審イベントが、コンピューティングシステムに対する攻撃の一部であり得ることを、判定することができる。例えば、攻撃判定モジュール112は、図2でのサーバ206の一部として、図4でのイベント相関グラフ400の攻撃スコアが、既定の閾値を上回ることに少なくとも部分的に基づいて、プロセス「viux.exe」及びプロセス「wscntfy.exe」に関与する不審イベントが、コンピューティングデバイス202(1)に対する攻撃の一部であり得ることを、判定することができる。
本明細書で説明されるシステムは、任意の好適な方式で、ステップ310を実行することができる。例えば、不審イベントが、コンピューティングシステムに対する攻撃の一部であり得ることを判定すると、攻撃判定モジュール112は、コンピューティングシステムの管理者又はユーザに、その検出された攻撃を警告することができる。更には、又は代替的に、攻撃判定モジュール112は、攻撃を阻止し、かつ/又は、攻撃からコンピューティングシステムを保護することができる。例えば、攻撃判定モジュール112は、その攻撃に関与するアクタを隔離することができる。
一部の実施例では、攻撃判定モジュール112は、イベント相関グラフのグラフィック表現を生成して、コンピューティングシステムの管理者又はユーザに表示することにより、管理者又はユーザは、それらのグラフィック表現が表す攻撃を分析することができる。一部の実施例では、本明細書で説明されるシステムは、イベント相関グラフ内のノード及びエッジに、(例えば、図4及び図9に示されるように)それらが表すアクタ及び/又は不審イベントについての情報を、ラベル付けすることができる。イベント相関グラフのグラフィック表現を提示することによって、攻撃判定モジュール112は、攻撃が発生するコンテキストについての鑑識情報を提供することができる。ステップ310が完了すると、図3での例示的方法300を終了することができる。
上述のように、不審イベント使用して、その不審イベントに関与するアクタが、その不審イベントによってどのように関連するかに基づいて、イベント相関グラフを構築することによって、本明細書で説明されるシステム及び方法は、コンピューティングシステムに対する標的型攻撃の検出を可能にすることができる。更には、一部の実施例では、グラフベースの相関の手法を使用して、コンピューティングシステムに対する攻撃を検出することによって、これらのシステム及び方法は、それらの攻撃に関する、より深い理解(例えば、それらの攻撃に関与するアクタ及び方法)を提供することが可能な情報を、生成することができる。
例えば、本明細書で説明されるシステム及び方法は、(1)1つ以上のホストベース又はネットワークベースの検出器から、不審イベントについての情報を収集することと、(2)不審イベント使用して、その不審イベントに関与するアクタが、その不審イベントによってどのように関連するかに基づいて、イベント相関グラフを構築することと、(3)イベント相関グラフ内に含まれる不審イベントに基づいて、そのイベント相関グラフに関するスコアを算出することと、(4)それらの不審イベントがコンピューティングシステムに対する攻撃の一部であり得ることを、イベント相関グラフに関するスコアが示すことを判定することとによって、コンピューティングシステムに対する攻撃を検出することができる。
図11は、本明細書で説明及び/又は図示される実施形態のうちの1つ以上を実施することが可能な、例示的コンピューティングシステム1110のブロック図である。例えば、コンピューティングシステム1110の全て又は一部分は、単独で、又は他の要素と組み合わせて、本明細書で説明されるステップのうちの1つ以上(図3に示されるステップのうちの1つ以上など)を実行することができ、かつ/あるいは、それらのステップを実行する手段とすることもできる。コンピューティングシステム1110の全て又は一部分はまた、本明細書で説明及び/又は図示される任意の他のステップ、方法、若しくはプロセスも実行することができ、かつ/あるいは、それらのステップを実行する手段とすることもできる。
コンピューティングシステム1110は、概して、コンピュータ可読命令を実行することが可能な、任意のシングルプロセッサ若しくはマルチプロセッサのコンピューティングデバイス又はシステムを表す。コンピューティングシステム1110の例としては、限定するものではないが、ワークステーション、ラップトップ、クライアント側端末、サーバ、分散型コンピューティングシステム、ハンドヘルドデバイス、又は任意の他のコンピューティングシステム若しくはデバイスが挙げられる。コンピューティングシステム1110は、その最も基本的な構成では、少なくとも1つのプロセッサ1114及びシステムメモリ1116を含み得る。
プロセッサ1114は、一般に、データを処理するか、あるいは命令を解釈及び実行することが可能な、任意のタイプ又は形態の物理処理ユニット(例えば、ハードウェアで実装される中央処理装置)を表す。特定の実施形態では、プロセッサ1114は、ソフトウェアアプリケーション又はモジュールから、命令を受信することができる。これらの命令は、プロセッサ1114に、本明細書で説明及び/又は図示される例示的実施形態のうちの1つ以上の機能を実行させることができる。
システムメモリ1116は、一般に、データ及び/又は他のコンピュータ可読命令を記憶することが可能な、任意のタイプ又は形態の、揮発性若しくは不揮発性の記憶デバイス又は記憶媒体を表す。システムメモリ1116の例としては、限定するものではないが、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、フラッシュメモリ、又は任意の他の好適なメモリデバイスが挙げられる。必須ではないが、特定の実施形態では、コンピューティングシステム1110は、揮発性メモリユニット(例えば、システムメモリ1116など)及び不揮発性記憶デバイス(例えば、以下で詳細に説明されるような、一次記憶デバイス1132など)の双方を含み得る。一実施例では、図1からのモジュール102のうちの1つ以上は、システムメモリ1116内にロードすることができる。
特定の実施形態では、例示的コンピューティングシステム1110はまた、プロセッサ1114及びシステムメモリ1116に加えて、1つ以上の構成要素又は要素も含み得る。例えば、図11に示されるように、コンピューティングシステム1110は、通信インフラストラクチャ1112を介して、それぞれが相互接続することが可能な、メモリコントローラ1118、入出力(I/O)コントローラ1120、及び通信インタフェース1122を含み得る。通信インフラストラクチャ1112は、一般に、コンピューティングデバイスの1つ以上の構成要素間の通信を容易にすることが可能な、任意のタイプ又は形態のインフラストラクチャを表す。通信インフラストラクチャ1112の例としては、限定するものではないが、通信バス(業界標準アーキテクチャ(ISA)、周辺装置相互接続(PCI)、PCIエクスプレス(PCIe)、又は同様のバスなど)、及びネットワークが挙げられる。
メモリコントローラ1118は、一般に、メモリ若しくはデータを処理するか、又はコンピューティングシステム1110の1つ以上の構成要素間の通信を制御することが可能な、任意のタイプ又は形態のデバイスを表す。例えば、特定の実施形態では、メモリコントローラ1118は、通信インフラストラクチャ1112を介して、プロセッサ1114、システムメモリ1116、及びI/Oコントローラ1120間の通信を制御することができる。
I/Oコントローラ1120は、一般に、コンピューティングデバイスの入出力機能を、調整及び/又は制御することが可能な、任意のタイプ又は形態のモジュールを表す。例えば、特定の実施形態では、I/Oコントローラ1120は、プロセッサ1114、システムメモリ1116、通信インタフェース1122、ディスプレイアダプタ1126、入力インタフェース1130、及び記憶装置インタフェース1134などの、コンピューティングシステム1110の1つ以上の要素間でのデータの転送を制御するか、又は容易にすることができる。
通信インタフェース1122は、概して、例示的コンピューティングシステム1110と1つ以上の更なるデバイスとの間の通信を容易にすることが可能な、任意のタイプ若しくは形態の通信デバイス又はアダプタを表す。例えば、特定の実施形態では、通信インタフェース1122は、コンピューティングシステム1110と、更なるコンピューティングシステムを含むプライベートネットワーク又は公衆ネットワークとの間の通信を、容易にすることができる。通信インタフェース1122の例としては、限定するものではないが、有線ネットワークインタフェース(ネットワークインタフェースカードなど)、無線ネットワークインタフェース(無線ネットワークインタフェースカードなど)、モデム、及び任意の他の好適なインタフェースが挙げられる。少なくとも一実施形態では、通信インタフェース1122は、インターネットなどのネットワークへの直接リンクを介して、リモートサーバへの直接接続を提供することができる。通信インタフェース1122はまた、例えば、ローカルエリアネットワーク(Ethernet(登録商標、以下同じ)ネットワークなど)、パーソナルエリアネットワーク、電話若しくはケーブルネットワーク、セルラー電話接続、衛星データ接続、又は任意の他の好適な接続を通じて、そのような接続を間接的に提供することもできる。
特定の実施形態では、通信インタフェース1122はまた、外部バス又は通信チャネルを介して、コンピューティングシステム1110と1つ以上の更なるネットワーク又は記憶デバイスとの間の通信を容易にするように構成された、ホストアダプタも表し得る。ホストアダプタの例としては、限定するものではないが、小型コンピュータシステムインタフェース(SCSI)ホストアダプタ、ユニバーサルシリアルバス(USB)ホストアダプタ、米国電気電子学会(IEEE)1394ホストアダプタ、アドバンストテクノロジーアタッチメント(ATA)ホストアダプタ、パラレルATA(PATA)ホストアダプタ、シリアルATA(SATA)ホストアダプタ、及び外部SATA(eSATA)ホストアダプタ、ファイバーチャネルインタフェースアダプタ、Ethernetアダプタなどが挙げられる。通信インタフェース1122はまた、コンピューティングシステム1110が、分散型コンピューティング又はリモートコンピューティングに関与することも可能にすることができる。例えば、通信インタフェース1122は、実行するために、遠隔デバイスから命令を受信するか又は遠隔デバイスに命令を送信することができる。
図11に示されるように、コンピューティングシステム1110はまた、ディスプレイアダプタ1126を介して通信インフラストラクチャ1112に結合された、少なくとも1つのディスプレイデバイス1124を含み得る。ディスプレイデバイス1124は、一般に、ディスプレイアダプタ1126によって転送された情報を視覚的に表示することが可能な、任意のタイプ又は形態のデバイスを表す。同様に、ディスプレイアダプタ1126は、一般に、ディスプレイデバイス1124上に表示するために、通信インフラストラクチャ1112からの(又は、当該技術分野において既知であるようなフレームバッファからの)グラフィック、テキスト、及び他のデータを転送するように構成された、任意のタイプ又は形態のデバイスを表す。
図11に示されるように、例示的コンピューティングシステム1110はまた、入力インタフェース1130を介して通信インフラストラクチャ1112に結合された、少なくとも1つの入力デバイス1128も含み得る。入力デバイス1128は、一般に、コンピュータ又は人間のいずれかが生成した入力を、例示的コンピューティングシステム1110に提供することが可能な、任意のタイプ又は形態の入力デバイスを表す。入力デバイス1128の例としては、限定するものではないが、キーボード、ポインティングデバイス、音声認識デバイス、又は任意の他の入力デバイスが挙げられる。
図11に示されるように、例示的コンピューティングシステム1110はまた、記憶装置インタフェース1134を介して通信インフラストラクチャ1112に結合された、一次記憶デバイス1132及びバックアップ記憶デバイス1133も含み得る。記憶デバイス1132及び記憶デバイス1133は、一般に、データ及び/又は他のコンピュータ可読命令を記憶することが可能な、任意のタイプ若しくは形態の記憶デバイス又は記憶媒体を表す。例えば、記憶デバイス1132及び記憶デバイス1133は、磁気ディスクドライブ(例えば、いわゆるハードドライブ)、ソリッドステートドライブ、フロッピー(登録商標、以下同じ)ディスクドライブ、磁気テープドライブ、光ディスクドライブ、フラッシュドライブなどとすることができる。記憶装置インタフェース1134は、一般に、記憶デバイス1132及び記憶デバイス1133とコンピューティングシステム1110の他の構成要素との間でデータを転送するための、任意のタイプ若しくは形態のインタフェース又はデバイスを表す。一実施例では、図1からのデータベース120は、一次記憶デバイス1132内に記憶させることができる。
特定の実施形態では、記憶デバイス1132及び記憶デバイス1133は、コンピュータソフトウェア、データ、又は他のコンピュータ可読情報を記憶するように構成された、取り外し可能記憶ユニットから読み取るように、かつ/又は、その取り外し可能記憶ユニットに書き込むように構成することができる。好適な取り外し可能記憶ユニットの例としては、限定するものではないが、フロッピーディスク、磁気テープ、光ディスク、フラッシュメモリデバイスなどが挙げられる。記憶デバイス1132及び記憶デバイス1133はまた、コンピュータソフトウェア、データ、又は他のコンピュータ可読命令が、コンピューティングシステム1110内にロードされることを可能にするための、他の同様の構造体又はデバイスも含み得る。例えば、記憶デバイス1132及び記憶デバイス1133は、ソフトウェア、データ、又は他のコンピュータ可読情報を読み取り、かつ書き込むように構成することができる。記憶デバイス1132及び記憶デバイス1133はまた、コンピューティングシステム1110の一部とすることができ、又は、他のインタフェースシステムを通じてアクセスされる、別個のデバイスとすることもできる。
多くの他のデバイス又はサブシステムを、コンピューティングシステム1110に接続することができる。反対に、本明細書で説明及び/又は図示される実施形態を実践するために、図11に示される構成要素及びデバイスの全てが存在する必要はない。上記で言及されるデバイス及びサブシステムはまた、図11に示されるものとは異なる方式で相互接続することもできる。コンピューティングシステム1110はまた、任意数のソフトウェア構成、ファームウェア構成、及び/又はハードウェア構成を採用することもできる。例えば、本明細書で開示される例示的実施形態のうちの1つ以上は、コンピュータ可読記憶媒体上に、コンピュータプログラム(コンピュータソフトウェア、ソフトウェアアプリケーション、コンピュータ可読命令、又はコンピュータ制御論理とも称される)としてコード化することができる。語句「コンピュータ可読記憶媒体」とは、一般に、コンピュータ可読命令を記憶又は搬送することが可能な、任意の形態のデバイス、キャリア、若しくは媒体を指す。コンピュータ可読記憶媒体の例としては、限定するものではないが、搬送波などの伝送型媒体、並びに、磁気記憶媒体(例えば、ハードディスクドライブ及びフロッピーディスク)、光記憶媒体(例えば、コンパクトディスク(CD)又はデジタルビデオディスク(DVD))、電子記憶媒体(例えば、ソリッドステートドライブ及びフラッシュメディア)、及び他の配布システムなどの、非一時型媒体が挙げられる。
コンピュータプログラムを含むコンピュータ可読記憶媒体は、コンピューティングシステム1110内にロードすることができる。次いで、そのコンピュータ可読記憶媒体上に記憶されたコンピュータプログラムの全て又は一部分を、システムメモリ1116、並びに/又は記憶デバイス1132及び記憶デバイス1133の様々な部分内に記憶させることができる。プロセッサ1114によって実行されると、コンピューティングシステム1110内にロードされたコンピュータプログラムは、プロセッサ1114に、本明細書で説明及び/又は図示される例示的実施形態のうちの1つ以上の機能を実行させることができ、かつ/あるいは、プロセッサ1114を、それらの機能を実行する手段にすることもできる。更には、又は代替的に、本明細書で説明及び/又は図示される例示的実施形態のうちの1つ以上は、ファームウェア及び/又はハードウェアとして実装することができる。例えば、コンピューティングシステム1110は、本明細書で開示される例示的実施形態のうちの1つ以上を実施するように適合された、特定用途向け集積回路(ASIC)として構成することができる。
図12は、クライアントシステム1210、1220、及びクライアントシステム1230、並びにサーバ1240及びサーバ1245をネットワーク1250に結合することが可能な、例示的ネットワークアーキテクチャ1200のブロック図である。上記で詳述されたように、ネットワークアーキテクチャ1200の全て又は一部分は、単独で、又は他の要素と組み合わせて、本明細書で開示されるステップのうちの1つ以上(図3に示されるステップのうちの1つ以上など)を実行することができ、かつ/あるいは、それらのステップを実行する手段とすることもできる。ネットワークアーキテクチャ1200の全て又は一部分はまた、本開示に記載される他のステップ及び特徴を実行するために、かつ/あるいは、実行する手段とするために使用することもできることもできる。
クライアントシステム1210、1220、及びクライアントシステム1230は、一般に、図11での例示的コンピューティングシステム1110などの、任意のタイプ若しくは形態のコンピューティングデバイス又はシステムを表す。同様に、サーバ1240及びサーバ1245は、一般に、様々なデータベースサービスを提供し、かつ/又は特定のソフトウェアアプリケーションを実行するように構成された、アプリケーションサーバ若しくはデータベースサーバなどの、コンピューティングデバイス又はシステムを表す。ネットワーク1250は、一般に、例えばイントラネット、WAN、LAN、PAN、又はインターネットを含めた、任意のテレコミュニケーションネットワーク又はコンピュータネットワークを表す。一実施例では、クライアントシステム1210、1220、及び/又はクライアントシステム1230、並びに/あるいは、サーバ1240及び/又はサーバ1245は、図1からのシステム100の全て又は一部分を含み得る。
図12に示されるように、1つ以上の記憶デバイス1260(1)〜1260(N)を、サーバ1240に直接取り付けることができる。同様に、1つ以上の記憶デバイス1270(1)〜1270(N)を、サーバ1245に直接取り付けることができる。記憶デバイス1260(1)〜1260(N)及び記憶デバイス1270(1)〜1270(N)は、一般に、データ及び/又は他のコンピュータ可読命令を記憶することが可能な、任意のタイプ若しくは形態の記憶デバイス又は記憶媒体を表す。特定の実施形態では、記憶デバイス1260(1)〜1260(N)及び記憶デバイス1270(1)〜1270(N)は、ネットワークファイルシステム(NFS)、サーバメッセージブロック(SMB)、又は共通インターネットファイルシステム(CIFS)などの様々なプロトコルを使用して、サーバ1240及びサーバ1245と通信するように構成された、ネットワーク接続ストレージ(NAS)デバイスを表し得る。
サーバ1240及びサーバ1245はまた、ストレージエリアネットワーク(SAN)ファブリック1280にも接続することができる。SANファブリック1280は、一般に、複数の記憶デバイス間の通信を容易にすることが可能な、任意のタイプ若しくは形態のコンピュータネットワーク又はアーキテクチャを表す。SANファブリック1280は、サーバ1240及びサーバ1245と、複数の記憶デバイス1290(1)〜1290(N)及び/又はインテリジェントストレージアレイ1295との間の通信を、容易にすることができる。SANファブリック1280はまた、デバイス1290(1)〜1290(N)及びアレイ1295が、クライアントシステム1210、1220、及びクライアントシステム1230に、ローカルで取り付けられたデバイスとして現れるような方式で、ネットワーク1250並びにサーバ1240及びサーバ1245を介して、クライアントシステム1210、1220、及びクライアントシステム1230と、記憶デバイス1290(1)〜1290(N)及び/又はインテリジェントストレージアレイ1295との間の通信を、容易にすることもできる。記憶デバイス1260(1)〜1260(N)及び記憶デバイス1270(1)〜1270(N)と同様に、記憶デバイス1290(1)〜1290(N)及びインテリジェントストレージアレイ1295は、一般に、データ及び/又は他のコンピュータ可読命令を記憶することが可能な、任意のタイプ若しくは形態の記憶デバイス又は記憶媒体を表す。
特定の実施形態では、図11の例示的コンピューティングシステム1110を参照すると、図11での通信インタフェース1122などの通信インタフェースを使用して、各クライアントシステム1210、1220、及びクライアントシステム1230とネットワーク1250との間の接続性を提供することができる。クライアントシステム1210、1220、及びクライアントシステム1230は、例えば、ウェブブラウザ又は他のクライアントソフトウェアを使用して、サーバ1240又はサーバ1245上の情報にアクセスすることが可能となり得る。そのようなソフトウェアにより、クライアントシステム1210、1220、及びクライアントシステム1230は、サーバ1240、サーバ1245、記憶デバイス1260(1)〜1260(N)、記憶デバイス1270(1)〜1270(N)、記憶デバイス1290(1)〜1290(N)、又はインテリジェントストレージアレイ1295によってホストされるデータに、アクセスすることが可能となり得る。図12は、データを交換するためのネットワーク(インターネットなど)の使用を示すものであるが、本明細書で説明及び/又は図示される実施形態は、インターネット、又は任意の特定のネットワークベースの環境に限定されるものではない。
少なくとも一実施形態では、本明細書で開示される例示的実施形態のうちの1つ以上の全て又は一部分は、コンピュータプログラムとしてコード化して、サーバ1240、サーバ1245、記憶デバイス1260(1)〜1260(N)、記憶デバイス1270(1)〜1270(N)、記憶デバイス1290(1)〜1290(N)、インテリジェントストレージアレイ1295、又はこれらの任意の組み合わせ上にロードして、それらによって実行することができる。本明細書で開示される例示的実施形態のうちの1つ以上の全て又は一部分はまた、コンピュータプログラムとしてコード化し、サーバ1240内に記憶させ、サーバ1245によって実行し、ネットワーク1250を介してクライアントシステム1210、1220、及びクライアントシステム1230に分散することもできる。
上記で詳述されたように、コンピューティングシステム1110、及び/又はネットワークアーキテクチャ1200の1つ以上の構成要素は、単独で、又は他の要素と組み合わせて、イベント相関グラフを使用してコンピューティングシステムに対する攻撃を検出するための例示的方法の1つ以上のステップを実行することができ、かつ/又は、それらのステップを実行する手段とすることもできる。
上述の開示は、特定のブロック図、流れ図、及び実施例を使用して、様々な実施形態を記載しているが、本明細書で説明及び/又は図示される、ブロック図の各構成要素、流れ図の各ステップ、各動作、及び/又は各構成要素は、個別に、及び/又は集合的に、広範なハードウェア、ソフトウェア、又はファームウェア(又は、それらの任意の組み合わせ)の構成を使用して、実行することができる。更には、多くの他のアーキテクチャを実装することにより、同じ機能性を達成することができるため、他の構成要素内に含まれる構成要素のいずれの開示も、本質的に例示であると見なされるべきである。
一部の実施例では、図1での例示的システム100の全て又は一部分は、クラウドコンピューティング環境又はネットワークベースの環境の諸部分を表し得る。クラウドコンピューティング環境は、インターネットを介して、様々なサービス及びアプリケーションを提供することができる。これらのクラウドベースのサービス(例えば、サービス型ソフトウェア、サービス型プラットフォーム、サービス型インフラストラクチャなど)は、ウェブブラウザ又は他のリモートインタフェースを通じてアクセス可能とすることができる。本明細書で説明される様々な機能は、リモートデスクトップ環境、又は任意の他のクラウドベースのコンピューティング環境を通じて提供することができる。
様々な実施形態では、図1での例示的システム100の全て又は一部分は、クラウドベースのコンピューティング環境内でのマルチテナント機能を容易にすることができる。換言すれば、本明細書で説明されるソフトウェアモジュールは、本明細書で説明される機能のうちの1つ以上に関するマルチテナント機能を容易にするように、コンピューティングシステム(例えば、サーバ)を構成することができる。例えば、本明細書で説明されるソフトウェアモジュールのうちの1つ以上は、2つ以上のクライアント(例えば、顧客)が、サーバ上で実行中のアプリケーションを共有することが可能となるように、サーバをプログラムすることができる。この方式でプログラムされたサーバは、複数の顧客(即ち、テナント)の間で、アプリケーション、オペレーティングシステム、処理システム、及び/又は記憶システムを共有することができる。本明細書で説明されるモジュールのうちの1つ以上はまた、1つの顧客が、別の顧客のデータ及び/又は構成情報にアクセスすることができないように、各顧客に関して、マルチテナントアプリケーションのデータ及び/又は構成情報を分割することもできる。
様々な実施形態によれば、図1での例示的なステム100の全て又は一部分は、仮想環境内で実装することができる。例えば、本明細書で説明されるモジュール及び/又はデータを、仮想マシン内に常駐させ、かつ/又は仮想マシン内で実行することができる。本明細書で使用するとき、語句「仮想マシン」とは、一般に、仮想機械マネージャ(例えば、ハイパーバイザ)によってコンピューティングハードウェアから抽出される、任意のオペレーティングシステム環境を指す。更には、又は代替的に、本明細書で説明されるモジュール及び/又はデータを、仮想化層内に常駐させ、かつ/又は仮想化層内で実行することができる。本明細書で使用するとき、語句「仮想化層」とは、一般に、オペレーティングシステム環境にオーバーレイし、かつ/又はオペレーティングシステム環境から抽出される、任意のデータ層及び/又はアプリケーション層を指す。仮想化層は、下層にある基本オペレーティングシステムの一部であるかのように仮想化層を提示する、ソフトウェア仮想化ソリューション(例えば、ファイルシステムフィルタ)によって管理することができる。例えば、ソフトウェア仮想化ソリューションは、最初に基本ファイルシステム及び/又はレジストリ内の場所に方向付けられる呼び出しを、仮想化層内の場所にリダイレクトすることができる。
一部の実施例では、図1での例示的システム100の全て又は一部分は、モバイルコンピューティング環境の諸部分を表し得る。モバイルコンピューティング環境は、携帯電話、タブレットコンピュータ、電子ブックリーダ、携帯情報端末、ウェアラブルコンピューティングデバイス(例えば、ヘッドマウント型ディスプレイを備えるコンピューティングデバイス、スマートウォッチなど)などを含めた、広範なモバイルコンピューティングデバイスによって実装することができる。一部の実施例では、モバイルコンピューティング環境は、例えば、バッテリ電力への依存、任意の所与の時間での1つのみのフォアグラウンドアプリケーションの提示、リモート管理機能、タッチスクリーン機能、位置及び移動データ(例えば、全地球測位システム、ジャイロスコープ、加速度計などによって提供されるもの)、システムレベルの構成に対する修正を制限し、かつ/又はサードパーティのソフトウェアが他のアプリケーションの挙動を検査する能力を限定する、制限付きプラットフォーム、アプリケーションのインストールを(例えば、認可されたアプリケーションストアのみに由来するように)制限するための制御などを含めた、1つ以上の明確な特徴を有し得る。本明細書で説明される様々な機能は、モバイルコンピューティング環境に対して提供することができ、かつ/又は、モバイルコンピューティング環境と相互作用することができる。
更には、図1での例示的システム100の全て又は一部分は、情報管理のための1つ以上のシステムの諸部分を表し、それらのシステムと相互作用し、それらのシステムによって生成されるデータを消費し、かつ/又は、それらのシステムによって消費されるデータを生成することができる。本明細書で使用するとき、語句「情報管理」とは、データの保護、編成、及び/又は記憶を指すことができる。情報管理のためのシステムの例としては、限定するものではないが、記憶システム、バックアップシステム、アーカイブシステム、複製システム、高可用性システム、データ検索システム、仮想化システムなどを挙げることができる。
一部の実施形態では、図1での例示的システム100の全て又は一部分は、情報セキュリティのための1つ以上のシステムの諸部分を表し、それらのシステムによって保護されるデータを生成し、かつ/又は、それらのシステムと通信することができる。本明細書で使用するとき、語句「情報セキュリティ」とは、保護されたデータへのアクセスの制御を指すことができる。情報セキュリティのためのシステムの例としては、限定するものではないが、管理されたセキュリティサービスを提供するシステム、データ損失防止システム、本人認証システム、アクセス制御システム、暗号システム、ポリシー遵守システム、侵入検出及び防止システム、電子証拠開示システムなどを挙げることができる。
一部の実施例によれば、図1での例示的システム100の全て又は一部分は、エンドポイントセキュリティのための1つ以上のシステムの諸部分を表し、それらのシステムと通信し、かつ/又は、それらのシステムから保護を受けることができる。本明細書で使用するとき、語句「エンドポイントセキュリティ」とは、不正及び/又は違法な使用、アクセス、並びに/あるいは制御からの、エンドポイントシステムの保護を指すことができる。エンドポイント保護のためのシステムの例としては、限定するものではないが、マルウェア対策システム、ユーザ認証システム、暗号システム、プライバシーシステム、スパムフィルタリングサービスなどを挙げることができる。
本明細書で説明及び/又は図示される、プロセスパラメータ並びにステップのシーケンスは、単なる例としてのみ与えられるものであり、必要に応じて変更することができる。例えば、本明細書で図示及び/又は説明されるステップは、特定の順序で示されるか、又は論じられる場合があるが、これらのステップは、必ずしも図示又は論じられる順序で実行する必要はない。本明細書で説明及び/又は図示される様々な例示的方法はまた、本明細書で説明又は図示されるステップのうちの1つ以上を省略することも可能であり、又は開示されるステップに加えて、更なるステップを含むことも可能である。
本明細書では、完全に機能的なコンピューティングシステムのコンテキストで、様々な実施形態が説明及び/又は図示されてきたが、これらの例示的実施形態のうちの1つ以上は、実際に分散を実施するために使用される具体的なコンピュータ可読記憶媒体のタイプにかかわらず、様々な形態のプログラム製品として分散することができる。本明細書で開示される実施形態はまた、特定のタスクを実行するソフトウェアモジュールを使用して、実施することもできる。これらのソフトウェアモジュールとしては、スクリプト、バッチ、又は、コンピュータ可読記憶媒体上若しくはコンピューティングシステム内に記憶することが可能な他の実行可能ファイルを挙げることができる。一部の実施形態では、これらのソフトウェアモジュールは、本明細書で開示される例示的実施形態のうちの1つ以上を実行するように、コンピューティングシステムを構成することができる。
更には、本明細書で説明されるモジュールのうちの1つ以上は、データ、物理デバイス、及び/又は物理デバイスの表現を、1つの形態から別の形態へと変換することができる。例えば、本明細書で列挙されるモジュールのうちの1つ以上は、変換するべき1つ以上の不審イベントについてのデータを受信し、それらの1つ以上の不審イベントについてのデータを、イベント相関グラフへと変換し、それらの1つ以上の不審イベントが、コンピューティングシステムに対する攻撃の一部であるか否かを判定することが可能な、攻撃検出システムに、その変換の結果を出力し、その変換の結果を使用して、イベント相関グラフに関する攻撃スコアを算出することによって、それらの1つ以上の不審イベントが、コンピューティングシステムに対する攻撃の一部であるか否かを判定し、攻撃検出システムにアクセス可能なデータベースに、その変換の結果を記憶させることができる。更には、又は代替的に、本明細書で列挙されるモジュールのうちの1つ以上は、コンピューティングデバイス上で実行すること、コンピューティングデバイス上にデータを記憶すること、及び/又は他の方式でコンピューティングデバイスと相互作用することによって、プロセッサ、揮発性メモリ、不揮発性メモリ、及び/又は、物理コンピューティングデバイスの任意の他の部分を、1つの形態から別の形態へと変換することができる。
前述の説明は、本明細書で開示される例示的実施形態の様々な態様を、当業者が最良に利用することを可能にするために提供されてきた。この例示的説明は、包括的であること、又は、開示されるいずれの正確な形態に限定されることも意図するものではない。本開示の趣旨及び範囲から逸脱することなく、多くの修正及び変形が可能である。本明細書で開示される実施形態は、あらゆる点で例示的であり、制限的ではないものと見なされるべきである。本開示の範囲を決定する際に、添付の特許請求の範囲及びそれらの等価物を参照するべきである。
別途記載のない限り、用語「〜に接続される」及び「〜に結合される」(及び、それらの派生語)とは、本明細書及び特許請求の範囲で使用するとき、直接的接続及び間接的(すなわち、他の要素又は構成要素を介した)接続の双方を許容するものとして解釈されたい。更には、用語「a」又は「an」とは、本明細書及び特許請求の範囲で使用するとき、「〜のうち少なくとも1つ」を意味するものとして解釈されたい。最後に、使用の容易性のために、用語「含む」及び「有する」とは、本明細書及び特許請求の範囲で使用するとき、用語「備える」と互換性があり、かつ同じ意味を有するものとする。



  1. イベント相関グラフを使用してコンピューティングシステムに対する攻撃を検出するための、コンピュータによって実行される方法であって、前記方法の少なくとも一部分が、少なくとも1つのプロセッサを備えるコンピューティングデバイスによって実行され、前記方法が、
    コンピューティングシステム内の第1のアクタに関与する不審イベントを検出することと、
    前記第1のアクタに関与する前記不審イベントの検出に応じて、イベント相関グラフを構築することであって、前記イベント相関グラフが、少なくとも、
    前記第1のアクタを表す第1のノードと、
    第2のアクタを表す第2のノードと、
    エッジであって、
    前記第1のノードと前記第2のノードとを相互接続し、
    前記第1のアクタ及び前記第2のアクタに関与する不審イベントを表す、
    エッジと、
    を含むことと、
    前記第1のアクタ及び前記第2のアクタに関与する前記更なる不審イベントに少なくとも部分的に基づいて、前記イベント相関グラフに関する攻撃スコアを算出することと、
    前記攻撃スコアが既定の閾値を上回ることを判定することと、
    前記攻撃スコアが前記既定の閾値を上回ることに少なくとも部分的に基づいて、前記不審イベントが前記コンピューティングシステムに対する攻撃を含むことを、判定することと、
    を含む、コンピュータによって実行される方法。

  2. 前記イベント相関グラフを構築することが、前記イベント相関グラフ内のノードによって表される各アクタに関して、
    前記アクタ及び少なくとも1つの更なるアクタに関与する、イベントのセットを特定することと、
    前記イベントのセット内の各イベントに関して、
    前記更なるアクタを表す更なるノードを、前記イベント相関グラフに追加することと、
    前記ノードと更なるノードとを相互接続し、
    前記アクタ及び前記更なるアクタに関与する前記イベントを表す、
    更なるエッジを、前記イベント相関グラフに追加することと、
    を含む、請求項1に記載のコンピュータによって実行される方法。

  3. 前記イベントのセットが、不審イベントのセットを含む、請求項2に記載のコンピュータによって実行される方法。

  4. 前記イベント相関グラフを構築することが、前記イベント相関グラフ内のノードによって表される各アクタに関して、
    前記アクタに関与し、他のアクタに関与しない、不審イベントのセットを特定することと、
    前記不審イベントのセット内の各不審イベントを、前記アクタを表す前記ノードに関連付けることと、
    を含む、請求項1に記載のコンピュータによって実行される方法。

  5. 前記イベント相関グラフ内に表される各不審イベントが、不審性スコアに関連付けられ、
    前記イベント相関グラフに関する前記攻撃スコアを算出することが、前記イベント相関グラフ内に表される各不審イベントの前記不審性スコアに、少なくとも部分的に基づく、
    請求項1に記載のコンピュータによって実行される方法。

  6. 前記イベント相関グラフに関する前記攻撃スコアを算出することが、
    前記イベント相関グラフ内の各エッジに関するスコアを、前記エッジによって表される前記不審イベントに関連付けられた不審性スコアに少なくとも部分的に基づいて、算出することと、
    前記イベント相関グラフ内の各エッジに関する前記スコアに少なくとも部分的に基づいて、前記イベント相関グラフに関する前記攻撃スコアを算出することと、
    を含む、請求項1に記載のコンピュータによって実行される方法。

  7. 前記イベント相関グラフに関する前記攻撃スコアを算出することが、
    前記イベント相関グラフ内の各ノードに関するスコアを、前記ノードに関連付けられる各不審イベントに関連付けられた不審性スコアに少なくとも部分的に基づいて、算出することと、
    前記イベント相関グラフ内の各ノードに関する前記スコアに少なくとも部分的に基づいて、前記イベント相関グラフに関する前記攻撃スコアを算出することと、
    を含む、請求項1に記載のコンピュータによって実行される方法。

  8. 前記イベント相関グラフに関する前記攻撃スコアを算出する前に、少なくとも1つの低スコアのノードの領域を、前記低スコアのノードの領域のスコアが、更なる既定の閾値を下回ることに少なくとも部分的に基づいて、前記イベント相関グラフから除去することを更に含む、請求項1に記載のコンピュータによって実行される方法。

  9. 前記イベント相関グラフに関する前記攻撃スコアを算出する前に、少なくとも1つの遠隔ノードを、前記第1のノードからの前記遠隔ノードの距離が、更なる既定の閾値を上回ることに少なくとも部分的に基づいて、前記イベント相関グラフから除去することを更に含む、請求項1に記載のコンピュータによって実行される方法。

  10. 前記コンピューティングシステムの管理者に、前記イベント相関グラフのグラフィック表現を表示することを更に含む、請求項1に記載のコンピュータによって実行される方法。

  11. イベント相関グラフを使用してコンピューティングシステムに対する攻撃を検出するためのシステムであって、
    コンピューティングシステム内の第1のアクタに関与する不審イベントを検出する、検出モジュールと、
    前記第1のアクタに関与する前記不審イベントの検出に応じて、イベント相関グラフを構築する、構築モジュールであって、前記イベント相関グラフが、少なくとも、
    前記第1のアクタを表す第1のノードと、
    前記コンピューティングシステム内の第2のアクタを表す第2のノードと、
    エッジであって、
    前記第1のノードと前記第2のノードとを相互接続し、
    前記第1のアクタ及び前記第2のアクタに関与する更なる不審イベントを表す、
    エッジと、
    を含む、構築モジュールと、
    前記第1のアクタ及び前記第2のアクタに関与する前記更なる不審イベントに少なくとも部分的に基づいて、前記イベント相関グラフに関する攻撃スコアを算出する、スコア算出モジュールと、
    前記攻撃スコアが既定の閾値を上回ることを判定する、閾値判定モジュールと、
    前記攻撃スコアが前記既定の閾値を上回ることに少なくとも部分的に基づいて、前記不審イベントが前記コンピューティングシステムに対する攻撃を含むことを判定する、攻撃判定モジュールと、
    前記検出モジュール、前記構築モジュール、前記スコア算出モジュール、前記閾値判定モジュール、及び前記攻撃判定モジュールを実行する、少なくとも1つの物理プロセッサと、
    を備える、システム。

  12. 前記構築モジュールが、前記イベント相関グラフ内のノードによって表される各アクタに関して、
    前記アクタ及び少なくとも1つの更なるアクタに関与する、イベントのセットを特定することと、
    前記イベントのセット内の各イベントに関して、
    前記更なるアクタを表す更なるノードを、前記イベント相関グラフに追加することと、
    前記ノードと更なるノードとを相互接続し、
    前記アクタ及び前記更なるアクタに関与する前記イベントを表す、
    更なるエッジを、前記イベント相関グラフに追加することと、
    によって、前記イベント相関グラフを構築する、請求項11に記載のシステム。

  13. 前記イベントのセットが、不審イベントのセットを含む、請求項12に記載のシステム。

  14. 前記構築モジュールが、前記イベント相関グラフ内のノードによって表される各アクタに関して、
    前記アクタに関与し、他のアクタに関与しない、不審イベントのセットを特定することと、
    前記不審イベントのセット内の各不審イベントを、前記アクタを表す前記ノードに関連付けることと、
    によって、前記イベント相関グラフを構築する、請求項11に記載のシステム。

  15. 前記イベント相関グラフ内に表される各不審イベントが、不審性スコアに関連付けられ、
    前記スコア算出モジュールが、前記イベント相関グラフ内に表される各不審イベントの前記不審性スコアに、少なくとも部分的に基づいて、前記イベント相関グラフに関する前記攻撃スコアを算出する、
    請求項11に記載のシステム。

  16. 前記スコア算出モジュールが、
    前記イベント相関グラフ内の各エッジに関するスコアを、前記エッジによって表される前記不審イベントに関連付けられた不審性スコアに少なくとも部分的に基づいて、算出することと、
    前記イベント相関グラフ内の各エッジに関する前記スコアに少なくとも部分的に基づいて、前記イベント相関グラフに関する前記攻撃スコアを算出することと、
    によって、前記イベント相関グラフに関する前記攻撃スコアを算出する、請求項11に記載のシステム。

  17. 前記スコア算出モジュールが、
    前記イベント相関グラフ内の各ノードに関するスコアを、前記ノードに関連付けられる各不審イベントに関連付けられた不審性スコアに少なくとも部分的に基づいて、算出することと、
    前記イベント相関グラフ内の各ノードに関する前記スコアに少なくとも部分的に基づいて、前記イベント相関グラフに関する前記攻撃スコアを算出することと、
    によって、前記イベント相関グラフに関する前記攻撃スコアを算出する、請求項11に記載のシステム。

  18. 前記構築モジュールが、前記イベント相関グラフに関する前記攻撃スコアが算出される前に、少なくとも1つの低スコアのノードの領域を、前記低スコアのノードの領域のスコアが、更なる既定の閾値を下回ることに少なくとも部分的に基づいて、前記イベント相関グラフから更に除去する、請求項11に記載のシステム。

  19. 前記構築モジュールが、前記イベント相関グラフに関する前記攻撃スコアが算出される前に、少なくとも1つの遠隔ノードを、前記第1のノードからの前記遠隔ノードの距離が、更なる既定の閾値を上回ることに少なくとも部分的に基づいて、前記イベント相関グラフから更に除去する、請求項11に記載のシステム。

  20. 1つ以上のコンピュータ実行可能命令を含む、非一時的コンピュータ可読媒体であって、前記1つ以上のコンピュータ実行可能命令が、コンピューティングデバイスの少なくとも1つのプロセッサによって実行されると、前記コンピューティングデバイスに、
    前記コンピューティングシステム内の第1のアクタに関与する不審イベントを検出させ、
    前記第1のアクタに関与する前記不審イベントの検出に応じて、イベント相関グラフを構築させ、前記イベント相関グラフが、少なくとも、
    前記第1のアクタを表す第1のノードと、
    前記コンピューティングシステム内の第2のアクタを表す第2のノードと、
    エッジであって、
    前記第1のノードと前記第2のノードとを相互接続し、
    前記第1のアクタ及び前記第2のアクタに関与する更なる不審イベントを表す、
    エッジと、
    を含み、
    前記第1のアクタ及び前記第2のアクタに関与する前記更なる不審イベントに少なくとも部分的に基づいて、前記イベント相関グラフに関する攻撃スコアを算出させ、
    前記攻撃スコアが既定の閾値を上回ることを判定させ、
    前記攻撃スコアが前記既定の閾値を上回ることに少なくとも部分的に基づいて、前記不審イベントが前記コンピューティングシステムに対する攻撃を含むことを判定させる、
    非一時的コンピュータ可読媒体。

 

 

Patent trol of patentswamp
類似の特許
本発明は、軽応用のメッセージプッシュ方法、メッセージプッシュ装置、端末サーバ、プログラム及び記録媒体に関し、インターネット技術分野に属する。前記方法は、端末に既に追加された軽応用のアプリリストであって、少なくとも1つの軽応用を含むアプリリストを取得するステップと、ブラウザを介して前記アプリリストをプッシュサーバに送信することにより、前記プッシュサーバが前記アプリリストに基づいて、前記少なくとも1つの軽応用に対応する、少なくともプッシュ待ちのメッセージ及びプッシュ対象情報を含むプッシュ待ちのデータパッケージを取得するステップと、前記ブラウザが前記少なくとも1つの軽応用に対応するプッシュ待ちのデータパッケージを受信するステップと、前記プッシュ対象情報に基づいて、取得したプッシュ待ちのメッセージを表示するステップと、を含む。本発明は、軽応用がメッセージプッシュ機能を実現したため、軽応用の機能サービスを拡張し、ユーザの使用感を高め、軽応用の発表者又はユーザの機能に対するニーズをある程度に満たした。
【選択図】図1
拡張可能メディアフォーマット(「EMF」)においてデジタルコンテンツを扱うためのシステムおよび関連付けられる方法が開示される。少なくとも1つの実施形態において、初期要求サーバが、コンピューティングデバイス上のメモリ内に位置し、初期要求サーバは、ユーザが所有している少なくとも1つのクライアントデバイスからのコンテンツ要求を受信および処理するように構成されている。コンテンツサーバも、コンピュータデバイス上のメモリ内に位置し、コンテンツサーバは、コンテンツを格納および選択的に流通させるように構成されている。コンテンツサーバは、少なくとも1つのEMFファイル内にコンテンツを格納し、各EMFファイルは、フレームページ識別子と少なくとも1つのフレームとを含むフレームページを含む。各フレームは、フレーム識別子と一緒にコンテンツの少なくとも一部を含む。
一実施態様では、アプリケーションアウェアネットワーク制御システムが、ネットワークフローがインスタンス化されたと判断し、ネットワークフローがインスタンス化されたと判断するのに応答して、ネットワークフローに関連付けられるネットワークフロー特徴を導出し、ネットワークフロー特徴をアプリケーション識別モジュールに与える。アプリケーション識別信号に応答して、アプリケーションアウェアネットワーク制御システムは、ネットワークフロー特徴を導出するのを中止し、アプリケーション識別モジュールから受信されたアプリケーション識別報告に基づいて、ネットワークフローにフロー動作を適用する。
【選択図】図1
一実施形態では、方法が、コンテンツ・オブジェクトを求める要求をユーザのモバイル−クライアント・システムから受信する工程と、ユーザのモバイル−クライアント・システムに関連付けられたSIMカード情報にアクセスする工程と、少なくともそのSIMカード情報に基づいてキャリアを決定する工程と、要求に応答してウェブ・ページをモバイル−クライアント・システムに送る工程であって、コンテンツ・オブジェクトが、モバイル−クライアント・システムの決定されたキャリアに基づいてカスタマイズされている、工程とを含む。
データの自動圧縮 // JP2016528591
本出願は、少なくとも2つの処理ノード(1)を備えるシステムであって、ノード(1)が、実行環境(2)および処理コンポーネント(3)を備え、各実行環境(2)が、処理コンポーネント(3)の発信ポートおよび異なる処理コンポーネント(3)の着信ポートの間に通信チャネル(4)を確立するための手段を含み、通信チャネル(4)がノード(1)の境界を横断するかを判定し、通信チャネル(4)を経由して転送されるデータの符号化/復号が必要かを決定するように構成された、システムに関する。
閉回路eコマース内のサーバと間、及び建物のメインルータ及びインターフェースを介したサーバ及びショッピング端末間のeショッピング信号及び情報を通信し、ショッピング端末に保存されたコンテンツ及び前記eコマースのプログラムを更新するための高速湖心信号を含むASK及びFSK変調データ並びにコマンドを含む少なくとも1つのツイストペアを介して情報及びeショッピング信号を伝搬するための方法及び装置である。配送サーバは、誤りなしでピックアップ及び配送を確実にするために、配送デバイス及び貯蔵デバイスを用いて、建物内又は建物外に位置付けられた、注文された商品をピックアップ及び配送する。
本発明はパーソナル感情アイコンを提供するための方法に関し、この方法は、a)新しい自分撮り画像をキャプチャするか、又は既存の画像ファイルを選択することによって、ユーザ又は人物の顔の表情を表す少なくとも1つの自分撮り画像を提供するステップと、b)前記提供された画像に1つ又は複数の画像処理フィルタを適用することによって前記画像を処理して、前記提供された画像をにし、且つ/又は提供された顔によって表される表情を強調するステップと、c)前記処理された画像を感情アイコンの標準形式に変換するステップであって、例えば、変換された画像が、ユーザのコンピュータベースの装置(例えば、スマートフォン又はPC)上の、ルーラー形式、メニュー形式、又は、画面上の仮想キーボード形式(例えば、iPhoneのオペレーティング・システム(iOS)の画面上のキーボードなどの既存の仮想キーボード配列への拡張/アドオンとして)などの、任意の表示可能な形式で実装可能であるステップと、d)前記処理された画像を、変換された感情アイコンのローカルなルーラー/メニューとして保存するか、或いは、前記処理された画像を承認のためにリモートの感情アイコン・サーバにアップロードするステップと、e)承認時に、前記処理された画像を前記ユーザに関連するオンライン・アカウントに追加して、前記処理された画像がパーソナル感情アイコンとして前記ユーザによって1つ又は複数のアプリケーション及び/又はプラットフォームで利用可能になるようにするステップとを含む。
画像処理装置は、第1のフレームを取得し、第1のユーザと第2のユーザとの少なくともいずれかのための追加の画像データを取得し、第1のフレーム及び第1のユーザのための追加画像データを合成することによる第1のユーザのための第1の合成フレームと第1のフレーム及び第2のユーザのための追加画像データを合成することによる第2のユーザのための第2の合成フレームとの少なくともいずれかを生成し、第1のユーザに対して、第1の合成フレームが生成された場合には第1の合成フレームを、それ以外の場合には第1のフレームを出力し、第2のユーザに対して、第2の合成フレームが生成された場合には第2の合成フレームを、それ以外の場合には第1のフレームを出力する。
本願はデジタル署名の生成方法及び装置を提供する。該方法は、装置が有効性判定条件を満たすデジタル署名パラメータrを生成し、秘密鍵d、乱数k、r及び楕円曲線パラメータnを用いて、以下の式


に従ってデジタル署名パラメータsを生成し、ここで、kの値範囲が[1,n−1]であり、生成されたsが0であるか否かを判断し、0の場合、0でないものとなるまで、有効性判定条件を満たすrを生成し直し、d、生成し直された値範囲が[1,n−1]のk、生成し直されたr及びnを用いて、sを生成し直し、r及び0でないsのデータ型をバイトストリングに変換し、デジタル署名(r,s)を取得する。本願の実施例に係る態様によれば、簡略化された計算式を用いてデジタル署名パラメータsを取得することで、大整数演算の回数を低減でき、SM2デジタル署名生成アルゴリズムに基づくデジタル署名生成の演算効率を向上できる。
車両通信システム(100)は、車両(102)に位置付けられる基地局(104)と、移動体通信ユニット(122)を備える。基地局(104)は、移動体通信ユニット(122)に信号を送信するための第1送信器と、移動体通信ユニット(122)から認証信号を受信するための第1受信器を備える。基地局(104)は、移動体通信ユニットと少なくとも第1送信器及び第1受信器の間の通信の飛行時間に基づいて車両に対する移動体通信ユニットの位置を追跡し;被監視車両(102)機能のパフォーマンスに関するサブシステムステータス信号を受け取り、サブシステムステータス信号に基づいて、被監視車両(102)機能に関する被監視機能ステータスを決定するように構成される。基地局(104)は、また、移動体通信ユニット(122)による受信のためのステータス更新信号を出力するようにも構成され、ステータス更新信号は、被監視機能ステータスの指標である。車両通信システム(100)は、移動体通信ユニット(122)の位置に依存してステータス更新信号に基づいてユーザーに対してステータス指標を提供するように構成される。
To top