(57)【特許請求の範囲】
【請求項１】
評判システムのクライアントを認証するためにコンピュータを使用する方法であって、
クライアントとトランザクションを行うステップであって、前記トランザクションは前記クライアントからセキュリティトークンを受け取るステップを含む、トランザクションを行うステップと、
前記トランザクション中に前記クライアントに関するメタデータを観察するステップと、
前記セキュリティトークンから、前記クライアントの物理的特性に関するメタデータを抽出するステップと、
前記クライアントの前記物理的特性に関する前記メタデータが、前記クライアントが潜在的に移動性を有することを示すかどうかを判定するステップと
前記観察したメタデータを前記抽出したメタデータに相関させて相関度を求めるステップと、
前記相関度、及び前記クライアントが潜在的に移動性を有すること前記抽出したメタデータが示すかどうか、に応じて決定されるセキュリティポリシを前記クライアントとのトランザクションに適用するステップと
を含む、方法。
【請求項２】
前記トランザクションが、クライアントにおいて検出されるオブジェクトについて記述するレポートを前記クライアントから受け取るステップを含み、
前記セキュリティポリシを適用するステップは、前記相関が低い相関度を求めることに応じて、前記オブジェクトについて記述する前記レポートを無視するステップをさらに含む、
請求項１に記載の方法。
【請求項３】
前記トランザクションが、クライアントにおいて検出されるオブジェクトについて記述するレポートを前記クライアントから受け取るステップを含み、
前記セキュリティポリシを適用するステップは、前記相関が高い相関度を求めることに応じて、前記オブジェクトについて記述する前記レポートを受け入れるセキュリティポリシを適用するステップ
をさらに含む、請求項１に記載の方法。
【請求項４】
前記トランザクション中に、前記クライアントが使用するＩＰアドレスを観察するステップと、
前記観察したＩＰアドレスに関連する地理的領域を求めるステップと、
前記セキュリティトークンから前記クライアントに関連する地理的領域に関するメタデータを抽出するステップと、
前記観察したＩＰアドレスに関連する前記求めた地理的領域と、前記クライアントに関連する前記地理的領域に関する前記抽出したメタデータとの間の相関度を求めるステップと
をさらに含む、請求項１に記載の方法。
【請求項５】
前記相関度を求めるステップは、前記観察したＩＰアドレスに関連する前記求めた地理的領域と、前記クライアントに関連する前記地理的領域に関する前記抽出したメタデータとの間の前記相関度、に応じて前記相関度を求め、
前記適用されたセキュリティポリシは、地理的相関が欠如し、抽出したメタデータが前記クライアントが潜在的に移動性を有することを示す場合に、クライアントからのレポートを信用する、
請求項４に記載の方法。
【請求項６】
暗号技法を使用して前記トークンの真正性を検証するステップと、
前記検証に応じて決定されるセキュリティポリシを適用するステップと
をさらに含む、請求項１に記載の方法。
【請求項７】
評判システムのクライアントを認証するための、コンピュータにより実行可能なコンピュータプログラムであって、
コンピュータに、
クライアントとトランザクションを行うステップであって、前記トランザクションは前記クライアントからセキュリティトークンを受け取るステップを含む、トランザクションを行うステップと、
前記トランザクション中に前記クライアントに関するメタデータを観察するステップと、
前記セキュリティトークンから、前記クライアントの物理的特性に関するメタデータを抽出するステップと、
前記クライアントの前記物理的特性に関する前記メタデータが、前記クライアントが潜在的に移動性を有することを示すかどうかを判定するステップと
前記観察したメタデータを前記抽出したメタデータに相関させて相関度を求めるステップと、
前記相関度、及び前記クライアントが潜在的に移動性を有すること前記抽出したメタデータが示すかどうか、に応じて決定されるセキュリティポリシを前記クライアントとのトランザクションに適用するステップと
を実行させる、コンピュータプログラム。
【請求項８】
前記トランザクションが、クライアントにおいて検出されるオブジェクトについて記述するレポートを前記クライアントから受け取るステップを含み、
前記セキュリティポリシを適用するステップは、前記相関が低い相関度を求めることに応じて、前記オブジェクトについて記述する前記レポートを無視するステップをさらに含む、
請求項７に記載のコンピュータプログラム。
【請求項９】
前記トランザクションが、クライアントにおいて検出されるオブジェクトについて記述するレポートを前記クライアントから受け取るステップを含み、
前記セキュリティポリシを適用するステップは、前記相関が高い相関度を求めることに応じて、前記オブジェクトについて記述する前記レポートを受け入れるセキュリティポリシを適用するステップをさらに含む、
請求項７に記載のコンピュータプログラム。
【請求項１０】
前記トランザクション中に、前記クライアントが使用するＩＰアドレスを観察するステップと、
前記観察したＩＰアドレスに関連する地理的領域を求めるステップと、
前記セキュリティトークンから前記クライアントに関連する地理的領域に関するメタデータを抽出するステップと、
前記観察したＩＰアドレスに関連する前記求めた地理的領域と、前記クライアントに関連する前記地理的領域に関する前記抽出したメタデータとの間の相関度を求めるステップと
をさらに含む、請求項７に記載のコンピュータプログラム。
【請求項１１】
前記相関度を求めるステップは、前記観察したＩＰアドレスに関連する前記求めた地理的領域と、前記クライアントに関連する前記地理的領域に関する前記抽出したメタデータとの間の前記相関度、に応じて前記相関度を求め、
前記適用されたセキュリティポリシは、地理的相関が欠如し、抽出したメタデータが前記クライアントが潜在的に移動性を有することを示す場合に、クライアントからのレポートを信用する、
請求項１０に記載のコンピュータプログラム。
【請求項１２】
暗号技法を使用して前記トークンの真正性を検証するステップと、
前記検証に応じて決定されるセキュリティポリシを適用するステップと
をさらに含む、請求項７に記載のコンピュータプログラム。
【請求項１３】
評判システムのクライアントを認証するためのコンピュータシステムであって、
クライアントとトランザクションを実行する実行手段であって、前記トランザクションは前記クライアントからセキュリティトークンを受け取る、実行手段と、
前記トランザクション中に前記クライアントに関するメタデータを観察する観察手段と、
前記セキュリティトークンから、前記クライアントの物理的特性に関するメタデータを抽出する抽出手段と、
前記クライアントの前記物理的特性に関する前記メタデータが、前記クライアントが潜在的に移動性を有することを示すかどうかを判定する判定手段と、
前記観察したメタデータを前記抽出したメタデータに相関させて相関度を求める相関手段と、
前記相関度、及び前記クライアントが潜在的に移動性を有すること前記抽出したメタデータが示すかどうか、に応じて決定されるセキュリティポリシを前記クライアントとのトランザクションに適用する適用手段と、
を備える、コンピュータシステム。
【請求項１４】
前記トランザクションが、クライアントにおいて検出されるオブジェクトについて記述するレポートを前記クライアントから受け取ることを含み、
前記適用手段は、前記相関が低い相関度を求めることに応じて、前記オブジェクトについて記述する前記レポートを無視する、
請求項１３に記載のコンピュータシステム。
【請求項１５】
前記トランザクションが、クライアントにおいて検出されるオブジェクトについて記述するレポートを前記クライアントから受け取ることを含み、
前記適用手段は、前記相関が高い相関度を求めることに応じて、前記オブジェクトについて記述する前記レポートを受け入れるセキュリティポリシを適用する、
請求項１３に記載のコンピュータシステム。
【請求項１６】
前記観察手段は、前記トランザクション中に、前記クライアントが使用するＩＰアドレスを観察し、
前記判定手段は、前記観察したＩＰアドレスに関連する地理的領域を求め、
前記抽出手段は、前記セキュリティトークンから前記クライアントに関連する地理的領域に関するメタデータを抽出し、
前記相関手段は、前記観察したＩＰアドレスに関連する前記求めた地理的領域と、前記クライアントに関連する前記地理的領域に関する前記抽出したメタデータとの間の相関度を求める、
請求項１３に記載のコンピュータシステム。
【請求項１７】
前記相関手段は、前記観察したＩＰアドレスに関連する前記求めた地理的領域と、前記クライアントに関連する前記地理的領域に関する前記抽出したメタデータとの間の前記相関度、に応じて前記相関度を求め、
前記適用されたセキュリティポリシは、地理的相関が欠如し、抽出したメタデータが前記クライアントが潜在的に移動性を有することを示す場合に、クライアントからのレポートを信用する、
請求項１６に記載のコンピュータシステム。
【請求項１８】
暗号技法を使用して前記トークンの真正性を検証する検証手段をさらに備え、
前記適用手段は、前記検証に応じて決定されるセキュリティポリシを適用する、
請求項１３に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にコンピュータセキュリティに関し、とりわけ悪意あるオブジェクトを検出するための評判システムを操作しようとする試みを検出することに関する。
【背景技術】
【０００２】
様々な種類の悪意あるソフトウェア（マルウェア）が現代のコンピュータを攻撃する可能性がある。マルウェアの脅威には、コンピュータウイルス、ワーム、トロイの木馬プログラム、スパイウェア、アドウェア、クライムウェア、およびフィッシングウェブサイトが含まれる。悪意あるエンティティは、悪意あるエンティティ自体の利益のために使用することができる機密データや秘密データを記憶するサーバを攻撃することもある。同様に、家庭用コンピュータを含む他のコンピュータも、ユーザが電子メールにより他者と通信するとき、ユーザが新たなプログラムまたはプログラムアップデートをダウンロードするとき、および他の多くの状況で伝送され得る悪意あるソフトウェアから絶えず保護しなければならない。コンピュータに対して攻撃するために悪意あるエンティティが利用可能な様々なオプションおよび方法は非常に多い。
【０００３】
シグニチャストリングスキャニングなど、マルウェアを検出するための従来の技法は効果が低くなっている。現代のマルウェアは、多くの場合対象が絞られており、関係のある一握りのコンピュータにしか送られない。例えばトロイの木馬プログラムは、特定の企業の特定の部門内のコンピュータを対象とするように設計することができる。そのようなマルウェアはセキュリティ分析者に全く遭遇しない可能性があり、よってセキュリティソフトウェアは、そのようなマルウェアを検出するためのシグニチャにより決して構成されないことがある。さらには、大量に出回るマルウェアは、マルウェアのすべてのインスタンスを一意なものにするポリモーフィズムを含むことができる。その結果、マルウェアのすべてのインスタンスを確実に検出するシグニチャストリングを開発するのは困難である。
【０００４】
マルウェアを検出するためのより新しい技法は、評判システムを使用するものである。評判システムは、オブジェクトがマルウェアである可能性を評価するために、コンピュータ上で遭遇するファイルまたは他のオブジェクトの評判を決定することができる。オブジェクトの評判を策定する１つの方法は、オブジェクトが見つかったネットワークコンピュータからレポートを集め、そのレポート内の情報に評判を基づかせることである。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしそのような評判システムは、本質的に未知の相手であるものからのレポートに依拠するので、悪意あるアクタによる転覆活動の影響を受けやすい。例えば、マルウェアを出回らせるエンティティは、そのマルウェアが正当であることを示す虚偽のレポートを提出することにより評判システムを「だます」ことを試みることができる。したがって、その動作を転覆させるそのような試みに耐えることができる評判システムが求められている。
【課題を解決するための手段】
【０００６】
上記のおよび他の需要は、評判システムのクライアント用のセキュリティトークンを生成するための方法およびコンピュータ可読記憶媒体、ならびに評判システムのクライアントを認証する方法によって満たされる。この方法により、例えばセキュリティトークンを盗み（または偽造し）、盗んだトークンを複数の場所で使用する悪意あるアクタを検出することができる。この方法の一実施形態は、評判システムのクライアントから登録要求を受け取るステップを含む。この方法は、そのクライアントに関するメタデータを観察し、セキュリティトークン内で使用するための、そのクライアントに関する観察済みメタデータを選択するステップをさらに含む。選択されるメタデータは、そのクライアントの独立観察により相関させることができるメタデータを含む。さらにこの方法は、選択したメタデータから派生する、クライアント用のセキュリティトークンを生成するステップを含む。この方法は、そのセキュリティトークンをクライアントに提供するステップも含む。クライアントは、そのセキュリティトークンを使用して自らを認証するようになされる。
【０００７】
一実施形態では、評判システムのクライアントを認証するための方法は、クライアントとトランザクションを行うステップを含み、そのトランザクションではクライアントからセキュリティトークンが受け取られる。この方法は、トランザクション中にクライアントに関するメタデータを観察し、セキュリティトークンからクライアントに関するメタデータを抽出するステップをさらに含む。さらにこの方法は、観察したメタデータを抽出したメタデータに相関させて相関度を求めるステップを含む。この方法は、その相関度に応じて決定されるセキュリティポリシを適用する。
【０００８】
コンピュータ可読媒体の諸実施形態は、評判システムのクライアント用のセキュリティトークンを生成するためのコンピュータプログラム命令を記憶し、その命令は、評判システムのクライアントから登録要求を受け取るための命令を含む。この命令は、クライアントに関するメタデータを観察し、セキュリティトークン内で使用するための、そのクライアントに関する観察済みメタデータを選択するための命令をさらに含む。選択されるメタデータは、そのクライアントの独立観察により相関させることができるメタデータを含む。さらにこの命令は、選択したメタデータから派生する、クライアント用のセキュリティトークンを生成するための命令を含む。この命令は、そのセキュリティトークンをクライアントに提供するための命令も含む。クライアントは、そのセキュリティトークンを使用して自らを認証するようになされる。
【０００９】
本開示および以下の詳細な説明の中で記載する特徴および利点は包括的でなく、とりわけ図面、本明細書、および本明細書の特許請求の範囲に照らして当業者に多くのさらなる特徴および利点が明らかになる。さらに、本明細書で使用する言語は読みやすさおよび指導上の目的で主に選択しており、本発明の主題を線引きしまたは制限するために選択されていない場合があり、そうした本発明の主題を決定するには特許請求の範囲に頼ることが必要であることに留意すべきである。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態によるコンピューティング環境の高レベルブロック図である。
【図２】一実施形態によるセキュリティサーバおよび／またはクライアントとして機能するためのコンピュータの高レベルブロック図である。
【図３】一実施形態による登録サーバ内のモジュールを示す高レベルブロック図である。
【図４】一実施形態によるセキュリティサーバ内のモジュールの詳細な図を示す高レベルブロック図である。
【図５】一実施形態による、クライアント用のセキュリティトークンを生成する際の登録サーバの動作を示す流れ図である。
【図６】一実施形態によるセキュリティサーバの動作を示す流れ図である。
【００１１】
諸図面は専ら説明目的で本発明の様々な実施形態を示す。本明細書に記載する本発明の原理から逸脱することなく、本明細書に記載する構造および方法の代替的実施形態を利用できることを当業者なら以下の解説から容易に理解されよう。
【発明を実施するための形態】
【００１２】
図１は、一実施形態によるコンピューティング環境１００の高レベルブロック図である。図１は、ネットワーク１１４に接続されるセキュリティサーバ１０２を示す。ネットワーク１１４に接続される登録サーバ１０４も示す。ネットワーク１１４は、複数のクライアント１１２にも接続される。コンピューティング環境１００の諸実施形態は、何千台または何百万台ものクライアント１１２、ならびに複数のサーバ１０２、１０４を有することができる。一部の実施形態では、クライアント１１２はネットワーク１１４に一定期間だけ接続され、またはネットワーク１１４に一切接続されない。
【００１３】
図１および他の図面では、同様の要素を示すために同様の参照番号を使用する。「１１２Ａ」など、参照番号の後の文字は、本文がとりわけその特定の参照番号を有する要素に言及することを表す。「１１２」など、後に続く文字のない本文内の参照番号は、その参照番号を有する図面内の要素のいずれかまたはすべてを指す（例えば本文内の「１１２」は、図面内の参照番号「１１２Ａ」、「１１２Ｂ」、および／または「１１２Ｃ」を指す）。説明を単純かつ明瞭にするために、図１にはクライアント１１２を３台だけ示す。
【００１４】
クライアント１１２は、悪意あるソフトウェアをホストすることができる電子装置である。一実施形態では、クライアント１１２は、例えばＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ互換オペレーティングシステム（ＯＳ）、Ａｐｐｌｅ  ＯＳ  Ｘ、および／またはＬｉｎｕｘディストリビューションを実行する従来型コンピュータシステムである。別の実施形態では、クライアント１１２は、ＰＤＡ（携帯情報端末）、携帯電話、テレビゲーム機など、コンピュータの機能性を有する別の装置である。クライアント１１２は、悪意あるソフトウェアをホストすることができる多数のコンピュータファイルおよび／またはソフトウェアアプリケーション（まとめて「オブジェクト」と呼ぶ）を典型的には記憶する。
【００１５】
「マルウェア」と呼ばれることもある悪意あるソフトウェアは、クライアント１１２上で不正に実行され、または何らかの不正な機能を有するソフトウェアとして一般に定義される。正当なファイルに付随する寄生ウイルス、コンピュータに感染して他のコンピュータに広がるためにコンピュータのセキュリティの弱さに付け込むワーム、正当に見えるが実際は隠れた悪意あるコードを含むトロイの木馬プログラム、機密情報を捕捉しもしくは広告を表示させるためにコンピュータ上のキーストロークおよび／または他のアクションを監視するスパイウェアなど、マルウェアは多くの形をとることができる。
【００１６】
クライアント１１２は、マルウェアがあることを検出するためのセキュリティモジュール１１０を実行する。セキュリティモジュール１１０は、例えばコンピュータのＯＳ内に組み込むことができ、または別個の包括的セキュリティパッケージの一部とすることができる。一実施形態では、セキュリティモジュール１１０は、セキュリティサーバ１０２および登録サーバ１０４を運営するエンティティによって提供される。セキュリティモジュール１１０は、ネットワーク１１４を介してセキュリティサーバ１０２および登録サーバ１０４と通信することができる。
【００１７】
一実施形態では、セキュリティモジュール１１０は、セキュリティモジュール１１０がクライアント１１２上にインストールされている場合、および／または他のときに、ネットワーク１１４を介して自らを登録サーバ１０４に登録する。その登録過程の間に２種類の情報を収集することができ、その２種類の情報とはつまり、１）クライアントが提出するデータ、および２）登録過程から集めることができる観察可能情報である。セキュリティモジュール１１０は、セキュリティモジュール１１０、クライアント１１２、およびクライアントのユーザに関する特定のメタデータを登録サーバ１０４に提供することができる。そのメタデータは、例えばユーザの請求先住所やクライアントの物理的特性（例えばクライアントのメーカーおよび型式）についての記述を含むことができる。さらに、登録サーバ１０４は、クライアントが登録サーバ１０４に接続するために使用しているインターネットサービスプロバイダ（ＩＳＰ）名（例えばＡＴ＆Ｔ）、インターネットプロトコル（ＩＰ）アドレス、サブネットワーク（サブネット）など、クライアントに関する情報を観察することができる。登録時に、セキュリティモジュール１１０は、クライアント１１２を一意に識別する役割を果たすセキュリティトークンを受け取る。
【００１８】
セキュリティモジュールは、セキュリティサーバ１０２とのトランザクション内にセキュリティトークンを含める。一実施形態では、セキュリティモジュール１１０が、クライアントにおいて検出されるオブジェクトの識別子をセキュリティサーバ１０２に提出し、見返りとしてオブジェクトの評判スコアを受け取る。評判スコアはオブジェクトの信憑性の評価を表す。高い評判スコアを有するオブジェクトはよい評判を有し、マルウェアを含む可能性は低い。逆に、低い評判スコアを有するオブジェクトは芳しくない評判を有し、マルウェアを含む可能性がある。セキュリティモジュール１１０は、評判スコアを挙動などの他の要因とともに使用してクライアント１１２におけるオブジェクトがマルウェアかどうかを評価する。セキュリティモジュール１１０は、評価の結果をセキュリティサーバ１０２に報告することができる。
【００１９】
登録サーバ１０４は、クライアント１１２と対話してそれらのクライアントを登録し、それらのクライアントにセキュリティトークンを発行する。一実施形態では、登録サーバ１０４は、セキュリティモジュール１１０をクライアントに提供し、セキュリティサーバ１０２を運営するのと同じエンティティによって運営される。登録サーバ１０４は、ネットワーク１１４を介してクライアント１１２と通信するように構成される１つまたは複数の標準コンピュータシステムを含むことができる。
【００２０】
一実施形態では、登録サーバ１０４は、クライアント１１２およびセキュリティモジュール１１０に関するメタデータを使用してセキュリティトークンを生成する。そのメタデータは、登録中にセキュリティモジュール１１０によって提供されるメタデータ、および登録中に登録サーバ１０４によって観察されるクライアント１１２に関するメタデータを含むことができる。登録サーバ１０４は、メタデータおよび／またはメタデータから派生する情報を、クライアント１１２に発行するセキュリティトークンの中に組み込む。例えば、セキュリティトークンの中に組み込まれる情報には、登録中にクライアント１１２がネットワーク１１４に接続するために使用するＩＰアドレスについての記述、請求先住所および／またはＩＰアドレスの地理的位置についての記述、ならびにクライアントの物理的特性（例えばクライアントがデスクトップコンピュータかラップトップコンピュータか）についての記述が含まれ得る。
【００２１】
セキュリティサーバ１０２は、ネットワーク１１４を介してクライアント１１２と通信するように構成される１つまたは複数の標準コンピュータシステムを含むことができる。セキュリティサーバ１０２は、クライアント１１２からネットワーク１１４を介してオブジェクトの識別子および他の情報を含むレポートを受け取り、それに応答してクライアント１１２にネットワーク１１４を介してオブジェクトの評判スコアを送る。オブジェクトの評判スコアは、どの程度の頻度でクライアント１１２がそのオブジェクトに遭遇するのかなどの要因に基づく。したがって、評判スコアは論理上「だまし行為」の影響を受けやすい。例えば、悪意あるアクタは、多くのクライアント上で悪意あるオブジェクトが見つかったことを示す偽りのメッセージを提出し、それによりそのオブジェクトの評判スコアを不適当に高めることができる。
【００２２】
そのような、だまし行為を防ぐために、セキュリティサーバ１０２はクライアント１１２を認証するためにセキュリティトークンを使用する。先に述べたように、クライアント１１２は、セキュリティサーバ１０２とのトランザクションの中に自らのセキュリティトークンを含める。セキュリティサーバ１０２はトランザクション相手のクライアント１１２に関するメタデータを観察し、観察したそのメタデータをクライアントのセキュリティトークンの中に組み込まれる情報と比較する。例えばセキュリティサーバ１０２は、レポートを提出するときにクライアント１１２が使用するＩＰアドレスを観察し、対応する地理的位置を求めることができる。セキュリティサーバ１０２は、この地理的位置と、セキュリティトークン内に含まれるクライアント１１２の登録中に使用されたＩＰアドレスおよび請求先住所の地理的位置とを比較することができる。セキュリティサーバ１０２は、認証することに応答してクライアント１１２にセキュリティポリシを適用する。一実施形態では、観察したメタデータがセキュリティトークン内の情報に一致しない場合、そのトークンを提供したクライアント１１２を疑わしいと印付けする。疑わしいクライアント１１２からのレポートは、実施形態にもよるが考慮に入れずまたは無視することができる。
【００２３】
したがってセキュリティトークン内の情報は、クライアント１１２の「状態非依存」検証を可能にする。つまりクライアント１１２の認証は、セキュリティトークン内のメタデータおよび情報と比較した、クライアントとのトランザクション中に観察されるメタデータに専ら基づく。したがって、登録サーバ１０４もセキュリティサーバ１０２も後の探索用にセキュリティトークンを記憶する必要がなく、それによりコストおよび複雑さを低減する。
【００２４】
ネットワーク１１４は、セキュリティサーバ１０２とクライアント１１２との間の通信を可能にする。一実施形態では、ネットワーク１１４が標準的な通信技術および／またはプロトコルを使用し、インターネットを含む。したがってネットワーク１１４は、イーサネット、８０２．１１、ＷｉＭＡＸ（ｗｏｒｌｄｗｉｄｅ  ｉｎｔｅｒｏｐｅｒａｂｉｌｉｔｙ  ｆｏｒ  ｍｉｃｒｏｗａｖｅ  ａｃｃｅｓｓ）、３Ｇ、デジタル加入者回線（ＤＳＬ）、非同期転送モード（ＡＴＭ）、ＩｎｆｉｎｉＢａｎｄ、ＰＣＩ  Ｅｘｐｒｅｓｓ  Ａｄｖａｎｃｅｄ  Ｓｗｉｔｃｈｉｎｇなどの技術を使用するリンクを含むことができる。同様に、ネットワーク１１４上で使用されるネットワーキングプロトコルには、ＭＰＬＳ（マルチプロトコルラベルスイッチング）、ＴＣＰ／ＩＰ（伝送制御プロトコル／インターネットプロトコル）、ＵＤＰ（ユーザデータグラムプロトコル）、ＨＴＴＰ（ハイパテキスト転送プロトコル）、ＳＭＴＰ（簡易メール転送プロトコル）、ＦＴＰ（ファイル転送プロトコル）等が含まれ得る。ネットワーク１１４を介してやり取りされるデータは、ＨＴＭＬ（ハイパテキストマーク付け言語）、ＸＭＬ（拡張可能マーク付け言語）等が含まれる技術および／または形式を使用して表すことができる。さらに、ＳＳＬ（セキュアソケットレイヤ）、ＴＬＳ（トランスポートレイヤセキュリティ）、ＶＰＮ（仮想私設ネットワーク）、ＩＰｓｅｃ（インターネットプロトコルセキュリティ）などの従来の暗号化技術を使用し、リンクのすべてまたは一部を暗号化することができる。別の実施形態では、エンティティは、上述したものの代わりに、または上述したものに加えて、カスタムおよび／または専用のデータ通信技術を使用することができる。
【００２５】
図２は、一実施形態によるセキュリティサーバ１０２、登録サーバ１０４、および／またはクライアント１１２として機能するためのコンピュータ２００の高レベルブロック図である。チップセット２０４に結合される少なくとも１個のプロセッサ２０２を示す。チップセット２０４には、メモリ２０６、記憶装置２０８、キーボード２１０、グラフィックスアダプタ２１２、ポインティングデバイス２１４、およびネットワークアダプタ２１６も結合される。グラフィックスアダプタ２１２には、ディスプレイ２１８が結合される。一実施形態では、チップセット２０４の機能が、メモリコントローラハブ２２０および入出力コントローラハブ２２２によって与えられる。別の実施形態では、メモリ２０６が、チップセット２０４の代わりにプロセッサ２０２に直接結合される。
【００２６】
記憶装置２０８は、ハードドライブ、コンパクトディスク読出し専用メモリ（ＣＤ−ＲＯＭ）、ＤＶＤ、固体メモリデバイスなど、任意のコンピュータ可読記憶媒体である。メモリ２０６は、プロセッサ２０２が使用する命令およびデータを保持する。ポインティングデバイス２１４は、マウス、トラックボール、または他の種類のポインティングデバイスとすることができ、コンピュータシステム２００内にデータを入力するためにキーボード２１０と一緒に使用する。グラフィックスアダプタ２１２は、ディスプレイ２１８上に画像および他の情報を表示させる。ネットワークアダプタ２１６は、コンピュータシステム２００を、ローカルエリアネットワークまたは広域ネットワークに結合する。
【００２７】
当技術分野で知られているように、コンピュータ２００は、図２に示すコンポーネントと異なるコンポーネントおよび／または他のコンポーネントを有することができる。さらに、コンピュータ２００は、図示の特定のコンポーネントを欠いてもよい。一実施形態では、セキュリティサーバ１０２として機能するコンピュータ２００が、キーボード２１０、ポインティングデバイス２１４、グラフィックスアダプタ２１２、および／またはディスプレイ２１８を欠く。さらに、記憶装置２０８は、（ストレージエリアネットワーク（ＳＡＮ）の中に組み入れられるなど）ローカルとし、かつ／またはコンピュータ２００から離れていてもよい。
【００２８】
当技術分野で知られているように、コンピュータ２００は、本明細書に記載の機能を提供するためのコンピュータプログラムモジュールを実行するようになされる。本明細書で使用するとき、用語「モジュール」は、指定の機能を提供するために利用されるコンピュータプログラムロジックを指す。したがって、モジュールは、ハードウェア、ファームウェア、および／またはソフトウェアによって実装することができる。一実施形態では、プログラムモジュールを記憶装置２０８上に記憶し、メモリ２０６内にロードし、プロセッサ２０２によって実行する。
【００２９】
本明細書に記載するエンティティの諸実施形態は、本明細書に記載するモジュール以外のモジュールおよび／または本明細書に記載するモジュールとは異なるモジュールを含むことができる。さらに、他の実施形態では、これらのモジュールによる機能を他のモジュールまたは異なるモジュールによって実行することができる。さらに本明細書では、明瞭にするためにおよび便宜上、用語「モジュール」をときとして省略する。
【００３０】
図３は、一実施形態による登録サーバ１０４内のモジュールの詳細な図を示す高レベルブロック図である。図３に示すように、登録サーバ１０４は複数のモジュールを含む。登録サーバ１０４の他の実施形態は本明細書に記載するモジュールとは異なるモジュールおよび／または本明細書に記載するモジュール以外のモジュールを有してもよく、それらのモジュール間で機能が様々な方法で分散され得ることを当業者なら理解されよう。
【００３１】
通信モジュール３０２は、ネットワーク１１４を介してクライアント１１２のセキュリティモジュール１１０と対話する。セキュリティモジュール１１０は、セキュリティモジュール１１０の登録中に使用される情報を提供し、通信モジュール３０２は、登録が完了することに応答してセキュリティモジュールにセキュリティトークンを提供する。通信モジュール３０２は登録サーバ１０４の他のモジュールと対話して、それらのモジュールとクライアントのセキュリティモジュール１１０との間で情報をやり取りする。
【００３２】
一実施形態では、クライアントのセキュリティモジュール１１０と通信モジュール３０２とがＨＴＴＰメッセージを使用して通信する。したがって通信モジュール１１０は、セキュリティモジュール１１０が登録サーバ１０４との通信中に使用した、ＩＰアドレスを含むメタデータを観察することができる。一部の実施形態では通信モジュール１１０は、ＨＴＴＰメッセージを形成するＴＣＰ／ＩＰトラフィックから集められるクライアントのオペレーティングシステムネットワークスタックのフィンガプリント、クライアントまたは介在ルータのメディアアクセス制御（ＭＡＣ）アドレス、クライアントがインターネットに接続するために使用するＩＳＰの名前、ＩＰアドレスのサブネット、クライアントのオペレーティングシステムの言語など、ネットワーク通信からセキュリティモジュール１１０および／またはクライアント１１２に関する他のメタデータを観察することができる。
【００３３】
登録モジュール３０４は、セキュリティモジュールの登録を行うためにセキュリティモジュール１１０と対話する。先に述べたように、登録中、登録モジュール３０４はセキュリティモジュール１１０、クライアント１１２、およびクライアントのユーザに関するメタデータを収集し、観察する。これらのメタデータは、ユーザの請求先住所および自宅住所、ユーザの電話番号、クライアントのセキュリティモジュール１１０によって生成される、クライアント１１２のハードウェア構成およびソフトウェア構成についての記述等を含むことができる。登録モジュール３０４は、セキュリティモジュール１１０が提供する特定のメタデータ、例えば支払情報を検証し、適切な場合はそのセキュリティモジュールを登録する。
【００３４】
メタデータ選択モジュール３０６は、後続のトランザクション中にセキュリティモジュール１１０を認証するために使用することができる、通信モジュール３０２および登録モジュール３０４によって観察されるメタデータを選択する。概して、選択されるメタデータは、セキュリティサーバ１０２などの別のエンティティが観察する独立メタデータによって相関することができるメタデータである。そのようなメタデータは、直接相関させることができるメタデータ（例えば、セキュリティサーバ１０２との通信で使用されるＩＰアドレスが、登録サーバ１０４との通信で使用されるＩＰアドレスと同じか？）、および間接的に相関させることができるメタデータ（例えば、セキュリティサーバとの通信で使用されるＩＰアドレスが、登録サーバに提供される請求先住所と同じ地理的領域内にあるか？）を含む。したがって選択されるメタデータは、クライアント１１２が使用するＩＰアドレス、クライアントがインターネットに接続するために使用するＩＳＰの名前、ＩＰアドレスのサブネット、登録中に提供される請求先住所、クライアントのオペレーティングシステムの言語等を含むことができる。選択されるメタデータは、メタデータ（例えばＩＰアドレス）が事実上トークンの中に含まれないようにハッシュ関数によって変換することもできる。一実施形態では、メタデータ選択モジュール３０６は、クライアント１１２用のセキュリティトークン内で使用するための複数の独立メタデータを選択することができる。
【００３５】
トークン生成モジュール３０８は、クライアントのセキュリティモジュール１１０用のセキュリティトークンを生成する。一実施形態では、セキュリティトークンは、クライアント１１２および／またはクライアントの特定のユーザやセキュリティモジュール１１０のインスタンスなどの別のエンティティを一意に識別する暗号的に強い識別子を含む。明瞭にするために、この説明では識別子を、クライアント１１２を識別するものとして言及するが、この識別子は他のエンティティも識別できることが理解されよう。セキュリティトークンは、暗号化された値を保持する１つまたは複数のフィールドを含み、改竄防止のためにデジタル鍵により署名することができる。
【００３６】
トークン生成モジュール３０８は、メタデータ選択モジュール３０６が選択したメタデータおよび／またはメタデータから派生する情報を、セキュリティトークンのフィールド内に含める。トークンの中に含められるメタデータには、例えばクライアントからのＴＣＰ／ＩＰ通信から割り出される、クライアント１１２が登録中に使用するＩＰアドレスや、クライアントのオペレーティングシステムについて記述するデータが含まれ得る。トークン生成モジュール３０８が生成するセキュリティトークン内には、メタデータの複数のフィールドを含めることができる。さらに、トークン生成モジュール３０８の一部の実施形態は複数のセキュリティトークンを使用することができ、各セキュリティトークンは、観察され選択される単一種類のメタデータ（例えば地理的位置）に対応する。
【００３７】
メタデータから派生する情報には、例えばクライアントのＩＰアドレスに関連する地理的位置が含まれ得る。地理的位置は、地理位置情報データベース内のＩＰアドレスを探索し、かつ／またはクライアント１１２が使用するインターネットサービスプロバイダ（ＩＳＰ）を割り出すためにＩＰアドレスの逆引きを行うことによって求めることができる。一実施形態では、トークン生成モジュール３０８が地理的位置を領域へと変換し、例えばＧＥＯ（１５５．６４．１５２．７１）は「南フランス」である。次いでトークン生成モジュール３０８は、その領域を順序値（ｏｒｄｉｎａｌ  ｖａｌｕｅ）として暗号化する（例えば「南フランス」は「４２」になる）。モジュール３０８は、この順序値をセキュリティトークンの「領域」フィールド内に記憶する。この派生情報は、登録中にユーザが提供する請求先住所または他の住所を包含する領域についての記述も暗号化することができる。
【００３８】
さらにこの派生情報は、クライアント１１２がラップトップコンピュータかデスクトップコンピュータか、請求先住所が悪意あるアクタをホストすることで知られている地理的領域内にあるかどうか、およびクライアント１１２が悪質でない信頼度を評価するために使用可能な他の情報を示すことができる。ラップトップであるクライアント１１２は、ユーザの潜在的な移動性を示すことができる。したがってラップトップクライアント１１２に対しては、例えば位置ベースのセキュリティ閾値ポリシをトリガすることに関し、セキュリティポリシをより緩めることができる。一部の実施形態では、クライアント１１２が将来のトランザクションを行う場所を特定するために、複数の位置または領域を導き出すことができる。クライアントは、典型的にはクライアント１１２がセキュリティモジュール１１０を登録した領域（１箇所または複数箇所）から離れて移動しないので、この情報は有用である。一実施形態では、不正アクセスまたは改竄を防ぐために、メタデータおよび派生情報をセキュリティトークン内に暗号化する。
【００３９】
図４は、一実施形態によるセキュリティサーバ１０２内のモジュールの詳細な図を示す高レベルブロック図である。図４に示すように、セキュリティサーバ１０２は複数のモジュールを含む。セキュリティサーバ１０２の他の実施形態は本明細書に記載するモジュールとは異なるモジュールおよび／または本明細書に記載するモジュール以外のモジュールを有してもよく、それらのモジュール間で機能が様々な方法で分散され得ることを当業者なら理解されよう。
【００４０】
通信モジュール４０２は、ネットワーク１１４を介してクライアント１１２のセキュリティモジュール１１０とトランザクションを行う。通信モジュール４０２は、クライアント１１２において検出されるオブジェクトの識別子を含む、および／またはクライアントにおいて検出されるオブジェクトの評判を要求するレポートをセキュリティモジュール１１０から受け取る。レポートは、クライアント１１２のセキュリティトークンも含む。通信モジュール４０２はセキュリティサーバ１０２の他のモジュールと対話して、それらのモジュールとクライアントのセキュリティモジュール１１０との間で情報をやり取りする。
【００４１】
観察モジュール４０４は、セキュリティサーバ１０２と通信するクライアント１１２に関するメタデータを観察する。概して観察モジュール４０４は、そのメタデータとセキュリティトークン内に含まれる情報とを相関させるために有用なデータを観察する。したがって観察モジュール４０４は、クライアント１１２が使用するＩＰアドレス、クライアントがインターネットに接続するために使用するＩＳＰの名前、ＩＰアドレスのサブネット、クライアント１１２が使用するオペレーティングシステムの言語、クライアントのＴＣＰ／ＩＰスタックのフィンガプリントなどを観察することができる。一実施形態では、クライアント１１２が使用するＩＰアドレスの時系列ログを保持する。新たなＩＰアドレスを観察すると、観察モジュール４０４はその新たなＩＰアドレスをクライアント１１２用の時系列ログ内に記録する。
【００４２】
抽出モジュール４０６は、クライアント１１２から受け取るセキュリティトークン内に含まれるメタデータおよび情報を抽出する。抽出過程の一環として、抽出モジュール４０６の一実施形態は、セキュリティトークンのデジタル署名を検証してトークンが改変されていないことを確実にする。抽出モジュール４０６はさらに、必要に応じてトークン内のメタデータおよび情報を復号する。この復号は、例えば登録サーバ１０４と共有する鍵を使用して行うことができる。
【００４３】
相関モジュール４０８は、セキュリティトークンから抽出されるメタデータおよび情報を、観察モジュール４０４が観察するメタデータと相関させて相関度を求める。概して相関モジュール４０８は、クライアント１１２について観察されるメタデータが、そのクライアントから受け取るセキュリティトークン内のメタデータおよび情報と一致するかどうかを判定する。例えば、相関モジュール４０８は、クライアント１１２がセキュリティサーバ１０２と通信するときに使用するＩＰアドレスが、セキュリティトークン内のＩＰアドレスと同じかどうかを判定することができる。同様に、相関モジュール４０８は、クライアント１１２がセキュリティサーバ１０２と通信するときに使用するＩＰアドレスが、クライアントが登録サーバ１０４と通信したときに使用されたＩＰアドレスと同じ地理的領域に関連するかどうか、または登録中に提供された請求先住所と同じ地理的領域に関連するかどうかを判定することができる。この地理的相関は、登録サーバ１０４に関して上述したように地理位置情報データベースを使用することによって行うことができる。実施形態にもよるが、相関モジュール４０８は、クライアント１１２のオペレーティングシステム言語が、セキュリティトークン内で示される言語と同じかどうか、クライアントがインターネットに接続するために使用するＩＳＰの名前が、セキュリティトークン内で示されるＩＳＰの名前と同じかどうか、ＩＰアドレスのサブネットが、セキュリティトークン内で示されるサブネットと同じかどうか、およびＴＣＰ／ＩＰスタックのフィンガプリントが同じかどうかを同様に判定することができる。
【００４４】
ポリシモジュール４１０は、トークンが無効（例えばトークンのデジタル署名が無効）な場合、クライアント１１２からのレポートを考慮に入れずまたは無視するポリシを適用することができる。トークンは、トークンが偽造されまたは改変されているという抽出モジュール４０６からの指示、クライアントのセキュリティトークンから抽出したメタデータおよび情報とそのクライアントについて観察したメタデータとの間の相関度が低いこと、いくつかの加重因子に基づく閾値有効性スコアを満たすことができないことなど、いくつもの理由からポリシモジュール４１０によって無効とみなされ得る。その因子には、セキュリティトークン内に含まれるいくつかのメタデータが、対応する観察済みメタデータに相関するかどうかが含まれ得る。一実施形態では、無効なトークンを有するクライアント１１２からのレポートを使用して、疑わしいクライアント１１２およびファイルなどのオブジェクトを特定する。
【００４５】
ポリシモジュール４１０は、クライアントのセキュリティトークンから抽出したメタデータおよび情報とそのクライアントについて観察したメタデータとの間の相関度に少なくとも部分的に基づき、クライアント１１２にポリシを適用する。高レベルでは、抽出したメタデータおよび情報と観察したメタデータとの間の相関度が低いことは、クライアント１１２が悪質でありまたさもなければ信頼できないという疑いをもたらす。対照的に、相関度が高いことは、クライアント１１２が悪質でなく信頼できるという推定をもたらす。
【００４６】
例えば、クライアント１１２がセキュリティサーバ１０２と通信するときに使用するＩＰアドレスが、セキュリティトークンが示す位置から離れた地理的位置に関連する場合、クライアント１１２は偽造しまたは盗んだセキュリティトークンを使用している可能性がある。したがってポリシモジュール４１０は、クライアント１１２を疑わしいものとして扱うポリシを適用し、このクライアントから受け取るレポートを考慮に入れずまたは無視することができる。しかし、クライアント１１２が使用するＩＰアドレスが、セキュリティトークンが示す位置に近い地理的位置に関連する場合、ポリシモジュール４１０はより厳格でないポリシを適用し、クライアント１１２とのトランザクションを続行することを許可することができる。
【００４７】
セキュリティトークン内の他のメタデータまたは情報が相関の欠如を軽減する場合、ポリシモジュール４１０は、たとえ相関度が低くてもクライアント１１２を正当であるものとして認識するポリシを適用することができる。例えば、クライアント１１２がラップトップコンピュータであることを示す情報をセキュリティトークンが含む場合、クライアント１１２は潜在的に移動性を有するので、ポリシモジュール４１０は地理的相関の欠如に対してより緩くあることができる。ポリシモジュール４１０は、観察モジュール４０４が保持するＩＰアドレスの時系列ログを監視する。一実施形態では、クライアント１１２がラップトップコンピュータであるという指示と組み合わせて時系列ログを解析することは、相関度が一貫して低いことを軽減することができる。したがってポリシモジュール４１０は、たとえ整合性のある地理的相関が欠如していることがあっても、クライアント１１２から受け取るレポートを信頼するポリシを適用することができる。
【００４８】
一実施形態では、ポリシモジュール４１０は、セキュリティトークン内で使用するために選択される様々なメタデータまたは派生情報に様々な重みを帰因させることができる。例えば、クライアント１１２の地理的位置はクライアント１１２のセキュリティトークンを検証することに重大な影響力を有し得るのに対し、クライアントがラップトップデバイスであるという指示は僅かな影響力しか有さない場合がある。
【００４９】
一実施形態では、ポリシモジュール４１０は、観察モジュール４０４が保持するＩＰアドレスの時系列ログを監視する。クライアント１１２がセキュリティモジュール１１０を最初に登録した領域または位置から、クライアント１１２が離れている様子の場合、新たな位置を使用するためにポリシモジュール４１０は新たなセキュリティトークンを生成することができる。一実施形態では、ポリシモジュール４１０は、登録中に観察された位置に加え、その新たな位置を含めるように新たなセキュリティトークンを生成することができる。
【００５０】
ポリシモジュール４１０は、上述したポリシの改変形態を適用することができる。例えばポリシモジュール４１０は、相関の欠如がある場合、クライアント１１２を疑わしいまたは悪意あるクライアントのブラックリスト上に置きながらも、そのクライアントからの評判スコアを求める要求に応答することを許可するポリシを適用することができる。一実施形態では、ポリシモジュール４１０は相関の結果を時系列ログ内に記録する。ポリシモジュール４１０は、そのログを使用してある期間にわたるクライアント１１２の信頼レベルを評価し、その評価に基づいてポリシを適用する。
【００５１】
図５は、一実施形態による、クライアント１１２用のセキュリティトークンを生成する際の登録サーバ１０４の動作を示す流れ図である。これらのステップは専ら説明目的であることを理解すべきである。登録サーバ１０４の様々な実施形態が、これらのステップを異なる順序で実行し、特定のステップを省略し、かつ／または図５に不図示の追加のステップを実行することができる。
【００５２】
図５に示すように、登録サーバ１０４がクライアント１１２から登録要求を受け取る（５０２）。登録サーバ１０４は、登録中にクライアント１１２に関するメタデータを観察する（５０４）。観察されるメタデータには、クライアントが使用するＩＰアドレスなど、クライアント１１２との通信から観察されるメタデータが含まれ得る。観察されるメタデータには、ユーザの請求先住所など、登録中にクライアント１１２のユーザが提供するメタデータも含まれ得る。登録サーバ１０４が、セキュリティトークン内で使用するためのクライアント１１２に関するメタデータを選択し（５０６）、そのメタデータおよび／またはそのメタデータのハッシュなど、そのメタデータから派生する情報を含むセキュリティトークンを生成する（５０８）。登録サーバ１０４は、そのセキュリティトークンをクライアント１１２に提供する（５１０）。
【００５３】
図６は、一実施形態によるセキュリティサーバ１０２の動作を示す流れ図である。これらのステップは専ら説明目的であることを理解すべきである。セキュリティサーバ１０２の様々な実施形態が、これらのステップを異なる順序で実行し、特定のステップを省略し、かつ／または図６に不図示の追加のステップを実行することができる。
【００５４】
図６に示すように、セキュリティサーバ１０２がクライアント１１２とトランザクションを行う（６０２）。例えば、セキュリティサーバ１０２は、クライアント１１２から提出または問合せを受け取ることができる。トランザクションの一環として、セキュリティサーバ１０２はクライアント１１２からセキュリティトークンを受け取る。セキュリティサーバ１０２は、トランザクション中にクライアント１１２に関するメタデータを観察する（６０４）。メタデータには、例えばクライアント１１２がトランザクション中に使用するＩＰアドレスが含まれる。セキュリティサーバ１０２はさらに、クライアント１１２が提供するセキュリティトークンからメタデータおよび情報を抽出し（６０６）、抽出したデータおよび情報を、観察したメタデータに相関させる（６０８）。一実施形態では、セキュリティトークンから抽出する（６０６）メタデータ内にサブネットが含まれている場合があり、観察したＩＰアドレスのサブネットに相関させることができる（６０８）。セキュリティサーバ１０２が、相関度に基づいてクライアント１１２にポリシを適用する（６１０）。例えばセキュリティサーバ１０２は、相関度が低い場合、クライアント１１２からの提出を考慮に入れずまたは無視するポリシを適用することができる。
【００５５】
上記に記載した技法は、メッセージングアプリケーション用のスパムフィルタや、オブジェクトの評判スコアおよびクライアントの信頼メトリクを利用するマルウェアを検出するように設計される他の機構など、他の様々な種類の検出システムに適用可能であり得る。この技法は、セキュリティトークンを含むレポートが、そのトークンが発行された同一クライアント１１２から来ることは保証できないが、分散ボットネット攻撃において生じるような、悪意あるアクタがトークンを盗み、そのトークンを他のクライアント上で使用する難しさを高める。
【００５６】
本発明の諸実施形態についての上記の説明は説明目的で示したものであり、網羅的であることも開示した厳密な形態に本発明を限定することも意図しない。上記の開示に照らし、多くの修正形態および改変形態があり得ることを当業者なら理解することができる。
【００５７】
最後に、本明細書で使用した言語は読みやすさおよび指導上の目的で主に選択しており、本発明の主題を線引きしまたは制限するために選択されていない場合がある。したがって、本発明の範囲はこの詳細な説明によってではなく、むしろ本明細書に基づく応用例について生じる任意の請求項によって限定されることを意図する。よって本発明の諸実施形態についての開示は、特許請求の範囲の中で規定する本発明の範囲の、限定ではないが例証であることを意図する。
【図１】
0005534373.tif 000002
【図２】
0005534373.tif 000003
【図３】
0005534373.tif 000004
【図４】
0005534373.tif 000005
【図５】
0005534373.tif 000006
【図６】
0005534373.tif 000007