(57)【要約】【課題】コンピュータウイルスの感染を検知するためのデータベースの作成の作業負担を軽減し、コンピュータウイルの感染を検知する際における、負荷を軽減する。【解決手段】コンピュータ２００は、ＭＰＦ１００を制御するために起動され得る各プログラムの一覧を予め記憶しており、コンピュータ２００で起動されている各プログラムを確認し、起動が確認された各プログラムのなかで、前記一覧に含まれていないプログラムを、コンピュータウイルスに起因する不正なプログラムと判断する。【選択図】            図１
2004302657.tif 000002
【特許請求の範囲】
【請求項１】
画像形成装置の制御装置で用いられる制御プログラムであって、
前記制御装置で起動されている各プログラムを確認する手順と、
起動が確認された各プログラムのなかで、予め設定されている前記画像形成装置を制御するために起動され得る各プログラムの一覧に含まれていないプログラムを、コンピュータウイルスに起因する不正なプログラムと判断する判断手順と、をコンピュータに実行させることを特徴とする制御プログラム。
【請求項２】
さらに、前記不正なプログラムと判断されたプログラムを自動的に削除または隔離する手順をコンピュータに実行させることを特徴とする請求項１に記載の制御プログラム。
【請求項３】
画像形成装置の制御装置で用いられる制御プログラムであって、
前記制御装置内の所定の記憶領域に実際に存在する各ファイルを確認する手順と、
存在が確認された各ファイルのなかで、予め設定されている前記画像形成装置を制御するために前記制御装置内の所定の記憶領域に存在することが必要な各ファイルの一覧に含まれていないファイルを、コンピュータウイルスに起因する不正なファイルと判断する判断手順と、をコンピュータに実行させることを特徴とする制御プログラム。
【請求項４】
画像形成装置の制御装置であって、
前記画像形成装置を制御するために起動され得る各プログラムの一覧を予め記憶する記憶手段と、
前記制御装置で起動されている各プログラムを確認する確認手段と、
前記確認手段によって起動が確認された各プログラムのなかで、前記一覧に含まれていないプログラムを、コンピュータウイルスに起因する不正なプログラムと判断する判断手段と、を有することを特徴する制御装置。
【請求項５】
画像形成装置の制御装置であって、
前記画像形成装置を制御するために前記制御装置内の所定の記憶領域に存在することが必要な各ファイルの一覧を予め記憶する記憶手段と、
前記所定の記憶領域に実際に存在する各ファイルを確認する確認手段と、
前記確認手段によって存在が確認されたファイルのなかで、前記一覧に含まれていないファイルをコンピュータウイルスに起因する不正なファイルと判断する判断手段と、を有することを特徴とする制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、制御プログラムおよび制御装置に関し、特に、コンピュータウイルスの感染を検知する制御プログラムおよび制御装置に関する。
【０００２】
【従来の技術】
コンピュータウイルス（ただし、ワームも含む）の感染を検知し、コンピュータウイルスによる不正なプログラムおよびファイルを削除または隔離するための種々の技術が知られている。
【０００３】
たとえば、あるプログラムの正常時の動作仕様または典型動作を記憶しておき、この正常時の動作仕様または典型動作と、現状のプログラムの動作とを比較することによって、コンピュータウイルスの感染を検知する技術が知られている（たとえば、特許文献１参照）。またパーソナルコンピュータなどにおけるファイルサイズまたはリソースの変化からコンピュータウイルスの感染を検知する技術も知られている（たとえば、特許文献２参照）。
【０００４】
また、近年では、多機能周辺機器（ＭＦＰ：Ｍｕｌｔｉ−Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）などの画像形成装置を制御するための制御装置として、画像形成装置専用に設計されたハードウェアを用いる代わりに、汎用のオペレーティングシステムが搭載されたパーソナルコンピュータを用いる技術が開発されている。このような場合、画像形成装置を制御するための制御装置がコンピュータウイルスに感染するおそれがある。
【０００５】
しかしながら、従来の技術は、ウエブの閲覧、文章の作成、電子メールの送信、および表計算などの多様な用途に使用される汎用コンピュータにおけるコンピュータウイルスの感染に対処するためのものである。
【０００６】
このため、従来の技術では、入出力されたファイルを監視し、そのファイル中にコンピュータウイルス特有の署名、形式、典型動作などを見つけ出すことで、コンピュータウイルスを検出するものが多い。このような技術では、コンピュータウイルスの感染を検知するためには、コンピュータウイルス特有の署名、形式、典型動作などを大規模なデータベースとして登録しておかなければならず、また、絶えず最新のデータベースに更新する必要があった。この結果、データベースの作成の作業負担が大きくなる。また、大規模なデータベースを用いて多量の比較処理を実行することが必要となるので、コンピュータウイルスを検出する際にＣＰＵへ加わる負荷が増大して、コンピュータの処理能力が低下するおそれがあった。
【０００７】
特に、画像形成装置を制御するための制御装置のように用途が限定されている装置に対して、汎用コンピュータ用のコンピュータウイルス対策ソフトウェアを用いる場合には、ＣＰＵへ加わる負荷の増大によって、画像形成装置の動作が遅延するおそれもあった。
【０００８】
【特許文献１】
特開平９−１７１４６０号公報
【特許文献２】
特開平１１−１６１５１７号公報
【０００９】
【発明が解決しようとする課題】
本発明は、以上の問題点を解決するためになされたものである。したがって、本発明の目的は、コンピュータウイルスの感染を検知するためのデータベースの作成の作業負担を軽減することができる制御プログラムおよび制御装置を提供することである。さらに、本発明の目的は、コンピュータウイルスの感染を検知する際にＣＰＵに加えられる負荷を軽減することができる制御プログラムおよび制御装置を提供することである。
【００１０】
また、本発明の他の目的は、画像形成装置を制御するための制御装置のように用途が限定されている装置においてコンピュータウイルスの感染の検知および対処を実行するために適した制御プログラムおよび制御装置を提供することである。
【００１１】
【課題を解決するための手段】
本発明の上記目的は、下記の手段によって達成される。
【００１２】
（１）本発明の制御プログラムは、画像形成装置の制御装置で用いられる制御プログラムであって、前記制御装置で起動されている各プログラムを確認する手順と、起動が確認された各プログラムのなかで、予め設定されている前記画像形成装置を制御するために起動され得る各プログラムの一覧に含まれていないプログラムを、コンピュータウイルスに起因する不正なプログラムと判断する判断手順と、をコンピュータに実行させることを特徴とする。
【００１３】
（２）上記の制御プログラムは、さらに、前記不正なプログラムと判断されたプログラムを自動的に削除または隔離する手順をコンピュータに実行させることを特徴とする。
【００１４】
（３）本発明の制御プログラムは、画像形成装置の制御装置で用いられる制御プログラムであって、前記制御装置内の所定の記憶領域に実際に存在する各ファイルを確認する手順と、存在が確認された各ファイルのなかで、予め設定されている前記画像形成装置を制御するために前記制御装置内の所定の記憶領域に存在することが必要な各ファイルの一覧に含まれていないファイルを、コンピュータウイルスに起因する不正なファイルと判断する判断手順と、をコンピュータに実行させることを特徴とする。
【００１５】
（４）本発明の制御装置は、画像形成装置の制御装置であって、前記画像形成装置を制御するために起動され得る各プログラムの一覧を予め記憶する記憶手段と、前記制御装置で起動されている各プログラムを確認する確認手段と、前記確認手段によって起動が確認された各プログラムのなかで、前記一覧に含まれていないプログラムを、コンピュータウイルスに起因する不正なプログラムと判断する判断手段と、を有することを特徴する。
【００１６】
（５）本発明の制御装置は、画像形成装置の制御装置であって、前記画像形成装置を制御するために前記制御装置内の所定の記憶領域に存在することが必要な各ファイルの一覧を予め記憶する記憶手段と、前記所定の記憶領域に実際に存在する各ファイルを確認する確認手段と、前記確認手段によって存在が確認されたファイルのなかで、前記一覧に含まれていないファイルをコンピュータウイルスに起因する不正なファイルと判断する判断手段と、を有することを特徴とする。
【００１７】
【発明の実施の形態】
以下、図面を参照して、本発明の実施の形態を説明する。
【００１８】
図１は、本発明の一実施形態に係る制御装置としてのコンピュータが適用されたネットワークシステムの構成を示すブロック図である。
【００１９】
図１に示すネットワークシステムは、多機能周辺機器（ＭＦＰ：Ｍｕｌｔｉ−Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）１００を有している。ＭＦＰ１００は、制御装置として機能するコンピュータ２００と、このコンピュータ２００にケーブル５００を介して接続される複写機３００とから構成されている。
【００２０】
コンピュータ２００は、たとえば、一般的なパーソナルコンピュータやワークステーションである。好ましくは、コンピュータ２００には、汎用のオペレーティングシステム（ＯＳ）が搭載されており、複写機３００と同一の筐体内に内蔵されている。すなわち、コンピュータ２００は、複写機３００などの画像形成装置を制御するために用途が限定されているものである。
【００２１】
ＭＰＦ１００を構成するコンピュータ２００は、ネットワーク６００を介して、一般的なコンピュータであるクライアント４００と相互に通信可能に接続されている。ネットワーク６００は、イーサネット（登録商標）、トークンリング、ＦＤＤＩ等の規格によるＬＡＮや、ＬＡＮ同士を専用線で接続したＷＡＮ等からなる。なお、ネットワーク６００に接続される機器の種類および台数は、図１に示される例に限定されない。
【００２２】
ＭＦＰ１００は、複写機能に加えて、ネットワーク６００を介して他の機器、たとえばクライアント４００から受信したデータを複写機３００で印刷するというネットワークプリンタとしての機能を有する。また、ＭＦＰ１００は、複写機３００で原稿を読み取って得た画像データをネットワーク６００を介して他の機器、たとえばクライアント４００に送信するというネットワークスキャナとしての機能を有する。
【００２３】
図２は、図１に示されるコンピュータ２００の構成を示すブロック図である。図２に示すように、コンピュータ２００は、装置全体の制御および各種演算処理を行うＣＰＵ２０１、プログラムやデータを格納するためのＲＯＭ２０２、作業領域として一時的にプログラムやデータを記憶するためのＲＡＭ２０３、各種のプログラムやデータを保存するための外部記憶装置としてのハードディスク２０４、ＬＡＮカードなどのネットワークインタフェース２０５、および複写機３００にローカル接続するためのローカルインタフェース２０６を含み、これらは信号を遣り取りするためのバス２０７を介して相互に接続されている。
【００２４】
なお、コンピュータ２００は、上述した構成要素以外の構成要素を含んでいてもよく、あるいは、上述した構成要素のうちの一部が含まれていなくてもよい。
【００２５】
ハードディスク２０４には、オペレーティングシステムのほかに、ウイルススキャンプログラムがインストールされている。ウイルススキャンプログラムは、コンピュータウイルスの感染を検知し、不正なファイルや不正なプログラムを削除または隔離するための制御プログラムである。
【００２６】
図３は、コンピュータ２００にオペレーティングシステムおよびウイルススキャンプログラムがインストールされたときのプログラムおよびファイルの構成を概念的に示すブロック図である。これらのプログラムは、ＣＰＵ２０１によって実行される。
【００２７】
図３に示すように、プログラムおよびファイルは、目的とする機能によって、オペレーティングシステム２１０、ウイルススキャンプログラム２２０、およびプリントコントロール部２３０に大別される。
【００２８】
オペレーティングシステム２１０は、一般的なオペレーティングシステムである。オペレーティングシステムのインストールに際して、外部への通信用のプログラム（たとえば、ブラウザやメールソフト）が付随してインストールされていてもよい。
【００２９】
プリントコントロール部２３０は、オペレーティングシステム２１０と共同して、ＭＦＰ１００への各ジョブの管理を行うプログラムである。
【００３０】
ウイルススキャンプログラム２２０は、複数の機能モジュールを有する。具体的には、ウイルススキャンプログラム２２０には、パケットモニタ２２１、ファイルスキャン２２２、起動プログラム状態スキャン２２３、およびメッセージ出力２２４の各モジュールが含まれる。また、これらのモジュールに関連して、各種のパラメータを含む初期設定ファイル２２５と、データベース２４０とが設けられている。データベース２４０には、後述するファイルリスト２４１および起動プログラム状態リスト２４２がテーブル形式で記憶されている。また、後述するように不正なデータファイルやプログラムファイルを隔離するための隔離フォルダ２２６が用意されている。
【００３１】
パケットモニタ２２１は、後述するパケットチェックおよびポートチェックをおこなうためのモジュールである。すなわち、パケットモニタ２２１によれば、コンピュータ２００から外部への通信の頻度が監視されて、コンピュータ２００でのコンピュータウイルスの感染が検知される。
【００３２】
ファイルスキャン２２２は、コンピュータ２００内、特にハードディスク２０４上の論理ドライブ内の所定記憶領域に存在する各ファイルを確認し、存在が確認された各ファイルのなかで、ファイルリスト２４１に含まれていないファイルを、コンピュータウイルスに起因する不正なファイルと判断するためのモジュールである。なお、不正なファイルと判断されたファイルは削除または隔離フォルダ２２６内に隔離される。
【００３３】
起動プログラム状態スキャン２２３は、コンピュータ２００内でＣＰＵ２０１によって実際に起動されている各プログラムを確認し、起動が確認された各プログラムのなかで、起動プログラム状態リスト２４２に含まれていないプログラムを、コンピュータウイルスに起因する不正なプログラムと判断するためのモジュールである。なお、不正なプログラムと判断されたプログラムは、削除または隔離フォルダ２２６内に隔離される。
【００３４】
メッセージ出力２２４は、コンピュータ２００でのコンピュータウイルスの感染が検知された場合に、コンピュータウイルスの感染を警告するための警告内容を複写機３００に印刷させるためのモジュールである。
【００３５】
初期設定ファイル２２５は、各種のパラメータや閾値を予め設定するためのファイルである。また、パケットモニタ２２１、ファイルスキャン２２２、および起動プログラム状態スキャン２２３での処理範囲を特定するための情報も、初期設定ファイル２２５に含まれている。
【００３６】
ファイルリスト２４１は、ＭＦＰ１００を制御するためにハードディスク２０４の論理ドライブ上の所定の記憶領域に存在することが必要な各ファイルの一覧である。ファイルリスト２４１には、各ファイルの名称およびその格納先のディレクトリ情報が含まれており、さらに各ファイルのサイズについての情報が含まれていてもよい。ファイルリスト２４１は、ファイルスキャン部２２２の処理で参照される。
【００３７】
一方、起動プログラム状態リスト２４２は、ＭＦＰ１００を制御するために起動され得る各プログラムの一覧である。起動プログラム状態リスト２４２は、起動プログラム状態スキャン部２２３の処理で参照される。起動プログラム情報リスト２４２には、各プログラムの名称（各プログラムの実行ファイルの名称）およびその格納先のディレクトリ情報が含まれており、さらに各プログラムのサイズ（各プログラムの実行ファイルのサイズ）についての情報が含まれていてもよい。
【００３８】
なお、ファイルリスト２４１および起動プログラム状態リスト２４２は、ＭＦＰ１００などの出荷前に予め設定され、ハードディスク内に記憶されている。
【００３９】
次に、図４〜図５を参照して、以上のように構成される制御装置としてのコンピュータ２００による処理について説明する。図４および図５のフローチャートに示されるアルゴリズムは、コンピュータ２００のハードディスク２０４に記憶されており、ＣＰＵ２０１によって実行される。
【００４０】
なお、コンピュータ２００による処理は、パケットモニタの処理と、ファイルスキャンおよび起動プログラム状態スキャンの処理とに大別される。図４および図５に示されるフローチャートのステップＳ１０１からステップ１１２までの処理がパケットモニタの処理に対応し、ステップＳ１１３からステップＳ１１９までの処理がファイルスキャンおよび起動プログラム状態スキャンの処理に対応する。
【００４１】
（パケットモニタ処理）
まず、パケットモニタの処理について説明する。最初に、コンピュータ２００のネットワークインタフェース２０５から出力されるパケットの情報が取得される（ステップＳ１０１）。一般に、コンピュータ２００からの通信は、パケットと呼ばれるデータ伝送単位に分割されて行われる。パケットには、宛先ＩＰアドレスおよび送信元ＩＰアドレスが含まれるＩＰヘッダの部分、および宛先ポート番号および送信元ポート番号が含まれるＴＣＰヘッダの部分が含まれている。ステップＳ１０１では、各パケットにおける宛先ＩＰアドレスが抽出される。
【００４２】
続いて、パケットの宛先、具体的には宛先ＩＰアドレスがローカル（自分宛）であるか否かが判断される（ステップＳ１０２）。これによって、外部への通信か否かが判断される。パケットの宛先がローカルである場合には（ステップＳ１０２：ＹＥＳ）、ステップＳ１０１に戻って、パケットの監視が続行される。一方、パケットの宛先がローカルでなく、リモートである場合には（ステップＳ１０２：ＮＯ）、外部への通信であるとして、ステップＳ１０３へ進む。
【００４３】
続いて、ステップＳ１０４およびステップＳ１０５に示されるポートチェックを前回行ってから所定時間（ポーリング時間）が経過しているか否かが判断される（ステップＳ１０３）。すなわち、ポートチェックは、一定時間毎に行われる。なお、ポートチェックを連続的に行わないで、ポーリング時間の経過を待って行うのは、ポートチェックを連続的に行うことによってコンピュータ２００のＣＰＵ２０１の負荷が高くなることを防止するためである。ポーリング時間が既に経過している場合には（ステップＳ１０３：ＹＥＳ）、ステップＳ１０４へ進み、ポートチェックの処理を実行する。
【００４４】
まず、ポートチェックによる監視対象となる特定の宛先ポートと、第１閾値とが取得される（ステップＳ１０４）。なお、対象となる特定の宛先ポート、および第１閾値は、事前に設定されており、初期設定ファイル２２５に含まれている。
【００４５】
具体的には、宛先ポートは、ＴＣＰ／ＩＰプロトコルで規定されている宛先ポート番号である。宛先ポート番号は、通信相手先のアプリケーションを識別するものであり、ＨＴＴＰサーバへの通信の場合には８０番となり、ＦＴＰサーバへの通信の場合には２１番となる。
【００４６】
続いて、ＳＹＮ＿ＳＥＮＤの数が監視される（ステップ１０５）。ここで、ＳＹＮ＿ＳＥＮＤとは、ＴＣＰ／ＩＰプロトコルにしたがってコンピュータ２００が外部へ通信しようと試みることにより生じる状態を意味する。より具体的には、コンピュータ２００から外部のコンピュータへの接続要求パケット（ＳＹＮパケットとも呼ばれる）の送信にともなって生じる状態を意味する。なお、ＳＹＮ＿ＳＥＮＤの状態は、時間の経過や状態の遷移によって消える。ＳＹＮ＿ＳＥＮＤが一時刻で発生している数は、オペレーティングシステム２１０に設けられた機能などを用いて監視することができる。実際には、特定の宛先ポート番号（本実施の形態では８０番。尚、２１番であってもよい）を持つ接続要求パケットの送信に伴って生じるＳＹＮ＿ＳＥＮＤの数が監視される。
【００４７】
続いて、確認されたＳＹＮ＿ＳＥＮＤが一時刻で発生している数を第１閾値と比較する（ステップＳ１０６）。ＳＹＮ＿ＳＥＮＤが一時刻で発生している数が第１閾値を超えている場合には（ステップＳ１０６：ＹＥＳ）、コンピュータ２００でのコンピュータウイルスの感染が検知され、後述するステップＳ１１５以下の処理によって、コンピュータウイルスに起因するプログラムが削除または隔離される。一方、ＳＹＮ＿ＳＥＮＤが一時刻で発生している数が第１閾値以下の場合には（ステップＳ１０６：ＮＯ）、この時点では、コンピュータウイルスの感染が確認されなかったと判断され、ステップＳ１０７の処理に進む。
【００４８】
以上のステップＳ１０４〜ステップＳ１０６に示されるポートチェックの処理においては、ＳＹＮ＿ＳＥＮＤの数に応じて、コンピュータウイルスの感染が検知される。
【００４９】
一般に、通信を試みた相手先の数が多いほど、ＳＹＮ＿ＳＥＮＤの数が多くなる。また、存在しないＩＰアドレスや接続を確立できない相手先に対して通信を試みた場合にも、ＳＹＮ＿ＳＥＮＤは生じる。また、このような場合には、状態が遷移するまで時間がかかるので、ＳＹＮ＿ＳＥＮＤの状態が比較的長く継続する。
【００５０】
典型的なコンピュータウイルスは、外部のサーバなどのコンピュータへの感染を図るために、無作為のＩＰアドレスへ通信を試みて、コンピュータウイルス自体を外部のコンピュータへ複製したり、脆弱性を攻撃したりする。したがって、コンピュータウイルスに感染した場合には、ＳＹＮ＿ＳＥＮＤが一時刻で発生している数が増加する。
【００５１】
ここで、本実施の形態のコンピュータ２００は、複写機３００などの画像形成装置を制御するために用途が限定されており、ユーザによる操作や新規のプログラムの導入がなされない。したがって、このコンピュータ２００は、外部のコンピュータへ接続要求パケットを送信する必要はなく、通信は、クライアント４００側から接続要求パケットを受信することによって開始される。この結果、コンピュータウイルスに感染していない場合には、ＳＹＮ＿ＳＥＮＤが一時刻で発生している数が増加しない。したがって、ＳＹＮ＿ＳＥＮＤの数に応じて、コンピュータウイルスの感染の有無を判断することができる。
【００５２】
次に、パケットチェックの処理について説明する。ステップＳ１０３で、ポーリング時間が未だ経過していない場合（ステップＳ１０３：ＮＯ）や、ＳＹＮ＿ＳＥＮＤの数が第１閾値以下である場合には（ステップＳ１０６：ＮＯ）、ステップＳ１０７に進む。
【００５３】
まず、取得されたパケットの宛先ポート番号が、パケットチェックによる監視対象となる特定の宛先ポート（本実施の形態では８０番である。尚、２１番であってもよい）であるかが判断される（ステップＳ１０７）。なお、パケットチェックによる監視の対象となる特定の宛先ポートは、事前に設定されており、初期設定ファイル２２５に含まれている。パケットにおける宛先ポート番号が監視対象となる特定の宛先ポートでない場合には（ステップＳ１０７：ＮＯ）、このパケットをカウントアップすることなく、ステップＳ１０１に戻り、次のパケットの情報が取得される。一方、パケットにおける宛先ポート番号が監視対象となる特定の宛先ポートである場合には（ステップＳ１０７：ＹＥＳ）、送信されたパケットの数を数える（ステップＳ１０８）。この結果、特定の宛先ポート番号を持つパケットの送信の頻度が監視される。すなわち、単位時間あたりに送信されたパケットの数が監視される。
【００５４】
次に、特定の宛先ポート番号を持つパケットの送信の頻度が第２閾値と比較される（ステップＳ１０９）。なお、第２閾値は、事前に設定されており、初期設定ファイル２２５に含まれている。送信の頻度が第２閾値を超えている場合には（ステップＳ１０９：ＹＥＳ）、コンピュータ２００がコンピュータウイルスに感染しているおそれがある。したがって、ポーリング時間が経過しているか否かにかかわらず、ポートチェックの処理（ステップＳ１１０〜ステップＳ１１２）を随時に実行する。一方、送信の頻度が第２閾値以下である場合には（ステップＳ１０９：ＮＯ）、ステップＳ１０１の処理に戻る。なお、ステップＳ１１０〜ステップＳ１１２のポートチェックの処理は、上述したステップＳ１０４〜ステップＳ１０６の処理と同様であるので、詳しい説明を省略する。
【００５５】
以上のとおり、本実施の形態では、コンピュータ２００による外部への通信の頻度を監視し、通信の頻度を予め設定されている閾値と比較することによって、コンピュータウイルスの感染を検知する。複数の外部装置（たとえば、Ｗｅｂサーバなど）への通信の頻度が監視され、より具体的には、特定の宛先ポートへ通信した頻度が監視される。
【００５６】
本実施の形態では、コンピュータ２００による外部への通信の頻度を監視する方法として、ポートチェック（ステップＳ１０４〜ステップＳ１０６、およびステップＳ１１０〜ステップＳ１１２を参照）と、パケットチェック（ステップＳ１０７〜ステップＳ１０９）の双方を用いている。ポートチェックでは、特定の宛先ポート番号をもつ接続要求パケット（ＳＹＮパケット）の送信の頻度が監視される。特に、接続要求パケットの送信に伴って生じる状態であるＳＹＮ＿ＳＥＮＤが一時刻で発生している数を監視することで、複数のサーバなどへの通信した頻度が監視できる。一方、パケットチェックでは、特定の宛先ポート番号を持つパケットを単位時間あたりに送信した数が監視される。
【００５７】
ポートチェックの処理では、コンピュータウイルスの感染の有無による違いが明確なＳＹＮ＿ＳＥＮＤの数を基準に、感染の有無を判断するため、第１閾値の設定が容易であり、感染の有無を最終的に確定する処理に特に適するという長所を有する。しかしながら、ポートチェックの処理では、パケットチェックの処理に比べて、ＣＰＵ２０１へ与える負荷が高い。また、ＳＹＮ＿ＳＥＮＤの状態が消えるタイミングとポーリング時間との関係によっては、ＳＹＮ＿ＳＥＮＤの数の増加を確認できないおそれがある。
【００５８】
一方、パケットチェックの処理では、ポートチェックの場合と比べて、ＣＰＵ２０１の処理能力に与える影響が小さいので、一定時間ごとではなく常に実行することが容易である。また、ポートチェックの場合と異なり、実行するタイミングによらず、パケットの送信の頻度増加を確認しやすい。しかしながら、クライアント４００から多量のデータを受信して複写機３００で印刷する場合のように、コンピュータウイルスに感染していないにもかかわらず、パケットの送信の頻度が高くなるおそれがある。したがって、第２閾値の設定が難しい場合がある。
【００５９】
したがって、図４に示されたように、ポートチェックの処理とパケットチェックの処理とを併用して実行することによって、それぞれの特徴を生かして、ＣＰＵ２０１への負荷を高めることなく、確実にコンピュータウイルスの感染の有無を判断することができる。
【００６０】
しかしながら、本実施の形態と異なり、パケットチェックまたはポートチェックのどちらか一方を用いて、コンピュータ２００から外部への通信の頻度を監視して、コンピュータ２００でのコンピュータウイルスの感染を検知してもよい。
【００６１】
（ファイルスキャンおよび起動プログラム状態スキャンの処理）
次に、コンピュータ２００がコンピュータウイルスに感染していると判断された場合の処理を説明する。本実施の形態では、この場合、ファイルスキャンおよび起動プログラム状態スキャンの処理が実行される。
【００６２】
まず、ステップＳ１１３〜ステップＳ１１６に示されるファイルスキャンの処理について説明する。
【００６３】
ファイルスキャンの処理の前提として、ファイルリスト２４１、すなわち、ＭＦＰ１００を制御するためにコンピュータ２００内のハードディスク２０４の論理ドライブ上の所定の記憶領域（所定のディレクトリ）に存在する必要がある各ファイルの一覧を予め設定し記憶する処理がなされる。ＭＦＰ１００を制御するために必要な各ファイルには、たとえば、オペレーティングシステムおよびプリントコントロールに対応するファイルが該当する。具体的には、コンピュータ２００がコンピュータウイルスに感染していない状態で、ファイルリスト２４１が設定され、記憶される。
【００６４】
次に、実際の処理では、初期設定ファイル２２５を参照して、監視対象となる所定の記憶領域についての情報を取得する（ステップＳ１１３）。具体的には、ハードディスク２０４の論理ドライブ上での所定のディレクトリが所定の記憶領域として予め設定されている。したがて、ステップＳ１１３では、たとえば、所定のディレクトリを指定するための情報が取得される。そして、この所定のディレクトリに存在する各ファイルが確認される。さらに、ファイルの拡張子などを用いて、所定の記憶領域をより詳細に指定しておいてもよい。なお、ＭＰＦ１００が印刷ジョブなどを実行する際に印刷データのファイルなどを一時的に記憶するためのディレクトリなどは、所定の記憶領域となるディレクトリからは、除外しておくことが望ましい。
【００６５】
続いて、コンピュータ２００内のハードディスク２０４の所定の記憶領域に実際に存在する各ファイルが確認される（ステップＳ１１４）。具体的には、指定された所定の記憶領域に対応するディレクトリにある各ファイルの名称が確認される。また、各ファイルのサイズについて確認してもよい。
【００６６】
続いて、ステップＳ１１４で確認されたファイルのなかで、ファイルリスト２４１に含まれていないファイルがあるか否かが判断される（ステップＳ１１５）。具体的には、ステップＳ１１４で確認された各ファイルの名称とファイルリスト２４１に含まれている各ファイルの名称とが比較される。また、ステップＳ１１４で確認された各ファイルのサイズと、ファイルリスト２４１に含まれている各ファイルのサイズとが比較されてもよい。
【００６７】
比較の結果、ステップＳ１１４で確認されたファイルの中に、ファイルリスト２４１に含まれていないファイルがある場合（ステップＳ１１５：ＹＥＳ）、このファイルリスト２４１に含まれていないファイルをコンピュータウイルスに起因する不正なファイルと判断し、ステップＳ１１６の処理に進む。一方、ステップＳ１１４で確認されたファイルのすべてが、ファイルリスト２４１に含まれている場合（ステップＳ１１５：ＮＯ）、ステップＳ１２０の処理に進む。
【００６８】
続いて、不正なファイルと判断されたファイルが削除され、または、隔離フォルダ２２６内へ隔離される（ステップＳ１１６）。
【００６９】
コンピュータウイルスがコンピュータ２００内に侵入した場合、コンピュータウイルスによって新たなファイルが作られることが多い。以上のステップＳ１１３〜ステップＳ１１６に示されるファイルスキャンの処理は、このような症状を検出して、コンピュータウイルスが原因で出現したファイルを見つけ出して除去するものである。
【００７０】
ここで、コンピュータ２００は、複写機３００などの画像形成装置を制御するための制御装置であり、用途が限定されている。したがって、汎用の場合と異なり、ユーザが新規のファイルを作成し、あるいはソフトウェアをインストールするような操作が行われにくい。特に、コンピュータ２００が複写機３００の同一筐体内に内蔵されている場合には、この傾向が強い。
【００７１】
したがって、画像形成装置の制御に必要なファイルリストを作成しておき、このファイルリストに含まれていない新規のファイルが出現した場合は、このファイルはコンピュータウイルスに起因して作成されたものであると判断することができる。このように、用途が限定されているコンピュータ２００に対して、ファイルスキャンの処理を適用することで、効率的にコンピュータウイルスに感染したファイルを除去または隔離することができる。
【００７２】
次に、ステップＳ１１７〜ステップＳ１１９に示される起動プログラム状態スキャンの処理について説明する。
【００７３】
起動プログラム状態スキャンの処理の前提として、起動プログラム状態スキャンリスト２４２、すなわち、ＭＦＰ１００を制御するために起動され得る各プログラムの一覧を予め設定し記憶する処理がなされる。ＭＦＰ１００を制御するために起動され得るプログラムには、たとえば、オペレーティングシステムおよびプリントコントロールに対応するプログラムが含まれる。具体的には、コンピュータ２００がコンピュータウイルスに感染していない状態で、起動プログラム状態リスト２４２が設定され、記憶される。
【００７４】
まず、コンピュータ２００内でＣＰＵ２０１によって実際に起動されている状態にあるプログラムが確認される（ステップＳ１１７）。たとえば、オペレーティングシステム２１０が有する機能を用いて、実際に起動されている状態にあるプログラムが確認される。この結果、実際に起動されている状態にあるすべてのプログラムをリストアップされた状態で確認することができる。具体的には、起動されている状態にあるプログラムの名称やサイズが確認される。
【００７５】
続いて、ステップＳ１１７で起動が確認されたプログラムのなかで、起動プログラム状態リスト２４２に含まれていないプログラムがあるか否かが判断される（ステップＳ１１８）。具体的には、起動が確認された各プログラムの名称と、起動プログラム状態リスト２４２に含まれている各プログラムの名称とが比較される。また、起動が確認された各プログラムのサイズと、起動プログラム状態リスト２４２の各プログラムのサイズとが比較されてもよい。
【００７６】
比較の結果、ステップＳ１１７で起動が確認されたプログラムの中に、起動プログラム状態リスト２４２に含まれていないプログラムがある場合（ステップＳ１１８：ＹＥＳ）、この起動プログラム状態リスト２４２に含まれていないプログラムをコンピュータウイルスによる不正なプログラムであると判断し、ステップＳ１１９の処理へ進む。一方、ステップＳ１１７で起動が確認されたプログラムのすべてが、起動プログラム状態リスト２４２に含まれている場合（ステップＳ１１８：ＮＯ）、ステップＳ１２０の処理に進む。
【００７７】
続いて、不正なプログラムと判断されたプログラムの実行形式のプログラムファイルを削除し、または、隔離フォルダ２２６内へ隔離する（ステップＳ１１９）。
【００７８】
コンピュータウイルスがコンピュータ２００内に侵入した場合、コンピュータウイルスによって、画像形成装置の制御に無関係なプログラムが実行されることが多い。以上のステップＳ１１７〜ステップＳ１１９に示される起動プログラム状態スキャンの処理は、このような症状を検出して、コンピュータウイルスが原因で実行されたプログラムを見つけ出し、そのプログラムファイルを除去したり、待避したりするものである。
【００７９】
ここで、コンピュータ２００は、複写機３００などの画像形成装置を制御するための制御装置であり、用途が限定されている。したがって、汎用の場合と異なり、画像形成装置の制御に無関係なプログラムを実行させる操作がユーザによって行われない。特に、コンピュータ２００が複写機３００の同一筐体内に内蔵されている場合には、この傾向が強い。
【００８０】
したがって、画像形成装置を制御するために起動され得るプログラムのリストである起動プログラム状態リストを作成しておき、この起動プログラム状態リストに含まれていないプログラムの起動状態が出現した場合には、このプログラムはコンピュータウイルス自体か、あるいはコンピュータウイルスに起因して実行されているプログラムであると判断することができる。このように、用途が限定されているコンピュータ２００に対して、起動プログラム状態スキャンの処理を適用することで、効率的にコンピュータウイルスまたはコンピュータウイルスに感染したプログラムを除去または隔離することができる。
【００８１】
最後に、コンピュータウイルスに感染したことを警告するための印刷処理について説明する。換言すれば、この印刷処理は、コンピュータウイルスの感染が検知された場合に、警告内容を、コンピュータ２００が制御するＭＦＰに印刷させる処理である。
【００８２】
図５のステップＳ１２０に示されているように、コンピュータ２００がコンピュータウイルスに感染していると判断された場合には、コンピュータ２００は、複写機３００にウイルスに感染している旨の判断結果を印刷させる。換言すれば、ＭＰＦ１００は、制御装置として自己に内蔵されているコンピュータ２００がコンピュータウイルスに感染している旨のメッセージを有する警告文書を自らの印刷機能を用いて印刷することができる。
【００８３】
図６に印刷される警告内容の例を示す。なお、警告内容は、たとえば、事前にハードディスク２０４内に記憶されている画像データに基づいて印刷される。
【００８４】
なお、上述した例では、ファイルスキャンの処理（ステップＳ１１３〜ステップＳ１１６）を実行した後に、起動プログラム状態スキャン（ステップＳ１１７〜ステップＳ１１９）を実行する場合を説明したが、ファイルスキャンの処理と、起動プログラム状態スキャンの処理とを実行する順番は、この場合に限られない。
【００８５】
また、上述した例では、ポートチェック（ステップＳ１０４〜ステップＳ１０６、およびステップＳ１１０〜ステップＳ１１２）、および／またはパケットチェック（ステップＳ１０７〜ステップＳ１０９）によって、コンピュータ２００でのコンピュータウイルスの感染が明らかになった場合に限って、ファイルスキャンの処理、および起動プログラム状態スキャンの処理を実行する場合を説明した。このような構成を採用したのは、ファイルスキャンの処理および起動プログラム状態スキャンの処理が、パケットチェックの処理に比べてＣＰＵ２０１に与える負荷が高いことに起因する。すなわち、ファイルスキャンの処理および起動プログラム状態スキャンの処理を定常的に行うことを回避して、ＣＰＵ２０１がＭＦＰ１００を制御する際の処理能力への影響を小さくしている。
【００８６】
しかしながら、ポートチェック、およびパケットチェックと無関係に、ファイルスキャンの処理および／または起動プログラム状態スキャンの処理を実行することも可能である。また、ポートチェック、および／またはパケットチェックにより、コンピュータ２００でのコンピュータウイルスの感染が明らかになった場合に、ファイルスキャンの処理および／または起動プログラム状態スキャン以外の処理を行うこともできる。たとえば、コンピュータウイルスの感染が明らかになった場合に、警告のみを行ってもよい。
【００８７】
以上の説明では、制御装置として、ＭＦＰ１００を制御するためのコンピュータ２００を例にとって示したが、本発明はこの場合に限られない。種々の制御装置に対して、本発明を適用することができる。
【００８８】
本発明において、制御装置における各種処理を行う手段は、専用のハードウェア回路、またはプログラムされたコンピュータのいずれによっても実現することが可能である。上記プログラムは、例えばフレキシブルディスクやＣＤ−ＲＯＭなどのコンピュータ読み取り可能な記録媒体によって提供されてもよいし、インターネット等のネットワークを介してオンラインで提供されてもよい。この場合、コンピュータ読み取り可能な記録媒体に記録されたプログラムは、通常、ハードディスク等の記憶部に転送されて記憶される。また、上記プログラムは、単独のアプリケーションソフトとして提供されてもよいし、装置の一機能としてその装置のソフトウェアに組み込まれてもよい。
【００８９】
以上のように本発明の好適な実施の形態を説明したが、本発明の技術的思想を逸脱しない範囲内において、当業者が種々の変更、追加、および省略をすることができることは明らかである。
【００９０】
なお、上述した本発明の実施形態には、特許請求の範囲の請求項１〜５に記載した発明以外にも、以下の付記１〜１６に示すような発明が含まれる。
【００９１】
［付記１］    さらに、前記不正なファイルと判断されたファイルを自動的に削除または隔離する手順をコンピュータに実行させることを特徴とする請求項３に記載の制御プログラム。
【００９２】
［付記２］    前記判断手順では、起動が確認された各プログラムの名称と、前記一覧に含まれる各プログラムの名称とが比較されることを特徴とする請求項１に記載の制御プログラム。
【００９３】
［付記３］    前記判断手順では、起動が確認された各プログラムのサイズと、前記一覧に含まれる各プログラムのサイズとが比較されることを特徴とする請求項１に記載の制御プログラム。
【００９４】
［付記４］    前記判断手順では、存在が確認された各ファイルの名称と、前記一覧に含まれる各ファイルの名称とが比較されることを特徴とする請求項３に記載の制御プログラム。
【００９５】
［付記５］    前記判断手順では、存在が確認された各ファイルのサイズと、前記一覧に含まれる各ファイルのサイズとが比較されることを特徴とする請求項３に記載の制御プログラム。
【００９６】
［付記６］    前記制御装置は、オペレーティングシステムが組み込まれたコンピュータであって、前記画像形成装置と同一の筐体内に内蔵されることを特徴とする請求項１に記載の制御プログラム。
【００９７】
［付記７］    請求項１乃至請求項３、または付記１乃至付記６のいずれか一つに記載の制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
【００９８】
［付記８］    さらに、前記不正なプログラムと判断されたプログラムを自動的に削除または隔離する手段を有することを特徴とする請求項４に記載の制御装置。
【００９９】
［付記９］    さらに、前記不正なファイルと判断されたファイルを自動的に削除または隔離する手段を有することを特徴とする請求項５に記載の制御装置。
【０１００】
［付記１０］    前記判断手段は、起動が確認された各プログラムの名称と、前記一覧に含まれる各プログラムの名称とを比較することを特徴とする請求項４に記載の制御装置。
【０１０１】
［付記１１］    前記判断手段は、起動が確認された各プログラムのサイズと、前記一覧に含まれる各プログラムのサイズとを比較することを特徴とする請求項４に記載の制御装置。
【０１０２】
［付記１２］    前記判断手段は、存在が確認された各ファイルの名称と、前記一覧に含まれる各ファイルの名称とを比較することを特徴とする請求項５に記載の制御装置。
【０１０３】
［付記１３］    前記判断手段は、存在が確認された各ファイルのサイズと、前記一覧に含まれる各ファイルのサイズとを比較することを特徴とする請求項５に記載の制御装置。
【０１０４】
［付記１４］    前記制御装置は、オペレーティングシステムが組み込まれたコンピュータであって、前記画像形成装置と同一の筐体内に内蔵されることを特徴とする請求項４または請求項５に記載の制御装置。
【０１０５】
［付記１５］    画像形成装置の制御装置で用いられる制御方法であって、
前記制御装置で起動されている各プログラムを確認するステップと、
起動が確認された各プログラムのなかで、予め設定されている前記画像形成装置を制御するために起動され得る各プログラムの一覧に含まれていないプログラムを、コンピュータウイルスに起因する不正なプログラムと判断するステップと、を有することを特徴とする制御方法。
【０１０６】
［付記１６］    画像形成装置の制御装置で用いられる制御方法であって、
前記画像形成装置内の所定の記憶領域に実際に存在する各ファイルを確認するステップと、
存在が確認された各ファイルのなかで、予め設定されている前記画像形成装置を制御するために前記制御装置内の所定の記憶領域に存在することが必要な各ファイルの一覧に含まれていないファイルを、コンピュータウイルスに起因する不正なファイルと判断するステップと、を有することを特徴とする制御方法。
【０１０７】
【発明の効果】
上述したように、本発明によれば、コンピュータウイルスを検出するためのデータベースの作成の作業負担を軽減し、コンピュータウイルスの検出処理の際における負荷を軽減することができる制御プログラムおよび制御装置を提供することができる。特に、画像形成装置を制御するための制御装置のように用途が限定されている装置に適したコンピュータウイルス対処機能を有する制御プログラムおよび制御装置を提供することができる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係る制御装置としてのコンピュータが適用されたネットワークシステムの構成を示すブロック図である。
【図２】図１に示されるコンピュータの構成を示すブロック図である。
【図３】図１に示されるコンピュータ内のプログラムおよびファイルの構成を概念的に示すブロック図である。
【図４】図１に示されるコンピュータの処理について説明するためのメインフローチャートである。
【図５】図４に後続するフローチャートである。
【図６】図１に示される複写機によって印刷される警告文書の例である。
【符号の説明】
１００…ＭＦＰ、
２００…コンピュータ
２０１…ＣＰＵ、
２０２…ＲＯＭ、
２０３…ＲＡＭ、
２０４…ハードディスク、
２０５…ネットワークインタフェース、
２０６…ローカルインタフェース、
２１０…オペレーティングシステム、
２２０…ウイルススキャンプログラム、
２２１…パケットモニタ、
２２２…ファイルスキャン、
２２３…起動プログラム状態スキャン、
２２４…メッセージ出力、
２２５…初期設定ファイル、
２３０…プリントコントロール部、
２４０…データベース、
２４１…ファイルリスト、
２４２…起動プログラム状態リスト
３００…複写機、
４００…クライアント、
５００…ケーブル、
６００…ネットワーク。
【図１】
2004302657.tif 000003
【図２】
2004302657.tif 000004
【図３】
2004302657.tif 000005
【図４】
2004302657.tif 000006
【図５】
2004302657.tif 000007
【図６】
2004302657.tif 000008