IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社東芝の特許一覧 ▶ 東芝エネルギーシステムズ株式会社の特許一覧

特許7186518異常診断装置、異常診断システムおよび異常診断方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-01
(45)【発行日】2022-12-09
(54)【発明の名称】異常診断装置、異常診断システムおよび異常診断方法
(51)【国際特許分類】
   H04L 43/08 20220101AFI20221202BHJP
   H04L 12/66 20060101ALI20221202BHJP
   H04L 12/22 20060101ALI20221202BHJP
   G05B 23/02 20060101ALI20221202BHJP
【FI】
H04L43/08
H04L12/66
H04L12/22
G05B23/02 302Z
【請求項の数】 8
(21)【出願番号】P 2018107825
(22)【出願日】2018-06-05
(65)【公開番号】P2019213058
(43)【公開日】2019-12-12
【審査請求日】2021-02-08
(73)【特許権者】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(73)【特許権者】
【識別番号】317015294
【氏名又は名称】東芝エネルギーシステムズ株式会社
(74)【代理人】
【識別番号】100091982
【弁理士】
【氏名又は名称】永井 浩之
(74)【代理人】
【識別番号】100091487
【弁理士】
【氏名又は名称】中村 行孝
(74)【代理人】
【識別番号】100082991
【氏名又は名称】佐藤 泰和
(74)【代理人】
【識別番号】100105153
【弁理士】
【氏名又は名称】朝倉 悟
(74)【代理人】
【識別番号】100107582
【弁理士】
【氏名又は名称】関根 毅
(74)【代理人】
【識別番号】100124372
【弁理士】
【氏名又は名称】山ノ井 傑
(74)【代理人】
【識別番号】100120385
【弁理士】
【氏名又は名称】鈴木 健之
(72)【発明者】
【氏名】丸地 俊也
(72)【発明者】
【氏名】三宅 秀享
(72)【発明者】
【氏名】天木 智
(72)【発明者】
【氏名】中谷 博司
【審査官】岩田 玲彦
(56)【参考文献】
【文献】特開2012-094044(JP,A)
【文献】特開2017-216569(JP,A)
【文献】特開2006-191433(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 23/02
H04L 12/22
12/66
43/00-43/55
(57)【特許請求の範囲】
【請求項1】
ネットワークを介したデータ通信により機器を制御する制御システム内に設けられ、前記制御システムの異常を診断する異常診断装置であって、
前記異常診断装置は、送信側端末と、受信側端末とを備え、前記データ通信で用いられるネットワークデータに相当する内容の診断データを、前記送信側端末と前記受信側端末との間で、前記送信側端末から前記受信側端末に向かう方向および前記受信側端末から前記送信側端末に向かう方向のうちの、前記送信側端末から前記受信側端末に向かう一方向にのみ送信し、
前記送信側端末は、前記制御システム内の前記送信側端末以外の装置から前記診断データを取得し、前記取得された診断データを前記一方向に送信し、かつ、前記取得された診断データに基づいて前記制御システムに対する一次異常診断を実施して診断結果を前記制御システム内に出力し、
前記受信側端末は、前記送信側端末から送信された前記診断データを受信し、前記受信された診断データを前記制御システムに対する二次異常診断を実施する外部診断装置に送信する、異常診断装置。
【請求項2】
前記送信側端末は、第1通信インタフェース部と、転送・診断部と、判定テーブル保存部と、第2通信インタフェース部と、を有し、
前記受信側端末は、第3通信インタフェース部と、転送部と、第4通信インタフェース部と、を有し、
前記第1通信インタフェース部は、前記制御システム内のネットワークスイッチから出力された前記診断データを取得し、取得された前記診断データを前記転送・診断部に出力し、
前記転送・診断部は、前記第1通信インタフェース部から出力された前記診断データを前記第2通信インタフェース部に転送し、かつ、前記診断データに基づいて前記一次異常診断を実施して診断結果を前記制御システム内に出力し、
前記判定テーブル保存部は、前記一次異常診断における異常の有無の判定に用いられる判定テーブルを保存し、
前記第2通信インタフェース部は、前記転送・診断部から転送された前記診断データを前記第3通信インタフェース部に向けて前記一方向に出力し、
前記第3通信インタフェース部は、前記第2通信インタフェース部から出力された前記診断データを前記一方向から入力し、入力された前記診断データを前記転送部に出力し、
前記転送部は、前記第3通信インタフェース部から出力された前記診断データを第4通信インタフェース部に転送し、
前記第4通信インタフェース部は、前記転送部から転送された前記診断データを入力して前記外部診断装置に出力する、請求項1に記載の異常診断装置。
【請求項3】
前記送信側端末は、前記送信側端末の負荷を計測する負荷計測部を更に備え、
前記転送・診断部は、前記負荷計測部で計測された前記負荷が許容値を超えた場合には、前記一次異常診断のうちの少なくとも一部の診断を省略し、前記省略された診断を指示する診断指示信号を前記受信側端末に送信し、
前記受信側端末は、前記診断指示信号を受信して前記外部診断装置に送信する、請求項2に記載の異常診断装置。
【請求項4】
前記送信側端末は、前記転送・診断部の動作モードを診断モードと学習モードとの間で切り替えるモード切替部を更に備え、
前記転送・診断部は、前記診断モードでは、前記判定テーブルに基づいて前記一次異常診断を実施し、前記学習モードでは、前記送信側端末に入力された診断データに含まれる送信元IPアドレスおよび送信先IPアドレスを前記判定テーブルとして前記判定テーブル保存部に登録する、請求項2に記載の異常診断装置。
【請求項5】
前記一次異常診断は、前記制御システムがセキュリティ異常を有するか否かの診断を含み、
前記判定テーブル保存部は、前記判定テーブルとして前記ネットワークデータのパケットのヘッダ情報を保存し、
前記転送・診断部は、前記診断データが前記判定テーブル保存部に保存された前記ヘッダ情報を有しない場合に、前記制御システムが前記セキュリティ異常を有する旨の診断結果を出力する、請求項2に記載の異常診断装置。
【請求項6】
前記一次異常診断は、前記制御システムがセキュリティ攻撃を受けているか否かの診断を含み、
前記転送・診断部は、規定時間内の前記診断データの受信パケット数を解析し、前記受信パケット数が規定数を超えた場合に、前記制御システムがセキュリティ攻撃を受けている旨の診断結果を出力する、請求項2に記載の異常診断装置。
【請求項7】
ネットワークを介したデータ通信により機器を制御する制御システム内に設けられ、前記制御システムの異常を診断する異常診断装置と、
前記制御システムの外部に設けられた外部診断装置と、を備え、
前記異常診断装置は、送信側端末と、受信側端末とを備え、前記データ通信で用いられるネットワークデータに相当する内容の診断データを、前記送信側端末と前記受信側端末との間で、前記送信側端末から前記受信側端末に向かう方向および前記受信側端末から前記送信側端末に向かう方向のうちの、前記送信側端末から前記受信側端末に向かう一方向にのみ送信し、
前記送信側端末は、前記制御システム内の前記送信側端末以外の装置から前記診断データを取得し、前記取得された診断データを前記一方向に送信し、かつ、前記取得された診断データに基づいて前記制御システムに対する一次異常診断を実施して診断結果を前記制御システム内に出力し、
前記受信側端末は、前記送信側端末から送信された前記診断データを受信し、前記受信された診断データを前記外部診断装置に送信し、
前記外部診断装置は、
前記受信側端末から送信された前記診断データに基づいて、前記制御システムに対する二次異常診断を実施して診断結果を前記制御システムに接続されていないユーザ端末に送信する、異常診断システム。
【請求項8】
異常診断装置が、ネットワークを介したデータ通信により機器を制御する制御システムの異常を診断する異常診断方法であって、
前記異常診断装置は、送信側端末と、受信側端末とを備え、前記データ通信で用いられるネットワークデータに相当する内容の診断データを、前記送信側端末と前記受信側端末との間で、前記送信側端末から前記受信側端末に向かう方向および前記受信側端末から前記送信側端末に向かう方向のうちの、前記送信側端末から前記受信側端末に向かう一方向にのみ送信し、
前記送信側端末が、前記診断データを前記制御システム内において前記送信側端末以外の装置から取得し、
前記送信側端末が、前記取得された診断データを前記制御システム内において前記一方向に送信し、かつ、前記取得された診断データに基づいて前記制御システムに対する一次異常診断を実施して診断結果を前記制御システム内に出力し、
前記受信側端末が、前記一方向に送信された前記診断データを前記制御システム内において受信し、前記受信された診断データを前記制御システムに対する二次異常診断を実施する外部診断装置に送信する、異常診断方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明による実施形態は、異常診断装置、異常診断システムおよび異常診断方法に関する。
【背景技術】
【0002】
プラント等に設置された機器を制御する制御システムでは、近年、オープンネットワーク化が進んでいる。このような制御システムでは、ネットワークのセキュリティ対策が重要になる。
【0003】
ネットワークのセキュリティを確保するための技術として、クラウド上のリモート監視端末に向けて一方向にのみデータを送信可能なデータダイオードと呼ばれる装置が知られている。また、データダイオードの他にも、ネットワークの情報からセキュリティに関する異常を検知するIDS(Intrusion Detection System)と呼ばれる装置が知られている。
【0004】
しかしながら、データダイオードを制御システムに適用した場合、データは現場(制御システム)側からクラウド側に向けて一方向にのみ送信されるため、クラウド側で異常を検知しても現場側に異常を通知することができないといった問題がある。
【0005】
また、IDSを制御システムに適用した場合、制御システムの制御周期内に異常の検知処理が完了しない場合に、データが逐次蓄積されていくため、すべてのデータが検知処理に必要な場合、データの増加により検知が遅れてしまうといった問題がある。
【先行技術文献】
【特許文献】
【0006】
【文献】特開2012-169731号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
本発明は上述した点を考慮してなされたものであり、セキュリティを確保しながら制御システムの異常を制御システム側に迅速に通知することができる異常診断装置、異常診断システムおよび異常診断方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
本実施形態による異常診断装置は、
ネットワークを介したデータ通信により機器を制御する制御システム内に設けられ、前記制御システムの異常を診断する異常診断装置であって、
前記データ通信で用いられるネットワークデータとして診断データを取得し、前記取得された診断データを一方向にのみ送信し、かつ、前記取得された診断データに基づいて前記制御システムに対する一次異常診断を実施して診断結果を前記制御システム内に出力する送信側端末と、
前記送信側端末から送信された前記診断データを受信し、前記受信された診断データを前記制御システムに対する二次異常診断を実施する外部診断装置に送信する受信側端末と、を備える。
【発明の効果】
【0009】
本発明によれば、セキュリティを確保しながら制御システムの異常を制御システム側に迅速に通知することができる。
【図面の簡単な説明】
【0010】
図1】第1の実施形態による異常診断システムを示すブロック図である。
図2A】第1の実施形態による異常診断装置を示すブロック図である。
図2B】第1の実施形態によるクラウド診断装置を示すブロック図である。
図3A】第1の実施形態による異常診断装置の送信側端末の動作例を示すフローチャートである。
図3B】第1の実施形態による異常診断装置の受信側端末の動作例を示すフローチャートである。
図4】第1の実施形態による異常診断装置の動作例において、第1判定テーブルを示す図である。
図5】第1の実施形態による異常診断装置の送信側端末の動作例において、ヘッダ情報判定処理を示すフローチャートである。
図6A】第1の実施形態による異常診断装置の動作例において、不正端末の接続による異常の通知画面を示す図である。
図6B】第1の実施形態による異常診断装置の動作例において、端末の不正利用による異常の通知画面を示す図である。
図7】第1の実施形態による異常診断装置の送信側端末の動作例において、統計情報判定処理を示すフローチャートである。
図8】第1の実施形態による異常診断装置の動作例において、不正攻撃による異常の通知画面を示す図である。
図9A】第1の実施形態による異常診断システムのクラウド診断装置の動作例を示すフローチャートである。
図9B】第1の実施形態による異常診断システムのクラウド診断装置の動作例において、DPI判定処理を示すフローチャートである。
図10】第1の実施形態による異常診断システムのクラウド診断装置の動作例において、DPI判定処理に用いられる第2判定テーブルを示す図である。
図11】第1の実施形態による異常診断システムのクラウド診断装置の動作例において、DPI判定処理の変形例を示すフローチャートである。
図12A】第2の実施形態による異常診断装置を示すブロック図である。
図12B】第2の実施形態によるクラウド診断装置を示すブロック図である。
図13A】第2の実施形態による異常診断装置の送信側端末の動作例を示すフローチャートである。
図13B】第2の実施形態による異常診断装置の送信側端末の動作例において、負荷計測を示すフローチャートである。
図13C】第2の実施形態による異常診断装置の送信側端末の動作の変形例を示すフローチャートである。
図13D】第2の実施形態による異常診断システムのクラウド診断装置の動作例を示すフローチャートである。
図14A】第3の実施形態による異常診断装置を示すブロック図である。
図14B】第3の実施形態によるクラウド診断装置を示すブロック図である。
図15A】第3の実施形態による異常診断システムの送信側端末の動作例を示すフローチャートである。
図15B】第3の実施形態による異常診断システムのクラウド診断装置の動作例を示すフローチャートである。
【発明を実施するための形態】
【0011】
以下、図面を参照して本発明に係る実施形態を説明する。本実施形態は、本発明を限定するものではない。
【0012】
(第1の実施形態)
図1は、第1の実施形態による異常診断システム1を示すブロック図である。第1の実施形態による異常診断システム1は、例えば、プラントやFA(Factory Automation)等に設置された機器を制御するシステムの異常を診断するために用いることができる。
【0013】
図1に示すように、異常診断システム1は、制御システム2と、外部診断装置の一例であるクラウド診断装置3と、を備える。
【0014】
制御システム2は、ネットワークを介したデータ通信により機器を制御する。ネットワークは、例えば、Ethernet(登録商標)であってもよいが、これに限定されない。
【0015】
機器を制御するための具体的な構成として、図1に示すように、制御システム2は、複数の制御装置4(A~C)と、HMI(Human Machine Interface)5と、ツール6と、ネットワークスイッチ(SW)7と、異常診断装置8と、を有する。
【0016】
複数の制御装置4は、制御システム2内に設けられ、データ通信で用いられるネットワークデータに基づいて機器を制御する装置である。
【0017】
HMI5は、ネットワークを介して制御装置4に接続され、ネットワークを介して制御装置4の状態監視を行う装置である。制御装置4は、機器を制御するための制御プログラムを実行することで、機器を制御する。
【0018】
ツール6は、ネットワークを介して制御装置4の制御プログラムを変更するエンジニアリングツールである。
【0019】
ネットワークスイッチ7は、制御装置4を含めた制御システム2の各構成部4、5、6、8をネットワークに接続する装置である。ネットワークスイッチ7は、ミラーポートを有し、ミラーポートによってネットワークデータをコピーすることで、ネットワークデータとして診断データを生成する。診断データは、異常診断装置8による制御システム2の異常の診断に用いられる。すなわち、異常診断装置8は、ネットワークスイッチ7のミラーポートを介して、制御システム2内に流れるすべてのパケットを取得して制御システム2の異常の診断に用いることができる。なお、異常診断装置8は、ミラーポートに限らず、例えば、制御システム2内のネットワークデータの伝送形態をマルチキャスト伝送とすることで、制御システム2内のすべてのネットワークデータを取得して異常診断に用いてもよい。
【0020】
異常診断装置8は、ネットワークを介したデータ通信により機器を制御する制御システム2内に設けられ、制御システム2の異常を診断する装置である。
【0021】
図2Aは、第1の実施形態による異常診断装置8を示すブロック図である。図2Aに示すように、異常診断装置8は、送信側端末81と、受信側端末82とを有する。送信側端末81と受信側端末82とは、送信側から受信側への一方向のみの伝送が可能なインタフェース83で接続されている。インタフェース83は、例えば、光ケーブルであってもよい。送信側端末81と受信側端末82とは、同一の筐体内に配置されても良いし、別々の筐体内に配置されてもよい。
【0022】
セキュリティを確保しながら制御システム2の異常を制御システム2側(すなわち、現場側)に迅速に通知することを意図して、送信側端末81および受信側端末82は、以下のように構成されている。
【0023】
送信側端末81は、データ通信で用いられるネットワークデータとして診断データを取得し、取得された診断データを一方向にのみ送信し、かつ、取得された診断データに基づいて制御システム2に対する一次異常診断を実施して診断結果を制御システム2内に出力する。
【0024】
受信側端末82は、送信側端末81から送信された診断データを受信し、受信された診断データを、一次異常診断よりも詳細な制御システム2に対する二次異常診断を実施するクラウド診断装置3に送信する。
【0025】
送信側端末81および受信側端末82によれば、診断データを一方向のみに送信可能なことで外部からのアクセスが禁止された制御システム2内で、一次異常診断を実施して診断結果を制御システム2内に出力することができる。これにより、セキュリティを確保しながら制御システム2側での診断結果の取得を確保することができる。また、全ての診断データを制御システム2内で診断するのではなく、一次異常診断よりも時間がかかる二次異常診断をクラウド診断装置3に分担させることができる。これにより、診断データのデータ量が多い場合でも、制御システム2側での診断の遅延が生じることを抑制することができる。
【0026】
より詳しくは、図2Aに示すように、送信側端末81は、第1通信インタフェース部(第1通信I/F)811と、転送・診断部812と、第1判定テーブル保存部813と、第2通信インタフェース部(第2通信I/F)814と、を有する。
【0027】
第1通信インタフェース部811は、診断データを入出力する。より詳しくは、第1通信インタフェース部811は、ネットワークスイッチ7で生成された診断データを入力し、入力された診断データを転送・診断部812に出力する。
【0028】
転送・診断部812は、第1通信インタフェース部811から出力された診断データを第2通信インタフェース部814に転送し、かつ、診断データに基づいて一次異常診断を実施して診断結果を制御システム2内に出力する。例えば、転送・診断部812は、第1通信インタフェース部811を介して一次異常診断の診断結果を制御装置4やHMI5に出力する。
【0029】
第1判定テーブル保存部813は、一次異常診断における異常の有無の判定に用いられる第1判定テーブルを保存する。
【0030】
第2通信インタフェース部814は、転送・診断部812から転送された診断データを一方向にのみ出力する。
【0031】
これら送信側端末81の各構成部811~814は、ハードウェアで構成されてもよいし、ソフトウェアで構成されてもよい。
【0032】
このように構成された送信側端末81によれば、第2通信インタフェース部814によって診断データの一方向性すなわちセキュリティを確保しながら、転送・診断部812によって第1判定テーブルを用いた制御システム2内での一次異常診断を実施することができる。
【0033】
一次異常診断は、制御システム2がセキュリティ異常を有するか否かの診断を含んでもよい。この場合、第1判定テーブル保存部813は、第1判定テーブルとしてネットワークデータのパケットのヘッダ情報を保存してもよい。そして、転送・診断部812は、診断データが第1判定テーブル保存部813に保存されたヘッダ情報を有しない場合に、制御システム2がセキュリティ異常を有する旨の診断結果を出力してもよい。このような構成によれば、診断データのうちのペイロード部と比較して判定が容易なヘッダ情報を対象とした診断を行うことで、一次異常診断の診断結果を迅速に取得することができる。
【0034】
また、一次異常診断は、制御システム2がDoS攻撃と呼ばれる大量のネットワークデータを送信するセキュリティ攻撃を受けているか否かの診断を含んでもよい。この場合、送信側端末81は、規定時間内の診断データの受信パケット数を解析し、受信パケット数が規定数を超えた場合に、制御システム2がセキュリティ攻撃を受けている旨の診断結果を出力してもよい。このような構成によれば、セキュリティを確保しながら、セキュリティ攻撃の診断結果を迅速に取得することができる。
【0035】
一方、図2Aに示すように、受信側端末82は、第3通信インタフェース部(第3通信I/F)821と、転送部822と、第4通信インタフェース部(第4通信I/F)823と、を有する。
【0036】
第3通信インタフェース部821は、第2通信インタフェース部814から出力された診断データを一方向にのみ入出力する。
【0037】
転送部822は、第3通信インタフェース部821から出力された診断データを第4通信インタフェース部823に転送する。
【0038】
第4通信インタフェース部823は、転送部822から転送された診断データを入力してクラウド診断装置3に出力する。
【0039】
これら受信側端末82の各構成部821~823は、ハードウェアで構成されてもよいし、ソフトウェアで構成されてもよい。
【0040】
このように構成された受信側端末82によれば、第3通信インタフェース部821によって診断データの一方向性すなわちセキュリティを確保しながら、二次異常診断のための診断データの転送を行うことができる。
【0041】
図2Bは、第1の実施形態によるクラウド診断装置3を示すブロック図である。クラウド診断装置3は、制御システム2の外部に設けられている。
【0042】
クラウド診断装置3は、受信側端末82から送信された診断データに基づいて、制御システム2に対する二次異常診断を実施して診断結果を制御システム2に接続されていないユーザ端末9に送信する。
【0043】
クラウド診断装置3によれば、一次異常診断よりも詳細な二次異常診断を分担することで、制御システム2の異常診断装置8側での診断の遅延を抑制することができる。また、二次異常診断の診断結果を制御システム2に接続されていないユーザ端末9に送信することで、端末9を所持するユーザは、制御システム2が設置されている場所に居ながら、セキュリティを確保しつつ詳細な二次異常診断の結果を取得することができる。
【0044】
より詳しくは、 図2Bに示すように、クラウド診断装置3は、第5通信インタフェース部31と、診断部32と、第2判定テーブル保存部33と、通知部34とを有する。
【0045】
第5通信インタフェース部31は、診断データを入出力する。より詳しくは、第5通信インタフェース部31は、異常診断装置8から送信された診断データを入力し、入力された診断データを診断部32に出力する。
【0046】
診断部32は、第5通信インタフェース部31から出力された診断データに基づいて二次異常診断を実施して診断結果を通知部34に出力する。
【0047】
通知部34は、診断部32から入力された二次異常診断の診断結果をユーザ端末9に送信する。
【0048】
これらクラウド診断装置3の各構成部31~34は、ハードウェアで構成されてもよいし、ソフトウェアで構成されてもよい。
【0049】
二次異常診断は、一次異常診断よりも詳細な(すなわち、診断時間がかかる)制御システム2の異常の有無の診断である。クラウド診断装置3は、診断データのペイロード部が予め設定された範囲の制御値を有しない場合、または、ペイロード部に含まれる健全性確認データが更新されていない場合に、制御システム2が異常を有する旨の診断結果を出力してもよい。このような構成によれば、ヘッダ情報と比較して診断に時間がかかるペイロード部を対象とした診断をクラウド診断装置3で分担することで、異常診断装置8の診断に遅延が生じることを有効に抑制することができる。
【0050】
(動作例)
次に、以上のように構成された第1の実施形態による異常診断システム1の動作例について説明する。
【0051】
図3Aは、第1の実施形態による異常診断装置8の送信側端末81の動作例を示すフローチャートである。第1の実施形態による異常診断システム1のうち、異常診断装置8の送信側端末81は、図3Aのフローチャートにしたがって動作する。図3Aのフローチャートは、必要に応じて繰り返される。
【0052】
具体的には、先ず、転送・診断部812は、診断データの転送処理および一次異常診断処理を開始した後(ステップS1)、新規の診断データが受信されたか否かを判定する(ステップS2)。
【0053】
新規の診断データが受信された場合(ステップS2:Yes)、転送・診断部812は、第1通信インタフェース部811で受信された新規の診断データを、第2通信インタフェース部814を介して受信側端末82に転送する(ステップS3)。
【0054】
一方、新規の診断データが受信されていない場合(ステップS2:No)、転送・診断部812は、新規の診断データが受信されたか否かの判定を繰り返す(ステップS2)。
【0055】
新規の診断データを受信した後、転送・診断部812は、受信された新規の診断データに基づいて、一次異常診断処理のうちのヘッダ情報判定処理を実行する(ステップS4)。
【0056】
図4は、第1の実施形態による異常診断装置8の動作例において、第1判定テーブルを示す図である。ヘッダ情報判定処理には、第1判定テーブル保存部813に保存された第1判定テーブルとして、図4に示される第1判定テーブルを用いることができる。
【0057】
図4の例において、第1判定テーブルは、予め通信しうる端末の情報として、送信元IPアドレスと、送信先IPアドレスとがプリセットされるテーブルで構成されている。また、第1判定テーブルは、行ごとに番号が付与されている。
【0058】
図5は、第1の実施形態による異常診断装置8の送信側端末81の動作例において、ヘッダ情報判定処理を示すフローチャートである。第1判定テーブルを用いたヘッダ情報判定処理は、図5のフローチャートにしたがって実行される。
【0059】
具体的には、先ず、ヘッダ情報判定処理を開始した後(ステップS41)、転送・診断部812は、第1判定テーブルの中からi番目の送信元IPアドレスおよび送信先IPアドレスを探索する(ステップS42)。なお、iの初期値は1である。
【0060】
i番目の送信元IPアドレスおよび送信先IPアドレスを探索した後、転送・診断部812は、新規の診断データの送信元IPアドレスおよび送信先IPアドレスと、i番目の送信元IPアドレスおよび送信先IPアドレスとを比較し、両者が一致するか否かを判定する(ステップS43)。
【0061】
新規の診断データの送信元IPアドレスおよび送信先IPアドレスと、i番目の送信元IPアドレスおよび送信先IPアドレスとが一致する場合(ステップS43:Yes)、転送・診断部812は、制御システム2が正常であると判定する(ステップS44)。
【0062】
一方、新規の診断データの送信元IPアドレスおよび送信先IPアドレスと、i番目の送信元IPアドレスおよび送信先IPアドレスとが一致しない場合(ステップS43:No)、転送・診断部812は、新規の診断データの送信元IPアドレスと、i番目の送信元IPアドレスとが一致するか否かを判定する(ステップS45)。
【0063】
新規の診断データの送信元IPアドレスとi番目の送信元IPアドレスとが一致する場合(ステップS45:Yes)、転送・診断部812は、フラグFLGの値を「1」にセットする(ステップS46)。
【0064】
フラグFLGの値を「1」にセットした後、または、新規の診断データの送信元IPアドレスとi番目の送信元IPアドレスとが一致しない場合(ステップS45:No)、転送・診断部812は、第1判定テーブルの全行のIPアドレスの探索が終了したか否かを判定する(ステップS47)。
【0065】
第1判定テーブルの全行のIPアドレスの探索が終了した場合(ステップS47:Yes)、転送・診断部812は、フラグFLGが「1」にセットされているか否かを判定する(ステップS48)。
【0066】
一方、第1判定テーブルの全行のIPアドレスの探索が終了していない場合(ステップS47:No)、転送・診断部812は、iをインクリメントして第1判定テーブル内の次行のIPアドレスの探索に移行する(ステップS49)。
【0067】
フラグFLGが「1」にセットされていない場合(ステップS48:No)、送信元IPアドレスが第1判定テーブル保存部813に保存されていないことになる。この場合、転送・診断部812は、制御システム2が異常である、すなわち、不正な端末がネットワークに接続されたと判定する(ステップS410)。
【0068】
不正な端末がネットワークに接続されたと判定した後、転送・診断部812は、その旨をユーザに通知する(ステップS411)。
【0069】
図6Aは、第1の実施形態による異常診断装置8の動作例において、不正端末の接続による異常の通知画面を示す図である。例えば、転送・診断部812は、図6Aの通知画面をHMI5の表示部に表示することで、不正な端末がネットワークに接続された旨をユーザに通知する。
【0070】
不正な端末がネットワークに接続された旨をユーザに通知した後、転送・診断部812は、フラグFLGを「0」にセット(ステップS412)したうえで、ヘッダ情報判定処理を終了する(ステップS413)。
【0071】
一方、フラグFLGが「1」にセットされている場合(ステップS48:Yes)、送信先IPアドレスは第1判定テーブルに存在しないが、送信元IPアドレスは第1判定テーブルに存在していることになる。この場合、転送・診断部812は、制御システム2が異常である、すなわち、端末が不正に操作され、情報が漏洩していると判定する(ステップS414)。
【0072】
端末が不正に操作され、情報が漏洩していると判定した後、転送・診断部812は、その旨をユーザに通知する(ステップS415)。
【0073】
図6Bは、第1の実施形態による異常診断装置8の動作例において、端末の不正利用による異常の通知画面を示す図である。例えば、転送・診断部812は、図6Bの通知画面をHMI5の表示部に表示することで、端末が不正に操作され、情報が漏洩している旨をユーザに通知する。
【0074】
なお、IPアドレスを用いたヘッダ情報判定処理について説明したが、ヘッダ情報判定処理には、IPアドレスに加えて、または、IPアドレスに代えて、診断データのMACアドレス、送信回数、頻度などを用いることもできる。また、セキュリティの判定をより厳密化するため、送信元IPアドレスおよび送信先IPアドレスに加え、プロトコル情報を加味してもよい。この場合、例えば、第1判定テーブルに保存されたプロトコル情報がTCPやUDPであるのに対して、新規の診断データのプロトコルがSSHである場合には、不正な端末がネットワークに接続されたと判定してもよい。これにより送信元IPアドレスおよび送信先IPアドレスが同一でも、不正なプロトコルでアクセスを試みているケースが抽出可能になる。
【0075】
ヘッダ情報判定処理を終了した後、図3Aに示すように、転送・診断部812は、受信された新規の診断データに基づいて、一次異常診断処理のうちの統計情報判定処理を実行する(ステップS5)。
【0076】
図7は、第1の実施形態による異常診断装置8の送信側端末81の動作例において、統計情報判定処理を示すフローチャートである。統計情報判定処理は、図7のフローチャートにしたがって行われる。
【0077】
具体的には、先ず、転送・診断部812は、統計情報判定処理を開始した後(ステップS51)、新規の診断データの受信に応じてインクリメントされるカウンタ変数およびタイマの計測時間を初期化(i=0、timer=0)する(ステップS52)。
【0078】
カウンタ変数を初期化した後、転送・診断部812は、新規の診断データを受信する(ステップS53)。
【0079】
新規の診断データを受信した後、転送・診断部812は、カウンタ変数をインクリメント(i++)する(ステップS54)。
【0080】
カウンタ変数をインクリメントした後、転送・診断部812は、カウンタ変数が規定数i_thを超えたか否かを判定する(ステップS55)。規定数i_thは予め決めておいてもよいし、動的にユーザが変更可能なものでもよい。
【0081】
カウンタ変数が規定数i_thを超えた場合(ステップS55:Yes)、転送・診断部812は、制御システム2が異常であると判定する(ステップS56)。より詳しくは、転送・診断部812は、制御システム2がDoS攻撃などのサービス不能攻撃を受信していると判定する。
【0082】
図8は、第1の実施形態による異常診断装置8の動作例において、不正攻撃による異常の通知画面を示す図である。例えば、転送・診断部812は、図8の通知画面をHMI5の表示部に表示することで、サービス不能攻撃を受けている旨をユーザに通知する。
【0083】
カウンタ変数が規定数i_thを超えていない場合(ステップS55:No)、転送・診断部812は、タイマの計測時間が規定時間time_thを超えたか否かを判定する(ステップS57)。
【0084】
タイマの計測時間が規定時間time_thを超えた場合(ステップS57:Yes)、転送・診断部812は、タイマの計測時間とカウンタ変数とをクリアしたうえで新規の診断データの受信に遷移する(ステップS53)。
【0085】
一方、タイマの計測時間が規定時間time_thを超えていない場合(ステップS57:No)、転送・診断部812は、制御システム2が正常であると判定して統計情報判定処理を終了する(ステップS58)。
【0086】
図3Bは、第1の実施形態による異常診断装置8の受信側端末82の動作例を示すフローチャートである。第1の実施形態による異常診断システム1のうち、異常診断装置8の受信側端末82は、図3Bのフローチャートにしたがって動作する。図3Bのフローチャートは、必要に応じて繰り返される。
【0087】
具体的には、先ず、転送部822は、診断データの転送処理を開始した後(ステップS11)、新規の診断データが受信されたか否かを判定する(ステップS12)。
【0088】
新規の診断データが受信された場合(ステップS12:Yes)、転送部822は、第3通信インタフェース部821で受信された新規の診断データを、第4通信インタフェース部823を介してクラウド診断装置3に転送する(ステップS13)。
【0089】
一方、新規の診断データが受信されていない場合(ステップS12:No)、転送部822は、新規の診断データが受信されたか否かの判定を繰り返す(ステップS12)。
【0090】
図9Aは、第1の実施形態による異常診断システム1のクラウド診断装置3の動作例を示すフローチャートである。第1の実施形態による異常診断システム1のうち、クラウド診断装置3は、図9Aのフローチャートにしたがって動作する。図9Aのフローチャートは、必要に応じて繰り返される。
【0091】
具体的には、先ず、診断部32は、二次異常診断処理を開始した後(ステップS61)、新規の診断データが受信されたか否かを判定する(ステップS62)。
【0092】
新規の診断データが受信された場合(ステップS62:Yes)、診断部32は、第5通信インタフェース部31で受信された新規の診断データに基づいて、二次異常診断処理としてDPI(Deep Packet Inspection)判定処理を行う(ステップS63)。なお、二次異常診断処理は、更に、既述した統計情報判定処理を含んでもよい。
【0093】
図9Bは、第1の実施形態による異常診断システム1のクラウド診断装置3の動作例において、DPI判定処理を示すフローチャートである。図10は、第1の実施形態による異常診断システム1のクラウド診断装置3の動作例において、DPI判定処理に用いられる第2判定テーブルを示す図である。図10の第2判定テーブルは、ネットワークデータのペイロード部を構成するフィールド(No1~)毎に、制御値の最小値および最大値と、周期的に値が増加する時刻データの前回値が格納されている。時刻データは、制御システム2の健全性の確認に用いることができる。DPI判定処理は、図10の第2判定テーブルを用いて図9Bのフローチャートにしたがって実行される。
【0094】
具体的には、診断部32は、DPI判定処理を開始した後(ステップS631)、第2判定テーブルの中からi番目のフィールドを探索する(ステップS632)。なお、iの初期値は1である。
【0095】
第2の判定テーブルからi番目のフィールドを探索した後、診断部32は、探索されたi番目のフィールドに基づいて、新規の診断データのi番目のフィールドが正常であるか否かを判定する(ステップS633)。
【0096】
例えば、診断部32は、新規の診断データのi番目のフィールドの制御値が、第2判定テーブルのi番目のフィールドの制御値の最小値と最大値との間の範囲内であるか否かを判定する。また、診断部32は、新規の診断データのi番目のフィールドの時刻データが、第2判定テーブルのi番目のフィールドの前回値から更新されているか否かを判定する。そして、新規の診断データの制御値が最小値と最大値との間の範囲内であり、かつ、新規の診断データの時刻データ(すなわち、健全性確認データ)が前回値から更新されている場合に、制御システム2が正常であると判定し、そうでない場合に、制御システム2が異常であると判定する。
【0097】
新規の診断データのi番目のフィールドが正常である場合(ステップS633:Yes)、診断部32は、全てのフィールドの探索が終了したか否かを判定する(ステップS634)。
【0098】
一方、新規の診断データのi番目のフィールドが異常である場合(ステップS633:No)、診断部32は、制御システム2が異常であると判定する(ステップS635)。この場合、診断部32は、携帯回線等の異常診断システム1の通信回線以外の通信回線を用いて、ユーザ端末9に制御システム2の異常を通知する。
【0099】
全てのフィールドの探索が終了した場合(ステップS634:Yes)、診断部32は、制御システム2が正常であると判定してDPI判定処理を終了する(ステップS636)。
【0100】
一方、全てのフィールドの探索が終了していない場合(ステップS634:No)、診断部32は、iをインクリメントして次のフィールドの探索に遷移する(ステップS637)。
【0101】
図11は、第1の実施形態による異常診断システム1のクラウド診断装置3の動作例において、DPI判定処理の変形例を示すフローチャートである。診断データが共通鍵で暗号化されている場合、図11に示すように、診断部32は、DPI判定処理を開始した後(ステップS631)、制御システム2内の共通鍵から復号化アルゴリズムを適用して復号処理(ステップS638)を行えばよい。そして、復号化された診断データに基づいて、DPI判定処理を実行すればよい。診断データの暗号化方式については、共通鍵方式のものであればアルゴリズムは問わない。
【0102】
第1の実施形態によれば、セキュリティが確保された分散型アーキテクチャを構築でき、制御システム2の伝送パケットの一次異常診断を現場側で実施し、詳細な二次異常診断をクラウド側で実施することができる。これにより、セキュリティを確保しつつ、現場側の診断結果については制御システム2へ直接通知が可能になり、詳細な診断結果はユーザへ通知することが可能になる。すなわち、第1の実施形態によれば、セキュリティを確保しながら制御システム2の異常を制御システム2側に迅速に通知することができる。
【0103】
(第2の実施形態)
次に、送信側端末81の負荷に応じて一次異常診断をクラウド側で分担する第2の実施形態について説明する。
【0104】
図12Aは、第2の実施形態による異常診断装置8を示すブロック図である。
【0105】
第2の実施形態において、送信側端末81は、第1の実施形態の構成に加えて、更に、負荷計測部815を有する。負荷計測部815は、送信側端末81の負荷を計測する。
【0106】
送信側端末81の転送部822は、負荷計測部815で計測された負荷が許容値を超えた場合には、一次異常診断のうちの少なくとも一部の診断を省略する。そして、転送・診断部812は、省略された診断をクラウド診断装置3の診断部32に指示するため、診断指示信号の一例である診断モード切替信号を受信側端末82に送信する。
【0107】
受信側端末82の転送部822は、送信側端末81の転送・診断部812から送信された診断モード切替信号を受信してクラウド診断装置3に送信する。
【0108】
図12Bは、第2の実施形態によるクラウド診断装置3を示すブロック図である。
【0109】
第2の実施形態において、クラウド診断装置3は、第1の実施形態の構成に加えて、更に、診断切替部35と、表示部36とを有する。
【0110】
診断切替部35は、転送部822から送信された診断モード切替信号に応じて、二次異常診断に加えて転送・診断部812で省略された一次異常診断の診断項目も診断するように診断部32の診断モードを切り替える。
【0111】
表示部36は、診断部32で判定された制御システム2の異常状態や、トレンド情報を表示する。
【0112】
(動作例)
次に、以上のように構成された第2の実施形態による異常診断システム1の動作例について説明する。
【0113】
図13Aは、第2の実施形態による異常診断装置8の送信側端末81の動作例を示すフローチャートである。第2の実施形態による異常診断システム1のうち、異常診断装置8の送信側端末81は、図13Aのフローチャートにしたがって動作する。図13Aのフローチャートは、必要に応じて繰り返される。
【0114】
具体的には、負荷計測部815は、図3Aで説明したデータ転送(ステップS3)の後に、送信側端末81の負荷を計測する(ステップS7)。
【0115】
図13Bは、第2の実施形態による異常診断装置8の送信側端末81の動作例において、負荷計測を示すフローチャートである。負荷計測は、図13Bのフローチャートにしたがって実行される。
【0116】
具体的には、負荷計測部815は、負荷計測を開始した後(ステップS71)、送信側端末81のCPUの使用率(%)が許容値CPU_thを超えたか否かを判定する(ステップS72)。
【0117】
CPUの使用率が許容値CPU_thを超えた場合(ステップS72:Yes)、診断切替部35は、転送・診断部812から送信された診断モード切替信号に応じて、診断モードを切り替える(ステップS73)。これにより、診断部32は、通常の二次異常診断に加えて、送信側端末81の転送・診断部812が省略した一次異常診断の診断項目の診断を実施する。
【0118】
一方、CPUの使用率が許容値CPU_thを超えていない場合(ステップS72:No)、負荷計測部815は、診断データの伝送負荷率(pps)が許容値Trans_thを超えたか否かを判定する(ステップS74)。
【0119】
診断データの伝送負荷率(pps)が許容値Trans_thを超えた場合(ステップS74:Yes)、診断切替部35は、転送・診断部812から送信された診断モード切替信号に応じて、診断モードを切り替える(ステップS73)。
【0120】
一方、診断データの伝送負荷率(pps)が許容値Trans_thを超えていない場合(ステップS74:No)、負荷計測部815は、負荷計測を終了する(ステップS75)。
【0121】
図13Cは、第2の実施形態による異常診断装置8の送信側端末81の動作の変形例を示すフローチャートである。図13Cのフローチャートは、必要に応じて繰り返される。CPUの使用率または伝送負荷率が許容値を超える場合、図13Cに示すように、転送・診断部812は、一次異常診断のうちのヘッダ情報判定処理を省略してもよい。
【0122】
図13Dは、第2の実施形態による異常診断システム1のクラウド診断装置3の動作例を示すフローチャートである。第2の実施形態において、クラウド診断装置3による異常診断は、図13Dのフローチャートにしたがって実施される。図13Dのフローチャートは、必要に応じて繰り返される。
【0123】
具体的には、図9Aで説明した新規の診断データの受信の有無の判定において、新規の診断データが受信された場合(ステップS62:Yes)、診断切替部35は、診断モード切替信号が受信されたか否かを判定する(ステップS64)。
【0124】
診断モード切替信号が受信された場合(ステップS64:Yes)、診断切替部35は、二次異常診断に加えて制御システム2側で省略されたヘッダ情報判定処理を実施するように診断部32の診断モードを切り替える。これにより、診断部32は、DPI判定処理(ステップS63)に加えてヘッダ情報判定処理(ステップS4)を実施する。
【0125】
一方、診断モード切替信号が受信されていない場合(ステップS64:No)、診断切替部35は、診断モードを切り替えず、診断部32は、DPI判定処理(ステップS63)のみを実施する。
【0126】
第2の実施形態によれば、運用環境の変化等によって異常診断装置8にかかる負荷が増大した場合でも、動的に一次異常診断をクラウド側で分担できるため、診断機能を維持して可用性を向上させることができる。
【0127】
(第3の実施形態)
次に、学習モードと診断モードとを選択可能な第3の実施形態について説明する。
【0128】
図14Aは、第3の実施形態による異常診断装置8を示すブロック図である。
【0129】
第3の実施形態において、送信側端末81は、第1の実施形態の構成に加えて、更に、第1モード切替部816を有する。
【0130】
第1モード切替部816は、転送・診断部812の動作モードを、診断モードと学習モードとの間で切り替える。
【0131】
転送・診断部812は、診断モードでは、第1判定テーブルに基づいて一次異常診断を実施する。一方、転送・診断部812は、学習モードでは、送信側端末81に入力された第1判定テーブルを第1判定テーブル保存部813に登録する。
【0132】
図14Bは、第3の実施形態によるクラウド診断装置3を示すブロック図である。
【0133】
第3の実施形態において、クラウド診断装置3は、第1の実施形態の構成に加えて、更に、第2モード切替部37と、表示部36とを有する。
【0134】
第2モード切替部37は、診断部32の動作モードを、診断モードと学習モードとの間で切り替える。
【0135】
診断部32は、診断モードでは、第2判定テーブルに基づいて二次異常診断を実施する。一方、診断部32は、学習モードでは、受信された診断データに基づいて第2判定テーブルを第2判定テーブル保存部33に登録する。
【0136】
図15Aは、第3の実施形態による異常診断装置8の送信側端末81の動作例を示すフローチャートである。第3の実施形態による異常診断システム1のうち、異常診断装置8の送信側端末81は、図15Aのフローチャートにしたがって動作する。図15Aのフローチャートは、必要に応じて繰り返される。
【0137】
図15Aのフローチャートは、図3Aのフローチャートに対しして、学習モードを実行するための工程(ステップS81~ステップS85)が追加されている点で異なり、他の点で同様である。以下の説明では、図3Aと異なる工程についてのみ詳細に説明する。
【0138】
先ず、転送・診断部812は、転送・診断部812の動作モードが学習モードであるか否かを判定する(ステップS81)。
【0139】
学習モードでない場合(ステップS81:No)、転送・診断部812は、図3Aで説明した診断工程を実行する(ステップS1~ステップS5)。
【0140】
一方、学習モードである場合(ステップS81:Yes)、転送・診断部812は、学習処理を開始する(ステップS82)。
【0141】
学習処理を開始した後、転送・診断部812は、新規の診断データが受信されたか否かを判定する(ステップS83)。ただし、このとき受信される診断データは、診断には用いられずに第1判定テーブルの作成に用いられる。
【0142】
新規の診断データが受信された場合(ステップS83:Yes)、転送・診断部812は、受信された診断データに含まれる送信元IPアドレスおよび送信先IPアドレスが、第1判定テーブル保存部813に登録済みであるか否かを判定する(ステップS84)。
【0143】
送信元IPアドレスおよび送信先IPアドレスが登録済みでない場合(ステップS84:No)、転送・診断部812は、受信された診断データに含まれる送信元IPアドレスおよび送信先IPアドレスを、第1判定テーブルとして第1判定テーブル保存部813に登録する(ステップS85)。
【0144】
一方、送信元IPアドレスおよび送信先IPアドレスが登録済みの場合(ステップS84:Yes)、転送・診断部812は、学習モードであるか否かの判定を繰り返す(ステップS81)。
【0145】
このようにして、新たな診断データの受信に応じて未登録の送信元IPアドレスおよび送信先IPアドレスを第1判定テーブル保存部813に逐次登録することで、第1判定テーブルを作成する。
【0146】
学習モードによって第1判定テーブルを作成した後は、第1モード切替部816によって転送・診断部812の動作モードを診断モードに切り替え、転送・診断部812によって第1判定テーブルを用いた第1の異常診断を実施する。学習モードから診断モードへの切り替えは、例えば電源投入後一定時間後に自動で実行してもよく、または、ユーザ操作に応じた任意のタイミングで実行してもよい。
【0147】
図15Bは、第3の実施形態による異常診断システム1のクラウド診断装置3の動作例を示すフローチャートである。第3の実施形態による異常診断システム1のうち、クラウド診断装置3は、図15Bのフローチャートにしたがって動作する。図15Bのフローチャートは、必要に応じて繰り返される。
【0148】
図15Bのフローチャートは、図9Aのフローチャートに対しして、学習モードを実行するための工程(ステップS91~ステップS95)が追加されている点で異なり、他の点で同様である。以下の説明では、図9Aと異なる工程についてのみ詳細に説明する。
【0149】
先ず、診断部32は、診断部32の動作モードが学習モードであるか否かを判定する(ステップS91)。
【0150】
学習モードでない場合(ステップS91:No)、診断部32は、図9Aで説明した診断工程を実行する(ステップS61~ステップS63)。
【0151】
一方、学習モードである場合(ステップS91:Yes)、診断部32は、学習処理を開始する(ステップS92)。
【0152】
学習処理を開始した後、診断部32は、新規の診断データが受信されたか否かを判定する(ステップS93)。ただし、このとき受信される診断データは、診断には用いられずに第2判定テーブルの作成に用いられる。
【0153】
新規の診断データが受信された場合(ステップS93:Yes)、診断部32は、受信された診断データのフィールド毎に、制御値の最小値および最大値の更新の要否を判定する(ステップS94)。要否の判定は、制御値が既登録か否かの判定であってもよい。
【0154】
制御値の最小値および最大値の更新が必要である場合、(ステップS94:Yes)、診断部32は、制御値の最小値および最大値を、第2判定テーブルとして第2判定テーブル保存部33に登録する(ステップS95)。
【0155】
一方、制御値の最小値および最大値の更新が不要である場合(ステップS94:Yes)、診断部32は、学習モードであるか否かの判定を繰り返す(ステップS91)。
【0156】
第3の実施形態によれば、ユーザが手動で判定テーブルを作成する必要がなくなるため、利便性を向上させることができる。
【0157】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【0158】
1 異常診断システム、2 制御システム、8 異常診断装置、81 送信側端末、82 受信側端末
図1
図2A
図2B
図3A
図3B
図4
図5
図6A
図6B
図7
図8
図9A
図9B
図10
図11
図12A
図12B
図13A
図13B
図13C
図13D
図14A
図14B
図15A
図15B