予測不能な一時的混乱を認可されたプロセスおよび認可されていないプロセスの動作状態に取り込むことと、前記認可されたプロセスが、前記予測不能な一時的混乱を回避するために仮想マシンに移行されるが、他方、前記認可されていないプロセスは、前記予測不能な一時的混乱にさらされ、それにより、動作障害を誘発する不安定な環境を経験することとを含む、コンピュータ実装された方法。予測不能な一時的混乱を取り込むことが、1つまたは複数のプロセスを予測不能な方法で開始および停止することと、虚偽のパラメータをプロセスに渡すこととを含む、請求項1に記載のコンピュータ実装された方法。デジタル資源の表現を作成することと、前記デジタル資源に対して整合性値を確立するために、前記表現に対する一意の値を形成することと、前記デジタル資源の現在のインスタンス生成を受信することと、前記現在のインスタンス生成をアクティブな整合性状態に変換することと、前記デジタル資源の前記現在のインスタンス生成に関連する前記認可されていないプロセスを識別するために、前記整合性値と前記アクティブな整合性状態との間の不一致を識別することとをさらに含む、請求項1に記載のコンピュータ実装された方法。認可されたプロセスのレジストリを作成することをさらに含む、請求項1に記載のコンピュータ実装された方法。認可されたプロセスに対して終了時間を指定することをさらに含み、前記終了時間が前記認可されたプロセスに知られていない、請求項1に記載のコンピュータ実装された方法。前記終了時間に、前記認可されたプロセスの新しいインスタンス生成を起動することをさらに含む、請求項5に記載のコンピュータ実装された方法。前記認可されたプロセスを前記デジタル資源の新しいインスタンス上に移行することをさらに含み、移行が、前記認可されたプロセスに対応する登録済みの認可されたプロセスを起動することを含む、請求項6に記載のコンピュータ実装された方法。前記認可されていないプロセスを隔離することをさらに含む、請求項1に記載のコンピュータ実装された方法。前記認可されていないプロセスが、システム設定に対して変更を行うこと、共有資源にアクセスすること、および本当のシステム仕様を見ることを妨げる、請求項1に記載のコンピュータ実装された方法。前記認可されていないプロセスの隔離されたインスタンス生成を形成することをさらに含み、前記認可されていないプロセスの前記隔離されたインスタンス生成が、生産環境外部の見えない合成仮想化環境シミュレーション内で動作される、請求項1に記載のコンピュータ実装された方法。科学捜査的分析を、前記認可されていないプロセスの前記隔離されたインスタンス上で実行することをさらに含む、請求項10に記載のコンピュータ実装された方法。前記認可されていないプロセスを分類することと、脅威レベルの定量化を前記認可されていないプロセスに提供することと、前記認可されていないプロセスに対する防護対策を決定することとをさらに含む、請求項1に記載のコンピュータ実装された方法。前記デジタル資源の前記表現が、第1の仮想マシン、第2の仮想マシン、一時的防御層、仮想化オペレーティングシステム、デバイスドライバおよびコンピュータハードウェアを含む、請求項3に記載のコンピュータ実装された方法。前記表現に対して一意の値を形成することが、前記デジタル資源によって処理される実行可能コードのハッシュを計算することを含む、請求項13に記載のコンピュータ実装された方法。前記表現に対して一意の値を形成することが、前記プロセスに関連するイメージ識別、プロセス名、および選択されたヘッダー情報に基づき、認可されたプロセスに対してハッシュを計算することを含む、請求項13に記載のコンピュータ実装された方法。前記表現に対して一意の値を形成することが、仮想マシンアーカイブ識別番号、オペレーティングシステム名、オペレーティングシステムバージョン、オペレーティングシステムサービスのプロセス名、および前記仮想マシン上で実行するために登録された認可されたプロセスに基づき、仮想マシンに対してハッシュを計算することを含む、請求項13に記載のコンピュータ実装された方法。セキュリティ規則エンジン、合成環境シミュレータ、仮想化オペレーティングシステムおよび整合性チェッカーを起動することをさらに含む、請求項1に記載のコンピュータ実装された方法。プロセス間通信ゲートウェイ、隔離エンフォーサ、および状態マッパーを起動することをさらに含む、請求項1に記載のコンピュータ実装された方法。一時的スケジューラ、仮想マシンマネージャ、認可プロセスレジストリ、および基本仮想マシンイメージアーカイブを起動することをさらに含む、請求項1に記載のコンピュータ実装された方法。コンピュータ実装された方法は、認可されたプロセスおよび認可されていないプロセスの動作状態に予測不能な一時的混乱を取り込むことを含む。認可されたプロセスは、予測不能な一時的混乱を回避するために仮想マシンに移行されるが、他方、認可されていないプロセスは、予測不能な一時的混乱にさらされ、それにより、動作障害を誘発する不安定な環境を経験する。本発明は、添付の図と併せて、以下の詳述に関連してさらに十分に理解されるであろう。いくつか図を通じて、同様の参照番号は対応する部分を指す。本発明は、認可されたプロセス使用が堅牢で安定したコンピューティング環境で起こり、認可されていないプロセス使用が敵意のある、不安定で常に変化するコンピューティング環境を経験する、一時的なコンピューティング環境を作成するように設計される。さらに、本発明は、システム仕様を不鮮明にするか、マスクするか、または混乱させる機構を、認可されていないか、またはセキュリティ侵害されたコンピューティングプロセスおよびそれらの管理者そのプロセスを開始したか、または制御する人またはリモートエージェントに提供する。さらに、本発明は、システムがセキュリティ侵害されているか否かを検出する仮想システムインスタンスおよび物理システムインスタンスの両方の整合性を検証するための技術を提供する。加えて、本発明は、ウイルスが拡がり、ミッションクリティカルなコマンドにアクセスするのを防ぐために、感染したシステムを隔離する方法、およびそれらが生産コンピューティング環境に影響を及ぼさないか、またはウイルス、認可されていないエージェントコードもしくは認可されていないコンピューティングセッションユーザーもしくはそれらの管理者が、生産環境ではなく、合成疑似環境で隔離されているかまたは動作しているという事実をそれらに警告しないような方法で、科学捜査forensicsを実施するためのオートプシーautopsy方法を提供する。すなわち、本発明の一態様によれば、コンピューティング装置または別個のコンピューティングシステムであるコンピューティングネットワーク装置上で仮想化されているコンピューティング環境実体があり、それらが合成コンピューティング装置として動作できるようになっている。仮想コンピューティングまたはネットワークシステムの動作インスタンスは、仮想マシンまたはVMと呼ばれ、それは、各別個の仮想マシンに対してコンピューティング環境を制御するオペレーティングシステムに従って動作する。この態様は、仮想マシンで実行中の認可された処理タスクは影響を受けないが、認可されていないプロセスはそれらのコンピューティング環境の変更に遭遇する、一時的状態を誘導するような方法で、仮想コンピューティング環境で動作している仮想マシンを制御する方法を提供する。一実施形態では、処理は、a複数のインスタンスがインスタンス生成できるように、仮想マシンの基本状態を捕捉できるような方法で、仮想マシンのスナップショット、基本デジタル表現を作成すること、b事前定義した間隔またはランダムベースで、仮想マシンを頻繁にアップ仮想マシンのコンピューティング環境を起動するおよびダウン仮想マシンのコンピューティング環境をシャットダウンするさせるサポート、c認可されたプロセスの通常または意図した実行を中断しないような方法でプロセスを1つの仮想マシンから別のマシンへ移行するが、認可されていないプロセスに対しては、移行中にそれらの実行がセキュリティ規則に基づいて終了されるか、または変更されること、を含む。本発明の別の態様は、検証方法を通じて仮想マシンの整合性チェックを定期的に実施することである。検証方法の一実施形態は、d健全でセキュリティ侵害されていない仮想マシンを表す基本デジタル表現に対する一意の値、基本デジタル表現の整合性値を作成すること、eアクティブ仮想マシン整合性値と呼ばれる、アクティブな仮想マシンの整合性値を計算すること、およびf基本デジタル表現の整合性値をアクティブ仮想マシン整合性値と比較すること、を含む。本発明のさらに別の態様は、ミスディレクションmisdirectionのための方法を提供するために、認可されていないプロセスを混乱させて、それが、仮想マシンのオペレーティングシステム、ネットワーキングプロトコルまたはアクセス可能な周辺機器システムコアコンポーネントと総称するなどの、本当のコンピューティング環境仕様を知らないようにすることである。一実施形態では、ミスディレクションのこの方法は、g一意のシステム問合せ認可コードを受信する登録済みの認可されたプロセスを開始すること、hコンピューティング環境仕様を判断するためにオペレーティングシステムによって使用されるシステム発見systemdiscoveryを上書きする認可コードを使用すること、iプロセスがコンピューティング環境に対する問合せを行うと、そのプロセスが登録済みでその割り当てられた問合せ認可コードを使用しているか否かがチェックされて、jそうである場合は、本当の仕様が提供され、kそうでなければ、本当の仕様でない可能性のある、偽の仕様が提供されること、を含む。本発明の別の態様は、認可されていないプロセスが引き起こし得る損害を、隔離方法を提供することによって低減することであり、その方法は、コンピューティング装置および関連するネットワークおよびシステムを、検出されている認可されていないプロセスに警告しない間に、保護するような方法で、認可されていないプロセスを分離し、封じ込める。この隔離方法は、l前述したステップが、f整合性チェックが失敗すると、仮想マシンは、潜在的にセキュリティ侵害されているとマークされて、その仮想マシンがアクティブな隔離状態に置かれ、mその仮想マシン上のどのプロセスも停止されないが、コンピューティング資源およびネットワークおよびシステムへのアクセス可能性が制限され、n隔離された仮想マシンが寿命末期になった、終了されたステップb場合、インスタンスは、一方でその仮想マシンのスナップショットが科学捜査的分析用に保存されながら、終了でき、oまたは、寿命末期の隔離された仮想マシンは、認可されていないプロセスがライブの科学捜査的分析、実験、感染率分析もしくは悪質なコードの標的発見のために、実行を継続可能にするような方法で、生産コンピューティング環境の外部で実行を継続でき、p隔離制限を解除するが、合成疑似システム上で動作すること、を含み得る。従って、システムを保護するが、認可されていないプロセスに対しては、検出されず、成功したという錯覚を提供する。本発明の別の態様は、一時的状態システムが、それが攻撃を受けているか、または受けていたことを考慮に入れ、その結果、適用可能な防御方法を通じてその防御を調整できるようにする、動的な防護対策調整である。この適用可能な防御方法は、q認可されていないプロセスを識別および分類すること、r脅威レベルの定量化を認可されていないプロセスに提供すること、s一時的セキュリティ層のセキュリティ規則に基づいて、防護対策アプローチを決定すること、t受動的passiveに設定されると、一時的制御プロセスに変更がなく、u保護protectに設定されると、それに応じてシステム仕様の偽装ステップtが調整され、v誘うenticeに設定されると、それに応じてシステム仕様の偽装ステップtが調整されて、より多くの認可されていないプロセスを引き付けるために効果的にシステムをハニーポットにすること、を含み得る。本発明の例によれば、前述のステップaでは、認可されたプロセスのレジストリが生成される。プロセス移行中、前述のステップcでは、認可されたプロセスの実行状態が記録され、実行がホスト仮想マシン上で中断され、新たにインスタンス生成された仮想マシンが、前述のステップbで動作可能になる新しいホストと、中断されたプロセスが新しいホスト上で開始され、開始時のそれらの実行状態が、現在の古いホスト上で記録されたそれぞれの実行状態に設定され、中断されたプロセスの処理が新しいホスト仮想マシン上で実行を再開する。新しい仮想マシンがインスタンス生成でき、間もなく古いホストになるホスト上でプロセスの実行が中断される前に、十分に動作可能になると、プロセス移行がほとんど瞬間的に起こり得、アクティブな仮想マシン間でのシームレスな処理のハンドオフを可能にする。さらに、プロセス移行が前述のステップcで生じると、認可されていないプロセスの自然の定義が、基本仮想マシンの認可されたレジストリ内に登録されていないプロセスであり、従って、基本仮想マシンイメージの新しいインスタンスが作成されると、認可されていないプロセスは開始されず、基本的にプロセス中断の時点で古いホスト仮想マシン上で終了するようになるので、前述のステップbで説明したように、認可されていないプロセスは、新しい仮想マシンのインスタンス生成の自然経過によって終了される。あるいは、本発明の別の例によると、セキュリティ規則に基づき、認可されていないプロセスは、プロセス移行が前述のステップcで生じると、移行中に生き続けることができる。前述のステップbで説明した仮想マシンの終了プロセス中にこれが生じると、古いホスト仮想マシンを終了する代わりに、仮想マシンは、隔離されているとマークされ、それがまだマークされておらず、かつ、基本仮想マシンの第3のインスタンスが作成されると、それが隔離とマークされ、前述のステップoで説明したように、ライブ科学捜査状態に置かれ、隔離されたライブ科学捜査状態が生産環境に影響を及ぼさないが、認可されていないプロセスが、合成環境で現在実行中の認可されたプロセスと共に生きていて、実行されたまま保持されるように、合成コンピューティング、ネットワークおよびシステム環境を利用する。次いで、認可されていないプロセスのプロセス状態を含め、古い仮想マシン状態が、隔離されたライブ科学捜査モードで実行中の基本仮想マシンの第3のインスタンスにコピーされ、状態が複製されると、プロセス中断が第3の仮想マシン上で解除され、実行が、前述のステップoで説明されているように、正常としてではあるが、合成環境でシームレスに続行される。これは、前述したシームレスなプロセスハンドオフ方法も利用できる。移行プロセスおよび隔離されたライブ科学捜査ハンドオフプロセスの両方が完了した後に、古い仮想マシンが、最終プロセス状態を含む、その状態を取得した最終スナップショットを有し、それが、前述のステップnにおけるようにさらなる分析用に格納され、これが完了すると、前述のステップbで説明するように、それが終了される。本発明の別の例によれば、整合性チェックが定期的に実施され、仮想マシンのコンピューティング環境の整合性を確実にする。前述のステップaの基本仮想マシンの作成中に、基本仮想マシンのデジタル署名を計算することにより、一意の値が前述のステップdで説明したように生成される。このデジタル署名は、基本仮想マシンのアクティブなインスタンス生成に対する比較として使用されるように、整合性チェック中に使用される。前述のステップeに明記されているように、仮想マシンは、同じデジタル署名生成機能を実行でき、出力である整合性値が、前述のステップfで説明したように、基本仮想マシンイメージのデジタル署名と一致すると、仮想マシンの整合性が仮定できる。さらに、整合性比較が失敗すると、前述のステップlで説明しているように、チェックされている仮想マシンが隔離とマークされ、それは、前述のステップcで説明しているように次の移行プロセスまで、前述のステップmで明記しているようにプロセスのアクセスを制限し、完了時に、移行ハンドオフを受信した新しくインスタンス生成された仮想マシンが整合性有効状態に設定され、隔離が解除される。セキュリティ規則に応じて、古い仮想マシンは、前述のステップnで設定したように、取得され、さらなる科学捜査調査のために保存された自身のスナップショットを有し、同じくセキュリティ規則に応じて、ライブの科学捜査が設定されると、隔離された仮想マシンは前述のステップoに従う。本発明の別の例によれば、コンピューティング環境の本当の仕様を混乱させ、マスクするために、偽装混乱プロセスが使用される。前述のステップgで説明したように、プロセスのレジストリ時に、ハッシュコードがプロセスの実行可能コードから生成される。前述のステップiにおけるように、システム仕様を変更するか、またはそれに関して問い合わせるために、実行しているプロセスからオペレーティングシステムに対して呼出しが行われると、プロセスの問合せ認可ハッシュが、上書き判定値として使用される。認可ハッシュが存在しないか、または認可ハッシュが、前述のステップkで提示されているように、呼出しプロセスに対するプロセスレジストリに格納されているものに一致しない場合、偽のシステム仕様値が返され得るが、その値は、セキュリティ規則によって決まる。プロセスの問合せ認可ハッシュが実際に一致する場合は、前述のステップjにおけるように、本当の仕様が返される。この処理は、システムを、認可されていないプロセス攻撃に対してより回復力をもつようにし、情報を収集し、ウイルスが拡がるのを遅くするのを助ける。実際、この改善は、外部からの攻撃の企て、および無防備な認可されたユーザーから意図的ではなく内部的に放たれた認可されていないプロセスに反する働きをし、認可されていないプロセスがまだ検出されておらず、仮想マシンが隔離されているとフラグを付けられていない場合でさえ、継続して実施されている。本発明のさらに別の例は、前述のステップqで明記したように、実行されていた認可されていないプロセスのタイプを判断するために、感染した仮想マシンのスナップショットに関する分析およびライブ科学捜査隔離を行うことにより、前述した偽装サブシステム、隔離サブシステムおよびライブ科学捜査サブシステムのその防護対策防御を動的に変更することである。前述のステップrに従った脅威レベル値が、カテゴリ、ならびにライブ隔離モニタリングおよび実験に対するその履歴ログ活動ならびにその現在およびアクティブな応答に基づき、認可されていないプロセスに与えられる。セキュリティ規則に基づき、認可されていないプロセスに対する防護対策が、前述のステップsにおけるように変更される。セキュリティ規則が前述のステップrにおけるように受動的であれば偽装結果は変更されず、セキュリティ規則が前述のステップuにおけるように保護に設定されていれば、偽装結果は本当の値からはるかに歪曲され、また、セキュリティ規則が前述のステップvにおけるように誘うenticeに設定されていれば、偽装結果は、モニタリングおよび犯人識別のために、成功に誘導し、おそらくは他を引き付けるように認可されていないプロセスに適合しようとする。図1は、本発明に従った、コンピューティングシステムの一実施形態の構成例を示すスタック図である。図1では、参照番号1は一時的コンピューティング装置を指定し、それは、コンピューティング環境の改善されたセキュリティを達成するために、そのコンピューティング環境状態が、認可されていないプロセスに対して動的に変動および変更されるように定義された、一時的な状態に誘導されている、コンピュータラップトップ、携帯電話、デスクトップコンピュータ、またはコンピュータサーバーなど、任意のタイプのコンピューティング装置であり得る。より高いレベルのセキュリティによって意味するものは、どのプロセスが認可されているか、以前に承認されているか、またはユーザーがアクセス許可をもつ装置と一緒にコンピューティング装置によって実行するように指定されているかを判断するコンピューティング環境の能力である。一時的コンピューティング装置1は、関連する構成を有する。この実施形態では、構成は、第1の仮想マシン1.1、第2の仮想マシン1.2、一時的防御層1.3、仮想化オペレーティングシステム1.4、デバイスドライバおよびファームウェア1.5、ならびに物理コンピュータハードウェア1.6を含む。同様に、図2では、参照番号2は、一時的として誘導される、ルーターまたはスイッチなどのネットワーク装置である変形実施形態を指定する。図2は、図1に関連して説明されるタイプの構成コンポーネント2.1~2.6を示す。コンピューティング環境の複雑性を拡張すると、図3では、参照番号3は、一時的として誘導される、LANローカルエリアネットワークなどの、ある資源を一緒に接続し、共有する複数のコンピューティング装置およびネットワーク装置で構成されるコンピューティングシステムを指定する。この実施形態では、一時的防御層3.3の構成は、図3に示すように協調的な方法で、全ての装置ならびに装置3.11、3.21および3.12に渡って動作できる。あるいは、各一時的装置は、システム内の任意の他の一時的装置またはそれらの組合せとは無関係に、その一時的防御層が動作できる。一時的コンピューティング環境と見なされるためには、誘導された一時的状態でなければならないコンピューティングシステム内の装置の最小数は1である。図4では、参照番号4は、コンピューティング装置が一時的である、別の実施形態構成を指定する。図1および図4に示すものの間の差は、図1における一時的コンピューティング層、参照番号1.3が、基本仮想化オペレーティングシステムの一部として中心的に実行する一時的コンピューティング層を示し、また、図4では、参照番号4.3が、指定された仮想マシンとして分散して実行する一時的コンピューティング層を示すことである。この構成では、各々が、参照番号4.1で示されるような、異なる指定された仮想マシン内で一時的に制御するように設定された、単一のコンピューティング装置またはネットワーク装置上の2つ以上の別個の一時的コンピューティング層があり得る。本発明の実施形態は、仮想マシンを外見的には再仮想化または時間化temporalizeするネスト化仮想マシンを含め、多くの形をとることができる。図5は、本発明の実施形態に対する一時的防御層の構成のブロック図を示す。ブロック図は、一時的防御層の機能コンポーネントおよびそれらの間の相互作用、コンピューティング装置上で実行する、VMWarevSphere、Xen、KVMまたはWindows登録商標Hyper-Vなどの、図5に示す仮想化オペレーティングシステム参照番号1.3.1300、ならびに、図5に示すWindows登録商標またはLinux登録商標オペレーティングシステムなどの仮想マシンのオペレーティングシステムを示し、参照番号1.3.1200は、集団collectiveコンポーネントによって管理されるように、一時的状態に誘導されている仮想化オペレーティングシステムによってホストされている。図5では、参照番号1.3.400は、一時的防御層で管理されていることにより一時的になる、各仮想マシン、コンピューティング実体に対する基本イメージおよびそれらのインスタンス化状態仕様を含む、基本仮想マシンイメージアーカイブを示す。各基本仮想マシンイメージ定義の一部として、図5に示す一時的仮想マシン参照番号1.3.1200上で実行するように認可されているプロセスが、認可プロセスレジストリ1.3.500内に登録され、それは、図5に1.3.400として示すアーカイブ内の基本仮想マシンイメージと関連付けられている。さらにシステムを説明すると、図5に示すセキュリティ規則エンジン参照番号1.3.600は、図5に参照番号1.3.400で示されるアーカイブ内に格納されている特定の基本仮想マシンイメージに関する特定の規則のみならず、一般的コンピューティング環境レベルに関する一時的動作の規則を含む。セキュリティ規則は、図5に参照番号1.3.1200で示す仮想マシンの一時的環境がどのように管理されるかを制御する。一時的環境セキュリティ規則は、基本仮想マシンイメージのインスタンスのランダムリフレッシュに対する間隔制限、認可されていないプロセスをどのように隔離するか、生産環境をどのように合成するか、システム仕様マスキングのためにどの技術を使用すべきか、およびどのような状況でどのような防護対策を配備すべきかを含む。追加として、特定のセキュリティ規則が、基本仮想マシンイメージおよび認可されたプロセスレベル基準に設定できる。番号1.3.100は、一時的スケジューラを示し、それは、本発明の実施形態の一時的なフラックスfluxを含む状態変化のスケジューリングを処理する。一時的スケジューラは、セキュリティ規則エンジン1.3.600によってその限界が制御される一連のランダムタイマーを設定する。システム変更に対応するタイマー上の時間が満了すると、インスタンスのリフレッシュが開始される。この一例を図11に示し、それは、仮想マシンがリフレッシュされるときに起こる移行プロセスを進める。状態マッパー1.3.900は、仮想マシン1.3.1200上で実行しているプロセスの状態または仮想マシン全体の状態をマッピングする一時的防御層のコンポーネントである。状態マッパーは、プロセス状態情報を取得するためにプロセス間通信ゲートウェイ1.3.800とインタフェースをとり、また、仮想マシンの完全な状態情報を取得するために合成環境シミュレータ1.3.700とインタフェースをとる。状態マッパー1.3.900によって収集された情報から、実行状態を捕捉する処理またはコンピューティング環境のスナップショットが作成される。スナップショットから、プロセスまたは仮想マシンが、そのスナップショットがとられた実行の状態に戻すことができ、処理がその時点から再開できる。整合性チェッカー1.3.300は、一時的防御層内で、認可されていないプロセスまたは仮想マシン1.3.1200の整合性を検証する責任を負う。仮想マシンの整合性をチェックする手順について、整合性チェッカー1.3.300は、その現在のアクティブな状態においてインスタンスのデジタル署名値を計算する。これに対するプロセスを図9に示す。この計算された値は、図5のアーカイブ1.3.400に格納されている基本仮想マシンイメージに対するデジタル署名整合性値と比較される。値が一致する場合、仮想マシンのセキュリティ整合性状態が、仮想マシンマネージャ1.3.200にログをとる、クリーンcleanに設定される。整合性チェッカー1.3.300が、仮想マシン1.3.1200上で実行している実行プロセスを検証する場合に、同様のプロセスが生じる。認可識別と呼ばれる、プロセスに対する整合性値が、認可プロセスレジストリ1.3.500内の関連する認可識別値と比較される。一時的スケジューラ1.3.100は、整合性チェックを開始し、それは、セキュリティ規則エンジン1.3.600内のセキュリティ規則によって制御されるように、同様にランダムベースで起こる。システム仕様ハンドラ1.3.1000は、仮想マシン1.3.1200によって実行されるシステム仕様要求をフィルタ処理する。要求が、仮想マシンのコンピューティング環境内でシステムコンポーネント、オペレーティングシステム、または利用可能な資源仕様に関して行われると、要求は、図8のプロセス流れ図に提示されているように、フィルタリングが要求に関して実行されるシステム仕様ハンドラ1.3.1000を通ってルーティングされる。値が解決されると、それが、仮想マシン1.3.1200に提供され、問い合わせているプロセスに返される。合成環境シミュレータ1.3.700は、仮想マシン1.3.1200とホスト仮想化オペレーティングシステム1.3.1300との間のシムshim、フィルタプロセス層である。これは、仮想マシンによって実行されているどの内部プロセスもその存在を知ることができないように、仮想マシンインスタンスの外部に配置される。合成環境シミュレータ1.3.700の機能は、発見が作動した場合、アクセスおよび処理コマンドがシミュレータによってインターセプトされ、全ての呼び出しプロセスにそれらが生産環境内にいると見せかけるために、肯定の応答が返送されるように、仮想マシン1.3.1200が一部であるより広いコンピューティングシステムおよびプロセスのミッションクリティカルなコンポーネントをエミュレートすることであるので、これは重要である。隔離エンフォーサQuarantineEnforcer1.3.1100は、仮想マシン1.3.1200を隔離し、そのインスタンスで実行している全てのプロセスにわたって隔離を強制する、一時的防御層のコンポーネントである。仮想マシンが隔離されている場合、あるプロセスコマンドは、認可プロセスレジストリ1.3.500のミッションクリティカルなコマンド仕様とともに、セキュリティ規則エンジン1.3.600によって定義されるように、実行されない。仮想マシンが生産の一部である場合、隔離は、仮想マシンによってどのようにプロセスが実行されるかに影響しないが、プロセスは、認可されていないプロセスでさえ、実行を継続するのを許可されるので、効果はほとんど受動的である。隔離エンフォーサは、整合性チェッカー1.3.300内の感染した仮想マシンの整合性状態をセキュリティ侵害されているとマークする。図11の一時的移行プロセスに示すようにインスタンスリフレッシュ中、セキュリティ規則に従って、隔離インスタンスは、自身を取得し、将来の科学捜査的分析のために保存されたスナップショットを有するか、またはセキュリティ規則が高いマスキングレベルに設定されている場合は、隔離されたインスタンスが生産から外部に移動されるが、終了されない。この場合、損害評価であり得る、調査および実験が実施できるように、別の仮想マシンが作成され、セキュリティ侵害されているインスタンスおよび認可されたプロセスと認可されていないプロセスの両方が、それらのコンピューティング環境に対していかなる変更も生じていないかのように、実行を継続できるような方法で、合成環境シミュレータ3.1.700によって制御される完全に合成されたコンピューティング環境として実行される、ライブ科学捜査隔離状態に設定される。このライブ科学捜査状態では、隔離エンフォーサ1.3.1100は、インスタンスがクリーンでセキュリティ侵害されていない状態環境をエミュレートできるように、隔離制約を解除する。隔離中、システム仕様ハンドラ1.3.1000が、セキュリティ規則によって制御されるように、異なる結果を返すことも指摘されるべきである。基本仮想マシンイメージを取得する1.3.201仮想マシンマネージャ1.3.200から始まる、一時的仮想マシンのインスタンス生成のプロセスが図6に定義される。新しい仮想マシンインスタンス要求が仮想オペレーティングシステムに対して発行される1.3.202。次いで、仮想マシンが起動される1.3.203。認可されたプロセスが認可プロセスレジストリから取得される1.3.204。例えば、基本仮想マシンイメージに対する手順が仮想マシンマネージャ1.3.200によって認可プロセスレジストリ1.3.500から取得される。登録プロセスが次いで開始される1.3.205。受信した各認可されたプロセスに対して、図5の仮想マシンマネージャが、状態マッパー1.3.900に格納されているプロセスの状態スナップショットに対する実行の現在の状態を取得し、これは、図6のブロック1.3.206に従って実行される。以前の処理インデックスがない場合1.3.210、状態は初期の処理状態のままにされ1.3.211、登録済みプロセス実行が始まる1.3.212。実行状態の場合には、プロセス実行状態が決定される1.3.207。中断されたプロセスの状態値が取得される1.3.208。プロセスの状態が格納されている値に設定される1.3.209。登録済みの全てのプロセスが処理されると、仮想マシンセキュリティ状態がクリーンに設定され1.3.213、仮想マシンが動作可能になる。図7は、仮想マシンの終了プロセスを進める。終了プロセスは、図5に1.3.200として示されている仮想マシンマネージャによって発行された仮想マシン終了コマンドから始める。認可されたプロセスリストが認可プロセスレジストリ1.3.500から取得され、この操作は図7のステップ1.3.220として示されている。認可されたプロセスがアクティブでない場合、そのプロセスはスキップされる1.3.222。プロセスが現在処理中であることが分かった場合1.3.223、状態マッパー1.3.900はプロセスの操作を中断し1.3.224、ポイントプロセス実行が一時停止され1.3.225、そして、プロセスの状態のスナップショットが取得される1.3.225。スナップショットが処理され1.3.226、プロセス状態のスナップショットが格納される1.3.227。全ての認可されたプロセスのスナップショットが収集され、仮想マシンマネージャ1.3.200によって決定されたように適切に処理されると、マネージャは、終了が予定されている仮想マシン1.3.1200について、仮想化オペレーティングシステム1.3.1300に対してシャットダウンコマンドを発行する。インスタンスが中断されて1.3.228終了されると1.3.229、その時点で仮想マシンがシャットダウンする。本発明の実施形態における一時的防御層のもう1つ別のコア機能は、仮想マシンのコンピューティングシステムまたはそのコアコンポーネントの1つの仕様に関して、マスクするか、不鮮明にするか、または認可されていないプロセスをミスリードする能力である。図8は、認可されていないプロセスがシステム仕様に関して問い合わせた場合に、図5に1.3.1000として示すシステム仕様ハンドラがとる上書きoverrideプロセスを示す流れ図である。図8では、番号1.3.1001は、仮想マシン上で実行されているプロセスが、システムまたはシステム上で実行しているコアコンポーネントの仕様に関して、インスタンスのオペレーティングシステムに問合せ要求を行うことを示す上書きプロセスを開始する。仮想マシン1.3.1200は、問合せ要求を、図8にステップ1.3.1002で示すように、プロセス間通信ゲートウェイ1.3.800を通じてシステム仕様ハンドラ1.3.1000に渡す。システム仕様上書きプロセス、図8を継続すると、番号1.3.1003は、システム仕様ハンドラ1.3.1000が、プロセスが認可プロセスレジストリ1.3.500に登録されているか否かを調べる、プロセスレジストリ検索ステップを示す。図8のブロック1.3.1004に示すように、プロセスがレジストリで見つからなければ、ハンドラは、そのプロセスが認可されていないと見なし、セキュリティ規則エンジン1.3.600によって示されるセキュリティ規則によって定義されるように、図8のブロック1.3.1007に示すシステム仕様値を上書きする。この処理ステップは、図8のブロック1.3.1006に示される。図8では、番号1.3.1013は、システム仕様の問合せを行っているプロセスを実行している仮想マシン1.3.1200に返される値を示し、次いで、ブロック1.3.1014は、システム仕様値を最終的に呼出しプロセスに返す、仮想マシンのオペレーティングシステムを示す。あるいは、システム問合せを行ったプロセスが認可プロセスレジストリ1.3.500で見つかると、そのプロセスに関連付けられた関連する問合せ認可ハッシュ値が返される1.3.1009。認可ハッシュは、一意の値を提供する呼出しプロセスの基本実行コードから計算されたハッシュであり、それは、そのプロセスが認可された基本実行コードから生じたことを示す。使用されたハッシュアルゴリズムは、SH1またはMD5など、任意のハッシュアルゴリズムであり得、また、値は、登録済みプロセスのインスタンスを作成する実行可能なマネージコードまたはスクリプトファイル仕様をハッシュすることによって、簡単に導出できる。図18は、本発明の実施形態に対して、コードファイルが標準の.exeである、登録済みのWindows登録商標ベースのアプリケーションに対する問合せ認可ハッシュを導出する例を示す。図18に示す第1のステップは、図16に示すデータ方式を有する基本仮想マシンイメージアーカイブ1.3.400に格納されている、基本仮想マシンイメージIDを取得すること1.3.501であり、それは、その問合せ認可が導出されている認可プロセスに関連する。これは、認可されたプロセスがその上で実行することを認可された仮想マシンである。図18に示す問合せ認可プロセスのステップ2は、そのプロセスの名前、またはこの場合は、アプリケーション実行ファイル名を取得すること1.3.502である。次に、プログラム実行可能ファイルヘッダーに対するプロセスまたは実行可能ファイルの仕様が確保される1.3.503。この例に対して使用される仕様は、マシン仕様、セクション数、ファイルの日付タイムスタンプ、シンボル数、オプションのヘッダーサイズおよび特性数である。これらのCOFFヘッダー値は、代替として、実行中のプロセスから取得できる。ブロック1.3.504は、前述の定義された順序でVMID、アプリケーションファイル名、マシン仕様、セクション数、ファイルの日付タイムスタンプ、シンボル数、オプションのヘッダーサイズ、および特性数、これら全ての値の連結された文字列を作成する第4のステップを示す。第5の導出ステップ1.3.505は、連結された文字列のSH1ハッシュを計算する。結果として生じるハッシュ値が、図18のブロック1.3.506に示す問合せ認可ハッシュであり、それは、図17に示すデータ構成に示すように、認可プロセスレジストリ内の認可されたプロセスのエントリに格納される。図8に戻ると、番号1.3.1011は、呼出しプロセスシステム仕様を要求しているプロセスの問合せ認可ハッシュ値と、前述で示したように、レジストリから取得した問合せ認可ハッシュ値が等価であるかが比較される、比較プロセスステップを示す。問合せ認可ハッシュ値が一致しない場合、システム仕様を要求している呼出しプロセスは認可されていないと仮定される1.3.1005。前述したように、システム仕様上書き手順が、処理ステップ1.3.1006で開始されたプロセスによって関与され、結果として、上書きされた値が呼出しプロセスに返される1.3.1014。代わりに、ブロック1.3.1011によって定義されるように、呼出しプロセスの問合せ認可ハッシュと、レジストリ値によって返された問合せ認可ハッシュが等しければ、そのプロセスは認可されていると見なされ、次いで、本当のシステム仕様値が取得される1.3.1012。本当のシステム仕様値は、そのシステム仕様の問合せを行ったプロセスを実行している仮想マシンに返され1.3.1013、それは、その後、本当のシステム仕様を呼出しプロセスに返す1.3.1014。プロセスが認可されていないと分かると、図5の仮想マシン1.3.1200全体が、図8のブロック1.3.1008で表されるように、セキュリティ侵害されているとマークされる。インスタンスのセキュリティ状態が、仮想マシンマネージャ1.3.200内で、セキュリティ侵害されているセキュリティを示す値に設定される。これは、システム仕様要求を行った、そのプロセスを実行している仮想マシンが、図8のブロック1.3.1013に示す、上書きされた仕様値を受信した直後に起こる。図9は、仮想マシン1.3.1200が、インスタンスがクリーンかセキュリティ侵害されているかを判断するために使用される整合性検証プロセスを示す。この実施形態では、クリーンを表すデジタル署名、仮想マシン1.3.1200のセキュリティ侵害されていない整合性状態が、基本仮想マシンイメージアーカイブ1.3.400に格納されている基本仮想マシンイメージから事前に計算され、図16に示すように、データ構成内の対応する基本仮想マシンイメージに関連して格納される。このデジタル署名は、仮想マシンイメージから導出された任意の数の計算された値にできる。この例では、図19で説明するように、仮想マシンのデジタル署名が、基本仮想マシンIDから導出され図19のブロック1.3.401に示す、オペレーティングシステム名図19のブロック1.3.402で示すおよび仮想マシンによって実行されているその拡張バージョン図19のブロック1.3.403で示すと結合される。この情報は、図19に示すように、仮想マシン上で実行されている、オペレーティングシステム名、コアプロセス名と一緒に、アルファベット順に連結され番号1.3.404、認可プロセスレジストリ図5の1.3.500に格納されているように、この仮想マシンに関連する認可されたプロセス名と一緒に、アルファベット順に連結される図19のブロック1.3.405に示す。結果として生じる連結文字列は、ブロック1.3.406で表され、これは、次いで、ブロック1.3.407でSH1ハッシュを実行され、ブロック1.3.408で出力値を生じるが、それは、この実施形態では、仮想マシンのデジタル識別である。整合性チェックが整合性チェッカー1.3.300によって生じると、図9のブロック1.3.301に示すように、仮想マシンのスナップショットが取得される。ブロック1.3.302に示すように、スナップショットのデジタル署名が次いで計算される。例えば、整合性がチェックされている仮想マシン1.3.1200のデジタル署名が、図19で説明するように、デジタル識別導出プロセスを実行することにより導出されるハッシュ値を使用して計算され得る。整合性チェッカー1.3.300が、次いで、前述したように計算された関連する事前計算されたデジタル署名が、図16のデータ構成に格納されている基本仮想マシンイメージアーカイブから取得される。図9のブロック1.3.303は、整合性チェッカーが、アーカイブから取得されたデジタル署名、および整合性チェックが実行されている仮想マシン1.3.1200のスナップショットから導出されたデジタル署名について実行する、比較プロセスを示す。デジタル署名が一致すると図9のブロック1.3.306に示す、仮想マシンの整合性が検証され、仮想マシンマネージャ1.3.200内にクリーンとしてマークされる図9のブロック1.3.307に示す。代わりに、デジタル署名が一致しなければ図9のブロック1.3.304に示す、整合性チェックが一致しなかったので、チェックされている仮想マシンはセキュリティ侵害されていると見なされる。これは、認可されていないプロセスが、チェックされていたインスタンス上で実行されていたことを意味する。結果として、仮想マシンに対するセキュリティ状態設定が、仮想マシンマネージャ1.3.200内でセキュリティ侵害されていると設定されて、そのインスタンスがセキュリティ侵害されていることを示す図9のブロック1.3.305に示す。図10は、2つのマシン間で一連のシームレスな認可されたプロセスのハンドオフがどのように起こるかの略図を示す。認可されたプロセスは、登録されていて、レジストリエントリレコードを有し、かつ、認可プロセスレジストリ1.3.500内にあるプロセスである。登録済みプロセスは、基本仮想マシンイメージアーカイブ1.3.400内に格納されている基本仮想マシンイメージに関連付けられている。登録済みプロセスは、それがレジストリ内の証印indiciaに関連付けられていれば、基本仮想マシンイメージインスタンス上で稼働、実行、または処理することを認可される1.3.1200。シームレスな認可されたプロセスのハンドオフ手順が図11に示され、ブロック1.3.1215が、一時的移行プロセスの一部として示され、図10に段階的に詳細に示されている。シームレスな認可されたプロセスのハンドオフは、インスタンスが生成され、図6のインスタンス生成プロセスで説明された、1つの仮想マシン1.3.1200上で現在実行されている認可されたプロセスを、基本仮想マシンイメージアーカイブ1.3.400内に格納されている基本仮想マシンイメージから、同じ基本仮想マシンイメージから派生された別の仮想マシンインスタンスへ、その認可されたプロセスの実行を妨害することなく移行したい場合に生じる。図10では、番号1.3.1220は、プロセスのハンドオフが始まる前に、プロセスの状態を示す、シームレスな認可されたプロセスのハンドオフのステップ0を示す。番号1.3.1221は、同じ仮想マシンイメージから派生され、前述したようにインスタンス生成された別の仮想マシンに移行されるか、またはハンドオフされる必要のあるプロセスである、認可されたプロセスA1.3.1222を実行している仮想マシンを示す。図10のステップ1では、番号1.3.1230は、認可されたプロセス、プロセスA1.3.1232が実行を続行するために移行されるインスタンスであり得る、移行先の仮想マシン1.3.1233で示すが配置されるか、またはインスタンスが生成されることを示す。ステップ1では、プロセスAが、元のまたは現在の仮想マシンと呼ばれる、移行元インスタンス1.3.1231上で現在まで実行されている。番号1.3.1240は、新しい認可されたプロセスAと呼ばれる、認可されたプロセスA1.3.1244を開始または初期化する、移行先の仮想マシン1.3.1243を示す。これは、元の仮想マシン1.3.1241が、生産認可プロセスAと呼ばれるプロセスAの実行を継続している間に生じている。番号1.3.1250は、現在中断されている認可されたプロセスの実行をホストしている元の仮想マシン1.3.1251によって一時停止されている、生産認可プロセスA1.3.1252の実行を示す。番号1.3.1254は、移行先の仮想マシン1.3.1253上で初期化された新しい認可されたプロセスAを示し、このプロセスの実行も中断される。図10のシームレスな認可されたプロセスのハンドオフの番号1.3.1260で示すステップ4は、スナップショット手順を示す。ステップ3で前述したように、生産認可プロセスAが中断されると、図5の状態マッパー1.3.900が図10に示した状態スナップショットを取得する。図10の新たに中断された生産認可プロセスA1.3.1262の番号1.3.1265は、図10の番号1.3.1262で示す生産認可プロセスAの代わりに、元の仮想マシン図10の番号1.3.1261によって実行されていた最後の命令の現在の実行ポイントまたはプロセス命令インデックスポインタを捕捉し、それは、図5に示す状態マッパーの一部として、メモリ状態、プロセススタック状態と共に、プロセスの状態スナップショットに記録される。番号1.3.1265は、全ての情報がいつ収集されたかを表す。番号1.3.1264は、移行先の仮想マシン1.3.1263上で初期化された新しい認可されたプロセスAを示し、そのプロセスの実行も中断される。番号1.3.1270は、新しいプロセス上で複製されているプロセス状態を示す。中断された生産認可プロセスA1.3.1272の取得された状態スナップショット1.3.1275は、中断された新しい認可されたプロセスA1.3.1274を、一致するプロセスの実行状態に設定するために使用される。元の仮想マシン1.3.1271および移行先の仮想マシン1.3.1273の両方は、それぞれの認可されたプロセスAの中断された実行を有する。状態マッパー1.3.900は、図10に番号1.3.1274で示す新しい認可されたプロセスAの状態のメモリおよびスタックおよび実行状態を、実行が中断される前のその最終時点における中断された認可されたプロセスAのそれと一致させるように、変更するため、補足した状態スナップショット情報を使用して、移行先の仮想マシン1.3.1273上で生産認可プロセスAを有効に複製する。図10に番号1.3.1280で示すシームレスな認可されたプロセスのハンドオフのステップ6は、中断された時点から次の処理命令を再開する生産認可プロセスAの実行を示す。元の仮想マシン1.3.1281上で生産認可プロセスA1.3.1282の実行が中断されたままの間、移行先の仮想マシン1.3.1283によって処理されている新しく複製された認可されたプロセスA1.3.1284が、複製のために情報が使用されたスナップショットが取得される前に元の生産認可プロセスAが中断された時点から、次の処理命令でプロセスの実行を再開するように設定される。最後の実行ポイントは、状態マッパー1.3.900によって記録され、複製された生産認可プロセス1.3.1284が次の命令の処理を開始するために、処理スタックが移行先の仮想マシン1.3.1283で適切に設定できるようにし、認可されたプロセスが、シームレスなプロセス移行を行っている認可されたプロセスの実行順を妨害することなく、1つの仮想マシンのインスタンスから別へうまく移行できるようにする。シームレスな認可されたプロセスのハンドオフのステップ7を図10に示す。番号1.3.1290は、古い認可されたプロセスの終了のハウスキーピングステップを示す。番号1.3.1291は、元の生産認可プロセスA1.3.1292の実行が現在中断されている元の仮想マシンを示す。移行先の仮想マシン1.3.1293上の実行中の生産認可プロセスA1.3.1294に影響を及ぼさない、中断されたプロセスAが終了される。シームレスな認可されたプロセスのステップ8は番号1.3.1295に関連付けられ、元の仮想マシンが終了されると、シームレスなハンドオフプロセスのうまく終了した状態を表す。生産認可プロセスA1.3.1297が、移行先の仮想マシン1.3.1296によってアクティブに実行されている。図11は、一時的移行プロセスの流れ図を示し、基礎となる基本仮想マシンイメージのインスタンスに対する一時的状態の誘導およびプロセスの実行がどのように処理されるかを詳述する。移行プロセスは、一時的スケジューラ1.3.100によってランダムに設定されるように、仮想マシン1.3.1200に対するインスタンスの寿命タイマーlifetimerが満了すると、開始する。図11のブロック1.3.1201で示すように、一時的スケジューラ1.3.100は、そのタイマーが満了すると、タイマーがちょうど満了した仮想マシンの一時的移行プロセスを開始する。一時的スケジューラは、図11のブロック1.3.1202に示すように、インスタンスの寿命タイマーがちょうど満了した仮想マシンと関連付けられた基本仮想マシンイメージの新しいインスタンスを作成するために、仮想マシンマネージャ1.3.200に信号送信する。この新しい仮想マシンのインスタンス生成が、図6のプロセス流れ図に示されているように起こり、図6の番号1.3.210を含むプロセス経路によって示されるように初期化するために、関連する認可されたプロセス状態を設定するためのプロセスステップに従う。最後のインスタンス生成ステップが終了すると図6、ブロック1.3.212、仮想マシンマネージャが、新たにインスタンス生成された移行先の仮想マシンに対して設定されたクリーンなセキュリティ整合性状態を有し、認可されたプロセスが全て初期化され、中断される。図11のブロック1.3.1203は、インスタンスの寿命タイマーがちょうど満了した仮想マシン上で実行中の各プロセスに対して、仮想マシンマネージャによって実行されている反復的なプロセスの開始を示す。ブロック1.3.1204は、プロセスが状態マッパー図5の1.3.900によって中断されていて、前述したシームレスな認可されたプロセスのハンドオフの説明のように、プロセス状態のスナップショットが取得される、認可されたプロセス検証ステップを示す。次いで、プロセスは、それが認可されたプロセスであるか否かを判断するために、認可プロセスレジストリ図5の1.3.500に対してチェックされる。それが認可されたプロセスであれば、プロセス経路は次いで、ブロック1.3.1214に進み、それはその後、シームレスな認可されたプロセスのハンドオフを示す処理ステップであるブロック1.3.1215に進む図10に示す。これは、実行されている認可されたプロセスを1つの仮想マシンから、同じ仮想マシンイメージからインスタンス生成されている別の仮想マシンに移行する。ブロック1.3.1215のハンドオフが完了した後、認可されたプロセスが、ブロック1.2.1202で作成された新しい移行先仮想マシンによって現在実行されている。このプロセス経路は、インスタンスの寿命タイマーがちょうど満了した仮想マシン上で中断されている、認可されていると分かった全てのプロセスに対して繰り返される。あるいは、プロセスがブロック1.3.1204の認可ステップに失敗すると、実行経路はブロック1.3.1205に進むが、それは、認可されていないプロセスが、インスタンスの寿命タイマーがちょうど満了した仮想マシン上で実行されていることがわかったことを示す。ブロック1.3.1206は、インスタンスの寿命タイマーがちょうど満了した仮想マシンのセキュリティ整合性状態を、それがセキュリティ侵害されていることを示す値にマークする、仮想マシンマネージャを示す。ブロック1.3.1207は、セキュリティ規則エンジン図5の1.3.600が、ちょうど発見された認可されていないプロセスに対してどの防護対策をとるかを判断するために問合せをされる、一時的移行処理ステップを示す。規則が、一時的移行時に全ての認可されていないプロセスが終了するように設定される場合は、経路1.3.1208がとられて、認可されていないプロセスのハンドオフをスキップし、それは現在、仮想マシンが終了するときに終了する予定である。ブロック1.3.1209は、問合せによって返されたセキュリティ規則が、認可されていないプロセスが実行を継続するライブ科学捜査状態に置かれることを示すか否かをチェックするステップを示す。ブロック1.3.1210は、インスタンスの寿命タイマーがちょうど満了した仮想マシンに対してライブ科学捜査を実行していることを示すフラグを設定する仮想マシンマネージャ図5の1.3.200を示す。一時的移行プロセスの認可されていないプロセス実行経路を続行すると、ライブ科学捜査オプションがオンの場合、第3の仮想マシンが仮想マシンマネージャ図5の1.3.200によってインスタンス生成され、それは、図11のブロック1.3.1211に示されるように、コンピューティング環境を合成する方法で新しいインスタンスを提示する、ライブ科学捜査モードに設定される。残りのプロセスがチェックされ、認可されていれば、ブロック1.3.1202で新たに作成された新しい移行先の仮想マシンに移行される。全ての認可されたプロセスの新たにインスタンス生成された仮想マシンへのシームレスなハンドオフが完了すると、認可されていないプロセスが移行先インスタンスにハンドオフされていないため、移行先のインスタンスはいかなる認可されていないプロセスも有していないので、仮想マシンマネージャ図5の1.3.200は、ブロック1.3.1202で作成された新しい移行先仮想マシンのセキュリティ整合性状態をクリーンなセキュリティ整合性値を示す値に設定する。追加として、仮想マシンマネージャは、インスタンスの持続時間タイマーを、一時的サイクルを続行している一時的スケジュール内のランダム値に再設定する。認可されたプロセスが全て、ブロック1.3.1202で作成された新しい移行先仮想マシン上の生産環境で実行されている。インスタンス持続時間タイマーが満了した仮想マシンのライブ科学捜査フラグがオンに設定され、仮想マシンマネージャ図5の1.3.200に反映されたセキュリティ状態がセキュリティ侵害されていると設定されると、ブロック1.3.1212の移行処理ステップが実行され、それは、インスタンス持続時間タイマーが最近満了した仮想マシン上で中断されている、認可されたプロセスと認可されていないプロセスの両方のプロセス全てを、合成コンピューティング環境をライブ科学捜査モードで実行している、ブロック1.3.1211で作成された第3の仮想マシンに移行する。認可されたプロセスは、図10に示すシームレスな認可されたハンドオフプロセスを用いて移行される。認可されていないプロセスは、プロセスコード、メモリ状態およびスタック状態の正確な状態マップを取得し、それを、ブロック1.3.1211で作成されたように、ライブ科学捜査モードである合成仮想マシンにコピーする、状態マッパーによって複製される。全てのプロセスが移行されると、プロセス中断が解除され、合成環境を実行している仮想マシンが、現在は生産環境の一部ではないプロセスの実行を、調査、分析および操作できる合成されたコンピューティング環境で継続する。ブロック1.3.1298は、一時的移行プロセスを開始するためにインスタンス持続時間タイマーが満了した今は古い仮想マシンが、図7で定義されたプロセスに従って現在終了されている一時的移行プロセスの最後の処理ステップを示す。結果は、この一時的移行プロセスを通じてクリーンなインスタンスに移行された認証されたプロセスを実行するブロック1.3.1202で作成されたクリーンな仮想マシンであり、有効に生産処理に移行する。古い仮想マシンがセキュリティ侵害された場合、合成コンピューティング環境が基本仮想マシンイメージからインスタンス生成され、認可されていないプロセスを含めて、古い仮想マシンの処理状態に設定される。これは、認可されていないプロセスが、認可されていないプロセスまたは認可されていないプロセスのハンドラに検出されない方法で、実行を継続できるようにする。図12は、基本仮想マシンイメージアーカイブ図5の1.3.400内に存在する移行元基本仮想マシンイメージによって取得されるように、仮想マシンマネージャ図5の1.3.200によってインスタンス生成され、登録されている、仮想マシン図5の1.3.1200のリフレッシュを制御する一時的スケジューラプロセスの流れ図である。図12のブロック1.3.101は、図6に詳述するインスタンス生成ステップを示す。図12のブロック1.3.102は、仮想マシンに対して一時的サイクルを開始する第1の時間に対するインスタンス寿命タイマーの設定を示すが、その仮想マシンは、現在、一時的スケジューラ図5の1.3.100によって決定されるように頻繁なインスタンスリフレッシュを経験し、仮想マシンマネージャ図5の1.3.200によって実行されるので、現在、一時的仮想マシンと呼ぶことができる。本発明の本実施形態においてインスタンス寿命タイマーの持続時間を設定するために使用された時間値は、インスタンス寿命タイマーの持続時間に対するランダムな間隔を計算するために、乱数または擬似乱数発生器を使用した。これは、より高いレベルのセキュリティを追加するために行われ、それは、リフレッシュが生じるのを判断するのをより困難にすることによりタイミング攻撃を防ぐために、リフレッシュ間隔をランダム化することを通じて獲得される。リフレッシュレートの限度を制御するために、最小および最大の期間値が、基礎となるコンピューティング装置またはネットワーク装置上に一時的コンピューティング環境が与えるシステム性能影響を制御するセキュリティ規則エンジン図5の1.3.600内で設定される。図12のブロック1.3.103は、満了する所与の仮想マシンに対するインスタンス寿命タイマーを示す。満了すると、リフレッシュプロセスが一時的スケジューラ図5の1.3.100によってトリガーされ、仮想マシンマネージャ図5の1.3.200に、インスタンス寿命タイマーがちょうど満了した仮想マシン図5の1.3.1200のリフレッシュを行うように通知する。図12のブロック1.3.104は、このインスタンスのリフレッシュプロセスを示し、それは、図11の流れ図に詳細に示すように、一時的移行プロセスを実行する。移行プロセスが完了すると、基本仮想オペレーティングシステムイメージに関連する登録済みプロセスを処理する、新しいか、またはリフレッシュされた仮想マシンが作動される。仮想マシンマネージャは、新しいインスタンスが動作可能であることを一時的スケジューラに通知する。図12のブロック1.3.105は、新しくインスタンス生成された仮想マシンに対するタイマーを再設定する一時的スケジューラを示すが、その仮想マシンは現在動作可能であり、一時的状態リフレッシュプロセスを完了する。乱数がセキュリティ規則制限内で再度取得され、インスタンス寿命タイマーの持続時間がこの値に設定される。図13は、本発明のこの実施形態に対する隔離手順の流れ図を示す。隔離機能は、一時的システムにおける3つの主なセキュリティ目標:認可されていないプロセスを封じ込めること、認可されていないプロセスが一時的コンピューティングシステムに対して与えることができる損害を減らすこと、および検出され、隔離されている認可されていないプロセスまたはそのハンドラに警告しないような方法で、それを行うこと、を達成するように設計されている。ブロック1.3.1101は、隔離プロセスにおける第1のステップであり、認可されていないプロセスを検出する。検出はさまざまな方法で生じ得るが、そのうちの2つは、図11のブロック1.3.1205に示す一時的移行プロセスおよび図9のブロック1.3.304に示す整合性チェックプロセスなどにおけるように、他の定義領域で説明されている。図13のブロック1.3.1102は、仮想マシンマネージャにおける仮想マシン図5の1.3.1200に対するセキュリティ状態を、インスタンスの整合性がセキュリティ侵害されていることを示す値に、まだそのように設定されていなければ、設定することを示す。インスタンスのセキュリティ整合性値がセキュリティ侵害されていると設定されていると、インスタンスは、ブロック1.3.1103に示すように隔離された仮想マシンとして実行し始め、そのインスタンスは、隔離モードでの実行と呼ぶことができる。セキュリティ規則エンジン図5の1.3.600によって決定されているように、仮想マシンが隔離されていると、ブロック1.3.1104で示すように、隔離セキュリティプロセス規則が有効になる。これらの隔離セキュリティ規則は、図8に詳述し、図13のブロック1.3.1105に示す、システム仕様偽装プロセスによって返される値を変更する。この実施形態の例は、どのオペレーティングシステムバージョンを実行しているかを判断するために問合せが行われた場合に、今は隔離モードがアクティブなので、実際のバージョン数を返す代わりに、認可されていない権限昇格など、システムを悪用する認可されていないプロセスがより困難な時間をもつように、オペレーティングシステムの古いバージョンのIDを返すことであろう。隔離セキュリティ規則は、ブロック1.3.1106に示すように、システムのクリティカルな資源へのアクセスも制限する。この例は、隔離モードがオンでなく、全てのプロセスが共有されたネットワークファイルおよび印刷資源へのアクセスをもつ場合である。一旦隔離モードがオンになれば、隔離セキュリティ規則は、認可されていないプロセスを分離する効果を持つことができる、全ての共有ファイルおよび印刷資源へのアクセスを制限し、それは、例えば、共有された印刷資源をもはや悪用できないので、プリンタに感染するワームであり得る。加えて、隔離セキュリティ規則は、ブロック1.3.1107に示すように、システム設定に対する変更を防ぐ。この例は、全てのプロセスに対してWindows登録商標オペレーティングシステムを実行している仮想マシンのシステムレジストリに対する書込み権限を、たとえプロセスがそれを行う権限を有していても、隔離セキュリティ規則によって指定されるように、制限することである。ブロック1.3.1108は、隔離モードで動作している仮想マシン上の認可されていないプロセスを含むプロセスを示し、それは、全てのプロセスの実行を隔離セキュリティ規則によって設定される許容範囲内で継続する。これは同様に、システム処理の影響を軽減するため、また、検出され、現在は封じ込められている認可されていないプロセスの認識を高めないために行われる。図11に詳述した一時的移行プロセス中に一時的スケジューラ図5の1.3.100によって制御されているように、次の一時的リフレッシュ中に、整合性チェックが、図13のブロック1.3.1110で強調されたように実行される。図11では、ブロック1.3.1209は、移行されている仮想マシンのセキュリティ整合性状態であり、仮想マシンが隔離モードで動作していることを示し図13のブロック1.3.1111に示す、例えば、ライブ科学捜査モードがオンであるか否を判断するためにチェックが行われていることを示すブロック1.3.1112で示す。ライブ科学捜査モードがオンであれば、ブロック1.3.1113が起動され、その操作が図11のブロック1.3.1210に詳述されている。同様に図11のブロック1.3.1211に詳述されるように、新しい仮想マシンが作成され、それは、図13のブロック1.3.1114に示す合成モードに置かれる。このモードは、合成環境シミュレータ図5の11.3.700によって制御され得る。この新しい合成仮想マシンが、移行中のセキュリティ侵害された仮想マシンの非生産のライブ科学捜査インスタンスになる。図13では、ブロック1.3.1115は、図10で詳細したシームレスな認可されたハンドオフプロセスを利用して、セキュリティ侵害されたインスタンスからライブ科学捜査の合成環境インスタンスへの認可されたプロセスの移行を強調する。ブロック1.3.1116は、感染したインスタンスから、セキュリティ侵害されたシステムからコピーされ、認可されていない状態のスナップショットを通じて複製された、ライブ科学捜査の合成環境インスタンスへ、ハンドオフされている認可されていないプロセスを強調するが、その複製には、認可されていないプロセスの実行命令ネイティブコード、マネージコードまたはスクリプトコード、使用されているメモリおよび実行スタックのライブ科学捜査の合成環境インスタンスへの複製を含む。ライブ科学捜査の合成環境インスタンスが全てのプロセスをそれに移行させると、ライブ科学捜査の合成環境インスタンスのセキュリティ状態が、ブロック1.3.1117に示されているようにクリーンな値に設定される。ブロック1.3.1118は、ライブ科学捜査の合成環境インスタンス上の新たに移行されたプロセスに対するプロセス中断の解除を示し、また、認可されたプロセスと認可されていないプロセスの両方の実行が復元される。ブロック1.3.119は、現在はライブ科学捜査仮想マシン内にある認可されていないプロセスに対して行うことができる調査および分析および実験を示す。同様に、これは、実行を最初は隔離し、次いで制御された合成環境に置くために、認可されていないプロセスまたはその管理者が1つのインスタンスから別のインスタンスへ移行されているという事実をそれに警告することなく実行される。ブロック1.3.1121は、ブロック1.3.1202を含め、図11で詳述された、一時的リフレッシュ移行プロセスの一部として作成された新しい移行先仮想マシンを示す。図13のブロック1.3.1123は、仮想マシンマネージャ図5の1.3.200によって追跡されたそのセキュリティ整合性値を、図13のブロック1.3.1122で示すクリーンに設定することにより、新しく作成された移行先仮想マシン上で解除されている隔離を示す。ブロック1.3.1124は、図7の流れ図で詳述するように、隔離された仮想マシンが終了される直前に、状態マッパー図5の1.3.900によって取得されている、その仮想マシンの状態スナップショットを示す。隔離プロセスの最終ステップは、図13のブロック1.3.1125で示すように、隔離されたインスタンスのスナップショットのコピーを科学捜査的分析のために格納することである。図14は、本発明の実施形態に従って利用された合成生産システムを示す。ライブ科学捜査モードを実行する仮想マシンは、ネスト化仮想化オペレーティングシステム1.3.701をもつ仮想マシンを含み得る。これは、隔離されていない感染した仮想マシン1.3.702、ネットワーク装置のための合成仮想マシン1.3.703およびパーソナルコンピュータ用の合成仮想マシン1.3.704を備えた合成生産環境を含み得る。インスタンスは、インターネット1.3.705上の資源を使用することによって交換され得る。図15は、認可されていないプロセスとして実行するエージェントコードでハッキングまたは感染されている現実の世界のシステム例を使用して、リアルタイムの防護対策を進める。この例では、本発明で詳述するように、一時的環境で実行する仮想マシンが、認可されたウェブブラウザアプリケーションを実行する。ウェブブラウザは、そのウェブブラウザが、ハッカーによってウェブサイト上に置かれた悪質なコードによって判断された、32ビットのWindows登録商標環境で実行しているIEであることを判断するハッカーによって悪用される。認可されたウェブブラウザアプリケーションを実行する仮想マシンがWindows登録商標オペレーティングシステムの32ビットバージョンを実行している。悪用に対する脆弱性は、Windows登録商標オペレーティングシステムの32ビットバージョン上で実行中に、IEウェブブラウザに影響を及ぼすメモリオーバーフローベクトルであった。これは、コンピュータシステムへの認可されていないアクセスを取得するために頻繁に使用される、極めて典型的なブラウザクラッシャーbrowserexploitである。メモリオーバーフローが悪用されると、閲覧されていたウェブサイト上に置かれた悪質なコードによって再度実行のために、シェルコードがロードされた。シェルコードは、ハッカーがマシンに対して認可されていないリモートアクセスをできるようにするウイルスまたはエージェントコードである。一時的移行プロセス中、図15のブロック1.3.601に示すように、仮想マシンが認可されていないプロセス、この場合エージェントコードを経験することが検出された。セキュリティ規則は、最近の成功した攻撃に対してアクティブな防護対策を適用するために、認可されていないプロセスが判断され、また、感染した仮想マシンのスナップショットが、感染が何であったかを判断し、それをセキュリティ規則エンジン図5の1.3.600に報告するオートプシーを経験するようなものである。ブロック1.3.602は、感染した仮想イメージスナップショット上で実施されている科学捜査的分析を示す。ブロック1.3.603は、認可されていないアクセスエージェントがシステム上に置かれていて、たぶん、これがブラウザを介して行われたと結論を下す分析を示す。ブロック1.3.604は、セキュリティ規則エンジンに発見を通知する科学捜査アプリケーションを示す。ブロック1.3.605で適用されたアクティブな防護対策に基づき、クラッシャーが最近仮想マシン上で成功している場合、経路1.3.606に示すように、IEブラウザアプリケーションを含む認可されたアプリケーションに対して、オペレーティングシステムのバージョンがその本当の値の32ビットから64ビットに変更されるように、システム仕様ハンドラの偽装特徴が変更される。ブラウザアプリケーションがオペレーティングシステムの仕様に関して次にシステム問合せを行う時、返される結果は、ブロック1.3.607に示すように、64ビットのWindows登録商標オペレーティングシステムである。ハッカーが悪質なコードを置いたサイトをブラウザが次に訪問する時、システムを感染させるために最後に使用されたクラッシャーは、その悪質なコードは32ビットのWindows登録商標オペレーティングシステムに対してのみ有効であるので、機能しないであろう。ブラウザは、ブロック1.3.608に示すように、情報文字列が変更されたことを報告する。従って、クラッシャーはもはや機能せず1.3.609、64ビットOSがスキップされる1.3.610。その結果として、クラッシャーは、偽装防護対策1.3.611のために動作しない。この例は、セキュリティを高めるためにリアルタイムの防護対策を用いる、現実の世界の一時的システム例を示し、最近検出された攻撃に対してシステムを強くする。図16は、本発明の実施形態に従って収集され得る例示的なデータを示す。具体的には、図は、アーカイブ内に記録される基本仮想マシンイメージを示し、それは、仮想マシン基本イメージ識別、ハードウェア識別、仮想マシンデジタル識別および仮想マシン基本イメージオブジェクトのための列を含む。図17は、本発明の実施形態に従って収集され得る例示的なデータを示す。具体的には、図は、レジストリ内の認可されたプロセス情報を示し、それは、認可されたプロセス識別、仮想マシン基本イメージ識別、プロセスファイル名、認可されたハッシュおよびプロセス実行可能オブジェクトのための列を含む。当業者であれば、開示した技術に関連する多くの利点を認識するであろう。その最も基本的な形において、本技術は、認可されていないコンピュータアクセスおよび使用を削減する。本技術は、コンピュータ装置またはネットワークを理解および制御するために必要なスキルレベルを向上させることにより、潜在的なハッカーの数を削減する。本技術は、コンピュータ装置またはネットワークが何であるかに関して、アタッカーを当惑および混乱させる。従って、コンピュータ装置およびネットワークの認可されていないアクセスおよび使用を得るための費用が増加する。本技術は、サイバー攻撃の現在の非対称性を減らす。本技術は、また、ネットワーク上のコンピューティング装置が感染した場合に、ウイルスの拡がりを遅くする。本技術は、ウイルスまたは認可されていないエージェントコードまたは認可されていないコンピューティングセッションが感染したコンピューティング装置上に存在する期間を短縮する。本技術は、ウイルスまたは認可されていないエージェントコードまたは認可されていないコンピューティングセッションが悪質なコマンドを実行する必要のある時間窓を短縮する。本技術は、攻撃に対する防護対策も提供する。従って、本技術は、ランダムもしくは偶然のリフレッシュサイクルインスタンス化、再インスタンス化および非インスタンス化またはコンピュータ装置、ネットワークおよびシステムのサイクルを通して、安定した標準的なコンピューティング環境を容易にする。本技術は、ミッションクリティカルなプロセスのコンピューティング装置およびネットワーク間のシームレスな移行を容易にして、サービスの中断またはコマンドのリプレイを回避する。本技術はまた、システム交換に代わるものとして、レガシーシステムの新しいセキュリティ方法への移行パスを可能にする。本技術は、サービス妨害DenialOfService攻撃を回避する。本技術は、認可されていない使用セッションに加え、ウイルスおよびエージェント感染システムの将来の科学捜査的再構築および生きている見本の分析が可能になる方法で、システム状態を格納する。本技術は、封じ込めた感染したコンピューティング装置およびネットワークを、ウイルス、認可されていないエージェントコードまたは認可されていないコンピュータセッションユーザーまたはそれらを遠隔制御している関係者によって気づかれることなく、生産コンピューティング環境から非生産コンピューティング環境に移行できるようにする。本技術は、感染したコンピューティング装置およびネットワークがその中で動作できる合成または疑似生産環境も提供するが、ウイルス、認可されていないエージェントコードまたは認可されていないコンピュータセッションユーザーまたはそれらそれぞれの管理者は、そのコンピューティング環境が生産環境でないことを判断できない。感染したコンピューティング装置およびネットワークがその中で動作でき、拡がることができる合成または疑似生産環境は、ウイルスまたは認可されていないエージェントコードの脅威レベル、伝搬速度および多形属性を判断するために安全に評価できる。本発明の実施形態は、様々なコンピュータ実装された動作を実行するためのコンピュータコードをその上に有するコンピュータ可読記憶媒体を備えたコンピュータストレージ製品に関する。媒体およびコンピュータコードは、本発明のために特別に設計されたか、もしくは構築されたものであり得るか、またはコンピュータソフトウェア業者に周知かつ利用可能な種類である得る。コンピュータ可読媒体には、ハードディスク、フロッピィディスク、および磁気テープなどの磁気媒体;CD-ROM、DVD、およびホログラフィック装置などの光媒体;光磁気媒体;ならびに特定用途向け集積回路ASIC、プログラム可能論理回路PLDおよびROMおよびRAM装置など、プログラムコードを格納および実行するように特別に構成されているハードウェア装置を含むが、それらに限定されない。コンピュータコードの例には、コンパイラによって生成されたような機械コード、インタープリタを用いてコンピュータによって実行される高水準コードを含むファイルを含む。例えば、本発明の実施形態は、JAVA登録商標、C、またはオブジェクト指向プログラミング言語および開発ツールを用いて実装され得る。本発明の他の実施形態は、機械実行可能なソフトウェア命令の代わりに、またはそれと組み合わせてハードワイヤード回路内で実装され得る。説明のため、上の記述では、本発明の完全な理解を提供するために、特別な用語体系を使用した。しかし、本発明を実施するために具体的詳細は必要ないことが当業者には明らかであろう。従って、本発明の特定の実施形態の上の記述は、例証および説明のために提示されている。それらは、包括的であるか、または本発明を開示した正確な形状に制限することを意図しておらず;前述の教示を考慮して、明らかに、多くの修正および変形が可能である。実施形態は、本発明の本質およびその実際の適用を最も良く説明するために、選択および記述され、それにより、それらは、当業者が本発明および様々な実施形態を、検討された特定の使用に適するように様々な修正を行って、最も良く利用できるようにする。以下の特許請求の範囲およびそれらの同等物が本発明の範囲を定義することが意図される。