説明

ストリーミングマルウェア定義更新

追加の、または「ストリーミング」定義パッケージの使用を通して、頻繁なマルウェアシグネチャ定義更新を組み立て、発行する方法、システム、および装置が提供される。本発明の実施形態は、長期間単位で完全マルウェアシグネチャ定義更新を発行するのみならず、短期間単位で新たに認証されたシグネチャ定義を含むストリーミングマルウェアシグネチャ定義更新も発行することにより、そのような機能を提供する。新たに認証されたマルウェアシグネチャ定義が受信されると、それら新たに認証されたシグネチャ定義は、完全シグネチャ定義ファイルのみならず、ストリーミング更新期間中に受信される新たに認証されるシグネチャ定義のみを含むストリーミングシグネチャ定義更新にも組み込まれる。ストリーミング更新期間の終了時に、ストリーミングシグネチャ定義ファイルは、マルウェア対策クライアントへの発行により提供される。ストリーミングシグネチャ定義ファイルは、そのストリーミング定義ファイルの組み立て期間中に受信されるシグネチャ定義のみを含む。本発明の実施形態は、新しいストリーミングシグネチャ定義ファイルの発行時に、前のストリーミングシグネチャ定義ファイルを新しいストリーミングシグネチャ定義で置き換える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータセキュリティの分野に関し、特に、マルウェア対策クライアントソフトウェアに対するストリーミングマルウェアシグネチャ定義更新を提供することに関する。
【背景技術】
【0002】
インターネット等の広域ネットワークは、増大し続けるユーザコミュニティに、ユーザが情報、アプリケーション、およびエンターテイメントを収集できる同様に増大し続けるアクセス可能なネットワークサイトを提供する。そのようなオープンコミュニティは、悪意のあるユーザおよびサイトが、ウィルス、トロイの木馬、ワーム等の悪意のあるソフトウェア(マルウェア)を拡散させる格好の状況も提供する。ユーザをそのような悪意のある行動から保護するために、ユーザにコンピュータ上のマルウェアの存在を警告し、影響を受けたコンピュータからマルウェアを除去するマルウェア対策保護方式が考案された。
【0003】
典型的なコンピュータ保護方式は、影響を受けたコンピュータ上のマルウェアの存在に対して反応する。マルウェアを検出する一般的な方法は、マルウェア本体から抽出されるシグネチャに頼る。マルウェア本体から抽出される異なる種類のデータをシグネチャの生成に使用してもよい。そのようなデータとしては、例えば、文字列(すなわち、ワイルドカードあり、またはワイルドカードなしのパターン)、チェックサム(例えば、CRC、MD5、およびSHA1)、挙動パターン、ファイルジオメトリ、実行フロージオメトリ、およびコード命令の統計的分布が挙げられる。マルウェアシグネチャの生成に、上記列挙されたものの任意の組み合わせを使用することができ、この列挙は排他的なものではない。より高度なポリモーフィックマルウェア(例えば、変化する暗号アルゴリズムおよび鍵を組み込み、マルウェアの複製が同一ではないマルウェア)に対しては、暗号解析、専用復号化ルーチン、エミュレーション等を含むより高度なシグネチャ生成技法が必要である。
【0004】
コンピュータで実行されるセキュリティソフトウェアが、マルウェアの新たに発見されたインスタンスを検出できるようにするためには、コンピュータに、マルウェアの新しいインスタンスを識別するために確立されたシグネチャのコピーを提供しなければならない。通常、マルウェアの7,000〜10,000もの多くの新しいインスタンスが毎日発見される。マルウェアのインスタンスは広域ネットワークを通して増殖するため、そのマルウェアに関連するシグネチャを広域ネットワーク上のコンピュータに提供することの遅れにより、それらコンピュータが、攻撃を受けやすい状態のままになる。したがって、新たに生成され認定されたシグネチャをコンピュータコミュニティに迅速に配布することが望ましい。
【発明の概要】
【発明が解決しようとする課題】
【0005】
典型的なマルウェア対策ソフトウェアは、更新サーバから1〜8時間の期間で新しいシグネチャ定義をダウンロードする。典型的なシステムにより検索される完全シグネチャ定義ファイルは、現在見つかっているすべてのシグネチャのシグネチャ定義またはクライアントコンピュータに現在インストールされている完全シグネチャ定義ファイルとマルウェア対策ソフトウェアに関連付けられたサーバ上の現在発行されている完全シグネチャ定義ファイルとの差分を含む。多数のクライアントコンピュータが1つまたは複数の関連付けられた配布サーバからこれら完全定義ファイルをダウンロードする動作は、相当なネットワーク帯域幅リソースを消費し得る。マルウェア対策カバレッジを向上させるために、完全定義ファイルの発行レートを増大させると、潜在的に、ネットワーク帯域幅消費の劇的な増大に繋がる。したがって、時単位ではなくおよそ分単位でシグネチャ定義への更新を提供するのみならず、ネットワーク帯域幅リソースの節減もするシステムを実装することが望ましい。
【課題を解決するための手段】
【0006】
本発明の実施形態は、マルウェアシグネチャ定義への更新をおよそ分単位で提供すると共に、より長い期間中に完全更新を提供し、ネットワークリソースを節減するようにそのような更新を提供するメカニズムを提供する。本発明の実施形態は、マルウェアシグネチャを含む完全シグネチャ定義ファイルを組み立て発行すると共に、マルウェアシグネチャを含むストリーミング定義ファイルを組み立て発行するように構成された方法、装置、およびシステムを提供する。完全シグネチャ定義ファイルは、マルウェアシグネチャ、および指定された時間までに受信した第1の複数のマルウェアシグネチャの両方を含み、完全シグネチャ定義ファイルの発行は、指定された時間後に行われる。ストリーミングシグネチャ定義ファイルは、マルウェアシグネチャ、および指定された時間の前に開始され終了する第1の期間中に受信された第2の複数のマルウェアシグネチャの両方を含み、ストリーミングシグネチャ定義ファイルの発行は、第1の期間の完了時に行われる。
【0007】
本発明の上記実施形態の態様は、第1のノードからの要求が、第1の終了時間後に受信された場合、その要求に応答して、ストリーミングシグネチャ定義ファイルを送信することを含む、ストリーミングシグネチャ定義ファイルを発行することを提供する。本発明の上記実施形態の別の態様は、第3の複数のマルウェアシグネチャを含む第2のストリーミングシグネチャ定義ファイルを組み立て発行することを提供し、第2のストリーミングシグネチャ定義ファイルの組み立ては、第1の期間の終了後であり、かつ指定された時間前の第2の期間中に行われる。上記実施形態のさらなる態様は、第2の期間の完了時に、第1のストリーミングシグネチャ定義ファイルを第2のストリーミングシグネチャ定義ファイルで置き換えることを提供する。本発明の上記実施形態の別の態様は、マルウェアシグネチャを、第2の複数のマルウェアシグネチャのうちの1つまたは複数のマルウェアシグネチャを含むリストに添付することにより、ストリーミングシグネチャ定義ファイルを組み立てることを提供する。本発明のさらなる態様は、第2の複数のマルウェアシグネチャのうちの対応するマルウェアシグネチャへの1つまたは複数のポインタを含むリストに、マルウェアシグネチャのロケーションへのポインタを添付することにより、ストリーミングシグネチャ定義ファイルを組み立てることを提供する。
【0008】
本発明は、添付図面を参照することにより当業者によりよく理解することができ、その多くの目的、特徴、および利点が明らかになるであろう。
【図面の簡単な説明】
【0009】
【図1】アンチマルチウェアシグネチャをマルウェア対策クライアントに配布するネットワーク構成を示す簡略ブロック図である。
【図2】発行されたシグネチャ定義の送信に繋がるプロセスの簡略流れ図である。
【図3】本発明の実施形態によるシグネチャ更新サーバ110により実行されるマルウェアシグネチャ発行プロセスの簡略流れ図である。
【図4】本発明の実施形態を組み込んだシグネチャ更新サーバ110を示す簡略ブロック図である。
【図5】本発明の実施形態によりクライアントコンピュータにより実行されるシグネチャ定義更新プロセスを示す簡略流れ図である。
【図6】本発明の実施形態の実施に適したコンピュータシステムのブロック図を示す。
【図7】本発明の実施形態の実施に適したネットワークアーキテクチャを示すブロック図である。
【発明を実施するための形態】
【0010】
本発明は、追加の、すなわち「ストリーミング」定義パッケージの使用を通して頻繁なシグネチャ定義更新を提供するメカニズムを提供する。本発明の実施形態は、完全シグネチャ定義更新を長期間(例えば、約数時間)単位で発行するのみならず、新たに認証された定義を含むストリーミング定義更新を短期間(例えば、約数分)単位で発行することによっても、そのような機能を提供する。本発明の実施形態を組み込んだシグネチャ更新サーバが、新たに認証されたマルウェアシグネチャ定義を受信すると、それら新たに認証されたシグネチャ定義は、完全シグネチャ定義ファイルのみならず、ストリーミング更新期間中に受信した新たに認証されたシグネチャ定義のみを含むストリーミングシグネチャ定義更新にも組み込まれる。ストリーミング更新期間の終了時、シグネチャ更新サーバは、マルウェア対策クライアントに発行することにより、ストリーミングシグネチャ定義ファイルを提供する。ストリーミングシグネチャ定義ファイルは、そのストリーミング定義ファイルの組み立て期間中に受信したシグネチャ定義のみを含む。本発明の実施形態は、新しいストリーミングシグネチャ定義ファイルの発行時に、前のストリーミングシグネチャ定義ファイルを新しいストリーミングシグネチャ定義ファイルで置き換える。
【0011】
本発明の実施形態を使用するマルウェア対策クライアントは、ストリーミングシグネチャ定義ファイル内で受信されたシグネチャ定義を、前に受信したストリーミングシグネチャ定義および最新の完全定義ファイル内で受信したシグネチャ定義に追加するように組み込む。ストリーミングシグネチャ定義ファイル内で前に受信したシグネチャを組み込んだ新たに発行された完全シグネチャ定義ファイルを受信すると、本発明の実施形態を使用するマルウェア対策クライアントは、前に受信したシグネチャのストリーミング定義の使用を停止し、完全シグネチャ定義ファイル内に見られる定義のみを使用する。
【0012】
このようにして、本発明の実施形態を組み込んだマルウェア対策クライアントは、新しいマルウェアシグネチャの認証後、約数分でシグネチャ定義更新を受信することができる。さらに、ストリーミングシグネチャ定義ファイルは、ストリーミング定義組み立て期間中に受信したシグネチャのみを含むため、本発明の実施形態は、ネットワーク帯域幅リソースを節減する。
【0013】
図1は、マルウェア対策シグネチャをマルウェア対策クライアントに配布するネットワーク構成を示す簡略ブロック図である。シグネチャ更新サーバ110は、マルウェア対策ソフトウェアプロバイダにより維持される。シグネチャ更新サーバ110には、マルウェア対策ソフトウェアプロバイダのクライアントへの発行が認証されたマルウェアシグネチャを記憶するシグネチャデータベース115が関連付けられる。シグネチャ更新サーバは、外部ネットワーク130(例えば、インターネット等の広域ネットワーク)を通してクライアントコンピュータ120(1)〜(M)に結合される。このネットワーク接続を通して、シグネチャ更新サーバ110は、様々なデータ伝送プロトコルを使用して、シグネチャ定義ファイル更新をクライアントコンピュータ120(1)〜(M)を提供することができる。あるいは、シグネチャ更新サーバ110は、シグネチャ更新サーバ110がクライアントコンピュータコミュニティに発行したシグネチャ更新ファイルの配布を担当する1つまたは複数のシグネチャ配布サーバ(図示せず)に結合することができる。このようにして、配布サーバのそれぞれを介して配布の責務を地理的に分散させることができる。
【0014】
シグネチャ更新サーバ110により配布されるマルウェアシグネチャは、1つまたは複数の処理ノード上で実行中の1つまたは複数の解析エンジン140(1)〜(N)により生成することができる。マルウェアの新しいインスタンスがマルウェア対策ソフトウェアプロバイダにより発見された場合、マルウェアのそれらインスタンスは解析エンジン140(1)〜(N)に提供されて、そのマルウェアインスタンスの識別に適切なシグネチャを決定する。そのような解析により、例えば、文字列パターン、チェックサム、挙動パターン、ファイルジオメトリ、実行フロージオメトリ、およびコード命令の統計的分布、またはこれらの組み合わせを含むマルウェア本体から抽出されたデータに基づいてシグネチャを生成することができる。より高度なマルウェア(例えば、ポリモーフィックまたはメタモーフィックマルウェア)の場合、潜在的なマルウェアが制御されたシミュレーション環境内で実行されて、マルウェアの挙動が特定されるエミュレーション技法等のより処理集約的なシグネチャ生成を使用し得る。
【0015】
解析エンジン140(1)〜(N)が、マルウェアインスタンスに対応する適切なシグネチャを決定すると、認証サーバ150(1)〜(P)は、生成されたシグネチャの使用により、誤検出結果が生じるか否かを判断することができる。例えば、認証サーバは、典型的なクライアントのコンピュータで見つかり得る周知のファイル(例えば、オペレーティングシステムファイル、典型的なアプリケーション等)のクリーンファイルコレクションを保持することができる。ハッシュまたはチェックサム(例えば、CRC)により生成されるシグネチャの場合、マルウェアチェックサムシグネチャを、クリーンファイルコレクション内の各ファイルに対して同様に生成されたチェックサムと突き合わせてチェックすることができる。データベースは、クリーンファイルコレクション内の各ファイルについてのメタ情報(例えば、様々に生成されたハッシュまたはチェックサムのうちの1つまたは複数の集まり)を含むことができ、このデータベースに対する参照を実行することができる。提案されたマルウェアシグネチャが、クリーンファイルコレクション内のファイルに対して生成されたシグネチャに一致する場合、そのマルウェアシグネチャは、代替の解析エンジンにより生成されたハッシュに基づくシグネチャまたはマルウェアファイルのより大きなサンプリングから生成されるハッシュもしくはチェックサムを優先して、破棄される。シグネチャが認証段階にパスすると、そのシグネチャは、内部ネットワーク160を介してシグネチャ更新サーバ110に提供される。
【0016】
マルウェア解析の種類により、実行にかかる時間量が異なり得る。例えば、ハッシュまたはチェックサムの生成および誤検出テストは、ポリモーフィックマルウェアのインスタンスの挙動エミュレーションよりもかかる時間が大幅に短い。この理由は、エミュレーションシグネチャは、クリーンファイルコレクション内の各ファイルのエミュレーションと突き合わせてテストする必要があるためである。さらに、異なる種類の解析により生成されるシグネチャは、長さが異なり得、クライアントソフトウェアにより異なるように使用されることになる。本発明の実施形態は、マルウェア認証の特定の解析方法に限定されない。
【0017】
図2は、発行されたシグネチャ定義の送信に繋がるプロセスの簡略流れ図である。潜在的なマルウェアが識別されると(210)、マルウェアは解析のために提出される(220)(例えば、解析エンジン140により)。上述したように、解析プロセスは、最終的にマルウェアシグネチャを生成するように設計された様々な解析メカニズムを含み得る(230)。次に、生成されたマルウェアシグネチャは、誤検出に対する認証のために提出される(240)。上述したように、誤検出解析は、マルウェアのシグネチャを、クリーンファイルコレクション内に見つけられるファイルに対して同じ方法により生成されるシグネチャと比較することにより実行される。そのような認証比較は、オペレーティングシステムファイルおよびアプリケーションファイル等のクライアントコンピュータ上に実際にあるべきファイルをマルウェア対策ソフトウェアが削除するのを回避するために実行される。誤検出が検出された場合(245)、マルウェアは、さらなる解析に提出され、代替のシグネチャが生成される。
【0018】
マルウェアシグネチャが認証プロセスをパスすると、そのシグネチャをシグネチャ更新サーバ110に提供し、最終的にシグネチャ更新サーバにより発行される準備ができる(250)。本発明の実施形態は、完全シグネチャ定義更新およびストリーミングシグネチャ定義更新の両方を通して、マルウェアシグネチャの発行を実行する。発行プロセスについては、より十分に後述する。マルウェアシグネチャを発行すると、マルウェアシグネチャはマルウェア対策ソフトウェアプロバイダのクライアントに送信される(260)。
【0019】
図3は、本発明の実施形態によるシグネチャ更新サーバ110により実行されるマルウェアシグネチャ生成プロセスの簡略流れ図である。認証されたマルウェアシグネチャを受信すると(310)、シグネチャ更新サーバは、認証されたマルウェアシグネチャの並列発行パスを辿る。一発行パス(320〜340)では、認証されたマルウェアシグネチャは、完全シグネチャ定義ファイルの次のバージョン内に組み込まれる。上述したように、完全シグネチャ定義ファイルの組み立ておよび発行の時間フレームは、約数時間単位である。第2の発行パス(350〜370)は、認証されたマルウェアシグネチャを次のストリーミングシグネチャ定義ファイル内に統合する。これも上述したように、ストリーミングシグネチャ定義ファイルは、約数分の期間で発行される。
【0020】
完全シグネチャ定義発行パスでは、受信された認証マルウェアシグネチャは、次の完全シグネチャ定義ファイル内に統合される(320)。そのような統合プロセスは、新たに到着した認証マルウェアシグネチャを完全定義ファイルに追加することのみならず、シグネチャが追加された後に完全シグネチャ定義ファイルの完全性を検証することも含む。完全シグネチャ定義ファイルは、組み込まれるシグネチャに関連付けられた様々なデータ構造を含む最適化木にシグネチャを組み込む。本発明の一実施形態では、最適化木の目標は、高性能を有する小さなデータファイルである。新たに到着した認証マルウェアシグネチャを完全シグネチャ定義ファイル内に含めることは、新しいシグネチャを最適化木内に組み込むことを含む。
【0021】
シグネチャ更新サーバにより、完全シグネチャ定義ファイルの発行閾値時間が満たされるか否かが判断される(325)。発行閾値時間が満たされない場合、シグネチャ更新サーバは、完全シグネチャ定義ファイルに統合する次の認証マルウェアシグネチャの受信を待つ。完全シグネチャ定義ファイルの発行閾値時間が満たされる場合、シグネチャ更新サーバは、完全シグネチャ定義ファイルの発行プロセスを開始する。あるいは、完全シグネチャ定義ファイルの次のバージョン内に含める新しい認証マルウェアシグネチャの数に対する閾値を設定することができ、そのシグネチャ数が到着すると、新しい完全シグネチャ定義ファイルを発行することができる。
【0022】
完全シグネチャ定義ファイルを発行するために、シグネチャ更新サーバは、あり得るクライアントデータバージョンに配布するためのデルタ定義パッケージを構築して記憶する(330)。ネットワーク帯域幅リソースを節減するために、完全シグネチャ定義ファイルが発行される都度、全て揃った完全シグネチャ定義ファイルを各クライアントコンピュータに送信する必要はない。それに代えて、クライアントは、そのクライアントが完全シグネチャ定義ファイルを最後にダウンロードしてから変更または追加された完全シグネチャ定義木の部分をダウンロードする必要があるだけである。クライアントコンピュータは、完全シグネチャ定義ファイルの最新の発行時にアクティブではなかった可能性があるため、クライアントコンピュータは、最後にダウンロードされ、クライアントコンピュータに記憶された完全シグネチャ定義ファイルのバージョン以来、変更または追加された定義を要求することができる。このプロセスを容易にするために、シグネチャ更新サーバ110は、クライアントコンピュータにより保持されている様々な予想される完全シグネチャ定義ファイルバージョンの完全シグネチャ定義ファイルに対する変更のみを含むデルタ定義ファイルを用意する。本発明の一実施形態では、上記最適化木のさらなる目標は、デルタ定義ファイルのサイズを最小化するように木を構築することである。
【0023】
次に、本発明の実施形態は、各デルタ定義ファイルへのポインタを含むファイルを生成し、それらポインタを、クライアントコンピュータにインストールされた完全シグネチャ定義ファイルの対応するバージョンに関連付けることができる(335)。このファイルは、ミニドライブファイルと呼ばれ、クライアントコンピュータに提供され、クライアントコンピュータが、完全シグネチャ定義ファイルの適切なデルタ定義セットにアクセスして、クライアントコンピュータ上の完全シグネチャ定義ファイルを更新できるようにする。
【0024】
完全シグネチャ定義ミニドライブファイルが構築されると、シグネチャ更新サーバ110は、完全シグネチャ定義ミニドライブファイルをクライアントコンピュータ120(1)〜(M)に送信することができる。本発明の実施形態は、完全シグネチャ定義ミニドライブファイルの送信を様々な様式で提供することができる。例えば、「プル送信モデル」では、クライアントコンピュータは、クライアントコンピュータにより保持される完全シグネチャ定義ファイルに対する最後の更新の時間を追跡し、その更新から期間閾値が経過している場合、クライアントコンピュータは、シグネチャ更新サーバ110または指定の配布サーバから完全シグネチャ定義ミニドライブファイルの最新バージョンを要求することができる。あるいは、「プッシュ送信モード」では、シグネチャ更新サーバ110(または指定の配布サーバ)は、発行期間閾値が満たされた後、完全シグネチャ定義ミニドライブファイルを随時送信することができる。そのようなプッシュモデルでは、送信をリッスンしている任意のクライアントコンピュータは、完全シグネチャ定義ミニドライブファイルを受信し、クライアントに存在する完全シグネチャ定義ファイルの更新プロセスを開始する。
【0025】
並列発行プロセスでのストリーミングシグネチャ定義ファイル内での認証マルウェアシグネチャの発行は、完全シグネチャ定義ファイルの発行からの特定の差分を有する。認証マルウェアシグネチャが受信されると、シグネチャは次のストリーミングシグネチャ定義ファイルに統合される(350)。ストリーミングシグネチャ定義ファイルは、完全シグネチャ定義ファイルの最適化木構造を必要としない。それに代えて、シグネチャ自体またはシグネチャへのポインタが、ストリーミングシグネチャ定義ファイル内に含まれる。これは、部分的に、ストリーミングシグネチャ定義ファイルが構築中の期間中に到着するシグネチャのみが次に発行されるシグネチャ定義ファイル内に存在するため、行うことができる。したがって、ストリーミングシグネチャ定義ファイルのデータ量は、完全シグネチャ定義ファイル内のデータ量よりもはるかに少ない。次のストリーミング定義ファイルを発行するストリーミング時間閾値が経過したか否かが判断される(355)。経過していない場合、シグネチャ更新サーバは、次の認証マルウェアシグネチャの受信を待つ(310)。上述したように、ストリーミングシグネチャ定義ファイルを発行する閾値期間は、完全シグネチャ定義ファイルを発行する閾値期間よりもはるかに短く、本発明の実施形態では、約数分(例えば、5分)であると意図される。
【0026】
ストリーミングシグネチャ定義発行閾値時間が経過した場合、シグネチャ更新サーバ110は、ストリーミングシグネチャ定義ファイルを構築することができる(360)。完全シグネチャ定義ミニドライブファイルと異なり、ストリーミングシグネチャ定義ファイルは、このストリーミングシグネチャ定義内で発行されているシグネチャ自体を含むことが意図される。万が一、シグネチャが、ストリーミングシグネチャ定義ファイル内で直接発行するには長すぎる場合、そのシグネチャへのポインタを提供することができる。次に、本発明の実施形態は、ストリーミングシグネチャ定義ファイルの前のバージョンを、構築されたばかりのストリーミングシグネチャ定義ファイルのバージョンで置き換えることができる(365)。したがって、クライアントに発行されているストリーミングシグネチャ定義ファイルは、現在のストリーミングシグネチャ定義ファイルが構築された期間(例えば、現在のストリーミングシグネチャ定義ファイルの発行前の5分間)中にシグネチャ更新サーバが受信した認証マルウェアシグネチャ(またはシグネチャへのポインタ)のみを含む。次に、本発明の実施形態は、ストリーミングシグネチャ定義ファイルの現在のバージョンをクライアントコンピュータに送信することができる(370)。上述したように、そのような送信は、プッシュ送信モデルまたはプル送信モデルのいずれかを使用して実行し、クライアントに対してシグネチャ更新サーバにより直接、または配布サーバを介して間接的に実行することができる。
【0027】
上述した認証マルウェアシグネチャを配布する並列発行方法では、新たに到着した認証マルウェアシグネチャをマルウェア対策ソフトウェアプロバイダのクライアントに素早く発行することが可能である。並列発行方法は、任意のストリーミングシグネチャ定義ファイルが利用可能になった際、あらゆるクライアントコンピュータが、ストリーミングシグネチャ定義ファイルのダウンロードに利用可能な状態である訳ではないことも認識する。ストリーミングシグネチャ定義ファイルの発行時に利用可能ではなかったため、クライアントが逃したシグネチャ定義ファイルの場合、クライアントは、完全シグネチャ定義ファイルを次回ダウンロードするときに追いつくことができる。したがって、新たに認証されたシグネチャを有することで、マルウェアからクライアントコンピュータを素早く保護することができるが、保護されない状態が、そのクライアントによる完全シグネチャ定義ファイルへの次の更新よりも長く続くことは決してない。
【0028】
図4は、本発明の実施形態を組み込んだシグネチャ更新サーバ110を示す簡略ブロック図である。上述したように、シグネチャ更新サーバ110は、認証サーバ150(1)〜150(P)から認証マルウェアシグネチャを受信する。シグネチャ更新サーバ110の実施形態は、認証マルウェアシグネチャを処理し、完全シグネチャ定義およびストリーミングシグネチャ定義を用意し、これら定義ファイルをマルウェア対策ソフトウェアプロバイダのクライアントに提供するプロセッサ410を提供する。図4は、プロセッサ410内のシグネチャ処理モジュール420が受信中の認証マルウェアシグネチャを示す。シグネチャ処理モジュール420は、認証マルウェアシグネチャをシグネチャデータベース115内に記憶するように構成される。あるいは、認証サーバは、認証マルウェアシグネチャをシグネチャデータベース115内に直接記憶し、次に、新しい認証マルウェアシグネチャがシグネチャデータベース115内に記憶されたことの指示をシグネチャプロセッサモジュール420に提供することができる。
【0029】
シグネチャ処理モジュール420は、受信した認証マルウェアシグネチャを完全シグネチャ定義組み立てモジュール430およびストリーミングシグネチャ定義組み立てモジュール440に提供するようにさらに構成される。完全シグネチャ定義組み立てモジュール430は、新たに到着したマルウェアシグネチャを完全シグネチャ定義木435に統合し、さらに、完全シグネチャ定義ファイルの発行を適切な発行時間に提供するように構成される。したがって、完全シグネチャ定義組み立てモジュールは、完全シグネチャ定義ファイル発行の閾値時間に達した場合、上述したデルタ定義パッケージおよび完全シグネチャ定義ミニドライブファイルを構築するようにさらに構成することが可能である。同様に、ストリーミングシグネチャ定義組み立てモジュール440は、新たに到着したシグネチャを、次のストリーミングシグネチャ定義ファイル内に組み込まれるシグネチャのリストに統合するように構成される(445)。ストリーミングシグネチャ定義組み立てモジュール440は、発行時にストリーミングシグネチャ定義ファイルを構築し、前に発行されたストリーミングシグネチャ定義ファイルを上述したように置き換えるように構成することもできる。したがって、ストリーミングシグネチャ定義組み立てモジュール440は、ストリーミングシグネチャ定義ファイル発行の閾値時間に達した場合、ストリーミングシグネチャ定義ファイルの発行に関連するタスクを実行することができる。
【0030】
図示のように、シグネチャ更新サーバ110は、クライアントコンピュータとの情報の送受信を行う通信モジュール450を含む。通信モジュール450は、例えば、クライアントコンピュータにインストールされたマルウェア対策ソフトウェアと通信するアプリケーションプログラミングインタフェースを含む様々なプロトコルを使用してこれらタスクを実行することができる。通信モジュール450は、クライアントから受信した要求をプロセッサ410内の要求パーサ460に提供するように構成される。要求パーサ460は、クライアントから受信した要求の性質を特定し、その要求を適切な要求処理モジュールに提供するように構成される。例えば、プル送信動作モードでは、クライアントが完全シグネチャ定義ファイルのダウンロードを要求する場合、要求パーサ460は、その要求を完全シグネチャ定義要求モジュール470に提供する。同様に、要求パーサ460がストリーミングシグネチャ定義ファイルに対する要求を受信する場合、要求パーサ460は、その要求をストリーミングシグネチャ定義要求モジュール480に提供する。
【0031】
完全シグネチャ定義ファイルに対する要求に応答して、完全シグネチャ定義要求モジュール470は、最新の完全シグネチャ定義ミニドライブファイルを完全シグネチャ定義記憶領域435から検索し、その完全シグネチャ定義ミニドライブファイルを通信モジュール450に提供して、要求側クライアントに送信することができる。完全シグネチャ定義ミニドライブファイルの受信を受けて、要求側クライアントは、適切なデルタ定義ファイルをシグネチャ更新サーバ110から要求することができる。次に、要求パーサ460は、デルタ定義ファイルに対する要求を完全シグネチャ定義要求モジュール470に転送することができ、次に、完全シグネチャ定義要求モジュール470は、デルタ定義ファイルを完全シグネチャ定義記憶領域435から検索し、そのデルタ定義ファイルを通信モジュール450に提供して、要求側クライアントに送信することができる。あるいは、完全シグネチャ定義ミニドライブファイルは、デルタ定義ファイルを要求側クライアントに提供するように特に構成された別個の配布サーバ内の記憶領域へのポインタを含むことができる。
【0032】
要求パーサ460は、ストリーミングシグネチャ定義ファイルに対する要求を受信した場合、その要求をストリーミングシグネチャ定義要求モジュール480に提供する。次に、ストリーミングシグネチャ定義要求モジュール480は、最新のストリーミングシグネチャ定義ファイルをストリーミングシグネチャ定義記憶領域445から検索し、通信モジュール450を通してそのストリーミングシグネチャ定義ファイルを要求側クライアントに提供することができる。上述したように、ストリーミングシグネチャ定義ファイルは、現在の発行機関中に認証サーバから受信した認証マルウェアシグネチャの完全バージョンまたは要求側クライアントがシグネチャをダウンロードできるそのシグネチャのロケーションへのポインタを含むことができる。
【0033】
ストリーミングシグネチャ定義ミニドライブファイル内でマルウェアシグネチャへのポインタを受信したことに応答して、クライアントは、シグネチャに対する要求をシグネチャ更新サーバ110に提出することができる。シグネチャ要求を受信すると、要求パーサ460は、そのシグネチャ要求をシグネチャ要求モジュール490に提供することができ、シグネチャ要求モジュール490は、要求されたシグネチャをシグネチャデータベース115から検索し、通信モジュール450を介して要求されたシグネチャを要求側クライアントに提供することができる。あるいは、上述のように、ストリーミングシグネチャ定義ミニドライブファイル内に含まれないシグネチャへのポインタは、シグネチャを要求側クライアントに提供するように構成された別個の配布サーバを指すことができる。
【0034】
図4は、特定のタスクを実行するものとして説明した異なるモジュールを示すが、本発明の実施形態がそのような構成に限定されないことを留意されたい。例えば、2つ以上の別個のモジュールにより実行されるものとして説明されたタスクを単一のモジュールで実行してもよい。さらに、データベースにより提供されるものとして説明された記憶を、代替として、他のアクセス可能なデータ構造により提供してもよい。
【0035】
図5は、本発明の実施形態によるクライアントコンピュータにより実行されるシグネチャ定義更新プロセスを示す簡略流れ図である。最初のステップとして、クライアントコンピュータは、マルウェア対策ソフトウェアを開始する(505)。開始プロセスは、クライアントにインストールされた完全シグネチャ定義ファイルおよびあらゆるストリーミングシグネチャ定義ファイルの最後の更新時間を特定することを含むことができる。クライアントは、完全ストリーミング定義セットの最後の更新時間が、完全ストリーミング定義ファイルを更新する閾値を超えるか否かを判断する(510)。上述したように、完全ストリーミング定義閾値時間は通常、約数時間(例えば、8時間)単位である。完全ストリーミング定義セットの最後の更新が所定の閾値時間を超える場合、クライアントは、最新の完全シグネチャ定義ミニドライブファイルを要求し受信することができる(515)。次に、クライアントは、完全ストリーミング定義セットの現在の更新に関連付けられたバージョン番号を、完全ストリーミング定義ミニドライブファイル内で識別されるバージョンと比較し、適切なデルタ定義ファイルに関連付けられた情報を識別することができる(520)。適切なデルタ定義ファイルについての情報が識別されると、クライアントは、適切なデルタ定義ファイルを要求し受信することができる(525)。上述したように、クライアントは、デルタ定義ファイルをシグネチャ更新サーバまたは識別された配布サーバから要求することができる。
【0036】
要求されたデルタ定義ファイルを受信すると、クライアントは、デルタ定義ファイル内の情報を使用して、クライアントにインストールされた完全シグネチャ定義セットを更新することができる(530)。上述したように、デルタ定義ファイルは、クライアントコンピュータ上の完全シグネチャ定義セットの前にインストールされたバージョンから変更された完全シグネチャ定義木の部分に関連する情報を含む。クライアントコンピュータにインストールされたマルウェア対策ソフトウェアは、デルタ定義ファイルにより表される変更を、クライアントコンピュータにインストールされている完全シグネチャ定義セットのアクティブバージョン内に組み込むように構成することができる。
【0037】
更新された完全シグネチャ定義セットがクライアントコンピュータでアクティブになると、クライアントコンピュータは、更新された完全シグネチャ定義セット内に含まれるいかなる定義のストリーミングシグネチャ定義データセットもクリアすることができる(535)。本発明の実施形態は、各ストリーミングシグネチャ定義と共に完全シグネチャ定義セットバージョン識別情報を含めることにより、この機能を提供することができる。したがって、クライアントコンピュータにインストールされた完全シグネチャ定義セットが、ストリーミングシグネチャ定義に関連付けられた関連の完全ストリーミング定義セットバージョン識別子に一致する場合、ストリーミングシグネチャ定義を、クライアントコンピュータにより保持されるストリーミングシグネチャ定義データセットから除去することができる。
【0038】
次に、クライアントコンピュータは、最後のストリーミングシグネチャ定義更新時間が、ストリーミングシグネチャ定義に設定された閾値を超えるか否かを判断するように構成することができる(540)。完全シグネチャ定義更新時間が完全シグネチャ定義更新閾値を超えないと判断された後でも、このステップを実行できることに留意する。ストリーミングシグネチャ定義更新時間がストリーミングシグネチャ定義閾値を超えない場合、マルウェア対策ソフトウェアは、ストリーミングシグネチャ定義閾値時間が満たされるまで、現在インストールされている完全シグネチャ定義セットおよびストリーミングシグネチャ定義セットを使用して機能を実行することができる。
【0039】
ストリーミングシグネチャ定義閾値時間が満たされると、クライアントは、最新のストリーミングシグネチャ定義ミニドライブファイルをシグネチャ更新サーバ110から要求して受信することができる(545)。ストリーミングシグネチャ定義ミニドライブファイルを受信すると、クライアントは、ミニドライブファイル内に存在するストリーミングシグネチャ定義を、クライアントコンピュータに保持されているストリーミングシグネチャデータセットに追加することができる(550)。このステップは、ストリーミングシグネチャ定義ミニドライブファイル内に含まれていないが、シグネチャへのポインタを有する任意のシグネチャを要求して受信することを含むこともできる。ストリーミングシグネチャ定義データセット内に組み込んだ後、クライアントコンピュータは、マルウェアの検出および修復を実行する際に、完全シグネチャ定義データセットおよびストリーミングシグネチャ定義データセットの両方内のシグネチャ情報を利用することができる(555)。
【0040】
図5は、クライアントコンピュータが完全シグネチャ定義情報およびストリーミングシグネチャ定義情報の両方の送信を開始するプル送信モードで機能するクライアントコンピュータの図である。あるいは、クライアントは、クライアントがリッスンする姿勢を採用し、完全シグネチャ定義ファイルおよびストリーミングシグネチャ定義ファイルの送信の受信を待つプッシュ送信モードで機能することもできる。さらなる代替は、完全シグネチャ定義情報の場合にはプル送信モードで機能し、ストリーミングシグネチャ定義の場合にはプッシュ送信モードで機能するクライアントを含むことができる。
【0041】
図5に示されるプロセスを使用して動作するクライアントコンピュータが、ネットワークから切断される場合、または他の様式で任意の期間にわたって非アクティブである場合、1つまたは複数のストリーミングシグネチャ定義ミニドライブファイルをダウンロードする機会を逃し得ることを理解されたい。ストリーミングシグネチャ定義ファイルは、完全シグネチャ定義ファイルに見られる情報に追加されるものであり、後続する各ストリーミングシグネチャ定義ファイルは、新たに到着した認証マルウェアシグネチャのみを含むため、クライアントコンピュータのストリーミングシグネチャ定義データセットに見られるシグネチャにギャップがあり得る。しかし、完全シグネチャ定義データセットの次の更新により、クライアントコンピュータを最新の状態にすることになり、すべてのギャップがその時点で埋められることをさらに理解されたい。したがって、本発明の実施形態を実施するクライアントコンピュータは、本発明の実施形態を実施しないクライアントコンピュータ(例えば、完全シグネチャ定義のみを受信するクライアント)よりも悪くなることはあり得ず、本発明の実施形態を実施するクライアントコンピュータは、本発明の実施形態を実施しないクライアントコンピュータよりもはるかに素早く、マルウェアの新しいインスタンスに対して潜在的に保護することができる。完全シグネチャ定義およびストリーミングシグネチャ定義の両方のクライアントコンピュータへの更新閾値期間を、シグネチャ更新サーバに構成される発行期間と同じ期間に設定すべきであることも理解されたい。
【0042】
本発明の実施形態は、クライアント上のシグネチャデータセットのより頻繁な(例えば、約数分単位)更新を提供するのみならず、完全シグネチャ定義データセットをより頻繁に発行するよりもネットワーク帯域幅利用に対する影響が最小な状態でそのような機能を提供もする。そのような帯域幅消費の低減は、ストリーミングシグネチャ定義ファイルが、発行期間中に新しいシグネチャのみを含むため、実現される。そのようなシグネチャは平均で50バイトであり、5分毎に50〜150個の新しいシグネチャがあると予想されるため、ストリーミングシグネチャ定義ミニドライブファイルは2500〜7500バイトであると予想される。その場合、ネットワーク帯域幅への影響を複数の配布サーバに分散させることができ、ネットワーク帯域幅への影響は、ストリーミングシグネチャ定義を要求するクライアントコンピュータの台数またはプッシュ送信配布サーバがストリーミングシグネチャ定義を提供するメカニズム(例えば、ブロードキャストまたはマルチキャスト)に依存する。
【0043】
計算・ネットワーク環境の例
上に示したように、本発明は、様々なコンピュータシステムおよびネットワークを使用して実施することができる。そのような1つの計算・ネットワーク環境の例について、図6および図7を参照して以下に説明する。
【0044】
図6は、本発明の実施形態の実施に適したコンピュータシステム610(例えば、シグネチャ更新サーバ110およびクライアントコンピュータ120(1)〜(M))のブロック図を示す。コンピュータシステム610は、中央プロセッサ614、システムメモリ617(通常、RAMであるが、ROM、フラッシュRAM等を含むこともできる)、入/出力コントローラ618、オーディオ出力インタフェース622を介するスピーカシステム620等の外部オーディオ装置、ディスプレイアダプタ626を介する表示画面624等の外部装置、シリアルポート628および630、キーボード632(キーボードコントローラ633とインタフェースする)、ストレージインタフェース634、フロッピーディスク638を受けるように動作可能なフロッピーディスクドライブ637、ファイバチャネルネットワーク690に接続するように動作可能なホストバスアダプタ(HBA)インタフェースカード635A、SCSIバス639に接続するように動作可能なホストバスアダプタ(HBA)インタフェースカード635B、ならびに光ディスク642を受けるように動作可能な光ディスクドライブ640等のコンピュータシステム610の主要サブシステムを相互接続するバス612を含む。マウス646(または他のポイント・クリック装置であり、シリアルポート628を介してバス612に結合される)、モデム647(シリアルポート630を介してバス612に結合される)、およびネットワークインタフェース648(バス612に直接結合される)も含まれる。
【0045】
バス612は、中央プロセッサ614とシステムメモリ617との間のデータ通信を可能にし、システムメモリ617は、上述したように、読み取り専用メモリ(ROM)またはフラッシュメモリ(いずれも図示せず)およびランダムアクセスメモリ(RAM)(図示せず)を含み得る。RAMは一般に、オペレーティングシステムおよびアプリケーションプログラムがロードされるメインメモリである。ROMまたはフラッシュメモリは、コードの中でも特に、周辺機器との対話等の基本ハードウェア動作を制御する基本入出力システム(BIOS)を含み得る。コンピュータシステム610に存在するアプリケーションは一般には、ハードディスクドライブ(例えば、固定ディスク644)、光ドライブ(例えば、光ドライブ640)、フロッピーディスクユニット637、または他の記憶媒体等のコンピュータ可読媒体に記憶され、コンピュータ可読媒体を介してアクセスされる。さらに、アプリケーションは、ネットワークモデム647またはインタフェース648を介してアクセスされた場合にアプリケーションおよびデータ通信技術に従って変調される電子信号の形態であってもよい。
【0046】
ストレージインタフェース634は、コンピュータシステム610の他のストレージインタフェースと同様に、固定ディスクドライブ644等の、情報を記憶し、かつ/または検索するための標準コンピュータ可読媒体に接続することができる。固定ディスクドライブ644は、コンピュータシステム610の部分であってもよく、または別個であり、他のインタフェースシステムを通してアクセスしてもよい。モデム647は、電話回線リンクを介してリモートサーバへの直接接続またはインターネットサービスプロバイダ(ISP)を介してインターネットへの直接接続を提供し得る。ネットワークインタフェース648は、POP(point of presence)を介するインターネットへの直接ネットワークリンクを介してリモートサーバに直接接続を提供し得る。ネットワークインタフェース648は、デジタルセルラ電話接続、セルラデジタルパケットデータ(CDPD)接続、デジタル衛星データ接続等を含む無線技法を使用してそのような接続を提供し得る。
【0047】
多くの他の装置またはサブシステム(図示せず)も同様に接続し得る(例えば、ドキュメントスキャナ、デジタルカメラ等)。逆に、本発明を実施するために、図6に示されているすべての装置が存在する必要はない。装置およびサブシステムは、図6に示される方法とは異なる方法で相互接続されてもよい。図6に示されるようなコンピュータシステムの動作は、当分野において容易に知られており、本願において詳細に考察しない。本発明を実施するためのコードは、システムメモリ617、固定ディスク644、光ディスク642、またはフロッピーディスク638のうちの1つまたは複数等のコンピュータ可読記憶媒体に記憶することができる。コンピュータシステム610に提供されるオペレーティングシステムは、MS−DOS(登録商標)、MS−WINDOWS(登録商標)、OS//2(登録商標)、UNIX(登録商標)、Linux(登録商標)、または別の既知のオペレーティングシステムであり得る。
【0048】
さらに、本明細書において説明される信号に関して、信号を第1のブロックから第2のブロックに直接送信してもよく、又は信号をブロック間で変更してもよい(例えば、増幅、減衰、遅延、ラッチ、バッファリング、反転、フィルタリング、または他の様式での変更)ことを当業者なら理解するであろう。上述した実施形態の信号は、あるブロックから次のブロックに送信されることを特徴とするが、本発明の他の実施形態は、信号の情報および/または機能側面がブロック間で送信される限り、そのような直接送信される信号に代えて、変更された信号を含み得る。ある程度、第2のブロックでの信号入力は、関わる回路の物理的制限により(例えば、いくらかの減衰および遅延が必然的に存在することになる)、第1のブロックからの第1の信号出力から導出される第2の信号として概念化することができる。したがって、本明細書において使用される、第1の信号から導出される第2の信号は、回路制限によるものであるか、それとも第1の信号の情報的側面および/または機能的側面を変更しない他の回路要素を通過することによるものであるかに関わらず、第1の信号または第1の信号への任意の変更を含む。
【0049】
図7は、クライアントシステム710、720、および730、ならびに記憶サーバ740Aおよび740B(これらのうちの任意のものはコンピュータシステム610を使用して実施することができる)がネットワーク750に結合されるネットワークアーキテクチャ700を示すブロック図である。記憶サーバ740Aは、直接取り付けられた記憶装置760A(1)〜(N)としてさらに示され、記憶サーバ740Bは、直接取り付けられた記憶装置760B(1)〜(N)を有して示される。記憶サーバ740Aおよび740Bは、SANファブリック770にも接続されるが、ストレージエリアネットワークへの接続は、本発明の動作に必要なものではない。SANファブリック770は、ネットワーク750を介しての記憶サーバ740Aおよび740B、ひいてはクライアントシステム710、720、および730による記憶装置780(1)〜(N)へのアクセスをサポートする。インテリジェント記憶装置アレイ790も、SANファブリック770を介してアクセス可能な特定の記憶装置の例として示される。
【0050】
コンピュータシステム610を参照すると、モデム647、ネットワークインタフェース648、または他の何等かの方法を使用して、クライアントコンピュータシステム710、720、および730のそれぞれからネットワーク750への接続を提供することができる。クライアントシステム710、720、および730は、例えば、ウェブブラウザまたは他のクライアントソフトウェア(図示せず)を使用して記憶サーバ740Aまたは740B上の情報にアクセスすることが可能である。そのようなクライアントは、クライアントシステム710、720、および730が、記憶サーバ740Aもしくは740B、記憶装置760A(1)〜(N)、760B(1)〜(N)、780(1)〜(N)のうちの1つ、またはインテリジェント記憶装置アレイ790によりホストされるデータにアクセスできるようにする。図7は、データを交換するために、インターネット等のネットワークを使用することを示すが、本発明はインターネットまたはいかなる特定のネットワークに基づく環境にも限定されない。
【0051】
他の実施形態
本発明は、上述した利点ならびに固有の他の利点を得るように上手く適応する。本発明は、本発明の特定の実施形態を参照することにより図示され、説明され、定義されたが、そのような参照は本発明の対する限定を暗示せず、そのような限定は暗示されない。本発明は、形態および機能に関して、関連分野の当業者が思いつくであろうかなりの変更、代替、および均等物が可能である。図示され説明される実施形態は単なる例であり、本発明の範囲を網羅するものではない。
【0052】
上記では、他の構成要素内に含まれる構成要素(例えば、コンピュータシステム610の構成要素として示される様々な要素)を含む実施形態について説明した。そのようなアーキテクチャは単なる例であり、実際には、同じ機能を達成する他の多くのアーキテクチャを実施し得る。抽象的ではなるが、それでもやはり明確な意味で、同じ機能を達成する構成要素の任意の構成は、所望の機能が達成されるように効率的に「関連付けられる」。したがって、本明細書において組み合わせられて特定の機能を達成する任意の2つの構成要素は、アーキテクチャまたは介在構成要素に関係なく、所望の機能が達成されるように互いに「関連付けられる」ものとして見ることができる。同様に、そうして関連付けられた任意の2つの構成要素は、互いに「動作可能に接続」または「動作可能に結合」されて、所望の機能を達成するものとして見ることもできる。
【0053】
上記の詳細な説明は、ブロック図、フローチャート、および例の使用を介して本発明の様々な実施形態を説明した。例の使用により示される各ブロック図構成要素、フローチャートステップ、動作、および/または構成要素を、広範囲のハードウェア、ソフトウェア、ファームウェア、またはこれらの任意の組み合わせにより個々に、かつ/または集合的に実施可能なことを当業者なら理解するであろう。
【0054】
本発明について完全に機能的なコンピュータシステムの文脈の中で説明したが、本発明を様々な形態でプログラム製品として配布可能なこと、および本発明が、実際に配布の実行に使用される特定の種類の信号搬送媒体に関係なく等しく適用されることを当業者なら理解するであろう。信号搬送媒体の例としては、コンピュータ可読記憶媒体、デジタル通信リンクおよびアナログ通信リンク等の伝送型媒体、ならびに将来開発される媒体記憶・配布システムが挙げられる。
【0055】
上記実施形態は、特定のタスクを実行するソフトウェアモジュールにより実施することができる。本明細書において考察されるソフトウェアモジュールは、スクリプト、バッチ、または他の実行可能ファイルを含み得る。ソフトウェアモジュールは、磁気フロッピーディスク、ハードディスク、半導体メモリ(例えば、RAM、ROM、およびフラッシュ型媒体)、光ディスク(例えば、CD−ROM、CD−R、およびDVD)、または他の種類のメモリモジュール等の機械可読またはコンピュータ可読の記憶媒体に記憶し得る。本発明の実施形態による、ファームウェアまたはハードウェアモジュールの記憶に使用される記憶装置は、マイクロプロセッサ/メモリシステムに永久的に、取り外し可能に、または遠隔的に結合し得る半導体に基づくメモリも含み得る。したがって、モジュールをコンピュータシステムメモリに記憶して、モジュールの機能を実行するようにコンピュータシステムを構成することができる。本明細書において考察したモジュールを記憶するために、他の新しい様々な種類のコンピュータ可読記憶媒体を使用し得る。
【0056】
上記説明は、本発明の例示を意図されるものであり、限定として解釈されるべきではない。本発明の範囲内の他の実施形態も可能である。当業者なら、本明細書において開示された構造および方法を提供するために必要なステップを容易に実施し、プロセスパラメータおよびステップの順序が単なる例として与えられ、所望の構造ならびに本発明の範囲内の変更を達成するために変更可能なことを理解するであろう。本明細書に開示される実施形態の変形および変更は、本発明の範囲から逸脱せずに、本明細書に記載される説明に基づいて行うことができる。
【0057】
したがって、本発明は、すべての観点での均等物を完全に認識して、添付の特許請求の範囲によってのみ限定されることが意図される。
【0058】
本発明についていくつかの実施形態に関連して説明したが、本発明は本明細書に記載される特定の形態に限定されることを意図されない。逆に、添付の特許請求の範囲により定義される本発明の範囲内に合理的に包含可能なそのような代替、変更、および均等物を包含することが意図される。
【産業上の利用可能性】
【0059】
本発明の実施形態は、コンピュータセキュリティの分野に使用することができる。

【特許請求の範囲】
【請求項1】
受信した第1のマルウェアシグネチャを含む完全シグネチャ定義ファイルを組み立てることであって、前記完全シグネチャ定義ファイルは、指定の時間までに受信した第1の複数のマルウェアシグネチャをさらに含む、こと、
前記指定の時間後、前記完全シグネチャ定義ファイルを発行すること、
前記受信した第1のマルウェアシグネチャを含むストリーミングシグネチャ定義ファイルを組み立てることであって、前記ストリーミングシグネチャ定義ファイルは、第1の期間中に受信する第2の複数のマルウェアシグネチャをさらに含み、前記第1の期間は、第1の開始時間に開始され、第1の終了時間に終了し、前記第1の終了時間は前記指定の時間よりも先である、こと、および
前記第1の期間が経過した場合、前記ストリーミングシグネチャ定義ファイルを発行すること
を含む、方法。
【請求項2】
前記ストリーミングシグネチャ定義ファイルを発行することは、
第1のリモートノードからの要求に応答して、前記ストリーミングシグネチャ定義ファイルを送信すること
を含み、および
前記第1のリモートノードからの要求は第2の終了時間よりも先であり、前記第2の終了時間は前記第1の終了時間の後である、請求項1に記載の方法。
【請求項3】
前の完全シグネチャ定義ファイルおよび前記ストリーミングシグネチャ定義ファイルを使用して、前記第1の受信シグネチャおよび前記第1の複数のマルウェアシグネチャのうちの1つに対応するマルウェアのインスタンスを探して前記第1のリモートノードをスキャンすること
をさらに含み、
前記第1のリモートノードをスキャンすることは、前記指定の時間よりも先に実行される、請求項2に記載の方法。
【請求項4】
第2の期間中に受信する第3の複数のシグネチャを含む第2のストリーミングシグネチャ定義ファイルを組み立てることであって、前記第2の期間は、第2の開始時間で開始され、第2の終了時間で終了し、前記第2の開始時間は前記第1の終了時間の後であり、前記第2の終了時間は前記指定の時間よりも先である、こと、および
前記第2の期間が経過した場合、前記第2のストリーミングシグネチャ定義ファイルを発行すること
をさらに含む、請求項1に記載の方法。
【請求項5】
前記第2のストリーミングシグネチャ定義ファイルを発行することは、
前記第2の期間が経過した場合、前記ストリーミングシグネチャ定義ファイルを前記第2のストリーミングシグネチャ定義ファイルで置き換えること
を含む、請求項4に記載の方法。
【請求項6】
前記受信した第1のマルウェアシグネチャ、前記第1の複数のマルウェアシグネチャ、および前記第2の複数のマルウェアシグネチャは、1つまたは複数のマルウェアシグネチャ認証エンジンから受信される、請求項1に記載の方法。
【請求項7】
前記ストリーミングシグネチャ定義ファイルを組み立てることは、
前記第2の複数のマルウェアシグネチャのうちの1つまたは複数のマルウェアシグネチャを含むリストに前記受信した第1のマルウェアシグネチャを添付することを含む、請求項1に記載の方法。
【請求項8】
前記ストリーミングシグネチャ定義ファイルを組み立てることは、
前記受信した第1のマルウェアシグネチャに対応するポインタを、前記第2の複数のマルウェアシグネチャのうちの対応するマルウェアシグネチャへの1つまたは複数のポインタを含むリストに添付することを含み、前記受信した第1のマルウェアシグネチャに対応する前記ポインタは、前記受信した第1のマルウェアシグネチャのロケーションに関する情報を含む、請求項1に記載の方法。
【請求項9】
プロセッサと、
前記プロセッサに結合され、第1のマルウェアシグネチャ、第1の複数のマルウェアシグネチャ、および第2の複数のマルウェアシグネチャを受信するように構成されたネットワークインタフェースと、
前記プロセッサに結合され、完全シグネチャ定義ファイルを記憶するように構成された第1の記憶ボリュームであって、前記完全シグネチャ定義ファイルは前記第1にマルウェアシグネチャを含む、第1の記憶ボリュームと、
前記プロセッサに結合され、ストリーミングシグネチャ定義ファイルを記憶するように構成される第2の記憶ボリュームであって、前記ストリーミングシグネチャ定義ファイルは前記第1のマルウェアシグネチャを含む、第2の記憶ボリュームと、
前記プロセッサに結合され、前記プロセッサにより実行可能な命令を記憶するメモリと
を備え、
前記命令は、
前記完全シグネチャ定義ファイルを組み立てることであって、前記完全シグネチャ定義ファイルは、指定の時間までに受信した第1の複数のマルウェアシグネチャをさらに含む、こと、
前記指定の時間後、前記完全シグネチャ定義ファイルを発行すること、
前記ストリーミングシグネチャ定義ファイルを組み立てることであって、前記ストリーミングシグネチャ定義ファイルは、第1の開始時間に開始されかつ第1の終了時間で終了する第1の期間中に受信される第2の複数のマルウェアシグネチャをさらに含み、前記第1の終了時間は前記指定の時間よりも先である、こと、および
前記第1の期間が経過した場合、前記ストリーミングシグネチャ定義ファイルを発行すること
を行うように構成される、装置。
【請求項10】
前記プロセッサに結合され、前記ストリーミングシグネチャ定義ファイルを送信するように構成される第2のネットワークインタフェース
をさらに備え、
前記メモリは、前記プロセッサにより実行可能でありかつ第1のリモートノードからの要求に応答して前記第2のネットワークインタフェースを使用して前記ストリーミングシグネチャ定義ファイルを送信するように構成される前記ストリーミングシグネチャ定義ファイルを発行する命令をさらに含み、
前記第1のリモートノードからの要求は、第2の終了時間よりも先であり、および
前記第2の終了時間は、前記第1の終了時間の後である、請求項9に記載の装置。
【請求項11】
前記プロセッサにより実行可能であり、第2の期間中に受信される第3の複数のシグネチャを含む第2のストリーミングシグネチャ定義ファイルを組み立てることであって、前記第2の期間は、前記第1の終了時間の後である第2の開始時間で開始され、前記指定の時間よりも先の第2の終了時間に終了する、こと、および前記第2の期間が経過した場合、前記第2のストリーミングシグネチャ定義ファイルを発行すること
を行うように構成される命令をさらに記憶する前記メモリ
をさらに備える、請求項9に記載の装置。
【請求項12】
前記プロセッサにより実行可能であり、前記第2の期間が経過した場合、前記ストリーミングシグネチャ定義ファイルを前記第2のストリーミングシグネチャ定義ファイルで置き換えるように構成される、前記第2のストリーミングシグネチャファイルを発行するさらなる命令を記憶する前記メモリ
をさらに備える、請求項11に記載の装置。
【請求項13】
前記プロセッサにより実行可能であり、前記第1のマルウェアシグネチャを、前記第2の複数のマルウェアシグネチャの1つまたは複数のマルウェアシグネチャを含むリストに添付するように構成される、前記ストリーミングシグネチャ定義ファイルを組み立てる命令をさらに記憶する前記メモリを
さらに備える、請求項9に記載の装置。
【請求項14】
前記プロセッサにより実行可能であり、前記第1のマルウェアシグネチャに対応するポインタを、前記第2の複数のマルウェアシグネチャの対応するマルウェアシグネチャへの1つまたは複数のポインタを含むリストに添付するように構成される、前記ストリーミングシグネチャ定義ファイルを組み立てる命令をさらに記憶する前記メモリをさらに備え、前記第1のマルウェアシグネチャに対応する前記ポインタは、前記第1のマルウェアシグネチャのロケーションに関する情報を含む、請求項9に記載の装置。
【請求項15】
第1のマルウェアシグネチャを受信すること、および
前記第1のマルウェアシグネチャを完全定義組み立てモジュールおよびストリーミング定義組み立てモジュールに提供すること
を行うように構成される信号プロセッサモジュールであって、
前記完全定義組み立てモジュールは、前記信号プロセッサモジュールに結合され、前記第1のマルウェアシグネチャを含む完全シグネチャ定義ファイルを組み立て、前記完全シグネチャ定義ファイルを関連付けられた第1のメモリに記憶するように構成され、前記完全シグネチャ定義ファイルは、指定の時間までに前記完全定義組み立てモジュールが受信する第1の複数のマルウェアシグネチャをさらに含む、信号プロセッサモジュールと、
前記第1のメモリに結合され、前記指定の時間後に前記完全シグネチャ定義ファイルのすべてまたは部分を送信するように構成される完全定義要求モジュールであって、
前記ストリーミング定義組み立てモジュールは、前記信号プロセッサモジュールに結合され、前記第1のマルウェアシグネチャを含むストリーミングシグネチャ定義ファイルを組み立て、前記ストリーミングシグネチャ定義ファイルを関連付けられた第2のメモリの記憶するように構成され、前記ストリーミングシグネチャ定義ファイルは、第1の期間中に受信する第2の複数のマルウェアシグネチャをさらに含み、前記第1の期間は、第1の開始時間に開始され、第1の終了時間に終了し、前記第1の終了時間は、前記指定の時間よりも先である、完全定義要求モジュールと、
前記第2のメモリに結合され、前記第1の期間が経過した場合、前記ストリーミングシグネチャ定義ファイルを送信するように構成されるストリーミング定義要求モジュールと
を備える、システム。
【請求項16】
ネットワークにより前記ストリーミング定義要求モジュールに結合され、前記ストリーミングシグネチャ定義ファイルを要求するように構成されるリモートノードをさらに備え、前記要求は第2の終了時間よりも先であり、前記第2の終了時間は前記第1の終了時間の後であり、
前記ストリーミング定義要求モジュールは、前記リモートノードからの前記要求に応答して、前記ストリーミングシグネチャ定義ファイルの送信を実行するようにさらに構成される、請求項15に記載のシステム。
【請求項17】
前記信号プロセッサモジュールは、第2の期間中に第3の複数のシグネチャを受信するようにさらに構成されることであって、
前記第2の期間は、第2の開始時間で開始され、第2の終了時間で終了し、
前記第2の開始時間は前記第1の終了時間の後であり、および
前記第2の終了時間は前記指定の時間よりも先である、こと
前記ストリーミング定義組み立てモジュールは、前記第3の複数のシグネチャを含む第2のストリーミングシグネチャ定義ファイルを組み立て、前記第2のストリーミングシグネチャ定義ファイルを関連付けられた前記第2のメモリに記憶するようにさらに構成されること、および
前記ストリーミング定義要求モジュールは、前記第2の期間が経過した場合、前記第2のストリーミング定義ファイルを送信するようにさらに構成されること
をさらに備える、請求項15に記載のシステム。
【請求項18】
前記信号プロセッサモジュールに結合され、受信された前記第1のマルウェアシグネチャ、前記第1の複数のマルウェアシグネチャ、および前記第2の複数のマルウェアシグネチャを前記信号プロセッサモジュールに提供するように構成される1つまたは複数のマルウェアシグネチャ認証エンジン
をさらに備える、請求項15に記載のシステム。
【請求項19】
前記ストリーミングシグネチャ定義組み立てモジュールは、
前記第1のマルウェアシグネチャを、前記第2の複数のマルウェアシグネチャのうちの1つまたは複数のマルウェアシグネチャを含むリストに添付することにより、前記ストリーミングシグネチャ定義ファイルを組み立てるようにさらに構成される、請求項15に記載のシステム。
【請求項20】
前記ストリーミングシグネチャ定義組み立てモジュールは、
前記第1のマルウェアシグネチャに対応するポインタを、前記第2の複数のマルウェアシグネチャのうちの対応するマルウェアシグネチャへの1つまたは複数のポインタを含むリストに添付することにより、前記ストリーミングシグネチャ定義ファイルを組み立てるようにさらに構成され、前記第1のマルウェアシグネチャに対応する前記ポインタは、前記第1のマルウェアシグネチャのロケーションに関する情報を含む、請求項15に記載のシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公表番号】特表2011−525285(P2011−525285A)
【公表日】平成23年9月15日(2011.9.15)
【国際特許分類】
【出願番号】特願2011−514860(P2011−514860)
【出願日】平成21年6月19日(2009.6.19)
【国際出願番号】PCT/US2009/048022
【国際公開番号】WO2009/155555
【国際公開日】平成21年12月23日(2009.12.23)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.フロッピー
【出願人】(501113353)シマンテック コーポレーション (78)
【氏名又は名称原語表記】Symantec Corporation
【Fターム(参考)】