(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024050055
(43)【公開日】2024-04-10
(54)【発明の名称】通信装置、通信装置のためのコンピュータプログラム、及び、通信装置によって実行される方法
(51)【国際特許分類】
G06F 21/57 20130101AFI20240403BHJP
【FI】
G06F21/57 370
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2022156643
(22)【出願日】2022-09-29
(71)【出願人】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110000110
【氏名又は名称】弁理士法人 快友国際特許事務所
(72)【発明者】
【氏名】松田 宗久
(57)【要約】
【課題】通信装置のセキュリティを高めることができる技術を開示すること。
【解決手段】通信装置は、サーバから、通信装置の第1の脆弱性に対する第1の対策に対応する第1の対策情報を受信する第1の受信部と、サーバから第1の対策情報が受信される場合に、第1の対策を実施する第1の対策実施部と、通信装置が第1の対策を実施している状況において、サーバから、第1の脆弱性に対する第2の対策に対応する第2の対策情報を受信する第2の受信部と、サーバから第2の対策情報が受信される場合に、第1の対策を無効化する無効化部と、サーバから第2の対策情報が受信される場合に、第2の対策を実施する第2の対策実施部と、を備えてもよい。
【選択図】
図3
【特許請求の範囲】
【請求項1】
通信装置であって、
サーバから、前記通信装置の第1の脆弱性に対する第1の対策に対応する第1の対策情報を受信する第1の受信部と、
前記サーバから前記第1の対策情報が受信される場合に、前記第1の対策を実施する第1の対策実施部と、
前記通信装置が前記第1の対策を実施している状況において、前記サーバから、前記第1の脆弱性に対する第2の対策に対応する第2の対策情報を受信する第2の受信部と、
前記サーバから前記第2の対策情報が受信される場合に、前記第1の対策を無効化する無効化部と、
前記サーバから前記第2の対策情報が受信される場合に、前記第2の対策を実施する第2の対策実施部と、
を備える、通信装置。
【請求項2】
前記通信装置は、さらに、
前記通信装置が前記第1の対策を実施している状況において、前記サーバから、前記第1の脆弱性とは異なる第2の脆弱性に対する第3の対策に対応する第3の対策情報を受信する第3の受信部と、
前記サーバから前記第3の対策情報が受信される場合に、前記第1の対策を無効化することなく、前記第3の対策を実施する第3の対策実施部と、
を備える、請求項1に記載の通信装置。
【請求項3】
前記無効化部は、前記通信装置が前記第1の対策を実施している状況において、前記サーバから、前記第1の対策情報が受信されることなく、前記第2の対策情報が受信される場合に、前記第1の対策を無効化する、請求項1に記載の通信装置。
【請求項4】
前記第1の対策情報は、前記第1の脆弱性を識別する脆弱性識別情報と、前記第1の対策を示す第1の内容情報と、を含み、
前記通信装置は、さらに、
メモリと、
前記サーバから前記第1の対策情報が受信される場合に、前記第1の対策情報に含まれる前記脆弱性識別情報と、前記第1の対策情報に含まれる前記第1の内容情報と、を関連付けて前記メモリに記憶させる第1の記憶制御部と、を備え、
前記第2の対策情報は、前記脆弱性識別情報と、前記第2の対策を示す第2の内容情報と、を含み、
前記無効化部は、前記サーバから前記第2の対策情報が受信される場合に、前記第2の対策情報に含まれる前記脆弱性識別情報に関連付けて前記メモリに記憶されている前記第1の内容情報によって示される前記第1の対策を無効化する、請求項1に記載の通信装置。
【請求項5】
前記通信装置は、さらに、
前記サーバから前記第2の対策情報が受信される場合に、前記脆弱性識別情報に関連付けて、前記第1の内容情報に代えて、前記第2の対策情報に含まれる前記第2の内容情報を前記メモリに記憶させる第2の記憶制御部を備える、請求項4に記載の通信装置。
【請求項6】
前記第1の対策は、
前記通信装置のファームウェアをアップデートすること、
前記通信装置の通信設定を変更すること、及び、
前記通信装置のユーザに注意を促すメッセージを出力すること、
のうちの1つであり、
前記第2の対策は、
前記通信装置の前記ファームウェアをアップデートすること、
前記通信装置の前記通信設定を変更すること、及び、
前記通信装置の前記ユーザに注意を促す前記メッセージを出力すること、
のうちの他の1つである、請求項1に記載の通信装置。
【請求項7】
前記第2の対策は、前記通信装置の特定の通信設定を第1の値から第2の値に変更することを含み、
前記特定の通信設定が前記第1の値であり、かつ、前記第1の値がユーザによって指定された値である状況において、前記サーバから前記第2の対策情報が受信される場合に、前記第2の対策は実施されず、
前記第2の対策実施部は、前記特定の通信設定が前記第1の値であり、かつ、前記第1の値が前記通信装置の出荷段階から予め指定された値である状況において、前記サーバから前記第2の対策情報が受信される場合に、前記第2の対策を実施する、請求項1に記載の通信装置。
【請求項8】
前記通信装置は、さらに、
前記特定の通信設定が前記第1の値であり、かつ、前記第1の値が前記ユーザによって指定された値である状況において、前記サーバから前記第2の対策情報が受信される場合に、前記第2の対策を実施すべきか否かを前記通信装置のユーザに問い合わせるための問合画面を前記通信装置の表示部に表示させる表示制御部を備え、
前記問合画面において、前記第2の対策を実施すべきでないことが前記ユーザによって選択される場合に、前記第2の対策は実施されず、
前記第2の対策実施部は、前記問合画面において、前記第2の対策を実施すべきことが前記ユーザによって選択される場合に、前記第2の対策を実施する、請求項7に記載の通信装置。
【請求項9】
前記第2の対策情報は、前記第2の対策を強制的に実施すべきか否かを示すフラグ情報を含み、
前記特定の通信設定が前記第1の値であり、かつ、前記第1の値が前記ユーザによって指定された値である状況において、前記サーバから、前記第2の対策を強制的に実施すべきでないことを示す前記フラグ情報を含む前記第2の対策情報が受信される場合に、前記第2の対策は実施されず、
前記第2の対策実施部は、前記特定の通信設定が前記第1の値であり、かつ、前記第1の値が前記ユーザによって指定された値である状況において、前記サーバから、前記第2の対策を強制的に実施すべきことを示す前記フラグ情報を含む前記第2の対策情報が受信される場合に、前記第2の対策を実施する、請求項7に記載の通信装置。
【請求項10】
通信装置のためのコンピュータプログラムであって、
前記コンピュータプログラムは、前記通信装置のコンピュータを、以下の各部、即ち、
サーバから、前記通信装置の第1の脆弱性に対する第1の対策に対応する第1の対策情報を受信する第1の受信部と、
前記サーバから前記第1の対策情報が受信される場合に、前記第1の対策を実施する第1の対策実施部と、
前記通信装置が前記第1の対策を実施している状況において、前記サーバから、前記第1の脆弱性に対する第2の対策に対応する第2の対策情報を受信する第2の受信部と、
前記サーバから前記第2の対策情報が受信される場合に、前記第1の対策を無効化する無効化部と、
前記サーバから前記第2の対策情報が受信される場合に、前記第2の対策を実施する第2の対策実施部と、
として機能させる、通信装置。
【請求項11】
通信装置によって実行される方法であって、
サーバから、前記通信装置の第1の脆弱性に対する第1の対策に対応する第1の対策情報を受信する第1の受信工程と、
前記サーバから前記第1の対策情報が受信される場合に、前記第1の対策を実施する第1の対策実施工程と、
前記通信装置が前記第1の対策を実施している状況において、前記サーバから、前記第1の脆弱性に対する第2の対策に対応する第2の対策情報を受信する第2の受信工程と、
前記サーバから前記第2の対策情報が受信される場合に、前記第1の対策を無効化する無効化工程と、
前記サーバから前記第2の対策情報が受信される場合に、前記第2の対策を実施する第2の対策実施工程と、
を備える、方法。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、通信装置のセキュリティを高めるための技術に関する。
【背景技術】
【0002】
特許文献1には、脆弱性影響評価システムが開示されている。脆弱性影響評価システムは、脆弱性情報を収集し、評価対象システムと当該脆弱性情報との関連があると判断する場合に、当該脆弱性情報に含まれる脆弱性対策を評価対象システムに対して実施する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
本明細書では、通信装置のセキュリティを高めることができる技術を開示する。
【課題を解決するための手段】
【0005】
本明細書によって開示される通信装置は、サーバから、前記通信装置の第1の脆弱性に対する第1の対策に対応する第1の対策情報を受信する第1の受信部と、前記サーバから前記第1の対策情報が受信される場合に、前記第1の対策を実施する第1の対策実施部と、前記通信装置が前記第1の対策を実施している状況において、前記サーバから、前記第1の脆弱性に対する第2の対策に対応する第2の対策情報を受信する第2の受信部と、前記サーバから前記第2の対策情報が受信される場合に、前記第1の対策を無効化する無効化部と、前記サーバから前記第2の対策情報が受信される場合に、前記第2の対策を実施する第2の対策実施部と、を備えてもよい。
【0006】
上記の構成によると、通信装置は、第1の脆弱性に対する第1の対策を実施している状況において、サーバから、第1の脆弱性に対する第2の対策を示す第2の対策情報を受信する。この場合、通信装置は、第1の対策を無効化し、第2の対策を実施する。このようにして、通信装置は、第1の脆弱性に対して、最新の対策を実施することができる。このために、通信装置のセキュリティを高めることができる。
【0007】
上記の通信装置のためのコンピュータプログラム、当該コンピュータプログラムを記憶するコンピュータ可読記録媒体、及び、通信装置によって実行される方法も、新規で有用である。
【図面の簡単な説明】
【0008】
【
図3】プリンタによって実行される処理のフローチャートを示す。
【
図8】プリンタによって実行される処理のフローチャートを示す。
【発明を実施するための形態】
【0009】
(第1実施例)
(通信システム2の構成;
図1)
図1に示されるように、通信システム2は、プリンタ10とサーバ100とを備える。プリンタ10は、Local Area Network(LAN)4に接続されている。LAN4は、無線LANであってもよいし、有線LANであってもよい。サーバ100は、インターネット6上に設置される。プリンタ10とサーバ100とは、LAN4及びインターネット6を介して、相互に通信可能である。
【0010】
(プリンタ10の構成)
プリンタ10は、印刷機能を実行可能な周辺装置である。変形例では、プリンタ10は、印刷機能に加えて、スキャン機能、ファクシミリ機能等を実行可能な多機能機であってもよい。プリンタ10は、操作部12と表示部14と通信インターフェース16と印刷エンジン18と制御部30とを備える。各部12~30は、バス線に接続されている。以下では、インターフェースのことを「I/F」と記載する。
【0011】
操作部12は、ユーザが様々な情報をプリンタ10に対して入力することを可能とするI/Fであり、例えばタッチスクリーン、ボタンを備える。ユーザは、操作部12を介して、様々な情報をプリンタ10に入力することができる。表示部14は、様々な情報を表示するためのディスプレイである。通信I/F16は、LAN4に接続されている。印刷エンジン18は、例えばインクジェット方式、レーザ方式の印刷機構を備える。
【0012】
制御部30は、CPU32とメモリ34とを備える。CPU32は、メモリ34に記憶されているプログラム36に従って、様々な処理を実行する。メモリ34は、メモリ34は、ROM、RAM等である。メモリ34は、上記のプログラム36に加えて、履歴テーブル38と、プリンタ10のモデル名と、プリンタ10のファームウェアのバージョンを示すバージョン情報と、を記憶する。履歴テーブル38の内容については、
図2を参照して後述する。
【0013】
(サーバ100の構成)
サーバ100は、プリンタ10を含む様々なプリンタの脆弱性に関する情報、及び、当該脆弱性に対する対策に関する情報を管理する。サーバ100は、通信I/F116と、制御部130と、を備える。通信I/F116と制御部130とは、バス線に接続されている。通信I/F116は、インターネット6に接続されている。
【0014】
制御部130は、CPU132とメモリ134とを備える。CPU132は、メモリ134に記憶されているプログラム136に従って、様々な処理を実行する。メモリ134は、上記のプログラム136に加えて、脆弱性情報テーブル138と、フィルタテーブル140と、設定テーブル142と、メッセージテーブル144と、を記憶する。各テーブル138~144の内容については、
図2を参照して後述する。
【0015】
(各テーブルの内容;
図2)
続いて、
図2を参照して、プリンタ10の履歴テーブル38、及び、サーバ100の各テーブル138~144の内容を説明する。
【0016】
プリンタ10の履歴テーブル38は、プリンタ10の複数の脆弱性のそれぞれに対して、プリンタ10が実施中の対策を示す。履歴テーブル38は、脆弱性を識別する脆弱性IDと、当該脆弱性に対する対策内容と、を関連付けて記憶する。本実施例では、対策内容は、「フィルタ」、「設定」、「メッセージ」、及び、「ファームウェアアップデート」のいずれかである。対策内容の詳細は、各テーブル138~144を説明する際に後述する。
【0017】
サーバ100の脆弱性情報テーブル138は、様々なモデル名のプリンタのそれぞれについて、脆弱性の一覧を示す。
図2では、或るモデル名を有するプリンタ(本実施例ではプリンタ10)の脆弱性の一覧を示す脆弱性情報テーブル138のみが示されている。脆弱性情報テーブル138は、脆弱性IDと対策バージョンと対策内容とを関連付けて記憶する。対策バージョンは、関連する脆弱性IDによって識別される脆弱性に対する対策を実行可能なファームウェアのバージョンを示す。
【0018】
例えばプリンタ10のベンダは、プリンタ10の脆弱性を発見する。この場合、ベンダは、サーバ100の脆弱性情報テーブル138を更新する。プリンタ10の脆弱性が発見された段階では、当該脆弱性に対する対策が未決定であり得る。この場合、脆弱性IDのみが脆弱性情報テーブル138に記憶される(例えば、脆弱性ID「VN5」参照)。即ち、脆弱性情報テーブル138において、当該脆弱性IDには、対策バージョン及び対策内容が関連付けて記憶されない。当該脆弱性に対する対策が決定されると、ベンダは、脆弱性情報テーブル138を更新する。即ち、脆弱性IDに関連付けて対策バージョン及び対策内容が記憶される。
【0019】
フィルタテーブル140は、プリンタに適用すべきフィルタの内容を示し、フィルタNo.とフィルタ内容とを関連付けて記憶する。
図2の例では、例えば、フィルタNo.1とフィルタ内容「block(snmp.method == BULK_READ)」とが関連付けられている。「block(snmp.method == BULK_READ)」は、Simple Network Management Protocol(SNMP)のBULK_READコマンドをブロックする(即ちフィルタリングする)ことを意味する。また、例えばフィルタNo.2に関連付けられている「block(tls.version == 1.0 || tls.version == 1.1)」は、Transport Layer Security(TLS)のver1.0又はver1.1に従ったコマンドをブロックする(即ちフィルタリングする)ことを意味する。このように、一般的に言うと、「フィルタ」は、プリンタにおける或るコマンドの受信をブロックすることを意味する。
【0020】
設定テーブル142は、プリンタに適用すべき設定の内容を示し、設定No.と設定内容とを関連付けて記憶する。
図2の例では、例えば、設定No.1と設定内容「SMTP Server Setting = Disabled」とが関連付けられている。「SMTP Server Setting = Disabled」は、プリンタのSimple Mail Transfer Protocol(SMTP)サーバ設定をオフする、即ちメール送信機能をオフすることを意味する。一般的に言うと、「設定」は、プリンタの特定の設定を変更することを意味する。
【0021】
メッセージテーブル144は、プリンタによって出力されるメッセージの内容を示し、メッセージNo.とメッセージとを関連付けて記憶する。
図2の例では、例えば、メッセージNo.1とメッセージ「デバイスをファイアウォール内で利用してください」とが関連付けられている。
【0022】
なお、新たな対策内容が追加されると、上記のベンダによって、対応するテーブルが更新される。
【0023】
プリンタ10のセキュリティを担保するために、プリンタ10の脆弱性をカバーするファームウェアのアップデートが望まれる。しかしながら、通常、脆弱性が発見されてから新たなファームウェア(即ちプログラム)が準備されるまでには、ある程度の時間がかかる。本実施例では、新たなファームウェアが準備されるまでのプリンタ10のセキュリティを担保するために、上記の「フィルタ」、「設定」、及び、「メッセージ」のいずれかの対策が実施される。
【0024】
(プリンタ10の処理;
図3)
続いて、
図3を参照して、プリンタ10のCPU32によって実行される処理を説明する。
図3の処理は、所定のタイミング(例えば、所定の周期、所定の日時)が到来する場合に開始される。
【0025】
S10では、CPU32は、通信I/F16を介して、問合せをサーバ100に送信する。問合せは、プリンタ10のモデル名を含む。なお、変形例では、S10の処理を省略してもよい。この場合、プリンタ10とサーバ100との間でサーバプッシュ型の通信を実行可能に構成されており、プリンタ10は、問合せをサーバ100に送信することなく、サーバ100から脆弱性情報を受信してもよい。
【0026】
S12では、CPU32は、通信I/F16を介して、サーバ100から、問合せに含まれるモデル名に対応する脆弱性情報を受信する。脆弱性情報は、当該モデル名に対応する脆弱性情報テーブル138に含まれる全ての情報を含む。即ち、脆弱性情報は、脆弱性IDと対策バージョンと対策内容とを含む。さらに、S12では、CPU32は、受信済みの対策内容によって示される具体的な内容も受信する。例えば、受信済みの対策内容が「フィルタNo.1」を含む場合には、CPU32は、フィルタテーブル140においてフィルタNo.1に関連付けられているフィルタ内容「block(snmp.mthod == BULK_READ)」も受信する。なお、変形例では、上記の状況において、CPU32は、例えば、フィルタ内容を含むファイルを受信してもよいし、フィルタ内容を含むスクリプト(即ちコンピュータプログラム)を受信してもよいし、上記のファイルまたはスクリプトが記憶されている位置(例えばサーバ100内の位置)を示す位置情報(例えばURL)を受信してもよい。
【0027】
S20では、CPU32は、受信済みの脆弱性情報に含まれる複数個の脆弱性IDのうちの1つの脆弱性IDを特定する。以下では、ここで特定される脆弱性IDを「対象脆弱性ID」と記載する。また、対象脆弱性IDによって識別される脆弱性を「対象脆弱性」と記載する。
【0028】
S21では、CPU32は、メモリ34内のバージョン情報によって示されるファームウェアのバージョン(以下では「現バージョン」と記載する)と、対象脆弱性IDに関連付けられている対策バージョン(以下では「対象対策バージョン」と記載する)と、を比較する。CPU32は、現バージョンが対象対策バージョンよりも新しいか一致する場合に、S21でYESと判断して、S40に進む。一方、CPU32は、現バージョンが対象対策バージョンよりも古いバージョンである場合、又は、対象対策バージョンが「なし」を示す場合に、S21でNOと判断して、S22に進む。
【0029】
S22では、CPU32は、受信済みの脆弱性情報において、対象脆弱性IDに関連付けられている対策内容が存在するのか否かを判断する。例えば、対象脆弱性が発見されてから間もない場合には、対象脆弱性に対する対策内容が決まっておらず、対象脆弱性IDに関連付けられている対策内容が存在しないことがあり得る(例えば、
図2の脆弱性情報テーブル138の脆弱性ID「VN5」参照)。CPU32は、対象脆弱性IDに関連付けられている対策内容が存在する場合(例えば
図2の脆弱性情報テーブル138の脆弱性ID「VN1」~「VN4」の場合)に、S22でYESと判断して、S24に進む。以下では、対象脆弱性IDに関連付けられている対策内容のことを「対象対策内容」と記載する。一方、CPU32は、対象脆弱性IDに関連付けられている対策内容が存在しない場合(例えば脆弱性情報テーブル138の脆弱性ID「VN5」の場合)に、S22でNOと判断して、S40に進む。
【0030】
S24では、CPU32は、対象脆弱性に対する対策を実施済みであるのか否かを判断する。具体的には、CPU32は、履歴テーブル38が対象脆弱性IDを含むのか否かを判断する。CPU32は、履歴テーブル38が対象脆弱性IDを含むと判断する場合に、S24でYESと判断して、S26に進む。一方、CPU32は、履歴テーブル38が対象脆弱性IDを含まないと判断する場合に、S24でNOと判断して、S30に進む。
【0031】
S26では、CPU32は、プリンタ10が実施済みの対策と、対象対策内容と、が同じであるのか否かを判断する。
具体的には、CPU32は、履歴テーブル38から、対象脆弱性IDに関連付けられている対策内容を特定する。そして、CPU32は、特定済みの対策内容と対象対策内容とが一致する場合に、S26でYESと判断して、S40に進む。一方、CPU32は、特定済みの対策内容と対象対策内容とが一致しない場合に、S26でNOと判断して、S27に進む。
【0032】
S27では、CPU32は、履歴テーブル38において、対象対策内容が、対象脆弱性IDとは異なる他の脆弱性IDに関連付けられているのか否かを判断する。CPU32は、対象対策内容が他の脆弱性IDに関連付けられている場合に、S27でYESと判断して、S30に進む。このために、異なる脆弱性IDによって識別される脆弱性に対して同じ対策が実施されている場合には、S28の処理がスキップされるので当該対策が無効化されない。一方、CPU32は、対象対策内容が他の脆弱性IDに関連付けられていない場合に、S27でNOと判断して、S28に進む。
【0033】
S28では、CPU32は、プリンタ10が実施済みの対策を無効化する。即ち、CPU32は、履歴テーブル38において対象脆弱性IDに関連付けられている対策内容によって示される対策を無効化する。例えば、当該対策内容が「フィルタNo.1」である場合には、SNMPのBULK_READコマンドのブロックを解除する。また、例えば、当該対策内容が「設定No.1」である場合には、SMTPサーバ設定をオンする。また、例えば、当該対策内容が「メッセージNo.1」である場合には、メッセージの表示を停止する。
【0034】
S30では、CPU32は、対策実施処理を実行する。対策実施処理の詳細は、
図4を参照して後述する。
【0035】
S40では、CPU32は、S12で受信済みの脆弱性情報に含まれる全ての脆弱性IDがS20で特定済みであるのか否かを判断する。CPU32は、全ての脆弱性IDが特定済みである場合に、S40でYESと判断して、
図3の処理を終了する。一方、CPU32は、全ての脆弱性IDが特定済みでない場合に、S40でNOと判断して、S20の処理に戻り、他の脆弱性IDを対象脆弱性IDとして特定する。
【0036】
(対策実施処理;
図4)
続いて、
図4を参照して、
図3のS30の対策実施処理を説明する。S50では、CPU32は、対象対策内容が「フィルタ」、「設定」、「メッセージ」、及び「ファームウェアアップデート」のいずれであるのかを判断する。CPU32は、対象対策内容に応じて、S60、S70、S80、S90のいずれかに進む。
【0037】
S60では、CPU32は、対象対策内容によって示されるフィルタを適用する。具体的には、CPU32は、
図3のS12で対象対策内容と共に受信された具体的な対策内容であるフィルタを適用する。例えば、対象対策内容が「フィルタNo.1」である場合には、CPU32は、SNMPのBULK_READコマンドをブロックする(即ちフィルタリングする)。
【0038】
S70では、CPU32は、対象対策内容によって示される設定を適用する。具体的には、CPU32は、
図3のS12で対象対策内容と共に受信された具体的な対策内容である設定を適用する。例えば、対象対策内容が「設定No.1」である場合には、CPU32は、SMTPサーバ設定をオフする。
【0039】
S80では、CPU32は、対象対策内容によって示されるメッセージを表示部14に表示させる。具体的には、CPU32は、
図3のS12で対象対策内容と共に受信された具体的な対策内容であるメッセージを表示部14に表示させる。例えば、対象対策内容が「メッセージNo.1」である場合には、CPU32は、メッセージNo.1によって特定されるメッセージ(即ち「デバイスをファイアウォール内で利用してください」)を含む画面を表示部14に表示させる。
【0040】
S90では、CPU32は、ファームウェアアップデートを実行する。具体的には、CPU32は、対象対策内容に関連付けられている対象対策バージョンを特定する。そして、CPU32は、所定のファームウェアサーバ(図示省略)にアクセスして、特定済みの対象対策バージョンのファームウェアをダウンロードし、当該ファームウェアにアップデートする。
【0041】
S92では、CPU32は、履歴テーブル38を更新する。具体的には、CPU32は、対象脆弱性IDと対象対策内容とを関連付けて履歴テーブル38に記憶する。特に、
図3のS28を経たS92では、対象脆弱性IDに関連付けて、当該対象脆弱性IDに関連付けられて記憶されている対策内容に代えて、対象対策内容を履歴テーブル38に記憶する。S92の処理が終了すると、
図4の処理が終了する。
【0042】
(具体的なケース;
図5)
続いて、
図5を参照して、
図3及び
図4の処理によって実現される具体的なケースを説明する。
図5の初期状態では、プリンタ10のファームウェアのバージョンは「ver.D」である。また、プリンタ10において、何の対策も実施されていない。即ち、
図5の初期状態では、プリンタ10の履歴テーブル38はブランクである。また、サーバ100の脆弱性情報テーブル138は、プリンタ10の脆弱性として、5つの脆弱性ID「VN1」~「VN5」によって識別される5つの脆弱性を記憶している。なお、以下では、各デバイス(例えばプリンタ10、サーバ100)のCPU(例えば、32,132)が実行する処理について、理解の容易さの観点から、各CPUを処理の主体として記載せずに、各デバイスを処理の主体として記載する。また、各デバイス間の通信は、通信I/F(例えば16,116)を介して実行される。従って、以下の説明では、通信に関する説明をする際に、「通信I/Fを介して」という記載を省略する。
【0043】
所定タイミングが到来すると(
図3の処理のトリガ)、プリンタ10は、T10において、プリンタ10のモデル名を含む問合せをサーバ100に送信する(S10)。
【0044】
サーバ100は、T10において、プリンタ10から問合せを受信すると、問合せに含まれるモデル名を利用して、当該モデル名のプリンタの脆弱性を示す脆弱性情報テーブル138を特定する。次いで、サーバ100は、特定済みの脆弱性情報テーブル138に含まれる対策内容によって示される具体的な内容を、各テーブル140~144から特定する。そして、サーバ100は、T12において、特定済みのこれらの情報を含む脆弱性情報をプリンタ10に送信する。
【0045】
プリンタ10は、T12において、サーバ100から脆弱性情報を受信する(S12)。この場合、まず、プリンタ10は、受信済みの脆弱性情報から、1個の脆弱性ID「VN1」を特定する(S20)。脆弱性ID「VN1」には、対策バージョン「なし」及び対策内容「フィルタNo.1」が関連付けて記憶されている(S21でNO、S22でYES)。さらに、履歴テーブル38は現時点ではブランクである(S24でNO)。従って、プリンタ10は、T20において、脆弱性ID「VN1」に関連付けられている対策内容「フィルタNo.1」によって示されるフィルタを適用する(S30、
図4のS50で「フィルタ」、S60)。即ち、プリンタ10は、SNMPのBULK_READコマンドをブロックする。そして、プリンタ10は、T22において、脆弱性ID「VN1」と対策内容「フィルタNo.1」とを関連付けて履歴テーブル38に記憶する(S92)。
【0046】
次いで、プリンタ10は、サーバ100から受信済みの脆弱性情報から、他の脆弱性ID「VN2」を特定する(
図3のS40でNO、S20)。脆弱性ID「VN2」には、対策バージョン「なし」及び対策内容「設定No.1」が関連付けて記憶されている(S21でNO、S22でYES)。さらに、現時点では、履歴テーブル38は、脆弱性ID「VN2」を記憶していない(S24でNO)。従って、プリンタ10は、T30において、脆弱性ID「VN2」に関連付けられている対策内容「設定No.1」によって示されるフィルタを適用する(S30、
図4のS50で「設定」、S70)。即ち、プリンタ10は、SMTPサーバ設定をオフする。そして、プリンタ10は、T32において、脆弱性ID「VN2」と対策内容「設定No.1」とを関連付けて履歴テーブル38に記憶する(S92)。このように、プリンタ10は、脆弱性ID「VN1」によって識別される脆弱性に対する対策を実施済みの状況であっても、当該対策を無効化せずに、異なる脆弱性ID「VN2」によって識別される脆弱性に対する対策を実施することができる。従って、プリンタ10の脆弱性のそれぞれについて適切に対策を実施することができる。
【0047】
次いで、プリンタ10は、サーバ100から受信済みの脆弱性情報から、他の脆弱性ID「VN3」を特定する(
図3のS40でNO、S20)。脆弱性ID「VN3」には、対策バージョン「なし」及び対策内容「メッセージNo.1」が関連付けて記憶されている(S21でNO、S22でYES)。さらに、現時点では、履歴テーブル38は、脆弱性ID「VN3」を記憶していない(S24でNO)。従って、プリンタ10は、T40において、脆弱性ID「VN3」に関連付けられている対策内容「メッセージNo.1」によって示されるメッセージを表示する(S30、
図4のS50で「メッセージ」、S80)。即ち、プリンタ10は、メッセージ「デバイスをファイアウォール内で利用してください」を含む画面を表示する。そして、プリンタ10は、T42において、脆弱性ID「VN3」と対策内容「メッセージNo.1」とを関連付けて履歴テーブル38に記憶する(S92)。
【0048】
次いで、プリンタ10は、サーバ100から受信済みの脆弱性情報から、他の脆弱性ID「VN4」を特定する(
図3のS40でNO、S20)。脆弱性ID「VN4」には、対策バージョン「ver.E」及び対策内容「ファームウェアアップデート」が関連付けて記憶されており、ここで、現バージョンは「Ver.D」であり、対策バージョン「Ver.E」よりも古いバージョンである(S21でNO、S22でYES)。さらに、現時点では、履歴テーブル38は、脆弱性ID「VN4」を記憶していない(S24でNO)。従って、プリンタ10は、T50において、脆弱性ID「VN4」に関連付けられている対策バージョン「ver.E」及び対策内容「ファームウェアアップデート」に従って、プリンタ10のファームウェアのバージョンをver.Eにアップデートする(S30、
図4のS50で「ファームウェアアップデート」、S90)。そして、プリンタ10は、T52において、脆弱性ID「VN4」と対策内容「ファームウェアアップデート」とを関連付けて履歴テーブル38に記憶する(S92)。
【0049】
次いで、プリンタ10は、サーバ100から受信済みの脆弱性情報から、他の脆弱性ID「VN5」を特定する(
図3のS40でNO、S20)。脆弱性ID「VN5」には、現時点では対策内容が関連付けられていない(S22でNO)。以上の処理によって、サーバ100から受信済みの脆弱性情報に含まれる全ての脆弱性ID「VN1」~「VN5」が特定される(
図3のS40でYES)。
【0050】
T52の処理が実行された後、再び所定タイミングが到来する前に、サーバ100の脆弱性情報テーブル138が更新される。具体的には、まず、脆弱性ID「VN1」に関連付けられる対策バージョン及び対策内容が、それぞれ、「ver.F」、「ファームウェアアップデート」に更新される。さらに、脆弱性ID「VN5」に関連付けて、対策バージョン「なし」と対策内容「フィルタNo.2」とが記憶される。サーバ100の脆弱性情報テーブル138が更新された後に、所定タイミングが再び到来する(
図3の処理のトリガ)。
【0051】
T60の処理は、T10の処理と同様である。T62の処理は、脆弱性情報に含まれる情報が異なる点を除いて、T12の処理と同様である。
【0052】
プリンタ10は、受信済みの脆弱性情報から、脆弱性ID「VN1」を特定する(S20)。脆弱性ID「VN1」には、対策バージョン「ver.F」及び対策内容「ファームウェアアップデート」が関連付けて記憶されており、ここで、現バージョンは「Ver.E」であり、対策バージョン「Ver.F」よりも古いバージョンである(S21でNO、S22でYES)。また、現時点では、履歴テーブル38は、脆弱性ID「VN1」と対策内容「フィルタNo.1」とを関連付けて記憶している(S24YES)。受信済みの脆弱性情報に含まれる脆弱性ID「VN1」に関連付けられている対策内容「ファームウェアアップデート」と、履歴テーブル38において脆弱性ID「VN1」に関連付けられている対策内容「フィルタNo.1」と、が異なる(S26でNO)。従って、プリンタ10は、T70において、フィルタNo.1を無効化する(S28)。即ち、プリンタ10は、SNMPのBULK_READコマンドのブロックを解除する。そして、プリンタ10は、T80において、脆弱性ID「VN1」に関連付けられている対策バージョン「ver.F」及び対策内容「ファームウェアアップデート」に従って、プリンタ10のファームウェアのバージョンをver.Fにアップデートする(S30、
図4のS50で「ファームウェアアップデート」、S90)。そして、プリンタ10は、T82において、脆弱性ID「VN1」に関連付けて、対策内容「フィルタNo.1」に代えて対策内容「ファームウェアアップデート」を履歴テーブル38に記憶する(S92)。このように、プリンタ10は、脆弱性ID「VN1」によって識別される脆弱性に対して、最新の対策を実施することができる。
【0053】
脆弱性ID「VN2」~「VN4」に関連付けて記憶されている対策内容は変更されていない。即ち、各脆弱性ID「VN2」~「VN4」について、プリンタ10が実施済みの対策と、受信済みの脆弱性情報に含まれる対策内容によって示される対策と、が同じであるので(S26でYES)、これらの脆弱性IDについての対策実施処理は実行されない。
【0054】
次いで、プリンタ10は、受信済みの脆弱性情報から、他の脆弱性ID「VN5」を特定する(S20)。脆弱性ID「VN5」には、対策バージョン「なし」及び対策内容「フィルタNo.2」が関連付けて記憶されている(S21でNO、S22でYES)。さらに、現時点では、履歴テーブル38は、脆弱性ID「VN5」を記憶していない(S24でNO)。従って、プリンタ10は、T90において、脆弱性ID「VN5」に関連付けられている対策内容「フィルタNo.2」によって示されるフィルタを適用する(S30、
図4のS50で「フィルタ」、S60)。即ち、プリンタ10は、TLSのver1.0又はver1.1に従ったコマンドをブロックする。そして、プリンタ10は、T92において、脆弱性ID「VN5」と対策内容「フィルタNo.2」とを関連付けて履歴テーブル38に記憶する(S92)。
【0055】
(第1実施例の効果)
上記の構成によると、プリンタ10は、脆弱性ID「VN1」によって識別される脆弱性に対する対策「フィルタNo.1」を実施している状況において、サーバ100から、当該脆弱性に対する新たな対策内容「ファームウェアアップデート」を含む脆弱性情報を受信する(
図5のT60)。この場合、プリンタ10は、対策「フィルタNo.1」を無効化し(T70)、新たな対策「ファームウェアアップデート」を実施する(T80)。このようにして、プリンタ10は、脆弱性ID「VN1」によって識別される脆弱性に対して、最新の対策を実施することができる。このために、プリンタ10のセキュリティを高めることができる。
【0056】
(対応関係)
プリンタ10が、「通信装置」の一例である。サーバ100が、「サーバ」の一例である。脆弱性IDが、「脆弱性識別情報」の一例である。脆弱性ID「VN1」によって識別されるプリンタ10の脆弱性が、「第1の脆弱性」の一例である。脆弱性ID「VN2」~「VN5」のいずれかによって識別されるプリンタ10の脆弱性が、「第2の脆弱性」の一例である。脆弱性ID「VN1」に関連付けられる対策内容「フィルタNo.1」が、「第1の内容情報」の一例である。脆弱性ID「VN1」に関連付けられる対策内容「ファームウェアアップデート」が、「第2の内容情報」の一例である。
【0057】
図3のS12の処理及び
図5のT12の処理が、「第1(及び第3)の受信部」によって実行される処理の一例である。
図3のS12の処理及び
図5のT62の処理が、「第2(及び第3)の受信部」によって実行される処理の一例である。
図4のS60の処理及び
図5のT20の処理が、「第1の対策実施部」によって実行される処理の一例である。
図3のS28の処理及び
図5のT70の処理が、「無効化部」によって実行される処理の一例である。
図4のS90の処理及び
図5のT80の処理が、「第2の対策実施部」によって実行される処理の一例である。
図4のS60及び
図5のT30の処理が、「第3の対策実施部」によって実行される処理の一例である。
図4のS92の処理及び
図5のT22,T32,T42,T52の処理が、「第1の記憶制御部」によって実行される処理の一例である。
図4のS92の処理及び
図5のT82の処理が、「第2の記憶制御部」によって実行される処理の一例である。
【0058】
(第2実施例)
続いて、
図6を参照して、第2実施例を説明する。第2実施例は、対策実施処理の内容が第1実施例とは異なる。なお、
図6では、第1実施例の対策実施処理と同様の処理には、
図4と同じ参照符号を付しており、その詳細な説明は省略する。
【0059】
(対策実施処理;
図6)
CPU32は、
図6のS50において、対象対策内容が「フィルタ」であると判断される場合に、S160に進む。S160では、CPU32は、対象対策内容によって示されるフィルタが、ユーザによって指定されたフィルタと矛盾するのか否かを判断する。例えば、対象対策内容が「フィルタNo.1」(即ちSNMPのBULK_READコマンドをブロックすること)であり、かつ、SNMPのBULK_READコマンドをブロックしないことがユーザによって指定されている状況を想定する。このような状況では、対象対策内容によって示されるフィルタとユーザによって指定されたフィルタとが矛盾するので、CPU32は、S160でYESと判断してS162に進む。一方、CPU32は、対象対策内容によって示されるフィルタとユーザによって指定されたフィルタとが矛盾しない場合、S160でNOと判断して、S60に進む。なお、CPU32は、ユーザによってフィルタが指定されていない場合(即ちデフォルトの通信設定である場合)にも、S160でNOと判断して、S60に進む。
【0060】
S162では、CPU32は、問合画面を表示部14に表示させる。問合画面は、対象対策内容によって示されるフィルタを適用すべきか否か、即ちプリンタ10の通信設定を変更すべきか否か、をユーザに問い合わせるための画面である。なお、問合画面は、対象対策内容によって示されるフィルタとユーザによって指定されたフィルタとが矛盾していることを示すメッセージを含んでいてもよい。
【0061】
S164では、CPU32は、問合画面において、対象対策内容によって示されるフィルタを適用すべきことがユーザによって選択されたのか否かを判断する。CPU32は、対象対策内容によって示されるフィルタを適用すべきことがユーザによって選択される場合に、S164でYESと判断して、S60に進む。一方、CPU32は、対象対策内容によって示されるフィルタを適用すべきでないことがユーザによって選択される場合に、S164でNOと判断して、
図6の処理を終了する。
【0062】
また、CPU32は、S50において、対象対策内容が「設定」であると判断される場合に、S170に進む。S170では、CPU32は、対象対策内容によって示される設定が、ユーザによって指定された設定と矛盾するのか否かを判断する。例えば、対象対策内容が「設定No.1」(即ちSMTPサーバ設定をオフすること)であり、かつ、SMTPサーバ設定をオンすることがユーザによって指定されている状況を想定する。このような状況では、対象対策内容によって示される設定とユーザによって指定された設定とが矛盾するので、CPU32は、S170でYESと判断してS172に進む。一方、CPU32は、対象対策内容によって示される設定とユーザによって指定された設定とが矛盾しない場合に、S170でNOと判断して、S70に進む。なお、CPU32は、ユーザによって設定が指定されていない場合(即ちデフォルトの通信設定である場合)にも、S170でNOと判断して、S70に進む。
【0063】
S172では、CPU32は、問合画面を表示部14に表示させる。問合画面は、対象対策内容によって示される設定を適用すべきか否か、即ちプリンタ10の通信設定を変更すべきか否か、をユーザに問い合わせるための画面である。なお、問合画面は、対象対策内容によって示される設定とユーザによって指定された設定とが矛盾していることを示すメッセージを含んでいてもよい。
【0064】
S174では、CPU32は、問合画面において、対象対策内容によって示される設定を適用すべきことがユーザによって選択されたのか否かを判断する。CPU32は、対象対策内容によって示される設定を適用すべきことがユーザによって選択される場合に、S174でYESと判断して、S70に進む。一方、CPU32は、対象対策内容によって示される設定を適用すべきでないことがユーザによって選択される場合に、S174でNOと判断して、
図6の処理を終了する。
【0065】
(第2実施例の効果)
上記の構成によると、対象対策内容とユーザによって指定された通信設定とが矛盾する場合に、プリンタ10は、対象対策内容によって示される対策をプリンタ10に実施させないことができる(
図6のS160でYES又はS170でYES)。このために、ユーザによって指定された通信設定が変更されることが抑制される。また、対象対策内容とユーザによって指定された通信設定とが矛盾する場合であっても、ユーザは、問合画面(
図6のS162,S172参照)を介して、対象対策内容によって示される対策をプリンタ10に実施させるの否かを選択することができる。
【0066】
(対応関係)
SNMPのBULK_READコマンドをブロックしないことを示す通信設定が、「第1の値」の一例である。SNMPのBULK_READコマンドをブロックすることを示す通信設定(即ちフィルタNo.1によって示される通信設定)が、「第2の値」の一例である。
図6のS162で表示される問合画面及びS172で表示される問合画面が、「問合画面」の一例である。
図6のS162の処理及びS172の処理が、「表示制御部」によって実行される処理の一例である。
【0067】
(第3実施例)
続いて、
図7を参照して、第3実施例を説明する。第3実施例は、サーバ100の脆弱性情報テーブル138がさらに強制フラグを記憶する(
図2参照)。強制フラグは、対策内容を強制的に実施すべきことを示す「YES」と、対策内容を強制的に実施すべきでないことを示す「NO」と、のいずれか一方を示す。本実施例では、強制フラグは、対策内容「フィルタ」又は「設定」が関連付けて記憶される脆弱性IDに関連付け記憶される。即ち、対策内容「メッセージ」又は「ファームウェアアップデート」が関連付けて記憶される脆弱性IDには、強制フラグは関連付けて記憶されない。変形例では、対策内容「メッセージ」又は「ファームウェアアップデート」が関連付けて記憶される脆弱性IDにも、強制フラグが関連付けて記憶されてもよい。なお、
図7では、第2実施例の対策実施処理と同様の処理には、
図6と同じ参照符号を付しており、その詳細な説明は省略する。
【0068】
(対策実施処理;
図7)
CPU32は、
図7のS50において、対象対策内容が「フィルタ」であると判断される場合に、S260に進む。S260では、CPU32は、対象対策内容に関連付けられている強制フラグがYESであるのかNOであるのかを判断する。CPU32は、強制フラグがYESを示す場合に、S260でYESと判断してS60に進み、強制フラグがNOを示す場合に、S260でNOと判断してS160に進む。
【0069】
CPU32は、
図7のS50において、対象対策内容が「設定」であると判断される場合に、S270に進む。S270の処理は、S260の処理と同様である。CPU32は、強制フラグがYESを示す場合に、S270でYESと判断してS70に進み、強制フラグがNOを示す場合に、S270でNOと判断してS170に進む。
【0070】
(第3実施例の効果)
上記の構成によると、プリンタ10は、対象対策内容に関連付けて記憶される強制フラグがYESを示す場合に、対象対策内容とユーザによって指定された通信設定とが矛盾するのか否かに関わらず、対象対策内容によって示される対策を実施することができる。このため、例えば、或る脆弱性に対する対策を強制的に実施させるべき状況において、プリンタ10は、ユーザによって指定された設定に関わらず、対象対策内容によって示される対策を実施することができる。強制フラグが、「フラグ情報」の一例である。
【0071】
(第4実施例)
続いて、
図8を参照して、第4実施例を説明する。第4実施例のプリンタ10は、履歴テーブル38に代えて、実施中対策一覧40を記憶する(
図1、
図2参照)。
図2に示されるように、実施中対策一覧40は、プリンタ10が実施済みの対策内容の一覧を示す。特に、第4実施例では、プリンタ10は、脆弱性IDを記憶しない。
【0072】
(プリンタ10の処理;
図8)
図8を参照して、プリンタ10のCPU32によって実行される処理を説明する。
図8の処理は、所定のタイミング(例えば、所定の周期、所定の日時)が到来する場合に開始される。なお、
図8では、第1実施例のプリンタ10の処理と同様の処理には、
図3と同じ参照符号を付しており、その詳細な説明は省略する。
【0073】
S310では、CPU32は、実施中対策一覧40の中から、実施済みの1個の対策内容を特定する。以下では、ここで特定される対策内容のことを「対象実施対策内容」と記載する。
【0074】
S312では、CPU32は、特定済みの対象実施対策内容が、受信済みの脆弱性情報に含まれるのか否かを判断する。即ち、CPU32は、特定済みの対象実施対策内容が、サーバ100の脆弱性情報テーブル138に記憶されているのか否かを判断する。CPU32は、対象実施対策内容が脆弱性情報に含まれる場合に、S312でYESと判断してS316に進む。一方、CPU32は、対象実施対策内容が脆弱性情報に含まれない場合に、S312でNOと判断してS314に進む。
【0075】
S314では、CPU32は、受信済みの脆弱性情報に含まれない対象実施対策内容(即ち、サーバ100の脆弱性情報テーブル138に含まれない対策内容)を無効化する。S314の具体的な処理は、
図3のS28の処理と同様である。さらに、S314では、CPU32は、無効化した対象実施対策内容を、実施中対策一覧40から削除する。
【0076】
S316では、CPU32は、実施中対策一覧40に含まれる全ての対策内容がS310で特定済みであるのか否かを判断する。CPU32は、全ての対策内容が特定済みである場合に、316でYESと判断して、S20に進む。その後の処理は、
図3のS24~S28の処理が実行されない点を除いて、
図3のS20以降の処理と同様である。一方、CPU32は、全ての対策内容が特定済みでない場合に、S316でNOと判断して、S310の処理に戻り、他の実施中の対策内容を対象実施対策内容として特定する。
【0077】
(第4実施例の効果)
上記の構成によると、プリンタ10は、実施中の対策のうち、サーバ100から受信済みの脆弱性情報(即ちサーバ100の脆弱性情報テーブル138)に含まれない対策を無効化する。このために、プリンタ10は、現在の脆弱性情報テーブル138に基づいて、適切に対策を実施することができる。
【0078】
以上、本明細書が開示する技術の具体例を詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【0079】
(変形例1)プリンタ10において、或る脆弱性IDによって識別される脆弱性に対して、対策内容「フィルタNo.1」によって示される対策が実施されている状況を想定する。この状況で、プリンタ10は、サーバ100から、異なる脆弱性IDと対策内容「フィルタNo.2」とが関連付けられた情報を含む脆弱性情報が受信される場合に、対策内容「フィルタNo.1」によって示される対策を無効化してから、対策内容「フィルタNo.2」によって示される対策を実施してもよい。一般的に言うと、「通信装置が第1の対策を実施している状況において、サーバから、第1の脆弱性とは異なる第2の脆弱性に対する第3の対策に対応する第3の対策情報が受信される」場合に、「第1の対策を無効化」してもよい。
【0080】
(変形例2)プリンタ10において、例えば、対策内容「フィルタNo.1」によって示される対策が実施されている状況を想定する。この状況で、プリンタ10は、サーバ100から、対策内容「フィルタNo.2」を含む脆弱性情報が受信される場合に、当該脆弱性情報がさらに対策内容「フィルタNo.1」を含むのか否かに関わらず、対策内容「フィルタNo.1」によって示される対策を無効化してもよい。さらに、別の変形例では、プリンタ10は、サーバ100から、対策内容「フィルタNo.1」を含まない脆弱性情報が受信される場合に、当該脆弱性情報がさらに対策内容「フィルタNo.2」を含むのか否かに関わらず、対策内容「フィルタNo.1」によって示される対策を無効化してもよい。
【0081】
(変形例3)上記の実施例では、プリンタ10は、
図5のT82において、脆弱性ID「VN1」に関連付けて、対策内容「フィルタNo.1」に代えて対策内容「ファームウェアアップデート」を履歴テーブル38に記憶する。これに代えて、プリンタ10は、
図5のT82において、履歴テーブル38に新たな行を追加して記憶してもよい。即ち、プリンタ10は、
図5のT82において、脆弱性ID「VN1」と対策内容「ファームウェアアップデート」とを関連付けて、新たに履歴テーブル38に記憶(即ち追加)してもよい。本変形例では、「第2の記憶制御部」が省略されてもよい。
【0082】
(変形例4)プリンタ10において、或る脆弱性IDによって識別される脆弱性に対して、対策内容「フィルタNo.1」によって示される対策が実施されている状況を想定する。この状況で、プリンタ10は、サーバ100から、当該脆弱性IDと対策内容「フィルタNo.2」とが関連付けられた情報を含む脆弱性情報が受信される場合に、対策内容「フィルタNo.1」によって示される対策を無効化してから、対策内容「フィルタNo.2」によって示される対策を実施してもよい。一般的に言うと、「第1の対策」と「第2の対策」とは、「通信装置のファームウェアをアップデートすること」、「通信装置の通信設定を変更すること」、「通信装置のユーザに注意を促すメッセージを出力すること」のうちの同じ種類であってもよい。
【0083】
(変形例5)プリンタ10は、
図3のS10において、プリンタ10のモデル名に加えて、プリンタ10の現バージョンを含む問合せをサーバ100に送信してもよい。この場合、プリンタ10は、サーバ100から、現バージョンよりも古い対策バージョンが関連付けられている脆弱性情報のみを受信してもよい。本変形例では、プリンタ10は、
図3のS21の処理を省略可能である。
【0084】
(変形例6)第4実施例のプリンタ10は、
図8のS12において、サーバ100から、脆弱性IDを含まない脆弱性情報を受信してもよい。
【0085】
(変形例7)上記の実施例では、
図3~
図8の各ステップの処理がソフトウェア(例えば、プログラム36,136)によって実現されるが、これらの各処理の少なくとも一つが、論理回路等のハードウェアによって実現されてもよい。
【0086】
本特許出願時の特許請求の範囲において、各請求項が一部の請求項のみに従属している場合であっても、各請求項が当該一部の請求項のみに従属可能であることに限定されない。技術的に矛盾しない範囲において、各請求項は、出願時に従属していない他の請求項にも従属可能である。即ち、各請求項の技術は以下のように様々に組み合わせることができる。
(項目1)
通信装置であって、
サーバから、前記通信装置の第1の脆弱性に対する第1の対策に対応する第1の対策情報を受信する第1の受信部と、
前記サーバから前記第1の対策情報が受信される場合に、前記第1の対策を実施する第1の対策実施部と、
前記通信装置が前記第1の対策を実施している状況において、前記サーバから、前記第1の脆弱性に対する第2の対策に対応する第2の対策情報を受信する第2の受信部と、
前記サーバから前記第2の対策情報が受信される場合に、前記第1の対策を無効化する無効化部と、
前記サーバから前記第2の対策情報が受信される場合に、前記第2の対策を実施する第2の対策実施部と、
を備える、通信装置。
(項目2)
前記通信装置は、さらに、
前記通信装置が前記第1の対策を実施している状況において、前記サーバから、前記第1の脆弱性とは異なる第2の脆弱性に対する第3の対策に対応する第3の対策情報を受信する第3の受信部と、
前記サーバから前記第3の対策情報が受信される場合に、前記第1の対策を無効化することなく、前記第3の対策を実施する第3の対策実施部と、
を備える、項目1に記載の通信装置。
(項目3)
前記無効化部は、前記通信装置が前記第1の対策を実施している状況において、前記サーバから、前記第1の対策情報が受信されることなく、前記第2の対策情報が受信される場合に、前記第1の対策を無効化する、項目1又は2に記載の通信装置。
(項目4)
前記第1の対策情報は、前記第1の脆弱性を識別する脆弱性識別情報と、前記第1の対策を示す第1の内容情報と、を含み、
前記通信装置は、さらに、
メモリと、
前記サーバから前記第1の対策情報が受信される場合に、前記第1の対策情報に含まれる前記脆弱性識別情報と、前記第1の対策情報に含まれる前記第1の内容情報と、を関連付けて前記メモリに記憶させる第1の記憶制御部と、を備え、
前記第2の対策情報は、前記脆弱性識別情報と、前記第2の対策を示す第2の内容情報と、を含み、
前記無効化部は、前記サーバから前記第2の対策情報が受信される場合に、前記第2の対策情報に含まれる前記脆弱性識別情報に関連付けて前記メモリに記憶されている前記第1の内容情報によって示される前記第1の対策を無効化する、項目1から3のいずれか一項に記載の通信装置。
(項目5)
前記通信装置は、さらに、
前記サーバから前記第2の対策情報が受信される場合に、前記脆弱性識別情報に関連付けて、前記第1の内容情報に代えて、前記第2の対策情報に含まれる前記第2の内容情報を前記メモリに記憶させる第2の記憶制御部を備える、項目4に記載の通信装置。
(項目6)
前記第1の対策は、
前記通信装置のファームウェアをアップデートすること、
前記通信装置の通信設定を変更すること、及び、
前記通信装置のユーザに注意を促すメッセージを出力すること、
のうちの1つであり、
前記第2の対策は、
前記通信装置の前記ファームウェアをアップデートすること、
前記通信装置の前記通信設定を変更すること、及び、
前記通信装置の前記ユーザに注意を促す前記メッセージを出力すること、
のうちの他の1つである、項目1から5のいずれか一項に記載の通信装置。
(項目7)
前記第2の対策は、前記通信装置の特定の通信設定を第1の値から第2の値に変更することを含み、
前記特定の通信設定が前記第1の値であり、かつ、前記第1の値がユーザによって指定された値である状況において、前記サーバから前記第2の対策情報が受信される場合に、前記第2の対策は実施されず、
前記第2の対策実施部は、前記特定の通信設定が前記第1の値であり、かつ、前記第1の値が前記通信装置の出荷段階から予め指定された値である状況において、前記サーバから前記第2の対策情報が受信される場合に、前記第2の対策を実施する、項目1から6のいずれか一項に記載の通信装置。
(項目8)
前記通信装置は、さらに、
前記特定の通信設定が前記第1の値であり、かつ、前記第1の値が前記ユーザによって指定された値である状況において、前記サーバから前記第2の対策情報が受信される場合に、前記第2の対策を実施すべきか否かを前記通信装置のユーザに問い合わせるための問合画面を前記通信装置の表示部に表示させる表示制御部を備え、
前記問合画面において、前記第2の対策を実施すべきでないことが前記ユーザによって選択される場合に、前記第2の対策は実施されず、
前記第2の対策実施部は、前記問合画面において、前記第2の対策を実施すべきことが前記ユーザによって選択される場合に、前記第2の対策を実施する、項目7に記載の通信装置。
(項目9)
前記第2の対策情報は、前記第2の対策を強制的に実施すべきか否かを示すフラグ情報を含み、
前記特定の通信設定が前記第1の値であり、かつ、前記第1の値が前記ユーザによって指定された値である状況において、前記サーバから、前記第2の対策を強制的に実施すべきでないことを示す前記フラグ情報を含む前記第2の対策情報が受信される場合に、前記第2の対策は実施されず、
前記第2の対策実施部は、前記特定の通信設定が前記第1の値であり、かつ、前記第1の値が前記ユーザによって指定された値である状況において、前記サーバから、前記第2の対策を強制的に実施すべきことを示す前記フラグ情報を含む前記第2の対策情報が受信される場合に、前記第2の対策を実施する、項目7又は8に記載の通信装置。
(項目10)
通信装置のためのコンピュータプログラムであって、
前記コンピュータプログラムは、前記通信装置のコンピュータを、以下の各部、即ち、
サーバから、前記通信装置の第1の脆弱性に対する第1の対策に対応する第1の対策情報を受信する第1の受信部と、
前記サーバから前記第1の対策情報が受信される場合に、前記第1の対策を実施する第1の対策実施部と、
前記通信装置が前記第1の対策を実施している状況において、前記サーバから、前記第1の脆弱性に対する第2の対策に対応する第2の対策情報を受信する第2の受信部と、
前記サーバから前記第2の対策情報が受信される場合に、前記第1の対策を無効化する無効化部と、
前記サーバから前記第2の対策情報が受信される場合に、前記第2の対策を実施する第2の対策実施部と、
として機能させる、通信装置。
(項目11)
通信装置によって実行される方法であって、
サーバから、前記通信装置の第1の脆弱性に対する第1の対策に対応する第1の対策情報を受信する第1の受信工程と、
前記サーバから前記第1の対策情報が受信される場合に、前記第1の対策を実施する第1の対策実施工程と、
前記通信装置が前記第1の対策を実施している状況において、前記サーバから、前記第1の脆弱性に対する第2の対策に対応する第2の対策情報を受信する第2の受信工程と、
前記サーバから前記第2の対策情報が受信される場合に、前記第1の対策を無効化する無効化工程と、
前記サーバから前記第2の対策情報が受信される場合に、前記第2の対策を実施する第2の対策実施工程と、
を備える、方法。
【符号の説明】
【0087】
2:通信システム、4:LAN、6:インターネット、10:プリンタ、12:操作部、14:表示部、16,116:通信I/F、18:印刷エンジン、30,130:制御部、32、132:CPU、34,134:メモリ、36,136:プログラム、38:履歴テーブル、40:実施中対策一覧、138:脆弱性情報テーブル、140:フィルタテーブル、142:設定テーブル、144:メッセージテーブル