JP4418302B2 - 中継装置、パケットフィルタリング方法及びパケットフィルタリングプログラム - Google Patents

中継装置、パケットフィルタリング方法及びパケットフィルタリングプログラム Download PDF

Info

Publication number
JP4418302B2
JP4418302B2 JP2004162129A JP2004162129A JP4418302B2 JP 4418302 B2 JP4418302 B2 JP 4418302B2 JP 2004162129 A JP2004162129 A JP 2004162129A JP 2004162129 A JP2004162129 A JP 2004162129A JP 4418302 B2 JP4418302 B2 JP 4418302B2
Authority
JP
Japan
Prior art keywords
packet
received
verification
order
payload
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.)
Expired - Fee Related
Application number
JP2004162129A
Other languages
English (en)
Other versions
JP2005347853A (ja
Inventor
健二 河野
高廣 品川
カビル ラハト
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.)
Japan Science and Technology Agency
National Institute of Japan Science and Technology Agency
Original Assignee
Japan Science and Technology Agency
National Institute of Japan Science and Technology Agency
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
Priority to JP2004162129A priority Critical patent/JP4418302B2/ja
Application filed by Japan Science and Technology Agency, National Institute of Japan Science and Technology Agency filed Critical Japan Science and Technology Agency
Priority to US11/569,743 priority patent/US7633957B2/en
Priority to PCT/JP2005/009632 priority patent/WO2005117374A1/ja
Priority to EP05743800A priority patent/EP1737172A4/en
Priority to KR20067004403A priority patent/KR100752955B1/ko
Priority to CNB2005800007404A priority patent/CN100473060C/zh
Priority to TW094117569A priority patent/TW200642389A/zh
Publication of JP2005347853A publication Critical patent/JP2005347853A/ja
Priority to IL178267A priority patent/IL178267A0/en
Application granted granted Critical
Publication of JP4418302B2 publication Critical patent/JP4418302B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0245Filtering by information in the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/22Arrangements for preventing the taking of data from a data transmission channel without authorisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/34Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は、通信メッセージをパケット毎に中継する中継装置、当該中継装置におけるパケットフィルタリング方法、及びパケットフィルタリングプログラムに関する。
従来から、インターネット網等の通信システムにおいて、外部からの攻撃を防ぐために、ネットワーク上で送受信されるデータをフィルタリングする様々な技術が提案されている。外部からの攻撃の例として、バッファ溢れ攻撃やフォーマット文字列攻撃等が存在するが、このような種類の攻撃の多くは、OSI(Open Systems Interconnection)参照モデルのアプリケーション層のプロトコル(例えば、HTTP(HyperText Transfer Protocol)やSMTP(Simple Mail Transfer Protocol)等が相当する)に定められた通信規約に違反した通信メッセージを用いて攻撃を行う。
アプリケーション層のプロトコルに違反したメッセージは、データの中身、即ちパケットのペイロード(パケットのうちヘッダの情報を除いた、本来転送したいデータ本体)に不正の原因があるので、パケットのヘッダ情報を参照して不正なデータを検出するパケットフィルタリングでは検出されない。アプリケーション層プロトコルにおける不正メッセージを検出するには、データの中身を参照する必要があり、このようにして不正メッセージを検出するものとして、アプリケーションゲートウェイがある(例えば、下記非特許文献1参照)。
伊藤幸夫,紫藤政義,野口修著「図解・標準 最新VPNハンドブック」秀和システム、2003年5月、p.56−61
アプリケーションゲートウェイは、サーバとクライアントとの間に介在するプロキシの一種であり、送受信されるデータをメッセージストリームとして監視する。即ち、パケットとしてネットワークを流れるデータをアプリケーションゲートウェイにおいて通信メッセージとして再構成し、再構成された通信メッセージを解析することにより不正を検出する。従って、アプリケーションゲートウェイでは、通信メッセージが不正なものでないと判断するまでパケットを中継しないため、ネットワークにおけるパケットの流れが一旦中断されて通信遅延の原因となる。また、アプリケーションゲートウェイは、上記不正な通信メッセージの検出をプロトコル毎に行うため、プロトコルの数だけ必要となる。
本発明は、上記課題を解決するために成されたものであり、通信遅延の増大を防ぎ、プロトコルの種類よらずにアプリケーション層プロトコルにおける不正な通信メッセージの検出をすることができる中継装置、パケットフィルタリング方法及びパケットフィルタリングプログラムを提供することを目的とする。
このような目的を達成するために、本発明による中継装置は、通信メッセージをパケット毎に中継する中継装置であって、受信されたパケットが受信すべき順序で受信されたものであるか否かを判断する順序判断手段と、順序判断手段によりパケットが受信すべき順序で受信されたものでないと判断された場合、当該パケットを保持しておくと共に、当該パケットの中継を行うよう制御するパケット保持手段と、パケット保持手段により保持されたパケットが当該保持された後に受信されたパケットと併せて検証すべきものであるか否かを、受信すべき順序に基づいて判断して、当該判断に基づき当該受信されたパケットのペイロードと当該保持されたパケットのペイロードとを合併する合併手段と、順序判断手段により受信すべき順序でパケットが受信されたと判断された場合に、当該パケットのペイロード、又は合併手段により合併された当該パケットのペイロードが予め定められたルールを満たすものであるか否かを検証すると共に、当該検証内容に関する情報を通信メッセージにおける次の検証に用いるために保持しておく検証手段と、検証手段により前記パケットがルールを満たすとされた場合に当該パケットの中継を行うよう制御し、検証手段により前記パケットが前記ルールを満たさないとされた場合に当該パケットの中継を禁止するよう制御する中継制御手段と、を備えることを特徴とする。
上記した中継装置によれば、パケットを受信する度にペイロードに関して不正の検証を行って当該パケットを送信するので、アプリケーション層プロトコルにおける不正な通信メッセージの検出において通信遅延の増大を防ぐことができる。また、不正の検証に用いるルールはアプリケーション層プロトコルの種類によらずに設定できるので、プロトコルの種類よらずに不正な通信メッセージの検出をすることができる。
また、検証手段による検証、及び検証内容に関する情報の保持は、オートマトンを用いることにより行われることが好ましい。オートマトンを用いることにより、検証、及び検証内容の保持を行うための上記のルールを宣言的に記述することができ、ルールの作成、検証及び保守が容易となる。
ところで、本発明は、上記のように中継装置の発明として記述できる他に、以下のようにパケットフィルタリング方法及びパケットフィルタリングプログラムの発明としても記述することができる。これらはカテゴリーが異なるだけで、実質的に同一の発明であり、同様の作用・効果を奏する。
本発明によるパケットフィルタリング方法は、通信メッセージをパケット毎に中継する中継装置におけるパケットフィルタリング方法であって、受信されたパケットが受信すべき順序で受信されたものであるか否かを判断する順序判断ステップと、順序判断ステップにおいてパケットが前記受信すべき順序で受信されたものでないと判断された場合、当該パケットを保持しておくと共に、当該パケットの中継を行うよう制御するパケット保持ステップと、パケット保持ステップにおいて保持されたパケットが当該保持された後に受信されたパケットと併せて検証すべきものであるか否かを、受信すべき順序に基づいて判断して、当該判断に基づき当該受信されたパケットのペイロードと当該保持されたパケットのペイロードとを合併する合併ステップと、順序判断ステップにおいて受信すべき順序でパケットが受信されたと判断された場合に、当該パケットのペイロード、又は前記合併ステップにおいて合併された当該パケットのペイロードが予め定められたルールを満たすものであるか否かを検証すると共に、当該検証内容に関する情報を通信メッセージにおける次の検証に用いるために保持しておく検証ステップと、検証ステップにおいてパケットがルールを満たすとされた場合に当該パケットの中継を行うよう制御し、検証ステップにおいて前記パケットが前記ルールを満たさないとされた場合に当該パケットの中継を禁止するよう制御する中継制御ステップと、を備えることを特徴とする。また、検証ステップにおける検証、及び検証内容に関する情報の保持は、オートマトンを用いることにより行われることが好ましい。
本発明によるパケットフィルタリングプログラムは、通信メッセージをパケット毎に中継する中継装置に、受信されたパケットが受信すべき順序で受信されたものであるか否かを判断する順序判断処理と、順序判断処理により前記パケットが受信すべき順序で受信されたものでないと判断された場合、当該パケットを保持しておくと共に、当該パケットの中継を行うよう制御するパケット保持処理と、パケット保持処理により保持されたパケットが当該保持された後に受信されたパケットと併せて検証すべきものであるか否かを、受信すべき順序に基づいて判断して、当該判断に基づき当該受信されたパケットのペイロードと当該保持されたパケットのペイロードとを合併する合併処理と、順序判断処理により前記受信すべき順序でパケットが受信されたと判断された場合に、当該パケットのペイロード、又は合併処理により合併された当該パケットのペイロードが予め定められたルールを満たすものであるか否かを検証すると共に、当該検証内容に関する情報を通信メッセージにおける次の検証に用いるために保持しておく検証処理と、検証処理により前記パケットがルールを満たすとされた場合に当該パケットの中継を行うよう制御し、検証処理によりパケットがルールを満たさないとされた場合に当該パケットの中継を禁止するよう制御する中継制御処理と、を実行させることを特徴とする。また、検証処理による検証、及び検証内容に関する情報の保持は、オートマトンを用いることにより行われることが好ましい。
上述のように本発明によれば、パケットを受信する度にペイロードに関して不正の検証を行って当該パケットを送信するので、アプリケーション層プロトコルにおける不正な通信メッセージの検出において通信遅延の増大を防ぐことができる。また、不正の検証に用いるルールはアプリケーション層プロトコルの種類によらずに設定できるので、プロトコルの種類よらずに不正な通信メッセージの検出をすることができる。
以下、図面を参照しつつ本発明の好適な実施形態について詳細に説明する。なお、図面の説明においては、同一又は相当部分には同一符号を付し、重複する説明を省略する。
図1に、本実施形態に係る中継装置10の構成を示す。中継装置10は、送信元20から送信されるパケットを送信先30に送信することにより、パケットの中継を行う。中継装置10は、具体的にはCPU及びメモリ等から構成されており、例えばルータやブリッジ等の情報処理装置により実現されることが好ましい。送信元20は、例えばデータを送信するサーバ装置、あるいは別の中継装置が相当する。送信先30は、例えばデータの送信先であるクライアント装置が相当する。
ここでパケットとは、通信メッセージであるデータを、ネットワークを介して送受信するために小さく分割して送信先等のアドレス等の制御情報を付加したデータをさす。一連のパケットは、データの送信先により受信されると、再編成されて元のデータに戻される。パケットのサイズは、データリンク層におけるデータ送信可能なサイズによって決定される。
本実施形態では、パケットの送信はTCP(Transmission Control Protocol)による例を主に用いる。パケットは、通信メッセージであるデータが分割された際に上述した制御情報を格納したヘッダが付加される。このヘッダには、パケットからデータを正しく再構成(復元)するための順序の情報であるシーケンス番号等が格納されている。データの再構成は、シーケンス番号が若いものから順番にパケットのペイロードを連結させることにより行われる。なお、送信された一連のパケットは、データの送信先で必ずしもシーケンス番号の順番通りに受信されるとは限らない。これは、各パケットがネットワーク上の異なるルートを経由して中継される等の理由からである。シーケンス番号は、ペイロードのサイズに基づいて次のように決定される。例えば、最初のパケットのシーケンス番号が2001で、ペイロードのサイズが1000バイトだとすると、次のパケットのシーケンス番号は3001、その次のパケットのシーケンス番号は4001となる。
パケットの分割と再構成の簡単な例を図2に示す。図2に示すように、データの送信側で送信するデータを、再構成するための“1”、“2”、“3”、“4”という順番の情報を各パケットのヘッダに付加して分割し、その順番で送信したとする。データの受信側では、必ずしも“1”、“2”、“3”、“4”という順番でパケットを受信するとは限らず、図2に示すように“1”、“3”、“2”、“4”という順番でパケットを受信する場合がある。そのような場合でも、パケットのヘッダに含まれる順番の情報を参照してデータを再構成することができる。
引き続いて、中継装置10の各機能について説明する。図1に示すように、中継装置10は、受信部11と、送信部12と、順序判断部13(順序判断手段)と、パケット保持部14(パケット保持手段)と、合併部15(合併手段)と、検証部16(検証手段)と、中継制御部17(中継制御手段)とを備える。なお、中継装置10は、プロキシのように、送信先30に送信される通信メッセージに係る全てのパケットを中継するものであるとする。
受信部11は、送信元20から送信された中継すべきパケットを受信する部分である。送信部12は、受信部11により受信された中継すべきパケットを所定の送信先30に送信する部分である。
順序判断部13は、受信部11により受信されたパケットを参照して、そのパケットが受信すべき順序で受信されたものであるか否かを判断する部分である。ここで、受信すべき順序としては、例えばデータを再構成する順番、即ちシーケンス番号が若い順番が用いられるのがよい。受信すべき順序で受信されたものであるか否かの判断は、例えばパケットのヘッダの情報を参照して行われることが好ましい。判断結果に関する情報は、パケット保持部14、合併部15及び検証部16にそれぞれ送信される。
パケット保持部14は、順序判断部13により、受信されたパケットが受信すべき順序で受信されたものでないと判断された場合、この受信されたパケット(のコピー)を保持しておく部分である。また、パケット保持部14は、このパケットを所定の送信先30に送信するように送信部12を制御する。
合併部15は、パケット保持部14により保持されているパケットが、当該保持された後に受信部11により受信されたパケットと併せて検証されるべきものであるか否かを判断し、当該判断に基づいて受信されたパケットのペイロードと保持されているパケットのペイロードとを合併する部分である。ここでの検証は、検証部16による検証である。具体的な判断方法等は後述する。
検証部16は、順序判断部13により、受信されたパケットが受信すべき順序で受信されたものであると判断された場合、パケットのペイロードが予め定められたルールを満たすものであるか否かを検証する部分である。ここで、検証対象となるパケットのペイロードは、受信されたパケットのペイロードが合併部15によりパケット保持部14に保持されたパケットのペイロードと合併されたものである場合は、合併されたペイロードであるものとする。また、検証部16は、同一の通信メッセージにおける次の検証に用いるために、当該検証内容に関する情報を保持しておく。同一の通信メッセージにおける次のパケットの検証において、保持された検証内容に関する情報を用いることによりメッセージストリームを検証することと同様の効果を得ることができる。不正な通信メッセージの検出は、受信したパケットのみをルールで検証するのみでは不十分で、パケットから構成されるメッセージストリームを検証することにより可能となるからである。なお、同一の通信メッセージにおいて、受信したパケット(のコピー)を全て保持しておき、これらを用いて受信したパケットまでを、その都度再構成して、そのデータに対して検証を行うことも可能である。
検証部16による検証は、具体的には、検証対象となるペイロードを文字列のデータとして扱い、この文字列データが予め定められたルールを満たすか否かを判断することにより行うのがよい。ここで予め定められたルールはアプリケーション層プロトコル定められた通信規約に違反した通信メッセージを検出するものを用いるのが好ましい。そのようなルールは、例えば当該文字列データが所定のパターンに当てはまる、あるいは当てはまらないというものがある。また、それ以外にも、文字列以外の制御コードが含まれないなどがある。これは、不正な通信メッセージには、制御コードが含まれるものが多く、それを検出するためのものである。また、このルールに特定のプロトコルに対応したものを含ませることとすると、そのプロトコルにおける不正な通信メッセージの検出をより精度よく行うことが可能となる。
中継制御部17は、検証部16によりパケットがルールを満たすとされた場合に当該パケットの送信を行うよう送信部12を制御し、検証部16によりパケットがルールを満たさないとされた場合に当該パケットの送信を禁止するよう送信部12を制御する部分である。
以下、図3のフローチャートを用いて、本実施形態における中継装置10により実行される処理を説明する。本処理は、送信元20から送信先30に送信される、通信メッセージに係るパケットが中継装置10により中継されるときに行われる。TCPでは、送信元20と中継装置10との間にはコネクションが確立された後、パケットの送信がなされる。
パケットが送信されると、中継装置10では、受信部11が到着したパケットを受信する(S01)。受信部11は、受信したパケットがどのコネクションによるものかを、パケットのヘッダ情報に含まれる、送信元20及び送信先30のIP(Internet Protocol)アドレス、送信元20及び送信先30のポート番号、並びにアプリケーション層プロトコルを特定する情報等を参照することにより特定し、保持しておく。また、受信部11は、パケットのヘッダ情報を参照することによりパケットがどの通信メッセージのものか特定する。また、受信部11は、これらの情報や中継装置10が保持するルーティングテーブルに基づいて送信先30(中継先)を特定する。
続いて、順序判断部13が、受信されたパケットが受信すべき順序で受信されたものであるか否かを判断する(S02)。当該判断は、受信されたパケットを読出し、パケットのヘッダに含まれるシーケンス番号を参照することにより行う。
例えば、図2における“1”のパケットにように、受信すべき順序で受信されているものであると判断された場合、続いて合併部15が、受信したパケットと合併すべきパケットがパケット保持部14により保持されているパケットの中に有るか否かの判断を行う(S03)。“1”のパケットの場合は、同一の通信メッセージにおける最初に受信したパケットなので、合併すべきパケットは存在しない。なお、図2においてはパケットからデータを再構成することとしているが、中継装置10においては、通常、データは再構成しない。
続いて、検証部16が受信したパケットのペイロードがルールを満たすものであるか否かを検証する(S05)。ここで、パケットがルールを満たすもの、即ち不正な通信メッセージに係るものでないと判断された場合は、中継制御部17が、このパケットを送信先30に送信するよう送信部12に対して制御を行う。制御を受けた送信部12は、パケットの送信を行う(S06)。なお、ここでの不正な通信メッセージに係るものでないとの判断は、受信されたパケットまでの情報からの判断である。即ち、この判断以降に受信されるパケットの情報から、不正な通信メッセージに係るものであるとされる場合がある。また、パケットがルールを満たすものであると判断された場合、検証部16は、検証内容に関する情報を保持しておく。この時点でその通信メッセージにおける全てのパケットを送信した場合、処理は終了となる(S08)。
検証部16による検証により、パケットがルールを満たさないもの、即ち不正な通信メッセージに係るものであるとされた場合は、中継制御部17が、このパケットを送信先30に送信するのを禁止するよう送信部12に対して制御を行う。制御を受けた送信部12は、パケットの送信を禁止する(S07)。パケットの送信が禁止されると、それ以降受信したパケットについても、全て送信を禁止し、処理は終了となる。なお、一連のパケットの検証処理において、途中のパケットでパケットがルールを満たさないものと判断された場合は、それ以前のパケットは送信先30に既に送信されてしまっているが、送信先30では、通常、パケットが全て到着するまでデータをアプリケーション層に上げないので、不正な通信メッセージによる攻撃等を防ぐことができる。
S08において、全てのパケットを送信していない場合は、引き続いて受信部11がパケットの受信を行う(S01)。続いて、順序判断部13が、受信されたパケットが受信すべき順序で受信されたものであるか否かを判断する(S02)。ここで、例えば図2における“3”のパケットにように、受信すべき順序で受信されたものでない(“3”のパケットより前に受信すべき“2”のパケットより前に受信している)と判断された場合は、パケット保持部14がそのパケット(のコピー)を保持する(S09)続いて、パケット保持部14は、そのパケットを送信先30に送信するよう送信部12に対して制御を行う。制御を受けた送信部12は、パケットの送信を行う(S10)。この処理により、受信すべき順序より早い順序で受信されたパケットが、パケット保持部14により保持されたこととなる。
引き続いて、受信部11がパケットの受信を行い(S01)、順序判断部13が受信されたパケットが受信すべき順序で受信されたものであるか否かを判断する(S02)。ここで、例えば図2における“2”のパケットにように、“1”のパケットまでが検証されており、受信すべき順序で受信されているものであると判断された場合、続いて合併部15が、受信したパケットと合併すべきパケットがパケット保持部14により保持されているパケットの中に有るか否かの判断を行う(S03)。その判断のために、順序判断部13は、パケット保持部14により保持されるパケットを読出し、パケットのヘッダのシーケンス番号を参照する。この判断は、保持されたパケットが受信されたパケットと併せて検証すべきものであるか否かを、受信すべき順序に基づいて判断することにより行う。例えば、受信されたパケットの後に続く順番のパケットが、保持されたパケットの中にある場合、その保持されたパケットは受信されたパケットと併せて検証すべきものであると判断され、それらは合併されるものと判断される。例えば、図2の例で“3”のパケットが保持されており、“2”のパケットが受信された場合、“3”のパケットは“2”のパケットに続くものであるので、保持された“3”のパケットは受信された“2”のパケットと合併されるものと判断される。
続いて、合併部15は、それらのパケットのペイロード同士を、検証部16により検証が可能となるように合併させる(S04)。続いて、検証部16が合併されたペイロードがルールを満たすものであるか否かを検証する(S05)。ここでの検証は、同じ通信メッセージに係るパケットの検証が、この検証の前に行われている場合は、検証部16に保持されている検証内容に関する情報を用いる。図2における例では、“2”及び“3”のパケットのペイロードに関して検証を行う場合、その前に行われた“1”の検証内容を参照することにより行う。
ここで、パケットがルールを満たすもの、即ち不正な通信メッセージに係るものでないと判断された場合は、中継制御部17が、このパケットを送信先30に送信するよう送信部12に対して制御を行う。制御を受けた送信部12は、パケットの送信を行う(S06)。パケット保持部14により保持されているパケットは既に送信がなされているので、ここで送信されるパケットには保持されているパケットを含まないこととするのが好ましい。この時点でその通信メッセージにおける全てのパケットを送信した場合、処理は終了となる(S08)。ルールを満たさないものと判断された場合は、上述の処理と同様である。
本実施形態に係る中継装置10によれば、パケットを受信する度にペイロードに関して不正の検証を行って当該パケットを送信するので、アプリケーション層プロトコルにおける不正な通信メッセージの検出において通信遅延の増大を防ぐことができる。また、不正の検証に用いるルールはアプリケーション層プロトコルの種類によらずに設定できるので、プロトコルの種類よらずに不正な通信メッセージの検出をすることができる。
なお、検証部16による検証、及び検証内容の保持は、オートマトンを用いることにより行われることとするのが好ましい。オートマトンによる検証は、パケットのペイロードの内容に基づいた状態遷移により行うことができる。また、検証内容の保持はオートマトンでの状態を検証内容に対応するものとしておき、その状態を検証部16により検証を行うごとに保持しておくことにより行うことができる。
オートマトンによる表現としては、例えば図4に示すようなものがある。例えば、まず図4(a)に示すように正規表現を用いて英字からなるメッセージを“echo_message”として定義しておく。また、図4(b)に示すように初期状態(INITIAL)として、“receive”という状態を定義する。状態“receive”は、ペイロードの内容が“echo_message”に合致する場合、状態“reply”に遷移することを括弧内で定義している。図4(c)に示すように状態“reply”は、受信したパケットを送信する状態である。即ち、図4(a)〜(c)で示されるオートマトンは、このように、パケットのペイロードが英字からなる文字列であることを判定することができる。また、図4(d)に示すように、メッセージ長のサイズを判断することもできる。
このようにオートマトンを用いることにより、検証、及び検証内容の保持を行うための上記のルールを宣言的に記述することができ、ルールの作成、検証及び保守が容易となる。またアプリケーション層プロトコルにおける通信メッセージのやりとりを厳密に記述することができる。
また、分割されたパケットが更に分割されるフラグメンテーションが起きた場合は、フラグメントされたデータに含まれるフラグ等を参照して、パケットの順番を判断し、上述の処理を行うことができる。
上述した一連の処理を中継装置10に実行させるためのパケットフィルタリングプログラムについて説明する。図5に示すように、パケットフィルタリングプログラム41は、中継装置10に備えられる記録媒体40に形成されたプログラム格納領域40a内に格納される。
パケットフィルタリングプログラム41は、順序判断モジュール41aと、パケット保持モジュール41bと、合併モジュール41cと、検証モジュール41dと、中継制御モジュール41eとを備えて構成される。順序判断モジュール41aを実行させて実現する機能は、中継装置10が備える順序判断部13の機能と同様である。同様に、パケット保持モジュール41bはパケット保持部14の機能に、合併モジュール41cは合併部15の機能に、検証モジュール41dは検証部16の機能に、中継制御モジュール41eは中継制御部17の機能にそれぞれ対応している。
パケットフィルタリングプログラム41は、その一部若しくは全部が、通信回線等の伝送媒体を介して伝送され、他の機器により受信されて記録(インストールを含む)される構成としてもよい。また、上記のプログラムは、コンピュータ読取可能な記録媒体に記録して頒布することが可能である。このような記録媒体には、例えばハードディスク及びフレキシブルディスク等の磁気媒体、CD−ROM及びDVD−ROM等の光学媒体、フロプティカルディスク等の磁気光学媒体、あるいは、プログラム命令を実行又は格納するように特別に配置された、例えばRAM、ROM、及び半導体不揮発性メモリなどのハードウェアデバイスなどが含まれる。また、このような記録媒体からプログラム等を読み取る記録媒体読取用のドライブ(例えばフレキシブルディスクドライブ等)を中継装置10に対して接続しておいてもよい。
実施形態に係る中継装置の構成を示す図である。 パケットの送信及び受信の順番の例を示した図である。 実施形態において中継装置で実行される処理を示すフローチャートである。 オートマトンの表現の例を示す図である。 実施形態に係るパケットフィルタリングプログラムの構成を示す図である。
符号の説明
10…中継装置、11…受信部、12…送信部、13…順序判断部、14…パケット保持部、15…合併部、16…検証部、17…中継制御部、20…送信元、30…送信先、40…記録媒体、40a…プログラム格納領域、41…パケットフィルタリングプログラム、41a…順序判断モジュール、41b…パケット保持モジュール、41c…合併モジュール、41d…検証モジュール、41e…中継制御モジュール。

Claims (6)

  1. 通信メッセージをパケット毎に中継する中継装置であって、
    受信されたパケットが受信すべき順序で受信されたものであるか否かを判断する順序判断手段と、
    前記順序判断手段により前記パケットが前記受信すべき順序で受信されたものでないと判断された場合、当該パケットを保持しておくと共に、当該パケットの中継を行うよう制御するパケット保持手段と、
    前記パケット保持手段により保持されたパケットが当該保持された後に受信されたパケットと併せて検証すべきものであるか否かを、前記受信すべき順序に基づいて判断して、当該判断に基づき当該受信されたパケットのペイロードと当該保持されたパケットのペイロードとを合併する合併手段と、
    前記順序判断手段により前記受信すべき順序でパケットが受信されたと判断された場合に、当該パケットのペイロード、又は前記合併手段により合併された当該パケットのペイロードが予め定められたルールを満たすものであるか否かを検証すると共に、当該検証内容に関する情報を前記通信メッセージにおける次の検証に用いるために保持しておく検証手段と、
    前記検証手段により前記パケットが前記ルールを満たすとされた場合に当該パケットの中継を行うよう制御し、前記検証手段により前記パケットが前記ルールを満たさないとされた場合に当該パケットの中継を禁止するよう制御する中継制御手段と、
    を備える中継装置。
  2. 前記検証手段による検証、及び検証内容に関する情報の保持は、オートマトンを用いることにより行われることを特徴とする請求項1に記載の中継装置。
  3. 通信メッセージをパケット毎に中継する中継装置におけるパケットフィルタリング方法であって、
    受信されたパケットが受信すべき順序で受信されたものであるか否かを判断する順序判断ステップと、
    前記順序判断ステップにおいて前記パケットが前記受信すべき順序で受信されたものでないと判断された場合、当該パケットを保持しておくと共に、当該パケットの中継を行うよう制御するパケット保持ステップと、
    前記パケット保持ステップにおいて保持されたパケットが当該保持された後に受信されたパケットと併せて検証すべきものであるか否かを、前記受信すべき順序に基づいて判断して、当該判断に基づき当該受信されたパケットのペイロードと当該保持されたパケットのペイロードとを合併する合併ステップと、
    前記順序判断ステップにおいて前記受信すべき順序でパケットが受信されたと判断された場合に、当該パケットのペイロード、又は前記合併ステップにおいて合併された当該パケットのペイロードが予め定められたルールを満たすものであるか否かを検証すると共に、当該検証内容に関する情報を前記通信メッセージにおける次の検証に用いるために保持しておく検証ステップと、
    前記検証ステップにおいて前記パケットが前記ルールを満たすとされた場合に当該パケットの中継を行うよう制御し、前記検証ステップにおいて前記パケットが前記ルールを満たさないとされた場合に当該パケットの中継を禁止するよう制御する中継制御ステップと、
    を備えるパケットフィルタリング方法。
  4. 前記検証ステップにおける検証、及び検証内容に関する情報の保持は、オートマトンを用いることにより行われることを特徴とする請求項3に記載のパケットフィルタリング方法。
  5. 通信メッセージをパケット毎に中継する中継装置に、
    受信されたパケットが受信すべき順序で受信されたものであるか否かを判断する順序判断処理と、
    前記順序判断処理により前記パケットが前記受信すべき順序で受信されたものでないと判断された場合、当該パケットを保持しておくと共に、当該パケットの中継を行うよう制御するパケット保持処理と、
    前記パケット保持処理により保持されたパケットが当該保持された後に受信されたパケットと併せて検証すべきものであるか否かを、前記受信すべき順序に基づいて判断して、当該判断に基づき当該受信されたパケットのペイロードと当該保持されたパケットのペイロードとを合併する合併処理と、
    前記順序判断処理により前記受信すべき順序でパケットが受信されたと判断された場合に、当該パケットのペイロード、又は前記合併処理により合併された当該パケットのペイロードが予め定められたルールを満たすものであるか否かを検証すると共に、当該検証内容に関する情報を前記通信メッセージにおける次の検証に用いるために保持しておく検証処理と、
    前記検証処理により前記パケットが前記ルールを満たすとされた場合に当該パケットの中継を行うよう制御し、前記検証処理により前記パケットが前記ルールを満たさないとされた場合に当該パケットの中継を禁止するよう制御する中継制御処理と、
    を実行させるためのパケットフィルタリングプログラム。
  6. 前記検証処理による検証、及び検証内容に関する情報の保持は、オートマトンを用いることにより行われることを特徴とする請求項5に記載のパケットフィルタリングプログラム。
JP2004162129A 2004-05-31 2004-05-31 中継装置、パケットフィルタリング方法及びパケットフィルタリングプログラム Expired - Fee Related JP4418302B2 (ja)

Priority Applications (8)

Application Number Priority Date Filing Date Title
JP2004162129A JP4418302B2 (ja) 2004-05-31 2004-05-31 中継装置、パケットフィルタリング方法及びパケットフィルタリングプログラム
PCT/JP2005/009632 WO2005117374A1 (ja) 2004-05-31 2005-05-26 中継装置、パケットフィルタリング方法及びパケットフィルタリングプログラム
EP05743800A EP1737172A4 (en) 2004-05-31 2005-05-26 RELAY DEVICE, APKET FILTERING METHOD, AND PACKAGE FILTERING PROGRAM
KR20067004403A KR100752955B1 (ko) 2004-05-31 2005-05-26 중계 장치, 패킷 필터링 방법 및 패킷 필터링 프로그램
US11/569,743 US7633957B2 (en) 2004-05-31 2005-05-26 Relay device, packet filtering method, and packet filtering program
CNB2005800007404A CN100473060C (zh) 2004-05-31 2005-05-26 中继装置、数据包过滤方法
TW094117569A TW200642389A (en) 2004-05-31 2005-05-27 Relaying apparatus, packet filtering method, and packet filtering program
IL178267A IL178267A0 (en) 2004-05-31 2006-09-21 Relay device, packet filtering method, and packet filtering program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004162129A JP4418302B2 (ja) 2004-05-31 2004-05-31 中継装置、パケットフィルタリング方法及びパケットフィルタリングプログラム

Publications (2)

Publication Number Publication Date
JP2005347853A JP2005347853A (ja) 2005-12-15
JP4418302B2 true JP4418302B2 (ja) 2010-02-17

Family

ID=35451250

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004162129A Expired - Fee Related JP4418302B2 (ja) 2004-05-31 2004-05-31 中継装置、パケットフィルタリング方法及びパケットフィルタリングプログラム

Country Status (8)

Country Link
US (1) US7633957B2 (ja)
EP (1) EP1737172A4 (ja)
JP (1) JP4418302B2 (ja)
KR (1) KR100752955B1 (ja)
CN (1) CN100473060C (ja)
IL (1) IL178267A0 (ja)
TW (1) TW200642389A (ja)
WO (1) WO2005117374A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008028740A (ja) * 2006-07-21 2008-02-07 Secure Ware:Kk 通信制御装置、通信制御方法、及びコンピュータプログラム
JP5177366B2 (ja) * 2007-08-28 2013-04-03 日本電気株式会社 サービス提供システム、フィルタリング装置、及びフィルタリング方法
US8050682B2 (en) * 2008-03-14 2011-11-01 Samsung Electronics Co., Ltd. Method and system for delivering and constructing status information in communication system
EP2449817B1 (en) * 2009-06-30 2018-08-29 Telefonaktiebolaget LM Ericsson (publ) Method and apparatuses for moving a service or ip session from first to second access
JP6529033B2 (ja) * 2015-10-01 2019-06-12 株式会社エヴリカ 情報処理装置、方法およびプログラム
US10248814B2 (en) * 2017-01-25 2019-04-02 Hewlett Packard Enterprise Development Lp Memory integrity monitoring
JP2018207343A (ja) * 2017-06-06 2018-12-27 株式会社オートネットワーク技術研究所 中継装置、中継方法及び中継プログラム
JP7304801B2 (ja) * 2019-12-12 2023-07-07 三菱電機株式会社 中継装置及び通信システム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5758083A (en) * 1995-10-30 1998-05-26 Sun Microsystems, Inc. Method and system for sharing information between network managers
CA2287689C (en) 1998-12-03 2003-09-30 P. Krishnan Adaptive re-ordering of data packet filter rules
JP4292654B2 (ja) 1999-03-19 2009-07-08 ソニー株式会社 記録装置および方法、再生装置および方法、並びに記録媒体
TW453070B (en) 2000-01-17 2001-09-01 Accton Technology Corp Wireless network communication system and method with double packet filtering function
TW484282B (en) 2000-04-10 2002-04-21 D Link Corp Monitoring management method of network exchange system to the online frame
US6381242B1 (en) * 2000-08-29 2002-04-30 Netrake Corporation Content processor
JP2003099339A (ja) * 2001-09-25 2003-04-04 Toshiba Corp 侵入検知・防御装置及びプログラム
US7180895B2 (en) 2001-12-31 2007-02-20 3Com Corporation System and method for classifying network packets with packet content
US9392002B2 (en) * 2002-01-31 2016-07-12 Nokia Technologies Oy System and method of providing virus protection at a gateway
JP2003296213A (ja) * 2002-04-03 2003-10-17 Sony Corp 情報授受方法および情報授受システム
TW550903B (en) 2002-04-23 2003-09-01 Via Tech Inc Method for filtering packets and the associated devices
JP2004062417A (ja) 2002-07-26 2004-02-26 Nippon Telegr & Teleph Corp <Ntt> 認証サーバ装置、サーバ装置、およびゲートウェイ装置
CN1757210A (zh) * 2003-01-15 2006-04-05 希尔纳公司 用于在光网络上传输分组数据的方法和装置

Also Published As

Publication number Publication date
EP1737172A4 (en) 2008-02-20
US7633957B2 (en) 2009-12-15
CN100473060C (zh) 2009-03-25
KR20060063957A (ko) 2006-06-12
KR100752955B1 (ko) 2007-08-30
JP2005347853A (ja) 2005-12-15
CN1839601A (zh) 2006-09-27
EP1737172A1 (en) 2006-12-27
WO2005117374A1 (ja) 2005-12-08
TW200642389A (en) 2006-12-01
US20070242681A1 (en) 2007-10-18
TWI332341B (ja) 2010-10-21
IL178267A0 (en) 2006-12-31

Similar Documents

Publication Publication Date Title
US10084825B1 (en) Reducing redundant operations performed by members of a cooperative security fabric
KR100752955B1 (ko) 중계 장치, 패킷 필터링 방법 및 패킷 필터링 프로그램
US10484278B2 (en) Application-based network packet forwarding
US7738380B1 (en) Reassembly-free rewriting of out-of-order data payload
EP1734718A2 (en) Computer-implemented method with real-time response mechanism for detecting viruses in data transfer on a stream basis
JP4743894B2 (ja) データ・パケットを伝送しながらセキュリティを改良するための方法及び装置
US20030018914A1 (en) Stateful packet forwarding in a firewall cluster
JP2005011369A (ja) コンピュータ・ネットワーク用のウイルス検出・除去装置
US8739270B1 (en) Trusted, cross domain information sharing between multiple legacy and IP based devices
CN106470213A (zh) 一种攻击报文的溯源方法和装置
JP2007537617A (ja) チェックポイントを介して実行ファイルの通過時間を高速化する方法
Herrin Linux IP Networking: A Guide to the Implementation and Modification of the Linux Protocol Stack
EP3346663B1 (en) Apparatus, system, and method for accelerating security inspections using inline pattern matching
US7971254B1 (en) Method and system for low-latency detection of viruses transmitted over a network
CN107370743B (zh) 针对众核芯片上篡改数据包的恶意木马的检测及防御方法
CN105991641A (zh) 一种Portal认证方法及装置
Cisco Access and Communication Servers Release Notes for Cisco IOS Release 10.2
Herrin Linux IP Networking
US10148576B2 (en) Network processing unit (NPU) integrated layer 2 network device for layer 3 offloading
JP2001358771A (ja) 通信品質制御装置
KR100451796B1 (ko) 트래픽 제어를 위한 호 프로세싱 캐싱 제어장치
JPWO2005050935A1 (ja) 侵入検知装置およびその方法
US20040143764A1 (en) System and method of preventing the transmission of known and unknown electronic content to and from servers or workstations connected to a common network
TW594472B (en) Computer virus scanning method for network data packet
CN114900350B (zh) 报文传输方法、装置、设备、存储介质及程序产品

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090707

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20091124

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091127

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121204

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees