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

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

Info

Publication number
WO2005117374A1
WO2005117374A1 PCT/JP2005/009632 JP2005009632W WO2005117374A1 WO 2005117374 A1 WO2005117374 A1 WO 2005117374A1 JP 2005009632 W JP2005009632 W JP 2005009632W WO 2005117374 A1 WO2005117374 A1 WO 2005117374A1
Authority
WO
WIPO (PCT)
Prior art keywords
packet
received
verification
order
payload
Prior art date
Application number
PCT/JP2005/009632
Other languages
English (en)
French (fr)
Inventor
Kenji Kono
Takahiro Shinagawa
Kabir Md.Rahat
Original Assignee
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
Application filed by Japan Science And Technology Agency filed Critical Japan Science And Technology Agency
Priority to EP05743800A priority Critical patent/EP1737172A4/en
Priority to KR20067004403A priority patent/KR100752955B1/ko
Priority to US11/569,743 priority patent/US7633957B2/en
Priority to CNB2005800007404A priority patent/CN100473060C/zh
Publication of WO2005117374A1 publication Critical patent/WO2005117374A1/ja
Priority to IL178267A priority patent/IL178267A0/en

Links

Classifications

    • 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
    • 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
    • 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

Definitions

  • the present invention relates to a relay device that relays a communication message for each packet, a bucket filtering method in the relay device, and a bucket filtering program.
  • a message that violates the protocol of the application layer has an illegal cause in the content of data, that is, in the payload of the bucket (the body of data originally intended to be transferred excluding the header information in the packet). It is not detected by packet filtering that detects illegal data by referring to information. In order to detect an illegal message in an application layer protocol, it is necessary to refer to the contents of the data, and an application gateway can detect such an illegal message in this way (for example, see Non-Patent Document 1 below). .
  • Non-patent Document 1 Yukio Ito, Masayoshi Shido, Osamu Noro, "Illustrations: Standard Latest VPN, N-Book” Shuwa System, May 2003, p.
  • the application gateway is a type of proxy interposed between the server and the client, and monitors transmitted and received data as a message stream. That is, bucket The application gateway reconfigures the data flowing through the network as a communication message as a communication message, and detects fraud by analyzing the restructured communication message. Therefore, since the application gateway does not relay the packet until it determines that the communication message is not invalid, the flow of the packet in the network is interrupted, causing a communication delay. In addition, since the application gateway detects the illegal communication message for each protocol, only the number of protocols is required.
  • the present invention has been made to solve the above-described problem, and it is an object of the present invention to prevent an increase in communication delay and to detect an illegal communication message in an application layer protocol regardless of the type of protocol. It is an object of the present invention to provide a relay device, a packet filtering method, and a packet filtering program that can perform the packet filtering.
  • a relay device is a relay device that relays a communication message for each packet, and the received packets are received in the order in which they should be received. If the packet is not received in the order in which it should be received by the order determining means for determining whether or not the packet is power, the packet is retained and the packet is retained. Packet holding means for controlling the relaying of packets, and the order in which the packets held by the packet holding means should be verified as to whether they should be verified together with the packets received after being held. Should be received by the merging means for merging the payload of the received packet and the payload of the held packet based on the judgment, and the order judging means.
  • the merging means If it is determined that the packets have been received in the order, it is checked whether the payload of the packet or the payload of the packet merged by the merging means satisfies a predetermined rule, and A verification unit that holds information on the contents of the verification for use in the next verification of the communication message; and a control unit that relays the packet when the verification unit determines that the packet satisfies the rule. And relay control means for controlling relay of the packet when the rule is not satisfied.
  • the verification by the verification unit and the holding of the information on the verification content be performed by using an automaton, for example.
  • an automaton the above rules for verifying and retaining the contents of verification can be described declaratively, making rule creation, verification, and maintenance easier.
  • the present invention can be described as an invention of a packet filtering method and a packet filtering program as described below, in addition to being described as an invention of a relay apparatus as described above.
  • a packet filtering method and a packet filtering program as described below, in addition to being described as an invention of a relay apparatus as described above.
  • a packet filtering method is a packet filtering method in a relay device that relays a communication message for each packet, and determines whether received packets are received in the order in which they should be received. If it is determined in the order determining step and the order determining step that the packet is not received in the order in which it should be received, the packet is held and the packet is relayed. The packet holding step and whether or not the packet held in the packet holding step should be verified together with the packet received after being held, based on the order in which the packet should be received. Merges the received packet payload and the held packet payload based on the judgment.
  • the pay port of the packet or the payload of the packet merged in the merge step is determined in advance.
  • Specially Sign it is preferable that the verification in the verification step and the holding of the information on the verification contents be performed by using an automaton as an example.
  • a packet filtering program provides a relay device that relays a communication message for each packet to determine whether or not a received packet is received in the order in which it should be received. If it is determined by the order determination process that the packet is not received in the order in which it should be received, the packet is held and the packet holding process is controlled to relay the packet. Judge whether or not the packet held by the packet is to be verified together with the packet received after being held based on the order in which the packet should be received, and based on the judgment, the received packet Packet and the payload of the held packet are merged, and the packets are received in the order to be received by the order determination process.
  • the verification processing determines that the packet satisfies the rule, control is performed so that the packet is relayed. And a relay control process for performing control to prohibit relaying of the packet when the rule is not satisfied. Further, it is preferable that the verification by the verification processing and the holding of the information on the verification contents be performed by using an automaton, as an example.
  • FIG. 1 is a diagram showing a configuration of a relay device according to an embodiment.
  • FIG. 2 is a diagram showing an example of the order of transmitting and receiving packets.
  • FIG. 3 is a flowchart showing a process executed by the relay device in the embodiment.
  • FIG. 4 is a diagram showing an example of an automaton expression.
  • FIG. 5 is a diagram showing a configuration of a packet filtering program according to the embodiment.
  • 10 Relay device, 11 ⁇ Receiver unit, 12 ⁇ Transmitter unit, 13 ⁇ Order decision unit, 14 ⁇ Packet holding unit, 15 ⁇ Merge unit, 16 ⁇ Verification unit, 17 ⁇ ⁇ ⁇ Relay control unit, 20 ... source, 30 ... destination, 40 ... recording medium, 40a ... program storage area, 41 ⁇ ⁇ ⁇ packet filtering program, 41 a ... order determination module, 41b ... packet holding module, 41c: Merger module, 4 Id: Verification module, 41e: Relay control module.
  • FIG. 1 shows a configuration of a relay device 10 according to the present embodiment.
  • the relay device 10 relays the packet by transmitting the packet transmitted from the transmission source 20 to the transmission destination 30.
  • the relay device 10 is also specifically configured with a CPU, a memory, and the like, and is preferably realized by an information processing device such as a router bridge.
  • the transmission source 20 corresponds to, for example, a server device that transmits data or another relay device.
  • the transmission destination 30 corresponds to, for example, a client device that is a data transmission destination.
  • a packet refers to data obtained by dividing data, which is a communication message, into small pieces for transmission and reception via a network and adding control information such as an address of a transmission destination.
  • control information such as an address of a transmission destination.
  • an example of transmission of a packet is mainly based on Transmission Control Protocol (TCP).
  • TCP Transmission Control Protocol
  • Packets are controlled as described above when data that is a communication message is divided.
  • a header storing control information is added.
  • a sequence number and the like which are information of an order for correctly reconstructing (restoring) data from a packet, are stored.
  • Data reconstruction is performed by concatenating the payloads of the packets in order of the sequence number. It should be noted that a series of transmitted packets is not always received at the destination of the data in the order of the sequence numbers. This is also due to the reason that each packet is relayed via a different route on the network.
  • the sequence number is determined based on the size of the payload as follows. For example, if the sequence number of the first packet is 2001 and the payload size is 1000 bytes, the sequence number of the next packet is 3001, and the sequence number of the next packet is 4001.
  • FIG. 2 shows a simple example of packet division and reassembly.
  • the information to be transmitted on the data transmission side is added to the header of each packet with information in the order of "1", “2", “3”, and “4" to reconstruct the data. It is assumed that the data is divided and transmitted in that order.
  • the data receiving side does not always receive packets in the order of "1,” "2,” “3,” and “4.”
  • "1", “3", “2” , "4" in some cases. Even in such a case, the data can be reconstructed by referring to the order information included in the packet header.
  • the relay device 10 includes a receiving unit 11, a transmitting unit 12, an order determining unit 13 (order determining unit), a packet holding unit 14 (packet holding unit), and a merging unit 15 (merging unit). Means), a verification unit 16 (verification means), and a relay control unit 17 (relay control means). It is assumed that the relay device 10 relays all packets related to a communication message transmitted to the transmission destination 30 like a proxy.
  • the receiving unit 11 is a unit that receives a packet to be relayed transmitted from the transmission source 20.
  • the transmitting unit 12 is a unit that transmits the packet to be relayed received by the receiving unit 11 to a predetermined destination 30.
  • the order determining unit 13 is a unit that refers to the packet received by the receiving unit 11 and determines whether or not the packet is received in the order in which it should be received.
  • the order in which data should be received is, for example, the order in which data is reconstructed, that is, the sequence number is small Order is preferably used. It is preferable that the determination as to whether or not the power has been received in the order in which it should be received is made, for example, by referring to information in the header of the packet. Information on the judgment result is transmitted to the packet holding unit 14, the merging unit 15, and the verification unit 16, respectively.
  • the packet holding unit 14 holds the received packets (packets of the packets). This is the part to keep. Further, the packet holding unit 14 controls the transmitting unit 12 to transmit the packet to a predetermined destination 30.
  • the merging unit 15 determines whether the packet held by the packet holding unit 14 is to be verified together with the packet received by the receiving unit 11 after being held, and This is a part that merges the payload of the packet received based on the determination with the payload of the held packet.
  • the verification is verification by the verification unit 16. A specific determination method and the like will be described later.
  • the verification unit 16 When the order determination unit 13 determines that the received packets are received in the order in which they should be received, the verification unit 16 satisfies a predetermined rule for the payload of the packet. This is the part that verifies the power.
  • the payload of the packet to be verified is the merged payload if the payload of the received packet is merged with the payload of the packet held in the packet holding unit 14 by the merger 15. It is assumed that Further, the verification unit 16 holds information on the contents of the verification for use in the next verification of the same communication message. In the verification of the next packet in the same communication message, the same effect as that of verifying the message stream can be obtained by using the information on the stored verification contents.
  • the verification by the verification unit 16 is performed by setting the payload to be verified to a character string data. It is preferable to determine whether the character string data satisfies a predetermined rule.
  • a predetermined rule it is preferable to use a rule that detects a communication message that violates a communication protocol defined in an application layer protocol.
  • Such rules include, for example, that the character string data applies or does not apply to a predetermined pattern.
  • control codes other than character strings are not included. This is to detect malicious communication messages that often contain control codes.
  • this rule is to include one corresponding to a specific protocol, it is possible to detect illegal communication messages in that protocol more accurately.
  • the relay control unit 17 controls the transmitting unit 12 to transmit the packet when the packet is determined to be satisfied by the verification unit 16, and determines that the packet does not satisfy the rule by the verification unit 16.
  • This section controls the transmission section 12 so as to prohibit transmission of the packet when the transmission is performed.
  • This process is performed when a packet related to a communication message transmitted from the transmission source 20 to the transmission destination 30 is relayed by the relay device 10.
  • TCP Transmission Control Protocol
  • a packet is transmitted after a connection is established between the transmission source 20 and the relay device 10.
  • the relay device 10 receives the arriving packet at the receiving unit 11 (S01).
  • the receiving unit 11 determines which connection the received packet is based on, in the header information of the packet, the IP (Internet Protocol) addresses of the source 20 and the destination 30, the port numbers of the source 20 and the destination 30, In addition, it specifies and stores it by referring to information that specifies the application layer protocol. Also, the receiving unit 11 specifies which communication message the packet belongs to by referring to the header information of the packet. Further, the receiving unit 11 specifies the transmission destination 30 (relay destination) based on the information and the routing table held by the relay device 10.
  • IP Internet Protocol
  • the order determining unit 13 determines whether or not the received packets are received in the order in which they should be received (S02). The decision is to read the received packet and This is done by referring to the sequence number included in the header.
  • the merging unit 15 sets the packet to be merged with the received packet. It is determined whether the packet is in the packet held by the packet holding unit 14 (S03). In the case of the packet of "1", there is no packet to be merged because it is the first packet received in the same communication message. Note that, in FIG. 2, the data is not normally reconstructed in the force relay device 10 in which the data is reconstructed from the packet.
  • the verification unit 16 verifies whether or not the payload of the received packet satisfies the rule (S05). If it is determined that the packet satisfies the rule, that is, the packet does not relate to an unauthorized communication message, the relay control unit 17 controls the transmitting unit 12 to transmit the packet to the destination 30. I do.
  • the transmitting unit 12 that has received the control transmits the packet (S06).
  • the determination that the message is not related to an unauthorized communication message is a determination of the information up to the received packet. That is, the information of the packet received after this determination may indicate that the packet relates to an unauthorized communication message.
  • the verification unit 16 holds information on verification contents. At this point, if all the packets in the communication message have been transmitted, the process ends (S08).
  • the relay control unit 17 transmits the packet to the transmission destination 30.
  • the transmission unit 12 is controlled to prohibit the transmission.
  • the transmission unit 12 that has received the control prohibits the transmission of the packet (S07).
  • packet transmission is prohibited, transmission of all packets received thereafter is also prohibited, and the process ends.
  • the previous packet has already been transmitted to the destination 30, but the In the previous section, normally, data is not sent to the application layer until all the packets have arrived !, so it is possible to prevent attacks due to illegal communication messages.
  • the receiving unit 11 continues to Receive the packet (SOI). Subsequently, the order determining unit 13 determines whether the received packets are received in the order in which they should be received (S02). Here, for example, as in the case of the packet “3” in FIG. 2, the packet is not received in the order in which it should be received (the packet received before the packet “2” to be received before the packet “3”). Is determined), the bucket holding unit 14 holds a copy of the packet (S09). Subsequently, the packet holding unit 14 controls the transmitting unit 12 to transmit the packet to the destination 30. The transmitting unit 12 that has received the control transmits the packet (S10). By this processing, the packets received in the order earlier than the order in which they should be received are held by the packet holding unit 14.
  • the receiving unit 11 receives the packet (S01), and the order determining unit 13 determines whether or not the received packets are received in the order in which they should be received (S02).
  • the order determining unit 13 determines whether or not the received packets are received in the order in which they should be received (S02).
  • the merging unit 15 determines whether or not there is a packet to be merged with the received packet in the packet held by the packet holding unit 14 (S03). For this determination, the order determining unit 13 reads the packet held by the packet holding unit 14 and refers to the sequence number of the header of the packet.
  • This determination is made by determining whether or not the held packet should be verified together with the received packet, based on the order in which the packet should be received. For example, if a packet in the order following the received packet is in the retained packet, the retained packet is determined to be verified along with the received packet and they are merged. It is determined to be performed. For example, in the example of FIG. 2, the packet of "3" is held, and when the packet of "2" is received, the packet of "3" is held following the packet of "2". The packet of "3" is determined to be merged with the received packet of "2".
  • the merging unit 15 merges the payloads of these packets so that the verification unit 16 can verify them (S04).
  • the verification unit 16 verifies whether the merged payload satisfies the rule (S05). In the verification here, if the verification of the packet related to the same communication message has been performed before this verification, the information on the verification contents held in the verification unit 16 is used. In the example of FIG. 2, "2" and "3" When verifying the payload of the packet of "1", the verification is performed by referring to the verification contents of "1" performed earlier.
  • the relay control unit 17 transmits the packet to the transmission destination 30 by the transmission unit 12. Is controlled.
  • the transmission unit 12 that has received the control transmits the packet (S06). Since the packet held by the packet holding unit 14 has already been transmitted, it is preferable that the packet transmitted here does not include the held packet. At this point, if all the packets in the communication message have been transmitted, the process ends (S08). If it is determined that the rule is not satisfied, the same processing as described above is performed.
  • the relay device 10 every time a packet is received, the payload is verified for fraud and the packet is transmitted. Therefore, the communication is performed in the detection of a fraudulent communication message in the application layer protocol. An increase in delay can be prevented. Also, rules used for fraud verification can be set regardless of the type of application layer protocol, so that illegal communication messages can be detected regardless of the type of protocol.
  • the verification by the verification unit 16 and the retention of the information on the verification contents be performed by using an automaton.
  • Verification by the automaton can be performed by state transition based on the contents of the payload of the knocket.
  • the verification contents can be retained by setting the state in the automaton corresponding to the verification contents and retaining the state every time the verification unit 16 performs the verification.
  • a message consisting of alphabetic characters is defined as "echojnessage” using a regular expression.
  • a state called “receive” is defined as an initial state (INITIAL).
  • the state “receive” defines in parentheses that if the content of the payload S "echojnessage” is matched, the state is changed to "reply”.
  • the state “reply” is a state in which the received packet is transmitted. That is, the automaton shown in the examples (a) to (c) of FIG. It can be determined that it is a character string. Also, as shown in the example (d) of FIG. 4, the size of the message length can be determined.
  • the order of the packets may be determined with reference to flags and the like included in the fragmented data, and the above-described processing may be performed. it can.
  • a packet filtering program for causing the relay device 10 to execute the above-described series of processes will be described.
  • the packet filtering program 41 is stored in a program storage area 40a formed on the recording medium 40 provided in the relay device 10.
  • the packet filtering program 41 includes an order determination module 41a, a packet holding module 41b, a merging module 41c, a verification module 41d, and a relay control module 4 le.
  • the function realized by executing the order determining module 41a is the same as the function of the order determining unit 13 included in the relay device 10.
  • the packet holding module 41b has the function of the packet holding unit 14
  • the merging module 41c has the function of the merging unit 15
  • the verification module 41d has the function of the verification unit 16
  • the relay control module 41e has the function of the relay control unit 17.
  • the packet filtering program 41 may be configured so that part or all of the packet filtering program 41 is transmitted via a transmission medium such as a communication line, received by another device, and recorded (including installation). Further, the above program can be recorded on a computer-readable recording medium and distributed.
  • Such recording media include, for example, magnetic media such as a node disk and a flexible disk, optical media such as a CD-ROM and a DVD-ROM, magneto-optical media such as a floppy disk, and programs for executing or storing program instructions.
  • hardware devices such as RAM, ROM, and semiconductor non-volatile memory, etc., which are specially arranged to operate, are included.
  • recording medium Drive for reading recording media (for example, flexible disk drive, etc.)
  • the present invention can be used as a relay device, a bucket filtering method, and a packet filtering program capable of preventing an increase in communication delay and detecting an illegal communication message in an application layer protocol regardless of the type of protocol.

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)

Abstract

 中継装置10は、通信メッセージをパケット毎に中継する中継装置であって、受信されたパケットが受信すべき順序で受信されたものであるか否かを判断する順序判断部13と、受信すべき順序で受信されたものでないと判断された場合、パケットを保持しておくと共に、パケットの中継を行うよう制御するパケット保持部14と、受信されたパケットのペイロードと保持されたパケットのペイロードとを合併する合併部15と、パケットのペイロードが予め定められたルールを満たすものであるか否かを検証する検証部16と、パケットがルールを満たすとされた場合に当該パケットの中継を行うよう制御する中継制御部17とを備える。これにより、通信遅延の増大を防ぎ、プロトコルの種類によらずにアプリケーション層プロトコルにおける不正な通信メッセージの検出をすることが可能となる。

Description

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

Claims

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

Priority Applications (5)

Application Number Priority Date Filing Date Title
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 中继装置、数据包过滤方法
IL178267A IL178267A0 (en) 2004-05-31 2006-09-21 Relay device, packet filtering method, and packet filtering program

Applications Claiming Priority (2)

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

Publications (1)

Publication Number Publication Date
WO2005117374A1 true WO2005117374A1 (ja) 2005-12-08

Family

ID=35451250

Family Applications (1)

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

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)

Cited By (1)

* 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 通信制御装置、通信制御方法、及びコンピュータプログラム

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 三菱電機株式会社 中継装置及び通信システム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000174808A (ja) * 1998-12-03 2000-06-23 Lucent Technol Inc デ―タパケットフィルタの動作方法
JP2003099339A (ja) * 2001-09-25 2003-04-04 Toshiba Corp 侵入検知・防御装置及びプログラム
JP2004062417A (ja) * 2002-07-26 2004-02-26 Nippon Telegr & Teleph Corp <Ntt> 認証サーバ装置、サーバ装置、およびゲートウェイ装置

Family Cites Families (10)

* 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
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
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
CN1757210A (zh) * 2003-01-15 2006-04-05 希尔纳公司 用于在光网络上传输分组数据的方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000174808A (ja) * 1998-12-03 2000-06-23 Lucent Technol Inc デ―タパケットフィルタの動作方法
JP2003099339A (ja) * 2001-09-25 2003-04-04 Toshiba Corp 侵入検知・防御装置及びプログラム
JP2004062417A (ja) * 2002-07-26 2004-02-26 Nippon Telegr & Teleph Corp <Ntt> 認証サーバ装置、サーバ装置、およびゲートウェイ装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1737172A4 *

Cited By (1)

* 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 通信制御装置、通信制御方法、及びコンピュータプログラム

Also Published As

Publication number Publication date
EP1737172A4 (en) 2008-02-20
JP4418302B2 (ja) 2010-02-17
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
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
WO2005117374A1 (ja) 中継装置、パケットフィルタリング方法及びパケットフィルタリングプログラム
JP3225924B2 (ja) 通信品質制御装置
KR100910818B1 (ko) 비-macsec 노드들을 통해 macsec 패킷들을터널링하기 위한 방법 및 시스템
KR101745624B1 (ko) 실시간 스팸 탐색 시스템
US7725595B1 (en) Embedded communications system and method
WO2022151867A1 (zh) 一种http转https双向透明代理的方法和装置
EP1734718A2 (en) Computer-implemented method with real-time response mechanism for detecting viruses in data transfer on a stream basis
US7764694B2 (en) System, method, and apparatus for prioritizing network traffic using deep packet inspection (DPI)
JP4743894B2 (ja) データ・パケットを伝送しながらセキュリティを改良するための方法及び装置
JP2007538444A (ja) ファイアウォール・システム
US20090300153A1 (en) Method, System and Apparatus for Identifying User Datagram Protocol Packets Using Deep Packet Inspection
US7738380B1 (en) Reassembly-free rewriting of out-of-order data payload
CN111585890A (zh) 基于SRv6的网络路径验证方法及系统
CN108737413B (zh) 传输层的数据处理方法、装置及计算机可读存储介质
RU2358395C2 (ru) Способ уменьшения времени прохождения исполняемого файла через контрольную точку
US9241048B2 (en) Mechanism for processing network event protocol messages
CN112235329A (zh) 一种识别syn报文真实性的方法、装置及网络设备
WO2007010593A1 (ja) Tcpセッションエミュレーション装置
US7971254B1 (en) Method and system for low-latency detection of viruses transmitted over a network
JP2001358771A (ja) 通信品質制御装置
US8799644B2 (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
KR101104599B1 (ko) 네트워크 상에서 tcp syn 플러딩 공격을 차단하는 장치 및 방법
Herrin Linux IP Networking
TW594472B (en) Computer virus scanning method for network data packet
Savage Protocol Design in an Uncooperative Internet

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200580000740.4

Country of ref document: CN

AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS KE KG KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 1020067004403

Country of ref document: KR

WWP Wipo information: published in national office

Ref document number: 1020067004403

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 178267

Country of ref document: IL

WWE Wipo information: entry into national phase

Ref document number: 2005743800

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 11569743

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Ref document number: DE

WWP Wipo information: published in national office

Ref document number: 2005743800

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 11569743

Country of ref document: US