(57)【要約】サイバーセキュリティシステムおよび技術が開示される。サイバーセキュリティ方法は、プロセスのプロセスフィンガプリントを生成することを含み得、プロセスフィンガプリントは、少なくとも部分的にプロセスの動的特徴に基づいて、プロセスを識別する。プロセスフィンガプリントを生成することは、暗号化ハッシュ動作をプロセスの動的特徴を表すデータに対して行うことを含み得る。方法は、プロセスフィンガプリントを複数のプロセスフィンガプリントと比較することと、少なくとも部分的に比較の結果に基づいて、データ削減動作をプロセスに関連付けられたデータに対して行うこと、および／または、プロセスがマルウェアプロセスかどうかを決定することとをさらに含み得る。
2019505943.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ実装サイバーセキュリティ方法であって、前記方法は、
プロセスによって行われる少なくともいくつかの動作のログを生成することと、
前記プロセスのプロセスフィンガプリントを生成することであって、前記プロセスフィンガプリントは、少なくとも部分的に前記プロセスの動的特徴に基づいて、前記プロセスを識別する、ことと、
前記プロセスフィンガプリントを複数のプロセスフィンガプリントと比較することと、
少なくとも部分的に前記比較の結果に基づいて、データ削減動作を前記プロセスに関連付けられたデータに対して行うことであって、前記データ削減動作を前記プロセスに関連付けられたデータに対して行うことは、前記ログを削除することを含む、ことと
を含み、
前記プロセスフィンガプリントを生成することは、暗号化ハッシュ動作を前記プロセスの動的特徴を表すデータに対して行うことを含み、
前記プロセスの動的特徴を表すデータは、前記プロセスによってロードされたモジュールを特徴付けるデータ、前記プロセスに関連付けられたファイル動作を特徴付けるデータ、前記プロセスによって行われるレジストリ動作を特徴付けるデータ、前記プロセスに関連付けられたネットワークアクティビティを特徴付けるデータ、および／または、前記プロセスによって行われるプロセス間動作を特徴付けるデータを備えている、方法。
【請求項２】
コンピュータ実装サイバーセキュリティ方法であって、前記方法は、
プロセスのプロセスフィンガプリントを生成することであって、前記プロセスフィンガプリントは、少なくとも部分的に前記プロセスの動的特徴に基づいて、前記プロセスを識別する、ことと、
前記プロセスフィンガプリントを複数のプロセスフィンガプリントと比較することと、
少なくとも部分的に前記比較の結果に基づいて、データ削減動作を前記プロセスに関連付けられたデータに対して行うこと、および／または、前記プロセスがマルウェアプロセスであるかどうかを決定することと
を含む、方法。
【請求項３】
前記プロセスフィンガプリントを生成することは、暗号化ハッシュ動作を前記プロセスの動的特徴を表すデータに対して行うことを含む、請求項２に記載の方法。
【請求項４】
前記プロセスの動的特徴を表すデータは、前記プロセスによってロードされたモジュールを特徴付けるデータを備えている、請求項３に記載の方法。
【請求項５】
前記プロセスの動的特徴を表すデータは、前記プロセスに関連付けられたファイル動作を特徴付けるデータを備えている、請求項３に記載の方法。
【請求項６】
前記プロセスの動的特徴を表すデータは、前記プロセスによって行われるレジストリ動作を特徴付けるデータを備えている、請求項３に記載の方法。
【請求項７】
前記プロセスの動的特徴を表すデータは、前記プロセスに関連付けられたネットワークアクティビティを特徴付けるデータを備えている、請求項３に記載の方法。
【請求項８】
前記プロセスの動的特徴を表すデータは、前記プロセスによって行われるプロセス間動作を特徴付けるデータを備えている、請求項３に記載の方法。
【請求項９】
前記プロセスフィンガプリントを生成することは、前記暗号化ハッシュ動作を前記プロセスに対応するファイルの静的特徴を表すデータに対して行うことをさらに含む、請求項３に記載の方法。
【請求項１０】
前記暗号化ハッシュ動作は、ローリング暗号化ハッシュ動作である、請求項３に記載の方法。
【請求項１１】
前記暗号化ハッシュ動作は、決定的シーケンス不変暗号化ハッシュ動作である、請求項３に記載の方法。
【請求項１２】
前記プロセスフィンガプリントを生成することは、第１のプロセスフィンガプリントと、第２のプロセスフィンガプリントとを生成することを含む、請求項２に記載の方法。
【請求項１３】
前記第１のプロセスフィンガプリントを生成することは、暗号化ハッシュ動作を前記プロセスの第１の動的特徴を表すデータに対して行うことを含み、前記第２のプロセスフィンガプリントを生成することは、暗号化ハッシュ動作を前記プロセスの第２の動的特徴を表すデータに対して行うことを含む、請求項１２に記載の方法。
【請求項１４】
前記プロセスの前記第１の動的特徴を表すデータは、前記プロセスによってロードされたモジュールを特徴付けるデータ、前記プロセスに関連付けられたファイル動作を特徴付けるデータ、前記プロセスによって行われるレジストリ動作を特徴付けるデータ、前記プロセスに関連付けられたネットワークアクティビティを特徴付けるデータ、および前記プロセスによって行われるプロセス間動作を特徴付けるデータから成る群から選択される、請求項１３に記載の方法。
【請求項１５】
前記プロセスの前記第２の動的特徴を表すデータは、前記プロセスの前記第１の動的特徴を表すデータと異なり、前記プロセスの前記第２の動的特徴を表すデータは、前記プロセスによってロードされたモジュールを特徴付けるデータ、前記プロセスに関連付けられたファイル動作を特徴付けるデータ、前記プロセスによって行われるレジストリ動作を特徴付けるデータ、前記プロセスに関連付けられたネットワークアクティビティを特徴付けるデータ、および前記プロセスによって行われるプロセス間動作を特徴付けるデータから成る群から選択される、請求項１４に記載の方法。
【請求項１６】
前記プロセスによって行われる少なくともいくつかの動作のログを生成することをさらに含み、前記データ削減動作を前記プロセスに関連付けられたデータに対して行うことは、前記ログを削除することを含む、請求項２に記載の方法。
【請求項１７】
前記データ削減動作を前記プロセスに関連付けられたデータに対して行うことは、前記ログを前記プロセスのプロセスフィンガプリントで置き換えることをさらに含む、請求項１６に記載の方法。
【請求項１８】
前記データ削減動作を前記プロセスに関連付けられたデータに対して行うことは、前記ログを前記プロセスのプロセスフィンガプリントおよび前記プロセスの実行の日付および／または時間を示すデータで置き換えることをさらに含む、請求項１６に記載の方法。
【請求項１９】
前記比較の結果に基づいて前記データ削減動作を行うことは、前記複数のプロセスフィンガプリントに含まれるプロセスフィンガプリントに合致する前記プロセスフィンガプリントに基づいて、前記データ削減動作を行うことを含む、請求項２に記載の方法。
【請求項２０】
前記複数のプロセスフィンガプリントは、１つ以上のブラックリストに記載のプロセスの１つ以上のプロセスフィンガプリントを含み、前記比較の結果に基づいて前記プロセスがマルウェアプロセスであるかどうかを決定することは、前記１つ以上のブラックリストに記載のプロセスの前記１つ以上のプロセスフィンガプリントに含まれるフィンガプリントに合致する前記プロセスフィンガプリントに基づいて、前記プロセスがマルウェアプロセスであることを決定することを含む、請求項２に記載の方法。
【請求項２１】
前記複数のプロセスフィンガプリントは、１つ以上のホワイトリストに記載のプロセスの１つ以上のプロセスフィンガプリントを含み、前記比較の結果に基づいて前記プロセスがマルウェアプロセスであるかどうかを決定することは、前記１つ以上のホワイトリストに記載のプロセスの前記１つ以上のプロセスフィンガプリントに含まれるフィンガプリントに合致する前記プロセスフィンガプリントに基づいて、前記プロセスがマルウェアプロセスではないことを決定することを含む、請求項２に記載の方法。
【請求項２２】
データ処理装置を備えているサイバーセキュリティシステムであって、前記データ処理装置は、
プロセスのプロセスフィンガプリントを生成することであって、前記プロセスフィンガプリントは、少なくとも部分的に前記プロセスの動的特徴に基づいて、前記プロセスを識別する、ことと、
前記プロセスフィンガプリントを複数のプロセスフィンガプリントと比較することと、
少なくとも部分的に前記比較の結果に基づいて、データ削減動作を前記プロセスによって行われる動作のログに対して行うこと、および／または、前記プロセスがマルウェアプロセスであるかどうかを決定することと
を含む動作を行うようにプログラムされている、システム。
【請求項２３】
前記プロセスフィンガプリントを生成することは、暗号化ハッシュ動作を前記プロセスの動的特徴を表すデータに対して行うことを含み、前記プロセスの前記動的特徴を表すデータは、前記プロセスによってロードされたモジュールを特徴付けるデータ、前記プロセスに関連付けられたファイル動作を特徴付けるデータ、前記プロセスによって行われるレジストリ動作を特徴付けるデータ、前記プロセスに関連付けられたネットワークアクティビティを特徴付けるデータ、および／または、前記プロセスによって行われるプロセス間動作を特徴付けるデータを備えている、請求項２２に記載のシステム。
【請求項２４】
前記暗号化ハッシュ動作は、ローリング暗号化ハッシュ動作である、請求項２３に記載のシステム。
【請求項２５】
前記暗号化ハッシュ動作は、決定的シーケンス不変暗号化ハッシュ動作である、請求項２３に記載のシステム。
【請求項２６】
前記プロセスフィンガプリントを生成することは、第１のプロセスフィンガプリントと、第２のプロセスフィンガプリントとを生成することを含む、請求項２２に記載のシステム。
【請求項２７】
前記第１のプロセスフィンガプリントを生成することは、暗号化ハッシュ動作を前記プロセスの第１の動的特徴を表すデータに対して行うことを含み、前記第１の動的特徴は、第１のタイプの動的特徴であり、前記第２のプロセスフィンガプリントを生成することは、暗号化ハッシュ動作を前記プロセスの第２の動的特徴を表すデータに対して行うことを含み、前記第２の動的特徴は、前記第１のタイプと異なる第２のタイプの動的特徴である、請求項２６に記載のシステム。
【請求項２８】
前記動作は、前記プロセスによって行われる少なくともいくつかの動作のログを生成することをさらに含み、前記データ削減動作を前記プロセスに関連付けられたデータに対して行うことは、前記ログを削除することを含む、請求項２２に記載のシステム。
【請求項２９】
前記データ削減動作を前記プロセスに関連付けられたデータに対して行うことは、前記ログを前記プロセスのプロセスフィンガプリントで置き換えることをさらに含む、請求項２８に記載のシステム。
【請求項３０】
前記比較の結果に基づいて前記データ削減動作を行うことは、前記複数のプロセスフィンガプリントに含まれるプロセスフィンガプリントに合致する前記プロセスフィンガプリントに基づいて、前記データ削減動作を行うことを含む、請求項２２に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の引用）
本願は、米国仮特許出願第６２／２９８，７０７号（２０１６年２月２３日出願、名称「Ｃｙｂｅｒｓｅｃｕｒｉｔｙ  Ｓｙｓｔｅｍｓ  ａｎｄ  Ｔｅｃｈｎｉｑｕｅｓ」、代理人事件番号第ＢＩＴ−００９ＰＲ）の米国特許法§１１９（ｅ）に基づく優先権および利益を主張し、上記出願は、参照により適用可能な法によって許される最大限まで本明細書に引用される。
【０００２】
（発明の分野）
本開示は、概して、サイバーセキュリティシステムおよび技術に関する。具体的には、いくつかの実施形態は、少なくとも部分的にプロセスの動的特徴に基づいて、サイバーセキュリティシステムおよび技術の性能を向上させるためのシステムおよび技術に関する。
【背景技術】
【０００３】
インターネットおよび他のネットワークコンピュータシステムは、公共活動（例えば、政府機関の管理および運営）および私的活動（例えば、家庭および企業の個人活動、管理、および運営等）の中にますます統合されるにつれて、悪意のあるソフトウェア（「マルウェア」）が、そのようなものへの従事に著しい脅威をますます呈している。マルウェアは、概して、コンピュータシステムの動作を妨害する（例えば、計算リソースを乗っ取り、非認可目的のために、そのリソースを使用することによって；個々のコンピュータまたはネットワーク全体を無効化することによって；システムコンポーネントを損傷または別様に破壊することによって等）、および／またはリソースをコンピュータシステムから盗む（例えば、取り扱いに注意を要するデータを集めることによって）ように動作する。マルウェアは、コンピュータウイルス、ワーム、トロイの木馬、ランサムウェア、スパイウェア、アドウェア、スケアウェア、キーロガー、ルートキット、ボット、クライムウェア、フィッシング詐欺等を含む、多くの形態で展開され得る。
【０００４】
コンピュータユーザは、かなりのリソースを費やし、マルウェアを検出し、マルウェアが、ユーザのコンピュータシステムの動作を妨害すること、またはユーザのコンピュータベースのリソースを盗むことを防止する。従来のサイバーセキュリティエンジンは、マルウェアを検出するために、静的シグネチャベースの技術に広く依拠している。一般に、静的シグネチャベースのウェア検出は、マルウェアを含むことが既知のファイルのコピーを得ること、ファイルの静的特徴（例えば、ファイルに含まれるバイトのシーケンス）を分析し、マルウェアに特徴的である静的シグネチャを抽出すること、マルウェアの静的シグネチャを既知のマルウェアのデータベース（多くの場合、「ブラックリスト」と称される）に追加することを伴う。ユーザが、ファイルにアクセスする（例えば、それをダウンロードする、開く、または実行する）ことを試みると、サイバーセキュリティエンジンは、ファイルを走査し、ファイルの静的シグネチャを抽出する。ファイルの静的シグネチャが、ブラックリスト上のシグネチャに合致する場合、サイバーセキュリティエンジンは、マルウェアの存在を検出し、マルウェアが実行することを防止するように介入する（例えば、ファイルを隔離または削除することによって）。
【０００５】
静的シグネチャベースのマルウェア検出技術は、概して、既知のマルウェアを迅速に検出するために有用である。しかしながら、これらの技術は、概して、まだブラックリストにない、新しいマルウェア（例えば、ゼロデイマルウェアまたは次世代マルウェア）または自らを修正し、ブラックリスト上の静的シグネチャに合致することを回避する、マルウェア（例えば、少型、多様型、または変形型）によって出し抜かれ得る。
【０００６】
いくつかのサイバーセキュリティエンジンは、マルウェアを検出するために、挙動ベースの技術に依拠する。一般に、挙動ベースのマルウェア検出は、プロセスの実行を監視し、プロセスの実行の疑わしい特徴（例えば、コードを取り出す、ホストフィルを修正する、キーストロークをロギングすることを含み得る疑わしいプロセス挙動等）を識別することを伴う。疑わしい挙動が識別されると、サイバーセキュリティエンジンは、コンピュータシステムを保護し（例えば、プロセスを終了または隔離することによって）、脅威を査定する（例えば、プロセスの科学捜査を開始することによって等）ように介入する。
【発明の概要】
【課題を解決するための手段】
【０００７】
挙動ベースのマルウェア検出技法は、静的シグネチャのブラックリストを使用して検出することが困難である、あるタイプのマルウェア（例えば、ゼロデイマルウェアおよび自己修正マルウェア）から、コンピュータシステムを保護することができる。しかしながら、挙動ベースのマルウェア検出技法は、かなりの需要をホストコンピュータシステムのリソースに課し得、したがって、ホストコンピュータシステムの性能を実質的に劣化させ得る。例えば、挙動ベースのマルウェア検出を行うサイバーセキュリティエンジンは、コンピュータシステム上で実行中である、または実行されたプロセスの挙動のログを維持し得る。これらのログは、疑わしい挙動を検出するために、または疑わしい挙動が検出された場合の科学捜査を促進するために使用されることができる。集合的に、これらの挙動ログは、大量の記憶容量を占有し得、プロセスが実行するにつれてログを更新することは、コンピュータシステムの処理リソースのかなりの部分を消費し得る。
【０００８】
挙動ベースのマルウェア検出のためのより効率的システムおよび技法が、必要とされる。多くの場合、プロセス挙動ログに含まれる情報の多くは、最終的には、疑わしいプロセス挙動を検出するために有用ではなく、科学捜査にも有用ではない。本発明者らは、比較的に少量のデータ（例えば、「動的シグネチャ」または「プロセスフィンガプリント」）が、いくつかの実施形態では、プロセスの動的特徴（例えば、挙動）を特徴付けるために使用され得、疑わしいプロセス挙動を検出するため、および／または科学捜査のために有用であり得ると認識および理解している。本開示は、プロセスフィンガプリントを生成し、それらを使用して、マルウェアを検出するための技法を説明する。
【０００９】
本開示の側面によると、サイバーセキュリティ方法は、プロセスのプロセスフィンガプリントを生成することであって、プロセスフィンガプリントは、少なくとも部分的にプロセスの動的特徴に基づいて、プロセスを識別する、ことと、プロセスフィンガプリントを複数のプロセスフィンガプリントと比較することと、少なくとも部分的に比較の結果に基づいて、データ削減動作をプロセスに関連付けられたデータに対して行うことおよび／またはプロセスがマルウェアプロセスであるかどうかを決定することとを含む。
【００１０】
いくつかの実施形態では、プロセスフィンガプリントを生成することは、暗号化ハッシュ動作をプロセスの動的特徴を表すデータに対して行うことを含む。いくつかの実施形態では、プロセスの動的特徴を表すデータは、プロセスによってロードされたモジュールを特徴付けるデータを含む。いくつかの実施形態では、プロセスの動的特徴を表すデータは、プロセスに関連付けられたファイル動作を特徴付けるデータを含む。いくつかの実施形態では、プロセスの動的特徴を表すデータは、プロセスによって行われるレジストリ動作を特徴付けるデータを含む。いくつかの実施形態では、プロセスの動的特徴を表すデータは、プロセスに関連付けられたネットワークアクティビティを特徴付けるデータを含む。いくつかの実施形態では、プロセスの動的特徴を表すデータは、プロセスによって行われるプロセス間動作を特徴付けるデータを含む。いくつかの実施形態では、プロセスフィンガプリントを生成することは、暗号化ハッシュ動作をプロセスに対応するファイルの静的特徴を表すデータに対して行うことをさらに含む。いくつかの実施形態では、暗号化ハッシュ動作は、ローリング暗号化ハッシュ動作である。いくつかの実施形態では、暗号化ハッシュ動作は、決定的シーケンス不変暗号化ハッシュ動作である。
【００１１】
いくつかの実施形態では、プロセスフィンガプリントを生成することは、第１のプロセスフィンガプリントと、第２のプロセスフィンガプリントとを生成することを含む。いくつかの実施形態では、第１のプロセスフィンガプリントを生成することは、暗号化ハッシュ動作をプロセスの第１の動的特徴を表すデータに対して行うことを含み、第２のプロセスフィンガプリントを生成することは、暗号化ハッシュ動作をプロセスの第２の動的特徴を表すデータに対して行うことを含む。いくつかの実施形態では、プロセスの第１の動的特徴を表すデータは、プロセスによってロードされたモジュールを特徴付けるデータ、プロセスに関連付けられたファイル動作を特徴付けるデータ、プロセスによって行われるレジストリ動作を特徴付けるデータ、プロセスに関連付けられたネットワークアクティビティを特徴付けるデータ、およびプロセスによって行われるプロセス間動作を特徴付けるデータから成る群から選択される。いくつかの実施形態では、プロセスの第２の動的特徴を表すデータは、プロセスの第１の動的特徴を表すデータと異なり、プロセスの第２の動的特徴を表すデータは、プロセスによってロードされたモジュールを特徴付けるデータ、プロセスに関連付けられたファイル動作を特徴付けるデータ、プロセスによって行われるレジストリ動作を特徴付けるデータ、プロセスに関連付けられたネットワークアクティビティを特徴付けるデータ、およびプロセスによって行われるプロセス間動作を特徴付けるデータから成る群から選択される。
【００１２】
いくつかの実施形態では、方法は、プロセスによって行われる少なくともいくつかの動作のログを生成することをさらに含み、データ削減動作をプロセスに関連付けられたデータに対して行うことは、ログを削除することを含む。いくつかの実施形態では、データ削減動作をプロセスに関連付けられたデータに対して行うことは、ログをプロセスのプロセスフィンガプリントで置き換えることをさらに含む。いくつかの実施形態では、データ削減動作をプロセスに関連付けられたデータに対して行うことは、ログをプロセスのプロセスフィンガプリントならびにプロセスの実行の日付および／または時間を示すデータで置き換えることをさらに含む。いくつかの実施形態では、比較の結果に基づいて、データ削減動作を行うことは、複数のプロセスフィンガプリントに含まれるプロセスフィンガプリントに合致するプロセスフィンガプリントに基づいて、データ削減動作を行うことを含む。
【００１３】
いくつかの実施形態では、複数のプロセスフィンガプリントは、１つ以上のブラックリストに記載のプロセスの１つ以上のプロセスフィンガプリントを含み、比較の結果に基づいて、プロセスがマルウェアプロセスであるかどうかを決定することは、１つ以上のブラックリストに記載のプロセスの１つ以上のプロセスフィンガプリントに含まれるフィンガプリントに合致するプロセスフィンガプリントに基づいて、プロセスがマルウェアプロセスであることを決定することを含む。いくつかの実施形態では、複数のプロセスフィンガプリントは、１つ以上のホワイトリストに記載のプロセスの１つ以上のプロセスフィンガプリントを含み、比較の結果に基づいて、プロセスがマルウェアプロセスであるかどうかを決定することは、１つ以上のホワイトリストに記載のプロセスの１つ以上のプロセスフィンガプリントに含まれるフィンガプリントに合致するプロセスフィンガプリントに基づいて、プロセスがマルウェアプロセスではないことを決定することを含む。
【００１４】
本開示の別の側面によると、コンピュータ実装サイバーセキュリティ方法は、プロセスによって行われる少なくともいくつかの動作のログを生成することと、プロセスのプロセスフィンガプリントを生成することであって、プロセスフィンガプリントは、少なくとも部分的にプロセスの動的特徴に基づいて、プロセスを識別する、ことと、プロセスフィンガプリントを複数のプロセスフィンガプリントと比較することと、少なくとも部分的に比較の結果に基づいて、データ削減動作をプロセスに関連付けられたデータに対して行うことであって、データ削減動作をプロセスに関連付けられたデータに対して行うことは、ログを削除することを含む、こととを含み、プロセスフィンガプリントを生成することは、暗号化ハッシュ動作をプロセスの動的特徴を表すデータに対して行うことを含み、プロセスの動的特徴を表すデータは、プロセスによってロードされたモジュールを特徴付けるデータ、プロセスに関連付けられたファイル動作を特徴付けるデータ、プロセスによって行われるレジストリ動作を特徴付けるデータ、プロセスに関連付けられたネットワークアクティビティを特徴付けるデータ、および／またはプロセスによって行われるプロセス間動作を特徴付けるデータを含む。
【００１５】
本開示の別の側面によると、サイバーセキュリティシステムは、データ処理装置であって、プロセスのプロセスフィンガプリントを生成することであって、プロセスフィンガプリントは、少なくとも部分的にプロセスの動的特徴に基づいて、プロセスを識別する、ことと、プロセスフィンガプリントを複数のプロセスフィンガプリントと比較することと、少なくとも部分的に比較の結果に基づいて、データ削減動作をプロセスに関連付けられたデータに対して行うことおよび／またはプロセスがマルウェアプロセスであるかどうかを決定することを含む動作を行うようにプログラムされているデータ処理装置を含む。
【００１６】
いくつかの実施形態では、プロセスフィンガプリントを生成することは、暗号化ハッシュ動作をプロセスの動的特徴を表すデータに対して行うことを含み、プロセスの動的特徴を表すデータは、プロセスによってロードされたモジュールを特徴付けるデータ、プロセスに関連付けられたファイル動作を特徴付けるデータ、プロセスによって行われるレジストリ動作を特徴付けるデータ、プロセスに関連付けられたネットワークアクティビティを特徴付けるデータ、および／またはプロセスによって行われるプロセス間動作を特徴付けるデータを含む。いくつかの実施形態では、暗号化ハッシュ動作は、ローリング暗号化ハッシュ動作である。いくつかの実施形態では、暗号化ハッシュ動作は、決定的シーケンス不変暗号化ハッシュ動作である。
【００１７】
いくつかの実施形態では、プロセスフィンガプリントを生成することは、第１のプロセスフィンガプリントと、第２のプロセスフィンガプリントとを生成することを含む。いくつかの実施形態では、第１のプロセスフィンガプリントを生成することは、暗号化ハッシュ動作をプロセスの第１の動的特徴を表すデータに対して行うことを含み、第１の動的特徴は、第１のタイプの動的特徴であり、第２のプロセスフィンガプリントを生成することは、暗号化ハッシュ動作をプロセスの第２の動的特徴を表すデータに対して行うことを含み、第２の動的特徴は、第１のタイプと異なる第２のタイプの動的特徴である。
【００１８】
いくつかの実施形態では、動作は、プロセスによって行われる少なくともいくつかの動作のログを生成することをさらに含み、データ削減動作をプロセスに関連付けられたデータに対して行うことは、ログを削除することを含む。いくつかの実施形態では、データ削減動作をプロセスに関連付けられたデータに対して行うことは、ログをプロセスのプロセスフィンガプリントで置き換えることをさらに含む。いくつかの実施形態では、比較の結果に基づいて、データ削減動作を行うことは、複数のプロセスフィンガプリントに含まれるプロセスフィンガプリントに合致するプロセスフィンガプリントに基づいて、データ削減動作を行うことを含む。
【００１９】
本開示の別の側面によると、コンピュータ記憶媒体が提供され、コンピュータ記憶媒体は、データ処理装置によって実行されると、プロセスのプロセスフィンガプリントを生成することであって、プロセスフィンガプリントは、少なくとも部分的にプロセスの動的特徴に基づいて、プロセスを識別する、ことと、プロセスフィンガプリントを複数のプロセスフィンガプリントと比較することと、少なくとも部分的に比較の結果に基づいて、データ削減動作をプロセスに関連付けられたデータに対して行うことおよび／またはプロセスがマルウェアプロセスであるかどうかを決定することとを含む動作をデータ処理装置に行わせる命令を記憶している。
【００２０】
本明細書に説明される技法のいくつかの実施形態は、従来のサイバーセキュリティシステムおよび技法に優るある利点を示し得る。例えば、プロセスフィンガプリントを使用してプロセス挙動を特徴付けるいくつかのサイバーセキュリティシステムは、主にプロセス挙動ログに依拠してプロセス挙動を特徴付ける挙動ベースのマルウェア検出システムより効率的であり得る。特に、主にプロセス挙動ログに依拠してプロセス挙動を特徴付けるシステムに関して、本明細書に説明されるサイバーセキュリティシステムのいくつかの実施形態は、マルウェアの検出および調査のために、ホストコンピュータシステムの処理および／または記憶リソースをあまり使用しないであろう。このように、いくつかの実施形態は、ホストコンピュータシステムの機能および全体的性能を改良することができる。
【００２１】
本発明の他の側面および利点は、全て、例示のみとして、本発明の原理を例証する、以下の図面、発明を実施するための形態、および請求項から明白となるであろう。いくつかの実施形態に関する論拠の説明および／またはいくつかの実施形態の利点を含む上記発明の概要は、読者が、本開示を理解することを補助することを意図し、請求項のいずれかの範囲を限定するものではない。
【００２２】
いくつかの実施形態のある利点は、添付の図面と併せて検討される以下の説明を参照して理解され得る。図面では、同様の参照文字は、概して、異なる図全体を通して、同一部分を指す。また、図面は、必ずしも、縮尺通りではなく、代わりに、概して、本発明のいくつかの実施形態の例証に強調が置かれる。
【図面の簡単な説明】
【００２３】
【図１】図１は、いくつかの実施形態による、サイバーセキュリティ方法のフローチャートである。
【図２】図２は、いくつかの実施形態による、コンピュータのブロック図である。
【発明を実施するための形態】
【００２４】
図１は、いくつかの実施形態による、サイバーセキュリティ方法１００を示す。いくつかの実施形態では、方法１００は、従来の挙動ベースのマルウェア検出および応答技術より有意に少ないデータ処理リソースおよび／またはデータ記憶リソースを使用しながら、挙動ベースのマルウェア検出および応答を促進する。マルウェア脅威検出および応答方法１００のステップ１１０では、プロセスの「プロセスフィンガプリント」（または「動的シグネチャ」）が、生成される。プロセスフィンガプリントは、少なくとも部分的にその動的特徴に基づいて、プロセスを識別する。ステップ１２０では、プロセスフィンガプリントは、既知のプロセス（例えば、合法であることが既知のプロセス、マルウェアであることが既知のプロセス、および／または他のプロセス）の動的特徴（例えば、挙動）に対応するプロセスフィンガプリントの１つ以上の組と比較される。ステップ１３０では、フィンガプリント比較の結果に基づいて、１つ以上のアクションが、挙動ベースのマルウェア検出を促進するために行われる。行われるアクションは、データ削減動作をプロセスに関連付けられたデータに対して行うこと、プロセスがブラックリストに記載のマルウェアのインスタンスであるかどうかを決定すること、プロセスがホワイトリストに記載のソフトウェアのインスタンスであるかどうかを決定すること等を含み得る。サイバーセキュリティ方法１００のいくつかの実施形態は、以下にさらに詳細に説明される。いくつかの実施形態では、方法１００の１つ以上の（例えば、全ての）ステップは、サイバーセキュリティエンジンによって行われ得る。
【００２５】
ステップ１１０では、プロセスフィンガプリントが、プロセスのために生成される。プロセスフィンガプリントは、その動的特徴に基づいて、プロセスを識別する。いくつかの実施形態では、各独特のプロセスフィンガプリントは、動的プロセス特徴（例えば、プロセス挙動）の独特の組またはシーケンス（例えば、時系列シーケンス）に対応する。いくつかの実施形態では、サイバーセキュリティエンジンは、同一プロセスフィンガプリントを有するプロセスを挙動上同じであるとして、または同一プロセスのインスタンスであるとして取り扱い得る。
【００２６】
プロセスフィンガプリントは、少なくとも部分的にプロセスの動的特徴（例えば、プロセスの挙動）に基づいて、生成され得る。いくつかの実施形態では、プロセスフィンガプリントは、動作（例えば、数学的動作、論理動作、テキスト処理動作ハッシュ動作、データ正規化動作等）をプロセスの動的特徴を表すデータに対して行うことによって生成された値を含む。例えば、プロセスフィンガプリントは、ハッシュ動作（例えば、暗号化ハッシュ動作）をプロセスの動的特徴を表すデータに対して行うことによって生成されたハッシュ値（例えば、暗号化ハッシュ値）を含み得る。
【００２７】
いくつかの実施形態では、ハッシュ動作は、恣意的サイズのデータを固定サイズのデータにマッピングする任意の動作である。ハッシュ動作は、動作が、常時、同一入力値または入力値のシーケンスに対して同一ハッシュ値を生成する場合、「決定的」であると言える。ハッシュ動作は、動作が、入力値の予期される範囲を、ハッシュ値の範囲内の各ハッシュ値が同一確率（または実質的に同一確率）で生成されるように、ハッシュ値の範囲にわたって均一に（または実質的に均一に）マッピングする場合、「均一」（または「実質的に均一」）と言える。ハッシュ動作は、２つの入力値ＩＶ１およびＩＶ２に対してそれぞれ生成された２つのハッシュ値ＨＶ１とＨＶ２との間の差異が、概して、２つの入力値間の差異が増加するにつれて増加し、概して、２つの入力値間の差異が減少するにつれて減少する場合、「連続的」であると言える。連続的ハッシュ動作を使用して、プロセスフィンガプリントを生成することは、類似（但し、同じではない）動的特徴を呈するプロセスを表すプロセスフィンガプリントを検索するタスクを促進し得る。いくつかの実施形態では、暗号化ハッシュ動作は、事実上、不逆的である（例えば、ハッシュ動作の反転は、比較的に長時間および／または比較的に大量の計算リソースを要求するであろう）。
【００２８】
任意の好適なハッシュ動作が、使用され得る。例えば、ハッシュ動作は、限定ではないが、セキュアハッシュアルゴリズム（例えば、ＳＨＡ-０、ＳＨＡ-１、ＳＨＡ-２、ＳＨＡ-２２４、ＳＨＡ-２５６、ＳＨＡ-３８４、ＳＨＡ-５１２、ＳＨＡ-５１２／２２４、ＳＨＡ-５１２／２５６、ＳＨＡ-３、ＳＨＡ３-２２４、ＳＨＡ３-２５６、ＳＨＡ３-３８４、ＳＨＡ３-３８４、ＳＨＡ３-５１２、ＳＨＡＫＥ１２８、ＳＨＡＫＥ２５６）、Ｍｅｒｋｌｅ-Ｄａｍｇａｒｄハッシュ関数（例えば、ＭＤ４、ＭＤ５）、Ｆｏｗｌｅｒ-Ｎｏｌｌ-Ｖｏ（ＦＮＶ）ハッシュ関数、Ｊｅｎｋｉｎｓハッシュ関数等を含み得る。
【００２９】
本発明者らは、疑わしいプロセス挙動を検出するために有用な情報、および／またはプロセス挙動の科学捜査のために有用な情報のかなりの部分が、プロセスによってロードされたモジュール、プロセスに関連付けられたファイル動作、プロセスによって行われるレジストリ動作、プロセスのネットワークアクティビティ、および／またはプロセスによって行われるプロセス間動作に関連することを認識および理解している。故に、プロセスフィンガプリントを生成するために使用されるデータは、プロセスによってロードされたモジュールを特徴付けるデータ、プロセスに関連付けられたファイル動作を特徴付けるデータ、プロセスによって行われるレジストリ動作を特徴付けるデータ、プロセスに関連付けられたネットワークアクティビティを特徴付けるデータ、プロセスによって行われるプロセス間動作を特徴付けるデータ等を含み得る。
【００３０】
その実行中、プロセスは、１つ以上のモジュール（例えば、ソフトウェアモジュール）をロードし得る。モジュールのロードは、モジュール（またはその一部）のコンテンツをプロセスのアドレス空間の中にコピーすること、モジュール（またはその機能）を呼び出すこと、モジュール（またはその一部）を実行すること等を含み得る。モジュールの例は、限定ではないが、ライブラリモジュール（例えば、．ＤＬＬ）、実行可能モジュール（例えば、．ＥＸＥ）、カーネルモジュール、バイナリファイル等を含む。プロセスによってロードされたモジュールを特徴付けるデータは、ある場合、疑わしいプロセス挙動を検出するために、および／または科学捜査のために有用であり得る。そのようなデータは、ロードされたモジュールへのパスを表すデータ、ロードされたモジュールを識別するデータ（例えば、モジュールのためのＭＤ５ハッシュ値）等を含み得る。
【００３１】
プロセスの実行は、１つ以上のファイル動作を行い得る。ファイル動作は、ファイルに対して行われる動作、コンピューティングデバイスのファイルシステムにアクセスする動作等を含む。ファイル動作の例は、ファイルを作成すること、ファイルを削除すること、ファイルをリネーミングすること、ファイルの属性を変更すること、ファイルのアクセス許可を変更すること、ファイルを開くこと、ファイルを閉じること、データをファイルから読み取ること、データをファイルに書き込むこと等を含む。
【００３２】
プロセスに関連付けられたファイル動作を特徴付けるデータは、ある場合、疑わしいプロセス挙動を検出するために、および／または科学捜査のために有用であり得る。そのようなデータは、プロセスによって行われるファイル動作を表すデータおよび／またはプロセスが呼び出されたファイル動作を表すデータを含み得る。いくつかの実施形態では、プロセスによって行われるファイル動作を表すデータは、プロセスによって行われるファイル動作のタイプを表すデータ、プロセスによってアクセスされるファイルのパス名を表すデータ、プロセスによって作成された子プロセスを識別するデータ（例えば、子プロセスに対応するファイルのパス名および／または子プロセスのためのＭＤ５ハッシュ値）等を含む。プロセスが呼び出されたファイル動作を表すデータは、その時点のプロセスを呼び出した親プロセスを識別するデータ（例えば、親プロセスに対応するファイルのパス名および／またはファイルのためのＭＤ５ハッシュ値）、プロセスを開始したコマンドを表すデータ（例えば、コマンドラインターミナルまたはシェルの中に打ち込まれたコマンド）、プロセスに対応するファイルのパス名を表すデータ等を含み得る（プロセスに「対応する」ファイルは、プロセスによって実行される命令を含むファイル、プロセスの実行を開始するために別様にアクセスされるファイル等を含み得る）。
【００３３】
その実行中、プロセスは、オペレーティングシステム（ＯＳ）レジストリの１つ以上のレジストリキーにアクセスし得る。一般に、オペレーティングシステムレジストリは、ＯＳカーネル、オペレーティングシステムの他の部分、デバイスドライバ、サービス、および／またはアプリケーションに対する設定（「レジストリキー」）の値（「レジストリキー値」）を記憶し得る。好適なアクセス許可を伴うプロセスは、レジストリキーの値を読み取ること、レジストリキーの値を書き込むこと、レジストリキーを作成すること、レジストリキーを削除すること等を行い得る。プロセスによって行われるレジストリ動作を特徴付けるデータは、ある場合、疑わしいプロセス挙動を検出するために、および／または科学捜査のために有用であり得る。そのようなデータは、プロセスによってアクセスされるレジストリキーを表すデータ（例えば、レジストリキーの名前またはパス名）、プロセスによってアクセスされるレジストリキー値を表すデータ、レジストリキーに対してプロセスによって行われるアクセスのタイプを表すデータ（例えば、読み取り、書き込み、読み取り／書き込み）等を含み得る。
【００３４】
プロセスの実行は、コンピュータネットワークにアクセスし、データを遠隔に位置するコンピュータに送信し、および／またはデータをそこから受信し得る。プロセスに関連付けられたネットワークアクティビティを特徴付けるデータは、ある場合、疑わしいプロセス挙動を検出するために、および／または科学捜査のために有用であり得る。そのようなデータは、プロセスがネットワーク通信に送信する、および／またはプロセスがネットワーク通信を受信するデバイスのアドレスを表すデータ（例えば、ＩＰアドレス、ＭＡＣアドレス等）；プロセスがネットワーク通信に送信する、および／またはそこから受信するポートを表すデータ；プロセスが従事する（例えば、特定のポートを通して、および／または特定のアドレスにおけるデバイスを用いて）通信のタイプを表すデータ（送信、受信、または送信および受信）；ネットワークプロトコルを表すデータ（例えば、ＴＣＰ、ＩＰ、ＴＣＰ／ＩＰ、ＵＤＰ、ＩＣＭＰ、ＳＳＨ、ＦＴＰ、ＳＭＴＰ、ＨＴＴＰ、ＨＴＴＰＳ、ＰＯＰ、ＳＦＴＰ、ＳＳＬ、ＴＬＳ、ＰＰＰ、ＩＭＡＰ、ＷｉＦｉ、Ｂｌｕｅｔｏｏｔｈ（登録商標）等）等を含み得る。
【００３５】
その実行中、プロセスは、１つ以上のプロセス間動作を行い得る。プロセス間動作は、プロセス（「ソースプロセス」）が、別のプロセス（「標的プロセス」）のセキュリティ境界を越える動作を行うときに生じる。プロセス間動作のいくつかの例は、別のプロセスへのハンドルを開くプロセス、別のプロセスのスレッドへのハンドルを開くプロセス、スレッドを別のプロセス内に作成するプロセス等を含む。プロセスによって行われるプロセス間動作を特徴付けるデータは、ある場合、疑わしいプロセス挙動を検出するために、および／または科学捜査のために有用であり得る。そのようなデータは、標的プロセスを識別する情報（例えば、標的プロセスのパス、標的プロセスのためのＭＤ５ハッシュ値、標的プロセスのユーザコンテキスト等）、ソースプロセスによって要求されるアクセス許可を示す情報（例えば、許可ビットマスク）、ソースプロセスによって行われる（または要求される）プロセス間動作のタイプを識別する情報等を含み得る。
【００３６】
いくつかの実施形態では、プロセスの動的特徴を表すデータは、タイミングデータ（例えば、プロセスが動作を行うときの時間、２つ以上の動作間の時間間隔等を示すデータ）を含み得る。いくつかの実施形態では、そのようなタイミングデータは、プロセスの動的特徴を表すデータから除外され得る。
【００３７】
コンピュータＣ上で実行するプロセスＰに対するプロセスフィンガプリントＰＦの生成の例が、ここで説明される。この例では、プロセスＰは、ファイルＦを実行することによって開始される。プロセスＰは、ＩＰアドレスＡＢＣ．ＤＥＦ．ＧＨＩ．Ｊにおけるデバイスと通信し、ファイルＦを修正する（例えば、それを開き、データを書き込む）。この例では、サイバーセキュリティエンジンは、ファイルＦのパス名を識別し、プロセスＰがファイルＦを実行することによって開始されたことを示すデータ値Ｖ１を生成し、ＩＰアドレスＡＢＣ．ＤＥＦ．ＧＨＩ．Ｊを識別し、プロセスＰがそのＩＰアドレスにおけるデバイスと通信したことを示すデータ値Ｖ２を生成し、プロセスＰがファイルＦを修正したことを示すデータ値Ｖ３を生成する。サイバーセキュリティエンジンは、ハッシュ動作をデータ値Ｖ１、Ｖ２、およびＶ３に対して行うことによって、プロセスＰに対するプロセスフィンガプリントＰＦを生成し得る。前述の例は、非限定的であって、単に、本明細書に説明される技法がプロセスフィンガプリントを生成するために適用され得る方法の一例を図示するために提供される。
【００３８】
いくつかの実施形態では、サイバーセキュリティエンジンは、プロセスに関する２つ以上のプロセスフィンガプリントの組を生成し得る。例えば、サイバーセキュリティエンジンは、（少なくとも部分的に）プロセスによってロードされたモジュールを特徴付けるデータに基づいて、第１のプロセスフィンガプリントを生成し、（少なくとも部分的に）プロセスに関連付けられたファイル動作を特徴付けるデータに基づいて、第２のプロセスフィンガプリントを生成し、（少なくとも部分的に）プロセスによって行われるレジストリ動作を特徴付けるデータに基づいて、第３のプロセスフィンガプリントを生成し、（少なくとも部分的に）プロセスに関連付けられたネットワークアクティビティを特徴付けるデータに基づいて、第４のプロセスフィンガプリントを生成し得る等。
【００３９】
プロセスに対する複数のプロセスフィンガプリントの生成は、疑わしいプロセス挙動の検出を促進し得る。マルウェア開発者は、種々の無害の動作を行うことによって（例えば、マルウェアプログラムが実行される度に無害の動作の異なる組を行うことによって）、検出を回避することを試みるようにマルウェアプログラムを構成し得る。このように、マルウェアプログラムは、実行する度に、そのプロセスフィンガプリントを変化させるように試み、そのプロセスフィンガプリントに基づいて、マルウェアプログラムを確実に識別することをより困難にし得る。異なるタイプの動的プロセス特徴に対応する複数のプロセスフィンガプリントを生成することによって、サイバーセキュリティエンジンは、疑わしい挙動を偽装するように意図される無害の挙動を含む無害のプロセス挙動から、疑わしいプロセス挙動をより容易に区別し得る。加えて、プロセスフィンガプリントのいくつかの実施形態は、損失性である（すなわち、生成されたプロセスフィンガプリントは、いくつかの実施形態では、フィンガプリントを生成するために使用されるデータに含まれる情報の全てを保持しない）ので、データの異なるカテゴリに対応する２つ以上のプロセスフィンガプリントの組は、いくつかの実施形態では、それらの同一カテゴリのデータに基づく単一フィンガプリントよりプロセス挙動についての多くの情報を保持し得る。
【００４０】
いくつかの実施形態では、サイバーセキュリティエンジンは、データの任意の好適な一部を使用して、１つ以上のプロセスフィンガプリントを生成し得る。例えば、サイバーセキュリティエンジンは、プロセスに関連付けられたネットワークアクティビティを特徴付けるデータのみに基づいて、またはプロセスによって行われるレジストリ動作を特徴付けるデータおよびプロセスによってロードされたモジュールを特徴付けるデータのみに基づいて、または（限定ではないが）本明細書に説明されるデータのタイプを含む任意の好適なタイプのデータもしくはデータのタイプの組み合わせに基づいて、プロセスフィンガプリントを生成し得る。
【００４１】
いくつかの実施形態では、サイバーセキュリティエンジンは、ローリングハッシュ動作を使用して、プロセスフィンガプリントを生成し得る。ローリングハッシュ動作を用いると、プロセスの動的特徴を表すデータ値が、それらのデータ値が生成されるにつれて（例えば、プロセスがそれらのデータ値によって表される動作を行うにつれて）、ハッシュオペレータに供給され、ローリングハッシュ動作は、それらのデータ値が受信されるにつれて、供給されるデータ値に基づいて、プロセスフィンガプリントを更新する（例えば、プロセスフィンガプリントの値を再計算する）。ローリングハッシュ動作の１つの利点は、プロセスが実行中、プロセスフィンガプリントが「オンザフライ」で生成され得、それが、マルウェアプロセスの迅速検出を促進し得ることである。ローリングハッシュ動作の１つの潜在的不利点は、正確に同一動作を行うが、それらの動作を異なる順序で行う２つのプロセスに対して、異なるプロセスフィンガプリントが生成され得ることである。
【００４２】
いくつかの実施形態では、マルウェア検出は、決定的シーケンス不変（ＤＳＩ）ハッシュ動作を使用して、プロセスフィンガプリントを生成し得る。ＤＳＩハッシュ動作を用いると、サイバーセキュリティエンジンは、プロセスがそれらのデータ値によって特徴付けられる動作を行った順序に関係なく、プロセスの動的特徴を表すデータ値の組に対して同一プロセスフィンガプリントを生成する。ＤＳＩハッシュ動作の単なる一例として、サイバーセキュリティエンジンは、プロセスが終了するまで、プロセスの動的特徴を表すデータ値の組を維持し、データ値の組をソートし（複製データ値の除去の有無にかかわらず）、決定的ハッシュオペレータをソートされたデータ値に適用し得る。ＤＳＩハッシュ動作の１つの利点は、プロセスがそれらの動作を異なる順序で行う場合でも、同一動作を行う２つのプロセスに対して同一プロセスフィンガプリントが生成され得、それが、マルウェアプロセスが自らを偽装することをより困難にし得ることである。少なくともいくつかのＤＳＩハッシュ動作の１つの潜在的不利点は、プロセスが実行中、これらのハッシュ動作を「オンザフライ」で行うことが不可能であり得ることである。
【００４３】
図１に戻ると、ステップ１２０では、ステップ１１０において生成されたプロセスフィンガプリントは、既知のソフトウェアの動的特徴（例えば、挙動）に基づいて生成されたプロセスフィンガプリントの１つ以上の組と比較される。いくつかの実施形態では、プロセスフィンガプリントの１つ以上の組は、ブラックリストに記載のフィンガプリントの組を含み得る。プロセスフィンガプリントは、任意の好適な理由からブラックリストに記載され得るが、いくつかの実施形態では、ブラックリスト上のプロセスフィンガプリントの存在は、フィンガプリントに対応するプロセスがマルウェアプロセスとして識別されたことを示し得る。いくつかの実施形態では、サイバーセキュリティエンジンは、ブラックリストに記載のプロセスフィンガプリントの組を信頼されるソース（例えば、サイバーセキュリティプロバイダ）から取得し得る（または１つ以上のプロセスフィンガプリントをブラックリストに記載のフィンガプリントとして識別するデータを得る）。信頼されるソースは、既知のマルウェアプロセスを実行し、それらのマルウェアプロセスに対するフィンガプリントを生成し（例えば、本明細書に説明される技法を使用して）、生成されたフィンガプリントを記憶することを含む任意の好適な技法を使用して、ブラックリストに記載のプロセスフィンガプリントを取得し得る。
【００４４】
いくつかの実施形態では、信頼されるソースは、マルウェアプロセスの挙動のログも生成し（例えば、当業者に公知の挙動ロギング技法を使用して）、ログをマルウェアプロセスフィンガプリントと関連して記憶し得る。そのようなログがマルウェアプロセスの挙動を表すという点で、ログは、マルウェアプロセスフィンガプリントがサイバーセキュリティエンジンによって検出されるとき、科学捜査のために有用であり得る。このように、サイバーセキュリティエンジンが、システムが既知の（例えば、ブラックリストに記載の）プロセスフィンガプリントを伴うプロセスを実行したことを検出すると、プロセスを実行したシステムがそれ自身の処理リソースおよびデータリソースを費やし、挙動ログを維持しない場合でも、プロセスの挙動を表す挙動ログは、科学捜査のために利用可能にされることができる。
【００４５】
いくつかの実施形態では、プロセスフィンガプリントの１つ以上の組は、ホワイトリストに記載のフィンガプリントの組を含み得る。プロセスフィンガプリントは、任意の好適な理由からホワイトリストに記載され得るが、いくつかの実施形態では、ホワイトリスト上のプロセスフィンガプリントの存在は、フィンガプリントに対応するプロセスが信頼されるプロセスとして識別されたことを示し得る。いくつかの実施形態では、サイバーセキュリティエンジンは、ホワイトリストに記載のプロセスフィンガプリントの組を信頼されるソース（例えば、サイバーセキュリティプロバイダ）から取得し得る（または１つ以上のプロセスフィンガプリントをホワイトリストに記載のフィンガプリントとして識別するデータを得る）。信頼されるソースは、既知の信頼されるプロセスを実行し、それらの信頼されるプロセスに対するフィンガプリントを生成し（例えば、本明細書に説明される技法を使用して）、生成されたフィンガプリントを記憶することを含む任意の好適な技法を使用して、ホワイトリストに記載のプロセスフィンガプリントを取得し得る。
【００４６】
いくつかの実施形態では、ステップ１１０において生成されたプロセスフィンガプリントＦの既知のプロセスフィンガプリントとの比較は、プロセスフィンガプリントＦと既知のプロセスフィンガプリントとの間の正確な合致を検索する（例えば、プロセスフィンガプリントＦの値が既知のフィンガプリントの値と同じかどうかを決定する）ことを伴い得る。代替として、または加えて、プロセスフィンガプリントＦの既知のプロセスフィンガプリントとの比較は、プロセスフィンガプリントＦと既知のプロセスフィンガプリントとの間の実質的合致を検索する（例えば、プロセスフィンガプリントＦの値が既知のフィンガプリントのいずれかの値に十分に類似するかどうかを決定する）ことを伴い得る。いくつかの実施形態では、フィンガプリントＦの値Ｖ１は、Ｖ１とＶ２との間の差異（または差異の大きさ）が閾値未満である場合、Ｖ１とＶ２との間のパーセント差異（またはパーセント差異の大きさ）が閾値パーセンテージ未満である場合等、既知のフィンガプリントの値Ｖ２に十分に類似する。前述のように、マルウェアプロセスは、その挙動を変動させ、それによって、そのフィンガプリントを変化または偽装させることによって、検出を回避しようと試み得る。いくつかの実施形態では、連続ハッシュ動作を使用して、プロセスフィンガプリントを生成することは、プロセスフィンガプリントＦに十分に類似する既知のフィンガプリントの検索との組み合わせで、疑わしい挙動を偽装することを試みるマルウェアプロセスの検出を促進し得る。
【００４７】
図１に戻ると、ステップ１３０では、プロセスフィンガプリント比較の結果に基づいて、サイバーセキュリティエンジンは、１つ以上のアクションを行い、挙動ベースのマルウェア検出を促進する。いくつかの実施形態では、サイバーセキュリティエンジンは、ステップ１２０において、プロセスフィンガプリントＦと既知のプロセスフィンガプリントとの間の正確な合致が検出される場合、そのようなアクションを行う。いくつかの実施形態では、サイバーセキュリティエンジンは、ステップ１２０において、プロセスフィンガプリントＦと既知のプロセスフィンガプリントとの間の正確な合致または実質的合致が検出される場合、そのようなアクションを行う。行われるアクションは、限定ではないが、データ削減動作をプロセスに関連付けられたデータに対して行うこと、プロセスがブラックリストに記載のマルウェアであるかどうかを決定すること、プロセスがホワイトリストに記載のソフトウェアであるかどうかを決定すること、メッセージをプロセスを実行したシステムのユーザに提供すること、プロセスに対応するファイル（例えば、バイナリファイル）の実行を禁止するようにシステムを構成すること、ハニーポットを設定すること、プロセスの科学捜査を開始すること等を含み得る。
【００４８】
いくつかの実施形態では、サイバーセキュリティエンジンは、データ削減動作をプロセスＰに関連付けられたデータに対して行い得る。プロセスＰが実行中、プロセスＰを実行するシステムは、プロセスによって行われる少なくともいくつかの動作のログを生成し得る。いくつかの実施形態では、データ削減動作は、ログまたはその一部を削除することを含み得る。上で説明されるように、サイバーセキュリティエンジンは、プロセスフィンガプリントに対応する挙動ログを記憶し得る。したがって、プロセスＰのプロセスフィンガプリントが既知のプロセスフィンガプリントに合致する場合、プロセスＰの挙動のログは、対応するプロセスフィンガプリントに対するサイバーセキュリティエンジンの挙動ログによって提供される情報以外、殆どまたは全く追加の有用情報を提供しないこともある。プロセスＰの挙動（またはその一部）のログを削除することは、したがって、多くの（または任意の）有用な情報を犠牲にせず、プロセスＰの科学捜査を促進するために費やされるデータ記憶の量を低減させることができる。いくつかの実施形態では、削除されたプロセスログ（またはその一部）を記憶するのではなく、システムは、プロセスＰのフィンガプリントを記憶し得る。随意に、システムはまた、プロセスＰの実行のデータおよび／または時間を示すデータも記憶し得る。
【００４９】
いくつかの実施形態では、プロセスフィンガプリント比較の結果は、プロセスＰがブラックリストに記載のマルウェアプロセスであることを示し得る（例えば、プロセスＰのフィンガプリントがブラックリストに記載のプロセスのフィンガプリントに合致するため）。該当する場合、サイバーセキュリティエンジンは、メッセージをシステムのユーザおよび／またはサイバーセキュリティエンジンに提供（例えば、表示または送信）し得る。メッセージは、実行されたプロセスＰがマルウェアプロセスであることが疑われることを示し得る。サイバーセキュリティエンジンが疑いがあるマルウェアプロセスの検出に応答して行い得る他のアクションは、限定ではないが、プロセスＰに対応するファイル（例えば、バイナリファイル）の実行を禁止するようにシステムを構成すること、プロセスの科学捜査を開始すること等を含む。
【００５０】
いくつかの実施形態では、プロセスフィンガプリント比較の結果は、プロセスＰがホワイトリストに記載のソフトウェアプロセスであることを示し得る（例えば、プロセスＰのフィンガプリントがホワイトリストに記載のプロセスのフィンガプリントに合致するため）。
【００５１】
いくつかの実施形態では、プロセスＰのプロセスフィンガプリントは、プロセスＰが実行を終了した後のみ、他のプロセスフィンガプリントと比較され得る。いくつかの実施形態では、プロセスＰを実行する部分的プロセスフィンガプリント（例えば、プロセスＰがすでに呈した挙動に基づいて生成されたプロセスフィンガプリント）が、プロセスＰが依然として実行中、他のプロセスフィンガプリントと比較され得る。後者の場合、プロセスＰの部分的フィンガプリントが、ブラックリストに記載のプロセスの完全または部分的フィンガプリントに合致する場合、サイバーセキュリティエンジンは、プロセスＰの実行を終了すること、プロセスＰの実行を隔離すること、制限された状態で、またはハニーポット内でプロセスＰの実行を継続すること（潜在的マルウェアプロセスによって課される脅威の範囲を限定するため）、システムのユーザに、プロセスがマルウェアプロセスであることが疑われることを通知すること等を行い得る。プロセスＰの部分的フィンガプリントがホワイトリストに記載のプロセスの完全または部分的フィンガプリントに合致する場合、サイバーセキュリティエンジンは、プロセスＰが実行を継続することを許可すること、制限された状態から非制限状態へのプロセスＰの実行をシフトさせること等を行い得る。
【００５２】
図１に図示され、上で説明される、マルウェア検出および応答方法１００は、プロセスフィンガプリントに基づくマルウェア検出および応答方法の一例にすぎない。本明細書に説明される技法およびその均等物によって生成されたプロセスフィンガプリントは、任意の好適なマルウェア検出および／または応答方法、エンジン、ならびにシステムにおいて使用され得る。例えば、マルウェア検出方法は、プロセスのプロセスフィンガプリントを生成することであって、プロセスフィンガプリントを生成することは、暗号化ハッシュ動作をプロセスの動的特徴を表すデータに対して行うことを含む、ことと、少なくとも部分的にプロセスフィンガプリントに基づいて、プロセスがマルウェアプロセスであるかどうかを決定することとを含み得る。
【００５３】
いくつかの実施形態では、（少なくとも部分的に）プロセスの動的特徴に基づくことに加え、プロセスフィンガプリントは、少なくとも部分的にプロセスの静的特徴（例えば、プロセスに対応するファイルに含まれるバイトのシーケンス、ファイルまたはその一部のハッシュ等）に基づいてもよい。プロセスの動的特徴およびプロセスに対応するファイルの静的特徴に基づいて、プロセスフィンガプリントを生成することは、マルウェアの検出を促進し得る。
【００５４】
（いくつかの実施形態のさらなる説明）
本開示に説明される方法および動作のいくつかの実施形態は、デジタル電子回路内、または本明細書に開示される構造およびその構造均等物を含むコンピュータソフトウェア、ファームウェア、もしくはハードウェア内に、またはそれらのうちの１つ以上のものの組み合わせにおいて、実装されることができる。本明細書に説明される主題の実装は、１つ以上のコンピュータプログラム、すなわち、データ処理装置による実行のために、またはその動作を制御するために、コンピュータ記憶媒体上にエンコードされたコンピュータプログラム命令の１つ以上のモジュールとして実装されることができる。
【００５５】
代替として、または加えて、プログラム命令は、データ処理装置による実行のために好適な受信機装置への伝送のための情報をエンコードするために生成される人工的に生成されて伝搬される信号、例えば、機械生成電気、光学、または電磁信号上にエンコードされることができる。コンピュータ記憶媒体は、コンピュータ読み取り可能な記憶デバイス、コンピュータ読み取り可能な記憶基板、ランダムもしくはシリアルアクセスメモリアレイもしくはデバイス、またはそれらのうちの１つ以上のものの組み合わせである、もしくはそれらの中に含まれることができる。さらに、コンピュータ記憶媒体は、伝搬される信号ではないが、コンピュータ記憶媒体は、人工的に生成されて伝搬される信号内にエンコードされたコンピュータプログラム命令のソースまたは宛先であることができる。コンピュータ記憶媒体は、１つ以上の別個の物理的コンポーネントまたは媒体（例えば、複数のＣＤ、ディスク、または他の記憶デバイス）であるか、もしくはその中に含まれることもできる。
【００５６】
本明細書に説明される方法および動作のいくつかの実施形態は、データ処理装置によって、１つ以上のコンピュータ読み取り可能な記憶デバイス上に記憶され、または他のソースから受信されたデータに対して行われる動作として実装されることができる。
【００５７】
用語「データ処理装置」は、データ処理のための全ての種類の装置、デバイス、および機械を包含し、一例として、プログラマブルプロセッサ、コンピュータ、チップ上のシステム、または前述の複数のものもしくは組み合わせを含む。装置は、特殊目的論理回路、例えば、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）またはＡＳＩＣ（特定用途向け集積回路）を含むことができる。装置は、ハードウェアに加え、当該コンピュータプログラムのための実行環境を作成するコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォームランタイム環境、仮想機械、またはそれらのうちの１つ以上のものの組み合わせを構成するコードも含むことができる。装置および実行環境は、種々の異なるコンピューティングモデルインフラストラクチャ、例えば、ウェブサービス、分散型コンピューティング、およびグリッドコンピューティングインフラストラクチャを実現することができる。
【００５８】
コンピュータプログラム（プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られる）は、コンパイラ型またはインタープリタ型言語、宣言型または手続型言語を含むプログラミング言語の任意の形態で書き込まれることができ、スタンドアロンプログラムまたはモジュール、コンポーネント、サブルーチン、オブジェクト、もしくはコンピューティング環境において使用するために好適な他のユニットとして含む任意の形態で展開されることができる。コンピュータプログラムは、必要ではないが、ファイルシステム内のファイルに対応し得る。プログラムは、他のプログラムまたはデータ（例えば、マークアップ言語リソース内に記憶される１つ以上のスクリプト）を保持するファイルの一部内、当該プログラムに専用の単一ファイル内、または複数の協調ファイル（例えば、１つ以上のモジュール、サブプログラム、またはコードの一部を記憶するファイル）内に記憶されることができる。コンピュータプログラムは、１カ所に位置するか、または数箇所を横断して分散され、通信ネットワークによって相互接続される１つのコンピュータまたは複数のコンピュータ上で実行されるように展開されることができる。
【００５９】
本明細書に説明されるプロセスおよび論理フローのいくつかの実施形態は、１つ以上のコンピュータプログラムを実行する１つ以上のプログラマブルプロセッサによって行われ、入力データに動作し、出力を生成することによってアクションを行うことができる。本明細書に説明されるプロセスおよび論理フローのいくつかの実施形態は、特殊目的論理回路、例えば、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）またはＡＳＩＣ（特定用途向け集積回路）によって行われることができ、本明細書に説明される装置のいくつかの実施形態は、そのようなものとして実装されることができる。
【００６０】
コンピュータプログラムの実行のために好適なプロセッサは、一例として、汎用および特殊目的マイクロプロセッサの両方ならびに任意の種類のデジタルコンピュータの任意の１つ以上のプロセッサを含む。概して、プロセッサは、命令およびデータを読み取り専用メモリまたはランダムアクセスメモリもしくは両方から受信するであろう。
【００６１】
図２は、コンピュータ２００のブロック図を示す。コンピュータ２００は、命令に従ってアクションを行うための１つ以上のプロセッサ２０２と、命令およびデータを記憶するための１つ以上のメモリデバイス２０４とを含む。いくつかの実施形態では、コンピュータ２００は、サイバーセキュリティエンジン２０６を実行する。サイバーセキュリティエンジン２０６は、マルウェア検出および／または応答方法（例えば、サイバーセキュリティ方法１００）を行い得る。サイバーセキュリティエンジン２０６の異なるバージョンが、記憶、分散、またはインストールされ得る。ソフトウェアのいくつかのバージョンは、本明細書に説明される方法のいくつかの実施形態のみを実装し得る。
【００６２】
概して、コンピュータ２００は、データを記憶するための１つ以上の大容量記憶デバイス、例えば、磁気、磁気光ディスク、もしくは光ディスクをさらに含むか、または、それらからデータを受信すること、そこにデータを転送すること、もしくは両方を行うように動作可能に結合されるであろう。しかしながら、コンピュータは、そのようなデバイスを有する必要はない。さらに、コンピュータは、別のデバイス、例えば、いくつか挙げると、携帯電話、携帯情報端末（ＰＤＡ）、モバイルオーディオもしくはビデオプレーヤ、ゲームコンソール、全地球測位システム（ＧＰＳ）受信機、またはポータブル記憶デバイス（例えば、ユニバーサルシリアルバス（ＵＳＢ）フラッシュドライブ）内に内蔵されることができる。コンピュータプログラム命令およびデータを記憶するために好適なデバイスは、あらゆる形態の不揮発性メモリ、媒体、およびメモリデバイスを含み、一例として、半導体メモリデバイス、例えば、ＥＰＲＯＭ、ＥＥＰＲＯＭ、およびフラッシュメモリデバイス、磁気ディスク、例えば、内部ハードディスクまたはリムーバブルディスク、磁気光ディスク、ならびにＣＤ‐ＲＯＭおよびＤＶＤ‐ＲＯＭディスクを含む。プロセッサおよびメモリは、特殊目的論理回路によって補完されること、またはその中に組み込まれることができる。
【００６３】
ユーザとの相互作用を提供するために、本明細書に説明される主題の実装は、情報をユーザに表示するためのディスプレイデバイス、例えば、ＣＲＴ（ブラウン管）またはＬＣＤ（液晶ディスプレイ）モニタと、ユーザが入力をコンピュータに提供することができるキーボードおよびポインティングデバイス、例えば、マウスまたはトラックボールとを有するコンピュータ上に実装されることができる。他の種類のデバイスも同様に、ユーザとの相互作用を提供するために使用されることができる。例えば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、例えば、視覚的フィードバック、聴覚フィードバック、または触知フィードバックであることができ、ユーザからの入力は、音響、発話、または触知入力を含む、任意の形態で受信されることができる。加えて、コンピュータは、ユーザによって使用されるデバイスにリソースを送信し、リソースをそこから受信することによって、例えば、ウェブブラウザから受信された要求に応答して、ユーザのクライアントデバイス上のウェブブラウザにウェブページを送信することによって、ユーザと相互作用することができる。
【００６４】
いくつかの実施形態は、バックエンドコンポーネント、例えば、データサーバを含む、またはミドルウェアコンポーネント、例えば、アプリケーションサーバを含む、またはフロントエンドコンポーネント、例えば、ユーザが本明細書に説明される主題の実装と相互作用することができる、グラフィカルユーザインターフェースまたはウェブブラウザを有する、クライアントコンピュータを含む、または１つ以上のそのようなバックエンド、ミドルウェア、またはフロントエンドコンポーネントの任意の組み合わせを含む、コンピューティングシステム内に実装されることができる。システムのコンポーネントは、任意の形態または媒体のデジタルデータ通信、例えば、通信ネットワークによって相互接続されることができる。通信ネットワークの例は、ローカルエリアネットワーク（「ＬＡＮ」）および広域ネットワーク（「ＷＡＮ」）、インターネットワーク（例えば、インターネット）、およびピアツーピアネットワーク（例えば、アドホックピアツーピアネットワーク）を含む。
【００６５】
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントおよびサーバは、概して、互いから遠隔にあり、典型的には、通信ネットワークを通して相互作用する。クライアントおよびサーバの関係は、それぞれのコンピュータ上で起動し、クライアント−サーバ関係を互いに有するコンピュータプログラムによって生じる。いくつかの実装では、サーバは、データ（例えば、ＨＴＭＬページ）をクライアントデバイスに伝送する（例えば、クライアントデバイスと相互作用するユーザにデータを表示し、ユーザ入力をそこから受信する目的のため）。クライアントデバイスにおいて生成されたデータ（例えば、ユーザ相互作用の結果）は、サーバにおいてクライアントデバイスから受信されることができる。
【００６６】
１つ以上のコンピュータのシステムは、動作時、システムにアクションを行わせるシステム上にインストールされたソフトウェア、ファームウェア、ハードウェア、またはそれらの組み合わせを有することによって、特定の動作またはアクションを行うように構成されることができる。１つ以上のコンピュータプログラムは、データ処理装置によって実行されると、装置にアクションを行わせる命令を含むことによって、特定の動作またはアクションを行うように構成されることができる。
【００６７】
本明細書は、多くの具体的実装詳細を含むが、これらは、任意の発明または請求され得るものの範囲に対する限定としてではなく、むしろ、特定の発明の特定の実装に特有な特徴の説明として解釈されるべきである。別個の実装の文脈において本明細書に説明されるある特徴はまた、単一の実装における組み合わせにおいて実装されることができる。逆に、単一の実装の文脈において説明される種々の特徴はまた、複数の実装において、別個に、または任意の好適な副次的組み合わせにおいて実装されることができる。さらに、特徴は、ある組み合わせにおいて作用するように上で説明され、さらには、最初にそのように請求され得るが、請求される組み合わせからの１つ以上の特徴は、いくつかの場合では、組み合わせから除外されることができ、請求される組み合わせは、副次的組み合わせまたは副次的組み合わせの変形例も対象とし得る。
【００６８】
同様に、動作は、特定の順序で本開示に説明または図面に描写され得るが、これは、そのような動作が、示される特定の順序において、または連続的順序において実施されること、または全ての例証される動作が望ましい結果を達成するために実施されることを要求するものとして理解されるべきではない。ある状況では、マルチタスクおよび並列処理が、有利であり得る。
【００６９】
さらに、上で説明される実装における種々のシステムコンポーネントの分離は、全ての実装においてそのような分離を要求するものとして理解されるべきではなく、説明されるプログラムコンポーネントおよびシステムは、概して、単一のソフトウェア製品においてともに統合される、または複数のソフトウェア製品の中にパッケージ化され得ることを理解されたい。
【００７０】
したがって、主題の特定の実装が、説明されている。他の実装も、以下の請求項の範囲内である。いくつかの場合では、請求項に記載されるアクションは、異なる順序において実施され、依然として、望ましい結果を達成することができる。加えて、付随の図に描写されるプロセスは、望ましい結果を達成するために、必ずしも、示される特定の順序、または連続的順序を要求しない。ある実装では、マルチタスクおよび並列処理が、有利となり得る。
【００７１】
（専門用語）
本明細書に使用される語句および専門用語は、説明を目的としており、限定として見なされるべきではない。
【００７２】
本明細書および請求項に使用されるような用語「約」、語句「〜にほぼ等しい」、および他の類似する語句（例えば、「Ｘは約Ｙの値を有する」または「ＸはＹにほぼ等しい」）は、１つの値（Ｘ）が別の値（Ｙ）の事前決定された範囲内であることを意味するように理解されるべきである。事前決定された範囲は、別様に示されない限り、±２０％、１０％、５％、３％、１％、０．１％、または０．１％未満であり得る。
【００７３】
本明細書および請求項に使用されるような不定冠詞「ａ」ならびに「ａｎ」は、そうでないことが明確に示されない限り、「少なくとも１つ」を意味するように理解されるべきである。本明細書および請求項に使用されるような語句「および／または」は、そのように結合された要素、すなわち、いくつかの場合には結合的に存在し、他の場合には離接的に存在する要素の「一方または両方」を意味するように理解されるべきである。「および／または」を用いて列挙された複数の要素は、同一の方式で、すなわち、そのように結合された要素のうちの「１つ以上のもの」として解釈されるべきである。具体的に識別されるそれらの要素に関連するかどうかにかかわらず、「および／または」節によって具体的に識別される要素以外の他の要素も、随意に存在し得る。したがって、非限定的例として、「〜を備えている」等の非限定的言語と併用されるとき、「Ａおよび／またはＢ」の言及は、一実施形態では、Ａのみ（随意に、Ｂ以外の要素を含む）を指し、別の実施形態では、Ｂのみ（随意に、Ａ以外の要素を含む）を指し、また別の実施形態では、ＡおよびＢの両方（随意に、他の要素を含む）等を指し得る。
【００７４】
本明細書および請求項に使用されるように、「または」は、上記に定義されるような「および／または」と同一の意味を有するように理解されるべきである。例えば、リスト内の項目を分離するとき、「または」もしくは「および／または」は、包括的であるとして、すなわち、いくつかの要素またはそのリストのうちの少なくとも１つ（但し、１つを上回るものも含む）および随意に追加の列挙されていない項目の包含として解釈されるものとする。「〜のうちの１つのみ」もしくは「〜のうちの厳密に１つ」または請求項において使用されるとき、「〜から成る」等のそうでないことが明確に示される用語のみが、いくつかの要素またはそのリストの厳密に１つの要素の包含を指すであろう。概して、使用されるような用語「または」は、「いずれか」、「〜のうちの１つ」、「〜のうちの１つのみ」、または「〜のうちの厳密に１つ」等の排他性の用語によって先行されると、排他的代替（すなわち、「両方ではないが、一方または他方」）を示すようにのみ解釈されるものとする。請求項において使用されるとき、「〜から本質的に成る」は、特許法の分野において使用されるようなその通常の意味を有するものとする。
【００７５】
本明細書および請求項に使用されるように、１つ以上の要素のリストに関する語句「少なくとも１つ」は、要素のリスト内の要素のうちの１つ以上のものから選択される少なくとも１つの要素を意味するように理解されるべきであるが、必ずしも、要素のリスト内に具体的に列挙されるあらゆる要素のうちの少なくとも１つを含むわけではなく、要素のリスト内の要素の任意の組み合わせを除外するわけではない。本定義はまた、具体的に識別されるそれらの要素に関連するかどうかにかかわらず、語句「少なくとも１つ」が指す要素のリスト内の具体的に識別される要素以外の要素が随意に存在し得ることを可能にする。したがって、非限定的例として、「ＡおよびＢのうちの少なくとも１つ」（または同じく、「ＡまたはＢのうちの少なくとも１つ」もしくは同じく、「Ａおよび／またはＢのうちの少なくとも１つ」）は、一実施形態では、いかなるＢも存在しない、随意に、１つを上回るＡを含む少なくとも１つのＡ（および随意に、Ｂ以外の要素を含む）を指し、別の実施形態では、いかなるＡも存在しない、随意に、１つを上回るＢを含む少なくとも１つのＢ（および随意に、Ａ以外の要素を含む）を指し、また別の実施形態では、随意に、１つを上回るＡを含む少なくとも１つのＡおよび、随意に、１つを上回るＢを含む少なくとも１つのＢ（および随意に、他の要素を含む）等を指し得る。
【００７６】
「〜を含む」、「〜を備えている」、「〜を有する」、「〜を含む」、「〜を伴う」、およびそれらの変形例の使用は、その後に列挙される項目および付加的項目を包含することを意味する。
【００７７】
請求項要素を修正するための請求項における「第１」、「第２」、「第３」等の序数用語の使用は、それ自体では、１つの請求項要素の別のものに対する任意の優先順位、優先度、もしくは順序、または方法の行為が実施される時間的順序を含意しない。序数用語は、単に、ある名称を有する１つの請求項要素を（序数用語の使用がなければ）同一の名称を有する別の要素から区別し、請求項要素を区別するための標識として使用される。
【００７８】
（均等物）
したがって、本発明の少なくとも１つの実施形態の側面が説明されたが、種々の代替、修正、および改良が、容易に当業者に想起されるであろう。そのような代替、修正、および改良は、本開示の一部であることが意図され、かつ本発明の精神および範囲内であることが意図される。したがって、前述の説明および図面は、例示にすぎない。本発明は、その精神または不可欠な特性から逸脱することなく、他の具体的形態において具現化されることができる。前述の実施形態は、したがって、本明細書に説明される発明に対する限定ではなく、あらゆる点で例証的であると見なされるべきである。本発明の範囲は、したがって、前述の説明ではなく、添付される請求項によって示され、請求項の均等性の意味および範囲内に該当する全ての変更は、したがって、その中に包含されるように意図される。
【図１】
2019505943.tif 000003
【図２】
2019505943.tif 000004
【国際調査報告】
2019505943.tif 000005
2019505943.tif 000006