JP6734248B2 - Format conversion device and format conversion program - Google Patents
Format conversion device and format conversion program Download PDFInfo
- Publication number
- JP6734248B2 JP6734248B2 JP2017226004A JP2017226004A JP6734248B2 JP 6734248 B2 JP6734248 B2 JP 6734248B2 JP 2017226004 A JP2017226004 A JP 2017226004A JP 2017226004 A JP2017226004 A JP 2017226004A JP 6734248 B2 JP6734248 B2 JP 6734248B2
- Authority
- JP
- Japan
- Prior art keywords
- packet
- unit
- protocol stack
- protocol
- format conversion
- 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.)
- Active
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Description
本発明は、フォーマット変換装置及びフォーマット変換プログラムに関する。 The present invention relates to a format conversion device and a format conversion program.
近年、インターネットの普及に伴い、DDoS攻撃が急増している。このような攻撃に対する解析ツールとして、Mitigation装置やIDS(Intrusion Detection System)やWAF(Web Application Firewall)等の解析ツールが使用される。 In recent years, with the spread of the Internet, the number of DDoS attacks has increased rapidly. As an analysis tool for such an attack, an analysis tool such as a mitigation device, IDS (Intrusion Detection System) or WAF (Web Application Firewall) is used.
この一般の解析ツールでは、パケット転送においてトンネリングを行っているネットワークに対し、トンネルプロトコルをサポートしていない場合があった。そこで、従来、トンネルプロトコルをサポートしていない解析ツールでもパケットを解析できるようにするために、パケットのトンネルプロトコルを検知してプロトコルヘッダ部分を削除し、パケットフォーマットを変換する技術が提案されている(例えば、非特許文献1,2参照)。
This general analysis tool may not support the tunnel protocol for networks that are tunneling in packet transfer. Therefore, in order to enable a packet to be analyzed by an analysis tool that does not support the tunnel protocol, a technology has been proposed that detects the tunnel protocol of the packet, deletes the protocol header part, and converts the packet format. (See, for example, Non-Patent
図48は、従来技術に係るフォーマット変換装置の処理を説明する図である。図48に示すように、例えば、ネットワークからは、トンネリングのためにEtherヘッダ以降に任意のプロトコルヘッダがスタックされたパケットが入力される。そして、解析ツール20Pの解析対象がインナーパケット(IPv4)Pa,Pbである場合には、インナーパケット(IPv4)以外のプロトコルヘッダが削除されたパケットを解析ツール20Pに入力する必要がある。
FIG. 48 is a diagram illustrating a process of a format conversion device according to the related art. As shown in FIG. 48, for example, a packet in which an arbitrary protocol header is stacked after the Ether header for tunneling is input from the network. When the analysis object of the
しかしながら、従来技術に係るフォーマット変換装置10Pは、変換可能なトンネルパケットが限定されていた(図48の(1)参照)。具体的には、フォーマット変換装置10Pでは、削除可能なプロトコルヘッダの種類が限定されていた。このため、フォーマット変換装置10Pは、変換対象ではないパケットC1が入力されると、パケットC1のフォーマットを変換できずにそのまま解析ツール20Pに出力していた。この場合、解析ツール20Pでは、このパケットC1については、解析不能となっていた(図48の(2)参照)。
However, in the format conversion device 10P according to the related art, the tunnel packets that can be converted are limited (see (1) in FIG. 48). Specifically, in the format conversion device 10P, the types of deletable protocol headers are limited. Therefore, when the packet C1 that is not the conversion target is input, the format conversion device 10P cannot convert the format of the packet C1 and directly outputs it to the
また、従来技術に係るフォーマット変換装置10Pは、多段でカプセル化されているパケットの場合は一段のみしかプロトコルヘッダが削除できなかった(図48の(3)参照)。例えば、フォーマット変換装置10Pは、多段のパケットC2が入力されると、プロトコルヘッダのうちカプセルヘッダ(MPLS)一段しか削除できなかった。この場合、解析ツール20Pでは、フォーマット変換装置10Pから出力されたパケットC2P´については、カプセルヘッダ(IPv6)が残存しているため、解析不能となる(図48の(2)参照)。
Further, the format conversion device 10P according to the related art can delete the protocol header only in one stage in the case of a packet encapsulated in multiple stages (see (3) in FIG. 48). For example, when the multi-stage packet C2 is input, the format conversion device 10P can delete only one stage of the capsule header (MPLS) in the protocol header. In this case, the
このように、従来のフォーマット変換装置10Pは、入力されたトンネルパケットによっては、解析ツール20Pが解析可能であるフォーマットに変換することができない場合があった。
As described above, the conventional format conversion device 10P may not be able to convert the format into a format that can be analyzed by the
本発明は、上記に鑑みてなされたものであって、フォーマットによらず、入力されたトンネルパケットを、解析ツールが解析可能であるフォーマットに変換することができるフォーマット変換装置及びフォーマット変換プログラムを提供することを目的とする。 The present invention has been made in view of the above, and provides a format conversion device and a format conversion program that can convert an input tunnel packet into a format that can be analyzed by an analysis tool, regardless of the format. The purpose is to do.
上述した課題を解決し、目的を達成するために、本発明に係るフォーマット変換装置は、パケットを解析する解析装置の前段に設けられたフォーマット変換装置であって、トンネリングを行うためにEtherヘッダ以降に付加された任意のプロトコルヘッダがスタックされたパケットの入力を受け付ける入力部と、予め作成された判別ルールにしたがって、入力されたパケットの各プロトコルヘッダの種別と配置とを示すプロトコルスタックパターンを判別する判別部と、判別部によって判別されたプロトコルスタックパターンを基に、パケットのフォーマットを、解析装置の解析対象以外のプロトコルヘッダを除外したフォーマットに変換する変換部と、変換部がフォーマットを変換したパケットを解析装置に出力する出力部と、を有することを特徴とする。 In order to solve the above-mentioned problems and to achieve the object, the format conversion device according to the present invention is a format conversion device provided in the preceding stage of an analysis device for analyzing packets, and an Ether header or later for performing tunneling. A protocol stack pattern indicating the type and arrangement of each protocol header of the input packet is determined according to an input unit that receives an input of a packet in which any protocol header added to Based on the protocol stack pattern determined by the determination unit, the conversion unit that converts the packet format into a format that excludes protocol headers other than the analysis target of the analysis device, and the conversion unit converts the format. And an output unit for outputting the packet to the analysis device.
本発明によれば、フォーマットによらず、入力されたトンネルパケットを、解析ツールが解析可能であるフォーマットに変換することができる。 According to the present invention, an input tunnel packet can be converted into a format that can be analyzed by an analysis tool regardless of the format.
以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施の形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。 Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings. The present invention is not limited to this embodiment. In the description of the drawings, the same parts are designated by the same reference numerals.
[実施の形態1]
[通信システムの概要]
まず、図1を用いて、実施の形態1に係る通信システムの構成について説明する。図1は、実施の形態に係る通信システムの構成の一例を示す図である。
[Embodiment 1]
[Outline of communication system]
First, the configuration of the communication system according to the first embodiment will be described with reference to FIG. FIG. 1 is a diagram showing an example of a configuration of a communication system according to an embodiment.
図1に示すように、通信システム1は、ネットワークNと、解析装置20との間に、フォーマット変換装置10が設けられた構成を有する。
As shown in FIG. 1, the
解析装置20は、IDS、WAF等の攻撃に対する解析ツールを有する装置である。本実施の形態1では、解析装置20は、トンネルプロトコルをサポートしていない解析ツールを有する場合を例に説明する。
The
フォーマット変換装置10は、解析装置20の前段に設けられる。フォーマット変換装置10は、ネットワークNを介して入力されたトンネルパケットを、フォーマットによらず、解析装置20が解析可能であるフォーマットに変換する。そして、フォーマット変換装置10は、変換後のパケットを解析装置20に出力することで、トンネルプロトコルをサポートしていない解析装置20でもパケットを解析できるようにしている。具体的には、フォーマット変換装置10は、トンネリングを行うためにEtherヘッダ以降に付加された任意のプロトコルヘッダがスタックされたパケットから、解析装置20の解析対象以外のプロトコルヘッダを除外したフォーマットに変換する。
The
ネットワークNは、例えば、有線又は無線のLAN(Local Area Network)、WAN(Wide Area Network)及びVPN(Virtual Private Network)等の任意の種類のネットワークである。 The network N is an arbitrary type of network such as a wired or wireless LAN (Local Area Network), WAN (Wide Area Network), and VPN (Virtual Private Network).
[フォーマット変換装置の構成]
次に、フォーマット変換装置10の構成について説明する。図2は、図1に示すフォーマット変換装置10の構成の一例を示す図である。フォーマット変換装置10は、図2に示すように、パケット入力部11(入力部)、プロトコルスタック判別部12(判別部)、パケットフォーマット変換部13(変換部)及びパケット出力部14(出力部)を有する。
[Configuration of format conversion device]
Next, the configuration of the
なお、フォーマット変換装置10は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)、CPU(Central Processing Unit)等を含むコンピュータ等に所定のプログラムが読み込まれて、CPUが所定のプログラムを実行することで実現される。また、フォーマット変換装置10は、ネットワークN等を介して接続された他の装置との間で、各種情報を送受信する通信インタフェースを有する。例えば、フォーマット変換装置10は、NIC(Network Interface Card)等を有し、LANやインターネットなどの電気通信回線を介した他の装置との間の通信を行う。
In the
パケット入力部11は、ネットワークNを介して送信されたパケットの入力を受付ける。これらのパケットは、トンネリングを行うためにEtherヘッダ以降に付加された任意のプロトコルヘッダがスタックされたパケットである。言い換えると、これらのパケットは、Etherヘッダと、インナーパケットとの間に、任意のプロトコルヘッダが、任意にスタックされている。なお、本実施の形態1では、インナーパケットが解析装置20の解析対象となる例について説明する。したがって、本フォーマット変換装置10は、入力を受付けたパケットからEtherヘッダとインナーパケットとの間のプロトコルヘッダを除外したフォーマットに変換する。
The
プロトコルスタック判別部12は、予め作成された判別ルールにしたがって、入力されたパケットの各プロトコルヘッダの種別と配置とを示すプロトコルスタックパターンを判別する。判別ルールは、例えば、他の装置で予め作成され、このプロトコルスタック判別部12に事前設定される。 The protocol stack discriminating unit 12 discriminates a protocol stack pattern indicating the type and arrangement of each protocol header of the input packet according to a discrimination rule created in advance. The determination rule is created in advance by another device, for example, and is preset in the protocol stack determination unit 12.
プロトコルスタック判別部12は、判別ルールとして判別木を用いて、入力されたパケットのプロトコルスタックパターンを判別する。判別木は、プロトコルスタックパターンが既知のパケットを下位ヘッダから順次捜査して作成される。また、プロトコルスタック判別部12は、判別木を用いて、入力されたパケットから除外するプロトコルヘッダ箇所も判別する。以降、パケットから除外するプロトコルヘッダ箇所を示す情報を、ヘッダストリップ箇所として、説明を行う。なお、プロトコルスタック判別部12は、各種のプロトコルスタックパターンのパケットを判別できるように、複数の判別木が事前設定される。 The protocol stack discriminating unit 12 discriminates the protocol stack pattern of the input packet using the discrimination tree as the discrimination rule. The discriminant tree is created by sequentially searching packets with known protocol stack patterns from the lower header. The protocol stack discrimination unit 12 also discriminates the protocol header part to be excluded from the input packet using the discrimination tree. Hereinafter, the information indicating the protocol header portion to be excluded from the packet will be described as the header strip portion. It should be noted that the protocol stack discriminating unit 12 is preset with a plurality of discrimination trees so as to discriminate packets of various protocol stack patterns.
パケットフォーマット変換部13は、プロトコルスタック判別部12によって判別されたプロトコルスタックパターンを基に、パケットのフォーマットを、解析装置20の解析対象以外のプロトコルヘッダを除外したフォーマットに変換する。パケットフォーマット変換部13は、プロトコルスタックパターンとともにヘッダストリップ箇所も用いて、フォーマット変換を行う。
The packet
パケット出力部14は、パケットフォーマット変換部13がフォーマットを変換したパケットを解析装置20に出力する。
The packet output unit 14 outputs the packet whose format has been converted by the packet
[フォーマット変換装置の処理の流れ]
次に、フォーマット変換装置10の処理の流れについて説明する。図3は、図2に示すフォーマット変換装置10の処理の流れを説明する図である。
[Processing flow of format conversion device]
Next, a processing flow of the
図3に示すように、プロトコルスタック判別部12には、事前に、予め作成された判別木30が設定される。そして、パケット入力部11がパケットの入力を受付けると、プロトコルスタック判別部12は、判別木30を用いて、到着したパケットのプロトコルスタックパターンを判別する(図3の(1)参照)。プロトコルスタック判別部12は、判別結果として、到着したパケット自身に加え、このパケットのプロトコルスタックパターン、ヘッダストリップ箇所、変換後Ethertypeに指定するプロトコル番号を出力する。
As shown in FIG. 3, a discrimination tree 30 created in advance is set in the protocol stack discrimination unit 12. Then, when the
パケットフォーマット変換部13は、プロトコルスタック判別部12の判別結果を基に、フォーマット変換を実行する(図3の(2)参照)。そして、パケットフォーマット変換部13によるフォーマット変換後のパケットは、パケット出力部14から、解析装置20(不図示)に出力される。
The packet
[判別木の構成]
次に、プロトコルスタック判別部12に設定される判別木の構成について説明する。図4は、判別木の構成を説明する図である。図4の(a)は、判別木の作成に使用するプロトコルスタックパターンが既知であるパケットの一例を示す図である。図4の(a)では、各パケットは、左から右に向かって下位ヘッダから上位ヘッダを配置する。図4の(b)は、図4の(a)に示すパケットから作成された判別木の一例を示す図である。
[Configuration of discriminant tree]
Next, the configuration of the discrimination tree set in the protocol stack discrimination unit 12 will be described. FIG. 4 is a diagram illustrating the configuration of the discrimination tree. FIG. 4A is a diagram showing an example of a packet whose protocol stack pattern used to create a discrimination tree is known. In FIG. 4A, in each packet, the lower header to the upper header are arranged from left to right. FIG. 4B is a diagram showing an example of the discrimination tree created from the packet shown in FIG.
図4の(a)の枠U1内に示すように、既知情報として、パケットA〜Cが使用される。既知情報として、各プロトコルスタックパターンにおける各ヘッダの上位ヘッダを特定するための情報(各ヘッダの上位ヘッダの位置及び値)が示される。また、既知情報として、各プロトコルスタックパターンにおけるヘッダストリップ箇所、変換後Ethertypeに指定するプロトコル番号が設定されている。 As shown in a frame U1 of FIG. 4A, packets A to C are used as known information. As the known information, information for specifying the upper header of each header in each protocol stack pattern (position and value of the upper header of each header) is shown. Also, as known information, the header strip location in each protocol stack pattern and the protocol number specified in the converted Ethertype are set.
例えば、プロトコルスタックパターンがパターンAのパケットの場合、図示するように4段のヘッダH1〜H4のうちヘッダH1〜H3の上位ヘッダの位置及び値、ヘッダストリップ箇所a1〜a2byte、変換後Ethertypeに指定するプロトコル番号mが設定されている。また、プロトコルスタックパターンがパターンBのパケットの場合、6段の各ヘッダH1〜H3,H5,H6,H4のうちヘッダH1〜H3,H5,H6の上位ヘッダの位置及び値、ヘッダストリップ箇所b1〜b2byte、変換後Ethertypeに指定するプロトコル番号lが設定されている。また、プロトコルスタックパターンがパターンCのパケットの場合、4段の各ヘッダH1,H2,H7,H4のうちH1,H2,H7の上位ヘッダの位置及び値、ヘッダストリップ箇所c1〜c2byte、変換後Ethertypeに指定するプロトコル番号nが設定されている。
For example, in the case of a packet whose protocol stack pattern is pattern A, as shown in the figure, the positions and values of the upper headers of the headers H1 to H3 among the four stages of headers H1 to H4, header strip locations a 1 to a 2 bytes, and after conversion The protocol number m specified in Ethertype is set. In the case of a packet whose protocol stack pattern is pattern B, the position and value of the upper header of the headers H1 to H3, H5, and H6 among the six stages of headers H1 to H3, H5, H6, and H4, and the header strip location b 1 Up to b 2 bytes, the
そして、パターンA〜Cを判別するための判別木を作成する場合には、図4の(b)に示すように、既知である各パターンの下位ヘッダから分岐を作成し、マッチするパターンを絞り込んでいく。例えば、図4の(a)に示すように、各パターンA〜Cの下位ヘッダはH1である。このため、判別対象のパターンがパターンA〜Cに含まれるか否かを判別するために、最上位のノードN1(図4の(b)参照)は「ヘッダH1の上位ヘッダは?」と設定される。そして、パターンA〜Cのいずれについても、ヘッダH1の上位ヘッダはヘッダH2である。このため、ヘッダH1の上位ヘッダがヘッダH2である場合、判別対象のパターンは、パターンA〜Cにマッチする(エッジE1)。 Then, when creating a discriminant tree for discriminating the patterns A to C, as shown in FIG. 4B, a branch is created from the lower header of each known pattern, and the matching patterns are narrowed down. Go out. For example, as shown in FIG. 4A, the lower header of each pattern A to C is H1. Therefore, in order to determine whether or not the pattern to be determined is included in the patterns A to C, the highest node N1 (see (b) of FIG. 4) is set as “what is the upper header of the header H1?”. To be done. Then, in any of the patterns A to C, the upper header of the header H1 is the header H2. Therefore, when the upper header of the header H1 is the header H2, the pattern to be determined matches the patterns A to C (edge E1).
続いて、判別対象のパターンがパターンA〜Cのいずれにマッチするかを判別するために、次のノードN2は「ヘッダH2の上位ヘッダは?」と設定される。ヘッダH2の上位ヘッダがヘッダH7である場合には、パターンCとマッチし(エッジE3)、判別対象のパケットのプロトコルスタックパターンは、パターンCであると判別される(ノードN3)。 Then, in order to determine which of the patterns A to C the pattern to be determined matches, the next node N2 is set to "is the upper header of the header H2?". When the upper header of the header H2 is the header H7, it matches the pattern C (edge E3), and the protocol stack pattern of the packet to be determined is determined to be the pattern C (node N3).
一方、ヘッダH2の上位ヘッダがヘッダH3である場合には、パターンA,Bとマッチする(エッジE2)。次のノードN4は、判別対象のパターンがパターンA,Bのいずれであるかを判別するために、「ヘッダH3の上位ヘッダは?」に設定される。この際、ヘッダH3の上位ヘッダがヘッダH4である場合には、パターンAとマッチし(エッジE4)、判別対象のパケットのプロトコルスタックパターンは、パターンAであると判別される(ノードN5)。これに対し、ヘッダH3の上位ヘッダがヘッダH5である場合には、パターンBとマッチし(エッジE5)、判別対象のパケットのプロトコルスタックパターンは、パターンBであると判別される(ノードN6)。 On the other hand, when the upper header of the header H2 is the header H3, it matches the patterns A and B (edge E2). The next node N4 is set to “What is the upper header of the header H3?” in order to determine which of the patterns A and B the determination target pattern is. At this time, when the upper header of the header H3 is the header H4, it matches the pattern A (edge E4), and the protocol stack pattern of the packet to be determined is determined to be the pattern A (node N5). On the other hand, when the upper header of the header H3 is the header H5, it matches the pattern B (edge E5), and the protocol stack pattern of the packet to be determined is determined to be the pattern B (node N6). ..
このように、パターンA〜Cについて一意に特定可能な判別木T1を作成した段階で、判別木の作成は終了となる。このような判別木は、各種のプロトコルスタックパターンに対応できるよう複数作成される。 As described above, when the discriminant tree T1 that can be uniquely specified for the patterns A to C is generated, the discriminant tree is completed. A plurality of such discriminant trees are created so as to correspond to various protocol stack patterns.
[プロトコルスタック判別部の処理]
次に、プロトコルスタック判別部12の処理について説明する。図5は、図2に示すプロトコルスタック判別部12の処理を説明する図である。
[Process of Protocol Stack Discrimination Unit]
Next, the processing of the protocol stack discrimination unit 12 will be described. FIG. 5 is a diagram for explaining the processing of the protocol stack discriminating unit 12 shown in FIG.
図5に示すように、プロトコルスタック判別部12は、例えば判別木T1を事前設定される(図5の(1)参照)。プロトコルスタック判別部12は、この判別木T1を用いて、パケットのプロトコルスタックパターンを判別する(図5の(2)参照)。具体的には、プロトコルスタック判別部12は、判別木T1を基に、入力されたパケットの下位ヘッダからヘッダを上位に向かって各ヘッダを順次特定していき、プロトコルスタックパターンを判別する。 As shown in FIG. 5, for example, the discrimination tree T1 is preset in the protocol stack discrimination unit 12 (see (1) in FIG. 5). The protocol stack discriminating unit 12 discriminates the protocol stack pattern of the packet using the discrimination tree T1 (see (2) in FIG. 5). Specifically, the protocol stack discriminating unit 12 discriminates the protocol stack pattern by sequentially identifying each header from the lower header of the input packet to the upper header based on the discrimination tree T1.
例えば、プロトコルスタック判別部12は、パケットCaが入力された場合、判別木T1を用いて、パケットCaが、ヘッダH1〜H4を有するパターンAのプロトコルスタックパターンであることを判別する。パターンAのパケットのヘッダストリップ箇所はa1〜a2byteであり、変換後Ethertypeに指定するプロトコル番号としてmが設定されている。このため、プロトコルスタック判別部12は、パケットCaとともに、このパケットCaのパターン「A」、ヘッダストリップ箇所「a1〜a2byte」、変換後Ethertypeに指定するプロトコル番号「m」を出力する。 For example, when the packet Ca is input, the protocol stack determination unit 12 uses the determination tree T1 to determine that the packet Ca is the protocol stack pattern of the pattern A including the headers H1 to H4. The header strip location of the packet of pattern A is a 1 to a 2 bytes, and m is set as the protocol number specified in the Ethertype after conversion. Therefore, the protocol stack determination unit 12 outputs the packet Ca, the pattern “A” of the packet Ca, the header strip location “a 1 to a 2 byte”, and the protocol number “m” specified in the converted Ethertype.
[パケットフォーマット変換部の処理]
次に、パケットフォーマット変換部13の処理について説明する。図6は、図2に示すパケットフォーマット変換部13の処理を説明する図である。
[Processing of packet format conversion unit]
Next, the processing of the packet
図6に示すように、パケットフォーマット変換部13に、プロトコルスタック判別部12の判別結果として、パケットCa、このパケットCaのパターン「A」、ヘッダストリップ箇所「a1〜a2byte」、変換後Ethertypeに指定するプロトコル番号「m」が入力された場合を例に説明する。パケットフォーマット変換部13は、この判別結果を受けて、ポインタを設定する(図6の枠W1の(1)参照)。
As shown in FIG. 6, in the packet
例えば、ポインタとして、先頭ポインタ、ヘッダストリップ開始ポインタ、ヘッダストリップ終了ポインタがある。このため、パケットフォーマット変換部13は、パケットCaに対し、下位ヘッダH1の先頭に先頭ポインタを設定する。そして、パケットフォーマット変換部13は、パケットCaに対し、ヘッダH2の先頭にヘッダストリップ開始ポインタa1を設定し、ヘッダH4の先頭にヘッダストリップ終了ポインタa2を設定する。
For example, the pointer includes a head pointer, a header strip start pointer, and a header strip end pointer. Therefore, the packet
次に、パケットフォーマット変換部13は、先頭ポインタからヘッダストリップ開始ポインタa1までの部分を上位側にずらし、ヘッダストリップ開始ポインタa1がヘッダストリップ終了ポインタa2に重なるようにヘッダH1を上書きする(図6の(2)参照)。
Next, the packet
そして、パケットフォーマット変換部13は、先頭ポインタを、上書きしたヘッダH1の先頭に移動する(図6の(3)参照)。続いて、パケットフォーマット変換部13は、Ethertype情報を書き換え(図6の(4)参照)、先頭ポインタ以降のヘッダH1,H4を有するパケットを、フォーマット変換後のパケットCa´として出力する(図6の(5)参照)。
Then, the packet
このように、パケットフォーマット変換部13は、先頭から、ヘッダストリップ対象外の箇所をヘッダストリップ箇所に上書きをし、先頭ポインタをずらす。そして、パケットフォーマット変換部13は、上位ヘッダを特定する情報を書き換え、先頭ポインタ以降を出力することで、フォーマットの変換を行う。
In this way, the packet
[フォーマット変換装置による処理の手順]
次に、フォーマット変換装置10による処理の手順について説明する。図7は、図2に示すフォーマット変換装置10によるフォーマット変換処理の手順を示すフローチャートである。
[Processing procedure by format converter]
Next, a procedure of processing by the
図7に示すように、パケット入力部11が、パケットの入力を受け付けると(ステップS11)、プロトコルスタック判別部12は、予め作成された判別木にしたがって、入力されたパケットのプロトコルスタックパターンを判別するプロトコルスタック判別処理を行う(ステップS12)。
As shown in FIG. 7, when the
続いて、パケットフォーマット変換部13は、プロトコルスタック判別部12によって判別されたプロトコルスタックパターンを基に、パケットのフォーマットを、解析装置20の解析対象以外のプロトコルヘッダを除外したフォーマットに変換するパケットフォーマット変換処理を行う(ステップS13)。そして、パケット出力部14は、パケットフォーマット変換部14がフォーマットを変換したパケットを解析装置20に出力して(ステップS14)、処理を終了する。
Subsequently, the packet
[実施の形態1の効果]
このように、実施の形態1では、予め作成された判別木にしたがって、入力されたパケットのプロトコルスタックパターンを判別し、パケットのフォーマットを、解析装置20の解析対象以外のプロトコルヘッダを除外したフォーマットに変換する。すなわち、このフォーマット変換装置10によれば、トンネリングを行うためにEtherヘッダ以降に付加された任意のプロトコルヘッダがスタックされたパケットに対しパケットストリッピングが可能となる。このため、このフォーマット変換装置10を解析装置20の前段に設けることによって、トンネルプロトコルをサポートしていない解析装置20を活用することができる。
[Effects of First Embodiment]
As described above, in the first embodiment, the protocol stack pattern of the input packet is discriminated according to the discrimination tree created in advance, and the format of the packet is the format excluding the protocol headers other than the analysis target of the
図8は、図2に示すフォーマット変換装置10によるフォーマット変換後のパケットを具体的に説明する図である。例えば、フォーマット変換装置10に、パケットC1,C2が入力された場合について説明する。
FIG. 8 is a diagram for specifically explaining the packet after the format conversion by the
この場合、フォーマット変換装置10は、予め作成された判別木にしたがって、パケットC1が、Etherヘッダ以降に、カプセルヘッダ(IPv4)、カプセルヘッダ(UDP)、カプセルヘッダ(L2TP)、カプセルヘッダ(PPP)、インナーパケット(IPv4)Paがスタックされたプロトコルスタックパターンを有することを判別する。このため、フォーマット変換装置10は、パケットC1のフォーマットを、解析装置20の解析対象のインナーパケット(IPv4)Pa以外のプロトコルヘッダを除外したフォーマットに変換する。すなわち、フォーマット変換装置10は、パケットC1を、Etherヘッダの次にインナーパケット(IPv4)Paが配置するパケットC1´に変換する。この結果、解析装置20では、このパケットC1´についての解析が可能になる。
In this case, the
また、フォーマット変換装置10は、予め作成された判別木にしたがって、パケットC2が、Etherヘッダ以降に、カプセルヘッダ(MPLS)、カプセルヘッダ(IPv6)、インナーパケット(IPV4)Pbがスタックされたプロトコルスタックパターンを有することを判別する。このため、フォーマット変換装置10は、パケットC2のフォーマットを、解析装置20の解析対象のインナーパケット(IPV4)Pb以外のプロトコルヘッダを除外したフォーマットに変換する。すなわち、フォーマット変換装置10は、パケットC2を、Etherヘッダの次にインナーパケット(IPV4)Pbが配置するパケットC2´に変換する。この結果、解析装置20では、このパケットC2´についての解析が可能になる。
In addition, the
このように、本実施の形態1に係るフォーマット変換装置10によれば、フォーマットによらず、入力されたトンネルパケットを、解析装置20が解析可能であるフォーマットに変換することができる。
As described above, according to the
[実施の形態2]
次に、実施の形態2について説明する。図9は、実施の形態2に係るフォーマット変換装置の構成の一例を示す図である。図9に示すように、フォーマット変換装置210は、図2に示すフォーマット変換装置10と比して、プロトコルスタック判別部12に代えて、プロトコルスタック判別部212を有する。
[Second Embodiment]
Next, a second embodiment will be described. FIG. 9 is a diagram showing an example of the configuration of the format conversion device according to the second embodiment. As shown in FIG. 9, the
プロトコルスタック判別部212は、プロトコルスタックパターンが既知のパケットの内部の特定bit列を基に作成されたプロトコルスタックパターンを判別する判別論理式を用いて、入力されたパケットのプロトコルスタックパターンを判別する。そして、プロトコルスタック判別部212は、判別論理式を用いて、入力されたパケットから除外するプロトコルヘッダ箇所も判別する。判別論理式は、例えば、他の装置で予め作成され、このプロトコルスタック判別部212に事前設定される。なお、プロトコルスタック判別部212は、各種のプロトコルスタックパターンのパケットを判別できるように、複数の判別論理式が事前設定される。
The protocol
[フォーマット変換装置の処理の流れ]
次に、フォーマット変換装置210の処理の流れについて説明する。図10は、図9に示すフォーマット変換装置210の処理の流れを説明する図である。
[Processing flow of format conversion device]
Next, a processing flow of the
図10に示すように、プロトコルスタック判別部212には、事前に、予め作成された判別論理式230が設定される。そして、パケット入力部11がパケットの入力を受付けると、プロトコルスタック判別部212は、判別論理式230を用いて、到着したパケットのプロトコルスタックパターンを判別する(図10の(1)参照)。プロトコルスタック判別部212は、判別結果として、到着したパケット自身に加え、このパケットのヘッダストリップ箇所、変換後Ethertypeに指定するプロトコル番号を出力する。
As shown in FIG. 10, the
そして、パケットフォーマット変換部13は、プロトコルスタック判別部212の判別結果を基に、フォーマット変換を実行する(図10の(2)参照)。そして、パケットフォーマット変換部13によるフォーマット変換後のパケットは、パケット出力部14から、解析装置20(不図示)に出力される。
Then, the packet
[判別論理式の構成]
次に、図11を参照して、プロトコルスタック判別部212に設定される判別論理式の構成について説明する。図11は、判別論理式の構成を説明する図である。図11の(a)は、判別論理式の作成に使用するプロトコルスタックパターンが既知であるパケットの一例を示す図である。図11の(a)に示すパターンA〜Cは、図4の(a)に示すパターンA〜Cと同様である。図11の(b)は、真理値表を例示する図である。図11の(c)は、図11の(b)に示す真理値表を基に作成された判別論理式を示す図である。
[Composition of discriminant logic]
Next, with reference to FIG. 11, the configuration of the discriminant logic equation set in the
判別論理式を作成する場合、まず、各パターンの上位ヘッダを特定する情報の位置及び値を基に真理値表を作成する。パターンA〜Cについては、上位ヘッダを特定する情報のbyte位置及び値を参照する。具体的には、図11の(b)のグラフG1に示すように、パターンAについては、ヘッダH1,H2,H3の上位ヘッダを特定する各情報は[(a,1010),(b,1111),(d,0101)](なお、各情報の配置は[(byte位置,値)]である)である。この結果から、inputが(a,b,c,d,e,f)=(1010,1111,*,0101,*/{1111},*/{1011})である場合には、outputが、パターンAに対応する(x,y,z)=(0,0,0)となる組み合わせが、真理値表L1の1行目に設定される。 When creating a discriminant formula, first, a truth table is created based on the position and value of information that specifies the upper header of each pattern. For patterns A to C, reference is made to the byte position and value of the information that specifies the upper header. Specifically, as shown in the graph G1 of (b) of FIG. 11, for the pattern A, the respective information for specifying the upper headers of the headers H1, H2, H3 is [(a,1010), (b,1111). ), (d, 0101)] (where the arrangement of each information is [(byte position, value)]). From this result, if input is (a,b,c,d,e,f)=(1010,1111,*,0101,*/{1111},*/{1011}), output is The combination of (x,y,z)=(0,0,0) corresponding to the pattern A is set in the first row of the truth table L1.
また、パターンBについては、ヘッダH1,H2,H3,H5,H6の上位ヘッダを特定する各情報が[(a,1010),(b,1111),(d,0101),(e,1111),(f,1011)]である。このため、inputが(a,b,c,d,e,f)=(1010,1111,*,0101,1111,1011})である場合には、outputが、パターンBに対応する(x,y,z)=(0,0,1)となる組み合わせが、真理値表L1の2行目に設定される。そして、パターンCについては、ヘッダH1,H2,H7の上位ヘッダを特定する各情報が[(a,1010),(b,1101),(c,1110)]である。このため、inputが(a,b,c,d,e,f)=(1010,1101,1110,*,*,*)である場合には、outputが、パターンCに対応する(x,y,z)=(0,1,1)となる組み合わせが、真理値表L1の3行目に設定される。 Further, regarding the pattern B, each information for specifying the upper header of the headers H1, H2, H3, H5, H6 is [(a,1010), (b,1111), (d,0101), (e,1111). , (F,1011)]. Therefore, when input is (a,b,c,d,e,f)=(1010,1111,*,0101,1111,1011}), output corresponds to pattern B (x, The combination of y,z)=(0,0,1) is set in the second row of the truth table L1. Then, regarding the pattern C, each information for specifying the upper header of the headers H1, H2, H7 is [(a, 1010), (b, 1101), (c, 1110)]. Therefore, when input is (a,b,c,d,e,f)=(1010,1101,1110,*,*,*), output corresponds to pattern C (x,y ,z)=(0,1,1) is set in the third row of the truth table L1.
そして、この真理値表L1を基に、Quine-McCluskey法等を使用して、プロトコルスタックパターン判別用の判別論理式230−1(図11の(c)参照)が作成される。この判別論理式230−1は、output(0,0,0),(0,0,1),(0,1,1)のそれぞれに、対応するパターンの種別、ヘッダストリップ箇所、変換後Ethertypeに指定するプロトコル番号が対応付けられている。 Then, based on the truth table L1, the discriminant logic formula 230-1 (see (c) in FIG. 11) for discriminating the protocol stack pattern is created by using the Quine-McCluskey method or the like. This discriminant logic formula 230-1 is such that the output (0,0,0), (0,0,1) and (0,1,1) respectively correspond to the type of the pattern, the header strip location, and the converted Ethertype. Is associated with the protocol number specified in.
[プロトコルスタック判別部の処理]
次に、プロトコルスタック判別部212の処理について説明する。図12は、図9に示すプロトコルスタック判別部212の処理を説明する図である。
[Process of Protocol Stack Discrimination Unit]
Next, the processing of the protocol
図12に示すように、プロトコルスタック判別部212は、例えば判別論理式230−1を事前設定される(図12の(1)参照)。プロトコルスタック判別部212は、この判別論理式230−1を用いて、パケットのプロトコルスタックパターンを判別する(図12の(2)参照)。具体的には、プロトコルスタック判別部212は、判別論理式230−1に、判別のために必要なbit列をパケットから抽出する。すなわち、プロトコルスタック判別部212は、判別対象のパケットから、(a,b,c,d,e,f)に対応するbit列を抽出し、抽出した(a,b,c,d,e,f)を判別論理式230−1に入力する。そして、プロトコルスタック判別部212は、判別論理式230−1のoutputに対応するパケットのパターンの種別、ヘッダストリップ箇所、変換後Ethertypeに指定するプロトコル番号を、パケットとともに出力する。
As shown in FIG. 12, the protocol
例えば、パケットCaが入力された場合を例に説明する。プロトコルスタック判別部212は、パケットCaから、(a,b,c,d,e,f)に対応するbit列を抽出し、判別論理式230−1を入力する。この結果、判別論理式230−1のoutputとして(0,0,0)が得られた場合には、プロトコルスタック判別部212は、パケットCaとともに、このパケットCaのパターン「A」、ヘッダストリップ箇所「a1〜a2byte」、変換後Ethertypeに指定するプロトコル番号「m」を出力する。
For example, a case where the packet Ca is input will be described as an example. The protocol
[フォーマット変換装置による処理の手順]
次に、フォーマット変換装置210による処理の手順について説明する。図13は、図9に示すフォーマット変換装置210によるフォーマット変換処理の手順を示すフローチャートである。
[Processing procedure by format converter]
Next, a procedure of processing by the
図13に示すように、パケット入力部11が、パケットの入力を受け付けると(ステップS21)、プロトコルスタック判別部212は、予め作成された判別論理式を用いて、入力されたパケットのプロトコルスタックパターンを判別するプロトコルスタック判別処理を行う(ステップS22)。図13に示すステップS23,S24は、図7に示すステップS13,S14と同様の処理を行う。
As shown in FIG. 13, when the
[実施の形態2の効果]
このように、実施の形態2では、予め作成された判別論理式を用いて、入力されたパケットのプロトコルスタックパターンを判別し、パケットのフォーマットを、解析装置20の解析対象以外のプロトコルヘッダを除外したフォーマットに変換するため、実施の形態1と同様の効果を奏する。
[Effects of Second Embodiment]
As described above, in the second embodiment, the protocol stack pattern of the input packet is discriminated using the discriminant logic formula created in advance, and the packet format excludes the protocol headers other than the analysis target of the
[実施の形態3]
次に、実施の形態3について説明する。図14は、実施の形態3に係るフォーマット変換装置の構成の一例を示す図である。図14に示すように、フォーマット変換装置310は、図2に示すフォーマット変換装置10と比して、プロトコルスタック判別部12に代えて、プロトコルスタック判別部312を有する。
[Third Embodiment]
Next, a third embodiment will be described. FIG. 14 is a diagram showing an example of the configuration of the format conversion device according to the third embodiment. As shown in FIG. 14, the
プロトコルスタック判別部312は、標準化された各プロトコルのヘッダ情報を示すプロトコルconfigファイルを用いて、入力されたパケットのプロトコルスタックパターンを判別する。そして、プロトコルスタック判別部312は、プロトコルconfigファイルを用いて、入力されたパケットから除外するプロトコルヘッダ箇所も判別する。
The protocol
[プロトコルconfigファイルの一例]
プロトコルconfigファイルは、一般的に使用される各プロトコルヘッダ情報が記載されたファイルである。プロトコルconfigファイルは、例えば、プロトコルヘッダ情報として、標準化されたプロトコルのヘッダのヘッダ長、上位プロトコルのヘッダを示すフィールド位置等が記載される。
[Example of protocol config file]
The protocol config file is a file in which information on each protocol header generally used is described. In the protocol config file, for example, the header length of the header of the standardized protocol, the field position indicating the header of the higher-layer protocol, and the like are described as the protocol header information.
図15は、プロトコルconfigファイルの一例を示す図である。図15に示す表L31は、Etherヘッダのプロトコルconfigファイルである。表L31に示すように、要素名及び概要が項目として示されている。例えば、1行目には、要素名「eth_continue」の概要が「上位探索を続けるEtherytpeを指定(ネットワークバイトオーダー)」であることが登録される。2行目には、要素名「eth_destruct」の概要が「破棄するEthertypeを指定(ネットワークバイトオーダー)」であることが登録される。 FIG. 15 is a diagram showing an example of the protocol config file. Table L31 shown in FIG. 15 is a protocol config file of the Ether header. As shown in Table L31, element names and outlines are shown as items. For example, in the first line, it is registered that the outline of the element name “eth_continue” is “specify Etheretpe for continuing upper search (network byte order)”. In the second line, it is registered that the outline of the element name "eth_destruct" is "designate Ethertype to be discarded (network byte order)".
図16は、プロトコルconfigファイルの一例を示す図である。図16に示す表L32は、プロトコルヘッダのプロトコルconfigファイルである。表L32に示すように、要素名及び概要が項目として示されている。例えば、1行目には、要素名「1_proto_index」の概要が「設定するプロトコル情報群を表すid」であることが登録される。2行目には、要素名「2_proto_num」の概要が「プロトコルの通番」であることが登録される。また、3行目には要素名「3_proto_next」の概要が「上位プロトコルを示すフィールドの位置情報」であることが登録される。4行目には、要素名「4_proto_next_len」の概要が「上位プロトコルを示すフィールドの長さ」であることが登録される。 FIG. 16 is a diagram showing an example of the protocol config file. Table L32 shown in FIG. 16 is a protocol config file of a protocol header. As shown in Table L32, element names and outlines are shown as items. For example, in the first line, it is registered that the outline of the element name “1_proto_index” is “id representing the set protocol information group”. In the second line, it is registered that the outline of the element name "2_proto_num" is "protocol serial number". Further, in the third line, it is registered that the outline of the element name “3_proto_next” is “positional information of field indicating upper protocol”. In the 4th line, it is registered that the outline of the element name "4_proto_next_len" is "the length of the field indicating the higher level protocol".
このように、プロトコルconfigファイルは、標準化された各プロトコルのヘッダ情報として、プロトコル名、プロトコルのヘッダのヘッダ長、ヘッダ長が固定または可変であるか、上位プロトコルを示すフィールド位置、上位ヘッダがストリップ対象か否か、変換後Ethertypeに指定するプロトコル番号等の各項目が記載される。 As described above, the protocol config file includes, as header information of each standardized protocol, a protocol name, a header length of the protocol header, a fixed or variable header length, a field position indicating a higher protocol, and a higher header strip. Each item such as whether or not it is a target and the protocol number specified in the Ethertype after conversion is described.
[フォーマット変換装置の処理の流れ]
次に、フォーマット変換装置310の処理の流れについて説明する。図17は、図14に示すフォーマット変換装置310の処理の流れを説明する図である。
[Processing flow of format conversion device]
Next, a processing flow of the
図17に示すように、プロトコルスタック判別部312には、事前に、予め作成されたプロトコルconfigファイル330が設定される。そして、パケット入力部11がパケットの入力を受付けると、プロトコルスタック判別部312は、プロトコルconfigファイル330を用いて、到着したパケットのプロトコルスタックパターンを判別する(図17の(1)参照)。プロトコルスタック判別部312は、判別結果として、到着したパケット自身に加え、このパケットのプロトコルスタックパターン、ヘッダストリップ箇所、変換後Ethertypeに指定するプロトコル番号を出力する。
As shown in FIG. 17, a
そして、パケットフォーマット変換部13は、プロトコルスタック判別部312の判別結果を基に、フォーマット変換を実行する(図17の(2)参照)。そして、パケットフォーマット変換部13によるフォーマット変換後のパケットは、パケット出力部14から、解析装置20(不図示)に出力される。
Then, the packet
[プロトコルスタック判別部の処理]
次に、プロトコルスタック判別部312の処理について説明する。図18は、図14に示すプロトコルスタック判別部312の処理を説明する図である。
[Process of Protocol Stack Discrimination Unit]
Next, the processing of the protocol
図18に示すように、プロトコルスタック判別部312は、プロトコルconfigファイル330を事前設定される(図18の(1)参照)。プロトコルスタック判別部312は、このプロトコルconfigファイル330を参照し、判別対象のパケットの下位からヘッダを順次特定して、このパケットのプロトコルスタックパターン、ストリップ領域、変換後Ethertypeに指定するプロトコル番号を特定する(図18の(2)参照)。具体的には、プロトコルスタック判別部312は、プロトコルconfigファイル330を参照し、下位のヘッダから順に、各ヘッダの各要素の概要を判別することで、パケットのプロトコルスタックパターンを判別する。そして、プロトコルスタック判別部312は、プロトコルconfigファイル330を参照し、各ヘッダのうちストリップ対象のヘッダを特定する。これによって、プロトコルスタック判別部312は、ヘッダストリップ箇所、変換後Ethertypeに指定するプロトコル番号を特定する。
As shown in FIG. 18, the protocol
例えば、プロトコルスタック判別部312は、パケットCaが入力された場合、プロトコルconfigファイル330を参照して、パケットCaが、ヘッダが、下位から、H1,H2,H3,H4であることを特定する。そして、プロトコルスタック判別部312は、プロトコルconfigファイル330を参照して、パケットCaにおけるストリップ対象のヘッダH2,H3を特定する。そして、プロトコルスタック判別部312は、プロトコルconfigファイル330を参照して、パケットCaの、ヘッダストリップ箇所「a1〜a2byte」、変換後Ethertypeに指定するプロトコル番号「m」を判別後、出力する。
For example, when the packet Ca is input, the protocol
[フォーマット変換装置による処理の手順]
次にフォーマット変換装置310による処理の手順について説明する。図19は、図14に示すフォーマット変換装置310によるフォーマット変換処理の手順を示すフローチャートである。
[Processing procedure by format converter]
Next, a procedure of processing by the
図19に示すように、パケット入力部11が、パケットの入力を受け付けると(ステップS31)、プロトコルスタック判別部312は、プロトコルconfigファイル330を参照して、入力されたパケットのプロトコルスタックパターンを判別するプロトコルスタック判別処理を行う(ステップS32)。図19に示すステップS33,S34は、図7に示すステップS13,S14と同様の処理を行う。
As shown in FIG. 19, when the
[実施の形態3の効果]
このように、実施の形態3では、予め作成されたプロトコルconfigファイル330を用いて、入力されたパケットのプロトコルスタックパターンを判別し、パケットのフォーマットを、解析装置20の解析対象以外のプロトコルヘッダを除外したフォーマットに変換するため、実施の形態1と同様の効果を奏する。
[Effects of Third Embodiment]
As described above, in the third embodiment, the protocol config file 330 created in advance is used to determine the protocol stack pattern of the input packet, and the packet format is set to the protocol header other than the analysis target of the
[実施の形態4]
次に、実施の形態4について説明する。実施の形態1〜3に係るフォーマット変換装置10,210,310は、他の装置等において予め作成された判別ルールを用いるのに対し、実施の形態4に係るフォーマット変換装置は、自装置において判別ルールを作成する。
[Embodiment 4]
Next, a fourth embodiment will be described. While the
具体的には、実施の形態4に係るフォーマット変換装置は、一定期間、入力されたパケットに対しプロトコルconfigファイルを用いて学習することによって、判別ルールを作成する。そして、実施の形態4に係るフォーマット変換装置は、学習処理において作成された判別ルールにしたがって、プロトコルスタックパターンを判別してパケットのフォーマットを変換する。 Specifically, the format conversion device according to the fourth embodiment creates a discrimination rule by learning an input packet for a certain period using a protocol config file. Then, the format conversion device according to the fourth embodiment converts the packet format by determining the protocol stack pattern according to the determination rule created in the learning process.
[フォーマット変換装置の構成]
まず、実施の形態4に係るフォーマット変換装置の構成について説明する。図20は、実施の形態4に係るフォーマット変換装置の構成の一例を示す図である。図20に示すように、フォーマット変換装置410は、パケット入力部11、ミラー部412、パケットキャプチャ部413、学習部414、フォーマット変換部415及びパケット出力部14を有する。
[Configuration of format conversion device]
First, the configuration of the format conversion device according to the fourth embodiment will be described. FIG. 20 is a diagram showing an example of the configuration of the format conversion device according to the fourth embodiment. As shown in FIG. 20, the
ミラー部412は、パケット入力部11が受け付けたパケットを、パケットキャプチャ部413、または、パケットキャプチャ部413及びフォーマット変換部415、に出力する。ミラー部412は、学習部414による学習処理時には、パケットをパケットキャプチャ部413に出力する。一方、ミラー部412は、フォーマット変換部415によるフォーマット変換処理時には、パケットをパケットキャプチャ部413及びフォーマット変換部415の双方に出力する。
The
パケットキャプチャ部413は、入力されたパケットをバッファリングし、バッファリングしたパケットを、所定タイミングにしたがって、順次、学習部414に出力する。
The
学習部414は、入力されたパケットに対しプロトコルconfigファイルを用いて学習することによって判別ルールを作成し、作成した判定ルールをフォーマット変換部415に出力する。学習部414は、判別ルールとして、パケット内の特定bit列を基にプロトコルスタックパターンを判別する判別木を作成する。学習部414は、プロトコルスタック解析部4141、パターン分布格納部4142、判別木作成部4143及びパターン分布DB4144を有する。なお、学習部414は、各種のプロトコルスタックパターンのパケットを判別できるように、複数の判別木を作成する。
The learning unit 414 creates a determination rule by learning the input packet using the protocol config file, and outputs the created determination rule to the format conversion unit 415. The learning unit 414 creates a discrimination tree for discriminating a protocol stack pattern based on a specific bit string in a packet as a discrimination rule. The learning unit 414 includes a protocol
プロトコルスタック解析部4141は、プロトコルconfigファイルを用いて、入力された各パケットを下位ヘッダから順次解析して、それぞれのプロトコルスタックパターンを特定する。
The protocol
パターン分布格納部4142は、入力されたパケットのプロトコルスタックパターンの分布を作成し、判別木作成部4143に出力するとともに、パターン分布DB4144に格納する。
The pattern
判別木作成部4143は、入力されたパケットのプロトコルスタックパターン及びプロトコルスタックパターンの分布を基に、プロトコルスタックパターンを判別する判別木を作成する。判別木作成部4143は、パケット内の特定bit列を基にプロトコルスタックパターンを判別する判別木を作成する。
The
パターン分布DB4144は、学習部414が学習したパケットのプロトコルスタックパターン及びプロトコルスタックパターンの分布を記憶する。パターン分布DB4144が記憶するプロトコルスタックパターン及びプロトコルスタックパターンの分布は、パターン分布格納部4142によって更新される。
The
フォーマット変換部415は、学習部414が作成した判別木を用いて、パケットのプロトコルパターンを判別し、フォーマット変換を行う。フォーマット変換部415は、プロトコルスタック判別部4151及びパケットフォーマット変換部13を有する。
The format conversion unit 415 uses the discriminant tree created by the learning unit 414 to determine the protocol pattern of the packet and perform format conversion. The format conversion unit 415 has a protocol
プロトコルスタック判別部4151は、学習部414が作成した判別木を用いて、入力されたパケットのプロトコルスタックパターンを判別する。そして、プロトコルスタック判別部4151は、この判別木を用いて、入力されたパケットから除外するプロトコルヘッダ箇所も判別する。
The protocol
[学習部の処理の流れ]
次に、学習部414の処理の流れについて説明する。図21は、図20に示す学習部414の処理の流れ(学習時)を説明する図である。学習部414では、まず、プロトコルスタック解析部4141に、標準化された各プロトコルのヘッダ情報を示すプロトコルconfigファイルが事前に設定される。このプロトコルconfigファイルは、図15,16に例示したデータ構成を有し、事前に作成されたものである。
[Processing flow of learning unit]
Next, the flow of processing of the learning unit 414 will be described. FIG. 21 is a diagram for explaining the processing flow (during learning) of the learning unit 414 shown in FIG. In the learning unit 414, first, in the protocol
そして、図21に示すように、学習部414のプロトコルスタック解析部4141には、パケットキャプチャ部413によってキャプチャされたキャプチャパケットが入力される。プロトコルスタック解析部4141は、プロトコルconfigファイルを参照し、キャプチャパケットの下位ヘッダから順次解析し、入力された各パケットのプロトコルスタックパターンを特定する(図21の(1)参照)。ここで、プロトコルスタック解析部4141は、各パケットのプロトコルスタックパターンに加え、プロトコルスタックパターンの分布を出力する。パターン分布格納部4142は、入力されたパケットのプロトコルスタックパターンの分布を作成し、パターン分布DB4144に格納することでDB化を行う(図21の(2)参照)。
Then, as shown in FIG. 21, the capture packet captured by the
続いて、判別木作成部4143は、入力されたパケットのプロトコルスタックパターン及び分布情報から、入力されたパケットを判別するために最適な判別木を作成する(図21の(3)参照)。そして、判別木作成部4143は、作成した判別木をプロトコルスタック判別部4151に出力する。この学習部414における学習処理は、フォーマット変換部415におけるフォーマット変換処理前に一定期間実行された後は、例えば、定期的に実行される。なお、学習処理では、ミラー部412からフォーマット変換部451にパケットが入力されないため、フォーマット変換部451によるフォーマット変換処理は実行されない。
Subsequently, the discrimination
[フォーマット変換部の処理の流れ]
次に、フォーマット変換部415の処理の流れについて説明する。図22は、図20に示すフォーマット変換部415の処理の流れ(変換時)を説明する図である。
[Processing flow of format converter]
Next, the processing flow of the format conversion unit 415 will be described. FIG. 22 is a diagram for explaining the processing flow (at the time of conversion) of the format conversion unit 415 shown in FIG.
プロトコルスタック判別部4151には、学習部414が作成した判別木が設定される。そして、図22に示すように、ミラー部412からパケットが入力されると、プロトコルスタック判別部4151は、入力されたパケットのプロトコルスタックパターンを、学習部414が作成した判別木を用いて判別する(図22の(1)参照)。この際、プロトコルスタック判別部4151は、判別結果として、到着したパケット自身に加え、このパケットのプロトコルスタックパターン、ヘッダストリップ箇所、変換後Ethertypeに指定するプロトコル番号を出力する。
The discriminant tree created by the learning unit 414 is set in the protocol
そして、パケットフォーマット変換部13は、プロトコルスタック判別部4151の判別結果を基に、フォーマット変換を実行する(図22の(2)参照)。そして、パケットフォーマット変換部13によるフォーマット変換後のパケットは、パケット出力部14から、解析装置20(不図示)に出力される。なお、フォーマット変換処理中も、学習部414は、キャプチャパケットを受け取り、プロトコルスタック解析及びパターン分布の格納を行い、データを蓄積している。
Then, the packet
[プロトコルスタック解析部の処理]
次に、プロトコルスタック解析部4141の処理について説明する。図23は、図20に示すプロトコルスタック解析部4141の処理を説明する図である。
[Processing of protocol stack analysis unit]
Next, the processing of the protocol
まず、図23に示すように、プロトコルスタック解析部4141には、事前に、予め作成されたプロトコルconfigファイル330が設定される(図23の(1)参照)。プロトコルconfigファイル330は、標準化された各プロトコルのヘッダ情報として、プロトコル名、プロトコルのヘッダのヘッダ長、ヘッダ長が固定または可変であるか、上位プロトコルを示すフィールド位置、上位ヘッダがストリップ対象か否か、変換後Ethertypeに指定するプロトコル番号等が記載される。
First, as shown in FIG. 23, a
そして、プロトコルスタック解析部4141は、入力されたキャプチャパケットの下位ヘッダから捜査を開始し、プロトコルconfigファイル330を用いてプロトコルスタックパターンを特定する。プロトコルスタック解析部4141は、プロトコルスタックパターン情報、パケットのヘッダストリップ箇所、変換後Ethertypeに指定するプロトコル番号、及び、各パターンの出現頻度を解析して、送出する(図23の(2)参照)。
Then, the protocol
具体的には、枠W41のパターン図G41に示すように、例えば、4つのパケットがキャプチャパケットとして入力された場合について説明する。この場合、プロトコルスタック解析部4141は、プロトコルconfigファイル330を用いて、入力された各キャプチャパケットの下位ヘッダから捜査を開始する。
Specifically, as shown in the pattern diagram G41 of the frame W41, a case where, for example, four packets are input as capture packets will be described. In this case, the protocol
この結果、プロトコルスタック解析部4141は、1段目のパケットのプロトコルスタックパターンが「A」であることを判別する。そして、プロトコルスタック解析部4141は、1段目のパケットのヘッダストリップ箇所「a1〜a2byte」、変換後Ethertypeに指定するプロトコル番号「m」を判別する。そして、プロトコルスタック解析部4141は、2段目のパケットのプロトコルスタックパターンが「B」であり、パケットのヘッダストリップ箇所「b1〜b2byte」、変換後Ethertypeに指定するプロトコル番号「l」を判別する。
As a result, the protocol
そして、プロトコルスタック解析部4141は、3段目のパケットのプロトコルスタックパターンが「A」であり、パケットのヘッダストリップ箇所「a1〜a2byte」、変換後Ethertypeに指定するプロトコル番号「m」を判別する。そして、プロトコルスタック解析部4141は、4段目のパケットのプロトコルスタックパターンが「C」であり、パケットのヘッダストリップ箇所「c1〜c2byte」、変換後Ethertypeに指定するプロトコル番号「n」を判別する。
Then, the protocol
この解析によって、プロトコルスタック解析部4141は、各プロトコルスタックパターンの出現頻度を求めることができる。例えば、図23に示す例では、キャプチャパケットのうち、パターンAが2回、パターンBが1回、パターンCが1回出現している。プロトコルスタック解析部4141は、この出現頻度を基に求めた各パターンの分布情報を、プロトコルスタックパターンとともに出力する。
By this analysis, the protocol
さらに、プロトコルスタック解析部4141は、各パケットにおけるパターンA〜Cについて、上位ヘッダを特定する情報のbyte位置及び値を取得する。具体的には、プロトコルスタック解析部4141は、枠W41のグラフG1に示すように、パターンAについては、上位ヘッダを特定する各情報として[(a,1010),(b,1111),(d,0101)]を取得する。同様に、プロトコルスタック解析部4141は、パターンBについては、上位ヘッダを特定する各情報として、[(a,1010),(b,1111),(d,0101),(e,1111),(f,1011)]を取得する。また、プロトコルスタック解析部4141は、パターンCについては、上位ヘッダを特定する各情報として[(a,1010),(b,1101), (c,1110)]を取得する。プロトコルスタック解析部4141は、取得した上位ヘッダを特定する情報のbyte位置及び値も、各プロトコルスタックパターンに対応付けて出力する。
Further, the protocol
[パターン分布格納部の処理]
次に、パターン分布格納部4142の処理について説明する。図24は、図20に示すパターン分布格納部4142の処理を説明する図である。
[Process of pattern distribution storage]
Next, the processing of the pattern
図24に示すように、パターン分布格納部4142は、プロトコルスタック解析部4141から出力されたプロトコルスタックパターンの分布情報を基に、パターン分布DB4144のプロトコルスタックパターンの分布情報を更新する(図24の(1)参照)。例えば、枠W42のグラフG43に示すように、プロトコルスタック解析部4141による解析結果では、パターンAが2回、パターンBが1回、パターンCが1回出現していた。このため、パターン分布格納部4142は、各パターンの出現回数をパターンごとに対応付けたグラフG43の内容を基に、パターン分布DB4144のプロトコルスタックパターンの分布情報を更新する。
As illustrated in FIG. 24, the pattern
そして、パターン分布格納部4142は、プロトコルスタックパターンの各プロトコルスタックパターン情報、パケットのヘッダストリップ箇所、変換後Ethertypeに指定するプロトコル番号と、プロトコルスタックパターンの分布情報を出力する(図24の(2)参照)。例えば、パターン分布格納部4142は、図24のグラフG44のような情報を出力する。
Then, the pattern
[判別木作成部の処理]
次に、図25を参照して、判別木作成部4143の処理について説明する。図25は、図20に示す判別木作成部4143の処理を説明する図である。
[Process of Discriminant Tree Creation Unit]
Next, with reference to FIG. 25, the processing of the discrimination
図25に示すように、判別木作成部4143は、例えば、ハフマン符号化アルゴリズムを応用し、判別回数の平均が最小になるような判別木の構成を実施する(図25の(1)参照)。ここでは、入力されたプロトコルスタックパターン情報とプロトコルスタックパターンの分布情報とが、枠W43に示すように、パターンAが2回、パターンBが1回、パターンCが1回である場合について説明する。この場合、パケット数「4」のノードN41から、パターンAが2個のノードN42へのエッジE41、または、パケット数「2」のノードN43へのエッジE42に枝分かれし、ノードN43から、パターンBが1個のノードN44へのエッジE43、または、パターンCが1個のノードN45へのエッジE44に枝分かれする判別木構成T41が、判別回数の平均が最小となる。
As shown in FIG. 25, the discriminant
そこで、判別木作成部4143は、判別対象のパケットについて、上位のノードN41´を「is パターンA?[(a,1010),(b,1111),(d,0101)]」とする。そして、判別木作成部4143は、ノードN41´に対してyesである場合(エッジE41´)である場合には、ノードN42´に、判別対象のパケットがパターンAであって、ヘッダストリップ箇所はa1〜a2byteであり、変換後Ethertypeに指定するプロトコル番号はmである旨を設定する。
Therefore, the discrimination
一方、判別木作成部4143は、ノードN41´に対してNoである場合(エッジE42´)である場合には、ノード43´に「is パターンB?[(a,1010),(b,1111),(d,0101),(e,1111),(f,1011)]」を設定する。
On the other hand, if the decision
そして、判別木作成部4143は、ノードN43´に対してyesである場合(エッジE43´)である場合には、ノードN44´に、判別対象のパケットがパターンBであって、ヘッダストリップ箇所はb1〜b2byteであり、変換後Ethertypeに指定するプロトコル番号はlである旨を設定する。また、判別木作成部4143は、ノードN43´に対してNoである場合(エッジE44´)である場合には、ノードN45´に、判別対象のパケットがパターンCであって、ヘッダストリップ箇所はc1〜c2byteであり、変換後Ethertypeに指定するプロトコル番号はnである旨を設定する(図25の(2)参照)。
Then, when the determination
このように、判別木作成部4143は、パターンA〜Cを判別するための判別木T42を作成することができる。判別木作成部4143は、作成した判別木をフォーマット変換部415に出力する。
In this way, the
[プロトコルスタック判別部の処理]
次に、図26を参照して、プロトコルスタック判別部4151の処理について説明する。図26は、図20に示すプロトコルスタック判別部4151の処理を説明する図である。
[Process of Protocol Stack Discrimination Unit]
Next, with reference to FIG. 26, the processing of the protocol
図26に示すように、プロトコルスタック判別部4151は、例えば、判別木作成部4143から出力された判別木T42を、事前設定される(図26の(1)参照)。プロトコルスタック判別部4151は、この判別木T42を用いて、パケットのプロトコルスタックパターンを判別する(図26の(2)参照)。具体的には、プロトコルスタック判別部4151は、判別木T42を基に、入力されたパケットの各パターンの上位ヘッダを特定する情報の位置及び値を基に、パケットがA〜Cのいずれのパターンであるかを判別する。
As shown in FIG. 26, the protocol
例えば、プロトコルスタック判別部4151は、パケットCaが入力された場合、このパケットの上位ヘッダを特定する情報の位置及び値を抽出する。判別木T42に、抽出した上位ヘッダを特定する情報の位置及び値を適用して、このパケットが、パターンAであることを判別する。これにともない、プロトコルスタック判別部4151は、パケットCaとともに、このパケットCaのパターン「A」、ヘッダストリップ箇所「a1〜a2byte」、変換後Ethertypeに指定するプロトコル番号「m」を出力する。
For example, when the packet Ca is input, the protocol
[学習処理の手順]
次に、フォーマット変換装置410による学習処理の処理手順について説明する。図27は、図20に示すフォーマット変換装置410による学習処理の手順を示すフローチャートである。
[Learning procedure]
Next, the processing procedure of the learning processing by the
図27に示すように、まず、学習部414では、キャプチャパケットが入力されると、プロトコルスタック解析部4141が、プロトコルconfigファイルを用いて、入力された各パケットを下位ヘッダから順次解析して、それぞれのプロトコルスタックパターン及び分布を特定するプロトコルスタック解析処理を行う(ステップS41)。そして、パターン分布格納部4142は、入力されたパケットのプロトコルスタックパターンの分布を作成し、判別木作成部4143に出力するとともに、パターン分布DB4144に格納するパターン分布格納処理を行う(ステップS42)。
As shown in FIG. 27, first, in the learning unit 414, when the capture packet is input, the protocol
続いて、判別木作成部4143は、入力されたパケットのプロトコルスタックパターン及びプロトコルスタックパターンの分布を基に、プロトコルスタックパターンを判別する判別木を作成する判別木作成処理を行う(ステップS43)。判別木作成部4143は、作成した判別木をプロトコルスタック判別部4151に出力する(ステップS44)。
Subsequently, the
[フォーマット変換処理の処理手順]
次に、フォーマット変換装置410によるフォーマット変換処理の手順について説明する。図28は、図20に示すフォーマット変換装置410によるフォーマット変換処理の手順を示すフローチャートである。
[Processing procedure of format conversion processing]
Next, a procedure of format conversion processing by the
図28に示すように、パケット入力部11が、パケットの入力を受け付けると(ステップS45)、プロトコルスタック判別部4151は、ミラー部412からミラーリングされたパケットに対し、判別木作成部4143が作成した判別木を基に、プロトコルスタックパターンを判別するプロトコルスタック判別処理を行う(ステップS46)。図28に示すステップS47,S48は、図7に示すステップS13,S14と同様の処理を行う。
As shown in FIG. 28, when the
[実施の形態4の効果]
このように、実施の形態4に係るフォーマット変換装置は、自装置においてパケットを学習することによって判別ルールを作成し、パケットのプロトコルスタックパターンを判別する。このため、実施の形態4によれば、実施の形態1と同様の効果を奏するとともに、判別ルールの作成、パケットのプロトコルスタックパターン及びパケットのフォーマット変換処理の一連の処理を自装置で完結することができるという効果を奏する。
[Effects of Embodiment 4]
As described above, the format conversion apparatus according to the fourth embodiment creates a discrimination rule by learning the packet in the apparatus itself, and discriminates the protocol stack pattern of the packet. Therefore, according to the fourth embodiment, the same effect as that of the first embodiment is obtained, and a series of processes of creating a discrimination rule, a packet protocol stack pattern, and a packet format conversion process is completed by the device itself. There is an effect that can be.
[実施の形態5]
次に、実施の形態5について説明する。実施の形態5では、判別ルールとして判別論理式を作成する。
[Fifth Embodiment]
Next, a fifth embodiment will be described. In the fifth embodiment, a discriminant logical expression is created as a discriminant rule.
図29は、実施の形態5に係るフォーマット変換装置の構成の一例を示す図である。図29に示すように、実施の形態5に係るフォーマット変換装置510は、図20に示すフォーマット変換装置410と比して、学習部414に代えて学習部514を有し、フォーマット変換部415に代えてフォーマット変換部515を有する。
FIG. 29 is a diagram showing an example of the configuration of the format conversion device according to the fifth embodiment. As shown in FIG. 29, the
学習部514は、入力されたパケットに対しプロトコルconfigファイルを用いて学習することによって、判別ルールを作成し、作成した判定ルールをフォーマット変換部515に出力する。学習部514は、判別ルールとして、パケット内の特定bit列を基にプロトコルスタックパターンを判別する判別論理式を作成する。学習部514は、プロトコルスタック解析部5141、パターン格納部5142、判別論理式作成部5143及びパターンDB5144を有する。なお、学習部514は、各種のプロトコルスタックパターンのパケットを判別できるように、複数の判別論理式を作成する。
The
プロトコルスタック解析部5141は、プロトコルconfigファイルを用いて、入力された各パケットを下位ヘッダから順次解析して、それぞれのプロトコルスタックパターンを特定する。
The protocol
パターン格納部5142は、入力されたパケットのプロトコルスタックパターンを、判別論理式作成部5143に出力するとともに、パターンDB5144に格納する。
The
判別論理式作成部5143は、入力されたパケットのプロトコルスタックパターンを基に、プロトコルスタックパターンを判別する判別論理式を作成する。判別論理式作成部5143は、パケット内の特定bit列を基にプロトコルスタックパターンを判別する判別論理式を作成する。
The discriminant-logic-
パターンDB5144は、学習部514が学習したパケットのプロトコルスタックパターンを記憶する。パターンDB5144が記憶するプロトコルスタックパターンは、パターン格納部5142によって更新される。
The
フォーマット変換部515は、学習部514が作成した判別論理式を用いて、パケットのプロトコルパターンを判別し、フォーマット変換を行う。フォーマット変換部515は、プロトコルスタック判別部5151及びパケットフォーマット変換部13を有する。
The
プロトコルスタック判別部5151は、学習部514が作成した判別論理式を用いて、入力されたパケットのプロトコルスタックパターンを判別する。そして、プロトコルスタック判別部5151は、この判別論理式を用いて、入力されたパケットから除外するプロトコルヘッダ箇所も判別する。
The protocol
[学習部の処理の流れ]
次に、学習部514の処理の流れについて説明する。図30は、図29に示す学習部514の処理の流れを説明する図である。学習部514では、まず、プロトコルスタック解析部5141に、標準化された各プロトコルのヘッダ情報を示すプロトコルconfigファイルが事前に設定される。このプロトコルconfigファイルは、図15,16に例示したデータ構成を有し、事前に作成されたものである。
[Processing flow of learning unit]
Next, the processing flow of the
そして、図30に示すように、学習部514では、プロトコルスタック解析部5141が、プロトコルconfigファイルを参照し、キャプチャパケットの下位ヘッダから順次解析し、入力された各パケットのプロトコルスタックパターンを特定する(図30の(1)参照)。そして、プロトコルスタック解析部5141は、各パケットのプロトコルスタックパターンを出力する。パターン格納部5142は、入力されたパケットのプロトコルスタックパターンを、パターンDB5144に格納することでDB化を行う(図30の(2)参照)。
Then, as shown in FIG. 30, in the
続いて、判別論理式作成部5143は、入力されたパケットのプロトコルスタックパターンから、入力されたパケットを判別するために最適な判別論理式を作成する(図30の(3)参照)。そして、判別論理式作成部5143は、作成した判別論理式をプロトコルスタック判別部5151に出力する。この学習部514における学習処理は、フォーマット変換部515におけるフォーマット変換処理前に一定期間実行された後は、例えば、定期的に実行される。なお、学習処理では、ミラー部412からフォーマット変換部551にパケットが入力されないため、フォーマット変換部551によるフォーマット変換処理は実行されない。
Subsequently, the discriminant-logic-
[フォーマット変換部の処理の流れ]
次に、フォーマット変換部515の処理の流れについて説明する。図31は、図29に示すフォーマット変換部515の処理の流れを説明する図である。
[Processing flow of format converter]
Next, the processing flow of the
プロトコルスタック判別部5151には、学習部514が作成した判別論理式が事前に設定される。そして、図31に示すように、ミラー部412からパケットが入力されると、プロトコルスタック判別部5151は、入力されたパケットのプロトコルスタックパターンを、学習部514が作成した判別論理式を用いて判別する(図31の(1)参照)。この際、プロトコルスタック判別部5151は、判別結果として、到着したパケット自身に加え、このパケットのプロトコルスタックパターン、パケットのヘッダストリップ箇所、変換後Ethertypeに指定するプロトコル番号を出力する。
The discriminant logic formula created by the
そして、パケットフォーマット変換部13は、プロトコルスタック判別部5151の判別結果を基に、フォーマット変換を実行する(図31の(2)参照)。そして、パケットフォーマット変換部13によるフォーマット変換後のパケットは、パケット出力部14から、解析装置20(不図示)に出力される。なお、フォーマット変換処理中も、学習部514は、キャプチャパケットを受け取り、プロトコルスタック解析及びプロトコルスタックパターンの格納を行い、データを蓄積している。
Then, the packet
[プロトコルスタック解析部の処理]
図32を参照し、プロトコルスタック解析部5141の処理について説明する。図32は、図29に示すプロトコルスタック解析部5141の処理を説明する図である。
[Processing of protocol stack analysis unit]
The processing of the protocol
まず、図32に示すように、プロトコルスタック解析部5141には、事前に、予め作成されたプロトコルconfigファイル330が設定される(図32の(1)参照)。そして、プロトコルスタック解析部5141は、入力されたキャプチャパケットの下位ヘッダから捜査を開始し、プロトコルconfigファイル330を用いてプロトコルスタックパターンを特定する。プロトコルスタック解析部5141は、プロトコルスタックパターン情報、パケットのヘッダストリップ箇所、変換後Ethertypeに指定するプロトコル番号を解析して、送出する(図32の(2)参照)。
First, as shown in FIG. 32, a
例えば、枠W51のパターン図G41に示す4つのパケットがキャプチャパケットとして入力された場合について説明する。この場合、プロトコルスタック解析部5141は、プロトコルスタック解析部4141と同様に、プロトコルconfigファイル330を用いて、入力された各キャプチャパケットの下位ヘッダから捜査を開始する。そして、プロトコルスタック解析部5141は、これらのパケットが、パターン「A」、パターン「B」、パターン「A」、パターン「C」であることを判別する。
For example, a case where four packets shown in the pattern diagram G41 of the frame W51 are input as capture packets will be described. In this case, the protocol
続いて、プロトコルスタック解析部5141は、プロトコルスタック解析部4141と同様に、各パケットにおけるパターンA〜Cについて、上位ヘッダを特定する情報のbyte位置及び値を取得する。例えば、プロトコルスタック解析部5141は、グラフG42に示すように、例えばパターンAについては、上位ヘッダを特定する各情報として[(a,1010),(b,1111),(d,0101)])を取得し、各プロトコルスタックパターンに対応付けて出力する。
Subsequently, the protocol
[パターン分布格納部の処理]
次に、パターン格納部5142の処理について説明する。図33は、図29に示すパターン格納部5142の処理を説明する図である。
[Process of pattern distribution storage]
Next, the processing of the
図33に示すように、パターン格納部5142は、プロトコルスタック解析部5141から出力されたプロトコルスタックパターン情報を基に、パターンDB5144を更新する(図33の(1)参照)。例えば、枠W52のパターン一覧L51は、パターンDB5144が記憶する情報の一例である。パターン格納部5142は、パターン一覧L51のうち、プロトコルスタックパターン情報が入力されたパターンAについては、パターンAの上位ヘッダを特定する[(byte位置,値)]を[(a,1010),(b,1111),(d,0101)]に、ヘッダストリップ箇所を「a1〜a2byte」に、変換後Ethertypeに指定するプロトコル番号を「m」に更新する。
As shown in FIG. 33, the
このように、パターン格納部5142は、パケットごとに、パターンの識別情報、上位ヘッダを特定するbyte位置及び値、ヘッダストリップ箇所、及び、変換後Ethertypeに指定するプロトコル番号を対応付けて、パターンDB5144に格納する。また、パターン格納部5142は、パケットのプロトコルスタックパターン情報を判別論理式作成部5143に出力する。パターン格納部5142は、各パケットとともに、プロトコルスタックパターン、上位ヘッダを特定する情報の位置及び値、ヘッダストリップ箇所、変換後Ethertypeに指定するプロトコル番号を出力する。
In this way, the
[判別論理式作成部の処理]
次に、判別論理式作成部5143の処理について説明する。図34は、図29に示す判別論理式作成部5143の処理を説明する図である。
[Processing of discriminant formula creation part]
Next, the processing of the discriminant logic
図34に示すように、判別論理式作成部5143は、パターン格納部1542によって出力された各パターンの上位ヘッダを特定する情報の位置及び値を基に、真理値表L1(枠W53参照)を作成する(図34の(1)参照)。
As illustrated in FIG. 34, the discriminant-logic-
判別論理式作成部5143は、真理値表L1の1行目に示すように、パターンAについては、inputを[(a,1010),(b,1111),(d,0101),(e,*/{1111}),(d,*/{1011})]に設定し、outputを(x,y,z)=(0,0,0)に設定する。同様に、判別論理式作成部5143は、真理値表L1の2行目に示すように、パターンBについては、inputを[(a,1010),(b,1111),(d,0101),(e,1111),(f,1011)]に設定し、outputを(x,y,z)=(0,0,1)に設定する。同様に、判別論理式作成部5143は、真理値表L1の3行目に示すように、パターンCについては、inputを[(a,1010),(b,1101), (c,1110)]に設定し、outputを(x,y,z)=(0,1,1)に設定する。
As shown in the first line of the truth table L1, the discriminant
そして、判別論理式作成部5143は、真理値表L1を基に、Quine-McCluskey法等を使用して、プロトコルスタックパターン判別用の判別論理式230−1(図34の(2)参照)を作成する。この判別論理式230−1は、output(0,0,0),(0,0,1),(0,1,1)のそれぞれに、対応するパターンの種別、ヘッダストリップ箇所、変換後Ethertypeに指定するプロトコル番号が対応付けられている。判別論理式作成部5143は、作成した判別論理式をフォーマット変換部515に出力する。
Then, the discriminant
[プロトコルスタック判別部の処理]
次に、プロトコルスタック判別部5151の処理について説明する。図35は、図29に示すプロトコルスタック判別部5151の処理を説明する図である。
[Process of Protocol Stack Discrimination Unit]
Next, the processing of the protocol
図35に示すように、プロトコルスタック判別部5151は、例えば、判別論理式作成部5143が作成した判別論理式230−1を事前設定される(図35の(1)参照)。プロトコルスタック判別部5151は、この判別論理式230−1を用いて、パケットのプロトコルスタックパターンを判別する(図35の(2)参照)。具体的には、プロトコルスタック判別部5151は、(a,b,c,d,e,f)に対応するbit列を抽出し、抽出した(a,b,c,d,e,f)を判別論理式230−1に入力する。そして、プロトコルスタック判別部5151は、判別論理式230−1のoutputに対応するパケットのパターンの種別、ヘッダストリップ箇所、変換後Ethertypeに指定するプロトコル番号を、パケットとともに出力する。
As shown in FIG. 35, the protocol
[学習処理の手順]
次に、フォーマット変換装置510による学習処理の処理手順について説明する。図36は、図29に示すフォーマット変換装置510による学習処理の手順を示すフローチャートである。
[Learning procedure]
Next, the processing procedure of the learning processing by the
図36に示すように、まず、学習部514では、キャプチャパケットが入力されると、プロトコルスタック解析部5141が、プロトコルconfigファイルを用いて、入力された各パケットを下位ヘッダから順次解析して、それぞれのプロトコルスタックパターンを特定するプロトコルスタック解析処理を行う(ステップS51)。そして、パターン格納部5142は、入力されたパケットのプロトコルスタックパターンを、判別論理式作成部5143に出力するとともに、パターンDB5144に格納するパターン格納処理を行う(ステップS52)。
As shown in FIG. 36, first, in the
続いて、判別論理式作成部5143は、入力されたパケットのプロトコルスタックパターンを基に、プロトコルスタックパターンを判別する判別論理式を作成する判別論理式作成処理を行う(ステップS53)。判別論理式作成部4143は、作成した判別論理式をプロトコルスタック判別部5151に出力する(ステップS44)。
Subsequently, the discriminant-logical-
[フォーマット変換処理の処理手順]
次に、フォーマット変換装置510によるフォーマット変換処理の手順について説明する。図37は、図29に示すフォーマット変換装置510によるフォーマット変換処理の手順を示すフローチャートである。
[Processing procedure of format conversion processing]
Next, a procedure of format conversion processing by the
図37に示すステップS55は、図28に示すステップS45と同様の処理である。プロトコルスタック判別部5151は、ミラー部412からミラーリングされたパケットに対し、判別論理式作成部5143が作成した判別論理式を基に、プロトコルスタックパターンを判別するプロトコルスタック判別処理を行う(ステップS56)。図37に示すステップS57,S58は、図7に示すステップS13,S14と同様の処理を行う。
Step S55 shown in FIG. 37 is the same process as step S45 shown in FIG. The protocol
[実施の形態5の効果]
このように、実施の形態5に係るフォーマット変換装置は、自装置においてパケットを学習することによって判別論理式を作成し、パケットのプロトコルスタックパターンを判別するため、実施の形態4と同様の効果を奏する。
[Effects of Embodiment 5]
As described above, the format conversion device according to the fifth embodiment creates a discriminant logical expression by learning the packet in its own device and discriminates the protocol stack pattern of the packet. Therefore, the same effect as that of the fourth embodiment is obtained. Play.
[実施の形態6]
次に、実施の形態6について説明する。実施の形態6では、フォーマット変換処理において、学習前のパケットが入力された場合に、プロトコルconfigファイルを用いて該パケットの下位ヘッダから順次捜査してプロトコルスタックパターンを判別する。
[Sixth Embodiment]
Next, a sixth embodiment will be described. In the sixth embodiment, when a packet before learning is input in the format conversion process, the protocol config file is used to sequentially search from the lower header of the packet to determine the protocol stack pattern.
図38は、実施の形態6に係るフォーマット変換装置の構成の一例を示す図である。図38に示すように、実施の形態6に係るフォーマット変換装置610は、図29に示すフォーマット変換装置510と比して、フォーマット変換部515に代えてフォーマット変換部615を有する。フォーマット変換部615は、プロトコルスタック判別部5151(第1のプロトコルスタック判別部)、プロトコルスタック判別部6151(第2のプロトコルスタック判別部)及びパケットフォーマット変換部13を有する。
FIG. 38 is a diagram showing an example of the configuration of the format conversion device according to the sixth embodiment. As shown in FIG. 38, the
プロトコルスタック判別部6151は、予め作成されたプロトコルconfigファイルが事前に設定されている。プロトコルスタック判別部6151は、学習前のパケットが入力された場合に、プロトコルconfigファイルを用いて該パケットの下位ヘッダから順次捜査してプロトコルスタックパターンを判別する。言い換えると、プロトコルスタック判別部6151は、プロトコルスタック判別部5151では判別が不可能なパケットについては、プロトコルconfigファイルを用いてプロトコルスタックパターンを判別する。
The protocol stack discriminating unit 6151 has a protocol config file created in advance set therein. When a packet before learning is input, the protocol stack discriminating unit 6151 discriminates the protocol stack pattern by sequentially searching from the lower header of the packet using the protocol config file. In other words, the protocol stack discriminating unit 6151 discriminates the protocol stack pattern by using the protocol config file for the packet which cannot be discriminated by the protocol
[フォーマット変換部の処理の流れ]
次に、フォーマット変換部615の処理の流れについて説明する。図39は、図38に示すフォーマット変換部615の処理の流れを説明する図である。
[Processing flow of format converter]
Next, a processing flow of the
プロトコルスタック判別部5151には、学習部514が作成した判別論理式が事前に設定される。そして、図39に示すように、ミラー部412からパケットが入力されると、プロトコルスタック判別部5151は、入力されたパケットのプロトコルスタックパターンに対し、学習部514が作成した判別論理式を用いたプロトコル判別処理を行う(図39の(1)参照)。
The discriminant logic formula created by the
ただし、プロトコルスタック判別部5151による判別ビット決打型(判別論理式を用いた判別手法)では判別が不可能なパケットは、プロトコルスタック判別部6151による下位ヘッダ捜査型(プロトコルconfigファイルを用いた判別手法)で判別を実行する(図39の(2))。言い換えると、学習前のパケットがフォーマット変換部615に入力された場合、プロトコルスタック判別部6151は、プロトコルconfigファイルを用いたプロトコルスタックパターンの判別を行う(図39の(3)参照)。
However, for a packet that cannot be discriminated by the discriminant bit decision type (discrimination method using the discriminant logical expression) by the protocol
フォーマット変換部615では、プロトコルスタック判別部5151またはプロトコルスタック判別部6151が、判別結果として、到着したパケット自身に加え、このパケットプロトコルスタックパターン、ヘッダストリップ箇所、変換後Ethertypeに指定するプロトコル番号を出力する。パケットフォーマット変換部13は、プロトコルスタック判別部5151またはプロトコルスタック判別部6151の判別結果を基に、フォーマット変換を実行する(図39の(4)参照)。そして、パケットフォーマット変換部13によるフォーマット変換後のパケットは、パケット出力部14から、解析装置20(不図示)に出力される。
In the
なお、フォーマット変換処理中も、学習部514は、キャプチャパケットを受け取り、プロトコルスタック解析及びプロトコルスタックパターンの格納を行い、データを蓄積している。
Even during the format conversion process, the
[フォーマット変換処理の処理手順]
次に、フォーマット変換装置610によるフォーマット変換処理の手順について説明する。図40は、図38に示すフォーマット変換装置610によるフォーマット変換処理の手順を示すフローチャートである。
[Processing procedure of format conversion processing]
Next, a procedure of format conversion processing by the
図40に示すステップS61は、図28に示すステップS45と同様の処理である。プロトコルスタック判別部5151は、ミラー部412からミラーリングされたパケットに対し、判別論理式作成部5143が作成した判別論理式を基に、プロトコルスタックパターンを判別する第1プロトコルスタック判別処理を行う(ステップS62)。
Step S61 shown in FIG. 40 is the same process as step S45 shown in FIG. The protocol
そして、プロトコルスタック判別部5151は、第1プロトコルスタック判別処理においてパケットのプロトコルスタックパターンが判別可能であるか否かを判定する(ステップS63)。
Then, the protocol
プロトコルスタック判別部5151が、第1プロトコルスタック判別処理においてパケットのプロトコルスタックパターンが判別可能でないと判定した場合(ステップS63:No)、このパケットをプロトコルスタック判別部6151に出力する。そして、プロトコルスタック判別部6151は、プロトコルconfigファイルを用いて該パケットの下位ヘッダから順次捜査してプロトコルスタックパターンを判別する第2プロトコルスタック判別処理を行う(ステップS64)。
When the protocol
続いて、プロトコルスタック判別部5151が、第1プロトコルスタック判別処理においてパケットのプロトコルスタックパターンが判別可能であると判定した場合(ステップS63:Yes)、または、第2プロトコルスタック判別処理(ステップS64)終了後、ステップS65に進む。図40に示すステップS65,S66は、図7に示すステップS13,S14と同様の処理を行う。
Then, when the protocol
[実施の形態6の効果]
このように、実施の形態6に係るフォーマット変換装置は、自装置において作成した判別論理式でプロトコルスタックパターンを判別できないパケットについては、プロトコルconfigファイルを用いて、該パケットの下位ヘッダから順次捜査してプロトコルスタックパターンを判別する。したがって、実施の形態6によれば、2段階でパケットのプロトコルスタックパターンを判別するため、パケットのプロトコルスタックパターンの判別をさらに高速かつ確実に実行することが可能になる。
[Effects of Embodiment 6]
In this way, the format conversion device according to the sixth embodiment sequentially searches the packets from the lower header of the packet using the protocol config file for the packet whose protocol stack pattern cannot be discriminated by the discriminant formula created in the device itself. Determine the protocol stack pattern. Therefore, according to the sixth embodiment, the protocol stack pattern of the packet is discriminated in two stages, so that the protocol stack pattern of the packet can be discriminated at higher speed and more reliably.
[実施の形態7]
次に、実施の形態7について説明する。図41は、実施の形態7に係るフォーマット変換装置の構成の一例を示す図である。例えば、図41に示すように、フォーマット変換装置710は、図1に示すフォーマット変換装置10と比して、対応付部716をさらに有する。
[Embodiment 7]
Next, a seventh embodiment will be described. FIG. 41 is a diagram showing an example of the configuration of the format conversion device according to the seventh embodiment. For example, as illustrated in FIG. 41, the format conversion device 710 further includes a correspondence unit 716 as compared with the
対応付部716は、パケットにおける各プロトコルヘッダのテキスト情報を、該パケットのプロトコルヘッダの配置情報に対応付けて記憶するDBを有する。そして、対応付部716は、任意のプロトコルヘッダ情報を照合情報とし、プロトコルヘッダを含むパケットのプロトコルヘッダの配置情報を検索可能としている。 The associating unit 716 has a DB that stores the text information of each protocol header in the packet in association with the placement information of the protocol header of the packet. Then, the associating unit 716 uses the arbitrary protocol header information as the collation information, and can search the arrangement information of the protocol header of the packet including the protocol header.
[対応付部の構成]
図42は、図41に示す対応付部716の構成の一例を示す図である。図42に示すように、対応付部716は、パケットデコード部7161、パース部7162、格納部7163、DB7164及び検索部7165を有する。
[Structure of corresponding part]
42 is a diagram showing an example of the configuration of the associating unit 716 shown in FIG. As shown in FIG. 42, the associating unit 716 includes a
パケットデコード部7161は、パケット入力部11が入力を受け付けたパケットを取得し、取得したパケットのデコードを行い、バイナリをテキスト変換する。パース部7162は、パケットデコード部7161が変換したパケットのテキスト情報を、プロトコルヘッダ毎にパースする。格納部7163は、パース済みのパケット情報をバッファリングし、定期的にDB7164に書き込む。
The
DB7164は、パース済みパケット情報を保持する。図43は、図42に示すDB7164が保持するデータの一例を示す図である。図43の表L71に示すように、DB7164は、入力されたパケットの、プロトコルヘッダ毎にパースされたテキスト情報を、プロトコルヘッダ毎に分けて保持する。例えば、表L71の1行目には、「青」、「緑」、「赤」、「橙」のテキスト情報を有する4個のプロトコルヘッダで構成されるパケットの情報が保持される。また、表L71の2行目には、「青」、「緑」、「赤」、「桃」、「黄」のテキスト情報を有する5個のプロトコルヘッダで構成されるパケットの情報が保持される。 The DB 7164 holds the parsed packet information. 43 is a diagram showing an example of data held by the DB 7164 shown in FIG. As shown in the table L71 of FIG. 43, the DB 7164 holds the text information of the input packet, which is parsed for each protocol header, for each protocol header. For example, the first row of the table L71 holds packet information composed of four protocol headers having text information of "blue", "green", "red", and "orange". The second line of table L71 holds packet information including five protocol headers having text information of "blue", "green", "red", "peach", and "yellow". It
検索部7165は、任意のプロトコルヘッダ情報を照合情報とし、DB7164から、このプロトコルヘッダを含むパケットのプロトコルヘッダの配置情報を検索する。検索部7165は、フォーマット変換装置710に接続するUI部(不図示)から、1個のプロトコルヘッダのテキスト情報が入力されると、BD7164に照合し、このプロトコルヘッダのテキスト情報を含むパケット全体の構成情報を検索する。
The
[対応付部の処理]
次に、対応付部716の処理の流れについて説明する。図44は、図42に示す対応付部716の処理の流れを説明する図である。
[Correspondence process]
Next, the processing flow of the associating unit 716 will be described. FIG. 44 is a diagram for explaining the flow of processing of the associating unit 716 shown in FIG.
図44に示すように、対応付部716にパケットが入力すると、まず、パケットデコード部7161がパケットのデコードを行い、バイナリをテキスト変換する(図44の(1)参照)。そして、パケットデコード部7161は、テキスト情報に変換されたパケット情報をパース部7162に出力する。
As shown in FIG. 44, when a packet is input to the associating unit 716, the
例えば、ヘッダH1〜H4を有するパケットCaがパケットデコード部7161に入力した場合を例に説明する。この場合、パケットデコード部7161は、このパケットCaのデコードを行い、各プロトコルヘッダH1〜H4を、テキスト「青緑赤橙」に変換し、パース部7162に出力する。テキスト「青」、「緑」、「赤」、「橙」は、それぞれプロトコルヘッダH1,H2,H3,H4に対応する。
For example, a case where a packet Ca having the headers H1 to H4 is input to the
そして、パース部7162は、パケットのテキスト情報をヘッダ毎にパースする(図44の(2)参照)。パース部7162は、例えば、パケットデコード部7161から入力されたパケットCaのテキスト「青緑赤橙」を、プロトコルヘッダごとに、「青」、「緑」、「赤」、「橙」にパースし、このパース済みパケット情報(テキスト)を格納部7163に出力する。
Then, the
続いて、格納部7163は、パース済みパケット情報を定期的にDB7164に書き込む(図44の(3)参照)。これによって、DB7164は、パース済みパケット情報を保存する(図44の(4)参照)。例えば、格納部7163は、パース済みパケット情報として、「青」、「緑」、「赤」、「橙」が入力された場合には、「青」、「緑」、「赤」、「橙」のそれぞれを、この順序でDB7164に書き込む。この結果、図43の1行目に示すように、「青」、「緑」、「赤」、「橙」がこの順で登録される。したがって、テキスト情報「青」、「緑」、「赤」、「橙」の順でプロトコルヘッダが配置されたパケットが、フォーマット変換装置710に入力したことが登録される。
Subsequently, the
対応付部716は、このようなDB7164を構成することによって、検索部7165が、カプセルパケットの任意のプロトコルヘッダ情報をクエリとして検索をかけた場合には、このプロトコルヘッダを含むパケット全体のプロトコルヘッダの配置情報を応答することができる(図44の(5)参照)。この任意のプロトコルヘッダ情報には、インナーパケットも含む。例えば、検索部7165から、「橙」が検索クエリとして検索された場合には、DB7164から、図43の表L1のうち「橙」を含む「青」、「緑」、「赤」、「橙」のテキスト情報がレスポンスされる。
The associating unit 716 configures such a DB 7164 so that when the
[対応付け部の処理手順]
図45は、図42に示す対応付部716による情報の対応付け処理の処理手順を示すフローチャートである。図45に示すように、パケットが入力されると(ステップS71)、パケットデコード部7161は、パケットのデコードを行い、バイナリをテキスト変換するパケットデコード処理を行う(ステップS72)。続いて、パース部7162は、パケットデコード部7161が変換したパケットのテキスト情報を、プロトコルヘッダ毎にパースするパース処理を行う(ステップS73)。そして、格納部7163は、パース済みのパケット情報をバッファリングし、定期的にDB7164に書き込む格納処理を行い(ステップS74)、処理を終了する。
[Processing procedure of associating unit]
FIG. 45 is a flowchart showing the processing procedure of the information associating processing by the associating unit 716 shown in FIG. As shown in FIG. 45, when a packet is input (step S71), the
[実施の形態7の効果]
このように、実施の形態7は、パケットにおける各プロトコルヘッダのテキスト情報を、該パケットのプロトコルヘッダの配置情報に対応付けて記憶する。図46は、図42に示す対応付部716の対応付け機能を説明する図である。
[Effect of Embodiment 7]
As described above, the seventh embodiment stores the text information of each protocol header in a packet in association with the placement information of the protocol header of the packet. FIG. 46 is a diagram for explaining the associating function of the associating unit 716 shown in FIG.
例えば、ユーザは、解析装置20の検知結果(インナーパケットPaの情報)を、DB7164で検索した場合について説明する。この場合、図46に示すように、ユーザは、DB7164から、このインナーパケットPaを含むパケットC1全体のプロトコルヘッダの配置情報を取得することが可能になる(矢印Y72:正引き)。また、ユーザは、任意のプロトコルヘッダ、例えば、カプセルヘッダ(IPv4)を、DB7164で検索することによって、このカプセルヘッダ(IPv4)を含むパケットC1全体のプロトコルヘッダの配置情報を取得することが可能になる(矢印Y71:逆引き)。 For example, the case where the user searches the DB 7164 for the detection result of the analysis device 20 (information on the inner packet Pa) will be described. In this case, as shown in FIG. 46, the user can acquire the arrangement information of the protocol header of the entire packet C1 including the inner packet Pa from the DB 7164 (arrow Y72: forward lookup). Further, the user can obtain the arrangement information of the protocol header of the entire packet C1 including the capsule header (IPv4) by searching the DB 7164 for an arbitrary protocol header, for example, the capsule header (IPv4). (Arrow Y71: reverse lookup).
このように、実施の形態7によれば、ユーザは、任意のプロトコルヘッダ情報を照合情報として、プロトコルヘッダを含むパケットのプロトコルヘッダの配置情報を検索することができる。 As described above, according to the seventh embodiment, the user can search the placement information of the protocol header of the packet including the protocol header, using the arbitrary protocol header information as the matching information.
なお、実施の形態7では、フォーマット変換装置10に対応付部716をさらに追加した構成を例として説明したが、これに限らない。対応付部716は、フォーマット変換装置210,310,410,510,610に追加することも可能である。
In the seventh embodiment, the configuration in which the correspondence unit 716 is further added to the
また、実施の形態1〜7では、解析装置20とフォーマット変換装置10,210,310,410,510,610,710とは別の装置である例について説明したが、解析装置20が、フォーマット変換装置10,210,310,410,510,610,710の機能を有していてもよい。
Further, in the first to seventh embodiments, the example in which the
[システム構成等]
図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
[System configuration, etc.]
The respective constituent elements of the illustrated devices are functionally conceptual, and do not necessarily have to be physically configured as illustrated. That is, the specific form of distribution/integration of each device is not limited to the one shown in the figure, and all or part of the device may be functionally or physically distributed/arranged in arbitrary units according to various loads and usage conditions. It can be integrated and configured. Further, each processing function performed by each device may be realized in whole or in an arbitrary part by a CPU and a program analyzed and executed by the CPU, or may be realized as hardware by a wired logic.
また、本実施の形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的におこなうこともでき、あるいは、手動的に行なわれるものとして説明した処理の全部又は一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。 Further, of the processes described in the present embodiment, all or part of the processes described as being automatically performed may be manually performed, or the processes described as being manually performed. Alternatively, all or part of the above can be automatically performed by a known method. In addition, the processing procedures, control procedures, specific names, and information including various data and parameters shown in the above-mentioned documents and drawings can be arbitrarily changed unless otherwise specified.
[プログラム]
図47は、プログラムが実行されることにより、フォーマット変換装置10,210,310,410,510,610,710が実現されるコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
[program]
FIG. 47 is a diagram showing an example of a computer in which the
メモリ1010は、ROM1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
The
ハードディスクドライブ1090は、例えば、OS(Operating System)1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、フォーマット変換装置10,210,310,410,510,610,710の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、フォーマット変換装置10,210,310,410,510,610,710における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。
The hard disk drive 1090 stores, for example, an OS (Operating System) 1091, an
また、上述した実施の形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。
Further, the setting data used in the processing of the above-described embodiment is stored as the
なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN、WAN等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
The
以上、本発明者によってなされた発明を適用した実施の形態について説明したが、本実施の形態による本発明の開示の一部をなす記述及び図面により本発明は限定されることはない。すなわち、本実施の形態に基づいて当業者等によりなされる他の実施の形態、実施例及び運用技術等は全て本発明の範疇に含まれる。 The embodiments to which the invention made by the present inventor is applied have been described above, but the present invention is not limited to the description and the drawings, which form a part of the disclosure of the present invention according to the present embodiment. That is, all other embodiments, examples, operation techniques and the like made by those skilled in the art based on the present embodiment are included in the scope of the present invention.
1 通信システム
10,210,310,410,510,610,710 フォーマット変換装置
20 解析装置
11 パケット入力部
12,212,312,4151,5151,6151 プロトコルスタック判別部
13 パケットフォーマット変換部
14 パケット出力部
412 ミラー部
413 パケットキャプチャ部
414,514 学習部
415,515,615 フォーマット変換部
4141,5141 プロトコルスタック解析部
4142 パターン分布格納部
4143 判別木作成部
4144 パターン分布DB
5142 パターン格納部
5143 判別論理式作成部
5144 パターンDB
716 対応付部
7161 パケットデコード部
7162 パース部
7163 格納部
7164 DB
7165 検索部
N ネットワーク
1
5142
7165 Search Department N Network
Claims (4)
トンネリングを行うためにEtherヘッダ以降に付加された任意のプロトコルヘッダがスタックされたパケットの入力を受け付ける入力部と、
標準化された各プロトコルのヘッダ情報を示すプロトコルconfigファイルを用いて、入力されたパケットの下位ヘッダから順次捜査してプロトコルスタックパターンを解析し、解析結果を基に、プロトコルスタックパターンを判別する判別木、または、パケット内の特定bit列に基づいてプロトコルスタックパターンを判別する判別論理式を判別ルールとして作成する判別ルールを作成する学習部と、
前記学習部によって作成された判別ルールにしたがって、入力されたパケットの各プロトコルヘッダの種別と配置とを示すプロトコルスタックパターンを判別する第1の判別部と、
前記第1の判別部によって判別されたプロトコルスタックパターンを基に、前記パケットのフォーマットを、前記解析装置の解析対象以外のプロトコルヘッダを除外したフォーマットに変換する変換部と、
前記変換部がフォーマットを変換したパケットを前記解析装置に出力する出力部と、
を有することを特徴とするフォーマット変換装置。 A format conversion device provided in front of an analysis device for analyzing packets,
An input unit that receives an input of a packet in which an arbitrary protocol header added after the Ether header for tunneling is stacked,
Using the protocol config file that shows the standardized header information of each protocol, the protocol stack pattern is analyzed by sequentially searching from the lower header of the input packet, and the discrimination tree that determines the protocol stack pattern based on the analysis result. , Or a learning unit that creates a discrimination rule that creates a discrimination logic expression that determines the protocol stack pattern based on a specific bit string in a packet as a discrimination rule,
A first discrimination unit that discriminates a protocol stack pattern indicating the type and arrangement of each protocol header of the input packet according to the discrimination rule created by the learning unit;
A conversion unit that converts the format of the packet into a format excluding protocol headers other than the analysis target of the analysis device, based on the protocol stack pattern determined by the first determination unit;
An output unit that outputs the packet, the format of which is converted by the conversion unit, to the analysis device,
A format conversion device comprising:
前記記憶部に対し、任意のプロトコルヘッダ情報を照合情報とし、前記プロトコルヘッダを含むパケットのプロトコルヘッダの配置情報を検索する検索部と、
をさらに有することを特徴とする請求項1または2に記載のフォーマット変換装置。 A storage unit that stores the text information corresponding to each protocol header in the packet input by the input unit in association with the placement information of the protocol header of the packet;
A search unit that searches the storage unit for the protocol header arrangement information of the packet including the protocol header, using arbitrary protocol header information as collation information,
Format conversion apparatus according to claim 1 or 2, characterized in that it further comprises a.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017226004A JP6734248B2 (en) | 2017-11-24 | 2017-11-24 | Format conversion device and format conversion program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017226004A JP6734248B2 (en) | 2017-11-24 | 2017-11-24 | Format conversion device and format conversion program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019097069A JP2019097069A (en) | 2019-06-20 |
JP6734248B2 true JP6734248B2 (en) | 2020-08-05 |
Family
ID=66972103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017226004A Active JP6734248B2 (en) | 2017-11-24 | 2017-11-24 | Format conversion device and format conversion program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6734248B2 (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7294764B2 (en) * | 2019-12-05 | 2023-06-20 | 日本電信電話株式会社 | Format conversion device, method and program |
CN114793187B (en) * | 2021-01-07 | 2024-03-01 | 大唐移动通信设备有限公司 | L2TP message processing method, device and storage medium |
JP7480907B2 (en) * | 2021-02-16 | 2024-05-10 | 日本電信電話株式会社 | CONVERSION DEVICE, CONVERSION METHOD, AND CONVERSION PROGRAM |
WO2022176034A1 (en) * | 2021-02-16 | 2022-08-25 | 日本電信電話株式会社 | Conversion device, conversion method, and conversion program |
WO2024038523A1 (en) * | 2022-08-17 | 2024-02-22 | 日本電信電話株式会社 | Conversion device, conversion method, and conversion program |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6895020B2 (en) * | 2001-07-31 | 2005-05-17 | Agilent Technologies, Inc. | Method and apparatus for protocol pattern identification in protocol data units |
JP3985944B2 (en) * | 2001-11-22 | 2007-10-03 | 株式会社日立超エル・エス・アイ・システムズ | Network device and program |
KR20080057161A (en) * | 2006-12-19 | 2008-06-24 | 주식회사 케이티프리텔 | Intrusion protection device and intrusion protection method for point-to-point tunneling protocol |
JP5839340B2 (en) * | 2011-12-07 | 2016-01-06 | 日本電気株式会社 | Packet communication system, quality evaluation method in packet communication, packet analysis apparatus, control method thereof and control program |
JP2016086378A (en) * | 2014-10-29 | 2016-05-19 | 三菱電機株式会社 | Gateway device |
JP6290849B2 (en) * | 2015-11-27 | 2018-03-07 | 日本電信電話株式会社 | Traffic analysis system and traffic analysis method |
WO2018066228A1 (en) * | 2016-10-06 | 2018-04-12 | 日本電信電話株式会社 | Flow information analysis apparatus, flow information analysis method, and flow information analysis program |
-
2017
- 2017-11-24 JP JP2017226004A patent/JP6734248B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2019097069A (en) | 2019-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6734248B2 (en) | Format conversion device and format conversion program | |
CN104243315B (en) | Device and method for uniquely enumerating the path in analytic tree | |
KR101244604B1 (en) | Method and system for classifying data packets | |
US8577817B1 (en) | System and method for using network application signatures based on term transition state machine | |
US7813350B2 (en) | System and method to process data packets in a network using stateful decision trees | |
US9606781B2 (en) | Parser engine programming tool for programmable network devices | |
JP4268337B2 (en) | Router and method for optimal routing table compression | |
US6594655B2 (en) | Wildcards in radix- search tree structures | |
US7602780B2 (en) | Scalably detecting and blocking signatures at high speeds | |
US9143393B1 (en) | System, method and apparatus for classifying digital data | |
Meiners et al. | Split: Optimizing space, power, and throughput for TCAM-based classification | |
US10601851B2 (en) | Detecting cyber-attacks with sonification | |
WO2020228527A1 (en) | Data stream classification method and message forwarding device | |
CN110008385B (en) | Quick matching identification method and device based on character strings | |
CN104283786B (en) | System and method for the scalability for increasing software defined network | |
CN107404459B (en) | Method for acquiring fingerprint characteristics of network attack message and network equipment | |
CN111046938B (en) | Network traffic classification and identification method and equipment based on character string multi-mode matching | |
CN105491094A (en) | HTTP request handling method and device | |
CN112054992B (en) | Malicious traffic identification method and device, electronic equipment and storage medium | |
Maudoux et al. | Combined Forest: A New Supervised Approach for a Machine-Learning-based Botnets Detection | |
US11968286B2 (en) | Packet filtering using binary search trees | |
CN104954415A (en) | Method and apparatus for carrying out processing on HTTP request | |
KR100662254B1 (en) | Apparatus and Method for Packet Classification in Router | |
CN115190056A (en) | Method, device and equipment for identifying and analyzing programmable traffic protocol | |
JP4726310B2 (en) | Information retrieval apparatus, information retrieval multiprocessor and router |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190522 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200312 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200317 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200514 |
|
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: 20200707 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200709 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6734248 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |