(57)【要約】      （修正有）【課題】悪意あるプログラムの挙動検出の質を上げるとともに誤検出数を低減するシステム及び方法を提供する。【解決手段】ティーチングモジュールは、パターンをアクティビティ監視部にロードして、そのパターンに対する第１使用モードを設定する２０１。その後、ティーチング期間中、アクティビティ監視部は、上記パターンからのイベントの検出に基づいて脅威を検出する２０４。イベントがユーザ行動の結果として発生したものであり２０５、またイベントが反復的性質を持つ場合２０６、ティーチングモジュールは、それらのイベントまたは類似するイベントを以後の検出から除外するパラメータをパターンに追加する２０７。ティーチング期間が終了すると、ティーチングモジュールは、プログラムの危険な挙動のパターンを第２使用モードに切り替える２０８。第２使用モードでは、修正されたパターン用いて脅威が検出され、取り除かれる。【選択図】図２
2019220132.tif 000002
【特許請求の範囲】
【請求項１】
コンピューティングシステム上の悪意あるプログラムを検出するための、コンピュータ上で実現される方法であって、
悪意あるプログラムと関連するアクティビティとマッチする、サイレント使用モードで構成されたパターンである、悪意あるプログラムのパターンをロードすることと、
前記悪意あるプログラムのパターンに対応する一つ以上のイベントの検出に基づいて脅威を検出するが、前記検出された脅威を取り除く処置は実行しないことを含む、前記サイレント使用モードにおける前記悪意あるプログラムのパターンの使用を第１期間中に行うことによって、コンピューティングシステム上の前記脅威を検出することと、
前記イベントはユーザの行動の結果として発生し、また前記イベントは反復的性質を持つとの判定に対応して、前記検出されたイベントを以後の検出から除外する一つ以上のパラメータを前記悪意あるプログラムのパターンに追加することと、
前記第１期間の終了に対応して、前記悪意あるプログラムのパターンをアクティブ使用モードに切り替えることと、
を含むことを特徴とする、方法。
【請求項２】
前記アクティブ使用モードにおける前記悪意あるプログラムのパターンの使用は、前記コンピューティングシステム上の、前記悪意あるプログラムのパターンに対応する以後の脅威を検出すること、およびそれを取り除くための処置を実行することを含むことを特徴とする、請求項１に記載の方法。
【請求項３】
前記イベントは反復的性質を持つと判定することは、前記イベントが、所与の第２期間以内にしきい値回数を超えて検出されたかどうかを判定することを含むことを特徴とする、請求項１に記載の方法。
【請求項４】
前記イベントはユーザ行動の結果として発生したと判定することは、前記コンピューティングシステム上における、前記ユーザの前記コンピューティングシステムのグラフィカルユーザインターフェースの要素との相互作用、および前記ユーザの前記コンピューティングシステムの入力装置との相互作用のうち、少なくとも一方を含む前記ユーザのアクティビティを検出することを含むことを特徴とする、請求項１に記載の方法。
【請求項５】
前記コンピューティングシステム内で発生するイベントを監視すること、および
前記監視されたイベントおよび関連するイベントパラメータのリストを含むイベントログを生成することをさらに含み、前記イベントが反復的性質を持つかどうかの判定は、前記イベントログの解析に基づいて行われることを特徴とする、請求項１に記載の方法。
【請求項６】
前記イベントはユーザ行動の結果として発生し、また前記イベントは反復的性質を持つとの前記判定に基づいて、前記検出された脅威は誤検出として特徴付けられることを特徴とする、請求項１に記載の方法。
【請求項７】
コンピューティングシステム上の悪意あるプログラムを検出するためのシステムであって、
ユーザ行動を入力する入力装置と、
ハードウェアプロセッサと、
を備え、
前記ハードウェアプロセッサは、
悪意あるプログラムと関連するアクティビティとマッチする、サイレント使用モードで構成されたパターンである、悪意あるプログラムのパターンをロードし、
前記悪意あるプログラムのパターンに対応する一つ以上のイベントの検出に基づいて脅威を検出するが、前記検出された脅威を取り除く処置は実行しないことを含む、前記サイレント使用モードにおける前記悪意あるプログラムのパターンの使用を第１期間中に行うことによって、コンピューティングシステム上の前記脅威を検出し、
前記イベントはユーザ行動の結果として発生し、また前記イベントは反復的性質を持つとの判定に対応して、前記検出されたイベントを以後の検出から除外する一つ以上のパラメータを前記悪意あるプログラムのパターンに追加し、
前記第１期間の終了に対応して、前記悪意あるプログラムのパターンをアクティブ使用モードに切り替える
ことを特徴とする、システム。
【請求項８】
前記アクティブ使用モードにおいて前記悪意あるプログラムのパターンを使用する前記ハードウェアプロセッサは、さらに、前記コンピューティングシステム上の、前記悪意あるプログラムのパターンに対応する以後の脅威を検出して、それを取り除くための処置を実行することを特徴とする、請求項７に記載のシステム。
【請求項９】
前記イベントは反復的性質を持つと判定する前記ハードウェアプロセッサは、さらに、前記イベントが、所与の第２期間以内にしきい値回数を超えて検出されたかどうかを判定することを特徴とする、請求項７に記載のシステム。
【請求項１０】
前記イベントはユーザの行動の結果として発生したと判定する前記ハードウェアプロセッサは、さらに、前記コンピューティングシステム上における、前記ユーザの前記コンピューティングシステムのグラフィカルユーザインターフェースの要素との相互作用、および前記ユーザの前記コンピューティングシステムの前記入力装置との相互作用のうち、少なくとも一方を含む前記ユーザのアクティビティを検出することを特徴とする、請求項７に記載のシステム。
【請求項１１】
前記ハードウェアプロセッサは、さらに、
前記コンピューティングシステム内で発生するイベントを監視し、
前記監視されたイベントおよび関連するイベントパラメータのリストを含むイベントログを生成し、前記イベントが反復的性質を持つかどうかの判定は、前記イベントログの解析に基づいて行われることを特徴とする、請求項７に記載のシステム。
【請求項１２】
前記イベントはユーザ行動の結果として発生し、また前記イベントは反復的性質を持つとの前記判定に基づいて、前記検出された脅威は誤検出として特徴付けられることを特徴とする、請求項７に記載のシステム。
【請求項１３】
コンピューティングシステム上の悪意あるプログラムを検出するためのコンピュータ実行可能な命令を含む非一時的なコンピュータ読み取り可能な媒体であって、
悪意あるプログラムと関連するアクティビティとマッチする、サイレント使用モードで構成されたパターンである、悪意あるプログラムのパターンをロードし、
前記悪意あるプログラムのパターンに対応する一つ以上のイベントの検出に基づいて脅威を検出するが、前記検出された脅威を取り除く処置は実行しないことを含む、前記サイレント使用モードにおける前記悪意あるプログラムのパターンの使用を第１期間中に行うことによって、コンピューティングシステム上の前記脅威を検出し、
前記イベントはユーザの行動の結果として発生し、また前記イベントは反復的性質を持つとの判定に対応して、前記検出されたイベントを以後の検出から除外する一つ以上のパラメータを前記悪意あるプログラムのパターンに追加し、
前記第１期間の終了に対応して、前記悪意あるプログラムのパターンをアクティブ使用モードに切り替える
ための命令を含むことを特徴とする、非一時的なコンピュータ読み取り可能な媒体。
【請求項１４】
前記アクティブ使用モードにおいて前記悪意あるプログラムのパターンを使用するための命令は、前記コンピューティングシステム上の、前記悪意あるプログラムのパターンに対応する以後の脅威を検出して、それを取り除くための処置を実行するための命令を含むことを特徴とする、請求項１３に記載の非一時的なコンピュータ読み取り可能な媒体。
【請求項１５】
前記イベントは反復的性質を持つと判定するための命令は、前記イベントが、所与の第２期間以内にしきい値回数を超えて検出されたかどうかを判定するための命令を含むことを特徴とする、請求項１３に記載の非一時的なコンピュータ読み取り可能な媒体。
【請求項１６】
前記イベントはユーザ行動の結果として発生したと判定するための命令は、前記コンピューティングシステム上における、前記ユーザの前記コンピューティングシステムのグラフィカルユーザインターフェースの要素との相互作用、および前記ユーザの前記コンピューティングシステムの入力装置との相互作用のうち、少なくとも一方を含む前記ユーザのアクティビティを検出するための命令を含むことを特徴とする、請求項１３に記載の非一時的なコンピュータ読み取り可能な媒体。
【請求項１７】
前記コンピューティングシステム内で発生するイベントを監視し、
前記監視されたイベントおよび関連するイベントパラメータのリストを含むイベントログを生成するための命令をさらに含み、
前記イベントが反復的性質を持つかどうかの判定は、前記イベントログの解析に基づいて行われることを特徴とする、請求項１３に記載の非一時的なコンピュータ読み取り可能な媒体。
【請求項１８】
前記イベントはユーザ行動の結果として発生し、また前記イベントは反復的性質を持つとの前記判定に基づいて、前記検出された脅威は誤検出として特徴付けられることを特徴とする、請求項１３に記載の非一時的なコンピュータ読み取り可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、コンピュータシステムを悪意あるプログラムから保護するヒューリスティックな方法に関し、より具体的には、高いレベルの誤検出を伴うプログラムの危険な挙動のパターンを利用する方法に関する。
【背景技術】
【０００２】
コンピュータシステムのアンチウィルス保護のための最新の解決策においては、数層の保護を設けるべきである。アンチウィルスアプリケーションは、標準的なシグネチャ検証、すなわち、アンチウィルスデータベースを用いた、未知の危険なプログラムの検索に加えて、挙動検出能力、すなわち、プログラムの挙動から脅威を認識する能力も有するべきである。そのような手法によって、新しい未知の脅威の効果的な検出が可能になる。
【０００３】
アクティビティ監視は、最近のアンチウィルス製品の一環であり、コンピュータシステムの事前保護を提供する。アクティビティ監視は、すべてのプログラムプロセスを監視して、それらの挙動を、悪意あるプログラムの特性モデルと比較する。検出された疑わしいプログラムは、例えば、自動的に隔離されてもよい。悪意あるプログラムのあるシステムを修復する際、監視によって収集された情報に基づいて、悪意あるプログラムによってオペレーティングシステム内で行われた行動をロールバックしてもよい。さらに、アクティビティ監視は、ファイルへのアクセスを常時制御して、ファイルへのアクセスが要求されると、アクティビティ監視は、そのファイルの一時的バックアップコピーを保存する。したがって、いかなるファイルに対する暗号化の試みがアンチウィルス製品によって検出された場合であっても、一時的バックアップコピーの存在によって、データは元の形態に復帰することができるであろう。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
そのような脅威検出のための安全システムは、プログラムの危険な挙動のパターンを利用する。パターンは、ウィルス対策会社の専門家によって、手作業で開発されることが多く、アンチウィルス製品によって危険であるとして分類される一連のプログラム行動を含んでいる。プログラムの危険な挙動のパターンのうち、開発中のものとして、あるカテゴリのパターンは、悪意ある挙動の効果的な検出を、一連のスクリプトの中で可能にするが、それらのパターンを使用したとき、特定の環境において、誤検出（False  Detection：ＦＤ）が発生するリスクがかなりある。しかし、高いレベルの誤検出にもかかわらず、そのようなパターンを使用することによって、アンチウィルス製品による、悪意あるプログラムの挙動検出の質を大幅に上げることができる。
【課題を解決するための手段】
【０００５】
本開示の各態様は、プログラムの危険な挙動のパターンをユーザのコンピュータシステムに適応させて、コンピュータシステムのグループ上のプログラムの危険な挙動のパターンを選択的に使用するように設計される。本開示の各態様の技術的成果には、プログラムの危険な挙動のパターンをユーザのコンピュータシステム上で用いる際の、脅威の誤検出数の低減が含まれる。
【０００６】
本開示の一つの態様によれば、コンピューティングシステム上の悪意あるプログラムを検出するための、コンピュータ上で実現される方法が提供される。方法は、悪意あるプログラムと関連するアクティビティとマッチするように構成された、悪意あるプログラムのパターンをロードすることを含む。悪意あるプログラムのパターンはサイレント使用モードで構成される。方法は、悪意あるプログラムのパターンに対応する一つ以上のイベントの検出に基づいて脅威を検出するが、検出された脅威を取り除く処置は実行しないことを含む、サイレント使用モードにおける悪意あるプログラムのパターンの使用を第１期間中に行うことによって、コンピューティングシステム上の脅威を検出することをさらに含む。方法は、イベントはユーザ行動の結果として発生し、またイベントは反復的性質を持つとの判定に対応して、検出されたイベントを以後の検出から除外するように構成された一つ以上のパラメータを悪意あるプログラムのパターンに追加すること、および第１期間の終了に対応して、悪意あるプログラムのパターンをアクティブ使用モードに切り替えることを含む。
【０００７】
他の態様においては、アクティブ使用モードにおける悪意あるプログラムのパターンの使用は、コンピュータシステム上の、悪意あるプログラムのパターンに対応する以後の脅威を検出すること、およびそれを取り除くための処置を実行することを含む。
【０００８】
他の態様においては、イベントは反復的性質を持つと判定することは、イベントが、所与の第２期間以内にしきい値回数を超えて検出されたかどうかを判定することを含む。
【０００９】
他の態様においては、イベントはユーザ行動の結果として発生したと判定することは、コンピューティングシステム上における、ユーザのコンピューティングシステムのグラフィカルユーザインターフェースの要素との相互作用、およびユーザのコンピューティングシステムの入力装置との相互作用のうち、少なくとも一方を含むユーザのアクティビティを検出することを含む。
【００１０】
他の態様においては、方法は、コンピュータシステム内で発生するイベントを監視すること、および監視されたイベントおよび関連するイベントパラメータのリストを含むイベントログを生成することをさらに含み、イベントが反復的性質を持つかどうかの判定は、イベントログの解析に基づいて行われる。
【００１１】
他の態様においては、イベントはユーザ行動の結果として発生し、またイベントは反復的性質を持つとの判定に基づいて、検出された脅威は誤検出として特徴付けられる。
【００１２】
他の態様によれば、コンピューティングシステム上の悪意あるプログラムを検出するためのシステムが提供される。システムは、ユーザ行動を入力するように構成された入力装置、およびハードウェアプロセッサを含む。プロセッサは、悪意あるプログラムと関連するアクティビティとマッチするように構成された、サイレント使用モードで構成されたパターンである、悪意あるプログラムのパターンをロードし、悪意あるプログラムのパターンを第１期間中に使用することによって、コンピューティングシステム上の脅威を検出するように構成される。悪意あるプログラムのパターンをサイレント使用モードで使用することは、悪意あるプログラムのパターンに対応する一つ以上のイベントの検出に基づいて脅威を検出するが、検出された脅威を取り除く処置は実行しないことを含む。プロセッサは、イベントはユーザ行動の結果として発生し、またイベントは反復的性質を持つとの判定に対応して、検出されたイベントを以後の検出から除外するように構成された一つ以上のパラメータを悪意あるプログラムのパターンに追加し、第１期間の終了に対応して、悪意あるプログラムのパターンをアクティブ使用モードに切り替えるようにさらに構成される。
【００１３】
態様の他の例によれば、本明細書に開示する方法のうち任意のいずれかを実行するための、コンピュータ実行可能な命令を含む命令を格納するコンピュータ読み取り可能な媒体が提供される。
【００１４】
上記の、態様例の簡単な概要は、本開示の基本的な理解を提供するものである。この概要は、すべての熟考された態様の広範な概説ではなく、すべての態様の鍵となる要素や重要な要素を特定したり、本開示の任意またはすべての態様の範囲を規定したりすることを意図するものではない。その唯一の目的は、一つ以上の態様を、後述する本開示のより詳細な説明への前置きとして、簡易な形で提示することである。上述のことを達成するために、本開示の一つ以上の態様は、特許請求の範囲で説明され、かつ例示的に示される特徴を含んでいる。
【図面の簡単な説明】
【００１５】
本明細書に組み込まれ、その一部を構成する添付図面は、本開示の一つ以上の態様例を図示し、それらの原理および実施例を説明するために、詳細説明と共に供される。
【００１６】
【図１Ａ】図１Ａは、態様例に係る、プログラムの危険な挙動のパターンをユーザのコンピュータシステムに適応させるシステムを示すブロック図である。
【図１Ｂ】図１Ｂは、ユーザのコンピュータシステムをより詳細に示すブロック図である。
【図２】図２は、態様例に係る、プログラムの危険な挙動のパターンをユーザのコンピュータシステムに適応させるための方法を示すフローチャートである。
【図３】図３は、態様例に係る、コンピュータシステムのグループ上のプログラムの危険な挙動のパターンを適応させるシステムを示すブロック図である。
【図４】図４は、態様例に係る、コンピュータシステムのグループ上のプログラムの危険な挙動のパターンを選択的に使用する方法を示すフローチャートである。
【図５】図５は、態様例に係る、開示されたシステムおよび方法を実現可能なコンピュータシステムのブロック図である。
【発明を実施するための形態】
【００１７】
本発明の目的と特徴、および、これら目的と特徴を達成する方法が、種々の実施形態例の紹介によって明らかにされるであろう。しかし、本発明は、以下に開示する種々の実施形態例に限られず、様々な形態で具現化されうる。説明において提示される要点は、当該技術分野の専門家による発明の総合的理解を助けるために必要な具体的詳細に過ぎず、本発明は、添付の特許請求の範囲に定義される。
【００１８】
アクティビティ監視モジュールは、ユーザのコンピュータシステム上で実行される大半のアンチウィルスアプリケーションの一部である。この構成要素は、起動されたプログラム（プロセス）のアクティビティを監視して、その行動の実時間解析を可能にする。例えば、システムレジスタが変えられるか、ブートセクタまたはファイルが変更された場合、発生したイベントに関する情報が特殊なデータベースに書き込まれる。このデータは、後ほど、コンピュータシステムを元の状態に復帰させるために用いられうる。加えて、アクティビティ監視モジュールは、プログラムの危険な挙動のパターンのセット、すなわち、未知の悪意あるソフトウェアを識別するために用いうる挙動のモデルを含む。さらに、アクティビティ監視モジュールは、アンチウィルスソフトウェアの他の構成要素と情報を交換し、一連のイベントの記憶を呼び起こすことによって、挙動の全体像を形成して、各個別プログラムとプログラムのグループの痕跡を登録し、さらに、現在のセッションだけでなく、プログラムの全ライフサイクルにわたって、プログラムの行動を監視する。これによって、悪意あるプログラムの検出精度が高められる。
【００１９】
プログラムの危険な挙動のパターン（すなわち、挙動ストリームシグネチャ（Behavior  Stream  Signature：ＢＳＳ））は、イベントのグループを含んでおり、それがコンピュータシステムのコンテキストの中で発生すると、そのパターンに対応する脅威が検出されることになる。パターンが充足されるためには、アクティビティ監視モジュールが脅威を検出する必要がある。以下、本文において、簡単にするために、プログラムの危険な挙動のパターンを「パターン」と呼ぶこととする。パターン内に列挙されたイベントは、例えば、ファイル、ランダムアクセスメモリ（Random  Access  Memory：ＲＡＭ）にロードされたデータ、または他のプロセスのような、オペレーティングシステム内の任意の所与のオブジェクトに対して、プロセスが相互作用する手段としてのシステムコールに関連してもよい。イベントは、ネットワークトラフィック、具体的には、特定の一連のデータのトラフィックにおける識別、またはその現在の特性の決定に関連してもよい。また、イベントは、ＲＡＭにロードされたコードの解析に関連してもよい。アクティビティ監視モジュールは、ＲＡＭの任意の所与の領域からデータを読み込んで、それに関する解析をすることができる。
【００２０】
パターン内に列挙されたイベントを、所与のイベントが適合すべきパラメータ（イベントパラメータ）を示すことによって明確化してもよい。それらのパラメータは、例えば、プロセスの識別子、メモリ内のアドレスおよびアドレス範囲、ファイル、その識別子およびディレクトリであってもよい。イベントに加えて、パターンも、例えば、条件および論理演算子を使用してもよく、それらによって、パターン内のイベントの発生の時間枠と順序を決定してもよい。さらに、アクティビティ監視モジュールは、ローカルおよびリモートの両方のアンチウィルスソフトウェアの他の構成要素と情報を交換してもよいため、他のセキュリティシステムへの検査要求、およびそれからの判定を含んでもよい。例えば、コンピュータシステム上で行動を実行中のプロセスが既知で信頼できるものかどうかを判定するために、パターンは、信頼できるプログラムをリストアップする要求を含んでもよい。
【００２１】
アクティビティ監視モジュールがパターンの全イベントを識別すると、そのパターンに対応する脅威の検出が発生する。言い換えれば、そのパターン内に列挙された全イベントが、コンピュータシステム内で発生し、それらのイベントが発生したことが、アクティビティ監視モジュールによって登録されている。パターン内に列挙されたイベントのセットは、特定の攻撃ベクトルを特徴付けており、それによって、サイバー攻撃や標的型サイバー攻撃の実行に使われた、コンピュータシステム内の悪意あるオブジェクトを見つけることができる。アクティビティ監視モジュールは、従来技術における任意の公知の方法で、コンピュータシステム内のイベントを監視する。例えば、ウィンドウズ（登録商標）ファミリーのオペレーティングシステムに関する特定の実施例において、対応するドライバフィルタをインストールすることによって、イベントを監視してもよい。
【００２２】
本開示の文脈において、パターンに対応する脅威は、悪意あるプログラムである。パターンを用いて発見された悪意あるプログラムは、所与の悪意あるプログラムに関連する実行可能ファイルなどのファイル、およびプロセスのうち、少なくとも一方、すなわち、コンピュータシステムのＲＡＭにロードされた能動的に実行可能な悪意あるプログラムによって識別される。例えば、金をゆすり取るために、コンピュータシステム上のユーザにとって重要なデータを暗号化する様々な悪意あるプログラムであるランサムウェアなどの脅威を識別するための、素朴な、すなわち基本的なパターンは、元の形態で、「ファイルに変更を加える」イベントを含み、所与のプロセスによって開始された所与のファイルの変更によってトリガされる。そのようなパターンは、あまりにも大まかに形成されており、「ファイルに変更を加える」イベントはそれ自体が悪意あるものではないので、特定のコンピュータシステムに適応させなければ使用することはできない。結果として、このパターンを使用すると、大量の、偽陽性とも称される誤検出につながり、プログラムが間違って（実際にはそうでなくても）悪意あるものと特徴付けられる結果となる。本例は、当然、実例として提示したものに過ぎず、実際のパターンはそのように大まかに記述されておらず、多数のパラメータ、条件、および例外を含み、誤検出の数の大幅な低減を可能にするものである。
【００２３】
誤検出された脅威は、そのような（悪意ある）性質ではないにもかかわらず、対応するパターンによって悪意あるものと識別された信頼できるプログラムである。パターンを用いて検出された脅威が誤検出されたものかどうかは、追加的検証によって判定される。その一つが、アクティビティ監視モジュール、およびユーザ行動を監視するサブシステムを用いて実施される。この検証方法は後述するものとする。検出された脅威が誤検出されたものかを判定するもう一つの方法として、識別された脅威に対応するプログラムを、信頼できるプログラムのデータベースを用いて検証する方法がある。
【００２４】
上述のように、伝統的に、パターンは、ウィルス対策会社の専門家によって、手作業で開発される。パターンが作成されると、直ちにテストしてその効力、すなわち有効性を判定する必要があり、そのために、パターンはユーザの全コンピュータシステムにロードされ、サイレントモードで起動される。サイレント使用モード（すなわち、第１使用モード）は、あるパターンを用いるモードであり、そのモードでは、アクティビティ監視モジュールが、コンピュータシステム上のそのパターンに対応する脅威を検出するが、それを除去する処置は実行しない。それに応じて、アクティブ使用またはパターンアプリケーションモード（第２使用モード）は、パターンを用いるモードであり、そのモード中では、アクティビティ監視モジュールが、コンピュータシステム上のそのパターンに対応する脅威を検出して、それを除去する処置を実行する。パターンは、ユーザのコンピュータシステム上で、ある期間、サイレントモードで動作し、その間、そのパターンを用いてコンピュータシステム上で検出された脅威の統計がリモートサーバ上で収集される。統計は、少なくとも以下のデータを含む。脅威識別子、パターン識別子、および検出された脅威に関連するファイルおよびプロセスの名前とハッシュサム。これらの統計は、その後、ウィルス対策会社の専門家によって、解析され、そのパターンの使用の有効性を高めるような、すなわち、誤検出数の低減を可能にするような変更がパターンに加えられる。収集された統計の解析の過程で、パターンを用いて検出された脅威のすべてが、誤検出された脅威かどうかを調べるために、チェックされる。このチェックは、検出された脅威に関連するファイルおよびプロセスを、信頼できるファイルおよびプログラムのリストを用いてチェックすることによって実行することができる。更新されたパターンは、再び、ユーザのコンピュータシステム上にロードされ、再度、サイレントモードで起動される。パターンに対応する脅威の誤検出数がゼロに等しくなるか、収集された使用統計における所与の値を超えないようになるまで、このパターンの手動更新のサイクルが繰り返される。この後、これらのパターンはアプリケーションモードに切り替えられる。しかし、例えば、ユーザデータを暗号化する悪意あるプログラムを識別するためのパターンの場合のような、特定のパターンに対しては、脅威の誤検出のレベルをゼロに低減することはできないかもしれない。そのようなパターンに対しては、誤検出のレベルは、あるレベル（例えば、＜３％）までしか低減できない。この誤検出レベルでは、本開示の態様を利用して、そのようなパターンをそれぞれの特定のコンピュータシステム上の使用に適応させることはできても、不定数のコンピュータシステム上でパターンを用いることは依然として不可能である。
【００２５】
本出願の文脈において、誤検出のレベルがゼロに等しくないパターンを用いるための方法が実行される。この方法では、コンピュータシステムのためのプログラムの危険な挙動のパターンのパラメータが変更され、それによって、そのパターンがユーザのコンピュータシステム上で、ある期間（ティーチング期間）、サイレントモードで使用される。ティーチング期間中、パラメータが、ティーチングモジュールを用いて、パターンに追加され、そのパラメータによって、次回の検出から、以下の条件を両方とも満たすイベントを除外することができる。イベントはユーザ行動の結果として発生したという条件、および、イベントは本質的に規則的である、すなわち、アクティビティ監視モジュールを使って所定回数を超えて登録されたという条件。この後、パターンはアプリケーションモードに切り替えられる。
【００２６】
特定のイベントがユーザ行動と関連するかをどうか判定するために、アクティビティ監視モジュールは、オペレーティングシステムのグラフィカルユーザインターフェースを使って入力インターフェースを利用したユーザの相互作用を監視する、ユーザ行動監視用サブシステムを含んでいる。オペレーティングシステムのインターフェースとは、ユーザがコンピュータのオペレーティングシステムまたはプログラムと相互作用をする手段および方法のことである。本開示の文脈において、グラフィカルユーザインターフェース（コンピュータとの相互作用が、絵文字、メニュー、ダイアログウィンドウなどを用いて組織付けられる）と入力インターフェース（ユーザのコンピュータとの相互作用の手段）とを区別してもよい。入力インターフェースは、例えば、キーボード、マウス、あるいは感覚制御要素などのデータ入力手段、およびデータの写真、映像、および音声キャプチャ手段、およびその他の手段であってもよい。ユーザ行動監視用サブシステムは、オペレーティングシステムのグラフィカルユーザインターフェースを使ったユーザの相互作用の過程で、入力インターフェースから来るコマンドを登録し、コンピュータシステムのコンテキストのどのイベントがユーザ行動の結果として発生したのかを判定する。
【００２７】
すなわち、本開示の態様では、プログラム的または自動的な挙動に起因する、悪意あるアクティビティであることを示唆しうる特定のイベントとは対照的に、ユーザ行動の結果として発生した特定のイベントは、正当な挙動であることを示唆するものとして特徴付けられる。例えば、アクティビティ監視モジュールは、ファイルの削除または修正に関連するイベントを検出して、そのイベントは、ユーザの、カーソルをファイルアイコンに誘導するマウス入力、ファイルアイコンを選択するマウス入力（例えば、＜マウスクリック＞）、およびユーザの削除を示すキーボード入力（例えば、＜ＤＥＬＥＴＥ＞キー）を含むユーザインターフェースとの相互作用の結果であると判定してもよい。この種のアクティビティは、悪意あるプログラムのパターンにマッチする可能性があるにもかかわらず、正当な挙動としてもよい。一方、そのようなユーザ行動がなければ、この種のアクティビティは（パターンにマッチする場合）、例えば、ファイルを削除または暗号化する、悪意あるプログラムの結果かもしれない。
【００２８】
図１Ａおよび図１Ｂは、プログラムの危険な挙動のパターンをユーザのコンピュータシステムに適応させるシステムを示す。提案されたシステムのコンテキストにおいて、アンチウィルスアプリケーション１００は、ユーザのコンピュータシステム｛ＣＳ１、ＣＳ２，…、ＣＳＮ｝の一部において起動されている。アンチウィルスアプリケーション１００は、アクティビティ監視モジュール１０１、およびティーチングモジュール１０２を含む。アンチウィルスアプリケーション１００は、さらに、他のモジュール｛モジュール１、モジュール２、…、モジュールＮ｝を含み、他のモジュールには、特に、パターンとの連携の過程で、アクティビティ監視モジュール１０１が相互作用することができ、ティーチングモジュール１０２も相互作用することができる。さらに、アンチウィルスアプリケーション１００は、「ファジーパターン」１０３のデータベースのようなウィルス対策会社のインフラストラクチャの要素、および複数のサービス１０４に通信可能に接続されている。「ファジーパターン」１０３のデータベースは、誤検出のレベルがウィルス対策会社の専門家によって特定レベルまで下げられたが、ゼロと等しくはない上記パターンと同じものを含む。サービス１０４は、アンチウィルスアプリケーション１００によって遠隔使用される、すなわち、ウィルス対策会社のリモートサーバ上に存在する、ウィルス対策会社のインフラストラクチャの任意の要素であってもよい。
【００２９】
アクティビティ監視モジュール１０１は、プログラムの危険な挙動のパターンに対応する、ユーザのコンピュータシステム上の脅威を検出するように構成されている。アクティビティ監視モジュール１０１は、さらに、コンピュータシステム内で発生するイベントを監視し、そのようなイベントに関する統計データをまとめる。アクティビティ監視モジュール１０１は、イベントのリストとイベントのパラメータ（イベントパラメータについては、後に詳述する）を含むイベントログ１１１を生成してもよい。アクティビティ監視モジュール１０１は、ユーザ行動監視用サブシステムを含み、パターンに関連するイベントがコンピュータシステムのユーザによる行動の結果として発生したものかどうかを判定することを可能にし、ユーザの相互作用がグラフィカルユーザインターフェースの要素を用いて生じたものか、およびユーザがデータ入力手段を使用したのかのうち、少なくとも一方を確証する。アクティビティ監視モジュール１０１を使った上記事実の判定、および評価された行動の反復的性質から、それらのイベントが、脅威の誤検出をもたらしたもので、特定のパターンのコンテキストの中でのさらなる検出から除外すべきであるということを高確率で確証することができる。上記の、イベントの反復的性質は、ユーザ行動の結果として発生したイベントの反復的性質と一致する。このように、本開示の一変形態様における上記反復的性質を、アクティビティ監視モジュール１０１によって生成されるイベントログから確証することができる。
【００３０】
本開示の他の変形態様においては、アクティビティ監視モジュール１０１は、脅威検出統計（あるいは、単に、統計１１２）を収集するように構成されてもよい。統計１１２は少なくとも以下のデータを含みうる。脅威識別子、パターン識別子、および検出された脅威に関連するファイルおよびプロセスの名前とハッシュサム。さらに、統計１１２は、パターンを用いて脅威の検出をもたらした、コンピュータシステム上で発生したイベントおよびそのパラメータのリストを含む。パターン内のイベントは、ワイルドカードおよびその正規表現を用いて大雑把に記述してもよいが、統計は、コンピュータシステム上で発生したイベントに関する詳細を含む。例えば、プロセス"program.exe"は、以下の特性｛Ａ１、Ａ２、…、Ａｍ｝を持つファイル"c:\windows（登録商標）\file"への書き込みを実行した。特性には、例えば、環境変数、アクセス権、他のセキュリティシステムから、｛モジュール１、…、モジュールＮ｝のローカルセットから、またはリモートサービス１０４からの判定、およびその他の特性の値が含まれる。プロセス名、ファイル名、システムコールとその引数、および特性｛Ａ１、Ａ２、…、Ａｍ｝はすべてイベントパラメータである。
【００３１】
ティーチングモジュール１０２は、プログラムの危険な挙動のパターン１１０を、第１使用モード（サイレント使用モード１１０Ａ）で実行するように構成されてもよい。第１使用モードでは、アクティビティ監視モジュール１０１は、上記パターンに対応するコンピュータシステム上の脅威を検出するが、それを取り除くための処置は実行しない（すなわち、検出された脅威を取り除くための処置を控える）。プログラムの危険な挙動のパターンを実行するために、ティーチングモジュール１０２は、プログラムの危険な挙動のパターンをアクティビティ監視モジュール１０１にロードして、そのパターンに対する上記使用モードを設定してもよい。さらに、ティーチングモジュール１０２は、プログラムの危険な挙動のパターンを第２使用モード（アクティブ使用モード１１０Ｂ）に切り替えてもよい。第２使用モードでは、アクティビティ監視モジュール１０１は、上記パターンに対応するコンピュータシステム上の脅威を検出して、それを取り除くための処置を実行する。さらに、ティーチングモジュール１０２は、アクティビティ監視モジュール１０１を使用して設定された上記の条件、すなわち、（１）イベントはユーザ行動の結果として発生したという条件、および（２）イベントは、所与の第２期間以内に所与の回数を超えて検出されたという条件を満たしたイベントを、以後の検出から除外するパラメータを、パターンに追加することによって、パターンを適応させる。すなわち、ティーチングモジュール１０２は、ユーザ行動の結果として発生したイベント、および所与の期間中にしきい値発生回数を超えて発生するイベントを除外するであろうパラメータを追加することによって、パターンを修正してもよい。
【００３２】
以後の検出からイベントを除外するパラメータは、以下に列挙するパラメータ、およびそれらの組み合わせのうちのどれであってもよい。システムコール、システムコールの引数、ファイル、アプリケーション、プロセス、またはそれらを識別するデータ、任意のセキュリティシステムに対する判定の要求、および論理演算。例えば、ユーザ行動の結果として発生し、所与の期間中にしきい値発生回数を超えて発生したイベントに関連する特定のシステムコールおよびシステムの引数の少なくとも一方とマッチするものを除外するために、ティーチングモジュールは、パターンを修正してもよい。他の一例においては、ユーザ行動の結果として発生し、所与の期間中にしきい値発生回数を超えて発生したイベント（例えば、一つ以上のファイルに変更を加えるためのイベント）に関連する一つ以上のファイルとマッチするものを除外するために、ティーチングモジュール１０２は、パターンを修正してもよい。他の一例においては、他のセキュリティシステムからの判定によって安全または信頼できることが示された任意のシステムコール、ファイル、アプリケーション、およびプロセスのうち少なくともどれかを除外するために、ティーチングモジュール１０２は、所与のパターンを修正してもよい。パラメータのさらなる態様については、後に詳述する。
【００３３】
他の変形態様においては、ティーチングモジュール１０２は、アクティビティ監視モジュール１０１によってコンピュータシステム上のパターンを用いてまとめられた統計１１２を解析してもよい。まとめられた統計の解析の過程で、ティーチングモジュールは、パターンに対する脅威の誤検出の数を計算する。悪意あるプログラムは脅威として特徴付けられ、信頼できるプログラムは誤検出された脅威として特徴付けられる。ティーチングモジュール１０２は、規定期間経過後、識別された脅威に対応するプログラムを、信頼できるプログラムのデータベースを用いてチェックすることによって、検出された脅威は誤検出された脅威であると判定する。解析結果から、ティーチングモジュール１０２は、所与のコンピュータシステム上のすべての誤検出された脅威を、例外として、プログラムの危険な挙動のパターンに追加することができる。
【００３４】
上述の、特定のコンピュータシステムに対応するすべての誤検出された脅威を例外としてプログラムの危険な挙動のパターンに追加することは、様々な方法で実施できる。本開示の一変形態様においては、誤検出された脅威（信頼できるプログラム）を以後のパターンを用いた検出から除外するために、ティーチングモジュール１０２は、パターンに変更１１３を導入する。特に、ティーチングモジュール１０２は、コンピュータシステム上で発生して、脅威の誤検出であるという結果に終わった（統計１１２からの）イベントのパラメータ、および対応するパラメータを伴った行動をパターンから除外するようにイベントパラメータをチェックする手順であるフィルタ、すなわち条件演算子を、パターンに対して全体的または部分的に追加する。一つの態様においては、ティーチングモジュールは、偽陽性と関連する任意のプロセス、またはプロセスやファイルの名前とマッチする名前を除外するパラメータを、プロセスによるファイル変更イベントとマッチするパターンに追加してもよい。例えば、プロセスの名前が"program1.exe"であり、ファイル名が"c:\program  files\file_1"である場合を除き、「プロセスによってファイルに変更を加える」すべての行動はパターンの範囲内であるとみなされるであろう。
【００３５】
本開示の他の変形態様においては、コンピュータシステム上で発生した（統計からの）イベントが、以下の３つの条件のうち少なくとも２つを満たす場合、上述のようなティーチングモジュールは、それらのイベントのパラメータの少なくとも一部、および対応するパラメータを伴ったイベントをパターンから除外するようにイベントパラメータをチェックする手順であるフィルタ、すなわち条件演算子を、プログラムの危険な挙動のパターンに追加してもよい。第１条件は、イベントが、上記のパターンを用いて誤検出された脅威であるとアクティビティ監視モジュール１０１によって認識されたプログラムの行動であるという条件である。ただし、プログラムが誤検出された脅威であるとする判定は、ティーチングモジュール１０２を用いて、所与の期間（例えば、ティーチング期間と同じ期間）の経過後、プログラムを、信頼できるプログラムのデータベースを用いてチェックすることによって実行される。他の２つは、その成立が、アクティビティ監視モジュール１０１によって  （ユーザ行動監視用サブシステムを用いて）判定される条件、すなわち、イベントはユーザ行動の結果として発生したという条件、およびイベントは、所与の第２期間以内に所与の回数を超えて検出されたという条件である。アクティビティ監視モジュール１０１（およびユーザ行動監視用サブシステム）は、コンピュータシステム内で発生するイベントを常時監視して、上述のイベントログを生成するため、第２期間は、ティーチング期間以上（ティーチング期間の開始時点からの計時期間以上）の長さであってもよい。このログを生成するプロセスも、パターンのティーチング期間の開始時点と連動していない。
【００３６】
他の変形態様においては、誤検出された脅威であると特徴付けられたプログラムを以後の検出から除外するために、ティーチングモジュール１０２は、そのプログラムを、信頼できるプログラムのリストに追加してもよい。リストは、例えば、コンピュータシステムにローカルに存在してもよい。さらに、ティーチングモジュール１０２は、このリストを用いてチェックするための手順をパターンに追加する。すなわち、パターンの実行時にプログラムがリストに含まれていれば、そのプログラムに関連する行動はそのパターンの範疇には入らない。
【００３７】
図２は、コンピュータシステムのためのプログラムの危険な挙動のパターンのパラメータを変更することによって、プログラムの危険な挙動のパターンをユーザのコンピュータシステムに適応させる方法２００のブロック図を示す。
【００３８】
この方法２００によれば、ステップ２０１において、ティーチングモジュールは、プログラムの危険な挙動のパターンをアクティビティ監視モジュールにロードして、そのパターンに対する第１使用モードを設定する。第１使用モードでは、アクティビティ監視モジュールは、そのパターンに対応するコンピュータシステム上の脅威を検出するが、それを取り除くための処置は実行しない。
【００３９】
その後、所与の第１期間（ティーチング期間）中、ステップ２０２で設定された反復サイクル２０３〜２０６が実行される。ステップ２０４において、アクティビティ監視モジュールは、上記パターンに対応する脅威を検出する。脅威の検出は、上記パターンからイベントを検出した結果、生じたものである。ステップ２０７において、イベントはユーザ活動の結果として発生したものであり（ステップ２０５）、そのイベントは所与の第２期間以内に所与の回数を超えて検出されたものであると（ステップ２０６）判定されたことを受けて、ティーチングモジュールは、アクティビティ監視モジュールがステップ２０５および２０６でそれらの条件の成立を確証したイベントを、以後の検出から除外するパラメータを上記パターンに追加する。
【００４０】
規定の第１期間が（ステップ２０３で判定されたように）終了すると、ステップ２０８において、ティーチングモジュールは、プログラムの危険な挙動のパターンを第２使用モードに切り替える。第２使用モードでは、アクティビティ監視モジュールは、上記パターンに対応するコンピュータシステム上の脅威を検出して、それを取り除くための処置を実行する。
【００４１】
本開示の他の変形においては、コンピュータシステム上でパターンを選択的に使用する方法が実行され、それによって、企業サブネットのようなコンピュータシステムのグループ上で、規定期間（ティーチング期間）、パターンが使用される。パターンに対応する脅威の検出に関する統計が、上記グループの各コンピュータシステムからリモートセキュリティコントロールセンターに送信される。パターンを用いて脅威に分類されたプログラムのそれぞれは、ティーチング期間の経過後、他のセキュリティシステムを用いて再度チェックされる。特に、「ホワイトリスト」を用いて、プログラムのチャックが実施される。ホワイトリストは、信頼できるプログラム、およびそれらに対応するファイルとプロセスのリストである。様々なホワイトリストが各コンピュータシステムにローカルに、また、リモートセキュリティコントロールセンターに保存されて更新され、さらに、ウィルス対策会社側で更新可能なグローバルホワイトリストもある。したがって、パターンを用いて脅威に分類されたプログラムが、ティーチング期間の経過後、ホワイトリストに含まれていた場合、そのプログラムは誤検出された脅威とみなされる。コンピュータシステムに関してまとめられた脅威検出統計における脅威の誤検出数が、設定されたしきい値を超えないコンピュータシステムの各々に対して、リモートセキュリティコントロールセンターは、その特定のコンピュータシステムに対応するすべての誤検出された脅威を例外としてパターンに追加し、そのパターンはアプリケーションモードに切り替えられる。言い換えれば、ある期間にわたって、脅威の誤検出数がしきい値を超えない場合、そのようなパターンは、例えば、誤検出となった検出のパターンを例外に含めるために、特定のシステムに適応することができる。パターンを用いたスレッドの誤検出の数がしきい値を超える場合、そのようなパターンは特定のコンピュータシステムに適さないと結論付けてもよい。
【００４２】
図１に戻って、プログラムの危険な挙動のパターンを選択的に使用するための上述のシステムにおいて、コンピュータシステム｛ＣＳ１、ＣＳ２，…、ＣＳＮ｝のグループがユーザ側に提供されている。このグループの各コンピュータシステム上では、各種モジュール｛モジュール１、モジュール２、…、モジュールＮ｝を含み、アクティビティ監視モジュール１０１を含むアンチウィルスアプリケーションが実行されている。コンピュータシステムのグループ上で実行中のアンチウィルスアプリケーション１００の各々は、コンピュータシステムのグループのセキュリティを集中制御するように構成されたリモートセキュリティコントロールモジュール１０５に通信可能に接続されている。リモートセキュリティコントロールモジュール１０５は、ウィルス対策会社によって「ファジーパターン」のデータベース１０３として管理される上記インフラストラクチャの要素、および複数のサービス１０４に通信可能に接続されている。リモートセキュリティコントロールモジュール１０５は、ユーザ側のコンピュータシステム上で実行中として、図１に図示されているが、代替態様においては、リモートセキュリティコントロールモジュール１０５は、（破線の輪郭で表されるように）ウィルス対策会社側に展開されてもよい。
【００４３】
コンピュータシステムＣＳのグループの各コンピュータシステム上で実行中のアンチウィルスアプリケーション１００の一部であるアクティビティ監視モジュール１０１は、ユーザのコンピュータシステム上の、プログラムの危険な挙動のパターンに対応する脅威を検出し、さらに、脅威検出統計を送信するように構成されてもよい。上述のように、統計は少なくとも以下のデータを含みうる。脅威識別子、パターン識別子、および検出された脅威に関連するファイルおよびプロセスの名前とハッシュサム。さらに、統計は、パターンを用いて脅威の検出をもたらした、コンピュータシステム上で発生したイベントおよびそのパラメータのリストだけでなく、コンピュータシステムのグループの中のコンピュータシステムの識別子も含んでもよい。
【００４４】
図３に示すように、本開示の文脈におけるリモートセキュリティコントロールモジュール１０５は、「ファジーパターン」のデータベース１０３からのパターン３０１と連携するように構成されている。リモートセキュリティコントロールモジュールを用いて、コンピュータシステムのグループの中の各コンピュータシステムに対するアクティビティ監視モジュール１０１にパターン３０１がロードされ、それに対する第１使用モードが設定される。第１使用モードでは、アクティビティ監視モジュールは、そのパターンに対応するコンピュータシステム上の脅威を検出するが、それを取り除くための処置は実行しない。さらに、リモートセキュリティコントロールモジュール１０５は、パターンに対応する脅威検出統計（あるいは、単に、統計３０２）の収集を可能にする。統計３０２は、コンピュータシステムのグループの中のコンピュータシステムごとに、設定された期間にわたってまとめられる。期間は経験的に選定される。この期間の経過後、リモートセキュリティコントロールモジュール１０５は、パターンを用いてコンピュータシステムのグループの中のコンピュータシステムごとにまとめられた脅威検出統計３０２の解析を実行する。各コンピュータシステムに対して、所与のコンピュータシステム上のパターンを用いてまとめられた統計のその部分だけに関して、解析が実行される。コンピュータシステムのグループの中の他のコンピュータシステム上のパターンを用いて得られた脅威検出統計は、この解析中は、考慮に入れられない。まとめられた統計の解析の過程で、コンピュータシステムごとの脅威の誤検出数が計算される。悪意あるプログラム（ファイル、プロセス）は脅威であり、信頼できるプログラム（ファイル、プロセス）は誤検出された脅威である。検出された脅威が誤検出された脅威であるとする判定は、上記の設定された期間の経過後に、リモートセキュリティコントロールモジュール１０５を用いて、識別された脅威に対応するプログラム（ファイル、プロセス）を、信頼できるプログラムのデータベースを使用してチェックすることによってなされる。解析結果から、コンピュータシステムに関してまとめられた脅威検出統計における脅威の誤検出数が、設定されたしきい値を超えないコンピュータシステムの各々に対して、リモートセキュリティコントロールモジュール１０５を用いて、以下の処置がとられる。特定のコンピュータシステムに対応するすべての誤検出された脅威を例外としてプログラムの危険な挙動のパターンに追加し、プログラムの危険な挙動のパターンを第２使用モードに切り替える。第２使用モードでは、コンピュータシステム上で実行されるアンチウィルスアプリケーションが上記パターンに対応する脅威を検出して、それを取り除くための処置を実行する。
【００４５】
他の変形態様においては、パターンを用いて誤検出された脅威と認識されたプログラムを以後の検出から除外するために、そのプログラムは、リモートセキュリティコントロールモジュール１０５（またはアクティビティ監視モジュール）によって、例えば、コンピュータシステムにローカルに存在する、信頼できるプログラムのリスト（ホワイトリスト３０４）に追加され、このリストを用いたチェック手順がパターンに追加される。プログラムがリストに含まれていれば、そのプログラムに関連する行動はそのパターンの範疇には入らない。
【００４６】
図４は、プログラムの危険な挙動のパターンを選択的に使用する方法４００のブロック図を示す。この方法４００によれば、ステップ４０１において、プログラムの危険な挙動のパターンが、コンピュータシステムのグループ上で、リモートセキュリティコントロールモジュールを用いて、第１モードで起動され、コンピュータシステム上で実行されるアンチウィルスアプリケーションが上記パターンに対応する脅威を検出するが、それを取り除くための処置は実行しない。パターンを起動するために、リモートセキュリティコントロールモジュール１０５は、プログラムの危険な挙動のパターンを、コンピュータシステムのグループのアクティビティ監視モジュールにロードして、このパターン対する上記利用モードを設定してもよい。脅威を取り除く処置には、悪意あるプログラムの除去、コンピュータシステムの復元、処置をするようユーザに要求、および悪意あるプログラムの隔離が含まれる。
【００４７】
ステップ４０２において、リモートセキュリティコントロールモジュール上で、上記パターンに対応する脅威に関する脅威検出統計が、上記グループ内のコンピュータシステムごとに、設定された期間にわたって、まとめられる。その後、ステップ４０３において、コンピュータシステムのグループ内のコンピュータシステムごとに（ステップ４０３〜４０７の反復サイクル）、リモートセキュリティコントロールモジュールは、（上記または当該技術分野で公知の適切な検証技術を用いて）誤検出数を決定する。
【００４８】
コンピュータシステムに関してまとめられた脅威検出統計における脅威の誤検出数が、設定されたしきい値を超えないコンピュータシステムの各々に対して、リモートセキュリティコントロールモジュールは、ステップ４０５において、特定のコンピュータシステムに対応するすべての誤検出された脅威を例外としてプログラムの危険な挙動のパターンに追加する。ステップ４０６において、リモートコントロールセキュリティモジュールは、プログラムの危険な挙動のパターンを第２使用モードに切り替える。第２使用モードでは、コンピュータシステム上で実行されるアンチウィルスアプリケーションが上記パターンに対応する脅威を検出して、それを取り除くための処置を実行する。
【００４９】
図５は、悪意あるスレッドを検出するためのシステムおよび方法の態様を態様例に従って実装されうるコンピュータシステム２０を示すブロック図である。ここで留意すべきことは、コンピュータシステム２０は、例えば、既述のコンピュータシステム（ＣＳ１〜ＣＳＮ）と対応しうるということである。
【００５０】
図示のように、コンピュータシステム２０（パーソナルコンピュータまたはサーバであってもよい）は、中央処理装置２１、システムメモリ２２、および、中央処理装置２１に付随するメモリを含む各種システム構成要素を連結するシステムバス２３を含む。当業者には理解されるように、システムバス２３は、バスメモリまたはバスメモリコントローラ、周辺バス、および、他のいかなるバスアーキテクチャとも相互作用可能なローカルバスを備えていてもよい。システムメモリは固定記憶装置（ＲＯＭ）２４とランダムアクセスメモリ（ＲＡＭ）２５を含んでいてもよい。基本入出力システム（ＢＩＯＳ）２６は、ＲＯＭ２４を用いてオペレーティングシステムをロードする際の手順などの、コンピュータシステム２０の要素間の情報転送の基本的手順を記憶していてもよい。
【００５１】
コンピュータシステム２０は、さらに、データを読み書きするためのハードディスク２７、リムーバブル磁気ディスク２９を読み書きするための磁気ディスクドライブ２８、および、読み出し専用コンパクトディスク（Compact  Disc  Read-Only  Memory：ＣＤ−ＲＯＭ）、読み出し専用ＤＶＤ（Digital  Versatile  Disc  Read-Only  Memory：ＤＶＤ−ＲＯＭ）、その他の光媒体などのリムーバブル光学ディスク３１を読み書きするための光学ドライブ３０を備えていてもよい。ハードディスク２７、磁気ディスクドライブ２８、および光学ドライブ３０は、それぞれ、ハードディスクインターフェース３２、磁気ディスクインターフェース３３、および光学ドライブインターフェース３４を介して、システムバス２３と接続されている。ドライブおよび対応するコンピュータ情報媒体は、コンピュータシステム２０のコンピュータ命令、データ構造体、プログラムモジュール、およびその他のデータを記憶するための、独立の電源で動作するモジュールである。
【００５２】
態様の一例は、システムバス２３と接続されたハードディスク２７、リムーバブル磁気ディスク２９、およびリムーバブル光学ディスク３１をコントローラ５５を介して使用するシステムを備えている。コンピュータ読み取り可能な形式でデータの保存が可能な任意の種類の媒体５６（半導体ドライブ、フラッシュメモリカード、デジタルディスク、ランダムアクセスメモリ（ＲＡＭ）など）を利用することもできることは、当業者には理解されるであろう。
【００５３】
コンピュータシステム２０はファイルシステム３６を有しており、その中には、オペレーティングシステム３５の他に、追加的なプログラムアプリケーション３７、その他のプログラムモジュール３８、およびプログラムデータ３９を保存することができる。コンピュータシステム２０のユーザはキーボード４０、マウス４２、あるいは、その他、例えば、マイクロフォン、ジョイスティック、ゲームコントローラ、スキャナなどが挙げられるがそれらに限られない当業者に公知の入力装置を使用して、コマンドおよび情報を入力することができる。そのような入力装置は、一般に、コンピュータシステム２０に、システムバスと接続されたシリアルポート４６を通して差し込まれるが、当業者は、入力装置を、例えば、限定はされないが、パラレルポート、ゲームポート、あるいはユニバーサルシリアルバス（Universal  Serial  Bus：ＵＳＢ）などの他の方法で接続してもよいことを理解するであろう。モニタ４７または他の種類の表示装置も、ビデオアダプタ４８などのインターフェースを介してシステムバス２３と接続してもよい。パーソナルコンピュータは、モニタ４７に加えて、スピーカ、プリンタなどの他の周辺出力装置（図示せず）を備えてもよい。
【００５４】
コンピュータシステム２０を、一台以上のリモートコンピュータ４９とのネットワーク接続を用いて、ネットワーク環境下で動作させてもよい。リモートコンピュータ４９は、コンピュータシステム２０の特徴説明の中で述べた上記要素のほとんどまたは全部を備えたローカルコンピュータワークステーションまたはサーバであってもよい。例えば、ルータ、ネットワークステーション、ピアデバイス、その他のネットワークノードなどが挙げられるがそれらに限られないその他の装置も、コンピュータネットワークの中に存在してもよい。
【００５５】
ネットワーク接続によって、ローカルエリアコンピュータネットワーク（Local-Area  computer  Network：ＬＡＮ）５０および広域コンピュータネットワーク（Wide-Area  computer  Network：ＷＡＮ）を形成することができる。そのようなネットワークは企業コンピュータネットワークや社内ネットワークで利用され、一般に、インターネットにアクセス可能である。ＬＡＮおよびＷＡＮのネットワークにおいては、パーソナルコンピュータ２０は、ネットワークアダプタまたはネットワークインターフェース５１を介してローカルエリアネットワーク５０と接続されている。ネットワークを利用する場合、コンピュータシステム２０は、インターネットのような広域コンピュータネットワークとの通信を可能にするモデム５４またはその他の当業者に公知のモジュールを採用してもよい。モデム５４は、内部装置であっても外部装置であってもよいが、シリアルポート４６によってシステムバス２３と接続してもよい。上記ネットワーク接続は、一台のコンピュータが通信モジュールを使って他のコンピュータとの接続を確立する、数多くの広く理解されている方法の非限定例であることは、当業者には理解されるであろう。
【００５６】
様々な態様において、本明細書で説明したシステムおよび方法は、ハードウェア、ソフトウェア、ファームウェア、あるいはそれらの任意の組み合わせの中に実現されてもよい。ソフトウェア中に実現された場合、非一時的なコンピュータ読み取り可能な媒体上に、一つ以上の命令またはコードとして記憶してもよい。コンピュータ読み取り可能な媒体には、データストレージが含まれる。一例として、限定はされないが、そのようなコンピュータ読み取り可能な媒体は、ＲＡＭ、ＲＯＭ、電気的消去可能プログラム可能読み出し専用メモリ（Electrically  Erasable  Programmable  Read-Only  Memory：ＥＥＰＲＯＭ）、ＣＤ−ＲＯＭ、フラッシュメモリ、あるいは他の種類の電気的、磁気的、または光学的記憶媒体、もしくは、所望のプログラムコードを命令やデータ構造体の形で運搬または記憶するために利用可能で、汎用コンピュータのプロセッサからアクセス可能な、その他の任意の媒体を含むことができる。
【００５７】
様々な態様において、本開示で説明したシステムおよび方法を、モジュールという観点で取り扱うことができる。本明細書で使われている用語「モジュール」とは、例えば、特定用途向け集積回路（Application  Specific  Integrated  Circuit：ＡＳＩＣ）やフィールドプログラマブルゲートアレイ（Field-Programmable  Gate  Array：ＦＰＧＡ）によるハードウェアを用いて実現されるか、あるいは、例えば、マイクロプロセッサシステムと、（実行時に）マイクロプロセッサシステムを専用デバイスに変換するモジュールの機能性を実現する一連の命令によるハードウェアとソフトウェアの組み合わせとして実現された、実世界の装置、構成要素、または構成要素の配置のことである。モジュールは、特定の機能をハードウェアのみで促進し、その他の機能をハードウェアとソフトウェアの組み合わせによって促進する、上記２つの組み合わせとしても実現できる。特定の実現形態においては、少なくとも一部、場合によっては全部のモジュールが、（図５によって詳細に前述したような）コンピュータのプロセッサ上で実行されてもよい。したがって、各モジュールは各種の適切な構成の中に実現可能であり、本明細書に例示したいかなる特定の実現形態にも限定されるべきではない。
【００５８】
明確化のために、本明細書は各態様の定型的な特徴のすべてまでは示していない。本開示の実際の実現形態のいかなる開発においても、開発者の具体的目的を達成するために実現形態に特有の多くの決定をする必要があり、具体的目的は、実現形態ごとおよび開発者ごとに異なるということが理解されるであろう。そのような開発努力は複雑で多くの時間を要する可能性があるが、それにもかかわらず、本開示から利益を得る当業者にとって、定型的な技術的取り組みであることが理解される。
【００５９】
さらに、本明細書で用いている表現や用語は説明上のものであって、限定のためではなく、本明細書の用語や表現は、当業者が、当業者の知識と組み合わせて、本明細書が提供する教示や手引きの観点から解釈すべきものと理解すべきである。加えて、明示的記載がない限り、本明細書や請求の範囲におけるいかなる用語も、一般的でない、あるいは特別な意味を持つものとみなされることは意図されていない。
【００６０】
本明細書に開示された様々な態様は、本明細書で例示により言及された公知のモジュールの現在および将来の公知の均等物を包含する。また、態様および応用例を図示し、かつ、説明してきたが、本明細書に開示された発明の概念から逸脱することなく、上述したよりも多くの変更が可能であることは、この開示の利益を有する当業者には明らかであろう。
【図１Ａ】
2019220132.tif 000003
【図１Ｂ】
2019220132.tif 000004
【図２】
2019220132.tif 000005
【図３】
2019220132.tif 000006
【図４】
2019220132.tif 000007
【図５】
2019220132.tif 000008
【外国語明細書】
2019220132000001.pdf