(57)【要約】フィンガープリントを決定するためのシステムは、クライアント・データの組を使用してフィンガープリントを決定するための指示を受取るためのインターフェースと、少なくとも部分的にクライアント・データに基づいて指標の組を決定し、そして指標の組の内の１つまたは複数の指標に対して、指標が、頻度分析に少なくとも部分的に基づいて、指標がフィンガープリントを備えるか否かを決定し、かつ指標がフィンガープリントを備えると決定された場合、クライアントに関連付けられたフィンガープリント・データベースにフィンガープリントを格納するためのプロセッサとを、備える。【選択図】図３
2020502703.tif 000002
【特許請求の範囲】
【請求項１】
フィンガープリントを決定するシステムであって、
・クライアント・データの組を使用してフィンガープリントを決定するための指示を受取るインターフェースと、
前記クライアント・データに少なくとも部分的に基づいて指標の組を決定し、そして
指標の前記組内の１つ以上の指標に対して、
前記指標が、頻度分析に少なくとも部分的に基づいてフィンガープリントを備える
か否かを決定し、そして
前記指標が、フィンガープリントを備えると決定された場合には、前記クライアン
トに関連付けられているフィンガープリント・データベースにフィンガープリント
を格納する、
プロセッサと
を備える、システム。
【請求項２】
前記クライアント・データが、既知のクライアント・ネットワークを備える、請求項１に記載のシステム。
【請求項３】
クライアント・データが、クライアント・ネットワーク構成情報を備える、請求項１に記載のシステム。
【請求項４】
前記クライアント・データに少なくとも部分的に基づいて指標の組を決定することが、前記クライアント・データによって指示される開放ポートのサブ組の組を決定することを備える、請求項１に記載のシステム。
【請求項５】
前記クライアント・データに少なくとも部分的に基づいて指標の組を決定することが、前記クライアント・データによって指示されるサービスのサブ組の組およびそれらに関連付けられているポートを決定することを備える、請求項１に記載のシステム。
【請求項６】
前記クライアント・データに少なくとも部分的に基づいて指標の組を決定することが、前記クライアント・データによって指示されるウェブ頁コンポーネントの組を決定することを備える、請求項１に記載のシステム。
【請求項７】
前記クライアント・データに少なくとも部分的に基づいて指標の組を決定することが、前記クライアント・データによって指示されるウェブ・アプリケーションおよびウェブ・アプリケーション・コンポーネントの組を決定することを備える、請求項１に記載のシステム。
【請求項８】
前記クライアント・データに少なくとも部分的に基づいて指標の組を決定することが、前記クライアント・データによって指示される１つまたは複数の証明書を決定することを備える、請求項１に記載のシステム。
【請求項９】
前記クライアント・データに少なくとも部分的に基づいて指標の組を決定することが、前記クライアント・データによって指示される１つまたは複数の公開暗号鍵を決定することを備える、請求項１に記載のシステム。
【請求項１０】
前記クライアント・データに少なくとも部分的に基づいて指標の組を決定することが、前記クライアント・データによって指示される１つまたは複数のテキスト・パターンを決定することを備える、請求項１に記載のシステム。
【請求項１１】
前記クライアント・データに少なくとも部分的に基づいて指標の組を決定することが、前記クライアント・データによって指示される指標の１つまたは複数の組合せを決定することを備える、請求項１に記載のシステム。
【請求項１２】
前記頻度分析に少なくとも部分的に基づいて前記指標がフィンガープリントを備えるか否かを決定することが、クライアント・ネットワーク内での前記フィンガープリントの発生頻度を決定することを備える、請求項１に記載のシステム。
【請求項１３】
前記頻度分析に少なくとも部分的に基づいて前記指標がフィンガープリントを備えるか否かを決定することが、インターネット上での前記フィンガープリントの発生頻度を決定することを備える、請求項１に記載のシステム。
【請求項１４】
クライアント・ネットワーク内でのフィンガープリントの発生頻度が、インターネット上でのフィンガープリントの発生頻度よりも大きい場合には、前記指標がフィンガープリントを備えると決定される、請求項１に記載のシステム。
【請求項１５】
クライアント・ネットワーク内での前記フィンガープリントの発生頻度が閾値よりも大きい場合には、前記指標がフィンガープリントを備えると決定される、請求項１に記載のシステム。
【請求項１６】
インターネット上でのフィンガープリントの発生頻度が閾値よりも小さい場合には、前記指標がフィンガープリントを備えると決定される、請求項１に記載のシステム。
【請求項１７】
前記フィンガープリントが、開放ポートの組、サービスおよびそれに関連付けられているポートの組、証明書、公開暗号化キー、テキスト・パターン、ドメイン名、ホスト名、識別要素の組み合わせ、の１つまたは複数を備える、請求項１に記載のシステム。
【請求項１８】
前記指標がフィンガープリントを備えるか否かを決定することが、前記指標をランク付けするために使用されるスコアに少なくとも部分的に基づいている、請求項１に記載のシステム。
【請求項１９】
前記スコアが、既知のクライアント・ネットワーク内での前記指標の発生頻度のパーセンタイルに少なくとも部分的に基づいている、請求項１６に記載のシステム。
【請求項２０】
前記スコアが、インターネットにおける前記指標の発生頻度のパーセンタイルに少なくとも部分的に基づいている、請求項１６に記載のシステム。
【請求項２１】
フィンガープリントを決定するための方法であって、
クライアント・データの組を使用してフィンガープリントを決定するための指示を受取るステップと、
プロセッサを使用して、前記クライアント・データに少なくとも部分的に基づいて指標の組を決定するステップと、
指標の前記組内の１つ以上の指標に対して、
前記指標が、頻度分析に少なくとも部分的に基づいてフィンガープリントを備えるか
否かを決定し、そして、
前記指標がフィンガープリントを備えると決定された場合には、前記クライアントに
関連付けられているフィンガープリント・データベースに前記フィンガープリントを
保存する、
ステップと
を備える方法。
【請求項２２】
フィンガープリントを決定するためのコンピュータ・プログラム製品であって、前記コンピュータ・プログラム製品が、非一時的コンピュータ可読格納媒体に組み込まれていて、かつ
クライアント・データの組を使用してフィンガープリントを決定するための指示を受取るステップ、
前記クライアント・データに少なくとも部分的に基づいて指標の組を決定するステップ、
一連の指標の内の１つ以上の指標に対して、
指標が頻度分析に少なくとも部分的に基づいてフィンガープリントを備えるか否か
を決定し、そして
指標がフィンガープリントを備えると決定された場合には、クライアントに関連付け
られたフィンガープリント・データベースにフィンガープリントを保存する、
ステップ、
のためのコンピュータ命令を備える、コンピュータ・プログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
インターネットにより接続されているアセット（インターネット接続アセット）（例えば、コンピュータ、モバイル機器、サーバ・システム、クライアント・システム、ＩｏＴ機器、等）は、インターネットと通信するコンピューティング・システムを備える。インターネット接続アセットは、一般に、１つまたは複数のアドレス指定可能な公開通信ポートを有し、これにより任意のインターネット接続デバイスが、インターネット接続アセットに問合せすることが可能になる。いくつかのデバイスは、１つまたは複数の公開されているアクセス可能なポートを介した様々な接続タイプ（例えば、ＨＴＴＰ接続、ＨＴＴＰＳ接続、ＦＴＰ接続、ＦＴＰ接続、Ｔｅｌｎｅｔ接続、ＳＳＨ接続、等）を可能にする。インターネット接続アセットは、さまざまな構成オプションを備える、さまざまなソフトウェアを実行する、さまざまな種類のハードウェア・デバイスであり、セキュリティの脆弱性に対し無数の可能性を生じる。典型的なシステム管理者が、自分の監視下にあるシステムの細部を全て関知することはできないため、システムの脆弱性が、検出されずかつ修正されないことは起こり得る。
【０００２】
本発明の様々な実施態様が、以下の詳細な説明および添付の図面において開示されている。
【図面の簡単な説明】
【０００３】
【図１】ネットワーク・システムの一実施態様を示すブロック図である。
【図２】ネットワーク・システムの一実施態様を示すブロック図である。
【図３】ネットワーク・マッピング・システムの一実施態様を示すブロック図である。
【図４】フィンガープリントを決定するためのプロセスの一実施態様を示す流れ図である。
【図５】クライアント・データに少なくとも部分的に基づいて、指標の組を決定するためのプロセスの一実施態様を示す流れ図である。
【図６】クライアント・データに少なくとも部分的に基づいて、指標の組を決定するためのプロセスの一実施態様を示す流れ図である。
【図７】頻度分析に少なくとも部分的に基づいて、指標が、フィンガープリントを備えるか否かを決定するプロセスの一実施態様を示す流れ図である。
【図８】応答が、指標と一致するか否かを決定するためのプロセスの一実施態様を示す流れ図である。
【図９】指標が、フィンガープリントを備えるか否かを決定するプロセスの一実施態様を示す流れ図である。
【発明を実施するための形態】
【０００４】
本発明は、プロセス、装置、システム、組成物（composition of matter）、可読格納媒体に書込まれているコンピュータ・プログラム製品、および／またはプロセッサに結合されているメモリによって提供されるおよび／またはそのようなメモリに格納されている命令を実行するように構成されているプロセッサを備えるような多数の方法で実施することが出来る。本明細書では、これらの実装形態、または本発明が取り得る他の任意の形態を、技術と呼ぶことがある。一般に、開示されるプロセスのステップの順序は、本発明の範囲内で、変更することができる。特に明記しない限り、タスクを実行するように構成されていると記載されているプロセッサまたはメモリの様な構成部品は、所与の時間にタスクを実行するように一時的に構成されている汎用部品、またはタスクを実行するように構成されている特定部品として実施させることが出来る。本明細書で使用される用語「プロセッサ」は、コンピュータ・プログラム命令等のデータを処理するように構成されている１つまたは複数のデバイス、回路、および／または処理コアを意味する。
【０００５】
本発明の１つ以上の実施態様の詳細な説明が、以下に、本発明の原理を例示する添付の図面と共に提供される。本発明は、以下の実施態様に関連して説明されるが、本発明は、何れかの実施態様に限定されることはない。本発明の範囲は、特許請求の範囲によってのみ限定され、本発明は、多数の代替物、修正物および等価物を包含する。多数の特定の詳細が、本発明の完全な理解を提供するために、以下の説明に記載されている。これらの詳細は、例示の目的のために提供されていて、かつ本発明は、これらの具体的な詳細の一部または全部がなくても特許請求の範囲に従って実施することができる。明確にするために、本発明に関する技術分野で知られている技術的事項は、本発明が不必要に曖昧にならないように詳細には説明されていない。
【０００６】
フィンガープリントを決定するためのシステムは、クライアント・データの組を使用してフィンガープリントを決定するための指示を受取るためのインターフェースと、少なくとも部分的にクライアント・データに基づいて指標の組を決定し、そして指標の組の内の一組以上の指標に対して、頻度分析に少なくとも部分的に基づいて、指標がフィンガープリントを備えるか否かを決定し、そして指標がフィンガープリントを備えると決定された場合、クライアントに関連付けられているフィンガープリント・データベースにフィンガープリントを格納するためのプロセッサと、を備える。いくつかの実施態様では、フィンガープリントを決定するためのシステムは、更に、プロセッサに結合されていて、かつプロセッサに命令を提供するように構成されたメモリを、備える。
【０００７】
いくつかの実施態様では、フィンガープリントを使用するネットワーク・マッピングのためのシステムは、クライアント・ネットワークに関連付けられているコンピュータ・システムを識別するためのシステムを備える。フィンガープリントは、コンピュータ・システムのための１つまたは複数の識別基準を備える。いくつかの実施態様では、フィンガープリントは、クライアント・ネットワークに関連付けられていることが知られている公開情報の組を備える。様々な実施態様では、フィンガープリントは、開放ポートの組（例えば、クライアント・ネットワークに相関していると既に決定されている特定の開放ポートの組）、サービスおよびそれに関連付けられているポートの組、ウェブ頁コンポーネント、ウェブ・アプリケーションおよびそれに関連付けられているコンポーネントの組、暗号化証明書、公開暗号鍵、テキスト文字列、テキスト部分文字列、テキスト文字列パターン、ドメイン名、ドメイン名パターン、ホスト名、ホスト名パターン、識別要素の組み合わせ、またはその他の適切なフィンガープリント情報を備える。いくつかの実施態様では、ネットワーク・マッピングのためのシステムは、ネットワーク・データを網羅的にスキャンし、かつフィンガープリントと一致するネットワーク・データを識別することによって、クライアント・ネットワークをマッピングする。いくつかの実施態様では、ネットワーク・マッピングのためのシステムは、ネットワーク・スキャナによって収集されかつネットワーク・データベースに格納されているデータをスキャンする（例えば、ネットワーク・スキャン・ツールは、最初にネットワークに関する全ての可能な（例えば、インターネット全体の）情報を収集し、そしてそれをネットワーク情報データベースに格納し、次で、このネットワーク・マッピングのためのシステムは、ネットワーク情報データベース内のデータをスキャンして、フィンガープリントと一致する、格納されている情報を有するシステムを見出す）。いくつかの実施態様では、ネットワーク・マッピングのためのシステムは、インターネット上のネットワーク・アドレスをスキャンし、フィンガープリントと一致する情報を返すシステムが受取った情報を分析する。クライアント・ネットワークの部分であると決定されるシステムが発見された場合（例えば、その情報がフィンガープリント情報と一致する場合）、このシステムに関連付けられているアドレスは、クライアント・ネットワーク・データベースに格納される。いくつかの実施態様では、他のシステム情報が、クライアント・ネットワーク・データベースに追加的に格納される。
【０００８】
いくつかの実施態様では、ネットワーク・マッピングのためのシステムは、更に、フィンガープリントの決定のためのシステムを備える。いくつかの実施態様では、フィンガープリントを決定するためのシステムは、クライアント・ネットワークの一部であるネットワーク・システムを、クライアント・ネットワークの一部ではないネットワーク・システムと正確に区別するフィンガープリントまたはフィンガープリントの組を自動的に決定するためのシステムを備える。フィンガープリントを決定するためのシステムは、クライアント・データに少なくとも部分的に基づいて識別子の組を決定するための指標決定器を備える。いくつかの実施態様では、識別子は、潜在的なフィンガープリント（例えば、フィンガープリントを備えることができるが、それが、クライアント・ネットワークの一部であるネットワーク・システムを、クライアント・ネットワークの一部ではないネットワーク・システムと正確に区別するか否かがまだ決定されていない識別データの組）を備える。指標決定器は、クライアント・データをスキャンし、かつ識別子データを備える各要素（例えば、開放ポート、サービスおよびそれに関連付けられているポート、ウェブ頁コンポーネント、ウェブ・アプリケーションおよびそれに関連付けられているコンポーネントの組、暗号化証明書、公開暗号鍵、テキスト文字列、テキスト文字列パターン、ドメイン名、ホスト名、ホスト名パターン、等）を選択する。各指標は指標の組に追加される。次で、指標の組の内の１つまたは複数の指標（例えば、全ての指標、指標のサブセット）について、指標がフィンガープリントを備えるか否かについて、決定が行われる。決定は、少なくとも部分的には頻度分析に基づいて行われる。いくつかの実施態様では、頻度分析は、指標が既知のクライアント・ネットワーク内のネットワーク・システムに一致する頻度と、指標がインターネット上のネットワーク・システムに一致する頻度との比較を備える。いくつかの実施態様では、指標がインターネット上のネットワーク・システムよりもはるかに高いレートでクライアントのネットワーク・システムと一致する場合、指標はフィンガープリントを備えると決定される。いくつかの実施態様では、指標がフィンガープリントを備えると決定することは、指標が閾値頻度よりも高い頻度でクライアント・ネットワーク内のシステムと一致すると決定することを備える。いくつかの実施態様では、指標がフィンガープリントを備えると決定することは、指標が閾値頻度未満でインターネット上のシステムと一致すると決定することを備える。
【０００９】
様々な実施態様では、指標は、単一の識別子、対の識別子、三つの識別子、または識別子の他の任意の組み合わせである。各指標は、その指標が、既知のクライアント・ネットワークでは頻繁に現れ、かつインターネット全体ではめったに現れないか否かを決定することによって分析される。例えば、既知のクライアント・ネットワーク内での指標頻度がクライアント・ネットワーク一致閾値を上回り、かつインターネット全体での指標頻度がインターネット一致閾値を下回る場合、指標はこの基準を満たす。この基準を満たす指標は、スコアでランク付けすることが出来るフィンガープリント候補である。フィンガープリント候補は、スコアが閾値を上回る場合、またはフィンガープリントがフィンガープリント候補のトップＮ個（例えば、フィンガープリントの一定数）以内にある場合、フィンガープリントとして受け入れることが出来る。
【００１０】
いくつかの実施態様では、指標の組内の指標は、全てが分析されるわけではない（例えば、最初に３つの識別子の全ての組み合わせがインターネット上およびクライアントのネットワーク内で分析されるが、あるパーセンテージの指標の組の分析後に、十分な数のフィンガープリントが既に選択された場合、以後、組の残りは分析されない）。いくつかの実施態様では、組の分析は、最高スコアから最低スコアの順に処理され、スコアはフィンガープリントとなる可能性を指示する。例えば、スコアは、クライアント・ネットワーク内の指標の出現頻度のパーセンタイル（percentile_fclient）およびインターネット内の指標の出現頻度のパーセンタイル（percentile_finternet）に少なくとも部分的に基づいて計算される。
【００１１】
図１は、ネットワーク・システムの一実施態様を示すブロック図である。いくつかの実施態様では、図１のネットワーク・システムは、フィンガープリントを使用してネットワーク・マッピングのためのシステムを備える。図示の例では、図１はネットワーク１００を備える。様々な実施態様では、ネットワーク１００は、ローカルエリア・ネットワーク、ワイドエリア・ネットワーク、有線ネットワーク、無線ネットワーク、インターネット、イントラネット、ストレージエリア・ネットワーク、または他の適切な通信ネットワーク、の内の１つ以上を備える。管理者システム１０２とネットワーク・マッピング・システム１０４は、ネットワーク１００を介して通信する。管理者システム１０２は、管理者用のシステムを備える。様々な実施態様では、管理者システム１０２は、管理者が、アプリケーション・システム上のアプリケーションにアクセスし、データベース・システム上のデータにアクセスし、ネットワーク・マッピング・システム１０４に指示してネットワーク・マッピング・プロセスを実行させ、ネットワーク・マッピング・システム１０４からデータを受取り、ネットワーク・システム（例えば、ネットワーク・システム１０６）を構成し、ネットワーク・システムからデータを受取る、または他の適切な目的のためのシステムを備える。いくつかの実施態様では、管理者システム１０２はプロセッサおよびメモリを備える。ネットワーク・マッピング・システム１０４は、クライアント・ネットワークをマッピングするシステムを備える。例えば、ネットワーク・マッピング・システム１０４は、管理者システム１０２からのコマンドに応じて、ネットワーク・システム（ネットワーク・システム１０６、ネットワーク・システム１０８、ネットワーク・システム１１０、ネットワーク・システム１１２、ネットワーク・システム１１４、ネットワーク・システム１１６、ネットワーク・システム１１８、およびネットワーク・システム１２０）に関連付けられているデータをスキャンする。ネットワーク・システムの分析は、現在のネットワーク・データと、このネットワーク・システムの組に関連付けられている以前に格納されたデータとを、分析することを含む。いくつかの実施態様では、ネットワーク・システムの組に関連付けられているデータをスキャンすることは、応答が受取られると、このネットワーク・システムの組の内の１つまたは複数のネットワーク・システムにペイロードを与えかつ受取られた応答を分析することを備える。いくつかの実施態様では、ネットワーク・システムから受取った応答を分析することは、その応答がフィンガープリントと一致するか否かを決定することを備える。ネットワーク・マッピング・システム１０４は、フィンガープリントを決定するためのシステムを備える。いくつかの実施態様では、フィンガープリントは、少なくとも部分的にクライアント・データ（例えば、クライアント・ネットワーク識別情報）に基づいて自動的に決定される。例えば、フィンガープリントは、既知のクライアント・ネットワーク（例えば、ネットワーク・システムの組の内の１つまたは複数のネットワーク・システムが、クライアント・ネットワーク（例えば、関連付けられている全てのシステムが、決定されるクライアント・ネットワーク）に関連付けられていることは既知である）に少なくとも部分的に基づいて決定される。いくつかの実施態様では、フィンガープリントは、（例えば、潜在的なフィンガープリントが、既知のクライアント・ネットワークの一部であるネットワーク・システムに格納されている情報と一致する頻度と、潜在的なフィンガープリントが、アクセス可能な全てのネットワーク・システム（例えば、インターネット上の全てのネットワーク・システム）に格納されている情報と一致する頻度とを比較することにより）、頻度分析に少なくとも部分的に基づいて決定される。いくつかの実施態様では、ネットワーク・マッピング・システム１０４は、プロセッサおよびメモリを備える。図１の各ネットワーク・システム（例えば、ネットワーク・システム１０６）は、インターネットに接続されているシステム（例えば、デスクトップ・コンピュータ、ラップトップ・コンピュータ、スマートフォン、タブレット・コンピュータ、サーバ・システム、モノのインターネット・デバイス、等）を備える。様々な実施態様では、図１のシステムは、８、１３、１９７、２２２２、１００万、１億、または他の適切な数のネットワーク・システムを備える。いくつかの実施態様では、図１の各ネットワーク・システムには、インターネット・アドレスが関連付けられている。いくつかの実施態様では、インターネット・アドレスは、インターネット・プロトコル（ＩＰ）アドレスを備える。
【００１２】
図２は、ネットワーク・システムの一実施態様を示すブロック図である。いくつかの実施態様では、ネットワーク・システム２００は、図１のネットワーク・システム（例えば、ネットワーク・システム１０６）を備える。図示されている例では、ネットワーク・システム２００は、プロセッサ２０２、データ・ストレージ２０４、およびネットワーク・インターフェース２０６を備える。いくつかの実施態様では、ネットワーク・システム２００は、インターネット接続アセット（例えば、デスクトップ・コンピュータ、ラップトップ・コンピュータ、スマートフォン、タブレット・コンピュータ、サーバ・システム、モノのインターネット・デバイス、または他の適切なインターネット接続アセット）を備える。様々な実施態様では、プロセッサ２０２は、命令を実行し、データを処理し、コマンドに応答する、等のためのプロセッサを備える。様々な実施態様では、プロセッサ２０２は、汎用プロセッサ、マイクロコントローラ、並列処理システム、プロセッサのクラスタ、または任意の他の適切なプロセッサを備える。データ・ストレージ２０４は、データを格納するため、プロセッサ２０２のための命令を格納するため、構成情報を格納するため、または他の適切な情報を格納するための、データ・ストレージを備える。様々な実施態様では、データ・ストレージ２０４は、揮発性メモリ、不揮発性メモリ、磁気メモリ、光メモリ、相変化メモリ、半導体メモリ、ディスクメモリ、テープメモリ、または任意の他の適切なメモリ、の内の１つまたは複数を備える。ネットワーク・インターフェース２０６は、ネットワークと通信するためのネットワーク・インターフェースを備える。図示の例では、ネットワーク・インターフェース２０６は、ネットワーク通信情報２０８と複数のポート（例えば、ポート２１０）とを備える。ネットワーク通信情報２０８は、ネットワーク通信ソフトウェア、ネットワーク通信設定、ネットワーク通信データ、または他の任意の適切なネットワーク通信情報を含む。複数のポートは、物理ポート（例えば、ケーブルをネットワーク・システム２００に接続するためのプラグ）または仮想ポート（例えば、仮想ポート番号によって識別される仮想通信チャネル）を備える。いくつかの実施態様では、ネットワーク・インターフェース２０６は、ネットワーク・アドレス（例えば、外部ネットワーク・アドレス指定機関によって関連付けられているネットワーク・アドレス）を備える。いくつかの実施態様では、ネットワーク・システム２００との通信は、ポート番号と共にネットワーク２００のネットワーク・アドレスを指示することによって指定される。いくつかの実施態様では、ネットワーク・インターフェース２０６のいくつかのポートは、通信応答用に構成され（例えば、開放ポートを備える）、そして他のいくつかは、通信に応答しないように構成される。いくつかの実施態様では、開放ポート構成情報は、ネットワーク通信情報２０８に格納される。いくつかの実施態様では、いくつかのポートは、１つ以上の、特定通信サービス（例えば、ハイパーテキスト転送プロトコル（ＨＴＴＰ）、ファイル転送プロトコル（ＦＴＰ）、セキュア・シェル（ＳＳＨ）等）に関連付けられている。いくつかの実施態様では、サービスをポートに関連付ける構成情報は、ネットワーク通信情報２０８に格納される。いくつかの実施態様では、ネットワーク通信情報２０８は、ウェブ頁（例えば、レンダリングされないウェブ頁コメント、組織固有の画像およびＧＩＦ、等）およびウェブ・アプリケーション、ウェブ・アプリケーション・コンポーネント情報（例えば、ファースト・パーティおよびサード・パーティのｊａｖａスクリプトコード、ＡＰＩコール、ウェブ・アプリケーション構成およびバージョン情報、等）を備える。いくつかの実施態様では、ネットワーク通信情報２０８は、暗号化情報（例えば、公開ＳＳＨキー、証明書、等）を備える。いくつかの実施態様では、ネットワーク通信情報２０８は、１つまたは複数のネットワーク・システム名（例えば、ホスト名、ドメイン名、ホスト名の組、ホスト名パターン、等）を備える。いくつかの実施態様では、ネットワーク通信情報は、サービスまたはサービスの組に関連付けられているテキスト情報（例えば、ウェルカムテキスト、接続拒否テキスト、サービス非対応テキスト、ファイル未検出テキスト、または他の適切なテキスト情報）を備える。いくつかの実施態様では、ネットワーク・インターフェース２０６は、通信仕様の組に従って既に構成されている通信ソフトウェアの組を実行するネットワーク・ハードウェア（例えば、モデム）の組を備える。
【００１３】
図３は、ネットワーク・マッピング・システムの一実施態様を示すブロック図である。いくつかの実施態様では、ネットワーク・マッピング・システム３００は、図１のネットワーク・マッピング・システム１０４を備える。いくつかの実施態様では、ネットワーク・マッピング・システム３００は、サーバ・システムを備える。図示の例では、ネットワーク・マッピング・システム３００は、プロセッサ３０２、データ・ストレージ３０４、およびネットワーク・インターフェース３０６を備える。プロセッサ３０２は、命令を実行する、データを処理する、コマンドに応答する、等を行うプロセッサを備える。様々な実施態様では、プロセッサ３０２は、汎用プロセッサ、マイクロコントローラ、並列処理システム、プロセッサのクラスタ、または他の任意の適切なプロセッサを備える。プロセッサ３０２は、ネットワーク・マッピング・システム機能を実施するソフトウェアおよび／またはハードウェアを備えたネットワーク・スキャナ３０８を含む。プロセッサ３０２は、ネットワーク・スキャナ３０８によって使用されるフィンガープリントを決定するフィンガープリント決定器３１０を含む。
【００１４】
様々な実施態様では、データ・ストレージ３０４は、データを格納するため、プロセッサ３０２のための命令を格納するため、構成情報を格納するため、または任意の他の適切な情報を格納するため、のデータ・ストレージを備える。様々な実施態様では、データ・ストレージ３０４は、揮発性メモリ、不揮発性メモリ、磁気メモリ、光メモリ、相変化メモリ、半導体メモリ、ディスクメモリ、テープメモリ、または他の任意の適切なメモリ、の内の１つまたは複数を備える。図示の例では、データ・ストレージ３０４は、ネットワーク・システムを識別するためのフィンガープリントを格納するフィンガープリント・データベース３１２を備える。いくつかの実施態様では、フィンガープリント・データベースに格納されているフィンガープリントは、それぞれ、クライアント・ネットワークに関連付けられている。いくつかの実施態様では、フィンガープリントは、１つまたは複数のネットワーク識別特性を備える。いくつかの実施態様では、ネットワーク識別特性は、ネットワーク通信情報設定（例えば、開放ポートの組、サービスおよびそれに関連付けられているポートの組、ウェブ頁コンポーネント、ウェブ・アプリケーションおよびそれに関連付けられているコンポーネントの組、暗号化情報、ホスト名情報、ドメイン名情報、テキスト情報、等）を備える。いくつかの実施態様では、フィンガープリント・データベース３１２により格納されているフィンガープリントは、フィンガープリント決定器３１０により決定される。データ・ストレージ３０４は、更に、クライアント・ネットワーク情報（例えば、クライアント・ネットワークに関連付けられているインターネット・アドレス（例えば、ＩＰアドレス）、クライアント・ネットワークに関連付けられているネットワーク・システムに関連付けられているネットワーク・システム情報、等）を格納するためのクライアント・ネットワーク・データベース３１４を含む。いくつかの実施態様では、ネットワーク・マッピング・プロセスが実行された後、クライアント・ネットワーク・データベース３１４は、クライアント・ネットワークの範囲を記述する（例えば、クライアント・ネットワークに関連付けられていることが判明した全てのネットワーク・システムを識別する）クライアント・ネットワーク情報の組を備える。データ・ストレージ３０４は、更に、ネットワーク情報を格納するためのネットワーク情報データベース３１６を備える。いくつかの実施態様では、ネットワーク情報は、ネットワークをスキャンした結果として受取られたネットワーク情報を備える。いくつかの実施態様では、ネットワーク情報は、インターネットをスキャンすることによってコンパイルされる応答を備える。いくつかの実施態様では、インターネットをスキャンすることは、ペイロード（例えば、所定のデータパケットまたはパケットの組）をインターネット・アドレスの組に提供することを備える。いくつかの実施態様では、ネットワークをスキャンすることは、ネットワーク・システムの組からネットワーク情報を収集することを備える。いくつかの実施態様では、ネットワークをスキャンすることは、アクセス可能な全てのネットワーク・システムからネットワーク情報を収集することを備える。様々な実施態様では、ネットワーク情報は、ネットワーク通信情報設定、ネットワーク・アドレス、対話型ネットワーク・システムによって受取られる情報（例えば、ネットワーク・システム上で実行されるアクティブ・サービスの指示に応じてフォローアップ・プローブを実行することによって受取られる情報）または他の任意の適切なネットワーク情報を備える。いくつかの実施態様では、ネットワーク情報は、遠隔で（例えば、ストレージ・サーバ上、異なるネットワーク・システム上、クラウド・ストレージ上、等に）格納される。図示の例では、ネットワーク・インターフェース３０６は、ネットワークを介して遠隔システムと対話するためのネットワーク・インターフェースを備える。いくつかの実施態様では、ネットワーク・インターフェース３０６は、高帯域通信用に構成されているネットワーク・インターフェースを備える。
【００１５】
図４は、フィンガープリントを決定するためのプロセスの一実施態様を示す流れ図である。いくつかの実施態様では、図４のプロセスは、ネットワーク・マッピング・システム（例えば、図１のネットワーク・マッピング・システム１０４）によって実行される。図示されている例では、４００において、クライアント・データの組を使用してフィンガープリントを決定するための指示が、受取られる。例えば、クライアント・データの組は、既知のクライアント・ネットワーク（例えば、クライアント・ネットワークの一部であることが知られているコンピュータのアドレスの組）またはネットワーク構成情報（例えば、クライアント・ネットワークの一部であるコンピュータに関連付けられている構成データの組）を備える。４０２において、指標の組が、クライアント・データに少なくとも部分的に基づいて決定される。例えば、指標は、潜在的なフィンガープリントを備える（例えば、フィンガープリントにおけるようなシステム識別特性の１つ以上の組、ここで、指標が、クライアントに関連付けられているネットワーク・システムを、クライアントに関連付けされていないネットワーク・システムと区別することが出来るか否かはまだ決定されていない）。いくつかの実施態様では、指標の組は、クライアント・データから決定されたネットワーク識別要素の組を備える。いくつかの実施態様では、指標の組は、更に、クライアント・データから決定されたネットワーク識別要素の全ての組み合わせ（例えば、対の全ての組み合わせ、３つの要素の全ての組み合わせ、４つの要素の全ての組み合わせ、等）を含む。４０４において、指標の組の内の次の指標が選択される。いくつかの実施態様では、次の指標は、第一の指標を備える。４０６において、頻度分析に少なくとも部分的に基づいて、指標がフィンガープリントを備えるか否かが、決定される。いくつかの実施態様では、指標がフィンガープリントを備えるか否かを決定することは、指標が、クライアントに関連付けられているネットワーク・システムを、クライアントに関連付けられていないネットワーク・システムと区別できるか否かを決定することを備える。いくつかの実施態様では、指標がフィンガープリントを備えるか否かを決定することは、指標が、既知のクライアント・ネットワーク内のシステムに関連付けられているデータに一致すると決定される頻度と、指標が、インターネット上のシステムに関連付けられているデータに一致すると決定される頻度とを比較することを備える。４０８において、指標がフィンガープリントを含まないと決定された場合、制御は４１２に進む。指標がフィンガープリントを備えていると決定された場合、制御は４１０に進む。４１０において、フィンガープリントは、クライアントに関連付けられているフィンガープリント・データベースに格納される。４１２において、指標の組の内に他の指標が、あるか否かが決定される。指標の組の内にこれ以上の指標がないと決定された場合、プロセスは終了する。指標の組の内に更なる指標があると決定された場合、制御は４１４に進む。４１４において、指標の組の内の更なる指標を分析するか否かが決定される。いくつかの実施態様では、指標の組の内の１つまたは複数の指標（例えば、完全な指標の組より少ない組）しか分析されない。いくつかの実施態様では、指標の組の内の全ての指標が分析される。様々な実施態様では、特定のレベルの組み合わせが分析された後（例えば、３つの要素の組み合わせが分析された後）、既知のクライアント・ネットワーク内の測定された発生頻度が、閾値を下回った後（例えば、４つの要素の全ての組み合わせが、既知のクライアント・ネットワーク内のネットワーク・システムの閾値部分より少ないものと一致すると決定された後）、所定数のフィンガープリントが決定された後、または他の何らかの適切な理由により、指標の分析を停止することが決定される。これ以上の指標は分析しないと決定された場合、プロセスは終了する。さらなる指標を分析することが決定された場合には、制御は４０４に移る。
【００１６】
図５は、クライアント・データに少なくとも部分的に基づいて指標の組を決定するためのプロセスの一実施態様を示す流れ図である。いくつかの実施態様では、図５のプロセスは、図４の４０２を実施するために使用される。図５のプロセスは、既知のクライアント・ネットワークのクライアント・データに少なくとも部分的に基づいて、指標の組を決定するためのものである。図示の例では、５００において、既知のクライアント・ネットワークの次のクライアント・システムが、選択される。いくつかの実施態様では、次のクライアント・システムは、第１のクライアント・システムを備える。５０２において、クライアント・システムは、ネットワーク通信情報設定についてクエリを受ける。様々な実施態様では、ネットワーク通信情報設定は、システム構成ファイル、システム構成スクリプト、システム記述ファイル、１つ以上の通信クエリ（例えば、ｔｅｌｎｅｔクエリ、ｆｔｐクエリ、ｐｉｎｇ、等）に対するシステム応答、または他の任意の適切な通信情報設定を備える。５０４において、適切なネットワーク通信情報設定ネットワーク通信情報設定によって指示される開放ポート（例えば、通信要求に応答するポート）が、決定される。５０６において、ネットワーク通信設定によって指示されるサービスおよびそれに関連付けられているポート（例えば、関連付けられているポートを介してアクセス可能であると決定されたネットワーク・サービス）が、決定される。５０８において、ネットワーク通信情報設定によって指示される証明書が、決定される。５０９において、ネットワーク通信情報設定によって指示されるウェブ頁コンポーネント（例えば、ウェブ頁内のレンダリングされていないコメント、サード・パーティＡＰＩコール、等）が、決定される。５１０において、ネットワーク通信情報設定によって指示されるウェブ・アプリケーションおよびウェブ・アプリケーション・コンポーネント（例えば、アプリケーション・バージョンおよび構成情報、コンポーネントのサード・パーティ・アプリケーションの組、等）が、決定される。５１１において、ネットワーク通信情報設定によって指示される公開暗号鍵が、決定される。５１２において、ネットワーク通信情報設定によって指示されるテキスト・パターンが、決定される。いくつかの実施態様では、テキスト・パターンは、デフォルトのテキスト・パターン（例えば、ネットワーク・サービスの未修正の構成によって生成されたテキスト・パターン）ではないと決定されたテキスト・パターンを備える。いくつかの実施態様では、テキスト・パターンは、クライアントに関連付けられるべきと決定されたテキスト・パターン（例えば、クライアント名、クライアント名の修正、クライアント・ドメイン名、クライアント・サーバ名、クライアントのモットー、クライアント広告フレーズ、クライアント内部で使用されているフレーズ、またはその他の適切なクライアント関連フレーズ）を備える。５１４において、決定された情報（例えば、５０４、５０６、５０８、５１０、および５１２において決定された情報）が、指標の組に追加される。５１６において、指標の組み合わせ（例えば、指標の組内の指標の対の組み合わせ、指標の組内の３つの指標の組み合わせ、指標の組内の４つの指標の組み合わせ、等）が、指標の組に追加される。５１８において、（例えば、既知のクライアント・ネットワーク内に）更にクライアント・システムがあるか否かが、決定される。クライアント・ネットワーク内に更にクライアント・システムがあると決定された場合、制御は５００に移る。クライアント・ネットワーク内にクライアント・システムがこれ以上ないと決定された場合、プロセスは終了する。
【００１７】
図６は、クライアント・データに少なくとも部分的に基づいて指標の組を決定するためのプロセスの一実施態様を示す流れ図である。いくつかの実施態様では、図６のプロセスは、図４の４０２を実施するために使用される。図６のプロセスは、ネットワーク構成情報のクライアント・データ（例えば、クライアント、クライアント・システム管理者、等によって提供されるネットワーク構成情報）に少なくとも部分的に基づいて、指標の組を決定するためのものである。図示される例では、６００において、クライアント・ネットワーク構成によって指示される開放ポートが、決定される。６０２において、クライアント・ネットワーク構成によって指示されるサービスおよびそれに関連付けられているポートが、決定される。６０４において、クライアント・ネットワーク構成によって指示される証明書が、決定される。６０５において、クライアント・ネットワーク構成によって指示されるウェブ頁コンポーネントが、決定される。６０６において、クライアント・ネットワーク構成によって指示されるウェブ・アプリケーションおよびウェブ・アプリケーション・コンポーネントが、決定される。６０７において、クライアント・ネットワーク構成によって指示される公開暗号鍵が、決定される。６０８において、クライアント・ネットワーク構成によって指示されるテキスト・パターンが、決定される。６１０において、決定された情報（例えば、６０２、６０４、６０５、６０６、６０７、６０８、および６１０において決定された情報）が、指標の組に追加される。６１２において、指標の組み合わせ（例えば、指標の組内の指標の対の組み合わせ、指標の組内の３つの指標の組み合わせ、指標の組内の４つの指標の組み合わせ、等）が、指標の組に追加される。
【００１８】
図７は、頻度分析に少なくとも部分的に基づいて、指標がフィンガープリントを備えるか否かを決定するプロセスの一実施態様を示す流れ図である。いくつかの実施態様では、図７のプロセスは、図４の４０６を実施する。図示される例では、７００において、既知のクライアント・ネットワークの記述が受取られる。いくつかの実施態様では、既知のクライアント・ネットワークの記述は、そのクライアント・ネットワークに関連付けられていることが知られているネットワーク・システムのアドレスの組を備える。７０２において、既知のクライアント・ネットワークの次のネットワーク・システムが、選択される。いくつかの実施態様では、次のネットワーク・システムは、第１のネットワーク・システムを備える。７０４において、選択されたネットワーク・システムに関するネットワーク通信情報が、要求される。いくつかの実施態様では、選択されたネットワーク・システムに関するネットワーク通信情報を要求することは、ネットワーク通信情報を要求するためにネットワーク・システムと通信することを備える。いくつかの実施態様では、要求に応答して、ネットワーク通信情報が受取られる。７０６において、ネットワーク通信情報が指標と一致するか否か（例えば、７０４の要求に応答して受取られたネットワーク通信情報が、指標によって指示されるネットワーク通信情報と一致する情報を備えるか否か）が、決定される。７０８において、（例えば、既知のクライアント・ネットワークに）更なるネットワーク・システムがあるか否かが、決定される。更なるネットワーク・システムがあると決定された場合、制御は７０２に進む。更なるネットワーク・システムはないと決定された場合、制御は７１０に進む。７１０において、インターネット上の次のネットワーク・システムが、選択される。いくつかの実施態様では、インターネット上の次のネットワーク・システムは、インターネット上の第１のネットワーク・システムを備える。いくつかの実施態様では、インターネット上のネットワーク・システムは、ＩＰアドレスによって分類されたシステムを備える（例えば、インターネット上の最初のネットワーク・システムは、ＩＰアドレス０．０．０．０を有するシステムを備え、そしてインターネット上の最後のネットワーク・システムは、ＩＰアドレス２５５．２５５．２５５．２５５を有するシステムを備える）。７１２において、選択されたネットワーク・システムに関するネットワーク通信情報が、要求される。いくつかの実施態様では、選択されたネットワーク・システムに関するネットワーク通信情報を要求することは、ネットワーク通信情報を要求するために選択されたネットワーク・システムと通信することを備える。いくつかの実施態様では、選択されたネットワーク・システムに関するネットワーク通信情報を要求することは、格納されているネットワーク通信情報（例えば、ネットワーク情報データベースに格納されているネットワーク通信情報）を要求することを備える。７１４において、ネットワーク通信情報が指標と一致するか否かが、決定される。７１６において、（例えば、インターネット上に）更にネットワーク・システムがあるか否かが、決定される。更にネットワーク・システムがあると決定された場合、制御は７１０に進む。これ以上ネットワーク・システムはないと決定された場合、制御は７１８に進む。７１８において、指標が既知のクライアント・ネットワークのネットワーク・システムと一致する頻度と、指標がインターネットのネットワーク・システムと一致する頻度とが、決定される。７２０において、指標がフィンガープリントを備えるか否かが、決定される。いくつかの実施態様では、頻度分析に少なくとも部分的に基づいて、指標がフィンガープリントを備えるか否かが、決定される。様々な実施態様では、指標がフィンガープリントを備えるか否かを決定することは、指標が既知のクライアント・ネットワークのネットワーク・システムに一致する頻度が、指標がインターネットのネットワーク・システムに一致する頻度より大きいか否かを決定すること、指標が既知のクライアント・ネットワークのネットワーク・システムと一致する頻度が、指標がインターネットのネットワーク・システムに一致する頻度よりはるかに大きい（例えば、少なくとも閾値量分大きい）か否かを決定すること、指標が既知のクライアント・ネットワークのネットワーク・システムに一致する頻度が、閾値より大きいか否かを決定すること、指標が、インターネットのネットワーク・システムと一致する頻度が閾値より小さいか否かを決定すること、または他の適切な方法で決定することを備える。
【００１９】
図８は、応答が指標と一致するか否かを決定するためのプロセスの一実施態様を示す流れ図である。いくつかの実施態様では、図８のプロセスは、応答がフィンガープリントと一致するか否かを決定するための流れ図を備える。いくつかの実施態様では、図８のプロセスは、図７の７０６および図７の７１４を実行する。図示される例では、８００において、次の基準が選択される。いくつかの実施態様では、次の基準は第１の基準を備える。８０２において、基準タイプが決定される。様々な実施態様において、この基準タイプは、開放ポート基準タイプの組、サービスおよびそれに関連付けられているポート基準タイプの組、ウェブ頁コンポーネント基準タイプ、ウェブ・アプリケーションおよびそれに関連するウェブ・アプリケーション・コンポーネント基準タイプの組、証明書基準タイプ、公開暗号化キー基準タイプ、テキスト文字列基準タイプ、テキスト・パターン基準タイプ、ドメイン名基準タイプ、ホスト名基準タイプ、ホスト名基準タイプ、またはその他の適切な基準タイプを備える。８０４で、応答が、基準タイプの基準と一致するか否かが決定される。応答が基準タイプの基準に一致しないと決定された場合、制御は８０６に移る。８０６において、プロセスは、応答が指標に一致しないことを指示し、そしてプロセスは終了する。８０４で、応答が基準タイプの基準に一致すると決定された場合、制御は８０８に移る。８０８では、更に基準があるか否かが決定される。これ以上基準がないと決定された場合、制御は８００に進む。これ以上基準がないと決定された場合、制御は８１０に進む。８１０において、プロセスは、応答が指標と一致することを指示する。図示されている例では、応答が全ての基準に一致すると決定された場合のみ、応答が指標と一致すると決定される。
【００２０】
図９は、指標がフィンガープリントを備えるか否かを決定するためのプロセスの一実施態様を示す流れ図である。いくつかの実施態様では、図９のプロセスは、図７の７２０を実施するために使用される。図示される例では、９００において、クライアント・ネットワークに一致する指標が、クライアント・ネットワークの一致閾値より大きいか否かが決定される。例えば、指標は、クライアント・ネットワークのＩＰアドレスのＸ％に関連付けられていて、そしてＸ％は、クライアント・ネットワークの一致閾値Ｙ％よりも大である。クライアント・ネットワークと一致する指標が、クライアント・ネットワークの一致閾値よりも大でない場合、プロセスは終了する。クライアント・ネットワークに一致する指標が、クライアント・ネットワークの一致閾値より大である場合、制御は９０２に進む。９０２において、インターネットに対する指標の一致が、インターネット一致閾値より小であるか否かが決定される。例えば、この指標は、インターネットのＩＰアドレスのＺ％に関連付けられていて、かつＺ％は、インターネット一致閾値のＷ％を超えている。インターネットと一致する指標が、インターネットの一致閾値以上である場合には、プロセスは終了する。インターネットと一致する指標が、インターネット一致閾値より小である場合には、制御は９０４へ進む。
【００２１】
９０４において、指標の組内の指標をランク付けするために、スコアが、指標に対して決定される。例えば、指標がフィンガープリントである可能性を示すと、スコアが決定される。様々な実施態様では、スコアは、クライアント・ネットワーク内での指標の出現頻度のパーセンタイル(percentile_fclient)、インターネットでの指標の出現頻度のパーセンタイル(percentile_finternet)、percentile_fclient x percentile_fclient、percentile_fclient + percentile_fclient、クライアント・ネットワーク内での指標の出現頻度のランク（rank_fclient）、インターネットでの指標の出現頻度のランク（rank_finternet）、rank_fclient x rank_fclient、rank_fclient + rank_fclient、または他の適切な要素、の内の１つまたは複数に比例する。
【００２２】
９０６において、指標の組内の指標のランクが、フィンガープリント閾値を上回るか否かが決定される。例えば、スコアは、各指標に対して指標をランク付けするために使用され、かつ指標のランクが、フィンガープリント閾値を超えているか否かが決定される。指標の組内の指標のランクがフィンガープリント閾値を上回っていない場合、プロセスは終了する。指標の組内の指標のランクがフィンガープリント閾値を上回る場合、９０８において、指標がフィンガープリントを備えることが指示される。例えば、フィンガープリントとして指標にはフラグが立てられ、そしてこの指標はフィンガープリント・データベースに格納される。
【００２３】
前述の実施態様は、理解を明確にする目的で、ある程度詳細に説明されているが、本発明は、提供された詳細に限定されない。本発明を実施する多くの代替方法がある。開示された実施態様は、例示的であり限定的ではない。 
【図１】
2020502703.tif 000003
【図２】
2020502703.tif 000004
【図３】
2020502703.tif 000005
【図４】
2020502703.tif 000006
【図５】
2020502703.tif 000007
【図６】
2020502703.tif 000008
【図７】
2020502703.tif 000009
【図８】
2020502703.tif 000010
【図９】
2020502703.tif 000011
【国際調査報告】
2020502703.tif 000012