(57)【特許請求の範囲】
【請求項１】
変更されたデータを復元するための方法であって、前記方法は、
コンピュータのプロセッサにより、データ記憶装置に保存されたデータを変更するプログラムからの要求を、前記プログラムが前記データを変更する前に傍受する工程と、
前記プロセッサにより、変更される前記データに関係する傍受された要求のパラメータを判断する工程と、
前記判断されたパラメータに基づいて基準を算出する工程と、
変更される前記データの整合性が前記コンピュータのオペレーティングシステムにとって重要であることを示すルールであり、且つ前記データ記憶装置の操作方法と前記データ記憶装置でのデータ操作の種類が前記データの変更をもたらすかどうかを示すルールに基づいて、前記算出された基準を分析する工程と、
前記ルールが満たされると、前記プロセッサにより、前記データのバックアップコピーの要求を生成する工程と、
前記プログラムが前記データ記憶装置の前記データを変更する前に、前記プロセッサにより、前記生成された要求に応じて前記データをバックアップコピーする工程と、
前記プロセッサにより、バックアップデータ記憶装置に前記バックアップコピーを保存する工程と、を含む、変更されたデータを復元するための方法。
【請求項２】
前記傍受された要求のパラメータは、
前記傍受された要求における固有のデータ識別子、
変更される前記データに関する前記データ記憶装置の前記操作方法、
前記データ操作の前記種類、及び、
少なくとも1つのデータ変更パラメータ、
のうちの少なくとも1つを含む、請求項1に記載の方法。
【請求項３】
前記データを変更する前記傍受されたプログラムによって実行されたプロセスのパラメータを判断する工程と、
前記判断されたプロセスのパラメータを解析する工程と、
前記プロセスのパラメータの解析に基づいて、前記プログラムによって実行された前記プロセスにおける更なる操作をブロックする工程と、をさらに含む、
請求項1に記載の方法。
【請求項４】
前記データが、悪意あるプログラムのプロセスによって変更されるどうかを判断する工程と、
前記データが前記悪意あるプログラムのプロセスによって変更された場合、前記悪意あるプログラムにおけるプロセスの更なる操作がブロックされた後、前記データのバックアップコピーを用いて、前記データを復元する工程と、
を含む、請求項3に記載の方法。
【請求項５】
前記判断されたプロセスのパラメータの解析は、前記データを変更する前記プログラムにおける前記プロセスのパラメータの脅威レベルを判断する工程と、
前記脅威レベルに基づいて、前記プログラムのプロセスの更なる操作をブロックする工程と、をさらに備える、
請求項3に記載の方法。
【請求項６】
前記プログラムにおける前記プロセスの更なる操作をブロックする工程は、前記コンピュータのメモリから前記プロセスを削除する工程、
前記プロセスの実行を停止する工程、及び、
前記プロセス実行中のファイルを隔離して配置する工程
の、うち少なくとも1つを含む、
請求項3に記載の方法。
【請求項７】
前記プロセッサにより、以下の少なくとも1つのルールに従って、前記傍受された要求のパラメータを解析する工程をさらに含み、
前記ルールは、
前記データの種類に基づいて、前記データをバックアップする必要性に関するルール、
前記プログラムからの要求が、前記データのユーザ操作を変更するかどうか関するルール、
前記プログラムからの要求が、前記データに対する有効な操作の種類に基づいて、前記データを変更するかどうか関するルール、及び、
前記データがファイルに書き込まれた場合、前記データが変更されるかどうか関するルール、
のうち1つを含む、
請求項3に記載の方法。
【請求項８】
変更されたデータを復元するシステムであって、前記システムは、
データ記憶装置と、
ハードウェアプロセッサと、を含み、
前記ハードウェアプロセッサは、
前記データ記憶装置に保存されたデータを変更するプログラムからの要求を、前記プログラムが前記データを変更する前に傍受し、
変更される前記データに関係する前記傍受された要求のパラメータを判断し、
前記判断されたパラメータに基づいて基準を算出し、
変更される前記データの整合性がコンピュータのオペレーティングシステムにとって重要であることを示すルールであり、且つ前記データ記憶装置の操作方法と前記データ記憶装置でのデータ操作の種類が前記データの変更をもたらすかどうかを示すルールに基づいて、前記算出された基準を分析する工程と、
前記ルールが満たされると、前記データのバックアップコピーをする要求を生成し、
前記プログラムが前記データ記憶装置の前記データを変更する前に、前記生成された要求に応じて前記データのバックアップコピーを生成し、
バックアップデータ記憶装置にバックアップコピーを保存する
ように構成される、システム。
【請求項９】
前記傍受された要求のパラメータは、
前記傍受された要求における固有のデータ識別子、
変更される前記データに関する前記データ記憶装置の前記操作方法、
前記データの操作の前記種類、及び、
少なくとも1つのデータ変更パラメータ、
のうち少なくとも１つを含む、請求項8に記載のシステム。
【請求項１０】
前記プロセッサは、
前記データを変更する前記傍受されたプログラムによって実行されたプロセスのパラメータを判断し、
前記判断されたプロセスのパラメータを解析し、
前記プロセスのパラメータの解析に基づいて、前記プログラムによって実行された前記プロセスにおける更なる操作をブロックするようにさらに構成される、
請求項8に記載のシステム。
【請求項１１】
前記プロセッサは、
前記データが、悪意あるプログラムの前記プロセスによって変更されるかどうか、
前記データが、前記悪意あるプログラムのプロセスによって変更された場合、前記悪意あるプログラムのプロセスにおける更なる操作がブロックされた後、前記データのバックアップコピーを用いて、前記データを復元する、
請求項10に記載のシステム。
【請求項１２】
前記プロセッサは、
前記データを変更する前記傍受されたプログラムにおける前記プロセスのプロセスパラメータの脅威レベルを判断し、
前記脅威レベルに基づいて、前記悪意あるプログラムのプロセスにおける更なる操作をブロックするように、さらに構成される、
請求項10に記載のシステム。
【請求項１３】
前記プロセッサは、
前記プロセッサを含むコンピュータのメモリから前記プロセスを削除する工程、
前記プロセスの実行を停止する工程、及び、
前記プロセス実行中のファイルを隔離して配置する工程、
のうち少なくとも1つによって、前記傍受されたプログラムにおける前記プロセスの更なる操作をブロックするようにさらに構成される、
請求項10に記載のシステム。
【請求項１４】
以下の少なくとも1つを含むルールに従って、前記傍受された要求のパラメータを解析する工程をさらに含み、
前記ルールは、
前記データの種類に基づいて、前記データをバックアップする必要性に関するルール、
前記プログラムからの要求が、前記データのユーザ操作を変更するかどうかに関するルール、
前記プログラムからの要求が、前記データに対する有効な操作の種類に基づいて、前記データを変更するかどうかに関するルール、及び、
前記データがファイルに書き込まれた場合、前記データが変更されるかどうかに関するルール、
の少なくとも1つを含む、請求項10に記載のシステム。
【請求項１５】
変更されたデータを復元するためのコンピュータ実行可能命令を格納する非一時的なコンピュータ可読媒体であって、
コンピュータのハードウェアプロセッサにより、データ記憶装置に保存されたデータを変更するプログラムからの要求を、前記プログラムが前記データを変更する前に傍受する命令と、
変更される前記データに関係する前記傍受された要求のパラメータを判断する命令と、
前記判断されたパラメータに基づいて基準を算出する命令と、
変更される前記データの整合性が前記コンピュータのオペレーティングシステムにとって重要であることを示すルールであり、且つ前記データ記憶装置の操作方法と前記データ記憶装置でのデータ操作の種類が前記データの変更をもたらすかどうかを示すルールに基づいて、前記算出された基準を分析する命令と、
前記ルールが満たされると、前記データのバックアップコピーを生成する要求を生成する命令と、
前記プログラムが前記データ記憶装置の前記データを変更する前に、前記生成された要求に応じて前記データのバックアップコピーを生成する命令、及び、
バックアップデータ記憶装置にバックアップコピーを保存する命令を含む、
コンピュータ実行可能命令を格納する非一時的なコンピュータ可読媒体。
【請求項１６】
前記傍受された要求のパラメータは、
前記傍受された要求における固有のデータ識別子、
変更される前記データに関する前記データ記憶装置の前記操作方法、
前記データ操作の前記種類、及び、
少なくとも1つのデータ変更パラメータ、
のうち少なくとも1つを含む、
請求項15に記載の、コンピュータ実行可能命令を格納する非一時的なコンピュータ可読媒体。
【請求項１７】
前記データを変更する前記プログラムによって実行されたプロセスのパラメータを判断する命令と、
前記判断されたプロセスのパラメータを解析する命令と、
前記プロセスのパラメータの解析に基づいて、前記プログラムによって実行された前記プロセスにおける更なる操作をブロックする命令と、
を含む、
請求項15に記載の、コンピュータ実行可能命令を格納する非一時的なコンピュータ可読媒体。
【請求項１８】
前記データが悪意あるプログラムのプロセスによって、変更されたるどうかを判断する命令と、
前記データが前記悪意あるプログラムのプロセスによって変更された場合、前記悪意
あるプログラムのプロセスの更なる操作がブロックされた後、前記データのバックアップコピーを用いて、前記データを復元する命令と、をさらに含む、
請求項17に記載の、コンピュータ実行可能命令を格納する非一時的なコンピュータ可読媒体。
【請求項１９】
前記判断されたプロセスのパラメータを解析するための前記命令は、
前記データを変更する前記傍受されたプログラムにおける前記プロセスのプロセスパラメータの脅威レベルを判断する命令と、
前記脅威レベルに基づいて、前記プログラムのプロセスの更なる操作をブロックする命令と、を含む、
請求項17に記載の、コンピュータ実行可能命令を格納する非一時的なコンピュータ可読媒体。
【請求項２０】
前記傍受されたプログラムのプロセスにおける更なる操作をブロックする命令は、
前記プログラムを受信するコンピュータのメモリから前記プロセスを削除する命令、
前記プロセスの実行を停止する命令、及び
前記プロセス実行しているファイルを隔離して配置する命令、
の少なくとも1つを含む、
請求項17に記載の、コンピュータ実行可能命令を格納する非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アンチウイルス技術の分野に関するものであり、より具体的には、変更されたデータを復元するシステムおよび方法である。
【背景技術】
【０００２】
近年のコンピュータ技術の急速な発展と様々なコンピューティングデバイス（例えば、パーソナルコンピュータ、ノートPC、タブレット、スマートフォン等）の広範囲な普及によって強く刺激を受け、様々な活動領域でこれらのデバイスが使用され、膨大な量の仕事（個人的な写真の加工又は保存から、銀行振替及び電子文書回覧まで）に、これらのデバイスが使用されている。コンピューティングデバイスの数が増加し、これらのデバイスで動作するソフトウェアに連動して、悪意あるプログラムの数もかなりの速度で成長している。
【０００３】
現在、悪意あるアプリケーションが膨大な数で多様に存在しており、その多くは、作成者が利益を享受するように設計されている。悪意あるアプリケーションの中には、ユーザのデバイスから個人情報又は機密データを盗み、例えば、それは、ログイン及びパスワード、銀行情報、電子文書、さらに、その他の情報を含む。その他、
悪意あるプログラムは、他のコンピュータ又はコンピュータネットワークにおける攻撃（DDOS又はブルートフォース等）のために、ユーザデバイスに、いわゆる「ボットネット」を形成する。さらに他の悪意あるプログラムは、押し付けがましい広告を通じて有料コンテンツ、有料購読、プレミアムレート番号へのショートメッセージサービスの送信等をユーザに提供する。
【０００４】
様々な悪意あるプログラムの一つで特に厄介なものは、身代金要求型プログラム又はランサムウェアである。一度、これらの種類のプログラムがユーザのデバイスにインストールされると、それらはデバイス機能を混乱させる。それは、例えば、デバイスに入力するデータをブロックすること、データに損傷を与えること、インターフェース要素へのアクセスを制限すること等によって、その機能を混乱させる。その後、プログラムは、その操作における負の影響を排除するための支払いを要求する。最も危険な身代金要求型プログラムは、その悪意ある動きが、ユーザにとって価値のあるデータ（例えば、データベース、Microsoft Office（登録商標）の文書、写真、ビデオクリップ等）の損傷を含むものである。データの損傷は、プログラムの暗号化、ファイル名の変更又はファイルの隠蔽によって起こされる。
【０００５】
データの機密性だけでなく、データの整合性についても、高い価値であることがよくあるので、データの保護は重要な課題である。身代金の脅威に対応するための一つの方法は、ユーザデバイスに存在する悪意あるアプリケーションを適時検出し、すぐに無効にすることであり、定期的なデータバックアップコピーの作成と同様に、不正な変更からデータを保護することが可能となる。不正な変更が発生した場合であっても、データの復元が可能となる。
【０００６】
上記の方法は、アクティブなファイルを追跡する、ユーザデータをバックアップ保管する、及び、悪意あるソフトウェア動作をブロックする、というタスクに充分適しているが、効率的にバックアップデータコピー（すなわち、データ変更が開始される前の十分な時間で）をするという決定ができないので、これらの方法は、悪意あるソフトウェアによって変更された有効なユーザデータを保護することができない。又は、変更される可能性のあるデータのバックアップコピーが成功した場合に、その方法は、変更プロセスからの本データへの脅威レベルを評価することはできない。
これは、次に、ハードディスクの空き容量、プロセッサ時間、等を含むコンピュータリソースに大きな負荷をもたらす。
【発明の概要】
【０００７】
したがって、本明細書に記載される方法及びシステムは、変更されたデータを復元する効果的かつ効率的な方法を提供する。
【０００８】
一態様によれば、本方法は、
アクティビティ追跡モジュールによって、プログラムからのデータを変更する要求を傍受する工程と、
解析モジュールによって、傍受された要求のパラメータを判断する工程と、
解析モジュールによって、傍受された要求における少なくとも1つの判断されたパラメータに基づいて、データのバックアップコピーの要求を生成する工程と、
バックアップモジュールによって、電子データベース内のデータのバックアップコピーを生成し保存する工程と、
を含む。
【０００９】
別の態様によれば、傍受された要求のパラメータは、
傍受された要求における、固有のデータ識別子、
データの操作方法、
少なくとも1つのデータ操作の種類、及び、
少なくとも1つのデータ変更パラメータ、のうちの少なくとも1つ、を備える。
【００１０】
別の態様によれば、本方法は、
データを変更するプログラムのプロセスにおけるプロセスのパラメータを判断する工程と、
判断されたプロセスのパラメータを解析する工程と、
プロセスのパラメータの解析に基づいて、プログラムのプロセスにおける更なる操作をブロックする工程と、を含む。
【００１１】
別の態様によれば、本方法は、データが悪意のあるプログラムのプロセスによって変更されたかどうかを判断する工程をさらに含む。本発明は、さらに、データが悪意のあるプログラムのプロセスによって変更された場合、悪意のあるプログラムにおけるプロセスの更なる操作がブロックされた後、データのバックアップコピーを使用してデータを復元する工程を含む。
【００１２】
別の態様によれば、判断されたプロセスのパラメータを解析する工程は、
データを変更するプログラムにおけるプロセスのパラメータの脅威レベルを判断する工程、及び、
脅威レベルに基づいて、プログラムのプロセスの更なる操作をブロックする工程を含む。
【００１３】
別の態様によれば、プログラムにおけるプロセスの更なる操作をブロックする工程は、デバイスのメモリからそのプロセスを削除する工程と、プロセスの実行を停止する工程、及び、プロセス実行中のファイルを隔離して配置する工程、のうちの少なくとも1つを含む。
【００１４】
別の態様によれば、方法はさらに、
解析モジュールにより、以下の少なくとも1つのルールに従って、傍受された要求のパラメータを解析する工程を含み、
そのルールは、
データの種類に基づいて、データをバックアップする必要性（プログラムからの要求が、そのデータの変更を行なうものである場合）に関するルール、
プログラムからの要求が、データのユーザ操作を変更するかどうかに関するルール、
プログラムからの要求が、データに対する有効な操作の種類に基づいて、データを変更するかどうかに関するルール、
及び、そのデータがファイルに書き込まれた場合、データが変更されるかどうかに関するルール、
のうち1つを含む。
【００１５】
一態様によれば、システムは、変更されたデータを復元するために開示される。この態様によれば、システムは、
アクティビティ追跡モジュールと、
解析モジュールと、
バックアップモジュールと、を含み、
アクティビティ追跡モジュールは、プログラムからのデータを変更する要求を傍受するように構成され、
解析モジュールは、傍受された要求のパラメータを判断し、その傍受された要求における判断された少なくとも1つのパラメータに基づいて、データのバックアップコピーの要求を生成するように構成され、
及び、
バックアップモジュールは、データのバックアップココピーを生成し、電子データベース内のデータのバックアップコピーを保存するように構成される。
【００１６】
一態様によれば、コンピュータ実行可能命令を保存する非一時的なコンピュータ可読媒体は、変更されたデータを復元するために開示される。
この態様によれば、この命令は、
アクティビティ追跡モジュールによって、プログラムからのデータを変更する要求を傍受し、
解析モジュールによって、傍受された要求のパラメータを判断し、
解析モジュールによって、傍受された要求における、少なくとも1つの判断されたパラメータに基づいて、データのバックアップコピーを生成するように要求し、
バックアップモジュールによって、電子データベース内でのデータのバックアップコピーを生成及び保存するように提供されている。
【００１７】
例示的態様における上記の簡単な概要は、本開示の基本的な理解を提供するのに役立つ。この概要は、企図される全ての態様における広範な概観ではない。つまり、すべての態様における主要または重要な要素を特定することでもなく、本開示の任意の範囲又は全ての態様を区切ることでもないということを意図している。その唯一の目的は、以下にある本開示のより詳細な説明の前置きとして、簡略化された形式で1つまたは複数の態様を提示することである。前述の達成のために、本開示の1つまたは複数の態様は、特許請求の範囲に記載され、特に指摘される特徴を含む。
【図面の簡単な説明】
【００１８】
添付の図面は、本明細書に組み込まれ、その一部を構成し、本開示における１つまたはそれ以上の例示的な態様を示し、詳細な説明と共に、それらの原理および実装を説明するのに役立つ。
【００１９】
【図１】図1は、例示的な態様に従って、変更されたデータを復元する例示的なシステムのブロック図を示す。
【００２０】
【図２】図2は、例示的な態様に従って、変更されたデータを復元する例示的な方法のフローチャートを示す。
【００２１】
【図３】図3は、開示されたシステム及び方法を実装することができる、汎用コンピュータシステム、パーソナルコンピュータ、サーバ、の一例を示す。
【発明を実施するための形態】
【００２２】
例示的態様は、変更されたデータを復元するためのシステム、方法及びコンピュータプログラム製品との関連で本明細書に記載される。当業者は、以下の説明は単なる例示であり、決して限定であることを意図するものではないことを理解するであろう。他の態様は、この開示の利益を有する当業者にとって、容易に示されるものである。参照は、添付の図面に示されるように、例示的態様の実装において詳細な説明がなされる。同じ参照指標は、図面及び以下の説明全体を通じて可能な限り、同一または同様の項目を参照するように用いられる。
【００２３】
図1は、例示的な態様に従って、変更されたデータを復元するための例示的なシステムのブロック図を示す。示されるように、変更されたデータを復元するためのシステムは、データ記憶モジュール110、アクティビティ追跡モジュール120、解析モジュール130、バックアップモジュール140、バックアップデータベース150、検出モジュール160を含む。
【００２４】
一態様では、データ記憶モジュール110は、プロセスからデータを受信し、データを保存し、及び、プロセスの要求に応じてデータを提供するように構成されている。データ記憶モジュール110は、例えば、ファイルシステムを操作するためのファイルマネージャー及び/又はメインメモリを操作するためのメモリマネージャーであってもよい。データ記憶モジュール110によって提供されるデータは、ファイル及び/又はメモリ領域であってもよい。
【００２５】
一態様では、アクティビティ追跡モジュール120は、プロセスからデータ記憶モジュール110への要求（そこに保存されたデータを変更するという）を傍受し、プロセスのパラメータを判断し、これらのパラメータを検出モジュール160に送信するように構成されている。アクティビティ追跡モジュールはまた、傍受された要求のパラメータを判断し、解析モジュール130に送信することができる。
【００２６】
一態様では、プロセスからデータ記憶モジュール110への要求の傍受は、以下の手段によって、アプリケーション・プログラム・インターフェース（「API」）関数のコールを傍受することにより可能である。その手段は、現在の関数のアドレスを置き換える手段、関数を直接的に変更する手段（例えば、スプライシング、関数本体の変更を伴うカーネルモード傍受）、又はアプリケーション/システムの全構成要素を直接交換する手段である。
【００２７】
一態様では、データ記憶モジュール110に対するプロセスの要求は、例えば、オペレーティングシステムのAPI関数（例えば、Microsoft Windows（登録商標）のWinAPI関数等）及び/又は、オペレーティングシステムのカーネル関数を含むことができる。傍受された要求のパラメータは、
例えば、
（i）固有のデータ識別子（例えば、ファイル記述子又はファイルへのパス、変更されるメモリのアドレス等）、
（ii）データの操作方法（例えば、データの読み出し・上書き・削除等）、
（iii）データ操作の種類（例えば、データによって占有されるメモリ領域をバッファに書き込むこと、ファイルヘッダを読み込むこと等）、
（iv）データ変更パラメータ（例えば、メモリ領域に書き込まれているデータに必要なバッファのサイズ及びコンテンツ、変更されるファイルへの新しいアクセス権等）
であってもよい。
さらに、プロセスのパラメータは、例えば、プロセスを実行しているアプリケーションへのパス、プロセス記述子、及び/又は、プロセスによって実行される操作のログ、であってもよい。
【００２８】
一態様では、解析モジュール130は、データのバックアップデータベース150へのバックアップコピーの要求を作成し、バックアップモジュール140にその要求を送信するように構成されている。
その要求は、以下のルールに従って、要求におけるパラメータを解析した結果に基づいて、プロセスにより変更されることができる。
一実施形態では、傍受された要求のパラメータの解析のために使用されるルールを、以下に示す。
・データ（要求が操作しようとしているデータ）の種類に応じて、データの更なるバックアップコピーが必要であるという判断をするルール。
例えば、（*.exeファイル、*.dllファイルなどの実行可能ファイルの場合のように）データの整合性がオペレーティングシステムの動作にとって重要である場合、
又は、（データベース、Microsoft Office（登録商標）の文書、電子メールファイル、画像、等の場合のように）ユーザにとって重要である場合に、更なるデータのバックアップコピーの必要性を判断する。
・データの操作方法に応じ、その操作をすることによって、データの変更を生じさせることができるかどうかを判断するルール。（例えば、書き込み権限を持つファイルを開く場合）
・データを操作する種類に応じ、操作をすることによって、データの変更を生じさせることができるかどうかを判断するルール（例えば、データバッファをファイルに書き込む）
・書き込まれているデータによって、データの変更が成されるかどうか、又は、データが影響を受けないかどうかについて判断するルール（例えば、ビデオストリームファイルへの追加）
【００２９】
一態様では、バックアップモジュール140は、解析モジュール130の要求に応じて、データ記憶モジュール110からバックアップデータベース150へデータのバックアップコピーを行うように構成されている。
バックアップモジュール140は、検出モジュールからの要求で、バックアップデータベース150からデータ記憶モジュール110にデータを復元するように、さらに構成されている。バックアップデータベース150はまた、バックアップモジュール140によってデータを転送、バックアップモジュール140にデータを提供するように設計されている。
【００３０】
一態様では、検出モジュールにより変更されるデータの整合性に対するプロセスの脅威レベルを判断するために、検出モジュール160は、ルールに従って、アクティビティ追跡モジュール120から受信されたプロセスパラメータを解析するように構成されている。検出モジュール160は、行なわれた解析の結果に基づいて、プロセスで変更されたデータを、バックアップデータベース150からデータ記憶モジュール110に復元し、実行された解析の結果に基づいて、プロセスの動作をブロックするための要求を形成し、バックアップモジュール140に送信するように構成される。
【００３１】
一態様では、変更されたデータの整合性に対してプロセスの脅威レベルを判断するためのルールは、プロセスで変更されたデータの回復不能な損失の可能性に応じるものでありえる。より具体的には、復号化できない状態のデータの暗号化（例えば、必要な復号鍵を取得が不可能である為）、データの上書き（例えば、古いデータを回復することができない状態で古いデータに対して新たなデータの書き込む）、データの削除などが含まれる。プロセスは、メモリからそのプロセスを削除すること、そのプロセスの実行を停止すること、そのプロセスを実行するファイルを隔離して配置すること等によってブロックすることができる。
【００３２】
例示的なシステム及び方法をさらに説明するために、以下の例では、暗号化プログラムによって暗号された後、Microsoft Office （登録商標）文書（例えば、“*.docx”, “*.xlsx” 等）の変更されたデータを復元するシステムの操作を説明する。上述したように、その暗号化プログラムは、悪意あるソフトウェアであり、それは、データベース、Microsoft Office文書、写真、ビデオ等のユーザのファイルの暗号化を行ない、そして、有料の復号化プログラムを使用して、それらの復号をユーザに提案する。
【００３３】
一態様では、暗号化プログラムは、暗号化を行い、そのファイル名を変更した後、感染したコンピュータのハードディスクにおいて、Microsoft Officeファイルを検索する（例えば、プログラムによって、*.docxから*.docx_cryptedに拡張子は変更されている。それは、かつて暗号化されたファイルであるものを見つけ、その後に復号化するためである）。変更を行うためにMicrosoft Officeの文書ファイルへのアクセス権を取得するための要求と共に、暗号化プログラムがデータ記憶モジュール110（オペレーティングシステムのファイルマネージャーであってもよい）にアクセスする場合、WinAPI関数の、”::CreateFile”、”:: WriteFile”、及び”::MoveFile”のコールが実行される。例示的な態様で、アクティビティ追跡モジュール120は、これらの要求を傍受し、そのパラメータを判断する。すなわち、それはアクセスされるファイル固有の識別子であり、ファイルの実行の準備などをするように操作するものである。アクティビティ追跡モジュール120は、解析モジュール130へ受信した情報を送信する。アクティビティ追跡モジュール120は、また、暗号化プログラムのプロセスのパラメータ（プロセス識別子、プロセスによる実行された操作のログ等）を傍受し、そして、復号化モジュール160へ傍受したパラメータを送る。
【００３４】
一態様では、解析モジュール130は、傍受された要求のパラメータに基づいて、以下の基準を算出する。例えば、ファイルの操作方法（例えば、フラグ「OPEN_EXISTING」を送信することによって、既存のファイルを開くための要求）で、その要求が実行しようとしている"*.docx“のファイルの種類（Microsoft Officeの文書のファイルの1つ）、ファイルを操作する種類（例えば、要求は、フラグ「GENERIC_WRITE」を送信することにより、ファイルに書き込む）、ファイルの変更パラメータ（例えば、新しいデータでファイル全体を上書きする）、及び新しいファイル名（すなわち、古いものとは異なる）である。
【００３５】
一態様では、次に、解析モジュール130は、データのバックアップコピーを実行する必要性を判断するルールに基づいて、算出された基準の解析を行う。それは、以下の基準のうち１つ又は複数を用いるものである。
(1)要求されたファイル種類に応じて、解析モジュール130は、更なるプロセスが必要であるかを判断する。つまり、ファイルの整合性が、（例えば、実行ファイル“*.exe”, “*.dll”等）オペレーティングシステムの動作にとって重要であるかどうか、又は、（データベース、Microsoft Officeの文書、電子メールファイル、写真等のように）ユーザにとって重要であるかどうか、によって更なるプロセスの必要性を判断するルール。
(2)ファイル実行の方法に応じて、解析モジュール130は、その動作が変更を生じさせるものであるかどうかと判断するルール（例えば、新しいものを生成するのではなく、既存のファイルのオープン）。
(3)ファイルを操作する種類に応じて、解析モジュール130は、ファイルを操作すると、その変更が生じるかどうかを判断するルール（例えば、読み取り専用で開けるファイルであるが、書き込みのためのファイルを開く）
(4)書き込まれているデータに応じて、解析モジュール130は、（例えば、ストリーミングビデオファイルにデータを追加することにより）変更を生じさせるものであるかどうか、又はデータが影響を受けないかどうかについて判断するルール。
【００３６】
算出された基準（例えば、ファイルの種類又はそのファイルの操作の種類に応じて、すなわち、本例において、これは、暗号化プログラムが、Microsoft Office文書に書き込まれることを意味する）によって、少なくとも一つのルールがトリガーとなる場合、解析モジュール130は、1つの態様に応じて、バックアップデータベース150にMicrosoft Office文書のバックアップコピーをするように、バックアップモジュール140へ要求を形成し、その要求を送信する。
【００３７】
次に、バックアップモジュール140は、解析モジュール130からの要求を受信し、暗号化プログラムによって変更されたMicrosoft Office文書を、データ記憶モジュール110からバックアップデータベース150へバックアップコピーする。
【００３８】
さらに別の態様で、暗号化プログラムのプロセスにおけるアクティブなファイルの追跡は、この時点で終了しない。むしろ、暗号化プログラムは、新しいMicrosoft Office文書を変更するために、その文書にアクセスする。アクティビティ追跡モジュール120は、解析モジュール130へ暗号化プログラムのプロセスにおける要求の新しいパラメータを送るだろう。さらに、解析モジュール130は、変更されたMicrosoft Office文書のバックアップコピーのために、バックアップモジュール140への要求を形成し送信するだろう。
暗号化プログラムのプロセスにおけるアクティブなファイルの追跡は、暗号化プログラムのプロセスが検出モジュール160によってブロックされるまで続くだろう。
【００３９】
本態様において、検出モジュール160は、Microsoft Office文書を変更するアクティビティ追跡モジュール120から受信した暗号化プログラムのプロセスパラメータ（プロセス実行中のアプリケーションへのパス、プロセス記述子、プロセスによって実行される操作のログ等）に基づいて、文書の整合性に対するプロセスの脅威レベルを判断する。一態様では、脅威レベルは、変更された文書のコンテンツの回復不能な損失の可能性を解析することによって算出される。例えば、ファイルは、回復不能なほど削除又は名前を変更することができ、ファイルの属性とアクセス権が変更されてもよく、ファイルのコンテンツは、対応する鍵が存在しないことに起因して、ユーザコンピュータ上の復号できない状態で暗号化されてもよい。（検出モジュール160の観点から信頼されていない）プロセスが、ファイルの書き込み及びファイル名の変更の操作をするので、これらのアクションは、検出モジュール160にとっては、文書データに対する脅威を示すものとして取り扱われる。さらに、一態様で、プロセスにより実行される操作（例えば、一時的なものも含め、異なるフォルダ内での文書の書き込み及びファイル名の変更という多くの要求）の受信ログの解析結果によれば、解析されているプロセスを起動している暗号化プログラムが、悪意があり、ユーザファイルに対して潜在的な損失を運ぶことを示している。
【００４０】
検出モジュール160が、解析プロセスによって変更されたMicrosoft Officeの文書のコンテンツの回復不能な損失の可能性の判定を配信した後、検出モジュール160は、このプロセスの操作をブロック（例えば、メモリからプロセスを削除、プロセスの実行を停止、プロセスを隔離して配置する等することができる）し、バックアップデータベース150からデータ記憶モジュール110にブロックされたプロセスによって変更された文書を復元するように、バックアップモジュール140に要求を形成し、送信する。
この態様で、バックアップモジュール140は、検出モジュール160からの要求を受信し、バックアップデータベース150からデータ記憶モジュール110に、暗号化プログラムによって変更された文書を復元する。この結果、一態様では、暗号化プログラムによって変更された文書のいずれも損傷しない。
【００４１】
変更されたデータを復元するシステム及び方法の他の例は、インジェクタプログラムによって変更された後、Internet Explorer（登録商標）のプロセスの復元である。そのインジェクタプログラムは、悪意あるソフトウェアであり、システムでのプロセスが動作しているメモリ領域内に、データ（例えば、実行コード、又は元のリソースと交換する目的で、画像のようなリソース）を挿入する。
【００４２】
この例では、インジェクタプログラムは、Internet Explorerのプロセスを検索し、発見したプロセスのメモリに広告バナー画像の形でデータをインジェクトし、その後、これらをInternet Explorerのブラウザに表示されている元の画像と入れ替える。（例えば、そのページに含まれるアイコン又は画像などのグラフィックインターフェイス要素が表示されている）
インジェクタプログラムが、変更を行うようにInternet Explorerのメモリ領域へのアクセスを要求すると共に、データ記憶モジュール110（オペレーティングシステムのメモリマネージャーである）にアクセスする場合、WinAPIの関数"::VirtualAllocEx”及び”::WriteProcessMemory”のコールを実行する。
アクティビティ追跡モジュール120は、これらの要求を傍受し、その要求のパラメータを判断する。すなわち、メモリ領域はアクセスされ、それは、メモリ等で実行するために準備するように操作する。
そのように判断されたパラメータは、アクティビティ追跡モジュール120によって解析モジュール130へ送信される。
アクティビティ追跡モジュール120は、また、インジェクタプログラムのプロセスパラメータ（プロセス識別子、プロセスによって実行される操作のログ等）を傍受し、これらを検出モジュール160に送る。
【００４３】
一態様で、解析モジュール130は、傍受されたプロセスの要求（データ記憶モジュール110への要求）におけるパラメータ（アクティビティ追跡モジュール120から受信した）に基づいて、以下の基準を算出する。
例えば、
・どのアプリケーションが、要求されたメモリ領域に属しているのか（例えば、本実施例ではInternet Explorer）
・メモリでの動作方法（例えば、"MEM_COMMIT"、"MEM_RESERVE"、"PAGE_EXECUTE_READWRITEフラグを送信することにより、メモリへの書き込みを要求）
・メモリ変更パラメータ（例えば、書き込みが発生するメモリアドレス、書き込みが行われるメモリアドレス、書き込みされるだろうデータサイズ等）
【００４４】
一態様で、解析モジュール130は、バックアップデータのコピーを実行する必要性を判断するルールに基づいて算出された基準の解析を行うことができる。
・プロセスの種類に応じて、メモリへのアクセスが要求され、解析モジュール130は、更なる処理に対する必要性とファイルの整合性がオペレーティングシステムの動作（例えば、オペレーティングシステムのアプリケーション等）にとって重要であるかどうかを判断するルール。
・メモリでの動作方法に応じて、解析モジュール130は、その動作がデータの変更をもたらすかどうかを判断するルール。
・メモリでの操作の種類に応じて、解析モジュール130は、メモリでの動作がその変更をもたらすかどうかを判断するルール。
・書き込まれているデータに応じて、解析モジュール130は、プロセスのメモリ内のデータの変更をもたらすかどうか、又は、データが影響を受けないかどうかを判断するルール。
【００４５】
算出された基準によって、少なくとも１つのルールがトリガーとなる場合、（例えば、プロセス又はこのプロセスでの操作の種類に応じて、すなわち、本例においては、インジェクタプログラムがInternet Explorerのメモリに書き込まれるだろうことを意味する）、解析モジュール130は、バックアップデータベース150にInternet Explorerプロセスの選択されたメモリ領域をバックアップコピーするために、バックアップモジュール140への要求を形成し、送信する。
バックアップモジュール140は、解析モジュール130からの要求を受信し、インジェクタプログラムによって変更されたInternet Explorerプロセスのメモリ領域を、データ記憶モジュール110からバックアップデータベース150へバックアップコピーする。
【００４６】
一態様で、検出モジュール160は、Internet Explorerのメモリ領域を変更するというプロセスであって、アクティビティ追跡モジュール120から受信したインジェクタプログラムのプロセスパラメータ（例えば、プロセス実行中のアプリケーションへのパス、プロセス記述子、プロセスによって実行されている操作のログ等）に基づいて、そのプロセスによって変更されるデータであって、メモリ領域に存在するデータの整合性に対するプロセスの脅威レベルを判断する。
脅威レベルは、変更されたプロセスのメモリ領域におけるコンテンツの回復不能な損失の可能性を解析することによって算出される。
プロセスが、他のプロセスのメモリ領域への書き込み操作をするので、これらのアクションは、Internet Explorerのプロセスのデータに対する脅威を構成するものとし、検出モジュール160によって認識される。さらに、プロセス（外部プロセスへの書き込みのための多くの要求）で実行された操作の受信ログの解析結果によれば、解析されているプロセスを起動しているインジェクタプログラムが悪意あり、ユーザデータに対して潜在的な損傷を運ぶことを示している。
【００４７】
検出モジュール160が、領域内に存在するデータ（解析しているプロセスで変更されたデータ）の回復不能な損失の可能性に関する判定を配信した後、検出モジュール160は、このプロセスの動作をブロック（例えば、メモリからプロセスを削除、プロセスの実行を停止、プロセスを隔離して配置する等）する。さらに、バックアップデータベース150からデータ記憶モジュール110に、プロセスにおけるデータ（ブロックされたプロセスで変更されたデータ）を復元するように、バックアップモジュール140に要求を形成し、送信する。
【００４８】
この態様で、バックアップモジュール140は、検出モジュール160からの要求を受信し、バックアップデータベース150からデータ記憶モジュール110に、インジェクタプログラムで変更されたデータを復元する。この結果、Internet Explorerプロセスのインジェクタプログラムによって変更された文書は損傷しない。
【００４９】
図2は、例示的態様に従って、変更されたデータを復元する例示的な方法のフローチャートを示す。
一般的に示されるように、その方法は、データを変更する要求を傍受し（工程210)、傍受された要求のパラメータを判断し（工程220)、データのバックアップコピーを実行し（工程230)、プロセスパラメータを判断し（工程240)、プロセスパラメータを解析し（工程250)、プロセス操作をブロックし（工程260)、及び変更されたデータを復元する（工程270）ことを含む。
【００５０】
より具体的には、例示的な態様によれば、工程210において、アクティビティ追跡モジュール120は、プロセスから、少なくとも1つのデータ変更の要求を傍受する。上述したように、傍受された変更の要求におけるデータは、例えば、ファイル及び/又はメモリアドレスであってもよい。また、プロセスのデータ変更の要求は、例えば、オペレーティングシステムのAPI関数（特に、Microsoft WindowsのWinAPI関数）及び/又はオペレーティングシステムのカーネル関数であってもよい。
【００５１】
工程220で、解析モジュール130は、傍受された要求のパラメータを判断する。例示的な態様によれば、傍受された要求のパラメータは、例えば、固有のデータ識別子、データの操作方法、データ操作の種類及びデータ変更パラメータであってもよい。
【００５２】
次に、工程230で、バックアップモジュール140は、傍受された要求に対して判断されたパラメータを解析した結果を受けて、バックアップデータベース150へのデータのバックアップコピーを実行する。傍受された要求のパラメータを解析することは、データ変更の可能性（例えば、書き込み権限を持つファイルのオープン、ファイル削除する関数のコール等）を判断することによって行われる。
【００５３】
工程240で、解析モジュール130は、データ変更の要求を送信したプロセスにおけるパラメータを判断する。プロセスのパラメータは、例えば、プロセス実行中のアプリケーションへのパス、プロセス記述子、及びプロセスにより実行された操作のログであってもよい。
【００５４】
次に、工程250で、プロセスのパラメータは、そのプロセスで変更されたデータの整合性に対するプロセスの脅威レベルを判断するために、ルールを用いて解析される。一態様では、工程210から250は、少なくともプロセスの操作が工程260でブロックされるまで、繰り返すことができる。
【００５５】
一態様で、変更されているデータの整合性に対するプロセスの脅威レベルを判断するためのルールによって、プロセスで変更されたデータにおける回復不能な損失の可能性をテストすることができる。
すなわち、
復号化できない状態でのデータの暗号化（例えば、必要な復号鍵を取得が不可能である為）、
データの上書き（すなわち、古いデータを回復することができない状態で古いデータに対して新たなデータの書き込む）、
及び、データの削除などである。
【００５６】
工程260で、プロセスの操作は、工程250で実行される解析の結果に基づいて、ブロックすることができる。一態様では、プロセスの操作は、例えば、メモリからプロセスを削除すること、プロセスの実行を停止すること、そのプロセスを実行するファイルを隔離して配置することによってブロックすることができる。最後に、工程270で、プロセスで変更されたデータは、バックアップデータベース150から復元される。
【００５７】
上記概説した原理に基づいて変更されたデータを復元するための方法は、ファイル名が変更された後の画像ファイル（例えば、「*.JPEG」、「*.TIFF」など）の復元の例として、提供される。ファイルへのアクセス権は、身代金要求型プログラムによって変更される。上述したように、身代金要求型プログラムは、悪意あるソフトウェアであり、それは、ファイル名を変更すること、ファイルシステムでの位置を変更すること、アクセス権を変更すること等によって、画像、ビデオ、及びその他のファイルにアクセスする権利を制限する。さらに、それは、特別なプログラムに対する支払いをすることによって、変更されたファイルを復元するチャンスをユーザに提供する。
【００５８】
この例によれば、身代金要求型プログラムは、感染したコンピュータのハードディスクで画像ファイルの検索を実行し、ファイルシステムにおいてその位置を変更し、アクセス権を変更した後、管理者権限を持っていないユーザに、そのファイルのアクセスをさせない。
身代金要求型プログラムが、WinAPI関数の"::MoveFile"と"::SetNamedSecurityInfo"のコールで構成される要求であって、処理された画像ファイルに対する変更の要求を送信する場合、その要求は工程210で傍受される。
要求が傍受された後、工程220で、要求のパラメータが判断される。この例では、要求のパラメータは、新旧のファイルパス、ファイル種類（構造体"ECURITY_INFORMATION"）、セキュリティの情報（構造体" SECURITY_INFORMATION"）等である。要求がファイルのパラメータ変更を目的としているので、工程230において、バックアップデータベース150への変更されたパラメータのバックアップコピーが行われる。次に、工程240において、身代金要求型プログラムによって実行されるプロセスにおける、パラメータ、プロセス識別子、プロセスによって実行される操作のログ等が判断される。工程250において、身代金要求型プログラムによって実行されるプロセスのパラメータが解析される。そのプロセスは、工程250で実行される検出モジュール160の観点から信頼（例えば、信頼できるデジタル署名によって署名されたファイルシステム等）されていないので、プロセスによって実行される操作（一時的なものも含め、異なるフォルダ内での画像ファイルに対する変更を行う多くの要求等）の受信したログの解析結果によれば、解析されているプロセスを起動している身代金要求型プログラムが、悪意があり、ユーザのファイルに対して潜在的な損失を運ぶことを示している。（すなわち、上述したアクションは、悪意あるプログラムの特性であり、信頼できるアプリケーションのものではない）
身代金要求型プログラムが悪意あるものとして認識された後、工程260で、身代金要求型プログラムの操作はブロックされる。身代金要求型プログラムのファイルが悪意あるプログラムによる引き続き繰り返されるコールを避けるために、プロセスは停止され、メモリから削除され、隔離して配置される。
このあと、工程270で、身代金要求型プログラムによって変更されたファイル属性とアクセス権が復元される。プロセスの結果として、身代金要求型プログラムによって変更された画像ファイルのいずれも損傷していない。
【００５９】
図3は、開示されたシステム（パーソナルコンピュータ又はサーバであってもよい）および方法は、実装することができる。コンピュータシステム20は、中央処理ユニット21、システムメモリ22及びシステムバス23を含み、システムバスは、様々なシステムコンポーネント（中央処理ユニット21に付随するメモリを含む）に接続している。システムバス23は、先行文献で知られている任意のバス構造のように実現され、順にバスメモリ又はバスメモリコントローラ、周辺バス、及びローカルバスを含み、それは、任意の他のバスアーキテクチャと相互作用することができる。システムメモリは、読み出し専用メモリ（ROM）24およびランダムアクセスメモリ（RAM）25を含む。基本入出力システム（BOIS）26は、パーソナルコンピュータ20の要素間で情報の転送を保証する基本的な手順を含み、ROM24を使用してオペレーティングシステムをロードする時にも同様である。
【００６０】
パーソナルコンピュータ20は、順に、データの読み書き用ハードディスク27、リムーバブル磁気ディスク29への読み書き用磁気ディスクドライブ28、及び、リムーバブル光ディスク31（CD-ROM、DVD-ROM又は他の光情報媒体等）への読み書き用光ドライブ30を含む。ハードディスク27、磁気ディスクドライブ28、及び光ドライブ30は、それぞれ、ハードディスクインターフェース32、磁気ディスクインタフェース33及び光ドライブインターフェース34を介してシステムバス23に接続されている。ドライブ及び対応するコンピュータ情報媒体は、パーソナルコンピュータ20のコンピュータ命令、データ構造、プログラムモジュール、およびその他のデータにおける記憶装置に対して電力独立型モジュールである。
【００６１】
本開示は、ハードディスク27、リムーバブル磁気ディスク29およびリムーバブル光ディスク31を使用するシステムの実装を提供するが、コンピュータによって読み取り可能な形式でデータを保存することができる他の種類のコンピュータ情報媒体56（ソリッドステートドライブ、フラッシュメモリカード、デジタルディスク、ランダムアクセスメモリ（RAM）等）を使用することも可能であることが理解されるべきであり、それらは、コントローラ55を介してシステムバス23に接続される。
【００６２】
コンピュータ20は、ファイルシステム36を有し、そこには記録されたオペレーティングシステム35が保持され、および、追加プログラムアプリケーション37、他のプログラムモジュール38およびプログラムデータ39、もまた同様である。
ユーザは、入力デバイス（キーボード40、マウス42）で、パーソナルコンピュータ20に、コマンドと情報を入力することができる。他の入力デバイス（図示せず）として、マイクロホン、ジョイスティック、ゲームコントローラ、スキャナ等を用いることができる。そのような入力デバイスは、通常、シリアルポート46を介してコンピュータシステム20に接続され、それは、順番に、システムバスに接続される。それらは、他の方法（例えば、パラレルポート、ゲームポート、又はユニバーサルシリアルバス（USB））を用いて接続できる。モニター47又は他の種類の表示デバイスもまた、ビデオアダプタ48などのインターフェースを介してシステムバス23に接続される。モニター47に加えて、パーソナルコンピュータは、ラウドスピーカー、プリンター等の他の周辺出力デバイス（図示せず）を搭載することができる。
【００６３】
パーソナルコンピュータ20は、1つ又は複数のリモートコンピュータ49を用いて、ネットワーク環境で作業することができる。図3に示すように、リモートコンピュータ（複数可）49も、前述の要素の大部分又は全てを有するパーソナルコンピュータ又はサーバであり、その要素は、パーソナルコンピュータ20の本質を示している。ルータ、ネットワーク局、ピアデバイスまたは他のネットワークノード等、他のデバイスも、コンピュータネットワークに存在できる。
【００６４】
ネットワーク接続は、有線および/または無線ネットワーク等のローカルエリアコンピュータネットワーク（LAN）50、およびワイドエリアコンピュータネットワーク（WAN）を形成することができる。このようなネットワークは、企業コンピュータネットワークと社内ネットワークで使用されており、これらは一般的にインターネットへのアクセス権を有している。LANまたはWANネットワークでは、パーソナルコンピュータ20は、ネットワークで使用しているネットワークアダプタまたはネットワークインタフェース51を介してローカルエリアネットワーク50に接続される。ネットワークが用いられる場合、パーソナルコンピュータ20は、インターネットのようなワイドエリアコンピュータネットワークとの通信を提供するため、モデム54または他のモジュールを使用する。モデム54は、内部または外部デバイスであり、シリアルポート46によってシステムバス23に接続される。ネットワーク接続は、単なる例であり、ネットワークの正確な構成を示す必要はないことに留意すべきである。すなわち、現実には、Bluetooth（登録商標）などの技術的な通信モジュールによる別のコンピュータの接続を確立する他の方法がある。
【００６５】
様々な態様において、本明細書で説明するシステム及び方法は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組み合わせで実装することができる。ソフトウェアで実装する場合、その方法は、非一時的なコンピュータ可読媒体上の1つまたは複数の命令またはコードとして保存されることができる。コンピュータ可読媒体は、データ記憶を含む。コンピュータ可読媒体を以下に例示するが、限定するものではない。コンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROM、フラッシュメモリ、又は、他の種類の電気的、磁気的、または光記憶媒体、又は他の任意の媒体、を備えることができ、命令またはデータ構造の形で所望のプログラムコードを搬送又は保存するために用いられ、汎用コンピュータのプロセッサによってアクセスすることができる。
【００６６】
様々な態様では、システムおよび方法は、モジュールの観点から、本開示で説明される。本明細書で使用される用語「モジュール」とは、現実世界のデバイス、コンポーネント、または、ハードウェアを用いて実装されたコンポーネントの配置を言及しており、例えば、または、ハードウェアとソフトウェアの組み合わせとして、特定用途向け集積回路（ASIC）またはフィールド・プログラマブル・ゲート・アレイ（FPGA）などによって実装され、モジュールの機能を実装するマイクロプロセッサシステムと命令セットなどによって、（実行される間に）マイクロプロセッサシステムを専用のデバイスに変換される。モジュールも、2つの組合せとして実装されることができ、ハードウェアだけによって容易とされる特定の機能、および、ハードウェアとソフトウェアの組み合わせによって容易とされる他の機能と、これらの組み合わせとして実現することができる。特定の実施態様では、少なくとも一部、およびいくつかのケースでは、モジュールのすべては、（例えば、図3上部に詳細に説明したもののように）汎用コンピュータのプロセッサ上で実行することができる。したがって、各モジュールは、適切な様々な構成で実現することができ、そして本明細書中に任意の例示的な実施形態に限定されるものではない。
【００６７】
明瞭にするために、態様のルーチン機能のすべてが、本明細書に開示されているわけではない。本開示における任意の実際の実装における開発で、多数の実装固有の判断が、開発者の特定の目標を達成するためになされなければならないことが理解されるであろう。さらに、これらの具体的な目標は、異なる実装及び異なる開発者に対して変化することが理解されるであろう。そのような開発努力は複雑で時間がかかるかもしれないが、それでも本開示の利益を有する当業者にとっては、エンジニアリングの日常の仕事であると理解されるであろう。
【００６８】
さらに、本明細書で使用される用語又は表現は、説明のためであり、制限するものではなく、つまり、関連技術の熟練の知識と組み合わせて、本明細書の用語または表現は、ここに示される教示及び指針に照らして当業者によって解釈されるべきであることが理解されるべきである。明示的な記載がない限り、明細書または特許請求の範囲内で、任意の用語に対して、珍しいまたは特別な意味を帰することは意図されていない。
【００６９】
本明細書で開示された様々な態様は、例示のために本明細書に言及した既知のモジュールの、現在および将来の既知の均等物を包含する。さらに、態様および用途を示し、説明してきたが、本明細書に開示された発明の概念から逸脱することなく、上述したよりも多くの改変が可能であることが、この開示の利益を有する当業者には明らかであろう。
【図１】
0006352332.tif 000002
【図２】
0006352332.tif 000003
【図３】
0006352332.tif 000004