(57)【要約】【課題】アプリケーションをロードすることに関連付けられたセキュリティリスクを統合的に評価するための機構を提供すること。【解決手段】アプリケーションをロードすることに関連付けられたホスティング環境は、セキュリティリスクを評価するトラストマネージャ（５０５）を呼び出す。トラストマネージャは、複数のトラストエバリュエータを呼び出すが、各トラストエバリュエータは異なるセキュリティリスク（５０７）の分析および査定を担う。各セキュリティリスク評価の終了により、それらの個々のセキュリティリスク評価の結果は、トラストマネージャ（５１１）に返される。トラストマネージャは、様々なセキュリティリスク評価結果を集め、集合評価結果（５１３）に基づきセキュリティ判定を行う。その判定は、アプリケーションのロードを進めること、アプリケーションのロードを停止すること、または恐らくユーザにロードを進めるか否かについての決断を促すことができる。【選択図】図５
2010205287.tif 000002
【特許請求の範囲】
【請求項１】
インストールされたアプリケーションに起因するセキュリティリスクの内、前記インストールされたアプリケーションのメタデータに基づき評価可能なセキュリティリスクを評価するための情報を含むアプリケーション記述オブジェクトを生成するオペレーティングシステムであって、評価可能なセキュリティリスクを評価するための情報は、アプリケーションの名前、アプリケーションのバージョン、アプリケーションの構成コンポーネントが望む権利およびパーミッション、デジタル署名情報からなるメタデータを含む、オペレーティングシステム、
前記アプリケーション記述オブジェクトを前記オペレーティングシステムから受信し、それに応答して、前記アプリケーションに起因する複数の前記評価可能なセキュリティリスクを評価し、前記各評価可能なセキュリティリスクの評価に応じたスコアを算定し、前記スコアの集計結果に基づき統合されたセキュリティ評価を算定するトラストマネージャ、および
前記トラストマネージャによって算定された前記統合されたセキュリティ評価を提示する、前記コンピュータの表示装置に表示されるユーザインターフェース
としてコンピュータを機能させるためのプログラムを記録したコンピュータ読取り可能な記録媒体。
【請求項２】
前記オペレーティングシステムは、前記アプリケーションのメタデータに基づき前記アプリケーションについての記述情報を含むアプリケーション記述オブジェクトを生成して、前記アプリケーション記述オブジェクトを前記トラストマネージャに送信し、
前記トラストマネージャは、前記アプリケーション記述オブジェクトに基づき前記スコアを算定することを特徴とする請求項１に記載のコンピュータ読取り可能な記録媒体。
【請求項３】
前記各評価可能なセキュリティリスクの評価は、複数のトラストエバリュエータによってそれぞれ実行され、前記各トラストエバリュエータは前記アプリケーションに起因する前記評価可能なセキュリティリスクを分析するよう構成されることを特徴とする請求項１に記載のコンピュータ読取り可能な記録媒体。
【請求項４】
前記評価可能なセキュリティリスクは、ウイルスの存在を含むことを特徴とする請求項３に記載のコンピュータ読取り可能な記録媒体。
【請求項５】
前記統合されたセキュリティ評価は、前記アプリケーションをインストールすることに起因する１つまたは複数の前記評価可能なセキュリティリスクを識別することを特徴とする請求項１に記載のコンピュータ読取り可能な記録媒体。
【請求項６】
インストールされたアプリケーションに起因するセキュリティリスクの内、前記インストールされたアプリケーションのメタデータに基づき評価可能なセキュリティリスクを評価するための情報を含むアプリケーション記述オブジェクトを生成するオペレーティングシステムであって、評価可能なセキュリティリスクを評価するための情報は、アプリケーションの名前、アプリケーションのバージョン、アプリケーションの構成コンポーネントが望む権利およびパーミッション、デジタル署名情報からなるメタデータを含む、オペレーティングシステム、と、アプリケーションの前記評価可能なセキュリティリスクを算出して算出結果を表示装置に表示させるトラストマネージャを備えたコンピュータで実行される方法であって、
前記トラストマネージャが、アプリケーションが前記コンピュータにインストールされると、前記アプリケーションについての情報を含むアプリケーション記述オブジェクトを前記オペレーティングシステムから受信するステップと、
前記トラストマネージャが、前記アプリケーション記述オブジェクトに基づき、前記アプリケーションに起因する前記複数の評価可能なセキュリティリスクをそれぞれ算定するステップと、
前記トラストマネージャが、前記複数の評価可能なセキュリティリスクを集計して前記アプリケーションの統合されたセキュリティ評価を算定するステップと、
前記トラストマネージャが、前記統合されたセキュリティ評価を前記表示装置に表示させるステップと、
を含むことを特徴とする方法。
【請求項７】
前記アプリケーションの前記評価可能なセキュリティリスクを算定するステップは、複数のトラストエバリュエータを呼び出すことをさらに含み、各トラストエバリュエータは異なる前記評価可能なセキュリティリスクと関連付けられ、各トラストエバリュエータは前記アプリケーションがそのトラストエバリュエータに対応する前記評価可能なセキュリティリスクを被る可能性を査定するよう動作することを特徴とする請求項６に記載のコンピュータで実行される方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータセキュリティシステムに関する。より詳細には、本発明は、コンピューティングシステムに対するセキュリティアセスメント情報の評価および集約に関する。
【背景技術】
【０００２】
今日のコンピュータユーザは、多数の異なるアプリケーションおよびユーティリティにアクセスする。典型的なコンピュータユーザは、年間にコンピュータ上で多数のコンピュータプログラムをインストールすることができる。多くの場合、コンピュータユーザは、意識的に自身のコンピュータ上にプログラムをインストールする。例えば、ユーザは、ソフトウェアプログラムを購入し、手動でインストールすることができる。時にはユーザは、ユーザのコンピュータにアプレットまたは小さなプログラムをインストールするよう構成される特定のウェブサイトを訪れることなどにより、無意識にプログラムをインストールする場合がある。コンピュータにプログラムをインストールすることは、ユーザが新しいソフトウェアをインストールすることと関連を持つセキュリティ問題に気付いていない今日では極めて一般的である。他のユーザは、一般的にセキュリティ問題を強く意識するが、概して特定のプログラムのインストールを取り巻く特定の問題は不透明である。
【０００３】
大部分のユーザは、新規のプログラムがウイルスまたは他の悪意のあるコードを彼らのコンピュータに持ち込むことが可能であることを理解する。ユーザは、一部のソフトウェア開発者が自由に利用可能なプログラムを作り、それが電子メールメッセージを高めるなどの公然の機能または目的を持ち、およびマーケティングエンティティ（ｍａｒｋｅｔｉｎｇ  ｅｎｔｉｔｙ）を後で返されるユーザについての情報を記録するなどの秘密の機能または目的を持つことも理解する。この特定のタイプのソフトウェアは、しばしば「スパイウェア」と呼ばれる。ユーザは、多くの場合様々な方法でこれらのセキュリティの脅威から自らを守ろうとする。例えば、多くのユーザは、ウイルスから自らを守るためにアンチ‐ウイルスユーティリティをインストールする。少数のユーザは、スパイウェアセキュリティ問題に対処するアンチ‐スパイウェアユーティリティもインストールする。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
残念ながら、各セキュリティユーティリティは、互いに個別に、かつ互いの結果の知識なしに動作し、それ故、各セキュリティユーティリティから情報を取り入れるためユーザに負担をかける。今日セキュリティシステムは、互いに孤立して動作し、各々ユーザにのみ具体的なセキュリティリスクについて報告する。大部分のユーザは、個々の異なるシステムからの異なるセキュリティリスクの個別の通知を欲しがらない。むしろ、ユーザは、自身のためのセキュリティシステムが欲しい。今日のセキュリティユーティリティの寄せ集めの性質上、概して、自身の防御に穴を開け、悪意のあるまたは望ましくないプログラムが擦り抜けることを心配するあまりユーザが置き去りにされる。その不安のために、多くのユーザは、特にオンライン環境において、新しいプログラムを試すことに消極的である。
【０００５】
残念ながら、ダウンロード、インストール、または実行時にある特定のソフトウェアプログラムにより複数の異なるセキュリティリスクからユーザを守ることのできる機構は現在のところ存在しない。セキュリティリスクを評価するための適切な機構は、当業者がなかなか実現できなかった。
【課題を解決するための手段】
【０００６】
本発明は、便利で有効な方法におけるセキュリティアセスメント情報に関するプログラムおよび動作についてのセキュリティアセスメント情報を蓄積するためのシステムおよび方法を示す。簡単に述べると、ホスティング環境は、アプリケーションのロードに対して責任がある。アプリケーションのロードの開始に応答して、ホスティング環境は、トラストマネージャを呼び出し、アプリケーションに関連した何らかのセキュリティリスクを評価する。トラストマネージャは、複数のトラストエバリュエータ（ｔｒｕｓｔ  ｅｖａｌｕａｔｏｒ）を呼び出すが、各エバリュエータは異なるセキュリティリスクの分析および査定（ａｓｓｅｓｓｉｎｇ）を担う。各セキュリティリスクの評価終了後、これらの個々のセキュリティリスク評価の結果は、トラストマネージャに返される。トラストマネージャは、様々なセキュリティリスク評価の結果を集め、集められた評価結果に基づきセキュリティ判定を行う。その判定は、アプリケーションのロードを進めるか否か、アプリケーションのロードを停止するか否か、またはおそらく、ロードを進めるか否かについての決断をユーザに促すことができる。好都合にも、決断を促すなら、ユーザは、アプリケーションの統合セキュリティアセスメント（ｃｏｌｌｅｃｔｉｖｅ  ｓｅｃｕｒｉｔｙ  ａｓｓｅｓｓｍｅｎｔ）に基づいた決断をすることができ、そのアプリケーションは、ユーザのコンピュータシステム全般についての高い守りの意識をユーザに持たせる。
【図面の簡単な説明】
【０００７】
【図１】本発明の実装において使用されることのできるコンピューティング装置を図示した機能ブロック図である。
【図２】アプリケーションのセキュリティ評価を行うための、およびその評価の統合セキュリティアセスメントをユーザに提供するためのシステムのコンポーネントを一般的に図示する機能ブロック図である。
【図３】アプリケーションとの関連で、特定のパーミッションをアプリケーションのコンポーネントと関連付けるアプリケーションに対する１つの実例となるグラントセットの図形による表現である。
【図４】ユーザに統合セキュリティアセスメント情報を提供するために使用されることができる１つの実例となるユーザインターフェースの図形による表現である。
【図５】アプリケーションに関連付けられたセキュリティリスクを評価するための、および統合セキュリティアセスメントをユーザに提供するためのプロセスを一般的に図示する論理流れ図である。
【発明を実施するための形態】
【０００８】
本発明を、本発明の実施形態を実装できる例示的なコンピューティング環境の一例を参照しながらまずここで説明する。次に、本発明の１つの具体的な実施形態の詳細な例を説明する。それに替わる実装は、具体的な実装の特定の詳細についても含まれる場合がある。本発明の実施形態は、これらここでの説明により制限されないことを理解されたい。
【０００９】
（本発明の例示的なコンピューティング環境）
図１は、本発明の例示的な実施形態において使用されることができるコンピュータ装置を示す。図１に関連して、本発明を実装するための１つの典型的なシステムは、コンピュータ装置１００などのコンピュータ装置を含む。非常に基本的な構成において、コンピュータ装置１００は、一般的に少なくとも１つの処理装置１０２およびシステムメモリ１０４を含む。的確なコンピュータ装置の構成および形式、システムメモリ１０４は、揮発性（ＲＡＭなど）、不揮発性（ＲＯＭ、フラッシュメモリなど）またはこれら２つのある組み合わせに依存する。システムメモリ１０４は、一般にオペレーティングシステム１０５、１つまたは複数のプログラムモジュール１０６を含み、およびプログラムデータ１０７を含む場合がある。この基本的なコンピュータ装置１００の構成は、破線１０８中のこれらのコンポーネントによって図１に示されている。
【００１０】
コンピューティング装置１００は、追加の特徴または機能を有する。例えば、コンピューティング装置１００は、追加のデータストレージ装置（取外し可能なおよび／または固定の）例えば、磁気ディスク、光ディスク、またはテープなども含むことができる。この様な追加のストレージは、取外し可能なストレージ１０９および固定のストレージ１１０により図１に示される。コンピュータストレージ媒体は、揮発性および不揮発性、取外し可能および固定の媒体を含むことができ、コンピュータ読取り可能な命令、データ構造、プログラムモジュール、または他のデータなどの情報の格納のための任意の方法または技術において実装される。システムメモリ１０４は、取外し可能なストレージ１０９および固定のストレージ１１０は、コンピュータストレージ媒体のすべての例である。コンピュータストレージ媒体は、限定ではないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多目的ディスク（「ＤＶＤ」）または他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたは他の磁気ストレージ装置、または所望の情報を記憶するのに用いることが可能なまたはコンピューティング装置１００がアクセスすることが可能な任意の他の媒体を含む。任意のこの様なコンピュータストレージ媒体は、コンピューティング装置１００の一部となることができる。コンピューティング装置１００は、キーボード１２２、マウス１２３、ペン、音声入力装置、タッチ入力装置、スキャナなどの入力装置１１２も有することができる。ディスプレイ、スピーカ、プリンタなどの出力装置１１４を含むこともできる。これらの装置は、周知でありここで詳細な説明をする必要はない。
【００１１】
コンピューティング装置１００は、このコンピューティング装置がネットワーク上などの他のコンピューティング装置と通信することを可能にする通信接続１１６も含むことができる。通信接続１１６は、通信媒体の一例である。通信媒体は、典型的にコンピュータ読取り可能な命令、データ構造、プログラムモジュール、または搬送波もしくは他の伝送機構などの変調されたデータ信号および任意の情報配信媒体を含む。「変調されたデータ信号」という用語は、特徴集合（ｃｈａｒａｃｔｅｒｉｓｔｉｃｓ  ｓｅｔ）または信号中の情報を符号化するための方法などにおいて変換されたもの１つまたは複数を有する信号を意味する。例として、かつ限定ではないが、通信媒体は、有線ネットワークまたは直接有線（ｄｉｒｅｃｔ−ｗｉｒｅｄ）接続などの有線媒体、ならびに音響、ＲＦ、赤外線および他のワイアレス媒体を含む。本明細書で用いられるコンピュータ読取り可能な媒体という用語は、ストレージ媒体および通信媒体の両者を含む。
【００１２】
（具体的な実装の議論）
図２は、一般に本発明を実装する環境のコンポーネントを例示する機能ブロック図である。図２に示すように、トラスト評価システム２００は、アプリケーション２０１を評価し、かつアプリケーション２０１に関連する何らかのセキュリティリスクを識別するよう構成されている。アプリケーション２０１は、コンピューティング装置１００が利用可能な任意の実行コードであり得る。コンピューティング装置１００上で実行するアプリケーション２０１に関連したセキュリティリスクは、本質的に存在する。例えば、アプリケーション２０１は、ウイルスを含む場合や、またはスパイウェアである場合がある。従って、システム２００は、意味のある方法においてアプリケーション２０１を分析し、それらのリスクを査定および定量化するよう構成される。トラスト評価システム２００は、次いでアプリケーション２０１をロードすることについての決断をする。
【００１３】
アプリケーション２０１は、接近して動作する個々のコンポーネントから成る場合がある。例えば、アプリケーション２０１は、アセンブリＡ２０２およびアセンブリＢ２０３などの複数のモジュールまたはアセンブリを含むことができる。アプリケーション２０１は、アプリケーションおよびその構成コンポーネント各々を記述するメタデータを含むことができる。そのメタデータは、アプリケーション２０１に関連して格納されるマニフェスト２０５または他の手段の中に含まれる。メタデータは、アプリケーションの名前、アプリケーションのバージョン、アプリケーションの構成要素であるコンポーネントが望む権利およびパーミッション、プライバシーポリシー情報、デジタル署名情報などを含む。
【００１４】
アプリケーション２０１はまず、多くの方法の１つでコンピューティング装置１００にロードされる。例えば、アプリケーション２０１がインターネットセッション中にダウンロードされる場合、光ディスクまたは他の固定ストレージにより得られる場合があり、電子メールまたはある他の機構を介して受信される場合がある。この実装において、アプリケーション２０１は、ホスティング環境２２０においてロードされ、かつ実行される。この議論の目的のために、ホスティング環境２２０は、アプリケーション２０１が実行される任意の環境を含む。例えば、ホスティング環境２２０は、マネッジドコードランタイム（ｍａｎａｇｅｄ  ｃｏｄｅ  ｒｕｎｔｉｍｅ）環境、シェル、他のアプリケーションなどである場合がある。この具体的な実施形態において、ホスティング環境２２０は、それがホスティングするタイプに基づく優先順位評定を含むことができる。例えば、光ディスクドライブに関連するホスティング環境が、インターネットなどのネットワークセッションと関連付けられるホスティング環境よりセキュリティリスクが低いと判定することができる。優先順位評定は、アプリケーション２０１に対してセキュリティスコアを割り振った後、使用することができる。
【００１５】
ホスティング環境２２０は、アプリケーション２０１についてのメタデータに基づきアプリケーション記述オブジェクト（ＡＤＯ）２２１を生成するよう構成される。ホスティング環境２２０は、アプリケーション２０１に関連するセキュリティリスクを効果的に評価するためのアプリケーション２０１についての十分な情報をＡＤＯ２２１に含める。従って、ＡＤＯ２２１は、オブジェクトフォーム内にアプリケーションの名前、アプリケーションのバージョン、アプリケーションの構成コンポーネントが望む権利およびパーミッション、プライバシーポリシー情報、デジタル署名情報などを含むことができる。ホスティング環境２２０は、評価を行うトラストマネージャ２１０を呼び出すようさらに構成される。
【００１６】
トラストマネージャ２１０は、コンピューティング装置１００に常駐するオペレーティングシステムの信頼されるコンポーネントになることができる。この特定の実施形態において、トラストマネージャ２１０は、アプリケーション２０１のセキュリティ評価を開始するホスティング環境２２０により呼び出されるインターフェースを公開する。トラストマネージャ２１０は、そのインターフェースを介しホスティング環境２２０からＡＤＯ２２１を受信する。トラストマネージャ２０１は、アプリケーション２０１に関連するセキュリティリスクを査定するトラスト評価エンジンの一群を呼び出すようさらに構成される。各評価エンジンは、ＡＤＯ２２１における、またはアプリケーション２０１自身のコンポーネントにおける情報に基づく特定の危険なクラスを評価するよう構成される。例えば、評価エンジン２４０は、アプリケーションについての証拠を評価するスコアリングエンジンであることができ、ＡＤＯ２２１または他の場所に組み込むことのできるような、コンピュータ装置１００において悪意ある行為を行うアプリケーションの能力を判定する。評価エンジン２４１は、ウイルスチェッカーであることができ、および評価エンジン２４２は、アプリケーション２０１についてのプライバシーに対する懸念を評価するよう構成されることができる。評価エンジンの各々は、基本クラスから派生することができ、またはインターフェースのように実装されることができる。
【００１７】
各評価エンジンは、スコア２４５を判定するための特定の規則または基準に反するアプリケーション２０１を査定するよう構成される。スコアの例は、最小値と最大値の間の多数の値を、または代替のセキュリティ水準の組からの離散的な値を含む。これらは単に例であって、完全なリストではない。次いでスコア２４５は、査定の最後に各評価エンジンによりトラストマネージャ２１０に返されることができる。トラストマネージャ２１０は、スコアコレクション２５０内の個々のスコアを集約するよう構成されており、評価エンジンの存在する領域各々におけるアプリケーションの統合セキュリティアセスメントを表す。存在することができる任意の優先順位は、ホスティング環境２２０の特定のタイプに関連する優先順位のように、統合セキュリティアセスメントをさらに改良するためスコアコレクション２５０に適応されることができる。統合セキュリティアセスメントに基づき、トラストマネージャ２１０は、ユーザを介さずにロードする決断を下すための十分な情報を有する。例えば、判定前の（デフォルトの設定のまたは恐らくユーザにより与えられた）閾値は、プログラムがユーザの受諾を求めることなくロードされること、またはプログラムがユーザを促すことなく停止されることを管理することができる。もしロードされている特定のアプリケーションに対する統合セキュリティアセスメントがこれら２つの閾値の間に収まるなら、ロードするとの決断からユーザを呼び出すことができる。
【００１８】
トラストマネージャ２１０は、アプリケーションがロードされる場合のパーミッションの水準を記述するトラストオブジェクト（ＴＯ）２６１を作成する。トラストオブジェクト２６１は、コンポーネントごとにアプリケーションのためのグラントセット（ｇｒａｎｔ  ｓｅｔ）２６２のパーミッションを定義したデータを含むことができる。例示的なグラントセット２６２のパーミッションの１つの例を、図３に図示し、以下で説明する。もし、アプリケーション２０１に対する統合セキュリティアセスメントが上述の２つの閾値の間に収まるなら、トラストマネージャ２１０は、ユーザを呼び出すことができるようユーザインターフェース２６０にトラストオブジェクト２６１を受け渡す。
【００１９】
ユーザインターフェース２６０は、ユーザが処理について詳細な説明を受けたうえでの決断を行うことのできるように、意味のある方法で統合セキュリティアセスメントをユーザに提供するための機構である。ユーザインターフェース２６０は、ダイアログボックス、音響信号、アイコニックインジケータなど多くの形を取ることができる。潜在的なユーザインターフェース２６０の１つの例は図４に図示し、以下で説明する。本質的に、ユーザインターフェース２６０は、従来のシステムにおいて存在しない、多様で異なるセキュリティ情報に対する提供の一項目を示す。
【００２０】
ユーザインターフェース２６０は、アプリケーションのロードの開始を許可するための潜在的なセキュリティ問題を対してユーザに促すことができ、場合によってはアプリケーションに割り当てられることができるウイルスのパーミッション水準をユーザに提供する。ユーザは、アプリケーションのロードを進めるか否かの決断をするよう求められる。ユーザインターフェース２６０は、ユーザの応答情報をトラストオブジェクト２６１に加え、そのトラストオブジェクトをトラストマネージャ２１０に返す。
【００２１】
アプリケーション２０１が立ち上げられ、または実行される度、そのホスティング環境２２０は、アプリケーション２０１のセキュリティアセスメントを読み出すトラストマネージャ２１０を呼び出すことが可能である。グラントセット２６２が既に生成されている場合、トラストマネージャ２１０は、そのグラントセット２６２をホスティング環境２２０に返すことができる。またはそれに替えて、ホスティング環境２２０は、トラストマネージャ２１０を介さず後の使用のため、セキュリティアセスメント情報をキャッシュに格納することができる。ホスティング環境２２０は、次いでグラントセット２６２において識別された何らかのアクセス権をアプリケーション２０１に適用する。より具体的には、ホスティング環境２２０は、アクセス権を、アセンブリＡ２０２などの、アプリケーション２０１の各個々のコンポーネントに適用することができる。ホスティング環境２２０またはある他のアプリケーションが、コンポーネントの実行時に具体的な意図なくセキュリティアセスメントのためコンポーネントをトラストマネージャ２１０に提供することは、同様に実行可能である。
【００２２】
図３は、本発明の実装によって生成された１つの例示的なグラントセット３０１の図の表現である。「グラントセット」という用語は、本明細書で使われるように、アプリケーションが実行できるセキュリティ環境を定義するために使用される情報の任意のコレクションを意味することに気を付けられたい。本明細書において用いる「グラントセット」という用語は、共通言語ランタイム（ＣＬＲ）環境など、特定のセキュリティ環境に限定するものではなく、むしろ、アプリケーションが特定の動作環境にかかわりなく実行するセキュリティ環境を定義するために用いられる情報を網羅することを意図している。
【００２３】
この特定の例において、グラントセット３０１は、トラストオブジェクトまたはそれに準ずるものなどのオブジェクト内のデータであり得る。この例において、グラントセット３０１は、アプリケーションの各コンポーネントを識別する情報を含む。加えて、グラントセット３０１は、アプリケーションの各コンポーネントに対するパーミッションを定義する情報を含む。この場合、コンポーネントテーブル３１０は、コンポーネントアセンブリＡ、アセンブリＢ、およびアセンブリＣ、ならびにパーミッションセットを伴ったこれらコンポーネント各々を関連付ける。例えば、グラントセット３０１において、アセンブリＡは、パーミッションセットＳＰ１を有するように識別される。
【００２４】
パーミッションテーブル３２０もまた、具体的にはこれらパーミッションが各パーミッションセットに関連付けられたセキュリティ権限であると定義するグラントセット３０１に含まれる。この例では、パーミッションセットＰＳ１は、パーミッション１として例において識別されるこれらのパーミッションおよび権限を含む。上述のように、ホスティング環境２２０がアプリケーションのコンポーネントをロードし始めたとき、グラントセット３０１を参照することにより適切なパーミッションを、アプリケーションとの関係においてアプリケーションの各コンポーネントに適用することができる。換言すると、ある他のアプリケーションは、アセンブリＢも含み、しかし他のアプリケーションとの関係において、アセンブリＢは、異なるパーミッションセットを有することができる。その場合、他のアプリケーションが実行され、およびアセンブリＢがロードされたとき、他のアプリケーションに関連付けられたグラントセットによって定義されたパーミッションセットを有する。
【００２５】
図４は、アプリケーションのセキュリティアセスメントに基づいてユーザに提供されることのできる例示的なユーザインターフェースダイアログである。この特定の例において、ダイアログ４０１は、ファイルシステムおよびネットワークへのアクセスを要求するアプリケーションの評価に基づいて提供される。加えて、ウイルスエバリュエータは、アプリケーションがウイルスを含まないことを判定する。リスク水準４０５のアイコン表示も含まれることができる。ユーザは、ＯＫボタン４１０をクリックすることによるなど、ロードを進めることを許可する選択肢、またはロードを中止する選択肢を提供される。図４に示されるユーザインターフェースは、単に例示であり、ユーザに提供されるセキュリティ情報のための限定または専用の機構とされることはない。実際、統合セキュリティアセスメント表示の非常に多くの異なる形状が本明細書に記載の技術から明らかになることが想定される。
【００２６】
図５は、アプリケーションがもたらすセキュリティリスクについての情報を、意味のある方法で識別する、およびまとめて提供するためのプロセスを一般的に図示する論理流れ図である。そのプロセスは、開始ブロック５０１から始まり、そこではアプリケーションがコンピューティングシステム上での実行のためロードされている。上記のように、アプリケーションは、多様なタイプのホストを介した多くの方法においてロードされることができる。従って、開始ブロック５０１で、特定のアプリケーションは、特定のホストを用いてロードされている。
【００２７】
ブロック５０３で、ホストは、アプリケーションについての情報に基づきアプリケーション記述オブジェクト（ＡＤＯ）を構成する。上記のように、その情報を、アプリケーションに付随するマニフェストから、またはアプリケーションに関連付けられた任意の他のメタデータを介して取得することができる。ＡＤＯは、アプリケーションの名前およびバージョン、アプリケーションにより要求された任意の権限、アプリケーションにより要求されたコードアクセスパーミッション、アプリケーションに関連したデジタル署名情報、プライバシーポリシー情報、ならびにこれらに準ずるものなど、アプリケーションについての記述的情報を含む。プロセスはブロック５０５へと続く。
【００２８】
ブロック５０５でホストは、アプリケーションに関連付けられたセキュリティリスクを評価するための命令を有するトラストマネージャを呼び出す。ホストは、評価を行うためにトラストマネージャにＡＤＯを受け渡す。
【００２９】
ブロック５０７でトラストマネージャは、各々がセキュリティリスクの特定の領域を評価する一連のトラストエバリュエータを呼び出すことにより、アプリケーションのセキュリティリスクの評価を始める。例えば、ウイルスエバリュエータは、アプリケーションがウイルスを含む可能性について各コンポーネントを調べるよう構成されることができる。プライバシーエバリュエータは、アプリケーションが示すプライバシーの脅威の水準を決めるため、アプリケーションによって要求されたパーミッションを評価することができる。当業者には明らかなように、多くの他のトラストエバリュエータもまた、用いられることができる。
【００３０】
ループ５０８は、システムにおけるトラストエバリュエータごとに実行される。ループ５０８は、ブロック５０９から始まり、そこでは現在のトラストエバリュエータがセキュリティリスクを査定するために、ＡＤＯ内の情報および／またはアプリケーションのコンポーネントを調べる。ＡＤＯ内の情報は、アプリケーションのセキュリティリスクを計るスコアを作成するための一連の規則または他の基準と比較されることができる。一例として、スコアは、０（最大リスク）から１（最小リスク）の値を取ることができる。スコアはまた、優先順位および文字列記述子（ｓｔｒｉｎｇ  ｄｅｓｃｒｉｐｔｏｒ）も含むことができる。
【００３１】
各トラストエバリュエータにより行われる評価は、従来の機構によって行われた同様のセキュリティリスク評価と類似する。しかし本発明により、各トラストエバリュエータは、個別のセキュリティリスクを査定し、およびスコアコレクションをトラストマネージャ（ブロック５１１）に返す。各トラストエバリュエータがトラストマネージャにそのスコアコレクションを返したとき、ループ５０８は終了し、およびプロセスはブロック５１３へと続く。
【００３２】
ブロック５１３で、トラストマネージャは、トラスト評価からスコアコレクションを分析する。トラストマネージャは、特定のトラスト評価と関連付けられた優先順位など、ある事前に定義された基準、またはある他の優先順位案に基づいてスコアコレクションに優先順位をつける。例えば、ウイルスの存在するハイリスクは、プライバシー違反が発生する場合のあるローリスクより重要であることができる。トラストマネージャは、優先順位をつけられたスコアコレクションから、コンピューティングシステム上の集合セキュリティインパクトを判定する。もし、システム上の集合セキュリティインパクトがある事前に定義された閾値を超えた場合、トラストマネージャは、容易にアプリケーションのロードを停止することができる。もし、集合セキュリティインパクトがある他の閾値より低い場合、トラストマネージャは、容易にアプリケーションを実行するための十分なパーミッションを含むトラストオブジェクトを作成することができる。しかしこれらのどちらの場合も存在しないとき、トラストマネージャは、ユーザに判定することを促すユーザインターフェースを呼び出すことができる。
【００３３】
ブロック５１５で、トラストマネージャは、ユーザから要求された場合、最後の評価に対し、優先順位のつけられたスコアコレクションおよび集合インパクト情報をユーザインターフェースに受け渡す。そうだとすると、集合セキュリティインパクトは、ユーザに提供される。提供は、具体的にはアプリケーションをロードすることと関連付けられたセキュリティリスクを要約する、または詳述するダイアログボックスの形態であり得る。例えば、スコアリングエンジンは、コンピュータ上のファイルを読取り、および編集し、ならびにネットワーク接続を介し伝送するために十分なパーミッションを要求するアプリケーションを判定することができる。その情報に基づき、恐らく他の証拠と一緒に、プライバシーエバリュエータは、そのアプリケーションがネットワークを介してユーザの情報を共有する可能性が高いと判定することができる。したがって、その情報は、ロードするアプリケーションがテレマーキングキャンペーンまたはユーザの個人情報を他の不適切な使用によって、ユーザを標的にさせる可能性が高いことをユーザに知らせるために組み合わされることができる。都合良く、ユーザは、ダイアログボックスなどの共通の通知に集まった異なるセキュリティ情報を提供される。
【００３４】
ブロック５１７で、ユーザインターフェースからの何らかの入力により、トラストマネージャは、アプリケーションを実行することができるセキュリティ環境を記述するトラストオブジェクトを修正する。一実施形態において、トラストオブジェクトは、パーミッションのグラントセットを伴うアプリケーション、またはアプリケーションのコンポーテントと関連付けられたデータを含む。パーミッションのグラントセットは、実行されたときにアプリケーションに適用するセキュリティの水準を記述する。１つの具体的な実施形態において、パーミッションのグラントセットは、アプリケーションの各コンポーネントと関連付けられる。あのように、異なるアプリケーション間で共有されるコンポーネントは、実行されるアプリケーションの状況に依存する、異なるパーミッションで実行されることができる。プロセスは、アプリケーションが実際に実行されるまでブロック５１７で待機することができる。そのとき、プロセスはブロック５１９を維持する。
【００３５】
ブロック５１９で、アプリケーションは、ホストによってロードされている。アプリケーションに適用するセキュリティポリシーの一端として、ホストは、アプリケーションと関連付けられたトラストオブジェクトのためにトラストマネージャに問い合わせを行う。アプリケーションの各コンポーネントがロードされるので、そのコンポーネントと関連付けられたパーミッションのグラントセットは適用される。このように、本発明に従ってロードされたアプリケーションは、ユーザが告知の方法において直接的におよび包括的に確立されるこれらのパーミッションの許可だけする。もし実行するのに十分な特権がアプリケーションに許可されなかった場合、トラストマネージャは、アプリケーションの実行を停止することができる。
【００３６】
上記の詳述での、例およびデータは、本発明の趣旨および例示的な実装の完全な説明を提供する。本発明の多くの実施形態が本発明の精神と範囲から逸脱しない以上、本発明は、特許請求の範囲に属する。
【図１】
2010205287.tif 000003
【図２】
2010205287.tif 000004
【図３】
2010205287.tif 000005
【図４】
2010205287.tif 000006
【図５】
2010205287.tif 000007