(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-31
(45)【発行日】2023-11-09
(54)【発明の名称】ファイアウォールを通したコンプライアンス違反のサーバに向かう通信/そのようなサーバからの通信を一時停止する、コンピュータによって実施される方法、コンピュータ・システム、およびコンピュータ・プログラム
(51)【国際特許分類】
H04L 12/22 20060101AFI20231101BHJP
H04L 12/66 20060101ALI20231101BHJP
H04L 67/00 20220101ALI20231101BHJP
G06F 21/57 20130101ALI20231101BHJP
【FI】
H04L12/22
H04L12/66
H04L67/00
G06F21/57 370
(21)【出願番号】P 2019191960
(22)【出願日】2019-10-21
【審査請求日】2022-08-22
(32)【優先日】2018-10-30
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】521555742
【氏名又は名称】キンドリル・インク
【氏名又は名称原語表記】Kyndryl Inc.
【住所又は居所原語表記】One Vanderbilt Avenue,15th Floor,New York,New York 10017,USA
(74)【代理人】
【識別番号】110000420
【氏名又は名称】弁理士法人MIP
(72)【発明者】
【氏名】マイケル・ベンダー
(72)【発明者】
【氏名】ロンダ・エル・チルドレス
(72)【発明者】
【氏名】トッド アール・パーマー
(72)【発明者】
【氏名】エリオ エル・ピニュイロ エ モタ
【審査官】中川 幸洋
(56)【参考文献】
【文献】特開2006-066982(JP,A)
【文献】特開2005-107726(JP,A)
【文献】特開2016-129037(JP,A)
【文献】国際公開第2017/207314(WO,A1)
【文献】特表2019-520752(JP,A)
【文献】米国特許第09769208(US,B2)
【文献】米国特許出願公開第2017/0251013(US,A1)
【文献】特表2019-510304(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/22
H04L 12/66
H04L 67/00
G06F 21/57
(57)【特許請求の範囲】
【請求項1】
コンピュータによって実施される方法であって、
セキュリティ・コンプライアンスのためのコンプライアンス規則のセキュリティ保護されたコレクションを確立することであって、
ソフトウェア・パッケージのセキュリティ・リスクを識別し記述する電子セキュリティ・リスク情報にアクセスすること、
前記識別されたセキュリティ・リスクの各リスクにそれぞれのリスク・レベルを割り当てること、ならびに
コンプライアンス規則の前記セキュリティ保護されたコレクションを構築し記憶することであって、前記コンプライアンス規則のうちの少なくともいくつかは、前記ソフトウェア・パッケージ、および前記識別されたセキュリティ・リスクの割り当てられたリスク・レベルを示す、前記構築し記憶することを含む、前記確立することと、
環境の1つまたは複数のサーバの各サーバに関して、前記サーバにインストールされているそれぞれの1つまたは複数のソフトウェア・パッケージを確かめることと、
セキュリティ保護されたサーバと許容可能なリスクのリストを構築することであって、前記セキュリティ保護されたサーバと許容可能なリスクのリストは、前記環境の前記1つまたは複数のサーバのそれぞれ、および前記1つまたは複数のサーバの各サーバにインストールされている前記それぞれの1つまたは複数のソフトウェア・パッケージを示す、前記構築することと、
前記セキュリティ保護されたサーバと許容可能なリスクのリストに照らした前記コンプライアンス規則の比較に基づいて、前記1つまたは複数のサーバにリスク格付けを割り当てることと、
前記割り当てられたリスク格付けをセキュリティ保護されるように記憶することと、
前記1つまたは複数のサーバのうちの或るサーバである第2のサーバと通信している第1のサーバに関して、前記第2のサーバに関する前記割り当てられたリスク格付けを、前記第1のサーバに関して示される許容可能なリスク・レベルと比較することであって、前記許容可能なリスク・レベルは、前記第1のサーバが、ファイアウォールを通して前記第2のサーバと通信する際に許容するように構成されるリスクのレベルである、前記比較することと、
前記第2のサーバに関する前記割り当てられたリスク格付けが前記許容可能なリスク・レベルを超えると判定することに基づいて、前記コンプライアンス規則を執行すべく前記ファイアウォールに対して規則変更を実行することであって、前記規則変更は、前記ファイアウォールを通した前記第1のサーバと前記第2のサーバの間の通信をディセーブルにする、前記実行することと
を含む方法。
【請求項2】
前記セキュリティ保護されたサーバと許容可能なリスクのリストは、分散されたブロックチェーンを備える、請求項1に記載の方法。
【請求項3】
前記割り当てられたリスク格付けは、前記分散されたブロックチェーンの一部として記憶される、請求項2に記載の方法。
【請求項4】
前記規則変更は、前記ファイアウォールの1つまたは複数のファイアウォール規則を一時停止することを含む、請求項1に記載の方法。
【請求項5】
前記第2のサーバに関する前記割り当てられたリスク格付けの変更に基づいて、前記1つまたは複数のファイアウォール規則を元の状態に戻すことをさらに含む、請求項4に記載の方法。
【請求項6】
識別されたセキュリティ・リスクにリスク・レベルを前記割り当てることは、アクセスされた電子セキュリティ・リスク情報からの抽出された自然言語特徴に訓練されたクラシファイア・モデルを適用することを含み、前記適用することは、前記識別されたセキュリティ・リスクを分類し前記分類に基づいて前記リスク・レベルを割り当てる、請求項1に記載の方法。
【請求項7】
前記リスク・レベルは、少なくとも部分的に、前記セキュリティ・リスクのレポートの頻度、および前記レポートのソースに基づいて数量化される、請求項6に記載の方法。
【請求項8】
前記アクセスされる電子セキュリティ・リスク情報は、製品ベンダ・ウェブサイトおよびセキュリティ関連ウェブログからのセキュリティ・リスク情報を含む、請求項1に記載の方法。
【請求項9】
コンプライアンス規則の前記セキュリティ保護されたコレクションのうちの前記コンプライアンス規則のうちの1つまたは複数は、前記環境を管理する企業によって設定された前記環境に関する企業標準を含み、前記1つまたは複数のサーバのうちのサーバの割り当てられたリスク格付けは、前記サーバが前記環境に関する前記企業標準にコンプライアンス適合しているかどうかにさらに基づく、請求項1に記載の方法。
【請求項10】
前記規則変更は、識別されたセキュリティ・リスクが識別される、前記第2のサーバにインストールされているソフトウェア・パッケージに関連する、前記第1のサーバと前記第2のサーバとの間の通信をディセーブルにし、前記ソフトウェア・パッケージに関連しない、前記第1のサーバと前記第2のサーバとの間の他の通信は、イネーブルにされたままである、請求項1に記載の方法。
【請求項11】
コンピュータ・システムであって、
メモリと、
前記メモリと通信しているプロセッサとを備え、前記コンピュータ・システムは、方法を実行するように構成されており、前記方法は、
セキュリティ・コンプライアンスのためのコンプライアンス規則のセキュリティ保護されたコレクションを確立することであって、
ソフトウェア・パッケージのセキュリティ・リスクを識別し記述する電子セキュリティ・リスク情報にアクセスすること、
前記識別されたセキュリティ・リスクの各リスクにそれぞれのリスク・レベルを割り当てること、ならびに
コンプライアンス規則の前記セキュリティ保護されたコレクションを構築し記憶することであって、前記コンプライアンス規則のうちの少なくともいくつかは、前記ソフトウェア・パッケージ、および前記識別されたセキュリティ・リスクの割り当てられたリスク・レベルを示す、前記構築し記憶することを含む、前記確立することと、
環境の1つまたは複数のサーバの各サーバに関して、前記サーバにインストールされているそれぞれの1つまたは複数のソフトウェア・パッケージを確かめることと、
セキュリティ保護されたサーバと許容可能なリスクのリストを構築することであって、前記セキュリティ保護されたサーバと許容可能なリスクのリストは、前記環境の前記1つまたは複数のサーバのそれぞれ、および前記1つまたは複数のサーバの各サーバにインストールされている前記それぞれの1つまたは複数のソフトウェア・パッケージを示す、前記構築することと、
前記セキュリティ保護されたサーバと許容可能なリスクのリストに照らした前記コンプライアンス規則の比較に基づいて、前記1つまたは複数のサーバにリスク格付けを割り当てることと、
前記割り当てられたリスク格付けをセキュリティ保護されるように記憶することと、
前記1つまたは複数のサーバのうちの或るサーバである第2のサーバと通信している第1のサーバに関して、前記第2のサーバに関する前記割り当てられたリスク格付けを、前記第1のサーバに関して示される許容可能なリスク・レベルと比較することであって、前記許容可能なリスク・レベルは、前記第1のサーバが、ファイアウォールを通して前記第2のサーバと通信する際に許容するように構成されるリスクのレベルである、前記比較することと、
前記第2のサーバに関する前記割り当てられたリスク格付けが前記許容可能なリスク・レベルを超えると判定することに基づいて、前記コンプライアンス規則を執行すべく前記ファイアウォールに対して規則変更を実行することであって、前記規則変更は、前記ファイアウォールを通した前記第1のサーバと前記第2のサーバの間の通信をディセーブルにする、前記実行することと
を含む、コンピュータ・システム。
【請求項12】
前記セキュリティ保護されたサーバと許容可能なリスクのリストは、分散されたブロックチェーンを備える、請求項11に記載のコンピュータ・システム。
【請求項13】
前記規則変更は、前記ファイアウォールの1つまたは複数のファイアウォール規則を一時停止することを含む、請求項11に記載のコンピュータ・システム。
【請求項14】
識別されたセキュリティ・リスクにリスク・レベルを前記割り当てることは、アクセスされた電子セキュリティ・リスク情報からの抽出された自然言語特徴に訓練されたクラシファイア・モデルを適用することを含み、前記適用することは、前記識別されたセキュリティ・リスクを分類し前記分類に基づいてリスク・レベルを割り当てる、請求項11に記載のコンピュータ・システム。
【請求項15】
コンプライアンス規則の前記セキュリティ保護されたコレクションのうちの前記コンプライアンス規則のうちの1つまたは複数は、前記環境を管理する企業によって設定された前記環境に関する企業標準を含み、前記1つまたは複数のサーバのうちのサーバの割り当てられたリスク格付けは、前記サーバが前記環境に関する前記企業標準にコンプライアンス適合しているかどうかにさらに基づく、請求項11に記載のコンピュータ・システム。
【請求項16】
前記規則変更は、識別されたセキュリティ・リスクが識別される、前記第2のサーバにインストールされているソフトウェア・パッケージに関連する、前記第1のサーバと前記第2のサーバとの間の通信をディセーブルにし、前記ソフトウェア・パッケージに関連しない、前記第1のサーバと前記第2のサーバとの間の他の通信は、イネーブルにされたままである、請求項11に記載のコンピュータ・システム。
【請求項17】
請求項1~10の何れか1項に記載の方法の各ステップをコンピュータに実行させる、コンピュータ・プログラム。
【請求項18】
請求項17に記載のコンピュータ・プログラムをコンピュータ可読ストレージ媒体に記録した、コンピュータ可読ストレージ媒体。
【請求項19】
請求項1~10の何れか1項に記載の方法の各ステップをコンピュータ・ハードウェアによる手段として構成した、コンピュータ・システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ファイアウォールを通したコンプライアンス違反の(non-compliant)サーバに向かう通信/そのようなサーバからの通信の一時停止に関する。
【背景技術】
【0002】
企業およびその他のエンティティは、一般に、サーバが順守しなければならないコンプライアンス要件を確立する。これらの要件は、コンプライアンスの任意のポイント、例えば、ミドルウェア・バージョン管理、パスワード規則、データ暗号化、およびその他の規則と関係することが可能である。エンティティ・サーバ、またはエンティティ・サーバと通信している外部サーバがコンプライアンス違反である場合、エンティティのコンピューティング環境にリスクがもたらされる可能性がある。
【発明の概要】
【発明が解決しようとする課題】
【0003】
ファイアウォールを通したコンプライアンス違反のサーバに向かう通信/そのようなサーバからの通信の一時停止を行う方法、コンピュータ・システム、コンピュータ・プログラム、およびコンピュータ可読ストレージ媒体を提供する。
【課題を解決するための手段】
【0004】
方法は、セキュリティ・コンプライアンスに関するコンプライアンス規則のセキュリティ保護されたコレクションを確立する。確立することは、ソフトウェア・パッケージのセキュリティ・リスクを識別し記述する電子セキュリティ・リスク情報にアクセスすることを含むことが可能である。確立することは、識別されたセキュリティ・リスクの各リスクにそれぞれのリスク・レベルを割り当てることをさらに含む。さらに、確立することは、コンプライアンス規則のセキュリティ保護されたコレクションを構築し記憶することを含む。コンプライアンス規則のうちの少なくともいくつかは、ソフトウェア・パッケージ、および識別されたセキュリティ・リスクの割り当てられたリスク・レベルを示す。また、方法は、環境のサーバの各サーバに関して、そのサーバにインストールされているそれぞれのソフトウェア・パッケージを確かめることもする。方法は、セキュリティ保護されたサーバと許容可能なリスクのリストを構築する。セキュリティ保護されたサーバと許容可能なリスクのリストは、環境のサーバのそれぞれ、およびそのような各サーバにインストールされているそれぞれのソフトウェア・パッケージを示す。方法は、セキュリティ保護されたサーバと許容可能なリスクのリストに照らしたコンプライアンス規則の比較に基づいて、サーバにリスク格付けを割り当て、かつ割り当てられたリスク格付けをセキュリティ保護されるように記憶する。方法は、それらのサーバのうちの或るサーバである第2のサーバと通信している第1のサーバに関して、第2のサーバに関する割り当てられたリスク格付けを、第1のサーバに関して示される許容可能なリスク・レベルと比較する。許容可能なリスク・レベルは、第1のサーバが、ファイアウォールを通して第2のサーバと通信する際に許容するように構成されるリスクのレベルである。第2のサーバに関する割り当てられたリスク格付けが許容可能なリスク・レベルを超えると判定することに基づいて、方法は、コンプライアンス規則を執行すべくファイアウォールに対して規則変更を実行する。規則変更は、ファイアウォールを通した第1のサーバと第2のサーバの間の通信をディセーブルにする。
【0005】
さらに、メモリと、メモリと通信しているプロセッサとを含むコンピュータ・システムが提供され、コンピュータ・システムは、方法を実行するように構成される。方法は、セキュリティ・コンプライアンスに関するコンプライアンス規則のセキュリティ保護されたコレクションを確立する。確立することは、ソフトウェア・パッケージのセキュリティ・リスクを識別し記述する電子セキュリティ・リスク情報にアクセスすることを含むことが可能である。確立することは、識別されたセキュリティ・リスクの各リスクにそれぞれのリスク・レベルを割り当てることをさらに含む。さらに、確立することは、コンプライアンス規則のセキュリティ保護されたコレクションを構築し記憶することを含む。コンプライアンス規則のうちの少なくともいくつかは、ソフトウェア・パッケージ、および識別されたセキュリティ・リスクの割り当てられたリスク・レベルを示す。また、方法は、環境のサーバの各サーバに関して、そのサーバにインストールされているそれぞれのソフトウェア・パッケージを確かめることもする。方法は、セキュリティ保護されたサーバと許容可能なリスクのリストを構築する。セキュリティ保護されたサーバと許容可能なリスクのリストは、環境のサーバのそれぞれ、およびそのような各サーバにインストールされているそれぞれのソフトウェア・パッケージを示す。方法は、セキュリティ保護されたサーバと許容可能なリスクのリストに照らしたコンプライアンス規則の比較に基づいて、サーバにリスク格付けを割り当て、かつ割り当てられたリスク格付けをセキュリティ保護されるように記憶する。方法は、それらのサーバのうちの或るサーバである第2のサーバと通信している第1のサーバに関して、第2のサーバに関する割り当てられたリスク格付けを、第1のサーバに関して示される許容可能なリスク・レベルと比較する。許容可能なリスク・レベルは、第1のサーバが、ファイアウォールを通して第2のサーバと通信する際に許容するように構成されるリスクのレベルである。第2のサーバに関する割り当てられたリスク格付けが許容可能なリスク・レベルを超えると判定することに基づいて、方法は、コンプライアンス規則を執行すべくファイアウォールに対して規則変更を実行する。規則変更は、ファイアウォールを通した第1のサーバと第2のサーバの間の通信をディセーブルにする。
【0006】
さらに、処理回路によって読取り可能であり、かつ処理回路によって実行されるように命令を記憶するコンピュータ可読記憶媒体を含むコンピュータ・プログラム製品が、方法を実行するために提供される。方法は、セキュリティ・コンプライアンスに関するコンプライアンス規則のセキュリティ保護されたコレクションを確立する。確立することは、ソフトウェア・パッケージのセキュリティ・リスクを識別し記述する電子セキュリティ・リスク情報にアクセスすることを含むことが可能である。確立することは、識別されたセキュリティ・リスクの各リスクにそれぞれのリスク・レベルを割り当てることをさらに含む。さらに、確立することは、コンプライアンス規則のセキュリティ保護されたコレクションを構築し記憶することを含む。コンプライアンス規則のうちの少なくともいくつかは、ソフトウェア・パッケージ、および識別されたセキュリティ・リスクの割り当てられたリスク・レベルを示す。また、方法は、環境のサーバの各サーバに関して、そのサーバにインストールされているそれぞれのソフトウェア・パッケージを確かめることもする。方法は、セキュリティ保護されたサーバと許容可能なリスクのリストを構築する。セキュリティ保護されたサーバと許容可能なリスクのリストは、環境のサーバのそれぞれ、およびそのような各サーバにインストールされているそれぞれのソフトウェア・パッケージを示す。方法は、セキュリティ保護されたサーバと許容可能なリスクのリストに照らしたコンプライアンス規則の比較に基づいて、サーバにリスク格付けを割り当て、かつ割り当てられたリスク格付けをセキュリティ保護されるように記憶する。方法は、それらのサーバのうちの或るサーバである第2のサーバと通信している第1のサーバに関して、第2のサーバに関する割り当てられたリスク格付けを、第1のサーバに関して示される許容可能なリスク・レベルと比較する。許容可能なリスク・レベルは、第1のサーバが、ファイアウォールを通して第2のサーバと通信する際に許容するように構成されるリスクのレベルである。第2のサーバに関する割り当てられたリスク格付けが許容可能なリスク・レベルを超えると判定することに基づいて、方法は、コンプライアンス規則を執行すべくファイアウォールに対して規則変更を実行する。規則変更は、ファイアウォールを通した第1のサーバと第2のサーバの間の通信をディセーブルにする。
【0007】
さらなる特徴および利点が、本明細書において説明される概念を通じて実現される。
【0008】
本明細書において説明される態様は、本明細書の結論における特許請求の範囲における例として特に指摘され、かつ明確に主張される。本発明の前述の目的、特徴、および利点は、添付の図面と併せて解釈される後段の詳細な説明から明白となる。
【図面の簡単な説明】
【0009】
【
図1】本明細書において説明される態様による、ファイアウォールを通したコンプライアンス違反のサーバに向かう通信/そのようなサーバからの通信を一時停止するための環境を示す例示的な概念図である。
【
図2】ファイアウォールを通したコンプライアンス違反のサーバに向かう通信/そのようなサーバからの通信を一時停止するための例示的なプロセスを示す図である。
【
図3】ファイアウォールを通したコンプライアンス違反のサーバに向かう通信/そのようなサーバからの通信を一時停止するための例示的なプロセスを示す図である。
【
図4】ファイアウォールを通したコンプライアンス違反のサーバに向かう通信/そのようなサーバからの通信を一時停止するための例示的なプロセスを示す図である。
【
図5】本明細書において説明される態様を組み込む、または使用する、あるいはその両方を行うコンピュータ・システムおよび関連付けられたデバイスの一例を示す図である。
【
図6】本発明の実施形態によるクラウド・コンピューティング環境を示す図である。
【
図7】本発明の実施形態による抽象モデル層を示す図である。
【発明を実施するための形態】
【0010】
本明細書において説明されるのは、エンティティのインフラストラクチャに対してリスクを増大させているシステムを識別すること、およびそれらのシステムとの通信をイネーブルにするファイアウォール規則を一時停止することによって、エンティティのコンピュータ・システム(例えば、サーバ)に対するリスクを最小限に抑えるアプローチである。ファイアウォール規則は、ファイアウォールによって実施されるフィルタまたはポリシーと呼ばれてもよい。一般に、規則/フィルタは、所与のポートを通って流れる、または所与のサービスに帰せられる、あるいはその両方である或るネットワーク・トラフィックに選択的に適用される。規則は、ファイアウォールを通って流れるデータパケットを許す、またはドロップする。本明細書において説明される態様によれば、サーバが危うくなっているかどうかを判定するためのリスク要因のセットが生成される。サーバは、エンティティ資産(例えば、エンティティのIT/コンピューティング・インフラストラクチャのサーバ)であっても、外部サーバであってもよい。例えば、情報およびリスクの強度によって重み付けされたソースの認知解析に基づいて識別された、セキュリティ・リスクであると考えられるソフトウェアをホストするサーバが、潜在的にリスクを伴うトラフィック、例えば、その危うくなったソフトウェアの活動を助長して交換されているトラフィック、またはより広く言えば、危うくなったマシンに流れるトラフィック/そのようなマシンから流れる任意のトラフィックの通信をさもなければ許すサーバに対するファイアウォール接続/そのようなサーバからのファイアウォール接続を閉じることによって、強制隔離される。例として、エンティティによって制御されるファイアウォールが、危うくなったサーバとその他のサーバの間の通信を阻止するように再構成されてよい。危うくなったサーバは、エンティティによって所有または制御されていてもよく、そうされていなくてもよい。外部サーバがセキュリティ・リスクとなる場合、エンティティ・ファイアウォールの再構成は、危うくなったサーバからエンティティのネットワークに入ってくる通信を阻止する/ドロップするようにファイアウォールを構成することが可能である。エンティティ・サーバがセキュリティ・リスクとなる場合、ファイアウォール再構成は、その危うくなったエンティティ・サーバによって、エンティティ・ネットワークに内部の、または外部の他のサーバに送信されている通信を阻止する/ドロップすることが可能である。このようにして、コンプライアンス違反であると考えられている任意のサーバに向かう通信/そのようなサーバからの通信が生じることを可能にするファイアウォール規則が、一時停止されてよい。
【0011】
本明細書において説明される認知エンジンは、ソフトウェア・パッケージ、およびソフトウェア・パッケージのバージョンと関係するリスクを伝える製品ベンダ、ウェブブログ、および他の関係のあるソースからの電子セキュリティ・リスク情報/データを取り込むことができる。認知エンジンは、コンプライアンス規則を構築すること、および出力することができる。規則は、ブロックチェーン(本明細書において、「生成された規則とリスク・レベル」のブロックチェーンと名付けられる)などのデータベース/データ構造にセキュリティ保護されるように記憶されること、および保持されることが可能である。ソフトウェア監査エンジンが、エンティティ・サーバを含み、オプションとして、外部サーバを含むことが可能なサーバのコレクションを、それらのサーバにインストールされているソフトウェアを確かめるべく、監査することが可能である。一部の態様において、結果は、監査される任意のサーバにインストールされているすべてのソフトウェア・パッケージを適切にリストアップすべく、別のブロックチェーン(本明細書において、「セキュリティ保護されたサーバと許容可能なリスク」のブロックチェーンと名付けられる)などの、セキュリティ保護された/信頼されるソース構造においても保持される。このセキュリティ保護されたサーバと許容可能なリスクのブロックチェーンは、監査されるサーバにインストールされているソフトウェア・パッケージが変化する、または更新されるにつれ、ソフトウェア監査エンジンによって変更されてよい。
【0012】
ガバナンス・エンジンが、認知エンジンによって識別され、かつ規則コンプライアンス規則データベース、すなわち、生成された規則とリスク・レベルのブロックチェーンにロードされたリスクを、監査されるサーバについての情報を有する信頼されるソース構造(セキュリティ保護されたサーバと許容可能なリスクのブロックチェーン)に照らして検査することが可能である。検査することは、コンプライアンスに違反しているサーバを識別する。ガバナンス・エンジンは、信頼されるソース構造(セキュリティ保護されたサーバと許容可能なリスクのブロックチェーン)を変更して、コンプライアンス違反のサーバにそのようなものとして印を付けることが可能である。
【0013】
コンプライアンス違反のサーバを示すようにセキュリティ保護されたサーバと許容可能なリスクのブロックチェーンに印が付けられたとき、このことは、例えば、そのサーバに向かうパケット、もしくはそのサーバからのパケットをフィルタリングする/ドロップする規則を追加すべく、そのサーバに向かうポートもしくはサービス・トラフィック、またはそのサーバからのポートもしくはサービス・トラフィックを開く規則を除去すべく、あるいはそのサーバに向かうポートもしくはサービス・トラフィック、またはそのサーバからのポートもしくはサービス・トラフィックを開く規則を一時停止すべく、1つまたは複数のファイアウォール規則/ポリシー/フィルタを変更することによって、そのサーバに対するアクセスを一時停止するように安全エンジンをトリガすることが可能である。一部の実施形態において、一時停止することは、規則が不活性化されるが、後の時点における可能な再有効化のために保持されることを意味する。
【0014】
図1は、本明細書において説明される態様による、ファイアウォールを通したコンプライアンス違反のサーバに向かう通信/そのようなサーバからの通信を一時停止するための環境100の例示的な概念図を示す。認知エンジン102が、セキュリティ関連のウェブログ(「ブログ」)からの情報、およびセキュリティ・リスクについての製品ベンダ情報などの、電子セキュリティ・リスク情報104にアクセスし、その情報104を取り込む。また、認知エンジン102は、環境におけるサーバを制御している企業/エンティティによって設定された環境に関する企業標準であってよい、内部ポリシー106を取り込むこともする。認知エンジン102は、コンプライアンス違反のソフトウェア・レベルおよび関連するリスクに関する規則を生成しそれらの規則をセキュリティ保護されたデータベース、例えば、生成された規則とリスク・レベルのブロックチェーン108に記憶する。このため、エンジン102は、セキュリティ・コンプライアンスのためのコンプライアンス規則のセキュリティ保護されたコレクションを、ブロックチェーン108として確立する。エンジン102は、ソフトウェア・パッケージのセキュリティ・リスクを識別し記述する電子セキュリティ・リスク情報104およびポリシー106にアクセスし、識別されたセキュリティ・リスクの各リスクにそれぞれのリスク・レベルを割り当て、かつコンプライアンス規則のセキュリティ保護されたコレクションをブロックチェーン108として構築して、記憶する。これらのコンプライアンス規則のうちの少なくともいくつかは、ソフトウェア・パッケージ、および識別されたセキュリティ・リスクの割り当てられたリスク・レベルを示す。さらに、一部のコンプライアンス規則は、例えば、一例として、強いパスワードのための企業要件を示す、企業標準を含むことが可能である。
【0015】
特定の例によれば、認知エンジン108は、セキュリティ・ブログにおける情報104に基づいて、ソフトウェア・パッケージの特定のバージョンにおいてバグが発見され、そのバグが重大なセキュリティ・リスクを露呈していることを識別することが可能である。その特定のソフトウェア/バージョンがブロックチェーン108に既に書き留められていない場合、そのソフトウェア/バージョン、およびそのソフトウェア/バージョンにおいて識別されたバグ/リスクが追加されることが可能である。また、そのバグ/リスクに関連付けられた他の任意の情報が含められることも可能である。ブロックチェーンは、影響を受けるサーバ上で実施されるべき、そのリスクと関係する規則、例えば、そのリスクを緩和する、除去する、またはそれ以外でそのリスクに対処する規則を示すことが可能である。
【0016】
コンプライアンス規則は、さらなる解析において、特に、環境のサーバの現在の構成に対する規則の適用において使用される。サーバのコレクション(
図1の例における112a、112b、112c)に関して、ソフトウェア監査エンジン110は、サーバのそれぞれに関して、そのサーバにインストールされているそれぞれのソフトウェア・パッケージを確かめる。監査エンジン110は、監査されるサーバのそれぞれ、および各サーバにインストールされているそれぞれのソフトウェア・パッケージを示す、セキュリティ保護されたサーバと許容可能なリスクのリスト、例えば、ブロックチェーン114を構築する。各ブロックチェーン108および114は、各ブロックチェーン108および114に包含される情報のセキュリティおよび検証可能性を促進すべく分散されたブロックチェーンであることが可能である。
【0017】
知られているソフトウェア・パッケージに関連するリスクを示すコンプライアンス規則108、および監査されるサーバ112a、112b、および112cにいずれのソフトウェア・パッケージがインストールされているかを示すセキュリティ保護されたサーバと許容可能なリスクのリスト114に関して、別の認知エンジン、例えば、ガバナンス・エンジン116が、コンプライアンス規則108をセキュリティ保護されたサーバと許容可能なリスクのリスト114と比較し、この比較に基づいて、サーバ112a、112b、および112cにリスク格付けを割り当てる。リスク格付けは、任意の所望される粒度のものであることが可能であり、各サーバは、サーバに関する全体的なリスク格付けを有することが可能であり、またはより粒度の高いリスク格付け、例えば、サーバにインストールされているソフトウェア・パッケージの各パッケージに関するそれぞれのリスク格付けを有することが可能であり、あるいはその両方を有することが可能である。したがって、一例として、サーバは、ソフトウェアAに関して「コンプライアンス適合」リスク格付けを受け、ソフトウェアBに関して「コンプライアンス違反」リスク格付けを受け、かつ「コンプライアンス違反」の全体的な格付けを受けることが可能である。さらに、サーバの割り当てられたリスク格付けは、そのサーバが、その環境に関する企業標準にコンプライアンス適合しているかどうかにさらに基づくことが可能である。
【0018】
サーバのそれぞれに関するリスク格付けは、例えば、ブロックチェーン114にセキュリティ保護されるように記憶され、かつそのブロックチェーンにおいて各サーバのそれぞれのエントリに関連付けられることが可能である。
【0019】
リスク(108によって識別された)を、点検される監査されるサーバのインベントリ(114によって示される)と比較することによって、サーバ112a、112b、および112cと対話することのリスクが判定される。このことは、別のサーバがそれらのサーバと対話する際に許容する気がある、その別のサーバのリスクのレベルと併せて使用されることが可能である。例えば、
図1におけるサーバX122が別のサーバであり、かつ、この例において、エンティティのネットワークの一部ではない遠隔サーバである。サーバ122は、ファイアウォール120を通してサーバ112cと通信する。サーバ122は、他のサーバ、例えば、
図1の例におけるサーバ112cと対話する際に許容する気があるリスクのレベルを示している。
【0020】
ガバナンス・エンジン116が、サーバ112cと通信しているサーバ122に関して、サーバ112cに関する割り当てられたリスク格付け(ブロックチェーン114によって示される)を、サーバ122に関して示される許容可能なリスク・レベルと比較することが可能である。サーバ122の許容可能なリスク・レベルは、サーバ122が、ファイアウォール120を通したサーバ112cとの通信に関して許容するように構成されたリスクのレベルである。
【0021】
サーバ112cによってもたらされるリスクが、サーバ122が許容する気のあるレベルより高い場合、ファイアウォール120の構成は、この2つのサーバの間の通信をディセーブルにするように変更されることが可能である。
【0022】
さらに、または代替として、監査されるサーバ(112a、112b、112c)が、事前設定された閾値を超えるリスク格付けを受ける場合、他のサーバを許容する気があるリスクのレベルがどの程度であるかにかかわらず、そのサーバに向かう通信/そのサーバからの通信をディセーブルにするポリシーが執行されることが可能である。このことは、他のエンティティ資産に特に重大なリスクをもたらすサーバに関して行われることが可能である。
【0023】
異なるサーバは、それらのサーバが容認する気があるリスクの異なるレベルを有することが可能であるので、1つのサーバとの通信が、ファイアウォール変更を介してディセーブルにされる一方で、別のサーバとの通信が許されてよいことが可能である。各サーバは、任意の所与の要因、例えば、その特定のサーバを相手にどのようなデータが交換されているか、そのデータの慎重な扱いを要するレベル、およびそのデータがそのサーバによってどのように使用されているかに応じることが可能な、そのサーバ独自のリスクの許容可能なレベルを有することが可能である。
【0024】
サーバ122は、この例において外部サーバであるが、本明細書において説明される態様は、企業の監査されるサーバのうちの2つ以上の間の通信を制御するように適用されることが可能であることに留意されたい。例えば、サーバ112a、112b、および112cに許容可能なレベルが関連付けられており、かつブロックチェーン114に記憶されていることも可能である。サーバ112cのリスクが十分に高い場合、サーバ112cとサーバ112aの間の通信(例として)は、サーバ112aの、サーバ112aが許容する気のあるリスクのレベルに基づいて、ディセーブルにされることが可能である。
【0025】
別の例として、外部サーバ122が、監査されるサーバのセットに含められてよく、すなわち、リスク格付けが、サーバ122に割り当てられることが可能である。サーバ122のリスク格付けを判定することに基づいて、サーバ122と内部サーバ(例えば、サーバ112c)の間の通信が、ファイアウォール120の再構成を介してディセーブルにされることが可能である。このため、ともに内部の、または1つが内部で、1つが外部の任意のペアのサーバに関して、それらのサーバの間の通信が、いずれかのサーバの許容可能なリスク・レベルを他方のサーバのリスク格付けと比較することに基づいて、ディセーブルにされることが可能である。企業がファイアウォール120を管理しているので、リスクをもたらすのが企業サーバであるか、外部サーバであるかにかかわらず、企業ネットワーク資産に向かう通信と企業ネットワーク資産からの通信の両方が制御されることが可能である。
【0026】
ガバナンス・エンジン116による比較は、セキュリティ保護された環境を保つようにファイアウォール設定を変更するのに使用される。安全エンジン118が、ガバナンス・エンジン116によって実行される比較に基づいて、ファイアウォールにおける規則(ポート/サービス)を一時停止する構成要素であってよい。このため、第1のサーバの許容可能なリスク・レベルを第2のサーバに関する割り当てられたリスク格付けが超えるという判定に基づいて、安全エンジン118は、コンプライアンス違反のサーバとの通信をディセーブルにすることによってコンプライアンス規則を執行すべくファイアウォール120に対して規則変更を実行することが可能である。規則変更は、ファイアウォールを通した第1のサーバと第2のサーバの間の通信をディセーブルにすることが可能である。規則変更は、ファイアウォールの少なくとも1つの規則、フィルタ、ポリシーなどを追加すること、除去すること、変更すること、または一時停止することを含むことが可能である。特定の例において、規則変更は、ファイアウォールの1つまたは複数のファイアウォール規則を無期限に一時停止することを含む。次に、第2のサーバのリスク格付けに寄与するソフトウェアにパッチが当てられた、またはそれ以外で脅威が除去され、かつそのサーバのリスクが許容可能なレベルまで低下した場合、一時停止されたファイアウォール規則は、その変化に基づいて元の状態に戻されることが可能である。
【0027】
規則変更は、第1のサーバと、例えば、識別されたセキュリティ・リスクが識別される、第2のサーバにインストールされているソフトウェア・パッケージに関連する第2のサーバとの間の通信をディセーブルにすることである。一部の例において、サーバが、他のポートまたはサービスを介して通信している場合、そのソフトウェア・パッケージと関連していない、この他の通信がイネーブルにされたままであることが可能である。
【0028】
ブロックチェーン108および114は、より多くのリスクが識別され、かつソフトウェア・パッケージがインストールされる、除去される、または更新されるにつれ、時とともに更新されることが可能である。ガバナンス・エンジンによる比較は、所望される場合、ファイアウォールを再構成する進行中のプロセスを繰り返すことが可能である。
【0029】
したがって、コンプライアンス違反であると考えられるサーバを含む通信に向けられたファイアウォール規則を一時停止するガバナンスのためのシステムおよび方法が提供される。例示的なシステムの態様は、例えば、サーバが危うくなる可能性があるリスクを増大させるソフトウェア・バージョンについての製品ベンダおよびブログからのデータを取り込む認知エンジンを含むことが可能である。リスクのレベルは、レポートのソースおよび量(頻度)によって数量化されることが可能である。例えば、パッチが当てられる必要があるソフトウェア製品に関して問題が存在することを示す製品ベンダからのレポート(製品ベンダが信頼されるソースであるため、比較的重く重み付けされる)が、そのレポートがそのリスクについての唯一のレポートである場合でさえ、そのリスクに高いリスク・レベルが割り当てられることをもたらしてよい。サードパーティによる単一のブログ・エントリは、そのリスクに低いリスク・レベルが割り当てられることをもたらしてよい。このため、認知エンジンは、以下を活用してよい。すなわち、
(i)例えば、ユニバーサル・リソース・アイデンティファイアによって識別される任意の所望されるソースからの任意の所望される方法を使用してリソースをフェッチすることができるデータ獲得プロセス。
(ii)ソースからフェッチされたデータを記憶することができるデータ記憶媒体。
(iii)記憶媒体からデータを読み取ること、関係のある自然言語特徴を抽出すること、特徴マップ(例えば、静的にユーザによって定義された)および文書クラスの分類セットを読み取ること、およびマシン・クラシファイア・モデルを生成することができるデータ訓練プロセス。
(iv)文書にリスク点数を割り当てるべく、訓練されたモデルを消費すること、および文書(ブログ・エントリ、その他)からの抽出された自然言語特徴を使用することができる自動化されたデータ分類プロセス。これに関して、識別されたセキュリティ・リスクにリスク・レベルを割り当てることは、アクセスされた電子セキュリティ・リスク情報からの抽出された自然言語特徴に訓練されたクラシファイア・モデルを適用することを含むことが可能であり、適用することは、識別されたセキュリティ・リスクを分類しその分類に基づいてリスク・レベルを割り当てる。
(v)他のエンティティ(ガバナンス・エンジンなどの)が、情報ソースからの認知エンジンによって収集されたリスクに関する点数にアクセスすることを可能にするデータ・アクセス層。
【0030】
例示的なコンプライアンス規則が、「[特定のOS]バージョン7.8が、低リスクであるバグ#671983をそのバージョンに含む」ことを明記することが可能である。別の例示的な規則が、「[ベンダ]によって識別されたエクスプロイト#2211が、エクスプロイトが行われる高い潜在性のために高リスクである」ことを明記することが可能である。
【0031】
ガバナンス・エンジンが、認知エンジンによって識別され、かつ規則データベース108にロードされたリスクを、ソフトウェア・パッケージを示すサーバ情報、およびサーバについての他の関係のある情報に照らして検査する。リスク相互関係プロセスが、認知エンジンによって識別されたリスクを企業サーバ資産と照合し、サーバにリスク格付けが割り当てられる。リスク容認行列が、個々のサーバ、例えば、他の企業サーバ、資産、またはこれらのグループに関する許容可能なリスク・レベルを定義することが可能である。イベント・パブリッシング構成要素が、関与しており、かつ許可されたすべての当事者/サーバ/エンティティに、サーバ資産の裁定されたコンプライアンス・ステータス(リスク格付け)について通知することが可能である。
【0032】
ガバナンス・エンジンは、追跡されている監査されるすべてのサーバについての情報に関して信頼されるソースに対して実行され、示されるとおり、この信頼されるソースは、企業における各サーバにアクセスすることについての情報が記憶されていることも可能なブロックチェーンであることが可能である。このことから、サーバが許容する気のあるリスクのレベルと比較した、もたらされるリスク・レベルに基づいて、いずれの通信がディセーブルにされるべきかが識別されることが可能である。例えば、ガバナンス・エンジンは、各サーバに関して検査して、そのサーバの、許容可能なリスクの言明される閾値に基づいて、コンプライアンス違反のサーバ(すなわち、リスクの許容可能なレベルに基づいて、リスクが高すぎると考えられるサーバ)に対する他の任意のサーバ接続のためのファイアウォール・ポートを識別することが可能である。ガバナンス・エンジンは、所定のスケジュールで実行されることが可能である。一部の態様において、ガバナンス・エンジンは、リスクを伴うサーバとの通信が続けられることを許す承認された例外オーバライドを許すことが可能である。
【0033】
ソフトウェア監査エンジンが、監査されるすべてのサーバに対して実行されて、そのような各サーバにインストールされているすべてのソフトウェア・パッケージを適切にリストアップするようにブロックチェーン(例えば、
図1の114)を変更することが可能である。ガバナンス・エンジンが、コンプライアンス規則と比較する際にソフトウェア・バージョンを検査するのにこれを使用することが可能である。一部の例において、監査されている各サーバ上でコレクタ・エージェントが実行されて、関係のある情報を収集すべくリソースを調べ、次に、その情報をブロックチェーン(
図1の114)に発行する。
【0034】
ガバナンス・エンジンが、サーバにコンプライアンス違反であるという印を付けるようにブロックチェーンを変更したとき、このことは、ファイアウォール上の規則を変更するように、例えば、他のいずれのサーバもリスクに晒されないように他のサービスに対するファイアウォール・ポート/サービスの開きを一時停止する(例えば、ディセーブルにするが、不活性として保持する)ように安全エンジンをトリガすることが可能である。ガバナンス・エンジンが、将来、サーバにコンプライアンス適合であるという印を付けたとき、ポートは、一時停止された開きを元の状態に戻すことによって再びイネーブルにされることが可能である。このため、一部の態様は、(i)サーバに関するコンプライアンス・ステータスが変化したとき、それについての通知をガバナンス・エンジンから受信すること、(ii)その通知に基づいてアクションを実行すること、(iii)ガバナンス・エンジンから受信された通知に関連するサーバ・リソースに付加されたファイアウォール・リソースに対する変更のセットを計画すること、および(iv)関係のある通信をディセーブルにすべく1つまたは複数のファイアウォール・デバイスに対して変更の計画されたセットを発行することのためのプロセスを提示する。
【0035】
本明細書において説明される態様によれば、コンピュータ・セキュリティを向上させるためのコンピュータ・システム/方法が、特定のソフトウェア改訂、パッケージ、またはそれに類するものの知られている問題を取り込むこと、セキュリティに関する企業ポリシーを取り込むこと、監査コンプライアンスのための規則データベースを作成すること、監査されるべきサーバを識別すること、生成された規則に照らしてこれらのサーバを解析すること、解析される各サーバに関するリスクのレベルを判定すること、生成されたリスクを、解析されるサーバに接続されたサーバのセキュリティ保護されたデータベースと比較すること、および危うくなったと判定されるサーバに向かって/そのようなサーバから通信が行われるファイアウォール・ポートを閉じることが可能である。
【0036】
自然言語処理が、外部ソース(すなわち、電子セキュリティ・リスク情報)からのリスクを捕捉し識別すべく活用されることが可能である。リスクのリスク格付けは、少なくとも部分的に、識別されたリスクの報告のソースまたは頻度、あるいはその両方に基づいて規定されることが可能である。また、リスク格付けは、そのリスクによってもたらされる問題の深刻度または潜在的な深刻度に応じることも可能である。リスク格付けは、セキュリティ保護されたデータベースに記憶されることが可能である。リスク重み付けが、サーバに影響を与える可能性がある各リスクに付けられることが可能である。サーバに関するリスク格付けは、そのサーバ上で複数のリスクが識別される場合、増加されることが可能である。さらに、自然言語処理が、内部/企業規則に基づいてサーバ・リスクを捕捉するのに使用されることも可能である。この内部データと外部データの両方に関するリスク要因が、セキュリティ保護された規則データベースに組み合わされることが可能である。
【0037】
セキュリティ保護されたデータベースにおいてリストアップされるサーバが、セキュリティ保護された規則データベースにおける規則に照らして監査されることが可能である。1つのサーバに関するリスク格付けの比較が、別のサーバが許容可能であると判定したリスクの構成された許容可能なレベルに照らして行われることが可能である。サーバのリスク格付けより低い許容可能なリスク・レベルを有するサーバに関して、それらのサーバとリスクを伴うサーバの間のファイアウォールにおける開きが、識別され、かつ一時停止されること、または削除されること、あるいはその両方が行われることが可能である。さらに、または代替として、それらのサーバとリスクを伴うサーバの間の通信を阻止する規則、フィルタ、またはポリシーが、ファイアウォール上で実施されることが可能である。
【0038】
以下に、本明細書において説明される態様のいくつかの使用事例を提示する。
- 企業(会社)アプリケーションが、有効期限切れにならないように設定されたパスワードを有するサーバによってサポートされる。会社は、パスワードが30日ごとに有効期限切れになる(かつリセットされる)ことを要求するポリシーを有する。アプリケーション・サーバ上のパスワードが有効期限切れにならないことは、会社標準の違反となり、したがって、そのサーバは、強制隔離されなければならない。すなわち、他のサーバからのそのサーバへの通信/そのサーバからの通信をイネーブルにするファイアウォール規則が、完全に、またはその違反によってもたらされるリスク格付けを下回る許容可能なリスク・レベルを有するサーバだけに関して、一時停止される。
- 企業(会社)アプリケーションが、有効期限切れにならないように設定されたパスワードを有するサーバによってサポートされ、かつその会社が、パスワードが30日ごとに有効期限切れになる(かつリセットされる)ことを要求するポリシーを有する。そのアプリケーションには、そのサーバが強制隔離される前にこのコンプライアンス違反に対処すべく1年の例外が与えられる。
- アプリケーションが、エクスプロイトが行われる高いリスクに晒されているソフトウェアのバージョンを実行している。そのサーバは、そのアプリケーションをホストするそのサーバと、そのアプリケーション・サーバと通信しているサーバとの間の通信をディセーブルにすべく強制隔離される。
- ソフトウェア・ベンダが、セキュリティ脆弱性(security exposure)のためにそのベンダのソフトウェアのためのパッチを告知する。その特定のソフトウェア・バージョンが、リスクを識別するコンプライアンス規則の形態で、かつそのリスクに高いリスク格付けを割り当てて、即時に強制隔離リストに載せられる。そのソフトウェアまたは関連するサービスによって使用されるポート上のトラフィックが、阻止される。
- セキュリティ・ブログが、或るソフトウェアに当てはまるリスク脆弱性について記載する。そのリスクは、そのリスクのソース(ブログ)および比較的少数のレポートに基づいて、低く格付けされる。アプリケーション(他のサーバ上で実行される)は、そのソフトウェアがインストールされているサーバとの通信を続けること、または終了させることを選択することができる(それらの他のサーバの許容可能なリスク・レベルを通じて示されるとおり)。これに関して、それらのアプリケーション、またはそれらのアプリケーションを実行するサーバによる、それらのアプリケーションまたはサーバが許容する気があるリスクのレベルを合図するシグナリング構成要素が存在してよい。一部の例において、サーバに関するリスクの許容可能なレベルは、サーバと許容可能なリスクのブロックチェーンに含められる。このため、サーバの所与のセットに関して、サーバと許容可能なリスクのブロックチェーンは、サーバ、サーバにインストールされているソフトウェア、およびサーバの許容可能なリスク・レベルをリストアップすることが可能である。
【0039】
したがって、本明細書において説明されるのは、コンプライアンス違反のサーバに対してファイアウォール規則をディセーブルにし、企業によって提供される規則、および電子セキュリティ・リスク情報のソースから収集された規則に基づいて、コンピュータ・ネットワーキング・ガバナンスを管理すべく、信頼されるソース(例えば、ブロックチェーン)を使用しサーバによって示される、リスクの許容可能なレベルに基づいて、サーバに対するアクセスを変更するシステムである。クラウド・セキュリティおよびネットワーキング・セキュリティをサポートするソフトウェア商品(software offerings)が、本明細書において説明される態様を利用することが可能である。
【0040】
図2~
図4は、本明細書において説明される態様による、ファイアウォールを通したコンプライアンス違反のサーバに向かう通信/そのようなサーバからの通信を一時停止するための例示的なプロセスの態様を示す。一部の例において、このプロセスは、1つもしくは複数の企業サーバ、企業サーバと通信しているコンピュータ・システム、1つもしくは複数のクラウド・サーバ、または1つもしくは複数の他のコンピュータ・システム、あるいはその組合せを含むことが可能な、本明細書において説明されるものなどの1つまたは複数のコンピュータ・システムによって実行される。
図2のプロセスは、セキュリティ・コンプライアンスのためのコンプライアンス規則のセキュリティ保護されたコレクションを確立すること(202)から始まる。プロセスは、環境の1つまたは複数のサーバの各サーバに関して、そのサーバにインストールされているそれぞれの1つまたは複数のソフトウェア・パッケージを確かめる(204)。一部の例において、このことは、ソフトウェア監査エンジンによって実行される。次に、プロセスは、セキュリティ保護されたサーバと許容可能なリスクのリストを、例えば、分散されたブロックチェーンとして構築する(206)。セキュリティ保護されたサーバと許容可能なリスクのリストは、環境の1つまたは複数のサーバのそれぞれ、および1つまたは複数のサーバの各サーバにインストールされているそれぞれの1つまたは複数のソフトウェア・パッケージを示す。セキュリティ保護されたサーバと許容可能なリスクのリストに照らしたコンプライアンス規則の比較に基づいて、プロセスは、1つまたは複数のサーバにリスク格付けを割り当てる(208)。
【0041】
この割当ての一環として、識別されたセキュリティ・リスクに関係するアクセスされる電子セキュリティリスク情報から自然言語特徴が抽出されることが可能である。識別されたセキュリティ・リスクにリスク・レベルを割り当てることは、抽出された自然言語特徴に訓練されたクラシファイア・モデルを適用することを含むことが可能である。適用することは、識別されたセキュリティ・リスクを分類することが可能であり、割り当てられるリスク・レベルは、その分類に基づくことが可能である。一部の例において、リスク・レベルは、少なくとも部分的に、セキュリティ・リスクのレポートの頻度、またはそれらのレポートのソース、あるいはその両方に基づいて数量化される。
【0042】
図2を続けると、プロセスが、割り当てられたリスク格付けをセキュリティ保護されるように記憶する(210)。割り当てられたリスク格付けは、例えば、分散されたブロックチェーンの一部として記憶されることが可能である。
【0043】
前述のことに基づいて、プロセスは、
図3を参照して説明されるガバナンス処理を実行する(212)。ガバナンス処理は、ガバナンス・エンジンによって実行されてよく、かつファイアウォール・ポリシーが、いくつかのサーバ、すなわち、少なくとも、
図2におけるリスク格付けが割り当てられた監査されるサーバを含むサーバの間の通信をディセーブルにするように変更されるべきかどうかを評価することが可能である。それらのサーバは、互いに通信すること、または外部サーバと通信すること、あるいはその両方を行うことが可能である。リスク格付けが割り当てられた監査されるサーバによってもたらされるリスクは、リスクを伴うサーバと通信するサーバには容認できない可能性がある。このため、
図3を参照すると、プロセスは、処理すべき次のサーバが存在するかどうかを判定する(214)。次のサーバは、「第2の」サーバ、すなわち、
図2からの監査されるサーバのうちの1つと通信する「第1の」サーバである。次の(または「第1の」)サーバは、
図2からのリスク格付けが割り当てられた監査されるサーバのうちの別のサーバであってよく、またはそのグループに含まれないサーバであってよい。
【0044】
いずれにしても、処理すべき次のサーバが存在する場合(214、Y)、
図3のプロセスは、その次の(「第1の」)サーバに関して、第2のサーバに関する割り当てられたリスク格付けを、第1のサーバに関して示される許容可能なリスクと比較する(216)。許容可能なリスク・レベルは、第1のサーバが、ファイアウォールを通して第2のサーバと通信する際に許容するように構成されたリスクのレベルである。第2のサーバに関する割り当てられたリスク格付けが許容可能なリスク・レベルを超えるかどうかの判定(218)が行われる。超える場合(218、Y)、プロセスは、コンプライアンス規則を執行するようにファイアウォールに対して規則変更を実行すること(220)に進み、規則変更は、ファイアウォールを通した第1のサーバと第2のサーバの間の通信をディセーブルにする。一部の例において、規則変更は、ファイアウォールの1つまたは複数のファイアウォール規則を一時停止することを含む。後に、第2のサーバに関する割り当てられたリスク格付けに変更が行われた(例えば、第2のサーバのリスク格付けが、第1のサーバに関する許容可能なレベル/閾値を下回って低下するように、第2のサーバ上のソフトウェア・パッケージが除去された、またはそのソフトウェア・パッケージにパッチが当てられた)場合、1つまたは複数のファイアウォール規則は、元の状態に戻されることが可能である。
【0045】
規則変更(220)は、識別されたセキュリティ・リスクが識別された、第2のサーバにインストールされているソフトウェア・パッケージに関連する、第1のサーバと2のサーバとの間の通信をディセーブルにすることが可能である。これらの事例において、そのソフトウェア・パッケージに関連しない、第1のサーバと第2のサーバとの間の他の通信は、イネーブルにされたままでよい。
【0046】
代わりに、第2のサーバに関する割り当てられたリスク格付けが、許容可能なリスク・レベルを超えない場合(218、N)、プロセスは、次のサーバが存在する場合、そのサーバを処理すべく214に戻る。
図3のこの処理は、処理すべき少なくとも1つの次のサーバが存在する間、繰り返され、処理すべき他のサーバが存在しなくなったとき、終了する。
【0047】
図4は、コンプライアンス規則のセキュリティ保護されたコレクションを確立する(202)ための例示的なプロセスを示す。プロセスは、一部の例において認知エンジンによって実行される。
【0048】
図4のプロセスは、ソフトウェア・パッケージのセキュリティ・リスクを識別し記述する電子セキュリティ・リスク情報、例えば、ブログ、製品ベンダ文献、セキュリティ記事、その他にアクセスする(222)。プロセスは、識別されたセキュリティ・リスクの各リスクにそれぞれのリスク・レベルを割り当てる(224)。次に、プロセスは、コンプライアンス規則のセキュリティ保護されたコレクションを構築し、記憶する(226)。コンプライアンス規則の少なくともいくつかは、ソフトウェア・パッケージ、およびそれらのパッケージに関する識別されたセキュリティ・リスクの割り当てられたリスク・レベルを示すことが可能である。一部の例において、これらは、生成された規則とリスク・レベルのブロックチェーンとして記憶される。さらに、コンプライアンス規則のいくつかは、環境を管理する企業によって設定された環境に関する企業標準を含むことが可能である。例示的な標準が、パスワード複雑度要件である。このため、監査されるサーバのそれぞれに照らしてコンプライアンス規則を比較する際、ソフトウェアによってもたらされるリスクだけでなく、企業標準に対するコンプライアンス違反によってもたらされるリスクも、サーバの割り当てられたリスク格付けに見込まれることが可能である。
【0049】
様々な例が提供されるものの、主張される態様の思想を逸脱することなく、変形が可能である。
【0050】
本明細書において説明されるプロセスは、1つまたは複数のコンピュータ・システムによって単独で実行されても、まとめて実行されてもよい。
図5は、本明細書において説明される態様を組み込む、または使用する、あるいはその両方を行うそのようなコンピュータ・システムおよび関連するデバイスの一例を示す。コンピュータ・システムは、本明細書において、データ処理デバイス/システム、コンピューティング・デバイス/システム/ノード、または単にコンピュータと呼ばれることも可能である。コンピュータ・システムは、例として、インターナショナル・ビジネス・マシーンズ・コーポレーション(米国ニューヨーク州アーモンク市)、インテル・コーポレーション(米国カリフォルニア州サンタクララ市)、またはARMホールディングズ株式会社(英国、イングランド、ケンブリッジ)によって提供されるものなどの、様々なシステム・アーキテクチャまたは命令セット・アーキテクチャ、あるいはその組合せのうちの1つまたは複数に基づいてよい。
【0051】
図5は、外部デバイス312と通信しているコンピュータ・システム300を示す。コンピュータ・システム300は、1つまたは複数のプロセッサ302、例えば、中央処理装置(CPU)を含む。プロセッサは、キャッシュもしくはメイン・メモリなどのロケーションからプログラム命令をフェッチする機能構成要素、プログラム命令を復号する機能構成要素、およびプログラム命令を実行する機能構成要素、命令実行のためにメモリにアクセスする機能構成要素、ならびに実行された命令の結果を書き込む機能構成要素などの、命令の実行の際に使用される機能構成要素を含むことが可能である。また、プロセッサ302は、機能構成要素のうちの1つまたは複数によって使用されるべきレジスタを含むことも可能である。また、コンピュータ・システム300は、1つもしくは複数のバスまたは他の接続、あるいはその組合せを介してプロセッサ302に接続されてよく、かつ互いに接続されてよいメモリ304、入出力(I/O)デバイス308、およびI/Oインターフェース310も含む。バス接続は、様々なバス・アーキテクチャのいずれかを使用するメモリ・バスもしくはメモリ・コントローラ、周辺バス、アクセラレーテッド・グラフィックス・ポート、およびプロセッサ・バスもしくはローカル・バスを含め、いくつかのタイプのバス構造のいずれかの構造のうちの1つまたは複数を表す。例として、限定としてではなく、そのようなアーキテクチャは、インダストリ・スタンダード・アーキテクチャ(ISA)、マイクロ・チャネル・アーキテクチャ(MCA)、エンハンストISA(EISA)、ビデオ・エレクトロニクス・スタンダーズ・アソシエーション(VESA)ローカル・バス、およびペリフェラル・コンポーネント・インターコネクト(PCI)を含む。
【0052】
メモリ304は、プログラム命令の実行の際に使用されるメイン・メモリもしくはシステム・メモリ(例えば、ランダム・アクセス・メモリ)、例えば、ハードドライブ、フラッシュ媒体、もしくは光媒体などのストレージ・デバイス、または、例えば、キャッシュ・メモリ、あるいは以上の組合せであることが可能であり、またはこれらを含むことが可能である。メモリ304は、例えば、プロセッサ302のローカル・キャッシュ(例は、L1キャッシュ、L2キャッシュ、その他を含む)に結合されることが可能な、共有されるキャッシュなどのキャッシュを含むことが可能である。さらに、メモリ304は、1つまたは複数のプロセッサによって実行されたとき、本明細書において説明される実施形態の機能を実行するように構成されたプログラム・モジュール、命令、コード、もしくは以上に類するもののセット(例えば、そのうちの少なくとも1つ)を有する少なくとも1つのコンピュータ・プログラム製品であってよく、または少なくとも1つのそのようなコンピュータ・プログラム製品を含んでよい。
【0053】
メモリ304は、オペレーティング・システム305、ならびに本明細書において説明される態様を実施すべく実行される1つまたは複数のコンピュータ・プログラム/アプリケーションなどの他のコンピュータ・プログラム306を記憶することが可能である。特に、プログラム/アプリケーションは、本明細書において説明される態様の実施形態の機能を実行するように構成されてよいコンピュータ可読プログラム命令を含むことが可能である。
【0054】
入出力デバイス308の例は、マイクロフォン、スピーカ、全地球測位システム(GPS)デバイス、カメラ、照明、加速度計、ジャイロスコープ、磁力計、光、近接性、発熱率、体温もしくは周囲温度、またはその両方、血圧、または皮膚抵抗、あるいは以上の組合せを感知するように構成されたセンサ・デバイス、および活動モニタを含むが、以上には限定されない。入出力デバイスは、図示されるとおり、コンピュータ・システムに組み込まれてよく、ただし、一部の実施形態において、入出力デバイスは、1つまたは複数の入出力インターフェース310を通じてコンピュータ・システムに結合された外部デバイス(312)と見なされてよい。
【0055】
コンピュータ・システム300は、1つまたは複数の入出力インターフェース310を介して1つまたは複数の外部デバイス312と通信してよい。例示的な外部デバイスは、ユーザがコンピュータ・システム300と対話することを可能にするキーボード、ポインティング・デバイス、ディスプレイ、または他の任意のデバイス、あるいはその組合せを含む。他の例示的な外部デバイスは、コンピュータ・システム300が、他の1つまたは複数のコンピューティング・システム、またはプリンタなどの周辺デバイスと通信することを可能にする任意のデバイスを含む。ネットワーク・インターフェース/アダプタは、コンピュータ・システム300が、他のコンピューティング・デバイスもしくはコンピューティング・システム、ストレージ・デバイス、または以上に類似したものとの通信を提供する、ローカル・エリア・ネットワーク(LAN)、汎用ワイド・エリア・ネットワーク(WAN)、またはパブリック・ネットワーク(例えば、インターネット)などの1つまたは複数のネットワークと通信することを可能にする例示的な入出力インターフェースである。イーサネット(R)・ベースの(Wi-Fiなどの)インターフェースおよびBluetooth(R)アダプタは、コンピュータ・システムにおいて使用される現在、利用可能なタイプのネットワーク・アダプタの例に過ぎない(BLUETOOTHは、米国ワシントン州カークランド市所在のBluetooth SIG株式会社の登録商標である)。
【0056】
入出力インターフェース310と外部デバイス312の間の通信は、イーサネット(R)・ベースの有線接続または無線接続などの有線通信リンク311または無線通信リンク311、あるいはその両方を介して行われることが可能である。例示的な無線接続は、セルラ・タイプ、Wi-Fiタイプ、Bluetooth(R)タイプ、近接性ベースのタイプ、近接場タイプ、またはその他のタイプの無線接続を含む。より一般的には、通信リンク311は、データを通信するための任意の適切な無線通信リンクまたは有線通信リンク、あるいはその両方であってよい。
【0057】
特定の外部デバイス312は、1つもしくは複数のプログラム、1つもしくは複数のコンピュータ可読プログラム命令、またはデータ、あるいはその組合せ、その他を記憶することが可能な1つまたは複数のデータ・ストレージ・デバイスを含んでよい。コンピュータ・システム300は、取外し可能な/取外し可能でない、揮発性/不揮発性のコンピュータ・システム記憶媒体を含んでよく、またはそのような記憶媒体に結合され、かつそのような記憶媒体と通信していてよく(コンピュータ・システムの外部デバイスとして)、あるいはそれの組合せを行うようにされてよい。例えば、コンピュータ・システム300は、取外し可能でない、不揮発性の磁気媒体(通常、「ハードドライブ」と呼ばれる)、取外し可能な、不揮発性の磁気ディスク(例えば、「フロッピー(R)・ディスク」)から読み取るため、およびそのような磁気ディスクに書き込むための磁気ディスク・ドライブ、またはCD-ROM、DVD-ROM、もしくは他の光媒体などの取外し可能な、不揮発性の光ディスクから読み取るため、およびそのような光ディスクに書き込むための光ディスク・ドライブ、あるいは以上の組合せを含んでよく、または以上、もしくは以上の組合せに結合されてよく、あるいはその組合せを行うようにされてよい。
【0058】
コンピュータ・システム300は、他の多数の汎用または専用のコンピューティング・システム環境またはコンピュータ・システム構成で動作することが可能である。コンピュータ・システム300は、様々な形態のいずれの形態をとってもよく、それらの形態のよく知られた例は、パーソナル・コンピュータ(PC)システム、メッセージング・サーバなどのサーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、ワークステーション、ラップトップ、ハンドヘルド・デバイス、スマートフォンなどのモバイル・デバイス/コンピュータ、タブレット、およびウェアラブル・デバイス、マルチプロセッサ・システム、マイクロプロセッサ・ベースのシステム、電話デバイス、ネットワーク機器(エッジ機器などの)、仮想デバイス、ストレージ・コントローラ、セットトップ・ボックス、プログラマブル家庭用電子機器、ネットワークPC、ミニコンピュータ・システム、メインフレーム・コンピュータ・システム、ならびに前述のシステムもしくはデバイスのいずれかを含む分散型クラウド・コンピューティング環境などを含むが、以上には限定されない。
【0059】
本開示は、クラウド・コンピューティングに関する詳細な記述を含むものの、本明細書に記載される教示の実施は、クラウド・コンピューティング環境に限定されないことを理解されたい。むしろ、本発明の実施形態は、現在、知られている、または後に開発される他の任意のタイプのコンピューティング環境と併せて実施されることが可能である。
【0060】
クラウド・コンピューティングは、最小限の管理労力、またはサービス・プロバイダとの最小限の対話で迅速にプロビジョニングされ、かつリリースされることが可能である構成可能なコンピューティング・リソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス)の共有されるプールに対する好都合な、オンデマンドのネットワーク・アクセスを可能にするためのサービス・デリバリのモデルである。このクラウド・モデルは、少なくとも5つの特徴と、少なくとも3つのサービス・モデルと、少なくとも4つの展開モデルとを含んでよい。
【0061】
特徴は、以下のとおりである。
【0062】
オンデマンド・セルフ・サービス:クラウド・コンシューマが、サービスのプロバイダとの人のやりとりを要求することなしに、必要に応じて自動的に、サーバ時間およびネットワーク・ストレージなどのコンピューティング能力を一方的にプロビジョニングすることが可能である。
【0063】
ブロード・ネットワーク・アクセス:能力が、ネットワーク上で利用可能であり、かつ異種のシン・クライアント・プラットフォームまたはシック・クライアント・プラットフォーム(例えば、モバイル電話、ラップトップ、およびPDA)による使用を促進する標準機構を通じてアクセスされる。
【0064】
リソース・プーリング:プロバイダのコンピューティング・リソースは、様々な物理リソースおよび仮想リソースが、デマンドに応じて動的に割り当てられること、および再割当てされることが行われて、マルチテナント・モデルを使用して複数のコンシューマに役立てられるようにプールされる。コンシューマが、一般に、プロビジョニングされるリソースの厳密なロケーションをまったく管理しておらず、それについての知識も有さないが、抽象性のより高いレベルにおいてロケーション(例えば、国、州、またはデータセンタ)を指定することができる可能性があるという点で、ロケーション独立の感覚が存在する。
【0065】
迅速な伸縮性:能力が、急速にスケールアウトするように、かつ急速にスケールインすべく迅速に解放されるように、一部の事例において自動的に、迅速に、かつ伸縮的にプロビジョニングされることが可能である。コンシューマには、プロビジョニングのために利用可能な能力は、しばしば、無制限であるように見え、かつ任意の時点で任意の数量で購入されることが可能である。
【0066】
測定されるサービス:クラウド・システムが、サービスのタイプ(例えば、ストレージ、処理、帯域幅、およびアクティブ・ユーザ・アカウント)に適切な抽象性の何らかのレベルで測定能力を活用することによって、リソース使用を自動的に制御し最適化する。リソース使用率が、監視され、制御され、かつ報告されて、利用されるサービスのプロバイダとコンシューマの両方に透明性を提供することが可能である。
【0067】
サービス・モデルは、以下のとおりである。
【0068】
ソフトウェア・アズ・ア・サービス(SaaS):コンシューマに提供される能力は、クラウド・インフラストラクチャ上で実行されるプロバイダのアプリケーションを使用することである。アプリケーションは、ウェブ・ブラウザ(例えば、ウェブ・ベースの電子メール)などのシン・クライアント・インターフェースを通じて様々なクライアント・デバイスからアクセス可能である。コンシューマは、限られたユーザ特有のアプリケーション構成設定を可能な例外として、ネットワーク、サーバ、オペレーティング・システム、ストレージ、または個々のアプリケーション能力さえも含め、基礎をなすクラウド・インフラストラクチャを管理することも、制御することもしない。
【0069】
プラットフォーム・アズ・ア・サービス(PaaS):コンシューマに提供される能力は、プロバイダによってサポートされるプログラミング言語およびツールを使用して作成された、コンシューマによって作成された、または獲得されたアプリケーションをクラウド・インフラストラクチャ上に展開することである。コンシューマは、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含め、基礎をなすクラウド・インフラストラクチャを管理することも、制御することもしないが、展開されるアプリケーション、および、場合により、アプリケーションをホストする環境構成を管理する。
【0070】
インフラストラクチャ・アズ・ア・サービス(IaaS):コンシューマに提供される能力は、コンシューマが、オペレーティング・システムと、アプリケーションとを含むことが可能な任意のソフトウェアを展開すること、および実行することができる場合に、処理、ストレージ、ネットワーク、およびその他の基礎的なコンピューティング・リソースをプロビジョニングすることである。コンシューマは、基礎をなすクラウド・インフラストラクチャを管理することも、制御することもしないが、オペレーティング・システム、ストレージ、展開されるアプリケーション、および、場合により、選定されたネットワーキング構成要素(例えば、ホスト・ファイアウォール)の限られた制御を管理する。
【0071】
展開モデルは、以下のとおりである。
【0072】
プライベート・クラウド:クラウド・インフラストラクチャは、専ら組織のために運用される。クラウド・インフラストラクチャは、組織またはサードパーティによって管理されてよく、かつ敷地内に存在しても、敷地外に存在してもよい。
【0073】
コミュニティ・クラウド:クラウド・インフラストラクチャは、いくつかの組織によって共有され、かつ共有される関心(例えば、任務、セキュリティ要件、ポリシー、およびコンプライアンス考慮事項)を有する特定のコミュニティをサポートする。クラウド・インフラストラクチャは、組織またはサードパーティによって管理されてよく、かつ敷地内に存在しても、敷地外に存在してもよい。
【0074】
パブリック・クラウド:クラウド・インフラストラクチャは、一般公衆または大きい業界グループに提供され、かつクラウド・サービスを販売する組織によって所有される。
【0075】
ハイブリッド・クラウド:クラウド・インフラストラクチャは、固有のエンティティのままであるが、データ移植性およびアプリケーション移植性(例えば、クラウド間の負荷分散のためのクラウド・バースティング)を可能にする標準化された、または専有の技術によって一緒に結び付けられた2つ以上のクラウド(プライベート、コミュニティ、またはパブリック)の合成である。
【0076】
クラウド・コンピューティング環境は、ステートレスであること、低結合、モジュール性、および意味相互運用性に焦点を合わせて、サービス指向である。クラウド・コンピューティングの中核には、互いに接続されたノードのネットワークを含むインフラストラクチャがある。
【0077】
次に
図6を参照すると、例示的なクラウド・コンピューティング環境50が示される。図示されるとおり、クラウド・コンピューティング環境50は、例えば、携帯情報端末(PDA)もしくはセルラ電話54A、デスクトップ・コンピュータ54B、ラップトップ・コンピュータ54C、または自動車コンピュータ・システム54N、あるいはその組合せなどの、クラウド・コンシューマによって使用されるローカル・コンピューティング・デバイスが通信相手とすることが可能な、1つまたは複数のクラウド・コンピューティング・ノード10を含む。ノード10は、互いに通信してよい。ノード10は、前段で説明されるプライベート・クラウド、コミュニティ・クラウド、パブリック・クラウド、またはハイブリッド・クラウド、あるいはその組合せなどの、1つまたは複数のネットワークにおいて、物理的に、または仮想でグループ化されてよい(図示せず)。このことは、クラウド・コンピューティング環境50が、インフラストラクチャ、プラットフォーム、またはソフトウェア、あるいはその組合せを、クラウド・コンシューマがローカル・コンピューティング・デバイス上にリソースを保持する必要のないサービスとして提供することを可能にする。
図6に示されるコンピューティング・デバイス54A~Nのタイプは、単に例示的であることが意図されること、ならびにコンピューティング・ノード10およびクラウド・コンピューティング環境50は、任意のタイプのネットワークまたはネットワーク・アドレス指定可能な接続、あるいはその両方を介して任意のタイプのコンピュータ化されたデバイスと通信することが可能である(例えば、ウェブ・ブラウザを使用して)ことが理解される。
【0078】
次に
図7を参照すると、クラウド・コンピューティング環境50(
図6)によって提供される機能抽象化層のセットが示される。
図7に示される構成要素、層、および機能は、単に例示的であることが意図され、本発明の実施形態は、これらに限定されないことをあらかじめ理解されたい。図示されるとおり、以下の層および対応する機能が提供される。
【0079】
ハードウェアおよびソフトウェア層60が、ハードウェア構成要素と、ソフトウェア構成要素とを含む。ハードウェア構成要素の例は、メインフレーム61、RISC(縮小命令セット・コンピュータ)アーキテクチャ・ベースのサーバ62、サーバ63、ブレード・サーバ64、ストレージ・デバイス65、ならびにネットワークおよびネットワーキング構成要素66を含む。一部の実施形態において、ソフトウェア構成要素は、ネットワーク・アプリケーション・サーバ・ソフトウェア67と、データベース・ソフトウェア68とを含む。
【0080】
仮想化層70が、仮想エンティティの以下の例、すなわち、仮想サーバ71、仮想ストレージ72、仮想プライベート・ネットワークを含む仮想ネットワーク73、仮想アプリケーションおよびオペレーティング・システム74、および仮想クライアント75が提供されることが可能な抽象化層を提供する。
【0081】
一例において、管理層80が、以下に説明される機能を提供してよい。リソース・プロビジョニング81が、クラウド・コンピューティング環境内でタスクを実行するのに利用されるコンピューティング・リソースおよびその他のリソースの動的調達を提供する。測定および価格設定82が、クラウド・コンピューティング環境内でリソースが利用されるにつれての費用追跡、およびこれらのリソースの消費に関する料金請求またはインボイス送付を提供する。一例において、これらのリソースは、アプリケーション・ソフトウェア・ライセンスを含んでよい。セキュリティが、クラウド・コンシューマおよびタスクに関する身元検証、ならびにデータおよびその他のリソースに関する保護を提供する。ユーザ・ポータル83が、コンシューマおよびシステム管理者にクラウド・コンピューティング環境へのアクセスを提供する。サービス・レベル管理84が、要求されるサービス・レベルが満たされるようにクラウド・コンピューティング・リソース割当ておよび管理を提供する。サービス・レベル合意(SLA)計画および履行85が、SLAにより将来の要求が予期されるクラウド・コンピューティング・リソースの事前準備および調達を提供する。
【0082】
作業負荷層90が、クラウド・コンピューティング環境が利用されてよい機能の例を提供する。この層から提供されることが可能な作業負荷および機能の例は、マッピングおよびナビゲーション91、ソフトウェア開発およびライフサイクル管理92、仮想教室教育デリバリ93、データ・アナリティクス処理94、トランザクション処理95、および一時停止ファイアウォール規則96を含む。
【0083】
本発明は、統合の任意の可能な技術詳細レベルにおけるシステム、方法、またはコンピュータ・プログラム製品、あるいはその組合せであってよい。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を有する1つ(または複数)のコンピュータ可読記憶媒体を含んでよい。
【0084】
コンピュータ可読記憶媒体は、命令実行デバイスによって使用されるように命令を保持すること、および記憶することができる有形のデバイスであることが可能である。コンピュータ可読記憶媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、または以上の任意の適切な組合せであってよいが、以上には限定されない。コンピュータ可読記憶媒体のより具体的な例の網羅的でないリストは、以下、すなわち、ポータブル・コンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ(RAM)、読取り専用メモリ(ROM)、消去可能なプログラマブル読取り専用メモリ(EPROMもしくはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク読取り専用メモリ(CD-ROM)、デジタル・バーサタイル・ディスク(DVD)、メモリ・スティック、フロッピー(R)・ディスク、パンチカード、もしくは命令が記録されている溝の中の隆起構造などの機械的に符号化されたデバイス、および以上の任意の適切な組合せを含む。本明細書において使用されるコンピュータ可読記憶媒体は、電波もしくは他の自由に伝播する電磁波、導波路もしくは他の伝送媒体を伝播する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)、または配線を通して伝送される電気信号などの、一過性の信号自体であると解釈されるべきではない。
【0085】
本明細書において説明されるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスにダウンロードされること、またはネットワーク、例えば、インターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、または無線ネットワーク、あるいはその組合せを介して外部コンピュータもしくは外部ストレージ・デバイスにダウンロードされることが可能である。ネットワークは、銅伝送ケーブル、伝送光ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはその組合せを含み得る。各コンピューティング/処理デバイスにおけるネットワーク・アダプタ・カードまたはネットワーク・インターフェースが、ネットワークからコンピュータ可読プログラム命令を受信し、そのコンピュータ可読プログラム命令を、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体に記憶するために転送する。
【0086】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路のための構成データ、またはSmalltalk(R)、C++、もしくは類似したものなどのオブジェクト指向プログラミング言語、および「C」プログラミング言語もしくは類似したプログラミング言語などの従来の手続き型プログラミング言語を含め、1つまたは複数のプログラミング言語の任意の組合せで書かれたソース・コードもしくはオブジェクト・コードであってよい。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンドアロンのソフトウェア・パッケージとして、部分的にユーザのコンピュータ上で、かつ部分的に遠隔コンピュータ上で、または完全に遠隔コンピュータもしくは遠隔サーバの上で実行されてよい。完全に遠隔コンピュータもしくは遠隔サーバの上で実行されるシナリオにおいて、遠隔コンピュータは、ローカル・エリア・ネットワーク(LAN)もしくはワイド・エリア・ネットワーク(WAN)を含む、任意のタイプのネットワークを介してユーザのコンピュータに接続されてよく、または接続は、外部コンピュータに対して行われてよい(例えば、インターネット・サービス・プロバイダを利用してインターネットを通じて)。一部の実施形態において、例えば、プログラマブル論理回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル・ロジック・アレイ(PLA)を含む電子回路が、本発明の態様を実行するためにその電子回路を個人設定すべく、コンピュータ可読プログラム命令の状態情報を利用することによってコンピュータ可読プログラム命令を実行してよい。
【0087】
本発明の態様は、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャートまたはブロック図、あるいはその両方を参照して本明細書において説明される。フローチャートまたはブロック図、あるいはその両方の各ブロック、ならびにフローチャートまたはブロック図、あるいはその両方におけるブロックの組合せは、コンピュータ可読プログラム命令によって実装されることが可能であることが理解されよう。
【0088】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサを介して実行される命令が、フローチャートまたはブロック図、あるいはその両方の1つまたは複数のブロックにおいて指定される機能/動作を実施するための手段を作り出すべく、汎用コンピュータ、専用コンピュータ、または他のプログラマブル・データ処理装置のプロセッサに提供されてマシンを作り出すものであってよい。また、これらのコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体に記憶された命令により、フローチャートまたはブロック図、あるいはその両方の1つまたは複数のブロックにおいて指定される機能/動作の態様を実施する命令を含む製品を作り出すべく、コンピュータ可読記憶媒体に記憶されて、コンピュータ、プログラマブル・データ処理装置、または他のデバイス、あるいはその組合せに特定の様態で機能するように指示するものであってもよい。
【0089】
また、コンピュータ可読プログラム命令は、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスの上で実行される命令が、フローチャートまたはブロック図、あるいはその両方の1つまたは複数のブロックにおいて指定される機能/動作を実施するように、コンピュータによって実行されるプロセスを作り出すべく、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスにロードされて、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスの上で一連の動作ステップを実行させるものであってもよい。
【0090】
図におけるフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実装形態のアーキテクチャ、機能、および動作を示す。これに関して、フローチャートまたはブロック図における各ブロックは、指定された論理機能を実施するための1つまたは複数の実行可能命令を備える、命令のモジュール、セグメント、または一部分を表すことが可能である。一部の代替の実装形態において、ブロックに記載される機能は、図に記載される順序を外れて生じてよい。例えば、連続して示される2つのブロックが、実際には、実質的に同時に実行されてよく、またはそれらのブロックが、関与する機能に依存して、ときとして、逆の順序で実行されてよい。また、フローチャートまたはブロック図、あるいはその両方の各ブロック、ならびにフローチャートまたはブロック図、あるいはその両方におけるブロックの組合せは、指定された機能もしくは動作を実行する、または専用ハードウェア命令とコンピュータ命令の組合せを実行する専用ハードウェア・ベースのシステムによって実装されることが可能であることにも留意されたい。
【0091】
以上に加えて、1つまたは複数の態様が、顧客環境の管理を提供するサービス・プロバイダによって提供されること、提案されること、展開されること、管理されること、整備されることなどが可能である。例えば、サービス・プロバイダが、1つまたは複数の顧客に関する1つまたは複数の態様を実行するコンピュータ・コードまたはコンピュータ・インフラストラクチャ、あるいはその両方を作成すること、保守すること、サポートすることなどが可能である。その見返りとして、サービス・プロバイダは、例えば、サブスクリプションまたは料金合意、あるいはその両方の下で顧客から支払いを受け取ってよい。さらに、または代替として、サービス・プロバイダは、1つまたは複数のサードパーティに対する広告コンテンツの販売から支払いを受け取ってよい。
【0092】
一態様において、1つまたは複数の実施形態を実行するためのアプリケーションが展開されてよい。一例として、アプリケーションを展開することは、1つまたは複数の実施形態を実行するように動作可能なコンピュータ・インフラストラクチャを提供することを備える。
【0093】
さらなる態様として、コンピューティング・システムと組み合わされたコンピュータ可読コードが、1つまたは複数の実施形態を実行することができる、コードをコンピューティング・システムに組み込むことを備えるコンピューティング・インフラストラクチャが、展開されてよい。
【0094】
さらなる態様として、コンピュータ可読コードをコンピュータ・システムに組み込むことを備えるコンピューティング・インフラストラクチャを組み込むためのプロセスが、提供されてよい。コンピュータ・システムは、コンピュータ可読記憶媒体を備え、コンピュータ媒体は、1つまたは複数の実施形態を備える。コンピュータ・システムと組み合わされたコードは、1つまたは複数の実施形態を実行することができる。
【0095】
様々な実施形態が以上に説明されるものの、これらは、実施例に過ぎない。例えば、他のアーキテクチャのコンピューティング環境が、1つまたは複数の実施形態を組み込み、かつ使用するのに使用されることが可能である。
【0096】
本明細書において使用される術語は、特定の実施形態を説明することのみを目的としており、限定することは意図していない。本明細書において使用される「ある」および「その」という単数形は、脈絡がそうでないことを明確に示すのでない限り、複数形も含むことを意図している。「含む」または「含め」という術語、あるいはその両方は、本明細書において使用される場合、記載される特徴、整数、ステップ、動作、要素、または構成要素、あるいはその組合せの存在を明示するが、他の1つまたは複数の特徴、整数、ステップ、動作、要素、構成要素、または以上のグループ、あるいはその組合せの存在も追加も排除しないことがさらに理解されよう。
【0097】
添付の特許請求の範囲におけるすべてのミーンズまたはステップ・プラス・ファンクション要素の対応する構造、材料、動作、および均等物は、存在する場合、具体的に特許請求されるように、他の特許請求される要素と組合せで機能を実行するための任意の構造、材料、または動作を含むことを意図する。1つまたは複数の実施形態の説明は、例示と説明の目的で提示されているが、網羅的であることも、開示される形態に限定されることも意図されない。多くの変形形態および変更形態が、当業者には明白となろう。実施形態は、様々な態様および実際的な応用を最もよく説明するため、ならびに当業者が、企図される特定の用途に適するように様々な変形を伴って様々な実施形態を理解することを可能にするために選択され、説明されている。
【符号の説明】
【0098】
10 クラウド・コンピューティング・ノード
50 クラウド・コンピューティング環境
54A コンピューティング・デバイス
54B コンピューティング・デバイス
54C コンピューティング・デバイス
54N コンピューティング・デバイス
100 環境
102 認知エンジン
104 電子セキュリティ・リスク情報
106 ポリシー
108 ブロックチェーン
110 ソフトウェア監査エンジン
112a サーバ
112b サーバ
112c サーバ
114 ブロックチェーン
116 ガバナンス・エンジン
118 安全エンジン
120 ファイアウォール
122 サーバ
300 コンピュータ・システム
302 プロセッサ
304 メモリ
305 オペレーティング・システム
306 コンピュータ・プログラム
308 入出力デバイス
310 入出力インターフェース
312 外部デバイス