(57)【要約】  アプリケーションの更新を指示するためにコンピュータによって実施される方法は、以下のステップを含んでいる。（１）アプリケーションの旧バージョンが、コンピューティングシステムのセキュリティ攻撃に悪用されたレートを示す情報を特定するステップ。（２）アプリケーションの後続のバージョンが、コンピューティングシステムのセキュリティへの攻撃に悪用されたレートを示す追加の情報を特定するステップ。（３）アプリケーションの旧バージョンが悪用されたレートと、アプリケーションの後続のバージョンが悪用されたレートとを比較することによって、アプリケーションの旧バージョンから後続のバージョンへの更新が、少なくとも部分的に、コンピューティングシステムのセキュリティに及ぼす影響を判定するステップ。（４）アプリケーションの更新が、コンピューティングシステムのセキュリティに及ぼす影響を判定するステップに基づいた、アプリケーションの旧バージョンのインストールをアプリケーションの後続のバージョンに更新することについての判定を用いて、コンピューティングシステムに指示するステップ。様々な他の方法、システム、及びコンピュータ可読媒体もまた、開示される。
2016521896.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションの更新を指示するための、コンピュータによって実施される方法であって、前記方法の少なくとも一部が、少なくとも１つのプロセッサを備えるコンピューティングデバイスによって実行され、
アプリケーションの旧バージョンのインストールが、コンピューティングシステムのセキュリティへの攻撃に悪用されたレートを示す情報を特定するステップと、
前記アプリケーションの後続のバージョンのインストールが、コンピューティングシステムのセキュリティへの攻撃に悪用されたレートを示す追加の情報を特定するステップと、
前記アプリケーションの前記旧バージョンのインストールが悪用された前記レートと、前記アプリケーションの前記後続のバージョンのインストールが悪用された前記レートとを比較することによって、前記アプリケーションの前記旧バージョンから前記後続のバージョンへの更新が、少なくとも部分的に、コンピューティングシステムのセキュリティに及ぼす影響を判定するステップと、
前記アプリケーションの更新が、コンピューティングシステムのセキュリティに及ぼす影響に少なくとも部分的に基づいた、前記アプリケーションの前記旧バージョンのインストールを前記アプリケーションの前記後続のバージョンに更新することについての判定を用いて、少なくとも１つのコンピューティングシステムに指示するステップとを含む方法。
【請求項２】
前記アプリケーションの前記旧バージョンから前記後続のバージョンへの更新が、コンピューティングシステムのセキュリティに及ぼす影響を判定するステップが、前記アプリケーションの前記旧バージョンが、前記アプリケーションの前記後続のバージョンよりも悪用されやすいと判定するステップを含む、請求項１に記載のコンピュータによって実施される方法。
【請求項３】
前記アプリケーションの前記旧バージョンの前記インストールを更新することについての判定を用いて前記コンピューティングシステムに指示するステップが、前記アプリケーションの前記旧バージョンの前記インストールを、前記アプリケーションの前記後続のバージョンに更新するように前記コンピューティングシステムに指示するステップを含む、請求項２に記載のコンピュータによって実施される方法。
【請求項４】
前記アプリケーションの前記旧バージョンの前記インストールを更新することについての判定を用いて前記コンピューティングシステムに指示するステップが、前記アプリケーションの前記旧バージョンの前記インストールを、前記アプリケーションの前記後続のバージョンに更新することを推奨する通知を表示するように、前記コンピューティングシステムに指示するステップを含む、請求項２に記載のコンピュータによって実施される方法。
【請求項５】
前記アプリケーションの前記旧バージョンの前記インストールを更新することについての判定を用いて前記コンピューティングシステムに指示するステップが、前記インストールが、前記アプリケーションの前記後続のバージョンに更新されるまで、前記アプリケーションの前記旧バージョンのインストールを無効にするように、前記コンピューティングシステムに指示するステップを含む、請求項２に記載のコンピュータによって実施される方法。
【請求項６】
前記アプリケーションの前記旧バージョンの前記インストールを更新することについての判定を用いて前記コンピューティングシステムに指示するステップが、前記アプリケーションの前記旧バージョンの前記インストールをサンドボックスするステップを含む、請求項２に記載のコンピュータによって実施される方法。
【請求項７】
前記アプリケーションの前記旧バージョンから前記後続のバージョンへの更新が、コンピューティングシステムのセキュリティに及ぼす影響を判定するステップが、前記アプリケーションの前記旧バージョンが、前記アプリケーションの前記後続のバージョンよりも悪用されにくいと判定するステップを含む、請求項１に記載のコンピュータによって実施される方法。
【請求項８】
前記アプリケーションの前記旧バージョンの前記インストールを更新することについての判定を用いて前記コンピューティングシステムに指示するステップが、前記アプリケーションの前記旧バージョンの前記インストールを、前記アプリケーションの前記後続のバージョンに更新しないように、前記コンピューティングシステムに指示するステップを含む、請求項７に記載のコンピュータによって実施される方法。
【請求項９】
前記アプリケーションの前記旧バージョンの前記インストールを更新することについての判定を用いて前記コンピューティングシステムに指示するステップが、前記アプリケーションの前記旧バージョンの前記インストールを、前記アプリケーションの前記後続のバージョンに更新しようとする試みをブロックするステップを含む、請求項７に記載のコンピュータによって実施される方法。
【請求項１０】
前記アプリケーションの前記旧バージョンの前記インストールを更新することについての判定を用いて前記コンピューティングシステムに指示するステップが、前記アプリケーションの前記旧バージョンの前記インストールを、前記アプリケーションの前記後続のバージョンに更新しないことを推奨する通知を表示するように、前記コンピューティングシステムに指示するステップを含む、請求項７に記載のコンピュータによって実施される方法。
【請求項１１】
前記判定を用いて前記コンピューティングシステムに指示するステップが、前記アプリケーションの前記後続のバージョンの安定性評価が、所定の閾値を上回ることの判定に更に基づく、請求項１に記載のコンピュータによって実施される方法。
【請求項１２】
アプリケーションの更新を指示するシステムであって、
特定モジュールであって、
アプリケーションの旧バージョンのインストールが、コンピューティングシステムのセキュリティへの攻撃に悪用されるレートを示す情報を特定し、
前記アプリケーションの後続のバージョンのインストールが、コンピューティングシステムのセキュリティへの攻撃に悪用されるレートを示す追加の情報を特定する、特定モジュールと、
前記アプリケーションの前記旧バージョンのインストールが悪用された前記レートと、前記アプリケーションの前記後続のバージョンのインストールが悪用された前記レートとを比較することによって、前記アプリケーションの前記旧バージョンから前記後続のバージョンへの更新が、コンピューティングシステムのセキュリティの少なくとも一部に与える影響を判定する判定モジュールと、
前記アプリケーションの更新が、コンピューティングシステムのセキュリティに及ぼす影響に少なくとも部分的に基づいた、前記アプリケーションの前記旧バージョンのインストールを前記アプリケーションの前記後続のバージョンに更新することの判定を用いて、少なくとも１つのコンピューティングシステムに指示する指示モジュールと、
前記特定モジュール、前記判定モジュール、及び前記指示モジュールを実行するように構成される少なくとも１つのプロセッサと、を備える、システム。
【請求項１３】
前記判定モジュールが、前記アプリケーションの前記旧バージョンが前記アプリケーションの前記後続のバージョンよりも悪用されやすいと判定することによって、前記アプリケーションの前記旧バージョンから前記後続のバージョンへの更新がコンピューティングシステムのセキュリティに及ぼす影響を判定する、請求項１２に記載のシステム。
【請求項１４】
前記指示モジュールが、前記アプリケーションの前記旧バージョンの前記インストールを、前記アプリケーションの前記後続のバージョンに更新するように指示することによって、前記アプリケーションの前記旧バージョンの前記インストールを更新することについての判定を用いて、前記コンピューティングシステムに指示する、請求項１３に記載のシステム。
【請求項１５】
前記指示モジュールが、前記アプリケーションの前記旧バージョンの前記インストールを、前記アプリケーションの前記後続のバージョンに更新するように指示することによって、前記アプリケーションの前記旧バージョンの前記インストールをアプリケーションの後続のバージョンに更新するよう推奨する通知を表示するように、前記コンピューティングシステムに指示する、請求項１３に記載のシステム。
【請求項１６】
前記指示モジュールが、前記インストールが前記アプリケーションの前記後続のバージョンに更新されるまで、前記アプリケーションの前記旧バージョンの前記インストールを無効にするようにコンピューティングシステムに指示することによって、前記アプリケーションの前記旧バージョンの前記インストールの更新についての判定を用いて、前記コンピューティングシステムに指示する、請求項１３に記載のシステム。
【請求項１７】
前記指示モジュールが、前記アプリケーションの前記旧バージョンの前記インストールをサンドボックスすることによって、前記アプリケーションの前記旧バージョンの前記インストールを更新することについての判定を用いて前記コンピューティングシステムに指示する、請求項１３に記載のシステム。
【請求項１８】
前記判定モジュールが、前記アプリケーションの前記旧バージョンが前記アプリケーションの前記後続のバージョンよりも悪用されにくいと判定することによって、前記アプリケーションの前記旧バージョンから前記後続のバージョンへの更新がコンピューティングシステムのセキュリティに及ぼす影響を判定する、請求項１２に記載のシステム。
【請求項１９】
前記指示モジュールが、前記アプリケーションの前記旧バージョンの前記インストールを、前記アプリケーションの前記後続のバージョンに更新しないように指示することによって、前記アプリケーションの前記旧バージョンの前記インストールを更新することについての判定を用いて前記コンピューティングシステムに指示する、請求項１８に記載のシステム。
【請求項２０】
非一時型コンピュータ可読記憶媒体であって、コンピューティングデバイスの少なくとも１つのプロセッサによって実行されるとき、前記コンピューティングデバイスに、
アプリケーションの旧バージョンのインストールが、コンピューティングシステムのセキュリティへの攻撃に悪用されるレートを示す情報を特定し、
前記アプリケーションの後続のバージョンのインストールが、コンピューティングシステムのセキュリティへの攻撃に悪用されるレートを示す追加の情報を特定する、特定モジュールと、
前記アプリケーションの前記旧バージョンのインストールが悪用された前記レートと、前記アプリケーションの前記後続のバージョンのインストールが悪用された前記レートとを比較することによって、前記アプリケーションの前記旧バージョンから前記後続のバージョンへの更新が、少なくとも部分的に、コンピューティングシステムのセキュリティに及ぼす影響を判定し、
前記アプリケーションの更新が、コンピューティングシステムのセキュリティに及ぼす影響に少なくとも部分的に基づいて、前記アプリケーションの前記旧バージョンのインストールを、前記アプリケーションの前記後続のバージョンに更新することについての判断を用いて少なくとも１つのコンピューティングシステムに指示する、１つ以上のコンピュータ可読命令を含む、非一時型コンピュータ可読記憶媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
消費者や企業は、機密データを記憶し管理するために、コンピューティングシステム（例えば、スマートフォン、タブレット、ラップトップ等）にますます依存するようになっている。その結果、悪意のあるプログラマが、他人が所有するコンピューティングシステムやデータに侵入するように作られたウイルス、トロイの木馬、ワームその他のプログラムを介して、このようなコンピューティングシステムを不正に制御したり、これらにアクセスしたりしようとする試みが増加しつつあることが見受けられる。
【発明の概要】
【発明が解決しようとする課題】
【０００２】
コンピューティングシステムが悪意のある攻撃にさらされる程度は、コンピューティングシステム上で実行されているソフトウェア構成要素（例えば、オペレーティングシステムやアプリケーション）が、悪意のある攻撃にさらされる程度に基づき得る。残念なことに、消費者は、コンピューティングシステム上で実行されている様々なソフトウェア構成要素の脆弱性を評価するには、不十分な立場にいる場合がある。一部の消費者は、ソフトウェア構成要素の新しいバージョンは、より安全であると考えて、あらゆるソフトウェアの更新を信頼して受け入れる場合があるが、その一部は、攻撃への暴露を増加させ得る。別の消費者は、現在コンピューティングシステムにインストールされているソフトウェア構成要素のバージョンは十分に安全であると考えて、攻撃への暴露を低減するソフトウェアの更新を実施する時間や試みを逸する場合がある。したがって、本開示は、アプリケーションの更新を指示するための追加の及び改善されたシステム及び方法に対する必要性を特定し、かつ取り組む。
【課題を解決するための手段】
【０００３】
より詳細に以下に説明されるように、本開示は一般に、アプリケーションの新しいバージョンが、より攻撃に悪用されやすい（悪用されにくい）かどうかを判定することによって、アプリケーションの更新を指示し、その後、アプリケーションのより安全なバージョンへの更新を容易にする、及び／又は促進する命令を用いてコンピューティングシステムに指示し、且つ／或いはアプリケーションのより安全でないバージョンへの更新を防止、予防及び／又は阻止する命令を用いてコンピューティングシステムに指示するためのシステム及び方法に関する。
【０００４】
１つの例で、アプリケーションの更新を指示するためにコンピュータによって実施される方法は、以下のステップを含んでいる。（１）アプリケーションの旧バージョンのインストールが、コンピューティングシステムのセキュリティへの攻撃に悪用されたレートを示す情報を特定するステップ。（２）アプリケーションの後続のバージョンのインストールが、コンピューティングシステムのセキュリティへの攻撃に悪用されるレートを示す追加の情報を特定するステップ。（３）アプリケーションの旧バージョンのインストールが悪用されたレートと、アプリケーションの後続のバージョンのインストールが悪用されたレートとを比較することによって、アプリケーションの旧バージョンから後続のバージョンへの更新が、少なくとも部分的にコンピューティングシステムのセキュリティに及ぼす影響を判定するステップ。（４）アプリケーションの更新が、コンピューティングシステムのセキュリティに与える影響を判定するステップに少なくとも部分的に基づいて、アプリケーションの旧バージョンのインストールを、アプリケーションの後続のバージョンに更新することについての判定を用いて、少なくとも１つのコンピューティングシステムに指示するステップ。
【０００５】
いくつかの例では、アプリケーションの旧バージョンから後続のバージョンへの更新が、コンピューティングシステムのセキュリティに及ぼす影響を判定するステップは、アプリケーションの旧バージョンが、アプリケーションの後続のバージョンよりも悪用されやすいと判定するステップを含み得る。これらの例では、アプリケーションの旧バージョンのインストールの更新についての判定を用いて、コンピューティングシステムに指示するステップは、アプリケーションの旧バージョンのインストールを、アプリケーションの後続のバージョンに更新するように、コンピューティングシステムに指示するステップを含むことができる。加えて、又は代替的に、これらの例では、アプリケーションの旧バージョンのインストールの更新についての判定を用いて、コンピューティングシステムに指示するステップは、アプリケーションの旧バージョンのインストールを、アプリケーションの後続のバージョンに更新することを推奨する通知を表示するように、コンピューティングシステムに指示するステップを含み得る。これらの例の別の選択肢として、アプリケーションの旧バージョンのインストールの更新についての判定を用いてコンピューティングシステムに指示するステップは、このインストールがアプリケーションの後続のバージョンに更新されるまで、アプリケーションの旧バージョンのインストールを無効にするようにコンピューティングシステムに指示するステップを含み得る。加えて、又は代替的に、アプリケーションの旧バージョンのインストールの更新についての判定を用いてコンピューティングシステムに指示するステップは、アプリケーションの旧バージョンのインストールをサンドボックスするステップを含み得る。
【０００６】
いくつかの例では、アプリケーションの旧バージョンから後続のバージョンへの更新が、コンピューティングシステムのセキュリティに及ぼす影響を判定するステップは、アプリケーションの旧バージョンが、アプリケーションの後続のバージョンよりも悪用されにくいと判定するステップを含み得る。これらの例では、アプリケーションの旧バージョンのインストールの更新についての判定を用いて、コンピューティングシステムに指示するステップは、アプリケーションの旧バージョンのインストールを、アプリケーションの後続のバージョンに更新しないように、コンピューティングシステムに指示するステップを含み得る。加えて、又は代替的に、これらの例では、アプリケーションの旧バージョンのインストールの更新についての判定を用いて、コンピューティングシステムに指示するステップは、アプリケーションの旧バージョンのインストールを、アプリケーションの後続のバージョンに更新しようとする試みをブロックするステップを含み得る。これらの例の別の選択肢として、アプリケーションの旧バージョンのインストールの更新についての判定を用いて、コンピューティングシステムに指示するステップは、アプリケーションの旧バージョンのインストールを、アプリケーションの後続のバージョンに更新しないことを推奨する通知を表示するように、コンピューティングシステムに指示するステップを含み得る。
【０００７】
いくつかの例では、判定を用いてコンピューティングシステムに指示するステップは、アプリケーションの後続のバージョンの安定性評価が、所定の閾値を上回ると判定するステップに更に基づくことができる。
【０００８】
１つの実施形態で、上述の方法を実施するシステムは、以下のものを備えている。（１）特定モジュールであって、（ｉ）アプリケーションの旧バージョンのインストールが、コンピューティングシステムのセキュリティへの攻撃に悪用されるレートを示す情報を特定し、（ｉｉ）アプリケーションの後続のバージョンのインストールが、コンピューティングシステムのセキュリティへの攻撃に悪用されるレートを示す追加の情報を特定する、特定モジュール。（２）アプリケーションの旧バージョンのインストールが悪用されたレートと、アプリケーションの後続のバージョンのインストールが悪用されたレートとを比較することによって、アプリケーションの旧バージョンから後続のバージョンへの更新が、少なくとも部分的にコンピューティングシステムのセキュリティに及ぼす影響を判定する、判定モジュール。（３）アプリケーションの更新が、コンピューティングシステムのセキュリティに及ぼす影響を判定するステップに少なくとも部分的に基づいた、アプリケーションの旧バージョンのインストールの、アプリケーションの後続のバージョンへの更新についての判定を用いて、少なくとも１つのコンピューティングシステムに指示する、指示モジュール。（４）特定モジュール、判定モジュール、及び指示モジュールを実行するように構成された、少なくとも１つのプロセッサ。
【０００９】
いくつかの例では、上に記載される方法は、コンピュータ可読記憶媒体上のコンピュータ可読命令としてコード化されてもよい。例えば、コンピュータ可読記憶媒体は、１つ以上のコンピュータ実行可能な命令を含むことができ、コンピューティングデバイスの少なくとも１つのプロセッサによって実行されると、コンピューティングデバイスに以下のことを行わせる。（１）アプリケーションの旧バージョンのインストールが、コンピューティングシステムのセキュリティへの攻撃に悪用されるレートを示す情報を特定する。（２）アプリケーションの後続のバージョンのインストールが、コンピューティングシステムのセキュリティへの攻撃に悪用されるレートを示す追加の情報を特定する。（３）アプリケーションの旧バージョンのインストールが悪用されたレートと、アプリケーションの後続のバージョンのインストールが悪用されたレートとを比較することによって、アプリケーションの旧バージョンから後続のバージョンへの更新が、少なくとも部分的にコンピューティングシステムのセキュリティに及ぼす影響を判定する。（４）アプリケーションの更新が、コンピューティングシステムのセキュリティに及ぼす影響を判定するステップに少なくとも部分的に基づいて、アプリケーションの旧バージョンのインストールを、アプリケーションの後続のバージョンに更新することについての判定を用いて、少なくとも１つのコンピューティングシステムに指示する。
【００１０】
上に記載される実施形態のいずれかの特徴は、本明細書に記載される一般原理に従って、互いと組み合わせて使用されてもよい。これら及び他の実施形態、特徴、並びに利点は、添付の図面及び特許請求の範囲と併せて以下の発明を実施するための最良の形態を読むことにより、更に十分に理解されるであろう。
【図面の簡単な説明】
【００１１】
以下の図面は、いくつかの例示的な実施形態を示し、本明細書の一部である。以下の説明と共に、これらの図面は、本開示の様々な原理を例証及び説明する。
【図１】アプリケーションの更新を指示するための例示的なシステムのブロック図である。
【図２】アプリケーションの更新を指示するための例示的なシステムのブロック図である。
【図３】アプリケーションの更新を指示するための例示的な方法のフロー図である。
【図４】アプリケーションの更新を指示するための例示的なシステムのブロック図である。
【図５】本明細書に記載及び／又は図示される実施形態のうちの１つ以上を実施することができる、例示的なコンピューティングシステムのブロック図である。
【図６】本明細書に記載及び／又は図示される実施形態のうちの１つ以上を実施することができる、例示的なコンピューティングネットワークのブロック図である。
【００１２】
図面を通して、同一の参照文字及び説明は、類似だが必ずしも同一ではない要素を示す。本明細書に記載される例示的な実施形態は、様々な修正及び代替的な形態が可能であるが、特定の実施形態が例として図面に示され、本明細書に詳細に記載されるであろう。しかしながら、本明細書に説明される例示的な実施形態は、開示される特定の形態に限定されることを意図するものではない。むしろ、本開示は、添付の特許請求の範囲内にある全ての修正、同等物、及び代替物を網羅する。
【発明を実施するための形態】
【００１３】
本開示は、一般にアプリケーションの更新を指示するシステム及び方法を対象とする。より詳細に以下に説明されるように、アプリケーションの新しいバージョンが、より攻撃に悪用されやすい（悪用されにくい）かどうかを判定し、その後に、アプリケーションのより安全なバージョンへの更新を容易にする、及び／又は促進する命令を用いてコンピューティングシステムに指示し、且つ／或いはアプリケーションのより安全でないバージョンへの更新を、防止、予防及び／又は阻止する命令を用いてコンピューティングシステムに指示することによって、本明細書で説明されるシステムは、知的なアプリケーション更新を介して、コンピューティングシステムのセキュリティを高めることができる。
【００１４】
以下で、図１、２、及び４を参照して、アプリケーションの更新を指示するための例示的なシステムについて詳細に説明する。対応するコンピュータによって実施される方法の詳細な説明はまた、図３と併せて提供される。加えて、本明細書に記載される実施形態のうちの１つ以上を実施できる例示的なコンピューティングシステム及びネットワークアーキテクチャについては、図５及び６に関連してそれぞれ詳細に説明する。
【００１５】
図１は、アプリケーションの更新を指示するための例示的なシステム１００のブロック図である。この図に示されるように、例示的なシステム１００は、１つ以上のタスクを実施するための１つ以上のモジュール１０２を含み得る。例えば、より詳細に以下に説明されるように、例示的なシステム１００は、アプリケーションの旧バージョンのインストールが、コンピューティングシステムのセキュリティへの攻撃に悪用されるレートを示す情報を特定し得る、特定モジュール１０４も含むことができる。特定モジュール１０４は、また、アプリケーションの後続のバージョンのインストールが、コンピューティングシステムのセキュリティ攻撃に悪用されるレートを示す追加の情報も特定し得る。例示的なシステム１００は、更に、判定モジュール１０６も含むことができ、これは、アプリケーションの旧バージョンのインストールが悪用されるレートと、アプリケーションの後続のバージョンのインストールが悪用されるレートとを比較することによって、アプリケーションの旧バージョンから後続のバージョンへの更新が、少なくとも部分的にコンピューティングシステムのセキュリティに与える影響を判定し得る。
【００１６】
例示的なシステム１００は、また、アプリケーションの更新が、コンピューティングシステムのセキュリティに及ぼす影響に少なくとも部分的に基づいた、アプリケーションの旧バージョンのインストールをアプリケーションの後続のバージョンに更新することについての判定を用いて、少なくとも１つのコンピューティングシステムに指示し得る、指示モジュール１０８も含み得る。図１のモジュール１０２のうちの１つ以上は、別個の要素として示されているが、単一のモジュール又はアプリケーションの複数の部分を表し得る。
【００１７】
ある実施形態において、図１のモジュール１０２のうちの１つ以上は、コンピューティングデバイスにより実行されるとき、コンピューティングデバイスに１つ以上のタスクを実行させ得る、１つ以上のソフトウェアアプリケーション又はプログラムを表し得る。例えば、より詳細に以下に説明されるように、モジュール１０２のうちの１つ以上は、図２に図示されるデバイス（例えば、コンピューティングデバイス２０２、及び／又はサーバ２０６）、図５のコンピューティングシステム５１０、及び／又は図６の例示的なネットワークアーキテクチャ６００の部分など、１つ以上のコンピューティングデバイスに記憶され、そこで作動するように構成される、ソフトウェアモジュールを表し得る。図１のモジュール１０２のうちの１つ以上はまた、１つ以上のタスクを実行するように構成される、１つ以上の特殊目的のコンピュータの全て又は部分を表し得る。
【００１８】
図１に示されるように、例示的なシステム１００はまた、データベース１２０等の１つ以上のデータベースも含んでもよい。１つの例では、データベース１２０は、アプリケーションを介して行われる悪用についての情報（例えば、アプリケーションの異なるバージョンを区別する情報を含む）を記憶するように構成され得る。
【００１９】
データベース１２０は、単一のデータベース若しくはコンピューティングデバイス、又は複数のデータベース若しくはコンピューティングデバイスの部分を表してもよい。例えば、データベース１２０は、図２のサーバ２０６の一部、図５のコンピューティングシステム５１０、及び／又は図６の例示的なネットワークアーキテクチャ６００の部分を表し得る。或いは、図１のデータベース１２０は、図２のサーバ２０６、図５のコンピューティングシステム５１０、及び／又は図６の例示的なネットワークアーキテクチャ６００の部分等の、コンピューティングデバイスによりアクセスされることが可能な、１つ以上の物理的に分離したデバイスを表し得る。
【００２０】
図１の例示的なシステム１００は、多様な方法で実施されてもよい。例えば、例示的なシステム１００の全て又は一部は、図２の例示的なシステム２００の部分を表し得る。図２に示されるように、システム２００は、ネットワーク２０４を介してサーバ２０６と通信するコンピューティングデバイス２０２を含むことができる。コンピューティングデバイス２０２は、モジュール１０２のうちの１つ以上でプログラムされてもよく、且つ／或いはデータベース１２０のデータの全て又は一部を記憶し得る。加えて、又は代替的に、サーバ２０６は、モジュール１０２のうちの１つ以上でプログラムされてもよく、且つ／或いはデータベース１２０のデータの全て又は一部を記憶し得る。
【００２１】
一実施形態では、図１にあるモジュール１０２のうちの１つ以上は、コンピューティングデバイス２０２及び／又はサーバ２０６のプロセッサのうちの少なくとも１つにより実行されると、コンピューティングデバイス２０２及び／又はサーバ２０６が、アプリケーションの更新を指示するのを容易にし得る。例えば、より詳細に以下に説明されるように、モジュール１０２のうちの１つ以上は、コンピューティングデバイス２０２及び／又はサーバ２０６に、アプリケーションの更新の指示を行わせる。例えば、より詳細に以下に説明されるように、特定モジュール１０４は、アプリケーション２１０の旧バージョン２１４のインストールが、コンピューティングシステムのセキュリティへの攻撃に悪用されるレート２３０を示す悪用情報２２２を特定するようにプログラムされ得る。特定モジュール１０４もまた、アプリケーション２１０の後続のバージョン２１６のインストールが、コンピューティングシステムのセキュリティへの攻撃に悪用されるレート２３２を示す悪用情報２２４を特定するようにプログラムされ得る。判定モジュール１０６は、アプリケーション２１０の旧バージョン２１４のインストールが悪用されるレート２３０と、アプリケーション２１０の後続のバージョン２１６のインストールが悪用されるレート２３２とを比較するステップにより、アプリケーション２１０の旧バージョン２１４から後続のバージョン２１６への更新が、少なくとも部分的にコンピューティングシステムのセキュリティに及ぼす影響を判定するようにプログラムされ得る。指示モジュール１０８は、アプリケーション２１０の更新が、コンピューティングシステムのセキュリティに及ぼす影響の判定に少なくとも部分的に基づいた、アプリケーション２１０の旧バージョン２１４のインストール（例えば、アプリケーションインストール２１０）を、アプリケーション２１０の後続のバージョン２１６（例えば、アプリケーションインストール２１２）に更新することについての判定２４０を用いて、少なくとも１つのコンピューティングシステムに指示するようにプログラムされ得る。
【００２２】
コンピューティングデバイス２０２は、概して、コンピュータで実行可能な命令を読み取ることが可能な任意のタイプ又は形態のコンピューティングデバイスを表す。コンピューティングデバイス２０２の例としては、ラップトップ、タブレット、デスクトップ、サーバ、携帯電話、個人用デジタル補助装置（ＰＤＡ）、マルチメディアプレーヤ、組み込みシステム、これらの１つ以上の組み合わせ、図５の例示的なコンピューティングシステム５１０、又は任意の他の好適なコンピューティングデバイスが挙げられるが、これらに限定されない。
【００２３】
サーバ２０６は、概して、アプリケーションのセキュリティについての情報を収集、記憶、分析、及び／又は使用することが可能である、任意のタイプ又は形態のコンピューティングデバイスを表す。サーバ２０６の例としては、様々なデータベースサービスを提供し、且つ／或いは特定のソフトウェアアプリケーションを実行するように構成されたアプリケーションサーバ及びデータベースサーバが挙げられるが、これらに限定されない。
【００２４】
ネットワーク２０４は、概して、通信又はデータ転送を容易にすることができる、任意の媒体又はアーキテクチャを表す。ネットワーク２０４の例としては、イントラネット、広域ネットワーク（ＷＡＮ）、ローカルエリアネットワーク（ＬＡＮ）、パーソナルエリアネットワーク（ＰＡＮ）、インターネット、電力線通信（ＰＬＣ）、セルラーネットワーク（例えば、グローバルシステムフォーモービルコミュニケーションズ（ＧＳＭ（登録商標））ネットワーク）、図６の例示的なネットワークアーキテクチャ６００などが挙げられるが、これらに限定されない。ネットワーク２０４は、無線又は有線接続を使用して、通信又はデータ転送を容易にすることができる。一実施形態では、ネットワーク２０４はコンピューティングデバイス２０２とサーバ２０６との間の通信を容易にし得る。
【００２５】
図３は、アプリケーションの更新を指示するために例示的なコンピュータによって実施される方法３００のフロー図である。図３に示されるステップは、任意の好適なコンピュータで実行可能なコード及び／又はコンピューティングシステムにより実施されてもよい。いくつかの実施形態では、図３に示すステップは、図１のシステム１００、図２のシステム２００、図５のコンピューティングシステム５１０、及び／又は図６の例示的なネットワークアーキテクチャ６００の部分の構成要素のうちの１つ以上により実行され得る。
【００２６】
図３に示すように、ステップ３０２において、本明細書で説明されるシステムのうちの１つ以上は、アプリケーションの旧バージョンのインストールが、コンピューティングシステムのセキュリティへの攻撃に悪用されるレートを示す情報を特定し得る。例えば、ステップ３０２で、特定モジュール１０４は、図２のコンピューティングデバイス２０２の一部として、アプリケーション２１０の旧バージョン２１４のインストールが、コンピューティングシステムのセキュリティへの攻撃に悪用されるレート２３０を示す悪用情報２２２を特定し得る。
【００２７】
本明細書で使用する、用語「アプリケーション」は、コンピューティングシステム上で実行できる任意のソフトウェア構成要素を指し得る。したがって、用語「アプリケーション」は、コンピューティングシステム上で実行できる任意のアプリケーション、プログラム、ドライバ、モジュール、サービス、及び／又はオペレーティングシステムを指し得る。
【００２８】
本明細書で使用する、語「攻撃」は、マルウェアのインストール、悪用、コンピューティングリソースの不正使用、及び／又はデータの正当なアクセスを実行しようとする任意の試みを指し得る。本明細書で使用する、用語「悪用」は、アプリケーション内のセキュリティの脆弱性を利用する任意の方法を指し得る。
【００２９】
特定モジュール１０４は、アプリケーションのバージョンに関係する悪用及び／又は攻撃のレートを示す、任意の様々なタイプの情報を特定し得る。例えば、特定モジュール１０４は、アプリケーションの旧バージョンに関与することが直接的及び／又は間接的に観察されている、成功した攻撃及び／又は試みられた攻撃の記録を特定し得る。この例では、特定モジュール１０４は、アプリケーションの旧バージョンの悪用レートを判定するために、この記録を分析し得る。いくつかの例では、特定モジュール１０４は、（例えば、アプリケーションの１つ以上の後続のバージョンと比較して）アプリケーションの旧バージョンの悪用の相対的なレートを特定及び／又は判定し得る。いくつかの例では、特定モジュール１０４は、例えば、アプリケーションの旧バージョンの悪用レート、悪用レートの推定に使用され得る悪用の回数、及び／又は悪用の相対的なレートを意味する、アプリケーションの異なるバージョンにわたる悪用頻度の順位を簡単に特定し得る。
【００３０】
特定モジュール１０４は、アプリケーションの旧バージョンが悪用されるレートを示す情報を、任意の好適な方法で特定し得る。例えば、特定モジュール１０４は、アプリケーションで行われる攻撃についての情報を記憶するセキュリティデータベースを照会することによって、このレートを示す情報を特定し得る。例えば、セキュリティデータベースは、多数のコンピューティングデバイスにインストールされた多数のセキュリティシステムから集めたデータを記憶し得る。これらのセキュリティシステムは、攻撃（又は攻撃の証拠）が観察されるとセキュリティサーバに報告することができ、アプリケーションの旧バージョンが観察された攻撃に関与している場合は、アプリケーションの旧バージョンについての情報を報告に含め得る。その後、セキュリティサーバは、今後の分析のために、攻撃についての情報をセキュリティデータベースに記憶し得る。
【００３１】
いくつかの例では、特定モジュール１０４は、アクティブな悪用についての情報をフィールドで特定し得る。例えば、特定モジュール１０４は、アプリケーションの旧バージョンのインストールが攻撃に悪用されるレートを判定するときに、どの悪用が現在最も使用されているかを判定し、これらのアクティブな悪用をより重く評価し得る。いくつかの例では、特定モジュール１０４は、最近の攻撃及び／又は悪用の報告を過去の報告より重く評価し得る。
【００３２】
図４は、アプリケーションの更新を指示するための例示的なコンピューティングシステム４００のブロック図である。図４に見られるように、コンピューティングシステム４００は、インストールされたアプリケーションの旧バージョン４１０を有するコンピューティングデバイス４２０（１）〜（ｎ）、及びインストールされたアプリケーションの後続のバージョン４１２を有するコンピューティングデバイス４２０（１）〜（ｍ）と通信するセキュリティサーバ４０６を含み得る。例として図４を使用すると、コンピューティングデバイス４２０（１）〜（ｎ）は、アプリケーションの旧バージョン４１０を利用した悪用及び／又は攻撃のうちの１つ以上をセキュリティサーバ４０６に報告し得る。セキュリティサーバ４０６は、これらの報告をデータベース１２０に記憶し得る。例えば、ステップ３０２で、特定モジュール１０４は、セキュリティサーバ４０６の一部として、アプリケーションの旧バージョン４１０のインストールが、コンピューティングシステムのセキュリティへの攻撃に悪用されるレートを示す情報を特定し得る。
【００３３】
図３に戻ると、ステップ３０４において、本明細書で説明されるシステムのうちの１つ以上は、アプリケーションの後続のバージョンのインストールが、コンピューティングシステムのセキュリティへの攻撃に悪用されるレートを示す追加の情報を特定し得る。例えば、ステップ３０４で、特定モジュール１０４は、図２のコンピューティングデバイス２０２の一部として、アプリケーション２１０の後続のバージョン２１６のインストールが、コンピューティングシステムのセキュリティへの攻撃に悪用されるレート２３２を示す悪用情報２２４を特定してもよい。
【００３４】
アプリケーションの後続のバージョンは、アプリケーションの旧バージョンと様々な方法のいずれかで関係し得る。例えば、アプリケーションの後続のバージョンは、アプリケーションの旧バージョンの、直後のアプリケーションのバージョンを表し得る。加えて、又は代替的に、アプリケーションの後続のバージョンは、旧バージョンが更新を指示され得るアプリケーションのバージョンを表し得る。いくつかの例では、アプリケーションの後続のバージョンは、旧バージョンよりも後の日付で公開及び／又は配布された、任意のアプリケーションのバージョンを表し得る。加えて、又は代替的に、アプリケーションの後続のバージョンは、旧バージョンよりも後のバージョン番号で、且つ／又は後続のバージョンが旧バージョンに置き換わることを意味する表示で、アプリケーションのバージョンを表し得る。
【００３５】
特定モジュール１０４は、任意の好適な方法で、アプリケーションの後続のバージョンのインストールが悪用されるレートを示す追加の情報を特定し得る。例えば、特定モジュール１０４は、アプリケーションで行われる攻撃についての情報を記憶するセキュリティデータベースを照会することによって、このレートを示す情報を特定し得る。例えば、セキュリティデータベースは、多数のコンピューティングデバイスにインストールされた多数のセキュリティシステムから集めたデータを記憶し得る。これらのセキュリティシステムは、攻撃（又は攻撃の証拠）が観察されるとセキュリティサーバに報告することができ、アプリケーションの旧バージョンが観察された攻撃に関与している場合は、アプリケーションの旧バージョンについての情報を報告に含め得る。その後、セキュリティサーバは、今後の分析のために、攻撃についての情報をセキュリティデータベースに記憶し得る。いくつかの例で、コンピューティングデバイスは、アプリケーションの旧バージョンがインストールされると、セキュリティサーバに１つ以上の報告を送信し、且つアプリケーションが後続のバージョンに更新された後に、セキュリティサーバに１つ以上の追加の報告を送信し得る。
【００３６】
例として図４を使用すると、コンピューティングデバイス４２２（１）〜（ｍ）は、アプリケーションの後続のバージョン４１０を利用した悪用及び／又は攻撃のうちの１つ以上をセキュリティサーバ４０６に報告し得る。セキュリティサーバ４０６は、これらの報告をデータベース１２０に記憶し得る。したがって、ステップ３０４において、特定モジュール１０４は、セキュリティサーバ４０６の一部として、アプリケーションの後続のバージョン４１０のインストールが、コンピューティングシステムのセキュリティへの攻撃に悪用されたレートを示す情報を特定し得る。
【００３７】
図３に戻ると、ステップ３０６において、本明細書で説明されるシステムのうちの１つ以上が、アプリケーションの旧バージョンのインストールが悪用されたレートと、アプリケーションの後続のバージョンのインストールが悪用されたレートとを比較することによって、アプリケーションの旧バージョンから後続のバージョンへの更新が、少なくとも部分的に、コンピューティングシステムのセキュリティに及ぼす影響を判定し得る。例えば、ステップ３０６において、判定モジュール１０６は、図２のコンピューティングデバイス２０２の一部として、アプリケーション２１０の旧バージョン２１４のインストールが悪用されたレート２３０と、アプリケーション２１０の後続のバージョン２１６のインストールが悪用されたレート２３２とを比較することにより、アプリケーション２１０の旧バージョン２１４から後続のバージョン２１６への更新が、少なくとも部分的に、コンピューティングシステムのセキュリティに及ぼす影響を判定し得る。
【００３８】
判定モジュール１０６は、アプリケーションの旧バージョンのインストールが悪用されたレートと、アプリケーションの後続のバージョンのインストールが、様々な方法のいずれかで悪用されたレートとを比較し得る。例えば、判定モジュール１０６は、悪用された旧バージョンのインストールの割合と、悪用された後続のバージョンのインストールの割合とを比較して、どちらの割合が高いかを判定し得る。別の例として、判定モジュール１０６は、コンピューティングシステムの脆弱性に対する、アプリケーションの旧バージョン及び後続のバージョンの相対的な寄与度を判定するために、アプリケーションの旧バージョン及び後続のバージョンの悪用についての情報に対して、統計的な分析（例えば、ハードウェア構成、コンピューティングシステムの年代、他のインストール済みアプリケーション、他の脆弱性要因等の、潜在的に交絡している変数の調整）を実行し得る。
【００３９】
いくつかの例では、判定モジュール１０６は、アプリケーションの旧バージョンが、アプリケーションの後続のバージョンよりも悪用されやすいことを判定し得る。例えば、判定モジュール１０６は、他の要因の調整後に、アプリケーションの旧バージョンが、アプリケーションの後続のバージョンよりも多くの攻撃を誘引し、且つ／又は成功させることを判定し得る。或いは、いくつかの例では、判定モジュール１０６は、アプリケーションの後続のバージョンが、アプリケーションの旧バージョンよりも悪用されやすいことを判定し得る。
【００４０】
ステップ３０８において、本明細書で説明されるシステムのうちの１つ以上が、アプリケーションの更新がコンピューティングシステムのセキュリティに及ぼす影響の判定に少なくとも部分的に基づいた、アプリケーションの旧バージョンのインストールをアプリケーションの後続のバージョンに更新することについての判定を用いて、少なくとも１つのコンピューティングシステムに指示し得る。例えば、ステップ３０８で、指示モジュール１０８は、図２のコンピューティングデバイス２０２の一部として、アプリケーション２１０の更新がコンピューティングシステムのセキュリティに及ぼす影響の判定に少なくとも部分的に基づいた、アプリケーション２１０（例えば、アプリケーションインストール２１０）の旧バージョン２１４のインストールをアプリケーション２１０の後続のバージョン２１６（例えば、アプリケーションインストール２１２）に更新することについての判定２４０を用いて、少なくとも１つのコンピューティングシステムに指示してもよい。
【００４１】
指示モジュール１０８は、任意の好適な方法で、この判定を用いてコンピューティングシステムに指示し得る。例えば、指示モジュール１０８は、アプリケーションの更新の可能性に関して、コンピューティングシステムにインストールされたセキュリティシステムに命令を送信し得る。いくつかの例では、指示モジュール１０８は、アプリケーションの後続のバージョンについての情報に関して、コンピューティングシステムから受信した要求への応答として、命令を送信し得る。加えて、又は代替的に、指示モジュール１０８は、現在コンピューティングシステムにアプリケーションの旧バージョンがインストールされているという、コンピューティングシステムからの報告を受信したことへの応答として、命令を送信し得る。
【００４２】
上述したように、いくつかの例では、本明細書で説明されるシステムの１つ以上が、アプリケーションの旧バージョンがアプリケーションの後続のバージョンよりも悪用されやすいことを判定し得る。これらの例では、指示モジュール１０８は、アプリケーションの更新を容易にし且つ／或いは促進するために、様々な指示のうちのいくつかを用いて、コンピューティングシステムに指示し得る。例えば、指示モジュール１０８は、アプリケーションの旧バージョンのインストールをアプリケーションの後続のバージョンに更新するように、コンピューティングシステムに指示し得る。この例では、コンピューティングシステムは、指示モジュール１０８からの命令を受信したことへの応答として、アプリケーションの旧バージョンのインストールを後続のバージョンに更新し得る。別の例として、指示モジュール１０８は、アプリケーションの旧バージョンのインストールをアプリケーションの後続のバージョンに更新するよう推奨する通知を表示するように、コンピューティングシステムに指示し得る。例えば、指示モジュール１０８は、この更新を「推奨」及び／又は「重要」として分類することができ、コンピューティングシステムの更新マネージャは、ユーザーインタフェースを介してユーザーにこの分類を提示し得る。加えて、又は代替的に、指示モジュール１０８は、アプリケーションのインストールを後続のバージョンに更新することをユーザーに促すように、更新マネージャに指示し得る。
【００４３】
別の例で、指示モジュール１０８は、インストールがアプリケーションの後続のバージョンに更新されるまで、アプリケーションの旧バージョンのインストールを無効にするように、コンピューティングシステムに指示し得る。例えば、指示モジュール１０８は、アプリケーションがアプリケーションの後続のバージョンに更新されるまで、アプリケーションを隔離し、且つ／或いはアプリケーションの実行を許可しないように、コンピューティングシステムに指示し得る。いくつかの例で、指示モジュール１０８は、ユーザーがアプリケーションの旧バージョンを起動しようとすると、ユーザーにアプリケーションを更新することを促すように、コンピューティングシステムに指示し得る。加えて、又は代替的に、指示モジュール１０８は、アプリケーションの旧バージョンのインストールをサンドボックスするように、コンピューティングシステムに指示し得る。例えば、指示モジュール１０８は、アプリケーションの旧バージョンのインストールによる（入出力の試み、システム構成の試み等の）動作を妨げるようコンピューティングシステムに指示し、１つ以上の仮想化層内で、アプリケーションの代わりに動作を実行し得る（例えば、アプリケーションの観点からは、アプリケーションはコンピューティングシステムに持続的な変化をもたらすことができるが、コンピューティングシステムの観点からは、アプリケーションは単に規定された境界内で変化をもたらすのみであり、それによって、攻撃がアプリケーションを越えて広がることを防止している）。
【００４４】
いくつかの例では、指示モジュール１０８は、アプリケーションの後続のバージョンのほうが、アプリケーションの後続のバージョンの弱点が異なるために旧バージョンよりも悪用されにくいとしても、アプリケーションを自動的に更新しない（或いはアプリケーションを更新するようにユーザーに勧める）ように、コンピューティングシステムに指示し得る。例えば、指示モジュール１０８は、アプリケーションの後続のバージョンの安定性評価が、アプリケーションの旧バージョンの安定性評価よりも低いこと、及びアプリケーションを更新すべきでないことを判定し得る。安定性評価は、アプリケーションがインストールされているコンピューティングシステムの信頼性及び／又は性能に、アプリケーションが及ぼす影響の任意の指標を含み得る。
【００４５】
上述したように、いくつかの例では、本明細書で説明されるシステムの１つ以上が、アプリケーションの後続のバージョンが、アプリケーションの旧バージョンよりも悪用されやすいことを判定し得る。これらの例で、指示モジュール１０８は、アプリケーションの更新を防止、予防、且つ／或いは阻止するために、様々な指示のうちのいくつかを用いて、コンピューティングシステムに指示し得る。例えば、指示モジュール１０８は、アプリケーションの旧バージョンのインストールをアプリケーションの後続のバージョンに更新しないように、コンピューティングシステムに指示し得る。この例で、コンピューティングシステムは、このアプリケーションを適用する自動更新のリストから除外し得る。加えて、又は代替的に、指示モジュール１０８は、アプリケーションの旧バージョンのインストールをアプリケーションの後続のバージョンに更新しようとする試みをブロックするように、コンピューティングシステムに指示し得る。例えば、コンピューティングシステムのセキュリティシステムは、更新マネージャがアプリケーションの旧バージョンのインストールを更新しようとする試みを妨げ得る。別の例として、セキュリティシステムは、アプリケーションのインストールを更新するというユーザーの選択を無効にし得る。
【００４６】
別の例では、指示モジュール１０８は、アプリケーションの旧バージョンのインストールをアプリケーションの後続のバージョンに更新しないよう推奨する通知を表示するように、コンピューティングシステムに指示し得る。例えば、指示モジュール１０８は、この更新を「推奨しない」及び／又は「危険」として分類することができ、コンピューティングシステムの更新マネージャは、ユーザーインタフェースを介して、ユーザーにこの分類を提示し得る。加えて、又は代替的に、指示モジュール１０８は、アプリケーションのインストールの後続のバージョンへの更新を回避するようにユーザーに促し、且つ／或いはユーザーに、アプリケーションのインストールを後続のバージョンに更新することのセキュリティリスクを知らせるように、更新マネージャに指示し得る。ステップ３０６の後、方法３００は終了し得る。
【００４７】
図３の方法３００に関して上述したように、アプリケーションの新しいバージョンが、より攻撃に悪用されやすい（悪用されにくい）かどうかを判定し、その後に、アプリケーションのより安全なバージョンへの更新を容易にする、及び／又は促進する命令を用いてコンピューティングシステムに指示し、且つ／或いはアプリケーションのより安全でないバージョンへの更新を、防止、予防及び／又は阻止する命令を用いてコンピューティングシステムに指示することによって、本明細書で説明されるシステムは、知的なアプリケーション更新を介して、コンピューティングシステムのセキュリティを高めることができる。
【００４８】
１つの例で、セキュリティエージェントは、以下のものを含む情報を収集し得る。（１）コンピューティングシステムで誰がどのファイルを作成したかを記述するファイル作成情報。（２）アプリケーションがいつインストール及び／又は更新されたかを特定するアプリケーション情報。（３）アプリケーションのインストールの一部として、どのバイナリが作成されたか。（４）アプリケーションのバージョン情報。（５）ファイルの確信性（conviction）に関する情報。バックエンドシステムは、（例えば、最近において）連続的に検出及び修正されたマルウェアを作成した全てのファイルを特定するために、上述の情報をマイニングし得る。このバックエンドのプロセスは、また、これらのファイルの各々がどのアプリケーションに属するか、並びに使用可能なファイルの新しいバージョンが存在するかどうかを特定するために、データをマイニングし得る。
【００４９】
各バイナリに対して、バックエンドは、次に、以下のものを含む情報を特定するデータを生成し得る。（１）ファイルのハッシュ。（２）ファイルがアクティブにマルウェアをドロップしているかどうか。（３）ファイルが属しているアプリケーションの名前。（４）ファイルが属しているアプリケーションのバージョン。（５）アプリケーションの新しいバージョンが存在するかどうか。（６）新しいバージョンが、以前のバージョンよりもアクティブに悪用されるかどうか。
【００５０】
任意適当なとき（セキュリティスキャン中、ユーザーによるアプリケーションの使用時、及び／又はファイルがマルウェアを作成しているとき）に、セキュリティエージェントは、ファイル情報のバックエンドを照会し得る。ファイルがマルウェアをアクティブにドロップしており、且つ新しいバージョンが存在する（並びに、新しいバージョンが現在のバージョンほどアクティブに悪用されない）ことをバックエンドが判定した場合、セキュリティエージェントは、いくつかの動作のうちの１つを取り得る。例えば、セキュリティエージェントは、（１）アプリケーションを更新するようにユーザーに警告及び／又は通知する。（２）アプリケーションが更新されるまで、アプリケーションをロックダウンする。（３）（例えば、ユーザーが入力することなく）アプリケーションの更新を実行する。且つ／或いは、（４）アプリケーションの動作を全て仮想化する。
【００５１】
いくつかの例では、アプリケーションのバージョン情報は、容易に利用できない場合がある。これらの例で、本明細書で説明されるシステムのうちの１つ以上は、アプリケーションのどのバージョンが新しいかを判定するのに、（例えば、多くのコンピューティングシステムにわたる、アプリケーションの異なるバージョンの作成日時及び／又はインストール日時に依存して）発見的解決法を用いる。これらのシステムは、（ハッシュで特定された）ファイルがアプリケーションに属し、アプリケーションの新しいバージョンを示す同一のファイル名、及び／又は構成要素を有するファイルの後に作成されたとみなし得る。アプリケーションの安定性情報も、バックエンドに使用可能であり、新しいバージョンが安定性及び／又はユーザー体験に関して、不適合且つ／或いは良好でないことが知られている場合は、アプリケーションを更新しないようにユーザーに推奨するのに使用され得る。
【００５２】
図５は、本明細書に記載及び／又は図示される実施形態のうちの１つ以上を実施することができる、例示的なコンピューティングシステム５１０のブロック図である。例えば、コンピューティングシステム５１０の全て又は一部は、それぞれ単独で、又は他の要素と組み合わせて、本明細書に記載されるステップのうちの１つ以上（例えば、図３に示すステップのうちの１つ以上）を実行し得る、及び／又は実行するための手段であり得る。コンピューティングシステム５１０の全て又は一部は、また、本明細書に記載及び／若しくは図示される任意の他のステップ、方法、又はプロセスを実行し得る、及び／又はそれらを実行するための手段であり得る。
【００５３】
コンピューティングシステム５１０は、コンピュータ可読命令を実行できる、任意のシングル又はマルチプロセッサのコンピューティングデバイス又はシステムを広く表す。コンピューティングシステム５１０の例としては、ワークステーション、ラップトップ、クライアント側端末、サーバ、分散型コンピューティングシステム、ハンドヘルドデバイス、又は任意の他のコンピューティングシステム又はデバイスが挙げられるが、これらに限定されない。その最も基本的な構成では、コンピューティングシステム５１０は、少なくとも１つのプロセッサ５１４と、システムメモリ５１６と、を含むことができる。
【００５４】
プロセッサ５１４は概して、データを処理するか、又は命令を解釈及び実行することができるあらゆるタイプ又は形態の処理ユニットを表す。特定の実施形態では、プロセッサ５１４は、ソフトウェアアプリケーション又はモジュールから命令を受信することができる。これらの命令は、プロセッサ５１４に、本明細書に説明及び／又は例解される例示的な実施形態のうちの１つ以上の機能を実施させ得る。
【００５５】
システムメモリ５１６は概して、データ及び／又は他のコンピュータ可読命令を記憶することができるあらゆるタイプ又は形態の揮発性又は不揮発性記憶デバイス若しくは媒体を表す。システムメモリ５１６の例としては、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、フラッシュメモリ、又は任意の他の好適なメモリデバイスが挙げられるが、これらに限定されない。必須ではないが、特定の実施形態では、コンピューティングシステム５１０は、揮発性メモリユニット（例えば、システムメモリ５１６など）及び不揮発性記憶デバイス（以下に詳細に記載されるように、例えば、一次記憶デバイス５３２など）の両方を含むことができる。１つの例で、図１にあるモジュール１０２のうちの１つ以上は、システムメモリ５１６にロードされ得る。
【００５６】
いくつかの実施形態で、例示的なコンピューティングシステム５１０もまた、プロセッサ５１４及びシステムメモリ５１６に加えて、１つ以上の構成要素又は要素を含み得る。例えば、図５に示されるように、コンピューティングシステム５１０は、メモリコントローラ５１８と、入力／出力（Ｉ／Ｏ）コントローラ５２０と、通信インタフェース５２２とを含むことができ、これらの各々は、通信基盤５１２を介して相互接続され得る。通信基盤５１２は概して、コンピューティングデバイスのうちの１つ以上の構成要素間の通信を容易にすることができるあらゆるタイプ又は形態の基盤を表す。通信基盤５１２の例としては、非限定的に、通信バス（産業標準構成（ＩＳＡ）、周辺装置相互接続（ＰＣＩ）、ＰＣＩエクスプレス（ＰＣＩｅ）、又は類似のバスなど）及びネットワークが挙げられる。
【００５７】
メモリコントローラ５１８は概して、メモリ若しくはデータを処理するか、又はコンピューティングシステム５１０のうちの１つ以上の構成要素間の通信を制御することができるあらゆるタイプ又は形態のデバイスを表す。例えば、特定の実施形態では、メモリコントローラ５１８は、通信基盤５１２を介してプロセッサ５１４と、システムメモリ５１６と、Ｉ／Ｏコントローラ５２０との間の通信を制御することができる。
【００５８】
Ｉ／Ｏコントローラ５２０は概して、コンピューティングデバイスの入力及び出力関数を調整及び／又は制御することができるあらゆるタイプ又は形態のモジュールを表す。例えば、特定の実施形態では、Ｉ／Ｏコントローラ５２０は、プロセッサ５１４、システムメモリ５１６、通信インタフェース５２２、ディスプレイアダプタ５２６、入力インタフェース５３０、及び記憶インタフェース５３４など、コンピューティングシステム５１０のうちの１つ以上の要素間のデータの転送を制御又は容易にすることができる。
【００５９】
通信インタフェース５２２は、例示的なコンピューティングシステム５１０と１つ以上の追加のデバイスとの間の通信を容易にすることができるあらゆるタイプ又は形態の通信デバイス又はアダプタを広く表す。例えば、特定の実施形態では、通信インタフェース５２２は、コンピューティングシステム５１０と追加のコンピューティングシステムを含む私的又は公的ネットワークとの間の通信を容易にすることができる。通信インタフェース５２２の例としては、有線ネットワークインタフェース（ネットワークインタフェースカードなど）、無線ネットワークインタフェース（無線ネットワークインタフェースカードなど）、モデム、及び任意の他の好適なインタフェースが挙げられるが、これらに限定されない。少なくとも１つの実施形態では、通信インタフェース５２２は、インターネットなどのネットワークへの直接リンクを介してリモートサーバへの直接接続を提供することができる。通信インタフェース５２２はまた、例えば、ローカルエリアネットワーク（イーサネットネットワークなど（「イーサネット」は登録商標、以下同じ））、パーソナルエリアネットワーク、電話若しくはケーブルネットワーク、携帯電話接続、衛星データ接続、又は任意の他の好適な接続を介するかかる接続を間接的に提供することができる。
【００６０】
特定の実施形態では、通信インタフェース５２２はまた、外部バス又は通信チャネルを介して、コンピューティングシステム５１０と１つ以上の追加のネットワーク又は記憶デバイスとの間の通信を容易にするように構成されるホストアダプタを表すことができる。コンピュータ可読記憶媒体の例としては、これらに限定されないが、Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ（ＳＣＳＩ）ホストアダプタ、Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ（ＵＳＢ）ホストアダプタ、Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓ（ＩＥＥＥ）１３９４ホストアダプタ、Ａｄｖａｎｃｅｄ  Ｔｅｃｈｎｏｌｏｇｙ  Ａｔｔａｃｈｍｅｎｔ（ＡＴＡ）、Ｐａｒａｌｌｅｌ  ＡＴＡ（ＰＡＴＡ）、Ｓｅｒｉａｌ  ＡＴＡ（ＳＡＴＡ）、及びＥｘｔｅｒｎａｌ  ＳＡＴＡ（ｅＳＡＴＡ）ホストアダプタ、ファイバチャネルインタフェースアダプタ、イーサネットアダプタ等が挙げられる。通信インタフェース５２２はまた、コンピューティングシステム５１０が分散型又はリモートコンピューティングに関与するのを可能にすることができる。例えば、通信インタフェース５２２は、リモートデバイスから命令を受信し、実行するためにリモートデバイスに命令を送信することができる。
【００６１】
図５に示されるように、コンピューティングシステム５１０はまた、ディスプレイアダプタ５２６を介して通信基盤５１２に連結された少なくとも１つの表示デバイス５２４を含むことができる。表示デバイス５２４は概して、ディスプレイアダプタ５２６によって転換された情報を視覚的に表示することができるあらゆるタイプ又は形態のデバイスを表す。同様に、ディスプレイアダプタ５２６は概して、表示デバイス５２４に表示するために通信基盤５１２から（又は当該技術分野において既知であるようにフレームバッファから）グラフィックス、テキスト、及び他のデータを転換するように構成されるあらゆるタイプ又は形態のデバイスを表す。
【００６２】
図５に示されるように、例示的なコンピューティングシステム５１０はまた、入力インタフェース５３０を介して通信基盤５１２に連結された少なくとも１つの入力デバイス５２８を含むことができる。入力デバイス５２８は概して、コンピュータ又は人間のいずれかが生成した入力を例示的なコンピューティングシステム５１０に提供することができるあらゆるタイプ又は形態の入力デバイスを表す。入力デバイス５２８の例としては、キーボード、ポインティングデバイス、音声認識デバイス、又は任意の他の入力デバイスが挙げられるが、これらに限定されない。
【００６３】
図５に示されるように、例示的なコンピューティングシステム５１０はまた、記憶インタフェース５３４を介して通信基盤５１２に連結された一次記憶デバイス５３２と、バックアップ記憶デバイス５３３と、を含むことができる。記憶デバイス５３２及び５３３は概して、データ及び／又は他のコンピュータ可読命令を記憶することができるあらゆるタイプ又は形態の記憶デバイス若しくは媒体を表す。例えば、記憶デバイス５３２及び５３３は、磁気ディスクドライブ（例えば、いわゆるハードドライブ）、ソリッドステートドライブ、フロッピーディスクドライブ（「フロッピー」は登録商標、以下同じ）、磁気テープドライブ、光ディスクドライブ、フラッシュドライブなどであってもよい。記憶インタフェース５３４は概して、記憶デバイス５３２及び５３３とコンピューティングシステム５１０の他の構成要素との間のデータを転送するためのあらゆるタイプ又は形態のインタフェース又はデバイスを表す。一実施例では、図１にあるデータベース１２０は、一次記憶デバイス５３２に記憶され得る。
【００６４】
特定の実施形態では、記憶デバイス５３２及び５３３は、コンピュータソフトウェア、データ、又は他のコンピュータ可読情報を記憶するように構成される取り外し可能な記憶ユニットから読み取る、及び／又はそれに書き込むように構成されてもよい。好適な取り外し可能な記憶ユニットの例としては、限定されないが、フロッピーディスク、磁気テープ、光ディスク、フラッシュメモリデバイスなどが挙げられる。記憶デバイス５３２及び５３３はまた、コンピュータソフトウェア、データ、又は他のコンピュータ可読命令がコンピューティングシステム５１０にロードされるのを可能にするために他の類似の構造又はデバイスを含むことができる。例えば、記憶デバイス５３２及び５３３は、ソフトウェア、データ、又は他のコンピュータ可読情報を読み取る、及び書き込むように構成されてもよい。記憶デバイス５３２及び５３３はまた、コンピューティングシステム５１０の一部であってもよく、又は他のインタフェースシステムを介してアクセスされた別個のデバイスであってもよい。
【００６５】
多くの他のデバイス又はサブシステムが、コンピューティングシステム５１０に接続されてもよい。逆に、本明細書で説明され且つ／或いは図示される実施形態を実施するために、図５に示す全ての構成要素及びデバイスが存在している必要はない。上記で言及されたデバイス及びサブシステムはまた、図５に示されるものとは異なる手法で相互接続されてもよい。コンピューティングシステム５１０はまた、任意の数のソフトウェア、ファームウェア、及び／又はハードウェア構成を用いることができる。例えば、本明細書に開示される例示的な実施形態のうちの１つ以上は、コンピュータ可読記憶媒体にコンピュータプログラム（コンピュータソフトウェア、ソフトウェアアプリケーション、コンピュータ可読命令、又はコンピュータ制御論理とも称される）としてコード化されてもよい。句「コンピュータ可読記憶媒体」は概して、コンピュータ可読命令を記憶又は実施することができるあらゆる形態のデバイス、キャリア、又は媒体を指す。コンピュータ可読記憶媒体の例としては、これらに限定されないが、搬送波などの伝送型媒体、並びに磁気記憶媒体（例えば、ハードディスクドライブ及びフロッピーディスク）、光学記憶媒体（例えば、コンパクトディスク（ＣＤ）又はデジタルビデオディスク（ＤＶＤ））、電子記憶媒体（例えば、ソリッドステートドライブ及びフラッシュメディア）、及び他の分散システムなどの非一時型媒体が挙げられる。
【００６６】
コンピュータプログラムを含むコンピュータ可読記憶媒体は、コンピューティングシステム５１０にロードされてもよい。次いで、コンピュータ可読記憶媒体に記憶されたコンピュータプログラムの全て又は一部は、システムメモリ５１６並びに／又は記憶デバイス５３２及び５３３の様々な部分の中に記憶されてもよい。プロセッサ５１４により実行されるとき、コンピューティングシステム５１０にロードされるコンピュータプログラムは、プロセッサ５１４に、本明細書に説明及び／又は例解される例示的な実施形態のうちの１つ以上の機能を実施させ得る、及び／又は実施するための手段であり得る。追加的に又は代替的に、本明細書に記載及び／又は図示される例示的な実施形態のうちの１つ以上は、ファームウェア及び／又はハードウェアに実装されてもよい。例えば、コンピューティングシステム５１０は、本明細書に開示される例示的な実施形態のうちの１つ以上を実装するように適合された特定用途向け集積回路（ＡＳＩＣ）として構成されてもよい。
【００６７】
図６は、クライアントシステム６１０、６２０、及び６３０、並びにサーバ６４０及び６４５がネットワーク６５０に連結され得る例示的なネットワークアーキテクチャ６００のブロック図である。上述したように、ネットワークアーキテクチャ６００の全て又は一部は、それぞれ単独で、又は他の要素と組み合わせて、本明細書に開示されるステップのうちの１つ以上を（例えば、図３に示すステップのうちの１つ以上として）実施し得る、及び／又は実施するための手段であり得る。ネットワークアーキテクチャ６００の全て又は一部はまた、本開示に記載される他のステップ及び特徴を実行するための手段を実施するために使用され、並びに／又はそれらを実施するための手段であり得る。
【００６８】
クライアントシステム６１０、６２０、及び６３０は概して、図５の例示的なコンピューティングシステム５１０など、あらゆるタイプ又は形態のコンピューティングデバイス又はシステムを表す。同様に、サーバ６４０及び６４５は概して、様々なデータベースサービスを提供し、及び／又は特定のソフトウェアアプリケーションを実行するように構成されるアプリケーションサーバ又はデータベースサーバなど、コンピューティングデバイス又はシステムを表す。ネットワーク６５０は、概して、例えば、イントラネット、ＷＡＮ、ＬＡＮ、ＰＡＮ、又はインターネットを含む任意の電気通信又はコンピュータネットワークを表す。一実施例では、クライアントシステム６１０、６２０、及び／又は６３０、並びに／或いはサーバ６４０及び／又は６４５は、図１にあるシステム１００の全て又は一部を含み得る。
【００６９】
図６に示されるように、１つ以上の記憶デバイス６６０（１）〜（Ｎ）は、サーバ６４０に直接接続され得る。同様に、１つ以上の記憶デバイス６７０（１）〜（Ｎ）は、サーバ６４５に直接的に接続され得る。記憶デバイス６６０（１）〜（Ｎ）及び記憶デバイス６７０（１）〜（Ｎ）は概して、データ及び／又は他のコンピュータ可読命令を記憶することができるあらゆるタイプ又は形態の記憶デバイス又は媒体を表す。特定の実施形態では、記憶デバイス６６０（１）〜（Ｎ）及び記憶デバイス６７０（１）〜（Ｎ）は、ネットワークファイルシステム（ＮＦＳ）、サーバメッセージブロック（ＳＭＢ）、又は共通インターネットファイルシステム（ＣＩＦＳ）など、様々なプロトコルを使用して、サーバ６４０及び６４５と通信するように構成された、ネットワーク接続ストレージ（ＮＡＳ）デバイスを表してもよい。
【００７０】
サーバ６４０及び６４５はまた、記憶エリアネットワーク（ＳＡＮ）ファブリック６８０に接続されてもよい。ＳＡＮファブリック６８０は概して、複数の記憶デバイス間の通信を容易にすることができるあらゆるタイプ又は形態のコンピュータネットワーク又はアーキテクチャを表す。ＳＡＮファブリック６８０は、サーバ６４０及び６４５と複数の記憶デバイス６９０（１）〜（Ｎ）及び／又は知的記憶アレイ６９５との間の通信を容易にし得る。ＳＡＮファブリック６８０はまた、デバイス６９０（１）〜（Ｎ）及びアレイ６９５が、クライアントシステム６１０、６２０、及び６３０にローカルで接続されたデバイスとして現れるような様式で、ネットワーク６５０並びにサーバ６４０及び６４５を介して、クライアントシステム６１０、６２０、及び６３０と記憶デバイス６９０（１）〜（Ｎ）及び／又は知的記憶アレイ６９５との間の通信を容易にし得る。記憶デバイス６６０（１）〜（Ｎ）及び記憶デバイス６７０（１）〜（Ｎ）と同様に、記憶デバイス６９０（１）〜（Ｎ）及び知的記憶アレイ６９５は概して、データ及び／又は他のコンピュータ可読命令を記憶することができるあらゆるタイプ又は形態の記憶デバイス又は媒体を表す。
【００７１】
いくつかの実施形態において、及び図５の例示的なコンピューティングシステム５１０に関して、図５の通信インタフェース５２２等の通信インタフェースは、各クライアントシステム６１０、６２０、及び６３０と、ネットワーク６５０との間に接続を設けるために使用され得る。クライアントシステム６１０、６２０、及び６３０は、例えば、ウェブブラウザ又は他のクライアントソフトウェアを使用して、サーバ６４０又は６４５に関する情報にアクセスすることができてもよい。そのようなソフトウェアは、クライアントシステム６１０、６２０、及び６３０が、サーバ６４０、サーバ６４５、記憶デバイス６６０（１）〜（Ｎ）、記憶デバイス６７０（１）〜（Ｎ）、記憶デバイス６９０（１）〜（Ｎ）、又は知的記憶アレイ６９５によりホストされるデータにアクセスすることを可能にし得る。図６は、データを交換するためのネットワーク（インターネット等）の使用を描写するが、本明細書に説明及び／又は例解される実施形態は、インターネット又はいかなる特定のネットワークに基づく環境にも限定されない。
【００７２】
少なくとも１つの実施形態において、本明細書に開示される例示的な実施形態のうちの１つ以上の全て又は一部分は、コンピュータプログラムとしてコード化され、サーバ６４０、サーバ６４５、記憶デバイス６６０（１）〜（Ｎ）、記憶デバイス６７０（１）〜（Ｎ）、記憶デバイス６９０（１）〜（Ｎ）、知的記憶アレイ６９５、又はそれらの任意の組み合わせ上にロードされ、それによって実行され得る。本明細書に開示される少なくとも１つの例示的な実施形態の全て又は一部分は、コンピュータプログラムとしてコード化され、サーバ６４０に記憶され、サーバ６４５により作動され、ネットワーク６５０を通じてクライアントシステム６１０、６２０、及び６３０に分散され得る。
【００７３】
上で詳述されたように、コンピューティングシステム５１０及び／又はネットワークアーキテクチャ６００の１つ以上の構成要素は、それぞれ単独で、又は他の要素と組み合わせて、アプリケーションの更新を指示する例示的な方法の１つ以上のステップを実施し得る、及び／又は実施するための手段であり得る。
【００７４】
先述の開示は、特定のブロック図、フロー図、及び実施例を使用して様々な実施形態を説明するが、本明細書に記載される及び／又は図示される各ブロック図の構成要素、フロー図のステップ、動作、及び／又は構成要素は、個別に及び／又は集合的に、広範なハードウェア、ソフトウェア、又はファームウェア（又はそれらの任意の組み合わせ）構成を使用して、実装され得る。加えて、他の構成要素内に含まれた構成要素のあらゆる開示は、多くの他のアーキテクチャが同じ機能を達成するために実装され得ることにより、本質的に例示的であると考慮されるべきである。
【００７５】
いくつかの例で、図１の例示的なシステム１００の全て又は一部は、クラウドコンピューティング又はネットワークに基づく環境の部分を表し得る。クラウドコンピューティング環境は、インターネットを介して多様なサービス及びアプリケーションを提供することができる。これらのクラウドに基づくサービス（例えば、サービスとしてのソフトウェア、サービスとしてのプラットフォーム、サービスとしての基盤など）は、ウェブブラウザ又は他のリモートインターフェースを通じてアクセス可能であり得る。本明細書に記載される様々な機能は、リモートデスクトップ環境又は他の任意のクラウドに基づくコンピューティング環境を通して提供されてもよい。
【００７６】
様々な実施形態で、図１の例示的なシステム１００の全て又は一部分は、クラウドに基づくコンピューティング環境内で、マルチテナント機能を容易にし得る。言い換えれば、本明細書に記載されるソフトウェアモジュールは、本明細書に記載の機能の１つ以上のマルチテナント機能を容易にするために、コンピューティングシステム（例えば、サーバ）を構成し得る。例えば、本明細書に記載される１つ以上のソフトウェアモジュールは、サーバ上で実行中のアプリケーションを共有する２つ以上のクライアント（例えば、顧客）を可能にするためにサーバをプログラムし得る。このように、プログラムされたサーバは、複数の顧客（すなわち、テナント）の間で、アプリケーション、オペレーティングシステム、処理システム、及び／又はストレージシステムを共有し得る。本明細書に記載される１つ又は複数のモジュールはまた、１つの顧客が他の顧客のデータ及び／又は構成情報にアクセスすることができないように、各顧客のためのデータ及び／又はマルチテナントアプリケーションの構成情報を分割し得る。
【００７７】
様々な実施形態に従い、図１の例示的なシステム１００の全ての又は一部分は、仮想環境内で実装され得る。例えば、本明細書に記載のモジュール及び／又はデータは仮想マシン内で存在し得る、及び／又は実行し得る。本明細書で使用する、句「仮想マシン」は、概して、仮想マシンマネージャ（例えば、ハイパーバイザ）によってコンピューティングハードウェアから抽出された任意のオペレーティングシステム環境を指す。加えて、又は代替的に、本明細書に記載のモジュール及び／又はデータは仮想化層内で存在し得る、及び／又は実行し得る。本明細書で使用する、句「仮想化層」は、概してオペレーティングシステム環境からオーバーレイ及び／又は抽出された任意のデータ層及び／又はアプリケーション層を指す。仮想化層は、下にある基本オペレーティングシステムの一部であるかのように仮想化層を提供するソフトウェアの仮想化ソリューション（例えば、ファイルシステムフィルタ）によって管理され得る。例えば、ソフトウェアの仮想化ソリューションは、最初に仮想化層内の場所に、基本ファイルシステム及び／又はレジストリ内の場所に方向付けられる呼び出しをリダイレクトし得る。
【００７８】
いくつかの例で、図１の例示的なシステム１００の全て又は一部分は、モバイルコンピューティング環境の部分を表し得る。モバイルコンピューティング環境は、携帯電話、タブレットコンピュータ、電子ブックリーダー、携帯情報端末、ウェアラブルコンピューティングデバイス（例えば、頭部装着型ディスプレイを有するコンピューティングデバイス、スマートウォッチ）等の、広範なモバイルコンピューティングデバイスによって実施され得る。いくつかの例で、モバイルコンピューティング環境は、１つ以上の明確な特徴を有することができ、例えば、電池の信頼性、常時１つのみのフォアグラウンドアプリケーションの提示、遠隔管理機能、タッチスクリーン機能、位置及び移動データ（例えば、衛星測位システム、ジャイロスコープ、加速度計等）、他のソフトウェアの挙動を調査するために、修正をシステムレベル構成に制限し、且つ／或いは第三者ソフトウェアの性能を制限する、制限されたプラットフォーム、アプリケーションのインストールを制限するための制御（例えば、承認されたアプリケーションストアに由来するもののみに限定する）等を含む。本明細書に記載される様々な機能が、モバイルコンピューティング環境に提供されてもよく、且つ／或いはモバイルコンピューティング環境と対話してもよい。
【００７９】
また、図１の例示的なシステム１００の全て又は一部は、情報管理用の１つ以上のシステムの部分を表し、情報管理用の１つ以上のシステムと対話し、情報管理用の１つ以上のシステムによって生成されたデータを消費し、且つ／或いは情報管理用の１つ以上のシステムによって消費されたデータを生成し得る。本明細書で使用する、句「情報管理」は、データの保護、編成、及び／又は記憶を指し得る。情報管理用のシステムの例は、これに限定されないが、記憶システム、バックアップシステム、アーカイブシステム、複製システム、高可用性システム、データ検索システム、仮想化システム等を含み得る。
【００８０】
いくつかの例で、図１の例示的なシステム１００の全て又は一部は、情報セキュリティ用の１つ以上のシステムの部分を表し、情報セキュリティ用の１つ以上のシステムによって保護され、且つ／或いは情報セキュリティ用の１つ以上のシステムと通信し得る。本明細書で使用する、句「情報セキュリティ」は、保護されたデータへのアクセスの制御を指し得る。情報セキュリティ用のシステムの例は、これに限定されないが、管理されたセキュリティサービスを提供するシステム、データ損失防止システム、本人認証システム、アクセス制御システム、暗号システム、ポリシー遵守システム、侵入検知及び侵入防止システム、電子証拠開示システム等を含み得る。
【００８１】
いくつかの例によれば、図１の例示的なシステム１００の全て又は一部は、エンドポイントセキュリティ用の１つ以上のシステムの部分を表し、エンドポイントセキュリティ用の１つ以上のシステムと通信し、且つ／或いはエンドポイントセキュリティ用の１つ以上のシステムから保護を受け得る。本明細書で使用する、句「エンドポイントセキュリティ」は、違法及び／又は不正な使用、アクセス、並びに／或いは制御からの、エンドポイントシステムの保護を指し得る。エンドポイント保護用のシステムの例は、これに制限されないが、マルウェア対策システム、ユーザー認証システム、暗号システム、プライバシーシステム、スパムフィルタリングサービス等を含み得る。
【００８２】
本明細書に記載される及び／又は図示されるプロセスパラメータ及びステップの順序は、単なる例として提供され、所望に応じて変更することができる。例えば、本明細書に図示される及び／又は記載されるステップが特定の順序で示される又は考察されるが、これらのステップは、必ずしも図示される又は考察される順序で実施される必要はない。本明細書に記載及び／又は図示される様々な例示的な方法はまた、本明細書に記載及び／又は図示されるステップのうちの１つ以上を省略するか、又は開示されるものに加えて追加のステップを含むことができる。
【００８３】
種々の実施形態が、完全に機能的なコンピューティングシステムの文脈において、本明細書に説明及び／又は例解されているが、これらの例示的な実施形態のうちの１つ以上は、実際に分散を行うために使用されるコンピュータで読み取り可能な記憶媒体の特定のタイプにかかわらず、多様な形態のプログラム製品として分散され得る。本明細書に開示の実施形態はまた、一定のタスクを実施するソフトウェアモジュールを使用して実装され得る。これらのソフトウェアモジュールは、スクリプト、バッチ、又はコンピュータで読み取り可能な記憶媒体上若しくはコンピューティングシステムに記憶され得る、他の実行可能なファイルを含んでもよい。いくつかの実施形態では、これらのソフトウェアモジュールは、本明細書に開示される例示的な実施形態のうちの１つ以上を実行するようにコンピューティングシステムを構成することができる。
【００８４】
更に、本明細書に説明されるモジュールのうちの１つ以上は、データ、物理的デバイス、及び／又は物理的デバイスの表現を１つの形態から別の形態へ変換し得る。例えば、本明細書に挙げたモジュールのうちの１つ以上は、変換するアプリケーション悪用情報を受信し、アプリケーション悪用情報を変換し、変換の結果をアプリケーションを更新するかどうかの判定に出力し、変換の結果をアプリケーションがインストールされているクライアントシステムに出力し、変換の結果をアプリケーションが更新されるのを容易にするか又は防止するために使用し、変換の結果を記憶デバイスに記憶し得る。加えて、又は代替的に、本明細書に挙げたモジュールのうちの１つ以上は、コンピューティングデバイス上で実行し、コンピューティングデバイス上にデータを記憶し、かつ／又は別の方法ではコンピュータデバイスと対話することによって、プロセッサ、揮発性メモリ、不揮発性メモリ、及び／若しくは１つの形態から別の形態への物理コンピューティングデバイスの任意の他の部分を変換し得る。
【００８５】
前述の説明は、当業者が本明細書に開示される例示的な実施形態の様々な態様を最良に利用するのを可能にするために提供されている。この例示的な説明は、包括的であること、又は開示されるいずれの正確な形態にも限定されることを意図するものではない。本開示の趣旨及び範囲から逸脱することなく、多くの修正及び変形が可能である。本明細書に開示される実施形態は、あらゆる点で例示的であり、限定的ではないと見なされるべきである。本開示の範囲を決定する際に添付の特許請求の範囲及びその等価物を参照するべきである。
【００８６】
特に断りのない限り、本明細書及び特許請求の範囲で用いられる「１つの」又は「ある〜」という用語は、「少なくとも１つの」を意味するものとして解釈される。加えて、簡単にするために、本明細書及び特許請求の範囲で用いられる語「含む」及び「有する」は交換可能であり、「備える」という語と同一の意味を有する。
【図１】
2016521896.tif 000003
【図２】
2016521896.tif 000004
【図３】
2016521896.tif 000005
【図４】
2016521896.tif 000006
【図５】
2016521896.tif 000007
【図６】
2016521896.tif 000008
【手続補正書】
【提出日】平成27年12月14日(2015.12.14)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
アプリケーションの更新を指示するためにコンピュータによって実施される方法であって、前記方法の少なくとも一部が、少なくとも１つのプロセッサを備えるコンピューティングデバイスによって実行され、
アプリケーションの旧バージョンのインストールが、コンピューティングシステムのセキュリティへの攻撃に悪用されるレートを示す情報を特定するステップと、
前記アプリケーションの後続のバージョンのインストールが、コンピューティングシステムのセキュリティへの攻撃に悪用されたレートを示す追加の情報を特定するステップと、
少なくとも部分的に、前記アプリケーションの前記旧バージョンのインストールが悪用された前記レートと、前記アプリケーションの前記後続のバージョンのインストールが悪用された前記レートとを比較することによって、前記アプリケーションの前記旧バージョンから前記後続のバージョンへの更新が、コンピューティングシステムのセキュリティに及ぼす影響を判定するステップと、
前記アプリケーションの更新が、コンピューティングシステムのセキュリティに与える影響に少なくとも部分的に基づく、前記アプリケーションの前記旧バージョンのインストールを前記アプリケーションの前記後続のバージョンに更新することについての判定を用いて、少なくとも１つのコンピューティングシステムに指示するステップとを含む方法。
【請求項２】
前記アプリケーションの前記旧バージョンから前記後続のバージョンへの更新が、コンピューティングシステムのセキュリティに与える影響を判定するステップが、前記アプリケーションの前記旧バージョンが、前記アプリケーションの前記後続のバージョンよりも悪用されやすいと判定するステップを含む、請求項１に記載のコンピュータによって実施される方法。
【請求項３】
前記アプリケーションの前記旧バージョンの前記インストールを更新することについての前記判定を用いて、前記コンピューティングシステムに指示するステップが、前記アプリケーションの前記旧バージョンの前記インストールを、前記アプリケーションの前記後続のバージョンに更新するように、前記コンピューティングシステムに指示するステップを含む、請求項２に記載のコンピュータによって実施される方法。
【請求項４】
前記アプリケーションの前記旧バージョンの前記インストールを更新することについての前記判定を用いて、前記コンピューティングシステムに指示するステップが、前記アプリケーションの前記旧バージョンの前記インストールを、前記アプリケーションの前記後続のバージョンに更新することを推奨する通知を表示するように、前記コンピューティングシステムに指示するステップを含む、請求項２に記載のコンピュータによって実施される方法。
【請求項５】
前記アプリケーションの前記旧バージョンの前記インストールを更新することについての前記判定を用いて、前記コンピューティングシステムに指示するステップが、前記インストールが前記アプリケーションの前記後続のバージョンに更新されるまで、前記アプリケーションの前記旧バージョンのインストールを無効にするように、前記コンピューティングシステムに指示するステップを含む、請求項２に記載のコンピュータによって実施される方法。
【請求項６】
前記アプリケーションの前記旧バージョンの前記インストールを更新することについての前記判定を用いて、前記コンピューティングシステムに指示するステップが、前記アプリケーションの前記旧バージョンの前記インストールをサンドボックスするステップを含む、請求項２に記載のコンピュータによって実施される方法。
【請求項７】
前記アプリケーションの前記旧バージョンから前記後続のバージョンへの更新が、コンピューティングシステムのセキュリティに及ぼす影響を判定するステップが、前記アプリケーションの前記旧バージョンが、前記アプリケーションの前記後続のバージョンよりも悪用されにくいと判定するステップを含む、請求項１に記載のコンピュータによって実施される方法。
【請求項８】
前記アプリケーションの前記旧バージョンの前記インストールを更新することについての前記判定を用いて、前記コンピューティングシステムに指示するステップが、前記アプリケーションの前記旧バージョンの前記インストールを、前記アプリケーションの前記後続のバージョンに更新しないように、前記コンピューティングシステムに指示するステップを含む、請求項７に記載のコンピュータによって実施される方法。
【請求項９】
前記アプリケーションの前記旧バージョンの前記インストールを更新することについての前記判定を用いて、前記コンピューティングシステムに指示するステップが、前記アプリケーションの前記旧バージョンの前記インストールを、前記アプリケーションの前記後続のバージョンに更新しようとする試みをブロックするステップを含む、請求項７に記載のコンピュータによって実施される方法。
【請求項１０】
前記アプリケーションの前記旧バージョンの前記インストールを更新することについての前記判定を用いて、前記コンピューティングシステムに指示するステップが、前記アプリケーションの前記旧バージョンの前記インストールを、前記アプリケーションの前記後続のバージョンに更新しないことを推奨する通知を表示するように、前記コンピューティングシステムに指示するステップを含む、請求項７に記載のコンピュータによって実施される方法。
【請求項１１】
前記判定を用いて前記コンピューティングシステムに指示するステップが、前記アプリケーションの前記後続のバージョンの安定性評価が、所定の閾値を上回っていることの判定に更に基づく、請求項１に記載のコンピュータによって実施される方法。
【請求項１２】
アプリケーションの更新を指示するシステムであって、
特定モジュールであって、
アプリケーションの旧バージョンのインストールが、コンピューティングシステムのセキュリティへの攻撃に悪用されたレートを示す情報を特定し、
前記アプリケーションの後続のバージョンのインストールが、コンピューティングシステムのセキュリティへの攻撃に悪用されたレートを示す追加の情報を特定する、特定モジュールと、
前記アプリケーションの前記旧バージョンのインストールが悪用された前記レートと、前記アプリケーションの前記後続のバージョンのインストールが悪用された前記レートとを比較することによって、前記アプリケーションの前記旧バージョンから前記後続のバージョンへの更新が、少なくとも部分的にコンピューティングシステムのセキュリティに及ぼす影響を判定する判定モジュールと、
前記アプリケーションの更新が、コンピューティングシステムのセキュリティに及ぼす影響に少なくとも部分的に基づいた、前記アプリケーションの前記旧バージョンのインストールを前記アプリケーションの前記後続のバージョンに更新することについての判定を用いて、少なくとも１つのコンピューティングシステムに指示する指示モジュールと、
前記特定モジュール、前記判定モジュール、及び前記指示モジュールを実行するように構成された少なくとも１つのプロセッサとを備えるシステム。
【請求項１３】
前記アプリケーションの前記旧バージョンが前記アプリケーションの前記後続のバージョンよりも悪用されやすいと判定するステップによって、前記判定モジュールが、前記アプリケーションの前記旧バージョンから前記後続のバージョンへの更新がコンピューティングシステムのセキュリティに及ぼす影響を判定する、請求項１２に記載のシステム。
【請求項１４】
前記指示モジュールが、前記アプリケーションの前期旧バージョンの前記インストールを、前記アプリケーションの前記後続のバージョンに更新するように前記コンピューティングシステムに指示するステップによって、前記アプリケーションの前記旧バージョンの前記インストールの更新についての前記判定を用いて、前記コンピューティングシステムに指示する、請求項１３に記載のシステム。
【請求項１５】
前記指示モジュールが、前記アプリケーションの前記旧バージョンの前記インストールを前記アプリケーションの前記後続のバージョンに更新することを推奨する通知を表示するように、前記コンピューティングシステムに指示するステップによって、前記アプリケーションの前記旧バージョンの前記インストールを更新することについての前記判定を用いて、前記コンピューティングシステムに指示する、請求項１３に記載のシステム。
【国際調査報告】
2016521896.tif 000009
2016521896.tif 000010