しかしながら、従来技術では、記憶装置のディスクに展開されるファイルにウィルスに感染されたものがあるのか否かを検出して、感染されたものがある場合にはそれに対処していくという構成を採っており、ウィルス感染を積極的に防止するという方法を採っていないことから、記憶装置のディスクに展開されるファイルがウィルスに感染されやすいという問題点があった。
また、従来技術では、記憶装置のディスクに展開されるファイルにウィルスに感染されたものが見つかると、そのディスクに展開される全ファイルをクリアして再度インストールさせるという構成を採っていることから、ユーザに多大な負荷を強いるという問題点がある。
そして、従来技術では、ウィルスにより感染されていると判断されたファイルをそのままクリアしてしまうことから、どのようなウィルスにより破壊されたのかということを分析できず、これがために、ウィルス対策を検討できないという問題点もあった。
本発明はかかる事情に鑑みてなされたものであって、コンピュータウィルスに適切に対処する機能を持つ装置及び記憶装置の提供と、コンピュータウィルス感染に適切に対処する処理を行うファイル処理技術の提供とを目的とする。
図1に本発明の原理構成を図示する。
図中、1は本発明により構成されるウィルス対応型記憶装置、2はウィルス対応型記憶装置1の格納するファイルを使ってデータ処理を実行するデータ処理装置である。
このウィルス対応型記憶装置1は、ディスク10と、第1の管理手段11と、第2の管理手段12と、ファイル登録手段13と、生成手段14と、ウィルスチェッカ15と、感染テーブル手段16と、テーブル登録手段17と、判断手段18と、禁止手段19と、決定手段20と、復旧手段21と、無効化手段22と、書込手段23と、許可手段24と、実行不可能領域25と、退避手段26と、読出手段27とを備える。ここで、ウィルスチェッカ15は、データ処理装置2に展開されることもある。
ディスク10は、ファイルを格納する。第1の管理手段11は、ディスク10に格納されるファイルのオリジナル情報を管理したり、ウィルスチェッカ15のオリジナル情報を管理する。第2の管理手段12は、ディスク10に格納されるファイルのバージョンアップ情報である変更差分情報と、その変更差分情報の履歴情報とを管理したり、ウィルスチェッカ15のバージョンアップ情報である変更差分情報と、その変更差分情報の履歴情報とを管理する。
この第1の管理手段11は、ファイルやウィルスチェッカ15のオリジナル情報が書き換えられるのを防ぐために、オリジナル情報を符号化して管理することがあり、また、第2の管理手段12は、ファイルやウィルスチェッカ15の変更差分情報が書き換えられるのを防ぐために、変更差分情報を符号化して管理することがある。このときには、これらの符号化データを復元する復元手段と、その復元手段の逆変換処理を実行する符号手段が備えられる。
ファイル登録手段13は、第1の管理手段11の管理するファイルのオリジナル情報と、第2の管理手段12の管理するファイルの変更差分情報とをマージすることでファイルを生成してディスク10に格納する。生成手段14は、第1の管理手段11の管理するウィルスチェッカ15のオリジナル情報と、第2の管理手段12の管理するウィルスチェッカ15の変更差分情報とをマージすることでウィルスチェッカ15を生成する。
ウィルスチェッカ15は、規定の周期に従って起動されたり、コマンド指示に応答して起動されて、ディスク10に格納されるファイルがウィルスに感染されているのか否かを検出する。感染テーブル手段16は、ディスク10に格納されるファイルがウィルスに感染されているのか否かということを管理する。テーブル登録手段17は、感染テーブル手段16にデータを登録する。判断手段18は、データ処理装置2からディスク10に格納されるファイルの使用要求があるときに、感染テーブル手段16を参照することで、そのファイルがウィルスに感染されているのか否かを判断する。禁止手段19は、判断手段18がウィルスに感染されたファイルであることを判断するときに、そのファイルの使用を禁止する。
決定手段20は、感染テーブル手段16に登録されるファイルについて、対話処理に従ってその使用を許可するのか否かを決定する。復旧手段21は、感染テーブル手段16に登録されるウィルス感染のファイルをディスク10から削除するとともに、ファイル登録手段13を起動することで、そのファイルを復旧してディスク10に登録する。無効化手段22は、ディスク10に格納されるシステム立ち上げ領域に対しての書込要求が発行されるときに、その書込要求を無効化する。書込手段23は、専用の書込機能として用意されて、ディスク10に格納されるシステム立ち上げ領域に対しての書込処理を実行する。
許可手段24は、対話処理に従って、ディスク10に格納される実行形式のファイルに対しての書込要求を許可するのか否かを決定する。実行不可能領域25は、通常のアクセス要求ではアクセスできない領域として用意される。退避手段26は、感染テーブル手段16に登録されるウィルス感染のファイルと、そのファイルのウィルス情報とを実行不可能領域25に退避させる。読出手段27は、実行不可能領域25へのアクセスを許可する許可情報が与えられることを条件にして、実行不可能領域25に退避された情報を読み出す。
このように構成される本発明のウィルス対応型記憶装置では、テーブル登録手段17は、ウィルスチェッカ15により検出されるウィルス感染のファイルを感染テーブル手段16に登録する。
更に、テーブル登録手段17は、ウィルスチェッカ15で検出できない新種や悪種や変種のウィルスに対処するために、ディスク10に格納されるシステム立ち上げ領域に対しての書込要求が発行されるときには、正規のファイルがそのような書込要求を発行することがないことに対応させて、ディスク10に格納されるその書込要求発行元のファイルがウィルスに感染されていると判断して感染テーブル手段16にその旨を登録する。このとき、無効化手段22は、この書込要求が発行されるときに、この書込要求を無効化するが、書込手段23が備えられるときにあって、この書込要求がその書込手段23の使用を指定するものであるときには、この書込要求を無効化しないように処理することになる。
また、テーブル登録手段17は、ディスク10に格納される実行形式ファイルに対しての書込要求が発行されるときには、正規のファイルが通常そのような書込要求を発行することがないことに対応させて、ディスク10に格納されるその書込要求発行元のファイルがウィルスに感染されていると判断して感染テーブル手段16にその旨を登録する。このとき、許可手段24は、対話処理に従って、この書込要求を許可するのか否かを決定する。そして、許可手段24が書込要求を許可するときには、書き換えられることに対応させて、テーブル登録手段17は、ディスク10に格納されるその書込要求先のファイルについてもウィルスに感染されていると判断して感染テーブル手段16にその旨を登録するように処理することになる。
また、テーブル登録手段17は、ファイルのサイズが実行により変化するときには、ディスク10に格納されるそのファイルがウィルスに感染されていると判断して感染テーブル手段16にその旨を登録する。
また、テーブル登録手段17は、ディスク10に格納されるファイルがファイル名から実行形式であることが判断されるにもかかわらず、データ形式のものとして申請されているときには、ディスク10に格納されるそのファイルがウィルスに感染されていると判断して感染テーブル手段16にその旨を登録する。
また、テーブル登録手段17は、ディスク10に格納されるものの、第1の管理手段11にオリジナル情報が登録されていないとともに、第2の管理手段12に変更差分情報が登録されていないファイルについては、ディスク10に格納されるそのファイルがウィルスに感染されていると判断して感染テーブル手段16にその旨を登録する。
このようにして、感染テーブル手段16にウィルス感染のファイルが登録されるときにあって、データ処理装置2からディスク10に格納されるファイルの使用要求があると、判断手段18は、感染テーブル手段16を参照することで、その使用要求のファイルがウィルスに感染されているのか否かを判断し、この判断結果を受けて、禁止手段19は、判断手段18によりウィルス感染と判断されたファイルについてはその使用を禁止する。このとき、禁止手段19は、決定手段20により使用が許可されるファイルについては、その使用を禁止していかないように処理する。
そして、退避手段26は、この使用の禁止されるウィルス感染のファイルと、そのファイルのウィルス情報とを安易にアクセスできない実行不可能領域25に退避させ、読出手段27は、実行不可能領域25へのアクセスを許可する許可情報が与えられることを条件にして、この退避された情報を実行不可能領域25から読み出してウィルス分析用として出力するように処理する。
一方、復旧手段21は、感染テーブル手段16に登録されるウィルス感染のファイルをディスク10から削除するとともに、ファイル登録手段13を起動することで、そのファイルを復旧してディスク10に登録する。
このように、本発明のウィルス対応型記憶装置1では、ウィルス感染を積極的に防止しつつ、ウィルス感染されたファイルについては、その使用を禁止していくとともに自動的に復旧させ、更に、ウィルス感染情報を安易にアクセスできないようにしながら保存する構成を採ることから、ウィルス感染に適切に対処できる記憶装置を構築できるようになる。
次に、本発明の構成について更に詳細に説明する。
(1)本発明を備える装置は、ウィルス感染に対処するために、記憶装置から、ウィルスを含んだファイルを検出するウィルスチェッカと、前記ウィルスチェッカによって検出された前記ファイルを別の符号データに変換する変換部と、前記変換された符号データを前記記憶装置の特定領域に退避する退避部とを備える。
(2)本発明を備える装置では、(1)の構成を採るときにあって、前記特定領域が、ウィルスを含んだファイルをウィルスを含んでいないファイルから隔離する領域であることがある。
(3)本発明を備える装置では、(1)〜(2)の構成を採るときにあって、前記変換部が、前記ウィルスを含んだファイルを実行不可能状態にすることがある。
(4)本発明の備える装置では、(1)〜(3)の構成を採るときにあって、前記変換された符号データを管理する管理部をさらに備えることがある。
(5)本発明を備える装置では、(4)の構成を採るときにあって、前記管理部が、前記変換された符号データを削除することがある。
(6)本発明を備える記憶装置は、ウィルス感染に対処するために、ファイルを格納する記憶部と、前記記憶部から、ウィルスを含んだファイルを検出するウィルスチェッカと、前記ウィルスチェッカによって検出された前記ファイルを別の符号データに変換する変換部と、前記変換された符号データを前記記憶部の特定領域に退避する退避部とを備える。
(7)本発明を備える記憶装置では、(6)の構成を採るときにあって、前記特定領域が、ウィルスを含んだファイルをウィルスを含んでいないファイルから隔離する領域であることがある。
(8)本発明を備える記憶装置では、(6)〜(7)の構成を採るときにあって、前記変換部が、前記ウィルスを含んだファイルを実行不可能状態にすることがある。
(9)本発明を備える記憶装置では、(6)〜(8)の構成を採るときにあって、前記変換された符号データを管理する管理部をさらに備えることがある。
(10)本発明を備える記憶装置では、(9)の構成を採るときにあって、前記管理部が、前記変換された符号データを削除することがある。
(11)本発明のファイル処理方法は、ウィルス感染に対処するために、ファイルを記憶する記憶装置のファイル処理方法において、前記ファイルを前記記憶装置から読み出して、ファイルがウィルスに感染していないかチェックするステップと、前記チェックするステップにおいて検出されたウィルス感染ファイルを別の符号データに変換する変換ステップと、前記変換された符号データを前記記憶装置の特定領域に格納する格納ステップとを備える。
(12)本発明のファイル処理方法では、(11)の構成を採るときにあって、前記特定領域が、ウィルス感染ファイルをウィルスを含んでいないファイルから隔離する領域であることがある。
(13)本発明のファイル処理方法では、(11)〜(12)の構成を採るときにあって、前記変換ステップが、前記ウィルス感染ファイルを実行不可能状態にすることがある。
(14)本発明のファイル処理方法では、(11)〜(13)の構成を採るときにあって、前記変換された符号データを管理する管理ステップをさらに備えることがある。
(15)本発明のファイル処理方法では、(14)の構成を採るときにあって、前記管理ステップが、前記変換された符号データを削除するステップを含むことがある。
以上説明したように、本発明では、ウィルス感染を積極的に防止しつつ、ウィルス感染されたファイルについては、その使用を禁止していくとともに自動的に復旧させ、更に、ウィルス感染情報を安易にアクセスできないようにしながら保存する構成を採ることから、ウィルス感染に適切に対処できるようになる。
以下、実施の形態に従って本発明を詳細に説明する。
図2に、本発明のウィルス対応型記憶装置1の一実施形態例を図示する。
この実施形態例に示すウィルス対応型記憶装置1は、パーソナルコンピュータ2aに接続されるものであって、パーソナルコンピュータ2aのアクセス対象となるファイルを格納するディスク30の他に、アクセス処理・ウィルス対策処理を実行するファームウェア等を格納するROM31と、ROM31に格納されるファームウェアを実行するとともに、パーソナルコンピュータ2aとの間のやり取りを実行するCPU32と、CPU32の実行するファームウェアの作業領域として用意されるRAM33とを備えることでCPU機能を持つ。
更に、ディスク30に格納されるファイルのオリジナル情報や、ディスクに格納されるファイルの検査用に用意されるウィルスチェッカのオリジナル情報を管理するオリジナル情報管理ファイル34と、ディスク30に格納されるファイルの変更差分情報と、その履歴情報とを管理するとともに、ウィルスチェッカの変更差分情報と、その履歴情報とを管理するバージョンアップ情報管理ファイル35と、ディスク30に格納されるファイルや、オリジナル情報管理ファイル34に格納されるオリジナル情報や、バージョンアップ情報管理ファイル35に格納される変更差分情報がウィルスに感染されているのか否かということと、これらの管理対象のファイルが実行形式のものなのかデータ形式のものなのかということと、これらの管理対象のファイルがブート領域やIPL領域のものであるのか否かということを管理するファイル情報管理ファイル36と、パスワード及びIDが一致するときにのみアクセス可能になる領域として用意されて、ウィルスに感染されたファイルや、そのファイルのウィルス情報を退避する図3に示すようなデータ構造を持つ実行不可能領域37とを持つ。ここで、バージョンアップ情報管理ファイル35が履歴情報を管理するのは、最新の変更差分情報がどれであるのかを知ることができるようにするためである。
そして、これに加えて、ディスク30に格納されるファイルをアクセスしたり、オリジナル情報管理ファイル34の管理するオリジナル情報をアクセスしたり、バージョンアップ情報管理ファイル35の管理する変更差分情報や履歴情報をアクセスしたり、実行不可能領域37の退避情報をアクセスするコントローラ38を備える。
ここで、オリジナル情報管理ファイル34及びバージョンアップ情報管理ファイル35は、単純な差分構成に従ってオリジナル情報と変更差分情報とを管理する構成を採るのではなくて、親子関係を持った継承関係を使ってオリジナル情報と変更差分情報とを管理する構成を採ることもある。
なお、この図2の実施形態例では、ウィルス対応型記憶装置1がパーソナルコンピュータ2aに接続されるものを示したが、図4に示すように、LANに接続されることもある。そして、この図2の実施形態例では、オリジナル情報管理ファイル34と、バージョンアップ情報管理ファイル35とを別ファイルとするものを示したが、図5や図6に示すように、同一ファイルで構成することもある。そして、この図2の実施形態例では、ウィルス対応型記憶装置1がパーソナルコンピュータ2aの外部に備えられる構成を示したが、図7や図8に示すように、パーソナルコンピュータ2aの内部に備えられることもある。
本発明のウィルス対応型記憶装置1では、上述したように、オリジナル情報管理ファイル34とバージョンアップ情報管理ファイル35とを備える構成を採っている。
これは、ディスク30に格納されるファイルのオリジナル情報をオリジナル情報管理ファイル34に格納するとともに、そのファイルがバージョンアップされるときには、そのバージョンアップの変更差分情報と、その履歴情報とをバージョンアップ情報管理ファイル35に格納する構成を採って、ディスク30に格納されるファイルがウィルス感染されるときには、そのファイルのオリジナル情報と差分変更情報とをマージすることでそのファイルを復旧できるようにするためである。また、ファイルのオリジナル情報と、ファイルの変更差分情報とをディスク30に展開しないことで、これらがウィルスに感染されるのを防ぐためである。
そして、ディスクに格納されるファイルの検査用に用意されるウィルスチェッカもまた、バージョンアップしていくという性質があることから、このウィルスチェッカのオリジナル情報をオリジナル情報管理ファイル34に格納するとともに、そのバージョンアップの変更差分情報と、その履歴情報とをバージョンアップ情報管理ファイル35に格納することで、ウィルスチェッカを管理するという構成を採っている。
なお、オリジナル情報管理ファイル34とバージョンアップ情報管理ファイル35とを同一媒体上に構築すると、ファイルやウィルスチェッカのオリジナル情報と、ファイルやウィルスチェッカの変更差分情報と、その変更差分情報の履歴情報とを統合管理できることになって実用上便利である。更に、これに加えて、ディスク30や実行不可能領域37についてもその媒体上に構築してもよい。
オリジナル情報管理ファイル34に格納されるファイルやウィルスチェッカのオリジナル情報と、バージョンアップ情報管理ファイル35に格納されるファイルやウィルスチェッカの変更差分情報及び履歴情報は、パーソナルコンピュータ2a側から書き換えられてはならないものである。
これから、ウィルス対応型記憶装置1は、オリジナル情報管理ファイル34に格納されるファイルやウィルスチェッカのオリジナル情報と、バージョンアップ情報管理ファイル35に格納されるファイルやウィルスチェッカの変更差分情報/履歴情報を符号化しておくとともに、その符号データを復元する復元機構を用意する構成を採って、図9に示すように、その復元機構により復元されたファイルやウィルスチェッカのオリジナル情報と、その復元機構により復元されたファイルやウィルスチェッカの変更差分情報とをマージすることで、ファイルやウィルスチェッカを生成していくという構成を採っている。そして、この復元機構の逆変換処理を実行する符号機構を用意する構成を採って、図10に示すように、その符号機構により符号化されたファイルやウィルスチェッカのオリジナル情報をオリジナル情報管理ファイル34に格納するとともに、その符号機構により符号化されたファイルやウィルスチェッカの変更差分情報/履歴情報をバージョンアップ情報管理ファイル35に格納する構成を採っている。
この符号機構や復元機構は、具体的には、ウィルス対応型記憶装置1のROM31に格納されるファームウェアが実現するものであって、この機構を実現するために、図11に示すように、このROM31には、オリジナル情報や変更差分情報や履歴情報を符号化するための変換テーブルと、符号化されたオリジナル情報や変更差分情報や履歴情報を復元するための変換テーブルが格納されることになる。
更に、本発明のウィルス対応型記憶装置1では、上述したように、ファイル情報管理ファイル36を備える構成を採っている。
このファイル情報管理ファイル36は、ディスク30に格納されるファイルや、オリジナル情報管理ファイル34に格納されるオリジナル情報や、バージョンアップ情報管理ファイル35に格納される変更差分情報がウィルスに感染されているのか否かということと、これらの管理対象のファイルが実行形式のものなのかデータ形式のものなのかということと、これらの管理対象のファイルがブート領域やIPL領域のものであるのか否かということを管理する。
図12に、このファイル情報管理ファイル36のデータ構造の一実施形態例を図示する。ここで、この実施形態例では、ディスク30に格納されるブート領域やIPL領域に書き込みを行うファイルはウィルスに感染されているものと判断するとともに、ディスク30に格納される実行形式のファイルに書き込みを行うファイルはウィルスに感染されているものと判断することを想定している。正規のファイルは、前者の書き込み動作を行うことはないし、また、通常、後者の書き込み動作を行うこともないからである。
すなわち、ファイル情報管理ファイル36は、図12に示すように、管理対象ファイルのファイル名と、そのファイルのアドレス位置と、そのファイルが実行形式であるのかデータ形式であるのかを記録する実行/データフラグ域と、そのファイルがブート領域やIPL領域であるのか否かを記録する立ち上げ部フラグ域と、ウィルスチェッカにより検出されるそのファイルのウィルス感染の有無を記録する感染フラグ(1)と、ブート領域やIPL領域に対しての書込動作により判断されるそのファイルのウィルス感染の有無を記録する感染フラグ(2)と、実行形式ファイルに対しての書込動作により判断されるそのファイルのウィルス感染の有無を記録する感染フラグ(3)と、オリジナル情報管理ファイル34に格納されるオリジナル情報のウィルス感染の有無を記録する感染フラグ(4)と、バージョンアップ情報管理ファイル35に格納される変更差分情報のウィルス感染の有無を記録する感染フラグ(5)とを管理することで、上述の情報を管理する構成を採るのである。なお、オリジナル情報管理ファイル34に格納されるオリジナル情報のウィルス感染の有無と、バージョンアップ情報管理ファイル35に格納される変更差分情報のウィルス感染の有無は、ウィルスチェッカや、ブート領域やIPL領域や実行形式ファイルに対しての書込動作により判断されることになる。
なお、図中では、感染フラグの識別符号となる(1)〜(5)について、丸印の中に数字を記載したもので表している。
ここで、実行/データフラグ域には、実行形式のときに“1”、データ形式のときに“0”がセットされ、立ち上げ部フラグ域には、ブート領域やIPL領域のときに“1”、そうでないときに“0”がセットされ、感染フラグ(1)(2)には、ウィルスに感染されているときに“1”、ウィルスに感染されていないときに“0”がセットされ、感染フラグ(3)には、ウィルス感染の疑いがあるときに“1”、ウィルス感染の疑いがないときに“0”がセットされ、感染フラグ(4)(5)には、ウィルスに感染されているときと、ウィルス感染の疑いがあるときに“1”、ウィルスに感染されていないときと、ウィルス感染の疑いがないときに“0”がセットされることになる。
図13ないし図22に、このように構成されるウィルス対応型記憶装置1の実行する処理フローを図示する。次に、これらの処理フローに従って、本発明のウィルス対応型記憶装置1の動作処理について詳細に説明する。
ウィルス対応型記憶装置1は、起動されると、図13の処理フローに示すように、実行不可能領域37の持つ感染ファイル格納域及びウィルス情報格納域(図3に示した格納域)を初期化してから、実行不可能領域37にアクセスするためのID及びパスワードの登録を行うことで初期化処理を実行する。
一方、ウィルス対応型記憶装置1は、オリジナル情報管理ファイル34に対して購入したファイルのオリジナル情報を登録するときや、バージョンアップ情報管理ファイル35に対してそのファイルの変更差分情報を登録するときには、オリジナル情報管理ファイル34に格納されるウィルスチェッカのオリジナル情報と、バージョンアップ情報管理ファイル35に格納されるウィルスチェッカの最新の変更差分情報とをマージすることでウィルスチェッカを生成してRAM33に展開する。
そして、図14の処理フローに示すように、この生成したウィルスチェッカを使って、登録するファイル(オリジナル情報/変更差分情報)がウィルス感染されているのか否かを検査して、ウィルス感染されていることを判断するときには、そのウィルス感染されたファイルと、そのファイルの持つウィルス情報とを実行不可能領域37に退避させてから、登録元のパーソナルコンピュータ2aに対してウィルス感染による使用禁止を通知する。
一方、ウィルス感染されていないことを判断するときには、そのファイルを登録先のオリジナル情報管理ファイル34/バージョンアップ情報管理ファイル35に格納し、履歴情報を作成してそれをバージョンアップ情報管理ファイル35に格納してから、そのファイル(登録ファイルが変更差分情報であるときには、オリジナル情報とマージしたファイル)をディスク30に展開するとともに、ファイル情報管理ファイル36にデータを登録する。
このようにして、オリジナル情報管理ファイル34にウィルスに感染されていないファイルのオリジナル情報が登録されるとともに、バージョンアップ情報管理ファイル35にウィルスに感染されていないファイルの変更差分情報が登録され、そして、それらをマージしたウィルスに感染されていないファイルがディスク30に展開されることになる。ここで、ウィルスチェッカを予めディスク30に格納しておかないで、ウィルス感染のチェック処理に入るときに生成していく構成を採ったのは、ウィルスチェッカ自身に対してのウィルス感染を防止するためである。
なお、この図14の処理フローでは、オリジナル情報管理ファイル34に登録するファイルのオリジナル情報がウィルスに感染されていないことを確認するとともに、バージョンアップ情報管理ファイル35に登録するファイルの変更差分情報がウィルスに感染されていないことを確認する構成を採ったが、オリジナル情報と変更差分情報とをマージすることでディスク30に展開されるファイルは、後述する処理に従ってウィルスに感染されているのか否かが検出される構成が採られるので、この確認処理は絶対必要という訳ではない。また、この図14の処理フローの説明にあたって、ウィルス対応型記憶装置1がウィルスチェッカを動作させていく構成を採ったが、パーソルナルコンピュータ2aが動作させていく構成を採ってもよい。
上述したように、本発明では、ディスク30に格納されるブート領域やIPL領域に書き込みを行うファイルはウィルスに感染されているものと判断する構成を採っている。正規のファイルは、このような書き込み動作を行うことはないからである。
後述するように、本発明では、ウィルスに感染されているファイルの実行を禁止する構成を採っていることから、ブート領域やIPL領域に書き込みを行うファイルはその実行が禁止されることになる。しかし、これでは、ブートやIPLの登録ができないということになってしまう。そこで、本発明では、ブートやIPLの登録を指示する特定のコマンドが発行されるときには、その登録を許容するという構成を採っている。
すなわち、ウィルス対応型記憶装置1は、ブートやIPLの登録を指示する特定のコマンドが発行されるときには、図15の処理フローに示すように、オリジナル情報管理ファイル34に登録要求のあるブート/IPLを登録してから、そのブート/IPLをRAM33に取り出すとともにディスク30に格納し、そして、そのディスク30への格納に合わせて、ファイル情報管理ファイル36の立ち上げ部フラグ域に“1”を記録することでブート/IPLであることを登録し、実行/データフラグ域に“1”を記録することで実行形式であることを登録し、感染フラグ(1)〜(5)に“0”を記録することでウィルスに感染されていないことを登録するのである。
次に、ウィルス対応型記憶装置1の実行するウィルス感染ファイルの検出処理について説明する。この検出処理は、ウィルスチェッカを使って実行する場合と、書込先ファイルのファイル属性を判断することで実行する場合という2種類がある。図16及び図17に、ウィルスチェッカを使って実行するウィルス感染ファイルの検出処理の処理フロー、図18に、書込先ファイルのファイル属性を判断することで実行するウィルス感染ファイルの検出処理の処理フローを図示する。
ウィルス対応型記憶装置1は、ウィルスチェッカを使ってウィルス感染ファイルを検出する場合には、図16及び図17の処理フローに示すように、先ず最初に、ステップ1で、ウィルス感染ファイルの検出周期に到達することを待って、この検出周期に到達することを判断すると、ステップ2に進んで、オリジナル情報管理ファイル34に格納されるウィルスチェッカのオリジナル情報と、バージョンアップ情報管理ファイル35に格納されるウィルスチェッカの最新の変更差分情報とをマージすることで最新のウィルスチェッカを生成してRAM33に展開する。
続いて、ステップ3で、ディスク30のファイルの中から未処理のものを1つ取り出し、続くステップ4で、生成したウィルスチェッカを使って、この取り出したファイルがウィルスに感染されているのか否かのチェックを行う。このチェック処理に従って、ウィルスに感染されていることを判断するときには、ステップ5に進んで、そのファイルの指すファイル情報管理ファイル36の感染フラグ(1)に“1”を記録することで、そのファイルがウィルスに感染されていることを登録し、一方、ウィルスに感染されていないことを判断するときには、ステップ6に進んで、その感染フラグ(1)に“0”を記録することで、そのファイルがウィルスに感染されていないことを登録する。
続いて、ステップ7で、ディスク30に格納されるファイルの全てについて処理を終了したのか否かを判断して、未処理のファイルが残されていることを判断するときには、ステップ3に戻り、未処理のファイルが残されていないことを判断するときには、ステップ8に進んで、オリジナル情報管理ファイル34に格納されるオリジナル情報と、バージョンアップ情報管理ファイル35に格納される変更差分情報についてもウィルスチェックを行うモードに設定されているのか否かを判断して、ウィルスチェックを行うモードに設定されていないことを判断するときには、ステップ1に戻る。
一方、オリジナル情報管理ファイル34に格納されるオリジナル情報と、バージョンアップ情報管理ファイル35に格納される変更差分情報についてもウィルスチェックを行うモードに設定されていることを判断するときには、ステップ9に進んで、それらのオリジナル情報/変更差分情報内の1つをワークにしてRAM33に展開し、続くステップ10で、生成したウィルスチェッカを使って、このワークに展開したファイルがウィルスに感染されているのか否かのチェックを行う。なお、このオリジナル情報/変更差分情報に対してのウィルスチェックは、新種のウィルスの出現に対処するために行われる。
このチェック処理に従って、ウィルスに感染されていないことを判断するときには、ステップ11に進んで、そのファイルの指すファイル情報管理ファイル36の感染フラグ(4)(5)に“0”を記録することで、そのファイルがウィルスに感染されていないことを登録する。一方、ウィルスに感染されていることを判断するときには、ステップ12に進んで、そのファイルの指すファイル情報管理ファイル36の感染フラグ(4)(5)に“1”を記録することで、そのオリジナル情報がウィルスに感染されていることを登録する。
そして、続くステップ13で、全てのオリジナル情報/変更差分情報について処理を終了したのか否かを判断して、未処理のファイルが残されていることを判断するときには、ステップ9に戻り、未処理のファイルが残されていないことを判断するときには、ステップ1に戻っていく。
このようにして、ウィルス対応型記憶装置1は、ウィルスチェッカを使って、周期的に、ディスク30に格納されるファイルや、オリジナル情報管理ファイル34に格納されるオリジナル情報や、バージョンアップ情報管理ファイル35に格納される変更差分情報がウィルスに感染されているのか否かをチェックして、その結果をファイル情報管理ファイル36の感染フラグ(1)(4)(5)に登録していくのである。
なお、この図16及び図17の処理フローでは、規定の周期に従ってウィルスチェッカを起動していく構成を採ったが、パーソナルコンピュータ2aからのコマンド発行を受けて、ウィルスチェッカを起動していく構成を採ってもよい。また、この図16及び図17の処理フローでは、ウィルス対応型記憶装置1がウィルスチェッカを動作させていく構成を採ったが、パーソナルコンピュータ2aが動作させていく構成を採ってもよい。
一方、ウィルス対応型記憶装置1は、書込先ファイルのファイル属性を判断することでウィルス感染ファイルを検出する場合には、パーソナルコンピュータ2aからディスク30に格納されるファイルへの書込要求(この書込要求は、ディスク30からパーソナルコンピュータ2aにローディングされたファイルが発行する)が発行されると、図18の処理フローに示すように、先ず最初に、ステップ1で、ファイル情報管理ファイル36の立ち上げ部フラグ域のフラグ値を参照することで、その書込先のファイルがブート領域/IPL領域であるのか否かを判断する。
このステップ1の判断処理に従って、書込先のファイルがブート領域/IPL領域であることを判断するときには、ステップ2に進んで、その書込要求を発行したファイルがウィルスに感染されていることを判断して、そのファイルの指すファイル情報管理ファイル36の感染フラグ(2)に“1”を記録することで、そのファイルがウィルスに感染されていることを登録し、続くステップ3で、パーソルナルコンピュータ2aに対して、書込要求を行っているファイルがウィルスに感染されたファイルであることを通知してから、書込処理を行わずにそのまま処理を終了する。
一方、ステップ1で、書込先のファイルがブート領域/IPL領域でないことを判断するときには、ステップ4に進んで、ファイル情報管理ファイル36の実行/データフラグ域のフラグ値を参照することで、その書込先のファイルが実行形式のファイルであるのかデータ形式のファイルであるのかを判断し、データ形式のファイルであることを判断するときには、続くステップ5で、そのファイルに対しての書込処理を実行して処理を終了する。
一方、ステップ4で、書込先のファイルが実行形式のファイルであることを判断するときには、その書込要求を発行したファイルがウィルスに感染されている可能性が高いことを判断して、ステップ6に進んで、その旨を通知しつつ、パーソルナルコンピュータ2aに対して書き込みを行うか否かのメッセージを出力して、それに対しての応答を受け取る。
そして、このステップ6で、パーソルナルコンピュータ2aからの応答が書き込みを指示しないものであることを判断するときには、ステップ7に進んで、その書込要求を発行したファイルの指すファイル情報管理ファイル36の感染フラグ(3)に“1”を記録することで、そのファイルがウィルスに感染されていることを登録して処理を終了する。
ここで、書込要求元のファイルが自分自身に書き込むときにも、そのファイルの指すファイル情報管理ファイル36の感染フラグ(3)に“1”を記録することになるが、これは、実行形式のファイルに書き込む動作を行うファイルは、ウィルスに感染されている可能性が高いという理由の他に、本発明では、ファイルのバージョンアップは、バージョンアップ情報管理ファイル35に変更差分情報を登録していくことで実行するという構成を採っており、この手順を踏まないバージョンアップは違法であるという構成を採っていることにその理由がある。
一方、ステップ6で、パーソルナルコンピュータ2aからの応答が書き込みを指示するものであることを判断するときには、書込要求元のファイルがウィルスに感染されている可能性が高いにもかかわらず、それでも構わないことを指示しているので、ステップ8に進んで、書込先のファイルに対しての書込処理を実行してから、続くステップ9で、書込元ファイルと書込先ファイルの指すファイル情報管理ファイル36の感染フラグ(3)に“1”を記録することで、それらのファイルがウィルスに感染されていることを登録して処理を終了する。
このようにして、ウィルス対応型記憶装置1は、ディスク30に格納されるファイルへの書込要求が発行されるときに、書込先のファイルがブート領域やIPL領域や実行形式のファイルであるときには、書込要求元のファイルがウィルスに感染されていると判断して、それをファイル情報管理ファイル36の感染フラグ(2)(3)に登録していくのである。そして、書込先のファイルがブート領域やIPL領域であるときには、その書込処理を実行しないように処理するとともに、書込先のファイルが実行形式のファイルであるときには、対話処理に従ってその書込処理を実行するのか否かを決定していくとともに、書込処理を実行する場合には、書込先のファイルについてもウィルスに感染されることになると判断して、その旨をファイル情報管理ファイル36の感染フラグ(3)に登録していくのである。
次に、ウィルス対応型記憶装置1の実行するウィルス感染ファイルに対しての処理について説明する。
ウィルス対応型記憶装置1は、パーソナルコンピュータ2aからディスク30に格納されるファイル(実行ファイル)のローディング要求があると、図19の処理フローに示すように、ファイル情報管理ファイル36の感染フラグ(1)(2)(3)を参照することで、そのローディング要求のあるファイルがウィルスに感染されているのか否かをチェックして、ウィルスに感染されていないことを判断するときには、そのファイルをパーソナルコンピュータ2aにローディングすることで実行に入ることを指示し、一方、ウィルスに感染されていることを判断するときには、そのファイルのローディングを拒絶することで、そのファイルが実行されることを防止する。
このように、ウィルス対応型記憶装置1は、ファイル情報管理ファイル36に登録されるウィルス感染のファイルについては実行しないように制御するのである。従って、ウィルスチェッカによりウィルス感染の検出されたファイルについては、一度も実行されることがないし、ウィルスチェッカのチェック処理を逃れ、書込先ファイルのファイル属性によりウィルス感染の検出されたファイルについては、再度実行されることがなくなって、ウィルスの増殖を確実に防止できるのである。
なお、この図19の処理フローでは、ウィルスに感染されるものについては、一律に実行を拒絶していく構成を採ったが、ウィルスに似たパターンでプログラムが作成されていることもあるし、ウィルスチェッカの検査ミスもあることから、パーソナルコンピュータ2aと対話することで、その実行の拒絶を解除していくか否かを決定していく構成を採ってもよい。
一方、ウィルス対応型記憶装置1は、パーソナルコンピュータ2aから、ディスク30に格納されるウィルス感染ファイルの復旧を指示するコマンドが発行されると、図20の処理フローに示すように、先ず最初に、ステップ1で、ファイル情報管理ファイル36の感染フラグ(1)(2)(3)を参照することで、ウィルスに感染されたファイルを1つ取り出して、そのファイルをディスク30から削除する。続いて、ステップ2で、ファイル情報管理ファイル36から、その削除ファイルのデータを削除する。
続いて、ステップ3で、ファイル情報管理ファイル36の感染フラグ(4)を参照しつつ、オリジナル情報管理ファイル34から、ウィルスに感染されていないそのファイルのオリジナル情報を読み出すとともに、ファイル情報管理ファイル36の感染フラグ(5)を参照しつつ、オリジナル情報管理ファイル34から、ウィルスに感染されていないそのファイルの最新の差分変更情報を読み出して、それらをマージすることで削除したファイルを復旧してディスク30に展開する。続いて、ステップ4で、ファイル情報管理ファイル36に、その復旧ファイルのデータを登録してから、続くステップ5で、未処理のウィルス感染ファイルが残っているのか否かを判断して、残っていないときには処理を終了し、残っているときにはステップ1に戻っていく。
このように、ウィルス対応型記憶装置1は、ウィルスに感染されたファイルをディスク30から削除していくとともに、そのファイルのオリジナル情報と変更差分情報とからウィルスに感染されていないものを復旧してディスク30に展開していくように処理するのである。
なお、この図20の処理フローでは、パーソナルコンピュータ2aからウィルス感染ファイルの復旧コマンドが発行されるときに、ウィルス感染ファイルの復旧を実行していく構成を採ったが、規定の周期に到達するときに、この処理を実行することで、ウィルス感染ファイルの復旧を実行していく構成を採ってもよい。この構成を採ると、パーソナルコンピュータ2aと関係なく自律的にウィルスに感染されたファイルを復旧できるようになる。また、この図20の処理フローでは、ウィルス感染されていない最新の差分変更情報を使って、ウィルス感染されたファイルを一番新しいものに復旧していく構成を採ったが、パーソナルコンピュータ2aから指示のある履歴情報の指す変更差分情報を使って復旧していく構成を採ってもよい。
この図20の処理フローに従う場合、ウィルス対応型記憶装置1は、ウィルスに感染されたファイルをウィルスに感染されないものに復旧していく処理を実行するが、このとき、図21の処理フローに示すように、そのウィルスに感染されたファイルと、そのウィルス感染ファイルの持つウィルス情報とを実行不可能領域37に退避させていく構成を採ることも可能である。
すなわち、ウィルス対応型記憶装置1は、図21の処理フローに従う場合には、パーソナルコンピュータ2aから、ディスク30に格納されるウィルス感染ファイルの復旧を指示するコマンドが発行されると、先ず最初に、ステップ1で、ファイル情報管理ファイル36の感染フラグ(1)(2)(3)を参照することで、ウィルスに感染されたファイルを1つ取り出す。続いて、ステップ2で、予め展開したウィルスチェッカを使って、その取り出したウィルス感染ファイルの持つウィルス情報を特定する。続いて、ステップ3で、その取り出したウィルス感染ファイルと、ステップ2で特定してウィルス情報とを実行不可能領域37に退避する。続いて、ステップ4で、その取り出したウィルス感染ファイルをディスク30から削除する。
続いて、ステップ5で、ファイル情報管理ファイル36から、その削除ファイルのデータを削除する。続いて、ステップ6で、ファイル情報管理ファイル36の感染フラグ(4)を参照しつつ、オリジナル情報管理ファイル34から、ウィルスに感染されていないそのファイルのオリジナル情報を読み出すとともに、ファイル情報管理ファイル36の感染フラグ(5)を参照しつつ、オリジナル情報管理ファイル34から、ウィルスに感染されていないそのファイルの最新の差分変更情報を読み出して、それらをマージすることで削除したファイルを復旧してディスク30に展開する。続いて、ステップ7で、ファイル情報管理ファイル36に、その復旧ファイルのデータを登録してから、続くステップ8で、未処理のウィルス感染ファイルが残っているのか否かを判断して、残っていないときには処理を終了し、残っているときにはステップ1に戻っていく。
このように、ウィルス対応型記憶装置1は、ウィルスに感染されたファイルをディスク30から削除していくとともに、そのファイルのオリジナル情報と変更差分情報とからウィルスに感染されていないものを復旧してディスク30に展開していくときにあって、ウィルスに感染されたファイルと、それが持つウィルス情報とを実行不可能領域37に退避していくように処理するのである。
このようにして実行不可能領域37に退避されたウィルス感染ファイルと、それが持つウィルス情報とは、侵入してきたウィルスの分析に極めて有用な情報となる。しかしながら、このような有用な情報を誰でもがアクセスできるようにしてしまうと、誤って書き換えられる危険性がある。
そこで、ウィルス対応型記憶装置1は、パーソナルコンピュータ2aから、実行不可能領域37の退避情報の読み出しを指示するコマンドが発行されると、図22の処理フローに示すように、先ず最初に、図13の処理フローで登録したID及びパスワードの入力を要求し、その要求に応答して入力されるID及びパスワードが図13の処理フローで登録したものと一致するのか否かを照合して、両者が一致することを条件にして、実行不可能領域37に退避されるウィルス感染ファイル及びウィルス情報を読み出してパーソナルコンピュータ2aに出力する。そして、パーソナルコンピュータ2aから、その取り出したウィルス感染ファイル及びウィルス情報の削除要求が発行されるときには、それを削除していく処理を実行する。
このように、ウィルス対応型記憶装置1は、ID及びパスワードが一致することを条件として、実行不可能領域37に退避されるウィルス感染ファイル及びウィルス情報を読み出していくように処理するのである。
なお、この図22の処理フローでは、パーソナルコンピュータ2aから実行不可能領域37の読出コマンドが発行されるときに、実行不可能領域37の退避情報を読み出していく構成を採ったが、規定の周期に到達するときに、この処理を実行することで実行不可能領域37の退避情報を読み出していく構成を採ってもよい。また、一層の機密性を保つために、実行不可能領域37に退避されるウィルス感染ファイル及びウィルス情報を符号データに変換する符号機構を用意して、その符号機構の生成する符号データを実行不可能領域37に格納するとともに、その符号機構の逆変換処理を実行する復元機構を用意して、その復元機構を介して、実行不可能領域37に退避されるウィルス感染ファイル及びウィルス情報を読み出していくようにしてもよい。
このようにして、本発明のウィルス対応型記憶装置1では、図23に示すように、ウィルスチェッカ40(パーソナルコンピュータ2aで実行される場合や、ウィルス対応型記憶装置1で実行される場合がある)がディスク30に展開されるファイルがウィルスに感染されているのか否かをチェックすると、そのチェック結果を受け取ってファイル情報管理ファイル36に登録することで、ファイル情報管理ファイル36でもって、ディスク30に展開されるファイルがウィルスに感染されているのか否かを管理する構成を採って、図24に示すように、パーソナルコンピュータ2aを介して、ディスク30に展開されるファイルの使用要求があると、ファイル情報管理ファイル36を参照することで、その使用要求のあるファイルがウィルスに感染されているか否かを判断して、ウィルスに感染されている場合には、その使用を禁止する措置を採ることで、ウィルスの増殖の防止を実現するのである。
ここで、図23及び図24中、41はファイル情報管理ファイル36にデータを登録したり、ファイル情報管理ファイル36のデータを参照する管理ファイル登録参照機構である。また、ウィルスチェッカ40をウィルス対応型記憶装置1で実行する構成を採ると、パーソナルコンピュータ2aの動作と並行してウィルス感染のチェック処理を実行できるようになるとともに、夜間等を利用してウィルス感染のチェック処理を実行できるようになる。また、ウィルスチェッカ40をパーソナルコンピュータ2aで実行する場合には、そのウィルスチェッカ40をウィルス型記憶装置1からローディングせずに別に用意する構成を採ってもよい。なお、図中の丸付き数値は、処理の順番を表している。
また、本発明のウィルス対応型記憶装置1では、図25に示すように、ファイルのオリジナル情報を符号化して管理するオリジナル情報管理ファイル34と、ファイルの変更差分情報を符号化して管理するバージョンアップ情報管理ファイル35と、これらのオリジナル情報及び変更差分情報の符号化データを復元してマージすることでファイルを生成するファイル生成機構42と、ディスク30に格納されるファイルを削除する削除機構43とを備える構成を採って、使用要求のあるファイルがウィルスに感染されていることを判断するときに、削除機構43を使ってそのウィルス感染ファイルをディスク30から削除するとともに、ファイル生成機構42を使ってそのウィルス感染ファイルをウィルスに感染されていないものに復旧してディスク30に展開する構成を採ることから、最小限のインストール処理によりシステムを運用できるようになる。なお、図中の丸付き数値は、処理の順番を表している。
また、本発明のウィルス対応型記憶装置1では、図26に示すように、ウィルスチェック処理の指示を周期的に発行するタイマ44(図27に示すように、パーソルナルコンピュータ2aに設けられることもある)を設け、更に、オリジナル情報管理ファイル34にウィルスチェッカ40のオリジナル情報の符号データを格納するとともに、バージョンアップ情報管理ファイル35にウィルスチェッカ40の変更差分情報の符号データを格納する構成を採って、タイマ44がウィルスチェック処理の指示を発行すると、ファイル生成機構42がウィルスチェッカ40を生成して、そのようにして生成されるウィルスチェッカ40(パーソナルコンピュータ2aで実行される場合や、ウィルス対応型記憶装置1で実行される場合がある)がディスク30に展開されるファイルがウィルスに感染されているのか否かをチェックして、そのチェック結果をファイル情報管理ファイル36に登録する構成を採ることで、ウィルスチェッカ40に対するウィルス感染を防止しつつ、ウィルスの侵入の防止を実現するのである。なお、図中の丸付き数値は、処理の順番を表している。
また、本発明のウィルス対応型記憶装置1では、図28に示すように、パーソナルコンピュータ2aからの指示に応答してウィルスチェック処理の指示を発行するウィルスチェック起動機構45を設け、更に、オリジナル情報管理ファイル34にウィルスチェッカ40のオリジナル情報の符号データを格納するとともに、バージョンアップ情報管理ファイル35にウィルスチェッカ40の変更差分情報の符号データを格納する構成を採って、ウィルスチェック起動機構45がウィルスチェック処理の指示を発行すると、ファイル生成機構42がウィルスチェッカ40を生成して、そのようにして生成されるウィルスチェッカ40(パーソナルコンピュータ2aで実行される場合や、ウィルス対応型記憶装置1で実行される場合がある)がディスク30に展開されるファイルがウィルスに感染されているのか否かをチェックして、そのチェック結果をファイル情報管理ファイル36に登録する構成を採ることで、ウィルスチェッカ40に対するウィルス感染を防止しつつ、ウィルスの侵入の防止を実現するのである。なお、図中の丸付き数値は、処理の順番を表している。
また、本発明のウィルス対応型記憶装置1では、図29に示すように、ディスク30のブート領域やIPL領域に書き込む専用のシステム書込機構46を設けて、このシステム書込機構46を利用する場合には、ディスク30のブート領域やIPL領域に対しての書込動作を許可する構成を採っている。これは、ディスク30のブート領域やIPL領域に書込動作を行うファイルは、ウィルスに感染されていると判断してその実行を禁止する構成を採っているので、この原則に対しての例外を設けて、正規の書込動作を保証するためである。
以上に説明した実施形態例では、ウィルスチェッカ40により検出されるウィルス感染のファイルの他に、ブート領域やIPL領域や実行形式のファイルに対して書込動作を行うファイルをウィルスに感染されているものと判断していく構成を採ったが、それ以外に、ファイルのサイズが実行により変化するときには、ディスク30に格納されるそのファイルがウィルスに感染されていると判断(例えば周期的に判断する)したり、ディスク30に格納されるファイルがファイル名から実行形式であることが判断されるにもかかわらず、ファイル情報管理ファイル36にはデータ形式のものとして申請されているときには、ディスク30に格納されるそのファイルがウィルスに感染されていると判断(例えば処理開始時に判断する)したり、ディスク30に格納されるものの、オリジナル情報管理ファイル36にオリジナル情報が登録されていないとともに、バージョンアップ情報管理ファイル37に変更差分情報が登録されていないファイルについては、ディスク30に格納されるそのファイルがウィルスに感染されていると判断(周期的とか、ファイルアクセス時等に判断する)していくことで、ウィルス感染の防止を一層確実なものにできるようになる。
ここで、ファイルのサイズが実行により変化するか否かのチェック処理は、例えば、オリジナル情報管理ファイル34に管理されるオリジナル情報と、バージョンアップ情報管理ファイル35に管理される変更差分情報とをマージすることでファイルを生成して、その生成したファイルのサイズと、ディスク30に格納されるファイルのサイズとを比較することで実行することになる。