JP2017191604A - エクスプロイトアクティビティーの相関ベースの検知 - Google Patents
エクスプロイトアクティビティーの相関ベースの検知 Download PDFInfo
- Publication number
- JP2017191604A JP2017191604A JP2017077644A JP2017077644A JP2017191604A JP 2017191604 A JP2017191604 A JP 2017191604A JP 2017077644 A JP2017077644 A JP 2017077644A JP 2017077644 A JP2017077644 A JP 2017077644A JP 2017191604 A JP2017191604 A JP 2017191604A
- Authority
- JP
- Japan
- Prior art keywords
- event notification
- activity
- security agent
- execution
- event
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/12—Detection or prevention of fraud
- H04W12/121—Wireless intrusion detection systems [WIDS]; Wireless intrusion prevention systems [WIPS]
- H04W12/122—Counter-measures against attacks; Protection against rogue devices
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Alarm Systems (AREA)
- Computer And Data Communications (AREA)
- Debugging And Monitoring (AREA)
Abstract
【課題】モニタされているコンピューティングデバイス上に実装されているセキュリティーエージェントを提供する。
【解決手段】セキュリティーエージェントは、オブジェクトの実行を示すイベント通知を受信し、イベント通知およびオブジェクトに関連付けられている情報を、モニタされているコンピューティングデバイス上のデータ構造内に格納するように構成されている。セキュリティーエージェントは、モニタされているコンピューティングデバイス上でのアクティビティーの発生を示すイベント通知を受信するようにさらに構成されている。格納されている情報に少なくとも部分的に基づいて、セキュリティーエージェントは、アクティビティーの発生をオブジェクトの実行と相関付け、その相関付けに基づいてエクスプロイト検知イベントを生成する。
【選択図】図1a
【解決手段】セキュリティーエージェントは、オブジェクトの実行を示すイベント通知を受信し、イベント通知およびオブジェクトに関連付けられている情報を、モニタされているコンピューティングデバイス上のデータ構造内に格納するように構成されている。セキュリティーエージェントは、モニタされているコンピューティングデバイス上でのアクティビティーの発生を示すイベント通知を受信するようにさらに構成されている。格納されている情報に少なくとも部分的に基づいて、セキュリティーエージェントは、アクティビティーの発生をオブジェクトの実行と相関付け、その相関付けに基づいてエクスプロイト検知イベントを生成する。
【選択図】図1a
Description
本願は、エクスプロイトアクティビティーの相関ベースの検知に関する。
インターネットの使用が日常生活のかつてなく大きな部分を形成していることに伴って、システムリソース、データ、およびプライベートな情報を盗み取るまたは破壊するセキュリティーエクスプロイトが、ますます問題になっている。政府および企業は、これらのセキュリティーエクスプロイトに関連した侵入および窃盗を防止することに対して、かなりのリソースを費やしている。セキュリティーエクスプロイトは、コンピュータウイルス、ワーム、トロイの木馬、スパイウェア、キーストロークロガー、アドウェア、およびルートキットなどの多くの形態で到来する。これらのエクスプロイトは、スピアフィッシュEメール、クリック可能なリンク、ドキュメント、実行可能ファイル、またはアーカイブなどの複数のメカニズムで、またはそうした複数のメカニズムを通じて届けられる。セキュリティーエクスプロイトによってもたらされる脅威のうちのいくつかは、サイバーテロリズムまたは産業スパイと記述されるほどの重大さのものである。
これらの脅威に対抗するために、政府、企業、および個人は、ある範囲のセキュリティーアプリケーションおよびサービスを使用している。典型的には、これらのアプリケーションおよびサービスは、セキュリティーエクスプロイトの署名を探してデバイスをスキャンする。署名を見つけたことに応答して、アプリケーションおよびサービスは、エクスプロイトを隔離または削除する。しかしながら、アプリケーションおよびサービスはしばしば、より洗練されたセキュリティーエクスプロイトを見逃す。たとえば、セキュリティーアプリケーションおよびサービスは、検知されたイベントどうしを相関付ける能力に欠けている。そのようなイベントはそれぞれ、それら自体では無害かもしれないが、ともに、または何らかのシーケンスで観察された場合には、それらのイベントは、セキュリティーエクスプロイトアクティビティーを示す可能性がある。
添付の図を参照しながら、詳細な説明が示される。図においては、参照番号の最も左の数字は、その参照番号が最初に現れる図を識別する。別々の図における同じ参照番号の使用は、同様のまたは同じアイテムまたは特徴を示す。
モニタされているコンピューティングデバイス上に実装されているセキュリティーエージェント、およびエクスプロイトを検知するためにそれらのセキュリティーエージェントによって取られるアクションの例示的な概観を示す図である。
モニタされているコンピューティングデバイス上に実装されているセキュリティーエージェント、およびエクスプロイトを検知するためにそれらのセキュリティーエージェントによって取られるアクションの例示的な概観を示す図である。
セキュリティーエクスプロイトに潜在的に関連しているイベント通知を検知および生成するためのフィルタ/ロジックと、エクスプロイトアクティビティーを示す相関を検知してエクスプロイト検知イベントを生成するための相関器と、イベント通知に関する情報を格納するためのデータ構造とを含む例示的なセキュリティーエージェントを示す図である。
エクスプロイトによってターゲットにされるオブジェクトと、セキュリティーエージェントとを伴って構成されているモニタされているコンピューティングデバイスのコンポーネントレベルの図である。
オブジェクトの実行のイベント通知を受信するステップと、イベント通知およびオブジェクトに関連付けられている情報を格納するステップと、アクティビティーの発生のイベント通知を受信するステップと、アクティビティーの発生をオブジェクトの実行と相関付けるステップと、その相関付けに基づいてエクスプロイト検知イベントを生成するステップとを行うための例示的なプロセスを示す図である。
概観
本開示は、部分的には、モニタされているコンピューティングデバイス上に実装されているセキュリティーエージェントについて記述している。セキュリティーエージェントは、オブジェクトの実行を示すイベント通知を受信し、イベント通知およびオブジェクトに関連付けられている情報を、モニタされているコンピューティングデバイス上のデータ構造内に格納するように構成されている。セキュリティーエージェントは、モニタされているコンピューティングデバイス上でのアクティビティーの発生を示すイベント通知を受信するようにさらに構成されている。格納されている情報に少なくとも部分的に基づいて、セキュリティーエージェントは、アクティビティーの発生をオブジェクトの実行と相関付け、その相関付けに基づいてエクスプロイト検知イベントを生成する。
本開示は、部分的には、モニタされているコンピューティングデバイス上に実装されているセキュリティーエージェントについて記述している。セキュリティーエージェントは、オブジェクトの実行を示すイベント通知を受信し、イベント通知およびオブジェクトに関連付けられている情報を、モニタされているコンピューティングデバイス上のデータ構造内に格納するように構成されている。セキュリティーエージェントは、モニタされているコンピューティングデバイス上でのアクティビティーの発生を示すイベント通知を受信するようにさらに構成されている。格納されている情報に少なくとも部分的に基づいて、セキュリティーエージェントは、アクティビティーの発生をオブジェクトの実行と相関付け、その相関付けに基づいてエクスプロイト検知イベントを生成する。
さまざまな実施形態においては、オブジェクトは、モニタされているコンピューティングデバイス上で実行中の任意のプロセスまたはスレッドであることが可能である。たとえば、オブジェクトは、インターネットブラウザプラグインスレッドまたはEメールアプリケーションスレッドであることが可能である。そのようなオブジェクトは、セキュリティーエクスプロイトに対して脆弱であることが知られている関心のある特定のオブジェクトであることが可能である。さらに、セキュリティーエクスプロイトによってセキュリティー侵害された場合には、オブジェクトは、セキュリティーエクスプロイトを示す複数の特定のアクティビティーのうちの1つを実行することがある。たとえば、インターネットブラウザプラグインスレッドがセキュリティー侵害された場合には、コマンドラインインターフェース(CLI)の作成、プロセスマイグレーション、インストレーション、またはポータブル実行可能ファイル(PE)の作成および実行などのアクティビティーが、セキュリティーエクスプロイトによるインターネットブラウザプラグインスレッドのセキュリティー侵害を示すことがある。
セキュリティーエージェントは、そのようなアクティビティーの発生と、オブジェクトの実行との相関を検知し、防止アクションまたはエクスプロイトトラッキングを駆動するためのエクスプロイト検知イベントを生成するように構成されることが可能である。そのような相関付けを実行する目的で必要な情報を受信するために、セキュリティーエージェントは、フィルタまたはロジックを伴って構成されることが可能であり、そのフィルタまたはロジックは、イベント通知を受信し、リモートセキュリティーサービスから受信されたポリシーに基づいてそれらのイベント通知を処理する。
一実施態様においては、フィルタまたはロジックは、イベント通知を受信し、それらが、関心のあるオブジェクトまたはアクティビティーに関連しているということを(たとえば、ポリシーに基づいて)決定し、それらのオブジェクトまたはアクティビティーに関するさらなる情報を提供するさらなるイベント通知(たとえば、それらのオブジェクトまたはアクティビティーのタイプの表示)を生成し、それらのさらなるイベント通知をセキュリティーエージェントの相関器に提供することができる。そのような相関器は、オブジェクトの実行に関連しているイベント通知に関する情報、およびオブジェクトそのものに関する情報を最初に受信して格納し、次いでその後に、関心のあるアクティビティーの発生の通知を受信することができる。そのオブジェクトおよびそのアクティビティーのタイプどうしを関連付けることができる相関インデックスに基づいて、相関器は、エクスプロイト検知イベントを生成することができる。
別の実施態様においては、相関器を利用することよりもむしろ、フィルタまたはロジックは、オブジェクトの実行に関連しているイベント通知に関する情報、およびオブジェクトそのものに関する情報をデータ構造内に格納し、次いで、関心のあるアクティビティーの発生のイベント通知を受信すると、データ構造から情報を取り出し、ポリシーに基づいてエクスプロイト検知イベントを生成することができる。
セキュリティーエージェントは次いで、エクスプロイト検知イベントに基づいて防止アクションを取るか、エクスプロイト検知イベントをリモートセキュリティーサービスに提供するか、またはその両方を行うことができる。それに応答して、リモートセキュリティーサービスは、フィルタまたはロジックによって利用されるポリシーを更新すること、またはセキュリティーエージェントの構成を更新することが可能である。
例示的なイベントモデル
図1a〜図1bは、モニタされているコンピューティングデバイス上に実装されているセキュリティーエージェント、およびエクスプロイトを検知するためにそれらのセキュリティーエージェントによって取られるアクションの例示的な概観を示している。図1aにおいて示されているように、セキュリティーエージェント102が、ネットワーク106を介してリモートセキュリティーサービス104によって構成されてリモートセキュリティーサービス104と通信することが可能である。セキュリティーエージェント102は、イベントコレクタ108と、フィルタ/ロジック110およびポリシー112と、それぞれが相関器インデックス116を含む相関器114とを含むことができる。フィルタ/ロジック110は、118において、オブジェクトの実行を示すイベント通知を受信し、120において、ポリシー112に基づいて、オブジェクトタイプフィールドを含む一般化されたイベント通知を生成する。フィルタ/ロジック110は次いで、一般化されたイベント通知を相関器114に提供し、相関器114は、122において、それらのイベント通知およびオブジェクトに関連付けられている情報を格納する。フィルタ/ロジック110は次いで、124において、アクティビティーの発生を示すイベント通知を受信し、126において、ポリシー112に基づいて、アクティビティータイプフィールドを含む一般化されたイベント通知を生成する。フィルタ/ロジック110は次いで、一般化されたイベント通知を相関器114に提供し、相関器114は、128において、アクティビティーの発生をオブジェクトの実行と相関付け、130において、その相関付けに基づいてエクスプロイト検知イベントを生成する。
図1a〜図1bは、モニタされているコンピューティングデバイス上に実装されているセキュリティーエージェント、およびエクスプロイトを検知するためにそれらのセキュリティーエージェントによって取られるアクションの例示的な概観を示している。図1aにおいて示されているように、セキュリティーエージェント102が、ネットワーク106を介してリモートセキュリティーサービス104によって構成されてリモートセキュリティーサービス104と通信することが可能である。セキュリティーエージェント102は、イベントコレクタ108と、フィルタ/ロジック110およびポリシー112と、それぞれが相関器インデックス116を含む相関器114とを含むことができる。フィルタ/ロジック110は、118において、オブジェクトの実行を示すイベント通知を受信し、120において、ポリシー112に基づいて、オブジェクトタイプフィールドを含む一般化されたイベント通知を生成する。フィルタ/ロジック110は次いで、一般化されたイベント通知を相関器114に提供し、相関器114は、122において、それらのイベント通知およびオブジェクトに関連付けられている情報を格納する。フィルタ/ロジック110は次いで、124において、アクティビティーの発生を示すイベント通知を受信し、126において、ポリシー112に基づいて、アクティビティータイプフィールドを含む一般化されたイベント通知を生成する。フィルタ/ロジック110は次いで、一般化されたイベント通知を相関器114に提供し、相関器114は、128において、アクティビティーの発生をオブジェクトの実行と相関付け、130において、その相関付けに基づいてエクスプロイト検知イベントを生成する。
さまざまな実施態様においては、セキュリティーエージェント102を実装しているコンピューティングデバイス(本明細書においては、交換可能に「コンピューティングデバイス」および「モニタされているコンピューティングデバイス」と呼ばれる)と、リモートセキュリティーサービス104のデバイスとが、ネットワーク106によって接続されることが可能である。ネットワーク106は、有線ネットワーク、ワイヤレスネットワーク、および有線ネットワークとワイヤレスネットワークの組合せなど、任意の1または複数のネットワークを含むことができる。さらに、ネットワーク106は、複数の異なるタイプのパブリックネットワークまたはプライベートネットワーク(たとえば、ケーブルネットワーク、インターネット、ワイヤレスネットワークなど)のうちの任意の1つまたは組合せを含むことができる。たとえば、ネットワーク106は、プライベートネットワークであることが可能である。いくつかの例においては、コンピューティングデバイスは、セキュアなプロトコル(たとえば、http)および/またはその他の任意のプロトコルまたはプロトコルの一式、たとえば、トランスミッションコントロールプロトコル/インターネットプロトコル(TCP/IP)を使用してネットワーク106を介して通信する。
セキュリティーエージェント102を実装しているコンピューティングデバイス、およびリモートセキュリティーサービス104のデバイスはそれぞれ、サーバもしくはサーバファーム、複数の分散されているサーバファーム、メインフレーム、ワークステーション、パーソナルコンピュータ(PC)、ラップトップコンピュータ、タブレットコンピュータ、携帯情報端末(PDA)、セルラー電話、メディアセンター、組み込みシステム、またはその他の任意の種類の1もしくは複数のデバイスであること、またはそれらを含むことが可能である。一実施態様においては、リモートセキュリティーサービス104のデバイスは、ノードからなるクラウドコンピューティングネットワークなど、通信状態で機能している複数のコンピューティングデバイスに相当する。いくつかの実施態様においては、セキュリティーエージェント102を実装しているコンピューティングデバイス、およびリモートセキュリティーサービス104のデバイスのうちの1または複数は、1または複数のコンピューティングデバイス上に実装されている1または複数の仮想マシンに相当する。セキュリティーエージェント102を実装しているコンピューティングデバイスとしての役割を果たすことができる例示的なコンピューティングデバイスが、図3において示されており、その図を参照しながら以降で記述されている。
さまざまな実施態様においては、リモートセキュリティーサービス104は、セキュリティーエージェント102を実装しているコンピューティングデバイスに対して、およびセキュリティーエージェント102のその他のインスタンスを実装している任意の数のその他のコンピューティングデバイスに対してセキュリティーサービスを提供することができる。リモートセキュリティーサービス104は、エクスプロイト検知イベント通知を含む、関心を引くイベントについてのセキュリティーエージェント102からの通知、ならびにそれらの関心を引くイベントに関連付けられている犯罪科学データを受信することができる。リモートセキュリティーサービス104は、関連した通知がセキュリティーエージェント102のその他のインスタンスから受信されているかどうかを決定すること、および/または1もしくは複数のルールもしくはヒューリスティックに基づいて、関心を引くイベントを評価することが可能である。リモートセキュリティーサービス104は、イベントを生成してそのイベントを(たとえば、診断または修復の目的で)セキュリティーエージェント102に提供すること、構成更新を生成すること、更新されたポリシー112を生成すること、セキュリティーエージェント102を実装しているコンピューティングデバイスを修復すること、悪意のあるコードに関連付けられている敵対者を欺くこと、または、セキュリティーエージェント102を実装しているコンピューティングデバイスに関連付けられているエンティティーもしくは人物に対して潜在的な悪意のあるコードを通知することのうちのいずれかまたはすべてをさらに実行することができる。構成更新または更新されたポリシー112を生成すると、リモートセキュリティーサービス104は、その構成更新または更新されたポリシー112をセキュリティーエージェント102に提供することができる。
いくつかの実施態様においては、セキュリティーエージェント102は、カーネルレベルで実装されるセキュリティーエージェントなど、任意の種類のセキュリティーエージェントであることが可能である。図1aにおいて示されているように、セキュリティーエージェント102は、イベントコレクタ108、フィルタ/ロジック110、ポリシー112、相関器114、および相関器インデックス116を含むことができる。図1bにおいて示されている実施態様など、代替のまたはさらなる実施態様においては、セキュリティーエージェント102は、データ構造132を含むことができる。セキュリティーエージェント102は、リモートセキュリティーサービス104によってセキュリティーエージェント102のコンポーネントの再構成を受信して活動中に適用してインストールされることおよび構成できることが可能である。そのような再構成は、イベントコレクタ108、フィルタ/ロジック110、ポリシー112、相関器114、相関器インデックス116、またはデータ構造132など、セキュリティーエージェント102の任意のコンポーネントに対して更新をもたらすことができる。セキュリティーエージェント102は、そのセキュリティーエージェント102を実装しているコンピューティングデバイス上でのイベントをモニタすること、そのコンピューティングデバイス上でのイベントのうちのいくつかもしくはすべてに関する状態を保持すること、コンピューティングデバイス上での1もしくは複数のイベントについてリモートセキュリティーサービス104に通知すること、またはコンピューティングデバイス上での1もしくは複数のイベントに関連付けられているセキュリティーエクスプロイトに応答してアクションを取ることのうちの少なくとも1つを実行することができる。例示的なセキュリティーエージェント102が、2012年6月8日に出願された「Kernel−Level Security Agent」という名称の特許文献1においてさらに詳細に記述されている。
さまざまな実施形態においては、イベントコレクタ108は、関心のあるオブジェクトまたはアクティビティーに関連付けられているイベントを含むすべての種類のイベントを観察する。イベントを受信するために、イベントコレクタ108は、関心のあるオブジェクトまたはアクティビティーに関連付けられている特定のイベントが発生している旨または発生していない旨の通知を受信するためのフックまたはフィルタに登録することができる。イベントコレクタ108は、メモリ内のロケーション、もしくはログファイルをモニタして、またはそうするためのスレッドをスポーンして、ログファイルまたはメモリロケーションに関連付けられているイベントを観察することもできる。イベントコレクタ108は、複数の種類のイベントを観察することができ、またはそれぞれのタイプのイベントが、別々のイベントコレクタ108に関連付けられることが可能である。イベントコレクタ108によって観察されるイベントは、セキュリティーエージェント102の構成によって指定されることが可能である。
イベントコレクタ108は、観察されたイベントをフィルタ/ロジック110へ回送する。これらの観察されるイベントは、118において回送される、オブジェクトの作成または実行(「作成」および「実行」の両方が、本明細書においてはオブジェクトの「実行」と呼ばれている)に関連付けられているイベントと、124において回送される、アクティビティーの発生に関連付けられているイベントとを含むことができる。118において回送されるイベントは、本明細書においてはイベント通知118と呼ばれ、124において回送されるイベントは、本明細書においてはイベント通知124と呼ばれる。イベント通知118および124ならびにその他の観察されたイベント/イベント通知は、イベントバスを介して回送されることが可能であり、イベントバスは、フィルタ/ロジック110の一部を形成すること、または別個のコンポーネントであることが可能である。イベントバスは、セキュリティーエージェント102のコンポーネント間においてイベント/イベント通知を回送することができる。
イベント通知118または124を受信すると、フィルタ/ロジック110は、イベント通知118または124が、関心のあるオブジェクトまたはアクティビティーに関連付けられているということを決定することができる。関心のあるオブジェクトまたはアクティビティーは、セキュリティーエージェント102の構成によって、および/またはポリシー112によって指定されたオブジェクトまたはアクティビティーである。関心のあるそのようなオブジェクトは、セキュリティーエクスプロイト(たとえば、リターン指向プログラミング(ROP)またはシェルコード)に対して脆弱である可能性があるコンピューティングデバイスのプロセスまたはスレッドを含むことができる。関心のあるアクティビティーは、エクスプロイトが永続性を得ること、その他のプロセスへマイグレートすること、クレデンシャルを盗み取ることなどを可能にするアクティビティーを含むことができる。例示的な関心のあるオブジェクトは、インターネットブラウザプラグインスレッド(たとえば、フラッシュスレッド)またはEメールアプリケーションスレッドを含むことができる。オブジェクトがインターネットブラウザプラグインスレッドである場合には、例示的なアクティビティーは、コマンドラインインターフェース(CLI)の作成、プロセスマイグレーション、インストレーション、またはポータブル実行可能ファイル(PE)の作成および実行を含むことができる。フィルタ/ロジック110は、たとえば、イベント通知118において記述されているイベントの一部としてアクセスされるレジストリエントリーが、セキュリティーエージェント102の構成によって、および/またはポリシー112によって指定されたオブジェクトに関連付けられていることに起因して、イベント通知118が、関心のあるオブジェクトに関連付けられているということを決定することができる。
イベント通知118/124において記述されているイベントが、関心のあるオブジェクトまたはアクティビティーに関連付けられているということを決定すると、フィルタ/ロジック110は、イベントおよびオブジェクト/アクティビティーに関するさらなる情報を収集することができる。たとえば、関心のあるオブジェクトに関して、フィルタ/ロジック110は、そのオブジェクトに関連付けられている識別子、そのオブジェクトを所有するプロセスの識別子、特定のクラスのオブジェクト(たとえば、インターネットブラウザプラグインスレッド)を取り扱う相関器114の識別子、特定のタイプのオブジェクト(たとえば、フラッシュスレッド)の識別子、および/または、そのオブジェクトが子オブジェクトであるかどうかの表示(および、そうである場合には、親オブジェクトのアイデンティティーの表示)を収集することができる。関心のあるアクティビティーに関して、フィルタ/ロジック110は、そのアクティビティーに関連付けられている識別子、そのアクティビティーを実行したプロセスの識別子、および/または特定のタイプのアクティビティーの識別子を収集することができる。関心のあるオブジェクトに関するさらなる情報を収集すると、フィルタ/ロジック110は、イベント通知118からの情報と、さらなる情報のうちのいくつかまたはすべてとの両方を含む一般化されたイベント通知を生成することができ、120において、その一般化されたイベント通知を、オブジェクトのクラスを取り扱う相関器114に提供することができる。そのような一般化されたイベント通知は、本明細書においてはさらにイベント通知120と呼ばれることが可能である。いくつかの実施態様においては、そのオブジェクトが子オブジェクトである場合には、イベント通知120は、その親オブジェクトを識別するタグを含むことができる。アクティビティーに関するさらなる情報を収集すると、フィルタ/ロジック110は、イベント通知124からの情報と、さらなる情報のうちのいくつかまたはすべてとの両方を含む一般化されたイベント通知を生成することができ、126において、イベントバスを通じて1または複数の相関器114にイベントを提供することができる。そのような一般化されたイベント通知は、本明細書においてはさらにイベント通知126と呼ばれることが可能である。さらなる実施態様においては、イベント通知120および126はそれぞれ、イベント通知120および126に関連付けられているそれぞれのイベントをイベントコレクタ108が観察した時間などの時間を示すタイムスタンプを含むことができる。
さまざまな実施態様においては、イベント通知120を受信すると、相関器114が、122において、そのイベント通知120に含まれている情報を格納する。その情報は、相関器114のテーブル内に、または任意の種類のデータ構造内に格納されることが可能である。
その情報を格納するのと同時に、または格納するのに続いて、相関器114は、イベント通知126を受信することができる。イベント通知126を受信すると、相関器114は、アクティビティータイプフィールドなど、イベント通知126からの情報を利用して、相関器114の相関器インデックス116にクエリーを行うことができる。マッチが見つかった場合、すなわち、相関器インデックス116が、アクティビティータイプにマッチするエントリーを含む場合には、相関器114は、そのエントリーによって指定されるオブジェクトタイプを決定する。相関器114が、そのオブジェクトタイプを指定するイベント通知120を以前に受信していて、そのイベント通知120に関する情報を格納している場合には、相関器114は、その情報を取り出して、128において、アクティビティーの発生をオブジェクトの実行と相関付けることになる。アクティビティータイプが相関器インデックス116内に含まれていない場合、または相関器114が、対応するオブジェクトタイプに関連付けられている情報を格納していない場合には、相関器114は、さらなるアクションを取らない。
いくつかの実施態様においては、それぞれのイベント通知120/126は、タイムスタンプを含むことができ、相関器インデックス116は、アクティビティータイプおよびオブジェクトタイプのそれぞれのペアごとに最小経過時間を指定することができる。そのような実施態様においては、相関付けは、128において、タイムスタンプ間における差が最小経過時間に合致するかまたは最小経過時間を超えるかどうかにさらに基づくことが可能であり、その差が最小経過時間に合致するかまたは最小経過時間を超える場合にのみ、相関が存在すると決定される。
さらなる実施態様においては、イベント通知126は、現在のコンテキストの表示を含むことができる。たとえば、イベント通知126は、インターネットブラウザプラグインスレッドがアクティブであるかどうか、インターネットブラウザプラグインスレッドに関連付けられているブラウザがアクティブであるかどうか、インターネットブラウザプラグインスレッドに関連付けられているブラウザが別のページをブラウズしたかどうかなどを指定することができる。そのような実施態様においては、相関付けは、128において、イベント通知126によって示された現在のコンテキストが、相関器114によって格納されている情報にマッチするかどうかにさらに基づくことが可能であり、マッチがある場合にのみ、相関が存在すると決定される。
いくつかの実施態様においては、相関器114は、イベント通知120およびイベント通知126の両方からの情報を格納することができ、相関器インデックス116は、オブジェクトタイプを、複数の異なるアクティビティータイプと、または特定のアクティビティータイプに関連付けられている受信されたイベント通知126のカウントと相関付けるエントリーを含むことができる。イベント通知126を受信すると、次いで相関器114は、相関器インデックス116にクエリーを行って、過去のイベント通知120および過去のイベント通知126の両方に関連付けられている格納されている情報を取り出すことができる。たとえば、相関器インデックス116は、「フラッシュスレッド」というオブジェクトタイプを、「CLIの作成」というアクティビティータイプ、および「CLIの作成」というアクティビティータイプに関する「2」つのインスタンスのカウントに関連付けることができる。「CLIの作成」というアクティビティータイプを指定するイベント通知126を受信すると、相関器114は、相関器インデックス116にクエリーを行い、マッチするエントリーを見つけ出し、それが、「フラッシュスレッド」を指定したイベント通知120に関する情報、および「CLIの作成」を指定したイベント通知126に関する情報を格納するかどうかを決定することができる。そうである場合には、相関器114は、相関器インデックスにおける条件が満たされているということを決定する。そうでない場合には、相関器114は、CLIの作成を指定するイベント通知126に関する情報を格納して、さらなるイベントを待つことができる。
さらなる実施態様においては、相関器インデックス116は、単一のアクティビティータイプと、親オブジェクトおよび子オブジェクトを伴う複数の異なるオブジェクトタイプ、または単一のオブジェクトタイプに関連付けられている複数のイベントのカウントとを指定するエントリーを含むことができる。そのような実施態様においては、相関器114は、親オブジェクトおよび子オブジェクトを伴う複数の異なるオブジェクトタイプ、または相関器インデックス116によって指定された単一のオブジェクトタイプに関連付けられている複数のイベントのカウントに関して情報が格納されている場合にイベント通知126が受信されたときに、相関があるということを示すことができる。
いくつかの実施態様においては、「相関器114」は、複数の連鎖した相関器114を含むことができる。そのような複数の連鎖した相関器114は、たとえば、親オブジェクトおよび子オブジェクトに対応することが可能であり、1つの相関器114の結果は、別の相関器114に基づくことが可能である。たとえば、1つの相関器114は、イベント通知120に関連付けられている格納されている情報に、および別の相関器114の肯定的な結果に基づいて、相関が存在すると決定することができる。
さまざまな実施態様においては、相関があるということを相関器114が決定した場合(たとえば、アクティビティーの発生がオブジェクトの実行と相関付けられている場合)には、相関器114は、エクスプロイト検知イベントを生成する。いくつかの実施態様においては、エクスプロイト検知イベントは、検知インジケータを指定することができる。たとえば、相関器インデックス116内のエントリーが、オブジェクトタイプ、アクティビティータイプなどの特定の組合せに関連付けられている検知インジケータを指定することができる。(検知インジケータを伴って、または伴わずに)エクスプロイト検知イベントを生成すると、相関器114は、エクスプロイト検知イベントをイベントバスに提供することができ、イベントバスは、そのイベントをセキュリティーエージェント102の構成に従って回送することができる。
上述されている実施態様に加えて、図1bは、相関器114の代わりにフィルタ/ロジック110およびデータ構造132を利用する代替実施態様を示している。図1bにおいて示されているように、フィルタ/ロジック110は、134において、オブジェクトの実行に関連付けられているイベント通知(以降では、イベント通知134と呼ばれる)を受信し、136において、イベント通知134およびオブジェクトに関連付けられている情報をデータ構造132内に格納することができる。フィルタ/ロジック110は次いで、138において、アクティビティーの発生に関連付けられているイベント通知(以降では、イベント通知138と呼ばれる)を受信し、140において、データ構造132内に格納されている情報を取り出し、142において、データ構造132内に格納されている情報に少なくとも部分的に基づいてアクティビティーの発生をオブジェクトの実行と相関付けることができる。その相関付けに基づいて、フィルタ/ロジック110は、次いで144において、エクスプロイト検知イベントを生成することができる。
さまざまな実施態様においては、フィルタ/ロジック110は、図1aにおけるイベント通知118に関して上述されているのと同じ様式でイベント通知134を処理して、次いで、関心のあるオブジェクトの実行を記述するかどうかを決定することができる。フィルタ/ロジック110は、図1aにおけるイベント通知124に関して上述されているのと同じ様式でイベント通知138を処理して、次いで、関心のあるアクティビティーの実行を記述するかどうかを決定することもできる。
関心のあるオブジェクトの実行をイベント通知134が記述するということを決定したことに応答して、フィルタ/ロジック110は、関心のあるオブジェクトに関するさらなる情報(たとえば、そのオブジェクトに関連付けられている識別子、そのオブジェクトを所有するプロセスの識別子、特定のタイプのオブジェクト(たとえば、フラッシュスレッド)の識別子、および/または、そのオブジェクトが子オブジェクトであるかどうかの表示(および、そうである場合には、親オブジェクトのアイデンティティーの表示)を収集することができる。フィルタ/ロジック110は、次いで136において、イベント通知134からの情報、およびさらなる情報の両方をデータ構造132内に格納することができる。
データ構造132は、関心のあるオブジェクトに関連付けられているそれぞれのイベント通知134に関するエントリー、または関心のあるそれぞれのオブジェクトに関するエントリーを有するテーブルなど、任意の種類のデータ構造であることが可能である。いくつかの実施態様においては、データ構造132は、モニタされているコンピューティングデバイスのシステムコンポーネントに関する情報、モニタされているコンピューティングデバイス上で発生しているイベントに関する情報、ならびにシステムコンポーネントおよびイベントの間における関係に関する情報を格納するための焦点としての役割を果たすセキュリティーエージェント102のイベントモデルの一部であることが可能である。さらなる実施態様においては、136における格納することは、エントリーをデータ構造132に加えること、またはエントリーを更新することを含むことができる。たとえば、データ構造が、関心のあるそれぞれのオブジェクトに関するエントリーを含む場合には、関心のある同じオブジェクトに関して複数のイベント通知134が受信されることが可能である。そのような例においては、フィルタ/ロジック110は、関心のあるそのオブジェクトに関するエントリーを、それに関連しているイベント通知134のうちの最も直近のものからの情報で更新することができる。
136において格納することを実行するのと同時に、または実行した後に、フィルタ/ロジック110は、イベント通知138を受信することができる。セキュリティーエージェント102の構成、またはポリシー112に基づいて、フィルタ/ロジック110は、イベント通知138に関連付けられているアクティビティータイプを決定し、そのアクティビティータイプに関連付けられている関心のあるいずれかの1または複数のオブジェクトを決定し、140において、関心のあるその/それらのオブジェクトに関連付けられているデータ構造132内に格納されている情報を取り出すことができる。フィルタ/ロジック110は次いで、イベント通知138と、データ構造132から取り出された情報とに少なくとも部分的に基づいてアクティビティーの発生をオブジェクトの実行と相関付けることができる。
さまざまな実施態様においては、相関があるということをフィルタ/ロジック110が決定した場合には、フィルタ/ロジック110は、エクスプロイト検知イベントを生成する。いくつかの実施態様においては、エクスプロイト検知イベントは、検知インジケータを指定することができる。たとえば、セキュリティーエージェント102の構成、またはポリシー112は、オブジェクトタイプ、アクティビティータイプなどの特定の組合せに関連付けられている検知インジケータを指定することができる。(検知インジケータを伴って、または伴わずに)エクスプロイト検知イベントを生成すると、フィルタ/ロジック110は、エクスプロイト検知イベントをイベントバスに提供することができ、イベントバスは、そのイベントをセキュリティーエージェント102の構成に従って回送することができる。
図1aまたは図1bのいずれかにおいて例示および記述されているエクスプロイト検知イベントの生成に続いて、イベントバスは、エクスプロイト検知イベントを、防止アクションを取るためにセキュリティーエージェント102のアクター(図2を参照しながら、さらに記述されている)へ、またはリモートセキュリティーサービス104へ送信するためにセキュリティーエージェント102の通信モジュール(やはり図2を参照しながら、さらに記述されている)へ回送することができる。
防止プロセスの例は、エクスプロイト検知イベントに関連付けられているオブジェクトの実行を停止もしくは防止すること、そのオブジェクトを含むプロセスの実行を停止もしくは防止すること、またはモニタされているコンピューティングデバイスをリブートさせることを含むことができる。取られるアクションは、いくつかの実施態様においては、検知インジケータの機能であることが可能である。
上述されているように、リモートセキュリティーサービス104は、エクスプロイト検知イベントを受信した場合には、セキュリティーエージェント102、ポリシー112、またはそれらの両方の構成を更新することができ、そのような更新をセキュリティーエージェント102へ通信して、さらなるエクスプロイト検知を駆動することができる。
例示的なセキュリティーエージェント
図2は、セキュリティーエクスプロイトに潜在的に関連しているイベント通知を検知および生成するためのフィルタ/ロジックと、エクスプロイトアクティビティーを示す相関を検知してエクスプロイト検知イベントを生成するための相関器と、イベント通知に関する情報を格納するためのデータ構造とを含む例示的なセキュリティーエージェントを示している。示されているように、コンピューティングデバイス202は、コンピューティングデバイス202上にインストールされているカーネルレベルセキュリティーエージェント206とともに機能するセキュリティーサービスデバイス204からセキュリティーサービスを受けることができる。コンピューティングデバイス202は、プロセス212およびスレッド214など、複数のオブジェクト208を含むことができる。カーネルレベルセキュリティーエージェント206は、イベントコレクタ216、イベントバス218、フィルタ/ロジックおよびポリシー220、相関器222、データ構造224、その他のイベントジェネレータ/コンシューマ226、ならびに通信モジュール228を含む。
図2は、セキュリティーエクスプロイトに潜在的に関連しているイベント通知を検知および生成するためのフィルタ/ロジックと、エクスプロイトアクティビティーを示す相関を検知してエクスプロイト検知イベントを生成するための相関器と、イベント通知に関する情報を格納するためのデータ構造とを含む例示的なセキュリティーエージェントを示している。示されているように、コンピューティングデバイス202は、コンピューティングデバイス202上にインストールされているカーネルレベルセキュリティーエージェント206とともに機能するセキュリティーサービスデバイス204からセキュリティーサービスを受けることができる。コンピューティングデバイス202は、プロセス212およびスレッド214など、複数のオブジェクト208を含むことができる。カーネルレベルセキュリティーエージェント206は、イベントコレクタ216、イベントバス218、フィルタ/ロジックおよびポリシー220、相関器222、データ構造224、その他のイベントジェネレータ/コンシューマ226、ならびに通信モジュール228を含む。
さまざまな実施形態においては、コンピューティングデバイス202およびセキュリティーサービスデバイス204およびネットワークは、上述されているのと同じ種類のデバイス、サービス、およびネットワークであることが可能である。同様に、カーネルレベルセキュリティーエージェント206は、セキュリティーエージェント102の例であることが可能であり、イベントコレクタ216は、イベントコレクタ108の例であることが可能であり、イベントバス218は、図1a〜図1bを参照しながら上述されているイベントバスの例であることが可能であり、フィルタ/ロジックおよびポリシー220は、フィルタ/ロジック110およびポリシー112の例であることが可能であり、相関器222は、相関器114の例であることが可能であり、データ構造224は、データ構造132の例であることが可能である。
いくつかの実施態様においては、複数のオブジェクト208は、プロセス212およびスレッド214など、コンピューティングデバイス202の任意の種類のコンポーネントを含むことができる。複数のオブジェクト208は、ツリー、モジュール、またはその他の任意の種類のコンポーネントを含むこともできる。たとえば、スレッド214は、セキュリティーエクスプロイトによってターゲットにされる脆弱なスレッドであることがある。そのようなスレッドの例、すなわち、インターネットブラウザプラグイン/フラッシュスレッド、およびそのアクティビティーは、図1a〜図1bに関して上述されている。
図2において示されているように、イベントバス218ならびにフィルタ/ロジックおよびポリシー220は、カーネルレベルセキュリティーエージェント206のアーキテクチャー内のその他のコンポーネントどうしを接続する回送コンポーネント、フィルタリングコンポーネント、および分析コンポーネントとしての役割を果たすことができる。イベントバス218ならびにフィルタ/ロジックおよびポリシー220は、その他のコンポーネントからイベントを受信し、それらの受信されたイベントを回送するか、それらの受信されたイベントのサブセットをフィルタリングして回送するか、または受信されたイベントを分析し、さらなる受信されたイベントを生成して回送することができる。あらゆる受信されたイベントに関してイベントバス218ならびにフィルタ/ロジックおよびポリシー220によって取られるアクションは、カーネルレベルセキュリティーエージェント206の構成およびポリシーによって駆動されることが可能である。
イベントジェネレータおよびコンシューマ226は、相関器222およびアクターなど、アクションを取るモジュールを含むことができる。アクターは、イベントバス218を介してイベントを受信し、それらのイベントに基づいて何らかの1または複数のアクションを取ることができる。たとえば、アクターは、エクスプロイト検知イベントを受信し、そのエクスプロイト検知イベントに基づいて防止アクションを取ることができる。追加として、または代替として、アクターは、イベントに関連付けられている情報をデータ構造224内に格納すること、またはイベントに関連付けられている情報を、セキュリティーサービスデバイス204へ送信するために通信モジュール228へ通信することが可能である。さらなる実施態様においては、エクスプロイト検知イベントを受信すると、アクターは、エクスプロイト検知イベントに基づいてデータ構造224からさらなる情報を取り出すことができ、そのさらなる情報は、防止アクションなど、何らかのアクションを取ることができる。
さまざまな実施形態においては、通信モジュール228は、1または複数のネットワークを介してセキュリティーサービスデバイス204と通信するためにカーネルレベルセキュリティーエージェント206によって利用されるネットワークプロトコルスタック、ネットワークインターフェースドライバ、およびその他の任意のネットワークインターフェースコンポーネントに相当することが可能である。通信モジュール228は、コンピューティングデバイス202のカーネルモードコンポーネントであることが可能である。さらに、通信モジュール228は、イベント、その他の通知、およびデータ関連イベントをカーネルレベルセキュリティーエージェント206からセキュリティーサービスデバイス204へ送信することができる。通信モジュール228は、セキュリティーサービスデバイス204から受信された構成更新をカーネルレベルセキュリティーエージェント206の構成マネージャーへ、ならびにセキュリティーサービスデバイス204からの修復命令および/またはイベントを、フィルタリングおよびディスパッチのためにイベントバス218へ送信することもできる。
例示的なシステム
図3は、エクスプロイトによってターゲットにされるオブジェクトと、セキュリティーエージェントとを伴って構成されているコンピューティングデバイスのコンポーネントレベルの図を示している。示されているように、コンピューティングデバイス300は、エクスプロイト306によってターゲットにされるオブジェクト304を格納しているシステムメモリ302と、フィルタ/ロジック310、ポリシー312、相関器314、およびデータ構造316を含むセキュリティーエージェント308とを含む。また、コンピューティングデバイス300は、プロセッサ318と、取り外し可能なストレージ320および取り外し不能なストレージ322と、入力デバイス324と、出力デバイス326と、その他のコンピューティングデバイス330と通信するための通信接続328とを含む。
図3は、エクスプロイトによってターゲットにされるオブジェクトと、セキュリティーエージェントとを伴って構成されているコンピューティングデバイスのコンポーネントレベルの図を示している。示されているように、コンピューティングデバイス300は、エクスプロイト306によってターゲットにされるオブジェクト304を格納しているシステムメモリ302と、フィルタ/ロジック310、ポリシー312、相関器314、およびデータ構造316を含むセキュリティーエージェント308とを含む。また、コンピューティングデバイス300は、プロセッサ318と、取り外し可能なストレージ320および取り外し不能なストレージ322と、入力デバイス324と、出力デバイス326と、その他のコンピューティングデバイス330と通信するための通信接続328とを含む。
さまざまな実施形態においては、システムメモリ302は、揮発性(たとえば、RAM)、不揮発性(たとえば、ROM、フラッシュメモリなど)、またはそれら2つの何らかの組合せである。オブジェクト304は、エクスプロイト306によってセキュリティー侵害されるプロセスまたはスレッドなど、任意の種類のオブジェクトであることが可能である。そのようなオブジェクト304およびエクスプロイト306の例は、本明細書においてさらに記述されている同様に名付けられたコンポーネントの例である。セキュリティーエージェント308およびそのフィルタ/ロジック310、ポリシー312、相関器314、およびデータ構造316も、本明細書においてさらに記述されている同様に名付けられたコンポーネントの例である。
いくつかの実施形態においては、プロセッサ318は、中央処理装置(CPU)、グラフィックスプロセッシングユニット(GPU)、もしくはCPUおよびGPUの両方、または当技術分野において知られているその他の処理ユニットもしくはコンポーネントである。
コンピューティングデバイス300はまた、(取り外し可能な、および/または取り外し不能な)さらなるデータストレージデバイス、たとえば、磁気ディスク、光ディスク、またはテープなどを含む。そのようなさらなるストレージは、取り外し可能なストレージ320および取り外し不能なストレージ322によって図3において示されている。非一時的コンピュータ可読メディアは、コンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータなどの情報の格納のための任意の方法またはテクノロジーにおいて実装される揮発性のメディアおよび不揮発性のメディア、取り外し可能なメディアおよび取り外し不能なメディアを含むことができる。システムメモリ302、取り外し可能なストレージ320、および取り外し不能なストレージ322はすべて、非一時的コンピュータ可読ストレージメディアの例である。非一時的コンピュータ可読ストレージメディアは、RAM、ROM、EEPROM、フラッシュメモリ、もしくはその他のメモリテクノロジー、CD−ROM、デジタル多用途ディスク(DVD)、もしくはその他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、もしくはその他の磁気ストレージデバイス、または、所望の情報を格納するために使用されることが可能な、かつコンピューティングデバイス300によってアクセスされることが可能なその他の任意の非一時的メディアを含むが、それらには限定されない。そのような非一時的コンピュータ可読メディアはいずれも、コンピューティングデバイス300の一部であることが可能である。
コンピューティングデバイス300はまた、入力デバイス324、たとえば、キーボード、マウス、タッチセンシティブディスプレイ、音声入力デバイスなど、および出力デバイス326、たとえば、ディスプレイ、スピーカー、プリンタなどを有する。これらのデバイスは、当技術分野においてよく知られており、ここで詳細に論じられる必要はない。
コンピューティングデバイス300はまた、通信接続328を含み、通信接続328は、コンピューティングデバイス300が、セキュリティーサービスデバイス204などのその他のコンピューティングデバイス330と通信することを可能にする。
例示的なプロセス
図4は、例示的なプロセスを示している。このプロセスは、ロジカルフローグラフとして示されており、そのそれぞれのオペレーションは、ハードウェア、ソフトウェア、またはそれらの組合せで実施されることが可能であるオペレーションのシーケンスに相当する。ソフトウェアのコンテキストにおいては、オペレーションは、1または複数のプロセッサによって実行されたときに、列挙されているオペレーションを実行する1または複数のコンピュータ可読ストレージメディア上に格納されているコンピュータ実行可能命令に相当する。一般に、コンピュータ実行可能命令は、特定の機能を実行する、または特定の抽象データ型を実施するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。オペレーションが記述されている順序は、限定と解釈されることを意図されているものではなく、任意の数の記述されているオペレーションが任意の順序でおよび/または並列に組み合わされて、プロセスを実施することが可能である。
図4は、例示的なプロセスを示している。このプロセスは、ロジカルフローグラフとして示されており、そのそれぞれのオペレーションは、ハードウェア、ソフトウェア、またはそれらの組合せで実施されることが可能であるオペレーションのシーケンスに相当する。ソフトウェアのコンテキストにおいては、オペレーションは、1または複数のプロセッサによって実行されたときに、列挙されているオペレーションを実行する1または複数のコンピュータ可読ストレージメディア上に格納されているコンピュータ実行可能命令に相当する。一般に、コンピュータ実行可能命令は、特定の機能を実行する、または特定の抽象データ型を実施するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。オペレーションが記述されている順序は、限定と解釈されることを意図されているものではなく、任意の数の記述されているオペレーションが任意の順序でおよび/または並列に組み合わされて、プロセスを実施することが可能である。
図4は、オブジェクトの実行のイベント通知を受信するステップと、イベント通知およびオブジェクトに関連付けられている情報を格納するステップと、アクティビティーの発生のイベント通知を受信するステップと、アクティビティーの発生をオブジェクトの実行と相関付けるステップと、その相関付けに基づいてエクスプロイト検知イベントを生成するステップとを行うための例示的なプロセスを示している。
このプロセスは、402において、モニタされているコンピューティングデバイス上に実装されているセキュリティーエージェントによって、オブジェクトの実行を示すイベント通知を受信するステップを含む。さまざまな実施態様においては、オブジェクトは、プロセスまたはスレッド(たとえば、インターネットブラウザプラグインスレッドまたはEメールアプリケーションスレッド)であることが可能である。さらに、受信するステップは、セキュリティーエージェントの構成可能なポリシーに基づくことが可能である。404において、受信するステップは、複数の関連したオブジェクトの実行を示すイベント通知を受信するステップを含むことができる。
406において、セキュリティーエージェントは、イベント通知およびオブジェクトに関連付けられている情報を、モニタされているコンピューティングデバイス上のセキュリティーエージェントのデータ構造内に格納する。格納される情報は、少なくともオブジェクトの識別子およびオブジェクトのオブジェクトタイプを含むことができる。いくつかの実施態様においては、データ構造は、セキュリティーエージェントの相関器の一部であることが可能である。また、格納するステップは、セキュリティーエージェントの構成可能なポリシーに基づくことが可能である。408において、格納するステップは、イベント通知および複数の関連したオブジェクトに関連付けられている情報を格納するステップを含むことができる。複数の関連したオブジェクトは、少なくとも親オブジェクトおよび子オブジェクトを含むことができ、格納するステップは、410において、子オブジェクトに関連付けられている情報を親オブジェクトのオブジェクト識別子またはオブジェクトタイプにタグ付けするステップを含むことができる。
412において、セキュリティーエージェントは、モニタされているコンピューティングデバイス上でのアクティビティーの発生を示すイベント通知を受信する。そのアクティビティーは、コマンドラインインターフェース(CLI)の作成、プロセスマイグレーション、インストレーション、またはポータブル実行可能ファイル(PE)の作成および実行のうちの1つであることがある。さらに、受信するステップは、セキュリティーエージェントの構成可能なポリシーに基づくことが可能である。
414において、格納されている情報に少なくとも部分的に基づいて、セキュリティーエージェントは、アクティビティーの発生をオブジェクトの実行と相関付ける。アクティビティーの発生と、オブジェクトの実行との相関は、モニタされているコンピューティングデバイス上でのセキュリティーエクスプロイトのオペレーションを示すことが可能である。いくつかの実施態様においては、相関付けるステップは、セキュリティーエージェントの構成可能なポリシーに基づくことが可能である。416において、相関付けるステップは、オブジェクトの実行を示すイベント通知と、アクティビティーの発生を示すイベント通知との間における経過時間に基づいてアクティビティーの発生をオブジェクトの実行と相関付けるステップを含むことができる。418において、相関付けるステップは、オブジェクトに関連付けられているアプリケーションのコンテキストに基づいてアクティビティーの発生をオブジェクトの実行と相関付けるステップを含むことができる。420において、相関付けるステップは、アクティビティーの発生をオブジェクトの実行と、およびさらなるアクティビティーの発生と相関付けるステップを含むことができる。422において、相関付けるステップは、アクティビティーの発生を複数の関連したオブジェクトの実行と相関付けるステップを含むことができる。
424において、セキュリティーエージェントは、相関付けに基づいてエクスプロイト検知イベントを生成する。いくつかの実施態様においては、生成することは、セキュリティーエージェントの構成可能なポリシーに基づくことが可能である。
426において、セキュリティーエージェントは、エクスプロイト検知イベントに少なくとも部分的に基づいて防止アクションを取ることができる。
428において、セキュリティーエージェントは、エクスプロイト検知イベントをリモートセキュリティーサービスに提供することができる。それに応答して、430において、セキュリティーエージェントは、セキュリティーエージェントの更新された構成を受信することができる。
結び
本主題は、構造的な特徴および/または方法論的な行為に特有の言葉で記述されてきたが、添付の特許請求の範囲において定義されている本主題は、記述されている特定の特徴または行為に必ずしも限定されるものではないということを理解されたい。むしろ、特定の特徴および行為は、特許請求の範囲を実施する例示的な形態として開示されている。
本主題は、構造的な特徴および/または方法論的な行為に特有の言葉で記述されてきたが、添付の特許請求の範囲において定義されている本主題は、記述されている特定の特徴または行為に必ずしも限定されるものではないということを理解されたい。むしろ、特定の特徴および行為は、特許請求の範囲を実施する例示的な形態として開示されている。
Claims (20)
- モニタされているコンピューティングデバイス上に実装されているセキュリティーエージェントによって、オブジェクトの実行を示すイベント通知を受信するステップと、
前記セキュリティーエージェントによって、前記イベント通知および前記オブジェクトに関連付けられている情報を、前記モニタされているコンピューティングデバイス上の前記セキュリティーエージェントのデータ構造内に格納するステップと、
前記セキュリティーエージェントによって、前記モニタされているコンピューティングデバイス上でのアクティビティーの発生を示すイベント通知を受信するステップと、
前記格納されている情報に少なくとも部分的に基づいて、前記セキュリティーエージェントによって、前記アクティビティーの前記発生を前記オブジェクトの前記実行と相関付けるステップであって、前記アクティビティーの前記発生と、前記オブジェクトの前記実行との前記相関は、セキュリティーエクスプロイトのオペレーションを示す、ステップと、
前記セキュリティーエージェントによって、前記相関付けに基づいてエクスプロイト検知イベントを生成するステップと
を含むことを特徴とする方法。 - 前記オブジェクトは、プロセスまたはスレッドであることを特徴とする請求項1に記載の方法。
- 前記オブジェクトは、インターネットブラウザプラグインスレッドまたはEメールアプリケーションスレッドであることを特徴とする請求項1に記載の方法。
- 前記アクティビティーは、コマンドラインインターフェース(CLI)の作成、プロセスマイグレーション、インストレーション、またはポータブル実行可能ファイル(PE)の作成および実行のうちの1つであることを特徴とする請求項3に記載の方法。
- 前記格納される情報は、少なくとも前記オブジェクトの識別子および前記オブジェクトのオブジェクトタイプを含むことを特徴とする請求項1に記載の方法。
- 前記オブジェクトの前記実行を示す前記イベント通知を受信する前記ステップ、格納する前記ステップ、前記アクティビティーの前記発生を示す前記イベント通知を受信する前記ステップ、相関付ける前記ステップ、および生成する前記ステップは、前記セキュリティーエージェントの構成可能なポリシーに基づくことを特徴とする請求項1に記載の方法。
- 相関付ける前記ステップは、前記オブジェクトの前記実行を示す前記イベント通知と、前記アクティビティーの前記発生を示す前記イベント通知との間における経過時間に基づいて前記アクティビティーの前記発生を前記オブジェクトの前記実行と相関付けるステップを含むことを特徴とする請求項1に記載の方法。
- 相関付ける前記ステップは、前記オブジェクトに関連付けられているアプリケーションのコンテキストに基づいて前記アクティビティーの前記発生を前記オブジェクトの前記実行と相関付けるステップを含むことを特徴とする請求項1に記載の方法。
- 相関付ける前記ステップは、前記アクティビティーの前記発生を前記オブジェクトの前記実行と、およびさらなるアクティビティーの発生と相関付けるステップを含むことを特徴とする請求項1に記載の方法。
- 前記オブジェクトの前記実行を示す前記イベント通知を受信する前記ステップは、複数の関連したオブジェクトの実行を示すイベント通知を受信するステップを含み、格納する前記ステップは、前記イベント通知および前記複数の関連したオブジェクトに関連付けられている情報を格納するステップを含み、相関付ける前記ステップは、前記アクティビティーの前記発生を前記複数の関連したオブジェクトの前記実行と相関付けるステップを含むことを特徴とする請求項1に記載の方法。
- 前記複数の関連したオブジェクトは、少なくとも親オブジェクトおよび子オブジェクトを含み、格納する前記ステップは、前記子オブジェクトに関連付けられている情報を前記親オブジェクトのオブジェクト識別子またはオブジェクトタイプにタグ付けするステップを含むことを特徴とする請求項10に記載の方法。
- 前記セキュリティーエージェントによって、前記エクスプロイト検知イベントに少なくとも部分的に基づいて防止アクションを取るステップをさらに含むことを特徴とする請求項1に記載の方法。
- 前記セキュリティーエージェントによって、前記エクスプロイト検知イベントをリモートセキュリティーサービスに提供するステップをさらに含むことを特徴とする請求項1に記載の方法。
- 提供する前記ステップに応答して、前記セキュリティーエージェントによって、前記セキュリティーエージェントの更新された構成を受信するステップをさらに含むことを特徴とする請求項13に記載の方法。
- モニタされているコンピューティングデバイスであって、
プロセッサと、
前記モニタされているコンピューティングデバイス上で前記プロセッサによって実行されるように構成されているセキュリティーエージェントとを含み、前記セキュリティーエージェントは、
オブジェクトの実行を示す第1のイベント通知を受信し、前記オブジェクトのオブジェクトタイプを指定する第2のイベント通知を前記第1のイベント通知に基づいて生成し、前記モニタされているコンピューティングデバイス上でのアクティビティーの発生を示す第3のイベント通知を受信し、前記アクティビティーのアクティビティータイプを指定する第4のイベント通知を前記第3のイベント通知に基づいて生成するように構成されているフィルタと、
前記第2のイベント通知を受信し、前記第2のイベント通知を格納し、前記第4のイベント通知を受信し、前記第2のイベント通知、前記第4のイベント通知、および、セキュリティーエクスプロイトのオペレーションを示す相関を指定する相関インデックスに基づいて前記アクティビティーの前記発生を前記オブジェクトの前記実行と相関付け、前記相関付けに基づいてエクスプロイト検知イベントを生成するように構成されている相関器とを含むことを特徴とするモニタされているコンピューティングデバイス。 - 前記第2のイベント通知または前記第4のイベント通知のうちの少なくとも1つは、さらなる情報を含むことを特徴とする請求項15に記載のモニタされているコンピューティングデバイス。
- 前記相関器は相関器インスタンスであり、前記セキュリティーエージェントは、それぞれのオブジェクトインスタンスごとに異なる相関器インスタンスを含むことを特徴とする請求項15に記載のモニタされているコンピューティングデバイス。
- 前記セキュリティーエージェントは、複数の連鎖した相関器インスタンスを含み、第1の相関器インスタンスが、前記アクティビティーの前記発生を前記オブジェクトの前記実行と相関付け、第2の相関器インスタンスが、前記第1の相関器インスタンスの出力を別のオブジェクトの実行と相関付け、前記別のオブジェクトが前記オブジェクトに関連していることを特徴とする請求項17に記載のモニタされているコンピューティングデバイス。
- モニタされているコンピューティングデバイスであって、
プロセッサと、
前記モニタされているコンピューティングデバイス上で前記プロセッサによって実行されるように構成されているセキュリティーエージェントとを含み、前記セキュリティーエージェントは、
オブジェクトが実行中であるかどうかのインジケータを含む、少なくとも1つの前記オブジェクトに関する情報を格納するように構成されているデータ構造と、
前記少なくとも1つのオブジェクトの実行を示す第1のイベント通知を受信し、前記第1のイベント通知に基づいて前記データ構造を更新し、前記モニタされているコンピューティングデバイス上でのアクティビティーの発生を示す第2のイベント通知を受信し、前記データ構造、前記第2のイベント通知、および、セキュリティーエクスプロイトのオペレーションを示す相関を指定するポリシーに基づいて前記アクティビティーの前記発生を前記オブジェクトの前記実行と相関付け、前記相関付けに基づいてエクスプロイト検知イベントを生成するように構成されているロジックとを含むことを特徴とするモニタされているコンピューティングデバイス。 - 前記ロジックは、前記第1のイベント通知に基づいて、前記少なくとも1つのオブジェクトに関するエントリーを前記データ構造に加えることによって、または前記データ構造内の前記少なくとも1つのオブジェクトに関する既存のエントリーを更新することによって前記データ構造を更新するようにさらに構成されていることを特徴とする請求項19に記載のモニタされているコンピューティングデバイス。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/096,027 US10243972B2 (en) | 2016-04-11 | 2016-04-11 | Correlation-based detection of exploit activity |
US15/096,027 | 2016-04-11 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017191604A true JP2017191604A (ja) | 2017-10-19 |
Family
ID=58489478
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017077644A Pending JP2017191604A (ja) | 2016-04-11 | 2017-04-10 | エクスプロイトアクティビティーの相関ベースの検知 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10243972B2 (ja) |
EP (1) | EP3232358B1 (ja) |
JP (1) | JP2017191604A (ja) |
AU (1) | AU2017202071A1 (ja) |
CA (1) | CA2961695A1 (ja) |
IL (1) | IL251476A0 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11290479B2 (en) | 2018-08-11 | 2022-03-29 | Rapid7, Inc. | Determining insights in an electronic environment |
US11575571B2 (en) * | 2020-05-08 | 2023-02-07 | Rockwell Automation Technologies, Inc. | Centralized security event generation policy |
US11588856B2 (en) | 2020-05-08 | 2023-02-21 | Rockwell Automation Technologies, Inc. | Automatic endpoint security policy assignment by zero-touch enrollment |
US20220138206A1 (en) | 2020-10-30 | 2022-05-05 | Snowflake Inc. | System for implementing an object tagging framework |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7134141B2 (en) | 2000-06-12 | 2006-11-07 | Hewlett-Packard Development Company, L.P. | System and method for host and network based intrusion detection and response |
US7171690B2 (en) * | 2001-08-01 | 2007-01-30 | Mcafee, Inc. | Wireless malware scanning back-end system and method |
US20050229250A1 (en) * | 2004-02-26 | 2005-10-13 | Ring Sandra E | Methodology, system, computer readable medium, and product providing a security software suite for handling operating system exploitations |
US7356545B2 (en) * | 2004-12-22 | 2008-04-08 | Oracle International Corporation | Enabling relational databases to incorporate customized intrusion prevention policies |
US7882560B2 (en) | 2005-12-16 | 2011-02-01 | Cisco Technology, Inc. | Methods and apparatus providing computer and network security utilizing probabilistic policy reposturing |
US8769127B2 (en) * | 2006-02-10 | 2014-07-01 | Northrop Grumman Systems Corporation | Cross-domain solution (CDS) collaborate-access-browse (CAB) and assured file transfer (AFT) |
US9015703B2 (en) * | 2006-10-17 | 2015-04-21 | Manageiq, Inc. | Enforcement of compliance policies in managed virtual systems |
US20090254970A1 (en) | 2008-04-04 | 2009-10-08 | Avaya Inc. | Multi-tier security event correlation and mitigation |
US8627475B2 (en) * | 2010-04-08 | 2014-01-07 | Microsoft Corporation | Early detection of potential malware |
KR101587959B1 (ko) | 2012-06-05 | 2016-01-25 | 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 | 서버측 멀티 타깃 침입을 검출하기 위한 크로스 사용자 상관관계 |
US9043903B2 (en) * | 2012-06-08 | 2015-05-26 | Crowdstrike, Inc. | Kernel-level security agent |
US20140115624A1 (en) * | 2012-10-18 | 2014-04-24 | Broadcom Corporation | Security and Certification in a Set Top Box Device Having a Mixed Operating System or Framework Environment |
US9477835B2 (en) * | 2013-10-08 | 2016-10-25 | Crowdstrike, Inc. | Event model for correlating system component states |
US10122747B2 (en) * | 2013-12-06 | 2018-11-06 | Lookout, Inc. | Response generation after distributed monitoring and evaluation of multiple devices |
US10095866B2 (en) * | 2014-02-24 | 2018-10-09 | Cyphort Inc. | System and method for threat risk scoring of security threats |
EP3120286B1 (en) * | 2014-03-17 | 2019-07-17 | Proofpoint, Inc. | Behavior profiling for malware detection |
US9378367B2 (en) * | 2014-03-31 | 2016-06-28 | Symantec Corporation | Systems and methods for identifying a source of a suspect event |
US9690928B2 (en) * | 2014-10-25 | 2017-06-27 | Mcafee, Inc. | Computing platform security methods and apparatus |
US9934376B1 (en) * | 2014-12-29 | 2018-04-03 | Fireeye, Inc. | Malware detection appliance architecture |
US10033759B1 (en) * | 2015-09-28 | 2018-07-24 | Fireeye, Inc. | System and method of threat detection under hypervisor control |
US20170223030A1 (en) * | 2016-01-29 | 2017-08-03 | Splunk Inc. | Detection of security transactions |
-
2016
- 2016-04-11 US US15/096,027 patent/US10243972B2/en active Active
-
2017
- 2017-03-20 CA CA2961695A patent/CA2961695A1/en not_active Abandoned
- 2017-03-21 EP EP17162189.9A patent/EP3232358B1/en active Active
- 2017-03-29 AU AU2017202071A patent/AU2017202071A1/en not_active Abandoned
- 2017-03-30 IL IL251476A patent/IL251476A0/en unknown
- 2017-04-10 JP JP2017077644A patent/JP2017191604A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
CA2961695A1 (en) | 2017-10-11 |
US10243972B2 (en) | 2019-03-26 |
AU2017202071A1 (en) | 2017-10-26 |
US20170295190A1 (en) | 2017-10-12 |
EP3232358B1 (en) | 2019-11-20 |
EP3232358A1 (en) | 2017-10-18 |
IL251476A0 (en) | 2017-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10853491B2 (en) | Security agent | |
EP3055808B1 (en) | Event model for correlating system component states | |
US9798882B2 (en) | Real-time model of states of monitored devices | |
US9256730B2 (en) | Threat detection for return oriented programming | |
EP2939173B1 (en) | Real-time representation of security-relevant system state | |
US20140059683A1 (en) | Cooperative intrusion detection ecosystem for IP reputation-based security | |
US9888031B2 (en) | System and method thereof for identifying and responding to security incidents based on preemptive forensics | |
WO2014059534A1 (en) | Cooperative intrusion detection ecosystem for ip reputation-based security | |
EP3399455B1 (en) | Parametric behavioral pattern definition | |
US10574683B1 (en) | Methods and system for detecting behavioral indicators of compromise in infrastructure | |
US10630704B1 (en) | Methods and systems for identifying infrastructure attack progressions | |
JP2017191604A (ja) | エクスプロイトアクティビティーの相関ベースの検知 | |
US10630716B1 (en) | Methods and system for tracking security risks over infrastructure | |
US20160149938A1 (en) | System and method for real-time remediation respective of security incidents | |
US11599638B2 (en) | Game engine-based computer security | |
WO2021016517A1 (en) | Methods and system for identifying infrastructure attack progressions | |
US11397808B1 (en) | Attack detection based on graph edge context | |
Yu et al. | A threat monitoring system for smart mobiles in enterprise networks | |
US20230133892A1 (en) | Comprehensible threat detection | |
Dolgikh et al. | Cloud security auditing based on behavioural modelling |