(57)【要約】【課題】複数のセキュリティサービスまたは他のイベント収集システムからナレッジベースをアグリゲートし、コンピュータをマルウェアから保護する、システム、方法、およびコンピュータ可読媒体を提供すること。【解決手段】本発明の一態様は、コンピュータをマルウェアから事前に保護する方法である。より具体的には、本方法は、アンチマルウェアサービスまたは他のイベント収集システムを用いて、潜在的にマルウェアを示唆する疑わしいイベントを観測することと、疑わしいイベントが前もって決められた閾値を満たすかを判定することと、疑わしいイベントが前もって決められた閾値を満たす場合、マルウェアの拡散を回避するように設計された制限的セキュリティポリシーを実施することとを含む。【選択図】図３
2006285983.tif 000002
【特許請求の範囲】
【請求項１】
ローカルマシンイベントを収集し、アンチマルウェアサービスおよび他のイベント検出システムからナレッジベースをアグリゲートしてコンピュータをマルウェアから事前に保護する、コンピュータ実施方法であって、
（ａ）潜在的にマルウェアを示唆する疑わしいイベントを観測するために、前記アンチマルウェアサービスおよび他のイベント検出システムを用いることと、
（ｂ）前記疑わしいイベントが、前もって決められた閾値を満たすかを判定することと、
（ｃ）前記疑わしいイベントが、前記前もって決められた閾値を満たす場合、コンピュータに制限的セキュリティポリシーを適用することと
を含むことを特徴とする方法。
【請求項２】
潜在的にマルウェアを示唆する疑わしいイベントを観測するために、前記アンチマルウェアサービスおよび他のイベント検出システムを用いることは、疑わしいイベントを記述するメタデータを受け取ることを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記疑わしいイベントを記述する前記メタデータは、エンティティの特性を表すために、アンチマルウェアサービスがアクセスすることができることを特徴とする請求項２に記載の方法。
【請求項４】
前記疑わしいイベントを記述する、前記受け取られるメタデータは、
（ａ）前記疑わしいイベントがマルウェアを示唆する可能性を定量化する、アンチマルウェアサービスにより生成された、重み付けされた値と、
（ｂ）前記イベントが疑わしいと同定された理由と
を備えることを特徴とする請求項２に記載の方法。
【請求項５】
前記疑わしいイベントが前記閾値を満たすかを判定することは、与えられた時間フレーム内のイベント数が与えられた値よりも大きいかを判定することを含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記イベントがマルウェアを示唆する閾値を満たすかを判定することは、
（ａ）それぞれの疑わしいイベントに対して、前記疑わしいイベントがマルウェアを示唆する可能性を定量化する、重み付けされた値を生成することと、
（ｂ）前記疑わしいイベントの前記重み付けされた値の合計が、与えられた値よりも大きいかを判定することと
を含むことを特徴とする請求項１に記載の方法。
【請求項７】
前記制限的セキュリティポリシーは、前記観測された疑わしいイベントに関連するエンティティが、前記ポリシーに反する形で、コンピュータ上で行動を起こし、リソースにアクセスすることを回避することを特徴とする請求項１に記載の方法。
【請求項８】
制限的セキュリティポリシーを適用することは、
（ａ）前記エンティティが前記コンピュータから取り除くことができるかを判定することと、
（ｂ）前記エンティティが前記コンピュータから取り除くことができる場合、アンチマルウェアサービスに前記エンティティを前記コンピュータから取り除かせることと、
（ｃ）逆に、前記エンティティが取り除くことができない場合、マルウェアの拡散を回避するように設計された一般的な制限的セキュリティポリシーを適用することと
を含むことを特徴とする請求項１に記載の方法。
【請求項９】
アンチマルウェアサービスに前記エンティティを前記コンピュータから取り除かせることは、前記マルウェアが前記コンピュータを直後に感染させることを回避するように設計された、制限的セキュリティポリシーを適用することを含むことを特徴とする請求項８に記載の方法。
【請求項１０】
アンチマルウェアサービスに前記エンティティを取り除かせることは、前記アンチマルウェアサービスに、前記アンチマルウェアサービスがコンピュータから取り除くことのできるように構成されているマルウェアの種類を、登録および同定することを許可することを含むことを特徴とする請求項８に記載の方法。
【請求項１１】
制限的セキュリティポリシーを実施することは、前記コンピュータがネットワーク上データへアクセスする能力を制限することを含むことを特徴とする請求項８に記載の方法。
【請求項１２】
前記コンピュータがネットワーク上データへアクセスする能力を制限することは、
（ａ）特定の通信ポートのネットワークトラフィックをブロックすることと、
（ｂ）あるネットワークベースアプリケーションからの通信をブロックすることと、
（ｃ）前記コンピュータ上のハードウェアおよびソフトウェアへのアクセスをブロックすることと、
（ｄ）特定の通信ポートおよびアドレスのネットワークトラフィックをブロックすることと
を含むことを特徴とする請求項１１に記載の方法。
【請求項１３】
マルウェアからコンピュータを事前に保護するソフトウェアシステムであって、
（ａ）前記コンピュータに関連するエンティティがマルウェアかを判定するアグリゲーションルーチンであって、
（ｉ）潜在的にマルウェアを示唆する疑わしいイベントを同定するデータを集めるために動作するデータコレクタコンポーネントと、
（ｉｉ）前記データコレクタコンポーネントにより集められたデータを分析し、閾値が満たされたかを判定するデータアナライザモジュールと、
（ｉｉｉ）前記データアナライザモジュールが前記閾値が満たされたと判定するときに、制限的セキュリティポリシーを実施するために動作するポリシーインプリメンタと
を備えるアグリゲーションルーチンを備えることを特徴とするソフトウェアシステム。
【請求項１４】
潜在的にマルウェアを示唆する疑わしいイベントを同定し、およびデータコレクタコンポーネントに報告するためのアンチマルウェアサービスをさらに備えることを特徴とする請求項１３に記載のソフトウェアシステム。
【請求項１５】
前記アンチマルウェアサービスは、前記疑わしいイベントに関連する前記エンティティを同定するようにさらに構成されていることを特徴とする請求項１４に記載のソフトウェアシステム。
【請求項１６】
コンピュータ上で生じるイベントを同定し、前記アグリゲーションルーチンがアクセスできるデータストア（ｄａｔａ  ｓｔｏｒｅ）に前記イベントを記録するためのイベントコレクションシステムをさらに備えることを特徴とする請求項１３に記載のソフトウェアシステム。
【請求項１７】
前記アグリゲーションルーチンは、
（ａ）前記アンチマルウェアサービスに、登録し、前記コンピュータから取り除くことのできるマルウェアを同定することを許可し、
（ｂ）前記データアナライザモジュールが前記閾値が満たされていると判定するときに、前記登録データから、前記アンチマルウェアサービスが、前記コンピュータから前記マルウェアを取り除くことができるかを判定する
ようにさらに構成されていることを特徴とする請求項１３に記載のソフトウェアシステム。
【請求項１８】
前記データコレクタコンポーネントは、
（ａ）疑わしいイベントがマルウェア固有のものである可能性を記述し、
（ｂ）イベントが、前記アンチマルウェアサービスにより疑わしいとマークされた理由を同定する
メタデータを受け取り、保存するように構成されていることを特徴とする請求項１３に記載のソフトウェアシステム。
【請求項１９】
アンチマルウェアサービスを備えるコンピュータ上で実行されたときに、前記コンピュータに、
（ａ）前記アンチマルウェアサービスを用い、潜在的にマルウェアを示唆する疑わしいイベントを観測させることと、
（ｂ）前記疑わしいイベントを記述するデータを前記アンチマルウェアサービスから受け取ることと、
（ｃ）前記観測された疑わしいイベントがマルウェアを示唆するかを判定することと、
（ｄ）前記疑わしいイベントがマルウェアを示唆する場合、疑わしいイベントに関連するエンティティが前記コンピュータ上で行動を起こすことを制限する、制限的セキュリティポリシーを実施することと
を実行させるコンピュータ実行可能命令を有するコンピュータ可読媒体。
【請求項２０】
前記コンピュータは、
（ａ）マルウェア感染が存在するかを決め、
（ｂ）マルウェア感染が存在する場合、前記コンピュータが、前記コンピュータと通信できるように接続されているコンピュータへデータを伝送することを回避する
ようにさらに構成されていることを特徴とする請求項１９に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータに関し、より詳細には、コンピュータをマルウェアから動的に保護することに関する。
【背景技術】
【０００２】
ますます多くのコンピュータおよびその他のコンピューティングデバイスが、インターネットのような多様なネットワークを介して相互接続されるにつれ、コンピュータセキュリティは重要性が高まり、特にネットワークまたは情報ストリームを通じて配布される侵入または攻撃からのセキュリティが重要である。当業者およびその他の者は理解するように、これらの攻撃は多くの異なる形をとり、当然これらに制限されないが、コンピュータウィルス、コンピュータワーム、システムコンポーネントの取替え、サービス拒否攻撃、情報窃盗、さらにはコンピュータシステムの正当な特徴の悪用／濫用までも含む。これらのすべては、一つまたは複数のコンピュータシステムの脆弱性を不正な目的のために利用する。当業者は、多様なコンピュータ攻撃はそれぞれ技術的に異なることに気付くであろうが、本発明の目的および説明の簡潔さのために、これらの攻撃のすべてを以後で一般的にコンピュータマルウェアまたはより簡潔にマルウェアと言及する。
【０００３】
コンピュータシステムがコンピュータマルウェアに攻撃された、または「感染された」とき、有害な結果は多様であり、システムデバイスを動作不能にすること、ファームウェア、アプリケーションまたはデータファイルを削除または破壊すること、潜在的に敏感なデータをネットワーク上の他の場所に送信すること、コンピュータシステムをシャットダウンすること、またはコンピュータシステムをクラッシュさせることを含む。もう１つの、すべてではないが多くのコンピュータマルウェアの有害な側面は、感染したコンピュータシステムが他のコンピュータシステムを感染させるのに用いられることである。
【０００４】
図１は、コンピュータマルウェアが一般に配布される例示的ネットワーク化環境１００を示す絵図である。図１に示すように、典型的な例示的ネットワーク化環境１００は、複数のコンピュータ１０２〜１０８を含み、それらすべては、イントラネット、または一般にインターネットと呼ばれるグローバルＴＣＰ／ＩＰネットワークを含むより大きな通信ネットワークなどの通信ネットワーク１１０を介して相互接続される。理由は何であれ、コンピュータ１０２のようなネットワーク１１０に接続されたコンピュータ上の悪意ある当事者は、コンピュータマルウェア１１２を開発し、ネットワーク１１０にリリース（ｒｅｌｅａｓｅ）する。矢印１１４で示すように、リリースされたコンピュータマルウェア１１２は、コンピュータ１０４のような１つまたは複数のコンピュータにより受け取られ、感染する。多くのコンピュータマルウェアについて典型的であるように、コンピュータ１０４は、一度感染すると矢印１１６で示すようにコンピュータ１０６のような他のコンピュータを感染させるのに用いられ、その感染したコンピュータは、矢印１１８で示すようにコンピュータ１０８のようなさらに他のコンピュータを感染させる。
【０００５】
アンチウィルスソフトウェアが、数千の知られたコンピュータマルウェアの認知に関してより洗練されて効率的になるにつれ、コンピュータマルウェアもより洗練された。たとえば、最近のコンピュータマルウェアの多くはポリモルフィック（ｐｏｌｙｍｏｒｐｈｉｃ）である。言い換えると、これらは、検査中のアンチウィルスソフトウェアがそれにより認知することのできる、同定可能なパターンまたは「特徴」を何も有していない。これらのポリモルフィックマルウェアは、他のコンピュータシステムに伝播する前に自らを修正するため、しばしばアンチウィルスソフトウェアにより認知されない。
【０００６】
オペレーティングシステム、またはデバイスドライバおよびソフトウェアアプリケーションのような他のコンピュータシステムコンポーネントの中に脆弱性が同定され、処置が取られたとき、オペレーティングシステムプロバイダは一般に、その脆弱性を治癒するためのソフトウェアアップデートをリリースする。しばしばパッチと呼ばれるこれらのアップデートは、同定された脆弱性からコンピュータシステムを安全にするために、コンピュータシステムにインストールされるべきである。しかし、これらのアップデートは、本質的に、オペレーティングシステム、デバイスドライバ、またはソフトウェアアプリケーションのコンポーネントへのコード変更である。したがって、これらは、アンチウィルスソフトウェアプロバイダからのアンチウィルスアップデートのように迅速かつ自由にはリリースできない。これらのアップデートはコード変更であるため、ソフトウェアアップデートは一般にリリースされる前に多大な企業内テストを要する。
【０００７】
マルウェアを同定し、脆弱性に対して処置を取る現在のシステムの下では、コンピュータは、ある状況でマルウェアに攻撃される余地がある。たとえば、コンピュータユーザは、アンチウィルスソフトウェアのパッチおよび／またはアップデートをインストールしない場合がある。この場合、マルウェアは、ネットワーク上を、マルウェアから十分に保護されていないコンピュータ間で伝播することができる。しかし、ユーザが定期的にコンピュータをアップデートする場合でも、新たなコンピュータマルウェアがネットワーク上でリリースされてから、オペレーティングシステムコンポーネントについてのアンチウィルスソフトウェアをアップデートしてコンピュータシステムをマルウェアから保護することができるまでの、以後で脆弱性窓と言及する期間が存在する。名前が示唆するように、コンピュータシステムが新たなコンピュータマルウェアに攻撃を受けやすいまたは晒されているのは、この脆弱性窓の間である。
【０００８】
図２は、脆弱性窓を示す例示的タイムライン（ｔｉｍｅｌｉｎｅ）のブロック図である。以下の議論で、タイムラインに関して重要な時間または出来事はイベントとして言及する。今日リリースされるマルウェアの多くは既知の脆弱性に基づくものであるが、時々、未知の脆弱性を利用するコンピュータマルウェアがネットワーク１１０にリリースされる。図２は、このシナリオの下で、タイムライン２００に関して脆弱性窓２０４を示している。したがってタイムライン２００に示すように、イベント２０２で、マルウェア著作者は新たなコンピュータマルウェアをリリースする。これが新たなコンピュータマルウェアであるとき、コンピュータシステムをマルウェアから保護するために利用できるオペレーティングシステムパッチもアンチウィルスアップデートも存在しない。したがって、脆弱性窓２０４が開かれる。
【０００９】
イベント２０６で示すように、新たなコンピュータマルウェアがネットワーク１１０上で流通を始めた後のある時点で、オペレーティングシステムプロバイダおよび／またはアンチウィルスソフトウェアプロバイダが新たなコンピュータマルウェアを検出する。当業者は理解するように、典型的には、新たなコンピュータマルウェアの存在は、オペレーティングシステムプロバイダおよびアンチウィルスソフトウェアプロバイダの両方によりおよそ数時間以内に検出される。
【００１０】
コンピュータマルウェアが検出されれば、アンチウィルスソフトウェアプロバイダは、アンチウィルスソフトウェアがコンピュータマルウェアをそれによって認知できるパターンまたは「特徴」を同定するプロセスを始めることができる。同様に、オペレーティングシステムプロバイダは、コンピュータマルウェアを解析し、オペレーティングシステムをコンピュータマルウェアから保護するためにパッチしなければならないかどうかを決定するためのプロセスを始めることができる。これらの平行した努力の結果として、イベント２０８で、オペレーティングシステムプロバイダおよび／またはアンチウィルスソフトウェアプロバイダは、アップデート、つまりコンピュータマルウェアに対処するためのオペレーティングシステムに対するソフトウェアパッチまたはアンチウィルスソフトウェアをリリースする。その後、イベント２１０で、アップデートは、ユーザのコンピュータシステムにインストールされ、それによりコンピュータシステムを保護し、脆弱性窓２０４を閉じる。
【発明の開示】
【発明が解決しようとする課題】
【００１１】
上記の例は、コンピュータマルウェアがコンピュータシステムにセキュリティ上の脅威を与える、すべての可能なシナリオの代表でしかないが、これらから分かるように脆弱性窓２０４は、コンピュータマルウェア１１２がネットワーク１１０にリリースされてから、対応するアップデートがユーザのコンピュータシステムにインストールされるまでの時間に存在する。不幸にも、脆弱性窓２０４が大きかろうが小さかろうが、感染したコンピュータはコンピュータの所有者に「駆除」および修理のための多大な金銭を負担させる。この損害は、数千または数十万のデバイスをネットワーク１１０に取り付けているかもしれない大きな法人または実在を扱う場合に、膨大になる可能性がある。マルウェアはユーザデータに変更を加えまたは破壊する場合があり、それらのすべては追跡および治癒することが極めて難しいまたは不可能かもしれない。上記のような損害は、この可能性により増幅される。
【課題を解決するための手段】
【００１２】
マルウェアにより引き起こされる脅威に対抗するために、異なる種類のマルウェアのエントリーポイントおよび／またはデータストリームを監視するための、ますます多くのアンチマルウェアサービスおよび他のイベント検出システムが開発されてきている。たとえば、アンチマルウェアサービスの文脈で、多くのコンピュータは今、伝統的アンチウィルスソフトウェアに加えて、ファイヤーフォール、動作（ｂｅｈａｖｉｏｒ）ブロッカ、およびスパイウェアシステムをコンピュータを保護するために使用する。当業者およびその他の者は、アンチマルウェアソフトウェアが、典型的には、（１）マルウェア特有のものとして知られているコードおよび／または活動、および（２）「疑わしい」または潜在的にマルウェアに特有なコードおよび／または活動を同定できることを認知するだろう。マルウェア特有のものとして知られているコードおよび／または活動が同定されるとき、マルウェアを処理するルーチンがコンピュータからマルウェアを「駆除」または取り除くために使われる。しかし、疑わしいコードおよび／または活動が同定されるときに、アンチマルウェアサービスは、十分な精度でそのコードおよび／または活動は実際にマルウェアの特徴であると宣言するために必要な情報を持っていない場合がある。さらに、多様な異なる目的のために、エントリーポイント、データストリーム、コンピュータの属性および／または活動を監視するための、他のイベント検出システムが開発されてきている。たとえば、いくつかのオペレーティングシステムは、コンピュータをマルウェアから事前に保護するときに有益な、コンピュータに関するある重大な「イベント」に加えて、中央処理装置（「ＣＰＵ」）により実行される処理量を追跡する。
【００１３】
従来技術の水準についての前述の問題は、複数のアンチマルウェアサービスおよび他のイベント検出システムからナレッジベースをアグリゲート（ａｇｇｒｅｇａｔｅ）し、マルウェアからコンピュータを事前に保護するためのシステム、方法、およびコンピュータ可読媒体を対象とする本発明の原理により克服される。
【００１４】
本発明の一態様は、複数のアンチマルウェアサービスおよび／またはイベント検出システムを保持するスタンドアロン（ｓｔａｎｄ−ａｌｏｎｅ）コンピュータをマルウェアから保護する方法である。より具体的には、この方法は、（１）潜在的にマルウェアを示唆する疑わしいイベントを観測するためにアンチマルウェアサービスおよび／またはイベント検出システムを用いることと、（２）その疑わしいイベントが前もって決められている閾値を満たすかを判定することと、（３）その疑わしいイベントが前もって決められている閾値を満たす場合、コンピュータに制限的セキュリティポリシーを実施することとを含む。いくつかの場合に、すべてでないならば大半の入ってくるおよび出てゆくネットワークトラフィックをブロックするような、一般的セキュリティ手段を取るセキュリティポリシーを呼び出すことができる。他の場合に、制限的セキュリティポリシーは、コンピュータのエンティティ（ｅｎｔｉｔｙ）が利用可能なリソースを制限し、コンピュータがマルウェアに再感染しないようにすることもできる。
【００１５】
本発明のもう一つの態様は、複数のアンチマルウェアサービスおよび／またはイベント検出システムからナレッジベースをアグリゲートし、コンピュータをマルウェアから保護するソフトウェアシステムである。本発明の一実施形態で、ソフトウェアシステムは、データコレクタコンポーネント、データアナライザモジュール、およびポリシーインプリメンタを備える。データコレクタコンポーネントは、コンピュータにインストールされた異なるアンチマルウェアシステムおよび／またはイベント検出システムからのデータを集めるように動作する。この実施形態で、集められたデータは、潜在的にマルウェアを示唆する疑わしいイベントを記述している。様々なときに、データアナライザモジュールは、データコレクタコンポーネントにより集められたデータが全体としてマルウェアを示唆するかを決定することができる。データアナライザモジュールが、十分な確からしさでマルウェアは存在すると決定する場合、ポリシーインプリメンタは、コンピュータのリソースへのアクセスを制限する制限的セキュリティポリシーを課すことができる。
【００１６】
さらに他の実施形態で、コンテンツ、すなわち本明細書に記述される方法によってコンピュータを動作させるプログラムとともに、コンピュータ可読媒体が提供される。
【００１７】
本発明の前述の態様と多くの付随する利点は、添付の図面と共に以下の詳細な説明を参照することでより理解されるので、より容易に真意が認知されるだろう。
【発明を実施するための最良の形態】
【００１８】
本発明により、複数のアンチマルウェアサービスおよび／またはイベント検出システムからナレッジベースをアグリゲートし、コンピュータをマルウェアから保護するための、システム、方法、およびコンピュータ可読媒体が提供される。本発明は、異なるアンチマルウェアサービスを用いてコンピュータをマルウェアから保護するという文脈で主に説明されるが、当業者およびその他の者は、本発明が説明された以外の他のソフトウェアシステムにも適用できることを理解するだろう。たとえば、本発明の態様は、現在利用可能な、またはやがて開発されるイベント検出システムの任意のものを用いるように、構成することができる。以下の説明では、まず、本発明を実施することのできるソフトウェアシステムの態様についての概略が与えられる。次に、本発明を実施する方法が説明される。本明細書に与えられる実例は、網羅的であることも、開示される厳密な形態に本発明を制限することも、意図するものではない。同様に、本明細書で説明されるどのステップも、同じ結果を得るために、他のステップまたはステップの組み合わせと交換することができる。
【００１９】
ここで図３を参照して、本発明の態様を実施することのできるコンピュータ３００のコンポーネントを説明する。コンピュータ３００は、これらに制限されないが、パーソナルコンピューティングデバイス、サーバベース（ｓｅｒｖｅｒ−ｂａｓｅｄ）コンピューティングデバイス、パーソナルデジタルアシスタント、携帯電話、なんらかの種類のメモリを有するその他の電子デバイスなどを含む多様なデバイスのいずれかとすることができる。図３は、図示を容易にするために、および本発明の理解のためには重要ではないために、ＣＰＵ、キーボード、マウス、プリンタ、またはその他のＩ／Ｏデバイス、ディスプレイ、その他といった多くのコンピュータの典型的コンポーネントを示していない。しかしながら、図３に示すコンピュータ３００は、アンチウィルスソフトウェア３０２、ファイヤーウォールアプリケーション３０４、動作ブロッカ３０６、アンチスパイウェアソフトウェア３０８、およびメトリクス（ｍｅｔｒｉｃｓ）システム３０９を備える。また、コンピュータ３００は、本発明の態様を、データコレクタコンポーネント３１２、データアナライザモジュール３１４、およびポリシーインプリメンタ３１６を備えるアグリゲーションルーチン３１０において実施する。
【００２０】
当業者およびその他の者は、コンピュータ上の様々なエントリーポイントまたはデータストリームにおいてすべての異なる種類のマルウェアから保護するために、ますます多くのアンチマルウェアセキュリティサービスが利用可能になっていることを認知するだろう。たとえば今日、マルウェアからコンピュータを保護するために一般的な１つの防衛は、アンチウィルスソフトウェア３０２である。一般的な説明では、伝統的なアンチウィルスソフトウェア３０２は、マルウェア特有の「特徴」について、ディスクのようなＩ／Ｏ（ｉｎｐｕｔ／ｏｕｔｐｕｔ）デバイスからアクセスされているデータを調べる。また、ますます多くのアンチウィルスソフトウェア３０２が、マルウェア特有の活動を測定するように設計された、試行錯誤によるマルウェア検出技術を実行している。
【００２１】
もう１つの、コンピュータマルウェアからの保護において今日一般的な防衛は、ファイヤーウォールアプリケーション３０４である。当業者は、ファイヤーウォール３０４が、内部ネットワークと外部ネットワークの間の情報フローを制御することで、外部ネットワークに由来する認可されていないアクセスから内部ネットワークを保護するアンチマルウェアシステムであることを認知するだろう。内部ネットワークの外に由来するすべての通信はファイヤーウォール３０４に送られ、ファイヤーウォール３０４は通信を検査して、通信を受け入れることが安全かまたは許可しうるかどうかを決定する。
【００２２】
今日利用できるもう１つのアンチマルウェアサービスは、動作ブロッカ３０６であり、これは、良性の活動の発生を許可するように設計されたポリシーを実施し、ポリシーに反する活動が予定されているときには仲裁に入る。典型的には、動作ブロッカ３０６は、潜在的にマルウェアに感染したコードを分析して、コードが受け入れられない動作を実行するかどうかを決定する「サンドボックス」を実施する。たとえば、受け入れられない動作は、ユーザのアドレス帳の中で見つけられたエンティティに配布される大量Eメールの生成という形を取ることができる。同様に、受け入れられない動作は、システムレジストリのような重要なデータベース内の多数のエントリに変更を加えることと定義することができる。いずれにしても、動作ブロッカ３０６は、プログラムを分析し、受け入れられない動作を回避するように設計されたポリシーを実施する。
【００２３】
異なる種類のマルウェアを同定し、コンピュータから「駆除」するために、他の種類のアンチマルウェアサービスがますます開発されている。たとえば、アンチスパイウェアソフトウェア３０８は、ユーザにより実行される動作を追跡するプログラムを同定するように設計されている。スパイウェアは、他の種類のマルウェアについて生じるような、コンピュータ３００への損傷は与えないかもしれないが、ユーザの中には行動を追跡され、未知のエンティティに報告されることを侵害であると受け止めるものもいる。この場合、ユーザはこの種類のマルウェアを同定し、コンピュータから駆除するアンチスパイウェアソフトウェア３０８をインストールすることができる。
【００２４】
当業者およびその他の者は、あるイベント検出システムが、コンピュータエントリポイント、データストリーム、および／またはコンピュータイベントおよび活動を監視することができることを認知するだろう。典型的には、イベント検出システムは、コンピュータ上で生じるイベントを同定するためのロジックを提供するだけでなく、データベース、イベントログ、および観測されたイベントに関するデータを取得するための他の種類のリソースを保持する。たとえば、図３に示すように、コンピュータ３００は、コンピュータ３００の様々な性能メトリクスを観測および記録するように設計されたメトリクスシステム３０９を保持する。この点に関して、メトリクスシステム３０９は、ＣＰＵ使用率、ページフォルト（ｐａｇｅ  ｆａｕｌｔ）の発生、プロセスの終了、および他のコンピュータ３００の性能特性を監視することができる。以下でさらに詳しく説明されるように、コンピュータ３００の性能特性および他の生じるイベントの、コンピュータ上のパターンは、マルウェアを示唆することがある。具体的なイベント検出システム（たとえばメトリクスシステム３０９）について示し、説明してきたが、当業者およびその他の者は、本発明の範囲から逸脱することなく、他の種類のイベント検出システムをコンピュータ３００に含めることができることを認知するだろう。
【００２５】
当業者およびその他の者は、図３を参照して上で説明されたアンチマルウェアシステム３０２、３０４、３０６、３０８、およびイベント検出システム３０９は、本発明の制限ではなく例示として解釈すべきであることを認知するだろう。たとえば、本発明は、本発明の範囲から逸脱することなく、ログまたはネットワークから利用することのできるその他の情報を再調査することによってコンピュータ３００への認可されていないアクセスの検出を試みる、いわゆる侵入検出（ｉｎｔｒｕｓｉｏｎ  ｄｅｔｅｃｔｉｏｎ）システムを用いて実施することができる。代わりに、本発明の態様は、示し、説明されたものとは異なるアンチマルウェアシステムおよび他のイベント検出システムを用いて実施することができる。たとえば、アンチスパイウェア３０８は点線で表され、コンピュータ３００が、アンチウィルスソフトウェア３０２、ファイヤーウォールアプリケーション３０４、動作ブロッカ３０６、およびメトリクスシステム３０９のみを備え、アンチスパイウェアソフトウェア３０８を備えないときに本発明を用いることができることを示唆している。したがって、本発明の他の実施形態において、アンチマルウェアサービスおよびイベント検出システムをコンピュータ３００に追加または取り去ることができる。
【００２６】
ますます洗練されるマルウェアを検出することにおけるアンチマルウェアサービスの精度は向上してきたが、存在するアンチマルウェアサービスは、特定の領域のマルウェアを検出することに制限されている。結果として、これらのスタンドアロンアンチマルウェアサービスは、固有の限界を有している。たとえば、ファイヤーウォールアプリケーション３０４は、マルウェアを、入ってくるおよび出ていくネットワーク活動を監視することにより検出し、データがネットワーク上を伝送されるその方法によって制限を受ける。当業者およびその他の者は、クライエントベース（ｃｌｉｅｎｔ−ｂａｓｅｄ）コンピュータは、典型的には、サーバベース（ｓｅｒｖｅｒ−ｂａｓｅｄ）コンピュータからデータを取得する際に１つまたは複数のファイルを要求することを認知するだろう。この場合、モダンネットワークのコンポーネントは、帯域幅の限られたネットワーク接続を介して伝送するために、ファイルをより小さな単位（「パケット」）に分割する。パケットは、ネットワーク上を伝送され、クライエントベースコンピュータに到着した時に、ファイヤーウォールアプリケーション３０４によって別個にマルウェアについてスキャンされる。したがって、ファイヤーウォールアプリケーション３０４は、パケットをマルウェアについてスキャンするときに完全なファイルを有していないことがあり、その結果としてすべての場合にはマルウェアを陽性に検出することができない可能性がある。
ファイヤーウォールアプリケーション３０４は、すべての場合にはマルウェアを陽性に検出することができないかもしれないが、ファイヤーウォールアプリケーション３０４を、マルウェアへの感染の強力な発見的指標となるデータを集める、または集めるように容易に構成することができる。たとえば、ファイヤーウォールアプリケーションは、典型的には、ネットワーク活動を監視し、これは、マルウェアの特性でありうる疑わしいデータについてパケット内容の「深い」監視をすることを含むことができる。ファイヤーウォールアプリケーション３０４が保持する統計から導くことのできる、マルウェアがコンピュータを感染させる試みをしているという強力な発見的指標は、ネットワーク活動の重大な増加が検出されたときに存在する。ネットワーク活動の増加それ自体は、必ずしもマルウェアを示唆するものではない。その代わりに、コンピュータが、増加した量のデータを伝送または受信しているかもしれないことには、正当な理由がある（たとえば、ユーザが、ネットワークを介して大きなマルチメディアファイルのダウンロードを始めた）。もしこの種類のイベントが、マルウェアへの感染を陽性に同定するためにファイヤーウォールアプリケーション３０４により用いられたなら、大量の、マルウェアが誤って同定される「誤った陽性」または場合が生じるだろう。
【００２７】
他のアンチマルウェアサービスおよびイベント検出システムも、コンピュータがマルウェアに感染している、またはマルウェアがコンピュータを感染させようと試みていることの発見的指標を観測する。たとえば、スパイウェアとして知られるある種類のマルウェアは、ユーザの行動を追跡するためには、常にコンピュータ上でアクティブ（ａｃｔｉｖｅ）である必要がある。コンピュータ起動時にアクティベイト（ａｃｔｉｖａｔｅ）されるために、スパイウェアは、ＳＣＭ（Ｓｅｒｖｉｃｅ  Ｃｏｎｔｒｏｌ  Ｍａｎａｇｅｒ）またはレジストリキーといった、オペレーティングシステムの１つまたは複数の「拡張ポイント（ｅｘｔｅｎｓｉｂｉｌｉｔｙ  ｐｏｉｎｔ）」に登録する。上述の例と同様に、オペレーティングシステムの拡張ポイントにプログラムを登録すること自体は、プログラムがマルウェアであることの陽性な指標ではない。しかしながら、拡張ポイントに登録することは、マルウェアを示唆するかもしれない「疑わしい」イベントである。本発明は、これらの種類の疑わしいイベントにより提供されるナレッジを収集および活用し、マルウェアからの事前の保護を提供する。
【００２８】
上述のように、コンピュータ３００は、データコレクタコンポーネント３１２、データアナライザモジュール３１４、およびポリシーインプリメンタ３１６を備えるアグリゲーションルーチン３１０を保持する。本発明の一実施形態を説明する一般的観点において、データコレクタコンポーネント３１２は、「疑わしい」イベントに関して、コンピュータ３００にインストールされたアンチマルウェアサービスおよびイベント検出システム（たとえば、アンチウィルスソフトウェア３０２、ファイヤーウォールアプリケーション３０４、動作ブロッカ３０６、アンチスパイウェアソフトウェア３０８、およびメトリクスシステム３０９）からデータを得る。図４を参照して以下に詳細に説明されるように、集められたデータは、疑わしいイベントが生じたことの、アンチマルウェアサービスまたはイベント検出システムからの単なる指標の場合がある。また、データコレクタコンポーネント３１２は、アンチマルウェアサービスまたはイベント検出システムからの、疑わしいイベントの属性を説明するメタデータを得ることができる。いずれの場合においても、データコレクタコンポーネント３１２は、コンピュータ３００にインストールされたアンチマルウェアサービスまたはイベント検出システムにとっての、疑わしいイベントに関するデータを報告し、および／また獲得するための、インターフェースとして機能する。
【００２９】
図３に示すように、アグリゲーションルーチン３１０は、データコレクタコンポーネント３１２に報告された、もしくはデータコレクタコンポーネント３１２により集められた疑わしいイベントが、前もって決められている閾値を満たすかを決定するデータアナライザモジュール３１４も備える。図４を参照して以下にさらに詳細に説明されるように、閾値が満たされるとき、エンティティ（たとえば、コンピュータ、ファイル、プロセス、その他）が、データアナライザモジュール３１４によりマルウェアとして「マーク」される。いくつかの場合において、データアナライザモジュール３１４は、閾値が満たされているかを判定するときに、与えられた時間フレームの疑わしいイベントの数が、通常よりも十分に大きい、または指定された量よりも大きいかどうかを判定する。また、図４を参照して以下により詳細に説明されるように、データアナライザモジュール３１４は、アンチマルウェアシステム３０２、３０４、３０６、３０８、およびメトリクスシステム３０９により生成されたメタデータを分析し、閾値が満たされるかを判定することができる。この場合、データアナライザモジュール３１４は、典型的には、アンチマルウェアサービスにより観測された疑わしいイベントがマルウェアの特性であるかを、より精密に判定するための改善された文脈を有する。
【００３０】
アグリゲーションルーチン３１０は、コンピュータ３００に関連するエンティティがマルウェアとして「マーク」されたときに、コンピュータ３００を保護するように設計されたポリシーを実行する、ポリシーインプリメンタ３１６も備える。すでに述べたように、データアナライザモジュール３１４は、データコレクタコンポーネント３１２に報告された疑わしいイベントが閾値を満たすかを判定する。閾値が満たされる場合、コンピュータ３００をマルウェアから保護する制限的ポリシーを実施することができる。一般的に説明すると、ポリシーインプリメンタ３１６は、コンピュータをマルウェアから事前に保護するために、コンピュータ３００のセキュリティレベルを上げる。デフォルトのポリシーは提供されるが、ユーザもしくはシステム管理者は、実施されるポリシーを選択することができる。たとえば、ユーザは、コンピュータ３００に送られる、またはコンピュータ３００に受信されるネットワーク伝送を、コンピュータ３００からマルウェアを取り除くのに必要なもの以外にまったく許可しない非常に制限的なポリシーを課すことができる。しかしながら、制限ではないが、特定の通信ポートおよびアドレス上のネットワークトラフィックをブロックすること、Ｅメールまたはウェブブラウザアプリケーションといった、あるネットワーク関連アプリケーションへの、および／またはからの通信をブロックすること、あるアプリケーションを終了すること、およびコンピュータ３００上の特定のハードウェアおよびソフトウェアコンポーネントへのアクセスをブロックすることを含む、他の保護的セキュリティ手段をポリシーにおいて定義し、ポリシーインプリメンタ３１６内で実施することができる。
【００３１】
本発明の一実施形態によると、ポリシーインプリメンタ３１６は、コンピュータ３００上にインストールされた、１つまたは複数のアンチマルウェアサービス３０２，３０４、３０６および３０８と通信し、マルウェアとして「マーク」されたエンティティが利用できるリソースを制限するように構成される。たとえば、動作ブロッカソフトウェア３０６は、マルウェアとして「マーク」されたプロセスが、オペレーティングシステムの拡張ポイントにアクセスすることを回避するように構成されことができる。ポリシーインプリメンタ３１６は、動作ブロッカソフトウェア３０６と通信し、アンチスパイウェアソフトウェア３０８に、当該プロセスがこの種類の活動を実行することをブロックさせることができる。
【００３２】
本発明は多くの異なる文脈において実施することができ、以下はその例である。存在するアンチマルウェアサービスは、マルウェアの陽性な指標であるイベント、およびマルウェアの特性であるかもしれない疑わしいイベントを同定することができる。疑わしいイベントに関連するエンティティがマルウェアとして「マーク」されるなら、過剰な数の誤った陽性、または誤ってマルウェアとして同定される場合、が生じるだろう。しかしながら、エンティティが、アンチマルウェアサービスまたはイベント検出システムによって疑わしいと同定されたイベントに関連するというナレッジは、コンピュータをマルウェアから事前に保護するときに有用である。本発明は、この種の存在しているインフラストラクチャにおいて実施し、異なるアンチマルウェアサービスおよびイベント検出システムからナレッジをアグリゲートすることができる。より具体的には、異種のアンチマルウェアサービス（たとえば、アンチウィルスソフトウェア３０２、ファイヤーウォールアプリケーション３０４、動作ブロッカ３０６、およびアンチスパイウェアソフトウェア３０８）およびイベント検出システム（たとえば、メトリクスシステム３０９）が、本発明の態様を実施するソフトウェアモジュール（たとえば、アグリゲーションルーチン３１０）に、疑わしいイベントを報告するように構成することができる。もし、アンチマルウェアサービスまたはイベント検出システムにより観測された疑わしいイベントの数または種類が閾値を満たせば、アグリゲーションルーチン３１０がイベントに関連するエンティティをマルウェアであると「マーク」する。
【００３３】
当業者およびその他の者は、図３が、本発明により実施される機能を実行することのできる１つのコンピュータ３００の、簡略化された例であることを認知するだろう。コンピュータ３００の実際の実施形態は、図３に示されていない、または図３に伴う本文に説明されていない、さらなるコンポーネントを有する。また、図３は、コンピュータ３００をマルウェアから事前に保護するための例示的コンピュータアーキテクチャを示すが、その他のコンポーネントアーキテクチャが可能である。
【００３４】
ここで図４を参照して、図３に示す、アンチマルウェアサービスまたはその他のイベント検出システムにより同定された疑わしいイベントがマルウェアの特性であるかを決定する、アグリゲーションルーチン３１０の例示的実施形態を説明する。
【００３５】
図４に示すように、アグリゲーションルーチン３１０は、ブロック４００から始まり、ここでは、ルーチン３１０は、アンチマルウェアサービスまたは他のイベント検出システムにより疑わしいイベントが観測されるまで何もしない。アンチマルウェアサービスを伴う本発明の一実施形態によると、サービス内のロジックが、マルウェア感染の陽性な指標およびマルウェアの特性かもしれない疑わしいイベントの両方を定義する。もし、マルウェア感染の陽性な指標が同定されると、アグリゲーションルーチン３１０により実施されるソフトウェアルーチンは実行されない。しかしながら、疑わしいイベントが同定されるとき、イベントは報告され、疑わしいイベントに関連するエンティティがマルウェアとして「マーク」されるべきかを決定するために分析がなされる。たとえば、当業者およびその他の者は、多くのマルウェアは、伝送中に検出されることを避けるために暗号化され、実行される前に復号されることを認知するだろう。図３を参照して提供された上記の例と同様に、たとえば、アンチマルウェアサービスが暗号化ファイルに遭遇するとき、このこと自体はファイルがマルウェアを含むことの陽性な指標ではない。しかしながら、暗号化ファイルに遭遇することは、本発明の態様に報告される疑わしいイベントである。
【００３６】
ブロック４０２において、ブロック４００で同定された疑わしいイベントがアグリゲーションルーチン３１０に報告される。本発明は、多くの異なる実施形態で実施することができ、以下はそのうちの例にすぎないことを良く理解されたい。一実施形態で、アグリゲーションルーチン３１０は、１つのソフトウェアプロバイダにより創作された、統合されたソフトウェアシステムにおいて実施される。たとえば、図３に示した、アンチウィルスソフトウェア３０２、ファイヤーウォールアプリケーション３０４、動作ブロッカ３０６、アンチスパイウェアソフトウェア３０８、およびメトリクスシステム３０９は、アグリゲーションルーチン３１０とともに統合することができる。この場合、アンチマルウェアサービス３０２、３０４、３０６、３０８、およびイベント検出システム３０９は、ブロック４０２において、当該技術分野で一般に知られている方法を用いて、疑わしいイベントの属性を記述するデータを直接渡すように構成することができる。本発明のもう１つの実施形態において、アグリゲーションルーチン３１０は、第三者プロバイダが疑わしいイベントを報告できるようにするＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）を保持する。この場合、第三者により創作されたアンチマルウェアサービスまたはその他のイベント検出システムは、アグリゲーションルーチン３１０に「プラグイン（ｐｌｕｇ−ｉｎ）」され、１つまたは複数のＡＰＩ呼び出しを発することで疑わしいイベントを報告することができる。さらにもう１つの実施形態によると、アグリゲーションルーチン３１０は、コンピュータ上の１つまたは複数のリソースから、疑わしいイベントを記述するデータを能動的に取得する。たとえば、図３を参照してすでに説明したように、イベント検出システム（たとえば、メトリクスシステム３０９）は、コンピュータ上で生じる異なるイベントを観測し、記録することができる。典型的には、イベント検出システムは、コンピュータ上で生じるイベントを同定するためのロジックを提供するだけでなく、他のソフトウェアモジュールが利用することのできる、データベース、イベントログ、および他のソフトウェアモジュールが利用することのできるさらなるの種類のリソースを保持する。この場合、アグリゲーションルーチン３１０は、イベント検出システムにより保持されるリソースから疑わしいイベントを記述するデータを獲得することができる。
【００３７】
図４にさらに説明するように、ブロック４０４で、アグリゲーションルーチン３１０は、アンチマルウェアサービスから受け取った、またはイベント検出システムのような他のソースから集めた、疑わしいイベントを記述するデータに関する分析を実行する。実行される分析は、アグリゲーションルーチン３１０へ報告される、またはアグリゲーションルーチン３１０により獲得される疑わしいイベントが、マルウェアがコンピュータを感染させようと試みている、またはコンピュータをすでに感染させたことを示唆する、前もって決められた閾値を満たすかを判定するように設計されている。たとえば、マルウェア著作者が、まだ知られていない脆弱性を利用した新たなマルウェアをリリースする。マルウェアは、（１）コンピュータにアクセスするのにめったに利用されないネットワークポートを用い、（２）ディスクのような、記録媒体に保存されるときに暗号化されたファイルに含まれ、（３）オペレーティングシステム拡張ポイントにアクセスを試み、および（４）ネットワークでアクセスできる他のコンピュータへの大量データの転送を引き起こし、ＣＰＵ使用率が対応して増加する。すでに述べたように、本発明の一実施形態において、アンチマルウェアサービスまたはその他のイベント検出システムから集められたデータは、疑わしいイベントが同定されたことの単なる指標の場合がある。この実施形態において、ファイヤーウォールアプリケーション３０４のようなアンチマルウェアサービスは、めったに利用されないネットワークポートがアクセスされるときに疑わしいイベントが生じたと報告するように構成されることができる。さらに、マルウェアは、ネットワークでアクセスできる他のコンピュータへの大量データの転送を引き起こすので、ファイヤーウォールアプリケーション３０４は、ネットワーク活動の増加も疑わしいイベントであると判定することができる。そして、アンチスパイウェアソフトウェア３０８のような、他のアンチマルウェアサービスが、オペレーティングシステムの拡張ポイントがアクセスされるときに疑わしいイベントの発生を報告することができる。単に疑わしいイベントについての三つの報告を受けることは、前もって決められた閾値を満たすことができない。しかしながら次に、メトリクスシステム３０９は、ＣＰＵ使用率が劇的に増加したことをイベントログに記録することができる。この場合、データコレクタコンポーネント３１２は、イベントログを監視し、疑わしいイベントがＣＰＵ使用率の増加の結果として生じたと判定するように構成されることができる。アグリゲーションルーチン３１０により適用される前もって決められた閾値は、この場合では、４つの疑わしいイベントがある時間フレーム内に生じたときに満たされることができる。しかしながら、当業者およびその他の者は、前もって決められた閾値を満たすのに、４つの疑わしいイベントが十分であるとする上記の例は、単に説明のために用いられた例であって、本発明の制限と解釈すべきでないことを認知するだろう。
【００３８】
本発明のもう１つの実施形態において、アグリゲーションルーチン３１０により集められたデータは、コンピュータに関連するエンティティがマルウェアかを判定することを助けるメタデータを備える。当業者およびその他の者は、いくつかの疑わしいイベントが、他の疑わしいイベントよりもマルウェアと関連している見込みがあることを認知するだろう。本発明の一実施形態において、コンピュータ上のアンチマルウェアサービスは、１つまたは複数の疑わしいイベントがマルウェアと関連している可能性を表す値を計算するように構成されている。上述の例では、ネットワーク活動の増加は、ファイヤーウォールアプリケーション３０４によって高い値が割り当てられ、これは、マルウェアが、コンピュータを感染させる、他のコンピュータを感染させる、他のコンピュータを攻撃する、または情報を漏らすことを試みている高い可能性が存在することを示唆する。逆に、暗号化されたファイルを記録媒体に保存することは、マルウェアと関連している見込みがより少なく、したがって低い値が割り当てられる。本発明の一実施形態によると、疑わしいイベントがマルウェアの特性である可能性を表すメタデータが、アグリゲーションルーチン３１０に報告される。この場合、前もって決められた閾値は、たとえば、１つまたは複数の疑わしいイベントが、マルウェア攻撃が生じている高い可能性を示唆するメタデータにより報告されているときに、満たされることができる。
【００３９】
アンチマルウェアサービスにより報告される疑わしいイベントは、異なるエンティティと関連することがあることを良く理解されたい。たとえば、ユーザは、暗号化されたファイルをネットワークからダウンロードすることができる。すでに述べたように、ファイルが暗号化されているため、アンチマルウェアサービスは、ファイルのダウンロードを、アグリゲーションルーチン３１０に疑わしいイベントとして報告することができる。また、アンチマルウェアサービスは、メタデータを、暗号化されたファイルがマルウェアに感染している可能性を表すファイルに関連させることができる。本発明の１つの実施形態において、ブロック４０４で、アグリゲーションルーチン３１０は、ファイルがマルウェアに感染していると分類するかを判定するために、前もって決められた閾値を用いる。しかしながら、他の実施形態においてアグリゲーションルーチン３１０は、他の種類のエンティティがマルウェアに感染しているかを判定するために、前もって決められた閾値を用いる。たとえば、アグリゲーションルーチン３１０は、コンピュータ全体、プロセス、または活動をマルウェアと関連するものとして「マーク」することができる。
【００４０】
さらにもう１つの本発明の実施形態において、アンチマルウェアサービスによりアグリゲーションルーチン３１０に報告されたメタデータは、エンティティの特性を表すために他のアンチマルウェアサービスにより用いられることができる。たとえば、上述の例では、ファイヤーウォールアプリケーション３０４は、アグリゲーションルーチン３１０にネットワークから暗号化されたファイルがダウンロードされたことを報告する。この場合、メタデータを、当該ファイルがファイヤーウォールアプリケーション３０４によって疑わしいと「マーク」された理由（たとえば、当該ファイルは暗号化されている）を指摘するファイルと関連させることができる。もし、当該ファイルが後にオペレーティングシステムの拡張ポイントへのアクセスの試みと関連付けられると、たとえば動作ブロッカ３０６は、クエリを発し、当該ファイルと関連するメタデータを獲得する。この場合において、動作ブロッカ３０６は、当該ファイルの特性をより精密に表すためにメタデータを用いることができる。たとえば、マルウェアの分析の経験から、暗号化されていることおよびオペレーティングシステムの拡張ポイントにアクセスすることの組み合わせは、非常に疑わしいイベントであると示唆することができる。したがって、動作ブロッカ３０６は、次に、当該ファイルはマルウェアに感染していると陽性に同定することができる。
【００４１】
判断ブロック４０６において、アグリゲーションルーチン３１０は、ブロック４０４で分析された疑わしいイベントが前もって決められた閾値を満たすかを判定する。前もって決められた閾値が満たされる場合、エンティティ（たとえば、コンピュータ、ファイル、プロセス、その他）は、マルウェアに関連しているとして「マーク」される。この場合、アグリゲーションルーチン３１０は、以下に説明されるブロック４０８に進む。逆に、前もって決められた閾値が満たされない場合、アグリゲーションルーチン３１０はブロック４００に戻り、ブロック４００から４０６までが、閾値が満たされるまで繰り返される。
【００４２】
図４に示すように、判断ブロック４０８で、アグリゲーションルーチン３１０は、登録されたアンチマルウェアサービスが、コンピュータからマルウェアを取り除くことができるかを判定する。すでに述べたように、アグリゲーションルーチン３１０は、アンチマルウェアサービスに、登録することおよび当該サービスがコンピュータから取り除くことのできるマルウェアの種類を同定するプロフィールを生成することを許可する。ブロック４１０に達したなら、マルウェアがコンピュータに感染しており、登録されたアンチマルウェアサービスが、コンピュータからマルウェアを取り除くことができる場合がある。この場合、アグリゲーションルーチン３１０により集められたメタデータは、マルウェアおよびコンピュータからマルウェアを取り除くことのできるアンチマルウェアサービスを同定するのに用いることができる。適切なアンチマルウェアサービスが同定された場合、アグリゲーションルーチン３１０は、ブロック４１０で、当該技術分野において一般に知られている方法を用いて、アンチマルウェアサービスにマルウェアを取り除かせることができる。次に、アグリゲーションルーチン３１０は、ブロック４１２に進む。逆に、もしマルウェアがコンピュータを感染させる試みをしているだけである、またはアンチマルウェアサービスがコンピュータからマルウェアを取り除くことができない場合、アグリゲーションルーチン３１０は、ブロック４１０を飛ばしてブロック４１２へ直接進む。
【００４３】
ブロック４１２において、アグリゲーションルーチン３１０は、マルウェアの拡散または感染を回避するように設計された制限的セキュリティポリシーを実施する。ブロック４１４に達した場合、マルウェアは同定され、コンピュータはマルウェアに依然として感染しているときもあるし、そうでないときもある。コンピュータが感染している場合、マルウェアの拡散を回避するように設計された一般的な制限的セキュリティポリシーが、典型的には実施される。たとえば、一般的セキュリティポリシーの実施は、典型的には、これらに制限されないが、コンピュータからのネットワーク伝送を制限すること、特定の通信ポートおよびアドレス上のネットワークトラフィックをブロックすること、Ｅメールまたはウェブブラウザアプリケーションといった、あるネットワーク関連アプリケーションへの、および／またはからの通信をブロックすること、あるアプリケーションを終了すること、およびコンピュータ３００上の特定のハードウェアおよびソフトウェアコンポーネントへのアクセスをブロックすることといった、リソースへの多数の制限を適用することを含む。他の場合において、アグリゲーションルーチン３１０は、マルウェアをコンピュータから取り除き、したがってもう感染していないことがある。この場合においては典型的に、制限度の低いセキュリティポリシーが実施され、それはコンピュータをマルウェアに再感染することを回避するように設計されている。次に、アグリゲーションルーチン３１０は、ルーチンの終了するブロック４１４へ進む。
【００４４】
ブロック４１４において実施される制限的セキュリティポリシーは、エンティティがマルウェアでないという判断がなされれば、容易に外すことができることを良く理解されたい。たとえば、システム管理者またはユーザは、マルウェアを含むとして同定されたファイルが実は良性であると判定する場合がある。この場合、制限的セキュリティポリシーは、将来起こる学習の結果として、ユーザにより、システム管理者により、または自動的に生成されたコマンドにより外すことができる。
【００４５】
本発明の好ましい実施形態について示し、説明してきたが、様々な変更を、本発明の範囲から逸脱することなく、加えることができることが理解されるだろう。
【図面の簡単な説明】
【００４６】
【図１】マルウェアが一般的に配布される、伝統的なネットワーク化された環境を図示する絵図である。
【図２】従来技術において、脆弱性窓がどのように生じることがあるかを明らかにする例示的タイムラインを示すブロック図である。
【図３】コンピュータにインストールされた、異なるアンチマルウェアサービスおよびその他のイベント収集システムからナレッジベースをアグリゲートし、本発明によってマルウェアからコンピュータを事前に保護することができる、コンピュータのコンポーネントを示すブロック図である。
【図４】コンピュータにおいて実施される、本発明によってマルウェアからコンピュータを保護する方法の一実施形態を示す流れ図である。
【符号の説明】
【００４７】
３００  コンピュータ
３０２  アンチウィルスソフトウェア
３０４  ファイヤーウォールアプリケーション
３０６  動作ブロッカ
３０８  アンチスパイウェアソフトウェア
３０９  メトリクスシステム
３１０  アグリゲーションルーチン
３１２  データコレクタコンポーネント
３１４  データアナライザモジュール
３１６  ポリシーインプリメンタ
【図１】
2006285983.tif 000003
【図２】
2006285983.tif 000004
【図３】
2006285983.tif 000005
【図４】
2006285983.tif 000006