JP3835421B2 - 制御プログラムおよび制御装置 - Google Patents

制御プログラムおよび制御装置 Download PDF

Info

Publication number
JP3835421B2
JP3835421B2 JP2003092416A JP2003092416A JP3835421B2 JP 3835421 B2 JP3835421 B2 JP 3835421B2 JP 2003092416 A JP2003092416 A JP 2003092416A JP 2003092416 A JP2003092416 A JP 2003092416A JP 3835421 B2 JP3835421 B2 JP 3835421B2
Authority
JP
Japan
Prior art keywords
program
computer
file
control
list
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2003092416A
Other languages
English (en)
Other versions
JP2004302657A (ja
Inventor
巧太郎 金子
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konica Minolta Business Technologies Inc
Original Assignee
Konica Minolta Business Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Konica Minolta Business Technologies Inc filed Critical Konica Minolta Business Technologies Inc
Priority to JP2003092416A priority Critical patent/JP3835421B2/ja
Priority to US10/647,383 priority patent/US8166546B2/en
Publication of JP2004302657A publication Critical patent/JP2004302657A/ja
Application granted granted Critical
Publication of JP3835421B2 publication Critical patent/JP3835421B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Debugging And Monitoring (AREA)
  • Facsimiles In General (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、制御プログラムおよび制御装置に関し、特に、コンピュータウイルスの感染を検知する制御プログラムおよび制御装置に関する。
【0002】
【従来の技術】
コンピュータウイルス(ただし、ワームも含む)の感染を検知し、コンピュータウイルスによる不正なプログラムおよびファイルを削除または隔離するための種々の技術が知られている。
【0003】
たとえば、あるプログラムの正常時の動作仕様または典型動作を記憶しておき、この正常時の動作仕様または典型動作と、現状のプログラムの動作とを比較することによって、コンピュータウイルスの感染を検知する技術が知られている(たとえば、特許文献1参照)。またパーソナルコンピュータなどにおけるファイルサイズまたはリソースの変化からコンピュータウイルスの感染を検知する技術も知られている(たとえば、特許文献2参照)。
【0004】
また、近年では、多機能周辺機器(MFP:Multi-Function Peripheral)などの画像形成装置を制御するための制御装置として、画像形成装置専用に設計されたハードウェアを用いる代わりに、汎用のオペレーティングシステムが搭載されたパーソナルコンピュータを用いる技術が開発されている。このような場合、画像形成装置を制御するための制御装置がコンピュータウイルスに感染するおそれがある。
【0005】
しかしながら、従来の技術は、ウエブの閲覧、文章の作成、電子メールの送信、および表計算などの多様な用途に使用される汎用コンピュータにおけるコンピュータウイルスの感染に対処するためのものである。
【0006】
このため、従来の技術では、入出力されたファイルを監視し、そのファイル中にコンピュータウイルス特有の署名、形式、典型動作などを見つけ出すことで、コンピュータウイルスを検出するものが多い。このような技術では、コンピュータウイルスの感染を検知するためには、コンピュータウイルス特有の署名、形式、典型動作などを大規模なデータベースとして登録しておかなければならず、また、絶えず最新のデータベースに更新する必要があった。この結果、データベースの作成の作業負担が大きくなる。また、大規模なデータベースを用いて多量の比較処理を実行することが必要となるので、コンピュータウイルスを検出する際にCPUへ加わる負荷が増大して、コンピュータの処理能力が低下するおそれがあった。
【0007】
特に、画像形成装置を制御するための制御装置のように用途が限定されている装置に対して、汎用コンピュータ用のコンピュータウイルス対策ソフトウェアを用いる場合には、CPUへ加わる負荷の増大によって、画像形成装置の動作が遅延するおそれもあった。
【0008】
【特許文献1】
特開平9−171460号公報
【特許文献2】
特開平11−161517号公報
【0009】
【発明が解決しようとする課題】
本発明は、以上の問題点を解決するためになされたものである。したがって、本発明の目的は、コンピュータウイルスの感染を検知するためのデータベースの作成の作業負担を軽減することができる制御プログラムおよび制御装置を提供することである。さらに、本発明の目的は、コンピュータウイルスの感染を検知する際にCPUに加えられる負荷を軽減することができる制御プログラムおよび制御装置を提供することである。
【0010】
また、本発明の他の目的は、画像形成装置を制御するための制御装置のように用途が限定されている装置においてコンピュータウイルスの感染の検知および対処を実行するために適した制御プログラムおよび制御装置を提供することである。
【0011】
【課題を解決するための手段】
本発明の上記目的は、下記の手段によって達成される。
【0012】
(1)本発明の制御プログラムは、画像形成装置の制御装置で用いられる制御プログラムであって、前記制御装置で起動されている各プログラムを確認する手順と、起動が確認された各プログラムのなかで、予め設定されている前記画像形成装置を制御するために起動され得る各プログラムの一覧に含まれていないプログラムを、コンピュータウイルスに起因する不正なプログラムと判断する判断手順と、をコンピュータに実行させることを特徴とする。
【0013】
(2)上記の制御プログラムは、さらに、前記不正なプログラムと判断されたプログラムを自動的に削除または隔離する手順をコンピュータに実行させることを特徴とする。
【0015】
)本発明の制御装置は、画像形成装置の制御装置であって、予め設定されている前記画像形成装置を制御するために起動され得る各プログラムの一覧記憶された記憶手段と、前記制御装置で起動されている各プログラムを確認する確認手段と、前記確認手段によって起動が確認された各プログラムのなかで、前記一覧に含まれていないプログラムを、コンピュータウイルスに起因する不正なプログラムと判断する判断手段と、を有することを特徴する。
【0017】
【発明の実施の形態】
以下、図面を参照して、本発明の実施の形態を説明する。
【0018】
図1は、本発明の一実施形態に係る制御装置としてのコンピュータが適用されたネットワークシステムの構成を示すブロック図である。
【0019】
図1に示すネットワークシステムは、多機能周辺機器(MFP:Multi-Function Peripheral)100を有している。MFP100は、制御装置として機能するコンピュータ200と、このコンピュータ200にケーブル500を介して接続される複写機300とから構成されている。
【0020】
コンピュータ200は、たとえば、一般的なパーソナルコンピュータやワークステーションである。好ましくは、コンピュータ200には、汎用のオペレーティングシステム(OS)が搭載されており、複写機300と同一の筐体内に内蔵されている。すなわち、コンピュータ200は、複写機300などの画像形成装置を制御するために用途が限定されているものである。
【0021】
MPF100を構成するコンピュータ200は、ネットワーク600を介して、一般的なコンピュータであるクライアント400と相互に通信可能に接続されている。ネットワーク600は、イーサネット(登録商標)、トークンリング、FDDI等の規格によるLANや、LAN同士を専用線で接続したWAN等からなる。なお、ネットワーク600に接続される機器の種類および台数は、図1に示される例に限定されない。
【0022】
MFP100は、複写機能に加えて、ネットワーク600を介して他の機器、たとえばクライアント400から受信したデータを複写機300で印刷するというネットワークプリンタとしての機能を有する。また、MFP100は、複写機300で原稿を読み取って得た画像データをネットワーク600を介して他の機器、たとえばクライアント400に送信するというネットワークスキャナとしての機能を有する。
【0023】
図2は、図1に示されるコンピュータ200の構成を示すブロック図である。図2に示すように、コンピュータ200は、装置全体の制御および各種演算処理を行うCPU201、プログラムやデータを格納するためのROM202、作業領域として一時的にプログラムやデータを記憶するためのRAM203、各種のプログラムやデータを保存するための外部記憶装置としてのハードディスク204、LANカードなどのネットワークインタフェース205、および複写機300にローカル接続するためのローカルインタフェース206を含み、これらは信号を遣り取りするためのバス207を介して相互に接続されている。
【0024】
なお、コンピュータ200は、上述した構成要素以外の構成要素を含んでいてもよく、あるいは、上述した構成要素のうちの一部が含まれていなくてもよい。
【0025】
ハードディスク204には、オペレーティングシステムのほかに、ウイルススキャンプログラムがインストールされている。ウイルススキャンプログラムは、コンピュータウイルスの感染を検知し、不正なファイルや不正なプログラムを削除または隔離するための制御プログラムである。
【0026】
図3は、コンピュータ200にオペレーティングシステムおよびウイルススキャンプログラムがインストールされたときのプログラムおよびファイルの構成を概念的に示すブロック図である。これらのプログラムは、CPU201によって実行される。
【0027】
図3に示すように、プログラムおよびファイルは、目的とする機能によって、オペレーティングシステム210、ウイルススキャンプログラム220、およびプリントコントロール部230に大別される。
【0028】
オペレーティングシステム210は、一般的なオペレーティングシステムである。オペレーティングシステムのインストールに際して、外部への通信用のプログラム(たとえば、ブラウザやメールソフト)が付随してインストールされていてもよい。
【0029】
プリントコントロール部230は、オペレーティングシステム210と共同して、MFP100への各ジョブの管理を行うプログラムである。
【0030】
ウイルススキャンプログラム220は、複数の機能モジュールを有する。具体的には、ウイルススキャンプログラム220には、パケットモニタ221、ファイルスキャン222、起動プログラム状態スキャン223、およびメッセージ出力224の各モジュールが含まれる。また、これらのモジュールに関連して、各種のパラメータを含む初期設定ファイル225と、データベース240とが設けられている。データベース240には、後述するファイルリスト241および起動プログラム状態リスト242がテーブル形式で記憶されている。また、後述するように不正なデータファイルやプログラムファイルを隔離するための隔離フォルダ226が用意されている。
【0031】
パケットモニタ221は、後述するパケットチェックおよびポートチェックをおこなうためのモジュールである。すなわち、パケットモニタ221によれば、コンピュータ200から外部への通信の頻度が監視されて、コンピュータ200でのコンピュータウイルスの感染が検知される。
【0032】
ファイルスキャン222は、コンピュータ200内、特にハードディスク204上の論理ドライブ内の所定記憶領域に存在する各ファイルを確認し、存在が確認された各ファイルのなかで、ファイルリスト241に含まれていないファイルを、コンピュータウイルスに起因する不正なファイルと判断するためのモジュールである。なお、不正なファイルと判断されたファイルは削除または隔離フォルダ226内に隔離される。
【0033】
起動プログラム状態スキャン223は、コンピュータ200内でCPU201によって実際に起動されている各プログラムを確認し、起動が確認された各プログラムのなかで、起動プログラム状態リスト242に含まれていないプログラムを、コンピュータウイルスに起因する不正なプログラムと判断するためのモジュールである。なお、不正なプログラムと判断されたプログラムは、削除または隔離フォルダ226内に隔離される。
【0034】
メッセージ出力224は、コンピュータ200でのコンピュータウイルスの感染が検知された場合に、コンピュータウイルスの感染を警告するための警告内容を複写機300に印刷させるためのモジュールである。
【0035】
初期設定ファイル225は、各種のパラメータや閾値を予め設定するためのファイルである。また、パケットモニタ221、ファイルスキャン222、および起動プログラム状態スキャン223での処理範囲を特定するための情報も、初期設定ファイル225に含まれている。
【0036】
ファイルリスト241は、MFP100を制御するためにハードディスク204の論理ドライブ上の所定の記憶領域に存在することが必要な各ファイルの一覧である。ファイルリスト241には、各ファイルの名称およびその格納先のディレクトリ情報が含まれており、さらに各ファイルのサイズについての情報が含まれていてもよい。ファイルリスト241は、ファイルスキャン部222の処理で参照される。
【0037】
一方、起動プログラム状態リスト242は、MFP100を制御するために起動され得る各プログラムの一覧である。起動プログラム状態リスト242は、起動プログラム状態スキャン部223の処理で参照される。起動プログラム情報リスト242には、各プログラムの名称(各プログラムの実行ファイルの名称)およびその格納先のディレクトリ情報が含まれており、さらに各プログラムのサイズ(各プログラムの実行ファイルのサイズ)についての情報が含まれていてもよい。
【0038】
なお、ファイルリスト241および起動プログラム状態リスト242は、MFP100などの出荷前に予め設定され、ハードディスク内に記憶されている。
【0039】
次に、図4〜図5を参照して、以上のように構成される制御装置としてのコンピュータ200による処理について説明する。図4および図5のフローチャートに示されるアルゴリズムは、コンピュータ200のハードディスク204に記憶されており、CPU201によって実行される。
【0040】
なお、コンピュータ200による処理は、パケットモニタの処理と、ファイルスキャンおよび起動プログラム状態スキャンの処理とに大別される。図4および図5に示されるフローチャートのステップS101からステップ112までの処理がパケットモニタの処理に対応し、ステップS113からステップS119までの処理がファイルスキャンおよび起動プログラム状態スキャンの処理に対応する。
【0041】
(パケットモニタ処理)
まず、パケットモニタの処理について説明する。最初に、コンピュータ200のネットワークインタフェース205から出力されるパケットの情報が取得される(ステップS101)。一般に、コンピュータ200からの通信は、パケットと呼ばれるデータ伝送単位に分割されて行われる。パケットには、宛先IPアドレスおよび送信元IPアドレスが含まれるIPヘッダの部分、および宛先ポート番号および送信元ポート番号が含まれるTCPヘッダの部分が含まれている。ステップS101では、各パケットにおける宛先IPアドレスが抽出される。
【0042】
続いて、パケットの宛先、具体的には宛先IPアドレスがローカル(自分宛)であるか否かが判断される(ステップS102)。これによって、外部への通信か否かが判断される。パケットの宛先がローカルである場合には(ステップS102:YES)、ステップS101に戻って、パケットの監視が続行される。一方、パケットの宛先がローカルでなく、リモートである場合には(ステップS102:NO)、外部への通信であるとして、ステップS103へ進む。
【0043】
続いて、ステップS104およびステップS105に示されるポートチェックを前回行ってから所定時間(ポーリング時間)が経過しているか否かが判断される(ステップS103)。すなわち、ポートチェックは、一定時間毎に行われる。なお、ポートチェックを連続的に行わないで、ポーリング時間の経過を待って行うのは、ポートチェックを連続的に行うことによってコンピュータ200のCPU201の負荷が高くなることを防止するためである。ポーリング時間が既に経過している場合には(ステップS103:YES)、ステップS104へ進み、ポートチェックの処理を実行する。
【0044】
まず、ポートチェックによる監視対象となる特定の宛先ポートと、第1閾値とが取得される(ステップS104)。なお、対象となる特定の宛先ポート、および第1閾値は、事前に設定されており、初期設定ファイル225に含まれている。
【0045】
具体的には、宛先ポートは、TCP/IPプロトコルで規定されている宛先ポート番号である。宛先ポート番号は、通信相手先のアプリケーションを識別するものであり、HTTPサーバへの通信の場合には80番となり、FTPサーバへの通信の場合には21番となる。
【0046】
続いて、SYN_SENDの数が監視される(ステップ105)。ここで、SYN_SENDとは、TCP/IPプロトコルにしたがってコンピュータ200が外部へ通信しようと試みることにより生じる状態を意味する。より具体的には、コンピュータ200から外部のコンピュータへの接続要求パケット(SYNパケットとも呼ばれる)の送信にともなって生じる状態を意味する。なお、SYN_SENDの状態は、時間の経過や状態の遷移によって消える。SYN_SENDが一時刻で発生している数は、オペレーティングシステム210に設けられた機能などを用いて監視することができる。実際には、特定の宛先ポート番号(本実施の形態では80番。尚、21番であってもよい)を持つ接続要求パケットの送信に伴って生じるSYN_SENDの数が監視される。
【0047】
続いて、確認されたSYN_SENDが一時刻で発生している数を第1閾値と比較する(ステップS106)。SYN_SENDが一時刻で発生している数が第1閾値を超えている場合には(ステップS106:YES)、コンピュータ200でのコンピュータウイルスの感染が検知され、後述するステップS115以下の処理によって、コンピュータウイルスに起因するプログラムが削除または隔離される。一方、SYN_SENDが一時刻で発生している数が第1閾値以下の場合には(ステップS106:NO)、この時点では、コンピュータウイルスの感染が確認されなかったと判断され、ステップS107の処理に進む。
【0048】
以上のステップS104〜ステップS106に示されるポートチェックの処理においては、SYN_SENDの数に応じて、コンピュータウイルスの感染が検知される。
【0049】
一般に、通信を試みた相手先の数が多いほど、SYN_SENDの数が多くなる。また、存在しないIPアドレスや接続を確立できない相手先に対して通信を試みた場合にも、SYN_SENDは生じる。また、このような場合には、状態が遷移するまで時間がかかるので、SYN_SENDの状態が比較的長く継続する。
【0050】
典型的なコンピュータウイルスは、外部のサーバなどのコンピュータへの感染を図るために、無作為のIPアドレスへ通信を試みて、コンピュータウイルス自体を外部のコンピュータへ複製したり、脆弱性を攻撃したりする。したがって、コンピュータウイルスに感染した場合には、SYN_SENDが一時刻で発生している数が増加する。
【0051】
ここで、本実施の形態のコンピュータ200は、複写機300などの画像形成装置を制御するために用途が限定されており、ユーザによる操作や新規のプログラムの導入がなされない。したがって、このコンピュータ200は、外部のコンピュータへ接続要求パケットを送信する必要はなく、通信は、クライアント400側から接続要求パケットを受信することによって開始される。この結果、コンピュータウイルスに感染していない場合には、SYN_SENDが一時刻で発生している数が増加しない。したがって、SYN_SENDの数に応じて、コンピュータウイルスの感染の有無を判断することができる。
【0052】
次に、パケットチェックの処理について説明する。ステップS103で、ポーリング時間が未だ経過していない場合(ステップS103:NO)や、SYN_SENDの数が第1閾値以下である場合には(ステップS106:NO)、ステップS107に進む。
【0053】
まず、取得されたパケットの宛先ポート番号が、パケットチェックによる監視対象となる特定の宛先ポート(本実施の形態では80番である。尚、21番であってもよい)であるかが判断される(ステップS107)。なお、パケットチェックによる監視の対象となる特定の宛先ポートは、事前に設定されており、初期設定ファイル225に含まれている。パケットにおける宛先ポート番号が監視対象となる特定の宛先ポートでない場合には(ステップS107:NO)、このパケットをカウントアップすることなく、ステップS101に戻り、次のパケットの情報が取得される。一方、パケットにおける宛先ポート番号が監視対象となる特定の宛先ポートである場合には(ステップS107:YES)、送信されたパケットの数を数える(ステップS108)。この結果、特定の宛先ポート番号を持つパケットの送信の頻度が監視される。すなわち、単位時間あたりに送信されたパケットの数が監視される。
【0054】
次に、特定の宛先ポート番号を持つパケットの送信の頻度が第2閾値と比較される(ステップS109)。なお、第2閾値は、事前に設定されており、初期設定ファイル225に含まれている。送信の頻度が第2閾値を超えている場合には(ステップS109:YES)、コンピュータ200がコンピュータウイルスに感染しているおそれがある。したがって、ポーリング時間が経過しているか否かにかかわらず、ポートチェックの処理(ステップS110〜ステップS112)を随時に実行する。一方、送信の頻度が第2閾値以下である場合には(ステップS109:NO)、ステップS101の処理に戻る。なお、ステップS110〜ステップS112のポートチェックの処理は、上述したステップS104〜ステップS106の処理と同様であるので、詳しい説明を省略する。
【0055】
以上のとおり、本実施の形態では、コンピュータ200による外部への通信の頻度を監視し、通信の頻度を予め設定されている閾値と比較することによって、コンピュータウイルスの感染を検知する。複数の外部装置(たとえば、Webサーバなど)への通信の頻度が監視され、より具体的には、特定の宛先ポートへ通信した頻度が監視される。
【0056】
本実施の形態では、コンピュータ200による外部への通信の頻度を監視する方法として、ポートチェック(ステップS104〜ステップS106、およびステップS110〜ステップS112を参照)と、パケットチェック(ステップS107〜ステップS109)の双方を用いている。ポートチェックでは、特定の宛先ポート番号をもつ接続要求パケット(SYNパケット)の送信の頻度が監視される。特に、接続要求パケットの送信に伴って生じる状態であるSYN_SENDが一時刻で発生している数を監視することで、複数のサーバなどへの通信した頻度が監視できる。一方、パケットチェックでは、特定の宛先ポート番号を持つパケットを単位時間あたりに送信した数が監視される。
【0057】
ポートチェックの処理では、コンピュータウイルスの感染の有無による違いが明確なSYN_SENDの数を基準に、感染の有無を判断するため、第1閾値の設定が容易であり、感染の有無を最終的に確定する処理に特に適するという長所を有する。しかしながら、ポートチェックの処理では、パケットチェックの処理に比べて、CPU201へ与える負荷が高い。また、SYN_SENDの状態が消えるタイミングとポーリング時間との関係によっては、SYN_SENDの数の増加を確認できないおそれがある。
【0058】
一方、パケットチェックの処理では、ポートチェックの場合と比べて、CPU201の処理能力に与える影響が小さいので、一定時間ごとではなく常に実行することが容易である。また、ポートチェックの場合と異なり、実行するタイミングによらず、パケットの送信の頻度増加を確認しやすい。しかしながら、クライアント400から多量のデータを受信して複写機300で印刷する場合のように、コンピュータウイルスに感染していないにもかかわらず、パケットの送信の頻度が高くなるおそれがある。したがって、第2閾値の設定が難しい場合がある。
【0059】
したがって、図4に示されたように、ポートチェックの処理とパケットチェックの処理とを併用して実行することによって、それぞれの特徴を生かして、CPU201への負荷を高めることなく、確実にコンピュータウイルスの感染の有無を判断することができる。
【0060】
しかしながら、本実施の形態と異なり、パケットチェックまたはポートチェックのどちらか一方を用いて、コンピュータ200から外部への通信の頻度を監視して、コンピュータ200でのコンピュータウイルスの感染を検知してもよい。
【0061】
(ファイルスキャンおよび起動プログラム状態スキャンの処理)
次に、コンピュータ200がコンピュータウイルスに感染していると判断された場合の処理を説明する。本実施の形態では、この場合、ファイルスキャンおよび起動プログラム状態スキャンの処理が実行される。
【0062】
まず、ステップS113〜ステップS116に示されるファイルスキャンの処理について説明する。
【0063】
ファイルスキャンの処理の前提として、ファイルリスト241、すなわち、MFP100を制御するためにコンピュータ200内のハードディスク204の論理ドライブ上の所定の記憶領域(所定のディレクトリ)に存在する必要がある各ファイルの一覧を予め設定し記憶する処理がなされる。MFP100を制御するために必要な各ファイルには、たとえば、オペレーティングシステムおよびプリントコントロールに対応するファイルが該当する。具体的には、コンピュータ200がコンピュータウイルスに感染していない状態で、ファイルリスト241が設定され、記憶される。
【0064】
次に、実際の処理では、初期設定ファイル225を参照して、監視対象となる所定の記憶領域についての情報を取得する(ステップS113)。具体的には、ハードディスク204の論理ドライブ上での所定のディレクトリが所定の記憶領域として予め設定されている。したがて、ステップS113では、たとえば、所定のディレクトリを指定するための情報が取得される。そして、この所定のディレクトリに存在する各ファイルが確認される。さらに、ファイルの拡張子などを用いて、所定の記憶領域をより詳細に指定しておいてもよい。なお、MPF100が印刷ジョブなどを実行する際に印刷データのファイルなどを一時的に記憶するためのディレクトリなどは、所定の記憶領域となるディレクトリからは、除外しておくことが望ましい。
【0065】
続いて、コンピュータ200内のハードディスク204の所定の記憶領域に実際に存在する各ファイルが確認される(ステップS114)。具体的には、指定された所定の記憶領域に対応するディレクトリにある各ファイルの名称が確認される。また、各ファイルのサイズについて確認してもよい。
【0066】
続いて、ステップS114で確認されたファイルのなかで、ファイルリスト241に含まれていないファイルがあるか否かが判断される(ステップS115)。具体的には、ステップS114で確認された各ファイルの名称とファイルリスト241に含まれている各ファイルの名称とが比較される。また、ステップS114で確認された各ファイルのサイズと、ファイルリスト241に含まれている各ファイルのサイズとが比較されてもよい。
【0067】
比較の結果、ステップS114で確認されたファイルの中に、ファイルリスト241に含まれていないファイルがある場合(ステップS115:YES)、このファイルリスト241に含まれていないファイルをコンピュータウイルスに起因する不正なファイルと判断し、ステップS116の処理に進む。一方、ステップS114で確認されたファイルのすべてが、ファイルリスト241に含まれている場合(ステップS115:NO)、ステップS120の処理に進む。
【0068】
続いて、不正なファイルと判断されたファイルが削除され、または、隔離フォルダ226内へ隔離される(ステップS116)。
【0069】
コンピュータウイルスがコンピュータ200内に侵入した場合、コンピュータウイルスによって新たなファイルが作られることが多い。以上のステップS113〜ステップS116に示されるファイルスキャンの処理は、このような症状を検出して、コンピュータウイルスが原因で出現したファイルを見つけ出して除去するものである。
【0070】
ここで、コンピュータ200は、複写機300などの画像形成装置を制御するための制御装置であり、用途が限定されている。したがって、汎用の場合と異なり、ユーザが新規のファイルを作成し、あるいはソフトウェアをインストールするような操作が行われにくい。特に、コンピュータ200が複写機300の同一筐体内に内蔵されている場合には、この傾向が強い。
【0071】
したがって、画像形成装置の制御に必要なファイルリストを作成しておき、このファイルリストに含まれていない新規のファイルが出現した場合は、このファイルはコンピュータウイルスに起因して作成されたものであると判断することができる。このように、用途が限定されているコンピュータ200に対して、ファイルスキャンの処理を適用することで、効率的にコンピュータウイルスに感染したファイルを除去または隔離することができる。
【0072】
次に、ステップS117〜ステップS119に示される起動プログラム状態スキャンの処理について説明する。
【0073】
起動プログラム状態スキャンの処理の前提として、起動プログラム状態スキャンリスト242、すなわち、MFP100を制御するために起動され得る各プログラムの一覧を予め設定し記憶する処理がなされる。MFP100を制御するために起動され得るプログラムには、たとえば、オペレーティングシステムおよびプリントコントロールに対応するプログラムが含まれる。具体的には、コンピュータ200がコンピュータウイルスに感染していない状態で、起動プログラム状態リスト242が設定され、記憶される。
【0074】
まず、コンピュータ200内でCPU201によって実際に起動されている状態にあるプログラムが確認される(ステップS117)。たとえば、オペレーティングシステム210が有する機能を用いて、実際に起動されている状態にあるプログラムが確認される。この結果、実際に起動されている状態にあるすべてのプログラムをリストアップされた状態で確認することができる。具体的には、起動されている状態にあるプログラムの名称やサイズが確認される。
【0075】
続いて、ステップS117で起動が確認されたプログラムのなかで、起動プログラム状態リスト242に含まれていないプログラムがあるか否かが判断される(ステップS118)。具体的には、起動が確認された各プログラムの名称と、起動プログラム状態リスト242に含まれている各プログラムの名称とが比較される。また、起動が確認された各プログラムのサイズと、起動プログラム状態リスト242の各プログラムのサイズとが比較されてもよい。
【0076】
比較の結果、ステップS117で起動が確認されたプログラムの中に、起動プログラム状態リスト242に含まれていないプログラムがある場合(ステップS118:YES)、この起動プログラム状態リスト242に含まれていないプログラムをコンピュータウイルスによる不正なプログラムであると判断し、ステップS119の処理へ進む。一方、ステップS117で起動が確認されたプログラムのすべてが、起動プログラム状態リスト242に含まれている場合(ステップS118:NO)、ステップS120の処理に進む。
【0077】
続いて、不正なプログラムと判断されたプログラムの実行形式のプログラムファイルを削除し、または、隔離フォルダ226内へ隔離する(ステップS119)。
【0078】
コンピュータウイルスがコンピュータ200内に侵入した場合、コンピュータウイルスによって、画像形成装置の制御に無関係なプログラムが実行されることが多い。以上のステップS117〜ステップS119に示される起動プログラム状態スキャンの処理は、このような症状を検出して、コンピュータウイルスが原因で実行されたプログラムを見つけ出し、そのプログラムファイルを除去したり、待避したりするものである。
【0079】
ここで、コンピュータ200は、複写機300などの画像形成装置を制御するための制御装置であり、用途が限定されている。したがって、汎用の場合と異なり、画像形成装置の制御に無関係なプログラムを実行させる操作がユーザによって行われない。特に、コンピュータ200が複写機300の同一筐体内に内蔵されている場合には、この傾向が強い。
【0080】
したがって、画像形成装置を制御するために起動され得るプログラムのリストである起動プログラム状態リストを作成しておき、この起動プログラム状態リストに含まれていないプログラムの起動状態が出現した場合には、このプログラムはコンピュータウイルス自体か、あるいはコンピュータウイルスに起因して実行されているプログラムであると判断することができる。このように、用途が限定されているコンピュータ200に対して、起動プログラム状態スキャンの処理を適用することで、効率的にコンピュータウイルスまたはコンピュータウイルスに感染したプログラムを除去または隔離することができる。
【0081】
最後に、コンピュータウイルスに感染したことを警告するための印刷処理について説明する。換言すれば、この印刷処理は、コンピュータウイルスの感染が検知された場合に、警告内容を、コンピュータ200が制御するMFPに印刷させる処理である。
【0082】
図5のステップS120に示されているように、コンピュータ200がコンピュータウイルスに感染していると判断された場合には、コンピュータ200は、複写機300にウイルスに感染している旨の判断結果を印刷させる。換言すれば、MPF100は、制御装置として自己に内蔵されているコンピュータ200がコンピュータウイルスに感染している旨のメッセージを有する警告文書を自らの印刷機能を用いて印刷することができる。
【0083】
図6に印刷される警告内容の例を示す。なお、警告内容は、たとえば、事前にハードディスク204内に記憶されている画像データに基づいて印刷される。
【0084】
なお、上述した例では、ファイルスキャンの処理(ステップS113〜ステップS116)を実行した後に、起動プログラム状態スキャン(ステップS117〜ステップS119)を実行する場合を説明したが、ファイルスキャンの処理と、起動プログラム状態スキャンの処理とを実行する順番は、この場合に限られない。
【0085】
また、上述した例では、ポートチェック(ステップS104〜ステップS106、およびステップS110〜ステップS112)、および/またはパケットチェック(ステップS107〜ステップS109)によって、コンピュータ200でのコンピュータウイルスの感染が明らかになった場合に限って、ファイルスキャンの処理、および起動プログラム状態スキャンの処理を実行する場合を説明した。このような構成を採用したのは、ファイルスキャンの処理および起動プログラム状態スキャンの処理が、パケットチェックの処理に比べてCPU201に与える負荷が高いことに起因する。すなわち、ファイルスキャンの処理および起動プログラム状態スキャンの処理を定常的に行うことを回避して、CPU201がMFP100を制御する際の処理能力への影響を小さくしている。
【0086】
しかしながら、ポートチェック、およびパケットチェックと無関係に、ファイルスキャンの処理および/または起動プログラム状態スキャンの処理を実行することも可能である。また、ポートチェック、および/またはパケットチェックにより、コンピュータ200でのコンピュータウイルスの感染が明らかになった場合に、ファイルスキャンの処理および/または起動プログラム状態スキャン以外の処理を行うこともできる。たとえば、コンピュータウイルスの感染が明らかになった場合に、警告のみを行ってもよい。
【0087】
以上の説明では、制御装置として、MFP100を制御するためのコンピュータ200を例にとって示したが、本発明はこの場合に限られない。種々の制御装置に対して、本発明を適用することができる。
【0088】
本発明において、制御装置における各種処理を行う手段は、専用のハードウェア回路、またはプログラムされたコンピュータのいずれによっても実現することが可能である。上記プログラムは、例えばフレキシブルディスクやCD−ROMなどのコンピュータ読み取り可能な記録媒体によって提供されてもよいし、インターネット等のネットワークを介してオンラインで提供されてもよい。この場合、コンピュータ読み取り可能な記録媒体に記録されたプログラムは、通常、ハードディスク等の記憶部に転送されて記憶される。また、上記プログラムは、単独のアプリケーションソフトとして提供されてもよいし、装置の一機能としてその装置のソフトウェアに組み込まれてもよい。
【0089】
以上のように本発明の好適な実施の形態を説明したが、本発明の技術的思想を逸脱しない範囲内において、当業者が種々の変更、追加、および省略をすることができることは明らかである。
【0090】
なお、上述した本発明の実施形態には、特許請求の範囲の請求項1〜に記載した発明以外にも、以下の付記1〜に示すような発明が含まれる。
【0092】
[付記] 前記判断手順では、起動が確認された各プログラムの名称と、前記一覧に含まれる各プログラムの名称とが比較されることを特徴とする請求項1に記載の制御プログラム。
【0093】
[付記] 前記判断手順では、起動が確認された各プログラムのサイズと、前記一覧に含まれる各プログラムのサイズとが比較されることを特徴とする請求項1に記載の制御プログラム。
【0096】
[付記] 前記制御装置は、オペレーティングシステムが組み込まれたコンピュータであって、前記画像形成装置と同一の筐体内に内蔵されることを特徴とする請求項1に記載の制御プログラム。
【0097】
[付記] 請求項1乃至請求項、または付記1乃至付記のいずれか一つに記載の制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
【0098】
[付記] さらに、前記不正なプログラムと判断されたプログラムを自動的に削除または隔離する手段を有することを特徴とする請求項に記載の制御装置。
【0100】
[付記] 前記判断手段は、起動が確認された各プログラムの名称と、前記一覧に含まれる各プログラムの名称とを比較することを特徴とする請求項に記載の制御装置。
【0101】
[付記] 前記判断手段は、起動が確認された各プログラムのサイズと、前記一覧に含まれる各プログラムのサイズとを比較することを特徴とする請求項に記載の制御装置。
【0104】
[付記] 前記制御装置は、オペレーティングシステムが組み込まれたコンピュータであって、前記画像形成装置と同一の筐体内に内蔵されることを特徴とする請求項に記載の制御装置。
【0105】
[付記] 画像形成装置の制御装置で用いられる制御方法であって、前記制御装置で起動されている各プログラムを確認するステップと、起動が確認された各プログラムのなかで、予め設定されている前記画像形成装置を制御するために起動され得る各プログラムの一覧に含まれていないプログラムを、コンピュータウイルスに起因する不正なプログラムと判断するステップと、を有することを特徴とする制御方法。
【0107】
【発明の効果】
上述したように、本発明によれば、コンピュータウイルスを検出するためのデータベースの作成の作業負担を軽減し、コンピュータウイルスの検出処理の際における負荷を軽減することができる制御プログラムおよび制御装置を提供することができる。特に、画像形成装置を制御するための制御装置のように用途が限定されている装置に適したコンピュータウイルス対処機能を有する制御プログラムおよび制御装置を提供することができる。
【図面の簡単な説明】
【図1】 本発明の一実施形態に係る制御装置としてのコンピュータが適用されたネットワークシステムの構成を示すブロック図である。
【図2】 図1に示されるコンピュータの構成を示すブロック図である。
【図3】 図1に示されるコンピュータ内のプログラムおよびファイルの構成を概念的に示すブロック図である。
【図4】 図1に示されるコンピュータの処理について説明するためのメインフローチャートである。
【図5】 図4に後続するフローチャートである。
【図6】 図1に示される複写機によって印刷される警告文書の例である。
【符号の説明】
100…MFP、
200…コンピュータ
201…CPU、
202…ROM、
203…RAM、
204…ハードディスク、
205…ネットワークインタフェース、
206…ローカルインタフェース、
210…オペレーティングシステム、
220…ウイルススキャンプログラム、
221…パケットモニタ、
222…ファイルスキャン、
223…起動プログラム状態スキャン、
224…メッセージ出力、
225…初期設定ファイル、
230…プリントコントロール部、
240…データベース、
241…ファイルリスト、
242…起動プログラム状態リスト
300…複写機、
400…クライアント、
500…ケーブル、
600…ネットワーク。

Claims (3)

  1. 画像形成装置の制御装置で用いられる制御プログラムであって、
    前記制御装置で起動されている各プログラムを確認する手順と、
    起動が確認された各プログラムのなかで、予め設定されている前記画像形成装置を制御するために起動され得る各プログラムの一覧に含まれていないプログラムを、コンピュータウイルスに起因する不正なプログラムと判断する判断手順と、をコンピュータに実行させることを特徴とする制御プログラム。
  2. さらに、前記不正なプログラムと判断されたプログラムを自動的に削除または隔離する手順をコンピュータに実行させることを特徴とする請求項1に記載の制御プログラム。
  3. 画像形成装置の制御装置であって、
    予め設定されている前記画像形成装置を制御するために起動され得る各プログラムの一覧記憶された記憶手段と、
    前記制御装置で起動されている各プログラムを確認する確認手段と、
    前記確認手段によって起動が確認された各プログラムのなかで、前記一覧に含まれていないプログラムを、コンピュータウイルスに起因する不正なプログラムと判断する判断手段と、を有することを特徴する制御装置。
JP2003092416A 2003-03-28 2003-03-28 制御プログラムおよび制御装置 Expired - Fee Related JP3835421B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003092416A JP3835421B2 (ja) 2003-03-28 2003-03-28 制御プログラムおよび制御装置
US10/647,383 US8166546B2 (en) 2003-03-28 2003-08-26 Controlling computer program, controlling apparatus, and controlling method for detecting infection by computer virus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003092416A JP3835421B2 (ja) 2003-03-28 2003-03-28 制御プログラムおよび制御装置

Publications (2)

Publication Number Publication Date
JP2004302657A JP2004302657A (ja) 2004-10-28
JP3835421B2 true JP3835421B2 (ja) 2006-10-18

Family

ID=32985356

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003092416A Expired - Fee Related JP3835421B2 (ja) 2003-03-28 2003-03-28 制御プログラムおよび制御装置

Country Status (2)

Country Link
US (1) US8166546B2 (ja)
JP (1) JP3835421B2 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050177720A1 (en) * 2004-02-10 2005-08-11 Seiichi Katano Virus protection for multi-function peripherals
US20050177748A1 (en) * 2004-02-10 2005-08-11 Seiichi Katano Virus protection for multi-function peripherals
US7742398B1 (en) * 2004-04-12 2010-06-22 Azul Systems, Inc. Information redirection
TW200634514A (en) * 2005-03-24 2006-10-01 Farstone Tech Inc Security detection system and methods regarding the same
US7685149B2 (en) * 2005-03-28 2010-03-23 Microsoft Corporation Identifying and removing potentially unwanted software
TW200700982A (en) * 2005-06-21 2007-01-01 Farstone Tech Inc Computer protection system and method thereof
US8272058B2 (en) 2005-07-29 2012-09-18 Bit 9, Inc. Centralized timed analysis in a network security system
US8984636B2 (en) 2005-07-29 2015-03-17 Bit9, Inc. Content extractor and analysis system
US7895651B2 (en) 2005-07-29 2011-02-22 Bit 9, Inc. Content tracking in a network security system
US20070118559A1 (en) * 2005-11-18 2007-05-24 Microsoft Corporation File system filters and transactions
GB2465599B8 (en) * 2008-11-24 2010-11-10 1E Ltd Power management of computers.
JP5232611B2 (ja) * 2008-12-05 2013-07-10 シスメックス株式会社 検体分析装置、検体分析方法及びコンピュータプログラム
CN104077529B (zh) * 2011-10-26 2017-07-28 北京奇虎科技有限公司 展示隔离文件的方法
CN102446252B (zh) * 2011-10-26 2014-08-27 奇智软件(北京)有限公司 一种隔离文件的展示方法和装置
CN104063665B (zh) * 2011-10-26 2017-05-31 北京奇虎科技有限公司 一种隔离文件的展示方法和装置
CN105939381B (zh) * 2016-06-14 2019-10-29 Tcl移动通信科技(宁波)有限公司 一种控制终端自动切换下载文件方式的方法及***
JP7028065B2 (ja) * 2018-05-30 2022-03-02 コニカミノルタ株式会社 画像処理装置、その制御方法、およびプログラム

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5163088A (en) * 1991-03-06 1992-11-10 Locascio Peter Facsimile security system
JPH0823846B2 (ja) 1991-10-11 1996-03-06 清治 村上 コンピュータウィルス侵入防止装置
US5649095A (en) * 1992-03-30 1997-07-15 Cozza; Paul D. Method and apparatus for detecting computer viruses through the use of a scan information cache
JPH07146788A (ja) * 1993-11-22 1995-06-06 Fujitsu Ltd ウイルス診断機構の作成システムと作成方法並びにウイルス診断機構と診断方法
CA2191205A1 (en) * 1994-06-01 1995-12-07 John Schnurer Computer virus trap
US5613002A (en) * 1994-11-21 1997-03-18 International Business Machines Corporation Generic disinfection of programs infected with a computer virus
JP4162099B2 (ja) * 1995-06-02 2008-10-08 富士通株式会社 ウィルス感染に対処する機能を持つ装置及びその記憶装置
US5623600A (en) * 1995-09-26 1997-04-22 Trend Micro, Incorporated Virus detection and removal apparatus for computer networks
JPH11161517A (ja) 1997-11-27 1999-06-18 Meidensha Corp 遠方監視システム
AU4674300A (en) * 1999-05-25 2000-12-12 Motorola, Inc. Pre-verification of applications in mobile computing
GB2351588B (en) * 1999-07-01 2003-09-03 Ibm Security for network-connected vehicles and other network-connected processing environments
US6842861B1 (en) * 2000-03-24 2005-01-11 Networks Associates Technology, Inc. Method and system for detecting viruses on handheld computers
JP4111685B2 (ja) * 2001-03-27 2008-07-02 コニカミノルタビジネステクノロジーズ株式会社 画像処理装置、画像送信方法およびプログラム
US20030048468A1 (en) * 2001-09-07 2003-03-13 Boldon John L. Method of virus filtering for use in peripherals having embedded controller devices
US6636710B2 (en) * 2001-10-17 2003-10-21 Kabushiki Kaisha Toshiba Multi function peripheral having improved power saving function and control method thereof
US7143113B2 (en) * 2001-12-21 2006-11-28 Cybersoft, Inc. Apparatus, methods and articles of manufacture for securing and maintaining computer systems and storage media
US7415726B2 (en) * 2001-12-28 2008-08-19 Mcafee, Inc. Controlling access to suspicious files
US6782217B1 (en) * 2003-02-14 2004-08-24 Kyocera Mita Corporation Image forming device which detects and processes control data on original document
JP3945438B2 (ja) * 2003-03-28 2007-07-18 コニカミノルタビジネステクノロジーズ株式会社 制御プログラムおよび制御装置

Also Published As

Publication number Publication date
US20040193895A1 (en) 2004-09-30
JP2004302657A (ja) 2004-10-28
US8166546B2 (en) 2012-04-24

Similar Documents

Publication Publication Date Title
JP3945438B2 (ja) 制御プログラムおよび制御装置
JP3835421B2 (ja) 制御プログラムおよび制御装置
KR101263329B1 (ko) 네트워크 공격 방어 장치 및 방법, 이를 포함한 패킷 송수신 처리 장치 및 방법
US7752668B2 (en) Network virus activity detecting system, method, and program, and storage medium storing said program
US7080408B1 (en) Delayed-delivery quarantining of network communications having suspicious contents
US8042180B2 (en) Intrusion detection based on amount of network traffic
US20030065793A1 (en) Anti-virus policy enforcement system and method
US20050125694A1 (en) Security policy update supporting at least one security service provider
JP2005135420A (ja) ホストベースのネットワーク侵入検出システム、方法、およびコンピュータ可読媒体
US20170070518A1 (en) Advanced persistent threat identification
US20070220256A1 (en) Electronic mechanical device
JP2005128792A (ja) 通信装置、プログラムおよび記憶媒体
JP2006262019A (ja) ネットワーク検疫プログラム、該プログラムを記録した記録媒体、ネットワーク検疫方法、およびネットワーク検疫装置
JP2006243878A (ja) 不正アクセス検知システム
JP2008054204A (ja) 接続装置及び端末装置及びデータ確認プログラム
JP2007323428A (ja) ボット検出装置、ボット検出方法、およびプログラム
JP2005193590A (ja) 印刷装置
JPH11110211A (ja) コンピュータシステム及びコンピュータウィルス対抗方法並びにコンピュータウィルス対抗プログラムが記録された記録媒体
JP2004259060A (ja) データ受信方法及び画像形成装置
US20130247191A1 (en) System, method, and computer program product for performing a remedial action with respect to a first device utilizing a second device
JP2008178100A (ja) コンピュータネットワークをパケットフラッド(flood)から保護するための方法及びシステム
JP4922620B2 (ja) ネットワークシステム
JP2022039045A (ja) 通信装置、制御方法、プログラム
JP2020047113A (ja) 障害検出装置、障害検出方法及び障害検出プログラム
JP7492886B2 (ja) 通信制御システムおよび情報処理装置

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20040907

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20040908

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060411

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060612

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060704

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060717

R150 Certificate of patent or registration of utility model

Ref document number: 3835421

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100804

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110804

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110804

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120804

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130804

Year of fee payment: 7

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees