(57)【要約】本発明のネットワークの脆弱性を評価するためのシステム（１０）は中央コンソール（１２）及び、中央コンソール（１２）の制御の下で能動的テストを実施するためにネットワーク（２０ａ、２０ｂ、２０ｃ、２０ｄ）上に配置された複数のエージェント（１８ａ、１８ｂ、１８ｃ、１８ｄ）から成る。エージェント（１８ａ、１８ｂ、１８ｃ、１８ｄ）はネットワーク（２０ａ、２０ｂ、２０ｃ、２０ｄ）の攻撃に対する脆弱性を調査し、テスト結果を中央コンソール（１２）に通信する。そして、中央コンソール（１２）はネットワークのセキュリティーに関するレポートを提供する。
2005503053.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークの脆弱性を評価するためのシステムであって：
中央コンソール；及び、
前記中央コンソールの制御の下で能動的なテストを実施するために前記ネットワークに配置されたエージェントであって、前記テストの結果を前記中央コンソールに通信するエージェント、
を備えるシステム。
【請求項２】
前記エージェントが前記ネットワークの攻撃に対する脆弱性を調査するためのテストを実施するためのモジュールを含む、請求項１に記載のシステム。
【請求項３】
前記ネットワークが該ネットワークに接続された複数のコンピューターを含み、前記エージェントが前記ネットワークの前記脆弱性を評価するために前記コンピューターに関する情報を収集するモジュールを含む、請求項２に記載のシステム。
【請求項４】
前記エージェントが前記ネットワークの前記脆弱性を評価するために前記コンピューター上でテストケースを実行するためのモジュールを含む、請求項３に記載のシステム。
【請求項５】
前記ネットワーク上に配置された複数の前記エージェントをさらに含む、請求項４に記載のシステム。
【請求項６】
前記テストの前記結果を格納するためのリポジトリをさらに含む、請求項５に記載のシステム。
【請求項７】
前記格納された結果への応答で前記ネットワークのセキュリティーに関するレポートを提供するためのモジュールをさらに含む、請求項６に記載のシステム。
【請求項８】
前記ネットワークが複数のサブネットワーク、及び前記サブネットワークの少なくとも１つに対するファイアウォールを含み、前記中央コンソールが前記ファイアウォールの外側に配置されており、ハッカーによる前記サブネットワーク上の攻撃をシミュレートするテストを実施するためのモジュールを含む、請求項７に記載のシステム。
【請求項９】
前記中央コンソールが該中央コンソールの動作を指示するためのコンソールメインモジュールを含む、請求項７に記載のシステム。
【請求項１０】
前記中央コンソールが該中央コンソールによる前記ネットワークへのアクセスに関与する全てのタスクを管理するための通信マネジャーを含む、請求項７に記載のシステム。
【請求項１１】
前記エージェントが該エージェントによる前記ネットワークへのアクセスに関与する全てのタスクを管理するための通信マネジャーを含む、請求項１０に記載のシステム。
【請求項１２】
前記コンソールが前記エージェントとの通信を受信し、同期化するためのエージェントマネジャーを含む、請求項１１に記載のシステム。
【請求項１３】
前記中央コンソールが複数のコンフィギュレーションを有し、前記中央コンソールが前記エージェントと前記コンソールコンフィギュレーションを同期化させるためのコンフィギュレーションマネジャーを含む、請求項１２に記載のシステム。
【請求項１４】
前記ネットワークが複数のサブネットワークを含み、前記中央コンソールが前記サブネットワークの１つに配置されており、前記サブネットワーク上でローカルにテストを実施するためのテストエンジンを含む、請求項１３に記載のシステム。
【請求項１５】
前記中央コンソールが前記ネットワーク上にリモートに配置された前記エージェントを介してネットワークテストを実施するためのバーチャルエンジンを含む、請求項１４に記載のシステム。
【請求項１６】
前記中央コンソールが前記中央コンソールからテスト要求を受信し、前記テスト要求への応答で前記ネットワーク上で前記テストを実行するために前記テストエンジンを初期化し、前記テストエンジンの結果を調整し、さらに、前記結果を前記コンフィギュレーションマネジャーに転送するためのテストマネジャーを含む、請求項１５に記載のシステム。
【請求項１７】
前記エージェントが前記中央コンソールとの通信を受信し、同期化するためのエージェントメインモジュールを含む、請求項１６に記載のシステム。
【請求項１８】
前記エージェントメインモジュールが前記エージェントと前記コンソールコンフィギュレーションとを同期化させるためのコンフィギュレーションマネジャーを含む、請求項１７に記載のシステム。
【請求項１９】
前記エージェントが前記ネットワーク上でテストを実施するためのエンジンを含む、請求項１８に記載のシステム。
【請求項２０】
前記エージェントが前記テストの結果を暗号化するための暗号化モジュールを含む、請求項１９に記載のシステム。
【請求項２１】
ネットワークのセキュリティーを評価するための方法であって：
前記ネットワークにエージェントを配置すること；及び、
前記ネットワークの脆弱性を評価するための、前記ネットワークのテストを実行するために、中央コンソールから前記エージェントを指示すること、
から成る方法。
【請求項２２】
前記エージェントを指示するための前記ステップが、前記ネットワークの攻撃に対する前記脆弱性を調査するための能動的テストを実施するために前記エージェントを指示することのステップを含む、請求項２１に記載の方法。
【請求項２３】
前記エージェントを指示するための前記ステップが、前記ネットワークの前記脆弱性を調査するために、前記ネットワークに接続されたコンピューターに関する情報を収集するように前記エージェントを指示することのステップを含む、請求項２２に記載の方法。
【請求項２４】
前記エージェントを指示するための前記ステップが、前記ネットワークの前記脆弱性を調査するために、前記コンピューター上でテストケースを実行するように前記エージェントを指示することのステップを含む、請求項２３に記載の方法。
【請求項２５】
前記エージェントを配置する前記ステップが、前記ネットワークに複数の前記エージェントを配置することのステップを含む、請求項２４に記載の方法。
【請求項２６】
前記エージェントによる前記テストの結果を前記中央コンソールに通信するステップをさらに含む、請求項２５に記載の方法。
【請求項２７】
前記中央コンソールで前記テスト結果を編集するステップをさらに含む、請求項２６に記載の方法。
【請求項２８】
前記編集するステップへの応答で、前記ネットワークの前記セキュリティーに関するレポートを提供するステップをさらに含む、請求項２７に記載の方法。
【請求項２９】
前記中央コンソールと前記ネットワークの少なくとも１つのサブネットワークとの間にファイアウォールを配置すること、及び、前記中央コンソールからハッカーによる前記サブネットワーク上の攻撃をシミュレートするテストを実施するステップをさらに含む、請求項２８に記載の方法。
【請求項３０】
前記結果を前記中央コンソールに通信するステップの前に、前記エージェントによって実行された前記テスト結果を暗号化するステップをさらに含む、請求項２８に記載の方法。
【請求項３１】
ネットワークセキュリティーシステムであって：
中央コンソール；
前記中央コンソールの制御の下で能動的なテストを実施するために前記ネットワークに配置されたエージェントであって、前記テストの結果を前記中央コンソールに通信するエージェント；及び、
前記テスト結果への応答で前記ネットワークのセキュリティーに関するレポートを提供するためのレポート手段、
を備えるシステム。
【請求項３２】
前記エージェントが前記ネットワークの攻撃に対する脆弱性を調査するためのテストを実施するためのモジュールを含む、請求項３１に記載のネットワークセキュリティーシステム。
【請求項３３】
前記ネットワークが該ネットワークに接続された複数のコンピューターを含み、前記エージェントが前記ネットワークの前記脆弱性を評価するために前記コンピューターに関する情報を収集するモジュールを含む、請求項３２に記載のネットワークセキュリティーシステム。
【請求項３４】
前記エージェントが前記ネットワークの前記脆弱性を評価するために前記コンピューター上でテストケースを実行するためのモジュールを含む、請求項３３に記載のネットワークセキュリティーシステム。
【請求項３５】
前記ネットワーク上に配置された複数の前記エージェントをさらに含む、請求項３４に記載のネットワークセキュリティーシステム。
【請求項３６】
前記テストの前記結果を格納するためのリポジトリをさらに含み、前記レポート手段が前記格納された結果からレポートを作成するために前記リポジトリに接続されているレポート生成器を含む、請求項３５に記載のシステム。
【請求項３７】
前記レポート生成器が前記ネットワークの前記セキュリティーに関する書面のレポートを提供するための手段を含む、請求項３６に記載のシステム。
【請求項３８】
前記ネットワークが複数のサブネットワーク、及び前記サブネットワークの少なくとも１つに対するファイアウォールを含み、前記中央コンソールが前記ファイアウォールの外側に配置されており、ハッカーによる前記サブネットワーク上の攻撃をシミュレートするテストを実施するためのモジュールを含む、請求項３７に記載のシステム。
【請求項３９】
前記中央コンソールが該中央コンソールの動作を指示するためのコンソールメインモジュールを含む、請求項３７に記載のシステム。
【請求項４０】
前記中央コンソールが該中央コンソールによる前記ネットワークへのアクセスに関与する全てのタスクを管理するための通信マネジャーを含む、請求項３７に記載のシステム。
【請求項４１】
前記エージェントが該エージェントによる前記ネットワークへのアクセスに関与する全てのタスクを管理するための通信マネジャーを含む、請求項４０に記載のシステム。
【請求項４２】
前記コンソールが前記エージェントとの通信を受信し、同期化するためのエージェントマネジャーを含む、請求項４１に記載のシステム。
【請求項４３】
前記中央コンソールが複数のコンフィギュレーションを有し、前記中央コンソールが前記エージェントと前記コンソールコンフィギュレーションを同期化させるためのコンフィギュレーションマネジャーを含む、請求項４２に記載のシステム。
【請求項４４】
前記ネットワークが複数のサブネットワークを含み、前記中央コンソールが前記サブネットワークの１つに配置されており、前記サブネットワーク上でローカルにテストを実施するためのテストエンジンを含む、請求項４３に記載のシステム。
【請求項４５】
前記中央コンソールが前記ネットワーク上にリモートに配置された前記エージェントを介してネットワークテストを実施するためのバーチャルエンジンを含む、請求項４４に記載のシステム。
【請求項４６】
前記中央コンソールが前記中央コンソールからテスト要求を受信し、前記テスト要求への応答で前記ネットワーク上で前記テストを実行するために前記テストエンジンを初期化し、前記テストエンジンの結果を調整し、さらに、前記結果を前記コンフィギュレーションマネジャーに転送するためのテストマネジャーを含む、請求項４５に記載のシステム。
【請求項４７】
前記エージェントが前記中央コンソールとの通信を受信し、同期化するためのエージェントメインモジュールを含む、請求項４６に記載のシステム。
【請求項４８】
前記エージェントメインモジュールが前記エージェントと前記コンソールコンフィギュレーションとを同期化させるためのコンフィギュレーションマネジャーを含む、請求項４７に記載のシステム。
【請求項４９】
前記エージェントが前記ネットワーク上でテストを実施するためのエンジンを含む、請求項４８に記載のシステム。
【請求項５０】
前記エージェントが前記テストの結果を暗号化するための暗号化モジュールを含む、請求項４９に記載のシステム。
【請求項５１】
ネットワークセキュリティー評価方法であって：
前記ネットワークにエージェントを配置すること；
前記ネットワークの脆弱性を評価するための、前記ネットワークの能動的テストを実行するために、中央コンソールから前記エージェントを指示すること；及び、
前記テストの結果を編集すること、
から成る方法。
【請求項５２】
前記エージェントを指示するための前記ステップが、前記ネットワークの攻撃に対する前記脆弱性を調査するための能動的テストを実施するために前記エージェントを指示することのステップを含む、請求項５１に記載の方法。
【請求項５３】
前記エージェントを指示するための前記ステップが、前記ネットワークの前記脆弱性を調査するために、前記ネットワークに接続されたコンピューターに関する情報を収集するように前記エージェントを指示することのステップを含む、請求項５２に記載の方法。
【請求項５４】
前記エージェントを指示するための前記ステップが、前記ネットワークの前記脆弱性を調査するために、前記コンピューター上でテストケースを実行するように前記エージェントを指示することのステップを含む、請求項５３に記載の方法。
【請求項５５】
前記エージェントを配置する前記ステップが、前記ネットワークに複数の前記エージェントを配置することのステップを含む、請求項５４に記載の方法。
【請求項５６】
前記エージェントによる前記テストの結果を前記中央コンソールに通信するステップをさらに含む、請求項５５に記載の方法。
【請求項５７】
前記中央コンソールで前記テスト結果を編集するステップをさらに含む、請求項５６に記載の方法。
【請求項５８】
前記編集するステップへの応答で、前記ネットワークの前記セキュリティーに関するレポートを提供するステップをさらに含む、請求項５７に記載の方法。
【請求項５９】
前記中央コンソールと前記ネットワークの少なくとも１つのサブネットワークとの間にファイアウォールを配置すること、及び、前記中央コンソールからハッカーによる前記サブネットワーク上の攻撃をシミュレートするテストを実施するステップをさらに含む、請求項５８に記載の方法。
【請求項６０】
前記結果を前記中央コンソールに通信するステップの前に、前記エージェントによって実行された前記テスト結果を暗号化するステップをさらに含む、請求項５９に記載の方法。
【請求項６１】
アプリケーションプログラムがコンピューターのネットワークの脆弱性の評価を提供するためにコンピューター上で実行されるように、コンピューターがリード可能なプログラムコード手段を記録したコンピューターが使用可能な媒体であって、前記コンピューターリード可能なプログラムコード手段が：
前記ネットワークの能動的テストを実施するために、前記ネットワーク上の少なくとも１つのコンピューターで実行される第１コンピューターリード可能プログラムコード手段；及び、
前記第１コンピューターリード可能プログラムコード手段が前記テストを実施するようにインストラクションを送信するため、及び、前記第１コンピューターリード可能プログラムコード手段によって実行された前記テストの結果を受信するための第２コンピューターリード可能プログラムコード手段、
から成る、コンピュータープログラム製品。
【請求項６２】
前記第１コンピューターリード可能プログラムコード手段が前記ネットワークの攻撃に対する脆弱性を調査するためのテストを実施するためのコンピューターリード可能プログラムコード手段を含む、請求項６１に記載のコンピュータープログラム製品。
【請求項６３】
前記ネットワークが該ネットワークに接続された複数のコンピューターを含み、前記第１コンピューターリード可能プログラムコード手段が前記ネットワークの前記脆弱性を評価するために前記コンピューターに関する情報を収集するためのコンピューターリード可能プログラムコード手段を含む、請求項６２に記載のコンピュータープログラム製品。
【請求項６４】
前記第１コンピューターリード可能プログラムコード手段が前記ネットワークの前記脆弱性を評価するために前記コンピューター上でテストケースを実行するためのコンピューターリード可能プログラムコード手段を含む、請求項６３に記載のコンピュータープログラム製品。
【請求項６５】
前記ネットワーク上の複数のコンピューターに配置された複数の前記第１コンピューターリード可能プログラムコード手段をさらに含む、請求項６４に記載のコンピュータープログラム製品。
【請求項６６】
前記テストの前記結果を格納するためのリポジトリをさらに含む、請求項６５に記載のコンピュータープログラム製品。
【請求項６７】
前記格納された結果への応答で前記ネットワークのセキュリティーに関するレポートを提供するためのコンピューターリード可能プログラムコード手段をさらに含む、請求項６６に記載のコンピュータープログラム製品。
【請求項６８】
前記ネットワークが複数のサブネットワーク、及び前記サブネットワークの少なくとも１つに対するファイアウォールを含み、前記第２コンピューターリード可能プログラムコード手段が前記ファイアウォールの外側に配置されており、ハッカーによる前記サブネットワーク上の攻撃をシミュレートするテストを実施するためのコンピューターリード可能プログラムコード手段を含む、請求項６７に記載のコンピュータープログラム製品。
【請求項６９】
前記第２コンピューターリード可能プログラムコード手段が該第２コンピューターリード可能プログラムコード手段の動作を指示するためのコンピューターリード可能メインプログラムコード手段を含む、請求項６７に記載のコンピュータープログラム製品。
【請求項７０】
前記第２コンピューターリード可能プログラムコード手段が該第２コンピューターリード可能プログラムコード手段による前記ネットワークへのアクセスに関与する全てのタスクを管理するためのコンピューターリード可能通信マネジャープログラムコード手段を含む、請求項６７に記載のコンピュータープログラム製品。
【請求項７１】
前記第１コンピューターリード可能プログラムコード手段が該第１コンピューターリード可能プログラムコード手段による前記ネットワークへのアクセスに関与する全てのタスクを管理するためのコンピューターリード可能通信マネジャープログラムコード手段を含む、請求項７０に記載のコンピュータープログラム製品。
【請求項７２】
前記第２コンピューターリード可能プログラムコード手段が前記第１コンピューターリード可能プログラムコード手段との通信を受信し、同期化するためのコンピューターリード可能エージェントマネジャープログラムコード手段を含む、請求項７１に記載のコンピュータープログラム製品。
【請求項７３】
前記第２コンピューターリード可能プログラムコード手段が複数のコンフィギュレーションを有し、前記第２コンピューターリード可能プログラムコード手段が前記第１コンピューターリード可能プログラムコード手段と前記第２コンピューターリード可能プログラムコードコンフィギュレーション手段を同期化させるためのコンピューターリード可能コンフィギュレーションマネジャープログラムコード手段を含む、請求項７２に記載のコンピュータープログラム製品。
【請求項７４】
前記ネットワークが複数のサブネットワークを含み、前記第２コンピューターリード可能プログラムコード手段が前記サブネットワークの１つに配置されており、前記サブネットワーク上でローカルにテストを実施するためのコンピューターリード可能テストエンジンプログラムコード手段を含む、請求項７３に記載のコンピュータープログラム製品。
【請求項７５】
前記第２コンピューターリード可能プログラムコード手段が前記ネットワーク上にリモートに配置された前記第１コンピューターリード可能プログラムコード手段を介してネットワークテストを実施するためのコンピューターリード可能バーチャルエンジンプログラムコード手段を含む、請求項７４に記載のコンピュータープログラム製品。
【請求項７６】
前記第２コンピューターリード可能プログラムコード手段が前記コンピューターリード可能メインプログラムコード手段からテスト要求を受信し、前記テスト要求への応答で前記ネットワーク上で前記テストを実行するために前記コンピューターリード可能テストエンジンプログラムコード手段を初期化し、前記コンピューターリード可能テストエンジンプログラムコード手段の結果を調整し、さらに、前記結果を前記第２コンピューターリード可能プログラムコード手段に転送するためのコンピューターリード可能テストマネジャープログラムコード手段を含む、請求項７５に記載のコンピュータープログラム製品。
【請求項７７】
前記第１コンピューターリード可能プログラムコード手段が前記第２コンピューターリード可能プログラムコード手段との通信を受信し、同期化するためのコンピューターリード可能エージェントメインプログラムコード手段を含む、請求項７６に記載のコンピュータープログラム製品。
【請求項７８】
前記コンピューターリード可能エージェントメインプログラムコード手段が前記第１コンピューターリード可能プログラムコード手段と前記第２コンピューターリード可能プログラムコードコンフィギュレーション手段とを同期化させるためのコンピューターリード可能コンフィギュレーションマネジャープログラムコード手段を含む、請求項７７に記載のコンピュータープログラム製品。
【請求項７９】
前記第１コンピューターリード可能プログラムコード手段が前記ネットワーク上でテストを実施するためのコンピューターリード可能エンジンプログラムコード手段を含む、請求項７８に記載のコンピュータープログラム製品。
【請求項８０】
前記第１コンピューターリード可能プログラムコード手段が前記テストの結果を暗号化するためのコンピューターリード可能暗号化プログラムコード手段を含む、請求項７９に記載のコンピュータープログラム製品。
【請求項８１】
プロセッサーによって実行されたときにプロセッサーのネットワークの脆弱性を評価する一連のインストラクションを表す搬送波に取り込まれたコンピューターデータ信号であって：
前記ネットワークの能動的テストを実施するために、前記ネットワーク上の少なくとも１つのプロセッサーで実行される第１プログラムコードセグメント；及び、
前記第１プログラムコードセグメントが前記テストを実施するようにインストラクションを送信するため、及び、前記第１プログラムコードセグメントによって実行された前記テストの結果を受信するための第２プログラムコードセグメント、
から成る、コンピューターデータ信号。
【請求項８２】
前記第１プログラムコードセグメントが前記ネットワークの攻撃に対する脆弱性を調査するためのテストを実施するためのプログラムコードセグメントを含む、請求項８１に記載のコンピューターデータ信号。
【請求項８３】
前記第１プログラムコードセグメントが前記ネットワークの前記脆弱性を評価するために前記プロセッサーに関する情報を収集するためのプログラムコードセグメントを含む、請求項８２に記載のコンピューターデータ信号。
【請求項８４】
前記第１プログラムコードセグメントが前記ネットワークの前記脆弱性を評価するために前記プロセッサー上でテストケースを実行するためのプログラムコードセグメントを含む、請求項８３に記載のコンピューターデータ信号。
【請求項８５】
前記ネットワーク上の複数の前記プロセッサーに配置された複数の前記第１プログラムコードセグメントをさらに含む、請求項８４に記載のコンピューターデータ信号。
【請求項８６】
前記テストの前記結果を編集するためのプログラムコードセグメントをさらに含む、請求項８５に記載のコンピューターデータ信号。
【請求項８７】
前記編集された結果への応答で前記ネットワークのセキュリティーに関するレポートを提供するためのプログラムコードセグメントをさらに含む、請求項８６に記載のコンピューターデータ信号。
【請求項８８】
前記ネットワークが複数のサブネットワーク、及び前記サブネットワークの少なくとも１つに対するファイアウォールを含み、前記第２プログラムコードセグメントが前記ファイアウォールの外側に配置されており、ハッカーによる前記サブネットワーク上の攻撃をシミュレートするテストを実施するためのプログラムコードセグメントを含む、請求項８７に記載のコンピューターデータ信号。
【請求項８９】
前記第２プログラムコードセグメントが該第２プログラムコードセグメントの動作を指示するためのメインプログラムコードセグメントを含む、請求項８７に記載のコンピューターデータ信号。
【請求項９０】
前記第２プログラムコードセグメントが該第２プログラムコードセグメントによる前記ネットワークへのアクセスに関与する全てのタスクを管理するための通信マネジャープログラムコードセグメントを含む、請求項８７に記載のコンピューターデータ信号。
【請求項９１】
前記第１プログラムコードセグメントが該第１プログラムコードセグメントによる前記ネットワークへのアクセスに関与する全てのタスクを管理するための通信マネジャープログラムコードセグメントを含む、請求項９０に記載のコンピューターデータ信号。
【請求項９２】
前記第２プログラムコードセグメントが前記第１プログラムコードセグメントとの通信を受信し、同期化するためのエージェントマネジャープログラムコードセグメントを含む、請求項９１に記載のコンピューターデータ信号。
【請求項９３】
前記第２プログラムコードセグメントが複数のコンフィギュレーションセグメントを有し、前記第２プログラムコードセグメントが前記第１プログラムコードセグメントと前記第２プログラムコードコンフィギュレーションセグメントを同期化させるためのコンフィギュレーションマネジャープログラムコードセグメントを含む、請求項９２に記載のコンピューターデータ信号。
【請求項９４】
前記ネットワークが複数のサブネットワークを含み、前記第２プログラムコードセグメントが前記サブネットワークの１つに配置されており、前記サブネットワーク上でローカルにテストを実施するためのテストエンジンプログラムコードセグメントを含む、請求項９３に記載のコンピューターデータ信号。
【請求項９５】
前記第２プログラムコードセグメントが前記ネットワーク上にリモートに配置された前記第１プログラムコードセグメントを介してネットワークテストを実施するためのバーチャルエンジンプログラムコードセグメントを含む、請求項９４に記載のコンピューターデータ信号。
【請求項９６】
前記第２プログラムコードセグメントが前記メインプログラムコードセグメントからテスト要求を受信し、前記テスト要求への応答で前記ネットワーク上で前記テストを実行するために前記テストエンジンプログラムコードセグメントを初期化し、前記テストエンジンプログラムコードセグメントの結果を調整し、さらに、前記結果を前記第２プログラムコードセグメントに転送するためのテストマネジャープログラムコードセグメントを含む、請求項９５に記載のコンピューターデータ信号。
【請求項９７】
前記第１プログラムコードセグメントが前記第２プログラムコードセグメントとの通信を受信し、同期化するためのエージェントメインプログラムコードセグメントを含む、請求項９６に記載のコンピューターデータ信号。
【請求項９８】
前記エージェントメインプログラムコードセグメントが前記第１プログラムコードセグメントと前記第２プログラムコードコンフィギュレーションセグメントとを同期化させるためのコンフィギュレーションマネジャープログラムコードセグメントを含む、請求項９７に記載のコンピューターデータ信号。
【請求項９９】
前記第１プログラムコードセグメントが前記ネットワーク上でテストを実施するためのエンジンプログラムコードセグメントを含む、請求項９８に記載のコンピューターデータ信号。
【請求項１００】
前記第１プログラムコードセグメントが前記テストの結果を暗号化するための暗号化プログラムコードセグメントを含む、請求項９９に記載のコンピューターデータ信号。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は２００１年９月１３日に出願された米国特許出願No.60/322,019の優先権を主張する。
【０００２】
本発明はネットワークセキュリティーシステム、特に、コンピューターネットワークのセキュリティー（または、機密保護）の能動的な（または、積極的な）評価のための方法及びシステムに関する。
【背景技術】
【０００３】
近年、安全なネットワーク、特に、インターネットに接続したネットワークに対する安全なネットワークに対する要求が高まっている。業務や売買を実施するためのインターネットの使用の急激な成長はインターネットセキュリティー市場の成長の主要な原動力となっている。企業のデータ、企業のＩＴ基盤、及び電子売買処理を保護するための必要性は、企業が企業にとって最も重要な財産の１つである情報の保護に対して、より多くの資金の投資を促している。
【０００４】
また、安全なネットワークに対する市場はコンピューターネットワークに限定されるものではない。増大するインターネットと企業内部のＩＴネットワークの統合もまた、このようなセキュリティーネットワークの市場の成長を促進している。このような市場は企業の全体的なＩＴ基盤の安全性に対する評価を包含し、企業資源計画（ＥＲＰ（enterprise resource planning））システム、リモートアクセスシステム、及びイントラネットシステム等を含む。さらに、このような市場はＶｏＩＰ（すなわち、音声をＩＰ(internet protocol)に載せる技術）、ワイヤレスデータ、ブロードバンド等の新興の技術の安全性に対する評価も含むと考えられている。上述したシステムの全ては悪意を持った侵入者（または、侵入物）による攻撃を受けやすく、したがって、これらのシステムの企業に対する重要性が増すにつれて、安全性に対する要求も増してきている。
【０００５】
また、安全なネットワークに対する必要性は、コンピューターウイルス等によって生じた損失に対する報道等によってさらに急激に高まっており、セキュリティーに対するより大きな要求を促している。
【０００６】
ネットワークやシステムのセキュリティーの防止（prevention）、検出（detection）、及び管理（managing）は新興するセキュリティー管理市場の３つの層を構成していると考えられている。そして、セキュリティーの専門家はネットワーク及びシステムを攻撃から守るために、防止、特に、セキュリティーテスト（または、機密保全テスト）が最も安価な手段であると考えている。
【０００７】
セキュリティーテスト技術は単純なハッカー用ツールから始まり、ここ数年急速に開発が進み、最近では、非常に複雑な自動式スキャニングツールを含む。このようなツールはツールを効果的に使用するために、訓練された専門的なオペレーターを必要とし、安全なネットワークの要求の高まりと共に、適任な人員の不足を招いている。安全なネットワークの要求及び適任な人員の不足は、普及しているほとんどのネットワークセキュリティーツールが受動式である（すなわち、侵入が検出されたときのみ応答する）という結果を招いている。すなわち、このような受動式の解決法が人気である理由の１つは、それらがインストールやオペレーション（または、操作）のために専門的なオペレーターを実質的に必要としないということである。
【０００８】
しかしながら、受動式システム（passive system）は事前に識別されている侵入者にしか応答しないという欠点を有する。すなわち、受動式システムは攻撃を検出したり、ブロックしたりするために、攻撃の特徴や種類を示す攻撃特徴（attack signature）または、侵入検知パターンを必要とする。これらの侵入検知パターンの多くは攻撃者（または、攻撃物）の証拠となるエクスプロイトコード（exploit code）やソースアドレス（source address）等である。しかしながら、侵入検知パターンを取得するための唯一の方法は、最初にネットワークが攻撃を受けることである。そして、攻撃の侵入検知パターンが識別された後、その攻撃を防ぐためにソフトウェアが再構築される。しかしながら、攻撃はそれに対する対処法が確立される前に深刻な損傷を与える可能性がある。
【０００９】
このような受動式システムの欠点に対する１つの解決法は能動式システム（active system）である。能動式システムは侵入が発生する前にネットワークの脆弱性（すなわち、攻撃の受けやすさ）を調べる。能動式システムはテストケース（test case）を実行することによって、このような調査を実施する。テストケースは既知の脆弱性に対する調査を行うものと、可能性のある攻撃をシミュレートするものとがある。既知の能動式システムはネットワーク全体の脆弱性の評価を実施するために、中央の点（central point）からテストケースを実行する。
【００１０】
しかしながら、ネットワークの脆弱性を決定するために中央の点からテストケースを実行することにより１つの問題が持ち上がる。テストの実行は不足しがちな帯域幅を消費し、ネットワークのボトルネック（または、渋滞部分）を作り出す可能性を高める。これは、数千のマシンから数千のテストケースが実行されるような場合に特に深刻な問題となる。このボトルネックの問題を解決するための１つの解決策はテストの回数を減少させることである。しかしながら、当然、これは望ましい解決法とは言えず、ネットワークの攻撃に対する脆弱性を増大させる。ボトルネックに対する第２の解決策はネットワーク全体に複数のスキャナーをインストールすることである。
【００１１】
しかしながら、ネットワーク全体のうちのサブネットワークのみをスキャンする複数のスキャナーもまた問題を呈する。複数のスキャナーがネットワークにインストールされた場合、各スキャナーはそれがテストしたサブネットワークのセキュリティーに対する独自のレポートを作成する。ネットワーク全体のセキュリティー状態の全体像を得るために、各サブネットワークに対して実行された各レポートは中央の点にて、熟練のセキュリティー専門家によって整理統合されなければならない。これは、特に、大量のレポートが存在する場合に非常に困難であり、時間がかかる。この問題は多くの企業のＩＴ部署がそうであるように、これらの作業を実施する能力のあるセキュリティー専門家の数が不十分であるときにより深刻となる。
【００１２】
また、サブネットワークにファイアウォールがインストールされている場合、中央の点からのテストケースの実行はさらなる問題を呈する。もちろん、ファイアウォールは外部の侵入者（または、侵入物）からネットワークを保護するために必要なものである。しかしながら、ファイアウォールは中央のテストステーションとサブネットワークとの間の双方向通信を禁止するので、それらは大きなネットワーク（または、ネットワーク全体）の集中的な（または、統括的な）テストに対する妨げとなる。悪意のある侵入者（または、侵入物）を締め出すためのファイアウォールは同時に、セキュリティーのためのテストの実行を防止（または、制限）するために働く。
【発明の開示】
【発明が解決しようとする課題】
【００１３】
したがって、本発明の目的はスキャニングの回数を増やしてもボトルネック（または、渋滞部分）の問題を起こさない、能動式のネットワークセキュリティーシステムを提供することである。また、本発明のもう１つの目的はファイアウォールを備えたネットワークの攻撃に対する脆弱性、及び、ファイアウォール自体の保全性を効果的にテストすることが可能なネットワークセキュリティーシステムを提供することである。さらに、本発明のもう１つの目的はオペレーターによる複雑な介入や操作を必要とせずに、ネットワークシステム全体に対する単一のレポートの作成する、ネットワークセキュリティーシステムを提供することである。
【課題を解決するための手段】
【００１４】
本発明に従うと、ネットワークセキュリティーシステムはネットワーク全体に分散（または、分配）され、テストを実施するエージェント（agent）、及び、エージェントの動作及び設定（または、構成）を制御する中央コンソール（central console）とから構成される。中央コンソールはテストエンジン（test engine）の通信及び設定（または、構成）の管理、ローカルエンジン及びリモートエンジンの間でのタスク（または、作業）の分散、及び、スキャンプロセスの進行に対するオペレーターへのリアルタイムでの、インタラクティブなフィードバックの提供を実施する。
【００１５】
本発明に従うと、ネットワークの脆弱性を評価するためのシステムは中央コンソール及び、中央コンソールの制御の下で能動的なテストを実施するためにネットワーク上に配置されたエージェントを備える。エージェントはテストの結果を中央コンソールに通信する。
【００１６】
本発明に従うと、ネットワークのセキュリティーを評価するための方法はネットワーク上にエージェントを配置すること、及び、ネットワーク上でエージェントがテストを実行することによってネットワークの攻撃に対する脆弱性を評価するために、中央コンソールからエージェントを指示（または、制御）することのステップから成る。
【００１７】
本発明に従うと、ネットワークセキュリティーシステムは中央コンソール、及び、中央コンソールの制御の下で能動的なテストを実施するためにネットワークに配置されたエージェントを備える。エージェントはテストの結果を中央コンソールに通信する。レポートモジュールはテストの結果への応答でネットワークのセキュリティーに対するレポートを提供する。
【００１８】
本発明に従うと、ネットワークセキュリティー評価方法はネットワーク上にエージェントを配置すること、ネットワーク上でテストを実行することによってネットワークの攻撃に対する脆弱性を評価するために、中央コンソールからエージェントを指示すること、及び、テストの結果を編集することのステップから成る。
【００１９】
本発明に従うと、コンピュータープログラム製品は、アプリケーションプログラムがコンピューターネットワークの脆弱性の評価を提供するためにコンピューター上で実行されるように、それ自体にコンピューターがリード可能なプログラムコードを記録した、コンピューターが使用可能な媒体を含む。コンピューターがリード可能なプログラムコードはネットワーク上で能動的テストを実施するために、ネットワーク上の少なくとも１つのコンピューターで実行される第１コンピューターリード可能プログラムコード、並びに、第１コンピューターリード可能プログラムコードがテストを実行するための指示を送信するため及び、第１コンピューターリード可能プログラムコードによって実行されたテストの結果を受信するための第２コンピューターリード可能プログラムコードを含む。
【００２０】
本発明に従うと、コンピューターデータ信号は、プロセッサーによって実行されたときにプロセッサーのネットワークの脆弱性を評価する一連のインストラクション（または、命令）を表す搬送波信号に取り込まれる。コンピューターデータ信号はネットワーク上で能動的テストを実施するために、ネットワーク上の少なくとも１つのプロセッサーで実行される第１プログラムコードセグメント、並びに、第１プログラムコードセグメントがテストを実行するための指示を送信するため及び、第１プログラムコードセグメントによって実行されたテストの結果を受信するための第２プログラムコードセグメントを含む。
【発明を実施するための最良の形態】
【００２１】
図面、特に、図１を参照すると、本発明の分散ネットワークスキャニングアーキテクチャーシステム１０は中央コンソール１２、コンソールに接続されたリポジトリ（または、データベース）１４及び、リポジトリに接続されたレポート生成器１６を備える。コンソール１２は全体としてネットワークシステム２１を構成する複数のサブネットワークまたはネットワーク２０ａ、２０ｂ、２０ｃ、２０ｄに配置された、複数のエージェント１８ａ、１８ｂ、１８ｃ、１８ｄに接続されている。コンソール１２は図１において、矢印を備えた斜線２２ａ、２２ｂ、２２ｃ、２２ｄによって示されている通信線を介して、（それぞれ、ネットワーク１、ネットワーク２、ネットワーク３、ネットワーク４で示されている）ネットワーク２０ａ、２０ｂ、２０ｃ、２０ｄ上のエージェント１８ａ、１８ｂ、１８ｃ、１８ｄと通信する。当業者には明白であるだろうが、ライン２２ａ、２２ｂ、２２ｃ、２２ｄに沿って通信するために多様なプロトコルを使用することができるだろう。
【００２２】
また、各ネットワーク２０ａ、２０ｂ、２０ｃ、２０ｄは特定の用途に応じて異なった構成にされてもよい。例えば、ネットワーク２０ｂにおいて、コンソール１２とネットワーク２０ｂに接続されたコンピューターとの間にファイアウォール２４が配置されてもよい。また、ネットワーク２０ｃにおいて、コンソール１２とネットワーク２０ｃとの間にファイアウォール２６が配置されてもよい。コンソール１２は雲形２８によって図示されているインターネット接続を介してネットワーク２０ｄと通信してもよい。ネットワーク２０ｄはまた、インターネット２８とネットワーク２０ｄとの間に配置されたファイアウォール３０を含む。以下に詳細に説明されるが、コンソール１２はネットワーク２０ａ、２０ｂ、２０ｃ、２０ｄのセキュリティーの脆弱性を調査するためのテストを実施するためにエージェント１８ａ、１８ｂ、１８ｃ、１８ｄにインストラクション（または、命令）を送信する。これらのテストはネットワーク２０ａ、２０ｂ、２０ｃ、２０ｄのスキャニング、フィンガープリンティング（fingerprinting）、ポートスキャニング、プロトコル識別（protocol identification）及び、テストケースの実行等を含む。
【００２３】
エージェント１８ａ、１８ｂ、１８ｃ、１８ｄによって実施されたテストの結果はライン２２ａ、２２ｂ、２２ｃ、２２ｄに沿ってコンソール１２にレポート（または、報告）される。そして、コンソール１２はライン３２に沿ってテスト結果をリポジトリ１４に送信し、格納する。レポート生成器１６はライン３４によってリポジトリ１４に接続されており、ユーザーの入力に応じて多様なレポートを作成する。レポートはエージェント１８ａ、１８ｂ、１８ｃ、１８ｄが検出したネットワーク２０ａ、２０ｂ、２０ｃ、２０ｄのセキュリティーの脆弱性を列挙する。レポートは編集または統括された後に、ネットワークシステム２１の脆弱性を詳細に列挙してもよい。当業者にとって明白であるだろうが、ネットワーク２０ａ、２０ｂ、２０ｃ、２０ｄは多様な構成要素の組合せとして構成されてもよく、図面に示されているネットワーク２０ａ、２０ｂ、２０ｃ、２０ｄの構成はネットワークシステム２１の１つの例にすぎないことは理解されなければならない。
【００２４】
図２は図１のネットワーク２０ａの詳細なブロック図である。ネットワーク２０ａはライン４２、４４を介して１組のコンピューター３８、４０が接続しているケーブル、ワイヤレス装置、または、この分野で周知の他の手段等の接続３６を含む。図２のネットワーク２０ａ上のエージェント１８ａは例えば、ライン４６を介してケーブル３６に接続しているパソコン等のコンピューター３８、４０、または、それと同等なコンピューター等のコンピューターにロードされたモジュールまたはルーチンであってもよい。
【００２５】
図３のネットワーク２０ｂは図３において「ネットワーク２ａ」及び「ネットワーク２ｂ」として示されている２つのサブネットワーク４８、５０の間に配置されているファイアウォール２４を含む。１組のコンピューター５２、５４はライン５８、６０を介してバス５６に接続されている。エージェント１８ｂもまた、ライン６２によってバス５６に接続されている。
【００２６】
図４のネットワーク２０ｄは２つのサブネットワーク６４、６６の間に配置されているファイアウォール３０を含む。１組のコンピューター６８、７０はライン７４、７６を介してバス７２に接続されている。エージェント１８ｄもまた、ライン７８によってバス７２に接続されている。ここで、ネットワーク２０ｄは１組の通信線８０、８２によってインターネット２８に接続されていることに注意しなければならない。図示された実施例において、インターネット２８とネットワーク２０ｄとの間の通信は双方向通信である。図１に示されていたように、コンソール１２はインターネット２８及びライン８０、８２を介してエージェント１８ｄと通信する。
【００２７】
図５は図１のコンソール１２に対するフローチャートである。プログラムフローはステップＳ１で始まり、コンソール１２は分散ネットワークスキャニングアーキテクチャーシステム１０のセキュリティーを評価しようとしているオペレーターによって始動される。ステップＳ１でコンソール１２が始動された後、プログラムフローはステップＳ２に進み、コンフィギュレーションマネジャー（または、初期設定マネジャー）８４が始動される。プログラムフローは次に、ステップＳ３に進み、通信マネジャー８６が始動される。以下に詳細に説明されるが、ステップＳ２のコンフィギュレーションマネジャー８４はエージェント１８ａ、１８ｂ、１８ｃ、１８ｄがネットワーク２０ａ、２０ｂ、２０ｃ、２０ｄ上のセキュリティーテストを実施するために、エージェント１８ａ、１８ｂ、１８ｃ、１８ｄを予め決められた（または、予め定義された）設定にするためのインストラクションを送信するルーチンまたはモジュールである。ステップＳ３の通信マネジャー８６は図１の通信線２２ａ、２２ｂ、２２ｃ、２２ｄに沿って中央コンソール１２とエージェント１８ａ、１８ｂ、１８ｃ、１８ｄとの間の通信を提供するルーチンまたはモジュールである。
【００２８】
図５を再び参照すると、プログラムフローはステップＳ４に進み、オペレーターがネットワークシステム２１のテストを開始する命令を出したかどうかの決定がなされる。オペレーターがテストの開始を命令していない場合、プログラムフローはステップＳ４に戻る。オペレーターがテスト開始の指示を出している場合、プログラムフローはステップＳ５に進み、テストマネジャー８８が起動される。以下に詳細に説明されるが、テストマネジャー８８はネットワーク２０ａ、２０ｂ、２０ｃ、２０ｄ上で実行されるテストに関連する（または、対応する）エージェント１８ａ、１８ｂ、１８ｃ、１８ｄにインストラクション及び（または）コマンドを送信するルーチンまたはモジュールである。テストマネジャー８８がステップＳ５でタスクを実施した後、プログラムフローはステップＳ６に進み、コンソール１２は結果を表示及び格納する。コンソール１２はフラットスクリーンディスプレイやＣＲＴ上に結果を表示し、リポジトリ１４がテストの結果を格納してもよい。そして、プログラムフローはステップＳ６に進み、コンソール１２が停止される。
【００２９】
図６はエージェント１８ａ、１８ｂ、１８ｃ、１８ｄに対するフローチャートである。フローはステップＳ１で開始され、ステップＳ２において、エージェント１８ａ、１８ｂ、１８ｃ、１８ｄは中央コンソール１２からテストケース及び他の情報を受信する。コンソール１２からの情報は、エージェント１８ａ、１８ｂ、１８ｃ、１８ｄがネットワーク２０ａ、２０ｂ、２０ｃ、２０ｄの脆弱性を調査するために使用されるテストを実行するようにエージェント１８ａ、１８ｂ、１８ｃ、１８ｄを設定するために使用される。ステップＳ２においてエージェント１８ａ、１８ｂ、１８ｃ、１８ｄが適切に設定された後、プログラムフローはステップＳ３に進み、エージェント１８ａ、１８ｂ、１８ｃ、１８ｄはネットワーク２０ａ、２０ｂ、２０ｃ、２０ｄ上でテストを実行する。エージェント１８ａ、１８ｂ、１８ｃ、１８ｄがネットワーク２０ａ、２０ｂ、２０ｃ、２０ｄ上でテストを実行した後、プログラムフローはステップＳ４に進み、エージェント１８ａ、１８ｂ、１８ｃ、１８ｄはテストケースの結果をコンソール１２に送信する。そして、プログラムフローはステップＳ５に進む。
【００３０】
図７は図１のレポート生成器に対するフローチャートである。プログラムフローはステップＳ１で開始され、ステップＳ２において、オペレーターは所望のレポートを選択する。オペレーターはオペレーターが調べようとしているネットワークシステム２１の状態に応じて、レポートに対して適当な設定を選択することができる。レポート生成器１６は、レポート生成器１６が全てのエージェント１８ａ、１８ｂ、１８ｃ、１８ｄがテスト結果をレポートした後にネットワークシステム２１の全体的なセキュリティーに対するレポートを生成するバッチモードで動作してもよいし、あるいは、レポート生成器１６が各エージェント１８ａ、１８ｂ、１８ｃ、１８ｄによるスキャニングオペレーションの進行とともに、ネットワーク２０ａ、２０ｂ、２０ｃ、２０ｄの各々に対するレポートをリアルタイムで生成するインタラクティブモードで動作してもよい。
【００３１】
ステップＳ２でオペレーターがレポートの内容を選択した後、プログラムフローはステップＳ３に進み、レポート生成器１６は選択されたレポートを作成するために必要な情報を計算する（または、必要な情報を調べる）。ステップＳ３においてレポート生成器１６が情報を計算した後、プログラムフローはステップＳ４に進み、レポート生成器１６はライン３４に沿ってリポジトリ１４に格納された情報を検索する（または、取り出す）。ステップＳ５において、レポート生成器１６はリポジトリ１４から検索された情報から選択されたレポートを編集する。ステップＳ５においてレポート生成器１６が選択されたレポートを編集した後、プログラムフローはステップＳ６に進み、レポート生成器１６は要求されたレポートを表示する。レポート生成器１６はステップＳ６において、フラットスクリーンディスプレイやＣＲＴ等のモニター上にレポートを表示してもよいし、付属のプリンター（図示せず）からレポートを印刷してもよい。要求された情報を表示するために多様な方法が存在することは、当業者にとって明白であるだろう。Ｓ６においてレポート生成器１６が要求されたレポートを表示した後、プログラムフローはステップＳ７で終了する。
【００３２】
図８は図１の中央コンソール１２の機能を実施するモジュールを示しているブロック図である。コンソール１２は図８の斜線９２によって示されているように、コンソール１２内の他の多様なモジュールと通信するエージェントマネジャー９０を含む。エージェントマネジャー９０はライン９２に沿ってコンフィギュレーションマネジャー（または、初期設定マネジャー）９４と通信する。コンフィギュレーションマネジャー９４はライン９８に沿って通信マネジャー９６と情報の交換を行う。コンフィギュレーションマネジャー９４はまた、ライン１００に沿ってテストマネジャー１０２と通信する。テストマネジャー１０２はライン１０４に沿ってエンジン１０６と通信する（エンジン１０６はコンソール１２に関してローカルであるので（または、コンソール内に局在しているので）、ローカルエンジンとも呼ぶ）。テストマネジャー１０２はまた、ライン１０８に沿ってバーチャルエンジン（または、仮想エンジン）１１０と通信する。図８のモジュールの機能は後で詳細に説明される。
【００３３】
図９はエージェント１８ａ、１８ｂ、１８ｃ、１８ｄのモジュールまたルーチンを示している機能ブロック図である。テストエンジン１１２はライン１１８及び１２０に沿って、それぞれ通信マネジャー１１４及びコンフィギュレーションマネジャー（または、初期設定マネジャー）１１６と通信する。さらに、通信マネジャー１１４及びコンフィギュレーションマネジャー１１６はライン１２２に沿って互いに通信する。図９のモジュールの機能は後で詳細に説明される。
【００３４】
ここで、図８及び図９の多様なラインが電気的な接続を表しているのではなく、情報の流れを概略的に表していることに注意しなければならない。
【００３５】
図１０は図８のテストマネジャー１０２のプログラムに対するフローチャートである。プログラムフローはステップＳ１で開始され、ステップＳ２において、テストマネジャー１０２はネットワーク２０ａ、２０ｂ、２０ｃ、２０ｄ上のエージェント１８ａ、１８ｂ、１８ｃ、１８ｄを初期化する。プログラムフローはステップＳ３に進み、テストマネジャー１０２はエージェント１８ａ、１８ｂ、１８ｃ、１８ｄにテストケースを送信する。以下に詳細に説明されるが、これらのテストケースはネットワーク２０ａ、２０ｂ、２０ｃ、２０ｄの脆弱性をテストまたは調査するために能動的（または、積極的）に使用される。次に、プログラムフローはステップＳ４に進み、テストマネジャー１０２はエージェント１８ａ、１８ｂ、１８ｃ、１８ｄからテスト結果を受信する。ステップＳ４でテストマネジャー１０２がエージェント１８ａ、１８ｂ、１８ｃ、１８ｄからテスト結果を受信した後、プログラムフローはステップＳ５に進み、テストマネジャー１０２はテスト結果をリポジトリ１４に送信する。ステップＳ６でテストマネジャー１０２がテスト結果をリポジトリ１４に送信した後、プログラムフローはステップＳ６に進む。
【００３６】
ここで図１１を参照すると、図８の通信マネジャー９６のプログラムに対するフローチャートが図示されている。通信マネジャー９６に対するプログラムフローはステップＳ１で開始される。ステップＳ１で通信マネジャー９６が開始された後、プログラムフローはステップＳ２に進み、通信マネジャーが初期化される。次に、プログラムフローはステップＳ３に進み、通信マネジャー９６はエージェント１８ａ、１８ｂ、１８ｃ、１８ｄとの接続を待つ。通信マネジャー９６がエージェント１８ａ、１８ｂ、１８ｃ、１８ｄとの接続の確立を示す指示（または、メッセージ）を受信した後、プログラムフローはステップＳ４に進み、通信マネジャー９６は通信マネジャーが通信しているエージェント１８ａ、１８ｂ、１８ｃ、１８ｄを識別するためのセキュリティーチェックを実行する。次に、プログラムフローはステップＳ５に進み、通信マネジャー９６は、ステップＳ４のエージェントの識別セキュリティーチェックが正当にパスしたかどうかを決定するためのテストを行う。ステップＳ４で実施されたエージェントの識別セキュリティーチェックがステップＳ５でテストをパスしなかった場合、ステップＳ６において、エージェント１８ａ、１８ｂ、１８ｃ、１８ｄとの接続が拒絶される。そして、プログラムフローはステップＳ３に戻る。
【００３７】
逆に、ステップＳ４で実施されたエージェントの識別セキュリティーチェックがパスした場合、プログラムフローはステップＳ７に進み、通信マネジャー９６はエージェント１８ａ、１８ｂ、１８ｃ、１８ｄのソフトウェアのバージョンをチェックする。ステップＳ８において、プログラムフローはエージェント１８ａ、１８ｂ、１８ｃ、１８ｄが古いバージョンのソフトウェアを動作させているかどうかをテストする。バージョンが古い場合、プログラムフローはステップＳ９に進む。エージェント１８ａ、１８ｂ、１８ｃ、１８ｄが古いバージョンのソフトウェアを動作させている場合、通信マネジャー９６はエージェント１８ａ、１８ｂ、１８ｃ、１８ｄで動作しているソフトウェアをアップグレード（または、バージョンアップ）するためにエージェントにアップグレードソフトウェアを送信する。ステップＳ８でエージェント１８ａ、１８ｂ、１８ｃ、１８ｄが最新のバージョンのソフトウェアを動作させていると決定された場合、プログラムフローはステップＳ１０に進み、エージェント１８ａ、１８ｂ、１８ｃ、１８ｄとの通信が確立される。ステップＳ１０においてエージェント１８ａ、１８ｂ、１８ｃ、１８ｄとの通信が確立された後、プログラムフローはステップＳ３に進む。
【００３８】
図１２は本発明の分散ネットワークスキャニングアーキテクチャーシステム１０の代替的な実施例に対するフローチャートである。分散ネットワークスキャニングアーキテクチャーシステム１０はファイアウォールモードと通常モードの両方で動作してもよい。分散ネットワークスキャニングアーキテクチャーシステム１０は別個の、排他的なテスト機能、すなわち、（１）ファイアウォール２４、２６、３０の整合性または保全性のテスト、及び、（２）ネットワークステップ２１の一般的なセキュリティーのテストを実施することができる。ファイアウォールモードの場合、分散ネットワークスキャニングアーキテクチャーシステム１０はネットワーク２０ａ、２０ｂ、２０ｃ、２０ｄ上のファイアウォール２４、２６、３０の脆弱性を調査するために設定される。通常モードの場合、コンソール１２はシステム２１の（一般的な）脆弱性を調査調査するために設定される。
【００３９】
ここで図１２のフローチャートを参照すると、プログラムフローはステップＳ１で開始され、決定ステップＳ２に進む。コンソール１２が分散ネットワークスキャニングアーキテクチャーシステム１０を通常モードの動作に設定した場合、プログラムフローはステップＳ３に進み、中央コンソール１２はネットワークシステム２１の脆弱性の調査のためのテストを実行するテストケースをエージェント１８ａ、１８ｂ、１８ｃ、１８ｄに送信するためのインストラクションを送信する。次に、プログラムフローはステップＳ４に進み、コンソール１２はエージェント１８ａ、１８ｂ、１８ｃ、１８ｄによって実行されたテストの結果を検索（または、取得）する。後で詳細に説明されるように、レポート生成器１６はエージェント１８ａ、１８ｂ、１８ｃ、１８ｄによって実行されたテストの結果として、ネットワークシステム２１の脆弱性に対するレポートを生成する。
【００４０】
ここでステップＳ２に戻り、コンソール１２が分散ネットワークスキャニングアーキテクチャーシステム１０をファイアウォールモードの動作に設定した場合、プログラムフローはステップＳ５に進み、コンソール１２はエージェント１８ａ、１８ｂ、１８ｃ、１８ｄがファイアウォールモードで動作するように、エージェントにインストラクションを送信する。次に、プログラムフローはステップＳ６に進み、中央コンソール１２及びエージェント１８ａ、１８ｂ、１８ｃ、１８ｄはファイアウォール２４、２６、３０の外部の攻撃に対する整合性または保全性を決定するためのテストを実行する。このモードにおいて、コンソール１２はファイアウォール２４、２６、３０の裏側のネットワーク２０ｂ、２０ｃ、２０ｄ内にハッキング（または、侵入）することを試みる。そして、エージェント１８ａ、１８ｂ、１８ｃ、１８ｄはテストの結果をコンソール１２にレポートする。
【００４１】
ここで、分散ネットワークスキャニングアーキテクチャーシステム１０が通常モードで動作しているときに、テスト結果がファイアウォール２４、２６、３０によって影響を受けないことは理解されなければならない。したがって、このような場合、ファイアウォール２４、２６、３０の保全性に対する情報はコンソール１２にレポートされない。しかしながら、分散ネットワークスキャニングアーキテクチャーシステム１０がファイアウォールモードで動作しているときには、ファイアウォール２４、２６、３０の保全性がコンソール１２にレポートされる。
【００４２】
コンソール１２が、ステップＳ４及びＳ６で示されているように、ファイアウォールモードまたは通常モードのどちらかの動作を終了した後、プログラムフローはステップＳ７に進み、テストの結果がコンソール１２からリポジトリ１４に送信される。そして、プログラムフローはステップＳ８で終了する。
【００４３】
ここで図１３を参照すると、テストマネジャー１０２に対するフローチャートが図示されている。プログラムフローはステップＳ１で開始され、テストマネジャー１０２が始動される。次に、プログラムフローはステップＳ２に進み、テストマネジャー１０２が初期化される。コンソール１２がテストマネジャー１０２にテスト要求を送信したとき、プログラムフローはステップＳ３に進み、テストマネジャー１０２はテストの分析を開始する。コンソール１２からのテスト要求に依存して、テストマネジャー１０２はステップＳ４に進み、テストマネジャーはローカルエンジン１０６を初期化する（図１７参照）。次に、プログラムフローはステップＳ５に進み、テストマネジャー１０２はローカルエンジン１０６にテスト要求を送信する。ローカルエンジン１０６が要求されたテストを実行した後、ローカルエンジンはステップＳ６において、テスト結果をテストマネジャー１０２にレポートする。
【００４４】
コンソール１２はバーチャルエンジン１１０を必要とするテスト要求をテストマネジャー１０２に送信してもよい（図１７参照）。後で詳細に説明されるように、バーチャルエンジン１１０はプロキシエンジン（proxy-engine）と同様な様式で機能する。すなわち、バーチャルエンジン１１０は遠隔的に配置されたエージェント１８ａ、１８ｂ、１８ｃ、１８ｄ内のエンジンと通信するので、テストマネジャー１０２はリモートエンジン（または、遠隔的に配置されたエンジン）がローカルエンジン（または、コンソール内に局在するエンジン）であるかのように機能する。この例の場合、プログラムフローはステップＳ３からＳ７に進み、テストマネジャー１０２はバーチャルエンジン１１０を初期化する。次に、プログラムフローはステップＳ８に進み、テストマネジャー１０２はバーチャルエンジン１１０にテスト要求を送信する。バーチャルエンジン１１０が要求されたテストを実行した後、バーチャルエンジンはテスト結果をテストマネジャー１０２に送信し、ステップＳ６でテストマネジャー１０２はテスト結果を受信する。
【００４５】
コンソール１２は第２のバーチャルエンジン１１０を必要とするテスト要求をテストマネジャー１０２に送信してもよい。この例の場合、プログラムフローはステップＳ３からＳ９に進み、テストマネジャー１０２は第２バーチャルエンジン１１０を初期化する。次に、プログラムフローはステップＳ１０に進み、テストマネジャー１０２は第２バーチャルエンジン１１０にテスト要求を送信する。第２バーチャルエンジン１１０が要求されたテストを実施した後、第２バーチャルエンジンはテスト結果をテストマネジャー１０２に送信し、ステップＳ６でテストマネジャー１０２はテスト結果を受信する。
【００４６】
ステップＳ６においてテストマネジャー１０２がテスト結果を受信した後、プログラムフローはステップＳ１１に進み、テストマネジャー１０２はテスト結果をコンフィギュレーションマネジャー９４に送信する。そして、プログラムフローはステップＳ１２に進み、テストは終了する。
【００４７】
図１４はテストエンジン１０６に対するフローチャートである。プログラムフローはステップＳ１で開始され、テストエンジン１０６が始動される。次に、プログラムフローはステップＳ２に進み、テストエンジン１０６が初期化される。テストエンジン１０６がテストマネジャー１０２からテスト要求を受信した後、テストエンジン１０６はステップＳ３において、要求されたテストを実施するために必要な実行スレッド（execution thread）を初期化する。次に、プログラムフローはステップＳ４に進み、テストエンジン１０６はスレッドにアトミックタスク（atomic task）を送信する。次に、プログラムフローはステップＳ５に進み、テストエンジン１０６はスレッドから結果を受信する。次に、プログラムフローはステップＳ６に進み、テストエンジン１０６は結果をテストマネジャー１０２に送信する。次に、プログラムフローはステップＳ７に進み、テストを終了し、テストエンジン１０６は停止させられる。
【００４８】
図１５はバーチャルエンジン１１０に対するフローチャートである。プログラムフローはステップＳ１で開始し、バーチャルエンジン１１０が始動される。次に、プログラムフローはステップＳ２に進み、テストマネジャー１０２からのメッセージへの応答でバーチャルエンジン１１０が初期化される。次に、プログラムフローはステップＳ３に進み、テストマネジャー１０２がバーチャルエンジン１１０にテスト要求を送信した後、バーチャルエンジン１１０はリモートエンジン１１２を初期化する。次に、プログラムフローはステップＳ４に進み、バーチャルエンジン１１０はリモートエンジン１１２にテストを送信する。次に、プログラムフローはステップＳ５に進み、バーチャルエンジン１１０はリモートエンジン１１２によって実行されたテストの結果を受信する。次に、プログラムフローはステップＳ６に進み、バーチャルエンジン１１０は結果をテストマネジャー１０２に送信する。ステップＳ６の後、プログラムフローはステップＳ７に進み、テストを終了し、バーチャルエンジン１１０は停止させられる。
【００４９】
図１６はリモートエンジン１１２に対するフローチャートである。ステップＳ１の後、プログラムフローはリモートエンジン１１２が始動されたときに開始される。次に、プログラムフローはステップＳ２に進み、リモートエンジン１１２が初期化される。次に、プログラムフローはステップＳ３に進み、リモートエンジン１１２はバーチャルエンジン１１０からのテスト要求に応答し、実行スレッドを初期化し、テスト要求を実行する。次に、プログラムフローはステップＳ４に進み、リモートエンジン１１２はスレッドにアトミックタスクを送信する。次に、プログラムフローはステップＳ５に進み、リモートエンジン１１２はスレッドから結果を受信する。次に、プログラムフローはステップＳ６に進み、リモートエンジン１１２は結果をバーチャルエンジン１１０に送信する。そして、プログラムフローはステップＳ７で終了し、テストが完了する。
【００５０】
ここで、本発明の分散ネットワークスキャニングアーキテクチャーシステム１０が基本的に２つの構成要素、エージェント１８ａ、１８ｂ、１８ｃ、１８ｄ及び中央コンソール１２に基づいて構成されていることは理解されなければならない。エージェント１８ａ、１８ｂ、１８ｃ、１８ｄはネットワークシステム２１全体に分散（または、分配）されている。エージェント１８ａ、１８ｂ、１８ｃ、１８ｄのタスクは中央コンソール１２からの命令どおりに実施される。コンソール１２はエージェント１８ａ、１８ｂ、１８ｃ、１８ｄの動作を制御し、バッチモードで操作されてもよいし、または、グラフィカルインターフェースを介してインタラクティブに操作されてもよい。バッチモードの場合、コンソール１２は予め決められた間隔（または、周期）で、例えば、ネットワークシステム２１の全体的なセキュリティーを評価するようにテストを実施してもよい。一方、インタラクティブモードの場合、オペレーターは選択されたサブネットワーク２０ａ、２０ｂ、２０ｃ、２０ｄ上でテストが実行されるようにコンソール１２を指示してもよい。
【００５１】
コンソール１２のタスクはテストエンジン１０６、１１２、ローカルエンジン１０６、及びリモートエンジン１１２との通信、及びこれらのエンジンの設定を管理するため、ローカルエンジン１０６とリモートエンジン１１２との間でタスクを分散するため、リポジトリ１４に結果を格納するため、そして、インタラクティブモードでオペレーターにスキャンの進行に対するリアルタイムのフィードバックを与えるためのものである。
【００５２】
分散ネットワークスキャニングアーキテクチャーシステム１０の構成要素はモジュールから構成されてもよい。コンソール１２及びエージェント１８ａ、１８ｂ、１８ｃ、１８ｄの両者に対して共通なモジュールはテストエンジン１０６、１１２、通信マネジャー９６、１１４、及びコンフィギュレーションマネジャー９４、１１６である。
【００５３】
コンソール１２に固有のモジュールはエージェントマネジャー９０、テストマネジャー１０２、及びバーチャルエンジン１１０を含む。
【００５４】
テストエンジン１０６、１１２は（１）ネットワーク２０ａ、２０ｂ、２０ｃ、２０ｄのスキャニング、（２）フィンガープリンティング、（３）ポートスキャニング、（４）プロトコル識別、及び（５）テストケースの実行等の機能を有する。
【００５５】
テストエンジン１０６、１１２はテストマネジャー１０２からのハイレベルコマンドを受信し、これらのタスクを適当なシーケンスのスレッドのプール（または、複数のスレッド）にコンパイルされるアトミック、すなわち、小さめのタスクに分解すること、及び、タスクの結果をテストマネジャー１０２（または、発信者（caller））に送信（または、返信）する、「シーケンサー（sequencer）」として機能するソフトウェアモジュールまたはサブルーチンである。テストエンジン１０６、１１２はそれ自身の指示の下で実行ルールを施行する。すなわち、テストエンジン１０６、１１２はそれ自身で、ホストまたはコンピューターの属性やホストまたはコンピューターの事前のテストの結果に基づいて、ターゲットホストまたはターゲットコンピューターに対してテストケースが実行されるかどうかを決定してもよい。
【００５６】
通信マネジャー９６、１１４はウィンドウズソケット（Windows socket）または生パケットドライバー（raw packet driver）を介したネットワーク２０ａ、２０ｂ、２０ｃ、２０ｄへのアクセスに関与する全てのタスクを受け持つ。通信マネジャーはテストケース実行中の全てのローレベルネットワークタスクの実行及び中央コンソール１２とリモートエージェント１８ａ、１８ｂ、１８ｃ、１８ｄとの間の通信の処理に関与する。ファイアウォール２４、２６、３０をまたぐリモートエージェント１８ａ、１８ｂ、１８ｃ、１８ｄとコンソール１２との間の双方向通信は安全かつ最適でなければならない。セキュリティーは一般に、通信のためのＳＳＬ３.０暗号化アルゴリズムを使用することによって維持される。情報の小さなパケットはエージェント１８ａ、１８ｂ、１８ｃ、１８ｄと中央コンソール１２との間で交換される通信を最適化するために圧縮（compact）かつバッファリング（buffer）される。
【００５７】
コンフィギュレーションマネジャー９４は現在の（または、その時の）コンフィギュレーション（または、設定）を記述しているオブジェクト（object）を受け持つ。コンフィギュレーションマネジャー９４はテストケース、テストされるべきホスト、それらのホストで動作しているサービス、及び実施されるテストに対する多様なテストパラメーター等の、他のモジュール９４、９６、１０６、１１０からの情報に対する要求に応答する。
【００５８】
エージェントマネジャー９０はリモートエージェント１８ａ、１８ｂ、１８ｃ、１８ｄからの接続を受信し、各エージェントとコンソール１２との間の同期を確立する。テストマネジャー１０２はコンソールのメインプログラム１２からテスト要求を受信し、要求を分析し、テストを関連する各エンジン１０６、１１０に対するサブ部分に分解し、要求されたローカルエンジン１０６及びバーチャルエンジン１１０を起動し、適当なローカルエンジン１０６またはバーチャルエンジン１１０にサブテスト要求を送信し、テスト結果を調整（または、整合）し、さらに、それらの結果をコンフィギュレーションマネジャー９４に転送する。
【００５９】
リモートエージェント１８ａ、１８ｂ、１８ｃ、１８ｄのエンジン１１２がテストに関与する場合、テストマネジャー１０２はバーチャルエンジン１１０を起動する。バーチャルエンジン１１０は実際にはテストを実施しないが、テストに関与するリモートエージェント１８ａ、１８ｂ、１８ｃ、１８ｄとの通信を受け持ち、リモートエージェント１８ａ、１８ｂ、１８ｃ、１８ｄ内のエンジン１１２にテスト要求を送信し、それらからテスト結果を受信する。バーチャルエンジン１１０はプロキシエンジンと同様な様式で動作する。すなわち、バーチャルエンジンはテストマネジャーに対して、リモートエージェント１８ａ、１８ｂ、１８ｃ、１８ｄ内で使用されるエンジン１１２を隠す。
【００６０】
ここで図１７から図２０を参照すると、分散ネットワークスキャニングアーキテクチャーシステム１０の動的な状態または動作が図示されている。ここで、特定のコンフィギュレーション（または、設定）１２４がコンソール１２内のコンフィギュレーションマネジャー９４に供給され、対応するコンフィギュレーション（または、設定）１２６がエージェント１８ａ、１８ｂ、１８ｃ、１８ｄ内のコンフィギュレーションマネジャー１１６に供給されることは理解されなければならない。
【００６１】
コンソール１２が起動された後、図１７に示されているような以下のアクションが発生する。コンソール１２内のコンフィギュレーションマネジャー９４が起動され、リポジトリ１４をリードすることにより、グローバル環境（すなわち、テストケース、グローバルテストパラメーター、その他）を記述しているオブジェクトがセットアップ（または、設定）される。そして、コンフィギュレーションマネジャー９６が初期化される。そして、エージェントマネジャー９０が起動され、リモートエージェント１８ａ、１８ｂ、１８ｃ、１８ｄとの接続を待つ。
【００６２】
さらに、図１７に示されているように、リモートエージェント１８ａ、１８ｂ、１８ｃ、１８ｄが起動され以下の動作が発生する。コンフィギュレーションマネジャー１１６が起動されローカル情報とともにセットアップ（または、設定）される。ここで最も重要な情報は接続先のコンソール１２のアドレス及びポート番号である。エージェント１８ａ、１８ｂ、１８ｃ、１８ｄは各々の通信マネジャー１１４を起動し、コンソール１２との接続を試みる。
【００６３】
図１８は、コンソール１２とエージェント１８ａ、１８ｂ、１８ｃ、１８ｄとの間に通信が確立し、さらに２つのコンフィギュレーション１２４、１２６が同期したときの、分散ネットワークスキャニングアーキテクチャーシステム１０の状態を図示している。通信が確立されると、エージェント１８ａ、１８ｂ、１８ｃ、１８ｄはコンソール１２との接続を連続的に試みる。通信マネジャー９６が通信を受信すると、通信マネジャーはイニシエーター（または、発信者）を確認し、その情報をエージェントマネジャー９０に送る。通信が確立された後、２つのコンフィギュレーション１２４、１２６は同期されなければならない。これは、エージェントマネジャー９０が対応するエージェントのコンフィギュレーションマネジャー１１６と接続するコンソール１２のコンフィギュレーションマネジャー９４を起動するときに起こる。コンフィギュレーション情報１２４、１２６が交換され、２つのコンフィギュレーションマネジャー９４、１１６が同期する。この段階中、実行可能ファイル（例えば、新規のテストケース、エージェント１８ａ、１８ｂ、１８ｃ、１８ｄに対する新規のバージョン等）がエージェント１８ａ、１８ｂ、１８ｃ、１８ｄに転送されてもよい。エージェント１８ａ、１８ｂ、１８ｃ、１８ｄはこの時点で、ネットワーク２０ａ、２０ｂ、２０ｃ、２０ｄの、その後のテストに参加する準備ができたことになる。
【００６４】
図１９を参照すると、次に、コンソール１２はテストマネジャー１０２にテスト要求を送信することによってテストを開始する。テストマネジャー１０２はコンフィギュレーションマネジャー９４から情報を要求し、テストをローカルに（または、局在的に）実施されるサブテストに分解する。そして、その場合、ローカルエンジン１０６が起動される。テストがリモートで（または、遠隔的に）実施される場合、リモートエージェント１８ａ、１８ｂ、１８ｃ、１８ｄはテストエンジン１１２を起動するように指示される。テストの一部がローカルに実施される場合、テストマネジャー１０２はローカルエンジン１０６を起動し、対応するサブテスト定義（sub-test definition）をローカルエンジンに送る。テストの一部がリモートエージェント１８ａ、１８ｂ、１８ｃ、１８ｄによってリモートで実施される場合、テストマネジャーはバーチャルエンジン１１０を起動する。バーチャルエンジン１１０はそれ自身でテストを実施しないが、リモートエージェント１８ａ、１８ｂ、１８ｃ、１８ｄとの通信を受け持つ。バーチャルエンジンはサブテスト定義をリモートエージェント１８ａ、１８ｂ、１８ｃ、１８ｄ内の対応するエンジンに伝送することによってテストを開始する。
【００６５】
図２０はテストを実際に実行しているネットワークモジュールを図示している。各エンジン１０６、１１０、１１２がテストの担当部分を実施するのに十分な情報を取得した後、テストエンジン１１２、ローカルエンジン１０６または、リモートエンジン１１２はサブテストをアトミックタスクに分解し、これらのタスクをプール中のスレッド（または、複数のスレッド）に割り当てる。これらのタスクはポートスキャニング、フィンガープリンティング、テストケースの実行、または、同等なテストであってもよい。これらの結果は実行ルールを施行するためにローカルに処理される。すなわち、タスクの結果はエンジン１０６、１１２の、その後の動作に影響を与える。リモートエージェント１８ａ、１８ｂ、１８ｃ、１８ｄ内のエンジン１１２はそれの結果をコンソール１２内の対応するバーチャルエンジン１１０に送信し、そして、バーチャルエンジン１１０はその結果をテストマネジャー１０２に送る。リモートエンジン１１２とバーチャルエンジン１１０との間の通信は非同期であり、かつ、最適化されている。ローカルエンジン１０６はそれの結果をテストマネジャー１０２に送信する。テストマネジャーはコンフィギュレーションマネジャー９４に情報を転送し、コンフィギュレーションマネジャーはコンフィギュレーション１２４を更新し、コンソール１２に新規のコンフィギュレーション１２４を通知し、テスト終了時にリポジトリ１４内に関連する結果を格納する。
【００６６】
上述の構成により、本発明に従った分散ネットワークスキャニングアーキテクチャーシステム１０は、分散式スキャニング方式でない従来の能動的テストに本質的に存在するボトルネックの問題及び、スキャニングオペレーションの回数の少なさの問題を回避することを可能にする。本発明に従った分散ネットワークスキャニングアーキテクチャーシステム１０は、従来の能動的テストとは異なり、テスト結果に影響を与えることなく、ファイアウォール２４、２６、３０を備えたネットワークシステム２１をテストすることを可能にし、さらに、ファイアウォール２４、２６、３０の保全性（または、整合性）のテストを可能にする。本発明に従った分散ネットワークスキャニングアーキテクチャーシステム１０はオペレーターによる複雑な介入や操作を必要とせずに、ネットワークシステム２１全体に対する単一のレポートの作成を可能にする。
【００６７】
ここまで本発明の好まれる実施例が付随する図面とともに詳細に説明されてきたが、本発明がこれらの実施例に制限されないこと、また、付随する請求の範囲に記載されている本発明の意図及び範囲から外れることなく本発明の実施例に対して多用な変更や改良が可能であることは当業者にとって明白であるだろう。
【図面の簡単な説明】
【００６８】
【図１】本発明に従った、分散ネットワークスキャニングアーキテクチャーシステムのブロック図である。
【図２】図１のネットワークのサブネットワークのブロック図である。
【図３】２つのサブネットワークの間にファイアウォールを備えた、図１のネットワークのサブネットワークのブロック図である。
【図４】インターネットに接続された、図１のネットワークのサブネットワークのブロック図である。
【図５】図１に図示されたコンソールに対するフローチャートである。
【図６】図１に図示されたエージェントに対するフローチャートである。
【図７】図１に図示されたレポート生成器に対するフローチャートである。
【図８】図１に図示されたコンソールのモジュールを示している機能ブロック図である。
【図９】図１に図示されたエージェントのモジュールを示している機能ブロック図である。
【図１０】図８に図示されたテストマネジャーのプログラムに対するフローチャートである。
【図１１】図８に図示された通信マネジャーのプログラムに対するフローチャートである。
【図１２】図１のシステムの代替的な実施例に対するフローチャートである。
【図１３】図８のテストマネジャーのプログラムに対するフローチャートである。
【図１４】図８のテストエンジンのプログラムに対するフローチャートである。
【図１５】バーチャルテストエンジンのプログラムに対するフローチャートである。
【図１６】リモートテストエンジンのプログラムに対するフローチャートである。
【図１７】モジュールが初期化されたときの、図１のシステムのモジュールの相互作用を図示しているグローバルなフローチャートである。
【図１８】モジュール間の通信が確立かつ同期されたときの、図１のシステムのモジュールの相互作用を図示しているグローバルなフローチャートである。
【図１９】モジュールがネットワーク上でテストの実行を開始したときの、図１のシステムのモジュールの相互作用を図示しているグローバルなフローチャートである。
【図２０】モジュールがネットワーク上でテストを実行しているときの、図１のシステムのモジュールの相互作用を図示しているグローバルなフローチャートである。
【符号の説明】
【００６９】
１０    分散ネットワークスキャニングアーキテクチャーシステム
１２    中央コンソール
１４    リポジトリ
１６    レポート生成器
１８    リモートエージェント
２０    サブネットワーク
２２    通信線
２４、２６  ファイアウォール
２８    インターネット
３０    ファイアウォール
３２、３４  通信線
３６    ケーブル
３８、４０  コンピューター
４２−４６  通信線
４８、５０  サブネットワーク
５２、５４  コンピューター
５６    バス（ケーブル）
５８−６２  通信線
６８、７０  コンピューター
７２    バス（ケーブル）
７４−８２  通信線
９０    エージェントマネジャー
９２    通信線
９４    コンフィギュレーションマネジャー
９６    通信マネジャー
９８    通信線
１００  通信線
１０２  テストマネジャー
１０４  通信線
１０６  ローカルエンジン
１０８  通信線
１１０  バーチャルエンジン
１１２  テストエンジン
１１４  通信マネジャー
１１６  コンフィギュレーションマネジャー
１１８−１２２  通信線
１２４  コンフィギュレーション
【図１】
2005503053.tif 000003
【図２】
2005503053.tif 000004
【図３】
2005503053.tif 000005
【図４】
2005503053.tif 000006
【図５】
2005503053.tif 000007
【図６】
2005503053.tif 000008
【図７】
2005503053.tif 000009
【図８】
2005503053.tif 000010
【図９】
2005503053.tif 000011
【図１０】
2005503053.tif 000012
【図１１】
2005503053.tif 000013
【図１２】
2005503053.tif 000014
【図１３】
2005503053.tif 000015
【図１４】
2005503053.tif 000016
【図１５】
2005503053.tif 000017
【図１６】
2005503053.tif 000018
【図１７】
2005503053.tif 000019
【図１８】
2005503053.tif 000020
【図１９】
2005503053.tif 000021
【図２０】
2005503053.tif 000022
【国際公開パンフレット】
2005503053.tif 000023
2005503053.tif 000024
2005503053.tif 000025
2005503053.tif 000026
2005503053.tif 000027
2005503053.tif 000028
2005503053.tif 000029
2005503053.tif 000030
2005503053.tif 000031
2005503053.tif 000032
2005503053.tif 000033
2005503053.tif 000034
2005503053.tif 000035
2005503053.tif 000036
2005503053.tif 000037
2005503053.tif 000038
2005503053.tif 000039
2005503053.tif 000040
2005503053.tif 000041
2005503053.tif 000042
2005503053.tif 000043
2005503053.tif 000044
2005503053.tif 000045
2005503053.tif 000046
2005503053.tif 000047
2005503053.tif 000048
2005503053.tif 000049
2005503053.tif 000050
2005503053.tif 000051
2005503053.tif 000052
2005503053.tif 000053
2005503053.tif 000054
2005503053.tif 000055
2005503053.tif 000056
2005503053.tif 000057
2005503053.tif 000058
2005503053.tif 000059
2005503053.tif 000060
2005503053.tif 000061
2005503053.tif 000062
2005503053.tif 000063
2005503053.tif 000064
2005503053.tif 000065
2005503053.tif 000066
2005503053.tif 000067
2005503053.tif 000068
2005503053.tif 000069
2005503053.tif 000070
2005503053.tif 000071
2005503053.tif 000072
2005503053.tif 000073
2005503053.tif 000074
2005503053.tif 000075
2005503053.tif 000076
2005503053.tif 000077
2005503053.tif 000078
2005503053.tif 000079
【国際調査報告】
2005503053.tif 000080
2005503053.tif 000081