(54)【発明の名称】疑わしいオブジェクトにおけるエクスプロイトを自動的に実証し、当該実証済みエクスプロイトに関連付けられた表示情報を強調するシステム、装置、および方法
(58)【調査した分野】(Int.Cl.,DB名)
複数の第一オブジェクトを受け付け、当該複数の第一オブジェクトを分析することにより、当該複数の第一オブジェクトの部分集合であり、当該複数の第一オブジェクトの数以下である複数の第二オブジェクトを容疑エクスプロイトとして特定するように構成された侵入防止システム(IPS)ロジックと、
前記複数の第二オブジェクトの各々に含まれるコンテンツを処理し、処理中におけるエクスプロイトを示す異常挙動を監視することにより、当該複数の第二オブジェクトの第一部分集合に含まれる少なくとも一つの実証済みオブジェクトを分類するように構成された少なくとも一つの仮想マシンを含む仮想実行ロジックと、
少なくとも一つの非実証済みエクスプロイトの視覚表現とは異なる表示がなされる、前記少なくとも一つの実証済みエクスプロイトに関連付けられたエクスプロイト情報の視覚表現を含む表示を生成するように構成された表示生成ロジックと、
を備えており、
前記少なくとも一つの実証済みエクスプロイトに関連付けられたエクスプロイト情報の視覚表現は、前記少なくとも一つの非実証済みエクスプロイトの視覚表現よりも強調される、
脅威検出システム。
【発明を実施するための形態】
【0013】
1.用語
以降の説明においては、発明の特徴を記述するために特定の用語が使用される。例えば、特定の状況下において、「ロジック」と「エンジン」の両用語は、少なくとも一つの機能を実行するように構成されたハードウェア、ファームウェア、ソフトウェアの少なくとも一つを表す。ハードウェアの場合、ロジック(あるいはエンジン)は、データを処理あるいは記憶する機能を有する回路を含みうる。そのような回路の例としては、マイクロプロセッサ、少なくとも一つのプロセッサコア、プログラマブルゲートアレイ、マイクロコントローラ、特定用途向け集積回路、無線受信回路、無線送信回路、無線送受信回路、半導体メモリ、組合せロジックが挙げられるが、これらに限定あるいは制限されない。
【0014】
ロジック(あるいはエンジン)は、少なくとも一つのソフトウェアモジュールの形態でありうる。そのような例としては、実行可能なアプリケーションの形態である実行可能なコード、アプリケーションプログラミングインターフェース(API)、サブルーチン、関数、プロシージャ、アプレット、サーブレット、ソースコード、オブジェクトコード、共有ライブラリまたはダイナミックロードライブラリ、少なくとも一つの指令が挙げられる。これらのソフトウェアモジュールは、あらゆる適当な非一時的な記憶媒体または一時的な記憶媒体に記憶されうる。一時的な記憶媒体の例としては、電気的、光学的、音響的などの形態をとる伝達信号(搬送波、赤外信号、デジタル信号など)が挙げられる。非一時的な記憶媒体の例としては、プログラマブル回路、半導体メモリ、揮発性メモリ(例えば、あらゆるランダムアクセスメモリ;RAM)のような非永続性ストレージ、不揮発性メモリ(読出し専用メモリ;ROM、電源バックアップ型RAM、フラッシュメモリ、フェーズチェンジメモリなど)のような永続性ストレージ、半導体ドライブ、ハードディスクドライブ、光ディスクドライブ、携帯メモリ装置などが挙げられる。ファームウェアの例としては、永続性ストレージに記憶された実行可能なコードが挙げられる。
【0015】
「・・・オブジェクト」という語は、主としてデータの収集に関連している。データは、(例えばネットワーク上で)移動中であるか静止しているか(例えば保存されている)を問わない。オブジェクトは、分析を目的として分類されることを可能にする論理的構造あるいは構成を有している。例えば、分析中においては、オブジェクトは、期待された特性のセットを示し、処理中においては、期待された挙動のセットを示しうる。また、オブジェクトは、エクスプロイトであることを実証し、当該オブジェクトをエクスプロイトと分類可能にしうる予期せぬ特性のセットと挙動のセットを示しうる。
【0016】
オブジェクトの例としては、少なくとも一つのフロー、あるいはフロー自体が内蔵しているエレメントが挙げられる。「フロー」は、通信セッション内において受信、送信、あるいは交換される関連パケットを主に意味する。便宜上、パケットは、所定のフォーマットを有する一連のビットあるいはバイトを広く意味し、パケット、フレーム、あるいはセルを含みうる。
【0017】
一例として、オブジェクトは、フローのセットを含みうる。当該フローのセットの例としては、(1)特定の通信プロトコル(ユーザデータグラムプロトコル;UDM、伝送制御プロトコル;TCP、あるいはハイパーテキスト転送プロトコル;HTTPなど)に基づく送信シーケンスや、(2)プロセス間通信(リモートプロシージャコール;RPCやアナログ処理など)が挙げられる。同様の別例として、オブジェクトは、内蔵エレメントを含みうる。そのようなオブジェクトは複数の種別を含んでおり、実行可能なファイル、実行不可能なファイル(文書や動的リンクライブラリなど)、ポータブルドキュメントフォーマット(PDF)ファイル、ジャバスクリプトファイル、ZIPファイル、フラッシュファイル、マイクロソフトオフィス(登録商標)文書などの文書、電子メール(eメール)、ダウンロードされたウェブページ、セッション確立プロトコル(SIP)などのメッセージングプロトコルに基づくインスタントメッセージングエレメントなどが挙げられる。
【0018】
「エクスプロイト」は、ソフトウェアの脆弱性を利用しようとする情報(実行可能なコード、データ、コマンドなど)として広く解釈されうる。一般に、「脆弱性」とは、コーディングエラーやソフトウェア(コンピュータプログラムなど)のアーティファクトであり、電子デバイスによるソフトウェア(コンピュータプログラム)の処理中における正規の制御フローを攻撃者が変更できるようにすることによって、当該電子デバイスに望ましくない、あるいは予期せぬ挙動を行なわせる。この望ましくない、あるいは予期せぬ挙動は、通信ベースの異常や実行ベースの異常を含みうる。当該異常は、(1)アプリケーションソフトウェアを実行している電子デバイスの機能を悪意ある手法で変更、(2)アプリケーションソフトウェアを実行している電子デバイスの機能を悪意なく変更、(3)別の状況においては一般に受け入れられうる不要な機能を提供、などが可能である。例えば、コンピュータプログラムは、状態機械とみなされうる。状態機械においては、全ての有効な状態(および状態間の遷移)が当該プログラムによって管理および定義される。この場合、エクスプロイトは、状態(あるいは遷移)の少なくとも一つを、当該プログラムによって定義されたものから変更しようとするものとみなされうる。
【0019】
マルウェアは、脆弱性を利用してエクスプロイトを実行する(電子デバイスの動作を害したり勝手に利用したりする、データを悪用、変更、削除するなど)コンピュータコードとして広く解釈されうる。従来からマルウェアは、悪意とともに設計されていると言われている。オブジェクトは、マルウェアを構成したり含んだりできる。
【0020】
「送信媒体」という語は、複数のシステム間の通信経路を意味する。システムの例としては、セキュリティアプライアンス、サーバ、メインフレーム、コンピュータ、ネットブック、タブレット、スマートフォン、ルータ、スイッチ、ブリッジ、ブルータなどのデータ処理機能を有する電子装置が挙げられる。当該通信経路は、有線セグメントと無線セグメントの少なくとも一方を含みうる。これらの例としては、電気配線、光ファイバ、ケーブル、バストレース、赤外線やラジオ周波数(RF)を用いた無線チャネルなどの信号伝達機構が挙げられる。
【0021】
特定の状況においては、ここで用いられている「検出される」および「実証される」という語は、分析中のオブジェクト内に所定レベルの確度(あるいは確率)でエクスプロイトが存在することを意味する。例えば、IPSロジック(後述)は、分析中のオブジェクトの特性や特徴を調べることによって潜在的なエクスプロイトを「検出し」、当該オブジェクトがエクスプロイトを示す特性を有している(「疑わしいオブジェクト」である)かを判断する。この判断は、分析中のオブジェクトがエクスプロイトである確率が少なくとも第一確率であるかの分析を通じて行なわれうる。同様に、仮想実行ロジックは、予期せぬ挙動あるいは異常な挙動を監視あるいは観察することによってエクスプロイトの存在を「実証し」、疑わしいオブジェクトがエクスプロイトであると判断する。本開示における一実施形態によれば、仮想実行ロジックによる判断は、当該疑わしいオブジェクトがエクスプロイトである確率が少なくとも第二確率であるかの分析を伴いうる。当該第二確率は、上記第一確率よりも大きい値をとりうる。また、当該第二確率は、上記第一確率を考慮しうる。
【0022】
「コンピュータ制御された」という語は、ソフトウェアとファームウェアの少なくとも一方と協働するハードウェアにより行なわれる動作を主に表す。また、「比較する」あるいは「比較」という語は、二つの事物の間に一致(特定レベルの相関など)が成立するかを判断することを主に表す。当該二つの事物の一方は、特定のシグネチャパターンを含みうる。
【0023】
最後に、本明細書で用いられる「または」と「〜の少なくとも一つ」という語は、両立的(inclusive)であることを意味する。すなわち、「A、B、またはC」あるいは「A、B、Cの少なくとも一つ」は、A、B、C、AとB、AとC、BとC、AとBとCのいずれをも意味する。この定義における例外は、要素、機能、ステップ、動作などの組合せが排他的(exclusive)であることが明らかな場合のみである。
【0024】
多くの異なる形態の実施形態に対して本発明が適用可能となるように、本開示は、当該発明の原理の一例とみなされることを意図しており、本発明が図示および記載された特定の実施形態に限定されることを意図するものではない。
【0025】
第一実施形態 仮想実行ロジックによる実証を伴なうIPSロジック
A.通信フロー
図1Aは、電子デバイス100内の脅威検出および防止の動作フローを示すブロック図の一例である。監視対象のネットワークトラフィックと関連付けられた到来オブジェクト110の少なくとも一部は、IPSロジック120により受け付けられる。IPSロジック120は、例えば
図2Aと
図2Bに示される静的分析エンジンの一部である。IPSロジック120は、捕捉フィルタ装置として構成されている。捕捉フィルタ装置は、到来オブジェクト110を受け付け、少なくともエクスプロイトシグネチャと脆弱性シグネチャの少なくとも一方を用いて抽出する。抽出されたオブジェクトは、より詳細な分析に供される。エクスプロイトシグネチャと脆弱性シグネチャの少なくとも一方は、周期的に、あるいは非周期的に更新されうる。
【0026】
より具体的には、エクスプロイトシグネチャチェックと脆弱性シグネチャチェックの少なくとも一方を行なうことにより、疑わしいエクスプロイトが検出されうる。すなわち、分析対象のオブジェクトが少なくとも一つの予め保存されたエクスプロイトシグネチャと脆弱性シグネチャの少なくとも一方と比較され、一致が検出されるかが判断される。一般に、「エクスプロイトシグネチャ」は、過去に検出された、あるいは既知の攻撃パターンに関連する情報を含んでいる。「脆弱性シグネチャ」は、過去に検出された、あるいは既知の脆弱性を利用する可能性がある企てを特徴づける情報を含んでいる。脆弱性に係る特定のエクスプロイトが既知であるかは問わない。本開示における一実施形態においては、脆弱性シグネチャは、プロトコル状態機械と見なされうる。当該プロトコル状態機械は、状態を維持し、通常はオブジェクトのパラメータを定義するように構成されている。当該オブジェクトは、脆弱性シグネチャが保護しようとしている特定のソフトウェア脆弱性を利用するためになされる企てを表すフローのセットである。
【0027】
到来オブジェクト110に対してエクスプロイトシグネチャチェックと脆弱性シグネチャチェックの少なくとも一方を少なくとも行ない、エクスプロイト(疑わしいオブジェクト)を示す特性を有するオブジェクトの第一部分集合130を特定するに際して、IPSロジック120は、疑わしいオブジェクトの第一部分集合130を実証ロジック150に提供し、その分析結果140(「IPSベースの結果」と称する)を、保存および以降のアクセスのために報告ロジック170に提供する。
【0028】
オブジェクトの第一部分集合130は、到来オブジェクト110よりも少ない数(場合によっては非常に少ない数)をとりうると考えられる。例えば、オブジェクトの第一部分集合130は、オブジェクトのストリームでありうる。本節においては議論を容易にするため、オブジェクトの第一部分集合130は、最初にエクスプロイトであると疑われた(容疑オブジェクトが、予め保存されたエクスプロイトシグネチャや脆弱性シグネチャと一致する場合など)少なくとも一つの到来オブジェクトを指すものとする。よって、IPSロジック120は、容疑オブジェクト130を実証ロジック150に転送し、容疑オブジェクト130に関連付けられたIPSベースの結果140を、報告ロジック170に出力する。
【0029】
IPSベースの結果140は、容疑オブジェクト130内の少なくとも一つの容疑エクスプロイトに係る詳細情報を提供しうる。例えば、詳細情報は、(1)容疑エクスプロイトの特定の名前やファミリなど(既知であれば)のエクスプロイト識別子、(2)容疑オブジェクトを送信している電子デバイスのソースアドレス(URLやIPアドレスなど)、(3)分析時刻、(4)容疑エクスプロイトによって行なわれうると予測される異常活動に関連付けられた情報、(5)ネットワークトラフィックに適用可能なプロトコルからの予測される通信の逸脱に関する情報、および(6)当該種のエクスプロイトに対して推奨される救済技術の少なくとも一つを含みうる。
【0030】
上述のように、容疑オブジェクト130は、実証ロジック150(
図2Aと
図2Bに例示される動的分析エンジン270の一部である仮想実行ロジックなど)に転送される。実証ロジック150は、容疑オブジェクト130内の仮想処理コンテンツと後述する仮想処理中の挙動を監視することによって、容疑オブジェクト130がエクスプロイトであるかを実証しようとする。
【0031】
この分析の結果160は、報告ロジック170による後続使用のために実証ロジック150から出力される。報告ロジック170は、視覚的に示すレポート180を生成し、オブジェクトの第一部分集合130において、実証された容疑オブジェクト(実証エクスプロイト)と実証されなかった容疑オブジェクト(非実証エクスプロイト)を分離する。
図1Aには例示されていないが、仮想マシンベースの結果160は、(1)容疑オブジェクト、(2)分析時刻、(3)容疑オブジェクトがエクスプロイトであろうことを実証するために使用される少なくとも一つのスコアを含みうる。実証がなされると、当該結果は、(1)エクスプロイトの識別子、(2)実証済みエクスプロイトに関連付けられた特性や異常挙動(異常挙動の映像または画像を含みうる)、および(3)実証済みエクスプロイトに対して脆弱性を有すると検出されたソフトウェアの名前とバージョン番号の少なくとも一方、の少なくとも一つを含みうる。
【0032】
その後、容疑オブジェクトに係るIPSベースの結果140と仮想マシンベースの結果160の少なくとも一部が結合される。より具体的には、容疑オブジェクト130がエクスプロイトであると実証ロジック150が実証できなかったことを仮想マシンベースの結果160が示している場合(計算されたスコアが所定の閾値を下回っている場合など)、当該オブジェクトに係るIPSベースの結果140と仮想マシンベースの結果160の少なくとも一部が結合され、保存および報告ロジック170による使用のために「非実証済みエクスプロイト情報」190の一部に加えられる。
【0033】
しかしながら、容疑オブジェクト130がエクスプロイトであると実証ロジック150が実証したことを仮想マシンベースの結果160が示している場合(計算されたスコアが所定の閾値以上である場合など)、IPSベースの結果140と仮想マシンベースの結果160は、少なくとも実証済みエクスプロイトの強調表示をなすために変更されうる。例えば、結果140と結果160の少なくとも一方における特定の部分が、表示コマンドと関連付けられうる。当該表示コマンドは、報告ロジック170内の表示ロジックの一部として表示コントローラによって認識され、当該表示ロジックに出力を生成させる。当該出力は、非実証済みエクスプロイトに関連付けられた表示結果と実証済みエクスプロイトに関連付けられた表示結果の違いを視覚的に示しうる。実証済みエクスプロイトに関連付けられたエクスプロイト情報は、「実証済みエクスプロイト情報」195の一部として保存されうる。
【0034】
表示ロジック290も、非実証済みエクスプロイト情報190よりも顕著に実証済みエクスプロイト情報195が表示されることを認識するように構成されうる。例えば、表示ロジック290は、実証済みエクスプロイト情報を顕著に表示するように構成されうる。表示は、別の表示画面、別の表示ウインドウ、表示画面における別の領域、あるいはリストのトップになされうる。これに加えてあるいは代えて、実証された各エクスプロイトに係る実証済みエクスプロイト情報の少なくとも一部は、非実証済みエクスプロイトに関連付けられたエクスプロイト情報の提供に用いられるフォントとは異なるフォント(色、大きさ、書体、スタイル、エフェクトの少なくとも一つが異なる)を用いて提供されうる。これに加えてあるいは代えて、実証された各エクスプロイトに関連付けられたエクスプロイト情報の近傍に少なくとも一つの画像が配置されうる。画面表示の例は、
図5Aと
図5Bに示されている。
【0035】
エクスプロイト情報の表示に加えて、報告ロジック170は、セキュリティ管理者などに少なくとも一つの実証済みエクスプロイトを扱うことの切迫性を伝えるアラート(eメールやテキストメッセージなどによる)を発行しうる。また、報告ロジック170は、選択された脅威レベルがユーザに伝わる手法で、少なくとも一つの非実証済みエクスプロイトに係るアラートを発行しうる。
【0036】
さらに図示されるように、IPSロジック120は、特定のクライアントデバイスを行き先とする少なくとも一つのフローなどの到来オブジェクト110を受け付けるために、ネットワーク105(パブリックネットワークやプライベートネットワークなど)と通信可能に結合されうる。IPSロジック120は、到来オブジェクト110のいずれかがエクスプロイトを示す特性を有するかを判断するために、到来オブジェクト110に対してエクスプロイトシグネチャチェックと脆弱性シグネチャチェックの少なくとも一方を行ない、少なくとも一つの容疑オブジェクト130を実証ロジック150へ提供するように構成される。
【0037】
本開示における一実施形態においては、IPSロジック120と実証ロジック150の間の通信カップリングがサイドバンド構成で設けられる。当該通信カップリングにおいては、少なくとも一つの容疑オブジェクト130(またはそのコピー)が、一時的に保存され、実証ロジック150において処理される。当該処理は、IPSロジック120による他のオブジェクトの分析と同時に行なわれる。これにより、実証ロジック150によるより長い時間をかけての分析(より長い時間をかけての処理および仮想実行ロジック内における容疑オブジェクト130の処理の監視など)を通じてエクスプロイトの検出が可能になる。これにより、遅延起動を伴うエクスプロイト(時限爆弾を含む)の検出も可能になる。しかしながら、
図1Bに示されるように、IPSロジック120は、実証ロジック150と直列に構成されうる。この場合、IPSロジック120は、容疑オブジェクト130とIPSベースの結果140の双方を、実証ロジック150に提供しうる。当該IPSベースの結果は、続いて実証ロジック150から報告ロジック170へ転送されうる。
【0038】
B.一般的なアーキテクチャ(第一実施形態)
図2Aは、通信システム200のブロック図の一例を示している。通信システム200は、複数の脅威検出および防止(TDP)システム210
1〜210
N(Nは1よりも大きく、例えば3である)を備えている。TDPシステム210
1〜210
Nは、ネットワーク225を通じて管理システム220と通信可能に結合されている。例えば、管理システム220は、TDPシステム210
1〜210
Nの少なくとも一部においてIPSロジックに使用される少なくとも一つのエクスプロイトシグネチャと脆弱性シグネチャの少なくとも一方を更新する責任を負う。これらのシグネチャの各々は、過去に検出されたエクスプロイトや未知のソフトウェア脆弱性を表しうる。このような共有は、自動的になされてもよいし、管理者によって手動でアップロードされてもよい。また、このような共有は、TDPシステム210
1〜210
3の間で自由に行なわれてもよいし、サブスクリプションに基づいて行なわれてもよい。
【0039】
図2Aに例示されている実施形態においては、第一TDPシステム210
1は、ネットワークトラフィックに関連付けられた情報を分析するように構成された電子デバイスである。当該ネットワークトラフィックは、少なくとも一つのサーバデバイス232と少なくとも一つのクライアントデバイス234の間で通信ネットワーク230を介して転送される。通信ネットワーク230は、インターネットなどのパブリックネットワークを含みうる。この場合、任意のファイヤウォール236(破線で示されている)がクライアントデバイス234にアクセスする前に介挿されうる。あるいは、通信ネットワーク230は、無線データ通信ネットワーク、広域ネットワーク、ローカルエリアネットワーク(LAN)の類、あるいは複数のネットワークの組合せなどのプライベートネットワークを含みうる。
【0040】
図示のように、第一TDPシステム210
1は、ネットワークインターフェース238を通じて通信ネットワーク230と通信可能に結合されうる。一般に、ネットワークインターフェース238は、データ取得デバイスとして動作する(「タップ」や「ネットワークタップ」と称されることもある)。データ取得デバイスは、クライアントデバイス234との間で伝達されるデータを受け付け、当該データの少なくとも一部を第一TDPシステム210
1へ提供するように構成される。あるいは、
図2Bに示されるように、第一TDPシステム210
1は、クライアントデバイス234とともにファイヤウォール236の後段に配置されうる。
【0041】
本開示における一実施形態においては、ネットワークインターフェース238は、ネットワークトラフィックに関連付けられたオブジェクトの受け付けと第一TDPシステム210
1への転送が可能である。ネットワークインターフェース238は、オブジェクト全体あるいはオブジェクト内の特定のコンテンツ(フローのセットの一部である少なくとも一つのファイル、パケットペイロードなど)を提供しうる。図示を省略するが、実施形態によっては、ネットワークインターフェース238は、第一TDPシステム210
1内に収容されうる。
【0042】
本開示における一実施形態においては、ネットワークインターフェース238は、さらにクライアントデバイス234宛てのネットワークトラフィックからメタデータを取得するように構成されている。一実施形態においては、当該メタデータの少なくとも一部は、プロトコル、アプリケーション種別などの情報を判断するために使用されうる。当該情報は、第一TDPシステム210
1内のロジックによって、少なくとも一つの具体的なソフトウェアプロファイルを判断するために使用されうる。当該少なくとも一つのソフトウェアプロファイルは、後述するように動的分析エンジン270の一部として選択あるいは構成される少なくとも一つの仮想マシンにおけるランタイム環境の選択と構成の少なくとも一方を行なうために使用される。しかしながら、別実施形態においては、「合致した」脆弱性シグネチャが仮想マシンの構成に使用されうる。これにより、当該合致した脆弱性シグネチャに関連付けられた特定の脆弱性を有する少なくとも一つのソフトウェアプロファイル(あるいは対応する少なくとも一つのソフトウェアイメージ)が特定される。当該少なくとも一つのソフトウェアプロファイルは、ストレージデバイス265から対応するソフトウェアイメージをフェッチするために、同じソフトウェアアプリケーションの別バージョンにディレクトされうる。
【0043】
第一TDPシステム210
1が専用のアプライアンスやコンピュータシステムとして実現される全ての実施形態については、ネットワークインターフェース238は、当該アプライアンスやコンピュータシステムに統合されたアセンブリを含みうる。当該コンピュータシステムに統合されたアセンブリは、通信ネットワーク230に接続するためのネットワークインターフェースカードおよび関連するロジック(不図示)を含む。当該接続は、ファイヤウォール236を通過するネットワークトラフィックを絶え間なく「タップ」し、当該ネットワークトラフィックの少なくとも一部の複製と当該ネットワークトラフィックの少なくとも一部自体を静的分析エンジン250へ提供するために行なわれる。別実施形態においては、ネットワークインターフェース238は、通信経路(SPANポートを備えうるファイヤウォール236、ルータ、スイッチなどのネットワーク電子デバイスなど)上の中間デバイスに統合されてもよいし、適当な市販のネットワークタップのようなスタンドアロンのコンポーネントでもよい。仮想環境においては、仮想ネットワークからファイルを複製するために仮想タップ(vTAP)が使用されうる。
【0044】
図2Aにさらに示されるように、第一TDPシステム210
1は、静的分析エンジン250、データベース255、スケジューラ260、ストレージデバイス265、動的分析エンジン270、オプション分類ロジック285、および表示ロジック290を備えている。分類ロジック285の機能は、表示ロジック290に統合されうる。この場合、表示ロジック290は、優先付けロジック286とタグイメージ生成ロジック288の少なくとも一方とともに構成されうる。
【0045】
幾つかの実施形態においては、
図2Aと
図2Bに示されるように、静的分析エンジン250は、少なくとも一つのソフトウェアモジュールを含みうる。当該ソフトウェアモジュールは、少なくとも一つのプロセッサによって実行されると、特定のオブジェクトに対してマルチレベルの静的スキャン(すなわち、IPSロジック120によるエクスプロイトシグネチャチェックと脆弱性シグネチャチェックの少なくとも一方)を行なう。このようなシグネチャチェック動作は、少なくとも一つの非一時的な記憶媒体(シグネチャデータベース251など)から予め保存されたシグネチャへのアクセスを伴いうる。静的分析エンジン250と動的分析エンジン270は、少なくとも一つのソフトウェアモジュールでありうる。当該ソフトウェアモジュールは、同じプロセッサによって実行されてもよいし、異なる複数のプロセッサによって実行されてもよい。後者の場合、当該複数のプロセッサは、プロセッサコアが異なる同じプロセッサパッケージ内に配置されてもよいし、専用の通信リンクなどによって通信可能に結合されたリモートの場所(地理的に離れた場所でもよい)に配置されてもよいし、ネットワークに配置されてもよい。
【0046】
一般に、
図2Aに示されるように、静的分析エンジン250は、ネットワークトラフィックから少なくとも一つのオブジェクトを受け付けるために通信可能に結合されている。当該オブジェクト同士の関連性の有無は問わない。例えば、あるオブジェクトは、ネットワーク230を通じて転送されるフローとして動作する一連のHTTPパケットでありうる。静的分析エンジン250は、IPSロジック120を備えている。IPSロジック120は、エクスプロイトシグネチャを用い、既知のエクスプロイトについて各オブジェクトを分析するとともに、脆弱性シグネチャを用い、プロトコルアクティビティについて各オブジェクトを分析する。例えば、IPSロジック120内のエクスプロイトマッチングロジック252は、エクスプロイトシグネチャチェックを行なう。当該チェックは、シグネチャデータベース251からの少なくとも一つの予め保存されたエクスプロイトシグネチャ(予め構成あるいは決定された容疑オブジェクトに対する攻撃パターン)の比較を伴いうる。同様に、IPSロジック120内のシグネチャマッチングロジック253は、脆弱性シグネチャチェックを行なう。当該チェックは、利用可能な通信プロトコル(HTTP、TCPなど)に定められたメッセージングプラクティスにおける異変を発見するプロセスを伴いうる。一例として、HTTPメッセージは、当該プロトコルにおいて定められた特定のメッセージフォーマット(異常コマンドなど)に対するコンプライアンスを決定するために分析されうる。また、コンプライアンスをさらに判断するために、HTTPメッセージのペイロードパラメータが分析されうる。
【0047】
エクスプロイトシグネチャチェックと脆弱性シグネチャチェックの少なくとも一方の間に合致が検出される(分析中のオブジェクトがエクスプロイトであると示唆する特性を有している)と、IPSロジック120は、IPSベースの結果140をデータベース255への保存のためにアップロードするように構成されうる。当該結果140は、(1)容疑オブジェクト(既知であれば)の具体的な名前やファミリなどのエクスプロイト識別子、(2)容疑オブジェクトのソースのユニフォームリソースロケータ(URL)、インターネットプロトコル(IP)アドレスなどのソースアドレス、(3)分析時刻、(4)容疑エクスプロイトによって行なわれうると予測される異常活動に関連付けられた情報、(5)ネットワークトラフィックに適用可能なプロトコルからの予測される通信の逸脱に関する情報、および(6)当該種のエクスプロイトに対して推奨される救済技術の少なくとも一つを含みうるが、これらに限定あるいは制限されるものではない。IPSベースの結果140は、後述するように、分類ロジック285と表示ロジック290の少なくとも一方によってアクセス可能でありうる。
【0048】
また、IPSロジック120は、容疑オブジェクトを動的分析エンジン270内の仮想実行ロジック150に転送する。動的分析エンジン270は、容疑オブジェクトのコンテンツを分析することにより、IPSロジック120よりも詳細な分析を提供するように構成される。これにより、当該容疑オブジェクトがエクスプロイトであるかを実証する。加えて、本開示における一実施形態においては、動的分析エンジン270内の仮想処理後に容疑オブジェクトに対応して保存されたIPSベースの結果140のロケーティングに使用されるタグ値が、容疑オブジェクトに付与または関連付けされうる。例えば、タグ値は、アドレス、インデックス番号などでありうる。タグ値は、容疑オブジェクトから分離されてもよいし、当該容疑オブジェクト自体の内部(ヘッダ部分やペイロードなどの内部)に意図的に配置されてもよい。
【0049】
より具体的には、静的スキャニングの完了後、IPSロジック120は、仮想マシン(VM)275
1〜275
M(M>1)を用いてより詳細な分析を行なうために、容疑オブジェクトを動的分析エンジン270へ提供する。例えば、動的分析エンジン270は、仮想マシンを備えている相手デバイスによる送信と受信の少なくとも一方をシミュレートしうる。勿論、オブジェクトがエクスプロイトであるとの疑いがなければ、IPSロジック120は、単にIPSベースの結果140をデータベース225内に保存し、当該オブジェクトが無害であることを示せばよい。
【0050】
一実施形態においては、仮想実行環境272における少なくとも一つの仮想マシン275
1〜275
Mは、IPSロジック120によって行なわれるエクスプロイトシグネチャチェックと脆弱性シグネチャチェックの結果に基づいて構成されうる。例えば、未知の脆弱性については、仮想マシン275
1〜275
Mは、ストレージデバイス265内に保存されたソフトウェアイメージに対応する全てのソフトウェアプロファイルで構成されうる。あるいは、仮想マシン275
1〜275
Mは、普及しているソフトウェア構成、特定の企業ネットワーク内の電子デバイスによって使用されるソフトウェア構成、あるいは処理されるオブジェクトに必要とされる環境に基づいて構成されうる。当該環境は、ウェブブラウザアプリケーションやPDFリーダアプリケーションなどのソフトウェアを含みうる。しかしながら、脆弱性シグネチャチェック中に合致が得られた後に生じる既知の脆弱性については、仮想マシン275
1〜275
Mは、脆弱性を有するソフトウェアに関連付けられたソフトウェアプロファイルに対してより狭く構成されうる。
【0051】
第一の例として、容疑オブジェクトが特定の脆弱性シグネチャと合致することが検出されると、スケジューラ260は、(1)どの脆弱性シグネチャがタグ付けされたか、(2)脆弱性がサーバ側のものであるのかクライアント側のものであるのか、(3)タグ付けされた脆弱性シグネチャに関連付けられた脆弱性を有するソフトウェアにどのソフトウェアイメージが関連付けられているのか、の少なくとも一つを判断する。その後、当該ソフトウェアイメージをフェッチするために、少なくとも一つのソフトウェアプロファイルがスケジューラによって選択される。当該ソフトウェアイメージは、仮想マシン275
1を構成するためのものである。このような個別必要性に応じた選択スキームは、合致した(タグ付けされた)ソフトウェア脆弱性を考慮していないソフトウェアの仮想マシン構成を回避する。
【0052】
第二の例として、スケジューラ260は、シグネチャ合致ロジック253によって特定された容疑オブジェクトがエクスプロイトであることを実証することを目的とした様々なソフトウェアバージョンの同時仮想実行のために、複数の仮想マシン275
1〜275
Mを構成しうる。
【0053】
勿論、上記の仮想マシン構成は、スケジューラ260以外のロジックによって取り扱われうる。例えば、図示を省略するが、静的分析エンジン250は、構成ロジックを含みうる。当該構成ロジックは、(1)どの脆弱性シグネチャがタグ付けされたか、(2)脆弱性がサーバ側のものであるのかクライアント側のものであるのか、(3)タグ付けされた脆弱性シグネチャに関連付けられた脆弱性を有するソフトウェアにどのソフトウェアイメージが関連付けられているのか、の少なくとも一つを判断するように構成される。当該構成ロジックは、上記の仮想マシン構成を取り扱うために、スケジューラ260と動的分析エンジン270の少なくとも一方に仮想マシン構成情報を送信しうる。
【0054】
本開示における一実施形態においては、動的分析エンジン270は、オブジェクトの種別により予期されるランタイム環境内で分析下にあるオブジェクトに関連付けられたコンテンツの受信と実行をシミュレートするために、少なくとも一つの仮想マシン275
1〜275
Mを実行するように構成される。例えば、動的分析エンジン270は、容疑オブジェクトをリプレイし、リプレイされたデータフローを仮想マシン275
1〜275
Mの少なくとも一つに提供するプロトコルシーケンスリプレイヤ(リプレイロジック)280を含みうる。あるいは、動的分析エンジン270は、仮想マシン275
1〜275
Mの少なくとも一つによる仮想処理のためにデータフローに内蔵されたオブジェクトを抽出するオブジェクト抽出ロジック282を含みうる。当該プロトコルシーケンスリプレイヤは、米国特許8375444号明細書に記載されており、その全ての内容は、ここに参照として援用される。
【0055】
例えば、リプレイロジック280は、容疑オブジェクトに関連付けられたパケットを提供し(場合によってはIPアドレスなどを変更し)、当該パケットに応じて仮想実行環境272によって生成された戻りネットワークトラフィックと同期化するように構成されうる。よって、リプレイロジック280は、当該戻りネットワークトラフィックを抑制(破棄するなど)しうる。これにより、当該戻りネットワークトラフィックは、通信ネットワーク230へ送信されない。本開示における一実施形態においては、TCPシーケンスやUDPシーケンスのようなフローである特定のオブジェクトについて、リプレイロジック280は、TCP接続やUDPセッションを介してパケットを仮想実行環境272へ送ることによって、データパケットをリプレイしうる。また、プロトコルシーケンスリプレイロジック280は、TCP接続やUDPセッションを終了することにより、戻りネットワークトラフィックを同期化する。
【0056】
さらに
図2Aに示されるように、動的分析ロジック270内の監視ロジック276は、エクスプロイトを示す異常あるいは予期せぬ活動を検出するために、少なくとも一つの仮想マシン275
1〜275
Mによって分析中のコンテンツの挙動を監視するように構成されうる。当該コンテンツが悪意ある活動に関連付けられていると判断されると、スコア判定ロジック278とともに動作する監視ロジック276は、仮想マシンベースの結果160を分類ロジック285とデータベース255の少なくとも転送しうる。仮想マシンベースの結果160の例としては、計算されたスコア、検出された悪意ある挙動に関連付けられた情報、検出された容疑オブジェクトによる悪意ある活動に関連付けられた情報などが挙げられる。タグ値が使用される場合は、仮想マシンベースの結果160の一部として提供されうる。
【0057】
本開示における一実施形態においては、スコア決定ロジック278は、容疑オブジェクトがエクスプロイトである確率(あるいは確かさのレベル)を決定するために使用される少なくとも一つのソフトウェアモジュールを備えている。スコア判定ロジック278は、危険性のあるエクスプロイトの脅威を分類する値(「スコア」と称する)を生成するように構成される。勿論、スコアは、同じ容疑オブジェクトに関連付けられた別のコンテンツの分析によって決定されたスコアを数学的に組み合わせることにより、まとめて容疑オブジェクトに付与されうる。これにより、当該容疑オブジェクトに係る全体スコアが取得される。その後、容疑オブジェクトとスコアの少なくとも一方が、優先付けに使用されるために分類ロジック285へ転送される。
【0058】
一般に、分類ロジック285は、仮想マシンベースの結果160を受け付けるように構成されうる。本開示における一実施形態においては、スコアの少なくとも一部は、容疑オブジェクトがエクスプロイトであると仮想実行ロジック150が実証したかを判断するために使用されうる。容疑オブジェクト130がエクスプロイトの特徴を有していることが仮想実行ロジック150によって実証されていないことをスコアが表している場合、仮想マシンベースの結果160の少なくとも一部は、非実証済みエクスプロイト情報190を生成するために、対応するIPSベースの結果140と組み合わされうる。非実証済みエクスプロイト情報190は、データベース255に保存される。
【0059】
しかしながら、容疑オブジェクト130がエクスプロイトであると仮想実行ロジック150によって実証されたと当該スコアが表している場合、結合されたIPSベースの結果140と仮想マシンベースの結果160の少なくとも一方は、分類ロジック285によって変更され、続いて実証済みエクスプロイト情報195の少なくとも一部として保存されうる。換言すると、データベース255とともに動作する分類ロジック285は、実証済みエクスプロイトに関連付けられたエクスプロイト情報の表示の優先付けを担当しうる。これにより、表示される実証済みエクスプロイト情報に係る順序や位置の変更、あるいは表示ロジック290によって表示順序や位置の変更に使用される実証済みエクスプロイト情報への情報の追加、特定の実証済みエクスプロイト情報を提供するテキストに使用されるフォント種別(色、サイズ、書体、スタイル、エフェクトなどの少なくとも一つ)の変更、各実証済みエクスプロイトに係る実証済みエクスプロイト情報の近傍への少なくとも一つの画像の配置などを、分類ロジック285に行なわせる。
【0060】
スコアと組み合わせて、あるいはスコアとは個別に使用される他のパラメータが、容疑オブジェクトと関連付けられたエクスプロイト情報の表示を強調するのか、およびどの程度強調するのかの少なくとも一方を判断するために使用あるいは依拠されてもよいことは勿論である。
【0061】
その後、非実証済みエクスプロイト情報190とともに、実証済みエクスプロイト情報195がデータベース255に保存され、表示ロジック290によるアクセスが可能になる。
【0062】
より具体的には、本開示における一実施形態においては、分類ロジック285は、優先付けロジック286とタグ画像生成ロジック288を備えている。本開示における一実施形態においては、優先付けロジック286は、少なくとも一つの因子に基づいて、実証済みエクスプロイトに関連付けられたエクスプロイト情報の変更(変更、表示コマンドの関連付けなど)を行なうように構成されうる。当該因子は、(1)オブジェクトに関連付けられたスコア、(2)オブジェクトのソース、(3)別の容疑オブジェクトにおいて繰り返し検出された同じエクスプロイトなどを含む。この変更は、エクスプロイト情報の分類と実証済みエクスプロイト情報195としての保存を伴う。実証済みエクスプロイト情報195は、表示ロジック290によりアクセスされると、実証済みエクスプロイトに関連付けられたエクスプロイト情報を、表示画面上あるいは表示画像内(特定のウインドウや実証済みエクスプロイトを列挙する画面内、実証済みエクスプロイトと非実証済みエクスプロイトのリスト内における特定の順序など)に配置する。
【0063】
あるいは、表示ロジック290は、分類ロジック285内での展開に代えて、優先付けロジック286とタグ画像生成ロジック288の少なくとも一方に関連付けられた機能の少なくとも一部によって実現されうることは勿論である。よって、表示ロジック290は、分類ロジックにより受け付けられた情報に応じて、実証済みエクスプロイトに関連付けられた情報を変更するように構成されうる。
【0064】
タグ画像生成ロジック288は、タグ画像(不図示)を生成するために優先付けロジック286との組合せで動作するように構成されうる。当該タグ画像は、表示に供される容疑オブジェクトに関連付けられた実証済みエクスプロイト情報の一部に含まれる。タグ画像は、実証済みエクスプロイト(すなわち、IPSロジック120によって検出された容疑エクスプロイトであって、その存在が仮想実行ロジック150によって実証されたもの)の存在を表す他の視覚的表現を提供するために使用される。
【0065】
TDPシステム210
1〜210
3によって行なわれる静的スキャン動作に加えてあるいは代えて、エクスプロイトシグネチャチェックと脆弱性シグネチャチェックの少なくとも一方を実行するために、クラウドコンピューティングサービス240がIPSロジック120によって実施されうることは勿論である。これに加えてあるいは代えて、本開示における分析下にあるオブジェクト内のコンテンツの仮想実行を行なうために、クラウドコンピューティングサービス240が仮想実行ロジック150によって実施されうることは勿論である。表示ロジック290は、実証済みエクスプロイトと非実証済みエクスプロイトの少なくとも一方に関連付けられたエクスプロイト情報を、グラフィックに、あるいはクラウドコンピューティングサービス240からダウンロードされた少なくとも一つのページを通じて表示させる。クラウドコンピューティングサービス240を通じて取得された結果の表示は、クライアントデバイスあるいはクライアントデバイス上で動作中のアプリケーションで行なわれる。本実施形態によれば、TDPシステム210
1は、クラウドコンピューティングサービス240と情報をやり取りするための安全な通信を確保できる。
【0066】
C.一般的なアーキテクチャ(第二実施形態)
図2Bに示されるように、第一TDPシステム210
1は、通信ネットワーク230とともにクライアントデバイス234にも結合されうる。
図2Aの実施形態とは異なり、第一TDP210
1は、インターフェースユニット295を備えている。インターフェースユニット295は、通信ネットワーク230上の信号を静的分析エンジン250または分類ロジック285へ送る。動的分析エンジン270は、クラウドコンピューティングサービス240に配置される。よって、ネットワークトラフィックから静的分析のために取得されるオブジェクトは、通信経路296を介して静的分析エンジン250へ転送される。容疑オブジェクトは、経路297を介してクラウドコンピューティングサービス240内の動的分析エンジン270へ転送されうる。同様に、少なくとも「疑わしい」と判断されなかったオブジェクトは、経路297を介して返送され、続いてクライアントデバイス234へ転送されうる。動的分析エンジン270の結果(エクスプロイト情報など)は、優先付けとタグ付けのために経路298を介して転送されうる。当該優先付けとタグ付けは、続いて表示ロジック290に使用されるためのデータベース255への保存前に行なわれる。
【0067】
D.TDPシステムのロジックレイアウト例
図3には、
図2Aと
図2Bに示されたTDPシステム210
1と関連付けられたロジックのブロック図の例が示されている。TDPシステム210
1は、少なくとも一つのプロセッサ300を備えている。プロセッサ300は、第一送信媒体320を介して通信インターフェースロジック310と結合されている。通信インターフェースロジック310は、
図2Aと
図2Bにおける他のTDPシステム210
1〜210
3および管理システム220との通信を可能にする。本開示における一実施形態においては、通信インターフェースロジック310は、少なくとも一つの有線コネクタ用ポートを含む物理インターフェースによって実現されうる。
【0068】
これに加えてあるいは代えて、通信インターフェースロジック310は、他の電子デバイスとの無線通信をサポートしている少なくとも一つの無線ユニットによって実現されうる。
【0069】
少なくとも一つのプロセッサ300は、送信媒体325を介してさらに固定ストレージ330と結合されている。本開示における一実施形態においては、固定ストレージ330は、(1)第一分析ロジック250(IPSロジックなど)を含む静的分析エンジン250、(2)仮想実行ロジック272、監視ロジック276、スコア決定ロジック278を含む(リレーとオブジェクト抽出ロジック280、282をさらに含んでもよい)動的分析エンジン270、(3)優先付けロジック286とタグ画像生成ロジック288を含む分類ロジック285、および(4)表示ロジック290を含みうる。ハードウェアによって実現される場合、これらのロジックユニットの少なくとも一つは、相互独立して実現されうることは勿論である。
【0070】
IPSロジック120は、各到来オブジェクトに対して第一静的分析を行なう少なくとも一つのソフトウェアモジュールを備えている。上述のように、この分析においては、各到来オブジェクトに対して少なくともエクスプロイトシグネチャチェックと脆弱性シグネチャチェックを実施し、当該オブジェクトの特性がエクスプロイトであることを示すものが存在するかを判断する。存在しない場合、当該オブジェクトに対する分析は終了されうる。あるいは、当該オブジェクトは、非リアルタイムの法的レビューに供されうる。少なくとも一つの容疑オブジェクトがエクスプロイトであることを示す特性を有していると確認されると、IPSロジック120は、当該少なくとも一つの容疑オブジェクトを仮想実行ロジック150に提供する。タグ値が使用される場合、当該タグ値は、当該容疑オブジェクトに添付(あるいは関連付け)されうる。これにより、上述のように、当該容疑オブジェクトに係るIPSベースの結果140の保存場所が特定される。当該IPSベースの結果140は、分類ロジック285によって以降のアクセスを受けるために、少なくとも一部がデータベースとして動作するデータストア350にアップロードされる。
【0071】
仮想実行環境272は、容疑オブジェクトに対して仮想マシンを用いたより詳細かつ動的なリアルタイム分析を行なうために使用される少なくとも一つのソフトウェアモジュールを備えている。より具体的には、仮想実行環境272、プロトコルシーケンスリプレイロジック280、およびオブジェクト抽出ロジック282の少なくとも一つは、少なくとも一つの仮想マシンを実行するように構成されている。当該仮想マシンは、容疑オブジェクトに関連付けられたコンテンツの受信と実行をシミュレートすることによって当該コンテンツを仮想処理し、少なくとも一つのエクスプロイトの存在を判定する。さらに、監視ロジック276は、特定のソフトウェアで構成された仮想マシンによって、合致を得たエクスプロイトや脆弱性により推定的に標的を定められた異常な挙動と特徴をリアルタイムで監視する(さらにログを取ってもよい)。要するに、監視ロジック276は、同じソフトウェアや特徴構成を有する実際の電子デバイスに対して容疑オブジェクトが及ぼす虞のある影響を特定する。そのような影響の例としては、異常なネットワーク送信、動作の異常な変化などが挙げられる。
【0072】
その後、仮想実行されたコンテンツの観察された挙動に基づき、監視ロジック276は、当該コンテンツが少なくとも一つのエクスプロイトに関連付けられているかを判断しうる。そして、観測された異常挙動の深刻度とエクスプロイトに起因する異常挙動の可能性の少なくとも一方が、スコア決定ロジック278によって付与される「スコア」として評価および反映される。その結果、これらのロジックは、実証済みエクスプロイトに関連付けられた情報を強調するために分類ロジック285によって使用されるための仮想マシンベースの結果160を一括出力する。
【0073】
優先付けロジック286は、実証済みエクスプロイトに関連付けられた情報(すなわち実証済みエクスプロイト情報195)を強調するために使用される少なくとも一つのソフトウェアモジュールを備えている。例えば、優先付けロジック286は、実証済みエクスプロイトを示すエクスプロイト情報により高い優先度を付与しうる。当該優先度は、表示順序や表示場所を決定するために表示ロジック290によって使用されうる。また、優先付けロジック286は、実証済みエクスプロイト情報の表示に使用されるフォント(色、サイズ、書体、スタイル、エフェクトの少なくとも一つ)を変更するように構成されうる。または、優先付けロジック286は、タグ画像生成ロジック288によって対応するエクスプロイト情報の近傍に提供される少なくとも一つの画像の配置を制御するように構成されうる。
【0074】
上記の例においては、少なくとも一つのプロセッサ300は、表示ロジック290を起動しうる。表示ロジック290は、TDPシステム2101によって検出された実証エクスプロイトと非実証エクスプロイトの少なくとも一方の詳細なサマリを提示するための少なくとも一つの画面表示を生成する。本開示における一実施形態においては、実証済みエクスプロイトに関連付けられた情報(実証済みエクスプロイト情報195)は、表示画面の第一領域に提示されうる。他方、非実証済みエクスプロイトに関連付けられた情報(非実証済みエクスプロイト情報190)は、当該表示画面の第二領域に提示されうる。別例として、実証済みエクスプロイト情報195は、IPSロジックにより検出された全エクスプロイトのリストのトップエントリに提示されうる。他方、非実証済みエクスプロイト情報190は、それ以降に提示されうる。別例として、実証済みエクスプロイト情報195の少なくとも一部は、非実証済みエクスプロイト情報190を提示するために使用されるフォントとは異なるフォント(異なる書体、色、太字や斜字などのスタイル、下線や網掛けなどのエフェクトなど)で提示されうる。さらに別例として、容疑オブジェクトに関連付けられた非実証済みエクスプロイト情報190ではなく、実証済みエクスプロイト情報195の隣にタグ画像が配置されうる。
【0075】
E.検出されたエクスプロイトの表示および優先付け
図4には、脅威検出および防止プロセスを例示するフローチャートの例が示されている。当該プロセスは、IPSロジックにより検出され、仮想実行環境によって実証された容疑オブジェクトに関連付けられた強調するレポートを生成する。オブジェクトを受け付けると、TDPシステムは、当該オブジェクトに対して第一静的分析動作を行なう(ブロック400)。第一静的分析動作は、IPSロジックによるエクスプロイトシグネチャチェックと脆弱性シグネチャチェックの少なくとも一方を含みうる。これにより、分析対象のオブジェクトの特性がエクスプロイトであることを示しているかが判断される。容疑オブジェクトが少なくとも一つの容疑エクスプロイトの特性を有しうると判断されると、当該オブジェクトは、仮想マシンベースの分析のためにタグ付けされ、容疑オブジェクトと容疑エクスプロイトの少なくとも一方に関連付けられた情報(IPSベースの結果)が、以降のアクセスのために保存される(ブロック405と410)。
【0076】
図示されていないが、容疑オブジェクトが容疑エクスプロイトの特性を有していると判定されると、IPSロジックは、当該オブジェクトが標的のクライアントデバイスへ向かうのを阻止するように構成されうる。但し、検出漏れによるエラーを軽減するために、阻止は仮想マシンベースの分析が完了するまで遅延されうる。このブロック機能は、ネットワーク管理者によって容疑エクスプロイトの深刻度や種別、所定期間内におけるこの種のエクスプロイトの出現数などに基づいて調整されうる。また、さらなるエクスプロイト分析の実施に先立ち、IPSロジックからの出力時に必要に応じてタグ値が容疑オブジェクトに添付(あるいは関連付け)されうる。これにより、当該容疑オブジェクトに係るIPSベースの結果は、当該オブジェクトに係る以降の仮想マシンベースの結果に関連付けされうる。
【0077】
当該容疑オブジェクトに対するIPSベースの分析が完了した後、当該容疑オブジェクトのコンテンツは、仮想マシンベースの分析に供されうる(ブロック415と420)。仮想マシンベースの分析結果(仮想マシンベースの結果)は、以降のレビューのために提供される(ブロック425)。本開示における一実施形態においては、分類ロジックが当該レビューを行なう。但し、動的分析エンジン内のロジックが当該レビューを行なってもよい。
【0078】
通常は、仮想マシンベースの分析によって容疑オブジェクトがエクスプロイトであることを実証できない場合、エクスプロイトが検出されなかったことを示すスコアが付与されうる(ブロック430)。この場合、容疑オブジェクトに対する仮想マシンベースの分析中に生成された情報が、対応するIPSベースの結果とともに、非実証済みエクスプロイト情報の一部として保存される(ブロック435)。しかしながら、容疑オブジェクトがエクスプロイトであることを、当該オブジェクトの仮想実行中における監視対象の挙動が示した場合、「実証された」少なくとも一つのエクスプロイトに係る該当性と脅威レベルの少なくとも一方を表すスコアが付与される。
【0079】
本開示における一実施形態においては、分類ロジックは、実証済みエクスプロイトに関連付けられたIPSベースの結果を取得するように構成されうる。ブロック440と445に例示されるように、IPSベースの結果から得られる情報の少なくとも一部と仮想マシンベースの結果が、顕著に表示(強調)されうる。強調の仕方は、以下のものを含みうる。(1)実証済みエクスプロイトに係るエクスプロイト情報に対して、非実証済みエクスプロイトに関連付けられたエクスプロイト情報とは異なる特定の表示位置を付与する。(2)実証済みエクスプロイトに関連付けられたエクスプロイト情報の外見(フォント書体、色、スタイルなど)を変更することにより、非実証済みエクスプロイトに関連付けられたエクスプロイト情報は異なる外見を有する。(3)実証された容疑オブジェクトのみに関連付けられたエクスプロイト情報の近傍への少なくとも一つの画像の配置を制御する。他の表示調節も用いられうる。このような強調が行なわれることにより、実証済みエクスプロイトに関連付けられたエクスプロイト情報を、非実証済みエクスプロイトに関連付けられたエクスプロイト情報と視覚的に異ならせる。
【0080】
その後、(強調された)実証済みエクスプロイト情報は、保存のためにデータベースにアップロードされ、表示ロジックによりレンダリングのためにアクセス可能となる(ブロック450と455)。
【0081】
F.検出された悪意あるオブジェクトの表示画面
図5Aには、第一ユーザインターフェース表示画面500の実施形態例が示されている。第一ユーザインターフェース表示画面500は、
図2Aと
図2Bの表示ロジックにより作成され、インタラクティブなダッシュボードを提供する。表示ロジックによりレンダリングされた表示画面500は、複数の表示領域510、530を備えている。複数の表示領域510、530は、所定期間内にTDPシステムによって発見されなかったエクスプロイトに係る情報を表示する。複数の強調技術が表示画面500、545に示されている。特定の表示に対し、少なくとも一つの強調技術が用いられうる。
【0082】
より具体的には、本開示における一実施形態においては、実証済みエクスプロイトと非実証済みエクスプロイトの少なくとも一方に係る情報を提供する複数のエントリ520
1〜520
R(R>1、本実施形態においてはR=6)を第一領域510が表示する。図示されるように、表示ロジックによってレンダリングされたエントリの各列(例えば5201)は、複数のフィールドを備えている。当該フィールドは、以下に列挙するものの少なくとも一つを含んでいる。(1)容疑オブジェクトに関連付けられたエクスプロイトの名前521、(2)分析下にあるオブジェクトに利用可能なシグネチャパターン522、(3)実証された、あるいは非実証済みエクスプロイトを提供しているソースデバイスに係るアドレス情報(IPアドレスやMACアドレスなど)、(4)脅威スコアに少なくとも部分的に対応する、検出されたエクスプロイトの深刻度524(高、中、低など)、(5)エクスプロイト分析プロセスが行なわれた時刻525、および(6)検出されたエクスプロイトに対する脆弱性が検出されたソフトウェアの名前とバージョン番号の少なくとも一方526。
【0083】
第二領域530は、少なくとも一つの画像とともに構成されうる。当該画像は、実証済みエクスプロイト(すなわち、まずIPSロジックによりエクスプロイトを示す特性を有すると特定され、仮想実行ロジックによりエクスプロイトであると実証されたもの)に係る各エントリに対応する。例えば、
図5Aに示されるように、画像535は、対応する実証済みエクスプロイトに関連付けられた「HTTP Exploit_ID1」という名前の情報の近傍に表示される。実証済みエクスプロイトに関連付けられた「HTTP Exploit_ID2」、「JAVA Exploit_ID1」、および「HTML Exploit_ID1」という名前の情報についても同様の画像が例示されている。
【0084】
実証済みエクスプロイトが存在するという事実のみで強調された深刻度の付与が必要とされるが、実証されたかったエクスプロイトに対して実証済みエクスプロイトよりも高い深刻度を付与される可能性があるという事実のみでは、例示の強調された深刻度が付与されることはない。実証済みエクスプロイトに関連付けられたエクスプロイト情報は、非実証済みエクスプロイトに関連付けられた情報よりも顕著に表示される。これにより、ネットワーク管理者は、より迅速かつ容易に実証済みエクスプロイトを判断でき、検出漏れに伴う管理上および運用上の不利益を抑制できる。
【0085】
強調手法の一例として、エクスプロイト名(HTTP Exploit_ID1、HTTP Exploit_ID2、JAVA Exploit_ID1、およびHTML Exploit_ID1)に関連付けられたフォントは、非実証済みエクスプロイトに係るエクスプロイト名(JAVA Exploit_ID2など)に関連付けられたフォントとは異なるように表示されうる。あるいは、実証済みエクスプロイトに関連付けられた実証済みエクスプロイト情報は、リストの先頭に順序づけられうる(
図5B参照)。また、単一の表示画面は、二つの領域を作成しうる。第一の領域は実証済みエクスプロイトに関連付けられたエクスプロイト情報を含み、第二の領域は非実証済みエクスプロイトに関連付けられたエクスプロイト情報を含む(
図5B参照)。
【0086】
さらに、図示を省略するが、エントリの一部(フィールド521、522、523、524、525、526内の下線を付与されたエントリや「DETAILS」フィールド540)を選択することにより、エクスプロイトと当該エクスプロイトの分析の少なくとも一方に係るより詳細な情報をネットワーク管理者が取得できるようにしうる。
【0087】
例えば、リストされた特定のエクスプロイト521を選択することにより、管理者は、当該エクスプロイトのファミリなどの情報(記録された攻撃、推奨される救済法、標的とされたクライアントデバイスなど)を知ることができる。また、シグネチャ522を選択することにより、管理者は、どのシグネチャ(エクスプロイト、脆弱性など)がIPSによって容疑オブジェクトと合致すると判断されたのかに関する追加情報へのアクセス権を有しうる。シグネチャの更新情報、他のオブジェクトに係る当該シグネチャの検出履歴などの追加情報も提供されうる。
【0088】
同様に、対応するホストアドレス523または深刻度524を選択することにより、管理者は、当該エクスプロイトに対応する容疑オブジェクトのソースの地理的位置、当該容疑オブジェクトを受け付けた中間デバイスのアドレス情報、当該エクスプロイトにより標的とされた特定のネットワーク動作などに係る追加情報を提供されうる。また、ソフトウェア種別526を選択することにより、実証済みエクスプロイトに脆弱性を有する全てのソフトウェア種別のリスト(そのようなエクスプロイトの存在を示す監視対象の異常挙動の映像や画像)がアクセスされうる。
【0089】
図5Bには、
図2Aと
図2Bの表示ロジックにより作成された第二ユーザインターフェース表示画面545の実施形態例が示されている。表示画面545は、インタラクティブなダッシュボードを提供する。表示画面545は、選択された期間にわたるIPS検出分析の結果を表示する複数の領域550、570、580を備えている。
【0090】
図示されているように、第一ユーザインターフェース表示画面500と同様に、第二ユーザインターフェース表示画面545の第一領域550は、実証済みエクスプロイトに係る情報を提供する複数のエントリ560
1〜560
S(S>1、本実施形態はS=4)を表示している。表示ロジックによりレンダリングされた各エントリ(例えば560
1)は、以下に列挙するものの少なくとも一つを含んでいる。(1)実証済みエクスプロイト(エクスプロイトであると実証された容疑オブジェクト)の名前561、(2)エクスプロイトを示す特性を有するものとしてまず特定されたシグネチャ562、(3)検出されたエクスプロイトを提供しているソースデバイスのアドレス情報563(IPアドレスやMACアドレスなど)、(4)脅威スコアに少なくとも部分的に対応する、深刻度564(高、中、低など)、(5)エクスプロイト分析プロセスが行なわれた時刻565、および(6)検出されたエクスプロイトに対する脆弱性が検出されたソフトウェアの名前とバージョン番号の少なくとも一方566。
【0091】
図示されているように、第二領域570が提供されうる。第二領域570は、上述のように、実証済みエクスプロイトに関連付けられた各エントリに対応する画像を含んでいる。
図5Bに例示されるように、画像535は、対応する「HTTP Exploit_ID1」という名前の実証済みエクスプロイトに関連付けられた情報とともに表示される。「HTTP Exploit_ID2」、「JAVA Exploit_ID1」、および「HTML Exploit_ID1」という名前の実証済みエクスプロイトについて、強調された実証済みエクスプロイト情報として同様の画像が例示されている。
【0092】
第三領域580は、「JAVA Exploit_ID2」および「RPC Exploit_ID1」という名前の非実証済みエクスプロイトに関連付けられたエクスプロイト情報を例示している。
【0093】
別実施形態(IPSロジックおよび仮想実行ロジック実証を伴なう第二分析ロジック)
本開示における別実施形態においては、静的分析エンジンは、第一静的分析ロジック(IPSロジックなど)と第二静的分析ロジック(ヒューリスティックエンジンなど)を伴なうように構成されうる。第二静的分析ロジックは、IPSロジックとは独立して動作し、到来オブジェクトのいずれかの特性がエクスプロイトであることを示しているかを判断するように構成される。後述するように、第一静的分析ロジックと第二静的分析ロジックは、並列的にあるいは連携して動作しうる。
【0094】
具体的には、上述のように、第一静的分析エンジン(IPSロジック)は、エクスプロイトを示す特性を有するオブジェクトの第一部分集合を特定するために、到来オブジェクトに対してエクスプロイトシグネチャチェックと脆弱性シグネチャチェックの少なくとも一方を少なくとも行なう。第二静的分析ロジック(ヒューリスティックエンジン)は、同じあるいは異なるオブジェクトを分析するように構成されうる。当該分析は、第一静的分析ロジック(IPSロジック)によって利用されるものとは異なる複数の規則とシグネチャの少なくとも一方に基づきうる。
【0095】
より具体的には、本実施形態においては、容疑オブジェクト(オブジェクトの第一部分集合)を特定するに際して、第一静的分析ロジック(IPSロジック)は、容疑オブジェクト(タグ識別子が付与されているか関連付けられていることが多い)を、
図6Aと
図6Bの実証ロジック150に提供する。当該タグ識別子は、以降「tag_ID1」と称する。Tag_ID1は、容疑オブジェクトが第一静的分析ロジック(IPSロジック)に由来することを他のロジックに示すために使用されうる。
【0096】
第二静的ロジック(ヒューリスティックロジック)は、当該オブジェクトがエクスプロイトでありうることを示す悪意ある活動の可能性を、オブジェクト内の情報の存在、不在、あるいは変更が示しうるかを判断するために、到来オブジェクトを分析するように構成されている。当該判断は、少なくとも一つの「悪意ある識別子」に対応するオブジェクトの特定部分が既知のエクスプロイト、エクスプロイトパターン、あるいはシェルコードパターンに関連付けられた特定のソースアドレスあるいは宛先アドレス(URL、IPアドレス、MACアドレスなど)を含みうるかを判断する第二静的分析ロジック(ヒューリスティックロジック)による動作を伴う。
【0097】
加えて、各容疑オブジェクトとともに、ヒューリスティックロジックは、各容疑オブジェクト630に関連付けられた対応するヒューリスティックベースの結果640をロケートするために使用されるタグ識別子(tag_ID2)提供しうる。よって、tag_ID2は、当該容疑オブジェクトがヒューリスティックロジック620に由来するものであることを他のロジックに示すためにも使用されうる。
【0098】
第一静的分析ロジック(IPSロジック)と第二静的分析ロジックのいずれかが、エクスプロイトを示す特性をどの到来オブジェクトが有しているかを判断した後、容疑オブジェクトは、より詳細な少なくとも一つの仮想マシンを用いる動的分析のために仮想実行ロジックに提供される。当該動的分析は、上記のように構成された少なくとも一つの仮想マシンによる容疑オブジェクトのコンテンツの仮想実行を含みうる。仮想マシンの挙動は、異常あるいは予期せぬ活動を検出するために監視される。
【0099】
第一静的分析ロジック(IPSロジック)と第二静的分析ロジック(ヒューリスティックロジック)は、並列動作しうる。この場合、両ロジックは、同じ容疑オブジェクトに対して予備的エクスプロイト検出分析を行なう。より具体的には、第二静的分析ロジック(ヒューリスティックロジック)は、ネットワークトラフィックから抽出されたオブジェクトに対して分析を行ないうる。当該分析は、IPSロジックによる同じ容疑オブジェクトの分析と同時に(少なくとも部分的に時間が重複して)行なわれる。これにより、IPSロジックによるエクスプロイトの検出不足を示す検出漏れを把握する能力がTDPシステムに与えられる。また、このような並列分析は、エクスプロイトとの関連が高い特定の地理的場所、悪意あるソースと特定済みのIPアドレスなどから到来するオブジェクトに係るネットワークトラフィックの監視を強化するために行なわれうる。
【0100】
第一静的分析ロジック(IPSロジック)と第二静的分析ロジック(ヒューリスティックロジック)は、連携して動作しうることは勿論である。この場合、到来するオブジェクトは、IPSロジックとヒューリスティックロジックのいずれかによって処理されうる。静的分析が第一静的分析ロジック(IPSロジック)と第二静的分析ロジック(ヒューリスティックロジック)のいずれにより行なわれるかの選択制御は、静的分析エンジン内の別の制御ロジックに委ねられうる。当該制御は、分析対象のオブジェクトの種別、ソース、トラフィック状態などに基づきうる。
【0101】
A.一般的な通信フロー
図6Aには、電子デバイス600内の脅威検出および防止の動作フローのブロック図の例が示されている。監視されたネットワークトラフィックに関連付けられた到来オブジェクト110の少なくとも一部は、上述した第一静的分析ロジック(
図1AのIPSロジック120など)により受け付けられうる。IPSロジック120は、到来オブジェクト110の少なくとも一部に対してエクスプロイトシグネチャチェックと脆弱性シグネチャチェックの少なくとも一方を行なうように構成される。
【0102】
到来オブジェクト110の第一部分集合610が「疑わしい」と特定されると(例えば、少なくとも一つの到来オブジェクト110がエクスプロイトシグネチャと脆弱性シグネチャの少なくとも一方と合致すると)、続いてIPSロジック120は、容疑オブジェクトの第一部分集合610を実証ロジック150(仮想実行ロジックなど)に転送する。これらのオブジェクトの各々には、タグ識別子(tag_ID1)が付与され、実証ロジック150に提供されうる。
【0103】
(IPSロジック120から報告ロジック170へ提供される)容疑オブジェクトに関連付けられたIPベースの結果140を続けてロケートするために使用されるのに加え、tag_ID1は、容疑オブジェクト610がIPSロジック120から提供されたことを実証ロジック150と報告ロジック170の少なくとも一方に知らせるために使用されうる。
【0104】
そのような情報は、IPSロジック実証済みエクスプロイトに関連付けられたエクスプロイト情報を特定するために有用でありうる。このエクスプロイト情報は、第二静的分析ロジック620を起源とする実証済みエクスプロイトに関連付けられたエクスプロイト情報とは異なる手法で強調されうる。
【0105】
IPSロジック120と連携してあるいは並列に動作することにより、第二静的分析ロジック620(ヒューリスティックロジックなど)は、エクスプロイトを示す特性を有するオブジェクトの部分集合630を作成するために、オブジェクト110の少なくとも一部に対して別種の静的分析を行なう。よって、並列動作する場合、ヒューリスティックロジック620は、IPSロジック120によっても受信および分析された到来オブジェクト110を受信しうる。IPSロジック120と連携して動作する場合、ヒューリスティックロジック620は、到来オブジェクト110の少なくとも一部を受信しうる。特定の到来オブジェクトがIPSロジック120により受信されるかヒューリスティックロジック620により受信されるかの切替えは、
図6Bに示されるように、TDPシステム2101内におけるスケジューラ260などの別ロジックからの制御信号647を介して切替ロジック645によって行なわれる。
【0106】
IPSロジック120とヒューリスティックロジック620の少なくとも一方によって検出された容疑オブジェクト610と容疑オブジェクト630の少なくとも一方(まとめて「容疑オブジェクト635」と称する)は、実証ロジック150に転送される。実証ロジック150は、容疑オブジェクトのいずれかがエクスプロイトであるかを、オブジェクト635内のコンテンツの仮想処理を通じて実証するように構成されている。この分析による仮想マシンベースの結果650は、上述のように、以降の報告ロジック170による表示目的の使用のために実証ロジック150から出力される。
【0107】
より具体的には、第一静的分析ロジック(IPSロジック120)は、分析されたオブジェクト110のいずれかの特性がエクスプロイトを示しているかを特定するために、エクスプロイトシグネチャチェックと脆弱性シグネチャチェックの少なくとも一方を行なう。分析されたオブジェクト110のいずれかの特性がエクスプロイトを示している場合、IPSロジック120は、容疑オブジェクト610を実証ロジック150に送る。
【0108】
加えて、オブジェクト110の少なくとも一部に対し少なくとも一度のヒューリスティックチェックが行なわれうる。当該チェックは、上述のように、オブジェクトの一部に対する少なくとも一つの悪意ある識別子との対応性を判断するための様々なスキャン動作を含む。IPSロジック120は、エクスプロイトシグネチャチェックと脆弱性シグネチャチェックの少なくとも一方に基づいてオブジェクトを特定するように構成されている。ヒューリスティックチェックは、オブジェクト110の少なくとも一部のより広範な静的分析のために行なわれる。当該分析は、別種のシグネチャや他の静的分析スキームの使用を含んでいる。
【0109】
ヒューリスティックロジック620によるヒューリスティックチェックが行なわれた後、容疑オブジェクトの第二部分集合630が実証ロジック150に提供される。容疑オブジェクトの第二部分集合630は、到来オブジェクト110よりも数が少ない(多くの場合、顕著に少ない)。
【0110】
容疑オブジェクト610と容疑オブジェクト630の少なくとも一方の各々におけるコンテンツの仮想処理の後、特定のオブジェクトがエクスプロイトであると実証され、実証ロジック150は、レポート650(少なくとも一つの表示画面、印刷レポートなど)を生成するために仮想マシンベースの結果650を提供する。仮想マシンベースの結果650は、対応するIPSベースの結果140に基づいて変更されうる。レポート660は、実証済みエクスプロイトに関連付けられたエクスプロイト情報を、非実証済みエクスプロイト(仮想マシンによって非実証済みエクスプロイトの特性を有している容疑オブジェクト)に関連付けられたエクスプロイト情報に対して視覚的に強調するように構成されうる。
【0111】
B.一般的なアーキテクチャ
図7Aには、複数の脅威検知および防止(TDP)システム710
1〜710
N(N>1、例えばN=3)を使用している通信システム700のブロック図の例が示されている。TDPシステム710
1は、静的分析エンジン750が二つの異なる静的分析ロジックを含んでいる以外は、
図2AのTDPシステム210
1と同一である。より具体的には、
図7Aと
図7Bに示されるように、静的分析エンジン750は、少なくとも一つのソフトウェアモジュールを含みうる。当該ソフトウェアモジュールは、少なくとも一つのプロセッサにより実行されると、特定のオブジェクトに対してマルチレベルの静的スキャン(すなわち、IPSロジック120によるエクスプロイトおよび脆弱性のシグネチャチェックとヒューリスティックロジック620によるヒューリスティックチェック)を行なう。
【0112】
IPSロジック120と並列にあるいは連携して動作することにより、ヒューリスティックロジック620は、分析中のオブジェクトに対して少なくとも一度のヒューリスティックチェックを行なうように構成されうる。当該ヒューリスティックチェックは、上述したIPSロジック120によるエクスプロイトチェックや脆弱性チェックよりもより広範な分析とされうる。
【0113】
ヒューリスティックロジック620により行なわれたヒューリスティックチェックの結果に基づき、スコア決定ロジック720は、分析されたオブジェクトの特性がエクスプロイトを示している可能性(あるいは確度レベル)を判断する。換言すると、スコア決定ロジック720は、分析されたオブジェクトの各々によって特徴づけられる容疑エクスプロイトの脅威レベルを分類する値を生成するように構成される。例えば、ヒューリスティックチェックがある種の特性(分析中のオブジェクトがエクスプロイトであることを示唆する)を検出すると、当該オブジェクトは、第一脅威レベルに分類されうる。第一脅威レベルは、当該オブジェクトがエクスプロイトである可能性に対応するスコア(値)によって表されうる(10点のうち3点など)。しかしながら、分析中のオブジェクトがエクスプロイトであるとより強く示唆する複数の特性あるいは別種の特性を当該ヒューリスティックチェックが検出すると、より高いエクスプロイトの存在可能性が検出されたことを示すより高いスコア(10点のうち8点など)がスコア決定ロジック720によって付与されうる。
【0114】
その後、オブジェクトとそれに対応するスコアは、どの容疑オブジェクト(存在すれば)がエクスプロイトであるかを実証するための更なる分析に使用されるために、静的分析エンジン750から動的分析エンジン270へ転送されうる。これに加えてあるいは代えて、上記のスコアは、優先付けに使用されるために分類ロジック785へ提供されうる。
【0115】
より具体的には、静的スキャニングの完了後、上記のオブジェクトは、仮想マシン275
1〜275
M(M>1)を用いた詳細な動的分析のために動的分析エンジン270へ提供されうる。当該オブジェクトの特性がエクスプロイトを示していない場合、ヒューリスティックロジック620は、当該オブジェクトのコンテンツに対するさらなる分析を停止しうる。
【0116】
一般に、動的分析エンジン270からの仮想マシンベースの結果160の受け付けに加え、分類ロジック785は、付与されたスコアを静的分析エンジン750から受け付けるように構成されうる。分類ロジック785は、実証済みエクスプロイトあるいは非実証済みエクスプロイトに付与された全スコアを取得するために、容疑オブジェクトに関連付けられたコンテンツに付与されたスコア同士(静的分析エンジン750と動的分析エンジン270による検出に基づくもの)を数学的に組み合わせるように構成されうる。
【0117】
本開示における一実施形態においては、非実証済みエクスプロイトから実証済みエクスプロイトを特定するために、上記の全スコアの少なくとも一部が使用されうる。また、強調動作(上記のように表示順序に影響を与えうる表示優先度の付与など)のために、スコアの少なくとも一部が使用されうる。しかしながら、エクスプロイトを分類するために、あるいは表示優先度に影響を与えるために、他のパラメータが、エクスプロイトに付与されたスコアと組み合わせて、あるいは当該スコアとは別個に使用されうる。例えば、上記の全スコアは、他のパラメータ(仮想マシンベースの結果に含まれたエクスプロイト情報の一部としてのtag_ID1やtag_ID2の存在)とともに、当該エクスプロイトの表示順序に影響を与えうる。
【0118】
図7Bに示されるように、第一TDPシステム710
1は、通信ネットワーク230と結合されうる。
図2Bに例示されたものと同様に、第一TDPシステム710
1は、通信ネットワーク230上の信号を、静的分析エンジン750または分類ロジック785へ送るインターフェースユニット295を備えている。この場合、動的分析エンジン270は、クラウドコンピューティングサービス240に配置される。
【0119】
C.検出されたエクスプロイトの表示と優先付け
図8Aと
図8Bには、静的分析にIPSロジックとヒューリスティックロジックの少なくとも一方を利用する脅威検出および防止処理を例示するフローチャートの例が示されている。当該プロセスは、IPSロジックまたはヒューリスティックロジックにより検出され、仮想実行環境により実証された容疑オブジェクトに関連付けられた情報を強調するレポートを生成する。なお、IPSロジックとヒューリスティックロジックは、並列動作してもよいし、連係動作してもよい。
【0120】
IPSロジックとヒューリスティックロジックは、検出されたエクスプロイトに対する強化された監視を必要とする因子に基づいて、並列動作(あるいは連係動作)するように構成されうる。例えば、エクスプロイトである可能性が高い特定の地理的場所あるいは悪意あるソースとして特定されている特定のIPアドレスを起源とするオブジェクトの量が増える場合がある。並列処理の場合、
図8Aのブロック805〜825とブロック830〜855に関連付けられた動作が並列的に行なわれる。しかしながら、IPSロジックとヒューリスティックロジックは、連係動作しうる。また、特定の政府機関については、エクスプロイトとエクスプロイトの経験履歴の少なくとも一方に対する感度は、追加分析を必要としうる。
【0121】
分析対象のオブジェクトを受信すると、ブロック800に記載のように、TDPシステムは、第一静的分析ロジック(IPSロジック)と第二静的分析ロジック(ヒューリスティックロジック)の少なくとも一方による静的分析が行なわれるべきかの判断を行なう。一実施形態においては、初期状態としてIPSロジックが選択される。
【0122】
選択がなされると、IPSロジックは、当該分析対象のオブジェクトの特性がエクスプロイトを示しているかを判断するために、エクスプロイトシグネチャチェックと脆弱性シグネチャチェックの少なくとも一方を行なう(ブロック805)。当該分析対象のオブジェクトの特性がエクスプロイトを示していると判断されると、容疑オブジェクトとエクスプロイト(IPSベースの結果)の少なくとも一方に関連付けられた情報が、以降のアクセスのために保存される(ブロック810と815)。
【0123】
図示が省略されているが、容疑オブジェクトが容疑エクスプロイトの特性を有していると判断されると、IPSロジックは、当該オブジェクトが標的のクライアントデバイスへ向かうのをブロックするように構成されうる。但し、ブロッキングは、仮想マシンベースの分析が完了するまで延期されうる。このブロック機能は、容疑エクスプロイトの深刻度や種別、所定の期間内におけるこの種のエクスプロイトの出現数などに基づいて、ネットワーク管理者によって調整されうる。また、さらなるエクスプロイト分析に先立ち、
図8Aにおいて破線によって示されるオプションの特徴として、IPSロジックからの出力時にtag_ID1が容疑オブジェクトに添付しうる。これにより、(1)容疑オブジェクトに係るIPSベースの結果が、後続する当該容疑オブジェクトに係る仮想マシンベースの結果と関連付けられ、(2)仮想実行ロジックと分類ロジックの少なくとも一方が、IPSロジックを起源とする容疑オブジェクトを特定できる(ブロック820)。その後、容疑オブジェクトとtag_ID1の少なくとも一方が、以降の分析のために動的分析エンジンに供給される(ブロック825)。
【0124】
これに加えてあるいは代えて、分析対象のオブジェクトの特性がエクスプロイトを示しているかを判断するために、第二静的分析が行なわれうる(ブロック830)。この判断は、少なくとも一度のヒューリスティックチェックを伴いうる。当該ヒューリスティックチェックは、(1)当該オブジェクトが少なくとも一つの悪意ある識別子と特定の関連度を有しているか、あるいは(2)当該オブジェクトに関連付けられたコンテンツの存在、不在、または変更がエクスプロイトの可能性を示しているか、を判断するために行なわれる。当該分析中において、当該オブジェクトがエクスプロイトである可能性を特定するためのスコアが付与されうる(ブロック835)。
【0125】
容疑オブジェクトが仮想マシンベースの分析にタグ付けされた場合(当該付与されたスコアが所定の閾値スコア以上であるとき、そのように判断されうる)、当該スコアを含む容疑オブジェクトと容疑エクスプロイトの少なくとも一方に関連付けられた情報(以降、「ヒューリスティックベースの結果」と称する)は、以降の分類ロジックによるアクセスのために保存されうる(ブロック840、845)。その後、当該容疑オブジェクト(tag_ID2を伴なってもよい)は、以降の分析のために動的分析エンジンに提供される(ブロック850、855)。
【0126】
IPSロジックまたはヒューリスティックロジックによる静的分析が行なわれるかに依らず、当該容疑オブジェクトは、さらなる分析に供されうる。当該分析においては、当該容疑オブジェクトに関連付けられたコンテンツに対して仮想マシンベースの分析が行なわれる。少なくとも一つの仮想マシンによるコンテンツの仮想処理の挙動は、仮想マシンベースの結果を生成する(ブロック860と865)。仮想マシンベースの分析により当該容疑オブジェクトのコンテンツ内にエクスプロイトを検出できなかった場合、エクスプロイトが検出されなかったことを示すスコアが付与されうる。そして、当該仮想マシンベースの結果が、保存されうる(ブロック870と875)。
【0127】
しかしながら、動的分析エンジンが(当該容疑オブジェクト内のコンテンツの仮想処理中に)当該容疑オブジェクトがエクスプロイトを構成していることを実証すると、当該検出されたエクスプロイトの可能性と脅威度の少なくとも一方を表すスコアが、この「実証された」エクスプロイトに付与される。より具体的には、仮想実行ロジックによる以降の当該容疑オブジェクト内のコンテンツの分析中において、当該容疑オブジェクトがエクスプロイトであると判断されると(当該容疑オブジェクト内のコンテンツがエクスプロイトを構成している特定の可能性が判断されると)、当該検出されたエクスプロイトの可能性と脅威度の少なくとも一方を示すスコアが付与される。
【0128】
その後、本開示における一実施形態においては、IPSベースの結果が仮想マシンベースの結果とともに取得される。そして、当該IPSベースの結果と仮想マシンベースの結果より得られた情報の少なくとも一部が、ブロック880と885に例示されるように、顕著に表示(強調)されうる。
【0129】
その後、実証(強調)されたエクスプロイト情報が、保存のためにデータベースにアップロードされる。これにより、当該情報は、レンダリングのために表示ロジックによりアクセス可能となる(ブロック890と895)。
【0130】
上記の記載においては、特定の実施形態例を参照して本発明を説明した。しかしながら、添付の特許請求の範囲に記載されたより広い発明の趣旨から逸脱しなければ、様々な修正および変更がなされうることは明らかである。