(57)【要約】  本発明は、コンピュータ装置において危険ファイルに対応する挙動情報を特定する方法を提供する。当該挙動情報特定方法は、危険ファイルの存在を検知すると、上記コンピュータ装置のリアル環境における少なくとも１つのリアルＡＰＩと同様の少なくとも１つのバーチャルＡＰＩが含まれる上記コンピュータ装置のバーチャル環境において、上記危険ファイルを稼動するステップと、バーチャル環境において上記危険ファイルの挙動をモニタリングし、上記危険ファイルに対応する挙動情報を取得するステップとを含む。本発明によれば、危険ファイルの破壊挙動を手動で分析する必要がなく、バーチャル環境において危険ファイルの挙動情報をすばやく取得でき、コンピュータ装置のリアルシステムを迅速、かつ包括的に修復することができる。  【選択図】図１
2017520820.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ装置において危険ファイルに対応する挙動情報を特定する方法であって、
危険ファイルの存在を検知すると、前記コンピュータ装置のリアル環境における少なくとも１つのリアルＡＰＩと同様の少なくとも１つのバーチャルＡＰＩが含まれる前記コンピュータ装置のバーチャル環境において、前記危険ファイルを稼動するステップと、
バーチャル環境において前記危険ファイルの挙動をモニタリングし、前記危険ファイルに対応する挙動情報を取得するステップとを含む、
ことを特徴とする危険ファイルに対応する挙動情報特定方法。
【請求項２】
前記少なくとも１つのバーチャルＡＰＩは、現在実行中のアプリケーションを読取り可能なアプリケーション読取バーチャルＡＰＩを含み、前記バーチャル環境において前記危険ファイルを稼動するステップは、
前記危険ファイルが前記アプリケーション読取バーチャルＡＰＩを呼び出すと、前記危険ファイルに現在実行中のアプリケーション情報を提供するステップを含む、
ことを特徴とする請求項１に記載の危険ファイルに対応する挙動情報特定方法。
【請求項３】
さらに、前記バーチャル環境において稼動している危険ファイルがリリーズした少なくとも１つのファイルを取得するステップを含み、
バーチャル環境において前記危険ファイルの挙動をモニタリングし、前記危険ファイルに対応する挙動情報を取得するステップは、
バーチャル環境において、前記危険ファイル及び前記少なくとも１つのファイルの挙動をモニタリングし、前記危険ファイルに対応する挙動情報を取得するステップを含む、
ことを特徴とする請求項１又は２に記載の危険ファイルに対応する挙動情報特定方法。
【請求項４】
前記挙動情報は、
ファイル操作挙動に関する情報、
レジストリ操作挙動に関する情報、
プロセス操作挙動に関する情報、及び
スレッド操作挙動に関する情報のうちの少なくとも１つを含む、
ことを特徴とする請求項１〜３のいずれか１項に記載の危険ファイルに対応する挙動情報特定方法。
【請求項５】
さらに、前記危険ファイルに対応する挙動情報に基づいて、前記コンピュータ装置のリアル環境を修復するステップを含む、
ことを特徴とする請求項１〜４のいずれか１項に記載の危険ファイルに対応する挙動情報特定方法。
【請求項６】
前記危険ファイルに対応する挙動情報に基づいて、前記コンピュータ装置のシステム環境を修復するステップは、
前記危険ファイルに対応する挙動情報に基づいて、該当する修復操作情報を特定するステップと、
前記修復操作情報に基づいて、前記コンピュータ装置のリアル環境を修復するステップとを含む、
ことを特徴とする請求項５に記載の危険ファイルに対応する挙動情報特定方法。
【請求項７】
前記修復操作情報は、
ファイル修復操作に関する情報、
レジストリ修復操作に関する情報、
プロセス修復操作に関する情報、及び
スレッド修復操作に関する情報のうちの少なくとも１つを含む、
ことを特徴とする請求項６に記載の危険ファイルに対応する挙動情報特定方法。
【請求項８】
さらに、所定の終了条件を満足すると、バーチャル環境を閉じるステップを含む、
ことを特徴とする請求項１〜７のいずれか１項に記載の危険ファイルに対応する挙動情報特定方法。
【請求項９】
前記所定の終了条件は、
バーチャル環境において前記危険ファイルがプロセス終了操作を実行すること、及び
バーチャル環境における前記危険ファイルの稼動時間が所定時間を超えることのうちの少なくとも１つを含む、
ことを特徴とする請求項８に記載の危険ファイルに対応する挙動情報特定方法。
【請求項１０】
コンピュータ装置において危険ファイルに対応する挙動情報を特定する装置であって、
危険ファイルの存在を検知すると、前記コンピュータ装置のリアル環境における少なくとも１つのリアルＡＰＩと同様の少なくとも１つのバーチャルＡＰＩが含まれる前記コンピュータ装置のバーチャル環境において、前記危険ファイルを稼動するための装置と、
バーチャル環境において前記危険ファイルの挙動をモニタリングし、前記危険ファイルに対応する挙動情報を取得するための装置とを備える、
ことを特徴とする危険ファイルに対応する挙動情報特定装置。
【請求項１１】
前記少なくとも１つのバーチャルＡＰＩは、現在実行中のアプリケーションを読取り可能なアプリケーション読取バーチャルＡＰＩを含み、前記バーチャル環境において前記危険ファイルを稼動するための装置は、
前記危険ファイルが前記アプリケーション読取バーチャルＡＰＩを呼び出すと、前記危険ファイルに現在実行中のアプリケーション情報を提供するための装置を備える、
ことを特徴とする請求項１０に記載の危険ファイルに対応する挙動情報特定装置。
【請求項１２】
さらに、前記バーチャル環境において稼動している危険ファイルがリリーズした少なくとも１つのファイルを取得するための装置を含み、
バーチャル環境において前記危険ファイルの挙動をモニタリングし、前記危険ファイルに対応する挙動情報を取得するための装置は、
バーチャル環境において、前記危険ファイル及び前記少なくとも１つのファイルの挙動をモニタリングし、前記危険ファイルに対応する挙動情報を取得するための装置を含む、
ことを特徴とする請求項１０又は１１に記載の危険ファイルに対応する挙動情報特定装置。
【請求項１３】
前記挙動情報は、
ファイル操作挙動に関する情報、
レジストリ操作挙動に関する情報、
プロセス操作挙動に関する情報、及び
スレッド操作挙動に関する情報のうちの少なくとも１つを含む、
ことを特徴とする請求項１０〜１２のいずれか１項に記載の危険ファイルに対応する挙動情報特定装置。
【請求項１４】
さらに、前記危険ファイルに対応する挙動情報に基づいて、前記コンピュータ装置のリアル環境を修復するための装置を含む、
ことを特徴とする請求項１０〜１３のいずれか１項に記載の危険ファイルに対応する挙動情報特定装置。
【請求項１５】
前記危険ファイルに対応する挙動情報に基づいて、前記コンピュータ装置のシステム環境を修復するための装置は、
前記危険ファイルに対応する挙動情報に基づいて、該当する修復操作情報を特定するための装置と、
前記修復操作情報に基づいて、前記コンピュータ装置のリアル環境を修復するための装置とを備える、
ことを特徴とする請求項１４に記載の危険ファイルに対応する挙動情報特定装置。
【請求項１６】
前記修復操作情報は、
ファイル修復操作に関する情報、
レジストリ修復操作に関する情報、
プロセス修復操作に関する情報、及び
スレッド修復操作に関する情報のうちの少なくとも１つを含む、
ことを特徴とする請求項１５に記載の危険ファイルに対応する挙動情報特定装置。
【請求項１７】
さらに、所定の終了条件を満足すると、バーチャル環境を閉じるための装置を含む、
ことを特徴とする請求項１０〜１６のいずれか１項に記載の危険ファイルに対応する挙動情報特定装置。
【請求項１８】
前記所定の終了条件は、
−バーチャル環境において前記危険ファイルがプロセス終了操作を実行すること、及び
−バーチャル環境における前記危険ファイルの稼動時間が所定時間を超えることのうちの少なくとも１つを含む、
ことを特徴とする請求項１７に記載の危険ファイルに対応する方法。
【請求項１９】
コンピュータコードを格納し、前記コンピュータコードが実行されると、請求項１〜９のいずれか１項に記載の危険ファイルに対応する挙動情報特定方法が実行される、
こと特徴とするコンピュータ読取可能な媒体。
【請求項２０】
コンピュータ装置により実行されると、請求項１〜９のいずれか１項に記載の危険ファイルに対応する挙動情報特定方法が実行される、
こと特徴とするコンピュータプログラム製品。
【請求項２１】
コンピュータコードを格納するメモリと、
前記コンピュータコードを実行することで請求項１〜９のいずれか１項に記載の危険ファイルに対応する挙動情報特定方法を実行するように構成されたプロセッサと、を含む、
こと特徴とするコンピュータ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ技術分野に関し、特に、コンピュータ装置において危険ファイルに対応する挙動情報特定方法及び危険ファイルに対応する挙動情報特定装置に関する。
【０００２】
本出願は、２０１５年３月１８日付け出願の「危険ファイルに対応する挙動情報特定方法及び危険ファイルに対応する挙動情報特定装置」と題する中国特許出願第２０１５１０１１９８２０．７の優先権を主張する。
【背景技術】
【０００３】
従来技術において、コンピュータ装置が危険ファイルを検出すると、通常、危険ファイルに対して簡単な削除操作のみ実行する。しかしながら、危険ファイルがコンピュータ装置において稼動する際に、コンピュータ装置のシステム環境に対して破壊挙動（例えばレジストリキー、計画タスク、実行可能なファイル等に対して実行する破壊挙動）を行うため、単純に危険ファイルを削除しても、コンピュータ装置を元の正常なシステム環境に戻すことができない。
【０００４】
なお、このような破壊挙動は、危険ファイル及び危険ファイルの稼動過程を手動で分析しなければ取得できず、これには、ユーザが大量の時間及び労力を投入する必要があるため、処理期間が長く、効率が悪い。さらに、手動分析は、包括的でなく、危険ファイルの一部のロジックがトリガーされていないことにより危険ファイルの全ての破壊挙動を完全に取得しかねる。
【発明の概要】
【０００５】
本発明は、コンピュータ装置における危険ファイルに対応する挙動情報特定方法及び危険ファイルに対応する挙動情報特定装置を提供することを目的とする。
本発明の一実施態様では、コンピュータ装置において危険ファイルに対応する挙動情報を特定する方法を提供する。当該方法は、
【０００６】
危険ファイルの存在を検知すると、上記コンピュータ装置のバーチャル環境において、上記危険ファイルを稼動するステップを含み、ここで上記バーチャル環境は、コンピュータ装置のリアル環境における少なくとも１つのリアルアプリケーションプログラムインターフェース（ＡＰＩ）と同様の少なくとも１つのバーチャルＡＰＩを含む、と、
上記バーチャル環境において上記危険ファイルの挙動をモニタリングし、上記危険ファイルに対応する挙動情報を取得するステップとを含む。
本発明の他の実施態様では、コンピュータ装置において危険ファイルに対応する挙動情報を特定するための装置を提供する。ここで、当該装置は、
【０００７】
危険ファイルの存在を検知すると、上記コンピュータ装置のバーチャル環境において、上記危険ファイルを稼動するように構成された装置を含み、ここで上記バーチャル環境は、コンピュータ装置のリアル環境における少なくとも１つのリアルＡＰＩと同様の少なくとも１つのバーチャルＡＰＩを含む、と、
上記バーチャル環境において上記危険ファイルの挙動をモニタリングし、上記危険ファイルに対応する挙動情報を取得するように構成された装置とを備える。
【０００８】
従来技術と比べて、本発明は、以下の利点を有する。
１）コンピュータ装置のバーチャル環境において危険ファイルを稼動することで、危険ファイルの挙動情報を取得することができる。当該プロセスは、手動の分析を不要とするため、挙動情報を取得するために必要な時間を大幅に短縮することができる。
２）バーチャルＡＰＩによるバーチャルな実行を通して危険ファイルの全ての操作挙動を記録することができる。このため、コンピュータ装置により取得した挙動情報が包括的なものとなり、挙動情報が完全ではないことに起因してコンピュータ装置のリアル環境が全面的に修復されない状況を回避することができる。
３）バーチャル環境において危険ファイルを稼動することは、コンピュータ装置のリアル環境に影響を与えず、バーチャル環境のコンピュータ装置における占用空間が極めて小さい。さらに、バーチャル環境ではバーチャルＡＰＩの機能を実際にに実行する必要がなく、リアル環境において当該バーチャルＡＰＩに対応するリアルＡＰＩが呼び出されるときと同じフィードバック結果を返すことのみが必要となる。これにより、危険ファイルをバーチャル環境においてより速く稼動することができるため、危険ファイルの挙動情報をすばやく取得することができる。
４）コンピュータ装置は、バーチャル環境において取得した危険ファイルの挙動情報に従って、コンピュータ装置のリアル環境を修復することができる。これにより、すばやく、かつ包括的に、危険ファイル及び危険ファイルがリリーズした他の危険ファイルにより引き起こされたリアル環境の破壊を修復することができる。
【図面の簡単な説明】
【０００９】
添付の図面を参照して行う以下の非制限的な実施態様に関する詳細な説明により、本発明の他の特徴、目的及び利点はより明確になるであろう。
【図１】本発明の一実施形態によるコンピュータ装置の危険ファイルに対応する挙動情報を特定するための方法のフローチャートである。
【図２】本発明の他の実施形態によるコンピュータ装置の危険ファイルに対応する挙動情報を特定するための方法のフローチャートである。
【図３】本発明の一実施形態によるコンピュータ装置の危険ファイルに対応する挙動情報を特定するための装置の構成図である。
【図４】本発明の他の実施形態によるコンピュータ装置の危険ファイルに対応する挙動情報を特定するための装置の構成図である  図面中、同様或いは同等な符号は、同様或いは同等な部品を示す。
【発明を実施するための形態】
【００１０】
以下、本発明について、図面を参照しながらより詳細に説明する。
図１は、本発明の一実施形態によるコンピュータ装置の危険ファイルに対応する挙動情報を特定するための方法のフローチャートである。
【００１１】
ここで、本実施形態による方法は、主にコンピュータ装置により実現され、上記コンピュータ装置は、ネットワーク装置及びユーザ装置を含む。上記ネットワーク装置は、単一のネットワークサーバ、複数のネットワークサーバからなるサーバ群、或いはクラウドコンピューティング（Ｃｌｏｕｄ  Ｃｏｍｐｕｔｉｎｇ）に基づいて大量のコンピュータやネットワークサーバからなるクラウドを含むが、これらに限定されるものではない。ここで、クラウドコンピューティングは、分散コンピューティングの一種であり、いくつかの疎結合したコンピュータクラスタからなる１つのバーチャル・スーパーコンピュータである。上記ネットワーク装置が所在するネットワークは、インターネット、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＭＡＮ（Ｍｅｔｒｏｐｏｌｉｔａｎ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＶＰＮ（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）ネットワークなどを含むが、これらに限定されるものではない。上記ユーザ装置は、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）機、タブレットＰＣ、スマートフォン、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、ＩＰＴＶ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ｔｅｌｅｖｉｓｉｏｎ）等を含むが、これらに限定されるものではない。
【００１２】
上記コンピュータ装置は代表例に過ぎず、本発明に適用できれば、他の既存の、又は今後開発されるコンピュータ装置も、本発明の保護範囲に含まれるべきであり、援用によりここに含まれる。
本実施形態による方法は、ステップＳ１及びステップＳ２を含む。
【００１３】
ステップＳ１において、危険ファイルが存在することを検知すると、コンピュータ装置は、当該コンピュータ装置のバーチャル環境において当該危険ファイルを稼動する。
ここで、上記危険ファイルは、例えばウイルスファイル、トロイファイル等の危険性のあるあらゆるファイルを含む。
【００１４】
また、上記バーチャル環境は、コンピュータ装置のリアル環境を仮想化するために用いられ、上記バーチャル環境には、リアル環境における少なくとも１つのリアルＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）と同様の少なくとも１つのバーチャルＡＰＩが含まれる。ここで、上記バーチャルＡＰＩは、バーチャル環境に呼び出されることができ、リアル環境において当該バーチャルＡＰＩに対応するリアルＡＰＩが呼び出されるときと同じフィードバック結果を返すことができる。また、上記リアル環境は、コンピュータ装置においてリアルに稼動しているシステム環境を示すために用いられる。、例えば、コンピュータ装置においてリアルに稼動しているＷｉｎｄｏｗｓ  ＯＳに対応するシステム環境が挙げられる。ここで、上記リアルＡＰＩは、リアル環境におけるＡＰＩを示し、例えば、コンピュータ装置でリアルに稼動するＷｉｎｄｏｗｓ  ＯＳにおけるシステムＡＰＩが挙げられる。
【００１５】
例えば、コンピュータ装置のリアル環境には、ＤｅｌｅｔｅＦｉｌｅであるリアルＡＰＩが存在する。当該リアルＡＰＩは、当該リアル環境において指定ファイルを削除し、削除操作の実行が成功したことを示すフィードバック結果を返すために使用される。当該コンピュータ装置のバーチャル環境には、当該リアルＡＰＩに対応するバーチャルＡＰＩが存在し、バーチャル環境において当該バーチャルＡＰＩが呼び出されると、削除操作の実行が成功したことを示すフィードバック結果も返す。
【００１６】
バーチャル環境においてバーチャルＡＰＩが呼び出されたとき、当該バーチャルＡＰＩの機能が実際には実行されず、バーチャルＡＰＩに対応するリアルＡＰＩを呼び出した効果を奏するようにバーチャル化されるのが好ましい。例えば、上記例において、ＤｅｌｅｔｅＦｉｌｅに対応するバーチャルＡＰＩをバーチャル環境に呼び出し、当該バーチャルＡＰＩがバーチャル環境において指定ファイルを削除する操作を実行せず、代わりに、呼び出されるときに削除操作の実行が成功したことを示すフィードバック結果を直接返すことで、ＤｅｌｅｔｅＦｉｌｅを呼び出した効果を奏するようにバーチャル化する。
【００１７】
上記バーチャル環境は、コンピュータ装置におけるレジストリ及び環境変数等を設定する必要がないため、該当するインストール操作を実行することなく、すなわち直接、起動して稼動できるのが好ましい。上記バーチャル環境は、多くの場面で起動できる。例えば、コンピュータ装置の電源を入れたときに自動的に起動したり、コンピュータ装置がスキャン操作を実行するときに自動的に起動したり、危険ファイルの存在を検知したときに自動的に起動したり、又はユーザの操作により起動する。上記バーチャル環境は、起動された後毎回、初期環境に戻るのが好ましい。バーチャル環境が起動され、各危険ファイルが完全に実行した後に、バーチャル環境が自動的に初期化操作を実行することができ、又は、ユーザの操作により初期化操作を実行することができ、これにより、当該バーチャル環境を初期環境に戻すのがより好ましい。
【００１８】
さらに、コンピュータ装置における上記バーチャル環境の占用空間が極めて小さく（例えば占用空間が約１０Ｍ）、その稼動はコンピュータ装置のリアルシステムの稼動に影響を及ぼさない。上記占用空間の大きさは、バーチャル環境における危険ファイルの挙動（例えば危険ファイルによる他のファイルをリリーズする挙動）に基づいて変化するのが好ましい。
【００１９】
具体的には、危険ファイルの存在が検知されると、コンピュータ装置は、当該危険ファイルを当該コンピュータ装置のバーチャル環境に提供し、当該バーチャル環境において当該危険ファイルを稼動する。
【００２０】
例えば、コンピュータ装置においてウイルスファイルの存在が検知されると、コンピュータ装置は、当該ウイルスファイルを当該コンピュータ装置のバーチャル環境に提供し、当該バーチャル環境において当該ウイルスファイルを稼動する。
【００２１】
バーチャル環境における少なくとも１つのバーチャルＡＰＩは、現在実行中のアプリケーションを読取ることができるアプリケーション読取バーチャルＡＰＩを含み、上記ステップＳ１は、さらに、危険ファイルがアプリケーション読取バーチャルＡＰＩを呼び出すと、コンピュータ装置が、危険ファイルに現在実行中のアプリケーション情報を提供するステップを含むのが好ましい。
【００２２】
ここで、上記アプリケーション読取バーチャルＡＰＩは、リアルシステムにおけるＣｒｅａｔｅＴｏｏｌｈｅｌｐ３２Ｓｎａｐｓｈｏｔに対応するバーチャルＡＰＩのような現在実行中のアプリケーションを読取るバーチャルＡＰＩを含む。当該ＣｒｅａｔｅＴｏｏｌｈｅｌｐ３２Ｓｎａｐｓｈｏｔは、リアルシステムにおいて現在実行中の全てのプロセスの情報を取得するためのものである。
【００２３】
ここで、上記アプリケーション情報は、現在実行中のアプリケーションを示すための情報、例えば、現在実行中のアプリケーションのアプリケーションネーム、現在実行中のアプリケーションのプロセスＩＤ等を含む。
【００２４】
具体的には、バーチャル環境において危険ファイルの稼働中、当該危険ファイルがアプリケーション読取バーチャルＡＰＩを呼び出すと、コンピュータ装置は、当該読取バーチャルＡＰＩを経由して、現在実行中のアプリケーション情報を危険ファイルに返す。
【００２５】
例えば、バーチャル環境においてウイルスファイルｆｉｌｅ１の稼動中、ｆｉｌｅ１がアプリケーション読取バーチャルＡＰＩを呼び出すと、コンピュータ装置は、当該アプリケーション読取バーチャルＡＰＩを経由して、現在実行中のアプリケーション情報をｆｉｌｅ１に返す。当該アプリケーション情報は、現在実行中のアプリケーションがＡＰＰ１及びＡＰＰ２を含むことを示すために使用される。
【００２６】
アプリケーション読取バーチャルＡＰＩは、複数種類の手段で現在実行中のアプリケーション情報を取得することができる。
【００２７】
１例として、アプリケーション読取バーチャルＡＰＩは、ユーザによるバーチャル環境のプロセス設定に基づいて、現在実行中のアプリケーション情報を取得する。例えば、ユーザがバーチャル環境においてプロセスリストを設定し、当該プロセスリストにアプリケーションＡＰＰ１及びＡＰＰ２を追加すると、アプリケーション読取バーチャルＡＰＩにより当該プロセスリストに基づいて読み取れる現在実行中のアプリケーションは、ＡＰＰ１及びＡＰＰ２を含む。
【００２８】
他の例では、アプリケーション読取バーチャルＡＰＩは、コンピュータ装置のリアル環境から現在実行中のアプリケーション情報を取得することをトリガーする。例えば、アプリケーション読取バーチャルＡＰＩは、コンピュータ装置のリアル環境から当該アプリケーション読取バーチャルＡＰＩに対応するリアルＡＰＩを呼び出すことをトリガーし、当該リアルＡＰＩにより返された結果に基づいて現在実行中のアプリケーション情報を取得する。
【００２９】
上記の例は、本発明の技術案をよりよく説明するためのものにすぎず、本発明を制限するためのものではない。当業者であれば、危険ファイルの存在が検知されたとき、上記コンピュータ装置のバーチャル環境において上記危険ファイルを稼動するあらゆる実現形態が、本発明の技術的範囲に含まれることを理解すべきである。
ステップＳ２において、コンピュータ装置は、バーチャル環境における危険ファイルの挙動をモニタリングし、危険ファイルに関する挙動情報を取得する。
【００３０】
具体的には、コンピュータ装置は、バーチャル環境において危険ファイルにより実行される挙動をモニタリングし記録することで、危険ファイルに関する挙動情報を取得する。
【００３１】
コンピュータ装置は、バーチャル環境において、危険ファイルが稼動中に呼び出したバーチャルＡＰＩに基づいて、当該危険ファイルの挙動をモニタリングし、当該危険ファイルに対応する挙動情報を取得するのが好ましい。
【００３２】
例えば、コンピュータ装置は、バーチャル環境において、稼動中に危険ファイルに呼び出されたバーチャルＡＰＩにより、バーチャル環境に変化を引き起こす危険ファイルの全ての挙動を記録し、それらの挙動に対応する挙動情報を取得する。
【００３３】
ここで、上記挙動情報には、バーチャル環境における危険ファイルの操作挙動に関するあらゆる情報が含まれる。好ましくは、上記挙動情報には、以下の情報が含まれるが、これらに限定されるものではない。
【００３４】
１）ファイル操作挙動に関する情報
ここで、上記ファイル操作挙動は、例えばファイルの作成、更新、削除等のファイルに対して実行可能なあらゆる操作挙動を含む。上記ファイル操作挙動に関する情報は、ファイルの操作挙動のタイプ（例えば作成、更新、削除操作挙動）を示すための情報、操作されたファイル名称、操作されたファイルのパス情報等を含むことが好ましいが、これらに限定されるものではない。
【００３５】
２）レジストリ操作挙動に関する情報
ここで、上記レジストリ操作挙動は、例えばレジストリキーの作成、設定、削除等のレジストリに対して実行可能なあらゆる操作挙動を含む。上記レジストリ操作挙動に関する情報は、操作挙動のタイプ（例えば作成、設定、削除操作挙動）を示すための情報、操作されたレジストリキー、レジストリキーの対応する値等を含むことが好ましいが、これらに限定されるものではない。
【００３６】
３）プロセス操作挙動に関する情報
ここで、上記プロセス操作挙動は、例えばプロセスの作成や終了、クロスプロセスの書き込み等のプロセスに対して実行可能なあらゆる操作挙動を含む。上記プロセス操作挙動に関する情報は、スレッドの操作挙動タイプ（例えばプロセスの作成・終了、クロスプロセスの書き込み）を示すための情報、操作されたプロセスの識別ＩＤ、操作されたプロセスの対応するパス情報等を含むことが好ましいが、これらに限定されるものではない。
【００３７】
４）スレッド操作挙動に関する情報
ここで、上記スレッド操作挙動は、例えばスレッドのインジェクション等のスレッドに対して実行可能なあらゆる操作挙動を含む。上記スレッド操作挙動に関する情報は、スレッドの操作挙動タイプを示すための情報、操作されたスレッドの識別ＩＤ、操作されたスレッドに対応する特徴値等を含むことが好ましいが、これらに限定されるものではない。ここで、上記特徴値は、スレッドの特徴を示すために用いられる。上記特徴値は、スレッドのコードの長さに対応するパリティ値であることが好ましい。例えば、スレッドのコードの長さが０ｘ１００であると、特徴値は当該コードの長さに対応するＣＲＣ（ＣｙｃｌｉｃＲｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）３２となる。
【００３８】
上記挙動情報は、例示的なものにすぎず、本発明を制限するためのものではない。当業者であれば、バーチャル環境における危険ファイルの挙動に関するあらゆる情報が本発明の上記挙動情報の範囲に含まれることを理解すべきである。
【００３９】
好ましい態様では、本実施形態の方法は、さらにステップＳ４を含み、上記ステップＳ２は、さらにステップＳ２１を含む。
【００４０】
ステップＳ４において、コンピュータ装置は、バーチャル環境で危険ファイルがリリーズした少なくとも１つのファイルを取得する。
【００４１】
例えば、バーチャル環境において、危険ファイルｆｉｌｅ２が稼動中にリリーズした以下のファイル、すなわち、ｓｅｒ２ｖｅｔ．ｅｘｅ、ａｕｔｏｒｕｎ．ｉｎｆであるファイルを取得する。
【００４２】
ステップＳ２１において、コンピュータ装置は、バーチャル環境において、危険ファイル及び危険ファイルがリリーズした少なくとも１つのファイルの挙動をモニタリングして、上記危険ファイルに対応する挙動情報を取得する。
【００４３】
例えば、ステップＳ４において、コンピュータ装置は、危険ファイルｆｉｌｅ２がリリーズしたｓｅｒ２ｖｅｔ．ｅｘｅ、ａｕｔｏｒｕｎ．ｉｎｆである危険ファイルを取得し、ステップＳ２１において、コンピュータ装置は、バーチャル環境において、ｆｉｌｅ２、ｓｅｒ２ｖｅｔ．ｅｘｅ、ａｕｔｏｒｕｎ．ｉｎｆそれぞれの挙動をモニタリングし、当該３つの危険の挙動情報を取得し、取得した挙動情報を危険ファイルｆｉｌｅ２に対応する挙動情報とする。
【００４４】
危険ファイルによりリリーズされた各ファイルの挙動をコンピュータ装置がモニタリングする形態は、上記ステップＳ２において危険ファイルの挙動をモニタリングする形態と同様又は同等であるため、ここで説明を省略する。
【００４５】
上記例は、本発明の技術案をよりよく説明するためのものにすぎず、本発明を制限するためのものではない。当業者であれば、バーチャル環境において上記危険ファイルの挙動をモニタリングして、上記危険ファイルに対応する挙動情報を取得するあらゆる実施形態が、全て本発明の技術的範囲に含まれることを理解すべきである。
【００４６】
好ましい実施態様として、本実施形態の方法は、さらにステップＳ５を含む。
ステップＳ５において、所定の終了条件を満足すると、コンピュータ装置は、バーチャル環境を閉じる。
【００４７】
ここで、上記所定の終了条件は、バーチャル環境を閉じることを示すために予め定められたあらゆる条件を含む。上記所定の終了条件は、以下の条件を含むことが好ましいが、これらに限定されるものではない。
【００４８】
１）上記危険ファイルは、バーチャル環境においてプロセス終了操作を実行する。
ここで、上記プロセス終了操作は、危険ファイルのプロセスの終了を示すためのあらゆる操作を含む。好ましくは、上記プロセス終了操作は、危険ファイルの自動削除操作、バーチャル環境においてユーザにより実行された危険ファイルを削除する操作等を含むことが好ましいが、これらに限定されるものではない。
【００４９】
２）バーチャル環境において危険ファイルの稼動時間が、所定時間を超える。
例えば、所定時間が５ｓであれば、バーチャル環境における危険ファイルの稼動時間が５ｓを超えると、所定の終了条件を満足する。
【００５０】
上記所定の終了条件は例示的なものにすぎず、本発明を制限するためのものではない。当業者であれば、バーチャル環境を閉じることを示すために予め定められたあらゆる条件は、本発明の上記所定の終了条件の範囲に含まれることを理解すべきである。
【００５１】
上記例は、本発明の技術案をよりよく説明するためのものにすぎず、本発明を制限するためのものではない。当業者であれば、所定の終了条件を満足するときにバーチャル環境を閉じるあらゆる実施形態が、全て本発明の範囲に含まれることを理解すべきである。
【００５２】
本実施形態によれば、コンピュータ装置のバーチャル環境において危険ファイルを稼動することにより、危険ファイルの挙動情報を取得することができる。当該工程は、手動の分析を不要とするため、挙動情報を取得するために必要な時間を大幅に短縮することができる。さらに、バーチャルＡＰＩのバーチャル実行により危険ファイルの全ての操作挙動を記録することができるため、コンピュータ装置により取得される挙動情報は包括的（全体的）なものであり、挙動情報が包括的ではないことに起因してコンピュータ装置のリアル環境が包括的に修復されないという状況を回避することができる。
【００５３】
なお、バーチャル環境において危険ファイルを稼動することは、コンピュータ装置のリアル環境に影響を及ぼさない。さらに、コンピュータ装置におけるバーチャル環境の占用空間は極めて小さい。そして、バーチャル環境ではバーチャルＡＰＩの機能を実際に実行する必要なく、リアル環境において当該バーチャルＡＰＩに対応するリアルＡＰＩが呼び出されるときと同じフィードバック結果を返すことができればよい。これにより、危険ファイルがバーチャル環境においてより速く稼動することができるため、危険ファイルの挙動情報をより速く取得することができる。
【００５４】
図２は、本発明の他の実施形態によるコンピュータ装置の危険ファイルに対応する挙動情報を特定するための方法のフローチャートである。ここで、本実施形態の方法は、主にコンピュータ装置により実現され、図１に示した実施形態においてコンピュータ装置に関するあらゆる説明は、全て援用の方式でここに含まれる。
【００５５】
本実施形態に係る方法は、ステップＳ１、ステップＳ２及びステップＳ３を含む。ここで、上記ステップＳ１及び上記ステップＳ２は、既に図１を参照して詳細に説明したため、ここでは詳細を省略する。
【００５６】
ステップＳ３において、コンピュータ装置は、危険ファイルに関する挙動情報に基づいて、当該コンピュータ装置のリアル環境を修復する。
具体的には、コンピュータ装置は、多くの場面で危険ファイルに関する挙動情報に基づいて、当該コンピュータ装置のリアル環境を修復する。
例えば、ステップＳ２の後、コンピュータ装置は、直接ステップＳ３を実行してコンピュータ装置のリアル環境を修復する。
【００５７】
また、例えば、ステップＳ２の後、ユーザの操作により危険ファイルを抹消（クリア）することを決定すると、コンピュータ装置は、直接ステップＳ３を実行し危険ファイルを抹消する同時にコンピュータ装置のリアル環境を修復する。
【００５８】
さらに、例えば、危険ファイルを抹消した後、ユーザの操作によりリアル環境を修復する必要があると特定されると、コンピュータ装置がステップＳ３を実行しコンピュータ装置のリアル環境を修復する。
【００５９】
ステップＳ３において、危険ファイルに対応する挙動情報に基づいて、当該挙動情報に示される操作挙動と逆の操作を、コンピュータ装置が直接実行して当該コンピュータ装置のリアル環境を復元・修復することが好ましい。
【００６０】
例えば、危険ファイルの挙動情報は、ファイルの作成を示すための情報、及び作成されたファイルのパス情報を含む。ステップＳ３において、コンピュータ装置は、当該挙動情報に基づいて、当該パス情報により示されるファイルパスで作成されたファイルを削除することにより、リアル環境を危険ファイルの稼動前の状態に復元する。
【００６１】
また、例えば、危険ファイルの挙動情報は、レジストリキーの削除を示すための情報、及び削除されたレジストリキーを含む。ステップＳ３において、コンピュータ装置は、当該挙動情報に基づいて、削除されたレジストリキーを復元することにより、リアル環境を危険ファイルの稼動前の状態に復元する。
【００６２】
ステップＳ３の１つの好ましい態様では、上記ステップＳ３は、さらに、ステップＳ３１及びステップＳ３２を含む。
ステップＳ３１において、コンピュータ装置は、危険ファイルに対応する挙動情報に基づいて、関連する修復操作情報を特定する。
ここで、上記修復操作情報は、修復操作に関するあらゆる情報を含む。上記修復操作情報は、以下の情報を含むことが好ましいが、これらに限定されるものではない。
【００６３】
ａ）ファイル修復操作に関する情報
ここで、上記ファイル修復操作は、例えばファイルパラメータの復元、ファイルの削除等のファイルを修復するためのあらゆる操作を含む。上記ファイル修復操作に関する情報は、ファイルの修復操作タイプを示すための情報、操作されたファイルの名称、復元されたファイルパラメータ、及び当該ファイルパラメータの値等を含むことが好ましいが、これらに限定されるものではない。
コンピュータ装置は、リアルシステムにおいて、危険ファイル及び当該危険ファイルがリリーズした少なくとも１つのファイルをスキャンし、スキャン結果及び危険ファイルの挙動情報に基づいて、当該ファイル修復操作に関する情報を決定するのが好ましい。
【００６４】
ｂ）レジストリ修復操作に関する情報
ここで、上記レジストリ修復操作は、例えばレジストリキーの復元、削除等のレジストリを修復するためのあらゆる操作を含む。上記レジストリ修復操作に関する情報は、レジストリの修復操作タイプを示すための情報、操作されたレジストリキー、及びレジストリキーに対応する値等を含むことが好ましいが、これらに限定されるものではない。
好ましくは、レジストリ修復操作がレジストリキーの設定であるとき、コンピュータ装置は、ローカル・知識ベース（ｋｎｏｗｌｅｄｇｅ  ｂａｓｅ）を検索することにより、当該レジストリキーに対応するデフォルト値を取得するとともに、当該デフォルト値を当該レジストリキーに対応する値とする。
【００６５】
ｃ）プロセス修復操作に関する情報
ここで、上記プロセス修復操作は、例えばプロセスの終了、再起動等のプロセスを修復するためのあらゆる操作を含む。上記プロセス修復操作に関する情報は、プロセスの修復操作タイプを示すための情報、操作されたプロセスに対応するパス情報等を含むことが好ましいが、これらに限定されるものではない。
操作されたプロセスがシステムファイルであるとき、当該プロセスの修復操作情報を取得する必要なく、当該コンピュータ装置を再起動することにより、プロセス修復操作を直接完成することができる。
【００６６】
ｄ）スレッド修復操作に関する情報
ここで、上記スレッド修復操作は、例えばスレッドの停止等のスレッドを修復するための操作を含む。上記スレッド修復操作に関する情報は、スレッドの修復操作タイプを示すための情報、及び操作されたスレッドに対応する特徴値を含むことが好ましいが、これらに限定されるものではない。
上記修復操作情報は、例示的なものにすぎず、本発明を制限するためのものではない。当業者であれば、修復操作に関するあらゆる情報が全て本発明の上記修復操作情報の範囲に含まれることを理解すべきである。
【００６７】
具体的には、ステップＳ３１において、コンピュータ装置は、危険ファイルに対応する挙動情報により示される操作挙動に基づいて、修復操作情報により示される修復操作を決定し、さらに当該修復操作及び挙動情報に基づいて、修復操作情報を決定する。
例えば、挙動情報は、クロスプロセスの書込を示すための情報及び操作されたプロセスのパス情報を含む。ステップＳ３１において、コンピュータ装置は、クロスプロセスの書込み操作を示すための情報に基づいて、再起動プロセスとしての修復操作を特定するとともに、当該修復操作及び挙動情報に基づいて、修復操作情報が再起動プロセスを示すための情報及び再起動されたプロセスのパス情報を含むことを特定する。
また、例えば、挙動情報は、スレッドのインジェクションを示すための情報及び操作されたスレッドに対応する特徴値を含む。ステップＳ３１において、コンピュータ装置は、スレッドのインジェクションを示すための情報に基づいて、修復操作をスレッドの停止として特定するとともに、当該修復操作及び挙動情報に基づいて、修復操作情報がスレッドの停止を示すための情報及び停止されたスレッドに対応する特徴値を含むことを特定する。
【００６８】
上記例は、本発明の技術案をよりよく説明するためのものにすぎず、本発明を制限するためのものではない。当業者であれば、危険ファイルに対応する挙動情報に基づいて該当する修復操作情報を特定するあらゆる実現形態が、全て本発明の範囲に含まれることを理解すべきである。
【００６９】
ステップＳ３２において、コンピュータ装置は、修復操作情報に基づいてコンピュータ装置のリアル環境を修復する。
【００７０】
例えば、ステップＳ３１において特定された修復操作情報は、プロセスの再起動を示すための情報及び操作されたプロセスに対応するパス情報を含む。ステップＳ３２において、コンピュータ装置は、当該パス情報に基づいて該当するプロセスを検索し、ヒットしたプロセスを再起動する。
【００７１】
また、例えば、ステップＳ３１において特定された修復操作情報は、スレッドの停止を指定するための情報及び操作されたスレッドに対応する特徴値を含む。ステップＳ３２において、コンピュータ装置は、当該特徴値に基づいてマッチングするスレッドを決定し、当該スレッドを停止する。
【００７２】
上記例は、本発明の技術案をよりよく説明するためのものにすぎず、本発明を制限するためのものではない。当業者であれば、修復操作情報に基づいてコンピュータ装置のリアル環境を修復するあらゆる実施形態が、全て本発明の範囲に含まれることを理解すべきである。
好ましくは、ステップＳ３の後、当該コンピュータ装置の再起動が必要であると判断されたとき、コンピュータ装置は、ユーザに当該コンピュータ装置の再起動を提示するための提示（プロンプト）情報を表示する。
【００７３】
本実施態様によれば、コンピュータ装置は、バーチャル環境において取得した危険ファイルの挙動情報に基づいて、コンピュータ装置のリアル環境を修復することができる。これにより、迅速、かつ包括的（全面的）に危険ファイル及び危険ファイルがリリーズした他の危険ファイルにより引き起こされるリアル環境の破壊を修復することができる。
【００７４】
図３は、本発明の一実施形態によるコンピュータ装置の危険ファイルに対応する挙動情報を特定するための装置の構成図である。本実施形態に係る危険ファイルに対応する挙動情報特定装置（以下、「挙動特定装置」と略称する）は、危険ファイルの存在を検知すると、コンピュータ装置のバーチャル環境において当該危険ファイルを稼動するように構成された装置（モジュール）（以下、「稼動装置１」と略称する）と、バーチャル環境において危険ファイルの挙動をモニタリングし、危険ファイルに対応する挙動情報を取得するように構成された装置（モジュール）（以下、「モニタリング装置２」と略称する）とを含む。なお、バーチャル環境は、コンピュータ装置のリアル環境の少なくとも１つのリアルＡＰＩと同等の少なくとも１つのバーチャルＡＰＩを含む。
【００７５】
稼動装置１は、危険ファイルの存在を検知すると、コンピュータ装置のバーチャル環境において当該危険ファイルを稼動する。
ここで、上記危険ファイルは、例えばウイルスファイル、トロイファイル等の危険性のあるあらゆるファイルを含む。
【００７６】
また、上記バーチャル環境は、コンピュータ装置のリアル環境の仮想化のために用いられ、上記バーチャル環境には、リアル環境における少なくとも１つのリアルＡＰＩと同様の少なくとも１つのバーチャルＡＰＩが含まれる。ここで、上記バーチャルＡＰＩは、バーチャル環境に呼び出されることができ、リアル環境において当該バーチャルＡＰＩに対応するリアルＡＰＩが呼び出されるときと同じフィードバック結果を返すことができる。また、上記リアル環境は、コンピュータ装置においてリアルに稼動するシステム環境を示すために用いられる。例えば、コンピュータ装置においてリアルに稼動するＷｉｎｄｏｗｓ  ＯＳに対応するシステム環境が挙げられる。ここで、上記リアルＡＰＩは、リアル環境におけるＡＰＩを示すために用いられる。例えば、コンピュータ装置においてリアルに稼動するＷｉｎｄｏｗｓ  ＯＳにおけるシステムＡＰＩが挙げられる。
【００７７】
例えば、コンピュータ装置のリアル環境には、ＤｅｌｅｔｅＦｉｌｅであるリアルＡＰＩが存在する。当該リアルＡＰＩは、当該リアル環境において指定ファイルを削除するとともに、削除操作の実行が成功したことを示すフィードバック結果を返すために用いられる。当該コンピュータ装置のバーチャル環境には、当該リアルＡＰＩに対応するバーチャルＡＰＩが存在し、バーチャル環境において当該バーチャルＡＰＩが呼び出されると、同様に、削除操作の実行が成功したことを示すフィードバック結果を返す。
【００７８】
好ましくは、バーチャル環境においてバーチャルＡＰＩが呼び出されると、当該バーチャルＡＰＩの機能は実際には実行されず、バーチャルＡＰＩに対応するリアルＡＰＩを呼び出した効果を奏するようにバーチャル化すればよい。例えば、上記例において、バーチャル環境においてＤｅｌｅｔｅＦｉｌｅに対応するバーチャルＡＰＩを呼び出し、当該バーチャルＡＰＩがバーチャル環境において指定ファイルを削除する操作を実行せず、代わりに、呼び出されるときに削除操作の実行が成功したことを示すフィードバック結果を直接に返すことで、ＤｅｌｅｔｅＦｉｌｅを呼び出した効果を奏するようにバーチャル化する。
【００７９】
好ましくは、上記バーチャル環境は、コンピュータ装置におけるレジストリ及び環境変数等を設定する必要がないため、該当するインストール操作を実行する必要がなく、直接、起動して稼動する。上記バーチャル環境は、多くの場面で起動される。例えば、コンピュータ装置の電源を入れたときに自動的に起動されたり、コンピュータ装置がスキャン操作を実行するときに自動的に起動されたり、危険ファイルの存在を検知したときに自動的に起動されたり、ユーザの操作により起動されたりする。上記バーチャル環境は、起動された後毎回。初期環境に戻ることが好ましい。バーチャル環境が起動され、各危険ファイルの稼動が完了した後に、バーチャル環境が自動的に初期化操作を実行することができるか、ユーザの操作により初期化操作を実行することができ、これにより、当該バーチャル環境を初期環境に戻すことがより好ましい。
【００８０】
さらに、コンピュータ装置における上記バーチャル環境の占用空間は極めて小さく（例えば占用空間が約１０Ｍ）、その稼動はコンピュータ装置のリアルシステムの稼動に影響を及ぼさない。上記占用空間の大きさは、バーチャル環境における危険ファイルの挙動（例えば危険ファイルが他のファイルをリリーズする挙動）に基づいて変化することが好ましい。
【００８１】
具体的には、危険ファイルの存在を検知すると、稼動装置１は、当該危険ファイルを当該コンピュータ装置のバーチャル環境に提供し、当該バーチャル環境において当該危険ファイルを稼動する。
【００８２】
例えば、コンピュータ装置においてウイルスファイルの存在を検知すると、稼動装置１は、当該ウイルスファイルを当該コンピュータ装置のバーチャル環境に提供し、当該バーチャル環境において当該ウイルスファイルを稼動する。
【００８３】
バーチャル環境における少なくとも１つのバーチャルＡＰＩは、現在実行中のアプリケーションを読取ることができるアプリケーション読取バーチャルＡＰＩを含み、稼動装置１は、さらに、危険ファイルがアプリケーション読取バーチャルＡＰＩを呼び出すと、危険ファイルに現在実行中のアプリケーション情報を提供するための装置（以下、「提供装置」と略称し、図示しない）を含むことが好ましい。
【００８４】
ここで、上記アプリケーション読取バーチャルＡＰＩは、リアルシステムにおけるＣｒｅａｔｅＴｏｏｌｈｅｌｐ３２Ｓｎａｐｓｈｏｔに対応するバーチャルＡＰＩのような現在実行中のアプリケーションを読取るバーチャルＡＰＩを含む。当該ＣｒｅａｔｅＴｏｏｌｈｅｌｐ３２Ｓｎａｐｓｈｏｔは、リアルシステムにおいて現在実行中の全てのプロセスの情報を取得するためのものである。
【００８５】
ここで、上記アプリケーション情報は、現在実行中のアプリケーションのアプリケーション名称、現在実行中のアプリケーションのプロセスＩＤ等の、現在実行中のアプリケーションを示すための情報を含む。
【００８６】
具体的には、バーチャル環境における危険ファイルの稼働中に、当該危険ファイルがアプリケーション読取バーチャルＡＰＩを呼び出すと、提供装置は、当該読取バーチャルＡＰＩを経由して危険ファイルに現在実行中のアプリケーション情報を返す。
【００８７】
例えば、バーチャル環境においてウイルスファイルｆｉｌｅ１の稼動中、ｆｉｌｅ１がアプリケーション読取バーチャルＡＰＩを呼び出すと、提供装置は、当該アプリケーション読取バーチャルＡＰＩを経由しｆｉｌｅ１に現在実行中のアプリケーション情報を返す。当該アプリケーション情報は、現在実行中のアプリケーションがＡＰＰ１及びＡＰＰ２を含むことを示すためのものである。
【００８８】
アプリケーション読取バーチャルＡＰＩは、複数の手段で現在実行中のアプリケーション情報を取得することができる。
【００８９】
１例では、アプリケーション読取バーチャルＡＰＩは、ユーザによるバーチャル環境へのプロセス設定に基づいて、現在実行中のアプリケーション情報を取得する。例えば、ユーザがバーチャル環境におけるプロセスリストを設定し、当該プロセスリストにアプリケーションＡＰＰ１及びＡＰＰ２を追加すると、アプリケーション読取バーチャルＡＰＩが当該プロセスリストに基づいて読取れる現在実行中のアプリケーションは、ＡＰＰ１及びＡＰＰ２となる。
【００９０】
他の例では、アプリケーション読取バーチャルＡＰＩは、コンピュータ装置のリアル環境から現在実行中のアプリケーション情報を取得することをトリガーする。例えば、アプリケーション読取バーチャルＡＰＩは、コンピュータ装置のリアル環境から当該アプリケーション読取バーチャルＡＰＩに対応するリアルＡＰＩを呼び出すことをトリガーするとともに、当該リアルＡＰＩの返した結果に基づいて現在実行中のアプリケーション情報を取得する。
【００９１】
上記例は、本発明の技術案をよりよく説明するためのものにすぎず、本発明を制限するためのものではない。当業者であれば、危険ファイルの存在を検知るすると上記コンピュータ装置のバーチャル環境において上記危険ファイルを稼動するあらゆる実現形態が、全て本発明の範囲に含まれることを理解すべきである。
【００９２】
モニタ装置２は、バーチャル環境において危険ファイルの挙動をモニタリングし、危険ファイルに対応する（関する）挙動情報を取得する。
【００９３】
具体的には、バーチャル環境において、モニタ装置２は、稼働中、危険ファイルによって呼び出されたバーチャルＡＰＩに基づいて、危険ファイルの挙動をモニタリングすることで、危険ファイルに対応する挙動情報を取得する。
【００９４】
バーチャル環境において、モニタ装置２は、危険ファイルが稼動中に呼び出したバーチャルＡＰＩに基づいて、当該危険ファイルの挙動をモニタリングし、当該危険ファイルに対応する挙動情報を取得することが好ましい。
【００９５】
例えば、バーチャル環境において、モニタ装置２は、稼働中に危険ファイルに呼び出されたバーチャルＡＰＩにより、バーチャル環境を変化させる危険ファイルの全ての挙動を記録するとともに、それらの挙動に対応する挙動情報を取得する。
【００９６】
ここで、上記挙動情報は、バーチャル環境における危険ファイルの操作挙動に関するあらゆる情報を含む。上記挙動情報は、以下の情報を含むことが好ましいが、これらに限定されるものではない。
【００９７】
１）ファイル操作挙動に関する情報
ここで、上記ファイル操作挙動は、ファイルの作成、更新、及び削除等、ファイルに対して実行可能な操作挙動を含む。ファイル操作挙動に関する情報は、ファイルの操作挙動のタイプを示すための情報（作成、更新及び削除操作挙動等）、操作ファイルの名称、操作ファイルのパス情報等を含むことが好ましいが、これらに限定されるものではない。
【００９８】
２）レジストリ操作挙動に関する情報
ここで、上記レジストリ操作挙動は、例えばレジストリキーの作成、設定、削除等のレジストリに対して実行可能なあらゆる操作挙動を含む。上記レジストリ操作挙動に関する情報は、レジストリの操作挙動のタイプ（例えば作成、設定、削除操作挙動）を示すための情報、操作されたレジストリキー、レジストリキーの対応する値等を含むことが好ましいが、これらに限定されるものではない。
【００９９】
３）プロセス操作挙動に関する情報
ここで、上記プロセス操作挙動は、例えばプロセスの作成・終了、クロスプロセスの書き込み等のプロセスに対して実行可能なあらゆる操作挙動を含む。上記プロセス操作挙動に関する情報は、スレッドの操作挙動タイプ（例えばプロセスの作成・終了、クロスプロセスの書き込み）を示すための情報、操作されたプロセスの識別ＩＤ、操作されたプロセスの対応するパス情報等を含むことが好ましいが、これらに限定されるものではない。
【０１００】
４）スレッド操作挙動に関する情報
ここで、上記スレッド操作挙動は、例えばスレッドのインジェクション等のスレッドに対して実行可能なあらゆる操作挙動を含む。上記スレッド操作挙動に関する情報は、スレッドの操作挙動タイプを示すための情報、操作されたスレッドの識別ＩＤ、操作されたスレッドに対応する特徴値等を含むことが好ましいが、これらには限定されない。ここで、上記特徴値は、スレッドの特徴を示すためのものであり、好ましくは、上記特徴値は、スレッドのコードの長さに対応するパリティ値であり、例えば、スレッドのコードの長さが０ｘ１００であると、特徴値が当該コードの長さに対応するＣＲＣ（ＣｙｃｌｉｃＲｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）３２となる。
【０１０１】
上記挙動情報は、例示的なものにすぎず、本発明を制限するためのものではない。当業者であれば、バーチャル環境における危険ファイルの挙動に関するあらゆる情報が全て本発明の上記挙動情報の範囲に含まれることを理解すべきである。
【０１０２】
好ましい態様として、本実施形態の挙動特定装置は、さらに、バーチャル環境において危険ファイルがリリーズした少なくとも１つのファイルを取得するように構成された装置（以下、「取得装置」と略称し、図示しない）を備え、上記モニタリング装置２は、さらに、バーチャル環境において、危険ファイル及び危険ファイルがリリーズした少なくとも１つのファイルの挙動をモニタリングし、上記危険ファイルに対応する挙動情報を取得するように構成された装置（以下、「サブモニタリング装置」と略称し、図示しない）を備える。
取得装置は、バーチャル環境において危険ファイルがリリーズした少なくとも１つのファイルを取得する。
【０１０３】
例えば、取得装置は、例えば、バーチャル環境において、稼働中に危険ファイルｆｉｌｅ２がリリーズしたｓｅｒ２ｖｅｔ．ｅｘｅ、ａｕｔｏｒｕｎ．ｉｎｆであるファイルを取得する。
【０１０４】
サブモニタ装置は、バーチャル環境において、危険ファイル及び危険ファイルがリリーズした少なくとも１つのファイルの挙動をモニタリングし、上記危険ファイルに対応する挙動情報を取得する。
【０１０５】
例えば、取得装置は、バーチャル環境において危険ファイルｆｉｌｅ２がリリーズしたｓｅｒ２ｖｅｔ．ｅｘｅ、ａｕｔｏｒｕｎ．ｉｎｆの危険ファイルを取得し、サブモニタ装置は、ｆｉｌｅ２、ｓｅｒ２ｖｅｔ．ｅｘｅ、ａｕｔｏｒｕｎ．ｉｎｆのそれぞれの挙動をモニタリングし、当該３つの危険ファイルの挙動情報を取得するとともに、取得した挙動情報を危険ファイルｆｉｌｅ２に対応する挙動情報とする。
【０１０６】
サブモニタ装置が、危険ファイルによりリリーズされた各ファイルの挙動をモニタリングする形態は、上記モニタリング装置２が危険ファイルの挙動をモニタリングする形態と同様又は同等であるため、ここでは説明を省略する。
【０１０７】
上記例は、本発明の技術案をよりよく説明するためのものにすぎず、本発明を制限するためのものではない。当業者であれば、バーチャル環境において上記危険ファイルの挙動をモニタリングすることにより上記危険ファイルに対応する挙動情報を取得するあらゆる実施形態が、本発明の範囲に含まれることを理解すべきである。
【０１０８】
好ましい態様として、本実施形態の挙動特定装置は、さらに、所定の終了条件を満足すると、バーチャル環境を閉じるように構成された装置（以下、「クローズ装置」と略称し、図示しない）を備える。
所定の終了条件を満足すると、クローズ装置は、バーチャル環境を閉じる。
ここで、上記所定の終了条件は、バーチャル環境を閉じることを示すためのあらゆる条件を含む。上記所定の終了条件は、以下の条件を含むことが好ましいが、これらに限定されるものではない。
【０１０９】
１）バーチャル環境において、上記危険ファイルは、プロセス終了操作を実行する。
ここで、上記プロセス終了操作は、危険ファイルのプロセスの終了を示すためのあらゆる操作を含む。上記プロセス終了操作は、危険ファイル自動削除操作、ユーザがバーチャル環境において実行した危険ファイルを削除する操作等を含むことが好ましいが、これらに限定されるものではない。
【０１１０】
２）バーチャル環境における危険ファイルの稼動時間が、所定時間を超える。
例えば、所定時間が５ｓであれば、バーチャル環境における危険ファイルの稼動時間が５ｓを超えると、所定終了条件を満足する。
上記所定終了条件は例示的なものにすぎず、本発明を制限するためのものではない。当業者であれば、予め決められたバーチャル環境を閉じることを示すためのあらゆる条件が、本発明の上記所定終了条件の範囲に含まれることを理解すべきである。
【０１１１】
上記例は、本発明の技術案をよりよく説明するためのものにすぎず、本発明を制限するためのものではない。当業者は、所定終了条件を満足するときにバーチャル環境を閉じるあらゆる実施形態が、本発明の範囲に含まれることを理解すべきである。
【０１１２】
本実施態様によれば、コンピュータ装置のバーチャル環境において危険ファイルを稼動することにより、危険ファイルの挙動情報を取得することができる。当該工程は、手動の分析を不要とするため、挙動情報を取得するために必要な時間を大幅に短縮することができる。また、バーチャルＡＰＩによるバーチャル実行により危険ファイルの全ての操作挙動を記録することができるため、コンピュータ装置により取得した挙動情報は包括的なものとなり、挙動情報が包括的ではないことに起因してコンピュータ装置のリアル環境が全面的に修復されることができないという状況を回避することができる。
【０１１３】
なお、バーチャル環境において危険ファイルを稼動することは、コンピュータ装置のリアル環境に影響を及ぼさず、コンピュータ装置におけるバーチャル環境の占用空間が極めて小さい。さらに、バーチャル環境ではバーチャルＡＰＩの機能を実際にに実行する必要なく、代わりに、リアル環境において当該バーチャルＡＰＩに対応するリアルＡＰＩが呼び出されるときと同じフィードバック結果を返すことができればよい。これにより、危険ファイルがバーチャル環境においてより速く稼動することができるため、危険ファイルの挙動情報をより速く取得することができる。
【０１１４】
図４は、本発明の一実施形態によるコンピュータ装置の危険ファイルに対応する挙動情報を特定するための装置の構成図である。本実施形態の挙動特定装置は、稼動装置１、モニタリング装置２、及び危険ファイルに対応する挙動情報に基づいて当該コンピュータ装置のリアル環境を修復するための装置（以下、「修復装置３」と略称する）を備える。ここで、上記稼動装置１及びモニタ装置２は、既に図３を参照して詳細に説明したため、ここでの説明は省略する。
【０１１５】
修復装置３は、危険ファイルに対応する挙動情報に基づいて、当該コンピュータ装置のリアル環境を修復する。
具体的には、修復装置３は、多くの場面で危険ファイルに対応する挙動情報に基づいて、コンピュータ装置のリアル環境を修復する。
【０１１６】
例えば、モニタ装置２が操作を実行した後、修復装置３は、直接、操作を実行してコンピュータ装置のリアル環境を修復する。
【０１１７】
また、例えば、モニタ装置２が操作を実行した後、ユーザの操作により危険ファイルを抹消することを決定すると、修復装置３は、直接、操作を実行し危険ファイルを抹消する同時にコンピュータ装置のリアル環境を修復する。
【０１１８】
さらに、例えば、コンピュータ装置が危険ファイルを抹消した後、ユーザの操作によりリアル環境を修復する必要があると判断すると、修復装置３は、操作を実行しコンピュータ装置のリアル環境を修復する。
【０１１９】
修復装置３は、危険ファイルに対応する挙動情報に基づいて、直接当該挙動情報が示した操作挙動と逆の操作を実行して当該コンピュータ装置のリアル環境を復元・修復することが好ましい。
【０１２０】
例えば、危険ファイルの挙動情報は、ファイルの作成を示すための情報、及び作成されたファイルのパス情報を含む。修復装置３は、当該挙動情報に基づいて、当該パス情報によるファイルパスで作成されたファイルを削除することにより、リアル環境を危険ファイルの稼動前の状態に復元する。
【０１２１】
また、例えば、危険ファイルの挙動情報は、レジストリキーの削除を示すための情報、及び削除されたレジストリキーを含む。修復装置３は、当該挙動情報に基づいて、削除されたレジストリキーを復元することにより、リアル環境を危険ファイルの稼動前の状態に復元する。
【０１２２】
修復装置３の好ましい態様として、上記修復装置３は、さらに、危険ファイルに対応する挙動情報に基づいて、該当する修復操作情報を特定するための装置（以下、「特定装置」と略称する）と、修復操作情報に基づいて、コンピュータ装置のリアル環境を修復するための装置（以下、「サブ修復装置」と略称する）とを備える。
【０１２３】
特定装置は、危険ファイルに対応する挙動情報に基づいて、該当する修復操作情報を特定する。
ここで、上記修復操作情報は、修復操作に関するあらゆる情報を含む。上記修復操作情報は、以下の情報を含むことが好ましいが、これらに限定されるものではない。
【０１２４】
ａ）ファイル修復操作に関する情報
ここで、上記ファイル修復操作は、例えばファイルパラメータの復元、ファイルの削除等のファイルを修復するためのあらゆる操作を含む。上記ファイル修復操作に関する情報は、ファイルの修復操作タイプを示すための情報、操作されたファイル名称、復元されたファイルパラメータ、及び当該ファイルパラメータの値等を含むことが好ましいが、これらに限定されるものではない。
特定装置は、コンピュータ装置のリアルシステムにおいて、危険ファイル及び当該危険ファイルがリリーズした少なくとも１つのファイルをスキャンするとともに、スキャン結果及び危険ファイルの挙動情報に基づいて、当該ファイル修復操作に関する情報を特定することが好ましい。
【０１２５】
ｂ）レジストリ修復操作に関する情報
ここで、上記レジストリ修復操作は、例えばレジストリキーの復元、削除等のレジストリを修復するためのあらゆる操作を含む。上記レジストリ修復操作に関する情報は、レジストリの修復操作タイプを示すための情報、操作されたレジストリキー、及びレジストリキーに対応する値等を含むことが好ましいが、これらに限定されるものではない。
好ましくは、レジストリ修復操作がレジストリキーの設定であるとき、特定装置は、ローカル・知識ベースを検索することで、当該レジストリキーに対応するデフォルト値を取得するとともに、当該デフォルト値を当該レジストリキーに対応する値とする。
【０１２６】
ｃ） プロセス修復操作に関する情報
ここで、上記プロセス修復操作は、例えばプロセスの終了、再起動等のプロセスを修復するためのあらゆる操作を含む。上記プロセス修復操作に関する情報は、プロセスの修復操作タイプを示すための情報、操作されたプロセスに対応するパス情報等を含むことが好ましいが、これらに限定されるものではない。
操作されたプロセスがシステムファイルであるとき、当該プロセスの修復操作情報を取得する必要はなく、直接当該コンピュータ装置を再起動することにより、プロセス修復操作を完了する。
【０１２７】
ｄ） スレッド修復操作に関する情報
ここで、上記スレッド修復操作は、例えばスレッドの停止等のスレッドを修復するための操作を含む。上記スレッド修復操作に関する情報は、スレッドの修復操作タイプを示すための情報、及び操作されたスレッドに対応する特徴値を含むことが好ましいが、これらに限定されるものではない。
上記修復操作情報は、例示的なものにすぎず、本発明を制限するためのものではない。当業者であれば、修復操作に関するあらゆる情報が全て本発明の上記修復操作情報の範囲に含まれることを理解すべきである。
【０１２８】
具体的には、特定装置は、危険ファイルに対応する挙動情報が示した操作挙動に基づいて修復操作情報が示す修復操作を特定し、さらに当該修復操作及び挙動情報に基づいて修復操作情報を特定する。
【０１２９】
例えば、挙動情報は、クロスプロセスの書込を示すための情報及び操作されたプロセスのパス情報を含み、特定装置は、クロスプロセスの書込み操作を示すための情報に基づいて修復操作が再起動プロセスであると特定するとともに、当該修復操作及び挙動情報に基づいて、修復操作情報が再起動プロセスの再起動を示すための情報及び再起動されたプロセスのパス情報を含むことを特定する。
また、例えば、挙動情報は、スレッドのインジェクションを示すための情報及び操作されたスレッドに対応する特徴値を含み、特定装置は、スレッドのインジェクションを示すための情報に基づいて、修復操作がスレッドの停止であると特定するとともに、当該修復操作及び挙動情報に基づいて、修復操作情報がスレッドの停止を示すための情報及び停止されたスレッドに対応する特徴値を含むことを特定する。
【０１３０】
上記例は、本発明の技術案をよりよく説明するためのものにすぎず、本発明を制限するためのものではない。当業者であれば，危険ファイルに対応する挙動情報に基づいて該当する修復操作情報を特定するあらゆる実施形態が、本発明の範囲に含まれることを理解すべきである。
サブ修復装置は、修復操作情報に基づいてコンピュータ装置のリアル環境を修復する。
【０１３１】
例えば、特定装置により特定された修復操作情報は、プロセスの再起動を示すための情報及び操作されたプロセスに対応するパス情報を含む。サブ修復装置は、当該パス情報に基づいて該当するプロセスを検索し、ヒットしたプロセスを再起動する。
また、例えば、特定装置により特定された修復操作情報は、スレッドの停止を示すための情報及び操作されたスレッドに対応する特徴値を含む。サブ修復装置は、当該特徴値に基づいてマッチングするスレッドを特定するとともに、当該スレッドを停止する。
【０１３２】
上記例は、本発明の技術案をよりよく説明するためのものにすぎず、本発明を制限するためのものではない。当業者であれば、修復操作情報に基づいてコンピュータ装置のリアル環境を修復するあらゆる実施形態が、本発明の範囲に含まれることを理解すべきである。
【０１３３】
好ましくは、修復装置３が操作を実行した後、当該コンピュータ装置の再起動が必要であると判断するとき、コンピュータ装置は、ユーザに当該コンピュータ装置の再起動を提示するための提示情報を表示する。
【０１３４】
本実施態様によれば、コンピュータ装置は、バーチャル環境において取得した、危険ファイルの挙動情報に基づいて、コンピュータ装置のリアル環境を修復し、これにより、迅速、かつ包括的に危険ファイル及び危険ファイルがリリーズした他の危険ファイルのリアル環境の破壊を修復することができる。
【０１３５】
本発明は、ソフトウェア及び／又はソフトウェアとハードウェアのアセンブリで実施されることができ、例えば、本発明の各装置は、ＡＳＩＣ（ＡｐｐｌｉｃａｔｉｏｎＳｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）や、他の類似なハードウェア装置により実現されることができる。一実施形態において、本発明のソフトウェアプログラムは、プロセッサにより実行されることで、上述したステップ又は機能を実現できる。同様に、本発明のソフトウェアプログラム（関連するデータ構造を含む）は、例えば、ＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）メモリ、磁気ドライバ、光ドライバ或いはフロッピーディスク及び相当装置などの、コンピュータで読取可能な記憶媒体に記憶されることができる。また、本発明のいくつかのステップ或いは機能は、例えば、プロセッサと組み合わせて各ステップ或いは機能を実現する回路としてのハードウェアにより実現されることができる。
【０１３６】
本発明は、上記例示的に示した実施例の細部に制限されず、本発明の主旨及び基礎的特徴を逸脱しないかぎり、他の具体的な形態により本発明を実現することができることをいうまでもない。従って、いずれにしても、当該実施形態は例示的なもので、非制限的なものであり、本発明の技術的範囲は、上記説明ではなく、添付の特許保護範囲により限定されるため、特許請求の範囲に含まれる同等の要件の意味及び範囲内の全ての変化は本発明に含まれる。特許請求の範囲における符号はかかる請求項を制限するものと見なすべきではない。なお、「含む」という用語は、他のユニット又はステップを除外するのではなく、単数も複数も除外するものではないことをいうまでもない。システムの請求項に記載の複数のユニット或いは装置は、１つのユニット或いは装置がソフトウェア又はハードウェアにより実現されてもよい。第１、第２などの用語は、名称を示すだけであり、特定の順番を示すものではない。
【図１】
2017520820.tif 000003
【図２】
2017520820.tif 000004
【図３】
2017520820.tif 000005
【図４】
2017520820.tif 000006
【手続補正書】
【提出日】平成28年10月27日(2016.10.27)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ技術分野に関し、特に、コンピュータ装置において危険ファイルに対応する挙動情報特定方法及び危険ファイルに対応する挙動情報特定装置に関する。
【０００２】
本出願は、２０１５年３月１８日付け出願の「危険ファイルに対応する挙動情報特定方法及び危険ファイルに対応する挙動情報特定装置」と題する中国特許出願第２０１５１０１１９８２０．７の優先権を主張する。
【背景技術】
【０００３】
従来技術において、コンピュータ装置が危険ファイルを検出すると、通常、危険ファイルに対して簡単な削除操作のみ実行する。しかしながら、危険ファイルがコンピュータ装置において稼動する際に、コンピュータ装置のシステム環境に対して破壊挙動（例えばレジストリキー、計画タスク、実行可能なファイル等に対して実行する破壊挙動）を行うため、単純に危険ファイルを削除しても、コンピュータ装置を元の正常なシステム環境に戻すことができない。
【０００４】
なお、このような破壊挙動は、危険ファイル及び危険ファイルの稼動過程を手動で分析しなければ取得できず、これには、ユーザが大量の時間及び労力を投入する必要があるため、処理期間が長く、効率が悪い。さらに、手動分析は、包括的でなく、危険ファイルの一部のロジックがトリガーされていないことにより危険ファイルの全ての破壊挙動を完全に取得しかねる。
【発明の概要】
【０００５】
本発明は、コンピュータ装置における危険ファイルに対応する挙動情報特定方法及び危険ファイルに対応する挙動情報特定装置を提供することを目的とする。
本発明の一実施態様では、コンピュータ装置において危険ファイルに対応する挙動情報を特定する方法を提供する。当該方法は、
【０００６】
危険ファイルの存在を検知すると、上記コンピュータ装置のバーチャル環境において、上記危険ファイルを稼動するステップを含み、ここで上記バーチャル環境は、コンピュータ装置のリアル環境における少なくとも１つのリアルアプリケーションプログラムインターフェース（ＡＰＩ）と同様の少なくとも１つのバーチャルＡＰＩを含む、と、
上記バーチャル環境において上記危険ファイルの挙動をモニタリングし、上記危険ファイルに対応する挙動情報を取得するステップとを含む。
本発明の他の実施態様では、コンピュータ装置において危険ファイルに対応する挙動情報を特定するための装置を提供する。ここで、当該装置は、
【０００７】
危険ファイルの存在を検知すると、上記コンピュータ装置のバーチャル環境において、上記危険ファイルを稼動するように構成された装置を含み、ここで上記バーチャル環境は、コンピュータ装置のリアル環境における少なくとも１つのリアルＡＰＩと同様の少なくとも１つのバーチャル
を含む、と、
上記バーチャル環境において上記危険ファイルの挙動をモニタリングし、上記危険ファイルに対応する挙動情報を取得するように構成された装置とを備える。
【０００８】
従来技術と比べて、本発明は、以下の利点を有する。
１）コンピュータ装置のバーチャル環境において危険ファイルを稼動することで、危険ファイルの挙動情報を取得することができる。当該プロセスは、手動の分析を不要とするため、挙動情報を取得するために必要な時間を大幅に短縮することができる。
２）バーチャルＡＰＩによるバーチャルな実行を通して危険ファイルの全ての操作挙動を記録することができる。このため、コンピュータ装置により取得した挙動情報が包括的なものとなり、挙動情報が完全ではないことに起因してコンピュータ装置のリアル環境が全面的に修復されない状況を回避することができる。
３）バーチャル環境において危険ファイルを稼動することは、コンピュータ装置のリアル環境に影響を与えず、バーチャル環境のコンピュータ装置における占用空間が極めて小さい。さらに、バーチャル環境ではバーチャルＡＰＩの機能を実際に実行する必要がなく、リアル環境において当該バーチャルＡＰＩに対応するリアルＡＰＩが呼び出されるときと同じフィードバック結果を返すことのみが必要となる。これにより、危険ファイルをバーチャル環境においてより速く稼動することができるため、危険ファイルの挙動情報をすばやく取得することができる。
４）コンピュータ装置は、バーチャル環境において取得した危険ファイルの挙動情報に従って、コンピュータ装置のリアル環境を修復することができる。これにより、すばやく、かつ包括的に、危険ファイル及び危険ファイルがリリーズした他の危険ファイルにより引き起こされたリアル環境の破壊を修復することができる。
【図面の簡単な説明】
【０００９】
添付の図面を参照して行う以下の非制限的な実施態様に関する詳細な説明により、本発明の他の特徴、目的及び利点はより明確になるであろう。
【図１】本発明の一実施形態によるコンピュータ装置の危険ファイルに対応する挙動情報を特定するための方法のフローチャートである。
【図２】本発明の他の実施形態によるコンピュータ装置の危険ファイルに対応する挙動情報を特定するための方法のフローチャートである。
【図３】本発明の一実施形態によるコンピュータ装置の危険ファイルに対応する挙動情報を特定するための装置の構成図である。
【図４】本発明の他の実施形態によるコンピュータ装置の危険ファイルに対応する挙動情報を特定するための装置の構成図である  図面中、同様或いは同等な符号は、同様或いは同等な部品を示す。
【発明を実施するための形態】
【００１０】
以下、本発明について、図面を参照しながらより詳細に説明する。
図１は、本発明の一実施形態によるコンピュータ装置の危険ファイルに対応する挙動情報を特定するための方法のフローチャートである。
【００１１】
ここで、本実施形態による方法は、主にコンピュータ装置により実現され、上記コンピュータ装置は、ネットワーク装置及びユーザ装置を含む。上記ネットワーク装置は、単一のネットワークサーバ、複数のネットワークサーバからなるサーバ群、或いはクラウドコンピューティング（Ｃｌｏｕｄ  Ｃｏｍｐｕｔｉｎｇ）に基づいて大量のコンピュータやネットワークサーバからなるクラウドを含むが、これらに限定されるものではない。ここで、クラウドコンピューティングは、分散コンピューティングの一種であり、いくつかの疎結合したコンピュータクラスタからなる１つのバーチャル・スーパーコンピュータである。上記ネットワーク装置が所在するネットワークは、インターネット、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＭＡＮ（Ｍｅｔｒｏｐｏｌｉｔａｎ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＶＰＮ（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）ネットワークなどを含むが、これらに限定されるものではない。上記ユーザ装置は、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）機、タブレットＰＣ、スマートフォン、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、ＩＰＴＶ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ｔｅｌｅｖｉｓｉｏｎ）等を含むが、これらに限定されるものではない。
【００１２】
上記コンピュータ装置は代表例に過ぎず、本発明に適用できれば、他の既存の、又は今後開発されるコンピュータ装置も、本発明の保護範囲に含まれるべきであり、援用によりここに含まれる。
本実施形態による方法は、ステップＳ１及びステップＳ２を含む。
【００１３】
ステップＳ１において、危険ファイルが存在することを検知すると、コンピュータ装置は、当該コンピュータ装置のバーチャル環境において当該危険ファイルを稼動する。
ここで、上記危険ファイルは、例えばウイルスファイル、トロイファイル等の危険性のあるあらゆるファイルを含む。
【００１４】
また、上記バーチャル環境は、コンピュータ装置のリアル環境を仮想化するために用いられ、上記バーチャル環境には、リアル環境における少なくとも１つのリアルＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）と同様の少なくとも１つのバーチャルＡＰＩが含まれる。ここで、上記バーチャルＡＰＩは、バーチャル環境に呼び出されることができ、リアル環境において当該バーチャルＡＰＩに対応するリアルＡＰＩが呼び出されるときと同じフィードバック結果を返すことができる。また、上記リアル環境は、コンピュータ装置においてリアルに稼動しているシステム環境を示すために用いられる。例えば、コンピュータ装置においてリアルに稼動しているＷｉｎｄｏｗｓ  ＯＳに対応するシステム環境が挙げられる。ここで、上記リアルＡＰＩは、リアル環境におけるＡＰＩを示し、例えば、コンピュータ装置でリアルに稼動するＷｉｎｄｏｗｓ  ＯＳにおけるシステムＡＰＩが挙げられる。
【００１５】
例えば、コンピュータ装置のリアル環境には、ＤｅｌｅｔｅＦｉｌｅであるリアルＡＰＩが存在する。当該リアルＡＰＩは、当該リアル環境において指定ファイルを削除し、削除操作の実行が成功したことを示すフィードバック結果を返すために使用される。当該コンピュータ装置のバーチャル環境には、当該リアルＡＰＩに対応するバーチャルＡＰＩが存在し、バーチャル環境において当該バーチャルＡＰＩが呼び出されると、削除操作の実行が成功したことを示すフィードバック結果も返す。
【００１６】
バーチャル環境においてバーチャルＡＰＩが呼び出されたとき、当該バーチャルＡＰＩの機能が実際には実行されず、バーチャルＡＰＩに対応するリアルＡＰＩを呼び出した効果を奏するようにバーチャル化されるのが好ましい。例えば、上記例において、ＤｅｌｅｔｅＦｉｌｅに対応するバーチャルＡＰＩをバーチャル環境に呼び出し、当該バーチャルＡＰＩがバーチャル環境において指定ファイルを削除する操作を実行せず、代わりに、呼び出されるときに削除操作の実行が成功したことを示すフィードバック結果を直接返すことで、ＤｅｌｅｔｅＦｉｌｅを呼び出した効果を奏するようにバーチャル化する。
【００１７】
上記バーチャル環境は、コンピュータ装置におけるレジストリ及び環境変数等を設定する必要がないため、該当するインストール操作を実行することなく、すなわち直接、起動して稼動できるのが好ましい。上記バーチャル環境は、多くの場面で起動できる。例えば、コンピュータ装置の電源を入れたときに自動的に起動したり、コンピュータ装置がスキャン操作を実行するときに自動的に起動したり、危険ファイルの存在を検知したときに自動的に起動したり、又はユーザの操作により起動する。上記バーチャル環境は、起動された後毎回、初期環境に戻るのが好ましい。バーチャル環境が起動され、各危険ファイルが完全に実行した後に、バーチャル環境が自動的に初期化操作を実行することができ、又は、ユーザの操作により初期化操作を実行することができ、これにより、当該バーチャル環境を初期環境に戻すのがより好ましい。
【００１８】
さらに、コンピュータ装置における上記バーチャル環境の占用空間が極めて小さく（例えば占用空間が約１０Ｍ）、その稼動はコンピュータ装置のリアルシステムの稼動に影響を及ぼさない。上記占用空間の大きさは、バーチャル環境における危険ファイルの挙動（例えば危険ファイルによる他のファイルをリリーズする挙動）に基づいて変化するのが好ましい。
【００１９】
具体的には、危険ファイルの存在が検知されると、コンピュータ装置は、当該危険ファイルを当該コンピュータ装置のバーチャル環境に提供し、当該バーチャル環境において当該危険ファイルを稼動する。
【００２０】
例えば、コンピュータ装置においてウイルスファイルの存在が検知されると、コンピュータ装置は、当該ウイルスファイルを当該コンピュータ装置のバーチャル環境に提供し、当該バーチャル環境において当該ウイルスファイルを稼動する。
【００２１】
バーチャル環境における少なくとも１つのバーチャルＡＰＩは、現在実行中のアプリケーションを読取ることができるアプリケーション読取バーチャルＡＰＩを含み、上記ステップＳ１は、さらに、危険ファイルがアプリケーション読取バーチャルＡＰＩを呼び出すと、コンピュータ装置が、危険ファイルに現在実行中のアプリケーションのアプリケーション情報を提供するステップを含むのが好ましい。
【００２２】
ここで、上記アプリケーション読取バーチャルＡＰＩは、リアルシステムにおけるＣｒｅａｔｅＴｏｏｌｈｅｌｐ３２Ｓｎａｐｓｈｏｔに対応するバーチャルＡＰＩのような現在実行中のアプリケーションを読取るバーチャルＡＰＩを含む。当該ＣｒｅａｔｅＴｏｏｌｈｅｌｐ３２Ｓｎａｐｓｈｏｔは、リアルシステムにおいて現在実行中の全てのプロセスの情報を取得するためのものである。
【００２３】
ここで、上記アプリケーション情報は、現在実行中のアプリケーションを示すための情報、例えば、現在実行中のアプリケーションのアプリケーションネーム、現在実行中のアプリケーションのプロセスＩＤ等を含む。
【００２４】
具体的には、バーチャル環境において危険ファイルの稼働中、当該危険ファイルがアプリケーション読取バーチャルＡＰＩを呼び出すと、コンピュータ装置は、当該読取バーチャルＡＰＩを経由して、現在実行中のアプリケーションのアプリケーション情報を危険ファイルに返す。
【００２５】
例えば、バーチャル環境においてウイルスファイルｆｉｌｅ１の稼動中、ｆｉｌｅ１がアプリケーション読取バーチャルＡＰＩを呼び出すと、コンピュータ装置は、当該アプリケーション読取バーチャルＡＰＩを経由して、現在実行中のアプリケーションのアプリケーション情報をｆｉｌｅ１に返す。当該アプリケーション情報は、現在実行中のアプリケーションがＡＰＰ１及びＡＰＰ２を含むことを示すために使用される。
【００２６】
アプリケーション読取バーチャルＡＰＩは、複数種類の手段で現在実行中のアプリケーションのアプリケーション情報を取得することができる。
【００２７】
１例として、アプリケーション読取バーチャルＡＰＩは、ユーザによるバーチャル環境のプロセス設定に基づいて、現在実行中のアプリケーションのアプリケーション情報を取得する。例えば、ユーザがバーチャル環境においてプロセスリストを設定し、当該プロセスリストにアプリケーションＡＰＰ１及びＡＰＰ２を追加すると、アプリケーション読取バーチャルＡＰＩにより当該プロセスリストに基づいて読み取れる現在実行中のアプリケーションは、ＡＰＰ１及びＡＰＰ２を含む。
【００２８】
他の例では、アプリケーション読取バーチャルＡＰＩは、コンピュータ装置のリアル環境から現在実行中のアプリケーションのアプリケーション情報を取得することをトリガーする。例えば、アプリケーション読取バーチャルＡＰＩは、コンピュータ装置のリアル環境から当該アプリケーション読取バーチャルＡＰＩに対応するリアルＡＰＩを呼び出すことをトリガーし、当該リアルＡＰＩにより返された結果に基づいて現在実行中のアプリケーションのアプリケーション情報を取得する。
【００２９】
上記の例は、本発明の技術案をよりよく説明するためのものにすぎず、本発明を制限するためのものではない。当業者であれば、危険ファイルの存在が検知されたとき、上記コンピュータ装置のバーチャル環境において上記危険ファイルを稼動するあらゆる実現形態が、本発明の技術的範囲に含まれることを理解すべきである。
ステップＳ２において、コンピュータ装置は、バーチャル環境における危険ファイルの挙動をモニタリングし、危険ファイルに関する挙動情報を取得する。
【００３０】
具体的には、コンピュータ装置は、バーチャル環境において危険ファイルにより実行される挙動をモニタリングし記録することで、危険ファイルに関する挙動情報を取得する。
【００３１】
コンピュータ装置は、バーチャル環境において、危険ファイルが稼動中に呼び出したバーチャルＡＰＩに基づいて、当該危険ファイルの挙動をモニタリングし、当該危険ファイルに対応する挙動情報を取得するのが好ましい。
【００３２】
例えば、コンピュータ装置は、バーチャル環境において、稼動中に危険ファイルに呼び出されたバーチャルＡＰＩにより、バーチャル環境に変化を引き起こす危険ファイルの全ての挙動を記録し、それらの挙動に対応する挙動情報を取得する。
【００３３】
ここで、上記挙動情報には、バーチャル環境における危険ファイルの操作挙動に関するあらゆる情報が含まれる。好ましくは、上記挙動情報には、以下の情報が含まれるが、これらに限定されるものではない。
【００３４】
１）ファイル操作挙動に関する情報
ここで、上記ファイル操作挙動は、例えばファイルの作成、更新、削除等のファイルに対して実行可能なあらゆる操作挙動を含む。上記ファイル操作挙動に関する情報は、ファイルの操作挙動のタイプ（例えば作成、更新、削除操作挙動）を示すための情報、操作されたファイル名称、操作されたファイルのパス情報等を含むことが好ましいが、これらに限定されるものではない。
【００３５】
２）レジストリ操作挙動に関する情報
ここで、上記レジストリ操作挙動は、例えばレジストリキーの作成、設定、削除等のレジストリに対して実行可能なあらゆる操作挙動を含む。上記レジストリ操作挙動に関する情報は、操作挙動のタイプ（例えば作成、設定、削除操作挙動）を示すための情報、操作されたレジストリキー、レジストリキーの対応する値等を含むことが好ましいが、これらに限定されるものではない。
【００３６】
３）プロセス操作挙動に関する情報
ここで、上記プロセス操作挙動は、例えばプロセスの作成や終了、クロスプロセスの書き込み等のプロセスに対して実行可能なあらゆる操作挙動を含む。上記プロセス操作挙動に関する情報は、スレッドの操作挙動タイプ（例えばプロセスの作成・終了、クロスプロセスの書き込み）を示すための情報、操作されたプロセスの識別ＩＤ、操作されたプロセスの対応するパス情報等を含むことが好ましいが、これらに限定されるものではない。
【００３７】
４）スレッド操作挙動に関する情報
ここで、上記スレッド操作挙動は、例えばスレッドのインジェクション等のスレッドに対して実行可能なあらゆる操作挙動を含む。上記スレッド操作挙動に関する情報は、スレッドの操作挙動タイプを示すための情報、操作されたスレッドの識別ＩＤ、操作されたスレッドに対応する特徴値等を含むことが好ましいが、これらに限定されるものではない。ここで、上記特徴値は、スレッドの特徴を示すために用いられる。上記特徴値は、スレッドのコードの長さに対応するパリティ値であることが好ましい。例えば、スレッドのコードの長さが０ｘ１００であると、特徴値は当該コードの長さに対応するＣＲＣ（ＣｙｃｌｉｃＲｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）３２となる。
【００３８】
上記挙動情報は、例示的なものにすぎず、本発明を制限するためのものではない。当業者であれば、バーチャル環境における危険ファイルの挙動に関するあらゆる情報が本発明の上記挙動情報の範囲に含まれることを理解すべきである。
【００３９】
好ましい態様では、本実施形態の方法は、さらにステップＳ４を含み、上記ステップＳ２は、さらにステップＳ２１を含む。
【００４０】
ステップＳ４において、コンピュータ装置は、バーチャル環境で危険ファイルがリリーズした少なくとも１つのファイルを取得する。
例えば、バーチャル環境において、危険ファイルｆｉｌｅ２が稼動中にリリーズした以下のファイル、すなわち、ｓｅｒ２ｖｅｔ．ｅｘｅ、ａｕｔｏｒｕｎ．ｉｎｆであるファイルを取得する。
【００４１】
ステップＳ２１において、コンピュータ装置は、バーチャル環境において、危険ファイル及び危険ファイルがリリーズした少なくとも１つのファイルの挙動をモニタリングして、上記危険ファイルに対応する挙動情報を取得する。
【００４２】
例えば、ステップＳ４において、コンピュータ装置は、危険ファイルｆｉｌｅ２がリリーズしたｓｅｒ２ｖｅｔ．ｅｘｅ、ａｕｔｏｒｕｎ．ｉｎｆである危険ファイルを取得し、ステップＳ２１において、コンピュータ装置は、バーチャル環境において、ｆｉｌｅ２、ｓｅｒ２ｖｅｔ．ｅｘｅ、ａｕｔｏｒｕｎ．ｉｎｆそれぞれの挙動をモニタリングし、当該３つの危険の挙動情報を取得し、取得した挙動情報を危険ファイルｆｉｌｅ２に対応する挙動情報とする。
【００４３】
危険ファイルによりリリーズされた各ファイルの挙動をコンピュータ装置がモニタリングする形態は、上記ステップＳ２において危険ファイルの挙動をモニタリングする形態と同様又は同等であるため、ここで説明を省略する。
【００４４】
上記例は、本発明の技術案をよりよく説明するためのものにすぎず、本発明を制限するためのものではない。当業者であれば、バーチャル環境において上記危険ファイルの挙動をモニタリングして、上記危険ファイルに対応する挙動情報を取得するあらゆる実施形態が、全て本発明の技術的範囲に含まれることを理解すべきである。
【００４５】
好ましい実施態様として、本実施形態の方法は、さらにステップＳ５を含む。
ステップＳ５において、所定の終了条件を満足すると、コンピュータ装置は、バーチャル環境を閉じる。
【００４６】
ここで、上記所定の終了条件は、バーチャル環境を閉じることを示すために予め定められたあらゆる条件を含む。上記所定の終了条件は、以下の条件を含むことが好ましいが、これらに限定されるものではない。
【００４７】
１）上記危険ファイルは、バーチャル環境においてプロセス終了操作を実行する。
ここで、上記プロセス終了操作は、危険ファイルのプロセスの終了を示すためのあらゆる操作を含む。好ましくは、上記プロセス終了操作は、危険ファイルの自動削除操作、バーチャル環境においてユーザにより実行された危険ファイルを削除する操作等を含むことが好ましいが、これらに限定されるものではない。
【００４８】
２）バーチャル環境において危険ファイルの稼動時間が、所定時間を超える。
例えば、所定時間が５ｓであれば、バーチャル環境における危険ファイルの稼動時間が５ｓを超えると、所定の終了条件を満足する。
【００４９】
上記所定の終了条件は例示的なものにすぎず、本発明を制限するためのものではない。当業者であれば、バーチャル環境を閉じることを示すために予め定められたあらゆる条件は、本発明の上記所定の終了条件の範囲に含まれることを理解すべきである。
【００５０】
上記例は、本発明の技術案をよりよく説明するためのものにすぎず、本発明を制限するためのものではない。当業者であれば、所定の終了条件を満足するときにバーチャル環境を閉じるあらゆる実施形態が、全て本発明の範囲に含まれることを理解すべきである。
【００５１】
本実施形態によれば、コンピュータ装置のバーチャル環境において危険ファイルを稼動することにより、危険ファイルの挙動情報を取得することができる。当該工程は、手動の分析を不要とするため、挙動情報を取得するために必要な時間を大幅に短縮することができる。さらに、バーチャルＡＰＩのバーチャル実行により危険ファイルの全ての操作挙動を記録することができるため、コンピュータ装置により取得される挙動情報は包括的（全体的）なものであり、挙動情報が包括的ではないことに起因してコンピュータ装置のリアル環境が包括的に修復されないという状況を回避することができる。
【００５２】
なお、バーチャル環境において危険ファイルを稼動することは、コンピュータ装置のリアル環境に影響を及ぼさない。さらに、コンピュータ装置におけるバーチャル環境の占用空間は極めて小さい。そして、バーチャル環境ではバーチャルＡＰＩの機能を実際に実行する必要なく、リアル環境において当該バーチャルＡＰＩに対応するリアルＡＰＩが呼び出されるときと同じフィードバック結果を返すことができればよい。これにより、危険ファイルがバーチャル環境においてより速く稼動することができるため、危険ファイルの挙動情報をより速く取得することができる。
【００５３】
図２は、本発明の他の実施形態によるコンピュータ装置の危険ファイルに対応する挙動情報を特定するための方法のフローチャートである。ここで、本実施形態の方法は、主にコンピュータ装置により実現され、図１に示した実施形態においてコンピュータ装置に関するあらゆる説明は、全て援用の方式でここに含まれる。
【００５４】
本実施形態に係る方法は、ステップＳ１、ステップＳ２及びステップＳ３を含む。ここで、上記ステップＳ１及び上記ステップＳ２は、既に図１を参照して詳細に説明したため、ここでは詳細を省略する。
【００５５】
ステップＳ３において、コンピュータ装置は、危険ファイルに関する挙動情報に基づいて、当該コンピュータ装置のリアル環境を修復する。
具体的には、コンピュータ装置は、多くの場面で危険ファイルに関する挙動情報に基づいて、当該コンピュータ装置のリアル環境を修復する。
例えば、ステップＳ２の後、コンピュータ装置は、直接ステップＳ３を実行してコンピュータ装置のリアル環境を修復する。
【００５６】
また、例えば、ステップＳ２の後、ユーザの操作により危険ファイルを抹消（クリア）することを決定すると、コンピュータ装置は、直接ステップＳ３を実行し危険ファイルを抹消する同時にコンピュータ装置のリアル環境を修復する。
【００５７】
さらに、例えば、危険ファイルを抹消した後、ユーザの操作によりリアル環境を修復する必要があると特定されると、コンピュータ装置がステップＳ３を実行しコンピュータ装置のリアル環境を修復する。
【００５８】
ステップＳ３において、危険ファイルに対応する挙動情報に基づいて、当該挙動情報に示される操作挙動と逆の操作を、コンピュータ装置が直接実行して当該コンピュータ装置のリアル環境を復元・修復することが好ましい。
【００５９】
例えば、危険ファイルの挙動情報は、ファイルの作成を示すための情報、及び作成されたファイルのパス情報を含む。ステップＳ３において、コンピュータ装置は、当該挙動情報に基づいて、当該パス情報により示されるファイルパスで作成されたファイルを削除することにより、リアル環境を危険ファイルの稼動前の状態に復元する。
【００６０】
また、例えば、危険ファイルの挙動情報は、レジストリキーの削除を示すための情報、及び削除されたレジストリキーを含む。ステップＳ３において、コンピュータ装置は、当該挙動情報に基づいて、削除されたレジストリキーを復元することにより、リアル環境を危険ファイルの稼動前の状態に復元する。
【００６１】
ステップＳ３の１つの好ましい態様では、上記ステップＳ３は、さらに、ステップＳ３１及びステップＳ３２を含む。
ステップＳ３１において、コンピュータ装置は、危険ファイルに対応する挙動情報に基づいて、関連する修復操作情報を特定する。
【００６２】
ここで、上記修復操作情報は、修復操作に関するあらゆる情報を含む。上記修復操作情報は、以下の情報を含むことが好ましいが、これらに限定されるものではない。
【００６３】
ａ）ファイル修復操作に関する情報
ここで、上記ファイル修復操作は、例えばファイルパラメータの復元、ファイルの削除等のファイルを修復するためのあらゆる操作を含む。上記ファイル修復操作に関する情報は、ファイルの修復操作タイプを示すための情報、操作されたファイルの名称、復元されたファイルパラメータ、及び当該ファイルパラメータの値等を含むことが好ましいが、これらに限定されるものではない。
コンピュータ装置は、リアルシステムにおいて、危険ファイル及び当該危険ファイルがリリーズした少なくとも１つのファイルをスキャンし、スキャン結果及び危険ファイルの挙動情報に基づいて、当該ファイル修復操作に関する情報を決定するのが好ましい。
【００６４】
ｂ）レジストリ修復操作に関する情報
ここで、上記レジストリ修復操作は、例えばレジストリキーの復元、削除等のレジストリを修復するためのあらゆる操作を含む。上記レジストリ修復操作に関する情報は、レジストリの修復操作タイプを示すための情報、操作されたレジストリキー、及びレジストリキーに対応する値等を含むことが好ましいが、これらに限定されるものではない。
好ましくは、レジストリ修復操作がレジストリキーの設定であるとき、コンピュータ装置は、ローカル・知識ベース（ｋｎｏｗｌｅｄｇｅ  ｂａｓｅ）を検索することにより、当該レジストリキーに対応するデフォルト値を取得するとともに、当該デフォルト値を当該レジストリキーに対応する値とする。
【００６５】
ｃ）プロセス修復操作に関する情報
ここで、上記プロセス修復操作は、例えばプロセスの終了、再起動等のプロセスを修復するためのあらゆる操作を含む。上記プロセス修復操作に関する情報は、プロセスの修復操作タイプを示すための情報、操作されたプロセスに対応するパス情報等を含むことが好ましいが、これらに限定されるものではない。
操作されたプロセスがシステムファイルであるとき、当該プロセスの修復操作情報を取得する必要なく、当該コンピュータ装置を再起動することにより、プロセス修復操作を直接完成することができる。
【００６６】
ｄ）スレッド修復操作に関する情報
ここで、上記スレッド修復操作は、例えばスレッドの停止等のスレッドを修復するための操作を含む。上記スレッド修復操作に関する情報は、スレッドの修復操作タイプを示すための情報、及び操作されたスレッドに対応する特徴値を含むことが好ましいが、これらに限定されるものではない。
上記修復操作情報は、例示的なものにすぎず、本発明を制限するためのものではない。当業者であれば、修復操作に関するあらゆる情報が全て本発明の上記修復操作情報の範囲に含まれることを理解すべきである。
【００６７】
具体的には、ステップＳ３１において、コンピュータ装置は、危険ファイルに対応する挙動情報により示される操作挙動に基づいて、修復操作情報により示される修復操作を決定し、さらに当該修復操作及び挙動情報に基づいて、修復操作情報を決定する。
例えば、挙動情報は、クロスプロセスの書込を示すための情報及び操作されたプロセスのパス情報を含む。ステップＳ３１において、コンピュータ装置は、クロスプロセスの書込み操作を示すための情報に基づいて、再起動プロセスとしての修復操作を特定するとともに、当該修復操作及び挙動情報に基づいて、修復操作情報が再起動プロセスを示すための情報及び再起動されたプロセスのパス情報を含むことを特定する。
また、例えば、挙動情報は、スレッドのインジェクションを示すための情報及び操作されたスレッドに対応する特徴値を含む。ステップＳ３１において、コンピュータ装置は、スレッドのインジェクションを示すための情報に基づいて、修復操作をスレッドの停止として特定するとともに、当該修復操作及び挙動情報に基づいて、修復操作情報がスレッドの停止を示すための情報及び停止されたスレッドに対応する特徴値を含むことを特定する。
【００６８】
上記例は、本発明の技術案をよりよく説明するためのものにすぎず、本発明を制限するためのものではない。当業者であれば、危険ファイルに対応する挙動情報に基づいて該当する修復操作情報を特定するあらゆる実現形態が、全て本発明の範囲に含まれることを理解すべきである。
【００６９】
ステップＳ３２において、コンピュータ装置は、修復操作情報に基づいてコンピュータ装置のリアル環境を修復する。
【００７０】
例えば、ステップＳ３１において特定された修復操作情報は、プロセスの再起動を示すための情報及び操作されたプロセスに対応するパス情報を含む。ステップＳ３２において、コンピュータ装置は、当該パス情報に基づいて該当するプロセスを検索し、ヒットしたプロセスを再起動する。
【００７１】
また、例えば、ステップＳ３１において特定された修復操作情報は、スレッドの停止を指定するための情報及び操作されたスレッドに対応する特徴値を含む。ステップＳ３２において、コンピュータ装置は、当該特徴値に基づいてマッチングするスレッドを決定し、当該スレッドを停止する。
【００７２】
上記例は、本発明の技術案をよりよく説明するためのものにすぎず、本発明を制限するためのものではない。当業者であれば、修復操作情報に基づいてコンピュータ装置のリアル環境を修復するあらゆる実施形態が、全て本発明の範囲に含まれることを理解すべきである。
好ましくは、ステップＳ３の後、当該コンピュータ装置の再起動が必要であると判断されたとき、コンピュータ装置は、ユーザに当該コンピュータ装置の再起動を提示するための提示（プロンプト）情報を表示する。
【００７３】
本実施態様によれば、コンピュータ装置は、バーチャル環境において取得した危険ファイルの挙動情報に基づいて、コンピュータ装置のリアル環境を修復することができる。これにより、迅速、かつ包括的（全面的）に危険ファイル及び危険ファイルがリリーズした他の危険ファイルにより引き起こされるリアル環境の破壊を修復することができる。
【００７４】
図３は、本発明の一実施形態によるコンピュータ装置の危険ファイルに対応する挙動情報を特定するための装置の構成図である。本実施形態に係る危険ファイルに対応する挙動情報特定装置（以下、「挙動特定装置」と略称する）は、危険ファイルの存在を検知すると、コンピュータ装置のバーチャル環境において当該危険ファイルを稼動するように構成された装置（モジュール）（以下、「稼動装置１」と略称する）と、バーチャル環境において危険ファイルの挙動をモニタリングし、危険ファイルに対応する挙動情報を取得するように構成された装置（モジュール）（以下、「モニタリング装置２」と略称する）とを含む。なお、バーチャル環境は、コンピュータ装置のリアル環境の少なくとも１つのリアルＡＰＩと同等の少なくとも１つのバーチャルＡＰＩを含む。
【００７５】
稼動装置１は、危険ファイルの存在を検知すると、コンピュータ装置のバーチャル環境において当該危険ファイルを稼動する。
ここで、上記危険ファイルは、例えばウイルスファイル、トロイファイル等の危険性のあるあらゆるファイルを含む。
【００７６】
また、上記バーチャル環境は、コンピュータ装置のリアル環境の仮想化のために用いられ、上記バーチャル環境には、リアル環境における少なくとも１つのリアルＡＰＩと同様の少なくとも１つのバーチャルＡＰＩが含まれる。ここで、上記バーチャルＡＰＩは、バーチャル環境に呼び出されることができ、リアル環境において当該バーチャルＡＰＩに対応するリアルＡＰＩが呼び出されるときと同じフィードバック結果を返すことができる。また、上記リアル環境は、コンピュータ装置においてリアルに稼動するシステム環境を示すために用いられる。例えば、コンピュータ装置においてリアルに稼動するＷｉｎｄｏｗｓ  ＯＳに対応するシステム環境が挙げられる。ここで、上記リアルＡＰＩは、リアル環境におけるＡＰＩを示すために用いられる。例えば、コンピュータ装置においてリアルに稼動するＷｉｎｄｏｗｓ  ＯＳにおけるシステムＡＰＩが挙げられる。
【００７７】
例えば、コンピュータ装置のリアル環境には、ＤｅｌｅｔｅＦｉｌｅであるリアルＡＰＩが存在する。当該リアルＡＰＩは、当該リアル環境において指定ファイルを削除するとともに、削除操作の実行が成功したことを示すフィードバック結果を返すために用いられる。当該コンピュータ装置のバーチャル環境には、当該リアルＡＰＩに対応するバーチャルＡＰＩが存在し、バーチャル環境において当該バーチャルＡＰＩが呼び出されると、同様に、削除操作の実行が成功したことを示すフィードバック結果を返す。
【００７８】
好ましくは、バーチャル環境においてバーチャルＡＰＩが呼び出されると、当該バーチャルＡＰＩの機能は実際には実行されず、バーチャルＡＰＩに対応するリアルＡＰＩを呼び出した効果を奏するようにバーチャル化すればよい。例えば、上記例において、バーチャル環境においてＤｅｌｅｔｅＦｉｌｅに対応するバーチャルＡＰＩを呼び出し、当該バーチャルＡＰＩがバーチャル環境において指定ファイルを削除する操作を実行せず、代わりに、呼び出されるときに削除操作の実行が成功したことを示すフィードバック結果を直接に返すことで、ＤｅｌｅｔｅＦｉｌｅを呼び出した効果を奏するようにバーチャル化する。
【００７９】
好ましくは、上記バーチャル環境は、コンピュータ装置におけるレジストリ及び環境変数等を設定する必要がないため、該当するインストール操作を実行する必要がなく、直接、起動して稼動する。上記バーチャル環境は、多くの場面で起動される。例えば、コンピュータ装置の電源を入れたときに自動的に起動されたり、コンピュータ装置がスキャン操作を実行するときに自動的に起動されたり、危険ファイルの存在を検知したときに自動的に起動されたり、ユーザの操作により起動されたりする。上記バーチャル環境は、起動された後毎回、初期環境に戻ることが好ましい。バーチャル環境が起動され、各危険ファイルの稼動が完了した後に、バーチャル環境が自動的に初期化操作を実行することができるか、ユーザの操作により初期化操作を実行することができ、これにより、当該バーチャル環境を初期環境に戻すことがより好ましい。
【００８０】
さらに、コンピュータ装置における上記バーチャル環境の占用空間は極めて小さく（例えば占用空間が約１０Ｍ）、その稼動はコンピュータ装置のリアルシステムの稼動に影響を及ぼさない。上記占用空間の大きさは、バーチャル環境における危険ファイルの挙動（例えば危険ファイルが他のファイルをリリーズする挙動）に基づいて変化することが好ましい。
【００８１】
具体的には、危険ファイルの存在を検知すると、稼動装置１は、当該危険ファイルを当該コンピュータ装置のバーチャル環境に提供し、当該バーチャル環境において当該危険ファイルを稼動する。
【００８２】
例えば、コンピュータ装置においてウイルスファイルの存在を検知すると、稼動装置１は、当該ウイルスファイルを当該コンピュータ装置のバーチャル環境に提供し、当該バーチャル環境において当該ウイルスファイルを稼動する。
【００８３】
バーチャル環境における少なくとも１つのバーチャルＡＰＩは、現在実行中のアプリケーションを読取ることができるアプリケーション読取バーチャルＡＰＩを含み、稼動装置１は、さらに、危険ファイルがアプリケーション読取バーチャルＡＰＩを呼び出すと、危険ファイルに現在実行中のアプリケーションのアプリケーション情報を提供するための装置（以下、「提供装置」と略称し、図示しない）を含むことが好ましい。
【００８４】
ここで、上記アプリケーション読取バーチャルＡＰＩは、リアルシステムにおけるＣｒｅａｔｅＴｏｏｌｈｅｌｐ３２Ｓｎａｐｓｈｏｔに対応するバーチャルＡＰＩのような現在実行中のアプリケーションを読取るバーチャルＡＰＩを含む。当該ＣｒｅａｔｅＴｏｏｌｈｅｌｐ３２Ｓｎａｐｓｈｏｔは、リアルシステムにおいて現在実行中の全てのプロセスの情報を取得するためのものである。
【００８５】
ここで、上記アプリケーション情報は、現在実行中のアプリケーションのアプリケーション名称、現在実行中のアプリケーションのプロセスＩＤ等の、現在実行中のアプリケーションを示すための情報を含む。
【００８６】
具体的には、バーチャル環境における危険ファイルの稼働中に、当該危険ファイルがアプリケーション読取バーチャルＡＰＩを呼び出すと、提供装置は、当該読取バーチャルＡＰＩを経由して危険ファイルに現在実行中のアプリケーションのアプリケーション情報を返す。
【００８７】
例えば、バーチャル環境においてウイルスファイルｆｉｌｅ１の稼動中、ｆｉｌｅ１がアプリケーション読取バーチャルＡＰＩを呼び出すと、提供装置は、当該アプリケーション読取バーチャルＡＰＩを経由しｆｉｌｅ１に現在実行中のアプリケーションのアプリケーション情報を返す。当該アプリケーション情報は、現在実行中のアプリケーションがＡＰＰ１及びＡＰＰ２を含むことを示すためのものである。
【００８８】
アプリケーション読取バーチャルＡＰＩは、複数の手段で現在実行中のアプリケーションのアプリケーション情報を取得することができる。
【００８９】
１例では、アプリケーション読取バーチャルＡＰＩは、ユーザによるバーチャル環境へのプロセス設定に基づいて、現在実行中のアプリケーションのアプリケーション情報を取得する。例えば、ユーザがバーチャル環境におけるプロセスリストを設定し、当該プロセスリストにアプリケーションＡＰＰ１及びＡＰＰ２を追加すると、アプリケーション読取バーチャルＡＰＩが当該プロセスリストに基づいて読取れる現在実行中のアプリケーションは、ＡＰＰ１及びＡＰＰ２となる。
【００９０】
他の例では、アプリケーション読取バーチャルＡＰＩは、コンピュータ装置のリアル環境から現在実行中のアプリケーションのアプリケーション情報を取得することをトリガーする。例えば、アプリケーション読取バーチャルＡＰＩは、コンピュータ装置のリアル環境から当該アプリケーション読取バーチャルＡＰＩに対応するリアルＡＰＩを呼び出すことをトリガーするとともに、当該リアルＡＰＩの返した結果に基づいて現在実行中のアプリケーションのアプリケーション情報を取得する。
【００９１】
上記例は、本発明の技術案をよりよく説明するためのものにすぎず、本発明を制限するためのものではない。当業者であれば、危険ファイルの存在を検知るすると上記コンピュータ装置のバーチャル環境において上記危険ファイルを稼動するあらゆる実現形態が、全て本発明の範囲に含まれることを理解すべきである。
【００９２】
モニタ装置２は、バーチャル環境において危険ファイルの挙動をモニタリングし、危険ファイルに対応する（関する）挙動情報を取得する。
【００９３】
具体的には、バーチャル環境において、モニタ装置２は、稼働中、危険ファイルによって呼び出されたバーチャルＡＰＩに基づいて、危険ファイルの挙動をモニタリングすることで、危険ファイルに対応する挙動情報を取得する。
【００９４】
バーチャル環境において、モニタ装置２は、危険ファイルが稼動中に呼び出したバーチャルＡＰＩに基づいて、当該危険ファイルの挙動をモニタリングし、当該危険ファイルに対応する挙動情報を取得することが好ましい。
【００９５】
例えば、バーチャル環境において、モニタ装置２は、稼働中に危険ファイルに呼び出されたバーチャルＡＰＩにより、バーチャル環境を変化させる危険ファイルの全ての挙動を記録するとともに、それらの挙動に対応する挙動情報を取得する。
【００９６】
ここで、上記挙動情報は、バーチャル環境における危険ファイルの操作挙動に関するあらゆる情報を含む。上記挙動情報は、以下の情報を含むことが好ましいが、これらに限定されるものではない。
【００９７】
１）ファイル操作挙動に関する情報
ここで、上記ファイル操作挙動は、ファイルの作成、更新、及び削除等、ファイルに対して実行可能な操作挙動を含む。ファイル操作挙動に関する情報は、ファイルの操作挙動のタイプを示すための情報（作成、更新及び削除操作挙動等）、操作ファイルの名称、操作ファイルのパス情報等を含むことが好ましいが、これらに限定されるものではない。
【００９８】
２）レジストリ操作挙動に関する情報
ここで、上記レジストリ操作挙動は、例えばレジストリキーの作成、設定、削除等のレジストリに対して実行可能なあらゆる操作挙動を含む。上記レジストリ操作挙動に関する情報は、レジストリの操作挙動のタイプ（例えば作成、設定、削除操作挙動）を示すための情報、操作されたレジストリキー、レジストリキーの対応する値等を含むことが好ましいが、これらに限定されるものではない。
【００９９】
３）プロセス操作挙動に関する情報
ここで、上記プロセス操作挙動は、例えばプロセスの作成・終了、クロスプロセスの書き込み等のプロセスに対して実行可能なあらゆる操作挙動を含む。上記プロセス操作挙動に関する情報は、スレッドの操作挙動タイプ（例えばプロセスの作成・終了、クロスプロセスの書き込み）を示すための情報、操作されたプロセスの識別ＩＤ、操作されたプロセスの対応するパス情報等を含むことが好ましいが、これらに限定されるものではない。
【０１００】
４）スレッド操作挙動に関する情報
ここで、上記スレッド操作挙動は、例えばスレッドのインジェクション等のスレッドに対して実行可能なあらゆる操作挙動を含む。上記スレッド操作挙動に関する情報は、スレッドの操作挙動タイプを示すための情報、操作されたスレッドの識別ＩＤ、操作されたスレッドに対応する特徴値等を含むことが好ましいが、これらには限定されない。ここで、上記特徴値は、スレッドの特徴を示すためのものであり、好ましくは、上記特徴値は、スレッドのコードの長さに対応するパリティ値であり、例えば、スレッドのコードの長さが０ｘ１００であると、特徴値が当該コードの長さに対応するＣＲＣ（ＣｙｃｌｉｃＲｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）３２となる。
【０１０１】
上記挙動情報は、例示的なものにすぎず、本発明を制限するためのものではない。当業者であれば、バーチャル環境における危険ファイルの挙動に関するあらゆる情報が全て本発明の上記挙動情報の範囲に含まれることを理解すべきである。
【０１０２】
好ましい態様として、本実施形態の挙動特定装置は、さらに、バーチャル環境において危険ファイルがリリーズした少なくとも１つのファイルを取得するように構成された装置（以下、「取得装置」と略称し、図示しない）を備え、上記モニタリング装置２は、さらに、バーチャル環境において、危険ファイル及び危険ファイルがリリーズした少なくとも１つのファイルの挙動をモニタリングし、上記危険ファイルに対応する挙動情報を取得するように構成された装置（以下、「サブモニタリング装置」と略称し、図示しない）を備える。
取得装置は、バーチャル環境において危険ファイルがリリーズした少なくとも１つのファイルを取得する。
【０１０３】
例えば、取得装置は、例えば、バーチャル環境において、稼働中に危険ファイルｆｉｌｅ２がリリーズしたｓｅｒ２ｖｅｔ．ｅｘｅ、ａｕｔｏｒｕｎ．ｉｎｆであるファイルを取得する。
【０１０４】
サブモニタ装置は、バーチャル環境において、危険ファイル及び危険ファイルがリリーズした少なくとも１つのファイルの挙動をモニタリングし、上記危険ファイルに対応する挙動情報を取得する。
【０１０５】
例えば、取得装置は、バーチャル環境において危険ファイルｆｉｌｅ２がリリーズしたｓｅｒ２ｖｅｔ．ｅｘｅ、ａｕｔｏｒｕｎ．ｉｎｆの危険ファイルを取得し、サブモニタ装置は、ｆｉｌｅ２、ｓｅｒ２ｖｅｔ．ｅｘｅ、ａｕｔｏｒｕｎ．ｉｎｆのそれぞれの挙動をモニタリングし、当該３つの危険ファイルの挙動情報を取得するとともに、取得した挙動情報を危険ファイルｆｉｌｅ２に対応する挙動情報とする。
【０１０６】
サブモニタ装置が、危険ファイルによりリリーズされた各ファイルの挙動をモニタリングする形態は、上記モニタリング装置２が危険ファイルの挙動をモニタリングする形態と同様又は同等であるため、ここでは説明を省略する。
【０１０７】
上記例は、本発明の技術案をよりよく説明するためのものにすぎず、本発明を制限するためのものではない。当業者であれば、バーチャル環境において上記危険ファイルの挙動をモニタリングすることにより上記危険ファイルに対応する挙動情報を取得するあらゆる実施形態が、本発明の範囲に含まれることを理解すべきである。
【０１０８】
好ましい態様として、本実施形態の挙動特定装置は、さらに、所定の終了条件を満足すると、バーチャル環境を閉じるように構成された装置（以下、「クローズ装置」と略称し、図示しない）を備える。
所定の終了条件を満足すると、クローズ装置は、バーチャル環境を閉じる。
ここで、上記所定の終了条件は、バーチャル環境を閉じることを示すためのあらゆる条件を含む。上記所定の終了条件は、以下の条件を含むことが好ましいが、これらに限定されるものではない。
【０１０９】
１）バーチャル環境において、上記危険ファイルは、プロセス終了操作を実行する。
ここで、上記プロセス終了操作は、危険ファイルのプロセスの終了を示すためのあらゆる操作を含む。上記プロセス終了操作は、危険ファイル自動削除操作、ユーザがバーチャル環境において実行した危険ファイルを削除する操作等を含むことが好ましいが、これらに限定されるものではない。
【０１１０】
２）バーチャル環境における危険ファイルの稼動時間が、所定時間を超える。
例えば、所定時間が５ｓであれば、バーチャル環境における危険ファイルの稼動時間が５ｓを超えると、所定終了条件を満足する。
上記所定終了条件は例示的なものにすぎず、本発明を制限するためのものではない。当業者であれば、予め決められたバーチャル環境を閉じることを示すためのあらゆる条件が、本発明の上記所定終了条件の範囲に含まれることを理解すべきである。
【０１１１】
上記例は、本発明の技術案をよりよく説明するためのものにすぎず、本発明を制限するためのものではない。当業者は、所定終了条件を満足するときにバーチャル環境を閉じるあらゆる実施形態が、本発明の範囲に含まれることを理解すべきである。
【０１１２】
本実施態様によれば、コンピュータ装置のバーチャル環境において危険ファイルを稼動することにより、危険ファイルの挙動情報を取得することができる。当該工程は、手動の分析を不要とするため、挙動情報を取得するために必要な時間を大幅に短縮することができる。また、バーチャルＡＰＩによるバーチャル実行により危険ファイルの全ての操作挙動を記録することができるため、コンピュータ装置により取得した挙動情報は包括的なものとなり、挙動情報が包括的ではないことに起因してコンピュータ装置のリアル環境が全面的に修復されることができないという状況を回避することができる。
【０１１３】
なお、バーチャル環境において危険ファイルを稼動することは、コンピュータ装置のリアル環境に影響を及ぼさず、コンピュータ装置におけるバーチャル環境の占用空間が極めて小さい。さらに、バーチャル環境ではバーチャルＡＰＩの機能を実際に実行する必要なく、代わりに、リアル環境において当該バーチャルＡＰＩに対応するリアルＡＰＩが呼び出されるときと同じフィードバック結果を返すことができればよい。これにより、危険ファイルがバーチャル環境においてより速く稼動することができるため、危険ファイルの挙動情報をより速く取得することができる。
【０１１４】
図４は、本発明の一実施形態によるコンピュータ装置の危険ファイルに対応する挙動情報を特定するための装置の構成図である。本実施形態の挙動特定装置は、稼動装置１、モニタリング装置２、及び危険ファイルに対応する挙動情報に基づいて当該コンピュータ装置のリアル環境を修復するための装置（以下、「修復装置３」と略称する）を備える。ここで、上記稼動装置１及びモニタ装置２は、既に図３を参照して詳細に説明したため、ここでの説明は省略する。
【０１１５】
修復装置３は、危険ファイルに対応する挙動情報に基づいて、当該コンピュータ装置のリアル環境を修復する。
具体的には、修復装置３は、多くの場面で危険ファイルに対応する挙動情報に基づいて、コンピュータ装置のリアル環境を修復する。
【０１１６】
例えば、モニタ装置２が操作を実行した後、修復装置３は、直接、操作を実行してコンピュータ装置のリアル環境を修復する。
【０１１７】
また、例えば、モニタ装置２が操作を実行した後、ユーザの操作により危険ファイルを抹消することを決定すると、修復装置３は、直接、操作を実行し危険ファイルを抹消する同時にコンピュータ装置のリアル環境を修復する。
【０１１８】
さらに、例えば、コンピュータ装置が危険ファイルを抹消した後、ユーザの操作によりリアル環境を修復する必要があると判断すると、修復装置３は、操作を実行しコンピュータ装置のリアル環境を修復する。
【０１１９】
修復装置３は、危険ファイルに対応する挙動情報に基づいて、直接当該挙動情報が示した操作挙動と逆の操作を実行して当該コンピュータ装置のリアル環境を復元・修復することが好ましい。
【０１２０】
例えば、危険ファイルの挙動情報は、ファイルの作成を示すための情報、及び作成されたファイルのパス情報を含む。修復装置３は、当該挙動情報に基づいて、当該パス情報によるファイルパスで作成されたファイルを削除することにより、リアル環境を危険ファイルの稼動前の状態に復元する。
【０１２１】
また、例えば、危険ファイルの挙動情報は、レジストリキーの削除を示すための情報、及び削除されたレジストリキーを含む。修復装置３は、当該挙動情報に基づいて、削除されたレジストリキーを復元することにより、リアル環境を危険ファイルの稼動前の状態に復元する。
【０１２２】
修復装置３の好ましい態様として、上記修復装置３は、さらに、危険ファイルに対応する挙動情報に基づいて、該当する修復操作情報を特定するための装置（以下、「特定装置」と略称する）と、修復操作情報に基づいて、コンピュータ装置のリアル環境を修復するための装置（以下、「サブ修復装置」と略称する）とを備える。
【０１２３】
特定装置は、危険ファイルに対応する挙動情報に基づいて、該当する修復操作情報を特定する。
ここで、上記修復操作情報は、修復操作に関するあらゆる情報を含む。上記修復操作情報は、以下の情報を含むことが好ましいが、これらに限定されるものではない。
【０１２４】
ａ）ファイル修復操作に関する情報
ここで、上記ファイル修復操作は、例えばファイルパラメータの復元、ファイルの削除等のファイルを修復するためのあらゆる操作を含む。上記ファイル修復操作に関する情報は、ファイルの修復操作タイプを示すための情報、操作されたファイル名称、復元されたファイルパラメータ、及び当該ファイルパラメータの値等を含むことが好ましいが、これらに限定されるものではない。
特定装置は、コンピュータ装置のリアルシステムにおいて、危険ファイル及び当該危険ファイルがリリーズした少なくとも１つのファイルをスキャンするとともに、スキャン結果及び危険ファイルの挙動情報に基づいて、当該ファイル修復操作に関する情報を特定することが好ましい。
【０１２５】
ｂ）レジストリ修復操作に関する情報
ここで、上記レジストリ修復操作は、例えばレジストリキーの復元、削除等のレジストリを修復するためのあらゆる操作を含む。上記レジストリ修復操作に関する情報は、レジストリの修復操作タイプを示すための情報、操作されたレジストリキー、及びレジストリキーに対応する値等を含むことが好ましいが、これらに限定されるものではない。
好ましくは、レジストリ修復操作がレジストリキーの設定であるとき、特定装置は、ローカル・知識ベースを検索することで、当該レジストリキーに対応するデフォルト値を取得するとともに、当該デフォルト値を当該レジストリキーに対応する値とする。
【０１２６】
ｃ） プロセス修復操作に関する情報
ここで、上記プロセス修復操作は、例えばプロセスの終了、再起動等のプロセスを修復するためのあらゆる操作を含む。上記プロセス修復操作に関する情報は、プロセスの修復操作タイプを示すための情報、操作されたプロセスに対応するパス情報等を含むことが好ましいが、これらに限定されるものではない。
操作されたプロセスがシステムファイルであるとき、当該プロセスの修復操作情報を取得する必要はなく、直接当該コンピュータ装置を再起動することにより、プロセス修復操作を完了する。
【０１２７】
ｄ） スレッド修復操作に関する情報
ここで、上記スレッド修復操作は、例えばスレッドの停止等のスレッドを修復するための操作を含む。上記スレッド修復操作に関する情報は、スレッドの修復操作タイプを示すための情報、及び操作されたスレッドに対応する特徴値を含むことが好ましいが、これらに限定されるものではない。
上記修復操作情報は、例示的なものにすぎず、本発明を制限するためのものではない。当業者であれば、修復操作に関するあらゆる情報が全て本発明の上記修復操作情報の範囲に含まれることを理解すべきである。
【０１２８】
具体的には、特定装置は、危険ファイルに対応する挙動情報が示した操作挙動に基づいて修復操作情報が示す修復操作を特定し、さらに当該修復操作及び挙動情報に基づいて修復操作情報を特定する。
【０１２９】
例えば、挙動情報は、クロスプロセスの書込を示すための情報及び操作されたプロセスのパス情報を含み、特定装置は、クロスプロセスの書込み操作を示すための情報に基づいて修復操作が再起動プロセスであると特定するとともに、当該修復操作及び挙動情報に基づいて、修復操作情報が再起動プロセスの再起動を示すための情報及び再起動されたプロセスのパス情報を含むことを特定する。
また、例えば、挙動情報は、スレッドのインジェクションを示すための情報及び操作されたスレッドに対応する特徴値を含み、特定装置は、スレッドのインジェクションを示すための情報に基づいて、修復操作がスレッドの停止であると特定するとともに、当該修復操作及び挙動情報に基づいて、修復操作情報がスレッドの停止を示すための情報及び停止されたスレッドに対応する特徴値を含むことを特定する。
【０１３０】
上記例は、本発明の技術案をよりよく説明するためのものにすぎず、本発明を制限するためのものではない。当業者であれば，危険ファイルに対応する挙動情報に基づいて該当する修復操作情報を特定するあらゆる実施形態が、本発明の範囲に含まれることを理解すべきである。
サブ修復装置は、修復操作情報に基づいてコンピュータ装置のリアル環境を修復する。
【０１３１】
例えば、特定装置により特定された修復操作情報は、プロセスの再起動を示すための情報及び操作されたプロセスに対応するパス情報を含む。サブ修復装置は、当該パス情報に基づいて該当するプロセスを検索し、ヒットしたプロセスを再起動する。
また、例えば、特定装置により特定された修復操作情報は、スレッドの停止を示すための情報及び操作されたスレッドに対応する特徴値を含む。サブ修復装置は、当該特徴値に基づいてマッチングするスレッドを特定するとともに、当該スレッドを停止する。
【０１３２】
上記例は、本発明の技術案をよりよく説明するためのものにすぎず、本発明を制限するためのものではない。当業者であれば、修復操作情報に基づいてコンピュータ装置のリアル環境を修復するあらゆる実施形態が、本発明の範囲に含まれることを理解すべきである。
【０１３３】
好ましくは、修復装置３が操作を実行した後、当該コンピュータ装置の再起動が必要であると判断するとき、コンピュータ装置は、ユーザに当該コンピュータ装置の再起動を提示するための提示情報を表示する。
【０１３４】
本実施態様によれば、コンピュータ装置は、バーチャル環境において取得した、危険ファイルの挙動情報に基づいて、コンピュータ装置のリアル環境を修復し、これにより、迅速、かつ包括的に危険ファイル及び危険ファイルがリリーズした他の危険ファイルのリアル環境の破壊を修復することができる。
【０１３５】
本発明は、ソフトウェア及び／又はソフトウェアとハードウェアのアセンブリで実施されることができ、例えば、本発明の各装置は、ＡＳＩＣ（ＡｐｐｌｉｃａｔｉｏｎＳｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）や、他の類似なハードウェア装置により実現されることができる。一実施形態において、本発明のソフトウェアプログラムは、プロセッサにより実行されることで、上述したステップ又は機能を実現できる。同様に、本発明のソフトウェアプログラム（関連するデータ構造を含む）は、例えば、ＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）メモリ、磁気ドライバ、光ドライバ或いはフロッピーディスク及び相当装置などの、コンピュータで読取可能な記憶媒体に記憶されることができる。また、本発明のいくつかのステップ或いは機能は、例えば、プロセッサと組み合わせて各ステップ或いは機能を実現する回路としてのハードウェアにより実現されることができる。
【０１３６】
本発明は、上記例示的に示した実施例の細部に制限されず、本発明の主旨及び基礎的特徴を逸脱しないかぎり、他の具体的な形態により本発明を実現することができることをいうまでもない。従って、いずれにしても、当該実施形態は例示的なもので、非制限的なものであり、本発明の技術的範囲は、上記説明ではなく、添付の特許保護範囲により限定されるため、特許請求の範囲に含まれる同等の要件の意味及び範囲内の全ての変化は本発明に含まれる。特許請求の範囲における符号はかかる請求項を制限するものと見なすべきではない。なお、「含む」という用語は、他のユニット又はステップを除外するのではなく、単数も複数も除外するものではないことをいうまでもない。システムの請求項に記載の複数のユニット或いは装置は、１つのユニット或いは装置がソフトウェア又はハードウェアにより実現されてもよい。第１、第２などの用語は、名称を示すだけであり、特定の順番を示すものではない。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータ装置において危険ファイルに対応する挙動情報を特定する方法であって、
危険ファイルの存在を検知すると、前記コンピュータ装置のリアル環境における少なくとも１つのリアルＡＰＩと同様の少なくとも１つのバーチャルＡＰＩが含まれる前記コンピュータ装置のバーチャル環境において、前記危険ファイルを稼動するステップと、
バーチャル環境において前記危険ファイルの挙動をモニタリングし、前記危険ファイルに対応する挙動情報を取得するステップとを含む、
ことを特徴とする危険ファイルに対応する挙動情報特定方法。
【請求項２】
前記少なくとも１つのバーチャルＡＰＩは、現在実行中のアプリケーションを読取り可能なアプリケーション読取バーチャルＡＰＩを含み、前記バーチャル環境において前記危険ファイルを稼動するステップは、
前記危険ファイルが前記アプリケーション読取バーチャルＡＰＩを呼び出すと、前記危険ファイルに現在実行中のアプリケーションのアプリケーション情報を提供するステップを含む、
ことを特徴とする請求項１に記載の危険ファイルに対応する挙動情報特定方法。
【請求項３】
さらに、前記バーチャル環境において稼動している危険ファイルがリリーズした少なくとも１つのファイルを取得するステップを含み、
バーチャル環境において前記危険ファイルの挙動をモニタリングし、前記危険ファイルに対応する挙動情報を取得するステップは、
バーチャル環境において、前記危険ファイル及び前記少なくとも１つのファイルの挙動をモニタリングし、前記危険ファイルに対応する挙動情報を取得するステップを含む、
ことを特徴とする請求項１又は２に記載の危険ファイルに対応する挙動情報特定方法。
【請求項４】
前記挙動情報は、
ファイル操作挙動に関する情報、
レジストリ操作挙動に関する情報、
プロセス操作挙動に関する情報、及び
スレッド操作挙動に関する情報のうちの少なくとも１つを含む、
ことを特徴とする請求項１〜３のいずれか１項に記載の危険ファイルに対応する挙動情報特定方法。
【請求項５】
さらに、前記危険ファイルに対応する挙動情報に基づいて、前記コンピュータ装置のリアル環境を修復するステップを含む、
ことを特徴とする請求項１〜４のいずれか１項に記載の危険ファイルに対応する挙動情報特定方法。
【請求項６】
前記危険ファイルに対応する挙動情報に基づいて、前記コンピュータ装置のシステム環境を修復するステップは、
前記危険ファイルに対応する挙動情報に基づいて、該当する修復操作情報を特定するステップと、
前記修復操作情報に基づいて、前記コンピュータ装置のリアル環境を修復するステップとを含む、
ことを特徴とする請求項５に記載の危険ファイルに対応する挙動情報特定方法。
【請求項７】
前記修復操作情報は、
ファイル修復操作に関する情報、
レジストリ修復操作に関する情報、
プロセス修復操作に関する情報、及び
スレッド修復操作に関する情報のうちの少なくとも１つを含む、
ことを特徴とする請求項６に記載の危険ファイルに対応する挙動情報特定方法。
【請求項８】
さらに、所定の終了条件を満足すると、バーチャル環境を閉じるステップを含む、
ことを特徴とする請求項１〜７のいずれか１項に記載の危険ファイルに対応する挙動情報特定方法。
【請求項９】
前記所定の終了条件は、
バーチャル環境において前記危険ファイルがプロセス終了操作を実行すること、及び
バーチャル環境における前記危険ファイルの稼動時間が所定時間を超えることのうちの少なくとも１つを含む、
ことを特徴とする請求項８に記載の危険ファイルに対応する挙動情報特定方法。
【請求項１０】
コンピュータ装置において危険ファイルに対応する挙動情報を特定する装置であって、
危険ファイルの存在を検知すると、前記コンピュータ装置のリアル環境における少なくとも１つのリアルＡＰＩと同様の少なくとも１つのバーチャルＡＰＩが含まれる前記コンピュータ装置のバーチャル環境において、前記危険ファイルを稼動するための装置と、
バーチャル環境において前記危険ファイルの挙動をモニタリングし、前記危険ファイルに対応する挙動情報を取得するための装置とを備える、
ことを特徴とする危険ファイルに対応する挙動情報特定装置。
【請求項１１】
前記少なくとも１つのバーチャルＡＰＩは、現在実行中のアプリケーションを読取り可能なアプリケーション読取バーチャルＡＰＩを含み、前記バーチャル環境において前記危険ファイルを稼動するための装置は、
前記危険ファイルが前記アプリケーション読取バーチャルＡＰＩを呼び出すと、前記危険ファイルに現在実行中のアプリケーションのアプリケーション情報を提供するための装置を備える、
ことを特徴とする請求項１０に記載の危険ファイルに対応する挙動情報特定装置。
【請求項１２】
さらに、前記バーチャル環境において稼動している危険ファイルがリリーズした少なくとも１つのファイルを取得するための装置を含み、
バーチャル環境において前記危険ファイルの挙動をモニタリングし、前記危険ファイルに対応する挙動情報を取得するための装置は、
バーチャル環境において、前記危険ファイル及び前記少なくとも１つのファイルの挙動をモニタリングし、前記危険ファイルに対応する挙動情報を取得するための装置を含む、
ことを特徴とする請求項１０又は１１に記載の危険ファイルに対応する挙動情報特定装置。
【請求項１３】
前記挙動情報は、
ファイル操作挙動に関する情報、
レジストリ操作挙動に関する情報、
プロセス操作挙動に関する情報、及び
スレッド操作挙動に関する情報のうちの少なくとも１つを含む、
ことを特徴とする請求項１０〜１２のいずれか１項に記載の危険ファイルに対応する挙動情報特定装置。
【請求項１４】
さらに、前記危険ファイルに対応する挙動情報に基づいて、前記コンピュータ装置のリアル環境を修復するための装置を含む、
ことを特徴とする請求項１０〜１３のいずれか１項に記載の危険ファイルに対応する挙動情報特定装置。
【請求項１５】
前記危険ファイルに対応する挙動情報に基づいて、前記コンピュータ装置のシステム環境を修復するための装置は、
前記危険ファイルに対応する挙動情報に基づいて、該当する修復操作情報を特定するための装置と、
前記修復操作情報に基づいて、前記コンピュータ装置のリアル環境を修復するための装置とを備える、
ことを特徴とする請求項１４に記載の危険ファイルに対応する挙動情報特定装置。
【請求項１６】
前記修復操作情報は、
ファイル修復操作に関する情報、
レジストリ修復操作に関する情報、
プロセス修復操作に関する情報、及び
スレッド修復操作に関する情報のうちの少なくとも１つを含む、
ことを特徴とする請求項１５に記載の危険ファイルに対応する挙動情報特定装置。
【請求項１７】
さらに、所定の終了条件を満足すると、バーチャル環境を閉じるための装置を含む、
ことを特徴とする請求項１０〜１６のいずれか１項に記載の危険ファイルに対応する挙動情報特定装置。
【請求項１８】
前記所定の終了条件は、
−バーチャル環境において前記危険ファイルがプロセス終了操作を実行すること、及び
−バーチャル環境における前記危険ファイルの稼動時間が所定時間を超えることのうちの少なくとも１つを含む、
ことを特徴とする請求項１７に記載の危険ファイルに対応する挙動情報特定装置。
【請求項１９】
コンピュータプログラムを格納した非一時的コンピュータ読取可能な記憶媒体であって、 
前記コンピュータプログラムが、コンピュータ装置によって実行されるとき、前記コンピュータ装置は、
危険ファイルの存在を検知すると、前記コンピュータ装置のリアル環境における少なくとも１つのリアルＡＰＩと同様の少なくとも１つのバーチャルＡＰＩが含まれる前記コンピュータ装置のバーチャル環境において、前記危険ファイルを稼動し、
バーチャル環境において前記危険ファイルの挙動をモニタリングし、前記危険ファイルに対応する挙動情報を取得する、
ことを特徴とする非一時的コンピュータ読取可能な記憶媒体。
【国際調査報告】
2017520820.tif 000007
2017520820.tif 000008
2017520820.tif 000009
2017520820.tif 000010