(57)【要約】【課題】パケットフィルタの設定の検証を網羅的にかつ効率よく行えるようにする。【解決手段】始点ＩＰアドレスと始点ポート番号の組み合わせによる集合について、その全体集合の中で検証対象の複数のルールが単独で該当する個々の領域、該複数のルールのうち任意の複数のルールが共通に該当する個々の領域、該複数のルールがいずれも該当しない領域からサンプル点をそれぞれ選択する。プロトコルと終点ＩＰアドレスを前記ルール相互間で共通に設定されている属性に固定設定し、かつ始点ＩＰアドレスと始点ポート番号の組み合わせを前記選択された各サンプル点に順次変化させて設定し、かつ該サンプル点ごとに終点ポート番号を適宜の範囲で順次変化させて設定した検証パケットを順次発生する。該順次発生される検証パケットをパケットフィルタに入力し、該パケットフィルタを動作させてフィルタの設定を検証する。【選択図】図１
2008131463.tif 000002
【特許請求の範囲】
【請求項１】
パケットの属性に関する複数の判定条件とパケットの属性が該複数の判定条件に適合したときの該パケットの通過または破棄の動作を規定した複数のルールを設定したパケットフィルタについて、適宜の複数のルールの設定を検証するための検証パケットを発生する方法であって、
パケットの適宜の複数の属性の組み合わせによる集合について、その全体集合の中で前記適宜の複数のルールが単独で該当する個々の領域、該適宜の複数のルールのうち任意の複数のルールが共通に該当する個々の領域、該適宜の複数のルールがいずれも該当しない領域からサンプル点をそれぞれ選択し、
該適宜の複数の属性の組み合わせを該選択された各サンプル点に順次変化させて設定し、かつ該サンプル点ごとに他の属性を順次変化させて設定した検証パケットを順次発生する検証パケット発生方法。
【請求項２】
パケットの属性に関する複数の判定条件とパケットの属性が該複数の判定条件に適合したときの該パケットの通過または破棄の動作を規定した複数のルールを設定したパケットフィルタについて、該パケットフィルタに設定されているＷＡＮ側フィルタの全ルールのうちＷＡＮ側からＬＡＮ側へ通信されるパケットに適用されかつプロトコルおよび終点ＩＰアドレスがルール相互間で共通に設定されている複数のルールの設定を検証するための検証パケットを発生する方法であって、
始点ＩＰアドレスと始点ポート番号の組み合わせによる集合について、その全体集合の中で前記検証対象の複数のルールが単独で該当する個々の領域、該複数のルールのうち任意の複数のルールが共通に該当する個々の領域、該複数のルールがいずれも該当しない領域からサンプル点をそれぞれ選択し、
プロトコルと終点ＩＰアドレスを前記ルール相互間で共通に設定されている属性に固定設定し、かつ始点ＩＰアドレスと始点ポート番号の組み合わせを前記選択された各サンプル点に順次変化させて設定し、かつ該サンプル点ごとに終点ポート番号を適宜の範囲で順次変化させて設定した検証パケットを順次発生する検証パケット発生方法。
【請求項３】
請求項１または２記載の方法を実行する検証パケット発生装置。
【請求項４】
請求項１または２記載の方法を処理装置に実行させる検証パケット発生プログラム。
【請求項５】
請求項１または２記載の方法により発生される検証パケット列。
【請求項６】
請求項１または２記載の方法により順次発生される検証パケットを前記パケットフィルタに入力し、該パケットフィルタを動作させるパケットフィルタのテスト方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ルータ等のネットワーク機器に設定されるパケットフィルタの設定を検証するための検証パケット発生方法、検証パケット発生装置、検証パケット発生プログラム、検証パケット列並びにパケットフィルタのテスト方法に関し、パケットフィルタの設定の検証を網羅的にかつ効率よく行えるようにしたものである。
【背景技術】
【０００２】
パケットフィルタはルータ等のネットワーク機器に設定されて、該ネットワーク機器に入力されるパケットのヘッダ情報をチェックして、該パケットを通過または破棄する処理を行うものである。パケットフィルタは一般に該ネットワーク機器のＷＡＮ側でフィルタ処理を行うフィルタルール（ＷＡＮ側フィルタ）とＬＡＮ側でフィルタ処理を行うフィルタルール（ＬＡＮ側フィルタ）が設定されている。また、ＷＡＮ側フィルタおよびＬＡＮ側フィルタにはＷＡＮ側からＬＡＮ側に向けて送信されるパケットに対するフィルタルールと、ＬＡＮ側からＷＡＮ側に向けて送信されるパケットに対するフィルタルールがそれぞれ設定されている。パケットフィルタは多くの場合ヘッダ情報に含まれている次の内容（パケットの属性）をチェックする。以下これらのチェック項目を「判定条件」という。
・始点（送信元）ＩＰアドレス（source address）
・始点（送信元）ポート番号（source port）
・プロトコル（protocol）
・終点（受信先）ＩＰアドレス（destination address）
・終点（受信先）ポート番号（destination port）
【０００３】
典型的なパケットフィルタの設定は、複数のルールを順番に並べたものである。ここで「ルール」とは「判定条件」と「動作」の組み合わせである。「判定条件」については、１つのルールで複数の値を指定できるのが普通である。例えば始点ポート番号としては「１０２４〜６５５３５」のように数値範囲（あるいは数値の列挙）で指定できる。この数値範囲の指定例では始点ポート番号が１０２４であっても１０２５であってもこの判定条件に一致する（つまり１０２４〜６５５３５の範囲に属している）ことになる。「動作」は「通過（pass）」または「破棄（reject）」である。
【０００４】
パケットフィルタ処理は多くの場合パケットを受信するたびに図２に示す処理を実行する。すなわち１つのパケットを受信すると（Ｓ０）、該パケットに付されているヘッダ情報に含まれている属性情報と最初のルール１の判定条件とが比較され、該パケットがこの判定条件に一致するかどうかが判定される（Ｓ１）。判定の結果一致していれば、このルール１で設定された動作に従い該パケットは通過または破棄され（Ｓ１ａ）、そこで処理を終了する。一致しない場合は、次のルール２に進み、同様に判定および処理（Ｓ２，Ｓ３）が実行される。そして最後のルールｎまで進んで同様に判定および処理（Ｓｎ，Ｓｎａ）が実行された結果、ルール１〜ｎのいずれにも一致しなかった場合は、該パケットはデフォルトルールに従って通過または破棄されて、処理を終了する（Ｓｎ＋１）。このようにして、各受信パケットについて判定条件に一致するまで（一致しない場合は最後のルールｎまで）、各ルール１〜ｎについて順番に判定される。
【０００５】
パケットフィルタには使用者により数多くのルールが設定される場合があり、ルールの順番を間違えて設定したり、矛盾する（相容れない）複数のルールを設定したりすることによる設定ミスが発生しやすい。そこで、パケットフィルタにルールを設定した後、該パケットフィルタが使用者の意図したとおりに設定されているかどうかを検証する必要がある。
【０００６】
パケットフィルタが使用者の意図したとおりに設定されているかどうかを検証するために、従来よりダミーのパケット（検証パケット）を発生させパケットフィルタに入力して、該パケットフィルタの挙動を調べることが行われている。そして、この検証のためにポートスキャンという技術が用いられている。ポートスキャンは、例えばＷＡＮ側からＬＡＮ側へ送り込まれるパケットに対するＷＡＮ側フィルタのフィルタルールについて設定を検証する場合、プロトコル（ＴＣＰ、ＵＤＰ等）、始点ＩＰアドレス（相手側のグローバルＩＰアドレス）、始点ポート番号（相手側のポート番号）、終点ＩＰアドレス（自分側のグローバルＩＰアドレス）をそれぞれ固定設定しかつ終点ポート番号（自分側のポート番号）を例えば０〜６５５３５の全範囲で変化させた検証パケットを順次発生させてパケットフィルタに入力し、パケットが通過する終点ポート番号を洗い出すことにより行われる。使用者は、この洗い出された終点ポート番号から、自己のネットワーク機器に設定されているパケットフィルタの、ＷＡＮ側からＬＡＮ側へ送り込まれるパケットに対するＷＡＮ側フィルタのフィルタルールが自分の意図したとおりに設定されているかどうかを検証することができる。なお、ポートスキャンを利用してパケットフィルタの設定を検証することを記載した文献として下記非特許文献１がある。
【非特許文献１】「サーバ管理者のためのポート番号早引き・活用辞典」持丸浩二郎著、日本実業出版社、２００３年６月１日発行、Ｐ．６１〜６４
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ＷＡＮ側からＬＡＮ側へ送り込まれるパケットに対するＷＡＮ側フィルタのフィルタルールの設定を検証するためのポートスキャンは、一般的には前述のようにプロトコル、始点ＩＰアドレス、始点ポート番号、終点ＩＰアドレスをそれぞれ固定設定しかつ終点ポート番号を所定範囲（例えば０〜６５５３５）で変化させた検証パケットを順次発生させることにより行われる。ところが、始点ＩＰアドレスと始点ポート番号の組み合わせは様々であり、この組み合わせによってはポートスキャンの結果が異なる可能性がある。例えば或る端末（１つの始点ＩＰアドレスと始点ポート番号の組み合わせ）から送信されたパケットは或る終点ＩＰアドレスの或る終点ポート番号で破棄されても、他の端末（他の１つの始点ＩＰアドレスと始点ポート番号の組み合わせ）から送信されたパケット（始点ＩＰアドレスおよび始点ポート番号以外の属性は先と同じパケット）は同終点ＩＰアドレスの同終点ポート番号を通過する可能性がある。このようなケースでは、特定の始点ＩＰアドレスと始点ポート番号の組み合わせについてポートスキャンしただけでは、ＷＡＮ側からＬＡＮ側へ送り込まれるパケットに対するＷＡＮ側フィルタのフィルタルールの設定を網羅的に検証したことにはならない。一方、始点ＩＰアドレスおよび始点ポート番号の組み合わせとして取り得る範囲をすべて検証するには、２48通り（始点ＩＰアドレス２32通り×始点ポート番号２16通り）の組み合わせを調べなければならず、ポートスキャンに膨大な時間がかかり現実的ではない。
【０００８】
この発明は上述の点に鑑みてなされたもので、判定条件の組み合わせとして取り得る範囲のすべてを検証しなくてもパケットフィルタの設定を網羅的に検証できるようにして、パケットフィルタの設定の検証を網羅的にかつ効率よく行えるようにした検証パケット発生方法、検証パケット発生装置、検証パケット発生プログラム、検証パケット列並びにパケットフィルタのテスト方法を提供しようとするものである。
【課題を解決するための手段】
【０００９】
この発明の検証パケット発生方法は、パケットの属性に関する複数の判定条件とパケットの属性が該複数の判定条件に適合したときの該パケットの通過または破棄の動作を規定した複数のルールを設定したパケットフィルタについて、適宜の複数のルール（例えばパケットフィルタに設定される全ルールのうち同一方向へ通信されるパケットに適用されかつ判定条件に含まれる少なくとも１つの属性がルール相互間で共通に設定されている全ルール）の設定を検証するための検証パケットを発生する方法であって、パケットの適宜の複数の属性の組み合わせによる集合について、その全体集合の中で前記適宜の複数のルールが単独で該当する個々の領域、該適宜の複数のルールのうち任意の複数のルールが共通に該当する個々の領域、該適宜の複数のルールがいずれも該当しない領域からサンプル点をそれぞれ選択し、該適宜の複数の属性の組み合わせを該選択された各サンプル点に順次変化させて設定し、かつ該サンプル点ごとに他の属性を順次変化させて設定した検証パケットを順次発生するようにしたものである。検証パケットのルール相互間で共通の属性（前記適宜の複数の属性および前記他の属性以外の属性）は該共通の属性に固定設定することができる。
【００１０】
この発明によれば、前記各領域内ではいずれのサンプル点を用いてもパケットフィルタに対するパケット（該サンプル点以外の属性が同じであるパケット）の通過、破棄の結果は同じになるので、該各領域ごとに選択したサンプル点について検証パケットを発生することにより、限られた数の検証パケットで該パケットフィルタの設定を網羅的に検証することができ、該パケットフィルタの設定の検証を網羅的にかつ効率よく行うことができる。
【００１１】
この発明の検証パケット発生方法は、例えばＷＡＮ側フィルタの全ルールのうちＷＡＮ側からＬＡＮ側へ通信されるパケットに適用されかつプロトコルおよび終点ＩＰアドレスがルール相互間で共通に設定されている複数のルールの設定を検証する場合は、始点ＩＰアドレスと始点ポート番号の組み合わせによる集合について、その全体集合の中で前記検証対象の複数のルールが単独で該当する個々の領域、該複数のルールのうち任意の複数のルールが共通に該当する個々の領域、該複数のルールがいずれも該当しない領域からサンプル点をそれぞれ選択し、プロトコルと終点ＩＰアドレスを前記ルール相互間で共通に設定されている属性に固定設定し、かつ始点ＩＰアドレスと始点ポート番号の組み合わせを前記選択された各サンプル点に順次変化させて設定し、かつ該サンプル点ごとに終点ポート番号を適宜の範囲で順次変化させて設定した検証パケットを順次発生するものとすることができる。
【００１２】
この発明の検証パケット発生装置はこの発明の検証パケット発生方法を実行するものである。この発明の検証パケット発生プログラムはこの発明の検証パケット発生方法を処理装置に実行させるものである。この発明の検証パケット列はこの発明の検証パケット発生方法により発生されるものである。この発明のパケットフィルタのテスト方法はこの発明の検証パケット発生方法により順次発生される検証パケットを前記パケットフィルタに入力し、該パケットフィルタを動作させるものである。
【発明を実施するための最良の形態】
【００１３】
この発明の実施の形態を以下説明する。図３は全体のシステム構成およびルータ１０内の機能ブロックを示す。この実施の形態では、ルータ１０内に検証パケット発生装置および該装置から発生される検証パケットを使用してパケットフィルタをテスト動作させるテスト装置を内蔵している。はじめに、通常の通信で使用される部分について説明する。ルータ１０はイーサネット（登録商標）インタフェース１２を介してＷＡＮ側（インターネット側）１４に接続され、イーサネットインタフェース１６を介してＬＡＮ側１８に接続されて、ＷＡＮ側１４とＬＡＮ側１８間で相互通信を可能にしている。
【００１４】
ルータ１０内のパケット転送処理部２２はパケットフィルタ２４を具えている。このパケットフィルタ２４は、パケットの属性に関する複数の判定条件とパケットの属性が該複数の判定条件に適合したときの該パケットの通過または破棄の動作を規定した複数のルールを縦続的に設定し、入力されるパケットについてその属性が前記いずれかのルールで規定された判定条件に一致するか否かを先頭のルールから順番に検査し、一致するルールがあった場合はそのルールで規定された動作に従い該パケットを通過または破棄して処理を終了し、最後のルールまで一致するルールがなかった場合は該パケットを通過または破棄するようにその動作が設定されている。
【００１５】
パケットフィルタ２４はＷＡＮ側で処理を行うＷＡＮ側フィルタとＬＡＮ側で処理を行うＬＡＮ側フィルタで構成されている。両フィルタにはＷＡＮ側１４からＬＡＮ側１８に向けて送信されるパケットに対するフィルタルールと、ＬＡＮ側１８からＷＡＮ側１４に向けて送信されるパケットに対するフィルタルールがそれぞれ設定されている。パケットフィルタ２４のフィルタルールの設定は、使用者によるＬＡＮ側１８のコンピュータからの操作により、イーサネットインタフェース１６を介して（または別途用意されたシリアルインタフェースを介して）行われる。使用者により設定されたフィルタルールはパケットフィルタ設定部（メモリ）３２に記憶され、パケットフィルタ２４はこの記憶データに該当する内容に設定される。
【００１６】
ＷＡＮ側１４側から送信されるパケットは、イーサネットインタフェース１２のパケット受信処理部２０で受信されてパケット転送処理部２２に供給される。パケット転送処理部２２内のパケットフィルタ２４は受信したパケットのヘッダ情報とパケットフィルタ２４に設定されているルール（ＷＡＮ側１４からＬＡＮ側１８に向けて送信されるパケットに対するフィルタルール）とを照合し、例えば前記図２に示したパケットフィルタ処理を実行して、パケットごとに通過または破棄する処理を行う。このパケットフィルタ処理は最初にＷＡＮ側フィルタについて行われ、ＷＡＮ側フィルタを通過したパケットについてさらにＬＡＮ側フィルタについて行われる。パケットフィルタ２４を通過したパケットはイーサネットインタフェース１６のパケット送信処理部２６を介してＬＡＮ側１８のコンピュータに転送される。
【００１７】
一方、ＬＡＮ側１８のコンピュータから送信されたパケットはイーサネットインタフェース１６のパケット受信処理部２８で受信されてパケット転送処理部２２に供給される。パケット転送処理部２２のパケットフィルタ２４は受信したパケットのヘッダ情報とパケットフィルタ２４に設定されているルール（ＬＡＮ側１８からＷＡＮ側１４に向けて送信されるパケットに対するフィルタルール）とを照合し、例えば前記図２に示したパケットフィルタ処理を実行して、パケットごとに通過または破棄する処理を行う。このパケットフィルタ処理は最初にＬＡＮ側フィルタについて行われ、ＬＡＮ側フィルタを通過したパケットについてさらにＷＡＮ側フィルタについて行われる。パケットフィルタ２４を通過したパケットはイーサネットインタフェース１２のパケット送信処理部３０を介してＷＡＮ側１４に転送される。
【００１８】
次に、ルータ１０内の検証パケット発生装置およびテスト装置について説明する。ここではパケットフィルタ２４に設定された全フィルタルールのうち、ＷＡＮ側からＬＡＮ側へ送り込まれるパケットに対するＷＡＮ側フィルタのフィルタルール（ルータ１０に割り当てられたグローバルＩＰアドレスが終点ＩＰアドレスとして共通に設定されているルール）の設定を検証する場合について説明する。図１は検証パケットを使用したパケットフィルタ２４のテスト（ポートスキャン）の手順を示す。使用者がＬＡＮ側１８のコンピュータからポートスキャンの準備を指示すると（Ｓ１０）、使用者の操作によりまたは自動で検証パケットに付与する属性のうちプロトコル、終点ＩＰアドレスおよびポートスキャン範囲が設定される（Ｓ１１）。プロトコルはＴＣＰ、ＵＤＰ等のうち検証しようとするルールのプロトコルが使用者の操作により設定される。終点ＩＰアドレスはルータ１０に割り当てられたグローバルＩＰアドレスが使用者の操作によりまたは自動で設定される。終点ポート番号はルータ１０のポート番号のスキャン範囲（全範囲スキャンする場合は０〜６５５３５）が使用者の操作によりまたは自動で設定される。なお、フィルタ種類（ＷＡＮ側フィルタかＬＡＮ側フィルタか）を選択してテストできるようにする場合や、パケットの送信方向（ＷＡＮ側１４からＬＡＮ側１８への送信かＬＡＮ側１８からＷＡＮ側１４への送信か）を選択してテストできるようにする場合は、使用者の操作によりフィルタ種類やパケットの送信方向を設定する。
【００１９】
検証パケットの属性が設定されたら、パケットフィルタ２４に設定されたＷＡＮ側からＬＡＮ側へ送り込まれるパケットに対するＷＡＮ側フィルタのフィルタルールのうち検証パケットの属性設定で設定されたプロトコルについて適用される全ルールについて、各ルールで設定された始点ＩＰアドレスと始点ポート番号の組み合わせによる集合に関し、その全体集合の中で各ルールが単独で該当する個々の領域、該各ルールのうち任意の複数のルールが共通に該当する個々の領域、該各ルールがいずれも該当しない領域からサンプル点が自動で１点ずつ選択される（Ｓ１２）。
【００２０】
これでポートスキャン待機状態となり、使用者がポートスキャンの開始を指示すると（Ｓ１３）、プロトコルと終点ＩＰアドレスを前記検証パケットの属性設定で設定された値に固定設定し、始点ＩＰアドレスと始点ポート番号の組み合わせを前記選択された各サンプル点に順次変化して設定し、終点ポート番号を前記検証パケットの属性設定で設定された範囲で順次変化して設定した検証パケットが自動で順次発生され、パケットフィルタ２４に設定されたＷＡＮ側からＬＡＮ側へ送り込まれるパケットに対するＷＡＮ側フィルタに供給されてポートスキャンが実行される（Ｓ１４）。
【００２１】
全検証パケットによるポートスキャンが終了すると、ポートスキャンによる各検証パケットの通過、破棄の結果が自動で集計され、集計結果として例えば通過したパケットの属性情報（始点ＩＰアドレス、始点ポート番号、終点ポート番号、プロトコル等）がＬＡＮ側１８のコンピュータのディスプレイに表示される（Ｓ１５）。使用者はこの結果を見てパケットフィルタ２４に設定された全フィルタルールのうち、ＷＡＮ側からＬＡＮ側へ送り込まれるパケットに対するＷＡＮ側フィルタのフィルタルールの設定を検証することができる。他のプロトコルについて検証する場合は検証パケットの属性設定（Ｓ１１）でプロトコルの設定を変更し、上記同様の手順でポートスキャンを実行する。
【００２２】
以上の処理を実行する図３のルータ１０について説明する。ポートスキャン設定部（メモリ）３４は前記検証パケットの属性設定（図１のＳ１１）で設定された検証パケットの属性を記憶する。設定解析処理部３６はパケットフィルタ設定部３２に設定されているフィルタルールとポートスキャン設定部３４に設定されている検証パケットの属性に基づき、ポートスキャンの準備段階として、前記サンプル点を選択する処理（同Ｓ１２）を実行する。ポートスキャン処理部３８は、サンプル点が選択されてポートスキャンの準備が完了した後、使用者によるポートスキャン開始指示（同Ｓ１３）を受けて、該選択されたサンプル点ごとに終点ポート番号を前記設定された範囲で順次変化させた検証パケットを発生する。この検証パケットはパケット転送処理部２２に直接入力され、パケットフィルタ２４のＷＡＮ側フィルタに供給されてフィルタ処理（ポートスキャン）が実行される（同Ｓ１４）。
【００２３】
ポートスキャンによる各検証パケットの通過、破棄の結果はポートスキャン処理部３８に伝えられる。ポートスキャン処理部３８はこの結果に基づき通過したパケットの情報（始点ＩＰアドレス、始点ポート番号、終点ポート番号、プロトコル等）をまとめて、ポートスキャン結果出力部４０を介してＬＡＮ側１８のコンピュータに送出する。該コンピュータは該情報をディスプレイに表示する。使用者はこの表示を見てパケットフィルタ２４の設定を検証する。
【００２４】
なお、ポートスキャン処理部３８から発生する検証パケットに特殊な識別データを埋め込んでおくことにより、通常の通信用のパケットと区別した処理をすることができる。この識別情報を利用して、例えばこの識別データが検出されるパケットについてのみポートスキャン処理を実行させるようにすることができる。また、パケットフィルタ２４を通過したパケットのうち識別データが検出されるパケットについてルータ１０内で破棄することにより、検証パケットがネットワーク側（ＷＡＮ側１４）に漏れないようにすることができる。
【００２５】
ここで、設定解析処理部３６による始点ＩＰアドレスと始点ポート番号の組み合わせのサンプル点の選択処理について説明する。ここではパケットフィルタ２４のＷＡＮ側フィルタのうちＷＡＮ側１４からＬＡＮ側１８に送信されるパケットに適用されるフィルタルールをＲ１〜Ｒｎとする。これらルールＲ１〜Ｒｎは、ルータ１０に割り当てられたグローバルＩＰアドレスが終点ＩＰアドレスとして共通に設定され、かつプロトコルが前記検証パケットの属性設定（図１のＳ１１）で設定されたプロトコルに共通に設定されているものとする。ルールＲ１〜Ｒｎに設定されている始点ＩＰアドレスと始点ポート番号の組み合わせをＣｉ（ｉ＝１，２，…，ｎ）で表す。ここでは説明の便宜上３つのルールＲ１，Ｒ２，Ｒ３が設定されているものとする。入力パケットは前記図２のパケットフィルタ処理に従い、Ｒ１→Ｒ２→Ｒ３の順にフィルタに掛けられていき、判定条件が一致したところでルールに規定された動作に従い通過または破棄される。いずれのルールの判定条件にも一致しなかったパケットはデフォルトルールに従って通過または破棄される。
【００２６】
図４はルールＲ１〜Ｒ３における始点ＩＰアドレスと始点ポート番号の組み合わせの各集合Ｃ１〜Ｃ３を、始点ＩＰアドレスを横軸にとり、始点ポート番号を縦軸にとって模式的に図示したものである。始点ＩＰアドレスと始点ポート番号の組み合わせの全体集合は、各集合Ｃｉが単独で該当する個々の領域、各集合Ｃｉのうち任意の複数の集合が共通に該当する個々の領域、各集合Ｃｉがいずれも該当しない領域に区分される。これら領域の場合分けの数は２n個（したがって集合がＣ１，Ｃ２，Ｃ３の３つであれば領域の場合分けの数は８個）である。各集合Ｃｉに属さない部分（すなわち補集合）を−Ｃｉで表すと、各領域Ｓｊ（ｊ＝１，２，３，…，２n）はそれぞれ次式で表される（＊は積集合を表す）。
Ｓ１：Ｃ１＊Ｃ２＊Ｃ３
Ｓ２：−Ｃ１＊Ｃ２＊Ｃ３
Ｓ３：Ｃ１＊−Ｃ２＊Ｃ３
Ｓ４：Ｃ１＊Ｃ２＊−Ｃ３
Ｓ５：−Ｃ１＊−Ｃ２＊Ｃ３
Ｓ６：Ｃ１＊−Ｃ２＊−Ｃ３
Ｓ７：−Ｃ１＊Ｃ２＊−Ｃ３
Ｓ８：−Ｃ１＊−Ｃ２＊−Ｃ３
【００２７】
これら領域のうち空集合となる領域がある場合（複数の集合どうしが共通に該当する領域が無い場合）は該空集合となる領域を取り除く。また、相互に一致する複数の領域がある場合（同一のルールが重複して設定されている場合）はその内の１つの領域のみ残し他は取り除く。そして残りの領域からそれぞれ１点ずつ任意のサンプル点（空集合、一致領域が無ければ全８点）を選択する。各領域からサンプル点を選択する処理手法として図形の切り取りのアルゴリズムを利用することができる。そのようなアルゴリズムとしては例えば、Sutherland-Hodgman法と呼ばれるPolygon Clippingを用いることができる。このPolygon Clippingによれば各領域を構成する多角形の頂点が求まるので、各領域の頂点位置の１つをサンプル点として選択することができる。なお、図４の模式図上で１つの領域が複数箇所に分割される場合があるが（例えば図４上で２つのルールによる集合が十字上に交差する場合、各集合が単独で該当する領域はそれぞれ２分割される）、そのような場合でも分割領域ごとにサンプル点を選択する必要はなく、分割された領域全体の中から１つのサンプルを選択すればよい。ただし、分割領域ごとにサンプル点を選択しても問題はない。
【００２８】
以上のようにして各領域から選択された各サンプル点（始点ＩＰアドレスと始点ポート番号の組み合わせ）について、終点ポート番号を前記検証パケットの属性設定（図１のＳ１１）で設定された範囲（例えば０〜６５５３５）で変化させた検証パケットを順次発生してポートスキャンを行う。これによれば、同一の領域内ではどこでサンプリングしても通過、破棄の結果は同じになるので、１つの領域についてはその中の１つのサンプル点についてポートスキャンすればその領域全体をポートスキャンしたのと同じになり、無駄なポートスキャンをしなくて済む。しかも空集合および一致領域を除く全領域のサンプル点についてポートスキャンするので、始点ＩＰアドレスと始点ポート番号の組み合わせ全体についてポートスキャンしたのと同じになり、漏れのないポートスキャンを行うことができる。
【００２９】
次に具体例について説明する。ここではパケットフィルタ２４のＷＡＮ側フィルタに設定されたルールのうちＷＡＮ側１４からＬＡＮ側１８に送信されるパケットに適用されるルールとして表１に示す２つのルール１，２が設定されているものとする。
【表１】
2008131463.tif 000003
【００３０】
使用者によりポートスキャンの準備が指示されると、図３の設定解析処理部３６は各ルール１，２の始点ＩＰアドレスと始点ポート番号の組み合わせによる集合について、その全体集合の中でルール１，２が単独で該当する個々の領域Ｘｓ１，Ｘｓ２、ルール１，２が共通に該当する領域Ｘｓ３、ルール１，２がいずれも該当しない領域Ｘｓ４を求め、各領域Ｘｓ１〜Ｘｓ４からサンプル点を１点ずつ選択する（図１のＳ１２）。図５は領域Ｘｓ１〜Ｘｓ４を模式的に示したものである。ルール１による始点ＩＰアドレスと始点ポート番号の組み合わせの集合および補集合をそれぞれＣ１、−Ｃ１とし、ルール２による同組み合わせの集合および補集合をそれぞれＣ２、−Ｃ２とすると、領域Ｘｓ１〜Ｘｓ４はそれぞれ次式で表される。
Ｘｓ１：Ｃ１＊−Ｃ２
Ｘｓ２：−Ｃ１＊Ｃ２
Ｘｓ３：Ｃ１＊Ｃ２
Ｘｓ４：−Ｃ１＊−Ｃ２
【００３１】
設定解析処理部３６は領域Ｘｓ１〜Ｘｓ４ごとに任意のサンプル点を１点ずつ選択する。各領域から選択したサンプル点の例を表２に示す。
【表２】
2008131463.tif 000004
【００３２】
設定解析処理部３６がサンプル点を選択するとポートスキャン開始待機状態となり、次いで使用者によりポートスキャンの開始が指示されると、ポートスキャン処理部３８はプロトコルと終点ＩＰアドレスを表１による値に固定設定し、かつ始点ＩＰアドレスと始点ポート番号の組み合わせを、選択された各サンプル点に順次切り換えて設定し、かつ該順次切り換えられるサンプル点ごとに終点ポート番号を表１により設定された０〜６５５３５の範囲で順次変化させた検証パケットを順次発生し、これによりポートスキャンが実行される。
【００３３】
なお、前記実施の形態では各領域で選択するサンプル数を１としたが、この発明は各領域のサンプル数を２以上とすることを妨げるものではない。
【００３４】
前記実施の形態では始点ＩＰアドレスと始点ポート番号の２つの属性の組み合わせによる集合についてサンプル点を選択したが、３つ以上の属性の組み合わせによる集合についてサンプル点を選択することもできる。例えば始点ＩＰアドレスと始点ポート番号とプロトコルの３つの属性の組み合わせの場合は、検証パケットの属性設定（図１のＳ１１）をプロトコルごとに変更することなく、全プロトコルについて一度にポートスキャンすることができる。
【００３５】
前記実施の形態では、ＷＡＮ側からＬＡＮ側へ送り込まれるパケットに対するＷＡＮ側フィルタのフィルタルールの設定を検証する場合について説明したが、この発明はＷＡＮ側からＬＡＮ側へ送り込まれるパケットに対するＬＡＮ側フィルタのフィルタルール、ＬＡＮ側からＷＡＮ側へ送出されるパケットに対するＬＡＮ側フィルタのフィルタルール、ＬＡＮ側からＷＡＮ側へ送出されるパケットに対するＷＡＮ側フィルタのフィルタルールの設定を検証する場合にも適用することができる。例えば、ＬＡＮ側からＷＡＮ側へ送出されるパケットに対するＷＡＮ側フィルタのフィルタルールの設定を検証する場合は、終点ＩＰアドレス（相手側のＩＰアドレス）と終点ポート番号（相手側のポート番号）の組み合わせによる集合についてサンプル点を選択し、始点ＩＰアドレスを自分側のグローバルＩＰアドレス（ルータ１０に割り当てられたグローバルＩＰアドレス）に固定設定し、プロトコルを任意のプロトコルに固定設定し、終点ＩＰアドレスと終点ポート番号の組み合わせを前記選択された各サンプル点に順次変化させて設定し、該サンプル点ごとに始点ポート番号（自分側のポート番号）を適宜の範囲で順次変化させて設定した検証パケットを順次発生させてポートスキャンを行うことができる。
【００３６】
前記実施の形態ではネットワーク機器（ルータ１０）内に検証パケット発生装置およびテスト装置を内蔵したが、これに限らずコンピュータから検証パケットを発生させてネットワーク機器に供給してポートスキャンを行う場合にもこの発明を適用することができる。
【図面の簡単な説明】
【００３７】
【図１】図３の構成において検証パケットを使用してパケットフィルタのテスト（ポートスキャン）を行う手順を示すフローチャートである。
【図２】パケットフィルタ処理の一例を示すフローチャートである。
【図３】この発明の実施の形態の全体のシステム構成およびルータ内の機能ブロックを示すブロック図である。
【図４】フィルタルールにおける始点ＩＰアドレスと始点ポート番号の組み合わせの各集合を模式的に示す図である。
【図５】表１のルール設定例における始点ＩＰアドレスと始点ポート番号の組み合わせの各集合を模式的に示す図である。
【符号の説明】
【００３８】
１０…ルータ（ネットワーク機器）、２４…パケットフィルタ、１４…ＷＡＮ側、１８…ＬＡＮ側
【図１】
2008131463.tif 000005
【図２】
2008131463.tif 000006
【図３】
2008131463.tif 000007
【図４】
2008131463.tif 000008
【図５】
2008131463.tif 000009