(57)【要約】【課題】ウイルス対策をコンピュータがより快適に動作する環境で実現するための技術を提供する。【解決手段】サーバー上に作成された仮想マシン１３０では、他の仮想マシン１１０及び１２０を管理するためのＶＭ管理ソフトウェア１３１、及びウイルスの検出や駆除を行うウイルス対策ソフトウェア１３２が動作する。仮想マシン１１０及び１２０は、仮想マシンモニター１４０により、仮想マシン１３０を介してハードウェア１５０にアクセスさせる。そのような経路でハードウェア１５０にアクセスさせることにより、仮想マシン１１０及び１２０でウイルス対策ソフトウェア１３２をそれぞれ動作させる必要性を回避させつつ、高いセキュリティを実現させる。【選択図】図１
2010044613.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに侵入するウイルスに対応するためのウイルス対策方法であって、
コンピュータ上に生成された、アプリケーション・プログラムを実行させる１つ以上の第１の仮想マシンの状態を、前記ウイルスを検出して除去するウイルス対策ソフトウェアを実行させる第２の仮想マシンにより監視するとともに、
前記第１の仮想マシンの状態をスナップショットとして定期的に保存し、
前記第２の仮想マシン上で実行する前記ウイルス対策ソフトウェアがウイルスを検出した場合、該ウイルスを検出した第１の仮想マシンを停止させ、
停止させた第１の仮想マシンのスナップショットを用いて、該スナップショットを保存したときの第１の仮想マシンの状態を復元することを特徴とする、ウイルス対策方法。
【請求項２】
前記ウイルス対策方法において、
前記第１仮想マシンの停止は、前記ウイルス対策ソフトウェアが検出したウイルスが除去できないものであった場合に実行されることを特徴とする、請求項２に記載のウイルス対策方法。
【請求項３】
前記スナップショットを用いて復元した第１の仮想マシンは、前記第２の仮想マシンの前記ウイルス対策ソフトウェアにより前記ウイルスの検出を行わせる、ことを特徴とする請求項１記載のウイルス対策方法。
【請求項４】
前記復元した第１の仮想マシンから除去できない前記ウイルスを前記ウイルス対策ソフトウェアが検出した場合に、該第１の仮想マシンの復元に用いたスナップショットよりも前に保存したスナップショットにより該第１の仮想マシンの再度の復元を行う、ことを特徴とする請求項３記載のウイルス対策方法。
【請求項５】
アプリケーション・プログラムを実行させる１つ以上の第１の仮想マシン、及びウイルスを検出して除去するウイルス対策ソフトウェアを実行させる第２の仮想マシンを作成する作成手段と、
前記第１、及び第２の仮想マシンを動作させ、該第２の仮想マシンに該第１の仮想マシンの動作を監視させる監視制御手段と、
を具備することを特徴とするコンピュータ。
【請求項６】
前記第１の仮想マシンの状態をスナップショットとして定期的に保存する保存手段と、
前記第２の仮想マシン上で実行する前記ウイルス対策ソフトウェアにより除去できないウイルスを検出した場合に、該ウイルスを検出した前記第１の仮想マシンを一時的に停止させ、該第１の仮想マシンのスナップショットを用いて該スナップショットを保存した時の状態を復元する復元手段と、
を更に具備することを特徴とする請求項５記載のコンピュータ。
【請求項７】
前記監視制御手段は、前記スナップショットを用いて復元した第１の仮想マシンを対象に前記第２の仮想マシンの前記ウイルス対策ソフトウェアに前記ウイルスの検出を行わせる、
ことを特徴とする請求項６記載のコンピュータ。
【請求項８】
前記監視制御手段は、前記ウイルス対策ソフトウェアが前記第１の仮想マシンから除去できない前記ウイルスを検出した場合に、該第１の仮想マシンの復元に用いたスナップショットよりも前に保存したスナップショットによる該第１の仮想マシンの再度の復元を前記復元手段に行わせる、
ことを特徴とする請求項６、または７記載のコンピュータ。
【請求項９】
コンピュータに、
前記コンピュータ上に作成された仮想マシンに除去できないウイルスを検出した場合に、該仮想マシンを一時的に停止させ、該仮想マシンのスナップショットを用いて該スナップショットを保存したときの状態に該仮想マシンを復元させる復元制御機能と、
前記復元制御機能により復元した仮想マシンを対象に前記ウイルスの検出を行わせる検出制御機能と、
を実現させるためのプログラム。
【請求項１０】
前記検出制御機能は、前記復元した仮想マシンから除去できない前記ウイルスを検出した場合に、該復元に用いたスナップショットよりも前に保存したスナップショットによる復元を前記復元制御機能により再度、行わせる、
ことを特徴とする請求項９記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータへのウイルスの侵入に対応するための技術に関する。
【背景技術】
【０００２】
コンピュータに侵入して何らかの被害を発生させるウイルスは、近年、感染が起こりやすくなっている。これは、広く普及した通信ネットワークがウイルスの感染経路となっているからである。このため、特に通信ネットワークを介したデータの送受信が可能なコンピュータでは、ウイルス対策は不可欠となっている。
【０００３】
基本的なウイルス対策は、ウイルスを除去するソフトウェアであるウイルス対策ソフトウェア（以降「対策ソフト」と略記）をコンピュータにインストールすることである。しかし、新種のウイルスには対応が困難であるため、対策ソフトを用いてもウイルスの感染は完全には予防できない。このことから、ウイルス対策に仮想マシン（ＶＭ：Virtual Machine）を用いることも行われている。
【０００４】
仮想マシンは、コンピュータの仮想化技術の一つである。仮想マシンでは、ハードウェア（リソース）を仮想化することにより、仮想化したハードウェア上で異なるプログラムを動作可能とする。仮想マシンを用いることで一台のコンピュータ上に複数のオペレーティングシステム（ＯＳ）を動作させることができる。各仮想マシン上のプログラムは、独立したアドレス空間で稼動し、相互に直接干渉しない。このため、或る仮想マシンがウイルスに感染しても、そのウイルスは他の仮想マシンには感染しない。ウイルスに感染していない仮想マシンは動作を継続させることができる。このようなことから、仮想マシンを用いることにより、ウイルスの感染による影響をより低減させることができる。
【０００５】
仮想マシンは個々に完全に独立した形で動作する１プログラム実行環境である。このため従来は、対策ソフトを用いる場合、対策ソフトは仮想マシン毎に用意していた。
対策ソフトは普通、定義ファイルを参照してウイルスを検出するようになっている。その定義ファイルには、各ウイルスのパターンデータが格納されている。このため、定義ファイルは「パターンファイル」とも呼ばれる。既に多くのウイルスが発見されていることから、今日では定義ファイルは膨大なデータ量となっている。このこともあり、仮想マシン毎に対策ソフトを導入する場合、対策ソフトによって消費されるリソースが非常に大きくなり、仮想化されたハードウェアへの負荷も重くなる。
【０００６】
消費するリソースがより大きくなる、ハードウェアの負荷がより重くなることは何れも、コンピュータが快適に動作する仕様をより高くさせる。コンピュータによりサービスを提供する場合には、提供するサービスの質を低下させるように作用する。
【０００７】
また、対策ソフトが実行されるとシステムの動作を不安定にさせる場合がある。定義ファイルは、次々と現れる新種のウイルスに対応するために頻繁に更新しなければならない。その更新はハードウェアへの負荷となり、通信ネットワークを介した更新用のデータの送受信はトラフィックを増大させる。これらも、コンピュータが快適に動作するのを阻害する。
【０００８】
このようなことから、ウイルス対策にはコンピュータをより快適に動作させるという視点も重要と考えられる。
【特許文献１】特表２００８−５００６５３号公報
【特許文献２】特開２００４−３６１９９４号公報
【特許文献３】特開２００２−３４２１０６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明は、ウイルス対策をコンピュータがより快適に動作する環境で実現するための技術を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明を適用した１システムでは、コンピュータ上に、アプリケーション・プログラムを実行させる１つ以上の第１の仮想マシン、及びウイルスを検出して除去するウイルス対策ソフトウェアを実行させる第２の仮想マシンを作成し、第１、及び第２の仮想マシンを動作させ、第２の仮想マシンに第１の仮想マシンの動作を監視させる。
【００１１】
その監視により、第１の仮想マシンに侵入したウイルスの検出、検出したウイルスの除去を第２の仮想マシンに行わせる。そのようにして、仮想マシン毎にウイルス対策ソフトウェアを実行させる必要性を回避させる。その必要性を回避させることにより、コンピュータ全体ではウイルス対策ソフトウェアによって消費されるリソースや負荷をより抑制できるようになる。この結果、コンピュータがより快適に動作する環境、及び高いセキュリティを実現できることとなる。
【００１２】
仮想マシンは、プログラムを実行させるプログラム実行環境である。ウイルス対策ソフトウェアは、仮想マシンとは異なるプログラム実行環境上で動作させても良い。例えば仮想マシンを管理する仮想マシンモニター（ハイパーバイザ）上で動作させても良い。仮想マシンとは異なるプログラム実行環境上でウイルス対策ソフトウェアを動作させても、コンピュータがより快適に動作する環境、及び高いセキュリティを実現できることとなる。
【発明の効果】
【００１３】
本発明を適用した場合には、ウイルス対策をコンピュータがより快適に動作する環境で実現させることができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
図１は、本実施形態によるコンピュータのシステム構成を示す図である。図１に示すシステム構成は、コンピュータの動作時の環境を表したものである。本実施形態は、例えばインターネット等の通信ネットワークを介して接続された端末装置のユーザーを対象にサービスを提供するサーバーとして用いられるコンピュータに本発明を適用したものである。以降、コンピュータを「サーバー」とも呼ぶ。
【００１５】
本実施形態では、サーバー上に複数の仮想マシンを作成し、サーバーに実行させるアプリケーション・プログラム（以降「アプリケーション」と略記）は何れかの仮想マシン上で動作させるようにしている。図１の１１０、１２０、及び１３０は、サーバー上に作成された仮想マシンである。仮想マシン１１０上では、例えばサーバー自身が管理しているファイルを通信ネットワーク上の他の端末装置と共有し、外部から利用可能とするファイルサービスを提供するアプリケーション１１１が動作する。仮想マシン１２０上では、ＷＷＷ（World Wide Web）によるデータ送信を実現するアプリケーション１２１が動作する。仮想マシン１３０上では、他の仮想マシン、ここでは仮想マシン１１０及び１２０を管理するためのＶＭ管理ソフトウェア（以降「管理ソフト」と略記）１３１、及びウイルスの検出や駆除を行うウイルス対策ソフトウェア（以降「対策ソフト」と略記）が動作する。
【００１６】
仮想マシンモニター（ハイパーバイザ）１４０は、仮想マシンの作成を行い、ハードウェア１５０の動的、透過的な仮想マシンへの割り当てを行う。それにより、１台の物理的なサーバー上で複数の仮想マシン１１０、１２０及び１３０が同時に動作するのを可能とさせる。各仮想マシン１１０、１２０及び１３０では、それぞれＯＳ（オペレーティングシステム）が実行される。仮想マシン上で動作するＯＳはゲストＯＳと呼ばれる。ハードウェア１５０は、サーバーのリソースに相当する。
【００１７】
仮想マシン１１０は、ファイルサービスに対応したアプリケーション１１１が動作することにより、サーバーをファイルサーバーとして機能させる。このことから以降、１１０を付した仮想マシンは「ファイルサーバー」とも呼ぶことにする。１２０を付した仮想マシンは、Ｗｅｂサービスに対応したアプリケーション１２１によりサーバーをＷＥＢサーバーとして機能させることから、以降「Ｗｅｂサーバー」とも呼ぶことにする。１３０を付した仮想マシンではＶＭ管理ソフト１３１が動作することから、「ウイルス対策専用仮想マシン」とも呼ぶことにする。
【００１８】
図１中の矢印は、ファイルサーバー１１０、及びＷｅｂサーバー１２０がそれぞれハードウェア１５０にアクセスする際の経路を示している。つまりファイルサーバー１１０は、ファイルサーバー１１０→仮想マシンモニター１４０→ウイルス対策専用仮想マシン１３０→仮想マシンモニター１４０→ハードウェア１５０の経路でハードウェア１５０にアクセスする。Ｗｅｂサーバー１２０も同様に、Ｗｅｂサーバー１２０→仮想マシンモニター１４０→ウイルス対策専用仮想マシン１３０→仮想マシンモニター１４０→ハードウェア１５０の経路でハードウェア１５０にアクセスする。
【００１９】
本実施例では、上記のようなアクセス経路とすることにより、ウイルス対策専用仮想マシン１３０でのウイルスの検出や、ウイルス対策専用仮想マシン１３０が検出したウイルスの駆除を可能とさせている。言い換えれば、他の仮想マシン１１０及び１２０で対策ソフト１３２を動作させる必要性を回避させている。対策ソフト１３２を動作させない仮想マシン１１０及び１２０では、対策ソフト１３２を動作させることによって動作が不安定となることが回避される。また、対策ソフト１３２による仮想マシン１１０及び１２０のリソースの消費も回避される。これらのことから、各仮想マシンで対策ソフト１３２を動作させる場合と比較して、図１に示したシステムではサーバー全体でのリソースの消費は抑えられ、負荷が軽減されることとなる。この結果、高いセキュリティ、サーバーがより快適、且つ安定して動作する環境が共に実現される。
【００２０】
ウイルスは、対策ソフト１３２を攻撃する場合がある。しかし、対策ソフト１３２を動作させるウイルス対策専用仮想マシン１３０は、他の仮想マシン１１０及び１２０に侵入するウイルスに対応するための専用の仮想マシンとして作成している。このため、仮想マシン１３０にはウイルスの感染経路が存在しない。各仮想マシンは完全に独立した形となるため、たとえ他の仮想マシンがウイルスに感染したとしても、仮想マシン１３０上の対策ソフト１３２がウイルスに攻撃される危険は回避される。従って、対策ソフト１３２によるサーバーの監視が行える状態を維持させることができる。このことからも、高いセキュリティが実現される。
【００２１】
図７は、本発明の一実施形態を適用可能なコンピュータのハードウェア構成の一例を示す図である。
図７に示すコンピュータは、ＣＰＵ７１、メモリ７２、入力装置７３、出力装置７４、外部記憶装置７５、媒体駆動装置７６、及びネットワーク接続装置７７を有し、これらがバス７８によって互いに接続された構成となっている。図７に示すコンピュータの構成は一例であり、これに限定されるものではない。
【００２２】
ＣＰＵ７１は、当該コンピュータ全体の制御を行う。
メモリ７２は、プログラム実行、データ更新等の際に、外部記憶装置７５あるいは可搬型の記録媒体ＭＤに記憶されているプログラムあるいはデータを一時的に格納するＲＡＭ等のメモリである。ＣＰＵ７１は、プログラムをメモリ７２に読み出して実行することにより、コンピュータ全体の制御を行う。
【００２３】
入力装置７３は、例えば、キーボード、マウス等の操作装置と接続されたインターフェースである。操作装置に対するユーザーの操作を検出し、その検出結果をＣＰＵ７１に通知する。
【００２４】
出力装置７４は、例えば表示装置と接続された表示制御装置である。ネットワーク接続装置７７は、例えばイントラネットやインターネット等の通信ネットワークを介して、外部装置と通信を行うためのものである。外部記憶装置７５は、例えばハードディスク装置である。主に各種データやプログラムの保存に用いられる。
【００２５】
媒体駆動装置７６は、光ディスクや光磁気ディスク等の可搬型の記録媒体ＭＤにアクセスするものである。なお、媒体種別はこれらのものに限定されない。
図７に示す構成要素７１〜７７は、図１に示すハードウェア１５０に相当する。仮想マシンモニター１４０、各仮想マシン１１０、１２０及び１３０でそれぞれ実行されるプログラムは、例えば外部記憶装置７５に格納されている。図１に示すシステム構成は、ＣＰＵ７１が仮想マシンモニター１４０をメモリ７２に読み出して起動し、仮想マシンモニター１４０の制御で各仮想マシン１１０、１２０及び１３０用のプログラムをメモリ７２に読み出して実行することで実現される。仮想マシンモニター１４０を含む各種プログラムは、記録媒体ＭＤに記録して配布しても良く、或いはネットワーク接続装置７７により取得できるようにしても良い。
【００２６】
以降、図２〜図４に示すフローチャート、並びに図５及び図６に示す説明図を参照して、サーバーの動作について詳細に説明する。
図２は、本実施形態によるサーバー全体の処理の流れを示す図である。図２に示した処理は、仮想マシンモニター１４０、及びウイルス対策専用仮想マシン１３０に着目して表したものである。
【００２７】
先ず、ステップＳ１では、仮想マシンを作成するためのセットアップ処理を実行する。このセットアップ処理は、仮想マシンモニター１４０によって実行される処理である。仮想マシンの作成は、予め定義された内容に従って自動的に行う。
【００２８】
図３は、Ｓ１に示したセットアップ処理のフローチャートである。ここで図３を参照して、セットアップ処理について詳細に説明する。
先ず、ステップＳ１１では、仮想マシンモニター１４０がウイルス対策専用仮想マシン１３０の作成を行う。続くステップＳ１２では、仮想マシンモニター１４０が他の仮想マシン、図１のシステム構成ではファイルサービスを提供する仮想マシン１１０やＷｅｂサービスを提供する仮想マシン１２０を作成する。そのようにして作成すべき仮想マシンを全て作成した後、図３のセットアップ処理を終了する。
【００２９】
図２の説明に戻る。
上記セットアップ処理の終了によって移行するステップＳ２では、仮想マシンモニター１４０は作成した各仮想マシンを稼動させる。各仮想マシンの稼動後はステップＳ３に移行する。ステップＳ３以降は、ウイルス対策専用仮想マシン１３０が実行する処理を表している。Ｓ３以降の処理は、仮想マシン１３０上で動作する管理ソフト１３１に着目して処理を表している。
【００３０】
ステップＳ３では、仮想マシンモニター１４０から指示された形の仮想マシンのウイルスチェックを対策ソフト１３２に行わせる。続くステップＳ４では、ウイルスチェックの結果を対策ソフト１３２から受け取り、それぞれの仮想マシンがウイルスに感染しているか否か判定する。ウイルスチェックの結果、何らかのウイルスを対策ソフト１３２が検出した場合、Ｓ４の判定はＹＥＳとなり、ステップＳ５に移行して、検出したウイルスに対応するためのウイルス除去処理を実行した後、上記ステップＳ３に戻り、次のウイルスチェックに備える。そのようにして、常にウイルスに対応可能とする。一方、対策ソフト１３２がウイルスを検出しなかった場合には、Ｓ４の判定はＮＯとなり、ステップＳ３に戻る。
【００３１】
このようにして、ウイルス対策専用仮想マシン１３０は、必要に応じて随時、他の仮想マシンを対象にしたウイルスチェックや、検出したウイルスに対応するための処理を実行する。この結果、他の仮想マシンに対策ソフト１３２を導入しなくとも高いセキュリティが実現される。
【００３２】
図４は、ステップＳ５として実行されるウイルス除去処理のフローチャートである。図４を参照して、ウイルス除去処理について詳細に説明する。このウイルス除去処理は、ＶＭ管理ソフト１３１が実行する。
【００３３】
先ず、ステップＳ２１では、仮想マシンモニター１４０を介して、ウイルスが発見された仮想マシンを一時停止させる。続くステップＳ２１では、対策ソフト１３２が発見したウイルスが完全に除去可能か否か判定する。対策ソフト１３２から完全に除去可能であることが通知されていた場合、Ｓ２１の判定はＹｅｓとなってステップＳ２５に移行する。そうでない場合には、Ｓ２１の判定はＮｏとなってステップＳ２２に移行する。
【００３４】
ステップＳ２５では、対策ソフト１３２にウイルスを除去させる。次のステップＳ２６では、仮想マシンモニター１４０を介して、ウイルスを発見した仮想マシンの動作を再開させる。その後、このウイルス除去処理を終了する。
【００３５】
本実施形態では、各仮想マシン１１０及び１２０はその状態をスナップショットとして定期的に保存するようにさせている。ステップＳ２１の判定がＮｏとなって移行するステップＳ２２では、ウイルスを発見した仮想マシンをその状態の１つ前の状態を示すスナップショットを用いて、ウイルスが発見された仮想マシンをそのスナップショットを保存した時の状態に戻す。続くステップＳ２３では、Ｓ２２の処理で復元した仮想マシンを対策ソフト１３２によりスキャンさせる。
【００３６】
ステップＳ２３の次に移行するステップＳ２４では、対策ソフト１３２からスキャン結果を受け取り、１つ前のスナップショットに戻された仮想マシンがウイルスに感染しているか否か判定する。復元に用いたスナップショットを保存したときにすでに仮想マシンがウイルスに感染していた場合、Ｓ２４の判定はＹｅｓとなって上記ステップＳ２１に戻り、感染したウイルスが除去可能か否かの判定を行う。一方、１つ前のスナップショットに戻された仮想マシンがウイルスに感染していない場合には、Ｓ２４の判定はＮｏとなり、上記ステップＳ２６に移行して、復元した仮想マシンを再開させる。
【００３７】
このように本実施形態では、先ず最新のスナップショットを用いて復元した後の仮想マシンを対象にしたウイルスチェックを行い、実行したウイルスチェックで発見したウイルスが除去可能でなければ、更にその前に保存したスナップショットを用いた仮想マシンの復元を再度、行うようにしている。再度復元した仮想マシンに除去できないウイルスを発見すれば、更にその前に保存したスナップショットを用いた仮想マシンの復元を行う。こ
れは、対策ソフト１３２がウイルスの検出に用いる定義ファイルは随時更新されており、過去の定義ファイルでは発見できなかったウイルスが、定義ファイルの更新によって発見可能になっていることがあるからである。このため、本実施形態ではウイルス除去をより効果的に実行することが可能となる。
【００３８】
保存したスナップショットの全てがウイルスに感染している場合もありうる。このことから、特には図示していないが、復元に用いるスナップショットが無くなったか否か、或いは所定回数の仮想マシンの復元を行ったか否かの判定も、ステップＳ２４で行うことができる。それにより、復元に用いるスナップショットが無くなった、或いは所定回数の仮想マシン復元を行った場合には、ウイルスを発見した仮想マシンを再開させることなく、ウイルス除去処理を終了するようにしている。
【００３９】
図５は、仮想マシンの状態遷移を説明する図である。図５中、黒丸からの矢印は、初期状態を示している。つまり停止状態ＳＴ１は初期状態であることを示している。
仮想マシンは、図５に示すように、起動によって初期状態である停止状態ＳＴ１から実行状態ＳＴ２に遷移し、一時停止によって実行状態ＳＴ２から一時停止状態ＳＴ３に遷移する。仮想マシンの再開により、一時停止状態ＳＴ３から実行状態ＳＴ２に遷移し、停止によって実行状態ＳＴ２から停止状態ＳＴ１に遷移する。上記ウイルス除去処理を実行することにより管理ソフト１３１は、停止状態ＳＴ１から実行状態ＳＴ２への遷移以外の遷移を管理する。
【００４０】
そのような状態遷移を管理するために、管理ソフト１３１は図６に示す構成の管理表を用いている。図６に示す管理表には、仮想マシン毎に仮想マシンを一意に識別できる名称である「ＶＭ名」を設定している。また、仮想マシン毎に、現在の状態を示すデータ「状態」が格納される。例えば、「ファイルサーバー」は「実行状態」、「Ｗｅｂサーバー」は「一時停止状態」にあることが、図６の管理表に示されている。管理ソフト１３１は、この管理表を参照して、仮想マシンの現在の状態を確認し、次に仮想マシンを遷移させるべき状態を決定する。この管理表は、ウイルス対策専用仮想マシン１３０用に割り当てられたアドレス空間ウェア内に格納されている。なお、ウイルス対策専用仮想マシン１３０用に割り当てられたアドレス空間に対応するハードウェアは、例えば外部記憶装置７５である。
【００４１】
本実施形態は、１台の物理サーバーに本発明を適用したものであるが、２台以上の物理コンピュータを用いて構築されたコンピュータシステムでも本発明は適用可能である。このこともあり、本発明は幅広くコンピュータに適用することが可能である。その適用は、本実施形態に限定されるものではない。
また、本実施形態は、対策ソフト１３２を専用の仮想マシン１３０上で動作させたものであるが、対策ソフト１３２を仮想マシンモニター１４０上で動作させることも可能である。図８は、対策ソフト１３２を仮想マシンモニター１４０上で動作させる場合のコンピュータのシステム構成を示す図である。図８に示すように、対策ソフト１３２はＶＭ管理ソフト１３１と共に仮想マシンモニター１４０上で動作させることから、仮想マシン１３０は作成させず、仮想マシン１１０及び１２０のみ作成している。各仮想マシン１１０及び１２０のハードウェア１５０へのアクセスは、仮想マシンモニター１４０のみを介して行われる。
【００４２】
以上の変形例を含む実施形態に関し、更に以下の付記を開示する。
（付記１）
コンピュータに侵入するウイルスに対応するためのウイルス対策方法であって、
コンピュータ上に生成された、アプリケーション・プログラムを実行させる１つ以上の第１の仮想マシンの状態を、前記ウイルスを検出して除去するウイルス対策ソフトウェア
を実行させる第２の仮想マシンにより監視するとともに、
前記第１の仮想マシンの状態をスナップショットとして定期的に保存し、
前記第２の仮想マシン上で実行する前記ウイルス対策ソフトウェアがウイルスを検出した場合、該ウイルスを検出した第１の仮想マシンを停止させ、
停止させた第１の仮想マシンのスナップショットを用いて、該スナップショットを保存したときの第１の仮想マシンの状態を復元することを特徴とする、ウイルス対策方法。
（付記２）
前記ウイルス対策方法において、
前記第１仮想マシンの停止は、前記ウイルス対策ソフトウェアが検出したウイルスが除去できないものであった場合に実行されることを特徴とする、付記２に記載のウイルス対策方法。
（付記３）
前記スナップショットを用いて復元した第１の仮想マシンは、前記第２の仮想マシンの前記ウイルス対策ソフトウェアにより前記ウイルスの検出を行わせる、ことを特徴とする請求項１記載のウイルス対策方法。
（付記４）
前記復元した第１の仮想マシンから除去できない前記ウイルスを前記ウイルス対策ソフトウェアが検出した場合に、該第１の仮想マシンの復元に用いたスナップショットよりも前に保存したスナップショットにより該第１の仮想マシンの再度の復元を行う、ことを特徴とする付記３記載のウイルス対策方法。
（付記５）
コンピュータに侵入するウイルスに対応するためのウイルス対策方法であって、
コンピュータ上に生成された、アプリケーション・プログラムを実行させる１つ以上の仮想マシンの状態を、前記ウイルスを検出して除去するウイルス対策ソフトウェアを該仮想マシンとは異なるプログラム実行環境上で動作させて監視するとともに、
前記仮想マシンの状態をスナップショットとして定期的に保存し、
前記ウイルス対策ソフトウェアがウイルスを検出した場合、該ウイルスを検出した仮想マシンを停止させ、
停止させた仮想マシンのスナップショットを用いて、該スナップショットを保存したときの仮想マシンの状態を復元することを特徴とする、ウイルス対策方法。
（付記６）
アプリケーション・プログラムを実行させる１つ以上の第１の仮想マシン、及びウイルスを検出して除去するウイルス対策ソフトウェアを実行させる第２の仮想マシンを作成する作成手段と、
前記第１、及び第２の仮想マシンを動作させ、該第２の仮想マシンに該第１の仮想マシンの動作を監視させる監視制御手段と、
を具備することを特徴とするコンピュータ。
（付記７）
前記第１の仮想マシンの状態をスナップショットとして定期的に保存する保存手段と、
前記第２の仮想マシン上で実行する前記ウイルス対策ソフトウェアにより除去できないウイルスを検出した場合に、該ウイルスを検出した前記第１の仮想マシンを一時的に停止させ、該第１の仮想マシンのスナップショットを用いて該スナップショットを保存した時の状態を復元する復元手段と、
を更に具備することを特徴とする付記６記載のコンピュータ。
（付記８）
前記監視制御手段は、前記スナップショットを用いて復元した第１の仮想マシンを対象に前記第２の仮想マシンの前記ウイルス対策ソフトウェアに前記ウイルスの検出を行わせる、
ことを特徴とする付記７記載のコンピュータ。
（付記９）
前記監視制御手段は、前記ウイルス対策ソフトウェアが前記第１の仮想マシンから除去できない前記ウイルスを検出した場合に、該第１の仮想マシンの復元に用いたスナップショットよりも前に保存したスナップショットによる該第１の仮想マシンの再度の復元を前記復元手段に行わせる、
ことを特徴とする付記７、または８記載のコンピュータ。
（付記１０）
コンピュータに、
前記コンピュータ上に作成された仮想マシンに除去できないウイルスを検出した場合に、該仮想マシンを一時的に停止させ、該仮想マシンのスナップショットを用いて該スナップショットを保存したときの状態に該仮想マシンを復元させる復元制御機能と、
前記復元制御機能により復元した仮想マシンを対象に前記ウイルスの検出を行わせる検出制御機能と、
を実現させるためのプログラム。
（付記１１）
前記検出制御機能は、前記復元した仮想マシンから除去できない前記ウイルスを検出した場合に、該復元に用いたスナップショットよりも前に保存したスナップショットによる復元を前記復元制御機能により再度、行わせる、
ことを特徴とする付記１０記載のプログラム。
（付記１２）
アプリケーション・プログラムを実行させる１つ以上の仮想マシンを作成し、ウイルスを検出して除去するウイルス対策ソフトウェアを該仮想マシンとは異なるプログラム実行環境上で実行させる作成手段と、
前記仮想マシンを動作させ、該仮想マシンをウイルス対策ソフトウェアにより監視させる監視制御手段と、
を具備することを特徴とするコンピュータ。
【図面の簡単な説明】
【００４３】
【図１】本実施形態によるコンピュータのシステム構成を示す図である。
【図２】全体の処理の流れを示す図である。
【図３】セットアップ処理のフローチャートである。
【図４】ウイルス除去処理のフローチャートである。
【図５】仮想マシンの状態遷移を説明する図である。
【図６】仮想マシンを管理するための管理表の構成を説明する図である。
【図７】本発明を適用可能なコンピュータのハードウェア構成の一例を示す図である。
【図８】他の実施形態によるコンピュータのシステム構成を示す図である。
【符号の説明】
【００４４】
１１０、１２０、１３０      仮想マシン
１１１、１２１      アプリケーション・プログラム
１３１      ＶＭ管理ソフトウェア
１３２      ウイルス対策ソフトウェア
１４０      仮想マシンモニター
１５０      ハードウェア
【図１】
2010044613.tif 000003
【図２】
2010044613.tif 000004
【図３】
2010044613.tif 000005
【図４】
2010044613.tif 000006
【図５】
2010044613.tif 000007
【図６】
2010044613.tif 000008
【図７】
2010044613.tif 000009
【図８】
2010044613.tif 000010