(57)【要約】【課題】不正な制御要求を検出し、これを破棄できる監視制御装置を提供する。【解決手段】ＯＳ１３は、通信ポート１２が、監視制御用のポートであるか否かの区別が記載された通信ポート定義表１６と、制御電文の電文構造を記録する電文構造定義表２０と、各制御電文に記録されている情報の項目等を記録する電文項目定義表３０と、通信ポート１２に到着した電文の正当性評価を通信ポート定義表１６を用いて行なう通信ポート制御部１０３Ａと、制御電文を電文構造定義表２０と比較する電文構造解析検定部１０３Ｂと、制御電文を電文項目定義表３０と比較し、不正制御データの侵入を検定する電文項目解析検定部１０３Ｃとを有する。【選択図】図１
2019129430.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵと、前記ＣＰＵが行う演算用の領域および演算結果の記憶領域として使用されるメモリと、ネットワーク網を介して、外部の通信機器及び外部の制御対象機器との間の通信用の電文を授受する通信ポートと、基本ソフトとしてのＯＳと、前記ＯＳ上で動作し、前記制御対象機器を制御する監視制御ソフトウェアとを備える監視制御装置であって、
前記ＯＳは、
複数の前記通信ポートのポート番号と、それぞれの前記ポート番号宛ての前記電文の許可又は破棄の区別と、前記通信ポートが、監視制御用の前記通信ポートであるか否かの区別とが記載された通信ポート定義表と、
前記制御対象機器を制御するために使用する制御電文の電文構造が電文ＩＤ単位で記録されている電文構造定義表と、
前記電文構造定義表に前記電文ＩＤを介して紐付けられた、各制御電文に記録されている情報の属性項目名、レコード内におけるそれぞれの記録場所、前記属性項目名の値が記録されている電文項目定義表と、
前記ポート番号宛てに到着した前記電文の正当性評価を前記通信ポート定義表を用いて行なう通信ポート制御部と、
前記制御電文を前記電文構造定義表に定義されている電文構造と比較する電文構造解析検定部と、
前記制御電文を前記電文項目定義表と比較し、不正制御データの侵入を検定する電文項目解析検定部と、
前記通信ポート制御部、前記電文構造解析検定部、前記電文項目解析検定部で検定した結果から、前記電文を破棄するか、上位のネットワーク層へ転送するかを選択する不正電文抑止部とを有する拡張セキュリティ部を有する監視制御装置。
【請求項２】
前記通信ポート制御部は、前記制御電文以外の電文であって、正当な前記電文を、前記不正電文抑止部を介してＯＳＩ参照モデルにおける上位ネットワーク層に転送する請求項１に記載の監視制御装置。
【請求項３】
前記通信ポート制御部は、前記電文が前記制御電文である場合は、前記制御電文を前記電文構造解析検定部に転送する請求項１又は請求項２に記載の監視制御装置。
【請求項４】
前記電文構造定義表又は前記電文項目定義表の少なくとも一方は、それぞれの定義表を構成するデータの内、未定義である項目について、設定値を自動生成させる項目であることを示すマークを有し、
受信する前記制御電文の各前記項目の値から、前記マークの付された前記項目のデータを自動生成する電文定義生成部を有する請求項１から請求項３のいずれか１項に記載の監視制御装置。
【請求項５】
前記電文定義生成部の機能は、ＯＮ、ＯＦＦの切り換えが可能である請求項４に記載の監視制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、外部の制御対象機器を監視、制御する、監視制御装置に関するものである。
【背景技術】
【０００２】
従来、監視制御装置は、閉鎖ネットワークに設置される場合が多かったため、ネットワークに接続される機器が限定されていた。しかし、近年、監視制御装置においても広域ネットワークに接続されることが増えており、様々な不特定機器がネットワーク内に存在し、通信を行う状況となっている。また、制御対象機器への不正制御を防止するために有効な手段として、監視制御装置に搭載するＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）を常に最新状態に保ち、不正アクセスを防ぐことも可能である。しかし、そのためには高度なセキュリティに対応したＯＳの導入と、既設の監視制御ソフトウェアに対する高セキュリティ化に対応する改造が必要となり、多くのコストが必要となる。
【０００３】
このような問題を解決する方法として、ＯＳを最新化するのではなく、ＯＳが持つネットワーク機能の一部にセキュリティ機能を追加し、接続許可リストにより許可された機器のみが制御装置と通信できるようにする仕組みが提案されている（例えば、特許文献１参照）。この方法ではＯＳを最新化せずとも、不正アクセスを防ぐための機能を導入済みのＯＳに対して、許可リストとして追加することで対応できるため、比較的低いコストでセキュリティ機能を実現することが可能となっている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−２７６０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１では、監視制御装置に接続する機器のＩＰアドレス、ＭＡＣアドレス、装置名称を接続許可リストのデータベースとして登録し、該当機器からのみ監視制御装置への接続を許可している。しかし、不正アクセスを行う場合は、ＩＰアドレスやＭＡＣアドレス、装置名称を詐称して接続することが多いため、悪意を持ったアクセスを厳密に防ぐことができず、依然として有効な手段とは成り得なかった。
【０００６】
この発明は、上記のような課題を解決するためになされたものであり、広域ネットワーク内から監視制御装置に対して、悪意を持った接続があった場合に、不正な制御要求を検出し、これを破棄できる監視制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
この発明に係る監視制御装置は、
ＣＰＵと、前記ＣＰＵが行う演算用の領域および演算結果の記憶領域として使用されるメモリと、ネットワーク網を介して、外部の通信機器及び外部の制御対象機器との間の通信用の電文を授受する通信ポートと、基本ソフトとしてのＯＳと、前記ＯＳ上で動作し、前記制御対象機器を制御する監視制御ソフトウェアとを備える監視制御装置であって、前記ＯＳは、複数の前記通信ポートのポート番号と、それぞれの前記ポート番号宛ての前記電文の許可又は破棄の区別と、前記通信ポートが、監視制御用の前記通信ポートであるか否かの区別とが記載された通信ポート定義表と、前記制御対象機器を制御するために使用する制御電文の電文構造が電文ＩＤ単位で記録されている電文構造定義表と、前記電文構造定義表に前記電文ＩＤを介して紐付けられた、各制御電文に記録されている情報の属性項目名、レコード内におけるそれぞれの記録場所、前記属性項目名の値が記録されている電文項目定義表と、前記ポート番号宛てに到着した前記電文の正当性評価を前記通信ポート定義表を用いて行なう通信ポート制御部と、前記制御電文を前記電文構造定義表に定義されている電文構造と比較する電文構造解析検定部と、前記制御電文を前記電文項目定義表と比較し、不正制御データの侵入を検定する電文項目解析検定部と、前記通信ポート制御部、前記電文構造解析検定部、前記電文項目解析検定部で検定した結果から、前記電文を破棄するか、上位のネットワーク層へ転送するかを選択する不正電文抑止部とを有する拡張セキュリティ部を有するものである。
【０００８】
前記通信ポート制御部は、前記制御電文以外の電文であって、正当な前記電文を、前記不正電文抑止部を介してＯＳＩ参照モデルにおける上位ネットワーク層に転送する請求項１に記載の有するものである。
【発明の効果】
【０００９】
この発明に係る監視制御装置によれば、広域ネットワーク内から監視制御装置に対して、悪意を持った接続があった場合に、不正な制御要求を検出し、これを破棄できる。また、ＯＳの最新化に伴い監視制御アプリケーション自体のセキュリティを高める改造をすることなく不正制御要求に対する堅牢性を高めた監視制御装置を提供することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施の形態１に係る監視制御装置の構成を示す図である。
【図２】本発明の実施の形態１に係るＯＳが提供するネットワーク通信構造を、ＯＳＩ参照モデルとして概念化した図である。
【図３】本発明の実施の形態１に係る通信ポート定義表の構成を示す図である。
【図４】本発明の実施の形態１に係る電文構造定義表の構成を示す図である。
【図５】本発明の実施の形態１に係る電文項目定義表の構成を示す図である。
【図６】本発明の実施の形態１に係るセキュリティ層の処理フローを示す図である。
【図７】本発明の実施の形態２に係るＯＳが提供するネットワーク通信構造を、ＯＳＩ参照モデルとして概念化した図である。
【図８】本発明の実施の形態２に係る電文構造定義表の構成を示す図である。
【図９】本発明の実施の形態２に係る電文項目定義表の構成を示す図である。
【図１０】本発明の実施の形態２に係るセキュリティ層の処理フローを示す図である。
【発明を実施するための形態】
【００１１】
実施の形態１．
以下、この発明の実施の形態１に係る監視制御装置を図を用いて説明する。
図１は、監視制御装置１００の構成を示す図である。
【００１２】
監視制御装置１００において、ＣＰＵ１０は、各種演算をおこなう。メモリ１１は、ＣＰＵ１０が行う演算用の領域および、演算結果の記憶領域として使用される。通信ポート１２は、ネットワーク網Ｎを介して、外部通信機器４Ｔ及び制御対象機器４Ｓとの間の通信用の電文を授受する。監視制御ソフトウェア１４は、基本ソフトであるＯＳ１３上で動作し、外部の制御対象機器４Ｓを制御する。また、ＯＳ１３上には、セキュリティ機能を担当する、拡張セキュリティ部１５を備える。
【００１３】
拡張セキュリティ部１５は、通信ポート定義表１６と、電文構造定義表２０と、電文項目定義表３０とを備え、これらの定義表に記録された各種情報を元に、監視制御装置１００に対する外部からのアクセスを検定する。
【００１４】
通信ポート定義表１６には、監視制御装置１００に備える複数の通信ポート１２に関する定義が記載されている。電文構造定義表２０には、監視制御ソフトウェア１４が制御対象機器４Ｓを制御するために使用する電文（以下、制御電文という）の電文構造の概要が記録されている。また、電文項目定義表３０には、電文構造定義表２０に制御電文ＩＤを介して紐付けられた各制御電文について、そこに記録されている情報の属性項目名と、レコード内における記録場所、値等が記録されている。電文構造定義表２０及び電文項目定義表３０についての詳細は後述する。
【００１５】
図２は、ＯＳ１３が提供するネットワーク通信構造を、ＯＳＩ参照モデルとして概念化した図である。
【００１６】
物理層１０１は、通信用のコネクタのピンの数、形状等の物理的な接続を定義する。データリンク層１０２は、直接的に接続されている通信機器間の信号の受け渡しを定義する。ネットワーク層１０４は、ネットワークにおける通信経路の選択を定義する。プレゼンテーション層、トランスポート層１０５は、通信管理と、データの表現方法を定義する。アプリケーション層１０６（上述の監視制御ソフトウェア１４に相当）は、制御対象機器４Ｓを監視制御するための通信サービスを提供する。
【００１７】
本実施の形態では、第２階層のデータリンク層１０２と、第３階層のネットワーク層１０４との間に、新たにセキュリティ層１０３（上述の拡張セキュリティ部１５に相当）を設け、アプリケーション層１０６が行う外部との通信を全て監視する。図２に示す外部通信機器４Ｔは、監視制御装置１００への通信が可能であり、悪意を有する者が操作する通信機器をも含む。
【００１８】
セキュリティ層１０３は、通信ポート制御部１０３Ａと、電文構造解析検定部１０３Ｂと、電文項目解析検定部１０３Ｃと、不正電文抑止部１０３Ｄと、通信ポート定義表１６と、電文構造定義表２０と、電文項目定義表３０とを備える。悪意のある攻撃者が、外部通信機器４Ｔから監視制御装置への不正アクセスを試みると、通信ポート制御部１０３Ａは、まず、データリンク層１０２から到着した電文の正当性評価を行なう。
【００１９】
図３は、通信ポート制御部１０３Ａが使用する通信ポート定義表１６の構成を示す図である。通信ポート定義表１６には、ポート番号と、当該ポート番号宛ての電文の許可／破棄の区別と、当該通信ポートが、監視制御用の通信ポートであるか否かと、備考とを記載している。
【００２０】
電文が到着すると、通信ポート制御部１０３Ａは、ネットワーク層１０４以上の通信層へのアクセスを許可する通信ポートに対する電文のみを選択する。アクセスを許可されていないポート番号宛ての電文が到着したときは、外部からの不正アクセスを検知した旨を監視制御ソフトウェア１４へ通報し、同時に当該電文を不正電文として不正電文抑止部１０３Ｄへ転送する。これによりＯＳが提供するサービスなどへの不要な攻撃を防ぐ。
【００２１】
到着した電文の宛先のポート番号が、許可されたポート番号ではあるが、監視制御用の制御電文に割り当てられたポート番号でない、即ち、制御電文以外の電文であって、正当な電文である場合は、当該電文を不正電文抑止部１０３Ｄを介してネットワーク層１０４へ送る。そして、到着した電文の宛先のポート番号が、アクセスを許可されているポート番号であり、かつ、当該ポート番号が、監視制御用のポート番号である場合は、通信ポート制御部１０３Ａは、当該制御電文を電文構造解析検定部１０３Ｂへ送る。
【００２２】
図４は、電文構造定義表２０の構成を示す図である。電文構造定義表２０には、制御電文ＩＤと、制御電文のレコードの先頭から何バイト目から検定するかを示すオフセットと、当該オフセットから何バイトを検定対象とするかを示す検定サイズと、当該オフセットから当該検定サイズの領域に記載されているべきコードと、制御電文の長さを示すサイズとが記載されている。
【００２３】
電文構造解析検定部１０３Ｂは、監視制御ソフトウェア１４のアプリケーション層レベルのＴＣＰもしくはＵＤＰの制御電文を解析し、予め電文構造定義表２０に定義されている電文構造と比較する。そして、電文構造解析検定部１０３Ｂは、監視制御ソフトウェア１４のバッファオーバランなどを発生させる恐れがある、監視制御ソフトウェア１４自体への攻撃を検定し、異常を検出した場合は、不正電文抑止部１０３Ｄにその旨を通報する。電文構造解析検定部１０３Ｂによる検定にパスした制御電文は、電文項目解析検定部１０３Ｃに送られる。
【００２４】
図５は、電文項目定義表３０の構成を示す図である。電文項目定義表３０には、電文構造定義表２０の制御電文ＩＤと紐付けられた制御電文ＩＤと、制御電文のレコードの先頭から何バイト目から検定するかを示すオフセットと、当該オフセットから何バイトを検定対象とするかを示す検定サイズと、当該オフセットから当該検定サイズの領域に記載されている属性項目名と、その値と、備考とが記載されている。
【００２５】
電文項目解析検定部１０３Ｃは、制御電文を電文項目定義表３０と比較解析し、監視制御ソフトウェア１４が、外部の制御対象機器４Ｓに対する制御を行なう際の制御指示値の取り得る範囲や変化量を監視し、外部通信機器４Ｔからの監視制御装置１００に対する悪意を持った不正制御データの侵入を検定する。
【００２６】
なお、電文項目解析検定部１０３Ｃは、悪意を持った不正制御の検定以外にも、監視員による設定の誤りにより生じる突発的な不正制御についても検定をすることを可能とする。制御電文中の値の異常を検出した場合は、電文項目解析検定部１０３Ｃは、不正電文抑止部１０３Ｄにその旨を通報する。電文項目解析検定部１０３Ｃによる検定にパスした制御電文は、不正電文抑止部１０３Ｄを介してネットワーク層１０４に送られる。
【００２７】
不正電文抑止部１０３Ｄは、通信ポート制御部１０３Ａ、電文構造解析検定部１０３Ｂ、電文項目解析検定部１０３Ｃで検定した結果から、最終的に電文を破棄するか、上位のネットワーク層１０４へ転送するかを選択する。
【００２８】
図６は、セキュリティ層１０３の処理フローを示す図である。
次に、セキュリティ層１０３における処理フローについて、図６を用いて説明する。まず、ステップＳ００１では通信ポート制御部１０３Ａが、データリンク層１０２から、到着した電文の宛先のポート番号を、図３に示す通信ポート定義表１６と比較し、許可されている通信ポートと許可されていない通信ポートを判定し、その結果を不正電文抑止部１０３Ｄへ伝える。
【００２９】
また、到着した電文の構造解析を行なうかどうかの判定もこのステップＳ００１で実施し、許可された通信ポートに到着した監視制御用の制御電文は、電文構造解析検定部１０３Ｂへ転送される。
【００３０】
次に、ステップＳ００２において、電文構造解析検定部１０３Ｂは、通信ポート制御部１０３Ａによって、正当な通信ポート宛てに送られた監視制御ソフトウェア１４用の制御電文であると判断された電文の構造検定を、電文構造定義表２０と比較して行う。制御電文単位で、電文データサイズや制御種別を表すコードの不正が行なわれていないかの検定を実施し、不正があった場合は、その結果を不正電文抑止部１０３Ｄへ伝える。
【００３１】
次に、ステップＳ００３において、電文項目解析検定部１０３Ｃは、制御電文に含まれる各種制御値の値を抽出し、値が有効範囲内であるか、値が特定のｂｉｔパターンになっているか、もしくは過去の制御値の履歴から突発的な値を示していないか等の検定を図５に示す電文項目定義表３０と比較して実施し、その結果を不正電文抑止部１０３Ｄへ伝える。
【００３２】
次に、ステップＳ００４において、上述のステップＳ００１からステップＳ００３までで実施された結果を元に、不正電文抑止部１０３Ｄにて制御電文を上位のネットワーク層へ転送するか否かを判定し、監視制御装置１００への不正制御の要求と判断された電文については該当電文を破棄する。このように、上位のネットワーク層において不正制御電文を受信することによる監視制御装置１００への直接攻撃や制御対象機器４Ｓへの不正制御を防止でき、信頼性の高い監視制御装置１００を得ることができる。
【００３３】
本発明の実施の形態１に係る監視制御装置１００によれば、広域ネットワーク内から監視制御装置１００に対して、悪意を持った接続があった場合に、不正な制御要求を検出し、これを破棄できる。また、ＯＳの最新化に伴い監視制御アプリケーション自体のセキュリティを高める改造をすることなく監視制御装置１００への不正制御要求に対する堅牢性を高めることが可能となる。このように、監視制御装置１００のこれらの機能を実現するには、特定のＯＳを必要とする訳ではなく、ＯＳＩ参照モデルに従ってネットワーク通信層が実装され、通信層ドライバが後から追加登録できる仕組みを有するＯＳであれば、どんなＯＳでも実現できる。これにより、監視制御装置１００上で既に動作しているＯＳ１３と監視制御ソフトウェア１４にセキュリティ上の堅牢性を高める機能を追加することが可能となる。
【００３４】
実施の形態２．
以下、この発明の実施の形態２に係る監視制御装置を、実施の形態１と異なる部分を中心に、図を用いて説明する。
【００３５】
図７は、ＯＳが提供するネットワーク通信構造を、ＯＳＩ参照モデルとして概念化した図である。
本実施の形態２では、実施の形態１で使用した電文構造定義表２０に対応する電文構造定義表２２０及び、実施の形態１で使用した電文項目定義表３０に対応する電文項目定義表２３０の一部を自動的に生成する電文定義生成部４０を備える。セキュリティ層２０３以外の構成は、実施の形態１と同じ構成である。
【００３６】
図８は、電文構造定義表２２０の構成を示す図である。電文構造定義表２２０には、制御電文ＩＤと、制御電文のレコードの先頭から何バイト目から検定するかを示すオフセットと、当該オフセットから何バイトを検定対象とするかを示す検定サイズと、当該オフセットから当該検定サイズの領域に記載されているべきコードと、制御電文の長さを示すサイズとが記載される。なお、＊マークを記載している未定義の項目は、設定値の自動生成の設定がされていることを意味する。
【００３７】
図９は、電文項目定義表２３０の構成を示す図である。電文項目定義表２３０には、電文構造定義表２２０の制御電文ＩＤと紐付けられた制御電文ＩＤと、制御電文のレコードの先頭から何バイト目から検定するかを示すオフセットと、当該オフセットから何バイトを検定対象とするかを示す検定サイズと、当該オフセットから当該検定サイズの領域に記載されている属性項目名と、その値と、備考とが記載される。なお、＊マークを記載している項目は、自動生成の設定がされていることを意味する。
【００３８】
図１０は、セキュリティ層２０３の処理フローを示す図である。
本実施の形態２では、ステップＳ２０２およびステップＳ２０３において、電文構造定義表２２０及び電文項目定義表２３０の各項目に自動生成を意味する＊マークを設定しておき、受信した制御電文を電文定義生成部４０に通すことにより、＊マークの設定されたデータを監視制御ソフトウェア１４が通信を行なっている制御電文から自動生成する。
【００３９】
自動生成は、例えば、各属性項目名に基づく設定値自体、最大値、最小値、入力ｂｉｔパターンの取りうる組合せ、分散値や平均値の最大変化量等を求めて電文項目定義表に反映する。また、自動生成による各定義表の生成は、監視制御装置が安全な環境下においてＯＮにし、監視制御装置が取り得るべき制御電文を外部から入力することにより安全に学習させる。定義生成の実行が完了した後、電文定義生成部４０の機能を無効（ＯＦＦ）にすることで、実施の形態１と同様の不正制御防止効果を奏する。
【００４０】
本発明の実施の形態２に係る監視制御装置によれば、電文構造定義表２２０及び電文項目定義表２３０の一部を自動生成できるので、事前に手動で生成する際の手間を効率化することができる。
【００４１】
尚、この発明は、その発明の範囲内において、各実施の形態を自由に組み合わせたり、各実施の形態を適宜、変形、省略したりすることが可能である。
【符号の説明】
【００４２】
１００  監視制御装置、１０  ＣＰＵ、１１  メモリ、１２  通信ポート、
１３  ＯＳ、１４  監視制御ソフトウェア、１５  拡張セキュリティ部、
１６  通信ポート定義表、２０，２２０  電文構造定義表、
３０，２３０  電文項目定義表、４０  電文定義生成部、４Ｓ  制御対象機器、
４Ｔ  外部通信機器、Ｎ  ネットワーク網、１０１  物理層、１０２  データリンク層、１０３，２０３  セキュリティ層、１０３Ａ  通信ポート制御部、
１０３Ｂ  電文構造解析検定部、１０３Ｃ  電文項目解析検定部、
１０３Ｄ  不正電文抑止部、１０４  ネットワーク層、
１０５  プレゼンテーション層・トランスポート層、１０６  アプリケーション層。
【図１】
2019129430.tif 000003
【図２】
2019129430.tif 000004
【図３】
2019129430.tif 000005
【図４】
2019129430.tif 000006
【図５】
2019129430.tif 000007
【図６】
2019129430.tif 000008
【図７】
2019129430.tif 000009
【図８】
2019129430.tif 000010
【図９】
2019129430.tif 000011
【図１０】
2019129430.tif 000012