(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023148285
(43)【公開日】2023-10-13
(54)【発明の名称】情報処理装置、ジョブの実行制御方法及びプログラム
(51)【国際特許分類】
G06F 21/56 20130101AFI20231005BHJP
【FI】
G06F21/56
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2022056219
(22)【出願日】2022-03-30
(71)【出願人】
【識別番号】000005049
【氏名又は名称】シャープ株式会社
(74)【代理人】
【識別番号】100112335
【弁理士】
【氏名又は名称】藤本 英介
(74)【代理人】
【識別番号】100101144
【弁理士】
【氏名又は名称】神田 正義
(74)【代理人】
【識別番号】100101694
【弁理士】
【氏名又は名称】宮尾 明茂
(74)【代理人】
【識別番号】100124774
【弁理士】
【氏名又は名称】馬場 信幸
(72)【発明者】
【氏名】徳永 真悟
(57)【要約】
【課題】パターンマッチングの結果に応じてジョブ対象ファイルを退避及び復元する情報処理装置を提供する。
【解決手段】制御部は、ジョブ対象ファイルに対して行う、パターンファイルに基づく第1のパターンマッチングの結果に応じて、ジョブ対象ファイルをパターンファイルに関連付けて記憶部に退避させる。制御部は、ジョブ対象ファイルに対して行う、更新されたパターンファイルに基づく第2のパターンマッチングの結果に応じて、退避させたジョブ対象ファイルの復元の可否を判定する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
記憶部と制御部とを備え、
前記制御部は、
ジョブ対象ファイルに対して行う、パターンファイルに基づく第1のパターンマッチングの結果に応じて、前記ジョブ対象ファイルを前記パターンファイルに関連付けて前記記憶部に退避させ、
前記ジョブ対象ファイルに対して行う、更新された前記パターンファイルに基づく第2のパターンマッチングの結果に応じて、退避させた前記ジョブ対象ファイルの復元の可否を判定する、
ことを特徴とする情報処理装置。
【請求項2】
前記ジョブとして、互いに異なる複数のジョブを実行可能であり、
前記複数のジョブそれぞれについて個別に前記復元の可否を判定する、
ことを特徴とする、請求項1に記載の情報処理装置。
【請求項3】
前記第1のパターンマッチングがマッチしたとき、前記制御部は、前記ジョブ対象ファイルを前記パターンファイルに関連付けて前記記憶部に退避させ、
前記第2のパターンマッチングがマッチしなかったとき、前記制御部は、退避させた前記ジョブ対象ファイルの復元を可と判定する、
ことを特徴とする、請求項1または2に記載の情報処理装置。
【請求項4】
前記パターンファイルで特定されるマルウェアの安全度が向上したとき、前記制御部は、退避させた前記ジョブ対象ファイルの復元を可と判定することを特徴とする、請求項1から3のいずれか一項に記載の情報処理装置。
【請求項5】
前記制御部は、前記パターンファイルと関連付けて前記記憶部に退避させた前記ジョブ対象ファイルを、あらかじめ定められた条件に従って削除することを特徴とする、請求項1から4のいずれか一項に記載の情報処理装置。
【請求項6】
ジョブ対象ファイルに対して行う、パターンファイルに基づく第1のパターンマッチングの結果に応じて、前記ジョブ対象ファイルを前記パターンファイルに関連付けて記憶装置に退避させ、
前記ジョブ対象ファイルに対して行う、更新された前記パターンファイルに基づく第2のパターンマッチングの結果に応じて、退避させた前記ジョブ対象ファイルの復元の可否を判定する、
ことを特徴とするジョブの実行制御方法。
【請求項7】
ジョブ対象ファイルに対して行う、パターンファイルに基づく第1のパターンマッチングの結果に応じて、前記ジョブ対象ファイルを前記パターンファイルに関連付けて記憶装置に退避させ、
前記ジョブ対象ファイルに対して行う、更新された前記パターンファイルに基づく第2のパターンマッチングの結果に応じて、退避させた前記ジョブ対象ファイルの復元の可否を判定する、
手段としてコンピュータを動作させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は情報処理装置等に関する。
【背景技術】
【0002】
現在のMFP(Multi Function Printer)には、マルウェアを検知する機能を有するものがある。マルウェアは、ウイルス、ワーム、トロイの木馬、スパイウェア等、不正かつ有害な動作を行う意図で作成された悪意のあるソフトウェアやコードである。
【0003】
この種のMFPは、ジョブの対象となるファイルからマルウェアを検知すると、そのジョブ対象ファイルを記憶装置から削除する。これにより、この種のMFPは、マルウェアの感染拡大を防ぐことができる。
【0004】
本開示に関連して、特許文献1には、振る舞い検知機能による検知結果と、通信量の監視結果とに基づいてマルウェアの検知を行うことにより、マルウェアの判定精度を向上することが記載されている。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1によれば、マルウェアが検知された通信データは破棄される。また、特許文献1には、一度破棄された通信データを復元する旨の記載はない。
【0007】
本開示が解決しようとする課題は、パターンマッチングの結果に応じてジョブ対象ファイルを退避及び復元する情報処理装置を提供することである。
【課題を解決するための手段】
【0008】
本開示の情報処理装置は、記憶部と制御部とを備え、前記制御部は、ジョブ対象ファイルに対して行う、パターンファイルに基づく第1のパターンマッチングの結果に応じて、前記ジョブ対象ファイルを前記パターンファイルに関連付けて前記記憶部に退避させ、前記ジョブ対象ファイルに対して行う、更新された前記パターンファイルに基づく第2のパターンマッチングの結果に応じて、退避させた前記ジョブ対象ファイルの復元の可否を判定する、ことを特徴とする。
【0009】
本開示のジョブの実行制御方法は、ジョブ対象ファイルに対して行う、パターンファイルに基づく第1のパターンマッチングの結果に応じて、前記ジョブ対象ファイルを前記パターンファイルに関連付けて記憶装置に退避させ、前記ジョブ対象ファイルに対して行う、更新された前記パターンファイルに基づく第2のパターンマッチングの結果に応じて、退避させた前記ジョブ対象ファイルの復元の可否を判定する、ことを特徴とする。
【0010】
本開示のプログラムは、ジョブ対象ファイルに対して行う、パターンファイルに基づく第1のパターンマッチングの結果に応じて、前記ジョブ対象ファイルを前記パターンファイルに関連付けて記憶装置に退避させ、前記ジョブ対象ファイルに対して行う、更新された前記パターンファイルに基づく第2のパターンマッチングの結果に応じて、退避させた前記ジョブ対象ファイルの復元の可否を判定する、手段としてコンピュータを動作させることを特徴とする。
【発明の効果】
【0011】
本開示によれば、パターンマッチングの結果に応じてジョブ対象ファイルを退避及び復元する情報処理装置が提供される。
【図面の簡単な説明】
【0012】
【
図1】第1実施形態におけるシステム全体について説明するための図である。
【
図2】第1実施形態におけるMFP(Multi Function Printer)の機能構成を説明するための図である。
【
図3】第1実施形態におけるMFPの動作を説明するための図である。
【
図4】第1実施形態においてMFPの表示部に表示される画面の例について説明するための図である。
【
図5】第1実施形態においてデータベース(DB)が格納する状態管理テーブルの例について説明するための図である。
【
図6】第1実施形態におけるMFPの動作を説明するための図である。
【
図7】第1実施形態においてDBが格納する状態管理テーブルの例について説明するための図である。
【
図8】第1実施形態においてDBが格納する状態管理テーブルの例について説明するための図である。
【
図9】第1実施形態におけるMFPの動作を説明するための図である。
【
図10】第1実施形態においてMFPの表示部に表示される画面の例について説明するための図である。
【
図11】第1実施形態においてDBが格納する状態管理テーブルの例について説明するための図である。
【
図12】第1実施形態においてMFPの表示部に表示される画面の例について説明するための図である。
【
図13】第2実施形態においてDBが格納する状態管理テーブルの例について説明するための図である。
【
図14】第2実施形態におけるMFPの動作を説明するための図である。
【
図15】第2実施形態においてDBが格納する状態管理テーブルの例について説明するための図である。
【
図16】第2実施形態においてDBが格納する状態管理テーブルの例について説明するための図である。
【
図17】第3実施形態におけるMFPの機能構成を説明するための図である。
【
図18】第3実施形態におけるMFPの動作を説明するための図である。
【
図19】第3実施形態におけるMFPの動作を説明するための図である。
【発明を実施するための形態】
【0013】
以下、図面を参照して本開示を実施するための実施形態について説明する。なお、以下の実施形態及び変形は、本開示を説明するための一例であり、特許請求の範囲に記載した発明の技術的範囲が、以下の記載に限定されるものではない。
【0014】
[1.開示の概要]
アンチウイルスプログラムの開発者等は、同一マルウェアを検知対象とするパターンファイルを、そのマルウェアの解析の進捗に応じて作成し、パターンファイル配布サーバを介してクライアントに配布する。
【0015】
マルウェアの発見直後、開発者等はマルウェアについてあまり情報を得ることができない。このため、開発者等は、精度が高いパターンファイルを作成するのが難しい。その結果、初期バージョンのパターンファイルに基づくパターンマッチングは、検知率が低く、誤検知をしやすい。
【0016】
一方、マルウェアの解析が進むと、開発者等はマルウェアについて多くの情報を得ることができる。このため、開発者等は、精度の高いパターンファイルを作成できるようになる。その結果、新バージョンのパターンファイルに基づくパターンマッチングは、検知率が高くなり、誤検知が少なくなる。
【0017】
このように、一般に、パターンファイルは、バージョンが進むにつれて検知率が向上する。この点に着目し、あるバージョンのパターンファイルでマルウェアを含むと判定されたファイルをジョブの対象から退避することを本開示は提案する。すなわち、そのジョブの対象となるファイル(以下、ジョブ対象ファイルと記す)をすぐには削除せず、ジョブの対象から除外した上で、記憶装置に記憶しておく。そして、新バージョンのパターンファイルが配布されると、退避させたジョブ対象ファイルに対し、新バージョンのパターンファイルに基づくパターンマッチングを実行する。退避させたジョブ対象ファイルがマルウェアを含まないと判定された場合、そのジョブ対象ファイルを復元する。すなわち、そのジョブ対象ファイルをジョブの対象に戻す。
【0018】
また、発見当初はマルウェアと考えられていたソフトウェアが、解析が進んだ結果、マルウェアではないと評価が一変する場合もある。このような場合にも、退避させたジョブ対象ファイルを復元することを本開示は提案する。
【0019】
[2.第1実施形態]
[2.1 システム構成]
図1は、本開示の一実施形態であるシステム1の構成を説明するための図である。システム1は、MFP3、LAN(Local Area Network)5、ファイルサーバ7、インターネット9、パターンファイル配布サーバ11を含む。
【0020】
MFP3は、情報処理装置の一種であり、複写機能、ファクシミリ機能、プリンタ機能、スキャナ機能、ファイル転送機能を備える多機能型の複合機である。MFP3は、他の機能を更に備えることが好ましい。例えば、MFP3は、ネットワーク上にウェブページを公開するウェブサーバ機能や、電子メールにより情報をやりとりするインターネットファックス機能を備えることが好ましい。
【0021】
LAN5は、MFP3及びファイルサーバ7を収容する。LAN5は、ゲートウェイを備え、LAN5に収容された装置、特にMFP3をインターネット9に接続する。
【0022】
ファイルサーバ7は、MFP3がジョブの対象とするファイル、すなわち、ジョブ対象ファイルを記憶する。ファイルサーバ7は、MFP3からの要求に応じて、LAN5を介してMFP3にジョブ対象ファイルを送信する。
【0023】
パターンファイル配布サーバ11は、アンチウイルスソフトウェアの開発者等が作成したパターンファイルを、インターネット9を介して、MFP3を含むクライアントに送信する。
【0024】
[2.2 MFPの機能構成]
図2は、MFP3の機能構成を説明するための図である。MFP3は、制御部21、記憶部23、通信部25、画像形成部27、画像入力部29、操作部31、表示部33、データバス35を備える。
【0025】
制御部21は、MFP3の全体を制御するための機能部である。制御部21は、1または複数の制御装置や制御回路で構成され、例えば、CPU(Central Processing Unit)や、SoC(System on a Chip)等により構成される。また、制御部21は、記憶部23に記憶されているプログラムを読み出して処理を実行することにより、パターンファイル取得部21a、パターンマッチング部21b、ジョブ制御部21c、印刷部21d、ファイル転送部21eとして機能する。制御部21は、ジョブ対象ファイルに対して行う、パターンファイルに基づく第1のパターンマッチングの結果に応じて、ジョブ対象ファイルをパターンファイルに関連付けて記憶部23に退避させる。制御部21は、ジョブ対象ファイルに対して行う、更新されたパターンファイルに基づく第2のパターンマッチングの結果に応じて、退避させたジョブ対象ファイルの復元の可否を判定する。
【0026】
パターンファイル取得部21aは、通信部25、LAN5及びインターネット9を介して、パターンファイル配布サーバ11から受信したパターンファイル13を、パターンファイル記憶部23bに記憶させる。また、パターンファイル配布サーバ11から受信したパターンファイルが、パターンファイル記憶部23bに既に記憶させているものの新バージョンの場合、パターンファイル取得部21aは次のように動作する。すなわち、パターンファイル取得部21aは、パターンファイル記憶部23bに記憶させている旧バージョンのパターンファイルを、受信した新バージョンのパターンファイルに更新する。
【0027】
パターンマッチング部21bは、パターンファイル記憶部23bに記憶されているパターンファイルに基づいて、ジョブ対象ファイル記憶部23aに記憶されているジョブ対象ファイルに対し、パターンマッチングを行う。
【0028】
ジョブ制御部21cは、ジョブとして、互いに異なる複数のジョブを実行可能であり、退避させたジョブ対象ファイルの復元の可否を、複数のジョブそれぞれについて個別に判定する。より詳しくは、ジョブ制御部21cは、DB23cに記憶されている状態管理テーブルに従って、ジョブ対象ファイルに対してジョブを実行することの可否を判定し、その判定結果に従ってそのジョブを実行する。特に、ジョブ制御部21cは、状態管理テーブルの状態の値に従って判定する。
【0029】
印刷部21dは、画像形成部27を制御して、ジョブ対象ファイルを印刷する印刷ジョブを実行する。
【0030】
ファイル転送部21eは、通信部25を制御して、ファイル転送ジョブを実行する。ファイル転送ジョブは、LAN5またはインターネット9を介して、ジョブ対象ファイルを指定された宛先に送信する。宛先は、操作部31から入力されてもよい。また、宛先は、画像入力部29から入力された画像に対して制御部21が文字認識処理を実行することにより取得してもよい。或いは、宛先は、画像入力部29から入力されたバーコードまたは二次元コードを制御部21が復号化して取得してもよい。
【0031】
記憶部23は、MFP3の動作に必要な各種プログラムや、各種データが記憶されている機能部である。記憶部23は、DRAM(Dynamic Random Access Memory)等の一時的な記憶が可能な記録装置や、例えば、半導体メモリで構成されたSSD(Solid State Drive)や、磁気ディスクで構成されたHDD(Hard Disk Drive)等の非一時的な記録装置を含むものである。また、記憶部23は、説明の都合上1つの構成としているが、プログラムの実行に利用される領域(主記憶領域)と、プログラムやデータを保存する領域(補助記憶領域)、キャッシュに利用する領域等、それぞれ用途毎に別の装置として構成してもよい。また、記憶部23は、ジョブ対象ファイル記憶部23a、パターンファイル記憶部23b、DB23cを記憶する。
【0032】
ジョブ対象ファイル記憶部23aは、通信部25がLAN5を介してファイルサーバ7から受信したジョブ対象ファイルを記憶する。
【0033】
パターンファイル記憶部23bは、通信部25がインターネット9及びLAN5を介してパターンファイル配布サーバ11から受信したパターンファイルを記憶する。
【0034】
DB23cは、データベースである。DB23cは状態管理テーブルを格納する。状態管理テーブルは、マルウェア名、パターンファイル名、ジョブ対象ファイル名、状態、検知回数、経過日数を互いに関連付けて記憶する。
【0035】
通信部25は、ネットワークと接続してデータ通信を行うための機能部である。通信部25は、例えば、有線LANや無線LAN、LTE網に接続可能なインタフェースにより構成されている。通信部25がLAN5に接続されることにより、MFP3は、ファイルサーバ7等の他の装置や、インターネット9、パターンファイル配布サーバ11に接続されることとなる。特に、MFP3がジョブ対象ファイルに対してファイル転送ジョブを実行する場合、通信部25は、LAN5及びインターネット9を介して、ジョブ対象ファイルを指定された宛先に送信する。
【0036】
画像形成部27は、インクジェットプリンタ、レーザープリンタ等の印刷機構を備え、印刷機構を用いて、入力されたデータに基づいた印刷イメージを、紙等の印刷媒体の上に形成する。特に、MFP3がジョブ対象ファイルに対して印刷ジョブを実行する場合、画像形成部27は、ジョブ対象ファイルを印刷媒体に印刷出力する。
【0037】
画像入力部29は、画像(原稿)を読み取って画像データとして出力する。画像入力部29は、一般的なスキャナ(画像入力装置)により構成されている。また、画像入力部29は、例えばUSBメモリ等の外部の記憶媒体から画像データを入力してもよいし、ネットワーク経由で画像を受信してもよい。
【0038】
操作部31は、ユーザからの操作入力を受け付ける。例えば、操作部31は、ハードウェアキーやソフトウェアキーで構成される。また、操作部31は、例えばFAX送信や画像読み込みといったタスクを実行するタスクキーや、操作を中止する中止キー等が含まれる。また、操作部31は、タスクキーや、中止キー、電源キー、節電キーといった物理的な操作キーを含んでもよい。
【0039】
表示部33は、画像や文字を表示するための機能部である。表示部33は、例えば、液晶ディスプレイ(Liquid Crystal Display, LCD)や、有機EL(Electro-Luminescence)パネル等により構成されている。表示部33は、単体の表示装置であってもよいし、更に外部に接続された表示装置を含むものであってもよい。
【0040】
[2.3 MFPの動作1 ジョブ対象ファイルの受信]
図3は、MFP3の動作を説明するための図である。例えば、この受信動作は、MFP3のユーザが、操作部31及び表示部33を介して、ファイルサーバ7に格納されているジョブ対象ファイルを指定して、印刷ジョブの実行を指示したときに実行される。ここでは、動作を開始する時点で、パターンファイル記憶部23bは、3種類のマルウェアMAL-00、MAL-01及びMAL-02にそれぞれ対応する3つのパターンファイルを記憶しているものとする。マルウェアMAL-00に対応するパターンファイルは、PTN_MAL-00_20201123である。マルウェアMAL-01に対応するパターンファイルは、PTN_MAL-01_20210123である。マルウェアMAL-02に対応するパターンファイルは、PTN_MAL-02_20220215である。
【0041】
制御部21は、通信部25を用いてLAN5を介してファイルサーバ7からジョブ対象ファイルを受信して、ジョブ対象ファイル記憶部23aに記憶させる(ステップS1)。
【0042】
次に、パターンマッチング部21bは、パターンファイルPTN_MAL-00_20201123、PTN_MAL-01_20210123及びPTN_MAL-02_20220215のいずれかを選択する(ステップS3)。
【0043】
次に、パターンマッチング部21bは、選択したパターンファイルに基づいて、ジョブ対象ファイルにパターンマッチングを実行する(ステップS5)。
【0044】
次に、ジョブ対象ファイルがマッチした場合(ステップS7で「はい」)、パターンマッチング部21bは、そのパターンファイルと関連付けて、そのジョブ対象ファイルの名前をDB23cの状態管理テーブルに記憶する。また、パターンマッチング部21bは、そのパターンファイルと関連付けて、そのジョブ対象ファイルの状態を「隔離中」として記憶する(ステップS9)。ここで、ジョブ対象ファイルの状態が「隔離中」とは、そのジョブ対象ファイルが、ジョブの実行対象から除外された状態で、ジョブ対象ファイル記憶部23aに退避させられていることを示す。
【0045】
次に、ジョブ対象ファイルがマッチした場合(ステップS7で「はい」)、パターンマッチング部21bは、DB23cの状態管理テーブルを更新する(ステップS9)。パターンマッチング部21bは、状態管理テーブルに新しい行を追加する。パターンマッチング部21bは、その行に、ジョブ対象ファイル名51、マルウェア名53、パターンファイル名55、状態57、検知回数59、経過日数61を格納する。
【0046】
マルウェア名53は、パターンファイル名55の一部を抽出したものを格納してもよい。状態57は、状態「隔離中」を格納する。検知回数59は初期値として「1」を格納する。検知回数59の値は、そのジョブ対象ファイルとマルウェアとの組み合わせのパターンマッチングをパターンマッチング部21bが実行する毎に、ジョブ制御部21cにより1ずつ加算される。経過日数61は初期値として「1」を格納する。経過日数61の値は、そのジョブ対象ファイルとマルウェアとの組み合わせを状態管理テーブルに登録した日から1日経過する毎に、ジョブ制御部21cにより1ずつ加算される。
【0047】
なお、
図3の動作が、ジョブ対象ファイルを印刷する印刷ジョブの一部として実行されて、ステップS7で「はい」のとき、パターンマッチング部21bは、表示部33を用いて
図4(A)の画面41を表示してもよい。また、ステップS9に前後して、パターンマッチング部21bは、表示部33を用いて
図4(B)の画面43を表示してもよい。
【0048】
図5は、このときDB23cが格納する状態管理テーブルの一例である状態管理テーブル50を示す。状態管理テーブル50のレコードは、ジョブ対象ファイル名51、マルウェア名53、パターンファイル名55、状態57、検知回数59及び経過日数61を含む。
【0049】
ジョブ対象ファイル名51は、通信部25がファイルサーバ7から受信し、ジョブ対象ファイル記憶部23aが記憶したジョブ対象ファイルの名前または識別情報を格納する。状態管理テーブル50の例では、4つのファイル名「deleted.jpg」、「ransom.pdf」、「Unfortunate01.docx」及び「Unfortunate02.docx」が格納されている。
【0050】
マルウェア名53は、対応するジョブ対象ファイル名51が示すジョブ対象ファイルにおいて検知されたマルウェアの名称または識別情報を格納する。状態管理テーブル50の例では、マルウェア名53は以下を示す。ファイル「deleted.jpg」にマルウェア「MAL-00」が検知された。ファイル「ransom.pdf」にマルウェア「MAL-01」が検知された。ファイル「Unfortunate01.docx」にマルウェア「MAL-02」が検知された。ファイル「Unfortunate02.docx」にマルウェア「MAL-02」が検知された。
【0051】
パターンファイル名55は、パターンファイル取得部21aがパターンファイル配布サーバ11から受信し、パターンファイル記憶部23bに記憶されている、最新のパターンファイルの名前または識別情報を格納する。パターンファイル名55は、検知対象とするマルウェアに対応する部分と、そのパターンファイルのバージョン情報とを含む。状態管理テーブル50の例において、PTN_MAL-00_20201123は、前半部のPTN_MAL-00と、後半部の20201123からなる。前半部のPTN_MAL-00は、検知対象がマルウェア「MAL-00」である検知パターンファイルであることを示す。後半部の20201123は、この検知パターンファイルのバージョンが2020年11月23日版であることを示す。
【0052】
状態57は、対応するジョブ対象ファイルの現在の状態を格納する。状態「削除済」は、対応するジョブ対象ファイルがジョブ対象ファイル記憶部23aから削除されたことを示す。状態「隔離中」は、対応するジョブ対象ファイルが、ジョブの実行対象からは隔離された状態で、ジョブ対象ファイル記憶部23aに記憶されていることを示す。状態管理テーブル50の例では、ジョブ対象ファイル「deleted.jpg」は、状態「削除済」である。すなわち、ジョブ対象ファイル「deleted.jpg」は、かつてジョブ対象ファイル記憶部23aに記憶されていたが、既に削除されていることを示している。また、状態管理テーブル50では、ジョブ対象ファイル「ransom.pdf」、「Unfortunate01.docx」及び「Unfortunate02.docx」は、状態「隔離中」である。ジョブ対象ファイル「ransom.pdf」は、ジョブの対象から隔離された状態で、ジョブ対象ファイル記憶部23aに記憶されている。ジョブ対象ファイル「Unfortunate01.docx」及び「Unfortunate02.docx」についても同様である。
【0053】
検知回数59は、パターンマッチング部21bが、対応するジョブ対象ファイルにパターンマッチングを実行した回数を格納する。状態管理テーブル50の例では、パターンマッチング部21bは、ジョブ対象ファイル「deleted.jpg」に対し、パターンマッチングを3回実行したことを示す。ジョブ対象ファイル「ransom.pdf」、「Unfortunate01.docx」及び「Unfortunate02.docx」に対しては、それぞれ1回のパターンマッチングが実行されたことを示す。
【0054】
経過日数61は、ジョブ対象ファイルに最初にマルウェアを検知した日から経過した日数を格納する。状態管理テーブル50の例では、パターンマッチング部21bが、ジョブ対象ファイル「deleted.jpg」からマルウェア「MAL-00」を最初に検知した日から数えて、今日が50日目であることを示す。同様に、ジョブ対象ファイル「ransom.pdf」からマルウェア「MAL-01」が最初に検知された日から数えて今日が3日目である。ジョブ対象ファイル「Unfortunate01.docx」及び「Unfortunate02.docx」からマルウェア「MAL-02」が最初に検知された日から数えて今日が1日目である。
【0055】
[2.4 MFPの動作2 パターンファイルの受信]
図6は、パターンファイル配布サーバ11が、パターンファイルを配布し、MPF3がパターンファイルを受信したときのMPF3の動作を説明するための図である。
【0056】
以下では、ステップS21で受信するパターンファイルを新パターンファイルと呼ぶ。新パターンファイルに基づくパターンマッチングを新パターンマッチングと呼ぶ。新パターンファイルの旧バージョンのパターンファイルを旧パターンファイルと呼ぶ。旧パターンファイルに基づくパターンマッチングを旧パターンマッチングと呼ぶ。新旧のパターンファイルは、どちらも同じマルウェアを検知対象とする。
【0057】
パターンファイル取得部21aが、通信部25を用いて、LAN5、インターネット9を介し、パターンファイル配布サーバ11から新パターンファイルを受信する(ステップS21)。
【0058】
次に、パターンファイル取得部21aは、受信した新パターンファイルを、パターンファイル記憶部23bに記憶させる(ステップS23)。パターンファイル記憶部23bが、該当する旧パターンファイルを記憶していない場合、パターンファイル取得部21aは、受信したパターンファイルを新規にパターンファイル記憶部23bに記憶させる。パターンファイル記憶部23bが、該当する旧パターンファイルを記憶している場合、パターンファイル取得部21aは、その旧パターンファイルを新パターンファイルと置換してパターンファイル記憶部23bに記憶させる。
【0059】
次に、パターンファイル取得部21aは、DB23cの状態管理テーブルを参照して、旧パターンマッチングによって状態が「隔離中」になっているジョブ対象ファイルがあるか否かを判定する(ステップS25)。より具体的には、パターンファイル取得部21aは、DB23cの状態管理テーブルを参照して、ステップS23で記憶させた新パターンファイルに対応する旧パターンファイルの名前または識別情報が、パターンファイル名55に格納されているか否かを判定する。格納されている場合、パターンファイル取得部21aは、更に、その旧パターンファイルに対応する状態57の値として、「隔離中」が格納されているか否かを判定する。
【0060】
ここで、DB23cが
図5の状態管理テーブル50を格納している場合を例に挙げて、ステップS25の判定を説明する。旧パターンマッチングによって状態が「隔離中」になっているジョブ対象ファイルが存在しない場合とは、次の(1)(2)の場合である。
【0061】
(1)新パターンファイルに対応する旧パターンファイルが、状態管理テーブルに格納されていない場合。状態管理テーブル50では、新パターンファイルが、パターンファイル「PTN_MAL-00_20201123」、「PTN_MAL-01_20210123」及び「PTN_MAL-02_20220215」のどれにも対応しない場合に相当する。
【0062】
(2)新パターンファイルに対応する旧パターンファイルが、状態管理テーブルに格納されているが、状態57が「隔離中」であるジョブ対象ファイルは格納されていない場合。例えば、状態管理テーブル50には、パターンファイル「PTN_MAL-00_20201123」が格納されているが、ジョブ対象ファイル「deleted.jpg」の状態57は「削除済」である。パターンファイル「PTN_MAL-00_20201123」に基づくパターンマッチングでマルウェア「MAL-00」が検出され、状態が「隔離中」であるようなジョブ対象ファイルは、状態管理テーブル50に存在しない。
【0063】
一方、旧パターンマッチングによって状態が「隔離中」になっているジョブ対象ファイルが存在する場合とは、次の(3)の場合である。
【0064】
(3)新パターンファイルに対応する旧パターンファイルが、状態管理テーブルに格納されていて、かつ、対応する状態57の値が「隔離中」である場合。ステップS21で受信したパターンファイルが、状態管理テーブル50のパターンファイル「PTN_MAL-01_20210123」に対応する新パターンファイルのとき、ジョブ対象ファイル「ransom.pdf」の状態は「隔離中」である。同様に、ステップS21で受信したパターンファイルが、状態管理テーブル50のパターンファイル「PTN_MAL-02_20220215」に対応する新パターンファイルのとき、ジョブ対象ファイル「Unfortunate01.docx」及び「Unfortunate02.docx」の状態は「隔離中」である。
【0065】
ステップS25で「はい」の場合、パターンファイル取得部21aは、DB23cの状態管理テーブル、パターンファイル名55に格納されている、旧パターンファイルの名前または識別情報を、新パターンファイルの名前または識別情報に更新する(ステップS27)。
【0066】
図7の状態管理テーブル70は、ステップS25において、
図5の状態管理テーブル50を更新した後の状態管理テーブルの一例である。本例では、ステップS21において受信したパターンファイルは、PTN_MAL-02_20220301である。状態管理テーブル70では、ジョブ対象ファイル「Unfortunate01.docx」及び「Unfortunate02.docx」に対応するパターンファイル名55が、どちらも、旧パターンファイル「PTN_MAL-02_20220215」から、新パターンファイルPTN_MAL-02_20220301に変更されている。
【0067】
次に、パターンマッチング部21bは、旧パターンマッチングで「隔離中」のジョブ対象ファイルに対して、新パターンファイルに基づく新パターンマッチングを実行する(ステップS29)。
【0068】
ステップS29で行った新パターンマッチングで、マッチしないジョブ対象ファイルがあると判定された場合(ステップS31で「はい」)、パターンマッチング部21bは、DB23cの状態管理テーブルにおいて、マッチしなかったジョブ対象ファイルの状態を、「隔離中」から「問題なし」に変更する(ステップS33)。
【0069】
図8の状態管理テーブル80は、ステップS33において、
図7の状態管理テーブル70を更新した後の状態管理テーブルの一例である。状態管理テーブル80は、ステップS29でのパターンマッチングにおいて、ジョブ対象ファイル「Unfortunate01.docx」はマッチし、ジョブ対象ファイル「Unfortunate02.docx」はマッチしなかったときの値を格納している。ジョブ対象ファイル「Unfortunate01.docx」の状態57の値は、「隔離中」のまま維持された。一方、ジョブ対象ファイル「Unfortunate02.docx」の状態57の値は、「隔離中」から「問題なし」に更新された。
【0070】
また、ステップS29では、マルウェア「MAL-02」を検出するためのパターンマッチングが、ジョブ対象ファイル「Unfortunate01.docx」及び「Unfortunate02.docx」に対して、それぞれ1回ずつ実行された。このため、状態管理テーブル80では、ジョブ対象ファイル「Unfortunate01.docx」及び「Unfortunate02.docx」の検知回数59の値がそれぞれ+1されて2になっている。
【0071】
次に、ジョブ制御部21cは、後述するジョブ制御処理を実行する(ステップS35)。
ステップS25で「いいえ」の場合、及び、ステップS31で「いいえ」の場合、そのまま処理を終了する。
【0072】
[2.5 MFPの動作3 ジョブ制御]
図9は、ステップS35のジョブ制御処理を説明するための図である。ジョブ制御部21cは、ステップS33にて状態を「隔離中」から「問題なし」に変更したジョブ対象ファイルを対象として、印刷ジョブを実行するか否かをユーザに尋ねるメッセージを、表示部33にて表示する(ステップS41)。
図10(A)の画面101は、このとき表示部33に表示される画面の一例である。画面101は、DB23cが状態管理テーブル80を格納していることを前提としている。このため、状態を「隔離中」から「問題なし」に変更したジョブ対象ファイル「Unfortunate02.docx」が印刷ジョブの対象となる旨のメッセージが画面101に記載されている。
【0073】
操作部31を介して、ユーザが画面101で「印刷する」を選択する(ステップS41で「はい」)と、ジョブ制御部21cは、印刷ジョブを実行する(ステップS43)。
図10(B)の画面103は、印刷ジョブが終了したとき、ジョブ制御部21cが表示部33にて表示する画面の一例である。
【0074】
次に、ジョブ制御部21cは、ステップS33にて状態を「隔離中」から「問題なし」に変更したジョブ対象ファイルを、印刷後どのように処理するかを尋ねるメッセージを表示部33にて表示する(ステップS45)。
図10(C)の画面105は、このときに表示される画面の一例である。画面105には、「保存する」、「削除する」、「そのまま隔離」の3つの選択肢が提示される。
【0075】
操作部31を介して、ユーザが、画面105で「保存する」を選択(ステップS45で「保存する」)した場合、ジョブ制御部21cは、DB23cの状態管理テーブルにおいて、印刷ジョブの対象としたジョブ対象ファイルの状態「問題なし」を、「復元済」に更新する(ステップS47)。
図11に、状態「問題なし」を「復元済」に更新した状態管理テーブルの一例として、状態管理テーブル120を示す。状態管理テーブルにおいて、状態が「復元済」のジョブ対象ファイルは、ジョブの対象として任意に選択可能な状態である。
【0076】
また、このとき、ジョブ制御部21cは、「隔離中」だったジョブ対象ファイルの判定が、「問題なし」に変更されて、ジョブの対象として任意に選択可能な「復元済」になった旨を伝えるメッセージを、表示部33にて表示する。
図12(A)の画面107は、このとき表示される画面の一例である。
【0077】
ステップS45にて、操作部31を介し、ユーザが、画面105で「削除する」を選択(ステップS45で「削除する」)した場合、ジョブ制御部21cは、そのジョブ対象ファイルの削除実行を確認するメッセージを表示部33にて表示する。
図12(B)の画面109は、このとき表示される画面の一例である。
【0078】
表示部33が画面109を表示しているとき、操作部31で「OK」を選択すると、ジョブ制御部21cは、そのジョブ対象ファイルを、ジョブ対象ファイル記憶部23aから削除する(ステップS49)。また、このとき、ジョブ制御部21cは、DB23cの状態管理テーブルにおける、そのジョブ対象ファイルの状態を「削除済」に変更する。他方、表示部33が画面109を表示しているとき、操作部31で「戻る」を選択した場合は、ジョブ制御部21cは、後述する
図12の画面113を表示部33に表示する。
【0079】
ステップS45にて、操作部31を介し、ユーザが、画面105で「そのまま隔離」を選択(ステップS45で「そのまま隔離」)した場合、ジョブ制御部21cは、そのジョブ対象ファイルをジョブから隔離した状態を維持する旨を伝えるメッセージを表示部33で表示する。
図12(C)の画面111は、このとき表示される画面の一例である。
【0080】
表示部33が画面111を表示しているとき、操作部31で「隔離する」を選択すると、ジョブ制御部21cは、処理をそのまま終了する。他方、表示部33が画面111を表示しているとき、操作部31で「戻る」を選択した場合、ジョブ制御部21cは、後述する
図12(D)の画面113を表示部33に表示する。
【0081】
画面113は、表示部33が画面109または111を表示しているときに、操作部31から「戻る」を選択する入力がされた場合に、ジョブ制御部21cが表示部33で表示する画面の一例である。表示部33が画面113を表示している間に、画面上の「印刷」、「保存」、「削除」及び「隔離」のいずれかが、操作部31にて選択されると、ジョブ制御部21cは該当するステップに移行する。すなわち、「印刷」が選択された場合、ステップS43に移行する。「保存」が選択された場合、ステップS47に移行する。「削除」が選択された場合、S49に移行する。「隔離」が選択された場合、そのまま処理を終了する。
【0082】
[2.6 第1実施形態の効果]
このように、第1実施形態では、第1のパターンマッチング(旧バージョンのパターンファイルに基づくパターンマッチング)がマッチしたとき、制御部21は、ジョブ対象ファイルをパターンファイルに関連付けて記憶部23に退避させる。その後、第2のパターンマッチング(新バージョンのパターンファイルに基づくパターンマッチング)がマッチしなかったとき、制御部21は、退避させたジョブ対象ファイルの復元を可と判定する。
【0083】
本実施形態のMFPによれば、旧バージョンのパターンファイルに基づくパターンマッチングにおいて、マッチした(すなわち、マルウェアに感染していると判定された)ジョブ対象ファイルは、ジョブの実行から隔離した状態で記憶装置に維持される。その後、新バージョンのパターンファイルが配布されたとき、その新しいパターンファイルに基づくパターンマッチングを、隔離してあったジョブ対象ファイルに対して実行する。マッチしなかった(すなわち、マルウェアに感染していないと判定された)場合には、そのジョブ対象ファイルを隔離状態から解放し、ジョブの実行対象にすることを許可する。
【0084】
このため、本実施形態によれば、マルウェアに感染していると一度判定されたジョブ対象ファイルであっても、後に、マルウェアに感染していないことが分かった時点で、遅滞なくジョブの実行対象とすることができる。
【0085】
[2.7 第1実施形態の変形]
上述の第1実施形態では、ジョブ制御部21cは、状態管理テーブルに格納されている、ジョブ対象ファイルの状態に応じて、印刷ジョブの実行の可否を制御する。このようなジョブ実行制御は、印刷ジョブ以外のジョブ、例えばファイル転送ジョブの制御に適用されてもよい。また、このようなジョブ実行制御は、複数のジョブ、例えば印刷ジョブとファイル転送ジョブの両方を制御してもよい。
【0086】
MFPが、印刷ジョブ機能とファイル転送ジョブのように、複数のジョブ機能を有する場合、上述のジョブ実行制御を、両方のジョブ機能に適用してもよいし、いずれか一方のジョブ機能に適用してもよい。
【0087】
例えば、MFPが印刷ジョブ機能とファイル転送ジョブ機能を有する場合、以下のようにジョブ実行制御を行ってもよい。ファイル転送ジョブ機能の実行制御には、上述のジョブ実行制御を適用する。これにより、状態管理テーブルにおいて、状態が「隔離中」である(すなわち、マルウェアを含む恐れがある)ジョブ対象ファイルが、ファイル転送を通じて拡散し、その結果、マルウェアの感染拡大を助長するのを防ぐ。一方で、印刷ジョブ機能の実行を制御する際には、ジョブ制御部21cは、状態管理テーブルの状態が「隔離中」であるジョブ対象ファイルであっても、印刷ジョブの実行を許可する。これは、マルウェアを含むジョブ対象ファイルを印刷しても、マルウェアを拡散する恐れがないからである。
【0088】
[3.第2実施形態]
本開示の第2実施形態について説明する。
[3.1 システム構成]
システム構成は、上述の[2.1 システム構成]とほぼ同様である。ただし、パターンファイル配布サーバ11は、あるマルウェアを検出するためのパターンファイルを配布する際、そのパターンファイルと共に、そのマルウェアの安全度をMFP3に送信する。
【0089】
安全度は、マルウェアの危険性を評価するセキュリティの専門家等が、マルウェアに対して付与する値である。安全度は、そのマルウェアがどの程度安全かを示す値である。本実施形態では、安全度は、「危険」及び「無害」の2種類の値を取るが、3種類以上の値を取ってもよい。
【0090】
パターンファイル配布サーバ11は、パターンファイルと、そのパターンファイルの検知対象であるマルウェアの安全度とを互いに関連付けてMFP3に送信してもよい。或いは、パターンファイル配布サーバ11は、パターンファイルの検知対象であるマルウェアの安全度を、そのパターンファイルに含めてMFP3に送信してもよい。
【0091】
[3.2 MFPの機能構成]
MFP3の機能構成は、上述の[2.2 MFPの機能構成]と概ね同じだが、パターンファイルで特定されるマルウェアの安全度が向上したとき、制御部21が、退避させたジョブ対象ファイルの復元を可と判定する点で異なる。より詳しくは以下の通りである。
【0092】
パターンマッチング部21bは、パターンファイルに基づいてパターンマッチングを行うのに加えて、マルウェアの安全度に基づいてジョブ対象ファイルの状態を判定する。パターンファイル記憶部23bは、パターンファイルに加えて、安全度を記憶する。
【0093】
DB23cが記憶する状態管理テーブルは、
図13に示す状態管理テーブル140のような構造を有する。第1実施形態の状態管理テーブルと比較すると、ジョブ対象ファイル名141、マルウェア名143、パターンファイル名147、状態149、検知回数151及び経過日数153は、第1実施形態のジョブ対象ファイル名51、マルウェア名53、パターンファイル名55、状態57、検知回数59及び経過日数61とそれぞれ同様である。しかし、状態管理テーブル140は、安全度145を有する点で第1実施形態の状態管理テーブルと異なる。
【0094】
[3.3 MFPの動作1 ジョブ対象ファイルの受信]
図3を参照して説明する。ステップS1-S7については第1実施形態と同様である。ステップS9において、状態管理テーブルを更新する際、安全度を含む行を状態管理テーブルに追加する。
【0095】
[3.4 MFPの動作2 パターンファイルの受信]
図14は、本実施形態において、パターンファイル配布サーバ11からパターンファイルを受信したときのMFP3の動作について説明するための図である。パターンファイルを受信するとき、DB23cは、状態管理テーブル140を格納しているとする。
【0096】
以下では、パターンファイル配布サーバ11は、パターンファイル「PTN_MAL-03_20220305」を送信したとする。パターンファイル「PTN_MAL-03_20220305」は、マルウェア「MAL-03」を検出対象とするパターンファイルである。パターンファイル「PTN_MAL-03_20220305」は、パターンファイル「PTN_MAL-03_20220301」の新バージョンに相当する。
【0097】
パターンファイル取得部21aが、通信部25を用いて、LAN5、インターネット9を介し、パターンファイル配布サーバ11から新パターンファイルを受信する(ステップS61)。このとき、パターンファイル取得部21aは、パターンファイルと共に、または、パターンファイルに含まれる形で、安全度を受信する。
【0098】
次に、パターンファイル取得部21aは、受信したパターンファイル及び安全度を、互いに関連付けてパターンファイル記憶部23bに記憶させる(ステップS63、S65)。
【0099】
ここでは、ステップS61にてパターンファイル「PTN_MAL-03_20220305」と共に、安全度「無害」を受信し、ステップS63、S65でパターンファイル「PTN_MAL-03_20220305」と安全度「無害」とを記憶させたとする。
【0100】
次に、パターンファイル取得部21aは、DB23cの状態管理テーブルを参照して、旧パターンマッチングによって状態が「隔離中」になっているジョブ対象ファイルがあるか否かを判定する(ステップS67)。より具体的には、パターンファイル取得部21aは、DB23cの状態管理テーブルを参照して、新パターンファイルに対応する旧パターンファイルの名前または識別情報が、パターンファイル名147に格納されているか否かを判定する。格納されている場合、パターンファイル取得部21aは、更に、その旧パターンファイルに対応する状態149の値として、「隔離中」が格納されているか否かを判定する。
【0101】
今、DC23cに状態管理テーブル140が格納されているとする。状態管理テーブル140は、パターンファイル名147の欄にPTN_MAL-03_20220301を格納しているとする。このとき、ステップS61でパターンファイル「PTN_MAL-03_20220305」を受信したとする。現在、状態管理テーブル140に格納されているパターンファイル「PTN_MAL-03_20220301」は、受信したパターンファイル「PTN_MAL-03_20220305」の旧パターンファイルである。また、状態管理テーブル140には、パターンファイル「PTN_MAL-03_20220301」に対応する状態149として、状態「隔離中」が格納されている。このとき、パターンファイル取得部21aは、ステップS67で「はい」と判定する。
【0102】
ステップS61で受信した新パターンファイルの旧パターンファイルにて「隔離中」と判定されたジョブ対象ファイルが、状態管理テーブルに格納されているとする(ステップS67で「はい」)。この場合、パターンファイル取得部21aは、状態管理テーブルに格納されている旧パターンファイルのパターンファイル名と安全度とを、ステップS61で受信した新パターンファイルのパターンファイル名と安全度とにそれぞれ更新する(ステップS69)。
【0103】
例えば、DC23cに状態管理テーブル140が格納されていて、ステップS61でパターンファイル「PTN_MAL-03_20220305」を受信したとする。このとき、パターンファイル取得部21aは、状態管理テーブル140を
図15の状態管理テーブル160に更新する。
【0104】
状態管理テーブル160では、安全度161及びパターンファイル名163の値が更新されている。状態管理テーブル140の安全度145と比較すると、安全度161では、ジョブ対象ファイル「Unfortunate03.docx」の安全度が、「危険」から「無害」に更新されている。また、パターンファイル名163では、「PTN_MAL-03_20220301」から「PTN_MAL-03_20220305」に更新されている。
【0105】
次に、パターンマッチング部21bは、状態管理テーブルにおいて、ステップS69で更新したパターンファイル名147に対応する状態149の値が「隔離中」であるようなジョブ対象ファイル名141を取得する。パターンマッチング部21bは、取得したジョブ対象ファイルに対し、更新したパターンファイルに基づくパターンマッチングを実行する(ステップS71)。
【0106】
図15の状態管理テーブルの場合、ステップS69で更新したパターンファイル「PTN_MAL-03_20220305」に基づくパターンマッチングを、状態149の値が「隔離中」であるジョブ対象ファイル「Unfortunate03.docx」に対して実行する。
【0107】
パターンマッチングにおいてマッチする(ステップS73で「はい」)場合、パターンマッチング部21bは、状態管理テーブルを参照して、そのジョブ対象ファイルの安全度が「無害」か否かを判定する(ステップS75)。安全度が「無害」ではない(ステップS75で「いいえ」)場合、処理を終了する。
【0108】
パターンマッチングにおいてマッチしない(ステップS73で「いいえ」)場合、及び、パターンマッチングにおいてマッチする(ステップS73で「はい」)が、安全度が「無害」の場合(ステップS75で「はい」)を考える。この場合、パターンマッチング部21bは、状態管理テーブルにおけるそのジョブ対象ファイルの状態149の値を「隔離中」から「問題なし」に更新する(ステップS77)。
【0109】
DB23cが状態管理テーブル160を格納しているとき、パターンマッチング部21bが、パターンファイル「PTN_MAL-03_20220305」に基づくパターンマッチングを、ジョブ対象ファイル「Unfortunate03.docx」に対して実行したとする。このとき、ステップS77において、パターンマッチング部21bは、状態管理テーブル160を、
図16の状態管理テーブル170のように更新する。パターンマッチング部21bは、ジョブ対象ファイル「Unfortunate03.docx」の状態171を「問題なし」に更新する。また、パターンマッチングが実行されたため、パターンマッチング部21bは、ジョブ対象ファイル「Unfortunate03.docx」の検知回数173の値を、+1して2にしている。更に、パターンマッチング部21bは、ジョブ対象ファイル「Unfortunate03.docx」からマルウェア「MAL-03」が検知されたと状態管理テーブル140に登録された日から経過した日数を算出して、経過日数153を、1から5に更新する。
【0110】
次に、ジョブ制御部21cは、更新された状態管理テーブルに従ってジョブ制御処理を実行する(ステップS79)。このジョブ制御処理は、状態管理テーブルが安全度を含む点以外、[1.5 MFPの動作3 ジョブ制御]で説明した動作と同様である。
【0111】
[3.5 第2実施形態の効果]
パターンファイルの更新に伴って、旧パターンファイルではマルウェアとして検知されていたジョブ対象ファイルが、新パターンファイルではマルウェアから除外されたとする。このとき、第1実施形態では、ジョブ対象ファイルを隔離された状態からジョブ対象として選択可能な状態に移行させるジョブ制御を提供する効果を有する。
【0112】
第2実施形態では、第1実施形態の効果に加えて、マルウェアの安全度の更新に応じたジョブ制御を実行することができる。すなわち、セキュリティの専門家等が、あるマルウェアが出現した当初、そのマルウェアを危険と評価していたが、解析が進んだ結果、そのマルウェアの評価が無害に変わった場合に、マルウェアの実態に即した適切なジョブ制御を提供することができる。
【0113】
[3.6 変形]
マルウェアの安全度は、そのマルウェアが無害であると分かった後でセキュリティの専門家等がそのマルウェアに付与するものでもよい。換言すると、パターンファイル配布サーバ11は、無害であることが判明していないマルウェアの安全度をMFP3に配布しなくてもよい。
【0114】
パターンファイル配布サーバ11は、そのマルウェアに対する評価が無害になった後、そのマルウェアと安全度とを関連付けて、パターンファイルを伴うことなくMFP3に配布してもよい。この場合、パターンファイル取得部21aは、安全度のみを受信して状態管理テーブルを更新する。パターンマッチング部21bは、状態管理テーブルにおいて、そのマルウェアに関して「隔離中」の状態を「無害」に変更する。これにより、パターンファイルは更新されず、マルウェアの安全度のみ「無害」に変わった場合でも、マルウェアの実態に即した適切なジョブ制御を実行することができる。
【0115】
上述の安全度の値としては、「危険」と「無害」の2種類を挙げて説明したが、安全度は2値である必要はなく、3値以上の中から選択される値でもよい。
【0116】
安全度を3値以上の中から選択する場合、ジョブ制御部21cがジョブの実行を許可する安全度は、ジョブ毎に定められることが好ましい。例えば、安全度が、安全性が低いものから順に、1、2、3、4、5の5つの値から選択されるとする。このとき、印刷ジョブを実行しようとしている場合には、ジョブ制御部21cは、そのジョブ対象ファイルの安全度が2以上の場合に許可することとしてよい。他方、ファイル転送ジョブを実行しようとしている場合には、ジョブ制御部21cは、そのジョブ対象ファイルの安全度が4以上の場合に限って許可することとしてよい。なお、どちらの場合でも、状態の値は「隔離中」でもよいものとする。
【0117】
このような、ジョブ毎に定められる実行が許可される安全度の値は、セキュリティ分野に十分な知見を有するIT管理部門の担当者に限定されることが好ましい。このため、ジョブ毎に定められる実行が許可される安全度の値をジョブ制御部21cに設定する際は、IT管理部門の担当者に限定的に付与される管理者パスワードによる認証を要求することが好ましい。
【0118】
[4.第3実施形態]
本開示の第3実施形態であるMFP200について説明する。上述のMFP3と比較すると、MFP200は、制御部の構成が異なる。
【0119】
[4.1 システム構成]
システム構成は、[2.1 システム構成]と同様である。ただし、MFP3の代わりに、以下に説明するMFP200を用いる。
【0120】
[4.2 MFPの機能構成]
図17は、MFP200の機能構成を説明するための図である。MFP3と比較すると、MFP200は、制御部21の代わりに制御部201を有する点で異なる。制御部21と比較すると、制御部201は、ファイル削除部203を有する点で異なる。ファイル削除部203は、パターンファイルと関連付けて記憶部23bに退避させたジョブ対象ファイルを、あらかじめ定められた条件に従って削除する。ファイル削除部203以外の各構成については、[2.2 MFPの機能構成]を参照されたい。
【0121】
[4.3 MFPの動作1]
MFP200は、第1実施形態で説明した動作をしてもよいし、第2実施形態で説明した動作をしてもよい。これらの動作に加えて、MFP200は、以下に説明するファイル削除処理を実行する。
【0122】
図18は、MFP200のファイル削除処理を説明するための図である。
まず、ジョブ対象ファイル記憶部23aは、ジョブ対象ファイルを隔離して記憶する(ステップS91)。すなわち、第1実施形態のステップS9で説明したように、ジョブ対象ファイル記憶部23aが、ジョブ対象ファイルを記憶し、かつ、DB23cが、状態管理テーブルに、そのジョブ対象ファイルの状態を「隔離中」として記憶する。
【0123】
次に、ファイル削除部203は、状態管理テーブルから状態が「隔離中」である各レコードの経過日数を取得(ステップS93)し、取得した経過日数を、それぞれ、予め定められた閾値と比較する(ステップS95)。閾値は、ジョブ対象ファイルの種類に関係なく一律に定めてもよいし、ファイルの種類(拡張子の種類)毎に閾値を定めてもよい。
【0124】
経過時間が閾値を超えた(ステップS95で「はい」)場合、ファイル削除部203は、そのジョブ対象ファイルを、ジョブ対象ファイル記憶部23aから削除する。また、ファイル削除部203は、そのジョブ対象ファイルを含むレコードを、DB23cの状態管理テーブルから削除する(ステップS97)。
【0125】
[4.4 第3実施形態の効果]
第1実施形態において説明したように、状態管理テーブルは、パターンファイルが更新されて、マルウェアと判定されなくなると、状態が「問題なし」に変更される。このため、「隔離中」のまま、長期間、ジョブ対象ファイル記憶部23aに記憶されているジョブ対象ファイルは、マルウェアを含むことが確定的であると考えられる。
【0126】
また、第2実施形態において説明したように、状態管理テーブルは、マルウェアの安全度が無害になると、状態が「問題なし」に変更される。このため、「隔離中」のまま、長期間、ジョブ対象ファイル記憶部23aに記憶されているジョブ対象ファイルは、有害であることが確定的であると考えられる。
【0127】
第3実施形態によれば、このような、有害であることが確定的なジョブ対象ファイルを、そのジョブ対象ファイルが「隔離中」である経過時間に応じて記憶部23から削除することができる。これにより、MFP200のセキュリティを一層高めることができる。また、ジョブ対象ファイルが記憶部23の容量を圧迫するのを防ぐことができる。
【0128】
[4.5 変形]
上述のファイル削除処理では、状態が「隔離中」として記憶された期間の長さに応じてジョブ対象ファイルを記憶部23から削除した。本変形では、パターンマッチングでマルウェアのパターンを検知した回数に応じて削除する。
【0129】
本変形では、MFP200は、
図19のようなファイル削除処理を実行する。
まず、ジョブ対象ファイル記憶部23aは、ジョブ対象ファイルを隔離して記憶する(ステップS101)。すなわち、第1実施形態のステップS9で説明したように、ジョブ対象ファイル記憶部23aが、ジョブ対象ファイルを記憶し、かつ、DB23cが、状態管理テーブルに、そのジョブ対象ファイルの状態を「隔離中」として記憶する。
【0130】
次に、ファイル削除部203は、状態管理テーブルから状態が「隔離中」である各レコードの検知回数を取得(ステップS103)し、取得した検知回数を、それぞれ、予め定められた閾値と比較する(ステップS105)。閾値は、ジョブ対象ファイルの種類に関係なく一律に定めてもよいし、ファイルの種類(拡張子の種類)毎に定めてもよい。
【0131】
検知回数が閾値を超えた(ステップS105で「はい」)場合、ファイル削除部203は、そのジョブ対象ファイルを、ジョブ対象ファイル記憶部23aから削除する。また、ファイル削除部203は、そのジョブ対象ファイルを含むレコードを、DB23cの状態管理テーブルから削除する(ステップS109)。検知回数が閾値を超えていない(ステップS105で「いいえ」)場合、ファイル削除部203は、処理をステップS103に戻す。
【0132】
パターンファイルの更新とパターンマッチングとを繰り返し実行した後でも、マルウェアが検知され続け、状態が「隔離中」のままのジョブ対象ファイルが存在するとする。このとき、本変形によれば、マルウェアを検知した回数に応じて記憶部23から削除することができる。これにより、MFP200のセキュリティを一層高めることができる。また、ジョブ対象ファイルが記憶部23の容量を圧迫するのを防ぐことができる。
【0133】
[5.その他]
本発明は上述した各実施形態及び変形に限定されるものではなく、種々の変更が可能である。すなわち、本発明の要旨を逸脱しない範囲内において適宜変更した技術的手段を組み合わせて得られる実施の形態についても本発明の技術的範囲に含まれる。
【0134】
また、上述した実施形態は、説明の都合上、それぞれ別に説明している部分があるが、技術的に可能な範囲で組み合わせて実行してもよいことは勿論である。例えば、第1の実施形態と第2の実施形態を組み合わせて、識別情報が示すネットワークリソースが危険と判定された場合を考える。この場合に、第1の実施形態のように出力を中止するか、または、第2の実施形態のように出力を変更するかを複合機のオペレータに尋ねることにしてもよい。
【0135】
また、実施形態において各装置で動作するプログラムは、上述した実施形態の機能を実現するように、CPU等を制御するプログラム(コンピュータを機能させるプログラム)である。そして、これら装置で取り扱われる情報は、その処理時に一時的に一時記憶装置(例えば、RAM)に蓄積され、その後、各種ROM(Read Only Memory)やHDD等の記憶装置に格納され、必要に応じてCPUによって読み出し、修正・書き込みが行なわれる。
【0136】
ここで、プログラムを格納する記録媒体としては、半導体媒体(例えば、ROMや、不揮発性のメモリカード等)、光記録媒体・光磁気記録媒体(例えば、DVD(Digital Versatile Disc)、MO(Magneto Optical Disc)、MD(Mini Disc)、CD(Compact Disc)、BD (Blu-ray(登録商標) Disk) 等)、磁気記録媒体(例えば、磁気テープ、フレキシブルディスク等)等のいずれであってもよい。また、ロードしたプログラムを実行することにより、上述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、オペレーティングシステムあるいは他のアプリケーションプログラム等と共同して処理することにより、本発明の機能が実現される場合もある。
【0137】
また、市場に流通させる場合には、可搬型の記録媒体にプログラムを格納して流通させたり、インターネット等のネットワークを介して接続されたサーバコンピュータに転送したりすることができる。この場合、サーバコンピュータの記憶装置も本発明に含まれるのは勿論である。
【符号の説明】
【0138】
1 システム
3、200 MFP(Multi Function Printer)
5 LAN(Local Area Network)
7 ファイルサーバ
9 インターネット
11 パターンファイル配布サーバ
13 パターンファイル
15 ジョブ対象ファイル
21、201 制御部
21a パターンファイル取得部
21b パターンマッチング部
21c ジョブ制御部
21d 印刷部
21e ファイル転送部
23 記憶部
23a ジョブ対象ファイル記憶部
23b パターンファイル記憶部
23c データベース(DB)
25 通信部
27 画像形成部
29 画像入力部
31 操作部
33 表示部
41、43 画面
50、70、80、120、140、160 状態管理テーブル
51、141 ジョブ対象ファイル名
53、143 マルウェア名
55、147,163 パターンファイル名
57、149、171 状態
59、151、173 検知回数
61、153、175 経過日数
145、161 安全度
203 ファイル削除部