(57)【要約】【課題】攻撃者による制御システムのパラメータ同定を困難にして、リプレイ攻撃を検知する。【解決手段】コントローラ４の状態推定部４ａが、センサ３から出力された制御対象２の状態を表すセンサデータと、制御対象２の状態を制御する制御入力とを用いて、制御対象２の状態の推定値を算出する。また、コントローラ４の算出部４ｂが、算出された制御対象２の状態の推定値に応じて、所定の周波数帯の有色ノイズを付加した制御入力を算出する。【選択図】図１
2020135073.tif 000002
【特許請求の範囲】
【請求項１】
センサとコントローラとを有する検知システムで実行される検知方法であって、
前記コントローラが、
前記センサから出力された制御対象の状態を表すセンサデータと前記制御対象の状態を制御する制御入力とを用いて、前記制御対象の状態の推定値を算出する状態推定工程と、
算出された前記制御対象の状態の推定値に応じて、所定の周波数帯の有色ノイズを付加した前記制御入力を算出する算出工程と、
含んだことを特徴とする検知方法。
【請求項２】
前記算出工程において、所定の指標を用いて前記所定の周波数帯を選択できることを特徴とする請求項１に記載の検知方法。
【請求項３】
前記コントローラが、前記センサデータを用いて、過去のセンサデータを用いた攻撃を検知する検知工程を、さらに含んだことを特徴とする請求項１に記載の検知方法。
【請求項４】
センサとコントローラとを有する検知システムであって、
前記コントローラが、
前記センサから出力された制御対象の状態を表すセンサデータと前記制御対象の状態を制御する制御入力とを用いて、前記制御対象の状態の推定値を算出する状態推定部と、
算出された前記制御対象の状態の推定値に応じて、所定の周波数帯の有色ノイズを付加した前記制御入力を算出する算出部と、
を備えることを特徴とする検知システム。
【請求項５】
センサから出力された制御対象の状態を表すセンサデータと前記制御対象の状態を制御する制御入力とを用いて、前記制御対象の状態の推定値を算出する状態推定ステップと、
算出された前記制御対象の状態の推定値に応じて、所定の周波数帯の有色ノイズを付加した前記制御入力を算出する算出ステップと、
コンピュータに実行させる検知プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検知方法、検知システムおよび検知プログラムに関する。
【背景技術】
【０００２】
近年、センサデータを基にフィードバック制御を行う制御システムに、ネットワークを用いるケースが増加している。それに伴い、サイバー攻撃のリスクが増大している。特に、過去のセンサデータを用いて正常に動作しているように見せかける改ざんを行うリプレイ攻撃は、検知が困難であり、対策が必要である。
【０００３】
そこで、リプレイ攻撃を検知するために、制御入力に微小なホワイトノイズを付加し、センサデータの応答を監視するＷａｔｅｒｍａｒｋと呼ばれる技術が提案されている（非特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Yilin  Mo,  Rohan  Chabukswar,  Bruno  Sinopoli,  “Detecting  Integrity  Attacks  on  SCADA  Systems”,  IEEE  Transactions  on  Control  System  Technology,  Volume  22,  Issue  4,  2014年7月,  P.1396-1407
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の技術によれば、攻撃者による制御システムのパラメータ同定が高精度に可能となる恐れがある。すなわち、制御入力にホワイトノイズを付加すると、制御入力に十分なばらつきが発生するため、アルゴリズムの可同定条件を満たし、攻撃者によるパラメータ同定の精度が大幅に向上してしまう恐れがある。
【０００６】
制御システムのパラメータが攻撃者に同定されると、制御システムの設計情報が漏洩するという機密上の問題が発生する。また、攻撃者が、同定した制御システムを用いて正確にセンサデータの推定値を算出し、リプレイ攻撃より高度に、正常に動作しているように見せかける改ざんを行う恐れがあり、検知がさらに困難になる。
【０００７】
本発明は、上記に鑑みてなされたものであって、攻撃者による制御システムのパラメータ同定を困難にして、リプレイ攻撃を検知することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明に係る検知方法は、センサとコントローラとを有する検知システムで実行される検知方法であって、前記コントローラが、前記センサから出力された制御対象の状態を表すセンサデータと前記制御対象の状態を制御する制御入力とを用いて、前記制御対象の状態の推定値を算出する状態推定工程と、算出された前記制御対象の状態の推定値に応じて、所定の周波数帯の有色ノイズを付加した前記制御入力を算出する算出工程と、含んだことを特徴とする。
【発明の効果】
【０００９】
本発明によれば、攻撃者による制御システムのパラメータ同定を困難にして、リプレイ攻撃を検知することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】図１は、本実施形態に係る検知システムの概要構成を示す模式図である。
【図２】図２は、攻撃者による攻撃を説明するための図である。
【図３】図３は、攻撃者による攻撃を説明するための図である。
【図４】図４は、本実施形態に係る検知システムによる検知処理手順を示すフローチャートである。
【図５】図５は、実施例を説明するための図である。
【図６】図６は、実施例を説明するための図である。
【図７】図７は、検知プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
【００１２】
［検知システムの構成］
図１は、本実施形態に係る検知システムの概略構成を示す模式図である。検知システム１は、例えば熱機関等の制御対象２の状態を、現在の状態に応じてフィードバック制御する制御システムである。図１に例示するように、検知システム１は、制御対象２、センサ３、コントローラ４、およびアクチュエータ５を有する。
【００１３】
センサ３は、制御対象２の状態を計測する温度センサ等のセンサであり、制御対象２の状態を表す物理情報をセンシングしたセンサデータを、ネットワークを介してコントローラ４に出力する。センサ３は、例えば、ＭＰＵ（Micro  Processing  Unit）やＦＰＧＡ（Field  Programmable  Gate  Array）等で実現される。
【００１４】
コントローラ４は、センサ３から受信したセンサデータを用いて、例えば制御対象２のバルブ等のアクチュエータ５を制御する制御入力を算出する。本実施形態において、コントローラ４は、センサ３から出力された制御対象２の状態を表すセンサデータと、制御対象２の状態を制御する制御入力とを用いて算出される制御対象２の状態の推定値に応じて、所定の周波数帯の有色ノイズを付加した制御入力を算出する。
【００１５】
具体的には、コントローラ４は、例えばパソコン等の汎用コンピュータで実現され、ＣＰＵ（Central  Processing  Unit）等である制御部がメモリに記憶された処理プログラムを実行する。これにより制御部が、図１に示すように、状態推定部４ａ、算出部４ｂ、および検知部４ｃとして機能する。これらの機能部は、それぞれ、あるいは一部が異なるハードウェアに実装されてもよい。例えば、検知部４ｃは、コントローラ４とは異なる装置に実装されてもよい。
【００１６】
また、コントローラ４は、ＮＩＣ（Network  Interface  Card）等で実現される不図示の通信制御部が、制御部と制御対象２やセンサ３等の外部の装置とのネットワークを介した通信を制御する。また、コントローラ４は、ＲＡＭ、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される不図示の記憶部を備える。
【００１７】
ここで、離散時間ｋにおける制御対象２の状態ｘ（ｋ）（以下、ｘｋとも記す）は、次式（１）を用いて表される。ここで、（ｋ＋１）は、ｋの１ステップ後の時間を意味する。また、ｗ（ｋ）はモデル化ノイズである。
【００１８】
【数１】
2020135073.tif 000003
【００１９】
この場合に、センサ３が出力するセンサデータｙ（ｋ）（以下、ｙｋとも記す）は、次式（２）で表される。ここで、ｖ（ｋ）は環境ノイズである。
【００２０】
【数２】
2020135073.tif 000004
【００２１】
状態推定部４ａは、制御対象２の状態を表すセンサデータと制御対象２の状態を制御する制御入力とを用いて、制御対象２の状態の推定値を算出する。具体的には、状態推定部４ａは、カルマンフィルタを用いて、次式（３）に示すように、制御対象２の状態の推定値を算出する。
【００２２】
【数３】
2020135073.tif 000005
【００２３】
算出部４ｂは、算出された制御対象２の状態の推定値に応じて、所定の周波数帯の有色ノイズを付加した制御入力を算出する。具体的には、算出部４ｂは、上記式（２）に示した、環境ノイズｖ（ｋ）を含むセンサデータｙ（ｋ）の揺らぎを定常化するように、最適制御を行う制御入力を算出する。また、算出部４ｂは、次式（４）に点線で示す最適制御を行う制御入力に、所定範囲の周波数ωの有色ノイズを付加する。
【００２４】
【数４】
2020135073.tif 000006
【００２５】
ここで、図２および図３は、攻撃者による攻撃を説明するための図である。まず、図２には、リプレイ攻撃が例示されている。図２に示す例では、攻撃者が過去（ｋ−ｓ）のセンサデータｙｋ−ｓを窃取して、攻撃時にセンサデータｙｋをｙｋ−ｓに改ざんするリプレイ攻撃を行っている。この場合に、検知部４ｃは、センサデータの値と状態の推定値から算出されるセンサデータの推定値との差分を監視して、異常の有無を監視している。したがって、攻撃者は、コントローラ４に気づかれないように、過去と同一のセンサデータを用いてセンサデータを改ざんするリプレイ攻撃を行うことが可能である。
【００２６】
そして、コントローラ４すなわち状態推定部４ａおよび算出部４ｂがリプレイ攻撃を検知できないと、攻撃者がアクチュエータ５に対し、制御対象２の不正動作を引き起こす任意の入力を行うことが可能となる。
【００２７】
そこで、従来のＷａｔｅｒｍａｒｋ法では、次式（５）に示すように、算出部４ｂは、ホワイトノイズを付加した制御入力ｕｋをアクチュエータ５に出力することにより、リプレイ攻撃を検知可能としていた。すなわち、ノイズが付加されることにより、過去のセンサデータと同一のセンサデータが実際に出力されることがないため、リプレイ攻撃を検知することが可能となる。ここで、ホワイトノイズは、平均０分散Ξの正規分布に従うノイズである。
【００２８】
【数５】
2020135073.tif 000007
【００２９】
一方、図３には、パラメータ同定による攻撃が例示されている。図３に示す例では、攻撃者が制御入力ｕｋとセンサデータｙｋとの組み合わせを窃取することにより、制御システムのパラメータ同定を行っている。
【００３０】
例えば、攻撃者は、フィードバック制御環境において、入出力データのみでパラメータを同定可能なアルゴリズムとして知られるＰＢＳＩＤ法を用いて、上記式（１）〜式（３）に示した制御システムのパラメータＡ、Ｂ、Ｃを同定することができる。ＰＢＳＩＤ法とは、次式（６）のように表されるイノベーション形式のパラメータＡ、Ｂ、Ｃ、Ｄ、Ｋを同定するアルゴリズムである。
【００３１】
【数６】
2020135073.tif 000008
【００３２】
パラメータが同定されると、攻撃者は、センサデータｙｋの推定値ｙｋ’を算出することが可能となる。したがって、攻撃者は、リプレイ攻撃より高精度にセンサデータｙｋの改ざんを行って、アクチュエータ５に対し、制御対象２の不正動作を引き起こす任意の入力を行うことが可能となる。
【００３３】
ここで、上記式（５）のように、制御入力にホワイトノイズが付加された場合には、制御入力のばらつきが大きくなる。そうすると、攻撃者は、制御入力ｕｋとセンサデータｙｋとの組み合わせを多様に収集可能であるため、可同定性の指標として知られるＰＥ性の次数が無限大となる。ＰＥ性は、次数が大きいほど高精度な同定が可能であることを示す。
【００３４】
これに対し、上記式（４）のように、制御入力に有色ノイズを付加された場合には、有色ノイズに含まれる正弦波の周波数ωの数ｎに対し、ＰＥ性の次数は２ｎとなる。したがって、制御システムに影響の少ない周波数帯の有色ノイズを選択することにより、制御システムのパラメータ同定が困難になることがわかる。
【００３５】
図１の説明に戻る。検知部４ｃは、過去のセンサデータを用いた攻撃を検知する。例えば、図２および図３に示したように、検知部４ｃは、センサデータの値と状態の推定値から算出されるセンサデータの推定値との差分を監視して、リプレイ攻撃の検知している。
【００３６】
具体的には、検知部４ｃは、次式（７）に示すように、センサデータの推定値と実際のセンタデータとの差を確率変数として、自由度ｐのカイ二乗検定を行う。すなわち、検知部４ｃは、次式（７）で表される統計量ｇｋの値が所定の閾値を超えた場合に、リプレイ攻撃が有ると判定する。
【００３７】
【数７】
2020135073.tif 000009
【００３８】
ここで、リプレイ攻撃がない場合には、確率変数「センサデータの推定値と実際のセンタデータとの差」の二乗の期待値は、次式（８）で表される。
【００３９】
【数８】
2020135073.tif 000010
【００４０】
一方、リプレイ攻撃がある場合には、確率変数「センサデータの推定値と実際のセンタデータとの差」の二乗の期待値は、次式（９）および式（１０）で表される。
【００４１】
【数９】
2020135073.tif 000011
【００４２】
【数１０】
2020135073.tif 000012
【００４３】
これらの値は、リプレイ攻撃がある場合に、リプレイ攻撃がない場合よりＭだけ大きくなる。したがって、Ｍが十分に大きければ、リプレイ攻撃の検知が可能である。そこで、本実施形態の検知システム１では、Ｍ（１）ができるだけ大きくなる周波数帯の有色ノイズを算出部４ｂが選択することにより、リプレイ攻撃の検知性能を向上させることが可能となる。このように、算出部４ｂが、所定の指標Ｍ（１）を用いて有色ノイズの周波数帯を選択することにより、リプレイ攻撃の検知性能を向上させることが可能となる。
【００４４】
［検知処理］
図４は、本実施形態に係る検知システム１による検知処理手順を示すフローチャートである。図４のフローチャートは、例えば、ユーザがコントローラ４に開始を指示する操作を行ったタイミングで開始される。
【００４５】
まず、コントローラ４は、センサ３が制御対象２の状態を示す物理情報をセンシングしたセンサデータを受信する（ステップＳ１）。コントローラ４では、状態推定部４ａが、センサ３から出力されたセンサデータｙｋと、算出部４ｂが算出した制御入力ｕｋとを用いて、制御対象２の状態の推定値を算出する（ステップＳ２）。
【００４６】
算出部４ｂは、状態の推定値に応じて、最適制御を行う制御入力を算出する（ステップＳ３）。また、算出部４ｂは、最適制御を行う制御入力に、所定範囲の周波数ωの有色ノイズを付加する（ステップＳ４）。
【００４７】
そして、算出部４ｂは、有色ノイズを付加した制御入力をアクチュエータ５に出力し、処理をステップＳ１に戻し、センサ３から出力されるセンサデータの応答を待つ。
【００４８】
以上、説明したように、本実施形態の検知システム１において、コントローラ４の状態推定部４ａが、センサ３から出力された制御対象２の状態を表すセンサデータと、制御対象２の状態を制御する制御入力とを用いて、制御対象２の状態の推定値を算出する。また、算出部４ｂが、算出された制御対象２の状態の推定値に応じて、所定の周波数帯の有色ノイズを付加した制御入力を算出する。
【００４９】
これにより、本実施形態の検知システム１では、システム構成を変更することなく容易に、攻撃者による制御システムのパラメータ同定を困難にして、リプレイ攻撃を検知することが可能となる。したがって、機密情報の漏洩やさらに高度な改ざんによる攻撃を防止することが可能となる。
【００５０】
［実施例］
本実施例では、フィードバック制御を行う制御システムを用いて、パラメータ同定を行った。この制御システムは、次式（１１）で表されるパラメータで特定される。ここで、Ｑ、Ｒはそれぞれ、正規分布に従うモデル化ノイズｗ、環境ノイズｖの分散を表す。
【００５１】
【数１１】
2020135073.tif 000013
【００５２】
この制御システムにおいて、従来のＷａｔｅｒｍａｒｋ法、および上記実施形態の提案手法による制御入力ｕｋを用いて、１回につき１０００ステップの動作によるパラメータ同定を、Ｎ＝１００回行った。従来のＷａｔｅｒｍａｒｋ法では、制御入力ｕｋが、次式（１２）で表されるように、ホワイトノイズが付加されたものと仮定した。
【００５３】
【数１２】
2020135073.tif 000014
【００５４】
また、上記実施形態の提案手法では、制御入力ｕｋが、次式（１３）で表されるように、有色ノイズが付加されたものと仮定した。
【００５５】
【数１３】
2020135073.tif 000015
【００５６】
図５および図６は、実施例を説明するための図である。図５には、同定したパラメータＡの固有値と、真の値とが極座標にプロットされている。従来のＷａｔｅｒｍａｒｋ法によれば、図５（ａ）に示すように、同定結果と真値とが近く、精度よく同定されていることがわかる。一方、上記実施形態の提案手法によれば、図５（ｂ）に示すように、同定結果と真値とが大きく離れており、同定精度が低いことがわかる。このように、上記実施形態の検知システム１によれば、パラメータ同定が困難であることが確認された。
【００５７】
次に、図６には、上記実施形態の提案手法の制御システムにおけるリプレイ攻撃の検知結果が例示されている。ここで、図６（ａ）には、上記式（１０）で示したＭ（１）と周波数ωとの関係が例示されている。図６（ａ）示すように、太枠で囲んで示す周波数帯（ｗ＝０．１，０１１，…，０．２）では、Ｍ（１）が十分に大きいことがわかる。
【００５８】
また、図６（ｂ）には、上記式（１３）に示したように、図６（ａ）で示したＭ（１）が十分に大きい周波数帯の有色ノイズが付加された制御入力ｕｋを用いた場合における、上記式（７）に示した統計量ｇｋ（以下、ｇと記す）の時系列変化が例示されている。ここでは、Ｔｉｍｅ＝１００からリプレイ攻撃を開始して、ｇの変化を監視した。この場合に、図６（ｂ）に示すように、Ｔｉｍｅ＝１００以降にｇの値が大きく変化して、所定の閾値を超えていることから、Ｔｉｍｅ＝１００以降にリプレイ攻撃があると判定できる。このように、上記実施形態の検知システム１によれば、リプレイ攻撃の検知が可能であることが確認された。
【００５９】
［プログラム］
上記実施形態に係る検知システム１が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。一実施形態として、検知システム１のコントローラ４は、パッケージソフトウェアやオンラインソフトウェアとして上記の検知処理を実行する検知プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の検知プログラムを情報処理装置に実行させることにより、情報処理装置をコントローラ４として機能させることができる。ここで言う情報処理装置には、デスクトップ型またはノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やＰＨＳ（Personal  Handyphone  System）などの移動体通信端末、さらには、ＰＤＡ（Personal  Digital  Assistant）などのスレート端末などがその範疇に含まれる。また、コントローラ４の機能を、クラウドサーバに実装してもよい。
【００６０】
図７は、検知プログラムを実行するコンピュータの一例を示す図である。コンピュータ１０００は、例えば、メモリ１０１０と、ＣＰＵ１０２０と、ハードディスクドライブインタフェース１０３０と、ディスクドライブインタフェース１０４０と、シリアルポートインタフェース１０５０と、ビデオアダプタ１０６０と、ネットワークインタフェース１０７０とを有する。これらの各部は、バス１０８０によって接続される。
【００６１】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１およびＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０３１に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１０４１に接続される。ディスクドライブ１０４１には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース１０５０には、例えば、マウス１０５１およびキーボード１０５２が接続される。ビデオアダプタ１０６０には、例えば、ディスプレイ１０６１が接続される。
【００６２】
ここで、ハードディスクドライブ１０３１は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３およびプログラムデータ１０９４を記憶する。上記実施形態で説明した各情報は、例えばハードディスクドライブ１０３１やメモリ１０１０に記憶される。
【００６３】
また、検知プログラムは、例えば、コンピュータ１０００によって実行される指令が記述されたプログラムモジュール１０９３として、ハードディスクドライブ１０３１に記憶される。具体的には、上記実施形態で説明したコントローラ４が実行する各処理が記述されたプログラムモジュール１０９３が、ハードディスクドライブ１０３１に記憶される。
【００６４】
また、検知プログラムによる情報処理に用いられるデータは、プログラムデータ１０９４として、例えば、ハードディスクドライブ１０３１に記憶される。そして、ＣＰＵ１０２０が、ハードディスクドライブ１０３１に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して、上述した各手順を実行する。
【００６５】
なお、検知プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０３１に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ１０４１等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、検知プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ＬＡＮやＷＡＮ（Wide  Area  Network）等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【００６６】
以上、本発明者によってなされた発明を適用した実施形態について説明したが、本実施形態による本発明の開示の一部をなす記述および図面により本発明は限定されることはない。すなわち、本実施形態に基づいて当業者等によりなされる他の実施形態、実施例および運用技術等は全て本発明の範疇に含まれる。
【符号の説明】
【００６７】
１  検知システム
２  制御対象
３  センサ
４  コントローラ
４ａ  状態推定部
４ｂ  算出部
４ｃ  検知部
５  アクチュエータ
【図１】
2020135073.tif 000016
【図２】
2020135073.tif 000017
【図３】
2020135073.tif 000018
【図４】
2020135073.tif 000019
【図５】
2020135073.tif 000020
【図６】
2020135073.tif 000021
【図７】
2020135073.tif 000022