(57)【要約】  本発明は、プラントや工場で従事する運転員が、事故や異常事態発生時に適切な対応をとれるように、運転員に訓練を行なう訓練装置に関する。  訓練装置は、機器の機能を示す機能情報とサイバー攻撃の実行ステップの分類を示す攻撃分類情報とを記憶する情報記憶部と、訓練対象システムを構成する機器の情報を示すシステム構成情報が入力され、機能情報と攻撃分類情報とを対応付けた実行ステップを含む基本攻撃シナリオの機能情報を、この機能情報に対応するシステム構成情報の機器に書き換えて、訓練対象システムのシステム構成情報に合致した個別の攻撃シナリオである個別攻撃シナリオを生成するシナリオ生成部とを備える。
2017126041.tif 000002
【特許請求の範囲】
【請求項１】
機器の機能を示す機能情報とサイバー攻撃の実行ステップの分類を示す攻撃分類情報とを記憶する情報記憶部と、
訓練対象システムを構成する前記機器の情報を示すシステム構成情報が入力され、前記機能情報と前記攻撃分類情報とを対応付けた前記実行ステップを含む基本攻撃シナリオの前記機能情報を、この機能情報に対応する前記システム構成情報の前記機器に書き換えて、前記訓練対象システムの前記システム構成情報に合致した個別の攻撃シナリオである個別攻撃シナリオを生成するシナリオ生成部と
を備える訓練装置。
【請求項２】
前記基本攻撃シナリオに含まれる前記実行ステップに対して訓練に必須である必須ステップが指定され、
前記シナリオ生成部は、
前記必須ステップが実行可能か否かを判定する判定部を備える請求項１記載の訓練装置。
【請求項３】
前記シナリオ生成部は、前記判定部により前記必須ステップが実行可能と判定された場合に、前記個別攻撃シナリオを生成する請求項２記載の訓練装置。
【請求項４】
前記基本攻撃シナリオは、訓練者の行動をきっかけとして攻撃シナリオが再生される実行ステップを含む請求項１記載の訓練装置。
【請求項５】
前記情報記憶部は、過去に生成した前記基本攻撃シナリオを格納するシナリオテンプレートを記憶し、
前記シナリオ生成部は、前記シナリオテンプレートに基づいて前記個別攻撃シナリオを生成する請求項１記載の訓練装置。
【請求項６】
機器の機能を示す機能情報とサイバー攻撃の実行ステップの分類を示す攻撃分類情報とを記憶する情報記憶部とシナリオ生成部とを備える訓練装置の訓練方法であって、
前記シナリオ生成部が、訓練対象システムを構成する前記機器の情報を示すシステム構成情報が入力され、前記機能情報と前記攻撃分類情報とを対応付けた前記実行ステップを含む基本攻撃シナリオの前記機能情報を、この機能情報に対応する前記システム構成情報の前記機器に書き換えて、前記訓練対象システムの前記システム構成情報に合致した個別の攻撃シナリオである個別攻撃シナリオを生成するシナリオ生成ステップを備える訓練方法。
【請求項７】
コンピュータを、
機器の機能を示す機能情報とサイバー攻撃の実行ステップの分類を示す攻撃分類情報とを記憶する情報記憶手段、
訓練対象システムを構成する前記機器の情報を示すシステム構成情報が入力され、前記機能情報と前記攻撃分類情報とを対応付けた前記実行ステップを含む基本攻撃シナリオの前記機能情報を、この機能情報に対応する前記システム構成情報の前記機器に書き換えて、前記訓練対象システムの前記システム構成情報に合致した個別の攻撃シナリオである個別攻撃シナリオを生成するシナリオ生成手段、
として機能させるための訓練プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プラントや工場で従事する運転員が、事故や異常事態発生時に適切な対応をとれるように、運転員に訓練を行なう訓練装置に関する。
【背景技術】
【０００２】
産業制御システムのプラントや工場で従事する運転員が、事故や異常事態発生時に適切な対応をとれるように、運転員に訓練を行なう必要がある。特に近年では、産業制御システムがインターネットと接続されることが多くなり、これに伴い産業制御システムに対するサイバー攻撃が増加している。そのため、運転員に対して、産業制御システムがサイバー攻撃を受けた際の適切な対応を訓練しておく必要がある。このようなサイバー攻撃の訓練に関する従来技術として、例えば特許文献１では、ユーザ（訓練する教官）が、訓練対象のシステムの端末数やそのＩＰアドレスを変更することで訓練の難易度を調整する模擬装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】ＷＯ２０１５−０２９４６４
【発明の概要】
【発明が解決しようとする課題】
【０００４】
訓練装置を実現するためには、プラントや工場の本番環境を模擬したシステムを訓練装置上に構築し、その上で事故や異常事態を発生させる必要がある。訓練シナリオは、個々のプラントや工場のシステム構成に依存するため、サイバー攻撃が原因となって発生する事故や異常事態のように頻繁に新しいシナリオが発生する場合は、個々のシステム毎に訓練シナリオを頻繁に開発する必要がある。特に、本番環境を構成する装置の機能やネットワーク構成などのシステム構成が異なるシステムに対しては、同一の訓練シナリオであっても、このシステムに即したシナリオを一から開発する必要があり、開発の工期やコストが増大するという課題がある。【０００５】
この発明は上記の課題を解決するためになされたもので、システム構成が異なる複数のシステムに対し、同一の訓練シナリオを自動で生成できる汎用的な訓練装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記で述べた課題を解決するため、本発明の訓練装置は、機器の機能を示す機能情報とサイバー攻撃の実行ステップの分類を示す攻撃分類情報とを記憶する情報記憶部と、訓練対象システムを構成する機器の情報を示すシステム構成情報が入力され、機能情報と攻撃分類情報とを対応付けた実行ステップを含む基本攻撃シナリオの機能情報を、この機能情報に対応するシステム構成情報の機器に書き換えて、訓練対象システムのシステム構成情報に合致した個別の攻撃シナリオである個別攻撃シナリオを生成するシナリオ生成部とを備える。
【発明の効果】
【０００７】
本発明によれば、訓練対象システムのシステム構成情報を入力として、機器の機能と一連の攻撃ステップで表現した基本攻撃シナリオを、システム構成情報に合致するように書き換えて、訓練対象システムに対する個別の攻撃シナリオである個別攻撃シナリオを生成することにより、システム構成が異なる複数のシステムに対し、同一の訓練シナリオを自動で生成でき、訓練シナリオ開発の工期やコストを抑制できるという効果が得られる。
【図面の簡単な説明】
【０００８】
【図１】実施の形態１に係る訓練装置１の一構成例を示す図である。
【図２】実施の形態１に係る訓練装置１のハードウェア構成の一例を示す図である。
【図３】実施の形態１に係る訓練装置１の動作の流れを示すフローチャートである。
【図４】実施の形態１で用いる訓練対象システムの一例を示す図である。
【図５】システム構成情報１の一例を示す図である。
【図６】機能情報６の一例を示す図である。
【図７】システム構成情報２の一例を示す図である。
【図８】攻撃分類情報７の一例を示す図である。
【図９】基本攻撃シナリオ情報の一例を示す図である。
【図１０】シナリオ生成部５の動作の流れを示すフローチャート（その１）である。
【図１１】シナリオ生成部５の動作の流れを示すフローチャート（その２）である。
【図１２】シナリオ生成部５の動作の流れを示すフローチャート（その３）である。
【図１３】シナリオ生成部５の動作の流れを示すフローチャート（その４）である。
【図１４】前提ステップ判定情報９の一例を示す図である。
【図１５】個別攻撃シナリオ情報の一例を示す図である。
【発明を実施するための形態】
【０００９】
実施の形態１．
図１は、実施の形態１に係る訓練装置１の一構成例を示す図である。
図１において、訓練装置１は、システム構成入力部２、シナリオ入力部３、情報記憶部４、シナリオ生成部５を備えている。
【００１０】
システム構成入力部２は、情報記憶部４に記憶されている機能情報６のリストを、ユーザ（教官）または訓練装置開発者（以下、両者をまとめてユーザと呼ぶ）に表示し、ユーザが、表示された機能情報６と対応付けて、システムに存在する機器名とネットワーク名などのシステム構成情報を入力するための入力インタフェースである。
【００１１】
シナリオ入力部３は、情報記憶部４に記憶されている機能情報６、攻撃分類情報７、シナリオテンプレート８をユーザに表示し、ユーザが、訓練者に訓練させたい基本的な攻撃シナリオである基本攻撃シナリオ情報を入力するための入力インタフェースである。
【００１２】
情報記憶部４は、機能情報６、攻撃分類情報７、シナリオテンプレート８、前提ステップ判定情報９を記憶するメモリである。
【００１３】
シナリオ生成部５は、システム構成入力部２により入力されたシステム構成情報と、シナリオ入力部３により入力された基本攻撃シナリオ情報と、情報記憶部４に記憶された前提ステップ判定情報９とを用いて、個々のシステム構成向けの個別攻撃シナリオを生成する。シナリオ生成部５は、判定部１０、補完部１１、出力部１２を備えている。
【００１４】
次に、訓練装置１のハードウェア構成を説明する。
図２は、実施の形態１に係る訓練装置１のハードウェア構成の一例を示す図である。
【００１５】
訓練装置１はコンピュータであり、訓練装置１の各構成要素をプログラムで実現することができる。訓練装置１のハードウェア構成としては、バスに、プロセッサ２０、外部記憶メモリ２１、主記憶メモリ２２、入力インタフェース２３、出力インタフェース２４が接続されている。
【００１６】
プロセッサ２０は、バスを介して他のハードウェアと接続され、これら他のハードウェアを制御する。プロセッサ２０は、プロセッシングを行なうＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）である。プロセッサ２０は、具体的には、プログラムを実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。
【００１７】
外部記憶メモリ２１は、例えばＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やフラッシュメモリ、ハードディスク装置等である。
【００１８】
主記憶メモリ２２は、例えばＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等である。情報記憶部４は、外部記憶メモリ２１、または主記憶メモリ２２により実現される。あるいは、情報記憶部４は、外部記憶メモリ２１、または主記憶メモリ２２の両方により実現されてもよい。
【００１９】
入力インタフェース２３は、マウス、キーボード、タッチパネルといった入力装置と接続されるポートである。入力インタフェース２３は、具体的には、例えばＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）端子である。なお、入力インタフェース２３は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）と接続されるポートであってもよい。
【００２０】
出力インタフェース２４は、ディスプレイといった出力装置のケーブルが接続されるポートである。出力インタフェースは、例えば、ＵＳＢ端子である。ディスプレイは、具体的には、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）である。
【００２１】
プログラムは、通常は外部記憶メモリ２１に記憶されており、主記憶メモリ２２にロードされた状態で、順次、プロセッサ２０に読み込まれ、実行される。このプログラムは、訓練装置１を構成するシステム構成入力部２、シナリオ入力部３、情報記憶部４、シナリオ生成部５として説明している機能を実現するプログラムである。
【００２２】
更に、外部記憶メモリ２１には、オペレーティングシステム（ＯＳ）も記憶されており、ＯＳの少なくとも一部が主記憶メモリ２２にロードされ、プロセッサ２０は、ＯＳを実行しながら、上記プログラムを実行する。
【００２３】
また、情報記憶部４が記憶する情報やデータ、及びシステム構成入力部２、シナリオ入力部３、シナリオ生成部５の処理の結果を示す情報やデータや信号値や変数値が、主記憶メモリ２２にファイルとして記憶されている。
【００２４】
なお、図２の構成は、あくまでも訓練装置１のハードウェア構成の一例を示すものであり、訓練装置１のハードウェア構成は、図２に記載の構成に限らず、他の構成であってもよい。
【００２５】
次に、実施の形態１に係る訓練装置１の動作を説明する。
図３は、実施の形態１に係る訓練装置１の動作の流れを示すフローチャートである。
【００２６】
まず、ステップＳ００１において、ユーザはシステム構成入力部２により、訓練対象となるシステムの構成に関する情報であるシステム構成情報を入力する。
図４は、実施の形態１で用いる訓練対象システムの一例を示す図である。
図４において、訓練対象システムは、ネットワーク１とネットワーク２を備える。ネットワーク１には、操作装置１（３０）と操作装置２（３１）が接続され、ネットワーク２には、操作装置２（３１）、コントローラ３２、制御対象装置１（３３）、制御対象装置２（３４）が接続されている。
【００２７】
ユーザは、システム構成入力部２により、訓練対象システムに存在する機器名を入力する。訓練装置１は、入力された各機器名に対して、情報記憶部４に事前に記憶されている機能情報６の機能のリストをユーザに表示し、ユーザに機器名と機能との対応付けを行なえるようにする。ユーザが、入力した機器名に対して、表示された機能を選択した結果、訓練装置１は、機器名と機能とが対応付けられたシステム構成情報１を出力する。
【００２８】
図５は、システム構成情報１の一例を示す図である。
図５において、システム構成情報１は、ユーザが入力した機器名、ユーザが選択した機能からなる。
【００２９】
図６は、機能情報６の一例を示す図である。
機能情報６は、情報記憶部４に事前に記憶された機能と、その説明からなる。機能の説明は、ユーザに対する入力支援を行なうための情報であるため、なくてもよい。
【００３０】
次に、ユーザは、システム構成入力部２により、訓練対象システムに存在するネットワーク名を入力する。訓練装置１は、入力されたネットワーク名に対して、ユーザが入力した機器名を表示し、ユーザに、ネットワーク名とそのネットワークに接続された機器名の対応付けを行なえるようにする。その結果、訓練装置１は、システム構成情報２を出力する。
【００３１】
図７は、システム構成情報２の一例を示す図である。
図７において、システム構成情報２は、ネットワーク名（図中、「ネットワーク」は「ＮＷ」で示す）、接続された機器１〜接続された機器４からなる。
【００３２】
次に、ステップＳ００２において、ユーザはシナリオ入力部３により、訓練者に訓練させたい内容である基本攻撃シナリオを、一連の攻撃ステップを指定して作成する。
【００３３】
訓練装置１は、攻撃シナリオを攻撃の分類の単位で分割した攻撃分類情報７と、攻撃元及び攻撃対象となる機能情報６を表示し、ユーザに、攻撃分類と機器名の対応付けを行なえるようにする。攻撃分類情報７は、情報記憶部４に事前に記憶された情報である。
【００３４】
さらに、ユーザは、一連の攻撃ステップの中から、訓練者に訓練させたい基本攻撃シナリオの特徴が顕著に表れた攻撃ステップを指定する。ここで指定した攻撃ステップは、訓練対象システム個々のシステム構成に沿った個別攻撃シナリオを作成する際に、必ず設定される攻撃ステップである。以降、本攻撃ステップを必須ステップと呼ぶ。上記の結果、訓練装置１は、基本攻撃シナリオ情報を出力する。
【００３５】
図８は、攻撃分類情報７の一例を示す図である。
図８において、攻撃分類情報７は、攻撃分類からなる。
【００３６】
図９は、基本攻撃シナリオ情報の一例を示す図である。
図９において、基本攻撃シナリオ情報は、攻撃ステップＮｏ．、攻撃分類、攻撃元（機能）、攻撃対象（機能）、必須か否かを示す情報からなる。
【００３７】
なお、本実施の形態では、基本攻撃シナリオ情報を一から作成したが、過去に生成した基本攻撃シナリオ情報をテンプレートとして、情報記憶部４のシナリオテンプレート８に記憶しておき、本ステップ（Ｓ００２）の実行時にロードすることとしてもよい。また、その際は、ユーザが攻撃分類、攻撃元、攻撃対象、必須か否かを示す情報を適宜指定できるようにしてもよい。
【００３８】
次に、ステップＳ００３において、シナリオ生成部５は、ユーザに入力されたシステム構成に沿った個別攻撃シナリオを生成する。ステップＳ００３の詳細な処理フローは後述する。
【００３９】
次に、ステップＳ００４において、シナリオ生成部５は、生成した個別攻撃シナリオを出力し、処理を終了する。
【００４０】
次に、ステップＳ００３の詳細な処理フローを、図１０〜図１３を参照して説明する。
図１０は、シナリオ生成部５の動作の流れを示すフローチャート（その１）である。
図１１は、シナリオ生成部５の動作の流れを示すフローチャート（その２）である。
図１２は、シナリオ生成部５の動作の流れを示すフローチャート（その３）である。
図１３は、シナリオ生成部５の動作の流れを示すフローチャート（その４）である。
【００４１】
まず、ステップＳ１０１において、シナリオ生成部５の判定部１０は、必須ステップで必要となる機能はシステムに存在するか否かを判定する。判定部１０は、基本攻撃シナリオ情報を参照して、必須ステップを実行する際に必要となる機能を確認し、当該機能に対応する機器がシステム構成情報１に登録されているかを判定する。
【００４２】
例えば、図９の基本攻撃シナリオ情報では、攻撃ステップＮｏ．４に必須ステップが設定されており、これはＥＷＳからＰＬＣへ不正通信を行なう攻撃である。したがって、必須ステップで必要となる機能は、ＥＷＳとＰＬＣであり、判定部１０は、図５のシステム構成情報１から、ＥＷＳとＰＬＣの両機能とも当該システムに存在していると判定することができる。ステップＳ１０１で存在すると判定した場合は、ステップＳ１０２へと進む。また、ステップＳ１０１で存在しないと判定した場合は、ステップＳ１０６へ進み、訓練のための個別攻撃シナリオは生成不可として処理を終了する。
【００４３】
次に、ステップＳ１０２において、シナリオ生成部５の判定部１０は、必須ステップを実行する際に必要となる機能は、単数か複数かを判定する。例えば、図９の攻撃ステップＮｏ．１では、必要な機能は単数であり、それ以外の攻撃ステップでは複数である。必要な機能が単数である場合は、ステップＳ１０４へ進む。必要な機能が複数である場合は、ステップＳ１０３へ進む。
【００４４】
次に、ステップＳ１０３において、シナリオ生成部５の判定部１０は、必須ステップを実行する際に必要となる複数の機能は、相互に接続されているか否かを判定する。この処理は、システム構成情報２で相互に接続されている機器名に対し、システム構成情報１の機能を対応させて判定する。接続されている場合は、ステップＳ１０４へ進む。接続されていない場合は、ステップＳ１０６へ進み、訓練のための個別攻撃シナリオは生成不可として処理を終了する。
【００４５】
次に、ステップＳ１０４において、シナリオ生成部５の判定部１０は、必須ステップを実行する際に前提となるステップを判定する。この判定には、前提ステップ判定情報９を使用する。
図１４は、前提ステップ判定情報９の一例を示す図である。
図１４において、前提ステップ判定情報９は、必須ステップの攻撃分類と、その前提となるステップで必要となる攻撃分類を対応させたものである。実施の形態１の例では、必須ステップがＥＷＳからの不正通信であるので、図１４より、前提としてＥＷＳへの感染が必要であることが分かる。このようにして前提となるステップを判定した後は、ステップＳ１０５へ進む。
【００４６】
次に、ステップＳ１０５において、シナリオ生成部５の判定部１０は、ステップＳ１０４で判定した前提となるステップに相当するステップが、基本攻撃シナリオ情報に存在するかを判定する。実施の形態１の例では、攻撃ステップＮｏ．３にＨＭＩからＥＷＳへの感染があるので、ステップＳ１０５で存在すると判定し、ステップＳ１０７へ進む。以降、基本攻撃シナリオ情報に記載された攻撃ステップで、必須ステップの前提となるステップを前提ステップと呼ぶ。また、必須ステップでも前提ステップでもないステップをオプションステップと呼ぶ。ステップＳ１０５で存在しないと判定された場合は、ステップＳ１０６へ進み、訓練のための個別攻撃シナリオは生成不可として処理を終了する。
【００４７】
次に、ステップＳ１０７において、シナリオ生成部５の判定部１０は、前提ステップを実行する際に必要となる機能がシステムに存在するかを判定する。判定方法は、必須ステップの場合のステップＳ１０１と同じであるので記載を省略する。ステップＳ１０７で存在すると判断した場合はステップＳ１０８へと進む。ステップＳ１０７で存在しないと判断した場合は、ステップＳ１１２、またはステップＳ１１３へと進む。
【００４８】
次に、ステップＳ１０８において、シナリオ生成部５の判定部１０は、前提ステップを実行する際に必要となる機能は、単数か複数かを判定する。必要な機能が単数である場合は、ステップＳ１１０へ進む。必要な機能が複数である場合は、ステップＳ１０９へ進む。
【００４９】
次に、ステップＳ１０９において、シナリオ生成部５の判定部１０は、前提ステップを実行する際に必要となる機能が、相互に接続されているか否かを判定する。判定方法は、ステップＳ１０３と同じであるため記載を省略する。ステップＳ１０９で接続されている場合は、ステップＳ１１０へ進む。ステップＳ１０９で接続されていない場合は、ステップＳ１１４、またはステップＳ１１５へと進む。実施の形態１の例では、前提ステップである攻撃ステップＮｏ．３は、ＨＭＩからＥＷＳへの感染である。システム構成情報２より、操作端末２とコントローラが接続されていることが分かるため、ステップＳ１１０へ進む。
【００５０】
次に、ステップＳ１１０において、シナリオ生成部５の判定部１０は、必須ステップと前提ステップの機能をユーザの入力した機器名に変えて個別攻撃シナリオに登録する。ステップＳ１１０までの処理で、必須ステップと前提ステップが当該の訓練対象システムで実行可能な状態となっている。そこでステップＳ１１０では、必須ステップと前提ステップで必要となる機能に、ユーザから入力された機器名を割り当てて個別攻撃シナリオに登録し、ステップＳ１１１へと進む。実施の形態１の例では、必須ステップである攻撃ステップＮｏ．４の攻撃元にコントローラ、攻撃対象に制御対象機器１、前提ステップである攻撃ステップＮｏ．３の攻撃元に操作端末２、攻撃対象にコントローラを設定して登録する。
【００５１】
次に、ステップＳ１１１において、シナリオ生成部５の判定部１０は、基本攻撃シナリオ情報に設定されている全ての必須ステップについて、ステップＳ１０１の判定を行なったか判定する。判定した場合はステップＳ１１６へ進み、判定していない場合はステップＳ１０１へ進む。
【００５２】
次に、ステップＳ１１２、及びステップＳ１１３において、シナリオ生成部５の補完部１１は、ステップＳ１０７において前提ステップで必要となる機能がシステムに存在しない場合の処理を行なう。ステップＳ１１２、及びステップＳ１１３に至るまでの処理において、必須ステップで必要となる機能は存在すると判定されているため、ステップＳ１１２、及びステップＳ１１３に至るのは、前提ステップにおける攻撃元となる機能が存在しない場合である。個別の攻撃シナリオを作成する上では、前提ステップは、その結果、すなわち攻撃対象に対して当該の攻撃がなされることが求められる。そこで、システム構成情報１とシステム構成情報２と攻撃分類情報７から、前提ステップの結果と同じ結果が得られるようにステップの内容を変更する。
【００５３】
例えば、前提ステップがＨＭＩからＥＷＳへの感染であり、ＨＭＩが存在しないとする。この場合は、ステップＳ１０７からステップＳ１１２へ遷移し、ステップＳ１１２においてＥＷＳへ直接感染するようにステップの内容を変更する。直接感染させる手段には幾つか種類があるが、例えば、ＵＳＢメモリを経由して感染、メールの添付ファイルを開いて感染、Ｗｅｂサイトからマルウェアの入ったファイルをダウンロード実行して感染等がある。これらの中からランダムに選択して前提ステップを作成する。訓練を行なう際には、ここで選択した感染方法を、実際に訓練者が行動して実行することをきっかけとして攻撃シナリオを再生させることにより、訓練のリアリティが増し、訓練の効果が向上する。
【００５４】
また、ステップＳ１１３は、攻撃分類が内部調査である場合の処理である。シナリオ生成部５の補完部１１は、ＥＷＳと接続されている機能から内部調査するステップとし、さらに、当該機能へ感染するステップを追加する。
【００５５】
以上のように前提ステップの内容を変更することで、必須ステップが実行できるようになる。上記では、攻撃分類として感染と内部調査の例を挙げたが、訓練装置１の動作はこれに限らず、その他の攻撃を行なってもよい。
【００５６】
次に、ステップＳ１１４、及びステップＳ１１５において、シナリオ生成部５の補完部１１は、ステップＳ１０７で前提ステップに必要となる機能がシステムに存在するが、それらが相互に接続されていない場合の処理を行なう。
【００５７】
ステップＳ１１４において、シナリオ生成部５の補完部１１は、対象となる機能と接続されている機能経由で二次感染とする。当該機能が存在しない場合は直接感染とする。補完部１１は、基本攻撃シナリオ情報から前提ステップを抽出する。次に、補完部１１は、前提ステップの攻撃対象の機能を持った機器をシステム構成情報１から選択し、システム構成情報２からこれと相互接続があり、かつ前提ステップの攻撃元の機能とも相互接続のある機器（仮に中間機器と呼ぶ）が存在する場合、中間機器を経由して二次感染するステップとする。具体的には、前提ステップの攻撃元→中間機器→前提ステップの攻撃対象の順に感染が進むステップとする。中間機器が存在しない、すなわち前提ステップの攻撃元と前提ステップの攻撃対象を接続する経路が、どのようなパスを通っても接続できない場合は、ステップＳ１１２と同様に、攻撃対象へ直接感染するステップとする。
【００５８】
また、ステップＳ１１５は、攻撃分類が内部調査である場合の処理である。ステップＳ１１４のように、一度中間機器へ感染してから、中間機器から内部調査を行なう処理とする。
【００５９】
なお、ステップＳ１１４、及びステップＳ１１５では、ステップＳ１１２、及びステップＳ１１３と同様に攻撃分類として感染と内部調査の例を挙げたが、訓練装置１の動作はこれに限らず、その他の攻撃を行なってもよい。
【００６０】
次に、ステップＳ１１６からのステップでは、オプションステップを個別攻撃ステップに登録する、又は削除するための処理を行なう。訓練装置１は、基本攻撃シナリオ情報を参照し、攻撃ステップＮｏ．の小さいオプションステップの順に判定を行なう。必須ステップを実行するために前提ステップの内容を変更した場合は、オプションステップとも整合を取る必要があるため、まずステップＳ１１６では、シナリオ生成部５の補完部１１は、現在の判定対象であるオプションステップを実行する際に必要となる機能が、前提ステップを実行する際に必要とした機能と同一のものを含むかを判定している。同一のものを含む場合はステップＳ１１７へ進み、同一のものを含まない場合はステップＳ１２６へ進む。
【００６１】
次に、ステップＳ１１７において、シナリオ生成部５の補完部１１は、当該の前提ステップを判定する際にステップの内容を変更したかを判定する。実施の形態１の例では、元の基本攻撃シナリオ情報の攻撃ステップＮｏ．３であるＨＭＩからＥＷＳへの感染は、その内容のままＨＭＩを操作端末２、ＥＷＳをコントローラとして登録した。そのため、前提ステップの内容は変更しておらずステップＳ１２２へ進む。前提ステップの内容を変更した場合は、ステップＳ１１８へ進む。
【００６２】
次に、ステップＳ１１８において、シナリオ生成部５の補完部１１は、前提ステップの内容を変更したオプションステップを削除する。この理由は、必須ステップと前提ステップとの整合で前提ステップを変更した場合は、攻撃のシナリオとして完結しているので、オプションステップを残すと不整合が生じるからである。
【００６３】
次に、ステップＳ１１９において、シナリオ生成部５の補完部１１は、基本攻撃シナリオ情報に設定されている全てのオプションステップについてステップＳ１１６で判定したかを判定する。判定した場合はステップＳ１２０へ進む。判定していない場合はステップＳ１２１へ進み、次のオプションステップの判定を行なう。
【００６４】
次に、ステップＳ１２０において、シナリオ生成部５の出力部１２は、登録された個別攻撃シナリオを出力し、処理を終了する。このステップＳ１２０は、ステップＳ００４に相当する。
図１５は、個別攻撃シナリオ情報の一例を示す図である。
図１５において、個別攻撃シナリオ情報は、攻撃ステップＮｏ．、攻撃分類、攻撃元（機器名）、攻撃対象（機器名）からなる。
【００６５】
次に、ステップＳ１２２は、ステップＳ１１７で前提ステップの内容を変更していないと判定した場合のステップである。変更していない場合、ユーザが入力した基本攻撃シナリオ情報が、変更なしに実行できる場合とそうでない場合の両方があるため、その判定を行なう。ステップＳ１２２では、判定対象のオプションステップを実行する際に必要となる機能で、かつ前提ステップで必要となった機能と同一ではない機能が、システムに存在するかを判定する。実施の形態１の例では、ＯＡ−ＰＣがその機能に当たり、またシステムに存在していない。存在しない場合は、ステップＳ１２９、またはステップＳ１３０に進む。存在する場合は、ステップＳ１２３に進む。
【００６６】
次に、ステップＳ１２３において、シナリオ生成部５の補完部１１は、前提ステップで必要となる機能とオプションステップで必要となる機能が相互に接続されているかを判定する。接続されている場合は、ステップＳ１２４へ進み、ユーザから入力された機器名を割り当てて個別攻撃シナリオに登録する。接続されていない場合は、ステップＳ１２５へ進み、当該のオプションステップを削除する。
【００６７】
次に、ステップＳ１２６は、ステップＳ１１６で判定対象のオプションステップを実行する際に必要となる機能が、前提ステップを実行する際に必要とした機能と同一のものを含まないと判定した場合のステップである。そのような場合は、当該のオプションステップを実行する／しないに関わらず、前提ステップを実行可能であるため、当該のオプションステップを実行する際に必要となる機能がシステムに存在するか否かで個別攻撃シナリオに登録するかを決定する。存在する場合はステップＳ１２７へ進む。存在しない場合はステップＳ１２５へ進み、当該ステップを削除する。
【００６８】
次に、ステップＳ１２７において、シナリオ生成部５の補完部１１は、オプションステップを実行する際に必要となる機能が、単数か複数かを判定する。判定方法は、ステップＳ１０２と同じであるため記載を省略する。単数である場合は、実行可能と判定し、ステップＳ１２４に進み、ユーザから入力された機器名を割り当てて個別攻撃シナリオに登録する。複数である場合は、ステップＳ１２８へ進む。
【００６９】
次に、ステップＳ１２８において、シナリオ生成部５の補完部１１は、オプションステップを実行する際に必要となる複数の機能が、相互に接続されているかを判定する。判定方法は、ステップＳ１０３と同じであるため記載を省略する。接続されている場合は、実行可能と判定し、ステップＳ１２４に進み、ユーザから入力された機器名を割り当てて個別攻撃シナリオに登録する。接続されていない場合は、ステップＳ１２５へ進み、当該ステップを削除する。
【００７０】
次に、ステップＳ１２９、またはステップＳ１３０は、ステップＳ１２２でオプションステップで必要となる機能がシステムに存在しないと判定された場合の処理である。処理方法は、ステップＳ１１２、ステップＳ１１３と同じであるため記載を省略する。
【００７１】
以上のように、本実施の形態１の発明では、訓練対象システムのシステム構成情報を入力として、機器の機能と一連の攻撃ステップで表現した基本攻撃シナリオを、システム構成情報に合致するように書き換えて、訓練対象システムに対する個別の攻撃シナリオである個別攻撃シナリオを生成することにより、システム構成が異なる複数のシステムに対し、同一の訓練シナリオを自動で生成でき、訓練シナリオ開発の工期やコストを抑制できるという効果が得られる。
【符号の説明】
【００７２】
１  訓練装置、２  システム構成入力部、３  シナリオ入力部、４  情報記憶部、５  シナリオ生成部、６  機能情報、７  攻撃分類情報、８  シナリオテンプレート、９  前提ステップ判定情報、１０  判定部、１１  補完部、１２  出力部、２０  プロセッサ、２１  外部記憶メモリ、２２  主記憶メモリ、２３  入力インタフェース、２４  出力インタフェース、３０  操作装置１、３１  操作装置２、３２  コントローラ、３３  制御対象機器１、３４  制御対象機器２。
【図１】
2017126041.tif 000003
【図２】
2017126041.tif 000004
【図３】
2017126041.tif 000005
【図４】
2017126041.tif 000006
【図５】
2017126041.tif 000007
【図６】
2017126041.tif 000008
【図７】
2017126041.tif 000009
【図８】
2017126041.tif 000010
【図９】
2017126041.tif 000011
【図１０】
2017126041.tif 000012
【図１１】
2017126041.tif 000013
【図１２】
2017126041.tif 000014
【図１３】
2017126041.tif 000015
【図１４】
2017126041.tif 000016
【図１５】
2017126041.tif 000017
【国際調査報告】
2017126041.tif 000018
2017126041.tif 000019
2017126041.tif 000020
2017126041.tif 000021