(57)【特許請求の範囲】
【請求項１】
ローカルマルウェア定義をクライアントに提供するコンピュータ実装方法であって、
コンピュータプロセッサで、複数のクライアントからデータを受信するステップであって、前記受信されたデータは、前記クライアント上で作成されたファイルを示す、受信するステップと、
どのマルウェアが所定の前の期間内に前記クライアント上に検出されたかを判定するため、及び、前記複数のクライアントの間で現在拡散しているマルウェアを識別するために、前記コンピュータプロセッサによって、前記クライアント上で作成されたファイルを示す前記受信されたデータを解析するステップと、
前記コンピュータプロセッサによって、前記受信されたデータの前記解析に応答して、マルウェア定義の集合をローカルマルウェア定義の集合にセグメント化するステップであって、前記ローカルマルウェア定義の集合が、前記複数のクライアントの間で現在拡散しているとして識別されたマルウェアに関するマルウェア定義を含む、セグメント化するステップと、
前記コンピュータプロセッサによって、前記ローカルマルウェア定義の集合を前記複数のクライアントに提供するステップと、
を含む、方法。
【請求項２】
前記クライアント上で作成されたファイルを示すデータを受信するステップが、
前記マルウェア定義の集合を使用して、前記受信されたデータによって示されるクライアント上で作成されたファイルがマルウェアかどうかを判定するステップと、
前記クライアントからのクラウド定義ルックアップ要求への返信であって、前記作成されたファイルが前記マルウェア定義の集合を使用して判定されたようにマルウェアかどうかを示す返信を送信するステップと、
を更に含む、請求項１に記載の方法。
【請求項３】
前記作成されたファイルがマルウェアであると判定されることに応答して、対応するマルウェア定義を前記クライアントに提供するステップを更に含み、前記クライアントにより、前記マルウェア定義が使用されて、前記作成されたファイルからマルウェアが削除される、請求項２に記載の方法。
【請求項４】
前記クライアント上で作成されたファイルを示す前記受信されたデータを解析するステップが、
所定の期間内に前記複数のクライアントのうちの閾値数のクライアント上で検出されたマルウェアが、前記複数のクライアントの間で現在拡散していることを判定するステップ
を更に含む、請求項１に記載の方法。
【請求項５】
前記クライアント上で作成されたファイルを示す前記受信されたデータの前記解析に応答して、前記マルウェア定義の集合を前記ローカルマルウェア定義の集合にセグメント化するステップが、
クラウドマルウェア定義の集合を記憶するクラウド定義データベースを維持するステップと、
前記受信されたデータの前記解析に応答して、前記クラウドマルウェア定義の部分集合を識別するステップと、
前記複数のクライアントに、前記ローカルマルウェア定義の集合として前記識別された前記クラウドマルウェア定義の部分集合を提供するステップと、
を更に含む、請求項１に記載の方法。
【請求項６】
前記マルウェア定義の集合をセグメント化するステップが、
マルウェア定義に対応するマルウェアが前記複数のクライアントの間で現在拡散していないという判定に応答して、前記ローカルマルウェア定義の集合から当該マルウェア定義を削除するステップ
を更に含む、請求項５に記載の方法。
【請求項７】
ローカルマルウェア定義をクライアントに提供するための実行可能なコンピュータプログラム命令を記憶するコンピュータ可読記憶媒体であって、前記コンピュータプログラム命令が、
複数のクライアントからデータを受信するステップであって、前記受信されたデータは、前記クライアント上で作成されたファイルを示す、受信するステップと、
どのマルウェアが所定の前の期間内に前記クライアント上に検出されたかを判定するため、及び、前記複数のクライアントの間で現在拡散しているマルウェアを識別するために、前記クライアント上で作成されたファイルを示す前記受信されたデータを解析するステップと、
前記受信されたデータの前記解析に応答して、マルウェア定義の集合をローカルマルウェア定義の集合にセグメント化するステップであって、前記ローカルマルウェア定義の集合が、前記複数のクライアントの間で現在拡散しているとして識別されたマルウェアに関するマルウェア定義を含む、セグメント化するステップと、
前記ローカルマルウェア定義の集合を前記複数のクライアントに提供するステップと、
をコンピュータに実行させる命令を含む、コンピュータ可読記憶媒体。
【請求項８】
前記クライアント上で作成されたファイルを示すデータを受信するステップが、
前記マルウェア定義の集合を使用して、前記受信されたデータによって示されるクライアント上で作成されたファイルがマルウェアかどうかを判定するステップと、
前記クライアントからのクラウド定義ルックアップ要求への返信であって、前記作成されたファイルが前記マルウェア定義の集合を使用して判定されたようにマルウェアかどうかを示す返信を送信するステップと、
を更に含む、請求項７に記載のコンピュータ可読記憶媒体。
【請求項９】
前記コンピュータプログラム命令が、前記作成されたファイルがマルウェアであると判定されることに応答して、対応するマルウェア定義を前記クライアントに提供するステップを更に含み、前記クライアントにより、前記マルウェア定義が使用されて、前記作成されたファイルからマルウェアが削除される、請求項８に記載のコンピュータ可読記憶媒体。
【請求項１０】
前記クライアント上で作成されたファイルを示す前記受信されたデータを解析するステップが、
所定の期間内に前記複数のクライアントのうちの閾値数のクライアント上で検出されたマルウェアが、前記複数のクライアントの間で現在拡散していることを判定するステップ
を更に含む、請求項７に記載のコンピュータ可読記憶媒体。
【請求項１１】
前記クライアント上で作成されたファイルを示す前記受信されたデータの前記解析に応答して、前記マルウェア定義の集合を前記ローカルマルウェア定義の集合にセグメント化するステップが、
クラウドマルウェア定義の集合を記憶するクラウド定義データベースを維持するステップと、
前記受信されたデータの前記解析に応答して、前記クラウドマルウェア定義の部分集合を識別するステップと、
前記複数のクライアントに、前記ローカルマルウェア定義の集合として前記識別された前記クラウドマルウェア定義の部分集合を提供するステップと、
を更に含む、請求項７に記載のコンピュータ可読記憶媒体。
【請求項１２】
前記マルウェア定義の集合をセグメント化するステップが、
マルウェア定義に対応するマルウェアが前記複数のクライアントの間で現在拡散していないという判定に応答して、前記ローカルマルウェア定義の集合から当該マルウェア定義を削除するステップ
を更に含む、請求項１１に記載のコンピュータ可読記憶媒体。
【請求項１３】
ローカルマルウェア定義をクライアントに提供するためのシステムであって、
コンピュータプログラムコードを実行するためのプロセッサと、
実行可能なコンピュータプログラムコードを記憶するコンピュータ可読記憶媒体と、
を備え、前記実行可能なコンピュータプログラムコードが、
複数のクライアントからデータを受信するステップであって、前記受信されたデータは、前記クライアント上で作成されたファイルを示す、受信するステップと、
どのマルウェアが所定の前の期間内に前記クライアント上に検出されたかを判定するため、及び、前記複数のクライアントの間で現在拡散しているマルウェアを識別するために、前記クライアント上で作成されたファイルを示す前記受信されたデータを解析するステップと、
前記受信されたデータの前記解析に応答して、マルウェア定義の集合をローカルマルウェア定義の集合にセグメント化するステップであって、前記ローカルマルウェア定義の集合が、前記複数のクライアントの間で現在拡散しているとして識別されたマルウェアに関するマルウェア定義を含む、セグメント化するステップと、
前記ローカルマルウェア定義の集合を前記複数のクライアントに提供するステップと、
を前記プロセッサに実行させるコードを含む、システム。
【請求項１４】
前記クライアント上で作成されたファイルを示すデータを受信するステップが、
前記マルウェア定義の集合を使用して、前記受信されたデータによって示されるクライアント上で作成されたファイルがマルウェアかどうかを判定するステップと、
前記クライアントからのクラウド定義ルックアップ要求への返信であって、前記作成されたファイルが前記マルウェア定義の集合を使用して判定されたようにマルウェアかどうかを示す返信を送信するステップと、
を更に含む、請求項１３に記載のシステム。
【請求項１５】
前記クライアント上で作成されたファイルを示す前記受信されたデータを解析するステップが、
所定の期間内に前記複数のクライアントのうちの閾値数のクライアント上で検出されたマルウェアが、前記複数のクライアントの間で現在拡散していることを判定するステップ
を更に含む、請求項１３に記載のシステム。
【請求項１６】
前記クライアント上で作成されたファイルを示す前記受信されたデータの前記解析に応答して、前記マルウェア定義の集合を前記ローカルマルウェア定義の集合にセグメント化するステップが、
クラウドマルウェア定義の集合を記憶するクラウド定義データベースを維持するステップと、
前記受信されたデータの前記解析に応答して、前記クラウドマルウェア定義の部分集合を識別するステップと、
前記複数のクライアントに、前記ローカルマルウェア定義の集合として前記識別された前記クラウドマルウェア定義の部分集合を提供するステップと、
を更に含む、請求項１３に記載のシステム。
【請求項１７】
前記マルウェア定義の集合をセグメント化するステップが、
マルウェア定義に対応するマルウェアが前記複数のクライアントの間で現在拡散していないという判定に応答して、前記ローカルマルウェア定義の集合から当該マルウェア定義を削除するステップ
を更に含む、請求項１６に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、コンピュータセキュリティに関し、特に、悪意のあるソフトウェアを検出するために使用される定義パッケージのサイズを縮小することに関する。
【背景技術】
【０００２】
現代の電子機器のユーザは、多種多様の脅威に直面している。例えば、一見無害に見えるウェブサイトが、コンピュータウイルス、ワーム、トロイの木馬プログラム、スパイウェア、アドウェア、及びクライムウェア等の悪意のあるソフトウェア（マルウェア）を、ウェブサイトからダウンロードしたファイルに内密に隠匿する場合がある。マルウェアは、ログイン、パスワード、銀行口座識別子、及びクレジットカード番号等の重要情報を取り込んで保存できる。同様に、マルウェアは、攻撃者が感染している機器にアクセスしそれを制御することを可能にするか、又は感染している機器の誤動作を生じさせる、非表示のインターフェースを提供できる。
【０００３】
セキュリティソフトウェアは、マルウェアを検出し修復することによって電子機器を保護する。マルウェアを検出する１つの方法は、マルウェア定義の使用によるものである。マルウェア定義は、特定の種類の既知のマルウェアの特性を説明する。典型的に、マルウェア定義は、セキュリティソフトウェアのプロバイダによって生成され、電子機器に配置される。電子機器上のセキュリティソフトウェアは、配置されたマルウェア定義を使用してマルウェアに関して機器をスキャンする。
【０００４】
セキュリティソフトウェアプロバイダは、多くの異なるマルウェア脅威に対抗する保護を提供するために、多くのマルウェア定義を電子機器に配置しなければならない。多数の電子機器にマルウェア定義を配置することは、多量のコンピューティングリソースを消費する。例えば、マルウェア定義を配置することは、多量のネットワーク帯域幅を消費する。加えて、マルウェア定義は、電子機器上の多量のメモリを消費する。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記及び他のニーズは、クライアントのコンピュータセキュリティを維持しつつ、クライアント側に記憶された数多くのウイルス対策定義を効果的に縮小させるための方法、コンピュータ可読記憶媒体、及びシステムによって満たされる。
【課題を解決するための手段】
【０００６】
一態様は、悪意のあるソフトウェア（マルウェア）定義をクライアントに提供するためのコンピュータ実装方法を提供する。本方法は、複数のクライアントからテレメトリデータを受信し、このテレメトリデータが、クライアント上で作成されたファイルを説明する。本方法は、クライアントの間で現在拡散しているマルウェアを識別するために、テレメトリデータを解析する。テレメトリデータの解析に応答して、本方法は、クラウドデータベースのマルウェア定義の集合をローカルマルウェア定義の集合及びクラウドマルウェア定義の集合にセグメント化する。ローカルマルウェア定義の集合は、クライアントの間で現在拡散しているとして識別されるマルウェアに関するマルウェア定義を含む。本方法は、ローカルマルウェア定義の集合をクライアントに提供し、そこでクライアントは、ローカルマルウェア定義を記憶し、ローカルマルウェア定義の集合を使用して、クライアント側でマルウェアを検出するように適合される。
【０００７】
別の態様は、マルウェア定義をクライアントに提供するための実行可能なコンピュータプログラム命令を記憶する非一時的コンピュータ可読記憶媒体を提供する。コンピュータ可読記憶媒体は、複数のクライアントからテレメトリデータを受信し、クライアントの間で現在拡散しているマルウェアを識別するためにテレメトリデータを解析するためのコンピュータプログラム命令を記憶する。テレメトリデータは、クライアント上で作成されたファイルを説明する。テレメトリデータの解析に応答して、クラウドデータベースのマルウェア定義の集合は、ローカルマルウェア定義の集合及びクラウドマルウェア定義の集合にセグメント化される。ローカルマルウェア定義の集合は、クライアントの間で現在拡散しているとして識別されるマルウェアに関するマルウェア定義を含む。コンピュータ可読記憶媒体は、ローカルマルウェア定義の集合をクライアントに提供するためのコンピュータプログラム命令を更に記憶し、そこでクライアントは、ローカルマルウェア定義を記憶し、ローカルマルウェア定義の集合を使用して、クライアント側でマルウェアを検出するように適合される。
【０００８】
更に別の態様は、マルウェア定義をクライアントに提供するためのコンピュータシステムを提供する。システムは、複数のクライアントからテレメトリデータを受信するためのサーバ通信モジュールを含み、そこでテレメトリデータは、クライアント上で作成されたファイルを説明する。システムは、クライアントの間で現在拡散しているマルウェアを識別するためにテレメトリデータを解析するための解析モジュールも含む。テレメトリデータの解析に応答して、システムのセグメント化モジュールは、クラウドデータベースのマルウェア定義の集合をローカルマルウェア定義の集合及びクラウドマルウェア定義の集合にセグメント化するように構成される。ローカルマルウェア定義の集合は、クライアントの間で現在拡散しているとして識別されるマルウェアに関するマルウェア定義を含む。サーバ通信モジュールは、ローカルマルウェア定義の集合をクライアントに提供するように構成され、そこでクライアントは、ローカルマルウェア定義を記憶し、ローカルマルウェア定義の集合を使用して、クライアント側でマルウェアを検出するように適合される。
【０００９】
本発明の概要及び以下の詳細な説明に説明される特徴及び利点は、包括的なものではない。その図面、明細書、及び特許請求の範囲を考慮すると、多くの更なる特徴及び利点が当業者に明らかとなる。
【図面の簡単な説明】
【００１０】
【図１】一実施形態に従う、悪意のあるソフトウェア（マルウェア）定義パッケージのサイズを縮小するためのコンピュータ環境のハイレベルブロック図である。
【図２】一実施形態においてクライアント及び／又はクラウドサーバとして機能するためのコンピュータのハイレベルブロック図である。
【図３】一実施形態に従う、クライアントのセキュリティモジュールの詳細図を示すハイレベルブロック図である。
【図４】一実施形態に従う、クラウドサーバの定義縮小モジュールの詳細図を示すハイレベルブロック図である。
【図５】一実施形態に従う、クラウドサーバによって実施される工程を示すフロー図である。
【図６】一実施形態に従う、クライアントによって実施される工程を示すフロー図である。
【００１１】
図は、例示の目的のためのみに本発明の実施形態を描写する。当業者であれば、本明細書に記載の原理から逸脱することなく、本明細書に図示される構造及び方法の代替の実施形態を用いることができることを以下の説明から容易に理解するであろう。
【発明を実施するための形態】
【００１２】
図１は、一実施形態に従う、悪意のあるソフトウェア（マルウェア）定義パッケージのサイズを縮小するためのコンピュータ環境１００のハイレベルブロック図である。図１は、ネットワーク１２０によって接続される１つのクラウドサーバ１３０及び３つのクライアント１１０を示す。示される環境１００は、クラウドサーバ１３０がコンピュータセキュリティをクライアント１１０の集合に提供する典型的なコンピュータ環境を表す。説明を簡素化し明確化するために、図１には３つのクライアント１１０及び１つのクラウドサーバ１３０のみが示される。コンピュータ環境１００の実施形態は、ネットワーク１２０に接続される多くのクライアント１１０及びクラウドサーバ１３０を有し得る。複数のクラウドサーバ１３０は、クライアント１１０から来るテレメトリの包括的な表示を獲得するために、互いに通信し、クライアント１１０から受信されたデータ（例えば、テレメトリデータ報告）を関連付けてもよい。
【００１３】
クライアント１１０は、ソフトウェアアプリケーションを実行すること、ネットワーク１２０上のウェブサーバによってホストされるウェブサイトをブラウズすること、ファイルをダウンロードすること、並びにクラウドサーバ１３０及び／又はネットワーク上の他のエンティティと対話すること等の機能を実施するようにユーザによって使用される電子機器である。一実施形態では、クライアント１１０は、デスクトップ、ノート型、又はタブレットコンピュータ等のパーソナルコンピュータ（ＰＣ）である。他の実施形態では、クライアント１１０は、モバイル電話、個人用携帯情報端末、テレビセットトップボックス、又は他の電子機器である。
【００１４】
クライアント１１０は、マルウェア及び他の脅威からクライアントを保護するためにセキュリティモジュール１１２を実行する。実施形態に応じて、セキュリティモジュール１１２は、スタンドアローンアプリケーションであり得るか、又はクライアント１１０上で実行されるオペレーティングシステム若しくは他のソフトウェアに統合され得る。加えて、セキュリティモジュール１１２は、クライアントを含むネットワーク通信を監視するプロキシサーバ内のように、クライアント１１０から離れて位置し得る。
【００１５】
一実施形態では、セキュリティモジュール１１２は、クライアント１１０上に存在する任意のマルウェアを検出し修復する。この目的を達成するために、セキュリティモジュール１１２は、ローカルマルウェア定義の集合を維持する。ローカルマルウェア定義の集合は、クライアント１１０に又はそれに近接して記憶され、クラウドサーバ１３０から受信された新しい定義で更新される。例えば、ローカルマルウェア定義は、周期的に及び／又は非同期スケジュールでアップロードされてもよい。
【００１６】
セキュリティモジュール１１２は、クライアント１１０上で実行されるソフトウェアによって実施されるアクションも監視する。例えば、監視されるアクションとは、ファイルの実行、新規ファイルの作成、及びファイルのダウンロード等のファイルアクセスを含み得る。ファイルがアクセスされた場合、セキュリティモジュール１１２は、ローカルマルウェア定義の集合を用いてファイルを解析してファイルがマルウェアを含有するかどうかを判定する。ファイルが悪意のあるものであった場合、セキュリティモジュール１１２は、ファイルの実行を阻止しそれをクライアント１１０から削除する等によってファイルを修復する。
【００１７】
アクセスされたファイルがローカルマルウェア定義の集合の中に見出されなかった場合、実施形態のセキュリティモジュール１１２は、ファイルのためのクラウド定義ルックアップ要求をクラウドサーバ１３０に送信する。この要求は、ファイルが悪意のあるものかどうかを判定するためにクラウドサーバ１３０が使用することができる、ハッシュ等のファイルの説明を含む。セキュリティモジュール１１２は、クラウドサーバ１３０から要求への返信を受信し、返信がファイルが悪意のあるものであると示した場合ファイルを修復する。セキュリティモジュール１１２はまた、他の時に、クラウドサーバ１３０にクラウド定義ルックアップ要求を送信し得る。例えば、セキュリティモジュール１１２は、それが複数のクライアントファイルのためのクラウド定義ルックアップ要求をクラウドサーバ１３０に送信する間に、クライアント１１０上のファイルの周期的スキャンを実施し得る。
【００１８】
加えて、セキュリティモジュール１１２は、テレメトリデータ報告をクラウドサーバ１３０に送信する。テレメトリデータ報告は、セキュリティモジュール１１２によって観察及び／又は実施されるセキュリティ関連アクティビティを説明するテレメトリデータを含む。例えば、テレメトリ報告は、クライアント上で検出される新規に作成されたファイル等のファイルアクセスアクティビティを説明し得る。加えて、テレメトリ報告は、クライアント１１０上で検出されたマルウェアを説明し得る。
【００１９】
クラウドサーバ１３０は、ネットワーク１２０を介してクライアント１１０のセキュリティモジュール１１２と対話してクライアントにセキュリティを提供する。一実施形態では、クラウドサーバ１３０は、セキュリティモジュール１１２をクライアントに提供する同じセキュリティプロバイダによって動作される。クラウドサーバ１３０は、本明細書に説明される機能性を提供するためのモジュールを実行する１つ以上のコンピュータを含む。一実施形態では、クラウドサーバ１３０の機能は、クラウドコンピュータ環境によって提供される。本明細書で使用されるとき、「クラウドコンピューティング」は、動的にスケーラブルでしばしば仮想化されたリソースが、ネットワーク１２０上のサービスとして提供される、コンピューティングのスタイルを指す。本明細書のクラウドサーバ１３０に基づく異なる機能は、異なる物理的なサーバによって実施され得る。クライアント１１０に起因する機能は、クラウドコンピュータ環境によってもまた提供され得る。
【００２０】
クラウドサーバ１３０は、クラウド定義データベース１４０を含む。このデータベース１４０は、既知のマルウェアに関する定義を記憶する。一実施形態では、クラウド定義データベース１４０は、実質的に完全であり、セキュリティプロバイダに既知の全てのマルウェアに関する定義を記憶する。定義は、自動及び／又は手動技術を用いてセキュリティアナリストによって作成される。
【００２１】
クラウドサーバ１３０は、クライアント１１０のセキュリティモジュール１１２からクラウド定義ルックアップ要求を受信する。そのような要求を受信すると、クラウドサーバ１３０は、クラウド定義データベース１４０のマルウェア定義を使用して要求に説明されるファイルが悪意のあるものであるかどうかを判定する。クラウドサーバ１３０は、要求するセキュリティモジュール１１２に判定の結果を送信する。
【００２２】
更には、実施形態のクラウドサーバは、定義縮小モジュール１５０を含む。このモジュール１５０は、クラウド定義ルックアップ要求のテレメトリデータ及びクライアントセキュリティモジュール１１２から受信されたテレメトリデータ報告を使用して、クラウド定義データベース１４０に記憶されたマルウェア定義の部分集合を識別してクライアント１１０側にローカルに記憶する。よって、定義縮小モジュール１５０は、クラウドサーバ１３０のクラウド定義データベース１４０にのみ維持されるクラウド定義の集合及びクライアント１１０側にもまたローカルに記憶されるローカル定義の集合に、マルウェア定義をセグメント化する。定義縮小モジュール１５０は、クライアント１１０のセキュリティモジュール１１２に、ローカル集合におけるマルウェア定義を提供する。
【００２３】
一実施形態では、定義縮小モジュール１５０は、テレメトリデータ報告を使用して、クライアント集団の中で現在活動的に拡散しているマルウェアの種類を識別する。これらの種類のマルウェアに関するマルウェア定義は、クライアント１１０に送信されるローカル定義の集合にセグメント化される。定義のセグメント化は、新しいマルウェアが出現し古いマルウェアが消え失せるにつれて経時的に変化し得る。実施形態の定義縮小モジュール１５０は、古い定義が削除され新しい定義がローカル集合に追加されると、クライアント１１０にローカルマルウェア定義更新を送信する。
【００２４】
この方法で、クライアントセキュリティモジュール１１２は、ネットワーク１２０の接続が存在しないか又は不確実な場合であっても、ローカル定義を使用してクライアント１１０側で検出される可能性が最も高いマルウェアを迅速に検出しブロックできる。更には、ローカル定義集合のサイズは、クラウド定義集合よりもはるかに小さい傾向があり、したがって、セキュリティを提供するためにクライアント１１０によって送信及び維持される必要があるデータの量を縮小させる。
【００２５】
ネットワーク１２０は、クライアント１１０とクラウドサーバ１３０との間の通信を可能にし、インターネット並びにモバイル電話ネットワークを含むことができる。一実施形態では、ネットワーク１２０は、標準的な通信技術及び／又はプロトコルを使用する。よって、ネットワーク１２０は、イーサネット（登録商標）、８０２．１１、ワールドワイド・インターオペラビリティ・フォー・マイクロウェーブ・アクセス（ＷｉＭＡＸ）、３Ｇ、デジタル加入者線（ＤＳＬ）、非同期転送モード（ＡＴＭ）、ＩｎｆｉｎｉＢａｎｄ、ＰＣＩエキスプレス・アドバンスド・スイッチング等の技術を用いてリンクを含むことができる。同様に、ネットワーク１２０上で使用されるネットワーキングプロトコルは、マルチプロトコル・ラベル・スイッチング（ＭＰＬＳ）、伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）、ユーザ・データグラム・プロトコル（ＵＤＰ）、ハイパーテキスト転送プロトコル（ＨＴＴＰ）、簡易メール転送プロトコル（ＳＭＴＰ）、ファイル転送プロトコル（ＦＴＰ）等を含むことができる。ネットワーク１２０上で交換されるデータは、ハイパーテキストマークアップ言語（ＨＴＭＬ）、拡張マークアップ言語（ＸＭＬ）等を含む技術及び／又はフォーマットを用いて表され得る。加えて、リンクの全て又はリンクのうちのいくつかは、セキュアソケットレイヤ（ＳＳＬ）、トランスポート層セキュリティ（ＴＬＳ）、仮想プライベートネットワーク（ＶＰＮ）、インターネットプロトコルセキュリティ（ＩＰｓｅｃ）等の従来の暗号化技術を用いて暗号化され得る。別の実施形態では、エンティティは、上に説明されたものの代わりに又はそれらのものに加えて、カスタム及び／又は専用のデータ通信技術を使用できる。
【００２６】
図２は、一実施形態においてクライアント１１０及び／又はクラウドサーバ１３０として機能するためのコンピュータ２００のハイレベルブロック図である。チップセット２０４に結合される少なくとも１つのプロセッサ２０２を示す。チップセット２０４には、メモリ２０６、記憶装置２０８、キーボード２１０、グラフィックスアダプタ２１２、ポインティングデバイス２１４、及びネットワークアダプタ２１６も結合される。グラフィックスアダプタ２１２には、ディスプレイ２１８が結合される。一実施形態では、チップセット２０４の機能が、メモリコントローラハブ２２０及び入出力コントローラハブ２２２によって与えられる。別の実施形態では、メモリ２０６が、チップセット２０４の代わりにプロセッサ２０２に直接結合される。
【００２７】
記憶装置２０８は、ハードドライブ、コンパクトディスク読出し専用メモリ（ＣＤ−ＲＯＭ）、ＤＶＤ、固体メモリデバイス等、任意の非一時的コンピュータ可読記憶媒体である。メモリ２０６は、プロセッサ２０２が使用する命令及びデータを保持する。ポインティングデバイス２１４は、マウス、トラックボール、又は他の種類のポインティングデバイスとすることができ、コンピュータシステム２００内にデータを入力するためにキーボード２１０と一緒に使用する。グラフィックスアダプタ２１２は、ディスプレイ２１８上に画像及び他の情報を表示させる。ネットワークアダプタ２１６は、コンピュータシステム２００をネットワーク１２０に結合させる。
【００２８】
当技術分野で知られているように、コンピュータ２００は、図２に示すコンポーネントと異なるコンポーネント及び／又は他のコンポーネントを有することができる。加えて、コンピュータ２００は、図示の特定のコンポーネントを欠いてもよい。一実施形態では、クラウドサーバ１３０として機能するコンピュータ２００は、キーボード２１０、ポインティングデバイス２１４、グラフィックスアダプタ２１２、及び／又はディスプレイ２１８を欠く場合がある。更に、記憶装置２０８は、（ストレージエリアネットワーク（ＳＡＮ）の中に組み入れられる等）ローカルとし、かつ／又はコンピュータ２００から離れていてもよい。
【００２９】
当技術分野で知られているように、コンピュータ２００は、本明細書に記載の機能を提供するためのコンピュータプログラムモジュールを実行するように適合される。本明細書で使用されるとき、「モジュール」という用語は、指定の機能性を提供するために利用されるコンピュータプログラムロジックを指す。したがって、モジュールは、ハードウェア、ファームウェア、及び／又はソフトウェアによって実装することができる。一実施形態では、プログラムモジュールを記憶装置２０８上に記憶し、メモリ２０６内にロードし、プロセッサ２０２によって実行する。
【００３０】
図３は、一実施形態に従う、クライアント１１０のセキュリティモジュール１１２の詳細図を示すハイレベルブロック図である。図３に示されるように、セキュリティモジュール１１２は、通信モジュール３１０、監視モジュール３２０、ローカルルックアップモジュール３３０、クラウドルックアップモジュール３４０、及び修復モジュール３５０を含む。セキュリティモジュール１１２はまた、ローカルマルウェア定義の集合を記憶するローカル定義データベース３０２を含む。当業者であれば、他の実施形態のセキュリティモジュール１１２が、本明細書に説明されるものとは異なる及び／又はそのもの以外のモジュールを有してもよく、機能性が異なる方法でモジュールの中で分散されてもよいことを理解するであろう。
【００３１】
通信モジュール３１０は、クラウド定義ルックアップ要求をクラウドサーバに送信すること、及びクラウドサーバから要求への返信を受信することによってクラウドサーバ１３０と通信する。一実施形態では、通信モジュール３１０は、クラウドルックアップモジュール３３０及び／又はセキュリティモジュール１１２内の他のモジュールからの命令に応答して要求を送信する。同様に、通信モジュール３１０は、クラウドルックアップモジュール３４０及び／又はセキュリティモジュール１１２内の他のモジュールへの要求への返信を提供する。通信モジュール３１０はまた、監視モジュール３２０及び／又はセキュリティモジュール１１２内の他のモジュールからの命令に応答して、テレメトリデータ報告をクラウドサーバ１３０に送信する。更には、実施形態の通信モジュール３１０は、クラウドサーバ１３０からローカルマルウェア定義更新を受信し、ローカル定義データベース３０２を適宜更新する。
【００３２】
監視モジュール３２０は、クライアント上で実施されるアクティビティのセキュリティ関連態様を監視する。一実施形態では、監視モジュール３２０は、リアルタイムにファイルシステム事象を監視する。この監視は、作成されているファイルのようなファイルアクセスを検出する。監視モジュール３２０は、マルウェア検出のために解析され得るように、ファイルの実行を一時的に中断してもよい。例えば、監視モジュール３２０は、新規ファイルの作成を検出すると、それがマルウェアの存在に関して検査され得るように、ファイルが実行されるのを一時的に阻止してもよい。監視モジュール３２０は、実行プロセスの挙動も監視して任意の不審な挙動を識別し得る。プロセスが不審に機能した場合、監視モジュール３２０は、対応するファイルがマルウェアに関して検査され得るように、プロセスの実行を中断してもよい。監視モジュール３２０は、ファイルがマルウェアを包含しないとその後分かった場合、ファイルの実行を再開してもよい。
【００３３】
加えて、実施形態の監視モジュール３２０は、監視されたアクティビティを説明するテレメトリデータを回収する。上述のように、テレメトリデータは、クライアント１１０上で検出されたマルウェア及び新規に作成されたファイルを説明し得る。検出されたマルウェアについては、テレメトリデータは、指定の種類の検出されたマルウェア及び／又はマルウェア検出の誘因となったマルウェア定義への言及を含み得る。新規に作成されたファイルについては、テレメトリデータは、クライアント１１０の記憶装置内のファイルの場所、ファイルがダウンロードされたユニバーサルリソースロケータ（ＵＲＬ）、ファイル内のインストーラ又は他の構成要素の識別、ファイル内の実行可能な構成要素内のストリング、ファイルによってクライアント上にインストールされた構成要素、ファイルによって行われたシステム設定及び構成変更、ファイルのハッシュ又は他の識別子、及びファイルと関連付けられるバージョン番号及びアプリケーション言語設定等の新規ファイルと関連付けられる更なる詳細もまた含み得る。加えて、テレメトリデータは、ファイルがいつアクセスされマルウェアがいつ検索されたかを示すタイムスタンプ及び他のタイミング情報を含み得る。テレメトリデータは、クライアント１１０を独自に識別するクライアント識別子も含み得る。
【００３４】
監視モジュール３２０は、通信モジュール３１０がクラウドサーバ１３０に送信するテレメトリデータ報告のテレメトリデータを含む。監視モジュール３２０は、異なる実施形態において何度もテレメトリデータ報告を提出できる。例えば、監視モジュール３２０は、周期的に（例えば、１時間毎）、指定の事象が起こるたびにか（例えば、新規ファイル又はマルウェアを検出すると）、又は閾値に達すること（例えば、１００個の新規ファイルの作成が検出された後）に応答して、テレメトリデータ報告を提出できる。
【００３５】
ローカルルックアップモジュール３３０は、ローカル定義データベース３０２に記憶されたローカルマルウェア定義を使用して監視モジュール３２０によって検出されたファイルが悪意のあるものである（即ち、マルウェアを包含する）かどうかを判定する。一実施形態では、ローカルルックアップモジュール３３０は、マルウェアスキャナを使用してローカルマルウェア定義によって説明される任意のマルウェアに関して検出されたファイルをスキャンする。スキャンが、ファイルがマルウェアを包含すると示した場合、ローカルルックアップモジュール３３０は、検出がテレメトリデータ報告に含まれ得るように、マルウェア検出を監視モジュール３２０に通知する。加えて、実施形態のローカルルックアップモジュール３３０は、修復モジュール３５０と通信し、その後者のモジュールは、マルウェアを修復できる。
【００３６】
クラウドルックアップモジュール３４０は、クラウド定義ルックアップ要求をクラウドサーバ１３０に送信し、それに応答して返信を受信する。一実施形態では、クラウドルックアップモジュール３４０は、ローカルルックアップモジュール３３０によって悪意があると判定されない、監視モジュール３２０によって検出されたファイルを識別するクラウド定義ルックアップ要求をクラウドサーバ１３０に送信する。よって、監視モジュール３２０が新規ファイルを検出し、ローカルルックアップモジュール３３０がローカルマルウェア定義の集合を用いて新規ファイルをスキャンするがいずれのマルウェアも検出しなかった場合、次いで、クラウドルックアップモジュール３４０は、ファイルのためのクラウド定義ルックアップ要求をクラウドサーバ１３０に送信する。
【００３７】
クラウド定義ルックアップ要求は、様々な技術を用いてクラウドサーバ１３０に対してファイルを識別する。一実施形態では、クラウド定義ルックアップ要求は、ルックアップされているファイルのコピーを含む。別の実施形態では、クラウド定義ルックアップ要求は、ファイルのハッシュ、ファイルから抽出されるデータの一部等ファイルの簡潔な説明、及び／又はファイル内に包含されるデータの一部の説明を含む。クラウド定義ルックアップ要求はまた、ファイルに関するテレメトリデータ報告内に含まれる同じデータのうちのいくつか又は全部を含み得る。
【００３８】
クラウドサーバ１３０からの返信は、クラウドサーバ１３０によって維持されるクラウド定義を用いて判定されると、識別されたファイルがマルウェアを包含するかどうかを示す。返信が、ファイルがマルウェアを包含すると示した場合、クラウドルックアップモジュール３４０は、検出がテレメトリデータ報告に含まれ得るように、マルウェア検出を監視モジュール３２０に通知する。あるいは、クラウドサーバ１３０は、別個の報告が必要ないように、テレメトリデータ報告の一種としてクラウド定義ルックアップ要求を処理し得る。更には、ファイルがマルウェアを包含すると示すクラウドサーバ１３０からの返信は、検出されたマルウェアに関するマルウェア定義を含み得る。クラウドルックアップモジュール３４０は、ローカル定義データベース３０２にこの定義を記憶する。実施形態のローカルルックアップモジュール３３０はまた、修復モジュール３５０と通信し、したがってその後者のモジュールは、マルウェア定義を用いてマルウェアを修復できる。
【００３９】
クラウドサーバ１３０からの返信が、識別されたファイルがマルウェアを包含しないことを示した場合、クラウドルックアップモジュール３４０は、ファイルが悪意のあるものとして識別されなかったことを監視モジュール３２０に通知する。要求への返事が閾値時間量内にクラウドサーバ１３０から受信されなかった場合、クラウドルックアップモジュール３４０は、要求を直ちに再送信し得るか又は後で要求をスケジュールし得る。返事がなかった場合、クラウドルックアップモジュール３４０は、実施形態に応じて、要求内の識別されたファイルを悪意のあるもの又は悪意のないものとして処理し得る。
【００４０】
クラウドルックアップモジュール３４０はまた、監視モジュール３２０によって検出された任意のアクティビティから独立してクラウド定義ルックアップ要求を送信し得る。一実施形態では、クラウドルックアップモジュール３４０は、クライアント１１０上に記憶されるファイルのうちの全て、又は部分集合のためのクラウドルック要求を周期的に送信する。例えば、クラウドルックアップモジュール３４０は、クライアント１１０側に記憶されるファイルのためのクラウド定義ルックアップ要求を毎日、毎週、又は毎月提出できる。これらのクラウドルックアップ要求は、要求がクライアント１１０の通常動作を妨害しないように、バックグラウンドで管理され得る。これらの要求のうちの１つを通じてマルウェアが検出された場合、クラウドルックアップモジュール３４０は、修復モジュール３５０と通信してマルウェアを修復する。
【００４１】
修復モジュール３５０は、クライアント１１０上で検出されたマルウェアを修復する（例えば、削除する）。一実施形態では、修復モジュール３５０は、マルウェアがクライアント１１０上で検出されると、セキュリティモジュール１１２内の別のモジュールによって通知される。この通知は、マルウェアの種類も示す。修復モジュール３５０は、マルウェアに関するマルウェア定義又は別の場所に記憶された修復情報を使用してマルウェアを修復する。例えば、修復モジュール３５０は、ファイル内から悪意のあるコンテンツを削除、マルウェアを包含するファイルを消去、マルウェアを包含するファイルを検疫することによってそれが実行できないようにして、マルウェアによって影響されたクライアント１１０上のファイル及び構成設定を復元し得る、及び／又は他のアクションを実施し得る。修復モジュール３５０は、クライアント１１０のユーザに、マルウェア検出及びそれを修復する能力を知らせる警告も生成し得る。
【００４２】
図４は、一実施形態に従う、クラウドサーバ１３０の定義縮小モジュール１５０の詳細図を示すハイレベルブロック図である。図４に示されるように、定義縮小モジュール１５０は、サーバ通信モジュール４１０、応答モジュール４２０、解析モジュール４３０、及びセグメント化モジュール４４０を含む。当業者は、他の実施形態の定義縮小モジュール１５０が、本明細書に説明されるものとは異なる及び／又はそのもの以外のモジュールを有してもよく、機能性が異なる方法でモジュールの中で分散されてもよいことを理解する。
【００４３】
前に考察されたように、定義縮小モジュール１５０は、クラウド定義データベース１４０に記憶されるマルウェア定義を使用する。マルウェア定義は、既知のマルウェアの特性を説明する。一実施形態では、各マルウェア定義は、既知のマルウェアの指定の種類と関連付けられ、使用されて特定のファイルがその種類のマルウェアを含むかどうかを判定する、情報を含む。例えば、マルウェア定義は、特定のハッシュ機能をマルウェアを包含するファイルに適用することによって生成されるハッシュ値を含み得る。よって、ファイルは、ハッシュ機能をファイルに適用し、得られるハッシュ値がマルウェア定義の指定されるハッシュと一致するかどうかを判定することによってマルウェアに関して検査され得る。マルウェア定義はまた、マルウェア特有であるデータストリング（例えば、バイトストリング）及び／又は使用されて他のデータからマルウェアを区別できる他のデータを含み得る。
【００４４】
クラウド定義データベース１４０は、マルウェア定義と関連付けられる更なるデータを記憶し得る。例えば、クラウド定義データベース１４０は、クラウドサーバ１３０によって受信されるテレメトリデータ報告からのデータのうちのいくつか又は全てを記憶し得る。一実施形態では、クラウド定義データベース１４０は、テーブルフォーマットでマルウェア定義を記憶し、マルウェアの各種類のための行を有し、例えば、マルウェアを検出するためのハッシュ値又は他の情報、マルウェアがクライアント１１０上に最後に検出されたときを示すタイムスタンプ、マルウェアが検出されたクライアントの数、及びマルウェアに関する修復情報のための列を含む。
【００４５】
サーバ通信モジュール４１０は、クライアントからクラウド定義ルックアップ要求を受信すること、及びクライアント１１０への要求に応答して返信を送信することによって、クライアント１１０と通信する。サーバ通信モジュール４１０は、定義縮小モジュール１５０内の他のモジュールにルックアップ要求を送信する。同様に、サーバ通信モジュール４１０は、定義縮小モジュール１５０内の他のモジュールからルックアップ要求への返信を受信し、要求するクライアント１１０への返信を送信する。サーバ通信モジュール４１０は、クライアント１１０からテレメトリデータ報告も受信する。一実施形態では、サーバ通信モジュール４１０は、報告内の受信されたテレメトリデータ、及びクラウド定義ルックアップ要求内の受信されたテレメトリデータをクラウド定義データベース１４０に記憶する。サーバ通信モジュール４１０はまた、定義縮小モジュール１５０内の他のモジュールにテレメトリデータを送信し得る。加えて、サーバ通信モジュール４１０は、ローカルマルウェア定義更新をクライアント１１０に送信し得る。
【００４６】
応答モジュール４２０は、クラウド定義ルックアップ要求への返信を生成する。一実施形態では、応答モジュール４２０は、要求に言及されるファイルを識別することによってクラウド定義ルックアップ要求をプロセスし、識別されたファイルがクラウド定義データベース１４０の定義と一致するかどうかを判定する。よって、応答モジュール４２０は、クラウド定義ルックアップ要求の識別されたファイルの特性が、クラウド定義データベース１４０の定義によって説明される任意の既知のマルウェアの特性と一致するかどうかを判定する。一致が存在した場合、応答モジュール４２０は、返信を受信するクライアント１１０がマルウェアを修復できるように、ファイルをマルウェアとして識別し関連付けられるマルウェア定義を含む、クラウド定義ルックアップ要求への返信を生成する。応答モジュール４２０はまた、クラウド定義データベース１４０のテレメトリデータを更新してマルウェアがいつ検出されたかを示すタイムスタンプを含むことができる。一致が存在しなかった場合、応答モジュール４２０は、ファイルが任意の既知のマルウェアと一致しないことを示すクラウド定義ルックアップ要求への返信を生成する。
【００４７】
解析モジュール４３０は、現在無法に拡散している（即ち、クライアント１１０の中で拡散している）マルウェアの集合を識別するために、クラウド定義ルックアップ要求及びテレメトリデータ報告のクライアント１１０から受信されたテレメトリデータを解析する。クライアント１１０の中で現在拡散しているマルウェアは、マルウェアがそれが拡散するクライアント１１０に障害を与え得るため、最も脅威であることを表す。同時に、現在拡散しているマルウェアを検出することは、マルウェアの早期検出がその拡散を中止でき、いかなる障害も最小限に抑えられるため、最も優先度が高いことを表す。
【００４８】
活動的に拡散しているマルウェアを識別するために、解析モジュール４３０は、クライアント１１０から受信されたテレメトリデータを解析し得る。この目的を達成するために、一実施形態の解析モジュール４３０は、クラウド定義データベース１４０のテレメトリデータを毎日等周期的に調査する。解析モジュール４３０は、テレメトリデータを使用してどのマルウェアが所定の前の期間内にクライアント上に検出されたかを判定する。例えば、解析モジュール４３０は、テレメトリデータを使用してクライアント１１０上に先週、先月、過去６か月、昨年内にどんな種類のマルウェアが検出されたかを判定できる。解析モジュール４３０は、どのくらいの頻度で特定の種類のマルウェアが検出されたかも判定できる。解析モジュール４３０は、期間内に活動的に拡散するとクライアント１１０の閾値数よりも多く検出されるマルウェアを識別できる。
【００４９】
加えて、解析モジュール４３０は、他の様々な基準を使用して所与のマルウェアが活動的に拡散すると判断できるかどうかを判定できる。例えば、解析モジュール４３０は、マルウェアによって生じた障害の量に基づいてそのマルウェアが「活動的に拡散する」と判断される期間を調整できる。よって、比較的少ない障害を生じさせるマルウェアが、過去３か月以内に比較的多数のクライアント上で検出された場合、「活動的に」拡散すると判断され得る一方で、多大なる障害を生じさせるマルウェアは、過去１２か月以内にわずか少数のクライアント１１０上で検出された場合、「活動的に」拡散すると判断され得る。
【００５０】
加えて、解析モジュール４３０は、関連付けられるマルウェアが活動的に拡散しているかどうかを判定するとき、マルウェア定義のサイズ（即ち、定義によって使われる記憶スペースの量）を判断することができる。概して、マルウェア定義が大きければ大きいほど、マルウェアが活動的であると判断するために解析モジュール４３０による、より多くの及び／又はより最近の関連付けられるマルウェアの検出が必要とされる。所与のマルウェアに関するマルウェア定義が比較的小さかった場合、解析モジュール４３０は、比較的少数の検出が存在した及び／又は比較的長時間前に検出が行われた場合であっても、マルウェアが活動的に拡散していると判断し得る。小さい定義のこの処理は、クライアント側のマルウェア定義のローカル集合内に定義を含むコストが比較的少額であるため、可能である。
【００５１】
セグメント化モジュール４４０は、解析モジュール４３０によって実施された解析に基づいて、クラウド定義データベース１４０のマルウェア定義をローカルマルウェア定義の集合及びクラウドマルウェア定義の集合にセグメント化する。セグメント化モジュール４４０は、ローカルマルウェア定義更新としてクライアントに送信するために、ローカルマルウェア定義の集合をサーバ通信モジュール４１０に提供する。ローカルマルウェア定義はまた、クラウド定義データベース１４０に記憶される。クラウドマルウェア定義の集合は、クラウド定義データベース１４０のみに記憶される。
【００５２】
一実施形態では、セグメント化モジュール４４０は、クライアント１１０の中で現在活動的に拡散しているマルウェアに関するマルウェア定義をローカルマルウェア定義の集合にセグメント化する。この目的を達成するために、セグメント化モジュール４４０は、解析モジュール４３０から、活動的に拡散しているマルウェアの集合のマルウェアの識別を獲得する。セグメント化モジュール４４０は、クラウド定義データベース１４０から、活動的に拡散しているマルウェアに関するマルウェア定義を獲得し、これらのマルウェア定義をローカルマルウェア定義更新のクライアント１１０に提供する。
【００５３】
セグメント化モジュール４４０は、毎日、毎週、又は毎月等の周期的に、ローカルマルウェア定義の集合を更新し得る。セグメント化モジュール４４０はまた、新しいマルウェア定義がクラウド定義データベース１４０に追加されるとき等、他の時にローカルマルウェア定義の集合を更新し得る。そのような更新中、セグメント化モジュール４４０は、対応するマルウェアがこれ以上活動的に拡散しないと解析モジュール４３０によって判断された場合、ローカルマルウェア定義の集合からマルウェア定義を削除してもよい。同様に、セグメント化モジュール４４０は、対応するマルウェアが更新の時点で活動的に拡散していると判断された場合、ローカルマルウェア定義の集合にマルウェア定義を追加してもよい。
【００５４】
図５は、一実施形態に従う、クラウドサーバ１３０によって実施される工程を示すフロー図である。他の実施形態は、異なる順序で示された工程を実施する、及び／又は異なる又は更なる工程を実施する。更に、工程のうちのいくつかは、クラウドサーバ１３０以外のエンティティによって実施されてもよい。
【００５５】
クラウドサーバ１３０は、クライアント１１０からテレメトリデータを受信する５１０。テレメトリデータは、クラウド定義ルックアップ要求及びテレメトリデータ報告に受信されたデータを含む。テレメトリデータは、クライアント１１０側で作成された新規ファイル、及びクライアント側で検出されたマルウェア等のファイルアクセスを説明し得る。テレメトリデータは、新規ファイルが検出されたときのタイムスタンプ、クライアント１１０側のファイルが記憶されたところ、及びファイルがどこからダウンロードされたか等の他のセキュリティ関連情報もまた含み得る。クラウドサーバ１３０は、多くの異なるクライアント１１０からテレメトリデータを受信することができる。
【００５６】
クラウドサーバ１３０は、クライアント１１０の中で現在拡散しているマルウェアを識別するために、テレメトリデータを解析する５１２。この解析に基づいて、クラウドサーバ１３０は、クラウド定義データベース１４０のマルウェアをローカルマルウェア定義の集合及びクラウドマルウェア定義の集合にセグメント化する５１４。一実施形態では、クラウドサーバ１３０は、現在拡散しているマルウェアに関するマルウェア定義をローカルマルウェア定義の集合にセグメント化する。ローカルマルウェア定義の集合は、クラウドマルウェア定義の集合の部分集合である。セグメント化の一部として５１４、クラウドサーバ１３０は、これ以上活動的に拡散しないマルウェアに関する定義を、ローカルマルウェア定義の集合から削除してもよい。クラウドサーバ１３０は、ローカルマルウェア定義更新としてローカルマルウェア定義の集合をクライアント１１０を提供する５１６。加えて、クラウドサーバ１３０は、要求における識別されたファイルがマルウェアを包含するかどうかの指標と共にクラウド定義ルックアップ要求に返信する５１８。
【００５７】
図６は、一実施形態に従う、クライアント１１０によって実施される工程を示すフロー図である。他の実施形態は、異なる順序で示された工程を実施する、及び／又は異なる又は更なる工程を実施する。更に、工程のうちのいくつかは、クライアント１１０以外のエンティティによって実施されてもよい。
【００５８】
クライアント１１０は、クライアント側で実施されるファイルアクセス等のアクティビティのセキュリティ関連態様を監視する６１０。クライアント１１０は、監視されたアクティビティを説明するテレメトリデータ報告をクラウドサーバ１３０に送信する６１０。クライアント１１０が作成されたファイルを検出したか又は別途アクセスされた場合、クライアントは、ローカル定義データベース３０２に記憶されたローカルマルウェア定義を使用してファイルが悪意のあるものであるかどうかを判定する。ローカルマルウェア定義が、ファイルが悪意のあるものであると示さなかった場合、クライアント１１０は、クラウド定義ルックアップ要求をクラウドサーバ１３０に送信し６１４、クラウド定義データベース１４０の検査がファイルを悪意があるとして識別したかどうかを示す返信をクラウドサーバから受信する。ファイルが悪意のあるものであった場合、クライアント１１０は、マルウェアを修復する。加えて、クライアント１１０は、クラウドサーバ１３０からローカルマルウェア定義更新を受信する６１８。クライアント１１０はまた、他の時にクラウド定義ルックアップ要求を実施してもよい。
【００５９】
上記の説明は、好適な実施形態の動作を示すために含まれ、本発明の範囲を限定することを意味しない。本発明の範囲は、以下の特許請求の範囲によってのみ限定される。上記の考察から、多くの変形形態が、本発明の趣旨及び範囲によってなおも包含されるであろうことが、当業者にとっては明らかである。
【図１】
0006304833.tif 000002
【図２】
0006304833.tif 000003
【図３】
0006304833.tif 000004
【図４】
0006304833.tif 000005
【図５】
0006304833.tif 000006
【図６】
0006304833.tif 000007