以下、本発明の各実施形態について図面を参照しつつ説明する。
[第1実施形態]
<システム構成>
図1は、第1実施形態に係る資産情報管理システム1が備える構成及び機能の一例を説明する図である。同図に示すように、資産情報管理システム1は、複数の制御装置10(10(1)~10(n))及びその制御対象の装置70(70(1)~70(n))を含む制御システム50と、資産管理装置20と、資産管理装置20及び各制御装置10に接続可能な外部記憶媒体30とを含んで構成されている。なお、以下では、制御装置10及び装置70を機器と総称することがある。
なお、制御システム50は、例えば、電力、鉄道、水道、ガスといった社会インフラシステム又は自動車製造工場等において設けられる様々な装置70を制御する情報処理システムである。
資産情報管理システム1は、制御システム50による安定的ないしセキュアな制御を維持するため、制御システム50を構成する各制御装置10の内部構成の情報を収集するプログラムである構成情報収集プログラム(詳細は後述)に基づき、必要な制御装置10からその内部構成の情報を収集する。これにより、作業員等のユーザは、各制御装置10に対して必要な措置を講ずることができる。
なお、内部構成とは、本実施形態では、制御装置10で動作しているOS(Operating System)、及びその他のソフトウェア等(ミドルウェア、アプリケーション等)の情報資産の構成をいうものとする。
制御装置10は、装置70の動作を制御する情報処理装置である。制御装置10(10(1)~10(n))は、例えば、装置70(70(1)~70(n))に設けられているセンサ等(不図示)から取得した圧力又は温度等の属性情報を所定のタイミング(時間間隔等)にて取得しつつ、装置70を制御する。
資産管理装置20は、構成情報収集プログラムを制御装置10に実行させ、その実行結果に基づき、制御装置10の内部構成の情報を取得する情報処理装置である。
なお、資産管理装置20と制御装置10の間、及び、制御装置10間は、LAN(Local Area Network)、WAN(Wide Area Network)、インターネット、専用線等の有線又
は無線のネットワーク40によって通信可能に接続される。
次に、資産情報管理システム1における各情報処理装置の機能について説明する。
<機能>
図1に示すように、制御装置10は、装置70の制御を行う制御処理部101(101(1)~101(n))と、装置70又は他の制御装置10等に提供している機能(以下
、外部サービスという。例えば、外部に公開している通信サービス。Telnet等。)を管理する外部サービス管理部102(102(1)~102(n))と、自身に接続された外部記憶媒体30とデータの送受信を行う外部媒体接続部103(103(1)~103(n))と、当該制御装置10の内部構成の情報を管理する内部構成管理部104(104(1)~104(n))と、他の情報処理装置と通信を行う通信部105(105(1)~105(n))と、各種のプログラムを実行するプログラム実行部106(106(1)~106(n))とを含む各機能部を備える。
外部記憶媒体30は、SDカード又はUSBメモリ等の、可搬性の記憶装置である。外部記憶媒体30は、資産管理装置20が生成した構成情報収集プログラム1201を記憶する構成情報収集プログラム格納部301と、各制御装置10から収集した内部構成の情報(構成情報1301)を記憶する構成格納部302と、自身に接続された制御装置10又は資産管理装置20とデータの送受信を行う接続部303とを含む各機能部を有する。
資産情報管理システム1におけるユーザは、外部記憶媒体30を持参してこれを資産管理装置20又は各制御装置10に接続する。
次に、図2は、第1実施形態に係る資産管理装置20が備える機能の一例を説明する図である。同図に示すように、資産管理装置20は、システム構成推定部215、リスク評価部203、収集対象特定部204、構成情報収集プログラム生成部205、資産構成管理部206、通信部207、システム構成情報901(後述)を記憶するシステム構成格納部209、脆弱性情報1001(後述)を記憶する脆弱性格納部210、収集テンプレート情報1101(後述)を記憶する収集テンプレート格納部211、入出力部212、及び外部媒体接続部213の各機能部を備える。
まず、システム構成推定部215は、所定の制御を行う制御装置10を複数備えて構成されている制御システム50の通信状態の情報を取得し、取得した通信状態の情報に基づき制御システム50の構成を推定する。
具体的には、システム構成推定部215は、ネットワーク監視部208、外部サービス情報収集部201、及び構成推定部202を備える。
ネットワーク監視部208は、ネットワーク40の負荷の状況を監視する。外部サービス情報収集部201は、ネットワーク40の負荷の状況に応じて、制御装置10から外部サービスの情報を収集する。構成推定部202は、外部サービスの情報に基づき、制御システム50の構成を推定する。
次に、リスク評価部203は、制御装置10に関する脆弱性情報、及びシステム構成推定部215が推定した制御システム50の構成に基づき、制御装置10のそれぞれの制御上のリスク(例えば、セキュリティ上のリスク)を推定する。
具体的には、例えば、リスク評価部203は、制御システム50の構成の過去の推定時から所定時(本実施形態では現在時とするが、他の所定のタイミングでよい)までの時間の長さに応じて、制御装置10のそれぞれの制御上のリスクの大きさを推定する。
また、例えば、リスク評価部203は、脆弱性情報1001の設定時から所定時(本実施形態では現在時とするが、他の所定のタイミングでよい)までの時間の長さに応じて、制御装置10のそれぞれの制御上のリスクの大きさを推定する。
ここで、脆弱性情報1001について説明する。
(脆弱性情報)
図3は、脆弱性情報1001のデータ構成の一例を示す図である。脆弱性情報1001は、制御装置10が記憶しているOS又はソフトウェアが有している脆弱性(例えば、制御上、セキュリティ上の脆弱性)に関する情報である。脆弱性情報1001は、例えば、資産情報管理システム1の外部のネットワークから、資産管理装置20に自動的に又はユーザの指定したタイミングで提供される。
具体的には、脆弱性情報1001は、脆弱性が発見された制御装置10におけるOS又はソフトウェア等である脆弱性対象1002と、脆弱性対象1002に係る情報が公開された日時である公開日時1003と、脆弱性対象1002に係る脆弱性の危険度1004とを含むレコードを1つ以上有するデータベースである。
なお、脆弱性情報1001の構成要素はここで説明したものに限定されるものではない。また、脆弱性情報1001における各情報の登録順序もここで説明した順序に限定されない。
次に、図2に示すように、収集対象特定部204は、制御上のリスクが所定の条件を満たす制御装置10である収集対象装置を特定する。
具体的には、収集対象特定部204は、所定の条件として、リスクに基づく収集対象装置の候補としての優先順位の情報を設定する。
構成情報収集プログラム生成部205は、収集対象特定部204が特定した収集対象装置の情報に基づき、当該収集対象装置の資産の構成の情報(内部構成の情報)を取得するための所定のプログラム(すなわち、構成情報収集プログラム)を生成する。
なお、本実施形態では、構成情報収集プログラム生成部205は、構成情報収集プログラム生成部205が生成したプログラムを所定の記憶装置(外部記憶媒体30)に記憶する。そして、収集対象装置は、記憶されたプログラムを実行し、当該収集対象装置が管理する資産の構成の情報をその記憶装置に記憶する(プログラム実行部106)。
なお、プログラム実行部106は、プログラム(構成情報収集プログラム)が収集対象自身の収集対象装置で実行されたか否かを判定し、プログラムがその収集対象装置で実行されたと判定した場合にのみ、当該収集対象装置が管理する資産の構成の情報を記憶装置(外部記憶媒体30)に記憶する
資産構成管理部206は、収集対象特定部204が特定した収集対象装置が管理する資産の構成の情報を取得する。すなわち、資産構成管理部は、構成情報収集プログラム生成部205が生成したプログラムに基づき、資産の構成の情報を取得する。
本実施形態では、前記資産構成管理部206は、構成情報収集プログラム生成部205で記憶された資産の構成の情報を、記憶装置(外部記憶媒体30)から取得する。
次に、通信部207は、ネットワーク40を介して制御装置10とデータの送受信を行う。
システム構成格納部209は、システム構成推定部215が推定した制御システム50の構成をシステム構成情報901として記憶し、資産構成管理部206が取得した資産の構成の情報(構成情報1301)を記憶する。
脆弱性格納部210は、脆弱性情報1001を記憶する。
収集テンプレート格納部211は、内部構成の情報の収集手順や収集対象を記憶した情報である収集テンプレート情報1101を格納する。
ここで、収集テンプレート情報1101について説明する。
(収集テンプレート情報)
図4は、収集テンプレート情報1101のデータ構成の一例を示す図である。収集テンプレート情報1101は、制御装置10で動作するOSのOS情報1102と、OS情報1102に係るOSに対応した構成情報収集スクリプト1103とを含んで構成されているレコードを少なくとも1以上有するデータベースである。
構成情報収集スクリプト1103は、制御装置10の内部構成の情報を収集するプログラム等である。構成情報収集スクリプト1103は、例えば、内部構成の情報を収集するために参照すべきデータの場所及び参照方法を記述したプログラムである。構成情報収集スクリプト1103の内容は、OSごとに異なる。
なお、収集テンプレート情報1101の構成要素はここで説明したものに限定されるものではなく、少なくともここで説明した要素が含まれていればよい。また、収集テンプレート情報1101の構成要素の順序はここで説明したものに限定されるものではない。
次に、図2に示すように、入出力部212は、資産管理装置20へのユーザ入力を受け付け、また、ユーザに提示する情報の表示を行う。
具体的には、例えば、入出力部212は、システム構成推定部215が推定した制御システム50の構成の情報、及び、収集対象特定部204が取得した収集対象装置が管理する資産の構成の情報のうち少なくともいずれかを出力する。また、入出力部212は、収集対象装置の構成の情報と共に、優先順位の情報を出力する。
次に、外部媒体接続部213は、接続された外部記憶媒体30とデータの送受信を行う。
ここで、図5は、制御装置10及び資産管理装置20のハードウェア構成の一例を示す図である。これらの情報処理装置は、CPU14と、RAM(Random Access Memory)、ROM(Read Only Memory)等のメモリ15と、HDD(Hard Disk Drive)、SSD(Solid State Drive)等の記憶装置13と、キーボード又はタッチパネル等とモニタ又はディスプレイ等とからなる入出力装置11と、他の情報処理装置と通信を行う通信装置11とを備え、これらがバスなどの内部通信線16により接続される。
制御装置10及び資産管理装置20の各機能部の機能は、CPU14が、メモリ15又は記憶装置13に記憶されている、各機能を実現する所定のプログラムを読み出することにより実現される。なお、各プログラムは、制御装置10及び資産管理装置20が読み取り可能な記録媒体にあらかじめ記録されていてもよいし、記憶媒体又は通信媒体(ネットワークまたはネットワークを伝搬する搬送波)を介して、必要なときに導入されてもよい。
次に、図6は、外部記憶媒体30のハードウェア構成の一例を示す図である。外部記憶媒体30は、データの入出力(接続)を行う入出力装置31と、フラッシュメモリ等の記憶装置32とを備え、これらがバスなどの内部通信線33で接続される。
次に、資産情報管理システム1において行われる処理について説明する。
<処理の概要>
図7は、第1実施形態に係る資産情報管理システム1において行われる処理の概要を説明するフロー図である。
まず、資産管理装置20は、所定のタイミングにて、制御システム50の構成を収集する外部サービス情報収集処理を実行する(S1)。そして、資産管理装置20は、外部サービス情報収集処理の結果に基づき、構成情報収集プログラム1201を生成して外部記憶媒体30に記憶する構成情報収集プログラム生成処理を実行する(S3)。
他方、制御装置10は、外部記憶媒体30に記憶されている構成情報収集プログラム1201を実行してその出力情報(構成情報1301)を外部記憶媒体30に記憶する構成情報収集プログラム実行処理を実行する(S5)。
資産管理装置20は、外部記憶媒体30に記憶された構成情報1301を取得する資産情報更新処理を実行する(S7)。
その後、ユーザは、資産管理装置20の構成情報1301に基づき、必要に応じて、制御装置10に対して、その内部構成の変更に関する処理(例えば、制御装置10の資産(OS、各種ソフトウェア等)の脆弱性を解消するためのアップデート)を実行させる。
以下、これらの処理の詳細を説明する。
<外部サービス情報収集処理>
図8は、外部サービス情報収集処理の一例を説明するフロー図である。外部サービス情報収集処理は、例えば、資産情報管理システム1の起動後、所定のタイミング(例えば、所定の時間間隔、所定の時刻、又はユーザにより指定されたタイミング)で実行される。
まず、資産管理装置20のネットワーク監視部208は、ネットワーク40の現在の状態(ネットワーク40の負荷の状況)を示す情報を取得する(S401)。具体的には、例えば、ネットワーク監視部208は、ネットワーク40の通信状態を監視することで(例えば、所定のパケットをネットワーク40に送信することでレスポンスデータを取得する)、ネットワーク40における単位時間あたりの通信パケットの数又はデータサイズ、又はネットワーク40で使用されている帯域の情報等を生成する。
ネットワーク監視部208は、S401で取得した情報に基づき、ネットワーク40の負荷が高いか否かを判定する(S402)。具体的には、例えば、ネットワーク監視部208は、S401で取得したパケット数もしくはデータサイズが所定の閾値以上であるか否か、又は、使用されている帯域が所定の閾値以上であるか否か等を判定する。
ネットワーク40の負荷が高い場合は(S402:規定以上)、現時点ではネットワーク40の負荷が高く外部サービス情報を取得するには適さないため、ネットワーク監視部208は、S401の処理を繰り返す。
他方、ネットワーク40の負荷が高くない場合は(S402:規定未満)、資源管理装置20の外部サービス情報収集部201は、外部サービスの情報を取得する対象となる制御装置10を特定する(S403)。
具体的には、例えば、外部サービス情報収集部201は、全ての制御装置10を特定してもよいし、制御装置10の一部(例えば、そのID番号が所定範囲にある制御装置10)を取得してもよい。
外部サービス情報収集部201は、S403で特定した制御装置10から外部サービス情報を取得するためのプログラムである外部サービス情報収集コマンド801を生成する(S404)。
(外部サービス情報収集コマンド)
ここで、図9は、外部サービス情報収集コマンド801の一例を示す図である。外部サービス情報収集コマンド801は、外部サービス情報を取得する対象の制御装置10を特定する情報(本実施形態ではIPアドレスとする)である収集対象機器アドレス802と、収集対象機器アドレス802が示す制御装置10との通信に用いられるプロトコル(例えば、TCP:Transmission Control Protocol、UDP:User Datagram Protocol)の
情報であるプロトコル803と、収集対象機器アドレス802が示す制御装置10との通信に使用されるポート番号804と、情報収集用データ805とを含む。
情報収集用データ805は、例えば、プロトコル803及びポート番号804に対応するデータである。このデータを制御装置10に送信すると、当該制御装置10はこれに対応する所定のレスポンスデータを返信するので、当該制御装置10で動作しているOS及び、当該制御装置10が外部の装置に提供している外部サービスを、特別な機能を設けることなく識別することができる。
なお、外部サービス情報収集コマンド801の構成要素はここで説明したものに限定されず、少なくとも収集対象機器アドレス802、プロトコル803、及びポート番号804が含まれていればよい。情報収集用データ805は必須の要素ではない。また、外部サービス情報収集コマンド801の構成要素の格納順序はここで説明した順序に限定されない。
また、本実施形態では、外部サービス情報収集コマンド801は、制御装置10ごとに生成するものとするが、S403で特定した全制御装置10に対する1つのコマンドとして生成してもよい。
次に、図8のS405に示すように、外部サービス情報収集部201は、S403で特定した各制御装置10に対して、S404で生成した外部サービス情報収集コマンド801を送信する。すると、外部サービス情報収集コマンド801を受信した各制御装置10の通信部105は、予め設けられている所定の機能に基づき、所定のレスポンス402(例えば、制御装置10のID、IPアドレスを含む情報)を生成し(S405)、生成したレスポンス402を資産管理装置20に送信する。
資産管理装置20の外部サービス情報収集部201は、S404で生成した外部サービス情報収集コマンド801を全て送信したか否かを確認する(S406)。送信していない外部サービス情報収集コマンド801がある場合はこれを送信し(S406:未完了)、外部サービス情報収集コマンド801を全て送信した場合は(S406:完了)、外部サービス情報収集部201は、以下の処理を行う。
すなわち、外部サービス情報収集部201は、各制御装置10から受信したレスポンス402に基づき、制御システム50の構成を推定する(S407)。
具体的には、例えば、外部サービス情報収集部201は、受信した各レスポンス402
に基づき、各制御装置10の異常の有無、各レスポンス402の送信元である各制御装置10の間の接続関係、各制御装置10で動作しているOS、各制御装置10が提供している外部サービス等を推定する。
システム構成格納部209は、S407で推定した結果をシステム構成情報901として記憶する(S408)。
(システム構成情報)
図10は、システム構成情報901のデータ構成の一例を示す図である。システム構成情報901は、制御装置10の識別子である機器識別子902と、機器識別子902に係る制御装置10における内部構成907の情報を取得した日時である収集日時903と、機器識別子902に係る制御装置10を特定する情報であるIPアドレス904と、機器識別子902に係る制御装置10で動作しているOSの情報であるOS情報905(例えば、OSによって異なるI/Oポートの空き番号の情報)と、機器識別子902に係る制御装置10が提供している外部サービスを特定する情報である外部サービス906と、機器識別子902に係る制御装置10における内部構成907とを含むレコードを1以上有するデータベースである。なお、最初のS40の実行時点では、内部構成907は空情報としてもよい。
外部サービス906及び内部構成907には、装置又は機器の構成に応じて、複数の外部サービス又は構成の情報が含まれる場合がある。
なお、システム構成情報901の構成要素はここで説明したものに限定されるものではなく、少なくともここで説明した要素が含まれていればよい。また、システム構成情報901の構成要素の格納順序はここで説明した順序に限定されるものではない。
次に、図8のS409に示すように、入出力部212は、S407で生成したシステム構成情報901の内容を示すシステム構成表示画面を表示する。以上で外部サービス情報収集処理は終了する。
(システム構成表示画面)
図11は、システム構成表示画面1401の一例を示す図である。システム構成表示画面1401は、IPアドレスの情報に基づき資産管理装置20及び各制御装置10の間の接続関係(接続の有無等)を示したシステム構成図1402と、各制御装置10の構成を示した詳細構成一覧1403とを備える。
詳細構成一覧1403は、制御装置10を特定する情報である機器情報1404、機器情報1404に係る制御装置10の内部構成の情報の取得日時1405、機器情報1404に係る制御装置10のIPアドレス1406、機器情報1404に係る制御装置10で動作しているOS1407、機器情報1404に係る制御装置10が提供している外部サービス1408、及び、機器情報1404に係る制御装置10における内部構成1409の各情報が、各制御装置10(機器)について一覧表示される。なお、内部構成1409は、S408の最初の実行時点では非表示となる。
なお、システム構成表示画面1401の構成要素はここで説明したものに限定されるものではなく、少なくとも上記の要素が含まれていればよい。また、システム構成表示画面1401の構成要素の表示順序はここで説明したものに限定されるものではない。
<構成情報収集プログラム生成処理>
図12は、構成情報収集プログラム生成処理の一例を説明するフロー図である。なお、
この処理は、外部サービス情報収集処理の実行後、所定のタイミング(例えば、所定の時間間隔、所定の時刻、又はユーザにより指定されたタイミング)で実行される。また、この処理の開始に際して、ユーザは、外部記憶媒体30を資産管理装置20に接続する。
まず、資産管理装置20の構成情報収集プログラム生成部205は、外部サービス情報収集処理でシステム構成格納部209に格納したシステム構成情報901を取得する(S501)。
また、構成情報収集プログラム生成部205は、脆弱性格納部210に格納されている脆弱性情報1001を取得する(S502)。
リスク評価部203は、S501で取得したシステム構成情報901と、S502で取得した脆弱性情報1001とに基づき、制御システム50における各制御装置10の現在のリスクを評価する(S503)。
具体的には、例えば、リスク評価部203は、システム構成情報901が示す各制御装置10の構成と、脆弱性情報1001の脆弱性対象1002が示すOS及び外部サービスとを比較し、脆弱性を有しているOS及び外部サービスの数を各制御装置10について特定し、この数が大きいほどリスクが高い制御装置10であると評価する(または、この数が一定値以上の制御装置10はリスクが高いと評価する)。また、例えば、リスク評価部203は、各制御装置10のハードウェアの情報を取得することによりそれらのリスクを評価してもよい。
そして、同じリスク評価であった制御装置10間については、リスク評価部203は、例えば、脆弱性情報1001の公開日時1003から現在日時との時間差(経過時間)を算出することで、脆弱性の情報が古い制御装置10ほどリスクが高いと評価する(または、脆弱性の情報が一定時以前であればその制御装置10のリスクは高いと評価する)。
収集対象特定部204は、S503で評価したリスクに基づき、各制御装置10の優先順位(構成情報1301を取得する優先順位)を算出する(S504)。
具体的には、例えば、収集対象特定部204は、リスクが大きい制御装置10ほどその優先順位を高くする。また、収集対象特定部204は、同じリスクの制御装置10間については、脆弱性情報1001の危険度1004が高く又は公開日時1003が一定時期以前のOS又は外部モジュールを有する制御装置10の優先順位を高くする。
なお、収集対象特定部204は、同じリスクの制御装置10間については、その物理的位置に応じて優先順位を設定してもよい(例えば、資産管理装置20との距離が近い制御装置10ほど優先順位が高い)。これにより、ユーザの作業負担を調整することができる。
入出力部212は、S504で算出した優先順位の情報を、優先順位表示画面1501に表示する(S505)。
(優先順位表示画面)
図13は、優先順位表示画面1501の一例を示す図である。優先順位表示画面1501は、IPアドレスの情報に基づき資産管理装置20及び各制御装置10の間の接続関係を示したシステム構成図1502と、各制御装置10の優先順位の情報を示した優先順位詳細一覧1503とを備える。
優先順位詳細一覧1503には、制御装置10を特定する機器情報1505、機器情報1505に係る制御装置10の優先順位1504、機器情報1505に係る制御装置10のリスクの大きさ1506、及び、リスクの大きさ1506の算定根拠1507の各情報が一覧表示される。同図の例では、算定根拠1507には、1ヶ月以内に脆弱性が公開されている点又は、前回の内部構成の情報の収集日時から半年以上経過している点などが示されている。
優先順位表示画面1501の構成要素はここで説明した項目に限定されるものではなく、少なくともここで説明した要素が含まれていればよい。また、優先順位表示画面1501の構成要素の表示順序はここで説明した順序に限定されるものではない。
ユーザは、この優先順位表示画面1501を確認しつつ、どの制御装置10のリスクが高いかを検討することができる。
次に、図12のS506に示すように、構成情報収集プログラム生成部205は、収集テンプレート格納部211から収集テンプレート情報1101を取得し、この取得した収集テンプレート情報1101に基づき、構成情報収集プログラム1021を生成する。
具体的には、例えば、まず、構成情報収集プログラム生成部205は、ユーザから、優先順位表示画面1501に対する入力を受け付けることにより、優先順位表示画面1501に表示されている制御装置10から収集対象装置を特定する。なお、構成情報収集プログラム生成部205は、所定の優先順位を有する各制御装置10(例えば、最優先順位から所定順位までの制御装置10)を、収集対象装置として自動的に特定してもよい。
そして、構成情報収集プログラム生成部205は、特定した収集対象装置で動作しているOSを全て特定する。そして、構成情報収集プログラム生成部205は、特定した各OSに対応する構成情報収集スクリプト1103を、収集テンプレート情報1101からそれぞれ取得する。構成情報収集プログラム生成部205は、取得した各構成情報収集スクリプト1103に対して、各収集対象装置のIPアドレス(システム構成情報901から取得)を対応付けて記憶することにより、構成情報収集プログラム1201を生成する。
なお、構成情報収集プログラム生成部205は、収集テンプレート情報1101を用いずに独自に構成情報収集プログラム1201を生成してもよい。また、構成情報収集プログラム生成部205は、収集対象装置の情報を含むテンプレートを用いて、構成情報収集プログラム1201を生成してもよい。
(構成情報収集プログラム)
図14は、構成情報収集プログラム1201の一例を示す図である。構成情報収集プログラム1201は、収集対象装置のIPアドレス1202と、収集対象装置の内部構成の情報を収集するためのプログラムである構成情報収集スクリプト1203と、構成情報収集スクリプト1203が実行されたか否かを示す情報(実行フラグ)である実行有無フラグ1204とを含む。
なお、実行有無フラグ1204は、収集対象装置に対して構成情報収集スクリプト1203を実行したか否かを示すフラグであり、実行した場合には「実行済」、未実行の場合は「未実行」の情報が設定される。
なお、構成情報収集プログラム1201は、収集対象装置ごとに生成してもよいし、全ての収集対象装置に関するプログラムをひとつにまとめたプログラムとしてもよい。
構成情報収集プログラム1201の構成要素はここで説明したものに限定されるものではなく、少なくともここで説明した要素が含まれていればよい。また、構成情報収集プログラム1201の構成要素の格納順序はここで説明した順序に限定されるものではない。
次に、図12に示すように、外部媒体接続部213は、外部記憶媒体30に対して、接続確認コマンド501を送信する。外部記憶媒体30の接続部303は、接続確認コマンド501を受信すると、接続状態を示すレスポンス502を生成し、生成したレスポンス502を資産管理装置20に送信する。
資産管理装置20の外部媒体接続部213は、レスポンス502を確認する(S507)。
レスポンス502が接続失敗を示している場合(又はレスポンス502を受信していない場合)は(S507:接続失敗)、外部媒体接続部213は構成情報収集プログラム生成処理を終了する(S508)。他方、レスポンス502が接続成功を示している場合には(S507:接続成功)、構成情報収集プログラム生成部205は、S506で生成した構成情報収集プログラム1201を外部記憶媒体30に送信する。
外部記憶媒体30の構成情報収集プログラム格納部301は、受信した構成情報収集プログラム1201を記憶する(S509)。そして、外部記憶媒体30の接続部303は、所定のレスポンス504を資産管理装置20に送信する。
次に、構成情報収集プログラム生成部205は、受信したレスポンス504を確認する(S510)。構成情報収集プログラム生成部205は、受信したレスポンス504に基づき、構成情報収集プログラム1201の記憶が失敗したと判断した場合には、再度、構成情報収集プログラム1201を送信する(S510:格納失敗)。一方、構成情報収集プログラム生成部205は、構成情報収集プログラム1201の記憶が成功したと判断した場合には、構成情報収集プログラム生成処理を終了する(S510:格納成功)。
なお、所定回数以上、構成情報収集プログラム1201の記憶が失敗した場合には、外部記憶媒体30の空き容量がない、外部記憶媒体30が書き込み不能状態になっているといった状況が考えられるため、構成情報収集プログラム生成部205は、このような場合にも、構成情報収集プログラム格納処理を終了するようにしてもよい。
<構成情報収集プログラム実行処理>
図15は、構成情報収集プログラム実行処理の一例を説明するフロー図である。なお、この処理は、構成情報収集プログラム生成処理の実行後、所定のタイミング(例えば、所定の時間間隔、所定の時刻、又はユーザにより制御装置10に対して指定されたタイミング)で実行される。
なお、この処理の開始に際して、ユーザは、外部記憶媒体30を収集対象装置である制御装置10に接続する。ここでは、制御装置10(1)~(n)のうち制御装置10(x)が収集対象装置である場合を説明する。
まず、制御装置10(x)の外部媒体接続部103(x)は、外部記憶媒体30に対して、接続確認コマンド601を送信する。外部記憶媒体30の接続部303は、接続確認コマンド601を受信すると、接続状態を示すレスポンス602を制御装置10(x)に送信する。なお、資産管理装置20からの指示によって外部媒体接続部103(x)が接続確認コマンド601を送信するようにしてもよい。
その後、制御装置10(x)の外部媒体接続部103(x)は、レスポンス602を確認する(S601)。外部記憶媒体30との接続に失敗していると判断した場合(又はレスポンス602を受信していない場合)には(S601:接続失敗)、外部媒体接続部103(x)は構成情報収集プログラム実行処理を終了する(S602)。一方、外部記憶媒体30との接続に成功していると判断した場合には(S601:接続成功)、外部媒体接続部103(x)は、構成情報収集プログラム1201の取得を外部記憶媒体30に要求する取得コマンド603を外部記憶媒体30に送信する。
外部記憶媒体30の構成情報収集プログラム格納部301は、取得コマンド603の受信に応じて構成情報収集プログラム1201を取得する(S603)。接続部303は、この構成情報収集プログラム1201を制御装置10(x)に送信する。
制御装置10(x)のプログラム実行部106(x)は、受信した構成情報収集プログラム1201を実行する(S604)。なお、プログラム実行部106(x)は、構成情報収集プログラム1201を受信した後に自動的にこれを実行してもよいし、ユーザ入力に基づき実行してもよい。
構成情報収集プログラム1201の実行後、プログラム実行部106(x)は、当該構成情報収集プログラム1201が自身の制御装置10(x)に対応したプログラムであるか否かを確認する(S605)。具体的には、例えば、プログラム実行部106(x)は、構成情報収集プログラム1201の収集対象IPアドレス1202又は構成情報収集スクリプト1203に登録されている制御装置10の情報を確認する。
構成情報収集プログラム1201が自身に対応したプログラムでなかった場合には(S605:不一致)、接続先の制御装置10に誤りがあるため、プログラム実行部106(x)は、構成情報収集プログラム実行処理は終了する(S606)。
一方、構成情報収集プログラム1201が自身に対応したプログラムであった場合には(S605:一致)、プログラム実行部106(x)は、構成情報収集プログラム1201(収集テンプレート情報1101)に従って、所定の機能に基づき、制御装置10(x)の内部構成の情報を収集する(S607)。そして、プログラム実行部106(x)は、構成情報収集プログラム1201の実行有無フラグ1204を「実行済」に設定する(構成情報収集プログラム1201を更新する)(S608)。
制御装置10(x)の外部媒体接続部103(x)は、S607で収集した内部構成の情報と、S608で更新した構成情報収集プログラム1201とを、外部記憶媒体30に送信する。
外部記憶媒体30の構成格納部302は、制御装置10(x)から受信した内部構成の情報を構成情報1301として記憶する(S609)。また、外部記憶媒体30の構成情報収集プログラム格納部301は、制御装置10(x)から受信した構成情報収集プログラム1201を記憶する(S610)。以上で構成情報収集プログラム実行処理は終了する。
なお、収集対象装置が複数ある場合、各収集対象装置に関して、以上の構成情報収集プログラム実行処理が実行される。
ここで、構成情報について説明する。
(構成情報)
図16は、構成情報1301の一例を示す図である。構成情報1301は、制御システム50における制御装置10(機器)の識別子1302と、内部構成の情報1306の収集日時1303と、識別子1302に係る制御装置10を特定する情報であるIPアドレス1304と、識別子1302に係る制御装置10で動作しているOS情報1305と、識別子1302に係る制御装置10における内部構成の情報1306とを含む。
なお、構成情報1301の構成要素はここで説明したものに限定されるものではなく、また、その各情報の格納順序もここで説明した順序に限定されるものではない。
<資産情報更新処理>
図17は、資産情報更新処理の一例を説明するフロー図である。なお、この処理は、構成情報収集プログラム実行処理の実行後、所定のタイミング(例えば、所定の時間間隔、所定の時刻、又はユーザにより指定されたタイミング)で実行される。なお、この処理の開始に際して、ユーザは、外部記憶媒体30を資産管理装置20に接続する。
まず、資産管理装置20の外部媒体接続部213は、外部記憶媒体30に、接続確認コマンド701を送信する。外部記憶媒体30の接続部303は、接続確認コマンド701を受信すると、資産管理装置20との接続状態を示すレスポンス702を資産管理装置20に送信する。
その後、資産管理装置20の外部媒体接続部213は、レスポンス702を確認する(S701)。レスポンス702が接続失敗を示している場合(又はレスポンス702を受信していない場合)は(S701:接続失敗)、外部媒体接続部213は、資産情報更新処理を終了する(S702)。
レスポンス702が接続成功を示している場合は(S701:接続成功)、資産構成管理部206は、構成情報収集プログラム1201の取得を要求する構成情報収集プログラム取得コマンド703を送信する。
外部記憶媒体30の構成情報収集プログラム格納部301は、構成情報収集プログラム取得コマンド703の受信に応じて、構成情報収集プログラム1201を取得する(S703)。接続部303は、この構成情報収集プログラム1201を資産管理装置20に送信する。
資産管理装置20の資産構成管理部206は、外部記憶媒体30から受信した構成情報収集プログラム1201の実行有無フラグ1204を確認する。実行有無フラグ1204が「実行済」になっていることを確認後、資産構成管理部206は、構成情報収集プログラム1201の収集対象IPアドレス1202の内容を抽出する(S704)。
そして、資産構成管理部206は、この抽出したIPアドレスに係る制御装置10の内部構成の情報の取得を要求するためのコマンドである構成情報取得コマンド705を、外部記憶媒体30に送信する。
外部記憶媒体30の構成格納部302は、構成情報取得コマンド705の受信に応じて、構成情報取得コマンド705が示す制御装置10に係る構成情報1301を取得する(S705)。外部記憶媒体30の接続部303は、取得した構成情報1301を資産管理装置20に送信する。
資産管理装置20の資産構成管理部206は、このシステム構成情報901を取得する(S706)。そして、システム構成格納部209は、取得したシステム構成情報901
を、外部記憶媒体30から受信した構成情報1301で更新する(S707)。
具体的には、例えば、資産構成管理部206は、システム構成情報901のうち、受信した構成情報1301の機器識別子1302に対応する機器識別子902のレコードにおいて、システム構成情報901の収集日時903で構成情報1301の収集日時1303を更新し、システム構成情報901のIPアドレス904で構成情報1301のIPアドレス1304を更新し、システム構成情報901のOS情報905で構成情報1301のOS情報1305を更新し、システム構成情報901の内部構成907で構成情報1301の内部構成の情報1306を更新する(対応する情報がなかった場合は追加する)。
システム構成格納部209は、S707で更新したシステム構成情報901を記憶し、資産情報更新処理を終了する(S708)。
その後、ユーザは、構成情報1301(内部構成の情報)を確認することにより、特に制御上の問題がある制御装置10を確定し、この制御装置10に対して適切な対応を取る。例えば、所定のネットワークから、OS又は外部サービス等のソフトウェアに関する更新プログラムを取得して制御装置10にインストールする、制御装置10を停止する、他の制御装置10と交換する、その他制御システム50の構成を変更する等の対応が考えられる。
なお、以上の対応は、資産管理装置10が、更新した構成情報901に基づき自動的に行ってもよい。
以上のように、本実施形態の資産情報管理システム1は、制御システム50の通信状態の情報に基づき制御システム50の構成を推定し、脆弱性情報1001及び、推定した制御システム50の構成に基づき、制御装置10のそれぞれの制御上のリスクを推定し、所定の条件(優先順位)の制御上のリスクを有する制御装置10(収集対象装置)を特定し、その収集対象装置が管理する資産の構成の情報を取得する。
すなわち、ネットワーク40の通信状態の情報に基づき制御システム50の構成を推定し、この推定結果に基づき、リスクを有する制御装置10のみを資産情報の収集対象としている。これにより、制御システム50内の資産情報を、制御システム50内の制御装置10やネットワーク40に対して大きな負荷をかけることなく収集することができる。そして、制御装置10のリスクに応じて、必要な資産情報のみを効率よく収集することができる。
このように、本実施形態の資産情報管理システム1によれば、制御システムに対する影響を抑えつつ、制御システムの安定制御に必要な資産情報を取得することができる。
[第2実施形態]
第1実施形態では、構成情報収集プログラム1201が外部記憶媒体30に記憶され、各制御装置10が外部記憶媒体30から構成情報収集プログラム1201を読み出して実行する形態である。
これに対して、本実施形態は、外部記憶媒体30を用いることなく、各制御装置10が構成情報収集プログラム1201をそれぞれ実行する形態である。
<構成及び機能>
図18は、第2実施形態に係る資産情報管理システム1の構成及び機能の一例を説明する図である。第1実施形態と同様の構成には同一の符号を付している。以下、第1実施形
態と異なる点を中心に説明する。
本実施形態に係る資産情報管理システム1は、資産管理装置20と、複数の制御装置10及び制御対象の装置70を含む制御システム50とを含んで構成されており、これらはネットワーク40により通信可能に接続されている。すなわち、資産情報管理システム1は、第1実施形態と異なり外部記憶媒体30を有しない。
また、制御装置10は、第1実施形態と異なり、外部媒体接続部103を有しない。資産管理装置20も、第1実施形態と異なり、外部媒体接続部213を有しない。
制御装置10及び資産管理装置20のハードウェア構成は第1実施形態と同様である。
次に、資産情報管理システム1が行う処理について説明する。
本実施形態では、資産情報管理システム1は、資産管理装置20が構成情報収集プログラム1201を直接各制御装置10に送信し、各制御装置10がその内部構成の情報を収集し、資産管理装置20がその内部構成の情報を直接受信する処理(以下、内部構成情報自動収集処理という)を行う。
具体的には、まず、第1実施形態と同様に外部サービス情報取得処理が行われ、その後、内部構成情報自動収集処理が行われる。
<内部構成情報自動収集処理>
図19は、第2実施形態に係る内部構成情報自動収集処理の一例を説明するフロー図である。なお、この処理は、例えば、外部サービス情報取得処理の終了後、所定のタイミング(例えば、所定の時間間隔、所定の時刻、又はユーザにより指定されたタイミング)で実行される。
まず、資産管理装置20のシステム構成格納部209は、第1実施形態のS501と同様に、外部サービス情報取得処理で生成されたシステム構成情報901を取得する(S1701)。また、脆弱性格納部210は、第1実施形態のS502と同様に、脆弱性情報1001を取得する(S1702)。
資産管理装置20のリスク評価部203は、第1実施形態のS503と同様に、S1701で取得したシステム構成情報901とS1702で取得した脆弱性情報100とに基づき、各制御装置10のリスクを算出する(S1703)。そして、収集対象特定部204は、第1実施形態のS504と同様に、S1703で算出したリスクに基づき、各制御装置10の優先順位を算出し(S1704)、第1実施形態のS505と同様に、収集優先順位画面を表示する(S1705)。
次に、資産管理装置20の収集対象特定部204は、第1実施形態のS506と同様に収集対象装置を特定し、構成情報収集プログラム生成部205は、第1実施形態のS506と同様に、特定した各収集対象装置について、収集テンプレート情報1101から、対応する構成情報収集スクリプト1103を取得し、取得した各構成情報収集スクリプト1103に基づき、各構成情報収集プログラム1201を生成する(S1706)。なお、ここでは、収集対象装置が制御装置10(x)であったものとする。
すると、本実施形態では、資産管理装置20の通信部207は、生成した構成情報収集プログラム1201を制御装置10(x)に送信する。そして、制御装置10(x)のプログラム実行部106(x)は、第1実施形態のS604と同様に、所定の機能により、
受信した構成情報収集プログラム1201を実行する(S1707)。
プログラム実行部106(x)は、第1実施形態のS605と同様に、構成情報収集プログラム1201を実行した制御装置10が、構成情報収集プログラム1201で定義されている制御装置10と一致しているか否かを判定する(S1708)。
両者が一致していない場合は(S1708:不一致)、送信先の制御装置10に誤りがあるとして、プログラム実行部106(x)は、内部構成情報自動収集処理を終了する(S1709)。
他方、両者が一致した場合は(S1708:一致)、プログラム実行部106(x)は、第1実施形態のS607と同様に、構成情報収集プログラム1201に含まれている構成情報収集スクリプト1203に従って、制御装置10(x)の内部構成の情報を収集する(S1710)。
第1実施形態のS608と同様に、プログラム実行部106(x)は、構成情報収集プログラム1201に含まれている実行有無フラグ1204を「実行済」に更新する(S1711)。通信部105(x)は、S1710で収集した内部構成の情報である構成情報1301と、S1711で更新した構成情報収集プログラム1201とを、資産管理装置20に送信する。
資産管理装置20の資産構成管理部206は、第1実施形態のS704と同様に、制御装置10(x)から受信した構成情報収集プログラム1201に含まれる実行有無フラグ1204を確認することで、構成情報収集プログラム1201が実行されたか否かを判定する(S1712)。その結果、未実行と判定した場合には、資産構成管理部206は、再度、構成情報収集プログラム1201を制御装置10(x)に送信する(S1712:未実行)。
他方、実行済と判定した場合には(S1712:実行済)、資産構成管理部206は、第1実施形態のS706と同様に、システム構成情報901を取得する(S1713)。
そして、システム構成格納部209は、第1実施形態のS707と同様に、S1713で取得したシステム構成情報901を、制御装置10(x)から受信した構成情報1301で更新する(S1714)。
また、システム構成格納部209は、第1実施形態のS708と同様に、S1714で更新したシステム構成情報901を記憶し、処理を終了する(S1715)。
以上のように、本実施形態の資産情報管理システム1によれば、資産管理装置20が、外部記憶媒体30を介さずに、構成情報収集プログラム1201を制御装置10に提供することができる。これにより、制御装置10及び装置70が多数存在する場合であっても、迅速に資産の情報を更新することができる。
本発明は上記の各実施形態に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。例えば、実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
例えば、制御装置10の資産管理装置20の機能を含ませてもよく、資産管理装置20の機能の一部を制御装置10に含ませてもよい。また、制御装置10及び資産管理装置2
0の間の通信を、他の装置を経由して行ってもよい。
また、本実施形態でデータベース形式の情報として示したデータについては、他の任意のデータ形式であってよい。
また、本実施形態では、ネットワーク40の負荷の状況を調べるためにパケット数、帯域の情報等を使用するものとしたが、通信量を示す他の情報を使用してもよい。
また、本実施形態では、収集テンプレート情報1101及び構成情報収集スクリプトはOS等のソフトウェアに依存するとしたが、制御装置10や装置70のハードウェアに依存する場合は、これらのハードウェアに応じた情報又はプログラムとしてもよい。
また、本実施形態では、制御装置10(装置70)のリスクは、脆弱性を有するOS又は外部サービスの有無又は数、脆弱性の危険度、前回の内部構成の情報の収集日時からの経過時間などから算出するものとしたが、その他のソフトウェアの情報、ハードウェアの仕様又は構成等の他の要素を利用して算出してもよい。
また、本実施形態では、制御装置10(装置70)の優先順位の算出方法として、算出したリスクの大きさや、制御装置10の物理的位置による算出方法を説明したが、ハードウェアの仕様又は構成等の他の要素を用いて算出してもよい。
また、本実施形態では、構成情報収集プログラム等を格納する主体としてUSBメモリ等の外部記憶媒体30を使用するものとしたが、クラウド等の、資産情報管理システム1外の他の情報処理システムを使用してもよい。
また、本実施形態では、収集対象装置を特定するための条件として、リスクの高さに基づく優先順位、日時、装置の物理的な位置を設定したが、他の条件(例えば、収集対象装置の最大台数)を設定してもよい。
また、本実施形態では、内部構成の情報は、OS及びその他のソフトウェアの構成の情報であるとしたが、他の情報(例えば、各装置のハードウェアの情報、ネットワーク40に関する情報、各装置の管理情報)を加えても、又は他の情報と置き換えてもよい。
以上の本明細書の記載により、少なくとも次のことが明らかにされる。すなわち、各実施形態の資産情報管理システムは、前記特定した収集対象装置の情報に基づき、当該収集対象装置の資産の構成の情報を取得するための所定のプログラムを生成する構成情報収集プログラム生成部をさらに備え、前記資産構成管理部は、前記生成したプログラムに基づき、前記資産の構成の情報を取得する、としてもよい。
このように、収集対象装置の資産の構成の情報を取得するための構成情報収集プログラムを生成し、このプログラムに基づき資産の構成の情報を取得することで、各収集対象装置が多種多様の構成を有する場合であっても、それらの資産の構成の情報を確実に取得することができる。
また、各実施形態の資産情報管理システムにおいて、前記リスク評価部は、前記制御システムの構成の過去の推定時から所定時までの時間の長さに応じて、前記制御装置のそれぞれの制御上のリスクの大きさを推定する、としてもよい。
このように、制御システム50の構成の過去の推定時から現在までの時間の長さに応じて制御装置10の制御上のリスクの大きさを推定することで、例えば、長くその構成がチ
ェックされていない制御装置10についてはリスクが高いとする等、制御装置10に対して、その現状に応じた適切なリスク評価をすることができる。
また、各実施形態の資産情報管理システムにおいて、前記リスク評価部は、前記脆弱性情報の設定時から所定時までの時間の長さに応じて、前記制御装置のそれぞれの制御上のリスクの大きさを推定する、としてもよい。
このように、脆弱性情報1001の設定時から現在までの時間の長さに応じて制御装置10の制御上のリスクの大きさを推定することで、例えば、長くその構成が更新されていない制御装置10についてはリスクが高いとする等、制御装置10に対して、その更新履歴に基づく適切なリスク評価をすることができる。
また、各実施形態の資産情報管理システムにおいては、前記構成情報収集プログラム生成部は、前記生成したプログラムを所定の記憶装置に記憶し、前記収集対象装置は、前記記憶されたプログラムを実行し、当該収集対象装置が管理する前記資産の構成の情報を前記記憶装置に記憶するプログラム実行部を備え、前記資産構成管理部は、前記記憶された資産の構成の情報を、前記記憶装置から取得する、としてもよい。
このように、構成情報収集プログラム1201を外部記憶媒体30等の記憶装置に記憶し、収集対象装置が、その構成情報収集プログラム1201を実行して資産の構成の情報を得、資産管理装置がその資産の構成の情報を記憶装置から取得することで、構成情報収集プログラム1201を容易に管理することができる。例えば、ユーザは、構成情報収集プログラム1201を記憶可能な外部記憶媒体30等を用いることで、様々な場所に設置されている、収集対象装置の制御装置10(装置70)からの情報収集及びその構成の更新を容易に行うことができる。
また、各実施形態の資産情報管理システムにおいては、前記プログラム実行部は、前記プログラムが前記収集対象装置で実行されたか否かを判定し、前記プログラムが前記収集対象装置で実行されたと判定した場合にのみ、当該収集対象装置が管理する資産の構成の情報を前記記憶装置に記憶する、としてもよい。
このように、構成収集プログラムが収集対象装置で実行されたと判定した場合にのみ、その資産の構成の情報を記憶装置に記憶することで、記憶装置に、誤った制御装置10における資産の構成の情報が記憶されることを防ぐことができる。
また、各実施形態の資産情報管理システムにおいては、前記推定した前記制御システムの構成の情報、及び、前記取得した収集対象装置が管理する資産の構成の情報のうち少なくともいずれかを出力する入出力部を備える、としてもよい。
このように、制御システム50の構成の情報、又は、収集対象装置が管理する資産の構成の情報を表示することで、ユーザは、制御システム50の現状、及び制御システム50において制御上重要な制御装置10の情報を知ることができる。
また、各実施形態の資産情報管理システムにおいては、前記収集対象特定部は、前記所定の条件として、前記リスクに基づく前記収集対象装置の候補としての優先順位の情報を設定し、前記入出力部は、前記収集対象装置の構成の情報と共に、前記優先順位の情報を出力する、としてもよい。
このように、収集対象装置の決定に関してリスクに基づく優先順位の条件を設定しておき、収集対象装置の構成の情報と共に、その優先順位の情報を出力するようにすることで
、制御システム50による制御における各制御装置10の重要性についてより詳細な情報を得ることができる。