(57)【要約】  方法、装置、及び、システムは、大規模かつ現実のコンピュータネットワークのシミュレーションを行うために開示される。仮想行為者は、ネットワーク化された装置又は応答を用いた人間の行動及びネットワーク化された設備の自動機能を統計的にエミュレートし、それらの確率論的な行為は、行動エンジンによりバッファプールにおいて待ち行列に入れられる。抽象機械エンジンは、各行為者に必要な最小限のインターフェースを作り出し、そしてインターフェースは、互いにネットワークの全体において持続的に通信し、現実的なネットワークトラフィックを形成するために現実及び仮想のネットワークリソースと通信する。ネットワークは、ハッカーになりすますためにネットワークの偽りの表示で応答することにより、ネットワークマッピングアプリケーション等の外側の刺激に応答することができ、行為者は、それらが操作する、ソフトウエアにより定義されたネットワークを変更することにより応答することができる。
2014506045.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータネットワークのシミュレーション方法であって、
ユーザから、複数のオンライン行為者に対してユーザにより定義されたモデルを受け取る工程、ここで各行為者は、ネットワーク化された設備又はネットワーク化された装置を操作する人間のシミュレーションを行い、該受け取ったモデルは、少なくとも一つの行為及び対応する各行為に対して該行為が起こる確率及び該行為が所定の単位時間に起こる回数を定義し、
動作可能なようにメモリに接続された少なくとも一つのプロセッサを用いて、統計エンジンを用いて前記対応する確率に基づいて各行為者に関連付けられた行為の計画スケジュールを決定する工程、
各行為者に対して、固有のメディアアクセス制御（ＭＡＣ）アドレスを確立する工程、
各行為者に対して、インターネットプロトコル（ＩＰ）アドレスを予約する工程、及び、
前記計画スケジュールに基づいて各行為者に対してコンピュータネットワーク上でネットワークトラフィックを送信する工程、ここで各行為に対する該ネットワークトラフィックは、前記ＭＡＣ及びＩＰアドレスを介して前記関連付けられた行為者に起因し、前記コンピュータネットワーク上において前記ネットワーク化された設備及び人間により操作されるネットワーク化された装置のシミュレーションを行う、を有することを特徴とする方法。
【請求項２】
前記モデルを用いて各行為者に対する記憶バッファを生成する工程、及び、
各行為者に関連付けられた行為の前記計画スケジュールを、対応する前記バッファに加える工程、を更に有することを特徴とする請求項１に記載の方法。
【請求項３】
所定の頻度で各行為を前記バッファから引き出す工程を更に有することを特徴とする請求項２に記載の方法。
【請求項４】
各バッファをソフトウエアクロックに関連付ける工程、及び、
前記関連付けられたソフトウエアクロックに従い、所定の頻度で各行為を前記バッファから押し出す工程、更に有することを特徴とする請求項２に記載の方法。
【請求項５】
前記ＭＡＣ及び前記ＩＰアドレスは、仮想ネットワークカードに関連付けられていることを特徴とする請求項１に記載の方法。
【請求項６】
行為者のアドレスに関してネットワークマッピングツールからの要求を受け取る工程、及び、
要求された前記行為者の前記ＩＰアドレスを含むパケットで前記要求に応答する工程を更に有することを特徴とする請求項１に記載の方法。
【請求項７】
前記要求は、前記コンピュータネットワークの外側から受け取られることを特徴とする請求項６に記載の方法。
【請求項８】
行為がターゲットとする現実のネットワークリソースを確認する工程、
確認された前記リソースを、決定された前記計画スケジュールに加える工程、及び、
プラグインを、確認された前記リソースに向ける工程を更に有することを特徴とする請求項１に記載の方法。
【請求項９】
前記受け取る工程及び前記決定する工程は、行動エンジンアプリケーションを介し、前記送信する工程は、前記アプリケーション及びプラグインの外部にあるソフトウエアを呼び出すプラグインを介して実行されることを特徴とする請求項１に記載の方法。
【請求項１０】
前記ネットワークトラフィックを送信する工程は、各行為者にとって持続的なものであり、ユーザにより停止されるまで継続することを特徴とする請求項１に記載の方法。
【請求項１１】
シミュレーションされた前記ネットワーク化された設備は、ウエブサーバ、プリントサーバ、記憶サーバ、及び、プリンタからなるグループから選択されることを特徴とする請求項１に記載の方法。
【請求項１２】
前記人間により操作される、シミュレーションされた前記ネットワーク化された装置は、デスクトップ型、ノートブック型、又は、タブレット型のパーソナルコンピュータ（ＰＣ）、ワークステーション、パーソナルデジタルアシスタント（ＰＤＡ）、ボイスオーバーインターネットプロトコル（ＶｏＩＰ）電話、ネットワークアプライアンス、又は、スマートフォンを含むことを特徴とする請求項１に記載の方法。
【請求項１３】
前記工程は、それぞれ、示された順番で実行されることを特徴とする請求項１に記載の方法。
【請求項１４】
各工程は、操作可能にメモリに接続された少なくとも一つのプロセッサにより実行されることを特徴とする請求項１に記載の方法。
【請求項１５】
一つ又は複数の機械に請求項１の工程を実行させるための指令を示す情報を具現化することを特徴とする、機械が読み取り可能な有形の記憶媒体。
【請求項１６】
コンピュータプログラムにおける指令を実行するコンピュータシステムであって、前記コンピュータプログラムの指令は、請求項１の工程を実行するためのプログラムコードを有することを特徴とするコンピュータシステム。
【請求項１７】
現実のコンピュータネットワークを保護するために偽りの見かけ上のコンピュータネットワークを投影する方法であって、
物理的コンピュータネットワークを提供する工程、ここで該物理的コンピュータネットワークは現実の物理的構成を有し、
構成ファイルから、ネットワーク構成の第１の偽りの見かけ上の表示の定義を受け取る工程、
構成ファイルから、ネットワーク構成の第２の偽りの見かけ上の表示の定義を受け取る工程、ここで前記第１及び第２の偽りの見かけ上の表示は互いに異なり、ネットワーク構成の該第１及び第２の偽りの見かけ上の表示は前記物理的コンピュータネットワークの前記現実の物理的構成とは異なり、
前記コンピュータネットワークにおけるノードの数及び該ノードの各々のインターネットプロトコル（ＩＰ）アドレスの識別のためにユーザにより実行されるネットワークマッピングツールからの要求を、前記物理的コンピュータネットワークに対して受け取る工程、
前記ユーザが前記物理的構成の偽りの表示を見ていることを判定する工程、ここで該判定は該ユーザのネットワーク位置に基づいて行われ、
ネットワークマッピングツールとともに前記要求の関連性に基づいて前記第１又は前記第２の偽りの見かけ上の表示を選択する工程、ここで該選択は、前記ユーザが前記物理的構成の偽りの表示を見ていることの判定に基づいて行われ、
選択された前記第１又は第２の偽りの見かけ上の表示に基づいて前記要求に対する応答を作る工程、ここで該応答は、選択された該第１又は第２の偽りの見かけ上の表示に応じたノードの偽り数及び該ノードの各々の少なくとも一つの偽りのＩＰアドレスを含み、及び、
作られた前記応答を前記ネットワークマッピングツールに送信する工程、を有することを特徴とする方法。
【請求項１８】
前記ユーザの前記ネットワーク位置は、提供された前記物理的コンピュータネットワークの外側であることを特徴とする請求項１７に記載の方法。
【請求項１９】
二つ以上の前記ノードの間で送信されるトラフィックの種類に対する前記ネットワークマッピングツールからの第２の要求を、前記物理的コンピュータネットワークに受け取る工程、
選択された前記第１又は第２の偽りの見かけ上の表示に基づいて前記第２の要求に対する第２の応答を作る工程、ここで該第２の応答は、前記２つ以上のノードの間で送信されるトラフィックの偽りの種類を含み、及び、
作られた前記第２の応答を前記ネットワークマッピングツールに送信する工程、を更に有することを特徴とする請求項１７に記載の方法。
【請求項２０】
トラフィックの前記種類は、電子メールトラフィック、プリンタトラフィック、及び、ビデオトラフィックからなるグループから選択されたネットワークトラフィックを含むことを特徴とする請求項１９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願への相互参照）
本出願は、２０１１年１２月１５日に出願された米国出願Ｎｏ．１３／３２７，１５０の継続出願であって、それに基づく優先権を主張するものであり、その米国出願は、２０１０年１２月１５日に出願された米国の仮出願Ｎｏ．６１／４２３，５２８の利益を主張するものであり、これらの上記出願は、全ての目的のためにそれらの全体において参照することによりここに援用される。
【０００２】
（連邦政府による支援を受けた研究又は開発の下になされた発明の権利に関する申し立て）
不適用。
【０００３】
本出願は、概して、コンピュータネットワークの構築に関し、特に、ライブ、複雑、かつ、マルチノードのコンピュータネットワーク環境のシミュレーションに関する。
【背景技術】
【０００４】
コンピュータネットワークは、その大きさや高度化という点で成長してきた。企業、政府、及び、他の組織は、それらのコンピュータネットワークが、顧客／クライアント、販売者及び供給者、公衆、及び、その他のインターネットを介した組織の外側との通信と同様に、従業員のコンピュータの中における内部通信を可能とするように広がるのを見てきた。
【０００５】
そのようなネットワークのネットワークトラフィックは、それに相応して広がってきている。ネットワークトラフィック、例えば、ウエブサーバからの電子メールのチェック、データベース及びファイルサーバへのアクセス、プリンタサーバ又はプリンタへの印刷、又は、ワールド・ワイド・ウエブのサーフィンを行う従業員からのネットワークトラフィックは、通常、インターネットプロトコル（ＩＰ）ネットワークを駆け巡るパケットから構成されている。通常のネットワークトラフィックの中には、人間であるユーザが積極的にネットワークに接続したときにユーザにより開始されるものがある。営業日が経過するように、トラフィックは引き、満ちる。通常のネットワークトラフィックの中には、即時の人間の相互作用の結果ではない自動的なプロセスにより開始されるものがある。例えば、ユーザのパーソナルコンピュータ（ＰＣ）ワークステーションにおける電子メールソフトウエアは、新しい電子メールが来ているかどうかを５分毎にチェックするように、自動的に電子メールサーバに要求を送ることができる。他の例として、バックアップファイルサーバは、仕事の日の毎日午前２時にアーカイブを開始することができる。このトラフィックは、スケジュール時間に応じて行き来する。
【０００６】
ルータ、スイッチ、ブリッジ、ハブ、及び、リピータなど、そのようなネットワークを実現するものがより安価かつより高度になるにつれて、ネットワークは、過去に可能であったよりもはるかに多くの同種のコンピュータワークステーションとサーバとの間の接続だけでなく、異なる種類のネットワークデバイスとの接続を促進するように拡張することができた。同時に、コンピュータネットワークに無線で（又は、有線で）接続することができる、パワフルなスマートフォン、パーソナルデジタルアシスタント（ＰＤＡ）、タブレットコンピュータ、及び、その他の携帯電子機器は、爆発的な人気となっている。企業は、より信頼性が向上して使い勝手が簡単になるにつれて、より多くのボイス・オーバー・インターネット・プロトコル（ＶｏＩＰ）電話、マルチ機能スキャナ／ファックス／コピー機、及び、その他のネットワーク化された器具を購入している。これらの機械は、企業のネットワークに接続される。
【０００７】
その結果生じる接続機器及び自動化された機器及び人間により操作される機器の異種混合の数における規模は、ネットワークに対して複雑なトラフィックパターンを作成することになる。現実のライブネットワークはとても複雑であるため、それは本質的には非決定的である。
【０００８】
近年、政府は、現実のネットワークから遮断されている、大規模かつ現実的なネットワーク上の装置及び人間を検査することに関心を持ってきている。例えば、国防高等研究計画局（ＤＡＲＰＡ）は、米国サイバー研究開発技術の現実的かつ定量化可能な評価を提供するため、ナショナル・サイバー・レンジを開発している。ナショナル・サイバー・レンジは、サイバー攻撃に対する防御を行うための現実的な状況において、ソフトウエア、ハードウエア、及び、人間を検査するために用いることができる。それは、脆弱性を検査することに加えて、恐らく、攻撃的なサイバー兵器及び戦闘被害評価ツールを検査することにも用いることができる。大規模なネットワークを作り出すため、設計者は、何百万ドルもの価値のあるコンピュータハードウエアを調達してきた。
【０００９】
多数のサーバ、ワークステーション、及び、その他のネットワーク化された設備及び装置を一緒に接続することにより、現実的な環境を作り出すことができる。しかしながら、コンピュータ設備は急速に陳腐化するため、その設備は最新の脅威に関係したままでいるために２〜３年毎に新しくしなければならない。
【発明の概要】
【発明が解決しようとする課題】
【００１０】
青チーム／赤チームの訓練及び他の必要性のために、多数の異なる異種のコンピュータ及びその他のネットワーク化された装置をエミュレート可能な、より安価なサイバーレンジのための技術が必要である。また、ハッカーに対するより良い防御を行うための必要性がある。
【課題を解決するための手段】
【００１１】
本出願は、一般的に、現実ネットワークのようなネットワークのシミュレーションを行う、大規模かつ現実的なコンピュータ・ネットワーク・シミュレーション・ソフトウエア・ツールのための方法、装置、及び、システムを対象としている。一つの実施例において、ネットワーク・シミュレーション・エンジンは、行為者が居住している疑似ネットワーク環境及びユーザにより設計されたシナリオに基づく行為を生成してシミュレーションを行うソフトウエアである。それは、持続的に、そのシナリオが継続する期間ずっと、これらの行為者、行為、及び、疑似ネットワークとともに一緒に結び付き、現実的で一貫性のある疑似ネットワークトラフィックを提供する。
【００１２】
本発明の実施例は、コンピュータネットワークのシミュレーション方法に関する。その方法は、ユーザから、複数のオンライン行為者に対してユーザにより定義されたモデルを受け取る工程、ここで各行為者は、ネットワーク化された設備又はネットワーク化された装置を操作する人間のシミュレーションを行い、該受け取ったモデルは、少なくとも一つの行為及び対応する各行為に対して該行為が起こる確率及び該行為が所定の単位時間に起こる回数を定義し、動作可能なようにメモリに接続された少なくとも一つのプロセッサを用いて、統計エンジンを用いて前記対応する確率に基づいて各行為者に関連付けられた行為の計画スケジュールを決定する工程、各行為者に対して、固有のメディアアクセス制御（ＭＡＣ）アドレスを確立する工程、各行為者に対して、インターネットプロトコル（ＩＰ）アドレスを予約する工程、及び、前記計画スケジュールに基づいて各行為者に対してコンピュータネットワーク上でネットワークトラフィックを送信する工程、ここで各行為に対する該ネットワークトラフィックは、前記ＭＡＣ及びＩＰアドレスを介して前記関連付けられた行為者に起因し、前記コンピュータネットワーク上において前記ネットワーク化された設備及び人間により操作されるネットワーク化された装置のシミュレーションを行う、を有する。
【００１３】
いくつかの実施例は、現実のコンピュータネットワークを保護するために偽りの見かけ上のコンピュータネットワークを投影する方法に関する。その方法は、物理的コンピュータネットワークを提供する工程、ここで該物理的コンピュータネットワークは現実の物理的構成を有し、構成ファイルから、ネットワーク構成の第１の偽りの見かけ上の表示の定義を受け取る工程、構成ファイルから、ネットワーク構成の第２の偽りの見かけ上の表示の定義を受け取る工程、ここで前記第１及び第２の偽りの見かけ上の表示は互いに異なり、ネットワーク構成の該第１及び第２の偽りの見かけ上の表示は前記物理的コンピュータネットワークの前記現実の物理的構成とは異なり、前記コンピュータネットワークにおけるノードの数及び該ノードの各々のインターネットプロトコル（ＩＰ）アドレスの識別のためにユーザにより実行されるネットワークマッピングツールからの要求を、前記物理的コンピュータネットワークに対して受け取る工程、前記ユーザが前記物理的構成の偽りの表示を見ていることを判定する工程、ここで該判定は該ユーザのネットワーク位置に基づいて行われ、ネットワークマッピングツールとともに前記要求の関連性に基づいて前記第１又は前記第２の偽りの見かけ上の表示を選択する工程、ここで該選択は、前記ユーザが前記物理的構成の偽りの表示を見ていることの判定に基づいて行われ、選択された前記第１又は第２の偽りの見かけ上の表示に基づいて前記要求に対する応答を作る工程、ここで該応答は、選択された該第１又は第２の偽りの見かけ上の表示に応じたノードの偽り数及び該ノードの各々の少なくとも一つの偽りのＩＰアドレスを含み、及び、作られた前記応答を前記ネットワークマッピングツールに送信する工程、を有する。
【００１４】
前記方法は、また、二つ以上の前記ノードの間で送信されるトラフィックの種類に対する前記ネットワークマッピングツールからの第２の要求を、前記物理的コンピュータネットワークに受け取り、選択された前記第１又は第２の偽りの見かけ上の表示に基づいて前記第２の要求に対する第２の応答を作り、該第２の応答は、前記２つ以上のノードの間で送信されるトラフィックの偽りの種類を含み、及び、作られた前記第２の応答を前記ネットワークマッピングツールに送信することを含む。
【００１５】
その他の実施例は、前記方法のための指示を用いるか又は記憶する、機械が読み取り可能な有体の記憶媒体及びコンピュータシステムに関する。
【００１６】
ここに開示されかつ提案された実施例の本質及び利点の更なる理解は、本明細書の残りの部分及び添付の図面を参照することにより実現することができる。
【図面の簡単な説明】
【００１７】
【図１】実施例による行動エンジン及び抽象機械エンジンを示している。
【図２Ａ】実施例による簡略的なネットワーク範囲を示している。
【図２Ｂ】図２Ａのネットワーク範囲における仮想の行為者及びネットワーク設備を示している。
【図３】実施例によるコンピュータネットワークのグラフィカルなネットワークモニタ図を示している。
【図４Ａ】実施例による検査ネットワークにおける参加者を示している。
【図４Ｂ】図４Ａにおけるネットワークの仮想化ワークステーションを示している。
【図４Ｃ】図４Ｂのネットワークの範囲内における隠れワークステーションを示している。
【図５】実施例によるプロセスのフローチャートである。
【図６】実施例によるプロセスのフローチャートである。
【発明を実施するための形態】
【００１８】
行動エンジン及び抽象機械エンジンを用いることにより、大規模かつ現実的なコンピュータネットワークのシミュレーションを行うことができる。行動エンジンは、「行為者」を作り出し、ネットワーク化された設備、及び／又は、ネットワーク化された装置を操作する人間のシミュレーションを行う。行為者は、持続性があり、人間の操作者により止められるまで、スケジュールに従って動作を継続する。抽象機械エンジンは、コンピュータの比較的小さな設定の範囲内において、シミュレーションが行われる行為者に必要な最小の仮想ネットワークインターフェースを確立する。各行為者に対する最小の仮想ネットワークインターフェースは、いくつかの場合において、固有のメディアアクセス制御（ＭＡＣ）アドレス及びインターネットプロトコル（ＩＰ）アドレスのみから構成することができる。インターフェースは、互いに通信し、かつ、行動モデルに基づいてネットワーク上の現実の設備と通信する。行為者数は、起動するために行為者自身の専用のハードウエアを要求しないため、大幅に拡大することができる。
【００１９】
抽象機械と仮想機械との少なくとも一つの相違は、抽象機械がそれらがオペレーティングシステムとともに機械により作り出されたかのようにみえる特定のタスクを実行することである。
【００２０】
一つの実施例において、行動エンジンは、オンライン人間の経験的に導かれた行動、及び、モデルからのファイル、データベース、又は、その他の記憶位置からネットワーク設備を入力する。そのモデルは、その特徴をカスタマイズするためにユーザにより作り出され、かつ、変更することができる。
【００２１】
モデルは、平均的なネットワークユーザの特徴を時間ごとの行動に分割することができる。例えば、午前８時から午前９時まで、経理部の従業員は、平均５つの電子メールを送信し、発送部と通信するためにインスタントメッセージを２０回利用し、１５のウエブページを引き上げることなどができる。午前９時から午前１０時まで、同じ従業員は、平均３０分間で、平均２つの電子メールを発送部に送り、５つのインスタントメッセ時を送り、３つのウエブページを引き出し、ボイス・オーバー・インターネット・プロトコル（ＶｏＩＰ）電話を利用することのみを行うことができる。平均値のそれぞれは、標準偏差／ばらつき、及び、それらに関連する他の統計的情報を有してもよい。昼食時間及び晩の時間を含む他の時間は、必要に応じてシミュレーションによりモデル化することができる。週末及び休日に近い就業日と同様に、月曜日から金曜日までモデル化することができる。日は、時間、又は、時、分、秒のブロックなどにより細分化することができる。
【００２２】
状態に基づくモデルを使用することもできる。従業員は、「仕事入り」、「プロジェクトで忙中」、又は、「昼食のために休憩中」などの異なる状態を有するものとしてモデル化することができる。
【００２３】
頻度法を用いることもできる。例えば、従業員は一日に１５回電子メールをチェックするようにモデル化される。
【００２４】
行動エンジンは、各行為が毎日同じ時間に正確に起こらないように、モデルの経験的データごとに結果として生じるネットワークトラフィックを「無作為化」する。行動エンジンは、オンライン行為者の設定を作り出し、各行為者は各自のタイムラインやイベントのスケジュールを有する。その結果、各行為者は、ネットワーク化された装置を操作する人間、又は、人間以外に操作されるネットワーク化された設備のシミュレーションを行う。
【００２５】
抽象機械エンジンは、様々な行為者に要求される最小ネットワークインターフェースを決定する。多くの場合、必要なのはＭＡＣアドレス及びＩＰアドレスだけである。ほとんどメモリ及びリソースを用いない小さなフットプリントインターフェースは、全体の仮想機械又はエミュレータよりもかなり簡素なものとなり得る。小さなフットプリントのため、行為者の数及び結果として生じるインターフェースの数は、何十、何百、何千、又は、更に多くのネットワーク上の行為者を含むように増加することができる。
【００２６】
結果として生じるシミュレーションされたネットワークは、ハッカー志望者になりすますこと、システム管理者を訓練すること、及び、ネットワークハードウエア及びソフトウエアを検査することを含み、様々な目的に用いられる。ネットワークマッピングソフトウエア（それは、リソースを発見するためにネットワークの接続を確認する）を有するユーザは、抽象機械エンジンにより作り出された過剰の仮想インターフェースを「見る」。パケットスニファーは、ちょうどそれが現実のネットワーク上のトラフィックを見るように、シミュレーションされたコンピュータネットワーク上のトラフィックを「見る」。シミュレーションされたネットワークは、事実上、現実のネットワークと区別することができない。
【００２７】
（ホストに基づくネットワークハイパーバイザ）
見かけ上のネットワークの様々な層における抽象機械を投影するため、ホスト抽象化層（物理的ホストオペレーティングシステムにおけるハードウエア抽象化層に類似している）を介して、一つ又は多くのホストのリソースを抽象化して組織化することにより、多数の見かけ上のネットワークを積極的に作り出すことが可能である。このホスト抽象化層は、「ホストに基づくネットワークハイパーバイザ」と呼ばれることもある。
【００２８】
ホストに基づくネットワーク「ハイパーバイザ」メカニズムは、ホストリソース抽出のプロセスを介して作り出すことができる。管理者、ユーザ、ハッカー等のネットワークの操作者は、物理的スイッチ、ホスト、及び、ケーブルの敷設等の実在の物理的に構築されたネットワークを観察するのではなく、様々なネットワーク操作を実行するときの観察及び相互作用に基づいて把握される見かけ上のネットワークを観察している。ネットワーク操作者が観察するものは、必ずしも、現実のスイッチング及びホスト構造トポロジーでなくてもよいが、それはネットワークにおける操作者の存在の固有点に基づく見かけ上のネットワーク、及び、所定の時間において実行されることになる操作である。更に、スイッチ及びホストの現実のトポロジーが一つだけ存在するかもしれないが、ユーザがどのようにその現実のネットワークを観察して利用するかに応じて、多数の見かけ上のネットワークが存在し得る。
【００２９】
ハイパーバイザに関して、３つの異なるソフトウエアプログラムを含むエージェントは、サービス／デーモンとして、ホストオペレーティングシステムの様々な層にインストールすることができる。各エージェントの目的は、ホストのリソースを管理すること、それらを外部コントローラ（これは、ホストに基づく前述のネットワークハイパーバイザとしての役割を果たすことができるものである）に提供すること、及び、コンピュータネットワーク上の存在点として振る舞うことを可能にすることである。エージェントは、一つ又は多数のネットワーク上の多数のホストにインストールすることができ、全てのネットワークは、それらのホストのリソースを、単一のホスト抽象化層（ホストに基づくネットワークハイパーバイザとしても知られている）を作り出すために外部コントローラに提供することになる。
【００３０】
ホストエージェントの範囲内の３つのプログラムのうちの第１のプログラムは、「管理サービス」であり、ホストオペレーティングシステムのユーザスペースにインストールされる。このプログラムは、このローカルエージェントをエージェントの大規模ネットワークに接続するためにしばしば必要とされるそのホストの命令及び制御の通信を扱う。外部コントローラは、コンピュータネットワーク上へのオーバレイとして抽象物を配置及び制御するため、格子としてのエージェントのカテゴリを調整する。管理サービスの他の機能は、他の２つのローカルエージェントプログラムを管理することである。
【００３１】
物理的、仮想的、又は、ソフトウエアで定義されたネットワークにおいて観察可能な存在及びトラフィックの流れを生成している間、ホストに基づくプログラム可能なソフトウエアエージェントが実在するユーザ及びシステムの行動を模倣することができることは実証されてきた。このプロセスは、「行動仮想化」と呼ばれることがある。行動仮想化は、抽象行為者、抽象機械、抽象サービス、及び、抽象ネットワーク環境と呼ばれる存在物を作り出すことができ、これらは全て現実のコンピュータネットワークの範囲内に存在することができる。
【００３２】
前述のソフトウエアエージェントの範囲内の第２のプログラムは、「抽象機械エンジン」と呼ぶことができる。抽象機械エンジンは、ホストオペレーティングシステム（ＯＳ）カーネルの範囲内のネットワークスタックにインストールされる。このプログラムの目的は、多数の別名の（又は、抽象）ネットワークインターフェースを作って現実の（物理的又は他の）ネットワークインターフェースと関連付けるため、ローカルホストリソースを利用することである。抽象機械エンジンにより作り出された抽象インターフェースの数は、外部コントローラとの通信における管理サービス層の要求により決定することができる。各抽象インターフェースは、メディアアクセス制御（ＭＡＣ）アドレス及びインターネットプロトコル（ＩＰ）アドレスの形で、交換ネットワークと通信して固有の存在点を確立する能力を有する。
【００３３】
既述のソフトウエアエージェント の範囲内の第３であって最後のプログラムは、「行動エンジン」と呼ぶことができる。それは、管理サービスとともに、ホストオペレーティングシステムのユーザスペースに論理を挿入し、外部コントローラにより定義されるように、動的に、すなわち予め決定されているか又はリアルタイムで、行動のモデルを管理することを担当している。これらの行動は、固有の存在物の番号（例えば、１〜Ｎ）により実行するために設計されており、各存在物は、前述のように抽象機械エンジンにより作り出された抽象インターフェースへの対のマッピングを有する。行動エンジンは、存在物により実行されることになる行為とその存在物に割り当てられた抽象インターフェース（固有のＭＡＣ及びＩＰアドレスを有する）との関連付けを確実なものにすることができ、これにより、オペレーティングネットワーク上の固有のユーザ、機械、又は、サービスの状況が作り出される。
【００３４】
前述のように存在の固有点を有する抽象インターフェースの創生と、前の概略のようにそれらのインターフェースにマッピングされた１〜Ｎの存在物に対して予めプログラムされたか又は動的なリアルタイムの行動との組み合わせは、以下の形式で、ほとんどどのようなコンピュータネットワーク上においても、仮想化行動を作り出すために用いることができる。
【００３５】
ネットワーク上で観察可能な存在及び現実のトラフィックの生成を伴うネットワーク（例えば、内部又は遠隔の従業員、敵対的なハッカー）の内部又は外部の抽象／仮想ユーザを作り出すことができる。これらは、「抽象行為者」と呼ぶことができる。
【００３６】
現実のネットワーク上で観察可能なプロセス及びトラフィックを備えた現実のシステムのように見えるシステム又は装置（例えば、ネットワークプリンタ、電子メールサーバ、ウエブサーバ）を作り出すことができる。これらは、「抽象機械」と呼ぶことができる。
【００３７】
現実のソースからあるように見えるネットワークに対して内部のネットワークサービス（例えば、内部ダイナミック・ホスト・コンフィギュレーション・プロトコル（ＤＨＣＰ）サービス、外部のサーチエンジン上でのサーチ）を作り出すことができる。これらは、「抽象サービス」と呼ぶことができる。
【００３８】
（実施例の技術的優位性は多い）
いくつかの実施例では、前記抽象行為者、機械、及び、サービスは、独立して動作し、抽象行為者、機械、及び、サービスのいずれか又は全ての組み合わせで相互に動作し、及び／又は、現実または抽象ネットワークのいずれの組み合わせでも、現実のユーザ、システム、ツール、及び、サービスとともに動作することができる。
【００３９】
他の実施例では、前述のように仮想化行動は、抽象行為者、機械、及び、サービスが、伝統的なハードウエアネットワーク、公共及び私的なクラウド環境、及び、ソフトウエアにより定義されたネットワーク等の多様なネットワーク環境上で実行可能なように、現実のネットワーク環境から抽象化することができる。
【００４０】
固有かつ観察可能な存在の点を含む抽象行為者、機械、及び、サービスの仮想的行動は、すぐに利用可能なネットワークツール及び管理システムを介して監視されて追跡され得る現実のネットワークリソースの全てにわたって現実のトラフィックを生成することができる。これらのツールは、適宜、又は、仮想化及び訓練のために白／赤／青／黒チームにより用いられる場合、意図的にスプールすることができる。
【００４１】
いくつかの実施例において明らかなように、存在の観察可能な点を有する存在物による仮想化行動の生成を介してネットワークのトポロジーを変化させる能力、それらはそれぞれ、請求項に記載されているように現実の観察可能なトラフィックを生成するものであるが、ネットワーク上の一つ又はいくつかのホストに挿入されたエージェントプログラムによって、ホストに基づくオペレーティングシステムの操作から来ている。それらは、通常、ネットワークの切り替え及び経路設備のための既存の技術、プロセス、又は、手順の変化を要求しない。
【００４２】
ソフトウエアにより定義されたネットワーキング（ＳＤＮ）は、通常、集中型のソフトウエアに基づくコントローラを作り出すため、データ処理から、制御のスイッチ／ルータ機能を分離する。一方、いくつかの実施例では、ネットワークトポロジー及びトラフィックの全ての操作は、ネットワーク上のホストシステムに設けられたＯＳサービスのエージェント制御から来る。
【００４３】
動的な抽象化されたネットワークは、物理的な切り替え又は経路構造のいずれをも変化させることなく、ホストシステムの操作を介して作り出される。スイッチ又はルータの内部動作を変化させる必要はない。一つは、ＯｐｅｎＦｌｏｗ(R)規格（オープン・ネットワーキング・ファウンデーションの商標）を使用することができるが、それが要求されるものではない。
【００４４】
行動仮想化は、遺物切り替え環境、仮想機械環境、私的及び公共的なクラウド、ソフトウエアにより定義されたネットワーク、又は、それらのいずれかの組み合わせ上で動作することができる。
【００４５】
ネットワーク刺激エンジンは、シミュレーションされたネットワーク環境の内部において、集中型の管理及びリソースのより完全な使用を可能にする。これは、仮想機械を用いる等、現在の実務と比較して、ハードウエア及び人的リソースの要求の両方を低減させる。そのハードウエアのリソースはより低いため、ネットワーク刺激エンジンは、現在の実務と比較した場合、より大規模な配備を作成することもできる。加えて、ネットワーク刺激エンジンは、その集中型管理の行動アルゴリズムのため、一貫して、現実的なシミュレーションされたネットワークトラフィックを作り出す。
【００４６】
図１は、実施例による行動エンジン及び抽象機械エンジンを示している。システム１００は、行動エンジン１０１及び抽象機械エンジン１０４を含む。
【００４７】
シミュレーションされたネットワーク環境において、個々の刺激イベントは、行為として知ることができる。行為は、通常、ある種のネットワーク活動であるが、それはネットワーク活動だけに限定されるものではない。各行為は、行為者１０２により実行される。
【００４８】
各行為者１０２は、ネットワーク上のコンピュータ、プリンタ、ルータ等のシミュレーションされた装置に相当する。ユーザがシミュレーションを行うために行動のモデル、すなわちモデル１０８を設計した後、行動エンジン１０１は、これは統計アルゴリズムであるが、ユーザにより作成されたモデル１０８に基づいて、いずれの行為を実行する必要があるかを選択することにより、ネットワークの刺激方法を決定する。
【００４９】
行動エンジン１０１は、各行為者のために、行為決定のバッファである行為プール１０３を生成する。行動エンジンにより作られたアルゴリズム決定事項は、適切な行為プールに加えられる。いずれかの外部のターゲットが行為を要求された場合、そのアルゴリズムは、いずれの行為者が行為を要求されているのか、何の行為を実行するのか、いつその行為が起こる必要があるのか、及び、どこでその行為は現実のネットワークリソースに関するターゲットとするのかを決定する。
【００５０】
次に、抽象機械エンジン１０４は、行為プール１０３に基づいてネットワーク環境を刺激する。各行為者１０２及びそれに関連する行為プール１０３に関して、抽象機械エンジンは、シナリオの継続期間において持続する行為者／行為プール／シミュレーションされたネットワークインターフェースの通信とともに、シミュレーションされたネットワークインターフェース１０５を作り出す。インターフェース１０５は、ネットワーク上のネットワーク活動１０６又はネットワークトラフィックである通信パケットを送受信する。
【００５１】
ネットワーク上の観察者にとって、対応する設定における各インターフェースは、固有のＭＡＣアドレス及びＩＰアドレスを有する単一のネットワーク化された装置のように見える。シナリオが進行するにつれて、抽象機械エンジンにより作り出されたシミュレーションされた各ネットワークインターフェース１０５は、それに対応する行為者１０２の代わりに行為プールからの行為を実行する。抽象機械エンジン１０４は、活動を作り出すためにモデルに設計されたように、行為を実行することになる行為者に対応するシミュレーションされたネットワークインターフェースを用い、適切なプラグインを使用する。
【００５２】
二種類のプラグインが、抽象機械エンジンに対して利用可能である。すなわち、設計された完全性の程度において活動を実行するシミュレータプラグイン１０９、及び、通常ソフトウエアが用いられるどのような活動をも実行するソフトウエアの外部部分に対して呼びかけるコーラープラグイン１１０である。もしあれば、抽象機械エンジンは、シミュレータプラグイン１０９又はコーラープラグイン１１０を適切なターゲットに向ける。
【００５３】
実施例において、二つの行為頻度法のうちの一つは、行為のパフォーマンスを駆動するために用いられる。第１の方法において、各行為プールは、現時刻で実行する必要がある行為のために所定の頻度でプールされる。第２の方法は、同期したクロック機構に関連付けられることになる各行為プールを関与させる。現時刻で実行する必要のあるどのような行為も、抽象機械エンジンに押し上げられる。
【００５４】
図２Ａ及び２Ｂは、実施例による簡略的なコンピュータネットワーク範囲を示している。コンピュータネットワーク範囲２００において、ホストコンピュータ２１１は、オペレーティングシステム２１２、すなわちＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  ＸＰ(R)又はＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  ２０００(R)を起動する。ローカスエリアネットワーク（ＬＡＮ）モード行動仮想化ホストコンピュータ２１１は、イーサネットケーブル２１５を介して、ネットワークサービスコンピュータ２１３に接続されている。ネットワークサービスコンピュータ２１３は、オペレーティングシステム２１４を起動し、それはオペレーティングシステム２１２と同一又は異なっていてもよい。
【００５５】
いくつかの実施例において、行動エンジン及び抽象機械エンジンは、現実のホストリソースを一種のネットワークハイパーバイザに一緒に入れるために重要な機能である。ホストリソースは、ローカル計算リソース、記憶リソース、及び、ネットワークリソースを含むことができる。
【００５６】
コントローラは、より大規模な現実のネットワークを見るためにホストネットワークスタックを用いることができる。エージェントは、抽象機械を機械メッシュに投影することができるネットワーク上の存在点を有することができる。その投影は、ネットワーク上で見ることのできる抽象機械のメッシュを作り出す。様々なホスト上の複数のエージェントは、格子に接続することができる。格子は、抽象ネットワーク環境を作り出すことを開始するためのリソースの集合である。
【００５７】
図２Ｂは、図２Ａの物理的なコンピュータ上で起動する仮想行為者及びシミュレーションされてネットワーク化された設備を示している。ＬＡＮモード行動仮想化ホストコンピュータ２１１は、ＬＡＮモード行動仮想化（ＢＶ）コントローラ２１６及びＬＡＮモード行動仮想化ホスト２１７を実行する。それらは、ローカルホスト接続により通信する。ＬＡＮモード行動仮想化コントローラ２１６は、仮想行為者２１８を作り出すようにＬＡＮモード行動仮想化ホスト２１７に命令する。仮想行為者２１８は、それらのオンライン活動において実在の人間を模倣する。その行動は、図１に記載されたモデル（すなわち、モデル１０８）等の統計行動モデルを用いることにより作り出される。
【００５８】
ネットワークサービスコンピュータ２１３は、ドメインネームシステム（ＤＮＳ）サーバ、ウエブサーバ、ファイル転送プロトコル（ＦＴＰ）サーバ、セキュアシェル（ＳＳＨ）サーバ、及び、電子メールサーバの形態で、ネットワークサービス２２０を実行する。
【００５９】
行為者２１８は、ネットワークサービス２２０と通信し、イーサネットケーブル２１５上でそれらの間にネットワークトラフィック２１９を作り出す。実施例においては、４０人の仮想行為者が、多大なネットワークをエミュレートして、５つの仮想ネットワークサービスと通信している。このネットワークは、シミュレーションのためにどのくらいのネットワークトラフィックが必要であるかに応じて増加（又は、減少）させることができる。注意すべきは、このシミュレーションでは、物理的なコンピュータが２つだけ用いられていることである。
【００６０】
図３は、実施例によるコンピュータネットワークのグラフィカルなネットワークモニタ図を示している。スクリーンショット３００において、コンピュータを表す様々なＩＰアドレスが輪になって示されており、それらの間のネットワークトラフィックは、コンピュータ間の線として示されている。それらの線は、トラフィックが行き来するのと同様にリアルタイムで行き来する。ノードの周囲の円が大きいほど、その位置から行き来するトラフィックは多くなる。色は、しばしば、送信されたトラフィックの種類を描くために用いられる。例えば、電子メールトラフィックは、黄色で示すことができ、ビデオトラフィックは、赤色で示すことができる。
【００６１】
ノードがネットワークに追加又はネットワークから差し引かれると、それらに対応するＩＰアドレスは、スクリーンに現れ又はスクリーンから消える。図３のネットワークマッピングツールであるグラフィカルユーザインターフェース（ＧＵＩ）を有する、図２Ａ及び図２Ｂにおいてシミュレーションされたネットワークを見ているハッカーは、現実のネットワークと区別することが不可能でないとしても困難な活動ネットワークを見る。
【００６２】
図４Ａ〜図４Ｃは、実施例による検査ネットワークにおける参加者を示している。ネットワーク範囲は、ＬＡＮモード行動仮想化ホストＶＭ（仮想機械）４３１、専用モード行動仮想化サーバ４３２、非武装化地帯（ＤＭＺ）ネットワークサービス及びセンサ４３３、境界４３４、仮想化ハブ４３５、仮想インターネット４３６、及び、参加者ワークステーション４３７を含む。
【００６３】
ネットワークの防御検査を経験しているネットワーク管理者等のユーザは、仮想化ハブ４３５を介してネットワークにアクセスするため、参加者ワークステーション４３７を用いる。他のコンピュータは、仮想機械であってもなくてもよいが、そのハブを介してアクセスされる。モデル行動仮想化ホストＶＭ４３１は、単一のコンピュータ、いくつかのコンピュータに散在する仮想機械、又は、単一のコンピュータ上で起動する他の仮想機械から仕切られた仮想機械であり得る。専用モード行動仮想化サーバ４３２は、同様に実行され得る。境界４３４は、ファイアウォール又は他の境界であり得る。ＤＭＺ４３３は、仮想インターネット４３６からの境界の保護なしに、境界の「外側」に位置している。
【００６４】
図４Ｂに示されるように、ＬＡＮモード行動仮想化コントローラは、特定の数の仮想化ワークステーション４３８を作り出すようにＬＡＮモード行動仮想化ホストに命令するものであり、それぞれの仮想化ワークステーション４３８は、行為者に対応する仮想ネットワークインターフェースを有している。これらの行為者は、例えば、人間により操作される装置又は自動的にネットワーク化された装置をエミュレートすることができる。
【００６５】
専用モード行動仮想化サーバ４３２は、特定の数の専用モード行動仮想化ワークステーションＶＭｓ４３９を作り出すように命令されるものであり、それぞれの専用仮想化ワークステーションＶＭは、仮想ネットワークインターフェースを有している。複数の専用モード行動仮想化ワークステーションＶＭは、例えば検査の間、現実の人間のユーザにより操作されることができる。
【００６６】
パケットスニファー／ネットワークマッパを用いる参加者ワークステーション４３７におけるユーザは、仮想化ワークステーション４３８と専用モード行動仮想化ワークステーションＶＭ４３９との間のネットワークトラフィックを見る。そのトラフィックは、シナリオが進行するとき持続している。
【００６７】
図４Ｃは、他のものの中において、それらのＩＰアドレスをランダムに混合することによって仮想化ワークステーション４３８の内部に隠されている、専用モード行動仮想化ワークステーションＶＭ４３９を示している。仮想化ワークステーション４３８との間で行き来する確率的行為者からの現実的ネットワークトラフィックのため、参加者にとって、それらのワークステーションを専用モード行動仮想化ワークステーションＶＭ４３９と区別することは困難である。
【００６８】
発明者らは、この構成が、全体の物理的コンピュータネットワークをセットアップするのに必要であるよりも少ない労働及びハードウエアを用いて操作者を訓練するために効果的な方法であり得ることを発見した。訓練の必要性に応じて、多数又は少数のコンピュータがエミュレートされることができる。例えば、サイバー攻撃シミュレーションの間、青チームは、ツール、戦略、及び、手順において彼らを訓練することができる見かけ上のネットワークを見る。
【００６９】
更に、発明者らは、大量の仮想化ワークステーションの内部における現実の物理的なワークステーションを隠すことにより、ハッカーが効果的に現実のデータをネットワークから取得し、ネットワークの操作を発効し、又は、ネットワークをハッキングすることを困難にすることができることを発見した。
【００７０】
いくつかの実施例において、それらにより操作される仮想化ワークステーション及びソフトウエアにより定義されたネットワークは、ハッカーマッピングツール及びネットワーク攻撃に対する防御を行うため、迅速に変更され得る。無線周波数（ＲＦ）における周波数ホッピングと同種の、ソフトウエアにより定義されたネットワーク「ホッピング」は、外部者がネットワークをマッピングし又は妨害することを困難にすることができる。ソフトウエアにより定義されたネットワークは、あるネットワークイベントに自動的に応答して又はランダムに、設定時間間隔で異なる構成に跳ぶことができる。
【００７１】
訓練、検査、及び／又は、ネットワークセキュリティに役立ついくつかの実施例において、時々「センサ」と呼ばれる、自律的なソフトウエアエージェントは、ネットワークの視点からホストシステムの向こう側のプロセス間活動を検出して観察することができる。その後、それらは、物理的、仮想的、及び、ソフトウエアにより定義されたネットワークの内部に抽象ネットワーク環境を作り出すことにより、これらの観察に反応するか、又は、ネットワークの構造を修正することができる。
【００７２】
一旦、ホストシステムが現実のネットワークトポロジーを変更し、行動仮想化及び抽象ネットワーク環境を作り出すために構造を切り替える制御を行うために利用されると、その後、ローカル状況又は観察に基づいて局所的にかつ大域的にネットワークのトポロジー及び行動を変更することが可能となる。
【００７３】
エージェント／センサは、ネットワークスタック又は他のホストオペレーティングシステムの適切な層の内部にインストールされて存在することができる。各センサは、ネットワークにおける他のシステム／サービスへのホストとの通信に関連するプロセスを行うために進行中のプロセスを推定するように、そのホストの内部でプロセス活動を観察する。
【００７４】
エージェント／センサは、中央管理サーバプラットフォームの背後にある物理的ネットワーク中に配置されたリレーを介して通信することができる。センサは、活動データを処理及び解釈する際に補助するため、及び／又は、解析のために管理者に概略情報を提供するため、独立して前記概略したデータを解析することができ、又は、リレー及び管理サーバの内部のプログラムを信頼する。
【００７５】
センサは、自動的に又は管理者の指令により、現実のネットワーキングトポロジーを変更することができ、これには、その後、ホストが存在している、物理的、仮想的、又は、ソフトウエアにより定義されたネットワークの全て又は一部を模倣することのできる類似のエージェント／センサを有し、インストールされたホスト及び／又はいくつかのホストの内部における抽象ネットワーク環境を動的に作り出すことが含まれる。また、それには、現実の本来のターゲットネットワークの内部においてもはや動作していないプロセスを明らかにすることなしに、あるプロセスからの現実のネットワークのパケット／データの流れ、及び、抽象ネットワーク環境へのプログラムを制限することが含まれる。これは、現実のネットワーク環境における印象の下で、プロセス又はプログラムに実行の継続を許可している間、架空であるが現実的な抽象ネットワーク環境におけるプロセス又はプログラムを分離するためのものであり得る。そのような活動は、ネットワークリソースの全体をインストール又は関与させることを要求することなく、シミュレーションされてスケーリングされたネットワーク上でのアプリケーション及びプロセスを検査する効率的な方法を可能とする。それは、ネットワークリソースの全体をインストール又は関与させることを要求することなく、ネットワークのスケール及び実在論でアプリケーション又はプロセス上でのユーザの訓練に役立たせることができる。
【００７６】
また、それは、疑わしいプロセスを終結させることなく、又は、その疑わしいプロセスにそれは現実のネットワークにおいてまだ動作していないことを明らかにすることなく、包含された環境において疑わしいプロセスを分離及び観察することによりターゲット攻撃に対してネットワークセキュリティを提供するができるため、その疑わしいプロセスは、重大なシステム及びリスクのあるプロセスを置くことなく、その真実の意図を明らかにするために観察され得ることになる。
【００７７】
例えば、偽りの見かけ上の表示は、構造ファイルに格納されて、必要に応じて読み出すことができる。ネットワーク構造の偽りの見かけ上の表示は、現実のネットワーク構造と異なっている。ハッカーは、ノードの量、それらのＩＰアドレス、及び、ネットワークにおける他の情報を識別するために、ネットワークマッピングツールを用いることができる。しかしながら、侵入検出ソフトウエアは、ハッカーがネットワークの外部又は会社の本社とは異なる国にいることを判定することができる。いくつかの偽りの表示間の選択は、マッピングツール又は侵入者の地理的エリアの識別に基づいてなされ得る。その要求に対する応答は、見かけの表示、偽りのＩＰアドレスを含む応答、及び、ハッカーを難読化するための他の誤情報に基づいてなされ得る。その応答は、ハッカーを混乱させて歪めるために、他の応答とともに、ネットワークマッピングツールに送信することができる。加えて、ランダム化された動的なＤＭＺオーバレイメッシュは、ハッカーを難読化するために配備することができる。
【００７８】
いくつかの実施例において、二つの分離したホストは、それら自身のソフトウエアエージェント及びメッシュを有している。これらは、完全に異なるローカルエリアネットワーク（ＬＡＮ）に接続され得る同一の物理的ホストにおける二つの仮想機械であり得る。これらのＬＡＮの各々は、同一の「位置」にあり得るか、又は、異なる「位置」にあるだろう。二つのＶＭが同一の存在点（すなわち、同一の「位置」）において二つのソフトウエアエージェントを有する場合、それらの抽象機械は、様々な抽象層において混ぜ合わせられ得る。どのような切り替えをも要求されることなくネットワークを作り出すことができることは、実証されている。ネットワークは、「切り替える」ことができるが、現実の物理的スイッチを必要とするものではない。
【００７９】
コントローラの担当は、抽象ネットワーク環境を作り出すために、ホストリソースを調整する（ＳＡＮ等のローカルファイルシステム、ネットワークからのデータを計算し、記憶する）ことである。コントローラは、どのリソースが抽象ネットワーク環境を作り出すために、かつ、上記の行動エンジン及び抽象機械エンジンの機能を実行するために利用可能であるかを判定するため、ホストとの非同期通信を開始する。いくつかの実施例において、コントローラは、まず、記憶された機械イメージ（ファイルとして記憶されている）及び記述言語（例えば、これらの機械がどのように一緒にネットワーク化されるべきか）に関するデータを収集するため、ホストの内部において記憶サービスと通信する。その後、それは、抽象機械を機械メッシュにセットアップするように命令するため、ホストにあるＫＶＭ（カーネルに基づく仮想機械）と会話するためのＬｉｂｖｉｒｔ、又は、他のハイパーバイザアプリケーションを用いることができる。最後に、コントローラは、全てのホストに渡ってネットワークメッシュを作り出すために、ホストの内部、及び、ネットワークの他のホストにおけるネットワーキングスタックと通信する。すなわち、コントローラは、抽象機械、行為者、及び、サービスのメッシュを通信可能にするため、ネットワーキング環境を作り出す。これは、抽象ネットワーク環境と呼ぶことができ、実行方法に関する行動エンジンからの指令を受け取る用意がある。一つは、必要に応じた多くの抽象ネットワーク環境であって、それらを作り出すのに利用可能な提供されたリソースをセットアップすることができる。単一のラップトップは、ネットワークにおいて半ダースの抽象機械を作り出すことができることが実証されている。サーバブレードは、中規模ビジネスネットワークを表現することができ、サーバのラックは、企業全体の抽象ネットワーク環境を作り出すことができる。
【００８０】
図５は、実施例によるプロセスのフローチャートである。工程５０１において、複数のオンライン行為者に対してユーザにより定義されたモデルをユーザから受け取り、各行為者は、ネットワーク化された設備又はネットワーク化された装置を操作する人間のシミュレーションを行い、受け取ったモデルは、各行為者に対して少なくとも一つの行為及び所定の単位時間当たりにその行為が起こる確率及びその行為が起こる回数を定義する。工程５０２において、各行為者に関連付けられた行為の計画スケジュールは、統計エンジンを用いて、対応する確率に基づいて決定される。工程５０３において、各行為者に対する記憶バッファは、そのモデルを用いて生成される。工程５０４において、各行為者に関連付けられた行為の計画スケジュールは、対応するバッファに追加される。工程５０５において、固有のメディアアクセス制御（ＭＡＣ）アドレスは、各行為者に対して確立される。工程５０６において、インターネットプロトコル（ＩＰ）アドレスは、各行為者に対して予約される。工程５０７において、ネットワークトラフィックは、計画スケジュールに基づいて各行為者に対するコンピュータネットワークに送信され、各行為者に対するネットワークトラフィックは、ＭＡＣ及びＩＰアドレスを介して関連付けられた行為者に起因しており、コンピュータネットワーク上におけるネットワーク化した設備及び人間により操作されたネットワーク化した装置のシミュレーションを行う。
【００８１】
図６は、実施例によるプロセスのフローチャートである。工程６０１において、現実の物理的構成を有する物理的コンピュータネットワークが提供される。工程６０２において、構成ファイルから、ネットワーク構成の第１の偽りの見かけ上の表示の定義を受け取る。工程６０３において、構成ファイルから、ネットワーク構成の第２の偽りの見かけ上の表示の定義を受け取り、第１及び第２の偽りの見かけ上の表示は互いに異なり、ネットワーク構成の第１及び第２の偽りの見かけ上の表示は、物理的コンピュータネットワークの現実の物理的構成とは異なっている。工程６０４において、コンピュータネットワークにおける多数のノード及びノードの各々のインターネットプロトコル（ＩＰ）アドレスを識別するためにユーザにより実行されたネットワークマッピングツールから、物理的コンピュータネットワークに対する要求を受け取る。工程６０５において、ユーザが物理的構成の偽りの表示を見ていることが判定され、その判定は、要求しているユーザのネットワーク位置に基づいて行われる。工程６０６において、その要求とネットワークマッピングツールとの関連性に基づいて、選択が第１又は第２の偽りの見かけ上の表示の間でなされ、その選択は、ユーザが物理的構成の偽りの表示を見ていることの判定に基づく。工程６０７において、要求に対する応答は、選択された第１又は第２の偽りの見かけ上の表示に基づいて作られ、その応答は、ノードの偽りの数、及び、選択された第１又は第２の偽りの見かけ上の表示に関連付けられたノードの各々における少なくとも一つの偽りのＩＰアドレスを含んでいる。工程６０８において、ネットワークマッピングツールに対して作られた応答は、ネットワークを介して送信される。
【００８２】
それらの工程は、前記所定の順序、又は、適用可能な異なる順番で実行することができる。それらは、コンピュータ又は他の機械で自動化されることができ、機械が読み取り可能な指令として符号化されたソフトウエア、ファームウエア、又は、ハードにおいて符号化され、その指令を実行可能な一つ又は複数のプロセッサを介して起動することができる。
【００８３】
前述の明細書において、本発明は特定の実施例を参照して説明されているが、当業者は本発明がそれらに限定されるものではないことを認識するだろう。前記記載の本発明の様々な特徴及び側面は個々に又は共同で用いることができる。更に、本発明は、本明細書のより広い精神及び要旨から逸脱しない範囲内において、ここでの説明を超えた種々の環境及びアプリケーションにおいて利用可能である。従って、本明細書及び図面は、限定的なものとしてではなく説明に役立つものとみなされるべきである。
【００８４】
前記に説明した方法、システム、及び、装置は、単なる実施例であることを意図したものであることに注意すべきである。様々な実施例は、適宜、様々な手順や要素を省略、代替、又は、追加することができるということを強調しなければならない。例えば、代替的な実施例において、方法は、説明とは異なる順番で実行可能であり、また、様々なステップを追加、省略、又は、組み合わせることができる。また、ある実施例に関して説明した特徴は、様々な他の実施例において組み合わせることができる。実施例の異なる側面及び要素は、同様の方法で組み合わせることが可能である。また、技術は発展するということを強調すべきであり、そのために、多くの要素は実施例であって、本発明の範囲を限定するように解釈すべきではない。
【００８５】
具体的詳細は、説明中において与えられ、実施例の完全な理解を提供している。しかしながら、実施例は、これらの具体的詳細なしに当業者により実施できるものであることが理解される。例えば、周知の回路、プロセス、アルゴリズム、構造、及び、技術は、実施例をわかりにくくすることを回避するため、不要な詳細なしで示されている。
【００８６】
また、実施例は、フロー図又はブロック図として描かれるプロセスとして説明することができる。各々は、逐次的なプロセスとしての工程を説明することができるが、多くの工程は、並行して又は同時に実行することができる。加えて、工程の順番を並び替えることができる。プロセスは、図面に含まれない追加のステップを有していてもよい。
【００８７】
更に、ここで説明するように、「メモリ」又は「メモリユニット」の用語は、情報を記憶するため、リードオンリーメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、磁気ＲＡＭ、コアメモリ、磁気ディスク記憶媒体、光学記憶媒体、フラッシュメモリ装置、又は、その他の情報を記憶するコンピュータが読み取り可能な媒体を含む、データを記憶する一つ又は複数の装置を表している。「コンピュータが読み取り可能な媒体」の用語は、ポータブル又は固定された記憶装置、光学記憶装置、無線チャンネル、シムカード、他のスマートカード、及び、指令又はデータを記憶、包含、又は、送信可能な様々な他の媒体を含むが、これらに限定されるものではない。
【００８８】
更に、実施例は、ハードウエア、ソフトウエア、ファームウエア、ミドルウエア、マイクロコード、ハードウエア記述言語、又は、それらのいずれかの組み合わせによって実施することができる。ソフトウエア、ファームウエア、ミドルウエア、又は、マイクロコードにおいて実施されると、必要なタスクを実行するためのプログラムコード又はコードセグメントは、記憶媒体等のコンピュータが読み取り可能な媒体に記憶され得る。プロセッサは、必要なタスクを実行することができる。
【００８９】
いくつかの実施例を説明したことにより、様々な変更、代替的な構造、及び、均等なものが本発明の精神を逸脱しない範囲において用いることができることが当業者によって理解される。例えば、前記要素は、単に大規模システムの成分に過ぎず、他の規則は、本発明の適用に優先するか、又は、本発明の適用を変更することができる。また、多数のステップは、前記要素が考慮される前、考慮している間、又は、考慮された後に開始することができる。従って、前記説明は、本発明の範囲を限定するものとみなされるべきではない。
【図２Ａ】
2014506045.tif 000003
【図３】
2014506045.tif 000004
【図６】
2014506045.tif 000005
【図１】
2014506045.tif 000006
【図２Ｂ】
2014506045.tif 000007
【図４Ａ】
2014506045.tif 000008
【図４Ｂ】
2014506045.tif 000009
【図４Ｃ】
2014506045.tif 000010
【図５】
2014506045.tif 000011
【手続補正書】
【提出日】平成25年6月12日(2013.6.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータネットワークのシミュレーション方法であって、
ユーザから、複数のオンライン行為者に対してユーザにより定義されたモデルを受け取る工程、ここで各行為者は、ネットワーク化された設備又はネットワーク化された装置を操作する人間のシミュレーションを行い、該受け取ったモデルは、少なくとも一つの行為及び対応する各行為に対して該行為が起こる確率及び該行為が所定の単位時間に起こる回数を定義し、
動作可能なようにメモリに接続された少なくとも一つのプロセッサを用いて、統計エンジンを用いて前記対応する確率に基づいて各行為者に関連付けられた行為の計画スケジュールを決定する工程、
各行為者に対して、固有のメディアアクセス制御（ＭＡＣ）アドレスを確立する工程、
各行為者に対して、インターネットプロトコル（ＩＰ）アドレスを予約する工程、及び、
前記計画スケジュールに基づいて各行為者に対してコンピュータネットワーク上でネットワークトラフィックを送信する工程、ここで各行為に対する該ネットワークトラフィックは、前記ＭＡＣ及びＩＰアドレスを介して前記関連付けられた行為者に起因し、前記コンピュータネットワーク上において前記ネットワーク化された設備及び人間により操作されるネットワーク化された装置のシミュレーションを行う、を有することを特徴とする方法。
【請求項２】
前記モデルを用いて各行為者に対する記憶バッファを生成する工程、及び、
各行為者に関連付けられた行為の前記計画スケジュールを、対応する前記バッファに加える工程、を更に有することを特徴とする請求項１に記載の方法。
【請求項３】
所定の頻度で各行為を前記バッファから引き出す工程を更に有することを特徴とする請求項２に記載の方法。
【請求項４】
各バッファをソフトウエアクロックに関連付ける工程、及び、
前記関連付けられたソフトウエアクロックに従い、所定の頻度で各行為を前記バッファから押し出す工程、更に有することを特徴とする請求項２に記載の方法。
【請求項５】
前記ＭＡＣ及び前記ＩＰアドレスは、仮想ネットワークカードに関連付けられていることを特徴とする請求項１に記載の方法。
【請求項６】
行為者のアドレスに関してネットワークマッピングツールからの要求を受け取る工程、及び、
要求された前記行為者の前記ＩＰアドレスを含むパケットで前記要求に応答する工程を更に有することを特徴とする請求項１に記載の方法。
【請求項７】
前記要求は、前記コンピュータネットワークの外側から受け取られることを特徴とする請求項６に記載の方法。
【請求項８】
行為がターゲットとする現実のネットワークリソースを確認する工程、
確認された前記リソースを、決定された前記計画スケジュールに加える工程、及び、
プラグインを、確認された前記リソースに向ける工程を更に有することを特徴とする請求項１に記載の方法。
【請求項９】
前記受け取る工程及び前記決定する工程は、行動エンジンアプリケーションを介し、前記送信する工程は、前記アプリケーション及びプラグインの外部にあるソフトウエアを呼び出すプラグインを介して実行されることを特徴とする請求項１に記載の方法。
【請求項１０】
前記ネットワークトラフィックを送信する工程は、各行為者にとって持続的なものであり、ユーザにより停止されるまで継続することを特徴とする請求項１に記載の方法。
【請求項１１】
シミュレーションされた前記ネットワーク化された設備は、ウエブサーバ、プリントサーバ、記憶サーバ、及び、プリンタからなるグループから選択されることを特徴とする請求項１に記載の方法。
【請求項１２】
前記人間により操作される、シミュレーションされた前記ネットワーク化された装置は、デスクトップ型、ノートブック型、又は、タブレット型のパーソナルコンピュータ（ＰＣ）、ワークステーション、パーソナルデジタルアシスタント（ＰＤＡ）、ボイスオーバーインターネットプロトコル（ＶｏＩＰ）電話、ネットワークアプライアンス、又は、スマートフォンを含むことを特徴とする請求項１に記載の方法。
【請求項１３】
前記工程は、それぞれ、示された順番で実行されることを特徴とする請求項１に記載の方法。
【請求項１４】
各工程は、操作可能にメモリに接続された少なくとも一つのプロセッサにより実行されることを特徴とする請求項１に記載の方法。
【請求項１５】
一つ又は複数の機械に請求項１の工程を実行させるための指令を示す情報を具現化することを特徴とする、機械が読み取り可能な記憶媒体。
【請求項１６】
コンピュータプログラムにおける指令を実行するコンピュータシステムであって、前記コンピュータプログラムの指令は、請求項１の工程を実行するためのプログラムコードを有することを特徴とするコンピュータシステム。
【請求項１７】
ハッカーネットワークマッピングツールから現実のコンピュータネットワークを保護するために偽りの見かけ上のコンピュータネットワークを投影する方法であって、
物理的コンピュータネットワークを提供する工程、ここで該物理的コンピュータネットワークは現実の物理的構成を有し、
構成ファイルから、ネットワーク構成の第１の偽りの見かけ上の表示の定義を受け取る工程、
構成ファイルから、ネットワーク構成の第２の偽りの見かけ上の表示の定義を受け取る工程、ここで前記第１及び第２の偽りの見かけ上の表示は互いに異なり、ネットワーク構成の該第１及び第２の偽りの見かけ上の表示は前記物理的コンピュータネットワークの前記現実の物理的構成とは異なり、
前記コンピュータネットワークにおけるノードの数及び該ノードの各々のインターネットプロトコル（ＩＰ）アドレスの識別のためにユーザにより実行されるネットワークマッピングツールからの要求を、前記物理的コンピュータネットワークに対して受け取る工程、
プロセッサにより、前記ユーザが前記コンピュータネットワークにおけるノードの数及び前記ノードの各々の前記ＩＰアドレスに関する前記物理的構成の偽りの表示を見ていることを判定する工程、ここで該判定は、安全性が損なわれた可能性のある該ユーザのネットワーク位置に基づいて行われ、
ネットワークマッピングツールとともに前記要求の関連性に基づいて前記第１又は前記第２の偽りの見かけ上の表示を選択する工程、ここで該選択は、前記ユーザが前記物理的構成の偽りの表示を見ていることの判定に基づいて行われ、
選択された前記第１又は第２の偽りの見かけ上の表示に基づいて前記要求に対する応答を作る工程、ここで該応答は、選択された該第１又は第２の偽りの見かけ上の表示に応じたノードの偽り数及び該ノードの各々の少なくとも一つの偽りのＩＰアドレスを含み、及び、
作られた前記応答を、前記コンピュータネットワークを介して前記ネットワークマッピングツールに送信する工程、を有することを特徴とする方法。
【請求項１８】
前記ユーザの前記ネットワーク位置は、提供された前記物理的コンピュータネットワークの外側であることを特徴とする請求項１７に記載の方法。
【請求項１９】
二つ以上の前記ノードの間で送信されるトラフィックの種類に対する前記ネットワークマッピングツールからの第２の要求を、前記物理的コンピュータネットワークに受け取る工程、
選択された前記第１又は第２の偽りの見かけ上の表示に基づいて前記第２の要求に対する第２の応答を作る工程、ここで該第２の応答は、前記２つ以上のノードの間で送信されるトラフィックの偽りの種類を含み、及び、
作られた前記第２の応答を前記ネットワークマッピングツールに送信する工程、を更に有することを特徴とする請求項１７に記載の方法。
【請求項２０】
トラフィックの前記種類は、電子メールトラフィック、プリンタトラフィック、及び、ビデオトラフィックからなるグループから選択されたネットワークトラフィックを含むことを特徴とする請求項１９に記載の方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１３
【補正方法】変更
【補正の内容】
【００１３】
いくつかの実施例は、ハッカーネットワークマッピングツールから現実のコンピュータネットワークを保護するために偽りの見かけ上のコンピュータネットワークを投影する方法に関する。その方法は、物理的コンピュータネットワークを提供する工程、ここで該物理的コンピュータネットワークは現実の物理的構成を有し、構成ファイルから、ネットワーク構成の第１の偽りの見かけ上の表示の定義を受け取る工程、構成ファイルから、ネットワーク構成の第２の偽りの見かけ上の表示の定義を受け取る工程、ここで前記第１及び第２の偽りの見かけ上の表示は互いに異なり、ネットワーク構成の該第１及び第２の偽りの見かけ上の表示は前記物理的コンピュータネットワークの前記現実の物理的構成とは異なり、前記コンピュータネットワークにおけるノードの数及び該ノードの各々のインターネットプロトコル（ＩＰ）アドレスの識別のためにユーザにより実行されるネットワークマッピングツールからの要求を、前記物理的コンピュータネットワークに対して受け取る工程、プロセッサにより、前記ユーザが前記コンピュータネットワークにおけるノードの数及び前記ノードの各々の前記ＩＰアドレスに関する前記物理的構成の偽りの表示を見ていることを判定する工程、ここで該判定は、安全性が損なわれた可能性のある該ユーザのネットワーク位置に基づいて行われ、ネットワークマッピングツールとともに前記要求の関連性に基づいて前記第１又は前記第２の偽りの見かけ上の表示を選択する工程、ここで該選択は、前記ユーザが前記物理的構成の偽りの表示を見ていることの判定に基づいて行われ、選択された前記第１又は第２の偽りの見かけ上の表示に基づいて前記要求に対する応答を作る工程、ここで該応答は、選択された該第１又は第２の偽りの見かけ上の表示に応じたノードの偽り数及び該ノードの各々の少なくとも一つの偽りのＩＰアドレスを含み、及び、作られた前記応答を、前記コンピュータネットワークを介して前記ネットワークマッピングツールに送信する工程、を有する。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】変更
【補正の内容】
【００１５】
その他の実施例は、前記方法のための指示を用いるか又は記憶する、機械が読み取り可能な記憶媒体及びコンピュータシステムに関する。
【国際調査報告】
2014506045.tif 000012
2014506045.tif 000013
2014506045.tif 000014