(57)【要約】イベント駆動型クエリのためのシステムは、入力インターフェースとプロセッサを含む。入力インターフェースは、外部システムから指示を受信するように構成されている。プロセッサは、この指示に少なくとも部分的に基づいてスキャンクエリを決定し、かつこのスキャンクエリを実行するように構成されている。【選択図】図１
2020511860.tif 000002
【特許請求の範囲】
【請求項１】
外部システムから指示を受信するように構成されている入力インターフェースと、
前記指示に少なくとも部分的に基づいてスキャンクエリを決定しそして前記スキャンクエリを実行するように構成されているプロセッサとを
備えるイベント駆動型クエリのためのシステム。
【請求項２】
前記指示が、手動により決定された指示を備える、請求項１に記載のシステム。
【請求項３】
前記指示が、脆弱性指示を備える、請求項２に記載のシステム。
【請求項４】
前記指示が、公開されたニュース記事から決定された公開されたニュース記事指示を備える、請求項２に記載のシステム。
【請求項５】
前記指示が、インターネット投稿から決定されたインターネット投稿指示を備える、請求項２に記載のシステム。
【請求項６】
前記指示が、自動指示を備える、請求項１に記載のシステム。
【請求項７】
前記指示が、ＢＧＰルート変更指示を備える、請求項６に記載のシステム。
【請求項８】
前記指示が、ＤＮＳ変更指示を備える、請求項６に記載のシステム。
【請求項９】
前記指示が、ＩＰ変更指示を備える、請求項６に記載のシステム。
【請求項１０】
前記スキャンクエリを決定することが、前記指示に関連付けられているアドレスを決定することを備える、請求項１に記載のシステム。
【請求項１１】
前記スキャンクエリを決定することが、前記指示に関連付けられているポートを決定することを備える、請求項１に記載のシステム。
【請求項１２】
前記スキャンクエリを決定することが、前記指示に関連付けられているスキャンタイプを決定することを備える、請求項１に記載のシステム。
【請求項１３】
前記スキャンクエリを決定することが、前記スキャンクエリを拡張することを備える、請求項１に記載のシステム。
【請求項１４】
前記スキャンクエリを拡張することが、前記スキャンクエリにアドレスを追加することを備える、請求項１３に記載のシステム。
【請求項１５】
前記スキャンクエリを拡張することが、前記スキャンクエリにポートを追加することを備える、請求項１３に記載のシステム。
【請求項１６】
前記スキャンクエリを拡張することが、前記スキャンクエリにスキャンタイプを追加することを備える、請求項１３に記載のシステム。
【請求項１７】
前記クエリを実行することが、１つ以上のスキャンタイプを使用して、１つ以上のポートでクライアントシステムの１つ以上のアドレスをスキャンすることを備える、請求項１に記載のシステム。
【請求項１８】
前記プロセッサが、さらに、ネットワーク状態の表示を提供する、請求項１に記載のシステム。
【請求項１９】
前記ネットワーク状態の表示が、前記指示が受取られる前後のネットワーク状態の比較を備える、請求項１に記載のシステム。
【請求項２０】
クライアントシステムから指示を受信するステップと、
プロセッサを使用して、指示に少なくとも部分的に基づいてスキャンクエリを決定するステップと、
スキャンクエリを実行するステップと、
を備えるイベント駆動型クエリの方法。
【請求項２１】
イベント駆動型クエリ用のコンピュータプログラム製品であって、前記コンピュータプログラム製品が、非一時的なコンピュータ可読格納媒体に組み込まれていて、かつ
クライアントシステムから指示を受信するコンピュータ命令、
前記指示に少なくとも部分的に基づいてスキャンクエリを決定するコンピュータ命令、および
スキャンクエリを実行するコンピュータ命令、
を備える、
イベント駆動型クエリ用のコンピュータプログラム製品。
【発明の詳細な説明】
【背景技術】
【０００１】
インターネット接続アセット（例えば、コンピュータ、モバイルデバイス、サーバシステム、クライアントシステム、モノのインターネットデバイス、等）は、インターネットと通信するコンピューティングシステムを備える。インターネットに接続されたアセットは、通常１つ以上の公開アドレス指定可能な通信ポートを備え、これによりインターネットに接続された如何なるデバイスもアセットを照会することが可能となる。いくつかのデバイスは、１つ以上の公開アクセス可能なポートを介して、さまざまな接続タイプ（例えば、ハイパーテキスト転送プロトコール（ＨＴＴＰ）接続、セキュア・ハイパーテキスト転送プロトコール（ＨＴＴＰＳ）接続、ファイル転送プロトコール（ＦＴＰ）接続、セキュアファイル転送プロトコール（ＦＴＰＳ）接続、ｔｅｌｎｅｔ接続、セキュアシェル（ＳＳＨ）接続、等）を可能にする。インターネット接続されたアセットは、さまざまな構成オプションを備えるさまざまなソフトウェアを実行する種々のタイプのハードウェアデバイスを備えることができるが、これはセキュリティの脆弱性が発生する無数の可能性を生み出す。典型的なシステムアドミニストレータは、監視下にある全てのシステムの全ての詳細に注意を払うことはできないので、システムの脆弱性は検出されずかつそれが修正されないという問題が発生する。システムが変更された場合（例えば、ネットワークから入手可能なデータにより指示されるシステムの変更）、システムアドミニストレータが、変更されたシステムに脆弱性が残っていないこと（例えば、システムの修正が全ての脆弱性の修正において成功したこと、システムの変更が新しい脆弱性を生成しなかったこと、新しく発見された脆弱性が無関係であること、等）に対し完全な確信を得ることは困難である。
【発明の概要】
【課題を解決するための手段】
【０００２】
本発明は、プロセス、装置、システム、組成物、コンピュータ可読格納媒体上に具現化されたコンピュータプログラム製品、および／またはプロセッサに結合されたメモリに格納されているおよび／またはメモリによって提供される命令を実行するように構成されているプロセッサ、を含む多数の方法で実施することができる。本明細書では、これらの実装、または本発明が取り得る他の形態を、技術と呼ぶ場合がある。一般に、開示されたプロセスのステップの順序は、本発明の範囲内で変更させることができる。特に明記しない限り、タスクを実行するように構成されていると記載されているプロセッサまたはメモリのようなコンポーネントは、特定の時間にタスクを実行するように一時的に構成されている一般的なコンポーネント、またはタスクを実行するように製造されている特定のコンポーネントとして実装することができる。本明細書で使用される「プロセッサ」という用語は、コンピュータプログラム命令のようなデータを処理するように構成されている１つまたは複数のデバイス、回路、および／または処理コアを意味する。
【０００３】
本発明の１つ以上の実施態様の詳細な説明は、以下に、本発明の原理を例示する添付の図と共に提供される。本発明は、そのような実施態様に関連して説明されるが、本発明はいかなる実施態様にも限定されることはない。本発明の権利範囲は、特許請求の範囲によってのみ限定され、本発明は、多数の代替物、修正物、および均等物を包含する。本発明の完全な理解を提供するために、多数の特定の詳細が以下に記載される。これらの詳細は例を説明する目的で提供されていて、そして本発明は、特許請求の範囲に従ってこれらの特定の詳細の一部または全て無しに実施することができる。明確性のために、本発明に関する技術分野において公知である技術事項は、本発明が不必要に不明瞭にならないように、詳細には記載されていない。
【０００４】
イベント駆動型クエリのためのシステムは、クライアントシステムから指示を受信する入力インターフェースと、この指示に少なくとも部分的に基づいてスキャンクエリを決定し、かつこのスキャンクエリを実行するプロセッサとを備える。いくつかの実施態様では、イベント駆動型クエリのためのシステムは、プロセッサに結合されていて、かつこのプロセッサに命令を提供するように構成されているメモリを備える。
【０００５】
いくつかの実施態様では、イベント駆動型クエリのためのシステムは、外部システムからの指示に応じてスキャンを実行するためのシステムを備える。いくつかの実施態様では、外部システムからの指示は、変更の指示を備える。様々な実施態様では、外部システムからの指示は、手動により決定された指示、自動指示、脆弱性の指示、公開されたニュース記事から決定された指示、インターネット投稿から決定された指示、「ゼロデイ」脆弱性または既存のオペレーティングコードに対する深刻な脅威のパブリックリリースまたは開示、「ゼロデイ」脆弱性または既存のオペレーティングコードに対する深刻な脅威の限定的なプライベートリリースまたは開示、ボーダゲートウェイプロトコール（ＢＧＰ）ルート変更の指示、ドメインネームシステム（ＤＮＳ）の変更の指示、インターネットプロトコール（ＩＰ）アドレスの変更の指示、地域インターネットレジストリ（ＲＩＲ）の変更の表示、および企業の合併、買収、または売却の指示、変更されたシステム、変更されたサービスの指示、または他の適切な指示を備える。いくつかの実施態様では、イベント駆動型クエリのためのシステムは、外部システムからこの指示を受取り、そしてこの指示に少なくとも部分的に基づいてスキャンクエリを決定する。いくつかの実施態様では、この指示に少なくとも部分的に基づいてスキャンクエリを決定することは、（例えば、アドレス、アドレスのポート、および使用するスキャンタイプを備える）指示によって指示されるスキャンを決定することを備える。いくつかの実施態様では、この指示に少なくとも部分的に基づいてスキャンクエリを決定することは、スキャンクエリを拡張すること（例えば、追加のアドレス、ポート、および／またはスキャンタイプを決定すること）を備える。次に、イベント駆動型クエリのためのシステムが、スキャンを実行する。いくつかの実施態様では、イベント駆動型クエリのためのシステムは、ネットワーク状態の表示を提供する。さまざまな実施態様では、ネットワーク状態の表示は、過去に適切に構成されていたシステム（例えば、この指示が受取られる前に適切に構成されていたことが知られているシステム）、履歴にある脆弱性、スキャンから決定された適切に構成されているシステム、スキャンから決定された脆弱性、または他の適切なネットワーク状態の表示情報を備える。
【０００６】
本発明の様々な実施態様は、以下の詳細な説明および添付の図面に開示されている。
【図面の簡単な説明】
【０００７】
【図１】ネットワークシステムの一実施態様を示すブロック図である。
【図２】ネットワークシステムの一実施態様を示すブロック図である。
【図３】スキャンシステムの実施態様を示すブロック図である。
【図４】トリガースキャンのためのプロセスの実施態様を示すフロー図である。
【図５】指示に少なくとも部分的に基づいてスキャンクエリを決定するプロセスの一実施態様を示すフロー図である。
【図６】スキャンクエリを実行するプロセスの一実施態様を示すフロー図である。
【図７】ネットワーク状態の表示を提供するプロセスの実施態様を示すフロー図である。
【発明を実施するための形態】
【０００８】
図１は、ネットワークシステムの一実施態様を示すブロック図である。図示されている例では、ネットワークシステムは、インターネットに接続されたアセットをスキャンするためのシステムで構成されている。このネットワークシステムは、ネットワーク１００を含む。様々な実施態様では、ネットワーク１００は、ローカルエリアネットワーク、ワイドエリアネットワーク、有線ネットワーク、無線ネットワーク、インターネット、イントラネット、ストレージエリアネットワークまたは他の適切な通信ネットワークのうちの１つ以上を備える。アドミニストレータシステム１０２およびスキャンシステム１０４は、ネットワーク１００を介して通信する。アドミニストレータシステム１０２は、アドミニストレータ用のシステムを備える。様々な実施態様では、アドミニストレータシステム１０２は、アドミニストレータが、アプリケーションシステム上のアプリケーションにアクセスする、データベースシステム上のデータにアクセスする、スキャンシステム１０４にスキャンを実行するよう指示する、スキャンシステム１０４からデータを受信する、ネットワークシステム（例えば、ネットワークシステム１０６）を構成する、ネットワークシステムからデータを受信する、または他の適切な目的のためのシステムを備える。いくつかの実施態様では、アドミニストレータシステム１０２は、クライアントシステム用のアドミニストレータシステムを備える。様々な実施態様では、クライアントシステムは、（例えば、スキャンシステム１０４に）スキャンを要求するシステム、スキャンを要求するシステムに関連付けられているネットワークシステム、アドミニストレータシステム（例えば、アドミニストレータシステム１０２）、または他の適切なクライアントシステムを備える。いくつかの実施態様では、アドミニストレータシステム１０２は、プロセッサとメモリを備える。
【０００９】
スキャンシステム１０４は、ネットワークシステムをスキャンするためのシステムを備える。いくつかの実施態様では、スキャンシステム１０４は、アドミニストレータシステム１０２からのコマンドに応答してネットワークをスキャンするシステムを備える。いくつかの実施態様では、スキャンシステム１０４は、ネットワークシステムのセット（例えば、ネットワークシステム１０６、ネットワークシステム１０８、ネットワークシステム１１０、ネットワークシステム１１２、ネットワークシステム１１４、ネットワークシステム１１６、ネットワークシステム１１８、およびネットワークシステム１２０）をスキャンするシステムを備える。いくつかの実施態様では、ネットワークシステムをスキャンすることは、ペイロードをネットワークシステムに提供し、応答が受信されたか否かを決定することを備える。いくつかの実施態様では、ネットワークシステムをスキャンすることは、受取られた応答に少なくとも部分的に基づいてフォローアッププローブを使用してネットワークシステムをスキャンすることを備える。いくつかの実施態様では、スキャンシステム１０４は、アクセス可能な全てのポート上のアクセス可能な全てのネットワークシステムにペイロードを提供し、かつより多くの情報がアクセス可能であることを指示する如何なる受信応答に対しても適切なフォローアッププローブでフォローアップするシステムを備える。いくつかの実施態様では、スキャンシステム１０４は、プロセッサとメモリを備える。図１の各ネットワークシステム（例えば、ネットワークシステム１０６）は、インターネット接続システム（例えば、デスクトップコンピュータ、ラップトップコンピュータ、スマートフォン、タブレットコンピュータ、サーバシステム、モノのインターネットデバイス、等）を備える。いくつかの実施態様では、ネットワークシステムは、外部システムを備える。いくつかの実施態様では、外部システムは、クライアントシステムの部分ではないネットワークシステムを備える。様々な実施態様では、図１のシステムは、８、１３、１９７、２２２２、百万、億、または他の適切な数のネットワークシステムを備える。
【００１０】
図２は、ネットワークシステムの一実施態様を示すブロック図である。いくつかの実施態様では、ネットワークシステム２００は、図１のネットワークシステム（例えば、ネットワークシステム１０６）を備える。図示される例では、ネットワークシステム２００は、プロセッサ２０２、データストレージ２０４、およびネットワークインターフェース２０６を備える。いくつかの実施態様では、ネットワークシステム２００は、インターネット接続アセット（例えば、デスクトップコンピュータ、ラップトップコンピュータ、スマートフォン、タブレットコンピュータ、サーバシステム、モノのインターネットデバイス、または他の適切なインターネット接続アセット）を備える。様々な実施態様では、プロセッサ２０２は、命令を実行する、データを処理する、コマンドに応答する、等のためのプロセッサを備える。様々な実施態様では、プロセッサ２０２は、汎用プロセッサ、マイクロコントローラ、並列処理システム、プロセッサのクラスタ、または他の適切なプロセッサを備える。様々な実施態様では、データストレージ２０４は、データを格納するため、プロセッサ２０２のための命令を格納するため、構成情報を格納するため、または他の適切な情報を格納するためのデータストレージを備える。様々な実施態様では、データストレージ２０４は、揮発性メモリ、不揮発性メモリ、磁気メモリ、光学メモリ、相変化メモリ、半導体メモリ、ディスクメモリ、テープメモリ、または他の適切なメモリの１つ以上を備える。ネットワークインターフェース２０６は、ネットワークと通信するためのネットワークインターフェースを備える。図示の例では、ネットワークインターフェース２０６は、ネットワーク通信情報２０８および複数のポート（例えば、ポート２１０）を備える。様々な実施態様では、ネットワーク通信情報は、ネットワーク通信ソフトウェア、ネットワーク通信設定、ネットワーク通信データ、または他の適切なネットワーク通信情報を備える。複数のポートは、物理ポート（例えば、ネットワークシステム２００にケーブルを接続するためのプラグ）または仮想ポート（例えば、仮想ポート番号により識別される仮想通信チャネル）を備える。いくつかの実施態様では、ネットワークインターフェース２０６は、ネットワークアドレス（例えば、外部ネットワークアドレス指定機関によって割り当てられたネットワークアドレス）を備える。いくつかの実施態様では、ネットワークシステム２００との通信は、ポート番号と共にネットワーク２００のネットワークアドレスを指示することにより指定される。いくつかの実施態様では、ネットワークインターフェース２０６のいくつかのポートは通信用に構成され、いくつかは通信に応答しないように構成される。いくつかの実施態様では、いくつかのポートは、１つ以上の特定の通信プロトコール（例えば、ＨＴＴＰ、ＦＴＰ、ＳＳＨ、等）に関連付けられている。いくつかの実施態様では、ネットワークインターフェース２０６は、通信仕様のセットに従って構成されている通信ソフトウェアのセットを実行するネットワークハードウェア（例えば、モデム）のセットを備える。
【００１１】
図３は、スキャンシステムの実施態様を示すブロック図である。いくつかの実施態様では、スキャンシステム３００は、図１のスキャンシステム１０４を備える。いくつかの実施態様では、スキャンシステム３００は、サーバシステムを備える。図示される例では、スキャンシステム３００は、プロセッサ３０２、データストレージ３０４、およびネットワークインターフェース３０６を備える。様々な実施態様では、プロセッサ３０２は、命令を実行する、データを処理する、コマンドに応答する、等のためのプロセッサを備える。様々な実施態様では、プロセッサ３０２は、汎用型プロセッサ、マイクロコントローラ、並列処理システム、プロセッサのクラスタ、または他の適切なプロセッサを備える。いくつかの実施態様では、プロセッサ３０２は、ネットワークスキャナ３０８を備える。様々な実施態様では、ネットワークスキャナ３０８は、階層的スキャンシステム機能を実施するソフトウェアおよび／またはハードウェアを備える。様々な実施態様では、データストレージ３０４は、データを格納するため、プロセッサ３０２のための命令を格納するため、構成情報を格納するため、または他の適切な情報を格納するためのデータストレージを備える。様々な実施態様では、データストレージ３０４は、揮発性メモリ、不揮発性メモリ、磁気メモリ、光学メモリ、相変化メモリ、半導体メモリ、ディスクメモリ、テープメモリ、または他の適切なメモリの１つ以上を備える。図示されている例では、データストレージ３０４は、ネットワークデバイスに提供されるペイロードを格納するためのペイロードデータベース３１０を備える。いくつかの実施態様では、ペイロードは、ネットワークデバイスを探って応答を引き出すために小さなデータパケットを備える。データストレージ３０４は、更に、ネットワークデバイスと対話するためのフォローアッププローブを格納するフォローアッププローブデータベース３１２を備える。いくつかの実施態様では、追跡プローブは、ネットワークデバイスに関する情報を決定するために、ネットワークデバイスと対話するためのソフトウェアを備える。いくつかの実施態様では、フォローアッププローブデータベース３１２は、特定の方法でネットワークデバイスと対話して、ネットワークデバイスに関するデータを取得する（例えば、セキュアＨＴＴＰ（ＨＴＴＰＳ）接続を確立しかつ暗号化されたウェブページをダウンロードする）ように設計されたフォローアッププローブのセットを備える。いくつかの実施態様では、フォローアッププローブが、ネットワークデバイスからのデータを受信することに成功する可能性が高いと決定されると、フォローアッププローブは、ネットワークデバイスと対話するために使用される。データストレージ３０４は、加えて、（例えば、ペイロードまたは追跡プローブを使用して）ネットワークデバイスと対話した結果受信されたネットワーク情報を格納するためのネットワーク情報データベース３１４を備える。いくつかの実施態様では、ネットワーク情報は、リモートで（例えば、ストレージサーバ上、異なる階層スキャンシステム上、クラウドストレージ上、等に）格納される。図示されている例では、ネットワークインターフェース３０６は、ネットワークを介してリモートシステムと対話するためのネットワークインターフェースを備える。様々な実施態様では、ネットワークインターフェース３０６は、ペイロードを提供するため、フォローアッププローブのための通信を実行するため、ネットワーク情報を受信するため、または他の適切な目的のための、ネットワークインターフェースを備える。いくつかの実施態様では、ネットワークインターフェース３０６は、高帯域幅通信用に構成されているネットワークインターフェースを備える。
【００１２】
図４は、トリガースキャンのプロセスの一実施態様を示すフロー図である。いくつかの実施態様では、図４のプロセスは、図１のスキャンシステム１０４によって実行される。図示される例では、４００で、指示が外部システムから受取られる。いくつかの実施態様では、外部システムから受け取られた指示は、手動により決定された指示（例えば、人により決定されかつ開始された指示）を備える。様々な実施態様では、手動により決定された指示は、脆弱性の指示、公開されたニュース記事から決定された指示、インターネットの投稿から決定された指示、または他の適切な指示を備える。様々な実施態様では、手動により決定された指示は、スキャンシステムユーザ、アドミニストレータシステムユーザ、外部システムユーザ、ネットワークシステムユーザ、または他の適切なシステムユーザによって手動により決定された指示を備える。いくつかの実施態様では、外部システムから受け取られた指示は、自動指示（例えば、外部システム情報から自動プロセスによって決定された指示）を備える。様々な実施態様では、自動指示は、ボーダゲートウェイプロトコール（例えば、ＢＧＰ）ルートの変更の指示、ドメインネームサーバ（例えば、ＤＮＳ）の変更の指示、インターネットプロトコール（例えば、ＩＰ）の変更の指示または地域インターネットレジストリ（ＲＩＲ）の変更の指示、企業の合併、併合、または売却の指示、変更されたシステムの指示、変更されたサービスの指示、「ゼロデイ」脆弱性または既存のオペレーティングコードに対する深刻な脅威についての限定的なプライベートリリースまたは開示、または他の適切な自動指示を備える。様々な実施態様では、この指示は、１つ以上のアドレス（例えば、変更が生じたアドレス、問題を引き起こすアドレス、異常な挙動を経験したアドレス、等）、１つ以上のポート（例えば、スキャンを必要とするポート、スキャンを必要とするサービスに関連付けられているポート、等）、１つ以上のスキャンタイプ（スキャンが必要なサービスに関連付けられているスキャンタイプ、等）、または他の適切なスキャン情報を備える。４０２では、この指示に少なくとも部分的に基づいてスキャンクエリが決定される。例えば、ＢＧＰルートの変更がアドバタイズされた場合、高優先度スキャンのために、変更され、アドバタイズされたプレフィックス内のポートの優先リスト全体に渡って全てのＩＰアドレスを、選択することが出来るであろう。ネットワーク機器の製造業者が合併した場合、これらの企業自体に関連付けられている全てのＩＰおよび彼らの製品に関連付けられているＩＰは、再スキャンにより自動的に検出される。「ゼロデイ」脆弱性が限定的なプライベート開示である場合、潜在的にこのゼロデイ脆弱性に脆弱であるシステムに関連付けられている全てのＩＰが、これらのシステムが、実際に、このゼロデイ脆弱性に対し脆弱であるか否かをテストするために、特定なパラメータにより自動的にスキャンされる。様々な実施態様では、スキャンクエリは、この指示に関連付けられているアドレス、この指示に関連付けられているポート、この指示に関連付けられているスキャンタイプ、または他の適切な指示情報に少なくとも部分的に基づいている。いくつかの実施態様では、この指示に少なくとも部分的に基づいてスキャンクエリを決定することは、クエリを拡張する（例えば、追加アドレス、追加ポートをスキャンすることが含まれる様にクエリを拡張する、またはこの指示内に直接指示されているものを超えて追加スキャンタイプを使用する）ことを備える。例えば、新しい企業が、他の２つ以上の企業の合併によって形成される場合、新しい企業に関連付けられているドメインを持つIPは、ポートとプロトコールの所定のリスト全体に渡って自動的にスキャンされる。ゼロデイ脆弱性が公開されている場合、再スキャンされるべきアドレスのセットは、再帰的にトリガされる。例えば、最初にゼロデイに対して潜在的に脆弱であるＩＰのセットがスキャンされ、続いて、このゼロデイに対して脆弱であることが判明したＩＰと公開暗号化キーを共有するＩＰアドレスの拡張クエリによりスキャンされる。４０４では、スキャンクエリが実行される（例えば、１つ以上のシステムが、スキャンクエリによって指示されるようにスキャンされる）。４０６では、クエリ結果が格納される。例えば、スキャンクエリの結果はデー&#8203;&#8203;タベースに格納される。データベースにはクエリ結果が長期間格納されるため、異なる時間のスキャン結果を比較することが出来る。４０８では、ネットワーク状態の表示が提供される。いくつかの実施態様では、ネットワーク状態の表示は、ネットワーク脆弱性の表示を備える。一部の実施態様では、ネットワーク状態の表示は、スキャンデータと履歴データとの比較を備える。
【００１３】
図５は、指示に少なくとも部分的に基づいてスキャンクエリを決定するプロセスの実施態様を示すフロー図である。いくつかの実施態様では、図５のプロセスは図４の４０２を実施する。図示されている例では、５００で、この指示に関連付けられているアドレスが決定される。様々な実施態様では、この指示に関連付けられているアドレスは、修正されたシステムのアドレス、問題のあるシステムのアドレス、攻撃を受けているシステムのアドレス、異常なトラフィックを受信するシステムのアドレス、システム作成のアドレス、異常なトラフィック、マルウェアの兆候に関連付けられているシステムのアドレス、または他の適切なアドレスを備える。５０２では、この指示に関連付けられているポートが決定される。様々な実施態様では、この指示に関連付けられているポートは、修正するよう指示されたポート（例えば、新たに閉じられたポート、新たに開かれたポート、等）、問題のあるサービスに関連付けられているポート、攻撃されていると決定されたポート、異常なトラフィックを受信するポート、異常なトラフィックを作成するポート、または他の適切なポートを備える。５０４では、この指示に関連付けられているスキャンタイプが決定される。様々な実施態様では、スキャンタイプは、指示された変更に関連付けられているスキャンタイプ、指示されたサービスに関連付けられているスキャンタイプ、広範なスキャンタイプ、マルウェアを識別するためのスキャンタイプ、システム範囲を決定するためのスキャンタイプ、または他の適切なスキャンタイプを備える。５０６では、この指示に関連付けられているアドレスに少なくとも部分的に基づいて、このスキャンクエリのアドレスのセットが決定される。いくつかの実施態様では、このスキャンクエリのアドレスのセットは、この指示および他のアドレスに関連付けられているアドレスを備える。様々な実施態様では、このスキャンクエリのアドレスのセットは、この指示に関連付けられているアドレスの近くのアドレスのセット、この指示に関連付けられているアドレスと同じネットワーク上のアドレスのセット、この指示に関連付けられているアドレスと同じように構成されているアドレスのセット、または他の適切なアドレスのセットを備える。５０８で、このスキャンクエリのポートのセットが、この指示に関連付けられているポートに少なくとも部分的に基づいて決定される。いくつかの実施態様では、このスキャンクエリのためのポートのセットは、指示および他のポートに関連付けられているポートを備える。様々な実施態様では、このスキャンクエリのポートのセットは、この指示に関連付けられているポートに関連付けられているポートのセット、この指示に関連付けられているポートに近いポートのセット、この指示に関連付けられているポートのセット、または他の適切なポートのセットを備える。５１０では、このスキャンクエリのスキャンタイプのセットが、この指示に関連付けられているスキャンタイプに少なくとも部分的に基づいて決定される。いくつかの実施態様では、このスキャンクエリのスキャンタイプのセットは、指示および他のスキャンタイプに関連付けられているスキャンタイプを備える。様々な実施態様では、このスキャンクエリのスキャンタイプのセットは、この指示に関連付けられているポートに関連付けられているスキャンタイプのセット、この指示に関連付けられているスキャンタイプに類似したスキャンタイプのセット、この指示に関連付けられているスキャンタイプのセット、または他の適切なスキャンタイプのセットを備える。
【００１４】
図６は、スキャンクエリを実行するプロセスの一実施態様を示すフロー図である。いくつかの実施態様では、図６のプロセスは、図４の４０４を実施する。図示されている例では、６００で、このスキャンクエリのアドレスが選択される。様々な実施態様では、このアドレスは、第１のアドレス、次のアドレス、ランダムに選択されたアドレス、擬似ランダムに選択されたアドレス、または他の適切なアドレスを備える。６０２では、このスキャンクエリのポートが選択される。様々な実施態様では、このポートは、第１のポート、次のポート、ランダムに選択されたポート、擬似ランダムに選択されたポート、または他の適切なポートを備える。６０４では、このスキャンクエリのスキャンタイプが選択される。様々な実施態様では、このスキャンタイプは、第１のスキャンタイプ、次のスキャンタイプ、ランダムに選択されたスキャンタイプ、擬似ランダムに選択されたスキャンタイプ、または他の適切なスキャンタイプを備える。６０６では、このアドレスのポートがこのスキャンタイプを使用してスキャンされる。いくつかの実施態様では、このスキャンタイプは、階層スキャンを備え、かつスキャン応答がフォローアッププローブを使用するスキャンを指示する場合、フォローアッププローブを使用するスキャンを備える。様々な実施態様では、このスキャンタイプは、アドレスのポート、他のポート、他のアドレス、または他の適切なスキャンターゲットに関する適切な任意の数の通信を備える。６０８で、スキャンタイプ（例えば、アドレス上のポートをスキャンするためのスキャンクエリのより多くのスキャンタイプ）が、これ以上あるか否かが決定される。スキャンタイプがさらにあると決定された場合、制御は６０４に移る。スキャンタイプがこれ以上無いと決定された場合、制御は６１０に移る。６１０で、（例えば、スキャンするこのアドレスのスキャンクエリの）ポートが、これ以上あるか否かが決定される。ポートがさらにあると決定された場合、制御は６０２に移る。ポートがこれ以上ないと決定された場合、制御は６１２に移る。６１２では、（例えば、このスキャンクエリの）アドレスがさらにあるか否かが決定される。アドレスがさらにあると決定された場合、制御は６００に渡される。アドレスがこれ以上ないと決定された場合、プロセスは終了する。
【００１５】
図７は、ネットワーク状態の表示を提供するプロセスの実施態様を示すフロー図である。いくつかの実施態様では、図７のプロセスは、図４の４０８を実施する。図示される例では、７００で、適切に構成されているシステムのセットが、履歴データから決定される。いくつかの実施態様では、履歴データは以前のスキャンを備える。いくつかの実施態様では、適切に構成されているシステムは、脆弱性が検出されていないシステムを備える。様々な実施態様では、適切に構成されているシステムのセットは、クライアントネットワークのサブセット、このスキャンクエリのアドレスのサブセット、全て適切に構成されているシステム、または適切に構成されているシステムの他の適切なセットを備える。７０２では、脆弱性のセットが履歴データから決定される。様々な実施態様では、脆弱性は、誤って構成されているシステム、アクセスすべきでないアクセス可能なシステム、新たに発見されたシステムの悪用に対する脆弱性、または他の適切な脆弱性を備える。７０４では、適切に構成されているシステムのセットが、このスキャンクエリから（例えば、最新のスキャンデータから）決定される。７０６では、脆弱性のセットが、このスキャンクエリから決定される。７０８では、ネットワーク状態の比較が提供される。いくつかの実施態様では、このネットワーク状態比較は、指示が受取られる前後のネットワーク状態の比較を備える。
【００１６】
上記の実施態様は、理解を明確にする目的である程度詳細に説明されたが、本発明は、提供された詳細に限定されない。本発明の実施には、多くの代替方法がある。開示された実施態様は、例示的なものであり、限定的なものではない。
【図１】
2020511860.tif 000003
【図２】
2020511860.tif 000004
【図３】
2020511860.tif 000005
【図４】
2020511860.tif 000006
【図５】
2020511860.tif 000007
【図６】
2020511860.tif 000008
【図７】
2020511860.tif 000009
【国際調査報告】
2020511860.tif 000010