(57)【要約】【解決手段】サンプルの悪意についての解析が開示されている。サンプルが実行され、サンプルの実行に関連する１以上のネットワーク活動が記録される。記録されたネットワーク活動は、マルウェアプロファイルと比較される。マルウェアプロファイルは、既知の悪意あるアプリケーションのコピーの実行に関連するネットワーク活動のセットを含む。記録されたネットワーク活動がマルウェアプロファイルと一致したとの判定に少なくとも部分的に基づいて、「悪意ある」との判定が、サンプルに割り当てられる。また、ホストが侵害されたか否かを判定するためのマルウェアプロファイルの利用が開示されている。例えば、ログエントリのセットを解析して、マルウェアプロファイルに対応するエントリを探すことができる。マルウェアプロファイルと一致するエントリのセットを特定することに少なくとも部分的に基づいて、ホストが侵害されたとの判定がなされる。【選択図】図３
2021514501.tif 000002
【特許請求の範囲】
【請求項１】
システムであって、
プロセッサであって、
潜在的に悪意あるサンプルを解析する工程であって、前記サンプルを実行し、前記潜在的に悪意あるサンプルの実行に関連する１以上のネットワーク活動を記録することを含むことによって解析を行う工程と、
前記記録されたネットワーク活動の少なくとも一部をマルウェアプロファイルと比較する工程であって、前記マルウェアプロファイルは、既知の悪意あるアプリケーションの実行中に前記既知の悪意あるアプリケーションによって取られるネットワーク活動のセットを含む、工程と、
前記記録されたネットワーク活動が前記マルウェアプロファイルと一致したとの判定に少なくとも部分的に基づいて、前記潜在的に悪意あるサンプルに、悪意あるとの判定を割り当てる、工程と、を実行するよう構成された、プロセッサと、
前記プロセッサに接続され、前記プロセッサに命令を提供するよう構成されたメモリと、
を備える、システム。
【請求項２】
請求項１に記載のシステムであって、
前記一致判定は、前記マルウェアプロファイルと、前記潜在的に悪意あるサンプルに関連する活動パターンとの間の完全一致を含む、システム。
【請求項３】
請求項１に記載のシステムであって、
前記一致判定は、前記マルウェアプロファイルと、前記潜在的に悪意あるサンプルに関連する活動パターンとの間の曖昧一致を含み、前記マルウェアプロファイル内に含まれる少なくとも１つの属性が、前記活動パターン内の対応する属性と異なる値を有する、システム。
【請求項４】
請求項１に記載のシステムであって、
前記一致判定は、前記マルウェアプロファイルと、前記潜在的に悪意あるサンプルに関連する活動パターンとの間の曖昧一致を含み、前記マルウェアプロファイル内に含まれる少なくとも１つの活動が、前記活動パターン内の対応する活動と異なる順序で起きる、システム。
【請求項５】
請求項１に記載のシステムであって、
前記一致判定は、前記マルウェアプロファイルと、前記潜在的に悪意あるサンプルに関連する活動パターンとの間の曖昧一致を含み、前記活動パターン内に含まれる少なくとも１つの活動が、前記マルウェアプロファイル内に存在しない、システム。
【請求項６】
請求項１に記載のシステムであって、
前記マルウェアプロファイルは、少なくとも部分的には、前記マルウェアプロファイルが閾値未満のフォルスポジティブスコアを有するとの判定がなされた後に生成される、システム。
【請求項７】
システムであって、
プロセッサであって、
マルウェアプロファイルを受信する工程であって、前記マルウェアプロファイルは、前記マルウェアプロファイルに関連する既知の悪意あるアプリケーションのコピーを実行することに関連する１以上の活動のセットを含む、工程と、
前記マルウェアプロファイルと一致するエントリのセットに対する１以上のログのセットを解析する工程と、
前記エントリのセットを前記マルウェアプロファイルと一致するものとして特定することに少なくとも部分的に基づいて、ホストが侵害されたと判定する工程と、を実行するよう構成された、プロセッサと、
前記プロセッサに接続され、前記プロセッサに命令を提供するよう構成されたメモリと、
を備える、システム。
【請求項８】
請求項７に記載のシステムであって、
前記ログのセットは、複数のホストに関連するエントリを含み、前記ログのセットを解析する工程は、前記複数のホストに含まれる各ホストについて、検索を実行する工程を含む、システム。
【請求項９】
請求項７に記載のシステムであって、
前記エントリのセットが前記マルウェアプロファイルと一致すると判定することは、サブシーケンス一致を判定することを含む、システム。
【請求項１０】
請求項７に記載のシステムであって、
前記プロセッサは、さらに、解析のためにサンプルのコピーをセキュリティプラットフォームに送信するよう構成されている、システム。
【請求項１１】
請求項７に記載のシステムであって、
前記プロセッサは、さらに、解析のためにサンプルのコピーをセキュリティプラットフォームに送信するよう構成され、前記マルウェアプロファイルは、前記セキュリティプラットフォームから受信される、システム。
【請求項１２】
請求項７に記載のシステムであって、
前記プロセッサは、さらに、解析のためにサンプルのコピーをセキュリティプラットフォームに送信するよう構成され、前記マルウェアプロファイルは、前記セキュリティプラットフォームから受信され、前記マルウェアプロファイルは、前記サンプルが悪意あるものであると前記セキュリティプラットフォームが判定したことに応答して受信される、システム。
【請求項１３】
請求項７に記載のシステムであって、
前記プロセッサは、さらに、前記ホストが侵害されたとの判定に応答して、是正動作を取るよう構成されている、システム。
【請求項１４】
請求項７に記載のシステムであって、
前記１以上のログのセットを解析する工程は、定期的に実行される、システム。
【請求項１５】
請求項７に記載のシステムであって、
前記１以上のログのセットを解析する工程は、前記マルウェアプロファイルの受信に応答して実行される、システム。
【請求項１６】
請求項１または７に記載のシステムであって、
前記マルウェアプロファイルは、少なくとも部分的には、前記既知の悪意あるアプリケーションの前記実行に関連するネットワーク活動のキャプチャを、前記既知の悪意あるアプリケーションによって取られたネットワーク活動のセットに抽象化することによって生成される、システム。
【請求項１７】
請求項１または７に記載のシステムであって、
前記マルウェアプロファイルは、少なくとも部分的には、前記既知の悪意あるアプリケーションの前記実行に関連するネットワーク活動のキャプチャを、前記既知の悪意あるアプリケーションによって取られたネットワーク活動のセットに抽象化することによって生成され、前記マルウェアプロファイルは、さらに、少なくとも部分的には、前記既知の悪意あるアプリケーションの前記実行と同時に起きるネットワーク活動を除去することによって生成される、システム。
【請求項１８】
請求項１または７に記載のシステムであって、
前記マルウェアプロファイルは、少なくとも部分的には、前記既知の悪意あるアプリケーションの前記実行に関連するネットワーク活動のキャプチャを、前記既知の悪意あるアプリケーションによって取られたネットワーク活動のセットに抽象化することによって生成され、前記マルウェアプロファイルは、さらに、少なくとも部分的には、前記既知の悪意あるアプリケーションの前記実行と同時に起きるネットワーク活動を除去することによって生成され、除去される少なくとも１つのネットワーク活動は、ＮＴＰ活動、ＮＥＴＢＩＯＳ活動、および、ＩＧＭＰ活動、の内の少なくとも１つを含む、システム。
【請求項１９】
請求項１または７に記載のシステムであって、
前記既知の悪意あるアプリケーションによって取られる前記活動のセットに含まれる少なくとも１つの活動は、サービスプロ−ビングを含む、システム。
【請求項２０】
請求項１または７に記載のシステムであって、
前記既知の悪意あるアプリケーションによって取られる前記活動のセットに含まれる少なくとも１つの活動は、サービス妨害活動を含む、システム。
【請求項２１】
請求項１または７に記載のシステムであって、
前記既知の悪意あるアプリケーションによって取られる前記活動のセットに含まれる少なくとも１つの活動は、前記既知の悪意あるアプリケーションによって取られるローカル動作を含む、システム。
【請求項２２】
請求項１または７に記載のシステムであって、
前記マルウェアプロファイルは、マルウェアファミリに対応し、前記既知の悪意あるアプリケーションは、前記マルウェアファミリのメンバーである複数の悪意あるアプリケーションと前記マルウェアプロファイルを共有する、システム。
【発明の詳細な説明】
【背景技術】
【０００１】
マルウェアとは、悪意あるソフトウェア（例えば、様々な敵意のある、侵入的な、および／または、望まれないソフトウェア）に言及するために一般的に用いられる一般用語である。マルウェアは、コード、スクリプト、アクティブコンテンツ、および／または、その他のソフトウェアの形態でありうる。マルウェアの利用例は、コンピュータおよび／またはネットワークの動作を妨害すること、専有情報（例えば、識別情報、金融情報、および／または、知的財産関連情報などの機密情報）を盗むこと、ならびに／もしくは、個人用／専有のコンピュータシステムおよび／またはコンピュータネットワークにアクセスすること、を含む。残念ながら、マルウェアの検出および軽減に役立つ技術が開発される一方で、不正な開発者が、かかる努力を回避する方法を探している。したがって、マルウェアを特定して軽減するための技術の改善が求められ続けている。
【図面の簡単な説明】
【０００２】
以下の詳細な説明と添付の図面において、本発明の様々な実施形態を開示する。
【０００３】
【図１】悪意あるアプリケーション（「マルウェア」）が検出され、害を及ぼすことを防止される環境の一例を示す図。
【０００４】
【図２】データアプライアンスの一実施形態を示す図。
【０００５】
【図３】サンプルを解析するためのシステムに備えられうる論理コンポーネントの一例を示す図。
【０００６】
【図４Ａ】マルウェアプロファイルの例を示す図。
【図４Ｂ】マルウェアプロファイルの例を示す図。
【図４Ｃ】マルウェアプロファイルの例を示す図。
【０００７】
【図５】マルウェアプロファイルを構築するための処理の一例を示す図。
【０００８】
【図６】サンプルが悪意あるものであるか否かを判定するための処理の一例を示す図。
【０００９】
【図７Ａ】データアプライアンスによって記録されたデータのイベントシーケンスを示す図。
【００１０】
【図７Ｂ】図７Ａに示したイベントシーケンスを表現した図。
【００１１】
【図８】マルウェアプロファイルを用いて、侵害されたホストを識別するための処理の一例を示す図。
【発明を実施するための形態】
【００１２】
本発明は、処理、装置、システム、物質の組成、コンピュータ読み取り可能な格納媒体上に具現化されたコンピュータプログラム製品、および／または、プロセッサ（プロセッサに接続されたメモリに格納および／またはそのメモリによって提供される命令を実行するよう構成されたプロセッサ）を含め、様々な形態で実装されうる。本明細書では、これらの実装または本発明が取りうる任意の他の形態を、技術と呼ぶ。一般に、開示された処理の工程の順序は、本発明の範囲内で変更されてもよい。特に言及しない限り、タスクを実行するよう構成されるものとして記載されたプロセッサまたはメモリなどの構成要素は、ある時間にタスクを実行するよう一時的に構成された一般的な構成要素として、または、タスクを実行するよう製造された特定の構成要素として実装されてよい。本明細書では、「プロセッサ」という用語は、１または複数のデバイス、回路、および／または、コンピュータプログラム命令などのデータを処理するよう構成された処理コアを指すものとする。
【００１３】
以下では、本発明の原理を示す図面を参照しつつ、本発明の１または複数の実施形態の詳細な説明を行う。本発明は、かかる実施形態に関連して説明されているが、どの実施形態にも限定されない。本発明の範囲は、特許請求の範囲によってのみ限定されるものであり、本発明は、多くの代替物、変形物、および、等価物を含む。以下の説明では、本発明の完全な理解を提供するために、多くの具体的な詳細事項が記載されている。これらの詳細事項は、例示を目的としたものであり、本発明は、これらの具体的な詳細事項の一部または全てがなくとも特許請求の範囲に従って実施可能である。簡単のために、本発明に関連する技術分野で周知の技術事項については、本発明が必要以上にわかりにくくならないように、詳細には説明していない。
【００１４】
ファイアウォールは、一般に、不正アクセスからネットワークを保護しつつ、承認された通信がファイアウォールを通過することを許可する。ファイアウォールは、通例、ネットワークアクセスに対するファイアウォール機能を提供するデバイス、デバイスセット、または、デバイス上で実行されるソフトウェアである。例えば、ファイアウォールは、デバイス（例えば、コンピュータ、スマートフォン、または、その他のタイプのネットワーク通信可能なデバイス）のオペレーティングシステムに統合されうる。ファイアウォールは、コンピュータサーバ、ゲートウェイ、ネットワーク／ルーティングデバイス（例えば、ネットワークルータ）、および、データアプライアンス（例えば、セキュリティアプライアンスまたはその他のタイプの専用デバイス）など、様々なタイプのデバイス上の１以上のソフトウェアアプリケーションに統合されるか、もしくは、かかるアプリケーションとして実行されることが可能であり、様々な実装例において、専用ハードウェア（ＡＳＩＣまたはＦＰＧＡなど）に実装される場合もある。
【００１５】
ファイアウォールは、通例、ルールのセットに基づいてネットワーク伝送を拒否または許可する。これらのルールのセットは、しばしば、ポリシー（例えば、ネットワークポリシーまたはネットワークセキュリティポリシー）と呼ばれる。例えば、ファイアウォールは、望ましくない外部のトラフィックが保護されたデバイスに到達するのを防ぐために、ルールまたはポリシーのセットを適用することによってインバウンドトラフィックをフィルタリングできる。また、ファイアウォールは、ルールまたはポリシーのセットを適用することによってアウトバウンドトラフィックをフィルタリングできる（例えば、許可、ブロック、監視、通知、または、記録、および／または、その他の動作を、ファイアウォールルールまたはファイアウォールポリシー内に記述できる。ルールまたはポリシーは、本明細書に記載したような様々な規準に基づいてトリガされうる）。ファイアウォールは、ルールまたはポリシーのセットを単に適用することによって、ローカルネットワーク（例えば、イントラネット）トラフィックもフィルタリングできる。
【００１６】
セキュリティデバイス（例えば、セキュリティアプライアンス、セキュリティゲートウェイ、セキュリティサービス、および／または、その他のセキュリティデバイス）は、様々なセキュリティ機能（例えば、ファイアウォール、マルウェア対策、侵入防止／検出、情報漏洩対策（ＤＬＰ）、および／または、その他のセキュリティ機能）、ネットワーク機能（例えば、ルーティング、クオリティオブサービス（ＱｏＳ）、ネットワーク関連リソースの負荷バランシング、および／または、その他のネットワーク機能）、ならびに／、もしくは、その他の機能を備えうる。例えば、ルーティング機能は、送信元情報（例えば、ＩＰアドレスおよびポート）、宛先情報（例えば、ＩＰアドレスおよびポート）、ならびに、プロトコル情報に基づきうる。
【００１７】
基本的なパケットフィルタリング・ファイアウォールは、ネットワークを介して伝送された個々のパケットを調べることによってネットワーク通信トラフィックをフィルタリングする（例えば、ステートレスパケットフィルタリング・ファイアウォールであるパケットフィルタリング・ファイアウォールまたは第１世代のファイアウォール）。ステートレスパケットフィルタリング・ファイアウォールは、通例、個々のパケット自体を調べ、調べたパケットに基づいて（例えば、パケットの送信元および宛先アドレス情報、プロトコル情報、ならびに、ポート番号の組み合わせを用いて）ルールを適用する。
【００１８】
また、アプリケーション・ファイアウォールは、アプリケーションレイヤフィルタリングを実行できる（例えば、ＴＣＰ／ＩＰスタックのアプリケーションレベルで機能するアプリケーションレイヤフィルタリング・ファイアウォールまたは第２世代のファイアウォール）。アプリケーションレイヤフィルタリング・ファイアウォールまたはアプリケーション・ファイアウォールは、一般に、特定のアプリケーションおよびプロトコルを識別できる（例えば、ハイパーテキストトランスファープロトコル（ＨＴＴＰ）、ドメインネームシステム（ＤＮＳ）要求、ファイルトランスファープロトコル（ＦＴＰ）を用いたファイル転送、ならびに、様々なその他のタイプのアプリケーションおよびその他のプロトコル（Ｔｅｌｎｅｔ、ＤＨＣＰ、ＴＣＰ、ＵＤＰ、および、ＴＦＴＰ（ＧＳＳ）など））。例えば、アプリケーション・ファイアウォールは、標準ポートで通信を試みる無許可プロトコルをブロックできる（例えば、プロトコルに非標準ポートを用いて忍び込もうとする無許可／ポリシー外のプロトコルが、一般に、アプリケーション・ファイアウォールを用いて識別されうる）。
【００１９】
また、ステートフル・ファイアウォールは、各パケットがネットワーク伝送のパケットのフローに関連する一連のパケットのコンテキスト内で検査されるステートフルベースのパケット検査を実行できる。このファイアウォール技術は、一般に、ファイアウォールを通過するすべての接続の記録を維持するのでステートフルパケット検査と呼ばれており、パケットが新しい接続の開始であるのか、既存の接続の一部であるのか、または、無効なパケットであるのかを判定できる。例えば、接続の状態自体が、ポリシー内のルールをトリガする基準の１つでありうる。
【００２０】
先進ファイアウォールすなわち次世代ファイアウォールは、上述のように、ステートレスおよびステートフルパケットフィルタリングとアプリケーションレイヤフィルタリングとを実行できる。また、次世代ファイアウォールは、さらなるファイアウォール技術を実行できる。例えば、先進ファイアウォールまたは次世代ファイアウォールとも呼ばれる特定の新しいファイアウォールは、ユーザおよびコンテンツの識別もできる（例えば、次世代ファイアウォール）。特に、特定の次世代ファイアウォールは、これらのファイアウォールが数千のアプリケーションを自動的に識別できるアプリケーションのリストを拡張している。かかる次世代ファイアウォールの例は、Ｐａｌｏ  Ａｌｔｏ  Ｎｅｔｗｏｒｋｓ社から市販されている（例えば、Ｐａｌｏ  Ａｌｔｏ  Ｎｅｔｗｏｒｋｓ社のＰＡシリーズ・ファイアウォール）。例えば、Ｐａｌｏ  Ａｌｔｏ  Ｎｅｔｗｏｒｋｓ社の次世代ファイアウォールは、企業が、以下のような様々な識別技術を用いて、ポート、ＩＰアドレス、および、パケットだけでなく、アプリケーション、ユーザ、および、コンテンツを識別して制御することを可能にする：正確なアプリケーション識別のためのＡＰＰ−ＩＤ、（例えば、ユーザまたはユーザグループによる）ユーザ識別のためのユーザＩＤ、および、リアルタイムのコンテンツスキャニング（例えば、ウェブサーフィンの制御、ならびに、データおよびファイル転送の制限）のためのコンテンツＩＤ。これらの識別技術により、企業が、従来のポート遮断ファイアウォールによって提供される従来のアプローチに従う代わりに、ビジネス関連概念を用いたアプリケーション利用を確実に実現することが可能になる。また、次世代ファイアウォールのための専用ハードウェア（例えば、専用アプライアンスとして実装される）は、一般に、汎用ハードウェアで実行されるソフトウェアよりもアプリケーション検査のパフォーマンスレベルが高い（例えば、ネットワークスループットを最大化しつつ待ち時間を最小化するためにシングルパスソフトウェアエンジンと緊密に統合された専用の機能特異的な処理を用いるＰａｌｏ  Ａｌｔｏ  Ｎｅｔｗｏｒｋｓ社のセキュリティアプライアンスなど）。
【００２１】
先進または次世代ファイアウォールは、仮想ファイアウォールを用いて実装することもできる。かかる次世代ファイアウォールの例は、Ｐａｌｏ  Ａｌｔｏ  Ｎｅｔｗｏｒｋｓ社から市販されている（例えば、Ｐａｌｏ  Ａｌｔｏ  Ｎｅｔｗｏｒｋｓ社のＶＭシリーズ・ファイアウォール。これは、例えば、ＶＭｗａｒｅ（登録商標）ＥＳＸｉ（商標）およびＮＳＸ（商標）、Ｃｉｔｒｉｘ（登録商標）Ｎｅｔｓｃａｌｅｒ  ＳＤＸ（商標）、ＫＶＭ／ＯｐｅｎＳｔａｃｋ（Ｃｅｎｔｏｓ／ＲＨＥＬ，  Ｕｂｕｎｔｕ（登録商標））、ならびに、Ａｍａｚｏｎ（登録商標）ウェブサービス（ＡＷＳ）など、様々な商業仮想環境をサポートする）。例えば、仮想ファイアウォールは、物理フォームファクタアプライアンスで利用できる同様または正確に同じ次世代ファイアウォールならびに高度な脅威防御機能をサポートできるため、企業が、企業のプライベート、パブリック、および、ハイブリッドクラウドコンピューティング環境に流れ込むアプリケーションおよびそれらの環境にわたるアプリケーションを安全に有効化することを可能にする。自動化機能（ＶＭ監視、動的アドレスグループ、および、ＲＥＳＴベースＡＰＩなど）により、企業は、ＶＭの変化を積極的に監視してそのコンテキストをセキュリティポリシーへ動的にフィードすることにより、ＶＭの変化時に発生しうるポリシーラグを排除することができる。
【００２２】
図１は、悪意あるアプリケーション（「マルウェア」）が検出され、害を及ぼすことを防止される環境の一例を示す。後に詳述するように、マルウェアの分類（例えば、セキュリティプラットフォーム１２２によってなされる）が、図１に示す環境に含まれる様々なエンティティの間で様々に共有および／または改善されうる。そして、本明細書に記載の技術を用いて、エンドポイントクライアントデバイス１０４〜１１０などのデバイスが、かかるマルウェアから保護されうる。
【００２３】
「アプリケーション」という用語は、形態／プラットフォームに関わらず、プログラム、プログラムのバンドル、マニフェスト、パッケージなどを集合的に指すために、本明細書を通して用いられる。「アプリケーション」（本明細書では「サンプル」とも呼ぶ）は、スタンドアロンファイル（例えば、ファイル名”ｃａｌｃｕｌａｔｏｒ．ａｐｋ”または”ｃａｌｃｕｌａｔｏｒ．ｅｘｅ”を有する計算機アプリケーション）であってよく、別のアプリケーションの独立した構成要素（例えば、計算機アプリに埋め込まれたモバイル広告ＳＤＫまたはライブラリ）であってもよい。
【００２４】
本明細書で用いられる「マルウェア」は、完全に知らされていればユーザが承認しない／承認しなかったであろう行動に、ひそかに行うか否かに関わらず（そして、違法か否かに関わらず）、従事するアプリケーションを指す。マルウェアの例は、トロイの木馬、ウィルス、ルートキット、スパイウェア、ハッキングツール、キーロガーなどを含む。マルウェアの一例は、エンドユーザの位置を収集してリモートサーバに報告する（しかし、マッピングサービスなどの位置ベースサービスをユーザに提供しない）デスクトップアプリケーションである。マルウェアの別の例は、エンドユーザに無料ゲームであるように見せかけるが、ＳＭＳプレミアムメッセージ（例えば、１通当たり＄１０のコスト）を密かに送信し、エンドユーザの電話料金を増やす悪意あるＡｎｄｒｏｉｄ（登録商標）アプリケーションパッケージ．ａｐｋ（ＡＰＫ）ファイルである。マルウェアの別の例は、ユーザの連絡先を密かに収集して、それらの連絡先をスパマーに送信するＡｐｐｌｅ（登録商標）ｉＯＳフラッシュライトアプリケーションである。本明細書に記載の技術を用いれば、他の形態のマルウェアも検出／阻止できる（例えば、ランサムウェア）。さらに、「マルウェアプロファイル」が、悪意あるアプリケーションに対して生成されるように本明細書に記載されているが、本明細書に記載の技術は、様々な実施形態において、その他の種類のアプリケーションのプロファイル（例えば、アドウェアプロファイル、グッドウェアプロファイルなど）を生成するために利用することもできる。
【００２５】
本明細書に記載の技術は、様々なプラットフォーム（例えば、デスクトップ、モバイルデバイス、ゲームプラットフォーム、埋め込みシステムなど）および／または様々なタイプのアプリケーション（例えば、Ａｎｄｒｏｉｄ．ａｐｋファイル、ｉＯＳアプリケーション、Ｗｉｎｄｏｗｓ（登録商標）  ＰＥファイル、Ａｄｏｂｅ（登録商標）  Ａｃｒｏｂａｔ（登録商標）  ＰＤＦファイルなど）と共に利用できる。図１に示した環境例において、クライアントデバイス１０４〜１０８は、（それぞれ）、企業ネットワーク１４０に存在するラップトップコンピュータ、デスクトップコンピュータ、および、タブレットである。クライアントデバイス１１０は、企業ネットワーク１４０の外側に存在するラップトップコンピュータである。
【００２６】
データアプライアンス１０２は、クライアントデバイス（クライアントデバイス１０４および１０６など）と、企業ネットワーク１４０の外側のノード（例えば、外部ネットワーク１１８を介して到達可能なノード）との間の通信に関するポリシーを施行するよう構成されている。かかるポリシーの例は、トラフィックシェーピング、サービスの質、および、トラフィックのルーティングを管理するポリシーを含む。ポリシーの他の例は、受信（および／または送信）電子メールの添付ファイル、ウェブサイトコンテンツ、インスタントメッセージングプログラムを通して交換されたファイル、および／または、その他のファイル転送、における脅威のスキャンを求めるものなど、セキュリティポリシーを含む。いくつかの実施形態において、データアプライアンス１０２は、さらに、企業ネットワーク１４０内にとどまるトラフィックに関するポリシーを施行するように構成される。
【００２７】
データアプライアンスの一実施形態が、図２に示されている。図の例は、様々な実施形態において、データアプライアンス１０２に備えられた物理コンポーネントを表したものである。具体的には、データアプライアンス１０２は、高性能マルチコアＣＰＵ２０２と、ＲＡＭ２０４と、を備える。データアプライアンス１０２は、さらに、ストレージ２１０（１以上のハードディスクなど）を備えており、これは、ポリシーおよびその他の構成情報、ならびに、その他の情報（ＵＲＬ分類情報およびマルウェアプロファイルなど）を格納するために用いられる。データアプライアンス１０２は、さらに、１以上の任意選択的なハードウェアアクセラレータを備えてもよい。例えば、データアプライアンス１０２は、暗号化および復号動作を実行するよう構成された暗号化エンジン２０６と、マッチングを実行する、ネットワークプロセッサとして動作する、および／または、その他のタスクを実行するよう構成された１以上のＦＰＧＡ２０８と、を備えてよい。
【００２８】
データアプライアンス１０２は、様々な形態を取りうる。例えば、データアプライアンス１０２は、専用デバイスまたはデバイスセットでありうる。データアプライアンス１０２によって提供される機能は、汎用コンピュータ、コンピュータサーバ、ゲートウェイ、および／または、ネットワーク／ルーティングデバイス上のソフトウェアに統合されてもよいし、かかるソフトウェアとして実行されてもよい。いくつかの実施形態において、その代わりに（または加えて）、データアプライアンス１０２によって提供されるサービスが、クライアントデバイス上で実行するソフトウェアによってクライアントデバイス（例えば、クライアントデバイス１０４）に提供される。
【００２９】
データアプライアンス１０２がタスクを実行すると記載された場合にはいつでも、データアプライアンス１０２の１つのコンポーネント、一部のコンポーネント、または、全コンポーネントが、タスクを実行するために協働しうる。同様に、データアプライアンス１０２のコンポーネントがタスクを実行すると記載された場合にはいつでも、サブコンポーネントがタスクを実行してよい、および／または、コンポーネントが他のコンポーネントと連携してタスクを実行してよい。様々な実施形態において、データアプライアンス１０２の一部は、１以上のサードパーティによって提供される。データアプライアンス１０２にとって利用可能な計算リソースの量などの要因に応じて、データアプライアンス１０２の様々な論理コンポーネントおよび／または特徴が省略されてもよく、本明細書に記載の技術は、それに応じて適応される。同様に、さらなる論理コンポーネント／特徴が、該当する場合に、データアプライアンス１０２の実施形態に含められてもよい。
【００３０】
図１に示した例では、（システム１２０を用いる）悪意ある個人が、マルウェア１３０を作り出した。悪意ある個人は、クライアントデバイス（クライアントデバイス１０４など）が、クライアントデバイスを侵害してクライアントデバイスをボットネット内のボットにならせるマルウェア１３０のコピーを実行することを期待する。次いで、侵害されたクライアントデバイスは、タスク（例えば、暗号通貨マイニング、または、サービス妨害攻撃への参加）を実行し、外部エンティティ（コマンド＆コントロール（Ｃ＆Ｃ）サーバ１５０など）へ情報を報告し、該当する場合、Ｃ＆Ｃサーバ１５０から命令を受信するように命令されうる。
【００３１】
データアプライアンス１０２が、マルウェア１３０のコピーを添付されてクライアントデバイス１０４へ（例えば、システム１２０によって）送信された電子メールをインターセプトしたと仮定する。別のシナリオ（ただし、同様のシナリオ）として、データアプライアンス１０２は、クライアントデバイス１０４によって試みられたマルウェア１３０のダウンロードをインターセプトすることもできる。いずれかのシナリオでも、データアプライアンス１０２は、ファイル（例えば、マルウェア１３０の電子メール添付またはウェブサイトダウンロード）のシグネチャがデータアプライアンス１０２上に存在するか否かを判定する。シグネチャは、存在する場合には、ファイルが安全であると知られている（例えば、ホワイトリスト内にある）ことを示しうるものであり、ファイルが悪意あるファイルである（例えば、ブラックリスト内にある）ことも示しうる。
【００３２】
様々な実施形態において、データアプライアンス１０２は、セキュリティプラットフォーム１２２と協働するよう構成される。一例として、セキュリティプラットフォーム１２２は、既知の悪意あるファイルのシグネチャのセットを（例えば、サブスクリプションの一部として）データアプライアンス１０２に提供できる。マルウェア１３０のシグネチャがそのセットに含まれる場合（例えば、マルウェア１３０のＭＤ５ハッシュ）、データアプライアンス１０２は、それに従って（例えば、クライアントデバイス１０４に送信された電子メール添付のＭＤ５ハッシュがマルウェア１３０のＭＤ５ハッシュと一致することを検出することによって）クライアントデバイス１０４へのマルウェア１３０の伝送を防止できる。また、セキュリティプラットフォーム１２２は、既知の悪意あるドメインおよび／またはＩＰアドレスのリストをデータアプライアンス１０２へ提供することができ、それにより、データアプライアンス１０２は、（例えば、Ｃ＆Ｃサーバ１５０が、悪意あるサーバであると分かっている場合に）企業ネットワーク１４０とＣ＆Ｃサーバ１５０との間のトラフィックをブロックできるようになる。悪意あるドメイン（および／またはＩＰアドレス）のリストは、データアプライアンス１０２が、そのノードの１つが侵害された場合に判定を行う助けにもなりうる。例えば、クライアントデバイス１０４がＣ＆Ｃサーバ１５０と接触しようと試みた場合、かかる試みは、クライアント１０４がマルウェアによって侵害されたことを強く示唆する（そして、それに応じて、企業ネットワーク１４０内の他のノードと通信しないようにクライアントデバイス１０４を隔離するなど、是正動作を取ることが好ましい）。
【００３３】
添付ファイルのシグネチャが見つからない場合、様々な実施形態において、データアプライアンス１０２は、悪意あるファイルであるか否かを判定するため、および／または、他の方法でファイルを分類するために、静的／動的解析に向けてファイルを提供するよう構成される。一例として、データアプライアンス１０２は、解析のためにセキュリティプラットフォーム１２２へマルウェア１３０のコピーを送信できる。セキュリティプラットフォーム１２２は、さらに（または、代わりに）、データアプライアンス１０２以外のソース（例えば、データアプライアンス１３６および／または１４８）から評価のためにアプリケーションのコピーを取得できる。様々な実施形態において、マルウェア１３０の解析は、少なくとも部分的にはオンプレミスで（例えば、企業ネットワーク１４０内で）実行される。例えば、セキュリティプラットフォーム１２２によって実行されるように本明細書で記載された解析は、データアプライアンス１０２に備えられたマルウェア解析モジュール１１２によって実行されてもよい。
【００３４】
セキュリティプラットフォーム１２２は、受信したサンプルのコピーをストレージ１４２に格納し、解析が開始される（または、該当する場合、スケジュールされる）。ストレージ１４２の一例は、Ａｐａｃｈｅ  Ｈａｄｏｏｐクラスタ（ＨＤＦＳ）である。解析の結果（および、アプリケーションに関する追加情報）が、データベース１４６に格納される。アプリケーションが悪意あるアプリケーションであると判定された場合、データアプライアンス１０２は、解析結果に基づいてファイルダウンロードを自動的にブロックするよう構成されてよい。さらに、マルウェアに対するシグネチャを生成して、（例えば、他のデータアプライアンス（データアプライアンス１３６および１４８など）へ）供給することで、悪意あるものと判定されたファイルをダウンロードするための将来のファイル転送要求を自動的にブロックできる。
【００３５】
様々な実施形態において、セキュリティプラットフォーム１２２は、典型的なサーバクラス・オペレーティングシステム（例えば、Ｌｉｎｕｘ（登録商標））を実行する１以上の専用の市販ハードウェアサーバ（例えば、１以上のマルチコアプロセッサ、８Ｇ＋のＲＡＭ、１以上のギガビットネットワークインターフェースアダプタ、および、１以上のハードドライブを有する）を備える。セキュリティプラットフォーム１２２は、複数のかかるサーバ、ソリッドステートドライブ、および／または、その他の適用可能な高性能ハードウェアを備えた拡張可能なインフラストラクチャにわたって実装されてよい。セキュリティプラットフォーム１２２は、１以上のサードパーティによって提供されたコンポーネントなど、いくつかの分散コンポーネントを備えてよい。例えば、セキュリティプラットフォーム１２２の一部または全部が、Ａｍａｚｏｎ  Ｅｌａｓｔｉｃ  Ｃｏｍｐｕｔｅ  Ｃｌｏｕｄ（ＥＣ２）および／またはＡｍａｚｏｎ  Ｓｉｍｐｌｅ  Ｓｔｏｒａｇｅ  Ｓｅｒｖｉｃｅ（Ｓ３）を用いて実装されてよい。さらに、データアプライアンス１０２と同様に、プラットフォーム１２２が、データの格納またはデータの処理などのタスクを実行すると言及された場合にはいつでも、セキュリティプラットフォーム１２２の１以上のサブコンポーネントが（個別であるか、または、サードパーティコンポーネントと協働するかに関わらず）、そのタスクを実行するために協働してよいことを理解されたい。一例として、セキュリティプラットフォーム１２２は、１以上の仮想マシン（ＶＭ）サーバ（ＶＭサーバ１２４など）と協働して静的／動的解析を任意選択的に実行できる。
【００３６】
仮想マシンサーバの一例は、市販の仮想ソフトウェア（ＶＭｗａｒｅ  ＥＳＸｉ、Ｃｉｔｒｉｘ  ＸｅｎＳｅｒｖｅｒ、または、Ｍｉｃｒｏｓｏｆｔ（登録商標）  Ｈｙｐｅｒ−Ｖなど）を実行する市販のサーバクラスのハードウェア（例えば、マルチコアプロセッサ、４＋ギガバイトのＲＡＭ、および、１以上のギガビットネットワークインターフェースアダプタ）である。いくつかの実施形態において、仮想マシンサーバは、省略される。さらに、仮想マシンサーバは、セキュリティプラットフォーム１２２を管理するのと同じエンティティの制御下にあってよいが、サードパーティによって提供されてもよい。一例として、仮想マシンサーバは、ＥＣ２に依存してよく、セキュリティプラットフォーム１２２の残りの部分は、セキュリティプラットフォーム１２２のオペレータによって所有されてその制御下にある専用ハードウェアによって提供される。ＶＭサーバ１２４は、クライアントデバイスをエミュレートするための１以上の仮想マシン１２６〜１２８を提供するよう構成される。仮想マシンは、様々なオペレーティングシステムおよび／またはそれらのバージョンを実行できる。仮想マシンにおいてアプリケーションを実行した結果として観察される行動は、記録および解析される（例えば、アプリケーションが悪意あるアプリケーションであることを示唆するため）。いくつかの実施形態では、ログ解析が、ＶＭサーバ（例えば、ＶＭサーバ１２４）によって実行される。別の実施形態では、解析が、少なくとも部分的には、セキュリティプラットフォーム１２２のその他のコンポーネント（コーディネータ１４４など）によって実行される。
【００３７】
様々な実施形態において、セキュリティプラットフォーム１２２は、サブスクリプションの一部としてシグネチャ（および／またはその他の識別子）のリストを介してデータアプライアンス１０２にサンプルの解析の結果を利用可能にする。例えば、セキュリティプラットフォーム１２２は、マルウェアアプリを識別するコンテンツパッケージを定期的に（例えば、毎日、毎時、または、その他の間隔で、および／または、１以上のポリシーによって設定されたイベントに基づいて）送信できる。コンテンツパッケージの一例は、パッケージ名、アプリを一意に識別するためのハッシュ値、および、識別された各マルウェアアプリのマルウェア名（および／またはマルウェアファミリ名）などの情報と共に、識別されたマルウェアアプリのリストを含む。サブスクリプションは、データアプライアンス１０２によってインターセプトされてデータアプライアンス１０２によってセキュリティプラットフォーム１２２へ送信されたファイルだけの解析を扱うことができ、また、セキュリティプラットフォーム１２２に知られているすべてのマルウェア（または、モバイルマルウェアだけではなくその他の形態のマルウェア（例えば、ＰＤＦマルウェア）など、その一部）のシグネチャを扱うことができる。
【００３８】
様々な実施形態において、セキュリティプラットフォーム１２２は、データアプライアンス１０２のオペレータに加えて（または、該当する場合には、その代わりに）、様々なエンティティにセキュリティサービスを提供するよう構成される。例えば、それぞれの独自の企業ネットワーク１１４および１１６と、それぞれの独自のデータアプライアンス１３６および１４８とを有する他の企業が、セキュリティプラットフォーム１２２のオペレータと契約できる。その他のタイプのエンティティも、セキュリティプラットフォーム１２２のサービスを利用できる。例えば、クライアントデバイス１１０がダウンロードしようとするアプリケーションを解析するために、インターネットサービスをクライアントデバイス１１０へ提供するインターネットサービスプロバイダ（ＩＳＰ）が、セキュリティプラットフォーム１２２と契約できる。別の例として、クライアントデバイス１１０の所有者は、セキュリティプラットフォーム１２２と通信するクライアントデバイス１１０上にソフトウェアをインストールできる（例えば、セキュリティプラットフォーム１２２からコンテンツパッケージを受信して、解析のためにセキュリティプラットフォーム１２２にアプリケーションを伝送するために）。
【００３９】
静的／動的解析を用いたサンプルの解析
【００４０】
図３は、サンプルを解析するためのシステムに備えられうる論理コンポーネントの一例を示す。解析システム３００は、単一のデバイスを用いて実装されてよい。例えば、解析システム３００の機能は、データアプライアンス１０２内に組み込まれたマルウェア解析モジュール１１２に実装されてよい。解析システム３００は、複数の異なるデバイスにわたって、集合的に実装されてもよい。例えば、解析システム３００の機能は、セキュリティプラットフォーム１２２によって提供されうる。
【００４１】
様々な実施形態において、解析システム３００は、既知の安全なコンテンツおよび／または既知の悪いコンテンツのリスト、データベース、または、その他のコレクション（図３では、集合的に、コレクション３１４として図示）を利用する。コレクション３１４は、（例えば、サードパーティによって提供された）サブスクリプションサービスを介して、および／または、（例えば、データアプライアンス１０２および／またはセキュリティプラットフォーム１２２によって実行された）他の処理の結果としてなど、様々な方法で取得できる。コレクション３１４に含まれる情報の例は、以下の通りである：既知の悪意あるサーバのＵＲＬ、ドメイン名、および／または、ＩＰアドレス；既知の安全なサーバのＵＲＬ、ドメイン名、および／または、ＩＰアドレス；既知のコマンド＆コントロール（Ｃ＆Ｃ）ドメインのＵＲＬ、ドメイン名、および／または、ＩＰアドレス；既知の悪意あるアプリケーションのシグネチャ、ハッシュ、および／または、その他の識別子；既知の安全なアプリケーションのシグネチャ、ハッシュ、および／または、その他の識別子；既知の悪意あるファイル（例えば、Ａｎｄｒｏｉｄ  ｅｘｐｌｏｉｔファイル）のシグネチャ、ハッシュ、および／または、その他の識別子；既知の安全なライブラリのシグネチャ、ハッシュ、および／または、その他の識別子；既知の悪意あるライブラリのシグネチャ、ハッシュ、および／または、その他の識別子。
【００４２】
インジェスション
【００４３】
様々な実施形態において、新しいサンプルが解析のために受信されると（例えば、サンプルに関連する既存のシグネチャが解析システム３００に存在しない場合）、そのサンプルは、キュー３０２に追加される。図３に示すように、アプリケーション１３０は、システム３００によって受信され、キュー３０２に追加される。
【００４４】
静的解析
【００４５】
コーディネータ３０４が、キュー３０２を監視しており、リソース（例えば、静的解析ワーカ）が利用可能になると、コーディネータ３０４は、処理のためにキュー３０２からサンプルをフェッチする（例えば、マルウェア１３０のコピーをフェッチする）。特に、コーディネータ３０４は、最初に、静的解析のために静的解析エンジン３０６にサンプルを提供する。いくつかの実施形態において、１以上の静的解析エンジンが、解析システム３００内に備えられており、ここで、解析システム３００は、単一のデバイスである。別の実施形態において、静的解析は、複数のワーカ（すなわち、複数の静的解析エンジン３０６）を備えた別個の静的解析サーバによって実行される。
【００４６】
静的解析エンジンは、サンプルに関する一般情報を取得し、それを（該当する場合、ヒューリスティック情報およびその他の情報と共に）静的解析レポート３０８に含める。レポートは、静的解析エンジンによって、もしくは、静的解析エンジン３０６から情報を受信するよう構成可能なコーディネータ３０４（または、別の適切なコンポーネント）によって、作成されうる。いくつかの実施形態において、収集された情報は、別々の静的解析レポート３０８が作成される代わりにまたはそれに加えて、（例えば、データベース３１６内の）サンプルに対するデータベースレコードに格納される（すなわち、データベースレコードの一部がレポート３０８を形成する）。いくつかの実施形態において、静的解析エンジンは、アプリケーションに関する判定（例えば、「安全」、「疑わしい」、または、「悪意ある」）も形成する。一例として、判定は、アプリケーションに存在する「悪意ある」静的特徴が１つだけでも（例えば、アプリケーションが、既知の悪意あるドメインへのハードリンクを含むだけでも）、「悪意ある」でありうる。別の例として、特徴の各々にポイントが（例えば、見つかった場合の重大度；悪意の予測について特徴がどれだけ信頼できるか、などに基づいて）割り当てられ、判定が、静的解析結果に関連するポイント数に基づいて、静的解析エンジン３０６（または、該当する場合、コーディネータ３０４）によって割り当てられてもよい。
【００４７】
動的解析
【００４８】
静的解析が完了すると、コーディネータ３０４は、アプリケーションに対して動的解析を実行するために、利用可能な動的解析エンジン３１０を探す。静的解析エンジン３０６と同様に、解析システム３００は、１以上の動的解析エンジンを直接備えてよい。別の実施形態において、動的解析は、複数のワーカ（すなわち、複数の動的解析エンジン３１０）を備えた別個の動的解析サーバによって実行される。
【００４９】
各動的解析ワーカは、仮想マシンインスタンスを管理する。いくつかの実施形態において、（静的解析エンジン３０６によって実行された）静的解析の結果は、レポートフォーム（３０８）内にあるかおよび／またはデータベース３１６に格納されるか、もしくは、その他の方法で格納されるかに関わらず、動的解析エンジン３１０に入力として提供される。例えば、静的レポート情報は、動的解析エンジン３１０によって用いられる仮想マシンインスタンスを選択／カスタマイズするのに役立つように利用できる（例えば、Ｍｉｃｒｏｓｏｆｔ  ＸＰ  ＳＰ３対Ｗｉｎｄｏｗｓ７  ＳＰ２、または、ｉＯＳ９．０対ｉＯＳ１０．０）。複数の仮想マシンインスタンスが同時に実行される場合、単一の動的解析エンジンが、インスタンスすべてを管理してもよいし、該当する場合には、複数の動的解析エンジンが、（例えば、各々が自身の仮想マシンインスタンスを管理するように）用いられてもよい。後に詳述するように、解析の動的な部分の間に、アプリケーションによって取られる動作（ネットワーク活動を含む）が解析される。
【００５０】
様々な実施形態において、サンプルの静的解析は、省略されるか、または、該当する場合、別個のエンティティによって実行される。一例として、従来の静的および／または動的解析は、第１エンティティによってファイルに対して実行されてよい。所与のファイルが悪意あるファイルであると（例えば、第１エンティティによって）判定されると、そのファイルは、特に、（例えば、動的解析エンジン３１０による）マルウェアのネットワーク活動の利用に関するさらなる解析のために、第２エンティティ（例えば、セキュリティプラットフォーム１２２のオペレータ）に提供されうる。
【００５１】
解析システム３００によって利用される環境は、アプリケーションが実行している間に観察される行動が、それらの起きた時に記録されるように、インストルメント化／フックされる（例えば、フッキングおよびｌｏｇｃａｔをサポートするカスタマイズされたカーネルを用いて）。エミュレータに関連するネットワークトラフィックも、（例えば、ｐｃａｐを用いて）キャプチャされる。ログ／ネットワークデータは、解析システム３００上に一時ファイルとして格納されてよく、（例えば、ＨＤＦＳまたは別の適切なストレージ技術もしくは技術の組み合わせ（ＭｏｎｇｏＤＢなど）を用いて）より永久的に格納されてもよい。動的解析エンジン（または、別の適切なコンポーネント）は、サンプルによってなされた接続を、ドメイン、ＩＰアドレスなどのリスト（３１４）と比較して、サンプルが悪意あるエンティティと通信した（または通信を試みた）か否かを判定できる。
【００５２】
静的解析エンジンと同様に、動的解析エンジンは、その解析の結果を、データベース３１６において、テスト対象のアプリケーションに関連するレコード内に格納する（および／または、該当する場合、レポート３１２内に結果を含める）。いくつかの実施形態において、動的解析エンジンは、アプリケーションに関する判定（例えば、「安全」、「疑わしい」、または、「悪意ある」）も形成する。一例として、アプリケーションによって取られた「悪意ある」動作が１つだけでも（例えば、既知の悪意あるドメインと接触する試みがなされた、または、機密情報を抜き取る試みが観察されただけでも）、判定は、「悪意ある」でありうる。別の例として、取られた動作にポイントが（例えば、見つかった場合の重大度；悪意の予測について動作がどれだけ信頼できるか、などに基づいて）割り当てられ、判定が、動的解析結果に関連するポイント数に基づいて、動的解析エンジン３１０（または、該当する場合、コーディネータ３０４）によって割り当てられてもよい。いくつかの実施形態において、サンプルに関連する最終的な判定が、レポート３０８およびレポート３１２の組み合わせに基づいて（例えば、コーディネータ３０４によって）なされる。
【００５３】
フォルスネガティブおよびフォルスポジティブ
【００５４】
いくつかのタイプのマルウェアは、悪意ある活動の推進に悪意あるリソースを用いる。かかる悪意あるリソースの例は、コマンド＆コントロール（Ｃ＆Ｃ）サーバ（例えば、サーバ１５０）、データの抜き出しを容易にするサーバ、フィッシングサイト、および、悪意ある実行ファイル（例えば、ランサムウェアまたはスパイウェア）をホストするサイト、を含む。上述のように、静的および動的解析エンジンは両方とも、それぞれの解析の実行および／または悪意との判定への到達に、既知の悪意あるリソースに関する情報を利用できる。かかる情報（例えば、既知の悪意あるドメイン、既知の悪意あるＩＰアドレス、既知の悪意あるＵＲＬ、および／または、マルウェアに関連するユーザエージェント文字列）は、本明細書ではネットワーク「侵害インジケータ」（ＩＯＣ）とも呼ばれる。
【００５５】
残念ながら、（例えば、静的／動的解析に基づく判定を決定する際の）ネットワークＩＯＣの不在（または存在）は、アプリケーションの悪意の有無を必ずしも解決するものではない。一例として、一部のマルウェアは、悪用されなければ人気があり安全なドメイン（例えば、ｐａｓｔｅｂｉｎ．ｃｏｍ）を悪用する。マルウェアが、（コレクション３１４においてホワイトリストに載りうる）かかるドメインと接触し、他の（既知の悪意ある）ドメインと接触しなければ、サンプル解析システム３００が誤って「悪意ない」との判定を返すことになりうる（すなわち、フォルスネガティブ結果）。第２の例として、安全なアプリケーションが、悪意ある目的にも（同時に）利用される共有された（またはリサイクルされた）ドメイン、ＩＰアドレス、または、その他のリソースを利用した場合に、誤って悪意あるものと分類される可能性がある（すなわち、フォルスポジティブ結果）。さらに、従来のＩＯＣがカバーしないいくつかの状況（例えば、サービスプロ−ビング活動および／またはサービス妨害攻撃活動）がある。
【００５６】
本明細書に記載の技術を用いて、既知の悪意あるアプリケーションによって取られた動作（例えば、ネットワーク活動またはその他の活動）がプロファイルされ、対応するマルウェアプロファイルを生成するために用いられる。マルウェアプロファイルは、様々な有益な方法で利用されうる。第１例として、マルウェアプロファイルは、静的解析エンジン３０６および動的解析エンジン３１０によって実行された解析（例えば、上述した解析）を補完するために利用でき、判定におけるフォルスネガティブおよびフォルスポジティブを最小限に抑えるのに役立つ。第２例として、マルウェアプロファイルは、ファイアウォール、侵入検出システム、侵入防止システム、または、その他の適切なアプリケーションに提供されうる。かかるアプリケーションによって保護されたクライアントデバイスが、（例えば、閾値内の）マルウェアプロファイルと一致する動作を実行した場合、かかる行動は、アプライアンスによって疑わしい／悪意あるものとして扱われ、是正動作が取られうる。第３例として、マルウェアプロファイルは、かかるプロファイルに対するマッチングについてクライアント活動を監視できる（例えば、クライアントデバイス１１０にインストールされた）エンドポイント保護アプリケーションに提供されうる。
【００５７】
マルウェアプロファイル
【００５８】
図４Ａ〜図４Ｃは、それぞれ、Ｓａｒｏｄｉｐ、Ａｌｌａｐｌｅ、および、ＶＴＢｏｓｓに対応するマルウェアプロファイルを示す。プロファイルは、（ＪＳＯＮなどの適切なフォーマットで）、イベントのシーケンスと、対応する属性（例えば、プロトコル、宛先ポート、ホスト、および／または、ＵＲＬ）と、を記載する。所与のプロファイルに含まれる個々のイベントは、安全に見えうる（例えば、ｔｗｉｔｔｅｒ．ｃｏｍへ接触している）。しかしながら、全体として見ると、イベントを組み合わせたセットは、マルウェアのファミリに属するものとしてサンプルを一意的かつ排他的に識別するなどして、サンプルが悪意あるものであるか否かをよりよく識別するのに役立つように利用できる。
【００５９】
（「Ｐｉｄｏｒａｓ」という名称でも知られる）Ｓａｒｏｄｉｐファミリ内のマルウェアは、ＶｉｒｕｓＴｏｔａｌウェブサービスと、（コマンドおよびコントロールのためのｔｗｉｔｔｅｒ（登録商標）アカウントを用いて）攻撃者の選択したＵＲＬとの両方に対する分散型サービス妨害（ＤＤｏＳ）攻撃の実行に関与する。実行されると、Ｓａｒｏｄｉｐマルウェアは、ユーザ“ｐｉｄｏｒａｓ６”について（ポート８０で）ｔｗｉｔｔｅｒ．ｃｏｍへの要求を行う。ユーザからの最新のツイート（例えば、“）））））ａＨＲ０ｃＨＭ６Ｌｙ９３ＭＨＪｔＬｍｌｕＬ２ｐｖａＷ４ｖａｍ９ｐｂｉ５ｗａＨＡ＝”）がパースされ、先頭の“）））））”文字を除去し、ｂａｓｅ６４が残りの文字を復号する。結果として得られるＵＲＬ（例えば、ｗ０ｒｍ．ｉｎ／ｊｏｉｎ／ｊｏｉｎ．ｐｈｐ）は、次のＨＴＴＰ要求を行うために用いられ、要求は、無制限に繰り返す。また、Ｓａｒｏｄｉｐマルウェアは、それ自身の読み出しと、ｏｆｆｓｅｔ６８でのＰＥヘッダの変更とに関与するスレッドをスポーンする。これは、ＶｉｒｕｓＴｏｔａｌへの後続の各提出のための一意のサンプルを提供する。それは、次に、このファイルを、ｗｗｗ．ｖｉｒｕｓｔｏｔａｌ．ｃｏｍ／ｖｔａｐｉ／ｖ２／ｆｉｌｅ／ｓｃａｎへのＨＴＴＰ  ＰＯＳＴ要求を介してＶｉｒｕｓＴｏｔａｌウェブサービスへ提出し、これも、無制限に繰り返すプロセスである。また、Ｓａｒｏｄｉｐは、ＴＣＰを介して暗号化された（ＨＴＴＰＳ）通信を実行する。
【００６０】
Ｓａｒｏｄｉｐネットワークトラフィックに対応するマルウェアプロファイルが、図４Ａに示されている。特に、Ｓａｒｏｄｉｐ攻撃を構成するネットワークイベントのシーケンスが、領域４０２に示されている。最初に（４０４）、ＨＴＴＰ（４０６）接続が、宛先ポート８０（４０８）を介してｔｗｉｔｔｅｒ．ｃｏｍ（４１０）へなされ、ユーザｐｉｄｏｒａｓ６のフィードが要求される（４１２）。次に（４１４）、ＨＴＴＰ接続が、宛先ポート８０を介してｗｗｗ．ｖｉｒｕｓｔｏｔａｌ．ｃｏｍへなされ、／ｖｔａｐｉ／ｖ２／ｆｉｌｅ／ｓｃａｎへのアクセスが行われる。次いで、Ｓａｒｏｄｉｐは、宛先ポート４４３を用いてＴＣＰトラフィックを開始する（４１６）。領域４１８に示すように、プロファイルがマッチングされるには、イベントが、プロファイルに示した順序（４０４、４１４、４１６）で発生する必要がある。さらに、イベントは、５分間の期間内にすべてが観察されなければならない（４２０）。他のプロファイルにおいて、イベントの順序は、厳密に要求されなくてもよく、「フォルス」の値が、対応する領域４１８において利用されうる。そして、他のプロファイルにおいて、他の期間が、対応する領域４２０において指定されてもよい。
【００６１】
Ａｌｌａｐｌｅは、予め規定されたログインおよびパスワードのリストを用いてＷｉｎｄｏｗｓファイル共有への拡散を試みた後に標的型ＤＤｏＳ攻撃を開始するネットワークワームである。Ａｌｌａｐｌｅネットワークトラフィックに対応するマルウェアプロファイルが、図４Ｂに示されている。特に、Ａｌｌａｐｌｅ攻撃を構成するネットワークイベントのシーケンスが、領域４２４に示されている。最初に（４２６）、ＩＣＭＰを用いて、潜在的な被害者がｐｉｎｇテストされる。次に（４２８）、データストリームが、ポート１３８を介してリモートアドレスに送信される。また、Ａｌｌａｐｌｅ攻撃中、データストリームが、ポート４４５を介してリモートアドレスへ（４３０）、そして、ポート９９８８を介してリモートアドレスへ（４３２）送信される。Ｓａｒｏｄｉｐと同様に、ネットワーク活動が、図４Ｂに示したプロファイルと一致すると見なされるには、イベントが、Ａｌｌａｐｌｅプロファイルに示した順に発生しなければならず、指定されたイベントのセットが、５分間以内に観察されなければならない。様々な実施形態において、さらなるタイプのイベントが、マルウェアプロファイルに含められる。Ａｌｌａｐｌｅプロファイルを一例とすると、Ａｌｌａｐｌｅマルウェアによって取られる１つのさらなる動作は、ＷＩＮＤＯＷＳ￥ｓｙｓｔｅｍ３２￥ｕｒｄｖｘｃ．ｅｘｅを書き込む試みである。かかる動作（本明細書ではローカル動作とも呼ばれる）が、それに応じてＡｌｌａｐｌｅプロファイルに含められてもよい（例えば、イベント４２６の前に発生するイベントとして）。（マルウェアプロファイルに含めることのできる）ローカル動作のその他の例は、コードインジェクションの実行、レジストリの変更、自己消去の試み、および、ファイルに対して暗号化動作を実行する試み、を含む。
【００６２】
ＶＴＢｏｓｓファミリのマルウェアは、ＶｉｒｕｓＴｏｔａｌウェブサービスに対するＤＤｏＳ攻撃を実行するよう設計されたものである。マルウェアは、それ自身のＭＤ５ハッシュを取り、ＨＴＴＰ  ＰＯＳＴ要求を介してｈｔｔｐ：／／ｖｔｂｏｓｓ．ｙｏｌｏｘ．ｎｅｔ／ｍｄ５．ｐｈｐへ情報を送信することによって開始する。その後、（Ｓａｒｏｄｉｐと同様に）それ自身を読み出し、ｏｆｆｓｅｔ６８のＰＥヘッダを変更する無限ループに入り、次いで、結果として得られるファイルを、ｗｗｗ．ｖｉｒｕｓｔｏｔａｌ．ｃｏｍ／ｖｔａｐｉ／ｖ２／ｆｉｌｅ／ｓｃａｎへのＨＴＴＰ  ＰＯＳＴ要求を介してＶｉｒｕｓＴｏｔａｌウェブサービスへ送信する。
【００６３】
マルウェアのＶＴＢｏｓｓファミリに対応するマルウェアプロファイルが、図４Ｃに示されている。特に、ＶＴＢｏｓｓ攻撃を構成するネットワークイベントのシーケンスが、領域４３４に示されている。最初に（４３６）、ＨＴＴＰ接続が、宛先ポート８０を介してｖｔｂｏｓｓ．ｙｏｌｏｘ．ｎｅｔへなされ、／ｍｄ５．ｐｈｐへのアクセスが行われる。次いで（４３８）、ＨＴＴＰ接続が、宛先ポート８０を介してｗｗｗ．ｖｉｒｕｓｔｏｔａｌ．ｃｏｍへなされ、／ｖｔａｐｉ／ｖ２／ｆｉｌｅ／ｓｃａｎへのアクセスが行われる。領域４４０に示すように、プロファイルがマッチングされるには、イベントが、プロファイルに示した順序で発生する必要がある。さらに、イベントは両方とも、１分間の期間内に観察されなければならない（４４２）。
【００６４】
図５は、マルウェアプロファイルを構築するための処理の一例を示す。様々な実施形態において、処理５００は、既知のマルウェア３２０に対して、マルウェアプロファイラ３１８によって実行される。マルウェアプロファイラ３１８を実装するための一方法例は、適切なスクリプト言語（例えば、Ｐｙｔｈｏｎ）で書かれたスクリプト（または、スクリプトのセット）を用いる方法である。処理５００は、マルウェアサンプルの実行に関連するデータが受信される工程５０２で始まる。上述のように、データベース３１６（例えば、ＭｏｎｇｏＤＢデータベース）が、動的解析中に取得された情報など、マルウェア（マルウェア３２０など）に関する様々な情報を含む。データベース３１６は、安全なサンプルに関する同様の情報も含む。
【００６５】
工程５０２で実行できる処理の一例として、マルウェアプロファイラ３１８は、データベース３１６にアクセスして、（例えば、動的解析中に記録された）マルウェア３２０の生ネットワークトレースを取得する。生ネットワークパケットは、（例えば、ｄｐｋｔ  Ｐｙｔｈｏｎモジュールを用いて）パースされ、マルウェアプロファイラ３１８によって要求−応答ペア（ラウンドトリップ）に統合される。次いで、それらのペアは、ペアの送信元ＩＰ／ポートおよび宛先ＩＰ／ポートを相関させることによって一連のネットワーク活動にマージされる。ネットワーク活動（ＮＡ）の一例は、ＨＴＴＰプロトコルを用いて、宛先ポート８０でｔｗｉｔｔｅｒ．ｃｏｍ／ｐｉｄｏｒａｓ６にアクセスすることである。特定のＮＡを定義するための正式な方法は、以下の４タプルの属性を用いる方法である：ＮＡ＝＜プロトコル，宛先ポート，ＨＴＴＰホスト，ＨＴＴＰ  ＵＲＩ＞。上に挙げた４つの属性に加えて／その代わりに、その他のタイプの情報が、ＮＡの定義に含められてもよい。一例として、プロファイルは、ユーザエージェント（例えば、ＨＴＴＰトラフィックの場合）、送信／受信パケット数、各送信／受信パケットのサイズ、および／または、トラフィック方向、をさらに含んでもよい。一般に、マルウェアプロファイルに含まれる属性が多いほど、プロファイルは、マルウェアを一意的に記述するのに、より正確になる（安全なアプリケーション行動に対するフォルスポジティブ一致を避けるのに役立つ）。ただし、（例えば、上述の４タプルよりも多い属性を含む）厳密なプロファイルは、マルウェアの新たな変異型と一致する可能性が低い場合がある。生プロファイル（Ｐ）が、ネットワーク活動のシーケンスを用いて構築されうる（５０４）：Ｐ＝ＮＡ１，ＮＡ２，ＮＡ３など。
【００６６】
一部の例において、生プロファイルは、マルウェア３２０の実行と同時に起きるネットワーク活動を含む。例えば、システムレベル活動（Ｗｉｎｄｏｗｓがクロックを同期させる、など）が、生プロファイルに含まれるネットワーク活動にもつながりうる。工程５０６で、生プロファイルは、マルウェアプロファイルが、所与のマルウェアの特性を一意的に表すことを保証するのに役立つようにフィルタリングされる。様々な実施形態において、かかるフィルタリングは、ＮＴＰ、ＮＥＴＢＩＯＳ、および、ＩＧＭＰに関連するネットワーク活動を除去することを含む。
【００６７】
工程５０８で、プロファイルが、マルウェアサンプルの活動を十分に一意的に記述しているか否かを判定するために、フィルタリングされたプロファイルの１以上の評価が実行される。工程５０８で実行できるかかる評価の一例は、フィルタリングされたプロファイルが任意の既存のマルウェアプロファイル（例えば、データベース３１６にすでに存在する）と一致するか否かを判定することである。一致する場合、これは、マルウェア（例えば、マルウェア３２０）がサンプルのファミリ（ファミリ内のサンプルは、実行時に同一（または同様）の行動を示す）に属することを示しうる。フィルタリングされたプロファイルが、マルウェアファミリに関連するプロファイルと一致する場合、マルウェアは、そのファミリに属する他のサンプルに（例えば、データベース３１６内で）関連付けられうる。効率のために、実施中に、サンプルが悪意あるものであるか否か（すなわち、そのファミリのメンバーであるか否か）を検出するのに役立つように、ファミリに対して単一のプロファイル（または削減されたプロファイルセット）を利用できる。
【００６８】
ファミリ一致は、厳密であってよい（すなわち、フィルタリングされたプロファイルは、一致と見なされるためにはファミリのプロファイルと完全一致しなければならない）。ファミリ一致は、曖昧一致であって、許容範囲が設けられてもよい。一例として、マルウェアのＡｌｌａｐｌｅファミリにおける一部の変異型は、動作４２８、４３０、および、４３２の各々を実行しうる。Ａｌｌａｐｌｅファミリにおける他の変異型は、動作４３２を実行せずに動作４２８および４３０を実行しうる。いくつかの実施形態において、Ａｌｌａｐｌｅファミリに対する単一のマルウェアプロファイルが、データベース３１６に格納され、このプロファイルは、動作４３２が任意選択的であることを示す。別の実施形態において、データベース３１６は、Ａｌｌａｐｌｅファミリに対して２つのプロファイルを備えてもよく、一方は動作４３２を含み、もう一方は含まない。
【００６９】
工程５０８で実行できる評価の別の例は、フィルタリングされたプロファイルと、データベース３１６に格納されたサンプルの履歴ｐｃａｐとを用いて、回帰テストを実行するものである。上述のように、データベース３１６は、安全なサンプルおよび悪意あるサンプルの両方に関する静的／動的解析レポートを含む。フィルタリングされたプロファイルを履歴ｐｃａｐに適用した結果、閾値数を超えるフォルスポジティブが生じた（例えば、そのプロファイルによってなされた一致の３％以上が安全なサンプルのｐｃａｐである）場合、フィルタリングされたプロファイルは、利用に適さない可能性があり、処理５００は、該当する場合、（フィルタリングされたプロファイルをマルウェアプロファイルとして格納せずに）、早期に終了する。
【００７０】
工程５１０で、マルウェア３２０に対してフィルタリングされた有効なプロファイルが、格納される。いくつかの実施形態において、プロファイルは、データベース３１６に格納される。さらに（または、様々な実施形態において、その代わりに）、マルウェアプロファイルは、別のストレージに書き込まれてもよい。一例として、各ネットワーク活動は、キー／値ペアに分けられて、サンプルのリアルタイム解析中の迅速なルックアップのために、プラガブルバックエンド・キー／値ペア・ストア（例えば、Ｒｅｄｉｓストア３２２）に格納されうる。
【００７１】
マルウェアプロファイルの利用
【００７２】
上述したように、マルウェアプロファイルは、様々な有益な方法で利用されうる。第１例として、マルウェアプロファイルは、サンプル解析システム３００によって実行された静的／動的解析を補完するために利用できる。第２例として、マルウェアプロファイルは、（例えば、フォレンジック解析および／またはエンドポイント保護のために）アプライアンス／エンドポイントによって利用されうる。
【００７３】
例−悪意あるアプリケーションの識別
【００７４】
図６は、サンプルが悪意あるものであるか否かを判定するための処理の一実施形態を示す。様々の実施形態において、処理６００は、サンプル解析システム３００によって実行される。処理は、潜在的に悪意あるサンプルが実行される工程６０２で開始する。工程６０２で実行される処理の一例として、動的解析エンジン３１０が、サンプル（サンプル１３０など）を実行する。サンプルの実行中に起きる活動が記録される。上述のように、ネットワークトラフィック（例えば、ｐｃａｐデータとして）が、工程６０２で記録されるデータの一例である。
【００７５】
工程６０４で、パターンエクストラクタ３２４が、工程６０２で記録された情報から活動を抽出し、活動パターンを生成する。パターンエクストラクタ３２４を実装するための一方法は、適切なスクリプト言語（例えば、Ｐｙｔｈｏｎ）で書かれたスクリプト（または、スクリプトのセット）を用いる方法である。様々な実施形態において、パターンエクストラクタ３２４は、処理５００の工程５０２〜５０６を実行することによって（例えば、工程６０２で取得されたｐｃａｐデータと、該当する場合、その他の情報（ファイル書き込みおよび読み出しなど）とを用いて）活動パターンを生成する。
【００７６】
工程６０６で、パターンエクストラクタ３２４は、（サンプルについて）抽出されたパターンを、（例えば、処理５００に従って、データベース３１６および／またはストア３２２に以前に格納された）マルウェアプロファイルと比較する。特に、パターンエクストラクタ３２４は、工程６０４で抽出されたパターンをストア３２２で検索する。工程６０６で実行される比較は、厳密であり、サンプルのパターンと、ストア３２２内のマルウェアプロファイルとの間の完全一致を要求してよい。工程６０６で実行される比較は、曖昧であってもよい。一例として、曖昧一致では、一致が見出されるためには、活動の少なくとも８５％が、サンプルのパターンとマルウェアプロファイルとの間で一致することを必要としうる。別の例として、曖昧一致では、同じ活動が、異なる順序で起きてもよいが、サンプルのパターンおよびマルウェアプロファイルの両方で起きることを必要としうる。さらに別の例において、曖昧一致チは、１以上の属性の完全ではない一致（単一の活動における単一のポート番号が２つの間で異なる、など）を許容してもよい（ただし、それ以外では、完全一致を必要とする）。
【００７７】
工程６０８で、判定が、サンプルに割り当てられる。上述のように、様々な実施形態において、静的解析エンジン３０６および動的解析エンジン３１０（および／またはコーディネータ３０４）は、所与のサンプルの悪意に関する１以上の判定を形成する。パターンエクストラクタ３２４は、サンプルに対する判定を同様に決定できる（その判定は、最終的な判定を決定する要因として利用されうるか、または、該当する場合、最終判定を制御しうる）。パターンエクストラクタ３２４は、その判定を動的解析エンジン３１０に提供することもでき、動的解析エンジン３１０は、パターンエクストラクタ３２４の判定を、サンプルに対する判定を決定するそれ自身の要因の１つとして利用できる）。一致が工程６０６において（サンプルのパターンと、ストア３２２に格納されたマルウェアプロファイルとの間で）見出された場合、パターンエクストラクタ３２４は、サンプルに対して「悪意ある」の判定を割り当てることができる。プロファイルがサンプルのパターンと一致したマルウェアのＭＤ５またはその他の識別子、一致したマルウェアに関連する任意のマルウェアファミリ情報など、さらなる情報が、「悪意ある」との判定と共に返されてもよい。かかる一致が見出されない場合、パターンエクストラクタ３２４は、「未知」の判定（または、該当する場合、別の適切な判定）を割り当てることができる。
【００７８】
例−フォレンジック／インライン解析
【００７９】
図１の環境に戻ると、時々、マルウェア（マルウェア１３０など）は、ネットワーク１４０への侵入に成功する。このことの１つの理由は、データアプライアンス１０２が「初回許容（ｆｉｒｓｔ−ｔｉｍｅ  ａｌｌｏｗ）」の原理で動作することである。アプライアンス（データアプライアンス１０２など）が、セキュリティプラットフォーム１２２にサンプルを提出した時に、セキュリティプラットフォーム１２２がデータアプライアンス１０２に判定（「安全」、「悪意ある」、「未知」など）を返すのに約１５分間かかると仮定する。その１５分間に、システム１２０とクライアントデバイス１０４との間の通信をブロックする代わりに、初回許容の原理の下、通信が許容される。判定が（例えば、１５分後に）返されると、データアプライアンス１０２は、判定（例えば、「悪意ある」）を用いて、ネットワーク１４０へのマルウェア１３０の後続の送信をブロックすることができる、システム１２０とネットワーク１４０との間の通信をブロックすることができる、などである。残念ながら、データアプライアンス１０２がセキュリティプラットフォーム１２２からの判定を待つ１５分の間に、クライアントデバイス１０４のユーザが、マルウェア１３０を実行して、潜在的に、ネットワーク１４０内のその他のノード（例えば、クライアントデバイス１０６）へのマルウェア１３０の伝播を引き起こしている可能性がある。マルウェア（マルウェア１３０など）がネットワーク１４０に侵入しうる別の方法例は、ラテラルムーブメントによるものである（例えば、マルウェアが感染ＵＳＢドライブ経由でノードにインストールされた場合、マルウェアがファイアウォールを通して伝搬しない場合、など）。
【００８０】
データアプライアンス１０２は、ログのセットを維持する（例えば、ネットワーク１４０の接続情報を記録するトラフィックログ、および、クライアント（クライアント１０４〜１１０など）によって要求されたＵＲＬを記録するＵＲＬログ）。本明細書に記載の技術を用いて、マルウェアプロファイルは、かかるログの解析に役立つように用いられてよく、ネットワーク１４０へのマルウェア（例えば、マルウェア１３０）の侵入を許すことによって引き起こされるダメージを特定および軽減するのに役立ちうる。
【００８１】
図７Ａは、データアプライアンス（例えば、データアプライアンス１０２）によって記録されたデータのイベントシーケンスを示す。特に、図７Ａは、トラフィックログからのログライン（例えば、ライン１、４、および、６）と、ＵＲＬログからのログライン（例えば、ライン２、３、および、５）とを示す。ログデータは、ネットワーク内の２つの異なるノード（以降、「ｈｏｓｔ１」および「ｈｏｓｔ２」と呼ぶ）に関連している。図７Ａに示す例において、ｈｏｓｔ１は、様々なウェブサイトを閲覧するために（以降「アリス」と呼ぶユーザによって）用いられる侵害されていないクライアントデバイスであるとする。さらに、ｈｏｓｔ２は、Ｓａｒｏｄｉｐの変異型によって侵害されているとする。図７Ａのライン２、３、および、６は、ｈｏｓｔ２が侵害された証拠を提供する。特に、ｈｏｓｔ２は、ＨＴＴＰポート８０を用いてｗｗｗ．ｔｗｉｔｔｅｒ．ｃｏｍ／ｐｉｄｏｒａｓ６にアクセスし（７０４）、その後、ＨＴＴＰポート８０を用いてｗｗｗ．ｖｉｒｕｓｔｏｔａｌ．ｃｏｍ／ｖｔａｐｉ／ｖ２／ｆｉｌｅ／ｓｃａｎにもアクセスし（７０６）、その後、ＴＣＰを介して暗号化された（ＨＴＴＰＳ）通信を行った（７０８）。
【００８２】
図７Ａに示すように、アリスは、ＶｉｒｕｓＴｏｔａｌウェブサイト、および、Ｔｗｉｔｔｅｒウェブサイトを、他のサイトと共に、たまたま閲覧している。しかしながら、これも図７Ａに示すように、ｈｏｓｔ１上でのアリスの安全な閲覧活動は、侵害されたｈｏｓｔ２によって生成されたログラインとは大きく異なるログラインを生成する。特に、アリスがＶｉｒｔｕｓＴｏｔａｌにアクセスする時、彼女の接続は、ＨＴＴＰＳを利用し（７１０）、（例えば、広告の表示に関連する）多くの異なるリソースが、彼女の閲覧と連動して彼女のブラウザによって要求される（例えば、７１４）。同様に、アリスがＴｗｉｔｔｅｒにアクセスする時、彼女の接続は、ＨＴＴＰＳを利用し（７１６）、（例えば、画像の表示に関連する）多くの異なるリソースが、彼女の閲覧と連動して彼女のブラウザによって要求される（例えば、７１２）。
【００８３】
図７Ｂは、図７Ａに示したイベントシーケンスを表現した図である。ｈｏｓｔ１に関連するイベントが、領域７５２に、網掛けボックス（例えば、ボックス７５４）として図示されており、ｈｏｓｔ２に関連するイベントが、網掛けなしのボックス（例えば、ボックス７５６）として図示されている。特に、ボックス７５４は、図７Ａに示したログデータのライン１（７０２）に対応する−ｈｏｓｔ１によってなされたＵＤＰ接続。ボックス７５８は、図７Ａに示したログデータのライン２（および、図４Ａに示したＳａｒｏｄｉｐマルウェアプロファイルのライン４０４）に対応する。ボックス７６０、７６２、および、７６４は、ｈｏｓｔ１のウェブ閲覧活動に対応する。ボックス７６６は、図７Ａに示したログデータのライン３（および、図４Ａに示したＳａｒｏｄｉｐマルウェアプロファイルのライン４１４）に対応する。ボックス７６８は、図７Ａに示したログデータのライン４に対応する（Ｓａｒｏｄｉｐマルウェアプロファイルには関係がない）。最後に、ボックス７７０は、図７Ａに示したログデータのライン６に対応する。
【００８４】
マルウェアプロファイル４Ａを用いて、ホストごとに、図７Ａに示したログエントリに対して、マッチングが実行されうる。様々な実施形態において、サブシーケンスの一致が用いられる（例えば、所与のホストが、並行して複数の活動に従事する可能性があり、それらの活動の少なくとも一部は潜在的な侵害に関係しない可能性があることを考慮するため）。５分間のスライディングウィンドウ（７７２）が、Ｓａｒｏｄｉｐマルウェアプロファイルにおいて４２０で指定された時間ウィンドウに従って、マッチングの実行時に用いられる。かかるマッチングの実行により、ｈｏｓｔ２がＳａｒｏｄｉｐによって侵害されたことが特定される。侵害されたホストを企業ネットワーク１４０内のその他のノードと通信しないように隔離する、管理者に警告するなど、様々な動作が、かかる判定に応じて取られうる。
【００８５】
図８は、マルウェアプロファイルを用いて、侵害されたホストを識別するための処理の一例を示す。様々な実施形態において、処理８００は、データアプライアンス１０２によって（特に、マルウェア解析モジュール１１２によって）実行される。マルウェア解析モジュール１１２は、適切なスクリプト言語（例えば、Ｐｙｔｈｏｎ）で書かれたスクリプト（またはスクリプトのセット）を用いて実装されうる。様々な実施形態において、処理８００は、（例えば、データアプライアンス１０２が、そのログを解析のためにセキュリティプラットフォーム１２２に提供する場合）サードパーティサービスとして実行される。処理８００は、クライアントデバイス１０４などのエンドポイント上で実行されてもよい（例えば、クライアントデバイス１０４上で実行するエンドポイント保護アプリケーションによって）。
【００８６】
処理８００は、マルウェアプロファイルが受信される工程８０２で開始する。マルウェアプロファイルは、様々な動作に応じて、工程８０２で受信されうる。一例として、（例えば、データアプライアンス１０２の）管理者が、ネットワーク１４０内のいずれかのノードがＳａｒｏｄｉｐによって侵害された可能性があるか否かに関する監査またはその他の明示的な問合せと連動して、マルウェアプロファイル（例えば、マルウェアプロファイル４Ａ）をデータアプライアンス１０２に提供できる。別の例として、データアプライアンス１０２は、（例えば、１以上の他のマルウェアプロファイルと共に）定期的なコンテンツ更新の一部としてマルウェアプロファイルを受信できる。さらに別の例として、データアプライアンス１０２は、データアプライアンス１０２が（例えば、セキュリティプラットフォーム１２２がその解析を完了した後に、マルウェア１３０に関して）判定を受信する時に、工程８０２でマルウェアプロファイルを受信できる。
【００８７】
工程８０４で、ログのセットが、マルウェアプロファイルと一致するエントリについて解析される。該当する場合、マルウェア解析モジュール１１２は、ログのセットを解析する前に、ＲＡＭ内の複数の個々のログ（例えば、トラフィックログおよびＵＲＬログ）を結合することができる。同様に、より長い期間のログデータを調べることが望まれる場合、同じタイプの複数のログ（例えば、１月１日〜７日のトラフィックログ、および、１月８日〜１４日のトラフィックログ）が結合されうる。工程８０４で実行される解析は、イベント（例えば、プロファイルの受信、または、解析を開始するために管理者によって提供された命令の受信）によってトリガされうる。工程８０４で実行される解析は、定期的に（例えば、毎日または毎週）実行されてもよい。
【００８８】
最後に、工程８０６で、ログエントリのセットがマルウェアプロファイルと一致することがわかった場合、それらのログエントリに関わるホストが、侵害されたと判定される。上述のように、ホストが侵害された旨の判定に応じて、ホストを企業ネットワーク１４０内のその他のノードと通信しないように隔離する、管理者に警告するなど、様々な是正動作を取ることができる。
【００８９】
上述の実施形態は、理解しやすいようにいくぶん詳しく説明されているが、本発明は、提供された詳細事項に限定されるものではない。本発明を実施する多くの代替方法が存在する。開示された実施形態は、例示であり、限定を意図するものではない。
【図１】
2021514501.tif 000003
【図２】
2021514501.tif 000004
【図３】
2021514501.tif 000005
【図４Ａ】
2021514501.tif 000006
【図４Ｂ】
2021514501.tif 000007
【図４Ｃ】
2021514501.tif 000008
【図５】
2021514501.tif 000009
【図６】
2021514501.tif 000010
【図７Ａ】
2021514501.tif 000011
【図７Ｂ】
2021514501.tif 000012
【図８】
2021514501.tif 000013
【国際調査報告】
2021514501.tif 000014