(57)【要約】      （修正有）【課題】サイバー攻撃に対する演習において演習対象者のスキルレベルに合わせた演習を実施するすることができるプログラムを提供する。【解決手段】複数の情報処理装置を含むシステムを用いたサイバー攻撃に対する演習をコンピュータに実行させるプログラムは、複数の情報処理装置のそれぞれに配備され、与えられた攻撃シナリオに従って処理を実行するプログラムのそれぞれに対して、攻撃シナリオに基づいて実行すべきサイバー攻撃を制御する制御信号を送信する処理をコンピュータに実行させる。【選択図】図１
2019191670.tif 000002
【特許請求の範囲】
【請求項１】
複数の情報処理装置を含むシステムを用いたサイバー攻撃に対する演習をコンピュータに実行させるプログラムにおいて、
前記複数の情報処理装置または端末装置のそれぞれに配備され、与えられた攻撃シナリオに従って処理を実行するプログラムのそれぞれに対して、攻撃シナリオに基づいて実行すべきサイバー攻撃を制御する制御信号を送信する
処理をコンピュータに実行させることを特徴とするプログラム。
【請求項２】
前記制御信号は、特定のプログラムが配備された特定の情報処理装置の１つまたは複数の情報処理装置または端末装置の１つまたは複数の端末装置に対して、管理装置から送信される前記サイバー攻撃を制御する信号である
ことを特徴とする請求項１に記載のプログラム。
【請求項３】
前記攻撃シナリオは、攻撃経路、攻撃速度、攻撃時刻および攻撃規模のいずれかのパラメータを含む
ことを特徴とする請求項１に記載のプログラム。
【請求項４】
前記サイバー攻撃を制御する制御信号を送信する管理装置は、前記攻撃シナリオの変更に基づいて前記パラメータを更新する
ことを特徴とする請求項３に記載のプログラム。
【請求項５】
前記サイバー攻撃を制御する制御信号を送信する管理装置からの指示に従って、前記プログラムは前記サイバー攻撃を開始または終了する
ことを特徴とする請求項１に記載のプログラム。
【請求項６】
前記複数の情報処理装置間または前記複数の端末装置間で通信されるサイバー攻撃の信号が送信されるネットワークとは異なる所定の専用ネットワークを介して、前記プログラムは前記制御信号を送信する
ことを特徴とする請求項１に記載のプログラム。
【請求項７】
前記攻撃シナリオに従ってプログラムが実行した処理に対して、対応する情報処理装置または対応する端末装置において行われた操作の履歴または対応するサイバー攻撃の履歴がログ収集部に送信される
ことを特徴とする請求項１に記載のプログラム。
【請求項８】
前記サイバー攻撃が実行される毎にまたは前記サイバー攻撃に対する対処操作が行われる毎に、前記対応する情報処理装置または対応する端末装置に配備され、前記プログラムと異なるプログラムが前記操作の履歴または対応するサイバー攻撃の履歴を前記ログ収集部に送信する
ことを特徴とする請求項７に記載のプログラム。
【請求項９】
前記攻撃シナリオに従ってプログラムが実行した処理に対して、対応する情報処理装置または対応する端末装置において行われた操作の履歴または対応するサイバー攻撃の履歴が、前記複数の情報処理装置間または前記複数の端末装置間で通信されるサイバー攻撃の信号が送信されるネットワークとは異なる所定の専用ネットワークを介して、前記ログ収集部に送信される
ことを特徴とする請求項７に記載のプログラム。
【請求項１０】
前記攻撃シナリオに従って前記プログラムと異なるプログラムが前記プログラムを起動し、当該起動されたプログラムが前記サイバー攻撃を実行する
ことを特徴とする請求項１に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、プログラムに関する。
【背景技術】
【０００２】
従来、サイバー攻撃に対する演習は、演習場となる模擬的な演習システムで行われる。この演習システムでは、例えばウイルスに感染させるなどして、実際にサイバー攻撃を行うウイルスを情報処理装置に注入する。そして、演習対象者は、端末装置を操作し、情報処理装置に注入されたウイルスによるサイバー攻撃への対処を演習する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表２０１４−５０６０４５号公報
【特許文献２】国際公開第２０１５／０２９１９５号
【特許文献３】特開２０１３−１４９０６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した従来技術では、演習時におけるサイバー攻撃が情報処理装置に注入したウイルス任せになることから、予定していたシナリオどおりにサイバー攻撃が行われない場合がある。このため、演習対象者のスキルレベルに合わせた内容のサイバー攻撃を意図的に行って、演習対象者に対処させるような演習を実施することは困難であるという問題がある。
【０００５】
また、１つの側面では、サイバー攻撃に対する演習において演習対象者のスキルレベルに合わせた演習を実施することができるプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
第１の案では、プログラムは、複数の情報処理装置を含むシステムに対するサイバー攻撃をコンピュータに実行させる。また、プログラムは、複数の情報処理装置のそれぞれに配備され、与えられた攻撃シナリオに従って処理を実行するプログラムのそれぞれに対して、攻撃シナリオに基づいて実行すべきサイバー攻撃を制御する制御信号を送信する処理をコンピュータに実行させる。
【発明の効果】
【０００７】
本発明の１実施形態によれば、サイバー攻撃に対する演習において演習対象者のスキルレベルに合わせた演習を実施することができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施形態にかかる演習システムを説明する説明図である。
【図２】図２は、実施形態にかかる演習システムの機能構成を例示するブロック図である。
【図３】図３は、実施形態にかかる演習システムの動作例を示すフローチャートである。
【図４】図４は、攻撃シナリオ（全体）を説明する説明図である。
【図５】図５は、攻撃シナリオ（部分）を説明する説明図である。
【図６】図６は、攻撃結果ログ（部分）における攻撃履歴を説明する説明図である。
【図７】図７は、対処予定シナリオを説明する説明図である。
【図８】図８は、操作結果ログ（部分）における操作履歴を説明する説明図である。
【図９】図９は、実施形態にかかる管理装置、情報処理装置および端末装置のハードウエア構成の一例を示すブロック図である。
【発明を実施するための形態】
【０００９】
以下、図面を参照して、実施形態にかかるプログラムを説明する。実施形態において同一の機能を有する構成には同一の符号を付し、重複する説明は省略する。なお、以下の実施形態で説明するプログラムは、一例を示すに過ぎず、実施形態を限定するものではない。また、以下の各実施形態は、矛盾しない範囲内で適宜組みあわせてもよい。
【００１０】
図１は、実施形態にかかる演習システム１００を説明する説明図である。図１に示すように、演習システム１００は、管理装置１と、情報処理装置２Ａ、２Ｂ、２Ｃ…と、端末装置３Ａ、３Ｂ…とを有する。管理装置１、情報処理装置２Ａ、２Ｂ、２Ｃ…および端末装置３Ａ、３Ｂ…には、例えばＰＣ（パーソナルコンピュータ）、ワークステーションおよびサーバなどのコンピュータを適用できる。
【００１１】
管理装置１は、情報処理装置２Ａ、２Ｂ、２Ｃ…のサイバー攻撃ＡＴ１、ＡＴ２を管理する。情報処理装置２Ａ、２Ｂ、２Ｃ…は、例えばファイルサーバ、メールサーバ、Ｗｅｂサーバなど、端末装置３Ａ、３Ｂ…に対して各種サービスを提供するサーバ装置であり、管理装置１の管理のもとでサイバー攻撃ＡＴ１、ＡＴ２が実施される。端末装置３Ａ、３Ｂ…は、情報処理装置２Ａ、２Ｂ、２Ｃ…が提供する各種サービスを利用する一般ユーザや、情報処理装置２Ａ、２Ｂ、２Ｃ…のサイバー攻撃に対する演習を行う演習対象者が使用する端末である。
【００１２】
なお、情報処理装置２Ａ、２Ｂ、２Ｃ…は、１または複数あればよく、その個数は限定しない。同様に、端末装置３Ａ、３Ｂ…についても、１または複数あればよく、その個数は限定しない。情報処理装置２Ａ、２Ｂ、２Ｃ…について、特に区別しない場合は情報処理装置２と呼ぶものとする。同様に、端末装置３Ａ、３Ｂ…についても、特に区別しない場合は端末装置３と呼ぶものとする。また、情報処理装置２Ａ、２Ｂ、２Ｃ…および端末装置３Ａ、３Ｂ…の内部構成についても、特に区別しない場合は「Ａ」、「Ｂ」、「Ｃ」…を省略した形で呼ぶものとする。
【００１３】
情報処理装置２と、端末装置３とは、例えばＬＡＮ（Local  Area  Network）などの通信ネットワークＮ１を介して互いに通信可能に接続される。また、管理装置１と、情報処理装置２とはＬＡＮなどの通信ネットワークＮ２を介して互いに通信可能に接続される。なお、通信ネットワークＮ１と、通信ネットワークＮ２とは、ＶＬＡＮ（Virtual  LAN）などで分離して構成されている。このように、演習システム１００では、情報処理装置２におけるサイバー攻撃ＡＴ１、ＡＴ２に対して端末装置３より対処する場合の通信ネットワークＮ１と、情報処理装置２におけるサイバー攻撃ＡＴ１、ＡＴ２を管理装置１より管理する場合の通信ネットワークＮ２とを互いに影響を及ぼさないように異なるネットワークとしてもよい。
【００１４】
管理装置１は、サイバー攻撃制御部１０１およびシナリオ管理部１０４を有する。シナリオ管理部１０４は、攻撃シナリオ（全体）１１１および対処予定シナリオ１１４を管理する。攻撃シナリオ（全体）１１１は、演習システム１００における情報処理装置２Ａ、２Ｂ、２Ｃ…および端末装置３Ａ、３Ｂ…のサイバー攻撃ＡＴ１、ＡＴ２全体のシナリオが記述されたデータである。サイバー攻撃制御部１０１は、シナリオ管理部１０４で管理された攻撃シナリオ（全体）１１１を読み出し、情報処理装置２Ａ、２Ｂ、２Ｃ…の各々に攻撃シナリオ（部分）２１１Ａ、２１１Ｂ、２１１Ｃ…を作成し、送信する。また、攻撃シナリオ（全体）１１１をもとに、端末装置３Ａ、３Ｂ…の各々に攻撃シナリオ（部分）３１１Ａ、３１１Ｂ…を送信する。攻撃シナリオ（全体）１１１は、演習対象者のサイバー攻撃ＡＴ１、ＡＴ２への対処能力であるスキルレベルに合わせて、適宜更新することができる。
【００１５】
情報処理装置２Ａ、２Ｂ、２Ｃ…では、常駐するプログラム（例えばデーモンなど）であるエージェント（親）２０１Ａ、２０１Ｂ、２０１Ｃ…の処理により、攻撃シナリオ（部分）２１１Ａ、２１１Ｂ、２１１Ｃ…に従ってエージェント（子）２０２Ａ、２０２Ｂ、２０２Ｃ…が生成される。エージェント（子）２０２Ａ、２０２Ｂ、２０２Ｃ…は、様々なサイバー攻撃を実施するプログラムの処理によるウイルスの実体である。
【００１６】
例えば、情報処理装置２Ａでは、エージェント（親）２０１Ａによる処理により、管理装置１より送信された攻撃シナリオ（部分）２１１Ａに従ってエージェント（子）２０２Ａが生成される。エージェント（子）２０２Ａは、攻撃シナリオ（部分）２１１Ａの内容（攻撃の種類）に対応して生成され、データ改変などの内部へのサイバー攻撃ＡＴ１や、ＤｏＳ攻撃（Denial  of  Service  attack）などの外部へのサイバー攻撃ＡＴ２を行う。
【００１７】
エージェント（親）２０１Ａ、２０１Ｂ、２０１Ｃ…は、情報処理装置２Ａ、２Ｂ、２Ｃ…のプロセスを監視し、エージェント（子）２０２Ａ、２０２Ｂ、２０２Ｃ…の攻撃履歴を攻撃結果ログ（部分）２１２Ａ、２１２Ｂ、２１２Ｃ…として記録する。エージェント（親）２０１Ａ、２０１Ｂ、２０１Ｃ…と同様の常駐するプログラムであるエージェント（操作）２０３Ａ、２０３Ｂ、２０３Ｃ…は、演習対象者がログオンして対処した操作履歴を操作結果ログ（部分）２１３Ａ、２１３Ｂ、２１３Ｃ…として記録する。
【００１８】
端末装置３Ａ、３Ｂ…も情報処理装置２Ａ、２Ｂ、２Ｃ…と同様の処理が行われる。具体的には、常駐するプログラムであるエージェント（親）３０１Ａ、３０１Ｂ…の処理により、攻撃シナリオ（部分）３１１Ａ、３１１Ｂ…に従ってエージェント（子）３０２Ａ、３０２Ｂ…が生成される。エージェント（子）３０２Ａ、３０２Ｂ…は、様々なサイバー攻撃を実施するプログラムの処理によるウイルスの実体である。
【００１９】
エージェント（親）３０１Ａ、３０１Ｂ…は、端末装置３Ａ、３Ｂ…のプロセスを監視し、エージェント（子）３０２Ａ、３０２Ｂ…の攻撃履歴を攻撃結果ログ（部分）３１２Ａ、３１２Ｂ…として記録する。エージェント（親）３０１Ａ、３０１Ｂ…と同様の常駐するプログラムであるエージェント（操作）３０３Ａ、３０３Ｂ…は、演習対象者がログオンして対処した操作履歴を操作結果ログ（部分）３１３Ａ、３１３Ｂ…として記録して管理装置１に通信ネットワークＮ２を介して収集し、操作結果ログ（全体）１１３を作成する。
【００２０】
管理装置１は、情報処理装置２Ａ、２Ｂ、２Ｃ…に記録された攻撃結果ログ（部分）２１２Ａ、２１２Ｂ、２１２Ｃ…および端末装置３Ａ、３Ｂ…に記録された攻撃結果ログ（部分）３１２Ａ、３１２Ｂ…を通信ネットワークＮ２を介して収集して攻撃結果ログ（全体）１１２を作成する。また、サイバー攻撃への対処操作については、攻撃シナリオ（全体）１１１の各サイバー攻撃に対して想定される操作内容が対処予定シナリオ１１４として予め定められている。攻撃結果ログ（全体）１１２、操作結果ログ（全体）１１３および対処予定シナリオ１１４により、管理装置１における演習の監視者は、演習対象者の訓練状況を確認できる。
【００２１】
図２は、実施形態にかかる演習システム１００の機能構成を例示するブロック図である。図２に示すように、管理装置１は、制御部１０、記憶部１１、通信部１２、表示部１３および操作部１４を有する。
【００２２】
制御部１０は、各種プログラムや制御データを格納する内部メモリを有し、これらによって種々の処理を実行するものである。一実施形態として、制御部１０は、中央処理装置、いわゆるＣＰＵ（Central  Processing  Unit）として実装される。なお、制御部１０は、必ずしも中央処理装置として実装されずともよく、ＭＰＵ（Micro  Processing  Unit）として実装されることとしてもよい。また、制御部１０は、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などのハードワイヤードロジックによっても実現できる。
【００２３】
記憶部１１は、制御部１０で実行される各種プログラムおよび各種プログラムに用いられるデータを記憶する記憶デバイスである。一実施形態として、記憶部１１は、装置における主記憶装置として実装される。例えば、記憶部１１には、各種の半導体メモリ素子、例えばＲＡＭ（Random  Access  Memory)やフラッシュメモリを採用できる。また、記憶部１１は、補助記憶装置として実装することもできる。この場合、ＨＤＤ（Hard  Disk  Drive）、光ディスクやＳＳＤ（Solid  State  Drive）などを採用できる。例えば、記憶部１１は、攻撃シナリオ（全体）１１１および攻撃結果ログ（全体）１１２を格納する。
【００２４】
通信部１２は、制御部１０の制御のもと、通信ネットワークＮ２を介して接続する他の装置（例えば情報処理装置２）との間で通信を行うインタフェースである。表示部１３は、ＬＣＤ（Liquid  Crystal  Display）などの表示デバイスであり、制御部１０の制御のもと表示を行う。操作部１４は、キーボード、マウス、タッチパネルなどの入力デバイスであり、ユーザ（例えば演習の監視者）からの操作を受け付けて制御部１０へ出力する。
【００２５】
情報処理装置２は、制御部２０、記憶部２１および通信部２２を有する。制御部２０は、各種プログラムや制御データによって種々の処理を実行するものである。一実施形態として、制御部２０は、中央処理装置、いわゆるＣＰＵとして実装される。
【００２６】
記憶部２１は、制御部２０で実行される各種プログラムおよび各種プログラムに用いられるデータを記憶する記憶デバイスである。一実施形態として、記憶部２１は、装置における主記憶装置として実装される。例えば、記憶部２１には、各種の半導体メモリ素子、例えばＲＡＭやフラッシュメモリを採用できる。また、記憶部２１は、補助記憶装置として実装することもできる。この場合、ＨＤＤ、光ディスクやＳＳＤなどを採用できる。例えば、記憶部２１は、攻撃シナリオ（部分）２１１および攻撃結果ログ（部分）２１２を格納する。
【００２７】
通信部２２は、制御部２０の制御のもと、通信ネットワークＮ１および通信ネットワークＮ２を介して接続する他の装置（例えば管理装置１および端末装置３）との間で通信を行うインタフェースである。
【００２８】
端末装置３は、制御部３０、記憶部３１および通信部３２を有する。制御部３０は、各種プログラムや制御データによって種々の処理を実行するものである。一実施形態として、制御部３０は、中央処理装置、いわゆるＣＰＵとして実装される。
【００２９】
記憶部３１は、制御部３０で実行される各種プログラムおよび各種プログラムに用いられるデータを記憶する記憶デバイスである。一実施形態として、記憶部３１は、装置における主記憶装置として実装される。例えば、記憶部３１には、各種の半導体メモリ素子、例えばＲＡＭやフラッシュメモリを採用できる。また、記憶部３１は、補助記憶装置として実装することもできる。この場合、ＨＤＤ、光ディスクやＳＳＤなどを採用できる。例えば、記憶部３１は、攻撃シナリオ（部分）３１１および攻撃結果ログ（部分）３１２を格納する。
【００３０】
通信部３２は、制御部３０の制御のもと、通信ネットワークＮ１および通信ネットワークＮ２を介して接続する他の装置（例えば管理装置１および端末装置３）との間で通信を行うインタフェースである。
【００３１】
制御部１０は、プログラムを実行することで、サイバー攻撃制御部１０１、ログ収集部１０２、表示制御部１０３およびシナリオ管理部１０４の機能を実現する。また、制御部２０および制御部３０は、プログラムを実行することで、エージェント（親）２０１、エージェント（子）２０２、エージェント（親）３０１およびエージェント（子）３０２の機能を実現する。
【００３２】
サイバー攻撃制御部１０１は、記憶部１１に記憶された攻撃シナリオ（全体）１１１を読み出し、攻撃シナリオ（全体）１１１に基づいて攻撃すべき情報処理装置２に対して、サイバー攻撃を制御する攻撃シナリオ（部分）２１１を制御信号として通信部１２を介して送信する。具体的には、攻撃シナリオ（全体）１１１に記述された演習システム１００全体のシナリオの中から情報処理装置２の各々（２Ａ、２Ｂ、２Ｃ…）に対応する記述を抽出し、攻撃シナリオ（部分）２１１（２１１Ａ、２１１Ｂ、２１１Ｃ…）として情報処理装置２へ送信する。また、攻撃シナリオ（全体）１１１に記述された演習システム１００全体のシナリオの中から端末装置３の各々（３Ａ、３Ｂ…）に対応する記述を抽出し、攻撃シナリオ（部分）３１１（３１１Ａ、３１１Ｂ…）として端末装置３へ送信する。
【００３３】
ログ収集部１０２は、情報処理装置２の各々（２Ａ、２Ｂ、２Ｃ…）より、記憶部２１に記録された攻撃結果ログ（部分）２１２および端末装置３の各々（３Ａ、３Ｂ…）より、記憶部３１に記録された攻撃結果ログ（部分）３１２を通信部１２を介して収集する。具体的には、ログ収集部１０２は、情報処理装置２のエージェント（親）２０１に対し、攻撃結果ログ（部分）２１２を要求するコマンドおよび端末装置３のエージェント（親）３０１に対し、攻撃結果ログ（部分）３１２を要求するコマンドを通信部１２を介して送信する。エージェント（親）２０１では、管理装置１からの攻撃結果ログ（部分）２１２を要求するコマンドに応じて記憶部２１より攻撃結果ログ（部分）２１２を読み出し、管理装置１へ送信する。また、エージェント（親）３０１では、管理装置１からの攻撃結果ログ（部分）３１２を要求するコマンドに応じて記憶部３１より攻撃結果ログ（部分）３１２を読み出し、管理装置１へ送信する。ログ収集部１０２は、情報処理装置２の各々（２Ａ、２Ｂ、２Ｃ…）より送信された攻撃シナリオ（部分）２１１および端末装置３の各々（３Ａ、３Ｂ…）より送信された攻撃シナリオ（部分）３１１をマージし、演習システム１００全体の攻撃結果ログ（全体）１１２を記憶部１１へ記憶する。
【００３４】
表示制御部１０３は、表示部１３の表示画面における表示制御を行う。例えば、表示制御部１０３は、ＧＵＩ（Graphical  User  Interface）におけるアイコン、ボタンなどのグラフィックを表示部１３の表示画面に表示させる。制御部１０は、表示部１３に表示されたＧＵＩにおいて、操作部１４による操作指示を受け付けて、操作に対応した処理結果を表示画面に表示させる。
【００３５】
一例として、表示制御部１０３は、攻撃シナリオ（全体）１１１の作成を行う表示画面を表示部１３に表示させる。制御部１０は、表示部１３に表示された表示画面において操作部１４による操作指示を受け付けて攻撃シナリオ（全体）１１１を作成し、作成した攻撃シナリオ（全体）１１１を記憶部１１に登録する。また、表示制御部１０３は、攻撃結果ログ（全体）１１２を記憶部１１より読み出し、演習システム１００における訓練状況として表示部１３の表示画面上に表示させる。
【００３６】
シナリオ管理部１０４は、攻撃シナリオ（全体）１１１および対処予定シナリオ１１４を管理する。攻撃シナリオ（全体）１１１は、演習開始以後の演習システム１００におけるサイバー攻撃を順に記述したデータである。対処予定シナリオ１１４は、攻撃シナリオ（全体）１１１の各サイバー攻撃に対して想定される操作内容（対処操作）が記述されたデータである。
【００３７】
エージェント（親）２０１は、管理装置１より送信された攻撃シナリオ（部分）２１１を記憶部２１に記憶させる。また、エージェント（親）２０１は、管理装置１より送信された攻撃シナリオ（部分）２１１に基づいてサイバー攻撃を実施するエージェント（子）２０２を生成する。具体的には、エージェント（親）２０１は、攻撃シナリオ（部分）２１１に記述されたサイバー攻撃を開始するタイミングで、エージェント（子）２０２を生成する。エージェント（子）２０２は、攻撃シナリオ（部分）２１１に基づいて、攻撃シナリオ（部分）２１１に記述された内容のサイバー攻撃を実施する。
【００３８】
エージェント（親）２０１は、例えばコマンドを定時に実行するスケジュール管理を行うクーロンデーモンなどと同様、バックグラウンドで処理されるプロセスである。このエージェント（親）２０１は、実際にウイルスとして活動するエージェント（子）２０２を生成するが、演習対象者によるウイルス除去（活動停止）の対象とはならないものとする。これに対し、エージェント（子）２０２は、実際にウイルスとして活動することから、サイバー攻撃時において演習対象者によるウイルス除去の対象となる。したがって、情報処理装置２では、攻撃シナリオ（部分）２１１どおりにサイバー攻撃が実施されることとなる。
【００３９】
エージェント（親）２０１は、情報処理装置２におけるプロセスなどを監視し、攻撃シナリオ（部分）２１１に基づいたエージェント（子）２０２のサイバー攻撃の成功／失敗を攻撃履歴として攻撃結果ログ（部分）２１２に記録する。また、エージェント（操作）２０３は、攻撃シナリオ（部分）２１１に基づいたエージェント（子）２０２のサイバー攻撃に対し、演習対象者が端末装置３よりログオンして対処した操作内容を操作履歴として操作結果ログ（部分）２１３に記録する。エージェント（親）２０１は、管理装置１からの要求に応じて記録された攻撃結果ログ（部分）２１２を記憶部２１より読み出し、通信部２２を介して管理装置１へ送信し、エージェント（操作）２０３は、管理装置１からの要求に応じて記録された操作結果ログ（部分）２１３を記憶部２１より読み出し、通信部２２を介して管理装置１へ送信する。
【００４０】
エージェント（親）３０１は、管理装置１より送信された攻撃シナリオ（部分）３１１を記憶部３１に記憶させる。また、エージェント（親）３０１は、管理装置１より送信された攻撃シナリオ（部分）３１１に基づいてサイバー攻撃を実施するエージェント（子）３０２を生成する。具体的には、エージェント（親）３０１は、攻撃シナリオ（部分）３１１に記述されたサイバー攻撃を開始するタイミングで、エージェント（子）３０２を生成する。エージェント（子）３０２は、攻撃シナリオ（部分）３１１に基づいて、攻撃シナリオ（部分）３１１に記述された内容のサイバー攻撃を実施する。
【００４１】
エージェント（親）３０１は、例えばコマンドを定時に実行するスケジュール管理を行うクーロンデーモンなどと同様、バックグラウンドで処理されるプロセスである。このエージェント（親）３０１は、実際にウイルスとして活動するエージェント（子）３０２を生成するが、演習対象者によるウイルス除去（活動停止）の対象とはならないものとする。これに対し、エージェント（子）３０２は、実際にウイルスとして活動することから、サイバー攻撃時において演習対象者によるウイルス除去の対象となる。したがって、端末装置３では、攻撃シナリオ（部分）３１１どおりにサイバー攻撃が実施されることとなる。
【００４２】
エージェント（親）３０１は、端末装置３におけるプロセスなどを監視し、攻撃シナリオ（部分）３１１に基づいたエージェント（子）３０２のサイバー攻撃の成功／失敗を攻撃履歴として攻撃結果ログ（部分）３１２に記録する。エージェント（親）３０１は、管理装置１からの要求に応じて記録された攻撃結果ログ（部分）３１２を記憶部３１より読み出し、通信部３２を介して管理装置１へ送信し、エージェント（操作）３０３は、管理装置１からの要求に応じて記録された操作結果ログ（部分）３１３を記憶部３１より読み出し、通信部３２を介して管理装置１へ送信する。
【００４３】
図３は、実施形態にかかる演習システム１００の動作例を示すフローチャートである。図３に示すように、管理装置１では、制御部１０の制御のもと、攻撃シナリオ（全体）１１１の作成を行う表示画面を表示部１３に表示させて操作部１４による操作指示を受け付けることで攻撃シナリオ（全体）１１１を作成する（Ｓ１）。次いで、制御部１０は、作成された攻撃シナリオ（全体）１１１を記憶部１１に登録する（Ｓ２）。
【００４４】
図４は、攻撃シナリオ（全体）１１１を説明する説明図である。図４に示すように、攻撃シナリオ（全体）１１１は、演習開始以後の演習システム１００におけるサイバー攻撃を順に記述したデータである。具体的には、攻撃シナリオ（全体）１１１は、「Ｎｏ．」で番号付けされたサイバー攻撃の各々について、「攻撃種類」、「開始時刻」、「終了時刻」、「攻撃元」、「攻撃先」および「補足パラメータ」などのパラメータが記述されたデータである。
【００４５】
「攻撃種類」では、「可搬記憶媒体侵入」、「直接型拡散」、「ステルス化」、「トラフィック送信」、「ファイル改ざん」などのサイバー攻撃の種類が示される。「開始時刻」および「終了時刻」では、演習開始後からサイバー攻撃を開始する時刻およびサイバー攻撃を終了する時刻が示される。例えば、各サイバー攻撃における「開始時刻」の時間間隔を短くすることで、サイバー攻撃の攻撃速度を早くすることとなる。逆に、各サイバー攻撃における「開始時刻」の間の時間を長くすることで、サイバー攻撃の攻撃速度を遅くすることとなる。
【００４６】
「攻撃元」および「攻撃先」では、サイバー攻撃の元となる装置および攻撃先となる装置などの攻撃経路を示す情報（例えば「装置Ａ」、「装置Ｂ」といったホスト名やネットワークアドレスなど）が示される。「補足パラメータ」では、サイバー攻撃の内容を補足する値が示される。具体的には、「補足パラメータ」において、サイバー攻撃の規模の値が示される。例えば、サイバー攻撃の規模は、サイバー攻撃により占有されるリソースの大小を示すものであり、サイバー攻撃における処理の負荷状態などであってよい。一例として、サイバー攻撃の規模が大きく、通常の処理と比べて多くのリソースが占有される場合は「高負荷」とする。逆に、サイバー攻撃の規模が小さく、通常の処理と比べてもリソースの占有が少ない場合は「低負荷」とする。
【００４７】
Ｓ１における攻撃シナリオ（全体）１１１の作成では、演習対象者のスキルレベルに合わせたパラメータが設定される。例えば、演習対象者のスキルレベルが高くなく、サイバー攻撃への対処に時間を要する場合には、攻撃速度、攻撃規模などのパラメータを低くする。一例として、図４に示すように、演習対象者のスキルレベルが低い場合、各サイバー攻撃間の「開始時刻」の間隔を長くして、当初の攻撃シナリオ（全体）１１１よりも攻撃速度を抑えた攻撃シナリオ（全体）１１１Ａとする。同様に、攻撃シナリオ（全体）１１１Ａでは、攻撃規模を示す「補足パラメータ」について、攻撃規模が大きくなる「高負荷」から攻撃規模が小さくなる「低負荷」とする。これにより、演習対象者のスキルレベルに合わせたサイバー攻撃を実施する。
【００４８】
このＳ１、Ｓ２における攻撃シナリオ（全体）１１１の作成・登録は、Ｓ３以後の演習中に行ってもよい。具体的には、演習中においては、Ｓ１、Ｓ２の処理が行われることで、演習以前に登録された攻撃シナリオ（全体）１１１の変更が行われる。この攻撃シナリオ（全体）１１１の変更が行われた場合、Ｓ３以後のＳ５において、変更後の攻撃シナリオ（全体）１１１に基づいた攻撃シナリオ（部分）２１１が各情報処理装置２に送信されることとなる。このように、演習中の訓練状況に合わせて攻撃シナリオ（全体）１１１を適宜変更してもよい。
【００４９】
攻撃シナリオ（全体）１１１を登録後に演習が開始されると（Ｓ３）、管理装置１のサイバー攻撃制御部１０１は、登録された攻撃シナリオ（全体）１１１のサイバー攻撃の中で、演習開始後に開始時刻となったサイバー攻撃の有無を判定する（Ｓ４）。
【００５０】
開始時刻となったサイバー攻撃がある場合（Ｓ４：ＹＥＳ）、サイバー攻撃制御部１０１は、攻撃シナリオ（全体）１１１より開始時刻となったサイバー攻撃のパラメータを読み出し、読み出したパラメータを含む攻撃シナリオ（部分）２１１を攻撃元の情報処理装置２へ送信する（Ｓ５）。情報処理装置２のエージェント（親）２０１は、送信された攻撃シナリオ（部分）２１１を記憶部２１へ格納する。
【００５１】
なお、攻撃シナリオ（部分）２１１の送信については、攻撃シナリオ（全体）１１１のサイバー攻撃の中で開始時刻となったものより順に攻撃元の情報処理装置２へ送信する方法に限定しない。例えば、サイバー攻撃制御部１０１は、演習の開始時刻に攻撃シナリオ（全体）１１１に含まれる各サイバー攻撃を攻撃元ごとに分類し、攻撃元の情報処理装置２のそれぞれに一斉に送信してもよい。
【００５２】
図５は、攻撃シナリオ（部分）２１１Ａ〜２１１Ｄを説明する説明図である。図５に示す攻撃シナリオ（部分）２１１Ａ〜２１１Ｄは、攻撃元が「装置Ａ」〜「装置Ｄ」のそれぞれに送信されるものである。図５に示すように、「装置Ａ」〜「装置Ｄ」の情報処理装置２に対しては、攻撃シナリオ（全体）１１１をもとに、「攻撃種類」、「開始時刻」、「終了時刻」、「攻撃先」、「補足パラメータ」を含む攻撃シナリオ（部分）２１１Ａ〜２１１Ｄが送信される。
【００５３】
情報処理装置２のエージェント（親）２０１では、エージェント（親）２０１のパラメータに従って行うサイバー攻撃について、演習開始後の最初のサイバー攻撃であるか否かを判定する（Ｓ６）。最初のサイバー攻撃である場合（Ｓ６：ＹＥＳ）、エージェント（親）２０１は、サイバー攻撃を行うためのエージェント（子）２０２を生成する（Ｓ７）。具体的には、エージェント（親）２０１は、「攻撃種類」に対応するエージェント（子）２０２を生成する。また、最初のサイバー攻撃でない場合（Ｓ６：ＮＯ）、エージェント（親）２０１は、サイバー攻撃を行うためのエージェント（子）２０２を生成済であることから、Ｓ７の処理をスキップする。
【００５４】
次いで、エージェント（子）２０２は、攻撃シナリオ（部分）２１１のパラメータに従ってサイバー攻撃を実行する（Ｓ８）。例えば、攻撃シナリオ（部分）２１１Ａ（図５参照）に基づいてサイバー攻撃を行うエージェント（子）２０２Ａでは、開始時刻が「００：１５：００」に「可搬記憶媒体侵入」のサイバー攻撃を「装置Ａ」、すなわち自装置に行う。また、エージェント（子）２０２Ａは、開始時刻が「００：３０：００」に「直接型拡散」のサイバー攻撃を「装置Ｂ、Ｃ、Ｄ」、すなわち他装置に行う。
【００５５】
次いで、エージェント（親）２０１は、情報処理装置２におけるプロセスなどの監視結果をもとに、攻撃シナリオ（部分）２１１に基づいたエージェント（子）２０２のサイバー攻撃の成功／失敗を攻撃結果ログ（部分）２１２に記録する（Ｓ９）。例えば、攻撃シナリオ（部分）２１１に記述されたシナリオどおりにエージェント（子）２０２のサイバー攻撃による処理が実行された場合はサイバー攻撃の成功とする。また、攻撃シナリオ（部分）２１１に記述されたシナリオどおりの処理結果が得られなかった場合や、エージェント（子）２０２がキル（活動停止）された場合にはサイバー攻撃の失敗とする。
【００５６】
図６は、攻撃結果ログ（部分）２１２Ａ〜２１２Ｄにおける攻撃履歴を説明する説明図である。図６に示す攻撃結果ログ（部分）２１２Ａ〜２１２Ｄは、「装置Ａ」〜「装置Ｄ」のそれぞれにおける攻撃結果ログ（部分）を示すものである。図６に示すように、Ｓ９では、攻撃シナリオ（部分）２１１Ａ〜２１１Ｄに対応する攻撃履歴が攻撃結果ログ（部分）２１２Ａ〜２１２Ｄに記録される。例えば、各サイバー攻撃ごとに、攻撃の失敗／成功を示す「攻撃結果」、攻撃の開始および終了の時刻を示す「開始時刻（結果）」および「終了時刻（結果）」が記録される。
【００５７】
次いで、エージェント（親）２０１は、情報処理装置２へログオンした演習対象者による、サイバー攻撃への対処操作の有無を判定する（Ｓ１０）。このサイバー攻撃への対処操作については、攻撃シナリオ（全体）１１１の各サイバー攻撃に対して想定される操作内容が対処予定シナリオ１１４として予め定められている。Ｓ１０において、エージェント（操作）２０３は、この対処予定シナリオ１１４に沿った対処操作の有無を判定する。
【００５８】
図７は、対処予定シナリオ１１４を説明する説明図である。図７に示すように、対処予定シナリオ１１４には、各サイバー攻撃に対する「対処予定種類」、「対処カテゴリ」などの操作内容が定められている。
【００５９】
「対処予定種類」は、「異常検知」、「ネットワーク切断」、「プロセス停止」、「ファイル復旧」など、サイバー攻撃に対する操作の種類が定められている。例えば、「異常検知」は、所定の調査コマンドの実行を示す。また、「ネットワーク切断」は、ネットワーク機能を停止するコマンドの実行を示す。また、「プロセス停止」は、キルコマンドによるエージェント（子）２０２の停止を示す。また、「ファイル復旧」は、復旧コマンドによる改ざんファイルの復旧を示す。
【００６０】
「対処カテゴリ」は、演習対象者による対処操作のカテゴリ（分類）であり、例えば「調査」、「初期対処」、「原因対処」、「復旧」などがある。
【００６１】
サイバー攻撃への対処操作がある場合（Ｓ１０：ＹＥＳ）、エージェント（操作）２０３は、サイバー攻撃に対して行われた対処操作を示す操作履歴を操作結果ログ（部分）２１３に記録する（Ｓ１１）。サイバー攻撃への対処操作がない場合（Ｓ１０：ＮＯ）、エージェント（操作）２０３は、Ｓ１１の処理をスキップする。
【００６２】
図８は、操作結果ログ（部分）２１３Ｅ、２１３Ｂ、２１３Ｃにおける操作履歴を説明する説明図である。図８に示す操作結果ログ（部分）２１３Ｅ、２１３Ｂ、２１３Ｃは、「装置Ｅ」、「装置Ｂ」、「装置Ｃ」のそれぞれにおける操作結果ログ（部分）を示すものである。
【００６３】
図８に示すように、Ｓ１１では、「装置Ｅ」、「装置Ｂ」、「装置Ｃ」のサイバー攻撃に対する対処操作を示す操作履歴が操作結果ログ（部分）２１３Ｅ、２１３Ｂ、２１３Ｃに記録される。例えば、各サイバー攻撃に対する対処予定シナリオの「対処予定種類」および「対処カテゴリ」とともに、実際に対処した装置を示す「対処装置」、実際の操作内容を示す「対処行動」および操作の時刻を示す「対処時刻」が記録される。
【００６４】
管理装置１のログ収集部１０２は、Ｓ９、Ｓ１１において記録された攻撃結果ログ（部分）２１２および操作結果ログ（部分）２１３を各情報処理装置２より収集し（Ｓ１２）、攻撃結果ログ（全体）１１２および操作結果ログ（全体）１１３を記憶部１１に記録する。なお、Ｓ１２における各情報処理装置２からの攻撃結果ログ（部分）２１２および操作結果ログ（部分）２１３の収集は、ログ収集部１０２が要求して行ってもよい。
【００６５】
なお、Ｓ１２における攻撃結果ログ（部分）２１２の収集は、ログ収集部１０２からの要求に限定しない。例えば、サイバー攻撃への対処操作がある場合（Ｓ１０：ＹＥＳ）に、エージェント（操作）２０３が対処操作の操作履歴を含む操作結果ログ２１３（部分）を管理装置１へ送信してもよい。また、Ｓ８でサイバー攻撃が実行された場合に、エージェント（親）２０１がその攻撃履歴を含む攻撃結果ログ２１２（部分）を管理装置１へ送信してもよい。
【００６６】
次いで、管理装置１の表示制御部１０３は、攻撃結果ログ（全体）１１２を記憶部１１より読み出し、演習システム１００における演習状況として表示部１３の表示画面上に表示させる（Ｓ１３）。
【００６７】
次いで、管理装置１のサイバー攻撃制御部１０１は、現在時刻が攻撃シナリオ（全体）１１１における終了時刻に達したか否かをもとに、演習の終了の有無を判定する（Ｓ１４）。終了でない場合（Ｓ１４：ＮＯ）、サイバー攻撃制御部１０１は、Ｓ４へ処理を戻す。終了である場合（Ｓ１４：ＹＥＳ）、サイバー攻撃制御部１０１は、各情報処理装置２のエージェント（親）２０１へ終了を通知して演習を終了する。終了が通知されたエージェント（親）２０１では、自身が生成したエージェント（子）２０２を停止させて処理を終了する。
【００６８】
以上のように、演習システム１００では、複数の情報処理装置２Ａ、２Ｂ、２Ｃ…において、与えられた攻撃シナリオに従って処理を実行するエージェント（子）２０２Ａ、２０２Ｂ、２０２Ｃが配備されている。また、演習システム１００では、管理装置１のサイバー攻撃制御部１０１が、エージェント（子）２０２Ａ、２０２Ｂ、２０２Ｃ…のそれぞれに対して、攻撃シナリオ（全体）１１１に基づいて実行すべきサイバー攻撃を制御する制御信号である攻撃シナリオ（部分）２１１Ａ、２１１Ｂ、２１１Ｃ…を送信する。したがって、演習システム１００では、予定していた攻撃シナリオ（全体）１１１どおりにサイバー攻撃を実施することができ、演習対象者のスキルレベルに合わせた演習を容易に実施できる。
【００６９】
なお、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【００７０】
また、管理装置１、情報処理装置２および端末装置３で行われる各種処理機能は、ＣＰＵ（またはＭＰＵ、ＭＣＵ（Micro  Controller  Unit）等のマイクロ・コンピュータ）上で、その全部または任意の一部を実行するようにしてもよい。また、各種処理機能は、ＣＰＵ（またはＭＰＵ、ＭＣＵ等のマイクロ・コンピュータ）で解析実行されるプログラム上、またはワイヤードロジックによるハードウエア上で、その全部または任意の一部を実行するようにしてもよい。
【００７１】
ところで、上記の実施形態で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することで実現できる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータ（ハードウエア）の一例を説明する。図９は、実施形態にかかる管理装置１、情報処理装置２および端末装置３のハードウエア構成の一例を示すブロック図である。なお、図示例では、代表して管理装置１の構成を例示しているが、情報処理装置２および端末装置３の構成も同様である。
【００７２】
図９が示すように、管理装置１は、各種演算処理を実行するＣＰＵ５０１と、データ入力を受け付ける入力装置５０２と、モニタ５０３と、スピーカ５０４とを有する。また、管理装置１は、記憶媒体からプログラム等を読み取る媒体読取装置５０５と、各種装置と接続するためのインタフェース装置５０６と、有線または無線により外部機器と通信接続するための通信装置５０７とを有する。また、管理装置１は、各種情報を一時記憶するＲＡＭ５０８と、ハードディスク装置５０９とを有する。また、管理装置１内の各部（５０１〜５０９）は、バス５１０に接続される。
【００７３】
ハードディスク装置５０９には、上記の実施形態で説明した制御部１０などで各種の処理を実行するためのプログラム５１１が記憶される。また、ハードディスク装置５０９には、プログラム５１１が参照する各種データ５１２（攻撃シナリオ（全体）１１１、攻撃結果ログ（全体）１１２など）が記憶される。入力装置５０２は、例えば、管理装置１の操作者から操作情報の入力を受け付ける。モニタ５０３は、例えば、操作者が操作する各種画面を表示する。インタフェース装置５０６は、例えば印刷装置等が接続される。通信装置５０７は、ＬＡＮ（Local  Area  Network）等の通信ネットワークと接続され、通信ネットワークを介した外部機器との間で各種情報をやりとりする。
【００７４】
ＣＰＵ５０１は、ハードディスク装置５０９に記憶されたプログラム５１１を読み出して、ＲＡＭ５０８に展開して実行することで、各種の処理を行う。なお、プログラム５１１は、ハードディスク装置５０９に記憶されていなくてもよい。例えば、管理装置１が読み取り可能な記憶媒体に記憶されたプログラム５１１を、管理装置１が読み出して実行するようにしてもよい。管理装置１が読み取り可能な記憶媒体は、例えば、ＣＤ−ＲＯＭやＤＶＤディスク、ＵＳＢ（Universal  Serial  Bus）メモリ等の可搬型記憶媒体、フラッシュメモリ等の半導体メモリ、ハードディスクドライブ等が対応する。また、公衆回線、インターネット、ＬＡＮ等に接続された装置にこのプログラムを記憶させておき、管理装置１がこれらからプログラムを読み出して実行するようにしてもよい。
【符号の説明】
【００７５】
１…管理装置
２、２Ａ〜２Ｃ…情報処理装置
３、３Ａ、３Ｂ…端末装置
１０、２０、３０…制御部
１１、２１、３１…記憶部
１２、２２、３２…通信部
１３…表示部
１４…操作部
１００…演習システム
１０１…サイバー攻撃制御部
１０２…ログ収集部
１０３…表示制御部
１１１、１１１Ａ…攻撃シナリオ（全体）
１１２…攻撃結果ログ（全体）
１１３…操作結果ログ（全体）
１１４…対処予定シナリオ
２０１、２０１Ａ〜Ｃ、３０１、３０１Ａ、３０１Ｂ…エージェント（親）
２０２、２０２Ａ〜Ｃ、３０２、３０２Ａ、３０２Ｂ…エージェント（子）
２０３、２０３Ａ〜Ｃ、３０３、３０３Ａ、３０３Ｂ…エージェント（操作）
２１１、２１１Ａ〜Ｄ、３１１、３１１Ａ、３１１Ｂ…攻撃シナリオ（部分）
２１２、２１２Ａ〜Ｅ、３１２、３１２Ａ、３１２Ｂ…攻撃結果ログ（部分）
２１３、２１３Ｂ〜Ｃ、２１３Ｅ、３１３、３１３Ａ、３１３Ｂ…操作結果ログ（部分）
５０１…ＣＰＵ
５１１…プログラム
５１２…各種データ
ＡＴ１、ＡＴ２…サイバー攻撃
Ｎ１、Ｎ２…通信ネットワーク
【図１】
2019191670.tif 000003
【図２】
2019191670.tif 000004
【図３】
2019191670.tif 000005
【図４】
2019191670.tif 000006
【図５】
2019191670.tif 000007
【図６】
2019191670.tif 000008
【図７】
2019191670.tif 000009
【図８】
2019191670.tif 000010
【図９】
2019191670.tif 000011