JP2004146884A - Packet supervisory system and packet supervisory program - Google Patents

Packet supervisory system and packet supervisory program Download PDF

Info

Publication number
JP2004146884A
JP2004146884A JP2002306356A JP2002306356A JP2004146884A JP 2004146884 A JP2004146884 A JP 2004146884A JP 2002306356 A JP2002306356 A JP 2002306356A JP 2002306356 A JP2002306356 A JP 2002306356A JP 2004146884 A JP2004146884 A JP 2004146884A
Authority
JP
Japan
Prior art keywords
packet
information
data
determination
processing unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2002306356A
Other languages
Japanese (ja)
Inventor
Tatsuya Oishi
大石 達也
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Platforms Ltd
Original Assignee
NEC AccessTechnica Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC AccessTechnica Ltd filed Critical NEC AccessTechnica Ltd
Priority to JP2002306356A priority Critical patent/JP2004146884A/en
Publication of JP2004146884A publication Critical patent/JP2004146884A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a packet supervisory system and a packet supervisory program enabling each apparatus in a communication network to receive only normal packets. <P>SOLUTION: A packet reception section 31 receives packets from an SNMP manager 10 or an SNMP agent 20 and a data discrimination section 32 discriminates the normality of the received packets. When the received packets have included incorrect data as a result of the discrimination, the data discrimination section 32 aborts the received packets. Further, when discriminating that the received packets are normal as a result of the discrimination, the data discrimination section 32 outputs the received packets to a packet transmission section 33. Then the packet transmission section 33 transmits the packets from the data discrimination section 32 to the SNMP manager 10 or the SNMP agent 20. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、通信ネットワーク内で送受信されるパケットを監視するパケット監視装置及びパケット監視プログラムに関する。
【0002】
【従来の技術】
通信ネットワークに接続された各機器が通信ネットワーク介してパケットを送受信して処理を行う場合、パケットに含まれるデータ等が正常であることを確認する必要がある。
【0003】
パケット内のデータ等が正常であることを確認する構成としては、通信ネットワークに接続された各機器がパケットを受信したときに、受信したパケットの正常性を確認する構成が考えられる。すなわち、各機器がそれぞれ個別にパケットの正常性を確認する構成が考えられる。
【0004】
特許文献1には、異常な形式のパケットを受信して動作に異常が発生することを防止するDNSサーバフィルタが記載されている。特許文献1に記載されたDNSサーバフィルタは、受信したパケットを検査し、異常がある場合には送信元にエラーを通知する。
【0005】
また、特許文献2には、パケットに含まれる送信元アドレス及び宛先アドレスの情報によって、ある通信ネットワークから受信したパケットを他の通信ネットワークに転送するか否かを判断するパケット転送装置が記載されている。このパケット転送装置は、他の通信ネットワークに転送する必要がないと判断したパケットを廃棄する。
【0006】
【特許文献1】
特開2001−203762号公報(第5−11頁、第5,9図)
【特許文献2】
特開2000−349851号公報(第3頁、第10図)
【0007】
【発明が解決しようとする課題】
特許文献1に記載された発明では、送信元にエラー応答を返すのでエラー応答時における通信量が増加すると通信ネットワークのネットワーク負荷が増加してしまう。また、特許文献2に記載されたパケット転送装置は、パケットの検査を行っているが、その検査はパケットを他の通信ネットワークに転送させるか否かを確認するためのものである。すなわち、パケット内のデータが正常であるか否かについては確認を行っていない。
【0008】
そこで、本発明は、通信ネットワーク内の各機器が正常なパケットのみを受信できるようにするパケット監視装置及びパケット監視プログラムを提供することを目的とする。また、通信ネットワークに対する負荷を軽減することができるパケット監視装置及びパケット監視プログラムを提供することを目的とする。
【0009】
【課題を解決するための手段】
本発明によるパケット監視装置は、通信ネットワークに接続された機器が送受信するパケットを監視するパケット監視装置であって、機器から受信したパケットの正常性を判定し、不正と判定したパケットを廃棄する判定処理部と、判定処理部が正常であると判定したパケットを送信する送信部とを備えたことを特徴とする。
【0010】
パケット監視装置は、パケットの正常性の判断基準となる判定情報を記憶する判定情報記憶部を備え、判定処理部は、判定情報に基づいてパケットの正常性を判定するものであってもよい。
【0011】
判定情報記憶部は、パケット内のデータの種別を示す識別子情報を含む判定情報を記憶し、判定処理部は、パケット内に、判定情報記憶部が記憶する識別子情報が含まれているか否かによってパケットの正常性を判定するものであることが好ましい。そのような構成によれば、許容範囲外の識別子を持つデータを含むパケットを不正なパケットであると判定して排除することができる。
【0012】
判定情報記憶部は、パケット内のデータの長さの範囲を示す長さ範囲情報を含む判定情報を記憶し、判定処理部は、パケット内のデータの長さが、長さ範囲情報が示す範囲に収まっているか否かによってパケットの正常性を判定するものであることが好ましい。そのような構成によれば、許容範囲外のデータ長を持つデータを含むパケットを不正なパケットであると判定して排除することができる。
【0013】
判定情報記憶部は、パケット内のデータの値の範囲を示すデータ範囲情報を含む判定情報を記憶し、判定処理部は、パケット内のデータの値が、データ範囲情報が示す範囲に収まっているか否かによってパケットの正常性を判定するものであることが好ましい。そのような構成によれば、許容範囲外の値であるデータを含むパケットを不正なパケットであると判定して排除することができる。
【0014】
判定処理部は、SNMPによって管理される通信ネットワーク内で送受信されるパケットの正常性を判定するものであってもよい。
【0015】
判定処理部は、DNSサーバが送受信するパケットの正常性を判定するものであってもよい。
【0016】
本発明によるパケット監視プログラムは、通信ネットワークに接続された機器が送受信するパケットを監視するためのパケット監視プログラムであって、コンピュータに、機器から受信したパケットの正常性を判定する処理と、不正と判定したパケットを廃棄する処理とを実行させることを特徴とする。
【0017】
パケット監視プログラムは、コンピュータに、パケットの正常性の判断基準となる判定情報に基づいてパケットの正常性を判定する処理を実行させるものであってもよい。
【0018】
【発明の実施の形態】
実施の形態1.
以下、本発明の実施の形態を図面を参照して説明する。図1は、本発明によるパケット監視装置が適用される通信ネットワークの一例を示すブロック図である。図1に示す通信ネットワーク(ここでは、LAN(Local Area Network)とする。)は、ネットワーク管理用プロトコルであるSNMP(Simple Network Management Protocol)によって管理される。また、本実施の形態において、パケット監視装置30は、SNMPによるネットワーク管理のためのパケット(以下、SNMPパケットという。)を監視する。なお、LAN内で送受信されるパケットは必ずしもSNMPパケットのみとは限らないので、本実施の形態では、パケット監視装置は、受信したパケットがSNMPパケットであるか否かの判断を行い、その判断の結果、受信したパケットがSNMPパケットであった場合にパケットの正常性を判定する。
【0019】
図1に示すように、本実施の形態におけるLANには、LANの管理者がネットワーク管理に使用するSNMPマネージャ10と、SNMPエージェント20と、LAN内で送受信されるパケットを監視するパケット監視装置30とが接続されている。
【0020】
SNMPマネージャ10は、SNMP管理用ソフトウェアがインストールされたサーバ等の情報処理装置である。SNMPエージェント20は、ルータやネットワークスイッチ等のネットワーク機器またはクライアント端末等である。また、パケット監視装置30は、サーバ等の情報処理装置である。
【0021】
なお、パケット監視装置30は、サーバ等ではなくパケットを監視する機能を備えたネットワーク機器等であってもよい。また、本実施の形態では、SNMPをネットワーク管理用プロトコルとして用いるLANにパケット監視装置30を適用する場合を例に説明するが、SNMPをプロトコルとして用いるLAN以外の通信ネットワークにパケット監視装置30を適用してもよい。また、本実施の形態におけるLANは、さらにインターネット等の外部の通信ネットワークに接続されるものであってもよい。さらに、本実施の形態では、1台のSNMPマネージャ10によってLAN全体が管理されている比較的小規模のLANを例として説明するが、大規模なLANであれば、複数のSNMPマネージャを含み、さらに各SNMPマネージャを管理する上位のSNMPマネージャを含むものであってもよい。
【0022】
本実施の形態におけるパケット送受信の形態として、パケット監視装置30を介して、SNMPマネージャ10がSNMPエージェント20にパケットを送信する場合と、SNMPエージェント20がSNMPマネージャ10にパケットを送信する場合と、SNMPエージェント20がLAN内の他のSNMPエージェント20にパケットを送信する場合とがある。なお、大規模なLANの場合には、上位のSNMPマネージャが下位のSNMPマネージャにパケットを送信する場合等、SNMPマネージャ同士がパケットを送受信する場合もある。
【0023】
図2は、パケット監視装置30の構成の一例を示すブロック図である。図2に示すように、パケット監視装置30は、SNMPマネージャ10またはSNMPエージェント20からパケットを受信するパケット受信部31と、受信したパケットの正常性を判定するデータ判定部32と、データ判定部32が正常であると判定したパケットを送信するパケット送信部(送信部)33とを含む。さらに、データ判定部32は、受信したパケットの正常性の判定処理を実行する判定処理部321と、パケットの正常性を判断する際に判断の基準となる情報(以下、判定情報という。)を記憶する判定データ部(判定情報記憶部)322とを含む。
【0024】
判定処理部321は、例えば、プログラムに従って動作するCPUによって実現される。この場合、CPUに、各機器から受信したパケットの正常性を判定する処理と、不正と判定したパケットを廃棄する処理とを実行させるためのパケット監視プログラムをROM等に記憶させておく。そして、CPUがこのパケット監視プログラムを読み込んで処理を行えばよい。また、判定データ部322は、パケット監視装置30に内蔵される記憶装置または外部接続されるデータベース装置等によって実現される。
【0025】
図3は、判定データ部322に記憶される判定情報の例を示す説明図である。図3に示すように、判定情報は、複数のレコードを含む。本実施の形態では、判定データ部322が記憶する各レコードを判定レコードと記す。また、パケット受信部31がSNMPマネージャ10またはSNMPエージェント20から受信するパケットに含まれるレコードを情報レコードと記す。情報レコードについては後述する。
【0026】
図3に示すように、判定レコードは、IDと、Lengthと、DATAとを含む。IDは、受信した情報レコードに含まれるべきデータ識別子(識別子情報)であり、以下、ID情報という。また、Lengthは、受信した情報レコード内のデータのデータ長が収まるべき範囲を示す情報(以下、長さ範囲情報という。)である。さらに、DATAは、受信した情報レコード内のデータの値が収まるべき範囲を示す情報(以下、データ範囲情報という。)である。
【0027】
例えば、図3に示す1つ目の判定レコード50は、パケット受信部31が受信したパケットに含まれる情報レコードのID情報が「0x02」であった場合に、その情報レコードに対して許容されるデータ長及びデータの値の範囲を示したものである。ID情報が「0x02」である1つ目の判定レコード50は、バージョン(Version )情報に許容されるデータ長の範囲等を示す。ここで、「0x」は、16進表示であることを示す符号である。1つ目の判定レコード50の長さ範囲情報は「0x1」であるので、受信した情報レコードに対して許容されるデータ長は「1」でなければならないことを示す。また、1つ目の判定レコード50のデータ範囲情報は「0 or 1」であるので、受信した情報レコードに含まれる各データについて許容される値は、「0」または「1」でなければならないことを示す。
【0028】
また、図3に示される2つ目の判定レコード51は、パケット受信部31が受信したパケットに含まれる情報レコードのID情報が「0x04」であった場合に、その情報レコードに対して許容されるデータ長及びデータの値の範囲を示したものである。ID情報が「0x04」である2つ目の判定レコードは、SNMPマネージャ10及びSNMPエージェント20間での通信の許可または不許可の判断に用いられるコミュニティネーム(Community Name)情報(装置間の一種のパスワード)に許容されるデータ長の範囲等を示す。2つ目の判定レコード51の長さ範囲情報は「0−255」であるので、受信した情報レコードに対して許容されるデータ長は「0」から「255」までのいずれかの長さでなければならないことを示す。また、2つ目の判定レコード51のデータ範囲情報は「0x20−0x7E」であるので、受信した情報レコードに含まれる各データについて許容される値は、「0x20」から「0x7E」までのいずれかの値でなければならないことを示す。
【0029】
図4は、パケット受信部31が受信するSNMPパケットの内容の例を示す説明図である。図4に示すように、受信するSNMPパケットは、複数の情報レコード60〜62等を含む。また、情報レコードは、図4に示すように、その情報レコードの種別を区別するためのデータ識別子と、その情報レコードのデータ長を示すデータ長情報と、データの値とを含む。
【0030】
次に、動作について説明する。図5は、パケット監視装置が実行する処理の処理経過の一例を示す流れ図である。パケット受信部31は、パケット(SNMPパケットとは限らない。)が受信されたか否かを判定する(ステップS10)。そして、パケット受信部31は、SNMPマネージャ10またはSNMPエージェント20からパケットを受信した場合には、受信したパケットをデータ判定部32に出力する。
【0031】
データ判定部32の判定処理部321は、パケット受信部31が受信したパケットがSNMPパケットであるか否かを判定する(ステップS11)。判定処理部321は、受信したパケットのUDP(User Datagram Protocol)ヘッダ部分に含まれる宛先ポート番号についての情報を検出する。そして、検出した宛先ポート番号が「161(SNMP)」または「162(SNMPTRAP)」であった場合に、判定処理部321は、受信したパケットがSNMPパケットであると判定する。検出した宛先ポート番号が「161(SNMP)」または「162(SNMPTRAP)」でなかった場合には、判定処理部321は、受信したパケットはSNMPパケットではないと判定する。
【0032】
ステップS11で判定した結果、受信したパケットがSNMPパケットでなかった場合には、判定処理部321は、受信したパケットをそのままパケット送信部33に出力する(ステップS15)。判定した結果、受信したパケットがSNMPパケットであった場合には、判定処理部321は、次のステップS12の処理を実行する。
【0033】
判定処理部321は、受信したパケットの各情報レコードに含まれるデータ識別子を検出し、検出したデータ識別子が正常なものであるか否か判定する(ステップS12)。判定処理部321は、判定データ部322が記憶する各判定レコードのID情報を検索して、検出した情報レコードに含まれるデータ識別子と一致するID情報があるか否かを判定する。判定データ部322が記憶するID情報のなかに、検出したデータ識別子と一致するID情報が含まれていた場合には、判定処理部321は、検出したデータ識別子は正常であると判定する。また、検出したデータ識別子と一致するID情報が含まれていなかった場合には、判定処理部321は、検出したデータ識別子は不正であると判定する。
【0034】
データ識別子が不正であると判定された情報レコードが見つかった場合には、判定処理部321は、その情報レコードを含むパケットを廃棄する(ステップS16)。各情報レコードのデータ識別子が正常であると判定された場合には、判定処理部321は、次のステップS13の処理を実行する。
【0035】
判定処理部321は、受信したパケットの各情報レコードに含まれるデータ長情報を検出し、検出したデータ長情報が正常なものであるか否か判定する(ステップS13)。判定処理部321は、判定データ部322が記憶する各判定レコードの長さ範囲情報のうち、ステップS12で検出したデータ識別子と一致するID情報に対応する長さ範囲情報を抽出する。そして、検出した情報レコードのデータ長情報の値が、抽出した判定レコードの長さ範囲情報に示される値の範囲に含まれるか否かを判定する。判定の結果、データ長情報の値が長さ範囲情報に示される値の範囲に含まれていた場合には、判定処理部321は、検出したデータ長情報は正常であると判定する。また、判定の結果、データ長情報の値が長さ範囲情報に示される値の範囲外であった場合には、判定処理部321は、検出したデータ長情報は不正であると判定する。
【0036】
データ長情報が不正であると判定された情報レコードが見つかった場合には、判定処理部321は、その情報レコードを含むパケットを廃棄する(ステップS16)。各情報レコードのデータ長情報が正常であると判定された場合には、判定処理部321は、次のステップS14の処理を実行する。
【0037】
判定処理部321は、受信したパケットの各情報レコードに含まれるデータを検出し、検出したデータが正常なものであるか否か判定する(ステップS14)。判定処理部321は、判定データ部322が記憶する各判定レコードのデータ範囲情報のうち、ステップS12で検出したデータ識別子と一致するID情報に対応するデータ範囲情報を抽出する。そして、検出した情報レコードのデータの各値が、抽出した判定レコードのデータ範囲情報に示される値の範囲に含まれるか否かを判定する。判定の結果、データの各値がデータ範囲情報に示される値の範囲に全て含まれていた場合には、判定処理部321は、検出したデータは正常であると判定する。また、判定の結果、データの各値のなかにデータ範囲情報に示される値の範囲外である値が含まれていた場合には、判定処理部321は、検出したデータは不正であると判定する。
【0038】
データが不正であると判定された情報レコードが見つかった場合には、判定処理部321は、その情報レコードを含むパケットを廃棄する(ステップS16)。各情報レコードのデータが正常であると判定された場合には、判定処理部321は、受信したパケットは正常であると判定し、正常と判定したパケットをパケット送信部33に出力する(ステップS15)。そして、パケット送信部33は、データ判定部32の判定処理部321からのパケットを、そのパケットに含まれる宛先情報に基づいてSNMPマネージャ10またはSNMPエージェント20に送信する。
【0039】
以下、図3及び図4に基づいてパケットの正常性の判定の処理経過を具体的に説明する。ここでは、図4に示すパケットに含まれる情報レコードのうち2つ目の情報レコード61を例に、判定処理部321が正常性の判定を行う場合の処理経過について説明する。なお、図4に示すパケットは、図5に示すステップS11の処理において既にSNMPパケットであると判定されているものとする。
【0040】
判定処理部321は、2つ目の情報レコード61からデータ識別子「0x04」を検出する。そして、図3に示す判定レコードに含まれるID情報を検索し、検出したデータ識別子「0x04」と一致するID情報があるか判定する。図3に示す判定レコードのうち2つ目の判定レコード51のID情報が「0x04」であるので、判定処理部321は、一致するID情報が存在すると判定し、検出したデータ識別子「0x04」は正常であると判定する(ステップS12)。なお、ステップS12では、判定処理部321は、他の情報レコード60,62についてもデータ識別子の正常性の判定を行い、各データ識別子が正常であるならば、次のステップS13の処理を実行する。
【0041】
判定処理部321は、2つ目の情報レコード61からデータ長情報「0x06」を検出する。すなわち、データ長情報によって、2つ目の情報レコード61に含まれるデータの長さは6バイト(byte)であることが示されている。判定処理部321は、図3に示す判定レコードのうち、ステップS12で判定したデータ識別子と一致するID情報を含む2つ目の判定レコード51から長さ範囲情報「0−255」を抽出する。すなわち、長さ範囲情報「0−255」によって、検出したデータ長情報は、「0」から「255」までのいずれかの値でなければならないことが示されている。
【0042】
2つ目の情報レコード61から検出したデータの長さは6バイトであるので、長さ範囲情報に示される長さの範囲に適合しており、判定処理部321は、データ長情報は正常であると判定する(ステップS13)。なお、ステップS13では、判定処理部321は、他の情報レコード60,62についてもデータ長情報の正常性の判定を行い、各データ長情報が正常であるならば、次のステップS14の処理を実行する。
【0043】
判定処理部321は、2つ目の情報レコード61からデータ「0x7075626C6963」を検出する。すなわち、2つ目の情報レコード61には、「0x70」,「0x75」,「0x62」,「0x6C」,「0x69」,「0x63」の6個のデータ(データ長「6バイト」)が含まれていることが示されている。判定処理部321は、図3に示す判定レコードのうち、ステップS12で判定したデータ識別子と一致するID情報を含む2つ目の判定レコード51からデータ範囲情報「0x20−0x7E」を抽出する。すなわち、データ範囲情報「0x20−0x7E」によって、検出したデータの各値は、「0x20」から「0x7E」までのいずれかの値でなければならないことが示されている。
【0044】
2つ目の情報レコード61から検出したデータの各値は全て「0x20」から「0x7E」までの間の数値であるので、データ範囲情報に示されるデータの値の範囲に全て適合しており、判定処理部321は、データは正常であると判定する(ステップS14)。なお、ステップS14では、判定処理部321は、他の情報レコード60,62についてもデータの正常性の判定を行い、各データが正常であるならば、判定処理部321は、情報レコードは全て正常であると判定する。
【0045】
ステップS14において、情報レコードが全て正常であった場合には、判定処理部321は、パケットは正常であると判定して、判定したパケットをパケット送信部33に出力する(ステップS15)。
【0046】
次に、不正な情報レコードについて判定処理部321が正常性の判定を行う場合を説明する。図6は、不正な情報レコードの例を示す説明図である。図6に示す情報レコード63に含まれるデータ識別子「0x02」は、図3に示す1つ目の判定レコード50に含まれるID情報「0x02」と一致するので、図4に示す情報レコード61の場合と同様の処理が実行され、判定処理部321は、検出したデータ識別子を正常であると判定する。
【0047】
判定処理部321は、図6に示す情報レコード63からデータ長情報「0x3」を検出する。すなわち、データ長情報によって、情報レコード63に含まれるデータの長さは3バイトであることが示されている。判定処理部321は、図3に示す判定レコードのうち、ステップS12で判定したデータ識別子と一致するID情報を含む2つ目の判定レコード50から長さ範囲情報「0x1」を抽出する。すなわち、長さ範囲情報「0x1」によって、検出したデータ長情報は1バイトでなければならないことが示されている。情報レコード63から検出したデータの長さは3バイトであるので、長さ範囲情報に示される長さの範囲に適合せず、判定処理部321は、データ長情報は不正であると判定する(ステップS13)。
【0048】
従って、判定処理部321は、情報レコード63を含むパケットを不正なパケットであると判定して廃棄する(ステップS16)。
【0049】
次に、図6に示す情報レコード64を例に説明する。情報レコード64に含まれるデータ識別子「0x04」は、図3に示す2つ目の判定レコード51に含まれるID情報「0x04」と一致するので、図4に示す情報レコード61の場合と同様の処理が実行され、判定処理部321は、検出したデータ識別子を正常であると判定する。また、情報レコード64に含まれるデータ長情報「0x05」は、図3に示す2つ目の判定レコード51に含まれる長さ範囲情報「0−255」に適合するので、図4に示す情報レコード61の場合と同様の処理が実行され、判定処理部321は、検出したデータ長情報を正常であると判定する。
【0050】
判定処理部321は、情報レコード64からデータ「0x7011243EFF」を検出する。すなわち、情報レコード64には、「0x70」,「0x11」,「0x24」,「0x3E」,「0xFF」の5個のデータ(データ長「5バイト」)が含まれていることが示されている。判定処理部321は、図3に示す判定レコードのうち、ステップS12で判定したデータ識別子と一致するID情報を含む2つ目の判定レコード51からデータ範囲情報「0x20−0x7E」を抽出する。すなわち、データ範囲情報「0x20−0x7E」によって、検出したデータの各値は、「0x20」から「0x7E」までのいずれかの値でなければならないことが示されている。情報レコード64から検出したデータのうち、「0x11」等は「0x20」から「0x7E」までの範囲外の数値であるので、データ範囲情報に示されるデータの値の範囲に適合しておらず、判定処理部321は、データは不正であると判定する(ステップS14)。
【0051】
従って、判定処理部321は、情報レコード64を含むパケットを不正なパケットであると判定して廃棄する(ステップS16)。
【0052】
以上のように、本実施の形態によれば、データ長やデータの値の正常性の確認を行うので、通信ネットワークに接続された各機器はデータ長やデータの値が正常であることを保証されたパケットを受信できる。
【0053】
また、正常性の判断の結果、不正なパケットが発見された場合に、送信元にエラーの通知を行わないので、通信ネットワークに対する負荷を軽減することができる。
【0054】
なお、通信ネットワーク内で送受信されるパケットの正常性を確認する方法としては、通信ネットワークに接続されているコンピュータ端末やネットワーク機器が個別にパケットの正常性の確認を行う方法も考えられる。しかし、この方法では、厳格な正常性の判定を行う機器と簡易な判定しか行わない機器とが混在すると、セキュリティレベルが均一に保たれない。すなわち、厳格に正常性を判断した機器から受信したパケットは正常性が十分に保証されるが、簡易な判定しか行わない機器から受信したパケットについては正常性が十分保証されていない場合がある。
【0055】
また、通信ネットワークにパケットの正常性の確認を行わない機器が接続された場合には、これらの機器がパケットを送受信することにより通信ネットワーク内のシステムが正常に動作できなくなるという場合も想定される。通信ネットワーク内のシステムが正常に動作するようにするためには、ネットワーク管理者が通信ネットワーク内の全ての機器においてパケットの正常性の判断が行われていることを確認しなければならず、ネットワーク管理者等の負担が大きくなる。これに対し、本実施の形態によれば、パケット監視装置がパケットの正常性を判断するので、送受信される全てのパケットについて均一なセキュリティレベルを確保することができる。また、通信ネットワーク内のシステムが正常に動作できなくなるといった事態を防止することができ、ネットワーク管理者等の負担を軽減することができる。
【0056】
実施の形態2.
次に、第2の実施の形態を図面を参照して説明する。図7は、第2の実施の形態における通信ネットワークの例を示すブロック図である。本実施の形態では、UDPヘッダの宛先ポート番号が53であるパケット(以下、DNSパケットという。)を監視するパケット監視装置を例に説明する。なお、パケット監視装置が受信するパケットは必ずしもDNSパケットとは限らないので、本実施の形態では、パケット監視装置は、受信したパケットがDNSパケットであるか否かの判断を行い、その判断の結果、受信したパケットがDNSパケットであった場合にパケットの正常性を判定する。
【0057】
図7に示すように、本実施の形態におけるLANには、各階層毎のアドレスを管理するDNS(Domain Name System)サーバ70a,70b,70cと、各ユーザが使用するクライアント端末80と、LAN内で送受信されるパケットを各階層毎に監視するパケット監視装置90a,90b,90cとが接続されている。なお、各パケット監視装置90a,90b,90cの構成は、第1の実施の形態と同じである。
【0058】
DNSサーバ70a,70b,70cは、サーバ等の情報処理装置であり、各階層毎にドメインの管理を行う。例えば、DNSサーバ70aは、「jp」の階層の管理サーバであり、DNSサーバ70bは、「co.jp」の階層の管理サーバである。クライアント端末80は、ユーザが使用するパーソナルコンピュータ等のコンピュータ端末である。パケット監視装置90a,90b,90cは、サーバ等の情報処理端末であり、各階層毎にパケットの監視を行う。なお、パケット監視装置90a,90b,90cは、サーバ等ではなくパケットを監視する機能を備えたネットワーク機器等であってもよい。
【0059】
図8は、判定データ部322に記憶される判定情報の例を示す説明図である。本実施の形態では、判定データ部322は、判定情報としてDNSのリソースレコード(resource record )の情報を記憶する。図8に示すように、第1の実施の形態におけるID情報の代わりに、判定情報は、リソースレコードのTypeとClassとを含む。図8において、Typeは、判定レコードの種別を示す情報(以下、タイプ情報という。)である。また、Classは、判定レコードのレコードクラスを指定する情報(以下、クラス情報という。)である。また、本実施の形態では、長さ範囲情報としてリソースレコード情報のRDLengthの値の範囲の情報が用いられ、データ範囲情報としてリソースレコード情報のRDATAの値の範囲の情報が用いられる。
【0060】
よって、図8に示すように、本実施の形態では、判定レコードは、タイプ情報、クラス情報、長さ範囲情報及びデータ範囲情報を含む。なお、本実施の形態では、タイプ情報及びクラス情報が、データの識別子となる。
【0061】
例えば、図8に示す1つ目の判定レコード100は、パケット受信部31が受信したパケットに含まれる情報レコードのタイプ情報が「CNAME(5)」であり、且つクラス情報が「IN(1)」であった場合に、その情報レコードに対して許容されるデータ長及びデータの値の範囲を示したものである。「CNAME(5)」は、データのタイプがエイリアスの標準の文字列であることを示すタイプ情報であり、「IN(1)」は、データがインターネットを介して送受信されるものであることを示すクラス情報である。従って、1つ目の判定レコード100は、インターネットを介してエイリアス名に関する情報レコード受信した場合に、その情報レコードに対して許容されるデータ長の範囲及びデータの値の範囲を示したものである。
【0062】
1つ目の判定レコード100の長さ範囲情報は「0−255」であるので、受信した情報レコードに対して許容されるデータ長は「0」から「255」までのいずれかの長さでなければならないことを示す。また、1つ目の判定レコード100のデータ範囲情報は「0x20−0x7E」であるので、受信した情報レコードに含まれる各データについて許容される値は、「0x20」から「0x7E」までのいずれかの値でなければならないことを示す。
【0063】
また、2つ目の判定レコード101は、パケット受信部31が受信したパケットに含まれる情報レコードのタイプ情報が「MR(9)」であり、且つクラス情報が「IN(1)」であった場合に、その情報レコードに対して許容されるデータ長及びデータの値の範囲を示したものである。「MR(9)」は、データのタイプがドメイン名の文字列であることを示すタイプ情報である。従って、2つ目の判定レコード101は、インターネットを介してドメイン名に関する情報レコード受信した場合に、その情報レコードに対して許容されるデータ長及びデータの値の範囲を示したものである。
【0064】
2つ目の判定レコード101の長さ範囲情報は「0−255」であるので、受信した情報レコードに対して許容されるデータ長は「0」から「255」までのいずれかの長さでなければならないことを示す。また、2つ目の判定レコード101のデータ範囲情報は「0x20−0x7E」であるので、受信した情報レコードに含まれる各データについて許容される値は、「0x20」から「0x7E」までのいずれかの値でなければならないことを示す。
【0065】
次に、動作について説明する。図9は、パケット監視装置の処理経過の一例を示す流れ図である。パケット受信部31は、パケット(DNSパケットとは限らない。)が受信されたか否かを判定する(ステップS20)。パケット受信部31は、DNSサーバ70a,70b,70cまたはクライアント端末80からパケットを受信した場合には、受信したパケットをデータ判定部32に出力する。
【0066】
データ判定部32の判定処理部321は、パケット受信部31が受信したパケットがDNSパケットであるか否かを判定する(ステップS21)。判定処理部321は、受信したパケットのUDPヘッダ部分に含まれる宛先ポート番号についての情報を検出する。そして、検出した宛先ポート番号が「53(Domain Name Server)」であった場合に、判定処理部321は、受信したパケットがDNSパケットであると判定する。検出した宛先ポート番号が「53(Domain Name Server)」でなかった場合には、判定処理部321は、受信したパケットはDNSパケットではないと判定する。
【0067】
ステップS21で判定した結果、受信したパケットがDNSパケットでなかった場合には、判定処理部321は、受信したパケットをそのままパケット送信部33に出力する(ステップS25)。判定した結果、受信したパケットがDNSパケットであった場合には、判定処理部321は、次のステップS22の処理を実行する。
【0068】
判定処理部321は、受信したパケットの各情報レコードに含まれるタイプ情報及びクラス情報を検出し、検出したタイプ情報及びクラス情報が正常なものであるか否か判定する(ステップS22)。判定処理部321は、判定データ部322が記憶する各判定レコードのタイプ情報及びクラス情報を検索して、検出した情報レコードに含まれるタイプ情報及びクラス情報と一致する情報があるかを判定する。判定データ部322が記憶するタイプ情報及びクラス情報のなかに、情報レコードから検出したタイプ情報及びクラス情報と一致する情報が含まれていた場合には、判定処理部321は、検出したタイプ情報及びクラス情報は正常であると判定する。また、一致するタイプ情報及びクラス情報が含まれていなかった場合には、判定処理部321は、検出したタイプ情報及びクラス情報は不正であると判定する。
【0069】
タイプ情報及びクラス情報が不正であると判定された情報レコードが見つかった場合には、判定処理部321は、その情報レコードを含むパケットを廃棄する(ステップS26)。各情報レコードのタイプ情報及びクラス情報が正常であると判定された場合には、判定処理部321は、次のステップS23の処理を実行する。
【0070】
判定処理部321は、第1の実施の形態と同様の処理手順に従って、各情報レコードに含まれるデータ長情報の正常性を判定する(ステップS23)。データ長情報が不正であると判定された情報レコードが見つかった場合には、判定処理部321は、その情報レコードを含むパケットを廃棄する(ステップS26)。データ長情報が正常であると判定された場合には、判定処理部321は、次のステップS24の処理を実行する。
【0071】
判定処理部321は、第1の実施の形態と同様の処理手順に従って、各情報レコードに含まれるデータの正常性を判定する(ステップS24)。データが不正であると判定された情報レコードが見つかった場合には、判定処理部321は、その情報レコードを含むパケットを廃棄する(ステップS26)。データが正常であると判定された場合には、判定処理部321は、正常と判定したパケットをパケット送信部33に出力する(ステップS25)。
【0072】
以上のように、第2の実施の形態によれば、パケット監視装置がDNSパケットを監視する場合においても、通信ネットワークに接続された各機器はデータ長やデータの値が正常であることを保証されたパケットを受信できる。
【0073】
また、正常性の判断の結果、不正なパケットが発見された場合に、送信元にエラーの通知を行わないので、通信ネットワークに対する負荷を軽減することができる。
【0074】
なお、第1の実施の形態及び第2の実施の形態においては、SNMPパケットを監視するパケット監視装置及びDNSパケットを監視するパケット監視装置を例に説明したが、パケットに識別子等のデータの正常性判断に利用できる情報が含まれるものであれば、パケット監視装置は、SNMPパケットやDNSパケットに限らず他の形式のパケットの正常性の判断を行うものであってもよい。
【0075】
また、第1の実施の形態及び第2の実施の形態においては、最初に受信したパケットがSNMPパケットまたはDNSパケットであるか否かの判定を行い、その判定の結果SNMPパケットまたはDNSパケットであった場合にのみ、パケットの正常性の判定を行うパケット監視装置を例に説明したが、パケット監視装置は、複数の種類の形式のパケットの正常性の判定を行うものであってもよい。
【0076】
【発明の効果】
本発明によるパケット監視装置によれば、機器から受信したパケットの正常性を判定し、不正と判定したパケットを廃棄する判定処理部と、判定処理部が正常であると判定したパケットを送信する送信部とを備えるように構成したので、通信ネットワーク内の各機器が正常なパケットのみを受信できるようにすることができる。また、通信ネットワークに対する負荷を軽減することができる。
【0077】
本発明によるパケット監視プログラムによれば、コンピュータに、機器から受信したパケットの正常性を判定する処理と、不正と判定したパケットを廃棄する処理とを実行させるので、通信ネットワーク内の各機器が正常なパケットのみを受信できるようにすることができる。また、通信ネットワークに対する負荷を軽減することができる。
【図面の簡単な説明】
【図1】本発明によるパケット監視装置を適用した通信ネットワークの構成の一例を示すブロック図である。
【図2】本発明によるパケット監視装置の構成の一例を示すブロック図である。
【図3】判定情報の内容の一例を示す説明図である。
【図4】SNMPパケットの内容の一例を示す説明図である。
【図5】パケット監視装置が実行する処理の処理経過の一例を示す流れ図である。
【図6】不正な情報レコードの例を示す説明図である。
【図7】本発明によるパケット監視装置を適用した通信ネットワークの構成の他の例を示すブロック図である。
【図8】判定情報の内容の他の例を示す説明図である。
【図9】パケット監視装置が実行する処理の処理経過の他の例を示す流れ図である。
【符号の説明】
10 SNMPマネージャ
20 SNMPエージェント
30,90a,90b,90c パケット監視装置
31 パケット受信部
32 データ判定部
321 判定処理部
322 判定データ部
33 パケット送信部
70a,70b,70c DNSサーバ
80 クライアント端末
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a packet monitoring device and a packet monitoring program for monitoring packets transmitted and received in a communication network.
[0002]
[Prior art]
When each device connected to the communication network transmits and receives packets via the communication network to perform processing, it is necessary to confirm that data and the like included in the packets are normal.
[0003]
As a configuration for confirming that the data or the like in the packet is normal, when each device connected to the communication network receives the packet, a configuration for confirming the normality of the received packet can be considered. That is, a configuration in which each device individually confirms the normality of the packet can be considered.
[0004]
Patent Literature 1 describes a DNS server filter that receives a packet in an abnormal format and prevents an abnormal operation from occurring. The DNS server filter described in Patent Literature 1 inspects a received packet, and notifies the transmission source of an error when there is an abnormality.
[0005]
Patent Document 2 discloses a packet transfer device that determines whether to transfer a packet received from one communication network to another communication network based on information on a source address and a destination address included in the packet. I have. This packet transfer device discards a packet that is determined not to need to be transferred to another communication network.
[0006]
[Patent Document 1]
JP-A-2001-203762 (pages 5 to 11, FIGS. 5 and 9)
[Patent Document 2]
JP-A-2000-349851 (page 3, FIG. 10)
[0007]
[Problems to be solved by the invention]
In the invention described in Patent Literature 1, an error response is returned to the transmission source. Therefore, if the traffic at the time of the error response increases, the network load of the communication network increases. Further, the packet transfer device described in Patent Literature 2 checks a packet. The check is performed to confirm whether or not to transfer the packet to another communication network. That is, it is not confirmed whether or not the data in the packet is normal.
[0008]
Therefore, an object of the present invention is to provide a packet monitoring device and a packet monitoring program that allow each device in a communication network to receive only normal packets. It is another object of the present invention to provide a packet monitoring device and a packet monitoring program capable of reducing a load on a communication network.
[0009]
[Means for Solving the Problems]
A packet monitoring device according to the present invention is a packet monitoring device that monitors packets transmitted and received by a device connected to a communication network, and determines the normality of a packet received from the device, and discards a packet determined to be invalid. A processing unit; and a transmission unit that transmits the packet determined to be normal by the determination processing unit.
[0010]
The packet monitoring device may include a determination information storage unit that stores determination information serving as a criterion for determining the normality of the packet, and the determination processing unit may determine the normality of the packet based on the determination information.
[0011]
The determination information storage unit stores determination information including identifier information indicating the type of data in the packet, and the determination processing unit determines whether the packet includes the identifier information stored in the determination information storage unit. It is preferable to determine the normality of the packet. According to such a configuration, a packet including data having an identifier outside the allowable range can be determined to be an invalid packet and eliminated.
[0012]
The determination information storage unit stores determination information including length range information indicating a length range of the data in the packet, and the determination processing unit determines that the length of the data in the packet is within the range indicated by the length range information. It is preferable that the normality of the packet is determined based on whether the packet is contained in the packet. According to such a configuration, a packet including data having a data length outside the allowable range can be determined to be an invalid packet and eliminated.
[0013]
The determination information storage unit stores determination information including data range information indicating a range of data values in the packet, and the determination processing unit determines whether the data value in the packet falls within the range indicated by the data range information. It is preferable that the normality of the packet is determined based on whether the packet is normal or not. According to such a configuration, a packet including data having a value outside the allowable range can be determined to be an invalid packet and eliminated.
[0014]
The determination processing unit may determine the normality of a packet transmitted and received in a communication network managed by SNMP.
[0015]
The determination processing unit may determine the normality of a packet transmitted and received by the DNS server.
[0016]
A packet monitoring program according to the present invention is a packet monitoring program for monitoring packets transmitted and received by a device connected to a communication network. And discarding the determined packet.
[0017]
The packet monitoring program may cause a computer to execute a process of determining the normality of a packet based on determination information serving as a standard for determining the normality of the packet.
[0018]
BEST MODE FOR CARRYING OUT THE INVENTION
Embodiment 1 FIG.
Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing an example of a communication network to which a packet monitoring device according to the present invention is applied. The communication network shown in FIG. 1 (here, a LAN (Local Area Network)) is managed by SNMP (Simple Network Management Protocol) which is a network management protocol. Further, in the present embodiment, the packet monitoring device 30 monitors a packet for network management by SNMP (hereinafter, referred to as an SNMP packet). Note that packets transmitted and received in the LAN are not necessarily only SNMP packets. In this embodiment, the packet monitoring device determines whether or not the received packet is an SNMP packet. As a result, if the received packet is an SNMP packet, the normality of the packet is determined.
[0019]
As shown in FIG. 1, a LAN according to the present embodiment includes an SNMP manager 10, an SNMP agent 20, which is used by a LAN manager for network management, and a packet monitoring device 30 which monitors packets transmitted and received in the LAN. And are connected.
[0020]
The SNMP manager 10 is an information processing device such as a server in which SNMP management software is installed. The SNMP agent 20 is a network device such as a router or a network switch or a client terminal. The packet monitoring device 30 is an information processing device such as a server.
[0021]
Note that the packet monitoring device 30 may be a network device or the like having a function of monitoring packets instead of a server or the like. In this embodiment, a case where the packet monitoring device 30 is applied to a LAN that uses SNMP as a network management protocol will be described as an example. However, the packet monitoring device 30 is applied to a communication network other than a LAN that uses SNMP as a protocol. May be. Further, the LAN in the present embodiment may be further connected to an external communication network such as the Internet. Further, in this embodiment, a relatively small LAN in which the entire LAN is managed by one SNMP manager 10 will be described as an example. However, a large LAN includes a plurality of SNMP managers. Further, a higher-level SNMP manager that manages each SNMP manager may be included.
[0022]
Packet transmission and reception modes according to the present embodiment include a case where the SNMP manager 10 transmits a packet to the SNMP agent 20 via the packet monitoring device 30, a case where the SNMP agent 20 transmits a packet to the SNMP manager 10, and a case where the SNMP There is a case where the agent 20 transmits a packet to another SNMP agent 20 in the LAN. In the case of a large-scale LAN, the SNMP managers may transmit and receive packets to and from each other, such as when a higher-level SNMP manager transmits a packet to a lower-level SNMP manager.
[0023]
FIG. 2 is a block diagram illustrating an example of the configuration of the packet monitoring device 30. As shown in FIG. 2, the packet monitoring device 30 includes a packet receiving unit 31 that receives a packet from the SNMP manager 10 or the SNMP agent 20, a data determining unit 32 that determines the normality of the received packet, and a data determining unit 32. And a packet transmission unit (transmission unit) 33 for transmitting a packet determined to be normal. Furthermore, the data determination unit 32 performs a determination processing unit 321 that performs a determination process of the normality of the received packet, and information (hereinafter, referred to as determination information) serving as a criterion for determining the normality of the packet. A determination data section (determination information storage section) 322 to be stored.
[0024]
The determination processing unit 321 is realized by, for example, a CPU that operates according to a program. In this case, a packet monitoring program for causing the CPU to execute a process of determining the normality of a packet received from each device and a process of discarding a packet determined to be invalid is stored in a ROM or the like. Then, the CPU may read the packet monitoring program and perform the processing. The determination data unit 322 is realized by a storage device built in the packet monitoring device 30 or a database device externally connected.
[0025]
FIG. 3 is an explanatory diagram illustrating an example of the determination information stored in the determination data unit 322. As shown in FIG. 3, the determination information includes a plurality of records. In the present embodiment, each record stored in the determination data unit 322 is referred to as a determination record. A record included in a packet received by the packet receiving unit 31 from the SNMP manager 10 or the SNMP agent 20 is referred to as an information record. The information record will be described later.
[0026]
As shown in FIG. 3, the determination record includes ID, Length, and DATA. The ID is a data identifier (identifier information) to be included in the received information record, and is hereinafter referred to as ID information. Length is information (hereinafter, referred to as length range information) indicating a range in which the data length of the data in the received information record should fall. Further, DATA is information (hereinafter, referred to as data range information) indicating a range in which the value of the data in the received information record should fall.
[0027]
For example, the first determination record 50 shown in FIG. 3 is permitted for the information record when the ID information of the information record included in the packet received by the packet receiving unit 31 is “0x02”. It shows the data length and the range of data values. The first determination record 50 whose ID information is “0x02” indicates the range of the data length allowed for the version (Version) information, and the like. Here, “0x” is a code indicating hexadecimal display. Since the length range information of the first determination record 50 is “0x1”, it indicates that the allowable data length for the received information record must be “1”. In addition, since the data range information of the first determination record 50 is “0 or 1”, the allowable value for each data included in the received information record must be “0” or “1”. It indicates that.
[0028]
In addition, when the ID information of the information record included in the packet received by the packet receiving unit 31 is “0x04”, the second determination record 51 shown in FIG. It shows the data length and the range of data values. The second determination record whose ID information is “0x04” includes community name (Community Name) information (a type of device-to-device type) used to determine whether communication between the SNMP manager 10 and the SNMP agent 20 is permitted or not permitted. Indicates the range of the data length allowed for the password. Since the length range information of the second determination record 51 is “0-255”, the allowable data length for the received information record is any length from “0” to “255”. Indicates what must be done. Further, since the data range information of the second determination record 51 is “0x20-0x7E”, the allowable value for each data included in the received information record is any one of “0x20” to “0x7E”. Indicates that the value must be
[0029]
FIG. 4 is an explanatory diagram illustrating an example of the content of an SNMP packet received by the packet receiving unit 31. As shown in FIG. 4, the received SNMP packet includes a plurality of information records 60 to 62 and the like. Further, as shown in FIG. 4, the information record includes a data identifier for distinguishing the type of the information record, data length information indicating a data length of the information record, and a data value.
[0030]
Next, the operation will be described. FIG. 5 is a flowchart illustrating an example of the progress of the process performed by the packet monitoring device. The packet receiving unit 31 determines whether a packet (not necessarily an SNMP packet) has been received (step S10). When receiving a packet from the SNMP manager 10 or the SNMP agent 20, the packet receiving unit 31 outputs the received packet to the data determining unit 32.
[0031]
The determination processing unit 321 of the data determination unit 32 determines whether the packet received by the packet reception unit 31 is an SNMP packet (Step S11). The determination processing unit 321 detects information about a destination port number included in a UDP (User Datagram Protocol) header part of the received packet. If the detected destination port number is “161 (SNMP)” or “162 (SNMPTRAP)”, the determination processing unit 321 determines that the received packet is an SNMP packet. If the detected destination port number is not “161 (SNMP)” or “162 (SNMPTRAP)”, the determination processing unit 321 determines that the received packet is not an SNMP packet.
[0032]
If the result of the determination in step S11 is that the received packet is not an SNMP packet, the determination processing unit 321 outputs the received packet to the packet transmitting unit 33 as it is (step S15). If the result of the determination is that the received packet is an SNMP packet, the determination processing unit 321 executes the processing of the next step S12.
[0033]
The determination processing unit 321 detects a data identifier included in each information record of the received packet, and determines whether the detected data identifier is normal (step S12). The determination processing unit 321 searches the ID information of each determination record stored in the determination data unit 322 and determines whether there is ID information that matches the data identifier included in the detected information record. If the ID information stored in the determination data unit 322 includes ID information that matches the detected data identifier, the determination processing unit 321 determines that the detected data identifier is normal. If no ID information that matches the detected data identifier is included, the determination processing unit 321 determines that the detected data identifier is invalid.
[0034]
If an information record in which the data identifier is determined to be invalid is found, the determination processing unit 321 discards the packet containing the information record (step S16). When it is determined that the data identifier of each information record is normal, the determination processing unit 321 performs the next step S13.
[0035]
The determination processing unit 321 detects data length information included in each information record of the received packet, and determines whether the detected data length information is normal (step S13). The determination processing unit 321 extracts, from the length range information of each determination record stored in the determination data unit 322, length range information corresponding to ID information that matches the data identifier detected in step S12. Then, it is determined whether or not the value of the data length information of the detected information record is included in the range of the value indicated in the length range information of the extracted determination record. As a result of the determination, when the value of the data length information is included in the range of the value indicated in the length range information, the determination processing unit 321 determines that the detected data length information is normal. Further, as a result of the determination, when the value of the data length information is out of the range of the value indicated in the length range information, the determination processing unit 321 determines that the detected data length information is invalid.
[0036]
If an information record in which the data length information is determined to be invalid is found, the determination processing unit 321 discards the packet including the information record (step S16). When it is determined that the data length information of each information record is normal, the determination processing unit 321 performs the process of the next step S14.
[0037]
The determination processing unit 321 detects data included in each information record of the received packet and determines whether the detected data is normal (step S14). The determination processing unit 321 extracts, from the data range information of each determination record stored in the determination data unit 322, data range information corresponding to ID information that matches the data identifier detected in step S12. Then, it is determined whether or not each value of the data of the detected information record is included in the range of the value indicated in the data range information of the extracted determination record. As a result of the determination, when all the values of the data are included in the range of the value indicated in the data range information, the determination processing unit 321 determines that the detected data is normal. In addition, as a result of the determination, when each value of the data includes a value that is out of the range of the value indicated in the data range information, the determination processing unit 321 determines that the detected data is invalid. I do.
[0038]
If an information record determined to be invalid is found, the determination processing unit 321 discards the packet containing the information record (step S16). When the data of each information record is determined to be normal, the determination processing unit 321 determines that the received packet is normal, and outputs the packet determined to be normal to the packet transmission unit 33 (step S15). ). Then, the packet transmission unit 33 transmits the packet from the determination processing unit 321 of the data determination unit 32 to the SNMP manager 10 or the SNMP agent 20 based on the destination information included in the packet.
[0039]
Hereinafter, the process of determining the normality of a packet will be described in detail with reference to FIGS. Here, the process progress in the case where the determination processing unit 321 determines the normality will be described using the second information record 61 among the information records included in the packet illustrated in FIG. 4 as an example. It is assumed that the packet shown in FIG. 4 has already been determined to be an SNMP packet in the process of step S11 shown in FIG.
[0040]
The determination processing unit 321 detects the data identifier “0x04” from the second information record 61. Then, ID information included in the determination record shown in FIG. 3 is searched, and it is determined whether there is ID information that matches the detected data identifier “0x04”. Since the ID information of the second determination record 51 among the determination records shown in FIG. 3 is “0x04”, the determination processing unit 321 determines that there is a matching ID information, and the detected data identifier “0x04” is It is determined that it is normal (step S12). In step S12, the determination processing unit 321 determines the normality of the data identifiers for the other information records 60 and 62, and if the respective data identifiers are normal, executes the processing of the next step S13. .
[0041]
The determination processing unit 321 detects data length information “0x06” from the second information record 61. That is, the data length information indicates that the length of the data included in the second information record 61 is 6 bytes. The determination processing unit 321 extracts the length range information “0-255” from the second determination record 51 including the ID information that matches the data identifier determined in step S12 from the determination records illustrated in FIG. That is, the length range information “0-255” indicates that the detected data length information must be any value from “0” to “255”.
[0042]
Since the length of the data detected from the second information record 61 is 6 bytes, it conforms to the length range indicated in the length range information, and the determination processing unit 321 determines that the data length information is normal. It is determined that there is (Step S13). In step S13, the determination processing unit 321 determines the normality of the data length information for the other information records 60 and 62. If the data length information is normal, the process proceeds to the next step S14. Execute.
[0043]
The determination processing unit 321 detects the data “0x707526C6963” from the second information record 61. That is, the second information record 61 includes six data (data length “6 bytes”) of “0x70”, “0x75”, “0x62”, “0x6C”, “0x69”, and “0x63”. Is shown. The determination processing unit 321 extracts the data range information “0x20-0x7E” from the second determination record 51 including the ID information that matches the data identifier determined in step S12 among the determination records illustrated in FIG. That is, the data range information “0x20-0x7E” indicates that each value of the detected data must be any value from “0x20” to “0x7E”.
[0044]
Since each value of the data detected from the second information record 61 is a numerical value between “0x20” and “0x7E”, all values conform to the data value range indicated in the data range information. The determination processing unit 321 determines that the data is normal (Step S14). In step S14, the determination processing unit 321 determines the normality of data for the other information records 60 and 62. If each data is normal, the determination processing unit 321 determines that all the information records are normal. Is determined.
[0045]
If all the information records are normal in step S14, the determination processing unit 321 determines that the packet is normal, and outputs the determined packet to the packet transmission unit 33 (step S15).
[0046]
Next, a case where the determination processing unit 321 determines the normality of an incorrect information record will be described. FIG. 6 is an explanatory diagram illustrating an example of an incorrect information record. The data identifier “0x02” included in the information record 63 shown in FIG. 6 matches the ID information “0x02” included in the first determination record 50 shown in FIG. Is performed, and the determination processing unit 321 determines that the detected data identifier is normal.
[0047]
The determination processing unit 321 detects data length information “0x3” from the information record 63 shown in FIG. That is, the data length information indicates that the length of the data included in the information record 63 is 3 bytes. The determination processing unit 321 extracts the length range information “0x1” from the second determination record 50 including the ID information that matches the data identifier determined in step S12 from the determination records illustrated in FIG. That is, the length range information “0x1” indicates that the detected data length information must be 1 byte. Since the length of the data detected from the information record 63 is 3 bytes, it does not conform to the length range indicated in the length range information, and the determination processing unit 321 determines that the data length information is invalid ( Step S13).
[0048]
Therefore, the determination processing unit 321 determines that the packet including the information record 63 is an invalid packet and discards the packet (Step S16).
[0049]
Next, the information record 64 shown in FIG. 6 will be described as an example. Since the data identifier “0x04” included in the information record 64 matches the ID information “0x04” included in the second determination record 51 shown in FIG. 3, the same processing as in the case of the information record 61 shown in FIG. Is performed, and the determination processing unit 321 determines that the detected data identifier is normal. The data length information “0x05” included in the information record 64 conforms to the length range information “0-255” included in the second determination record 51 shown in FIG. The same processing as in the case of 61 is performed, and the determination processing unit 321 determines that the detected data length information is normal.
[0050]
The determination processing unit 321 detects the data “0x701243EFF” from the information record 64. That is, it is shown that the information record 64 includes five data (data length “5 bytes”) of “0x70”, “0x11”, “0x24”, “0x3E”, and “0xFF”. I have. The determination processing unit 321 extracts the data range information “0x20-0x7E” from the second determination record 51 including the ID information that matches the data identifier determined in step S12 among the determination records illustrated in FIG. That is, the data range information “0x20-0x7E” indicates that each value of the detected data must be any value from “0x20” to “0x7E”. Of the data detected from the information record 64, “0x11” and the like are numerical values outside the range from “0x20” to “0x7E”, and thus do not conform to the data value range indicated in the data range information. The determination processing unit 321 determines that the data is invalid (Step S14).
[0051]
Therefore, the determination processing unit 321 determines that the packet including the information record 64 is an invalid packet and discards the packet (Step S16).
[0052]
As described above, according to the present embodiment, since the normality of the data length and the data value is checked, each device connected to the communication network guarantees that the data length and the data value are normal. The received packet can be received.
[0053]
Further, when an invalid packet is found as a result of the normality determination, an error is not notified to the transmission source, so that the load on the communication network can be reduced.
[0054]
As a method of checking the normality of packets transmitted and received in the communication network, a method in which a computer terminal or a network device connected to the communication network individually checks the normality of the packet can be considered. However, in this method, if devices that perform strict normality determination and devices that perform only simple determination coexist, the security level cannot be kept uniform. That is, although the normality of a packet received from a device that has strictly determined the normality is sufficiently guaranteed, the normality of a packet received from a device that only performs a simple determination may not be sufficiently guaranteed.
[0055]
Further, when devices that do not check the normality of a packet are connected to the communication network, a case in which a system in the communication network cannot operate normally due to the transmission and reception of the packet by these devices is also assumed. . In order for the system in the communication network to operate normally, the network administrator must confirm that the normality of the packet has been determined for all devices in the communication network. The burden on the administrator and the like increases. On the other hand, according to the present embodiment, since the packet monitoring device determines the normality of the packet, it is possible to ensure a uniform security level for all transmitted and received packets. Further, it is possible to prevent a situation in which a system in the communication network cannot operate normally, and it is possible to reduce a burden on a network administrator or the like.
[0056]
Embodiment 2 FIG.
Next, a second embodiment will be described with reference to the drawings. FIG. 7 is a block diagram illustrating an example of a communication network according to the second embodiment. In the present embodiment, a packet monitoring apparatus that monitors a packet whose UDP header has a destination port number of 53 (hereinafter referred to as a DNS packet) will be described as an example. Since the packet received by the packet monitoring device is not always a DNS packet, in the present embodiment, the packet monitoring device determines whether the received packet is a DNS packet, and determines whether the received packet is a DNS packet. If the received packet is a DNS packet, the normality of the packet is determined.
[0057]
As shown in FIG. 7, the LAN according to the present embodiment includes DNS (Domain Name System) servers 70a, 70b, and 70c that manage addresses for each layer, client terminals 80 used by each user, and LANs within the LAN. Are connected to packet monitoring devices 90a, 90b, and 90c for monitoring packets transmitted and received at each layer. The configuration of each of the packet monitoring devices 90a, 90b, 90c is the same as in the first embodiment.
[0058]
The DNS servers 70a, 70b, and 70c are information processing devices such as servers, and manage domains for each hierarchy. For example, the DNS server 70a is a management server of a hierarchy “jp”, and the DNS server 70b is a management server of a hierarchy “co.jp”. The client terminal 80 is a computer terminal such as a personal computer used by a user. The packet monitoring devices 90a, 90b, and 90c are information processing terminals such as servers, and monitor packets for each layer. Note that the packet monitoring devices 90a, 90b, and 90c may be network devices or the like having a function of monitoring packets instead of servers or the like.
[0059]
FIG. 8 is an explanatory diagram illustrating an example of the determination information stored in the determination data unit 322. In the present embodiment, the determination data unit 322 stores information of a DNS resource record as the determination information. As shown in FIG. 8, instead of the ID information in the first embodiment, the determination information includes the type and the class of the resource record. In FIG. 8, Type is information indicating the type of the determination record (hereinafter, referred to as type information). Class is information that specifies the record class of the determination record (hereinafter, referred to as class information). Further, in the present embodiment, information on the range of the value of RDLength of the resource record information is used as the length range information, and information on the range of the value of RDATA of the resource record information is used as the data range information.
[0060]
Therefore, as shown in FIG. 8, in the present embodiment, the determination record includes type information, class information, length range information, and data range information. In this embodiment, the type information and the class information serve as data identifiers.
[0061]
For example, in the first determination record 100 shown in FIG. 8, the type information of the information record included in the packet received by the packet receiving unit 31 is “CNAME (5)”, and the class information is “IN (1)”. Indicates the data length and the range of data values allowed for the information record. “CNAME (5)” is type information indicating that the type of data is a standard character string of an alias, and “IN (1)” indicates that data is transmitted / received via the Internet. This is the class information shown. Therefore, the first determination record 100 indicates the range of the data length and the range of the data value allowed for the information record when the information record related to the alias name is received via the Internet. .
[0062]
Since the length range information of the first determination record 100 is “0-255”, the allowable data length for the received information record is any length from “0” to “255”. Indicates what must be done. Further, since the data range information of the first determination record 100 is “0x20-0x7E”, the allowable value for each data included in the received information record is any one of “0x20” to “0x7E”. Indicates that the value must be
[0063]
In the second determination record 101, the type information of the information record included in the packet received by the packet receiving unit 31 is “MR (9)” and the class information is “IN (1)”. In this case, the data length and the range of data values allowed for the information record are shown. “MR (9)” is type information indicating that the type of data is a character string of a domain name. Accordingly, the second determination record 101 indicates a data length and a value range of data allowed for the information record when the information record related to the domain name is received via the Internet.
[0064]
Since the length range information of the second determination record 101 is “0-255”, the allowable data length for the received information record is any length from “0” to “255”. Indicates what must be done. Further, since the data range information of the second determination record 101 is “0x20-0x7E”, the allowable value for each data included in the received information record is any one of “0x20” to “0x7E”. Indicates that the value must be
[0065]
Next, the operation will be described. FIG. 9 is a flowchart illustrating an example of the processing progress of the packet monitoring device. The packet receiving unit 31 determines whether a packet (not necessarily a DNS packet) has been received (step S20). When receiving a packet from the DNS server 70a, 70b, 70c or the client terminal 80, the packet receiving unit 31 outputs the received packet to the data determining unit 32.
[0066]
The determination processing unit 321 of the data determination unit 32 determines whether the packet received by the packet reception unit 31 is a DNS packet (Step S21). The determination processing unit 321 detects information about the destination port number included in the UDP header portion of the received packet. When the detected destination port number is “53 (Domain Name Server)”, the determination processing unit 321 determines that the received packet is a DNS packet. If the detected destination port number is not “53 (Domain Name Server)”, the determination processing unit 321 determines that the received packet is not a DNS packet.
[0067]
As a result of the determination in step S21, when the received packet is not a DNS packet, the determination processing unit 321 outputs the received packet to the packet transmitting unit 33 as it is (step S25). If the result of the determination is that the received packet is a DNS packet, the determination processing unit 321 executes the processing of the next step S22.
[0068]
The determination processing unit 321 detects the type information and the class information included in each information record of the received packet, and determines whether the detected type information and the class information are normal (step S22). The determination processing unit 321 searches the type information and class information of each determination record stored in the determination data unit 322 and determines whether there is information that matches the type information and class information included in the detected information record. When the type information and the class information stored in the determination data unit 322 include information matching the type information and the class information detected from the information record, the determination processing unit 321 determines whether the detected type information and the class information It is determined that the class information is normal. If the matching type information and class information are not included, the determination processing unit 321 determines that the detected type information and class information are invalid.
[0069]
When an information record in which the type information and the class information are determined to be invalid is found, the determination processing unit 321 discards the packet including the information record (step S26). When it is determined that the type information and the class information of each information record are normal, the determination processing unit 321 performs the process of the next step S23.
[0070]
The determination processing unit 321 determines the normality of the data length information included in each information record according to the same processing procedure as in the first embodiment (Step S23). If an information record determined to have invalid data length information is found, the determination processing unit 321 discards the packet containing the information record (step S26). When it is determined that the data length information is normal, the determination processing unit 321 performs the process of the next step S24.
[0071]
The determination processing unit 321 determines the normality of the data included in each information record according to the same processing procedure as in the first embodiment (Step S24). If an information record determined to be invalid is found, the determination processing unit 321 discards the packet containing the information record (step S26). When it is determined that the data is normal, the determination processing unit 321 outputs the packet determined to be normal to the packet transmission unit 33 (Step S25).
[0072]
As described above, according to the second embodiment, even when the packet monitoring device monitors the DNS packet, each device connected to the communication network guarantees that the data length and the data value are normal. The received packet can be received.
[0073]
Further, when an invalid packet is found as a result of the normality determination, an error is not notified to the transmission source, so that the load on the communication network can be reduced.
[0074]
In the first and second embodiments, the packet monitoring device that monitors the SNMP packet and the packet monitoring device that monitors the DNS packet have been described as examples. The packet monitoring device may determine the normality of not only the SNMP packet and the DNS packet but also other types of packets as long as the information includes information that can be used for sex determination.
[0075]
Further, in the first and second embodiments, it is determined whether the first received packet is an SNMP packet or a DNS packet, and as a result of the determination, the packet is an SNMP packet or a DNS packet. Although the packet monitoring device that determines the normality of the packet only when the packet monitoring device has been described above, the packet monitoring device may determine the normality of a plurality of types of packets.
[0076]
【The invention's effect】
According to the packet monitoring device of the present invention, a determination processing unit that determines the normality of a packet received from a device and discards a packet determined to be invalid, and transmits a packet that the determination processing unit determines to be normal Since the configuration is such that each unit in the communication network can receive only normal packets. Further, the load on the communication network can be reduced.
[0077]
According to the packet monitoring program of the present invention, since the computer performs the process of determining the normality of the packet received from the device and the process of discarding the packet determined to be invalid, each device in the communication network is normally It is possible to receive only a small packet. Further, the load on the communication network can be reduced.
[Brief description of the drawings]
FIG. 1 is a block diagram showing an example of a configuration of a communication network to which a packet monitoring device according to the present invention is applied.
FIG. 2 is a block diagram illustrating an example of a configuration of a packet monitoring device according to the present invention.
FIG. 3 is an explanatory diagram illustrating an example of the content of determination information.
FIG. 4 is an explanatory diagram showing an example of the contents of an SNMP packet.
FIG. 5 is a flowchart illustrating an example of a process progress of a process executed by the packet monitoring device.
FIG. 6 is an explanatory diagram showing an example of an incorrect information record.
FIG. 7 is a block diagram showing another example of the configuration of a communication network to which the packet monitoring device according to the present invention is applied.
FIG. 8 is an explanatory diagram showing another example of the content of the determination information.
FIG. 9 is a flowchart illustrating another example of the progress of the process performed by the packet monitoring device.
[Explanation of symbols]
10 SNMP manager
20 SNMP Agent
30, 90a, 90b, 90c Packet monitoring device
31 Packet receiver
32 Data judgment unit
321 judgment processing unit
322 Judgment data section
33 Packet Transmitter
70a, 70b, 70c DNS server
80 Client terminal

Claims (9)

通信ネットワークに接続された機器が送受信するパケットを監視するパケット監視装置であって、
前記機器から受信したパケットの正常性を判定し、不正と判定したパケットを廃棄する判定処理部と、
判定処理部が正常であると判定したパケットを送信する送信部とを備えた
ことを特徴とするパケット監視装置。
A packet monitoring device that monitors packets transmitted and received by a device connected to a communication network,
A determination processing unit that determines the normality of the packet received from the device, and discards the packet determined to be invalid;
A transmission unit that transmits a packet determined by the determination processing unit to be normal.
パケットの正常性の判断基準となる判定情報を記憶する判定情報記憶部を備え、
判定処理部は、前記判定情報に基づいてパケットの正常性を判定する
請求項1に記載のパケット監視装置。
A determination information storage unit that stores determination information serving as a criterion for determining the normality of a packet,
The packet monitoring device according to claim 1, wherein the determination processing unit determines the normality of the packet based on the determination information.
判定情報記憶部は、パケット内のデータの種別を示す識別子情報を含む判定情報を記憶し、
判定処理部は、パケット内に、判定情報記憶部が記憶する識別子情報が含まれているか否かによってパケットの正常性を判定する
請求項2に記載のパケット監視装置。
The determination information storage unit stores determination information including identifier information indicating a type of data in the packet,
The packet monitoring device according to claim 2, wherein the determination processing unit determines the normality of the packet based on whether or not the packet includes the identifier information stored in the determination information storage unit.
判定情報記憶部は、パケット内のデータの長さの範囲を示す長さ範囲情報を含む判定情報を記憶し、
判定処理部は、パケット内のデータの長さが、前記長さ範囲情報が示す範囲に収まっているか否かによってパケットの正常性を判定する
請求項2または請求項3に記載のパケット監視装置。
The determination information storage unit stores determination information including length range information indicating a length range of data in the packet,
The packet monitoring device according to claim 2, wherein the determination processing unit determines the normality of the packet based on whether a length of data in the packet falls within a range indicated by the length range information.
判定情報記憶部は、パケット内のデータの値の範囲を示すデータ範囲情報を含む判定情報を記憶し、
判定処理部は、パケット内のデータの値が、前記データ範囲情報が示す範囲に収まっているか否かによってパケットの正常性を判定する
請求項2から請求項4のうちのいずれか1項に記載のパケット監視装置。
The determination information storage unit stores determination information including data range information indicating a range of data values in the packet,
5. The determination processing unit according to claim 2, wherein the normality of the packet is determined based on whether a value of data in the packet falls within a range indicated by the data range information. 6. Packet monitoring device.
判定処理部は、SNMPによって管理される通信ネットワーク内で送受信されるパケットの正常性を判定する
請求項1から請求項5のうちのいずれか1項に記載のパケット監視装置。
The packet monitoring device according to claim 1, wherein the determination processing unit determines the normality of a packet transmitted and received in a communication network managed by SNMP.
判定処理部は、DNSサーバが送受信するパケットの正常性を判定する
請求項1から請求項5のうちのいずれか1項に記載のパケット監視装置。
The packet monitoring device according to any one of claims 1 to 5, wherein the determination processing unit determines the normality of a packet transmitted and received by the DNS server.
通信ネットワークに接続された機器が送受信するパケットを監視するためのパケット監視プログラムであって、
コンピュータに、
前記機器から受信したパケットの正常性を判定する処理と、
不正と判定したパケットを廃棄する処理とを
実行させるためのパケット監視プログラム。
A packet monitoring program for monitoring packets transmitted and received by a device connected to a communication network,
On the computer,
Processing for determining the normality of the packet received from the device;
A packet monitoring program for executing a process of discarding a packet determined to be invalid.
コンピュータに、
パケットの正常性の判断基準となる判定情報に基づいてパケットの正常性を判定する処理を
実行させるための請求項8に記載のパケット監視プログラム。
On the computer,
The packet monitoring program according to claim 8, for executing a process of determining the normality of a packet based on determination information serving as a criterion for determining the normality of the packet.
JP2002306356A 2002-10-21 2002-10-21 Packet supervisory system and packet supervisory program Pending JP2004146884A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002306356A JP2004146884A (en) 2002-10-21 2002-10-21 Packet supervisory system and packet supervisory program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002306356A JP2004146884A (en) 2002-10-21 2002-10-21 Packet supervisory system and packet supervisory program

Publications (1)

Publication Number Publication Date
JP2004146884A true JP2004146884A (en) 2004-05-20

Family

ID=32453158

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002306356A Pending JP2004146884A (en) 2002-10-21 2002-10-21 Packet supervisory system and packet supervisory program

Country Status (1)

Country Link
JP (1) JP2004146884A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021083126A (en) * 2014-09-12 2021-05-27 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America Electronic control unit, on-vehicle network system and vehicle communication method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021083126A (en) * 2014-09-12 2021-05-27 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America Electronic control unit, on-vehicle network system and vehicle communication method
JP7059413B2 (en) 2014-09-12 2022-04-25 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Electronic control unit, in-vehicle network system and communication method for vehicles

Similar Documents

Publication Publication Date Title
US8689315B2 (en) Method for managing network filter based policies
US7308711B2 (en) Method and framework for integrating a plurality of network policies
JP4572089B2 (en) Multi-layer firewall architecture
US8161301B2 (en) Method and apparatus for waking remote terminal
US9729655B2 (en) Managing transfer of data in a data network
JP4521225B2 (en) A multilayer-based method for implementing network firewalls
US7631181B2 (en) Communication apparatus and method, and program for applying security policy
EP1766860A1 (en) Method and system for dynamic device address management
WO2007006007A2 (en) Using non 5-tuple information with ipsec
US20030156582A1 (en) Method and system for labeling data in a communications system
JP2003179647A (en) Packet transfer device and packet transfer method
JP2004146884A (en) Packet supervisory system and packet supervisory program
JP4029898B2 (en) Network equipment
TWI608749B (en) Method for controlling a client device to access a network device, and associated control apparatus
JP2004179999A (en) Intrusion detector and method therefor
JP2005072701A (en) Interface providing apparatus
JP2006165877A (en) Communication system, communication method, and communication program
JP2002237821A (en) Method and apparatus for discovering promiscuous-node for ip network as well as promiscuous-node discovering program
WO2004049651A1 (en) Monitor, data communication device, and data communication method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040419

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050906

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050913

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20051125

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20051125

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060411