図面 (/)

技術 ソフトウェアによって定義されたインフラストラクチャ内のセキュリティのための方法、コンピュータ・プログラム、コンピュータ・システム

出願人 インターナショナル・ビジネス・マシーンズ・コーポレーション
発明者 リ、チュン-シェンペンダラキス、ディミトリオスラーオ、ジョシュラホグストロム、マット、リチャードブレック、ブラッドラトナパルキ、ラダフランケ、フベルトゥスパッタナイク、プラタップ、チャンドラウィリアムズ、マイケル、デイヴィッドクラウダー、スコットハリム、ナギー
出願日 2016年3月23日 (4年7ヶ月経過) 出願番号 2017-549186
公開日 2018年4月5日 (2年7ヶ月経過) 公開番号 2018-509717
状態 特許登録済
技術分野 ストアードプログラムにおける機密保護 マルチプログラミング
主要キーワード コンテナベース 周期的サイクル 移行モジュール 占有範囲 マイクロサーバ スケールイン 配置モデル 隆起構造
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2018年4月5日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (8)

課題

解決手段

ソフトウェア定義環境内のワークロードおよびそのワークロードに対応するリソースのセットを表すセキュリティ・コンテナ確立することと、セキュリティ・コンテナのセキュリティ基準のセットを決定することと、セキュリティ基準のセットに少なくとも部分的に基づいて、セキュリティ・イベントについてワークロードおよびリソースのセットを監視することと、セキュリティ・イベントの識別応答して、1つまたは複数のセキュリティ・メカニズムを調整することとを含んでいる方法およびシステムが存在する。監視するステップおよび調整するステップは、ソフトウェア定義環境内で処理される。

概要

背景

企業は、ミッションクリティカルアプリケーションおよび性能に敏感なアプリケーションを、共有されたインフラストラクチャおよびクラウド上の高度に仮想化された環境に移行することに、ますます積極的になっている。モバイル・アプリケーション、ソーシャル・アプリケーション、および分析アプリケーションは、多くの場合、共有されたインフラストラクチャおよびクラウド上で直接開発され、運用される。現在の仮想化ソリューションおよびクラウド・ソリューションは、それらの容量に関して、計算リソースストレージリソース、およびネットワーク・リソースの基本的な抽象化のみを可能にする。このアプローチは、多くの場合、これらのリソースの抽象化を簡略化するために、基盤になるシステムアーキテクチャ標準化を必要とする。さらに、ワークロード最適化システムのアプローチは、基盤になるシステム・アーキテクチャへの(コンパイラを含めた)ワークロードの緊密な統合に依存する。このアプローチは、必要な労働集約的最適化を犠牲にして、各マイクロアーキテクチャによって、およびシステム・レベル能力によって提供される特殊能力の直接的活用を可能にする。

ソフトウェアによって定義された環境(SDE)では、同じ物理的システム内で多くの仮想「システム」が作成される場合があり、または複数の物理的システムが1つの仮想システム内で仮想化される場合があり、あるいはその両方が行われる場合がある。ソフトウェアによって定義された「システム」は、絶えず最初から作成され、絶えず進化し、最終的に破壊されることが可能であるため、論理的リソース物理的リソースの間には、永続的な関連(または結合)は存在しない。

フレームワーク(本明細書では「フィスター・フレームワーク(Pfisterframework)」と呼ばれる)は、特定のアプリケーションのワークロードの特徴を表すために使用されてきた。フィスター・フレームワークは、「スレッド競合」対「データ競合」を考慮する。これを考慮して、次の4つのワークロードのカテゴリが定義される。(i)共有されたデータまたはキュー更新する混合ワークロード(企業のソフトウェア(アプリケーションや統合ミドルウェアとしても知られている)など)、(ii)高度にスレッド化されたアプリケーション、(iii)分析を伴う並列データ構造(クラスタ計算環境上のデータセットのストレージおよび大規模処理のためのフレームワークなど)、および(iv)小規模な個別のアプリケーション

概要

ソフトウェア定義インフラストラクチャ内のセキュリティを提供する。ソフトウェア定義環境内のワークロードおよびそのワークロードに対応するリソースのセットを表すセキュリティ・コンテナ確立することと、セキュリティ・コンテナのセキュリティ基準のセットを決定することと、セキュリティ基準のセットに少なくとも部分的に基づいて、セキュリティ・イベントについてワークロードおよびリソースのセットを監視することと、セキュリティ・イベントの識別応答して、1つまたは複数のセキュリティ・メカニズムを調整することとを含んでいる方法およびシステムが存在する。監視するステップおよび調整するステップは、ソフトウェア定義環境内で処理される。

目的

本発明が解決しようとする課題は、ソフトウェアによって定義されたインフラストラクチャ内のセキュリティのメカニズムを調整することである

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

方法であって、ソフトウェアによって定義された環境内のワークロードおよび前記ワークロードに対応するリソースのセットを表すセキュリティコンテナ確立するステップと、前記セキュリティ・コンテナのセキュリティ基準のセットを決定するステップと、前記セキュリティ基準のセットに少なくとも部分的に基づいて、セキュリティ・イベントについて前記ワークロードおよび前記リソースのセットを監視するステップと、セキュリティ・イベントの識別応答して1つまたは複数のセキュリティ・メカニズムを調整するステップとを含み、少なくとも前記監視するステップおよび前記調整するステップが前記ソフトウェアによって定義された環境内で処理される、方法。

請求項2

前記リソースのセットが、計算リソースストレージ・リソース、およびネットワーク・リソースを含み、前記リソースのセットがソフトウェア抽象化である、請求項1に記載の方法。

請求項3

前記セキュリティ基準のセットが、前記ソフトウェアによって定義された環境全体で移植可能であるコンテナ固有ポリシー仕様を含む、請求項1に記載の方法。

請求項4

前記監視するステップが、深部探索、条件に基づく監視、および前記リソースのセット内のリソースへの挙動モデルの適用のうちの1つを含む、請求項1に記載の方法。

請求項5

前記監視するステップが、挙動モデルをワークロードの挙動に適用するステップであって、前記ワークロードの挙動が、前記ソフトウェアによって定義された環境内のインフラストラクチャ要素時空間占有範囲のセット、前記リソースのセットの使用量の時間的進行のうちの1つによって捉えられる、前記ステップと、前記ワークロード内のコンポーネントのセットをアクティブにするステップと、前記ワークロードによって実行されるサービス起動するステップとを含む、請求項4に記載の方法。

請求項6

前記1つまたは複数のセキュリティ・メカニズムを調整するステップが、セキュリティ・メカニズムを挿入するステップ、およびセキュリティ・メカニズムを削除するステップのうちの一方を含む、請求項1に記載の方法。

請求項7

前記1つまたは複数のセキュリティ・メカニズムが、隔離アクションおよび移行アクションのうちの少なくとも一方を含む、請求項1に記載の方法。

請求項8

プログラム命令が記憶されたコンピュータ可読記憶媒体を備えるコンピュータ・プログラム製品であって、前記プログラム命令が、ソフトウェアによって定義された環境内のワークロードおよび前記ワークロードに対応するリソースのセットを表すセキュリティ・コンテナを確立することと、前記セキュリティ・コンテナのセキュリティ基準のセットを決定することと、前記セキュリティ基準のセットに少なくとも部分的に基づいて、セキュリティ・イベントについて前記ワークロードおよび前記リソースのセットを監視することと、セキュリティ・イベントの識別に応答して1つまたは複数のセキュリティ・メカニズムを調整することとを行うようにプログラムされた、コンピュータ・プログラム製品。

請求項9

前記リソースのセットが、計算リソース、ストレージ・リソース、およびネットワーク・リソースを含み、前記リソースのセットがソフトウェア抽象化である、請求項8に記載のコンピュータ・プログラム製品。

請求項10

前記セキュリティ基準のセットが、前記ソフトウェアによって定義された環境全体で移植可能であるコンテナ固有のポリシーの仕様を含む、請求項8に記載のコンピュータ・プログラム製品。

請求項11

監視するようにプログラムされた前記プログラム命令が、深部探索、条件に基づく監視、および前記リソースのセット内のリソースへの挙動モデルの適用のうちの1つを実行するようにさらにプログラムされる、請求項8に記載のコンピュータ・プログラム製品。

請求項12

1つまたは複数のセキュリティ・メカニズムを調整することが、セキュリティ・メカニズムを挿入すること、およびセキュリティ・メカニズムを削除することのうちの一方を含む、請求項8に記載のコンピュータ・プログラム製品。

請求項13

前記1つまたは複数のセキュリティ・メカニズムが、隔離アクションおよび移行アクションのうちの少なくとも一方を含む、請求項8に記載のコンピュータ・プログラム製品。

請求項14

コンピュータ・システムであって、プロセッサ・セットと、コンピュータ可読記憶媒体とを備え、前記プロセッサ・セットが、前記コンピュータ可読記憶媒体に記憶されたプログラム命令を実行するように構造化、配置、接続、またはプログラム、あるいはこれらの組合せを実行され、前記プログラム命令が、ソフトウェアによって定義された環境内のワークロードおよび前記ワークロードに対応するリソースのセットを表すセキュリティ・コンテナを確立することと、前記セキュリティ・コンテナのセキュリティ基準のセットを決定することと、前記セキュリティ基準のセットに少なくとも部分的に基づいて、セキュリティ・イベントについて前記ワークロードおよび前記リソースのセットを監視することと、セキュリティ・イベントの識別に応答して1つまたは複数のセキュリティ・メカニズムを調整することとを行うようにプログラムされたプログラム命令を含む、コンピュータ・システム。

請求項15

前記リソースのセットが、計算リソース、ストレージ・リソース、およびネットワーク・リソースを含み、前記リソースのセットがソフトウェア抽象化である、請求項14に記載のコンピュータ・システム。

請求項16

前記セキュリティ基準のセットが、前記ソフトウェアによって定義された環境全体で移植可能であるコンテナ固有のポリシーの仕様を含む、請求項14に記載のコンピュータ・システム。

請求項17

監視するようにプログラムされた前記プログラム命令が、深部探索、条件に基づく監視、および前記リソースのセット内のリソースへの挙動モデルの適用のうちの1つを実行するようにさらにプログラムされる、請求項14に記載のコンピュータ・システム。

請求項18

1つまたは複数のセキュリティ・メカニズムを調整することが、セキュリティ・メカニズムを挿入すること、およびセキュリティ・メカニズムを削除することのうちの一方を含む、請求項14に記載のコンピュータ・システム。

請求項19

前記1つまたは複数のセキュリティ・メカニズムが、隔離アクションおよび移行アクションのうちの少なくとも一方を含む、請求項14に記載のコンピュータ・システム。

技術分野

0001

本発明は、一般にソフトウェアによって定義された環境(SDE)の分野に関し、より詳細にはSDE内のセキュリティに関する。

背景技術

0002

企業は、ミッションクリティカルアプリケーションおよび性能に敏感なアプリケーションを、共有されたインフラストラクチャおよびクラウド上の高度に仮想化された環境に移行することに、ますます積極的になっている。モバイル・アプリケーション、ソーシャル・アプリケーション、および分析アプリケーションは、多くの場合、共有されたインフラストラクチャおよびクラウド上で直接開発され、運用される。現在の仮想化ソリューションおよびクラウド・ソリューションは、それらの容量に関して、計算リソースストレージリソース、およびネットワーク・リソースの基本的な抽象化のみを可能にする。このアプローチは、多くの場合、これらのリソースの抽象化を簡略化するために、基盤になるシステムアーキテクチャ標準化を必要とする。さらに、ワークロード最適化システムのアプローチは、基盤になるシステム・アーキテクチャへの(コンパイラを含めた)ワークロードの緊密な統合に依存する。このアプローチは、必要な労働集約的最適化を犠牲にして、各マイクロアーキテクチャによって、およびシステム・レベル能力によって提供される特殊能力の直接的活用を可能にする。

0003

ソフトウェアによって定義された環境(SDE)では、同じ物理的システム内で多くの仮想「システム」が作成される場合があり、または複数の物理的システムが1つの仮想システム内で仮想化される場合があり、あるいはその両方が行われる場合がある。ソフトウェアによって定義された「システム」は、絶えず最初から作成され、絶えず進化し、最終的に破壊されることが可能であるため、論理的リソース物理的リソースの間には、永続的な関連(または結合)は存在しない。

0004

フレームワーク(本明細書では「フィスター・フレームワーク(Pfisterframework)」と呼ばれる)は、特定のアプリケーションのワークロードの特徴を表すために使用されてきた。フィスター・フレームワークは、「スレッド競合」対「データ競合」を考慮する。これを考慮して、次の4つのワークロードのカテゴリが定義される。(i)共有されたデータまたはキュー更新する混合ワークロード(企業のソフトウェア(アプリケーションや統合ミドルウェアとしても知られている)など)、(ii)高度にスレッド化されたアプリケーション、(iii)分析を伴う並列データ構造(クラスタ計算環境上のデータセットのストレージおよび大規模処理のためのフレームワークなど)、および(iv)小規模な個別のアプリケーション

発明が解決しようとする課題

0005

本発明が解決しようとする課題は、ソフトウェアによって定義されたインフラストラクチャ内のセキュリティのメカニズムを調整することである。

課題を解決するための手段

0006

本発明の第1の態様によれば、ソフトウェアによって定義された環境内のワークロードおよびそのワークロードに対応するリソースのセットを表すセキュリティ・コンテナ確立するステップと、セキュリティ・コンテナのセキュリティ基準のセットを決定するステップと、セキュリティ基準のセットに少なくとも部分的に基づいてセキュリティ・イベントについてワークロードおよびリソースのセットを監視するステップと、セキュリティ・イベントの識別応答して、1つまたは複数のセキュリティ・メカニズムを調整するステップとを含んでいる方法が存在する。監視するステップおよび調整するステップは、ソフトウェアによって定義された環境内で処理される。

0007

本発明の第2の態様によれば、ソフトウェアによって定義された環境内のワークロードおよびそのワークロードに対応するリソースのセットを表すセキュリティ・コンテナを確立することと、セキュリティ・コンテナのセキュリティ基準のセットを決定することと、セキュリティ基準のセットに少なくとも部分的に基づいてセキュリティ・イベントについてワークロードおよびリソースのセットを監視することと、セキュリティ・イベントの識別に応答して、1つまたは複数のセキュリティ・メカニズムを調整することとを行うようにプログラムされたプログラム命令が記憶されたコンピュータ可読記憶媒体を含んでいるコンピュータ・プログラム製品が存在する。

0008

本発明の第3の態様によれば、プロセッサ・セットおよびコンピュータ可読記憶媒体を含んでいるコンピュータ・システムが存在する。プロセッサ・セットは、コンピュータ可読記憶媒体に記憶されたプログラム命令を実行するように構造化され、配置され、接続され、またはプログラムされ、あるいはこれらの組合せが行われ、プログラム命令は、ソフトウェアによって定義された環境内のワークロードおよびそのワークロードに対応するリソースのセットを表すセキュリティ・コンテナを確立することと、セキュリティ・コンテナのセキュリティ基準のセットを決定することと、セキュリティ基準のセットに少なくとも部分的に基づいてセキュリティ・イベントについてワークロードおよびリソースのセットを監視することと、セキュリティ・イベントの識別に応答して、1つまたは複数のセキュリティ・メカニズムを調整することとを行うようにプログラムされたプログラム命令を含む。

0009

ここで、添付の図面を例として参照し、本発明の実施形態について説明する。

図面の簡単な説明

0010

本発明に従うシステムの第1の実施形態において使用されるクラウド・コンピューティングノードを表す図である。
本発明に従うクラウド・コンピューティング環境の実施形態(「第1の実施形態のシステム」とも呼ばれる)を表す図である。
第1の実施形態のシステムにおいて使用される抽象モデルレイヤを表す図である。
第1の実施形態のシステムによって少なくとも部分的に実行される第1の実施形態の方法を示すフローチャートである。
第1の実施形態のシステムの機械論理(例えば、ソフトウェア)部分を示すブロック図である。
本発明に従うシステムの第2の実施形態を示すブロック図である。
第2の実施形態のシステムの機械論理(例えば、ソフトウェア)部分を示すブロック図である。

実施例

0011

ソフトウェアによって定義された環境のエンド・ツー・エンドのセキュリティは、ワークロード・リソースの自己記述コンテナを確立することによって提供される。セキュリティ・ポリシーの実施メカニズムは、ソフトウェアによって定義された環境内で開発、配置、および運用される。本発明は、システム、方法、またはコンピュータ・プログラム製品、あるいはこれらの組合せである。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を含んでいる1つまたは複数のコンピュータ可読記憶媒体を含む。

0012

コンピュータ可読記憶媒体は、命令実行デバイスによって使用するための命令を保持する、または記憶する、あるいはその両方を行う有形のデバイスである。コンピュータ可読記憶媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、またはこれらの任意の適切な組合せにすることができるが、これらに限定されない。コンピュータ可読記憶媒体のさらに具体的な例の非網羅リストは、ポータブル・コンピュータ・ディスケットハードディスクランダムアクセスメモリ(RAM:random access memory)、読み取り専用メモリ(ROM:read-onlymemory)、消去可プログラマブル読み取り専用メモリ(EPROM:erasableprogrammable read-only memoryまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM:static random access memory)、ポータブル・コンパクト・ディスク読み取り専用メモリ(CD−ROM:compact disc read-only memory)、デジタル多用途ディスク(DVD:digital versatile disk)、メモリ・スティックフロッピー(R)・ディスク、パンチカードまたは命令が記録されている溝の中の隆起構造などの機械的にエンコードされるデバイス、およびこれらの任意の適切な組合せを含む。本明細書において使用されているコンピュータ可読記憶媒体は、本質的に、電波またはその他の自由に伝搬する電磁波、導波管またはその他の送信媒体を伝搬する電磁波(例えば、光ファイバケーブルを通過する光パルス)、あるいはワイヤを介して送信される電気信号などの一時的信号であると解釈されるべきではない。

0013

本明細書に記載されたコンピュータ可読プログラム命令は、一部の実施形態に従って、コンピュータ可読記憶媒体から各コンピューティング・デバイス/処理デバイスへ、またはネットワーク(例えば、インターネットローカルエリア・ネットワーク、広域ネットワーク、または無線ネットワークあるいはこれらの組合せ)を介して外部コンピュータまたは外部ストレージ・デバイスへダウンロードされる。このネットワークは、銅伝送ケーブル光伝送ファイバ無線送信ルータファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジサーバあるいはこれらの組合せを備える。各コンピューティング・デバイス/処理デバイス内のネットワーク・アダプタカードまたはネットワーク・インターフェイスは、コンピュータ可読プログラム命令をネットワークから受信し、それらのコンピュータ可読プログラム命令を各コンピューティング・デバイス/処理デバイス内のコンピュータ可読記憶媒体に記憶するために転送する。

0014

本発明の処理を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令命令セット・アーキテクチャ(ISA:instruction-set-architecture)命令、マシン命令マシン依存命令、マイクロコードファームウェア命令、状態設定データ、あるいは、Smalltalk(R)、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語または同様のプログラミング言語などの従来の手続き型プログラミング言語を含む1つまたは複数のプログラミング言語の任意の組合せで記述されたソース・コードまたはオブジェクト・コードにすることができる。コンピュータ可読プログラム命令は、ユーザのコンピュータ上で全体的に実行すること、ユーザのコンピュータ上でスタンドアロン・ソフトウェア・パッケージとして部分的に実行すること、ユーザのコンピュータ上およびリモート・コンピュータ上でそれぞれ部分的に実行すること、あるいはリモート・コンピュータ上またはサーバ上で全体的に実行することができる。後者のシナリオでは、リモート・コンピュータを、ローカル・エリア・ネットワーク(LAN:local area network)または広域ネットワーク(WAN:wide areanetwork)を含む任意の種類のネットワークを介してユーザのコンピュータに接続することができ、または接続を、(例えば、インターネット・サービスプロバイダを使用してインターネットを介して)外部コンピュータに対して行うことができる。一部の実施形態では、本発明の態様を実行するために、例えばプログラマブル論理回路フィールドプログラマブルゲートアレイFPGA:field-programmable gate arrays)、またはプログラマブル・ロジック・アレイ(PLA:programmable logic arrays)を含む電子回路は、コンピュータ可読プログラム命令の状態情報を利用することによって、電子回路をカスタマイズするためのコンピュータ可読プログラム命令を実行できる。

0015

本発明の態様は、本明細書において、本発明の実施形態に記載された方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照して説明される。フローチャート図またはブロック図あるいはその両方の各ブロック、ならびにフローチャート図またはブロック図あるいはその両方に含まれるブロックの組合せは、コンピュータ可読プログラム命令によって実装されると理解されるであろう。

0016

これらのコンピュータ可読プログラム命令は、コンピュータまたはその他のプログラマブル・データ処理装置のプロセッサを介して実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて規定された機能/動作を実装するための手段を構築するように、本発明の一部の実施形態に従って、汎用コンピュータ、専用コンピュータ、またはその他のプログラマブル・データ処理装置のプロセッサに提供されてマシンを作り出すものであってよい。このコンピュータ可読プログラム命令は、命令が記憶されたコンピュータ可読記憶媒体が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて規定された機能/動作の態様を実装する命令を含んでいる製品を備えるように、コンピュータ可読記憶媒体に記憶され、コンピュータ、プログラマブル・データ処理装置、またはその他のデバイスあるいはこれらの組合せに特定の方法で機能するように指示することができるものであってもよい。

0017

コンピュータ可読プログラム命令は、コンピュータ、その他のプログラマブル装置、またはその他のデバイス上で実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて規定された機能/動作を実装するように、コンピュータ実装プロセスを生成するべく、本発明の一部の実施形態に従って、コンピュータ、その他のプログラマブル・データ処理装置、またはその他のデバイス上にロードされ、コンピュータ、その他のプログラマブル装置、あるいはその他のデバイス上で一連の動作可能なステップを実行させるものであってもよい。

0018

図内のフローチャートおよびブロック図は、本発明のさまざまな実施形態に記載されているシステム、方法、およびコンピュータ・プログラム製品の可能な実装のアーキテクチャ、機能、および処理を示す。これに関連して、フローチャートまたはブロック図内の各ブロックは、規定された論理機能を実装するための1つまたは複数の実行可能な命令を備える、命令のモジュールセグメント、または部分を表す。一部の代替の実装では、ブロックに示された機能は、図に示された順序とは異なる順序で発生する。例えば、連続して示された2つのブロックは、実際には、含まれている機能に応じて、実質的に同時に実行されるか、または場合によっては逆の順序で実行されてもよい。ブロック図またはフローチャート図あるいはその両方の各ブロック、ならびにブロック図またはフローチャート図あるいはその両方に含まれるブロックの組合せは、一部の実施形態において、規定された機能または動作を実行するか、または専用ハードウェアコンピュータ命令の組合せを実行する専用ハードウェアベースのシステムによって実装されるということにも注意する。

0019

本開示にはクラウド・コンピューティングの詳細な説明が含まれているが、本明細書で示された教示の実装は、クラウド・コンピューティング環境に限定されないと、あらかじめ理解される。本発明の実施形態は、既知または今後開発される他のいかなる種類のコンピューティング環境と組み合わせても実装できる。

0020

クラウド・コンピューティングは、構成可能な計算リソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス)の共有プールへの便利なオンデマンドのネットワーク・アクセスを可能にするためのサービス提供モデルであり、管理上の手間とサービス・プロバイダとのやりとりを最小限に抑えて、それらのリソースが迅速にプロビジョニングおよび解放される。本発明の一部の実施形態では、このクラウド・モデルは、少なくとも5つの特徴、少なくとも3つのサービス・モデル、および少なくとも4つの配置モデルを含む。

0021

特徴は、次のとおりである。

0022

オンデマンドのセルフ・サービス:クラウドの利用者は、サーバの時間、ネットワーク・ストレージなどのコンピューティング能力を一方的に、サービス・プロバイダとの人間的なやりとりを必要とせず、必要に応じて自動的にプロビジョニングする。

0023

幅広いネットワーク・アクセス:能力は、ネットワークを経由して利用可能であり、標準的なメカニズムを使用してアクセスできるため、異種のシンクライアントまたはシック・クライアント・プラットフォーム(例えば、携帯電話ラップトップ、PDA)による利用を促進する。

0024

リソース・プール:プロバイダの計算リソースは、プールされ、マルチテナント・モデルを使用して複数の利用者に提供される。さまざまな物理的および仮想的リソースが、要求に従って動的に割り当てられ、および再度割り当てられる。場所に依存しないという感覚があり、利用者は通常、提供されるリソースの正確な場所に関して管理することも知ることもないが、さらに高い抽象レベル(例えば、国、州、データセンタ)では、場所を指定できる場合がある。

0025

迅速な順応性:能力は、迅速かつ柔軟に、場合によっては自動的にプロビジョニングされ、素早くスケールアウトし、迅速に解放されて素早くスケールインする。プロビジョニングに使用できる能力は、利用者には、多くの場合、無制限に見え、任意の量をいつでも購入できる。

0026

測定されるサービス:クラウド・システムは、計測機能を活用することによって、サービスの種類に適した抽象レベル(例えば、ストレージ、処理、帯域幅、およびアクティブなユーザのアカウント)で、リソースの使用を自動的に制御および最適化する。リソースの使用量に対して、監視、制御、またはレポート、あるいはこれらの組合せが実行され、利用されるサービスのプロバイダと利用者の両方に透明性を提供する。

0027

サービス・モデルは、次のとおりである。

0028

SaaS(Software as a Service):利用者に提供される能力は、クラウド・インフラストラクチャ上で稼働しているプロバイダのアプリケーションの利用である。それらのアプリケーションは、Webブラウザ(例えば、Webベース電子メール)などのシン・クライアント・インターフェイスを介して、さまざまなクライアント・デバイスからアクセスできる。利用者は、ネットワーク、サーバ、オペレーティング・システム、ストレージ、または個々のアプリケーション機能を含む基盤になるクラウド・インフラストラクチャを、限定的なユーザ固有アプリケーション構成設定を行う可能性を除き、管理することも制御することもない。

0029

PaaS(Platform as a Service):利用者に提供される能力は、プロバイダによってサポートされるプログラミング言語およびツールを使用して作成された、利用者によって作成または取得されたアプリケーションをクラウド・インフラストラクチャに配置することである。利用者は、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む基盤になるクラウド・インフラストラクチャを管理することも制御することもないが、配置されたアプリケーション、および場合によってはアプリケーション・ホスティング環境の構成を制御することができる。

0030

IaaS(Infrastructure as a Service):利用者に提供される能力は、処理、ストレージ、ネットワーク、およびその他の基本的な計算リソースのプロビジョニングであり、利用者は、一部の実施形態において、オペレーティング・システムまたはアプリケーションあるいはその両方を含む任意のソフトウェアを配置して実行できる。利用者は、基盤になるクラウド・インフラストラクチャを管理することも制御することもないが、オペレーティング・システム、ストレージ、および配置されたアプリケーションを制御することができ、場合によっては、選択されたネットワーク・コンポーネント(例えば、ホスト・ファイアウォール)を限定的に制御できる。

0031

配置モデルは、次のとおりである。

0032

プライベート・クラウド:このクラウド・インフラストラクチャは、組織のためにのみ運用される。これは、組織またはサードパーティによって管理され、構内または構外に存在する。

0033

コミュニティ・クラウド:このクラウド・インフラストラクチャは、複数の組織によって共有され、関心事(例えば、任務セキュリティ要件、ポリシー、適合性に関する考慮事項)を共有している特定のコミュニティをサポートする。これは、組織またはサード・パーティによって管理され、構内または構外に存在する。

0034

パブリック・クラウド:このクラウド・インフラストラクチャは、一般ユーザまたは大規模な業界団体が使用できるようになっており、クラウド・サービスを販売する組織によって所有される。

0035

ハイブリッド・クラウド:このクラウド・インフラストラクチャは、データとアプリケーションの移植を可能にする標準化された技術または独自の技術(例えば、クラウド間負荷平衡させるためのクラウド・バースト)によって固有実体を残したまま互いに結合された2つ以上のクラウド(プライベート、コミュニティ、またはパブリック)の複合である。

0036

クラウド・コンピューティング環境は、ステートレス疎結合モジュール性、および意味的相互運用性重点を置いたサービス指向の環境である。クラウド・コンピューティングの中心になるのは、相互接続されたノードのネットワークを備えるインフラストラクチャである。

0037

ここで図1を参照すると、クラウド・コンピューティング・ノードの例の概略図が示されている。クラウド・コンピューティング・ノード10は、適切なクラウド・コンピューティング・ノードの一例に過ぎず、本明細書に記載された本発明の実施形態の使用または機能の範囲に関して、いかなる限定も示唆することを意図されていない。いずれにせよ、クラウド・コンピューティング・ノード10は、前述した任意の機能を実装すること、または実行すること、あるいはその両方を行うことができる。

0038

クラウド・コンピューティング・ノード10内には、他の多数の汎用または専用のコンピューティング・システム環境または構成で運用できるコンピュータ・システム/サーバ12が存在する。コンピュータ・システム/サーバ12での使用に適した既知のコンピューティング・システム、環境、または構成、あるいはその組合せの例は、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、ハンドヘルドまたはラップトップ・デバイス、マイクロプロセッサ・システム、マイクロプロセッサベース・システム、セット・トップボックス、プログラマブル・コンシューマエレクトロニクス、ネットワークPC、マイクロコンピュータ・システム、メインフレーム・コンピュータ・システム、およびこれらの任意のシステムまたはデバイスを含む分散クラウド・コンピューティング環境などを含むが、これらに限定されない。

0039

コンピュータ・システム/サーバ12は、コンピュータ・システムによって実行されているプログラム・モジュールなどの、コンピュータ・システムによって実行可能な命令の一般的なコンテキストで説明することができる。通常、プログラム・モジュールは、特定のタスクを実行する、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造などを含む。コンピュータ・システム/サーバ12は、本発明の一部の実施形態に従って、通信ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される、分散クラウド・コンピューティング環境内で実行される。分散クラウド・コンピューティング環境において、プログラム・モジュールは、ローカルおよびリモートの両方のコンピュータ・システムの、メモリ・ストレージ・デバイスを含む記憶媒体に配置できる。

0040

図1に示すように、クラウド・コンピューティング・ノード10内のコンピュータ・システム/サーバ12は、汎用コンピューティング・デバイスの形態で示されている。コンピュータ・システム/サーバ12のコンポーネントは、1つまたは複数のプロセッサまたはプロセッシングユニット16、システム・メモリ28、およびシステム・メモリ28を含むさまざまなシステム・コンポーネントをプロセッサ16に結合するバス18を含むが、これらに限定されない。

0041

バス18は、メモリ・バスまたはメモリ・コントローラペリフェラル・バス、アクセラレーテッドグラフィックスポート、および任意のさまざまなバス・アーキテクチャを使用するプロセッサまたはローカル・バスを含む、1つまたは複数の任意の種類のバス構造を表す。例として、そのようなアーキテクチャは、ISA(Industry Standard Architecture)バス、MCA(Micro Channel Architecture)バス、EISA(EnhancedISA)バス、VESA(Video Electronics StandardsAssociation)ローカル・バス、PCI(Peripheral Component Interconnect)バスを含むが、これらに限定されない。

0042

コンピュータ・システム/サーバ12は、通常、さまざまなコンピュータ・システム可読媒体を含む。そのような媒体は、コンピュータ・システム/サーバ12によってアクセスできる任意の使用可能な媒体にすることができ、揮発性および不揮発性媒体、取り外し可能および取り外し不可の媒体の両方を含む。

0043

システム・メモリ28は、ランダム・アクセス・メモリ(RAM)30またはキャッシュ・メモリ32あるいはその両方などの、揮発性メモリの形態のコンピュータ・システム可読媒体を含む。コンピュータ・システム/サーバ12は、一部の実施形態において、その他の取り外し可能/取り外し不可、揮発性/不揮発性のコンピュータ・システム記憶媒体をさらに含む。例として、取り外し不可、不揮発性の磁気媒体(図示されておらず、通常は「ハード・ドライブ」と呼ばれる)に対する読み取りと書き込みを行うために、ストレージ・システム34が提供される。さらに例として、図示されていないが、取り外し可能、不揮発性の磁気ディスク(例えば、「フロッピー(R)・ディスク」)に対する読み取りと書き込みを行うための磁気ディスク・ドライブ、およびCD−ROM、DVD−ROM、またはその他の光媒体などの取り外し可能、不揮発性の光ディスクに対する読み取りと書き込みを行うための光ディスク・ドライブが提供される。そのような例では、それぞれを、1つまたは複数のデータ媒体インターフェイスによってバス18に接続することができる。下でさらに示され、説明されるように、メモリ28は、一部の実施形態において、本発明の実施形態の機能を実行するように構成されるプログラム・モジュールの(例えば、少なくとも1つの)セットを備える少なくとも1つのプログラム製品を含む。

0044

プログラム・モジュール42の(少なくとも1つの)セットを含んでいるプログラム/ユーティリティ40は、以下のものに限定されないが、オペレーティング・システム、1つまたは複数のアプリケーション・プログラム、その他のプログラム・モジュール、およびプログラム・データとともに、例えば、メモリ28に記憶される。オペレーティング・システム、1つまたは複数のアプリケーション・プログラム、その他のプログラム・モジュール、およびプログラム・データまたはこれらの組合せは、それぞれネットワーク環境の実装を含むことができる。プログラム・モジュール42は、通常、本明細書に記載された本発明の実施形態の機能または方法あるいはその両方を実行する。

0045

また、コンピュータ・システム/サーバ12は、本発明の一部の実施形態に従って、キーボードポインティング・デバイス、ディスプレイ24などの1つまたは複数の外部デバイス14、ユーザがコンピュータ・システム/サーバ12と情報をやりとりできるようにする1つまたは複数のデバイス、またはコンピュータ・システム/サーバ12が1つまたは複数の他のコンピューティング・デバイスと通信できるようにする任意のデバイス(例えば、ネットワーク・カード、モデムなど)、あるいはその組合せと通信する。そのような通信は、一部の実施形態において、入力/出力(I/O:Input/Output)インターフェイス22を介して発生する。さらに、コンピュータ・システム/サーバ12は、一部の実施形態において、ローカル・エリア・ネットワーク(LAN:Local Area Network)、一般的な広域ネットワーク(WAN:WideArea Network)、またはパブリック・ネットワーク(例えば、インターネット)あるいはその組合せなどの1つまたは複数のネットワークと、ネットワーク・アダプタ20を介して通信する。図示されているように、ネットワーク・アダプタ20は、バス18を介してコンピュータ・システム/サーバ12の他のコンポーネントと通信する。図示されていないが、その他のハードウェア・コンポーネントまたはソフトウェア・コンポーネントあるいはその両方を、コンピュータ・システム/サーバ12と併用できると理解されるべきである。その例は、マイクロコード、デバイス・ドライバ冗長プロセッシング・ユニット、外部ディスク・ドライブ・アレイ、RAIDシステム、テープ・ドライブ、およびデータ・アーカイブ・ストレージ・システムなどを含むが、これらに限定されない。

0046

ここで図2を参照すると、例示のクラウド・コンピューティング環境50が示されている。図示されているように、クラウド・コンピューティング環境50は、クラウドの利用者によって使用されるローカル・コンピューティング・デバイス(例えば、PDA(Personal Digital Assistant)または携帯電話54A、デスクトップ・コンピュータ54B、ラップトップ・コンピュータ54C、または自動車コンピュータ・システム54N、あるいはその組合せ)が通信できる1つまたは複数のクラウド・コンピューティング・ノード10を備える。ノード10は、互いに通信することができる。ノード10は、前述したプライベート・クラウド、コミュニティ・クラウド、パブリック・クラウド、またはハイブリッド・クラウド、あるいはそれらの組合せなど、1つまたは複数のネットワーク内で物理的または仮想的にグループ化される(図示せず)。これによって、クラウド・コンピューティング環境50は、クラウドの利用者がローカル・コンピューティング・デバイス上でリソースを維持する必要のないサービスとしてインフラストラクチャ、プラットフォーム、またはソフトウェア、あるいはその組合せを提供できる。図2に示されたコンピューティング・デバイス54A〜Nの種類は、例示のみが意図されており、コンピューティング・ノード10およびクラウド・コンピューティング環境50は、任意の種類のネットワークまたはネットワーク・アドレス指定可能な接続(例えば、Webブラウザを使用した接続)あるいはその両方を経由して任意の種類のコンピュータ制御デバイスと通信すると理解される。

0047

ここで図3を参照すると、クラウド・コンピューティング環境50(図2)によって提供される機能的抽象レイヤのセットが示されている。図3に示されたコンポーネント、レイヤ、および機能は、例示のみが意図されており、本発明の実施形態がこれらに限定されないということが、あらかじめ理解されるべきである。図示されているように、次のレイヤおよび対応する機能が提供される。

0048

ハードウェアおよびソフトウェア・レイヤ60は、ハードウェア・コンポーネントおよびソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例は、メインフレーム(一例を挙げると、IBM(R) zSeries(R)システム)、RISC(Reduced Instruction Set Computer)アーキテクチャ・ベース・サーバ(一例を挙げると、IBM pSeries(R)システム)、IBM xSeries(R)システム、IBM BladeCenter(R)システム、ストレージ・デバイス60a、ネットワークおよびネットワーク・コンポーネントを含む。ソフトウェア・コンポーネントの例は、ネットワーク・アプリケーション・サーバ・ソフトウェア(一例を挙げると、IBM WebSphere(R)アプリケーション・サーバ・ソフトウェア)、およびデータベース・ソフトウェア(一例を挙げると、IBM DB2(R)データベース・ソフトウェア)を含む。(IBM、zSeries、pSeries、xSeries、BladeCenter、WebSphere、およびDB2は、世界中の多くの管轄区域登録されているInternational Business Machines Corporationの商標である。)

0049

仮想化レイヤ62は抽象レイヤを提供し、この抽象レイヤから、例えば次のような仮想実体が提供される。仮想サーバ仮想ストレージ仮想プライベート・ネットワークを含む仮想ネットワーク仮想アプリケーションおよびオペレーティング・システム、ならびに仮想クライアント

0050

一例を挙げると、管理レイヤ64は、以下で説明する機能を提供する。リソース・プロビジョニングは、クラウド・コンピューティング環境内でタスクを実行するために利用される計算リソースおよびその他のリソースの動的調達を行う。計測および価格設定は、クラウド・コンピューティング環境内でリソースが利用された際のコスト追跡、およびそれらのリソースの利用に対する請求書の作成と送付を行う。一例を挙げると、それらのリソースは、アプリケーション・ソフトウェア・ライセンスを含む。セキュリティ(図示せず)は、クラウドの利用者およびタスクの同一性検証を行うとともに、データおよびその他のリソースの保護を行う。ユーザ・ポータルは、クラウド・コンピューティング環境へのアクセスを利用者およびシステム管理者に提供する。サービス・レベル管理は、必要なサービス・レベルを満たすように、クラウドの計算リソースの割り当てと管理を行う。サービス水準合意(SLA:Service Level Agreement)計画および実行は、今後の要求が予想されるクラウドの計算リソースの事前準備および調達を、SLAに従って行う。

0051

ワークロード・レイヤ66は、クラウド・コンピューティング環境で利用される機能の例を示している。このレイヤから提供されるワークロードおよび機能の例は、マッピングおよびナビゲーションソフトウェア開発およびライフサイクル管理、仮想クラスルー教育の配信、データ分析処理トランザクション処理、および、この「発明を実施するための形態」セクションの以下のサブセクションで詳細に説明されるように、本発明に従う機能(機能ブロック66aを参照)を含む。

0052

本明細書に記載されたプログラムは、アプリケーションに基づいて識別され、本発明の特定の実施形態において、そのアプリケーション関してプログラムが実装される。ただし、本明細書における特定のプログラムの名前は単に便宜上使用されていると理解されるべきであり、したがって、本発明は、そのような名前によって識別された、または暗示された、あるいはその両方によって示された特定のアプリケーションのみで使用するように限定されるべきではない。

0053

本発明のさまざまな実施形態の説明は、例示の目的で提示されているが、網羅的であることは意図されておらず、開示された実施形態に限定されない。本発明の範囲および思想を逸脱することなく多くの変更および変形が可能であることは、当業者にとって明らかである。本明細書で使用された用語は、実施形態の原理、実際のアプリケーション、または市場で見られる技術を超える技術的改良を最も適切に説明するため、または他の当業者が本明細書で開示された実施形態を理解できるようにするため選択されている。

0054

図4は、本発明に従う方法を表すフローチャート400を示している。図5は、フローチャート400の方法の各ステップの少なくとも一部を実行するためのプログラム500を示している。以降では、図4(方法のステップのブロックに関する)および図5(ソフトウェア・ブロックに関する)を詳細に参照して、この方法および関連するソフトウェアについて説明する。図5に示されているように、プログラム500が記憶される物理的位置の一例は、ストレージ・ブロック60a内である(図3を参照)。

0055

処理はステップS402から開始され、ステップS402では、リソース・モジュール(「mod」)502がリソースを、ソフトウェアによって定義された環境内で処理されるワークロードのセキュリティ・コンテナに割り当てる。セキュリティ・コンテナは、自己記述コンテナである。自己記述コンテナの特徴については、この「発明を実施するための形態」の「その他のコメント」サブセクションまたは「実施形態」サブセクションあるいはその両方において、下で詳細に説明されている。セキュリティ・コンテナは、複数のサブコンテナで構成されており、各サブコンテナは、ワークロード、環境、またはインフラストラクチャ、あるいはこれらの組合せの分割可能な部分を表している。この説明を要約すると、セキュリティ・コンテナの例は、指定されたワークロードを完了するために選択されたさまざまなリソースを識別することによって、きめの細かいエンド・ツー・エンドのセキュリティを提供する。これらのリソースは、本明細書ではセキュリティ・コンテナ「内」に存在する「コンテンツ」と呼ばれる。リソースは、(i)計算抽象化、(ii)ストレージ抽象化、(iii)ネットワーク抽象化、または(iv)ユーザ、あるいはこれらの組合せを含む。このようにして、エンド・ツー・エンドのランタイム環境の全体が、ソフトウェアによって定義されたセキュリティ・コンテナによって捉えられる。この例では、ランタイム環境ごとにセキュリティ・コンテナが確立され、ランタイム環境は、特定のワークロードに対応する抽象化されたインフラストラクチャおよびユーザを含む。

0056

処理はステップS404に進み、ステップS404では、セキュリティ基準mod504が指定されたワークロードのセキュリティ基準を決定する。各セキュリティ・コンテナは、セキュリティ基準のセットに関連付けられる。例えば、ポリシーの仕様、監視、および実施は、指定されたワークロードおよび対応するセキュリティ・コンテナに従って決定される。本発明の一部の実施形態では、サービス水準合意がセキュリティ基準において考慮される。セキュリティ基準の詳細な説明は、(i)コンテナ固有のポリシーの仕様、(ii)多面的な完全性の監視、および(iii)きめの細かい分離管理に関して、下で説明される。

0057

処理はステップS406に進み、ステップS406では、モニタmod506が、セキュリティ・イベントについて、セキュリティ・コンテナに割り当てられたリソースおよびワークロードを監視する。セキュリティ・イベントは、観察対象挙動からの逸脱として事前に決定される、または認識される、あるいはその両方が行われる。セキュリティ・インテリジェンスは、(i)深部探索(deep introspection)、(ii)条件に基づく監視、(iii)指定されたユーザに関する挙動モデル、(iv)指定されたプロセスに関する挙動モデル、(v)指定されたワークロードに関する挙動モデル、または(vi)指定されたインフラストラクチャに関する挙動モデル、あるいはこれらの組合せを含むが、これらに限定されない、さまざまな手法に基づく。このステップでは、セキュリティ・イベントの監視は、識別されたセキュリティ・イベントの追跡またはレポートあるいはその両方を含む。次のステップで説明されるように、各セキュリティ・イベントは、独自の応答アクションを引き起こすことができる。この例では、セキュリティ・イベントは、(i)信頼性、(ii)可用性、(iii)有用性、(iv)回復力、または(v)脆弱性、あるいはこれらの組合せに関連付けられる。

0058

処理はステップS408で終了し、ステップS408では、セキュリティ・メカニズムmod508が、識別されたセキュリティ・イベントに従ってセキュリティ・メカニズムを管理する。セキュリティ・メカニズムは、(i)隔離アクション(例えば、分離)、(ii)移行アクション(例えば、ワークロードの再生)、または(iii)アクティブな監視アクション、あるいはこれらの組合せを含むが、これらに限定されない。以下では、セキュリティ・メカニズムについて詳細に説明する。

0059

本発明の一部の実施形態は、現在の技術に対して改善を行うために、次の要因、潜在的な問題、または潜在的領域、あるいはこれらの組合せを認識する。(i)ソフトウェアによって定義された環境(SDE)における実質的な仮想化により、マシンまたはネットワークあるいはその両方の同一性が信頼できないこと、(ii)専用または仮想あるいはその両方の機器(例えば、ファイアウォール、アクセラレータDPI、IDS/IPS、DLP負荷平衡装置、およびゲートウェイ)の使用により、情報技術(IT:information technology)におけるマシンまたはネットワークあるいはその両方の同一性の重要性が低下すること、(iii)SDEのアジティにより、プログラム可能な計算リソース、ストレージ・リソース、またはネットワーク・ストレージ、あるいはこれらの組合せの立ち上げが迅速に達成されること、(iv)SDEのアジリティにより、プログラム可能な計算リソース、ストレージ・リソース、またはネットワーク・ストレージ、あるいはこれらの組合せの解体が迅速に達成されること、(v)SDEの迅速な立ち上げおよび解体が、セキュリティ・ポリシーと基盤になるハードウェア環境およびソフトウェア環境との間の長期間の関連性から離れること、(vi)SDE環境が適切に実装され、ユーザ、ワークロード、またはソフトウェアによって定義されたインフラストラクチャ(SDI:Software-Defined Infrastructure)、あるいはこれらの組合せを対象にするセキュリティ・ポリシーが迅速に確立されて継続的に進化すること、(vii)SDEのリソースの異質性の増大、リソースが能力に関して抽象化されること、(viii)SDEのリソースの異質性の増大、リソースが容量に関して抽象化されること、または(ix)複数の種類のリソースにまたがるリソースの能力の標準化が、リソースのさまざまな非機能的側面における違い(停電に対する脆弱性およびセキュリティ・リスクなど)を隠すことができること、あるいはこれらの組合せ

0060

SDEセキュリティ・フレームワークの一部の実施形態は、(i)コンテキストを認識したポリシーに基づく分離、および人、プロセス、またはデータあるいはこれらの組合せの完全性の概念を拡大する自己記述的なきめの細かいコンテナに基づくセキュリティ・モデル、(ii)共通のワークロードおよびリソースの抽象化に対するコンテナ固有のポリシーの仕様、監視、実施、(iii)深部探索、条件に基づく監視、人、プロセス、ワークロード、およびインフラストラクチャの挙動モデルなどの手法に基づくセキュリティ監視インテリジェンス、(iv)セキュリティを最適化してセキュリティ・メカニズム(例えば、新しい脆弱性の公開に応じた仮想パッチ、ネットワーク・セキュリティの再構成)を動的に挿入および削除するための、コンテキストおよびリスクを認識した積極的なオーケストレーション(自動化)メカニズム、または(v)セキュリティの監視、分析およびオーケストレーションの実行が、同じソフトウェアによって定義された環境内で開発、配置、および運用され、したがって、同じ共通のワークロードおよびリソースの抽象化を活用すること、あるいはこれらの組合せを含む。

0061

本発明の一部の実施形態は、SDE内の要素の完全性または機密性あるいはその両方を維持する。本発明のさまざまな実施形態によって維持されるさまざまな種類の完全性が存在し、それらは、(i)最下部から最上部までのインフラストラクチャの完全性、(ii)インフラストラクチャのアクセスの完全性(送信中のデータなど)、(iii)データ・アクセスの完全性(保存されたデータなど)、(iv)人の完全性(例えば、連携した同一性管理)、または(v)ワークロードの完全性(静的および動的の両方)、あるいはこれらの組合せを含む。インフラストラクチャの完全性は、ハードウェア、ハイパーバイザ、オペレーティング・システム、またはクラウド管理、あるいはこれらの組合せを含むインフラストラクチャ・スタック改ざんされないことを保証することを期待する。アクセスの完全性とは、アクセス制御のことであり、例えば、強制アクセス制御(MAC)および役割ベース・アクセス制御(RBAC)によって提供される。また、法規制順守およびデータ暗号化は、アクセス制御の一部である。静的ワークロードの完全性は、物理的分離、仮想的分離、ファイアウォールによる分離、および暗号による分離によって確立されたセキュリティ・グループまたはセキュリティ・ゾーンあるいはその両方に関連する。動的ワークロードの完全性は、例えばミドルボックスの挿入に関連する。

0062

SDEで利用できるさまざまな種類の機密性も存在し、それらは、(i)VM分離(例えば、しばしば同じハイパーバイザを共有する異なるアドレス空間によって生じた分離)、(ii)ネットワーク分離(例えば、異なるVLANによって生じた分離)、(iii)物理的分離(例えば、エア・ギャップ(領域および利用可能なゾーンなど)によって生じた分離)、または(iv)(iTVDc(integrated trusted virtual data center)に配置されるような)暗号による分離(例えば、異なる暗号鍵によって生じた分離)、あるいはこれらの組合せを含む。

0063

SDEの保守は、周期的なワークロードの再生を提供することも含む。ワークロードの再生は、攻撃の可能性が特定のレベルに増大したときに、多くの場合は事前に決定された周期的サイクルで発生する。特定のレベルのリスクに応じて、既知の汚染されていないソースからイメージ再構築される。

0064

図6は、セキュリティ・システム600のさまざまな部分を示す機能ブロック図であり、ソフトウェアによって定義されたセキュリティ・オーケストレーション602、モニタ・モジュール(「mod」)604、作動/修正mod606、ソフトウェアによって定義された環境608、セキュリティ・インテリジェンス・プラットフォーム610、リソース抽象化620、計算リソース(例えば、Power VM、x86 KVM、ハイ・メモリBWノード、シングル・スレッド高性能ノード(high single thread performance nodes)、ハイ・スレッド・カウント・ノード(high thread count nodes)、およびマイクロサーバ・ノード)622、計算抽象化623、624、625、626、計算コンテナ621、ネットワーク・リソース(例えば、RDMAイーサネット(R))628、ネットワーク抽象化629、630、631、ネットワーク・コンテナ627、ストレージ・リソース(例えば、SSD、HDD、テープ、ファイル、およびブロック・ストレージ)632、ストレージ抽象化633、634、635、636、およびストレージ・コンテナ637を含んでいる。

0065

この例では、計算622、ストレージ632、およびネットワーク628のリソース抽象化620は、それぞれ能力と容量の両方を捉えている。また、リソースがどのように相互接続されるかというトポロジーが、抽象化において捉えられる。機能と非機能の両方の側面が含まれるということに注意する必要がある。各側面は、(i)信頼性、(ii)可用性、(iii)有用性、(iv)回復力、および(v)脆弱性を含む。さらに、ワークロードの抽象化は、(i)さまざまなワークロード・コンポーネント、(ii)機能的要件、(iii)非機能的要件、および(iv)コンテキスト情報相互依存性を捉える。機能的要件または非機能的要件あるいはその両方は、回復力、セキュリティ、および適合性を含む。

0066

サブコンテナ621、627、および637はそれぞれ、コンテキストを認識するポリシーに従って単一のエンド・ツー・エンド・コンテナ(end-to-end container)(図示せず)を構成する自己記述コンテナである。多くの自己記述コンテナの集合として示されているソフトウェアによって定義された環境608内のランタイムは、仮想マシン・コンテナ、ベアメタル・コンテナ、またはハイパーバイザ/OS固有のコンテナ、あるいはこれらの組合せを含む。この例では、エンド・ツー・エンド・コンテナは、3つのリソース抽象化(計算621、ネットワーク627、およびストレージ637)を含んでいる。このようにして、エンド・ツー・エンド・ランタイム環境の全体が、コンテナによって捉えられる。あるいは、3つのリソースの一部のサブセットが、エンド・ツー・エンド・コンテナにおいて考慮される。

0067

各「ソフトウェアによって定義された」エンド・ツー・エンド・コンテナは、SDEの残りの部分に対する分離メカニズムを備える。ソフトウェアによって定義された計算サブコンテナ621は、例えば、サブコンテナがVMである場合は、ハイパーバイザによって分離される。その他のコンテナ構造は、(i)Java(R)コンテナ(メモリ空間を分けることによって分離される)、(ii)SOAコンテナ、(iii)Oracle/Sun Solarisコンテナ(Solaris OS上のゾーンによって分離される)、(iv)Google chrome/chromium環境内のコンテナ、および(v)新たに出現したDockerコンテナを含む。データおよびソフトウェアによって定義された記憶領域内の分離は、パーティショニングおよび暗号化によって実現される。ソフトウェアによって定義されたネットワーク内の分離は、例えばOpenFlow環境内の「フロー」の別々の定義によって実現される。(注意:「Java(R)」、「Oracle」、「Sun」、「Solaris」、「Google」、「OpenFlow」、または「Docker」という用語、あるいはこれらの組合せは、世界中のさまざまな管轄区域において商標権の対象になる可能性があり、本明細書では、そのような商標権が存在する可能性がある限り、それらの商標によって正しく示された製品またはサービスへの参照においてのみ使用される。)

0068

自己記述コンテナは、コンテナ内の「コンテンツ」に関連するメタデータを含む。例えばメタデータは、コンテナ内に何があるか、コンテナが何を実行するか、コンテナに関連するセキュリティ、またはコンテナに関連する適合性ポリシー、あるいはこれらの組合せを説明する。エンド・ツー・エンド・コンテナの自己記述的側面は、コンテナの移植性に役立つ。移植性は、コンテナが時々、一次的停止、再開、または移行、あるいはこれらの組合せの対象になる場合に、重要になる。この例では、メタデータ自体のデータ・モデルは、メタデータがどの場所でも正しく理解または解釈され、あるいはその両方が行われるように、自己記述的になっている。

0069

本発明の一部の実施形態は、(i)共通のオントロジーレジストリ(ontologyregistry)を共有すること、または(ii)(a)手動の関連付けもしく(b)自動的/自律的学習による実行時のオントロジー間のマッピングを解決すること、あるいはその両方によって、SDE内の意味的相互運用性を実現する。

0070

図7は、ソフトウェアによって定義されたセキュリティ・オーケストレーション602およびSDE608内のコンテナベースのツールをさらに示す機能ブロック図である。セキュリティ・オーケストレーション602は、早期警告および遠距離場検出エンジン(far field detection and early warning engine)702、モデリング・モジュール704、保証エンジン706、およびオーケストレーション・エンジン708を含むようにさらに示されている。コンテナベースのツールは、深部探索プローブ710a、710b、710c、高速ワークロード移行モジュール712a、712b、712c、ならびに分離および隔離モジュール714a、714b、714cを含んでいる。

0071

図6および7に示されているように、ポリシーの仕様、ポリシーの監視、およびポリシーの実施は、それぞれコンテナベースである。つまり、ワークロード、インフラストラクチャ、および人のセキュリティ・ポリシーおよび適合性ポリシーは、コンテナごとに管理される。この例では、これらのポリシーの実施は次の3つのコンポーネントを含み、これらの各コンポーネントは、ソフトウェアによって定義された環境内のあらゆるコンテナにそれぞれ関連付けられる。(i)コンテナ固有のポリシーの仕様、(ii)モニタmod604による多面的な完全性の監視、および(iii)作動/修正mod606によるきめの細かい分離管理より具体的には、セキュリティ・ポリシーおよび適合性ポリシー(意味およびオントロジーを含む)は、仕様がソフトウェアによって定義された環境全体で完全に移植可能になるように、自己記述的方法でコンテナごとに指定される。各コンテナの完全性は、ワークロード、インフラストラクチャ、および人という「面」に関して継続的に監視される。深部探索プローブ710a、710b、および710cとして示されたソフトウェアによって定義された「プローブ」は、ワークロードおよびソフトウェアによって定義されたインフラストラクチャ・コンポーネントの深部探索を実施するために使用される。最後に、分離および隔離モジュール714a、714b、および714cによるきめの細かい分離管理は、計算リソース、データ/ストレージ・リソース、またはネットワーク・リソース、あるいはこれらの組合せを含む、コンテナごとのエンド・ツー・エンドの分離を保証する。

0072

この例では、監視結果からの出力は、下で詳細に説明される、早期警告および遠距離場検出エンジン702に供給される。一部の実施形態では、これらの結果は、ポリシーの仕様からの逸脱の可能性を識別するために、ポリシーの仕様と継続的に比較される。保証エンジン706の出力は、可能性のある予防策または耐久手段あるいはその両方のための継続的かつ積極的なオーケストレーションを提供する。

0073

一部の実施形態では、早期警告および遠距離場検出メカニズムは、(i)ワークロード、(ii)アプリケーション、(iii)インフラストラクチャ、または(iv)人、あるいはこれらの組合せのモデルを含む挙動モデルを使用して一緒に結合するデータ(stitching together data)に基づく。ワークロードの挙動は、次の指標のうちの1つまたは複数によって捉えられる。(i)インフラストラクチャの時空間占有範囲(spatio-temporal footprints)、(ii)リソース使用量の(時系列としての)時間的進行、(iii)特定のワークロード内のさまざまなコンポーネントのアクティブ化、および(iv)さまざまなサービスの起動ワークロードの挙動モデルは、(i)アプリケーションのトポロジー、(ii)データ・ソースへの接続性、または(iii)データ・シンクへの接続性、あるいはこれらの組合せを含む、SDEのコンテキストの側面の上に構築される。

0074

インフラストラクチャの挙動は、ソフトウェアによって定義されたシステムによって生じるイベントによって捉えられる。挙動モデルは、(i)有限状態マシン、(ii)ペトリネット、および(iii)その他の種類の表現を含む、さまざまな決定論的モデルまたは確率的モデルのうちの1つに基づく。インフラストラクチャの挙動モデルは、(i)物理的トポロジー、または(ii)物理的インフラストラクチャへのソフトウェアによって定義されたインフラストラクチャのマッピング、あるいはその両方を含む、SDEのコンテキストの側面の上に構築される。

0075

人(例えば、ユーザ、システム管理者、およびサイバー防御者(cyberdefender))の挙動は、(i)組織構造、(ii)ソーシャル・ネットワーク(組織内または組織外、あるいはその両方)、(iii)個人役割、および(iv)個人の責任などの、挙動のコンテキストの側面を含む。人の挙動モデルは、多くの場合、確率的関数(probabilistic function)になる。この例では、侵入の挙動モデルは、侵入が検出された後に、特定の環境内の侵入の今後の動向予測を容易にするように構築される。

0076

本発明の一部の実施形態は、次の目的で挙動モデルを使用する。(i)データの統合と連携、(ii)予測分析および条件に基づく監視、または(iii)仮定分析、あるいはこれらの組合せ挙動モデルの用途は、(i)複数のチャネルの生のイベント・データ(およびその他のデータ)を一緒に結合すること、(ii)ノイズ欠落データ、またはその他のデータの不確実性の問題に対処すること、および(iii)特定のワークロード、インフラストラクチャ、または人、あるいはこれらの組合せの将来の挙動が予測され、対応する実際のイベントと比較される、「条件に基づく監視」の一般的領域に関連する予測分析を含む。これによって、単純なしきい値またはその他のより影響を受けやすい従来手法を使用するよりも非常に早い段階での早期警告を提供する。仮定分析は、制御可能な変数のサブセットに対してアサートされた値を条件にして将来の経路を予測することによって、可能になる。仮定分析を適用することによって、最も良い推定結果につながる制御アクションが、先に進むために選択される。

0077

本発明の一部の実施形態は、リスクの高い挙動または実際の悪意のある挙動のいずれかがワークロード、インフラストラクチャ、または人、あるいはこれらの組合せにおいて観察されたと決定された場合に、積極的なオーケストレーションを起動する。オーケストレーション・エンジン708(図7)による積極的なオーケストレーションは、(i)隔離アクション、(ii)移行アクション、または(iii)アクティブな監視アクション、あるいはこれらの組合せを起動する。

0078

SDEは、さまざまなメカニズムを使用して複数の粒度で個々の環境を分離(または隔離)する機能を提供する。インフラストラクチャおよびワークロードに適用する隔離メカニズムは、(i)スタックのさまざまなレイヤでエンド・ツー・エンド・コンテナによって提供される分離メカニズム、(ii)ソフトウェアによって定義されたネットワークによって提供される分離メカニズム、および(iii)ソフトウェアによって定義されたストレージによって提供される分離メカニズムを含む。これらの分離メカニズムは、ポリシー、重複しないメモリ/ストレージ・アドレス空間(および共有メモリ空間コピーオンライト)による分離、および個々のドメイン内で異なる暗号鍵を強制することによる分離を含む。人に適用する分離メカニズムは、強制アクセス制御、役割ベース・アクセス制御、またはさまざまな種類のコンテンツ・リソースに対する権限管理メカニズム、あるいはこれらの組合せを含む。

0079

ワークロードを実行するための現在の環境が何らかの理由で脆弱になったと決定された場合、一部の実施形態では、ワークロードが移行される。しばしば移行は、入力/出力環境の残りの部分に対する妨害を最小限に抑えた上で、新しい物理的位置でのアプリケーション環境の再生(再構築)を必要とする。最後に、SDEは、(環境の残りの部分からのハニーポットの非常に良好な分離を提供するので)インフラストラクチャ内のハニーポットの設定を提供する。本発明の一部の実施形態は、外部および内部の両方からの侵入を誘って捕らえるようにハニーポットを動的に設定し、侵入の挙動の観察を改善する。

0080

セキュリティ・ポリシーおよびサービス水準合意(SLA)がソフトウェアによって定義されたインフラストラクチャおよび使用可能な統合された制御プレーンによって推進される使用事例を以下に示す。引き続き図7を参照すると、ワークロードに対応するセキュリティ・ポリシーおよびSLAは、早期警告および遠距離場検出エンジン702によって管理される。この例では、検出および警告エンジンが、(i)通知、(ii)SDEセキュリティ分析、(iii)ワークロード・セキュリティ・プロファイル監視(workload security profile monitoring)、および(iv)修正を含むタスクを処理する。検出および警告エンジンは保証エンジン706と通信し、ワークロード定義に従って、配置時間セキュリティ(deployment-time security)が提供される。さらに、オーケストレーション・エンジン708が、ランタイム・セキュリティ構成のために、保証エンジンならびに検出および警告エンジンから入力を受信する。ワークロードのセキュリティ・ポリシーおよびSLAは、例えば(i)重要ファイルの完全性の監視、(ii)重要ファイルのパッチ、(iii)コンピュータ・リソースの配置、(iv)コンピュータ・リソースの証明書、(v)管理されたスキャン、(vi)接続性、(vii)分離、(viii)負荷平衡、(ix)ファイル・レベルの機密性、および(x)オブジェクト・レベルの機密性を含む。

0081

ソフトウェアによって定義されたインフラストラクチャに対応するセキュリティ・ポリシーおよびSLAは、モニタ・モジュール604および作動/修正モジュール606によって処理され、計算リソース抽象化、ストレージ・リソース抽象化、およびネットワーク・リソース抽象化は、ダッシュボードから管理されるか、物理的ハードウェアのアプリケーション・プログラム・インターフェイス(API:application programming interface)を介して管理される。インフラストラクチャのセキュリティ・ポリシーおよびSLAは、例えば(i)ホストの完全性、(ii)セキュアな信頼性の高いブート、(iii)ハードウェア・セキュリティ・モジュール(HSM:hardware security module)の可用性、(iv)ネットワークの可用性、(v)ネットワークの機密性、(vi)ネットワーク・ロケーション、(vii)ストレージの機密性、(viii)ストレージ・アクセス制御、(ix)ストレージの暗号化、(x)セキュアなストレージ削除、(xi)セキュアなストレージ消去、(xii)ストレージの物理的破壊、(xiii)制御プレーンの完全性、および(xiv)マルチテナント機能を含む。

0082

動作中に、例えば、異常なトラフィックおよびアクションが検出された場合、ソフトウェアによって定義されたネットワークを使用して次のように修正される。ワークロードを定義し、インフラストラクチャ要件を識別した場合、監視活動中にURL(uniform resource locator)ブラックリストが参照される。悪意のあるURLへのネットワーク・アクセスの検出時に、作動/修正モジュール606が動作してネットワークを再構成し、それと同時に、影響を受ける仮想マシンからのトラフィックが条件付きでブロックされる。

0083

その他の使用事例および応答の例を次に示す。重要ファイル(例えば、Webサーバ)の完全性の違反が発生した場合、その違反が検出され、その後、警告またはブロックあるいはその両方が行われる。複数のサーバまたはワークロードあるいはその両方にまたがる重要ファイルの完全性の違反が発生した場合、その違反が検出され、その後、警告またはブロックあるいはその両方が行われる。複雑なワークロードの異常な(プロファイルの範囲外の)通信パターンの検出によって、挙動モデルで表された「望ましい状態」からの逸脱が得られる。複数のデータセンタにまたがるワークロードの配置によって、信頼仮定(trust assumptions)および対応する要件を表すリソース・モデルが得られる。最後に、本発明の一部の実施形態は、データ削除シナリオの構成可能な強度(configurable strength)を提供する。

0084

本発明の一部の実施形態は、次の機能、特徴、または長所、あるいはこれらの組合せのうちの1つまたは複数を含む。(i)インフラストラクチャ全体(計算、ストレージ、およびネットワーク)がプログラム可能である、ソフトウェアによって定義された環境(SDE)内のアプリケーション、データ、またはインフラストラクチャ、あるいはこれらの組合せのセキュリティを保証すること、(ii)ストレージまたはネットワークあるいはその両方の制御プレーンがデータ・プレーンから分離されているSDE内のアプリケーション、データ、またはインフラストラクチャ、あるいはこれらの組合せのセキュリティを保証すること、(iii)イベントの来歴(例えば、誰が何をいつ誰に対してどのようなコンテキストにおいて行ったか)を捉えるためのオーバヘッドの少ないアプローチを提供すること、または(iv)急速に変化する仮想トポロジー内の疑わしいイベントを識別するためのオーバヘッドの少ないアプローチを提供すること、あるいはこれらの組合せ

0085

本発明は、「本発明」という用語によって表された主題が、出願されたときの請求項によってカバーされる、または特許審査の後に最終的に発行される可能性のある請求項によってカバーされるということを、絶対的に示すものであると受け取られるべきではない。「本発明」という用語は、新規である可能性があると考えられている本明細書における開示に関する一般的な印象読者が得るのを助けるために使用されるが、「本発明」という用語によって示されているような、この理解は、関連する情報が作成されるため、および請求項が修正される可能性があるため、一時的かつ暫定的であり、特許審査の過程で変更される場合がある。

0086

実施形態は、上の「本発明」の定義を参照する。同様の注意が「実施形態」という用語に適用される。

0087

「および/または(and/or)」は、包含的ORである。例えば、A、B、「および/または」Cは、AまたはBまたはCのうちの少なくとも1つが真であり、適用可能であることを意味している。

0088

ユーザ/加入者は、(i)1人の人間、(ii)ユーザまたは加入者として機能するための十分な知性を持つ人工知能の実体、または(iii)関連するユーザまたは加入者のグループ、あるいはこれらの組合せを含むが、必ずしもこれらに限定されない。

0089

受信/提供/送信/入力/出力:特に明示的に規定されない限り、これらの単語は、(i)それらの物体および対象の間の関係に関する直接性の特定の程度、または(ii)それらの物体および対象の間に挿入された中間的なコンポーネント、アクション、もしくは物、またはこれらの組合せの不在、あるいはその両方を意味していると受け取られるべきではない。

0090

モジュール/サブモジュールは、ハードウェア、ファームウェア、またはソフトウェア、あるいはこれらの組合せの任意のセットであり、モジュールが次のいずれの状態であるかにかかわらず、何らかの種類の機能を実行するように動作する。(i)1つにまとまって局所的に近接している、(ii)広い領域にわたって分散している、(iii)大きい一群のソフトウェア・コード内で1つにまとまって近接している、(iv)一群のソフトウェア・コード内に存在する、(v)1つのストレージ・デバイス、メモリ、または媒体内に存在する、(vi)機械的に接続されている、(vii)電気的に接続されている、または(viii)データ通信において接続されている、あるいはこれらの組合せの状態にある。

0091

コンピュータは、大きいデータ処理能力またはマシン可読命令読み出し能力あるいはその両方を備えるデバイスであり、デスクトップ・コンピュータ、メインフレーム・コンピュータ、ラップトップ・コンピュータ、フィールドプログラマブル・ゲート・アレイ(FPGA)ベース・デバイス、スマートフォン、PDA(Personal Digital Assistant)、人体に装着または挿入されるコンピュータ、組み込みデバイス型コンピュータ、特定用途向け集積回路ASIC:application-specific integrated circuit)ベース・デバイスを含むが、これらに限定されない。

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ