IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電気株式会社の特許一覧

特許7605311攻撃シナリオ生成装置、攻撃シナリオ生成方法、及びプログラム
<>
  • 特許-攻撃シナリオ生成装置、攻撃シナリオ生成方法、及びプログラム 図1
  • 特許-攻撃シナリオ生成装置、攻撃シナリオ生成方法、及びプログラム 図2
  • 特許-攻撃シナリオ生成装置、攻撃シナリオ生成方法、及びプログラム 図3
  • 特許-攻撃シナリオ生成装置、攻撃シナリオ生成方法、及びプログラム 図4
  • 特許-攻撃シナリオ生成装置、攻撃シナリオ生成方法、及びプログラム 図5
  • 特許-攻撃シナリオ生成装置、攻撃シナリオ生成方法、及びプログラム 図6
  • 特許-攻撃シナリオ生成装置、攻撃シナリオ生成方法、及びプログラム 図7
  • 特許-攻撃シナリオ生成装置、攻撃シナリオ生成方法、及びプログラム 図8
  • 特許-攻撃シナリオ生成装置、攻撃シナリオ生成方法、及びプログラム 図9
  • 特許-攻撃シナリオ生成装置、攻撃シナリオ生成方法、及びプログラム 図10
  • 特許-攻撃シナリオ生成装置、攻撃シナリオ生成方法、及びプログラム 図11
  • 特許-攻撃シナリオ生成装置、攻撃シナリオ生成方法、及びプログラム 図12
  • 特許-攻撃シナリオ生成装置、攻撃シナリオ生成方法、及びプログラム 図13
  • 特許-攻撃シナリオ生成装置、攻撃シナリオ生成方法、及びプログラム 図14
  • 特許-攻撃シナリオ生成装置、攻撃シナリオ生成方法、及びプログラム 図15
  • 特許-攻撃シナリオ生成装置、攻撃シナリオ生成方法、及びプログラム 図16
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-16
(45)【発行日】2024-12-24
(54)【発明の名称】攻撃シナリオ生成装置、攻撃シナリオ生成方法、及びプログラム
(51)【国際特許分類】
   G06F 21/57 20130101AFI20241217BHJP
【FI】
G06F21/57 370
【請求項の数】 6
(21)【出願番号】P 2023529386
(86)(22)【出願日】2021-06-24
(86)【国際出願番号】 JP2021024027
(87)【国際公開番号】W WO2022269881
(87)【国際公開日】2022-12-29
【審査請求日】2023-12-06
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成30年度 国立研究開発法人新エネルギー・産業技術総合開発機構「戦略的イノベーション創造プログラム(SIP)第2期/IoT社会に対応したサイバー・フィジカル・セキュリティ/(C2)信頼チェーンの維持技術の研究開発事業」に関する研究開発、産業技術力強化法第17条の適用を受ける特許出願
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】110002044
【氏名又は名称】弁理士法人ブライタス
(72)【発明者】
【氏名】渡部 正文
(72)【発明者】
【氏名】植田 啓文
【審査官】塩澤 如正
(56)【参考文献】
【文献】国際公開第2021/095223(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/57
(57)【特許請求の範囲】
【請求項1】
対象システムを表すために用いる複数の仮想モデルが記憶されている記憶装置から取得した第一の仮想モデルに対して攻撃シミュレーションを実行させて、前記第一の仮想モデルに損害を与える損害条件を満たす第一の攻撃ステップを検出する、第一の攻撃ステップ検出手段と、
検出した前記第一の攻撃ステップから前記第一の仮想モデルの入力条件と出力条件を抽出する、入出力条件抽出手段と、
前記記憶装置から取得した第二の仮想モデルに対して攻撃シミュレーションを実行させて、前記第二の仮想モデルの出力が前記入力条件を満たす第二の攻撃ステップを検出する、第二の攻撃ステップ検出手段と、
前記第一の攻撃ステップと前記第二の攻撃ステップの前記攻撃シミュレーションの種類が異なる場合、前記入力条件と前記出力条件を、前記攻撃シミュレーションの種類に応じた記述に変換する、変換手段と、
前記第一の攻撃ステップと前記第二の攻撃ステップとを結合して攻撃シナリオを生成する、結合手段と、を有し、
前記第一の仮想モデルの入力は前記第二の仮想モデルの出力として設定され、前記第一の仮想モデルの出力は前記第二の仮想モデルの入力として設定される、
攻撃シナリオ生成装置。
【請求項2】
請求項1に記載の攻撃シナリオ生成装置であって、
複数の前記第一、第二の攻撃ステップを並行して生成する
攻撃シナリオ生成装置。
【請求項3】
コンピュータが、
対象システムを表すために用いる複数の仮想モデルが記憶されている記憶装置から取得した第一の仮想モデルに対して攻撃シミュレーションを実行させて、前記第一の仮想モデルに損害を与える損害条件を満たす第一の攻撃ステップを検出し、
検出した前記第一の攻撃ステップから前記第一の仮想モデルの入力条件と出力条件を抽出し、
前記記憶装置から取得した第二の仮想モデルに対して攻撃シミュレーションを実行させて、前記第二の仮想モデルの出力が前記入力条件を満たす第二の攻撃ステップを検出し、
前記第一の攻撃ステップと前記第二の攻撃ステップの前記攻撃シミュレーションの種類が異なる場合、前記入力条件と前記出力条件を、前記攻撃シミュレーションの種類に応じた記述に変換し、
前記第一の攻撃ステップと前記第二の攻撃ステップとを結合して攻撃シナリオを生成し、
前記第一の仮想モデルの入力は前記第二の仮想モデルの出力として設定され、前記第一の仮想モデルの出力は前記第二の仮想モデルの入力として設定される、
攻撃シナリオ生成方法。
【請求項4】
請求項3に記載の攻撃シナリオ生成方法であって、
複数の前記第一、第二の攻撃ステップを並行して生成する
攻撃シナリオ生成方法。
【請求項5】
コンピュータに、
対象システムを表すために用いる複数の仮想モデルが記憶されている記憶装置から取得した第一の仮想モデルに対して攻撃シミュレーションを実行させて、前記第一の仮想モデルに損害を与える損害条件を満たす第一の攻撃ステップを検出させ、
検出した前記第一の攻撃ステップから前記第一の仮想モデルの入力条件と出力条件を抽出させ、
前記記憶装置から取得した第二の仮想モデルに対して攻撃シミュレーションを実行させて、前記第二の仮想モデルの出力が前記入力条件を満たす第二の攻撃ステップを検出させ、
前記第一の攻撃ステップと前記第二の攻撃ステップの前記攻撃シミュレーションの種類が異なる場合、前記入力条件と前記出力条件を、前記攻撃シミュレーションの種類に応じた記述に変換させ、
前記第一の攻撃ステップと前記第二の攻撃ステップとを結合して攻撃シナリオを生成させ、
前記第一の仮想モデルの入力は前記第二の仮想モデルの出力として設定され、前記第一の仮想モデルの出力は前記第二の仮想モデルの入力として設定される、
プログラム。
【請求項6】
請求項5に記載のプログラムであって、
複数の前記第一、第二の攻撃ステップを並行して生成させる
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、攻撃シナリオを生成する攻撃シナリオ生成装置、攻撃シナリオ生成方法に関し、更には、これらを実現するためのプログラムに関する。
【背景技術】
【0002】
システムにおける潜在的なサイバー攻撃リスクを分析する技術が知られている。例えば、OT(Operational Technology)、IoT(Internet of Things)などのシステムを仮想的に構築したモデルに対して、攻撃シミュレーションを実行する技術が知られている。
【0003】
特許文献1には、対象システムにサイバー攻撃がされた場合に想定される攻撃パスを網羅的に抽出し、各攻撃パスを成り立たせる各装置の攻撃事例(例えば、攻撃内容、対策などを含む)を導出する技術が開示されている。
【0004】
特許文献1の情報処理装置によれば、まず、システムに含まれる装置群のリストと、装置間の接続関係のリストとに基づいて攻撃パスを抽出する。次に、特許文献1の情報処理装置は、抽出した攻撃パスを構成する各装置の攻撃用途とノード(装置)条件とを用いて、過去の攻撃用途とノード条件とが関連付けて記憶されている攻撃事例データベースを検索し、各装置に対応する攻撃事例を取得する。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2019-185223号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1の技術では攻撃事例を導出しているが、対象システムを模した仮想モデルに対して攻撃シミュレーションを実行し、攻撃シナリオを生成する装置ではない。
【0007】
また、大規模プラントを対象システムとした場合、大規模プラントを構成する機器が多くなると、上述した仮想モデルに対して攻撃シミュレーションを実行するには、大容量のメモリが必要になるとともに、攻撃シミュレーションの処理時間が増加する。そのため、攻撃シナリオを生成する処理時間も増加する。
【0008】
一つの側面として、攻撃シナリオを生成する処理時間を短縮する、攻撃シナリオ生成装置、攻撃シナリオ生成方法、及びプログラムを提供することにある
【課題を解決するための手段】
【0009】
上記目的を達成するため、一つの側面における攻撃シナリオ生成装置は、
対象システムを表すために用いる複数の仮想モデルが記憶されている記憶装置から取得した第一の仮想モデルに対して攻撃シミュレーションを実行させて、前記第一の仮想モデルに損害を与える損害条件を満たす第一の攻撃ステップを検出する、第一の攻撃ステップ検出部と、
検出した前記第一の攻撃ステップから前記第一の仮想モデルの入力条件、又は出力条件、又は両方を抽出する、入出力条件抽出部と、
前記記憶装置から取得した第二の仮想モデルに対して攻撃シミュレーションを実行させて、前記第二の仮想モデルの出力が前記入力条件を満たす第二の攻撃ステップを検出する、第二の攻撃ステップ検出部と、
前記第一の攻撃ステップと第二の攻撃ステップとを結合して攻撃シナリオを生成する、結合部と、
を有することを特徴とする。
【0010】
また、上記目的を達成するため、一つの側面における攻撃シナリオ生成方法は、
コンピュータが、
対象システムを表すために用いる複数の仮想モデルが記憶されている記憶装置から取得した第一の仮想モデルに対して攻撃シミュレーションを実行させて、前記第一の仮想モデルに損害を与える損害条件を満たす第一の攻撃ステップを検出し、
検出した前記第一の攻撃ステップから前記第一の仮想モデルの入力条件、又は出力条件、又は両方を抽出し、
前記記憶装置から取得した第二の仮想モデルに対して攻撃シミュレーションを実行させて、前記第二の仮想モデルの出力が前記入力条件を満たす第二の攻撃ステップを検出し、
前記第一の攻撃ステップと第二の攻撃ステップとを結合して攻撃シナリオを生成する、
ことを特徴とする。
【0011】
さらに、上記目的を達成するため、一つの側面におけるプログラムは
コンピュータに、
対象システムを表すために用いる複数の仮想モデルが記憶されている記憶装置から取得した第一の仮想モデルに対して攻撃シミュレーションを実行させて、前記第一の仮想モデルに損害を与える損害条件を満たす第一の攻撃ステップを検出させ、
検出した前記第一の攻撃ステップから前記第一の仮想モデルの入力条件、又は出力条件、又は両方を抽出させ、
前記記憶装置から取得した第二の仮想モデルに対して攻撃シミュレーションを実行させて、前記第二の仮想モデルの出力が前記入力条件を満たす第二の攻撃ステップを検出させ、
前記第一の攻撃ステップと第二の攻撃ステップとを結合して攻撃シナリオを生成させる、
とを特徴とする。
【発明の効果】
【0012】
一つの側面として、攻撃シナリオを生成する処理時間を短縮することができる。
【図面の簡単な説明】
【0013】
図1図1は、分割した仮想モデルの一例を説明するための図である。
図2図2は、攻撃シナリオ生成装置の一例を説明するための図である。
図3図3は、第一の攻撃ステップの一例を説明するための図である。
図4図4は、第二の攻撃ステップの一例を説明するための図である。
図5図5は、仮想モデルと第一、第二の攻撃ステップとの関係を説明するための図である。
図6図6は、仮想モデルと第一、第二の攻撃ステップとの関係を説明するための図である。
図7図7は、攻撃シナリオの説明をするための図である。
図8図8は、攻撃シナリオ生成装置の動作の一例を説明するための図である。
図9図9は、攻撃シナリオ生成装置を有するシステムの一例を示す図である。
図10図10は、異なる攻撃シミュレーションの仮想モデルについて説明するための図である。
図11図11は、実施形態2の攻撃ステップの結合を説明するための図である。
図12図12は、変換テーブルの一例を説明するための図である。
図13図13は、攻撃シナリオ生成装置の動作の一例を説明するための図である。
図14図14は、実施形態3を説明するための図である。
図15図15は、実施形態3の攻撃シナリオの説明をするための図である。
図16図16は、実施形態1から3における攻撃シナリオ生成装置を実現するコンピュータの一例を示すブロック図である。
【発明を実施するための形態】
【0014】
はじめに、以降で説明する実施形態の理解を容易にするために概要を説明する。
大規模なプラントではプラントを構成する機器の数が多いため、大規模プラント(対象システム)を仮想化した仮想モデルに対して攻撃シミュレーションを実行した場合、機器の数に応じて探索空間が指数関数的に拡大する。また、攻撃シミュレーションに用いるメモリが増加する。さらに、攻撃シミュレーションの処理時間が増加する、すなわち攻撃シナリオを探索(生成)する処理時間が増加する。
【0015】
そこで、仮想モデルを分割して、分割した仮想モデルそれぞれに攻撃シミュレーションを実行する。
【0016】
図1は、分割した仮想モデルの一例を説明するための図である。図1の例では、貯水システムに対応する仮想モデルを分割し、複数のモデルM1、M2を用いて仮想モデルを表している。
【0017】
モデルM1は、タンクT1の水位を制御するモデルである。モデルM1は、各機器の機能を表す、コントローラPLC1と、センサLS1と、バルブV1と、バルブV2と、タンクT1と、センサPS1とを有する。
【0018】
モデルM2は、タンクT2の水位を制御するモデルである。モデルM2は、各機器の機能を表す、コントローラPLC2と、センサLS2と、タンクT2と、センサPS1とを有する。
【0019】
ここで、センサPS1は、タンクT1とタンクT2とを接続する配管に流れる水の流量(流れ有り/無し:On/Off)を計測するセンサである。また、センサPS1は、モデルM1とモデルM2の両方に関係する。
【0020】
コントローラPLC1は、タンクT1の水位を計測するセンサLS1により計測されたタンクT1の水位に基づいて、バルブV1とバルブV2の開閉(Open/Closed)を制御する。なお、センサLS1は、図1の例では、六段階のレベル(Low-Low、Low、Middle、High、High-High、Overflow)を計測する。
【0021】
コントローラPLC2は、タンクT2の水位を計測するセンサLS2により計測されたタンクT2の水位をコントローラPLC1に送信する。
【0022】
その後、コントローラPLC1は、コントローラPLC2からタンクT2の水位を受信し、受信したタンクT2の水位に基づいてバルブV2の開閉を制御する。
【0023】
図1の例のように、モデルM1、M2に分割することで、モデルM1、M2それぞれに含まれる機器の数が減縮できる。そのため、モデルM1、M2それぞれの攻撃シミュレーションの処理時間の合計は、分割しない仮想モデルに対して攻撃シミュレーションを実行した場合の処理時間より短くできる。
【0024】
しかしながら、分割した仮想モデルの制御ループは必ずしも閉じていないため、他の仮想モデルに影響を与えたり、他の仮想モデルから影響を受けたりしている。図1の例でも、分割したモデルM1、M2は互いに影響をしている。
【0025】
そのため、(1)分割した仮想モデルそれぞれに対して攻撃シミュレーションを実行しただけでは、影響を含むことができないので、分割しない仮想モデルに対して攻撃シミュレーションを実行して得られるような攻撃シナリオを探索することが困難である。
【0026】
さらに、(2)分割した仮想モデルごとに、機器の状態を記述する記述形式が異なる場合には、分割しない仮想モデルに対して攻撃シミュレーションを実行して得られるような攻撃シナリオを探索することは困難である。
【0027】
このようなプロセスを経て、発明者は、上述したような、分割した仮想モデルを用いて攻撃シナリオを探索する場合における課題(1)(2)を見出し、それとともに係る課題を解決する手段を導出するに至った。
【0028】
すなわち、発明者は、分割した仮想モデルを用いて攻撃シナリオを探索できる手段を導出するに至った。その結果、攻撃シナリオを探索する処理時間を短縮でき、攻撃シミュレーションに用いるメモリの増加も抑制できる。
【0029】
以下、図面を参照して実施形態について説明する。なお、以下で説明する図面において、同一の機能又は対応する機能を有する要素には同一の符号を付し、その繰り返しの説明は省略することもある。
【0030】
(実施形態1)
図2を用いて、実施形態1における攻撃シナリオ生成装置の構成について説明する。図2は、攻撃シナリオ生成装置の一例を説明するための図である。
【0031】
[装置構成]
攻撃シナリオ生成装置10は、分割した仮想モデルそれぞれに対して攻撃シミュレーションを実行して、分割した仮想モデルそれぞれの攻撃ステップを結合して攻撃シナリオを生成することで、攻撃シナリオを生成する処理時間を短縮する。また、攻撃シミュレーションに用いるメモリの増加も抑制する。
【0032】
攻撃シミュレーションは、一般的な攻撃シミュレーションを用いることが考えられる。また、分割した仮想モデルごとに異なる攻撃シミュレーションを用いてもよい。
【0033】
また、図2に示すように、攻撃シナリオ生成装置10は、第一の攻撃ステップ検出部11と、入出力条件抽出部12と、第二の攻撃ステップ検出部13と、結合部14とを有する。
【0034】
攻撃シナリオ生成装置10は、例えば、CPU(Central Processing Unit)、又はFPGA(Field-Programmable Gate Array)などのプログラマブルなデバイス、又はGPU(Graphics Processing Unit)、又はそれらのうちのいずれか一つ以上を搭載した回路、サーバコンピュータ、コンピュータ、モバイル端末などの情報処理装置である。
【0035】
第一の攻撃ステップ検出部11は、対象システムを表すために用いる複数の分割した仮想モデルが記憶されている不図示の記憶装置から取得した第一の仮想モデルに対して攻撃シミュレーションを実行させて、第一の仮想モデルに損害を与える損害条件を満たす第一の攻撃ステップを検出する。
【0036】
具体的には、まず、第一の攻撃ステップ検出部11は、記憶装置から第一の仮想モデルを取得する。次に、第一の攻撃ステップ検出部11は、第一の仮想モデルに対して損害条件を満たす第一の攻撃ステップを探索する攻撃シミュレーションを実行する。次に、第一の攻撃ステップ検出部11は、攻撃シミュレーションの結果として、損害条件を満たす第一の攻撃ステップを取得し、第一の攻撃ステップを記憶装置に記憶する。
【0037】
記憶装置は、対象システムを分割した仮想モデルを記憶している。図1の例であれば、モデルM1、モデルM2が記憶されている。なお、記憶装置は、攻撃シナリオ生成装置10の内部に設けてもよいし、外部に設けてもよい。
【0038】
仮想モデルは、あらかじめ決められた記述形式、例えばテキスト形式などで、機器の状態を表した情報である。
【0039】
損害条件は、サイバー攻撃が行われた場合に、対象システムに与える損害を表す情報である。図1の対象システムにおける損害条件は、例えば、モデルM2のタンクT2から水が溢れることである。
【0040】
第一の攻撃ステップは、第一の仮想モデルに対して攻撃シミュレーションを実行し、第一の仮想モデルが損害条件を満たす状態に至るまでの、第一の仮想モデルに含まれる機器それぞれの状態の変化を表す情報である。
【0041】
図3は、第一の攻撃ステップの一例を説明するための図である。図3に示す第一の攻撃ステップ31、32は、モデルM2に対して損害条件を満たす第一の攻撃ステップを探索する攻撃シミュレーションを実行させて、得られた結果である。
【0042】
具体的には、第一の攻撃ステップ31は、正常状態のモデルM2に対して、タンクT2が溢れるという損害条件(T2=Overflow)で、攻撃シミュレーションを実行して得られた結果である。また、第一の攻撃ステップ32は、モデルM2のセンサLS2(機器)の異常状態を想定して、タンクT2が溢れるという損害条件(T2=Overflow)で、攻撃シミュレーションを実行して得られた結果である。
【0043】
入出力条件抽出部12は、検出した第一の攻撃ステップから第一の仮想モデルの入力条件出力条件を抽出する。具体的には、まず、入出力条件抽出部12は、記憶装置から第一の攻撃ステップを取得する。次に、入出力条件抽出部12は、第一の攻撃ステップを用いて、第一の仮想モデルの入力条件出力条件を抽出する。
【0044】
入力条件は、対象となる仮想モデルに含まれる機器のうち、あらかじめ入力機器として設定された機器の、第一の攻撃ステップにおける状態を表す情報である。
【0045】
出力条件は、対象となる仮想モデルに含まれる機器のうち、あらかじめ出力機器として設定された機器の、第一の攻撃ステップにおける状態を表す情報である。
【0046】
第一の攻撃ステップ31、32の入力条件について説明する。モデルM2のタンクT2には、モデルM1のタンクT1から水が供給されるので、タンクT2の前段にあるセンサPS1の状態、すなわち水の流れを計測したか否かが、モデルM2の入力条件となる。したがって、第一の攻撃ステップ31、32の場合、センサPS1が水の流れを計測した状態(PS1=On)が、モデルM2の入力条件となる。
【0047】
第一の攻撃ステップ31、32の出力条件について説明する。モデルM2のコントローラPLC2は、センサLS2が計測したタンクT2の水位を、モデルM1のコントローラPLC1に送信するので、コントローラPLC2が送信するセンサLS2の状態が、モデルM2の出力条件となる。
【0048】
したがって、第一の攻撃ステップ31においては、コントローラPLC2が送信するセンサLS2の状態(PLC2.LS2=High―High)が、モデルM2の出力条件となる。また、第一の攻撃ステップ32においては、コントローラPLC2がコントローラPLC1に送信するセンサLS2の状態(PLC2.LS2=Low)が、モデルM2の出力条件となる。
【0049】
第二の攻撃ステップ検出部13は、第一の仮想モデルに関連する第二の仮想モデルに対して攻撃シミュレーションを実行させて、第二の仮想モデルの出力として、第一の攻撃ステップから抽出した入力条件を満たす第二の攻撃ステップを検出する。
【0050】
具体的には、まず、第二の攻撃ステップ検出部13は、記憶装置から第二の仮想モデルを取得する。次に、第二の攻撃ステップ検出部13は、第二の仮想モデルの入力を設定する。次に、第二の攻撃ステップ検出部13は、第二の仮想モデルに対して、第一の攻撃ステップから抽出した入力条件を満たす攻撃シミュレーションを実行させる。次に、第二の攻撃ステップ検出部13は、攻撃シミュレーションの結果として、入力条件を満たす第二の攻撃ステップを取得し、第二の攻撃ステップを不図示の記憶装置に記憶する。
【0051】
第二の攻撃ステップは、第二の仮想モデルに対して、入力条件を満たす攻撃シミュレーションを実行し、入力条件を満たす状態に至るまでの、第二の仮想モデルに含まれる機器それぞれの状態の変化を表す情報である。
【0052】
図4は、第二の攻撃ステップの一例を説明するための図である。図4に示す第二の攻撃ステップ41、42は、モデルM1の入力としてモデルM2の出力条件を設定して、モデルM1の出力としてモデルM2の入力条件を満たす第二の攻撃ステップを探索する攻撃シミュレーションを実行させて、得られた結果である。なお、第二の攻撃ステップ41では、ステップの機器の状態を一部省略している。
【0053】
図5図6は、仮想モデルと第一、第二の攻撃ステップとの関係を説明するための図である。図4の第二の攻撃ステップ41を検出するには、まず、第一の攻撃ステップ31から抽出した出力条件である、コントローラPLC2がコントローラPLC1に送信したセンサLS2の状態(PLC2.LS2=High―High)を、モデルM1の入力として設定する。
【0054】
次に、正常状態のモデルM1に対して、第一の攻撃ステップ31から抽出した入力条件を出力として、センサPS1が水の流れを計測した状態(PS1=On)を満たす、攻撃シミュレーションを実行する。その結果、第二の攻撃ステップ41を得る。
【0055】
しかし、第二の攻撃ステップ41の場合、モデルM2のセンサPS1は開状態(PS1=On)にならないので、第二の攻撃ステップ41は選択しない。
【0056】
次に、図4の第二の攻撃ステップ42を検出するには、まず、第一の攻撃ステップ32から抽出した出力条件である、コントローラPLC2がコントローラPLC1に送信したセンサLS2の状態(PLC2.LS2=Low)を、モデルM1の入力として設定する。
【0057】
次に、正常状態のモデルM1に対して、第一の攻撃ステップ32から抽出した入力条件を出力として、センサPS1が水の流れを計測した状態(PS1=On)を満たす、攻撃シミュレーションを実行する。その結果、第二の攻撃ステップ42を得る。
【0058】
第二の攻撃ステップ42の場合、モデルM2のセンサPS1が開状態(PS1=On)となるので、すなわちモデルM2に損害を与える入力条件と出力条件を満たすので、第二の攻撃ステップ42が選択される。つまり、センサLS2の状態を改竄してPLC2.LS2=Lowとすることで、センサPS1は開状態(PS1=On)となるので、モデルM2に損害が与えられてしまう。
【0059】
結合部14は、第一の攻撃ステップと第二の攻撃ステップとを結合して攻撃シナリオを生成する。具体的には、まず、結合部14は、第一の攻撃ステップと、第一の攻撃ステップで抽出された入力条件と出力条件とを満たした第二の攻撃ステップとを、記憶装置から取得する。例えば、結合部14は、第一の攻撃ステップ32と、第二の攻撃ステップ42とを取得する。
【0060】
次に、結合部14は、第一の攻撃ステップと、第二の攻撃ステップとを結合して攻撃シナリオを生成する。図7は、攻撃シナリオの説明をするための図である。図7に示す攻撃シナリオは、第一の攻撃ステップ32と、第二の攻撃ステップ42とを結合したものである。具体的には、第一の攻撃ステップ32と第二の攻撃ステップ42とでセンサLS2の状態(PLC2.LS2=Low)が同じなので、センサLS2の状態に基づいて結合する。
【0061】
[装置動作]
次に、実施形態1における攻撃シナリオ生成装置の動作について図8を用いて説明する。図8は、攻撃シナリオ生成装置の動作の一例を説明するための図である。以下の説明においては、適宜図を参酌する。また、実施形態1では、攻撃シナリオ生成装置を動作させることによって、攻撃シナリオ生成方法が実施される。よって、実施形態1における攻撃シナリオ生成方法の説明は、以下の攻撃シナリオ生成装置の動作説明に代える。
【0062】
図8に示すように、まず、第一の攻撃ステップ検出部11は、記憶装置から第一の仮想モデルを取得する(ステップA1)。次に、第一の攻撃ステップ検出部11は、第一の仮想モデルに対して損害条件を満たす第一の攻撃ステップを探索する攻撃シミュレーションを実行する(ステップA2)。次に、第一の攻撃ステップ検出部11は、攻撃シミュレーションの結果として、損害条件を満たす第一の攻撃ステップを取得し、第一の攻撃ステップを記憶装置に記憶する。
【0063】
次に、入出力条件抽出部12は、記憶装置から第一の攻撃ステップを取得した第一の攻撃ステップを用いて、第一の仮想モデルの入力条件出力条件を抽出する(ステップA3)。
【0064】
次に、第二の攻撃ステップ検出部13は、記憶装置から第二の仮想モデルを取得する(ステップA4)。次に、第二の攻撃ステップ検出部13は、第二の仮想モデルの入力を設定する(ステップA5)。次に、第二の攻撃ステップ検出部13は、第二の仮想モデルに対して、第一の攻撃ステップから抽出した入力条件を満たす攻撃シミュレーションを実行させる(ステップA6)。次に、第二の攻撃ステップ検出部13は、攻撃シミュレーションの結果として、入力条件を満たす第二の攻撃ステップを取得し、第二の攻撃ステップを不図示の記憶装置に記憶する。
【0065】
次に、結合部14は、第一の攻撃ステップと、第一の攻撃ステップで抽出された入力条件と出力条件とを満たした第二の攻撃ステップとを、記憶装置から取得する(ステップA7)。次に、結合部14は、第一の攻撃ステップと、第二の攻撃ステップとを結合して攻撃シナリオを生成する(ステップA8)。
【0066】
なお、分割したモデルが他にもある場合には、上述したステップA1からA8の処理を繰り返して、攻撃シナリオを生成する。
【0067】
[実施形態1の効果]
大規模プラントでは、プラントを構成する機器が多くなるため、大規模プラントを仮想化した仮想モデルに攻撃シミュレーションを実行した場合、大容量のメモリが必要になるとともに、攻撃シミュレーションの処理時間が増加する、すなわち攻撃シナリオを生成する処理時間も増加する。
【0068】
しかしながら、実施形態1においては、対象システムの仮想モデルを分割して、分割した仮想モデルを用いて攻撃シミュレーションを実行するので、対象システム全体を攻撃シミュレーションする場合より、メモリの使用量を削減できる。
【0069】
また、実施形態1においては、仮想モデルを分割して、分割した仮想モデルごとに攻撃シミュレーションを実行し、実行結果(第一の攻撃ステップと第二の攻撃ステップ)に基づいて攻撃シナリオ生成するので、攻撃シナリオを生成する処理時間を短縮できる。
【0070】
また、サイバー攻撃の初期の攻撃ステップが探索されるまで、上述した処理を繰り返すことで、対象システムに対する侵入から損害が発生するまでの攻撃シナリオを生成できる。
【0071】
さらに、複数の攻撃ステップを並行して生成してもよい。例えば、攻撃シミュレーションを並行して実行してもよい。
【0072】
(実施形態2)
図9を用いて、実施形態2における攻撃シナリオ生成装置を有するシステムの構成について説明する。図9は、攻撃シナリオ生成装置を有するシステムの一例を示す図である。
【0073】
[システム構成]
図9に示すように、実施形態2におけるシステム100は、攻撃シナリオ生成装置10と、入力装置20と、記憶装置30と、攻撃シミュレーション装置40と、出力装置50とを有する。
【0074】
攻撃シナリオ生成装置10は、第一の攻撃ステップ検出部11と、入出力条件抽出部12と、第二の攻撃ステップ検出部13と、結合部14とに加えて、変換部15と、出力情報生成部16とを有する。
【0075】
入力装置20は、損害条件などの設定を入力する装置である。例えば、キーボード、マウス、タッチパネルなどの入力装置である。
【0076】
記憶装置30は、対象システムを分割した仮想モデル(第一の仮想モデル、第二の仮想モデル)、第一の攻撃ステップ、第二の攻撃ステップ、入力条件、出力条件、攻撃シナリオ、各種設定パラメータなどを記憶する。記憶装置30は、例えば、データベース、又はサーバコンピュータなどである。なお、図9の例では、記憶装置30は、攻撃シナリオ生成装置10の外部に設けられているが、内部に設けてもよい。また、記憶装置30は、複数の記憶装置に分けてもよい。
【0077】
攻撃シミュレーション装置40は、第一の攻撃ステップ及び第二の攻撃ステップを探索するための攻撃シミュレーションを実行する装置である。攻撃シミュレーション装置40は、例えば、サーバコンピュータなどに攻撃シミュレータをインストールした装置である。なお、図9の例であれば、攻撃シミュレーション装置40は、攻撃シナリオ生成装置10の外部に設けられているが、内部に設けてもよい。
【0078】
出力装置50は、出力情報生成部16により、出力可能な形式に変換された、出力情報を取得し、その出力情報に基づいて、生成した画像及び音声などを出力する。出力装置50は、例えば、液晶、有機EL(Electro Luminescence)、CRT(Cathode Ray Tube)を用いた画像表示装置などである。さらに、画像表示装置は、スピーカなどの音声出力装置などを備えていてもよい。なお、出力装置50は、プリンタなどの印刷装置でもよい。
【0079】
攻撃シナリオ生成装置について具体的に説明する。
第一の攻撃ステップ検出部11、入出力条件抽出部12、第二の攻撃ステップ検出部13、結合部14については、既に説明をしたので、説明を省略する。
【0080】
変換部15は、攻撃シミュレーションの種類が異なる場合、入力条件と出力条件を、攻撃シミュレーションの種類に応じた記述に変換する。
【0081】
記述の変換について説明する。
図10は、異なる攻撃シミュレーションの仮想モデルについて説明するための図である。図10の仮想モデルは、上述したモデルM1、M2に、更にモデルM3を有する。
【0082】
モデルM3は、各機器の機能を表す、コンピュータPC、サーバコンピュータSV1、SV2、SV3、ゲートウェイGW1、GW2、エンジニアリングワークステーションEWS、スキャダSCADA(Supervisory Control And Data Acquisition:コンピュータによるシステム監視とプロセス制御を行うシステム)を有する。また、モデルM3は、モデルM1、M2と異なる種類の攻撃シミュレーションを用いる。
【0083】
図11は、実施形態2の攻撃ステップの結合を説明するための図である。モデルM3の攻撃ステップS3の記述は、モデルM1の攻撃ステップS2及びモデルM2の攻撃ステップS1の記述と異なる。そのため、結合部14は、攻撃ステップS3と、攻撃ステップS2及び攻撃ステップS1とを結合することができない。
【0084】
図11に示した攻撃ステップS1は、モデルM2に対して攻撃シミュレーションを実行し、モデルM2が損害条件(T2=Overflow)を満たす状態に至るまでの、モデルM2に含まれる機器それぞれの状態の変化を表す情報である。
【0085】
図11に示した攻撃ステップS2は、モデルM1に対して攻撃シミュレーションを実行し、モデルM2の入力条件(PS=On)を満たす状態に至るまでの、モデルM1に含まれる機器それぞれの状態の変化を表す情報である。
【0086】
図11に示した攻撃ステップS3は、モデルM3に対して攻撃シミュレーションを実行し、モデルM1の入力条件(PLC1=Remote exploit/PLC1.V2=Compromised)を満たす状態に至るまでの、モデルM3に含まれる機器それぞれの状態の変化を表す情報である。なお、攻撃ステップS3では、ステップの機器の状態を一部省略している。
【0087】
なお、図11の攻撃ステップS2の入力条件である「PLC1.V2=Compromised」は、攻撃者がコントローラPLC1において不正操作(センサ値の改竄、動作改竄など)が可能な状態を示す。そこで、図11の攻撃ステップS3では、コントローラPLC1において不正操作が可能であるという条件「Remote exploit」を設定して攻撃シミュレーションを行う。
【0088】
不正操作の表現は、攻撃シミュレーションの方法により異なるため、同じ状態を意味するものを設定すればよい。実施形態2では「Remote exploit」を設定したが、不正操作が可能な状態を示すものであれば他の物でもよい。例えば、「Local exploit」(対象にログイン後に何かしらの攻撃で不正操作が可能)を指定してもよい。
【0089】
具体的には、変換部15は、攻撃ステップの攻撃シミュレーションの種類が異なるか否かを判定する。変換部15は、攻撃ステップの攻撃シミュレーションの種類が異なる場合、変換情報を用いて、変換対象の攻撃ステップに含まれる入力条件と出力条件の記述を、変換する攻撃シミュレーションの記述に変換する。
【0090】
図12は、変換テーブルの一例を説明するための図である。図12の変換情報131、は、二つの攻撃シミュレーションにおいて、同等の記述を対応付けた変換テーブルである。また、図12の変換情報132、は、二つの攻撃シミュレーションにおいて、機器ごとに、同等の記述を対応付けた変換テーブルである。
【0091】
図12の変換情報131、132は、「変換規則番号」「変換前種別」「変換前条件」「変換後種別」「変換後条件」を関連付けた情報である。変換規則番号「1」から「4」は、変換規則を識別するための情報である。変換前種別及び変換後種別「A」「B」は、攻撃シミュレーションの種類を識別するための情報である。また、図12の変換情報132の機器ID「HMI」「EWS」「V1」「V2」「LS」「PLC」は、機器を識別するための情報である。
【0092】
変換前条件は、変換前の入力条件と出力条件を表す情報である。変換後条件は、変換後の入力条件と出力条件を表す情報である。例えば、変換情報131の変換規則番号「2」の変換前条件「Remote exploit」は変換されると、変換後条件「Compromised」に変換される。
【0093】
攻撃ステップS1、S2、S3の結合について説明する。
まず、撃ステップS2と攻撃ステップS1とは、実施形態1で説明したように、結合部14を用いて結合する。具体的には、攻撃ステップS2と攻撃ステップS1とでセンサPS1の状態(PS1=On)が同じなので、センサPS1の状態に基づいて結合する。
【0094】
次に、結合部14は、攻撃ステップS3のコントローラPLC1の出力(PLC1=Remote exploit)と、攻撃ステップS2のコントローラPLC1の入力(PLC1=Compromised)とに基づいて結合する。攻撃ステップS3のコントローラPLC1の出力(PLC1=Remote exploit)は変換されると、モデルM1の入力条件であるPLC1=Compromisedと同じ記述になるので、PLC1=Compromisedに基づいて結合する。
【0095】
このようにして、結合部14は、攻撃ステップS1、S2、S3を結合して攻撃シナリオを生成する。
【0096】
出力情報生成部16は、例えば、少なくとも対象システムの仮想モデルの全体、分割した仮想モデル、攻撃ステップ、攻撃シナリオ、損害条件、入力条件、出力条件のいずれか一つ以上を出力装置50に表示するための出力情報を生成する。
【0097】
[装置動作]
次に、実施形態2における攻撃シナリオ生成装置の動作について図13を用いて説明する。図13は、攻撃シナリオ生成装置の動作の一例を説明するための図である。以下の説明においては、適宜図を参酌する。また、実施形態2では、攻撃シナリオ生成装置を動作させることによって、攻撃シナリオ生成方法が実施される。よって、実施形態2における攻撃シナリオ生成方法の説明は、以下の攻撃シナリオ生成装置の動作説明に代える。
【0098】
実施形態1と実施形態2との違いはステップB1、B2である。ステップA1からA8については実施形態1で説明したので、ステップA1からA8の説明は省略する。
【0099】
ステップB1では、変換部15は、攻撃シミュレーションの種類が異なる場合、入力条件と出力条件を、攻撃シミュレーションの種類に応じた記述に変換する。
【0100】
ステップB2では、出力情報生成部16は、例えば、少なくとも仮想モデルの全体、分割した仮想モデル、攻撃ステップ、攻撃シナリオ、損害条件、入力条件、出力条件のいずれか一つ以上を出力装置50に表示するための出力情報を生成する。
【0101】
[実施形態2の効果]
実施形態2によれば、実施形態1と同等の効果に加えて、入力条件と出力条件の記述を変換ができるので、異なる攻撃シミュレーションを組み合わせて、攻撃シナリオを生成することができる。
【0102】
(実施形態3)
図14は、実施形態3を説明するための図である。図14の仮想モデルは、モデルM4、M5を有する。
【0103】
モデルM4は、各機器などの機能を表す、侵入口Attacker、ゲートウェイGW1、GW2、サーバコンピュータSV1を有する。また、モデルM5は、ゲートウェイGW2、コンピュータPC1、サーバコンピュータSV4、SV5、SV6を有する。
【0104】
実施形態3では、まず、第一の攻撃ステップ検出部11が、モデルM5に対して攻撃シミュレーションを実行させて、モデルM5に損害を与える損害条件(SV6=Data―inject)を満たす攻撃ステップS5を検出する。
【0105】
次に、入出力条件抽出部12は、検出した攻撃ステップS5からモデルM5の入力条件(PC1=Local exploit)を抽出する。
【0106】
次に、第二の攻撃ステップ検出部13は、攻撃ステップS5から抽出した入力条件(PC1=Local exploit)を入力として、モデルM5に関連するモデルM4に対して攻撃シミュレーションを実行させて、モデルM4の出力として、攻撃ステップS5から抽出した入力条件を満たす攻撃ステップS4を検出する。
【0107】
図15は、実施形態3の攻撃シナリオの説明をするための図である。モデルM4の攻撃ステップS4の記述では、まず、攻撃者が、侵入口AttackerからゲートウェイGW1を介してサーバコンピュータSV1に不正データが送信され(インジェクションアタック:Data―inject)をする。次に、サーバコンピュータSV1からゲートウェイGW2を介してコンピュータPCに不正データが転送される。その後、コンピュータPC1で不正データを開封するとマルウェアに感染する(Local exploit)。
【0108】
また、モデルM5の攻撃ステップS5の記述では、まず、コンピュータPC1がサーバコンピュータSV4を攻撃する。次に、サーバコンピュータSV4がサーバコンピュータSV6に不正データを登録する。なお、攻撃ステップS4、S5では、ステップの機器の状態を一部省略している。
【0109】
結合部14は、攻撃ステップS4と攻撃ステップS5とを結合して攻撃シナリオを生成する。具体的には、攻撃ステップS4のコンピュータPC1の出力(PC1=Local exploit)と、攻撃ステップS5のコンピュータPC1の入力(PC1=Local exploit)とが同じなので結合する。
【0110】
[実施形態3の効果]
実施形態3によれば、実施形態1と同等の効果に加えることができる。
【0111】
[プログラム]
実施形態1から3におけるプログラムは、コンピュータに、図8に示すステップA1からA8、又は、図13に示すステップA1からA8、B1、B2を実行させるプログラムであればよい。このプログラムをコンピュータにインストールし、実行することによって、実施形態1から3における攻撃シナリオ生成装置と攻撃シナリオ生成方法とを実現することができる。この場合、コンピュータのプロセッサは、第一の攻撃ステップ検出部11、入出力条件抽出部12、第二の攻撃ステップ検出部13、結合部14、変換部15、出力情報生成部16として機能し、処理を行なう。
【0112】
また、実施形態1から3におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されてもよい。この場合は、例えば、各コンピュータが、それぞれ、第一の攻撃ステップ検出部11、入出力条件抽出部12、第二の攻撃ステップ検出部13、結合部14、変換部15、出力情報生成部16のいずれかとして機能してもよい。
【0113】
[物理構成]
ここで、実施形態1から3におけるプログラムを実行することによって、攻撃シナリオ生成装置を実現するコンピュータについて図16を用いて説明する。図16は、本発明の実施形態1から3における攻撃シナリオ生成装置を実現するコンピュータの一例を示すブロック図である。
【0114】
図16に示すように、コンピュータ110は、CPU(Central Processing Unit)111と、メインメモリ112と、記憶装置113と、入力インターフェイス114と、表示コントローラ115と、データリーダ/ライタ116と、通信インターフェイス117とを備える。これらの各部は、バス121を介して、互いにデータ通信可能に接続される。なお、コンピュータ110は、CPU111に加えて、又はCPU111に代えて、GPU、又はFPGAを備えていてもよい。
【0115】
CPU111は、記憶装置113に格納された、本実施形態におけるプログラム(コード)をメインメモリ112に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ112は、典型的には、DRAM(Dynamic Random Access Memory)等の揮発性の記憶装置である。また、本実施形態におけるプログラムは、コンピュータ読み取り可能な記録媒体120に格納された状態で提供される。なお、本実施形態におけるプログラムは、通信インターフェイス117を介して接続されたインターネット上で流通するものであってもよい。なお、記録媒体120は、不揮発性記録媒体である。
【0116】
また、記憶装置113の具体例としては、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置があげられる。入力インターフェイス114は、CPU111と、キーボード及びマウスといった入力機器118との間のデータ伝送を仲介する。表示コントローラ115は、ディスプレイ装置119と接続され、ディスプレイ装置119での表示を制御する。
【0117】
データリーダ/ライタ116は、CPU111と記録媒体120との間のデータ伝送を仲介し、記録媒体120からのプログラムの読み出し、及びコンピュータ110における処理結果の記録媒体120への書き込みを実行する。通信インターフェイス117は、CPU111と、他のコンピュータとの間のデータ伝送を仲介する。
【0118】
また、記録媒体120の具体例としては、CF(Compact Flash(登録商標))及びSD(Secure Digital)等の汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)等の磁気記録媒体、又はCD-ROM(Compact Disk Read Only Memory)などの光学記録媒体があげられる。
【0119】
なお、実施形態1から3における攻撃シナリオ生成装置10は、プログラムがインストールされたコンピュータではなく、各部に対応したハードウェアを用いることによっても実現可能である。更に、攻撃シナリオ生成装置10は、一部がプログラムで実現され、残りの部分がハードウェアで実現されていてもよい。
【0120】
[付記]
以上の実施形態に関し、更に以下の付記を開示する。上述した実施形態の一部又は全部は、以下に記載する(付記1)から(付記9)により表現することができるが、以下の記載に限定されるものではない。
【0121】
(付記1)
対象システムを表すために用いる複数の仮想モデルが記憶されている記憶装置から取得した第一の仮想モデルに対して攻撃シミュレーションを実行させて、前記第一の仮想モデルに損害を与える損害条件を満たす第一の攻撃ステップを検出する、第一の攻撃ステップ検出部と、
検出した前記第一の攻撃ステップから前記第一の仮想モデルの入力条件、又は出力条件、又は両方を抽出する、入出力条件抽出部と、
前記記憶装置から取得した第二の仮想モデルに対して攻撃シミュレーションを実行させて、前記第二の仮想モデルの出力が前記入力条件を満たす第二の攻撃ステップを検出する、第二の攻撃ステップ検出部と、
前記第一の攻撃ステップと第二の攻撃ステップとを結合して攻撃シナリオを生成する、結合部と、
を有する攻撃シナリオ生成装置。
【0122】
(付記2)
付記1に記載の攻撃シナリオ生成装置であって、
前記攻撃シミュレーションの種類が異なる場合、前記入力条件と前記出力条件を、前記攻撃シミュレーションの種類に応じた記述に変換する、変換部
を有する攻撃シナリオ生成装置。
【0123】
(付記3)
付記1又は2に記載の攻撃シナリオ生成装置であって、
複数の前記第一、第二の攻撃ステップを並行して生成する
攻撃シナリオ生成装置。
【0124】
(付記4)
コンピュータが、
対象システムを表すために用いる複数の仮想モデルが記憶されている記憶装置から取得した第一の仮想モデルに対して攻撃シミュレーションを実行させて、前記第一の仮想モデルに損害を与える損害条件を満たす第一の攻撃ステップを検出する、第一の攻撃ステップ検出ステップと、
検出した前記第一の攻撃ステップから前記第一の仮想モデルの入力条件、又は出力条件、又は両方を抽出する、入出力条件抽出ステップと、
前記記憶装置から取得した第二の仮想モデルに対して攻撃シミュレーションを実行させて、前記第二の仮想モデルの出力が前記入力条件を満たす第二の攻撃ステップを検出する、第二の攻撃ステップ検出ステップと、
前記第一の攻撃ステップと第二の攻撃ステップとを結合して攻撃シナリオを生成する、結合ステップと、
を有する攻撃シナリオ生成方法。
【0125】
(付記5)
付記4に記載の攻撃シナリオ生成方法であって、
前記コンピュータが、
前記攻撃シミュレーションの種類が異なる場合、前記入力条件と前記出力条件を、前記攻撃シミュレーションの種類に応じた記述に変換する、変換ステップ
を有する攻撃シナリオ生成方法。
【0126】
(付記6)
付記4又は5に記載の攻撃シナリオ生成方法であって、
複数の前記第一、第二の攻撃ステップを並行して生成する
攻撃シナリオ生成方法。
【0127】
(付記7)
コンピュータに、
対象システムを表すために用いる複数の仮想モデルが記憶されている記憶装置から取得した第一の仮想モデルに対して攻撃シミュレーションを実行させて、前記第一の仮想モデルに損害を与える損害条件を満たす第一の攻撃ステップを検出する、第一の攻撃ステップ検出ステップと、
検出した前記第一の攻撃ステップから前記第一の仮想モデルの入力条件、又は出力条件、又は両方を抽出する、入出力条件抽出ステップと、
前記記憶装置から取得した第二の仮想モデルに対して攻撃シミュレーションを実行させて、前記第二の仮想モデルの出力が前記入力条件を満たす第二の攻撃ステップを検出する、第二の攻撃ステップ検出ステップと、
前記第一の攻撃ステップと第二の攻撃ステップとを結合して攻撃シナリオを生成する、結合ステップと、
を実行する命令を含むプログラム。
【0128】
(付記8)
付記7に記載のプログラムであって、
前記プログラムが、前記コンピュータに、
前記攻撃シミュレーションの種類が異なる場合、前記入力条件と前記出力条件を、前記攻撃シミュレーションの種類に応じた記述に変換する、変換ステップ
を実行する命令を含むプログラム。
【0129】
(付記9)
付記7又は8に記載のプログラムであって、
複数の前記第一、第二の攻撃ステップを並行して生成させる
プログラム。
【0130】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【産業上の利用可能性】
【0131】
以上のように本発明によれば、攻撃シナリオを生成する処理時間を短縮することができる。本発明は、攻撃シナリオの生成が必要な分野において有用である。
【符号の説明】
【0132】
10 攻撃シナリオ生成装置
11 第一の攻撃ステップ検出部
12 入出力条件抽出部
13 第二の攻撃ステップ検出部
14 結合部
15 変換部
16 出力情報生成部
20 入力装置
30 記憶装置
40 攻撃シミュレーション装置
50 出力装置
100 システム
110 コンピュータ
111 CPU
112 メインメモリ
113 記憶装置
114 入力インターフェイス
115 表示コントローラ
116 データリーダ/ライタ
117 通信インターフェイス
118 入力機器
119 ディスプレイ装置
120 記録媒体
121 バス
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16