JPWO2020105156A1 - シナリオ生成装置、シナリオ生成方法およびシナリオ生成プログラム - Google Patents

シナリオ生成装置、シナリオ生成方法およびシナリオ生成プログラム Download PDF

Info

Publication number
JPWO2020105156A1
JPWO2020105156A1 JP2020557091A JP2020557091A JPWO2020105156A1 JP WO2020105156 A1 JPWO2020105156 A1 JP WO2020105156A1 JP 2020557091 A JP2020557091 A JP 2020557091A JP 2020557091 A JP2020557091 A JP 2020557091A JP WO2020105156 A1 JPWO2020105156 A1 JP WO2020105156A1
Authority
JP
Japan
Prior art keywords
attack
scenario
edit screen
attack means
generator
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.)
Granted
Application number
JP2020557091A
Other languages
English (en)
Other versions
JP6906715B2 (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JPWO2020105156A1 publication Critical patent/JPWO2020105156A1/ja
Application granted granted Critical
Publication of JP6906715B2 publication Critical patent/JP6906715B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • 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/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B9/00Simulators for teaching or training purposes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/14Arrangements for monitoring or testing data switching networks using software, i.e. software packages
    • 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
    • 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/1441Countermeasures against malicious traffic

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Business, Economics & Management (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • Stored Programmes (AREA)

Abstract

シナリオ生成装置(100)は、攻撃シナリオ(32)を生成する。攻撃手段記憶部(130)は、攻撃手段の前提条件と攻撃成果とを含む攻撃手段データ(131)を記憶する。編集画面表示部(110)は、攻撃シナリオ(32)に含める攻撃手段をシナリオ編集画面(200)に配置する。攻撃シナリオ生成部(20)は、攻撃手段データ(131)を用いて、シナリオ編集画面(200)に配置された攻撃手段の前提条件が攻撃成果となる他の攻撃手段を攻撃手段記憶部(130)から抽出する。攻撃シナリオ生成部(20)は、シナリオ編集画面(200)に配置された攻撃手段に他の攻撃手段を補完した攻撃シナリオ(32)を生成する。

Description

本発明は、シナリオ生成装置、シナリオ生成方法およびシナリオ生成プログラムに関する。
特許文献1および非特許文献1には、ユーザが要求する攻撃成果を実現するための一連の攻撃手段の実行列を、攻撃シナリオとして生成する模擬攻撃システムが記載されている。攻撃成果とは、具体的には、機密ファイルを外部に送信するといった成果である。この模擬攻撃システムは、サイバー攻撃の攻撃活動が部品化された攻撃手段に対し、実行の前提条件および実行により得られる攻撃成果を定義することで、攻撃シナリオを生成している。
特開2004−145413号公報
河内 清人、北澤 繁樹、中野 初美、大越 丈弘、藤井 誠司、河木 理一著、「一階述語論理を用いた脆弱性診断ツール」情報処理学会研究報告 巻:2002号:122(CSEC−19) ページ:43−48
特許文献1あるいは非特許文献1の技術によれば、攻撃演習を行う場合、教官が攻撃のゴールのみを示すことにより、そのゴールを達成する攻撃シナリオが自動生成される。しかし、途中の攻撃活動を指定することはできない。そのため、「USBメモリを介して端末Aに侵入し、パスワード全探索で端末Xに感染を拡大し、最終的にサーバYのファイルを外部へ送信する」といった攻撃シナリオの一部を指定し、指定された攻撃活動を含んだ攻撃シナリオを生成することはできない。また、攻撃シナリオに指定された攻撃活動が含まれていたとしても、その攻撃活動が攻撃シナリオ中で意味のある攻撃活動となっていない可能性がある。ここで「意味のある攻撃活動」とは、その攻撃活動をシナリオから取り除いた場合、その後段にある少なくとも一つ以上の攻撃活動が実行できなくなることを意味している。
本発明は、教官が演習のポイントとなる攻撃シナリオの一部の攻撃活動を指定するだけで、それらの攻撃活動を全て含み、かつ、それらの攻撃活動が攻撃シナリオ中で意味のある攻撃活動となっている攻撃シナリオを自動生成することを目的とする。
本発明に係るシナリオ生成装置は、サイバー攻撃の演習に用いられる攻撃シナリオを生成するシナリオ生成装置において、
サイバー攻撃の攻撃活動を部品化した攻撃手段を表す攻撃手段データであって前記攻撃手段の前提条件と攻撃成果とを含む攻撃手段データを記憶する攻撃手段記憶部と、
前記攻撃シナリオに含める攻撃手段をシナリオ編集画面に配置する編集画面表示部と、
前記攻撃手段記憶部に記憶された攻撃手段データを用いて、前記シナリオ編集画面に配置された攻撃手段の前提条件が攻撃成果となる他の攻撃手段を前記攻撃手段記憶部から抽出し、前記シナリオ編集画面に配置された攻撃手段に前記他の攻撃手段を補完した前記攻撃シナリオを生成する攻撃シナリオ生成部と
を備えた。
本発明に係るシナリオ生成装置では、編集画面表示部が、攻撃シナリオに含める攻撃手段をシナリオ編集画面に配置する。攻撃シナリオ生成部が、攻撃手段記憶部に記憶された攻撃手段データを用いて、シナリオ編集画面に配置された攻撃手段の前提条件が攻撃成果となる他の攻撃手段を攻撃手段記憶部から抽出する。そして、攻撃シナリオ生成部が、シナリオ編集画面に配置された攻撃手段に他の攻撃手段を補完した攻撃シナリオを生成する。よって、本発明に係るシナリオ生成装置によれば、攻撃シナリオに含める攻撃手段を配置することで、それらの攻撃手段を全て含み、かつ、それらの攻撃手段が攻撃シナリオ中で意味のある攻撃活動となっている攻撃シナリオを生成することができる。
実施の形態1に係るシナリオ生成装置の構成図。 実施の形態1に係るシナリオ編集画面の構成図。 実施の形態1に係るシナリオ生成装置の特徴の一例を説明する図。 実施の形態1に係るパラメータ編集画面の構成図。 実施の形態1に係る攻撃手段データの構成を示す図。 実施の形態1に係る演習環境データの構成を示す図。 実施の形態1に係る攻撃スクリプトの形式を示す図。 実施の形態1に係る攻撃シナリオ生成部の動作を示すフローチャート。 実施の形態1に係るシナリオ候補生成処理を示すフローチャート。 実施の形態1に係るサブシナリオ生成処理を示すフローチャート。 実施の形態1に係るサブシナリオ生成処理を示すフローチャート。
以下、本発明の実施の形態について、図を用いて説明する。なお、各図中、同一または相当する部分には、同一符号を付している。実施の形態の説明において、同一または相当する部分については、説明を適宜省略または簡略化する。
実施の形態1.
***構成の説明***
図1を用いて、本実施の形態に係るシナリオ生成装置100の構成を説明する。
シナリオ生成装置100は、コンピュータである。シナリオ生成装置100は、プロセッサ910を備えるとともに、メモリ921、補助記憶装置922、入出力インタフェース930、および通信装置950といった他のハードウェアを備える。プロセッサ910は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
シナリオ生成装置100は、機能要素として、編集画面表示部110と攻撃シナリオ生成部20と攻撃手段記憶部130と演習環境記憶部140を備える。攻撃シナリオ生成部20は、攻撃生成部120とシナリオ候補生成部121とシナリオ貢献チェック部122とサブシナリオ生成部123を備える。攻撃手段記憶部130には、攻撃手段データ131が記憶される。演習環境記憶部140には、演習環境データ141が記憶される。
編集画面表示部110と攻撃生成部120とシナリオ候補生成部121とシナリオ貢献チェック部122とサブシナリオ生成部123の機能は、ソフトウェアにより実現される。攻撃手段記憶部130と演習環境記憶部140は、メモリ921に備えられる。
プロセッサ910は、シナリオ生成プログラムを実行する装置である。シナリオ生成プログラムは、編集画面表示部110と攻撃生成部120とシナリオ候補生成部121とシナリオ貢献チェック部122とサブシナリオ生成部123の機能を実現するプログラムである。
プロセッサ910は、演算処理を行うIC(Integrated Circuit)である。プロセッサ910の具体例は、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、GPU(Graphics Processing Unit)である。
メモリ921は、データを一時的に記憶する記憶装置である。メモリ921の具体例は、SRAM(Static Random Access Memory)、あるいはDRAM(Dynamic Random Access Memory)である。
補助記憶装置922は、データを保管する記憶装置である。補助記憶装置922の具体例は、HDDである。また、補助記憶装置922は、SD(登録商標)メモリカード、CF、NANDフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVDといった可搬記憶媒体であってもよい。なお、HDDは、Hard Disk Driveの略語である。SD(登録商標)は、Secure Digitalの略語である。CFは、CompactFlash(登録商標)の略語である。DVDは、Digital Versatile Diskの略語である。
入出力インタフェース930は、マウス、キーボード、タッチパネル、およびディスプレイといった入出力装置と接続されるポートである。ディスプレイは、具体的には、LCD(Liquid Crystal Display)である。入出力インタフェース930は、具体的には、USB(Universal Serial Bus)端子あるいはHDMI(登録商標)(High Definition Multimedia Interface)端子である。なお、入出力インタフェース930は、LAN(Local Area Network)と接続されるポートであってもよい。
本実施の形態では、編集画面表示部110は、入出力インタフェース930を介して、シナリオ編集画面200と接続される。編集画面表示部110は、入出力インタフェース930を介して、シナリオ編集画面200から情報を取得する。また、編集画面表示部110は、入出力インタフェース930を介して、シナリオ編集画面200に情報を出力する。
通信装置950は、レシーバとトランスミッタを有する。通信装置950は、LAN、インターネット、あるいは電話回線といった通信網に接続している。通信装置950は、具体的には、通信チップまたはNIC(Network Interface Card)である。シナリオ生成装置100は、通信装置950を介して、シナリオ編集画面200に接続されていてもよい。
シナリオ生成プログラムは、プロセッサ910に読み込まれ、プロセッサ910によって実行される。メモリ921には、シナリオ生成プログラムだけでなく、OS(Operating System)も記憶されている。プロセッサ910は、OSを実行しながら、シナリオ生成プログラムを実行する。シナリオ生成プログラムおよびOSは、補助記憶装置922に記憶されていてもよい。補助記憶装置922に記憶されているシナリオ生成プログラムおよびOSは、メモリ921にロードされ、プロセッサ910によって実行される。なお、シナリオ生成プログラムの一部または全部がOSに組み込まれていてもよい。
シナリオ生成装置100は、プロセッサ910を代替する複数のプロセッサを備えていてもよい。これら複数のプロセッサは、シナリオ生成プログラムの実行を分担する。それぞれのプロセッサは、プロセッサ910と同じように、シナリオ生成プログラムを実行する装置である。
シナリオ生成プログラムにより利用、処理または出力されるデータ、情報、信号値および変数値は、メモリ921、補助記憶装置922、または、プロセッサ910内のレジスタあるいはキャッシュメモリに記憶される。
編集画面表示部110と攻撃シナリオ生成部20の各部の「部」を「処理」、「手順」あるいは「工程」に読み替えてもよい。また編集画面表示処理と攻撃シナリオ生成処理の「処理」を「プログラム」、「プログラムプロダクト」または「プログラムを記録したコンピュータ読取可能な記憶媒体」に読み替えてもよい。
シナリオ生成プログラムは、上記の各部の「部」を「処理」、「手順」あるいは「工程」に読み替えた各処理、各手順あるいは各工程を、コンピュータに実行させる。また、シナリオ生成方法は、シナリオ生成装置100がシナリオ生成プログラムを実行することにより行われる方法である。
シナリオ生成プログラムは、コンピュータ読取可能な媒体、記録媒体、あるいは記憶媒体に格納されて提供されてもよい。また、シナリオ生成プログラムは、プログラムプロダクトとして提供されてもよい。
***機能の概要説明***
シナリオ生成装置100は、サイバー攻撃の演習に用いられる攻撃シナリオ32を生成する。
編集画面表示部110は、攻撃シナリオ32に含める攻撃手段をシナリオ編集画面200に配置する。また、編集画面表示部110は、シナリオ編集画面200により攻撃シナリオを編集および表示する。編集画面表示部110は、シナリオ編集画面200により、作業者30からシナリオ生成指示31を受け付ける。作業者30は、具体的には、攻撃演習を行う際の教官といった管理者である。また、編集画面表示部110は、シナリオ編集画面200により、攻撃シナリオ32および攻撃スクリプト33を表示する。
攻撃シナリオ生成部20は、攻撃手段記憶部130に記憶された攻撃手段データ131を用いて、シナリオ編集画面200に配置された攻撃手段の前提条件が攻撃成果となる他の攻撃手段を攻撃手段記憶部130から抽出する。そして、攻撃シナリオ生成部20は、シナリオ編集画面200に配置された攻撃手段に他の攻撃手段を補完した攻撃シナリオ32を生成する。
攻撃生成部120は、攻撃シナリオ32を生成する際、シナリオ候補生成部121とシナリオ貢献チェック部122を読み出す。シナリオ候補生成部121は、攻撃シナリオの候補を生成する。シナリオ候補生成部121は、攻撃シナリオの候補を生成する際、シナリオ候補生成部121を再帰読み出しするとともに、サブシナリオ生成部123を読み出す。シナリオ貢献チェック部122は、攻撃シナリオの候補をチェックする。
攻撃手段記憶部130は、サイバー攻撃の攻撃活動を部品化した攻撃手段を表す攻撃手段データ131であって攻撃手段の前提条件と攻撃成果とを含む攻撃手段データ131を記憶する。攻撃手段記憶部130は、一つ以上の攻撃手段データ131を蓄積する。攻撃手段データ131は、攻撃者の行う攻撃活動を部品化したものである。攻撃シナリオ32は、攻撃手段データ131を時系列に沿って並べたデータとして表現される。
演習環境記憶部140は、一つ以上の演習環境データ141を蓄積する。演習環境データ141は、攻撃対象とするシステムの構成情報を表すデータである。例えばファイルサーバのIPアドレス、あるいは、ファイルサーバ中に格納されたファイルのファイルパスといった情報が含まれる。
図2は、本実施の形態に係るシナリオ編集画面200の構成を示す図である。
シナリオ編集画面200は、一覧部203と配置部202を備える。
一覧部203には、攻撃手段記憶部130に記憶されている攻撃手段データ131の名称204が一覧となって表示される。一覧部203は、攻撃手段一覧表示ペインともいう。
配置部202は、格子状に分割されている。配置部202の各行は、攻撃シナリオの演習環境となる各PC(パーソナルコンピュータ)に対応付けられている。図2では、配置部202の各行は、PC1およびPC2といったPCに対応付けられている。配置部202の各行には、各PCで実行される攻撃手段205が時系列順に配置される。作業者30は、一覧部203から攻撃シナリオで実施したい攻撃手段を選択し、選択した攻撃手段を配置部202上にドラッグアンドドロップすることによって配置する。図2では、攻撃手段X,Y,Zが時系列に配置されている。配置された攻撃手段は、矢印によって自動的に結合される。黒丸208は、上の行の攻撃手段Yによって、PC2上に感染が拡大することを示している。配置部202は、攻撃手段配置ペインともいう。
図3は、本実施の形態に係るシナリオ生成装置100の特徴の一例を説明する図である。図3では、シナリオ生成装置100による攻撃シナリオの補完が、シナリオ編集画面200上でどのように表現されるかを説明する。
作業者30が実施したい攻撃手段X,Yを配置する。すなわち、編集画面表示部110は、攻撃シナリオ32に含める複数の攻撃手段X,Yを時系列にシナリオ編集画面200に配置する。その後、作業者30により、シナリオ生成指示31がシナリオ生成装置100に入力される。作業者30は、シナリオ編集画面200によりシナリオ生成指示31をシナリオ生成装置100に入力する。
シナリオ生成装置100は、攻撃シナリオとして不足している攻撃活動を、攻撃手段記憶部130に記憶されている攻撃手段データ131から適宜補完する。図3では、攻撃手段αと攻撃手段βが補完された様子を表している。攻撃手段αおよび攻撃手段βといった補完された攻撃手段は、シナリオ編集画面200上にもともと配置されていた攻撃手段Xおよび攻撃手段Yといった攻撃手段とは、視覚的に区別できる形式で表示される。
図4は、本実施の形態に係る配置部202上に配置された攻撃手段のパラメータを編集するパラメータ編集画面401を示す図である。
編集画面表示部110は、シナリオ編集画面200に配置された攻撃手段のパラメータに対してパラメータ値を指定するパラメータ編集画面401を表示する。パラメータ編集画面401は、具体的には、配置部202上の攻撃手段を一つ選択し、ダブルクリックするといった操作によって表示される。パラメータ編集画面401では、選択された攻撃手段において指定可能なパラメータに対し、パラメータ名402とパラメータ値入力ボックス403が一覧表示される。図4では、一つのパラメータしか表示されていないが、複数のパラメータを指定可能な攻撃手段の場合、複数パラメータが表示される。パラメータ値入力ボックス403には、現在、攻撃手段のパラメータとして設定されている値が表示される。作業者30は、この値を必要であれば変更し、OKボタン404あるいはキャンセルボタン405を押下することでパラメータ値を変更する。
図5は、本実施の形態に係る攻撃手段データ131の構成を示す図である。
本実施の形態では、攻撃手段データ131はXML(Extensible Markup Language)形式のファイルとして攻撃手段記憶部130に保存される。しかし、本形式に限定されるものではなく、その他の形式で記述されていてもよい。
攻撃手段データ131は、攻撃手段の前提条件502と攻撃成果504とを含む。また、攻撃手段データ131は、攻撃ツールで実行する攻撃スクリプトを定義する攻撃スクリプト定義505を含む。
具体的には、以下の通りである。
攻撃手段データ131は、攻撃手段名501、前提条件502、パラメータ定義部503、攻撃成果504、および攻撃スクリプト定義505を有する。攻撃手段名501は、シナリオ編集画面200上に表示される攻撃手段の名称である。
前提条件502は、攻撃手段を実行するにあたり、事前に満足していなければならない0個以上の条件を述語として表現した条件定義である。前提条件502は、前提条件定義ともいう。
パラメータ定義部503は、攻撃手段により用いられるパラメータとパラメータのデフォルト値とを含む。具体的には、パラメータ定義部503は、攻撃手段で調整可能なパラメータのパラメータ名512と、未指定時のデフォルト値513とを定義している。なお、攻撃シナリオ生成部20は、パラメータ編集画面401から指定されたパラメータ値をパラメータに設定するとともに、パラメータ編集画面401からの指定が無いパラメータにはデフォルト値を設定する。
攻撃成果504は、攻撃手段を実行することで得られる1個以上の効果を述語で表現した攻撃成果の定義である。攻撃成果504は、攻撃成果定義ともいう。
攻撃スクリプト定義505は、攻撃手段を実行するにあたり、Metasploitといった攻撃ツールに入力するスクリプトを定義している。攻撃スクリプト定義505は、攻撃活動定義ともいう。
述語は、506、507、508で示されるようなpredicate要素として表現される。predicate要素は述語名を表すname属性514を持ち、子要素として同述語の引数を表すvar要素(例えば511)もしくはstring要素(例えば515)を含む。var要素は述語の変数を示しており、string要素は定数値を示している。
例えば、前提条件502中の述語506は、一階述語論理上の記法を用いればRAT(RAT_HOST,“admin”,SESSION_ID)という述語が成立していることが前提条件の一つである、ことを示している。RAT_HOST、SESSION_IDは変数であるため、どのような値もとることができる。そのため、RAT(“PC1”,“admin”,“12345”)という述語が成立していれば、先に例としてとりあげた前提条件RAT(RAT_HOST,“admin”,SESSION_ID)は、成立しているとみなされる。そして、その際、変数RAT_HOSTには“PC1”が、SESSSION_IDには“12345”がそれぞれ代入される。
同様に、攻撃成果504中の述語508は、本攻撃手段が実行されることにより、述語508が成立することを示している。
また、攻撃スクリプト定義505は、攻撃手段データ131に含まれる変数を格納するプレースホルダを記述可能である。具体的には、攻撃スクリプト定義505は、%{変数名}の形式でプレースホルダ509,510を定義することができる。この部分は、攻撃スクリプト出力時に、同攻撃手段中の変数と関連付けられていた値に置換される。
図6は、本実施の形態に係る演習環境データ141の構成を示す図である。
本実施の形態では、演習環境データ141はXML形式のファイルとして演習環境記憶部140に保存される。しかし、本形式に限定されるものではなく、その他の形式で記述されていてもよい。
演習環境データ141は、演習環境の構成を表す0個以上の述語602で構成される。具体的には、述語602は、一階述語論理における記法を用いればSERVER(“FILE”,“10.74.3.19”)という述語を表している。この述語は、ファイルサーバのIPアドレスは10.74.3.19であることを示している。
図7は、本実施の形態に係る攻撃スクリプト35の形式を示す図である。
図7の攻撃スクリプト35は、Metasploitといった攻撃ツールを操作する攻撃スクリプト35である。攻撃スクリプト35は、生成された攻撃シナリオ32に含まれる各攻撃手段の攻撃スクリプト定義505について、プレースホルダを対応する変数の値に置換し、その後、時系列に沿って連結したものである。攻撃スクリプト33の形式は使用する攻撃ツールによって自由に変更可能である。
***動作の説明***
次に動作について説明する。
図8は、本実施の形態に係る攻撃シナリオ生成部20の動作を示すフローチャートである。なお、以降のフローチャートで使用する変数は、特別な記載がない限り、当該フローチャート内でのみ有効なローカル変数であるものとする。つまり、異なるフローチャート間で同じ変数名を使用したとしても、それらは独立であるものとする。
攻撃シナリオ生成部20は、シナリオ編集画面200を通じ、作業者30からシナリオ生成指示31がシナリオ生成装置100に入力されると起動する。
攻撃シナリオ生成部20は、時系列が前の攻撃手段から、攻撃手段の前提条件にマッチする攻撃成果を有する攻撃手段を含むサブシナリオを生成する。その後、攻撃シナリオ生成部20は、生成したサブシナリオにおける攻撃成果を前提条件として、時系列が次の攻撃手段についてサブシナリオを生成する。攻撃シナリオ生成部20は、このように生成した複数のサブシナリオを結合することにより、攻撃シナリオ32を生成する。
<攻撃シナリオ生成処理>
ステップS801において、攻撃生成部120は、演習環境記憶部140に記憶されている演習環境データ141に格納されている述語の集合をロードし、変数KBへ格納する。
ステップS802において、攻撃生成部120は、攻撃手段記憶部130に記憶されている攻撃手段データ131の集合を変数SDBへ格納する。
ステップS803において、攻撃生成部120は、シナリオ編集画面200に配置された攻撃手段データ131を、時系列的に前のものから順に配列SP[1],SP[2],…,SP[N]に代入する。SP[1]からSP[N]に代入された攻撃手段データ131の一部または全部は、パラメータ編集画面401を通じ作業者30によってパラメータ値が指定されている。
ステップS804において、攻撃生成部120は、配列SP、SDB、およびKBを引数としてシナリオ候補生成処理を呼び出す。シナリオ候補生成処理については後述する。シナリオ候補生成処理は攻撃シナリオの候補を返す。攻撃生成部120は、攻撃シナリオの候補を変数SCに代入する。
ステップS805において、攻撃生成部120は、シナリオ候補の生成が成功したかどうかを判定する。シナリオ候補の生成が失敗すると、すなわち条件を満たす攻撃シナリオが生成できなかった場合、シナリオ候補生成処理は空データを返す。空データが返された場合、処理はステップS809へ分岐する。シナリオ候補の生成が成功すると、すなわち条件を満たす攻撃シナリオが生成できた場合、SCは空ではない。SCが空ではない場合、処理はステップS806へと進む。
ステップS806において、攻撃生成部120は、配列SP、SCを引数としてシナリオ貢献チェック処理を呼び出す。シナリオ貢献チェック処理は、作業者30により指定された攻撃手段、すなわちSPに格納されている攻撃手段が、SCに格納されたシナリオ候補により有効に活用されているかを確認する。有効に活用されている場合、シナリオ貢献チェック処理は真、すなわちTrueを返す。有効に活用されていない場合、シナリオ貢献チェック処理は偽、すなわちFalseを返す。結果は変数isUsedに格納される。
ステップS807において、isUsedがTrueでなければ、SPを含んだ他のシナリオ候補を探索するためステップS804に戻る。isUsedがTrueであれば、ステップS808へと進む。
ステップS808においては、攻撃生成部120は、シナリオ候補SCを構成する各攻撃手段の各変数のうち、値が不確定のものに対し、同攻撃手段であらかじめ定義されたデフォルト値を代入する。シナリオ候補SCの各攻撃手段の変数は、他の攻撃手段の変数と同値になるよう制約付けられる場合があるため、ある攻撃手段の変数をデフォルト値にセットすると、他の攻撃手段の不確定変数の値も自動的にその値で確定する場合がある。その場合、その変数についてのデフォルト値設定は行われない。攻撃生成部120は、デフォルト値をセットしたシナリオ候補SCを、攻撃シナリオ32とする。
最後に、ステップS809において、攻撃生成部120は、生成された攻撃シナリオ32を編集画面表示部110に出力する。そして、編集画面表示部110は、生成された攻撃シナリオ32をシナリオ編集画面200に表示して処理を終了する。
編集画面表示部110は、攻撃シナリオ生成部20により攻撃シナリオ32が生成されると、シナリオ編集画面200に配置された攻撃手段と、他の攻撃手段とが時系列に配置された攻撃シナリオ32をシナリオ編集画面200に表示する。すなわち、図2の後段に示すように、編集画面表示部110は、作業者30により最初に配置された攻撃手段X,Yと、抽出された他の攻撃手段α,βとを、攻撃シナリオ32に合わせて時系列に配置する。編集画面表示部110は、シナリオ編集画面200に配置された攻撃手段X,Yと、攻撃シナリオ生成部20により補完された他の攻撃手段α,βとを視覚的に区別して表示する。
また、攻撃シナリオ生成部20は、攻撃シナリオ32において時系列に配置された攻撃手段データ131の攻撃スクリプト定義505により生成される攻撃スクリプト35を結合する。攻撃スクリプト35を結合することにより、攻撃シナリオ生成部20は、攻撃シナリオ32を攻撃ツール上で実行するためのスクリプト33を生成する。
また、ステップ805においてSCが空データの場合は、ステップS809において、編集画面表示部110は、攻撃シナリオの生成に失敗した旨をシナリオ編集画面200に表示して処理を終了する。
<シナリオ候補生成処理>
図9は、本実施の形態に係るシナリオ候補生成処理、すなわち図8のステップS804を示すフローチャートである。
ステップS901では、シナリオ候補生成処理が呼び出された時のパラメータをそれぞれ配列SP、SDB、KBに代入している。SPは、攻撃シナリオに含まなければならない攻撃手段の配列(1,・・・,N)である。SDBは、利用可能な攻撃手段の集合である。KBは、達成済み効果の集合である。
ステップS902において、シナリオ候補生成部121は、シナリオ候補を格納する変数SCを空データに初期化する。
ステップS903において、シナリオ候補生成部121は、変数KB’にKBの内容をコピーして初期化する。
ステップS904において、シナリオ候補生成部121は、配列SPの要素数が1か否かを判定する。配列SPの要素数が1だった場合、ステップS908に進む。配列SPの要素数が1以外の場合、ステップS905に進む。
ステップS905において、シナリオ候補生成部121は、シナリオ候補生成処理を再帰呼出しする。シナリオ候補生成部121は、末尾の攻撃手段を除いたSP[1]からSP[N−1]を含んだシナリオ候補を生成し、結果を変数SC’に格納する。
ステップS906において、シナリオ候補生成部121は、SC’が空かどうかを判定する。シナリオ候補生成部121は、SC’が空か否かにより、ステップS905のシナリオ候補生成が成功したかどうかを確認する。SC’が空だった場合シナリオ候補の生成は失敗となるため、ステップS911において、SC(空データ)を返して終了となる。SC’が空でない場合はステップS907へ進む。
ステップS907では、シナリオ候補生成部121は、SC’内の各攻撃活動の攻撃手段に含まれる攻撃成果を、KB’に追加する。
ステップS908では、シナリオ候補生成部121は、サブシナリオ生成処理を呼び出し、SP[N]の実行をゴールとするサブシナリオの生成を行う。サブシナリオ生成処理は、KB’で与えられた前提条件の下、与えられた攻撃手段を実行することをゴールとする攻撃シナリオを生成する処理である。具体的な処理は後述する。これにより、SC’を実行した後に、さらにSP[N]を実行するために追加で必要となるサブシナリオを求めることができる。生成されたサブシナリオは変数SC’’に格納される。サブシナリオの生成に失敗した場合、変数SC’’は空データとなる。
ステップS909では、シナリオ候補生成部121は、サブシナリオ生成に成功したかどうかを判定している。失敗した場合ステップS911に分岐し、呼び出し元へ空データを返して処理は終了する。成功した場合はステップS910へ進む。
ステップS910では、シナリオ候補生成部121は、SC’にSC’’を連結した結果をSCに代入する。このとき、SCはSP[1]からSP[N]を全て含んだシナリオとなっている。
ステップS911において、シナリオ候補生成部121は、SCを処理結果として、呼び出し元へ返し、処理は終了する。
<サブシナリオ生成処理>
図10および図11は、本実施の形態に係るサブシナリオ生成処理、すなわち図9のステップS908を示すフローチャートである。
ステップS1001では、サブシナリオ生成処理が呼び出された時のパラメータをそれぞれ、SP、SDB、KBに代入している。SPは、最終的に実行する攻撃手段である。SDBは、利用可能な攻撃手段の集合である。KBは、達成済み効果の集合である。
ステップS1002では、サブシナリオ生成部123は、生成されたサブシナリオを格納する変数SCを空データに初期化する。
ステップS1003では、サブシナリオ生成部123は、変数KB’にKBの内容をコピーして初期化する。
ステップS1004では、サブシナリオ生成部123は、攻撃手段SPの前提条件の集合を配列predに格納している。同時に、配列の要素数を変数Mに格納する。
ステップS1005からステップS1015まではループとなっており、ループのカウンタ変数iは1からMの範囲でインクリメントされる。
ステップS1006では、サブシナリオ生成部123は、KB’内でpred[i]にマッチする述語を探索し、マッチした述語を変数Kに格納する。ステップS1007において、pred[i]にマッチする述語が見つかれば、ステップS1019に分岐する。pred[i]にマッチする述語が見つからなければ、ステップS1008へ進む。
ステップS1019では、述語Kとpred[i]とが関連付けされる。関連付けとは、述語同士が互いを参照していることを記憶するとともに、片方の述語中の変数がもう片方の述語中の同一位置にある変数または定数と同じ実体を参照するようにする処理である。
ステップS1008では、サブシナリオ生成部123は、攻撃手段の集合SDB内でpred[i]にマッチする攻撃成果を持つ攻撃手段を探索し、結果を変数SP’に格納する。
ステップS1009において、ステップS1008でマッチする攻撃手段が見つからなかった場合、サブシナリオの生成に失敗したことになるため、ステップS1016へと分岐する。ステップS1016では、サブシナリオ生成部123は、サブシナリオの生成に失敗したことを示すために戻り値SCに空データを代入し、ステップS1018でSCを呼び出し元へ返し、処理を終了する。ステップS1009において、ステップS1008でマッチする攻撃手段が見つかった場合、すなわち攻撃手段の探索に成功すると、ステップS1010へと進む。
ステップS1010では、サブシナリオ生成部123は、SP’の攻撃成果の述語とpred[i]を関連付ける。
ステップS1011では、サブシナリオ生成部123は、ステップS1008で見つかった攻撃手段SP’をゴールとするサブシナリオを求め、結果をSC’に格納する。サブシナリオ生成部123は、サブシナリオ生成処理を再帰的に呼び出すことにより、ステップS1008で見つかった攻撃手段SP’をゴールとするサブシナリオを求める。
ステップS1011でサブシナリオの生成に失敗した場合、ステップS1012でステップS1016へと分岐し、戻り値SCに空データを代入し、ステップS1018でSCを呼び出し元へ返し、処理を終了する。ステップS1011でサブシナリオの生成に成功した場合、ステップS1013へと進む。
ステップS1013では、サブシナリオ生成部123は、サブシナリオSC’に含まれる各攻撃手段の攻撃成果中の述語をKB’に追加する。
ステップS1014では、サブシナリオ生成部123は、生成されたサブシナリオSC’を、それまでに生成されたサブシナリオSCの後ろに連結する。
ステップS1015はループの末端であり、ステップS1005に戻って次のループが開始される。ループが終了した時、SCには、SPの前提条件pred[]の全てを満足させるためのサブシナリオが格納されている。
ステップS1017では、サブシナリオ生成部123は、SCの末尾にSPを追加する。この処理でSCは、SPをゴールとしたサブシナリオとなる。
ステップS1018では、サブシナリオ生成部123は、SCを戻り値として、結果を呼び出し元に返し、処理は終了する。
最後に、図8のステップS806で示すシナリオ貢献チェック処理について説明する。
シナリオ貢献チェック処理において、シナリオ貢献チェック部122は、シナリオ編集画面200に配置された攻撃手段の攻撃成果が、攻撃シナリオ32に含まれるいずれかの攻撃手段の前提条件として活用されていることを確認する。具体的には、シナリオ貢献チェック部122は、SC中に含まれるSP[]の各攻撃手段のうち、末端を除き、攻撃成果定義の述語のうち少なくとも一つが他の攻撃手段中の前提条件に含まれる述語と関連付けされていることを確認する。末端とは、すなわち図8で示すSP[N]である。このシナリオ貢献チェック処理を行わないと、作業者30が配置した攻撃手段の一部が、攻撃の成功に貢献していないようなシナリオが補完結果として提示されてしまう可能性がある。攻撃の成功に貢献していない攻撃手段は、シナリオにおいて無くてもよい無駄な攻撃活動となってしまう。このため、そのような攻撃活動を含んだシナリオは、合理的な攻撃者ならば決して実施することはない。シナリオ貢献チェック処理は、このようなシナリオが作業者30に提示されることを避けるための処理となる。
***他の構成***
<変形例1>
本実施の形態では、編集画面表示部110と攻撃シナリオ生成部20の機能がソフトウェアで実現される。変形例として、編集画面表示部110と攻撃シナリオ生成部20の機能がハードウェアで実現されてもよい。
具体的には、シナリオ生成装置100は、プロセッサ910に替えて電子回路を備える。
電子回路は、編集画面表示部110と攻撃シナリオ生成部20の機能を実現する専用の電子回路である。
電子回路は、具体的には、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA、ASIC、または、FPGAである。GAは、Gate Arrayの略語である。ASICは、Application Specific Integrated Circuitの略語である。FPGAは、Field−Programmable Gate Arrayの略語である。
編集画面表示部110と攻撃シナリオ生成部20の機能は、1つの電子回路で実現されてもよいし、複数の電子回路に分散して実現されてもよい。
別の変形例として、編集画面表示部110と攻撃シナリオ生成部20の一部の機能が電子回路で実現され、残りの機能がソフトウェアで実現されてもよい。また、編集画面表示部110と攻撃シナリオ生成部20の一部またはすべての機能がファームウェアで実現されてもよい。
プロセッサと電子回路の各々は、プロセッシングサーキットリとも呼ばれる。つまり、シナリオ生成装置100において、編集画面表示部110と攻撃シナリオ生成部20の機能は、プロセッシングサーキットリにより実現される。
***本実施の形態の効果の説明***
本実施の形態に係るシナリオ生成装置100では、作業者が画面上に配置した攻撃手段のうち、時系列的に早いものから順番にサブシナリオを作成し、サブシナリオ中の攻撃成果を演習環境データに加味した上で次のサブシナリオを作成していく。そして、本実施の形態に係るシナリオ生成装置100では、それらを結合することで、指定した攻撃手段を全て含んだ攻撃シナリオが作成できるという効果がある。
本実施の形態に係るシナリオ生成装置100では、教官といった作業者が攻撃シナリオに含めたい攻撃手段を配置するだけで、それらの攻撃手段をすべて含み、かつ、意味のある攻撃活動となっている攻撃シナリオを自動生成できる。よって、本実施の形態に係るシナリオ生成装置100によれば、教官のサイバー攻撃に関する知識に関わらず、攻撃シナリオを生成できるとともに、攻撃シナリオを手作業で作成するための時間をなくすことができる。
また、本実施の形態に係るシナリオ生成装置100では、生成した攻撃シナリオにおいて、作業者が配置した攻撃手段の攻撃成果が他の攻撃手段の前提条件として貢献しているかをチェックする。よって、本実施の形態に係るシナリオ生成装置100によれば、合理的ではない攻撃シナリオを除外できるという効果がある。
また、本実施の形態に係るシナリオ生成装置100では、各攻撃手段に対し、設定可能なパラメータとそのデフォルト値を定義する。よって、本実施の形態に係るシナリオ生成装置100によれば、作業者は必要に応じて画面上に配置した攻撃手段の挙動を細かく制御できるとともに、興味のないパラメータについては設定を省略できるという効果がある。
また、本実施の形態に係るシナリオ生成装置100では、各攻撃手段に対し、同攻撃手段を攻撃実行ツールで実行するための攻撃スクリプトを攻撃活動定義として定義しておく。そして、本実施の形態に係るシナリオ生成装置100では、生成された攻撃シナリオ中の各攻撃手段から、時系列的に早い順に攻撃活動定義を連結することで、攻撃スクリプトを自動で生成できるという効果がある。
さらに、本実施の形態に係るシナリオ生成装置100では、攻撃活動定義の中に、前提条件定義および攻撃成果定義のパラメータで置換されるプレースホルダを用意する。よって、本実施の形態に係るシナリオ生成装置100によれば、ホスト名といった生成された攻撃シナリオ中の変数値を攻撃スクリプトに自動的に反映することができるという効果がある。
さらに、本実施の形態に係るシナリオ生成装置100では、攻撃手段に攻撃手段名称を定義する事で、シナリオ編集画面上の一覧部、すなわち攻撃手段一覧表示ペインにて、攻撃手段記憶部の攻撃手段の一覧が表示できる。よって、本実施の形態に係るシナリオ生成装置100によれば、作業者が利用可能な攻撃手段の一覧を視覚的に把握できるという効果がある。
さらに、本実施の形態に係るシナリオ生成装置100では、教官である作業者が演習のポイントとなる攻撃手段を一覧部から選択し、配置部に配置した後、攻撃シナリオを生成すると、生成された攻撃シナリオが画面上に表示される。このとき、本実施の形態に係るシナリオ生成装置100では、補完された攻撃手段が、配置された攻撃手段と視覚的に区別できるよう描画される。よって、本実施の形態に係るシナリオ生成装置100によれば、作業者は、生成されたシナリオが所望のものかどうかを容易に判別できるという効果がある。
以上の実施の形態1では、シナリオ生成装置の各部を独立した機能ブロックとして説明した。しかし、シナリオ生成装置の構成は、上述した実施の形態のような構成でなくてもよい。シナリオ生成装置の機能ブロックは、上述した実施の形態で説明した機能を実現することができれば、どのような構成でもよい。また、シナリオ生成装置は、1つの装置でなく、複数の装置から構成されたシステムでもよい。
また、実施の形態1のうち、複数の部分を組み合わせて実施しても構わない。あるいは、この実施の形態のうち、1つの部分を実施しても構わない。その他、この実施の形態を、全体としてあるいは部分的に、どのように組み合わせて実施しても構わない。
すなわち、実施の形態1では、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
なお、上述した実施の形態は、本質的に好ましい例示であって、本発明の範囲、本発明の適用物の範囲、および本発明の用途の範囲を制限することを意図するものではない。上述した実施の形態は、必要に応じて種々の変更が可能である。
20 攻撃シナリオ生成部、30 作業者、31 シナリオ生成指示、32 攻撃シナリオ、33 スクリプト、35 攻撃スクリプト、100 シナリオ生成装置、110 編集画面表示部、120 攻撃生成部、121 シナリオ候補生成部、122 シナリオ貢献チェック部、123 サブシナリオ生成部、130 攻撃手段記憶部、131 攻撃手段データ、140 演習環境記憶部、141 演習環境データ、200 シナリオ編集画面、202 配置部、203 一覧部、204 名称、208 黒丸、401 パラメータ編集画面、402 パラメータ名、403 パラメータ値入力ボックス、404 OKボタン、405 キャンセルボタン、501 攻撃手段名、502 前提条件、503 パラメータ定義部、504 攻撃成果、505 攻撃スクリプト定義、512 パラメータ名、513 デフォルト値、514 name属性、509,510 プレースホルダ、506,507,508,602 述語、910 プロセッサ、921 メモリ、922 補助記憶装置、930 入出力インタフェース、950 通信装置。

Claims (10)

  1. サイバー攻撃の演習に用いられる攻撃シナリオを生成するシナリオ生成装置において、
    サイバー攻撃の攻撃活動を部品化した攻撃手段を表す攻撃手段データであって前記攻撃手段の前提条件と攻撃成果とを含む攻撃手段データを記憶する攻撃手段記憶部と、
    前記攻撃シナリオに含める攻撃手段をシナリオ編集画面に配置する編集画面表示部と、
    前記攻撃手段記憶部に記憶された攻撃手段データを用いて、前記シナリオ編集画面に配置された攻撃手段の前提条件が攻撃成果となる他の攻撃手段を前記攻撃手段記憶部から抽出し、前記シナリオ編集画面に配置された攻撃手段に前記他の攻撃手段を補完した前記攻撃シナリオを生成する攻撃シナリオ生成部と
    を備えたシナリオ生成装置。
  2. 前記編集画面表示部は、
    前記攻撃シナリオ生成部により前記攻撃シナリオが生成されると、前記シナリオ編集画面に配置された攻撃手段と前記他の攻撃手段とが時系列に配置された前記攻撃シナリオを前記シナリオ編集画面に表示する請求項1に記載のシナリオ生成装置。
  3. 前記編集画面表示部は、
    前記攻撃シナリオに含める複数の攻撃手段を時系列に前記シナリオ編集画面に配置し、
    前記攻撃シナリオ生成部は、
    時系列が前の攻撃手段から、前記攻撃手段の前提条件にマッチする攻撃成果を有する攻撃手段を含むサブシナリオを生成し、前記サブシナリオにおける攻撃成果を前提条件として、時系列が次の攻撃手段についてサブシナリオを生成し、生成した複数のサブシナリオを結合することにより、前記攻撃シナリオを生成する請求項1または2に記載のシナリオ生成装置。
  4. 前記攻撃手段データは、攻撃ツールで実行する攻撃スクリプトを定義する攻撃スクリプト定義を含み、
    前記攻撃シナリオ生成部は、
    前記攻撃シナリオにおいて時系列に配置された攻撃手段データの攻撃スクリプト定義により生成される攻撃スクリプトを結合することにより、前記攻撃シナリオを前記攻撃ツール上で実行するためのスクリプトを生成する請求項1から請求項3のいずれか1項に記載のシナリオ生成装置。
  5. 前記攻撃スクリプト定義は、前記攻撃手段データに含まれる変数を格納するプレースホルダを記述可能である請求項4に記載のシナリオ生成装置。
  6. 前記攻撃手段データは、前記攻撃手段により用いられるパラメータと前記パラメータのデフォルト値とを含むパラメータ定義部を備え、
    前記編集画面表示部は、
    前記シナリオ編集画面に配置された攻撃手段のパラメータに対してパラメータ値を指定するパラメータ編集画面を表示し、
    前記攻撃シナリオ生成部は、
    前記パラメータ編集画面から指定されたパラメータ値をパラメータに設定するとともに、前記パラメータ編集画面からの指定が無いパラメータにはデフォルト値を設定する請求項1から請求項5のいずれか1項に記載のシナリオ生成装置。
  7. 前記編集画面表示部は、
    前記シナリオ編集画面に配置された攻撃手段と、前記攻撃シナリオ生成部により補完された前記他の攻撃手段とを視覚的に区別して表示する請求項1から請求項6のいずれか1項に記載のシナリオ生成装置。
  8. 前記攻撃シナリオ生成部は、
    前記シナリオ編集画面に配置された攻撃手段の攻撃成果が、前記攻撃シナリオに含まれるいずれかの攻撃手段の前提条件として活用されていることを確認する請求項1から請求項7のいずれか1項に記載のシナリオ生成装置。
  9. サイバー攻撃の演習に用いられる攻撃シナリオを生成するシナリオ生成装置のシナリオ生成方法において、
    攻撃手段記憶部が、サイバー攻撃の攻撃活動を部品化した攻撃手段を表す攻撃手段データであって前記攻撃手段の前提条件と攻撃成果とを含む攻撃手段データを記憶し、
    編集画面表示部が、前記攻撃シナリオに含める攻撃手段をシナリオ編集画面に配置し、
    攻撃シナリオ生成部が、前記攻撃手段記憶部に記憶された攻撃手段データを用いて、前記シナリオ編集画面に配置された攻撃手段の前提条件が攻撃成果となる他の攻撃手段を前記攻撃手段記憶部から抽出し、前記シナリオ編集画面に配置された攻撃手段に前記他の攻撃手段を補完した前記攻撃シナリオを生成するシナリオ生成方法。
  10. サイバー攻撃の演習に用いられる攻撃シナリオを生成するシナリオ生成装置のシナリオ生成プログラムにおいて、
    前記シナリオ生成装置は、
    サイバー攻撃の攻撃活動を部品化した攻撃手段を表す攻撃手段データであって前記攻撃手段の前提条件と攻撃成果とを含む攻撃手段データを記憶する攻撃手段記憶部を備え、
    前記攻撃シナリオに含める攻撃手段をシナリオ編集画面に配置する編集画面表示処理と、
    前記攻撃手段記憶部に記憶された攻撃手段データを用いて、前記シナリオ編集画面に配置された攻撃手段の前提条件が攻撃成果となる他の攻撃手段を前記攻撃手段記憶部から抽出し、前記シナリオ編集画面に配置された攻撃手段に前記他の攻撃手段を補完した前記攻撃シナリオを生成する攻撃シナリオ生成処理と
    をコンピュータである前記シナリオ生成装置に実行させるシナリオ生成プログラム。
JP2020557091A 2018-11-21 2018-11-21 シナリオ生成装置、シナリオ生成方法およびシナリオ生成プログラム Active JP6906715B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/043080 WO2020105156A1 (ja) 2018-11-21 2018-11-21 シナリオ生成装置、シナリオ生成方法およびシナリオ生成プログラム

Publications (2)

Publication Number Publication Date
JPWO2020105156A1 true JPWO2020105156A1 (ja) 2021-04-01
JP6906715B2 JP6906715B2 (ja) 2021-07-21

Family

ID=70774684

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020557091A Active JP6906715B2 (ja) 2018-11-21 2018-11-21 シナリオ生成装置、シナリオ生成方法およびシナリオ生成プログラム

Country Status (3)

Country Link
US (1) US11956271B2 (ja)
JP (1) JP6906715B2 (ja)
WO (1) WO2020105156A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7438919B2 (ja) * 2020-11-18 2024-02-27 株式会社東芝 情報処理装置、情報処理方法およびプログラム
WO2023166614A1 (ja) * 2022-03-02 2023-09-07 日本電気株式会社 情報処理装置、情報処理方法、及びコンピュータ読み取り可能な記録媒体

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001353678A (ja) * 2000-06-12 2001-12-25 Sony Corp オーサリング・システム及びオーサリング方法、並びに記憶媒体
JP2004145413A (ja) * 2002-10-22 2004-05-20 Mitsubishi Electric Corp セキュリティホール診断システム
JP2008167099A (ja) * 2006-12-28 2008-07-17 Mitsubishi Electric Corp セキュリティ管理装置及びセキュリティ管理方法及びプログラム
JP2013029986A (ja) * 2011-07-28 2013-02-07 Hitachi Systems Ltd サービス提供環境における作業遂行のための運用自動化支援システム、運用自動化支援装置、運用自動化支援方法及び運用自動化支援システムにおけるサービスシナリオの遂行統制方式、遂行統制装置並びにサービスシナリオの遂行統制方法
JP6000495B2 (ja) * 2014-02-26 2016-09-28 三菱電機株式会社 攻撃検知装置、攻撃検知方法、及び攻撃検知プログラム
JP2017198836A (ja) * 2016-04-27 2017-11-02 三菱電機株式会社 原子力発電プラントのサイバーテロセキュリティシミュレータ
US20180150638A1 (en) * 2016-11-25 2018-05-31 Sap Se Detection of security incidents through simulations

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60495B2 (ja) * 1979-11-29 1985-01-08 新技術開発株式会社 地中硬化物体の造成方法
US20140046645A1 (en) * 2009-05-04 2014-02-13 Camber Defense Security And Systems Solutions, Inc. Systems and methods for network monitoring and analysis of a simulated network
JP5418135B2 (ja) 2009-10-16 2014-02-19 富士通株式会社 テストプログラム実行プログラム、テストプログラム実行方法、およびテストプログラム実行装置
US8918884B2 (en) * 2011-01-11 2014-12-23 The United States Of America, As Represented By The Secretary Of Commerce K-zero day safety
US10320828B1 (en) * 2015-09-30 2019-06-11 EMC IP Holding Company LLC Evaluation of security in a cyber simulator
JP6361837B2 (ja) 2016-01-20 2018-07-25 三菱電機株式会社 訓練装置、訓練方法、及び訓練プログラム
WO2017147472A1 (en) * 2016-02-24 2017-08-31 Verodin, Inc. Systems and methods for attack simulation on a production network
US10862919B2 (en) * 2017-04-21 2020-12-08 The Mitre Corporation Methods and systems for evaluating effects of cyber-attacks on cyber-physical systems

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001353678A (ja) * 2000-06-12 2001-12-25 Sony Corp オーサリング・システム及びオーサリング方法、並びに記憶媒体
JP2004145413A (ja) * 2002-10-22 2004-05-20 Mitsubishi Electric Corp セキュリティホール診断システム
JP2008167099A (ja) * 2006-12-28 2008-07-17 Mitsubishi Electric Corp セキュリティ管理装置及びセキュリティ管理方法及びプログラム
JP2013029986A (ja) * 2011-07-28 2013-02-07 Hitachi Systems Ltd サービス提供環境における作業遂行のための運用自動化支援システム、運用自動化支援装置、運用自動化支援方法及び運用自動化支援システムにおけるサービスシナリオの遂行統制方式、遂行統制装置並びにサービスシナリオの遂行統制方法
JP6000495B2 (ja) * 2014-02-26 2016-09-28 三菱電機株式会社 攻撃検知装置、攻撃検知方法、及び攻撃検知プログラム
JP2017198836A (ja) * 2016-04-27 2017-11-02 三菱電機株式会社 原子力発電プラントのサイバーテロセキュリティシミュレータ
US20180150638A1 (en) * 2016-11-25 2018-05-31 Sap Se Detection of security incidents through simulations

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
津田 侑 他: "標的型攻撃再現のための攻撃シナリオ定義インタフェースの実装 Implementation of an Interface to Define", CSS2014 コンピュータセキュリティシンポジウム2014 論文集 合同開催 マルウェア対策研究人, vol. 第2014巻第2号, JPN6019005859, 15 October 2014 (2014-10-15), JP, pages 450 - 457, ISSN: 0004470377 *
浅井健志 他: "サイバー攻撃訓練システムにおける訓練シナリオ生成方法の提案 Scenario Generation Method for Cyber Sec", 情報処理学会 研究報告 コンピュータセキュリティ(CSEC) 2016−CSEC−072[ONLINE], JPN6019005855, 25 February 2016 (2016-02-25), pages 1 - 7, ISSN: 0004470375 *
立岩佑一郎 他: "仮想マシンネットワークによる継続的なクラッキング防衛演習システム A System for Defense against Crack", 電子情報通信学会論文誌 (J96−D) 第7号, vol. 第J96-D巻第7号, JPN6019005857, 1 July 2013 (2013-07-01), JP, pages 1585 - 1594, ISSN: 0004470376 *
藤井誠司 他: "不正アクセス対策技術", 三菱電機技報, vol. 第76巻第4号, JPN6019005860, 25 April 2002 (2002-04-25), JP, pages 55 - 58, ISSN: 0004470378 *

Also Published As

Publication number Publication date
US20210218769A1 (en) 2021-07-15
WO2020105156A1 (ja) 2020-05-28
JP6906715B2 (ja) 2021-07-21
US11956271B2 (en) 2024-04-09

Similar Documents

Publication Publication Date Title
JP2009123118A (ja) 情報処理装置、表示制御方法ならびにプログラム
JP2006350686A (ja) 命令セット・シミュレータ生成装置及びシミュレータ生成方法
US20170300305A1 (en) Executable guidance experiences based on implicitly generated guidance models
JP6906715B2 (ja) シナリオ生成装置、シナリオ生成方法およびシナリオ生成プログラム
CN110457869B (zh) 程序编译加密方法、装置、存储介质及电子设备
CN109491919B (zh) 一种软件测试方法及测试平台
JP2008293382A (ja) テスト仕様自動生成方式
JP5414633B2 (ja) アプリケーション実行装置及びアプリケーション実行方法
US7689905B1 (en) Containment of terminal application run-time data for viewing when disconnected from a host server
JP2023070408A (ja) 生成装置、生成方法及びプログラム
JP2013145443A (ja) テストコード生成装置、テストコード生成方法、テストコード生成プログラム
JP5900212B2 (ja) テストデータ生成装置、該プログラム、及び該方法
JP6802109B2 (ja) ソフトウェア仕様分析装置、及びソフトウェア仕様分析方法
KR100846203B1 (ko) 모바일 어플리케이션의 생성 방법 및 이를 구현하기 위한프로그램을 기록한 기록매체
JP2021103354A (ja) プログラムの試験方法
WO2013179486A1 (ja) プログラム変換方法、プログラム変換システム及びプログラム
JP6818568B2 (ja) 通信装置、通信仕様差分抽出方法及び通信仕様差分抽出プログラム
JP7138747B1 (ja) 移行支援装置、移行支援方法及び移行支援プログラム
JP7073431B2 (ja) ソースコード解析システムおよびソースコード解析方法
WO2022074757A1 (ja) 制御方法、制御プログラム、および情報処理装置
JP2014099108A (ja) 実行時間算出装置、実行時間算出方法、およびプログラム
CN111984944B (zh) 一种源代码处理方法、相关装置及存储介质
JP6937589B2 (ja) ライセンス管理装置、ライセンス管理方法、及びプログラム
Bertram Building Better PowerShell Code
JP6556091B2 (ja) システム仕様検証支援装置及びシステム仕様検証支援方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201221

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20201221

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20210318

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210323

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210427

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: 20210601

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210629

R150 Certificate of patent or registration of utility model

Ref document number: 6906715

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150