【文献】
待井 航 ほか,制御系システムのセキュリティ向上のための動的ゾーニング,電子情報通信学会技術研究報告 Vol.114 No.340,p.7−12,日本,一般社団法人電子情報通信学会,2014年11月20日,ISSN 0913-5685
(58)【調査した分野】(Int.Cl.,DB名)
複数の構成要素により構成されるプラントがサイバー攻撃を受けた場合におけるサイバー攻撃を受けた構成要素とその影響を受けうる構成要素との間の相関関係を示す相関関係情報を取得するステップと、
前記相関関係情報に基づいて前記複数の構成要素をゾーニングするステップと、
を備え、
前記相関関係情報は、前記プラントの運転に影響を与える度合いが大きい構成要素として前記複数の構成要素から選択された重要要素を上位事象とするフォルトツリーであり、
前記フォルトツリーは、前記プラントの安全性を評価する際に生成又は記録された情報を解析することにより生成される
プラント管理方法。
前記情報は、前記プラントの安全性を評価する際に前記プラントを構成する複数の構成要素を対象として実施されたHAZOP(Hazard and Operability Studies)又はSIL(Safety Integrity Level)解析において生成又は記録された情報である
請求項1に記載のプラント管理方法。
前記プラントを構成する複数の構成要素のいずれかがサイバー攻撃を受けたことが検知された場合、前記ゾーニングするステップにおいてゾーニングされたゾーンごとに、ゾーンに含まれる構成要素の制御方式を切り替えるステップを更に備える請求項4又は5に記載のプラント管理方法。
前記算出するステップにおいて算出された重要度又は緊急度を表す指標に応じて、前記ゾーンに含まれる構成要素の制御方式を切り替える請求項6に記載のプラント管理方法。
前記予測値は、前記複数の状態値のそれぞれの過去の実績値に基づく機械学習により学習された予測アルゴリズムにより予測される請求項4から8のいずれかに記載のプラント管理方法。
前記指標は、それぞれの構成要素の状態値について算出された前記差又は差の変化率が前記重要要素に与える影響の大きさに基づいてそれぞれの差又は差の変化率に重みが付された指標算出アルゴリズムにより算出される請求項4から9のいずれかに記載のプラント管理方法。
前記指標算出アルゴリズムは、それぞれの状態値について算出された前記予測値及び実績値の履歴と、前記重要要素が含まれるゾーンの運転挙動の評価とに基づいて学習される請求項10に記載のプラント管理方法。
【発明を実施するための形態】
【0012】
本開示の実施の形態として、プラントがサイバー攻撃を受けた場合の被害を抑えるための技術について説明する。
【0013】
化学製品や工業製品などを生産するためのプラントにおいては、反応器、加熱炉、弁などの多数の構成要素により一連のプロセスが実行されている。プラントを構成する複数の構成要素は、それぞれ、インターネット、プライベートネットワーク、USBなどの通信手段によって他の構成要素と通信している。したがって、外部のネットワークに接続された構成要素を足がかりとして、個々の通信手段を辿って任意の構成要素に外部から侵入される可能性がある。プラントには、故障や外因などにより誘発される異常な事象の発生を抑止するための厳重なセキュリティシステムが設けられているが、サイバー攻撃によって乗っ取られた構成要素は、異常な動作を強制され、セキュリティシステムが想定していない異常な事象を誘発しうる。プラントを構成する複数の構成要素のほとんどは、独立して動作しているわけではなく、何らかの形で他の構成要素に影響を及ぼしうるので、サイバー攻撃によって乗っ取られた構成要素に生じた異常な事象は、その構成要素のみにとどまらず、他の構成要素に伝播されていく。複数の制御装置による制御対象装置に対するフィードバック制御が相互に干渉し合う場合には、複数の構成要素の間の相関関係は更に複雑になるので、予期しない異常な事象が広範囲の構成要素に拡大しうる。
【0014】
このような課題を解決するために、実施の形態に係るプラント管理システムは、プラントを構成する構成要素がサイバー攻撃によって乗っ取られ、異常な事象が発生したときに、異常を早期に検知し、乗っ取られた構成要素を他の構成要素から隔離して手動制御に切り替える。これにより、他の構成要素への被害の拡大や侵入を防ぎつつ、乗っ取られた構成要素を手動制御で正常な状態に戻すことができるので、サイバー攻撃による被害を抑えることができる。
【0015】
上述したように、サイバー攻撃によって、現実には起こりえない異常な事象が誘発されうる。また、現実には同時に発生する可能性がほとんどない異常な事象の組み合わせが同時多発的に誘発されうる。このような異常な事象に適切に対処するためには、プラントの設計思想を根本から見直し、従来想定していなかった異常な事象までもが発生しうることを想定してプラントを設計する必要があることを本発明者らは課題として認識した。
【0016】
このような課題を解決するために、実施の形態に係るプラント設計装置は、プラントを構成する複数の構成要素を、構成要素の間の相関関係に基づいてゾーニングする。プラント設計装置は、例えば、複数の構成要素の間のいずれかがサイバー攻撃を受けた場合におけるサイバー攻撃を受けた構成要素とその影響を受けうる構成要素との間の相関関係を示す相関関係情報のマトリクスに基づいて、複数の構成要素をゾーニングする。そして、サイバー攻撃を受けた場合に、サイバー攻撃を受けたゾーンから他のゾーンへの被害の拡大や侵入を抑えることが可能となるようにプラントを設計する。例えば、ハードウェア、ソフトウェア、通信プロトコルなどの種類をゾーンごとに異ならせてもよい。これにより、サイバー攻撃を受けたゾーンに侵入したときと同じ方法で他のゾーンに侵入することを困難にすることができる。また、サイバー攻撃を受けた場合に、通信の切断による隔離や、構成要素の手動制御への切り替えなどを、ゾーンごとに実施することができるように各ゾーンを構成する。これにより、サイバー攻撃に強く、サイバー攻撃を受けた場合に被害の拡大を抑えることが可能なプラントを設計することができるので、サイバー攻撃による被害を抑えることができる。
【0017】
サイバー攻撃による被害をより小さく抑えるためには、プラントの運転に影響を与える度合いが大きい構成要素として複数の構成要素から選択された重要要素が異常な状態に陥らないようにする必要がある。したがって、本実施の形態のプラント設計装置は、サイバー攻撃を受けた場合にサイバー攻撃を受けた構成要素から重要要素への影響の伝播を効果的に遮断することが可能となるように、複数の構成要素をゾーニングする。プラント設計装置は、例えば、重要要素を上位事象とするフォルトツリーに基づいて、複数の構成要素をゾーニングする。これにより、プラントがサイバー攻撃を受けた場合であっても、重要要素への影響を抑えることができるので、サイバー攻撃による被害を抑えることができる。
【0018】
実際にサイバー攻撃を受けたときには、サイバー攻撃を受けたことを早期に検知してオペレータに報知するとともに、ゾーンの隔離、手動運転への切替、プラントの運転継続、運転停止などの対応策をオペレータが判断するために必要な情報を分かりやすくオペレータに提示する必要がある。サイバー攻撃を検知する技術については、後述する。オペレータに必要な情報を提示する技術については、上述した特許文献1に開示された技術を利用可能である。
【0019】
図1は、実施の形態に係るプラント管理システムの全体構成を示す。プラント管理システム1は、化学製品や工業製品などを生産するためのプラント3と、プラント3を設計するプラント設計装置100と、プラント管理装置30において使用されるアルゴリズムを学習するための学習装置4とを備える。プラント3と学習装置4とは、インターネットや社内接続系統などの任意の通信網2により接続され、オンプレミス、エッジコンピューティングなどの任意の運用形態で運用される。
【0020】
プラント3は、プラント3に設置された反応器や加熱炉などの制御対象装置10と、制御対象装置10の運転条件を制御するための操作量を設定する制御装置20と、学習装置4により学習されたアルゴリズムを使用してプラント3を管理するプラント管理装置30とを備える。
【0021】
まず、プラント設計装置100によりサイバー攻撃に強いプラント3を設計する技術について説明する。
【0022】
図2は、実施の形態に係るプラント設計装置100の構成を示す。プラント設計装置100は、通信装置111、表示装置112、入力装置113、処理装置120、及び記憶装置130を備える。
【0023】
通信装置111は、無線又は有線による通信を制御する。表示装置112は、処理装置120により生成された表示画像を表示する。入力装置113は、処理装置120に指示を入力する。
【0024】
記憶装置130は、処理装置120が使用するデータ及びコンピュータプログラムを格納する。記憶装置130は、HAZOP情報保持部131、HAZOP情報解析アルゴリズム132、及び相関関係情報生成アルゴリズム133を含む。
【0025】
処理装置120は、HAZOP情報取得部121、相関関係情報生成部122、ゾーニング実行部123、HAZOP情報解析アルゴリズム学習部124、及び相関関係情報生成アルゴリズム学習部125を備える。これらの構成は、ハードウエアコンポーネントでいえば、任意のコンピュータのCPU、メモリ、メモリにロードされたプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。
【0026】
HAZOP情報取得部121は、プラント3の安全性を評価する際にプラント3を構成する複数の構成要素を対象として実施されたHAZOP(Hazard and Operability Studies)又はSIL(Safety Integrity Level)解析において生成又は記録された情報を取得し、HAZOP情報保持部131に格納する。HAZOPは、プラントの潜在危険性をもれなく洗い出し、それらの影響や結果を評価し、必要な安全対策を講ずることを目的として実施される。SIL解析は、安全、環境、資産に関わるプロセスリスクの大きさに基づいて、要求される安全健全性レベルを決定するとともに、安全健全性レベルを維持するために必要な設備構成と機能試験頻度を合理的に決定することにより、プラントの安全性を向上させることを目的として実施される。HAZOP又はSIL解析に関する情報は、音声、画像、文章などを含む。
【0027】
相関関係情報生成部122は、HAZOP情報保持部131に保持された情報を解析することにより、プラント3を構成する複数の構成要素の間の相関関係を表す相関関係情報を生成する。相関関係情報生成部122は、まず、HAZOP情報保持部131に保持されたHAZOP情報を、HAZOP情報解析アルゴリズム132を用いて解析し、HAZOP情報をテキスト情報に変換する。相関関係情報生成部122は、変換されたテキスト情報を形態素解析などの自然言語解析手法により解析し、プラント3を構成する複数の構成要素の故障、異常、停止などによって生じる可能性のあるオペレーショントラブルを抽出する。相関関係情報生成部122は、更に、相関関係情報生成アルゴリズム133を用いて、抽出された情報からフォルトツリーを生成する。これにより、重要要素を上位事象とするフォルトツリーをHAZOP情報から自動生成することができるので、制御上重要である重要要素と、重要要素の停止や異常動作を防ぐためにセキュリティ上重要である構成要素を特定することができる。
【0028】
ゾーニング実行部123は、相関関係情報生成部122により生成された相関関係情報に基づいて、プラント3を構成する複数の構成要素をゾーニングする。ゾーニング実行部123は、相関関係情報から複数の構成要素の間の相関関係を表したマトリクスを生成し、行列演算などにより複数の構成要素をゾーニングしてもよい。
【0029】
HAZOP情報解析アルゴリズム学習部124は、HAZOP情報解析アルゴリズム132を学習する。HAZOP情報解析アルゴリズム132は、HAZOP情報に含まれる構成要素の名称、機能、動作、異常や故障などの態様や程度などを表現する名詞、動詞、形容詞、形容動詞などを格納した辞書を使用してHAZOP情報を解析してもよい。この場合、HAZOP情報解析アルゴリズム学習部124は、過去に取得したHAZOP情報を学習データとして辞書を学習してもよい。
【0030】
相関関係情報生成アルゴリズム学習部125は、相関関係情報生成アルゴリズム133を学習する。相関関係情報生成アルゴリズム133は、HAZOP情報解析アルゴリズム132により抽出されたテキスト情報から、複数の構成要素の間の相関関係を表す表現を分析し、相関関係情報を生成してもよい。この場合、相関関係情報生成アルゴリズム学習部125は、過去に取得したHAZOP情報から抽出されたテキスト情報と複数の構成要素の間の相関関係情報を学習データとして相関関係情報生成アルゴリズム133を機械学習してもよい。
【0031】
図3は、プラント3を構成する複数の構成要素の相関関係の例を示す。
図3(a)は、構成要素A、B、C、Dに異常が生じた場合に、その影響を受ける構成要素を「1」で、その影響を受けない構成要素を「0」で表したマトリクスを示す。
図3(a)の例では、構成要素Aの異常の影響は構成要素Cに波及し、構成要素Bの異常の影響は構成要素Dに波及する。
図3(b)は、ゾーニング実行部123によるゾーニングの例を示す。ゾーニング実行部123は、相関関係を有する構成要素AとC、及び構成要素BとDを異なるゾーンに分け、互いに影響を及ぼさない構成要素AとB、及び構成要素CとDが同じゾーンになるように構成要素をゾーニングする。これにより、構成要素A又はBがサイバー攻撃を受けた場合に、構成要素A及びBを含むゾーンを、構成要素C及びDを含むゾーンから隔離することにより、構成要素A又はBに生じた異常の影響が構成要素C又はDへ伝播するのを防ぐことができる。
【0032】
図3には、説明の便宜上、簡略化された例を示しているが、現実のプラント3においては、多数の構成要素が複雑な相関関係を有している。このような場合であっても、既知の任意の技術により、複数の構成要素を適切にゾーニングすることができる。相関関係情報は、それぞれの構成要素の制御上の重要度、各構成要素間の相関関係の程度、条件などを含んでもよい。
【0033】
このようにして複数の構成要素が適切にゾーニングされた後、それぞれのゾーンの詳細な構成が設計される。それぞれのゾーンは、物理的に区画されてもよいし、ネットワーク上で論理的に区画されてもよい。ゾーンの境界には、ゾーン間の通信を遮断するための構成が設けられる。ゾーンの境界に、炎、煙、漏洩ガス、爆風、飛散物などを物理的に遮断するための構成が設けられてもよい。
【0034】
つづいて、プラント設計装置100により設計されたプラント3の運転中に、プラント管理装置30によりプラント3に対するサイバー攻撃を検知してオペレータに報知し、オペレータが対応策を検討するために必要な情報を提示する技術について説明する。
【0035】
プラント3の構成要素がサイバー攻撃を受けた場合、プラント3の構成要素の状態量や制御量などの運転データと、プラント3の構成要素間や構成要素と外部ネットワークとの間で送受信される通信データとが、正常時とは異なる挙動を示す。したがって、本実施の形態のプラント管理装置30は、プラント3が正常に運転されたときにプラント3から取得された運転データと通信データをクラスタリングすることにより学習されたサイバー攻撃検知アルゴリズムを使用してサイバー攻撃を検知する。
【0036】
図4は、プラント3の運転データと通信データをクラスタリングした例を示す。
図4(a)は、プラント3が正常に運転されたときにプラント3から取得されたプラント3の運転データをクラスタリングした例を示す。領域70aは、平常運転時の運転データのクラスタに対応し、領域71aは、スタートアップ時の運転データのクラスタに対応し、領域72aは、シャットダウン時の運転データのクラスタに対応する。
図4(b)は、プラント3が正常に運転されたときの通信データをクラスタリングした例を示す。領域70bは、平常運転時の通信データのクラスタに対応し、領域71bは、スタートアップ時の通信データのクラスタに対応し、領域72bは、シャットダウン時の通信データのクラスタに対応する。
【0037】
プラント3がサイバー攻撃を受けた場合、プラント3から取得される運転データ及び通信データは、
図4(c)及び
図4(d)に示すように、プラント3が正常に運転されたときに取得された運転データ及び通信データのクラスタに対応する領域から外れる。このとき、プラント管理装置30は、プラント3がサイバー攻撃を受けていることを検知する。
【0038】
プラント管理装置30は、運転データと通信データの双方が異常である場合に、サイバー攻撃を検知してもよい。運転データが正常であり、通信データのみが異常である場合は、通信機器の故障などによる通信障害が発生していると判定してもよい。通信データが正常であり、運転データのみが異常である場合は、サイバー攻撃以外の要因により運転状態に異常が発生していると判定してもよい。ハッカーが運転データ又は通信データを偽装している可能性もあるので、プラント管理装置30は、運転データと通信データの少なくとも一方が異常である場合に、サイバー攻撃を検知してもよい。
【0039】
プラント管理装置30がサイバー攻撃を検知したとき、プラント管理装置30は、オペレータが対応策を検討するための情報として、サイバー攻撃が重要要素に及ぼす影響の重要度及び緊急度を表す指標を算出して提示する。影響の重要度及び緊急度を表す指標を算出するためのアルゴリズムは、学習装置4により学習される。
【0040】
図5は、実施の形態に係る学習装置の構成を示す。学習装置4は、サイバー攻撃検知アルゴリズム学習ユニット60、実績値取得部41、推定アルゴリズム学習ユニット50、指標評価取得部44、指標算出アルゴリズム学習ユニット51、及び提供部49を備える。これらの構成は、ハードウエアコンポーネントでいえば、任意のコンピュータのCPU、メモリ、メモリにロードされたプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。
【0041】
サイバー攻撃検知アルゴリズム学習ユニット60は、運転データ取得部61、通信データ取得部62、クラスタリング実行部63、及びサイバー攻撃検知アルゴリズム64を含む。運転データ取得部61は、プラント3が正常に運転されたときのプラント3の運転に関する運転データを取得する。通信データ取得部62は、プラント3が正常に運転されたときのプラント3の通信に関する通信データを取得する。
【0042】
サイバー攻撃検知アルゴリズム64は、プラント3の運転中に取得される運転データ及び通信データからプラント3に対するサイバー攻撃を検知するために使用される。サイバー攻撃検知アルゴリズム64は、プラント3の運転中に取得される運転データ及び通信データを、プラント3が正常に運転されたときに取得された運転データ及び通信データの特徴と比較することにより、サイバー攻撃の有無を判定してもよい。サイバー攻撃検知アルゴリズム64は、運転データ及び通信データから、正常時と異常時で値が異なる特徴量を算出してもよい。
【0043】
クラスタリング実行部63は、運転データ取得部61により取得された運転データと、通信データ取得部62により取得された通信データをクラスタリングし、サイバー攻撃検知アルゴリズムを学習する。クラスタリング実行部63は、サイバー攻撃検知アルゴリズム64を用いて運転データ及び通信データから算出される特徴量がプラント3の運転状態に応じて異なるクラスタに分類されるように、サイバー攻撃検知アルゴリズム64を学習する。クラスタリング実行部63は、例えば、特徴選択、特徴抽出で使用されるオートエンコーダや、t分布型確率的近傍埋め込み法などの手法により、多次元の情報を次元圧縮・削減しても特徴量は保持されるような特徴量算出器を学習する。
【0044】
サイバー攻撃検知アルゴリズム64は、プラント3が運転されているときに取得可能な情報を、プラント3の運転状態に応じてクラス分類又はクラスタリングするための任意の手法により学習されてもよい。サイバー攻撃検知アルゴリズム64は、教師あり学習により学習されてもよいし、教師なし学習により学習されてもよい。
【0045】
推定アルゴリズム学習ユニット50は、重要要素の停止又は故障の要因となりうる複数の状態量のそれぞれの予測値を算出するための複数の推定アルゴリズム43a、43b、・・・と、複数の推定アルゴリズム43a、43b、・・・(以下、「推定アルゴリズム43」と総称する)のそれぞれを学習する複数の推定アルゴリズム学習部42a、42b、・・・(以下、「推定アルゴリズム学習部42」と総称する)を含む。
【0046】
重要要素の停止又は故障の要因となりうる状態量は、プラント設計装置100により生成されたフォルトツリーに基づいて特定される。プラント設計装置100は、上位事象である重要要素の停止又は故障の要因となりうる下位事象の発生原因、発生経路、及び発生確率に基づいて、監視すべき複数の状態量を決定する。推定アルゴリズム学習ユニット50は、プラント設計装置100により決定された監視すべき複数の状態量の予測値を算出するための推定アルゴリズム43を学習する。
【0047】
推定アルゴリズム43は、プラント3の状態を示す複数の状態値のそれぞれに基づいて、将来の所定の時点におけるそれぞれの状態値の予測値を推定するために使用される。予測値の算出の対象となる将来の所定の時点は、プラント3を構成する構成要素の種類、プロセスの種類、状態量の変化率、制御量の値の変更により状態量の値が変化する速度などによって決定されればよいが、例えば、数秒後から数分後程度であってもよい。
【0048】
実績値取得部41は、複数の状態値と複数の制御量の設定値のそれぞれの過去の実績値をプラント3から取得する。
【0049】
推定アルゴリズム学習部42は、実績値取得部41により取得された複数の状態値と複数の制御量の設定値のそれぞれの過去の実績値に基づいて、機械学習により推定アルゴリズム43を学習する。推定アルゴリズム学習部42は、ある時点における複数の状態値及び複数の操作量の設定値の実績値を推定アルゴリズム43に入力したときに、その時点から所定時間が経過した時点における複数の状態値の実績値に近い値が算出されるように、推定アルゴリズム43を学習する。推定アルゴリズム学習部42は、実績値取得部41により取得された過去の実績値を教師データとした教師あり学習により推定アルゴリズム43を学習してもよいし、その他の既知の任意の機械学習技術により推定アルゴリズム43を学習してもよい。
【0050】
多数の実績値を用いて推定アルゴリズム43を学習させることにより、推定アルゴリズム43の精度を向上させることができるので、より精確にプラント3の状態を示す状態値の予測値を算出することが可能な推定アルゴリズム43を生成することができる。また、複雑なプロセスを再現するための高度なシミュレータを開発する必要がないので、推定アルゴリズム43を生成するのに要する時間及び負荷を大幅に低減させることができる。また、シミュレータでは再現が困難であるような要素も加味することができるので、より精確に出力の予測値を算出することができる。
【0051】
指標算出アルゴリズムは、所定の時点又は所定の時点よりも後の時点におけるそれぞれの状態値の予測値と所定の時点における実際の状態値との間の差又は差の変化率に基づいて、重要要素の運転挙動に与える影響の大きさ及び緊急性を表す指標を算出するために使用される。指標算出アルゴリズムにおいて、監視すべき複数の状態量の発生確率、上位事象への発生経路、上位事象である重要因子が重要要素の運転挙動に与える影響の大きさなどに応じて、それぞれの状態量の過去の挙動との差又は差の変化率に重みが付される。指標は、重要要素に与える影響の大きさを示す重要度と、重要要素に与える影響の緊急性を示す緊急度を含む。重要度には、主に、それぞれの状態値の予測値と実際の状態値との間の差及び差の変化率の大きさが反映され、緊急度には、主に、それぞれの状態値の現時点の予測値と現時点の実際の状態値との差の変化率の大きさや、それぞれの状態値の将来の予測値と現時点の実際の状態値との差又は差の変化率が反映される。
【0052】
指標評価取得部44は、それぞれの状態値について算出された予測値と実際の状態値の実績値の履歴と、重要要素の運転挙動の評価を取得する。重要要素の運転挙動の評価は、状態値の履歴などから算出されてもよいし、オペレータにより入力されてもよい。指標評価取得部44は、それぞれの状態値について算出された予測値と実際の状態値の実績値の履歴と、重要度算出アルゴリズム46及び緊急度算出アルゴリズム48により算出された指標に対する評価を取得してもよい。指標に対する評価は、オペレータが評価した結果であってもよい。
【0053】
指標算出アルゴリズム学習ユニット51は、重要要素に与える影響の大きさを示す重要度を算出するための重要度算出アルゴリズム46、重要度算出アルゴリズム46を学習する重要度算出アルゴリズム学習部45、重要要素に与える影響の緊急性を示す緊急度を算出するための緊急度算出アルゴリズム48、緊急度算出アルゴリズム48を学習する緊急度算出アルゴリズム学習部47を含む。
【0054】
重要度算出アルゴリズム学習部45及び緊急度算出アルゴリズム学習部47は、指標評価取得部44により取得された予測値と状態値の実績値の履歴と、重要要素の運転挙動の評価に基づいて、重要度算出アルゴリズム46及び緊急度算出アルゴリズム48をそれぞれ学習する。重要度算出アルゴリズム学習部45及び緊急度算出アルゴリズム学習部47は、指標評価取得部44により取得された予測値及び実績値の履歴と、重要要素の運転挙動の評価に基づいて、ある時点又はその後の時点における予測値と状態値との間の差又は差の変化率を重要度算出アルゴリズム46及び緊急度算出アルゴリズム48に代入することにより算出される指標が、重要要素の運転挙動に与える影響の重要度及び緊急度を正しく評価するものであったか否かを、その後の重要要素の運転挙動の評価から判定する。重要度算出アルゴリズム学習部45及び緊急度算出アルゴリズム学習部47は、その後の重要要素の運転挙動が所定よりも悪い評価であった場合は、より悪い値の指標が算出されるように重要度算出アルゴリズム46及び緊急度算出アルゴリズム48を学習し、その後の重要要素の運転挙動が所定よりも良い評価であった場合は、より良い値の指標が算出されるように重要度算出アルゴリズム46及び緊急度算出アルゴリズム48を学習する。このように、重要度算出アルゴリズム学習部45及び緊急度算出アルゴリズム学習部47は、指標評価取得部44により取得された重要要素の運転挙動の評価を教師データとした教師あり学習により重要度算出アルゴリズム46及び緊急度算出アルゴリズム48を学習してもよいし、その他の既知の任意の機械学習技術により重要度算出アルゴリズム46及び緊急度算出アルゴリズム48を学習してもよい。
【0055】
指標評価取得部44は、オペレータが重要度算出アルゴリズム46及び緊急度算出アルゴリズム48によらずに自ら算出又は評価した指標の値を教師データとして取得してもよい。この場合、重要度算出アルゴリズム学習部45及び緊急度算出アルゴリズム学習部47は、ある時点又はその後の時点における予測値と状態値との間の差又は差の変化率を重要度算出アルゴリズム46及び緊急度算出アルゴリズム48に入力したときに、指標評価取得部44により取得された指標の値が算出されるように、重要度算出アルゴリズム46及び緊急度算出アルゴリズム48を学習する。
【0056】
提供部49は、サイバー攻撃検知アルゴリズム学習ユニット60により学習されたサイバー攻撃検知アルゴリズム64と、推定アルゴリズム学習部42により学習された推定アルゴリズム43と、重要度算出アルゴリズム学習部45及び緊急度算出アルゴリズム学習部47により学習された重要度算出アルゴリズム46及び緊急度算出アルゴリズム48をプラント管理装置30に提供する。
【0057】
重要要素が停止してしまうような事象はめったに発生しないので、そのような事象の過去の実績に基づいて、そのような事象が発生したときのプラント3の挙動を学習することは困難であるが、本実施の形態では、過去の運転実績と現在の運転状態の差から重要要素の運転挙動に与える影響の大きさを指標化するので、重要要素が停止した実績がなくても、重要要素が停止しうる状態を的確に検出することが可能な人工知能を提供することができる。
【0058】
本図においては、説明の簡略化のため、学習装置4を単独の装置として示しているが、学習装置4は、クラウドコンピューティング技術や分散処理技術などを利用して、複数のサーバにより実現されてもよい。これにより、プラント3から収集した大量の情報を高速に処理してサイバー攻撃検知アルゴリズム64、推定アルゴリズム43、重要度算出アルゴリズム46、及び緊急度算出アルゴリズム48を学習させることができるので、サイバー攻撃検知アルゴリズム64、推定アルゴリズム43、重要度算出アルゴリズム46、及び緊急度算出アルゴリズム48の精度を向上させるために要する時間を大幅に短縮することができる。
【0059】
図6は、実施の形態に係るプラント管理装置30及び制御装置20の構成を示す。制御装置20は、制御部21、操作パネル22、及び実績値記憶部29を備える。
【0060】
操作パネル22は、プラント3の運転状態を示す各種の状態値と、制御装置20により設定された各種の操作量の設定値と、プラント3の運転結果を示す出力の値などを表示装置に表示するとともに、各種の操作量の設定値の入力をオペレータから受け付ける。
【0061】
制御部21は、操作量設定部23、状態値取得部24、状態値送信部25、実績値送信部26、指標評価取得部27、及び指標評価送信部28を備える。これらの機能ブロックも、ハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できる。
【0062】
操作量設定部23は、操作パネル22によりオペレータから受け付けた各種の操作量の設定値を設定し、制御対象装置10を制御するとともに、操作パネル22の表示装置に表示する。状態値取得部24は、制御対象装置10などに設けられた各種のセンサや測定器などから、プラント3の運転状態及び運転結果を示す各種の状態値を取得し、操作パネル22の表示装置に表示するとともに、実績値記憶部29に記録する。状態値送信部25は、状態値取得部24により取得された状態値をプラント管理装置30に送信する。実績値送信部26は、操作量設定部23により設定された操作量の値と、実績値記憶部29に記憶された状態値を、学習装置4に送信する。
【0063】
指標評価取得部27は、操作パネル22に表示された指標に対する評価をオペレータから取得する。指標評価取得部27は、操作パネル22に表示された指標が大き過ぎる、又は小さ過ぎることを示す評価をオペレータから取得してもよいし、操作パネル22に表示された指標の修正値をオペレータから取得してもよい。指標評価送信部28は、指標評価取得部27がオペレータから取得した指標に対する評価を学習装置4に送信する。指標に対する評価は、前述したように、学習装置4において重要度算出アルゴリズム46及び緊急度算出アルゴリズム48を学習するために使用される。
【0064】
プラント管理装置30は、制御部31、推定アルゴリズム43、重要度算出アルゴリズム46、緊急度算出アルゴリズム48、及びサイバー攻撃検知アルゴリズム64を備える。
【0065】
制御部31は、状態値取得部32、予測部33a、33b、・・・(以下、「予測部33」と総称する)、指標算出部34、報知部37、表示部38、学習部39、サイバー攻撃検知部65、運転データ取得部66、及び通信データ取得部67を備える。これらの機能ブロックも、ハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できる。
【0066】
サイバー攻撃検知アルゴリズム64、推定アルゴリズム43、重要度算出アルゴリズム46、及び緊急度算出アルゴリズム48は、学習装置4から取得され、記憶装置に格納される。
【0067】
運転データ取得部66は、プラント3の運転データを取得する。運転データは、制御装置20の状態値送信部25から取得される状態値であってもよいし、操作量設定部23により設定された操作量の設定値であってもよいし、プラント3に設置された各種のセンサや構成要素から取得可能な任意のデータであってもよい。
【0068】
通信データ取得部67は、プラント3の内部のネットワークで送受信される通信データ、又はプラント3の外部のネットワークとプラント3の内部のネットワークの間で送受信される通信データなどに関するデータを取得する。
【0069】
サイバー攻撃検知部65は、サイバー攻撃検知アルゴリズム64を使用し、運転データ取得部66により取得された運転データ、及び通信データ取得部67により取得された通信データに基づいて、プラント3に対するサイバー攻撃を検知する。サイバー攻撃検知部65は、サイバー攻撃が検知された場合、その旨を報知部37からオペレータに報知する。
【0070】
状態値取得部32は、制御装置20の状態値送信部25から、複数の状態値を取得する。予測部33は、推定アルゴリズム43を使用して、状態値取得部32により取得された複数の状態値から将来の所定の時点におけるそれぞれの状態量の予測値を算出し、記憶装置に格納する。
【0071】
指標算出部34は、重要度算出部35及び緊急度算出部36を含む。重要度算出部35及び緊急度算出部36は、状態値取得部32により取得された状態値と、予測部33により算出されて記憶装置に格納されていた状態値の予測値との差又は差の変化率を算出し、重要度算出アルゴリズム46及び緊急度算出アルゴリズム48を使用して、重要度及び緊急度を示す指標を算出する。
【0072】
報知部37は、指標算出部34により算出された指標が所定の条件に合致した場合に、その旨を報知する。報知部37は、プラント3の運転中、常時算出された指標を操作パネル22に表示してオペレータに報知してもよいし、指標が所定の値よりも悪い値であった場合に、その旨を操作パネル22に表示してオペレータに報知してもよい。これにより、重要要素に影響を及ぼしうる状態が発生していることをオペレータに報知することができる。
【0073】
表示部38は、指標算出部34により算出された重要度と緊急度を縦軸及び横軸に取ってプロットしたマトリクスを操作パネル22に表示する。これにより、現在の状態が重要要素に与える影響の重要度と緊急度を視覚的に理解しやすい態様でオペレータに提示することができる。表示部38は、複数の状態値のそれぞれについて算出された予測値と状態値との間の差又は差の変化率をそれぞれ操作パネル22に表示する。これにより、重要要素に影響を与えうる複数の状態値のうち、いずれの状態値が異常を示しているのか、及び、その状態値の異常の程度をオペレータに提示することができるので、オペレータが操作量の設定値を変更するために参照すべき情報を適切に提供することができる。
【0074】
学習部39は、サイバー攻撃検知アルゴリズム64、推定アルゴリズム43、重要度算出アルゴリズム46、又は緊急度算出アルゴリズム48を学習する。学習部39は、学習装置4のサイバー攻撃検知アルゴリズム学習ユニット60、推定アルゴリズム学習部42、重要度算出アルゴリズム学習部45、又は緊急度算出アルゴリズム学習部47と同様の方法によりサイバー攻撃検知アルゴリズム64、推定アルゴリズム43、重要度算出アルゴリズム学習部45、又は緊急度算出アルゴリズム学習部47を再学習してもよい。学習装置4においてサイバー攻撃検知アルゴリズム64、推定アルゴリズム43、重要度算出アルゴリズム46、又は緊急度算出アルゴリズム48を再学習する場合には、学習部39は設けられなくてもよい。
【0075】
図7は、操作パネルの表示装置に表示される表示画面の例を示す。表示画面には、プラント3のプロセスフロー図と、複数の状態値と、それらの状態値の所定時間後の予測値と、重要度及び緊急度をプロットしたマトリクスと、状態値の推移が表示されている。プロセスフロー図には、複数の構成要素のそれぞれが属するゾーンが表示されている。オペレータは、提示された情報を参考にして、操作量の設定値を決定し、操作パネル22に入力する。操作量設定部23は、入力された設定値に基づいて制御対象装置10を制御する。
【0076】
指標算出部34は、所定の間隔で指標を算出し、表示部38は、所定の間隔で算出された指標の重要度と緊急度をマトリクスにプロットする。すなわち、重要度と緊急度のマトリクスは、リアルタイムに更新され、その時点でのプラント3の状態を示す。本実施の形態のマトリクス表示と、状態値及び予測値の推移は、操作パネル22に常時表示されるので、オペレータは、異常が発生した場合であっても、その変更によるマトリクス表示と、状態値及び予測値の推移の変化をリアルタイムに確認しながら、操作量の設定値を変更してプラント3の運転状態を調整することができる。
【0077】
サイバー攻撃検知部65は、サイバー攻撃を検知した場合、その旨を操作パネル22に表示させる。オペレータは、サイバー攻撃による影響の重要度と緊急度をマトリクスから的確に把握することができるので、ゾーンの隔離、手動操作への切替、運転継続、運転停止などの対応策を迅速に検討して実行することができる。
【0078】
サイバー攻撃検知部65は、サイバー攻撃を検知した場合、サイバー攻撃されたゾーンの隔離、手動操作への切替、運転停止などの対応策を自動的に判定し、判定された対応策を自動的に実行してもよい。この場合、サイバー攻撃検知部65は、指標算出部34により算出された指標に応じて、対応策を自動的に判定してもよい。例えば、重要度及び緊急度の値の範囲と対応策の内容とが予め対応付けられていてもよい。これにより、プラント3がサイバー攻撃を受けた場合に、より迅速に的確な対応策を講じることができるので、被害を抑えることができる。
【0079】
図8は、実施の形態に係るプラント管理方法の手順を示すフローチャートである。本図は、プラント3を設計する際の手順を示す。プラント設計装置100のHAZOP情報取得部121は、プラント3を構成する複数の構成要素を対象として実施されたHAZOPにおいて生成又は記録された情報を取得する(S10)。相関関係情報生成部122は、HAZOP情報を解析することにより、プラント3を構成する複数の構成要素の間の相関関係を表す相関関係情報を生成する(S12)。ゾーニング実行部123は、相関関係情報生成部122により生成された相関関係情報に基づいて、プラント3を構成する複数の構成要素をゾーニングする(S14)。プラント設計装置100は、各ゾーンの詳細を設計する(S16)。
【0080】
プラント設計装置100は、HAZOP情報から生成されたフォルトツリーに基づいて、重要要素を特定し(S18)、重要要素の停止又は故障の要因となりうる状態量を監視対象状態量として特定する(S20)。
【0081】
学習装置4の推定アルゴリズム学習部42は、監視対象状態量の予測値を推定するための推定アルゴリズム43を学習する(S22)。重要度算出アルゴリズム学習部45は、重要度算出アルゴリズム46を学習する(S24)。緊急度算出アルゴリズム学習部47は、緊急度算出アルゴリズム48を学習する(S26)。サイバー攻撃検知アルゴリズム学習ユニット60は、サイバー攻撃検知アルゴリズム64を学習する(S28)。
【0082】
図9は、実施の形態に係るプラント管理方法の手順を示すフローチャートである。本図は、プラント3の運転を管理する手順を示す。プラント管理装置30の運転データ取得部66は、プラント3の運転データを取得する(S30)。通信データ取得部67は、プラント3の内部のネットワークで送受信される通信データ、又はプラント3の外部のネットワークとプラント3の内部のネットワークの間で送受信される通信データなどに関するデータを取得する(S32)。サイバー攻撃検知部65は、サイバー攻撃検知アルゴリズム64を使用し、運転データ取得部66により取得された運転データ、及び通信データ取得部67により取得された通信データに基づいて、プラント3に対するサイバー攻撃を検知する(S34)。
【0083】
状態値取得部32は、複数の監視対象状態量の状態値を取得する(S36)。予測部33は、推定アルゴリズム43を使用して、状態値取得部32により取得された複数の状態値から将来の所定の時点におけるそれぞれの状態量の予測値を算出する(S38)。重要度算出部35及び緊急度算出部36は、状態値取得部32により取得された状態値と、予測部33により算出された予測値との差又は差の変化率を算出し、重要度算出アルゴリズム46及び緊急度算出アルゴリズム48を使用して、重要度及び緊急度を示す指標を算出する(S40、S42)。表示部38は、算出された重要度と緊急度を縦軸及び横軸に取ってプロットしたマトリクスを操作パネル22に表示する(S44)。
【0084】
以上、本開示を、実施例に基づいて説明した。この実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本開示の範囲にあることは当業者に理解されるところである。
【0085】
本発明の技術は、連続工程のプラントにも、バッチ工程のプラントにも適用可能である。
プラント管理方法は、複数の構成要素により構成されるプラントがサイバー攻撃を受けた場合におけるサイバー攻撃を受けた構成要素とその影響を受けうる構成要素との間の相関関係を示す相関関係情報を取得するステップ(S12)と、相関関係情報に基づいて複数の構成要素をゾーニングするステップ(S14)と、を備える。