(57)【特許請求の範囲】
【請求項１】
ソフトウェア評価確立・監視アプリケーションを内部に記憶した１又は複数のメモリと、
１又は複数の前記メモリに結合される１又は複数のプロセッサと
を備え、前記プロセッサにおいて、前記ソフトウェア評価確立・監視アプリケーションを実行することにより、
第１のコンピュータシステムにおいて実行されるモジュールの挙動を記録するステップであって、前記記録される挙動は前記第１のコンピュータシステムにおける前記モジュールの期待挙動である、記録するステップと、
前記記録された挙動を第２のコンピュータシステムに供給するステップと、
前記第２のコンピュータシステム及び前記記録された挙動を用いて、前記期待挙動に従って挙動する前記モジュールを条件として、前記モジュールの評価を決定するステップと、
前記モジュールの新たな挙動が前記期待挙動から特定量以上に逸脱していれば、前記モジュールの前記新たな挙動が前記期待挙動から逸脱しているものと決定するステップと、
前記新たな挙動が前記期待挙動から前記特定量以上に逸脱していることの決定に応答して保護動作をとるステップと
を含む方法が実行される、システム。
【請求項２】
前記期待挙動に前記モジュールの前記評価を関連付けるステップをさらに含む、請求項１に記載のシステム。
【請求項３】
前記期待挙動に前記モジュールの前記評価を関連付けるステップは、
前記期待挙動の評価マニフェストを作成するステップと、
前記評価マニフェストに前記評価を関連付けるステップと
を含み、
前記評価マニフェストは、
前記モジュールによって通常アクセスされるファイルの種類と、
前記モジュールがスタートアッププログラムであるか否か
を含む、
請求項２に記載のシステム。
【請求項４】
前記評価マニフェストは、前記期待挙動の集まりである、請求項３に記載のシステム。
【請求項５】
前記モジュールを実行するステップをさらに含み、前記実行が行われた場合、前記モジュールは前記挙動を実行する、請求項１に記載のシステム。
【請求項６】
前記モジュールの前記挙動は、いくつかの異なる設置場所での前記モジュールの集合的かつ包括的な挙動を含み、前記異なる設置場所は、異なるオペレーティングシステムを備える少なくとも２つの異なるコンピュータシステムを含む、請求項１に記載のシステム。
【請求項７】
前記評価は、前記モジュールの全体的な信用度である、請求項１に記載のシステム。
【請求項８】
前記モジュールの前記新しい挙動が前記期待挙動から逸脱しないと判断される場合、前記コンピュータにより実施される方法は、それ以上の動作を行わないステップをさらに含む、請求項１に記載のシステム。
【請求項９】
前記保護動作をとるステップは、前記評価を無効化するステップを含む、請求項１に記載のシステム。
【請求項１０】
前記評価を無効化するステップは、前記モジュールにより低い評価を割り当てるステップを含む、請求項９に記載のシステム。
【請求項１１】
前記保護動作をとるステップは、前記モジュールの前記新しい挙動が前記期待挙動から逸脱した旨の警報を生成するステップを含む、請求項１に記載のシステム。
【請求項１２】
前記警報に基づいて、前記モジュールのインストールを考えている新しいユーザに警告が発せられる、請求項１１に記載のシステム。
【請求項１３】
前記警告は、前記モジュールが未知の評価を有することを前記新しいユーザに通知するステップを含む、請求項１２に記載のシステム。
【請求項１４】
前記保護動作をとるステップは、前記新しい挙動をブロックするステップを含む、請求項１に記載のシステム。
【請求項１５】
挙動が前記モジュールによってとられる動作とその特性を含み、記録されるべき行動と特性がユーザにより構成可能である請求項１に記載のシステム。
【請求項１６】
ソフトウェア評価確立・監視アプリケーションからなるコンピュータプログラムであって、
前記ソフトウェア評価確立・監視アプリケーションは、第１のコンピュータシステムにおいて実行される未知のモジュールの挙動を記録するステップであって、前記記録される挙動は前記第１のコンピュータシステムにおいて実行される前記モジュールの期待挙動である、記録するステップと、
さらに前記記録された挙動を第２のコンピュータシステムに供給するステップと、
さらに前記第２のコンピュータシステム及び前記記録された挙動を用いて、前記期待挙動に従って挙動している前記モジュールを条件として、前記モジュールの評価を決定するステップと、
さらに前記モジュールの新たな挙動が前記期待挙動から特定量以上に逸脱していれば、前記モジュールの前記新たな挙動が前記期待挙動から逸脱しているものと決定するステップと、
さらに前記新たな挙動が前記期待挙動から前記特定量以上に逸脱していることの決定に応答して保護動作をとるステップと
をプロセッサに実行させる
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステムセキュリティに関する。より具体的には、本発明は、コンピュータシステムのモジュールの信用を確立し監視するシステムおよび方法に関する。
【背景技術】
【０００２】
挙動ブロックシステムは、モジュールをヒューリスティックに監視し、モジュールの信用レベルに基づいて、挙動ブロックシステムにより悪意があるものとしてみなす疑いのある挙動をブロックする。したがって、モジュールの信用レベルを評価することは、挙動ブロックにおいて非常に重要である。
【発明の概要】
【課題を解決するための手段】
【０００３】
一実施形態によれば、モジュールの評価が形成される際のモジュールの挙動についての知識が取得される。モジュールの挙動が変更した場合、この変更は検出される。一実施形態では、モジュールの挙動が変更されたと判断された場合、モジュールの元の評価は失われる。このようにして、信用可能と評価された不正モジュールが検出され無効化される。一実施形態では、モジュールの挙動を第１のコンピュータシステムで記録し、前記記録された挙動を第２のコンピュータシステムに供給し、前記第２のコンピュータシステムで前記モジュールの評価を決定する。
【０００４】
実施形態は、添付図面と併せて以下の詳細な説明を参照することにより最良に理解される。
【図面の簡単な説明】
【０００５】
【図１】一実施形態による、ホストコンピュータシステムで実行されるソフトウェア評価確立・監視アプリケーションを含むクライアント−サーバシステムの図である。
【図２】一実施形態によるソフトウェア評価確立プロセスの流れ図である。
【図３】一実施形態によるソフトウェア評価監視プロセスの流れ図である。
【発明を実施するための形態】
【０００６】
共通の参照番号が、同様の要素を示すために図面および詳細な説明全体を通して使用される。
【０００７】
一実施形態によれば、モジュールの評価が形成される際のモジュールの挙動についての知識が、モジュールの期待挙動の評価マニフェストを作成する動作２１０（図２）において取得される。モジュールの挙動が変更した場合、この変更は、挙動が期待挙動から逸脱するかチェックする動作３０６（図３）において検出される。一実施形態では、モジュールの挙動が変更したと判断された場合、保護動作をとる動作３０８（図３）において、モジュールの元の評価が失われる。このようにして、信用可能と評価された不正モジュールが検出され、無効化される。
【０００８】
より具体的には、図１は、一実施形態による、ホストコンピュータシステム１０２で実行されるソフトウェア評価確立・監視アプリケーション１０６を含むクライアント−サーバシステム１００の図である。
【０００９】
ホストコンピュータシステム１０２は、クライアントまたはユーザ装置と呼ばれる場合もあり、通常、プロセッサと呼ばれる場合もある中央演算処理装置（ＣＰＵ）１０８、入／出力（Ｉ／Ｏ）インタフェース１１０、およびメモリ１１４を含む。ホストコンピュータシステム１０２は、キーボード１１６、マウス１１８、プリンタ１２０、および表示装置１２２のような標準装置ならびにコンパクトディスク（ＣＤ）またはＤＶＤドライブ、フロッピーディスクドライブ、またはホストコンピュータシステム１０２に対してデータを入出力するための他のデジタルポートもしくは波形ポート等の１つまたは複数の標準入／出力（Ｉ／Ｏ）装置１２３をさらに含む。
【００１０】
一実施形態では、ソフトウェア評価確立・監視アプリケーション１０６が、ソフトウェア評価確立・監視アプリケーション１０６を含むＣＤ、ＤＶＤ、またはフロッピーディスク等のＩ／Ｏ装置１２３を介してホストコンピュータシステム１０２にロードされる。
【００１１】
ホストコンピュータシステム１０２は、ネットワーク１２４によりコンピュータシステム１００のサーバシステム１３０に結合される。サーバシステム１３０は通常、表示装置１３２、プロセッサ１３４、メモリ１３６、およびネットワークインタフェース１３８を含む。
【００１２】
ホストコンピュータシステム１０２は、ネットワーク１２４により、ホストコンピュータシステム１０２と同様である複数のホストコンピュータシステム１０３Ａ、１０３Ｂ、・・・、１０３ｎ（まとめてホストコンピュータシステム１０３）にも結合される。さらに、ホストコンピュータシステム１０２は、ネットワーク１２４により、サーバシステム１３０と同様であり、バックエンド評価システムと呼ばれる場合もあるソフトウェア評価確立・監視サーバコンピュータシステム１４０にも結合される。
【００１３】
ネットワーク１２４は、ユーザが関心を持つ任意のネットワークまたはネットワークシステムであることができる。様々な実施形態では、ネットワークインタフェース１３８およびＩ／Ｏインタフェース１１０は、アナログモデム、デジタルモデム、またはネットワークインタフェースカードを含む。
【００１４】
ソフトウェア評価確立・監視アプリケーション１０６は、例えば、ホストコンピュータシステム１０２のメモリ１１４に記憶され、ホストコンピュータシステム１０２上で実行される。
【００１５】
ホストコンピュータシステム１０２、ホストコンピュータシステム１０３、ソフトウェア評価確立・監視サーバコンピュータシステム１４０、およびサーバシステム１３０の特定の種類および構成は、この実施形態にとって重要ではない。
【００１６】
本明細書では、一実施形態において、不正コードは、許可されたユーザに知られず、かつ／または許可されたユーザの承諾を得ずにコンピュータシステム環境内に入る任意のコンピュータプログラム、モジュール、モジュールセット、またはコードとして定義される。
【００１７】
図２は、一実施形態によるソフトウェア評価確立プロセス２００の流れ図である。これより図１および図２を一緒に参照して、一実施形態において、プロセッサ１０８がソフトウェア評価確立・監視アプリケーション１０６を実行することにより、後述するソフトウェア評価確立プロセス２００が動作する。
【００１８】
開始動作２０２から、フローは未知のモジュールを実行する動作２０４に移る。未知のモジュールを実行する動作２０４において、ソフトウェアと呼ばれる場合もある未知のモジュールが実行される。
【００１９】
一般に、モジュールは実行可能コードを含む。一実施形態では、モジュールはアプリケーションの部分である。例えば、モジュールはＩｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ（登録商標）アプリケーションへのプラグインであり、例えば、Ａｄｏｂｅ（登録商標）Ｆｌａｓｈ（登録商標）モジュールである。さらに別の実施形態では、モジュールはアプリケーション全体である。
【００２０】
一実施形態では、アプリケーションは、エンドユーザ向けに設計されたプログラムまたはプログラム群である。より具体的には、アプリケーション（エンドユーザプログラムとも呼ばれる）は、データベースプログラム、ワードプロセッサ、およびスプレッドシートを含むが、多くの異なる種類のアプリケーションがある。
【００２１】
一実施形態では、アプリケーションおよび／またはモジュールは実行可能ファイルである。実行可能ファイルは、内容がコンピュータによりプログラムとして解釈されるように意図されたファイルである。一例では、実行可能ファイルは、．ｅｘｅ拡張子（ＥＸＥファイル）を有するが、他の実施形態では．ｎｅｔ等の他の拡張子を有する。アプリケーションおよび／またはモジュールは、本開示の恩恵を受ける分野の当業者により認識されるいくつかの技法のうちの任意の１つを使用して実行され、使用される具体的な技法はこの実施形態にとって重要ではない。
【００２２】
本明細書において使用するモジュールは、既知のモジュールまたは未知のモジュールのいずれかである。既知のモジュールは、さらに後述するように、関連付けられた評価マニフェストを有するモジュールである。それとは対照的に、未知のモジュールは、関連付けられた評価マニフェストを有さないモジュールである。
【００２３】
未知のモジュールを実行する動作２０４では、フローはモジュールの挙動を監視し記録する動作２０６に移る。
【００２４】
モジュールの挙動を監視し記録する動作２０６では、実行されたモジュールの、動作と呼ばれる場合もある挙動が監視され記録される。より具体的には、未知のモジュールを実行する動作２０４において、未知のモジュールを実行した場合、未知のモジュールは動作を実行し、これら動作が挙動と呼ばれる。モジュールの例示的な挙動としては、（１）モジュールがシステム全体の設定を変更するか否か、（２）モジュールがアクセスするファイルの種類、（３）モジュールがスタートアッププログラムであるか否か、および（４）モジュールの関心のある他の任意の挙動が挙げられる。説明のために、どの挙動が監視され記録されるかは、例えば、ユーザまたはシステム管理者により構成可能である。
【００２５】
一実施形態では、モジュールは、いくつかの異なる設置場所、例えば、異なるコンピュータシステムおよび／またはオペレーティングシステムで実行され、監視され、記録される。例えば、モジュールは、ホストコンピュータシステム１０２、１０３上で実行され、監視され、記録される。各設置場所において、モジュールの挙動が監視され記録される。モジュールの記録された挙動ならびに設置場所の特徴が、各設置場所から、例えば、ソフトウェア評価確立・監視サーバコンピュータシステム１４０等のバックエンド評価システムから収集され、集計される。
【００２６】
別の実施形態では、モジュールは、単一の設置場所、例えば、ホストコンピュータシステム１０２および／または単一のオペレーティングシステム等の単一のコンピュータシステム上で実行され、監視され、記録される。
【００２７】
モジュールの挙動を監視し記録する動作２０６から、フローは任意的にモジュールの評価を決定する動作２０８に移る。モジュールの評価を決定する動作２０８では、モジュールの評価が、例えば、モジュールの監視され記録された挙動から決定される。一実施形態では、モジュールの十分なコピーが監視され記録された場合、モジュールを十分な時間量、実行した場合、かつ／またはモジュールの挙動が他の様式で十分に観察された場合、モジュールの評価が確立される。
【００２８】
評価は、セキュリティベンダーまたはセキュリティ製品により決定されるモジュールの全体的な信用度である。評価は、一実施形態では、評価得点により測定されるが、本開示の恩恵を受ける分野の当業者により認識されるいくつかの技法のうちの任意の１つを使用して測定でき、使用される具体的な技法は重要ではない。
【００２９】
一実施形態では、モジュールの特権は、モジュールの評価に直接関係する。モジュールの信用度が高いほど、モジュールに提供される特権は高くなる。
【００３０】
説明のために、モジュールがスパイウェア、ウィルス、トロイの木馬、または他の不正コードをインストールすることが分かった場合、そのモジュールは信用不可として決定される。すなわち、モジュールの信用性は、信用不可である。逆に、モジュールが安全であることが分かった場合、モジュールは信用可能な（信頼可能な）ものと決定される。すなわち、モジュールの信用度は、信用可能である。信用度の２つの例を提供したが、信用度は、多くの信用（信頼）レベルがあるように、細かい粒度で定義することもできる。
【００３１】
別の実施形態では、モジュールの評価は、モジュールの監視され記録される挙動以外の基準に基づき、したがって、モジュールの評価を決定する動作２０８は任意的な動作である。説明のために、ソフトウェア発行者がある期間にわたって正当なモジュールを発行する場合を想定する。この例によれば、モジュールがこれと同じソフトウェア発行者により発行された場合、モジュールは、信用可能であるとして識別される。すなわち、モジュールの評価は、信頼可能である。
【００３２】
別の例によれば、確立された正当なソフトウェア発行者、例えば、Ｍｉｃｒｏｓｏｆｔ（登録商標）Ｃｏｒｐｏｒａｔｉｏｎがモジュールを発行する場合を想定する。モジュールは、確立された正当なソフトウェア発行者により発行されるため、モジュールは信用可能として識別される。すなわち、モジュールの評価は信頼可能である。
【００３３】
したがって、モジュールの評価は、モジュールの評価を決定する動作２０８において確立されるか、またはその他の様式で確立される。モジュールの評価の確立に使用される具体的な技法は重要ではない。しかし、一実施形態によれば、後述するように、確立される評価は、評価が確立されたときと同じように挙動するモジュールを条件とする。
【００３４】
モジュールの評価を決定する動作２０８から（またはモジュールの評価を決定する動作２０８が実行されない場合には、モジュールの挙動を監視し記録する動作２０６から）、フローはモジュールの期待挙動の評価マニフェストを作成する動作２１０に移る。モジュールの期待挙動の評価マニフェストを作成する動作２１０では、モジュールの期待挙動の評価マニフェストが、モジュールの監視され記録された挙動（動作２０６）に基づいて作成される。
【００３５】
より具体的には、モジュールの期待挙動は、モジュールの挙動を監視し記録する動作２０６において監視され記録されたモジュールの挙動である。換言すれば、モジュールの期待挙動は、モジュールの観察される通常の挙動である。
【００３６】
評価マニフェストは、モジュールの期待挙動の集まり、例えばリストである。説明のために、上記例によれば、評価マニフェストは、（１）もしあれば、モジュールにより変更されるシステム全体の設定、（２）もしあれば、モジュールがアクセスするファイルの種類、（３）該当する場合、モジュールがスタートアッププログラムであること、および（４）モジュールの監視され記録された他の任意の挙動を含む。
【００３７】
モジュールの期待挙動の評価マニフェストを作成する動作２１０から、フローは、評価マニフェストを評価に関連付ける動作２１２に移る。評価マニフェストを評価に関連付ける動作２１２では、モジュールの期待挙動の評価マニフェストを作成する動作２１０において作成された評価マニフェストが、モジュールの確立された評価に関連付けられる。より具体的には、確立された評価が、モジュールの期待挙動に関連付けられ、すなわち、リンクされる。
【００３８】
図３のソフトウェア評価監視プロセス３００を参照して以下に実証するように、モジュールが評価マニフェスト内の期待挙動に従って挙動する限り、モジュールはそのモジュールに確立された評価を維持する。しかし、確立された評価の維持は、期待したように、すなわち期待挙動に従って挙動するモジュールを条件とする。
【００３９】
特定の一実施形態では、モジュールの評価が、モジュールの挙動を監視し記録する動作２０６において監視され記録されたモジュールの挙動に基づいて、モジュールの評価を決定する動作２０８において決定される場合、確立された評価の維持は、モジュールの評価が最初に確立されたときと同じように挙動するモジュールを条件とする。
【００４０】
本明細書において、モジュールは、評価マニフェストに従って挙動するものとして説明されるが、これが、モジュールの挙動（動作）が、評価マニフェスト内に列挙されるか、または他の様式で収集された挙動（動作）と同じまたは実質的に同じであるモジュールの挙動（動作）を意味することを当業者は理解するであろう。
【００４１】
評価を評価マニフェストに関連付ける動作２１２から、フローは終了動作２１４に移り、終了する。
【００４２】
図３は、一実施形態によるソフトウェア評価監視プロセス３００の流れ図である。これより図１および図３を参照して、一実施形態では、プロセッサ１０８がソフトウェア評価確立・監視モジュール１０６を実行することにより、後述するように、ソフトウェア評価監視プロセス３００が動作する。
【００４３】
開始動作３０２から、フローは監視されるモジュールの挙動をチェックする動作３０４に移る。監視されるモジュールの挙動をチェックする動作３０４において、監視されるモジュールが動作しているか否か、すなわち、監視されるモジュールによる挙動があるか否かについて判断される。
【００４４】
監視されるモジュールによる挙動がない場合、フローは監視されるモジュールの挙動をチェックする動作３０４に留まる。逆に、監視されるモジュールによる挙動がある場合、フローは、監視されるモジュールの挙動をチェックする動作３０４から挙動が期待挙動から逸脱するかをチェックする動作３０６に移る。挙動が期待挙動から逸脱するかをチェックする動作３０６において、監視されるモジュールの挙動が、監視されるモジュールの期待挙動から逸脱するか否かについて判断される。換言すれば、モジュールの挙動が期待挙動から変更されたか否かについて判断される。
【００４５】
一実施形態では、モジュールの評価および期待挙動の評価マニフェストは、例えば、ソフトウェア評価確立・監視サーバコンピュータシステム１４０からホストコンピュータシステム１０２にダウンロードされる。別の実施形態では、モジュールの評価および期待挙動の評価マニフェストは、上述したように、ホストコンピュータシステム１０２で作成される。
【００４６】
一実施形態では、監視されるモジュールは、評価マニフェストが関連付けられた、確立された評価を有するモジュール、すなわち、特定の様式で挙動するものと期待されるモジュールである。したがって、監視されるモジュールによる挙動がある場合、この挙動は、挙動が期待挙動から逸脱するかをチェックする動作３０６において、モジュールの期待挙動と比較される。
【００４７】
挙動は、本開示の恩恵を受ける分野の当業者により認識されるいくつかの技法のうちの任意の１つを使用して比較することができ、使用される具体的な技法は重要ではない。一実施形態では、期待挙動からのいかなる逸脱も、監視されるモジュールの挙動が、監視されるモジュールの期待挙動から逸脱するとの結論に達するのに十分である。別の実施形態では、監視されるモジュールの挙動が、監視されるモジュールの期待挙動から逸脱するとの結論に達する前に、挙動の特定量の変更が許される。
【００４８】
挙動が期待挙動から逸脱しないと判断された場合、フローは、挙動が期待挙動から逸脱するかをチェックする動作３０６から、終了動作３１０に移り、終了するか、または監視されるモジュールによる挙動をチェックする動作３０４に戻る。この場合、モジュールは期待通りに挙動しており、さらなる動作は行われない。
【００４９】
これとは対照的に、挙動が期待挙動から逸脱すると判断された場合、フローは、挙動が期待挙動から逸脱するかをチェックする動作３０６から保護動作をとる動作３０８に移る。保護動作をとる動作３０８において、保護動作がとられる。例えば、モジュールに確立された評価が無効化される。
【００５０】
一実施形態では、モジュールは評価を失う。すなわち、より低い評価が割り当てられ、それにより、元の評価に関連付けられた特権も失われるか、または低減する。説明のために、モジュールの元の評価でモジュールに許されていた動作は、低評価に基づいてセキュリティの増大を受け、かつ／またはブロックされ、低評価とは、モジュールが元の評価よりも信用度が低下しているという評価である。
【００５１】
さらに、一実施形態では、モジュールが評価を失ったこと、および／またはモジュールの挙動が変更されたことの警報が、保護動作をとる動作３０８において生成される。この警報は、ソフトウェア評価確立・監視サーバコンピュータシステム１４０、ユーザ、管理者、または他のログインする人等のバックエンド評価システムに発行される。
【００５２】
この警報に基づいて、一実施形態では、モジュールの評価が未知であることの警告が、モジュールのインストールを考えている新しいユーザに発行される。例えば、警告は、ソフトウェア評価確立・監視サーバコンピュータシステム１４０からホストコンピュータシステム１０３に発行される。これにより、例えば、ホストコンピュータシステム１０３の新しいユーザが、モジュールをインストールすべきか否かについてのより賢明な判断を下すことができる。
【００５３】
別の実施形態では、保護動作をとる動作３０８において、モジュールの変更された挙動がブロックされる。保護動作の特定の例について上述したが、本開示に照らして、保護動作をとる動作３０８において、広範囲の保護動作をとることができることを当業者は理解するであろう。
【００５４】
特定の場合、モジュールの挙動の変更は正当である。すなわち、不正コードに関連しない。しかし、新しい挙動が元の評価決定に考慮されなかったため、モジュールは元の評価を失う。一実施形態では、新しい挙動に基づき、新しい挙動を組み込んだ新しい評価がモジュールに対して作成される。
【００５５】
他の場合、モジュールの挙動の変更は、悪意のあるものである。すなわち、不正コードに関連する。説明のために、従来では、ブラックリストアンチマルウェア解決策が使用された。より具体的には、ブラックリストと呼ばれる場合もある既知の不正コードのリストが、モジュールが不正であるか否かを判断するために使用された。
【００５６】
より最近になり、ホワイトリストアンチマルウェア解決策がますます使用されている。より具体的には、ホワイトリストと呼ばれる場合もある既知の信頼可能なモジュールのリストが、モジュールの実行を許可するか否かを判断するために使用される。安全なホワイトリストは、システム上で動作しているモジュールの強力な識別情報を提供する。一例では、モジュールに寄与した制作者の評価が、モジュール自体の評価による。
【００５７】
しかし、信頼可能なモジュール、例えば、ホワイトリスト上のモジュールが不正である、すなわち、不正コードを含むことが分かった場合、問題が発生する。この信頼されていた不正モジュールの問題は、信頼可能なモジュールのみの実行を許可するシステムの変えられない結果である。攻撃者は、不正コードを信頼可能なモジュール内に埋め込み、信頼可能評価を有する不正モジュールを作成し、ホストコンピュータシステムを悪用して、エンドユーザのデータを盗み、また盗んだものを使用して現金を得る。
【００５８】
一例では、ホワイトリストに配置される信頼および信用を得るために、攻撃者は、ある期間にわたって正当なモジュールを発行する。一旦ホワイトリストに配置されると、攻撃者は不正モジュールを作成し、このモジュールは、攻撃者が正当なモジュールを発行した過去の記録に基づいて、ホワイトリストに配置される。
【００５９】
別の例では、攻撃者は、確立されたソフトウェア企業の内部関係者になり、不正コードを確立されたソフトウェア企業のモジュールに挿入する。この不正モジュールモジュールが確立されたソフトウェア企業により発行されることに基づいて、ホワイトリストに配置される。１組の例を提供したが、信頼可能と評価された不正モジュールは、本開示の恩恵を受ける分野の当業者により認識されるいくつかの技法のうちの任意の１つを使用して作成することができ、使用される具体的な技法は重要ではない。
【００６０】
信頼可能と評価された不正モジュールを検出して無効にするために、モジュールの評価が形成される際のモジュールの挙動についての知識が、上述したように、図２のソフトウェア評価確立プロセス２００のモジュールの期待挙動の評価マニフェストを作成する動作２１０において得られる。モジュールの挙動が変更する場合、この変更は、図３のソフトウェア評価監視プロセス３００の挙動が期待挙動から逸脱するかをチェックする動作３０６において検出される。一実施形態では、モジュールの挙動が変更したと判断される場合、モジュールの評価は、上述したように、保護動作をとる動作３０８において、変更され、例えば、失われる。
【００６１】
仮説的な例として、ソフトウェア発行者が、新しい画像編集モジュールＩｍａｇｅ．ｅｘｅを作成すると想定する。この新しい画像編集モジュールＩｍａｇｅ．ｅｘｅには、モジュールの期待挙動の評価マニフェストが割り当てられておらず、したがって、未知のモジュールである。
【００６２】
したがって、図２を再び参照すると、画像編集モジュールＩｍａｇｅ．ｅｘｅが、未知のモジュールを実行する動作２０４において実行され、モジュールの挙動を監視し記録する動作２０６において、挙動が監視され記録される。説明のために、この新しい画像編集モジュールＩｍａｇｅ．ｅｘｅは、ユーザアカウント制御（ＵＡＣ）承認を必要とする変更をホストコンピュータシステム１０２に対して行わず、画像ファイルのみを変更する。
【００６３】
この挙動に基づいて、画像編集モジュールＩｍａｇｅ．ｅｘｅは、モジュールの評価を決定する動作２０８において、信頼可能なモジュールであると決定される。画像編集モジュールＩｍａｇｅ．ｅｘｅの期待挙動、すなわち、モジュールの挙動を監視し記録する動作２０６において監視され記録される挙動の評価マニフェストが、モジュールの期待挙動の評価マニフェストを作成する動作２１０において作成される。評価マニフェストには、評価マニフェストに評価を関連付ける動作２１２において、評価が関連付けられる。
【００６４】
これより図３を参照すると、画像編集モジュールＩｍａｇｅ．ｅｘｅの使用中、挙動が期待挙動から逸脱するかをチェックする動作３０６において、画像編集モジュールＩｍａｇｅ．ｅｘｅの挙動が変更されたと判断される。説明のために、画像編集モジュールＩｍａｇｅ．ｅｘｅ内の不正コード、すなわち、信頼可能と評価された不正モジュールが、システムサービスをフックし、システムファイルを変更する。
【００６５】
しかし、保護動作をとる動作３０８において、この不正挙動はブロックされ、警報が発せられる。この例が実証するように、信頼可能と評価された不正モジュールは、様々な実施形態により検出され、無効にされる。
【００６６】
再び図１を参照すると、ソフトウェア評価確立・監視アプリケーション１０６はアプリケーションとして参照されるが、これはあくまでも説明のためのものである。ソフトウェア評価確立・監視アプリケーション１０６は、アプリケーションまたはオペレーティングシステムから呼び出し可能であるべきである。一実施形態では、アプリケーションは一般に、任意の実行可能コードであるとして定義される。さらに、アプリケーションまたは動作が何らかの動作を行うと言う場合、その動作は、プロセッサが１つまたは複数の命令を実行した結果であることを、本開示の恩恵を受ける分野の当業者は理解するであろう。
【００６７】
実施形態は、クライアント−サーバ構成に関して説明したが、実施形態は、パーソナルコンピュータ、ワークステーション、ポータブル装置、またはコンピュータ装置のネットワークを含む任意の適したハードウェア構成または手段を使用して実行される。クライアント−サーバ構成以外のネットワーク構成、例えば、ピアツーピア、ウェブベース、イントラネット、およびインターネットのネットワーク構成が、他の実施形態において使用される。
【００６８】
本明細書では、コンピュータプログラム製品は、実施形態によるコンピュータ可読コードを記憶するように構成された実体的な記憶媒体を含む。コンピュータプログラム製品のいくつかの例は、ＣＤ−ＲＯＭディスク、ＤＶＤ、ＲＯＭカード、フロッピーディスク、磁器テープ、コンピュータハードドライブ、およびネットワーク上のサーバである。
【００６９】
図１に示されるように、この媒体はコンピュータシステム自体に属する。しかし。媒体は、コンピュータシステムから取り外されもする。例えば、ソフトウェア評価確立・監視アプリケーション１０６は、プロセッサ１０８とは異なる位置に物理的に配置されたメモリ、例えば、サーバシステム１３０のメモリ１３６に記憶される。プロセッサ１０８はメモリ１３６に結合されるべきである。これは、クライアント−サーバシステムで、または代替としてモデムおよびアナログ線を介する、もしくはデジタルインタフェースおよびデジタル搬送線を介する別のコンピュータへの接続を介して達成することができる。
【００７０】
より具体的には、一実施形態において、ホストコンピュータシステム１０２および／またはサーバシステム１３０は、ポータブルコンピュータ、ワークステーション、双方向ページャ、セルラ電話、デジタル無線電話、個人情報端末、サーバコンピュータ、インターネットアプリケーション、または本明細書において説明した実施形態のうちの少なくとも１つによりソフトウェア評価確立・監視アプリケーション１０６を実行する構成要素を含む他の任意の装置である。同様に、別の実施形態では、ホストコンピュータシステム１０２および／またはサーバシステム１３０は、本明細書に説明された方法を実行するように相互接続された複数の異なるコンピュータ、無線装置、セルラ電話、デジタル電話、双方向ページャ、個人情報端末、サーバコンピュータ、またはこれら装置の任意の所望の組み合わせで構成される。
【００７１】
本開示に鑑みて、一実施形態によるソフトウェア評価確立・監視アプリケーション１０６は、広範囲のコンピュータシステム構成で実施することができる。さらに、ソフトウェア評価確立・監視アプリケーション１０６は、異なる装置のメモリ内に異なるモジュールとして記憶することができる。例えば、ソフトウェア評価確立・監視アプリケーション１０６はまず、サーバシステム１３０に記憶することができ、必要に応じて、ソフトウェア評価確立・監視アプリケーション１０６の部分をホストコンピュータシステム１０２に転送し、ホストコンピュータシステム１０２で実行することができる。逆に、ソフトウェア評価確立・監視機能の部分は、サーバシステム１３０のプロセッサ１３４で実行され、別の部分はホストコンピュータシステム１０２のプロセッサ１０８で実行される。本開示に鑑みて、当業者は、ユーザが関心を有するオペレーティングシステムおよびコンピュータプログラミング言語を使用して、広範囲の物理的なハードウェア構成で様々な実施形態を実施可能である。
【００７２】
さらに別の実施形態では、ソフトウェア評価確立・監視アプリケーション１０６は、サーバシステム１３０のメモリ１３６に記憶される。ソフトウェア評価確立・監視アプリケーション１０６は、ネットワーク１２４を介してホストコンピュータシステム１０２内のメモリ１１４に転送される。この実施形態では、ネットワークインタフェース１３８およびＩ／Ｏインタフェース１１０は、アナログモデム、デジタルモデム、またはネットワークインタフェースカードを含む。モデムが使用される場合、ネットワーク１２４は通信網を含み、ソフトウェア評価確立・監視アプリケーション１０６は、通信網を介してダウンロードされる。
【００７３】
本開示は例示的な実施形態を提供する。その範囲は、これら例示的な実施形態により限定されない。本明細書により明示的に提供されるか否か、または本明細書により暗黙的に示されるか否かに関わらず、当業者は本開示に鑑みて多くの変形を実施し得る。
【図１】
0005736305.tif 000002
【図２】
0005736305.tif 000003
【図３】
0005736305.tif 000004