(57)【特許請求の範囲】
【請求項１】
プロセッサを利用して、ネットワークに接続された第１のデバイス上で潜在的なマルウェアを検出することと、
前記プロセッサを利用して、前記検出された潜在的なマルウェアに対応する適切な駆除手順が前記第１のデバイス上に存在しないことを判断することと、
前記プロセッサを利用して、前記ネットワークを介して、前記第１のデバイスから第２のデバイスに、前記検出された潜在的なマルウェアを前記第１のデバイスが除去するための駆除応答の要求を送信することと、
前記プロセッサを利用して、前記ネットワークを介して、前記第１のデバイスにおいて前記第２のデバイスからの前記駆除応答を受信することと
を含む、方法。
【請求項２】
前記検出された潜在的なマルウェアに対応する適切な駆除手順が前記第１のデバイス上に存在しないことを判断することは、
既存の駆除手順が受け入れ不可能であることを判断すること
を含む、請求項１に記載の方法。
【請求項３】
プロセッサを利用して、ネットワークに接続された第１のデバイス上で潜在的なマルウェアを検出することと、
前記プロセッサを利用して、前記ネットワークを介して、前記第１のデバイスから第２のデバイスに、前記検出された潜在的なマルウェアを前記第１のデバイスが除去するための駆除応答の要求を送信することと、
前記プロセッサを利用して、前記ネットワークを介して、前記第１のデバイスにおいて前記第２のデバイスからの前記駆除応答を受信することと
を含み、
前記要求はドメイン名システムクエリである、方法。
【請求項４】
前記駆除応答は、
前記第１のデバイス上に記憶された駆除ルーチンを実行することの命令と、
前記第１のデバイスによって実行される駆除ルーチンと、
前記第１のデバイスによって実行される駆除ルーチンの第１の組及び前記第１のデバイス上に記憶された駆除ルーチンの第２の組を実行することの命令と
のうちの少なくとも１つを含む、請求項１〜３のいずれか１項に記載の方法。
【請求項５】
前記第２のデバイスからの前記駆除応答は、前記第１のデバイスが前記ネットワークに接続された第３のデバイスに前記駆除応答の要求を送信することの命令を含む、請求項１〜３のいずれか１項に記載の方法。
【請求項６】
前記第１のデバイスにおいて前記ネットワークを介して前記第３のデバイスから前記駆除応答を受信すること
を更に含む、請求項５に記載の方法。
【請求項７】
前記要求は、前記第１のデバイス上で検出された前記潜在的なマルウェアに関する情報を含む、
請求項１から６のいずれか一項に記載に記載の方法。
【請求項８】
プロセッサを利用して、ネットワークに接続された第１のデバイス上で潜在的なマルウェアを検出することと、
前記プロセッサを利用して、前記ネットワークを介して、前記第１のデバイスから第２のデバイスに、前記第１のデバイス上で検出された前記潜在的なマルウェアに関する情報を含む、前記第１のデバイス上で検出された前記潜在的なマルウェアを前記第１のデバイスが除去するための駆除応答の要求を送信することと、
前記プロセッサを利用して、前記ネットワークを介して、前記駆除応答を前記第１のデバイスにおいて前記第２のデバイスから受信することと
を含み、
前記第２のデバイスからの前記駆除応答は、前記第１のデバイス上に記憶された駆除ルーチンを実行することの命令、及び、前記第１のデバイスが前記ネットワークに接続された第３のデバイスに前記駆除応答の要求を送信することの命令の少なくとも一方を含む、方法。
【請求項９】
前記第１のデバイス上で検出された前記潜在的なマルウェアに関する前記情報は暗号化される、請求項７又は８に記載に記載の方法。
【請求項１０】
前記第１のデバイス上で検出された前記潜在的なマルウェアに関する前記情報は、前記潜在的なマルウェアを表すファイルのハッシュを含む、請求項７又は８に記載の方法。
【請求項１１】
前記第１のデバイス上で潜在的なマルウェアを検出することは、前記第１のデバイスのファイルのヒューリスティックベースの解析を実行することを含む、請求項１〜１０のいずれか１項に記載の方法。
【請求項１２】
前記要求は認証情報を含む、請求項１〜１１のいずれか１項に記載の方法。
【請求項１３】
サーバーであって、
クライアントで検出された潜在的なマルウェアに関する情報を含む要求をネットワークを介して前記クライアントから受信し、前記クライアントで検出された前記潜在的なマルウェアを除去するための駆除応答を決定し、前記駆除応答を前記ネットワークを介して前記クライアントに送信するように構成され、
前記要求はドメイン名システムクエリである、サーバー。
【請求項１４】
サーバーであって、
クライアントで検出された潜在的なマルウェアに関する情報を含む、前記クライアント上で検出された前記潜在的なマルウェアを前記クライアントが除去するための駆除応答の要求をネットワークを介して前記クライアントから受信し、前記駆除応答を決定し、前記駆除応答を前記ネットワークを介して前記クライアントに送信するように構成され、
前記サーバーからの前記駆除応答は、前記クライアント上に記憶された駆除ルーチンを実行することの命令、及び、前記クライアントが前記ネットワークに接続された別のサーバーに前記駆除応答の要求を送信することの命令の少なくとも一方を含む、サーバー。
【請求項１５】
前記サーバーは、前記検出された潜在的なマルウェアに対応する情報を求めて前記サーバーのデータストアを検索することにより、前記駆除応答を決定する、請求項１３又は１４に記載のサーバー。
【請求項１６】
前記駆除応答は暗号化される、請求項１３〜１５のいずれか一項に記載のサーバー。
【請求項１７】
請求項１３〜１６のいずれか一項に記載のサーバーと、
前記クライアントと
を備えるシステム。
【請求項１８】
クライアントであって、
潜在的なマルウェアを検出し、前記検出された潜在的なマルウェアに対応する適切な駆除手順が前記クライアント上に存在しないことを判断し、前記検出された潜在的なマルウェアに関する情報を含む要求をネットワークを介してサーバーに送信し、前記ネットワークを介して、前記検出された潜在的なマルウェアを除去するための駆除応答を前記サーバーから受信するように構成されたクライアント。
【請求項１９】
クライアントであって、
潜在的なマルウェアを検出し、前記検出された潜在的なマルウェアに関する情報を含む要求をネットワークを介してサーバーに送信し、前記ネットワークを介して、前記検出された潜在的なマルウェアを除去するための駆除応答を前記サーバーから受信するように構成され、
前記要求はドメイン名システムクエリである、クライアント。
【請求項２０】
クライアントであって、
潜在的なマルウェアを検出し、前記検出された潜在的なマルウェアに関する情報を含む、前記検出された潜在的なマルウェアを除去するための駆除応答の要求をネットワークを介してサーバーに送信し、前記ネットワークを介して前記駆除応答を前記サーバーから受信するように構成され、
前記サーバーからの前記駆除応答は、前記クライアント上に記憶された駆除ルーチンを実行することの命令、及び、前記クライアントが前記ネットワークに接続された別のサーバーに前記駆除応答の要求を送信することの命令の少なくとも一方を含む、クライアント。
【請求項２１】
請求項１８〜２０のいずれか一項に記載のクライアントと、
前記サーバーと
を備えるシステム。
【請求項２２】
マルウェア駆除を提供する方法であって、
プロセッサを利用して、第２のデバイスにおいて第１のデバイスからネットワークを介してマルウェア駆除要求を受信することと、
前記プロセッサを利用して、前記マルウェア駆除要求のマルウェア定義部分を特定することと、
前記プロセッサを利用して、前記特定されたマルウェア定義部分に対応する情報を求めて前記第２のデバイスのデータストアを検索することと、
前記プロセッサを利用して、前記第２のデバイスから前記ネットワークを介して前記第１のデバイスへ駆除応答を送信することと
を含み、前記駆除応答は前記情報から決定され、
前記要求はドメイン名システムクエリである、マルウェア駆除を提供する方法。
【請求項２３】
マルウェア駆除を提供する方法であって、
プロセッサを利用して、第２のデバイスにおいて第１のデバイスからネットワークを介してマルウェア駆除要求を受信することと、
前記プロセッサを利用して、前記マルウェア駆除要求のマルウェア定義部分を特定することと、
前記プロセッサを利用して、前記特定されたマルウェア定義部分に対応する情報を求めて前記第２のデバイスのデータストアを検索することと、
前記プロセッサを利用して、前記第２のデバイスから前記ネットワークを介して前記第１のデバイスへ駆除応答を送信することと
を含み、前記駆除応答は前記情報から決定され、
前記駆除応答は、前記第１のデバイス上に記憶された駆除ルーチンを実行することの命令、及び、前記第１のデバイスが前記ネットワークに接続された第３のデバイスに前記マルウェア駆除要求を送信することの命令の少なくとも一方を含む、マルウェア駆除を提供する方法。
【請求項２４】
前記マルウェア駆除要求のマルウェア定義部分を特定することは、前記マルウェア駆除要求をパースすることを含む、請求項２２又は２３に記載の方法。
【請求項２５】
コンピューターに、請求項１〜１２のいずれか１項に記載の方法を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、２０１１年９月７日に出願された米国特許出願第１３／２２７，４０７号の優先権を主張する。この米国特許出願は引用することによりその全体が本明細書の一部をなす。
【０００２】
本開示は、包括的にはコンピューターセキュリティの分野に関する。限定ではないが、より詳細には、本開示は、デバイスにおけるマルウェアの検出に時間的に近接してマルウェア及びその影響をデバイスから除去する駆除コードの提供に関する。
【背景技術】
【０００３】
マルウェアは、コンピューターシステムを感染させ、様々な影響度を有し得る悪意のあるソフトウェアを示すのに用いられる広義語である。例えば、マルウェアの影響は、不愉快で望ましくないアドウェア及びスパイウェアから、コンピューターシステムを事実上使い物にならなくし得るコンピューターウィルス、ワーム及びトロイの木馬までの範囲に及ぶ可能性がある。インターネット等のネットワークに接続された多大な数のデバイス、及びこれらのネットワークへの高速接続の拡張により、マルウェア脅威はシステム間で過度に急速に拡散する可能性がある。したがって、或るタイプのアンチウィルスアプリケーション（アンチウィルスという用語は多岐にわたるマルウェアについて述べたものである）をこれらのデバイス上で利用してデバイス上のマルウェアを検出し、必要な場合、所望の駆除機能を実行してマルウェアを除去し、マルウェアの影響を修復することが一般的である。
【０００４】
マルウェアの作成者は絶えず新たな独自の形式のマルウェアを取り込んでいるので、アンチウィルスアプリケーションは、最も近時に取り込まれたマルウェア脅威を検出し修復することが可能な技法を含むように定期的に更新しなくてはならない。したがって、アンチウィルスソフトウェアプロバイダーは、当該プロバイダーのアンチウィルスアプリケーションに対する更新として定義ファイルを日常的に配信する。これらの定義ファイルは通常、マルウェアの検出のためにシステムファイルを比較することができる、既知のマルウェアを表すシグネチャファイルと、検出された場合に既知のマルウェアを除去し、そのマルウェアの影響を修復する駆除コードとからなる。しかしながら、これらの更新を用いても、新たな定義ファイルが更新の一部として利用可能になる前に、マルウェア脅威が多数のコンピューターシステムに影響を及ぼす可能性がある。
【０００５】
したがって、アンチウィルスソフトウェアプロバイダーは、マルウェアを検出するクラウド技術を採用してきた。クラウド技術は、遠隔ロケーションからネットワーク接続を介してローカルデバイスへのサービス及びデータの提供を可能にする。例えば、アンチウィルスソフトウェアを用いるマルウェア検出の場合、デバイス上にインストールされる定義ファイルに基づいてマルウェアとして特定することができない疑わしいシステムファイルに関する情報をパッケージ化し、これを、クラウド技術を利用してインターネット接続を介してアンチウィルスソフトウェアプロバイダーに関連付けられたネットワークデバイスに送信し、更なる調査を行うことができる。ネットワークデバイスは、提供された情報を評価し、ファイルがマルウェアであること又はマルウェアでないことを示して応答することができる。したがって、マルウェアのシグネチャを含む更新された定義ファイルがソフトウェア更新の一部として提供されていない場合であっても、クラウド技術を用いてマルウェアを検出することが可能である。しかしながら、クラウド技術を用いたマルウェアの検出に対する応答では、マルウェアに対処する最も一般的な修復手段しか利用可能でない。例えば、特定の駆除コードが存在しない検出されたマルウェアに対処するデフォルトの修復手段は、単に疑わしいファイルを削除することである場合がある。そのような手段は、多くの場合に、脅威に完全に対処することに失敗し、したがって、アンチウィルスソフトウェアのユーザーは、検出されたマルウェアに対処する適正な駆除コードを含む次のソフトウェア更新を待機した状態のままにされる。
【０００６】
アンチウィルスアプリケーションは、ローカルデバイス上にインストールされたアンチウィルスアプリケーションを用いてマルウェアが検出される場合であっても、適切な駆除コードを有しない場合がある。  例えば、アンチウィルスアプリケーションは、ヒューリスティック検出技法を含む場合があり、この技法によれば、ソフトウェアは、システムファイルを既知のマルウェアのシグネチャと比較することによってではなく、システムファイルを評価して、マルウェアに類似する特性を検出することによってマルウェアを検出することができる。このタイプの検出を用いると、アンチウィルスソフトウェアは、特定のマルウェアを表すシグネチャを用いることなくマルウェアを検出することが可能である。この技法は、ファイルを特定の既知のマルウェアとして認識するのではなく、ファイルをマルウェアの一般的な特性と一致するものとして認識することによってマルウェアを検出するので、検出されたマルウェアに対処する定義ファイルの一部として特定の駆除コードが利用可能でない可能性がある。ここでもまた、ユーザーは、検出されたマルウェアに対処する適正な駆除コードを含む次のソフトウェア更新を待機した状態のままにされる場合がある。
【０００７】
このため、従来技術に関連付けられたこれらの問題及び他の問題に対処する必要がある。
【発明の概要】
【０００８】
第１の実施形態では、マルウェア駆除を提供する方法が、ネットワークに接続された第１のデバイス上で潜在的なマルウェアを検出することと、第１のデバイスから第２のデバイスへネットワークを介して、第２のデバイスが適切な駆除応答を決定することを可能にする情報を含む要求を送信することと、第１のデバイスにおいて、第２のデバイスからネットワークを介して、第１のデバイスが検出された潜在的なマルウェアを除去するのに使用可能な駆除応答を受信することとを含む。
【０００９】
第２の実施形態では、コンピュータープログラム製品が、第１の実施形態の方法を実行するコンピューター命令を含む。
【００１０】
第３の実施形態では、システムがクライアント及びサーバーを含む。クライアントは、ストレージデバイスと、ストレージデバイスに動作可能に結合されたプロセッサであって、該プロセッサは、ストレージデバイス内に記憶されたプログラムコードを実行して潜在的なマルウェアを検出し、該検出された潜在的なマルウェアに関する情報を含む要求をネットワークを介して送信するように構成される、プロセッサと、を備える。サーバーは、ストレージデバイスと、ストレージデバイスに動作可能に結合されたプロセッサであって、該プロセッサは、ストレージデバイス内に記憶されたプログラムコードを実行して、クライアントからの要求をネットワークを介して受信し、駆除応答を決定し、該駆除応答をネットワークを介してクライアントに送信するように構成され、駆除応答は、クライアントが検出された潜在的なマルウェアを除去するのに使用可能である、プロセッサと、を備える。
【００１１】
第４の実施形態では、マルウェア駆除を提供する方法が、第２のデバイスにおいて第１のデバイスからネットワークを介してマルウェア駆除要求を受信することと、マルウェア駆除要求のマルウェア定義部分を特定することと、特定されたマルウェア定義部分に一致するレコードを求めて第２のデバイスのデータストアを検索することと、第２のデバイスからネットワークを介して第１のデバイスへ駆除応答を送信することであって、該駆除応答はレコードから決定されることと、を含む。
【図面の簡単な説明】
【００１２】
【図１】１つの実施形態によるネットワークアーキテクチャを示すブロック図である。
【００１３】
【図２】１つの実施形態による代表的なハードウェア環境を示すブロック図である。
【００１４】
【図３】１つの実施形態による、クラウド技術を用いた動的マルウェア駆除を提供するプロセスを示すフローチャートである。
【００１５】
【図４】１つの実施形態による、クラウド技術を用いて動的マルウェア駆除を提供するネットワークアーキテクチャを示すブロック図である。
【００１６】
【図５】１つの実施形態による、クラウド技術を用いた動的マルウェア駆除の要求を受信し処理するプロセスを示すフローチャートである。
【発明を実施するための形態】
【００１７】
以下の記載において、説明上、本発明の完全な理解を提供するために、多数の特定の詳細が示される。しかしながら、本発明はこれらの特定の詳細なしで実行することができることが当業者には明らかであろう。他の例では、本発明を曖昧にすることを回避するために、構造及びデバイスはブロック図の形態で示される。下付き文字又は添字のない符号への言及は、その言及された符号に対応する下付き文字又は添字の全ての場合を指すように理解される。さらに、本開示において用いられる言語は、読みやすさ及び説明の目的で主に選択されており、本発明の主題を画定又は制限するように選択されていない場合があり、そのような本発明の主題を決定するには特許請求の範囲に頼る必要がある。明細書内における「１つの実施形態」、「一実施形態」への言及は、実施形態に関連して説明される特定の特徴、構造、又は特性が、本発明の少なくとも１つの実施形態に含まれることを意味し、「１つの実施形態」、「一実施形態」への複数の言及が、必ずしも全て同じ実施形態を指していると解釈されるべきでない。
【００１８】
図１は、１つの実施形態によるネットワークアーキテクチャ１００を示している。示されるように、複数のネットワーク１０２が提供される。本ネットワークアーキテクチャ１００との関連で、ネットワーク１０２はそれぞれ、限定ではないが、ローカルエリアネットワーク（ＬＡＮ）、無線ネットワーク、インターネット等の広域ネットワーク（ＷＡＮ）、ピアツーピアネットワーク等を含む任意の形態をとることができる。
【００１９】
ネットワーク１０２には、ネットワーク１０２を介して通信することが可能なサーバー１０４及びクライアント１０６が結合される。そのようなサーバー１０４及び／又はクライアント１０６はそれぞれ、デスクトップコンピューター、ラップトップコンピューター、ハンドヘルドコンピューター、移動電話、携帯情報端末（ＰＤＡ）、周辺機器（例えばプリンター等）、コンピューターの任意の構成要素、及び／又はネットワーク１０２を介して通信することが可能な任意の他のタイプのデバイスを含むことができる。オプションで少なくとも１つのゲートウェイ１０８がネットワーク１０２間に接続され、それによって、特定のネットワーク１０２に接続されるサーバー１０４及びクライアント１０６のそれぞれが、異なるネットワーク１０２に接続されたサーバー１０４及び／又はクライアント１０６と通信することを可能にすることができる。
【００２０】
図２は、１つの実施形態による、図１のサーバー１０４及び／又はクライアント１０６に関連付けることができる代表的なハードウェア環境を示している。そのような図は、マイクロプロセッサ等の中央処理ユニット２１０と、システムバス２１２を介して相互接続される複数の他のユニットとを有する、１つの実施形態によるワークステーションの通常のハードウェア構成を示している。
【００２１】
図２に示すワークステーションは、ランダムアクセスメモリ（ＲＡＭ）２１４と、読み出し専用メモリ（ＲＯＭ）２１６と、ディスクストレージユニット２２０等の周辺デバイスをバス２１２に接続するＩ／Ｏアダプター２１８と、キーボード２２４、マウス２２６、スピーカー２２８、マイク２３２、及び／又はタッチスクリーン（図示せず）等の他のユーザーインターフェースデバイスをバス２１２に接続するユーザーインターフェースアダプター２２２と、ワークステーションを、例えば図１のネットワーク１０２のうちの任意のもの等の通信ネットワークに接続する通信アダプター２３４と、バス２１２をディスプレイデバイス２３８に接続するディスプレイアダプター２３６とを備える。
【００２２】
ワークステーションは、そのワークステーション上に常駐する任意の所望のオペレーティングシステムを有することができる。一実施形態は、上述した以外のプラットフォーム及びオペレーティングシステム上で実施される場合もある。１つの実施形態は、オブジェクト指向プログラミング方法とともにＪＡＶＡ（登録商標）、Ｃ及び／又はＣ＋＋言語、又は他のプログラミング言語を用いて書くことができる。オブジェクト指向プログラミング（ＯＯＰ）は、複雑なアプリケーションを開発するのにますます用いられるようになっている。
【００２３】
本明細書において示される様々な実施形態は、ハードウェア、ソフトウェア、又はそれらの任意の所望の組合せを利用して実施することができる。本明細書に示される様々な機能を実施することが可能な任意のタイプのロジックを利用することができる。
【００２４】
図３を参照すると、例示的な実施形態において、クラウド技術を用いて動的マルウェア駆除を提供するプロセスが示される。明確にするために、マルウェア駆除の動作は、限定ではないが、任意のタイプの悪意のあるソフトウェアの影響を除去し、無効にし、隔離し（すなわち、システムの他のエリアへの有害な影響の拡散を阻止するようにシステムの単一のエリア内に孤立させ）、及び／又は修復しようとする動作を含む任意の動作を指す。示される実施形態では、動的マルウェア駆除を提供することは、デバイス上でマルウェアを検出するプロセスから始まる。デバイスは、例えば図１において上述したデバイスのうちの任意のもの等の、マルウェアによる影響を受ける可能性がある任意のデバイスであり得る。マルウェアはマルウェアを検出することが可能な任意の所望の技法を用いてデバイス上で検出することができる。デバイス上でマルウェアを検出するプロセスは、デバイスのファイルをデバイス上に記憶された既知のマルウェアシグネチャと比較することを含むことができる。代替的に、マルウェアを検出するプロセスは、デバイス上の疑わしいファイルに関する情報をパッケージ化してネットワークデバイスに送信し、そのファイルがマルウェアであるか否かに関して判断することを含むことができる。マルウェアは、ヒューリスティック検出技術、すなわち挙動に基づく検出技術を用いてデバイス上で検出することもできる。ステップ３０２においてマルウェアが検出されない場合、デバイス上でマルウェアを検出することを試みるプロセスが継続する。例えば、マルウェアの検索は、継続的に、又は以下で説明するようにデバイスにおける或る特定の発現に応答して実行することができる。
【００２５】
一方、ステップ３０２においてマルウェアが検出される場合、ステップ３０４において、デバイス上で、検出されたマルウェアに対する適切な駆除手順が利用可能であるか否かが判断される。１つの実施形態では、マルウェアを検出する役割を果たすアンチウィルスアプリケーションは、検出された特定のマルウェアに対し、アンチウィルスアプリケーションの一部として駆除コードが利用可能であるか否かを判断することができる。１つの実施形態では、検出された特定のマルウェアに対する駆除手順が利用可能でないか、期限切れであるか、又は十分な結果をもたらす可能性が低い場合、デバイスにおいて適切な駆除手順が利用可能でないことがある。デバイスにおいて適切な駆除手順が利用可能である場合、３０６において、ローカルで利用可能な駆除手順を利用して、検出されたマルウェアを除去し、マルウェアの影響を修復する。１つの実施形態では、ローカルで利用可能な駆除手順を用いて、検出されたマルウェアを除去し、マルウェアの影響を修復すること（３０６）は、デバイス上にインストールされたアンチウィルスアプリケーションの一部であるプログラムコードを実行することを含むことができる。ローカルで利用可能な駆除手順を用いてマルウェアを除去し、マルウェアの影響を修復することは、任意の所望の方法で実行することができる。
【００２６】
デバイスにおいて適切な駆除手段が利用可能でない場合、検出されたマルウェアに関する情報は、３０８において、デバイスのネットワーク接続を用いて通信ネットワークを介してサーバーに送信することができる。１つの実施形態では、サーバーはインターネット接続によりデバイスにアクセス可能とすることができる。しかしながら、サーバーは図１において上記で検討したような任意の所望のネットワーク接続によってデバイスにアクセス可能とすることができる。１つの実施形態では、サーバーは、デバイス上にインストールされたアンチウィルスアプリケーションのプロバイダーと連携するサーバーとすることができる。受信デバイスはサーバーとして説明されるが、受信デバイスは、デバイスから送信された情報を受信し、それに応じて情報を処理することが可能な任意のネットワークデバイスとすることができることが理解されよう。１つの実施形態では、デバイスからマルウェアの検出に関する情報を受信することが可能な複数のサーバーが存在することができる。適切なサーバーは、検出されるマルウェアのタイプ、デバイスのロケーション等に従って決定することができる。したがって、サーバーは、情報を受信し、デバイスに適切な応答を提供することが可能な任意のネットワークデバイスとすることができる。
【００２７】
１つの実施形態では、サーバーに送信される情報は、検出されたマルウェアとして特定されるファイルのハッシュを含むことができる。１つの実施形態では、サーバーに送信される情報は暗号化することができる。情報は、秘密鍵暗号化（すなわち対称暗号化）又は公開暗号化（すなわち非対称暗号化）を用いて暗号化することができる。一方、サーバーに送信される情報は、サーバーが検出されたマルウェアに関連付けられた適切な駆除応答を特定することを可能にすることができる任意の情報を含むことができる。例えば、１つの実施形態では、サーバーがこの情報を用いて、特定のタイプのマルウェアと対応する駆除応答とを相互参照するデータベース検索を実行することができる。
【００２８】
３１０において、サーバーは、検出されたマルウェアに関する情報の受信に応答して、適切な駆除応答を用いて応答することができる。以下で更に詳細に説明されるように、様々な実施形態において、サーバーによって提供される応答は、例えばデバイス上にインストールされたアンチウィルスアプリケーションの一部としてデバイス上に既に存在する駆除コードを参照することの命令、デバイスによって実行される駆除ルーチン、デバイス上の既存の駆除コードを参照することの命令とデバイスによって実行される駆除ルーチンとの組合せ、又は異なるネットワークデバイスから駆除応答を取得することの命令を含むことができる。一方、応答は、デバイスが検出されたマルウェアを除去し、マルウェアの影響を修復することを可能にすることができる任意のコンテンツを含むことができる。ステップ３１２において、デバイスは応答を利用して検出されたマルウェアを除去し、マルウェアの影響を修復することができる。
【００２９】
図４を参照すると、例示的な実施形態において、動的なマルウェア駆除を提供するネットワークアーキテクチャは、アンチウィルスアプリケーション４０８がインストールされたワークステーション４０２を備える。ワークステーション４０２はネットワーク接続４０３によってネットワーク４２６に接続される。ワークステーション４０２は、パーソナルコンピューターとして示されるが、図１において上記で検討したデバイスのうちの任意のもの等の、マルウェアによる影響を受ける可能性がある任意のデバイスとすることができる。１つの実施形態では、ワークステーション４０２は実際に仮想マシン（すなわち、マシンのソフトウェア実装）とすることができ、この仮想マシン上でアンチウィルスアプリケーション４０８が実行される。
【００３０】
１つの実施形態では、アンチウィルスアプリケーション４０８は、ワークステーション４０２によって、マルウェア脅威からワークステーション４０２を保護するように利用することができる。アンチウィルスアプリケーション４０８は、ワークステーション４０２の通常動作及び意図された動作を妨害するように作成された任意のタイプの悪意のあるソフトウェアに対処するように構成することができる。そのようなマルウェア脅威は、限定ではないが、コンピューターウィルス、ワーム、トロイの木馬、スパイウェア、アドウェア、スキャムソフトウェア（scam software）等を含むことができる。アンチウィルスアプリケーション４０８は例えば、ワークステーション４０２上に存在するマルウェアを検出し、この検出されたマルウェアを除去し、無効にし、隔離する等の必要な措置をとることができる。
【００３１】
１つの実施形態では、アンチウィルスアプリケーション４０８は、スキャントリガー４１０及び定義ファイル４１２を含むことができる。当業者であれば、ここでアンチウィルスアプリケーション４０８のコンテンツの説明が、アンチウィルスアプリケーション４０８のコンテンツの包括的な目録を提供するのに利用されるのではなく、或る特定の対象に言及して本開示の一実施形態を説明するのに利用されることが理解されよう。
【００３２】
スキャントリガー４１０は、アンチウィルスアプリケーション４０８にワークステーション４０２の特定のファイル、ファイルディレクトリ等の評価を開始させるコンピューターコードを含むことができる。スキャントリガー４１０は、ワークステーション４０２における様々なイベントの発現に基づいてアクティベートすることができる。例えば、１つの実施形態では、スキャントリガー４１０は、ファイルにアクセスを試みるユーザーに応答してファイルの評価を開始することができる。別の実施形態では、スキャントリガー４１０は、アンチウィルスアプリケーション４０８の定期的なスケジュールに従ってファイル又はファイルディレクトリの評価を開始することができる。例えば、スキャントリガー４１０は、定期的にスケジューリングされた間隔に基づいて特定のファイル又はファイルディレクトリの評価をトリガーすることができる。
【００３３】
定義ファイル４１２は、マルウェアシグネチャ４１４、駆除手順４１５、及び駆除コード４１６を含むことができる。マルウェアシグネチャ４１４は、既知のマルウェアのコードの代表的なパターン、又はマルウェアを特定するのに用いることができる他のデータを含むことができる。スキャントリガー４１０の開始時に、マルウェアシグネチャ４１４を用いて特定のファイルをスキャンして、ファイル内の何らかのコードが既知のマルウェアのマルウェアシグネチャ４１４のうちのいずれかにマッチするか否かを判断することができる。加えて、定義ファイル４１２は、検出されたマルウェアの除去及びマルウェアの任意の影響の修復を容易にする駆除コード４１６を更に含むことができる。１つの実施形態では、駆除コード４１６は、マルウェアを除去し、及び／又はマルウェアの影響を軽減するのに利用されるルーチンのライブラリを含むことができる。アンチウィルスアプリケーション４０８は、駆除手順４１５を利用して、駆除コード４１６の適切なルーチンを開始することができる。駆除手順４１５は、特定のマルウェアを、マルウェアに対処するために実行される駆除コード４１６の適切な駆除ルーチンに関係付けるレコードを含むことができる。例えば、特定のマルウェア脅威が特定されると、アンチウィルスアプリケーション４０８は駆除手順４１５を照会して、検出された特定のマルウェア脅威を根絶させる（combat）ことが特に知られた駆除コード４１６の或る特定のルーチンの実行を開始することができる。異なるマルウェア脅威が検出された場合、駆除手順４１５は駆除コード４１６の異なるルーチンの実行を要求することができる。１つの実施形態では、最近特定されたマルウェア脅威のマルウェアシグネチャ４１４、駆除手順４１５及び駆除コード４１６を含むように定義ファイル４１２を更新するために、ソフトウェア更新を、アンチウィルスアプリケーション４０８のプロバイダーに利用可能にすることができる。
【００３４】
アンチウィルスアプリケーション４０８は、特定の検出されたマルウェア脅威の駆除手順４１５が利用可能でないか、期限切れであるか、又は十分な結果をもたらす可能性が低いと判断する場合がある。例えば、１つの実施形態では、マルウェア検出は、クラウド技術を用いた検出の結果である場合がある。クラウド技術を用いると、マルウェアは、定義ファイル４１２のマルウェアシグネチャ４１４の一部としてではなく、サーバー等の遠隔のネットワークロケーションに記憶されているシグネチャを利用して検出することができる。１つの実施形態では、サーバーはサーバー４０４とすることができる。この検出方法を用いると、ローカルデバイス４０２は、疑わしいファイルに関する情報を、ネットワーク接続を介して遠隔ロケーションに提供して評価することができる。一方、クラウド技術を用いてマルウェアが検出されると、検出された特定のマルウェアについて定義ファイル４１２内にマルウェアシグネチャ４１４が存在しないので、この特定の検出されたマルウェアに関するレコードが、駆除手順４１５において、検出されたマルウェアを根絶させる駆除コード４１６を示すのに利用可能でない場合がある。
【００３５】
別の実施形態では、マルウェア検出は、特定のファイルのヒューリスティック解析に基づくことができる。ヒューリスティック解析は、特定のタイプのマルウェアではなく、マルウェアの一般的なパターンを検出するので、ヒューリスティック解析を利用して検出された特定のマルウェアのエントリは、駆除手順４１５において、検出されたマルウェアを根絶させる適切な駆除コード４１６を示すのに利用可能でない場合がある。
【００３６】
更に別の実施形態では、検出されたマルウェアは、特定のマルウェアの十分な特性を呈するものとして認識することができ、それによって、このマルウェアは定義ファイル４１２のマルウェアシグネチャ４１４を利用して認識することができる。しかしながら、検出されたマルウェアは、マルウェアシグネチャが基づく既知のマルウェアの特性を有するにも関わらず、既知のマルウェアにおいて観察されない独自の特性を有すると判断される場合がある。したがって、マルウェアシグネチャ４１４が基づく既知のマルウェアに関連付けられた駆除手順４１５が、検出されたマルウェアに適用されるときに十分な結果をもたらさない場合があると判断される場合がある。それゆえ、本明細書に開示されるクラウド技術技法を用いることによって、検出されたマルウェアに妥当でない駆除を提供する尤度を低減することができる。
【００３７】
また別の実施形態では、定義ファイル４１２は、駆除手順４１５が期限切れであることを示す場合がある。例えば、定義ファイル４１２を含むソフトウェア更新は、特定のマルウェア脅威のマルウェアシグネチャ４１４が含まれる当該特定のマルウェア脅威が、急速に進化しているので、クラウド技術を用いてより適した駆除が利用可能であるか否かを判断した後に初めて対応する駆除手順４１５が用いられるべきであると認識する場合がある。したがって、急速に進化するマルウェア脅威に対応する駆除手順４１５を利用する前に、アンチウィルスアプリケーション４０８がクラウド技術を用いて、駆除手順４１５が依然として適切であるか否かを判断することができる。当業者であれば、駆除手順４１５が利用不可能であるか、期限切れであるか、又は十分な結果を提供する可能性が低いと判断する更なる理由が存在し得ることを理解するであろう。
【００３８】
図４に示す実施形態によれば、アンチウィルスアプリケーション４０８は、駆除手順４１５が利用不可能であるか、期限切れであるか、又は十分な結果を提供する可能性が低いと判断すると、クラウド技術を用いてマルウェア駆除を要求することができる。示されるように、ワークステーション４０２は、ネットワーク４２６へのネットワーク接続により、アンチウィルスアプリケーション４０８のプロバイダーと提携するサーバー４０４に接続される。サーバー４０４は、ネットワーク接続４０５によってネットワーク４２６に接続される。サーバー４０４は、複数のワークステーション４０２からのネットワーク要求に応答し、以下に示す機能を実行することが可能な任意のデバイスとすることができる。１つの実施形態では、ネットワーク４２６はインターネットとすることができる。しかしながら、ネットワーク４２６は、図１において上記で説明されたネットワークのうちの任意のものとすることができる。示されるように、アンチウィルスアプリケーション４０８は、ワークステーション４０２に、ネットワーク４２６を用いてサーバー４０４からマルウェア駆除の要求４１８を発行するように促すことができる。１つの実施形態では、ワークステーション４０２は、マルウェア駆除のためのドメイン名システム（ＤＮＳ）クエリ又はハイパーテキスト転送プロトコル（ＨＴＴＰ）要求等の要求を発行することができる。別の実施形態ではワークステーション４０２は、ファイル転送プロトコル（ＦＴＰ）を利用してサーバー４０４にデータをアップロードすることができる。他のタイプの要求も所望に応じて用いることができる。１つの実施形態では、要求４１８は、マルウェアとして検出されたファイルのハッシュを含むことができる。１つの実施形態では、要求４１８は暗号化された情報を含むことができる。１つの実施形態では、要求４１８は、サーバー４０４が既知のアンチウィルスアプリケーション４０８から発信される正当な要求として要求４１８を認証することができるようなキー又は他のデータを含むことができる。別の実施形態では、要求４１８の受信によって、サーバーが、要求４１８を認証するためにワークステーション４０２のユーザーがパスワードを入力することの要求を発行することを促すことができる。マルウェア駆除４１８の要求は、適切なマルウェア駆除応答を提供することができるようにサーバー１０４に必要な情報を提供することが可能な任意の形態をとることができる。
【００３９】
サーバー４０４は、マルウェア駆除４１８の要求の受信に応答して、要求のコンテンツを評価して検出されたマルウェアを特定し、適切な応答を決定することができる。１つの実施形態では、サーバー４０４は、特定のマルウェア脅威を適切な応答と関連付けるデータストア４２８（例えばライブラリ、データベース、又は他のデータ記憶手段）に照会することができる。１つの実施形態では、サーバー４０４はワークステーション４０２によって提供された暗号化情報を復号し、復号された情報を用いて検出されたマルウェアを特定し、データストア４２８内の関連情報に基づいて適正な応答を決定することができる。１つの実施形態では、サーバー４０４は、要求４１８の一部として送信された疑わしいファイルのハッシュをデータストア４２８内のファイルハッシュのデータベースと比較して、適正な応答を決定することができる。サーバー４０４は、検出されたマルウェアを特定し、任意の所望の方法で適切な応答を決定することができる。
【００４０】
サーバー４０４が検出されたマルウェアを特定し、適切な応答を決定した後、サーバー４０４は応答４２０をワークステーション４０２に発行することができる。１つの実施形態では、応答はワークステーション４０２からのＤＮＳクエリ又はＨＴＴＰ要求への応答とすることができる。別の実施形態では、応答４２０は、ファイル転送プロトコル（例えばＦＴＰ、ＴＦＴＰ、ＦＴＰＳ等）を利用して、データをワークステーション４０２に転送することができる。１つの実施形態では、応答４２０は暗号化することができ、アンチウィルスアプリケーション４０８によって復号されなくてはならない。当業者であれば、応答４２０は、ネットワーク４２６を用いてサーバー４０４からワークステーション４０２に適切な情報を通信する任意の所望の方法で行うことができることを理解するであろう。
【００４１】
以下に説明されるように、駆除応答４２０は様々な形態をとることができる。或る特定の実施形態では、駆除応答４２０は駆除命令及び／又は駆除ルーチンを含むことができる。明確にするために、駆除命令は既存の駆除コード４１６の特定のルーチンを参照する。他方で、駆除ルーチンは、駆除コード４１６に含まれるのではなく応答４２０の一部として提供される実行可能なルーチンである。
【００４２】
１つの実施形態では、応答４２０は駆除命令を含むことができる。そのような駆除命令は、例えば、定義ファイル４１２の駆除コード４１６のルーチンを参照することができる。例えば、検出されたマルウェアに関して駆除手順４１５レコードが存在しないことに起因して、検出されたマルウェアに関連付けられた駆除手順４１５が利用不可能であるか、期限切れであるか、又は十分な結果を提供する可能性が低いと判断される場合がある一方で、検出されたマルウェアに対処するのに必要な駆除ルーチンが駆除コード４１６内に存在すると判断される場合がある。サーバー４０４は、要求４１８に応答して、検出されたマルウェアを特定し、必要な駆除コード４１６が既に定義ファイル４１２内で利用可能であると判断することができる。例えば、検出されたマルウェアへの適切な応答は、既存のルーチンの新たな組合せとすることができる。１つの実施形態では、ワークステーション４０２は、サーバー４０４が適切に応答することを可能にするために、定義ファイル４１２の現在のバージョンを要求４１８の一部として示すことができる。代替的に、サーバー４０４は、要求４１８を受信した後、応答４２０を発行する前に、ワークステーション４０２に定義ファイル４１２の現在のバージョンを要求することができる。したがって、応答４２０は、アンチウィルスアプリケーション４０８が、命令において示される駆除コード４１６の或る特定のルーチンを実行して、検出されたマルウェアを除去し、マルウェアの影響を修復することを促すことができる。
【００４３】
別の実施形態では、応答４２０は、アンチウィルスアプリケーション４０８によって実行される駆除ルーチンを含むことができる。この実施形態によれば、サーバー４０４は、要求４１８に応答して、検出されたマルウェアを特定し、必要な駆除ルーチンが駆除コード４１６において利用可能でないと判断することができる。したがって、応答４２０によって、必要な駆除ルーチンを、例えば、駆除コード４１６を参照することなくアンチウィルスアプリケーション４０８によって開始される実行可能ファイルとして提供することができる。１つの実施形態では、検出されたマルウェアの駆除ルーチンが駆除コード４１６の最も近時のバージョンにおいて利用可能であるが、要求４１８が、ワークステーション４０２の定義ファイル４１２が最新でなく、したがって適正な駆除ルーチンを含まないことを示す場合、応答４２０はアンチウィルスアプリケーション４０８によって開始される適切な駆除ルーチンを含むことができる。代替的に、応答４２０は、最も近時の定義ファイル４１２内の駆除ルーチンを参照する駆除命令を提供し、ワークステーション４０２が、命令によって参照される駆除ルーチンを実行できるように最も近時の定義ファイル４１２を取得することを促すことができる。
【００４４】
別の実施形態では、応答４２０は駆除ルーチンと、定義ファイル４１２の駆除コード４１６内の駆除ルーチンを参照することの命令とを含むことができる。この実施形態によれば、サーバー４０４は、要求４１８に応答して、検出されたマルウェアを特定し、必要な駆除ルーチンのうちのいくつかが駆除コード４１６において利用可能であるが、検出された特定のマルウェアに完全に対処するには追加の駆除ルーチンが必要であると判断することができる。したがって、応答４２０は、例えば駆除コード４１６の駆除ルーチンを参照することの命令に加えて実行可能なファイルとして、駆除ルーチンを提供することができる。
【００４５】
更に別の実施形態では、応答４２０は、上記で説明した応答のうちの任意のものをサーバー４０６に委任することができる。さらに言えば、応答４２０は任意の所望の応答をサーバー４０６に委任することができる。サーバー４０６はネットワーク接続４０７によってネットワーク４２６に接続される。応答４２０はワークステーション４０２がマルウェア駆除の要求４２２をサーバー４０６に発行することを促すことができる。１つの実施形態では、要求４２２はＤＮＳ要求とすることができる。所望に応じて他のタイプの要求を用いることができる。１つの実施形態では、応答４２０は、サーバー４０６への要求４２２の一部として提示されることになる、所望の特定のマルウェア駆除応答を特定する情報を提供することができる。このようにして、サーバー４０４は、マルウェア駆除の提供をサーバー４０６に委任しながら、診断機能（例えば、検出されたマルウェアを特定し、適切なマルウェア駆除を決定する）を提供することができる。したがって、診断及び提供タスクは、クラウド技術を用いてマルウェア駆除を最も効率的に提供するために、様々なネットワークデバイス間で分離することができる。要求４２２は所望の特定のマルウェア駆除応答を特定する情報を含むことができるので、サーバー４０６は単に、要求されたマルウェア駆除応答４２４を用いて返答することができる。１つの実施形態では、応答４２０は、要求４２２の一部としてサーバー４０６に提示されるキーを提供することができる。このようにして、サーバー４０６は要求４２２を正当な要求として認証することができる。他の認証技法も利用することができる。図４は１つのサーバー４０４及び１つのサーバー４０６のみを示しているが、複数のサーバー４０４及び４０６をネットワーク４２６に接続することができることに留意するべきである。１つの実施形態では、応答４２０は、ネットワーク４２６を介してワークステーション４０２への最も所望の接続を有すると予期される特定のサーバー４０６にワークステーション４０２を差し向けることができる。別の実施形態では、サーバー４０６のそれぞれを、１つ又は複数の特定の脅威に対するマルウェア駆除を提供するのに利用し、或るタイプのマルウェアの検出の場合に、応答４２０が特定のサーバー４０６にワークステーション４０２を差し向け、異なるタイプのマルウェアの検出の場合に、応答４２０が異なるサーバー４０６にワークステーション４０２を差し向けるようにすることができる。
【００４６】
当業者であれば、図４に示すネットワーク通信（すなわち、４１８、４２０、４２２及び４２４）、及び説明されたが特に図示されていないネットワーク通信のそれぞれが、限定ではないが、送信制御プロトコル（ＴＣＰ）、ユーザーデータグラムプロトコル（ＵＤＰ）及びストリーム制御送信プロトコル（ＳＣＴＰ）を含む複数のトランスポートプロトコルを利用することができることを理解するであろう。また、データ暗号化、メッセージ認証等のセキュアで信頼性の高い通信を確保する様々な措置をとることができることも理解されよう。
【００４７】
図５を参照すると、１つの実施形態では、クラウド技術を用いた動的マルウェア駆除の要求を受信し処理するプロセスは、５０２において、デバイス４０２からネットワーク４２６を介してサーバー４０４においてマルウェア駆除要求４１８を受信することから始まる。受信デバイスはサーバーとして説明されているが、受信デバイスは、以下で説明するようにマルウェア駆除要求を受信し、要求を処理することが可能な任意のネットワークデバイスとすることができることが理解されよう。１つの実施形態では、ネットワーク４２６はインターネットとすることができるが、ネットワーク４２６は、例えば図１において上記で検討したネットワークのうちの任意のもの等の、デバイス４０２とサーバー４０４との間の通信を容易にすることが可能な任意の通信ネットワークとすることができる。１つの実施形態では、要求４１８は、デバイス上にインストールされたアンチウィルスアプリケーションのプロバイダーと提携するサーバー４０４によって受信することができる。１つの実施形態では、要求４１８はＤＮＳ要求とすることができる。要求４１８は、デバイス上で検出される特定のタイプのマルウェアを特定することができる。しかしながら、要求４１８は、受信デバイス４０４が検出されたマルウェアに関連付けられた適切な駆除応答を特定することを可能にすることができる任意の情報を含むことができる。
【００４８】
ステップ５０４において、サーバー４０４は要求４１８のマルウェア定義部分を特定する。要求４１８のマルウェア定義部分は、デバイス４０２上で検出された特定のタイプのマルウェアを特定し、それによってサーバー４０４がこの検出されたマルウェアに関連付けられた適切な駆除応答４２０を特定することを可能にすることができる。１つの実施形態では、要求４１８のマルウェア定義部分を特定することは、デバイス４０２からの要求４１８を復号することを含むことができる。別の実施形態では、要求４１８のマルウェア定義部分を特定することは、要求をパースすることを含むことができる。例えば、要求４１８は、デバイス４０２上にインストールされたアンチウィルスアプリケーションと関連付けられたバージョン情報及びライセンス情報と、デバイス４０２の地理的ロケーション及び／又はネットワークロケーション等とを含むことができ、これらは要求４１８のマルウェア定義部分と分離することができる。
【００４９】
サーバー４０４は、要求４１８のマルウェア定義部分を突き止めると、５０６において、特定されたマルウェア定義に一致するレコードを検索することができる。１つの実施形態では、サーバー４０４は、既知のマルウェア脅威を対応する駆除応答と関連付けるデータストア４２８においてデータベースルックアップを実行し、要求４１８において特定された特定のマルウェア定義に一致するレコードを取り出すことができる。別の実施形態では、要求４１８のマルウェア定義部分が、マルウェアとして検出されたファイルのハッシュを含む場合、そのハッシュを用いて、既知のマルウェア及び対応するマルウェア駆除応答４２０を表すファイルハッシュのデータストア４２８を検索することができる。
【００５０】
５０８において、特定のマルウェア定義に一致するレコードが突き止められない場合、５１０において、特定のマルウェア定義に対応する新たなマルウェアレコードを作成することができる。１つの実施形態では、マルウェア定義は上記で説明したデータストア４２８に加えることができる。新たなマルウェアレコードは、マルウェア定義を含んでいた要求４１８に関する追加情報を組み込むことができる。例えば、マルウェアレコードは、デバイス４０２のシステム情報、デバイス４０２のロケーション等のような、サーバー４０４によって受信された要求４１８を開始したデバイスに関する情報を提供することができる。１つの実施形態では、新たなマルウェアレコードの作成によって、新たなマルウェア脅威が観察されたことのアラートを提供することができる。例えば、アラートは、アンチウィルスアプリケーションのプロバイダーに関連する１人又は複数人の人物に提供することができる。そのようなアラートは、新たに観察されたマルウェアに対する適切な駆除応答４２０を決定するプロセスを開始することができる。
【００５１】
５０８において、要求のマルウェア定義部分に一致するレコードが突き止められた場合、５１２において、突き止められたレコードに利用可能な駆除応答４２０が関連付けられているか否かが判断される。１つの実施形態では、突き止められたレコードが存在するデータストア４２８に関連付けられた駆除フィールドがヌルでない場合、駆除応答４２０が存在すると判断することができる。５１２において、駆除応答４２０が利用可能でないと判断される場合、例えば、要求４１８のマルウェア定義に一致するマルウェア定義が以前に記録されたが、適切な駆除応答４２０がまだ決定していない場合、又は５１０において新たなマルウェアレコードが作成された場合、５１４において要求をキューイングすることができる。この要求は、このマルウェアを根絶させる適切な駆除応答４２０が決定されるまで保持することができる。１つの実施形態では、サーバーは、駆除応答４２０が利用可能になったときに提供されることの表示をデバイスに送信することができる。サーバーは、キューイングされた要求に応答して、マルウェア定義に一致するレコードを監視し続けて、駆除応答４２０が利用可能であるか否かを判断することができる。１つの実施形態では、要求４１８に関連付けられたマルウェアについて駆除応答４２０が利用可能であるとき、マルウェア定義に一致するデータストア４２８のレコードを、そのレコードの駆除フィールド内に適切な駆除応答４２０を含めるように更新することができる。
【００５２】
５１２又は５１６のいずれかにおいて駆除応答４２０が利用可能であるとき、５１８において、要求４１８に対する駆除応答４２０がデバイスに送信される。上記で説明したように、応答４２０は、駆除応答４２０をデバイスに送達することが可能な任意の所望のネットワークプロトコルを利用することができる。駆除応答は、上記で説明した応答のうちの任意のものの形態をとることができる。さらに言えば、応答４２０は、ネットワークを介してマルウェア駆除を提供することが可能な任意の形態をとることができる。
【００５３】
上記の開示は、ローカルデバイス上にインストールされたアンチウィルスアプリケーションによって実行される様々な機能を含む或る特定の実施形態を参照したが、アンチウィルスアプリケーションのコア機能は、クラウド技術を利用して完全に仮想的に実施することができることに留意されたい。開示された技法を用いて、アンチウィルスアプリケーションは、マルウェア脅威の検出及び駆除の提供の双方についてクラウド技術を実施することができる。例えば、デバイス上にインストールされたアンチウィルスアプリケーションは、クラウド技術を用いて、デバイスがマルウェア検出及び駆除を要求することを促す限られた機能のみを実行することができる。そのようなシステムは望ましくは、デバイス上のアンチウィルスアプリケーションの機能を無効にしようとする攻撃の有効性を低減し、アンチウィルスアプリケーションによる処理利用量を低減することによってデバイス性能を改善し、アンチウィルスアプリケーションに関連付けられた頻繁なソフトウェア更新の提供に関連付けられたコストを低減するか又は取り除くことができる。
【００５４】
上記の説明は、制限的ではなく説明的であることが意図されることを理解されたい。例えば、上記で説明した実施形態は、互いに組み合せて用いることができる。多くの他の実施形態は、上記の説明を読んだ当業者には明らかとなろう。したがって、本発明の範囲は、添付の特許請求の範囲を、そのような特許請求の範囲が権利を与えられる全ての範囲の等価物とともに参照して画定されるべきである。
【００５５】
上記で説明したように、開示される実施形態は、マルウェア駆除を提供する例示的な方法を含み、本方法は、プロセッサを利用して、ネットワークに接続された第１のデバイス上で潜在的なマルウェアを検出することと；プロセッサを利用して、ネットワークを介して、第１のデバイスから第２のデバイスに要求（例えばドメイン名システムクエリ又は認証情報）を送信することであって、この要求は第２のデバイスが駆除応答を決定することを可能にする情報を含むことと；プロセッサを利用して、ネットワークを介して、第１のデバイスにおいて第２のデバイスからの駆除応答を受信することであって、この駆除応答は、第１のデバイスが検出された潜在的なマルウェアを除去するのに使用可能であることと、を含む。例示的な方法は、プロセッサを利用して、要求を第１のデバイスから第２のデバイスに送信する前に、検出された潜在的なマルウェアに対応する適切な駆除手順が第１のデバイス上に存在しないことを判断する動作を更に含むことができる。別の例では、検出された潜在的なマルウェアに対応する適切な駆除手順が第１のデバイス上に存在しないことを判断する動作は、既存の駆除手順が受け入れ不可能であることを判断することを含むことができる。代替的に、駆除応答は、第１のデバイス上に記憶された駆除ルーチンを実行することの命令を含むことができるか、又は駆除応答は、第１のデバイスによって実行される駆除ルーチンを含むことができる。１つの例では、駆除応答は、第１のデバイスによって実行される駆除ルーチンの第１の組と、第１のデバイス上に記憶された駆除ルーチンの第２の組を実行することの命令とを含む。また、第１のデバイス上で潜在的なマルウェアを検出する動作は、第１のデバイスのファイルのヒューリスティックベースの解析を実行することを含む。１つの例では、駆除応答は、第１のデバイスがネットワークに接続された第３のデバイスに更なる駆除応答の提供を要求することの命令を含む。オプションで、第１のデバイスにおいてネットワークを介して第３のデバイスから更なる駆除応答を受信し、この更なる駆除応答は第１のデバイスが検出されたマルウェアを除去するのに使用可能である。
【図１】
0005897132.tif 000002
【図２】
0005897132.tif 000003
【図３】
0005897132.tif 000004
【図４】
0005897132.tif 000005
【図５】
0005897132.tif 000006