JP6814659B2 - 情報処理システム及び情報処理方法 - Google Patents

情報処理システム及び情報処理方法 Download PDF

Info

Publication number
JP6814659B2
JP6814659B2 JP2017034784A JP2017034784A JP6814659B2 JP 6814659 B2 JP6814659 B2 JP 6814659B2 JP 2017034784 A JP2017034784 A JP 2017034784A JP 2017034784 A JP2017034784 A JP 2017034784A JP 6814659 B2 JP6814659 B2 JP 6814659B2
Authority
JP
Japan
Prior art keywords
information
block data
unit
patch
application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017034784A
Other languages
English (en)
Other versions
JP2018142078A (ja
Inventor
安西 史圭
史圭 安西
健司 ▲高▼尾
健司 ▲高▼尾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Heavy Industries Ltd
Original Assignee
Mitsubishi Heavy Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Heavy Industries Ltd filed Critical Mitsubishi Heavy Industries Ltd
Priority to JP2017034784A priority Critical patent/JP6814659B2/ja
Publication of JP2018142078A publication Critical patent/JP2018142078A/ja
Application granted granted Critical
Publication of JP6814659B2 publication Critical patent/JP6814659B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Hardware Redundancy (AREA)
  • Stored Programmes (AREA)

Description

本発明は、情報処理システム及び情報処理方法に関する。
発電プラント、鉄道システム、船舶、自動車、工場のオートメーション等において、それらの運転を制御するために分散制御システムが用いられることがある。分散制御システムなどの分散システムは、冗長化構成を有する。冗長化構成とは、多重化構成とも呼ばれる。安全性を確保するため、2つ又はそれ以上(例えば、4つ)のサブシステムを備え、サブシステム間で同一の処理を並列に実行可能とする。このとき、各サブシステムを構成する演算装置は、起動時に自装置が備えるハードウェアとソフトウェアの組み合わせが適切か否かを確認することがある。例えば、複数の異なるユーザによる二重承認が得られるときにソフトウェアの更新を行うことが提案されている(特許文献1)。また、分散システムにおいて、認証局サーバ(CA:Certification Authority)を設けておき、演算装置は認証された電子証明書を用いて演算装置にアクセスするユーザの認証を行うことが提案されている(特許文献2)。また、監視モニタ等の管理装置から提供されるホワイトリストを用いて、演算装置は予め許可されたソフトウェアやプロセス以外のソフトウェアやプロセスの起動を行わないことが提案されている。
特許第5964077号公報 特許第5593416号公報
しかしながら、冗長化構成をとる場合、互いにソフトウェア構成を確認するために演算装置間で相互に通信が発生する。そのため、冗長化台数が増えると、演算装置間で送受信されるデータの通信量が著しく増える。冗長化台数とは、冗長化構成におけるサブシステムの数である。冗長化台数は、多重度と呼ばれることもある。例えば、サブシステム、即ち演算装置の個数がn(nは、1より大きい整数)個である場合には、演算装置間における通信量は、冗長化構成をとらない場合のn(n−1)/2倍となる。そのため、冗長化台数を容易に増やすことができないという課題があった。
また、サイバーセキュリティを確保するために認証局サーバが設けられる場合、認証局サーバが各種のサイバーセキュリティに関する機能に関して中央サーバとしての役割を担う。そのため、分散システムであるにも関わらず、認証局サーバに障害が発生すると、分散システム全体の稼働に影響を及ぼしうるという課題が生じていた。認証局サーバの設置は、ユーザの成りすましに対しては有効な対策であるが、予め許可されたソフトウェア以外の不正なソフトウェアの適用を防止することができない。例えば、感染防止に予め許可したプログラムのみ起動を許可するホワイトリスト方式が用いられる場合、ソフトウェアの更新の度に実行が許可されるソフトウェアを示すホワイトリストの配信を要するうえ、冗長化台数が多いほど更新ならびに配信の負荷が多くなる。更新ならびに配信のために専用の配信サーバを分散システムに設置すると、認証局サーバと同様に、その障害により分散システム全体の稼働に影響を及ぼしうるという課題を生じる。
本発明は、上述の課題を鑑みてなされたものであり、分散処理を維持しながら信頼性及び不正なプログラム起動を防止してサイバーセキュリティを向上することができる情報処理システム及び情報処理方法を提供することを目的としている。
本実施形態の一態様は、複数の演算装置を備える情報処理システムであって、前記複数の演算装置のそれぞれは、前記演算装置で許可又は許可しない事項を示すリスト情報に基づいて、前記事項についての処理の実行の許否を判定する制御部と、前時点のブロックデータに基づく検証値と、前記事項の発生に関する現時点まで累積された履歴情報と、を含む現時点のブロックデータを生成するデータ生成部と、前記ブロックデータを前記複数の演算装置間で同報する通信部と、を備える情報処理システムである。
本実施形態の一態様は、上述の情報処理システムであって、実行が許可されたプログラムを示すプログラムリスト情報を含む開始時点の第1ブロックデータを前記複数の演算装置に提供する管理装置を備え、前記制御部は、前記プログラムリスト情報が示すプログラムに基づく処理の実行の許否を判定し、前記データ生成部は、前時点の第1ブロックデータに基づく検証値と、前記処理の起動状態を示す起動プログラム情報が現時点まで累積された履歴情報と、を含む現時点の第1ブロックデータを生成し、前記通信部は、前記第1ブロックデータを前記複数の演算装置間で同報する。
本実施形態の他の態様は、上述の情報処理システムであって、所定の機能へのアクセスが許可されたユーザを示すユーザリスト情報を含む開始時点の第2ブロックデータを前記複数の演算装置に提供する管理装置を備え、前記制御部は、前記ユーザリスト情報に基づいてユーザからの前記機能へのアクセスの許否を判定し、前記データ生成部は、前時点の第2ブロックデータに基づく検証値と、前記機能へのアクセス結果を示すアクセス状態情報が現時点まで累積された履歴情報であるアクセス履歴情報と、を含む現時点の第2ブロックデータを生成し、前記通信部は、前記第2ブロックデータを前記複数の演算装置間で同報する。
本実施形態の他の態様は、上述の情報処理システムであって、前記複数の演算装置のそれぞれは、サイバーセキュリティが損なわれる事象を検出する検出部を備え、前記データ生成部は、前時点の第3ブロックデータに基づく検証値と、検出された前記事象を示す事象情報が現時点まで累積された履歴情報である事象履歴情報と、を含む現時点の第3ブロックデータを生成し、前記通信部は、前記第3ブロックデータを前記複数の演算装置間で同報する。
本発明の他の態様は、上述の情報処理システムであって、プログラムのパッチを示すパッチリスト情報を含む開始時点の第4ブロックデータを前記複数の演算装置に提供する管理装置を備え、前記制御部は、前記パッチリスト情報が示すパッチの適用の要否を判定し、前記データ生成部は、前時点の第4ブロックデータに基づく検証値と、前記パッチの適用状態を示すパッチ適用情報が現時点まで累積された履歴情報であるパッチ適用履歴情報と、を含む現時点の第4ブロックデータを生成し、前記通信部は、前記第4ブロックデータを前記複数の演算装置間で同報する。
本発明の他の態様は、複数の演算装置を備える情報処理システムにおける情報処理方法であって、前記複数の演算装置のそれぞれが、前記演算装置で許可又は許可しない事項を示すリスト情報に基づいて、前記事項についての処理の実行の許否を判定する制御過程と、前時点のブロックデータに基づく検証値と、前記事項の発生に関する現時点まで累積された履歴情報と、を含む現時点のブロックデータを生成するデータ生成過程と、前記ブロックデータを前記複数の演算装置間で同報する通信過程と、を有する情報処理方法である。
本発明によれば、複数の演算装置間で同報されるブロックデータが共有される。そのため、送信対象の演算装置の数の増加による伝送量の増加が、個々の演算装置を特定してブロックデータが伝送される場合よりも抑制されるため、ブロックデータが効率的に共有される。また、ブロックデータに含まれるプログラムリスト情報の正当性を認証するための認証サーバを設置しなくても、冗長化された個々の演算装置の分散処理を維持しながら、ブロックデータに含まれるプログラムリスト情報に基づいて、そのプログラムに基づく処理の起動を制御することができる。実行が許可されない不正なプログラムの起動が抑制されことで、情報処理システムの信頼性とサイバーセキュリティが向上する。
第一実施形態に係る冗長化システムの一構成例を示すブロック図である。 第一実施形態に係る演算装置の一例を示すブロック図である。 第一実施形態に係るホワイトリスト情報の例を示す図である。 第一実施形態に係る起動アプリケーション情報の一例を示す図である。 第一実施形態に係るホワイトリスト情報の作成画面の一例を示す図である。 第一実施形態に係るハードウェア構成情報の作成画面の一例を示す図である。 第一実施形態に係るブロックデータの例を示す図である。 第一実施形態に係るホワイトリスト管理・配信処理の一例を示すフローチャートである。 第一実施形態に係る冗長化システムの他の構成例を示すブロック図である。 第二実施形態に係るブロックデータの例を示す図である。 第三実施形態に係る演算装置の一構成例を示すブロック図である。 第三実施形態に係る脅威対処テーブルの一例を示す図である。 第三実施形態に係るブロックデータの例を示す図である。 第三実施形態の一変形例に係るブロックデータの例を示す図である。 第四実施形態に係るパッチリスト情報の例を示す図である。 第四実施形態に係るパッチ適用情報の例を示す図である。 第四実施形態に係るブロックデータの例を示す図である。
<第一実施形態>
以下、本発明の第一実施形態に係る冗長化システムについて、図1〜図9を参照して説明する。
図1は、本実施形態に係る冗長化システム1の一構成例を示すブロック図である。
冗長化システム1は、複数の演算装置10とEMS(Engineering and Maintenance Station;管理装置)22を含んで構成される。複数の演算装置10は、互いに共通の構成を備える。演算装置10a等のa等の符号は、個々の演算装置を区別するための符号である。演算装置10a−10dは、それぞれネットワークNWで通信可能に接続され、相互に各種のデータを送受信できる。図1に示す例では、演算装置10の台数は、4個であるが、3個以上であればよい。また、台数の上限は特に設けられない。以下の説明では、演算装置10が、主にサーバ装置として実現される場合を例にする。
EMS22は、ユーザであるエンジニアの操作を受け付け、受け付けた操作に応じてネットワークNWを介して接続されている機器を管理するための装置である。演算装置10の管理には、例えば、各演算装置10の起動、停止などの動作状態の指示、パラメータの設定、アプリケーションプログラムの作成と配信、などである。EMS22は、ユーザの操作を受け付ける操作入力部と、操作対象の演算装置や各種の情報を表示するための表示部と、操作により指示される操作情報、設定情報などを適用対象の演算装置10に送信するための通信部を備える。EMS22は、演算装置10に起動を許可するアプリケーションプログラムのリストを示す開始時点のブロックデータを生成する。起動とは、実行を開始することを示す。以下の説明では、アプリケーションプログラムを単にアプリケーション又はアプリと呼ぶ。プログラムの実行とは、CPU(Central Processing Unit)、ASIC(Application Specific Integrated Circuit)等の演算処理を実行する演算デバイスがプログラムに記述された命令に係る処理を行うことを意味する。プログラムの起動とは、プログラムの実行を開始することを意味する。また、機能部毎にその処理を実行する演算デバイス、プログラムが異なっていてもよい。
現時点のブロックデータは、前時点のブロックデータに基づく検証値と、開始時点から現時点までの各時点の要素情報を累積して構成される履歴情報を含むデータである。検証値として、例えば、前時点のブロックデータに含まれるブロックヘッダ、現時点の履歴情報のそれぞれについて得られたハッシュ値が用いられる。EMS22は、開始時点のブロックデータとして、アプリケーションのリストを示す開始時点(初期)の履歴情報、所定の検証値の初期値、及び開始時点の履歴情報の検証値と、を含むブロックデータを生成する。アプリケーションのリストは、演算装置10に起動を許可するアプリケーションを示すアプリケーション情報を1個又は複数個を含んで構成されるホワイトリスト情報である。ブロックデータの具体例については、後述する。各アプリケーション情報には、そのアプリケーションの起動の許否を示す演算装置10の情報が含まれてもよい。EMS22は、生成した開始時点のブロックデータを演算装置10にネットワークNWを介して送信する。
次に、本実施形態に係る演算装置10の機能構成について説明する。図2は、本実施形態に係る演算装置10の一例を示すブロック図である。
演算装置10は、制御演算部11、機能制御部13、ブロックデータ処理部14、通信部16及び記憶部18を備える。演算装置10は、例えば、演算デバイスから構成される。演算デバイスは、記憶部18に記憶された所定の制御プログラムを読み出し、読み出した制御プログラムを実行する。また、機能部間でプログラムを実行する演算デバイスが共通であってもよいし、異なっていてもよい。
制御演算部11は、記憶部に記憶された各種のプログラムから、機能制御部13から入力されたアプリケーション起動指示情報が示すアプリケーションを読み出し、読み出したアプリケーションに記述された命令が示す処理を実行する。なお、制御演算部11は、処理を実行するアプリケーションは、アプリケーション起動指示情報が示すアプリケーションであって、ユーザの操作により指示されたアプリケーションでもよい。また、制御演算部11が処理を実行するプログラムには、そのアプリケーションから参照されるダイナミックリンクライブラリ(DLL:Dynamic Link Library)が含まれることがある。制御演算部11は、起動したアプリケーションについて、自機における起動状態として起動中を示す起動アプリケーション情報を記憶部18に記憶する。また、制御演算部11は、起動したアプリケーションについて起動が完了したとき、記憶部18に記憶した起動アプリケーション情報を、自機における起動状態として起動完了を示す起動アプリケーション情報に更新する。また、実行対象のアプリケーションは、EMS22を介して提供されるアプリケーションであってもよい。
また、制御演算部11は、機能制御部13からアプリケーション実行停止情報が入力されるとき、アプリケーション実行停止情報が示すアプリケーションの実行を停止する。制御演算部11は、実行を停止したアプリケーションについて、自機における起動状態として起動停止を示す起動アプリケーション情報を記憶部18に記憶する。
機能制御部13は、記憶部18に新たに記憶されたアプリケーション情報、つまりホワイトリスト情報に基づいて、そのアプリケーション情報が示すアプリケーションの実行の許否を判定する。機能制御部13は、アプリケーション情報が自装置での実行を許可するアプリケーションを実行すると判定する。機能制御部13は、そのアプリケーション情報が自装置に実行が許可されていないアプリケーションを実行しないと判定する。機能制御部13は、実行すると判定したアプリケーションの起動を指示するアプリケーション起動指示情報を生成し、生成したアプリケーション起動指示情報を制御演算部11に出力する。
機能制御部13は、記憶部18に記憶された最新の起動アプリケーション情報が示すアプリケーションのうち、その起動状態が起動停止(起動を中断し停止すること)であるアプリケーションが存在する場合がある。その場合には、自装置とは異なる他の演算装置10の制御演算部11においてそのアプリケーションの実行が停止している場合と、自装置の制御演算部11がそのアプリケーションの実行が停止している場合とがある。機能制御部13は、そのアプリケーションの起動を指示するアプリケーション起動指示情報を生成し、生成したアプリケーション起動指示情報を制御演算部11に出力してもよい。これにより、冗長化システム1において、実行が停止されたアプリケーションが最初に検知した演算装置10が、そのアプリケーションの実行が維持される。また、アプリケーションの実行の停止を最初に検知した演算装置において、そのアプリケーションが再起動される。そのため、アプリケーションの実行を停止した演算装置10と、アプリケーションを再起動する演算装置10とは同一であることもあるし、異なることもある。
また、機能制御部13は、制御演算部11において新たに起動したアプリケーションを検知したとき、ホワイトリスト情報を参照して、そのアプリケーションが自装置に実行が許可されたアプリケーションであるか否かを判定する。さらに、機能制御部13は、記憶部18に記憶されたホワイトリスト情報が、更新されたか否かを所定時間毎に判定してもよい。更新されたと判定するとき、制御演算部11において実行中のアプリケーションのうち、更新されたホワイトリスト情報を参照して自装置に実行が許可されていないアプリケーションが存在しているか否かを判定してもよい。自装置に実行が許可されていないアプリケーションが存在する場合には、機能制御部13は、そのアプリケーションの実行の停止を示すアプリケーション実行停止情報を生成し、生成したアプリケーション実行停止情報を制御演算部11に出力する。これにより、そのアプリケーションの実行が停止される。その場合、機能制御部13は、そのアプリケーションの実行の停止を示すアラーム情報を生成し、生成したアラーム情報をOPS(Operator Station;監視装置)21(図9)に通信部16を介して送信してもよい。OPS21は、後述するように各種の機器の制御状態をユーザであるエンジニアが監視するための装置である。OPS21は、EMS22と一体に構成されてもよい。これにより、ユーザは、起動したアプリケーションの実行の停止を知得することができる。
なお、機能制御部13は、制御演算部11におけるアプリケーションの実行の停止を検知したとき、記憶部18に記憶した起動アプリケーション情報を、自装置におけるそのアプリケーションの起動状態として起動停止を示す起動アプリケーション情報に更新する。
ブロックデータ処理部14は、ブロックデータに係る処理を実行する。ブロックデータ処理部14は、ブロックデータ保存部141、受信データ解析部142、及び送信データ生成部143を含んで構成される。
ブロックデータ保存部141は、EMS22又は自装置とは異なる他の演算装置10から通信部16を介して受信したブロックデータと自装置の送信データ生成部143が生成したブロックデータを一時的に保存する。
受信データ解析部142は、保存されているブロックデータのうち、前時点のブロックデータとして最新のブロックデータをブロックデータ保存部141から読み出す。読み出されたブロックデータが開始時点のブロックデータである場合には、受信データ解析部142は、読み出したブロックデータから開始時点の履歴情報に相当するホワイトリスト情報を抽出し、抽出したホワイトリスト情報を記憶部18に記憶する。なお、読み出したブロックデータに含まれるホワイトリスト情報が、記憶部18に過去に記憶したホワイトリスト情報から変更されていない場合には、受信データ解析部142は、読み出したブロックデータに含まれるホワイトリスト情報を記憶部18に記憶しなくてもよい。つまり、新たなホワイトリスト情報が取得されるとき、記憶部18に記憶されるホワイトリスト情報が新たなホワイトリスト情報に更新されればよい。
また、読み出されたブロックデータが開始時点よりも後の時点のブロックデータである場合には、受信データ解析部142は、最新のブロックデータの履歴情報から最新の起動アプリケーション情報を抽出し、抽出した起動アプリケーション情報を記憶部18に記憶する。
送信データ生成部143は、自装置におけるアプリケーションの起動状態を示す最新の起動アプリケーション情報を記憶部18から読み出す。また、送信データ生成部143は、ブロックデータ保存部141に保存されたブロックデータのうち最新のブロックデータを前時点のブロックデータとして読み出し、読み出したブロックデータと起動アプリケーション情報とに基づいて現時点のブロックデータを生成する。現時点のブロックデータは、前時点のブロックデータに基づく検証値と、その履歴情報に新たな起動アプリケーション情報を要素情報として追加して構成される現時点の履歴情報とを含むデータである。送信データ生成部143は、検証値として、例えば、前時点のブロックデータに含まれるブロックヘッダ、現時点の履歴情報のそれぞれについて所定の一方向関数を用いてハッシュ値を算出する。送信データ生成部143は、生成したブロックデータを自装置とは異なる他の演算装置10に送信し、自装置のブロックデータ保存部141に保存する。これにより、自装置を含む複数の演算装置10の間で送信データ生成部143が生成したブロックデータが同報(ブロードキャスト)され、互いに共有される。
通信部16は、ネットワークNWと通信可能に接続され、ネットワークNWに接続された他の機器との間で各種のデータを送受信する。通信部16は、例えば、自装置とは異なる他の演算装置10からブロックデータを受信し、自装置の送信データ生成部143が生成したブロックデータを自装置とは異なる他の演算装置10に同報する。
記憶部18は、自装置の各部が取得した各種のデータ、自装置の各部の処理に用いるデータを記憶する。記憶部18、ブロックデータ保存部141は、例えば、RAM(Random Access Memory)などの記憶媒体を含んで構成される。
(ホワイトリスト情報)
次に、本実施形態に係るホワイトリスト情報の例について説明する。
図3は、本実施形態に係るホワイトリスト情報の例を示す図である。
図3に示す例では、ホワイトリスト情報は、実行を許可するアプリケーション毎に、アプリケーション名、バージョン、ハッシュ値及び許可する演算装置の情報の組み合わせを、1個又は複数個含んで構成される。各行に示すこの情報の組み合わせが、アプリケーション情報に相当する。アプリケーション名は、個々のアプリケーションの名称である。図3に示す例では、アプリケーション名としてプロセス名が用いられているが、そのアプリケーションを特定することができる名称であれば、略称、通称などが用いられてもよい。バージョンは、そのアプリケーション名に係るアプリケーションのバージョンである。本実施形態では、アプリケーション名が共通であってもバージョンが異なるアプリケーションは、異なるアプリケーションであるものとして扱われる。ハッシュ値は、そのアプリケーションを示すビット列全体のハッシュ値であり、EMS22において設定される。制御演算部11は、このハッシュ値を、実行対象として選択したアプリケーションに基づくハッシュ値とが一致するか否かを照合し、両者が一致するとき、そのアプリケーションが改変されていない正当なアプリケーションであると判定して、両者が一致しないとき、そのアプリケーションが不正なアプリケーションであると判定してもよい。そして、制御演算部11は、正当であると判定したアプリケーションを実行させ、不当であると判定したアプリケーションを実行させない。許可する演算装置の項目には、実行を許可する演算装置の番号が指定される。ALLとは、ブロックデータの共有先の全ての演算装置を示す。
(起動アプリケーション情報)
次に、本実施形態に係る起動アプリケーション情報の例について説明する。
図4は、本実施形態に係る起動アプリケーション情報の一例を示す図である。図4に示す例では、起動アプリケーション情報は、1つの演算装置10におけるアプリケーション毎の起動状態を示す。起動アプリケーション情報は、アプリケーション毎のアプリケーション名、バージョン、プロセスID(Identifier)及び状態の組み合わせを1個又は複数個含んで構成される。このアプリケーションは、ホワイトリスト情報が示すアプリケーションのいずれかに該当する。プロセスIDは、そのプロセスを示す識別情報である。状態の項目は、そのアプリケーションの起動状態を示し、起動中、起動完了又は停止のいずれかの情報を示す。制御演算部11は、アプリケーションの起動状態が変化する度に、該当するアプリケーションについて、変化前の起動状態の情報を変化後の起動状態を示す情報に更新し、記憶部18に記録する。なお、起動アプリケーション情報とは、後述するブロックデータの履歴情報に記録される情報である。
(ホワイトリスト情報の作成画面)
EMS22は、ホワイトリスト情報を作成する際、その作成画面を表示部に表示させ、作成画面に表されるアプリケーションのうち、受け付けた操作で指定されたアプリケーションを選択する。EMS22は、選択されたアプリケーションを示すアプリケーション情報からなるホワイトリスト情報を構成する。
図5は、本実施形態に係るホワイトリスト情報の作成画面の一例を示す図である。
図5に示すホワイトリスト情報の作成画面は、例えば、EMS22が受け付けた操作によりホワイトリスト作成開始が指示されるときに表示される。ホワイトリスト情報の作成画面には、演算装置10において実行可能とするアプリケーションが縦長の枠内の各行に表される。EMS22は、各アプリケーションの名称の冒頭に表れているチェックボックスが選択操作により指定されるとき、そのアプリケーションを、実行を許可するアプリケーションとして選択する。EMS22は、指定されたアプリケーションに係る四角形内にチェック記号を表示させる。なお、EMS22は、選択されたアプリケーション毎に操作により指定された装置を、実行を許可する演算装置10として定める(図示せず)。そして、クリック操作により「ロード」ボタンが指定されるとき、EMS22は、選択されたアプリケーションを示すホワイトリスト情報を生成する。
(ハードウェア構成情報の作成画面)
EMS22は、ホワイトリスト情報の送信先として複数の演算装置10を指定する際、ハードウェア構成情報の作成画面を表示部に表示させる。
図6は、本実施形態に係るハードウェア構成情報の作成画面の一例を示す図である。
図6に示すハードウェア構成情報の作成画面は、例えば、EMS22が受け付けた操作によりハードウェア構成の設定が指示されるときに表示される。ハードウェア構成情報の作成画面には、EMS22がネットワークNWを介して接続されている機器が表される。EMS22は、右クリック操作により指定された位置に表された機器を送信先として選択し、メニューバーを表示部に表示させる。そして、EMS22は、メニューバーに表示されている機能のうち、ハードウェア構成及びホワイトリスト生成が操作により選択するとき、その機器が送信先として選択される。
(ブロックデータ)
次に、本実施形態に係るブロックデータ(第1ブロックデータ)の例について説明する。
図7は、本実施形態に係るブロックデータの例を示す図である。
BD01、BD02、BD03は、開始時点におけるブロックデータ、開始時点よりも後のある時点におけるブロックデータ、その次の時点におけるブロックデータをそれぞれ示す。
ブロックデータは、ブロックヘッダとその時点における履歴情報とを含んで構成される。ブロックヘッダには、前時点のブロックデータに基づく検証値、装置ID、演算回数、検証用データ及び履歴情報の検証値が含まれる。
前ブロックデータの検証値は、前時点におけるブロックデータのブロックヘッダから所定の一方向関数を用いて導出された検証値である。図7に示す例では、検証値として所定のハッシュ関数を用いて算出されるハッシュ値が採用されている。検証値は、現時点における履歴情報に含まれる前時点における履歴情報から得られる検証値に基づいても算出される。従って、双方の検証値が一致するか否かにより、現時点において生成されるブロックデータが正当であるか否かが検証される。
但し、開始時点のブロックデータでは、前時点におけるブロックデータが存在しないため、所定の初期値、例えば、0が検証値として用いられる。
装置IDは、そのブロックデータを生成する機器を示す識別情報である。
演算回数は、その機器が実行する演算処理を示す番号である。つまり、演算回数は、演算処理がどの段階まで進行したかを示す稼働タイミングを示す情報である。
検証用データは、演算装置10間で稼働タイミングを調整するために任意に設定されるデータである。自装置とは異なる他の演算装置10よりも稼働タイミングが先行している演算装置10は、その検証用データを用いて他の機能に影響を及ぼさない所定の処理を行う。その処理が行われる時間は、自装置とは異なる他の演算装置10よりも稼働タイミングが先行している時間差に相当する。所定の処理は、継続的な演算を含むことで一定の時間を要するアルゴリズムに基づく処理、例えば、円周率の計算、マイニング用ハッシュ値の計算である。検証用データには、例えば、処理開始時刻、カウンタタイマー値などが含まれる。検証用データには、その他、実行する処理の初期値、処理により得られる中間値などが含まれてもよい。
履歴情報の検証値は、現時点までの履歴情報の一方向関数として算出される検証値である。つまり、開始時点の履歴情報の検証値として、ホワイトリスト情報に基づく検証値が用いられる。また、開始時点よりも後の各時点の履歴情報の検証値として、ホワイトリスト情報と現時点までの全起動アプリケーション情報を累積して構成される履歴情報の検証値が用いられる。この検証値はブロックヘッダに含まれ、次の時点における前ブロックデータの検証値の導出に用いられる。従って、前ブロックデータが正当ではないと判定されるとき、現ブロックデータも正当ではないと判定される。
開始時点のブロックデータの履歴情報には、ホワイトリスト情報が含まれる。ホワイトリスト情報の各行には、各アプリケーションのアプリケーション情報が含まれる。
開始時点よりも後の時点のブロックデータの履歴情報には、要素情報としてホワイトリスト情報と現時点までの起動アプリケーション情報が含まれる。個々の起動アプリケーション情報には、その起動状態に係る演算装置である稼働サーバの情報が対応付けられる。
(ホワイトリスト管理・配信処理)
次に、本実施形態に係るホワイトリスト管理・配信処理について説明する。
図8は、本実施形態に係るホワイトリスト管理・配信処理の一例を示すフローチャートである。次の説明では、冗長化システム1は、複数の演算装置10とEMS22の他、OPS21を備えていることを前提とする。
また、以下の処理は、演算装置10の起動中、定期的(例えば、周期制御毎)に実行される。
(ステップS102)演算装置10の演算デバイスは、記憶部18に予め記憶されたブロックデータ処理プログラムを読み出し、読み出したブロックデータ処理プログラムを起動する。これにより、機能制御部13及びブロックデータ処理部14の機能が開始される。これにより、ブロックデータを処理する準備が整う。この段階では、ホワイトリストに記載されたアプリケーションは、実行されない。その後、ステップS104の処理に進む。
(ステップS104)ブロックデータ保存部141は、EMS22から通信部16を介して開始時点のブロックリスト1を受信し、受信したブロックリスト1を保存する。受信データ解析部142は、ブロックデータ保存部141に保存されている最新のブロックリスト1からホワイトリストを抽出し、抽出したホワイトリストを記憶部18に記憶する。その後、ステップS106の処理に進む
(ステップS106)機能制御部113は、記憶部18に記憶されたホワイトリストを構成するアプリケーション情報が示すアプリケーションのうち、自装置に起動が許可されたアプリケーションを示すアプリケーション起動指示情報を制御演算部11に出力する。これにより、制御演算部11は、ホワイトリスト情報が示すアプリケーションのうち、自装置に起動が許可されたアプリケーションを起動する。その後、ステップS108の処理に進む。
(ステップS108)制御演算部11は、自装置における、そのアプリケーションの起動が完了したとき、起動状態として起動完了を示す起動アプリケーション情報を記憶部18に記憶する。送信データ生成部143は、ブロックデータ保存部141から最新のブロックデータ1を前時点のブロックデータとして読み出し、記憶部18から最新の起動アプリケーション情報を読み出す。送信データ生成部143は、前時点のブロックデータに含まれている履歴情報に、最新の起動アプリケーション情報を追加して現時点の履歴情報を生成する。その後、ステップS110の処理に進む。
(ステップS110)送信データ生成部143は、現時点の履歴情報、現時点の履歴情報の検証値、及び前時点のブロックデータに含まれるブロックヘッダの検証値を含む現時点のブロックデータを送信ブロックデータとして生成する。送信データ生成部143は、生成した送信ブロックデータを、自装置とは異なる他の演算装置10に通信部16を介して送信し、ブロックデータ保存部141に保存する。これにより、送信ブロックデータが演算装置10の間で共有される。その後、ステップS112の処理に進む。
(ステップS112)機能制御部113は、自装置の制御演算部11において新たにアプリケーションが起動したか否かを検知する。ここで、起動した状態には、起動中と起動済のいずれも含まれる。起動が検知されるとき(ステップS112 YES)、ステップS114の処理に進む。起動が検知されないとき(ステップS112 NO)、ステップS108に戻り、例えば、次の制御周期をむかえると、ステップS108以降の処理が繰り返される。
(ステップS114)機能制御部13は、起動が検知されたアプリケーションが、記憶部18に記憶されたホワイトリスト情報を参照して、そのアプリケーションが自装置に実行が許可されたアプリケーションであるか否かを判定する。実行が許可されたアプリケーションであると判定されるとき(ステップS114 YES)、ステップS120の処理に進む。実行が許可されていないアプリケーションであると判定されるとき(ステップS114 NO)、ステップS116の処理に進む。
(ステップS116)機能制御部13は、起動が検知されたアプリケーションの実行の停止を示すアプリケーション実行停止情報を制御演算部11に出力する。制御演算部11は、そのアプリケーションが起動中であるときには、その起動を停止し、そのアプリケーションが起動済である場合には、その実行を停止する(ブロック)。その後、ステップS118の処理に進む。
(ステップS118)機能制御部13は、そのアプリケーションの実行の停止を示すアラーム情報を生成し、生成したアラーム情報をOPS21に通信部を介して送信する。その後、ステップS112の処理に進む。
(ステップS120)機能制御部13は、制御演算部11にそのアプリケーションの実行を停止させず、実行を継続させる。その後、ステップS122の処理に進む。
(ステップS122)機能制御部13は、記憶部18に記憶されたホワイトリスト情報が更新されたか否かを判定する。なお、この判定は、前回の処理後に受信した新たなブロックデータに新しいホワイトリスト情報が追加されているかどうかによって判定する。更新後の新しいホワイトリスト情報は、新たに受信したブロックデータの履歴情報において、前回のホワイトリストに対して行われたアプリケーションの起動や停止の履歴を示す複数の起動アプリケーション情報の次に追加されている。ホワイトリスト情報が更新されたとき、機能制御部13は、自装置の制御演算部11において実行中のアプリケーションと、更新されたホワイトリスト情報が示すアプリケーションであって自装置に実行が許可されたアプリケーションとを比較する。
(ステップS124)ステップS122の処理において、ホワイトリスト情報に変更がないと判定された場合には、そのアプリケーションの実行を停止させず、制御演算部11に実行を継続させる。その後、ステップS108に戻り、例えば次の制御周期をむかえると、ステップS108以降の処理を繰り返す。
(ステップS126)ステップS122の処理において、実行中のアプリケーションに、更新されたホワイトリスト情報が示す実行が許可されたアプリケーション以外のアプリケーションが存在する場合、ステップS128の処理に進む。そのような場合は、自装置に実行が許可されたアプリケーションの一部又は全部の情報が、ホワイトリスト情報から削除される場合に起こりうる。
(ステップS128)機能制御部13は、実行が許可されたアプリケーション以外のアプリケーションの実行の停止を示すアプリケーション実行停止情報を制御演算部11に出力する。これにより、そのアプリケーションの実行を停止させる。その後、ステップS108に戻り、例えば次の制御周期をむかえると、ステップS108以降の処理を繰り返す。
(ステップS130)ステップS120の処理において、更新されたホワイトリスト情報が示す自装置に実行が許可されたアプリケーションに新たに追加されたアプリケーションが存在する場合、制御演算部11にそのアプリケーションの実行を停止させず、実行を継続させる。その後、ステップS108に戻り、例えば次の制御周期をむかえると、ステップS108以降の処理を繰り返す。
このように、ホワイトリスト情報をブロックデータに格納し、開始時点の履歴情報の検証値と共に次のブロックデータ内に反映させることにより、サイバー攻撃によるホワイトリスト情報の改ざん防止が可能になる。つまり、攻撃者は、ホワイトリスト情報を改ざんし自身の悪意あるプログラムに起動許可を与える企図を企てても、開始時点からのすべてのブロックデータを変更し、かつ履歴情報の検証値も再計算し反映する必要がある。さらに各演算装置がブロックデータ保存部に保存するブロックデータも全装置に亘り改ざんすることも必要になる。そして、すべてに成功しないとき、ユーザは履歴情報の検証値から改ざんをきわめて容易に検出できる。この改ざんの検出により、攻撃者の企図が発覚する。従って、本手法により、ホワイトリスト情報の改ざんをけん制する効果が生じる。
(変形例)
なお、上述では、ホワイトリスト情報が、ブログラムプロセス毎の実行が許可されたアプリケーションプログラムを示す場合を例にしたが、これには限られない。ホワイトリスト情報は、制御コマンド毎の実行が許可されたプログラムを示す情報であってもよい。その場合には、上述の例のようにプログラムプロセス単位ではなく、制御コマンド単位で実行が制御される。また、ホワイトリスト情報が示す各制御コマンドには、その実行に用いるためのパラメータの情報が付随していてもよい。制御演算部11は、その制御コマンドを実行するとき、付随した情報が示すパラメータを用いて、その制御コマンドの処理を実行する。
なお、正規のアプリケーションプログラムに、不正な処理を実行するコードが含まれている場合には、上述の例のようにプログラムプロセス毎の制御では、その不正な処理の実行を防御することができないことがある。例えば、SQL(Structured Query Language)インジェクション、OS(Operating System)コマンドインジェクションなどのインジェクション攻撃が制御コマンドのレベルで行われる場合には、その攻撃に対する防御がなされない。しかしながら、制御コマンド単位でその実行の制御を行うことで、不正な処理の実行を阻止することができる。そのため、冗長化システム1のサイバーセキュリティを確保することができる。
なお、上述では、演算装置10が主にサーバ装置である場合を例にしたが、これには限られない。例えば、図9に示す冗長化システム2の制御装置(LS:Logic Solver)24、入出力装置(IO:Input Output)28は、演算装置10と同様の構成を備えてもよい。制御装置24は、冗長化システム2が制御対象とするプラントの動作を制御するための装置である。入出力装置28は、プラントに各種の出力データを出力し、プラントから各種の入力データを入力するための装置である。ここで、制御装置24、入出力装置28は、それぞれ演算デバイスを備え、演算デバイスが所定のプログラムに記述された命令が示す処理を実行する。
冗長化システム2は、OPS21、EMS22、NA(Network Adaptor;ネットワークアダプタ)23、複数の制御装置24a〜24d、IO(Input Output;入出力)スキャナ25、IOネットワーク26、IOアダプタ27a、27b、及び入出力装置28aa〜28aI、28ba〜28bJを含んで構成される制御システムである。制御装置24a〜24d、入出力装置28aa〜28aI、28ba〜28bJは、それぞれ互いに共通の構成を備える。制御装置24a等のa等の符号、入出力装置28aa等のaa等の符号は、個々の装置を識別するための符号である。
以上に説明したように、本実施形態に係る冗長化システム1、2は、複数の演算装置(例えば、演算装置10、制御装置24、入出力装置28等)と、実行が許可されたプログラムを示すプログラムリスト情報(例えば、ホワイトリスト情報)を含む開始時点のブロックデータを前記複数の演算装置に提供する管理装置(例えば、EMS22)と、を備える情報処理システムである。複数の演算装置のそれぞれは、制御部(例えば、機能制御部13)、データ生成部(例えば、送信データ生成部143)及び通信部(例えば、通信部16)を備える。制御部は、プログラムリスト情報が示すプログラムに基づく処理の実行の許否を判定する。データ生成部は、前時点のブロックデータに基づく検証値と、処理の起動状態を示す起動プログラム情報(例えば、起動アプリケーション情報)が現時点まで累積された履歴情報と、を含む現時点のブロックデータを生成する。通信部は、ブロックデータを複数の演算装置間で同報する。
この構成によれば、複数の演算装置間で同報されるブロックデータが共有される。そのため、送信対象の演算装置の数の増加による伝送量の増加が、個々の演算装置を特定してブロックデータが伝送される場合よりも抑制されるため、ブロックデータが効率的に共有される。また、ブロックデータに含まれるプログラムリスト情報の正当性を認証するための認証サーバを設置しなくても、冗長化された個々の演算装置の分散処理を維持しながら、ブロックデータに含まれるプログラムリスト情報に基づいて、そのプログラムに基づく処理の起動を制御することができる。実行が許可されない不正なプログラムの起動が抑制されことで、冗長化システムの信頼性が向上する。
また、ブロックデータに含まれる起動プログラム情報がネットワークを介して複数の演算装置間で共有される。そのため、ブロックデータを参照して、実行が許可されていないプログラムに基づく処理の実行の検知及びその実行の停止が効率よく行われるので、サイバーセキュリティが確保される。
<第二実施形態>
次に、本発明の第二実施形態について説明する。第一実施形態と同一の構成については、同一の符号を付してその説明を援用する。以下の説明では、主に第一実施形態の冗長化システム1との差異点について述べる。
本実施形態に係るEMS22(図1)は、受け付けた操作に基づいて個々の演算装置10へのアクセスが許可されたユーザを示すユーザ情報を1個又は複数個含むホワイトリスト情報をさらに生成する。以下の説明では、このホワイトリスト情報を、ユーザリスト情報と呼んで第1の実施形態に係るホワイトリスト情報と区別する。ユーザ情報には、各ユーザの識別情報のハッシュ値、そのユーザの認証情報のハッシュ値、及びアクセス許可機能の情報が含まれる。ユーザの識別情報、認証情報として、例えば、ユーザID、パスワード、がそれぞれ用いられる。アクセス許可機能は、そのユーザにアクセスを許可する機能である。EMS22は、生成したユーザリスト情報を含むように開始時点のブロックデータを生成する。以下の説明では、ユーザリスト情報を含むブロックデータを、第2ブロックデータと呼んで第1の実施形態に係るブロックデータと区別する。開始時点の第2ブロックデータは、ユーザリスト情報を開始時点の履歴情報とし、所定の検証値の初期値、及び開始時点の履歴情報を含んで構成される。第2ブロックデータの具体例については後述する。EMS22は、生成した開始時点の第2ブロックデータを演算装置10にネットワークNWを介して送信する。
次に、本実施形態に演算装置10(図2)の構成について説明する。本実施形態に係る機能制御部13は、自装置の外部からの入力情報に基づいてユーザアクセス情報を取得する。ユーザアクセス情報は、ユーザによる演算装置10が有する機能へのアクセスを示す情報である。ユーザアクセス情報には、例えば、アクセスユーザの識別情報のハッシュ値、アクセスユーザの認証情報のハッシュ値及びアクセス機能の情報が含まれる。アクセスユーザとは、アクセスを行うユーザである。アクセス機能とは、アクセスユーザが利用しようとする機能である。機能制御部13は、入力情報を取得する際、例えば、自装置が備える操作入力部(図示せず)が受け付けた操作によりアクセスユーザの識別情報、アクセスユーザの認証情報及びアクセス機能の情報を特定する。そして、機能制御部13は、特定したアクセスユーザの識別情報とアクセスユーザの認証情報のそれぞれの検証値を算出する。また、機能制御部13は、EMS22もしくはネットワークNWに接続された他の機器から通信部16を介して受信した操作又は設定情報が示すアクセスユーザの識別情報の検証値、アクセスユーザの認証情報の検証値及びアクセス機能の情報を取得してもよい。
機能制御部13は、記憶部18に記憶されたユーザリスト情報を参照して、取得したユーザアクセス情報についてユーザ認証処理を行う。ここで、機能制御部13は、ユーザリスト情報に含まれるユーザの識別情報のハッシュ値とユーザの認証情報のハッシュ値のセット毎に、ユーザアクセス情報に含まれるアクセスユーザの識別情報のハッシュ値とアクセスユーザの認証情報のハッシュ値とをそれぞれ照合する。機能制御部13は、ユーザアクセス情報に含まれるアクセスユーザの識別情報のハッシュ値とアクセスユーザの認証情報のハッシュ値とそれぞれ一致する、ユーザの識別情報のハッシュ値とユーザの認証情報のセットがユーザリスト情報に存在するか否かを判定する。存在すると判定するとき、機能制御部13は、さらにユーザアクセス情報に含まれるアクセス機能が、一致すると判定したセットに対応付けられたアクセス許可機能に該当するか否かを判定する。存在しないと判定するとき、機能制御部13は、そのユーザアクセス情報についてユーザ認証失敗と判定し、アクセスを許可しない。
また、機能制御部13は、ユーザアクセス情報に含まれるアクセス機能が、そのセットに対応付けられたアクセス許可機能に該当すると判定するとき、そのユーザアクセス情報についてユーザ認証成功と判定し、アクセスを許可する。機能制御部13は、アクセス機能が、そのセットに対応付けられたアクセス許可機能に該当しないと判定するとき、そのユーザアクセス情報についてユーザ認証失敗と判定し、アクセスを許可しない。機能制御部13は、その時点の日時を示すアクセス日時、アクセスユーザ、アクセス機能及びアクセス成否を示すアクセス状態情報を生成し、生成したアクセス状態情報を記憶部18に記憶する。機能制御部13は、アクセスを許可した機能を示す機能情報を制御演算部11に出力する。制御演算部11は、機能制御部13から入力される機能情報が示す機能を実現するためのプログラムを記憶部18から読み出し、読み出したプログラムを起動する。これにより、アクセスが許可された機能が実行される。
ブロックデータ保存部141は、EMS22又は自装置とは異なる他の演算装置10から通信部16を介して受信した第2ブロックデータと自装置の送信データ生成部143が生成した第2ブロックデータを一時的に保存する。
受信データ解析部142は、ブロックデータ保存部141に記憶されている第2ブロックデータのうち最新の第2ブロックデータを読み出す。読み出した最新の第2ブロックデータが、開始時点の第2ブロックデータである場合には、受信データ解析部142は、その第2ブロックデータから開始時点の履歴情報に相当するユーザリスト情報を抽出し、抽出したユーザリスト情報を記憶部18に記憶する。ユーザリスト情報の記憶は、必ずしも新たな第2ブロックデータの読出しの度に行われなくてもよい。新たなユーザリスト情報が取得されるとき、記憶部18に記憶されるユーザリスト情報が新たなユーザリスト情報に更新されればよい。
ブロックデータ保存部141から読み出した最新の第2ブロックデータが、開始時点よりも後の時点の第2ブロックデータである場合には、受信データ解析部142は、最新の第2ブロックデータの履歴情報から、最新のアクセス状態情報を抽出し、抽出したアクセス状態情報を記憶部18に記憶する。
送信データ生成部143は、自装置におけるユーザからのアクセス状態を示す最新のアクセス状態情報を記憶部18から読み出す。また、送信データ生成部143は、ブロックデータ保存部141に保存された第2ブロックデータのうち最新の第2ブロックデータを前時点の第2ブロックデータとして読み出し、読み出した第2ブロックデータとアクセス状態情報とに基づいて現時点の第2ブロックデータを生成する。現時点の第2ブロックデータは、前時点の第2ブロックデータに基づく検証値と、その履歴情報に新たなアクセス状態情報を要素情報として追加して構成される現時点の履歴情報とを含むデータである。送信データ生成部143は、検証値として、例えば、前時点の第2ブロックデータに含まれるブロックヘッダ、現時点の履歴情報のそれぞれについて所定の一方向関数を用いてハッシュ値を算出する。送信データ生成部143は、生成した第2ブロックデータを自装置とは異なる他の演算装置10に送信し、自装置のブロックデータ保存部141に保存する。これにより、自装置を含む複数の演算装置10の間で送信データ生成部143が生成した第2ブロックデータが同報され、互いに共有される。
(ブロックデータ)
次に、本実施形態に係るブロックデータの例について説明する。
図10は、本実施形態に係るブロックデータの例を示す図である。
BD21、BD22、BD23は、開始時点における第2ブロックデータ、開始時点よりも後の時点における第2ブロックデータ、その次の時点における第2ブロックデータをそれぞれ示す。
第2ブロックデータは、ブロックヘッダとその時点における履歴情報とを含んで構成される。第2ブロックヘッダには、前時点のブロックデータに基づく検証値、装置ID、演算回数、検証用データ及び履歴情報の検証値が含まれる。
本実施形態では、履歴情報の検証値として、開始時点の第2ブロックデータについてはユーザリスト情報のハッシュ値が用いられ、それよりも後の各時点の履歴情報として、ユーザリスト情報と現時点までの全ユーザアクセス状態情報を累積して構成される履歴情報のハッシュ値が用いられる。
開始時点の第2ブロックデータの履歴情報には、ユーザリスト情報が含まれる。ユーザリスト情報の各行には、各ユーザのユーザ情報が含まれる。ユーザ情報には、各ユーザのユーザIDのハッシュ値、そのユーザのパスワードのハッシュ値、及びアクセスできる機能(アクセス許可機能)の情報が含まれる。
開始時点よりも後の時点の第2ブロックデータの履歴情報には、要素情報としてユーザリスト情報と現時点までのアクセス状態情報が含まれる。個々のアクセス状態情報には、アクセス日時、アクセスユーザ、アクセス機能、及びアクセス成否の情報が含まれる。アクセス機能には、その機能を有する演算装置10の情報が含まれてもよい。
なお、本実施形態及び変形例に係る冗長化システム1の構成は、冗長化システム2に適用されてもよい。ここで、制御装置24、入出力装置28は、それぞれ本実施形態に係る演算装置10と同様の構成を備えてもよい。
以上に説明したように、本実施形態に係る冗長化システム(例えば、冗長化システム1、2)において、管理装置(例えば、EMS22)は、所定の機能へのアクセスが許可されたユーザを示すユーザリスト情報を含む開始時点の第2ブロックデータを複数の演算装置に提供する。各演算装置の制御部(例えば、機能制御部13)は、ユーザリスト情報に基づいてユーザからのその機能へのアクセスの許否を判定する。データ生成部(例えば、送信データ生成部143)は、 前時点の第2ブロックデータに基づく検証値と、その機能へのアクセス結果を示すアクセス状態情報が現時点まで累積された履歴情報であるアクセス履歴情報と、を含む現時点の第2ブロックデータを生成する。通信部(例えば、通信部16)は、第2ブロックデータを複数の演算装置間で同報する。
この構成により、ユーザリスト情報を含む第2ブロックデータが複数の演算装置間で分散処理を維持しながら同報される。そのため、冗長化システムにおいて認証局を設置しなくても、演算装置は、そのユーザリスト情報を用いてユーザ認証処理を行うことができる。そのため、サイバー攻撃等による単一障害点となりうる認証局が設置される場合よりも、冗長化システムの信頼性が向上する。
また、各演算装置10におけるアクセス状態情報を複数の演算装置間を接続するネットワーク上で取得することができるので、アクセス状態情報が示すアクセス日時、アクセスユーザ、アクセス機能などの情報をネットワークを介して入手することができる。そのため、ユーザのアクセス否認に対する検証の手がかりが得られる。その検証によりユーザの行動を牽制することで、サイバーセキュリティが確保される。
<第三実施形態>
次に、本発明の第三実施形態について説明する。上述の実施形態と同一の構成については、同一の符号を付してその説明を援用する。以下の説明では、主に第一実施形態の冗長化システム1(図1)との差異点について述べる。本実施形態に係る冗長化システム1は、複数の演算装置10とEMS22の他、OPS21を備える。
まず、本実施形態に係る演算装置10の機能構成について説明する。図11は、本実施形態に係る演算装置10の一構成例を示すブロック図である。
本実施形態に係る演算装置10は、制御演算部11、検出部12、機能制御部13、ブロックデータ処理部14、通信部16、及び記憶部18を含んで構成される。
検出部12は、自装置における脅威を検出する。脅威とは、サイバーセキュリティが損なわれうる事象を意味する。検出部12は、脅威として、例えば、ログイン連続失敗、未定義ユーザの連続アクセス、未定義アドレスからのデータ受信、受信データ量の異常、未定義コマンドの受信、定義外サイズのパケットデータ受信などの事象を検出する。ログイン連続失敗とは、所定期間(例えば、1〜5秒)内に同一のアドレスで指定される機器からのログイン要求に応じたユーザ認証の失敗が複数回発生することである。未定義ユーザの連続アクセスとは、アクセスが許可されたユーザ以外のユーザからのアクセス要求が所定期間内に複数回発生することである。未定義アドレスからのデータ受信とは、予め設定アドレス以外の他のアドレスで指定された機器からデータを受信することである。受信データ量の異常とは、他の機器から受信するデータの情報量が、他の機能の実行に影響を及ぼさずに受信できる情報量の上限よりも大きいことである。受信データ量の異常は、例えば、DoS(Denial of Service)攻撃を受けているときに生じうる。未定義コマンドの受信とは、演算装置10の機能を指示するためのコマンドとして予め設定されていないコマンドを受信することである。定義外サイズのパケットデータ受信とは、予め設定されていない情報量を有するパケットデータを受信することである。検出部12は、脅威を検出した日時と、その脅威を示す脅威IDを示す脅威情報を生成し、生成した脅威情報を記憶部18に記憶する。ここで、検出部12は、記憶部18に予め記憶された脅威対処テーブル(図12)を参照して、検出した脅威を示す脅威IDを特定する。
検出部12は、特定した脅威IDをOPS21に通信部16を介して送信してもよい。もしくは、後述するように、送信データ生成部143は、その脅威IDが含まれる第3ブロックデータをOPS21に通信部16を介して送信してもよい。脅威対処テーブルは、各項目の脅威に脅威ID、脅威レベル及び推奨対策情報が対応付けて構成される脅威リスト情報である。脅威レベルは、その影響の度合いを定量化した数値であり、その数値が大きいほど影響が大きいことを示す。推奨対策情報は、脅威に対する望ましい対策、つまり、その脅威の抑止、その脅威による有害な事象の抑止、被害拡大の防止、再発防止、のいずれか又はその組み合わせを示す情報である。脅威対処テーブルの具体例については、後述する。
OPS21は、予め記憶させておいた脅威対処テーブルを参照し、演算装置10から受信した脅威IDに対応する脅威レベルと推奨対策情報を特定し、特定した脅威レベルと推奨対策情報を表示部に表示させてもよい。脅威レベルと推奨対策情報は、ダイアログ画面として表示されてもよい。ダイアログ画面には、推奨対策の実行を指示するための実行ボタンが含まれてもよい。OPS21は、操作によりその推奨対策の実行が指示されるとき、その実行の要求を示す推奨対策実行要求情報を、推奨対策情報の応答として演算装置10に送信してもよい。演算装置10の機能制御部13は、OPS21から通信部16を介して推奨対策実行要求情報を受信するとき、その推奨対策実行要求情報が示す推奨対策を実行する。
なお、記憶部18には、自装置とは他の演算装置10から受信した最新の第3ブロックデータに含まれる新たな脅威情報が記憶される場合がある。その場合には、機能制御部13は、脅威対処テーブルを参照し、その脅威情報に含まれる脅威IDに対応する推奨対策情報を特定し、特定した推奨対策情報が示す推奨対策を実行してもよい。
機能制御部13は、推奨対策を実行した場合には、その実行を示す推奨対策実行情報を記憶部18に記憶してもよい。なお、特定した脅威レベルが所定の脅威レベルの閾値よりも高い場合には、検出部12は、その推奨対策情報が示す推奨対策の実行を示す推奨対策実行対策要求を、機能制御部13に出力することで、その推奨対策を実行させてもよい。
ブロックデータ保存部141は、自装置とは異なる他の演算装置10から通信部16を介して受信した第3ブロックデータと自装置の送信データ生成部143が生成した第3ブロックデータを一時的に保存する。
受信データ解析部142は、ブロックデータ保存部141に保存されている第3ブロックデータのうち最新の第3ブロックデータを読み出す。受信データ解析部142は、読み出した第3ブロックデータからその時点の履歴情報のうち最新の脅威情報を抽出し、抽出した脅威情報を記憶部18に記憶する。抽出した脅威情報に含まれる脅威IDは、自装置とは異なる他の演算装置10において検出された新たな脅威を示す。
送信データ生成部143は、自装置において検出された脅威を示す最新の脅威情報を記憶部18から読み出す。なお、その脅威に対する最新の推奨対策実行情報が記憶部18に記憶されている場合には、送信データ生成部143は、その推奨対策実行情報を脅威情報に追加してもよい。従って、脅威情報に、その脅威に対する推奨対策の実行の旨の情報が反映される。また、送信データ生成部143は、ブロックデータ保存部141に保存された第3ブロックデータのうち最新の第3ブロックデータを前時点の第3ブロックデータとして読み出し、読み出した第3ブロックデータと脅威情報とに基づいて現時点の第3ブロックデータを生成する。現時点の第3ブロックデータは、前時点の第3ブロックデータに基づく検証値と、その履歴情報に新たな脅威情報を要素情報として追加して構成される現時点の履歴情報とを含むデータである。送信データ生成部143は、検証値として、例えば、前時点の第3ブロックデータに含まれるブロックヘッダ、現時点の履歴情報のそれぞれについて所定の一方向関数を用いてハッシュ値を算出する。送信データ生成部143は、生成した第3ブロックデータを自装置とは異なる他の演算装置10に送信し、自装置のブロックデータ保存部141に保存する。これにより、自装置を含む複数の演算装置10間で送信データ生成部143が生成した第3ブロックデータが同報され、互いに共有される。また、送信データ生成部143は、生成した第3ブロックデータをOPS21に送信してもよい。
(脅威対処テーブル)
次に、本実施形態に係る脅威対処テーブルについて説明する。
図12は、本実施形態に係る脅威対処テーブルの一例を示す図である。
脅威対処テーブルは、各項目の脅威、脅威ID、脅威レベル及び推奨対策の情報の組み合わせである脅威項目情報を1個又は複数個含んで構成される脅威リスト情報である。
図12の第2行に示す例では、脅威「ログイン連続失敗」に、脅威ID「Threat1」、脅威レベル「3」及び推奨対策「ユーザのアクセス許可を失効させる」を対応付けられ、脅威項目情報が形成されている。
(ブロックデータ)
次に、本実施形態に係るブロックデータについて説明する。
図13は、本実施形態に係るブロックデータの例を示す図である。
BD41、BD42、BD43は、ある時点における第3ブロックデータ、次の時点における第3ブロックデータ、その次の時点における第3ブロックデータをそれぞれ示す。
第3ブロックデータは、ブロックヘッダとその時点における履歴情報とを含んで構成される。第3ブロックヘッダには、前時点のブロックデータに基づく検証値、装置ID、演算回数、検証用データ及び履歴情報の検証値が含まれる。
本実施形態では、履歴情報の検証値として、開始時点から現時点までの全脅威情報を累積して構成される履歴情報のハッシュ値が用いられる。第3ブロックデータの履歴情報には、要素情報として現時点までの脅威情報が含まれる。個々の脅威情報には、日時と脅威IDが含まれる。
(変形例)
上述した例では、各演算装置10の記憶部18に脅威対処テーブルを予め記憶しておき、検出部12が、その脅威対処テーブルを参照して、検出した脅威を特定する場合を例にしたが、これには限られない。次に説明する変形例において、EMS22は、受け付けた操作に基づいて脅威対処テーブルを生成してもよい。EMS22は、生成した脅威対処テーブルを含むように開始時点の第3ブロックデータを生成する。開始時点の第3ブロックデータは、脅威対処テーブルを開始時点の履歴情報とし、所定の検証値の初期値、及び開始時点の履歴情報を含んで構成される。EMS22は、生成した開始時点の第3ブロックデータを演算装置10にネットワークNWを介して送信する。
ブロックデータ保存部141は、EMS22から通信部16を介して受信した第3ブロックデータを一時的に保存する。
受信データ解析部142は、ブロックデータ保存部141に記憶されている第3ブロックデータのうち最新の第3ブロックデータを読み出す。読み出した最新の第3ブロックデータが、開始時点の第3ブロックデータである場合には、受信データ解析部142は、その第3ブロックデータから開始時点の履歴情報に相当する脅威対処テーブルを抽出し、抽出した脅威対処テーブルを記憶部18に記憶する。脅威リスト情報の記憶は、必ずしも新たな第3ブロックデータの読出しの度に行われなくてもよい。新たな脅威対処テーブルが取得されるとき、記憶部18に記憶される脅威対処テーブルが新たな脅威対処テーブルに更新されればよい。上述したように、記憶部18に記憶される脅威対処テーブルが脅威リスト情報として、検出された脅威の特定に用いられる。
(ブロックデータ)
次に、本変形例に係るブロックデータについて説明する。
図14は、本変形例に係るブロックデータの例を示す図である。
BD61、BD62、BD63は、開始時点における第3ブロックデータ、開始時点よりも後の時点における第3ブロックデータ、次の時点における第3ブロックデータをそれぞれ示す。
本変形例では、開始時点における第3ブロックデータでは、前時点のブロックデータに基づく検証値に代えて、所定の初期値が用いられている。また、履歴情報の検証値として、脅威リスト情報、つまり脅威対処テーブルのハッシュ値が用いられる。開始時点の第3ブロックデータの履歴情報には、脅威対象テーブルが含まれる。脅威リスト情報の各行に、各項目の脅威項目情報が含まれる。脅威項目情報は、それぞれ脅威、脅威ID、脅威レベル及び推奨対策の情報が含まれる。開始時点よりも後の時点における第3ブロックデータの履歴情報には、要素情報として障害リスト情報と、現時点までの脅威情報が含まれる。
なお、本実施形態及び変形例に係る冗長化システム1の構成は、冗長化システム2に適用されてもよい。ここで、制御装置24、入出力装置28は、それぞれ本実施形態に係る演算装置10と同様の構成を備えてもよい。
以上に説明したように、本実施形態に係る冗長化システム(例えば、冗長化システム1、2)において、複数の演算装置(例えば、演算装置10、制御装置24、入出力装置28)のそれぞれは、検出部(例えば、検出部12)、データ生成部(例えば、送信データ生成部143)及び通信部(例えば、通信部16)を備える。検出部は、サイバーセキュリティが損われうる事象(例えば、脅威)を検出する。データ生成部は、前時点の第3ブロックデータに基づく検証値と、検出された事象を示す事象情報(例えば、脅威情報)が現時点まで累積された履歴情報である事象履歴情報と、を含む現時点の第3ブロックデータを生成する。通信部は、第3ブロックデータを複数の演算装置間で同報する。
この構成によれば、複数の演算装置10間でサイバーセキュリティが損なわれうる事象を示す事象情報を含む第3ブロックデータが分散処理を維持しながら共有される。例えば、脅威としてサイバー攻撃の兆候となりうる事象の発生が、複数の演算装置10間で相互に、それらの発生が通知される。そのため、検出された脅威に対する対策の実行により、さらなる脅威、有害事象もしくは被害の拡大などを防止することができる。そのため、冗長化システムにおけるサイバーセキュリティが確保される。
<第四実施形態>
次に、本発明の第四実施形態について説明する。上述の実施形態と同一の構成については、同一の符号を付してその説明を援用する。以下の説明では、主に第一実施形態の冗長化システム1(図1)との差異点について述べる。
本実施形態に係るEMS22は、受け付けた操作に基づいて、パッチとその所在を示すパッチ情報を生成する。パッチとは、プログラムの一部又は全部を更新してバグ修正や機能変更を行うための修正データである。本実施形態では、パッチは、少なくともいずれか1台の演算装置10において実行されるプログラムの修正データである。かかる修正データは、主にサイバーセキュリティ上の脆弱性を解消又は低減するためのセキュリティパッチである。EMS22は、各パッチの所在と適用が許可される演算装置10の情報を示すパッチ情報を1個又は複数個含むホワイトリスト情報をさらに生成する。以下の説明では、このホワイトリスト情報を、パッチリスト情報と呼んで、他の実施形態に係るホワイトリスト情報を区別する。パッチ情報には、例えば、各パッチのパッチ名、バージョン、そのパッチを構成するデータのハッシュ値、適用許可装置情報、保存場所情報及び再起動要否情報を含んで構成される。適用許可装置情報は、そのパッチの適用が許可される演算装置10を示す情報である。保存場所情報は、そのパッチの保存場所を示す情報である。再起動要否情報は、そのパッチの適用後に再起動を必要とするか否かを示す情報である。
EMS22は、生成したパッチリスト情報を含むように開始時点のブロックデータを生成する。以下の説明では、パッチリスト情報を含むブロックデータを、第4ブロックデータと呼んで他の実施形態に係るブロックデータと区別する。開始時点の第4ブロックデータは、ユーザリスト情報を開始時点の履歴情報とし、所定の検証値の初期値、及び開始時点の履歴情報を含んで構成される。第4ブロックデータの具体例については後述する。EMS22は、生成した開始時点の第4ブロックデータを演算装置10にネットワークNWを介して送信する。
次に、本実施形態に演算装置10(図2)の構成について説明する。本実施形態に係る機能制御部13は、記憶部18に記憶されているパッチリスト情報に含まれる各パッチのパッチ情報を参照して、そのパッチの適用の要否を判定する。機能制御部13は、そのパッチの適用許可装置情報に自装置の情報が含まれ、かつそのパッチが自装置において未適用であるとき、そのパッチを適用すると判定し、機能制御部13は、適用許可装置情報に自装置の情報が含まれない、又はそのパッチが自装置において適用中もしくは適用済であるとき、そのパッチを適用しないと判定する。
適用すると判定するとき、機能制御部13は、そのパッチの保存場所情報が示す保存場所となる機器に、そのパッチの要求を示すパッチ要求信号を、通信部16を介して送信する。保存場所となる機器は、EMS22であってもよいし、EMS22以外のネットワークNWに接続された機器であってもよい。機能制御部13は、その機器から通信部16を介してパッチ要求信号に対する応答としてパッチを受信(ダウンロード)する。機能制御部13は、受信したパッチのハッシュ値を算出し、そのパッチのパッチ情報に含まれるハッシュ値と一致するか否かを判定する。一致すると判定するとき、機能制御部13は、そのパッチとそのパッチの再起動要否情報を制御演算部11に出力する。制御演算部11は、機能制御部13から入力されたパッチを、そのプログラムの対応する部分に置き換えることにより適用(インストール)する。制御演算部11は、機能制御部13から入力される再起動要否情報が再起動要を示すとき、そのプログラムの実行を停止し、パッチが適用されたプログラムの実行を開始する。
機能制御部13は、そのパッチが適用中であるとき、そのパッチが自装置において適用中であることを示すパッチ適用情報を生成し、生成したパッチ適用情報を記憶部18に記憶する。機能制御部13は、そのパッチの適用が完了したとき、そのパッチが自装置において適用済であることを示すパッチ適用情報を生成し、生成したパッチ適用情報を記憶部18に記憶する。
ブロックデータ保存部141は、EMS22又は自装置とは異なる他の演算装置10から通信部16を介して受信した第4ブロックデータと自装置の送信データ生成部143が生成した第4ブロックデータを一時的に保存する。
受信データ解析部142は、ブロックデータ保存部141に記憶されている第4ブロックデータのうち最新の第4ブロックデータを読み出す。読み出した最新の第4ブロックデータが、開始時点の第4ブロックデータである場合には、受信データ解析部142は、その第4ブロックデータから開始時点の履歴情報に相当するパッチリスト情報を抽出し、抽出したパッチリスト情報を記憶部18に記憶する。パッチリスト情報の記憶は、必ずしも新たな第4ブロックデータの読出しの度に行われなくてもよい。新たなパッチリスト情報が取得されるとき、記憶部18に記憶されるパッチリスト情報が新たなパッチリスト情報に更新されればよい。
なお、受信データ解析部142は、開始時点よりも後の各時点の第4ブロックデータにから履歴情報の要素情報であるパッチ適用情報を抽出し、抽出したパッチ適用情報からパッチ毎にそのパッチを適用した演算装置10を特定してもよい。受信データ解析部142は、あるパッチのパッチ情報が示す適用許可装置情報が示す演算装置10の全てが、そのパッチを適用したと判定することがある。その場合には、受信データ解析部142は、ブロックデータ保存部141に記憶された最新の第4ブロックデータから、そのパッチに係るパッチ情報と、パッチ適用情報を削除してもよい。これにより、無用なデータの流通が防止されるので、通信量が低減する。
送信データ生成部143は、自装置におけるパッチの適用状態を示す最新のパッチ適用情報を記憶部18から読み出す。また、送信データ生成部143は、ブロックデータ保存部141に保存された第4ブロックデータのうち最新の第4ブロックデータを前時点の第4ブロックデータとして読み出し、読み出した第4ブロックデータとパッチ適用情報とに基づいて現時点の第4ブロックデータを生成する。現時点の第4ブロックデータは、前時点の第4ブロックデータに基づく検証値と、その履歴情報に新たなパッチ適用情報を要素情報として追加して構成される現時点の履歴情報とを含むデータである。送信データ生成部143は、検証値として、例えば、前時点の第4ブロックデータに含まれるブロックヘッダ、現時点の履歴情報のそれぞれについて所定の一方向関数を用いてハッシュ値を算出する。送信データ生成部143は、生成した第4ブロックデータを自装置とは異なる他の演算装置10に送信し、自装置のブロックデータ保存部141に保存する。これにより、自装置を含む複数の演算装置10の間で送信データ生成部143が生成した第4ブロックデータが同報され、互いに共有される。また、受信データ解析部142は、生成した第4ブロックデータをEMS22に通信部16を介して送信してもよい。
(パッチリスト情報)
次に、本実施形態に係るパッチリスト情報について説明する。
図15は、本実施形態に係るパッチリスト情報の例を示す図である。
パッチリスト情報は、1個又は複数個のパッチ情報から構成される。各パッチのパッチ情報は、パッチ名、バージョン、そのパッチを構成するデータのハッシュ値、適用許可装置情報、保存場所情報及び再起動要否情報の組み合わせとして構成される。図15の第2行のパッチ情報は、パッチ名「パッチ1」、バージョン「1.00」、ハッシュ値「661957fd99573fbbe391b9b4a950a19b」、適用許可装置情報「ALL」、保存場所情報「ABC/DEF/GHIJK」、再起動「要」を含んで構成される。1種類のパッチは、パッチ名とバーションの組で表される。つまり、パッチ名が同一であっても、バージョンが異なっているパッチ同士は、互いに異なるパッチであるものとして扱われる。適用許可装置のALLとは、EMS22により第4ブロックデータの同報先として指示された演算装置10の全てを示す。図15に示す例では、保存場所情報は、パス名で表されているが、その所在を特定することができれば、他の情報、例えば、URL(Uniform Resource Locator)などを用いて指定されてもよい。
(パッチ適用情報)
次に、本実施形態に係るパッチ適用情報について説明する。
図16は、本実施形態に係るパッチ適用情報の例を示す図である。
パッチ適用情報は、個々の演算装置10におけるパッチ毎の適用状態を示す情報である。図16に示す例では、パッチ毎にパッチ名、適用日時、及び適用状態を含んで構成される。図16の第2行は、パッチ名「パッチ1」、適用日時「2017/1/1」及び適用状態「適用済」を示す。なお、パッチ適用情報には、そのパッチのバージョンの情報がさらに含まれてもよい。
(ブロックデータ)
次に、本実施形態に係るブロックデータについて説明する。
図17は、本実施形態に係るブロックデータの例を示す図である。
BD81、BD82、BD83は、開始時点における第4ブロックデータ、開始時点より後の時点における第4ブロックデータ、その次の時点における第4ブロックデータをそれぞれ示す。
第4ブロックデータは、ブロックヘッダとその時点における履歴情報とを含んで構成される。第4ブロックヘッダには、前時点のブロックデータに基づく検証値、装置ID、演算回数、検証用データ及び履歴情報の検証値が含まれる。
但し、履歴情報の検証値として、開始時点の第4ブロックデータについてはパッチリスト情報のハッシュ値が用いられ、それよりも後の各時点の履歴情報として、パッチリスト情報と現時点までの全パッチ適用情報を累積して構成される履歴情報のハッシュ値が用いられる。
開始時点の第4ブロックデータの履歴情報には、パッチリスト情報が含まれる。パッチリスト情報の各行には、各パッチのパッチ情報が含まれる。パッチ情報には、各パッチのパッチ名、バージョン、ハッシュ値、適用許可装置情報、保存場所情報及び再起動要否情報が含まれる。
開始時点よりも後の時点の第4ブロックデータの履歴情報には、要素情報として現時点までのパッチ適用情報が含まれる。個々のパッチ適用情報には、パッチ毎のパッチ名、適用日時、及び適用状態の各情報が含まれる。アクセスユーザ、アクセス機能、及びアクセス成否の情報が含まれる。アクセス機能には、その機能を有する演算装置10の情報が含まれてもよい。
なお、上述では、機能制御部13が、適用許可装置情報に基づいてパッチを適用すると判定するとき、パッチの要求及びその適用の制御を行う場合を例にしたが、これには限られない。機能制御部13は、パッチを適用すると判定するとき、パッチの適用をユーザに照会するためのパッチ適用照会情報をEMS22に通信部16を介して送信してもよい。EMS22は、演算装置10からパッチ適用照会情報を受信するとき、その表示部にパッチ適用照会画面を表示させてもよい。パッチ適用照会画面には、パッチ適用の要否の問合せを示すメッセージが含まれる。EMS22は、受け付けた操作がパッチ適用を示すとき、パッチ適用指示情報をパッチ適用照会情報に対する応答として送信する。機能制御部13は、通信部16を介してEMS22からパッチ適用指示情報を受信するとき、前述のパッチの要求及びその適用の制御を行う。これにより、ユーザの意思に応じてパッチが適用される。
また、EMS22は、そのパッチをユーザの操作に基づいて生成する編集部を備えていてもよい。また、ネットワークNWには、さらに承認受付装置が接続されてもよい。その場合、演算装置10の機能制御部13が、適用許可装置情報に基づいてパッチを適用すると判定するとき、パッチ適用照会情報を承認受付装置に通信部16を介して送信してもよい。承認受付装置は、演算装置10からパッチ適用照会情報を受信するとき、その表示部にパッチ適用照会画面を表示させてもよい。承認受付装置は、そのパッチの生成に係るユーザとは別個のユーザ(Safety Supervisor)から受け付けた操作がパッチ適用を示すとき、パッチ適用指示情報をパッチ適用照会情報に対する応答として送信する。機能制御部13は、通信部16を介して承認受付装置からパッチ適用指示情報を受信するとき、前述のパッチの要求及びその適用の制御を行う。これにより、パッチの適用において、パッチの生成に係るユーザとは異なるユーザによる承認を必要とするため、無秩序なパッチの適用が回避される。承認受付装置として、OPS21が用いられてもよいし、OPS21とは別個の機器が用いられてもよい。
なお、図17は、パッチリスト情報に、各パッチの保存場所情報を含む場合を例にするが、これには限られない。保存場所情報に代えて、そのパッチ自体が実行形式で含まれてもよい。その場合、機能制御部13は、保存場所情報が示す保存場所からパッチを受信することに代え、記憶部18に記憶されたパッチリスト情報から、そのパッチを抽出すればよい。この場合、パッチを含む第4ブロックデータが演算装置10間で同報される。そのため、パッチを保存する機器の障害を考慮する必要がなくなるので、分散システムとしての信頼性が高くなる。また、受信データ解析部142は、あるパッチのパッチ情報が示す適用許可装置情報が示す演算装置10の全てが、そのパッチを適用したと判定することがある。その場合、受信データ解析部142は、ブロックデータ保存部141に記憶された最新の第4ブロックデータから、そのパッチを削除してもよい。これにより、無用なデータの流通が防止されるので、通信量が低減する。
なお、本実施形態及び変形例に係る冗長化システム1の構成は、冗長化システム2に適用されてもよい。ここで、制御装置24、入出力装置28は、それぞれ本実施形態に係る演算装置10と同様の構成を備えてもよい。
以上に説明したように、本実施形態に係る冗長化システム(例えば、冗長化システム1、2)において、管理装置(例えば、EMS22)は、プログラムのパッチを示すパッチリスト情報を含む開始時点の第4ブロックデータを複数の演算装置(例えば、演算装置10、制御装置24、入出力装置28)に提供する。また、複数の演算装置は、それぞれ制御部(例えば、機能制御部13)、データ生成部(例えば、送信データ生成部143)及び通信部(例えば、通信部16)を備える。制御部は、パッチリスト情報が示すパッチの適用の要否を判定する。データ生成部は、前時点の第4ブロックデータに基づく検証値と、パッチの適用状態を示すパッチ適用情報が現時点まで累積された履歴情報であるパッチ適用履歴情報と、を含む現時点の第4ブロックデータを生成する。通信部は、第4ブロックデータを前記複数の演算装置間で同報する。
この構成によれば、その時点で最新のパッチリスト情報を有する第4ブロックデータが演算装置10間で分散処理を維持しながら共有される。そのため、各演算装置10において、自装置において適用が許可されたパッチが適用可能となる。例えば、パッチリストが示すパッチがセキュリティパッチである場合には、セキュリティパッチの適用によりサイバーセキュリティが確保される。
また、本実施形態によればEMS22は、個々の演算装置を指定して第4ブロックデータを送信する必要がなくなるので、個々の演算装置10を指定して第4ブロックデータを送信する場合よりも、送信先の演算装置の数の増加に伴う情報量の増加を抑制することができる。
また、各演算装置で適用されるパッチの適用状態を示すパッチ適用情報を含む第4ブロックデータが同報されるので、パッチが未適用である演算装置の発見が容易となる。例えば、パッチが未適用であることによる脆弱性を報知したままの演算装置10に対する対策(通信の遮断など)を実行することでサイバーセキュリティが向上する。
また、第4ブロックデータによりパッチリスト情報とパッチ適用情報とが演算装置10間で一元的に共有されるので、製造者、機種、機能など互いに種別が異なる制御装置が混在する冗長化システムであっても、パッチの適用を可能とし、その管理を可能とする環境が構築される。
以上、本発明の実施形態及び変形例について、本発明の趣旨を逸脱しない範囲で、上記した実施の形態における構成要素を周知の構成要素に置き換えることは適宜可能である。また、この発明の技術範囲は上記の実施形態に限られるものではなく、本発明の趣旨を逸脱しない範囲において種々の変更を加えることが可能である。
例えば、第二実施形態に係る演算装置10や第四実施形態に係る演算装置10は、それぞれ第三実施形態の検出部12を備え、機能制御部13、ブロックデータ処理部14は、それぞれ第三実施形態の機能制御部13、ブロックデータ処理部14と同様の処理を行ってもよい。
第三実施形態に係る演算装置において、機能制御部13、ブロックデータ処理部14は、それぞれ第四実施形態の機能制御部13、ブロックデータ処理部14と同様の処理を行ってもよい。
また、ブロックデータ処理部14は、自部で扱われる最新のブロックデータに含まれる履歴情報の情報量が、所定の情報量を超えたか否かを判定してもよい。所定の情報量を超えたと判定するとき、ブロックデータ処理部14は、その履歴情報を記憶部18に記憶し、新たに開始時点におけるブロックデータを生成してもよい。
また、各演算装置10の送信データ生成部143は、生成した各種のブロックデータをOPS21、EMS22の一方又は両方に通信部16を介して送信してもよい。
その他、上述した演算装置10と同様の構成を、ネットワークを介して接続される複数の電子機器のそれぞれが備えてもよい。かかる電子機器には、例えば、Webカメラ、センサユニットなどのIoT(Internet of Things;モノのインターネット)機器が該当する。
第二実施形態〜第四実施形態に係る演算装置10の各々は、第一実施形態をはじめとする他の実施形態の機能に依存せず、その実施形態に固有のブロックデータ(第2ブロックデータ〜第4ブロックデータ)を処理する機能のみを備えていてもよい。
なお、「実行が許可されたプログラムに基づく処理の実行」、「所定の機能へのアクセス」、「サイバーセキュリティが損なわれうる事象」、「パッチの適用」は演算装置10で許可又は許可しない事項の一例である。
また、冗長化システム1および冗長化システム2は情報処理システムの一例である。
なお上述の演算装置10、制御装置24、入出力装置28は、内部にコンピュータシステムを有してもよい。そして、上述した演算装置10等における各処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしてもよい。
また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
1、2…冗長化システム、10…演算装置、11…制御演算部、12…検出部、13…機能制御部、14…ブロックデータ処理部、16…通信部、18…記憶部、
21…OPS、22…EMS、23…NA、24…制御装置、25…IOスキャナ、26…IOネットワーク、27…IOアダプタ、28…入出力装置、141…ブロックデータ保存部、142…受信データ解析部、143…送信データ生成部

Claims (6)

  1. 複数の演算装置を備える情報処理システムであって、
    前記複数の演算装置のそれぞれは、
    前記演算装置で許可又は許可しない事項を示すリスト情報に基づいて、前記事項についての処理の実行の許否を判定する制御部と、
    前時点のブロックデータに基づく検証値と、前記事項の発生に関する現時点まで累積された履歴情報と、を含む現時点のブロックデータを生成するデータ生成部と、
    前記ブロックデータを前記複数の演算装置間で同報する通信部と、
    を備える情報処理システム。
  2. 実行が許可されたプログラムを示すプログラムリスト情報を含む開始時点の第1ブロックデータを前記複数の演算装置に提供する管理装置を備え、
    前記制御部は、
    前記プログラムリスト情報が示すプログラムに基づく処理の実行の許否を判定し、
    前記データ生成部は、
    前時点の第1ブロックデータに基づく検証値と、前記処理の起動状態を示す起動プログラム情報が現時点まで累積された履歴情報と、を含む現時点の第1ブロックデータを生成し、
    前記通信部は、
    前記第1ブロックデータを前記複数の演算装置間で同報する
    請求項1に記載の情報処理システム。
  3. 所定の機能へのアクセスが許可されたユーザを示すユーザリスト情報を含む開始時点の第2ブロックデータを前記複数の演算装置に提供する管理装置を備え、
    前記制御部は、
    前記ユーザリスト情報に基づいてユーザからの前記機能へのアクセスの許否を判定し、
    前記データ生成部は、
    前時点の第2ブロックデータに基づく検証値と、前記機能へのアクセス結果を示すアクセス状態情報が現時点まで累積された履歴情報であるアクセス履歴情報と、を含む現時点の第2ブロックデータを生成し、
    前記通信部は、
    前記第2ブロックデータを前記複数の演算装置間で同報する
    請求項1又は請求項2に記載の情報処理システム。
  4. 前記複数の演算装置のそれぞれは、
    サイバーセキュリティが損なわれうる事象を検出する検出部を備え、
    前記データ生成部は、
    前時点の第3ブロックデータに基づく検証値と、検出された前記事象を示す事象情報が現時点まで累積された履歴情報である事象履歴情報と、を含む現時点の第3ブロックデータを生成し、
    前記通信部は、
    前記第3ブロックデータを前記複数の演算装置間で同報する
    請求項1から請求項3のいずれか一項に記載の情報処理システム。
  5. プログラムのパッチを示すパッチリスト情報を含む開始時点の第4ブロックデータを前記複数の演算装置に提供する管理装置を備え、
    前記制御部は、
    前記パッチリスト情報が示すパッチの適用の要否を判定し、
    前記データ生成部は、
    前時点の第4ブロックデータに基づく検証値と、前記パッチの適用状態を示すパッチ適用情報が現時点まで累積された履歴情報であるパッチ適用履歴情報と、を含む現時点の第4ブロックデータを生成し、
    前記通信部は、
    前記第4ブロックデータを前記複数の演算装置間で同報する
    請求項1から請求項4のいずれか一項に記載の情報処理システム。
  6. 複数の演算装置を備える情報処理システムにおける情報処理方法であって、
    前記複数の演算装置のそれぞれが、
    前記演算装置で許可又は許可しない事項を示すリスト情報に基づいて、前記事項についての処理の実行の許否を判定する制御過程と、
    前時点のブロックデータに基づく検証値と、前記事項の発生に関する現時点まで累積された履歴情報と、を含む現時点のブロックデータを生成するデータ生成過程と、
    前記ブロックデータを前記複数の演算装置間で同報する通信過程と、
    を有する情報処理方法。
JP2017034784A 2017-02-27 2017-02-27 情報処理システム及び情報処理方法 Active JP6814659B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017034784A JP6814659B2 (ja) 2017-02-27 2017-02-27 情報処理システム及び情報処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017034784A JP6814659B2 (ja) 2017-02-27 2017-02-27 情報処理システム及び情報処理方法

Publications (2)

Publication Number Publication Date
JP2018142078A JP2018142078A (ja) 2018-09-13
JP6814659B2 true JP6814659B2 (ja) 2021-01-20

Family

ID=63527991

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017034784A Active JP6814659B2 (ja) 2017-02-27 2017-02-27 情報処理システム及び情報処理方法

Country Status (1)

Country Link
JP (1) JP6814659B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6692792B2 (ja) 2017-12-28 2020-05-13 三菱重工業株式会社 監視装置、監視システム、監視方法及びプログラム
EP3831778A4 (en) 2018-07-30 2022-05-11 Mitsubishi Materials Corporation LOW-ALPHA EMISSION TIN OXIDE AND PROCESS FOR ITS PRODUCTION
JP7293975B2 (ja) * 2019-08-20 2023-06-20 株式会社リコー 情報処理装置、情報処理方法、及びプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06124214A (ja) * 1992-10-09 1994-05-06 Nec Corp 障害ホストジョブの継続制御方式
JPH08202665A (ja) * 1995-01-30 1996-08-09 Hitachi Ltd 疎結合計算機における計算機間結合装置
JP5124241B2 (ja) * 2007-11-12 2013-01-23 株式会社リコー 情報処理装置、情報処理方法、情報処理プログラム及び記録媒体
JP4736140B2 (ja) * 2009-04-03 2011-07-27 日本電気株式会社 認証装置、サーバシステム、認証方法、認証プログラム

Also Published As

Publication number Publication date
JP2018142078A (ja) 2018-09-13

Similar Documents

Publication Publication Date Title
US11856106B2 (en) Secure configuration of a device
US10484184B2 (en) Vehicle system and authentication method
US8464347B2 (en) Software updating apparatus, software updating system, alteration verification method and alteration verification program
JP6903529B2 (ja) 情報処理装置、情報処理方法およびプログラム
US20140059679A1 (en) Software updating apparatus, software updating system, invalidation method, and invalidation program
US20130055386A1 (en) Apparatus and method for preventing falsification of client screen
JP6814659B2 (ja) 情報処理システム及び情報処理方法
JP2013519929A (ja) 情報処理装置、情報処理システム、ソフトウェアルーチン実行方法およびリモート認証方法
KR101972110B1 (ko) 블록체인 기술을 활용한 포그 컴퓨터의 보안 및 디바이스 제어 방법
KR101555247B1 (ko) 소프트웨어 프로세스 관리 추적 알고리즘에 기초한 소프트웨어 관리 방법 및 그 기록매체
JP2010231310A (ja) 時刻補正装置、時刻補正システム、時刻補正方法及びプログラム
CN105791250B (zh) 应用程序检测方法及装置
US20220019669A1 (en) Information processing device
CN117155716B (zh) 访问校验方法和装置、存储介质及电子设备
JP4688472B2 (ja) 端末制御装置及び端末制御方法
WO2017150003A1 (ja) 検知システム、ウェブアプリケーション装置、ウェブアプリケーションファイアウォール装置、検知システムにおける検知方法、ウェブアプリケーション装置の検知方法及びウェブアプリケーションファイアウォール装置の検知方法
CN106304067B (zh) 用于移动互联网的云端数据处理方法
CN111628987B (zh) 鉴权方法、装置、系统、电子设备及计算机可读存储介质
US12039064B2 (en) Information processing device, information processing method, information processing program, and information processing system
CN113157543A (zh) 一种可信度量方法及装置、服务器、计算机可读存储介质
KR101335326B1 (ko) 클라이언트 단말, 감시 서버, 및 감시 영역 변조 방지 방법
JP6041727B2 (ja) 管理装置、管理方法及び管理プログラム
CN105825124A (zh) 一种服务器非法操作的监测方法和监测系统
KR101071962B1 (ko) 무결성 참조 정보 자동관리시스템 및 그 관리방법
JP2009037651A (ja) セキュリティ管理システム

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20170228

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20181109

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191217

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201030

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20201124

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201221

R150 Certificate of patent or registration of utility model

Ref document number: 6814659

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150