(57)【要約】【課題】システムの異常に対して迅速かつ正確に対処することが可能な異常要因判定装置を提供する。【解決手段】一実施形態によれば、異常要因判定装置は、ネットワークを介して伝送されるネットワークデータを用いて機器を制御する制御装置を含む制御システム内に設けられている。この異常要因判定装置は、制御装置の動作状態を示す制御ステートを含む制御ステートデータを保存する保存部と、ネットワークデータを分析する際に、保存部に保存された制御ステートデータに基づいて、制御システムで発生した異常の要因を、ネットワークを介した攻撃であるか、または機器の故障であるかを判別する分析部と、を備える。【選択図】図１
2019205125.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して伝送されるネットワークデータを用いて機器を制御する制御装置を含む制御システム内に設けられた異常要因判定装置であって、
前記制御装置の動作状態を示す制御ステートを含む制御ステートデータを保存する保存部と、
前記ネットワークデータを分析する際に、前記保存部に保存された前記制御ステートデータに基づいて、前記制御システムで発生した異常の要因を、前記ネットワークを介した攻撃であるか、または前記機器の故障であるかを判別する分析部と、
を備える異常要因判定装置。
【請求項２】
ネットワークを介して伝送されるネットワークデータを用いて機器を制御する制御装置と、前記制御装置を前記ネットワークに接続するネットワークスイッチと、前記ネットワークスイッチに接続された異常要因判定装置と、を備える制御システムであって、
前記異常要因判定装置は、
前記制御装置の動作状態を示す制御ステートを含む制御ステートデータを保存する保存部と、
前記ネットワークデータを分析する際に、前記保存部に保存された前記制御ステートデータに基づいて、前記制御システムで発生した異常の要因を、前記ネットワークを介した攻撃であるか、または前記機器の故障であるかを判別する分析部と、を有する、制御システム。
【請求項３】
前記ネットワークスイッチは、前記分析部の分析結果に応じて、前記ネットワークへの接続に関する処置を実行する、請求項２に記載の制御システム。
【請求項４】
前記制御装置は、前記制御ステートを定常的に前記異常要因判定装置へ送信する、請求項２または３に記載の制御システム。
【請求項５】
前記制御装置から取得した前記制御ステートを前記異常要因判定装置へ送信する集約サーバを備える、請求項２または３に記載の制御システム。
【請求項６】
ネットワークを介して伝送されるネットワークデータを用いて機器を制御する制御装置を含む制御システムの異常要因判定方法であって、
前記制御装置の動作状態を示す制御ステートを含む制御ステートデータを保存し、
前記ネットワークデータを分析する際に、保存された前記制御ステートデータに基づいて、前記制御システムで発生した異常の要因を、前記ネットワークを介した攻撃であるか、または前記機器の故障であるかを判別する、異常要因判定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、異常要因判定装置、制御システム、および異常要因判定方法に関する。
【背景技術】
【０００２】
近年、ＦＡ(Factory Automation)等の分野における制御装置（制御システム）は、汎用技術、標準技術の採用、オープンネットワークへの接続に伴い、コンピュータウイルスや不正アクセスなどのサイバー攻撃に備えるセキュリティ対策が必須となっている。
【０００３】
セキュリティ対策の一つとして、システムのネットワークを監視しネットワークへの侵入を検知する侵入検知システム（IDS: Intrusion Detection System）が存在する。これはシステム外部からの不正アクセスやシステム内部のマルウェア感染など、サイバー攻撃によるシステムの異常を検知するもので、主にＩＴ（Information Technology）系システムで広く利用されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−１６９７３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
制御システムは、異常を検知した場合に、その異常が攻撃によるものか、故障によるものかで取るべき対応は異なる。例えば、攻撃によるものであれば攻撃源のみを遮断し、故障によるものであれば安全を優先するため、システムを停止させるなど、対応が異なる。
【０００６】
しかし、従来の装置は、上記２種類の異常のうち、いずれか一方のみを検知することを前提としているので、異常の要因を特定できない。そのため、制御システムで異常が発生した場合、異常への対処に多くの時間を要することが予想される。また、異常の要因を正しく判定できないと、取るべき対策が的外れになり、却って事態を悪化させるおそれがある。
【０００７】
本発明の実施形態は、システムの異常に対して迅速かつ正確に対処することが可能な異常要因判定装置、制御システム、および異常要因判定方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
一実施形態によれば、異常要因判定装置は、ネットワークを介して伝送されるネットワークデータを用いて機器を制御する制御装置を含む制御システム内に設けられている。この異常要因判定装置は、制御装置の動作状態を示す制御ステートを含む制御ステートデータを保存する保存部と、ネットワークデータを分析する際に、保存部に保存された制御ステートデータに基づいて、制御システムで発生した異常の要因を、ネットワークを介した攻撃であるか、または機器の故障であるかを判別する分析部と、を備える。
【発明の効果】
【０００９】
本実施形態によれば、システムの異常に対して迅速かつ正確に対処することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】第１実施形態に係る制御システムの構成を示すブロック図である。
【図２】制御ステートデータの一例を示す図である。
【図３】第１実施形態の異常要因判定の処理フローを示したフローチャートである。
【図４】第２実施形態に係る制御システムの構成を示すブロック図である。
【図５】第２実施形態の異常要因判定の処理フローを示したフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態を図面を参照して説明する。本実施形態は、本発明を限定するものではない。
【００１２】
（第１実施形態）
図１は、第１実施形態に係る制御システムの構成を示すブロック図である。図１に示す制御システム１は、制御装置１１と、ＨＭＩ（Human Machine Interface）１２と、ネットワークスイッチ１３と、異常要因判定装置１４と、を備える。なお、制御システム１には、制御装置１１およびＨＭＩ１２が複数設けられていてもよいし、これらがネットワークスイッチ１３を用いずに直接的に接続される構成であってもよい。
【００１３】
制御装置１１は、ネットワークを介して伝送されるネットワークデータを用いてプラントやＦＡ等に設置された機器を制御する。制御装置１１は、コントローラ１１１と、センサ１１２と、アクチュエータ１１３と、を有する。コントローラ１１１は、例えばＰＬＣ（Programmable Logic Controller）で構成されている。センサ１１２は、制御対象機器の状態や環境等をセンシングする。アクチュエータ１１３は、コントローラ１１１の制御に基づいて動作する。なお、制御装置１１の構成は、図１に示す構成に限定されず、自律動作する他、ＨＭＩ１２等のユーザ端末からの状態モニタリングや設定変更など、リモート制御も行うことができる構成であってよい。
【００１４】
また、制御装置１１は、予め設計された制御ステートに応じた動作を行う。制御装置１１は、例えば、「停止中」、「起動中」、「実行待ち」、「実行中」、「テスト中」、「プログラミング中」の６種の制御ステートを有する。ここで、「プログラミング中」には、制御プログラムの書き込みやダウンロードといった動作が含まれる。なお、制御ステートは、上記６種に限定されない。また、制御装置１１毎に異なる制御ステートが規定されていてもよい。本実施形態では、コントローラ１１１が、制御装置１１の現在の制御ステートを把握している。
【００１５】
制御装置１１は、上記制御ステートと実行中処理、次実行予定処理を制御ステート情報として制御装置１１の外部へ送信し、異常要因判定装置１４は、制御ステート情報を受信する。制御装置１１が、自身の周期処理毎に処理結果を上位装置へ送信する機能を有する場合、その通信機能を利用し、制御ステート情報を送信することができる。ここで、上位装置とは、制御装置１１よりもネットワークの上位に位置する装置であり、例えば、ＨＭＩ１２や異常要因判定装置１４が該当する。
【００１６】
制御装置１１は、上位装置への周期的な通信処理に制御ステート情報を含めることもできるし、この通信処理とは別のタイミングで送信することもできる。後者の場合、周期処理のタイミングに囚われず柔軟な制御ステート情報の送信が可能となる。
【００１７】
また、制御ステート情報は、制御装置１１から常に送信されるのではなく、特定のモード時のみ送信される構成であってもよい。例えば、制御システム１がテストモードと運用モードを有する場合、ＨＭＩ１２がテストモードであるか運用モードであるかを制御装置１１へ伝達する。この場合、制御装置１１はテストモード時に制御ステート情報を送信する。また、例えば、異常要因判定装置１４が機械学習を利用する場合、制御装置１１は、学習モードと判定モードとを有する。この場合、異常要因判定装置１４は、学習モードであるか判定モードであるかを制御装置１１へ通知する。このとき、制御ステート情報は、学習モード時に送信される。このように、制御装置１１の動作状態を示す制御ステートの露出を限定することで、ネットワークの盗聴による制御装置１１の内部情報の漏洩を軽減することが可能になる。
【００１８】
ＨＭＩ１２は、ネットワークスイッチ１３を介して各制御装置１１の状態を監視する。ネットワークスイッチ１３は、各制御装置１１をネットワークに接続する。本実施形態では、このネットワークは、Ｅｔｈｅｒｎｅｔ（登録商標）であるが、他の規格のネットワークであってもよい。また、ネットワークスイッチ１３はミラーポートを有し、このミラーポートに異常要因判定装置１４が接続される。これにより、異常要因判定装置１４は、ネットワークスイッチ１３を介して、制御システム１内を伝送する全てのネットワークデータを取得できる。
【００１９】
異常要因判定装置１４は、ネットワークデータを分析して異常検知と異常の要因判定処理ができればどのような構成でもよいが、例えば、図１に示すように、通信部１４１と、分析部１４２と、保存部１４３と、表示部１４４と、を有する。表示部１４４は、異常要因判定装置１４に外付けされてもよいし、ＨＭＩ１２等で遠隔表示するための機能であってもよい。また、異常要因判定装置１４の構成要素はハードウェアでもよいし、ソフトウェアとして実現されていてもよい。
【００２０】
通信部１４１は、制御システム１内の各コンポーネントと通信を行う。分析部１４２は、通信部１４１で受信したネットワークデータを分析し、分析結果に基づいて異常の検知および異常の要因判別を行う。保存部１４３は、分析部１４２によってネットワークデータから抽出された制御ステート情報を含む制御ステートデータを保存する。この制御ステートデータは、分析部１４２による異常検知および要因分析に使用される。保存部１４３は、ＨＤＤ（Hard Disk Drive）等の記憶装置でもよいし、ＤＲＡＭ（Dynamic Randam Access Memory）等の半導体メモリであってもよい。
【００２１】
図２は、制御ステートデータの一例を示す図である。図２に示す制御ステートデータ２００は、各制御装置１１の制御ステートを含むデータである。制御ステートデータ２００には、制御装置１１毎に、ＩＤ（Identification）、ＩＰ（Internet Protocol）アドレス、過去の制御ステート、現在の制御ステート、次に実行しようとしている処理情報が示されている。また、制御ステートデータ２００には、過去の制御ステートとして、前回の制御ステートと前々回の制御ステートが保存されている。
【００２２】
以下、図３を参照して、第１実施形態に係る異常要因判定装置１４による異常要因判定方法について説明する。図３は、異常要因判定の処理フローを示すフローチャートである。
【００２３】
異常要因判定装置１４では、まず、通信部１４１がネットワークデータを受信する（ステップＳ１１）。続いて、分析部１４２が、通信部１４１で受信されたネットワークデータの解析処理を実行する（ステップＳ１２）。ステップＳ２では、分析部１４２は、例えばネットワークデータから制御ステート情報を抽出する。続いて、分析部１４２は、抽出した制御ステート情報に基づいて、保存部１４３に保存されている制御ステートデータ２００を更新する（ステップＳ１３）。
【００２４】
次に、分析部１４２は、更新後の制御ステートデータ２００を用いて、受信したネットワークデータに対して、現在の制御ステートを考慮した異常検知および要因判定を行う（ステップＳ１４）。ステップＳ１４では、分析部１４２は、例えば以下のような判定を行う。
【００２５】
図２に示す制御ステートデータ２００によれば、ＩＤ２で識別される制御装置１１の制御ステートは、「停止中」であるので、この制御装置１１が起点となる通信は発生しないはずである。しかし、受信したネットワークデータの送信元が、この制御装置１１のＩＰアドレスであった場合、分析部１４２は、不正端末がこの制御装置１１に成りすましていると判定する。また、ＩＤ１で識別される制御装置１１は、「起動中」である。そのため、例えば、この制御装置１１に対してプログラムの書き換えを要求するような通信を検知した場合、分析部１４２は、不正な操作であると判定する。
【００２６】
なお、分析部１４２の判定処理は、制御システム１の仕様に基づいて予め判定ルールを作成して実現してもよいし、機械学習等の手法を利用して判定ルールを改定しながら実現してもよい。また、分析部１４２の判定処理は、上述した方法に限定されない。例えば、分析部１４２は、ネットワークデータに関して異常パターンとのマッチングや正常時との乖離度等を分析することで異常を検知し、異常を検知した場合、その要因が攻撃によるものか故障によるものかを判別してもよい。
【００２７】
分析部１４２による判定結果が異常であった場合（ステップＳ１５）、表示部１４４は判定結果を表示しユーザに注意を促す（ステップＳ１６）。表示内容には、判定結果とともに判定原因となる端末情報や対処法が含まれていてもよい。
【００２８】
また、ステップＳ１５で具体的な異常要因が判別できる場合、制御システム１が要因に応じた対応策を自動的に実行してもよい。例えば、異常要因が不正端末からの攻撃である場合には、ネットワークスイッチ１３が、分析部１４２の指示に基づいて、その不正端末からの通信を遮断したり、各制御装置１１に対して不正端末からの通信を無視したりするなどの処理を実行する。
【００２９】
また、異常要因が故障である場合、ネットワークスイッチ１３は、分析部１４２の指示に基づいて制御装置１１の接続を冗長構成の待機系に切り替える処理を実行する。例えば、図１に示す制御装置Ｂが、制御装置Ａの冗長として設けられている場合、制御装置Ａの故障に伴って、ネットワークスイッチ１３は、制御装置Ａのネットワークへの接続を切り離して制御装置Ｂのみをネットワークに接続させる。
【００３０】
上記のように、ネットワークスイッチ１３が、分析部１４２の分析結果に応じて、ネットワークへの接続に関する処置を実行することによって、異常要因に応じた対応策が自動的に実行される。
【００３１】
以上説明した本実施形態によれば、制御システム１内に異常要因判定装置１４を設けることで異常検知と要因判定を実施し、要因が攻撃によるものか、故障によるものかといった判定結果を出力できる。そのため、ユーザが異常の要因や故障箇所を把握することができるので、異常要因判定結果に基づいて対策の自動化をすることも可能となる。また、異常要因判定装置１４は、各制御装置１１の制御ステート情報を利用しているので、精度良く異常検知、要因判定を行うことが可能となる。
【００３２】
（第２実施形態）
以下、第２実施形態について、第１実施形態と異なる点を中心に説明する。図４は、第２実施形態に係る制御システムの構成を示すブロック図である。図４に示す制御システム２は、制御システム１の構成要素に加えて、各制御装置１１を統括する集約サーバ１５を備える点で第１実施形態と異なる。
【００３３】
集約サーバ１５は、制御装置１１とネットワークスイッチ１３を介して接続されている。ただし、集約サーバ１５は、制御装置１１と直接接続されていてもよい。集約サーバ１５は、例えば、制御装置１１のパラメータ書き換えや制御指示を与えたり、各制御装置１１から周期的に送信される処理結果を受信したりするといった、制御装置１１の監視と制御を行う。また、集約サーバ１５は、制御システム２の現場側ゲートウェイとして遠隔地に配置されたＨＭＩ１２からの通信を中継する機能などを有する。本実施形態では、異常要因判定装置１４は、集約サーバ１５に内包される構成であってもよい。
【００３４】
集約サーバ１５は、各制御装置１１の動作状態を把握しているので、各制御装置１１の制御ステートを保有している。集約サーバ１５は、この制御ステートを、自発的にまたは異常要因判定装置１４の要求に基づいて送信する。異常要因判定装置１４は、集約サーバ１５から制御ステートを受信して、第１実施形態と同様に異常検知と要因判定を実施する。
【００３５】
また、集約サーバ１５は、制御装置１１と比較してＣＰＵ（Central Processing Unit）処理能力が高く、機器認証やセキュア通信などの一般的な情報セキュリティ機能を組み込むことができる。そのため、集約サーバ１５と異常要因判定装置１４との通信路を暗号化することで、ステート情報とデータの漏洩を防ぐことも可能である。集約サーバ１５に異常要因判定装置１４を内包する構成の場合には、上記通信路の盗聴対策を実現することができる。
【００３６】
以下、図５を参照して、第２実施形態に係る異常要因判定装置１４による異常要因判定方法について説明する。図５は、異常要因判定方法の処理フローを示すフローチャートである。図５に示すように、異常要因判定装置１４は、制御ステートデータ２００の更新処理と、異常検知および要因判定処理とをそれぞれ独立して非同期的に実行する。
【００３７】
まず、制御ステートデータ２００の更新処理について説明する。ここでは、集約サーバ１５が自発的に各制御装置１１の制御ステートを送信する場合について説明する。この場合、異常要因判定装置１４は、制御ステートの受信を待つ状態となっている（ステップＳ２１）。その後、通信部１４１が集約サーバ１５から制御ステートを受信すると（ステップＳ２２）、分析部１４２は、保存部１４３に保存されている制御ステートデータ２００を更新する（ステップＳ２３）。その後、ステップＳ２１に戻って、異常要因判定装置１４は、制御ステートの受信を待つ状態に戻る。
【００３８】
次に、異常検知および要因判定処理について説明する。上記ステップＳ２１〜Ｓ２３の動作が繰り返されている際に、通信部１４１がネットワークデータを受信すると（ステップＳ２４）、分析部１４２は、保存部１４３から制御ステートデータ２００を読み出す（ステップＳ２５）。続いて、分析部１４２は、受信したネットワークデータに対して、ステップＳ２５で読み出した現在の制御ステートに基づく異常検知および要因判定を行う（ステップＳ２６）。分析部１４２による判定結果が異常であった場合（ステップＳ２７）、表示部１４４は判定結果を表示しユーザに注意を促す（ステップＳ２８）。
【００３９】
以上説明した本実施形態によれば、集約サーバ１５が把握している制御ステート情報を利用した異常検知および要因判定処理が実現できる。そのため、各制御装置１１が制御ステート情報を送信する分の帯域を削減できるようになる。
【００４０】
以上、いくつかの実施形態および変形例を説明したが、これらの実施形態は、例としてのみ提示したものであり、発明の範囲を限定することを意図したものではない。本明細書で説明した新規なシステムは、その他の様々な形態で実施することができる。また、本明細書で説明したシステムの形態に対し、発明の要旨を逸脱しない範囲内で、種々の省略、置換、変更を行うことができる。添付の特許請求の範囲およびこれに均等な範囲は、発明の範囲や要ことに含まれるこのような形態や変形例を含むように意図されている。
【符号の説明】
【００４１】
１１  制御装置、１３  ネットワークスイッチ、１４  異常要因判定装置、１５  集約サーバ、１４２  分析部、１４３  保存部、１４４  表示部
【図１】
2019205125.tif 000003
【図２】
2019205125.tif 000004
【図３】
2019205125.tif 000005
【図４】
2019205125.tif 000006
【図５】
2019205125.tif 000007