(57)【要約】【課題】通信ネットワーク内の各機器が正常なパケットのみを受信できるようにするパケット監視装置及びパケット監視プログラムを提供する【解決手段】パケット受信部３１は、ＳＮＭＰマネージャ１０またはＳＮＭＰエージェント２０からパケットを受信し、データ判定部３２は、受信したパケットの正常性を判定する。その判定の結果、受信したパケットが不正なデータを含んでいた場合には、データ判定部３２は、受信したパケットを廃棄する。また、その判定の結果、受信したパケットが正常であると判定された場合には、データ判定部３２は、受信したパケットをパケット送信部３３に出力する。そして、パケット送信部３３は、データ判定部３２からのパケットをＳＮＭＰマネージャ１０またはＳＮＭＰエージェント２０に送信する。【選択図】　図２
2004146884.tif 000002
【特許請求の範囲】
【請求項１】
通信ネットワークに接続された機器が送受信するパケットを監視するパケット監視装置であって、
前記機器から受信したパケットの正常性を判定し、不正と判定したパケットを廃棄する判定処理部と、
判定処理部が正常であると判定したパケットを送信する送信部とを備えた
ことを特徴とするパケット監視装置。
【請求項２】
パケットの正常性の判断基準となる判定情報を記憶する判定情報記憶部を備え、
判定処理部は、前記判定情報に基づいてパケットの正常性を判定する
請求項１に記載のパケット監視装置。
【請求項３】
判定情報記憶部は、パケット内のデータの種別を示す識別子情報を含む判定情報を記憶し、
判定処理部は、パケット内に、判定情報記憶部が記憶する識別子情報が含まれているか否かによってパケットの正常性を判定する
請求項２に記載のパケット監視装置。
【請求項４】
判定情報記憶部は、パケット内のデータの長さの範囲を示す長さ範囲情報を含む判定情報を記憶し、
判定処理部は、パケット内のデータの長さが、前記長さ範囲情報が示す範囲に収まっているか否かによってパケットの正常性を判定する
請求項２または請求項３に記載のパケット監視装置。
【請求項５】
判定情報記憶部は、パケット内のデータの値の範囲を示すデータ範囲情報を含む判定情報を記憶し、
判定処理部は、パケット内のデータの値が、前記データ範囲情報が示す範囲に収まっているか否かによってパケットの正常性を判定する
請求項２から請求項４のうちのいずれか１項に記載のパケット監視装置。
【請求項６】
判定処理部は、ＳＮＭＰによって管理される通信ネットワーク内で送受信されるパケットの正常性を判定する
請求項１から請求項５のうちのいずれか１項に記載のパケット監視装置。
【請求項７】
判定処理部は、ＤＮＳサーバが送受信するパケットの正常性を判定する
請求項１から請求項５のうちのいずれか１項に記載のパケット監視装置。
【請求項８】
通信ネットワークに接続された機器が送受信するパケットを監視するためのパケット監視プログラムであって、
コンピュータに、
前記機器から受信したパケットの正常性を判定する処理と、
不正と判定したパケットを廃棄する処理とを
実行させるためのパケット監視プログラム。
【請求項９】
コンピュータに、
パケットの正常性の判断基準となる判定情報に基づいてパケットの正常性を判定する処理を
実行させるための請求項８に記載のパケット監視プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、通信ネットワーク内で送受信されるパケットを監視するパケット監視装置及びパケット監視プログラムに関する。
【０００２】
【従来の技術】
通信ネットワークに接続された各機器が通信ネットワーク介してパケットを送受信して処理を行う場合、パケットに含まれるデータ等が正常であることを確認する必要がある。
【０００３】
パケット内のデータ等が正常であることを確認する構成としては、通信ネットワークに接続された各機器がパケットを受信したときに、受信したパケットの正常性を確認する構成が考えられる。すなわち、各機器がそれぞれ個別にパケットの正常性を確認する構成が考えられる。
【０００４】
特許文献１には、異常な形式のパケットを受信して動作に異常が発生することを防止するＤＮＳサーバフィルタが記載されている。特許文献１に記載されたＤＮＳサーバフィルタは、受信したパケットを検査し、異常がある場合には送信元にエラーを通知する。
【０００５】
また、特許文献２には、パケットに含まれる送信元アドレス及び宛先アドレスの情報によって、ある通信ネットワークから受信したパケットを他の通信ネットワークに転送するか否かを判断するパケット転送装置が記載されている。このパケット転送装置は、他の通信ネットワークに転送する必要がないと判断したパケットを廃棄する。
【０００６】
【特許文献１】
特開２００１−２０３７６２号公報（第５−１１頁、第５，９図）
【特許文献２】
特開２０００−３４９８５１号公報（第３頁、第１０図）
【０００７】
【発明が解決しようとする課題】
特許文献１に記載された発明では、送信元にエラー応答を返すのでエラー応答時における通信量が増加すると通信ネットワークのネットワーク負荷が増加してしまう。また、特許文献２に記載されたパケット転送装置は、パケットの検査を行っているが、その検査はパケットを他の通信ネットワークに転送させるか否かを確認するためのものである。すなわち、パケット内のデータが正常であるか否かについては確認を行っていない。
【０００８】
そこで、本発明は、通信ネットワーク内の各機器が正常なパケットのみを受信できるようにするパケット監視装置及びパケット監視プログラムを提供することを目的とする。また、通信ネットワークに対する負荷を軽減することができるパケット監視装置及びパケット監視プログラムを提供することを目的とする。
【０００９】
【課題を解決するための手段】
本発明によるパケット監視装置は、通信ネットワークに接続された機器が送受信するパケットを監視するパケット監視装置であって、機器から受信したパケットの正常性を判定し、不正と判定したパケットを廃棄する判定処理部と、判定処理部が正常であると判定したパケットを送信する送信部とを備えたことを特徴とする。
【００１０】
パケット監視装置は、パケットの正常性の判断基準となる判定情報を記憶する判定情報記憶部を備え、判定処理部は、判定情報に基づいてパケットの正常性を判定するものであってもよい。
【００１１】
判定情報記憶部は、パケット内のデータの種別を示す識別子情報を含む判定情報を記憶し、判定処理部は、パケット内に、判定情報記憶部が記憶する識別子情報が含まれているか否かによってパケットの正常性を判定するものであることが好ましい。そのような構成によれば、許容範囲外の識別子を持つデータを含むパケットを不正なパケットであると判定して排除することができる。
【００１２】
判定情報記憶部は、パケット内のデータの長さの範囲を示す長さ範囲情報を含む判定情報を記憶し、判定処理部は、パケット内のデータの長さが、長さ範囲情報が示す範囲に収まっているか否かによってパケットの正常性を判定するものであることが好ましい。そのような構成によれば、許容範囲外のデータ長を持つデータを含むパケットを不正なパケットであると判定して排除することができる。
【００１３】
判定情報記憶部は、パケット内のデータの値の範囲を示すデータ範囲情報を含む判定情報を記憶し、判定処理部は、パケット内のデータの値が、データ範囲情報が示す範囲に収まっているか否かによってパケットの正常性を判定するものであることが好ましい。そのような構成によれば、許容範囲外の値であるデータを含むパケットを不正なパケットであると判定して排除することができる。
【００１４】
判定処理部は、ＳＮＭＰによって管理される通信ネットワーク内で送受信されるパケットの正常性を判定するものであってもよい。
【００１５】
判定処理部は、ＤＮＳサーバが送受信するパケットの正常性を判定するものであってもよい。
【００１６】
本発明によるパケット監視プログラムは、通信ネットワークに接続された機器が送受信するパケットを監視するためのパケット監視プログラムであって、コンピュータに、機器から受信したパケットの正常性を判定する処理と、不正と判定したパケットを廃棄する処理とを実行させることを特徴とする。
【００１７】
パケット監視プログラムは、コンピュータに、パケットの正常性の判断基準となる判定情報に基づいてパケットの正常性を判定する処理を実行させるものであってもよい。
【００１８】
【発明の実施の形態】
実施の形態１．
以下、本発明の実施の形態を図面を参照して説明する。図１は、本発明によるパケット監視装置が適用される通信ネットワークの一例を示すブロック図である。図１に示す通信ネットワーク（ここでは、ＬＡＮ（Ｌｏｃａｌ　Ａｒｅａ　Ｎｅｔｗｏｒｋ）とする。）は、ネットワーク管理用プロトコルであるＳＮＭＰ（Ｓｉｍｐｌｅ　Ｎｅｔｗｏｒｋ　Ｍａｎａｇｅｍｅｎｔ　Ｐｒｏｔｏｃｏｌ）によって管理される。また、本実施の形態において、パケット監視装置３０は、ＳＮＭＰによるネットワーク管理のためのパケット（以下、ＳＮＭＰパケットという。）を監視する。なお、ＬＡＮ内で送受信されるパケットは必ずしもＳＮＭＰパケットのみとは限らないので、本実施の形態では、パケット監視装置は、受信したパケットがＳＮＭＰパケットであるか否かの判断を行い、その判断の結果、受信したパケットがＳＮＭＰパケットであった場合にパケットの正常性を判定する。
【００１９】
図１に示すように、本実施の形態におけるＬＡＮには、ＬＡＮの管理者がネットワーク管理に使用するＳＮＭＰマネージャ１０と、ＳＮＭＰエージェント２０と、ＬＡＮ内で送受信されるパケットを監視するパケット監視装置３０とが接続されている。
【００２０】
ＳＮＭＰマネージャ１０は、ＳＮＭＰ管理用ソフトウェアがインストールされたサーバ等の情報処理装置である。ＳＮＭＰエージェント２０は、ルータやネットワークスイッチ等のネットワーク機器またはクライアント端末等である。また、パケット監視装置３０は、サーバ等の情報処理装置である。
【００２１】
なお、パケット監視装置３０は、サーバ等ではなくパケットを監視する機能を備えたネットワーク機器等であってもよい。また、本実施の形態では、ＳＮＭＰをネットワーク管理用プロトコルとして用いるＬＡＮにパケット監視装置３０を適用する場合を例に説明するが、ＳＮＭＰをプロトコルとして用いるＬＡＮ以外の通信ネットワークにパケット監視装置３０を適用してもよい。また、本実施の形態におけるＬＡＮは、さらにインターネット等の外部の通信ネットワークに接続されるものであってもよい。さらに、本実施の形態では、１台のＳＮＭＰマネージャ１０によってＬＡＮ全体が管理されている比較的小規模のＬＡＮを例として説明するが、大規模なＬＡＮであれば、複数のＳＮＭＰマネージャを含み、さらに各ＳＮＭＰマネージャを管理する上位のＳＮＭＰマネージャを含むものであってもよい。
【００２２】
本実施の形態におけるパケット送受信の形態として、パケット監視装置３０を介して、ＳＮＭＰマネージャ１０がＳＮＭＰエージェント２０にパケットを送信する場合と、ＳＮＭＰエージェント２０がＳＮＭＰマネージャ１０にパケットを送信する場合と、ＳＮＭＰエージェント２０がＬＡＮ内の他のＳＮＭＰエージェント２０にパケットを送信する場合とがある。なお、大規模なＬＡＮの場合には、上位のＳＮＭＰマネージャが下位のＳＮＭＰマネージャにパケットを送信する場合等、ＳＮＭＰマネージャ同士がパケットを送受信する場合もある。
【００２３】
図２は、パケット監視装置３０の構成の一例を示すブロック図である。図２に示すように、パケット監視装置３０は、ＳＮＭＰマネージャ１０またはＳＮＭＰエージェント２０からパケットを受信するパケット受信部３１と、受信したパケットの正常性を判定するデータ判定部３２と、データ判定部３２が正常であると判定したパケットを送信するパケット送信部（送信部）３３とを含む。さらに、データ判定部３２は、受信したパケットの正常性の判定処理を実行する判定処理部３２１と、パケットの正常性を判断する際に判断の基準となる情報（以下、判定情報という。）を記憶する判定データ部（判定情報記憶部）３２２とを含む。
【００２４】
判定処理部３２１は、例えば、プログラムに従って動作するＣＰＵによって実現される。この場合、ＣＰＵに、各機器から受信したパケットの正常性を判定する処理と、不正と判定したパケットを廃棄する処理とを実行させるためのパケット監視プログラムをＲＯＭ等に記憶させておく。そして、ＣＰＵがこのパケット監視プログラムを読み込んで処理を行えばよい。また、判定データ部３２２は、パケット監視装置３０に内蔵される記憶装置または外部接続されるデータベース装置等によって実現される。
【００２５】
図３は、判定データ部３２２に記憶される判定情報の例を示す説明図である。図３に示すように、判定情報は、複数のレコードを含む。本実施の形態では、判定データ部３２２が記憶する各レコードを判定レコードと記す。また、パケット受信部３１がＳＮＭＰマネージャ１０またはＳＮＭＰエージェント２０から受信するパケットに含まれるレコードを情報レコードと記す。情報レコードについては後述する。
【００２６】
図３に示すように、判定レコードは、ＩＤと、Ｌｅｎｇｔｈと、ＤＡＴＡとを含む。ＩＤは、受信した情報レコードに含まれるべきデータ識別子（識別子情報）であり、以下、ＩＤ情報という。また、Ｌｅｎｇｔｈは、受信した情報レコード内のデータのデータ長が収まるべき範囲を示す情報（以下、長さ範囲情報という。）である。さらに、ＤＡＴＡは、受信した情報レコード内のデータの値が収まるべき範囲を示す情報（以下、データ範囲情報という。）である。
【００２７】
例えば、図３に示す１つ目の判定レコード５０は、パケット受信部３１が受信したパケットに含まれる情報レコードのＩＤ情報が「０ｘ０２」であった場合に、その情報レコードに対して許容されるデータ長及びデータの値の範囲を示したものである。ＩＤ情報が「０ｘ０２」である１つ目の判定レコード５０は、バージョン（Ｖｅｒｓｉｏｎ　）情報に許容されるデータ長の範囲等を示す。ここで、「０ｘ」は、１６進表示であることを示す符号である。１つ目の判定レコード５０の長さ範囲情報は「０ｘ１」であるので、受信した情報レコードに対して許容されるデータ長は「１」でなければならないことを示す。また、１つ目の判定レコード５０のデータ範囲情報は「０　ｏｒ　１」であるので、受信した情報レコードに含まれる各データについて許容される値は、「０」または「１」でなければならないことを示す。
【００２８】
また、図３に示される２つ目の判定レコード５１は、パケット受信部３１が受信したパケットに含まれる情報レコードのＩＤ情報が「０ｘ０４」であった場合に、その情報レコードに対して許容されるデータ長及びデータの値の範囲を示したものである。ＩＤ情報が「０ｘ０４」である２つ目の判定レコードは、ＳＮＭＰマネージャ１０及びＳＮＭＰエージェント２０間での通信の許可または不許可の判断に用いられるコミュニティネーム（Ｃｏｍｍｕｎｉｔｙ　Ｎａｍｅ）情報（装置間の一種のパスワード）に許容されるデータ長の範囲等を示す。２つ目の判定レコード５１の長さ範囲情報は「０−２５５」であるので、受信した情報レコードに対して許容されるデータ長は「０」から「２５５」までのいずれかの長さでなければならないことを示す。また、２つ目の判定レコード５１のデータ範囲情報は「０ｘ２０−０ｘ７Ｅ」であるので、受信した情報レコードに含まれる各データについて許容される値は、「０ｘ２０」から「０ｘ７Ｅ」までのいずれかの値でなければならないことを示す。
【００２９】
図４は、パケット受信部３１が受信するＳＮＭＰパケットの内容の例を示す説明図である。図４に示すように、受信するＳＮＭＰパケットは、複数の情報レコード６０〜６２等を含む。また、情報レコードは、図４に示すように、その情報レコードの種別を区別するためのデータ識別子と、その情報レコードのデータ長を示すデータ長情報と、データの値とを含む。
【００３０】
次に、動作について説明する。図５は、パケット監視装置が実行する処理の処理経過の一例を示す流れ図である。パケット受信部３１は、パケット（ＳＮＭＰパケットとは限らない。）が受信されたか否かを判定する（ステップＳ１０）。そして、パケット受信部３１は、ＳＮＭＰマネージャ１０またはＳＮＭＰエージェント２０からパケットを受信した場合には、受信したパケットをデータ判定部３２に出力する。
【００３１】
データ判定部３２の判定処理部３２１は、パケット受信部３１が受信したパケットがＳＮＭＰパケットであるか否かを判定する（ステップＳ１１）。判定処理部３２１は、受信したパケットのＵＤＰ（Ｕｓｅｒ　Ｄａｔａｇｒａｍ　Ｐｒｏｔｏｃｏｌ）ヘッダ部分に含まれる宛先ポート番号についての情報を検出する。そして、検出した宛先ポート番号が「１６１（ＳＮＭＰ）」または「１６２（ＳＮＭＰＴＲＡＰ）」であった場合に、判定処理部３２１は、受信したパケットがＳＮＭＰパケットであると判定する。検出した宛先ポート番号が「１６１（ＳＮＭＰ）」または「１６２（ＳＮＭＰＴＲＡＰ）」でなかった場合には、判定処理部３２１は、受信したパケットはＳＮＭＰパケットではないと判定する。
【００３２】
ステップＳ１１で判定した結果、受信したパケットがＳＮＭＰパケットでなかった場合には、判定処理部３２１は、受信したパケットをそのままパケット送信部３３に出力する（ステップＳ１５）。判定した結果、受信したパケットがＳＮＭＰパケットであった場合には、判定処理部３２１は、次のステップＳ１２の処理を実行する。
【００３３】
判定処理部３２１は、受信したパケットの各情報レコードに含まれるデータ識別子を検出し、検出したデータ識別子が正常なものであるか否か判定する（ステップＳ１２）。判定処理部３２１は、判定データ部３２２が記憶する各判定レコードのＩＤ情報を検索して、検出した情報レコードに含まれるデータ識別子と一致するＩＤ情報があるか否かを判定する。判定データ部３２２が記憶するＩＤ情報のなかに、検出したデータ識別子と一致するＩＤ情報が含まれていた場合には、判定処理部３２１は、検出したデータ識別子は正常であると判定する。また、検出したデータ識別子と一致するＩＤ情報が含まれていなかった場合には、判定処理部３２１は、検出したデータ識別子は不正であると判定する。
【００３４】
データ識別子が不正であると判定された情報レコードが見つかった場合には、判定処理部３２１は、その情報レコードを含むパケットを廃棄する（ステップＳ１６）。各情報レコードのデータ識別子が正常であると判定された場合には、判定処理部３２１は、次のステップＳ１３の処理を実行する。
【００３５】
判定処理部３２１は、受信したパケットの各情報レコードに含まれるデータ長情報を検出し、検出したデータ長情報が正常なものであるか否か判定する（ステップＳ１３）。判定処理部３２１は、判定データ部３２２が記憶する各判定レコードの長さ範囲情報のうち、ステップＳ１２で検出したデータ識別子と一致するＩＤ情報に対応する長さ範囲情報を抽出する。そして、検出した情報レコードのデータ長情報の値が、抽出した判定レコードの長さ範囲情報に示される値の範囲に含まれるか否かを判定する。判定の結果、データ長情報の値が長さ範囲情報に示される値の範囲に含まれていた場合には、判定処理部３２１は、検出したデータ長情報は正常であると判定する。また、判定の結果、データ長情報の値が長さ範囲情報に示される値の範囲外であった場合には、判定処理部３２１は、検出したデータ長情報は不正であると判定する。
【００３６】
データ長情報が不正であると判定された情報レコードが見つかった場合には、判定処理部３２１は、その情報レコードを含むパケットを廃棄する（ステップＳ１６）。各情報レコードのデータ長情報が正常であると判定された場合には、判定処理部３２１は、次のステップＳ１４の処理を実行する。
【００３７】
判定処理部３２１は、受信したパケットの各情報レコードに含まれるデータを検出し、検出したデータが正常なものであるか否か判定する（ステップＳ１４）。判定処理部３２１は、判定データ部３２２が記憶する各判定レコードのデータ範囲情報のうち、ステップＳ１２で検出したデータ識別子と一致するＩＤ情報に対応するデータ範囲情報を抽出する。そして、検出した情報レコードのデータの各値が、抽出した判定レコードのデータ範囲情報に示される値の範囲に含まれるか否かを判定する。判定の結果、データの各値がデータ範囲情報に示される値の範囲に全て含まれていた場合には、判定処理部３２１は、検出したデータは正常であると判定する。また、判定の結果、データの各値のなかにデータ範囲情報に示される値の範囲外である値が含まれていた場合には、判定処理部３２１は、検出したデータは不正であると判定する。
【００３８】
データが不正であると判定された情報レコードが見つかった場合には、判定処理部３２１は、その情報レコードを含むパケットを廃棄する（ステップＳ１６）。各情報レコードのデータが正常であると判定された場合には、判定処理部３２１は、受信したパケットは正常であると判定し、正常と判定したパケットをパケット送信部３３に出力する（ステップＳ１５）。そして、パケット送信部３３は、データ判定部３２の判定処理部３２１からのパケットを、そのパケットに含まれる宛先情報に基づいてＳＮＭＰマネージャ１０またはＳＮＭＰエージェント２０に送信する。
【００３９】
以下、図３及び図４に基づいてパケットの正常性の判定の処理経過を具体的に説明する。ここでは、図４に示すパケットに含まれる情報レコードのうち２つ目の情報レコード６１を例に、判定処理部３２１が正常性の判定を行う場合の処理経過について説明する。なお、図４に示すパケットは、図５に示すステップＳ１１の処理において既にＳＮＭＰパケットであると判定されているものとする。
【００４０】
判定処理部３２１は、２つ目の情報レコード６１からデータ識別子「０ｘ０４」を検出する。そして、図３に示す判定レコードに含まれるＩＤ情報を検索し、検出したデータ識別子「０ｘ０４」と一致するＩＤ情報があるか判定する。図３に示す判定レコードのうち２つ目の判定レコード５１のＩＤ情報が「０ｘ０４」であるので、判定処理部３２１は、一致するＩＤ情報が存在すると判定し、検出したデータ識別子「０ｘ０４」は正常であると判定する（ステップＳ１２）。なお、ステップＳ１２では、判定処理部３２１は、他の情報レコード６０，６２についてもデータ識別子の正常性の判定を行い、各データ識別子が正常であるならば、次のステップＳ１３の処理を実行する。
【００４１】
判定処理部３２１は、２つ目の情報レコード６１からデータ長情報「０ｘ０６」を検出する。すなわち、データ長情報によって、２つ目の情報レコード６１に含まれるデータの長さは６バイト（ｂｙｔｅ）であることが示されている。判定処理部３２１は、図３に示す判定レコードのうち、ステップＳ１２で判定したデータ識別子と一致するＩＤ情報を含む２つ目の判定レコード５１から長さ範囲情報「０−２５５」を抽出する。すなわち、長さ範囲情報「０−２５５」によって、検出したデータ長情報は、「０」から「２５５」までのいずれかの値でなければならないことが示されている。
【００４２】
２つ目の情報レコード６１から検出したデータの長さは６バイトであるので、長さ範囲情報に示される長さの範囲に適合しており、判定処理部３２１は、データ長情報は正常であると判定する（ステップＳ１３）。なお、ステップＳ１３では、判定処理部３２１は、他の情報レコード６０，６２についてもデータ長情報の正常性の判定を行い、各データ長情報が正常であるならば、次のステップＳ１４の処理を実行する。
【００４３】
判定処理部３２１は、２つ目の情報レコード６１からデータ「０ｘ７０７５６２６Ｃ６９６３」を検出する。すなわち、２つ目の情報レコード６１には、「０ｘ７０」，「０ｘ７５」，「０ｘ６２」，「０ｘ６Ｃ」，「０ｘ６９」，「０ｘ６３」の６個のデータ（データ長「６バイト」）が含まれていることが示されている。判定処理部３２１は、図３に示す判定レコードのうち、ステップＳ１２で判定したデータ識別子と一致するＩＤ情報を含む２つ目の判定レコード５１からデータ範囲情報「０ｘ２０−０ｘ７Ｅ」を抽出する。すなわち、データ範囲情報「０ｘ２０−０ｘ７Ｅ」によって、検出したデータの各値は、「０ｘ２０」から「０ｘ７Ｅ」までのいずれかの値でなければならないことが示されている。
【００４４】
２つ目の情報レコード６１から検出したデータの各値は全て「０ｘ２０」から「０ｘ７Ｅ」までの間の数値であるので、データ範囲情報に示されるデータの値の範囲に全て適合しており、判定処理部３２１は、データは正常であると判定する（ステップＳ１４）。なお、ステップＳ１４では、判定処理部３２１は、他の情報レコード６０，６２についてもデータの正常性の判定を行い、各データが正常であるならば、判定処理部３２１は、情報レコードは全て正常であると判定する。
【００４５】
ステップＳ１４において、情報レコードが全て正常であった場合には、判定処理部３２１は、パケットは正常であると判定して、判定したパケットをパケット送信部３３に出力する（ステップＳ１５）。
【００４６】
次に、不正な情報レコードについて判定処理部３２１が正常性の判定を行う場合を説明する。図６は、不正な情報レコードの例を示す説明図である。図６に示す情報レコード６３に含まれるデータ識別子「０ｘ０２」は、図３に示す１つ目の判定レコード５０に含まれるＩＤ情報「０ｘ０２」と一致するので、図４に示す情報レコード６１の場合と同様の処理が実行され、判定処理部３２１は、検出したデータ識別子を正常であると判定する。
【００４７】
判定処理部３２１は、図６に示す情報レコード６３からデータ長情報「０ｘ３」を検出する。すなわち、データ長情報によって、情報レコード６３に含まれるデータの長さは３バイトであることが示されている。判定処理部３２１は、図３に示す判定レコードのうち、ステップＳ１２で判定したデータ識別子と一致するＩＤ情報を含む２つ目の判定レコード５０から長さ範囲情報「０ｘ１」を抽出する。すなわち、長さ範囲情報「０ｘ１」によって、検出したデータ長情報は１バイトでなければならないことが示されている。情報レコード６３から検出したデータの長さは３バイトであるので、長さ範囲情報に示される長さの範囲に適合せず、判定処理部３２１は、データ長情報は不正であると判定する（ステップＳ１３）。
【００４８】
従って、判定処理部３２１は、情報レコード６３を含むパケットを不正なパケットであると判定して廃棄する（ステップＳ１６）。
【００４９】
次に、図６に示す情報レコード６４を例に説明する。情報レコード６４に含まれるデータ識別子「０ｘ０４」は、図３に示す２つ目の判定レコード５１に含まれるＩＤ情報「０ｘ０４」と一致するので、図４に示す情報レコード６１の場合と同様の処理が実行され、判定処理部３２１は、検出したデータ識別子を正常であると判定する。また、情報レコード６４に含まれるデータ長情報「０ｘ０５」は、図３に示す２つ目の判定レコード５１に含まれる長さ範囲情報「０−２５５」に適合するので、図４に示す情報レコード６１の場合と同様の処理が実行され、判定処理部３２１は、検出したデータ長情報を正常であると判定する。
【００５０】
判定処理部３２１は、情報レコード６４からデータ「０ｘ７０１１２４３ＥＦＦ」を検出する。すなわち、情報レコード６４には、「０ｘ７０」，「０ｘ１１」，「０ｘ２４」，「０ｘ３Ｅ」，「０ｘＦＦ」の５個のデータ（データ長「５バイト」）が含まれていることが示されている。判定処理部３２１は、図３に示す判定レコードのうち、ステップＳ１２で判定したデータ識別子と一致するＩＤ情報を含む２つ目の判定レコード５１からデータ範囲情報「０ｘ２０−０ｘ７Ｅ」を抽出する。すなわち、データ範囲情報「０ｘ２０−０ｘ７Ｅ」によって、検出したデータの各値は、「０ｘ２０」から「０ｘ７Ｅ」までのいずれかの値でなければならないことが示されている。情報レコード６４から検出したデータのうち、「０ｘ１１」等は「０ｘ２０」から「０ｘ７Ｅ」までの範囲外の数値であるので、データ範囲情報に示されるデータの値の範囲に適合しておらず、判定処理部３２１は、データは不正であると判定する（ステップＳ１４）。
【００５１】
従って、判定処理部３２１は、情報レコード６４を含むパケットを不正なパケットであると判定して廃棄する（ステップＳ１６）。
【００５２】
以上のように、本実施の形態によれば、データ長やデータの値の正常性の確認を行うので、通信ネットワークに接続された各機器はデータ長やデータの値が正常であることを保証されたパケットを受信できる。
【００５３】
また、正常性の判断の結果、不正なパケットが発見された場合に、送信元にエラーの通知を行わないので、通信ネットワークに対する負荷を軽減することができる。
【００５４】
なお、通信ネットワーク内で送受信されるパケットの正常性を確認する方法としては、通信ネットワークに接続されているコンピュータ端末やネットワーク機器が個別にパケットの正常性の確認を行う方法も考えられる。しかし、この方法では、厳格な正常性の判定を行う機器と簡易な判定しか行わない機器とが混在すると、セキュリティレベルが均一に保たれない。すなわち、厳格に正常性を判断した機器から受信したパケットは正常性が十分に保証されるが、簡易な判定しか行わない機器から受信したパケットについては正常性が十分保証されていない場合がある。
【００５５】
また、通信ネットワークにパケットの正常性の確認を行わない機器が接続された場合には、これらの機器がパケットを送受信することにより通信ネットワーク内のシステムが正常に動作できなくなるという場合も想定される。通信ネットワーク内のシステムが正常に動作するようにするためには、ネットワーク管理者が通信ネットワーク内の全ての機器においてパケットの正常性の判断が行われていることを確認しなければならず、ネットワーク管理者等の負担が大きくなる。これに対し、本実施の形態によれば、パケット監視装置がパケットの正常性を判断するので、送受信される全てのパケットについて均一なセキュリティレベルを確保することができる。また、通信ネットワーク内のシステムが正常に動作できなくなるといった事態を防止することができ、ネットワーク管理者等の負担を軽減することができる。
【００５６】
実施の形態２．
次に、第２の実施の形態を図面を参照して説明する。図７は、第２の実施の形態における通信ネットワークの例を示すブロック図である。本実施の形態では、ＵＤＰヘッダの宛先ポート番号が５３であるパケット（以下、ＤＮＳパケットという。）を監視するパケット監視装置を例に説明する。なお、パケット監視装置が受信するパケットは必ずしもＤＮＳパケットとは限らないので、本実施の形態では、パケット監視装置は、受信したパケットがＤＮＳパケットであるか否かの判断を行い、その判断の結果、受信したパケットがＤＮＳパケットであった場合にパケットの正常性を判定する。
【００５７】
図７に示すように、本実施の形態におけるＬＡＮには、各階層毎のアドレスを管理するＤＮＳ（Ｄｏｍａｉｎ　Ｎａｍｅ　Ｓｙｓｔｅｍ）サーバ７０ａ，７０ｂ，７０ｃと、各ユーザが使用するクライアント端末８０と、ＬＡＮ内で送受信されるパケットを各階層毎に監視するパケット監視装置９０ａ，９０ｂ，９０ｃとが接続されている。なお、各パケット監視装置９０ａ，９０ｂ，９０ｃの構成は、第１の実施の形態と同じである。
【００５８】
ＤＮＳサーバ７０ａ，７０ｂ，７０ｃは、サーバ等の情報処理装置であり、各階層毎にドメインの管理を行う。例えば、ＤＮＳサーバ７０ａは、「ｊｐ」の階層の管理サーバであり、ＤＮＳサーバ７０ｂは、「ｃｏ．ｊｐ」の階層の管理サーバである。クライアント端末８０は、ユーザが使用するパーソナルコンピュータ等のコンピュータ端末である。パケット監視装置９０ａ，９０ｂ，９０ｃは、サーバ等の情報処理端末であり、各階層毎にパケットの監視を行う。なお、パケット監視装置９０ａ，９０ｂ，９０ｃは、サーバ等ではなくパケットを監視する機能を備えたネットワーク機器等であってもよい。
【００５９】
図８は、判定データ部３２２に記憶される判定情報の例を示す説明図である。本実施の形態では、判定データ部３２２は、判定情報としてＤＮＳのリソースレコード（ｒｅｓｏｕｒｃｅ　ｒｅｃｏｒｄ　）の情報を記憶する。図８に示すように、第１の実施の形態におけるＩＤ情報の代わりに、判定情報は、リソースレコードのＴｙｐｅとＣｌａｓｓとを含む。図８において、Ｔｙｐｅは、判定レコードの種別を示す情報（以下、タイプ情報という。）である。また、Ｃｌａｓｓは、判定レコードのレコードクラスを指定する情報（以下、クラス情報という。）である。また、本実施の形態では、長さ範囲情報としてリソースレコード情報のＲＤＬｅｎｇｔｈの値の範囲の情報が用いられ、データ範囲情報としてリソースレコード情報のＲＤＡＴＡの値の範囲の情報が用いられる。
【００６０】
よって、図８に示すように、本実施の形態では、判定レコードは、タイプ情報、クラス情報、長さ範囲情報及びデータ範囲情報を含む。なお、本実施の形態では、タイプ情報及びクラス情報が、データの識別子となる。
【００６１】
例えば、図８に示す１つ目の判定レコード１００は、パケット受信部３１が受信したパケットに含まれる情報レコードのタイプ情報が「ＣＮＡＭＥ（５）」であり、且つクラス情報が「ＩＮ（１）」であった場合に、その情報レコードに対して許容されるデータ長及びデータの値の範囲を示したものである。「ＣＮＡＭＥ（５）」は、データのタイプがエイリアスの標準の文字列であることを示すタイプ情報であり、「ＩＮ（１）」は、データがインターネットを介して送受信されるものであることを示すクラス情報である。従って、１つ目の判定レコード１００は、インターネットを介してエイリアス名に関する情報レコード受信した場合に、その情報レコードに対して許容されるデータ長の範囲及びデータの値の範囲を示したものである。
【００６２】
１つ目の判定レコード１００の長さ範囲情報は「０−２５５」であるので、受信した情報レコードに対して許容されるデータ長は「０」から「２５５」までのいずれかの長さでなければならないことを示す。また、１つ目の判定レコード１００のデータ範囲情報は「０ｘ２０−０ｘ７Ｅ」であるので、受信した情報レコードに含まれる各データについて許容される値は、「０ｘ２０」から「０ｘ７Ｅ」までのいずれかの値でなければならないことを示す。
【００６３】
また、２つ目の判定レコード１０１は、パケット受信部３１が受信したパケットに含まれる情報レコードのタイプ情報が「ＭＲ（９）」であり、且つクラス情報が「ＩＮ（１）」であった場合に、その情報レコードに対して許容されるデータ長及びデータの値の範囲を示したものである。「ＭＲ（９）」は、データのタイプがドメイン名の文字列であることを示すタイプ情報である。従って、２つ目の判定レコード１０１は、インターネットを介してドメイン名に関する情報レコード受信した場合に、その情報レコードに対して許容されるデータ長及びデータの値の範囲を示したものである。
【００６４】
２つ目の判定レコード１０１の長さ範囲情報は「０−２５５」であるので、受信した情報レコードに対して許容されるデータ長は「０」から「２５５」までのいずれかの長さでなければならないことを示す。また、２つ目の判定レコード１０１のデータ範囲情報は「０ｘ２０−０ｘ７Ｅ」であるので、受信した情報レコードに含まれる各データについて許容される値は、「０ｘ２０」から「０ｘ７Ｅ」までのいずれかの値でなければならないことを示す。
【００６５】
次に、動作について説明する。図９は、パケット監視装置の処理経過の一例を示す流れ図である。パケット受信部３１は、パケット（ＤＮＳパケットとは限らない。）が受信されたか否かを判定する（ステップＳ２０）。パケット受信部３１は、ＤＮＳサーバ７０ａ，７０ｂ，７０ｃまたはクライアント端末８０からパケットを受信した場合には、受信したパケットをデータ判定部３２に出力する。
【００６６】
データ判定部３２の判定処理部３２１は、パケット受信部３１が受信したパケットがＤＮＳパケットであるか否かを判定する（ステップＳ２１）。判定処理部３２１は、受信したパケットのＵＤＰヘッダ部分に含まれる宛先ポート番号についての情報を検出する。そして、検出した宛先ポート番号が「５３（Ｄｏｍａｉｎ　Ｎａｍｅ　Ｓｅｒｖｅｒ）」であった場合に、判定処理部３２１は、受信したパケットがＤＮＳパケットであると判定する。検出した宛先ポート番号が「５３（Ｄｏｍａｉｎ　Ｎａｍｅ　Ｓｅｒｖｅｒ）」でなかった場合には、判定処理部３２１は、受信したパケットはＤＮＳパケットではないと判定する。
【００６７】
ステップＳ２１で判定した結果、受信したパケットがＤＮＳパケットでなかった場合には、判定処理部３２１は、受信したパケットをそのままパケット送信部３３に出力する（ステップＳ２５）。判定した結果、受信したパケットがＤＮＳパケットであった場合には、判定処理部３２１は、次のステップＳ２２の処理を実行する。
【００６８】
判定処理部３２１は、受信したパケットの各情報レコードに含まれるタイプ情報及びクラス情報を検出し、検出したタイプ情報及びクラス情報が正常なものであるか否か判定する（ステップＳ２２）。判定処理部３２１は、判定データ部３２２が記憶する各判定レコードのタイプ情報及びクラス情報を検索して、検出した情報レコードに含まれるタイプ情報及びクラス情報と一致する情報があるかを判定する。判定データ部３２２が記憶するタイプ情報及びクラス情報のなかに、情報レコードから検出したタイプ情報及びクラス情報と一致する情報が含まれていた場合には、判定処理部３２１は、検出したタイプ情報及びクラス情報は正常であると判定する。また、一致するタイプ情報及びクラス情報が含まれていなかった場合には、判定処理部３２１は、検出したタイプ情報及びクラス情報は不正であると判定する。
【００６９】
タイプ情報及びクラス情報が不正であると判定された情報レコードが見つかった場合には、判定処理部３２１は、その情報レコードを含むパケットを廃棄する（ステップＳ２６）。各情報レコードのタイプ情報及びクラス情報が正常であると判定された場合には、判定処理部３２１は、次のステップＳ２３の処理を実行する。
【００７０】
判定処理部３２１は、第１の実施の形態と同様の処理手順に従って、各情報レコードに含まれるデータ長情報の正常性を判定する（ステップＳ２３）。データ長情報が不正であると判定された情報レコードが見つかった場合には、判定処理部３２１は、その情報レコードを含むパケットを廃棄する（ステップＳ２６）。データ長情報が正常であると判定された場合には、判定処理部３２１は、次のステップＳ２４の処理を実行する。
【００７１】
判定処理部３２１は、第１の実施の形態と同様の処理手順に従って、各情報レコードに含まれるデータの正常性を判定する（ステップＳ２４）。データが不正であると判定された情報レコードが見つかった場合には、判定処理部３２１は、その情報レコードを含むパケットを廃棄する（ステップＳ２６）。データが正常であると判定された場合には、判定処理部３２１は、正常と判定したパケットをパケット送信部３３に出力する（ステップＳ２５）。
【００７２】
以上のように、第２の実施の形態によれば、パケット監視装置がＤＮＳパケットを監視する場合においても、通信ネットワークに接続された各機器はデータ長やデータの値が正常であることを保証されたパケットを受信できる。
【００７３】
また、正常性の判断の結果、不正なパケットが発見された場合に、送信元にエラーの通知を行わないので、通信ネットワークに対する負荷を軽減することができる。
【００７４】
なお、第１の実施の形態及び第２の実施の形態においては、ＳＮＭＰパケットを監視するパケット監視装置及びＤＮＳパケットを監視するパケット監視装置を例に説明したが、パケットに識別子等のデータの正常性判断に利用できる情報が含まれるものであれば、パケット監視装置は、ＳＮＭＰパケットやＤＮＳパケットに限らず他の形式のパケットの正常性の判断を行うものであってもよい。
【００７５】
また、第１の実施の形態及び第２の実施の形態においては、最初に受信したパケットがＳＮＭＰパケットまたはＤＮＳパケットであるか否かの判定を行い、その判定の結果ＳＮＭＰパケットまたはＤＮＳパケットであった場合にのみ、パケットの正常性の判定を行うパケット監視装置を例に説明したが、パケット監視装置は、複数の種類の形式のパケットの正常性の判定を行うものであってもよい。
【００７６】
【発明の効果】
本発明によるパケット監視装置によれば、機器から受信したパケットの正常性を判定し、不正と判定したパケットを廃棄する判定処理部と、判定処理部が正常であると判定したパケットを送信する送信部とを備えるように構成したので、通信ネットワーク内の各機器が正常なパケットのみを受信できるようにすることができる。また、通信ネットワークに対する負荷を軽減することができる。
【００７７】
本発明によるパケット監視プログラムによれば、コンピュータに、機器から受信したパケットの正常性を判定する処理と、不正と判定したパケットを廃棄する処理とを実行させるので、通信ネットワーク内の各機器が正常なパケットのみを受信できるようにすることができる。また、通信ネットワークに対する負荷を軽減することができる。
【図面の簡単な説明】
【図１】本発明によるパケット監視装置を適用した通信ネットワークの構成の一例を示すブロック図である。
【図２】本発明によるパケット監視装置の構成の一例を示すブロック図である。
【図３】判定情報の内容の一例を示す説明図である。
【図４】ＳＮＭＰパケットの内容の一例を示す説明図である。
【図５】パケット監視装置が実行する処理の処理経過の一例を示す流れ図である。
【図６】不正な情報レコードの例を示す説明図である。
【図７】本発明によるパケット監視装置を適用した通信ネットワークの構成の他の例を示すブロック図である。
【図８】判定情報の内容の他の例を示す説明図である。
【図９】パケット監視装置が実行する処理の処理経過の他の例を示す流れ図である。
【符号の説明】
１０　ＳＮＭＰマネージャ
２０　ＳＮＭＰエージェント
３０，９０ａ，９０ｂ，９０ｃ　パケット監視装置
３１　パケット受信部
３２　データ判定部
３２１　判定処理部
３２２　判定データ部
３３　パケット送信部
７０ａ，７０ｂ，７０ｃ　ＤＮＳサーバ
８０　クライアント端末
【図１】
2004146884.tif 000003
【図２】
2004146884.tif 000004
【図３】
2004146884.tif 000005
【図４】
2004146884.tif 000006
【図５】
2004146884.tif 000007
【図６】
2004146884.tif 000008
【図７】
2004146884.tif 000009
【図８】
2004146884.tif 000010
【図９】
2004146884.tif 000011