(57)【要約】【課題】コンピュータシステムのアプリケーションの信頼を確立するための方法を提供する。【解決手段】或る評価を有するソフトウエアメーカーから提供されたデジタル署名された未知のアプリケーションには、前記ソフトウエアメーカーの前記評価が与えられる。このことにより、アプリケーションの発行に定評のあるソフトウエアメーカーは、新しいアプリケーションを公開した際に、前記定評を利用することができる。そして、新しいアプリケーションに前記評価をすぐに与えることにより、前記新しいアプリケーションを初めて実行するユーザに対して、前記新しいアプリケーションの品質（例えば信頼性）についての情報をタイムリーに提供することができる。【選択図】図２
2009076069.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータで実行される方法であって、
或るアプリケーションのソフトウエアメーカーが評価を有するか否かを判定するステップと、
前記ソフトウエアメーカーが評価を有すると判定された場合に、前記評価を前記アプリケーションに与えるステップとを含むことを特徴とする方法。
【請求項２】
請求項１に記載の方法であって、
前記評価が、前記ソフトウエアメーカーの全般的な信頼性であることを特徴とする方法。
【請求項３】
請求項１に記載の方法であって、
前記ソフトウエアメーカーが、前記アプリケーションを発行したことを特徴とする方法。
【請求項４】
請求項３に記載の方法であって、
前記ソフトウエアメーカーが、エンドユーザへ配布するために、前記アプリケーションを作成又は公開することによって前記アプリケーションを発行したことを特徴とする方法。
【請求項５】
請求項４に記載の方法であって、
前記アプリケーションが、前記エンドユーザ向けに設計されたプログラムを含むことを特徴とする方法。
【請求項６】
請求項１に記載の方法であって、
前記アプリケーションが実行されている場合に、
前記アプリケーションが未知のアプリケーションであるか否かを判定するステップをさらに含むことを特徴とする方法。
【請求項７】
請求項６に記載の方法であって、
前記未知のアプリケーションが、評価を有さないアプリケーションであることを特徴とする方法。
【請求項８】
請求項７に記載の方法であって、
既知のアプリケーションは、評価を有するアプリケーションであることを特徴とする方法。
【請求項９】
請求項６に記載の方法であって、
前記アプリケーションが未知のアプリケーションであると判定された場合に、
前記アプリケーションが署名されているか否かを判定するステップをさらに含むことを特徴とする方法。
【請求項１０】
請求項９に記載の方法であって、
前記アプリケーションが署名されていないと判定された場合に、
前記アプリケーションにデフォルトの評価を与えるステップをさらに含むことを特徴とする方法。
【請求項１１】
請求項９に記載の方法であって、
前記アプリケーションが署名されているか否かを判定する前記ステップでは、
前記アプリケーションが有効なデジタル署名を有するか否かが判定されることを含むことを特徴とする方法。
【請求項１２】
請求項１１に記載の方法であって、
前記アプリケーションが有効なデジタル署名を有すると判定された場合に、
前記有効なデジタル署名から、前記アプリケーションのソフトウエアメーカーを判定するステップを含むことを特徴とする方法。
【請求項１３】
請求項１に記載の方法であって、
前記ソフトウエアメーカーが評価を有さないと判定された場合に、
前記アプリケーションにデフォルトの評価を与えるステップをさらに含むことを特徴とする方法。
【請求項１４】
請求項１に記載の方法であって、
前記アプリケーションが実行されているか否かを判定するステップをさらに含み、
前記アプリケーションが実行されていると判定された場合に、
前記アプリケーションの前記評価が前記実行を許可するのに適するか否かを判定するステップをさらに含むことを特徴とする方法。
【請求項１５】
請求項１４に記載の方法であって、
前記アプリケーションの前記評価が前記実行を許可するのに適さないようなものであると判定された場合に、
防御措置を実施するステップをさらに含むことを特徴とする方法。
【請求項１６】
請求項１５に記載の方法であって、
前記防御措置は、前記アプリケーションの前記実行を防止することを含むことを特徴とする方法。
【請求項１７】
請求項１に記載の方法であって、
前記アプリケーションが疑わしい挙動を示すか否かを判定するステップをさらに含み、
前記アプリケーションが疑わしい挙動を示すと判定された場合は、
前記アプリケーションの前記評価が前記疑わしい挙動を許可するのに適するか否かを判定するステップをさらに含むことを特徴とする方法。
【請求項１８】
請求項１７に記載の方法であって、
前記アプリケーションの前記評価が前記実行を許可するのに適さないようなものであると判定された場合は、
防御措置を実施するステップをさらに含むことを特徴とする方法。
【請求項１９】
コンピュータシステムであって、
ソフトウエアメーカー信頼性延長アプリケーションを記憶させたメモリと、
前記メモリに接続されたプロセッサとを備え、
前記ソフトウエアメーカー信頼性延長アプリケーションを実行することにより、
或るアプリケーションのソフトウエアメーカーが評価を有するか否かを判定するステップと、
前記ソフトウエアメーカーが評価を有すると判定された場合に、前記評価を前記アプリケーションに与えるステップとを含む方法が実施されることを特徴とするコンピュータシステム。
【請求項２０】
ソフトウエアメーカー信頼性延長アプリケーションのコンピュータプログラムコードが記憶されたコンピュータ読取り可能な有形媒体を備えたコンピュータプログラム製品であって、
前記ソフトウエアメーカー信頼性延長アプリケーションが、
或るアプリケーションのソフトウエアメーカーが評価を有するか否かを判定し、
前記ソフトウエアメーカーが評価を有すると判定された場合に、前記評価を前記アプリケーションに与えるように構成されていることを特徴とするコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステムのセキュリティに関する。より詳細には、本発明は、コンピュータシステムのアプリケーションの信頼を確立するための方法及び装置に関するものである。
【背景技術】
【０００２】
動作ブロックシステムはアプリケーションを能動的にモニタし、前記アプリケーションの信頼性レベルに基づいて悪意があると見なされた疑わしい挙動をブロックする。そのため、このような動作ブロックでは、アプリケーションの信頼性レベルの評価は非常に重要である。
【発明の開示】
【課題を解決するための手段】
【０００３】
本発明の一実施形態では、或る評価を有するソフトウエアメーカーから提供されたデジタル署名された未知のアプリケーションには、前記ソフトウエアメーカーの前記評価が与えられる。このことにより、アプリケーションの発行に定評のあるソフトウエアメーカーは、新しいアプリケーションを公開した際に、前記定評を利用することができる。そして、新しいアプリケーションに前記評価をすぐに与えることにより、前記新しいアプリケーションを初めて実行するユーザに対して、前記新しいアプリケーションの品質（例えば、信頼性）についての情報をタイムリーに提供することができる。
【０００４】
本発明の実施形態は、添付図面を参照して行う以下の詳細な説明によって、より詳しく理解されるであろう。
【発明を実施するための最良の形態】
【０００５】
図２を参照して、ソフトウエアメーカーの評価をアプリケーションに与えるオペレーション２１６では、或る評価を有するソフトウエアメーカーから提供されたデジタル署名された未知のアプリケーションには、前記ソフトウエアメーカーの前記評価が与えられる。このことにより、アプリケーションの発行に定評のあるソフトウエアメーカーは、新しいアプリケーションを公開した際に、前記定評を利用することができる。そして、新しいアプリケーションに前記評価をすぐに与えることにより、前記新しいアプリケーションを初めて実行するユーザに対して、前記新しいアプリケーションの品質（例えば、信頼性）についての情報をタイムリーに提供することができる。
【０００６】
より詳しく説明すると、図１は、本発明の一実施形態による、ホストコンピュータシステム１０２で実行されるソフトウエアメーカー信頼性延長アプリケーション１０６を含むクライアントサーバシステム１００を示す図である。
【０００７】
ホストコンピュータシステム１０２（クライアント又はユーザデバイスとも称する）は一般に、中央演算処理装置（ＣＰＵ）１０８（プロセッサ１０８とも称する）、入出力（Ｉ／Ｏ）インターフェース１１０、及びメモリ１１４を備える。ホストコンピュータシステム１０２は、キーボード１１６、マウス１１８、プリンタ１２０及びディスプレイデバイス１２２などの標準的なデバイス、並びに、１つ以上の標準的な入出力（Ｉ／Ｏ）デバイス１２３をさらに備え得る。入出力（Ｉ／Ｏ）デバイス１２３としては、例えば、コンパクトディスク（ＣＤ）若しくはＤＶＤドライブ、フレキシブルディスクドライブ、又はホストコンピュータ１０２との間でデータの入出力を行うためのその他のデジタル信号若しくは波形信号用のポートなどがある。
【０００８】
ある実施形態では、ソフトウエアメーカー信頼性延長アプリケーション１０６は、ソフトウエアメーカー信頼性延長アプリケーション１０６が記憶されているＣＤ、ＤＶＤ又はフレキシブルディスクなどから、Ｉ／Ｏデバイス１２３を介してホストコンピュータシステム１０２にロードされる。
【０００９】
ホストコンピュータシステム１０２は、ネットワーク１２４によって、クライアントサーバシステム１００のサーバコンピュータシステム１３０に接続される。サーバコンピュータシステム１３０は一般に、ディスプレイデバイス１３２、プロセッサ１３４、メモリ１３６、及びネットワークインタフェース１３８を備える。
【００１０】
ネットワーク１２４は、ユーザが関心を持つあらゆるネットワーク又はネットワークシステムであり得る。種々の実施形態では、ネットワークインタフェース１３８及びＩ／Ｏインタフェース１１０は、アナログモデム、デジタルモデム又はネットワークインタフェースカードなどを含む。
【００１１】
ソフトウエアメーカー信頼性延長アプリケーション１０６は、例えば、ホストコンピュータシステム１０２のメモリ１１４に保存され、ホストコンピュータシステム１０２上で実行される。
【００１２】
ホストコンピュータシステム１０２及びサーバコンピュータシステム１３０の特定の種類及び構成は、本実施形態に必須ではない。
【００１３】
ここで、ある実施形態では、悪意あるコードは、認定ユーザの認知及び／又は許可なしにコンピュータシステム環境に入り込んできたあらゆるコンピュータプログラム、モジュール、モジュールのセット、又はコードと定義される。
【００１４】
図２は、本発明の一実施形態によるソフトウエアメーカー信頼性延長方法２００を説明するためのフロー図である。図１及び図２を共に参照して、プロセッサ１０８でソフトウエアメーカー信頼性延長アプリケーション１０６を実行すると、フィッシング通知方法２００が以下のように実施される。
【００１５】
方法２００は開始オペレーション２０２で開始され、フローは、未知アプリケーション実行チェック・オペレーション２０４へ進む。未知アプリケーション実行チェック・オペレーション２０４では、未知のアプリケーションが実行されているか否かが判定される。
【００１６】
ある実施形態では、アプリケーションは、エンドユーザ向けに設計されたプログラム又はプログラム群である。詳しく説明すると、アプリケーション（エンドユーザプログラムとも称する）は、データベースプログラム、ワードプロセッサ、表計算ソフト、及び、他の様々な種類のアプリケーションを含む。
【００１７】
ある実施形態では、アプリケーションは、実行ファイルである。実行ファイルとは、そのコンテンツをコンピュータがプログラムとして解釈実行することができるファイルである。実行ファイルは、ある実施形態では「.exe」拡張子（実行ファイル）を有し、他の実施形態では「.net」のような他の拡張子を有する。アプリケーションが実行されているか否かの判定は、当該技術分野で周知の技術のいずれか１つを使用することによって行うことができる。特定の技術は、本実施形態に必須ではない。
【００１８】
本明細書中では、アプリケーションとは、既知のアプリケーション又は未知のアプリケーションである。既知のアプリケーションとは、評価が与えられたアプリケーションである。評価とは、セキュリティーソフトメーカー又はセキュリティ製品によって判定された、前記アプリケーションの全般的な信頼性である。ある実施形態では、評価は、評価スコアによって計算される。
【００１９】
詳しく説明すると、或るアプリケーションがスパイウエア、ウイルス、トロイの木馬、又は他の悪意のあるコードをインストールすることが判明した場合、前記アプリケーションの信頼できない（すなわち、前記アプリケーションに信頼性がない）と判定される。反対に、或るアプリケーションが安全であることが判明した場合は、前記アプリケーションは信頼できる（すなわち、前記アプリケーションに信頼性がある）と判定される。ここでは、信頼性について２つの例を挙げたが、信頼性は多数のレベルに細かく分けることも可能である。
【００２０】
さらに、アプリケーションの信頼性に関わらず、前記アプリケーションの信頼性を判定するために前記アプリケーションの評価が行われたという事実は、前記アプリケーションに評価が与えられたことを意味する。つまり、前記アプリケーションは、既知のアプリケーションとなる。反対に、信頼性を判定するための評価が行われていない場合は、前記アプリケーションは、未知のアプリケーションである。
【００２１】
未知のアプリケーションが実行されていないと判定された場合は、フローは、未知アプリケーション実行チェック・オペレーション２０４に留まる。反対に、未知のアプリケーションが実行されていると判定された場合は、フローは、未知アプリケーション実行チェック・オペレーション２０４からアプリケーション署名チェック・オペレーション２０６へ進む。
【００２２】
アプリケーション署名チェック・オペレーション２０６では、前記未知のアプリケーションが署名されているか否か、すなわち、前記未知のアプリケーションが有効なデジタル署名を有するか否かが判定される。有効なデジタル署名を有するアプリケーションは、デジタル署名されたアプリケーションとも呼ばれる。
【００２３】
デジタル署名は、アプリケーションに添付されたデジタルコードである。デジタル署名は、当業者には周知であり、一般に、アプリケーションを認証及び有効化する役割を果たす。ある実施形態では、デジタル署名は、前記アプリケーションが実際にそのデジタル署名のソフトウエア会社製であることを保証する。また、デジタル署名は、前記アプリケーションが輸送中などに改変されていないことを保証する。
【００２４】
ある実施形態では、デジタル署名は、前記アプリケーションのハッシュを秘密鍵で暗号化する数式を用いて作成される。デジタル署名されたアプリケーションの受け取り側は、前記秘密鍵に対応する公開鍵を使用して、前記アプリケーションを認証及び有効化する。
【００２５】
当業者には周知のように、公開鍵は、デジタル証明書を使用して発行される。別の言い方をすれば、デジタル証明書は、公開鍵を含むパッケージである。デジタル証明書とそれに伴う公開鍵の認証及び有効化を確実にするために、デジタル証明書は多くの場合は信頼できる第三者（例えば、認証機関）によってデジタル署名される。
【００２６】
ある実施形態では、アプリケーションは、それに関連するデジタル証明書が有効である及び信頼できる認証機関から発行されている場合は、有効なデジタル署名を有する。そして、前記ファイルは、前記デジタル署名を使用して認証及び有効化される。
【００２７】
前記アプリケーションが署名されていないと判定された場合は、フローは、アプリケーション署名チェック・オペレーション２０６からアプリケーションにデフォルト評価を与えるオペレーション２０８へ進む。アプリケーションにデフォルト評価を与えるオペレーション２０８では、前記未知のアプリケーションに、未知のアプリケーション用のデフォルトの評価が与えられる。詳しく説明すると、デフォルトの評価とは、前記未知のアプリケーションが信頼できないという評価である。他の実施形態では、他のデフォルト評価を与えることもできる。アプリケーションにデフォルト評価を与えるオペレーション２０８からは、フローは、終了オペレーションへ進む。或いは、フローは、未知アプリケーション実行チェック・オペレーション２０４に戻り、次の未知のアプリケーションの実行を待つ。
【００２８】
アプリケーション署名チェック・オペレーション２０６に再び戻って、アプリケーションが署名されていると判定された場合は、フローは、アプリケーション署名チェック・オペレーション２０６からアプリケーションのソフトウエアメーカー判定オペレーション２１２へ進む。アプリケーションのソフトウエアメーカー判定オペレーション２１２では、前記未知のアプリケーションのソフトウエアメーカーが判定される。ある実施形態では、前記未知のアプリケーションを発行したソフトウエアメーカーは、事業体（例えば、会社）である。別の言い方をすれば、前記ソフトウエアメーカーは、エンドユーザへ配布するために、前記未知のアプリケーションを製造し公開する事業体である。
【００２９】
ある実施形態では、前記ソフトウエアメーカーは、前記未知のアプリケーションのデジタル署名から判定される。上述したように、前記デジタル署名は、前記アプリケーションが実際にそのデジタル署名のソフトウエア会社製であることを保証するために使用される。したがって、前記デジタル署名によって前記未知のアプリケーションのソフトウエアメーカーを判定することができることは、当業者であれば理解できるであろう。
【００３０】
アプリケーションのソフトウエアメーカー判定オペレーション２１２からは、フローは、ソフトウエアメーカー評価有無チェック・オペレーション２１４へ進む。ソフトウエアメーカー評価有無チェック・オペレーション２１４では、前記未知のアプリケーションのソフトウエアメーカーが評価を有するか否かが判定される。ある実施形態では、ソフトウエアメーカーが評価を有するか否かを判定するために、前記ソフトウエアメーカーに関してのソフトウエアメーカー情報（例えば、ソフトウエアメーカーの名前又は他の識別子）を、ソフトウエアメーカー情報及び関連するソフトウエアメーカーの評価が蓄積されている評価システムに問い合わせる。
【００３１】
ある実施形態では、ソフトウエアメーカーの信頼性に関わらず、前記ソフトウエアメーカーの信頼性を判定するためにセキュリティ会社又はセキュリティ製品によって前記ソフトウエアメーカーが評価されたという事実は、前記ソフトウエアメーカーは評価を有することを意味する。反対に、信頼性を判定するための評価が行われていない場合は、前記ソフトウエアメーカーは評価を有さない。
【００３２】
ある実施形態では、前記ソフトウエアメーカーのアプリケーションの評価（例えば、信頼性）が判断される。前記アプリケーションの評価は、前記ソフトウエアメーカーの評価を形成するために収集され統合される。
【００３３】
詳しく説明すると、第１のソフトウエアメーカーがいくつかの署名されたアプリケーションを発行しており、前記アプリケーションが信頼できる（例えば、評価が良い）と評価されていると仮定する。この場合は、前記第１のソフトウエアメーカーには良い評価（信頼できるという評価）が与えられる。
【００３４】
他の例では、第２のソフトウエアメーカーがいくつかの署名されたアプリケーションを発行しており、前記アプリケーションが信頼できない（例えば、評価が悪い）と評価されていると仮定する。この場合は、前記第２のソフトウエアメーカーには悪い評価（信頼できないという評価）が与えられる。
【００３５】
別の例では、第３のソフトウエアメーカーがいくつかの署名されたアプリケーションを発行しており、前記アプリケーションのうちの１つが信頼できると評価され、別の１つが信頼できないと評価されていると仮定する。この場合は、前記第３のソフトウエアメーカーには低い評価（すなわち、前記第１のソフトウエアメーカーよりも低いが、前記第２のソフトウエアメーカーよりも高い評価が）与えられる。これらの例は、信頼は得がたく失いやすいことを説明している。３つの例の全てにおいて、前記ソフトウエアメーカーに評価が与えられる。
【００３６】
他の実施形態では、前記ソフトウエアメーカーのアプリケーションのユーザが、前記ソフトウエアメーカーの評価（例えば、信頼性）を判断する。前記ユーザの評価は、前記ソフトウエアメーカーの評価を形成するために収集され統合される。詳しく説明すると、前記ソフトウエアメーカーのアプリケーションのユーザが、通常は、彼らのコンピュータシステム上における悪意のあるコードの有無が判定される。
【００３７】
具体的には、ユーザの第１のグループが、通常は、彼らのコンピュータシステム上に悪意のあるコードを有していないと仮定する。したがって、この第１のグループは、良い評価を有する（すなわち、信頼性がある）。そして、この第１のグループが、第１のソフトウエアメーカーのアプリケーションを実行したとする。この場合、前記ソフトウエアメーカーのアプリケーションのユーザが信頼できるという判定に基づいて、前記第１のソフトウエアメーカーには良い評価（信頼できるという評価）が与えられる。
【００３８】
他の例では、ユーザの第２のグループが、通常は、彼らのコンピュータシステム上に悪意のあるコードを有していると仮定する。したがって、この第２のグループは、悪い評価を有する（すなわち、信頼性がない）。そして、この第２のグループが、第２のソフトウエアメーカーのアプリケーションを実行したとする。この場合、前記ソフトウエアメーカーのアプリケーションのユーザが信頼できないという判定に基づいて、前記第２のソフトウエアメーカーには悪い評価（信頼できないという評価）が与えられる。
【００３９】
別の例では、ユーザの第３のグループのうちの９０％が、通常は彼らのコンピュータシステム上に悪意のあるコードを有していないが、残りの１０％が、通常は彼らのコンピュータシステム上に悪意のあるコードを有していると仮定する。したがって、この第３のグループは、低い評価（すなわち、前記第１のグループよりも低いが、前記第２のグループよりも高い評価）を持っている。そして、この第３のグループが、第３のソフトウエアメーカーのアプリケーションを実行したとする。この場合、前記第３のソフトウエアメーカーには、低い評価（前記第１のソフトウエアメーカーよりも低い、前記第３のソフトウエアメーカーよりも高い評価）が与えられる。この場合も先と同様に、これらの例は、信頼は得がたく失いやすいことを説明している。この場合も先と同様に、３つの例の全てにおいて、前記ソフトウエアメーカーに評価が与えられる。
【００４０】
本発明の観点からいくつかの例を説明したが、前記ソフトウエアメーカーの評価は様々な基準で規定できることは、当業者であれば理解できるであろう。前記ソフトウエアメーカーの評価は、様々な技術の１つを使用して形成することが可能であり、特定の評価形成技術は本実施形態に必須ではない。
【００４１】
前記未知のアプリケーションのソフトウエアメーカーが評価を有さない場合は、フローは、ソフトウエアメーカー評価有無チェック・オペレーション２１４から、前述したアプリケーションにデフォルト評価を与えるオペレーション２０８へ進む。
【００４２】
反対に、前記未知のアプリケーションのソフトウエアメーカーが評価を有する場合は、フローは、ソフトウエアメーカー評価有無チェック・オペレーション２１４から、ソフトウエアメーカーの評価をアプリケーションに与えるオペレーション２１６へ進む。
【００４３】
ソフトウエアメーカーの評価をアプリケーションに与えるオペレーション２１６では、前記未知のアプリケーションに、前記ソフトウエアメーカーの評価が与えられる。すなわち、未知のアプリケーションに対して、セキュリティ会社又はセキュリティ製品によって判定された前記ソフトウエアメーカーの信頼性が与えられる。
【００４４】
このようにして、或る評価を有するソフトウエアメーカーから提供されたデジタル署名された未知のアプリケーションには、前記ソフトウエアメーカーの前記評価が与えられる。このことにより、アプリケーションの発行に定評のあるソフトウエアメーカーは、新しいアプリケーションを公開した際に、前記定評を利用することがある。より詳しく説明すると、前記ソフトウエアメーカーの信頼性を前記新しいアプリケーションに延長することにより、図３を参照しつつ以下に詳細に説明するように、前記新しいアプリケーションの疑わしい挙動、並びに、そもそも前記新しいアプリケーションの実行を、前記ソフトウエアメーカーの前記評価に基づいて許可又はブロックすることができる。
【００４５】
図３は、ソフトウエアメーカー信頼性延長及び動作ブロック方法３００を説明するためのフロー図である。図１及び図３を共に参照して、ある実施形態では、プロセッサ１０８でソフトウエアメーカー信頼性延長アプリケーション１０６及び／又はホストコンピュータシステム１０２の総合セキュリティ・アプリケーションを実行すると、ソフトウエアメーカー信頼性延長及び動作ブロック方法３００が以下のように実施される。
【００４６】
方法３００は開始オペレーション３０２で開始され、フローは、アプリケーション実行チェック・オペレーション３０４へ進む。アプリケーション実行チェック・オペレーション３０４では、アプリケーションが実行されているか否かを判定する。
【００４７】
アプリケーションが実行されていないと判定された場合は、フローはアプリケーション実行チェック・オペレーション３０４に留まる。反対に、アプリケーションが実行されていると判定された場合は、フローは、アプリケーション実行チェック・オペレーション３０４からアプリケーション評価による実行許可オペレーション３０６へ進む。
【００４８】
アプリケーション評価による実行許可オペレーション３０６では、前記アプリケーションの前記評価が前記アプリケーションの実行を許可するのに適するか否かが判定される。ある実施形態では、ソフトウエアメーカーの評価をアプリケーションに与えるオペレーション２１６（図２）において、前記ソフトウエアメーカーの前記評価が前記アプリケーションに与えられている。
【００４９】
前記アプリケーションの前記評価が前記アプリケーションの実行を許可するのに適さないようなものであると判定された場合は、フローは、アプリケーション評価による実行許可オペレーション３０６から防御措置実施オペレーション３０８へ進む。防御措置実施オペレーション３０８では、防御措置が取られる。この実施形態では、前記アプリケーションの前記評価がアプリケーションの実行を許可しない場合は、前記アプリケーションの実行が防止される。他の実施形態では、他の防御措置を取ることもできる。
【００５０】
ある実施形態では、防御措置実施オペレーション３０８において、前記アプリケーションの実行を望むユーザに、前記アプリケーションが信頼できない（悪い評価を有している）ことを知らせる通知を例えばポップアップウインドウなどによって通知して、そのアプリケーションを実行しないように注意する。この例では、前記アプリケーションの実施の許可及び禁止のためのユーザ承認を受信する。
【００５１】
防御措置実施オペレーション３０８からは、フローは、終了オペレーション３１４へ進む。或いは、フローは、アプリケーション実行チェック・オペレーション３０４へ戻り、次のアプリケーションの実施を待つ。
【００５２】
アプリケーション評価による実行許可オペレーション３０６に戻って、前記アプリケーションの前記評価が、前記アプリケーションの実行を許可するのに適するようなものであると判定された場合は、フローは、アプリケーション評価による実行許可オペレーション３０６からアプリケーションによる疑わしい挙動チェック・オペレーション３１０へ進む。
【００５３】
アプリケーションによる疑わしい挙動チェック・オペレーション３１０では、前記アプリケーションが疑わしい挙動を示すか否か（すなわち、前記アプリケーションによる挙動が疑わしいか否か）が判定される。ある実施形態では、疑わしい挙動とは、悪意のあるコードを思わせる行動（例えば、悪意のある挙動）である。しかし、疑わしい挙動は、正規の行動である可能性もある。
【００５４】
前記アプリケーションが疑わしい挙動を示さないと判定された場合は、フローは、アプリケーションによる疑わしい挙動チェック・オペレーション３１０に留まる。反対に、前記アプリケーションが疑わしい挙動を示すと判定された場合は、フローは、アプリケーションによる疑わしい挙動チェック・オペレーション３１０から、アプリケーション評価による動作許可チェック・オペレーション３１２へ進む。
【００５５】
アプリケーション評価による動作許可チェック・オペレーション３１２では、前記アプリケーションの前記評価が前記疑わしい挙動を許可するのに適するか否かが判定される。上述したように、ある実施形態では、ソフトウエアメーカーの評価をアプリケーションに与えるオペレーション２１６（図２）において、前記アプリケーションの前記評価が前記アプリケーションに与えられている。
【００５６】
前記アプリケーションの前記評価が前記疑わしい挙動を許可するのに適さないようなものであると判定された場合は、フローは、アプリケーション評価による動作許可チェック・オペレーション３１２から防御措置実施オペレーション３０８へ進む。
【００５７】
この実施形態では、前記アプリケーションの前記評価が前記疑わしい挙動を許可するのに適さないようなものであると判定された場合は、前記疑わしい挙動はブロックされる。他の実施形態では、他の防御措置を取ることもできる。
【００５８】
反対に、前記アプリケーションの前記評価が前記疑わしい挙動を許可するのに適するようなものであると判定された場合は、フローは、アプリケーション評価による動作許可チェック・オペレーション３１２から終了オペレーション３０８へ進む。或いは、フローは、アプリケーションによる疑わしい挙動チェック・オペレーション３１０に戻り、次のアプリケーションによる疑わしい挙動を待つ。
【００５９】
以下は、説明的な例である。「評価の良い会社」という名前の小さなソフトウエアメーカーの場合について説明する。この評価の良い会社は、例えば２００１年から数年間に渡って商売を続けており、過去６年間に約２０個のアプリケーション（例えば、シェアウェア版）を発行している。前記約２０個のアプリケーションの全ては、評価の良い会社によってデジタル署名されており、良い評価を有する（セキュリティ会社又はセキュリティ製品によって信頼性があると判定されている）。
【００６０】
評価の良い会社が、デジタル署名されているが、評価は持っていない新しいアプリケーションを発行する。したがって、図２を参照して、前記新しいアプリケーションを実行すると、未知アプリケーション実行チェック・オペレーション２０４において、未知のアプリケーションが実行されていると判定される。その後、フローは、アプリケーション署名チェック・オペレーション２０６へ進む。
【００６１】
アプリケーション署名チェック・オペレーション２０６では、前記新しいアプリケーションが署名されていると判定される。その後、フローは、アプリケーションのソフトウエアメーカー判定オペレーション２１２へ進む。アプリケーションのソフトウエアメーカー判定オペレーション２１２では、評価の良い会社が前記新しいアプリケーションのソフトウエアメーカーであると判定される。
【００６２】
ソフトウエアメーカー評価有無チェック・オペレーション２１４では、評価の良い会社が評価を有すると判定される。この例では、前記評価は、良い評価、すなわち、ソフトウエアメーカーが信頼できるという評価である。したがって、ソフトウエアメーカーの評価をアプリケーションに与えるオペレーション２１６では、前記新しいアプリケーションに対して、前記ソフトウエアメーカーの良い評価が与えられる。
【００６３】
したがって、図３を参照して、新しいアプリケーションを実行すると、アプリケーション評価による実行許可オペレーション３０６において、前記新しいアプリケーションの前記良い評価が、前記新しいアプリケーションの実行を許可するのに適するようなものであると判定される。
【００６４】
さらに、前記新しいアプリケーションが疑わしい挙動を示す場合は、アプリケーション評価による動作許可チェック・オペレーション３１２において、特定の疑わしい挙動及び前記新しいアプリケーションに与えられた評価に基づいて、前記新しいアプリケーションの前記良い評価が、前記疑わしい挙動を許可するのに適するようなものであると判定される。
【００６５】
第２の例では、「評価の悪い会社」という名前の小さなソフトウエアメーカーの場合について説明する。この評価の悪い会社も、数年間に渡って商売を続けており、過去６年間に約２０個のアプリケーション（例えばｍシェアウェア版）を発行している。前記約２０個のアプリケーションの全ては、評価の悪い会社によってデジタル署名されており、悪い評価を有する（セキュリティ会社又はセキュリティ製品によって信頼できない（例えば、悪意のあるコードを含んでいる）と判定されている）。
【００６６】
評価の悪い会社が、デジタル署名されているが、評価は持っていない新しいアプリケーションを発行する。したがって、図２を参照して、前記新しいアプリケーションを実行すると、未知アプリケーション実行チェック・オペレーション２０４において、未知のアプリケーションが実行されていると判定される。その後、フローは、アプリケーション署名チェック・オペレーション２０６へ進む。
【００６７】
アプリケーション署名チェック・オペレーション２０６では、前記新しいアプリケーションが署名されていると判定される。その後、フローは、アプリケーションのソフトウエアメーカー判定オペレーション２１２へ進む。アプリケーションのソフトウエアメーカー判定オペレーション２１２では、評価の悪い会社が前記新しいアプリケーションのソフトウエアメーカーであると判定される。
【００６８】
ソフトウエアメーカー評価有無チェック・オペレーション２１４では、評価の悪い会社が評価を有すると判定される。この例では、前記評価は、悪い評価、すなわち、ソフトウエアメーカーが信頼できないという評価である。したがって、ソフトウエアメーカーの評価をアプリケーションに与えるオペレーション２１６では、前記新しいアプリケーションに対して、前記ソフトウエアメーカーの悪い評価が与えられる。
【００６９】
したがって、図３を参照して、新しいアプリケーションを実行すると、アプリケーション評価による実行許可オペレーション３０６において、前記新しいアプリケーションの前記悪い評価が、前記新しいアプリケーションの実行を許可するのに適さないようなものであると判定される。そのため、防御措置実施オペレーション３０８において、前記アプリケーションの前記実行が防止される。他の実施形態では、他の防御措置を取ることもできる。
【００７０】
上述したようにして、ソフトウエアメーカーの評価を知ることにより、同一のソフトウエアメーカーによって署名されている新しいアプリケーションに対して、すぐに評価を与えることができる。このことにより、前記新しいアプリケーションを実行するユーザに対して、前記新しいアプリケーションの品質（例えば信頼性）についての情報をタイムリーに提供することができる。
【００７１】
図１を再び参照して、ソフトウエアメーカー信頼性延長アプリケーション１０６はアプリケーションと称しているが、これは一例にすぎない。ソフトウエアメーカー信頼性延長アプリケーション１０６は、或るアプリケーション又はオペレーティングシステムから呼び出すことが可能であるべきである。ある実施形態では、アプリケーションは一般に、任意の実行可能なコードと定義される。さらに、アプリケーション又はオペレーションがある動作を行ったとき、その動作はプロセッサが１つ以上の命令を実行した結果であることは、当業者には明らかであろう。
【００７２】
本発明の実施形態をクライアントサーバ構成に適用する場合について説明してきたが、本発明の実施形態は、パーソナルコンピュータ、ワークステーション、ポータブル機器又はコンピュータ機器のネットワークを含む、任意の適切なハードウェア構成又は手段を使用して実施することができる。他の実施形態では、例えば、ピアツーピア、ウェブベース、イントラネット、インターネットネットワーク構成などの、クライアントサーバ構成以外の他のネットワーク構成が使用される。
【００７３】
ここで、コンピュータプログラム製品は、本発明の実施形態によるコンピュータが読取り可能なコードを格納又は移植するべく構成された媒体を含む。コンピュータプログラム製品の例としては、ＣＤ−ＲＯＭディスク、ＤＶＤ、ＲＯＭカード、フレキシブルディスク、磁気テープ、コンピュータハードドライブ、ネットワーク上のサーバ、及び、ネットワークを介して伝送されるコンピュータが読み出し可能なコードを表す信号等がある。他の実施形態では、コンピュータプログラム製品は、ＣＤ−ＲＯＭディスク、ＤＶＤ、ＲＯＭカード、フレキシブルディスク、磁気テープ、コンピュータハードドライブ、ネットワーク上のサーバ等の、コンピュータが読み出し可能なコードを格納するように構成された有形媒体を含む。
【００７４】
図１に示すように、この媒体は、コンピュータシステム自体に属するものであり得る。しかしながら、前記媒体は、コンピュータシステムから離れて配置してもよい。例えば、ソフトウエアメーカー信頼性延長アプリケーション１０６を、プロセッサ１０８とは物理的に異なる場所に存在するメモリ（例えば、サーバシステム１３０のメモリ１３６）に格納するようにすることもできる。プロセッサ１０８は、メモリ１３６に接続されなければならない。このことは、クライアントサーバシステムによって実現することができる。或いは、モデム及びアナログライン、又はデジタルインタフェース及びデジタルキャリアラインを介した別のコンピュータとの接続によって実現することができる。
【００７５】
より具体的には、ある実施形態では、ホストコンピュータシステム１０２及び／又はサーバシステム１３０は、ポータブルコンピュータ、ワークステーション、双方向ページャ、携帯電話、デジタル無線電話、携帯情報端末、サーバコンピュータ、インターネット機器、又は本明細書中で説明した実施形態の少なくとも１つに従ってソフトウエアメーカー信頼性延長アプリケーション１０６を実行する構成要素を含む他の任意のデバイスである。同様に、他の実施形態では、ホストコンピュータシステム１０２及び／又はサーバシステム１３０は、複数の異なるコンピュータ、無線装置、携帯電話、デジタル電話、双方向ページャ、携帯情報端末、サーバコンピュータ、又は本明細書中で説明した方法を実行するために相互接続されたこれらのデバイスの任意の望ましい組み合わせから構成される。
【００７６】
上記開示内容に基づき、本発明の一実施形態によるソフトウエアメーカー信頼性延長アプリケーション１０６を、幅広い種類のコンピュータシステム構成において実施することができる。加えて、ソフトウエアメーカー信頼性延長アプリケーション１０６を、異なるモジュールとして異なるデバイスのメモリに格納することもできる。例えば、最初は、ソフトウエアメーカー信頼性延長アプリケーション１０６をサーバコンピュータシステム１３０に格納しておき、その後、必要に応じて、ソフトウエアメーカー信頼性延長アプリケーション１０６の一部をホストコンピュータシステム１０２へ転送して、ホストコンピュータシステム１０２上に実行させることもできる。その結果、ソフトウエアメーカー信頼性延長機能の或る部分が、サーバシステム１３０のプロセッサ１３４上で実行され、ソフトウエアメーカー信頼性延長機能の他の部分がホストコンピュータシステム１０２のプロセッサ１０８上で実行される。上記開示内容に基づき、当業者であれば、様々な種類の物理的ハードウェア構成においてユーザが関心のあるオペレーティングシステム及びコンピュータプログラム言語を用いて、本発明の様々な実施形態を実施することができる。
【００７７】
更なる他の実施形態では、ソフトウエアメーカー信頼性延長アプリケーション１０６は、サーバシステム１３０のメモリ１３６に格納される。ソフトウエアメーカー信頼性延長アプリケーション１０６は、ネットワーク１２４を介してホストコンピュータシステム１０２のメモリ１１２に転送される。この実施形態では、ネットワークインタフェース１３８及びＩ／Ｏインタフェース１１０は、アナログモデム、デジタルモデム、又はネットワークインタフェースカードを含む。モデムが使用される場合、ネットワーク１２４は通信ネットワークを含み、ソフトウエアメーカー信頼性延長アプリケーション１０６は前記通信ネットワークを介してダウンロードされる。
【００７８】
上記の開示内容は、本発明の例示的な実施形態を示すものである。本発明の範囲は、上記の例示的な実施形態に限定されるものではない。本明細書中に明示的に記載されている又は示唆されているか否かに関わらず、当業者であれば、本明細書の開示内容に基づいて本発明の実施形態に種々の改変を加えて実施し得るであろう。
【図面の簡単な説明】
【００７９】
【図１】本発明の一実施形態による、ホストコンピュータシステム上で実行されるソフトウエアメーカー信頼性延長アプリケーションを含むクライアントサーバシステムを示す図である。
【図２】本発明の一実施形態によるソフトウエアメーカー信頼性延長方法を説明するためのフロー図である。
【図３】本発明の他の実施形態によるソフトウエアメーカー信頼性延長及び動作ブロック方法を説明するためのフロー図である。
【図１】
2009076069.tif 000003
【図２】
2009076069.tif 000004
【図３】
2009076069.tif 000005