(57)【要約】  ミッションベースのサイバートレーニングプラットフォームは、攻撃指向の参加者および防御指向の参加者双方が、生きているまたは仮想の対戦相手に対するゲームベースの仮想環境での自分のスキルをテストすることを可能にする。システムは、分離され制御された設定でトレーニングを行なうためのリアルな仮想環境を構築する。動的構成が、実および／または仮想マシン、ソフトウェアリソース、ツール、およびネットワークコンポーネントの組合せを使用して、独特のミッションをサポートする。ゲームエンジンは、エンジンにとって利用可能な代替オプションに基づくシナリオを参加者が再生しようとした場合に変化する態様で挙動する。トレーニングする参加者ごとに、スキルの不足／強みを識別し、成績を測るために、採点およびリーダーボードが使用される。ミッションの最後に、プレーヤーの成績の詳細な査定が提供され、ユーザプロファイル／トレーニング記録に格納される。
2018535802.tif 000002
【特許請求の範囲】
【請求項１】
ミッションベースのゲームスタイルのトレーニングを１人以上の生徒に提供するためのシステムであって、
少なくとも１つのプロセッサ、少なくとも１つのビデオディスプレイ、および少なくとも１つのプレーヤー入力デバイスを含む、少なくとも１つのプレーヤーステーションと、
少なくとも１つのプロセッサおよびメモリを含む、少なくとも１つのシステムサーバとを含み、前記少なくとも１つのシステムサーバは前記少なくとも１つのプレーヤーステーションと１回以上通信しており、前記システムはさらに、
前記メモリに格納され、ゲームサーバを実現するように前記少なくとも１つのシステムサーバの前記プロセッサによって実行可能である、非一時的なマシン読取可能コードを含み、前記ゲームサーバは、前記少なくとも１つのプレーヤーステーションから、選択されたトレーニングミッションの入力を受信するように構成され、前記システムはさらに、
前記少なくとも１つのシステムサーバに関連付けて格納されたミッションソースの少なくとも１つのデータベースと、
前記メモリに格納され、仮想イベントマネージャを実現するように前記少なくとも１つのシステムサーバの前記プロセッサによって実行可能である、非一時的なマシン読取可能コードとを含み、前記仮想イベントマネージャは、前記ゲームサーバによって示される選択されたトレーニングミッションに応答して、前記選択されたトレーニングミッションをゲームとして実現する際に前記ゲームサーバによって使用される仮想ネットワーク、仮想システム、仮想デバイス、および仮想ツールを含む１つ以上の仮想エレメントを含む仮想ミッション環境を生成するように構成され、
前記ゲームサーバは、前記少なくとも１つのプレーヤーステーションが、前記仮想ミッション環境に関する情報をプレーヤーへ表示するようにするよう構成され、前記システムはさらに、
前記メモリに格納され、ＡＩエンジンを実現するように前記少なくとも１つのシステムサーバの前記プロセッサによって実行可能である、非一時的なマシン読取可能コードを含み、前記ＡＩエンジンは、前記プレーヤーに対するＡＩ対戦相手を実現するように構成され、前記ＡＩエンジンは、前記プレーヤーによるアクションに関する情報を受信するために、および、前記プレーヤーステーションによって前記プレーヤーへ表示される対戦相手アクションを生成するために、前記ゲームサーバと通信し、
前記ゲームサーバは、前記トレーニングミッション中のプレーヤーアクションに基づいてゲームスコアを生成するように構成される、システム。
【請求項２】
前記ＡＩ対戦相手は、攻撃的なプレーヤーの役を務める前記プレーヤーに対する防御的な対戦相手を含む、請求項１に記載のシステム。
【請求項３】
前記ＡＩ対戦相手は、防御的なプレーヤーの役を務める前記プレーヤーに対する攻撃的な対戦相手を含む、請求項１に記載のシステム。
【請求項４】
前記仮想イベントマネージャは、ミッションオーケストレーションマネージャと、少なくとも１つのミッションオーケストレーションエージェントとを実現し、前記少なくとも１つのミッションオーケストレーションエージェントは前記仮想ミッション環境で実行される、請求項１に記載のシステム。
【請求項５】
前記仮想ミッション環境は、実ネットワーク環境をシミュレートする仮想ネットワーク環境を含む、請求項１に記載のシステム。
【請求項６】
前記仮想ミッション環境は、１つ以上の仮想ネットワーク、仮想システム、仮想通信デバイス、仮想コンピューティングデバイス、仮想ファイアウォール、仮想ツール、および仮想ソフトウェアリソースを含む、請求項１に記載のシステム。
【請求項７】
前記プレーヤーのアクションに関するリアルタイム情報をトレーナーに提供するための少なくとも１つの熟練オブザーバーインターフェイスをさらに含む、請求項１に記載のシステム。
【請求項８】
前記仮想イベントマネージャは、１つ以上の可変パラメータによって修正されるようなベースミッションブループリントから前記仮想ミッション環境を生成するように構成される、請求項１に記載のシステム。
【請求項９】
前記ゲームスコアは、前記トレーニングミッション中の複数のプレーヤーアクションの結果生成された複数のアクションスコアの集計を含む、請求項１に記載のシステム。
【請求項１０】
前記仮想イベントマネージャは、前記トレーニングミッション中の活動を取り込み、ログするようにさらに構成される、請求項１に記載のシステム。
【請求項１１】
前記仮想イベントマネージャは、前記仮想ミッション環境内に複数のコレクタエージェントを実現し、前記コレクタエージェントは、トレーニングミッション活動のログファイルを生成するログサーバに報告される、前記仮想ミッション環境内のアクティビティ情報を収集する、請求項１０に記載のシステム。
【請求項１２】
前記トレーニングミッションは複数のミッション目標を有し、前記ゲームスコアは、前記複数のミッション目標の完了成功に依存する、請求項１に記載のシステム。
【請求項１３】
前記複数のミッション目標は各々、割り当てられた点数を有し、前記ゲームスコアは、前記プレーヤーによって得られた点数を含む、請求項１２に記載のシステム。
【請求項１４】
前記仮想ミッション環境は、サイバー脅威シナリオおよび送電網シナリオのうちの１つ以上を含むミッションシナリオタイプを実現する、請求項１に記載のシステム。
【請求項１５】
前記ゲームサーバの前記プロセッサによって実行される前記マシン読取可能コードはさらに、１つ以上のプレーヤーゲームスコアに基づいて、プレーヤーの１つ以上のリーダーボードを生成するように構成される、請求項１に記載のシステム。
【請求項１６】
前記選択されたトレーニングミッションは、複数の利用可能なトレーニングミッションから選択される、請求項１に記載のシステム。
【請求項１７】
前記利用可能なトレーニングミッションは、前記プレーヤーの能力レベルに依存する、請求項１６に記載のシステム。
【請求項１８】
前記ＡＩエンジンはさらに、仮想ゲーム内アドバイザーを実現するように構成され、前記アドバイザーは、前記トレーニングミッション中に助けを求めるプレーヤー要求に対して自動化応答を提供するように構成される、請求項１に記載のシステム。
【請求項１９】
前記応答は、前記プレーヤーステーションで前記プレーヤーへ表示されるヒントを含む、請求項１８に記載のシステム。
【請求項２０】
前記仮想ミッション環境は、前記１つ以上の仮想エレメントに関連付けられた少なくとも１つの物理デバイスをさらに含む、請求項１に記載のシステム。
【請求項２１】
ミッションベースのゲームスタイルのトレーニングを１人以上のプレーヤーに提供する方法であって、
少なくとも１つのシステムサーバに対して実現されたゲームサーバで、プレーヤーによってプレーヤーステーションで選択されたトレーニングミッションを受信するステップと、
前記選択されたトレーニングミッションに関する情報を、前記少なくとも１つのシステムサーバに対して実現された仮想イベントマネージャへ伝送するステップと、
前記仮想イベントマネージャを使用して、仮想ネットワーク、仮想システム、仮想デバイス、および仮想ツールを含む１つ以上の仮想エレメントを含む仮想ミッション環境を、ミッションリソースの少なくとも１つのデータベースを使用して生成するステップと、
前記仮想イベントマネージャを介して、前記ゲームサーバで前記仮想ミッション環境をイネーブルにするステップと、
前記プレーヤーステーションが、前記仮想ミッション環境に関する情報を前記プレーヤーへ表示するようにするステップと、
前記プレーヤーによって前記プレーヤーステーションで行なわれた前記トレーニングミッションに関するゲームプレー入力を含む１つ以上のプレーヤーアクションを、前記ゲームサーバで受信するステップと、
ＡＩエンジンを介して、１つ以上の対戦相手アクションを生成するステップと、
前記プレーヤーステーションが、前記仮想ミッション環境に対する前記１つ以上の対戦相手アクションを表示するようにするステップと、
前記プレーヤーアクションに基づいてゲームスコアを生成するステップとを含む、方法。
【請求項２２】
前記対戦相手アクションは、攻撃的なアクションである、請求項２１に記載の方法。
【請求項２３】
前記対戦相手アクションは、防御的なアクションである、請求項２１に記載の方法。
【請求項２４】
前記ゲームスコアは、前記トレーニングミッション中の複数のプレーヤーアクションの結果生成された複数のアクションスコアの集計を含む、請求項２１に記載の方法。
【請求項２５】
前記トレーニングミッション中に前記プレーヤーアクションをログするステップをさらに含む、請求項２１に記載の方法。
【請求項２６】
前記トレーニングミッションは複数のミッション目標を有し、前記ゲームスコアは、前記複数のミッション目標の完了成功に依存する、請求項２１に記載の方法。
【請求項２７】
前記複数のミッション目標は各々、割り当てられた点数を有し、前記ゲームスコアは、前記プレーヤーによって得られた点数を含む、請求項２１に記載の方法。
【請求項２８】
１つ以上のプレーヤーゲームスコアに基づいて、プレーヤーの１つ以上のリーダーボードを生成するステップをさらに含む、請求項２１に記載の方法。
【請求項２９】
サイバートレーニングシステムによる実現のためのサイバートレーニングミッションを生成する方法であって、
コンピューティングデバイスの少なくとも１つの入力デバイスへの入力を介して、１組のトレーニングゴールから１つ以上のトレーニングゴールを選択するステップと、
前記少なくとも１つの入力デバイスへの入力を介して、前記ミッションにとって必要とされる１つ以上のプレーヤー能力を識別するステップと、
前記少なくとも１つの入力デバイスを介して、１つ以上のミッション脅威を指定するステップと、
前記少なくとも１つの入力デバイスへの入力を介して、ミッションリソースの少なくとも１つのデータベースから利用可能な複数のミッション環境リソースを選択することによってミッション環境を開発するステップと、
前記少なくとも１つの入力デバイスへの入力を介して、前記ミッション環境に対する前記ミッションについての１つ以上のミッション目標を指定するステップと、
前記選択されたトレーニングゴール、プレーヤー能力、ミッション脅威、前記ミッション環境、および前記ミッション目標を有するミッション構成を、ミッションデータベースで格納するステップとを含む、方法。
【請求項３０】
前記ミッション環境リソースは、１つ以上の物理デバイスまたは仮想エレメントを含む、請求項２９に記載の方法。
【請求項３１】
前記仮想エレメントは、仮想ネットワーク、仮想ツール、仮想システム、および仮想ソフトウェアのうちの１つ以上を含む、請求項３０に記載の方法。
【請求項３２】
ミッションリソースの前記少なくとも１つのデータベースは、共通リソースの少なくとも１つのデータベースと、ターゲットとされた環境ソースの少なくとも１つのデータベースとを含む、請求項３０に記載の方法。
【請求項３３】
少なくとも１つのトレーニングサーバを含むトレーニングシステムに関連付けられたプレーヤーステーションのプレーヤーへ、ミッションベースのトレーニングゲームを提示する方法であって、
前記プレーヤーステーションの少なくとも１つのビデオディスプレイを介して、前記プレーヤーステーションの前記プレーヤーへゲーム情報を表示するステップを含み、前記ゲーム情報は仮想ミッション環境を含み、前記方法はさらに、
前記プレーヤーステーションの少なくとも１つの入力デバイスを介して、プレーヤーアクションに対応する前記プレーヤーからの入力を受信するステップと、
ミッション中の前記プレーヤーアクションを、前記トレーニングサーバを介して追跡するステップと、
前記プレーヤーアクションに基づいて、ミッション中の前記ミッション環境を、前記トレーニングサーバを介して修正するステップと、
人工知能によって生成された１つ以上の対戦相手アクションに基づいて、ミッション中の前記ミッション環境を、前記トレーニングサーバを介して修正するステップと、
修正された前記ミッション環境に対応して、前記プレーヤーステーションで前記プレーヤーへ表示される前記ゲーム情報を更新するステップと、
ミッション中の前記プレーヤーアクションに基づいて、ゲームスコアを、前記トレーニングサーバを介して生成するステップとを含む、方法。
【請求項３４】
前記仮想ミッション環境は、仮想ネットワーク、仮想システム、仮想ツール、および仮想ソフトウェアのうちの１つ以上を含むシミュレートされた実ネットワーク環境のグラフィカル情報を含む、請求項３３に記載の方法。
【請求項３５】
ゲームスコアを生成する前記ステップは、前記ミッション中に行なわれた個々のタスクに割り当てられた複数のスコアを集計するステップを含む、請求項３３に記載の方法。
【発明の詳細な説明】
【背景技術】
【０００１】
発明の背景
情報システム技術およびインターネットへの依存が高まるにつれて、サイバー攻撃の数は驚くべき速度で増加している。問題をさらに複雑にしながら、サイバー脅威は、消費者、企業および政府事業体に毎日影響を与える複雑性の増加とともに進化し続けている。ハッキングの試みが、政府および民間産業全体にわたって増加している。国土安全保障省によって提供されるサイバー脅威情報によれば、米国国防省は１日当たり１０００万件のハッキングを受けると報告し、ユタ州は２０００万件の試みに直面し、エネルギー会社ＢＰは１日当たり５万件の試みに対処すると述べている、とのことである。しかし、これらは、情報システムが遭遇している日常的脅威のほんの少しのサンプルに過ぎない。さらに当惑することは、毎年これらの攻撃の多くが成功し、何千億ドルもの費用がかかる、ということである。
【発明の概要】
【発明が解決しようとする課題】
【０００２】
サイバー攻撃が増加し続け、より高度になるにつれて、産業および政府の情報システムを保護するためのセキュリティシステムおよび高度なトレーニングを受けた専門家の必要性が、同じくらい急速に増加している。この急速に増加しているサイバーセキュリティ脅威状況は、重要なシステムおよび機密情報を保護するために必要とされる専門技術を有する人材の不足と相まって、公共および民間部門についての深刻なセキュリティリスクをもたらす。
【０００３】
あいにく、現在のトレーニング方法は、脅威に遅れずについていき、脅威と格闘するのに必要なトレーニングを提供するよう、厳しく促される。この非常に複雑なセキュリティトレーニングはこれまで教室で行なわれ、または、リアルタイムのセキュリティ脅威をそれらが起こった時に評価するライブシステムへのアクセスを有するコンサルタントによって提供されてきた。これらの既存のトレーニング方法および手法は、急速に変化するセキュリティ脅威に遅れずについていくことができず、人材を十分迅速にトレーニングすることもできない。既存のトレーニングプログラムをさらに複雑にするように、現実のサイバー脅威シナリオは、トレーニングが導入された直後に、新たな脅威によって時代遅れになる。
【０００４】
現在のトレーニングシステムは、トレーニング用の特定のターゲットを念頭において構築され、そういうものとしてスタッフおよび生徒専用となっている。たとえば、これらのターゲットのいくつかは、ヘルスケア、サイバーセキュリティ、送電網ネットワークインフラストラクチャなどを含んでいてもよい。現在のトレーニングシステムは、ハードウェア、ソフトウェアでカスタマイズされ、ターゲットとされる産業のトレーニング必要性を満たすように構築される。今日のシステムは概して本質的に静的であり、ターゲットとされる産業用にいったん構成され、その後、トレーニング必要性および技術変化として手動で修正される。
【０００５】
トレーニングを必要とする各産業ターゲットについてのこの集中的な手動カスタム化は、トレーニングシステム開発およびサポート全体のコストを増加させ、現在のトレーニングシステムを、そのような最先端のトレーニングを心底必要とする多くの企業にとって高価でコストがかかり過ぎるものにする。そのような旧来のトレーニングシステムは、トレーニングが必要とされる各特定の産業における生徒のトレーニング必要性および技術進化の急速なペースに遅れずについていくために、広範な手動修正および進行中のカスタム化を必要とする。技術のこの急速なペースの進化は、トレーニングシステムをすぐに時代遅れにし、新しい生徒、新しいシステム、および新しい操作方法の連続的な流れに遅れずについていくための修正を必要とする。
【０００６】
さらに、コンピュータによって実現されるトレーニングシステムが開発されてきた状況でも、それらのシステムは同様の問題を抱えている。これらのシステムは多数の生徒をトレーニングするために使用可能であるが、トレーニングシステムはフレキシブルではなく、提供されるトレーニング利益が限定的である。たとえば、既存のトレーニングシステムは、固定されたトレーニングセッションを実現するように設計されている。すなわち、これらのトレーニングシステムは、１つ以上の予め設計された、または固定されたトレーニングアプリケーションを含む。トレーニングシステムは、その単一の固定されたトレーニングアプリケーションを実現するか、または、小さい１組の固定されたトレーニングアプリケーションのうちの１つから選択するに過ぎない。このため、生徒は何度も同じトレーニング環境を見る。オペレータが異なるトレーニングセッションまたは環境を生徒へ提示したい場合、全く新しいトレーニングアプリケーションを構築してトレーニングシステムにロードしなければならない。
【０００７】
この「固定されたトレーニングセッションから選択する」という構成は、生徒が１つ以上の特定のタスクを練習または実現するトレーニングセッションを作成するという既存のトレーニングセッションのゴールと一致している。タスクベースのトレーニングに従って、トレーニングは、ある特定のタスクについて生徒をトレーニングするために、および、そのタスクを実現する際の生徒の実力を高めるために使用される。しかしながら、現実世界では、サイバー脅威は各々、非常に異なっている。このため、ある特定の指定されたタスクを行なうための生徒の能力は、サイバー脅威に取り組むために、他のタスクまたは手法とともに、そのタスクをいつ行なうか、またはそれをどのように使用するかを生徒が理解するのを助ける上で不十分である。
【０００８】
急速に変化するサイバー脅威リスクおよび世界中のハッカーからの絶え間ない攻撃を考慮すると、サイバー攻撃、テロリズム、およびサイバー犯罪にどのように迅速に対応するか、ならびにそれらをどのように止めるかについて専門家をトレーニングするために必要な複雑度を有する、閉鎖され制御されたネットワーク環境を提供するために、動的な仮想ネットワークトレーニングシステムおよび方法が必要とされる。
【課題を解決するための手段】
【０００９】
発明の概要
この発明の一局面は、サイバートレーニングシステムである。一実施形態では、サイバートレーニングシステムによって実現されるトレーニングは、タスクべースではなく、ミッションべースである。一実施形態では、サイバートレーニングシステムによって実現されるトレーニングはまた、ゲームとして実現される。
【００１０】
一実施形態では、システムは、異なるリソースを有する異なる環境を含み、異なるミッションを有するほぼ無限のさまざまなトレーニングシステム構成を生成するための、データベース、ツールおよびアプリケーションプログラミングインターフェイス（Application Programming Interface：ＡＰＩ）のコアセットを含む。
【００１１】
システムは、ゲームエンジンと仮想イベントマネージャ（Virtual Event Manager：ＶＥＭ）とで構成されてもよく、それらは、（１）サイバー脅威、送電網、カスタムシステムなどといった複数のシナリオ環境タイプ；（２）各々がある環境タイプ専用のものである、複数の独特のリソースデータベースおよびミッションデータベース；（３）すべての環境タイプに共通しているツールおよびリソースのコアセット；（４）環境タイプの選択、専用データベースの使用、および独特の環境の構成；（５）ホストベースのセンサおよびネットワークベースのセンサ双方の使用；ならびに／もしくは、（６）少なくとも２人の生きている生徒間での、または、生きている生徒と人工知能（artificial intelligence：ＡＩ）コンピュータ化されたプレーヤーとの間でのゲームプレー、を実現および／または管理するように構成される。
【００１２】
一実施形態では、この発明は、「攻撃」指向の参加者および「防御」指向の参加者双方が、優れた対戦相手に対するゲーム環境での自分のスキルをテストすることを可能にするための、動的でシナリオベースのトレーニングプラットフォームを含む。
【００１３】
一実施形態では、トレーニングは、リアルな仮想環境におけるＡＩ対戦相手とハッキングシミュレーションとを組合せたゲーム環境のフレームワーク内で起こる。ゲーム環境は、制御された環境におけるリアルな状況でのトレーニングを容易にするための動的で高度対話型のシナリオを提供する。システム技術、シミュレーション、およびゲームインターフェイスのこの独特の使用は、産業および政府の情報技術事業体双方を越えて必要とされるサイバーセキュリティ専門技術にとって必要とされるスキルセットを迅速に開発するための人材のトレーニングを容易にする。
【００１４】
さらに、多くの組織は、機能性を混乱させることに対するリスク、または潜在的な脆弱性、または悪意のあるインプラントが外部侵入テストチームおよびツールによって導入されることを含むさまざまな理由により、それら自体の生産ネットワーク上で侵入テストを行なうことを回避したいと思っている。数例挙げると、トポロジーマップ、コンポーネントリスト、ホスト型およびホスト構成といった不可欠なネットワークエレメントおよびコンポーネントを取り込むことにより、拡張可能な仮想化環境は、生産ネットワークの主要局面をエミュレートすることができる。複数の仮想マシンで構成されるそのような仮想環境は、ハードウェアコンポーネントの数および関連する保守コストを減少させることによって、固定されたハードウェア構成よりも効率的である。そのため、侵入テストおよび関連する活動を、仮想化環境上で、はるかに多い頻度で、安全で分離された態様で行なうことができ、発見された脆弱性、弱み、強み、および影響に関して得た教訓を、整然とした制御された態様で生産ネットワークに適用することができる。
【００１５】
代替的な実施形態では、ターゲットとされる生産ネットワークを適切にエミュレートする、拡張可能で仮想化された物理環境を集合的に形成するために、産業制御システムの一部といった、ターゲットとされる特定のハードウェアデバイスが、仮想ネットワークエレメントおよびコンポーネントと共存するよう要求されてもよい。
【００１６】
開示されたシステムの他の局面およびコンポーネントは、以下のものを含んでいてもよい。
【００１７】
（１）ＡＩエンジンによって実現され、サイバーセキュリティトレーニングおよび練習設定で使用される、ＡＩ対戦相手。ＡＩエンジンは、トレーニング参加者が独特に構成されたシステム−ネットワークシミュレーションにどのように反応するかに依存して、各ゲームを独特にする。
【００１８】
（２）システムは、分離され制御された設定でトレーニングを行なうためのリアルな仮想環境を構築する。システムは、以下のものの構築を容易にしてもよい：（ａ）サイバートレーニングミッションごとの独特の仮想環境；（ｂ）クラウドベースのコンピュートリソース、ネットワークリソース、およびストレージリソースを利用することによってトレーニングシミュレーションのスケールを拡張するための、仮想環境の使用；（ｃ）ミッション中に生徒の活動を評価する際に使用するための、ホストベースのセンサおよびネットワークベースのセンサ双方の使用；および（ｄ）特定のターゲット環境または生産環境をエミュレートするために必要とされる、独特のコントローラ、プロセッサ、および周辺装置といった特定のハードウェアコンポーネントの使用。
【００１９】
（３）攻撃的および防御的なサイバートレーニングミッション双方の実現。
（４）ゲームをする参加者ごとに、スキルの不足／強みを識別し、成績を測るための、採点およびリーダーボード。
【００２０】
（５）サイバーセキュリティトレーニングを参加者にとってより魅力あるものにするための、ゲーム状視覚化およびマルチメディア刺激。
【００２１】
（６）ミッションごとに独特のトレーニング目標を有する、ミッション指向のシナリオベースのトレーニング環境。新しいミッションを記述言語だけで構築し、次にトレーニング環境に供給することができ、それは、ミッションを実行するために、必要なコンピュート要件、ネットワーク要件、ストレージ要件、ツール、センサ、脅威、および緩和を用いて環境を構築するであろう。
【００２２】
（７）システムは、さまざまな産業必要性およびトレーニング必要性をサポートするように構成可能であり、１人以上の生徒へ提示されたミッションごとに、独特のコンピューティング環境およびネットワーク環境が提供される。
【００２３】
（８）トレーニングシナリオを分離し、制御するための、閉鎖されたネットワーク環境。
【００２４】
（９）仮想マシン（および、場合によっては、実在するデバイス）、ソフトウェアリソース、ツール、およびネットワークコンポーネントの組合せを使用して、独特のミッションをサポートするための動的構成が、ミッションごとに構成される。
【００２５】
（１０）少なくとも１人の生きている生徒（生徒）と１人のＡＩ生徒とを含むミッション。
【００２６】
（１１）２人以上の生きている攻撃的な生徒が１人以上の防御的な生徒と対戦すること、または、２人以上の防御的な生徒が１人以上の攻撃的な生徒と対戦することを可能にする、チームプレー。攻撃的な生徒または防御的な生徒は、人間またはＡＩであり得る。
【００２７】
（１２）生徒が、ミッション中に自分が引き受けるであろう役割を選択すること。生徒は、生徒がどうしているかを追跡するための点に関連する目標を各々有する、攻撃的な役割または防御的な役割を引き受けてもよい。
【００２８】
（１３）ミッションに参加して生徒を誘導し、設定を修正し、目標およびシナリオ状況においてリアルタイムでプレーヤーを促す能力を有する、各ミッションを監視するトレーナー。
【００２９】
（１４）新しいリソースが利用可能になった場合のリソースの動的更新、および、新しい要件が規定された場合のミッションの動的更新。
【００３０】
（１５）ミッション中に生徒からメッセージまたは問合せを受信し、ヒントまたは秘訣などのインテリジェントな応答を提供することができるＡＩアドバイザー。
【００３１】
先行技術に対する本発明のさらに別の目的、特徴、および利点は、以下の図面の詳細な説明を添付図面とともに考慮すると、明らかになるであろう。
【００３２】
図面の説明
【図面の簡単な説明】
【００３３】
【図１】本発明に従って実現され得るさまざまなタイプのミッションシナリオを図式的に示す図である。
【図２】異なるターゲット産業に関連するような、この発明のトレーニングシステムの概要を図式的に示す図である。
【図３】本発明のトレーニングシステムによって実現され得るさまざまなユーザ役割を示す図である。
【図４】本発明に従ったトレーニングシステムの構成の一実施形態を示す図である。
【図５】本発明に従ったさまざまな方法のフロー図である。
【図６】本発明に従ったシステムのミッションオーケストレーション構成の一実施形態を示す図である。
【図７】この発明のトレーニングシステムによって実現される攻撃的ミッション構成の一実施形態を示す図である。
【図８】本発明に従ったトレーニングミッション用の１つの仮想環境を示す図である。
【図９】本発明に従ったトレーニングミッション用の別の仮想環境を示す図である。
【図１０】本発明のトレーニングシステムによって実現されるミッション環境の別の実施形態を示す図である。
【図１１】本発明に従ったトレーニングシステムによって実現される攻撃的ミッション環境のさらに別の実施形態を示す図である。
【図１２】本発明に従ったトレーニングシステムによって実現される防御的ミッション環境の一実施形態を示す図である。
【発明を実施するための形態】
【００３４】
発明の詳細な説明
以下の説明では、本発明のより完全な説明を提供するために、多くの特定の詳細が述べられる。しかしながら、本発明はこれらの特定の詳細なしで実践され得る、ということは当業者には明らかであろう。他の例では、発明を不明瞭にしないように、周知の構成は詳細には説明されていない。
【００３５】
概要
この発明は、動的に構成され、閉鎖されたネットワーク環境トレーニングを１人以上の生徒に提供するためのシステム、方法、および装置のさまざまな実施形態を含む。ここでのシステムはトレーニングをゲームフォーマットで提供するため、生徒は、参加者またはプレーヤーとも呼ばれてもよい。
【００３６】
本開示の一局面は、シナリオベースのまたはシナリオ指向のミッションが規定され実現される、構成可能な仮想コンピューティングサイバー脅威トレーニング環境を生成するように構成されるシステムに関する。シナリオは、コンピュータホストの仮想ネットワーク、脅威または脅威アクター、ミッション目標、トレーニングゴール、およびミッショントレーニングセッションを形成するためのツールで構成される。ミッションは、１人以上のプレーヤーに１つ以上のタスクを介してトレーニングゴールを達成するように促すためのコンテキストおよび環境を提供するためのシナリオを具現化する、ゲームベースの活動である。
【００３７】
複数の産業ターゲットをサポートし、技術変化の急速なペースと歩調を合わせることができる動的トレーニングシステムのデプロイメントを最適化するために、本システムは、複数のトレーニング環境リソースおよびミッションデータベースセットを有するすべてのタイプのトレーニングに共通しているコアシステムプラットフォームリソースのカーネルで構成されてもよく、各セットは、ターゲットとされるある産業用に使用される。図１および図２を参照されたい。
【００３８】
システムは異なるミッションを構成し、各ミッションは、独特な１組の環境リソースを有し、それらはある特定の態様で配置され、１つのまたは独特の目標を有しており、それにより、各生徒トレーニングセッションは独特のミッションとして構成可能である。このように、システムは、動的な１組のリアルタイムリソース、ツール、およびサービスを用いて、閉鎖された仮想ネットワーク環境内に生徒の環境を独特に構成して、特定のタイプの産業または活動における生徒のための特定のトレーニングシナリオを容易にする。
【００３９】
生徒は、ハッカー、サイバー攻撃的オペレータ、サイバー防御者、またはトレーニングインストラクターといった、ターゲット産業における仕事または機能をエミュレートする独特の役割を引き受ける。役割は、ミッションごとに変わってもよい。役割は、多くの異なるミッションのために使用される予め規定された役割の１つ以上のデータベースによって選択または規定されてもよい。役割はまた、ある特定の１組のミッションのリアルな性質をさらに強化するために現実の組織をエミュレートするように、カスタマイズされたグループにおいて規定されてもよい。ある特定のミッションのために使用される役割のグループの一例を、図３に示す。
【００４０】
トレーニングシナリオおよび対応するミッションはゲームセッションとして実現され、少なくとも１人の生きている生徒が、別の生きている生徒またはＡＩ生徒と対戦する。システムの他の実施形態は、より多くの２人以上の生きている攻撃的な生徒が、ＡＩの防御的な生徒と対戦し、もしくは、１人以上の生きている防御的な生徒が、ＡＩの攻撃的な生徒、または１人以上の生きている攻撃的な生徒と対戦する、チームプレーを可能にする。
【００４１】
ここに使用されるように、「攻撃的」という用語は、一般にターゲット情報システム「（InfoSys」）の侵入テストのために情報セキュリティ（「InfoSec」）専門家によって着手される活動のタイプを指してもよい。「防御的」という用語は、一般にInfoSysの保護のために情報保証（information assurance：ＩＡ）専門家によって着手される活動のタイプを指してもよい。
【００４２】
チームプレーでは、各生徒は、独特の１組の目標を有する特定の役割を引き受けてもよい。たとえば、一実施形態では、攻撃的な生徒がハッカーの役割を引き受け、一方、防御的な生徒が電力インフラストラクチャオペレータの役割を引き受けてもよく、ハッカーは、送電網へのアクセスを得ることを試みる。別の実施形態では、ある生徒がネットワークアドミニストレータの役割を引き受けてもよく、一方、ＡＩ対戦相手が、バックエンドシステムへのアクセスを得るためにターゲットとされるウェブサイトをハッキングすることを試みるテロリストの役割を引き受けてもよい。
【００４３】
ゲームスタイルのミッションの目的は、予め規定された時間制限内に複数の目標を完了することであってもよい。一実施形態では、ゲームまたはミッションは採点される。生徒たちがミッション中に獲得した点および他の基準に基づいて、ある生徒が採点され、リーダーボード上に掲載されてもよく、そこで、教師／オブザーバーは、ミッション結果と、その生徒が他の生徒に対してどのように格付けされるかとを監視することができる。
【００４４】
システムは、すべてのトレーニングシステムのために維持されるカーネルの使用によってコストを最小化しつつ、ターゲットとされる産業への限りなくフレキシブルなトレーニングシステムの迅速なデプロイメントを可能にする。
【００４５】
一般的なシステムアーキテクチャおよび方法
本発明に従ったシステムアーキテクチャの一実施形態を、図４に示す。システム２０は、ゲームサーバ２２と、仮想イベントマネージャ（ＶＥＭ）２８と、人工知能（ＡＩ）エンジン３０と、１つ以上のユーザまたはプレーヤーまたは生徒ステーション３２と、さまざまなゲームセンサ３４と、１つ以上のオブザーバーまたはトレーナーステーション／インターフェイス３６とを含んでいてもよい。以下に詳述されるように、ＶＥＭ２８はゲームサーバ２２と協働して、関連付けられたリソースを有する仮想の実現されたミッションインスタンスまたは環境２６を作成する。
【００４６】
プレーヤーまたは生徒ステーション３２は、コンピューティングステーションまたは端末を含んでいてもよい。好ましくは、プレーヤーステーション３２は、プロセッサと、マシン読取可能コード（「ソフトウェア」）などのデータを格納するための少なくとも１つのメモリデバイスと、少なくとも１つのビデオディスプレイデバイスと、１つ以上のユーザ入力デバイス（たとえば、キーボード、マウス、ジョイスティック、タッチスクリーン、ＶＲ／ＡＲヘッドセットなど）と、システムの他のコンポーネントとの通信を容易にする少なくとも１つの通信インターフェイス（無線または無線）とを含む。プレーヤーステーション３２は、たとえば、デスクトップコンピュータ、ラップトップコンピュータなどを含んでいてもよい。プレーヤーステーション３２は、ゲームサーバ２２に対するシンまたはシッククライアントとして構成されてもよい。
【００４７】
ゲームサーバ２２はコンピューティングデバイスを含んでいてもよく、それは、少なくとも１つのプロセッサと、ソフトウェアなどのデータを格納するための少なくとも１つのメモリデバイスと、システムの他のコンポーネントとの通信を容易にする少なくとも１つの通信インターフェイスとで構成される。ゲームサーバ２２は好ましくは、プレーヤーステーション３２およびＶＥＭ２８といった他のデバイスからデータまたは入力を受信し、プレーヤーステーション３２およびＶＥＭ２８といった他のデバイスに出力するためのさまざまなデータを生成する。一実施形態では、ゲームサーバ２２は、ユーザ管理および認証（プレーヤー認証など）、再生履歴、採点およびリーダーボードを扱い、プレーヤーとＶＥＭ２８（およびその関連付けられたバックエンドサービス）との間のミッション情報インターフェイスを務める。
【００４８】
ＶＥＭ２８は好ましくは、コンピューティングサーバなどのコンピューティングデバイス上のソフトウェアとして実現される（たとえば、ゲームサーバ２２およびＶＥＭ２８の双方（ならびに、以下に説明されるＡＩエンジン）は、同じコンピューティングデバイス／サーバ上のソフトウェアとして実現されてもよい）。このサーバは、ゲームサーバ２２と同じであっても異なっていてもよい。ＶＥＭ２８は好ましくは、ミッションに関連する仮想環境を作成し、監視し、破壊するためにゲームサーバが利用する、仮想化管理プラットフォームを含むかまたは実現する。ＶＥＭ２８は、根底的なオーケストレーションサービスを利用して、アクティブなミッション管理を行なう。ＶＥＭ２８は、ゲームサーバ２２が、ミッション制御およびプレーヤーの成績についてのフィードバックを含むミッションにインターフェイス接続できるようにするためのインターフェイスを提供する。ＶＥＭ２８は、ゲームサーバ２２を介したプレーヤー選択に基づいて適切なコンテンツを作成するためにそれが利用する１つ以上のミッションコンテンツ／構成データベースにインターフェイス接続する。
【００４９】
一実施形態では、ＶＥＭ２８は、トレーニング環境を含む必要なトレーニングシナリオを作成するためのさまざまな制御およびエージェントメカニズムを実現する。一実施形態では、これらの制御およびエージェントメカニズムは、図６に示す例でのように、ミッションオーケストレーションマスターと、ミッションオーケストレーションエージェントと、ログサーバと、１つ以上のコレクタまたはログエージェントとを含んでいてもよい。
【００５０】
ミッションオーケストレーションマスターは、ネットワーク構成およびサービス構成を含む、環境内のミッションオーケストレーションエージェントについてのすべてのソフトウェアパラメータおよび構成パラメータをホストするマスターである。
【００５１】
ミッションオーケストレーションエージェントは、ローカルネットワーキングおよびサービスを構成するためにミッション環境内のすべてのマシンおよびこれらのエージェントとのコントローラインターフェイス上で実行されるエージェントサービス（たとえば、各システムを動的に構成し監視するように必要な要求および応答を扱うために開発された、特殊なソフトウェアコンポーネント）である。それはパッケージをインストールし、マスターからファイルをコピーし、任意のコマンドがマスターサービスから実行されることを可能にする。それはまた、ユーザの進歩を監視し、ＡＩベースの対戦相手応答を可能にし、システム健全性を検証するためのゲーム内インターフェイスを提供する。
【００５２】
NxLogなどのログサーバは、ＴＣＰを通してエージェントログを受信し、ログの発信元ＩＰを含むタグを追加し、それらを単一のテキストファイルへ格納する。これらのログは、別のマシンへ転送され、データベースに格納され、および／または、より永続的な格納のためにＶＥＭへオフロードされてもよい。
【００５３】
コレクタまたはログエージェントは、環境内のすべての他のマシン上で実行され、管理ネットワークを通してログをサーバへ転送する。現在、エージェントは/dev/log（syslog）をリッスンし、ミッションエージェントのログファイルを尾行する。Nxlogはまた、ウィンドウズイベントログをサポートし、ログファイルの伝送を保証することができる。
【００５４】
ＡＩエンジン３０はまた好ましくは、コンピューティングサーバなどのコンピューティングプラットフォーム上で実行されるソフトウェアを含む。ＡＩエンジン３０は好ましくは、ゲームサーバ２２とインターフェイス接続し、それにより、ＡＩエンジン３０は、ゲームサーバ２２によって実現されているミッションに関するデータまたは情報を得る。このデータは、たとえば、ゲーム中のある特定の生徒の入力またはアクション、ゲームステータスについての情報、およびさまざまな他の情報を含んでいてもよい。一実施形態では、ＡＩエンジン３０は、ＡＩゲーム内またはミッション内アドバイザーを実現する。このアドバイザーは、プレーヤーステーション３２を介して生徒からメッセージまたは問合せを受信する。ＡＩゲーム内アドバイザーは好ましくは、自然言語認識を使用して問合せを処理し、応答を提供する。最も好ましくは、ＡＩゲーム内アドバイザーは学習コンポーネントを有し、たとえば、それは、過去のメッセージおよび応答に基づいてその構成を修正し、新しい構成を作成する。ＡＩエンジン３０はまた、ＡＩ対戦相手を実現する。ＡＩ対戦相手は好ましくは、生徒に対するミッションを実現する際に使用するために、アクション／応答をゲームエンジン２２に提供する。ＡＩ対戦相手はまた好ましくは、ＡＩ対戦相手がたとえば生徒アクションに基づいて時間とともにアクションおよび応答を変更できるようにする学習コンポーネントを有する。
【００５５】
センサ３４は、たとえばプレーヤーステーション３２を介して生徒入力を監視することによってゲーム／ミッションの局面を監視する（実在する、または仮想の）さまざまなデバイスまたはエレメントを含んでいてもよい。センサ３４は、そのような情報を得るために、ゲームサーバ２２に関連付けられてもよい。センサ３４は、たとえば、ゲームサーバ２２または他のデバイスへ出力を提供してもよい。
【００５６】
システム２０は好ましくは、１つ以上のオブザーバーまたはトレーナーインターフェイス３６を含む。これらのインターフェイス３６は、トレーナーがプレーヤーステーション３２を効果的にミラーリングできるようにする。各トレーナーインターフェイス３６は、プレーヤーステーションと通信して、プレーヤーの活動のリアルタイムビューを提供する。インターフェイス３６は、ゲームサーバ２２およびＶＥＭ２８へのインターフェイスを含み、それにより、ゲームプレーに関する情報をオブザーバーにリアルタイムでミラーリングまたは提供することができ、オブザーバーはシステム２０と対話することができる。インターフェイスは、オブザーバーが（たとえばビデオディスプレイを介して）ゲームプレーを見て（たとえばキーボードなどの入力デバイスを介して）入力を提供し得る端末またはステーションによって容易にされてもよい。
【００５７】
上述のように、システム２０は、図５に示すようなトレーニングシナリオを形成する際に使用され得る仮想リソース（ツール、ネットワークコンポーネントなど）のデータベースといった、多くのデータベースを含む。１組の仮想リソースから異なるシナリオが作成されてもよく、および／または、仮想リソースの組を変更することによって他のシナリオが作成されてもよい。同様に、さまざまなシナリオから異なるミッションが作成されてもよい。ここに述べられるように、仮想リソースは、トレーニング環境を形成するために、物理デバイスとともに使用されるかまたは物理デバイスと結合されてもよい（たとえば、トレーニング環境は、仮想環境だけでなく、システム／環境へアドレス指定される物理ルータデバイス、または、サーバ、コンピュータ、ハブ、スイッチ、ブリッジ、モデム、アクセスポイント、リピータ、ゲートウェイ、ファイアウォール、マルチプレクサ、アダプタ、データストレージデバイスなどの他の物理デバイスを含んでいてもよい）。
【００５８】
トレーニング方法の一実施形態を、図５を参照して説明する。図５のステップＳ１で示すように、ミッションが設計または開発される。これは、たとえば、システム２０のトレーナーまたはオペレータが、トレーナーインターフェイス３６のうちの１つを使用して、（ＶＥＭ２８上で実行されるソフトウェアなどの）ミッションエディターインターフェイスなどを介してＶＥＭ２８とインターフェイス接続して、利用可能なミッションリソース（上に詳述されるようなツール、環境コンポーネントなど）からミッションを開発することによって行なわれてもよい。
【００５９】
一実施形態では、ミッションの開発は複数のステップを含んでいてもよい。図示されるように、ステップＳ１Ａで、ミッション設計者は、さまざまなトレーニングゴールを選択してもよい。ステップＳ１Ｂで、ミッション設計者は、さまざまな中核能力を指定または識別してもよい。これらの能力は、ミッションを完了するためにプレーヤーに必要とされる最低レベルの能力を指定してもよく、このため、ミッションの複雑性を決定してもよい。ステップＳ１Ｃで、ミッション設計者は、防御的ミッションのための脅威または脅威アクター、もしくは、攻撃的ミッションのための公知の脆弱性を有する１組のターゲットを指定する。ステップＳ１Ｄで、ミッション設計者は、ミッションエディターを使用してミッション環境を開発する。これは、ミッション設計者が、ミッションリソースデータベースから利用可能なさまざまなツール、ネットワークデバイスなどから選択することを含んでいてもよい。ミッション規定は、適用可能な場合、既存のミッションの大部分を活用することができる。ステップＳ１Ｅで、ミッション設計者は、ミッション目標を選択する。選択または提供された情報または基準から、ミッションが設計される。このミッションは次に、ＶＥＭに関連付けられたミッションデータベースに格納されてもよい。
【００６０】
ステップＳ２で、プレーヤーまたはトレーナーは、ミッションデータベースからミッションを選択してもよい（たとえば、プレーヤーがミッションのリストから選択してもよく、または、トレーナーがプレーヤーのためにミッションを選択してもよい）。一実施形態では、ミッションは、能力のコアセットを要求してもよい。このため、プレーヤーは、指定されたミッションを行なう資格を得るために、指定されたレベルの中核能力のテストを受けるか資格を満たすことを要求されてもよい。一実施形態では、たとえば、プレーヤーは、プレーヤの中核能力のレベルをテストするために、プレーヤーステーションを介して実現される小テストを受けることを要求されてもよい。別の実施形態では、プレーヤーのレベルはプレーヤーファイルに格納され、ある特定のミッションについて最低中核能力レベルと照合されてもよい。この点に関し、好ましい一実施形態では、プレーヤーは、（データベースに格納された、またはゲームサーバに関連付けられたような）関連付けられたプレーヤープロファイルを有する。プレーヤーは好ましくは、システムにログインして自分を識別し、自分のプレーヤーファイルを自分の活動に関連付ける。ここに述べられるように、ミッションスコアといった、プレーヤーの活動に関連付けられた情報は好ましくは、プレーヤーのアイデンティティに関連付けて格納される。
【００６１】
ステップＳ３で、任意の指定された基準が満たされたと仮定して、選択されたミッションが実現される。一実施形態では、これは、ゲームサーバが、選択されたミッションに関してプレーヤーまたはトレーナーから入力を受信すること、および、ステップＳ３ＡでゲームサーバがＶＥＭに選択について通知することを含む。ステップＳ３Ｂで、ＶＥＭは次に、関連付けられたミッションデータベースに格納されたミッションに関する情報と、ミッションリソースデータベースに格納されたさまざまな選択されたミッションリソースに関するデータとを使用して、ゲームサーバのためのミッション環境をイネーブルにする。
【００６２】
一実施形態では、各ミッションは、仮想の相互接続されたシステム、ツール、ネットワーク、およびデバイスのブループリントからなる。ＶＥＭは、ベースミッションブループリントを、仮想化されたバックエンドハードウェアインフラストラクチャ上にデプロイメントし、仮想システムが順調に始動され相互接続されることを保証する。実行中のミッション環境は各々、それが、他のプレーヤーによって使用されている同時に実行中の他のミッションから完全に分離されるようにセットアップされる。
【００６３】
各ブループリントは、各プレーの開始時のパラメータのランダム化を可能にする一連のパラメータを含む。ミッションをインスタンス化する際、ミッション／ゲームの特性を決定するためにいくつかの変数が選択され、次に、ＶＥＭは特定のミッションインスタンスを作成する。これは、同じミッションの試みを繰り返しているプレーヤーへの変動性を可能にする。
【００６４】
ミッションの実現は、ミッションの構成にも依存する。たとえば、ここに示されるように、２人のプレーヤーが攻撃的役割および防御的役割で互いに対戦してもよい。これは、ゲームサーバが第１のプレーヤーステーションで第１の攻撃的プレーヤーと対話し、第２のプレーヤーステーションで第２の防御的プレーヤーと対話することを必要とする。他の実施形態では、複数のプレーヤーが類似した態様であってもよい。また、ここに示されるように、プレーヤーはＡＩ対戦相手と対戦してもよい。この構成では、ＡＩエンジン３０のＡＩ対戦相手は、特定のミッションに対してイネーブルにされる。
【００６５】
ミッションがいったんイネーブルにされると、ステップＳ４で、ミッション環境に関する情報がプレーヤーへ表示され、プレーヤーは入力を提供し始める。ここでも、ＡＩ対戦相手との対戦の場合、ＡＩエンジン３０は、ミッションおよびプレーヤーのアクションに関してゲームサーバから情報を受信し、それに応じて応答する。
【００６６】
好ましくは、以下に詳述されるように、ステップＳ５でのように、プレーヤーのアクションが採点される。好ましくは、プレーヤーは、単にミッションの完了についての格付けまたはスコアではなく、アクションについての点またはスコアを受信する。このように、多くのアクションにわたるプレーヤーの能力が評価されてもよい。
【００６７】
プレー中、プレーヤーのアクションおよび応答などのミッション活動は、査定段階中に再生の一部であるように追跡／ログされる。ここに示されるように、この情報は、１つ以上のミッションログに格納されてもよい。
【００６８】
ステップＳ６で、ミッションがいったん完了すると、プレーヤーは、格納されたミッションプレーログからミッションを再生してもよい。これは、プレーヤーが自分のアクションを見直し、誤りを検討し、得た教訓を記録することを可能にする。
【００６９】
ステップＳ７で、ミッションについてのプレーログはまた、より一層の見直しおよび分析などのために、または後で見直すために、エクスポートされてもよい。たとえば、プレーヤーはミッションを行なってもよく、トレーナーは後でそのミッションについてのミッションログをエクスポートし、プレーヤーのための追加のトレーニングなどを判断する一環としてプレーヤーのアクションを見直してもよい。
【００７０】
この発明の追加の詳細をこれから説明する。
ミッションオーケストレーション
図６は、ミッションオーケストレーション構成の一実施形態を示す。オーケストレーションマスターは、（上に識別された）ＶＥＭのサブコンポーネントである。他の構成が可能であることが理解されるであろう。図６に示す実施形態では、ソルトスタック（Saltstack）によって提供されるものといった、サードパーティ仮想コンピューティング通信／管理フレームワークを使用して、ミッションオーケストレーションサービスは、オーケストレーションコントローラ（Orchestration Controller：ＯＣ）、およびトレーニング環境内のサービスを管理することを担当する。ＯＣは、仮想環境内に存在し、各環境に独特のものである。オーケストレーションマスター（Orchestration Master：ＯＭ）は、一実施形態におけるＶＥＭのサブコンポーネントとして仮想環境の外部に存在し、複数のＯＣを管理することを担当する。
【００７１】
環境を作成すると、ＯＭは、テスト環境用の必要な構成ファイルをＯＣにポピュレートする。ＯＣは、環境内の管理ネットワークを通してミッションオーケストレーションサービスおよびローカルＤＨＣＰサービスを実行する。ＯＣは、ミッションオーケストレーションマスターおよびミッションオーケストレーションエージェントの双方を実行する。ＯＣは、ミッション固有の仮想環境全体のためのマスター構成および通信点として機能する。構成および監視コマンドが、ＯＣから、ミッション環境を作り上げる仮想システム上で実行される個々のエージェントへ送信される。
【００７２】
ＯＣ上のミッションオーケストレーションエージェントは、コマンドおよび制御と構成ファイル更新とを容易にするために、そのマスターとしてのＯＭに接触する。ＯＣは、マスターサービスを実行して、ローカルテスト環境を制御する。テスト仮想マシンは、管理ネットワーク上のＯＣからＤＨＣＰアドレスを得るように予め構成される。テスト仮想マシンはまた、ミッションオーケストレーションエージェントを用いて予め構成され、それらのミッションオーケストレーションマスターとしてのＯＣに接触する。
【００７３】
ＯＣが（ＯＭからの）環境構成ファイルを用いて最新のものである場合、それはローカル環境仮想マシンのすべてを更新する。ＯＣは、テスト環境に必要とされるソフトウェアパッケージで構成されたデータストアから、読出専用ファイルシステムを安全に搭載する。これらのパッケージは、標準パッケージング（すなわち、CentOSおよびUbuntuソフトウェアリポジトリのミラー）および環境内で実行されるカスタムソフトウェアの双方を含む。ソフトウェアは、初期構成段階中にテスト環境仮想マシンにとって利用可能にされる。
【００７４】
ミッションパブリッシャーサービスはＯＭ上で実行され、それは、提供された環境構成ファイルをミッションオーケストレーション環境に変換する。これらは、仮想マシン記述（たとえば、ラベッロ（Ravello）ブループリントおよびESXi設計）と、ネットワークおよびサービス構成ファイルとを含む。ネットワークファイルは、テストネットワークと、ゲートウェイおよびＤＮＳサーバなどのテストネットワークに関する構成とを規定する。サービスファイルは、テスト環境内の仮想マシン上で実行されるもののサービスおよび構成詳細を規定する。以下に説明されるように、一実施形態では、ネットワークは、（ビジオ（Visio）（登録商標）ダイアグラムなどの）ダイアグラムと、ＩＰアドレス、ホスト名、オープンポートおよびキーサービス、そのホスト上で実行される機能性などの特定の構成詳細を有する（ＹＡＭＬファイルなどの）人間読取可能データシリアル化言語ファイルとによって規定される。ダイアグラムは、ネットワークコンポーネントを、ＹＡＭＬファイルによって規定されるような属性を有するゲームオブジェクトとして視覚的にレイアウトするために使用される。もちろん、他のファイルタイプが利用されてもよい。
【００７５】
ネットワークベースのおよびホストベースのソフトウェアセンサが、生徒のミッション中のさまざまなシステム属性、状態、およびリアルタイム活動を監視するために、システムに組み込まれる。たとえば、ホストベースのシステムソフトウェアセンサは、システム動作と同時に実行されるシステムによって生成されるログデータと、システム動作中に実行されるプロセス、および１つ以上のシステム状態変化を検出するバックグラウンドセンサプロセスによって取り込まれた状態情報とを監視するアプリケーションを含む。
【００７６】
NXLogといった、オープンソースのマルチプラットフォームログ管理機能は、環境内で実行されて、ＯＣからログを集めてオフロードし、環境仮想マシンをテストする。システムは、（複数のソフトウェアコンポーネントからのログメッセージを集計するための共通のロギングインターフェイスを提供する）Syslogといった、情報の１つ以上のログを生成し、（ソルトオーケストレーションコマンドおよび応答から情報を取り込んでログする）ソルトログが、収集され、タグ付けされ、管理ネットワークを通してＯＣおよびＯＭ上に送信され、そこでそれらは長期格納のためにアーカイブされる。図６を参照されたい。
【００７７】
システムミッションパブリッシャーサービス
仮想マシン記述
仮想マシン記述は、以下の詳細を含む：
（１）マシン名；
（２）制御ネットワークインターフェイスＭＡＣ；および
（３）任意のデータネットワークインターフェイスＭＡＣ、ＩＰ／ＭＡＳＫ、静的またはＤＨＣＰ。
【００７８】
これらの詳細はVirtualComponents.NetworkConfクラスに変換され、それは後にnetwork.yaml configuration.Network Configurationと組合される。
【００７９】
ネットワーク構成は人間読取可能データシリアル化フォーマットＹＡＭＬファイルであり、それは、ネットワークと、それらのゲートウェイ、静的ルート、ＤＮＳサーバ、およびＤＨＣＰサーバとを規定する。サンプルネットワークファイルは、以下のとおりである。
【００８０】
表１：
【表１】
2018535802.tif 000003
【００８１】
このファイルは読み込まれ、仮想マシン記述データと組合されて、データネットワークインターフェイスのネットワーク構成に使用されるソルトピラーファイルを作成する。
【００８２】
サービス構成
サービス構成はＹＡＭＬファイルであり、それは、仮想マシン名に対応するサービスおよび構成情報を規定する。サポートされるサービスは、組み込まれた任意のソルト状態能力と、以下の項で説明されるサービスプラグインとを含む。サービス構成は２つのセクションを有し、１つめの「configurations」は、利用可能なサービスおよびそれらの特定の構成を規定し、２つめの「services」は、どの仮想マシンにどのサービスをインストールすべきかを規定する。サービス構成は、テスト環境内で、または環境を越えて再使用可能であってもよい。サービス構成の一部は、以下のとおりである。
【００８３】
表２：
【表２】
2018535802.tif 000004
【００８４】
サービス構成はまた、構成変換をサポートする。この例示的な使用は、サービス構成ファイルにおけるプレーンテキストパスワードをハッシュ済みパスワードに変換することであり、それはソルトユーザ管理状態によって使用され得る。この場合、サービス構成は、以下のように見えるであろう。
【００８５】
表３：
【表３】
2018535802.tif 000005
【００８６】
「transform」タグは、以下のデータを読み込む際に「userconf」変換を行なうようにミッションパブリッシャーに通知する（この変換方法は、包括的なシステム構成情報をシステム固有の構成コマンドに変換するために使用され、それは、ミッションデータベースにおける共通の構成構文の使用を可能にする）。高水準プログラミング言語パイソン（Python）を使用して、以下の関数が、publisher.servicetransformationモジュールにおいて規定される。
【００８７】
関数は、以下のとおりである。
表４：
【表４】
2018535802.tif 000006
【００８８】
関数は、ソルトユーザ状態によって理解される辞書構造を返して、ユーザ名を構成し、パスワードを設定する。これは、辞書からパスワードをランダムに割り当てるために、さらに拡張されてもよく、または、別の関数が書かれてもよい。
【００８９】
変換の別の例は、データネットワーク内のＤＨＣＰサーバのためにＭＡＣから静的ＩＰアドレスへのマッピングを構成することである。この変換は、仮想マシン記述およびネットワーク構成の双方を利用する。これは、仮想環境内でＭＡＣアドレスをランダムに割り当てることができるため、必要である。
【００９０】
ミッション構成例−ＤＯＳ
ミッション構成の一例を、図７を参照して説明する。
【００９１】
生徒は、特定のミッションに関してテストされ、採点され、すべての他の生徒に対してランク付けされる。仮想環境内で、仮想マシンは、複数のオペレーティングシステムおよびアプリケーションのうちの１つを実行するように構成され、各仮想マシンは、特定のウェブサイト、企業サーバなどをエミュレートする。ある生徒が、選択されたミッションに従って、ハッカーまたは防御者の役割を引き受ける。１人以上の生徒が、１人以上の仮想（ＡＩ）対戦相手および／または実在する対戦相手と対戦してもよい。
【００９２】
ある特定の実施形態では、本発明は、個人が、ゲームインターフェイスを使用するリアルな仮想環境において、他の参加者または進歩した自動化された対戦相手に対する自分の能力をテストできるようにする。
【００９３】
システムの別の局面は、リアルな産業および政府のウェブサイト、サーバ、および情報システムによって使用される他のソフトウェアを備えた現実世界のネットワーク環境をシミュレートするために、サーバベースの環境内で仮想マシンを構成することを含む。
【００９４】
開示されたシステムインフラストラクチャの局面は、ミッション作成および記録；ミッション選択に基づいたデプロイメント可能な仮想環境（仮想環境はセキュリティコンポーネントの使用を含む）；図８に示すようなファイアウォール、ＮＩＤＳ、アンチウイルス、およびデスクトップとサーバとの組合せ、を含む。
【００９５】
自動化能力を環境へ呼び出す能力；結果の検証および記録；ミッション選択に基づいてデプロイメントされた、自動化された攻撃的または防御的知能；制約および進歩についてのフィードバック（たとえば、各ミッション目標を達成する時間）；Nmap、Security Onion、Wiresharkなどを含む、ユーザがミッションで利用できるツール；練習のサードパーティ視覚化；イベント後再生のためのユーザ活動ロギング；および、生徒の結果の比較のためのリーダーボード、といった独特の仮想環境が、各ミッションについて構成される。
【００９６】
開示されたシステムがいったん構成されると、生徒には、３Ｄゲームインターフェイスといった没入型のゲームインターフェイスが提示され、そこでは、１つ以上の防御的および攻撃的ミッションオプションが、選択のために利用可能である。各ミッションは、ミッション、環境、およびゴールの詳細な説明と、攻撃／防御可視性に依存する適切な環境アセットの視覚的表示と、端末および脆弱なアプリケーションなどの環境アセットへのリアルなアクセスとを含む。
【００９７】
没入型のゲームベースのトレーニング環境では、システムは生徒に、（サイバーフォースに参加するための招待状などの）ゲームへの刺激的なエントリを、たとえばＡＩアドバイザーにプレーヤーに挨拶させ、ミッションについてのコンテキストおよび生徒の助けがなぜ重要かを提供させることによって提示し、ユーザのための初期命令を提示する。生徒がミッションをいったん選択すると、環境が構成され、利用可能なアセットの視覚的表現が、アクセスすべきクレデンシャルとともに表示される。
【００９８】
ミッションが始まると、生徒には、リソースへのアクセス、進歩／オンラインヘルプについてのフィードバック、およびアクションの記録が提供される。たとえば、生徒は、ヒントまたは秘訣を求めて、メッセージまたはクエリをＡＩアドバイザーへ送信してもよい。
【００９９】
ミッションが完了または終了すると、システムは結果を記録し、報告を提供し、誤りについてのフィードバックを生徒に与える。一実施形態では、システムは、行なわれているミッションのすべてをトレーナーが見ることができるようにするトレーナー役割を含む。トレーナーは、観察すべき生徒を選択し、そのミッションに参加することができる。トレーナーは、チャットを介して生徒にコメントを注入すること、および、ミッションをより簡単にまたはより難しくするようにパラメータを変更することができる。トレーナーはまた、ミッション中にアドバイスを提供し、または質問に答えるとともに、トレーニング記録に、生徒が上手にできたことや取り組む必要があることについてのコメントを、査定段階で提示されるフィードバックとして載せることができる。
【０１００】
開示されたシステムの他の局面は、ライブのゲームプレーの観客視覚化と、ミッション／生徒ごとの履歴結果の報告／視覚化との使用を通した、トレーナーのためのミッション監視を含む。
【０１０１】
システムのゲームプレー局面では、シナリオは、進歩した敵対的攻撃／防御戦略、開発ベクトル、および複雑なネットワークセットアップを含む。加えて、システムは、特定のスキルセットに焦点を合わせて生徒をトレーニングするためのゲーミング手法として、足場（たとえば、トレーニングプロセスの一環としてのＡＩまたはトレーナーサポートおよび対話）を使用する。ゲームレベルは、構造化されたプレーと自由プレーとの組合せを採用して、予め規定された包括的なトレーニングゴールを達成する。生徒には、生徒が前記ゴールを達成する際に生徒を誘導するためのサブタスクまたはヒントが提供される。加えて、サブタスクの合否について、ゲーム内フィードバックが提供される。以前のレベルで学習した知識に基づいて、次のレベルが構築され、当該知識を広げる。
【０１０２】
システムの他の局面では、ミッション管理コンポーネントは、以下を提供する。
（１）すべての役割、タスク、ゴール、およびミッションを規定するパラメータ全体、ならびに、ミッションを収容するために必要な仮想環境の規定を含む、ミッションプロファイルの作成。
【０１０３】
（２）ミッション管理と仮想環境管理とのオーケストレーション、ミッションプロファイルおよび生徒アクションに基づいた適切なＡＩタスクの実行、ミッション内のすべての活動の記録、ミッション内フィードバックの提供、ならびにすべての生徒の成績採点を含む、ミッションの実行。
【０１０４】
（３）すべての生徒にわたるミッション統計の提示を含む、ミッション履歴分析の生成。履歴ゲームプレーデータはまた、その戦略を経時的に学習し適合させるために、ゲーム内ＡＩ論理によって利用されるであろう。これにより、ゲームプレーは、同じミッションを繰り返し行なう場合に変わることができる。新しい生徒の新たな作戦および手法を識別するために、ゲームプレーデータリポジトリをスキャンすることもできる。
【０１０５】
（４）すべてのミッションにわたる生徒統計の提示を含む、生徒履歴分析の生成。一実施形態では、生徒は生徒プロファイルを作成し、自分のプロファイルに関連付けられたログインを使用してシステムにアクセスする。生徒の活動は、たとえば生徒のアクション、行なわれたスキル／タスクなどを記録することによって監視される。この情報はデータファイルに格納され、それは、その生徒についてのトレーニング記録としてエクスポートされてもよい。この記録は、スキル向上および後退を含む生徒の成績を見直すために使用され得る、生徒についての永続的な記録として機能する。
【０１０６】
開示されたシステムの仮想環境管理局面では、完全に実現された環境がミッションごとに提供される。仮想環境は、トレーニング体験を産業または政府機関のネットワーク環境および情報システムのリアルな表現にするために、すべての主要コンポーネントを含む。図９に示すように、環境は、以下のものを含んでいてもよい：
（１）所望の脆弱性を暴くための、サーバおよびデスクトップと適切なソフトウェアとの組合せ；
（２）典型的には小さい企業で見られるセキュリティコンポーネント：ファイアウォール、ＩＤＳなど；および／または
（３）予期されるミッションの大部分についての異なるセキュリティ制約を有する１つ以上のサブネット。
【０１０７】
ＡＩ対戦相手
上述のように、ミッション対戦相手は、ＡＩ対戦相手を含んでいてもよい（ＡＩ対戦相手は、１人以上の生きている攻撃的な生徒に対する防御的な対戦相手、または、１人以上の生きている防御的な生徒に対する攻撃的な対戦相手を含んでいてもよい）。一実施形態では、ＡＩ対戦相手は、特定のトレーニングシナリオ内で動作重要性の何かが変化したかどうかを判断するために、ログ、ネットワークメッセージ、データベースおよびデータベース状態などといったシステムのすべての局面をリアルタイムで構文解析することに焦点を合わせた、１組のアプリケーションおよびプロセスを含む。ＡＩ対戦相手はオーケストレーションエージェントと対話して情報を得て、動作変更を加える。たとえば、システムのＡＩコンポーネントがサイバー脅威シナリオにおいてデータ変化と１組の予想外のメッセージとを検出した場合、それは、そのようなシナリオの影響を知識データベースから推定し、すべての起こり得る根本的原因を判断しようと試みる。ＡＩコンポーネントが追加データを集めて原因を絞り込む際、それは、（たとえばゲーム内アドバイザー機能を通してメッセージを提示することによって、ヒント、秘訣、または警告といった）メッセージをトレーナーおよび生徒に提供してもよく、それは、潜在的な違反を改善しようとして、トレーニングシナリオ内の仮想環境に自動的に変更を加えてもよく、それは、より多くの情報を集めるために仮想環境の追加の局面を構文解析してもよく、または、それは何もせず監視し続けてもよい。このように、ＡＩ対戦相手に対する１人以上の人間の生徒間のゲームプレーは、１つ以上の可能なサイバー脅威またはシステム異常を検出すると、ＡＩ対戦相手が、典型的なアドミニストレータが行なうであろうアクションを行なう、現実のシナリオをエミュレートする。ヘルスケアトレーニング、送電網インフラストラクチャトレーニング、カスタム組織ネットワークトレーニングなどといった他の構成では、ＡＩコンポーネントの知識データベースは、目下のトレーニングおよびトレーニングシナリオに関連付けられた特定の詳細を含む。
【０１０８】
ＡＩアドバイザー
ＡＩアドバイザーは、自然言語処理（Natural Language Processing：ＮＬＰ）を使用して、ユーザの質問を理解し、適切な答えを提供する。ＡＩアドバイザーは、ゲームサーバとインターフェイス接続して、ミッションコンテキストを理解し、Ｑ＆Ａ情報をログする。ＵＩは、ＡＩアドバイザーと対話して、質問をし、答えを受信する。
【０１０９】
オブザーバー／トレーナー
トレーナーは、すべてのプレーヤーのビューを有しており、特定のプレーヤー対話を必要に応じて掘り下げることができる。トレーナーは、プレーヤーのデスクトップのミラーリングされたビューを得ることができ、それは、トレーナーがプレーヤーの動きをリアルタイムで見ることを可能にする。
【０１１０】
採点、分析、および再生
一実施形態では、ゲームまたはミッションは、（たとえば、ゲームサーバがゲームプレー活動／アクションを監視し、特定の基準に基づいて点を与えることを介して）採点される。点は、たとえばタスクを完了するのに必要なスキルの複雑性、タスクを完了するのにかかる時間、および／または他の基準を含む基準に基づいて、特定のミッションタスクに割り当てられてもよい。生徒たちがミッション中に獲得した点および他の基準（時間、検出回避、ならびに、非ミッション固有ターゲットおよびアセットの識別など）に基づいて、ある生徒がミッションスコアを得る。その生徒のスコアは、その生徒が強い、または弱い分野といったその生徒の適性を査定するために、トレーナーによって使用されてもよく、このため、その生徒のための追加のトレーニング、または特定のスキルについての他の教育をカスタマイズするために、トレーナーによって使用されてもよい。
【０１１１】
一実施形態では、プレーヤースコアはリーダーボード上に掲載されてもよく、そこで、教師／オブザーバーは、ミッション結果と、その生徒が他の生徒に対してどのように格付けされるかとを監視することができる。プレーヤーは、ある特定のミッションに対してあるレベルの点を達成するための仮想バッジを獲得してもよい（たとえば、ある特定のミッションの可能総スコアは１０００点であってもよく、少なくとも９５０点を獲得したプレーヤーのみに、そのミッションについての熟練防御者バッジが与えられてもよい）。別の実施形態では、バッジは、複数のミッションにわたってある合計点を達成したプレーヤーに与えられてもよい。プレーヤーは、ある期間中の自分の成績などについて、バッジまたはあるステータスレベルを与えられてもよい。点またはバッジは、より難しいミッションについてプレーヤーに資格を与えることを含む、プレーヤーのスキルセットの認証のために使用されてもよく（たとえば、プレーヤーの点は、プレーヤーの能力をあるレベルまで確立するために使用されてもよい）、このため、ある最低レベルの能力を必要とするミッションについてプレーヤーに資格を与える。
【０１１２】
サイバー戦士トレーニングＰＯＣについてのミッション例
ミッション設計
４つのミッション例が続く。なお、はるかにより複雑なミッションが、システムによってサポートされる。ミッション例のうちの２つは、ＡＩ駆動の防御に勝とうとする攻撃的な生徒としてのサイバー戦士を示す。最後の２つのミッション例は、ＡＩ駆動の攻撃を妨害するためにプレーする防御的な生徒としてのサイバー戦士を示す。
【０１１３】
ミッションのハイライト
（１）各ミッションへのイントロとして、簡潔なビデオが生徒に示される。
【０１１４】
（２）リーダーボードが、複数の試みと、各試みについてのスコアとを追跡する。リーダーボードは、平均スコアおよび最高スコアも追跡する。
【０１１５】
（３）ミッションは、簡単モード、中間モード、難しいモードを有し得る。選択されたモードに基づいて、ＡＩ対戦相手の攻撃性、ミッション目標、および環境複雑性が修正される。
【０１１６】
（４）ユーザがミッションを選択すると、リソースが割り当てられ、仮想環境が自動的に作成され構成される。ＡＩエレメントが構成の一部として追加される。
【０１１７】
（５）他の実施形態は、カウントダウンするスコアと、固定された持続時間を有するミッションとをサポートする。
【０１１８】
攻撃的ミッション例１
概要
このミッションでは、生徒としても知られるサイバー戦士が、内部企業ネットワークに位置するマシンからファイルを盗むタスクを課される。このミッションは、生徒が、外部に面するアプリケーションサーバ上に足がかりを得て、以前のソーシャルエンジニアリングから得られた１組の提供クレデンシャルを使用して内部ネットワークへピボットすることを必要とする。
【０１１９】
図１０は、攻撃的ミッション１である、内部サーバからのデータ窃盗のためのデータネットワークの説明を示す。
【０１２０】
以下は、図１０に示すミッションについてのネットワーク構成および各マシン上で開始される関連サービスの説明である。特に断りのない限り、すべてのネットワークマスクは／２４である。
【０１２１】
ＶＥＭコントローラは、ソルトマスターおよびnxlogサーバを実行し、他のすべてのマシンは、ソルトミニオンおよびnxlogエージェントを実行する。ファイアウォールは、ＤＭＺ内のウェブサーバが、内部ネットワーク上のファイルサーバにアクセスすることを可能にするための特定の許可を含む。
【０１２２】
ウェブサーバは、内部サーバから生じるＮＦＳマウントを有する。生徒とも呼ばれる生徒は、ローカルシャドウファイル上のパスワードクラッカーか、リモート総当たり（brute force）ツールを使用する。ログインが成功すると、ターゲットファイル（xmas_gift.txt）がホームディレクトリに入れられる。
【０１２３】
表７：
【表５】
2018535802.tif 000007
【０１２４】
詳細
外部に面するターゲットシステムは、企業ウェブサイトをエミュレートするようにシステムによって自動的に構成される。サイバー戦士は、エミュレートされたシステム上の脆弱なアプリケーションを識別し、根底的なファイルシステムへのアクセスを自分に与えるＳＱＬ注入を行ない、バックドアを注入しなければならない。サイバー戦士は次に、盗まれたクレデンシャルを使用して、危険にさらされたアプリケーションサーバからＲＤＰを通して内部ネットワーク上のターゲットマシンにアクセスし、機密データファイルにアクセスする。
【０１２５】
生徒タスク記述：
１．コード実行を提供する脆弱なアプリケーションを判断する
２．バックドアリスナまたはリバースシェルを用いて、注入用のＳＱＬコードを書く
３．ＳＱＬコードを注入する
４．公的システムへのアクセス権を得る
５．提供されたクレデンシャルを使用して、内部ネットワーク上のマシンにアクセスする
６．攻撃者マシンへファイルを抽出する。
【０１２６】
タスク記述のタスク採点（好ましくは、難易度に基づいて１組の点が各ミッション目標に割り当てられ、これらの点はユーザ履歴で追跡され、生徒がどれくらい、およびどの難易度までプレーしたかについての指標として使用される）
１．１５点
２．２０点
３．２０点
４．５点
５．５点
６．１０点。
【０１２７】
システム構成
１．公的ネットワーク、ＤＭＺネットワーク、および内部ネットワークという３つのネットワークセグメントが自動的に構成される。
【０１２８】
２．ＤＭＺへの外部アクセスを制限するために、単一のファイアウォールが、「三脚」モデルを利用するシステムによって自動的に構成される。
【０１２９】
３．生徒（攻撃者）、リナックス（登録商標）ファイアウォール、リナックスウェブアプリケーションサーバ、ウィンドウズ（登録商標）２０１２ウェブアプリケーションサーバ、およびウィンドウズ７内部ターゲットのために、カーリーリナックス（Kali Linux）が構成される。
【０１３０】
４．特権ユーザとして実行するシステムによって、Apache w/phpおよびsqlが構成される。
【０１３１】
詳細な設計
システムはミッションを以下のように自動的に構成し、セットアップする：
１．ＳＱＬ注入のためのMariaDB
２．ウェブサイトでウェブフォーム（Webform）を作成する
３．システムは、シミュレートされたレポを自動的にセットアップし、そこに、クラッカーツールおよび他のツールが存在し、そこに、生徒はファイアウォールの外側からツールをダウンロードする
４．システムは生徒に、ファイアウォールの外側のマシン上のシェルを提供する。
【０１３２】
ミッション
１．ウェブフォームを通してリバースシェルをＳＱＬ注入する。リバースシェルが接続を開始すると、成功である。
【０１３３】
２．クラッカーツールをダウンロードする。netcatまたは同様のツールについての知識を必要とする。最初に、それをローカルウェブサーバにコピーする。
【０１３４】
３．開いたテルネット（telnet）ポートを有するコンピュータを識別する。クラッカーツールを使用して、それへとハッキングする。
【０１３５】
４．被害者へとテルネットし、「クリスマスプレゼント」―gift.txtと呼ばれるファイルを抽出する。最初に、生徒はコンテンツをカット＆ペーストしてもよい。生徒はファイルを抽出しなくてもいいであろう。プレゼントは、テルネットが最初にユーザを配置するであろう場所に位置するであろう。
【０１３６】
成功は、以下のようにシステムによって規定される：
１．生徒がファイルを抽出した（コンテンツをコピーした）場合
２．個々のステップごとの点。
【０１３７】
攻撃的ミッション２
概要
このミッションでは、生徒としても知られるサイバー戦士が、システム上で分散型サービス妨害攻撃を開始する。
【０１３８】
図１１は、攻撃的ミッション２（ＤＯＳ攻撃）のネットワーク接続性の説明を示す。
以下は、ネットワーク構成および各マシン上で開始される関連サービスの説明である。特に断りのない限り、すべてのネットワークマスクは／２４である。
【０１３９】
表８：
【表６】
2018535802.tif 000008
【０１４０】
詳細
サイバー戦士には、ターゲットシステム上でサービス妨害攻撃を開始する３つのマシンが提供される。生徒は、利用可能なマシンをマルチスレッド的に利用するＤｏＳスクリプトを書かなければならない。全体として、サイバー戦士はＸ分間サービスを妨害しなければならず、ここでＸは構成可能パラメータである。
【０１４１】
タスク記述：
１．ＤｏＳ攻撃での使用のためにマシンおよび環境を準備する；
２．スクリプトを作成する；
３．攻撃を実行し維持する。
【０１４２】
タスク記述の各々に関連する際のタスク採点
１．１５点
２．３０点
３．３０点。
【０１４３】
詳細な設計
システムはミッションを以下のように自動的に構成し、セットアップする。
【０１４４】
１．ホワイトハウスのウェブサイトがスクラップされ実行されている状態で、ウェブサーバが生徒のために構成される。
【０１４５】
２．スピンサイクルを行なうことによって大きい要求をシミュレートするシステムによって、ワーカープロセスが作成される。これは、フォーム処理をシミュレートするためである。
【０１４６】
３．システムによって、大きいバイナリファイルが提供される。
４．システムは、ＣＰＵ、メモリ、ネットワークを監視し、入ってくるネットワークを制御する。
【０１４７】
５．ポート８０を開く。
６．生徒が攻撃している環境と一致するように、サーバを準備する（単純／上級）。
【０１４８】
７．オプションとして、負荷が分散された１組のウェブサーバが、システムによって構成される。
【０１４９】
８．生徒は、複数の攻撃システム（ＤＤｏＳ）を使用する。
単純ミッション
１．大きいバイナリファイル（２０１５年予算）をダウンロードする。生徒がこの大きいファイルをダウンロードした場合のみ、生徒はシステムをＤＤＯＳするであろう
２．wgetツールをなど介した、単一コンピュータ／マシンへの複数のデータアクセス。
【０１５０】
上級ミッション
システムは、ヒットする大きいデータベース要求をＣＰＵおよびネットワークトラフィックに関与させるウェブサイト上にフォームを提供するなどのより一層の複雑性を任意のミッションに追加してもよい。
【０１５１】
生徒の成功は、以下の場合に規定される：
１．生徒が、ＣＰＵ、メモリ、およびネットワークを監視することができる
２．それがしきい値（８０％）に達した後で、またはユーザが所望の攻撃ベクトルを開始したことの確認に基づいて、それを強制終了する。
【０１５２】
防御的ミッション１
概要
このミッションでは、生徒としても知られるサイバー戦士が、起こり得るデータ抽出を診断し、発見し、ブロックするであろう。
【０１５３】
図１２は、抽出シナリオのためのデータネットワークを示す。明確にするために、管理ネットワークは省略されているが、それは他のすべてのシナリオのものと一致する。
【０１５４】
以下は、ネットワーク構成および各マシン上で開始される関連サービスの説明である。特に断りのない限り、すべてのネットワークマスクは／２４である。ファイアウォールノードは、サブネットを互いにルーティングする内部ネットワークのためのルータとして機能する。
【０１５５】
表９：
【表７】
2018535802.tif 000009
【０１５６】
詳細
サイバー戦士は、ログをスキャンし、HTTP.sysにおける脆弱性に関連するデータ抽出問題があることを示唆するエラーコードを識別し、影響を受けるシステムを識別し、抽出コードを突き止め、それを除去しなければならない。
【０１５７】
タスク記述
１．ログをスキャンする
２．脆弱性がないか、サーバをスキャンする
３．脆弱性を修正する
４．抽出コードを突き止め、ブロックする。
【０１５８】
タスク記述の各々に関連する際のタスク採点
１．１０点
２．１０点
３．１５点
４．１５点。
【０１５９】
必要な環境およびツール
詳細な設計
システムはミッションを以下のように自動的に構成し、セットアップする：
１．３つのサブネットが複数のシステムで構成される
２．１つ以上のシステムがデータを抽出している
３．シミュレートされたウェブサーバおよびトラフィック生成
４．ネットワークが、ポート８０および他のアウトバウンドトラフィックでセットアップされる
５．生徒は、マシンのうちの１つの上のコンソールにドロップされる。
【０１６０】
６．トラフィックgenは、単純なwgetループである。それらのうちの１つは悪いウェブサイトである。
【０１６１】
単純ミッションバージョン：
１．非標準ポートへの１回の抽出を検出する。
【０１６２】
上級ミッションバージョン：
１．複数の抽出
２．（ポート８０上で）netcatを使用してデータをゆっくり送信するシステムのうちの１つを有する
３．強制終了だけでは不十分であるように、抽出プロセスを自動再開可能ににする
４．侵入プロセスおよびその位置の追加の難読化。
【０１６３】
ミッション
１．防御者は、すべての３つのサブネット上のトラフィックを監視し、異常を探さなければならない。
【０１６４】
２．防御者は、以下のことをしなければならない：ネットワークをスキャンする；すべての３つのサブネットにログインする；抽出トラフィックを分離するために、Snort/Tcpinfoのようなパケット監視を有する；抽出をシャットダウンする；ユーザを識別する。
【０１６５】
成功：防御者は抽出を識別してそれをシャットダウンする；そして、防御者はユーザを識別する。
【０１６６】
防御的ミッション２
概要
このミッションでは、生徒としても知られるサイバー戦士が、マシンのクラスタ内のスレーブ上の間違って構成されたＮＦＳを識別し、Trojanを除去しなければならない。
【０１６７】
詳細
ＡＩ攻撃者がいったん、間違って構成されたＮＦＳを開発し、Trojanを置くと、サイバー戦士は、間違った構成を有するスレーブを見つけるためにクラスタ内のマシンをスキャンするであろう。次に、サイバー戦士は、脆弱性をブロックするために、間違った構成を直すであろう。次に、サイバー戦士は、Trojanを見つけてそれを除去するであろう。
【０１６８】
タスク記述
１．間違った構成がないか、クラスタをスキャンする
２．ＮＦＳを構成する
３．Trojanを突き止め、それを除去する。
【０１６９】
タスク記述の各々に関連する際のタスク採点
１．１０点
２．５点
３．１５点。
【０１７０】
必要な環境およびツール
詳細な設計
システムはミッションを以下のように自動的に構成し、セットアップする：
１．複数のサブネットＡ、Ｂ、Ｃを有するＮＦＳ環境。ＡはＮＦＳを有し、ＢはＮＦＳを使用し、ＣはＮＦＳを有さず使用しない
２．ルートによって所有され、すべてによって実行可能である指標プロセスである、Trojanを植え付ける。また、Trojanではない他のファイルを必要とする
３．複数の間違った構成
４．生徒はAdminシェルにドロップされる。
【０１７１】
生徒のミッション
１．誰が公認サブネットの外側へエクスポートしているかを見つけ出す必要がある
２．Ｎ個のＮＦＳサーバすべてを発見し、テキストファイルに名前を掲載する
３．正しい許可を保証する。間違った構成に＊を入れて、防御者にそれを発見させる
４．悪いものにログインすることによってそれを直し、configを直してＮＦＳを再開する
５．実行中のTrojanを発見する。おそらくこれは、生徒がそれを強制終了しない場合にＮＦＳ構成を元に戻す。
【０１７２】
成功
１．防御者は、間違って構成されたＮＦＳサーバをすべて識別した
２．防御者は構成を修正した
３．防御者はTrojanを発見して無効にした。
【０１７３】
装置の上述された構成およびそこからの方法は、この発明の原理の適用の単なる例示であり、他の多くの実施形態および変更が、請求項で定義されるようなこの発明の精神および範囲から逸脱することなくなされ得る、ということが理解されるであろう。
【図１】
2018535802.tif 000010
【図２】
2018535802.tif 000011
【図３】
2018535802.tif 000012
【図４】
2018535802.tif 000013
【図５】
2018535802.tif 000014
【図６】
2018535802.tif 000015
【図７】
2018535802.tif 000016
【図８】
2018535802.tif 000017
【図９】
2018535802.tif 000018
【図１０】
2018535802.tif 000019
【図１１】
2018535802.tif 000020
【図１２】
2018535802.tif 000021
【国際調査報告】
2018535802.tif 000022