(57)【要約】      （修正有）【課題】ファイル変更マルウェアを検出可能なシステム、実行方法及びコンピューティングデバイスを提供する。【解決手段】コンピューティングデバイスに実装されたセキュリティエージェント１０２は、プロセスがコンピューティングデバイスのメモリのディレクトリを横断していることを検出すること及びプロセスが特定のファイルアクセスパターンに従ってメモリ内のファイルにアクセスしていることを検出することによって、ファイル変更マルウェアを検出する。セキュリティエージェント１０２はまた、特定のファイルアクセスパターンに対応する複数プロセスの動作を互いに関連付け、複数プロセスのうちの１つ以上がマルウェアであることをその行動を互いに関連付けることによって検出する。【選択図】図１
2018073423.tif 000002
【特許請求の範囲】
【請求項１】
システムであって、前記システムは、
プロセッサと、
メモリであって、ディレクトリによってカタログ化され、前記メモリに格納されたコンピュータ実行可能命令を有する、前記メモリと、を備え、
前記コンピュータ実行可能命令は、前記プロセッサによって実行されたときに、
前記プロセッサによって実行されたプロセスが、前記ディレクトリの横断を実施していることを検出することと、
前記プロセスが、定義されたファイルアクセスパターンに従って１つ以上のファイルにアクセスしていることを検出することと、
前記プロセスが前記ディレクトリの横断を実施していることを検出すること、及び前記定義されたファイルアクセスパターンに従って１つ以上のファイルにアクセスしていることを検出することに、少なくとも部分的に基づいて前記プロセスに際し阻止動作を遂行することと、
を含む処理を行うように前記システムを構成する、前記システム。
【請求項２】
前記処理は、
前記プロセスが前記定義されたファイルアクセスパターンに従ってアクセスする、別個のファイルの数、別個のファイル形式の数、または別個のファイル形式の識別情報のうちの１つ以上を判定することと、
前記定義されたファイルアクセスパターンに従って前記プロセスによってアクセスされた、前記別個のファイルの数、前記別個のファイル形式の数、または前記別個のファイル形式の前記識別情報のうちの１つ以上を含むファイルアクセス記録をコンパイルすることと、
をさらに含む、請求項１に記載のシステム。
【請求項３】
前記処理は、
前記ファイルアクセス記録から前記ファイルアクセス記録が悪意のあるプロセスと関連付けられたファイルアクセス活動と互いに関連付けられている可能性を判定することをさらに含み、
前記遂行することはさらに、前記ファイルアクセス記録または前記可能性のうちの１つ以上に少なくとも部分的に基づく、請求項２に記載のシステム。
【請求項４】
前記阻止動作は、
前記プロセスの実行を停止もしくは阻止すること、
前記プロセスと関連付けられたプロセスの実行を停止もしくは阻止すること、
前記プロセスと関連付けられた入力／出力処理を停止もしくは阻止すること、
前記プロセスと関連付けられたネットワーク処理を停止もしくは阻止すること、
前記プロセスと関連付けられた情報を記録すること、
前記プロセスと関連付けられた前記情報を１つ以上のコンピューティングデバイスに伝達すること、または
前記プロセスを実行した前記プロセッサと関連付けられたコンピューティングデバイスを再起動させること、のうちの１つ以上を含む、請求項１に記載のシステム。
【請求項５】
前記プロセッサは、利用者から入力を受信せずに前記阻止動作を遂行する、請求項１に記載のシステム。
【請求項６】
前記プロセスが前記ディレクトリの前記横断を実施することが、第１のプロセスであり、前記プロセスが前記定義されたファイルアクセスパターンに従って前記１つ以上のファイルにアクセスすることが、第２のプロセスである、請求項１に記載のシステム。
【請求項７】
前記プロセスが前記ディレクトリの前記横断を実施することが、第１のプロセスであり、前記プロセスが前記定義されたファイルアクセスパターンに従って前記１つ以上のファイルにアクセスすることが、第２のプロセスであり、前記処理は、
前記第１のプロセスが前記第２のプロセスを開始したこと、または前記第１のプロセスが前記第２のプロセスを開始した少なくとも１つの中間プロセスを開始したことを判定することをさらに含み、
前記阻止動作の前記遂行は、前記第２のプロセスが前記定義されたファイルアクセスパターンに従って前記１つ以上のファイルにアクセスしているという判定に少なくとも部分的に基づいて、前記第１のプロセスの実行を停止または阻止することを含む、請求項１に記載のシステム。
【請求項８】
前記処理は、
前記第１のプロセスまたは前記第２のプロセスのうちの１つ以上が前記定義されたファイルアクセスパターンに従ってアクセスする、別個のファイルの数、別個のファイル形式の数、または別個のファイル形式の識別情報のうちの１つ以上を判定することと、
前記定義されたファイルアクセスパターンに従って前記第１のプロセスまたは前記第２のプロセスのうちの１つ以上によってアクセスされた、前記別個のファイルの数、前記別個のファイル形式の数、前記別個のファイル形式の前記識別情報のうちの１つ以上を含むファイルアクセス記録をコンパイルすることと、
前記ファイルアクセス記録において前記第１のプロセス及び前記第２のプロセスを関連付けることと、をさらに含み、
前記阻止動作の前記遂行はさらに、前記ファイルアクセス記録に少なくとも部分的に基づいている、請求項７に記載のシステム。
【請求項９】
前記処理は、
前記第１のプロセスが１つ以上の追加のプロセスを開始したことを検出することと、
前記ファイルアクセス記録において前記１つ以上の追加のプロセスを前記第１のプロセスと関連付けることと、
前記１つ以上の追加のプロセスのいずれかが定義されたファイルアクセスパターンに従って１つ以上のファイルにアクセスするか否かを判定することと、
前記定義されたファイルアクセスパターンに従って１つ以上のファイルにアクセスする前記１つ以上の追加のプロセスに関する情報を前記ファイルアクセス記録に連結することと、をさらに含み、
前記阻止動作の前記遂行はさらに、当該情報を含む前記ファイルアクセス記録に少なくとも部分的に基づいている、請求項８に記載のシステム。
【請求項１０】
コンピューティングデバイスにより実行されたプロセスによってとられた動作を監視することであって、前記コンピューティングデバイスはディレクトリを備えるファイルシステムによって編成されたメモリを含む、前記監視することと、
前記監視に応答して、第１のプロセスが前記ディレクトリを横断していることを特定する第１のイベント情報を受信することと、
前記監視に応答して、前記第１のプロセスまたは第２のプロセスが、ファイルアクセスパターンと矛盾しない様式で１つ以上のファイルにアクセスしていることを特定する第２のイベント情報を受信することであって、前記第２のプロセスは、前記第１のプロセスに呼び出される、前記受信することと、
前記第１のプロセスが前記ディレクトリを横断していること、及び前記第１のプロセスまたは前記第２のプロセスが前記様式で前記１つ以上のファイルにアクセスしていることに、少なくとも部分的に基づいて、前記第１のプロセスがセキュリティのエクスプロイトであることを判定することと、
少なくとも前記判定に基づいて前記第１のプロセスに対する阻止動作の遂行をさせることと、を含む、コンピュータ実行方法。
【請求項１１】
前記ファイルアクセスパターンは、悪意のあるプロセスによる前記ファイルの少なくとも一部分を変更しようとする試みと矛盾しない、ファイルに関する１つ以上の動作を含む、請求項１０に記載のコンピュータ実行方法。
【請求項１２】
前記１つ以上の動作は、前記ファイルのデータの少なくとも一部分をワイプすること、または前記ファイルの前記データの少なくとも一部分を暗号化することのうちの１つ以上を含む、請求項１１に記載のコンピュータ実行方法。
【請求項１３】
前記メモリの少なくとも一部分のエントロピーを判定することと、
前記第１のプロセスが悪意のあるプロセスであることを判定することに応答して、前記エントロピーに少なくとも部分的に基づいて、前記第１のプロセスを特徴とするセキュリティのエクスプロイトの一群を判定することであって、前記一群はワイパーまたはランサムウェアのうちの少なくとも１つを含む、前記一群を判定することと、
１つ以上のコンピューティングデバイスに、前記第１のプロセスまたは前記第２のプロセスの特徴を含む情報を拡散することであって、当該情報は前記第１のプロセスに対する阻止動作を遂行するように前記１つ以上のコンピューティングデバイスを構成する、前記拡散することと、をさらに含む、請求項１０に記載のコンピュータ実行方法。
【請求項１４】
コンピューティングデバイスであって、前記コンピューティングデバイスは、
プロセッサと、
メモリと、
前記メモリにアクセスするためのファイルシステム構成を特定するディレクトリと、
少なくとも前記プロセッサによるマルウェアの実行を検出するために前記プロセッサによって前記コンピューティングデバイス上で実行されるように構成されたセキュリティエージェントと、を備え、
前記セキュリティエージェントは、
イベント生成モジュールであって、
前記プロセッサにより実行されたプロセスによってとられた動作を観察し、
前記プロセッサによって実行された第１のプロセスの動作が前記ディレクトリを横断することを含む場合に第１のイベントを生成し、
前記プロセッサによって実行された前記第１のプロセスの動作または前記第１のプロセスと関連付けられている第２のプロセスの動作が、複数の定義されたファイルアクセスパターンのうちの少なくとも１つに従ってファイルにアクセスすることを含む場合に第２のイベントを生成するように構成された、前記イベント生成モジュールと、
少なくとも前記第１のイベント及び前記第２のイベントの生成から、少なくとも前記第１のプロセスが悪意のあるものであることを判定するように構成されたイベント分析モジュールと、を備える、コンピューティングデバイス。
【請求項１５】
前記イベント生成モジュールは、
前記第１のプロセス、前記第２のプロセス、または前記第１のプロセスと関連付けられた追加のプロセスのうちの１つ以上と関連付けられた１つ以上の第１のイベント及び１つ以上の第２のイベントの記録をコンパイルするようにさらに構成されており、
前記イベント分析モジュールは、前記記録から前記第１のプロセスが悪意のあるものであることを判定するように構成された、請求項１４に記載のコンピューティングデバイス。
【請求項１６】
前記記録は、
前記複数の定義されたファイルアクセスパターンのうちの少なくとも１つに従って、前記第１のプロセスもしくは前記第２のプロセスによってアクセスされた別個のファイルの数、
前記複数の定義されたファイルアクセスパターンのうちの１つに従って、前記第１のプロセスもしくは前記第２のプロセスが１つ以上のファイルにアクセスする回数、
前記イベント生成モジュールが、前記第１のプロセスもしくは前記第２のプロセスの動作に対応するとして検出する、前記複数の定義されたファイルアクセスパターンのうちのものの数、
前記複数の定義されたファイルアクセスパターンのうちの少なくとも１つに従って、前記第１のプロセスもしくは前記第２のプロセスによってアクセスされた別個のファイル形式の記録、
前記第１のプロセスもしくは前記第２のプロセスによって記録されたデータ、あるいは
前記第１のプロセスが進んだ前記ディレクトリにおける場所、または
前記記録に含有された情報のうちのいずれかのインスタンスから特定され、これに亘って集められた信憑性測定基準、のうちの１つ以上を含む、請求項１５に記載のコンピューティングデバイス。
【請求項１７】
前記イベント分析モジュールは、前記第１のイベントまたは前記第２のイベントのうちの１つ以上を良性の活動または前記メモリ上のデータの有用性を危険にさらすように設計された活動と互いに関連付けるために前記記録を使用するようにさらに構成された、請求項１５に記載のコンピューティングデバイス。
【請求項１８】
前記セキュリティエージェントは、エクスプロイト阻止モジュールであって、
前記第１のプロセスまたは前記第２のプロセスのうちの１つ以上の実行を停止または阻止し、
前記第１のプロセスまたは前記第２のプロセスのうちの１つ以上の、特徴または前の動作の１つ以上を含む阻止記録をコンパイルし、
１つ以上の他のコンピューティングデバイスのセキュリティエージェントに前記阻止記録を送信するようにさらに構成された、請求項１４に記載のコンピューティングデバイス。
【請求項１９】
前記イベント生成モジュールは、
前記第１のプロセスが前記第１のプロセスの現在のディレクトリを反復的に変化させていることを観察すること、または
前記第１のプロセスがディレクトリを開く処理を反復的に実施していることを観察すること、のうちの１つ以上によって前記第１のプロセスが前記ディレクトリを横断していることを検出することにより、前記第１のプロセス用の前記第１のイベントを生成するように構成された、請求項１４に記載のコンピューティングデバイス。
【請求項２０】
前記イベント生成モジュールは、
前記第１のイベントの生成に基づいて、前記第１のプロセスまたは前記第１のプロセスに呼び出されている前記第２のプロセスが、前記複数の定義されたファイルアクセスパターンのうちの１つによって定義されたデータファイルに関する動作を実施するか否かを判定するために、前記第１のプロセスまたは前記第２のプロセスのうちの１つ以上を監視することと、
前記第１のプロセスまたは前記第２のプロセスが、前記ファイルアクセスパターンの少なくとも１つと一致するデータファイルに関する動作を実施していることを検出することと、
前記第２のイベントを生成することと、によって前記第１のプロセスまたは前記第２のプロセス用の前記第２のイベントを生成するように構成された、請求項１４に記載のコンピューティングデバイス。
【発明の詳細な説明】
【背景技術】
【０００１】
インターネットの使用が日々の生活の大部分を占めるようになるとともに、システムリソース、データ、及び個人情報を盗むか、または破壊する悪意のあるソフトウェア、しばしば「マルウェア」と呼ばれるものが、増大している問題がある。政府及び事業者は、マルウェアによる侵入を阻止するために多大なリソースを費やしている。マルウェアは、コンピュータウィルス、ワーム、トロイの木馬、スパイウェア、キーストーロークロガー、アドウェア、ルートキット、ランサムウェアのような多くの形式で到来する。マルウェアによって引き起こされる脅威のいくつかは、サイバーテロリズムまたは産業スパイとして説明されるほど重要である。
【０００２】
これらの脅威に対処するために、政府、企業、及び個人は、一定範囲のセキュリティアプリケーション及びサービスを使用する。一般的に、これらのアプリケーション及びサービスは、特定のマルウェアの署名に対してデバイスをスキャンする。署名を見つけると、アプリケーション及びサービスは、マルウェアを隔離または削除する。しかしながら、アプリケーション及びサービスは、より精巧なセキュリティのエクスプロイトを見逃すことが多く、アプリケーション及びサービスは、マルウェアがデバイス上に実質的な足掛かりを与えるか、または不可逆的なダメージを生じさせるまでマルウェアを検出するか、もしくは任意の動作をとるように構成されていないことが多い。
【０００３】
例えば、ある種のマルウェアは、種々の理由でファイルを変更しようとする。この種のものは、いくつかの行動上の類似点を共有するが異なる目的である、ワイパー及びランサムウェアを含み得る。ワイパーは、任意の多数の異なる方法を通じてデバイス上のデータを破壊するように設計される。いくつかのワイパーは、データファイルを不慣れな利用者に使用不可能にするためにデータファイルの一部分を上書きする。他のより深刻なダメージを与えるワイパーは、データを上書きし、任意のデータの復旧をより困難にするか、または不可能にするために、ランダムなデータ列を使用して複数回データを上書きし得る。
【０００４】
ファイル変更マルウェアの別の一群は、いくつかの種類の身代金と引き換えにデータの人質を保持する、いくつかの形式のランサムウェアを含み得る。しばしば、この形式のランサムウェアは、コンピュータのメモリの一部分を暗号化し、利用者が支払いと引き換えにメモリを復号化する仕方を提供されることを利用者に通知する。一旦、ファイルが暗号化されると、通常、高度な利用者であってさえ、暗号化されたデータを復旧するためにできることは、ほとんどない。この種のマルウェアは、企業、政府機関、または価値のあるデータもしくは作成不能なデータを格納している他の主体にとって大きな懸念事項であり、それらは、その利益の上がる性質のために流行してきている。
【発明の概要】
【０００５】
これらのスケーラビリティ及びこれらの形式のコードが通常のコンピュータ処理を呈する類似の行動に依り、これらのマルウェアは、現行の対策がマルウェアの存在を検出する前にデータを危険にさらし得る。データに対する壊滅的な変更を及ぼすマルウェアの試行における十分に迅速な動作に対するこの失敗は、結果として実質的なダメージ、消失、または変更を元に戻すことの困難さをもたらし得る。
【０００６】
詳細な説明は、添付図面を参照して述べられる。図面において、参照番号の最も左の桁は、参照番号が最初に現れる図面を識別する。異なる図面における同一参照番号の使用は、類似または同一の項目もしくは特徴を示す。
【図面の簡単な説明】
【０００７】
【図１】コンピューティングデバイスに実装されたセキュリティエージェント及びファイル変更マルウェアを検出するためにセキュリティエージェントによってとられる動作の概要例を例示する図である。
【図２】ファイル変更マルウェアを検出しマルウェアに対する阻止動作を遂行するプロセス例を例示する図である。
【図３】ファイル変更マルウェアを検出するプロセス例を例示する図である。
【図４】ファイル変更マルウェアを検出するプロセス例を例示する図である。
【図５】セキュリティエージェントを含んで構成された監視されるコンピューティングデバイスのコンポーネントレベル図を例示する図である。
【発明を実施するための形態】
【０００８】
概要
本開示は、部分的に、ファイル変更マルウェアを検出するための技術を説明する。いくつかの例において、本明細書に論じられる技術は、コンピューティングデバイス上及び／またはコンピューティングデバイス用に実装され、プロセスが、少なくとも部分的にファイルに悪意のある変更を行うように設計されたマルウェアであることを判定することを含み得る。いくつかの例において、本技術は、コンピューティングデバイス上で実行しているプロセスが、コンピューティングデバイスのメモリまたはコンピューティングデバイスによってアクセス可能なメモリのファイルシステムのディレクトリを横断していることを検出することを含む。例えば、プロセスは、プロセスと関連付けられた現在の作業ディレクトリを繰り返し変化させることによってディレクトリを横断し得る。ディレクトリ横断を実施し得る良性のプロセスは、例えば、「ファイルを開く」もしくは「名前を付けて保存する」の処理に準じてディレクトリを横断している非感染ワードプロセッシングアプリケーション、または一定のファイル形式が位置するデータファイル（例えば、「．ｍｐ３」または「．ｍｐｅｇ４」のようなファイル拡張子を有するデータファイル）についてディレクトリ全体を検索している非感染マルチメディアアプリケーションを含み得る。
【０００９】
本技術はさらに、プロセス（「第１のプロセス」）または第１のプロセスと関連付けられた別のプロセス（「第２のプロセス」）が特有のファイルアクセスパターンに従ってファイルにアクセスしていることを検出することを含む。例えば、本技術は、第１のプロセスがディレクトリを横断していることを検出し、第１のプロセスまたは任意の関連プロセスによってとられた動作を、１つ以上のファイル上で実施される特定のプロセス動作一式（例えば、ファイルのコピーを作成すること、ファイルから読み出し、読み出したコンテンツをコピーに暗号化すること、ファイルの名前を変更すること）を含むファイルアクセスパターンの複数の定義と比較した後に、第１のプロセス及び／または第１のプロセスと関連付けられた任意のプロセス（例えば、第１のプロセスが呼び出すプロセス、第１のプロセスを呼び出した同一親プロセスによって呼び出されたプロセス）を監視することを含み得る。いくつかの例において、ファイルアクセスパターンの定義（または、本明細書において代替的に参照されるものとして、「定義されたファイルアクセスパターン」、「ファイルアクセスパターン定義」、「ＤＡＰ」）は、ファイルアクセスパターンが悪意のあるものであることの蓋然性もしくは信憑性定量値、ならびに／またはファイルアクセスパターンが第１のプロセス及び／もしくは第２のプロセスによって実施されるときにファイルアクセスパターンが悪性である蓋然性を含み得る。
【００１０】
例えば、第１のプロセス動作一式を略述する第１のＤＡＰはまた、ディレクトリを横断し、第１のプロセス動作一式に対応する動作を遂行するプロセスが、マルウェアである高い可能性を有することを示し得るが、プロセスが第２のＤＡＰによって特定された動作に対応する動作を遂行する場合、第２のＤＡＰは、より多くの情報が必要であること、またはプロセスがマルウェアである信憑性が低いことを示し得る。いくつかの例において、本技術は、プロセスがディレクトリを横断していること及びプロセスが特有のＤＡＰ（例えば、プロセスがディレクトリを横断するとき及びＤＡＰに従って行動するときに滅多にまたは決して良性ではないであろうことを示すＤＡＰ）と一致するファイルアクセスパターンを呈することを検出するに際し、プロセスが悪意のあるものであることを判定することを含み得る。いくつかの例において、本技術はさらに、ディレクトリを横断する、及び特有のＤＡＰに従う行動を呈するプロセスの例外リストを含み得る。
【００１１】
いくつかの例において、本技術はまた、第１のプロセス及び／もしくは第１のプロセスと関連付けられた１つ以上のプロセスの動作を監視すること、ならびに／または記録することを含み得る。いくつかの例において、本技術は、プロセスがマルウェアであるか否かを判定するために、複数プロセスの動作を互いに関連付けること、及び／またはプロセスによってとられた複数動作を互いに関連付けることを含み得る。例えば、プロセスがマルウェアであることの低い信憑性を含むいくつかのＤＡＰに関して、プロセスがディレクトリを横断しＤＡＰの１つに従ってファイルにアクセスする場合、本技術は、ＤＡＰ（例えば、ＤＡＰは、マルウェアの解析または観察に基づいて設計される）の１つ以上と一致する、第１のプロセスまたは第１のプロセスに関するプロセスによって実施された詳細な行動の記録をコンパイルすることを含み得る。
【００１２】
本技術は、プロセスのうちの１つ以上がマルウェアであることを記録から判定することを含み得る（例えば、第１のプロセスがディレクトリを横断することを検出することによる、ならびに識別されたＤＡＰにより定義されたそれぞれの蓋然性及び／またはＤＡＰにより定義された他の情報から集められている信憑性測定基準が信憑性閾値に達するまで、第１のプロセス及び／または関連プロセスが１つ以上のＤＡＰに従っているとして定義された回数、識別される動作を遂行することを判定することによる）。
【００１３】
いくつかの例において、本明細書において論じられる技術は、コンピューティングデバイス上で実行しているプロセスがファイル変更マルウェアであることを判定するために、またいくつかの例において、プロセスに関する阻止動作をとるために（例えば、プロセスが動くことを停止または阻止し、プロセスによってとられた動作を元に戻し、他のコンピューティングデバイスにプロセスからの免疫を与えるためにプロセスに関する情報を伝達する）、例えば、２０１２年６月８日に出願された米国特許第９，０４３，９０３号により詳細に説明される「Ｋｅｒｎｅｌ−Ｌｅｖｅｌ  Ｓｅｃｕｒｉｔｙ  Ａｇｅｎｔ」のような、セキュリティエージェントを構成し得る。いくつかの例において、本明細書において論じられる技術は、米国特許第９，０４３，９０３号によって説明されるように、及び／または「Ｉｎｆｅｒｅｎｔｉａｌ  Ｅｘｐｌｏｉｔ  Ａｔｔｅｍｐｔ  Ｄｅｔｅｃｔｉｏｎ」と題され２０１６年７月１８日に出願された米国特許出願第１５／２１３，００４号によって説明されるように、プロセスを監視し、プロセス動作を検出し、及び／またはイベント情報を受信する。
【００１４】
本明細書において論じられる技術は、高費用プロセスまたはメモリ要件を招くことなく、ファイル変更マルウェアを検出すること、及びコンピューティングデバイスのセキュリティを改善する数個の明白な利点を実現することを試行する現行の手段による複数の問題を解決する。例えば、現行の手段は、コンピューティングデバイスのメモリのエントロピーを周期的に計算し、暗号化されたデータがエントロピーのより高い傾向を示し、いくつかの体系に従ってワイプされたデータがより高いエントロピーとなり得るので、マルウェアがデータファイルをワイプしているか、または暗号化していることを示し得るエントロピーにおける変化を監視することによってファイル変更マルウェアを検出することを試行する。しかしながら、これは、このような分析をワイパーまたはランサムウェアの存在を検出するために不適切なものとする数個の問題を解決しない。
【００１５】
第１に、エントロピーを変更しない様式においてデータファイルを暗号化または変更することが可能であり、このため現行の手段は、これらの方法を使用してマルウェアを検出しないことになるか、またはデータの相当量が犠牲になるまでそのマルウェアを検出しないことになる。第２に、いくつかのワイパー及びランサムウェアは、ファイル全体をワイプまたは暗号化せず、それらは、不慣れな利用者によって開くことができなくなるためだけに十分にファイルを暗号化すればよい。この方法はまた、検出可能であるために十分にメモリのエントロピーを変えない。第３に、ワードプロセッサのような多くの良性のアプリケーション、例えば、またはデータ記憶装置用に暗号化の使用を許容する任意のアプリケーションは、エントロピーを増大し、これによって、偽陽性の高いリスクを招き得る。第４に、ファイル全体システムに亘るエントロピーを計算することは、計算上コストが高く、このためこのような計算を実施するコンピューティングデバイスの性能の低下を生じさせる。この低下を最小化する試行は、ファイルシステムの少ない部分に対してエントロピー計算を行うことのみであり、これは、悪性のファイル変更を検出することの完全な失敗、またはデータの相当量が犠牲になる前にこのような変更を検出することの失敗を最終的に引き起こし得る。
【００１６】
本明細書に説明される技術は、相当数のファイルが犠牲になる前に、及び／または、いくつかのファイルアクセスパターンに関して、任意のファイルが不可逆的に変えられる前に、プロセスがファイル変更マルウェアであることを検出する。本技術の構成はまた、現行の手段が行うように、高い計算コストを招くことなく、または計算負荷を節約するために検出の範囲を制限することなく、このような検出を可能にする。本明細書に説明されるように本技術の構成は、これらの利点を実現する。いくつかの例において、本技術は、利用者認証を必要とすることなく、マルウェアであると判定されたプロセスの実行を停止または阻止するようにコンピューティングデバイスを構成し、利用者が調査する機会を有することになるまでの前にしばしば危機的な範囲に達し得る、マルウェアによって永続化される、データの任意の更なる破壊または改変を中断する。
【００１７】
本明細書において使用される、「関連プロセス」は、実行のいくつかの関係によって第１のものと関連付けられた第２のプロセスである。いくつかの例において、この関係は、第１のプロセス（「親」）が第２のプロセス（「関連付けられた」子）を呼び出したか、またはさもなければ開始した、親／子関係であり得る。例えば、親プロセスは、後続して任意の数のプロセスの開始を生じさせ、最終的に子プロセスの開始を生じさせ得る中間プロセス（別の関連プロセス）を呼び出し得る。いくつかの例において、この関係は、第１のプロセス及び第２のプロセスが同一親プロセスの各子プロセスであることとなる。
【００１８】
本説明は、概して、プロセスの動作を分析すること、及びプロセスが悪意のあるものであるか否かを判定することに関する。しかしながら、本明細書において説明される技術は、コンピューティングデバイス上で実行している任意の関数、モジュール、プロセスまたはスレッドのうちの１つ以上に適用されるように変更され得ることが理解される。さらに、本明細書において使用される「悪意のあるプロセス」またはプロセスが「悪意のある」ものであることを判定することは、プロセスと関連付けられたいくつかのコードが悪意のあるものであることを意味する。いくつかの例において、「ｃｍｄ．ｅｘｅ」のような中立的プロセスまたは他の類似の中立的プロセスが、悪意のある動作を実施するように、スクリプトを動かし得るか、またはいくつかの命令によって別の状態に構成される。このため、「悪意のあるプロセス」の用語及びプロセスが「悪意のある」ものであることを判定することは、別の中立的または「安全な」プログラムを悪意のある動作を実施するように導くことを通して直接的または間接的に悪意のある動作を生じさせている、プロセス、スクリプト、コード、または他の命令に言及している。このため、本明細書において使用される、「マルウェア」の用語は、このような悪意のある動作を直接的または間接的に生じさせるように成り立つ、プロセス、スクリプト、コード、または他の命令のことを言う。
【００１９】
本明細書において使用される、「ファイル」及び「データファイル」の用語は、コンピュータによって格納されたデータの定義された単位を意味するように互換的に使用される。ファイル／データファイルの例としては、テキストファイル、バイナリ、命令等を含み得る。いくつかの例において、またいくつかのコンピュータ環境において、ファイル／データファイルは、例えば、「．ｐｄｆ」、「．ｅｘｅ」、「．ｄｌｌ」、「．ｄｏｃ」、「．ｍｐ３」、「．ｈｔｍｌ」、「．ｄｍｐ」等のようなファイル拡張子を割り当てられる。
【００２０】
本明細書において使用される、「ディレクトリ」は、デバイスのメモリのファイルシステム構造である。多くのディレクトリは、階層的であり、それらの構造は、メモリ／データファイル内の特有の場所を参照するために使用され得る（つまり、この参照が「パス」と呼ばれることもある）。メモリのパーティションは、異なるディレクトリによって構築され得る。Ｗｉｎｄｏｗｓ（登録商標）オペレーティングシステムにおいて、例えば、ルートディレクトリパス（つまり、階層における最初のまたは最上位のディレクトリ）は、例えば、「Ｃ：￥」または「Ｄ：￥」または「Ｅ：￥」として参照される。この例において、初期設定のＷｉｎｄｏｗｓ（登録商標）オペレーティングシステムは、ルートディレクトリ「Ｃ：￥」から階層内で分岐するサブディレクトリを含む。これらの分岐は、ファイル（例えば、「Ｃ：￥Ｕｓｅｒｓ￥ｆｉｌｅ．ｄｏｃ」）及び／またはサブディレクトリ（「Ｃ：￥Ｕｓｅｒｓ」）を含み得る。多くのオペレーティングシステムにおいて、ファイル及びサブディレクトリは、それらが参照される様式によって区別される。ファイル名は、それらのファイル形式を定義するファイル拡張子が後ろに付けられるが（例えば、「ｆｉｌｅ．ｄｏｃ」または「Ｃ：￥Ｕｓｅｒｓ￥Ｄｏｃｕｍｅｎｔｓ￥ｆｉｌｅ．ｄｏｃ」）、階層は、ファイル拡張子を含まない（例えば、「Ｃ：￥Ｕｓｅｒｓ￥Ｄｏｃｕｍｅｎｔｓ」、ここで「Ｄｏｃｕｍｅｎｔｓ」は、ルートディレクトリ「Ｃ：」の子ディレクトリである「Ｕｓｅｒ」の子ディレクトリである）。
【００２１】
本明細書において使用される、ディレクトリを「横断する」は、いくつかの様式において、ディレクトリの構造を通り抜けることを言う（例えば、いくつかの例においてディレクトリがツリー様階層として構築されるディレクトリツリーを転々とする）。例えば、Ｗｉｎｄｏｗｓ（登録商標）利用者がドキュメントデータファイルを共通的に格納する場所に到達するために、利用者は、一例において、ルートディレクトリ「Ｃ：￥」から「Ｃ：￥Ｕｓｅｒｓ」、利用者がドキュメントファイルを配置しようとする「Ｃ：￥Ｕｓｅｒｓ￥Ｄｏｃｕｍｅｎｔｓ」にディレクトリを横断するために、プロセス「ｅｘｐｌｏｒｅｒ．ｅｘｅ」のインスタンスのウインドウを使用する。いくつかの例において、これは、プロセスのディレクトリを変化させること、ディレクトリにおける最も近い場所、後続の場所、及び／もしくは異なる場所を開くこと、またはさもなければディレクトリにおける場所を転々とすることを含み得る。ディレクトリ横断の更なる例が、本明細書において論じられる。
【００２２】
処理例
図１は、監視されたコンピューティングデバイス上に実装されたセキュリティエージェント１０２の例、及び監視されたコンピューティングデバイス上で実行されている１つ以上のプロセスがファイル変更マルウェアであることを判定するセキュリティエージェントの構成の概要例を例示する。
【００２３】
いくつかの例において、セキュリティエージェント１０２は、監視されたコンピューティングデバイスのプロセッサによって実行されたプロセスが該コンピューティングデバイスのメモリのディレクトリの横断を実施していることを検出すること（１０４ａ及び１０４ｂ、まとめて１０４）、該プロセス及び／もしくは該プロセスと関連付けられた別のプロセスが定義されたファイルアクセスパターン１３２（「ＤＡＰ」）に従って１つ以上のファイルにアクセスしていることを検出すること（１０６ａ及び１０６ｂ、まとめて１０６）、または検出１０４及び／もしくは検出１０６に少なくとも部分的に基づいてプロセスに対して阻止動作を遂行すること（１１０）、のうちの１つ以上を含む処理を行うために種々のコンポーネントを含み得る。
【００２４】
いくつかの例において、セキュリティエージェント１０２は、（１１２）プロセス及び／または該プロセスと関連付けられたプロセスによって遂行された１つ以上のファイル上の動作１１４の記録をコンパイルすること（例えば、検出１０４及び／または検出１０６に関するプロセス情報、アクセスされた固有ファイルの数、アクセスされた固有ファイル形式の数（例えば、ファイルの拡張子及び／またはファイルのコンテンツによって判定される）、ファイルがアクセスされた回数、プロセス及び／または該プロセスと関連付けられたプロセスの動作と一致するＤＡＰの数、第１のプロセスまたは第２のプロセスによって記録されたデータ、第１のプロセスが進んだディレクトリの場所、記録から判定された信憑性測定基準）、ならびに（１１６）検出１０４、検出１０６、及び／または動作の記録１１４の１つ以上に少なくとも部分的に基づいて判定を行うこと、のうちの１つ以上のような追加的または代替的処理を行うために種々のコンポーネントを含み得る。
【００２５】
図１に例示されるように、セキュリティエージェント１０２は、ネットワーク１２０越しに遠隔セキュリティサービス１１８によって構成され、これと通信し得る。いくつかの例において、セキュリティエージェント１０２及び／または遠隔セキュリティサービス１１８は、ネットワーク１２０を介して他のコンピューティングデバイスの他のセキュリティエージェント１２２（１）〜（ｎ）と通信し得る。いくつかの例において、遠隔セキュリティサービス１１８は、同一ネットワーク、同一企業の、及び／または類似の特徴（例えば、同一または類似のオペレーティングシステム）を共有する、コンピューティングデバイス上に実装される、セキュリティエージェント１２２（１）〜（ｎ）にセキュリティエージェント１０２によって検出された悪意のあるプロセスに関する情報を拡散し得る。いくつかの例において、遠隔セキュリティサービス１１８は、ネットワーク、企業、またはセキュリティエージェント１０８が格納されるデバイスの特徴にかかわらず、遠隔セキュリティサービス１０４が関連付けられる全セキュリティエージェント１０８に悪意のあるプロセスに関する情報を拡散し得る。
【００２６】
セキュリティエージェント１０２の例は、「Ｋｅｒｎｅｌ−Ｌｅｖｅｌ  Ｓｅｃｕｒｉｔｙ  Ａｇｅｎｔ」と題され２０１２年６月８日に出願された米国特許第９，０４３，９０３号により詳細に説明される。セキュリティエージェント１０２は、例えば、動作コレクタ１２６、フィルタ／ロジック１２８、ポリシー１３０、定義されたファイルアクセスパターン１３２、イベント生成モジュール１３４、及び／またはイベント分析モジュール１３６を含み得る。
【００２７】
種々の実装において、セキュリティエージェント１０２を実装しているコンピューティングデバイス１０２（ここでは互換的に「コンピューティングデバイス」及び「監視されたコンピューティングデバイス」と呼ばれる）、遠隔セキュリティサービス１１８のデバイス及び／またはセキュリティエージェント１２２（１）〜（ｎ）を格納しているデバイスは、ネットワーク１２０によって接続され得る。ネットワーク１２０は、有線ネットワーク、無線ネットワーク、ならびに有線ネットワーク及び無線ネットワークの組み合わせのような、任意の１つ以上のネットワークを含み得る。さらに、ネットワーク１２０は、複数の異なる形式の公衆ネットワークまたは私設ネットワーク（例えば、ケーブルネットワーク、インターネット、無線ネットワーク等）の任意の１つまたは組み合わせを含み得る。いくつかの実例において、コンピューティングデバイスは、伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）のような、安全なプロトコル（例えば、ｈｔｔｐｓ）及び／または任意の他のプロトコルもしくはプロトコル一式を使用するネットワーク１０６越しに通信する。
【００２８】
セキュリティエージェント１０２を実装しているコンピューティングデバイス及び遠隔セキュリティサービス１１８のデバイスは、各々、サーバもしくはサーバファーム、複数の分散されたサーバファーム、メインフレーム、ワークステーション、パーソナルコンピュータ（ＰＣ）、ラップトップコンピュータ、タブレットコンピュータ、パーソナルデジタルアシスタント（ＰＤＡ）、スマートフォン、装着型コンピューティングデバイス、高性能車両、携帯電話、メディアセンター、埋め込みシステム、または任意の他の種類の単一デバイスもしくは複数デバイスであり得るか、あるいはそれらを含み得る。一実装において、遠隔セキュリティサービス１０４のデバイスは、ノードのクラウドコンピュータネットワークのような、通信状態で稼働する複数のコンピューティングデバイスを意味する。いくつかの実装において、セキュリティエージェント１０２を実装するコンピューティングデバイスの１つ以上及び遠隔セキュリティサービス１１８のデバイスは、１つ以上のコンピューティングデバイス上に実装された１つ以上の仮想マシンを意味する。セキュリティエージェント１０２を実装しているコンピューティングデバイスとして働くことのできるコンピューティングデバイスの例が、図５に例示され、この図面を参照して以下に説明される。
【００２９】
種々の実装において、遠隔セキュリティサービス１１８は、セキュリティエージェント１０２を実装しているコンピューティングデバイス、及びセキュリティエージェント１０２の他のインスタンスを実装している任意の数の他のコンピューティングデバイスにセキュリティサービスを提供し得る。遠隔セキュリティサービス１１８は、ファイル変更マルウェア検出イベント通知、及びそれと関連付けられた分析データを含む、着目するイベントの通知をセキュリティエージェント１０２から受信し得る。遠隔セキュリティサービス１１８は、関連通知が他のセキュリティエージェント１２２（１）〜（ｎ）から受信されたかを判定し得る、及び／または１つ以上の規則もしくは発見的教授法に基づいて着目するイベントを評価し得る。
【００３０】
遠隔セキュリティサービス１１８はさらに、イベントを生成し該イベントをセキュリティエージェント１０２に提供すること（例えば、診断、阻止、または修復目的に対して）、セキュリティエージェント１０２の構成の更新を生成すること、ポリシー１３０に対する更新を生成すること、セキュリティエージェント１０２を実装しているコンピューティングデバイスを修復すること、悪意のあるコードと関連付けられた敵対者を欺くこと、またはセキュリティエージェント１０２を実装しているコンピューティングデバイスと関連付けられた主体もしくは人に潜在的に悪意のあるコードを通知すること、のうちの任意または全てのものを行い得る。構成の更新または更新されたポリシー１１２を生成することに際して、遠隔セキュリティサービス１１８は、実装用に構成の更新または更新されたポリシー１１２をセキュリティエージェント１０２に提供し得る。
【００３１】
いくつかの実装において、セキュリティエージェント１０２は、カーネルレベルに実装されたセキュリティエージェントのような、任意の種類のセキュリティエージェントであり得る。セキュリティエージェント１０２は、遠隔セキュリティサービス１１８によってインストールされ、また構成可能であり、その実行中に、セキュリティエージェント１０２のコンポーネントの再構成を受信し適用する。このような再構成は、いくつかの例において、動作コントローラ１２６、フィルタ／ロジック１２８、ポリシー１３０、定義されたファイルアクセスパターン１３２、及び／またはイベント分析モジュール１３４のような、セキュリティエージェント１０２の任意のコンポーネントに更新を生じさせ得る。セキュリティエージェント１０２は、そのセキュリティエージェント１０２を実装しているコンピューティングデバイス上のイベントを監視すること、コンピューティングデバイス上のイベントのうちのいくつかもしくは全てに関する状態を維持すること、コンピューティングデバイス上の１つ以上のイベントを遠隔セキュリティサービス１１８に通知すること、またはコンピューティングデバイス上の１つ以上のイベントと関連付けられた悪意のあるプロセスに応答して動作をとること、のうちの少なくとも１つを行い得る。
【００３２】
いくつかの例において、動作コントローラ１２６は、プロセスと関連付けられた動作を含む、全種類の動作（例えば、状態、プロセッサ実行、データフロー）を観察する。動作を受信するために、動作コレクタ１２６は、着目するプロセスまたは活動と関連付けられた一定の動作の発生または未発生の通知を受信するためにフックまたはフィルタに登録し得る。動作コレクタ１２６はまた、メモリもしくはログファイルの場所を監視し得るか、またはそのためにスレッドを大量に生じさせ、ログファイルもしくはメモリ場所と関連付けられた動作を観察し得る。動作コレクタ１２６が、複数種別の動作を観察し得るか、または各形式の動作が、異なる個々の動作コレクタ１０８と関連付けられ得る。動作コレクタ１２６によって観察されたイベントは、セキュリティエージェント１０２の構成によって特定され得る。
【００３３】
動作コレクタ１２６は、観察されたプロセス動作（１０４ａ及び／または１０６ａ）をフィルタ／ロジック１２８に送る。これらの観察された動作は、例えば、プロセスの作成（呼び出し／開始）または実行、及びプロセスによる他の動作を含み、これが、ここで観察されたプロセス動作（１０４ａ及び／または１０６ａ）として参照され得る。観察されたプロセス動作１０４ａ及び／または１０６ｂが、以下に論じられるように、ポリシー１３０及び／または定義されたファイルアクセスパターン１３２に従って着目する動作（「ＡｏＩ」）としてみなされる場合、フィルタ／ロジック１２８は、観察されたプロセス動作１０４ａ及び／もしくは１０６ａがＡｏＩであることを識別することに応答してプロセス観察イベント（１０４ｂ及び／または１０６ｂ）を生成し得る、ならびに／またはそれは、生成された観察イベントをファイルアクセス記録１１４に結び付け得る。
【００３４】
いくつかの例において、イベント生成モジュール１３４は、観察イベント１０４ｂ及び／もしくは１０６ｂ、ならびに／またはファイルアクセス記録１１４を生成及び／または送信し得る。いくつかの例において、イベント分析モジュール１３６は、検出イベント１０４ａ及び／もしくは１０６ａ、ならびに／またはファイルアクセス記録１１４のうちの１つ以上からイベントの１つ以上と関連付けられたプロセスがマルウェアであることを判定し、悪意のあるプロセス検出イベント（１３８）を生成及び／または送信し得る。いくつかの例において、イベント分析モジュール１３６またはセキュリティエージェント１０２のいくつかの他のモジュールは、阻止動作１１０を遂行し得る（例えば、プロセスの実行を停止もしくは阻止すること、プロセスと関連付けられたプロセスの実行を停止もしくは阻止すること、プロセスと関連付けられた入力／出力処理を停止もしくは阻止すること、プロセスと関連付けられたネットワーク処理を停止もしくは阻止すること、プロセスと関連付けられた情報を記録すること、プロセスと関連付けられた情報を１つ以上のコンピューティングデバイスに伝達すること、またはプロセスを実行したプロセッサと関連付けられたコンピューティングデバイスを再起動させること）。
【００３５】
いくつかの例において、イベント１０４ａ、１０６ｂ、及び／または１３８、ならびに他の観察されたイベント／イベント通知は、フィルタ／ロジック１２８の一部を形成し得る、または分離コンポーネントであり得る、イベントバスを介して送られ得る。イベントバスは、イベント／イベント通知をセキュリティエージェント１０２のコンポーネント間で送り得る。
【００３６】
いくつかの例において、フィルタ／ロジック１２８は、動作コレクタ１０８により監視されたコンピューティングデバイスによって実行されたプロセスにより遂行された動作を示す観察された動作（１０４ａ及び／または１０６ａ）を受信する（例えば、イベント通知を介して）。
【００３７】
フィルタ／ロジック１２８は、プロセス動作がポリシー１３０によって特定された着目するプロセス（ＰｏＩ）または着目する動作（ＡｏＩ）に由来する場合、観察イベント１０４ｂ及び／または１０６ｂのようなイベント通知を生成し得る。いくつかの例において、着目する活動は、ファイル変更マルウェアがコンピューティングデバイス上で足掛かりを得ること、及び／またはコンピューティングデバイスのファイルを変更することを可能にすることを含み得る。ＯｏＩの例は、例えば、データを暗号化するプロセス、データを削除するプロセス、インターネットプラグインスレッド（例えば、フラッシュスレッド）、埋め込みマクロ、電子メールアプリケーションスレッドを含み得る。いくつかの例においてファイル変更マルウェアを検出するために、ポリシー１３０は、動作が、
・コンピューティングデバイスのメモリのディレクトリを横断すること
・定義されたファイルアクセスパターン１３２（「ＤＡＰ」）と一致する仕方で１つ以上のファイルにアクセスすること（例えば、ＤＡＰの例は、ファイルのコピーを作成し、該ファイルを読み出し、該ファイルの読み出したコンテンツを該ファイルのコピーに暗号化するプロセスを含むファイルアクセスパターンを定義し、このＤＡＰによって定義されたＡｏＩは、この例において、ファイルをコピーし、該ファイルのコンテンツをコピーに暗号化する、ＤＡＰによって特定される動作となる）
・上に特定された動作のいずれかの繰り返し
・「おとり」ファイル（例えば、利用者／他のアプリケーションが該ファイルを使用しないか、または該ファイルの知識を有しないことによる、マルウェアの警戒のためにセキュリティエージェント１０２によって作成され配置されたダミーファイル）にアクセスすること
のうちの１つ以上を含む場合、動作がＡｏＩであることを特定し得る。  
いくつかの例において、上述の動作は、ある一定のプロセス（ＰｏＩ）がそれらを遂行するときのみ、ＡｏＩであり得る。
【００３８】
いくつかの例において、ファイル／ロジック１２８は、ＡｏＩ（観察されたプロセス動作１０４ａによって記録されたもの）がディレクトリ横断に対する条件を特定するポリシー１３０の一部分と一致することを判定する際に、ディレクトリ横断イベント１０４ｂである特定観察イベント１０４ｂを生成し得る、及び／またはＡｏＩ（観察されたプロセス動作１０６ａによって記録されたもの）がＤＡＰ１３２と一致することを判定する際にファイルアクセスパターンイベント１０６ｂを生成し得る。
【００３９】
いくつかの例において、ディレクトリ横断イベントを生成するためのポリシー１３０の条件は、プロセスのディレクトリを変化させること（例えば、反復的、体系的、繰り返し（つまり、いくつかの定義された２以上の数））、プロセスが「ディレクトリを開く」処理を繰り返し実施していることを検出すること（例えば、開かれたディレクトリが、ツリー様ディレクトリのサブディレクトリまたは複数ルートディレクトリであるか否か）、またはさもなければディレクトリを通り抜けること、のうちの１つ以上を含み得る。例えば、条件は、ディレクトリを通って横断し各サブディレクトリにおいて遭遇したデータファイルの場所を記録する、及び／またはディレクトリを反復的、体系的、もしくは繰り返し（例えば、２回以上）通って横断する同一プロセス（１）のいずれかからなる行動にフラグを立てるように設計され得る。
【００４０】
いくつかの例において、ファイル／ロジック１２８は、プロセスがＤＡＰと一致する行動を呈しているか否かを判定するために、類似の例外及び包含リストを利用してファイルアクセスパターンイベント１０６ｂを生成し得る（例えば、プロセスが「．ｄｌｌ」ファイルにアクセスしていないが、ＤＡＰに従って「．ｐｄｆ」ファイルにアクセスしている場合でさえ、フィルタ／ロジック１２８がプロセスに対するファイルアクセスパターンイベント１０６ｂを生成することを可能にする）。いくつかの例において、フィルタ／ロジック１２８は、ファイルアクセスパターンを生成するために例外または包含リストを含まず、フィルタ／ロジック１２８は、アクセスが行われた際にファイル形式にかかわらず、ファイルアクセスパターンイベント１０６ｂを生成し得る。
【００４１】
いくつかの例において、フィルタ／ロジック１１０によって生成された、ディレクトリ横断イベント１０４ｂ及び／またはファイルアクセスパターンイベント１０６ｂは、ＡｏＩが悪意のあるプロセス（例えば、ファイル変更マルウェア）または良性のアプリケーションによって実施されているかどうかを判定するために、イベント分析モジュール１３６に提供され得る。いくつかの例において、ディレクトリ横断イベント１０４ｂ及び／またはファイルアクセスパターンイベント１０６ｂは、観察されたプロセス動作に関する種々の情報を含み得る。例えば、ディレクトリ横断イベント１０４ｂ及び／またはファイルアクセスパターンイベント１０６ｂは、ＡｏＩ（例えば、プロセス）と関連付けられたプロセスの識別情報、及び／またはＡｏＩを遂行しているプロセス形式、対象データ（分析を要求された、及び／またはイベント分析モジュール１３６によって得られたデータ）等を特定し得る。いくつかの例において、ディレクトリ横断イベント１０４ｂ及び／またはファイルアクセスパターンイベント１０６ｂは、ポリシー１３０から供給される、ならびに／またはイベント生成モジュール１３４及び／もしくはイベント分析モジュール１３６によって判定される信憑性測定基準を含み、信憑性測定基準は、ディレクトリ横断イベント１０４ｂ及び／またはファイルアクセスパターンイベント１０６ｂが関連付けられたＡｏＩが悪性または良性であるかどうかの指標である。いくつかの例において、信憑性測定基準は、複数ディレクトリ横断イベント１０４ｂ及び／もしくはファイルアクセスパターンイベント１０６ｂ、ならびに／またはファイルアクセス記録１１４から判定され得る。例えば、ＡｏＩの一定の組み合わせは、滅多に良性ではない（つまり、該動作の組み合わせは、ほとんど常にマルウェアによってとられた動作の組み合わせである）。これらのＡｏＩ及び／またはＡｏＩのそのような組み合わせに割り当てられた信憑性測定基準は、このため高い数字であり得る。
【００４２】
いくつかの例において、イベント分析モジュール１３６は、ＡｏＩがしばしばファイル変更マルウェアのように行動するアプリケーションの包含リスト（つまり、ホワイトリスト）に少なくとも部分的に基づいて悪意のあるプロセスと関連付けられる信憑性測定基準を減少させ得る。このようなアプリケーションは、例えば、データを編成し削除するアプリケーション、ワードプロセッシングアプリケーション、暗号化アプリケーション、圧縮ユーティリティ等を含み得る。いくつかの例において、低い信憑性測定基準と関連付けられた一定のＤＡＰに対して生成されたイベントは、ファイルアクセス記録１１４に追加され得る。例えば、いくつかのファイルアクセスパターンは、プロセスがまたディレクトリ横断を実施しているときでさえ、良性のアプリケーションに共通であり得る。例えば、利用者は、特有のディレクトリに進み「名前を付けて保存」関数に準じてファイルを上書きするようにワードプロセッシングアプリケーションを指示し得る。イベント生成モジュール１３４は、ディレクトリ横断を検出することに際して第１のイベント生成し（１０４ｂ）、ＤＡＰ１３２としてファイルを上書きすることを定義するＤＡＰ１３２に従う行動を検出することに際して第２のイベントを生成する（１０６ｂ）。
【００４３】
いくつかの例において、イベント分析モジュール１３６は、第１のイベント及び／または第２のイベントと関連付けられた信憑性測定基準が、任意の阻止動作を遂行するために低過ぎることを第１のイベント及び第２のイベントから判定し得る。それは、イベントを記録しＤＡＰ１３２または別のＤＡＰ１３２と一致するプロセスもしくは関連プロセスによって更なるイベントを監視するように、イベント生成モジュール１３４を指示し得る。いくつかの例において、イベント生成モジュール１３４は、一旦、集められた信憑性測定基準が閾値、及び／またはイベント分析モジュール１３６の要求に達すると、ファイルアクセス記録１１４においてプロセスに対するイベントを自動的に記録し、ファイルアクセスをファイルアクセス記録１１４に周期的に提供し得る。
【００４４】
いくつかの例において、イベント生成モジュール１３４及び／もしくはイベント分析モジュール１３６によって判定された、ならびに／またはポリシー１３０によって特定された信憑性測定基準は、複数ＡｏＩが１つのプロセス及び／もしくは該１つのプロセスと関連付けられたプロセスに対して検出された場合、ならびに／または１つのプロセス及び／もしくは該１つのプロセスと関連付けられたプロセスの複数ＡｏＩが１つ以上のＤＡＰと一致する場合、ならびに／または複数ＡｏＩが複数ＤＡＰと一致する場合、上昇され得る。
【００４５】
いくつかの例において、ファイルアクセスは、ＡｏＩと関連付けられたプロセスがディレクトリ横断イベント１０４ｂ及び／またはファイルアクセスパターンイベント１０６ｂのうちの１つ以上と相互作用しているファイルを記録し得る。例えば、イベント生成モジュール１３４は、ファイルの識別情報（例えば、名前、ファイル拡張子、ディレクトリにおける場所、例えば、「ｅｘｐｌｏｒｅｒ．ｅｘｅ」もしくは「Ｃ：￥Ｕｓｅｒｓ￥Ｕｓｅｒｎａｍｅ￥Ｄｏｃｕｍｅｎｔｓ￥Ｐａｔｅｎｔ．ｄｏｃ」）、ファイル形式の識別情報（例えば、ファイル拡張子）、ならびに／またはアクセスされたファイルの計数及び／もしくはアクセスされたファイル形式の計数、のうちの１つ以上を記録し得る。いくつかの例において、イベント生成モジュール１３４は、このデータのうちの任意のものを固有に計数するように構成され、イベント生成モジュール１３４を測定することは、一定のファイルの単なるコピーの代わりに固有ファイルにアクセスすること、または同一ファイルに繰り返しアクセスすることを計数するように構成され得る。いくつかの例において、これらの計数のうちの１つ以上は、信憑性測定基準を増大または減少させるために使用され得る（例えば、１つのファイルに繰り返しアクセスすることは、信憑性測定基準を減少させ得るが、複数ファイル及び／またはファイル形式にアクセスしているプロセス及び／または関連プロセスを反映する記録は、信憑性測定基準を増大させ得る）。
【００４６】
いくつかの例において、マルウェアは、記録もしくはアクセスしないデータファイルを特定する例外リスト（例えば、「．ｓｙｓ」、「．ｏｃｘ」、「．ｄｌｌ」、「．ｅｘｅ」のような、変更された場合、悪性のファイル変更が完了する前にシステムを破壊し得る拡張子を有するファイルを回避する）及び／または包含リスト（例えば、「．ｐｄｆ」、「．ｊｐｅｇ」、「．ｄｏｃ」、「．ｄｏｃｘ」、「．ｍｐ３」のような利用者データを含有するファイルを判定するためのファイル名拡張子）を用い得る。このため、ファイルアクセス記録１１４は、検出されたマルウェアを特徴付けるために使用され得る（例えば、特有の悪意のあるプロセスが従って行動しているように見える、潜在的な例外及び／または包含を特徴付けることによって）、アクセスされたファイル形式に関する情報を含み得る。
【００４７】
いくつかの例において、イベント分析モジュール１３６は、ディレクトリ横断イベント１０４ｂ及び／もしくはファイルアクセスパターン１０６ｂ、ならびに／またはファイルアクセス記録１１４のうちの１つ以上に少なくとも部分的に基づいて、プロセスが悪意のあるものである信憑性点数を計算する。そのような場合において、イベント分析モジュール１３６は、判定された信憑性測定基準が点数閾値を超えている場合（例えば、点数閾値は、いくつかの例において遠隔セキュリティサービス１１８及び／またはポリシー１３０によって設定され得る）、悪意のあるプロセス検出イベント１３８を作成し得る。追加的または代替的な例において、イベント分析モジュール１３６は、観察されたプロセス動作１０４ａ及び／または１０６が、ポリシー１３０及び／またはＤＡＰ１３２によって特定されるようなディレクトリ横断とどの程度一致するかを確認し得る。
【００４８】
いくつかの例において、悪意のあるプロセス検出イベント１３８の生成に応答して、セキュリティエージェント１０２、イベント分析モジュール１３６、及び／または遠隔セキュリティサービス１１８は、阻止動作１１０を遂行し得る。例えば、阻止動作を遂行しているアクターは、悪意のあるものとしてプロセスをラベル付けすること、プロセスと関連付けられたコードを特徴付ける及び／もしくは記録すること（例えば、悪性のプロセスによって遂行されたＡｏＩに関する情報、プロセスが格納された場所、プロセスの識別情報、プロセスと関連付けられたハッシュの記録を作成すること）、シェルコードと関連付けられたプロセスもしくはプロセスの一部分を破壊すること、ＡｏＩ及び／もしくはＡｏＩと関連付けられたプロセスの実行を停止もしくは阻止すること、入力／出力処理を停止もしくは阻止すること、ネットワーク処理を停止もしくは阻止すること、脆弱性を修正すること、ならびに／またはコンピューティングデバイスを再起動させること、などのうちの１つ以上を含む動作を遂行し得る。セキュリティエージェント１０２は、阻止動作を自動的に（つまり、利用者入力を受信及び／または要求することなく）とるように構成され得る。いくつかの例において、阻止動作は、１つ以上のファイルを復号化及び／もしくは復元、または回復することを含み得る。例えば、セキュリティエージェント１０２は、信憑性測定基準が閾値を超えるとき、及び／またはイベント分析モジュール１３６が悪意のあるプロセス検出イベントを生成するとき（これは、信憑性測定基準が閾値を超えることの判定と同時に起こり得る）、阻止動作をとり得る。いくつかの例において、セキュリティエージェント１０２はまた、利用者に阻止動作がとられたことを追加的に通知する、及び／または阻止動作の前に利用者認証を探すように構成され得る。
【００４９】
悪意のあるプロセス検出イベント１３０を受信することに応答して、遠隔セキュリティサービス１１８は、フィルタ／ロジック１２８によって利用されたポリシー１３０を更新し得る、ならびに／またはセキュリティエージェント１０２及び／もしくはセキュリティエージェント１２２（１）〜（ｎ）の構成を更新し得る。遠隔セキュリティサービス１１８はまた、検出された悪意のあるプロセスに基づいて診断、阻止、または修復するために、セキュリティエージェント１０２及び／またはセキュリティエージェント１２２（１）〜（ｎ）に命令または他の更新を提供する。いくつかの例において、遠隔セキュリティサービス１１８及び／またはイベント生成モジュール１３６は、ＡｏＩを遂行した／イベントの生成を引き起こしたプロセスの動作及び／または文脈を計算することに少なくとも部分的に基づいてＤＡＰを追加または変更し得る。
【００５０】
プロセス例
図２〜図４は、プロセス例を例示する。これらのプロセスは、論理的フロー図として例示され、この各処理は、ハードウェア、ソフトウェア、またはそれらの組み合わせにおいて実装され得る、一連の処理を表す。ソフトウェアの文脈において、処理は、１つ以上のプロセッサによって実行されたときに列記された処理を行う、１つ以上のコンピュータ可読記憶装置上に格納されたコンピュータ実行可能命令を表す。概して、コンピュータ実行可能命令は、特有の関数を行う、または特有の抽象データ型を実装するルーチン、プログラム、プロセス、コンポーネント、データ構造等を含む。説明される処理の順番は、限定として解釈されることを意図されず、説明された処理の任意の数が、プロセスを実装するために任意の順番及び／または並行において結合され得る。
【００５１】
図２は、コンピューティングデバイス上でファイル変更マルウェアを検出し、ファイル変更マルウェアに対して阻止動作を遂行するプロセス２００の例を例示する。
【００５２】
プロセス２００は、２０２において、プロセッサによって実行されたプロセスがメモリのディレクトリの横断を実施していることを検出することを含み得る。いくつかの例において、このような検出は、上述によるセキュリティエージェント１０２によって、動作コレクタ１２６、フィルタ／ロジック１２８、及び／またはポリシー１３０を使用して実施され得る。いくつかの例において、検出は、１０４ａにおけるプロセス動作を観察すること、及び１０４ｂにおけるディレクトリ横断イベントを生成することを説明する。いくつかの例において、プロセスは、この点において、プロセスに対するファイルアクセス記録を開始し、そのプロセスまたはそのプロセスと関連付けられた任意のプロセスに関する、さらに検出されたイベントがこれに連結され得る。ただし、プロセスがメモリのディレクトリを横断していることを検出する任意の他の方法が用いられ得る。
【００５３】
２０４で、いくつかの例において、セキュリティエージェント１０２は、プロセスがＤＡＰに従って１つ以上のファイルにアクセスしていることを検出し得る。いくつかの例において、この情報は、そのプロセスに対するファイルアクセス記録に追加され得る。いくつかの例において、追加的または代替的にセキュリティエージェント１０２は、関連プロセス（例えば、ディレクトリを横断しているプロセスによって呼び出されたプロセス）がＤＡＰに従って１つ以上のファイルにアクセスすることを検出し得る。いくつかの例において、関連プロセスに関する情報は、ディレクトリを横断していることを検出されたプロセスのファイルアクセス記録に追加され得る。いくつかの例において、ＤＡＰは、プロセス（及び／または１つ以上の関連プロセス、例えば、特有のＤＡＰが３つの動作を定義し、プロセスがＤＡＰによって特定された３つの動作のうちの１つ目を遂行し、関連プロセスがＤＡＰによって特定された３つの動作の２つ目を遂行し、そしてプロセスがＤＡＰによって特定された３つの動作の３つ目を遂行し得る）によってとられる動作の定義である。いくつかの例において、ポリシー１３０は、複数ＤＡＰを含み、セキュリティエージェント１０２が１つ以上のプロセスの動作をこれと比較する。いくつかの例において、セキュリティエージェント１０２は、２つ以上のプロセスがＤＡＰに従って１つ以上のファイルにアクセスしていることを検出するために、複数プロセスの動作を互いに関連付ける。
【００５４】
いくつかの例において、処理２０２及び２０４、ならびに関連セキュリティエージェントは、マルウェアが、ディレクトリを横断していること、特有のデータファイル（つまり、対象ファイル）（例えば、それぞれ、包含または例外リストに従って判定される、特有の拡張子を有するファイル及び／または特有の拡張子を有しないファイル）を探していること、及び各サブ階層においてマルウェアが見つけ出すために探している全ファイルを暗号化すること、またはさもなければ変更すること、を検出するように構成される。いくつかの例において、処理２０２及び２０４、ならびに関連セキュリティエージェントは、マルウェアがファイルを変更する前に十分な数のまたは全対象ファイルを列挙した後に、暗号化されることになる、またはさもなければ変更されることになる、対象データの場所を記録しているディレクトリを横断していることを検出するように構成される。
【００５５】
いくつかの例において、ＤＡＰの一例は、ファイルの「ファイル内」暗号化／変更を含み得る。このＤＡＰは、ファイルからデータを読み出すこと、読み出したデータを暗号化／変更すること、及びアクセスされているファイルに暗号化／変更されたデータを書き込むこと、を含む。「ファイル内」ＤＡＰに含まれた更なる動作は、例えば、ファイルの元の名前等のようなファイルのメタデータを示すためにアクセスされたファイルのヘッダーに書き込みを行うことを含み得る。
【００５６】
別の例において、ＤＡＰの別の例は、アクセスされたファイルのコピーを作成すること、アクセスされたファイルからデータを読み出すこと、及び読み出したデータをアクセスされたファイルのコピーに暗号化すること、の動作を含み得る。いくつかの例において、このＤＡＰはさらに、アクセスされたファイルの名前と一致するようにコピーされたファイルの名前を変更すること（アクセスされたファイルを上書きするために）、またはアクセスされたファイルを削除すること、のうちの１つ以上を含み得る。
【００５７】
２０６において、プロセスがディレクトリを横断していることを検出すること、及びプロセス（及び／またはプロセス）がＤＡＰに従って１つ以上のファイルにアクセスしていることを検出することに少なくとも部分的に基づいて、セキュリティエージェント１０２は、プロセスに対して（及び／またはコンピューティングデバイスに対して、いくつかの例において、変更されたファイルを復元するような）阻止動作を遂行し得る。いくつかの例において、処理２０６は、阻止動作を自動的に（つまり、利用者入力を受信及び／または要求することなく）とることを含み得る。例えば、セキュリティエージェント１０２は、信憑性測定基準が閾値を超えるとき及び／またはイベント分析モジュール１３６が悪意のあるプロセス検出イベントを生成するとき（これは、信憑性測定基準が閾値を超えることの判定と同時に起こり得る）、阻止動作を遂行し得る。いくつかの例において、セキュリティエージェント１０２はまた、阻止動作がとられたことを利用者に追加的に通知する、及び／または阻止動作を遂行する前に利用者認証を探すように構成され得る。
【００５８】
図３は、プロセスがファイル変更マルウェアであることを判定するプロセス３００の例を例示する。
【００５９】
プロセス３００は、３０２において、本明細書において論じられた任意の技術によって、コンピューティングデバイスによって実行されたプロセスによってとられた動作を監視することを含む（例えば、特有のプロセスと関連付けられるプロセッサによってとられた動作を監視することによって）。いくつかの例において、コンピューティングデバイスは、ディレクトリファイルシステムによって編成された１つ以上のメモリに対する／これを含むアクセスを有する。
【００６０】
３０４において、プロセス３００は、本明細書において論じられる任意の技術によって、第１のプロセスがコンピューティングデバイスのメモリのディレクトリを横断していることを特定する第１のイベント情報（例えば、ディレクトリ横断イベント１０４ｂ）を受信することを含み得る。
【００６１】
３０６において、プロセス３００は、本明細書において論じられる任意の技術によって、第１のプロセス及び／または第２のプロセス（例えば、関連プロセス）が、ＤＡＰからなる様式で１つ以上のファイルにアクセスしていることを特定する第２のイベント情報（例えば、ファイルアクセスパターンイベント１０６ｂ）を受信することを含み得る。いくつかの例において、この処理は、低い関連信憑性を有するＤＡＰに対して複数回、繰り返され得る。いくつかの例において、プロセスは、３０８に進む前に判定された信憑性値が閾値を超えるまで待機し得る。
【００６２】
例えば、一定のＤＡＰに関して、ディレクトリを横断しＤＡＰと対応する行動のインスタンスを呈しているプロセスが悪性である信憑性は、低いものであり得る。いくつかの例において、このプロセスはさらに、本明細書において論じられるように、第１のプロセス及び／もしくは第２のプロセスによってＤＡＰに従ってアクセスされた固有ファイルの数、第１のプロセス及び／もしくは第２のプロセスによってＤＡＰに従ってアクセスされたファイルの固有ファイル形式の数、ならびに／または他の情報を記録することを含み得る（例えば、第１のプロセス及び／または第２のプロセスによって記録されたデータ、第１のプロセスが横断したディレクトリの場所、信憑性測定基準、アクセスされたファイル識別情報、ディスクエントロピー情報）。
【００６３】
いくつかの例において、ＤＡＰと一致する動作の部分集合は、第１のプロセスによって実施され得る、及び／またはＤＡＰと一致する動作の部分集合は、第２のプロセスによって実施され得る。例えば、第１のプロセスは、ファイル場所を列挙するために、また第１のプロセスが見つけたそのファイルを暗号化すべく、第２のプロセスのインスタンスを呼び出すために、ディレクトリを横断し得る。いくつかの例において、第１のプロセスは、元のファイルを上書きするために第２のプロセスのインスタンスによって暗号化されたファイルの名前を変更し得る。プロセスはこのためさらに、第１のイベント情報及び／または第２のイベント情報の記録をコンパイルすることを含み得る。
【００６４】
３０８において、プロセス３００は、本明細書において論じられた任意の技術によって、ディレクトリを横断する第１のプロセス、ならびにファイルアクセスパターンからなる様式で１つ以上のファイルにアクセスする第１のプロセス及び／または第２のプロセスに少なくとも部分的に基づいて、第１のプロセスが悪意のあるものであることを検出することを含み得る。いくつかの例において、第１のイベント情報の受信及び第２の情報の受信から、第１のプロセスが悪意のあるものであることを十分に判定することができる。
【００６５】
いくつかの例において、判定は、第１のイベント情報を第２のイベント情報によって特定される第２のイベント情報の複数インスタンスと互いに関連付けることに基づき得る。例えば、３０８において、セキュリティエージェント１０２は、第１のプロセス及び／または第２のプロセスが、ＤＡＰに従って、複数ファイル形式のファイル、大きい数のファイル、ディレクトリ内の複数場所に位置するファイル、または高位ディスクの連続的な場所に位置するファイルにアクセスしていることを特定する第２のイベント情報を受信した後に、第１のプロセスが悪意のあるものであることを判定し得る。３０８の判定はさらに、この行動を呈し得る良性であるアプリケーションを特定する例外または包含リストに基づき得る。いくつかの例において、セキュリティエージェント１０２は、第２のプロセスがまた悪意のあるものであること、及び／またはそれに向かって阻止動作を遂行すること、を判定し得る。いくつかの例において、第２のプロセスは、本質的に悪性ではない、ファイル検出プロセス及び／または暗号化プロセスであり得る。いくつかの例において、セキュリティエージェント１０２は、第１のプロセスがディレクトリ横断者及び／または第２のプロセス（例えば、暗号化／変更プロセス）である場合、第１のプロセスを停止し得る。
【００６６】
いくつかの例において、プロセスはさらに、メモリの少なくとも一部分のエントロピーを判定すること、該エントロピーに少なくとも部分的に基づいて、第１のプロセスを特徴付けるマルウェアの一群（例えば、ワイパー、ランサムウェア）を判定することを含み得る。例えば、ワイパー及び／またはランサムウェアは、変更されたファイルと関連付けられた場所においてメモリのエントロピーを増大させ得る。この情報は、セキュリティサービスまたはセキュリティエージェントの他のインスタンスに拡散される情報に含められ得る。
【００６７】
図４は、プロセスがファイル変更マルウェアであることを判定するプロセス４００の例を例示する。
【００６８】
プロセス４００は、４０２において、本明細書において論じられる任意の技術によって、コンピューティングデバイスのプロセッサによって実行されたプロセスによってとられた動作を観察することを含み得る。
【００６９】
４０４において、プロセス４００は、本明細書において論じられる任意の技術によって、プロセッサにより実行されたプロセスによってとられた動作がコンピューティングデバイスのメモリのディレクトリを横断していることを含む場合に、第１のイベント（ディレクトリ横断イベント１０４ｂ）を生成することを含み得る。
【００７０】
４０６において、プロセッサ４００は、本明細書において論じられる任意の技術によって、プロセス及び／または関連プロセスによってとられた動作が、複数のＤＡＰのうちの少なくとも１つに従ってファイルにアクセスするプロセッサによって実行された場合に、第２のイベント（例えば、ファイルアクセスパターンイベント１０６ｂ）を生成することを含み得る。
【００７１】
４０８において、プロセス４００は、第１のイベント及び／または第２のイベントの生成に少なくとも部分的に基づいて、少なくとも第１のプロセッサがマルウェアであることを判定することを含み得る。
【００７２】
システム例
図５は、マルウェア及びセキュリティエージェントを含み得るプロセスを含んで構成されたコンピューティングデバイスのコンポーネントレベル図を例示する。例示されるように、コンピューティングデバイス５００は、悪意のあるプロセス５０６を含み得るプロセス５０４を格納するメモリ５０２、及びいくつかの例において、セキュリティエージェント１０２に対応し、いくつかの例において、それぞれ、イベント生成モジュール１３４及びイベント分析モジュール１３６に対応するイベント生成モジュール５１０及びイベント分析モジュール５１２を含み得るセキュリティエージェント５０８を備える。また、コンピューティングデバイス５００は、プロセッサ５１４、着脱式記憶装置５１６及び非着脱式記憶装置５１８、入力デバイス５２０、出力デバイス５２２、ならびに他のコンピューティングデバイス５２６と通信するための通信接続５２４を含み得る。
【００７３】
種々の実施形態において、メモリ５０２は、揮発性（ＲＡＭのような）、不揮発性（ＲＯＭ、フラッシュメモリ等のような）または２つのいくつかの組み合わせである。プロセス５０４は、関数、プロセス、またはスレッドのような任意の種類のプロセスであり得る。いくつかの例において、メモリ５０２、着脱式記憶装置５１６、及び／または不揮発性メモリ５１８は、ディレクトリ（例えば、階層的ディレクトリ、単層ディレクトリ）として構築されたファイルシステムを有する。
【００７４】
いくつかの実施形態において、プロセッサ５１４は、中央演算ユニット（ＣＰＵ）、グラフィカル演算ユニット（ＧＰＵ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、及び／または当分野において知られる他の演算ユニットもしくはコンポーネントであり得る。コンピューティングデバイス５００はまた、例えば、磁気ディスク、光ディスク、またはテープのような追加のデータ記憶装置（着脱式５１６及び／または非脱着式５１８）を含み得る。いくつかの例において、着脱式記憶装置５１６及び／または非着脱式記憶装置５１８は、メモリ５０２または「コンピュータ可読媒体」としてより広く説明され得る。非一時的コンピュータ可読媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータのような、情報の格納についての任意の方法または技術において実装された揮発性及び不揮発性、着脱式及び非着脱式媒体を含み得る。メモリ５０２、着脱式記憶装置５１６、及び非着脱式記憶装置５１８は、非一時的コンピュータ可読記憶媒体の全ての例である。非一時的コンピュータ可読記憶媒体は、限定されるものではないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリもしくは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）もしくは他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または所望の情報を格納するために使用されコンピューティングデバイス５００によってアクセスされ得る任意の他の非一時的媒体を含む。任意のこのような非一時的コンピュータ可読媒体は、コンピューティングデバイス５００の一部であり得る。このため、コンピュータ可読媒体は、本明細書において使用されるように、信号または他のこのような伝送媒体を含むように解釈されるべきではない。
【００７５】
コンピューティングデバイス５００はまた、例えば、キーボード、マウス、タッチ感応ディスプレイ、音声入力デバイス等のような入力デバイス５２０、及び／または、例えば、ディスプレイ、スピーカー、プリンタ、通信インターフェース等のような出力デバイス３２６を含み得る。これらのデバイスは、当分野において周知であり、本明細書で詳細に論じられる必要はない。
【００７６】
コンピューティングデバイス５００はまた、コンピューティングデバイス５００が遠隔セキュリティサービス１１８のデバイスのような他のコンピューティングデバイス５２６と通信することを許容する通信接続５２４を含み得る。
【００７７】
条項の例
Ａ．システムであって、システムは、プロセッサと、ディレクトリによってカタログ化され、そこに格納されたコンピュータ実行可能命令を有するメモリと、を備え、コンピュータ実行可能命令は、プロセッサによって実行されたときに、プロセッサによって実行されたプロセスが、ディレクトリの横断を実施していることを検出することと、プロセスが、定義されたファイルアクセスパターンに従って１つ以上のファイルにアクセスしていることを検出することと、プロセスがディレクトリの横断を実施していることを検出すること、及びプロセスが定義されたファイルアクセスパターンに従って１つ以上のファイルにアクセスしていることを検出することに、少なくとも部分的に基づいてプロセスに際し阻止動作を遂行することと、を含む処理を行うようにシステムを構成する、システム。
【００７８】
Ｂ．処理はさらに、プロセスが定義されたファイルアクセスパターンに従ってアクセスする、別個のファイルの数、別個のファイル形式の数、または別個のファイル形式の識別情報のうちの１つ以上を判定することと、定義されたファイルアクセスパターンに従ってプロセスによってアクセスされた、別個のファイルの数、別個のファイル形式の数、または別個のファイル形式の識別情報のうちの１つ以上を含むファイルアクセス記録をコンパイルすることと、を含む、段落Ａに記載のシステム。
【００７９】
Ｃ．処理はさらに、ファイルアクセス記録からファイルアクセス記録が悪意のあるプロセスと関連付けられたファイルアクセス活動と互いに関連付けられている可能性を判定することを含み、遂行することはさらに、ファイルアクセス記録または可能性のうちの１つ以上に少なくとも部分的に基づいている、段落ＡまたはＢのいずれかに記載のシステム。
【００８０】
Ｄ．阻止動作は、プロセスの実行を停止もしくは阻止すること、プロセスと関連付けられたプロセスの実行を停止もしくは阻止すること、プロセスと関連付けられた入力／出力処理を停止もしくは阻止すること、プロセスと関連付けられたネットワーク処理を停止もしくは阻止すること、プロセスと関連付けられた情報を記録すること、プロセスと関連付けられた情報を１つ以上のコンピューティングデバイスに伝達すること、またはプロセスが実行されたプロセッサと関連付けられたコンピューティングデバイスを再起動させること、のうちの１つ以上を含む、段落Ａ〜Ｃのいずれか１つに記載のシステム。
【００８１】
Ｅ．プロセッサは、利用者から入力を受信することなく阻止動作を遂行する、段落Ａ〜Ｄのいずれか１つに記載のシステム。
【００８２】
Ｆ．プロセスがディレクトリの横断を実施することが、第１のプロセスであり、プロセスが定義されたファイルアクセスパターンに従って１つ以上のファイルにアクセスすることが、第２のプロセスである、段落Ａ〜Ｅのいずれか１つに記載のシステム。
【００８３】
Ｇ．プロセスがディレクトリの横断を実施することが、第１のプロセスであり、プロセスが定義されたファイルアクセスパターンに従って１つ以上のファイルにアクセスすることが、第２のプロセスであり、処理はさらに、第１のプロセスが第２のプロセスを開始したこと、または第１のプロセスが第２のプロセスを開始した少なくとも１つの中間プロセスを開始したことを判定することと、第２のプロセスが定義されたファイルアクセスパターンに従って１つ以上のファイルにアクセスしていることを特定することに少なくとも部分的に基づいて、第１のプロセスの実行を停止または阻止することを含む阻止動作を遂行することと、を含む、段落Ａ〜Ｆのいずれか１つに記載のシステム。
【００８４】
Ｈ．処理はさらに、第１のプロセスまたは第２のプロセスのうちの１つ以上が定義されたファイルアクセスパターンに従ってアクセスする、別個のファイルの数、別個のファイル形式の数、または別個のファイル形式の識別情報のうちの１つ以上を判定することと、定義されたファイルアクセスパターンに従って第１のプロセスまたは第２のプロセスのうちの１つ以上によってアクセスされた、別個のファイルの数、別個のファイル形式の数、または別個のファイル形式の識別情報のうちの１つ以上を含むファイルアクセス記録をコンパイルすることと、ファイルアクセス記録において第１のプロセス及び第２のプロセスを関連付けることと、を含み、阻止動作を遂行することはさらに、ファイルアクセス記録に少なくとも部分的に基づいている、段落Ａ〜Ｇのいずれか１つに記載のシステム。
【００８５】
Ｉ．処理はさらに、第１のプロセスが１つ以上の追加のプロセスを開始したことを検出することと、ファイルアクセス記録において１つ以上の追加のプロセスを第１のプロセスと関連付けることと、任意の１つ以上の追加のプロセスが定義されたファイルアクセスパターンに従って１つ以上のファイルにアクセスするか否かを判定することと、定義されたファイルアクセスパターンに従って１つ以上のファイルにアクセスする１つ以上の追加のプロセスに関する情報をファイルアクセス記録に連結することと、を含み、阻止動作を遂行することはさらに、情報を含むファイルアクセス記録に少なくとも部分的に基づいている、段落Ａ〜Ｈのいずれか１つに記載のシステム。
【００８６】
Ｊ．ディレクトリを備えるファイルシステムによって編成されたメモリを含むコンピューティングデバイスにより実行されたプロセスによってとられた動作を監視することと、監視に応答して、第１のプロセスがディレクトリを横断していることを特定する第１のイベント情報を受信することと、監視に応答して、第１のプロセスまたは第１のプロセスに呼び出されている第２のプロセスが、ファイルアクセスパターンと矛盾しない様式で１つ以上のファイルにアクセスしていることを特定する第２のイベント情報を受信することと、第１のプロセスがディレクトリを横断していること、及び第１のプロセスまたは第２のプロセスが様式で１つ以上のファイルにアクセスしていることに、少なくとも部分的に基づいて、第１のプロセスがセキュリティのエクスプロイトであることを判定することと、少なくとも判定に基づいて第１のプロセスに対する阻止動作の遂行をさせることと、を含む、コンピュータ実行方法。
【００８７】
Ｋ．ファイルアクセスパターンは、悪意のあるプロセスによるファイルの少なくとも一部分を変更する試行に矛盾しない、ファイルに関する１つ以上の動作を含む、段落Ｊに記載のコンピュータ実行方法。
【００８８】
Ｌ．１つ以上の動作は、ファイルのデータの少なくとも一部分をワイプすること、またはファイルのデータの少なくとも一部分を暗号化することのうちの１つ以上を含む、段落ＪまたはＫのいずれかに記載のコンピュータ実行方法。
【００８９】
Ｍ．さらに、メモリの少なくとも一部分のエントロピーを判定することと、第１のプロセスが悪意のあるプロセスであることを判定することに応答して、エントロピーに少なくとも部分的に基づいて、ワイパーまたはランサムウェアの少なくとも１つを含む、第１のプロセスを特徴付けるセキュリティのエクスプロイトの一群を判定することと、１つ以上のコンピューティングデバイスに対し、第１のプロセスに対する阻止動作を遂行するように１つ以上のコンピューティングデバイスを構成する、第１のプロセスまたは第２のプロセスの特徴を含む情報を拡散することと、を含む、段落Ｊ〜Ｌのいずれか１つに記載のコンピュータ実行方法。
【００９０】
Ｎ．コンピューティングデバイスであって、コンピューティングデバイスは、プロセッサと、メモリと、メモリにアクセスするためのファイルシステム構成を特定するディレクトリと、少なくともプロセッサによるマルウェアの実行を検出するためにプロセッサによってコンピューティングデバイス上で実行されるように構成されたセキュリティエージェントと、を備え、セキュリティエージェントは、イベント生成モジュールであって、プロセッサにより実行されたプロセスによってとられた動作を観察し、プロセッサによって実行された第１のプロセスの動作がディレクトリを横断することを含む場合に第１のイベントを生成し、プロセッサによって実行された第１のプロセスの動作または第１のプロセスと関連付けられている第２のプロセスの動作が、複数の定義されたファイルアクセスパターンのうちの少なくとも１つに従ってファイルにアクセスすることを含む場合に第２のイベントを生成するように構成された、イベント生成モジュールと、少なくとも第１のイベント及び第２のイベントの生成から少なくとも第１のプロセスが悪意のあるものであることを判定するように構成されたイベント分析モジュールと、を備える、コンピューティングデバイス。
【００９１】
Ｏ．イベント生成モジュールはさらに、第１のプロセス、第２のプロセス、または第１のプロセスと関連付けられた追加のプロセスのうちの１つ以上と関連付けられた１つ以上の第１のイベント及び１つ以上の第２のイベントの記録をコンパイルするように構成されており、イベント分析モジュールは、記録から第１のプロセスが悪意のあるものであることを判定するように構成された、段落Ｎに記載のコンピューティングデバイス。
【００９２】
Ｐ．記録は、複数の定義されたファイルアクセスパターンのうちの少なくとも１つに従って、第１のプロセスもしくは第２のプロセスによってアクセスされた別個のファイルの数、複数の定義されたファイルアクセスパターンのうちの１つに従って、第１のプロセスもしくは第２のプロセスが１つ以上のファイルにアクセスする回数、イベント生成モジュールが、第１のプロセスもしくは第２のプロセスの動作に対応するとして検出する、複数の定義されたファイルアクセスパターンのうちの１つのものの数、複数の定義されたファイルアクセスパターンのうちの少なくとも１つに従って、第１のプロセスもしくは第２のプロセスによってアクセスされた別個のファイル形式の記録、第１のプロセスもしくは第２のプロセスによって記録されたデータ、あるいは第１のプロセスが進んだディレクトリにおける場所、またはレコードに含有された任意の情報のインスタンスから特定され、これに亘って集められた信憑性測定基準、のうちの１つ以上を含む、段落ＮまたはＯのいずれかに記載のコンピューティングデバイス。
【００９３】
Ｑ．イベント分析モジュールはさらに、第１のイベントまたは第２のイベントのうちの１つ以上を良性の活動またはメモリ上のデータの有用性を危険にさらすように設計された活動と互いに関連付けるために記録を使用するように構成された、段落Ｎ〜Ｐのいずれか１つに記載のコンピューティングデバイス。
【００９４】
Ｒ．セキュリティエージェントはさらに、エクスプロイト阻止モジュールであって、第１のプロセスまたは第２のプロセスのうちの１つ以上の実行を停止または阻止し、第１のプロセスまたは第２のプロセスのうちの１つ以上の、特徴または前の動作の１つ以上を含む阻止記録をコンパイルし、１つ以上の他のコンピューティングデバイスのセキュリティエージェントに阻止記録を送信するように構成された、段落Ｎ〜Ｑのいずれか１つに記載のコンピューティングデバイス。
【００９５】
Ｓ．イベント生成モジュールは、第１のプロセスが第１のプロセスの現在のディレクトリを反復的に変化させていることを観察すること、または第１のプロセスがディレクトリを開く処理を反復的に実施していることを観察すること、のうちの１つ以上によって第１のプロセスがディレクトリを横断していることを検出することにより、第１のプロセス用の第１のイベントを生成するように構成された、段落Ｎ〜Ｒのいずれか１つに記載のコンピューティングデバイス。
【００９６】
Ｔ．イベント生成モジュールは、第１のイベント生成に基づいて、第１のプロセスまたは第１のプロセスに呼び出されている第２のプロセスが、複数の定義されたファイルアクセスパターンのうちの１つによって定義されたデータファイルに関する動作を実施するか否かを判定するために、第１のプロセスまたは第２のプロセスのうちの１つ以上を監視することと、第１のプロセスまたは第２のプロセスが、ファイルアクセスパターンの少なくとも１つと一致するデータファイルに関する動作を実施していることを検出することと、第２のイベントを生成することと、によって第１のプロセスまたは第２のプロセス用の第２のイベントを生成するように構成された、段落Ｎ〜Ｓのいずれか１つに記載のコンピューティングデバイス。
【００９７】
Ｕ．段落Ｊ〜Ｍのいずれか１つのコンピュータ実行方法を実装しているシステム。
【００９８】
Ｖ．段落Ｊ〜Ｍのいずれか１つの処理を達成するように、自身に格納されたコンピュータ実行可能命令を有するコンピュータ可読媒体。
【００９９】
Ｗ．段落Ｊ〜Ｍのいずれか１つの処理を達成する手段。
【０１００】
結び
主題が、構造的特徴及び／または方法論的動作に特定の言語で説明されたが、添付の請求項において定義された主題は、必ずしも説明された特定の特徴または動作に限定されないことが理解されるべきである。むしろ、特定の特徴及び動作は、請求項を実装する形態例として開示される。
【０１０１】
本明細書において説明されたモジュールは、任意の形式のコンピュータ可読媒体に格納され得る、またソフトウェア及び／またはハードウェアに実装され得る、命令を表す。上に説明された方法及びプロセスの全ては、１つ以上のコンピュータもしくはプロセッサ、ハードウェア、またはそれらのいくつかの組み合わせによって実行される、ソフトウェアコードモジュール及び／またはコンピュータ実行可能命令において具体化され、それを介して完全に自動化され得る。方法のいくつかまたは全ては、代替的に専用コンピュータハードウェアにおいて具体化され得る。
【０１０２】
「できる（ｃａｎ）」、「できる（ｃｏｕｌｄ）」、「得る（ｍａｙ）」または「得る（ｍｉｇｈｔ）」などのような仮定的言語は、別途、特段の記述がない限り、一定の例が、一方で他の例では含まない、一定の特徴、要素及び／または処理を含むことを提示するように文脈内において理解される。したがって、このような仮定的言語は、概して、一定の特徴、要素及び／または処理が、１つ以上の例に対して何等かにおいて必要とされること、あるいは１つ以上の例が、利用者入力もしくはプロンプティングを有してまたは有しないで、一定の特徴、要素及び／もしくは処理が任意の特有の例に含まれる、またはそれにおいて実行されるか否かを決定するロジックを必ず含むこと、を意味するように意図されるものではない。
【０１０３】
「Ｘ、ＹまたはＺのうちの少なくとも１つ」の語句のような連言的言語は、別途、特段に記述されない限り、項目、用語等がＸ、Ｙ、もしくはＺのいずれかであり得るか、またはそれらの任意の組み合わせであり得ることを提示するように理解されるべきである。単数として明白に説明されない限り、「単数形（ａ）」は、単数及び複数を意味する。
【０１０４】
本明細書において説明された、及び／または添付図面において図示された、フロー図における任意のルーチン説明、要素またはブロックは、ルーチンにおいて特定の論理的関数または要素を実装する１つ以上のコンピュータ実行可能命令を含む、モジュール、セグメントまたはコードの部分を潜在的に表すものとして理解されるべきである。代替的実装は、本明細書において説明された例の範囲内に含まれ、要素もしくは機能が、当業者によって理解されるであろうように機能的関係に依存して、削除され得るか、または実質的に同時もしくは逆の順番を含む、示されもしくは論じられたものとは異なる順番で実行され得る。
【０１０５】
多くの変形例及び変更が上記の例になされ得ることが強調されるべきであり、その要素が、他の許容可能な例の中にあるものとして理解されるべきである。全てのこのような変更及び変形例は、本開示の範囲内において本明細書に含まれ、また特許請求の範囲の請求項によって保護されることが意図される。
【図１】
2018073423.tif 000003
【図２】
2018073423.tif 000004
【図３】
2018073423.tif 000005
【図４】
2018073423.tif 000006
【図５】
2018073423.tif 000007
【外国語明細書】
2018073423000001.pdf