JP2007528040A - メッセージプロテクションシステムにおける二段階ハッシュ値マッチング法 - Google Patents

メッセージプロテクションシステムにおける二段階ハッシュ値マッチング法 Download PDF

Info

Publication number
JP2007528040A
JP2007528040A JP2006515300A JP2006515300A JP2007528040A JP 2007528040 A JP2007528040 A JP 2007528040A JP 2006515300 A JP2006515300 A JP 2006515300A JP 2006515300 A JP2006515300 A JP 2006515300A JP 2007528040 A JP2007528040 A JP 2007528040A
Authority
JP
Japan
Prior art keywords
value
message
values
exploit
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006515300A
Other languages
English (en)
Other versions
JP4447008B2 (ja
Inventor
ビン ワン
ジェイムズ カード
グレゴリー ジェイ スミス
ロバート パクストン スコット
Original Assignee
ノキア インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ノキア インコーポレイテッド filed Critical ノキア インコーポレイテッド
Publication of JP2007528040A publication Critical patent/JP2007528040A/ja
Application granted granted Critical
Publication of JP4447008B2 publication Critical patent/JP4447008B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity

Abstract

本発明は、メッセージプロテクションシステムにおける二段階ハッシュ値マッチング法を提供する。この発明は、さらに、可能であれば、高度なシグネチャーハッシュ値(SSHV)に関連する計算を避けることで、メッセージプロテクションシステムの性能を向上させる。二段階ハッシュ値マッチング法を実行するメッセージプロテクションシステムは、以前にスキャンされたオブジェクトの、大まかなアウトラインハッシュ値(ROHV)をキャッシュに記憶する。このシステムは、ROHVを使用することで、一つのオブジェクトを、もう一方から、おおまかに識別することができる。このシステムは、比較的多くの時間を必要とするSSHVに関連する計算を実行する前に、ROHVを使用することで初期チェックを実行する。
【選択図】図1

Description

本発明は、コンピュータネットワークセキュリティに関連している。特に、ネットワークのためのエクスプロイトプロテクションに関連する。
インターネットは、世界中に設置された数百万のノードに接続されており、電子メール、ウェブブラウジング、ファイル転送、インスタントメッセージ、およびその他として知られている電子メッセージの形式で情報を交換することを可能とした。ボタンをクリックすることで、世界のある場所にいるユーザーは、数千マイル離れたもう一方のコンピュータ上のファイルにアクセスすることができる。情報の送信が容易であることもあって、意図されない目的のための技術の利己的な利用が存在してきた。利己的な利用の第一の良く知られたケースは、プログラムを広めるために電子メールを使用することを伴った。一度、一つのコンピュータがプログラムに「感染」すると、そのプログラムを含んだ電子メールメッセージを他のコンピュータへ送信することが考えられる。ウィルスのように、そのプログラムは、コンピュータからコンピュータへ驚くべき速さで広がっていく。現在、ほとんど毎日のようにウィルス的なプログラム(以下、「エクスプロイト(exploit)」)が、ニュースによって報告されている。これらのエクスプロイトのいくらかは、比較的害のないものである。その他のものは、データを破壊したり、機密情報を奪ったりする。適切な対策がなされない限り、二、三のコンピュータが感染しただけでさえ、これらのエクスプロイトは、企業のネットワークやコンピュータシステムを、その膝元へ運び、また、機密情報を盗む。
このエクスプロイトに対応するための最も普及している方法のうちの一つは、インターネットゲートウェイにメッセージプロテクションシステムを配置するものである。その核となる部分は、スキャン・エンジンであり、すべての通過するメッセージを検査し、そういったエクスプロイトを検出する。しかし、多くのメッセージプロテクションシステムは、メッセージの中のエクスプロイトを、効果的に検出することができるが、そういったシステムのスループットは、通常、幾分必要ではあるが、多大な時間を費やす手順を原因とするボトルネックによって制限される。多くの場合、効果的なメッセージプロテクションシステムを構築することは、当業者にとって非常に困難なことである。
簡潔にいうと、本発明は、二段階ハッシュ値マッチング法を使用して、エクスプロイトに対してデバイスを保護するためのシステム、および方法を提供することを目的としている。システムは、そのデバイスへ向けられたオブジェクトを受信し、そのオブジェクトが以前にスキャンされたことがあるか否かを決定するために二段階ハッシュ値法を使用する。オブジェクトが、以前にスキャンされたことがある場合、システムは、再びそのオブジェクトをスキャンすることなく、直ちにそのオブジェクトを処理する。
一つの態様においては、本発明は、デバイスを通過するエクスプロイトを除去するための方法を対象としている。この方法は、デバイスに向けられたオブジェクトを受信し、そのオブジェクトに関連付けられた第一の値、および以前スキャンされたことがあるオブジェクトに関連した第二の値のセットを決定する。第一の値が、第二の値のセットのうちの少なくとも一つの値と一致した場合、この方法は、そのオブジェクトに関連した第三の値、および以前スキャンされたことがあるオブジェクトに関連した第四の値のセットを決定する。もし、第三の値が、第四の値のセットのうちの少なくとも一つの値と一致した場合、この方法は、直ちにそのオブジェクトを処理する。
もう一つの態様では、本発明は、第一の値、および第二の値のセットが一つのオブジェクトをもう一方から、大まかに識別するだけではあるが、関連付けられたオブジェクトから効果的に計算されるような上記方法を対象とする。計算するためにより多くの時間を必要とするが、第三の値、および第四の値のセットは、一つのオブジェクトをもう一方から確実に識別するために使用される。
さらにもう一つの態様においては、本発明は、第一の指標付けデータフィールド、および第二のデータフィールドを有するデータ構造とともに符号化されたコンピュータ読み取り媒体を対象とする。第一の指標付けデータフィールドは、指標付けエントリーを有する。この指標付けエントリーにおいては、各指標付けエントリーは、第一の値を含む。第二のデータフィールドは、オブジェクトに関連したエントリーを含む。このオブジェクトに関連したエントリーにおいては、各オブジェクトに関連したエントリーは、第二の値を有する。各オブジェクトに関連したエントリーは、第一の指標付けデータフィールドにおいて、指標付けエントリーに指標付けられ、以前にスキャンされたオブジェクトに一意的に関連付けられる。
さらにもう一つの態様においては、本発明は、エクスプロイトを除去するためのシステムを対象とする。このシステムは、メッセージ・トラッカー、およびスキャナ構成要素を含む。メッセージ・トラッカーは、二段階ハッシュ値法を使用し、オブジェクトが以前にスキャンされたか否かを決定するように構成される。スキャナ構成要素は、メッセージ・トラッカーに接続され、スキャンされていないオブジェクトを受信し、そのスキャンされていないオブジェクトがエクスプロイトを含むか否かを決定するように構成される。
長所と同様に、本発明を特徴付ける、これら、および様様なその他の特徴は以下の詳細な説明、および関連した図面の概説を読むことで、明らかとなるであろう。
以下に記載する本発明の好適な実施形態の詳細な説明においては、添付された図面について言及するが、それらの図面は本明細書の一部を形成し、説明の一手段として示される。特定の本発明の好適な実施形態が実施され得る。これらの実施形態は、当業者が本発明を実施することができる程度に十分に細部にわたって記載され、かつ、本発明の精神または範囲から逸脱することなく、その他の実施形態が利用され得ること、およびその他の変更がなされ得ることが理解される。したがって、以下に記載の詳細な説明は、制限的な意味で解釈されるべきではなく、本発明の範囲は、添付された請求項によって定義される。
以下に記載の詳細な説明において、いくつかの用語で、この文書を通じて使用されるものの第一の定義が与えられる。そして、本発明が実施される動作環境の実例の説明となる構成要素が開示される。次に、本発明が実施される動作環境の実例が開示される。最後に、エクスプロイトを検出し、除去する方法が提供される。
“定義”
文脈が違った意味を明確に示唆しない限り、本章における定義がこの文書へ適用される。「この文書」という語句は、本出願の明細書、特許請求の範囲、および要約を意味する。
「含む」は、含むがそれに制限されないことを意味する。したがって、Aを含んだリストは、Bを含むことを排除するものではない。
「パケット」は、不定の、または選択可能なデータ量をいい、一つ以上のビット列によって表現される。一つのパケットは、開放型システム間相互接続(OSI)モデルの任意のレイヤーにおいて見られるデータユニット、例えば、セグメント、メッセージ、パケット、データグラム、フレームシンボルストリーム、若しくは、ストリーム、OSIモデルにおいて見られるデータユニットの組み合わせ、またはOSIデータユニットでないデータユニットに対応する。
「クライアント」は、一のプロセス、または複数のプロセスのセットであって、一つ以上の電気デバイス上で実行するものを意味し、例えば、図3におけるコンピュータデバイス300のようなものである。クライアントは、ワークステーション上で動作することに制限されず、WWWサーバー、ファイルサーバー、その他のサーバー、またはその他のコンピュータデバイスのようなサーバー上で動作したり、またはそういったデバイスのグループへ分散されたりすることも考えられる。必要に応じて、「クライアント」という用語は、上記定義に加えて、または代えて、一つのデバイス、または、複数のデバイスであって、その上で、例えば、ワールドワイドウェブ(WWW)サーバーとして機能するように構成された、コンピュータデイバス300のようなコンピュータデバイス、またはルータ、ゲートウェイ、ワークステーション等として構成されたコンピュータデバイスを一例とする、一つ以上のクライアントプロセスが処理されるものとして解釈されるべきである。
同様に、「サーバー」とは、一つのプロセス、または複数のプロセスのセットであって、WWWとして構成されたコンピュータデバイス300のような一つ以上のデバイス上で動作するものをいう。クライアントのように、サーバーは、主に他のコンピュータデバイスへサービスを提供するように構成されたコンピュータデバイス上で実行されることに制限されない。それどころか、ユーザーのワークステーションとして構成されたコンピュータデバイス300のような、通常、クライアントコンピュータと考えられるもの上で動作したり、各デバイスが、一緒に一つのサーバーアプリケーションの構成要素となる一つ以上のプロセスを含み得る、様様な電気デバイスの間で分散されたりすることも考えられる。必要に応じて、「サーバー」という用語は、上記定義に加えて、または代えて、一つのデバイス、または、複数のデバイスであって、その上で、例えば、WWWサーバーとして機能するように構成された、コンピュータデイバス300のようなコンピュータデバイス、またはルータ、ゲートウェイ、ワークステーション等として構成されたコンピュータデバイスを一例とする、一つ以上のクライアントプロセスが処理されるものとして解釈されるべきである。
エクスプロイトは、不適切にコンピュータへアクセスするために使用され得る、任意の手順、および/またはソフトウェアである。エクスプロイトは、一般的にはコンピュータウィルスとして知られているものを含むが、コンピュータへのアクセスを不適切に増加させるためのその他の方法をもまた含む。エクスプロイトは、電子メール、コンピュータによって実行可能なファイル、データファイル等のコンピュータによってアクセス可能な任意のオブジェクトにも含まれ得る。図面を参照すると、図面及びこの文書を通じて、同じような番号は、同じような部分を示唆する。
用語の定義は、この文書を通してもまた、発見される。これらの定義は、「意味する」、または「という」を使用して専門用語を導入する必要は無く、例や実行される機能によって導入されることも考えられる。文脈が明確に違ったように示唆しない限り、そういった定義もまた、この文書へ適用される。
インターネットゲートウェイにメッセージプロテクションシステムを配置することは、エクスプロイトに対する保護を行なうために使用される。各メッセージプロテクションシステムは、ゲートウェイを通過するオブジェクトを検査し、そのオブジェクトがエクスプロイトを含むか否かを判断し、エクスプロイトを伴うそれらのオブジェクトに対応するための動作をとるスキャンデーモンを含むことが考えられる。この方法によって構成される多くのメッセージプロテクションシステムがエクスプロイトから効果的に保護することができる。しかし、そういったメッセージプロテクションシステムは、ゲートウェイを通過する各オブジェクトについて、無差別に、徹底的にチェックを行なうため、そういったシステムのスループットは、著しく制限される。
メッセージプロテクトシステムのスループットは、多くのパラメータに依存する。スループットのための最も重要なパラメータの一つは、計算リソースの稼働率である。これを受けて、メッセージプロテクションが、解凍エンジン、ウィルスとコンテンツスキャンエンジン等のような必要な処理ではあるが、多大な時間を必要とする深刻な量を実行しなければならない場合には、ボトルネックが発生する。解凍エンジンは、アーカイブ・オブジェクトを解凍するために呼び出される。そのオブジェクトは、複数の段階において圧縮され、ネストされることが考えられる。ウィルス、およびコンテンツスキャンエンジンは、オブジェクトの中でエクスプロイトを検出する。
上述の多大な時間を必要とする処理の必要性を削減することは、メッセージプロテクションシステムのスループットを増加させる。システムスループットを改善するための、一つのそういった方法は、既知のエクスプロイトに関連したハッシュ値をキャッシュに記憶し、そのスキャンエンジンへオブジェクトを通過させる前に、ハッシュ値に対して検査されるオブジェクトをチェックするものである。もし、あるオブジェクトが、キャッシュされたハッシュ値の一つと一致した場合、そのオブジェクトは、スキャンエンジンへ通過させられることなく、直ちに、悪意のあるものであると決定される。システムスループットを改善するためのもう一つの方法は、最近の大きくてきれいなオブジェクトのキャッシュ値をハッシュに記憶するものである。もし検査されるオブジェクトが、キャッシュに記憶されたキャッシュ値の一つに一致した場合、そのオブジェクトは、更なる計算がなされること無く、直ちに、きれいなものであると決定される。
上記の二つの方法が、システムスループットを改善することを可能とし得ると同時に、安心なレベルで、一つのオブジェクトがもう一方のオブジェクトから識別されることを保証するような手段で、その方法は一般的に実行される。これを実行するために、一般的に、メッセージ・ダイジェスト−5(MD−5)、セキュア・ハッシュ・アルゴリズム(SHA)等のような、高度なシグネチャーハッシュ機能に基づいて、ハッシュ値が計算される。そういった機能から計算されたハッシュ値は、高度なシグネチャーハッシュ値(SSHV)として、言及される。特に、オブジェクトが大きいときに、SSHVを得ることに関連する計算は、比較的多くの時間を必要とする。SSHVを得ることに関連する計算を削減する機能を有するシステムは、著しくシステムスループットを増加させることが可能である。
従って、本発明は、メッセージプロテクションシステムにおける二段階ハッシュ値マッチング法を目的としている。この発明は、可能であれば、SSHVに関連した計算を避けることで、メッセージプロテクションシステムの性能をさらに改善する。この発明に従うと、このメッセージプロテクションシステムは、以前スキャンされたオブジェクトの大まかなアウトラインハッシュ値(ROHV)をキャッシュに記憶する。このシステムは、ROHVを使用し、大まかに一つのオブジェクトをもう一方から識別することができる。このシステムは、SSHVに関連する比較的多くの時間を必要とする計算を実行する前に、ROHVを使用して初期チェックを行なう。これらの、およびその他の本発明の態様が、以下の詳細な説明を読むことで、明らかとなるだろう。
“実例となる動作環境”
図1−3は、本発明が実施される好適な環境の構成要素を示す。本発明の実施をするためには、すべての構成要素は必要ではないかもしれないし、構成要素の配置とタイプにおける変更が、本発明の精神、および範囲から逸脱することなくなされ得る。
図1は、無線ネットワーク105、110、電話ネットワーク115、120、広域ネットワーク/ローカルエリアネットワーク200への相互接続ゲートウェイ130A−130Dをそれぞれ示している。ゲートウェイ130A−130Dは、それぞれ、任意でファイアーウォール140A−140Dのようなファイアーウォール構成要素を含む。各ゲートウェイ130A−130Dの中のFWという文字は、ファイアーウォールを表している。
無線ネットワーク105、110は、無線通信機能を有したデバイスへ、およびデバイスから、情報、音声通信のトランスポートを行なう。そのデバイスとは、例えば、携帯電話、高度自動機能電話、携帯用無線電話機、無線周波数(RF)デバイス、赤外線(IR)デバイス、CBs、一つ以上の前記デバイスを組み合わせる統合デバイス等のようなものである。無線ネットワーク105、110は、無線ネットワークへ接続するためのインターフェースを有しているその他のデバイスへ情報をトランスポートすることも考えられる。その他のデバイスとは、PDA、ポケットPC、ウェラブル・コンピュータ、パーソナル・コンピュータ、多重プロセッサシステム、マイクロプロセッサベースの、または、プログラム可能な家庭用電化製品、ネットワークPC、およびその他の適切に装備されたデバイスのようなものである。無線ネットワーク105、110は、無線、および有線構成要素の両方を含むことが考えられる。例えば、無線ネットワーク110は、携帯電話の電波塔(図示せず)であって、有線電話ネットワークへリンクされたものを含む。その有線電話ネットワークは、電話ネットワーク115のようなものである。一般的には、携帯電話の電波塔は、携帯電話、ポケベル、並びにその他の無線デバイスへ、およびそれらからの通信を伝送し、有線電話ネットワークが、通常の電話、長距離通信接リンクへ伝送する。
同様に、電話ネットワーク115、120は、有線通信機能を有したデバイスへ、およびそのデバイスから、情報、音声通信をトランスポートする。そのデバイスは、通常の電話、および電話ネットワークと通信を行なうための、モデム、またはその他の何らかのインターフェースを有するデバイスのようなものである。電話ネットワーク120のような電話ネットワークは、無線、および有線構成要素の両方を含み得る。例えば、電話ネットワークは、有線ネットワークと相互接続するために、マイクロ波リンク、衛星リンク、無線リンク、およびその他の無線リンクを含むことが考えられる。
ゲートウェイ130A−130Dは、有線ネットワーク無線ネットワーク105、110、および電話ネットワーク115、120をWAN/LAN200へ相互接続する。ゲートウェイ130Aのようなゲートウェイは、無線ネットワーク105、およびWAN/LAN200のようなネットワーク間で、データを送信する。データ送信において、ゲートウェイは、データを受信ネットワークにとって適切なフォーマットへ変換することが考えられる。例えば、無線デバイスを使用するユーザーが、ある番号を呼び出したり、ある特定の周波数へチューニングしたり、デバイスのブラウジング特性を選択することで、インターネットのブラウジングを開始することが考えられる。適切にアドレッシングされ、形式をあわせられた情報の受信で、無線ネットワーク105は、無線デバイスとゲートウェイ130Aの間でデータを送信するように構成され得る。ゲートウェイ130Aは、無線デバイスからのウェブページのための要求をハイパーテキスト転送プロトコル(HTTP)へ変換し、それは、WAN/LAN200へ送信される。ゲートウェイ130Aは、その後、そういったメッセージへの応答を、無線デバイスに準拠した形式へ変換する。ゲートウェイ130Aは、無線デバイスから送信されるその他のメッセージを、WAN/LAN200に適したメッセージへ変換することも考えられる。そのメッセージは、電子メール、音声通信、データベースへのコンタクト、カレンダー、予約、およびその他のメッセージのようなものである。
どちらの方向においても、そのデータを変換する以前、または以後に、ゲートウェイは、セキュリティ、フィルタリング、またはその他の理由のために、データをファイアーウォール140Aのようなファイアーウォールに通過させる。ファイアーウォール140Aのようなファイアーウォールは、エクスプロイト・ディテクターを含むか、メッセージをエクスプロイト・ディテクターへ送信する。本発明の実施形態の文脈におけるファイアーウォールとそれらの操作は、図4−6に関連してさらに詳細が説明される。簡潔にいえば、ゲートウェイは、受信ネットワークへデータを転送するべきか否かを決定するために、データをファイアーウォールに通過させる。ファイアーウォールは、電子メールのようないくらかのデータをエクスプロイト・ディテクターに通過させる。そのエクスプロイト・ディテクターは、そのデータからエクスプロイトを検出し、除去し得る。もしデータがエクスプロイトを含んでいれば、ファイアーウォールは、そのデータがゲートウェイを通過することを止める。
本発明の他の実施形態では、エクスプロイト・ディテクターは、ゲートウェイ、および/または、ファイアーウォールから分離した構成要素上に配置される。例えば、本発明のいくらかの実施形態においては、エクスプロイト・ディテクターは、無線ネットワーク105のような無線ネットワークの中に配置されたルータに含まれ得る。そのルータは、無線ネットワーク105のような無線ネットワークへ向けられた、および無線ネットワークから来るメッセージを受信する。これは、ゲートウェイ130Aのようなネットワーク間のゲートウェイ上のエクスプロイト・ディテクターを、なくすか、若しくは冗長なものとする。理想的には、エクスプロイト・ディテクターを、ネットワークへの入り口位置に配置することで、ネットワーク内のすべてのデバイスがエクスプロイトから保護されるようにする。しかし、エクスプロイト・ディテクターは、ネットワーク内のその他の位置に配置されたり、スイッチ、ハブ、サーバー、ルータ、トラヒック・マネージャーのようなその他のデバイスに統合されたり、または、そういったデバイスから分離されたりすることが考えられる。
本発明のもう一つの実施形態では、エクスプロイト・ディテクターは、エクスプロイトプロテクションを提供するために探し出す、ゲートウェイのようなデバイスからアクセス可能である。この文脈においてアクセス可能とは、エクスプロイト・プロテクターが、物理的にゲートウェイを実装するサーバー、またはコンピュータデバイス上に配置されること、またはエクスプロイト・ディテクターがゲートウェイからアクセス可能なもう一方のサーバー、またはコンピュータデバイス上にあることを意味するかもしれない。この実施形態においては、ゲートウェイは、アプリケーション・プログラミング・インターフェース(API)を通して、エクスプロイト・ディテクターにアクセスすることが考えられる。理想的には、エクスプロイトプロテクションを探すデバイスは、すべてのメッセージを関連するエクスプロイト・ディテクターを通して方向付ける。これにより、エクスプロイト・ディテクターは、デバイスが相互接続するネットワークの間に、「論理的に」位置する。いくらかの例においては、デバイスは、すべてのメッセージを、エクスプロイト・ディテクターを通して送信しないかもしれない。例えば、エクスプロイト・ディテクターは、無効とされるかもしれないし、明示的にまたは、暗示的にエクスプロイト・ディテクターを避けることが指定されるかもしれない。
一般的には、図2に関連してさらに詳細が述べられるように、WAN/LAN200は、コンピュータデバイスの間で、情報を送信する。WANの一つの例は、インターネットである。インターネットは、数百万のコンピュータが、ゲートウェイ、ルータ、スイッチ、ハブ等のホストを通じて接続される。LANの一つの例は、単一のオフィスにおいてコンピュータを接続するために使用されるネットワークである。WANは、複数のLANを接続するために使用されることが考えられる。
WAN/LAN、電話ネットワーク、および無線ネットワークの間の識別ははっきりしないことが、認識されるであろう。これらのネットワークの種類は、一つ以上のその他のネットワークへ論理的に帰属するかもしれない一つ以上の部分を含むかもしれない。例えば、WAN/LAN200は、コンピュータデバイス間で情報を送信するためのいくらかのアナログ、またはデジタル電話回線を含むかもしれない。電話ネットワーク120は、無線構成要素、ボイスオーバーIPのようなパケットベースの構成要素を含むかもしれない。無線ネットワーク105は有線構成要素、および/または、パケットベースの構成要素を含むかもしれない。ネットワークとは、WAN/LAN、電話ネットワーク、無線ネットワーク、またはそれらのあらゆる組み合わせを意味する。
図2は、ルータ210によって相互接続された複数のローカルエリアネットワーク(LAN)220、および広域ネットワーク(WAN)230を示す。ルータ210は、パケット配信を迅速に処理する通信ネットワーク上の仲介デバイスである。可能な接続網を通じて多くのコンピュータをリンクする単一のネットワーク上で、ルータは、送信されたパケットを受信し、それらを、それらの正しいあて先へ、使用可能なルータを通して転送する。LANの相互接続されたセット上で(異なるアーキテクチャ、およびプロトコルに基づいたものを含む)、ルータは、LAN間のリンクとして動作し、パケットを一つからもう一方へ送信されることを可能とする。特別な目的のハードウェア、図3に関連して説明されるように、コンピュータデバイス300のような、適切なソフトウェアを実行するコンピュータデバイス、またはそれらの組み合わせを使用することで、ルータは実装されるかもしれない。
LAN内の通信リンクは、典型的には、ツイストペア、光ファイバー、同軸ケーブルを含む一方、ネットワーク間の通信リンクは、アナログ電話回線、T1、T2、T3、およびT4を含む完全な、若しくは一部専用デジタル回線、総合デジタル通信網(ISDN)、デジタル加入者回線(DSL)、無線リンク、またはその他の当業者に知られた通信リンクを利用する。さらに、遠隔コンピュータ240のようなコンピュータ、およびその他の関連した電気デバイスは、LAN220、またはWAN230に、モデムまたは一時的な電話リンクを経由して、遠隔的に接続されることができる。図2におけるWAN、LAN、およびルータの数は、本発明の精神と範囲から逸脱することなく、適宜増やしたり、減らしたりすることが考えられる。
当然そのようなものとして、インターネットそれ自体は、莫大な数のそういった相互接続されるネットワーク、コンピュータ、およびルータによって形成されることが認識されるであろう。一般的に、「インターネット」という用語は、ネットワーク、ゲートウェイ、ルータおよびコンピュータであって、互いに通信するためのプロトコルの通信制御プロトコル/インターネットプロトコル(TCP/IP)パッケージソフトを使用するものの世界的な収集物を指す。インターネットの中心には、データおよびパケットをルーチングする、数千の商業的な、政府の、教育機関の、およびその他のコンピュータシステムを含んだ主だったノード、またはホストコンピュータの間で高速データ通信回線の基幹回線が存在する。本発明の一つの実施形態が、本発明の精神、および範囲から逸脱することなくインターネット上で実施され得る。
上述の通信リンクにおいて、情報を送信するために使用される媒体は、一つのコンピュータ読み取り可能な媒体、すなわち通信媒体の一つの種類を説明する。一般的には、コンピュータ読み取り可能な媒体は、コンピュータデバイスによってアクセスされることができるあらゆる媒体を含む。コンピュータ読み取り可能な媒体は、コンピュータ記憶媒体、通信媒体、またはそれらのあらゆる組み合わせを含み得る。
通信媒体は、一般的には、コンピュータ読み取り可能な命令、データ構造、プログラムモジュール、または搬送波、またはその他のトランスポートメカニズムのような変調データ信号におけるその他のデータを具現化し、あらゆる情報配送媒体を含む。「変調データ信号」という用語は、ひとつ以上のその特徴のセットを有する、または、信号における符号化情報に関連したような方法で変更された信号を意味する。一例として、通信媒体は、ツイストペア、同軸ケーブル、光ファイバー、導波管、並びにその他の有線メディアのような有線メディア、および音響、RF、赤外線、並びにその他の無線媒体のような無線媒体を含む。
インターネットは、世界中に配置されたコンピュータをリンクするというその能力の長所によって、近年、爆発的な成長を遂げた。インターネットが成長したことによって、インターネットはWWWを持つ。一般的に、WWWは、世界中のHTTP(ハイパーテキスト転送プロトコル)上に存在する、相互にリンクされたハイパーテキスト文書の全体としてのセットである。ページや、ウェブページと呼ばれる、WWW上の文書は、一般的には、HTML(ハイパーテキストマークアップ言語)、またはその他のマークアップ言語で記述され、特定のマシン、およびパスネームを指定し、それによってファイルがアクセス可能となるURL(ユニフォーム・リソース・ロケータ)によって特定され、サーバーからHTTPを使用するエンドユーザへ送信される。HML文書の中に埋め込まれたタグと呼ばれるコードは、文書中の特定の言葉、および画像をURLと関連付け、キーを押し、またはマウスをクリックすることで、ユーザーは、誇張なしに世界の半分くらい遠くにあるその他のファイルへアクセスすることができる。これらのファイルは、テキスト(様様なフォントおよびスタイルによる)、グラフィック画像、ムービーファイル、メディアクリップ、および音声を、Javaアプレット、ActiveXコントロール、または組み込まれたその他のソフトウェアプログラムであって、ユーザーがそれらを作動させたときに、実行するものと同様に含むことが考えられる。
WWWサイトを提供し得るコンピュータデバイスは、図3に関連してさらに詳細が記述される。WWWサイトを提供するために使用された場合、そういったコンピュータデバイスは、一般的には、WWWサーバーとして言及される。WWWサーバーは、WWWサイトのためハイパーテキスト文書を記憶する記憶設備を有し、かつ記憶されたハイパーテキスト文書のための要求を処理するための管理ソフトウェアを実行するインターネットに接続するためのコンピュータデバイスである。ハイパーテキスト文書は、通常、多くのハイパーリンクを含んでいる。このハイパーリンクは、すなわち、テキストのハイライトされた部分であって、その部分は、インターネット上のおそらくその他の場所に記憶されたWWWサイトにおけるその他のハイパーテキスト文書へ、リンクされたものである。各ハイパーリンクは、インターネットへ接続されたサーバー上のリンクされた文書の位置を提供するURLに関連付けられ、その文書を記述する。したがって、ハイパーテキスト文書が、任意のWWWサーバーから取り出されたときはいつでも、その文書は、そのWWWから取り出されたものと考えられる。当業者にとって周知であるように、WWWサーバーは、サン・マイクロシステムズによるJAVAプログラミング言語によって記述されたアプリケーションプログラムのような、アプリケーションプログラムを記憶し、送信するための設備もまた含むことが考えられる。同じように、WWWサーバーは、WWWサーバーそれ自身の上で、スクリプト、およびその他のアプリケーションプログラムを実行するための設備をもまた含んでいることが考えられる。
有線、または、無線デバイス上に配置されたWWWブラウザアプリケーションプログラムを経由して、ユーザーは、WWWからハイパーテキスト文書を、取り出すことが考えられる。Netscape’s NAVIGATOR(登録商標)、またはInternet EXPLORER(登録商標)のような、WWWブラウザは、WWWへのグラフィカルユーザーインターフェースを提供するためのソフトウェアアプリケーションである。WWWブラウザを経由したユーザーからの要求に基づいて、WWWブラウザは、文書、およびHTTPのためのURLを使用して、適切なWWWサーバーから、所望のハイパーテキスト文書へアクセスし、取り出す。HTTPは、TCP/IPより高いレベルのプロトコルであり、特にWWWの要求のために設計されている。HTTPは、ブラウザからの要求を、ウェブサーバーへ運び、ページをウェブサーバーから、要求しているブラウザ、またはクライアントへトランスポートして返すために使われる。WWWブラウザは、WWWサーバーから、クライアントコンピュータ上で実行するための、JAVAアプレットのようなアプリケーションプログラムを取り出すことも考えられる。
図3は、コンピュータデバイスを示す。そういったデバイスは、例えば、サーバー、ワークステーション、ネットワーク装置、ルータ、ブリッジ、ファイアーウォール、エクスプロイト・ディテクター、ゲートウェイのような、および/または、トラヒックマネージメントデバイスのようなものとして使用される。WWWサイトを提供するために使用された場合、コンピュータデバイス300は、WWWWページを、要求しているデバイス上で動作するWWWブラウザアプリケーションプログラムへ送信し、この処理を終了する。例えば、コンピュータデバイス300は、アドレス、電話番号、請求書情報、クレジットカード番号等のようなユーザー情報を受信するために、ページ、およびフォームを送信するかもしれない。さらに、コンピュータデバイス300は、WWWサイトにおいて消費者が参加することを可能にする要求デバイスへ、WWWページを送信する。トランザクションが、インターネット、WAN/LAN100、またはその他の当業者に知られた通信ネットワーク上で発生する。
コンピュータデバイス300は、図3に示されたもの以外に多くの構成要素を含むかもしれないことが、認識されるであろう。しかし、本発明を実施するための説明となる実施形態を開示するためには、示された構成要素は十分なものである。図3に示されるように、コンピュータデバイス300は、WAN/LAN200、またはその他の通信ネットワークへ、ネットワークインターフェースユニット310を経由して接続される。ネットワークインターフェースユニット310は、WAN/LAN200へコンピュータデバイス300を接続するために必要な回路を含み、TCP/IPプロトコルを含むことで、様様な通信プロトコルとともに使用するために構築される。一般的には、ネットワークインターフェースウニット310は、コンピュータデバイス300内に包含されたカードである。
コンピュータデバイス300は、処理装置312、ビデオ・ディスプレイ・アダプタ314、および大容量メモリをも含み、それらはすべてバス322を経由して接続される。この大容量メモリは、ランダム・アクセス・メモリ(RAM)316、読み出し専用メモリ(ROM)332、およびハードディスクドライブ328、テープドライブ(図示せず)、光ドライブ326のような、CD−ROM/DVD−ROMドライブ、および/またはフロッピーディスクドライブ(図示せず)のような一つ以上の常設の大容量メモリをも、一般的には含むことが考えられる。この大容量メモリは、コンピュータデバイス300の操作を制御するための基本ソフト320を記憶する。この構成要素は、例えば、UNIX(登録商標)、LINUX(登録商標)、または、ワシントンレッドモンドのマイクロソフト社により製造されたものの一つのような、汎用基本ソフトを含み得ることが、認識されるであろう。基本入出力システム(BIOS)318もまた、コンピュータデバイス300の低いレベルの操作を制御するために提供される。
上述した大容量メモリは、コンピュータ読み取り可能媒体のもう一つの種類、すなわちコンピュータ記憶媒体を明らかにする。コンピュータ記憶媒体は、コンピュータ読み取り可能な命令、データ構造、プログラムモジュール、またはその他のデータのような情報を記憶するための任意の方法、または技術によって実装される揮発性、および不揮発性の、取り外し可能な、および取り外しできない媒体を含む。コンピュータ記憶媒体の例は、RAM、ROM、EEPROM、フラッシュメモリ、またはその他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)、またはその他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置、またはその他の磁気記憶デバイス、または要求された情報を記憶するために使用されることが可能であり、コンピュータデバイスによってアクセス可能であるその他の媒体を含む。
この大容量メモリは、WWWサイトを提供するためにプログラムコード、およびデータを記憶し得る。さらに具体的にいえば、大容量のメモリは、特別な目的のソフトウェア330、およびその他のプログラム334を含んだアプリケーションを記憶することが考えられる。特別な目的のソフトウェア330が、WWWサーバーアプリケーションプログラムを含むことが考えられる。そのプログラムは、上述のロジックを実行することで、コンピュータデバイス300によって実行された場合、WWWブラウザ表示を生成する、コンピュータ実行可能な命令を含む。コンピュータデバイス300は、JAVA仮想計算機、電子メールを送信し、受信するためのSMTPハンドラーアプリケーション、HTTP要求を受信し、処理するためのHTTPハンドラーアプリケーション、クライアントコンピュータ上で動作するWWWブラウザへ送信するためのJAVAアプレット、および安全な接続を処理するためのHTTPSハンドラーアプリケーションを含むことが考えられる。HTTPSハンドラーアプリケーションは、安全な方法で、クレジットカード情報のような機密情報を送受信するための外部セキュリティーアプリケーションと通信するために使用され得る。
コンピュータデバイス300は、マウス、キーボード、スキャナ、または図3に示されていないその他の入力装置のような外部デバイスと通信するための入出力インターフェース324を含むことも考えられる。本発明のいくらかの実施形態においては、コンピュータデバイスは、入出力構成要素を含まない。例えば、コンピュータデバイス300は、モニターに接続されるかもしれないし、されないかもしれない。加えて、コンピュータデバイス300は、ビデオ・ディスプレイ・アダプタ314、または入出力インターフェース324を有するかもしれないし、有しないかもしれない。例えば、コンピュータデバイス300は、ネットワークへ接続され、ユーザー入出力デバイスを直接に接続されることが必要でないルータ、ゲートウェイ、トラヒックマネージメントデバイス等のようなネットワーク装置を実装するかもしれない。例えば、ネットワーク上でそういったデバイスは、アクセス可能であるかもしれない。
コンピュータデバイス300は、さらに、光ドライブ326、またはハードディスクドライブ328のような付加的な大容量記憶設備を含むことが考えられる。ハードディスクドライブ328は、コンピュータデバイスによって、その他のものの間で、コンピュータデバイス300上で動作するWWWサーバーアプリケーションによって使用される、アプリケーションプログラム、データベース、およびプログラムデータを記憶するために使用される。WWWサーバーアプリケーションが、特別な目的のソフトウェア330、および/またはその他のプログラム334として記憶されるかもしれない。加えて、顧客データベース、製品データベース、画像データベース、および関係を示すデータベースは、大容量メモリ、またはRAM316の中に記憶され得る。
以下の議論から認識されるように、本発明の態様は、ルータ210上、コンピュータデバイス300上、ゲートウェイ上、ファイアーウォール上、その他のデバイス上、または、それらのいくらかの組み合わせ上で、具現化されるかもしれない。例えば、エクスプロイトに対する保護を行なうプログラミング段階は、特別な目的のソフトウェア330、および/またはその他のプログラム334に含まれることが考えられる。
“エクスプロイトから保護するための好適なシステム構成”
図4は、本発明の一つの実施形態に従って、本発明の好適な実施形態を説明する。この実施形態においては、ネットワークのためのエクスプロイトプロテクションを提供するためのシステムが動作する。このシステムは、外部ネットワーク405、ファイアーウォール500、ネットワーク装置415、ワークステーション420、ファイルサーバー425、メールサーバー430、携帯デバイス435、アプリケーションサーバー440、および電話デバイスを含む。ネットワーク450は、ファイアーウォール500を、ネットワーク装置415、ワークステーション420、ファイルサーバー425、メールサーバー430、携帯デバイス435、アプリケーションサーバー440、および電話デバイス445に接続する。ファイアーウォール500は、ネットワーク450を外部ネットワーク405に接続する。
ネットワーク装置415、ワークステーション420、ファイルサーバー425、メールサーバー430、携帯デバイス435、アプリケーションサーバー440、および電話デバイス445は、ネットワーク450に接続する機能を有するデバイスである。そういったデバイスのセットは、パーソナル・コンピュータ、多重プロセッサシステム、マイクロプロセッサベースの、またはプログラム可能な家庭用電化製品、ネットワークPC等のような有線通信媒体を使用することで、一般的には接続するデバイスを含むことが考えられる。そういったデバイスのセットは、一般的には、携帯電話、高度自動機能電話、ポケベル、携帯用無線電話機、無線周波数(RF)デバイス、赤外線(IR)デバイス、CBs、および一つ以上の前記デバイスを組み合わせる統合デバイス等のような無線通信媒体を使用して、接続するデバイスを含むことが考えられる。いくらかのデバイスは、PDA、ポケットPC、ウェラブル・コンピュータ、または有線、および/または無線通信媒体を使用するために用意された上述のその他のデバイスのような有線、または無線の通信媒体を使用して、ネットワーク450へ接続する機能を有することが考えられる。上述のいずれかのデバイスを実装する好適なデバイスは、適切なハードウェア、および/またはソフトウェアによって構成される図3のコンピュータデバイス300である。
例えば、ネットワーク装置415は、ルータ、スイッチ、または何らかのその他のネットワークデバイスであることが考えられる。ワークステーション420は、外部ネットワークを含むことで、ネットワーク450を通して到達可能な、その他のコンピュータ、およびリソースへアクセスするための、ユーザーによって使用される、コンピュータであることが考えられる。携帯デバイス435は、ネットワーク450を通して到達可能なリソースへアクセスするための、ユーザーによって使用される、携帯電話、PDA、携帯コンピュータ、または何らかのその他のデバイスであることが考えられる。アプリケーションサーバー440は、データベースアプリケーション、会計アプリケーション等のようなアプリケーションを記憶し、それらへのアクセス提供することが考えられる。電話デバイス445は、音声、ファックス、その他のメッセージを、ネットワーク450を経由して送信するための手段を提供し得る。これらのデバイスのそれぞれは、本発明の精神と範囲から逸脱することなく、ネットワーク450と接続する機能を有する多くのその他のデバイスを表す。
外部ネットワーク405、およびネットワーク450は、この文書において、前に定義されたようなネットワークである。例えば、外部ネットワークは、インターネット、または何らかのその他のWAN/LANであることが考えられる。
ファイアーウォール500は、ネットワーク450へ到達するために、外部ネットワーク405からのメッセージのための経路を提供する。ファイアーウォール500は、そういったメッセージのための唯一の経路を提供するかもしれないし、提供しないかもしれない。さらに、本発明の精神、または範囲から逸脱することなく、外部ネットワーク405と、ネットワーク450の間の経路内にその他のコンピュータデバイス(図示せず)が存在するかもしれない。ファイアーウォールは、ゲートウェイ、ルータ、スイッチ、またはその他のコンピュータデバイスに含まれるかもしれないし、またはそういったデバイスへ簡単にアクセス可能であるかもしれない。
エクスプロイト・ディテクター(図示せず)を含み、および/またはエクスプロイト・ディテクターへアクセスすることによって、図5に関連してさらに詳細が記述されるように、ファイアーウォール500は、ネットワーク450へ接続されたデバイスのためのエクスプロイトプロテクションを提供されるかもしれない。ファイアーウォール500は、エクスプロイト・ディテクターを通過したメッセージの特定の種類を送信するように構成されるかもしれない。例えば、ファイアーウォール500は、すべての電子メールをエクスプロイト・ディテクターに通している間に、電子メールでないデータ上の通常の処理を実行するように構成される。
“好適なエクスプロイト・ディテクター”
図5は、エクスプロイトプロテクションを提供するために操作可能なファイアーウォールの構成要素を、本発明の一つの実施形態に従って図示する。ファイアーウォール500の構成要素は、メッセージ・リスナー505、エクスプロイト・ディテクター510、および出力構成要素545を含む。エクスプロイト・ディテクター510は、メッセージ待ち行列515、解凍構成要素525、メッセージ・トラッカー527、スキャナ構成要素530、およびエクスプロイト・ハンドラー540を含む。メッセージ・トランスポート・エージェント555もまた示される。
ファイアーウォール500は、図4のネットワーク450、および外部ネットワーク405に接続されたデバイス間で、送信された多くのメッセージタイプを受信するかもしれない。いくらかのメッセージは、通信に参加している二つのコンピュータ間で転送されるWWWトラヒック、またはデータに関連することが考えられる。一方では、その他のメッセージは、電子メールに関連し得る。メッセージ・リスナー505は、メッセージをリッスンし、電子メール、またはファイルのような適切なメッセージの受信に基づいて、エクスプロイトをスキャンするためのエクスプロイト・ディテクター510へ、メッセージを送信する。
電子メールメッセージを処理する場合、エクスプロイト・ディテクター510は、いくぶん、電子メールメッセージのフィールドをスキャンし、検査することで、エクスプロイトプロテクションを提供する。電子メールメッセージは、一般的には、ヘッダ(一定のフィールドを含むかもしれない)、ボディ(一般的には電子メールのテキストを含む)、および一つ以上の任意の添付ファイルを含む。エクスプロイト・ディテクター510は、電子メールのフィールド長を調査することで、それらがあるべき長さよりも、長いか否かを決定する。「あるべき長さより長い」ことは、規格や、メールサーバー仕様書によって決定されるか、または、ファイアーウォール管理者によって選択される。もし、電子メールが、あるべき長さより長いフィールドを含む場合、そのメッセージは、以下に詳細に記述されるように、エクスプロイト・ハンドラー540へ送信されることが考えられる。
エクスプロイト・ディテクター510は、多くの供給メーカーよるエクスプロイトプロテクションソフトウェアを利用するかもしれない。例えば、あるクライアントが、エクスプロイト・ディテクター510上で動作し、そのエクスプロイト・ディテクター510は、ウィルスプロテクトアップデートサーバーに接続されているかもしれない。定期的に、そのクライアントは、各ベンダーに関連するサーバーにポーリングし、エクスプロイトプロテクションアップデートが可能であるか否かを調べるために、フラッグを探す。もし、アップデートが可能であれば、クライアントは、アップデートを取り出し、信頼性のためにそれをチェックする。例えば、そのアップデートが、電子署名であって、送信されたファイルのハッシュに組み込まれているものを含むことが考えられる。この電子署名は、そのファイルが信用される送信者からきたファイルであることを確認するために検査されることが考えられ、そのハッシュは、データ転送中に修正されたファイルが無いことを確認するために使用されるかもしれない。もう一方の処理は、そのアップデートを解凍し、エクスプロイト・ディテクター510の実行を停止し、そのアップデートをインストールし、かつエクスプロイト・ディテクター510を再開する。
エクスプロイト・ディテクター510は、例えば、情報技術チームによって作られた、カスタマイズされた、エクスプロイトプロテクションアップデートをポーリングするように構成されているかもしれない。この処理は、上記の供給メーカーへのポーリングと同様の方法で、動作するかもしれない。
ポーリングに加えて、またはそれに代えて、アップデートは、エクスプロイト・ディテクター510へ、プッシュされることが考えられる。クライアントは、エクスプロイトプロテクションアップデートサーバーからのアップデートをリッスンする、エクスプロイト・ディテクター510上で動作するかもしれない。ファイアーウォール410上で動作するエクスプロイトプロテクションをアップデートするために、そういったサーバーは、クライアントとの接続をオープンし、エクスプロイトプロテクションアップデートを送信する。さらに、上述されたハッシュを使用して、データ転送中にファイルが変更されていないことを確認するために、クライアントは、送信されたアップデートをチェックするかもしれない。
エクスプロイト・ディテクター510の構成要素が、ここで説明される。エクスプロイトをスキャンするためのメッセージの受信に基づいて、エクスプロイト・ディテクター510は、メッセージ待ち行列515内に、メッセージを記憶する。解凍構成要素525は、メッセージが圧縮されているか否かを決定する。もし、メッセージが圧縮されていなければ、メッセージを構成するビットは、直列にメッセージ・トラッカー527へ送信される。もし、メッセージが圧縮されている場合、解凍構成要素525は、メッセージ・トラッカー527へそれを送信する前に、一回以上そのメッセージを解凍することが考えられる。メッセージが複数回にわたって圧縮されている場合には、解凍は、ネストされた方法で行なわれ得る。例えば、あるメッセージに含まれるファイルのセットが、まずジップ(zip)され、その後、UNIX(登録商標)の「tar」コマンドを使用することで、ター(tar)が実行される。ファイルのターを解凍した後、解凍構成要素525は、ターが解凍されたファイルが、WinZipのようなジップを実行するソフトウェアによって、圧縮されているかを決定するかもしれない。ジップが解凍されたファイルを得るために、解凍構成要素525は、それから、ターを解凍したファイルのジップを解凍することが考えられる。解凍されたファイルを得るために、解凍構成要素525が解凍する二つ以上の圧縮レベルが存在するかもしれない。
メッセージ・トラッカー527は、解凍されたメッセージ、および圧縮されなかったメッセージを、解凍構成要素525から受信する。メッセージ・トラッカーは、以前スキャンされたメッセージ、および/またはその添付ファイルのスキャンを最小化することで、エクスプロイト・ディテクターを通過するメッセージの経路を最適化することを対象とする。メッセージ・トラッカー527は、メッセージ、または添付ファイルが、エクスプロイトについて以前スキャンされたか否かを決定することで、これを達成する。メッセージ・トラッカー527が、スキャンされていないと決定したメッセージ、および添付ファイルは、スキャナ構成要素527へ転送されることが考えられる。メッセージ・トラッカー527が、メッセージ、または添付ファイルが以前にスキャンされたことがあると決定した場合には、メッセージ・トラッカー527は、さらなる処理のために、そのメッセージ、または添付ファイルをその他のメッセージプロテクション構成要素へ転送するように構成される。スキャナ構成要素530、またはそれに関連した構成要素がアップデート、改訂、修正等される場合、メッセージ・トラッカー527は、以前にスキャンされたメッセージ、または添付ファイルをスキャンすることを可能とするように構成されることもまた考えられる。
二段階ハッシュ値マッチング法を実行することで、オブジェクト(メッセージ、添付ファイル等)がエクスプロイトについて以前スキャンされたか否かを、メッセージ・トラッカー527が決定するかもしれない。特に、メッセージ・トラッカー527は、ROHV、およびSSHVを、以前スキャンされたオブジェクトに関連付ける。メッセージ・トラッカー527は、以前にスキャンされたオブジェクトのROHV、およびSSHVをキャッシュに記憶し、特定のオブジェクトがスキャンされるべきか、またはすぐに処理されるべきかを決定する。ROHVは、一般的には、簡単な計算を要求するだけの簡単な技術に基づいて決定される。例えば、あるオブジェクトのROHVは、ファイルの最初の二、三バイト、または任意の部分のハッシュ値(XORハッシュのような)から決定されることが考えられる。ROHVは、メッセージ・トラッカー527が、おおよそ一つのオブジェクトを他のオブジェクトと識別できるようにする。あるオブジェクトが、メッセージ・トラッカー527によってキャッシュに記憶されたROHVの一つに一致する場合には、そのオブジェクトがSSHVを使用するさらなる検査をされることについて正当な理由となる。
SSHVは、一般的には、メッセージ・ダイジェスト−5(MD−5)、セキュア・ハッシュ・アルゴリズム(SHA)、セキュア・ハッシュ・スタンダード等のような高度なハッシュ機能に基づいて決定される。この値は、公開鍵証明書、電子署名、チェックサム機能、または同様のアルゴリズム的メカニズムであって、一つのオブジェクトを他のオブジェクトから識別するための値を提供するものに基づいて決定されることもまた考えられる。もし、あるオブジェクトが、メッセージ・トラッカー527によってキャッシュに記憶されたSSHVの一つに一致した場合、そのオブジェクトは、スキャナ構成要素530によってスキャンされることなく、処理されることが考えられる。
メッセージ・トラッカー527によって実行される二段階ハッシュ値マッチング法は、観測に基づいている。二つのオブジェクトのROHV、およびSSHVの両方が一致したときは、二つのオブジェクトが本当に同一であることについて信用性が非常に高い。また、二つのオブジェクトの二つのROHVが一致しない場合は、二つのオブジェクトは異なる。
メッセージ・トラッカー527は、そのオブジェクトをその値に関連付けるために十分な情報をROHV、およびSSHVに記憶するように構成されている。その値は、リスト、データベース、ファイル、表等の中に記憶される。さらに、その値は、局所的に記憶されたり、分散する方法で記憶されたりするかもしれない。メッセージ・トラッカー527は、システム性能を向上させるために、メモリ内のROHV、およびSSHVをキャッシュに記憶するように構成されることもまた考えられる。
スキャナ構成要素530は、多くの供給メーカーからのエクスプロイトプロテクションソフトウェアを使用することで、メッセージをスキャンするかもしれない。例えば、スキャナスキャナ構成要素530は、メッセージをトレンドマイクロ(Trend Micro)、ノートン(Norton)、マカフィー(MacAfee)、ネットワークアソシエイツ(Network Associates, Inc.)、カスパースカイ・ラボ(Kaspersky Lab),ソフォス(Sophos)等のようなウィルスプロテクションソフトウェア供給メーカーによるソフトウェアにメッセージを通過させるかもしれない。加えて、スキャナ構成要素530は、独自仕様の、またはユーザーによって定義されたアルゴリズムをメッセージに適用し、エクスプロイトをスキャンするかもしれない。例えば、ユーザーによって定義されたアルゴリズムであってバッファオーバーフローのためのテストを実行するためのものが、エクスプロイトを検出するために使用されるかもしれない。
スキャナ構成要素530は、内部メカニズムであって、管理者がネットワークの外部において分散されることを避けたいメッセージおよびコンテンツのための電子署名を生成するものをもまた含むことが考えられる。例えば、図4を参照すると、コンピュータデバイスの一つの上でユーザーが、メッセージを生成し、または外部ネットワーク405には秘密であるメッセージを転送することを試みる。スキャナ構成要素530は、各メッセージについて、そういった電子署名の受信したかを(外部向けメッセージを含む)検査する。電子署名が、そのメッセージは転送されるべきでないことを示唆していることが発見された場合には、スキャナ構成要素530は、そのメッセージを誰が送信したか、そのメッセージが送信された時間、およびその他のメッセージ関連したデータについては、情報とともに構成要素を隔離するために、そのメッセージを転送する。あるメッセージがエクスプロイトを有することを決定した場合には、そのメッセージは、エクスプロイト・ハンドラー540へ送信されるかもしれない。エクスプロイト・ハンドラー540は、例えば、ネットワーク管理者によって、さらなる調査のためにエクスプロイトを含んだメッセージを記憶することが考えられる。出力構成要素545は、ネットワークを経由してメッセージを転送するように動作しているハードウェア、および/またはソフトウェアである。例えば、出力構成要素545がネットワークインターフェースユニット310のようなネットワークインターフェースを含むことが考えられる。
ファイアーウォールが、エクスプロイト・ディテクターにメッセージを通過させる傍らで、その他のタスクを実行するかもしれない。例えば、ファイアーウォールが特定のアドレスへ、または特定のアドレスからのメッセージをブロックするかもしれない。メッセージ・トランスポート・エージェント555は、電子メールを受信するコンピュータデバイスである。電子メールを受信するデバイスは、メールサーバーを含む。メールサーバーの例としては、マイクロソフト・エクスチェンジ(Microsoft Exchange)、キューメール(Q Mail)、ロータスノーツ(Lotus Notes)等を含む。図4を参照すると、ファイアーウォール500は、メッセージをメールサーバー430へ転送するかもしれない。
“エクスプロイトをスキャンするための説明的な方法”
図6は、本発明の一つの実施形態にしたがった、オブジェクトのSSHVを使用したオブジェクト検査のための好適な処理を図式的に表現したものである。オブジェクト610は、エクスプロイトの検査をされるべきものである。図に示されるように、処理600は、ホワイトリスト、およびブラックスリストチェックの両方を含む。このチェックは、オブジェクト610が以前にスキャンされたか否かを決定するために実行される。処理600は、両方のチェック、または単に一つのチェックとともに実行されるかもしれない。
ホワイトリストチェックは、ブロック615によって表されている。ホワイトリストチェックは、以前にスキャンされ、きれいである(すなわち、いかなるエクスプロイトも伴わない)と決定されたオブジェクトのSSHVを使用する。オブジェクト610のSSHVがブロック615におけるSSHVに対してマッチングが行なわれる。もし、一致が発見された場合、オブジェクト610がきれいであると決定され、ブロック630へ送られる。ブロック630では、オブジェクト610は、きれいなオブジェクトとして、処理される。例えば、オブジェクト610は、あて先へ転送される。
ブロック615へ戻ると、もし一致が発見されなかった場合、処理600は、ブロック620で継続される。ブロック620では、ブラックリストチェックが実行される。ブラックリストチェックは、以前スキャンして、悪意のあるもの(すなわち、エクスプロイトを有する)と決定されたオブジェクトのSSHVを使用する。オブジェクト610のSSHVは、ブロック620におけるSSHVに対してマッチングが行なわれる。もし、一致が発見されれば、オブジェクトと610は、悪意のあるものと決定され、ブロック635へ送信される。ブロック635においては、オブジェクト610は、悪意のあるオブジェクトとして処理される。例えば、オブジェクト610は、隔離されたり、エクスプロイトを除去するために処理されたり等されることが考えられる。
ブロック625に戻ると、もし一致が発見されなかった場合には、オブジェクト610は、スキャンされていないオブジェクト(すなわち、以前にスキャンされたことがない)と決定される。この場合、オブジェクト610は、ブロック625によって表されるように、スキャンエンジンへ通過される。スキャンエンジンは、オブジェクト610をスキャンし、そのオブジェクトがきれいか、悪意があるかを決定する。もし、オブジェクトがきれいであれば、そのオブジェクトのSSHVが計算され、ブロック615のホワイトリストに記憶される。もし、オブジェクトが悪意のあるものであれば、そのオブジェクトのSSHVが計算され、ブロック620のブラックリストに記憶される。
図7は、本発明の一つの実施形態にしたがった、二段階ハッシュ値マッチング法を使用した、オブジェクト検査のための好適な処理を図式的に示したものである。オブジェクト710は、エクスプロイトの検査をされるものである。プロセス700は、論理的には、ROHV段階、および図6に関連して詳細に上述されたSSHV段階を含む。ROHV段階は、可能であれば、SSHV段階に関連した計算を実行することを避けるために実行される。実際には、ROHV段階、およびSSHV段階は、実装理由のために統合される。
ROHV段階は、ブロック715によって表される。ROHV段階は、以前スキャンされたオブジェクトのROHVを使用する。オブジェクト710のROHVは、ブロック715においてROHVに対してマッチングが行なわれる。もし、一致が見つからなければ、オブジェクト710は、まだ、スキャンされていないオブジェクトであると決定され、スキャンされるために、スキャンエンジン725へ送信される。
ブロック715に戻ると、もし一致が発見された場合は、オブジェクト710は、以前スキャンされた可能性が高いと決定され、さらなるテストを行なうために、ブロック720で表されるSSHV段階へ通過させられる。ブロック720においては、オブジェクト710のSSHVが計算され、ブロック720において既知のエクスプロイトのSSHVに対してマッチングが行なわれる。もし、一致が発見された場合には、オブジェクト710は、以前にスキャンされたことがあると決定され、ブロック735へ送信される。ブロック735では、オブジェクト710は、悪意のあるオブジェクトとして処理される。
ブロック720に戻ると、一致が発見されなかった場合には、オブジェクト710は、スキャンされていないオブジェクトとして決定される。この場合、オブジェクト710は、ブロック725で表される、スキャンエンジンへ通過させられる。スキャンエンジンは、オブジェクト710をスキャンして、オブジェクトがきれいであるか、または悪意があるか決定する。もし、オブジェクトが悪意があるものであれば、ROHV段階715におけるリストは、オブジェクト710のROHVとともにアップデートされ、SSHV段階720は、オブジェクト710のSSHVとともに、アップデートされる。
図8は、本発明の一つの実施形態にしたがった、二段階ハッシュ値マッチング法を実行するデータ構造を図式的に示したものである。データ構造800は、ROHVに関連した、指標付けエントリーとともに第一の指標付けデータフィールド810を含む。ROHVにともなう各指標付けエントリーは、一つ以上のSSHVエントリーを含む第二のデータフィールド815に関連付けられることが考えられる。各SSHVエントリーは、特定のオブジェクトに関連付けられ、そのオブジェクトについての情報を含んでいるかもしれない。
図9は、本発明のひとつの実施形態にしたがった、エクスプロイトを検出するためのフローチャートを図示したものである。開始ブロックから移動すると、処理900は、ブロック910へ進む。ブロック910では、検査するオブジェクトを決定する。ブロック915において、この処理は、検査のためにオブジェクトの準備を行なう。例えば、オブジェクトがメッセージである場合には、この処理は、メッセージにおけるカプセル化を処理しなければならない。各オブジェクトが別々に検査されるために、この処理は、メッセージから添付ファイルを分離しなければならないことも考えられる。メッセージ、および添付ファイルが圧縮された場合は、この処理は、それらを解凍しなければならないかもしれない。ブロック920において、オブジェクトのROHVが決定され、以前スキャンされたオブジェクトのROHVに対してマッチングが行なわれる。
決定ブロック925において、検査されているオブジェクトのROHVが、以前スキャンされたROHVの少なくとも一つと一致するか否かの決定をする。もし、一致があった場合には、処理900は、ブロック930へ移動する。ブロック930においては、オブジェクトのSSHVが決定され、以前スキャンされたオブジェクトのSSHVに対してマッチングが行なわれる。
決定ブロック935において、オブジェクトのSSHVが、以前スキャンされたオブジェクトのSSHVの少なくとも一つに一致するか否かを決定する。もし、一致が見つからなかった場合には、そのオブジェクトは、スキャンされていないオブジェクトである。これは、920において一致するROHVが、そのオブジェクトが以前スキャンされたオブジェクトのいずれかと同一であるかを、大まかに決定しただけであるために、発生し得ることである。もし一致がなければ、処理は、ブロック940へ進む。もし一致が発見されれば、そのオブジェクトは、スキャンエンジンによりスキャンされることなく、直ちに処理される。この場合は、処理900は決定ブロック950へ進む。
ブロック925へ戻ると、オブジェクトのROHVが、以前スキャンされたオブジェクトのいずれとも一致しないときは、そのオブジェクトは、スキャンされていないオブジェクトであり、処理900はブロック940へ進む。
ブロック940において、オブジェクトは、スキャンエンジンによってスキャンされる。もし、エクスプロイトが発見されれば、処理900は、ブロック945へ移動する。ブロック945においては、オブジェクトのROHV、およびSSHVが決定され、以前スキャンされたオブジェクトのROHV、およびSSHVへそれらが加えられる。具体的には、ROHV、およびSSHVブロック920、およびブロック930におけるブラックリストへ追加される。もし、オブジェクトの中に、エクスプロイトが発見されず、かつ、ホワイトリストが使用された場合には、オブジェクトのSSHVは、そのホワイトリストへ追加される。処理900は、決定ブロック950において継続される。
決定ブロック950においては、オブジェクトが悪意のあるものであるか否かの決定がなされる。もし、オブジェクトが悪意のあるものであれば、そのオブジェクトは、ブロック960において、悪意のあるオブジェクトとして処理される。もし、そのオブジェクトが、悪意のないものであれば、そのオブジェクトは、ブロック955において、きれいなオブジェクトとして処理される。そして、この処理は終了する。ここまでで、要点が述べられたこの処理は、各受信されたオブジェクトに対して繰り返し実行されることが考えられる。
コンピュータシステム上で動作するコンピュータに実装された段階の順序、またはプログラムモジュールとして、および/またはコンピュータシステム内の相互接続されたマシン論理回路、または回路モジュールとして、本発明の様様な実施形態が実装され得る。この実装は、本発明を実行するコンピュータシステムの性能要求にしたがった選択の問題である。本開示を考慮すると、当業者にとっては、開示された様様な実施形態の機能、動作は、ソフトウェア、ファームウェア、特別な目的のためにデジタルロジック、またはそれらのあらゆる組み合わせにおいて、本発明の精神、および範囲から逸脱することなく、実装されることが認識され得る。
上記、明細書、例、およびデータは、本発明の構成を製造、使用するための完全な記述を提供する。多くの本発明の実施形態が、本発明の精神と範囲から逸脱することなくなされ得る。本発明は、特許請求の範囲によって定義される。
図1は、本発明の実施形態にしたがった、本発明が実施され得る好適な環境の構成要素を示す。 図2は、本発明の実施形態にしたがった、本発明が実施され得る好適な環境の構成要素を示す。 図3は、本発明の実施形態にしたがった、本発明が実施され得る好適な環境の構成要素を示す。 図4は、本発明の実施形態にしたがった、ネットワーク向けエクスプロイトプロテクションを提供するためのシステムが動作する好適な環境を図示する。 図5は、本発明の実施形態にしたがった、エクスプロイトプロテクションを提供するために動作可能なファイアーウォールの構成要素を図示する。 図6は、本発明の実施形態にしたがった、オブジェクトのSSHVを使用した、オブジェクト検査のための好適な処理を図式的に示す。 図7は、本発明の実施形態にしたがった、二段階ハッシュ値マッチング法を使用した、オブジェクトを検査する好適な処理を図式的に示す。 図8は、本発明の実施形態にしたがった、二段階ハッシュ値マッチング法を実装するデータ構造を図式的に示す。 図9は、本発明の実施形態にしたがった、エクスプロイト検出のためのフローチャートを図示する。

Claims (29)

  1. デバイスを通過するエクスプロイトを除去するための方法であって、
    デバイスへ向けられたオブジェクトを受信する段階と、
    オブジェクトに関連する第一の値を決定する段階と、
    以前にスキャンされたことのあるオブジェクトに関連した第二の値のセットを決定する段階と、
    前記第一の値が、前記第二の値のセットの中の少なくとも一つの値に一致する場合には、
    オブジェクトに関連する第三の値を決定する段階と、
    以前スキャンされたことがあるオブジェクトに関連する第四の値のセットを決定する段階と、
    第三の値が、前記第四の値のセットの中の少なくとも一つの値に一致する場合には、オブジェクトを直ちに処理する段階と、
    を備えることを特徴とする方法。
  2. 請求項1に記載の方法において、オブジェクトが、メッセージ、メッセージの添付ファイル、電子メール、コンピュータ実行可能なファイル、およびデータファイルの少なくとも一つを含むことを特徴とする方法。
  3. 請求項1に記載の方法において、前記第一の値、および前記第三の値の少なくとも一つが、さらに、ハッシュ値、アルゴリズム的な機能、チェックサム、公開鍵証明書、および電子署名の少なくとも一つを含むことを特徴とする方法。
  4. 請求項1に記載の方法において、前記第一の値が、大まかなアウトラインハッシュ値(ROHV)を含むことを特徴とする方法。
  5. 請求項4に記載の方法において、前記第三の値が、高度なシグネチャーハッシュ値(SSHV)を含み、かつ、前記ROHVが、計算するために、前記SSHVより少ない時間を必要とすることを特徴とする方法。
  6. 請求項1に記載の方法において、オブジェクトを直ちに処理する段階が、さらに、オブジェクトをスキャンすることなくオブジェクトを処理する段階を含むことを特徴とする方法。
  7. 請求項6に記載の方法において、オブジェクトを直ちに処理する段階が、さらに、オブジェクトからエクスプロイトを除去する段階を含むことを特徴とする方法。
  8. 請求項6に記載の方法において、オブジェクトを直ちに処理する段階が、さらに、オブジェクトを、宛て先へ転送する段階を含むことを特徴とする方法。
  9. 請求項1に記載の方法であって、さらに、前記第一の値が前記第二の値のセットにおけるいずれの値とも一致しない場合に、
    エクスプロイトを、オブジェクトについてスキャンする段階と、
    前記第一の値を含むように前記第二の値のセットをアップデートする段階と、
    を含むことを特徴とする方法。
  10. 請求項1に記載の方法であって、さらに、前記第三の値が前記第四の値のセットにおけるいずれの値とも一致しない場合に、
    エクスプロイトを、オブジェクトについてスキャンする段階と、
    前記第三の値を含むように前記第四の値のセットをアップデートする段階と、
    を含むことを特徴とする方法。
  11. 請求項1に記載の方法において、前記方法がファイアーウォール、ルータ、スイッチ、サーバー、および専用プラットフォームの少なくとも一つの上で動作可能であることを特徴とする方法。
  12. データ構造を有するデータを記憶したコンピュータ読み取り可能な媒体であって、
    前記データ構造が、
    指標付けエントリーを有する第一の指標付けデータフィールドと、
    オブジェクトに関連したエントリーを含む第二のデータフィールドと、
    を含み、
    各指標付けエントリーが第一の値を含み、
    各オブジェクトに関連したエントリーが第二の値を有し、前記指標付けデータフィールドにおける指標付けエントリーに指標付けされ、以前にスキャンされたことのあるオブジェクトに一意に関連付けられる、
    ことを特徴とするコンピュータ読み取り可能な媒体。
  13. 請求項12に記載のコンピュータ読み取り可能な媒体において、前記第一の値、および前記第二の値の少なくとも一つが、さらに、ハッシュ値、アルゴリズム的な機能、チェックサム、公開鍵証明書、および電子署名の少なくとも一つを含むことを特徴とするコンピュータ読み取り可能な媒体。
  14. 請求項12に記載のコンピュータ読み取り可能な媒体において、前記第一の値がROHVであることを特徴とするコンピュータ読み取り可能な媒体。
  15. 請求項12に記載のコンピュータ読み取り可能な媒体において、前記第二の値がSSHVであることを特徴とするコンピュータ読み取り可能な媒体。
  16. 請求項12に記載のコンピュータ読み取り可能な媒体において、前記第二のデータフィールドにおけるオブジェクトに関連したエントリーの少なくとも一つが、関連のあるオブジェクトについての情報を含むことを特徴とするコンピュータ読み取り可能な媒体。
  17. エクスプロイトに対してデバイスを保護するシステムであって、
    二段階ハッシュ値法を使用し、オブジェクトが以前にスキャンされたか否かを決定するように構成されたメッセージ・トラッカーと、
    前記メッセージ・トラッカーに接続され、かつ、スキャンされていないオブジェクトを受信し、前記スキャンされていないオブジェクトがエクスプロイトを含むか否かを決定するように構成されるスキャナ構成要素と、
    を含むことを特徴とするシステム。
  18. 請求項17に記載のシステムにおいて、オブジェクトが、メッセージ、メッセージへの添付ファイル、電子メール、コンピュータ実行可能なファイル、およびデータファイルの少なくとも一つを含むことを特徴とするシステム。
  19. 請求項17に記載のシステムにおいて、前記二段階ハッシュ値法が、
    オブジェクトに関連する第一の値を決定する段階と、
    以前にスキャンされたことがあるオブジェクトに関連した第二の値のセットを決定する段階と、
    前記第一の値と前記第二の値のセットにおける少なくとも一つの値とも一致しない場合に、オブジェクトは、以前にスキャンされたことがないことを決定する段階と、
    を含むことを特徴とするシステム。
  20. 請求項19に記載のシステムにおいて、前記第一の値が、さらに、ハッシュ値、アルゴリズム的な機能、チェックサム、公開鍵証明書、および電子署名の少なくとも一つを含むことを特徴とするシステム。
  21. 請求項19に記載のシステムにおいて、前記第一の値が、さらに、ROHVを含むことを特徴とするシステム。
  22. 請求項19に記載のシステムにおいて、前記二段階ハッシュ値法が、さらに、
    前記第一の値が、前記第二の値のセットの少なくとも一つの値に一致する場合に、
    オブジェクトに関連する第三の値を決定する段階と、
    以前にスキャンされたことのあるオブジェクトに関連する第四の値のセットを決定する段階と、
    前記第三の値が、前記第四の値のセットにおける少なくとも一つの値と一致しない場合に、オブジェクトが以前にスキャンされたことがないことを決定する段階と、
    を含むことを特徴とするシステム。
  23. 請求項22に記載のシステムにおいて、前記第三の値が、さらに、ハッシュ値、アルゴリズム的な機能、チェックサム、公開鍵証明書、および電子署名の少なくとも一つを含むことを特徴とするシステム。
  24. 請求項22に記載のシステムにおいて、第三の値が、さらに、SSHVを含むことを特徴とするシステム。
  25. 請求項22に記載のシステムにおいて、前記二段階ハッシュ値法が、さらに、
    前記第三の値が、前記第四の値のセットにおける値の少なくとも一つと、おおよそ一致した場合に、オブジェクトは以前にスキャンされたことがあることを決定する段階、
    を含むことを特徴とする。
  26. 請求項17に記載のシステムにおいて、前記システムが、ファイアーウォール、ルータ、スイッチ、サーバー、専用プラットフォームの少なくとも一つの上で、動作可能であることを特徴とするシステム。
  27. エクスプロイトに対してデバイスを保護するための装置であって、
    前記デバイスへ向けられたオブジェクトを受信するための手段と、
    二段階ハッシュ値法を使用して、オブジェクトが以前にスキャンされたことがあることを決定する手段と、
    オブジェクトが以前にスキャンされたことがある場合に、直ちにオブジェクトを処理する手段と、
    を含むことを特徴とする装置。
  28. 請求項27に記載の装置であって、さらに、オブジェクトが、以前にスキャンされたことがない場合に、オブジェクトをスキャンする手段を含むことを特徴とする装置。
  29. 請求項27に記載の装置であって、さらに、
    前記二段階ハッシュ値法のための以前にスキャンされたオブジェクトのリストを維持する手段と、
    前記リストをアップデートする手段と、
    を含むことを特徴とする装置。
JP2006515300A 2003-06-25 2004-06-10 メッセージプロテクションシステムにおける二段階ハッシュ値マッチング法 Expired - Fee Related JP4447008B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/606,659 US20050015599A1 (en) 2003-06-25 2003-06-25 Two-phase hash value matching technique in message protection systems
PCT/IB2004/001926 WO2004114045A2 (en) 2003-06-25 2004-06-10 Two-phase hash value matching technique in message protection systems

Publications (2)

Publication Number Publication Date
JP2007528040A true JP2007528040A (ja) 2007-10-04
JP4447008B2 JP4447008B2 (ja) 2010-04-07

Family

ID=33540120

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006515300A Expired - Fee Related JP4447008B2 (ja) 2003-06-25 2004-06-10 メッセージプロテクションシステムにおける二段階ハッシュ値マッチング法

Country Status (5)

Country Link
US (1) US20050015599A1 (ja)
EP (1) EP1644784A4 (ja)
JP (1) JP4447008B2 (ja)
CN (1) CN101142782A (ja)
WO (1) WO2004114045A2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010079906A (ja) * 2008-09-26 2010-04-08 Symantec Corp マルウェアの誤検出を低減する方法及び装置
JP2011248897A (ja) * 2010-05-27 2011-12-08 Samsung Sds Co Ltd パターンマッチング方法及びシステム
JP2011258206A (ja) * 2010-06-07 2011-12-22 Samsung Sds Co Ltd アンチマルウェアシステム及びその動作方法
JP2012003773A (ja) * 2010-06-21 2012-01-05 Samsung Sds Co Ltd アンチマルウェアデバイス、サーバ及びマルウェアパターンマッチング方法

Families Citing this family (88)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8352400B2 (en) 1991-12-23 2013-01-08 Hoffberg Steven M Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore
US7904187B2 (en) 1999-02-01 2011-03-08 Hoffberg Steven M Internet appliance system and method
US7752667B2 (en) * 2004-12-28 2010-07-06 Lenovo (Singapore) Pte Ltd. Rapid virus scan using file signature created during file write
US7805765B2 (en) * 2004-12-28 2010-09-28 Lenovo (Singapore) Pte Ltd. Execution validation using header containing validation data
KR100617867B1 (ko) * 2005-03-07 2006-08-28 엘지전자 주식회사 데이터 방송 응용 프로그램의 서명 인증 방법
US20070016632A1 (en) * 2005-07-14 2007-01-18 Yahoo! Inc. System and method for synchronizing between a user device and a server in a communication network
US8417782B2 (en) * 2005-07-14 2013-04-09 Yahoo! Inc. Universal calendar event handling
US8112549B2 (en) * 2005-07-14 2012-02-07 Yahoo! Inc. Alert mechanism for notifying multiple user devices sharing a connected-data-set
US7788352B2 (en) * 2005-07-14 2010-08-31 Yahoo! Inc. System and method for servicing a user device
US20070014243A1 (en) * 2005-07-14 2007-01-18 Yahoo! Inc. System and method for provisioning a user device
GB0517303D0 (en) * 2005-08-23 2005-10-05 Netronome Systems Inc System and method for processing secure transmissions
GB0517304D0 (en) 2005-08-23 2005-10-05 Netronome Systems Inc A system and method for processing and forwarding transmitted information
US8407067B2 (en) 2007-04-17 2013-03-26 Biomet Manufacturing Corp. Method and apparatus for manufacturing an implant
US9173661B2 (en) 2006-02-27 2015-11-03 Biomet Manufacturing, Llc Patient specific alignment guide with cutting surface and laser indicator
US9345548B2 (en) 2006-02-27 2016-05-24 Biomet Manufacturing, Llc Patient-specific pre-operative planning
US9289253B2 (en) 2006-02-27 2016-03-22 Biomet Manufacturing, Llc Patient-specific shoulder guide
US20150335438A1 (en) 2006-02-27 2015-11-26 Biomet Manufacturing, Llc. Patient-specific augments
US8603180B2 (en) 2006-02-27 2013-12-10 Biomet Manufacturing, Llc Patient-specific acetabular alignment guides
US9918740B2 (en) 2006-02-27 2018-03-20 Biomet Manufacturing, Llc Backup surgical instrument system and method
US9339278B2 (en) 2006-02-27 2016-05-17 Biomet Manufacturing, Llc Patient-specific acetabular guides and associated instruments
US9907659B2 (en) 2007-04-17 2018-03-06 Biomet Manufacturing, Llc Method and apparatus for manufacturing an implant
US8591516B2 (en) 2006-02-27 2013-11-26 Biomet Manufacturing, Llc Patient-specific orthopedic instruments
GB0605117D0 (en) * 2006-03-14 2006-04-26 Streamshield Networks Ltd A method and apparatus for providing network security
US9507778B2 (en) 2006-05-19 2016-11-29 Yahoo! Inc. Summarization of media object collections
US9795399B2 (en) 2006-06-09 2017-10-24 Biomet Manufacturing, Llc Patient-specific knee alignment guide and associated method
WO2008023424A1 (fr) 2006-08-24 2008-02-28 Duaxes Corporation Système de gestion de communication et procédé de gestion de communication associé
JP4571184B2 (ja) 2006-08-24 2010-10-27 デュアキシズ株式会社 通信管理システム
US8594702B2 (en) * 2006-11-06 2013-11-26 Yahoo! Inc. Context server for associating information based on context
EP2053533A4 (en) * 2006-11-09 2011-03-23 Panasonic Corp FAKE DETECTION SYSTEM, FAKE DETECTION METHOD, FAKE IDENTIFICATION PROGRAM, RECORDING MEDIUM, INTEGRATED CIRCUIT, DEVICE FOR GENERATING AUTHENTICATION INFORMATION AND FAKE DETECTION DEVICE
US8402356B2 (en) * 2006-11-22 2013-03-19 Yahoo! Inc. Methods, systems and apparatus for delivery of media
US20080120308A1 (en) * 2006-11-22 2008-05-22 Ronald Martinez Methods, Systems and Apparatus for Delivery of Media
US9110903B2 (en) * 2006-11-22 2015-08-18 Yahoo! Inc. Method, system and apparatus for using user profile electronic device data in media delivery
US8769099B2 (en) * 2006-12-28 2014-07-01 Yahoo! Inc. Methods and systems for pre-caching information on a mobile computing device
US9251350B2 (en) * 2007-05-11 2016-02-02 Microsoft Technology Licensing, Llc Trusted operating environment for malware detection
US8069142B2 (en) * 2007-12-06 2011-11-29 Yahoo! Inc. System and method for synchronizing data on a network
US8671154B2 (en) * 2007-12-10 2014-03-11 Yahoo! Inc. System and method for contextual addressing of communications on a network
US8307029B2 (en) 2007-12-10 2012-11-06 Yahoo! Inc. System and method for conditional delivery of messages
US8166168B2 (en) 2007-12-17 2012-04-24 Yahoo! Inc. System and method for disambiguating non-unique identifiers using information obtained from disparate communication channels
US20090165022A1 (en) * 2007-12-19 2009-06-25 Mark Hunter Madsen System and method for scheduling electronic events
US9626685B2 (en) * 2008-01-04 2017-04-18 Excalibur Ip, Llc Systems and methods of mapping attention
US9706345B2 (en) * 2008-01-04 2017-07-11 Excalibur Ip, Llc Interest mapping system
US8762285B2 (en) * 2008-01-06 2014-06-24 Yahoo! Inc. System and method for message clustering
US20090182618A1 (en) * 2008-01-16 2009-07-16 Yahoo! Inc. System and Method for Word-of-Mouth Advertising
US8560390B2 (en) 2008-03-03 2013-10-15 Yahoo! Inc. Method and apparatus for social network marketing with brand referral
US8538811B2 (en) * 2008-03-03 2013-09-17 Yahoo! Inc. Method and apparatus for social network marketing with advocate referral
US8554623B2 (en) 2008-03-03 2013-10-08 Yahoo! Inc. Method and apparatus for social network marketing with consumer referral
US8745133B2 (en) 2008-03-28 2014-06-03 Yahoo! Inc. System and method for optimizing the storage of data
US8589486B2 (en) 2008-03-28 2013-11-19 Yahoo! Inc. System and method for addressing communications
US8271506B2 (en) * 2008-03-31 2012-09-18 Yahoo! Inc. System and method for modeling relationships between entities
US8813107B2 (en) * 2008-06-27 2014-08-19 Yahoo! Inc. System and method for location based media delivery
US8452855B2 (en) 2008-06-27 2013-05-28 Yahoo! Inc. System and method for presentation of media related to a context
US8706406B2 (en) * 2008-06-27 2014-04-22 Yahoo! Inc. System and method for determination and display of personalized distance
US8086700B2 (en) * 2008-07-29 2011-12-27 Yahoo! Inc. Region and duration uniform resource identifiers (URI) for media objects
US10230803B2 (en) * 2008-07-30 2019-03-12 Excalibur Ip, Llc System and method for improved mapping and routing
US8583668B2 (en) 2008-07-30 2013-11-12 Yahoo! Inc. System and method for context enhanced mapping
US8386506B2 (en) * 2008-08-21 2013-02-26 Yahoo! Inc. System and method for context enhanced messaging
WO2010026997A1 (ja) * 2008-09-04 2010-03-11 独立行政法人科学技術振興機構 クライオスタット
US20100063993A1 (en) * 2008-09-08 2010-03-11 Yahoo! Inc. System and method for socially aware identity manager
US8281027B2 (en) * 2008-09-19 2012-10-02 Yahoo! Inc. System and method for distributing media related to a location
US9600484B2 (en) * 2008-09-30 2017-03-21 Excalibur Ip, Llc System and method for reporting and analysis of media consumption data
US8108778B2 (en) * 2008-09-30 2012-01-31 Yahoo! Inc. System and method for context enhanced mapping within a user interface
KR101025743B1 (ko) * 2008-10-13 2011-04-04 한국전자통신연구원 중거리 무선 전력 전송 기술을 이용한 인공 망막 구동 장치
US8032508B2 (en) * 2008-11-18 2011-10-04 Yahoo! Inc. System and method for URL based query for retrieving data related to a context
US9805123B2 (en) 2008-11-18 2017-10-31 Excalibur Ip, Llc System and method for data privacy in URL based context queries
US8024317B2 (en) 2008-11-18 2011-09-20 Yahoo! Inc. System and method for deriving income from URL based context queries
US8060492B2 (en) 2008-11-18 2011-11-15 Yahoo! Inc. System and method for generation of URL based context queries
US9224172B2 (en) 2008-12-02 2015-12-29 Yahoo! Inc. Customizable content for distribution in social networks
US8055675B2 (en) 2008-12-05 2011-11-08 Yahoo! Inc. System and method for context based query augmentation
US8166016B2 (en) * 2008-12-19 2012-04-24 Yahoo! Inc. System and method for automated service recommendations
US8146158B2 (en) * 2008-12-30 2012-03-27 Microsoft Corporation Extensible activation exploit scanner
US20100185517A1 (en) * 2009-01-21 2010-07-22 Yahoo! Inc. User interface for interest-based targeted marketing
US20100228582A1 (en) * 2009-03-06 2010-09-09 Yahoo! Inc. System and method for contextual advertising based on status messages
US9350755B1 (en) * 2009-03-20 2016-05-24 Symantec Corporation Method and apparatus for detecting malicious software transmission through a web portal
US8150967B2 (en) 2009-03-24 2012-04-03 Yahoo! Inc. System and method for verified presence tracking
US20100280879A1 (en) * 2009-05-01 2010-11-04 Yahoo! Inc. Gift incentive engine
US10223701B2 (en) * 2009-08-06 2019-03-05 Excalibur Ip, Llc System and method for verified monetization of commercial campaigns
US8914342B2 (en) 2009-08-12 2014-12-16 Yahoo! Inc. Personal data platform
US8364611B2 (en) 2009-08-13 2013-01-29 Yahoo! Inc. System and method for precaching information on a mobile device
US8640241B2 (en) 2009-11-16 2014-01-28 Quatum Corporation Data identification system
US8595840B1 (en) 2010-06-01 2013-11-26 Trend Micro Incorporated Detection of computer network data streams from a malware and its variants
US9558074B2 (en) 2010-06-11 2017-01-31 Quantum Corporation Data replica control
US9665582B2 (en) 2010-08-04 2017-05-30 Quantum Corporation Software, systems, and methods for enhanced replication within virtual machine environments
US9968376B2 (en) 2010-11-29 2018-05-15 Biomet Manufacturing, Llc Patient-specific orthopedic instruments
CN105556498B (zh) * 2013-09-27 2018-08-17 英特尔公司 经由覆盖网络进行通信的计算设备及机器可读介质
EP3079334B1 (en) * 2015-04-09 2019-03-13 The Boeing Company Device and method for transferring files from a portable storage device
US10706959B1 (en) * 2015-12-22 2020-07-07 The Advisory Board Company Systems and methods for medical referrals via secure email and parsing of CCDs
US10722310B2 (en) 2017-03-13 2020-07-28 Zimmer Biomet CMF and Thoracic, LLC Virtual surgery planning system and method
US11620378B2 (en) * 2019-11-27 2023-04-04 Data Security Technologies LLC Systems and methods for proactive and reactive data security

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL9101181A (nl) * 1991-07-05 1993-02-01 Nederland Ptt Werkwijze en inrichting voor het detecteren van een of meer bekende karakterstrings in een verzameling karakters.
US6167520A (en) * 1996-11-08 2000-12-26 Finjan Software, Inc. System and method for protecting a client during runtime from hostile downloadables
US5960170A (en) * 1997-03-18 1999-09-28 Trend Micro, Inc. Event triggered iterative virus detection
US6016546A (en) * 1997-07-10 2000-01-18 International Business Machines Corporation Efficient detection of computer viruses and other data traits
US6094731A (en) * 1997-11-24 2000-07-25 Symantec Corporation Antivirus accelerator for computer networks
US6577920B1 (en) * 1998-10-02 2003-06-10 Data Fellows Oyj Computer virus screening
US6892303B2 (en) * 2000-01-06 2005-05-10 International Business Machines Corporation Method and system for caching virus-free file certificates
US7328349B2 (en) * 2001-12-14 2008-02-05 Bbn Technologies Corp. Hash-based systems and methods for detecting, preventing, and tracing network worms and viruses
US7032114B1 (en) * 2000-08-30 2006-04-18 Symantec Corporation System and method for using signatures to detect computer intrusions
GB2366706B (en) * 2000-08-31 2004-11-03 Content Technologies Ltd Monitoring electronic mail messages digests
US7310817B2 (en) * 2001-07-26 2007-12-18 Mcafee, Inc. Centrally managed malware scanning
US20030037141A1 (en) * 2001-08-16 2003-02-20 Gary Milo Heuristic profiler software features

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010079906A (ja) * 2008-09-26 2010-04-08 Symantec Corp マルウェアの誤検出を低減する方法及び装置
US8931086B2 (en) 2008-09-26 2015-01-06 Symantec Corporation Method and apparatus for reducing false positive detection of malware
JP2011248897A (ja) * 2010-05-27 2011-12-08 Samsung Sds Co Ltd パターンマッチング方法及びシステム
US9392005B2 (en) 2010-05-27 2016-07-12 Samsung Sds Co., Ltd. System and method for matching pattern
JP2011258206A (ja) * 2010-06-07 2011-12-22 Samsung Sds Co Ltd アンチマルウェアシステム及びその動作方法
JP2012003773A (ja) * 2010-06-21 2012-01-05 Samsung Sds Co Ltd アンチマルウェアデバイス、サーバ及びマルウェアパターンマッチング方法

Also Published As

Publication number Publication date
WO2004114045A2 (en) 2004-12-29
US20050015599A1 (en) 2005-01-20
CN101142782A (zh) 2008-03-12
WO2004114045A3 (en) 2007-11-29
EP1644784A2 (en) 2006-04-12
JP4447008B2 (ja) 2010-04-07
EP1644784A4 (en) 2010-06-09

Similar Documents

Publication Publication Date Title
JP4447008B2 (ja) メッセージプロテクションシステムにおける二段階ハッシュ値マッチング法
US6941478B2 (en) System and method for providing exploit protection with message tracking
US7134142B2 (en) System and method for providing exploit protection for networks
US7809796B1 (en) Method of controlling access to network resources using information in electronic mail messages
US7849502B1 (en) Apparatus for monitoring network traffic
EP2865165B1 (en) Method and device for secure content retrieval
US7974286B2 (en) Reduced redundant security screening
US7640434B2 (en) Identification of undesirable content in responses sent in reply to a user request for content
US7555781B2 (en) Security component for a computing device
JP4162210B2 (ja) セッション追跡を利用する動的パケットフィルター
US20170308699A1 (en) Systems and methods for detecting undesirable network traffic content
US7954155B2 (en) Identifying unwanted electronic messages
US8286245B2 (en) Virus protection in an internet environment
US20060288418A1 (en) Computer-implemented method with real-time response mechanism for detecting viruses in data transfer on a stream basis
US6745192B1 (en) System and method for providing a multi-tiered hierarchical transient message store accessed using multiply hashed unique filenames
US20070039051A1 (en) Apparatus And Method For Acceleration of Security Applications Through Pre-Filtering
US20080077995A1 (en) Network-Based Security Platform
US7634543B1 (en) Method of controlling access to network resources referenced in electronic mail messages
US10686808B2 (en) Notification for reassembly-free file scanning
GB2432934A (en) Virus scanning for subscribers in a network environment
GB2417655A (en) Network-based platform for providing security services to subscribers

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090427

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090727

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090803

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090805

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090831

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20091130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091204

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20091207

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100104

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100119

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130129

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees