(57)【要約】悪性コードにより修正されたコンピュータシステムを回復するための方法。本方法は、悪性コードについてコンピュータシステムをスキャニングし、該悪性コードを識別し且つ該悪性コードにより修正された前に存在していた状態へコンピュータシステムを回復させるために使用される少なくとも１個のコマンドを包含する該悪性コードに関連する情報をデータファイルから検索する。該少なくとも１個のコマンドは、該悪性コードにより修正前に存在していた状態へコンピュータシステムを実質的に回復させるために実行される。【選択図】図２
2004533041.tif 000002
【特許請求の範囲】
【請求項１】
悪性コードにより修正されたコンピュータシステムを回復する方法において、
コンピュータシステムを悪性コードについてスキャニングし、
前記悪性コードを識別し、
前記悪性コードによる修正の前に存在していた状態へ前記コンピュータシステムを回復させるために使用される少なくとも１個のコマンドを包含する前記悪性コードに関連する情報をデータファイルから検索し、
前記少なくとも１個のコマンドを実行して前記コンピュータシステムを実質的に前記悪性コードによる修正の前に存在していた状態へ回復させる、
ことを包含している方法。
【請求項２】
請求項１において、前記少なくとも１個のコマンドを実行するステップが、
データの読取、書込、削除のうちの１つを包含している方法。
【請求項３】
請求項１において、前記少なくとも１個のコマンドを実行するステップが、１つのファイルの名称変更及び削除のうちの少なくとも１つを包含している方法。
【請求項４】
請求項１において、前記悪性コードが少なくとも１個のファイルを修正し且つ本方法が、
前記修正されたファイルから第二ファイルの名称を読取り、
前記第二ファイルを修正する、
ことを包含している方法。
【請求項５】
請求項１において、前記データファイルが複数個のデータファイルを包含しており、各データファイルは特定のタイプの悪性コードに対して設けられており、各データファイルは前記特定のタイプの悪性コードによる修正前に存在していた状態へ前記コンピュータシステムを回復させるために使用することが可能な少なくとも１個のコマンドを包含している方法。
【請求項６】
悪性コードにより修正されたコンピュータシステムを回復するためのコンピュータ実行可能コードを包含する格納媒体において、
コンピュータシステムを悪性コードに対してスキャニングするコード、
前記悪性コードを識別するコード、
前記悪性コードによる修正の前に存在していた状態へ前記コンピュータシステムを回復させるために使用される少なくとも１個のコマンドを包含する前記悪性コードに関連する情報をデータファイルから検索するためのコード、
前記コンピュータシステムを実質的に前記悪性コードにより修正前に存在していた状態へ回復させるために前記少なくとも１個のコマンドを実行するためのコード、
を有している格納媒体。
【請求項７】
請求項６において、前記少なくとも１個のコマンドを実行するためのコマンドがデータの読取、書込、削除のうちの少なくとも１つを実施するためのコードを包含している格納媒体。
【請求項８】
請求項６において、前記少なくとも１個のコマンドを実行するコードが、ファイルの名称変更及び削除のうちの少なくとも１つを実施するためのコードを包含している格納媒体。
【請求項９】
請求項６において、前記悪性コードが少なくとも１個のファイルを修正し、更に、
前記修正されたファイルから第二ファイルの名称を読取るためのコード、
前記第二ファイルを修正するためのコード、
を有していることを特徴とする格納媒体。
【請求項１０】
請求項６において、前記データファイルが複数個のデータファイルを包含しており、各データファイルは特定のタイプの悪性コードに対して設けられており、各データファイルは前記特定のタイプの悪性コードによる修正の前に存在していた状態へ前記コンピュータシステムを回復するために使用することが可能な少なくとも１個のコマンドを包含している格納媒体。
【請求項１１】
送信媒体において実現され且つ悪性コードにより修正されたコンピュータシステムを回復するためのコンピュータ実行可能命令を包含しているコンピュータデータ信号において、
コンピュータシステムを悪性コードについてスキャニングするためのデータ信号部分、
前記悪性コードを識別するためのデータ信号部分、
前記悪性コードによる修正前に存在していた状態へ前記コンピュータシステムを回復させるために使用する少なくとも１個のコマンドを包含している前記悪性コードに関連する情報をデータファイルから検索するためのデータ信号部分、
前記コンピュータシステムを実質的に前記悪性コードによる修正前に存在していた状態へ回復させるために前記少なくとも１個のコマンドを実行するためのデータ信号部分、
を有しているコンピュータデータ信号。
【請求項１２】
請求項１１において、前記少なくとも１個のコマンドを実行するデータ信号部分がデータの読取、書込、削除のうちの少なくとも１つを実施するコンピュータデータ信号。
【請求項１３】
請求項１１において、前記少なくとも１個のコマンドを実行するデータ信号部分がファイルの名称変更及び削除のうちの少なくとも１つを実施するコンピュータデータ信号。
【請求項１４】
請求項１１において、前記悪性コードが少なくとも１個のファイルを修正し、前記コンピュータデータ信号が、更に、
前記修正されたファイルから第二ファイルの名称を読取るデータ信号部分、
前記第二ファイルを修正するデータ信号部分、
を有しているコンピュータデータ信号。
【請求項１５】
請求項１１において、前記データファイルが複数個のデータファイルを有しており、各データファイルは特定のタイプの悪性コードに対して設けられており、各データファイルは前記特定タイプの悪性コードによる修正前に存在していた状態へコンピュータシステムを回復するために使用することが可能な少なくとも１個のコマンドを包含しているコンピュータデータ信号。
【請求項１６】
悪性コードにより修正されたコンピュータシステムを回復するプログラムを包含するプログラムされたコンピュータシステムにおいて、
悪性コードについてコンピュータシステムをスキャニングする手段、
前記悪性コードを識別する手段、
前記悪性コードによる修正前に存在していた状態へ前記コンピュータシステムを回復するために使用される少なくとも１個のコマンドを包含している前記悪性コードに関連する情報をデータファイルから検索する手段、
前記コンピュータシステムを実質的に前記悪性コードによる修正前に存在していた状態へ復帰させる少なくとも１個のコマンドを実行する手段、
を有しているプログラムされたコンピュータシステム。
【請求項１７】
請求項１６において、前記少なくとも１個のコマンドを実行する手段がデータの読取、書込、削除のうちの少なくとも１つを実施する手段を包含しているプログラムされたコンピュータシステム。
【請求項１８】
請求項１６において、前記少なくとも１個のコマンドを実行する手段がファイルの名称変更及び削除のうちの少なくとも１つを実施する手段を包含しているプログラムされたコンピュータシステム。
【請求項１９】
請求項１６において、前記悪性コードが少なくとも１個のファイルを修正し且つ前記システムが、更に、
前記修正されたファイルから第二ファイルの名称を読取る手段、
前記第二ファイルを修正する手段、
を有しているプログラムされたコンピュータシステム。
【請求項２０】
請求項１６において、前記データファイルが複数個のデータファイルを有しており、各データファイルは特定のタイプの悪性コードに対して設けられており、各データファイルは前記特定のタイプの悪性コードによる修正前に存在していた状態へ前記コンピュータシステムを回復するために使用することが可能な少なくとも１個のコマンドを包含しているプログラムされたコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はコンピュータプログラムの検知及び除去に関するものである。更に詳細には、本発明は悪性コンピュータプログラムにより損傷されたコンピュータシステムを回復することに関するものである。
【背景技術】
【０００２】
コンピュータウイルスは最近のコンピュータの使用において主要な問題である。一般的に、コンピュータウイルスはその他のプログラム及び／又はオブジェクトへ取り付くことが可能なプログラム（又は何等かの単位のコード、例えばコードブロック、コード要素又はコードセグメント等のコンピュータに応答する命令）であり、それ自身複製することが可能であり、及び／又はコンピュータシステムに関して頼みもしない動作又は悪性の動作を実施することが可能である。本明細書においてはコンピュータウイルスに関して説明するが、本発明はコンピュータ資源の１つ又はそれ以上の部分を修正することが可能な任意のタイプの悪性コードに対して適用することが可能である。コンピュータウイルスからの１つの回復方法はコンピュータウイルスを除去することを包含している場合がある。このことは、例えば、ファイル、メモリエリア、又は格納媒体のブートセクターとすることが可能な感染したオブジェクトにおけるウイルスをディスエーブル即ち動作不能とさせることを包含している場合がある。然しながら、最近のコンピュータウイルスは、例えば、ファイルを削除するか又は名称変更し、システムレジストリー及び初期化ファイルを操作し、及び／又は不所望のサービス及びプロセスを形成することにより、最初に感染したオブジェクトに加えてオブジェクトを操作するものも見つかっている。
【０００３】
コンピュータシステム上の既存のファイルを名称変更し及び／又はコンピュータをして不所望の態様で動作させる異なるファイルと置換させることの可能なコンピュータウイルスが見つかっている。更に、コンピュータシステム内に潜んでいながらウイルスは既存のシステムコンフィギュレーションファイルを修正する場合がある。両方を行うコンピュータウイルスの１例は「Ｈａｐｐｙ９９：Ｗｏｒｍ」ウイルスである。この特定のタイプのウイルスは電子メールメッセージのアタッチメント即ち付属物として移動し且つ感染したコンピュータをして該ウイルスのコピーを発信電子メールメッセージへ付属させる。このタイプのウイルスは、又、コンピュータのハードドライブ上に１個又はそれ以上の隠されたファイルを配置させ及び／又はウインドウズレジストリーファイルを変更させる。例えば、「Ｈａｐｐｙ９９：Ｗｏｒｍ」ウイルスは「Ｗｓｏｃｋ３２．ｄｌｌ」ファイルを「Ｗｓｏｃｋ３２．ｓｋａ」へ名称変更し且つオリジナルの「Ｗｓｏｃｋ３２．ｄｌｌ」をそれ自身のバージョンのファイルと置換させる。「Ｈａｐｐｙ９９．Ｗｏｒｍ」ウイルスは、又、コンピュータシステム上に「Ｓｋａ．ｅｘｅ」を包含する幾つかのその他のファイルを作成し且つスタートアップ時に「Ｓｋａ．ｅｘｅ」ファイルをコンピュータが稼動させる命令するラインをウインドウズレジストリーファイルへ付加させる。
【０００４】
ファイル等を回復させるか又は正しく名称変更させ及び／又は不所望のサービス又はプロセスを除去させることなしにウイルスコードを単にディスエーブルさせるか又は除去することはコンピュータシステムを実効的に回復することとはならない。即ち、ウイルスが取りついたオブジェクトを回復することは、特に、そのコンピュータウイルスによって多数のその他のオブジェクトが作成されたか又は修正された場合に、必ずしも充分なものでない場合がある。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
各ウイルスはコンピュータシステムの異なる部分に影響を与える場合があるので、特別の処置が必要とされ且つ任意の数のオブジェクトに関して実施される多数のオペレーティングシステム特定操作を必要とする場合がある。従って、全ての感染したオブジェクトを回復させる感染したコンピュータシステムの完全なる回復が必要とされる。
【課題を解決するための手段】
【０００６】
本発明は、悪性コードによって修正されたコンピュータシステムを回復する方法に関するものであって、悪性コードについてコンピュータシステムをスキャニングし、該悪性コードを識別し、該悪性コードによる修正前に存在していた状態へ該コンピュータシステムを回復させるために使用される少なくとも１個のコマンドを包含する該悪性コードに関連する情報をデータファイルから検索することを包含している。該少なくとも１個のコマンドを実行するステップは、データの読取、書込、削除のうちの少なくとも１つを包含することが可能である。該少なくとも１個のコマンドを実行するステップは、又、オブジェクトの名称変更及び削除のうちの少なくとも１つを包含することが可能である。
【０００７】
本発明は、又、悪性コードにより修正されたコンピュータシステムを回復するためのコンピュータによって実行可能なコードを包含する格納媒体に関するものであって、悪性コードについてコンピュータシステムをスキャニングするコード、該悪性コードを識別するコード、該悪性コードにより修正前に存在していた状態へ該コンピュータシステムを回復させるために使用される少なくとも１個のコマンドを包含する該悪性コードに関連する情報をデータファイルから検索するコード、及び該コンピュータシステムを実質的に該悪性コードによる修正前に存在していた状態へ復帰させるために該少なくとも１個のコマンドを実行するコード、を包含している。
【０００８】
本発明は、又、悪性コードにより修正されたコンピュータシステムを回復するためのコンピュータによって実行可能な命令を包含しており伝送媒体において実現されるコンピュータデータ信号に関するものであって、悪性コードについてコンピュータシステムをスキャニングするデータ信号部分、該悪性コードを識別するためのデータ信号部分、該悪性コードによる修正前に存在していた状態へ該コンピュータシステムを回復させるために使用される少なくとも１個のコマンドを包含している該悪性コードに関連する情報をデータファイルから検索するデータ信号部分、該悪性コードによる修正前に存在していた状態へ該コンピュータシステムを実質的に回復させるために該少なくとも１個のコマンドを実行するデータ信号部分とを包含している。
【発明を実施するための最良の形態】
【０００９】
図面に例示された本発明の好適実施例を説明する上で、便宜上特定の用語を使用する。然しながら、本発明はそのように選択された特定の用語に制限されることを意図したものではなく、且つこのような特定の用語は同様の態様で動作する全ての技術的均等物を包含するものと理解すべきである。
【００１０】
図１は本発明の回復システム及び方法を適用することが可能なコンピュータシステム１０２の１例のブロック図である。コンピュータシステム１０２はコンピュータウイルスを検知するためのソフトウエアを稼動させることが可能なスタンダードのＰＣ、ラップトップ、メインフレーム等とすることが可能である。コンピュータシステム１０２は、又は、ウイルスがシステム内に配置される前に存在していた状態へコンピュータシステム１０２を回復させるための本発明に基づくソフトウエアを稼動させることが可能である。図示した如く、コンピュータシステム１０２は中央処理装置（ＣＰＵ）２、メモリ４、クロック回路６、プリンタインターフェース８、ディスプレイユニット１０、ＬＡＮデータ送信制御器１２、ＬＡＮインターフェース１４、ネットワーク制御器１６、内部バス１８、例えばキーボード及びマウス等の１個又はそれ以上の入力装置２０を包含することが可能である。勿論、コンピュータシステム１０２は図示した各コンポーネントを包含するものでない場合があり及び／又は図示していない付加的なコンポーネントを包含することも可能である。
【００１１】
ＣＰＵ２はシステム１０２の動作を制御し且つメモリ４内に格納されているアプリケーションを稼動することが可能である。メモリ４は、例えば、ＲＡＭ、ＲＯＭ、着脱自在なＣＤＲＯＭ、ＤＶＤ等を包含することが可能である。メモリ４は、又はＣＰＵ２による使用のために予約された作業エリアのみならず、アプリケーションの実行に対して必要な種々のタイプのデータを格納することが可能である。クロック回路６は現在の時間を表わす情報を発生する回路を包含することが可能であり、且つ所定の又は予め設定された量の時間をカウントダウンすべくプログラムさせることが可能である。
【００１２】
ＬＡＮインターフェース１４はＬＡＮとすることが可能なネットワーク（不図示）とＬＡＮデータ送信制御器１２との間の通信を可能とさせる。ＬＡＮデータ送信制御器１２はネットワーク上のその他の装置と情報及びデータを交換するのに適した所定のプロトコルを使用する。コンピュータシステム１０２は、又、ルーター（不図示）を介して他のネットワークと通信することも可能である。コンピュータシステム１０２は、又、ネットワーク制御器１６を使用して公衆交換電話回路網（ＰＳＴＮ）を介して他の装置と通信を行うことも可能である。コンピュータシステム１０２は、例えば、ＷＡＮ（ワイドエリアネットワーク）及びインターネットへのアクセスを有することも可能である。内部バス１８は、実際に、複数個のバスから構成することが可能であり、それに接続されているコンポーネントの各々の間での通信を可能とする。
【００１３】
コンピュータシステム１０２は、コンピュータウイルスを認識し且つ識別するべく設計された１個又はそれ以上のタイプのスキャニングプログラムを使用してコンピュータウイルスに対しメモリ４の１つ又はそれ以上の部分をスキャニングすることが可能である。例えば、該スキャニングプログラムは、ウイルスの既知のシグナチャを検知することが可能であり、又はウイルスを検知するためのヒューリスティック即ち発見的論理を使用することが可能である。
【００１４】
本発明の方法及びシステムは、メモリ４又はその他の箇所に格納され且つコンピュータシステム１０２によってアクセス可能なそれ自身コンピュータによって実行可能なコードとして実現することが可能である。コンピュータによって実行可能なコードはコンピュータシステム１０２を遠隔的に修復／回復させるためにコンピュータシステム１０２と通信状態にある遠隔地に格納し且つ実行させることが可能である。本明細書に記載する方法及びシステムは、コンピュータウイルスにより損傷されたコンピュータシステムを回復することが可能である。１実施例によれば、複数個のウイルス特定回復コマンドデータファイル（図３Ａ参照）がコンピュータシステム１０２によりアクセス可能である。図３Ｂに示したように、各回復コマンドデータファイルは特定のウイルスにより損傷を受けた感染されたコンピュータシステムを回復させるために使用されるコマンド又はシステム回復命令を包含している。幾つかのウイルスは異なるオぺレーティングシステムに異なる態様で影響を与える場合があるので、これらのコマンドはオペレーティングシステム特定条件に従って分類することが可能である。該コマンドは、特定のコンピュータウイルスにより変更されるか又は損傷されたものとして知られるファイル名称、システムレジストリー設定及び／又はその他のオペレーティングシステム特性を回復させるために使用される。
【００１５】
回復コマンドデータファイル内に格納し且つシステムによって使用することが可能なコマンドの例は、以下のものを包含している。即ち、ファイルのコピー、削除及び名称変更、ウインドウズレジストリーキーの読取、書込、作成及び削除、ＩＮＩファイルの操作、システムメモリ内の活性プロセスの識別及び終了、外部プログラムの起動、ストリング型変数の操作、数値型変数の操作、回復命令フローの制御（ランタイム入力パラメータに依存）、回復命令のフローの制御（ターゲットオペレーティングシステムに依存）等である。勿論、特定のウイルスによるシステムに対して実施される変更に依存して、その他のコマンドも所要により設けることが可能である。上にリストしたコマンドのうちの１つ又はそれ以上を使用して、ウイルスにより損傷を受けたコンピュータシステムを回復させることが可能である。
【００１６】
図２を参照すると、スキャニングプログラムの１つ又はそれ以上を使用して、コンピュータシステム１０２はウイルスについてメモリ４の少なくとも一部をスキャニングする（ステップＳ１）。次いで、ウイルスが見つかったか否かの判定がなされる（ステップＳ２）。ウイルスが存在しない場合には（Ｎｏ、ステップＳ２）、本処理は終了する（ステップＳ５）。ウイルスが存在しており且つ識別されると（Ｙｅｓ、ステップＳ２）、システム回復オプションが選択されたか否かを判別する（ステップＳ３）。例えば、このことは、グラフィックユーザインターフェース（ＧＵＹ）の形態とすることが可能であり、スキャニングプログラムを開始する前に、ウイルスが検知された場合に本発明のシステム回復特徴が適用されるべきか否かをユーザに選択させるプロンプトを与える。システム回復オプションが選択されていない場合には（Ｎｏ、ステップＳ３）、本処理は終了する（ステップＳ５）。システム回復オプションが選択されている場合には（Ｙｅｓ、ステップＳ３）、識別されたウイルスに対応する回復コマンドデータファイルが検索される。該回復コマンドデータファイルは、そのウイルスによって感染する前にシステムが存在していた状態へシステムを回復させるためのシステム回復命令を包含している。次いで、該回復コマンドデータファイル内のコマンド又はシステム回復命令が検索され且つ処理される（ステップＳ４）。該回復コマンドデータファイルは特定のウイルスによって感染されたファイルの名称及びコンピュータシステムを回復するのに必要な命令を包含することが可能である。該コマンド又はシステム回復命令が実施された後に、完了した処理は終了する（ステップＳ５）。
【００１７】
１例として、「Ｈａｐｐｙ９９．Ｗｏｒｍ」ウイルスが存在しており且つ識別され（Ｙｅｓ、ステップＳ２）且つシステム回復オプションが選択されている場合には（Ｙｅｓ、ステップＳ３）、「Ｈａｐｐｙ９９．Ｗｏｒｍ」ウイルスに対応し且つ「Ｈａｐｐｙ９９．Ｗｏｒｍ」ウイルスから回復するために使用されるシステム回復命令を包含している回復コマンドデータファイルが検索される。次いで、該命令が実行され（ステップＳ４）、コンピュータを通常の動作条件へ回復させる。例えば、本方法及びシステムは「Ｄｅｌｅｔｅ  Ｆｉｌｅ」（ファイル削除）コマンドを実行して、新たに作成された「Ｗｓｏｃｋ３２．ｄｌｌ」及び「Ｓｋａ．ｅｘｅ」ファイル及び該ウイルスによって作成されたその他の全てを削除することが可能である。それは、又、「Ｒｅｎａｍｅ  Ｆｉｌｅ」（ファイル名称変更）コマンドを実行して、「Ｗｓｏｃｋ３２．ｓｋａ」ファイルをオリジナルの名称である「Ｗｓｏｃｋ３２．ｄｌｌ」へ名称変更させることが可能である。最後に、本方法及びシステムは「ＲｅａｄＲｅｇＫｅｙ」及び「ＤｅｌｅｔｅＲｅｇＫｅｙ」コマンドを使用して該ウイルスによりウインドウズレジストリーへ付加された全てのキー及び値を読取り且つ削除することが可能である。これらのコマンド即ち回復命令は、例えば、プログラミングコードのスタイルで回復コマンドデータファイル内にリストさせることが可能である。
【００１８】
コンピュータウイルスにより操作され又は損傷されたファイルを回復させるために、回復コマンドデータファイルは、又、コンピュータシステム上に位置されたファイルを操作するための「Ｄｅｌｅｔｅ  Ｆｉｌｅ」（ファイル削除）、「Ｒｅｎａｍｅ  Ｆｉｌｅ」（ファイル名称変更）及び／又は「Ｃｏｐｙ  Ｆｉｌｅ」（ファイルコピー）ファイルシステムコマンドを包含することが可能である。更に、「Ｓｈｅｌｌ」（シェル）コマンドも設けることが可能であり、それによりシステムシェルコマンドを実行することが可能である。これらのコマンドは使用状況に依存して入力パラメータとして１個又はそれ以上のファイル名称を使用することが可能であり且つ失敗の場合にエラー条件を返す。操作すべきファイルが現在システムによって使用されており且つアクセスすることが不可能である場合には、ファイルシステムコマンドはエラー条件を返すものではなく、その代わりに、コマンドはそのファイルを解放させるためにコンピュータの再開始が必要であるようにコンピュータシステムを変化させる。そのファイルが解放されると、本方法及びシステムは前に試みたファイルシステムのコマンドを実行する。
【００１９】
コンピュータウイルスはコンピュータシステム上で稼動する不所望のプロセス及び／又はサービスを開始させる場合がある。従って、回復コマンドデータファイルは、コンピュータシステム上で現在稼動中のプロセス及びサービスを停止させるためのプロセス操作コマンドも包含することが可能である。例えば、「Ｋｉｌｌ  Ｐｒｏｃｅｓｓ」コマンドは、現在コンピュータシステム上で稼動中のプロセスを停止させるために使用することが可能であり、且つ「Ｋｉｌｌ  Ｓｅｒｖｉｃｅ」コマンドは、サービスを停止させ且つそれをウインドウズレジストリーファイルから除去するために使用することが可能である。
【００２０】
コンピュータウイルスは、又、ウインドウズレジストリー及び／又は初期化ファイルを包含するオペレーティングシステムファイルを改ざんする場合がある。ウインドウズレジストリーはウインドウズ用の設定及びオプションを格納するために使用される２個のファイルから構成されているデータベースであり、ハードウエア、ソフトウエア、ユーザ、コンピュータのお気に入りの全てに対する情報及び設定を包含している。ウインドウズレジストリーは階層的構造を有しており、メイン分岐はレジストリー内に格納される実際の情報を包含する「値」を格納する「キー」と呼ばれるサブ分岐を包含している。あるコンピュータウイルスはウインドウズレジストリー及び／又は初期化フィルスを改ざんさせる場合がある。例えば、インストール期間中に、「Ｈａｐｐｙ９９．Ｗｏｒｍ」ウイルスはウインドウズレジストリーに対して対応する値を有するキーを付加させる場合があり、その場合にその値はシステムのスタートアップ時に実行されるべきファイルの名称であり、それにより、コンピュータが開始される度にユーザに知られることなしにウイルスが活性化される。従って、このようなコンピュータウイルスにより損傷を受けたコンピュータシステムを回復させるためには、回復コマンドデータファイルは「Ｓｙｓｔｅｍ．ｉｎｉ」等の初期化（ＩＮＩ）ファイル及び／又はウインドウズレジストリー等のウインドウズファイル内に位置されているファイルを読取、書込、削除する能力を包含することが可能である。使用されるウインドウズレジストリー操作コマンドは「ＲｅａｄＲｅｇＫｅｙ」、「ＷｒｉｔｅＲｅｇＫｅｙ」、「ＤｅｌＲｅｇＫｅｙ」を包含することが可能であり、一方ＩＩＮファイル操作コマンドは「ＲｅａｄＩＮＩＫｅｙ」及び「ＷｒｉｔｅＩＮＩＫｅｙ」を包含することが可能である。コマンド名称、入力パラメータ及び機能は以下の如くである。
【００２１】
ＲｅａｄＲｅｇＫｅｙ（変数、キー、値）はキーの値フィールド内に位置されているデータを変数内へ読込む；
ＷｒｉｔｅＲｅｇＫｅｙ（キー、値、変数）は変数からのデータをキーの値フィールド内へ書込む。該キー又は値が存在しない場合には、それらは作成され、
ＤｅｌｅｔｅＲｅｇＫｅｙ（キー、値）は特定されたキー、又は該値パラメータが空のままである場合には、キー全体の値フィールドを削除し；
ＲｅａｄＩＮＩＫｅｙ（変数、ＩＮＩ名称、セクション、キー）は特定されたＩＮＩファイル内に位置しているキーのセクションフィールド内に位置しているデータを読取り；且つ
ＷｒｉｔｅＩＮＩＫｅｙ（ＩＮＩ名称、セクション、キー、変数）は変数からのデータを特定されたＩＮＩファイル内に位置しているキーのセクションフィールド内に書込む。その変数が「ＮＵＬＬ」に設定されると、そのキーは除去される。
【００２２】
上のコマンドにおいて、キー又は値入力がコンピュータシステム上に存在しない場合に「読取」及び「削除」コマンド期間中にエラー条件を挙げることが可能であり、且つ書込失敗が発生した場合には「書込」及び「削除」コマンドにおける場合である。コマンドが、例えば存在しないファイルをコピーすることの失敗又は存在しないウインドウズレジストリーキーを読取ることを表わすエラー等の実行後のエラーを返す場合に、本方法及びシステムは該エラーを無視し且つ回復プロセスを停止させることが可能である。例えば、ＯｎＥｒｒｏｒＡｂｏｒｔコマンドを包含することは、最初のエラーの発生によって回復プロセスをアボート即ち中止させ、一方ＯｎＥｒｒｏｒＣｏｎｔｉｎｕｅコマンドを包含することは、１個又はそれ以上のエラーが発生した場合に回復プロセスを継続して行わせる。本方法及びシステムはデフォルトによりＯｎＥｒｒｏｒＣｏｎｔｉｎｕｅに設定してあり、従って１個又はそれ以上のエラーが発生した場合であっても回復プロセスは継続される。
【００２３】
回復コマンドデータファイルは、又、ウイルスにより変更された場合にストリング変数を操作するストリング操作コマンドを包含することが可能である。このようなコマンドの例は、ソースストリング、マクロ又は一定値をデスティネーションストリング内へコピーするＳｔｒＣｏｐｙコマンドを包含することが可能である。ＳｔｒＣｏｐｙコマンドは、ソースストリング、マクロ、又は一定値をデスティネーションストリング内へ連結させることが可能である。
【００２４】
回復コマンドデータファイルは、メモリ４及び／又はコンピュータシステム１０２によってアクセス可能なその他の格納媒体内におけるデータ格納部内に格納することが可能である。例えば、回復コマンドデータファイルは、ローカルエリアネットワーク又はインターネットを介して接続された別個の格納システム上に格納させることが可能であり、その場合に、該ファイルは直接的にアクセスすることが可能であり、又周期的にアップデートさせることが可能である。「Ｈａｐｐｙ９９．Ｗｏｒｍ」ウイルスから回復するために必要となる場合のある回復コマンドデータファイルの内容の１例を図３Ｂに示してある。「ＶｉｒｕｓＳｔａｒｔ」及び「ＲｅｍｏｖｅＥｎｄ：」の間のコードの部分は、ウイルスを検知し且つ感染されたファイルを回復するために使用される。このコードの部分は回復コマンドデータファイル内に設けることも設けないことも可能である。「ＳｙｓＣｕｒｅＳｔａｒｔ：」及び「ＳｙｓＣｕｒｅＥｎｄ：」の間のコードのセクションは、本明細書に記載した技術を使用してコンピュータシステムを回復させるために使用される。
【００２５】
コンピュータシステムがウイルスを識別し且つ適宜の回復コマンドデータファイルへアクセスした後に、コンピュータシステムはコンピュータシステムを回復させるためのコマンドのリストをデータファイルから読取る。図３Ｂに示したように、ＳｙｓＣｕｒｅＳｔａｒｔ及びＳｙｓＣｕｒｅＥｎｄマーカーはデータファイル内に見つかったコマンドブロックを開始させ且つ終了させる。この例によれば、コンピュータシステムは、最初に、データファイルから検索されたキー及び値パラメータと共にＤｅｌＲｅｇＫｅｙコマンドを実行する。該キー及び値パラメータはウイルスに特定的なものであり且つこの場合には、夫々、「ＨＫ ＬＯＣＡＬ ＭＡＣＨＩＮＥ＼Ｓｏｆｔｗａｒｅ＼Ｍｉｃｒｏｓｏｆｔ＼Ｗｉｎｄｏｗｓ＼Ｒｕｎ」及び「Ｖｉｒｕｓ」である。該ウイルスによってウインドウズレジストリーファイル内に挿入された場合に、このキー及び値の組合わせは、スタートアップ時に、コンピュータシステムをして「Ｖｉｒｕｓ」ファイルを実行させる。従って、この値が本システム及び方法を使用するコンピュータシステムによってウインドウズレジストリーから削除されると、コンピュータシステムは、最早、スタートアップ時にそのファイルを実行しようとすることはない。
【００２６】
コンピュータシステムは、最早、スタートアップ時に該ウイルスファイルを実行しようとすることはないが、実行可能なウイルスファイルは未だにシステム上に存在しており削除されるべきである。従って、本回復コマンドデータファイルは、又、デスティネーション変数、キー、値パラメータと共にＲｅａｄＲｅｇＫｅｙコマンドを包含しており、特定した値フィールド内に位置している値をそれが格納されている第一変数内へロードさせる。この値は、システムスタートアップ時に「Ｈａｐｐｙ９９．Ｗｏｒｍ」が実行されるべく配置させた実行可能なファイルの名称であり、例えば「Ｓｋａ．ｅｘｅ」である。次いで、コンピュータシステムはＳｔｒｃａｔコマンドを実行して、この変数を、システム毎に変化する場合があり、従って、システムマクロ「％ＳｙｓＤｉｒ％」によって示されるシステムディレクトリーのパス名称と連結させてシステム名称とそれに続く実行可能なウイルスファイル名とを包含する第二変数とさせる。次いで、コンピュータシステムはパラメータとして第二変数を使用してＤｅｌｅＦｉｌｅを実行し、それにより該実行可能なファイルを削除する。この技術は、実行可能なファイルの実際の名称と独立的にコンピュータシステムが該ウイルスを削除することを可能とする。
【００２７】
その後にリストされるコマンドを実行することが可能であり且つウインドウズ９５、ウインドウズ９８、ウインドウズＮＴ、ウインドウズ２０００、又は全てへ設定することが可能なオペレーティングシステムを識別するためにオペレーティングシステム（ＯＳ）変数を使用することが可能である。オペレーティングシステムに特定のコマンドが存在する場合には、そのコマンドはそのオペレーティングシステムにより識別される回復コマンドデータファイルのサブセクションの下にリストすることが可能である。全てのオペレーティングシステムに関して使用することが可能なコマンドが存在する場合には、そのコマンドは一般セクション又はサブセクションの下にリストすることが可能であり且つ全てのオペレーティングシステムに対して実行することが可能である。図３Ｂにおいて、オペレーティングシステム変数「Ｗｉｎ９ｘ」はコードセクション内にリストされているコマンドがウインドウズ９５、９８、ＭＥオペレーティングシステムが稼動するコンピュータシステム上で実行されるべきであることを表わす。本システム及び方法は、スタンダードシステムアプリケーションプログラムインターフェース（ＡＰＩ）を使用するオペレーティングシステムを決定することが可能である。オペレーティングシステムが決定されると、この情報は回復コマンドデータファイル内のコマンドを実行している場合の条件付き分岐のために格納し且つ使用することが可能である。
【００２８】
回復コマンドデータファイルは、又、その他のタイプのコマンドを包含することが可能である。例えば、容易に入手可能でないファイル又はデータを修復又は置換させることが必要である場合に、適宜のファイル又はデータを包含するシステムディスクを挿入することのプロンプトをユーザに対して与えるためのコードを回復コマンドデータファイル内に設けることが可能である。システムディスクからファイル又はデータを検索するため及びコンピュータシステム上の損傷されたか又は欠落しているファイルを置換させるためのコードを包含させることが可能である。回復コマンドデータファイルは、又、コンピュータシステムからインターネットブラウザーを起動させ且つコンピュータシステムを回復させるための適宜のファイル又はデータを具備する既知のウエブサイトへアクセスするためのコードを包含することも可能である。ウエブサイトからファイル又はデータを自動的にダウンロードするため及びコンピュータシステム上の欠落しているか又は損傷されたファイル又はデータを回復させるために適宜のファイル又はデータをダウンロードすることのプロンプトをユーザに与えるためのコードを回復コマンドデータファイル内に包含させることが可能である。
【００２９】
本発明は、１個又はそれ以上の従来の汎用デジタルコンピュータ及び／又は本発明の示唆に基づいてプログラムされたサーバーを使用して実現することが可能である。本発明の示唆に基づいて熟練したプログラマーにより適宜のソフトウエアコーディングを容易に用意することが可能である。本発明は、又、応用特定集積回路の調整により、又は従来のコンポーネント回路の適宜のネットワークの相互接続により実現することが可能である。
【００３０】
本発明の種々の付加的な修正及び変形は上の説明に鑑み可能なものである。従って、特許請求の範囲内において、本発明は本発明に特記したもの以外に実施することが可能であることを理解すべきである。
【図面の簡単な説明】
【００３１】
【図１】本発明の１実施例に基づいて悪性コードにより損傷を受けたコンピュータシステムを回復するためのシステム及び方法を適用することが可能な例示的なコンピュータシステムを示した概略図。
【図２】本発明の１実施例に基づいて悪性コードにより損傷を受けたコンピュータシステムを回復するためのプロセスを示したフローチャート。
【図３】（Ａ）はウイルス特定回復コマンドデータファイルを包含するデータベースを示した概略図、（Ｂ）は本発明の１実施例に基づく回復コマンドデータファイルのうちの１つからのコマンドを示した概略図。
【図１】
2004533041.tif 000003
【図２】
2004533041.tif 000004
【図３】
2004533041.tif 000005
【国際公開パンフレット】
2004533041.tif 000006
2004533041.tif 000007
2004533041.tif 000008
2004533041.tif 000009
2004533041.tif 000010
2004533041.tif 000011
2004533041.tif 000012
2004533041.tif 000013
2004533041.tif 000014
2004533041.tif 000015
2004533041.tif 000016
2004533041.tif 000017
2004533041.tif 000018
2004533041.tif 000019
2004533041.tif 000020
2004533041.tif 000021
2004533041.tif 000022
2004533041.tif 000023
2004533041.tif 000024
2004533041.tif 000025
【国際調査報告】
2004533041.tif 000026
2004533041.tif 000027
2004533041.tif 000028