以下に添付図面を参照して、遠隔管理システム、管理装置、遠隔管理方法、及び遠隔管理プログラムの実施形態を詳細に説明する。
(第1の実施形態)
図1は、第1の実施形態に係る遠隔管理システムの構成の一例を示すブロック図である。図1に示す例において、遠隔管理システム1は、例えばオフィス等の環境に適用され、管理装置50と、仲介装置40a,40bと、通信制御装置10a,10bと、通信処理装置20a,20bと、端末30a1,30a2,30a3,30b1,30b2,30b3と、検知装置4a,4bとを含む。以下、上述した仲介装置40a,40bを総称する場合は、仲介装置40と称する。また、上述した通信制御装置10a,10bを総称する場合は、通信制御装置10と称する。また、上述した通信処理装置20a,20bを総称する場合は、通信処理装置20と称する。また、上述した端末30a1,30a2,30a3,30b1,30b2,30b3を総称する場合は、端末30と称する。また、上述した検知装置4a,4bを総称する場合は、検知装置4と称する。
図1に示す例において、仲介装置40a、通信制御装置10a、通信処理装置20a、端末30a1,30a2,30a3、及び検知装置4aは、「サイトA」に設けられている。仲介装置40b、通信制御装置10b、通信処理装置20b、端末30b1,30b2,30b3、及び検知装置4bは、「サイトB」に設けられている。なお、端末30a1,30a2,30a3,30b1,30b2,30b3は、それぞれのサイト毎に、さらに多数を含んでもよい。また、通信処理装置20a,20bは、それぞれのサイト毎に、複数含んでもよい。以下、上述した端末30a1,30a2,30a3を総称する場合は、端末30aと称する。また、上述した端末30b1,30b2,30b3を総称する場合は、端末30bと称する。
管理装置50は、端末30を遠隔管理する装置であり、例えばインターネット等のクラウドネットワークであるネットワーク2に接続されている。
仲介装置40は、端末30と管理装置50との間の情報の伝送を仲介する装置である。仲介装置40aは、ルータ5aを介して、ネットワーク2と接続可能となっている。また、仲介装置40bは、ルータ5bを介して、ネットワーク2と接続可能となっている。以下、上述したルータ5a,5bを総称する場合は、ルータ5と称する。ルータ5は、ファイアウォール機能を有する構成であっても良い。
通信制御装置10a、通信処理装置20a、及び検知装置4aは、例えばLAN等のプライベートネットワークであるネットワーク3aに接続されている。また、通信制御装置10a、通信処理装置20a、及び検知装置4aは、仲介装置40a及びルータ5aを介して、ネットワーク2と接続可能となっている。通信制御装置10b、通信処理装置20b、及び検知装置4bは、ネットワーク3aと同様の、例えばLAN等のプライベートネットワークであるネットワーク3bに接続されている。また、通信制御装置10b、通信処理装置20b、及び検知装置4bは、仲介装置40b及びルータ5bを介して、ネットワーク2と接続可能となっている。
端末30aは、通信処理装置20aを介して、ネットワーク3aと接続される。また、端末30aは、通信処理装置20a、仲介装置40a及びルータ5aを介して、ネットワーク2と接続可能となっている。端末30bは、通信処理装置20bを介して、ネットワーク3bと接続される。また、端末30bは、通信処理装置20b、仲介装置40b及びルータ5bを介して、ネットワーク2と接続可能となっている。以下、上述したネットワーク3a,3bを総称する場合は、ネットワーク3と称する。
端末30は、管理装置50の管理対象であり、通信機能を有するネットワーク端末である。本開示において、端末30は、例えばデジタル複合機(MFP;Multifunction Peripheral)や、プロジェクションシステム(PJS;Projection System)、PC(Personal Computer)等が例示される。端末30は、自身に関する端末情報を、仲介装置40に送信する機能を有している。
端末情報は、端末30の属性に関する複数の項目を含む情報である。端末情報としては、例えば、端末30の端末IDや、端末30のIPアドレス、種別、OS(Operating System)、ソフトウェアバージョン等を含む。端末IDは、端末30毎に固有の識別情報であって、例えばMAC(Media Access Control)アドレスを用いることができる。
検知装置4は、ネットワーク3内の通信を監視し、コンピュータウィルス等のマルウェアの感染活動など動的な不正を検知する。以下、上述のような不正な通信を「不正通信」と称する。なお、不正通信の要因としては、コンピュータウィルス等のマルウェアの感染活動の他に、Dos(Denial of Service)攻撃や、DDoS(Distributed Denial of Service)攻撃、ポートスキャン(Port Scan)攻撃、PoD(Ping of Death)攻撃等のサイバー攻撃が考えられる。
検知装置4は、ネットワーク3上における不正通信を検知したとき、不正通信の発信元端末のIPアドレスを仲介装置40に送信する機能を有している。
図2は、第1の実施形態に係る管理装置のハードウェア構成の一例を示すブロック図である。図2において、管理装置50は、CPU(Central Processing Unit)5000と、ROM(Read Only Memory)5001と、RAM(Random Access Memory)5002と、ストレージ5003と、データI/F5004と、通信I/F5005とを含み、これらがバス5010により互いに通信可能に接続される。このように、管理装置50は、一般的なコンピュータと同様の構成により実現できる。
CPU5000は、ストレージ5003に記憶されたプログラムをRAM5002に展開して実行し、各部品を制御してデータの入出力や、データの加工を行う。
ROM5001は、不揮発性の記憶媒体である。ROM5001には、BIOS(Basic Input/Output System)およびブートストラップローダをストレージ5003からRAM5002に読み出すスタートプログラムが記憶されている。ブートストラップローダは、OS(Operating System)をストレージ5003からRAM5002に読み出す。
RAM5002は、読み書き可能な記憶媒体であれば良く、例えばSRAM(Static Random Access Memory)やDRAM(Dynamic Random Access Memory)等を採用することができる。
ストレージ5003は、ハードディスクドライブや不揮発性半導体メモリ(フラッシュメモリ)などの不揮発性の記憶媒体である。ストレージ5003は、SSD(Solid State Drive)等に置き換えてもよい。ストレージ5003は、OSおよびデバイスドライバを記憶している。
通信I/F5005は、CPU5000の指示に従い、ネットワーク2を介した通信を制御する。データI/F5004は、外部の機器との間でデータの入出力を行うためのインターフェースであって、例えばUSB(Universal Serial Bus)を適用できる。
図3は、第1の実施形態に係る仲介装置のハードウェア構成の一例を示すブロック図である。図3において、仲介装置40は、CPU(Central Processing Unit)4000と、ROM(Read Only Memory)4001と、RAM(Random Access Memory)4002と、ストレージ4003と、通信I/F4004と、通信I/F4005とを含み、これらがバス4010により互いに通信可能に接続される。このように、仲介装置40は、管理装置50と同様に、一般的なコンピュータと同様の構成により実現できる。
CPU4000は、ストレージ4003に記憶されたプログラムをRAM4002に展開して実行し、各部品を制御してデータの入出力や、データの加工を行う。
ROM4001は、不揮発性の記憶媒体である。ROM4001には、BIOS(Basic Input/Output System)およびブートストラップローダをストレージ4003からRAM4002に読み出すスタートプログラムが記憶されている。ブートストラップローダは、OS(Operating System)をストレージ4003からRAM4002に読み出す。
RAM4002は、読み書き可能な記憶媒体であれば良く、例えばSRAM(Static Random Access Memory)やDRAM(Dynamic Random Access Memory)等を採用することができる。
ストレージ4003は、ハードディスクドライブや不揮発性半導体メモリ(フラッシュメモリ)などの不揮発性の記憶媒体である。ストレージ4003は、SSD(Solid State Drive)等に置き換えてもよい。ストレージ4003は、OSおよびデバイスドライバを記憶している。
通信I/F4004は、CPU4000の指示に従い、ルータ5を介して、ネットワーク2上の管理装置50との通信を制御する。通信I/F4005は、CPU4000の指示に従い、ネットワーク3を介した通信を制御する。
図4は、第1の実施形態に係る仲介装置の機能を説明するための機能ブロックの一例を示す図である。図4に示すように、本実施形態の仲介装置40は、第1接続部401aと、第2接続部401bと、第1端末情報抽出部402と、処理部403と、記憶部404とを含む。これら第1接続部401a、第2接続部401b、第1端末情報抽出部402、処理部403、及び記憶部404は、CPU4000上で動作するプログラムが動作することにより構成される。これに限らず、これら第1接続部401a、第2接続部401b、第1端末情報抽出部402、処理部403、及び記憶部404を、互いに協働して動作するハードウェア回路により構成してもよい。
第1接続部401aは、通信I/F4004を制御してネットワーク2上の管理装置50との通信を行う。第2接続部401bは、通信I/F4005を制御してネットワーク3に接続し、ネットワーク3を介した通信を行う。
処理部403は、第1接続部401a及び第2接続部401bに入力されたパケットを処理する。本開示における処理部403の具体的な処理については、後述する遠隔管理処理において詳細に説明する。
記憶部404は、図4に示すように、第1端末情報リスト410を記憶する。
第1端末情報リスト410には、上述した端末情報のうち、端末30の端末ID及びIPアドレスが登録される。図5Aは、サイトAにおける第1端末情報リストのテーブル構成の一例を示す図である。図5Aに示す例では、サイトAの3台の端末30a1,30a2,30a3が登録されている。図5Bは、サイトBにおける第1端末情報リストのテーブル構成の一例を示す図である。図5Bに示す例では、サイトBの3台の端末30b1,30b2,30b3が登録されている。
図5A及び図5Bに示すように、第1端末情報リスト410は、項目として、少なくとも端末30の「端末ID」及び「IPアドレス」を含む。
項目「端末ID」は、遠隔管理システム1における端末30の固有の識別子である端末IDが設定される項目である。
項目「IPアドレス」は、端末30のIPアドレスが設定される項目である。
図4に戻り、第1端末情報抽出部402は、例えば、管理対象の端末30から送信される端末情報に含まれる「端末ID」及び「IPアドレス」を抽出する。また、第1端末情報抽出部402は、抽出した各端末30の「端末ID」及び「IPアドレス」を、第1端末情報リスト410に登録する。
図6は、第1の実施形態に係る管理装置の機能を説明するための機能ブロックの一例を示す図である。図6に示すように、本実施形態の管理装置50は、接続部501と、第2端末情報抽出部502と、制御部503と、記憶部504とを含む。これら接続部501、第2端末情報抽出部502、制御部503、及び記憶部504は、CPU5000上で動作するプログラムが動作することにより構成される。これに限らず、これら接続部501、第2端末情報抽出部502、制御部503、及び記憶部504を、互いに協働して動作するハードウェア回路により構成してもよい。
接続部501は、通信I/F5005を制御してネットワーク2に接続し、ネットワーク2を介した通信を行う。
制御部503は、接続部501に入力されたパケットに基づき、例えば、管理対象の端末30に関する制御内容を生成する。本開示における制御部503の具体的な制御については、後述する遠隔管理処理において詳細に説明する。
記憶部504は、図6に示すように、第2端末情報リスト510及び制御内容リスト511を記憶する。
第2端末情報リスト510には、上述した端末情報のうち、端末30の端末IDと、端末30の種別、OS(Operating System)、ソフトウェアバージョン等を含む端末30毎に定義される属性と、端末30の場所(サイト)とが関連付けられ登録される。図7は、第2端末情報リストのテーブル構成の一例を示す図である。図7に示す例では、サイトAの3台の端末30a1,30a2,30a3、及び、サイトBの3台の端末30b1,30b2,30b3が登録されている。
図7に示すように、第2端末情報リスト510は、項目として、少なくとも端末30の「端末ID」、「属性」、及び端末30が設けられた「場所(サイト)」を含む。
項目「端末ID」は、遠隔管理システム1における端末30の固有の識別子である端末IDが設定される項目である。
項目「属性」は、端末30の種別、OS(Operating System)、ソフトウェアバージョン等を含む端末30毎に定義される属性が設定される項目である。端末30の種別としては、例えば、「MFP(デジタル複合機)」、「PJS(プロジェクションシステム)」、「PC」等の端末30の製品名が例示される。図7では、端末30a1,30a2が同一の属性「MFP(OS ver.1.0)」であり、端末30a3,30b2,30b3が同一の属性「PJS(OS ver.1.0)」であり、端末30b1が属性「PC(OS ver.1.0)」である例を示している。なお、項目「属性」に含まれる情報としては、上記に限るものではなく、例えば、上述した各情報のうち、例えば、端末30の製品名等、端末30が有する1つ以上の属性を含む構成であっても良いし、製品の型番等を含んでいても良い。また、項目「属性」を2つ以上の複数含んでいても良い。
項目「場所(サイト)」は、端末30が設けられている場所(図1に示す例では、「サイトA」又は「サイトB」)が設定される項目である。
図6に戻り、第2端末情報抽出部502は、例えば、管理対象の端末30から送信される端末情報に含まれる「端末ID」及び「属性」を抽出する。また、第2端末情報抽出部502は、抽出した各端末30の「端末ID」及び「属性」を、端末30が設けられている「場所(サイト)」に関連付けて第2端末情報リスト510に登録する。
制御内容リスト511には、端末30の属性ごとに定義された制御内容が予め登録されている。図8は、制御内容リストのテーブル構成の一例を示す図である。図8に示す例では、「サイトA」及び「サイトB」に設けられている各端末30の「属性」に対応した制御内容が登録されている。
図8に示すように、制御内容リスト511は、項目として、少なくとも遠隔管理システム1内の端末30において想定される「属性」、及び、これら「属性」に対応した「制御内容」を含む。
項目「属性」は、端末30の種別、OS(Operating System)、ソフトウェアバージョン等を含む端末30毎に定義される属性が設定される項目である。この項目「属性」の内容は、上述した第2端末情報抽出部502における項目「属性」と同様である。
項目「制御内容」は、項目「属性」に対応した制御内容が設定される項目である。図8では、属性「MFP(OS ver.1.0)」に対する制御内容として、「・操作パネルに遮断可否判断ダイアログを表示」することが登録され、属性「PJS(OS ver.1.0)」に対する制御内容として、「・全通信を遮断」することが登録され、属性「PC(OS ver.1.0)」に対する制御内容として、「・プロトコルがHTTP又はHTTPSである通信を除く通信を遮断」することが登録された例を示している。
管理装置50における各機能を実現するためのプログラムは、インストール可能な形式または実行可能な形式のファイルでCD(Compact Disk)、フレキシブルディスク(FD)、DVD(Digital Versatile Disk)などのコンピュータで読み取り可能な記録媒体に記録して提供される。これに限らず、当該プログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、当該ネットワークを介してダウンロードさせることにより提供してもよい。また、当該プログラムをインターネットなどのネットワークを経由して提供または配布するように構成してもよい。
上述のようにして提供されコンピュータに格納されたプログラムは、例えば、当該コンピュータから、データI/F5004を介して管理装置50に供給されてストレージ5003またはROM5001に記憶される。
当該プログラムは、上述した各部(接続部501、第2端末情報抽出部502、制御部503、及び記憶部504)を含むモジュール構成となっている。実際のハードウェアとしては、CPU5000がROM5001やストレージ5003などの記憶媒体から当該通信制御プログラムを読み出して実行することにより、上述した各部がRAM5002などの主記憶装置上にロードされ、接続部501、第2端末情報抽出部502、制御部503、及び記憶部504が主記憶装置上に生成されるようになっている。
これに限らず、例えば、接続部501、第2端末情報抽出部502、制御部503、及び記憶部504の基本的な機能を提供するプログラムがROM5001又はストレージ5003に予め記憶され、管理装置50に対して、これら接続部501、第2端末情報抽出部502、制御部503、及び記憶部504の動作を定義するパラメータなどを供給するようにもできる。
図1に戻り、通信制御装置10は、検知装置4と同一のネットワークであるネットワーク3上に設けられている。通信制御装置10は、通信処理装置20との間で、例えば「OpenFlow(オープンフロー)」と呼ばれる、Software Defined Networkingプロトコルで通信接続を確立している。
ここで、OpenFlow(登録商標)について説明する。OpenFlowは、仮想化されたネットワーク上での通信を制御する手法(プロトコル)の一つである。OpenFlowは、通信をエンド・ツー・エンドのフローとして捉えて、そのフロー単位に経路制御、負荷分散、最適化等を行うことができる。具体的には、OpenFlowは、データ通信経路の中継機器等において自立分散的に各データパケットを解析して転送するのではなく、集中制御型に変えることで実現する。
OpenFlowでは、データの解析と転送先判断及び決定制御とを行う「コントロール・プレーン」と、パケットの物理的な伝送を担う部分である「データ・プレーン」とを分離する。OpenFlowでは、コントロール・プレーンを司る通信制御装置10が通信制御ルールを指示し、データ・プレーンを担う通信処理装置20が通信制御装置10の指示に従ってパケットの転送を行う。より具体的には、通信処理装置20は、通信制御装置10が追加及び書き換えを行う、通信処理装置20が持つフローテーブルが有するフローエントリに従って、パケットの転送を行う。
通信処理装置20は、パケットのヘッダの情報に基づきパケットを識別する。ヘッダは、「受信ポート」、「送信元MAC(Media Access Control)アドレス」、「宛先MACアドレス」、「プロトコル種別」、「VLAN(Virtual Local Area Network) ID」、「VLAN PCP(VLAN Priority Code Point)値」、「送信元IPアドレス」、「宛先IPアドレス」、「プロトコル番号」、「ToS(Type of Service)値」、「送信元ポート番号」および「宛先ポート番号」の、12種類のヘッダフィールドを含む。識別に使用しないヘッダフィールドには、ワイルドカードを指定することで、任意のヘッダフィールドを識別条件として用いることができる。
通信制御装置10は、遠隔管理システム1の起動後に、通信処理装置20との間にOpenFlow(OF)チャネルと呼ばれる通信経路が確立されると、フローテーブルおよびフローエントリを通信処理装置20に転送する。通信処理装置20は、OFチャネル確立後、Modify-Stateメッセージに伴い通信制御装置10から転送されたフローテーブル及びフローエントリを、初期設定のフローテーブル及びフローエントリとして、メモリに記憶させる。
ここで、OpenFlowにおいては、同じルールを持つ通信の集合体を「フロー」と称する。例えば、宛先IPアドレスが同一のIPアドレスであり、且つ、各々同一の処理がなされる一連のパケットの通信は、1つのフローを構成する。通信制御装置10は、ユーザにより定義されたフローを通信処理装置20に指示する。通信処理装置20は、指示されたフローをフローエントリとして、フローテーブルに登録する。フローエントリは、パケットを判別する条件(Match)と、条件に従い判別されたパケットを受信した場合の動作(Action)との組み合わせを含む。フローテーブルは、0以上のフローエントリが登録される。すなわち、通信処理装置20の初期状態では、フローテーブルにはフローエントリが含まれない。
このような仕組みを用いることで、上述したネットワークの仮想化を制御するためのツールなどとしてOpenFlowを活用できる。
通信処理装置20は、端末30とネットワーク3との間の通信を仲介する。通信制御装置10は、OpenFlowに規定されるModify-Stateメッセージを、ネットワーク3を介して送信し、通信処理装置20が有するフローテーブルのフローエントリを設定することができる。
通信処理装置20は、端末30からパケットが入力されると、パケットの先頭に記述されたヘッダの情報を読み込み、読み込んだヘッダ情報を解析する。ヘッダは、パケットの通信に適用されるプロトコル毎に付与されており、通信処理装置20は、OSI参照モデル(Open Systems Interconnection reference model)におけるトランスポート層以下のヘッダから特定の情報を抽出することができる。通信処理装置20が抽出するヘッダ情報の例としては、送信元および宛先のMAC(Media Access Control)アドレス、IP(Internet Protocol)アドレス、TCP(Transmission Control Protocol)またはUDP(User Datagram Protocol)のポート番号などがある。
通信処理装置20は、ヘッダ情報から抽出したこれらの情報を、フローテーブルのフローエントリに定義される条件(Match)と照合する。より具体的に、通信処理装置20は、フローテーブルにおけるフローエントリの優先度(Priority)が高い順に、条件(Match)の照合が行われる。
通信処理装置20は、フローテーブルから、入力されたパケットと条件(Match)が一致するフローエントリが検出された時点で、条件(Match)の照合を中断し、検出されたフローエントリに応じた動作(Action)を実行する。
一方、通信処理装置20は、フローテーブルから、入力されたパケットと条件が一致するフローエントリが見つからなかった場合、通信制御装置10に、入力されたパケットを含むPacket-inメッセージを通知して、処理を問い合わせる。
なお、Packet-inメッセージは、フローテーブル中に条件が一致するフローエントリが見つからなかった場合に、受信したパケットを通信制御装置10に送るために用いられるメッセージである。したがって、Packet-inメッセージは、未知の送信元からのパケットの入力を通知するメッセージとして用いることができる。
また、通信処理装置20は、パケットに対して、単に伝送または破棄するだけでなく、ヘッダ情報の書き換えを行うこともできる。宛先や送信元のアドレスを書き換えることで、NAT(Network Address Translation)やルータのような既存ネットワーク機器と同等の機能を実現することもできるし、既存のネットワーク機器では実現が難しい動的な通信制御を、用途に応じて実現することもできる。
図9は、第1の実施形態に係る通信制御装置のハードウェア構成の一例を示すブロック図である。図9において、通信制御装置10は、CPU(Central Processing Unit)1000と、ROM(Read Only Memory)1001と、RAM(Random Access Memory)1002と、ストレージ1003と、データI/F1004と、通信I/F1005とを含み、これらがバス1010により互いに通信可能に接続される。このように、通信制御装置10は、一般的なコンピュータと同様の構成により実現できる。
ストレージ1003は、ハードディスクドライブや不揮発性半導体メモリ(フラッシュメモリ)により構成され、CPU1000が動作するための各種プログラムやデータが格納される。また、ROM1001は、例えば通信制御装置10が起動、動作するために用いるプログラムやデータが予め記憶される。CPU1000は、ストレージ1003やROM1001に格納されるプログラムに従い、RAM1002をワークエリアとして用いて動作し、通信制御装置10の全体の動作を制御する。通信I/F1005は、CPU1000の指示に従い、ネットワーク3を介した通信を制御する。データI/F1004は、外部の機器との間でデータの入出力を行うためのインターフェースであって、例えばUSB(Universal Serial Bus)を適用できる。
図10は、第1の実施形態に係る通信制御装置の機能を説明するための機能ブロックの一例を示す図である。図10において、通信制御装置10は、接続部110と、制御部111と、記憶部112とを含む。これら接続部110、制御部111、及び記憶部112は、CPU1000上で動作するプログラムが動作することにより構成される。これに限らず、これら接続部110、制御部111、及び記憶部112を、互いに協働して動作するハードウェア回路により構成してもよい。
接続部110は、物理インターフェースまたは仮想インターフェースにより実現される。接続部110は、通信I/F1005を制御してネットワーク3に接続し、ネットワーク3を介した通信を行う。記憶部112は、サイト(「サイトA」又は「サイトB」)内に設けられた通信処理装置のリスト等が記憶される。
制御部111は、通信制御装置10の全体の動作を制御する。制御部111は、所定に定義されたフローに従い、通信処理装置20が有するフローテーブルに適用するためのフローエントリを生成する。制御部111は、生成したフローエントリを通信処理装置20に転送する。通信処理装置20は、転送されたフローエントリをフローテーブルに書き込む。
通信制御装置10における各機能を実現するための通信制御プログラムは、インストール可能な形式または実行可能な形式のファイルでCD(Compact Disk)、フレキシブルディスク(FD)、DVD(Digital Versatile Disk)などのコンピュータで読み取り可能な記録媒体に記録して提供される。これに限らず、当該通信制御プログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、当該ネットワークを介してダウンロードさせることにより提供してもよい。また、当該通信制御プログラムをインターネットなどのネットワークを経由して提供または配布するように構成してもよい。
上述のようにして提供されコンピュータに格納された通信制御プログラムは、例えば、当該コンピュータから、データI/F1004を介して通信制御装置10に供給されてストレージ1003またはROM1001に記憶される。
当該通信制御プログラムは、上述した各部(接続部110、制御部111、及び記憶部112)を含むモジュール構成となっている。実際のハードウェアとしては、CPU1000がROM1001やストレージ1003などの記憶媒体から当該通信制御プログラムを読み出して実行することにより、上述した各部がRAM1002などの主記憶装置上にロードされ、接続部110、制御部111、及び記憶部112が主記憶装置上に生成されるようになっている。
これに限らず、例えば、接続部110、制御部111、及び記憶部112の基本的な機能を提供するプログラムがROM1001又はストレージ1003に予め記憶され、通信制御装置10に対して、これら接続部110、制御部111、及び記憶部112の動作を定義するパラメータなどを供給するようにもできる。
図11は、第1の実施形態に係る通信処理装置のハードウェア構成の一例を示す図である。図11において、通信処理装置20は、CPU2000と、ROM2001と、RAM2002と、通信I/F2004及び通信I/F2005とを含み、これらがバス2010により互いに通信可能に接続される。
ROM2001は、CPU2000が動作するために用いるプログラムやデータが予め記憶される。CPU2000は、ROM2001に格納されるプログラムに従い、RAM2002をワークエリアとして用いて動作し、通信処理装置20の全体の動作を制御する。通信I/F2004及び通信I/F2005は、それぞれ後述する第1接続部201aおよび第2接続部201bに対応するハードウェア回路であって、それぞれCPU2000の指示に従い通信を制御する。図11の例では、通信I/F2004がネットワーク3に接続され、通信I/F2005が端末30に接続されることが想定されている。
図12は、第1の実施形態に係る通信処理装置の機能を説明するための機能ブロックの一例を示す図である。図12において、通信処理装置20は、第1接続部201aと、第2接続部201bと、解析部212と、処理部213と、記憶部215とを含む。
これら第1接続部201a、第2接続部201b、解析部212、処理部213、及び記憶部215は、CPU2000上で動作するプログラムにより構成される。これに限らず、これら第1接続部201a、第2接続部201b、解析部212、処理部213、及び記憶部215の一部または全部を、互いに協働して動作するハードウェア回路により構成してもよい。
第1接続部201a及び第2接続部201bは、物理インターフェースまたは仮想インターフェースにより実現される。第1接続部201aは、通信I/F2004を制御してネットワーク3に接続し、ネットワーク3を介した通信を行う。第2接続部201bは、通信I/F2005を制御して端末30に接続し、端末30との間で通信を行う。
解析部212は、第1接続部201a及び第2接続部201bに入力されたパケットを解析し、ヘッダ情報を抽出する。処理部213は、解析部212の解析結果に応じて、第1接続部201a及び第2接続部201bに入力されたパケットを処理する。記憶部215は、処理部213が解析部212の解析結果に応じてパケットを処理する際に用いるフローテーブルの、記憶媒体(例えばRAM2002)に対する記憶および読み出しを実行する。
図13は、第1の実施形態に係る遠隔管理処理の第1例を示すシーケンス図である。図14は、第1の実施形態に係る遠隔管理処理における情報伝達経路を説明するための概略図である。なお、図13及び図14において、上述した図1と共通する部分には同一の符号を付して、詳細な説明を省略する。なお、図13及び図14では、ルータ5a,5bを省略している。
図13及び図14に示す例では、端末30a3(PJS)がコンピュータウィルスに感染してから、端末30a3及び当該端末30a3と同一属性の端末30b2,30b3の通信が遮断されるまでの処理を示している。なお、第1端末情報リスト410及び第2端末情報リスト510は、当該遠隔管理処理が実行される前に、仲介装置40の記憶部404又は管理装置50の記憶部504にそれぞれ記憶されているものとする。また、制御内容リスト511は、遠隔管理システム1の稼働前に予め管理装置50の記憶部504に記憶されているものとする。
図13において、遠隔管理システム1が稼働すると、検知装置4a,4bは、ネットワーク3上における不正通信の監視を開始する。
端末30a3がコンピュータウィルスに感染し(ステップS100)、端末30a3がネットワーク3a上で不正通信を行うと、検知装置4aは、ネットワーク3a上において端末30a3を発信元とする不正通信を検知し(ステップS101)、仲介装置40aに対し、端末30a3のIPアドレス(不正通信検知端末IPアドレス)を送信する(ステップS102)。
仲介装置40aの処理部403は、記憶部404に記憶された第1端末情報リスト410を参照し、第2接続部401bを介して受信した端末30a3のIPアドレス(不正通信検知端末IPアドレス)に対応する端末ID(不正通信検知端末ID)を読み出し、第1接続部401aを介してネットワーク2上の管理装置50に送信する(ステップS103)。すなわち、仲介装置40aの処理部403は、不正通信検知端末IPアドレスを不正通信検知端末IDに変換する。
管理装置50の制御部503は、記憶部504に記憶された第2端末情報リスト510及び制御内容リスト511を参照し、制御対象となる端末30a3,30b2,30b3の端末ID(制御対象端末ID)と、制御内容とを決定し(ステップS104)、接続部501を介してネットワーク3a上の仲介装置40a及びネットワーク3b上の仲介装置40bに送信する(ステップS105,S108)。
具体的に、管理装置50の制御部503は、第2端末情報リスト510から、接続部501を介して受信した端末30a3の端末IDに対応する属性(「PJS(OS ver.1.0)」)と、当該属性を有する端末30b2及び端末30b3の端末IDとを読み出し、制御内容リスト511から、属性(「PJS(OS ver.1.0)」)に対応する制御内容(「・全通信を遮断」)を読み出す。
仲介装置40aの処理部403は、記憶部404に記憶された第1端末情報リスト410を参照し、第1接続部401aを介して受信した端末30a3の端末ID(制御対象端末ID)に対応するIPアドレス(制御対象端末IPアドレス)を読み出し、第1接続部401aを介して受信した制御内容と共に、第2接続部401bを介してネットワーク3a上の通信制御装置10aに送信する(ステップS106)。すなわち、仲介装置40aの処理部403は、制御対象端末IDを制御対象端末IPアドレスに変換する。
通信制御装置10aの制御部111は、端末30a3のIPアドレス(制御対象端末IPアドレス)及び制御内容に基づき、通信処理装置20aに対する通信制御ルールを生成し、接続部110を介してネットワーク3a上の通信処理装置20aに送信する(ステップS107)。
具体的に、通信制御装置10aの制御部111は、通信処理装置20aに対し、接続部110を介して、端末30a3のIPアドレス(制御対象端末IPアドレス)の通信を遮断するフローエントリを設定する。
仲介装置40bの処理部403は、記憶部404に記憶された第1端末情報リスト410を参照し、第1接続部401aを介して受信した端末30b2及び端末30b3の端末ID(制御対象端末ID)に対応するIPアドレス(制御対象端末IPアドレス)を読み出し、第1接続部401aを介して受信した制御内容と共に、第2接続部401bを介してネットワーク3b上の通信制御装置10bに送信する(ステップS109)。すなわち、仲介装置40bの処理部403は、制御対象端末IDを制御対象端末IPアドレスに変換する。
通信制御装置10bの制御部111は、端末30b2及び端末30b3のIPアドレス(制御対象端末IPアドレス)及び制御内容に基づき、通信処理装置20bに対する通信制御ルールを生成し、接続部110を介してネットワーク3b上の通信処理装置20bに送信する(ステップS110)。
具体的に、通信制御装置10bの制御部111は、通信処理装置20bに対し、接続部110を介して、端末30b2及び端末30b3のIPアドレス(制御対象端末IPアドレス)の通信を遮断するフローエントリを設定する。
遠隔管理システム1は、上述した遠隔管理処理を実施することにより、コンピュータウィルスに感染した端末30a3のIPアドレスの通信を遮断するだけでなく、コンピュータウィルスに感染した端末30a3と同一属性を有する、未感染の端末30b2及び端末30b3のIPアドレスの通信を遮断することができる。これにより、未感染の端末30b2及び端末30b3に対する不正な通信を阻止し、コンピュータウィルスへの感染被害の拡大を防ぐことができる。
図15は、第1の実施形態に係る遠隔管理処理の第2例を示すシーケンス図である。なお、図15において、上述した図1と共通する部分には同一の符号を付して、詳細な説明を省略する。なお、図15では、ルータ5aを省略している。
図15に示す例では、端末30a1(MFP)がコンピュータウィルスに感染してから、端末30a1及び当該端末30a1と同一属性の端末30a2に関する共通の制御が実施されるまでの処理を示している。なお、第1端末情報リスト410及び第2端末情報リスト510は、当該遠隔管理処理が実行される前に、仲介装置40の記憶部404又は管理装置50の記憶部504にそれぞれ記憶されているものとする。また、制御内容リスト511は、遠隔管理システム1の稼働前に予め管理装置50の記憶部504に記憶されているものとする。
図15において、遠隔管理システム1が稼働すると、検知装置4a,4bは、ネットワーク3上における不正通信の監視を開始する。
端末30a1がコンピュータウィルスに感染し(ステップS200)、端末30a1がネットワーク3a上で不正通信を行うと、検知装置4aは、ネットワーク3a上において端末30a1を発信元とする不正通信を検知し(ステップS201)、仲介装置40aに対し、端末30a1のIPアドレス(不正通信検知端末IPアドレス)を送信する(ステップS202)。
仲介装置40aの処理部403は、記憶部404に記憶された第1端末情報リスト410を参照し、第2接続部401bを介して受信した端末30a1のIPアドレスに対応する端末ID(不正通信検知端末ID)を読み出し、第1接続部401aを介してネットワーク2上の管理装置50に送信する(ステップS203)。
管理装置50の制御部503は、記憶部504に記憶された第2端末情報リスト510及び制御内容リスト511を参照し、制御対象となる端末30a1,30a2の端末ID(制御対象端末ID)と、制御内容とを決定し(ステップS204)、接続部501を介してネットワーク3a上の仲介装置40aに送信する(ステップS205)。
具体的に、管理装置50の制御部503は、第2端末情報リスト510から、接続部501を介して受信した端末30a1の端末IDに対応する属性(「MFP(OS ver.1.0)」)と、当該属性を有する端末30a2の端末IDとを読み出し、制御内容リスト511から、属性(「MFP(OS ver.1.0)」)に対応する制御内容(「・操作パネルに遮断可否判断ダイアログを表示」)を読み出す。
仲介装置40aの処理部403は、記憶部404に記憶された第1端末情報リスト410を参照し、第1接続部401aを介して受信した端末30a1,30a2の端末ID(制御対象端末ID)に対応するIPアドレス(制御対象端末IPアドレス)を読み出し、当該アドレスを送信先アドレスとして、第1接続部401aを介して受信した制御内容を、第2接続部401bを介して送信する(ステップS206a,S206b)。
端末30a1,30a2は、受信した制御内容を実行する(ステップS207a,S207b)。具体的に、端末30a1,30a2は、自身の操作パネルに、例えば、「ネットワーク上においてコンピュータウィルス感染を検知しました。通信を遮断しますか?(Yes or No)」等のダイアログ表示を行う。なお、ダイアログ表示が上記に限るものではない。また、例えば、実際にコンピュータウィルスに感染している端末30a1と、未感染の端末30a2とで、異なるダイアログ表示を行う態様であっても良い。
ユーザ(端末30a1,30a2の管理者)が操作パネルを操作すると、端末30a1(端末30a2)は、当該制御内容の実行結果(制御実行結果)を仲介装置40aに送信する(ステップS208a,ステップS208b)。制御実行結果としては、例えば、上記ダイアログ表示においてユーザが「Yes」を選択した場合、端末30a1(端末30a2)のIPアドレス(制御対象端末IPアドレス)と、新たな制御内容(例えば、「・全通信を遮断」)とを含む。
通信制御装置10aの制御部111は、上記制御実行結果に基づき、通信処理装置20aに対する通信制御ルールを生成し、接続部110を介してネットワーク3a上の通信処理装置20aに送信する(ステップS210)。
具体的に、通信制御装置10aの制御部111は、通信処理装置20aに対し、接続部110を介して、端末30a1(端末30a2)のIPアドレス(制御対象端末IPアドレス)の通信を遮断するフローエントリを設定する。
なお、ステップS208a,ステップS208bにおける制御実行結果の内容はこれに限るものではなく、例えば、上記ダイアログ表示においてユーザが「No」を選択した場合、以降の処理を行わないことを示す内容であっても良い。
遠隔管理システム1は、上述した遠隔管理処理を実施することにより、コンピュータウィルスに感染した端末30a1のIPアドレスの通信を遮断するか否か、また、端末30a1と同一属性を有する、未感染の端末30a2のIPアドレスの通信を遮断するか否かをユーザが選択することができる。
なお、図8に示す制御内容リスト511の項目「制御内容」に登録される制御内容は、上記に限るものではなく、例えば、属性「MFP(OS ver.1.0)」に対する制御内容として、「・プリンタ印刷以外の通信を遮断」することが登録されていても良い。このようにすれば、属性「MFP(OS ver.1.0)」の未感染の端末30において、プリンタ印刷が可能な状態を維持しつつ不正な通信を阻止することができ、コンピュータウィルスへの感染被害の拡大を防ぐことができる。
(第2の実施形態)
図16は、第2の実施形態に係る遠隔管理システムの構成を例示する図である。本実施形態に係る遠隔管理システム1aは工場等の生産施設において利用されるものである。
本実施形態に係る遠隔管理システム1aは、機器60(産業機械60A、撮像装置60B、及び集音装置60C)、仲介装置40、ファイアウォール15、ネットワーク2、ネットワーク3、及び管理装置50を含む。本実施形態において遠隔管理される機器60には、産業機械60A、撮像装置60B、及び集音装置60Cが含まれる。第1の実施形態におけるルータ5は、ファイアウォール15に置き換えられている。
撮像装置60B及び集音装置60Cは、産業機械60A自体又はその周囲に取り付けられ、産業機械60Aの情報を取得するセンサ61として機能するものである。産業機械60A、センサ61(撮像装置60B及び集音装置60C)、及び仲介装置40は、ファイアウォール15により保護された「サイトA」のネットワーク3に接続されている。ネットワーク3内の仲介装置40は、ネットワーク2を介して管理装置50と接続している。ファイアウォール15や仲介装置40は、複数設置されていても良い。また、1つの「サイト(サイトA,B,C)」内に複数の仲介装置40が設置されていても良い。
上記のように、本実施形態に係る遠隔管理システム1aは、工場等の生産施設で使用される機器60に対して遠隔管理を可能にするものである。このように、本開示に係る遠隔管理システムの適用範囲は、第1の実施形態に示すようなオフィス等の環境に限られるものではない。
(第3の実施形態)
図17は、第3の実施形態に係る遠隔管理システムの構成を例示する図である。本実施形態に係る遠隔管理システム1bは、それぞれに異なる形態を有する複数の顧客システム611A,611B,611Cが存在する環境において利用されるものである。管理装置50は、それぞれファイアウォール15により保護された複数の顧客システム611A,611B,611Cに含まれる機器(管理対象システム601A,601B及び仲介機能付機器601C)を遠隔管理する。
顧客システム611A,611B,611Cは、顧客先に設置されているシステムである。顧客システム611Aにおける仲介装置40は、例えばLAN等のネットワーク3により管理対象システム601Aとファイアウォール15とに接続されている。管理対象システム601Aには、加工機、搬送機、検査機等の複数の産業機械60A、センサ61(撮像装置60B及び集音装置60C)等が含まれる。仲介装置40は、第1の実施形態で示した機能部に加え、管理対象システム601A内の各機器60(産業機械60A、センサ61)のファームウェアを、例えばインターネット等のネットワーク2を介して更新するファームウェア更新部を備えていてもよい。
顧客システム611Bは、他の顧客先に設置されているシステムである。顧客システム611Bにおける仲介装置40は、例えばLAN等のネットワーク3により複数の管理対象システム601Bとファイアウォール15とに接続されている。1つの管理対象システム601Bには、加工機、搬送機、検査機等の複数の産業機械60A、センサ61等が含まれる。仲介装置40は、第1の実施形態で示した機能部に加え、管理対象システム601B内の各機器60(産業機械60A、センサ61)のファームウェアを、例えばインターネット等のネットワーク2を介して更新するファームウェア更新部を備えていてもよい。
なお、図17に示す例では、管理対象システム601Aが産業機械60A及びセンサ61を含む構成を示しているが、このような構成に限られるものではない。顧客システム611Bにおいては、1つの仲介装置40だけでは負荷が大きくなるため、管理対象システム601B内にファームウェア更新部を有する仲介装置41が設置されている。
顧客システム611Cは、さらに別の顧客先に設置されているシステムである。顧客システム611Cにおいては、仲介機能付機器601Cが例えばLAN等のネットワーク3によりファイアウォール15と接続されている。仲介機能付機器601Cは、仲介装置40と同様の機能を備える産業機械60Aやセンサ61である。
上記のように構成された顧客システム611A,611B,611Cは、ファイアウォール15の内部から外部の管理装置50に例えばインターネット等のネットワーク2を介して接続される。管理装置50は、ネットワーク2を介して顧客システム611A,611B,611C内の各機器(産業機械60A、センサ61(撮像装置60B及び集音装置60C)、仲介機能付機器601C)を遠隔管理する。
上記のように、本実施形態に係る遠隔管理システム1bは、様々な顧客システム611A,611B,611Cが存在する環境において利用されるものである。このように、本発明に係る遠隔管理システムの適用範囲は、単一の形態を有するオフィス、生産施設等の環境に限られるものではない。
上記のように、本開示に係る遠隔管理システムは、様々な環境において利用され、様々な機器を管理対象とすることができるものである。管理対象となり得る機器としては、オフィス機器、ネットワーク家電、自動販売機、医療機器、産業機械、電源装置、空調システム、ガス・水道・電気等の計量システム等に通信機能を持たせた機器等が挙げられる。産業機械としては、加工装置、検査装置、搬送装置、ピッキング装置等が挙げられる。医療機器としては、眼底検査装置、X線検査装置、血圧計、体脂肪計、視力計、ペースメーカ等が挙げられる。また、これらの機器の周辺に設置され、機器の状態を把握するためのセンサ等も管理対象になり得る。管理対象となり得る機器は、識別情報、稼働状況を示す情報、異常動作に関する情報、消耗品の交換時期に関する情報、検査結果を示す情報等を記憶しているものであり、管理装置50は、仲介装置40を介してそのような情報の取得、転送、更新、削除等の管理処理を行う。
なお、上述の実施形態は、本発明の好適な実施の例ではあるがこれに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変形による実施が可能である。