特許第6304833号(P6304833)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ シマンテック コーポレーションの特許一覧

特許6304833マルウェア定義パッケージサイズを縮小するためのテレメトリの使用
<>
  • 特許6304833-マルウェア定義パッケージサイズを縮小するためのテレメトリの使用 図000002
  • 特許6304833-マルウェア定義パッケージサイズを縮小するためのテレメトリの使用 図000003
  • 特許6304833-マルウェア定義パッケージサイズを縮小するためのテレメトリの使用 図000004
  • 特許6304833-マルウェア定義パッケージサイズを縮小するためのテレメトリの使用 図000005
  • 特許6304833-マルウェア定義パッケージサイズを縮小するためのテレメトリの使用 図000006
  • 特許6304833-マルウェア定義パッケージサイズを縮小するためのテレメトリの使用 図000007
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6304833
(24)【登録日】2018年3月16日
(45)【発行日】2018年4月4日
(54)【発明の名称】マルウェア定義パッケージサイズを縮小するためのテレメトリの使用
(51)【国際特許分類】
   G06F 21/56 20130101AFI20180326BHJP
【FI】
   G06F21/56 340
【請求項の数】17
【全頁数】18
(21)【出願番号】特願2015-542786(P2015-542786)
(86)(22)【出願日】2013年11月14日
(65)【公表番号】特表2015-535115(P2015-535115A)
(43)【公表日】2015年12月7日
(86)【国際出願番号】US2013070137
(87)【国際公開番号】WO2014081613
(87)【国際公開日】20140530
【審査請求日】2016年11月14日
(31)【優先権主張番号】13/682,288
(32)【優先日】2012年11月20日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】501113353
【氏名又は名称】シマンテック コーポレーション
【氏名又は名称原語表記】Symantec Corporation
(74)【代理人】
【識別番号】100107456
【弁理士】
【氏名又は名称】池田 成人
(74)【代理人】
【識別番号】100162352
【弁理士】
【氏名又は名称】酒巻 順一郎
(74)【代理人】
【識別番号】100123995
【弁理士】
【氏名又は名称】野田 雅一
(74)【代理人】
【識別番号】100148596
【弁理士】
【氏名又は名称】山口 和弘
(74)【代理人】
【識別番号】100134119
【弁理士】
【氏名又は名称】奥町 哲行
(72)【発明者】
【氏名】ペレイラ・シェーン
(72)【発明者】
【氏名】ナッケンバーグ・ケアリー
【審査官】 金木 陽一
(56)【参考文献】
【文献】 特開2011−186823(JP,A)
【文献】 特表2001−515625(JP,A)
【文献】 特表2011−523482(JP,A)
【文献】 欧州特許出願公開第2506179(EP,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/56
(57)【特許請求の範囲】
【請求項1】
ローカルマルウェア定義をクライアントに提供するコンピュータ実装方法であって、
コンピュータプロセッサで、複数のクライアントからデータを受信するステップであって、前記受信されたデータ、前記クライアント上で作成されたファイルを示す、受信するステップと、
どのマルウェアが所定の前の期間内に前記クライアント上に検出されたかを判定するため、及び、前記複数のクライアントの間で現在拡散しているマルウェアを識別するために、前記コンピュータプロセッサによって、前記クライアント上で作成されたファイルを示す前記受信されたデータを解析するステップと
前記コンピュータプロセッサによって、前記受信されたデータの前記解析に応答して、マルウェア定義の集合をローカルマルウェア定義の集合にセグメント化するステップであって、前記ローカルマルウェア定義の集合が、前記複数のクライアントの間で現在拡散しているとして識別されたマルウェアに関するマルウェア定義を含む、セグメント化するステップと、
前記コンピュータプロセッサによって、前記ローカルマルウェア定義の集合を前記複数のクライアントに提供するステップと
を含む、方法。
【請求項2】
前記クライアント上で作成されたファイルを示すデータを受信するステップが、
前記マルウェア定義の集合を使用して、前記受信されたデータによって示されるクライアント上で作成されたファイルがマルウェアかどうかを判定するステップと、
記クライアントからのクラウド定義ルックアップ要求への返信であって、前記作成されたファイルが前記マルウェア定義の集合を使用して判定されたようにマルウェアかどうかを示す返信を送信するステップと、
更に含む、請求項1に記載の方法。
【請求項3】
前記作成されたファイルがマルウェアであると判定されることに応答して、対応するマルウェア定義を前記クライアントに提供するステップを更に含み、前記クライアントにより、前記マルウェア定義が使用されて、前記作成されたファイルからマルウェアが削除される、請求項2に記載の方法。
【請求項4】
前記クライアント上で作成されたファイルを示す前記受信されたデータを解析するステップが、
所定の期間内に前記複数のクライアントのうちの閾値数のクライアント上で検出されたマルウェアが、前記複数のクライアントの間で現在拡散していることを判定するステップ
更に含む、請求項1に記載の方法。
【請求項5】
前記クライアント上で作成されたファイルを示す前記受信されたデータの前記解析に応答して、前記マルウェア定義の集合を前記ローカルマルウェア定義の集合にセグメント化するステップが、
クラウドマルウェア定義の集合を記憶するクラウド定義データベースを維持するステップと、
前記受信されたデータの前記解析に応答して、前記クラウドマルウェア定義の部分集合を識別するステップと、
前記複数のクライアントに、前記ローカルマルウェア定義の集合として前記識別された前記クラウドマルウェア定義の部分集合を提供するステップと、
更に含む、請求項1に記載の方法。
【請求項6】
前記マルウェア定義の集合をセグメント化するステップが、
マルウェア定義に対応するマルウェアが前記複数のクライアントの間で現在拡散していないという判定に応答して、前記ローカルマルウェア定義の集合から当該マルウェア定義を削除するステップ
を更に含む、請求項5に記載の方法。
【請求項7】
ローカルマルウェア定義をクライアントに提供するための実行可能なコンピュータプログラム命令を記憶するコンピュータ可読記憶媒体であって、前記コンピュータプログラム命令が、
複数のクライアントからデータを受信するステップであって、前記受信されたデータ、前記クライアント上で作成されたファイルを示す、受信するステップと、
どのマルウェアが所定の前の期間内に前記クライアント上に検出されたかを判定するため、及び、前記複数のクライアントの間で現在拡散しているマルウェアを識別するために、前記クライアント上で作成されたファイルを示す前記受信されたデータを解析するステップと
前記受信されたデータの前記解析に応答して、マルウェア定義の集合をローカルマルウェア定義の集合にセグメント化するステップであって、前記ローカルマルウェア定義の集合が、前記複数のクライアントの間で現在拡散しているとして識別されたマルウェアに関するマルウェア定義を含む、セグメント化するステップと、
前記ローカルマルウェア定義の集合を前記複数のクライアントに提供するステップと
をコンピュータに実行させる命令を含む、コンピュータ可読記憶媒体。
【請求項8】
前記クライアント上で作成されたファイルを示すデータを受信するステップが、
前記マルウェア定義の集合を使用して、前記受信されたデータによって示されるクライアント上で作成されたファイルがマルウェアかどうかを判定するステップと、
記クライアントからのクラウド定義ルックアップ要求への返信であって、前記作成されたファイルが前記マルウェア定義の集合を使用して判定されたようにマルウェアかどうかを示す返信を送信するステップと、
更に含む、請求項7に記載のコンピュータ可読記憶媒体。
【請求項9】
前記コンピュータプログラム命令が、前記作成されたファイルがマルウェアであると判定されることに応答して、対応するマルウェア定義を前記クライアントに提供するステップを更に含み、前記クライアントにより、前記マルウェア定義が使用されて、前記作成されたファイルからマルウェアが削除される、請求項8に記載のコンピュータ可読記憶媒体。
【請求項10】
前記クライアント上で作成されたファイルを示す前記受信されたデータを解析するステップが、
所定の期間内に前記複数のクライアントのうちの閾値数のクライアント上で検出されたマルウェアが、前記複数のクライアントの間で現在拡散していることを判定するステップ
更に含む、請求項7に記載のコンピュータ可読記憶媒体。
【請求項11】
前記クライアント上で作成されたファイルを示す前記受信されたデータの前記解析に応答して、前記マルウェア定義の集合を前記ローカルマルウェア定義の集合にセグメント化するステップが、
クラウドマルウェア定義の集合を記憶するクラウド定義データベースを維持するステップと、
前記受信されたデータの前記解析に応答して、前記クラウドマルウェア定義の部分集合を識別するステップと、
前記複数のクライアントに、前記ローカルマルウェア定義の集合として前記識別された前記クラウドマルウェア定義の部分集合を提供するステップと、
更に含む、請求項7に記載のコンピュータ可読記憶媒体。
【請求項12】
前記マルウェア定義の集合をセグメント化するステップが、
マルウェア定義に対応するマルウェアが前記複数のクライアントの間で現在拡散していないという判定に応答して、前記ローカルマルウェア定義の集合から当該マルウェア定義を削除するステップ
を更に含む、請求項11に記載のコンピュータ可読記憶媒体。
【請求項13】
ローカルマルウェア定義をクライアントに提供するためのシステムであって、
コンピュータプログラムコードを実行するためのプロセッサと、
実行可能なコンピュータプログラムコードを記憶するコンピュータ可読記憶媒体と、
を備え、前記実行可能なコンピュータプログラムコードが、
複数のクライアントからデータを受信するステップであって、前記受信されたデータ、前記クライアント上で作成されたファイルを示す、受信するステップと、
どのマルウェアが所定の前の期間内に前記クライアント上に検出されたかを判定するため、及び、前記複数のクライアントの間で現在拡散しているマルウェアを識別するために、前記クライアント上で作成されたファイルを示す前記受信されたデータを解析するステップと
前記受信されたデータの前記解析に応答して、マルウェア定義の集合をローカルマルウェア定義の集合にセグメント化するステップであって、前記ローカルマルウェア定義の集合が、前記複数のクライアントの間で現在拡散しているとして識別されたマルウェアに関するマルウェア定義を含む、セグメント化するステップと、
前記ローカルマルウェア定義の集合を前記複数のクライアントに提供するステップと
を前記プロセッサに実行させるコードを含む、システム。
【請求項14】
前記クライアント上で作成されたファイルを示すデータを受信するステップが、
前記マルウェア定義の集合を使用して、前記受信されたデータによって示されるクライアント上で作成されたファイルがマルウェアかどうかを判定するステップと、
記クライアントからのクラウド定義ルックアップ要求への返信であって、前記作成されたファイルが前記マルウェア定義の集合を使用して判定されたようにマルウェアかどうかを示す返信を送信するステップと、
更に含む、請求項13に記載のシステム。
【請求項15】
前記クライアント上で作成されたファイルを示す前記受信されたデータを解析するステップが、
所定の期間内に前記複数のクライアントのうちの閾値数のクライアント上で検出されたマルウェアが、前記複数のクライアントの間で現在拡散していることを判定するステップ
更に含む、請求項13に記載のシステム。
【請求項16】
前記クライアント上で作成されたファイルを示す前記受信されたデータの前記解析に応答して、前記マルウェア定義の集合を前記ローカルマルウェア定義の集合にセグメント化するステップが、
クラウドマルウェア定義の集合を記憶するクラウド定義データベースを維持するステップと、
前記受信されたデータの前記解析に応答して、前記クラウドマルウェア定義の部分集合を識別するステップと、
前記複数のクライアントに、前記ローカルマルウェア定義の集合として前記識別された前記クラウドマルウェア定義の部分集合を提供するステップと、
更に含む、請求項13に記載のシステム。
【請求項17】
前記マルウェア定義の集合をセグメント化するステップが、
マルウェア定義に対応するマルウェアが前記複数のクライアントの間で現在拡散していないという判定に応答して、前記ローカルマルウェア定義の集合から当該マルウェア定義を削除するステップ
を更に含む、請求項16に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、概して、コンピュータセキュリティに関し、特に、悪意のあるソフトウェアを検出するために使用される定義パッケージのサイズを縮小することに関する。
【背景技術】
【0002】
現代の電子機器のユーザは、多種多様の脅威に直面している。例えば、一見無害に見えるウェブサイトが、コンピュータウイルス、ワーム、トロイの木馬プログラム、スパイウェア、アドウェア、及びクライムウェア等の悪意のあるソフトウェア(マルウェア)を、ウェブサイトからダウンロードしたファイルに内密に隠匿する場合がある。マルウェアは、ログイン、パスワード、銀行口座識別子、及びクレジットカード番号等の重要情報を取り込んで保存できる。同様に、マルウェアは、攻撃者が感染している機器にアクセスしそれを制御することを可能にするか、又は感染している機器の誤動作を生じさせる、非表示のインターフェースを提供できる。
【0003】
セキュリティソフトウェアは、マルウェアを検出し修復することによって電子機器を保護する。マルウェアを検出する1つの方法は、マルウェア定義の使用によるものである。マルウェア定義は、特定の種類の既知のマルウェアの特性を説明する。典型的に、マルウェア定義は、セキュリティソフトウェアのプロバイダによって生成され、電子機器に配置される。電子機器上のセキュリティソフトウェアは、配置されたマルウェア定義を使用してマルウェアに関して機器をスキャンする。
【0004】
セキュリティソフトウェアプロバイダは、多くの異なるマルウェア脅威に対抗する保護を提供するために、多くのマルウェア定義を電子機器に配置しなければならない。多数の電子機器にマルウェア定義を配置することは、多量のコンピューティングリソースを消費する。例えば、マルウェア定義を配置することは、多量のネットワーク帯域幅を消費する。加えて、マルウェア定義は、電子機器上の多量のメモリを消費する。
【発明の概要】
【発明が解決しようとする課題】
【0005】
上記及び他のニーズは、クライアントのコンピュータセキュリティを維持しつつ、クライアント側に記憶された数多くのウイルス対策定義を効果的に縮小させるための方法、コンピュータ可読記憶媒体、及びシステムによって満たされる。
【課題を解決するための手段】
【0006】
一態様は、悪意のあるソフトウェア(マルウェア)定義をクライアントに提供するためのコンピュータ実装方法を提供する。本方法は、複数のクライアントからテレメトリデータを受信し、このテレメトリデータが、クライアント上で作成されたファイルを説明する。本方法は、クライアントの間で現在拡散しているマルウェアを識別するために、テレメトリデータを解析する。テレメトリデータの解析に応答して、本方法は、クラウドデータベースのマルウェア定義の集合をローカルマルウェア定義の集合及びクラウドマルウェア定義の集合にセグメント化する。ローカルマルウェア定義の集合は、クライアントの間で現在拡散しているとして識別されるマルウェアに関するマルウェア定義を含む。本方法は、ローカルマルウェア定義の集合をクライアントに提供し、そこでクライアントは、ローカルマルウェア定義を記憶し、ローカルマルウェア定義の集合を使用して、クライアント側でマルウェアを検出するように適合される。
【0007】
別の態様は、マルウェア定義をクライアントに提供するための実行可能なコンピュータプログラム命令を記憶する非一時的コンピュータ可読記憶媒体を提供する。コンピュータ可読記憶媒体は、複数のクライアントからテレメトリデータを受信し、クライアントの間で現在拡散しているマルウェアを識別するためにテレメトリデータを解析するためのコンピュータプログラム命令を記憶する。テレメトリデータは、クライアント上で作成されたファイルを説明する。テレメトリデータの解析に応答して、クラウドデータベースのマルウェア定義の集合は、ローカルマルウェア定義の集合及びクラウドマルウェア定義の集合にセグメント化される。ローカルマルウェア定義の集合は、クライアントの間で現在拡散しているとして識別されるマルウェアに関するマルウェア定義を含む。コンピュータ可読記憶媒体は、ローカルマルウェア定義の集合をクライアントに提供するためのコンピュータプログラム命令を更に記憶し、そこでクライアントは、ローカルマルウェア定義を記憶し、ローカルマルウェア定義の集合を使用して、クライアント側でマルウェアを検出するように適合される。
【0008】
更に別の態様は、マルウェア定義をクライアントに提供するためのコンピュータシステムを提供する。システムは、複数のクライアントからテレメトリデータを受信するためのサーバ通信モジュールを含み、そこでテレメトリデータは、クライアント上で作成されたファイルを説明する。システムは、クライアントの間で現在拡散しているマルウェアを識別するためにテレメトリデータを解析するための解析モジュールも含む。テレメトリデータの解析に応答して、システムのセグメント化モジュールは、クラウドデータベースのマルウェア定義の集合をローカルマルウェア定義の集合及びクラウドマルウェア定義の集合にセグメント化するように構成される。ローカルマルウェア定義の集合は、クライアントの間で現在拡散しているとして識別されるマルウェアに関するマルウェア定義を含む。サーバ通信モジュールは、ローカルマルウェア定義の集合をクライアントに提供するように構成され、そこでクライアントは、ローカルマルウェア定義を記憶し、ローカルマルウェア定義の集合を使用して、クライアント側でマルウェアを検出するように適合される。
【0009】
本発明の概要及び以下の詳細な説明に説明される特徴及び利点は、包括的なものではない。その図面、明細書、及び特許請求の範囲を考慮すると、多くの更なる特徴及び利点が当業者に明らかとなる。
【図面の簡単な説明】
【0010】
図1】一実施形態に従う、悪意のあるソフトウェア(マルウェア)定義パッケージのサイズを縮小するためのコンピュータ環境のハイレベルブロック図である。
図2】一実施形態においてクライアント及び/又はクラウドサーバとして機能するためのコンピュータのハイレベルブロック図である。
図3】一実施形態に従う、クライアントのセキュリティモジュールの詳細図を示すハイレベルブロック図である。
図4】一実施形態に従う、クラウドサーバの定義縮小モジュールの詳細図を示すハイレベルブロック図である。
図5】一実施形態に従う、クラウドサーバによって実施される工程を示すフロー図である。
図6】一実施形態に従う、クライアントによって実施される工程を示すフロー図である。
【0011】
図は、例示の目的のためのみに本発明の実施形態を描写する。当業者であれば、本明細書に記載の原理から逸脱することなく、本明細書に図示される構造及び方法の代替の実施形態を用いることができることを以下の説明から容易に理解するであろう。
【発明を実施するための形態】
【0012】
図1は、一実施形態に従う、悪意のあるソフトウェア(マルウェア)定義パッケージのサイズを縮小するためのコンピュータ環境100のハイレベルブロック図である。図1は、ネットワーク120によって接続される1つのクラウドサーバ130及び3つのクライアント110を示す。示される環境100は、クラウドサーバ130がコンピュータセキュリティをクライアント110の集合に提供する典型的なコンピュータ環境を表す。説明を簡素化し明確化するために、図1には3つのクライアント110及び1つのクラウドサーバ130のみが示される。コンピュータ環境100の実施形態は、ネットワーク120に接続される多くのクライアント110及びクラウドサーバ130を有し得る。複数のクラウドサーバ130は、クライアント110から来るテレメトリの包括的な表示を獲得するために、互いに通信し、クライアント110から受信されたデータ(例えば、テレメトリデータ報告)を関連付けてもよい。
【0013】
クライアント110は、ソフトウェアアプリケーションを実行すること、ネットワーク120上のウェブサーバによってホストされるウェブサイトをブラウズすること、ファイルをダウンロードすること、並びにクラウドサーバ130及び/又はネットワーク上の他のエンティティと対話すること等の機能を実施するようにユーザによって使用される電子機器である。一実施形態では、クライアント110は、デスクトップ、ノート型、又はタブレットコンピュータ等のパーソナルコンピュータ(PC)である。他の実施形態では、クライアント110は、モバイル電話、個人用携帯情報端末、テレビセットトップボックス、又は他の電子機器である。
【0014】
クライアント110は、マルウェア及び他の脅威からクライアントを保護するためにセキュリティモジュール112を実行する。実施形態に応じて、セキュリティモジュール112は、スタンドアローンアプリケーションであり得るか、又はクライアント110上で実行されるオペレーティングシステム若しくは他のソフトウェアに統合され得る。加えて、セキュリティモジュール112は、クライアントを含むネットワーク通信を監視するプロキシサーバ内のように、クライアント110から離れて位置し得る。
【0015】
一実施形態では、セキュリティモジュール112は、クライアント110上に存在する任意のマルウェアを検出し修復する。この目的を達成するために、セキュリティモジュール112は、ローカルマルウェア定義の集合を維持する。ローカルマルウェア定義の集合は、クライアント110に又はそれに近接して記憶され、クラウドサーバ130から受信された新しい定義で更新される。例えば、ローカルマルウェア定義は、周期的に及び/又は非同期スケジュールでアップロードされてもよい。
【0016】
セキュリティモジュール112は、クライアント110上で実行されるソフトウェアによって実施されるアクションも監視する。例えば、監視されるアクションとは、ファイルの実行、新規ファイルの作成、及びファイルのダウンロード等のファイルアクセスを含み得る。ファイルがアクセスされた場合、セキュリティモジュール112は、ローカルマルウェア定義の集合を用いてファイルを解析してファイルがマルウェアを含有するかどうかを判定する。ファイルが悪意のあるものであった場合、セキュリティモジュール112は、ファイルの実行を阻止しそれをクライアント110から削除する等によってファイルを修復する。
【0017】
アクセスされたファイルがローカルマルウェア定義の集合の中に見出されなかった場合、実施形態のセキュリティモジュール112は、ファイルのためのクラウド定義ルックアップ要求をクラウドサーバ130に送信する。この要求は、ファイルが悪意のあるものかどうかを判定するためにクラウドサーバ130が使用することができる、ハッシュ等のファイルの説明を含む。セキュリティモジュール112は、クラウドサーバ130から要求への返信を受信し、返信がファイルが悪意のあるものであると示した場合ファイルを修復する。セキュリティモジュール112はまた、他の時に、クラウドサーバ130にクラウド定義ルックアップ要求を送信し得る。例えば、セキュリティモジュール112は、それが複数のクライアントファイルのためのクラウド定義ルックアップ要求をクラウドサーバ130に送信する間に、クライアント110上のファイルの周期的スキャンを実施し得る。
【0018】
加えて、セキュリティモジュール112は、テレメトリデータ報告をクラウドサーバ130に送信する。テレメトリデータ報告は、セキュリティモジュール112によって観察及び/又は実施されるセキュリティ関連アクティビティを説明するテレメトリデータを含む。例えば、テレメトリ報告は、クライアント上で検出される新規に作成されたファイル等のファイルアクセスアクティビティを説明し得る。加えて、テレメトリ報告は、クライアント110上で検出されたマルウェアを説明し得る。
【0019】
クラウドサーバ130は、ネットワーク120を介してクライアント110のセキュリティモジュール112と対話してクライアントにセキュリティを提供する。一実施形態では、クラウドサーバ130は、セキュリティモジュール112をクライアントに提供する同じセキュリティプロバイダによって動作される。クラウドサーバ130は、本明細書に説明される機能性を提供するためのモジュールを実行する1つ以上のコンピュータを含む。一実施形態では、クラウドサーバ130の機能は、クラウドコンピュータ環境によって提供される。本明細書で使用されるとき、「クラウドコンピューティング」は、動的にスケーラブルでしばしば仮想化されたリソースが、ネットワーク120上のサービスとして提供される、コンピューティングのスタイルを指す。本明細書のクラウドサーバ130に基づく異なる機能は、異なる物理的なサーバによって実施され得る。クライアント110に起因する機能は、クラウドコンピュータ環境によってもまた提供され得る。
【0020】
クラウドサーバ130は、クラウド定義データベース140を含む。このデータベース140は、既知のマルウェアに関する定義を記憶する。一実施形態では、クラウド定義データベース140は、実質的に完全であり、セキュリティプロバイダに既知の全てのマルウェアに関する定義を記憶する。定義は、自動及び/又は手動技術を用いてセキュリティアナリストによって作成される。
【0021】
クラウドサーバ130は、クライアント110のセキュリティモジュール112からクラウド定義ルックアップ要求を受信する。そのような要求を受信すると、クラウドサーバ130は、クラウド定義データベース140のマルウェア定義を使用して要求に説明されるファイルが悪意のあるものであるかどうかを判定する。クラウドサーバ130は、要求するセキュリティモジュール112に判定の結果を送信する。
【0022】
更には、実施形態のクラウドサーバは、定義縮小モジュール150を含む。このモジュール150は、クラウド定義ルックアップ要求のテレメトリデータ及びクライアントセキュリティモジュール112から受信されたテレメトリデータ報告を使用して、クラウド定義データベース140に記憶されたマルウェア定義の部分集合を識別してクライアント110側にローカルに記憶する。よって、定義縮小モジュール150は、クラウドサーバ130のクラウド定義データベース140にのみ維持されるクラウド定義の集合及びクライアント110側にもまたローカルに記憶されるローカル定義の集合に、マルウェア定義をセグメント化する。定義縮小モジュール150は、クライアント110のセキュリティモジュール112に、ローカル集合におけるマルウェア定義を提供する。
【0023】
一実施形態では、定義縮小モジュール150は、テレメトリデータ報告を使用して、クライアント集団の中で現在活動的に拡散しているマルウェアの種類を識別する。これらの種類のマルウェアに関するマルウェア定義は、クライアント110に送信されるローカル定義の集合にセグメント化される。定義のセグメント化は、新しいマルウェアが出現し古いマルウェアが消え失せるにつれて経時的に変化し得る。実施形態の定義縮小モジュール150は、古い定義が削除され新しい定義がローカル集合に追加されると、クライアント110にローカルマルウェア定義更新を送信する。
【0024】
この方法で、クライアントセキュリティモジュール112は、ネットワーク120の接続が存在しないか又は不確実な場合であっても、ローカル定義を使用してクライアント110側で検出される可能性が最も高いマルウェアを迅速に検出しブロックできる。更には、ローカル定義集合のサイズは、クラウド定義集合よりもはるかに小さい傾向があり、したがって、セキュリティを提供するためにクライアント110によって送信及び維持される必要があるデータの量を縮小させる。
【0025】
ネットワーク120は、クライアント110とクラウドサーバ130との間の通信を可能にし、インターネット並びにモバイル電話ネットワークを含むことができる。一実施形態では、ネットワーク120は、標準的な通信技術及び/又はプロトコルを使用する。よって、ネットワーク120は、イーサネット(登録商標)、802.11、ワールドワイド・インターオペラビリティ・フォー・マイクロウェーブ・アクセス(WiMAX)、3G、デジタル加入者線(DSL)、非同期転送モード(ATM)、InfiniBand、PCIエキスプレス・アドバンスド・スイッチング等の技術を用いてリンクを含むことができる。同様に、ネットワーク120上で使用されるネットワーキングプロトコルは、マルチプロトコル・ラベル・スイッチング(MPLS)、伝送制御プロトコル/インターネットプロトコル(TCP/IP)、ユーザ・データグラム・プロトコル(UDP)、ハイパーテキスト転送プロトコル(HTTP)、簡易メール転送プロトコル(SMTP)、ファイル転送プロトコル(FTP)等を含むことができる。ネットワーク120上で交換されるデータは、ハイパーテキストマークアップ言語(HTML)、拡張マークアップ言語(XML)等を含む技術及び/又はフォーマットを用いて表され得る。加えて、リンクの全て又はリンクのうちのいくつかは、セキュアソケットレイヤ(SSL)、トランスポート層セキュリティ(TLS)、仮想プライベートネットワーク(VPN)、インターネットプロトコルセキュリティ(IPsec)等の従来の暗号化技術を用いて暗号化され得る。別の実施形態では、エンティティは、上に説明されたものの代わりに又はそれらのものに加えて、カスタム及び/又は専用のデータ通信技術を使用できる。
【0026】
図2は、一実施形態においてクライアント110及び/又はクラウドサーバ130として機能するためのコンピュータ200のハイレベルブロック図である。チップセット204に結合される少なくとも1つのプロセッサ202を示す。チップセット204には、メモリ206、記憶装置208、キーボード210、グラフィックスアダプタ212、ポインティングデバイス214、及びネットワークアダプタ216も結合される。グラフィックスアダプタ212には、ディスプレイ218が結合される。一実施形態では、チップセット204の機能が、メモリコントローラハブ220及び入出力コントローラハブ222によって与えられる。別の実施形態では、メモリ206が、チップセット204の代わりにプロセッサ202に直接結合される。
【0027】
記憶装置208は、ハードドライブ、コンパクトディスク読出し専用メモリ(CD−ROM)、DVD、固体メモリデバイス等、任意の非一時的コンピュータ可読記憶媒体である。メモリ206は、プロセッサ202が使用する命令及びデータを保持する。ポインティングデバイス214は、マウス、トラックボール、又は他の種類のポインティングデバイスとすることができ、コンピュータシステム200内にデータを入力するためにキーボード210と一緒に使用する。グラフィックスアダプタ212は、ディスプレイ218上に画像及び他の情報を表示させる。ネットワークアダプタ216は、コンピュータシステム200をネットワーク120に結合させる。
【0028】
当技術分野で知られているように、コンピュータ200は、図2に示すコンポーネントと異なるコンポーネント及び/又は他のコンポーネントを有することができる。加えて、コンピュータ200は、図示の特定のコンポーネントを欠いてもよい。一実施形態では、クラウドサーバ130として機能するコンピュータ200は、キーボード210、ポインティングデバイス214、グラフィックスアダプタ212、及び/又はディスプレイ218を欠く場合がある。更に、記憶装置208は、(ストレージエリアネットワーク(SAN)の中に組み入れられる等)ローカルとし、かつ/又はコンピュータ200から離れていてもよい。
【0029】
当技術分野で知られているように、コンピュータ200は、本明細書に記載の機能を提供するためのコンピュータプログラムモジュールを実行するように適合される。本明細書で使用されるとき、「モジュール」という用語は、指定の機能性を提供するために利用されるコンピュータプログラムロジックを指す。したがって、モジュールは、ハードウェア、ファームウェア、及び/又はソフトウェアによって実装することができる。一実施形態では、プログラムモジュールを記憶装置208上に記憶し、メモリ206内にロードし、プロセッサ202によって実行する。
【0030】
図3は、一実施形態に従う、クライアント110のセキュリティモジュール112の詳細図を示すハイレベルブロック図である。図3に示されるように、セキュリティモジュール112は、通信モジュール310、監視モジュール320、ローカルルックアップモジュール330、クラウドルックアップモジュール340、及び修復モジュール350を含む。セキュリティモジュール112はまた、ローカルマルウェア定義の集合を記憶するローカル定義データベース302を含む。当業者であれば、他の実施形態のセキュリティモジュール112が、本明細書に説明されるものとは異なる及び/又はそのもの以外のモジュールを有してもよく、機能性が異なる方法でモジュールの中で分散されてもよいことを理解するであろう。
【0031】
通信モジュール310は、クラウド定義ルックアップ要求をクラウドサーバに送信すること、及びクラウドサーバから要求への返信を受信することによってクラウドサーバ130と通信する。一実施形態では、通信モジュール310は、クラウドルックアップモジュール330及び/又はセキュリティモジュール112内の他のモジュールからの命令に応答して要求を送信する。同様に、通信モジュール310は、クラウドルックアップモジュール340及び/又はセキュリティモジュール112内の他のモジュールへの要求への返信を提供する。通信モジュール310はまた、監視モジュール320及び/又はセキュリティモジュール112内の他のモジュールからの命令に応答して、テレメトリデータ報告をクラウドサーバ130に送信する。更には、実施形態の通信モジュール310は、クラウドサーバ130からローカルマルウェア定義更新を受信し、ローカル定義データベース302を適宜更新する。
【0032】
監視モジュール320は、クライアント上で実施されるアクティビティのセキュリティ関連態様を監視する。一実施形態では、監視モジュール320は、リアルタイムにファイルシステム事象を監視する。この監視は、作成されているファイルのようなファイルアクセスを検出する。監視モジュール320は、マルウェア検出のために解析され得るように、ファイルの実行を一時的に中断してもよい。例えば、監視モジュール320は、新規ファイルの作成を検出すると、それがマルウェアの存在に関して検査され得るように、ファイルが実行されるのを一時的に阻止してもよい。監視モジュール320は、実行プロセスの挙動も監視して任意の不審な挙動を識別し得る。プロセスが不審に機能した場合、監視モジュール320は、対応するファイルがマルウェアに関して検査され得るように、プロセスの実行を中断してもよい。監視モジュール320は、ファイルがマルウェアを包含しないとその後分かった場合、ファイルの実行を再開してもよい。
【0033】
加えて、実施形態の監視モジュール320は、監視されたアクティビティを説明するテレメトリデータを回収する。上述のように、テレメトリデータは、クライアント110上で検出されたマルウェア及び新規に作成されたファイルを説明し得る。検出されたマルウェアについては、テレメトリデータは、指定の種類の検出されたマルウェア及び/又はマルウェア検出の誘因となったマルウェア定義への言及を含み得る。新規に作成されたファイルについては、テレメトリデータは、クライアント110の記憶装置内のファイルの場所、ファイルがダウンロードされたユニバーサルリソースロケータ(URL)、ファイル内のインストーラ又は他の構成要素の識別、ファイル内の実行可能な構成要素内のストリング、ファイルによってクライアント上にインストールされた構成要素、ファイルによって行われたシステム設定及び構成変更、ファイルのハッシュ又は他の識別子、及びファイルと関連付けられるバージョン番号及びアプリケーション言語設定等の新規ファイルと関連付けられる更なる詳細もまた含み得る。加えて、テレメトリデータは、ファイルがいつアクセスされマルウェアがいつ検索されたかを示すタイムスタンプ及び他のタイミング情報を含み得る。テレメトリデータは、クライアント110を独自に識別するクライアント識別子も含み得る。
【0034】
監視モジュール320は、通信モジュール310がクラウドサーバ130に送信するテレメトリデータ報告のテレメトリデータを含む。監視モジュール320は、異なる実施形態において何度もテレメトリデータ報告を提出できる。例えば、監視モジュール320は、周期的に(例えば、1時間毎)、指定の事象が起こるたびにか(例えば、新規ファイル又はマルウェアを検出すると)、又は閾値に達すること(例えば、100個の新規ファイルの作成が検出された後)に応答して、テレメトリデータ報告を提出できる。
【0035】
ローカルルックアップモジュール330は、ローカル定義データベース302に記憶されたローカルマルウェア定義を使用して監視モジュール320によって検出されたファイルが悪意のあるものである(即ち、マルウェアを包含する)かどうかを判定する。一実施形態では、ローカルルックアップモジュール330は、マルウェアスキャナを使用してローカルマルウェア定義によって説明される任意のマルウェアに関して検出されたファイルをスキャンする。スキャンが、ファイルがマルウェアを包含すると示した場合、ローカルルックアップモジュール330は、検出がテレメトリデータ報告に含まれ得るように、マルウェア検出を監視モジュール320に通知する。加えて、実施形態のローカルルックアップモジュール330は、修復モジュール350と通信し、その後者のモジュールは、マルウェアを修復できる。
【0036】
クラウドルックアップモジュール340は、クラウド定義ルックアップ要求をクラウドサーバ130に送信し、それに応答して返信を受信する。一実施形態では、クラウドルックアップモジュール340は、ローカルルックアップモジュール330によって悪意があると判定されない、監視モジュール320によって検出されたファイルを識別するクラウド定義ルックアップ要求をクラウドサーバ130に送信する。よって、監視モジュール320が新規ファイルを検出し、ローカルルックアップモジュール330がローカルマルウェア定義の集合を用いて新規ファイルをスキャンするがいずれのマルウェアも検出しなかった場合、次いで、クラウドルックアップモジュール340は、ファイルのためのクラウド定義ルックアップ要求をクラウドサーバ130に送信する。
【0037】
クラウド定義ルックアップ要求は、様々な技術を用いてクラウドサーバ130に対してファイルを識別する。一実施形態では、クラウド定義ルックアップ要求は、ルックアップされているファイルのコピーを含む。別の実施形態では、クラウド定義ルックアップ要求は、ファイルのハッシュ、ファイルから抽出されるデータの一部等ファイルの簡潔な説明、及び/又はファイル内に包含されるデータの一部の説明を含む。クラウド定義ルックアップ要求はまた、ファイルに関するテレメトリデータ報告内に含まれる同じデータのうちのいくつか又は全部を含み得る。
【0038】
クラウドサーバ130からの返信は、クラウドサーバ130によって維持されるクラウド定義を用いて判定されると、識別されたファイルがマルウェアを包含するかどうかを示す。返信が、ファイルがマルウェアを包含すると示した場合、クラウドルックアップモジュール340は、検出がテレメトリデータ報告に含まれ得るように、マルウェア検出を監視モジュール320に通知する。あるいは、クラウドサーバ130は、別個の報告が必要ないように、テレメトリデータ報告の一種としてクラウド定義ルックアップ要求を処理し得る。更には、ファイルがマルウェアを包含すると示すクラウドサーバ130からの返信は、検出されたマルウェアに関するマルウェア定義を含み得る。クラウドルックアップモジュール340は、ローカル定義データベース302にこの定義を記憶する。実施形態のローカルルックアップモジュール330はまた、修復モジュール350と通信し、したがってその後者のモジュールは、マルウェア定義を用いてマルウェアを修復できる。
【0039】
クラウドサーバ130からの返信が、識別されたファイルがマルウェアを包含しないことを示した場合、クラウドルックアップモジュール340は、ファイルが悪意のあるものとして識別されなかったことを監視モジュール320に通知する。要求への返事が閾値時間量内にクラウドサーバ130から受信されなかった場合、クラウドルックアップモジュール340は、要求を直ちに再送信し得るか又は後で要求をスケジュールし得る。返事がなかった場合、クラウドルックアップモジュール340は、実施形態に応じて、要求内の識別されたファイルを悪意のあるもの又は悪意のないものとして処理し得る。
【0040】
クラウドルックアップモジュール340はまた、監視モジュール320によって検出された任意のアクティビティから独立してクラウド定義ルックアップ要求を送信し得る。一実施形態では、クラウドルックアップモジュール340は、クライアント110上に記憶されるファイルのうちの全て、又は部分集合のためのクラウドルック要求を周期的に送信する。例えば、クラウドルックアップモジュール340は、クライアント110側に記憶されるファイルのためのクラウド定義ルックアップ要求を毎日、毎週、又は毎月提出できる。これらのクラウドルックアップ要求は、要求がクライアント110の通常動作を妨害しないように、バックグラウンドで管理され得る。これらの要求のうちの1つを通じてマルウェアが検出された場合、クラウドルックアップモジュール340は、修復モジュール350と通信してマルウェアを修復する。
【0041】
修復モジュール350は、クライアント110上で検出されたマルウェアを修復する(例えば、削除する)。一実施形態では、修復モジュール350は、マルウェアがクライアント110上で検出されると、セキュリティモジュール112内の別のモジュールによって通知される。この通知は、マルウェアの種類も示す。修復モジュール350は、マルウェアに関するマルウェア定義又は別の場所に記憶された修復情報を使用してマルウェアを修復する。例えば、修復モジュール350は、ファイル内から悪意のあるコンテンツを削除、マルウェアを包含するファイルを消去、マルウェアを包含するファイルを検疫することによってそれが実行できないようにして、マルウェアによって影響されたクライアント110上のファイル及び構成設定を復元し得る、及び/又は他のアクションを実施し得る。修復モジュール350は、クライアント110のユーザに、マルウェア検出及びそれを修復する能力を知らせる警告も生成し得る。
【0042】
図4は、一実施形態に従う、クラウドサーバ130の定義縮小モジュール150の詳細図を示すハイレベルブロック図である。図4に示されるように、定義縮小モジュール150は、サーバ通信モジュール410、応答モジュール420、解析モジュール430、及びセグメント化モジュール440を含む。当業者は、他の実施形態の定義縮小モジュール150が、本明細書に説明されるものとは異なる及び/又はそのもの以外のモジュールを有してもよく、機能性が異なる方法でモジュールの中で分散されてもよいことを理解する。
【0043】
前に考察されたように、定義縮小モジュール150は、クラウド定義データベース140に記憶されるマルウェア定義を使用する。マルウェア定義は、既知のマルウェアの特性を説明する。一実施形態では、各マルウェア定義は、既知のマルウェアの指定の種類と関連付けられ、使用されて特定のファイルがその種類のマルウェアを含むかどうかを判定する、情報を含む。例えば、マルウェア定義は、特定のハッシュ機能をマルウェアを包含するファイルに適用することによって生成されるハッシュ値を含み得る。よって、ファイルは、ハッシュ機能をファイルに適用し、得られるハッシュ値がマルウェア定義の指定されるハッシュと一致するかどうかを判定することによってマルウェアに関して検査され得る。マルウェア定義はまた、マルウェア特有であるデータストリング(例えば、バイトストリング)及び/又は使用されて他のデータからマルウェアを区別できる他のデータを含み得る。
【0044】
クラウド定義データベース140は、マルウェア定義と関連付けられる更なるデータを記憶し得る。例えば、クラウド定義データベース140は、クラウドサーバ130によって受信されるテレメトリデータ報告からのデータのうちのいくつか又は全てを記憶し得る。一実施形態では、クラウド定義データベース140は、テーブルフォーマットでマルウェア定義を記憶し、マルウェアの各種類のための行を有し、例えば、マルウェアを検出するためのハッシュ値又は他の情報、マルウェアがクライアント110上に最後に検出されたときを示すタイムスタンプ、マルウェアが検出されたクライアントの数、及びマルウェアに関する修復情報のための列を含む。
【0045】
サーバ通信モジュール410は、クライアントからクラウド定義ルックアップ要求を受信すること、及びクライアント110への要求に応答して返信を送信することによって、クライアント110と通信する。サーバ通信モジュール410は、定義縮小モジュール150内の他のモジュールにルックアップ要求を送信する。同様に、サーバ通信モジュール410は、定義縮小モジュール150内の他のモジュールからルックアップ要求への返信を受信し、要求するクライアント110への返信を送信する。サーバ通信モジュール410は、クライアント110からテレメトリデータ報告も受信する。一実施形態では、サーバ通信モジュール410は、報告内の受信されたテレメトリデータ、及びクラウド定義ルックアップ要求内の受信されたテレメトリデータをクラウド定義データベース140に記憶する。サーバ通信モジュール410はまた、定義縮小モジュール150内の他のモジュールにテレメトリデータを送信し得る。加えて、サーバ通信モジュール410は、ローカルマルウェア定義更新をクライアント110に送信し得る。
【0046】
応答モジュール420は、クラウド定義ルックアップ要求への返信を生成する。一実施形態では、応答モジュール420は、要求に言及されるファイルを識別することによってクラウド定義ルックアップ要求をプロセスし、識別されたファイルがクラウド定義データベース140の定義と一致するかどうかを判定する。よって、応答モジュール420は、クラウド定義ルックアップ要求の識別されたファイルの特性が、クラウド定義データベース140の定義によって説明される任意の既知のマルウェアの特性と一致するかどうかを判定する。一致が存在した場合、応答モジュール420は、返信を受信するクライアント110がマルウェアを修復できるように、ファイルをマルウェアとして識別し関連付けられるマルウェア定義を含む、クラウド定義ルックアップ要求への返信を生成する。応答モジュール420はまた、クラウド定義データベース140のテレメトリデータを更新してマルウェアがいつ検出されたかを示すタイムスタンプを含むことができる。一致が存在しなかった場合、応答モジュール420は、ファイルが任意の既知のマルウェアと一致しないことを示すクラウド定義ルックアップ要求への返信を生成する。
【0047】
解析モジュール430は、現在無法に拡散している(即ち、クライアント110の中で拡散している)マルウェアの集合を識別するために、クラウド定義ルックアップ要求及びテレメトリデータ報告のクライアント110から受信されたテレメトリデータを解析する。クライアント110の中で現在拡散しているマルウェアは、マルウェアがそれが拡散するクライアント110に障害を与え得るため、最も脅威であることを表す。同時に、現在拡散しているマルウェアを検出することは、マルウェアの早期検出がその拡散を中止でき、いかなる障害も最小限に抑えられるため、最も優先度が高いことを表す。
【0048】
活動的に拡散しているマルウェアを識別するために、解析モジュール430は、クライアント110から受信されたテレメトリデータを解析し得る。この目的を達成するために、一実施形態の解析モジュール430は、クラウド定義データベース140のテレメトリデータを毎日等周期的に調査する。解析モジュール430は、テレメトリデータを使用してどのマルウェアが所定の前の期間内にクライアント上に検出されたかを判定する。例えば、解析モジュール430は、テレメトリデータを使用してクライアント110上に先週、先月、過去6か月、昨年内にどんな種類のマルウェアが検出されたかを判定できる。解析モジュール430は、どのくらいの頻度で特定の種類のマルウェアが検出されたかも判定できる。解析モジュール430は、期間内に活動的に拡散するとクライアント110の閾値数よりも多く検出されるマルウェアを識別できる。
【0049】
加えて、解析モジュール430は、他の様々な基準を使用して所与のマルウェアが活動的に拡散すると判断できるかどうかを判定できる。例えば、解析モジュール430は、マルウェアによって生じた障害の量に基づいてそのマルウェアが「活動的に拡散する」と判断される期間を調整できる。よって、比較的少ない障害を生じさせるマルウェアが、過去3か月以内に比較的多数のクライアント上で検出された場合、「活動的に」拡散すると判断され得る一方で、多大なる障害を生じさせるマルウェアは、過去12か月以内にわずか少数のクライアント110上で検出された場合、「活動的に」拡散すると判断され得る。
【0050】
加えて、解析モジュール430は、関連付けられるマルウェアが活動的に拡散しているかどうかを判定するとき、マルウェア定義のサイズ(即ち、定義によって使われる記憶スペースの量)を判断することができる。概して、マルウェア定義が大きければ大きいほど、マルウェアが活動的であると判断するために解析モジュール430による、より多くの及び/又はより最近の関連付けられるマルウェアの検出が必要とされる。所与のマルウェアに関するマルウェア定義が比較的小さかった場合、解析モジュール430は、比較的少数の検出が存在した及び/又は比較的長時間前に検出が行われた場合であっても、マルウェアが活動的に拡散していると判断し得る。小さい定義のこの処理は、クライアント側のマルウェア定義のローカル集合内に定義を含むコストが比較的少額であるため、可能である。
【0051】
セグメント化モジュール440は、解析モジュール430によって実施された解析に基づいて、クラウド定義データベース140のマルウェア定義をローカルマルウェア定義の集合及びクラウドマルウェア定義の集合にセグメント化する。セグメント化モジュール440は、ローカルマルウェア定義更新としてクライアントに送信するために、ローカルマルウェア定義の集合をサーバ通信モジュール410に提供する。ローカルマルウェア定義はまた、クラウド定義データベース140に記憶される。クラウドマルウェア定義の集合は、クラウド定義データベース140のみに記憶される。
【0052】
一実施形態では、セグメント化モジュール440は、クライアント110の中で現在活動的に拡散しているマルウェアに関するマルウェア定義をローカルマルウェア定義の集合にセグメント化する。この目的を達成するために、セグメント化モジュール440は、解析モジュール430から、活動的に拡散しているマルウェアの集合のマルウェアの識別を獲得する。セグメント化モジュール440は、クラウド定義データベース140から、活動的に拡散しているマルウェアに関するマルウェア定義を獲得し、これらのマルウェア定義をローカルマルウェア定義更新のクライアント110に提供する。
【0053】
セグメント化モジュール440は、毎日、毎週、又は毎月等の周期的に、ローカルマルウェア定義の集合を更新し得る。セグメント化モジュール440はまた、新しいマルウェア定義がクラウド定義データベース140に追加されるとき等、他の時にローカルマルウェア定義の集合を更新し得る。そのような更新中、セグメント化モジュール440は、対応するマルウェアがこれ以上活動的に拡散しないと解析モジュール430によって判断された場合、ローカルマルウェア定義の集合からマルウェア定義を削除してもよい。同様に、セグメント化モジュール440は、対応するマルウェアが更新の時点で活動的に拡散していると判断された場合、ローカルマルウェア定義の集合にマルウェア定義を追加してもよい。
【0054】
図5は、一実施形態に従う、クラウドサーバ130によって実施される工程を示すフロー図である。他の実施形態は、異なる順序で示された工程を実施する、及び/又は異なる又は更なる工程を実施する。更に、工程のうちのいくつかは、クラウドサーバ130以外のエンティティによって実施されてもよい。
【0055】
クラウドサーバ130は、クライアント110からテレメトリデータを受信する510。テレメトリデータは、クラウド定義ルックアップ要求及びテレメトリデータ報告に受信されたデータを含む。テレメトリデータは、クライアント110側で作成された新規ファイル、及びクライアント側で検出されたマルウェア等のファイルアクセスを説明し得る。テレメトリデータは、新規ファイルが検出されたときのタイムスタンプ、クライアント110側のファイルが記憶されたところ、及びファイルがどこからダウンロードされたか等の他のセキュリティ関連情報もまた含み得る。クラウドサーバ130は、多くの異なるクライアント110からテレメトリデータを受信することができる。
【0056】
クラウドサーバ130は、クライアント110の中で現在拡散しているマルウェアを識別するために、テレメトリデータを解析する512。この解析に基づいて、クラウドサーバ130は、クラウド定義データベース140のマルウェアをローカルマルウェア定義の集合及びクラウドマルウェア定義の集合にセグメント化する514。一実施形態では、クラウドサーバ130は、現在拡散しているマルウェアに関するマルウェア定義をローカルマルウェア定義の集合にセグメント化する。ローカルマルウェア定義の集合は、クラウドマルウェア定義の集合の部分集合である。セグメント化の一部として514、クラウドサーバ130は、これ以上活動的に拡散しないマルウェアに関する定義を、ローカルマルウェア定義の集合から削除してもよい。クラウドサーバ130は、ローカルマルウェア定義更新としてローカルマルウェア定義の集合をクライアント110を提供する516。加えて、クラウドサーバ130は、要求における識別されたファイルがマルウェアを包含するかどうかの指標と共にクラウド定義ルックアップ要求に返信する518。
【0057】
図6は、一実施形態に従う、クライアント110によって実施される工程を示すフロー図である。他の実施形態は、異なる順序で示された工程を実施する、及び/又は異なる又は更なる工程を実施する。更に、工程のうちのいくつかは、クライアント110以外のエンティティによって実施されてもよい。
【0058】
クライアント110は、クライアント側で実施されるファイルアクセス等のアクティビティのセキュリティ関連態様を監視する610。クライアント110は、監視されたアクティビティを説明するテレメトリデータ報告をクラウドサーバ130に送信する610。クライアント110が作成されたファイルを検出したか又は別途アクセスされた場合、クライアントは、ローカル定義データベース302に記憶されたローカルマルウェア定義を使用してファイルが悪意のあるものであるかどうかを判定する。ローカルマルウェア定義が、ファイルが悪意のあるものであると示さなかった場合、クライアント110は、クラウド定義ルックアップ要求をクラウドサーバ130に送信し614、クラウド定義データベース140の検査がファイルを悪意があるとして識別したかどうかを示す返信をクラウドサーバから受信する。ファイルが悪意のあるものであった場合、クライアント110は、マルウェアを修復する。加えて、クライアント110は、クラウドサーバ130からローカルマルウェア定義更新を受信する618。クライアント110はまた、他の時にクラウド定義ルックアップ要求を実施してもよい。
【0059】
上記の説明は、好適な実施形態の動作を示すために含まれ、本発明の範囲を限定することを意味しない。本発明の範囲は、以下の特許請求の範囲によってのみ限定される。上記の考察から、多くの変形形態が、本発明の趣旨及び範囲によってなおも包含されるであろうことが、当業者にとっては明らかである。
図1
図2
図3
図4
図5
図6