(58)【調査した分野】(Int.Cl.,DB名)
前記関連付けのセットは、以下の関係要因:前記関連するVMインスタンスが前記VMインスタンスと共通のカスタマにより所有されること、前記関連するVMインスタンスが前記VMインスタンスの所有者に関連するカスタマにより所有されること、前記関連するVMインスタンスが前記VMインスタンスと共通のサービスを実施すること、前記関連するVMインスタンスが前記VMインスタンスと共通のプロセスに関連すること、又は前記関連するVMインスタンスが前記VMインスタンスと共通の技術の基礎に関連すること、のうちの少なくとも1つに基づいて確立される、請求項1に記載の方法。
前記第1の防止手段及び前記第2の防止手段はさらに、それぞれ、前記第1の関連するVMインスタンス及び前記第2の関連するVMインスタンスに対する前記VMインスタンスの位置に基づく、請求項1に記載の方法。
前記関連付けのセットは以下の関係要因:前記関連するVMインスタンスが前記VMインスタンスと共通のカスタマにより所有されること、前記関連するVMインスタンスが前記VMインスタンスの所有者に関連するカスタマにより所有されること、前記関連するVMインスタンスが前記VMインスタンスと共通のサービスを実施すること、前記関連するVMインスタンスが前記VMインスタンスと共通のプロセスに関連すること、又は前記関連するVMインスタンスが前記VMインスタンスと共通の技術の基礎に関連すること、のうちの少なくとも1つに基づいて確立される、請求項8に記載のシステム。
前記第1の防止手段及び前記第2の防止手段はさらに、それぞれ、前記第1の関連するVMインスタンス及び前記第2の関連するVMインスタンスに対する前記VMインスタンスの位置に基づく、請求項8に記載のシステム。
クラウド・コンピューティング環境における脅威に応答するためのコンピュータ・プログラムであって、前記コンピュータ・プログラムはプログラム命令を含み、前記プログラム命令は、少なくとも1つのコンピュータ・デバイスに、
仮想マシン(VM)インスタンスへの関連付けのセットを確立させることであって、前記関連付けのセットの各関連付けは前記VMインスタンスと関連するVMインスタンスとの間の関係を示す、確立させることと、
強度属性を前記関連付けのセットの各関連付けに割り当てることと、
脅威の検出に応答して、第1の関連するVMインスタンスに対して第1の防止手段を実施させることであって、前記第1の防止手段の強度は前記VMインスタンスと前記第1の関連するVMインスタンスとの間の前記関連付けに対応する前記強度属性に基づく、実施させることと、
前記脅威の前記検出に応答して、第2の関連するVMインスタンスに対して第2の防
止手段を実施させることであって、前記第2の防止手段の強度は前記VMインスタンスと前記第2の関連するVMインスタンスとの間の前記関連付けに対応する前記強度属性に基づく、実施させることと、
を実行させる、コンピュータ・プログラム。
前記命令はさらに、前記少なくとも1つのコンピュータ・デバイスに、前記脅威を検出する脅威検出ツールを実行させる、請求項15に記載のコンピュータ・プログラム。
前記脅威は、サービス拒否攻撃、前記VMインスタンスにおける脆弱性、又はハッキングのうちの少なくとも1つを含む、請求項16に記載のコンピュータ・プログラム。
前記関連するVMインスタンスが前記VMインスタンスと共通のカスタマにより所有されること、前記関連するVMインスタンスが前記VMインスタンスの所有者に関連するカスタマにより所有されること、前記関連するVMインスタンスが前記VMインスタンスと共通のサービスを実施すること、前記関連するVMインスタンスが前記VMインスタンスと共通のプロセスに関連すること、又は前記関連するVMインスタンスが前記VMインスタンスと共通の技術の基礎に関連すること、のうちの少なくとも1つに基づいて確立される、請求項15に記載のコンピュータ・プログラム。
前記第1の防止手段及び前記第2の防止手段はさらに、それぞれ、前記第1の関連するVMインスタンス及び前記第2の関連するVMインスタンスに対する前記VMインスタンスの位置に基づく、請求項15に記載のコンピュータ・プログラム。
【発明の概要】
【発明が解決しようとする課題】
【0004】
ネットワーク化されたコンピューティング環境(例えば、クラウド・コンピューティング環境)における脅威に応答するための方法、システム及びコンピュータ・プログラムを提供する。
【課題を解決するための手段】
【0005】
一般に、ネットワーク化されたコンピューティング環境(例えば、クラウド・コンピューティング環境)における脅威に応答するための手法が提供される。1つの実施形態において、仮想マシン(VM)インスタンスへの関連付けのセットが確立される。関連付けのセットの各関連付けは、VMインスタンスと関連するVMインスタンスとの間の関係を示す。関連付けのセットの各関連付けには、強度属性(strength attribute)が割り当てられる。VMインスタンスにおいて脅威が検出されると、第1の関連するVMインスタンスに対して第1の防止手段(preventive measure)が実施される。この第1の防止手段の強度はVMインスタンスと第1の関連するVMインスタンスとの間の関連付けに対応する強度属性に基づいて決定される。同様に、VMインスタンスにおける脅威の検出により、第2の関連するVMインスタンスに対して第2の防止手段が実施され、第2の防止手段の強度はVMインスタンスと第2の関連するVMインスタンスとの間の関連付けに対応する強度属性に基づいて決定される。
【0006】
本発明の第1の態様は、ネットワーク化されたコンピューティング環境における脅威に応答するための方法を提供し、この方法は、仮想マシン(VM)インスタンスへの関連付けのセットを確立することであって、関連付けのセットの各関連付けはVMインスタンスと関連するVMインスタンスとの間の関係を示す、確立することと、強度属性を関連付けのセットの各関連付けに割り当てることと、脅威の検出に応答して、第1の関連するVMインスタンスに対して第1の防止手段を実施することであって、第1の防止手段の強度はVMインスタンスと第1の関連するVMインスタンスとの間の関連付けに対応する強度属性に基づく、実施することと、脅威の検出に応答して、第2の関連するVMインスタンスに対して第2の防止手段を実施することであって、第2の防止手段の強度はVMインスタンスと第2の関連するVMインスタンスとの間の関連付けに対応する強度属性に基づく、実施することと、を含む。
【0007】
好ましくは、本発明は、脅威を検出する脅威検出ツールを実行することをさらに含む。
【0008】
好ましくは、本発明は、脅威が、サービス拒否攻撃、VMインスタンスにおける脆弱性、又はハッキングのうちの少なくとも1つを含むことをさらに含む方法を提供する。
【0009】
好ましくは、本発明は、関連付けのセットが以下の関係要因:すなわち、関連するVMインスタンスがVMインスタンスと共通のカスタマにより所有されること、関連するVMインスタンスがVMインスタンスの所有者に関連するカスタマにより所有されること、関連するVMインスタンスがVMインスタンスと共通のサービスを実施すること、関連するVMインスタンスがVMインスタンスと共通のプロセスに関連すること、又は関連するVMインスタンスが、VMインスタンスと共通の技術の基礎(technology underpinning)に関連すること、のうちの少なくとも1つに基づいて確立される、方法を提供する。
【0010】
好ましくは、本発明は、各関連付けについて、強度属性は、高、中又は低のうちの1つである、方法を提供する。
【0011】
好ましくは、本発明は、第1の防止手段及び第2の防止手段がさらに、それぞれ、第1の関連するVMインスタンス及び第2の関連するVMインスタンスに対するVMインスタンスの位置に基づく、方法を提供する。好ましくは、本発明は、ネットワーク化されたコンピューティング環境がクラウド・コンピューティング環境であり、ネットワーク・リソースがクラウド・リソースである、方法を提供する。
【0012】
本発明の第2の態様は、ネットワーク化されたコンピューティング環境における脅威に応答するためのシステムを提供し、このシステムは、命令を含むメモリ媒体と、メモリ媒体に結合されたバスと、バスに結合されたプロセッサであって、命令の実行時、システムに、仮想マシン(VM)インスタンスへの関連付けのセットを確立させることであって、関連付けのセットの各関連付けはVMインスタンスと関連するVMインスタンスとの間の関係を示す、確立させることと、強度属性を関連付けのセットの各関連付けに割り当てさせることと、脅威の検出に応答して、第1の関連するVMインスタンスに対して第1の防止手段を実施させることであって、第1の防止手段の強度はVMインスタンスと第1の関連するVMインスタンスとの間の関連付けに対応する強度属性に基づく、実施させることと、脅威の検出に応答して、第2の関連するVMインスタンスに対して第2の防止手段を実施させることであって、第2の防止手段の強度はVMインスタンスと第2の関連するVMインスタンスとの間の関連付けに対応する強度属性に基づく、実施させることと、
を行わせる、システム。
【0013】
好ましくは、本発明は、命令がさらに、システムに、脅威を検出する脅威検出ツールを実行させる、システムを提供する。
【0014】
好ましくは、本発明は、脅威が、サービス拒否攻撃、VMインスタンスにおける脆弱性、又はハッキングのうちの少なくとも1つを含む、システムを提供する。
【0015】
好ましくは、本発明は、関連付けのセットが、以下の関係要因:すなわち、関連するVMインスタンスがVMインスタンスと共通のカスタマにより所有されること、関連するVMインスタンスがVMインスタンスの所有者に関連するカスタマにより所有されること、関連するVMインスタンスがVMインスタンスと共通のサービスを実施すること、関連するVMインスタンスがVMインスタンスと共通のプロセスに関連すること、又は関連するVMインスタンスがVMインスタンスと共通の技術の基礎に関連すること、のうちの少なくとも1つに基づいて確立される、システムを提供する。
【0016】
好ましくは、本発明は、各関連付けについて、強度属性は高、中又は低のうちの1つである、システムを提供する。
【0017】
好ましくは、本発明は、第1の防止手段及び第2の防止手段がさらに、それぞれ、第1の関連するVMインスタンス及び第2の関連するVMインスタンスに対するVMインスタンスの位置に基づく、システムを提供する。
【0018】
好ましくは、本発明は、ネットワーク化されたコンピューティング環境がクラウド・コンピューティング環境であり、ネットワーク・リソースはクラウド・リソースである、システムを提供する。
【0019】
本発明の第3の態様は、クラウド・コンピューティング環境における脅威に応答するためのコンピュータ・プログラム製品を提供し、このコンピュータ・プログラム製品は、コンピュータ可読ストレージ媒体と、コンピュータ可読ストレージ媒体上に格納されたプログラム命令とを含み、プログラム命令は、少なくとも1つのコンピュータ・デバイスに、仮想マシン(VM)インスタンスへの関連付けのセットを確立させることであって、関連付けのセットの各関連付けはVMインスタンスと関連するVMインスタンスとの間の関係を示す、確立させることと、強度属性を関連付けのセットの各関連付けに割り当てることと、脅威の検出に応答して、第1の関連するVMインスタンスに対して第1の防止手段を実施させることであって、第1の防止手段の強度はVMインスタンスと第1の関連するVMインスタンスとの間の関連付けに対応する強度属性に基づく、実施させることと、脅威の検出に応答して、第2の関連するVMインスタンスに対して第2の防止手段を実施させることであって、第2の防止手段の強度はVMインスタンスと第2の関連するVMインスタンスとの間の関連付けに対応する強度属性に基づく、実施させることと、を行わせる。
【0020】
好ましくは、本発明は、命令がさらに、少なくとも1つのコンピュータ・デバイスに、脅威を検出する脅威検出ツールを実行させる、コンピュータ・プログラム製品を提供する。
【0021】
好ましくは、本発明は、脅威が、サービス拒否攻撃、VMインスタンスにおける脆弱性、又はハッキングのうちの少なくとも1つを含む、コンピュータ・プログラム製品を提供する。
【0022】
好ましくは、本発明は、関連付けのセットが、以下の関係要因:すなわち、関連するVMインスタンスがVMインスタンスと共通のカスタマにより所有されること、関連するVMインスタンスがVMインスタンスの所有者に関連するカスタマにより所有されること、関連するVMインスタンスがVMインスタンスと共通のサービスを実施すること、関連するVMインスタンスがVMインスタンスと共通のプロセスに関連すること、又は関連するVMインスタンスがVMインスタンスと共通の技術の基礎に関連すること、のうちの少なくとも1つに基づいて確立される、コンピュータ・プログラム製品を提供する。
【0023】
好ましくは、本発明は、第1の防止手段及び第2の防止手段がさらに、それぞれ、第1の関連するVMインスタンス及び第2の関連するVMインスタンスに対するVMインスタンスの位置に基づく、コンピュータ・プログラム製品を提供する。
【0024】
好ましくは、本発明は、ネットワーク化されたコンピューティング環境はクラウド・コンピューティング環境であり、ネットワーク・リソースはクラウド・リソースである、コンピュータ・プログラム製品を提供する。
【0025】
本発明の第4の態様は、ネットワーク化されたコンピューティング環境における脅威に応答するためのシステムを配備するための方法を提供し、この方法は、仮想マシン(VM)インスタンスへの関連付けのセットを確立させることであって、関連付けのセットの各関連付けはVMインスタンスと関連するVMインスタンスとの間の関係を示す、確立させることと、強度属性を関連付けのセットの各関連付けに割り当てることと、脅威の検出に応答して、第1の防止手段を第1の関連するVMインスタンスに対して実施させることであって、第1の防止手段の強度はVMインスタンスと第1の関連するVMインスタンスとの間の関連付けに対応する強度属性に基づく、実施させることと、脅威の検出に応答して、第2の防止手段を第2の関連するVMインスタンスに対して実施させることであって、第2の防止手段の強度はVMインスタンスと第2の関連するVMインスタンスとの間の関連付けに対応する強度属性に基づく、実施させることと、を行わせるように動作する少なくとも1つのコンピュータ・デバイスを有するコンピュータ・インフラストラクチャを提供することを含む。
【0026】
本発明のこれらの及び他の特徴は、添付図面と併用される本発明の種々の態様の以下の詳細な説明からより容易に理解されるであろう。
【発明を実施するための形態】
【0028】
図面は必ずしも縮尺通りではない。図面は、単なる概略的な表現であり、本発明の特定のパラメータを表現することを意図するものではない。図面は、本開示の典型的な実施形態のみを示すことを意図しており、従って、本発明の範囲を限定するものと考えるべきではない。図面において、同様の番号は同様の要素を表す。
【0029】
ここで、実施形態が示される添付図面を参照して、例示的な実施形態がより十分に説明される。しかし、本開示は、多くの異なる形態で具体化することができ、本明細書に示される実施形態に限定されるものと解釈されるべきではない。むしろ、これらの実施形態は、本開示がより詳細で完全なものであり、本開示の範囲が当業者に十分に伝わるように、提供される。説明の中では、提示される実施形態を不必要に不明瞭なものとしないように、周知の特徴及び技術の詳細は省略されることがある。
【0030】
本明細書に使用される用語は、単に特定の実施形態を説明する目的であり、本開示を限定することを意図するものでない。本明細書で使用される場合、単数形「1つの(a)」、「1つの(an)」及び「その(the)」は、文脈が明らかにそうでないことを示していない限り、複数形を含むことが意図される。さらに、用語「1つの(a)」、「1つの(an)」などの用語の使用は、量の限定を示すものではなく、参照される項目が少なくとも1つ存在することを示す。用語「セット」とは、少なくとも1つの量を意味することを意図する。本明細書で使用される場合、用語「備える(comprise)」及び/又は「備えている(comprising)」、又は「含む(include)」及び/又は「含んでいる(including)」は、述べられた特徴、範囲、整数、ステップ、動作、要素、及び/又はコンポーネントが存在することを特定しているが、1つ又は複数の他の特徴、範囲、整数、ステップ、動作、要素、コンポーネント、及び/又はそれらの群の存在又は追加を排除するものではないことがさらに理解されるであろう。
【0031】
本発明の実施形態は、ネットワーク化されたコンピューティング環境(例えば、クラウド・コンピューティング環境)における脅威に応答するための手法を提供する。1つの実施形態において、仮想マシン(VM)インスタンスへの関連付けのセットが確立される。関連付けのセットの各関連付けは、VMインスタンスと関連するVMインスタンスとの間の関係を示す。関連付けのセットの各関連付けには、強度属性(strength attribute)が割り当てられる。VMインスタンスにおいて脅威が検出されると、第1の防止手段が、第1の関連するVMインスタンスに対して実施される。この第1の防止手段の強度は、VMインスタンスと第1の関連するVMインスタンスとの間の関連付けに対応する強度属性に基づいて決定される。同様に、VMインスタンスにおける脅威の検出により、第2の防止手段が、第2の関連するVMインスタンスに対して実施され、この第2の防止手段の強度は、VMインスタンスと第2の関連するVMインスタンスとの間の関連付けに対応する強度属性に基づく。
【0032】
本開示は、クラウド・コンピューティングの詳細な説明を含むが、本明細書に記載される教示の実施は、クラウド・コンピューティング環境に限定されないことを予め理解されたい。むしろ、本発明の実施形態は、現在周知の又は後に開発される他のいずれかのタイプのコンピューティング環境と共に実施することができる。
【0033】
クラウド・コンピューティングは、最小限の管理労力又はサービス・プロバイダとの対話で迅速にプロビジョニング及び解放することができる、構成可能なコンピューティング・リソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン及びサービス)の共有プールへの便利なオンデマンドのネットワーク・アクセスを可能にするサービス配信モデルである。このクラウド・モデルは、少なくとも5つの特徴、少なくとも3つのサービス・モデル、及び少なくとも4つの配備モデルを含むことができる。
【0034】
特徴は、以下の通りである。
オンデマンド・セルフサービス:クラウド・コンシューマは、必要に応じて、サーバ時間及びネットワーク・ストレージ等のコンピューティング機能を、人間がサービスのプロバイダと対話する必要なく自動的に、一方的にプロビジョニングすることができる。
広範なネットワーク・アクセス:機能は、ネットワーク上で利用可能であり、異種のシン又はシック・クライアント・プラットフォーム(例えば、携帯電話、ラップトップ、及びPDA)による使用を促進する標準的な機構を通じてアクセスされる。
リソースのプール化:プロバイダのコンピューティング・リソースは、マルチ・テナント・モデルを用いて、異なる物理及び仮想リソースを要求に応じて動的に割り当て及び再割り当てすることにより、複数のコンシューマにサービスを提供するためにプールされる。コンシューマは、一般に、提供されるリソースの正確な位置についての制御又は知識を持たないが、より高レベルの抽象化では位置(例えば、国、州、又はデータセンタ)を特定できる場合があるという点で、位置とは独立しているといえる。
迅速な弾力性:機能は、迅速かつ弾力的に、場合によっては自動的に、プロビジョニングされて、素早くスケール・アウトし、迅速に解放されて素早くスケール・インさせることができる。コンシューマにとって、プロビジョニングに利用可能なこれらの機能は、無制限であり、いつでもどんな量でも購入できるように見えることが多い。
サービスの測定:クラウド・システムは、サービスのタイプ(例えば、ストレージ、処理、帯域幅、及びアクティブなユーザ・アカウント)に適した何らかの抽象化レベルでの計量機能を用いることによって、リソースの使用を自動的に制御及び最適化する。リソース使用を監視し、制御し、報告し、利用されるサービスのプロバイダとコンシューマの両方に対して透明性をもたらすことができる。
【0035】
サービス・モデルは以下の通りである。
Software as a Service(SaaS):クラウド・インフラストラクチャ上で動作しているプロバイダのアプリケーションを使用するために、コンシューマに提供される機能である。これらのアプリケーションは、ウェブ・ブラウザ(例えば、ウェブ・ベースの電子メール)などのシン・クライアント・インターフェースを通じて、種々のクライアント・デバイスからアクセス可能である。コンシューマは、限定されたコンシューマ固有のアプリケーション構成設定の考え得る例外として、ネットワーク、サーバ、オペレーティング・システム、ストレージ、又は個々のアプリケーション機能をも含めて、基礎となるクラウド・インフラストラクチャを管理又は制御しない。
Platform as a Service(PaaS):プロバイダによってサポートされるプログラミング言語及びツールを用いて生成された、コンシューマが生成した又は取得したアプリケーションを、クラウド・インフラストラクチャ上に配備するために、コンシューマに提供される機能である。コンシューマは、ネットワーク、サーバ、オペレーティング・システム、又はストレージなどの基礎となるクラウド・インフラストラクチャを管理又は制御しないが、配備されたアプリケーション、及び場合によってはアプリケーション・ホスティング環境構成に対する制御を有する。
Infrastructure as a Service(IaaS):コンシューマが、オペレーティング・システム及びアプリケーションを含み得る任意のソフトウェアを配備及び動作させることができる、処理、ストレージ、ネットワーク、及び他の基本的なコンピューティング・リソースをプロビジョニンングするために、コンシューマに提供される機能である。コンシューマは、基礎となるクラウド・インフラストラクチャを管理又は制御しないが、オペレーティング・システム、ストレージ、配備されたアプリケーションに対する制御、及び場合によっては選択されたネットワーク・コンポーネント(例えば、ホストのファイアウォール)の限定された制御を有する。
【0036】
配備モデルは以下の通りである。
プライベート・クラウド:クラウド・インフラストラクチャは、ある組織のためだけに運営される。このクラウド・インフラストラクチャは、その組織又は第三者によって管理することができ、オン・プレミス(on-premise)又はオフ・プレミス(off-premise)で存在することがある。
コミュニティ・クラウド:クラウド・インフラストラクチャは、幾つかの組織によって共有され、共通の関心事項(例えば、任務、セキュリティ要件、ポリシー、及びコンプライアンス上の考慮事項)を有する特定のコミュニティをサポートする。クラウド・インフラストラクチャは、その組織又は第三者によって管理することができ、オン・プレミス又はオフ・プレミスで存在することがある。
パブリック・クラウド:クラウド・インフラストラクチャは、一般公衆又は大規模な業界グループに利用可能であり、クラウド・サービスを販売する組織によって所有される。
ハイブリッド・クラウド:クラウド・インフラストラクチャは、固有のエンティティのままであるが、データ及びアプリケーションの移行性を可能にする標準化された又は専用の技術(例えば、クラウド間の負荷分散のためのクラウド・バースティング)によって結び付けられる2つ又はそれより多いクラウド(プライベート、コミュニティ、又はパブリック)の混成物である。
【0037】
クラウド・コンピューティング環境は、無国籍性、低結合性、モジュール性、及びセマンティック相互運用性に焦点を置くことを指向するサービスである。クラウド・コンピューティングの中心は、相互接続されたノードのネットワークを含むインフラストラクチャである。
【0038】
ここで
図1を参照すると、クラウド・コンピューティング・ノードの一例の概略図が示される。クラウド・コンピューティング・ノード10は、好適なクラウド・コンピューティング・ノードの単なる一例であり、本明細書に説明される本発明の実施形態の使用又は機能の範囲に対するいずれかの制限を示唆することを意図するものではない。上記に関係なく、クラウド・コンピューティング・ノード10は、本明細書に上述された機能のいずれかを実装及び/又は実施することができる。
【0039】
クラウド・コンピューティング・ノード10には、他の多数の汎用又は専用コンピューティング・システム環境又は構成で動作可能な、コンピュータ・システム/サーバ12が存在する。コンピュータ・システム/サーバ12と共に用いるのに好適な周知のコンピューティング・システム、環境、及び/又は構成の例としては、これらに限定されるものではないが、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、手持ち式又はラップトップ型デバイス、マルチプロセッサ・システム、マイクロプロセッサ・ベースのシステム、セット・トップ・ボックス、プログラム可能民生電子機器、ネットワークPC、ミニコンピュータ・システム、メインフレーム・コンピュータ・システム、及び上述のシステム若しくはデバイス等のいずれかを含む分散型クラウド・コンピューティング環境が含まれる。
【0040】
コンピュータ・システム/サーバ12は、コンピュータ・システムによって実行される、プログラム・モジュールなどのコンピュータ・システム実行可能命令の一般的な文脈で説明することができる。一般に、プログラム・モジュールは、特定のタスクを実行する又は特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、論理、データ構造等を含むことができる。コンピュータ・システム/サーバ12は、通信ネットワークを通じてリンクされた遠隔処理デバイスによってタスクが実行される分散型クラウド・コンピューティング環境において実施することができる。分散型クラウド・コンピューティング環境において、プログラム・モジュールは、メモリ・ストレージ・デバイスを含む、ローカル及び遠隔両方のコンピュータ・システム・ストレージ媒体内に配置することができる。
【0041】
図1に示されるように、クラウド・コンピューティング・ノード10のコンピュータ・システム/サーバ12は、汎用コンピューティング・デバイスの形で示される。コンピュータ・システム/サーバ12のコンポーネントは、これらに限定されるものではないが、1つ又は複数のプロセッサ又は処理ユニット16、システム・メモリ28、及びシステム・メモリ28を含む種々のシステム・コンポーネントをプロセッサ16に結合するバス18を含むことができる。
【0042】
バス18は、メモリ・バス又はメモリ・コントローラ、周辺バス、アクセラレーテッド・グラフィックス・ポート、及び種々のバス・アーキテクチャのいずれかを用いるプロセッサ又はローカル・バスを含む、幾つかのタイプのバス構造のうちのいずれかの1つ又は複数を表す。限定ではなく例としては、このようなアーキテクチャは、業界標準アーキテクチャ(Industry Standard Architecture、ISA)バス、マイクロ・チャネル・アーキテクチャ(Micro Channel Architecture、MCA)バス、Enhanced ISA(EISA)バス、Video Electronics Standards Association(VESA)ローカル・バス、及びPeripheral Component Interconnect(PCI)バスを含む。
【0043】
コンピュータ・システム/サーバ12は、一般的には、種々のコンピュータ・システム可読媒体を含む。このような媒体は、コンピュータ・システム/サーバ12がアクセス可能ないずれかの利用可能媒体とすることができ、揮発性媒体及び不揮発性媒体の両方と、取り外し可能媒体及び取り外し不能媒体の両方とを含む。
【0044】
システム・メモリ28は、ランダム・アクセス・メモリ(RAM)30及び/又はキャッシュ・メモリ32など、揮発性メモリの形のコンピュータ・システム可読媒体を含むことができる。コンピュータ・システム/サーバ12は、他の取り外し可能/取り外し不能、揮発性/不揮発性のコンピュータ・システム・ストレージ媒体をさらに含むことができる。単なる例として、取り外し不能の不揮発性磁気媒体(図示されておらず、一般的には「ハード・ドライブ」と呼ばれる)との間の読み出し及び書き込みのために、ストレージ・システム34を設けることができる。図示されていないが、取り外し可能な不揮発性磁気ディスク(例えば、「フロッピー・ディスク」)との間の読み出し及び書き込みのための磁気ディスク・ドライブと、CD−ROM、DVD−ROM又は他の光媒体などの取り外し可能な不揮発性光ディスクとの間の読み出し及び書き込みのための光ディスク・ドライブとを設けることができる。このような例においては、それぞれを、1つ又は複数のデータ媒体インターフェースによってバス18に接続することができる。以下でさらに示され、説明されるように、メモリ28は、本発明の実施形態の機能を実行するように構成されたプログラム・モジュールのセット(例えば、少なくとも1つ)を有する少なくとも1つのプログラム製品を含むことができる。
【0045】
本発明の実施形態は、具体化されたコンピュータ可読プログラム・コードをその中に有する伝搬されるデータ信号を(例えばベースバンド内に、又は搬送波の一部として)含むことができるコンピュータ可読信号媒体として実装することができる。このような伝搬信号は、これらに限定されるものではないが、電磁気、光又はそれらのいずれかの適切な組み合わせを含む、種々の形態のいずれかを取ることができる。コンピュータ可読信号媒体は、コンピュータ可読ストレージ媒体ではなく、かつ命令実行システム、装置若しくはデバイスによって又はこれらと関連して用いるためのプログラムを伝達し、伝搬し、又は搬送することができる任意のコンピュータ可読媒体とすることができる。
【0046】
コンピュータ可読媒体上に具体化されたプログラム・コードは、これらに限定されるものではないが、無線、有線、光ファイバ・ケーブル、無線周波数(RF)等、又は上記のもののいずれかの適切な組み合わせを含む、任意の適切な媒体を用いて伝送することができる。
【0047】
限定ではなく例として、メモリ28内に、プログラム・モジュール42のセット(少なくとも1つ)を有するプログラム/ユーティリティ40、並びにオペレーティング・システム、1つ又は複数のアプリケーション・プログラム、他のプログラム・モジュール、及びプログラム・データを格納することができる。オペレーティング・システムの各々、1つ又は複数のアプリケーション・プログラム、他のプログラム・モジュール、及びプログラム・データ、又はそれらの何らかの組み合わせの各々は、ネットワーキング環境の実装形態を含むことができる。プログラム・モジュール42は、一般に、本明細書に説明される本発明の実施形態の機能及び/又は方法を実行する。
【0048】
コンピュータ・システム/サーバ12は、キーボード、ポインティング・デバイス、ディスプレイ24等のような1つ又は複数の外部デバイス14、コンシューマがコンピュータ・システム/サーバ12と対話するのを可能にする1つ又は複数のデバイス、及び/又はコンピュータ・システム/サーバ12が1つ又は複数の他のコンピューティング・デバイスと通信するのを可能にするいずれかのデバイス(例えば、ネットワーク・カード、モデム等)と通信することもできる。このような通信は、I/Oインターフェース22を経由して行うことができる。さらにまた、コンピュータ・システム/サーバ12は、ネットワーク・アダプタ20を介して、ローカル・エリア・ネットワーク(LAN)、汎用広域ネットワーク(WAN)、及び/又はパブリック・ネットワーク(例えば、インターネット)などの1つ又は複数のネットワークと通信することもできる。示されるように、ネットワーク・アダプタ20は、バス18を介して、コンピュータ・システム/サーバ12の他のコンポーネントと通信する。図示されないが、コンピュータ・システム/サーバ12と共に、他のハードウェア及び/又はソフトウェア・コンポーネントを使用できることを理解されたい。例としては、これらに限定されるものではないが、マイクロコード、デバイス・ドライバ、冗長処理ユニット、外部のディスク・ドライブ・アレイ、RAIDシステム、テープ・ドライブ、及びデータ・アーカイブ・ストレージ・システム等が含まれる。
【0049】
ここで
図2を参照すると、例示的なクラウド・コンピューティング環境50が示される。示されるように、クラウド・コンピューティング環境50は、例えば携帯情報端末(PDA)又は携帯電話54A、デスクトップ・コンピュータ54B、ラップトップ・コンピュータ54C、及び/又は自動車コンピュータ・システム54N等といった、クラウド・コンシューマによって用いられるローカル・コンピューティング・デバイスと通信することができる、1つ又は複数のクラウド・コンピューティング・ノード10を含む。ノード10は、互いに通信することができる。これらのノードは、上述のようなプライベート・クラウド、コミュニティ・クラウド、パブリック・クラウド、若しくはハイブリッド・クラウド、又はこれらの組み合わせなど、1つ又は複数のネットワークにおいて物理的又は仮想的にグループ化することができる(図示せず)。これにより、クラウド・コンピューティング環境50は、クラウド・コンシューマがローカル・コンピューティング・デバイス上にリソースを保持する必要のないサービスとして、インフラストラクチャ、プラットフォーム、及び/又はソフトウェアを提供できるようになる。
図2に示されるコンピューティング・デバイス54A−Nのタイプは単に例示であることを意図し、コンピューティング・ノード10及びクラウド・コンピューティング環境50は、いずれのタイプのネットワーク及び/又はネットワーク・アドレス指定可能な接続上でも(例えば、ウェブ・ブラウザを用いて)、任意のタイプのコンピュータ化されたデバイスと通信できることを理解されたい。
【0050】
ここで
図3を参照すると、クラウド・コンピューティング環境50(
図2)によって提供される機能抽象化層のセットが示される。
図3に示されるコンポーネント、層、及び機能は単に例示であることを意図し、本発明の実施形態はそれらに限定されないことを予め理解されたい。図示されるように、以下の層及び対応する機能が提供される。
【0051】
ハードウェア及びソフトウェア層60は、ハードウェア・コンポーネント及びソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例は、メインフレームを含む。一例においては、IBM(登録商標)zSeries(登録商標)システム及びRISC(Reduced Instruction Set Computer(縮小命令セット・コンピュータ))アーキテクチャ・ベースのサーバを含む。一例においては、IBM(登録商標)pSeries(登録商標)システム、IBM(登録商標)システムx(登録商標)サーバ、IBM(登録商標)BladeCenter(登録商標)システム、ストレージ・デバイス、ネットワーク、及びネットワーキング・コンポーネントを含む。ソフトウェア・コンポーネントの例は、ネットワーク・アプリケーション・サーバ・ソフトウェアを含む。一例においては、IBM(登録商標)WebSphere(登録商標)アプリケーション・サーバ・ソフトウェア及びデータベース・ソフトウェアを含む。一例においては、IBM(登録商標)DB2(登録商標)データベース・ソフトウェアを含む。(IBM、zSeries、pSeries、System x、BladeCenter、WebSphere、及びDB2は、世界中の多数の管轄区域において登録されているインターナショナル・ビジネス・マシーンズ・コーポレーションの商標である。)
【0052】
仮想化層62は、抽象化層を提供し、この層により、仮想エンティティの以下の例:すなわち、仮想サーバ、仮想ストレージ、仮想プライベート・ネットワークを含む仮想ネットワーク、仮想アプリケーション及びオペレーティング・システム、並びに仮想クライアントを提供することができる。
【0053】
一例において、管理層64は、以下で説明される機能を提供することができる。リソース・プロビジョニングは、クラウド・コンピューティング環境内でタスクを実行するために利用されるコンピューティング・リソース及び他のリソースの動的な調達を提供する。計量及び価格決定は、クラウド・コンピューティング環境内でリソースが利用される際のコスト追跡と、これらのリソースの消費に対する課金又は請求とを提供する。1つの例においては、これらのリソースは、アプリケーション・ソフトウェア・ライセンスを含むことができる。セキュリティは、クラウド・コンシューマ及びタスクに対する識別情報の検証と、データ及び他のリソースに対する保護とを提供する。コンシューマ・ポータルは、コンシューマ及びシステム管理者に対して、クラウド・コンピューティング環境へのアクセスを提供する。サービス・レベル管理は、要求されるサービス・レベルが満たされるように、クラウド・コンピューティング・リソースの割り当て及び管理を提供する。サービス・レベル・アグリーメント(Service Level Agreement、SLA)の計画及び履行は、SLAに従って将来の要件が予測されるクラウド・コンピューティング・リソースの事前配置及び調達を提供する。本発明の実施形態の下で与えられる機能を表す脅威応答(threat response)が、管理層内にさらに示される。
【0054】
ワークロード層66は、クラウド・コンピューティング環境を利用することができる機能の例を提供する。この層から提供することができるワークロード及び機能の例には、マッピング及びナビゲーション、ソフトウェア開発及びライフサイクル管理、仮想教室教育配信、データ分析処理、トランザクション処理、及びコンシューマ・データ・ストレージ及びバックアップが含まれる。上述のように、
図3に関して説明される上記の例示的なの全ては例証に過ぎず、本発明はこれらの例に限定されるものではない。
【0055】
本明細書に説明される本発明の全ての機能は、一般的に、(プログラム/ユーティリティ40(
図1)のプログラム・コード42のモジュールとして有形的に具体化することができる管理層64の)コマンド識別機能により、実施することができる。しかし、これが当てはまらないこともある。むしろ、本明細書に記載される機能は、
図3に示される層60〜66のいずれかにより実行/実施され、及び/又は可能にされ得る。
【0056】
本開示はクラウド・コンピューティングに関する詳細な説明を含むが、本明細書に記載される教示の実装形態は、クラウド・コンピューティング環境に限定されないことを繰り返し述べる。むしろ、本発明の実施形態は、現在周知の又は後で開発される任意のタイプのネットワーク化されたコンピューティング環境において実装されることを意図する。
【0057】
ここで
図4を参照すると、本発明の1つの実施形態による、本明細書に論じられる機能を説明するシステム図が示される。本明細書において記載される教示は、いずれかのタイプのネットワーク化されたコンピューティング環境70(例えば、クラウド・コンピューティング環境50)内で実施できることが理解される。例証目的のためだけに、
図4には、スタンドアロンのコンピュータ・システム/サーバ12が示される。本明細書において記載される教示がネットワーク化されたコンピューティング環境70において実施される場合、各クライアントは、脅威応答エンジン(以下、「システム72」)を有する必要はない。むしろ、システム72は、サーバ上に、又はクライアントと通信し(例えば、無線で)、そのためのデバイス保護を与えるサーバ対応デバイス上にロードすることができる。上記に関係なく、図示されるように、システム72は、コンピュータ・システム/サーバ12内に示される。一般に、システム72は、
図1のコンピュータ・システム72上のプログラム/ユーティリティ40として実装することができ、本明細書に記載される機能を可能にすることができる。さらに、システム72は、ネットワーク化されたコンピューティング環境においてITリソース対するコマンドを受け取り、処理し、及び/又は実行するあらゆるタイプのシステム内に組み込むこと、又はそれと連動して動作し得ることが理解される。簡略にするために、
図4には、他のそうしたシステムは示されない。
【0058】
このように、システム72は、汎用コンピュータ・システムに類似した複数の機能を実施することができる。具体的には、他の機能の中でも、システム72は、ネットワーク化されたコンピューティング環境70における脅威に応答することができる。これを達成するためにシステム72は、関連付け確立器(association establisher)90、強度属性割当器(strength assigner)92、防止実施器(prevention performer)94を含むことができる。
【0059】
ここで
図4と併せて
図5を参照すると、本発明の1つの実施形態による例示的な仮想マシン(VM)インスタンス100が示される。1つの実施形態において、VMインスタンス100は、物理サーバ82上の仮想サーバ84N内に含ませることができる。VMインスタンス100は、プロセス仮想マシン(process virtual machine)とは異なることを理解されたい。プロセス仮想マシンは、特定のタスクを実行するための、Java(登録商標)などの高級プログラミング言語で記述されたプラットフォームに依存しないコードを実行する、Java(登録商標)Virtual Machineなどのプラットフォームに依存するエンジンである(Java及びJava Virtual Machineは、米国及び/又はその他の場所におけるOracle及び/又はその関連会社の商標である)。対照的に、本発明のVMインスタンス100は、コンピューティング環境全体をシミュレートする仮想システムである。これに関して、単一のタスクのみを実行するのではなく、本発明のVMインスタンス100は、例えば、その上の1つ又は複数のアプリケーションを実行することなどにより、様々なタスク、機能、動作等がユーザ80により実行され得る環境である。従って、VMインスタンス100は、ユーザ80から見ると、スタンドアロンのコンピュータ・システムをシミュレートするようにすることができる。
【0060】
これに関して、VMインスタンス100は、最も低いレベルにある仮想化ハイパーバイザ102を含む。具体的には、仮想化ハイパーバイザ102は、複数の「ゲスト」仮想サーバ84システムが、物理サーバ82上で同時に実行されることを可能にするプラットフォームを提供する。これに関して、仮想化ハイパーバイザ102は、物理サーバ82のハードウェア・レベルとそれぞれの仮想サーバ84のより高レベルのソフトウェア機能との間の抽象化レベルを提供する。これらのソフトウェア機能を提供するために、各仮想サーバ84は、イメージとも呼ばれることがあるソフトウェア・スタック112を含むことができる。ソフトウェア・スタック112は、最初に仮想サーバ84Nにプロビジョニングされたサービス提供86内のもの、及び/又はユーザ80により後でインストールされたものを何でも含み得る。従って、ソフトウェア・スタック112は、仮想ハイパーバイザ102を介して物理サーバ82上の特定の仮想サーバ84Nの「ゲスト」インスタンスをシミュレートするために必要なあらゆるものを含み得る。これに関して、ソフトウェア・スタック112は、オペレーティング・システム114、ミドルウェア116、及び1つ又は複数のアプリケーション118、及び随意的に受動監視エージェント120を提供することができる。
【0061】
上述のように、場合によっては、VMインスタンス100は、攻撃を受けることがある。この攻撃は、VMインスタンス100のリソースをオーバーロードさせて、VMインスタンス100がその機能を実施するのを防止するサービス拒否攻撃、誰かがVMインスタンス100に不正アクセスするのを可能にするVMインスタンス100の前提技術における脆弱性(例えば、ホール)、ハッカーによるVMインスタンス100への総当たりハッキング、及び/又はその他同種類のものの形を取ることがある。
【0062】
本明細書に説明される本発明の発明者は、ネットワーク化されたコンピューティング環境における脅威に応答するための現在の解決法の幾つかの欠点を見出した。例えば、VMインスタンス100が、同じ種類の攻撃の脅威、セキュリティ侵害、及び/又は個々のシステムが過去に直面した性能低下を被ったとしても、それらがネットワーク化されたコンピューティング環境において生じた場合、こうした脅威を全体的に理解すること又はそれに応答することは困難であり得る。クライアントは、個々のVMインスタンス100に対する脅威を観察することはできるが、多くの異なるVMインスタンス100に潜在的に影響を与え得る脅威の識別と応答を同時に行うのは困難であり得る。現在、唯一の周知の解決法は、検出されたセキュリティ違反又は脅威に対する反応に基づき、手動でファイアウオール・ポリシーを変更することである。しかし、これらのポリシー変更をあまりにも広く適用した場合、脅威に伴うリスクが殆どないか又は全くない可能性があるVMインスタンス100の性能に影響を与えることがある。逆に、特定の脅威により影響を受け得る特定のVMインスタンス100に合わせて調整されたポリシー変更を手動で構成しようと試みることは、多量の時間とリソースを消費し、エラー及び/又は抜けが生じやすい。
【0063】
再び
図4を参照すると、コンピュータ・システム/サーバ12により実行されるシステム72の関連付け確立器90が、VMインスタンス100への関連付けのセットを確立するように構成される。関連付け確立器90により確立される各関連付けは、VMインスタンスと関連するVMインスタンスとの間の関係を示す。関連付け確立器90は、脅威を検出する前にこれらの関連付けを確立することができ、その場合、関連付けをデータベース(例えば、データストア34)内に格納することができる。付加的に又は代替的に、関連付け確立器90は、特定のVMインスタンスにおける脅威の検出に応答して関連付けを動的に確立することができる。
【0064】
ここで
図6を参照すると、本発明の実施形態によるネットワーク化されたコンピューティング環境200が示される。図示されるように、ネットワーク化されたコンピューティング環境200は、物理サーバ82A、82Bのセットを含むクラウド・コンピューティング環境50を含む。物理サーバ82Aは、多数の関連するVMインスタンス84P、84Q、84R、84S、84T及び84Vと確立された関連付け88A−Nを有する、VMインスタンス84Nを含むものとして示される。これらの関連付け88A−Nは、同じ物理サーバ82A上に配置されたVMインスタンス(例えば、関連するVMインスタンス84P、84Q、84R)と、共通のクラウド・コンピューティング環境50(例えば、共通した同じクラウド・コンピューティング環境を有する)内の異なる物理サーバ82B上に配置されたVMインスタンス(例えば、関連するVMインスタンス84S、84T、84V)との間に、及び/又は異なるネットワーク化されたコンピューティング環境(図示せず)上に配置されたVMインスタンス間に、確立することができる。しかし、全てのVMインスタンスが特定のVMインスタンス84Nとの関連付け88A−Nを有する必要はないことが明らかである。むしろ、図示されるように、VMインスタンス84Nとの関連付け88A−Nを有する関連するVMインスタンス84P、84Q、84R、84S、84T及び84Vは、破線パターンを有した状態で示され、関連するVMインスタンス84Nとの関連付け88A−Nを有していないものは、パターンを有していない。
【0065】
いずれの場合でも、VMインスタンス84Nと関連するVMインスタンス84P、84Q、84R、84S、84T及び84Vとの間の関連付け88A−Nは、1つ又は複数の関係要因に基づき得る。例えば、関連付け88A−Nは、関連するVMインスタンス84P、84Q、84R、84S、84T及び84Vが、VMインスタンス84Nと共通のカスタマ(例えば、同じカスタマ)により所有されることに基づいて形成することができる。この関連付け88A−Nは、同じカスタマにより所有されるクラウドVMインスタンスとの関係を獲得することができる。例えば、カスタマが、1つのクラウド・インスタンスを用いて1つの機能を実施し(例えば、そのヒューマン・リソース処理を実行し)、1つ又は複数の他のインスタンスを用いて他の機能を実施する(例えば、そのコアビジネスを運営する)ことは、普通のことである。
【0066】
付加的に又は代替的に、関連付け88A−Nは、関連するVMインスタンス84P、84Q、84R、84S、84T及び84Vが、VMインスタンス84Nの所有者に関連するカスタマにより所有されることに基づいて形成することができる。この関連付け88A−Nは、例えば、関連するクラウドVMインスタンス84P、84Q、84R、84S、84T及び84Vが、VMインスタンス84Nのカスタマへのサービスを消費する又は提供する関係を獲得することができる。このVMは、別個の第2のカスタマにより管理できるが、ビジネス活動の観点から、このタイプの関連するVMインスタンス84P、84Q、84R、84S、84T及び84Vは、カスタマにとって重要であり得る。付加的に又は代替的に、関連付け88A−Nは、関連するVMインスタンス84P、84Q、84R、84S、84T及び84Vが、VMインスタンス84Nのものと共通の(例えば、同じ又は実質的に類似の)サービスを提供する及び/又はアプリケーションを有することに基づいて形成することができる。ユーザフローの観点から、これらの関連するVMインスタンス84P、84Q、84R、84S、84T及び84Vは類似しており、一部のバックエンド機能を共有することができる。例えば、ホテルの予約を処理するためのクラウド・アプリケーション及び映画の予約を処理するための別のクラウド・アプリケーションは、このカテゴリ内に含まれ得る。
【0067】
付加的に又は代替的に、関連付け88A−Nは、関連するVMインスタンス84P、84Q、84R、84S、84T及び84Vが、VMインスタンス84Nのものと共通した(例えば、同じ又は実質的に類似の)産業及び/又はプロセスに関連することに基づいて形成することができる。VMインスタンス84Nと同じ産業に属する又は同じビジネス・プロセスの分類に入る(例えば、APQCのPCFのような共通/類似のプロセス・フレームワークを用いる場合)関連するVMインスタンス84P、84Q、84R、84S、84T及び84Vは、このタイプに属し得る。例えば、航空機の予約を処理するVMアプリケーションは、異なるプロセスを用いることがあるが、このタイプの一例である。付加的に又は代替的に、関連付け88A−Nは、関連するVMインスタンス84P、84Q、84R、84S、84T及び84Vが、VMインスタンス84Nのものと共通した(例えば、同じ又は実質的に類似の)技術の基礎に関連することに基づいて形成することができる。このタイプの関連付け88A−Nは、VMインスタンスにより用いられる前提基礎に基づき得る。例えば、WebSphereを基礎となるJ2EEランタイム・プラットフォームとして用いるVMインスタンスは、このタイプに属し得る。付加的に又は代替的に、関連付け88A−Nは、関連するVMインスタンス84P、84Q、84R、84S、84T及び84Vと現在周知の又は後で開発されるVMインスタンス84Nとの間の他のいずれかの関係に基づいて形成することができる。
【0068】
再び
図4を参照すると、コンピュータ・システム/サーバ12により実行されるシステム72の強度属性割当器92は、強度属性を関連付けのセットにおける各関連付けに割り当てるように構成される。この強度属性は、VMインスタンス84Nと関連するVMインスタンス84P、84Q、84R、84S、84T及び84Vの各々との間の関連付け88A−Nがどれくらい強いかを示す。これに関して、関連するVMインスタンス84P、84Q、84R、84S、84T及び84Vの各々についての強度属性は、別個の強度属性のセットから得ることができる。例えば、1つの実施において、「高」、「中」、又は「低」の強度属性を各関連付けに割り当てることができる。代替的に、数値、英数字の値、又は強度のランキングを示すための現在周知の又は後で開発される他のいずれかの値を用いることもできる。どのタイプの強度属性が用いられても、関連付け88A−Nが予め決定される実施形態において、強度属性は、対応する関連付け88A−Nを有するデータベース(例えば、データストア34)内に格納することができる。例えば、データベース内のエントリは、VMインスタンス84N、強度属性(例えば、「高」)、及び1つ又は複数の関連するVMインスタンス(例えば、関連するVMインスタンス84Q)を収容することができる。
【0069】
ここで
図6と併せて
図7を参照すると、本発明の実施形態による、強度属性を関連付け88A−Nに割り当てるための例示的なマトリックス300が示される。図示のように、マトリックス300は、関連付け88A−Nの各々に割り当てることができる強度属性302のセットを含む。どの強度属性302が特定の関連付け88A−Nに割り当てられるかは、関連付け88A−Nが基づいている関連要因306のどれに基づくかによって決定される。付加的に、関連付け88A−Nに割り当てられる強度属性302はさらに、VMインスタンス84Nに対する関連するVMインスタンス84P、84Q、84R、84S、84T及び84Vの位置304に基づくことができる。例えば、テーブル300に基づいて、同じカスタマにより所有される関係要因306に基づいた関連付け88A−Nは、同じ物理サーバ上に共同テナント化された位置及び同じクラウド・プロバイダ上に共同テナント化された位置の両方を含む位置304に対する「高」の強度属性302と、異なるクラウド・プロバイダ内に配置された位置304に対する「中」の強度属性302とを有する。逆に、同じタイプのサービス又はアプリケーションに関連する関係要因306に基づく関連付け88A−Nは、全ての位置304に対する「低」の強度属性302を有する。
【0070】
ここで
図7と併せて
図8を参照すると、本発明の実施形態によるネットワーク化されたコンピューティング環境400が示される。図示のように、VMインスタンス84Nは、関連するVMインスタンス84P、84Q、84R、84S、84T及び84Vの各々との関連付け88A−Nを有する。しかし、
図6の関連付け88A−Nとは対照的に、関連するVMインスタンス84P、84Q、84R、84S、84T及び84Vの各々は、VMインスタンス間の関連付け88A−Nに割り当てられる強度属性302に対応するパターンを有した状態で示される。例えば、関連するVMインスタンス84Qは、「高」の強度属性302を示す暗い実線パターンを有する。同様に、関連するVMインスタンス84P、84R及び84Tは、「中」の強度属性302を示す明るい実線パターンを有する。さらに、関連するVMインスタンス84S及び84Vは、「低」の強度属性302を示す明るい破線パターンを有する。同じ物理サーバ82A、82B上の全ての関連するVMインスタンス84P、84Q、84R、84S、84T及び84Vが、必ずしも同じ強度属性302を有するわけではないことに留意されたい。
【0071】
再び
図4を参照すると、コンピュータ・システム/サーバ12により実行されるシステム72の防止実施器94は、脅威の検出に応答して、関連するVMインスタンス84P、84Q、84R、84S、84T及び84Vに対して防止手段(
図8)を実施するように構成される。この脅威は、VMのリソースをオーバーロードさせて、VMがその機能を実施するのを防止するサービス拒否攻撃、誰かがVMに不正アクセスするのを可能にするVMの前提技術における脆弱性(例えば、ホール)、ハッカーによるVMへの総当たりハッキング、及び/又は現在周知の又は後で発見される他のいずれかのタイプの脅威を含むことができる。さらに、脅威は、現在周知の又は後で開発されるいずれかの方法で発見され得る。例えば、ネットワーク化されたコンピューティング環境70上で実行される脅威検出ツール(例えば、受動監視エージェント120(
図5))により検出され得る。これに関して、脅威検出ツールは、VMインスタンス自体の中に含ませること、同じ物理サーバ上の別個のVMインスタンス内に配置すること、又は物理サーバから遠隔の物理サーバ上に配置することが可能である。さらに、脅威検出ツールは、VMインスタンスの動作をアクティブに監視することにより動作させることができ、又は代替的に、VMインスタンスの定期的なスナップショットを撮って脅威の存在を判断することができる。
【0072】
いずれの場合も、クラウドVMインスタンスに対する脅威が検出された場合、又はクラウドVMインスタンス自体がクラウドの残りの部分を脅かしている場合、システム72が自動的に呼び出され得る。システム72は、これらに限定されるものではないが、以下の:
1.攻撃されるクラウドVMインスタンス、
2.VMインスタンスと関連する位置情報、
3.関連するVMインスタンスのリスト、及び/又は
4.攻撃されるVMインスタンスの関連付け強度マトリックス、
のうちの幾つか又は全てを含む特定の脅威情報を受け取ることができる。
この特定の脅威情報は、VMインスタンス84Nと関連するVMインスタンスとの間の関連付け88A−N(
図6)に対応する強度属性302(
図7)によって決まる強度を有する特定のVMインスタンスの防止手段を実施するための、防止実施器94により使用することができる。
【0073】
ここで
図9を参照すると、本発明の実施形態によるネットワーク化されたコンピューティング環境500が示される。図示のように、第1の防止手段512Aは、84Qに対して実施される。第1の防止手段512Aは、VMインスタンス84Nと関連するVMインスタンス84Qとの間の関連付け88A−N(
図6)に対応する強度属性302(
図7)が「高」であるという事実に合わせて調整された強度を有する。これに関して、関連するVMインスタンス84Qに対して実施される防止手段512Aは、相対的に強いものである。この強い防止手段512Aは、(VMインスタンス84Nと関連するVMインスタンス84Qとの間の関連付け88A−N(
図6)に割り当てられた「高」の強度属性302(
図7)により反映されるような)高いレベルの関係が、VMインスタンス84Nにおいて検出された同じ脅威が関連するVMインスタンス84Qにおいて後で発生し得る可能性を増大させることを示す。これに関して、防止手段を説明するために本明細書で用いられる用語「強度」は、防止手段の積極性(aggressiveness)(例えば、潜在的な将来の脅威を防止する際、該手段が事前対応(proactive)できる範囲)を説明する。
【0074】
再び
図8と併せて
図4を参照すると、コンピュータ・システム/サーバ12により実行されるシステム72の防止実施器94は、脅威の検出に応答して、別の関連するVMインスタンス84Pに対して異なる防止手段512Bを実施するように構成される。防止手段512Aと同様に、第2の防止手段512Bの強度も、VMインスタンス84Nと第2の関連するVMインスタンス84Pとの間の関連付け88A−N(
図6)に対応する強度属性302(
図7)に基づいている。84Pに対して実施される第2の防止手段512Bは、VMインスタンス84Nと関連するVMインスタンス84Pとの間の関連付け88A−N(
図6)に対応する強度属性302(
図7)が「中」であるという事実に合わせて調整された強度を有する。これに関して、関連するVMインスタンス84Pに対して実施される防止手段512Bは、関連するVMインスタンス84Qに対して実施される防止手段512Aよりも相対的に弱いものとなる。この相対的に弱い防止手段512Bは、(VMインスタンス84Nと関連するVMインスタンス84Qとの間の関連付け88A−N(
図6)に割り当てられた「中」の強度属性302(
図7)により反映されるような)低レベルの関係が、VMインスタンス84Nにおいて検出された同じ脅威が関連するVMインスタンス84Pと比べて関連するVMインスタンス84Qにおいて後で発生し得る可能性を低減させ、及び/又は与える影響がより少ないことを反映する。同様に、「低」の強度属性302(
図7)との関連付け88A−N(図(
図6)を有する関連するVMインスタンス84S、84Vには、強度が最も低いものに対して実施される救済が行われ(又は全く救済が行われず)、関連するVMインスタンス84S、84Vが、VMインスタンス84N上で検出された脅威により影響を受ける可能性が最も少ないという事実を反映する。
【0075】
ここで
図9と併せて
図10を参照すると、本発明の実施形態による、防止手段502を決定するための例示的なマトリックス600が示される。図示のように、防止手段502は、関連付けに対応する強度属性504に基づいて実施される。さらに、防止手段502は、VMインスタンス84Nに対する関連するVMインスタンス84P、84Q、84R、84S、84T及び84Vの位置506によって決まり得る。これに関して、現在周知の又は後で開発されるいずれの防止手段502を実施することもできる。これらの防止手段502は、これらに限られるものではないが、以下を含む。:すなわち、
1.関連するVMインスタンスの許容最大計算負荷を低減させる、
2.関連するVMインスタンスの許容最大ウェブ・トラフィック速度を低下させる、
3.関連するVMインスタンスのキャッシュ容量を低減させる、及び/又は
4.あらゆる同じ物理サーバの共同テナントVMインスタンスの、異なる物理サーバへの強制マイグレーション(移動)。
【0076】
ここで
図4と併せて
図11を参照すると、本発明の1つの実施形態による方法のフロー図が示される。P1において、コンピュータ・システム/サーバ12により実行されるシステム72の関連付け確立器90は、仮想マシン(VM)インスタンス84Nに対する関連付け88A−Nのセットを確立する。関連付け88A−Nのセットの各関連付け88A−Nは、VMインスタンス84Nと関連するVMインスタンス84P、84Q、84R、84S、84T及び84Vとの間の関係を示す。P2において、コンピュータ・システム/サーバ12により実行されるシステム72の属性割当器92は、強度属性を関連付け88A−Nのセットにおける各関連付け88A−Nに割り当てる。P3において、防止実施器94は、脅威の検出に応答して、第1の関連するVMインスタンスに対して第1の防止手段を実施する。第1の関連するVMインスタンスに対して防止実施器94により実施される第1の防止手段の強度は、VMインスタンス84Nと第1の関連するVMインスタンスとの間の関連付け88A−Nに対応する強度属性に基づいている。P4において、コンピュータ・システム/サーバ12により実行されるシステム72の防止実施器94は、脅威の検出に応答して、第2の関連するVMインスタンスに対して第2の防止手段を実施する。第1の防止手段の強度と同様に、第2の防止手段の強度は、VMインスタンスと第2の関連するVMインスタンスとの間の関連付け88A−Nに対応する強度属性に基づいている。
【0077】
図11のフローは、本発明の種々の実施形態によるシステム、方法及びコンピュータ・プログラム製品の可能な実施のアーキテクチャ、機能及び動作を示す。これに関して、フローチャートの各ブロックは、指定された論理機能を実施するための1つ又は複数の実行可能命令を含むモジュール、セグメント、又はコードの部分を表すことができる。さらに、幾つかの代替的実装形態においては、ブロックに記述された機能は、図面に示された順序とは異なる順序で実行され得ることにも留意されたい。例えば、連続して示された2つのブロックが、実際には、実質的に同時に実行されてもよい。さらに、フローチャート図の各ブロックは、指定された機能若しくは動作を実行する専用ハードウェア・ベースのシステム、又は専用ハードウェアとコンピュータ命令との組み合わせによって実施され得ることにも留意されたい。
【0078】
ネットワーク化されたコンピューティング環境における脅威に応答するための手法として本明細書に示され、説明されるが、本発明は、種々の代替的実施形態をさらに提供することが理解される。例えば、一実施形態において、本発明は、加入契約、広告及び/又は使用料ベースで本発明のプロセスを実施する方法を提供する。すなわち、ソリューション・インテグレータ(Solution Integrator)などのサービス・プロバイダは、脅威に応答するための機能を提供することを提案することができる。この場合には、サービス・プロバイダは、1又は複数のカスタマのために本発明のプロセスを実施するコンピュータ・システム12(
図1)のようなコンピュータ・インフラストラクチャを作成し、保持し、サポートすることなどが可能である。それと引き換えに、サービス・プロバイダは、加入契約及び/又は使用料契約の下でカスタマから支払いを受けることができ、及び/又は1又は複数の第三者に対する広告コンテンツの販売からの支払いを受けることができる。
【0079】
別の実施形態において、本発明は、ネットワーク化されたコンピューティング環境における脅威に応答するためのコンピュータ実装方法を提供する。この場合には、コンピュータ・システム12(
図1)のようなコンピュータ・インフラストラクチャを提供することができ、本発明のプロセスを実施するための1つ又は複数のシステムを取得し(例えば、作成する、購入する、使用する、変更するなど)、コンピュータ・インフラストラクチャに配備することができる。これに関して、システムの配備は、(1)コンピュータ・システム12(
図1)のようなコンピュータ・デバイス上に、コンピュータ可読媒体からプログラム・コードをインストールすること、(2)1つ又は複数のコンピュータ・デバイスをコンピュータ・インフラストラクチャに追加すること、及び(3)コンピュータ・インフラストラクチャが本発明のプロセスを実施できるように、コンピュータ・インフラストラクチャの1つ又は複数の既存のシステムを組み込む及び/又は変更すること、のうちの1つ又は複数を含むことができる。
【0080】
本明細書において説明される機能コンポーネントの一部は、それらの実装の独立性をより具体的に強調するために、システム又はユニットとして表記されている。例えば、システム又はユニットは、特注のVLSI回路又はゲート・アレイ、論理チップ、トランジスタなどの市販の半導体、又は他の個別コンポーネントを含むハードウェア回路として実装することができる。システム又はユニットはまた、フィールド・プログラマブル・ゲート・アレイ、プログラマブル・アレイ論理、プログラマブル論理デバイス等のようなプログラム可能ハードウェア・デバイス内に実装することもできる。システム又はユニットはまた、種々のタイプのプロセッサによる実行のためのソフトウェア内で実装することもできる。例えば、システム又はユニット、又は実行可能コードのコンポーネントは、例えばオブジェクト、プロシージャ、又は関数として編成することができるコンピュータ命令の1つ又は複数の物理ブロック又は論理ブロックを含むことができる。しかし、識別されるシステム又はユニットの実行ファイルは、物理的に一緒に配置される必要はないが、論理的に結合された場合、システム又はユニットを含み、システム又はユニットのための述べられた目的を達成する、異なる位置に格納された異なる命令を含むことができる。
【0081】
さらに、実行可能コードのシステム又はユニットは、単一の命令又は多数の命令とすることができ、さらには、幾つかの異なるコード・セグメント上で、異なるプログラム間で、及び幾つかのメモリ・デバイスを横切って分散させることもできる。同様に、本明細書では、動作データをモジュール内に識別し、示すこともでき、任意の適切な形で具体化することができ、任意の適切な型式のデータ構造体内で編成することができる。動作データは、単一のデータ・セットとして集めること、又は、異なるストレージ・デバイス及び異なるメモリ・デバイスにわたることを含む異なる位置にわたって分散させることができる。
【0082】
さらに、システム/ユニットはまた、ソフトウェア及び1つ又は複数のハードウェア・デバイスの組み合わせとして実装することもできる。例えば、可用性検出器(availability detector)118は、メモリ媒体(例えば、メモリ・ストレージ・デバイス)上に格納されたソフトウェア実行可能コードの組み合わせとして具体化することができる。更に別の例において、システム又はユニットは、動作データのセットに対して動作するプロセッサの組み合わせとすることもできる。
【0083】
上述のように、実施形態の一部は、ハードウェアの形で具体化することができる。ハードウェアは、ハードウェア要素として参照され得る。一般に、ハードウェア要素は、特定の動作を実施するように構成されたいずれかのハードウェア構造を指すことができる。一実施形態において、例えば、基板上に製造された任意のアナログ又はデジタル電気又は電子素子を含むことができる。この製造は、例えば、相補型金属酸化膜半導体(CMOS)、バイポーラ、及びバイポーラCMOS(BiCMOS)技術などのシリコン・ベースの集積回路(IC)技術を用いて実施することができる。ハードウェア要素の例として、プロセッサ、マイクロプロセッサ、回路、回路素子(例えば、トランジスタ、抵抗器、キャパシタ、インダクタ等)、集積回路、特定用途向け集積回路(ASIC)、プログラマブル論理デバイス(PLD)、デジタル信号プロセッサ(DSP)、フィールド・プログラマブル・ゲートアレイ(FPGA)、論理ゲート、レジスタ、半導体デバイス、チップ、マイクロチップ、チップセット等を挙げることができる。しかし、実施形態は、この文脈に限定されない。
【0084】
同じく上述のように、幾つかの実施形態は、ソフトウェアの形で具体化することもできる。ソフトウェアは、ソフトウェア要素として参照され得る。一般に、ソフトウェア要素は、特定の動作を実施するように構成されたいずれかのソフトウェア構造を指すことができる。一実施形態において、例えば、ソフトウェア要素は、プロセッサなどのハードウェア要素による実行に適したプログラム命令及び/又はデータを含むことができる。プログラム命令は、実行時に、プロセッサに、対応する動作のセットを実施させることができる所定の構文で構成された語、値、又は記号を含む、編成されたコマンドのリストを含むことができる。
【0085】
本発明はまた、コンピュータ・プログラム製品とすることもできる。コンピュータ・プログラム製品は、プロセッサに、本発明の態様を実施させるためのコンピュータ可読プログラム命令をその上に有するコンピュータ可読ストレージ媒体(単数又は複数)を含むことができる。
【0086】
コンピュータ可読ストレージ媒体は、命令実行デバイスにより使用される命令を保持及び格納することができる有形デバイスとすることができる。コンピュータ可読ストレージ媒体は、例えば、これらに限定されるものではないが、電子記憶装置、磁気記憶装置、光学記憶装置、電磁気記憶装置、半導体記憶装置、又は上記のいずれかの適切な組み合わせとすることができる。コンピュータ可読ストレージ媒体のより具体的な例の非網羅的なリストとして、以下のもの:すなわち、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、消去可能なプログラマブル読み出し専用メモリ(EPROM又はフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク読み出し専用メモリ(CD−ROM)、デジタル多用途ディスク(DVD)、メモリ・スティック、フロッピー・ディスク、パンチカード又は命令が記録された溝内の隆起構造のような機械的にエンコードされたデバイス、及び上記のいずれかの適切な組み合わせが挙げられる。本明細書で使用される場合、コンピュータ可読ストレージ媒体は、電波、又は他の自由に伝搬する電磁波、導波管若しくは他の伝送媒体を通じて伝搬する電磁波(例えば、光ファイバ・ケーブルを通る光パルス)、又はワイヤを通って伝搬される電気信号などの、一時的信号自体として解釈されない。
【0087】
本明細書で説明されるコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体からそれぞれのコンピューティング/処理デバイスに、又は、例えばインターネット、ローカル・エリア・ネットワーク、広域ネットワーク、及び/又は無線ネットワークなどのネットワークを介して、外部コンピュータ又は外部ストレージ・デバイスにダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、及び/又はエッジ・サーバを含むことができる。各コンピューティング/処理デバイスにおけるネットワーク・アダプタ・カード又はネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受け取り、コンピュータ可読プログラム命令を転送して、それぞれのコンピューティング/処理デバイス内のコンピュータ可読ストレージ媒体内に格納する。
【0088】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、又は、Smalltalk、C++などのオブジェクト指向プログラミング言語、又は、「C」プログラミング言語若しくは類似のプログラミング言語などの通常の手続き型プログラミング言語を含む1つ又は複数のプログラミング言語の任意の組み合わせで記述することができる。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で実行される場合もあり、一部がユーザのコンピュータ上で、独立型ソフトウェア・パッケージとして実行される場合もあり、一部がユーザのコンピュータ上で実行され、一部が遠隔コンピュータ上で実行される場合もあり、又は完全に遠隔コンピュータ若しくはサーバ上で実行される場合もある。最後のシナリオにおいては、遠隔コンピュータは、ローカル・エリア・ネットワーク(LAN)若しくは広域ネットワーク(WAN)を含むいずれかのタイプのネットワークを通じてユーザのコンピュータに接続される場合もあり、又は外部コンピュータへの接続がなされる場合もある(例えば、インターネット・サービス・プロバイダを用いたインターネットを通じて)。幾つかの実施形態において、例えば、プログラマブル論理回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、又はプログラマブル論理アレイ(PLA)を含む電子回路は、コンピュータ可読プログラム命令の状態除法を用いて、電子回路を個人化することによりコンピュータ可読プログラム命令を実行し、本発明の態様を実施することができる。
【0089】
本発明の態様は、本発明の実施形態による方法、装置(システム)及びコンピュータ・プログラム製品のフローチャート図及び/又はブロック図を参照して説明される。フローチャート図及び/又はブロック図の各ブロック、並びにフローチャート図及び/又はブロック図内のブロックの組み合わせは、コンピュータ可読プログラム命令によって実装できることが理解されるであろう。
【0090】
これらのコンピュータ可読プログラム命令を、汎用コンピュータ、専用コンピュータ、又は他のプログラム可能データ処理装置のプロセッサに与えてマシンを製造し、それにより、コンピュータ又は他のプログラム可能データ処理装置のプロセッサによって実行される命令が、フローチャート及び/又はブロック図の1つ又は複数のブロック内で指定された機能/動作を実装するための手段を作り出すようにすることができる。これらのコンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、又は他のデバイスを特定の方式で機能させるように指示することができるコンピュータ可読媒体内に格納し、それにより、そのコンピュータ可読媒体内に格納された命令が、フローチャート及び/又はブロック図の1つ又は複数のブロックにおいて指定された機能/動作を実装する命令を含む製品を製造するようにすることもできる。
【0091】
コンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上にロードして、一連の動作ステップをコンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上で行わせてコンピュータ実施のプロセスを生成し、それにより、コンピュータ又は他のプログラム可能装置上で実行される命令が、フローチャート及び/又はブロック図の1つ又は複数のブロックにおいて指定された機能/動作を実行するためのプロセスを提供するようにすることもできる。
【0092】
ネットワーク化されたコンピューティング環境における脅威に応答するための手法が提供されていることは明らかである。本発明は、例示的実施形態と併せて具体的に示され、説明されたが、当業者であれば、変形及び修正を思い付くことが理解されるであろう。従って、添付の特許請求の範囲は、本発明の真の趣旨内に含まれる全てのそうした修正及び変更をカバーすることが意図される。