(57)【要約】【課題】制御システムのセキュリティ性能を評価するためのデータセットの妥当性を検証するデータセット検証装置を提供する。【解決手段】データセット検証装置は、セキュリティ性能評価用のデータセットを検証するデータセット検証装置であって、セキュリティ機能が未稼働の環境下において対象制御装置に対して、所望の制御指令および所望のサイバー攻撃を含むデータセットである検証対象データセットを実行することにより得られる実行ログを取得するよう構成された取得部と、サイバー攻撃によって生じる実行ログから攻撃成功挙動を特定し、制御指令に基づいて予測される正常挙動から逸脱している攻撃成功挙動の有無を判定するよう構成された判定部と、を備える。【選択図】  図３
2020123203.tif 000002
【特許請求の範囲】
【請求項１】
セキュリティ性能評価用のデータセットを検証するデータセット検証装置であって、
セキュリティ機能が未稼働の環境下において対象制御装置に対して、所望の制御指令および所望のサイバー攻撃用の前記データセットである検証対象データセットを実行することにより得られる実行ログを取得するよう構成された取得部と、
前記サイバー攻撃によって生じる前記実行ログから攻撃成功挙動を特定し、前記制御指令に基づいて予測される正常挙動から逸脱している前記攻撃成功挙動の有無を判定するよう構成された判定部と、を備えることを特徴とするデータセット検証装置。
【請求項２】
前記判定部によって前記攻撃成功挙動が有りと判定された前記検証対象データセットの少なくとも前記サイバー攻撃の部分を、データベースに登録するよう構成された登録部を、さらに備えることを特徴とする請求項１に記載のデータセット検証装置。
【請求項３】
前記判定部は、前記実行ログから得られる、前記制御指令による目標値、前記対象制御装置による前記制御指令の実行に伴って観測される観測値、または通信量の少なくとも１つの変化に基づいて、前記攻撃成功挙動の有無の判定を行うことを特徴とする請求項１または２に記載のデータセット検証装置。
【請求項４】
前記所望のサイバー攻撃は、ＤｏＳまたはＤＤｏＳ攻撃を含み、
前記判定部は、前記実行ログに基づいて前記ＤｏＳまたはＤＤｏＳ攻撃の攻撃時期を検出すると共に、前記攻撃時期における前記攻撃成功挙動の有無を判定することを特徴とする請求項３に記載のデータセット検証装置。
【請求項５】
前記取得部は、前記所望の制御指令を正常送信ファイルから取得すると共に、前記所望のサイバー攻撃を攻撃送信ファイルから取得することにより、前記検証対象データセットを取得することを特徴とする請求項１〜４のいずれか１項に記載のデータセット検証装置。
【請求項６】
前記検証対象データセットを実行するよう構成された実行部を、さらに備え、
前記実行部は、前記検証対象データセットに従って、前記対象制御装置の複数のポートに対して前記通信を行うことを特徴とする請求項１〜５のいずれか１項に記載のデータセット検証装置。
【請求項７】
前記検証対象データセットの元となる元データセットを読み込み、前記元データセットで規定される通信データの所定のフィールドを書き換えることにより、前記検証対象データセットを生成する生成部を、さらに備え、
前記実行部は、前記生成部によって生成された前記検証対象データセットを実行することを特徴とする請求項６に記載のデータセット検証装置。
【請求項８】
前記所定のフィールドは、前記制御指令による目標値、前記対象制御装置による前記制御指令の実行に伴って観測される観測値、ポート番号、ネットワークアドレス、物理アドレスの少なくとも一つを含むことを特徴とする請求項７に記載のデータセット検証装置。
【請求項９】
前記判定部の判定結果を表示する表示部を、さらに備えることを特徴とする請求項１〜８のいずれか１項に記載のデータセット検証装置。
【請求項１０】
請求項６〜８のいずれか１項に記載のデータセット検証装置と、
前記データセット検証装置に通信可能に接続された対象制御装置と、を備えることを特徴とするデータセット検証システム。
【請求項１１】
セキュリティ性能評価用のデータセットを検証するデータセット検証プログラムであって、
コンピュータに、
セキュリティ機能が未稼働の環境下において対象制御装置に対して、所望の制御指令および所望のサイバー攻撃用の前記データセットである検証対象データセットを実行することにより得られる実行ログを取得するよう構成された取得部と、
前記サイバー攻撃によって生じる前記実行ログから攻撃成功挙動を特定し、前記制御指令に基づいて予測される正常挙動から逸脱している前記攻撃成功挙動の有無を判定するよう構成された判定部と、を実現させるためのプログラム。
【請求項１２】
セキュリティ性能評価用のデータセットを検証するデータセット検証方法であって、
セキュリティ機能が未稼働の環境下において対象制御装置に対して、所望の制御指令および所望のサイバー攻撃用の前記データセットである検証対象データセットを実行することにより得られる実行ログを取得するステップと、
前記サイバー攻撃によって生じる前記実行ログから攻撃成功挙動を特定し、前記制御指令に基づいて予測される正常挙動から逸脱している前記攻撃成功挙動の有無を判定するステップと、を備えることを特徴とするデータセット検証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、産業用制御システム（ＩＣＳ：Ｉｎｄｕｓｔｒｉａｌ  Ｃｏｎｔｒｏｌ  Ｓｙｓｔｅｍ）などの制御システムのセキュリティ性能を評価するためのデータセットの検証に関する。
【背景技術】
【０００２】
セキュリティ技術の共通評価基盤となるデータセットと呼ばれるものがある。同一のデータセットを用いてセキュリティ技術を評価することにより、開発したセキュリティ技術の性能を公平に評価できるようになる。一般的に、情報システムは、ネットワーク構成、使用されるプロトコル、機器構成等に大差はないことから、セキュリティ分野でのデータセットは情報システム向けに作成されたものが多い。例えば、情報システムの模擬環境を構築し、その環境下で取得した通信ログが、データセットとして数多く公表されている。
【０００３】
一方、近年では、産業用制御システムへのサイバー攻撃の頻度も増加しており、実被害まで及ぶケースも増えつつある。産業用制御システムへのサイバー攻撃は、制御装置と上位システムとの間で、例えばＤｏＳなどのサービス不能攻撃などの情報システムで広く使われる攻撃手法が行われる。これに加えて、産業用制御システムに特有な攻撃として、制御装置からの制御指令（目標値など）や、制御指令の実行に伴って変化するセンサ値等の観測値の改ざん等が行われる。
【０００４】
このような産業用制御システムなどの制御システムに対するサイバー攻撃に対して、例えば、特許文献１には、原子力発電プラント構内から仕掛けられるサイバー攻撃に対して、プラント運転技術員が適切な対応等をとれるような訓練を行うシミュレータが開示されている。このシミュレータは、構築した仮想監視制御システムに対してサイバー攻撃を行うための攻撃シナリオを生成して実行する。また、実行した攻撃シナリオによる攻撃対象の特定、および攻撃の除去等を行い、結果を画面に表示する。特許文献２には、制御システムの脆弱性を緩和するようにユーザを導くために、観測されたサイバー挙動に応答して、定量化された個別のリスクを変更することが開示されている。特許文献３では、監視ノードからのデータストリームを監視する脅威検出モデルのための潜在的判定境界を、正常特徴ベクトル、脅威特徴ベクトル、および初期アルゴリズムパラメータに基づいて自動的に計算する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１７−１９８８３６号公報
【特許文献２】特表２０１７−５２７０４４号公報
【特許文献３】特開２０１８−１３９１０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、制御システムのセキュリティ技術を評価するためのデータセットとして公表されているものは、ほぼ存在していないのが現状である。制御システムは、独自プロトコルが使用されることもあり、かつ制御装置の種類が多く、制御対象となる物理プロセスも一つに特定できないため、データセットが作成しにくい。そもそも、データセットをどのように作成すれば、様々な制御システムに適用可能であり、かつ、データセットによるセキュリティ性能の評価結果の公正さ（適正さ）を証明できるのかは明確になっていない。
【０００７】
このため、所望のサイバー攻撃を行うものとして用意したデータセットが自社などの特定の制御システムに対して、意図したサイバー攻撃を確実に実行できるとは限らない。よって、制御システムのセキュリティ性能を公正に評価するためには、データセットを実行することにより制御システムに意図したサイバー攻撃が確かに行われることを検証することで、データセットの妥当性を検証することが必要である。
【０００８】
上述の事情に鑑みて、本発明の少なくとも一実施形態は、制御システムのセキュリティ性能を評価するためのデータセットの妥当性を検証するデータセット検証装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
（１）本発明の少なくとも一実施形態に係るデータセット検証装置は、
セキュリティ性能評価用のデータセットを検証するデータセット検証装置であって、
セキュリティ機能が未稼働の環境下において対象制御装置に対して、所望の制御指令および所望のサイバー攻撃用の前記データセットである検証対象データセットを実行することにより得られる実行ログを取得するよう構成された取得部と、
前記サイバー攻撃によって生じる前記実行ログから攻撃成功挙動を特定し、前記制御指令に基づいて予測される正常挙動から逸脱している前記攻撃成功挙動の有無を判定するよう構成された判定部と、を備える。
【００１０】
上記（１）の構成によれば、検証対象データセットを対象制御装置に実行した実行ログの解析を通して、実行した検証対象データセットに含まれるサイバー攻撃が適切に機能しているか否かを検証（確認）する。検証対象データセットによりサイバー攻撃が確実に行われることを検証した上で、セキュリティ機能が稼働している制御システムにおいて検証済みのデータセットを実行することにより、制御システムのセキュリティ性能を適切に評価することができる。
【００１１】
（２）幾つかの実施形態では、上記（１）の構成において、
前記判定部によって前記攻撃成功挙動が有りと判定された前記検証対象データセットの少なくとも前記サイバー攻撃の部分を、データベースに登録するよう構成された登録部を、さらに備える。
【００１２】
上記（２）の構成によれば、検証済みのデータセットをデータベースに登録する。これによって、このデータベースにアクセス可能であることを条件に、検証済みのデータセットを誰もが利用することができるようになる。よって、検証済みのデータセットを共通評価基盤として利用することができ、この検証済みのデータセットを用いることで、制御システムのセキュリティ性能を公正に評価することができる。
【００１３】
（３）幾つかの実施形態では、上記（１）〜（２）の構成において、
前記判定部は、前記実行ログから得られる、前記制御指令による目標値、前記対象制御装置による前記制御指令の実行に伴って観測される観測値、または通信量の少なくとも１つの変化に基づいて、前記攻撃成功挙動の有無の判定を行う。
【００１４】
上記（３）の構成によれば、１または複数の観点で実行ログを解析することにより、実行ログに攻撃成功挙動が含まれるか否かを適切に判定することができる。
【００１５】
（４）幾つかの実施形態では、上記（３）の構成において、
前記所望のサイバー攻撃は、ＤｏＳまたはＤＤｏＳ攻撃を含み、
前記判定部は、前記実行ログに基づいて前記ＤｏＳまたはＤＤｏＳ攻撃の攻撃時期を検出すると共に、前記攻撃時期における前記攻撃成功挙動の有無を判定する。
【００１６】
上記（４）の構成によれば、ＤｏＳ攻撃等の攻撃時期における攻撃成功挙動の有無を判定する。このように、多観点での判定を行うことにより、サイバー攻撃以外の理由で攻撃成功挙動が生じた場合を排除し、判定精度を高めることができる。
【００１７】
（５）幾つかの実施形態では、上記（１）〜（４）の構成において、
前記取得部は、前記所望の制御指令を正常送信ファイルから取得すると共に、前記所望のサイバー攻撃を攻撃送信ファイルから取得することにより、前記検証対象データセットを取得する。
【００１８】
上記（５）の構成によれば、検証対象データセットを構成する制御指令とサイバー攻撃とは、別々のファイルで管理される。これによって、データセット検証装置は、攻撃送信ファイルを変更することで、異なるサイバー攻撃を含む検証対象となるデータセットを容易に取得することができる。
【００１９】
（６）幾つかの実施形態では、上記（１）〜（５）の構成において、
前記検証対象データセットを実行するよう構成された実行部を、さらに備え、
前記実行部は、前記検証対象データセットに従って、前記対象制御装置の複数のポートに対して前記通信を行う。
【００２０】
上記（６）の構成によれば、データセット検証装置は、制御対象装置と複数のセッションを確立し、複数のセッションを用いて検証対象データセットを実行する。これによって、複数の通信プトロコルを用いてセキュリティ性能を評価するデータセットを検証することができる。
【００２１】
（７）幾つかの実施形態では、上記（６）の構成において、
前記検証対象データセットの元となる元データセットを読み込み、前記元データセットで規定される通信データの所定のフィールドを書き換えることにより、前記検証対象データセットを生成する生成部を、さらに備え、
前記実行部は、前記生成部によって生成された前記検証対象データセットを実行する。
【００２２】
上記（７）の構成によれば、元データセットを流用して、対象制御装置に対して実行可能な検証対象データセットを生成する。これによって、対象制御装置が存在する環境下ではそのままでは実行できないような元データセットであっても、元データセットから、対象制御装置に対して実行可能な検証対象データセットを生成することができる。
【００２３】
（８）幾つかの実施形態では、上記（７）の構成において、
前記所定のフィールドは、前記制御指令による目標値、前記対象制御装置による前記制御指令の実行に伴って観測される観測値、ポート番号、ネットワークアドレス、物理アドレスの少なくとも一つを含む。
上記（８）の構成によれば、対象制御装置に対して実行可能な検証対象データセットを、元データセットから適切に生成することができる。
【００２４】
（９）幾つかの実施形態では、上記（１）〜（８）の構成において、
前記判定部による判定結果を表示する表示部を、さらに備える。
上記（９）の構成によれば、判定部による判定結果を表示する。これによって、ユーザに提示することができると共に、後述する図４〜図６に示すような各グラフを、ユーザに提示することなども可能にできる。
【００２５】
（１０）本発明の少なくとも一実施形態に係るデータセット検証システムは、
上記（６）〜（８）のいずれか１項に記載のデータセット検証装置と、
前記データセット検証装置に通信可能に接続された対象制御装置と、を備える。
上記（１０）の構成によれば、上記（６）〜（９）と同様の効果を奏する。
【００２６】
（１１）本発明の少なくとも一実施形態に係るデータセット検証プログラムは、
セキュリティ性能評価用のデータセットを検証するデータセット検証プログラムであって、
コンピュータに、
セキュリティ機能が未稼働の環境下において対象制御装置に対して、所望の制御指令および所望のサイバー攻撃用の前記データセットである検証対象データセットを実行することにより得られる実行ログを取得するよう構成された取得部と、
前記サイバー攻撃によって生じる前記実行から攻撃成功挙動を特定し、前記制御指令に基づいて予測される正常挙動から逸脱している前記攻撃成功挙動の有無を判定するよう構成された判定部と、を実現させるためのプログラムである。
上記（１１）の構成によれば、上記（１）と同様の効果を奏する。
【００２７】
（１２）本発明の少なくとも一実施形態に係るデータセット検証方法は、
セキュリティ性能評価用のデータセットを検証するデータセット検証方法であって、
セキュリティ機能が未稼働の環境下において対象制御装置に対して、所望の制御指令および所望のサイバー攻撃用の前記データセットである検証対象データセットを実行することにより得られる実行ログを取得するステップと、
前記サイバー攻撃によって生じる前記実行ログから攻撃成功挙動を特定し、前記制御指令に基づいて予測される正常挙動から逸脱している前記攻撃成功挙動の有無を判定するステップと、を備える。
上記（１２）の構成によれば、上記（１）と同様の効果を奏する。
【発明の効果】
【００２８】
本発明の少なくとも一実施形態によれば、制御システムのセキュリティ性能を評価するためのデータセットの妥当性を検証するデータセット検証装置が提供される。
【図面の簡単な説明】
【００２９】
【図１】本発明の一実施形態に係る産業制御システム（ＩＣＳ）の構成を概略的に示す図である。
【図２】本発明の一実施形態に係るデータセット検証システムの構成を概略的に示す図である。
【図３】本発明の一実施形態に係るデータセット検証装置の機能を概略的に示すブロック図である。
【図４】本発明の一実施形態に係る制御指令の実行に伴って変化する（ａ）目標値の時間推移、（ｂ）観測値の時間推移を例示するグラフである。
【図５】本発明の一実施形態に係るサービス不能攻撃時の対象制御装置の処理状況を示す図であり、（ａ）は通信量の変化を示し、（ｂ）〜（ｅ）は処理状況を示す。
【図６】本発明の他の一実施形態に係る制御指令の実行に伴って変化する（ａ）通信量、（ｂ）目標値、（ｃ）観測値の時間推移を例示するグラフである。
【図７】本発明の一実施形態に係る実行部が実行するフローを示す図である。
【図８】図７に対応するシーケンス図である。
【図９】本発明の一実施形態に係るデータセット検証方法を示す図である。
【発明を実施するための形態】
【００３０】
以下、添付図面を参照して本発明の幾つかの実施形態について説明する。ただし、実施形態として記載されている又は図面に示されている構成部品の寸法、材質、形状、その相対的配置等は、本発明の範囲をこれに限定する趣旨ではなく、単なる説明例にすぎない。
例えば、「ある方向に」、「ある方向に沿って」、「平行」、「直交」、「中心」、「同心」或いは「同軸」等の相対的或いは絶対的な配置を表す表現は、厳密にそのような配置を表すのみならず、公差、若しくは、同じ機能が得られる程度の角度や距離をもって相対的に変位している状態も表すものとする。
例えば、「同一」、「等しい」及び「均質」等の物事が等しい状態であることを表す表現は、厳密に等しい状態を表すのみならず、公差、若しくは、同じ機能が得られる程度の差が存在している状態も表すものとする。
例えば、四角形状や円筒形状等の形状を表す表現は、幾何学的に厳密な意味での四角形状や円筒形状等の形状を表すのみならず、同じ効果が得られる範囲で、凹凸部や面取り部等を含む形状も表すものとする。
一方、一の構成要素を「備える」、「具える」、「具備する」、「含む」、又は、「有する」という表現は、他の構成要素の存在を除外する排他的な表現ではない。
【００３１】
図１は本発明の一実施形態に係る産業制御システム（ＩＣＳ）の構成を概略的に示す図である。図２は、本発明の一実施形態に係るデータセット検証システム７の構成を概略的に示す図である。
【００３２】
データセット検証装置１は、例えば産業用制御システムといった制御システム８などのセキュリティ性能評価用のデータセットを検証するための装置である。また、産業用制御システム（ＩＣＳ）は、電力、ガス、水道などの社会インフラや、発電プラント、化学プラントなどのプラントの監視および制御のためのシステムであり、図１に示すように階層的に構成されたシステムである。具体的には、図１に示すように、プラント等に設置された複数のフィールド機器９１を制御するＰＬＣ（Ｐｒｏｇｒａｍａｂｌｅ  Ｌｏｇｉｃ  Ｃｏｎｔｒｏｌｌｅｒ）などの制御装置９２が、制御ネットワーク８１を介して、制御情報ネットワーク８２に接続された各種の装置に接続される。
【００３３】
この制御ネットワーク８１は、フィールド機器９１と制御装置９２とを接続する通信ネットワークである。そして、フィールド機器９１は、例えば温度、流量、圧力などを計測する各種の計測器（センサ）や、ダンパや調節弁（バルブ）といった操作端などである。他方、制御情報ネットワーク８２は、プラント等の制御や監視、管理を行うための各種のコンピュータ装置が接続される通信ネットワークであり、ファイアウォール装置９６などを介して、情報システムを構成するオフィス内のＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）や、インターネットなどの情報系ネットワーク８３に接続される。
【００３４】
図１に示す実施形態では、制御ネットワーク８１は、Ｍｏｄｂｕｓプロトコルを実装した通信ネットワークとなっている。図１に示すように、制御ネットワーク８１はリング型のトポロジーを有していても良い。そして、Ｍｏｄｂｕｓメッセージは、ＴＣＰやＵＤＰに載せられて制御ネットワーク８１を通信されるように構成されている（図２参照）。ただし、本実施形態に本発明は限定されない。他の幾つかの実施形態では、Ｍｏｄｂｕｓメッセージは、その他の周知なプロトコルで通信されるよう構成されても良い。他方、制御情報ネットワーク８２はＩＰネットワークとなっている。そして、例えば、プラントの操作および監視を行うヒューマンマシンインタフェース（ＨＭＩ）となるオペレータステーション（ＯＰＳ９３）や、上記の制御装置９２との入出力や各種の演算処理を行う制御サーバ９４、プラントデータの大容量保存・管理を行うＡＣＳ９５（Ａｃｃｅｓｓｏｒｙ  Ｓｔａｔｉｏｎ）などが接続されている。
【００３５】
そして、制御装置９２は、制御サーバ９４がＯＰＳ９３などから受信した指令に基づいて生成した制御指令Ｉを受信すると、この制御指令Ｉに従ってフィールド機器９１を制御（操作）するように構成されている。例えば、制御装置９２は、制御指令Ｉとして、例えば制御パラメータの設定値（例えば任意の圧力の目標値など）を受信すると、フィールド機器９１の制御量（上記の場合には対応するバルブの開度など）を演算すると共に、この演算結果に基づいてフィールド機器９１のアクチュエータを動作させてフィールド機器９１を制御する。この時、制御装置９２は、制御指令Ｉ（後述するＭｏｄｂｕｓのクエリ）を正常に受け付けた場合には、その旨の応答Ｉｒ（応答メッセージ）を返したりする。また、この制御装置９２による制御に伴って、フィールド機器９１によって制御されている流量、温度、圧力などの物理量（上記の場合には圧力）が変化するが、こうした物理的な状態変化はセンサなどで観測（測定）される。そして、例えば制御装置９２がＰＩＤ制御（Ｐｒｏｐｏｒｔｉｏｎａｌ−Ｉｎｔｅｇｒａｌ−Ｄｉｆｆｅｒｅｎｔｉａｌ  Ｃｏｎｔｒｏｌｌｅｒ）を実行している場合には、観測された状態変化（観測値）がフィードバックされ、フィードバック値が制御パラメータの設定値（目標値）なるように制御がなされる。
【００３６】
なお、図１に示す実施形態では、リアルタイムに取得すべきセンサ値といった観測値などの情報は、制御装置９２からＡＳＣ９５に直接送信されるように構成されている。また、ＯＰＳ９３や情報システム側となるコンピュータ機器は、ＡＣＳ９５にアクセスすることで、リアルタイムの情報などを取得するように構成されている。図１では、ＯＰＳ９３やＡＣＳ９５は、制御サーバ９４を介して制御ネットワーク８１に接続されているが、ＯＰＳ９３やＡＣＳ９５などの制御情報ネットワーク８２に接続された各種装置は、制御ネットワーク８１に直接接続されても良く、また、制御ネットワーク８１を介して互いに通信を行っても良い。
【００３７】
そして、データセット検証装置１は、検証対象となるデータセット（以下、検証対象データセットＳ）を、上述した制御システム８で用いられるＰＬＣなどの制御装置９２自体またはそれを模擬したような試験的な装置などとなる対象制御装置７１に対して実行することにより得られる実行ログＬを取得し、取得した実行ログＬに基づいて、その検証対象データセットＳの妥当性を検証する。このデータセットは、制御指令Ｉやその応答Ｉｒなどとなる通信メッセージと共に、その通信メッセージを送信元装置から宛先装置に通信するのに必要な情報を規定した複数のレコードの集合である。よって、各レコードを実行すると、各レコードで規定された通信メッセージや通信情報を含む通信データＰの送信や受信がなされる。
【００３８】
より詳細には、図２に示すようなデータセット検証システム７を構築し、対象制御装置７１に対して検証対象データセットＳを実行しても良い。具体的には、検証対象データセットＳを実行することが可能なコンピュータ装置（実行装置７２）を、制御ネットワーク８１に相当する通信ネットワークあるいは通信線を介して、対象制御装置７１に通信可能に接続する。この通信ネットワーク等は、後述するＤｏＳ攻撃等を考慮すると、対象制御装置７１の実環境と同等以上の通信容量、速度を有するのが望ましい。本実施形態では、実環境の制御ネットワーク８１がＭｏｄｂｕｓであり、実行装置７２がマスタ、対象制御装置７１がスレーブとなる。なお、図２に示す実施形態では、データセット検証システム７は、実環境とは異なる試験環境であるが、この実行装置７２および対象制御装置７１は、制御ネットワーク８１（つまり、実環境）に接続しても良い。
【００３９】
そして、マスタとなる実行装置７２は、データセットの実行を開始することによって、データセットで規定される複数の通信（レコード）を順次または並列に実行することにより、対象制御装置７１に対して通信データＰの送信を行う。また、送信した通信データＰに対する応答Ｉｒを受信する。図２に示す実施形態では、実行装置７２上では、攻撃用の装置や不正プログラム、および、これらとは異なる正規の制御サーバ９４やＯＰＳ９３といった制御情報ネットワーク８２などに接続された装置や正規のプログラムを模擬可能な実行ソフトが動作している。そして、実行ソフトによってデータセットが実行されることで、その実行ソフトのプロセスあるいはスレッドから上述した通信データＰが送信されるようになっている。また、データセットが実行されることにより、実行ログＬを格納したログファイルが生成されるようになっている。
【００４０】
具体的には、実行ソフトは、レジスタ定義ファイルで定義された通信フォーマットや応答Ｉｒの待機時間などの情報に従って、通信データＰの生成や、その送受信を行うようになっている。また、本実施形態では、対象制御装置７１は、ＴＣＰで行われた通信に対して応答Ｉｒを送信し、ＵＤＰで行われた通信に対しては受信のみするようになっていることで、実行ソフトは、ＴＣＰ通信の場合のみ応答Ｉｒを受信するようになっている。なお、図２に示す実施形態では、実行装置７２上に複数のプロセスが起動されているが、１以上であれば良い。また、複数の実行装置７２を用いて、データセットを分担して実行するようにしても良い。
【００４１】
より具体的には、実行装置７２は、データセットに従って、書込要求（クエリ）などとなる制御指令Ｉを対象制御装置７１に送信すると共に、対象制御装置７１から送信される応答Ｉｒを受信する。同様に、実行装置７２は、読出要求（クエリ）を送信することで、その応答Ｉｒを対象制御装置７１から受信する。例えば、読出要求により、対象制御装置７１に設定されている目標値を要求すれば、対象制御装置７１のレジスタ等のメモリに記憶されている目標値がセットされた応答Ｉｒが返送される。読出要求により、任意の観測値を要求すれば、要求された観測値がセットされた応答Ｉｒが返送される。
【００４２】
他方、対象制御装置７１は、上述したように、受信した制御指令Ｉに対する応答Ｉｒを、実行装置７２に対して送信する。また、対象制御装置７１は、制御指令Ｉに従ってフィールド機器９１に対する制御量（既出）を演算する。具体的には、図２に示すように、対象制御装置７１は、フィールド機器９１の制御パラメータの制御に伴い生じる物理的な状態変化をシミュレーション可能な物理モデルＭを備えている。そして、演算した制御量を物理モデルＭに入力し、物理モデルＭにより、制御対象のフィールド機器９１を制御量で制御（制御指令Ｉの実行）したことによる物理的な状態変化を計算しても良い。よって、制御指令Ｉの実行に伴って生じる物理的な状態変化の予測値を、物理モデルＭを用いて例えば所定周期毎に計算すれば、その経時的な変化の予測値が得られる。図２に示す実施形態では、ＰＩＤ制御部７１ｃは、制御指令Ｉ（目標値）および物理モデルＭからの出力（計算結果）が入力されることで、制御量を演算するようになっている。
【００４３】
なお、他の幾つかの実施形態では、対象制御装置７１は物理モデルＭを有していなくても良い。この場合には、対象制御装置７１は、実環境、あるいは試験環境として用意された物理的なフィールド機器９１に接続されることで、物理定な状態変化を実際の計測を通して得る。そして、ＰＩＤ制御部７１ｃには、制御指令Ｉ（目標値）及び計測値が入力される。
【００４４】
上述したようなデータセット検証システム７を用いて検証対象データセットＳを実行し、実行ログＬを取得することで、検証対象データセットＳが所望の攻撃を制御システム８に対して行うことができるかの検証を行う。その結果、検証対象データセットＳが所望の攻撃を制御システム８に対して行えていることを確認できた場合には、検証対象データセットＳの妥当性が肯定され、そうでない場合には検証対象データセットＳの妥当性は否定されることになる。
【００４５】
以下、上述したデータセット検証装置１について、図３を用いて詳細に説明する。
図３は、本発明の一実施形態に係るデータセット検証装置１の機能を概略的に示すブロック図である。
【００４６】
図３に示すように、データセット検証装置１は、取得部２と、判定部３と、を備える。
なお、データセット検証装置１は、例えばコンピュータで構成されている。具体的には、図示しないＣＰＵ（プロセッサ）や、ＲＯＭやＲＡＭといったメモリ、外部記憶装置などの記憶装置ｍを備えている。そして、主記憶装置にロードされたプログラム（データセット検証プログラム）の命令に従ってＣＰＵが動作（データの演算など）することで、データセット検証装置１が備える各機能部を実現する。
以下、データセット検証装置１が備える上記の機能部について、それぞれ説明する。
【００４７】
取得部２は、セキュリティ機能が未稼働の環境下において対象制御装置７１に対して検証対象データセットＳを実行することにより得られる実行ログＬを取得するよう構成された機能部である。この検証対象データセットＳは、サイバー攻撃ではなく、意図した通常の制御指令Ｉとしての所望の制御指令Ｉ（以下、正常制御指令Ｉｎ）、および、検証対象データセットＳを実行することにより行いたい攻撃である所望のサイバー攻撃を含んでいる。よって、この検証対象データセットＳを実行すると、対象制御装置７１に対して、正常制御指令Ｉｎおよびサイバー攻撃が実行される。
【００４８】
ここで、上記のセキュリティ機能が未稼働（未動作）の環境下とは、セキュリティ機能が未実装、または実装されているが機能が有効化されていない（オフ）の状態である。少なくとも、検証対象データセットＳで行おうとうするサイバー攻撃の検出あるいは防御の少なくとも一方を行うためのセキュリティ機能が未稼働となっていれば良い。よって、セキュリティ機能が未稼働な環境下において検証対象データセットＳを実行すると、対象制御装置７１や通信ネットワーク上にサイバー攻撃を防御する機能がなんら稼働（動作）していないため、検証対象データセットＳが妥当性を有する場合にはサイバー攻撃による挙動が実行ログＬに表れる。
【００４９】
具体的には、サイバー攻撃が、例えば、ＤｏＳ（Ｄｅｎｉａｌ  ｏｆ  Ｓｅｒｖｉｃｅ  ａｔｔａｃｋ）またはＤＤｏＳ（Ｄｉｓｔｒｉｂｕｔｅｄ  Ｄｅｎｉａｌ  ｏｆ  Ｓｅｒｖｉｃｅ  ａｔｔａｃｋ）攻撃（以下、適宜、サービス不能攻撃）の場合には、実行ログＬには、大量のデータが通信されることにより、対象制御装置７１が正常制御指令Ｉｎを適切に処理できない状況が示される。サイバー攻撃が、制御指令Ｉや観測値の改ざん、なりすましの場合には、実行ログＬには、読出要求などを通して得られる応答Ｉｒに、正常制御指令Ｉｎとは異なる目標値や、正常制御指令Ｉｎに基づいて予想される値とは異なる観測値が示される。なお、実行ログＬは、ネットワークからキャプチャ可能なような通信データＰのログ（通信ログ）が含まれても良いし、対象制御装置７１の記憶装置などから取得可能な各種のログが含まれても良い。
【００５０】
判定部３は、検証対象データセットＳの実行により対象制御装置７１に対して行われるサイバー攻撃によって生じる、上述した実行ログＬにおける攻撃成功挙動Ｂであって、制御指令Ｉに基づいて予測される正常挙動から逸脱している攻撃成功挙動Ｂの有無を判定するよう構成された機能部である。すなわち、実行ログＬから攻撃成功挙動Ｂとなる箇所が見つけられれば、検証対象データセットＳの実行によって、対象制御装置７１に影響を与えられるような実効性のあるサイバー攻撃を対象制御装置７１に対して確かに加えることができたことの証拠が得られることになる。よって、このようなサイバー攻撃を受けた証拠が得られた検証済みのデータセット（以下、検証済みデータセットＳｖ）を、例えばＩＤＳなどのセキュリティ機能が稼働している環境下にある制御システム８内の制御情報ネットワーク８２などで実行すれば、セキュリティ機能によって、実行されたサイバー攻撃が検知できているかや、適切な防御がなされているかなど、セキュリティ性能の評価を適正に行うことが可能となる。
【００５１】
逆に、実行ログＬから攻撃成功挙動Ｂとなる箇所が見つけられなければ、その検証対象データセットＳによっては対象制御装置７１に対して実効性のあるサイバー攻撃が行えていないことの証拠が得られたことになる。よって、このようなデータセットを実行した後に、制御システム８がサイバー攻撃の影響を受けることなく正常に稼働していたとしても、それはサイバー攻撃が実際には意図したように行われなかったためであり、制御システム８に実装されたセキュリティ機能の動作によるものではない。
【００５２】
したがって、データセットの妥当性を上述したように予め検証しておくことで、妥当性のないデータセットをそうとは知らずに用いた評価によって、制御システム８のセキュリティ性能の誤った評価結果を得ることを防止することが可能となる。なお、図３に示す実施形態では、判定部３による判定結果や、後述する図４〜図６に示すような各グラフが、各図に含まれる複数のグラフの少なくとも２つが対比可能となるような形式などで、ディスプレイなどの表示部１２に出力されるようになっている。
【００５３】
上記の構成によれば、検証対象データセットＳを対象制御装置７１に実行した実行ログＬの解析を通して、実行した検証対象データセットＳに含まれるサイバー攻撃が適切に機能しているか否かを検証（確認）する。検証対象データセットＳによりサイバー攻撃が確実に行われることを検証した上で、セキュリティ機能が稼働している制御システム８において検証済みデータセットＳｖを実行することにより、制御システム８のセキュリティ性能を適切に評価することができる。
【００５４】
また、幾つかの実施形態では、上述した判定部３によって攻撃成功挙動Ｂが有りと判定された検証対象データセットＳの少なくともサイバー攻撃の部分を、データベース４２に登録するよう構成された登録部４を、さらに備える。このデータベース４２は、使用が許可された者が自由にアクセス可能な公開用のデータベース４２であっても良い。このような公開用のデータベース４２は、インターネット上に設置されていても良い。また、判定部３による判定を経て、検証対象データセットＳの妥当性が有るとの結果を得た場合に、登録部４は、予め指定されている場所に登録するための登録処理を自動で実行しても良い。あるいは、ユーザが部分的に介在することで、上記の登録処理を実行しても良い。
【００５５】
上記の構成によれば、検証済みデータセットＳｖをデータベースに登録する。これによって、このデータベースにアクセス可能であることを条件に、検証済みデータセットＳｖを誰もが利用することができるようになる。よって、検証済みデータセットＳｖを共通評価基盤として利用することができ、この検証済みデータセットＳｖを用いることで、制御システム８のセキュリティ性能を公正に評価することができる。
【００５６】
また、幾つかの実施形態では、上述した判定部３は、上記の実行ログＬから得られる、制御指令Ｉによる目標値（図４（ａ）参照）、対象制御装置７１による制御指令Ｉの実行に伴って観測される観測値（図４（ｂ）参照）、または通信量（図５（ａ）、図６（ａ）参照）の少なくとも１つの変化に基づいて、上述した攻撃成功挙動Ｂの有無の判定を行う。すなわち、判定部３は、１または複数の観点の経時的などの変化に基づいて実行ログＬの解析を実行し、上記の判定を行う。これによって、実行ログＬに攻撃成功挙動Ｂが含まれるか否かを適切に判定することができる。
【００５７】
これについて、図４〜図６を用いて具体的に説明する。なお、既に述べたように、上記の目標値は、制御指令Ｉで指定される制御パラメータの設定値などであり、対象制御装置７１が制御指令Ｉを正常に受け付けることで変化するものである。観測値は、物理モデルＭで算出される、物理モデルＭからの出力か、あるいは実測されるセンサの計測値に対応する。
【００５８】
図４は、本発明の一実施形態に係る制御指令Ｉの実行に伴って変化する（ａ）目標値の時間推移、（ｂ）観測値の時間推移を例示するグラフである。例えば、検証対象データセットＳに、対象制御装置７１にセットする目標値を第１値ａ１にする正常制御指令Ｉｎと、この目標値を、上記の第１値ａ１とは異なる第２値ａ２になるようなサイバー攻撃による制御指令Ｉ（以下、攻撃制御指令Ｉａ）とが含まれているとする。また、この検証対象データセットＳでは、正常制御指令Ｉｎ（図４では時刻ｔ１）の実行後の任意のタイミング（図４では時刻ｔ２）で、攻撃制御指令Ｉａが実行されるとする。
【００５９】
つまり、この検証対象データセットＳには、対象制御装置７１にセットされる目標値の改ざん等により、目標値を第１値ａ１から第２値ａ２に変更させるサイバー攻撃が含まれている。そして、対象制御装置７１が正常制御指令Ｉｎに応じた制御を実行することにより、目標値が第１値ａ１で一定に推移するはずが、サイバー攻撃により対象制御装置７１が攻撃制御指令Ｉａを実行することにより途中で第２値ａ２に変化される。同様に、目標値が変化されることで（時刻ｔ２）、物理モデルＭによる計算結果あるいは実測値となる観測値も、図４（ｂ）に示すように、ＰＩＤ制御により目標値に向けて徐々に変化していく。
【００６０】
そして、このような検証対象データセットＳを実行した場合に得られる実行ログＬにおいて、図４（ａ）に示すように、正常制御指令Ｉｎによって対象制御装置７１にセットされた目標値が第１値ａ１で一定とならずに、途中で第２値ａ２に変化していることを検出した場合には、判定部３は、実行ログＬに攻撃成功挙動Ｂが有ると判定しても良い。あるいは、図４（ｂ）に示すように、正常制御指令Ｉｎでセットされた目標値に基づく制御によって得られる観測値が第１値ａ１に収束するように変化せず、途中で第２値ａ２に収束するように変化していることを検出した場合には、判定部３は、実行ログＬに攻撃成功挙動Ｂが有ると判定しても良い。これらの少なくとも一方の検出により、検証対象データセットＳの妥当性が検証できたことになる。
【００６１】
逆に、図４（ａ）において、上記の目標値が第１値ａ１にセットされた後に、第２値ａ２に変化することなく第１値ａ１で一定に推移する場合には、判定部３は実行ログＬに攻撃成功挙動Ｂが無いと判定しても良い。あるいは、図４（ｂ）において、上記の観測値が、第２値ａ２に向かうことなく、第１値ａ１に収束するように推移する場合には、判定部３は実行ログＬに攻撃成功挙動Ｂが無いと判定しても良い。これらの少なくとも一方の検出により、検証対象データセットＳの妥当性が検証できなかったことになる。
【００６２】
また、図５は、本発明の一実施形態に係るサービス不能攻撃時の対象制御装置７１の処理を示す図であり、（ａ）は通信量の変化を示し、（ｂ）〜（ｅ）は処理状況を示す。具体的には、図５の（ｂ）は、対象制御装置７１が制御指令Ｉを受信したか否かを示す受信フラグの値（０：不受信、１：受信）の時間推移を示す。図５の（ｃ）は、対象制御装置７１が受信したＭｏｄｂｕｓメッセージから得られる処理内容を表すファンクションコード（受信ＦＣ）の時間推移を示す。図５の（ｄ）は、対象制御装置７１から制御指令Ｉに対する応答Ｉｒを送信したか否かを示す送信フラグの値（０：不受信、１：受信）の時間推移を示す。また、図５の（ｅ）は、上記の応答Ｉｒから得られる対象制御装置７１から制御指令Ｉに対する応答Ｉｒ（Ｍｏｄｂｕｓメッセージ）から得られるファンクションコード（送信ＦＣ）の時間推移を示す。
【００６３】
図５に示す実施形態では、図５（ａ）に示すように、対象制御装置７１に対する通信量が段階的（徐々）に上がっていく中で、対象制御装置７１に対して正常制御指令Ｉｎが周期的に送信されている。そして、時刻ｔ１〜ｔ２の間は、対象制御装置７１は、正常制御指令Ｉｎの受信（図５（ｂ）参照）、および、指令された受信ＦＣで示される処理の実行（図５（ｃ）参照）、正常制御指令Ｉｎに対する応答Ｉｒの送信ができている（図５（ｅ）参照）。また、図５（ｃ）と図５（ｅ）とを比較することで、正常制御指令Ｉｎで指令した処理内容と、これに応じて対象制御装置７１が実行した処理内容とが同じであることも確認できる。
【００６４】
しかし、図５のｎ時刻ｔ２以降は、正常制御指令Ｉｎが周期的に送信しているにもかかわらず、受信フラグが０のままである。つまり、サービス不能攻撃によって、対象制御装置７１は正常制御指令Ｉｎの受信ができていない。さらに、正常制御指令Ｉｎの受信できないので、正常制御指令Ｉｎの実行もできていない。このような状況が実行ログＬから検出されることで、判定部３は、実行ログＬに攻撃成功挙動Ｂが有ると判定しても良い。逆に、通信量が例えば最大値になっても、図５（ｂ）の受信フラグが１（オン）にならない場合、図５（ｄ）の送信フラグが１（オン）にならない場合、図５（ｅ）の送信ＦＣが実行ソフト側で得られないなどによって、図５（ｂ）と図５（ｅ）との同じタイミングにおける受信ＦＣと送信ＦＣとが異なる場合を検出した場合には、判定部３は実行ログＬに攻撃成功挙動Ｂが無いと判定しても良い。
【００６５】
また、図６は、本発明の他の一実施形態に係る制御指令Ｉの実行に伴って変化する（ａ）通信量、（ｂ）目標値、（ｃ）観測値の時間推移を例示するグラフである。例えば、検証対象データセットＳに、対象制御装置７１にセットする目標値を第１値ａ１にする正常制御指令Ｉｎと、サイバー攻撃として大量の通信データＰを送信することにより、対象制御装置７１の正常制御指令Ｉｎの実行（サービス）を不能にするサービス不能攻撃（ＤｏＳ攻撃やＤＤｏＳ攻撃）が含まれているとする。また、サービス不能攻撃は、同一の正常制御指令Ｉｎの周期的な送信を開始後（図６では時刻ｔ１）、その途中（図６では時刻ｔ２）から、所定時間継続するサービス不能攻撃を周期的に実行されるようになっている。つまり、この検証対象データセットＳは、サービス不能攻撃により、対象制御装置７１が正常制御指令Ｉｎを適切に処理できないようなサイバー攻撃が含まれている。
【００６６】
そして、このような検証対象データセットＳを実行した場合に得られる実行ログＬにおいて、図６（ｂ）〜図６（ｃ）に示すように、対象制御装置７１に指令された目標値や観測値が第１値ａ１で一定とならずに、途中で第２値ａ２に変化していることを検出した場合には、判定部３は、実行ログＬに攻撃成功挙動Ｂが有ると判定する。なお、図６（ｂ）〜図６（ｃ）に示す実施形態では、サービス不能攻撃により送信した制御指令Ｉに対する応答Ｉｒが得られず、実行ログＬにこの応答Ｉｒがない時間帯は、目標値や観測値が０になるようになっている。
【００６７】
この際、判定部３は、実行ログＬに基づいてＤｏＳまたはＤＤｏＳ攻撃の攻撃時期（攻撃時間帯）を検出すると共に、攻撃時期における攻撃成功挙動Ｂの有無を判定しても良い。具体的には、実行ログＬから、図６（ａ）に示すような通信量の時間推移を分析することで、異常なほど通信量が増大している時間帯を検出すると共に、その時間帯における目標値や観測値が、正常制御指令Ｉｎとは異なる値となっているか否かを確認する。そして、攻撃時期において、目標値や観測値が正常制御指令Ｉｎとは異なる値となっている場合には、判定部３は、実行ログＬに攻撃成功挙動Ｂが有ると判定する。逆に、目標値や観測値が正常制御指令Ｉｎとは異なる値となっている時間帯があったとしても、攻撃時期と一致しない場合には、判定部３は実行ログＬに攻撃成功挙動Ｂが無いと判定する。
【００６８】
これによって、自然発生的なエラーなど、サイバー攻撃ではない何らかの原因により、目標値や観測値が正常制御指令Ｉｎとは異なる値となった場合について、判定部３が、実行ログＬに攻撃成功挙動Ｂが有ると判定するのを防止することができる。すなわち、上述したように、判定部３により多観点での判定を行うことにより、サイバー攻撃以外の理由で攻撃成功挙動Ｂが生じた場合を排除し、判定精度を高めることができる。
【００６９】
次に、上述した取得部２に関する幾つかの実施形態について、説明する。
幾つかの実施形態では、図２に示すように、取得部２は、所望の制御指令Ｉを正常送信ファイルＦｎから取得すると共に、所望のサイバー攻撃を攻撃送信ファイルＦａから取得することにより、検証対象データセットＳを取得しても良い。つまり、検証対象データセットＳを構成する正常制御指令Ｉｎとサイバー攻撃（攻撃制御指令Ｉａ）とは、別々のファイルで管理される。これによって、データセット検証装置１は、攻撃送信ファイルＦａを変更することで、異なるサイバー攻撃を含む検証対象データセットＳを容易に取得することができる。
【００７０】
次に、データセット検証装置１が備えるその他の構成について、図７〜図８を用いて説明する。図７は、本発明の一実施形態に係る実行部５が実行するフローを示す図である。図８は、図７に対応するシーケンス図である。
【００７１】
幾つかの実施形態では、図３に示すように、データセット検証装置１は、検証対象データセットＳを実行するよう構成された実行部５を、さらに備えても良い。換言すれば、実行部５は、検証対象データセットＳに従って対象制御装置７１との通信を行うよう構成される。この実行部５は、上述した実行ソフトに相当しており、データセット検証装置１は実行ソフトに相当する機能部を備える。
【００７２】
具体的には、上記の実行部５は、図７に示すように、対象制御装置７１との通信セッションの確立後（ステップＳ７１）に、検証対象データセットＳの実行を行う（ステップＳ７２〜Ｓ７５）。図７に示す実施形態では、実行部５は、検証対象データセットＳに従って、ステップＳ７２において、対象制御装置７１に書込要求（制御指令Ｉ）を送信した後、ステップＳ７３においてこの書込要求に対する応答（制御指令Ｉに対する応答）の受信待機を通して、書込応答を得る。また、ステップＳ７４において、対象制御装置７１に読込要求を送信した後、ステップＳ７５においてこの読込要求に対する応答の受信待機を通して、読込応答を得る。こうしたステップＳ７２〜Ｓ７５で送受信された通信データＰ（送信データおよび受信データの両方）はログファイルに書き込まれるようになっており、ステップＳ７６において実行ログＬを構成する少なくとも一部を得る。なお、図７に示す実施形態では、書込要求の後に読込要求を行っているが、複数の書込要求および書込応答の後に読込要求を行い、目標値や観測値を確認しても良い。
【００７３】
また、図７に示す実施形態では、検証対象データセットＳの実行回数の上限が定められており、ステップＳ７７において、検証対象データセットＳの実行回数の上限回数に達していない場合、または手動による実行停止がなされていない場合、上述したステップＳ７２〜Ｓ７６を再度実行する。逆に、ステップＳ７７において、検証対象データセットＳの実行回数が上限回数に達した場合、または手動による実行停止がなされていた場合には、ステップＳ７１で確立した通信セッションを切断するなどした後、フローを終了する。
【００７４】
上述した機能を有する実行部５は、検証対象データセットＳに従って、対象制御装置７１の複数のポート（プログラム番号）に対して通信を行うことが可能に構成されている。図２に示す実施形態では、Ｍｏｄｂｕｓ／ＴＣＰセッションと、ＵＤＰセッションの２つのセッションを確立している。そして、例えば、図８に示すように、データ不能攻撃など通信データＰの送信をＵＤＰセッションで行い、Ｍｏｄｂｕｓによる書込要求および書込応答と、読出要求および読出応答とをＭｏｄｂｕｓ／ＴＣＰセッションで行っても良い。これによって、実行部５によって、多用なサイバー攻撃を模擬したデータセットの実行が可能となる。なお、図８のＵＤＰ通信は、切断要求の前まで繰返し行っているものとする。
【００７５】
上記の構成によれば、データセット検証装置１（実行部５）は、対象制御装置７１と複数のセッションを確立し、複数のセッションを用いて検証対象データセットＳを実行する。これによって、複数の通信プロトコルを用いてセキュリティ性能を評価するデータセットを検証することができる。
【００７６】
また、幾つかの実施形態では、図３に示すように、データセット検証装置１は、検証対象データセットＳの元となる元データセットＳｂを読み込み、元データセットＳｂで規定される通信データＰの所定のフィールドを書き換えることにより、検証対象データセットＳを生成する生成部６を、さらに備えていても良い。生成部６は、情報システム向けに公開されているデータセットなど、情報システムを構成する通信ネットワークでキャプチャするなどして取得された通信ログを読み込んでも良いし、いずれかの制御システム８でキャプチャなどされることにより取得された通信ログを読み込んでも良い。
【００７７】
また、例えば、ＴＣＰ通信またはＵＤＰ通信でＭｏｄｂｕｓメッセージなどの通信メッセージを送信する場合には、書き換えられるフィールドは、ＴＣＰやＵＤＰの下位レイヤの情報となるＩＰなどの送信元アドレスおよび宛先アドレス（ネットワークアドレス）、ＴＣＰやＵＤＰレイヤのポート番号、上述した目標値や観測値などとなる。例えば、サイバー攻撃がなりすまし攻撃である場合には、なりすまし機器を模擬する実行ソフト（実行部５）が動作する装置と対象制御装置７１とのセッションを確立するために、物理アドレス（ＭＡＣアドレスなど）を求めるためのＡＲＰ（Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）プロトコルを実行するレコード（通信データＰ）における、ＡＲＰテーブルの正規の送信元アドレス（正常制御指令Ｉｎを送信する実行部５が用いる送信元アドレス）に対応する物理アドレスを、なりすまし機器として動作する実行ソフトが用いる物理アドレスに書き換える。具体的には、ＡＲＰ応答をなりすまし機器の物理アドレスに書き換える。
【００７８】
上記の構成によれば、元データセットＳｂを流用して、対象制御装置７１に対して実行可能な検証対象データセットＳを生成する。これによって、対象制御装置７１が存在する環境下ではそのままでは実行できないような元データセットＳｂであっても、元データセットＳｂから、対象制御装置７１に対して実行可能な検証対象データセットＳを生成することができる。
【００７９】
以下、上述したデータセット検証装置１が実行する処理に対応するデータセット検証方法について、図９を用いて説明する。図９は、本発明の一実施形態に係るデータセット検証方法を示す図である。
【００８０】
データセット検証方法は、例えば産業用制御システムといった制御システム８などのセキュリティ性能評価用のデータセットを検証する方法である。図９に示すように、データセット検証方法は、セキュリティ機能が未稼働の環境下において対象制御装置７１に対して検証対象データセットＳを実行することにより得られる上述した実行ログＬを取得する取得ステップと、実行ログＬにおける攻撃成功挙動Ｂの有無を判定する判定ステップと、を備える。これらの取得ステップ、判定ステップは、それぞれ、既に説明した取得部２、判定部３が実行する処理内容と同様であるため、詳細は省略する。
【００８１】
図９に示す実施形態では、ステップＳ１において取得ステップを実行する。また、ステップＳ２において、ステップＳ１で取得された実行ログＬに対して、判定ステップを実行するようになっている。
【００８２】
幾つかの実施形態では、図９に示すように、データセット検証方法は、上述した判定ステップによって攻撃成功挙動Ｂが有りと判定された検証対象データセットＳの少なくともサイバー攻撃の部分を、データベース４２に登録する登録ステップを、さらに備えていても良い。登録ステップは、既に説明した登録部４が実行する処理内容と同様であるため、詳細は省略する。図９に示す実施形態では、上記のステップＳ２の次のステップＳ３において、ステップＳ２で行われた判定の結果を確認する。そして、ステップＳ３において、実行ログＬにおける攻撃成功挙動Ｂを見つけるなどして、攻撃成功挙動Ｂが有ると判定した場合には、ステップＳ４において登録ステップを実行するようになっている。逆に、ステップＳ３において、実行ログＬに攻撃成功挙動Ｂが無いと判定した場合には、ステップＳ４における登録ステップを実行することなく、フローを終了するようになっている。
【００８３】
また、幾つかの実施形態では、図９に示すように、データセット検証方法は、検証対象データセットＳを実行する実行ステップを、さらに備えても良い。実行ステップは、既に説明した実行部５が実行する処理内容と同様であるため、詳細は省略する。図９に示す実施形態では、上記のステップＳ１の前のステップＳ０２において、登録ステップを実行するようになっている。
【００８４】
また、幾つかの実施形態では、図９に示すように、データセット検証方法は、上述した元データセットＳｂを取得し（読み込み）、元データセットＳｂで規定される通信データＰの所定のフィールドを書き換えることにより、検証対象データセットＳを生成する生成ステップを、さらに備えても良い。生成ステップは、既に説明した生成部６が実行する処理内容と同様であるため、詳細は省略する。図９に示す実施形態では、上記のステップＳ０２の前のステップＳ０１において、生成ステップを実行するようになっている。
【００８５】
本発明は上述した実施形態に限定されることはなく、上述した実施形態に変形を加えた形態や、これらの形態を適宜組み合わせた形態も含む。
【符号の説明】
【００８６】
１        データセット検証装置
１２      表示装置
２        取得部
３        判定部
４        登録部
４２      データベース
５        実行部
６        生成部
７        データセット検証システム
８        制御システム
７１      対象制御装置
７１ｃ    ＰＩＤ制御部
７２      コンピュータ装置（実行ソフト）
８１      制御ネットワーク
８２      制御情報ネットワーク
８３      情報系ネットワーク
９１      フィールド機器
９２      制御装置
９３      ＯＰＳ（ＨＭＩ）
９４      制御サーバ
９５      ＡＣＳ
９６      ファイアウォール装置９６
Ｓ        検証対象データセット
Ｓｂ      元データセット
Ｓｖ      検証済みデータセット
Ｐ        通信データ
Ｉ        制御指令
Ｉｒ      応答
Ｉａ      攻撃制御指令
Ｉｎ      正常制御指令
Ｂ        攻撃成功挙動
Ｍ        物理モデル
Ｌ        実行ログ
Ｆａ      攻撃送信ファイル
Ｆｎ      正常送信ファイル
【図１】
2020123203.tif 000003
【図２】
2020123203.tif 000004
【図３】
2020123203.tif 000005
【図４】
2020123203.tif 000006
【図５】
2020123203.tif 000007
【図６】
2020123203.tif 000008
【図７】
2020123203.tif 000009
【図８】
2020123203.tif 000010
【図９】
2020123203.tif 000011