(57)【要約】 【課題】  情報処理装置に対する負荷の低いコンピュータウイルスの検出方法、この検出方法を実行させるためのプログラム、このプログラムが記憶された記録媒体およびコンピュータウイルスの検出装置を提供することを目的とする。【解決手段】  ウイルスチェックデータを更新する際、更新前ウイルスチェックデータと追加ウイルスチェックデータとを区別して記憶し、更新後チェック済データに対しては、ウイルスチェックを実行しない（Ｄ２）。また、更新前チェック済データに対しては、追加ウイルスチェックデータのみを使用してウイルスチェックを実行し、未チェックデータに対しては、更新前ウイルスチェックデータおよび追加ウイルスチェックデータを使用してウイルスチェックを実行する。（Ｄ３，Ｄ５およびＤ７）。【選択図】      図７
2007034623.tif 000002
【特許請求の範囲】
【請求項１】
ウイルスチェックデータを使用して、情報処理装置に記憶されている内部データがコンピュータウイルスを含むか否かを検出するコンピュータウイルスの検出方法において、
前記内部データにそれぞれ対応する第１フラグを設定し、コンピュータウイルスを含むか否かの検出結果に基づいて、コンピュータウイルスを含まないと検出された前記内部データに対しては前記第１フラグをセットしておき、
前記ウイルスチェックデータを更新する際、更新前から記憶されていた更新前ウイルスチェックデータと新たに記憶される追加ウイルスチェックデータとを区別可能に記憶し、
前記第１フラグがセットされていない前記内部データには、前記更新前ウイルスチェックデータおよび前記追加ウイルスチェックデータを使用してコンピュータウイルスを含むか否かの検出を実行し、
前記第１フラグがセットされている前記内部データには、前記追加ウイルスチェックデータを使用してコンピュータウイルスを含むか否かの検出を実行することを特徴とするコンピュータウイルスの検出方法。
【請求項２】
前記ウイルスチェックデータを更新する際、前記追加ウイルスチェックデータを含む更新後ウイルスチェックデータを新たに記憶し、前記更新後ウイルスチェックデータから前記追加ウイルスチェックデータを抽出することを特徴とする請求項１記載のコンピュータウイルスの検出方法。
【請求項３】
前記内部データを使用したデータ処理を実行する前に、前記データ処理に使用する前記内部データがコンピュータウイルスを含むか否かの検出を実行することを特徴とする請求項１または２記載のコンピュータウイルスの検出方法。
【請求項４】
前記内部データにそれぞれ対応する第２フラグを設定し、前記追加ウイルスチェックデータを使用してコンピュータウイルスを含むか否かを検出した結果に基づいて、コンピュータウイルスを含まないと検出された前記内部データに対しては前記第２フラグをセットしておき、
前記第２フラグがセットされている前記内部データには、コンピュータウイルスを含むか否かの検出を実行せずに前記データ処理を実行することを特徴とする請求項３記載のコンピュータウイルスの検出方法。
【請求項５】
前記データ処理は、前記内部データを前記情報処理装置外部に読み出す処理であることを特徴とする請求項３または４記載のコンピュータウイルスの検出方法。
【請求項６】
使用者からの指示によって、前記内部データがコンピュータウイルスを含むか否かの検出を実行することを特徴とする請求項１記載のコンピュータウイルスの検出方法。
【請求項７】
前記情報処理装置が実行できる最大の処理量に対する現在実行している処理量の割合である処理占有率を検出し、
検出された処理占有率に基づいて、前記内部データがコンピュータウイルスを含むか否かの検出を実行することを特徴とする請求項１記載のコンピュータウイルスの検出方法。
【請求項８】
請求項１〜７のいずれかに記載のコンピュータウイルスの検出方法を情報処理装置に実行させるためのプログラム。
【請求項９】
請求項８記載のプログラムが記録される情報処理装置に読取可能な記憶媒体。
【請求項１０】
ウイルスチェックデータを使用して、情報処理装置に記憶されている内部データがコンピュータウイルスを含むか否かを検出するコンピュータウイルスの検出装置において、
前記ウイルスチェックデータ、前記内部データおよび前記内部データにそれぞれ対応する第１フラグを記憶する記憶手段と、
前記ウイルスチェックデータを使用してコンピュータウイルスを含まないと検出された前記内部データに対しては前記第１フラグをセットするフラグセット手段と、
前記ウイルスチェックデータを更新する際、更新前から記憶されていた更新前ウイルスチェックデータと新たに記憶される追加ウイルスチェックデータとを区別可能に前記記憶手段に記憶させる記憶制御手段と、
前記第１フラグがセットされていない前記内部データには、前記更新前ウイルスチェックデータおよび前記追加ウイルスチェックデータを使用してコンピュータウイルスを含むか否かの検出を実行し、前記第１フラグがセットされている前記内部データには、前記追加ウイルスチェックデータを使用してコンピュータウイルスを含むか否かの検出を実行する検出手段とを含むことを特徴とするコンピュータウイルスの検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置に記憶されている内部データがコンピュータウイルスを含むか否かを検出するコンピュータウイルスの検出方法、この検出方法を実行させるためのプログラム、このプログラムが記憶された記録媒体およびコンピュータウイルスの検出装置に関する。
【背景技術】
【０００２】
コンピュータに記憶されているデータがコンピュータウイルスを含むか否かをチェックする方法として、コンピュータウイルスからユニークなパターンデータをウイルスチェックデータとして取り出して、内部データとパターンデータとを比較するパターンマッチング方法が知られている。このようなパターンマッチング方法は、すべてのデータに対してコンピュータウイルスを含むか否かをチェックするので、チェックすべきコンピュータウイルスが多い場合、内部データとパターンデータとを比較するための時間が長くなってしまい、コンピュータなどの情報処理装置にかかる負荷が大きくなってしまう。
【０００３】
情報処理装置にかかる負荷を低減させるための従来技術としては、特許文献１に記載されている。特許文献１のコンピュータウイルスのチェック方法では、コンピュータ内部のデータに対してウイルスの感染のチェックを行って、コンピュータ内部のデータがコンピュータウイルスに感染していないことを確認した後は、コンピュータ内部のすべてのデータに対してコンピュータウイルスに感染しているか否かのチェックを行うのではなくて、コンピュータ外部から読み込むデータおよびコンピュータ外部に読み出すデータなどに対してコンピュータウイルスに感染しているか否かのチェックを行う。
【０００４】
図１１は、従来技術であるコンピュータウイルスのチェック方法におけるデータの読み出し処理を示すフローチャートであり、図１２は、従来技術であるコンピュータウイルスのチェック方法におけるコンピュータ内部のデータリスト４１の例を示す図である。図１２に示すように、コンピュータ内部のデータリスト４１には、コンピュータ内部のデータをそれぞれ示すファイル名４２およびコンピュータ内部のデータにそれぞれ対応するウイルスチェックフラグ４３が設定されている。
【０００５】
中央処理装置（ＣＰＵ）が読み出し処理を指示することによって、ステップＨ１の処理が行われる。ステップＨ１では、ＣＰＵは、図１２に示すファイル名４２に、読み出すデータのファイル名と同じファイル名が存在するか否かによって、この読み出すデータが、コンピュータ内部のデータであるか否かを判断する。読み出すデータがコンピュータ内部のデータであると判断されれば、ステップＨ２に進み、コンピュータ内部のデータではないと判断されれば、ステップＨ４に進む。ステップＨ２では、ＣＰＵは、図１２に示すような読み出すデータに対応するウイルスチェックフラグがセットされている（「済み」となっている）か否か（「未」となっているか）によって、この読み出すデータがコンピュータウイルスに感染されていないことをウイルスチェックによって確認したデータであるか否かを判断する。コンピュータウイルスに感染されていないデータであることが確認されていないと判断されれば、ステップＨ３に進み、確認されていると判断されれば、ステップＨ５に進む。ステップＨ３では、データに対応するウイルスチェックフラグをセットして、ステップＨ４に進む。ステップＨ４では、データにパターンデータを用いてウイルスチェックを実行して、ステップＨ５に進む。ステップＨ５では、データを読み出して、読み出し処理を終了する。
【０００６】
したがって、コンピュータウイルスに感染されていないことをウイルスチェックによって確認されているデータに対しては、ウイルスチェックを実行せず読み出し処理を実行する。それに対して、コンピュータウイルスに感染されていないことをウイルスチェックによって確認されていないデータに対しては、ウイルスチェックを実行して読み出し処理を実行する。このように従来技術であるコンピュータウイルスのチェック方法は、チェックすべきコンピュータウイルスが多い場合であっても、情報処理装置に大きな負荷をかけることのなく、ウイルスの感染のチェックを行うことができる。
【０００７】
【特許文献１】特開２００３−２１６４４５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
日々新たなコンピュータウイルスが発見されており、コンピュータウイルスは増加している。このような実情から、データがコンピュータウイルスを含むか否かを確実にチェックするためには、新しいコンピュータウイルスに対応したパターンデータを頻繁に更新する必要がある。また、パターンデータの更新は、ＦＤ（Flexible Disk）、ＣＤ（Compact Disc）およびＤＶＤ（Digital Versatile Disk）などの補助記憶装置およびインターネットなどの通信手段などによって、頻繁に実行されている。
【０００９】
特許文献１のコンピュータウイルスのチェック方法によると、図１２に示すようにデータがコンピュータウイルスに感染されていないことをウイルスチェックによって確認したデータであるか否かを示すためのウイルスチェックフラグが１つだけ設定されている構成になっている。したがって、パターンデータが更新された場合、更新されたパターンデータを用いてウイルスチェックするために、図１３に示すようにウイルスチェックフラグをリセットする。
【００１０】
図１３は、従来技術であるコンピュータウイルスのチェック方法におけるパターンデータ更新処理を示すフローチャートである。パターンデータが追加されることによって、ステップＩ１の処理が行われる。ステップＩ１では、追加されたパターンデータを主記憶装置に記憶させることによって、追加されたパターンデータを取得し、ステップＩ２に進む。ステップＩ２では、ＣＰＵは、取得したパターンデータが、コンピュータ内部の補助記憶装置である固定ディスクに記憶されているパターンデータと一致するか否かを判断し、一致すれば、ステップＩ４に進み、一致しなければ、ステップＩ３に進む。ステップＩ３では、取得したパターンデータを固定ディスクに記憶させ、ステップＩ４に進む。ステップＩ４では、ＣＰＵは、すべてのパターンデータを取得したか否かを判断し、取得したと判断されれば、ステップＩ５に進み、取得されていないと判断されれば、ステップＩ１に戻る。ステップＩ５では、ＣＰＵは、ウイルスチェックフラグをリセットして、パターンデータ更新処理を終了する。
【００１１】
したがって、従来技術であるコンピュータウイルスのチェック方法は、パターンデータが更新されると、ウイルスチェックフラグをリセットする構成となっているので、更新後のパターンデータを使用して、コンピュータ内部のすべてのデータをウイルスチェックする。このことから、パターンデータが頻繁に更新されると、ウイルスの感染のチェックを行う時間が増加してしまい、情報処理装置にかかる負荷の低減とはならない。
【００１２】
本発明の目的は、情報処理装置に対する負荷の低いコンピュータウイルスの検出方法、この検出方法を実行させるためのプログラム、このプログラムが記憶された記録媒体およびコンピュータウイルスの検出装置を提供するものである。
【課題を解決するための手段】
【００１３】
本発明は、ウイルスチェックデータを使用して、情報処理装置に記憶されている内部データがコンピュータウイルスを含むか否かを検出するコンピュータウイルスの検出方法において、
前記内部データにそれぞれ対応する第１フラグを設定し、コンピュータウイルスを含むか否かの検出結果に基づいて、コンピュータウイルスを含まないと検出された前記内部データに対しては前記第１フラグをセットしておき、
前記ウイルスチェックデータを更新する際、更新前から記憶されていた更新前ウイルスチェックデータと新たに記憶される追加ウイルスチェックデータとを区別可能に記憶し、
前記第１フラグがセットされていない前記内部データには、前記更新前ウイルスチェックデータおよび前記追加ウイルスチェックデータを使用してコンピュータウイルスを含むか否かの検出を実行し、
前記第１フラグがセットされている前記内部データには、前記追加ウイルスチェックデータを使用してコンピュータウイルスを含むか否かの検出を実行することを特徴とするコンピュータウイルスの検出方法である。
【００１４】
また本発明は、前記ウイルスチェックデータを更新する際、前記追加ウイルスチェックデータを含む更新後ウイルスチェックデータを新たに記憶し、前記更新後ウイルスチェックデータから前記追加ウイルスチェックデータを抽出することを特徴とする。
【００１５】
また本発明は、前記内部データを使用したデータ処理を実行する前に、前記データ処理に使用する前記内部データがコンピュータウイルスを含むか否かの検出を実行することを特徴とする。
【００１６】
また本発明は、前記内部データにそれぞれ対応する第２フラグを設定し、前記追加ウイルスチェックデータを使用してコンピュータウイルスを含むか否かを検出した結果に基づいて、コンピュータウイルスを含まないと検出された前記内部データに対しては前記第２フラグをセットしておき、
前記第２フラグがセットされている前記内部データには、コンピュータウイルスを含むか否かの検出を実行せずに前記データ処理を実行することを特徴とする。
【００１７】
また本発明は、前記データ処理は、前記内部データを前記情報処理装置外部に読み出す処理であることを特徴とする。
【００１８】
また本発明は、使用者からの指示によって、前記内部データがコンピュータウイルスを含むか否かの検出を実行することを特徴とする。
【００１９】
また本発明は、前記情報処理装置が実行できる最大の処理量に対する現在実行している処理量の割合である処理占有率を検出し、
検出された処理占有率に基づいて、前記内部データがコンピュータウイルスを含むか否かの検出を実行することを特徴とする。
【００２０】
また本発明は、前記コンピュータウイルスの検出方法を情報処理装置に実行させるためのプログラムである。
【００２１】
また本発明は、前記プログラムが記録される情報処理装置に読取可能な記憶媒体である。
【００２２】
また本発明は、ウイルスチェックデータを使用して、情報処理装置に記憶されている内部データがコンピュータウイルスを含むか否かを検出するコンピュータウイルスの検出装置において、
前記ウイルスチェックデータ、前記内部データおよび前記内部データにそれぞれ対応する第１フラグを記憶する記憶手段と、
前記ウイルスチェックデータを使用してコンピュータウイルスを含まないと検出された前記内部データに対しては前記第１フラグをセットするフラグセット手段と、
前記ウイルスチェックデータを更新する際、更新前から記憶されていた更新前ウイルスチェックデータと新たに記憶される追加ウイルスチェックデータとを区別可能に前記記憶手段に記憶させる記憶制御手段と、
前記第１フラグがセットされていない前記内部データには、前記更新前ウイルスチェックデータおよび前記追加ウイルスチェックデータを使用してコンピュータウイルスを含むか否かの検出を実行し、前記第１フラグがセットされている前記内部データには、前記追加ウイルスチェックデータを使用してコンピュータウイルスを含むか否かの検出を実行する検出手段とを含むことを特徴とするコンピュータウイルスの検出装置である。
【発明の効果】
【００２３】
本発明によれば、ウイルスチェックデータを使用して、情報処理装置に記憶されている内部データがコンピュータウイルスを含むか否かを検出するコンピュータウイルスの検出方法である。このコンピュータウイルスの検出方法は、内部データにそれぞれ対応する第１フラグを設定し、コンピュータウイルスを含むか否かの検出結果に基づいて、コンピュータウイルスを含まないと検出された内部データに対しては第１フラグをセットしておき、ウイルスチェックデータを更新する際、更新前から記憶されていた更新前ウイルスチェックデータと新たに記憶される追加ウイルスチェックデータとを区別可能に記憶する。
【００２４】
そして、第１フラグがセットされていない内部データには、更新前ウイルスチェックデータおよび追加ウイルスチェックデータを使用してコンピュータウイルスを含むか否かの検出を実行し、第１フラグがセットされている内部データには、追加ウイルスチェックデータを使用してコンピュータウイルスを含むか否かの検出を実行する。
【００２５】
したがって、このコンピュータウイルスの検出方法は、ウイルスチェックデータの更新した後、更新前ウイルスチェックデータを使用してコンピュータウイルスを含まないと検出されていない内部データに対しては、更新前ウイルスチェックデータおよび追加ウイルスチェックデータの両方のウイルスチェックデータを使用してコンピュータウイルスを含むか否かの検出を実行するが、更新前ウイルスチェックデータを使用してコンピュータウイルスを含まないと検出された内部データに対しては、追加ウイルスチェックデータのみを使用してコンピュータウイルスを含むか否かの検出を実行する。
【００２６】
そうすることによって、ウイルスチェックデータを更新する度に、すべての内部データに対して、両方のウイルスチェックデータを使用してコンピュータウイルスを含むか否かの検出を実行して、コンピュータウイルスが含まれていないことを確認しなくても、すべての内部データにコンピュータウイルスが含まれていないことの確認することができ、情報処理装置に対する負荷を低減させることができる。
【００２７】
また本発明によれば、ウイルスチェックデータを更新する際、追加ウイルスチェックデータを含む更新後ウイルスチェックデータを新たに記憶し、更新後ウイルスチェックデータから追加ウイルスチェックデータを抽出する。そうすることによって、追加ウイルスチェックデータを更新前ウイルスチェックデータと区別可能に記憶することができるので、すべての内部データに対して、更新後ウイルスチェックデータを用いてコンピュータウイルスを含むか否かの検出を行わなくても、追加ウイルスチェックデータのみを用いてコンピュータウイルスを含むか否かの検出を行うことができる。したがって、情報処理装置に対する負荷を低減させることができる。
【００２８】
また本発明によれば、内部データを使用したデータ処理を実行する前に、データ処理に使用する内部データがコンピュータウイルスを含むか否かの検出を実行する。そうすることによって、情報処理装置に対する負荷を増加させることなく、コンピュータウイルスを含む内部データを使用したデータ処理を確実に防止することができる。
【００２９】
また本発明によれば、内部データにそれぞれ対応する第２フラグを設定し、追加ウイルスチェックデータを使用してコンピュータウイルスを含むか否かを検出した結果に基づいて、コンピュータウイルスを含まないと検出された内部データに対しては第２フラグをセットしておく。そして、第２フラグがセットされている内部データには、コンピュータウイルスを含むか否かの検出を実行せずにデータ処理を実行する。
【００３０】
このような追加ウイルスチェックデータを使用してコンピュータウイルスを含まないと検出された内部データは、コンピュータウイルスが含まれていないことが確認されているので、コンピュータウイルスを含むか否かの検出を実行せずにデータ処理を実行することができる。したがって、情報処理装置に対する負荷をさらに低減させることができる。
【００３１】
また本発明によれば、データ処理は、内部データを情報処理装置外部に読み出す処理であるので、情報処理装置に対する負荷を増加させることなく、コンピュータウイルスを含むデータを情報処理装置外部に読み出すことを確実に防止することができる。
【００３２】
また本発明によれば、使用者からの指示によって、内部データがコンピュータウイルスを含むか否かの検出を実行するので、内部データがコンピュータウイルスを含むか否かの検出が必要であると使用者が判断したときに、内部データがコンピュータウイルスを含むか否かの検出を実行することができる。
【００３３】
また本発明によれば、情報処理装置が実行できる最大の処理量に対する現在実行している処理量の割合である処理占有率を検出し、検出された処理占有率に基づいて、内部データがコンピュータウイルスを含むか否かの検出を実行する。そうすることによって、情報処理装置が実行している処理量が少ない場合、たとえば、ＣＰＵ空き時間に、内部データがコンピュータウイルスを含むか否かの検出を実行することができるので、情報処理装置に対する負荷をさらに低減させることができる。
【００３４】
また本発明によれば、上記のコンピュータウイルスの検出方法を情報処理装置に実行させるためのプログラムとして提供する。このことより、上記のコンピュータウイルスの検出方法を汎用的に使用することが可能となる。
【００３５】
また本発明によれば、上記のコンピュータウイルスの検出方法を情報処理装置に実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体として供給する。このことから、上記のコンピュータウイルスの検出方法を容易に情報処理装置で実行させることが可能となる。
【００３６】
また本発明によれば、ウイルスチェックデータを使用して、情報処理装置に記憶されている内部データがコンピュータウイルスを含むか否かを検出するコンピュータウイルスの検出装置である。このコンピュータウイルスの検出装置は、ウイルスチェックデータ、内部データおよび内部データにそれぞれ対応する第１フラグを記憶する記憶手段を有し、フラグセット手段によって、ウイルスチェックデータを使用してコンピュータウイルスを含まないと検出された前記内部データに対しては第１フラグをセットし、記憶制御手段によって、ウイルスチェックデータを更新する際、更新前から記憶されていた更新前ウイルスチェックデータと新たに記憶される追加ウイルスチェックデータとを区別可能に記憶手段に記憶させる。
【００３７】
そして、検出手段によって、第１フラグがセットされていない内部データには、更新前ウイルスチェックデータおよび追加ウイルスチェックデータを使用してコンピュータウイルスを含むか否かの検出を実行し、第１フラグがセットされている内部データには、前記追加ウイルスチェックデータを使用してコンピュータウイルスを含むか否かの検出を実行する。
【００３８】
したがって、このコンピュータウイルスの検出装置の検出手段は、ウイルスチェックデータが更新された後、更新前ウイルスチェックデータを使用してコンピュータウイルスを含まないと検出されていない内部データに対しては、更新前ウイルスチェックデータおよび追加ウイルスチェックデータの両方のウイルスチェックデータを使用してコンピュータウイルスを含むか否かの検出を実行するが、更新前ウイルスチェックデータを使用してコンピュータウイルスを含まないと検出された内部データに対しては、追加ウイルスチェックデータのみを使用してコンピュータウイルスを含むか否かの検出を実行する。
【００３９】
そうすることによって、ウイルスチェックデータを更新する度に、すべての内部データに対して、両方のウイルスチェックデータを使用してコンピュータウイルスを含むか否かの検出を実行して、コンピュータウイルスが含まれていないことを確認しなくても、すべての内部データにコンピュータウイルスが含まれていないことの確認することができる。したがって、このコンピュータウイルスの検出装置は、コンピュータウイルスを含むか否かの検出するための負荷の低減を実現できる。
【発明を実施するための最良の形態】
【００４０】
以下本発明に係る実施の形態について説明する。本発明は、インターネット上に公開されているウェブページの閲覧、電子メールの送受信、画像の表示、文書作成ソフトウエアによる文書の作成および表計算ソフトウエアによる数値データの集計などの情報処理を行う情報処理装置である一般的なパーソナルコンピュータに使用することができる。本発明であるコンピュータウイルスの検出方法は、パターンデータなどのウイルスチェックデータを使用して、情報処理に用いるプログラムデータ、画像データ、数値データおよび文字データなどの内部データがコンピュータウイルスを含むか否かの検出（以下、ウイルスチェックという）を実行することができる。
【００４１】
図１は、コンピュータウイルスの検出方法を実行するコンピュータ１０の電気的構成を示すブロック図である。コンピュータ１０は、ＣＰＵ１１、固定ディスク１２および主記憶手段１３などを含み、周辺装置１４が接続されている。周辺装置１４は、通信手段１５、外部ディスク１６、入力手段１７および出力手段１８を含む。
【００４２】
コンピュータ１０は、上記のような一般的なパーソナルコンピュータであり、ウイルスチェックを実行させるためのウイルスチェックプログラムがインストール可能な装置である。ＣＰＵ１１は、コンピュータ１０全体を制御し、固定ディスク１２および主記憶手段１３などに記憶されている内部データおよび外部ディスク１６に記憶されている外部データに対して、情報処理などを実行したりする。固定ディスク１２は、内部データを記憶する補助記憶装置であり、ハードディスク装置などで実現される。また、固定ディスク１２は、内部データにそれぞれ対応する第１フラグおよび第２フラグを記憶している。主記憶手段１３は、ＣＰＵ１１から直接読み書きすることができ、情報処理などに必要なデータおよびプログラムなどを固定ディスク１２および外部ディスク１６から呼び出して記憶することができる。固定ディスク１２および主記憶手段１３は、コンピュータ１０内にあり、記憶手段に相当する。
【００４３】
通信手段１５は、通信制御手順に従って、外部の情報処理装置に対して情報の送受信を行う。通信手段１５は、インターネットに接続される外部の情報処理装置からウイルスチェックデータを読み出す機能を有し、ＬＡＮ（Local Area Network）ボード、ＬＡＮカードなどのネットワークカードおよびモデム装置などで実現される。外部ディスク１６は、上記データ処理をコンピュータ１０に実行させるためのプログラム、ウイルスチェックデータおよび内部データなどのデータを記憶する補助記憶装置であり、ＦＤ、ＣＤおよびＤＶＤなどで実現される。入力手段１７は、使用者による操作によって所定の情報を入力し、キーボードなどで実現される。出力手段１８は、入力手段１７によって入力された文字などを表示し、ＬＣＤ（Liquid Crystal Display）などで実現される。
【００４４】
また、ＣＰＵ１１は、ウイルスチェックデータを更新する際、更新前から記憶されていた更新前ウイルスチェックデータと新たに記憶される追加ウイルスチェックデータとが区別可能に固定ディスク１２に記憶させる記憶制御処理を実行する。ＣＰＵ１１は、更新前ウイルスチェックデータを使用してコンピュータウイルスを含まないと検出された内部データ（以下、更新前チェック済データ）に対しては、第１フラグをセットし、追加ウイルスチェックデータを使用してコンピュータウイルスを含まないと検出された内部データ（以下、更新後チェック済データ）に対しては、第２フラグをセットするフラグセット処理を実行する。ＣＰＵ１１は、第１フラグがセットされていない内部データには、更新前ウイルスチェックデータおよび追加ウイルスチェックデータを使用してウイルスチェックを実行し、第１フラグがセットされている内部データには、追加ウイルスチェックデータを使用してウイルスチェックを実行する。また、記憶制御処理、フラグセット処理および検出処理は、すべてＣＰＵ１１により実行されており、記憶制御手段、フラグセット手段および検出手段は、ＣＰＵ１１に相当する。
【００４５】
以上より、このコンピュータ１０は、ＣＰＵ１１によって、以下のように制御されている。ウイルスチェックデータが更新された後、更新前ウイルスチェックデータを使用してウイルスチェックが実行されていない内部データ（以下、未チェックデータ）に対しては、更新前ウイルスチェックデータおよび追加ウイルスチェックデータの両方のウイルスチェックデータを使用してウイルスチェックを実行する。更新前チェック済データに対しては、追加ウイルスチェックデータのみを使用してウイルスチェックを実行する。さらに、更新後チェック済データに対しては、ウイルスチェックを実行しない。
【００４６】
したがって、ウイルスチェックデータを更新する度に、すべての内部データに対して、両方のウイルスチェックデータを使用してウイルスチェックを実行して、コンピュータウイルスが含まれていないことを確認しなくても、すべての内部データがコンピュータウイルスを含まないことを確認することができるので、ウイルスチェックを実行するための負荷の低減を実現することができる。
【００４７】
なお、コンピュータウイルスとは、コンピュータなどの情報処理装置に入り込んで、画面表示をでたらめにしたり、無意味な単語を表示したり、ディスクに保存されているファイルを破壊したりするプログラムである。またコンピュータウイルスは、インターネットからダウンロードしたデータおよびフロッピー（登録商標）ディスクなどの補助記憶手段に記憶されていたデータに含まれている。このようなコンピュータウイルスを含むデータを、情報処理装置内の固定ディスク１２などに記憶させることによって、コンピュータウイルスを含むデータがコンピュータなどの情報処理装置に存在することになる。
【００４８】
次に、コンピュータ１０にウイルスチェックを実行させるためのウイルスチェックプログラムをインストールするインストール処理およびウイルスチェックを実行する際に使用するウイルスチェックデータを更新するデータ更新処理について説明する。
【００４９】
図２は、インストール処理を示すフローチャートであり、図３は、固定ディスク１２に記憶されているデータリスト２１の例を示す図である。図３に示すように、固定ディスク１２に記憶されているデータリスト２１には、内部データを示すファイル名２２、内部データにそれぞれ対応する第１フラグ２３および第２フラグ２４が設定されている。
【００５０】
ＣＰＵ１１が、使用者からのインストール処理の開始指示を認識することによって、ステップＡ１の処理が行われる。ステップＡ１では、外部ディスク１６から読み出したウイルスチェックプログラムまたは通信手段１５によってダウンロードしたウイルスチェックプログラムを固定ディスク１２に書き込んで、ステップＡ２に進む。ステップＡ２では、図３に示すデータリストを作成し、ステップＡ３に進む。ステップＡ３では、第１チェックフラグ２３をリセットし、ステップＡ４に進む。ステップＡ４では、第２チェックフラグ２４をリセットして、インストール処理を終了する。ウイルスチェックプログラムがインストールされたコンピュータ１０は、コンピュータ１０が起動されると、ウイルスチェックプログラムが自動的に起動され、ウイルスチェックプログラムを常駐するように設定する。
【００５１】
図４は、ウイルスチェックデータ更新処理を示すフローチャートであり、図５は、ウイルスチェックデータを記憶するデータベースを示す。図５に示すように、固定ディスク１２内には、追加ウイルスチェックデータを記憶することができる追加データベース３１と更新前ウイルスチェックデータを記憶することができる更新前データベース３２とを設定する。
【００５２】
ＣＰＵ１１が、ウイルスチェックデータの更新指示を認識することによって、ステップＢ１の処理が行われる。ウイルスチェックデータの更新指示は、使用者からの指示であってもよいし、ウイルスチェックプログラムに基づくＣＰＵ１１自らの指示であってもよい。使用者からの指示とは、外部ディスク１６に記憶されているウイルスチェックデータを読み込む指示および通信手段１５によってウイルスチェックデータをダウンロードすることの指示などである。ＣＰＵ１１自らの指示とは、コンピュータ１０の起動時などの予め設定されたタイミングでの指示などである。
【００５３】
ステップＢ１では、図５に示す追加データベース３１に記憶されているウイルスチェックデータを更新前データベース３２に記憶させて、ステップＢ２に進む。ステップＢ２では、追加データベース３１に記憶されているウイルスチェックデータを消去する追加データベース３１の初期化処理をして、ステップＢ３に進む。
【００５４】
ステップＢ３では、外部ディスク１６から読み出したウイルスチェックデータおよび通信手段１５によってダウンロードされたウイルスチェックデータなどの更新後ウイルスチェックデータを主記憶手段１３に記憶させることによって、更新後ウイルスチェックデータを取得し、ステップＢ４に進む。ステップＢ４では、ＣＰＵ１１は、取得した更新後ウイルスチェックデータが、更新前データベース３２に記憶されているウイルスチェックデータと一致するか否かを判断し、一致すれば、ステップＢ３に戻り、一致しなければ、ステップＢ５に進む。
【００５５】
ステップＢ５では、取得した更新後ウイルスチェックデータを追加データベース３１に記憶させ、ステップＢ６に進む。ステップＢ６では、ＣＰＵ１１は、すべての更新後ウイルスチェックデータを取得しているか否かを判断し、取得していないと判断されれば、ステップＢ３に戻り、取得していると判断されればステップＢ７に進む。ステップＢ７では、後述のフラグ操作処理を行い、ウイルスチェックデータ更新処理を終了する。
【００５６】
以上のようにウイルスチェックデータを更新すると、追加ウイルスチェックデータを更新前ウイルスチェックデータと区別して記憶することができる。
【００５７】
また、インストール処理直後のデータ更新処理では、更新後ウイルスチェックデータは、すべて追加データベース３１に記憶される。
【００５８】
図６は、フラグ操作処理を示すフローチャートである。フラグ操作処理が開始されると、ステップＣ１の処理が行われる。ステップＣ１では、固定ディスク１２に記憶されている内部データの１つを主記憶手段１３に抽出して、ステップＣ２に進む。ステップＣ２では、ＣＰＵ１１は、抽出された内部データに対応する第２フラグがセットされているか否かを判断し、セットされていると判断されれば、ステップＣ３に進み、されていないと判断されれば、ステップＣ５に進む。
【００５９】
ステップＣ３では、抽出された内部データに対応する第２フラグをリセットして、ステップＣ４に進む。ステップＣ４では、抽出された内部データに対応する第１フラグをセットして、ステップＣ６に進む。また、ステップＣ４では、抽出された内部データに対応する第１フラグをリセットして、ステップＣ６に進む。
【００６０】
ステップＣ６では、ＣＰＵ１１は、固定ディスク１２に記憶されているすべての内部データを抽出したか否かを判断し、抽出していないと判断されれば、ステップＣ１に戻り、抽出したと判断されれば、フラグ操作処理を終了する。
【００６１】
ウイルスチェックを実行する場合として、内部データでコンピュータ１０の外部に読み出すおよびコンピュータ１０に対する書き込むなどのデータ処理を行う前に、データ処理に使用するデータに対してウイルスチェックを実行する場合、およびコンピュータ１０に記憶されているすべての内部データに対してウイルスチェックを実行する場合がある。したがって、ウイルスチェックを実行するデータとしては、データ処理に使用するデータと、内部データとの２種類のデータがある。
【００６２】
以下、内部データを使用したデータ処理を実行する前に、データ処理に使用するデータに対してウイルスチェックを実行するウイルスチェック処理について説明する。図７は、ウイルスチェック処理の一例を示すフローチャートである。
【００６３】
ＣＰＵ１１が、使用者からのデータ処理の指示を確認すると、ステップＤ１の処理が行われる。ステップＤ１では、ＣＰＵ１１は、図３に示すファイル名２２に、データ処理に用いるデータのファイル名と同じファイル名が存在するか否かによって、このデータ処理に用いるデータが、内部データであるか否かを判断する。データ処理に用いるデータが内部データであると判断されれば、ステップＤ２に進み、内部データではないと判断されれば、ステップＤ５に進む。
【００６４】
ステップＤ２では、ＣＰＵ１１は、図３に示すようなデータに対応する第２フラグがセットされている（「済み」となっている）か否か（「未」となっているか）によって、更新後チェック済データであるか否かを判断する。更新後チェック済データであると判断されれば、ステップＤ８に進み、更新後チェック済データではないと判断されれば、ステップＤ３に進む。
【００６５】
ステップＤ３では、ＣＰＵ１１は、図３に示すようなデータに対応する第１フラグがセットされている（「済み」となっている）か否か（「未」となっているか）によって、更新前チェック済データであるか未チェックデータであるかを判断する。更新前チェック済データであると判断されれば、ステップＤ６に進み、未チェックデータであると判断されれば、ステップＤ４に進む。
【００６６】
ステップＤ４では、第２フラグをセットして、ステップＤ５に進む。ステップＤ５では、更新前ウイルスチェックデータを使用したウイルスチェックを実行して、ステップＤ７に進む。また、ステップＤ６では、第２フラグをセットして、ステップＤ７に進む。ステップＤ７では、追加ウイルスチェックデータを使用してウイルスチェックを実行してステップＤ８に進む。
【００６７】
ステップＤ８では、後述のデータ削除処理を実行し、ステップＤ９に進む。ステップＤ９では、後述のデータ処理を実行して、ステップＤ１０に進む。ステップＤ１０では、ＣＰＵ１１は、データ処理に用いるデータに対応する第２フラグがすべてセットされているか否かによって、データ処理に用いるすべてのデータにウイルスチェックを実行したか否かを判断する。すべてのデータに対してウイルスチェックが実行されていないと判断されれば、ステップＤ１に戻り、実行されていると判断されれば、ウイルスチェック処理を終了する。
【００６８】
以上より、データ処理に使用するデータに対しては、データ処理を実行する前にウイルスチェックを行う。そうすることによって、コンピュータ１０に対する負荷を増加させることなく、コンピュータウイルスを含むデータを使用したデータ処理を確実に防止することができる。
【００６９】
図８は、データ削除処理を示すフローチャートである。データ削除処理が開始されると、ステップＥ１の処理が行われる。ステップＥ１では、ＣＰＵ１１は、ウイルスチェックの検出結果に基づいて、コンピュータウイルスを含むデータであるか否かを判断して、コンピュータウイルスを含むデータであると判断されれば、ステップＥ２に進み、コンピュータウイルスを含まないデータであると判断されれば、データ削除処理を終了する。
【００７０】
ステップＥ２では、ＣＰＵ１１は、削除するデータが内部データであるか否かを判断し、内部データでないと判断されれば、ステップＥ５に進み、内部データであると判断されれば、ステップＥ３に進む。ステップＥ３では、固定ディスク１２からデータを削除して、ステップＥ４に進む。ステップＥ４では、図３に示すようなデータリストにおいて、削除したデータ以降のデータを１つ前にシフトして記憶し、データ削除処理を終了する。また、ステップＥ５では、データを削除して、データ削除処理を終了する。
【００７１】
データ処理は、データ削除処理によって削除されなかったデータを使用してデータ処理を行う。データ処理とは、たとえば、内部データをコンピュータ１０の外部に読み出す読出処理および外部データをコンピュータ１０に書き込む書込処理などが挙げられる。読出処理とは、通信手段１５によって内部データをアップロードする処理および外部ディスク１６に内部データを読み出す処理である。また、書込処理は、通信手段１５によって外部データをダウンロードする処理および外部ディスク１６に記憶されている外部データを固定ディスク１２に書き込み処理である。データ処理の一例として、書込処理について説明する。
【００７２】
図９は、外部データを固定ディスク１２に書き込む書込処理を示すフローチャートである。書込処理であるデータ処理が開始されると、ステップＦ１の処理が行われる。ステップＦ１では、固定ディスク１２に書き込むデータのファイル名が、図３に示すデータリストに同じファイル名２２があるかを検索して、ステップＦ２に進む。ステップＦ２では、ＣＰＵ１１は、検索結果より、書き込むデータと同じファイル名が、データリストにあると判断すれば、データを書き込む処理を終了し、ないと判断すれば、ステップＦ３に進む。ステップＦ３では、書き込むデータをデータリストの先頭に挿入するように、固定ディスク１２に記憶させて、ステップＦ４に進む。ステップＦ４では、書き込まれた内部データに対応する第１フラグをセットして、ステップＦ５に進む。ステップＦ５では、書き込まれた内部データに対応する第２フラグをセットして、書込処理を終了する。
【００７３】
以下、コンピュータ１０に記憶されているすべての内部データに対してウイルスチェックを実行するコンピュータウイルスの検出方法について説明する。図１０は、ウイルスチェック処理の一例を示すフローチャートである。
【００７４】
コンピュータ１０が起動されることによって、ステップＧ１の処理が行われる。ステップＧ１では、ＣＰＵ１１は、ウイルスチェック処理の開始の指示があるまで待機し、指示があれば、ステップＧ２に進む。ウイルスチェックの開始の指示とは、使用者からの指示であってもよいし、ＣＰＵ１１自らの指示であってもよい。ＣＰＵ１１自らの指示とは、コンピュータ１０が実行できる最大の処理量に対する現在実行している処理量の割合である処理占有率をＣＰＵ１１が検出し、その検出した処理占有率に基づいてＣＰＵ１１が自ら行う指示である。具体的には、他の情報処理に影響がないような処理占有率が低いとき、いわゆる、ＣＰＵ１１の空き時間にウイルスチェック処理が開始される。
【００７５】
ステップＧ２では、ＣＰＵ１１は、図３に示すようなデータに対応する第２フラグがセットされている（「済み」となっている）か否か（「未」となっているか）によって、更新後チェック済データであるか否かを判断する。更新後チェック済データであると判断されれば、ステップＧ８に進み、更新後チェック済データではないと判断されれば、ステップＧ３に進む。
【００７６】
ステップＧ３では、ＣＰＵ１１は、図３に示すようなデータに対応する第１フラグがセットされている（「済み」となっている）か否か（「未」となっているか）によって、更新前チェック済データであるか未チェックデータであるかを判断する。更新前チェック済データであると判断されれば、ステップＧ６に進み、未チェックデータであると判断されれば、ステップＧ４に進む。
【００７７】
ステップＧ４では、第２フラグをセットして、ステップＧ５に進む。ステップＧ５では、更新前ウイルスチェックデータを使用してウイルスチェックを実行して、ステップＧ７に進む。また、ステップＧ６では、第２フラグをセットして、ステップＧ７に進む。ステップＧ７では、追加ウイルスチェックデータを使用してウイルスチェックを実行してステップＧ８に進む。
【００７８】
ステップＧ８では、後述のデータ削除処理を実行し、ステップＧ９に進む。ステップＧ９では、ＣＰＵ１１は、内部データに対応する第２フラグがすべてセットされているか否かによって、すべての内部データにウイルスチェックを実行したか否かを判断する。すべての内部データに対してウイルスチェックが実行されていないと判断されれば、ステップＧ１に戻り、実行されていると判断されれば、ウイルスチェック処理を終了する。
【００７９】
以上より、データにコンピュータウイルスを含むか否かの検出が必要であると使用者が判断したときに、内部データにコンピュータウイルスを含むか否かの検出を実行することができる。また、情報処理装置が実行している処理量が少ない場合、たとえば、ＣＰＵ空き時間に、内部データにコンピュータウイルスを含むか否かの検出を実行することができるので、情報処理装置に対する負荷をさらに低減させることができる。
【００８０】
また、上記実施形態では、情報処理装置としてコンピュータについて説明したが、携帯電話機などの携帯情報端末に適用してもよい。
【００８１】
また、本発明は、上記のコンピュータウイルスの検出方法を情報処理装置に実行させるためのプログラムであってもよい。このことより、上記のコンピュータウイルスの検出方法を汎用的に使用することが可能となる。さらに、このプログラムを記録したコンピュータ読み取り可能な記録媒体にも適用可能である。このことから、上記のコンピュータウイルスの検出方法を容易に情報処理装置で実行させることが可能となる。
【図面の簡単な説明】
【００８２】
【図１】コンピュータウイルスの検出方法を実行するコンピュータ１０の電気的構成を示すブロック図である。
【図２】インストール処理を示すフローチャートである。
【図３】固定ディスク１２に記憶されているデータリスト２１の例を示す図である。
【図４】ウイルスチェックデータ更新処理を示すフローチャートである。
【図５】ウイルスチェックデータを記憶するデータベースを示す。
【図６】フラグ操作処理を示すフローチャートである。
【図７】ウイルスチェック処理の一例を示すフローチャートである。
【図８】データ削除処理を示すフローチャートである。
【図９】外部データを固定ディスク１２に書き込む書込処理を示すフローチャートである。
【図１０】ウイルスチェック処理の一例を示すフローチャートである。
【図１１】従来技術であるコンピュータウイルスのチェック方法におけるデータの読み出し処理を示すフローチャートである。
【図１２】従来技術であるコンピュータウイルスのチェック方法におけるコンピュータ内部のデータリスト４１の例を示す図である。
【図１３】従来技術であるコンピュータウイルスのチェック方法におけるパターンデータ更新処理を示すフローチャートである。
【符号の説明】
【００８３】
１０  コンピュータ
１１  ＣＰＵ
１２  固定ディスク
１３  主記憶手段
１４  周辺装置
１５  通信手段
１６  外部ディスク
１７  入力手段
１８  出力手段
２１，４１  データリスト
２２，４２  ファイル名
２３  第１フラグ
２４  第２フラグ
３１  追加データベース
３２  更新前データベース
４３  ウイルスチェックフラグ
【図１】
2007034623.tif 000003
【図２】
2007034623.tif 000004
【図３】
2007034623.tif 000005
【図４】
2007034623.tif 000006
【図５】
2007034623.tif 000007
【図６】
2007034623.tif 000008
【図７】
2007034623.tif 000009
【図８】
2007034623.tif 000010
【図９】
2007034623.tif 000011
【図１０】
2007034623.tif 000012
【図１１】
2007034623.tif 000013
【図１２】
2007034623.tif 000014
【図１３】
2007034623.tif 000015