説明

レピュテーションベースの許可決定

本文書は、操作を許可するかどうかに関してより適切な決定を可能にするために効果的なレピュテーションメタデータを受信することができるツールについて説明する。これらのツールは、このレピュテーションメタデータからレピュテーション値を構築し、この値及び許可ルールに基づいて、一部のプログラム、アプリケーション、又はその他のアクターによって要求された操作を許可するかどうかをより適切に決定することができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、レピュテーションベースの許可決定に関する。
【背景技術】
【0002】
アクセス制御システムは、プログラム及びアプリケーションを許可して、ユーザーのコンピューター上に位置付けられるファイルの読み取り、書き込み、又は開くことをインターネットを介してダウンロードされたソフトウェアパッケージに許可するなどの操作を実行する。伝統的に、アクセス制御システムは、アクセス制御リスト、ルックアップリストなどを参照することにより、操作を許可するかどうかを決定する。
【発明の概要】
【発明が解決しようとする課題】
【0003】
しかしながら、これらのリストは、固定された、わずかな機能しか提供しないスキーマを採用することが多い。例えば、これらのスキーマは、要求された操作を可能にするかどうかを決定する際に、ユーザーのアイデンティティを調べる程度のことしか行わないこともある。その際、これらのスキーマは、信用できないソフトウェアパッケージ(例えば、前述のインターネットでダウンロードされたソフトウェアパッケージ)が、ユーザーのアイデンティティの下でユーザーのコンピューター上で稼働している限り、思うがままに何でも行うことができるようにする場合もある。そのような場合、ユーザーのアイデンティティは、決定を効果的に制御して、パッケージの要求された操作を許可する。
【課題を解決するための手段】
【0004】
本文書は、コンピューティングシステムにおいて操作を許可するかどうかに関してより適切な決定を可能にするために効果的なレピュテーションメタデータを受信することができるツールについて説明する。これらのツールは、このレピュテーションメタデータからレピュテーション値を構築し、この値及び許可ルールに基づいて、一部のプログラム、アプリケーション、又はその他のアクターによって要求された操作を許可するかどうかをより適切に決定することができる。
【0005】
この「課題を解決するための手段」は、以下の「発明を実施するための形態」でさらに説明される一連の概念を簡略化された形態で示すために提供される。この「発明が解決しようとする課題」は、請求項に係る主題の重要な特徴又は基本的特徴を特定することを意図するものではなく、また請求項に係る主題の範囲を決定する際の補助として使用されることを意図するものでもない。例えば、「ツール(tool)」という用語は、上記のコンテキストにより、本文書全体を通じて認められているように、システム、方法、コンピューター可読命令、及び/又は技法を示すことができる。
【図面の簡単な説明】
【0006】
【図1】レピュテーション値ビルダーを有し、ツールの様々な実施形態が動作することができる1つの例示的なオペレーティング環境を示す図である。
【図2】レピュテーションプロバイダーを有し、ツールの様々な実施形態が動作することができるもう1つの例示的なオペレーティング環境を示す図である。
【図3】レピュテーションメタデータを受信し、レピュテーション値を出力するように構成された1つの例示的なレピュテーション値ビルダーを示す図である。
【図4】レピュテーション値を受信し、許可入力を作成するように構成された1つの例示的な許可入力ビルダーを示す図である。
【図5】要求及び許可入力を受信し、許可決定を出力するように構成された1つの例示的な許可モジュールを示す図である。
【発明を実施するための形態】
【0007】
類似するコンポーネント及び特徴を参照するために、本開示及び図全体を通じて同一の参照番号が使用される。
概要
以下の文書は、前述の機能を有し、アクターのレピュテーション値の構築、レピュテーション値に少なくとも部分的に基づく許可入力の構築、許可入力と許可ポリシーとの比較、及び比較に基づく許可決定を可能にするツールについて説明する。ツールがこれら及びその他の動作を可能にすることができる2つの例示的な環境は、以下の「例示的なオペレーティング環境」と題する節において示される。続いて、「レピュテーション値ビルダー」と題するもう1つの節では、ツールがレピュテーションメタデータからアクターのレピュテーション値を作成するように動作することができる1つの例示的な方法について説明する。「許可入力ビルダー」と題する第4の節では、ツールがどのように動作してアクターのレピュテーション値から許可入力を構築することができるかについて説明する。「許可モジュール」と題する第5の節では、ツールが、アクターのレピュテーション値を指示する許可入力に基づいて許可決定を行うように動作することができる方法について説明する。「例示的な実装」と題する最後の節では、請求項に係るツールが集合的に動作することができる1つの非限定的な方法について説明する。これらの節の見出し及び要約を含むこの概要は、読者の便宜のために提供されるものであり、特許請求の範囲又は見出しの付いた節を限定することを意図していない。
【0008】
例示的なオペレーティング環境
ツールについて詳細に説明する前に、例示的なオペレーティング環境についての以下の説明は、ツールの様々な発明的な態様を採用することができるいくつかの方法を理解する際に読者を補助するために提供される。以下に説明される環境は、2つの例のみで構成されており、任意の特定のオペレーティング環境へのツールの適用を限定することを意図するものではない。その他の環境は、請求項に係る主題の精神及び範囲を逸脱することなく使用することができる。
【0009】
図1は、ユーザー102がクライアントデバイス104を操作することができる1つのそのようなオペレーティング環境を概して100で示す。クライアントデバイス104は一般に、パーソナルコンピューターのようなコンピューティングデバイスであり、ローカルサービスプロバイダー106を含むことができる。ローカルサービスプロバイダー106は、クライアントデバイス104と一体であるか、クライアントデバイス104によってアクセス可能であるか、又はクライアントデバイス104から独立していてもよい。一部の例において、ローカルサービスプロバイダー106は、ディスクドライブ、フラッシュメモリドライブ、zipドライブ、又はコンピューター可読媒体に結合することができる任意の他のデバイスを備えることができる。例えば、ローカルサービスプロバイダー106は、ソフトウェアアプリケーションを含むコンピューター可読媒体を挿入して実行することができるCD/DVDドライブを備えることができる。
【0010】
クライアントデバイス104は、ネットワーク108を介してリモートサービスプロバイダー110に接続することができる。リモートサービスプロバイダー110はサーバーなどを備えることができ、そこからユーザー及びクライアントデバイスはソフトウェアアプリケーション、プログラム、又は操作を要求することができるその他のアクターをダウンロードすることができる。クライアントデバイスは、ネットワークを介してレピュテーション値ビルダー112に接続することもできる。以下で詳細に説明されるように、レピュテーション値ビルダーは、許可決定を行う際に使用可能なレピュテーション値114を構築することができる。
【0011】
示されているように、レピュテーション値ビルダーは、1つ又は複数のレピュテーションメタデータプロバイダー118からレピュテーションメタデータ116を受信することができる。レピュテーションメタデータ116は、アクターのレピュテーションについてのレピュテーションメタデータプロバイダーの評価に関連付けられている任意の情報を備えることができる。アクターは、ソフトウェアプログラム、アプリケーション、動的にリンクされたライブラリー、インストールプログラム、ファイル、ピクチャー、ドキュメント、アプレット、ActiveX(登録商標)コントロール、又はソフトウェアもしくはハードウェア上で実行することができる任意のその他のコードを含むことができる。一方、レピュテーションメタデータプロバイダー118は、アクターのレピュテーションを評価、審査、又は査定することができる任意の人物又はデバイスを備えることができる。
【0012】
例えば、レピュテーションメタデータプロバイダーは、それ自体がソフトウェアプログラムなどを備えることができる一方で、別のレピュテーションメタデータプロバイダーは、審査されているアクターを使用した人物を備えることができる。より詳細には、第1のタイプのレピュテーションメタデータプロバイダーは、セキュリティアプリケーションを備えることができ、このセキュリティアプリケーションは、審査されているアクターの独立したレビュー及び分析に応答してレピュテーションメタデータを提供することができる。一方、後者のレピュテーションメタデータプロバイダーは、オンラインコミュニティのメンバーを備えることができる。この例において、オンラインコミュニティの個々のメンバーは、特定のアクターのレピュテーションについて審査又は投票することができる。これらのメンバーがアクターとの肯定的な経験を有していた場合、これらのメンバーは、そのアクターのレピュテーションに対して肯定的に発言するレピュテーションメタデータ116を提供することができる。もちろん、これらのメンバーが否定的な経験を有していた場合、これらのメンバーは、そのアクターについて否定的に発言するレピュテーションメタデータ116を提供することができる。
【0013】
レピュテーション値ビルダー112が複数のレピュテーションメタデータプロバイダーからレピュテーションメタデータを受信する実施形態において、レピュテーション値ビルダーはレピュテーションメタデータを総計することができる。一部の例において、レピュテーション値ビルダーは、受信したレピュテーションメタデータ116の平均を表すレピュテーション値を作成して出力する。さらに、単一のレピュテーション値ビルダーが示されているが、複数のレピュテーション値ビルダーが存在し、許可決定を行う際に使用されてもよい。これらの例において、各レピュテーション値は、まとめて集計されて、総計レピュテーション値を形成することができる。
【0014】
例示的な環境100において、ユーザーは、アクターがクライアントデバイス104上で実行することを可能にするようにしたいと考えてもよい。このアクターは、ローカルサービスプロバイダー106から、又はリモートサービスプロバイダー110から実行することができる。前者の場合、アクターは、ローカル要求120を行って、一部の操作をクライアントデバイス104のオブジェクト上で実行することができる。このオブジェクトは、ファイル、ドキュメント、ピクチャー、又はクライアントデバイス上に位置するか、もしくはクライアントデバイスによってアクセス可能な任意のその他のデータを備えることができる。例えば、アクターは、ローカル要求120を介して要求して、クライアントデバイス104上に位置するファイルを読み取り、書き込み、又は開くことができる。同様に、ソフトウェアアプリケーションなどがリモートサービスプロバイダー110から実行される場合、アクターは、リモート要求122を行って、クライアントデバイス上に位置するか、又はクライアントデバイスによってアクセス可能な一部のオブジェクトへの一部の操作を実行することができる。以下で詳細に説明されるように、最初にクライアントデバイスは、要求された操作を実行する許可をアクターに認可又は拒否する前に、アクターのレピュテーションを確認しようとすることができる。
【0015】
この概要を念頭に置いて、本文書はここで、以下の説明に有用なクライアントデバイスの内容について説明する。説明されるように、クライアントデバイスは、1つ又は複数のプロセッサー124及び1つ又は複数のコンピューター可読媒体126を含む。説明される実施形態において、コンピューター可読媒体126は、アクセス制御モジュール128を含むが、アクセス制御モジュール128はクライアントデバイス104上に位置するか又はクライアントデバイス104によってアクセス可能な特定のオブジェクトとのコンタクトを求めるアクターにアクセスを認可又は拒否する役割を果たすことができる。
【0016】
アクセス制御モジュール128は、許可入力ビルダー130及び許可モジュール132を含むことができる。許可入力ビルダー130は、レピュテーション値114、及び以下に説明されるその他のコンポーネントを受信し、許可決定を行う際に使用する許可入力を作成する役割を果たすことができる。一方、許可モジュール132は、ルールモジュール134を含むことができる。ルールモジュール134は、許可を求めるアクターにアクセスを認可するかどうかを決定する際に使用するローカル又はリモートの許可ルール又はポリシーを実装することができる。許可モジュール132は、許可入力ビルダー130から許可入力を受信し、許可入力を、ルールモジュールの1つ又は複数のルールに対して比較することができる。許可入力値及びルールモジュールの構成に応じて、許可モジュールは、アクターの要求を許可又は拒否して、要求された特定のオブジェクトへの特定の操作を実行することができる。また、アクセス制御モジュール128が、要求された操作を行わせるかどうかを決定するようユーザーにプロンプト表示で求めるなど、その他の結果が生じてもよい。さらに、アクセス制御モジュールは、クライアントデバイスの一部として示されているが、これはまた、リモートに位置し、場合によってはレピュテーション値ビルダー112の一部を備えるものであってもよい。
【0017】
図1に示され、上記で説明されるように、アクターは、ローカル又はリモートの要求を行って、オブジェクトへの何らかの操作を実行することができる。それに応答して、クライアントデバイス104は要求を行うことができ、レピュテーション値ビルダー112は、アクターのレピュテーションを指示するレピュテーション値114を提供することができる。次いで、このレピュテーション値は、アクセス制御モジュールと、場合によっては許可入力ビルダー130に提供することができる。これらの実施形態において、次に許可入力ビルダーは、この値、及び以下に説明されるその他のコンポーネントを使用し、アクターのレピュテーションを指示する許可入力を構築することができる。次いで、許可入力は許可モジュールに提供することができるが、許可モジュールは許可入力をルールモジュール134内のルールに対して比較することができる。次いで、許可モジュール132は、アクターにアクセスを認可するかどうか、又はユーザー102が決定できるようにするかどうかについてのアクセス又は許可の決定を出力することができる。アクセス制御モジュールがレピュテーション値ビルダー112の一部を備える実施形態において、レピュテーション値ビルダー自体は単に、アクセス又は許可の決定をクライアントデバイスに提供することができる。
【0018】
図2は、請求項に係るツールがさらに操作することができるもう1つのオペレーティング環境を概して200で示す。図2は、図1に示され、図1を参照して説明された要素と同じ要素を数多く備える。しかしながら、環境200において、レピュテーションプロバイダー202は、環境100のレピュテーション値ビルダー112に取って代わることができる。レピュテーション値ビルダー112と同様に、レピュテーションプロバイダー202は、レピュテーションメタデータプロバイダー118からレピュテーションメタデータ116を受信することができる。しかしながら、ここで、レピュテーションプロバイダー202は、場合によってはクライアントデバイス104からの要求に応答して、レピュテーションメタデータ116を出力することもできる。この場合も同様に、単一のレピュテーションプロバイダーが示されているが、複数のレピュテーションプロバイダーが存在し、許可決定を行う際に使用されてもよい。
【0019】
示されているように、クライアントデバイス104は、1つ又は複数のコンピューター可読媒体204を含むことができるが、コンピューター可読媒体204自体がアクセス制御モジュール206を含むことができる。アクセス制御モジュール128と同様に、アクセス制御モジュール206は、許可入力ビルダー130、許可モジュール132、及びルールモジュール134を含むことができる。しかしながら、アクセス制御モジュール206はさらに、レピュテーションン値ビルダーは、レピュテーションメタデータ116を受信することができ、レピュテーション値ビルダー208を含むことができる。レピュテーション値ビルダー208は、レピュテーション値ビルダー112と同様の方法で機能することができる。つまり、レピュテーショ値を作成して出力することができる。
【0020】
したがって、これらの実施形態において、ソフトウェアアプリケーションのようなアクターは、クライアントデバイス104上に位置するか、又はクライアントデバイス104によってアクセス可能なオブジェクトへの何らかの操作を実行することを要求することができる。それに応答して、レピュテーションプロバイダー202によって集計されたレピュテーションメタデータ116は、クライアントデバイスに提供することができる。より詳細には、レピュテーションメタデータ116はレピュテーション値ビルダー208に提供することができるが、レピュテーション値ビルダー208はレピュテーション値を許可入力ビルダー130に出力することができる。前述のように、許可入力ビルダー130は、このレピュテーション値を受信し、許可入力を作成することができる。次いで、入力は、許可モジュール132に提供することができるが、許可モジュール132は入力をルールモジュール134内の1つ又は複数のルール、場合によってはポリシーと比較することができる。次いで、許可モジュール132は、以下に詳細に説明されるように、アクセス又は許可の決定を出力することができる。
【0021】
レピュテーション値ビルダー
図3は、レピュテーション値ビルダー304に結合することができる1つ又は複数のコンピューター可読媒体302を含むコンピューティングデバイス300を示す。レピュテーション値ビルダーは、コンピューター可読媒体と一体であるか、コンピューター可読媒体によってアクセス可能であるか、又はコンピューター可読媒体から独立していてもよい。レピュテーション値ビルダーは、レピュテーション値ビルダー112及び/又は208に関して上記で説明されている多くの方法で機能することができる。さらに、図1及び図2はレピュテーションメタデータ116がリモートに提供されることを示すが、レピュテーションメタデータはまたクライアントデバイス104においてローカルに提供されてもよい。
【0022】
図3に示されるように、レピュテーション値ビルダー304は、レピュテーションメタデータ116を受信することができる。レピュテーション値ビルダー112及び208に関して上記で説明されるように、レピュテーション値ビルダー304は、アクターのレピュテーションを指示するレピュテーション値114を作成して出力することができる。この場合も同様に、レピュテーションメタデータ116は、1つ又は複数のレピュテーションメタデータプロバイダー118などから送出することができる。レピュテーションメタデータプロバイダーは、オンラインコミュニティのメンバーであってもよく、又は独立した製品レビュー及び分析を介してアクターのレピュテーションを追跡することができ、コンピューターエンティティ上で操作することができるソフトウェアプログラムであってもよい。レピュテーションメタデータプロバイダー118はまた、レピュテーションメタデータ116又はレピュテーション値114を受信するためにユーザーが加入する必要のあるサブスクリプションプログラムを備えることができる。したがって、アクターのレピュテーションは、さらに多くのコミュニティメンバー又はコンピューティングエンティティがアクターのレピュテーションに関連する入力を提供するにつれ、時間の経過に伴って進化することができる。レピュテーションメタデータ116をコンパイルするいくつかの特定の方法が提供されたが、この情報は、アクターのレピュテーションを指示するメタデータを収集するように動作可能な任意の方法でコンパイルすることができることを理解されたい。
【0023】
レピュテーション値ビルダー304は、図1に示されるようにクライアントデバイスに関してリモートに位置するか、又は図2に示されるようにローカルに位置することもできる。前者の実施形態において、クライアントデバイス又はそこで実行している一部のモジュールは、特定のアクターに関連するレピュテーション値に関する要求を送信することができる。この要求は、レピュテーション値が求められているアクターを一意に識別する属性を含むことができる。一部の例において、この属性は、暗号メッセージ認証子のような、デジタル署名された属性を備えることができる。ローカルクライアントが1つ又は複数のレピュテーションビルダーにレピュテーション情報を要求するようなこれらの例において、レピュテーションビルダーは、ローカルクライアントに1つ又は複数のレピュテーション値を提供することができる。各ビルダーはすでに、複数のレピュテーションメタデータ116をレピュテーション値114に総計している場合もある。複数のビルダーが存在する場合、クライアントデバイスは、それらを総計レピュテーション値にコンパイルすることができる。
【0024】
リモートではなくローカルのレピュテーション値ビルダー304を使用する実施形態において、ローカルのレピュテーション値ビルダーは代わりに、1つ又は複数のレピュテーションプロバイダー202にレピュテーションメタデータ116を要求することができる。次いで、ローカルの値ビルダーは、1つ又は複数のレピュテーションプロバイダー202からのこのメタデータをコンパイルしてレピュテーション値114に総計することができる。
【0025】
レピュテーション値ビルダー304は、一部の例において推移的な品質を表示することができる。これらの例において、オブジェクトへの何らかの操作を実行することを要求するアクターは、一連のプロセスのリーフノードを単に備えることができる。これらの例において、レピュテーション値ビルダー304は、リーフノードに関連する呼び出しモジュールの全分岐をトラバースすることができる。例えば、クライアントデバイスのユーザーがハイパーリンクのピクチャーをクリックし、その結果、アクターがローカルオブジェクトへの操作の実行を要求する場合を想定されたい。したがって、レピュテーション値ビルダー112は、ピクチャーのレピュテーション値を提供できるだけではなく、ピクチャーの前に実行している親及び/又は祖父母プロセスを分析することもできる。一部の例において、個々のレピュテーション値はノードごとに提供されてもよく、その他の例において、総計結果は全分岐に対して与えられてもよい。
【0026】
さらに、レピュテーション値114は、様々なレベルの細分度で提供することができる。例えば、一部の例において、アクターのレピュテーション値は、「good(好評)」、「bad(悪評)」、又は「unknown(不明)」のうちの1つにすることができる。「許可モジュール」と題する節において以下で詳細に説明されるように、これらの様々な値は、アクターが要求されたアクセスを認可すべきかどうかの決定に役立つことができる。レピュテーション値はこれらの比較的単純な値を備えることができるが、これらはより精細なレベルの細分度を備えることもできる。例えば、アクターのレピュテーション値は、以下の項目のうちの1つ又は複数を備えることができる。
・ 既知のマルウェア
・ 可能なスパイウェア
・ 報告されているトロイのソフトウェア
・ ベンダーによってアップデートされたソフトウェア
・ ベンダーによって廃止されたソフトウェア
・ もうサポートされていないソフトウェア
・ 既知のセキュリティの脆弱性
・ 使用可能なソフトウェアのパッチ
・ 85%の肯定的なレピュテーション
・ 23%の否定的なレピュテーション
・ 23,234のインストール
・ 発行者によりデジタル署名されたドキュメント
・ ソフトウェアを取得したソースネットワークアドレス
上記のリストが可能なレピュテーション値の一部しか備えていないことに、特に留意されたい。いずれにしても、一部の例において、レピュテーション値ビルダー304は、レピュテーション値114を許可入力ビルダーに提供することができる。これらの例において、レピュテーション値は、アクセスが要求側アクターに対して認可されるべきかどうかの決定に使用する許可入力の一部を形成することができる。
【0027】
許可入力ビルダー
図4は、アクセス制御モジュール404を含むように示される1つ又は複数のコンピューター可読媒体402を含むコンピューティングデバイス400を示す。アクセス制御モジュール404は、許可入力ビルダー406に結合することができるが、許可入力ビルダー406は、コンピューター可読媒体402及び/又はアクセス制御モジュール404と一体であるか、コンピューター可読媒体402及び/又はアクセス制御モジュール404によってアクセス可能であるか、又はコンピューター可読媒体402及び/又はアクセス制御モジュール404から独立していてもよい。許可入力ビルダー406は、許可入力ビルダー130に関して上記で説明されている特徴と同じ特徴の多くを備えることができる。
【0028】
説明されるように、許可入力ビルダー406は、レピュテーション値114を、場合によってはレピュテーション値ビルダー112、208、又は304から受信することができる。許可入力ビルダー406は、ユーザーアイデンティティ408、アクタータイプ410、及び/又はシステムタイプ412など、その他の入力を受信することもできる。これらの追加の入力は、レピュテーション値114と共に、許可入力414の出力の形成に役立つことができる。上記で説明されるように、許可入力は、これらの入力の結果を備えることができ、最終的には、アクターがその要求されたアクセスを認可すべきかどうかを決定するためにルール又はポリシーと比較することができる。
【0029】
ユーザーアイデンティティ408は、クライアントデバイス(例えば、104)を操作しているユーザー(例えば、102)のアイデンティティを表す。様々なユーザーが様々な許可を得ることができるので、ユーザーアイデンティティ408は、結果として生じる許可入力414の値に寄与する。アクタータイプ410は、アクセスを要求するアクターの特性を参照する。例えば、アクタータイプは、ソフトウェアアプリケーション、インストールプログラム、動的にリンクされたライブラリー及び/又はインストールプログラムのタイプのうちの1つ又は複数を備えることができる。その他のタイプもまた、オブジェクトのラベルに基づいて存在することができる。この場合も同様に、様々なアクタータイプが様々なレベルの許可を得ることができるので、アクタータイプは結果として生じる許可入力414の値に寄与する。例えば、ファイル転送プロトコル(FTP;File Transfer Protocol)アクタータイプは、ワードプロセッサーのような代替のソフトウェアアプリケーションほど信頼できないと見なされることもある。もちろん、これはまた、アクターがアクセスを望むシステムのタイプを参照するシステムタイプ412に依存することもできる。例えば、システムタイプ412は、パーソナルコンピューター、作業ベースのサーバー、FTPサーバーなどを備えることができる。
【0030】
システムタイプ412が出力された許可入力414にどのように影響を与えるかを強調するため、上記で説明されたFTPアクタータイプの例に関心を戻す。アクターがアクセスを望むシステムタイプ412がパーソナルコンピューターである場合、FTPアクタータイプ410は、あまり信頼できないと見なすことができる。しかしながら、システムタイプ412がFTPサーバーである場合、FTPアクター410はより信頼できると見なされる傾向が強くなる。ここで、パーソナルコンピューター上で実行しているFTPプログラムがマルウェア、スパイウェアなどである可能性はより高いが、FTPプログラムがFTPサーバーで実行する場合、このことが当てはまる可能性はそれほど高くない。
【0031】
つまり、これらの複数の入力の任意の組合せは、許可入力414を作成することができる許可入力ビルダー406に入ることができる。一部の例において、レピュテーション値114は単独で、許可入力ビルダー406に入力することができる。これらの例において、結果として生じる許可入力414は単に、レピュテーション値114と等しい。しかしながら、その他の例において、レピュテーション値114は、その他の示されている入力のうちの1つ又は複数と共に許可入力ビルダー406に入る。これらの例において、結果として生じる許可入力414は、これらの入力された値の任意の組合せに基づいているが、引き続きアクターのレピュテーションを指示している。その値が何であっても、許可入力414は、続いてこの後説明されるように、1つ又は複数の許可ルール又はポリシーと比較するために、許可モジュールに提供されてもよい。
【0032】
許可モジュール
図5は、アクセス制御モジュール504を含むことができる1つ又は複数のコンピューター可読媒体502を含むコンピューティングデバイス500を示す。示されているように、アクセス制御モジュール504は許可モジュール506を含み、さらに許可モジュール506はルールモジュール508を含む。許可モジュール506は、許可モジュール132に関して上記で説明されている方法と同じ多くの方法で機能することができる。同様に、ルールモジュール508は、ルールモジュール134と同じ多くの方法で機能することができる。
【0033】
図5はまた、要求510を受信する許可モジュール506を示す。アクター(例えば、ソフトウェアアプリケーション)は一般に要求510を送信するが、要求510は上記で説明されているローカル要求120及び/又はリモート要求122と類似するか同一であってもよい。アクターは、コンピューティングデバイス500上に位置するか、又はコンピューティングデバイス500によってアクセス可能なオブジェクト(例えば、ファイル)への何らかの操作(例えば、読み取り、書き込み、開く)の実行を要求することができる。要求に加えて、許可モジュール506はまた、許可入力414を受信することができる。上記で説明されているように、許可入力414は、オブジェクトへの操作の実行を求めるアクターのレピュテーションを少なくとも部分的に指示している。さらに、上記で説明されているように、その他のコンポーネントもまた、許可入力414への入力を提供することができる。しかしながら、許可入力414がその他のコンポーネントを含まない場合、許可入力414は単にアクターのレピュテーション値で構成される。
【0034】
許可モジュール506は、許可入力414を、ルールモジュール508によって作成及び/又は実装されたルールに対して比較することができる。この比較は、アクターが要求510を実行する許可を認可すべきかどうかを決定する役割を果たすことができるが、その結果は許可決定512の形態で出力することができる。ルールモジュール508によって実装されたルール又はポリシーに従って、許可決定512は、要求された許可を実行する許可をアクターに認可することができるか、アクターに許可を与えることを拒否することができるか、又はアクターに許可を認可するかどうかを決定するようユーザーにプロンプト表示で求めることができる。インストールパッケージのアクタータイプの例示的なルールは、以下の項目を備えることができる。
・ 許可入力414が「bad」である場合、インストールしない
・ 許可入力414が「unknown」である場合、ユーザーにプロンプト表示する
・ 許可入力414が「good」である場合、インストール可能にする
上記のルールのセットを使用する一部の例において、許可入力414は単に、レピュテーション値114で構成することができる。ここで、許可決定512は、レピュテーション値が「good」である場合にアクターに許可を認可することができるが、レピュテーション値が「bad」である場合にアクターに許可を与えることを拒否する。さらに、許可決定は、レピュテーション値が「unknown」である場合に、ユーザーに決定するようプロンプト表示で求めることができる。この例が示すように、許可モジュール506は、許可入力及び実装されたルールに基づいて自動又は所定の決定を行うことができるか、又は許可モジュールは最終決定をユーザーの判断にゆだねることもできる。
【0035】
さらに、ルールモジュール508は、様々な細分度レベルのルールを含むことができる。例えば、許可モジュール506及び/又はルールモジュール508はまた、許可決定512を行う際に、要求510の特性を査定することができる。強調するために、以下の例示のリストは、ルールモジュール508が許可決定を行うときに実装することができる複雑な許可ルールを備える。
・ goodの報告が1,000未満である場合、インストールを許可しない
・ unknownのレピュテーションに対してファイアウォールポートの変更を許可しない
・ 「good」のソフトウェアコンポーネントに対してのみレジストリーの変更を許可する
・ *.docファイルを許可するが、*.xlsファイルは許可しない
・ デジタル署名されたドキュメントは許可するが、署名のないものは許可しない
・ レピュテーションがunknownである場合、ソフトウェアのインストール決定についてユーザーにプロンプト表示する
・ レピュテーション投票が5,000票未満である場合、媒体を再生しない
・ 特定のアクターに、特定のオペレーティングシステムを備えるデバイス上でのみ実行することを許可する
・ 特定のアクターに、サーバー上での実行のみを許可するが、ワークステーション上での実行は許可しない
複雑な許可ルールを使用する実施形態において、許可決定512は、より単純なルールを使用する実施形態よりも比較的堅固にすることができる。例えば、許可決定は、アクターが特定のオブジェクトへの特定の操作のみを実行できるようにすることができる。より詳細には、許可決定は、ソフトウェアアプリケーションがユーザーのファイルを開くことができるが、そのファイルに書き込み又は削除を行うことはできないという結論を出すことができる。さらに、クライアントデバイス上に位置するか、又はクライアントデバイスによってアクセス可能なオブジェクトは、さらに細分度の高い許可決定を可能にする様々なセキュリティレベルを有することができる。例えば、クライアントデバイス上の一部のオブジェクト(例えば、ファイル)は、「high privacy」とラベル表示されてもよく、その他のオブジェクトは「low privacy」とラベル表示されてもよい。デフォルトのラベルは、明示的にラベル表示されないオブジェクトに付けることができる。
【0036】
これらの実施態様において、許可決定512は、ソフトウェアアプリケーションが「low privacy」とラベル表示されたファイルにのみアクセスできるべきであるという結論を出すことができる。さらに、これらの許可決定の特徴は、一部の例において調和して動作することができる。例えば、1つの可能な結果として生じる許可決定は、特定のソフトウェアアプリケーションがクライアントデバイス上の「high privacy」ファイルを読み取ることしかできないが、「low privacy」ファイルには読み取り及び書き込み操作を行うことができるというものとすることができる。
【0037】
例示的な実施態様
この節では、上記で説明されているツールを使用する1つの可能な実装形態について説明する。この例示的な実装形態が1つの特定の例に過ぎず、説明されている主題又は特許請求の範囲を限定することを意図するものではないことに特に留意されたい。
【0038】
図1を参照して、ユーザー102は、ネットワーク108を介してリモートサービスプロバイダー110からアプリケーションをダウンロードし、クライアントデバイス104上でそのアプリケーションのセットアップを開始すると仮定する。この例において、ダウンロードされたアプリケーションは、クライアントデバイス104のファイアウォールのポートを開こうと試みることができる。しかしながら、アクセスが認可される前に、ファイアウォールコンポーネントは、アクセス制御モジュール128を呼び出して、ポート変更を要求するアプリケーションのレピュテーションを検査する。アクセス制御モジュール128がすでにこのアプリケーションについてレピュテーション値114をキャッシュに入れている場合、この値を使用することができる。しかしながら、アクセス制御モジュール128がレピュテーション値をもたない場合、レピュテーション値ビルダー112からレピュテーション値を要求することができる。もちろん、アクセス制御モジュール128はその代わりに、一部の例において、レピュテーションメタデータ116をレピュテーションプロバイダー202から要求することができる。
【0039】
いずれにしても、アクセス制御モジュールは、呼び出しアプリケーションのレピュテーション値114を受信するか又は構築する。次いで、アクセス制御モジュール128は、このレピュテーション値と、場合によってはシステムタイプなどの他のコンポーネントを使用して、許可入力ビルダー130で許可入力を構築することができる。現在の例において、それ以外のコンポーネントは入力されず、許可入力は単にこのレピュテーション値のみを備える。次いで、許可入力ビルダー130は、レピュテーションベースの許可入力を許可モジュール132に提供するが、許可モジュール132はアプリケーションのレピュテーションベースの許可入力をルールモジュール134からの許可ポリシーに対して比較する。ここで、アプリケーションのレピュテーション値は「bad」とラベル表示することができ、許可ポリシーは、「bad」アプリケーションがファイアウォールのポートを開くことができないことを提示することができる。したがって、アプリケーションがファイアウォールのポートを開くことを回避することができる。最後に、ユーザーには、ユーザーインターフェースを介して拒否について視覚的に通知することができる。
【0040】
この例示的な実施態様は、クライアントデバイス、そのオペレーティングシステム、そのユーザー、及びそのアプリケーションの全般的なセキュリティ及び保全性が、前述のツールを使用することで高められることを強調する。より詳細には、セキュリティ及び保全性は、アクターのレピュテーションを許可ルールのセットと自動的に比較し、この比較を使用して、アクターにアクセスを認可するか、アクターを分離又は拒否するか、あるいはより低い特権でアクターを実行するかを決定することができるクライアントデバイスの能力により高めることができる。
【0041】
結論
上記の説明は、レピュテーションメタデータを受信して、アクターのレピュテーション値を構築することができるツールについて述べる。これらのツールはまた、レピュテーションサービスプロバイダーからレピュテーション値を受信して、許可入力を作成することができるが、許可入力はアクターのレピュテーションを指示することができる。これらのツールはまた、プログラムのようなアクターが、ユーザーのコンピューター上に位置するか、又はユーザーのコンピューターによってアクセス可能なオブジェクトへの操作を実行することを許可すべきかどうかを決定する際に使用するため、許可入力を許可ルールと比較することができる。ツールについて構造的特徴及び/又は方法論的動作に特有の表現で説明してきたが、以下の特許請求の範囲に定義されているツールが説明されている特定の特徴又は動作に必ずしも限定されないことを理解されたい。むしろ、特定の特徴及び動作は、ツールを実施する例示的な形態として開示される。

【特許請求の範囲】
【請求項1】
コンピューター可読命令を有する1つ又は複数のコンピューター可読媒体であって、コンピューティングデバイスによって実行されるとき、
アクターから要求(120、122、510)を受信してオブジェクトへの操作を実行することと、
許可入力(414)を受信することであって、前記許可入力(414)は前記アクターのレピュテーションを指示するレピュテーション値(114)を含む、ことと、
前記レピュテーション値を含む前記許可入力を許可ルールと比較することと、
前記比較に応答して、前記要求(120、122、510)に関連する許可決定(512)を出力し、前記操作を実行すること
とを含む動作を前記コンピューティングデバイスに実行させることを特徴とするコンピューター可読媒体。
【請求項2】
前記許可決定(512)は、前記要求された操作の実行を許可するか、前記要求された操作の実行を拒否するか、又は前記要求された操作の実行を許可もしくは拒否するかどうかを決定するようユーザーにプロンプト表示で求めることのうちの1つを含むことを特徴とする請求項1に記載の媒体。
【請求項3】
前記レピュテーション値(114)、要求された前記操作のタイプ、及び前記オブジェクトのセキュリティレベルに基づいて前記許可決定(512)を行うことをさらに含むことを特徴とする請求項1に記載の媒体。
【請求項4】
前記レピュテーション値(114)は、前記アクターについて、又は前記アクターの要求した操作についての各人間ユーザーの経験を指示する人間ユーザーのグループから受信された入力に基づくことを特徴とする請求項1に記載の媒体。
【請求項5】
前記レピュテーション値(114)は、前記アクターについての各コンピューティングエンティティのレビュー又は分析を指示するコンピューティングエンティティのグループから受信された入力に基づくことを特徴とする請求項1に記載の媒体。
【請求項6】
前記アクターは、コード、ソフトウェア、アプリケーション、ファイル、ドキュメント、ピクチャー、アプレット、又はActiveXコントロールを備えることを特徴とする請求項1に記載の媒体。
【請求項7】
前記レピュテーション値(114)は単一のレピュテーション値を備え、複数の異なるレピュテーションメタデータプロバイダー(118)からの複数のレピュテーションメタデータ(116)を前記単一のレピュテーション値に総計することをさらに含むことを特徴とする請求項1に記載の媒体。
【請求項8】
コンピューター可読命令を有する1つ又は複数のコンピューター可読媒体であって、コンピューティングデバイスによって実行されるとき、
レピュテーションサービスプロバイダー(112)からレピュテーション値(114)を受信することであって、前記レピュテーション値(114)はアクターのレピュテーションを指示する、ことと、
少なくとも部分的に前記レピュテーション値(114)によって、前記アクターがオブジェクトへの操作を実行する許可を得るべきであるかどうかを決定する際に使用する許可入力(414)を作成すること
とを含む動作を前記コンピューティングデバイスに実行させることを特徴とするコンピューター可読媒体。
【請求項9】
ユーザーアイデンティティ(408)、アクタータイプ(410)、又はシステムタイプ(412)のうちの少なくとも1つを受信することをさらに含むことを特徴とする請求項8に記載の媒体。
【請求項10】
前記許可入力(414)はまた、少なくとも部分的に、前記受信したユーザーアイデンティティ(408)、アクタータイプ(410)、又はシステムタイプ(412)によって作成されることを特徴とする請求項9に記載の媒体。
【請求項11】
前記レピュテーション値(114)は、複数の人間ユーザーから受信され、前記アクターの実行についての各人間ユーザーの以前の経験を指示するレピュテーションメタデータ(116)を備えることを特徴とする請求項8に記載の媒体。
【請求項12】
前記レピュテーション値(114)は、第1のレピュテーションサービスプロバイダーからの第1のレピュテーション値を含み、
第2のレピュテーションサービスプロバイダーから第2のレピュテーション値を受信することと、
前記アクターが前記オブジェクトへの前記操作を実行する許可を得るべきであるかどうかを決定する際に使用するために前記受信した第1及び第2のレピュテーション値を単一の総計レピュテーション値に総計すること
とをさらに含むことを特徴とする請求項8に記載の媒体。
【請求項13】
前記許可入力(414)を許可エンジン(506)に出力して、前記許可入力(414)と許可ポリシーを比較することをさらに含むことを特徴とする請求項8に記載の媒体。
【請求項14】
前記許可エンジン(506)は、前記比較に応答して前記アクターが前記オブジェクトへの前記操作を実行する許可を得るべきであるかどうかに関連する許可決定(512)を自動的に行うように構成されることを特徴とする請求項13に記載の媒体。
【請求項15】
コンピューター可読命令を有する1つ又は複数のコンピューター可読媒体であって、コンピューティングデバイスによって実行されるとき、
1つ又は複数のレピュテーションメタデータプロバイダー(118)からレピュテーションメタデータ(116)を収集することであって、前記レピュテーションメタデータ(116)はアクターのレピュテーションについての各レピュテーションメタデータプロバイダーの評価を含む、ことと、
前記レピュテーションメタデータ(116)から総計レピュテーション値(114)を構築することであって、前記総計レピュテーション値は各評価を指示して許可決定(512)に使用するためのものである、こと
とを備える動作を前記コンピューティングデバイスに実行させることを特徴とするコンピューター可読媒体。
【請求項16】
前記許可決定(512)は、前記アクターが前記コンピューティングデバイス(104)で操作を稼働又は実行することを許可するかどうかを決定することを特徴とする請求項15に記載の媒体。
【請求項17】
前記レピュテーションメタデータ(116)を前記収集することはコミュニティ投票を実施することを含み、前記レピュテーションメタデータプロバイダー(118)のうちの少なくとも1つは前記コミュニティのユーザーを含むことを特徴とする請求項15に記載の媒体。
【請求項18】
前記レピュテーションメタデータ(116)を前記収集することは、1つ又は複数のコンピューティングエンティティから前記アクターのレピュテーションに関連する製品レビュー情報を収集することを含むことを特徴とする請求項15に記載の媒体。
【請求項19】
前記レピュテーションメタデータ(116)のうちの少なくとも一部は、前記アクターの実行の履歴を含むことを特徴とする請求項15に記載の媒体。
【請求項20】
前記許可決定(512)は、前記レピュテーション値(114)、前記アクターによって要求された操作のタイプ、及び前記アクターが前記操作の実行を要求するオブジェクトの属性に少なくとも部分的に基づくことを特徴とする請求項15に記載の媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公表番号】特表2010−512576(P2010−512576A)
【公表日】平成22年4月22日(2010.4.22)
【国際特許分類】
【出願番号】特願2009−540360(P2009−540360)
【出願日】平成19年11月8日(2007.11.8)
【国際出願番号】PCT/US2007/084057
【国際公開番号】WO2008/073647
【国際公開日】平成20年6月19日(2008.6.19)
【出願人】(500046438)マイクロソフト コーポレーション (3,165)
【Fターム(参考)】