(57)【要約】      （修正有）【課題】ウイルスやワームなど、悪意のあるソフトウェア攻撃に対して、自己回復が可能なデバイスを提供する。【解決手段】デバイスに対する攻撃から生じた感染が検出された時間と、デバイスが、その時点までリストアされることが可能なより早い時点との間に加えられたチェンジが、少なくとも部分的に、どの種類のチェンジが行われたか、チェンジが真正であるか、それともマルウェアによって引き起こされたか、感染がおそらく起きた時間の後にチェンジが行われたか、および新たなソフトウェアがインストールされたかに基づいて、リカバリされる。【選択図】図１
2006178934.tif 000002
【特許請求の範囲】
【請求項１】
第１の時点において、デバイスにおける感染の存在を示す証拠を見つけるステップと、
前記デバイスの状態をより早い時点での状態までリストアすることにより、前記感染を除去するステップであって、前記より早い時点での状態は十分に信頼性があるステップと、
を含むことを特徴とする自己回復デバイスのための方法。
【請求項２】
前記感染の存在を示す証拠を見つけるステップは、前記感染が起きた可能性がある時間を示す証拠を見つけるステップを含む、ことを特徴とする請求項１に記載の方法。
【請求項３】
前記第１の時点に最も近い前記デバイスの状態におけるチェンジを検出するステップをさらに含み、
前記感染の存在を示す証拠を見つけるステップは、検出された前記チェンジに基づく、ことを特徴とする請求項１に記載の方法。
【請求項４】
前記第１の時点に最も近い前記デバイスの状態におけるチェンジを検出するステップは、前記デバイスにより使われるファイルシステムのために維持されているチェンジジャーナルからの情報を解析するステップを含む、ことを特徴とする請求項３に記載の方法。
【請求項５】
前記チェンジジャーナルは、ウィンドウズ（登録商標）ＮＴファイルシステム・チェンジジャーナルである、ことを特徴とする請求項４に記載の方法。
【請求項６】
前記第１の時点に最も近い前記デバイスの状態におけるチェンジを検出するステップは、前記デバイス上のアーカイブデータとライブデータの間の違いを判定するステップを含む、ことを特徴とする請求項３に記載の方法。
【請求項７】
前記第１の時点に最も近い前記デバイスの状態におけるチェンジを検出するステップは、前記デバイス上に保存されているディスク状態を検査するステップを含む、ことを特徴とする請求項３に記載の方法。
【請求項８】
前記より早い時点で前記デバイス上に保存された前記ディスク状態が感染していない場合、前記より早い時点での前記デバイスの状態は十分に信頼性があると判定するステップをさらに含む、ことを特徴とする請求項７に記載の方法。
【請求項９】
前記より早い時点での前記デバイスの状態は十分に信頼性があると判定するステップは、前記より早い時点で前記デバイス上に保存された前記ディスク状態を信頼性レベルに基づいて等級づけるステップを含み、該等級づけられた前記信頼性レベルは、保存された前記ディスク状態が感染していないときより高く、かつ保存された前記ディスク状態が感染しているときより低い、ことを特徴とする請求項８に記載の方法。
【請求項１０】
前記ディスク状態は、ウィンドウズ（登録商標）ボリューム・スナップショット・サービスにより生成されるボリュームシャドウ・コピーである、ことを特徴とする請求項９に記載の方法。
【請求項１１】
チェンジジャーナルおよび保存ディスク状態の少なくとも一方から情報を入手するステップと、
前記情報を分析することにより感染が起きたことを示す証拠を見つけるステップと、
前記情報に基づいて時間内に前記感染の場所を突き止めるステップと、
を含むことを特徴とする、マルウェア攻撃からリカバリする方法。
【請求項１２】
前記感染の時間以降に起こったチェンジを識別するステップと、
前記感染の時間前まで前記チェンジをロールバックするステップと、
をさらに含むことを特徴とする請求項１１に記載の方法。
【請求項１３】
前記識別されたチェンジをユーザに提示するステップと、
前記チェンジをロールバックする前に前記ユーザから許可を受けるステップと、
をさらに含むことを特徴とする請求項１２に記載の方法。
【請求項１４】
前記情報は、前記チェンジジャーナルおよび前記保存ディスク状態の前記少なくとも一方から解析される、ことを特徴とする請求項１１に記載の方法。
【請求項１５】
前記情報は、前記デバイスに関連した状態チェンジである、ことを特徴とする請求項１１に記載の方法。
【請求項１６】
前記チェンジジャーナルは、ウィンドウズ（登録商標）ＮＴファイルシステム・チェンジジャーナルであることを特徴とする請求項１１に記載の方法。
【請求項１７】
前記保存ディスク状態は、
ウィンドウズ（登録商標）ボリューム・スナップショット・サービスにより生成されるボリュームシャドウ・コピーである、ことを特徴とする請求項１１に記載の方法。
【請求項１８】
マルウェア情報のリポジトリと、
システム監査情報のリポジトリと、
マルウェア攻撃からの感染の証拠を見つけ、前記感染の証拠以降に起こったチェンジを識別し、前記マルウェア情報および前記システム監査情報の少なくとも一方に基づいて前記チェンジを除去することにより前記マルウェア攻撃からリカバリするプロセッサと、
を具備したことを特徴とする自己回復デバイスのためのシステム。
【請求項１９】
前記チェンジを除去することにより前記マルウェア攻撃からのリカバリを許可するユーザ入力をさらに含み、
前記プロセッサは、前記感染の証拠以降に起こった前記識別されたチェンジを表示し、前記チェンジの除去を許可する前記ユーザ入力を受けた後に前記マルウェア攻撃からリカバリする、ことを特徴とする請求項１８に記載のシステム。
【請求項２０】
前記システム監査情報のリポジトリは、チェンジジャーナルおよび保存ディスク状態の少なくとも一方を含む、ことを特徴とする請求項１８に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自己回復(self-healing)デバイスのための方法およびシステムに関するものである。
【０００２】
本発明は、コンピューティングデバイスに関し、より詳細には、マルウェア(malware)による影響を受けたコンピューティングデバイスのリカバリ(recovery)およびリストア(restore)に関する。
【背景技術】
【０００３】
現在のアンチウイルス(anti-virs)技術は、本明細書においてマルウェアと呼ばれる、ウイルスやワームなど、悪意のあるソフトウェア攻撃によって被害を受け、または破壊されたファイルおよびデータを検疫し、またはウイルス駆除するように設計される。しかし、被害から復帰するには、具体的なウイルスによって引き起こされた被害のタイプなど、攻撃において使われたマルウェアおよび被害から復帰するための命令についての知識が必要である。このような知識の入手は、手間のかかるプロセスである。その理由は、アンチウイルス研究者は、具体的なウイルスをリバースエンジニアリングし、被害から復帰するための命令を開発しなければならず、すなわち、マルウェアを識別し削除するための署名が開発されなければならないからである。したがって、攻撃によって影響を受けたファイルおよびデータをリペアするのに必要な署名の入手が、しばしば遅れる。さらに、その結果行われるリペアは、マルウェアの変形体をカバーすることができない場合がある。変形体をカバーするには、署名のアップデートを入手する必要がある。これは、攻撃にさらされているデバイスは、アンチウイルスソフトウェアをインストールしていない、またはアンチウイルスへの加入の期限を切らしてしまい、したがって、署名をアップデートしていない消費者のパーソナルコンピュータであることが多いので、特に問題である。
【０００４】
マルウェアは、他のマルウェアによって、デバイスをさらに危険にさらすのに悪用され得る、攻撃にさらされているデバイスへの「バックドア(back door)」を開けるときがある。他のどのマルウェアがバックドアを悪用し、マルウェアをインストールさせたかを常に知ることができるわけではないので、デバイスは、不確定な感染状態となる可能性があり、被害は、署名に基づく除去を用いても容易にリペアされることができない。
【０００５】
マルウェアは、オペレーティングシステムのファイルが損なわれたままの状態に、デバイスを放置することもできる。このように放置されると、リカバリステップは、残っている被害のリペアを試みる前に、被害を受けたオペレーティングシステムファイルを置き換える必要がある。
【０００６】
ある場合には、マルウェアによって引き起こされた被害がリペア不可能なことがある。例えば、ファイル感染因子を介して伝搬するマルウェアが、実行可能ファイルまたはユーザデータに復帰不可能なように被害を与え、ファイルを感染しまたは使用不可能な状態にする場合がある。マルウェアは、悪意をもってファイルを削除することもでき、これは、既存のアンチウイルス技術ではリストアすることができない。
【０００７】
マルウェアが、検出されるまでに膨大な数のデバイスを感染させる速度に伴うこうした問題、ならびに既存のアンチウイルス防御を避けるようにプロセスに進入し得るマルウェアの蔓延により、マルウェア攻撃に対する防御における多数の挑戦課題が提示されている。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
よって本発明の目的は上記の問題点を解決することにある。すなわち、上記の問題を解決するために、本発明の目的は、マルウェア攻撃からリカバリする方法、システム、コンピュータプログラム製品、およびデータ構造を実現可能とする発明を提供することにある。
【課題を解決するための手段】
【０００９】
本発明の一態様によると、デバイスが分析されて、攻撃から生じた感染が検出された時間と、デバイスがその時点までリストアされることが可能であるより早い時点との間に、何らかのチェンジが行われたかどうか判定する。チェンジが行われていない場合、デバイスの状態は、より早い時点までリストアされる。チェンジが行われた場合、デバイスの状態は、感染が起きたと推定される時間の後にチェンジが行われたかどうかに少なくとも部分的に基づいて、リストアされ得る。デバイスの状態は、どの種類のチェンジが行われたか、チェンジが真正であるか、それともマルウェアによって引き起こされたのか、および新たなソフトウェアがインストールされたかどうかに基づいてさらにリストアされる。
【００１０】
本発明の他の一態様によると、感染したことを示し得る証拠は、デバイスの状態のチェンジから見つけられる。この証拠は、デバイスによって使われるファイルシステム用に維持されるチェンジジャーナルから解析され、かつ／または集約される情報から見つけられる。証拠は、異なる時点でのデバイスのディスク状態の間の違いを含む、デバイスに格納されたアーカイブデータとライブデータの間の違いを検査することによっても見つけられる。証拠は、感染が実際に、またはおそらく起きた時間を示す証拠を含む。感染が実際に、またはおそらく起きた時間を示す証拠は、感染が起きた実際の時間の推定値を判定するために分析される。
【００１１】
本発明の他の一態様によると、デバイスがその時点までリストアされることが可能なより早い時点は、リストアポイントと呼ばれ、対応するより早い時点で保存された、デバイスの使用可能なディスク状態（群）から判定される。この使用可能な保存ディスク状態は、ディスク状態インターフェースを介して、信頼性を得るために評価される。ディスク状態インターフェースは、１つまたは複数のマルウェアプロバイダと連動して、他の使用の中でも特に、マルウェア攻撃からリカバリするために、ディスク状態の信頼性を評価するように動作する。信頼性の評価は、感染の有無、または感染の有無が不明であるかどうかを示す等級づけスキームによる、ディスク状態の等級づけを含むことができる。
【００１２】
本発明のさらに別の態様によると、デバイスは、感染が起きたと推定される時間以降に加えられたチェンジを識別するために処理される。こうしたチェンジは、ファイルおよび他のデータの追加、改変、および削除を含み、真正な、またはマルウェアによって引き起こされたチェンジを含むことができる。ファイルおよび他のデータは、レジストリエントリを含むオペレーティングシステムファイルおよび／または他のシステムデータ、ならびにユーザファイルおよび／または他のユーザデータを含むが、それに限定されない。一時的なチェンジは除外される。
【００１３】
本発明のさらに別の態様によると、デバイスは、リストアポイント以降に新たなソフトウェアがインストールされたかどうか判定するためにさらに処理される。新たなソフトウェアがインストールされていない場合、デバイスは、レジストリエントリを含むオペレーティングシステムファイルおよび／または他のシステムデータの状態を、リストアポイントまでリストアすることによって、少なくとも部分的にリカバリされる。
【００１４】
本発明のさらに別の態様によると、デバイスは、ユーザ確認に基づいて、チェンジを選択的にリカバリするなど、感染が起きたと推定される時間の後に行われたチェンジを選択的にリカバリすることによって、リカバリされる。デバイスは、保存ディスク状態の信頼性に基づいてリストアポイントに対応する保存ディスク状態からのチェンジを選択的にリカバリすることによって、さらにリカバリされる。
【００１５】
本発明の他の一態様によると、チェンジは、デバイスのリカバリを促進するために、ユーザインターフェースにおいて提示される。この提示は例えば、どのチェンジをリカバリするか、および／またはどのようにしてリカバリするかを確認するよう、デバイスユーザに促し、さらに、チェンジがリカバリされる基点となる保存ディスク状態の信頼性を、デバイスユーザに提示する。
【００１６】
上記の態様および本発明の付帯的利点の多くは、以下の詳細な説明を、添付の図面と併せ読み参照することによって、より容易に理解されよう。
【発明を実施するための最良の形態】
【００１７】
以下の説明は、本発明の様々な特徴の実施に適したコンピューティングシステムを記述することを意図している。このコンピューティングシステムは、通信ネットワークを介して相互にリンクされたリモートコンピューティングデバイスによって補助的なタスクが実施される、分散型計算機環境において使用可能なパーソナルコンピュータという一般的な状況で説明する。ただし、本発明は、他の多くのコンピュータシステム構成を用いて実施されることが当業者には理解されよう。例えば、本発明は、スタンドアロン環境において動作するパーソナルコンピュータを用いても、マルチプロセッサシステム、ミニコンピュータ、メインフレームコンピュータなどを用いても実施される。上記の従来のコンピュータシステムに加えて、本発明は、ラップトップコンピュータ、タブレットコンピュータ、携帯情報端末（ＰＤＡ）を含む他の種類のコンピューティングデバイス上でも、コンピュータソフトウェアまたは他のデジタルコンテンツがインストールされたどのデバイス上でも実施されることが当業者には理解されよう。
【００１８】
便宜上、本発明の様々な特徴の実施に適したコンピューティングシステムの記述のほとんどは、記憶ボリューム上に存在するファイルを格納し取得するのに使われるウィンドウズ（登録商標）ＮＴオペレーティングシステムおよびファイルシステム（ＮＴＦＳ）への言及を含むことができる。ただし、そうした言及は例示に過ぎず、本発明の一般的な適用範囲を限定する役割を果たすわけではないことは、当業者には理解されよう。例えば、本発明は、ウィンドウズ（登録商標）オペレーティングシステムの他のバージョンにおいて使われるファイル割り振りテーブル（ＦＡＴ）およびＯＳ／２高性能ファイルシステム（ＨＰＦＳ）や、ＬＩＮＵＸオペレーティングシステムおよび関連するファイルシステムなど、他のオペレーティングシステムおよびファイルシステムという状況において実施することができる。
【００１９】
本発明のある態様は、パーソナルコンピュータと連動したオペレーティングシステムによって実行され、またはアクセスされるプログラムという観点で説明できる。ただし、そうした態様は、他の様々なタイプのプログラムモジュールまたはデータ構造との組み合せでも実施されることが当業者には理解されよう。概して、プログラムモジュールおよびデータ構造は、特定のタスクを実施し、または特定の抽象データタイプを扱うルーチン、サブルーチン、プログラム、サブプログラム、メソッド、インターフェース、プロセス、プロシージャ、関数、コンポーネント、スキーマなどを含む。
【００２０】
図１は、本発明に従って形成される、マルウェア攻撃からリカバリさせる例示的なシステム１００の概要を示す。図に示すように、システム１００は、他のコンポーネントの中でも特に、より早い時点でアーカイブされた１つまたは複数のボリュームのデータの保存ディスク状態（群）１２０から、アーカイバルプロセス１３４を用いてデバイスをリストアしデータをリカバリするためのプロシージャを共同で実施するリカバリアナライザ１１４およびリカバリプロセス１２６を含む。動作する際、リカバリアナライザ１１４は、デバイスを分析して、デバイスがマルウェアによって攻撃された可能性があるという証拠を見つける。一実施形態では、リカバリアナライザ１１４はさらに、実際の感染時間の推定値、ならびに推定感染時間より前の時点でアーカイブされた保存ディスク状態（群）１２０の可用性を判定する。リカバリプロセス１２６は、保存ディスク状態（群）１２０を用いて、デバイスをリストアし、かつ／または攻撃において被害を受けた可能性があるデータをリカバリする。すなわち、デバイスを自己回復させる。
【００２１】
攻撃の証拠、ならびに感染時間の推定値は、デバイス上で動作するファイルシステムによって生成された保存ディスク状態（群）１２０、ライブデータ１２２、およびチェンジジャーナル１２４を含むがそれに限定されない、デバイス上の１つまたは複数のソース１１８から集められた情報に基づく。一実施形態では、こうした情報は、状態チェンジから、感染したことを示し得る証拠および他のシステム監査情報を見つける状態チェンジパーサ／アグリゲータ１１６によって解析され集約される。
【００２２】
例えば、一実施形態では、状態チェンジジャーナル１２４は、ウィンドウズ（登録商標）ＮＴファイルシステム（「ＮＴＦＳ」）のチェンジジャーナルとして実施される。ファイル、ディレクトリ、および他のＮＴＦＳオブジェクトが追加され、削除され、改変されると、ＮＴＦＳは、それぞれがデバイス上の各ボリュームに対応するチェンジジャーナルレコードをストリームに入れる。各レコードは、チェンジのタイプおよびチェンジしたオブジェクトを示す。ある特定のレコード用ストリームの先頭からのオフセットは、その特定のレコードに対して、アップデートシーケンス番号（ＵＳＮ）と呼ばれる。新たなレコードが、ストリームの末尾に付加され、その後、ファイルシステムは、マスタファイルテーブル（「ＭＦＴ」）エントリを、チェンジしたファイルまたはディレクトリ用の最新のＵＳＮ値でアップデートする。
【００２３】
一実施形態では、デバイスがリストアされデータがリカバリされる基点となる保存ディスク状態（群）１２０は、シャドウコピーとも呼ばれるウィンドウズ（登録商標）ボリューム・シャドウ・コピー・サービス（「ＶＳＳ」）などのアーカイバルプロセス１３４によって自動的に提供される、１ボリュームのデータの特定時点コピーでよい。ただし、デバイスをリストアし、かつ／またはデータをリカバリするためにディスク状態が、十分に信頼性がある限り、特許請求の範囲から逸脱することなく、デバイスのディスク状態を保存する他の手段も利用され得ることが理解されよう。例えば、一実施形態では、保存ディスク状態（群）１２０は、デバイス上のデータのスナップショットを自動的に、または要求に応じて生成するアーカイバルプロセスによって生成されることもでき、ミラープレックス(mirrored plex)が保持されるボリュームに保管されたディスク状態から、または別個の記憶デバイスもしくはサブシステムを使って複製されたデータから入手することもできる。
【００２４】
一実施形態では、状態チェンジパーサ／アグリゲータ１１６は、チェンジジャーナル１２４の中の情報を解析し、または保存ディスク状態（群）１２０を検査して、実際の感染時間を示し得る証拠を見つける。このようにして、状態チェンジパーサ／アグリゲータ１１６は、リカバリアナライザ１１６に、アナライザが実際の感染時間の推定値を少なくとも判定すること、すなわち、感染の予想時間(the likely time of infection)を判定することを可能にするのに十分な情報を提供することができる。チェンジジャーナル１２４および保存ディスク状態（群）１２０に加え、システム監査情報の他のソースも、同様にして、証拠を見つけ、感染の予想時間を判定するのに用い得ることが理解されるべきである。例えば、見つけられた証拠が、かなりの程度の特定性をもって、感染の予想時間を判定するのに十分なものである限り、デバイスの管理コンソール出力ログから、プロセス作成時間およびログをとられた他のイベントを特定するプロセス監査ログも使うことができる。いくつかの事例において、証拠は実際の感染時間を判定するのに十分である。したがって、これ以降の説明において、感染の予想時間の判定への言及は、十分な証拠が見つけられた場合の実際の感染時間の判定を含むものと理解できよう。
【００２５】
一実施形態では、感染の予想時間(the likely time of infection)が判定されると、リカバリプロセス１２６が開始されて、本発明に従って、マルウェア攻撃からのリカバリを始めることができる。あるいは、トリガイベントがデバイスの従来の駆除を保証する状況、例えば、マルウェアが比較的単純であり、駆除が十分に規定されていることをアンチウイルス署名が示す場合は、アナライザ１１４が代わりに、クラシックアンチウイルス駆除プロセス１２８を開始することができる。
【００２６】
通常の実施形態では、リカバリプロセス１２６は、２つのプロセス、すなわち、システムファイルをリカバリするためのシステムロールバックを実施するシステムリストアプロセス１３０と、ユーザファイルをリカバリするためのユーザデータロールバック１３２とに分けられる。リカバリプロセス１２６は、一方または両方のプロセス１３０および１３２を開始して、システムをリストアし、かつ／または感染の予想時間より前に作成された保存ディスク状態（群）１２０を用いて、デバイス上のデータを選択的にリカバリすることができる。
【００２７】
一実施形態では、リカバリプロセス１２６は、後に図４〜図９Ｅを参照してさらに詳しく説明するが、ユーザインターフェースと連動して実施される。ユーザインターフェースは、デバイスのユーザによるリカバリプロシージャの確認を容易にする。
【００２８】
リカバリアナライザ１１４およびリカバリプロセス１２６として実施されるリカバリプロシージャの動作は、１つまたは複数の感染ディテクタ１０４によってトリガされる。一実施形態では、感染ディテクタ１０４は、ビヘイビア(behavior)トリガエンジン１０６およびアンチウイル(anti-virus)ストリガエンジン１０８の少なくとも一方を備える。感染ディテクタ１０４は、最小限の署名および／または他の検出ヒューリスティック(detection heuristics)１１０と署名アップデート(signature update)１１２とを使って、リカバリプロシージャ(recovery procedure)の動作をトリガするイベントを検出するように適合される。このイベントは通常、既知のウイルスまたは他のタイプのマルウェアによって引き起こされた被害と相関するタイプの、起こり得るまたは実際の被害、例えば署名と合致するイベントを、デバイスに信号通知する。ただし、このイベントは、署名に基づかず、マルウェアの存在を示す、デバイス上の他のタイプの疑わしいビヘイビアまたは情報の発見も含むことができる。例えば、アンチウイルス署名定義への依拠を削減するために、最小限の署名および／または他の検出ヒューリスティック１１０は、他のものの中でも特に、異常なディスクもしくはネットワークアクティビティの出現、または不審なデータの存在を含む。他の実施形態として、あるいはさらに、リカバリアナライザ１１４およびリカバリプロセス１２６の動作は、手動トリガ１０２を介して手動でトリガされる。
【００２９】
図２は、マルウェア攻撃からリカバリさせる、上述したシステム１００が、本発明に従って利用される一般的なシナリオ２００を示すタイムラインを示す図である。図に示されるように、時間矢印２０４は、時間の経過を表し、並行するレコード矢印２０２は、表されている時間経過中のチェンジジャーナルにおける、すべてのディスクチェンジイベントの自動レコードを表す。同様に、並行する格納矢印２１８は、表されている時間経過中に起き、かつおそらく保存された、時間「ｔ」でのディスク状態を表す。図２において、４つの時間、すなわちｔｒｅｓｔｏｒｅ、２０４Ａと、ｔｉｎｆｅｃｔｉｏｎ、２０４Ｂと、ｔｄｅｔｅｃｔｉｏｎ、２０４Ｃと、ｔｒｅｃｏｖｅｒｙ、２０４Ｄとが強調表示されている。時間ｔｒｅｓｔｏｒｅ、２０４Ａは、参照番号２０６で記載されているように、保存ディスク状態がデバイスの感染前状態のリカバリのために利用可能である時間を表す。時間ｔｉｎｆｅｃｔｉｏｎ、２０４Ｂは、参照番号２０８で記載されているように、ウイルス、ワーム、または他のタイプのマルウェアによってデバイスが実際に感染した時間を表す。時間ｔｄｅｔｅｃｔｉｏｎ、２０４Ｃは、参照番号２１０で記載されているように、ウイルス、ワーム、または他のタイプのマルウェアによる感染が検出された時間を表す。最後に、時間ｔｒｅｃｏｖｅｒｙ、２０４Ｄは、参照番号２１２で記載されているように、リカバリが開始された時間、すなわち、デバイスのディスク状態が感染状態および非感染状態の混合であるときを表す。
【００３０】
図２を参照して続けると、プロセスブロック２２０において、システムのアナライザ１１４は、デバイスを分析して、実際の感染時間であるｔｉｎｆｅｃｔｉｏｎ、２０４Ｂの推定値、すなわち感染の予想時間を、図１を参照して前述したように、通常は状態チェンジパーサ／アグリゲータ１１６のサービスを用いることによって判定する。ある場合では、システムのアナライザ１１４は、単なる推定値ではなく、実際の感染時間であるｔｉｎｆｅｃｔｉｏｎ、２０４Ｂを判定できる可能性がある。例示されるシナリオにおいて、感染の予想時間、または実際の感染時間であるｔｉｎｆｅｃｔｉｏｎ、２０４Ｂは、場合によっては、デバイスのオペレーティングシステムおよびユーザデータがリカバリされるかどうか判定するために、感染前ディスク状態、例えば時間ｔｒｅｓｔｏｒｅ２０４Ａにおいて保存された使用可能なディスク状態とともに、リカバリプロセス１２６に入力される。ある場合では、予想または実際の感染時間(the likely or actual time of infection)ｔｉｎｆｅｃｔｉｏｎ、２０４Ｂより前に置かれていた状態まで、以前の保存ディスク状態を用いてデバイスをリストアするのに、参照番号２１４で示されるように、システムリストアプロセス１３０が用いられる。他の実施形態として、またはさらに、予想または実際の感染時間ｔｉｎｆｅｃｔｉｏｎ、２０４Ｂより前に置かれていた状態まで、デバイス上の、影響を受けたファイルまたは他のデータを、参照番号２１６で示されるように、以前の保存ディスク状態を用いて選択的にロールバックするのに、ユーザロールバックプロセス１３２が用いられる。
【００３１】
通常のシナリオでは、いくつかの保存ディスク状態ｔｒｅｓｔｏｒｅ２０４Ａが存在する可能性があり、こうした状態から、デバイスのオペレーティングシステムおよびユーザデータが、システムリストアプロセス１３０および／またはユーザロールバックプロセス１３２を用いてリカバリされる。ただし、使用可能な保存ディスク状態ｔｒｅｓｔｏｒｅ２０４Ａすべてが、信頼性があるわけではない。例えば、あるデバイスでは、オペレーティングシステムは、シャドウコピーが、１つまたは複数のシステムコンポーネントおよび／または他のサードパーティアプリケーションによって時々依拠されると予想しながら定期的な間隔でシャドウコピーをとることによって、ディスク状態を保存する。シャドウコピーは通常、ウイルス／マルウェア感染およびその後の駆除のライフサイクルの間中、存続する。読み取り専用の性質がある場合には、シャドウコピー自体が感染され、「消毒不可能(not cleanable)」となり得る。
【００３２】
感染ディスク状態(infected disk state)は、長期間にわたってシャドウコピー中に持続されるので、システムリストア１３０およびユーザロールバックプロセス１３２など、シャドウコピーに依拠するアプリケーションは、シャドウコピーの信頼性を検証することが賢明であろう。信頼性レベルは、使用タイプに応じて変わり得る。例えば、システムのリストアを実施する際、シャドウコピーは、単一ファイル（例えば、ユーザデータ）リストアを実施するときより高い標準の信頼性に保たれても保たれなくてもよい。したがって、一実施形態では、システムリストア１３０およびユーザロールバックプロセス１３２は、後に図４を参照してさらに詳しく説明するが、デバイスのオペレーティングシステムおよびユーザデータがそこからリカバリされ得る１つまたは複数の保存ディスク状態ｔｒｅｓｔｏｒｅ２０４Ａの信頼性を検証することができる。
【００３３】
図３は、図１に示した例示的なシステム１００のそれ以外の態様を示す図である。本図に示すように、クライアントデバイス３００は、例示的なシステム１００のコンポーネントの一部または全部を備えたロールバックおよびリカバリシステム３０２を有するよう構成することにより、自己回復コンピュータに変えることができる。一実施形態では、ロールバック(rollback)リカバリアナライザ１１４は、リカバリプロセス１２６を用いてクライアントデバイス３００がそれ自体を回復(heal)することができるかどうか判定するために、感染ディテクタ(infection detector)１０４または手動トリガ１０２によって呼び出されるアプリケーションプログラミングインターフェース３０４を含む。ある場合には、アナライザの呼び出しを促進させたイベント、例えばマルウェア攻撃の検出は、クライアントデバイス３００が攻撃からリカバリするのに最良の方法が、従来の駆除プロセス１２８を用いるものとなるようなイベントとなり得る。これは、例えば、攻撃が比較的単純であるか、または公知のウイルスによって起こされ、その影響が十分に定義されたものであり復帰可能であるときに、当てはまる。このような場合、マルウェア攻撃をドキュメント化するのに使われる署名は、クラシックアンチウイルス駆除プロシージャが常に用いられることを保証するようにエンコードされる。
【００３４】
通常の実施形態では、クライアントデバイス３００にとって、攻撃からの代替的な、より効果的であり得るリカバリ方法（しばしば、デバイス３００に接続された他のデバイスに攻撃が伝搬され得る前）は、従来の駆除を試みるのではなく、ロールバックおよびリカバリプロセス１２６を用いるものでよい。アナライザ１１４によって判定された感染の予想時間（または、場合によっては実際の感染時間ｔｉｎｆｅｃｔｉｏｎ２０４Ｂ）を用いると、ロールバックリカバリプロセス１２６は、マルウェア攻撃によって影響を受けた可能性があるファイルおよびデータの感染前保存ディスク状態（群）３０６を用いて、デバイスをリカバリする選択肢を、ユーザに提供する。こうした選択肢は、システムリストアプロセス１３０およびユーザデータロールバックプロセス１３２の一部としてユーザに提示されることができ、こうしたプロセスはそれぞれ、ロールバックおよびリカバリ・ユーザインターフェース３１０を使って、選択肢の選択および確認を可能にするユーザ入力３０８を受け取ることができる。こうしたユーザインターフェースの例については、後に図８Ａ〜図Ｃおよび図９Ａ〜図９Ｅを参照してさらに詳しく説明する。一実施形態では、システムリストアプロセス１３０およびユーザデータロールバックプロセス１３２の一部としてユーザに提示され得る選択肢は、マルウェア攻撃によって影響を受けた可能性があるファイルおよびデータの感染前保存ディスク状態（群）３０６の信頼性に依存する。通常の実施形態では、感染前保存ディスク状態（群）３０６の信頼性は、次に図４を参照して詳しく説明すように判定される。
【００３５】
図４は、図１に示した例示的なシステムのそれ以外の態様を示す図である。図示するように、システムリスト・アプロセス１３０およびユーザデータロールバック・プロセス１３２の一方または両方には、他のコンポーネントの中でも特に、感染前保存ディスク状態（群）３０６を含む使用可能な保存ディスク状態（群）４０２のいずれかが、信頼性があると検証され得るかどうか判定するためのディスク状態インターフェース４０４を備えるディスク状態等級づけサブシステム４００を用いることができる。一般に、信頼性があるディスク状態とは、感染していない状態であり、信頼性がないディスク状態とは、感染している状態、または感染の有無が不明、もしくは判定されることができない状態である。通常の実施形態では、システムリストアプロセス１３０および／またはユーザデータロールバックプロセス１３２は、ディスク状態、例えば、本明細書においてシャドウコピーとも呼ぶ、特定の保存ディスク状態ｔｒｅｓｔｏｒｅ２０４Ａの状況を照会する。ディスク状態インターフェース４０４は、１つまたは複数のアンチウイルスプロバイダ４０６へのクエリ４１２の受渡しを調整し、プロバイダ４０６は、ディスク状態ｔｒｅｓｔｏｒｅ２０４Ａなどのディスク状態を分析して、アンチウイルスプロバイダが検出するように設計されている具体的なウイルス、ワーム、または他のマルウェアに対して相対的な信頼性を判定することができる。このようにして、ディスク状態インターフェース４０４は、保存ディスク状態ｔｒｅｓｔｏｒｅ２０４Ａに対応するリストアポイントが好ましいか、それとも好ましくないかということについての情報を生成する。例えば、好ましくないリストアポイント(non-preferred restore point)は、現在の攻撃より前に起きた他のマルウェア攻撃によって感染される可能性もあり、スパイウェアやアドウェアなど、望まれないソフトウェアで汚染される可能性もある。
【００３６】
一実施形態において、クエリ４１２は、保存ディスク状態が、信頼性があると判定された場合、その状態の用途の指示を含む。この用途は、ディスク状態からシステムをリストアし、１個のファイルをリストアし、システムをバックアップし、１個のファイルをバックアップするような使用などを含む。ある場合には、用途は、保存ディスク状態が、信頼性があるかどうかの判定に影響することがある。例えば、前述したように、用途が、システムをリストアするためである場合、要求される信頼性レベルは、用途が、１個のユーザファイルをリストアするためである場合より厳しいものとなることがある。
【００３７】
デフォルトアクション(default action)として、アンチウイルスプロバイダ４０６が使用可能でないか、または信頼性を判定することができない場合、ディスク状態インターフェース４０４は、ディスク状態の全体的信頼性を自動的に判定しようと試みることができる。信頼性が判定されると、ディスク状態インターフェースは、適用可能な場合は、クエリ４１２の結果を集約し、リクエスタ、例えば、システムリストアプロセス１３０またはユーザデータロールバックプロセス１３２に結果を返す。リクエスタ(requester)は次いで、保存ディスク状態のこの用途で処理を進めるかどうか判定することができる。
【００３８】
図４を参照して続けると、一実施形態では、ディスク状態の信頼性は、等級づけスキームに従って等級づけられる。例えば、図４に示したように、使用可能なディスク状態４０２の１つまたは複数の信頼性の判定の結果、対応する、等級つきディスク状態４０８が生じる。システムリストア１３０またはユーザデータロールバックプロセス１３２は、等級つきディスク状態４０８を用いて、図３を参照して前述したユーザインターフェース３１０において、デバイスをリストアし、またはファイルをリカバリする選択肢をユーザに提示することができる。
【００３９】
一実施形態では、保存ディスク状態を等級づけるのに用いられる等級づけスキームは、カラースキームを含む。例えば、カラースキームは、特定の色を使って、特定の信頼性レベルを視覚的に表す。例えば、赤は、感染ディスク状態を表し、黄色は、不明ディスク状態を表し、緑は、感染されていないディスク状態、すなわち、「感染前」ディスク状態を表す。当然ながら、カラースキームは、等級づけスキームの一例に過ぎず、本発明において、特許請求の範囲から逸脱することなく、他の等級づけスキームも利用されることが理解されよう。例えば、色ではなく一定のアイコンまたは数が、信頼性レベルを表すのに使われる。
【００４０】
一実施形態では、システムリストア１３０またはユーザデータロールバック１３２プロセスは、ユーザインターフェース３１０において保存ディスク状態の信頼性レベルをユーザに表す等級づけスキームを提示できる。保存ディスク状態からのシステムリストア、またはファイルリカバリを進めるかどうかという決定をユーザが行うのを誘導するのに、色が使われる。例えば、リストアがそこから実施される使用可能なディスク状態（群）が、ユーザインターフェース３１０において感染、不明、あるいは比較的信頼できないと示されている場合、ユーザは、具体的なシステムリストア選択肢を選ばないと決定することができる。反対に、リストアがそこから実施される使用可能なディスク状態（群）が、ユーザインターフェース３１０において不明と示されている場合、ユーザは、具体的なユーザデータリストア選択肢を選んでみると決定することができる。
【００４１】
デバイス３００の他のタイプのコンポーネントは、システムをリストアし、またはユーザデータをリカバリする以外の目的で、ディスク状態インターフェース４０４を呼び出すことができることに留意すべきである。例えば、システムまたはユーザデータの以前のバージョンまたはバックアップを閲覧するためのアプリケーションや、対話相手であるディスク状態の信頼性に関心を示し得るバックアップデータを作成するためのアプリケーションなど、他のタイプのディスク状態クライアント４１０が存在す。
【００４２】
図５は、本発明に従って形成される、マルウェア攻撃からリカバリする方法によって実施される論理５００の態様を示すフローチャートである。判断ブロック５０２において、リカバリアナライザ１１４は、マルウェア攻撃が検出された時間ｔｄｅｔｅｃｔｉｏｎと、デバイスがその時点までリストアされることが可能な時間ｔｒｅｓｔｏｒｅの間に、デバイスに対して何らかのソフトウェアインストールアクティビティがあったかどうか判定する。ほとんどの場合、ｔｒｅｓｔｏｒｅは、保存ディスク状態が使用可能である感染の予想時間ｔｉｎｆｅｃｔｉｏｎより前の時間である。通常の実施形態では、何らかのソフトウェア・インストレーション・アクティビティ(software installation activity)があったかどうかの判定は、ソフトウェアの追加および削除履歴の検査によって行われる。
【００４３】
通常の実施形態において、ソフトウェア・インストレーション・アクティビティがなかった場合、処理は判断ブロック５０４Ａで継続し、ここで、リカバリアナライザ１１４は、同じ時間フレーム内で何らかのユーザデータアクティビティがあったかどうか判定する。ユーザデータ・アクティビティはあったがソフトウェア・インストレーション・アクティビティがなかった場合、デバイスをリカバリする方法が、図６に示すように実施される。それ以外の場合は、判断ブロック５０４Ｂで、ソフトウェア・インストレーションおよびユーザデータ・アクティビティが両方ともあった場合、デバイスをリカバリする方法は、図７に示すように実施される。
【００４４】
図５を参照して続けると、一実施形態では、ソフトウェアもユーザデータアクティビティもなかった場合、デバイスのユーザは、プロセスブロック５０６に記載されるように、完全なディスク復帰を実施するための選択肢が与えられる。完全ディスク復帰(full disk revert)は、例えば、使用可能な感染前保存ディスク状態（群）１２０を用いてライブデータ１２２を上書きして、デバイスのボリュームを、感染時間ｔｉｎｆｅｃｔｉｏｎより前の所与の時点で存在していた状態に構成し直すことによって遂行される。完全ディスク復帰は、デバイスが感染された時間の後に作成されまたは改変されたユーザデータを破壊し得るので、この選択肢が、ユーザにとって常に受諾可能なわけではない。
【００４５】
図６は、本発明に従って形成される、マルウェア攻撃からリカバリする方法によって実施される論理６００の態様を示すフローチャートである。プロセスブロック６０２において、ユーザデータ・アクティビティはあったが、ソフトウェア・インストレーション・アクティビティがなかった場合、デバイスは、システムファイルの、感染前の状態を自動的にリストアすることができる。例えば、最初に図１を参照して説明したシステムリストアプロセス１３０は、システムファイルの状態を、ｔｒｅｓｔｏｒｅまで自動的にリストアするのに利用される。通常の実施形態では、ｔｒｅｓｔｏｒｅは、影響を受けたシステムファイルおよび他のデータの保存ディスク状態が使用可能である、感染の予想時間ｔｉｎｆｅｃｉｅｏｎより前の、最も近い時間でよい。このようにしてリストアされるシステムファイルおよび他のデータは通常、すべてのオペレーティングシステムファイルならびにシステムレジストリエントリを含む。
【００４６】
判断ブロック６０４において、ユーザデータアクティビティが、感染時間ｔｉｎｆｅｃｉｅｏｎ後の新たなファイルの作成を含む場合、ユーザは、そうした新たなファイルを削除するという選択肢を与えられる。例えば、判断ブロック６０６において、最初に図１を参照して説明したユーザデータロールバック・プロセス１３２は、ユーザインターフェースプロセス３１０を利用することができる。最初に図３を参照して説明したユーザインターフェースプロセス３１０は、プロセスブロック６１０に記載されている、新たなファイルの削除に先立って、ユーザに、ユーザ確認６０８の提供を促すのに利用される。
【００４７】
判断ブロック６１２において、ユーザデータアクティビティが、感染時間ｔｉｎｆｅｃｉｅｏｎ後の既存のファイルの改変を含む場合、デバイスは、改変が、少なくとも部分的にマルウェア攻撃に起因するか、それともユーザにのみ起因するか判定する。プロセスブロック６１４において、デバイスは、感染に先立って、マルウェアの影響を受けたファイルの状態を自動的にリストアすることができる。例えば、最初に図１を参照して説明したユーザデータロールバック・プロセス１３２が、マルウェアの影響を受けたユーザファイルの状態を、ｔｒｅｓｔｏｒｅまで自動的にリストアするのに利用できる。通常の実施形態において、ｔｒｅｓｔｏｒｅは、影響を受けたシステムファイルおよび他のデータの保存ディスク状態が使用可能である、感染の予想時間ｔｉｎｆｅｃｉｅｏｎより前の、最も近い時間でよい。
【００４８】
判断ブロック６１６において、改変がユーザにのみ起因するとデバイスが判定した場合、ユーザは、ファイルをリストアするという選択肢を与えられる。例えば、判断ブロック６１６において、ユーザデータロールバック・プロセス１３２は、ユーザインターフェースプロセス３１０を利用して、プロセスブロック６２０に記載されるように、そうしたユーザファイルのリストアに先立って、ユーザ確認６１８を与えるよう、ユーザに促すことができる。
【００４９】
影響を受けたシステムおよびユーザファイルが、自動的または選択的にリストアされ、デバイスがマルウェア攻撃からリカバリした場合、プロセスは、終了ブロック６２２で終わる。このようにして、デバイスは、従来のマルウェア駆除を用いて通常可能であるよりも比較的すぐに、また、ユーザのアクティビティを不必要に中断することなく、マルウェア攻撃からリカバリすることができる。
【００５０】
図７は、本発明に従って形成される、マルウェア攻撃からリカバリする方法によって実施される論理７００の態様を示すフローチャートである。ユーザデータアクティビティおよびソフトウェア・インストレーション・アクティビティが両方ともあった場合、デバイスは、アクティビティがマルウェアによって引き起こされたものか、それとも真正であるかに応じて、一部のシステムファイルの状態を選択的にリストアすることができる。選択的リストアに先立って、判断ブロック７０２で、インストールされたソフトウェアが再インストールされ得るかどうかというユーザ確認７０４を受け取るのに、ユーザインターフェースプロセス３１０が利用される。ユーザが、ソフトウェアの再インストールが可能である、例えば、必要なインストールディスクが使用可能であると確認した場合、処理は、エントリポイント「Ａ」で図６に分岐し、システムリストアおよびデバイスの選択的リカバリは、図６を参照して説明したように進行する。
【００５１】
図７を参照して続けると、ユーザが、ソフトウェアを再インストールしたくない場合、処理は、一部のシステムファイルの状態が、最後のリストア可能時点ｔｒｅｓｔｏｒｅの後に起きたソフトウェア・インストレーション・アクティビティに対する影響を削減するようにリカバリされ得るかどうか判定するように継続する。例えば、プロセスブロック７０６において、システムリストア・プロセス１３０が、感染時間ｔｉｎｆｅｃｔｉｏｎで保存されたディスク状態を、マルウェア攻撃が最初に検出された時間ｔｄｅｔｅｃｔｉｏｎで保存されたディスク状態と比較するのに利用される。この比較に基づき、判断ブロック７０８において、システムリストアプロセス１３０は、比較の際に見つけられたチェンジが、ファイルへの真正チェンジの結果である可能性が高いか、それともマルウェアによって引き起こされた可能性が高いか、判定することができる。プロセスブロック７１０において、チェンジが、マルウェアによって引き起こされた可能性が高い場合、システムリストアプロセス１３０は、特定のシステムファイルなど、特定のファイルおよびデータのみを自動的にリストアすることができるが、レジストリエントリはリストアすることができない。チェンジが、真正チェンジである可能性が高い場合、システムリストアプロセス１３０は、ファイルをそのままの状態にしておいてよい。
【００５２】
通常の実施形態において、マルウェアによって引き起こされたチェンジが、影響を受けたファイルを、最も近いリストア可能時点ｔｒｅｓｔｏｒｅで置かれていた状態にリストアすることによって削除されると、処理は、エントリポイント「Ｂ」で図６に分岐する。図６を参照すると、処理は、エントリポイント「Ｂ」で継続し、ここで、ユーザデータリストアおよびデバイスの選択的リカバリは、判断ブロック６０４で前述したのと同じように進行する。
【００５３】
図８Ａ〜図８Ｃは、図１〜図７に示した方法およびシステムの特定の態様を実施するための例示的なユーザインターフェースを示す図である。図８Ａは、図３で最初に説明し、ロールバックおよびリカバリユーザ・インターフェース３１０のシステムリストア部分の例を示す。図示した例において、ユーザインターフェースには、「システムロールバック(system rollback)およびリカバリ(recovery)ウィザード」というタイトルがつけられている。このウィンドウは、コンピュータに対するマルウェア攻撃の間に被害を受けた可能性がある特定のシステムファイルおよび他のシステムデータのリストアプロセスを介してユーザをガイドする、ウィザードスタイルのユーザインターフェースに、ユーザを誘導する。通常の実施形態では、ウィザードは、少なくとも感染の予想時間の前に置かれていた状態までファイルをリストアするプロセスを介して、ユーザをガイドする。
【００５４】
図示される例において、ユーザは、コンピュータのリカバリが２つのステップで進行することを知らされる。第１に、ユーザは、システムリストアプロセス１３０を参照して前述したように、リカバリプロセスがオペレーティングシステムファイルおよびアプリケーションを感染前の状態までリストアすることを知らされる。次いで、ユーザは、リカバリプロセスが、ユーザデータ・ロールバック・プロセス１３２を参照して前述したように、攻撃以降にチェンジしたユーザデータファイルの一覧をユーザに提示することが知らされる。ユーザは、リカバリプロセスが、図９Ａ〜９Ｅに示すように、ユーザに、バックアップから、例えば、保存ディスク状態から、メインフォルダに、例えば、ライブデータに、アーカイブされたバージョンをコピーする機会を与えることをさらに知らされる。コマンドボタン、例えば、「ＮＥＸＴ」コマンドボタンを用いて対話することによって、ユーザは、ウィザードの中を進んで行き、コンピュータ上のすべてまたは選択されたファイルおよび他のデータのリカバリを許可し確認する。
【００５５】
図８Ｂおよび図８Ｃは、コンピュータ上のオペレーティングシステムがその時点までリストアされる、可能な最も近い時間の、ユーザへの通知を含む、ウィザードのそれ以外の態様を示す。通常の実施形態では、システムロールバックリカバリウィザードおよび対応するシステムリストアプロセス１３０の完了が、図９Ａ〜図９Ｅに示されるように、ユーザデータロールバックプロセス１３２およびユーザデータファイルリカバリウィザードの動作を自動的にトリガする。
【００５６】
図９Ａ〜図９Ｅは、図１〜図７に示した方法およびシステムのある態様を実施する例示的なユーザインターフェースを示す図である。図９Ａは、図３で最初に説明した、ロールバックおよびリカバリユーザ・インターフェース３１０のユーザデータ・ロールバック部分の例を示す。図示される例において、インターフェースは、「ユーザデータ・ファイルリカバリ・ウィザード」というタイトルがつけられ、コンピュータに対するマルウェア攻撃の間に被害を受けた可能性があるすべてまたは選択されたユーザファイルまたは他のデータのリストアプロセスを介してユーザをガイドする、ウィザードスタイルのユーザインターフェースに、ユーザを誘導する。通常の実施形態において、ウィザードは、少なくとも感染の予想時間の前に置かれていた状態までファイルをリストアするプロセスを介して、ユーザをガイドする。
【００５７】
図９Ｂおよび図９Ｃに示したインターフェース例の部分において、ユーザは、感染の予想時間ｔｉｎｆｅｃｔｉｏｎ以降に削除され、または改変されたファイルすべてをリカバリする選択肢、または代替的には、削除され、または改変されたファイルのうち選択されたものをリカバリする選択肢を選択するのに使われる選択肢ボタンが与えられる。選択肢およびコマンドボタン、例えば「ＮＥＸＴ」コマンドボタンを用いて対話することによって、ユーザは、ウィザードの中を進んで行き、コンピュータ上のすべてまたは選択されたファイルおよび他のデータをリカバリすることができる。
【００５８】
図９Ｄは、感染の予想時間ｔｉｎｆｅｃｔｉｏｎ以降に削除され、または改変されたファイルをリカバリするのに利用可能な、アーカイブされたファイルを列挙する第１のウィンドウの表示を含む、ウィザードのそれ以外の態様を示す。さらに、リカバリするファイルを、第１のウィンドウから、第１のウィンドウに最も近い第２のウィンドウにコピーすることによって、リカバリするファイルを選択するための選択インターフェースが与えられる。通常の実施形態では、ユーザデータ・ロールバックプロセス１３２およびユーザデータ・ファイルリカバリ・ウィザードの完了は、図９Ｅに示したように、ユーザが、リカバリする選択したファイルを表示し肯定確認する機会があった後でのみ完了される。
【００５９】
これまで本発明の多数の実施形態を例示して説明してきたが、本発明の精神および範囲から逸脱することなく、様々な改変が加えられ得ることが理解されよう。例えば、本発明の一実施形態では、マルウェア攻撃からリカバリするシステム１００の様々なコンポーネントの機能は、プロセス、プログラム、インターフェース、およびリポジトリの様々な組み合わせとして実施されることができ、１つまたは複数のコンピューティングデバイスに分散されることができる。例えば、感染ディテクタプロセス１０４など、システム１００の機能の一部は、クライアントコンピューティングデバイス３００が登録されたウェブサービスとしてリモート的に実施することができ、状態チェンジパーサ／アグリゲータ１１６など、他の機能は、ローカル的に実施することができる。本発明の実施形態は、マルウェア攻撃によって引き起こされた感染からリカバリする状況として説明したが、本発明に係る方法およびシステムは、スパイウェアまたはアドウェアに起因する性能の低下など、望まれないソフトウェアの存在によって引き起こされる汚染の影響を元に戻すのにも適用されることが理解されよう。
【図面の簡単な説明】
【００６０】
【図１】本発明を適用した、マルウェア攻撃からリカバリさせる例示的なシステムを示す図である。
【図２】本発明に従って、マルウェア攻撃からリカバリさせるためのシステムが利用する一般的なシナリオを説明したタイムラインを示す図である。
【図３】本発明に従って形成される、図１に示した例示的なシステムの他の態様を示す図である。
【図４】本発明に従って形成される、図１に示した例示的なシステムの他の態様を示す図である。
【図５】本発明に従って形成される、マルウェア攻撃からリカバリする汎用コンピュータシステムによって実施される論理の態様を示すフローチャートである。
【図６】本発明に従って形成される、マルウェア攻撃からリカバリする汎用コンピュータシステムによって実施される論理の他の態様を示すフローチャートである。
【図７】本発明に従って形成される、マルウェア攻撃からリカバリする汎用コンピュータシステムによって実施される論理の他の態様を示すフローチャートである。
【図８Ａ】図１〜図７に示した方法およびシステムの態様を実施する例示的なユーザインターフェースを示す図である。
【図８Ｂ】図１〜図７に示した方法およびシステムの態様を実施する例示的なユーザインターフェースを示す図である。
【図８Ｃ】図１〜図７に示した方法およびシステムの態様を実施する例示的なユーザインターフェースを示す図である。
【図９Ａ】図１〜図７に示した方法およびシステムの他の態様を実施する例示的なユーザインターフェースを示す図である。
【図９Ｂ】図１〜図７に示した方法およびシステムの他の態様を実施する例示的なユーザインターフェースを示す図である。
【図９Ｃ】図１〜図７に示した方法およびシステムの他の態様を実施する例示的なユーザインターフェースを示す図である。
【図９Ｄ】図１〜図７に示した方法およびシステムの他の態様を実施する例示的なユーザインターフェースを示す図である。
【図９Ｅ】図１〜図７に示した方法およびシステムの他の態様を実施する例示的なユーザインターフェースを示す図である。
【符号の説明】
【００６１】
１０２  手動トリガ
１０４  感染ディテクタ
１０６  ビヘイビア・トリガエンジン
１０８  アンチウイルス・トリガエンジン
１１０  署名＆検出ヒューリスティック
１１２  署名アップデート
１１４  ロールバック／リカバリ・アナライザ
１１６  状態チェンジパーサ／アグリゲータ
１２０  保存ディスク状態
１２２  メインパーティション（ライブデータ）
１２４  チェンジ・ジャーナル
１２６  ロールバック／リカバリ・プロセス
１２８  クラシック・アンチウイルス駆除
１３０  システム・リストア
１３２  ユーザデータ・ロールバック
１３４  アーカイバル・プロセス
【図１】
2006178934.tif 000003
【図２】
2006178934.tif 000004
【図３】
2006178934.tif 000005
【図４】
2006178934.tif 000006
【図５】
2006178934.tif 000007
【図６】
2006178934.tif 000008
【図７】
2006178934.tif 000009
【図８Ａ】
2006178934.tif 000010
【図８Ｂ】
2006178934.tif 000011
【図８Ｃ】
2006178934.tif 000012
【図９Ａ】
2006178934.tif 000013
【図９Ｂ】
2006178934.tif 000014
【図９Ｃ】
2006178934.tif 000015
【図９Ｄ】
2006178934.tif 000016
【図９Ｅ】
2006178934.tif 000017