JP7409116B2 - プログラム,情報処理装置およびサイバー演習制御方法 - Google Patents

プログラム,情報処理装置およびサイバー演習制御方法 Download PDF

Info

Publication number
JP7409116B2
JP7409116B2 JP2020013608A JP2020013608A JP7409116B2 JP 7409116 B2 JP7409116 B2 JP 7409116B2 JP 2020013608 A JP2020013608 A JP 2020013608A JP 2020013608 A JP2020013608 A JP 2020013608A JP 7409116 B2 JP7409116 B2 JP 7409116B2
Authority
JP
Japan
Prior art keywords
exercise
program
component
cyber
scenario
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020013608A
Other languages
English (en)
Other versions
JP2021120780A (ja
Inventor
一久 白神
耕司 三上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2020013608A priority Critical patent/JP7409116B2/ja
Priority to US17/133,907 priority patent/US11507660B2/en
Publication of JP2021120780A publication Critical patent/JP2021120780A/ja
Application granted granted Critical
Publication of JP7409116B2 publication Critical patent/JP7409116B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/26Government or public services
    • G06Q50/265Personal security, identity or safety
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1433Vulnerability analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Human Resources & Organizations (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Tourism & Hospitality (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • General Business, Economics & Management (AREA)
  • Computing Systems (AREA)
  • Marketing (AREA)
  • Development Economics (AREA)
  • Educational Administration (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Virology (AREA)
  • Game Theory and Decision Science (AREA)
  • Primary Health Care (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Operations Research (AREA)
  • User Interface Of Digital Computer (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、プログラム,情報処理装置およびサイバー演習制御方法に関する。
コンピュータシステムを対象として行なわれるサイバー攻撃に対処するためにサイバー演習を行なうことが知られている。
サイバー空間を模した環境上でサイバー演習を繰り返し実施することで、対処要員の能力や状況報告手段・手順,責任者,命令指示の機能性および対処計画の妥当性・有効性を確認することができるとともに、練度を向上させることができる。
サイバー演習を実施するに際しては、いつ、どこで、誰が、どんなイベントを仕掛け、どのような行動を期待するかを記述した演習シナリオ(MSEL:Master Scenario Events List)を予め作成する。
特開2014-191466号公報 特開2016-102833号公報 国際公開第2017/126041号
しかしながら、サイバー演習を行なうための演習シナリオの作成には多大な労力がかかるという課題がある。また、一旦、作成した演習シナリオは簡単には構成変更できず、その一部を再利用することも困難であるという課題もある。
1つの側面では、本発明は、サイバー演習シナリオを容易に編集できるようにすることを目的とする。
このため、このプログラムは、サイバー演習を実行させるための複数のプログラム部品と、前記複数のプログラム部品間の関係性を示す情報とを受け付け、前記関係性を示す情報に基づき、前記複数のプログラム部品を組み合わせることによって、前記サイバー演習の実行を制御するシナリオを構成するプログラム群を生成する。前記生成する処理は、前記関係性を示す情報に基づき、前記複数のプログラム部品の中で先に実行されるべき第1のプログラム部品を特定する情報を取得し、前記第1のプログラム部品に後続する第2のプログラム部品のスクリプトに、取得した前記第1のプログラム部品を特定する情報を、前記第2のプログラム部品を起動させるトリガーとして設定し、当該第2のプログラム部品に後続して実行される第3のプログラム部品を特定する情報を、次に実行されるプログラム部品として設定する処理を含む。
一実施形態によれば、サイバー演習シナリオを容易に編集できる。
実施形態の一例としての演習ビルダーを備えるサイバー演習システムの機能構成を例示する図である。 実施形態の一例としての演習ビルダーの機能構成を例示する図である。 実施形態の一例としての演習ビルダーの演習モデリング画面を例示する図である。 実施形態の一例としての演習ビルダーの演習モデリング画面を例示する図である。 実施形態の一例としての演習ビルダーの演習モデリング画面を例示する図である。 実施形態の一例としての演習ビルダーの演習モデリング画面を例示する図である。 実施形態の一例としての演習ビルダーの演習モデリング画面を例示する図である。 実施形態の一例としての演習ビルダーにおけるシナリオ定義ファイルの作成手法を説明するための図である。 実施形態の一例としての演習ビルダーにおけるシナリオ定義ファイルの作成手法を説明するための図である。 実施形態の一例としての演習ビルダーにおける演習モデリング画面の遷移を例示する図である。 実施形態の一例としての演習ビルダーにおける演習モデリング画面の遷移を例示する図である。 実施形態の一例としての演習ビルダーにおける演習モデリング画面の遷移を例示する図である。 実施形態の一例としての演習ビルダーにおける演習モデリング画面の遷移を例示する図である。 実施形態の一例としての演習ビルダーにおける演習モデリング画面の遷移を例示する図である。 実施形態の一例としての演習ビルダーにおける演習モデリング画面の遷移を例示する図である。 実施形態の一例としての演習ビルダーにおける演習モデリング画面の遷移を例示する図である。 実施形態の一例としての演習ビルダーにおける演習モデリング画面の遷移を例示する図である。 実施形態の一例としての演習ビルダーにおける演習モデリング画面の遷移を例示する図である。 実施形態の一例としての演習ビルダーにおける標的型攻撃対処演習の演習環境およびフェーズを示す演習モデリング画面を示す図である。 実施形態の一例としての演習ビルダーにおけるサイバー演習シナリオモデルを作成するためのオペレータによる入力操作例を説明するための図である。 実施形態の一例としての演習ビルダーにおけるサイバー演習シナリオモデルを作成するためのオペレータによる入力操作例を説明するための図である。 実施形態の一例としての演習ビルダーにおける演習モデリング画面の遷移を例示する図である 実施形態の一例としての演習ビルダーにおける演習モデリング画面の遷移を例示する図である。 実施形態の一例としての演習ビルダーにおける演習モデリング画面の遷移を例示する図である。 侵入フェーズのシーン構成を示す演習モデリング画面を示す図である。 侵入フェーズのシーン構成を示す演習モデリング画面を示す図である。 標的型攻撃対処演習の演習環境およびフェーズを示す演習モデリング画面を例示する図である。 標的型攻撃対処演習の演習環境およびフェーズを示す演習モデリング画面を例示する図である。 実施形態の一例としての演習ビルダーのスクリプト記述画面を例示する図である。 実施形態の一例としての演習ビルダーのシナリオ定義ファイル作成部によるシナリオ定義ファイルの作成処理を説明するためのフローチャートである。 実施形態の一例としての演習ビルダーのシナリオ定義ファイル作成部によるシナリオ定義ファイルの作成処理を説明するためのフローチャートである。 実施形態の一例としての演習ビルダーのシナリオ定義ファイル作成部によるシナリオ定義ファイルの作成処理を説明するためのフローチャートである。 実施形態の一例としての演習ビルダーのシナリオ定義ファイル作成部によるイベント出力処理を説明するためのフローチャートである。 実施形態の一例としての演習ビルダーにおけるシナリオ定義ファイル作成部による接続元部品情報取得処理を説明するためのフローチャートである。 実施形態の一例としての演習ビルダーのハードウェア構成を例示する図である。
以下、図面を参照して本プログラム,情報処理装置およびサイバー演習制御方法にかかる実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形(実施形態および各変形例を組み合わせる等)して実施することができる。また、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
(A)構成
図1は実施形態の一例としての演習ビルダー2を備えるサイバー演習システム1の機能構成を例示する図である。
サイバー演習システム1は、サイバー演習を実現するものであり、サイバー演習の参加者(演習者)により操作させる複数のコンピュータ(端末)を備える。サイバー演習システム1には、サイバー演習における攻撃側の情報処理装置(第1の情報処理端末)と、サイバー演習における防御側の情報処理装置(第2の情報処理端末)とを含む。
サイバー演習システム1は、図1に示すように、演習ビルダー2,演習実施処理部3,演習スクリプティング処理部4およびスクリプト自動実行処理部5としての機能を備える。
演習実施処理部3は、後述する演習ビルダー2によって作成されるサイバー演習シナリオを用いてサイバー演習を実施する。以下、サイバー演習シナリオを単にシナリオといってもよく、また、単に演習といってもよい。
演習スクリプティング処理部4は、演習実施処理部3によって実施されたサイバー演習の演習者によって行なわれた操作をスクリプト化し部品に埋め込む。これにより、次回以降の演習において当該部品に埋め込まれたスクリプトを自動実行させることで、演習者によって行なわれた操作の自動実行を実現する。
これにより、例えば、攻撃側操作を自動実行させることで防御側の演習を行なうことができ、また、逆に、防御側の操作を自動化して攻撃側の演習を行なうこともできる。また、演習を行ないたい部分だけ手動にして他の処理を全て自動実行させてもよい。
スクリプト自動実行処理部5は、サイバー演習システム1に備えられた各端末の状況を監視し、イベント発生条件が揃った場合に他の端末にイベント発生を通知する。また、スクリプト自動実行処理部5は、他の端末から通知されたイベントに応じてスクリプトを自動実行させる。
演習ビルダー2は、サイバー演習シナリオ作成者にサイバー演習の設計(デザイン)を行なわせ、この設計されたサイバー演習のシナリオ(サイバー演習シナリオ)を作成する。以下、サイバー演習シナリオ作成者をオペレータといってもよい。演習ビルダー2は、演習テキストの作成、演習環境(サイバーレンジ)の作成、演習実施支援のための自動実行用シナリオデータの出力などの機能を実現する。演習ビルダー2は、例えば、サーバ機能を備える情報処理装置によって構成されてもよい。
図2は実施形態の一例としての演習ビルダー2の機能構成を例示する図である。
演習ビルダー2は、図2に示すように、演習エディタ201およびシナリオ定義ファイル作成部202を備える。
演習エディタ201は、オペレータにサイバー演習の設計(デザイン)を行なわせることで、サイバー演習シナリオを作成する。
演習エディタ201は、サイバー演習システム1に備えられたモニタ14a(図35参照)に演習モデリング画面140(図3等参照)を表示させ、オペレータは、この演習モデリング画面140においてサイバー演習の設計入力を行なう。演習エディタ201は、この演習モデリング画面140において入力された情報をサイバー演習シナリオモデルとして、メモリ12や記憶装置13(図35参照)の所定の記憶領域に記憶させる。
演習エディタ201は、モニタ14aに演習モデリング画面140を表示させる表示制御部としての機能を備える。また、演習エディタ201は、演習モデリング画面140においてオペレータが行なった入力操作を処理する入力処理部としての機能を備える。
する。
図3は実施形態の一例としての演習ビルダー2の演習モデリング画面140を例示する図であり、シナリオに配置する部品を定義するための編集画面である。
図3に例示する演習モデリング画面140は、作業領域141と部品表示領域142と情報表示領域143とを備える。
部品表示領域142には、サイバー演習を構成する種々の事象が部品(プログラム部品)として表示される。図3に示す例においては、事象の部品が矩形のアイコンで示されている。オペレータは、部品表示領域142に表示された事象の部品を選択して、作業領域141に配置することでサイバー演習を設計する。
サイバー演習における事象としては、例えば、フェーズ(演習フェーズ),シーン(演習シーン),イベント,トリガー,アクションおよび時間待ちが含まれる。これらの事象は階層的に構成されてもよい。例えば、フェーズは複数のシーンを組み合わせることで構成してもよい。また、シーンは複数のアクションを組み合わせることで構成してもよい。
作業領域141は、オペレータが選択した事象やコンピュータ要素等を配置および表示する領域である。
オペレータは、マウス15bやキーボード15a(図35参照)を操作して、部品表示領域142に表示された部品を作業領域141に配置する。例えば、オペレータは、部品表示領域142に表示された部品をドラッグ・アンド・ドロップすることで、作業領域141に配置する。
オペレータは、演習エディタ201の機能を用いて作業領域141に部品を配置することでサイバー演習の設計を行なう。また、オペレータは、フェーズの中にシーンが存在し、シーンの中にイベントが存在するといった関係を線で結ぶことで表現する。
情報表示領域143は、作業領域141に配置された部品に関する情報等を表示するための領域である。また、情報表示領域143において、作業領域141に配置された部品に関する情報を編集してもよい。
オペレータは、演習にはイベントやシーンだけでなくフェーズが必要だと判断した場合に、作業領域141にフェーズ部品を追加定義する。すると、図4に例示する演習モデリング画面140(演習モデリング画面140a)でフェーズドラッグ&ドロップできる部品が使えるようになる。
以下に示す例においては、演習がフェーズ→シーン→イベントの階層構造になっている場合の例について示す。
オペレータは、図3に例示する演習モデリング画面140において演習シナリオに含める部品の選択を行なった後に、図4に例示する演習モデリング画面140aにおいてフェーズ設計を行なう。
図4は実施形態の一例としての演習ビルダー2の演習モデリング画面140を例示する図であり、フェーズ設計を行なうための演習モデリング画面140aを例示する。なお、以下、図中において、既述の符号と同一の符号は同様の部分を示しているので、その説明は省略する。以下、演習モデリング画面140のうちフェーズ設計を行なうための演習モデリング画面を特に符号140aで表してもよい。
図4に示す例においては、フェーズ設計を行なうための演習モデリング画面140aに演習環境と演習フェーズとを示しており、サイバー演習におけるフェーズとして、「侵入」および「潜伏」が例示されている。
オペレータは、演習モデリング画面140aにおいて、部品表示領域142からこれらのフェーズを示す部品を選択して作業領域141に並べることで、フェーズ設計を行なう。作業領域141の各部品に表示されているフェーズ名(部品名)は、オペレータがマウス15bやキーボード15a等を用いて設定してもよく、本演習ビルダー2が設定してもよい。
また、図4に示す例においては、作業領域141に並べたフェーズの部品間を接続ラインで接続されている。接続ラインは演習の流れを表す。すなわち、一のフェーズの終了後には、当該フェーズに接続ラインで接続されたフェーズが実行される。接続ラインは、オペレータがマウス15bやキーボード15a等を用いて設定してもよく、本演習ビルダー2が設定してもよい。
接続ラインの設定には、接続方向、すなわち、接続元および接続先の設定も含まれる。接続ラインによって接続された2つの部品間において、接続元の部品が処理の上流(上位)側であり、接続先の部品が処理の下流(下位)側である。接続ラインは、複数の部品の関係性を示す情報に相当する。
演習エディタ201は、サイバー演習を構成する複数の事象(フェーズ,シーン,イベント,アクション)に対応する複数の部品と、複数の部品の関係性を示す接続ラインとを設定したサイバー演習シナリオモデル(モデル情報)を設定する設定部としての機能を備える。
演習エディタ201は、作業領域141に配置された各フェーズの部品の情報(フェーズ名等)や接続ラインの情報を、メモリ12や記憶装置13の所定の記憶領域に記憶させる。すなわち、演習エディタ201は、サイバー演習シナリオモデル(モデル情報)を記憶部(メモリ12,記憶装置13)に記憶させる記憶制御部としての機能を備える。
図5は実施形態の一例としての演習ビルダー2の演習モデリング画面140を例示する図であり、シーン設計を行なうための演習モデリング画面140bを例示する。
以下、演習モデリング画面140のうちシーン設計を行なうための演習モデリング画面を特に符号140bで表してもよい。シーンはフェーズに含まれるものであり、フェーズとシーンとは包含関係にある。
この図5に示す例においては、シーン設計を行なうための演習モデリング画面140bに「侵入」フェーズに含まれるシーン(フェーズ内シーン)を示している。
例えば、オペレータは、図4に例示した演習モデリング画面140aにおいて「侵入」フェーズの部品をダブルクリック等することで選択することで、図5に例示する「侵入」フェーズを編集するための演習モデリング画面140bが表示される。
この図5においては、例えば、攻撃側のフェーズ内シーンとして、「水飲み場設置開始」,「水飲み場アクセス待ち」,「水飲み場アクセスを確認」が例示されている。また、この図5においては、防御側のフェーズ内シーンとして、「水飲み場へのアクセス開始」,「ブラウザハング状態 水飲み場アクセス待ち」が例示されている。さらに、この図5においては、解説者のフェーズ内シーンとして、「デモ開始」,「デモ導入解説」,「水飲み場設置完了」,「水飲み場サイト解説」および「水飲み場アクセス完了」が例示されている。
オペレータは、演習モデリング画面140bにおいて、部品表示領域142からこれらのシーンを示す部品を選択して作業領域141に並べることで、シーン設計を行なう。作業領域141の各部品に表示されているシーン名(部品名)は、オペレータがマウス15bやキーボード15a等を用いて設定してもよく、本演習ビルダー2が設定してもよい。
オペレータは、演習モデリング画面140bにおいて、サイバー演習における、攻撃側の第1の情報処理装置によるシーンを示す部品と、防御側の第2の情報処理装置によるシーンを示す部品との両方を含むシーン設計を行なう。これにより、本演習ビルダー2により生成されるサイバー演習シナリオ(プログラム群)には、サイバー演習における攻撃側の第1の情報処理端末で実行される第1のプログラムと、防御側の第2の情報処理端末で実行される第2のプログラムとの両方が含められる。
また、図5に示す例においても、図4と同様に、作業領域141に並べたシーンの部品間を接続ラインで接続されている。接続ラインはシーン間の連続性(関係性)を示す。すなわち、一のシーンの終了後には、当該シーンに接続ラインで接続されたシーンが実行される。接続ラインはオペレータがマウス15bやキーボード15a等を用いて設定してもよく、本演習ビルダー2が設定してもよい。
作業領域141において設定されたフェーズにおけるシーンは、当該シーンを含む(包含する)フェーズの部品における接続ポートとして用いられる。すなわち、フェーズに含まれるシーンのシーン名が当該フェーズの接続ポートのポート名(接続ポート名)に設定される。
演習エディタ201は、オペレータにより作業領域141に配置された各シーンの部品の情報(シーン名等)や接続ラインの情報を受け付け、メモリ12や記憶装置13の所定の記憶領域に記憶させる。演習エディタ201は、複数のプログラム部品と複数のプログラム部品間の関係性を示す情報とを受け付ける受付処理部に相当する。
図6は実施形態の一例としての演習ビルダー2の演習モデリング画面140を例示する図であり、アクション設計を行なうための演習モデリング画面140cを例示する。以下、演習モデリング画面140のうちアクション設計を行なうための演習モデリング画面を特に符号140cで表してもよい。
アクション設計には、シーンに含まれるアクションの設計の他、シーンに含まれるイベント等の設計も含まれる。すなわち、シーンに含まれる各種処理についての設計をアクション設計というものとする。
アクションやイベントはシーンに含まれるものであり、アクションおよびイベントとシーンとは包含関係にある。
なお、演習モデリング画面140a,140b,140cを特に区別しない場合には、演習モデリング画面140と表記する。
図6に示す例においては、アクション設計を行なうための演習モデリング画面140cに「水飲み場へアクセス開始」シーンに含まれるアクション(シーン内アクション)を示している。
例えば、オペレータは、図5に例示した演習モデリング画面140bにおいて「水飲み場へのアクセス開始」の部品をダブルクリック等することで選択することで、図6に例示する「水飲み場へアクセス開始」シーンに含まれるアクションを編集するための演習モデリング画面140cが表示される。
アクションは、演習者によるコマンド実行やGUI操作,音声再生による指示や状況説明等を含む。イベントは、例えば、イベント発生条件が満たされた場合や期待する行動が行なわれた場合に発生させる。
例えば、オペレータは、サイバー演習の設計に際して、サイバー演習を構成する複数のフェーズの設定(フェーズ設計)を行なった後に、これらの各フェーズについて、それぞれのフェーズを構成するシーンの設定(シーン設定)を行なう。また、オペレータは、それぞれのシーンを構成するアクションやイベントの設定(イベント設定またはアクション設定)を行なう。
図6においては、「水飲み場へアクセス開始」シーンのアクションとして、例えば、「デモ導入解説終了待ち」や「水飲み場準備完了待ち」を示している。また、この図6には、「水飲み場へアクセス開始」シーンにおける、「デモ導入解説終了待ち」への入力である「デモ導入解説終了」イベントおよび「水飲み場へアクセス開始」イベント,「水飲み場準備完了待ち」への入力である「水飲み場準備完了」イベントも示されている。
オペレータは、演習モデリング画面140cにおいて、部品表示領域142からこれらのアクションやイベントを示す部品を選択して作業領域141に並べることで、アクション設計を行なう。
作業領域141の各部品に表示されているアクション名やイベント名は、オペレータがマウス15bやキーボード15a等を用いて設定してもよく、本演習ビルダー2が設定してもよい。以下、アクション名やイベント名,シーン名,フェーズ名等の部品に設定される名称を総称して部品名という場合がある。
また、図6に示す例においても、図4と同様に、作業領域141に並べたアクションの部品間を接続ラインで接続されている。接続ラインはオペレータがマウス15bやキーボード15a等を用いて設定してもよく、本演習ビルダー2が設定してもよい。
オペレータは、例えば、シーンが発動する条件(発動条件)を定義してもよく、この発動条件が満たされた場合に、当該シーンを発動させる。
オペレータは、サイバー演習において演習者が行なう操作(行動)やコマンド実行処理等をアクションとして定義してもよい。
作業領域141において設定されたアクションやイベントは、当該アクションを含む(当該アクションの上位の)シーンを表す演習モデリング画面140bにおいて、当該シーンの部品の接続ポートとして表される。すなわち、シーンに含まれるアクションのアクション名やイベントのイベント名が当該シーンの接続ポートのポート名に設定される。
演習エディタ201は、作業領域141に配置された各アクションやイベントの部品の情報(部品名等)や接続ラインの情報を、メモリ12や記憶装置13の所定の記憶領域に記憶させる。
また、演習ビルダー2は、サイバー演習場となるコンピュータ環境(サイバーレンジ)を設定(規定)するための機能を備える。サイバー演習の舞台となるコンピュータ環境を演習環境という場合がある。
図7は実施形態の一例としての演習ビルダー2の演習モデリング画面140dを例示する図であり、演習環境設計を行なうための演習モデリング画面140dを例示する。
演習環境設計を行なうための演習モデリング画面140dにおいては、部品表示領域142に、演習環境を構成するコンピュータ要素が部品として表示される。
例えば、パーソナルコンピュータやネットワーク機器等のコンピュータ要素の部品を、これらの機器の外観を模した形状を有するアイコン等で表してもよい。オペレータは、部品表示領域142に表示されたコンピュータ要素の部品をドラッグ・アンド・ドロップすることで作業領域141に配置して、演習環境を設計する。
コンピュータ要素は、例えば、WAN(Wide Area Network),LAN(Local Area Network),ゲートウェイ,ネットワーク,サーバコンピュータ,PC(Personal Computer)等である。
図7に示す例においては、サーバコンピュータやPC等をWANやLANを介して接続することで構成された演習環境が示されている。
作業領域141における接続ラインは、機器間のネットワーク接続関係を示している。
作業領域141に配置した機器は、当該機器を含む演習環境における接続ポートとして用いられる。機器に設定した名称が当該機器の接続ポート名になる。
演習エディタ201は、作業領域141に配置された演習環境を構成する各部品の情報や接続ラインの情報を、サイバー演習シナリオモデルとしてメモリ12や記憶装置13の所定の記憶領域に記憶させる。
演習エディタ201は、作業領域141に設置(ドラッグ)された部品にユニークな識別情報(部品ID)を設定してもよい。
シナリオ定義ファイル作成部202は、オペレータが演習エディタ201の機能により入力したサイバー演習の設計情報(サイバー演習シナリオモデル)に基づき、サイバー演習のシナリオ(サイバー演習シナリオ)を記述したシナリオ定義ファイルを作成する。サイバー演習シナリオは、サイバー演習の実行を制御するものであり、複数の部品(プログラム部品)を組み合わせることによって構成されたプログラム群である。
シナリオ定義ファイル作成部202は、オペレータが作業領域141において設定した各部品や接続ラインの情報に基づき、シナリオ定義ファイルを作成する。すなわち、シナリオ定義ファイル作成部202は、関係性を示す情報である接続ラインに基づき、複数のプログラム部品を組み合わせることによって、サイバー演習の実行を制御するシナリオを構成するプログラム群を生成する生成部として機能する。
シナリオ定義ファイル作成部202は、サイバー演習シナリオモデルに含まれる各部品の部品名(フェーズ名,シーン名,アクション名)および各部品に含まれる接続ポート名を抽出する。また、シナリオ定義ファイル作成部202は、サイバー演習シナリオモデルから、各部品に接続されている接続ラインの接続元の部品の情報も取得する。以下、部品名をイベント名という場合がある。
シナリオ定義ファイル作成部202は、例えば、サイバー演習シナリオモデルに含まれる各部品について、当該部品に接続ラインで接続されている部品(接続元部品)の情報を取得する。
また、接続元部品に部品名(イベント名)が設定されていない場合には、シナリオ定義ファイル作成部202は当該部品に対応するイベント名を自動生成する機能を有する。
シナリオ定義ファイル作成部202は、部品に接続ラインを介して接続された他の部品の部品名(イベント名)や生成したイベント名を、一のシナリオ定義ファイル(第1のシナリオ定義ファイル)において他のシナリオ定義ファイル(第2のシナリオ定義ファイル)を実行するためのトリガー名として用いる。
図8および図9は、実施形態の一例としての演習ビルダー2におけるシナリオ定義ファイルの作成手法を説明するための図であり、図8はシーン内アクションのサイバー演習シナリオモデルを例示する図、図9は図8に示すサイバー演習シナリオモデルに対応するシナリオデータを例示する図である。
複数のシナリオデータがシナリオ定義ファイルに格納される。図8に例示するサイバー演習シナリオモデルは、防御側の「水飲み場へアクセス開始」シーンを示す。
図8に例示するサイバー演習シナリオモデルは、「デモ導入解説終了待ち」および「一般従業員端末から水飲み場サイトへのアクセス開始」の2つの部品を有する。
この図8に例示するサイバー演習シナリオモデルにおいては、「水飲み場へアクセス開始」のイベントと、「デモ導入解説終了」との両方のトリガーを待ち合わせる。これらのイベントが実行されると、「デモ導入解説終了待ち」のアクションが行なわれ、その後、「一般従業員端末から水飲み場サイトへのアクセス開始」アクションが実行される。また、「一般従業員端末から水飲み場サイトへのアクセス開始」アクションの次には、「水飲み場へアクセス中」イベントが実行される。
以下に、シナリオ定義ファイル作成部202が、「デモ導入解説終了待ち」アクションに関するサイバー演習シナリオモデルを作成する例について説明する。
シナリオ定義ファイル作成部202は、「デモ導入解説終了待ち」アクションについて、この「デモ導入解説終了待ち」アクションの接続元の情報を取得する。この「デモ導入解説終了待ち」アクションの上流側には、「水飲み場へアクセス開始」イベントと「デモ導入解説終了」イベントとが接続されている。
シナリオ定義ファイル作成部202は、サイバー演習シナリオモデルにおけるアクションやイベントごとにシナリオデータを作成し、複数のシナリオデータをまとめたシナリオ定義ファイルを作成する。
シナリオ定義ファイル作成部202は、これらの「デモ導入解説終了待ち」アクション,「水飲み場へアクセス開始」イベントおよび「デモ導入解説終了」イベントの各シナリオ定義ファイルをそれぞれ作成する。図9中において、「水飲み場へアクセス開始」イベントのシナリオデータを符号Aで、「デモ導入解説終了」イベントのシナリオデータを符号Bで、「デモ導入解説終了待ち」アクションのシナリオデータを符号Cで、それぞれ表す。
シナリオ定義ファイル作成部202は、サイバー演習シナリオモデルに含まれる部品について、当該部品に接続ラインで接続されている部品(接続元部品)の情報を取得する。例えば、シナリオ定義ファイル作成部202は、「デモ導入解説終了待ち」アクションに接続ラインで接続されている部品(接続元部品)の情報を取得する。
すなわち、シナリオ定義ファイル作成部202は、接続ライン(関係性を示す情報)に基づき、接続元(関係性における処理の上流側)の部品の部品名を取得する。
図9に示す例においては、「デモ導入解説終了待ち」アクションの上流側には、「水飲み場へアクセス開始」イベントと「デモ導入解説終了」イベントとが接続されている。
シナリオ定義ファイル作成部202は、これらの接続元イベントにイベント名が設定されていない場合には、シナリオ定義ファイル作成部202は当該部品に対応するイベント名を自動生成する。例えば、シナリオ定義ファイル作成部202は、ランダムな文字列を生成してイベント名として用いてもよい。また、シナリオ定義ファイル作成部202は、サイバー演習シナリオモデルにおける各イベントの位置(配置)を数値等を用いて表し、この数値等をイベント名に用いてもよく、種々変形して実施することができる。
シナリオ定義ファイル作成部202は、上流側の部品に部品名が設定されていない場合に、上流側の部品に部品名を設定する部品名設定部として機能する。
本例においては、シナリオ定義ファイル作成部202は、「デモ導入解説終了待ち」アクションに対してイベント名“Blue:01:01:03”を、「デモ導入解説終了」イベントに対して、“Blue:01:01:02”を、「デモ導入解説終了」イベントに対して、“Blue:01:01:02”を、「一般従業員端末から水飲み場サイトへのアクセス開始」アクションに対して、“Blue:01:01:04”を、それぞれ設定する。なお、「水飲み場へアクセス開始」イベントにはイベント名“Start”が設定されているものとする。
また、「デモ導入解説終了待ち」の下流側には、「水飲み場へアクセス中」イベントが接続されている。この「水飲み場へアクセス中」イベントにはイベント名“Blue:01:01:04”が設定されているものとする。シナリオ定義ファイル作成部202は、処理対象の部品の下流側に接続ラインを介して接続されている(接続先)イベントのイベント名を設定してもよい。
図8に例示するサイバー演習シナリオモデルにおいて、「水飲み場へアクセス開始」イベントは、当該イベントのイベント名“Start”の入力をトリガーに開始され、当該イベントに後続して「デモ導入解説終了待ち」アクションが実行される。
シナリオ定義ファイル作成部202は、このようなサイバー演習シナリオモデルに基づいて、図9の符号Aに示すようなシナリオデータを作成する。シナリオ定義ファイル作成部202は、例えば、“Start”の入力をトリガーに開始されることに基づき“trigger”に対して“Start”を設定する。また、当該「水飲み場へアクセス中」イベントに後続して「デモ導入解説終了待ち」アクションが実行されることに基づき、“nextEvent”に対して、イベント名“Blue:01:01:03”を設定する(“eventName”: “Blue:01:01:03”)。
また、図8に例示するサイバー演習シナリオモデルにおいて、「デモ導入解説終了」イベントは、当該イベントのイベント名“Blue:01:01:02”の指定が行なわれることで開始され、当該イベントに後続して「デモ導入解説終了待ち」アクションが実行される。
シナリオ定義ファイル作成部202は、このようなサイバー演習シナリオモデルに基づいて、図9の符号Bに示すようなシナリオデータを作成し、シナリオ定義ファイルに格納する。シナリオ定義ファイル作成部202は、例えば、“Blue:01:01:02”の入力をトリガーに開始されることに基づき“trigger”に対して“Blue:01:01:02”を設定する。また、当該「デモ導入解説終了」イベントに後続して「デモ導入解説終了待ち」アクションが実行されることに基づき、“nextEvent”に対して、イベント名“Blue:01:01:03”を設定する(“eventName”: “Blue:01:01:03”)。
また、図8に例示するサイバー演習シナリオモデルにおいて、「デモ導入解説終了待ち」イベントは、当該イベントのイベント名“Blue:01:01:03”の指定が行なわれ、且つ、「水飲み場へアクセス開始」イベントおよび「デモ導入解説終了」イベントがいずれも完了したことを条件に開始される。また、この「デモ導入解説終了待ち」イベントに後続して「一般従業員端末から水飲み場サイトへのアクセス開始」アクションが実行される。
シナリオ定義ファイル作成部202は、このようなサイバー演習シナリオモデルに基づいて、図9の符号Cに示すようなシナリオデータを作成し、シナリオ定義ファイルに格納する。シナリオ定義ファイル作成部202は、例えば、“Blue:01:01:03”の入力をトリガーに開始されることに基づき“trigger”に対して“Blue:01:01:03”を設定する。
シナリオ定義ファイル作成部202は、接続ラインに基づいて取得した上流側の部品(第1のプログラム部品)の部品名を、当該部品の接続先(部品の関係性における処理の下流側)の部品(第2のプログラム部品)に対応するイベントを起動させるトリガーに設定する。
シナリオ定義ファイル作成部202は、複数の部品のうち、接続ラインに基づいて取得した先に実行されるべき上流側の部品(第1のプログラム部品)の部品名を取得する。そして、シナリオ定義ファイル作成部202は、この上流側の部品の部品名を、当該部品に後続する接続先(部品の関係性における処理の下流側)の部品(第2のプログラム部品)に対応するイベントを起動させるトリガーに設定する。
また、「水飲み場へアクセス開始」イベントおよび「デモ導入解説終了」イベントがいずれも完了したことを条件に開始されることに基づき、“triggerConditions”に対して、「“Event.Start”:true」および「“Event. Blue:01:01:02”:true」を設定する。また、当該「デモ導入解説終了待ち」イベントに後続して「一般従業員端末から水飲み場サイトへのアクセス開始」アクションが実行されることに基づき、“nextEvent”に対して、イベント名“Blue:01:01:04”を設定する(“eventName”: “Blue:01:01:04”)。
このようにして作成されたシナリオ定義ファイルを情報処理装置において実行することで、接続ラインによって接続された接続元の部品に対応する事象の後に、接続先の部品に
対応する事象を発生させることができる。シナリオ定義ファイル作成部202は、部品間の関係性を示す情報(接続ライン)基づき、この情報に応じて関係性を有する部品間での実行に対応する事象(イベント)の発生制御を実行する実行制御部に相当する。
(B)動作
上述の如く構成された実施形態の一例としての演習ビルダー2におけるサイバー演習シナリオモデルを作成するためのオペレータによる入力操作例を、図10~図29を用いて説明する。
図10~図12は、それぞれ演習モデリング画面140の遷移を例示する図であり、サイバー演習を規定する過程を示す。
図10に例示する演習モデリング画面140において、オペレータは、部品表示領域142に表示されたシナリオを表す部品を選択し、作業領域141にドラッグする。これにより、作業領域141に部品が配置される(図11参照)。図11に示す例においては、作業領域141にドラッグされた部品には、当該部品に予め設定された名称“Scenario”が設定されている。
オペレータは、必要に応じて作業領域141に配置した部品の名称を変更してもよい(図12参照)。図12においては、部品に“標的型攻撃対処演習”という名称を設定した例を示す。
オペレータは、マウス15b等を用いて、作業領域141の“標的型攻撃対処演習”の部品をダブルクリック等により選択することで、“標的型攻撃対処演習”に関するサイバー演習シナリオモデルの入力を開始する。
図13~図15は、それぞれ演習モデリング画面140a(140)の遷移を例示する図であり、標的型攻撃対処演習に関する演習環境およびフェーズを規定する過程を示す。
図13に例示する演習モデリング画面140aにおいて、オペレータは、部品表示領域142から、演習環境を示す部品(符号P1参照)を選択して作業領域141にドラッグする。また、オペレータは、演習モデリング画面140において、部品表示領域142から、フェーズを示す部品(符号P2参照)を選択して作業領域141にドラッグする。
これらの操作を行なった結果として、図14に例示する演習モデリング画面140aにおいては、1つの演習環境を示す部品(符号P3参照)と、3つのフェーズを示す部品(P4参照)とが配置されている。
図14に示す例においては、作業領域141にドラッグされた演習環境を示す部品には、当該部品に予め設定された名称“Infrastructure”が設定されており、また、フェーズを示す各部品には、予め設定された名称“Phase”がそれぞれ設定されている。
オペレータは、必要に応じて作業領域141に配置した部品の名称を変更してもよい(図15参照)。図15においては、演習環境を示す部品に“演習環境”という名称を設定した例を示す。また、フェーズを示す3つの部品には、“侵入”,“潜伏”および“情報奪取”がそれぞれ設定されている。
オペレータは、マウス15b等を用いて、作業領域141の“演習環境”のアイコンをダブルクリック等により選択することで、演習環境の入力を開始する。
図16~図18は、それぞれ演習モデリング画面140d(140)の遷移を例示する図であり、演習環境の構成を規定する過程を示す。
オペレータは、マウス15b等を用いて、図15に例示した作業領域141の“演習環境”のアイコンをダブルクリック等により選択することで、演習環境の入力を開始する。
図16に例示する演習モデリング画面140dにおいて、オペレータは、部品表示領域142から、演習環境を構成するための電子機器等を示す複数の部品を選択して作業領域141にそれぞれドラッグする。
これらの操作を行なった結果として、図17に例示する演習モデリング画面140dにおいては、ルータ,クライアントコンピュータ(Client)およびLANと、2つのWANとが配置されている。
図17に示す例においては、作業領域141にドラッグされた演習環境を示す部品には、当該部品に予め設定された名称が設定されている。
オペレータは、必要に応じて作業領域141に配置した部品の名称を変更してもよい(図18参照)。図18においては、演習環境を示す各部品に、それぞれ名称を設定した例を示す。また、図18に示す例においては、ネットワーク接続される部品間が接続ラインで連結されている。
図19は標的型攻撃対処演習の演習環境およびフェーズを示す演習モデリング画面140a(140)を示す。
この図19に例示する演習モデリング画面140aにおいては、演習環境の設定が完了した状態を示す。
例えば、図18に例示した演習環境を構成する各部品が、図19に示す演習モデリング画面140aにおいて、演習環境の部品における接続ポートとして用いられている。すなわち、演習環境に含まれる電子機器等の部品名が、当該演習環境の部品の接続ポートのポート名に設定される。
なお、以下、図中の部品内における接続ポート名等の記載は、部品のスペースの都合で表示しきれない場合には、便宜上、その一部のみを示すものとする。例えば、モニタ14aに表示される演習モデリング画面140において拡大表示が行なわれた場合に、図示を省略された文字列の全体を表示させてもよい。また、一部のみを示された文字列にカーソルを合わせることで、図示を省略された文字列の全体をポップアップ等の手法を用いて表示させてもよく、種々変更して実施することができる。
図20,図21は、それぞれ演習モデリング画面140b(140)の遷移を例示する図であり、侵入フェーズの構成を規定する過程を示す。
例えば、図15に例示する演習モデリング画面140bにおいて、オペレータは、作業領域141に表示された侵入フェーズの部品をダブルクリック等により選択することで、侵入フェーズを構成するシーンの設定を開始する。
部品表示領域142には、サイバー演習に参加する複数種類の立場に応じた部品が示される。図20に示す例では、Red,Blue,WhiteおよびYellowの4種類の部品が示されており、これらの4種類の部品は、サイバー演習における、攻撃,防御,指揮・監督および演習環境担当の各立場に対応する。
図20に例示する演習モデリング画面140bにおいて、オペレータは、部品表示領域142から、侵入フェーズを構成するためのシーンの部品を選択して作業領域141にドラッグする。
この操作の結果として、図21に例示する演習モデリング画面140bにおいては、2つのRed(攻撃側)シーン,2つのBlue(防御側)シーンおよび1つのWhite(解説)シーンが配置されている。
オペレータは、必要に応じて作業領域141に配置した部品の名称を変更してもよく、例えば、Blue(防御側)シーンの部品のうちの1つに「水飲み場へアクセス開始」を設定する。
オペレータは、マウス15b等を用いて、例えば、「水飲み場へアクセス開始」シーンの部品をダブルクリック等により選択することで、この「水飲み場へアクセス開始」シーンを構成するアクションやイベントの入力を開始する。
図22~図25は、それぞれ演習モデリング画面140c(140)の遷移を例示する図であり、「水飲み場へアクセス開始」シーンの構成を規定する過程を示す。
図22に示す例においては、演習モデリング画面140cの部品表示領域142に、シーンを構成するアクションの部品として、Command,Script,Speech,Through等が記載された矩形の部品が示されている。また、シーンを構成するイベントとして、Start,Exception,Exit,Interrupt等が記載された部品も示されている。
オペレータは、このような図22に例示する演習モデリング画面140cにおいて、部品表示領域142から、「水飲み場へアクセス開始」シーンを構成するアクションやイベントの部品を選択して作業領域141にドラッグする。
図23に示す例においては、作業領域141に、Start, Exit,Interruptの各イベントの部品と、WaitおよびScriptの矩形のアクション部品がそれぞれ設定されている。
オペレータは、必要に応じて作業領域141に配置した部品の名称を変更してもよい(図24参照)。
オペレータは、作業領域141に配置した各部品間において接続ラインを設定する。接続ラインの設定は、例えば、マウス15b等を用いて、作業領域141の上側に並んだ複数のアイコンの中から矢印アイコンを選択した上で、接続元部品と接続先部品とを選択することで行なう。
図25においては、「一般従業員端末から水飲み場サイトへのアクセス開始」アクションの部品に関する入力を入力する例を示す。作業領域141において「一般従業員端末から水飲み場サイトへのアクセス開始」アクションの部品を選択することで、情報表示領域143に当該「一般従業員端末から水飲み場サイトへのアクセス開始」アクションの部品に関する情報が表示される。オペレータは、必要に応じて、この情報表示領域143に表示された情報に入力を行なう。
オペレータは、同様にして、侵入フェーズを構成する各シーンに対して、それぞれアクションやイベント等の設定を行なう。
図26は侵入フェーズのシーン構成を示す演習モデリング画面140b(140)を示す。
この図26に例示する演習モデリング画面140bにおいては、侵入フェーズを構成する各シーンにそれぞれアクションやイベント等の設定が行なわれ、また、フェーズ間において接続ラインによる接続が行なわれた状態を示す。
図27は標的型攻撃対処演習の演習環境およびフェーズを示す演習モデリング画面140a(140)を例示する。
この図27に例示する演習モデリング画面140aにおいては、侵入フェーズのサイバー演習シナリオモデルの設定が完了した状態を示す。
上述の如く、「水飲み場へアクセス開始」シーンに設定されたアクションやイベントは、当該「水飲み場へアクセス開始」シーンの部品における接続ポートとして用いられる。すなわち、シーンに含まれるアクションやイベントのアクション名やイベント名が当該シーンの接続ポートのポート名に設定される。そして、これらの接続ポートに、接続ラインを介して他のシーンの接続ポートが接続されている。
例えば、上述の如く設定した侵入フェーズを構成する各シーンを示す部品が、侵入フェーズの部品における接続ポートとして用いられる。すなわち、侵入フェーズに含まれる複数のシーン等が当該侵入フェーズの部品の接続ポートのポート名に設定される。
オペレータは、同様の手法で、標的型攻撃対処演習に含まれる各フェーズのサイバー演習シナリオモデルの作成を行なう。
オペレータは、標的型攻撃対処演習の全てのフェーズに対してサイバー演習シナリオモデルの設定を行なった後に、演習環境および各フェーズにおいて接続ポート間を接続する接続ラインを設定する。
図28は標的型攻撃対処演習の演習環境およびフェーズを示す演習モデリング画面140a(140)を例示する。
接続ラインの設定は、例えば、オペレータがマウス15b等を用いて、作業領域141の上側に並んだ矢印アイコンを選択した上で、接続元接続ポートと接続先接続ポートとを選択することで行なう。
また、本演習ビルダー2においては、オペレータがスクリプトを記述してもよい。
図29は実施形態の一例としての演習ビルダー2のスクリプト記述画面を例示する図である。
例えば、オペレータが、図23に示した演習モデリング画面140cの部品表示領域142からScriptの部品を選択して作業領域141に配置し、このScriptの部品をダブルクリック等の手法で選択した場合に、この図29に例示するようなエディタが起動される。オペレータは、このようなエディタとしての機能を用いてスクリプトを記述してもよい。
次に、実施形態の一例としての演習ビルダー2のシナリオ定義ファイル作成部202によるシナリオ定義ファイルの作成処理を、図30~図33に示すフローチャート(ステップA1~A6,B1~B7,C1~C6,D1~D7)に従って説明する。
先ず、実施形態の一例としての演習ビルダー2のシナリオ定義ファイル作成部202による実行端末毎にシナリオファイルを出力する処理を、図30に示すフローチャート(ステップA1~A6)に従って説明する。
ステップA1において、シナリオ定義ファイル作成部202は、サイバー演習シナリオモデルの先頭のフェーズを探索する。ステップA2において、シナリオ定義ファイル作成部202は、サイバー演習シナリオモデルに含まれる複数のフェーズにおいて、フェーズデータの作成を未処理のフェーズがあるかを確認する。
確認の結果、未処理のフェーズがある場合には(ステップA2の“あり”ルート参照)、ステップA5に移行する。ステップA5においては、当該フェーズに対するフェーズデータの作成処理(フェーズ処理)を行なう。シナリオ定義ファイル作成部202は、端末毎にシナリオデータ(シナリオ定義ファイル)を生成する。なお、ステップA5におけるフェーズに対するフェーズデータの生成処理の詳細は、図31に示すフローチャートを用いて後述する。シナリオ定義ファイル作成部202は、ステップA5において生成された当該フェーズについてのフェーズデータ内にある端末情報付のイベントデータを、端末毎のシナリオデータに格納する。シナリオデータは、例えば、メモリ12や記憶装置13等の所定の記憶領域に格納される。
シナリオデータは、イベントデータの集合である。イベントデータは、後述の如く、フェーズ、シーン、アクションの階層構造によって一意の名称が付与されたトリガー名、イベント名称、イベントがトリガーされたときの行動や操作が記述されたデータである。
ステップA4において、シナリオ定義ファイル作成部202は、サイバー演習シナリオモデルに含まれる次のフェーズの取得を行なう。また、フェーズの取得を行なうに際して、シナリオ定義ファイル作成部202は、当該フェーズおよび当該フェーズに含まれるシーンやアクション,イベント等に接続された各接続ラインについて、これらの接続ラインの接続先の部品の情報を取得する(ステップA6)。その後、ステップA2に戻る。
ステップA2における確認の結果、未処理のフェーズがない場合には(ステップA2の“なし”ルート参照)、ステップA3に移行する。
ステップA3において、シナリオ定義ファイル作成部202はステップA5において作成した端末ごとのシナリオデータを端末毎のシナリオ定義ファイルに出力し(矢印P5参照)、処理を終了する。
次に、実施形態の一例としての演習ビルダー2のシナリオ定義ファイル作成部202によるフェーズ出力処理を、図31に示すフローチャート(ステップB1~B7)に従って説明する。フェーズ出力処理においては、フェーズに含まれるシーン,アクション,イベント等のフェーズデータを作成する。
ステップB1において、シナリオ定義ファイル作成部202は、処理対象のフェーズに含まれる複数のシーンの中から先頭のシーンを探索する。シナリオ定義ファイル作成部202は、この先頭のシーンから順番に、以下のステップB2~B7の処理を行なう。
ステップB2において、シナリオ定義ファイル作成部202は、処理対象のフェーズに含まれる複数のシーンにおいて、シナリオデータの作成を未処理のシーンがあるかを確認する。確認の結果、未処理のシーンがない場合には(ステップB2の“なし”ルート参照)、処理を終了する。
また、ステップB2における確認の結果、未処理のシーンがある場合には(ステップB2の“あり”ルート参照)、ステップB3に移行する。ステップB3においては、シナリオ定義ファイル作成部202は、当該シーンに対するシナリオデータ(シーンデータ)の作成処理(シーン処理)を行なう。このシーンに対するシーンデータの作成処理の詳細は、図32に示すフローチャートを用いて後述する。シナリオ定義ファイル作成部202は、生成したシーンデータをフェーズデータに格納する。フェーズデータは、例えば、メモリ12や記憶装置13等の所定の記憶領域に格納される。
フェーズデータは、後述の如く、シーン毎およびイベント毎(アクション毎)に作成されたシナリオ定義ファイルの集合である。フェーズデータには、フェーズ内にあるシーン毎のイベントデータと、各シーンを実施する端末情報とが含まれる。
ステップB4において、シナリオ定義ファイル作成部202は、接続先端末の情報を取得する。シナリオ定義ファイル作成部202は、例えば、水飲み場サイトにアクセスするシーンをどの端末で行なうのかを特定する。これにより、シーンとシーン実行端末とを関連付けることができるようになる。
ステップB7において、シナリオ定義ファイル作成部202は、当該シーンおよび当該シーンに含まれるアクションやイベント等に接続された各接続ラインについて、これらの接続ラインの接続先の部品の情報を取得する。
ステップB5において、シナリオ定義ファイル作成部202は、当該シーンを実行する端末(実行端末)の情報をフェーズデータに格納する。例えば、シナリオ定義ファイル作成部202は、演習者が使用する端末を識別する情報を、シーンを特定するための識別情報(シーンID)に対応付けてフェーズデータに格納する。
ステップB6において、シナリオ定義ファイル作成部202は、次のシーンの取得を行なう。また、シーンの取得を行なうに際して、シナリオ定義ファイル作成部202は、当該シーンおよび当該シーンに含まれるアクションやイベント等に接続された各接続ラインについて、これらの接続ラインの接続先の部品の情報を取得する(ステップB7)。その後、ステップB2に戻る。
次に、実施形態の一例としての演習ビルダー2のシナリオ定義ファイル作成部202によるシーン出力処理を、図32に示すフローチャート(ステップC1~C6)に従って説明する。シーン出力処理においては、シーンに含まれるイベントおよびアクションについてのシナリオ定義ファイルの作成を行なう。
ステップC1において、シナリオ定義ファイル作成部202は、処理対象のシーンに含まれる複数の部品のうち、割込み点のイベントの処理を行なう。この割込み点のイベントの処理の詳細は、図33を用いて後述する。
ステップC2において、シナリオ定義ファイル作成部202は、処理対象のシーンに含まれる複数の部品のうち、開始点のイベントの処理を行なう。この開始点のイベントの処理の詳細についても、図33を用いて後述する。
ステップC3において、シナリオ定義ファイル作成部202は、サイバー演習シナリオモデルにおける、割込み点および開始点以外のアクションもしくはイベントを処理対処として、当該部品の接続先の部品の情報を取得する。以下、アクションもしくはイベントを、便宜上、単にイベントという場合がある。
シナリオ定義ファイル作成部202は、当該部品および当該部品に含まれるアクションやイベント等に接続された各接続ラインについて、これらの接続ラインの接続先の部品の情報を取得する(ステップC6)。
ステップC4において、シナリオ定義ファイル作成部202は、接続先において未処理の部品があるかを確認する。接続先の未処理の部品がある場合には(ステップC4の“あり”ルート参照)、ステップC5に移行する。ステップC5において、シナリオ定義ファイル作成部202は、当該部品(アクションもしくはイベント)に対するイベントデータの作成処理を行なう。このイベントに対するイベントデータの作成処理の詳細は、図33に示すフローチャートを用いて後述する。シナリオ定義ファイル作成部202は、イベント処理によって作成したイベントデータをシーンデータに格納する。シーンデータは、例えば、メモリ12や記憶装置13等の所定の記憶領域に格納される。
イベントデータには、後述の如く、イベント名,トリガー名,トリガー条件,アクション,スクリプト,イベントなどが含まれる。他にも、操作手順,評価手順,解説文などを含んでもよい。
ステップC4における確認の結果、接続先において未処理の部品がない場合には(ステップC4の“なし”ルート参照)、処理を終了する。
次に、実施形態の一例としての演習ビルダー2のシナリオ定義ファイル作成部202によるイベントデータの作成処理を、図33に示すフローチャート(ステップD1~D7)に従って説明する。イベントデータの作成処理においては、イベント発生時の行動や操作をする条件や内容、新たに発生させるイベントに関するデータの作成を行なう。
ステップD1において、シナリオ定義ファイル作成部202は、処理対象のイベントの接続元のイベント名を取得する。また、シナリオ定義ファイル作成部202は、当該イベントに接続された接続ラインの接続元の部品の情報を取得する(ステップD7)。この接続元部品情報取得処理の詳細は、図34に示すフローチャートを用いて後述する。
ステップD2において、シナリオ定義ファイル作成部202は、トリガー名をイベントデータに出力する。トリガー名は、例えば、後述する図34に示すフローチャートの処理において、シナリオ定義ファイル作成部202が設定する。イベントデータは、例えば、メモリ12や記憶装置13の所定の記憶領域に格納される。
ステップD3において、シナリオ定義ファイル作成部202は、トリガー条件をイベントデータに出力する。シナリオ定義ファイル作成部202は、例えば、ステップD1において取得した接続元イベント名からの入力を確認することをトリガー条件としてもよい。
ステップD4,D5において、シナリオ定義ファイル作成部202は、当該部品が行なうアクションやスクリプトをイベントデータに出力する。シナリオ定義ファイル作成部202は、例えば、オペレータが演習モデリング画面140において当該イベントの部品に設定したアクションの内容をイベントデータに出力する。アクションの内容は、説明文,行動手順,操作手順,操作スクリプト,評価スクリプト,表示メッセージなど、イベントが発生してトリガー条件が成立したときに部品によって生成等されるものであってよい。
ステップD6において、シナリオ定義ファイル作成部202は、アクション実行後に、次に何かイベントを発生させるのであればイベント名を出力する。アクションの結果(成功や失敗など)に応じて複数のイベント名を出力してもよい。
その後、処理を終了する。上述の各ステップにおいて種々のデータ出力が行なわれたイベントデータが、当該イベントに関するシナリオ定義ファイルとして用いられる。イベントデータは、例えば、JSONファイルとして記述してもよい。
次に、実施形態の一例としての演習ビルダー2におけるシナリオ定義ファイル作成部202による接続元部品情報取得処理を図34に示すフローチャート(ステップE1~E8)に従って説明する。
ステップE1において、シナリオ定義ファイル作成部202は、処理対象の部品が処理の先頭(スタート:Start)部品であるかを確認する。
確認の結果、処理対象の部品がスタート部品でない場合には(ステップE1のNOルート参照)、ステップE2に移行する。ステップE2において、シナリオ定義ファイル作成部202は、当該部品に接続された接続ラインをたどって、接続元(上流側)の部品を取得する。一方、処理対象の部品がスタート部品である場合には(ステップE1のYESルート参照)、当該部品を包含する上位の部品(外包部品)を取得する(ステップE6)。例えば、外包部品は、例えば、イベントに対するシーンを構成する部品であり、シーンを構成する部品に対するフェーズを構成する部品である。
ステップE3において、シナリオ定義ファイル作成部202は、接続元部品があるかを確認する。確認の結果、接続元部品が無い場合には(ステップE3のNOルート参照)、ステップE8に移行する。ステップE8において、シナリオ定義ファイル作成部202は、トリガー名を生成(自動生成)する。シナリオ定義ファイル作成部202は、予め規定されたルールに基づいてトリガー名を設定する。シナリオ定義ファイル作成部202は、例えば、英数文字の組み合わせに対して通し番号を付加することでトリガー名を設定してもよい。その後、処理を終了する。
ステップE3における確認の結果、接続元部品がある場合には(ステップE3のYESルート参照)、ステップE4に移行する。ステップE4において、シナリオ定義ファイル作成部202は、接続元部品に部品名が設定されているかを確認する。
確認の結果、接続元部品に部品名が設定されていない場合には(ステップE4のNOルート参照)、ステップE7に移行する。ステップE7において、シナリオ定義ファイル作成部202は、部品名を生成(自動生成)して当該接続元部品に設定する。その後、ステップE5に移行する。
また、ステップE4における確認の結果、接続元部品に部品名が設定されている場合には(ステップE4のYESルート参照)、ステップE5に移行する。ステップE5において、シナリオ定義ファイル作成部202は、当該接続元部品の部品名をトリガー名に設定し、処理を終了する。
(C)効果
本演習ビルダー(サイバー演習ビルダー)2によれば、サイバー演習の実施者(演習ビルダー2のオペレータ)は、演習エディタ201を用いて、演習モデリング画面140の作業領域141に部品を配置する。また、サイバー演習の実施者は、作業領域141に配置した部品間を接続ラインで接続することで、部品間の関係性を設定する。これらの操作を行なうことで、サイバー演習の実施者はサイバー演習シナリオモデルを容易に作成・編集することができる。
演習ビルダー2においては、オペレータにより入力された、サイバー演習を実行させるための複数のプログラム部品と、これらのプログラム部品間を接続する接続ラインとの情報とを受け付ける。そして、接続ラインに基づいて複数のプログラム部品を組み合わせることによって、サイバー演習シナリオを生成する。これにより、サイバー演習に使用するテキストを容易に作成でき、サイバー演習シナリオを容易に作成・編集することができる。
また、演習ビルダー2においては、シナリオ定義ファイル作成部202が、作成されたサイバー演習シナリオモデルに基づき、サイバー演習のシナリオ(サイバー演習シナリオ)を記述したシナリオ定義ファイルを作成する。
シナリオ定義ファイル作成部202は、サイバー演習シナリオモデルに含まれる各部品の部品名(フェーズ名,シーン名,アクション名)および各部品に含まれる接続ポート名を抽出する。そして、シナリオ定義ファイル作成部202は、サイバー演習シナリオモデルから、各部品に接続されている接続ラインの接続元の部品の情報を取得する。
そして、シナリオ定義ファイル作成部202は、接続元部品の部品名をトリガー名に設定することでシナリオ定義ファイルを作成する。このシナリオ定義ファイルを演習実施処理部3およびスクリプト自動実行処理部5に読み込ませることで、各種イベントの発生タイミング指示、指示内容表示、操作手順指示、次に発生させるイベントの選択等の支援を行なうことができる。従って、本演習ビルダー2により実施者の作業負荷を大幅に軽減することができる。
接続元イベントにイベント名が設定されていない場合には、シナリオ定義ファイル作成部202は当該部品に対応するイベント名を自動生成する。これにより、イベント名が設定されていないイベントが含まれる場合であっても、シナリオ定義ファイルを作成することができる。
シナリオ定義ファイル作成部202は、サイバー演習を構成する事象(部品)毎にシナリオ定義ファイルを作成する。このように作成したサイバー演習シナリオモデルは、モジュール化されているので、編集や再利用が容易であり、サイバー演習シナリオの変更や拡充も容易に行なうことができる。
演習エディタ201は演習環境の構築も行なうことができ、これによっても実施者の作業負荷を大幅に軽減することができる。
また、実施者においては、サイバー演習を実施することで高い評価を得ることができる。
一方、サイバー演習を実施することでサイバー攻撃に対する経験を積むことができ、サイバー演習の参加者の育成促進を実現することができる。
本演習ビルダー2を備えるサイバー演習システム1を用いることで、参加者は、いつでも、ひとりでも、何度でも、サイバー演習を行なうことができる。また、参加者のスキルやレベルに応じたサイバー演習を行なうこともできる。本演習ビルダー2においては、カスタマイズや分身の作成等も容易に行なうことができる。
本演習ビルダー2により生成されるサイバー演習シナリオは、サイバー演習における攻撃側の第1の情報処理端末で実行される第1のプログラムと、防御側の第2の情報処理端末で実行される第2のプログラムとの両方が含められる。これにより、攻撃側の処理と防御側の処理とを考慮したリアリティのあるサイバー演習シナリオを作成することができる。
また、攻撃側または防御側の少なくとも一方のプログラムをスクリプト化し、自動実行させてもよい。これにより、例えば、攻撃側は自動実行して防御側の演習を行なうことができ、また逆に、防御側を自動化して攻撃側の演習を行なうこともでき利便性が高い。また、一部の処理を残して他の処理を自動実行させることで、演習したい部分だけを実行することもでき、これによっても利便性が高い。
(D)その他
図35は実施形態の一例としての演習ビルダー2を実現する情報処理装置のハードウェア構成を例示する図である。演習ビルダー2を実現する情報処理装置を符号2で表す場合がある。
情報処理装置(演習ビルダー)2は、図35に例示するように、プロセッサ11,メモリ12,記憶装置13,グラフィック処理装置14,入力インタフェース15,光学ドライブ装置16,機器接続インタフェース17およびネットワークインタフェース18を構成要素として有する。これらの構成要素11~18は、バス19を介して相互に通信可能に構成される。
プロセッサ(処理部)11は、演習ビルダー2全体を制御する。プロセッサ11は、マルチプロセッサであってもよい。プロセッサ11は、例えばCPU(Central Processing Unit),MPU(Micro Processing Unit),DSP(Digital Signal Processor),ASIC(Application Specific Integrated Circuit),PLD(Programmable Logic Device),FPGA(Field Programmable Gate Array)のいずれか一つであってもよい。また、プロセッサ11は、CPU,MPU,DSP,ASIC,PLD,FPGAのうちの2種類以上の要素の組み合わせであってもよい。
そして、プロセッサ11が演習ビルダー2用の制御プログラム(演習ビルダー用管理プログラム:図示省略)を実行することにより、上述した、演習エディタ201およびシナリオ定義ファイル作成部202としての機能が実現される。
演習エディタ201およびシナリオ定義ファイル作成部202としての機能は、例えば、OS(Operating System)プログラム上で動作する機能として実装されてもよく、また、OSプログラムの機能として実装されてもよい。
なお、演習ビルダー2は、例えばコンピュータ読み取り可能な非一時的な記録媒体に記録されたプログラム(演習ビルダー用管理プログラムやOSプログラム)を実行することにより、図2に示す演習エディタ201およびシナリオ定義ファイル作成部202としての機能を実現する。
演習ビルダー2に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、演習ビルダー2に実行させる演習ビルダー用管理プログラムを記憶装置13に格納しておくことができる。プロセッサ11は、記憶装置13内のプログラムの少なくとも一部をメモリ12にロードし、ロードしたプログラムを実行する。
また、演習ビルダー2(プロセッサ11)に実行させるプログラム(演習ビルダー用管理プログラム)を、光ディスク16a,メモリ装置17a,メモリカード17c等の非一時的な可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ11からの制御により、記憶装置13にインストールされた後、実行可能になる。また、プロセッサ11が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
メモリ12は、ROM(Read Only Memory)およびRAM(Random Access Memory)を含む記憶メモリである。メモリ12のRAMは情報処理装置2の主記憶装置として使用される。RAMには、プロセッサ11に実行させるOSプログラムや制御プログラム(キャッシュ制御プログラム)の少なくとも一部が一時的に格納される。また、メモリ12には、プロセッサ11による処理に必要な各種データが格納される。
記憶装置13は、ハードディスクドライブ(Hard Disk Drive:HDD)、SSD(Solid State Drive)、ストレージクラスメモリ(Storage Class Memory:SCM)等の記憶装置であって、種々のデータを格納するものである。記憶装置13は、演習ビルダー2の補助記憶装置として使用される。記憶装置13には、OSプログラム,制御プログラムおよび各種データが格納される。制御プログラムには演習ビルダー用管理プログラムが含まれる。
なお、補助記憶装置としては、SCMやフラッシュメモリ等の半導体記憶装置を使用することもできる。また、複数の記憶装置13を用いてRAID(Redundant Arrays of Inexpensive Disks)を構成してもよい。
グラフィック処理装置14には、モニタ14aが接続されている。グラフィック処理装置14は、プロセッサ11からの命令に従って、画像をモニタ14aの画面に表示させる。モニタ14aとしては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置等が挙げられる。
入力インタフェース15には、キーボード15aおよびマウス15bが接続されている。入力インタフェース15は、キーボード15aやマウス15bから送られてくる信号をプロセッサ11に送信する。なお、マウス15bは、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル,タブレット,タッチパッド,トラックボール等が挙げられる。
光学ドライブ装置16は、レーザ光等を利用して、光ディスク16aに記録されたデータの読み取りを行なう。光ディスク16aは、光の反射によって読み取り可能にデータを記録された可搬型の非一時的な記録媒体である。光ディスク16aには、DVD(Digital Versatile Disc),DVD-RAM,CD-ROM(Compact Disc Read Only Memory),CD-R(Recordable)/RW(ReWritable)等が挙げられる。
機器接続インタフェース17は、演習ビルダー2に周辺機器を接続するための通信インタフェースである。例えば、機器接続インタフェース17には、メモリ装置17aやメモリリーダライタ17bを接続することができる。メモリ装置17aは、機器接続インタフェース17との通信機能を搭載した非一時的な記録媒体、例えばUSB(Universal Serial Bus)メモリである。メモリリーダライタ17bは、メモリカード17cへのデータの書き込み、またはメモリカード17cからのデータの読み出しを行なう。メモリカード17cは、カード型の非一時的な記録媒体である。
ネットワークインタフェース18は、ネットワークに接続される。ネットワークインタフェース18は、ネットワークを介して、他の情報処理装置(攻撃側,防御側)との間でデータの送受信を行なう。ネットワークには他の通信機器等が接続されてもよい。
ネットワークには他の情報処理装置(攻撃側,防御側)が接続され、演習ビルダー2(情報処理装置2)は、ネットワークインタフェース18およびネットワークを介して、サイバー演習の参加者(演習者)が使用する情報処理装置(攻撃側,防御側)と通信可能に接続される。
(E)付記
以上の実施形態に関し、さらに以下の付記を開示する。
(付記1)
サイバー演習を実行させるための複数のプログラム部品と、前記複数のプログラム部品の関係性を示す情報とを受け付け、
前記関係性を示す情報に基づき、前記複数のプログラム部品を組み合わせることによって、前記サイバー演習の実行を制御するシナリオを構成するプログラム群を生成する、
処理をコンピュータに実行させることを特徴とするプログラム。
(付記2)
前記関係性を示す情報に基づき、前記複数のプログラム部品の中で先に実行されるべき第1のプログラム部品を特定する情報を取得し、
取得した前記情報を、前記第1のプログラム部品に後続する第2のプログラム部品を起動させるトリガーに設定する
処理をコンピュータに実行させることを特徴とする、付記1記載のプログラム。
(付記3)
前記第1のプログラム部品に部品名が設定されていない場合に、前記第1のプログラム部品に部品名を設定する
処理をコンピュータに実行させることを特徴とする、付記2記載のプログラム。
(付記4)
前記プログラム群を生成する処理は、前記サイバー演習における攻撃側の第1の情報処理端末で実行される第1のプログラムと、前記サイバー演習における防御側の第2の情報処理端末で実行される第2のプログラムとの両方を含むプログラム群を生成する、
ことを特徴とする付記1~3のいずれか1項に記載のプログラム。
(付記5)
サイバー演習を実行させるための複数のプログラム部品と、前記複数のプログラム部品の関係性を示す情報とを受け付ける受付処理部と、
前記関係性を示す情報に基づき、前記複数のプログラム部品を組み合わせることによって、前記サイバー演習の実行を制御するシナリオを構成するプログラム群を生成する生成部と
を備えることを特徴とする情報処理装置。
(付記6)
前記生成部が、
前記関係性を示す情報に基づき、前記複数のプログラム部品の中で先に実行されるべき第1のプログラム部品を特定する情報を取得し、
取得した前記情報を、前記第1のプログラム部品に後続する第2のプログラム部品を起動させるトリガーに設定する
ことを特徴とする、付記5記載の情報処理装置。
(付記7)
前記第1のプログラム部品に部品名が設定されていない場合に、前記第1のプログラム部品に部品名を設定する部品名設定部を備え、
前記生成部が、
設定した前記第1のプログラム部品の部品名を、前記第2のプログラム部品に対応する事象を起動させるトリガーに設定する
ことを特徴とする、付記5記載の情報処理装置。
(付記8)
前記プログラム群を生成する処理は、前記サイバー演習における攻撃側の第1の情報処理端末で実行される第1のプログラムと、前記サイバー演習における防御側の第2の情報処理端末で実行される第2のプログラムとの両方を含むプログラム群を生成する、ことを特徴とする付記5~7のいずれか1項に記載の情報処理装置。
(付記9)
サイバー演習を実行させるための複数のプログラム部品と、前記複数のプログラム部品間の関係性を示す情報とを受け付ける処理と、
前記関係性を示す情報に基づき、前記複数のプログラム部品を組み合わせることによって、前記サイバー演習の実行を制御するシナリオを構成するプログラム群を生成する処理と、
を備えることを特徴とするサイバー演習制御方法。
(付記10)
前記関係性を示す情報に基づき、前記複数のプログラム部品の中で先に実行されるべき第1のプログラム部品を特定する情報を取得する処理と、
取得した前記情報を、前記第1のプログラム部品に後続する第2のプログラム部品を起動させるトリガーに設定する処理と
を備えることを特徴とする、付記9記載のサイバー演習制御方法。
(付記11)
前記第1のプログラム部品に部品名が設定されていない場合に、前記第1のプログラム部品に部品名を設定する処理
を備えることを特徴とする、付記10記載のサイバー演習制御方法。
(付記12)
前記プログラム群を生成する処理は、前記サイバー演習における攻撃側の第1の情報処理端末で実行される第1のプログラムと、前記サイバー演習における防御側の第2の情報処理端末で実行される第2のプログラムとの両方を含むプログラム群を生成する、ことを特徴とする付記9~11のいずれか1項に記載のサイバー演習制御方法。
1 サイバー演習システム
2 演習ビルダー(情報処理装置)
3 演習実施処理部
4 演習スクリプティング処理部
5 スクリプト自動実行処理部
11 プロセッサ
12 メモリ
13 記憶装置
14 グラフィック処理装置
14a モニタ
15 入力インタフェース
15a キーボード
15b マウス
16 光学ドライブ装置
16a 光ディスク
17 機器接続インタフェース
17a メモリ装置
17b メモリリーダライタ
17c メモリカード
18 ネットワークインタフェース
18a ネットワーク
19 バス
140 演習モデリング画面
201 演習エディタ(受付処理部)
202 シナリオ定義ファイル作成部(生成部)

Claims (5)

  1. サイバー演習を実行させるための複数のプログラム部品と、前記複数のプログラム部品間の関係性を示す情報とを受け付け、
    前記関係性を示す情報に基づき、前記複数のプログラム部品を組み合わせることによって、前記サイバー演習の実行を制御するシナリオを構成するプログラム群を生成する、
    処理をコンピュータに実行させ
    前記生成する処理は、
    前記関係性を示す情報に基づき、前記複数のプログラム部品の中で先に実行されるべき第1のプログラム部品を特定する情報を取得し、
    前記第1のプログラム部品に後続する第2のプログラム部品のスクリプトに、取得した前記第1のプログラム部品を特定する情報を、前記第2のプログラム部品を起動させるトリガーとして設定し、当該第2のプログラム部品に後続して実行される第3のプログラム部品を特定する情報を、次に実行されるプログラム部品として設定する処理を含むことを特徴とするプログラム。
  2. 前記第1のプログラム部品に部品名が設定されていない場合に、前記第1のプログラム部品に部品名を設定する
    処理をコンピュータに実行させることを特徴とする、請求項1に記載のプログラム。
  3. 前記プログラム群を生成する処理は、前記サイバー演習における攻撃側の第1の情報処理端末で実行される第1のプログラムと、前記サイバー演習における防御側の第2の情報処理端末で実行される第2のプログラムとの両方を含むプログラム群を生成する、ことを特徴とする請求項1又は2に記載のプログラム。
  4. サイバー演習を実行させるための複数のプログラム部品と、前記複数のプログラム部品間の関係性を示す情報とを受け付ける受付処理部と、
    前記関係性を示す情報に基づき、前記複数のプログラム部品を組み合わせることによって、前記サイバー演習の実行を制御するシナリオを構成するプログラム群を生成する生成部とを備え
    前記生成部が、
    前記関係性を示す情報に基づき、前記複数のプログラム部品の中で先に実行されるべき第1のプログラム部品を特定する情報を取得し、
    前記第1のプログラム部品に後続する第2のプログラム部品のスクリプトに、取得した前記第1のプログラム部品を特定する情報を、前記第2のプログラム部品を起動させるトリガーとして設定し、当該第2のプログラム部品に後続して実行される第3のプログラム部品を特定する情報を、次に実行されるプログラム部品として設定することを特徴とする情報処理装置。
  5. サイバー演習を実行させるための複数のプログラム部品と、前記複数のプログラム部品の関係性を示す情報とを受け付ける処理と、
    前記関係性を示す情報に基づき、前記複数のプログラム部品を組み合わせることによって、前記サイバー演習の実行を制御するシナリオを構成するプログラム群を生成する処理とコンピュータが実行し、
    前記生成する処理は、
    前記関係性を示す情報に基づき、前記複数のプログラム部品の中で先に実行されるべき第1のプログラム部品を特定する情報を取得し、
    前記第1のプログラム部品に後続する第2のプログラム部品のスクリプトに、取得した前記第1のプログラム部品を特定する情報を、前記第2のプログラム部品を起動させるトリガーとして設定し、当該第2のプログラム部品に後続して実行される第3のプログラム部品を特定する情報を、次に実行されるプログラム部品として設定する処理を含むことを特徴とするサイバー演習制御方法。
JP2020013608A 2020-01-30 2020-01-30 プログラム,情報処理装置およびサイバー演習制御方法 Active JP7409116B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020013608A JP7409116B2 (ja) 2020-01-30 2020-01-30 プログラム,情報処理装置およびサイバー演習制御方法
US17/133,907 US11507660B2 (en) 2020-01-30 2020-12-24 Information processing apparatus, non-transitory computer-readable storage medium, and cyber exercise control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020013608A JP7409116B2 (ja) 2020-01-30 2020-01-30 プログラム,情報処理装置およびサイバー演習制御方法

Publications (2)

Publication Number Publication Date
JP2021120780A JP2021120780A (ja) 2021-08-19
JP7409116B2 true JP7409116B2 (ja) 2024-01-09

Family

ID=77062665

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020013608A Active JP7409116B2 (ja) 2020-01-30 2020-01-30 プログラム,情報処理装置およびサイバー演習制御方法

Country Status (2)

Country Link
US (1) US11507660B2 (ja)
JP (1) JP7409116B2 (ja)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000353087A (ja) 1999-06-10 2000-12-19 Toshiba Corp 高可用性システムの動作シナリオ開発環境を有する計算機システム
US20090320137A1 (en) 2008-06-18 2009-12-24 Eads Na Defense Security And Systems Solutions Inc. Systems and methods for a simulated network attack generator
JP2014191466A (ja) 2013-03-26 2014-10-06 Railway Technical Research Institute 訓練シナリオ生成システム、訓練シナリオ生成方法およびプログラム
US20170169230A1 (en) 2015-12-14 2017-06-15 Fmr Llc Intelligent Threat Modeling and Visualization
WO2017126041A1 (ja) 2016-01-20 2017-07-27 三菱電機株式会社 訓練装置、訓練方法、及び訓練プログラム
US20180096153A1 (en) 2015-03-04 2018-04-05 Secure-Nok As System and Method for Responding to a Cyber-Attack-Related Incident Against an Industrial Control System
JP2019191671A (ja) 2018-04-18 2019-10-31 防衛装備庁長官 サイバー攻撃に対する演習表示プログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6014104B2 (ja) 2014-11-27 2016-10-25 富士重工業株式会社 交通管制訓練シナリオ作成装置、交通管制訓練装置及び交通管制訓練シナリオ作成プログラム
US10757132B1 (en) * 2017-09-08 2020-08-25 Architecture Technology Corporation System and method for evaluating and optimizing training effectiveness
US11283828B2 (en) * 2020-01-17 2022-03-22 International Business Machines Corporation Cyber-attack vulnerability and propagation model

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000353087A (ja) 1999-06-10 2000-12-19 Toshiba Corp 高可用性システムの動作シナリオ開発環境を有する計算機システム
US20090320137A1 (en) 2008-06-18 2009-12-24 Eads Na Defense Security And Systems Solutions Inc. Systems and methods for a simulated network attack generator
JP2014191466A (ja) 2013-03-26 2014-10-06 Railway Technical Research Institute 訓練シナリオ生成システム、訓練シナリオ生成方法およびプログラム
US20180096153A1 (en) 2015-03-04 2018-04-05 Secure-Nok As System and Method for Responding to a Cyber-Attack-Related Incident Against an Industrial Control System
US20170169230A1 (en) 2015-12-14 2017-06-15 Fmr Llc Intelligent Threat Modeling and Visualization
WO2017126041A1 (ja) 2016-01-20 2017-07-27 三菱電機株式会社 訓練装置、訓練方法、及び訓練プログラム
JP2019191671A (ja) 2018-04-18 2019-10-31 防衛装備庁長官 サイバー攻撃に対する演習表示プログラム

Also Published As

Publication number Publication date
US20210240824A1 (en) 2021-08-05
JP2021120780A (ja) 2021-08-19
US11507660B2 (en) 2022-11-22

Similar Documents

Publication Publication Date Title
US9501596B2 (en) Graphical design verification environment generator
US8065131B2 (en) Configurable system and method for power and process plant modeling
KR101153057B1 (ko) 디지털 디바이스 메뉴 편집기를 위한 방법 및 시스템
US20090083697A1 (en) Integration of User Interface Design and Model Driven Development
US6173246B1 (en) Method and system for a unified process automation software system
US20120179987A1 (en) Computationally Efficient System for Developing Configurable, Extensible Gul for Database Centric Enterprise Business Applications
US10380526B2 (en) System and method for providing a process player for use with a business process design environment
US20090235229A1 (en) Graphical Modelization of User Interfaces for Data Intensive Applications
WO2019051492A1 (en) TOOLS AND ARCHITECTURE OF IMMERSIVE VIRTUAL ENVIRONMENT (IVE)
CA2925015A1 (en) System and method for testing data representation for different mobile devices
US20170242780A1 (en) Graphical Sequence Builder
Bernaschina et al. Online model editing, simulation and code generation for web and mobile applications
CN102081520B (zh) 嵌入式硬盘录像机的图形用户界面创建方法及其系统
JP7409116B2 (ja) プログラム,情報処理装置およびサイバー演習制御方法
WO2015116225A2 (en) Test automation modeling
KR20100056338A (ko) 재활용도를 높일 수 있는 gui 테스트 자동화 시스템 및 그 방법
US20130253672A1 (en) Development system and method for creating a control unit program
JP5409407B2 (ja) 情報処理装置及びプログラム
Kurniawan et al. Raspbian OS Programming with the Raspberry Pi
Swearngin et al. Easing the generation of predictive human performance models from legacy systems
Navarre et al. Fortune nets for fortunettes: Formal, petri nets-based, engineering of feedforward for GUI widgets
JP2012088933A (ja) ソフトウェアプロダクトライン開発支援装置、その方法およびそのプログラム
Navarre et al. Model-based Engineering of Feedforward Usability Function for GUI Widgets
Kose et al. Real-time Attack-Scheme Visualization for Complex Exploit Technique Comprehension
Oliver Why We Need New Software Testing Technologies

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221006

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230831

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230912

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231108

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20231108

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20231121

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231204

R150 Certificate of patent or registration of utility model

Ref document number: 7409116

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150