(58)【調査した分野】(Int.Cl.,DB名)
セキュリティ脅威を検出するためのコンピュータ実装方法であって、前記方法の少なくとも一部が少なくとも1つのプロセッサを備えるコンピューティングデバイスによって実施され、
ソフトウェアセキュリティプログラムによってクライアントデバイスでのセキュリティインシデントを検出して、その結果、前記ソフトウェアセキュリティプログラムがシグニチャレポートを生成して前記セキュリティインシデントを特定することと、
前記シグニチャレポートを用いてアソシエーションデータベースを検索して、前記セキュリティインシデント検出時に前記クライアントデバイスで利用可能ではなかった異なるソフトウェアセキュリティプログラムが、前記クライアントデバイスで予測可能に生成したであろう別のシグニチャレポートを推定することと、
少なくとも1つの保護措置を実施して、前記アソシエーションデータベースを検索することによって推定される他の前記シグニチャレポートに基づいて、前記セキュリティインシデントに関連したセキュリティ脅威から前記クライアントデバイスを保護することと、を含む、方法。
前記アソシエーションルールマイニングアルゴリズムが、閾値頻度を超えて同時に発生する少なくとも2つのシグニチャレポートのグループを特定する、請求項2に記載のコンピュータ実装方法。
少なくとも1つのシグニチャレポートがセキュリティ侵害を示すという判定に基づいて、少なくとも2つの前記シグニチャレポートのうち少なくとも1つの前記シグニチャレポートをフィルタリングすることを更に含む、請求項4に記載のコンピュータ実装方法。
少なくとも1つの前記シグニチャレポートがセキュリティ侵害を示すという前記判定が、前記シグニチャレポートが統計的な測定値にしたがってセキュリティ侵害状態と不相応に関連付けられる判定を含む、請求項5に記載のコンピュータ実装方法。
少なくとも1つの前記シグニチャレポートがセキュリティ侵害を示すという前記判定が、セキュリティ侵害を示す前記シグニチャレポートにおける信頼度の自動測定値が信頼度閾値を満たす判定を含む、請求項5に記載のコンピュータ実装方法。
前記アソシエーションルールマイニングアルゴリズムが、閾値頻度を超えて同時に発生する少なくとも2つのシグニチャレポートのグループを特定する、請求項12に記載のシステム。
【発明を実施するための最良の形態】
【0011】
本開示は、概して、セキュリティ脅威を検出するためのシステム及び方法に関する。以下により詳細に説明されるように、本開示のシステム及び方法は、セキュリティ製品によるレポート及び通知の情報量並びに品質を改善することができる。例えば、本開示のシステム及び方法により、以下に更に論じられるように、対応するセキュリティ製品がエンドポイントコンピューティングデバイス上で利用可能ではないか又は有効ではない場合でさえ、ユーザがセキュリティ製品の予測可能なシグニチャレポートから、恩恵を受けることが可能になり得る。
【0012】
図1〜2を参照すると、以下は、セキュリティ脅威を検出するための例示的なシステムの詳細な説明を提供する。対応するコンピュータ実装方法についての詳細な説明もまた、
図3〜
図4と関連して提供されることになる。更に、本明細書で説明される実施形態のうちの1つ以上を実施できる例示的なコンピューティングシステム及びネットワークアーキテクチャについての詳細な説明が、それぞれ、
図5及び
図6と関連して提供されることになる。
【0013】
図1は、セキュリティ脅威を検出するための例示的なシステム100のブロック図である。この図に図示されるように、例示的なシステム100は、1つ以上のタスクを実施するための1つ以上のモジュール102を含んでもよい。例えば、そして以下により詳細に説明されるように、例示的なシステム100は、ソフトウェアセキュリティプログラムの一部として、クライアントデバイスでのセキュリティインシデントを検出することができ、その結果、ソフトウェアセキュリティプログラムがシグニチャレポートを生成してセキュリティインシデントを特定する検出モジュール104を含み得る。例示的なシステム100はまた、シグニチャレポートを用いてアソシエーションデータベースを検索して、異なるソフトウェアセキュリティプログラムが、クライアントデバイスで予測可能に生成したであろう別のシグニチャレポートを推定する検索モジュール106を含み得る。その異なるソフトウェアセキュリティプログラムは、セキュリティインシデントの検出時にクライアントデバイスでは利用可能ではなかったとしてもよい。加えて、より詳細に後述するように、例示的なシステム100は、少なくとも1つの保護措置を実施して、アソシエーションデータベースを検索することによって推定される他のシグニチャレポートに基づいて、セキュリティインシデントに関連したセキュリティ脅威からクライアントデバイスを保護することができる、実施モジュール108を含み得る。別々の要素として図示されるが、
図1のモジュール102のうちの1つ以上は、単一のモジュール又はアプリケーションの部分を表してもよい。
【0014】
特定の実施形態では、
図1のモジュール102のうち1つ以上は、コンピューティングデバイスによって実行されると、コンピューティングデバイスに1つ以上のタスクを実施させ得る、1つ以上のソフトウェアアプリケーション又はプログラムを表し得る。例えば、より詳細に後述するように、モジュール102のうちの1つ以上は、
図2に示されるデバイス(例えば、コンピューティングデバイス202及び/若しくはサーバ206)、
図5のコンピューティングシステム510、並びに/又は
図6の例示的なネットワークアーキテクチャ600の部分など、1つ以上のコンピューティングデバイスに格納され、その上で動くように構成されている、ソフトウェアモジュールを表してもよい。
図1のモジュール102のうち1つ以上はまた、1つ以上のタスクを実施するように構成されている1つ以上の専用コンピュータの全て又は一部を表し得る。
【0015】
図1に示すように、例示的なシステム100はまた、データベース120などの1つ以上のデータベースを含んでもよい。一実施例において、データベース120は、異なるソフトウェアセキュリティ製品及びエージェントによってトリガされ、かつ発行されたシグニチャレポートの間の相関を示し得る、相関122を格納するように構成され得る。相関122は、本開示のシステム及び方法が、以下に更に論じられるように、その追加のシグニチャレポートがクライアントコンピューティングデバイス上で利用可能ではないか又は有効ではなかったソフトウェアセキュリティ製品に対応する場合でさえ、以前のシグニチャレポートのトリガリングに基づいて、追加のシグニチャレポートを推定又は推論することを可能にし得る。
【0016】
データベース120は、単一のデータベース若しくはコンピューティングデバイスの部分、又は複数のデータベース若しくはコンピューティングデバイスの部分を表してもよい。例えば、データベース120は、
図2のサーバ206の一部分、
図5のコンピューティングシステム510、及び/又は
図6の例示的なネットワークアーキテクチャ600の部分を表してもよい。あるいは、
図1のデータベース120は、
図2のサーバ206、
図5のコンピューティングシステム510、及び/又は
図6の例示的なネットワークアーキテクチャ600の部分など、コンピューティングデバイスによってアクセスすることができる、1つ以上の物理的に別個のデバイスを表してもよい。
【0017】
図1の例示的なシステム100は、様々な方法で実装され得る。例えば、例示的なシステム100の全て又は一部は、
図2における例示的なシステム200の部分を表してもよい。
図2に示されるように、システム200は、ネットワーク204を介してサーバ206と通信するコンピューティングデバイス202を含んでもよい。一実施例では、コンピューティングデバイス202は、モジュール102のうち1つ以上を用いてプログラムされてもよく、かつ/又はデータベース120内のデータの全て若しくは一部分を記憶することができる。加えて、又は代替的に、サーバ206は、モジュール102のうちの1つ以上を用いてプログラムされてもよく、及び/又はデータベース120のデータの全て若しくは一部を記憶してもよい。
【0018】
一実施形態では、
図1のモジュール102のうち1つ以上は、コンピューティングデバイス202及び/又はサーバ206のうち少なくとも1つのプロセッサによって実行されると、コンピューティングデバイス202及び/又はサーバ206がセキュリティ脅威を検出するのを可能にしてもよい。例えば、より詳細に後述するように、検出モジュール104は、ソフトウェアセキュリティプログラム220の一部としてコンピューティングデバイス202におけるセキュリティインシデントを検出することができ、その結果、ソフトウェアセキュリティプログラムがシグニチャレポート210を生成してセキュリティインシデントを特定する。検索モジュール106は、シグニチャレポート210を用いてデータベース120を検索して、異なるソフトウェアセキュリティプログラム222が、コンピューティングデバイス202で予測可能に生成したであろう別のシグニチャレポート212を推定することができる。ソフトウェアセキュリティプログラム222は、セキュリティインシデントの検出時にコンピューティングデバイス202では利用可能ではなかったとしてもよい。実施モジュール108は、少なくとも1つの保護措置を実施して、データベース120を検索することによって推定されるシグニチャレポート212に基づいて、セキュリティインシデントに関連したセキュリティ脅威から、コンピューティングデバイス202を保護することができる。
【0019】
コンピューティングデバイス202は、一般に、コンピュータ実行可能命令を読み取ることができる任意のタイプ又は形態のコンピューティングデバイスを表す。コンピューティングデバイス202の例としては、非限定的に、ラップトップ、タブレット、デスクトップ、サーバ、携帯電話、携帯情報端末(PDA)、マルチメディアプレーヤー、組込みシステム、ウェアラブルデバイス(例えば、スマートウォッチ、スマートグラスなど)、ゲーム機、それらの1つ以上の組み合わせ、
図5の例示的なコンピューティングシステム510、あるいは他の任意の好適なコンピューティングデバイスが挙げられる。
【0020】
サーバ206は、一般に、更に後述するように、方法300の実施を容易にすることができる任意のタイプ又は形態のコンピューティングデバイスを表す。サーバ206の例としては、限定することなく、様々なデータベースサービスを提供するように、かつ/又はある特定のソフトウェアアプリケーションを作動させるように構成されたアプリケーションサーバ及びデータベースサーバが挙げられる。
【0021】
ネットワーク204は、一般に、通信若しくはデータ転送を容易にすることが可能な、任意の媒体又はアーキテクチャを表す。ネットワーク204の例としては、非限定的に、イントラネット、広域ネットワーク(WAN)、ローカルエリアネットワーク(LAN)、パーソナルエリアネットワーク(PAN)、インターネット、電力線通信(PLC)、セルラーネットワーク(例えば、Global System for Mobile Communications(GSM(登録商標))ネットワーク)、
図6の例示的なネットワークアーキテクチャ600などが挙げられる。ネットワーク204は、無線接続又は有線接続を使用して、通信又はデータ転送を容易にしてもよい。一実施形態では、ネットワーク204は、コンピューティングデバイス202とサーバ206との間の通信を容易にしてもよい。
【0022】
図3は、セキュリティ脅威を検出するための例示的なコンピュータ実施方法300のフローチャートである。
図3に示されるステップは、任意の好適なコンピュータ実行可能コード及び/又はコンピューティングシステムによって実施されてもよい。一部の実施形態では、
図3に示すステップは、
図1のシステム100、
図2のシステム200、
図5のコンピューティングシステム510、及び/又は
図6の例示的なネットワークアーキテクチャ600の部分の構成要素のうち1つ以上によって実施されてもよい。
【0023】
図3に示されるように、ステップ302において、本明細書に記載の1つ以上のシステムは、ソフトウェアセキュリティプログラムを通してクライアントデバイスでのセキュリティインシデントを検出することができ、その結果、ソフトウェアセキュリティプログラムがシグニチャレポートを生成してセキュリティインシデントを特定する。例えば、検出モジュール104は、
図2のサーバ206の一部としてコンピューティングデバイス202でのセキュリティインシデントを検出することができ、その結果、ソフトウェアセキュリティプログラム220がシグニチャレポート210を生成してセキュリティインシデントを特定する。
【0024】
本明細書で使用するとき、用語「セキュリティインシデント」は、一般に、候補のセキュリティ脅威としてのイベントを検出するか、又は別の方法で不審なコンピューティングアクティビティを調査するように構成される、対応するソフトウェアセキュリティプログラムによって検出される任意のイベントを意味する。更に、本明細書で使用するとき、用語「シグニチャレポート」は、一般に、ソフトウェアセキュリティプログラムが、検出されたセキュリティインシデントをセキュリティインシデントの他の識別されたタイプ、カテゴリ、及び/又は種類と区別するために使用する任意の識別子又は文字列を意味する。
【0025】
検出モジュール104は、様々な方法で、セキュリティインシデントを検出し得る。例えば、検出モジュール104は、サーバ206の一部として、クライアント側セキュリティエージェント(例えば、ソフトウェアセキュリティプログラム220)からのレポートを受信することができ、対応するクライアントデバイスでのシグニチャがトリガされたことを示す。加えて、又は代替的に、検出モジュール104は、コンピューティングデバイス202の一部として、コンピューティングデバイス202でのセキュリティインシデントの存在を直接検出することができる。検出モジュール104は、セキュリティインシデント若しくは候補のセキュリティ脅威を示すイベント、属性、プロセス、ファイル、ネットワークパケット、アクティビティ、若しくは他の特徴をモニタリング及び/又は特定するための任意の好適な技術によって、セキュリティインシデントを検出することができる。例えば、検出モジュール104は、連続的に又は所定のスケジュールにしたがって、1つ以上のこれらの特徴の存在をモニタすることができ、これらの特徴は、1つ以上の対応するシグニチャセット若しくはパターンに適合するかを判定するためにスキャンされ得る。所定のシグニチャセットに適合する任意の識別されたイベント、属性、プロセス、ファイル、ネットワークパケット、アクティビティ、又は他の特徴を検出すると同時に、検出モジュール104は、対応するセキュリティインシデントを検出し、対応するシグニチャレポートを生成することができる。
【0026】
図3に戻って、ステップ304において、本明細書に記載の1つ以上のシステムは、シグニチャレポートを用いてアソシエーションデータベースを検索して、異なるソフトウェアセキュリティプログラムが、クライアントデバイスで予測可能に生成したであろう別のシグニチャレポートを推定することができる。その異なるソフトウェアセキュリティプログラムは、セキュリティインシデントの検出時にクライアントデバイスでは利用可能ではなかったとしてもよい。例えば、検索モジュール106は、
図2におけるサーバ206の一部として、シグニチャレポート210を用いてデータベース120を検索して、異なるソフトウェアセキュリティプログラムがコンピューティングデバイス202で予測可能に生成したであろう別のシグニチャレポート212を推定することができる。
【0027】
本発明で使用するとき、語句「シグニチャレポートを用いてアソシエーションデータベースを検索する」は、一般に、シグニチャレポートに基づいてアソシエーションデータベースの内容を分析すること(例えば、他の相関するか又は関連するシグニチャレポートを推定すること)を広く意味する。同様に、語句「予測可能に生成したであろう」は、一般に、異なるソフトウェアセキュリティ製品が、そのソフトウェアセキュリティ製品が当該クライアントデバイスで利用可能かつ有効であった場合に、そのシグニチャレポート(すなわち、シグニチャレポート212)を、元の実際に検出されたシグニチャレポート(すなわち、シグニチャレポート210)との相関又は関連に基づいて、トリガしたであろうという推論を意味する。加えて、語句「クライアントデバイスで利用可能ではない」は、一般に、異なるソフトウェアセキュリティ製品がクライアントデバイスに存在しないか、又はたとえソフトウェアセキュリティ製品が存在したとしても、そのソフトウェアセキュリティ製品が無効化されていたか、若しくは別の方法で機能していなかったことを意味する。
【0028】
検索モジュール106は、様々な方法でアソシエーションデータベースを検索することができる。一部の実施例では、アソシエーションデータベースは、アソシエーションルールマイニングアルゴリズムにしたがって構築され得る。本明細書で使用するとき、用語「アソシエーションルールマイニングアルゴリズム」は、一般に、異なるソフトウェアセキュリティ製品若しくはエージェントからのシグニチャレポート間の相関又は同時発生率を、方法300の所定の機能に適した方法で示す、裏付けのための信頼度の閾値レベルを超えた規則を導出する任意の技術を意味する。1つの例証的な例として、「アソシエーションルールマイニングアルゴリズム」は、「アソシエーションルールマイニング」に対するWikipedia記事に記述されている定義にしたがって定義することができ、その全体が参照により本明細書中に組み込まれる(https://en.wikipedia.org/wiki/Association_rule_learning)(2016年3月21日にアクセスされた)。一般に、アソシエーションルールマイニングアルゴリズムは、閾値頻度を超えて同時に発生する少なくとも2つのシグニチャレポートのグループを特定するように機能することができる。
【0029】
更に、一部の実施例では、検索モジュール106は、少なくとも2つのシグニチャレポートを推定することによって、シグニチャレポート212を推定してもよい。更に、検索モジュール106は、少なくとも1つのシグニチャレポートがセキュリティ侵害を示すという判定に基づいて、少なくとも2つのシグニチャレポートのうち少なくとも1つのシグニチャレポートをフィルタリングしてもよい。一部の実施例では、少なくとも1つのシグニチャレポートがセキュリティ侵害を示すという判定は、そのシグニチャレポートが、統計的な測定値にしたがってセキュリティ侵害状態と不相応に関連付けられる判定を含み得る。更なる実施例では、少なくとも1つのシグニチャレポートがセキュリティ侵害を示すという判定は、セキュリティ侵害を示すシグニチャレポートにおける信頼度の自動測定値が、信頼度閾値を満たすという判定を含み得る。
【0030】
一部の実施例では、検索モジュール106は、セキュリティインシデントの属性を推論することによって少なくとも部分的にシグニチャレポート212を推定し得る。この属性は、(1)セキュリティインシデントを引き起こした(又は、別の方法でセキュリティインシデントに関連する)ファイルに対するファイル識別子、(2)セキュリティインシデントを引き起こした(又は、別の方法でセキュリティインシデントに関連する)ウェブロケーションに対するユニフォームリソースロケータ、及び/又は(3)セキュリティインシデントを引き起こした(又は、別の方法でセキュリティインシデントに関連する)ウェブロケーションに対するインターネットプロトコルアドレスの少なくとも1つを含み得る。したがって、検索モジュール106は、シグニチャレポートの1つ以上のフィールド又は他の通知を、推論されたこれらの属性とともに読み込み、それによって、シグニチャレポートによって提供される情報の質又は量を改善することができる。代替的に又は加えて、検索モジュール106は、シグニチャレポートに対する更なるコンテキストを提供することができるか、又は別の方法でシグニチャレポート及び関連する保護のためのセキュリティ対策の情報品質並びに実態の反映を改善することができる、セキュリティインシデントの任意の他の属性を推論することができる。加えて、一部の実施例では、検索モジュール106は更に、属性を推論することが正しいという信頼度の程度を測定することができ、かつ測定された信頼度の程度が信頼度閾値を満たすことを判定することができる。したがって、検索モジュール106は、対応する推論が正しいという信頼度が相対的に高い場合にのみ、推論された属性が使用されるか又は報告されることを保証し得る。
【0031】
図4の例において、マネージドセキュリティサービスプロバイダ(「MSSP」)は、当該図に示されているMSSPワークフロー402にしたがって機能し得る。この図に更に示されるように、MSSPワークフロー402は、多数の異なるセキュリティ製品又はプログラム(例えば、異なるバージョン又は銘柄のソフトウェアセキュリティ製品)によって発行される、シグニチャレポート又は他の通知を統合及び/又は正規化することができる。明白に、この図に列挙されたセキュリティ製品は仮想のものである。シグニチャレポート又は他の通知は、イベントテーブル404に統合及び/又は正規化され得て、セキュリティインシデントのソース、セキュリティインシデントのターゲット、及び/又はセキュリティインシデントのタイプを更に特定することができる。
【0032】
図4は更にサマリテーブル406を示し、これには、上記で概要を述べたように、対応するソフトウェアセキュリティプログラムによって発行される該当するシグニチャレポート又は他の通知に対するシグニチャ番号、マシン数、総計、及びシグニチャ名が列挙される。特に、いくつかのシグニチャ名及びレポートは、他のものよりもより情報価値が高い場合がある。例えば、シグニチャ番号681868は、比較的分かりにくく情報価値のない「ASA−6−605:Misc.Unknown IP」というシグニチャ名をただ有するのみである。対照的に、シグニチャ番号92575は、よりいっそう詳細で明確であり、そのため、ユーザ又は顧客にとってより情報価値がありかつ有用な「Worm2.exe Targeted PW Exploit」というシグニチャ名を有する。具体的に、このシグニチャ名は、セキュリティインシデントが、標的化されていない攻撃又は一般大衆への無差別の攻撃とは異なり、標的化された攻撃(「Targeted」)においてパスワード(「PW」)を悪用するか又は脅かす特定のタイプの実行ファイル(「Worm2.exe」)を用いる既知のマルウェアの特定の種に関連していることを示す。したがって、シグニチャ番号92575は、シグニチャ番号681868よりもよりいっそう詳細な、実態に迫った、かつ有用な情報を提供する。
【0033】
図4は更に、サマリテーブル406内に列挙されたシグニチャ番号間の相関又は同時発生率を更に説明する相関テーブル408を示す。議論を単純かつ容易にするために、また
図4の余白の制約のために、相関テーブル408は、シグニチャ番号681868とサマリテーブル406内の残りのシグニチャ番号との間の相関を示すのみである。それにもかかわらず、読者は、たとえシグニチャ番号681868が各相関に関与しない場合であっても、相関テーブル408が、サマリテーブル406内に列挙されたシグニチャ番号間の任意の他の相関を更に含み得ることを容易に理解し得る。
【0034】
この図において更に示されるように、シグニチャ番号681868は、相関率98%を有するシグニチャ番号92575を除いて、その他全てのシグニチャ番号とゼロ又はほぼゼロの相関率を有する。信頼度若しくは妥当性の任意の又は所定の統計的な測定値(例えば、90%相関よりも大きい)に適合し得る、98%という比較的高い相関率は、シグニチャ番号681868及びシグニチャ番号92575が同一の脅威又は攻撃の一部として互いに関連することを強く示している。換言すれば、相関テーブル408は、比較的分かりにくく情報価値のないシグニチャ番号681868が、よりいっそう詳細で情報価値のあるシグニチャ番号92575と更に関連するということを強く示している。したがって、ユーザ又は顧客が、シグニチャ番号681868を生成したクライアントマシン上で、シグニチャ番号92575を予測可能に生成したであろう異なるソフトウェアセキュリティ製品を使用することもなく、特定のセキュリティ製品を使用した場合、ユーザ又は顧客は、シグニチャ番号92575の生成からあらかじめ恩恵を受けることはなかったであろう。それにもかかわらず、たとえユーザ又は顧客が、クライアントデバイス上のシグニチャ番号92575と関連した異なるセキュリティ製品を有効化していなかったとしても、本開示のシステム及び方法は、相関テーブル408における相関などの相関を特定することによって、及びこれらの相関を用いてシグニチャ番号681868と関連するシグニチャレポートを、ユーザ又は顧客が、シグニチャ番号92575の仮想の又は予測されたトリガリングから恩恵を受け得るように、補足又は改善することによって、これらの事態に関連した問題を克服することができる。
【0035】
図3に戻って、ステップ306において、本明細書に記載の1つ以上のシステムは、少なくとも1つの保護措置を実施して、アソシエーションデータベースを検索することによって推定される他のシグニチャレポートに基づいて、セキュリティインシデントに関連したセキュリティ脅威からクライアントデバイスを保護することができる。例えば、実施モジュール108は、
図2におけるサーバ206の一部として、少なくとも1つの保護措置を実施して、データベース120を検索することによって推定されるシグニチャレポート212に基づいて、セキュリティインシデントに関連したセキュリティ脅威からコンピューティングデバイス202を保護することができる。
【0036】
本明細書で使用するとき、用語「保護措置」は、一般に、ソフトウェアセキュリティ製品及び/又はセキュリティベンダが、方法300にしたがって、対応するセキュリティ脅威からクライアントデバイスを保護するために実施することができる任意の好適な措置を意味する。好適な保護措置の例には、セキュリティインシデントレポートを改変、校正及び/若しくは改善すること(例えば、シグニチャレポート212についての情報を含むセキュリティインシデントレポートを校正若しくは補足することによって)、ユーザ若しくは管理者に通知すること、並びに/又はアンチウイルスシグニチャセットを更新すること、1つ以上のクリーニング若しくはイノキュレーション(inoculation)スクリプト若しくはプログラムを実行すること、1つ以上のセキュリティ対策、設定及び/若しくは特性を有効にすること、高めること及び/若しくは強化すること、及び/若しくは1つ以上のソフトウェア、ハードウェア、仮想及び/若しくはネットワークコンピューティングリソースを無効にすること、隔離すること、サンドボックス化すること及び/若しくは電源切断すること(例えば、これらの保護措置の1つ以上がシグニチャレポート210及び/若しくはシグニチャレポート212に明確に規定及び/若しくは調整されている場合に)などの是正措置を自動的に実施すること(及び/若しくはユーザ又は管理者が実施するように促すこと)を挙げてもよい。
【0037】
実施モジュール108は、様々な方法で保護措置を実施することができる。一般に、実施モジュール108は、上述のようにシグニチャレポート212の推定から導出される情報を用いてセキュリティインシデントレポートを補足又は改善することによって、保護措置を実施することができる。したがって、実施モジュール108は、方法300のステップ304にしたがって推定又は推論された「架空のイベント(phantom event)」に関連する情報を用いてセキュリティインシデントレポートを補足することによって、セキュリティインシデントレポート又は他の通知の情報の質及び量を改善することができる。補足された情報によって、実施モジュール108が、より詳細に調整されてシグニチャレポート212と関連するより詳細に特定されたセキュリティ脅威に対処する、上記の措置などの追加の是正措置を実施することも可能になり得る。
【0038】
上記
図3の議論は、本明細書に開示される様々なシステム及び方法の包括的な説明を提供する。加えて、以下の議論は、更なる実施形態についての追加の詳細を提供する。
【0039】
マネージドセキュリティサービスプロバイダ(「MSSP」)によるインシデント検出は、各顧客が一式のセキュリティ製品を配備しているため困難である。エンドポイントセキュリティエージェントがクライアントデバイスに配備されている場合、1つの特定の銘柄のファイアウォールにおける脅威の痕跡情報は、エンドポイントセキュリティエージェントが常に特定する特定のボットネットを示し得るが、エンドポイントセキュリティエージェントが配備されていない場合、ファイアウォールにおける脅威の痕跡情報の意義が極めて不明確になり、不完全な証拠によって提示されるときに顧客によって措置が講じられなくなる場合がある。本開示のシステム及び方法は、有用な「仮想のイベント」(すなわち、実際の及び元の脅威の痕跡情報が発生した時点で実際には存在せず、かつ有効ではなかった仮定上のエンドポイントセキュリティエージェントからの)が、仮定上のエンドポイントセキュリティエージェント又は製品がクライアント上で利用可能かつ有効であった場合にトリガされたであろうことを推論することによって、顧客のインシデントを理解する能力を向上させる。
【0040】
セキュリティインシデントに対する追加のコンテキストとして欠落しているイベントを推論することにより、本開示のシステム及び方法は、追加のセキュリティエージェント及び製品が多くの場合に出力するであろうコンテキストを提供する。1つの目的は、セキュリティインシデントシナリオにおいて第1のセキュリティ製品によって生成されるどのシグニチャが、第2の異なる製品によって生成されるシグニチャの特定のセットの存在を、2つの製品が顧客環境においてお互いに並列に配備されている場合に必ず、強く暗示するかを特定することである。顧客が第2の製品を欠いた状態で第1の製品を配備し、第1の製品がセキュリティインシデントを検出する場合、本システム及び方法は、第2の製品によって強く暗示される「架空のイベント」としてのシグニチャを含んで、セキュリティインシデントに対する追加のコンテキストを提供することができる。第2の製品により暗示されるシグニチャは、実際にトリガされた第1の製品のシグニチャとの相関の統計的閾値を満たすという意味で「強く暗示され」得る。
【0041】
架空のイベントを特定するために、複数の可能な方法がある。一実施形態では、アソシエーションルールマイニングは架空のイベントを特定することができる。アソシエーションルールマイニングは、頻繁に同時発生するシグニチャの高頻度のグループを特定することによって進行し得る(すなわち、統計的閾値にしたがって)。一実施形態では、本システム及び方法は、2つの製品が特定の顧客環境に共に配備されるときに、2つの製品の間の架空のシグナルを生成するためにシグニチャの高頻度のグループを算出する。2つの製品に及ぶシグニチャのグループが一旦特定されたら、本システム及び方法は、2つの製品由来のシグニチャ間の規則の裏付けを測定する(例えば、アソシエーションルールマイニングにしたがって)。本システム及び方法はまた、アソシエーションルールマイニングの規則(例えば、規則が利用する時間の比率)の1つ以上の裏付けを判別し得る。
【0042】
一部の実施例では、本システム及び方法は、特定の架空のイベントのみが報告されるか又は実行されるように、選択的に架空のイベントをフィルタリングしてもよい。例えば、いくつかの架空のイベントは、他の架空のイベントよりもセキュリティ侵害をより顕著に示し得る。一般に、いくつかの架空のイベントは、情報の質及び洞察の観点から他の架空のイベントよりも有益であり得る。本システム及び方法は、次のメカニズム、(1)高度な厳密さ又は高い信頼度にしたがって手動で特定された仮想のイベントを含むこと、(2)どの架空のイベント(又はイベントタイプ)が、セキュリティ侵害ではない状態(すなわち、偽陽性)とは対照的にセキュリティ侵害状態において不相応に作動しているかを判定すること、及び(3)常に又はほとんど常に(統計的閾値にしたがって)真のセキュリティ侵害を示すより深刻なシグニチャと関連して発生するシグニチャを特定する、セキュリティベンダの信頼度スコアを使用すること、によってより価値の高い架空のイベントを特定することができる。
【0043】
加えて、本システム及び方法は、架空のイベントに対する属性を自動的に読み込むことができる。本システム及び方法は、架空のイベントの属性を推論することができる。本システム及び方法はまた、そのイベント(例えば、ブロックされない、ブロックされる、隔離される)に関連する最も起こりそうな措置などのイベントタイプを特定することができる。推論可能であり得る追加のフィールドは、関与したファイル、ユニフォームリソースロケータ、インターネットプロトコルアドレスなどを含む。一部の実施例では、本システム及び方法は、統計的な測定値及び閾値にしたがって高い確実性を有して推論され得るならば、これらの更なる属性のみを含むであろう。
【0044】
したがって、本システム及び方法は、マネージドセキュリティサービスの顧客が、マネージドセキュリティサービスプロバイダ(及び関連するソフトウェア)が検出するシグニチャをより理解することを支援する。本システム及び方法によって、顧客がこれらの検出に基づいて行動することになる可能性も増大する。本システム及び方法はまた、顧客が期待して、追加のセキュリティ製品(例えば、マネージドセキュリティサービスプロバイダから配布された)の実際の配備によって得られるであろうことを顧客に示すメカニズムとして有用である。
【0045】
図5は、本明細書に記載及び/又は図示される実施形態のうち1つ以上を実装できる例示的なコンピューティングシステム510のブロック図である。例えば、コンピューティングシステム510の全て又は一部は、単独で又は他の要素と組み合わせのいずれかで、(
図3に示されるステップのうち1つ以上などの)本明細書に記載されるステップのうち1つ以上を実施してもよく、及び/又はそれを実施するための手段であってもよい。コンピューティングシステム510の全て又は一部は、また、本明細書に記載及び/又は図示される他の任意のステップ、方法、若しくは処理を実施し、及び/又はそれを実施するための手段となり得る。
【0046】
コンピューティングシステム510は、コンピュータ可読命令を実行することが可能な任意のシングル若しくはマルチプロセッサのコンピューティングデバイス又はシステムを幅広く表す。コンピューティングシステム510の例としては、非限定的に、ワークステーション、ラップトップ、クライアント側端末、サーバ、分散型コンピューティングシステム、ハンドヘルドデバイス、又は他の任意のコンピューティングシステム若しくはデバイスが挙げられる。その最も基本的な構成において、コンピューティングシステム510は、少なくとも1つのプロセッサ514及びシステムメモリ516を含んでもよい。
【0047】
プロセッサ514は、データの処理又は命令の解釈及び実行が可能な任意のタイプ若しくは形式の物理的処理ユニット(例えば、ハードウェア実装型中央処理ユニット)を、一般に表す。特定の実施形態では、プロセッサ514は、ソフトウェアアプリケーション又はモジュールから命令を受信してもよい。これらの命令は、プロセッサ514に、本明細書において記載及び/又は図示される例示的な実施形態のうちの1つ以上の機能を実施させてもよい。
【0048】
システムメモリ516は、一般に、データ及び/又は他のコンピュータ可読命令を格納することができる任意のタイプ若しくは形態の揮発性又は不揮発性記憶デバイスを表す。システムメモリ516の例としては、非限定的に、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、フラッシュメモリ、又は他の任意の好適なメモリデバイスが挙げられる。必須ではないが、特定の実施形態では、コンピューティングシステム510は、揮発性メモリユニット(例えば、システムメモリ516など)、及び不揮発性記憶デバイス(例えば、詳細に後述するような、一次記憶デバイス532など)の両方を含み得る。一実施例では、
図1のモジュール102のうち1つ以上がシステムメモリ516にロードされ得る。
【0049】
特定の実施形態では、例示的なコンピューティングシステム510は、また、プロセッサ514及びシステムメモリ516に加えて、1つ以上の構成要素又は要素を含んでもよい。例えば、
図5に示されるように、コンピューティングシステム510は、メモリコントローラ518、入力/出力(I/O)コントローラ520、及び通信インターフェース522を含んでもよいが、それらはそれぞれ通信基盤512を介して相互接続されてもよい。通信基盤512は、一般に、コンピューティングデバイスの1つ以上の構成要素間の通信を容易にすることができる、任意のタイプ又は形態の基盤を表す。通信基盤512の例としては、非限定的に、通信バス(業界標準アーキテクチャ(ISA)、周辺装置相互接続(PCI)、PCIエクスプレス(PCIe)、又は類似のバスなど)及びネットワークが挙げられる。
【0050】
メモリコントローラ518は、一般に、メモリ若しくはデータを扱うこと、又はコンピューティングシステム510の1つ以上の構成要素間の通信を制御することが可能な、任意のタイプ又は形態のデバイスを表す。例えば、特定の実施形態では、メモリコントローラ518は、通信基盤512を介して、プロセッサ514、システムメモリ516、及びI/Oコントローラ520の間の通信を制御してもよい。
【0051】
I/Oコントローラ520は、一般に、コンピューティングデバイスの入出力機能を調整及び/又は制御することが可能な、任意のタイプ又は形態のモジュールを表す。例えば、特定の実施形態では、I/Oコントローラ520は、プロセッサ514、システムメモリ516、通信インターフェース522、ディスプレイアダプタ526、入力インターフェース530、及び記憶インターフェース534など、コンピューティングシステム510の1つ以上の要素間におけるデータの転送を制御し、又はそれを容易にし得る。
【0052】
通信インターフェース522は、例示的なコンピューティングシステム510と1つ以上の追加のデバイスとの間の通信を容易にすることが可能な、任意のタイプ又は形態の通信デバイス又はアダプタを幅広く表す。例えば、特定の実施形態では、通信インターフェース522は、コンピューティングシステム510と、追加のコンピューティングシステムを含む私設又は公共ネットワークとの間の通信を容易にし得る。通信インターフェース522の例としては、非限定的に、有線ネットワークインターフェース(ネットワークインターフェースカードなど)、無線ネットワークインターフェース(無線ネットワークインターフェースカードなど)、モデム、及び他の任意の好適なインターフェースが挙げられる。少なくとも1つの実施形態では、通信インターフェース522は、インターネットなどのネットワークへの直接リンクを介して、リモートサーバへの直接接続を提供し得る。通信インターフェース522はまた、例えば、ローカルエリアネットワーク(イーサネット(登録商標)ネットワークなど)、パーソナルエリアネットワーク、電話若しくはケーブルネットワーク、セルラー電話接続、衛星データ接続、又は他の任意の好適な接続を通して、そのような接続を間接的に提供し得る。
【0053】
特定の実施形態では、通信インターフェース522はまた、外部バス又は通信チャネルを介して、コンピューティングシステム510と1つ以上の追加のネットワーク又は記憶デバイスとの間の通信を容易にするように構成された、ホストアダプタを表し得る。ホストアダプタの例としては、非限定的に、小型コンピュータシステムインターフェース(SCSI)ホストアダプタ、ユニバーサルシリアルバス(USB)ホストアダプタ、米国電気電子学会(IEEE)1394ホストアダプタ、アドバンストテクノロジーアタッチメント(ATA)、パラレルATA(PATA)、シリアルATA(SATA)、及び外部SATA(eSATA)ホストアダプタ、ファイバーチャネルインターフェースアダプタ、イーサネット(登録商標)アダプタなどが挙げられる。通信インターフェース522はまた、コンピューティングシステム510が分散型又はリモートコンピューティングに関与することを可能にし得る。例えば、通信インターフェース522は、実行のためにリモートデバイスから命令を受信、又はリモートデバイスに命令を送信し得る。
【0054】
図5に示すように、コンピューティングシステム510はまた、ディスプレイアダプタ526を介して通信基盤512に連結される少なくとも1つのディスプレイデバイス524を含み得る。ディスプレイデバイス524は、ディスプレイアダプタ526によって転送される情報を視覚的に表示することができる、任意のタイプ若しくは形態のデバイスを、一般に表す。同様に、ディスプレイアダプタ526は、ディスプレイデバイス524に表示するために、通信基盤512から(又は当該技術分野において既知であるように、フレームバッファから)グラフィックス、テキスト、及び他のデータを転送するように構成された、任意のタイプ若しくは形態のデバイスを、一般に表す。
【0055】
図5に示すように、例示的なコンピューティングシステム510はまた、入力インターフェース530を介して通信基盤512に連結される少なくとも1つの入力デバイス528を含み得る。入力デバイス528は、コンピュータ又は人間のいずれかが生成した入力を、例示的なコンピューティングシステム510に提供することができる、任意のタイプ若しくは形態の入力デバイスを、一般に表す。入力デバイス528の例としては、非限定的に、キーボード、ポインティングデバイス、音声認識デバイス、又は他の任意の入力デバイスが挙げられる。
【0056】
図5に示すように、例示的なコンピューティングシステム510はまた、記憶インターフェース534を介して通信基盤512に連結される、一次記憶デバイス532及びバックアップ記憶デバイス533を含み得る。記憶デバイス532及び533は、一般に、データ及び/又は他のコンピュータ可読命令を格納することができる、任意のタイプ若しくは形態の記憶デバイス又は媒体を表す。例えば、記憶デバイス532及び533は、磁気ディスクドライブ(例えば、いわゆるハードドライブ)、ソリッドステートドライブ、フロッピーディスクドライブ、磁気テープドライブ、光ディスクドライブ、フラッシュドライブなどであり得る。記憶インターフェース534は、一般に、記憶デバイス532及び533とコンピューティングシステム510の他の構成要素との間でデータを転送するための、任意のタイプ若しくは形態のインターフェース又はデバイスを表す。一実施例では、
図1のデータベース120は、一次記憶デバイス532内に格納され得る。
【0057】
特定の実施形態では、記憶デバイス532及び533は、コンピュータソフトウェア、データ、又は他のコンピュータ可読情報を格納するように構成された取外し可能な記憶ユニットから読み出す、及び/又はそれに書き込むように構成され得る。好適な取外し可能な記憶ユニットの例としては、非限定的に、フロッピーディスク、磁気テープ、光ディスク、フラッシュメモリデバイスなどが挙げられる。記憶デバイス532及び533はまた、コンピュータソフトウェア、データ、又は他のコンピュータ可読命令が、コンピューティングシステム510にロードされることを可能にする、他の同様の構造体又はデバイスを含み得る。例えば、記憶デバイス532及び533は、ソフトウェア、データ、又は他のコンピュータ可読情報を読み出すように、及びこれを書き込むように構成され得る。記憶デバイス532及び533はまた、コンピューティングシステム510の一部であってもよく、又は他のインターフェースシステムを介してアクセスされる別個のデバイスであってもよい。
【0058】
他の多くのデバイス又はサブシステムが、コンピューティングシステム510に接続され得る。反対に、
図5に示す構成要素及びデバイスの全てが、本明細書に記載及び/又は図示される実施形態を実践するために存在する必要があるわけではない。上記で言及したデバイス及びサブシステムはまた、
図5に示されるのとは異なる方法で相互接続され得る。コンピューティングシステム510はまた、任意の数のソフトウェア、ファームウェア、及び/又はハードウェアの構成を用い得る。例えば、本明細書で開示する例示的な実施形態の1つ以上は、コンピュータ可読媒体上で、コンピュータプログラム(コンピュータソフトウェア、ソフトウェアアプリケーション、コンピュータ可読命令、又はコンピュータ制御論理とも称される)としてコード化されてもよい。「コンピュータ可読媒体」という用語は、本明細書で使用するとき、一般に、コンピュータ可読命令を
格納することができる、任意の形態のデバイス、キャリア、又は媒体を指す。コンピュータ可読媒体の例としては、非限定的に
、磁気記憶媒体(例えば、ハードディスクドライブ、テープドライブ、及びフロッピーディスク)、光学記憶媒体(例えば、コンパクトディスク(CD)、デジタルビデオディスク(DVD)、及びブルーレイ(BLU−RAY(登録商標))ディスク)、電子記憶媒体(例えば、ソリッドステートドライブ及びフラッシュメディア)、及び他の分散システムなどの非一時的媒体が挙げられる。
【0059】
コンピュータプログラムを包含するコンピュータ可読媒体は、コンピューティングシステム510にロードされ得る。コンピュータ可読媒体に格納されたコンピュータプログラムの全て又は一部は、次に、システムメモリ516に、及び/又は記憶デバイス532及び533の様々な部分に格納され得る。プロセッサ514によって実行されると、コンピューティングシステム510にロードされたコンピュータプログラムは、プロセッサ514に、本明細書に記載及び/又は図示される例示的な実施形態のうち1つ以上の機能を実施させ、及び/又はそれらを実施するための手段となり得る。追加的に又は代替案として、本明細書に記載及び/又は図示される例示的な実施形態の1つ以上は、ファームウェア及び/又はハードウェアに実装されてもよい。例えば、コンピューティングシステム510は、本明細書に開示される例示的な実施形態のうちの1つ以上を実装するように適合された特定用途向け集積回路(ASIC)として構成されてもよい。
【0060】
図6は、クライアントシステム610、620、及び630、並びにサーバ640及び645がネットワーク650に連結され得る、例示的なネットワークアーキテクチャ600のブロック図である。上記に詳述したように、ネットワークアーキテクチャ600の全て又は一部は、単独又は他の要素との組み合わせのいずれかで、本明細書に開示されるステップのうちの1つ以上(
図3に示されるステップのうちの1つ以上など)を実施してもよく、及び/又はそれを実施するための手段であってもよい。ネットワークアーキテクチャ600の全て又は一部はまた、本開示に記載される他のステップ及び特徴を実施するのに使用されてもよく、及び/又はそれを実施するための手段であってもよい。
【0061】
クライアントシステム610、620、及び630は、一般に、
図5の例示的なコンピューティングシステム510など、任意のタイプ若しくは形態のコンピューティングデバイス又はシステムを表す。同様に、サーバ640及び645は、様々なデータベースサービスを提供し、及び/又は特定のソフトウェアアプリケーションを実行するように構成された、アプリケーションサーバ又はデータベースサーバなどのコンピューティングデバイス又はシステムを、一般に表す。ネットワーク650は、例えばイントラネット、WAN、LAN、PAN、又はインターネットを含む、任意の電気通信又はコンピュータネットワークを、一般に表す。一実施例では、クライアントシステム610、620、及び/若しくは630、並びに/又はサーバ640及び/若しくは645は、
図1からのシステム100の全て、又は一部を含み得る。
【0062】
図6に示すように、1つ以上の記憶デバイス660(1)〜(N)はサーバ640に直接取り付けられてもよい。同様に、1つ以上の記憶デバイス670(1)〜(N)は、サーバ645に直接取り付けられてもよい。記憶デバイス660(1)〜(N)及び記憶デバイス670(1)〜(N)は、データ及び/又は他のコンピュータ可読命令を格納することができる、任意のタイプ若しくは形態の記憶デバイス又は媒体を、一般に表す。特定の実施形態では、記憶デバイス660(1)〜(N)及び記憶デバイス670(1)〜(N)は、ネットワークファイルシステム(NFS)、サーバメッセージブロック(SMB)、又は共通インターネットファイルシステム(CIFS)など、様々なプロトコルを使用して、サーバ640及び645と通信するように構成された、ネットワーク接続ストレージ(NAS)デバイスを意味してもよい。
【0063】
サーバ640及び645はまた、ストレージエリアネットワーク(SAN)ファブリック680に接続されてもよい。SANファブリック680は、一般に、複数の記憶デバイス間の通信を容易にすることが可能な、任意のタイプ若しくは形態のコンピュータネットワーク又はアーキテクチャを表す。SANファブリック680は、サーバ640及び645と、複数の記憶デバイス690(1)〜(N)及び/又はインテリジェント記憶アレイ695との間の通信を容易にし得る。SANファブリック680はまた、記憶デバイス690(1)〜(N)及びインテリジェント記憶アレイ695が、クライアントシステム610、620、及び630にローカルで取り付けられたデバイスとして現れるような方式で、ネットワーク650並びにサーバ640及び645を介して、クライアントシステム610、620、及び630と、記憶デバイス690(1)〜(N)及び/又はインテリジェント記憶アレイ695との間の通信を容易にし得る。記憶デバイス660(1)〜(N)及び記憶デバイス670(1)〜(N)と同様に、記憶デバイス690(1)〜(N)及びインテリジェント記憶アレイ695は、データ及び/又は他のコンピュータ可読命令を格納することができる任意のタイプ若しくは形態の記憶デバイス又は媒体を、一般に表す。
【0064】
特定の実施形態では、また
図5の例示的なコンピューティングシステム510を参照すると、
図5の通信インターフェース522などの通信インターフェースは、それぞれのクライアントシステム610、620、及び630とネットワーク650との間の接続を提供するために使用され得る。クライアントシステム610、620、及び630は、例えば、ウェブブラウザ又は他のクライアントソフトウェアを使用して、サーバ640又は645上の情報にアクセスすることが可能であり得る。かかるソフトウェアは、クライアントシステム610、620、及び630が、サーバ640、サーバ645、記憶デバイス660(1)〜(N)、記憶デバイス670(1)〜(N)、記憶デバイス690(1)〜(N)、又はインテリジェント記憶アレイ695によってホストされるデータにアクセスすることを可能にし得る。
図6は、データを交換するために(インターネットなどの)ネットワークを使用することを示しているが、本明細書に記載及び/又は図示される実施形態は、インターネット又は任意の特定のネットワークベースの環境に限定されない。
【0065】
少なくとも1つの実施形態では、本明細書に開示される例示的な実施形態のうち1つ以上の全て又は一部は、コンピュータプログラムとしてコード化され、サーバ640、サーバ645、記憶デバイス660(1)〜(N)、記憶デバイス670(1)〜(N)、記憶デバイス690(1)〜(N)、インテリジェント記憶アレイ695、又はこれらの任意の組み合わせ上にロードされ、これらによって実行され得る。本明細書に開示される例示的な実施形態のうち1つ以上の全て又は一部はまた、コンピュータプログラムとしてコード化され、サーバ640に格納され、サーバ645によって作動し、ネットワーク650上でクライアントシステム610、620、及び630に配信されてもよい。
【0066】
上で詳述されたように、コンピューティングシステム510及び/又はネットワークアーキテクチャ600の1つ以上の構成要素は、単独又は他の要素との組み合わせのいずれかで、セキュリティ脅威を検出するための例示的な方法の1つ以上のステップを実施し得る、及び/又は実施するための手段であり得る。
【0067】
前述の開示は、特定のブロック図、フローチャート、及び実施例を使用して様々な実施形態を記載しているが、本明細書に記載及び/又は図示されるそれぞれのブロック図の構成要素、フローチャートのステップ、動作、及び/又は構成要素は、個別にかつ/又は集合的に、広範なハードウェア、ソフトウェア、又はファームウェア(若しくはそれらの任意の組み合わせ)の構成を使用して実現されてもよい。それに加えて、同じ機能性を達成するように他の多くのアーキテクチャを実現することができるので、他の構成要素内に包含される構成要素のあらゆる開示は、本質的に例示と見なされるべきである。
【0068】
一部の実施例では、
図1の例示的なシステム100の全て又は一部は、クラウドコンピューティング環境又はネットワークベースの環境の一部を表してもよい。クラウドコンピューティング環境は、インターネットを介して、様々なサービス及びアプリケーションを提供してもよい。これらのクラウドベースのサービス(例えば、サービスとしてのソフトウェア、サービスとしてのプラットフォーム、サービスとしての基盤など)は、ウェブブラウザ又は他のリモートインターフェースを通してアクセス可能であってもよい。本明細書に記載する様々な機能は、リモートデスクトップ環境又は他の任意のクラウドベースのコンピューティング環境を通して提供されてもよい。
【0069】
様々な実施形態では、
図1の例示的なシステム100の全て又は一部は、クラウドベースのコンピューティング環境内におけるマルチテナンシーを容易にしてもよい。換言すれば、本明細書に記載するソフトウェアモジュールは、本明細書に記載する機能の1つ以上に対するマルチテナンシーを容易にするように、コンピューティングシステム(例えば、サーバ)を構成してもよい。例えば、本明細書に記載するソフトウェアモジュールの1つ以上は、2つ以上のクライアント(例えば、顧客)がサーバ上で作動しているアプリケーションを共有するのを可能にするように、サーバをプログラムしてもよい。このようにプログラムされたサーバは、複数の顧客(即ち、テナント)の間で、アプリケーション、オペレーティングシステム、処理システム、及び/又は記憶システムを共有してもよい。本明細書に記載するモジュールの1つ以上はまた、ある顧客が別の顧客のデータ及び/又は設定情報にアクセスできないように、顧客ごとにマルチテナントアプリケーションのデータ及び/又は設定情報を分割してもよい。
【0070】
様々な実施形態によれば、
図1の例示的なシステム100の全て又は一部は仮想環境内で実現されてもよい。例えば、本明細書に記載するモジュール及び/又はデータは、仮想機械内で常駐及び/又は実行してもよい。本明細書で使用するとき、「仮想機械」という用語は、一般に、仮想機械マネージャ(例えば、ハイパーバイザ)によってコンピューティングハードウェアから抽出される、任意のオペレーティングシステム環境を指す。それに加えて、又は別の方法として、本明細書に記載するモジュール及び/又はデータは、仮想化層内で常駐及び/又は実行してもよい。本明細書で使用するとき、「仮想化層」という用語は、一般に、オペレーティングシステム環境にオーバーレイする、並びに/あるいはそこから抽出される、任意のデータ層及び/又はアプリケーション層を指す。仮想化層は、基礎となる基本オペレーティングシステムの一部であるかのように仮想化層を提示する、ソフトウェア仮想化ソリューション(例えば、ファイルシステムフィルタ)によって管理されてもよい。例えば、ソフトウェア仮想化ソリューションは、最初に基本ファイルシステム及び/又はレジストリ内の場所に方向付けられる呼び出しを、仮想化層内の場所にリダイレクトしてもよい。
【0071】
一部の実施例では、
図1の例示的なシステム100の全て又は一部は、モバイルコンピューティング環境の一部を表してもよい。モバイルコンピューティング環境は、携帯電話、タブレットコンピュータ、電子ブックリーダー、携帯情報端末、ウェアラブルコンピューティングデバイス(例えば、ヘッドマウントディスプレイを備えたコンピューティングデバイス、スマートウォッチなど)などを含む、広範なモバイルコンピューティングデバイスによって実現されてもよい。一部の実施例において、モバイルコンピューティング環境は、例えば、バッテリ電力への依存、任意の所与の時間での1つのみのフォアグラウンドアプリケーションの提示、リモート管理特性、タッチスクリーン特性、位置及び移動データ(例えば、グローバルポジショニングシステム、ジャイロスコープ、加速度計などによって提供される)、システムレベルの構成への修正を制限する、及び/又は第3者のソフトウェアが他のアプリケーションの挙動を検査する能力を限定する制限されたプラットフォーム、アプリケーションのインストールを(例えば、認可されたアプリケーションストアからのみ生じるように)制限する制御などを含む、1つ以上の個別の特性を有することができる。本明細書で説明される様々な機能は、モバイルコンピューティング環境に対して提供され得る、及び/又はモバイルコンピューティング環境と相互作用し得る。
【0072】
それに加えて、
図1の例示的なシステム100の全て又は一部は、情報管理のための1つ以上のシステムの部分を表してもよく、それと相互作用してもよく、それによって生成されるデータを消費してもよく、かつ/又はそれによって消費されるデータを生成してもよい。本明細書で使用するとき、「情報管理」という用語は、データの保護、組織化、及び/又は記憶を指してもよい。情報管理のためのシステムの例としては、非限定的に、記憶システム、バックアップシステム、アーカイブシステム、複製システム、高可用性システム、データ検索システム、仮想化システムなどを挙げることができる。
【0073】
一部の実施形態では、
図1の例示的なシステム100の全て又は一部は、情報セキュリティのための1つ以上のシステムの部分を表してもよく、それによって保護されるデータを生成してもよく、かつ/又はそれと通信してもよい。本明細書で使用するとき、「情報セキュリティ」という用語は、保護されたデータに対するアクセスの制御を指してもよい。情報セキュリティのためのシステムの例としては、非限定的に、管理されたセキュリティサービスを提供するシステム、データ損失防止システム、本人認証システム、アクセス制御システム、暗号化システム、ポリシー遵守システム、侵入検出及び防止システム、電子証拠開示システムなどを挙げることができる。
【0074】
一部の実施例によれば、
図1の例示的なシステム100の全て又は一部は、エンドポイントセキュリティのための1つ以上のシステムの部分を表してもよく、それと通信してもよく、かつ/又はそれから保護を受けてもよい。本明細書で使用するとき、「エンドポイントセキュリティ」という用語は、不正及び/若しくは違法な使用、アクセス、並びに/又は制御からのエンドポイントシステムの保護を指してもよい。エンドポイント保護のためのシステムの例としては、非限定的に、アンチマルウェアシステム、ユーザ認証システム、暗号化システム、プライバシーシステム、スパムフィルタリングサービスなどを挙げることができる。
【0075】
本明細書に記載及び/又は図示されるプロセスパラメータ及びステップの順序は、単なる例として与えられるものであり、所望に応じて変更することができる。例えば、本明細書に図示及び/又は記載されるステップは特定の順序で図示又は考察されることがあるが、これらのステップは、必ずしも図示又は考察される順序で実施される必要はない。本明細書に記載及び/又は図示される様々な例示的な方法はまた、本明細書に記載若しくは図示されるステップの1つ以上を省略するか、又は開示されるものに加えて追加のステップを含んでもよい。
【0076】
様々な実施形態を、完全に機能的なコンピューティングシステムの文脈で本明細書に記載及び/又は図示してきたが、これらの例示的な実施形態の1つ以上は、実際に配布を実施するのに使用されるコンピュータ可読媒体の特定のタイプにかかわらず、様々な形態のプログラム製品として配布されてもよい。本明細書に開示される実施形態はまた、特定のタスクを実施するソフトウェアモジュールを使用して実現されてもよい。これらのソフトウェアモジュールは、コンピュータ可読記憶媒体又はコンピューティングシステムに格納されてもよい、スクリプト、バッチ、若しくは他の実行可能ファイルを含んでもよい。一部の実施形態では、これらのソフトウェアモジュールは、本明細書に開示される例示的な実施形態の1つ以上を実施するようにコンピューティングシステムを構成してもよい。
【0077】
それに加えて、本明細書に記載するモジュールの1つ以上は、データ、物理的デバイス、及び/又は物理的デバイスの表現を、1つの形態から別の形態へと変換してもよい。それに加えて、又は別の方法として、本明細書に列挙されるモジュールの1つ以上は、コンピューティングデバイス上で実行し、コンピューティングデバイスにデータを格納し、並びに/あるいは別の方法でコンピューティングデバイスと相互作用することによって、プロセッサ、揮発性メモリ、不揮発性メモリ、及び/又は物理的コンピューティングデバイスの他の任意の部分を、1つの形態から別の形態へと変換してもよい。
【0078】
上述の記載は、本明細書に開示される例示的な実施形態の様々な態様を他の当業者が最良に利用するのを可能にするために提供されてきた。この例示的な記載は、網羅的であることを意図するものではなく、又は開示される任意の正確な形態に限定することを意図するものではない。本開示の趣旨及び範囲から逸脱することなく、多くの修正及び変形が可能である。本明細書に開示される実施形態は、あらゆる点で例示的であり、限定的ではないものと見なされるべきである。本開示の範囲を決定する際に、添付の特許請求の範囲及びそれらの等価物を参照するべきである。
【0079】
別途記載のない限り、「〜に接続される」及び「〜に連結される」という用語(並びにそれらの派生語)は、本明細書及び特許請求の範囲で使用するとき、直接的接続及び間接的接続(即ち、他の要素若しくは構成要素を介する)の両方を許容するものとして解釈されるものである。それに加えて、「a」又は「an」という用語は、本明細書及び特許請求の範囲で使用するとき、「〜のうち少なくとも1つ」を意味するものとして解釈されるものである。最後に、簡潔にするため、「含む」及び「有する」という用語(並びにそれらの派生語)は、本明細書及び特許請求の範囲で使用するとき、「備える」という単語と互換性があり、同じ意味を有する。