(57)【要約】  本文書は、操作を許可するかどうかに関してより適切な決定を可能にするために効果的なレピュテーションメタデータを受信することができるツールについて説明する。これらのツールは、このレピュテーションメタデータからレピュテーション値を構築し、この値及び許可ルールに基づいて、一部のプログラム、アプリケーション、又はその他のアクターによって要求された操作を許可するかどうかをより適切に決定することができる。
2010512576.tif 000002
【特許請求の範囲】
【請求項１】
コンピューター可読命令を有する１つ又は複数のコンピューター可読媒体であって、コンピューティングデバイスによって実行されるとき、
アクターから要求（１２０、１２２、５１０）を受信してオブジェクトへの操作を実行することと、
許可入力（４１４）を受信することであって、前記許可入力（４１４）は前記アクターのレピュテーションを指示するレピュテーション値（１１４）を含む、ことと、
前記レピュテーション値を含む前記許可入力を許可ルールと比較することと、
前記比較に応答して、前記要求（１２０、１２２、５１０）に関連する許可決定（５１２）を出力し、前記操作を実行すること
とを含む動作を前記コンピューティングデバイスに実行させることを特徴とするコンピューター可読媒体。
【請求項２】
前記許可決定（５１２）は、前記要求された操作の実行を許可するか、前記要求された操作の実行を拒否するか、又は前記要求された操作の実行を許可もしくは拒否するかどうかを決定するようユーザーにプロンプト表示で求めることのうちの１つを含むことを特徴とする請求項１に記載の媒体。
【請求項３】
前記レピュテーション値（１１４）、要求された前記操作のタイプ、及び前記オブジェクトのセキュリティレベルに基づいて前記許可決定（５１２）を行うことをさらに含むことを特徴とする請求項１に記載の媒体。
【請求項４】
前記レピュテーション値（１１４）は、前記アクターについて、又は前記アクターの要求した操作についての各人間ユーザーの経験を指示する人間ユーザーのグループから受信された入力に基づくことを特徴とする請求項１に記載の媒体。
【請求項５】
前記レピュテーション値（１１４）は、前記アクターについての各コンピューティングエンティティのレビュー又は分析を指示するコンピューティングエンティティのグループから受信された入力に基づくことを特徴とする請求項１に記載の媒体。
【請求項６】
前記アクターは、コード、ソフトウェア、アプリケーション、ファイル、ドキュメント、ピクチャー、アプレット、又はＡｃｔｉｖｅＸコントロールを備えることを特徴とする請求項１に記載の媒体。
【請求項７】
前記レピュテーション値（１１４）は単一のレピュテーション値を備え、複数の異なるレピュテーションメタデータプロバイダー（１１８）からの複数のレピュテーションメタデータ（１１６）を前記単一のレピュテーション値に総計することをさらに含むことを特徴とする請求項１に記載の媒体。
【請求項８】
コンピューター可読命令を有する１つ又は複数のコンピューター可読媒体であって、コンピューティングデバイスによって実行されるとき、
レピュテーションサービスプロバイダー（１１２）からレピュテーション値（１１４）を受信することであって、前記レピュテーション値（１１４）はアクターのレピュテーションを指示する、ことと、
少なくとも部分的に前記レピュテーション値（１１４）によって、前記アクターがオブジェクトへの操作を実行する許可を得るべきであるかどうかを決定する際に使用する許可入力（４１４）を作成すること
とを含む動作を前記コンピューティングデバイスに実行させることを特徴とするコンピューター可読媒体。
【請求項９】
ユーザーアイデンティティ（４０８）、アクタータイプ（４１０）、又はシステムタイプ（４１２）のうちの少なくとも１つを受信することをさらに含むことを特徴とする請求項８に記載の媒体。
【請求項１０】
前記許可入力（４１４）はまた、少なくとも部分的に、前記受信したユーザーアイデンティティ（４０８）、アクタータイプ（４１０）、又はシステムタイプ（４１２）によって作成されることを特徴とする請求項９に記載の媒体。
【請求項１１】
前記レピュテーション値（１１４）は、複数の人間ユーザーから受信され、前記アクターの実行についての各人間ユーザーの以前の経験を指示するレピュテーションメタデータ（１１６）を備えることを特徴とする請求項８に記載の媒体。
【請求項１２】
前記レピュテーション値（１１４）は、第１のレピュテーションサービスプロバイダーからの第１のレピュテーション値を含み、
第２のレピュテーションサービスプロバイダーから第２のレピュテーション値を受信することと、
前記アクターが前記オブジェクトへの前記操作を実行する許可を得るべきであるかどうかを決定する際に使用するために前記受信した第１及び第２のレピュテーション値を単一の総計レピュテーション値に総計すること
とをさらに含むことを特徴とする請求項８に記載の媒体。
【請求項１３】
前記許可入力（４１４）を許可エンジン（５０６）に出力して、前記許可入力（４１４）と許可ポリシーを比較することをさらに含むことを特徴とする請求項８に記載の媒体。
【請求項１４】
前記許可エンジン（５０６）は、前記比較に応答して前記アクターが前記オブジェクトへの前記操作を実行する許可を得るべきであるかどうかに関連する許可決定（５１２）を自動的に行うように構成されることを特徴とする請求項１３に記載の媒体。
【請求項１５】
コンピューター可読命令を有する１つ又は複数のコンピューター可読媒体であって、コンピューティングデバイスによって実行されるとき、
１つ又は複数のレピュテーションメタデータプロバイダー（１１８）からレピュテーションメタデータ（１１６）を収集することであって、前記レピュテーションメタデータ（１１６）はアクターのレピュテーションについての各レピュテーションメタデータプロバイダーの評価を含む、ことと、
前記レピュテーションメタデータ（１１６）から総計レピュテーション値（１１４）を構築することであって、前記総計レピュテーション値は各評価を指示して許可決定（５１２）に使用するためのものである、こと
とを備える動作を前記コンピューティングデバイスに実行させることを特徴とするコンピューター可読媒体。
【請求項１６】
前記許可決定（５１２）は、前記アクターが前記コンピューティングデバイス（１０４）で操作を稼働又は実行することを許可するかどうかを決定することを特徴とする請求項１５に記載の媒体。
【請求項１７】
前記レピュテーションメタデータ（１１６）を前記収集することはコミュニティ投票を実施することを含み、前記レピュテーションメタデータプロバイダー（１１８）のうちの少なくとも１つは前記コミュニティのユーザーを含むことを特徴とする請求項１５に記載の媒体。
【請求項１８】
前記レピュテーションメタデータ（１１６）を前記収集することは、１つ又は複数のコンピューティングエンティティから前記アクターのレピュテーションに関連する製品レビュー情報を収集することを含むことを特徴とする請求項１５に記載の媒体。
【請求項１９】
前記レピュテーションメタデータ（１１６）のうちの少なくとも一部は、前記アクターの実行の履歴を含むことを特徴とする請求項１５に記載の媒体。
【請求項２０】
前記許可決定（５１２）は、前記レピュテーション値（１１４）、前記アクターによって要求された操作のタイプ、及び前記アクターが前記操作の実行を要求するオブジェクトの属性に少なくとも部分的に基づくことを特徴とする請求項１５に記載の媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、レピュテーションベースの許可決定に関する。
【背景技術】
【０００２】
アクセス制御システムは、プログラム及びアプリケーションを許可して、ユーザーのコンピューター上に位置付けられるファイルの読み取り、書き込み、又は開くことをインターネットを介してダウンロードされたソフトウェアパッケージに許可するなどの操作を実行する。伝統的に、アクセス制御システムは、アクセス制御リスト、ルックアップリストなどを参照することにより、操作を許可するかどうかを決定する。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながら、これらのリストは、固定された、わずかな機能しか提供しないスキーマを採用することが多い。例えば、これらのスキーマは、要求された操作を可能にするかどうかを決定する際に、ユーザーのアイデンティティを調べる程度のことしか行わないこともある。その際、これらのスキーマは、信用できないソフトウェアパッケージ（例えば、前述のインターネットでダウンロードされたソフトウェアパッケージ）が、ユーザーのアイデンティティの下でユーザーのコンピューター上で稼働している限り、思うがままに何でも行うことができるようにする場合もある。そのような場合、ユーザーのアイデンティティは、決定を効果的に制御して、パッケージの要求された操作を許可する。
【課題を解決するための手段】
【０００４】
本文書は、コンピューティングシステムにおいて操作を許可するかどうかに関してより適切な決定を可能にするために効果的なレピュテーションメタデータを受信することができるツールについて説明する。これらのツールは、このレピュテーションメタデータからレピュテーション値を構築し、この値及び許可ルールに基づいて、一部のプログラム、アプリケーション、又はその他のアクターによって要求された操作を許可するかどうかをより適切に決定することができる。
【０００５】
この「課題を解決するための手段」は、以下の「発明を実施するための形態」でさらに説明される一連の概念を簡略化された形態で示すために提供される。この「発明が解決しようとする課題」は、請求項に係る主題の重要な特徴又は基本的特徴を特定することを意図するものではなく、また請求項に係る主題の範囲を決定する際の補助として使用されることを意図するものでもない。例えば、「ツール（ｔｏｏｌ）」という用語は、上記のコンテキストにより、本文書全体を通じて認められているように、システム、方法、コンピューター可読命令、及び／又は技法を示すことができる。
【図面の簡単な説明】
【０００６】
【図１】レピュテーション値ビルダーを有し、ツールの様々な実施形態が動作することができる１つの例示的なオペレーティング環境を示す図である。
【図２】レピュテーションプロバイダーを有し、ツールの様々な実施形態が動作することができるもう１つの例示的なオペレーティング環境を示す図である。
【図３】レピュテーションメタデータを受信し、レピュテーション値を出力するように構成された１つの例示的なレピュテーション値ビルダーを示す図である。
【図４】レピュテーション値を受信し、許可入力を作成するように構成された１つの例示的な許可入力ビルダーを示す図である。
【図５】要求及び許可入力を受信し、許可決定を出力するように構成された１つの例示的な許可モジュールを示す図である。
【発明を実施するための形態】
【０００７】
類似するコンポーネント及び特徴を参照するために、本開示及び図全体を通じて同一の参照番号が使用される。
概要
以下の文書は、前述の機能を有し、アクターのレピュテーション値の構築、レピュテーション値に少なくとも部分的に基づく許可入力の構築、許可入力と許可ポリシーとの比較、及び比較に基づく許可決定を可能にするツールについて説明する。ツールがこれら及びその他の動作を可能にすることができる２つの例示的な環境は、以下の「例示的なオペレーティング環境」と題する節において示される。続いて、「レピュテーション値ビルダー」と題するもう１つの節では、ツールがレピュテーションメタデータからアクターのレピュテーション値を作成するように動作することができる１つの例示的な方法について説明する。「許可入力ビルダー」と題する第４の節では、ツールがどのように動作してアクターのレピュテーション値から許可入力を構築することができるかについて説明する。「許可モジュール」と題する第５の節では、ツールが、アクターのレピュテーション値を指示する許可入力に基づいて許可決定を行うように動作することができる方法について説明する。「例示的な実装」と題する最後の節では、請求項に係るツールが集合的に動作することができる１つの非限定的な方法について説明する。これらの節の見出し及び要約を含むこの概要は、読者の便宜のために提供されるものであり、特許請求の範囲又は見出しの付いた節を限定することを意図していない。
【０００８】
例示的なオペレーティング環境
ツールについて詳細に説明する前に、例示的なオペレーティング環境についての以下の説明は、ツールの様々な発明的な態様を採用することができるいくつかの方法を理解する際に読者を補助するために提供される。以下に説明される環境は、２つの例のみで構成されており、任意の特定のオペレーティング環境へのツールの適用を限定することを意図するものではない。その他の環境は、請求項に係る主題の精神及び範囲を逸脱することなく使用することができる。
【０００９】
図１は、ユーザー１０２がクライアントデバイス１０４を操作することができる１つのそのようなオペレーティング環境を概して１００で示す。クライアントデバイス１０４は一般に、パーソナルコンピューターのようなコンピューティングデバイスであり、ローカルサービスプロバイダー１０６を含むことができる。ローカルサービスプロバイダー１０６は、クライアントデバイス１０４と一体であるか、クライアントデバイス１０４によってアクセス可能であるか、又はクライアントデバイス１０４から独立していてもよい。一部の例において、ローカルサービスプロバイダー１０６は、ディスクドライブ、フラッシュメモリドライブ、ｚｉｐドライブ、又はコンピューター可読媒体に結合することができる任意の他のデバイスを備えることができる。例えば、ローカルサービスプロバイダー１０６は、ソフトウェアアプリケーションを含むコンピューター可読媒体を挿入して実行することができるＣＤ／ＤＶＤドライブを備えることができる。
【００１０】
クライアントデバイス１０４は、ネットワーク１０８を介してリモートサービスプロバイダー１１０に接続することができる。リモートサービスプロバイダー１１０はサーバーなどを備えることができ、そこからユーザー及びクライアントデバイスはソフトウェアアプリケーション、プログラム、又は操作を要求することができるその他のアクターをダウンロードすることができる。クライアントデバイスは、ネットワークを介してレピュテーション値ビルダー１１２に接続することもできる。以下で詳細に説明されるように、レピュテーション値ビルダーは、許可決定を行う際に使用可能なレピュテーション値１１４を構築することができる。
【００１１】
示されているように、レピュテーション値ビルダーは、１つ又は複数のレピュテーションメタデータプロバイダー１１８からレピュテーションメタデータ１１６を受信することができる。レピュテーションメタデータ１１６は、アクターのレピュテーションについてのレピュテーションメタデータプロバイダーの評価に関連付けられている任意の情報を備えることができる。アクターは、ソフトウェアプログラム、アプリケーション、動的にリンクされたライブラリー、インストールプログラム、ファイル、ピクチャー、ドキュメント、アプレット、ＡｃｔｉｖｅＸ（登録商標）コントロール、又はソフトウェアもしくはハードウェア上で実行することができる任意のその他のコードを含むことができる。一方、レピュテーションメタデータプロバイダー１１８は、アクターのレピュテーションを評価、審査、又は査定することができる任意の人物又はデバイスを備えることができる。
【００１２】
例えば、レピュテーションメタデータプロバイダーは、それ自体がソフトウェアプログラムなどを備えることができる一方で、別のレピュテーションメタデータプロバイダーは、審査されているアクターを使用した人物を備えることができる。より詳細には、第１のタイプのレピュテーションメタデータプロバイダーは、セキュリティアプリケーションを備えることができ、このセキュリティアプリケーションは、審査されているアクターの独立したレビュー及び分析に応答してレピュテーションメタデータを提供することができる。一方、後者のレピュテーションメタデータプロバイダーは、オンラインコミュニティのメンバーを備えることができる。この例において、オンラインコミュニティの個々のメンバーは、特定のアクターのレピュテーションについて審査又は投票することができる。これらのメンバーがアクターとの肯定的な経験を有していた場合、これらのメンバーは、そのアクターのレピュテーションに対して肯定的に発言するレピュテーションメタデータ１１６を提供することができる。もちろん、これらのメンバーが否定的な経験を有していた場合、これらのメンバーは、そのアクターについて否定的に発言するレピュテーションメタデータ１１６を提供することができる。
【００１３】
レピュテーション値ビルダー１１２が複数のレピュテーションメタデータプロバイダーからレピュテーションメタデータを受信する実施形態において、レピュテーション値ビルダーはレピュテーションメタデータを総計することができる。一部の例において、レピュテーション値ビルダーは、受信したレピュテーションメタデータ１１６の平均を表すレピュテーション値を作成して出力する。さらに、単一のレピュテーション値ビルダーが示されているが、複数のレピュテーション値ビルダーが存在し、許可決定を行う際に使用されてもよい。これらの例において、各レピュテーション値は、まとめて集計されて、総計レピュテーション値を形成することができる。
【００１４】
例示的な環境１００において、ユーザーは、アクターがクライアントデバイス１０４上で実行することを可能にするようにしたいと考えてもよい。このアクターは、ローカルサービスプロバイダー１０６から、又はリモートサービスプロバイダー１１０から実行することができる。前者の場合、アクターは、ローカル要求１２０を行って、一部の操作をクライアントデバイス１０４のオブジェクト上で実行することができる。このオブジェクトは、ファイル、ドキュメント、ピクチャー、又はクライアントデバイス上に位置するか、もしくはクライアントデバイスによってアクセス可能な任意のその他のデータを備えることができる。例えば、アクターは、ローカル要求１２０を介して要求して、クライアントデバイス１０４上に位置するファイルを読み取り、書き込み、又は開くことができる。同様に、ソフトウェアアプリケーションなどがリモートサービスプロバイダー１１０から実行される場合、アクターは、リモート要求１２２を行って、クライアントデバイス上に位置するか、又はクライアントデバイスによってアクセス可能な一部のオブジェクトへの一部の操作を実行することができる。以下で詳細に説明されるように、最初にクライアントデバイスは、要求された操作を実行する許可をアクターに認可又は拒否する前に、アクターのレピュテーションを確認しようとすることができる。
【００１５】
この概要を念頭に置いて、本文書はここで、以下の説明に有用なクライアントデバイスの内容について説明する。説明されるように、クライアントデバイスは、１つ又は複数のプロセッサー１２４及び１つ又は複数のコンピューター可読媒体１２６を含む。説明される実施形態において、コンピューター可読媒体１２６は、アクセス制御モジュール１２８を含むが、アクセス制御モジュール１２８はクライアントデバイス１０４上に位置するか又はクライアントデバイス１０４によってアクセス可能な特定のオブジェクトとのコンタクトを求めるアクターにアクセスを認可又は拒否する役割を果たすことができる。
【００１６】
アクセス制御モジュール１２８は、許可入力ビルダー１３０及び許可モジュール１３２を含むことができる。許可入力ビルダー１３０は、レピュテーション値１１４、及び以下に説明されるその他のコンポーネントを受信し、許可決定を行う際に使用する許可入力を作成する役割を果たすことができる。一方、許可モジュール１３２は、ルールモジュール１３４を含むことができる。ルールモジュール１３４は、許可を求めるアクターにアクセスを認可するかどうかを決定する際に使用するローカル又はリモートの許可ルール又はポリシーを実装することができる。許可モジュール１３２は、許可入力ビルダー１３０から許可入力を受信し、許可入力を、ルールモジュールの１つ又は複数のルールに対して比較することができる。許可入力値及びルールモジュールの構成に応じて、許可モジュールは、アクターの要求を許可又は拒否して、要求された特定のオブジェクトへの特定の操作を実行することができる。また、アクセス制御モジュール１２８が、要求された操作を行わせるかどうかを決定するようユーザーにプロンプト表示で求めるなど、その他の結果が生じてもよい。さらに、アクセス制御モジュールは、クライアントデバイスの一部として示されているが、これはまた、リモートに位置し、場合によってはレピュテーション値ビルダー１１２の一部を備えるものであってもよい。
【００１７】
図１に示され、上記で説明されるように、アクターは、ローカル又はリモートの要求を行って、オブジェクトへの何らかの操作を実行することができる。それに応答して、クライアントデバイス１０４は要求を行うことができ、レピュテーション値ビルダー１１２は、アクターのレピュテーションを指示するレピュテーション値１１４を提供することができる。次いで、このレピュテーション値は、アクセス制御モジュールと、場合によっては許可入力ビルダー１３０に提供することができる。これらの実施形態において、次に許可入力ビルダーは、この値、及び以下に説明されるその他のコンポーネントを使用し、アクターのレピュテーションを指示する許可入力を構築することができる。次いで、許可入力は許可モジュールに提供することができるが、許可モジュールは許可入力をルールモジュール１３４内のルールに対して比較することができる。次いで、許可モジュール１３２は、アクターにアクセスを認可するかどうか、又はユーザー１０２が決定できるようにするかどうかについてのアクセス又は許可の決定を出力することができる。アクセス制御モジュールがレピュテーション値ビルダー１１２の一部を備える実施形態において、レピュテーション値ビルダー自体は単に、アクセス又は許可の決定をクライアントデバイスに提供することができる。
【００１８】
図２は、請求項に係るツールがさらに操作することができるもう１つのオペレーティング環境を概して２００で示す。図２は、図１に示され、図１を参照して説明された要素と同じ要素を数多く備える。しかしながら、環境２００において、レピュテーションプロバイダー２０２は、環境１００のレピュテーション値ビルダー１１２に取って代わることができる。レピュテーション値ビルダー１１２と同様に、レピュテーションプロバイダー２０２は、レピュテーションメタデータプロバイダー１１８からレピュテーションメタデータ１１６を受信することができる。しかしながら、ここで、レピュテーションプロバイダー２０２は、場合によってはクライアントデバイス１０４からの要求に応答して、レピュテーションメタデータ１１６を出力することもできる。この場合も同様に、単一のレピュテーションプロバイダーが示されているが、複数のレピュテーションプロバイダーが存在し、許可決定を行う際に使用されてもよい。
【００１９】
示されているように、クライアントデバイス１０４は、１つ又は複数のコンピューター可読媒体２０４を含むことができるが、コンピューター可読媒体２０４自体がアクセス制御モジュール２０６を含むことができる。アクセス制御モジュール１２８と同様に、アクセス制御モジュール２０６は、許可入力ビルダー１３０、許可モジュール１３２、及びルールモジュール１３４を含むことができる。しかしながら、アクセス制御モジュール２０６はさらに、レピュテーションン値ビルダーは、レピュテーションメタデータ１１６を受信することができ、レピュテーション値ビルダー２０８を含むことができる。レピュテーション値ビルダー２０８は、レピュテーション値ビルダー１１２と同様の方法で機能することができる。つまり、レピュテーショ値を作成して出力することができる。
【００２０】
したがって、これらの実施形態において、ソフトウェアアプリケーションのようなアクターは、クライアントデバイス１０４上に位置するか、又はクライアントデバイス１０４によってアクセス可能なオブジェクトへの何らかの操作を実行することを要求することができる。それに応答して、レピュテーションプロバイダー２０２によって集計されたレピュテーションメタデータ１１６は、クライアントデバイスに提供することができる。より詳細には、レピュテーションメタデータ１１６はレピュテーション値ビルダー２０８に提供することができるが、レピュテーション値ビルダー２０８はレピュテーション値を許可入力ビルダー１３０に出力することができる。前述のように、許可入力ビルダー１３０は、このレピュテーション値を受信し、許可入力を作成することができる。次いで、入力は、許可モジュール１３２に提供することができるが、許可モジュール１３２は入力をルールモジュール１３４内の１つ又は複数のルール、場合によってはポリシーと比較することができる。次いで、許可モジュール１３２は、以下に詳細に説明されるように、アクセス又は許可の決定を出力することができる。
【００２１】
レピュテーション値ビルダー
図３は、レピュテーション値ビルダー３０４に結合することができる１つ又は複数のコンピューター可読媒体３０２を含むコンピューティングデバイス３００を示す。レピュテーション値ビルダーは、コンピューター可読媒体と一体であるか、コンピューター可読媒体によってアクセス可能であるか、又はコンピューター可読媒体から独立していてもよい。レピュテーション値ビルダーは、レピュテーション値ビルダー１１２及び／又は２０８に関して上記で説明されている多くの方法で機能することができる。さらに、図１及び図２はレピュテーションメタデータ１１６がリモートに提供されることを示すが、レピュテーションメタデータはまたクライアントデバイス１０４においてローカルに提供されてもよい。
【００２２】
図３に示されるように、レピュテーション値ビルダー３０４は、レピュテーションメタデータ１１６を受信することができる。レピュテーション値ビルダー１１２及び２０８に関して上記で説明されるように、レピュテーション値ビルダー３０４は、アクターのレピュテーションを指示するレピュテーション値１１４を作成して出力することができる。この場合も同様に、レピュテーションメタデータ１１６は、１つ又は複数のレピュテーションメタデータプロバイダー１１８などから送出することができる。レピュテーションメタデータプロバイダーは、オンラインコミュニティのメンバーであってもよく、又は独立した製品レビュー及び分析を介してアクターのレピュテーションを追跡することができ、コンピューターエンティティ上で操作することができるソフトウェアプログラムであってもよい。レピュテーションメタデータプロバイダー１１８はまた、レピュテーションメタデータ１１６又はレピュテーション値１１４を受信するためにユーザーが加入する必要のあるサブスクリプションプログラムを備えることができる。したがって、アクターのレピュテーションは、さらに多くのコミュニティメンバー又はコンピューティングエンティティがアクターのレピュテーションに関連する入力を提供するにつれ、時間の経過に伴って進化することができる。レピュテーションメタデータ１１６をコンパイルするいくつかの特定の方法が提供されたが、この情報は、アクターのレピュテーションを指示するメタデータを収集するように動作可能な任意の方法でコンパイルすることができることを理解されたい。
【００２３】
レピュテーション値ビルダー３０４は、図１に示されるようにクライアントデバイスに関してリモートに位置するか、又は図２に示されるようにローカルに位置することもできる。前者の実施形態において、クライアントデバイス又はそこで実行している一部のモジュールは、特定のアクターに関連するレピュテーション値に関する要求を送信することができる。この要求は、レピュテーション値が求められているアクターを一意に識別する属性を含むことができる。一部の例において、この属性は、暗号メッセージ認証子のような、デジタル署名された属性を備えることができる。ローカルクライアントが１つ又は複数のレピュテーションビルダーにレピュテーション情報を要求するようなこれらの例において、レピュテーションビルダーは、ローカルクライアントに１つ又は複数のレピュテーション値を提供することができる。各ビルダーはすでに、複数のレピュテーションメタデータ１１６をレピュテーション値１１４に総計している場合もある。複数のビルダーが存在する場合、クライアントデバイスは、それらを総計レピュテーション値にコンパイルすることができる。
【００２４】
リモートではなくローカルのレピュテーション値ビルダー３０４を使用する実施形態において、ローカルのレピュテーション値ビルダーは代わりに、１つ又は複数のレピュテーションプロバイダー２０２にレピュテーションメタデータ１１６を要求することができる。次いで、ローカルの値ビルダーは、１つ又は複数のレピュテーションプロバイダー２０２からのこのメタデータをコンパイルしてレピュテーション値１１４に総計することができる。
【００２５】
レピュテーション値ビルダー３０４は、一部の例において推移的な品質を表示することができる。これらの例において、オブジェクトへの何らかの操作を実行することを要求するアクターは、一連のプロセスのリーフノードを単に備えることができる。これらの例において、レピュテーション値ビルダー３０４は、リーフノードに関連する呼び出しモジュールの全分岐をトラバースすることができる。例えば、クライアントデバイスのユーザーがハイパーリンクのピクチャーをクリックし、その結果、アクターがローカルオブジェクトへの操作の実行を要求する場合を想定されたい。したがって、レピュテーション値ビルダー１１２は、ピクチャーのレピュテーション値を提供できるだけではなく、ピクチャーの前に実行している親及び／又は祖父母プロセスを分析することもできる。一部の例において、個々のレピュテーション値はノードごとに提供されてもよく、その他の例において、総計結果は全分岐に対して与えられてもよい。
【００２６】
さらに、レピュテーション値１１４は、様々なレベルの細分度で提供することができる。例えば、一部の例において、アクターのレピュテーション値は、「ｇｏｏｄ（好評）」、「ｂａｄ（悪評）」、又は「ｕｎｋｎｏｗｎ（不明）」のうちの１つにすることができる。「許可モジュール」と題する節において以下で詳細に説明されるように、これらの様々な値は、アクターが要求されたアクセスを認可すべきかどうかの決定に役立つことができる。レピュテーション値はこれらの比較的単純な値を備えることができるが、これらはより精細なレベルの細分度を備えることもできる。例えば、アクターのレピュテーション値は、以下の項目のうちの１つ又は複数を備えることができる。
・  既知のマルウェア
・  可能なスパイウェア
・  報告されているトロイのソフトウェア
・  ベンダーによってアップデートされたソフトウェア
・  ベンダーによって廃止されたソフトウェア
・  もうサポートされていないソフトウェア
・  既知のセキュリティの脆弱性
・  使用可能なソフトウェアのパッチ
・  ８５％の肯定的なレピュテーション
・  ２３％の否定的なレピュテーション
・  ２３，２３４のインストール
・  発行者によりデジタル署名されたドキュメント
・  ソフトウェアを取得したソースネットワークアドレス
上記のリストが可能なレピュテーション値の一部しか備えていないことに、特に留意されたい。いずれにしても、一部の例において、レピュテーション値ビルダー３０４は、レピュテーション値１１４を許可入力ビルダーに提供することができる。これらの例において、レピュテーション値は、アクセスが要求側アクターに対して認可されるべきかどうかの決定に使用する許可入力の一部を形成することができる。
【００２７】
許可入力ビルダー
図４は、アクセス制御モジュール４０４を含むように示される１つ又は複数のコンピューター可読媒体４０２を含むコンピューティングデバイス４００を示す。アクセス制御モジュール４０４は、許可入力ビルダー４０６に結合することができるが、許可入力ビルダー４０６は、コンピューター可読媒体４０２及び／又はアクセス制御モジュール４０４と一体であるか、コンピューター可読媒体４０２及び／又はアクセス制御モジュール４０４によってアクセス可能であるか、又はコンピューター可読媒体４０２及び／又はアクセス制御モジュール４０４から独立していてもよい。許可入力ビルダー４０６は、許可入力ビルダー１３０に関して上記で説明されている特徴と同じ特徴の多くを備えることができる。
【００２８】
説明されるように、許可入力ビルダー４０６は、レピュテーション値１１４を、場合によってはレピュテーション値ビルダー１１２、２０８、又は３０４から受信することができる。許可入力ビルダー４０６は、ユーザーアイデンティティ４０８、アクタータイプ４１０、及び／又はシステムタイプ４１２など、その他の入力を受信することもできる。これらの追加の入力は、レピュテーション値１１４と共に、許可入力４１４の出力の形成に役立つことができる。上記で説明されるように、許可入力は、これらの入力の結果を備えることができ、最終的には、アクターがその要求されたアクセスを認可すべきかどうかを決定するためにルール又はポリシーと比較することができる。
【００２９】
ユーザーアイデンティティ４０８は、クライアントデバイス（例えば、１０４）を操作しているユーザー（例えば、１０２）のアイデンティティを表す。様々なユーザーが様々な許可を得ることができるので、ユーザーアイデンティティ４０８は、結果として生じる許可入力４１４の値に寄与する。アクタータイプ４１０は、アクセスを要求するアクターの特性を参照する。例えば、アクタータイプは、ソフトウェアアプリケーション、インストールプログラム、動的にリンクされたライブラリー及び／又はインストールプログラムのタイプのうちの１つ又は複数を備えることができる。その他のタイプもまた、オブジェクトのラベルに基づいて存在することができる。この場合も同様に、様々なアクタータイプが様々なレベルの許可を得ることができるので、アクタータイプは結果として生じる許可入力４１４の値に寄与する。例えば、ファイル転送プロトコル（ＦＴＰ；Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）アクタータイプは、ワードプロセッサーのような代替のソフトウェアアプリケーションほど信頼できないと見なされることもある。もちろん、これはまた、アクターがアクセスを望むシステムのタイプを参照するシステムタイプ４１２に依存することもできる。例えば、システムタイプ４１２は、パーソナルコンピューター、作業ベースのサーバー、ＦＴＰサーバーなどを備えることができる。
【００３０】
システムタイプ４１２が出力された許可入力４１４にどのように影響を与えるかを強調するため、上記で説明されたＦＴＰアクタータイプの例に関心を戻す。アクターがアクセスを望むシステムタイプ４１２がパーソナルコンピューターである場合、ＦＴＰアクタータイプ４１０は、あまり信頼できないと見なすことができる。しかしながら、システムタイプ４１２がＦＴＰサーバーである場合、ＦＴＰアクター４１０はより信頼できると見なされる傾向が強くなる。ここで、パーソナルコンピューター上で実行しているＦＴＰプログラムがマルウェア、スパイウェアなどである可能性はより高いが、ＦＴＰプログラムがＦＴＰサーバーで実行する場合、このことが当てはまる可能性はそれほど高くない。
【００３１】
つまり、これらの複数の入力の任意の組合せは、許可入力４１４を作成することができる許可入力ビルダー４０６に入ることができる。一部の例において、レピュテーション値１１４は単独で、許可入力ビルダー４０６に入力することができる。これらの例において、結果として生じる許可入力４１４は単に、レピュテーション値１１４と等しい。しかしながら、その他の例において、レピュテーション値１１４は、その他の示されている入力のうちの１つ又は複数と共に許可入力ビルダー４０６に入る。これらの例において、結果として生じる許可入力４１４は、これらの入力された値の任意の組合せに基づいているが、引き続きアクターのレピュテーションを指示している。その値が何であっても、許可入力４１４は、続いてこの後説明されるように、１つ又は複数の許可ルール又はポリシーと比較するために、許可モジュールに提供されてもよい。
【００３２】
許可モジュール
図５は、アクセス制御モジュール５０４を含むことができる１つ又は複数のコンピューター可読媒体５０２を含むコンピューティングデバイス５００を示す。示されているように、アクセス制御モジュール５０４は許可モジュール５０６を含み、さらに許可モジュール５０６はルールモジュール５０８を含む。許可モジュール５０６は、許可モジュール１３２に関して上記で説明されている方法と同じ多くの方法で機能することができる。同様に、ルールモジュール５０８は、ルールモジュール１３４と同じ多くの方法で機能することができる。
【００３３】
図５はまた、要求５１０を受信する許可モジュール５０６を示す。アクター（例えば、ソフトウェアアプリケーション）は一般に要求５１０を送信するが、要求５１０は上記で説明されているローカル要求１２０及び／又はリモート要求１２２と類似するか同一であってもよい。アクターは、コンピューティングデバイス５００上に位置するか、又はコンピューティングデバイス５００によってアクセス可能なオブジェクト（例えば、ファイル）への何らかの操作（例えば、読み取り、書き込み、開く）の実行を要求することができる。要求に加えて、許可モジュール５０６はまた、許可入力４１４を受信することができる。上記で説明されているように、許可入力４１４は、オブジェクトへの操作の実行を求めるアクターのレピュテーションを少なくとも部分的に指示している。さらに、上記で説明されているように、その他のコンポーネントもまた、許可入力４１４への入力を提供することができる。しかしながら、許可入力４１４がその他のコンポーネントを含まない場合、許可入力４１４は単にアクターのレピュテーション値で構成される。
【００３４】
許可モジュール５０６は、許可入力４１４を、ルールモジュール５０８によって作成及び／又は実装されたルールに対して比較することができる。この比較は、アクターが要求５１０を実行する許可を認可すべきかどうかを決定する役割を果たすことができるが、その結果は許可決定５１２の形態で出力することができる。ルールモジュール５０８によって実装されたルール又はポリシーに従って、許可決定５１２は、要求された許可を実行する許可をアクターに認可することができるか、アクターに許可を与えることを拒否することができるか、又はアクターに許可を認可するかどうかを決定するようユーザーにプロンプト表示で求めることができる。インストールパッケージのアクタータイプの例示的なルールは、以下の項目を備えることができる。
・  許可入力４１４が「ｂａｄ」である場合、インストールしない
・  許可入力４１４が「ｕｎｋｎｏｗｎ」である場合、ユーザーにプロンプト表示する
・  許可入力４１４が「ｇｏｏｄ」である場合、インストール可能にする
上記のルールのセットを使用する一部の例において、許可入力４１４は単に、レピュテーション値１１４で構成することができる。ここで、許可決定５１２は、レピュテーション値が「ｇｏｏｄ」である場合にアクターに許可を認可することができるが、レピュテーション値が「ｂａｄ」である場合にアクターに許可を与えることを拒否する。さらに、許可決定は、レピュテーション値が「ｕｎｋｎｏｗｎ」である場合に、ユーザーに決定するようプロンプト表示で求めることができる。この例が示すように、許可モジュール５０６は、許可入力及び実装されたルールに基づいて自動又は所定の決定を行うことができるか、又は許可モジュールは最終決定をユーザーの判断にゆだねることもできる。
【００３５】
さらに、ルールモジュール５０８は、様々な細分度レベルのルールを含むことができる。例えば、許可モジュール５０６及び／又はルールモジュール５０８はまた、許可決定５１２を行う際に、要求５１０の特性を査定することができる。強調するために、以下の例示のリストは、ルールモジュール５０８が許可決定を行うときに実装することができる複雑な許可ルールを備える。
・  ｇｏｏｄの報告が１，０００未満である場合、インストールを許可しない
・  ｕｎｋｎｏｗｎのレピュテーションに対してファイアウォールポートの変更を許可しない
・  「ｇｏｏｄ」のソフトウェアコンポーネントに対してのみレジストリーの変更を許可する
・  ＊．ｄｏｃファイルを許可するが、＊．ｘｌｓファイルは許可しない
・  デジタル署名されたドキュメントは許可するが、署名のないものは許可しない
・  レピュテーションがｕｎｋｎｏｗｎである場合、ソフトウェアのインストール決定についてユーザーにプロンプト表示する
・  レピュテーション投票が５，０００票未満である場合、媒体を再生しない
・  特定のアクターに、特定のオペレーティングシステムを備えるデバイス上でのみ実行することを許可する
・  特定のアクターに、サーバー上での実行のみを許可するが、ワークステーション上での実行は許可しない
複雑な許可ルールを使用する実施形態において、許可決定５１２は、より単純なルールを使用する実施形態よりも比較的堅固にすることができる。例えば、許可決定は、アクターが特定のオブジェクトへの特定の操作のみを実行できるようにすることができる。より詳細には、許可決定は、ソフトウェアアプリケーションがユーザーのファイルを開くことができるが、そのファイルに書き込み又は削除を行うことはできないという結論を出すことができる。さらに、クライアントデバイス上に位置するか、又はクライアントデバイスによってアクセス可能なオブジェクトは、さらに細分度の高い許可決定を可能にする様々なセキュリティレベルを有することができる。例えば、クライアントデバイス上の一部のオブジェクト（例えば、ファイル）は、「ｈｉｇｈ  ｐｒｉｖａｃｙ」とラベル表示されてもよく、その他のオブジェクトは「ｌｏｗ  ｐｒｉｖａｃｙ」とラベル表示されてもよい。デフォルトのラベルは、明示的にラベル表示されないオブジェクトに付けることができる。
【００３６】
これらの実施態様において、許可決定５１２は、ソフトウェアアプリケーションが「ｌｏｗ  ｐｒｉｖａｃｙ」とラベル表示されたファイルにのみアクセスできるべきであるという結論を出すことができる。さらに、これらの許可決定の特徴は、一部の例において調和して動作することができる。例えば、１つの可能な結果として生じる許可決定は、特定のソフトウェアアプリケーションがクライアントデバイス上の「ｈｉｇｈ  ｐｒｉｖａｃｙ」ファイルを読み取ることしかできないが、「ｌｏｗ  ｐｒｉｖａｃｙ」ファイルには読み取り及び書き込み操作を行うことができるというものとすることができる。
【００３７】
例示的な実施態様
この節では、上記で説明されているツールを使用する１つの可能な実装形態について説明する。この例示的な実装形態が１つの特定の例に過ぎず、説明されている主題又は特許請求の範囲を限定することを意図するものではないことに特に留意されたい。
【００３８】
図１を参照して、ユーザー１０２は、ネットワーク１０８を介してリモートサービスプロバイダー１１０からアプリケーションをダウンロードし、クライアントデバイス１０４上でそのアプリケーションのセットアップを開始すると仮定する。この例において、ダウンロードされたアプリケーションは、クライアントデバイス１０４のファイアウォールのポートを開こうと試みることができる。しかしながら、アクセスが認可される前に、ファイアウォールコンポーネントは、アクセス制御モジュール１２８を呼び出して、ポート変更を要求するアプリケーションのレピュテーションを検査する。アクセス制御モジュール１２８がすでにこのアプリケーションについてレピュテーション値１１４をキャッシュに入れている場合、この値を使用することができる。しかしながら、アクセス制御モジュール１２８がレピュテーション値をもたない場合、レピュテーション値ビルダー１１２からレピュテーション値を要求することができる。もちろん、アクセス制御モジュール１２８はその代わりに、一部の例において、レピュテーションメタデータ１１６をレピュテーションプロバイダー２０２から要求することができる。
【００３９】
いずれにしても、アクセス制御モジュールは、呼び出しアプリケーションのレピュテーション値１１４を受信するか又は構築する。次いで、アクセス制御モジュール１２８は、このレピュテーション値と、場合によってはシステムタイプなどの他のコンポーネントを使用して、許可入力ビルダー１３０で許可入力を構築することができる。現在の例において、それ以外のコンポーネントは入力されず、許可入力は単にこのレピュテーション値のみを備える。次いで、許可入力ビルダー１３０は、レピュテーションベースの許可入力を許可モジュール１３２に提供するが、許可モジュール１３２はアプリケーションのレピュテーションベースの許可入力をルールモジュール１３４からの許可ポリシーに対して比較する。ここで、アプリケーションのレピュテーション値は「ｂａｄ」とラベル表示することができ、許可ポリシーは、「ｂａｄ」アプリケーションがファイアウォールのポートを開くことができないことを提示することができる。したがって、アプリケーションがファイアウォールのポートを開くことを回避することができる。最後に、ユーザーには、ユーザーインターフェースを介して拒否について視覚的に通知することができる。
【００４０】
この例示的な実施態様は、クライアントデバイス、そのオペレーティングシステム、そのユーザー、及びそのアプリケーションの全般的なセキュリティ及び保全性が、前述のツールを使用することで高められることを強調する。より詳細には、セキュリティ及び保全性は、アクターのレピュテーションを許可ルールのセットと自動的に比較し、この比較を使用して、アクターにアクセスを認可するか、アクターを分離又は拒否するか、あるいはより低い特権でアクターを実行するかを決定することができるクライアントデバイスの能力により高めることができる。
【００４１】
結論
上記の説明は、レピュテーションメタデータを受信して、アクターのレピュテーション値を構築することができるツールについて述べる。これらのツールはまた、レピュテーションサービスプロバイダーからレピュテーション値を受信して、許可入力を作成することができるが、許可入力はアクターのレピュテーションを指示することができる。これらのツールはまた、プログラムのようなアクターが、ユーザーのコンピューター上に位置するか、又はユーザーのコンピューターによってアクセス可能なオブジェクトへの操作を実行することを許可すべきかどうかを決定する際に使用するため、許可入力を許可ルールと比較することができる。ツールについて構造的特徴及び／又は方法論的動作に特有の表現で説明してきたが、以下の特許請求の範囲に定義されているツールが説明されている特定の特徴又は動作に必ずしも限定されないことを理解されたい。むしろ、特定の特徴及び動作は、ツールを実施する例示的な形態として開示される。
【図１】
2010512576.tif 000003
【図２】
2010512576.tif 000004
【図３】
2010512576.tif 000005
【図４】
2010512576.tif 000006
【図５】
2010512576.tif 000007
【国際調査報告】
2010512576.tif 000008
2010512576.tif 000009