(57)【要約】開示は、テストネットワークにおける特定コンピュータシステムの特定コンピュータ（１０１）をテストするためのテストシステム（１００）に関し、テストネットワークはコンピュータシステムのコンピュータをテストするためのテストエンティティ（１０３）を備え、特定コンピュータ（１０１）がテスト対象（１０１）であり、テストシステム（１００）は、テスト対象（１０１）を模擬するように構成されたシミュレーションサーバ（１０５）、及びシミュレーションサーバ（１０５）を制御するための制御エンティティ（１０７）であって、シミュレーションサーバ（１０５）に指示してテスト対象（１０１）を模擬するための仮想テスト対象（１０９）を生成させるように構成され、さらにテストエンティティ（１０３）に指示して特定コンピュータ（１０１）の代わりにシミュレーションサーバ（１０５）で生成された仮想テスト対象（１０９）をテストさせるように構成された制御エンティティ（１０７）を備える。【選択図】  図２
2018503922.tif 000002
【特許請求の範囲】
【請求項１】
テストネットワークにおける特定のコンピュータシステムの特定のコンピュータ（１０１）をテストするためのテストシステム（１００）であって、前記テストネットワークが、前記コンピュータシステムのコンピュータをテストするためのテストエンティティ（１０３）を備え、前記特定のコンピュータ（１０１）がテスト対象（１０１）であり、以下の構成、すなわち、
前記テスト対象（１０１）を模擬するように構成されたシミュレーションサーバ（１０５）、及び
前記シミュレーションサーバ（１０５）を制御するための制御エンティティ（１０７）であって、前記シミュレーションサーバ（１０５）に指示して前記テスト対象（１０１）を模擬するために仮想のテスト対象（１０９）を生成させるように構成され、前記テストエンティティ（１０３）に指示して前記特定のコンピュータ（１０１）の代わりに前記シミュレーションサーバ（１０５）によって生成された前記仮想のテスト対象（１０９）をテストさせるように構成された制御エンティティ（１０７）
を備えるテストシステム（１００）。
【請求項２】
前記テスト対象（１０１）の前記データ（１１１）を受信し、前記受信されたデータ（１１１）に基づいてシミュレーションサーバ（１０５）において前記テスト対象（１０１）を模擬するように構成された、請求項１に記載のテストシステム（１００）。
【請求項３】
前記テスト対象（１０１）の前記データ（１１１）が、以下の情報：
前記テスト対象（１０１）にインストールされたソフトウェアのソフトウェアステータス、
前記テスト対象（１０１）にインストールされたパッチのパッチステータス、
前記テスト対象（１０１）の構成の構成ステータス
の少なくとも１つを備える、請求項２に記載のテストシステム（１００）。
【請求項４】
前記テスト対象（１０１）と前記テストシステム（１００）の間の直接のファイル転送によって前記テスト対象（１０１）の前記データ（１１１）を受信するように構成され、又は
前記テストシステム（１００）のユーザとの相互作用に基づいて前記テスト対象（１０１）の前記データ（１１１）を受信するように構成された、
先行する請求項のいずれか一項に記載のテストシステム（１００）。
【請求項５】
前記制御エンティティ（１０７）が、新たなテスト対象（１０１）のデータ（１１１）が前記シミュレーションサーバ（１０５）において利用可能であるかどうかを一定間隔でテストし、データ（１１１）が存在する場合に前記シミュレーションサーバ（１０５）に指示して前記新たなテスト対象（１０１）を模擬するための仮想のテスト対象（１０９）を生成し、前記テストエンティティ（１０３）に指示して前記仮想のテスト対象（１０９）をテストするように構成され、又は前記制御エンティティ（１０７）が、データ（１１１）及びアプリケーション・プログラマブル・インターフェースを介して制御するための更なるパラメータを受信し、前記シミュレーションサーバ（１０５）に指示して前記新たなテスト対象（１０１）を模擬するための仮想のテスト対象（１０９）を生成し、前記テストエンティティ（１０３）に指示して前記仮想のテスト対象（１０９）をテストするように構成された、請求項２から４のいずれか一項に記載のテストシステム（１００）。
【請求項６】
前記制御エンティティ（１０７）が、前記テストエンティティ（１０３）から前記仮想のテスト対象（１０９）の前記テストのテスト結果を受信するように構成された、先行する請求項のいずれか一項に記載のテストシステム（１００）。
【請求項７】
前記制御エンティティ（１０７）と前記テストエンティティ（１０３）の間の第１のテストインターフェース（１０６）であって、アプリケーション・プログラマブル・インターフェースを備える第１のテストインターフェース（１０６）
を備える、先行する請求項のいずれか一項に記載のテストシステム（１００）。
【請求項８】
前記シミュレーションサーバ（１０５）と前記テストエンティティ（１０３）の間の第２のテストインターフェース（１０４）であって、前記シミュレーションサーバ（１０５）において前記仮想のテスト対象（１０９）をテストするために前記テストエンティティ（１０３）によって提供されるＰｌｕｇ−Ｉｎｓを読み込むように構成された第２のテストインターフェース（１０４）
を備える、先行する請求項のいずれか一項に記載のテストシステム（１００）。
【請求項９】
前記シミュレーションサーバ（１０５）が、所定のソフトウェアステータス、パッチステータス又は構成ステータスに従って前記テストエンティティ（１０３）によって提供された前記Ｐｌｕｇ−Ｉｎｓを介して前記仮想のテスト対象（１０９）をスキャンするように構成された、請求項８に記載のテストシステム（１００）。
【請求項１０】
前記シミュレーションサーバ（１０５）が、前記仮想のテスト対象（１０９）に対してのみ及び前記仮想のテスト対象（１０９）の前記テストの期間の間のみ有効な、前記テスト対象（１０１）へのアクセスデータを有する、先行する請求項のいずれか一項に記載のテストシステム（１００）。
【請求項１１】
テストネットワークにおける特定のコンピュータシステムの特定のコンピュータ（１０１）をテストするための方法であって、前記テストネットワークが、前記コンピュータシステムのコンピュータをテストするためのテストエンティティ（１０３）を備え、前記特定のコンピュータ（１０１）がテスト対象（１０１）であり、
シミュレーションサーバ（１０５）において前記テスト対象（１０１）を模擬するために仮想のテスト対象（１０９）を生成するステップと、
前記特定のコンピュータ（１０１）の代わりに前記シミュレーションサーバ（１０５）において生成された前記仮想のテスト対象（１０９）をテストするように前記テストエンティティ（１０３）に指示するステップと
を備える方法。
【請求項１２】
以下のデータ、すなわち、
前記テスト対象（１０１）にインストールされたソフトウェアのソフトウェアステータス、
前記テスト対象（１０１）にインストールされたパッチのパッチステータス、
前記テスト対象（１０１）の構成の構成ステータス
のうち少なくとも１つについて前記仮想のテスト対象（１０９）をスキャンするステップ
をさらに備える請求項１１に記載の方法。
【請求項１３】
前記テスト対象（１０１）のデータ（１１１）が前記シミュレーションサーバ（１０５）で利用可能かどうかをテストするステップ（Ｐ１）、
前記テスト対象（１０１）のデータ（１１１）が存在する場合に、前記シミュレーションサーバ（１０５）に指示して前記テスト対象（１０１）の前記データ（１１１）に基づいて仮想のテスト対象（１０９）を生成させるステップ（Ｐ２）、
前記テストエンティティ（１０３）に指示して前記仮想のテスト対象（１０９）をテストさせるステップ（Ｐ３）、
前記仮想のテスト対象（１０９）の前記テストのテスト結果を受信するステップ（Ｐ４）、及び
前記シミュレーションサーバ（１０５）において前記仮想のテスト対象（１０９）を削除するステップ（Ｐ５）
をさらに備える請求項１０又は１１に記載の方法。
【請求項１４】
請求項１から１０のいずれか一項に記載のテストシステム（１００）の制御エンティティ（１０７）とテストネットワークにおけるテストエンティティ（１０３）との間のアプリケーション・プログラマブル・インターフェース（１１３）のためのコンピュータプログラムであって、
前記シミュレーションサーバ（１０５）によって生成される仮想のテスト対象（１０９）の識別を前記テストエンティティ（１０３）に送信するように構成された第１のプログラムモジュール、
前記テストエンティティ（１０３）に指示して前記特定のコンピュータ（１０１）の代わりに前記仮想のテスト対象（１０９）をテストさせるように構成された第２のプログラムモジュール、及び
前記テストエンティティ（１０３）に指示して前記仮想のテスト対象（１０９）の前記テストの結果を前記制御エンティティ（１０７）に送信させるように構成された第３のプログラムモジュール
を備えるコンピュータプログラム。
【請求項１５】
前記テストエンティティ（１０３）に指示して、以下のデータ、すなわち、
前記テスト対象（１０１）にインストールされたソフトウェアのソフトウェアステータス、
前記テスト対象（１０１）にインストールされたパッチのパッチステータス、
前記テスト対象（１０１）の構成の構成ステータス
のうちの少なくとも１つについて前記仮想のテスト対象（１０１）をスキャンするように構成された第４のプログラムモジュール
を備える請求項１４に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、テストネットワークにおけるコンピュータシステムのコンピュータをテストするためのテストシステム及びテストネットワークにおけるコンピュータシステムのコンピュータをテストするための方法に関する。開示は、特に、通信ネットワーク及びテスト対象をシミュレートするためのシミュレーションサーバ（ハニーポット）におけるテスト又は安全性テストを自動化するための方法に関する。
【背景技術】
【０００２】
サーバ、ルータ、スイッチなどのようなネットワーク要素の状態を監視し、例えば、その適正な構成又はソフトウェアステータスのトピカリティをテストするために、実質的に２つの方法が確立され、１つ目は、全てのネットワーク要素への直接のアクセスを有する中央テストエンティティの使用であり、２つ目は、中央テストエンティティと通信する全てのネットワークにおける、いわゆるエージェント、すなわち、追加的ソフトウェアパッケージの使用である。しかし、安全性及び複雑さに関する問題は、全てのネットワーク要素への中央テストエンティティの、又はネットワーク要素へのエージェントのインストールの直接のアクセス中に起こる。ネットワーク要素への直接のアクセスによって、テストエンティティ又はエージェントの安全性臨界データは、ある環境下で認識及び操作され得る。各ネットワーク要素におけるエージェントのインストールはまた、特に複数のコンピュータ又はサーバを有する大規模コンピュータシステムのテスト中に高い複雑さの要件を課す。
【発明の概要】
【０００３】
本開示の課題は、コンピュータシステムのコンピュータの簡素かつ安全なテストについての手法を確立することである。
【０００４】
上記課題は、独立請求項の主題事項によって達成される。更なる実施形態の効果は、従属請求項の主題である。
【０００５】
下記の装置、方法及びシステムは、異なるタイプのものとなり得る。個々に記載される各要素は、異なる技術によって生成され得る電子部品、並びに例えば半導体チップ、ＡＳＩＣ、マイクロプロセッサ、デジタル信号プロセッサ、集積電気回路、電気光学回路及び／若しくは受動部品を備え得る電子部品などのハードウェア又はソフトウェア構成要素によって実現され得る。
【０００６】
下記の装置、方法及びシステムは、コンピュータシステムのコンピュータのソフトウェアバージョン、パッチバージョン及び構成を決定するのに使用され得る。パッチとは、ここでは、セキュリティ脆弱性を修理し、エラーを修正し、又は現在まで入手可能でなかった機能をアップグレードする、エンドユーザの視点からのソフトウェア又はデータのための更新された修正バージョンをいう。これらの更新はまた、複数の組み合わせられたパッチを備える場合に、生産者からのサービスパックともいう。
【０００７】
第１の態様によると、開示は、テストネットワークにおける特定のコンピュータシステムの特定のコンピュータをテストするためのテストシステムに関し、テストネットワークはコンピュータシステムのコンピュータをテストするためのテストエンティティを備え、特定のコンピュータがテスト対象であり、テストシステムは、以下の構成：テスト対象を模擬するように構成されたシミュレーションサーバ及びシミュレーションサーバを制御するための制御エンティティを備え、制御エンティティはシミュレーションサーバに指示してテスト対象を模擬するために仮想のテスト対象を生成させるように構成され、制御エンティティはさらに、テストエンティティに指示して特定のコンピュータの代わりにシミュレーションサーバによって生成された仮想のテスト対象をテストさせるように構成される。
【０００８】
そのようなテストシステムは、コンピュータシステムのコンピュータの簡素かつ安全なテストの効果を提供する。シミュレーションサーバがあれば、テスト対象が模擬されるので、現実のテスト対象の代わりに仮想のテスト対象がテストされ得る。したがって、現実のコンピュータではなく仮想のテスト対象がテストされるので、コンピュータへの直接のアクセス中に存在する安全性の問題は取り除かれることになる。したがって、安全性の脅威がテストエンティティから出現する場合、これは現実のコンピュータ自体ではなくシミュレーションサーバ上の仮想のテスト対象を攻撃する。シミュレーションサーバはテストエンティティからコンピュータを封鎖し、「ハニーポット」を形成し、すなわち、シミュレーションサーバは、潜在的なマルウェア又はウイルスをテストエンティティに誘起して現実のコンピュータの代わりにシミュレーションサーバを攻撃し、又はそれに悪影響を及ぼすために撹乱手段として作用する。それにより、安全性は、コンピュータシステムのテスト中に高まる。
【０００９】
またさらに、そのようなシミュレーションサーバは、高い複雑さなしに実現可能である。各コンピュータがシミュレーションサーバによって同様にテストされ得るので、テストエンティティはシミュレーションサーバと通信してテストタスクを実施すればよいだけである。これによって、例えば、エージェントの実現中に個々のコンピュータをテストするために必要であったように、テストすべき全てのコンピュータにおいて特定のソフトウェアパッケージをインストールする必要はなくなる。コンピュータのテストの完了後に、シミュレーションサーバの仮想のテスト対象がここでも簡単な態様で削除され、次の仮想のテスト対象がシミュレーションサーバ上で生成され得る。
【００１０】
このような第１の態様によるテストシステムの実施形態では、テストシステムは、テスト対象のデータを受信し、シミュレーションサーバにおける受信データに基づいてテスト対象を模擬するように構成される。
【００１１】
これは、テスト対象のデータに基づいてテスト対象が模擬可能であるので、模擬に関係するデータの選択がここで行われ得るという効果を奏する。したがって、テスト対象全体、すなわち、全てのインストール済みソフトウェア及び全てのデータを有するコンピュータは複製される必要がなく、その代わり、模擬がデータの選択に基づいて生成可能であれば充分である。例えば、コンピュータは、その現在インストール済みのソフトウェア、パッチ及び／又は構成をシミュレーションサーバに送信することができるので、仮想のテスト対象はコンピュータにインストールされたソフトウェア、パッチ、構成を複製することができる。
【００１２】
このような第１の態様によるテストシステムの実施形態では、テスト対象のデータは、以下の情報：テスト対象にインストールされたソフトウェアのソフトウェアステータス、テスト対象にインストールされたパッチのパッチステータス、テスト対象の構成の構成ステータスのうちの少なくとも１つを備える。
【００１３】
これは、テストエンティティに現在関係するデータの選択に基づいてコンピュータの模擬が生成され得るという効果を奏する。コンピュータは、その現在インストール済みのソフトウェア、パッチ及び／又は構成をシミュレーションサーバに送信することができるので、仮想のテスト対象はコンピュータにインストールされたソフトウェア、パッチ、構成を複製することができる。選択は、テストエンティティの制御によって行われ得る。
【００１４】
このような第１の態様によるテストシステムの実施形態では、テストシステムは、テスト対象とテストシステムの間の直接のファイル転送によって又はテストシステムのユーザとの相互作用に基づいてテスト対象のデータを受信するように構成される。
【００１５】
これは、テスト対象のデータが柔軟にシミュレーションサーバにもたらされ得るという効果を奏する。第１に、自動ファイル転送が実行可能となり、これはテスト対象だけではなくシミュレーションサーバによっても初期化され得る。第２に、ユーザとの手動の相互作用が実行可能となるので、テストシステムのオペレータは特殊なコンピュータを、例えば、その種のコンピュータの安全性の疑いがあるときに、テストすることができる。
【００１６】
このような第１の態様によるテストシステムの実施形態では、制御エンティティは、新たなテスト対象のデータがシミュレーションサーバにおいて利用可能であるかを一定間隔でテストし、データが存在する場合に、シミュレーションサーバに指示して新たなテスト対象を模擬するために仮想のテスト対象を生成させ、テストエンティティに指示して仮想のテスト対象をテストさせるように構成される。
【００１７】
これは、シミュレーションサーバにおける対応の仮想のテスト対象を模擬することによってコンピュータシステムのコンピュータが連続的にテスト可能となるという効果を奏する。したがって、単一のシミュレーションサーバを介して多数のテスト対象をテストすることが可能となる。したがって、テストシステムが効率的に実現され、多数のテスト対象をテストするためのコストは低くなる。各テスト対象について、同一の方法が、仮想のテスト対象を生成するのにも使用され得る。
【００１８】
このような第１の態様によるテストシステムの実施形態では、制御エンティティは、アプリケーション・プログラマブル・インターフェースを介して制御するためにデータ及び更なるパラメータを受信し、シミュレーションサーバに指示して新たなテスト対象を模擬するための仮想のテスト対象を生成させ、テストエンティティに指示して仮想のテスト対象をテストさせるように構成される。
【００１９】
これは、制御エンティティがユーザ特有のものとなるようにプログラム又は調整可能となるという効果を奏し、したがって高い柔軟性を与える。
【００２０】
このような第１の態様によるテストシステムの実施形態では、制御エンティティは、テストエンティティから仮想のテスト対象のテストのテスト結果を受信するように構成される。
【００２１】
これは、制御エンティティについての全てのテスト結果が入手可能でかつ容易にアクセスできるという効果を奏する。例えば、制御エンティティは、結果を明確に表示するようにテスト結果をグラフィック処理することができる。
【００２２】
このような第１の態様によるテストシステムの実施形態では、テストシステムは制御エンティティとテストエンティティの間の第１のテストインターフェースを備え、第１のテストインターフェースはアプリケーション・プログラマブル・インターフェースを備える。
【００２３】
これは、テストエンティティが第１のテストインターフェースを介して制御又はプログラム可能となるという効果を奏する。したがって、テストシステムは、例えば異なる生産者からの異なるテストエンティティで使用され得る。
【００２４】
このような第１の態様によるテストシステムの実施形態では、テストシステムはシミュレーションサーバとテストエンティティの間の第２のテストインターフェースを備え、第２のテストインターフェースは、シミュレーションサーバにおいて仮想のテスト対象をテストするためにテストエンティティによって提供されるＰｌｕｇ−Ｉｎｓを読み込むように構成される。
【００２５】
これは、テストエンティティが第２のテストインターフェースを介してシミュレーションサーバにおいて仮想のテスト対象のテストを制御可能となるという効果を奏する。シミュレーションサーバにおいて発生するテストタスクは、テストエンティティによって提供されるＰｌｕｇ−Ｉｎｓを介して規定され得る。
【００２６】
このような第１の態様によるテストシステムの実施形態では、シミュレーションサーバは、所定のソフトウェアステータス、パッチステータス又は構成ステータスに従ってテストエンティティによって提供されるＰｌｕｇ−Ｉｎｓを介して仮想のテスト対象をスキャンするように構成される。
【００２７】
これは、コンピュータシステムのコンピュータのソフトウェアステータス、パッチステータス及び／又は構成の照会が高速かつ効率的に実行可能となるという効果を奏する。したがって、通信接続を切り換えるための複数のサーバを有する交換センター又は接続をルーティングするための複数のプロセッサモジュールなどを有するルータのような大規模コンピュータシステムのソフトウェア／パッチ／構成ステータスの見通しが迅速かつ容易に取得可能となる。
【００２８】
このような第１の態様によるテストシステムの実施形態では、シミュレーションサーバはテスト対象へのアクセスデータを有し、それは仮想のテスト対象においてのみ、かつ仮想のテスト対象のテストの期間のみ有効である。
【００２９】
これは、例えば、外部プロバイダから発生し得るので安全でないものとして分類され得るテストシステムがコンピュータ又は現実のテスト対象への直接のアクセスを取得しないので、安全性の増加の効果を奏する。仮想のテスト対象についてのみアクセスデータが有効である場合、現実のテスト対象の安全性が害されることはない。アクセスデータがテスト期間にわたってのみ有効である場合、他の時間における誤使用が排除され得る。
【００３０】
そして第２の態様によると、開示はテストネットワークにおける特定のコンピュータシステムの特定のコンピュータをテストするための方法に関し、テストネットワークはコンピュータシステムのコンピュータをテストするためのテストエンティティを備え、特定のコンピュータがテスト対象であり、方法は以下のステップ、すなわち、シミュレーションサーバにおいてテスト対象を模擬するために仮想のテスト対象を生成するステップと、特定のコンピュータの代わりにシミュレーションサーバにおいて生成された仮想のテスト対象をテストするようにテストエンティティに指示するステップとを備える。
【００３１】
そのような方法は、コンピュータシステムのコンピュータの簡素かつ安全なテストの効果を奏する。テスト対象はシミュレーションサーバにおける仮想のテスト対象の生成によって模擬可能となるので、現実のテスト対象の代わりに仮想のテスト対象がテスト可能となる。したがって、現実のコンピュータではなく仮想のテスト対象がテストされるので、コンピュータへの直接アクセス中に存在する安全性の問題が除去される。これにより、方法は、コンピュータシステムのテスト中の安全性を高める。
【００３２】
さらにまた、その方法があれば、各コンピュータは、シミュレーションサーバによって同様にテストされ得る。コンピュータのテストの完了後に、シミュレーションサーバにおける仮想のテスト対象がここでも容易な態様で検出可能であり、次の仮想のテスト対象がシミュレーションサーバにおいて生成及びテスト可能となる。したがって、方法は、大きな労力なしに容易に実現できる。
【００３３】
そして第２の態様による方法の実施形態では、方法は、以下のデータ：テスト対象にインストールされたソフトウェアのソフトウェアステータス、テスト対象にインストールされたパッチ、テスト対象の構成の構成ステータスのうちの少なくとも１つについて仮想のテスト対象をスキャンするステップをさらに備える。
【００３４】
これは、コンピュータシステムのコンピュータのソフトウェアステータス、パッチステータス及び／又は構成の照会が高速かつ効率的に実行可能となるという効果を奏する。したがって、大規模コンピュータシステムのソフトウェア／パッチ／構成ステータスの見通しが、迅速かつ容易に取得可能となる。
【００３５】
このような第２の態様による方法の実施形態では、方法は、テスト対象のデータがシミュレーションサーバで利用可能かどうかをテストするステップ、テスト対象のデータが存在する場合に、シミュレーションサーバに指示してテスト対象のデータに基づいて仮想のテスト対象を生成させるステップ、テストエンティティに指示して仮想のテスト対象をテストさせるステップ、仮想のテスト対象のテストのテスト結果を受信するステップ、及びシミュレーションサーバにおいて仮想のテスト対象を削除するステップをさらに備える。
【００３６】
これは、これらのステップの補助による方法が高速でかつ複雑でない態様で実現可能であるという効果を奏する。これらのテストするステップ、シミュレーションサーバに指示するステップ、テストエンティティに指示するステップ、受信するステップ及び削除するステップの５つのステップは、テスト結果を迅速に取得するように任意数のテスト対象について所定の環境下で連続的に実行されてもよいし、並行に実行されてもよい。
【００３７】
そして第３の態様によると、開示は、第１の態様によるテストシステムの制御エンティティとテストネットワークにおけるテストエンティティとの間のアプリケーション・プログラマブル・インターフェースのためのコンピュータプログラムに関し、シミュレーションサーバによって生成された仮想のテスト対象の識別をテストエンティティに送信するように構成された第１のプログラムモジュール、テストエンティティに指示して特定のコンピュータの代わりに仮想のテスト対象をテストさせるように構成された第２のプログラムモジュール、及びテストエンティティに指示して仮想のテスト対象のテストの結果を制御エンティティに送信させるように構成された第３のプログラムモジュールを備える。
【００３８】
そのようなコンピュータプログラムは、それがアプリケーション・プログラマブル・インターフェースをテストエンティティに与えるという効果を奏する。したがって、任意のテストエンティティがテストシステムにおいて使用可能であり、シミュレーションサーバへのテストエンティティの適合はアプリケーション・プログラマブル・インターフェースを介して発生し／実行される。
【００３９】
このような第３の態様による方法の実施形態では、コンピュータプログラムは、以下のデータ：テスト対象にインストールされたソフトウェアのソフトウェアステータス、テスト対象にインストールされたパッチのパッチステータス、テスト対象の構成の構成ステータスのうちの少なくとも１つについて、テストエンティティに指示して仮想のテスト対象をスキャンさせるように構成された第４のプログラムモジュールを備える。
【００４０】
これは、コンピュータシステムのコンピュータのソフトウェアステータス、パッチステータス及び／又は構成の照会がアプリケーション・プログラマブル・インターフェースを介して迅速かつ効率的に実行可能となるという効果を奏する。したがって、テストエンティティの実質的なテストタスクが、迅速かつ容易に割り当てられ、実行され得る。
【００４１】
図面を参照して更なる例示の実施形態を説明する。
【図面の簡単な説明】
【００４２】
【図１】第１の実施形態によるテストシステム１００の概略図である。
【図２】第２の実施形態によるテストシステム２００の概略図である。
【図３】実施形態によるコンピュータシステムのコンピュータをテストするための方法３００の概略図である。
【図４】実施形態による制御エンティティとテストエンティティの間のアプリケーション・プログラマブル・インターフェースのアプリケーションプログラム４００の概略図である。
【発明を実施するための形態】
【００４３】
以下の詳細な説明では、添付図面が参照され、それは開示の一部を構成し、本開示が置かれ得る具体的態様が例示として示される。本開示の概念から逸脱することなく、他の実施形態が利用されてもよく、構造的又は論理的変更がなされ得ることが分かるはずである。したがって、以下の詳細な説明は、限定的な意味で捉えられるべきではない。ここに記載される種々の例示の態様の構成は、特に断りがない限り、相互に組み合わせられ得ることがさらに分かるはずである。
【００４４】
態様及び実施形態が図面を参照して説明され、一般に同じ符号は同じ要素を示す。以下の説明では、多数の具体的詳細が、開示の１以上の態様の深い理解を与えるように説明的な目的のために示される。ただし、当業者には、１以上の態様又は実施形態がより低い程度の具体的詳細で実施され得ることは明らかなはずである。他の場合において、公知の構造物及び要素は、１以上の態様又は実施形態の説明を促進するように模式的な形式で示される。本開示の概念から逸脱することなく、他の実施形態が利用されてもよく、構造的又は論理的変更がなされ得ることが分かるはずである。
【００４５】
実施形態の特定の態様又は特定の構成がいくつかの実施例の１つのみに関して開示され得るが、そのような構成又は態様は所与又は特定のアプリケーションに対して所望及び有利となるように他の実施例の１以上の他の構成又は態様と組み合わせられてもよい。またさらに、用語「ｉｎｃｌｕｄｅ」、「ｈａｖｅ」、「ｗｉｔｈ」又はこれらの他の変化形が詳細な説明又は特許請求の範囲のいずれかで使用される限り、そのような用語は用語「ｃｏｍｐｒｉｓｅ」と同様の態様で包括的なものであるべきである。用語「ｃｏｕｐｌｅｄ」及び「ｃｏｎｎｅｃｔｅｄ」は、派生語とともに使用され得る。これらの用語は、２つの要素が、それらが直接物理的又は電気的に接触しているか、それらが相互に接触していないかにかかわらず、相互に協働又は作用することを示すのに使用され得ることが理解されるべきである。また、用語「ｅｘｅｍｐｌａｒｙ」、「ｆｏｒ  ｅｘａｍｐｌｅ」及び「ｅ．ｇ．」は、最良又は最適なものではなく、単に例として意味される。したがって、以下の説明は、限定的な意味で理解されるべきではない。
【００４６】
図１に、第１の実施形態によるテストシステム１００の概略図を示す。テストシステム１００は、テストネットワークにおける特定のコンピュータシステムの特定のコンピュータ１０１のテストを可能とし、すなわち、それはコンピュータシステムから選択された特定のコンピュータであればよく、テストを受けることができる。またさらに、特定のコンピュータシステムが複数の異なるコンピュータシステムから選択されて、テストを受けることができる。テストネットワークは、コンピュータシステムのコンピュータをテストするためのテストエンティティ１０３を備える。特定のコンピュータ１０１は、ここではテスト対象１０１となる。
【００４７】
テストシステム１００は、シミュレーションサーバ１０５及び制御エンティティ１０７を備え、これらは制御インターフェース１０８を介して結合される。シミュレーションサーバ１０５は、テスト対象１０１を模擬することを可能とする。制御エンティティ１０７は、シミュレーションサーバ１０５を制御することを可能とする。制御エンティティ１０７は、シミュレーションサーバ１０５に指示してテスト対象１０１を模擬するための仮想のテスト対象を生成させ、テストエンティティ１０３に指示して、特定のコンピュータ１０１の代わりに、シミュレーションサーバ１０５によって生成された仮想のテスト対象をテストさせる。
【００４８】
テストシステム１００は、テスト対象とテストシステム１００の間のテストインターフェース１０２を介してテスト対象１０１のデータ１１１を受信し、受信したデータ１１１に基づいてテスト対象１０１を模擬する。テスト対象１０１のデータ１１１は、テスト対象１０１にインストールされたソフトウェアのソフトウェアステータス、テスト対象１０１にインストールされたパッチのパッチステータス、テスト対象１０１の構成の構成ステータス又はその他データであればよい。テストインターフェース１０２は（ＦＴＰ、ＳＣＰ、ＳＭＰＴ、・・・のようなプロトコルに基づく）簡素なファイル転送インターフェース及びアプリケーション・プログラマブル・インターフェースであればよく、それを介して構成データだけでなくテストシステムを制御するための更なるパラメータが転送され得る。
【００４９】
テストシステム１００は、テスト対象１０１とテストシステム１００の間の直接ファイル転送によって、又はテストシステム１００の（図１には不図示の）ユーザとの相互作用に基づいてテスト対象１０１のデータ１１１を受信することができる。テストシステム１００がテスト対象１０１のデータ１１１を受信した場合には、制御エンティティ１０７はシミュレーションサーバ１０５に指示して新たなテスト対象１０１を模擬するための仮想のテスト対象を生成させ、テストエンティティ１０３に指示して仮想のテスト対象１０９をテストさせる。制御エンティティ１０１は、テストエンティティから仮想のテスト対象のテストのテスト結果を受信することができる。
【００５０】
テストシステム１００は、制御エンティティ１０７とテストエンティティ１０３の間の第１のテストインターフェース１０６を備える。第１のテストインターフェース１０６は、アプリケーション・プログラマブル・インターフェースであればよい。テストシステム１００は、シミュレーションサーバ１０５とテストエンティティ１０３の間の第２のテストインターフェース１０４を備える。第２のテストインターフェース１０４を介して、シミュレーションサーバ１０５における仮想のテスト対象１０９をテストするためにテストエンティティ（１０３）によって提供されるＰｌｕｇ−Ｉｎｓが読み込まれ得る。シミュレーションサーバ１０５は、所定のソフトウェアステータス、パッチステータス又は構成ステータスに従ってテストエンティティ１０３によって提供されるＰｌｕｇ−Ｉｎｓを介して仮想のテスト対象をスキャンすることができる。
【００５１】
シミュレーションサーバ１０５は、テスト対象１０１へのアクセスデータを有する。これらのアクセスデータは、仮想のテスト対象に対して瞬時的にのみ有効化されてもよい。またさらに、これらのアクセスデータは、仮想のテスト対象のテストの期間の間だけ有効化されてもよい。
【００５２】
図２に、第２の実施形態によるテストシステム２００の概略図を示す。テストシステム２００は、図１において上述したテストシステム１００に対応し得る。テストインターフェース１０２は、テスト対象１０１とテストシステム２００の間に直接実装され得るので、テスト対象において生成されたファイル１１１ａがファイル転送Ｔ１を介してテストシステム２００に直接送信され得る。テストインターフェース１０２は、代替的に、テスト対象１０１とテストシステム２００の間にインストールされたワークステーションコンピュータを介して稼働し得るので、テスト対象で生成されたファイル１１１ａが、まず、例えば第１のファイル転送Ｔ２ａによってワークステーションコンピュータ１１７に送信され、その後、例えば第２のファイル転送Ｔ２ｂによってワークステーションコンピュータ１１７からテストシステム２００に送信され得る。ユーザは、ワークステーションコンピュータ１１７における送信ファイル１１１ａを変更する可能性を有するので、テストシステム２００における既存のファイル１１１は、所定の環境においてテスト対象１０１において生成されるファイル１１１ａとは異なる。
【００５３】
制御エンティティ１０７は、例えばサーバ上のコンピュータに実装され得る。それはシミュレーションサーバ１０５にさえも実装され得るので、制御インターフェース１０８は内部インターフェースを構成する。制御エンティティ１０７は、別個のコンピュータ又はプロセッサ、例えば、シミュレーションサーバ１０５を制御するための制御コンピュータにアプリケーションソフトウェア（Ａｐｐ）としてさらに実装され得る。
【００５４】
図２において、仮想のテスト対象１０９がシミュレーションサーバ１０５において生成されることが分かる。
【００５５】
図２にテストシステム２００を示し、中央アクティブテストエンティティ１０３が使用されるが、それはシミュレーションサーバ１０５のみにアクセスし、事前にテスト対象１０１から受信されたデータ１１１を用いてテストされる対象１０１をシミュレートする。この目的のため、データ１１１ａは、テスト対象１０１において生成され、シミュレーションサーバにおいて転送される。これは、テスト対象１０１とシミュレーションサーバ１０５の間に直接ファイル転送Ｔ１を介して実装されるか、ワークステーションコンピュータ１１７（Ｔ２ａ及びＴ２ｂ）を用いてユーザを介して手動で開始され得る。制御エンティティ１０７は、新たなデータ１１１がシミュレーションサーバで利用可能であるかどうかを一定間隔でテストする（処理ステップＰ１）。その場合には、仮想のテスト対象１０９がシミュレーションサーバ１０５において生成され、それはテスト対象１０１のデータ１１１を用いてテストエンティティ１０３についてテスト対象１０１をシミュレートする（処理ステップＰ２）。そして、制御エンティティ１０７は、テストエンティティ１０３をトリガし、それを指示して仮想のテスト対象１０９をテストさせる（処理ステップＰ３）。内部テストが必要な場合には、アクセスデータが使用可能となり、それは仮想のテスト対象１０９のみ、かつテストの期間のみ有効となる。テストの完了後に、テストエンティティ１０３は、制御エンティティ１０７についてのテスト結果を提供する（処理ステップＰ４）。その後、制御エンティティは、シミュレーションサーバ１０５における仮想のテスト対象１０９の実行を終了する（処理ステップＰ５）。
【００５６】
そのようなテストシステム２００は、特に複数のテスト対象１０１がテストされるべき場合に、テスト対象１０１に対するテストエンティティ１０３の直接のアクセスに対する多様な効果を与える。多数のネットワーク要素へのアクセスを必要とする中央エンティティも、例えば、中央エンティティとしてテストエンティティ１０３を用いる場合、一方でネットワーク技術の視点から全てのネットワーク要素へのアクセスを必要とするが、他方で多くの場合においてテスト対象１０１のアクセスデータ（例えば、ユーザ名及びパスワード）を有していなければならないので、常に安全性のリスクにつながれている。テストエンティティ１０３のコンプロマイズの場合、それによって攻撃者は複数のネットワーク要素へのアクセスを有することになる。このリスクは、テストエンティティ１０３はネットワーク要素への直接のアクセスを有さないが、アクセスはシミュレーションサーバ１０５及び制御エンティティ１０７を備えるテストシステム２００を介して発生するので、ここに導入されるテストシステムには存在しない。
【００５７】
テストシステム２００の実施形態では、シミュレーションサーバ１０５はハニーポット、すなわち、コンピュータのネットワークサービス、コンピュータネットワーク全体又はユーザの挙動をシミュレートするサーバを形成する。テスト対象１０１の分離に加えて、ハニーポットが、攻撃パターン及び攻撃者の挙動についての情報を取得するために、攻撃者に対して使用され得る。そのような仮想のサービス又はユーザへのアクセスが発生すると、全ての関連するアクションが記録され、必要に応じて警告がトリガされ得る。価値のある現実のネットワーク又はコンピュータシステムは、ハニーポット又はシミュレーションサーバ１０５よりも安全化されているので、攻撃の試行から可能な限り除外されたままとなる。シミュレーションサーバ１０５のハニーポットサービスにある考えは、ユーザ自身又はその通信相手によって必要とされるサービスを提供せず、したがって通常動作において対処されることがない１以上のハニーポットをネットワークにインストールすることである。現実のサーバ又はプログラムとハニーポットの間を区別することができずに弱点について全てのネットワーク構成要素を通常通り試験する攻撃者は、ハニーポットによって提供されたサービスを遅かれ早かれ利用するので、ハニーポットによって記録されることになる。それは使用されないシステムであるので、それに対する全てのアクセスは可能な攻撃の試行として評価されるべきである。したがって、シミュレーションサーバ１０５は、コンピュータシステムのコンピュータのテストを可能とする仮想のテスト対象として、同時にコンピュータネットワークでの攻撃を撃退及び記録するハニーポットとしても作用する。
【００５８】
テストエンティティ１０３は製造者特有のサーバであればよく、それを介してコンピュータシステムのテストが行われる。例えば、テストエンティティ１０３は、Ｎｅｓｓｕｓサーバを備え得る。Ｎｅｓｓｕｓは、ネットワーク及びセキュリティスキャナである。これはクライアント−サーバの原理に基づき、これは、Ｎｅｓｓｕｓサーバはコンピュータにおいて開始されること、及びローカル又はリモートコンピュータのいずれかから１以上のクライアントに接続することが実質的に可能であることを意味する。これは、ＳＳＬ証明書及びパスワードによって安全化される。サーバが開始されると、Ｐｌｕｇ−Ｉｎｓが自動的に読み込まれる。これらのＰｌｕｇ−Ｉｎｓがあれば、スキャンされるべきホストで稼働するオペレーティングシステム又はサービスの多様なセキュリティホールが見つかる。Ｐｌｕｇ−Ｉｎｓは、Ｎｅｓｓｕｓ用のスクリプト言語「Ｎｅｓｓｕｓ  Ａｔｔａｃｋ  Ｓｃｒｉｐｔｉｎｇ  Ｌａｎｇｕａｇｅ」（ＮＡＳＬ）において作成される。クライアントプログラムの補助があれば、サーバに接続し、セッションを生成することが可能となり、Ｐｌｕｇ−Ｉｎｓ、ターゲットホスト及び他の設定を登録又は変更することができる。スキャンがホストで実行された場合、Ｎｅｓｓｕｓクライアントは空きポート及び発見された可能性ある安全性のホールの概観を与える。
【００５９】
例えば、テストエンティティ１０３は、Ｑｕａｌｙｓサーバを備え得る。そのようなサーバがあれば、コンピュータシステムがスキャンされ得る。安全性のホール又は可能性ある害が発見され、その安全性のホールを修正するのに適切なパッチが提供され得る。Ｑｕａｌｙｓサーバがあれば、例えば、脅威毎又はパッチ毎にインタラクティブなスキャン報告が記録され得る。ウェブサイト及びアプリが、最大のリスク及び有害なソフトウェアについてテストされ得る。またさらに、コンピュータは、セキュリティについて、例えば、ＳＣＡＰ（Ｓｅｃｕｒｉｔｙ  Ｃｏｎｔｅｎｔ  Ａｕｔｏｍａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）又はＯＷＡＳＰ（Ｏｐｅｎ  Ｗｅｂ  Ａｐｐｌｉｃａｔｉｏｎ  Ｓｅｃｕｒｉｔｙ  Ｐｒｏｊｅｃｔ）に関して評価され得る。ＳＣＡＰは、自動化された脆弱性管理の、測定の、及びポリシーコンプライアンスの評価についての特定の標準を用いる方法である。ＯＷＡＳＰは、ワールドワイドウェブ上のアプリケーション及びサービスの安全性を向上することを目的とする標準化団体である。
【００６０】
図３に、実施形態によるコンピュータシステムのコンピュータをテストするための方法３００の概略図を示す。
【００６１】
方法３００があれば、テストネットワークにおける特定のコンピュータシステムの特定のコンピュータ１０１がテスト可能となり、図１及び２において上述したように、テストネットワークはコンピュータシステムのコンピュータをテストするためのテストエンティティ１０３を備え、特定のコンピュータ１０１はテスト対象１０１である。方法３００は、以下のステップ：例えば図１及び２において対応して説明したように、シミュレーションサーバ１０５上でテスト対象１０１を模擬するために仮想のテスト対象１０９を生成するステップ３０１、及び例えば図１及び２において対応して説明したように、テストエンティティ１０３に指示して特定のコンピュータ１０１の代わりにシミュレーションサーバ１０５上で生成された仮想のテスト対象１０９をテストさせるステップを備える。
【００６２】
方法３００は、例えば、図１及び２において対応して説明したように、以下のステップ：以下のデータ：テスト対象１０１にインストールされたソフトウェアのソフトウェアステータス、テスト対象１０１にインストールされたパッチのパッチステータス、テスト対象１０１の構成の構成ステータスのうちの少なくとも１つについて仮想のテスト対象１０９をスキャンするステップをさらに備え得る。
【００６３】
方法３００は、例えば図１及び２において上述したような制御エンティティ１０７において実装され得る以下の５つのステップＰ１、Ｐ２、Ｐ３、Ｐ４、Ｐ５、すなわち、テスト対象１０１のデータ１１１がシミュレーションサーバ１０５において利用可能かどうかをテストするステップ（Ｐ１）、テスト対象１０１のデータ１１１が存在する場合に、シミュレーションサーバ１０５に指示してテスト対象１０１のデータ１１１に基づいて仮想のテスト対象１０９を生成するステップ（Ｐ２）、テストエンティティ１０３に指示して仮想のテスト対象１０９をテストするステップ（Ｐ３）、仮想のテスト対象１０９のテストのテスト結果を受信するステップ（Ｐ４）、及びシミュレーションサーバ１０５における仮想のテスト対象１０９を削除するステップ（Ｐ５）をさらに備え得る。
【００６４】
図４に、実施形態による制御エンティティとテストエンティティの間のアプリケーション・プログラマブル・インターフェースのアプリケーションプログラム４００の概略図を示す。アプリケーション・プログラマブル・インターフェースは、例えば、図１及び２において詳細を上述したように、テストシステム１００、２００における制御エンティティ１０７とテストエンティティ１０３の間のテストインターフェース１０６であればよい。
【００６５】
コンピュータプログラム４００は、第１のプログラムモジュール４０１、第２のプログラムモジュール４０２及び第３のプログラムモジュール４０３を備える。第１のプログラムモジュール４０１は、シミュレーションサーバ１０５によって生成された仮想のテスト対象１０９の識別、例えば、テスト対象１０１のデータを有するファイル１１１のアドレスをテストエンティティ１０３に送信するように構成される。第２のプログラムモジュール４０２は、テストエンティティ１０３に指示して特定のコンピュータ１０１の代わりに仮想のテスト対象１０９をテストさせるように構成される。第３のプログラムモジュール４０３は、テストエンティティ１０３に指示して仮想のテスト対象３０３のテストの結果を制御エンティティ１０７に送信し、例えば、この目的で適用される制御エンティティ１０７のメモリにデポジットするように構成される。
【００６６】
コンピュータプログラム４００は、テストエンティティ１０３に指示して、以下のデータ：テスト対象１０１にインストールされたソフトウェアのソフトウェアステータス、テスト対象１０１にインストールされたパッチのパッチステータス、テスト対象１０１の構成の構成ステータスのうちの少なくとも１つについて仮想のテスト対象１０１をスキャンするように構成された第４のプログラムモジュールをさらに備え得る。
【００６７】
発明の更なる態様は、デジタルコンピュータの内部メモリに直接読み込まれることができるコンピュータプログラム製品を含み、それにより製品がコンピュータで稼働すると図３において説明した方法３００が実行可能となるソフトウェアコード部分を備える。コンピュータプログラム製品はコンピュータ互換媒体に記憶可能であり、以下の：テスト対象を模擬するためにシミュレーションサーバに仮想のテスト対象を生成させ、テストエンティティに指示して特定のコンピュータの代わりにシミュレーションサーバで生成された仮想のテスト対象をテストさせるコンピュータ可読プログラム手段を備え得る。
【００６８】
コンピュータはＰＣ、例えば、コンピュータネットワークのＰＣであればよい。コンピュータは、チップ、ＡＳＩＣ、マイクロプロセッサ又は信号プロセッサとして実現され、コンピュータネットワークにおいて、例えば、図１から２のいずれかで説明したコンピュータシステムに配置され得る。
【００６９】
ここに例示的に記載された様々な実施形態の構成は、特に別段の指定がない限り相互に組み合わせ可能であることが理解されるべきである。説明及び図面で示したように、接続されて示された個々の要素は相互に直接関係するものではなく、接続要素間に介在要素が設けられてもよい。また、発明の実施形態は個々の回路、部分的に集積された回路若しくは完全に集積された回路又はプログラミング手段において実施され得る。用語「ｆｏｒ  ｅｘａｍｐｌｅ」は、最良又は最適なものではなく、単に例として意味される。所定の実施形態がここに説明及び記載されたが、当業者には、本開示の概念から逸脱することなく、説明及び記載された実施形態の代わりに様々な代替の及び／又は同様の実施例が実現され得ることが明らかなはずである。
【符号の説明】
【００７０】
１００  テストシステム
１０１  テスト対象又は特定のコンピュータシステムの特定のコンピュータ
１０２  テストインターフェース
１０３  テストエンティティ
１０４  （シミュレーションサーバとテストエンティティの間の）第２のテストインターフェース
１０５  シミュレーションサーバ
１０６  （制御エンティティとテストエンティティの間の）第１のテストインターフェース
１０７  制御エンティティ
１０８  （制御エンティティとシミュレーションサーバの間の）制御インターフェース
１０９  仮想のテスト対象
１１１ａ  テスト対象で生成されるテスト対象のデータ
１１１  シミュレーションサーバで受信されたテスト対象のデータ
１１７  ワークステーションコンピュータ
Ｔ１  テスト対象とシミュレーションサーバの間のファイル転送
Ｔ２ａ  テスト対象とワークステーションコンピュータの間のファイル転送
Ｔ２ｂ  ワークステーションコンピュータとシミュレーションサーバの間のファイル転送
３００  テストの方法
３０１  方法の第１のステップ：仮想のテスト対象を生成するステップ
３０２  方法の第２のステップ：テストエンティティに指示するステップ
４００  制御エンティティとテストエンティティの間のアプリケーション・プログラマブル・インターフェースのためのコンピュータプログラム
４０１  第１のプログラムモジュール
４０２  第２のプログラムモジュール
４０３  第３のプログラムモジュール
【図１】
2018503922.tif 000003
【図２】
2018503922.tif 000004
【図３】
2018503922.tif 000005
【図４】
2018503922.tif 000006
【国際調査報告】
2018503922.tif 000007
2018503922.tif 000008
2018503922.tif 000009
2018503922.tif 000010