(57)【要約】  マルウェア分析のためのサンドボックス構成を決定するための方法が説明される。一実施形態において、方法は、複数のファイルを受信することと、複数のファイルからの少なくとも１つのファイルから少なくとも１つの要素を抽出することと、エンドポイントと関連付けられた１つ以上のプロパティを識別することと、少なくとも１つの抽出された要素とエンドポイントの１つ以上のプロパティとの間の相関を決定することと、決定された相関に少なくとも部分的に基づいて１つ以上のサンドボックス構成を決定することと、を含み得る。いくつかの場合において、エンドポイントは、複数のファイルのうちの少なくとも１つに関連する。
2020511715.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータシステム上のマルウェア分析のためのサンドボックス構成を決定するためのコンピュータ実装方法であって、
１つ以上のプロセッサを介して複数のファイルを受信することと、
前記１つ以上のプロセッサを介して、前記複数のファイルからの少なくとも１つのファイルから少なくとも１つの要素を抽出することと、
前記１つ以上のプロセッサを介して、エンドポイントと関連付けられた１つ以上のプロパティを識別することであって、前記エンドポイントが、前記複数のファイルのうちの少なくとも１つに関連する、識別することと、
前記１つ以上のプロセッサを介して、前記少なくとも１つの抽出された要素と前記エンドポイントの前記１つ以上のプロパティとの間の相関を決定することと、
前記１つ以上のプロセッサを介して、前記決定された相関に少なくとも部分的に基づいて、１つ以上のサンドボックス構成を決定することと、を含む、方法。
【請求項２】
前記エンドポイント上の前記複数のファイルのうちの少なくとも１つに関連する正常な実行を識別することと、
前記正常な実行に少なくとも部分的に基づいて、前記エンドポイントと関連付けられた前記１つ以上のプロパティを識別することと、を含む、請求項１に記載の方法。
【請求項３】
前記少なくとも１つの抽出された要素を、前記複数のファイルを分類するための分類特徴として使用することを含む、請求項１に記載の方法。
【請求項４】
新しいファイルを受信することと、
前記新しいファイルから１つ以上の要素を抽出することと、
前記１つ以上の抽出された要素の分析に基づいてセキュリティアクションを実施することと、を含み、前記セキュリティアクションを実施することが、前記１つ以上のサンドボックス構成の中から、事前決定された相関に少なくとも部分的に基づいて、前記新しいファイルのためのサンドボックス構成を識別することを含む、請求項１に記載の方法。
【請求項５】
前記１つ以上の抽出された要素の分類を識別することと、
前記識別された分類に少なくとも部分的に基づいて、前記事前決定された相関を識別することと、を含む、請求項４に記載の方法。
【請求項６】
前記識別されたサンドボックス構成で実行されたときに、前記新しいファイルが事前定義された最小挙動を示すか否かを決定することと、
前記識別されたサンドボックス構成で実行されたときに、前記新しいファイルが前記事前定義された最小挙動を示すという決定に応じて、前記事前決定された相関と関連付けられた信頼スコアを増加させることと、を含む、請求項４に記載の方法。
【請求項７】
前記識別されたサンドボックス構成で実行されたときに、前記新しいファイルが前記事前定義された最小挙動を示すことに失敗するという決定に応じて、前記事前決定された相関と関連付けられた信頼スコアを減少させることと、を含む、請求項６に記載の方法。
【請求項８】
新しいファイルを受信することと、
前記新しいファイルから１つ以上の要素を抽出することと、
前記新しいファイルから抽出された前記１つ以上の要素が、複数のクラスタのうちの少なくとも１つと相関するか否かを決定することと、を含む、請求項１に記載の方法。
【請求項９】
前記１つ以上の抽出された要素が前記複数のクラスタと相関しないという決定に応じて、
前記新しいファイルを含むクラスタを生成することであって、前記クラスタが、前記新しいファイルから抽出された前記１つ以上の要素に少なくとも部分的に基づいて生成されている、生成することと、
前記エンドポイントと関連付けられた前記１つ以上のプロパティを識別することと、を含み、前記新しいファイルが、前記エンドポイント上で実行されたときに事前定義された最小挙動を示す、請求項８に記載の方法。
【請求項１０】
前記生成されたクラスタを前記複数のクラスタに追加することと、
前記複数のクラスタと前記エンドポイントの前記１つ以上のプロパティとの間の相関を更新することと、を含む、請求項９に記載の方法。
【請求項１１】
前記１つ以上の抽出された要素が前記複数のクラスタと相関するという決定に応じて、
前記新しいファイルと関連付けられた既存のクラスタを識別することと、
前記既存のクラスタに少なくとも部分的に基づいて、事前決定された相関を識別することと、
前記１つ以上のサンドボックス構成の中から識別することと、を含み、前記新しいファイルのためのサンドボックス構成が、前記事前決定された相関に少なくとも部分的に基づく、請求項８に記載の方法。
【請求項１２】
前記抽出することが、
前記複数のファイル内の各ファイルを解析して、各ファイルから前記少なくとも１つの要素を識別することを含む、請求項１に記載の方法。
【請求項１３】
前記エンドポイントと関連付けられた前記１つ以上のプロパティが、１つ以上のプロセッサ、オペレーティングシステム、前記オペレーティングシステムと関連付けられたバージョン、メモリ、ファイルシステム、デバイス属性、ロケール、地理的情報、入力、いくつかの実行プロセス、実行プロセスと関連付けられた詳細、エンドポイントにインストールされたソフトウェア、又はそれらの組み合わせのうちの少なくとも１つを含む、請求項１に記載の方法。
【請求項１４】
マルウェア分析のためのサンドボックス構成を決定するためのコンピューティングデバイスであって、
１つ以上のプロセッサと、
前記１つ以上のプロセッサと電子通信するメモリと、を備え、前記メモリが、コンピュータ実行可能命令を記憶し、前記命令が、前記１つ以上のプロセッサによって実行されたとき、前記１つ以上のプロセッサに、
複数のファイルを受信するステップと、
前記複数のファイルからの少なくとも１つのファイルから少なくとも１つの要素を抽出するステップと、
エンドポイントと関連付けられた１つ以上のプロパティを識別するステップであって、前記エンドポイントが、前記複数のファイルのうちの少なくとも１つに関連する、ステップと、
前記少なくとも１つの抽出された要素と前記エンドポイントの前記１つ以上のプロパティとの間の相関を決定するステップと、
前記決定された相関に少なくとも部分的に基づいて、１つ以上のサンドボックス構成を決定するステップと、を実施させる、コンピューティングデバイス。
【請求項１５】
前記１つ以上のプロセッサによって実行された前記命令が、前記１つ以上のプロセッサに、
前記エンドポイント上の前記複数のファイルのうちの少なくとも１つに関連する正常な実行を識別するステップと、
前記正常な実行に少なくとも部分的に基づいて、前記エンドポイントと関連付けられた前記１つ以上のプロパティを識別するステップと、を実施させる、請求項１４に記載の装置。
【請求項１６】
前記１つ以上のプロセッサによって実行された前記命令が、前記１つ以上のプロセッサに、
前記少なくとも１つの抽出された要素を、前記複数のファイルを分類するための分類特徴として使用するステップを実施させる、請求項１４に記載の装置。
【請求項１７】
前記１つ以上のプロセッサによって実行された前記命令が、前記１つ以上のプロセッサに、
新しいファイルを受信するステップと、
前記新しいファイルから１つ以上の要素を抽出するステップと、
前記１つ以上の抽出された要素の分析に基づいてセキュリティアクションを実施するステップと、を実施させ、前記セキュリティアクションを実施するステップが、前記１つ以上のサンドボックス構成の中から、事前決定された相関に少なくとも部分的に基づいて、前記新しいファイルのためのサンドボックス構成を識別することを含む、請求項１４に記載の装置。
【請求項１８】
前記１つ以上のプロセッサによって実行された前記命令が、前記１つ以上のプロセッサに、
前記１つ以上の抽出された要素の分類を識別するステップと、
前記識別された分類に少なくとも部分的に基づいて、前記事前決定された相関を識別するステップと、を実施させる、請求項１７に記載の装置。
【請求項１９】
コンピュータ実行可能命令を記憶する非一時的コンピュータ可読記憶媒体であって、前記命令が、１つ以上のプロセッサによって実行されたとき、前記１つ以上のプロセッサに、
複数のファイルを受信するステップと、
前記複数のファイルからの少なくとも１つのファイルから少なくとも１つの要素を抽出するステップと、
エンドポイントと関連付けられた１つ以上のプロパティを識別するステップであって、前記エンドポイントが、前記複数のファイルのうちの少なくとも１つに関連する、ステップと、
前記少なくとも１つの抽出された要素と前記エンドポイントの前記１つ以上のプロパティとの間の相関を決定するステップと、
前記決定された相関に少なくとも部分的に基づいて、１つ以上のサンドボックス構成を決定するステップと、を実施させる、非一時的コンピュータ可読記憶媒体。
【請求項２０】
前記１つ以上のプロセッサによって実行された前記命令が、前記１つ以上のプロセッサに、
前記エンドポイント上の前記複数のファイルのうちの少なくとも１つに関連する正常な実行を識別するステップと、
前記正常な実行に少なくとも部分的に基づいて、前記エンドポイントと関連付けられた前記１つ以上のプロパティを識別するステップと、を実施させる、請求項１９に記載のコンピュータプログラム製品。
【発明の詳細な説明】
【背景技術】
【０００１】
コンピュータシステム及びコンピュータ関連技術の用途は急速に増大し続けている。コンピュータシステムの用途におけるこの増大は、コンピュータ関連技術に対する進歩に影響を与えてきた。コンピュータシステムは、益々、実業界及び個人消費者の活動の重要な部分になってきている。コンピュータシステムは、いくつかの事業、産業、及び学術的努力を実施するのに使用されることがある。
【０００２】
コンピュータ及びモバイルデバイスの広範な使用は、ルートキット、スパイウェア、トロイの木馬等の悪意あるプログラムの存在の増大をもたらしている。マルウェアプログラマはマルウェア検出においてなされた改善に継続的に適応しており、これは、マルウェア検出の改善に適応するマルウェア技法の継続的なサイクルを作成する。サンドボックスは、新しい又はテストを行っていないソフトウェアが安全に実行され得る仮想空間である。サンドボックス構成は、一般的であるが、全てのファイルが、実行のために特別な環境を必要とする特定のターゲットファイルを実行することを可能にするフリーサイズの構成は、存在しない。
【発明の概要】
【０００３】
少なくとも１つの実施形態によると、マルウェア分析のためのサンドボックス構成を決定するための方法が説明される。一実施形態において、方法は、複数のファイルを受信することと、複数のファイルからの少なくとも１つのファイルから少なくとも１つの要素を抽出することと、エンドポイントと関連付けられた１つ以上のプロパティを識別することと、少なくとも１つの抽出された要素とエンドポイントの１つ以上のプロパティとの間の相関を決定することと、決定された相関に少なくとも部分的に基づいて１つ以上のサンドボックス構成を決定することと、を含み得る。いくつかの場合において、エンドポイントは、複数のファイルのうちの少なくとも１つに関連し得る。
【０００４】
いくつかの場合において、方法は、エンドポイント上の複数のファイルのうちの少なくとも１つに関連する正常な実行を識別することと、正常な実行に少なくとも部分的に基づいてエンドポイントと関連付けられた１つ以上のプロパティを識別することと、を含み得る。いくつかの場合において、方法は、少なくとも１つの抽出された要素を、複数のファイルを分類するための分類特徴として使用することを含み得る。
【０００５】
いくつかの実施形態において、方法は、新しいファイルを受信することと、新しいファイルから１つ以上の要素を抽出することと、１つ以上の抽出された要素の分析に基づいてセキュリティアクションを実施することと、を含み得る。いくつかの例において、セキュリティアクションを実施することは、１つ以上のサンドボックス構成の中から、新しいファイルのためのサンドボックス構成を識別することを含み得る。いくつかの場合において、新しいファイルのためのサンドボックス構成は、少なくとも部分的に事前決定された相関に基づく。
【０００６】
いくつかの実施形態において、方法は、１つ以上の抽出された要素の分類を識別することと、識別された分類に少なくとも部分的に基づいて、事前決定された相関を識別することと、を含み得る。いくつかの実施形態において、方法は、新しいファイルが、識別されたサンドボックス構成内で実行されたとき、事前定義された最小挙動を示すか否かを決定することと、識別されたサンドボックス構成内で実行されたとき、事前定義された最小挙動を示すという決定に応じて、事前決定された相関と関連付けられた信頼スコアを増加させることと、を含み得る。
【０００７】
いくつかの実施形態において、方法は、識別されたサンドボックス構成で実行されたときに新しいファイルが事前定義された最小挙動を示すことに失敗するという決定に応じて、事前決定された相関と関連付けられた信頼スコアを減少させることと、を含み得る。
【０００８】
いくつかの実施形態において、方法は、新しいファイルを受信することと、新しいファイルから１つ以上の要素を抽出することと、新しいファイルから抽出された１つ以上の要素が複数のクラスタのうちの少なくとも１つと相関するか否かを決定することと、を含み得る。
【０００９】
いくつかの実施形態において、１つ以上の抽出された要素が複数のクラスタと相関しないという決定に応じて、方法は、新しいファイルを含むクラスタを生成することであって、クラスタが、新しいファイルから抽出された１つ以上の要素に少なくとも部分的に基づいて生成されている、生成することと、エンドポイントと関連付けられた１つ以上のプロパティを識別することと、を含み得る。いくつかの場合において、新しいファイルは、エンドポイント上で実行されたとき、事前定義された最小挙動を示し得る。
【００１０】
いくつかの実施形態において、方法は、生成されたクラスタを複数のクラスタに追加することと、複数のクラスタとエンドポイントの１つ以上のプロパティとの間の相関を更新することと、を含み得る。いくつかの実施形態において、１つ以上の抽出された要素が複数のクラスタと相関するという決定に応じて、方法は、新しいファイルと関連付けられた既存のクラスタを識別することと、既存のクラスタに少なくとも部分的に基づいて、事前決定された相関を識別することと、１つ以上のサンドボックス構成の中から、新しいファイルのためのサンドボックス構成を識別することと、を含み得る。いくつかの場合において、新しいファイルのためのサンドボックス構成は、少なくとも部分的に事前決定された相関に基づく。
【００１１】
いくつかの実施形態において、方法は、複数のファイル内の各ファイルを解析して、各ファイルから少なくとも１つの要素を識別することを含み得る。いくつかの場合において、エンドポイントと関連付けられた１つ以上のプロパティは、１つ以上のプロセッサ、オペレーティングシステム、オペレーティングシステムと関連付けられたバージョン、メモリ、ファイルシステム、デバイス属性、ロケール、地理的情報、入力、いくつかの実行プロセス、実行プロセスと関連付けられた詳細、エンドポイントにインストールされたソフトウェア、又はそれらの組み合わせのうちの少なくとも１つを含む。
【００１２】
マルウェア分析のためのサンドボックス構成を決定するためのコンピューティングデバイスもまた、説明される。コンピューティングデバイスは、１つ以上のプロセッサと、１つ以上のプロセッサプロセッサと電子通信しているメモリと、を含み得る。メモリは、コンピュータ実行可能命令を記憶し得、命令が、１つ以上のプロセッサによって実行されたとき、１つ以上のプロセッサに、複数のファイルを受信することと、複数のファイルからの少なくとも１つのファイルから少なくとも１つの要素を抽出することと、エンドポイントと関連付けられた１つ以上のプロパティを識別することと、少なくとも１つの抽出された要素とエンドポイントの１つ以上のプロパティとの間の相関を決定することと、決定された相関に少なくとも部分的に基づいて、１つ以上のサンドボックス構成を決定することと、を実施させる。いくつかの場合において、エンドポイントは、複数のファイルのうちの少なくとも１つに関連し得る。
【００１３】
コンピュータ実行可能命令を記憶する非一時的コンピュータ可読記憶媒体もまた、説明される。命令が１つ以上のプロセッサによって実行されたとき、命令の実行は、１つ以上のプロセッサに、複数のファイルを受信することと、複数のファイルからの少なくとも１つのファイルから少なくとも１つの要素を抽出することと、エンドポイントと関連付けられた１つ以上のプロパティを識別することと、少なくとも１つの抽出された要素とエンドポイントの１つ以上のプロパティとの間の相関を決定することと、決定された相関に少なくとも部分的に基づいて、１つ以上のサンドボックス構成を決定することと、を実施させ得る。いくつかの場合において、エンドポイントは、複数のファイルのうちの少なくとも１つに関連し得る。上述の実施形態のいずれかによる特徴は、本明細書に記載される一般原理に従って、互いに組み合わせて使用されてもよい。これら及び他の実施形態、特徴、及び利点は、添付の図面及び特許請求の範囲と併せて以下の発明を実施するための形態を読むことによって更に十分に理解されるだろう。
【図面の簡単な説明】
【００１４】
添付の図面は、いくつかの例示的な実施形態を図示するものであり、本明細書の一部である。以下の説明と併せて、これらの図面は、本開示の様々な原理を実証及び説明する。
【００１５】
【図１】本開示の様々な態様による、本発明のシステム及び方法が実装され得る環境の一実施形態を例示するブロック図である。
【００１６】
【図２】本開示の様々な態様による、サンドボックス構成モジュールの一例を例示するブロック図である。
【００１７】
【図３】本開示の様々な態様による、分類モジュールの一例を例示するブロック図である。
【００１８】
【図４】本開示の様々な態様による、エンドポイントモジュールの一例を例示するブロック図である。
【００１９】
【図５】本開示の様々な態様による、マルウェア分析のためのサンドボックス構成を決定するための方法の一実施形態を例示するフロー図である。
【００２０】
【図６】本開示の様々な態様による、マルウェア分析のためのサンドボックス構成を決定するための方法の一実施形態を例示するフロー図である。
【００２１】
【図７】本開示の様々な態様による、マルウェア分析のためのサンドボックス構成を決定するための方法の一実施形態を例示するフロー図である。
【００２２】
【図８】本開示の様々な態様による、マルウェア分析のためのサンドボックス構成を決定するための方法の一実施形態を例示するフロー図である。
【００２３】
【図９】本開示の様々な態様による、本発明のシステム及び方法が実装され得る環境の一実施形態を例示するブロック図である。
【００２４】
【図１０】本開示の様々な態様による、本発明のシステム及び方法を実装するために好適なコンピュータシステムのブロック図を図示する。
【００２５】
【図１１】本開示の様々な態様による、本発明のシステム及び方法を実装するために好適なコンピュータシステムのブロック図を図示する。
【００２６】
【図１２】本開示の様々な態様による、クライアントシステム及びストレージサーバがネットワークに連結され得るネットワークアーキテクチャを図示するブロック図である。
【００２７】
本明細書に記載する実施形態は、様々な修正及び代替的な形態が可能であり、特定の実施形態を例として図面に示しており、本明細書において詳細に記載する。しかしながら、本明細書に記載される例示的実施形態は、開示される特定の形態に限定されることを意図しない。むしろ、本開示は、添付の特許請求の範囲内にある全ての修正物、等価物、及び代替物を網羅する。
【発明を実施するための形態】
【００２８】
本明細書に説明されるシステム及び方法は、サンプル固有サンドボックス構成を生成することに関する。より具体的には、本明細書に説明されるシステム及び方法は、ファイルの訓練セットに対する機械学習技術を使用して、ファイルを悪意のある及び悪意のないファイルに分類することに関する。ファイルの訓練セットは、悪意のあるファイル及び悪意のないファイルの両方を含み得る。いくつかの場合において、言語処理を使用する機械学習技術が、正常なサンドボックス構成を決定するために使用され得る。いくつかの例において、クラスタリングアルゴリズムが、悪意のあるファイルクラスタ及び悪意のないファイルクラスタを生成するために使用され得る。いくつかの例において、ファイルの訓練セットは、同様の環境で良好に機能するグループにクラスタ化され得る。
【００２９】
サンプル固有サンドボックス構成を生成する方法は、訓練段階及び予測段階の２つの段階を含み得る。訓練段階中、システムには、ファイルの訓練セットが提供される。例えば、ファイルの訓練セットは、悪意のあるファイル及び悪意のないファイルの両方を含み得る。いくつかの実施形態において、システムは、悪意のある及び悪意のないファイルを分類するように構成されたリモートプロセッサとすることができる。いくつかの場合において、リモートプロセッサは、第２のリモートプロセッサ、サーバ、コンピューティングデバイス、又はそれらの組み合わせから、ファイルの訓練セットを受信し得る。ファイルの訓練セット内の各ファイルは、ファイルの訓練セット内の各ファイルから少なくとも１つの要素を抽出するために検査され得る。要素は、ウイルス対策ソフトウェアによって使用されるものと同様の方法を使用して、各ファイルから抽出され得る。いくつかの例において、抽出された要素は、受信されたファイルからのメタデータを含み得る。
【００３０】
一度、要素が抽出されると、システムは、抽出された要素の各々を分析し、かつ要素が悪意のないファイルと関連付けられた場合にはポジティブ分析結果を、また、要素が悪意のあるファイルと関連付けられた場合にはネガティブ分析結果を生成するように構成され得る。いくつかの場合において、２つ以上のファイル間で、挙動の差が観察され得る。分析の一部として、いくつかの例において、システムは、エンドポイントで悪意のあるファイルの正常なデトネーションの指標を識別するように構成され得る。いくつかの例において、指標を受信すると、システムは、エンドポイントの１つ以上のプロパティを識別し得る。例えば、システムは、エンドポイント構成を識別し得る。システムは、ファイルが実行されたエンドポイントの詳細を説明するエンドポイント環境を更に識別し得る。詳細は、マシンに対するＢＡＳＨ挙動が観察された時点でマシン上にインストールされたソフトウェアに関する詳細を提供するＲＲＳＬｏｇデータを含み得る。エンドポイントのプロパティは、悪意のあるファイルの実行が生じた時点で、ネイティブシステムに関する細粒度情報を提供し得る挙動情報／データを更に含み得る。かかる細粒度情報は、アクティブキーボード、マウス入力、実行プロセスの数、及び実行プロセスに関する詳細が存在するか否かを含み得る。
【００３１】
エンドポイントのプロパティを識別すると、システムは、プロパティと抽出された要素との間の相関を決定し得る。一例として、システムは、マルウェアファイル自体のプロパティとそのマルウェアファイルの実行環境のプロパティとの間の相関を識別し得る。システムは、次いで、相関を識別することに少なくとも部分的に基づいてサンドボックス構成を識別し得る。つまり、システムは、サンドボックスによって所有されたときに、サンドボックスがファイルのタイプをデトネーションするために使用され得るプロパティセットを識別し得る。
【００３２】
予測段階中、新しいファイルが受信されたとき、１つ以上の要素が新しいファイルから識別される。いくつかの例において、システムは、上記の方法を使用して、新しいファイルから要素及び識別子を決定し得る。システムは、次いで、訓練段階中に決定された相関から、新しいファイルの要素と関連付けられた既存の相関を識別し得る。事前決定された相関を決定すると、システムは、サンドボックスの１つ以上のプロパティを識別し得る。識別されたサンドボックスは、同様の悪意のあるファイルをデトネーションするために使用されたエンドポイントと同一プロパティを所有し得る。上記のように、システムは、同様の悪意のあるファイルが訓練段階中に正常に実行された、エンドポイントと関連付けられた詳細を決定し得る。予測段階中、システムは、エンドポイントと同様のプロパティを含むようにサンドボックス構成を決定し得る。したがって、新しいファイルに関して、システムは、その悪意のある挙動を抽出する機会を増加させることになる、サンドボックスプロパティを自動的に導出するように構成され得る。
【００３３】
図１は、本開示の様々な態様による、本発明のシステム及び方法が実装され得る環境１００の一実施形態を例示するブロック図である。いくつかの実施形態において、本明細書に説明されるシステム及び方法は、デバイス（例えば、デバイス１０５）上で実行され得る。図示されるように、環境１００は、デバイス１０５、サーバ１１０、ディスプレイ１３０、コンピューティングデバイス１５０、並びにデバイス１０５、サーバ１１０、及びコンピューティングデバイス１５０が互いに通信することを可能にするネットワーク１１５を含み得る。
【００３４】
デバイス１０５の例としては、モバイルデバイス、スマートフォン、パーソナルコンピューティングデバイス、コンピュータ、ラップトップ、デスクトップ、サーバ、メディアコンテンツセットトップボックス、デジタルビデオレコーダ（digital video recorder、ＤＶＲ）、又はそれらの任意の組み合わせの任意の組み合わせが挙げられ得る。コンピューティングデバイス１５０の例としては、モバイルコンピューティングデバイス、ラップトップ、デスクトップ、サーバ、メディアセットトップボックス、又はそれらの任意の組み合わせの任意の組み合わせが挙げられ得る。サーバ１１０の例としては、データサーバ、クラウドサーバ、セキュリティソリューションプロバイダと関連付けられたサーバ、プロキシサーバ、メールサーバ、ウェブサーバ、アプリケーションサーバ、データベースサーバ、通信サーバ、ファイルサーバ、ホームサーバ、モバイルサーバ、ネームサーバ、又はそれらの任意の組み合わせが挙げられ得る。
【００３５】
いくつかの構成において、デバイス１０５は、ユーザインターフェース１３５、アプリケーション１４０、及びサンドボックス構成モジュール１４５を含み得る。デバイス１０５の構成要素は、デバイス１０５の内部にあるものとして図示されているが、構成要素のうちの１つ以上が、デバイス１０５の外部にあり、有線及び／又は無線接続を介してデバイス１０５に接続されてもよいことが理解される。いくつかの実施形態において、アプリケーション１４０は、ユーザがデバイス１０５、サンドボックス構成モジュール１４５、及び／又はサーバ１１０の機能とインターフェースすることを可能にするために、コンピューティングデバイス１５０上にインストールされ得る。
【００３６】
いくつかの実施形態において、デバイス１０５は、ネットワーク１１５を介してサーバ１１０と通信し得る。ネットワーク１１５の例としては、クラウドネットワーク、ローカルエリアネットワーク（local area network、ＬＡＮ）、ワイドエリアネットワーク（wide area network、ＷＡＮ）、仮想プライベートネットワーク（virtual private network、ＶＰＮ）、無線ネットワーク（例えば、８０２．１１を用いる）、セルラーネットワーク（例えば、３Ｇ及び／又はＬＴＥを用いる）等のうちの任意の組み合わせが挙げられ得る。いくつかの構成において、ネットワーク１１５は、インターネットを含み得る。いくつかの実施形態において、デバイス１０５がサンドボックス構成モジュール１４５を含まなくてもよいことに留意されたい。例えば、デバイス１０５は、デバイス１０５がコンピューティングデバイス１５０及び／又はサーバ１１０等の別のデバイス上に位置するサンドボックス構成モジュール１４５を介してユーザとインターフェースすることを可能にする、アプリケーション１４０を含み得る。いくつかの実施形態において、デバイス１０５及びサーバ１１０は、サンドボックス構成モジュール１４５を含み得、サンドボックス構成モジュール１４５の機能のうち少なくとも一部分が、デバイス１０５及び／若しくはサーバ１１０において独立してかつ／又は同時に実施される。同様に、いくつかの実施形態において、ユーザは、コンピューティングデバイス１５０からデバイス１０５の機能にアクセスし得る（直接又はサンドボックス構成モジュール１４５を介してデバイス１０５を通して）。例えば、いくつかの実施形態において、コンピューティングデバイス１５０は、デバイス１０５、サンドボックス構成モジュール１４５、及び／又はサーバ１１０の１つ以上の機能とインターフェースするモバイルアプリケーションを含む。
【００３７】
いくつかの実施形態において、サーバ１１０は、データベース１２０に連結され得る。データベース１２０は、サーバ１１０の内部にあってもよく、又は外部にあってもよい。一例において、デバイス１０５は、データベース１２０に直接連結されてもよく、データベース１２０が、デバイス１０５の内部又は外部にある。データベース１２０は、相関データ１６５を含み得る。例えば、デバイス１０５は、サーバ１１０を介してネットワーク１１５にわたってデータベース１２０内の識別子データにアクセスし得る。相関データ１６５は、抽出された要素とエンドポイントの１つ以上のプロパティとの間の相関に関連するデータを含み得る。いくつかの実施形態において、サンドボックス構成モジュール１４５は、ユーザインターフェース１３５、アプリケーション１４０、及び／又は相関データ１６５と併せて、本明細書に説明されるシステム及び方法を実施するように構成され得る。ユーザインターフェース１３５は、ユーザがサンドボックス構成モジュール１４５の１つ以上の機能と対話、制御、及び／又はプログラムすることを可能にし得る。サンドボックス構成モジュール１４５に関する更なる詳細が以下に論じられる。
【００３８】
図２は、本開示の様々な態様による、サンドボックス構成モジュールの一例を例示するブロック図である。サンドボックス構成モジュール１４５−ａは、図１に図示されるサンドボックス構成モジュール１４５の一例であり得る。図示されるように、サンドボックス構成モジュール１４５−ａは、分類モジュール２０５、エンドポイントモジュール２１０、及びサンドボックスモジュール２１５を含み得る。
【００３９】
一実施形態において、サンドボックス構成モジュール１４５−ａは、少なくとも１つの抽出された要素とエンドポイントの１つ以上のプロパティとの間の相関を決定するように構成され得る。いくつかの実施形態において、サンドボックス構成モジュール１４５−ａは、決定された相関に少なくとも部分的に基づいて、１つ以上のサンドボックス構成を決定するように構成され得る。
【００４０】
一実施形態において、分類モジュール２０５は、複数のファイルを受信するように構成され得る。例えば、分類モジュール２０５は、訓練段階中に第１のファイルセットを受信するように構成され得る。いくつかの実施形態において、分類モジュール２０５は、訓練段階中に第１の複数のファイルを、かつ予測段階中に第２の複数のファイルを受信するように構成され得る。いくつかの例において、分類モジュールは、実行可能ファイルを受信し、かつ複数のファイルとしてドキュメントを利用し得る。いくつかの実施形態において、分類モジュール２０５は、複数のファイルからの少なくとも１つのファイルから少なくとも１つの要素を抽出するように構成され得る。いくつかの例において、抽出された要素は、受信されたファイルと関連付けられたメタデータである。例えば、抽出された要素は、複数のテキスト要素、受信されたファイル内に含められるデータに関する詳細、受信されたファイルに含められる複数の画像、又はそれらの組み合わせのうちの少なくとも１つであり得る。
【００４１】
いくつかの実施形態において、分類モジュール２０５は、各ファイルと関連付けられた１つ以上の識別子を識別するように構成され得る。いくつかの例において、分類モジュールは、抽出された要素に少なくとも部分的に基づいて識別子を識別し得る。例えば、分類モジュール２０５は、ファイルを受信し得、かつファイルからいくつかの要素を抽出し得る。抽出された要素から、分類モジュール２０５は、悪意のあるファイルと関連付けられたいくつかの要素、及び悪意のないファイルと関連付けられたいくつかの要素を決定する。分類モジュール２０５は、識別された要素から識別子を生成するように構成され得る。いくつかの例において、識別子は、各ファイル内で観察される要素の特定のセットを説明する署名である。
【００４２】
いくつかの例において、分類モジュール２０５は、クラスタ毎に少なくとも１つのファイルを有する、ファイルのいくつかのクラスタを生成するように構成され得る。いくつかの場合において、ファイルのクラスタの生成は、訓練段階の一部として達成される。いくつかの実施形態において、分類モジュール２０５は、少なくとも１つのファイルを悪意のあるものとして分類するように構成され得る。いくつかの例において、第１のクラスタは、回避型マルウェアのクラスタであり得、第２のクラスタは、悪用のクラスタであり得る。
【００４３】
いくつかの実施形態において、分類モジュール２０５は、新しいファイルを受信し、かつ新しいファイルから１つ以上の要素を抽出するように構成され得る。いくつかの例において、分類モジュール２０５は、抽出された要素から１つ以上の識別子を決定し得る。いくつかの例において、分類モジュール２０５は、図１を参照して説明されるように、決定された識別子をデータベース１２０（図示せず）内に記憶された識別子データと比較することによって、新しいファイルと関連付けられた１つ以上の識別子を決定し得る。いくつかの実施形態において、分類モジュール２０５は、クラスタグループから既存のクラスタを識別するように構成され得る。いくつかの例において、分類モジュール２０５は、新しいファイルから抽出された１つ以上の要素が複数のクラスタのうちの少なくとも１つと相関するか否かを決定し得る。例えば、分類モジュール２０５は、訓練段階の一部として複数のクラスタを生成し、かつデータベース１２０内に複数のクラスタを記憶し得る。いくつかの場合において、分類モジュール２０５は、訓練段階中に生成された複数のクラスタから既存のクラスタを決定し得る。いくつかの場合において、分類モジュール２０５は、データベース１２０に記憶されたクラスタデータと通信して、新しいファイルについて抽出された要素と関連付けられた既存のクラスタが存在するか否かを決定し得る。いくつかの実施形態において、分類モジュール２０５は、図１を参照して説明されるように、コンピューティングデバイス１５０から新しいファイルを受信し得る。
【００４４】
一実施形態において、エンドポイントモジュール２１０は、エンドポイントと関連付けられた１つ以上のプロパティを識別するように構成され得る。いくつかの例において、エンドポイントは、複数のファイルのうちの少なくとも１つに関連し得る。いくつかの例において、エンドポイントは、ファイルが観察されたことに関連する実際のエンドポイントとすることができる。いくつかの例において、エンドポイントモジュール２１０は、悪意のあるファイルがマシン上で識別されたか、又はマシンに若しくはマシンから送信されていることが観察されたと決定すると、エンドポイントのプロパティを識別し得る。いくつかの例において、エンドポイントモジュール２１０は、ファイルが悪意のある挙動を表示したと決定し得、これは、エンドポイント環境がファイル（例えば、マルウェア）をアクティブ化するために必要なプロパティを満たしたことを示す。いくつかの例において、エンドポイントと関連付けられた１つ以上のプロパティは、１つ以上のプロセッサ、オペレーティングシステム、オペレーティングシステムと関連付けられたバージョン、メモリ、ファイルシステム、デバイス属性、ロケール、地理的情報、入力、いくつかの実行プロセス、実行プロセスと関連付けられた詳細、エンドポイントにインストールされたソフトウェア、又はそれらの組み合わせのうちの少なくとも１つを含む。
【００４５】
一実施形態において、エンドポイントモジュール２１０は、少なくとも１つの抽出された要素とエンドポイントの１つ以上のプロパティとの間の相関を決定するように構成され得る。いくつかの例において、新しいファイルを受信すると、エンドポイントモジュール２１０は、受信されたファイルの識別された分類に少なくとも部分的に基づいて、事前決定された相関を識別するように構成され得る。一例として、ファイル内の日本語文字の存在に対応するファイル要素について、エンドポイントモジュール２１０は、これらの文字を含むファイルと日本語パックがインストールされているプロパティを含むマシンとの間に相関が存在することを観察し得る。いくつかの例において、エンドポイントモジュール２１０は、予測段階中の相関を決定し得る。いくつかの実施形態において、エンドポイントモジュール２１０は、データベース１２０内の相関データ１６５内に、決定された相関を記憶し得る。いくつかの例において、エンドポイントモジュール２１０は、エンドポイントと関連付けられた１つ以上のプロパティを識別し得る。いくつかの場合において、新しいファイルは、エンドポイント上で実行されたときに、事前定義された最小挙動を示し得る。いくつかの実施形態において、エンドポイントモジュール２１０は、複数のクラスタ（例えば、受信されたファイルから抽出された要素を使用して生成されたクラスタ）とエンドポイントの１つ以上のプロパティとの間の相関を更新するように構成され得る。
【００４６】
一実施形態において、サンドボックスモジュール２１５は、決定された相関に少なくとも部分的に基づいて、１つ以上のサンドボックス構成を決定するように構成され得る。例えば、サンドボックスモジュール２１５は、同様のプロパティを有する１つ以上のファイルがデトネーションすることになる構成を決定し得る。いくつかの例において、サンドボックスモジュール２１５は、１つ以上の抽出された要素の分析に基づいて、セキュリティアクションを実施し得る。いくつかの例において、セキュリティアクションの実施は、１つ以上のサンドボックス構成の中から、新しいファイルのためのサンドボックス構成を識別することを含み得る。いくつかの場合において、サンドボックス構成は、少なくとも部分的に事前決定された相関に基づく。新しいファイルを受信すると、サンドボックスモジュール２１５は、サンドボックス構成を識別し得る。サンドボックスモジュール２１５は、新しいファイルが、識別されたサンドボックス構成で実行されたとき、事前定義された最小挙動を示すか否かを決定し得る。いくつかの例において、識別されたサンドボックス構成で実行されたときに、新しいファイルが事前定義された最小挙動を示すという決定に応じて、サンドボックスモジュール２１５は、事前決定された相関と関連付けられた信頼スコアを増加させるように構成され得る。いくつかの実施形態において、識別されたサンドボックス構成で実行されたときに、新しいファイルが事前定義された最小挙動を示すことに失敗するという決定に応じて、サンドボックスモジュール２１５は、事前決定された相関と関連付けられた信頼スコアを減少させ得る。いくつかの例において、信頼スコアは、予測段階中に調整され得る。例えば、サンドボックスモジュール２１５は、訓練段階中に初期信頼スコアを生成し得る。サンドボックスモジュール２１５は、１つ以上の抽出された要素とエンドポイントのプロパティとの間の相関を受信し得る。相関に基づいて（例えば、相関がどの程度強いか）に基づいて、サンドボックスモジュール２１５は、相関と関連付けられた初期スコアを決定し得る。
【００４７】
図３は、分類モジュール２０５−ａの一例を例示するブロック図である。分類モジュール２０５−ａは、図２に図示された分類モジュール２０５の一例であり得る。図示されるように、分類モジュール２０５−ａは、要素抽出モジュール３０５、分析モジュール３１０、識別子モジュール３１５、クラスタ生成モジュール３２０、及び純正モジュール３２５を含み得る。
【００４８】
一実施形態において、要素抽出モジュール３０５は、複数のファイルを受信するように構成され得る。例えば、要素抽出モジュール３０５は、訓練段階中に第１の複数のファイルを、かつ予測段階中に第２の複数のファイルを受信し得る。いくつかの例において、第１の複数のファイルは、ファイルの訓練セットであり得る。いくつかの実施形態において、要素抽出モジュール３０５は、いくつかの悪意のある及び悪意のないファイルを受信し得る。いくつかの例において、受信されたファイルは、訓練段階中に機械学習技術を使用して、それぞれ、悪意のあるファイル及び悪意のないファイルの複数のクラスタを生成するために使用され得る。いくつかの実施形態において、要素抽出モジュール３０５は、複数のファイルからの少なくとも１つのファイルから少なくとも１つの要素を抽出するように構成され得る。例えば、要素抽出モジュール３０５は、複数のファイル内の各ファイルを解析して、各ファイルから少なくとも１つの要素を識別し得る。抽出された要素は、複数のテキスト要素、受信されたファイル内に含められるデータに関する詳細、受信されたファイルに含められる複数の画像、又はそれらの組み合わせのうちの少なくとも１つであり得る。
【００４９】
一実施形態において、要素抽出モジュール３０５は、新しいファイルを受信するように構成され得る。例えば、要素抽出モジュール３０５は、予測段階中に新しいファイルを受信し得る。いくつかの実施形態において、要素抽出モジュール３０５は、新しいファイルから１つ以上の要素を抽出するように構成され得る。例えば、要素抽出モジュール３０５は、新しいファイルを解析して、各ファイルから少なくとも１つの要素を識別し得る。
【００５０】
一実施形態において、分析モジュール３１０は、各ファイルから抽出された要素を分析するように構成され得る。例えば、各ファイルは、悪意の有無について分析される異なる要素からなり得、即ち、各ファイルは、ファイルの受信者からの、又はファイルが実行されるエンドポイントからの機密情報を盗むために使用され得る要素が存在するかどうかを決定するために分析され得る。悪意のあるファイルの例としては、．ｅｘｅファイルが挙げられ得る。実行されたとき、悪意のある．ｅｘｅファイルは、ファイルが受信されたエンドポイント上に記憶された受信者の個人情報にアクセスすることができる場合がある。いくつかの場合において、分析モジュール３１０は、各要素を悪意の有無に関して分析する。これらの要素は、複数のテキスト要素、複数の電子メールの添付ファイル、複数のｚｉｐファイル、複数の画像、及びそれらの組み合わせのうちの少なくとも１つであり得る。いくつかの実施形態において、分析モジュール３１０は、いくつかの事前決定された基準に基づいて１つ以上の抽出された要素を分析するように構成され得る。例えば、事前決定基準は、．ｅｘｅファイルを識別すること、回避型マルウェアを識別すること、１つ以上の悪用を識別すること、又はそれらの組み合わせであり得る。
【００５１】
いくつかの実施形態において、分析モジュール３１０は、第１の複数の抽出された要素と関連付けられたいくつかのポジティブ分析検出を生成するように構成され得る。例えば、分析モジュール３１０は、特定タイプの要素がポジティブとして検出される、即ち、特定タイプの要素が悪意のないファイルに関連すると決定し得る。いくつかの他の実施形態において、分析モジュール３１０は、第２の複数の抽出された要素と関連付けられたいくつかのネガティブ分析検出を生成するように構成され得る。例えば、分析モジュール３１０は、特定タイプの要素がネガティブとして検出される、即ち、特定タイプの要素が悪意のあるファイルに関連すると決定し得る。いくつかの実施形態において、分析モジュール３１０は、ウイルス対策ソフトウェアによって使用される方法と同様の方法を使用して、抽出された要素を分析するように構成され得る。
【００５２】
一実施形態において、識別子モジュール３１５は、第１の複数のファイル内の各ファイルに基づいて複数の識別子を識別するように構成され得る。例えば、第１の複数のファイルは、図２を参照して説明されるように、ファイルの訓練セットであり得る。いくつかの場合において、識別子モジュール３１５は、少なくとも１つの要素に基づいて複数の識別子を識別するように構成され得る。例えば、ファイルから識別された要素が複数のテキスト要素を含むとき、抽出された要素と関連付けられた識別子は、不審な文字がテキスト内で見つかったとして記述され得る。別の例において、ファイルから識別された要素が複数の電子メールの添付ファイルを含むとき、抽出された要素と関連付けられた識別子は、実行可能ファイルが電子メール内で検出されるとして記述され得る。別の例において、ファイルから識別された要素が外国の文字を含むとき、抽出された要素と関連付けられた識別子は、外国の言語を記述し得る。例えば、日本語文字、英語文字、及び数字の存在を含むテキストファイルについて、識別子は、日本語言語に関する識別子を含み得る。いくつかの例において、複数のｚｉｐファイルの場合、抽出された要素と関連付けられた識別子は、ファイルのタイプ（この例ではｚｉｐ）として記述され得る。追加的に又は代替的に、識別子モジュール３１５は、分析モジュール３１０から抽出された要素の分析を受信するように構成され得る。いくつかの例において、識別子モジュール３１５は、抽出された要素と関連付けられたポジティブ及びネガティブ分析結果を受信し得る。いくつかの実施形態において、識別子モジュール３１５は、ファイルから抽出された要素の簡易表現として、ファイルと関連付けられた識別子の表現を生成するように構成され得る。
【００５３】
いくつかの実施形態において、識別子モジュール３１５は、悪意のないファイルと関連付けられたポジティブ識別子及び悪意のあるファイルと関連付けられたネガティブ識別子を決定し得る。いくつかの例において、各ファイルは、単一識別子と関連付けられ得る。いくつかの例において、各ファイルは、複数の識別子と関連付けられ得る。いくつかの実施形態において、識別子モジュール３１５は、単一ファイルと関連付けられた重複識別子を決定するように構成され得る。識別子モジュール３１５は、次いで、ファイルと関連付けられた特有の識別子のみを識別し得る。いくつかの実施形態において、識別子モジュール３１５は、単一ファイルと関連付けられたいくつかの重み付けられた重複識別子を決定するように構成され得る。例えば、識別子モジュール３１５は、ファイル内の各識別子の頻度を決定し得、即ち、識別子モジュール３１５は、識別子が特定のファイル内で使用された回数を決定するように構成され得る。識別子モジュール３１５は、次いで、各識別子と関連付けられた頻度に基づいて、複数の重み付けられた識別子を生成し得る。いくつかの実施形態において、識別子モジュール３１５は、図１を参照して説明されるように、データベース１２０内に記憶するための識別子を送信するように構成され得る。
【００５４】
一実施形態において、クラスタ生成モジュール３２０は、任意選択的に、第１の識別子と関連付けられたいくつかの悪意のあるファイルを決定するように構成され得る。上記のように、識別子モジュール３１５は、複数のファイルに関連付けられた複数の識別子を生成し得る。いくつかの例において、クラスタ生成モジュール３２０は、いくつかの抽出された要素の少なくとも一部に基づいて、かつ抽出された要素がポジティブ又はネガティブであるかどうかの決定に基づいて、いくつかの悪意のあるファイルを決定するように構成され得る。
【００５５】
いくつかの例において、クラスタ生成モジュール３２０は、複数のファイルを分類するための分類特徴として少なくとも１つの抽出された要素を使用するように構成され得る。一例として、クラスタ生成モジュール３２０は、任意の公知の分類技術を使用して、複数のファイルの分類を生成し得る。１つの場合において、クラスタ生成モジュール３２０は、受信された複数のファイルを悪意のあるファイル及び悪意のないファイルに分類するように構成され得る。
【００５６】
いくつかの例において、クラスタ生成モジュール３２０は、識別子モジュール３１５から識別子を受信し得る。いくつかの実施形態において、クラスタ生成モジュール３２０は、悪意のあるファイルの数に基づいて、第１の識別子と関連付けられた有意レベルを決定するように構成され得る。例えば、クラスタ生成モジュール３２０は、識別子モジュール３１５からネガティブとして分析された識別子を受信し得る。いくつかの実施形態において、クラスタ生成モジュール３２０は、ネガティブ識別子と関連付けられたファイルを決定するように構成され得る。いくつかの実施形態において、クラスタ生成モジュール３２０は、ネガティブ識別子と関連付けられたいくつかの悪意のあるファイルを決定するように構成され得る。いくつかの例において、クラスタ生成モジュール３２０は、ネガティブ識別子が、第１の複数の悪意のあるファイル及び第２の複数の悪意のないファイルの両方と関連付けられていると決定する場合がある。いくつかの実施形態において、ネガティブ識別子は、悪意のあるファイルのみと関連付けられる場合がある。いくつかの例において、クラスタ生成モジュール３２０は、識別子と関連付けられた悪意のあるファイルの数と、識別子と関連付けられたいくつかの悪意のないファイルとの間の差に基づいて、識別子の有意レベルを識別するように構成され得る。
【００５７】
一実施形態において、クラスタ生成モジュール３２０は、ファイルの第１のクラスタ及びファイルの第２のクラスタを生成するための分類特徴として複数の抽出された要素を使用するように構成され得る。一実施形態において、ファイルの第１のクラスタは、悪意のあるファイルのクラスタであってもよく、かつ第２のファイルのクラスタは、悪意のないファイルのクラスタであってもよい。追加的、又は代替的に、クラスタ生成モジュール３２０は、識別子モジュール３１５から１つ以上の識別子を受信し得る。いくつかの実施形態において、クラスタ生成モジュール３２０は、クラスタを生成するための特徴として、有意な識別子を使用するように構成され得る。例えば、クラスタ生成モジュール３２０は、有意な閾値を満たす有意レベルを有するそれらの識別子のみを使用し得る。いくつかの実施形態において、クラスタ生成モジュール３２０は、抽出された要素を任意の分類アルゴリズムの特徴として使用するように構成され得る。いくつかの例において、クラスタ生成モジュール３２０は、分類特徴として、受信されたファイルから抽出されたメタデータを使用するように構成され得る。
【００５８】
一実施形態において、クラスタ生成モジュール３２０は、クラスタ毎に少なくとも１つのファイルを含む複数のクラスタを生成するように構成され得る。いくつかの場合において、クラスタ生成モジュール３２０は、訓練段階中に受信されたファイルの訓練セットを使用して複数のクラスタを生成し得る。したがって、いくつかの場合において、複数のクラスタは、ファイルの第１のクラスタ及びファイルの第２のクラスタを含み得る。例えば、ファイルの第１のクラスタ及びファイルの第２のクラスタは、訓練段階中に受信されたファイルの訓練セットからの１つ以上のファイルを含み得る。いくつかの実施形態において、クラスタ生成モジュール３２０は、悪意のあるファイルに関連する第１のクラスタ、及び悪意のないファイルに関連する第２のクラスタを生成するように構成され得る。いくつかの実施形態において、新しいファイルを受信すると、クラスタ生成モジュール３２０は、新しいファイルから抽出された１つ以上の要素が複数のクラスタのうちの少なくとも１つと相関するか否かを決定するように構成され得る。１つ以上の抽出された要素が複数のクラスタと相関しないという決定に応答して、クラスタ生成モジュール３２０は、新しいファイルを含むクラスタを生成し得る。いくつかの例において、クラスタは、新しいファイルから抽出された１つ以上の要素に少なくとも部分的に基づいて生成され得る。いくつかの実施形態において、クラスタ生成モジュール３２０は、生成されたクラスタを複数のクラスタに追加するように構成され得る。いくつかの実施形態において、クラスタ生成モジュール３２０は、１つ以上の重複クラスタを生成するように構成され得る。
【００５９】
いくつかの実施形態において、クラスタ生成モジュール３２０は、１つ以上の抽出された要素が複数のクラスタと相関すると決定する。一例として、要素は、予測段階中に新しいファイルから抽出され得る。いくつかの例において、クラスタ生成モジュール３２０は、新しいファイルと関連付けられた既存のクラスタを識別し得る。既存のクラスタは、訓練段階中に生成され得る。いくつかの例において、クラスタ生成モジュール３２０は、１つ以上の抽出された要素の分類を識別するように構成され得る。
【００６０】
一実施形態において、純正モジュール３２５は、ファイルの第１の分類のための第１の純正レベル、及びファイルの第２の分類のための第２の純正レベルを決定するように構成され得る。いくつかの例において、ファイルの第１の分類は、ファイルの第１のクラスタであってもよく、かつファイルの第２の分類は、ファイルの第２のクラスタであってもよい。上記のように、クラスタ生成モジュール３２０は、ファイルの複数のクラスタを生成し得、各クラスタは、第１の複数のファイル（例えば、訓練段階中に受信されたファイルの訓練セット）からの少なくとも１つのファイルを有する。いくつかの例において、純正モジュール３２５は、クラスタ生成モジュール３２０から生成されたクラスタを受信し得る。いくつかの実施形態において、純正モジュール３２５は、第１のクラスタ内のいくつかの悪意のあるファイル及びいくつかの悪意のないファイルに基づいて、第１のクラスタと関連付けられた第１の純正レベルを決定するように構成され得る。
【００６１】
図４は、エンドポイントモジュール２１０−ａの一例を例示するブロック図である。エンドポイントモジュール２１０−ａは、図２に図示されたエンドポイントモジュール２１０の一例であり得る。図示されるように、エンドポイントモジュール２１０−ａは、実行モジュール４０５、エンドポイント構成モジュール４１０、及び相関モジュール４１５を含み得る。
【００６２】
一実施形態において、実行モジュール４０５は、エンドポイント上の複数のファイルのうちの少なくとも１つに関連して、正常な実行を識別するように構成され得る。いくつかの実施形態において、実行モジュール４０５は、ファイルがエンドポイント（即ち、マシン）上で正常に実行することを識別するように構成され得る。いくつかの例において、実行モジュール４０５は、訓練段階中にファイルが観察されたエンドポイントを識別し得る。いくつかの例において、実行モジュール４０５は、ファイル（例えば、悪意のあるファイル）が、正常に実行するエンドポイント上にあったこと、又はエンドポイントに若しくはそこから送信されていることが観察されたことを観察し得る。例えば、実行モジュール４０５は、悪意のあるファイルを正常にデトネーションするエンドポイントを識別し得る。いくつかの例において、実行モジュール４０５は、エンドポイント環境がマルウェアをアクティブ化するために必要なプロパティを満たしたと決定し得る。いくつかの実施形態において、実行モジュール４０５は、悪意のあるものとしてラベル付けされたファイルが、特定のエンドポイント内でデトネーションに失敗すると決定し得る。例えば、実行モジュール４０５は、図１に説明されたコンピューティングデバイス１５０からの受信ファイルを決定し得る。いくつかの実施形態において、実行モジュール４０５は、訓練段階の一部として、１つ以上の悪意のあるファイルの正常な実行を識別するように構成され得る。
【００６３】
一実施形態において、エンドポイント構成モジュール４１０は、エンドポイントと関連付けられた１つ以上のプロパティを識別するように構成され得る。例えば、エンドポイントは、複数のファイルのうちの少なくとも１つに関連し得る。いくつかの例において、エンドポイント構成モジュール４１０は、実行モジュール４０５からエンドポイントに関する指標を受信し得る。例えば、指標は、エンドポイントで正常にデトネーションされた悪意のあるファイルに関連し得る。いくつかの場合において、エンドポイント構成モジュール４１０は、悪意のあるファイルが悪意のある挙動を表示したという証拠が存在する、エンドポイントのプロパティを観察し得、これは、エンドポイント環境がマルウェアをアクティブ化するために必要なプロパティを満たしたことを示す。いくつかの実施形態において、エンドポイント構成モジュール４１０は、悪意のあるファイルの正常な実行に少なくとも部分的に基づいて、エンドポイントと関連付けられた１つ以上のプロパティを識別するように構成され得る。いくつかの例において、エンドポイント構成モジュール４１０は、エンドポイントと関連付けられた１つ以上の挙動プロパティを識別するように構成され得る。いくつかの場合において、エンドポイントと関連付けられた１つ以上のプロパティは、１つ以上のプロセッサ、オペレーティングシステム、オペレーティングシステムと関連付けられたバージョン、メモリ、ファイルシステム、デバイス属性、ロケール、地理的情報、入力、いくつかの実行プロセス、実行プロセスと関連付けられた詳細、エンドポイントにインストールされたソフトウェア、又はそれらの組み合わせのうちの少なくとも１つを含み得る。
【００６４】
一実施形態において、相関モジュール４１５は、少なくとも１つの抽出された要素とエンドポイントの１つ以上のプロパティとの間の相関を決定するように構成され得る。いくつかの例において、相関モジュール４１５は、エンドポイントと関連付けられた識別子とプロパティとの間の相関を決定するように構成され得る。例えば、相関モジュール４１５は、エンドポイント構成モジュール４１０からエンドポイントのプロパティを受信し得、相関モジュール４１５は、受信されたプロパティに基づいて相関を決定し得る。いくつかの実施形態において、相関モジュール４１５は、データベース１２０内の相関データ１６５内に、決定された相関を記憶し得る。いくつかの例において、相関モジュール４１５は、訓練段階中に、エンドポイントの１つ以上のプロパティと抽出された要素との間の相関を決定し得る。いくつかの例において、予測段階中に、相関モジュール４１５は、エンドポイントの１つ以上のプロパティと関連付けられた更新された情報を受信し得る。更新された情報に基づいて、相関モジュール４１５は、ファイルの要素とエンドポイントの更新された情報との間の相関を更新するように構成され得る。いくつかの例において、相関モジュール４１５は、複数のクラスタと、エンドポイントと関連付けられた１つ以上のプロパティとの間の相関を決定し得る。複数のクラスタは、図２及び図３に説明される方法を使用して生成され得る。
【００６５】
図５は、マルウェア分析用のサンドボックス構成を決定するための方法５００の一実施形態を例示するフロー図である。いくつかの構成において、方法５００は、図１、図２、図３及び／又は図４に例示されるサンドボックス構成モジュール１４５によって実装され得る。いくつかの構成において、方法５００は、図１に例示されるアプリケーション１４０及び／又はユーザインターフェース１３５と併せて実装され得る。
【００６６】
ブロック５０５において、方法５００は、複数のファイルを受信することを含み得る。ブロック５１０において、方法５００は、複数のファイルからの少なくとも１つのファイルから少なくとも１つの要素を抽出することを含み得る。ブロック５１５において、方法５００は、エンドポイントと関連付けられた１つ以上のプロパティを識別することを含み得る。いくつかの場合において、エンドポイントは、複数のファイルのうちの少なくとも１つに関連し得る。ブロック５２０において、方法５００は、少なくとも１つの抽出された要素とエンドポイントの１つ以上のプロパティとの間の相関を決定することを含み得る。ブロック５２５において、方法５００は、決定された相関に少なくとも部分的に基づいて、１つ以上のサンドボックス構成を決定することを含み得る。
【００６７】
図６は、マルウェア分析用のサンドボックス構成を決定するための方法６００の一実施形態を例示するフロー図である。いくつかの構成において、方法６００は、図１、図２、図３、及び／又は図４に例示されるサンドボックス構成モジュール１４５によって実装され得る。いくつかの構成において、方法６００は、図１に例示されるアプリケーション１４０及び／又はユーザインターフェース１３５と併せて実装され得る。
【００６８】
ブロック６０５において、方法６００は、複数のファイルを受信することを含み得る。ブロック６１０において、方法６００は、複数のファイルからの少なくとも１つのファイルから少なくとも１つの要素を抽出することを含み得る。ブロック６１５において、方法６００は、少なくとも１つの抽出された要素を、複数のファイルを分類するための分類特徴として使用することを含み得る。ブロック６２０において、方法６００は、エンドポイント上の複数のファイルのうちの少なくとも１つに関連して、正常な実行を識別することを含み得る。ブロック６２５において、方法６００は、正常な実行に少なくとも部分的に基づいて、エンドポイントと関連付けられた１つ以上のプロパティを識別することを含み得る。ブロック６３０において、方法６００は、少なくとも１つの抽出された要素とエンドポイントの１つ以上の識別された特性との間の相関を決定することを含み得る。ブロック６３５において、方法６００は、決定された相関に少なくとも部分的に基づいて、１つ以上のサンドボックス構成を決定することを含み得る。
【００６９】
図７は、マルウェア分析用のサンドボックス構成を決定するための方法７００の一実施形態を例示するフロー図である。いくつかの構成において、方法７００は、図１、図２、図３、及び／又は図４に例示されるサンドボックス構成モジュール１４５によって実装され得る。いくつかの構成において、方法７００は、図１に例示されるアプリケーション１４０及び／又はユーザインターフェース１３５と併せて実装され得る。
【００７０】
ブロック７０５において、方法７００は、新しいファイルを受信することを含み得る。ブロック７１０において、方法７００は、新しいファイルから１つ以上の要素を抽出することを含み得る。ブロック７１５において、方法７００は、１つ以上の抽出された要素の分類を識別することを含み得る。ブロック７２０において、方法７００は、識別された分類に少なくとも部分的に基づいて、事前決定された相関を識別することを含み得る。ブロック７２５において、方法７００は、１つ以上の抽出された要素の分析に基づいて、セキュリティアクションを実施することを含み得る。いくつかの場合において、セキュリティアクションを実施することは、１つ以上のサンドボックス構成の中から、新しいファイルのためのサンドボックス構成を識別することを含み得る。いくつかの場合において、新しいファイルのためのサンドボックス構成は、少なくとも部分的に事前決定された相関に基づく。ブロック７３０において、方法７００は、識別されたサンドボックス構成で実行されたときに、新しいファイルが事前定義された最小挙動を示すか否かを決定することを含み得る。ブロック７３５において、方法７００は、識別されたサンドボックス構成で実行されたときに、新しいファイルが事前定義された最小挙動を示すという決定に応じて、事前決定された相関と関連付けられた信頼スコアを増加させることを含み得る。ブロック７４０において、方法７００は、識別されたサンドボックス構成で実行されたときに、新しいファイルが事前定義された最小挙動を示すことに失敗するという決定に応じて、事前決定された相関と関連付けられた信頼スコアを減少させることと、を含み得る。
【００７１】
図８は、マルウェア分析用のサンドボックス構成を決定するための方法８００の一実施形態を例示するフロー図である。いくつかの構成において、方法８００は、図１、図２、図３、及び／又は図４に例示されるサンドボックス構成モジュール１４５によって実装され得る。いくつかの構成において、方法８００は、図１に例示されるアプリケーション１４０及び／又はユーザインターフェース１３５と併せて実装され得る。
【００７２】
ブロック８０５において、方法８００は、新しいファイルを受信することを含み得る。ブロック８１０において、方法８００は、新しいファイルから１つ以上の要素を抽出することを含み得る。ブロック８１５において、方法８００は、新しいファイルから抽出された１つ以上の要素が複数のクラスタのうちの少なくとも１つと相関するか否かを決定することを含み得る。ブロック８２０において、方法８００は、１つ以上の抽出された要素が複数のクラスタと相関しないという決定に応答して、新しいファイルを含むクラスタを生成することを含み得る。いくつかの場合において、クラスタは、新しいファイルから抽出された１つ以上の要素に少なくとも部分的に基づいて生成され得る。ブロック８２５において、方法８００は、エンドポイントと関連付けられた１つ以上のプロパティを識別することを含み得る。いくつかの例において、新しいファイルは、エンドポイント上で実行されたときに、事前定義された最小挙動を示し得る。ブロック８３０において、方法８００は、生成されたクラスタを複数のクラスタに追加することを含み得る。ブロック８３５において、方法８００は、複数のクラスタとエンドポイントの１つ以上のプロパティとの間の相関を更新することを含み得る。
【００７３】
図９は、本開示の様々な態様による、本発明のシステム及び方法が実装され得る環境９００の一実施形態を例示するブロック図である。いくつかの構成において、ここに説明されるシステム及び方法は、図１、図２、図３、及び／又は図４に例示されるサンドボックス構成モジュール１４５によって実装され得る。いくつかの構成において、方法９００は、図１に例示されるアプリケーション１４０及び／又はユーザインターフェース１３５と併せて実装され得る。図示されるように、環境９００は、ファイル９０５、メタデータ９１０、クラスタ生成３２０−ｂ、エンドポイントテレメトリ９２０、分類子８１５、及びサンドボックス構成９２５を含み得る。
【００７４】
この図に説明される方法は、サンプル固有サンドボックス構成を生成することに関する。本明細書に説明されるように、ファイル９０５−ａ、９０５−ｂ、及び９０５−ｃは、プロセッサによって受信され得る。一例において、ファイル９０５は、ファイルの訓練セットである。メタデータ９１０は、ファイル９０５から抽出され得、かつクラスタ生成モジュール３２０−ｂに入力され得る。クラスタ生成モジュール３２０−ｂは、図２及び図３を参照して説明された方法を使用して、受信されたメタデータ９１０を分類し得る。更に、クラスタ化の結果は、１つ以上の分類子９１５に入力される。エンドポイントテレメトリ９２０は、エンドポイントでのファイル９０５の正常なデトネーションの指標を識別するように構成され得る。エンドポイントのプロパティを識別すると、分類子９１５は、プロパティと抽出された要素との間の相関を決定し得る。一例として、分類子９１５は、ファイル９０５−ａのプロパティとファイル９０５−ａの実行環境のプロパティとの間の相関を識別し得る。分類子９１５は、次いで、相関の識別に少なくとも部分的に基づいて、１つ以上のサンドボックス構成９２５を識別し得る。
【００７５】
図１０は、本発明のシステム及び方法を実行するための好適なコンピュータシステム１０００のブロック図を図示する。一実施形態において、コンピュータシステム１０００は、モバイルデバイス１００５を含み得る。モバイル機器１００５は、図１に図示されたデバイス１０５の一例であり得る。図示されるように、モバイル機器１００５は、中央処理装置１０１０、システムメモリ１０１５（典型的にはＲＡＭであるが、ＲＯＭ、フラッシュＲＡＭ等も含み得る）、並びに送信機１０３０、受信機１０３５、及びアンテナ１０４０を含む送受信機１０２０等の、モバイルデバイス１００５の主要なサブシステムを相互接続するバス１０２５を含む。
【００７６】
バス１０２５は、上記のように、中央処理装置１０１０と、読出し専用メモリ（read-only memory、ＲＯＭ）又はフラッシュメモリ（どちらも図示せず）、及びランダムアクセスメモリ（random access memory、ＲＡＭ）（図示せず）を含み得る、システムメモリ１０１５との間のデータ通信を可能にする。ＲＡＭは、概して、オペレーティングシステム及びアプリケーションプログラムがロードされるメインメモリである。ＲＯＭ又はフラッシュメモリは、他のコードの中でも、周辺構成要素又はデバイスとの相互作用等の基本的なハードウェア動作を制御する、ベーシック入出力システム（Basic Input-Output system、ＢＩＯＳ）又はユニファイドエクステンシブルファームウェアインターフェース（Unified Extensible Firmware Interface、ＵＥＦＩ）を含有し得る。例えば、本発明のシステム及び方法を実装するサンドボックス構成モジュール１４５−ｂは、システムメモリ１０１５内に記憶され得る。サンドボックス構成モジュール１４５−ｂは、図１及び／又は図２に図示されたサンドボックス構成モジュール１４５の一例であり得る。モバイルデバイス１００５に常駐するアプリケーションは、概して、ハードディスクドライブ、光学ドライブ、又は他の記憶媒体等の非一時的コンピュータ可読媒体上に記憶され、それを介してアクセスされ得る。加えて、アプリケーションは、ネットワークを介してアクセスされたとき、アプリケーション及びデータ通信技術に従って変調される、電子信号の形態とすることができる。
【００７７】
図１１は、本発明のシステム及び方法を実行するための好適なコンピュータシステム１１００のブロック図を図示する。デバイス１１００は、図１に例示された、デバイス１０５、コンピューティングデバイス１５０、及び／又はサーバ１１０の一例であり得る。一構成において、コンピュータシステム１１００は、中央処理装置１１１０、システムメモリ１１１５（典型的にはＲＡＭであるが、ＲＯＭ、フラッシュＲＡＭ等も含み得る）、入力／出力コントローラ１１２０、音声出力インターフェース１１３０を介するスピーカシステム１１２５等の外部音声デバイス、ディスプレイアダプタ１１４０を介するディスプレイ画面１１３５等の外部デバイス、入力デバイス１１４５（例えば、入力コントローラ１１５０とインターフェース接続されるリモート制御デバイス）、複数のＵＳＢデバイス１１６５（ＵＳＢコントローラ１１７０とインターフェース接続される）、及びストレージインターフェース１１８０等の、コンピュータシステム１１００の主要なサブシステムを相互接続するバス１１０５を含む。また、センサコントローラ１１６０及びネットワークインターフェース１１８５（バス１１０５に直接連結された）を通してバス１１０５に接続された少なくとも１つのセンサ１１５５も含められる。
【００７８】
バス１１０５は、上記のように、中央処理装置１１１０と、ＲＯＭ又はフラッシュメモリ（どちらも図示せず）、及びＲＡＭ（図示せず）を含み得る、システムメモリ１１１５との間のデータ通信を可能にする。ＲＡＭは、概して、オペレーティングシステム及びアプリケーションプログラムがロードされるメインメモリである。ＲＯＭ又はフラッシュメモリは、他のコードの中でも、周辺構成要素又はデバイスとの相互作用等の基本的なハードウェア動作を制御する、ＢＩＯＳ又はＵＥＦＩを含有し得る。例えば、本発明のシステム及び方法を実装するサンドボックス構成モジュール１４５−ｂは、システムメモリ１１１５内に記憶され得る。デバイス１１００に常駐するアプリケーション（例えば、アプリケーション１４０）は、概して、ハードディスクドライブ（例えば、固定ディスク１１７５）又は他の記憶媒体等の非一時的コンピュータ可読媒体に記憶され、それを介してアクセスされる。加えて、アプリケーションは、インターフェース１１８５を介してアクセスされたとき、アプリケーション及びデータ通信技術に従って変調される、電子信号の形態とすることができる。
【００７９】
ストレージインターフェース１１８０は、デバイス１１００の他のストレージインターフェースと同様に、固定ディスクドライブ１１７５等の、情報の記憶及び／又は検索用の標準的なコンピュータ可読媒体に接続され得る。固定ディスクドライブ１１７５は、コンピュータシステム１１００の一部であってもよく、又は独立し、かつ他のインターフェースシステムを通してアクセスされてもよい。ネットワークインターフェース１１８５は、ＰＯＰ（存在点）を介したインターネットに対する直接ネットワークリンクを介して、リモートサーバに対する直接接続を提供し得る。ネットワークインターフェース１１８５は、デジタル携帯電話接続、セルラーデジタルパケットデータ（Cellular Digital Packet Data、ＣＤＰＤ）接続、デジタル衛星データ接続等を含む無線技術を使用して、かかる接続を提供し得る。
【００８０】
多くの他のデバイス又はサブシステム（図示せず）は、同様の様式で接続され得る（例えば、娯楽システム、コンピューティングデバイス、リモートカメラ、無線キーフォブ、壁掛ユーザインターフェースデバイス、セル無線モジュール、バッテリ、アラームサイレン、ドアロック、照明システム、サーモスタット、家庭電化製品モニタ、ユーティリティ設備モニタ等）。逆に言うと、図１１に示されるデバイスの全てが、本発明のシステム及び方法を実践するために存在する必要はない。デバイス及びサブシステムは、図１１に示されるものとは異なる方式で相互接続され得る。図１１に示されるもの等のシステムのいくつかの動作の態様は、当該技術分野において容易に知られており、本出願では詳細に考察しない。本開示を実装するコードは、システムメモリ１１１５又は固定ディスク１１７５の１つ以上等の、非一時的コンピュータ可読媒体に記憶され得る。デバイス１１００上に提供されるオペレーティングシステムは、ｉＯＳ（登録商標）、ＡＮＤＲＯＩＤ（登録商標）、ＭＳ−ＤＯＳ（登録商標）、ＭＳ−ＷＩＮＤＯＷＳ（登録商標）、ＯＳ／２（登録商標）、ＵＮＩＸ（登録商標）、ＬＩＮＵＸ（登録商標）、又は別の公知のオペレーティングシステムであってもよい。
【００８１】
更に、本明細書に記載する信号に関して、当業者であれば、信号を第１のブロックから第２のブロックに直接伝送することができること、又は信号をブロック間で修正（例えば、増幅、減衰、遅延、ラッチ、バッファ、反転、フィルタリング、若しくは別の方法で修正）することができることを認識するであろう。上述の実施形態の信号は、あるブロックから次のブロックに伝送されるものと特徴付けられるが、本発明のシステム及び方法の他の実施形態は、信号の情報及び／又は機能面がブロック間で伝送される限り、かかる直接伝送される信号の代わりに修正済みの信号を含んでもよい。ある程度、第２のブロックにおける信号入力は、関係する回路の物理的制約（例えば、いくらかの減衰及び遅延が必然的に存在する）により、第１のブロックからの第１の信号出力から得られた第２の信号として概念化することができる。したがって、本明細書で使用するとき、第１の信号から得られた第２の信号は、回路制約によるものであるか、又は第１の信号の情報及び／若しくは最終機能面を変更しない他の回路素子を通過することによるものであるか否かにかかわらず、第１の信号又は第１の信号に対する何らかの修正を含む。
【００８２】
システム１１００と関連付けられた信号は、無線周波数、電磁気、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、仮想プライベートネットワーク（ＶＰＮ）、無線ネットワーク（例えば、８０２．１１を用いる）、セルラーネットワーク（例えば、３Ｇ及び／若しくはＬＴＥを用いる）、並びに／又は他の信号等の無線通信信号を含み得る。ネットワークインターフェース１１８５は、モバイル通信用のＷＷＡＮ（ＧＳＭ（登録商標）、ＣＤＭＡ、及びＷＣＤＭＡ（登録商標））、ＷＬＡＮ（Ｂｌｕｅｔｏｏｔｈ（登録商標）及びＷｉ−Ｆｉを含む）、ＷＭＡＮ（ＷｉＭＡＸ）、無線パーソナルエリアネットワーク（Wireless Personal Area Network、ＷＰＡＮ）アプリケーション（ＲＦＩＤ及びＵＷＢを含む）用のアンテナ等のうちの１つ以上を有効化し得る。
【００８３】
Ｉ／Ｏコントローラ１１２０は、ネットワークインターフェース１１８５及び／又はストレージインターフェース１１８０と共に動作し得る。ネットワークインターフェース１１８５は、クライアントデバイス（例えば、図１のデバイス１０５）、及び／又は図１のネットワーク１１５を介して他のデバイスと通信する能力を有するシステム１１００を有効化し得る。ネットワークインターフェース１１８５は、有線及び／又は無線ネットワーク接続を提供し得る。いくつかの場合において、ネットワークインターフェース１１８５は、イーサネット（登録商標）アダプタ又はファイバチャネルアダプタを含み得る。ストレージインターフェース１１８０は、システム１１００が１つ以上のデータストレージデバイスにアクセスすることを可能にし得る。１つ以上のデータストレージデバイスは、各々２つ以上のデータ階層を含み得る。ストレージインターフェース１１８０は、イーサネット（登録商標）アダプタ、ファイバチャネルアダプタ、ファイバチャネルプロトコル（Fiber Channel Protocol、ＦＣＰ）アダプタ、ＳＣＳＩアダプタ、及びｉＳＣＳＩプロトコルアダプタのうちの１つ以上を含み得る。
【００８４】
図１２は、クライアントシステム１２０５、１２１０及び１２１５、並びにストレージサーバ１２２０−ａ及び１２２０−ｂ（いずれもコンピュータシステム１０００及び／又は１１００を使用して実装され得る）がネットワーク１２３０に連結されている、ネットワークアーキテクチャ１２００を図示するブロック図である。一実施形態において、サンドボックス構成モジュール１４５−ｄは、本発明のシステム及び方法を実施するために、ストレージサーバ１２２０−ａ、１２２０−ｂのうちの１つの内部に位置し得る。サンドボックス構成モジュール１４５−ｄは、図１、図２、図３、図４、図６、及び／又は図７に図示されたサンドボックス構成モジュール１４５の一例であり得る。ストレージサーバ１２２０−ａは、直接取り付けられたストレージデバイス１２２５−ａ−１〜１２２５−ａ−ｊを有するように更に図示され、ストレージサーバ１２２０−ｂが直接取り付けられたストレージデバイス１２２５−ｂ−１〜１２２５−ｂ−ｋを有して図示されている。ＳＡＮファブリック１２４０は、ストレージサーバ１２２０−ａ及び１２２０−ｂによって、かつネットワーク１２３０を介してクライアントシステム１２０５、１２１０、及び１２１５によって、ストレージデバイス１２３５−１〜１２３５−ｍへのアクセスをサポートする。インテリジェントストレージアレイ１２４５もまた、ＳＡＮファブリック１２４０を介してアクセス可能な特定のストレージデバイスの一例として示されている。
【００８５】
コンピュータシステム１１００を参照すると、ネットワークインターフェース１１８５又はいくつかの他の手段若しくは方法が、クライアントコンピュータシステム１２０５、１２１０、及び１２１５の各々からネットワーク１２３０への接続性を提供するために使用され得る。コンピュータシステム１０００を参照すると、送受信機１０２０又はいくつかの他の手段若しくは方法が、クライアントコンピュータシステム１２０５、１２１０、及び１２１５の各々からネットワーク１２３０への接続性を提供するために使用され得る。クライアントシステム１２０５、１２１０、及び１２１５は、例えば、ウェブブラウザ又は他のクライアントソフトウェア（図示せず）を使用して、サーバ１２２０−ａ又は１２２０−ｂ上の情報にアクセスすることができる。かかるクライアントは、クライアントシステム１２０５、１２１０、及び１２１５が、ストレージサーバ１２２０−ａ若しくは１２２０−ｂ、又はストレージデバイス１２２５−ａ−１〜１２２５−ａ−ｊ、１２２５−ｂ−１〜１２２５−ｂ−ｋ、１２３５−１〜１２３５−ｍのうちの１つ、あるいはインテリジェントストレージアレイ１２４５によってホストされたデータにアクセスすることを可能にする。図１２は、データを交換するためのインターネット等のネットワークの使用を図示するが、本発明のシステム及び方法は、インターネット又は任意の特定のネットワークベースの環境に限定されない。
【００８６】
前述の開示は、特定のブロック図、フローチャート、及び実施例を使用して様々な実施形態を記載しているが、本明細書に記載及び／又は図示されるそれぞれのブロック図の構成要素、フローチャートのステップ、動作、及び／又は構成要素は、個別にかつ／又は集合的に、広範なハードウェア、ソフトウェア、又はファームウェア（若しくはそれらの任意の組み合わせ）の構成を使用して実装されてもよい。それに加えて、同じ機能性を達成するように他の多くのアーキテクチャを実装することができるので、他の構成要素内に包含される構成要素のあらゆる開示は、本質的に例示と見なされるべきである。
【００８７】
本明細書に記載及び／又は図示されるプロセスパラメータ及びステップの順序は、単なる例として与えられるものであり、所望に応じて変更することができる。例えば、本明細書に図示及び／又は記載されるステップは特定の順序で図示又は考察されることがあるが、これらのステップは、必ずしも図示又は考察される順序で実施される必要はない。本明細書に記載及び／又は図示される様々な例示的な方法はまた、本明細書に記載若しくは図示されるステップの１つ以上を省略するか、又は開示されるものに加えて追加のステップを含んでもよい。
【００８８】
更に、様々な実施形態を、完全に機能的なコンピューティングシステムの文脈において本明細書に記載及び／又は例証してきたが、これらの例示的な実施形態の１つ以上は、実際に配布を実施するために使用されるコンピュータ可読媒体の特定のタイプにかかわらず、様々な形態のプログラム製品として配布されてもよい。本明細書に開示される実施形態はまた、特定のタスクを実施するソフトウェアモジュールを使用して実装されてもよい。これらのソフトウェアモジュールは、コンピュータ可読記憶媒体又はコンピューティングシステムに格納されてもよい、スクリプト、バッチ、若しくは他の実行可能ファイルを含んでもよい。一部の実施形態では、これらのソフトウェアモジュールは、本明細書に開示される例示的な実施形態の１つ以上を実施するようにコンピューティングシステムを構成してもよい。
【００８９】
上記の記載は、説明を目的として特定の実施形態を参照して記載してきた。しかしながら、上述の例示的な考察は、包括的であること、又は本発明を開示される正確な形態に限定することを意図するものではない。上述の教示を考慮して、多くの修正及び変形が可能である。実施形態は、本発明のシステム及び方法並びにそれらの実際の適用の原理を最も良く説明するために選択し記載したものであり、それによって他の当業者が、企図される特定の用途に好適であり得る様々な修正を用いて、本発明のシステム及び方法並びに様々な実施形態を最大限に利用することが可能になる。
【００９０】
別途記載のない限り、「ａ」又は「ａｎ」という用語は、本明細書及び特許請求の範囲で使用するとき、「〜の少なくとも１つ」を意味すると解釈されるものとする。それに加えて、使用しやすくするため、「含む」及び「有する」という語は、本明細書及び特許請求の範囲で使用するとき、「備える」という語と交換可能であり、同じ意味を有する。それに加えて、「〜に基づく」という用語は、本明細書及び特許請求の範囲で使用するとき、「少なくとも〜に基づく」を意味すると解釈されるものとする。
【図１】
2020511715.tif 000003
【図２】
2020511715.tif 000004
【図３】
2020511715.tif 000005
【図４】
2020511715.tif 000006
【図５】
2020511715.tif 000007
【図６】
2020511715.tif 000008
【図７】
2020511715.tif 000009
【図８】
2020511715.tif 000010
【図９】
2020511715.tif 000011
【図１０】
2020511715.tif 000012
【図１１】
2020511715.tif 000013
【図１２】
2020511715.tif 000014
【手続補正書】
【提出日】令和1年9月25日(2019.9.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータシステム上のマルウェア分析のためのサンドボックス構成を決定するためのコンピュータ実装方法であって、
１つ以上のプロセッサを介して複数のファイルを受信することと、
前記１つ以上のプロセッサを介して、前記複数のファイルからの少なくとも１つのファイルから少なくとも１つの要素を抽出することと、
前記１つ以上のプロセッサを介して、エンドポイントと関連付けられた１つ以上のプロパティを識別することであって、前記エンドポイントが、前記複数のファイルのうちの少なくとも１つに関連する、識別することと、
前記１つ以上のプロセッサを介して、前記少なくとも１つの抽出された要素と前記エンドポイントの前記１つ以上のプロパティとの間の相関を決定することと、
前記１つ以上のプロセッサを介して、前記決定された相関に少なくとも部分的に基づいて、１つ以上のサンドボックス構成を決定することと、を含む、方法。
【請求項２】
前記エンドポイント上の前記複数のファイルのうちの少なくとも１つに関連する正常な実行を識別することと、
前記正常な実行に少なくとも部分的に基づいて、前記エンドポイントと関連付けられた前記１つ以上のプロパティを識別することと、を含む、請求項１に記載の方法。
【請求項３】
前記少なくとも１つの抽出された要素を、前記複数のファイルを分類するための分類特徴として使用することを含む、請求項１に記載の方法。
【請求項４】
新しいファイルを受信することと、
前記新しいファイルから１つ以上の要素を抽出することと、
前記１つ以上の抽出された要素の分析に基づいてセキュリティアクションを実施することと、を含み、前記セキュリティアクションを実施することが、前記１つ以上のサンドボックス構成の中から、事前決定された相関に少なくとも部分的に基づいて、前記新しいファイルのためのサンドボックス構成を識別することを含む、請求項１に記載の方法。
【請求項５】
前記１つ以上の抽出された要素の分類を識別することと、
前記識別された分類に少なくとも部分的に基づいて、前記事前決定された相関を識別することと、を含む、請求項４に記載の方法。
【請求項６】
前記識別されたサンドボックス構成で実行されたときに、前記新しいファイルが事前定義された最小挙動を示すか否かを決定することと、
前記識別されたサンドボックス構成で実行されたときに、前記新しいファイルが前記事前定義された最小挙動を示すという決定に応じて、前記事前決定された相関と関連付けられた信頼スコアを増加させることと、
前記識別されたサンドボックス構成で実行されたときに、前記新しいファイルが前記事前定義された最小挙動を示すことに失敗するという決定に応じて、前記事前決定された相関と関連付けられた信頼スコアを減少させることと、を含む、請求項４に記載の方法。
【請求項７】
新しいファイルを受信することと、
前記新しいファイルから１つ以上の要素を抽出することと、
前記新しいファイルから抽出された前記１つ以上の要素が、複数のクラスタのうちの少なくとも１つと相関するか否かを決定することと、を含む、請求項１に記載の方法。
【請求項８】
前記１つ以上の抽出された要素が前記複数のクラスタと相関しないという決定に応じて、
前記新しいファイルを含むクラスタを生成することであって、前記クラスタが、前記新しいファイルから抽出された前記１つ以上の要素に少なくとも部分的に基づいて生成されている、生成することと、
前記エンドポイントと関連付けられた前記１つ以上のプロパティを識別することと、を含み、前記新しいファイルが、前記エンドポイント上で実行されたときに事前定義された最小挙動を示す、請求項７に記載の方法。
【請求項９】
前記生成されたクラスタを前記複数のクラスタに追加することと、
前記複数のクラスタと前記エンドポイントの前記１つ以上のプロパティとの間の相関を更新することと、を含む、請求項８に記載の方法。
【請求項１０】
前記１つ以上の抽出された要素が前記複数のクラスタと相関するという決定に応じて、
前記新しいファイルと関連付けられた既存のクラスタを識別することと、
前記既存のクラスタに少なくとも部分的に基づいて、事前決定された相関を識別することと、
前記１つ以上のサンドボックス構成の中から識別することと、を含み、前記新しいファイルのためのサンドボックス構成が、前記事前決定された相関に少なくとも部分的に基づく、請求項７に記載の方法。
【請求項１１】
前記抽出することが、
前記複数のファイル内の各ファイルを解析して、各ファイルから前記少なくとも１つの要素を識別することを含む、請求項１に記載の方法。
【請求項１２】
前記エンドポイントと関連付けられた前記１つ以上のプロパティが、１つ以上のプロセッサ、オペレーティングシステム、前記オペレーティングシステムと関連付けられたバージョン、メモリ、ファイルシステム、デバイス属性、ロケール、地理的情報、入力、いくつかの実行プロセス、実行プロセスと関連付けられた詳細、エンドポイントにインストールされたソフトウェア、又はそれらの組み合わせのうちの少なくとも１つを含む、請求項１に記載の方法。
【請求項１３】
マルウェア分析のためのサンドボックス構成を決定するためのコンピューティングデバイスであって、
１つ以上のプロセッサと、
前記１つ以上のプロセッサと電子通信するメモリと、を備え、前記メモリが、コンピュータ実行可能命令を記憶し、前記命令が、前記１つ以上のプロセッサによって実行されたとき、前記１つ以上のプロセッサに、
複数のファイルを受信するステップと、
前記複数のファイルからの少なくとも１つのファイルから少なくとも１つの要素を抽出するステップと、
エンドポイントと関連付けられた１つ以上のプロパティを識別するステップであって、前記エンドポイントが、前記複数のファイルのうちの少なくとも１つに関連する、ステップと、
前記少なくとも１つの抽出された要素と前記エンドポイントの前記１つ以上のプロパティとの間の相関を決定するステップと、
前記決定された相関に少なくとも部分的に基づいて、１つ以上のサンドボックス構成を決定するステップと、を実施させる、コンピューティングデバイス。
【請求項１４】
前記１つ以上のプロセッサによって実行された前記命令が、前記１つ以上のプロセッサに、
前記エンドポイント上の前記複数のファイルのうちの少なくとも１つに関連する正常な実行を識別するステップと、
前記正常な実行に少なくとも部分的に基づいて、前記エンドポイントと関連付けられた前記１つ以上のプロパティを識別するステップと、を実施させる、請求項１３に記載の装置。
【請求項１５】
コンピュータ実行可能命令を記憶する非一時的コンピュータ可読記憶媒体であって、前記命令が、１つ以上のプロセッサによって実行されたとき、前記１つ以上のプロセッサに、
複数のファイルを受信するステップと、
前記複数のファイルからの少なくとも１つのファイルから少なくとも１つの要素を抽出するステップと、
エンドポイントと関連付けられた１つ以上のプロパティを識別するステップであって、前記エンドポイントが、前記複数のファイルのうちの少なくとも１つに関連する、ステップと、
前記少なくとも１つの抽出された要素と前記エンドポイントの前記１つ以上のプロパティとの間の相関を決定するステップと、
前記決定された相関に少なくとも部分的に基づいて、１つ以上のサンドボックス構成を決定するステップと、を実施させる、非一時的コンピュータ可読記憶媒体。
【国際調査報告】
2020511715.tif 000015
2020511715.tif 000016
2020511715.tif 000017