JP2018101926A - Network device and abnormality detection system - Google Patents
Network device and abnormality detection system Download PDFInfo
- Publication number
- JP2018101926A JP2018101926A JP2016247446A JP2016247446A JP2018101926A JP 2018101926 A JP2018101926 A JP 2018101926A JP 2016247446 A JP2016247446 A JP 2016247446A JP 2016247446 A JP2016247446 A JP 2016247446A JP 2018101926 A JP2018101926 A JP 2018101926A
- Authority
- JP
- Japan
- Prior art keywords
- packet
- information
- entry
- network device
- managed
- 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.)
- Granted
Links
- 238000001514 detection method Methods 0.000 title claims description 75
- 230000005856 abnormality Effects 0.000 title claims description 24
- 230000005540 biological transmission Effects 0.000 claims abstract description 41
- 238000010801 machine learning Methods 0.000 claims description 9
- 238000009826 distribution Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 description 63
- 238000000034 method Methods 0.000 description 34
- 230000008569 process Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 108090000248 Deleted entry Proteins 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000007621 cluster analysis Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000008570 general process Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000013016 learning Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
本発明は、ネットワーク上装置および異常検知システムに関するものである。 The present invention relates to a device on a network and an abnormality detection system.
インターネットセキュリティにおける重要な課題の1つは、Distributed Denial of Sevice attack(DDoS)攻撃を検出することである。特に近年、リソース消費型DDoSと呼ばれる攻撃が出現している。一般的なDDoSが、大量のトラフィックを攻撃対象に送信することで回線帯域を圧迫させるのに対し、リソース消費型DDoSでは、Hypertext Transfer Protocol (HTTP)ヘッダを偽装した大きなデータを小さく分割した上で間隔を開けて攻撃対象に送信したり、Transmission Control Protocol(TCP)のウインドウサイズを極端に小さくして攻撃対象に送信したりする。 One important challenge in Internet security is detecting a Distributed Denial of Service attack (DDoS) attack. Particularly in recent years, attacks called resource consumption type DDoS have appeared. While general DDoS compresses the line bandwidth by sending a large amount of traffic to the attack target, resource-consuming DDoS divides large data that spoofs a Hypertext Transfer Protocol (HTTP) header into smaller pieces. The transmission is made to the attack target at an interval, or the transmission control protocol (TCP) window size is made extremely small to be sent to the attack target.
これによりTCPコネクションの接続時間を引き延ばし、攻撃対象となるサーバの接続コネクション数を消費して、サービス妨害する攻撃である。リソース消費型DDoSは一見正常に見えるトラフィックが低レートで送信されてくるため、攻撃の識別が困難である。
リソース消費型DDoSを検知するアプローチとして、ネットワーク上の通信装置でネットワーク統計を収集し、収集した統計を分析サーバで解析することで攻撃を検知する方法がある。
This is an attack that prolongs the connection time of the TCP connection, consumes the number of connection connections of the server to be attacked, and interferes with the service. In resource-consuming DDoS, seemingly normal traffic is transmitted at a low rate, so it is difficult to identify attacks.
As an approach for detecting resource-consuming DDoS, there is a method of detecting an attack by collecting network statistics with a communication device on the network and analyzing the collected statistics with an analysis server.
しかし、リソース消費型DDoSは非常に低レートの攻撃であるため、ネットワーク統計を欠落させることなく網羅的に採取する必要がある。一方で、ネットワーク上のトラフィックを網羅的に採取すると、フロー統計を管理するフローテーブルのサイズが肥大化し、メモリの消費が課題となる。 However, since resource consuming DDoS is a very low rate attack, it is necessary to collect it comprehensively without missing network statistics. On the other hand, if the traffic on the network is comprehensively collected, the size of the flow table for managing the flow statistics becomes large, and the memory consumption becomes a problem.
メモリを効率的に使用しつつフローテーブルを管理する技術として、特許文献1に記載の技術がある。特許文献1では、指定されたフロー、もしくは参照頻度の高いフローの情報を容量の小さい高速なメモリに配置し、それ以外のフローを容量の大きな低速なメモリに配置することで、フローテーブルに関する処理を高速化しており、メモリを効率的に使用しつつフローを管理する技術が開示されている。
As a technique for managing a flow table while efficiently using a memory, there is a technique described in
特許文献1に記載の技術では、メモリにおける配置の優先度が、フローそのものが指定されるか、フローの情報への参照頻度が多い順に決まる。そのため、リソース消費型DDoSのように、フローをあらかじめ指定できず、かつトラフィック量が小さいため情報への参照頻度が低いフローの統計情報は、優先度が低くなり、フローテーブルがメモリの容量を圧迫した場合に欠落し、リソース消費型DDoSを検知するための統計情報を収集できない可能性がある。
In the technique disclosed in
そこで、本発明の目的は、ネットワークの統計情報を記憶するメモリの容量が小さい場合であっても、攻撃の性質に応じた統計情報の収集を可能にすることにある。 Therefore, an object of the present invention is to enable collection of statistical information according to the nature of the attack even when the capacity of a memory for storing statistical information of the network is small.
本発明に係る代表的なネットワーク装置は、ネットワークの統計情報を管理するネットワーク装置であって、前記ネットワークからパケットを受信する受信部と、前記受信部が受信したパケットの統計情報を第1のテーブルのエントリ単位で管理し、前記第1のテーブルのエントリの置換ルールと、置換されるエントリの統計情報の送信条件を第2のテーブルで管理し、前記第2のテーブルで管理される置換ルールに基づいて前記第1のテーブルのエントリを置換し、前記第2のテーブルで管理される送信条件に基づいて前記第1のテーブルのエントリの統計情報を送信するよう制御する管理部と、を備えたことを特徴とする。 A representative network device according to the present invention is a network device that manages network statistical information, a receiving unit that receives a packet from the network, and a statistical information of a packet received by the receiving unit in a first table. The entry replacement rule of the first table and the transmission condition of the statistical information of the entry to be replaced are managed by the second table, and the replacement rule managed by the second table is used. And a management unit that controls to replace the entry of the first table based on and transmit the statistical information of the entry of the first table based on the transmission condition managed by the second table. It is characterized by that.
本発明によれば、ネットワークの統計情報を記憶するメモリの容量が小さい場合であっても、攻撃の性質に応じた統計情報の収集が可能になる。 According to the present invention, it is possible to collect statistical information according to the nature of the attack even when the capacity of the memory storing the statistical information of the network is small.
(システムの構成)
実施例1におけるネットワークを含むシステムの構成の例を図1に示す。実施例1のシステムは、ネットワークに接続し通信を行う複数の端末10(端末10a、10b、10nのそれぞれを区別することなく代表的に端末を指し示す場合に端末10と記載し、他の符号も同じ記載とする)及びサーバ20と、ネットワークに配置されたルータ100と、ルータ100に接続する分析サーバ200を備える。
(System configuration)
An example of the configuration of a system including a network in the first embodiment is shown in FIG. In the system of the first embodiment, a plurality of
ルータ100は、各ルータ100を通過する端末10及びサーバ20のネットワークトラフィックの統計をフロー毎に収集し、分析サーバ200に通知する。図1の例ではルータ100cが分析サーバに接続されているため、ルータ100a、100bはルータ100cを経由して分析サーバ200に通知してもよい。また、ルータ100a、100bも図示を省略した回線を通じて分析サーバ200に通知してもよい。
The
分析サーバ200はルータ100から通知された統計を蓄積して学習し、学習した値の範囲から外れた統計値を異常判定する。また、実施例1の構成では、分析サーバ200は管理端末としても動作し、管理者は分析サーバ200を介してルータ100や分析サーバ200のパラメータを設定することが可能である。ただし、分析サーバ200と管理端末は必ずしも同一の機器に実装される必要はなく、別々の装置として配置されてもよい。
The
(分析サーバ200及びルータ100の構成)
分析サーバ200及びルータ100の構成の例を図2に示す。分析サーバ200は、コレクタ処理部220と、異常検知部210と、入力部230を備える。コレクタ処理部220は、ルータ100から送信される統計パケットを受信し、統計情報を蓄積する。入力部230は、管理端末としての動作し、管理者が入力したルータ100と分析サーバ200への設定情報を受け付け、分析サーバ200内では異常検知部210への設定情報、ルータ100への設定情報を通知する。
(Configuration of
An example of the configuration of the
異常検知部210は、コレクタ処理部220により収集した統計情報を機械学習により解析し、正常な通信と攻撃の通信とを判定する。機械学習にはSupport Vector Machine(SVM)、あるいはクラスタ解析などを用いてもよいが、これらの機械学習の内容は実施例1の特徴ではなく、一般的に知られ実施されているため、詳しい説明を省略する。また、異常検知部210は、異常検知の分析手段を管理するための異常検知管理情報1001を保持する。
The
異常検知管理情報1001の例を図3に示す。異常検知管理情報1001は検知対象1011と検知条件1012の対応情報を持つ。検知対象1011には例えばリソース消費型DDoSといった攻撃の種別が格納される。検知条件1012には、機械学習や異常判定に使用する統計情報の項目や、重み付けのパラメータが格納される。
An example of the abnormality
管理者により、入力部230を介して検知対象1011に格納された種別のいずれかが指定され、異常検知部210は、指定された検知対象1011に対応する検知条件1012に従って、実行すべき異常検知の条件を設定する。
One of the types stored in the
図3の例では、検知対象1011のリソース消費型DDoSを検知するための検知条件1012として、後述するフローテーブルA、B、C(名称A、B、Cで識別されるフローテーブル)の異なり数及びパケット送信間隔(ルータ100でのパケットの受信間隔)が閾値以上のパケット数、統計の採取時間を機械学習の入力として使用することを示す。また、図3の例では、理解しやすいように言葉の説明で表現したが、実際の異常検知管理情報1001は、それらの内容を表すプログラムであってもよいし、テーブルとして保持される値であって、それらの内容を表す特定の値であってもよい。
In the example of FIG. 3, the number of different flow tables A, B, and C (flow tables identified by names A, B, and C), which will be described later, as
なお、これらの統計情報はリソース消費型DDoSの検知に特に有効な統計情報の例であるが、他に機械学習の入力として、パケット数と、パケットサイズの合計と、TCPフラグのカウント数と、パケットサイズの分布と、パケットの送信間隔(受信間隔)の分布などの統計情報の中の1つまたは複数が検知条件1012として含まれてもよい。
Note that these statistical information is an example of statistical information that is particularly effective for detecting resource-consuming DDoS, but as other inputs for machine learning, the number of packets, the total packet size, the count number of TCP flags, One or a plurality of statistical information such as a distribution of packet sizes and a distribution of packet transmission intervals (reception intervals) may be included as the
図2に示した分析サーバ200のコレクタ処理部220と、異常検知部210と、入力部230は、専用のハードウェアで実現されてもよいし、分析サーバ200のコンピュータとしてのプロセッサのプログラムを実行する処理により実現されてもよい。また、専用のハードウェアと、プロセッサのプログラムを実行する処理との組み合わせにより実現されてもよい。
The
ルータ100は、制御部110と、受信パケット処理部120と、検索処理部160と、ルーティングテーブル170と、送信パケット処理部130と、トラフィック統計処理部140と、統計テーブル150を備える。パケットを中継する一般的なルータの処理を含み、受信パケット処理部120は、入力ポートを経由してパケットを受信し、検索処理部160へとパケットのヘッダ情報を出力する。
The
検索処理部160は入力されたヘッダ情報を用いてルーティングテーブル170を検索し、ネクストホップと出力ポートを決定し、受信パケット処理部120へと通知する。受信パケット処理部120は、ネクストホップと出力ポート及びパケットを送信パケット処理部130へと出力する。
The
送信パケット処理部130は、パケットのMedia Access Control(MAC)ヘッダと(Internet Protocol)IPヘッダのTime To Live(TTL)などの書き換えを行い、決定された出力ポートからパケットを送信する。以上が一般的なルータとしての動作であるが、これら以外に一般的なルータの処理を含んでもよい。
The transmission
制御部110は、ルーティングプロトコルに基づいて他のルータ100とルーティングテーブル170の経路情報を交換したり、分析サーバ200と通信して、管理者により入力された設定情報を受信したりする。そして、制御部110は、受信パケット処理部120、送信パケット処理部130、検索処理部160、トラフィック統計処理部140へ、管理者により設定される各種パラメータを変更する。
The
トラフィック統計処理部140は、受信パケット処理部120からパケットのヘッダ情報を入力し、入力されたヘッダ情報に基づいてトラフィックの統計情報を生成する。統計テーブル150は、トラフィック統計処理部140が生成した統計情報を後述するフローテーブルの形式で保持する。
The traffic
トラフィック統計処理部140の例を図4に示す。トラフィック統計処理部140は、ヘッダ情報蓄積部142と、統計テーブル管理部143と、統計パケット生成部141を備える。各部の処理を実行するための各種パラメータは、制御部110を介してあらかじめ設定される。
An example of the traffic
ヘッダ情報蓄積部142は、パケットのヘッダ情報を受信パケット処理部120から受け取り、統計テーブル管理部143に出力する。統計テーブル管理部143は、後述するエントリ更新方法管理情報3001を備え、ヘッダ情報蓄積部142から入力されたヘッダ情報とエントリ更新方法管理情報3001に従って統計テーブル150を更新する。
The header
統計テーブル150のエントリが統計パケット生成の条件を満たした場合、統計テーブル管理部143は、統計パケット生成部141へ条件を満たしたエントリの統計情報を出力する。統計パケット生成部141は、入力されたエントリの統計情報を送信するためのフォーマットに変換し、ルータ100の送信パケット処理部130に出力する。
When the entry of the statistical table 150 satisfies the condition for generating the statistical packet, the statistical
なお、統計パケットの送信先である分析サーバ200のアドレス及び統計パケットを生成する条件は、管理者によって制御部110を介して事前に設定される。統計パケットを生成する条件の例として、統計情報に含まれる特定の項目に対する閾値や、統計情報を採取し始めてからの経過時間、統計情報が最後に更新されてからの経過時間などが設定されてもよい。
Note that the address of the
統計テーブル150の例を図5に示す。統計テーブル150は、トラフィックの統計情報をフロー毎に管理するためのフローテーブル5001を少なくとも1つ以上備え、統計テーブル150に備えられたフローテーブル5001は制御部110を介して管理者によってあらかじめ設定される。フローテーブル5001aにはA、フローテーブル5001bにはB、フローテーブル5001cにはC、フローテーブル5001nにはNというような名称(識別情報)が付けられる。
An example of the statistics table 150 is shown in FIG. The statistical table 150 includes at least one flow table 5001 for managing traffic statistical information for each flow. The flow table 5001 included in the statistical table 150 is preset by an administrator via the
フローテーブル5001の例を図6A〜6Cに示す。フローテーブル5001は、5−tupple(5タプル)すなわち送信元IPアドレス(S−IP)、送信先IPアドレス(D−IP)、送信元ポート番号(S−PT)、送信先ポート番号(D−PT)、プロトコル番号(PCL)の5つから任意に選択された組み合わせをキー項目としたテーブルであり、その組み合わせは管理者によって設定される。 Examples of the flow table 5001 are shown in FIGS. The flow table 5001 includes a 5-tuple (namely, a source IP address (S-IP), a destination IP address (D-IP), a source port number (S-PT), and a destination port number (D-). PT) and a protocol number (PCL) are combinations arbitrarily selected from five, and the table is set by the administrator.
例えば図6A〜6Cに示すように、キー項目の組み合わせとして、フローテーブル5001には、フローテーブル5001a(S−IP、PCL)、フローテーブル5001b(S−IP、D−IP、PCL)、フローテーブルC5001c(S−IP、D−IP、PCL、S−PT、D−PT)などが定義される。 For example, as shown in FIGS. 6A to 6C, as a combination of key items, a flow table 5001 includes a flow table 5001a (S-IP, PCL), a flow table 5001b (S-IP, D-IP, PCL), and a flow table. C5001c (S-IP, D-IP, PCL, S-PT, D-PT) and the like are defined.
キー項目の内容(値)が1つでも異なれば、すなわちフローテーブル5001bの送信元IPアドレスの値と送信先IPアドレスの値がそれぞれ同じ2つのフローであってもプロトコル番号が異なれば、異なるエントリとなる。統計テーブル管理部143は、ヘッダ情報蓄積部142から受信したヘッダ情報に基づいて、フローテーブル毎にエントリを検索し、一致するキー項目を持つエントリの統計情報を更新する。
If even one key item content (value) is different, that is, two flows having the same source IP address value and destination IP address value in the flow table 5001b, different protocol numbers are used. It becomes. The statistical
各フローテーブル5001a、5001b、5001cが保持する統計情報には、パケット数と、統計パケット生成の条件を満たすまでの採取時間と、異なり数と、送信間隔(受信間隔)が閾値以上のパケットの数などが含まれる。また、送信元から送信先への統計情報に加えて、送信先から送信元への統計情報が含まれてもよい。 The statistical information held by each flow table 5001a, 5001b, 5001c includes the number of packets, the sampling time until the condition for generating statistical packets is satisfied, the number of differences, and the number of packets whose transmission interval (reception interval) is greater than or equal to the threshold value. Etc. are included. In addition to statistical information from the transmission source to the transmission destination, statistical information from the transmission destination to the transmission source may be included.
異なり数は、5−tuppleのうち、キー項目に含まれない項目のユニークな組み合わせの数である。例えば、フローテーブル5001aにおける異なり数とは、キー項目(送信元IPアドレスとプロトコル番号)に含まれない送信先IPアドレス、送信元ポート番号、送信先ポート番号のユニークな組み合せの数である。 The number of differences is the number of unique combinations of items that are not included in the key items in 5-tuple. For example, the different number in the flow table 5001a is the number of unique combinations of a destination IP address, a source port number, and a destination port number that are not included in the key items (source IP address and protocol number).
フローテーブル5001bにおける異なり数とは、キー項目(送信元IPアドレス、送信先IPアドレス、プロトコル番号)に含まれない送信元ポート番号と送信先ポート番号のユニークな組み合せの数である。フローテーブル5001cはキー項目として5−tuppleの5項目を含むため、異なり数はない。 The different number in the flow table 5001b is the number of unique combinations of the source port number and the destination port number that are not included in the key items (source IP address, destination IP address, protocol number). Since the flow table 5001c includes five items of 5-tuple as key items, there is no different number.
統計情報は、図6A〜6Cの例に限定されるものではなく、この他の統計情報として、パケットサイズの合計と、TCPフラグのカウント数と、パケットサイズの分布と、パケットの送信間隔(受信間隔)の分布の中の1つまたは複数が含まれてもよい。また、フローの情報が置き換えられて破棄されるためのLeast Recently Used(LRU)の管理情報が含まれてもよい。 The statistical information is not limited to the examples shown in FIGS. 6A to 6C. Other statistical information includes the total packet size, the TCP flag count, the packet size distribution, and the packet transmission interval (reception). One or more of the (space) distributions may be included. Also, management information for the Last Recently Used (LRU) for replacing and discarding the flow information may be included.
なお、実施例1でフローテーブル5001は、いずれもセットアソシエイティブの形態をとる。セットアソシエイティブで構成されるテーブルのフォーマットの例を図7に示す。セットアソシエイティブのテーブル6001は、1つのライン番号あたりにN個(Nは1以上の整数)のエントリ番号を保持する(N個の格納欄がある)。ここで、本実施例では図7でエントリ番号を保持する例を説明するが、図6A〜6Cに示したエントリの内容そのものを保持してもよい。 In the first embodiment, the flow table 5001 is in the form of set associative. An example of the format of a table composed of set associative is shown in FIG. The set associative table 6001 holds N entry numbers (N is an integer of 1 or more) per line number (there are N storage fields). In this embodiment, an example in which the entry number is held in FIG. 7 will be described. However, the contents of the entries shown in FIGS. 6A to 6C may be held.
図7の例ではライン番号あたり4つのエントリ番号を保持し、このようなテーブルは4−wayセットアソシエイティブのテーブルと呼ばれる。実施例1におけるセットアソシエイティブのテーブル6001は、フローテーブル5001aとフローテーブル5001bなどで区別されるフローテーブル5001のそれぞれに対して設けられる。 In the example of FIG. 7, four entry numbers are held per line number, and such a table is called a 4-way set associative table. The set associative table 6001 according to the first embodiment is provided for each of the flow tables 5001 distinguished by the flow table 5001a and the flow table 5001b.
キー項目の値が指定されてフローテーブル5001が更新される場合、セットアソシエイティブのテーブル6001においてエントリ番号を絞るため、まず、指定されたキー項目の値がハッシュ関数に入力され、ハッシュ値が算出される。ここでハッシュ関数は、一般的な、ハッシュ値の衝突をある程度許容するが計算処理の軽いCyclic Redundancy Check(CRC)、city−hash、farm−hashなどであってもよい。 When the value of the key item is specified and the flow table 5001 is updated, in order to narrow down the entry number in the set associative table 6001, first, the value of the specified key item is input to the hash function, and the hash value is calculated. Is done. Here, the hash function may be a general redundancy check (CRC), a city-hash, a farm-hash, or the like that allows a certain amount of hash value collisions but is light in calculation processing.
算出されたハッシュ値はライン番号として、ライン番号に対応する1〜4つのエントリ番号がテーブル6001から取得され、取得された1〜4つのエントリ番号にフローテーブル5001でそれぞれ対応するキー項目の値が取得される。取得されたキー項目の値いずれかと指定されたキー項目の値が一致し、同一値のキー項目のエントリがある場合、フローテーブル5001で該当エントリの統計情報が更新される。 As the calculated hash value, as the line number, 1 to 4 entry numbers corresponding to the line number are acquired from the table 6001, and the values of the key items respectively corresponding to the acquired 1 to 4 entry numbers in the flow table 5001 are obtained. To be acquired. If any of the acquired key item values matches the specified key item value and there is an entry with the same key item value, the statistical information of the corresponding entry is updated in the flow table 5001.
同一値のキー項目を持つエントリがなく、かつテーブル6001のエントリ番号の4つの格納欄に空きがある場合、エントリ番号が新たに付与されて、フローテーブル5001にエントリが登録されて、テーブル6001の空きに新たに付与されたエントリ番号が追加され、空きがない場合はエントリ番号の置換が行なわれる。 If there is no entry having the same value key item and there are vacant spaces in the four storage fields of the entry number of the table 6001, an entry number is newly assigned, and the entry is registered in the flow table 5001. A newly assigned entry number is added to the vacancy, and if there is no vacancy, the entry number is replaced.
なお、セットアソシエイティブの構成において、エントリ番号の置換には、LRUや疑似LRUが用いられることが一般的である。LRUでは、ライン毎の複数のエントリ番号のうち、最も未使用の時間の長いエントリ番号が、優先的に置換される処理である。 In the set associative configuration, LRU or pseudo LRU is generally used for replacement of entry numbers. In the LRU, among the plurality of entry numbers for each line, the entry number with the longest unused time is preferentially replaced.
また、LRUは処理時間が大きいために、セットアソシエイティブの構成で多くの場合は、処理を簡略化した疑似LRUが用いられる。この他にも、アクセスされた回数が小さいエントリから優先的に置換する方法も一般的である。 In addition, since the LRU has a long processing time, a pseudo LRU with simplified processing is often used in a set associative configuration. In addition, a method of preferentially replacing entries with a small number of accesses is also common.
しかし、LRU等の置換処理でフローテーブル5001やセットアソシエイティブのテーブル6001の更新を行った場合、リソース消費型DDoSのようなトラフィック量の小さいフローのエントリは置換対象となりやすく、異常検知に必要な統計情報が欠落してしまう可能性がある。そのため、統計テーブル管理部143は、エントリ更新方法管理情報3001を備える。
However, when the flow table 5001 or the set-associative table 6001 is updated by replacement processing such as LRU, a flow entry with a small traffic volume such as a resource consumption type DDoS is likely to be a replacement target and is necessary for abnormality detection. Statistical information may be lost. Therefore, the statistical
エントリ更新方法管理情報3001aの例を図8に示す。エントリ更新方法管理情報3001aは、検知対象3011の種別に対応した、エントリ置換のルール3021の情報と、エントリ置換時の統計パケットの生成条件3031の情報と、これらのルールを適用するフローテーブル3041としてフローテーブル5001a、5001b、5001cを識別する名称とを備える。なお、エントリ更新時の統計パケットの生成条件が備えられてもよい。
An example of the entry update
統計テーブル管理部143は、管理者によってあらかじめ指定された検知対象3011種別に対応したルール3021と、生成条件3031と、適用するフローテーブル3041をエントリの更新に使用する。図8のエントリ更新方法管理情報3001aに示すエントリ置換時の統計パケットの生成条件3031は、前述した統計パケットの生成条件とは異なり、エントリ置換時にのみ適用される。詳細は後述のエントリ更新のフローチャートで説明する。
The statistical
検知対象3011がリソース消費型DDoSに対するエントリ置換のルール3021の例として、パケット送信間隔(受信間隔)が閾値以上のパケット数が少ないものから優先的に置換するというルールが設定される。また、エントリ置換時の統計パケットの生成条件3031の例として、エントリ置換時にパケット送信間隔(受信間隔)が閾値以上のパケット数が一定以上というルールが設定される。そして、適用するフローテーブル3041の例として、フローテーブル5001の名称がA、B、Cであると設定される。
As an example of the
これにより、リソース消費型DDoSの検知に必要な統計情報を優先的に残し、統計情報を欠落させることなく分析サーバ200に通知することが可能となる。なお、エントリ置換のルール3021及び統計パケットの生成条件3031の情報としては、図8に示した例の他にも、統計情報に含まれる複数の項目及びその組み合せが設定されてもよい。
Thereby, it is possible to preferentially leave statistical information necessary for detecting the resource consumption type DDoS and notify the
また、検知対象3011の種別が管理者によって指定されていない場合(指定なしと設定されている場合)、統計テーブル管理部143は、疑似LRUのような一般的な処理を用いて、テーブル6001のエントリ番号の置換を行ってもよく、エントリ更新方法管理情報3001aの情報は、プログラムあるいはテーブルの値のいずれかであってもよい。
In addition, when the type of the
(システムの動作シーケンス)
実施例1のシステムにおける動作シーケンスの例を図9に示す。まず、管理者により分析サーバ200の入力部230を介して、分析サーバ200の異常検知管理情報1001に対して検知対象(の種別)が指定され、フローテーブル5001とエントリ更新方法管理情報3001の設定情報及び分析サーバ200のアドレスなどの設定情報が受け付けられて、ルータ100に対して送信される(ステップS501)。
(System operation sequence)
An example of an operation sequence in the system of the first embodiment is shown in FIG. First, the administrator designates the detection target (type) for the abnormality
設定情報を受信したルータ100は、制御部110を介してトラフィック統計処理部140の統計パケット生成部141、統計テーブル管理部143に設定を行い、統計収集処理を開始する(ステップS502)。トラフィックの統計収集を継続し、統計収集処理中に、統計パケットの生成条件を満たした場合、ルータ100は、統計情報を含む統計パケットを分析サーバ200に送信する(ステップS503)。
The
分析サーバ200は、統計パケットを受信すると、統計パケットに含まれる統計情報を蓄積する(ステップS504)。分析サーバ200は、管理者から与えられる学習指示を契機として、蓄積された統計情報を機械学習に入力し、正常か異常かを判定する判定器を作成する(ステップS505)。
When receiving the statistical packet, the
以降もルータ100は、トラフィックの統計収集を継続し、統計収集処理中に、統計パケットの生成条件を満たした場合、ルータ100は、統計情報を含む統計パケットを分析サーバ200に送信する(ステップS506)。分析サーバ200は、ルータ100から統計パケットを受信すると、統計パケットに含まれる統計情報を判定器へと入力して、正常か異常かの判定を行う(ステップS507)。
Thereafter, the
(統計テーブル150のエントリ更新のフローチャート)
統計テーブル管理部143が統計テーブル150を更新するフローチャートの例を図10に示す。統計テーブル管理部143は、ヘッダ情報蓄積部142からパケットのヘッダ情報を受け取ると、統計テーブル150のエントリ更新処理を開始する(ステップS701)。なお、受信パケット処理部120がパケットを受信すると、トラフィック統計処理部140へ受信されたパケットのヘッダ情報を出力し、トラフィック統計処理部140の中では、ヘッダ情報蓄積部142がヘッダ情報を受け取る。
(Flow chart for updating entries in the statistics table 150)
An example of a flowchart in which the statistics
統計テーブル管理部143は、各フローテーブル5001のキー項目に対応する5−tuppleの情報をパケットのヘッダ情報から抽出し、ハッシュ関数に入力してライン番号を算出する(ステップS702)。そして、算出されたライン番号を基にセットアソシエイティブのテーブル6001のラインにアクセスしてエントリ番号を取得し、エントリ番号を基にフローテーブル5001にアクセスしてキー項目の情報が一致するエントリを検索する(ステップS703)。
The statistical
一致するエントリがあり、ステップS703の検索にて見つかった場合、統計テーブル管理部143は、見つかったエントリの統計情報を更新する(ステップS704)。一致するエントリがない場合、統計テーブル管理部143は、ステップS702で算出されたライン番号のラインに空きがあるかを判定し(ステップS705)、空きがあると判定した場合は空きへ新規のエントリ番号を追加して、追加されたエントリ番号のエントリをフローテーブル5001に追加し(ステップS706)、追加されたエントリの統計情報を更新する(ステップS704)。
If there is a matching entry and is found by the search in step S703, the statistical
ステップS704においてエントリの統計情報を更新した後、統計テーブル管理部143は、更新されたエントリが、図8では図示を省略したエントリ更新時の統計パケットの生成条件を満たすかを判定する(ステップS707)。生成条件を満たすと判定した場合、統計テーブル管理部143は、統計パケット生成部141にパケット生成を通知し(ステップS708)、エントリ更新処理を終了する(ステップS709)。
After updating the statistical information of the entry in step S704, the statistical
なお、ステップS708に応じてパケットが生成されると、パケットの生成に用いられたエントリはフローテーブル5001から削除され、削除されたエントリのエントリ番号はセットアソシエイティブのテーブル6001から削除される。ステップS707において生成条件を満たさないと判定した場合、統計テーブル管理部143のエントリ更新処理はそのまま終了する(ステップS709)。
When a packet is generated according to step S708, the entry used for generating the packet is deleted from the flow table 5001, and the entry number of the deleted entry is deleted from the set associative table 6001. If it is determined in step S707 that the generation condition is not satisfied, the entry update process of the statistical
ステップS705においてラインに空きがないと判定した場合、統計テーブル管理部143は、エントリ更新方法管理情報3001に設定された、エントリ置換のルール3021に基づいてエントリを置換し(ステップS710)、エントリの統計情報を更新する(ステップS711)。
If it is determined in step S705 that there is no space in the line, the statistical
すなわち、セットアソシエイティブのテーブル6001において空きがないと判定されたラインの中からエントリ番号を、エントリ置換のルール3021に基づいて特定し、特定されたエントリ番号のエントリをフローテーブル5001から削除し、特定されたエントリ番号をセットアソシエイティブのテーブル6001から削除して、削除して空きとなった欄へ新たなエントリ番号とエントリを追加する。そして、追加されたエントリの統計情報を更新する。
That is, an entry number is identified from lines determined to be free in the set associative table 6001 based on the
その後、統計テーブル管理部143は、置換されるエントリがエントリ置換時の統計パケット生成条件3031を満たすかを判定し(ステップS712)、条件を満たすと判定した場合、統計パケット生成部141にパケット生成を通知し(ステップS708)、エントリ更新処理を終了する(ステップS709)。この際に生成される統計パケットには、エントリ置換時の統計パケット生成条件3031を満たしたことを示すフラグ情報が付加される。
Thereafter, the statistical
なお、ステップS708に応じてパケットが生成されると、パケットの生成に用いられたエントリはフローテーブル5001から削除され、削除されたエントリのエントリ番号はセットアソシエイティブのテーブル6001から削除される。ステップS712において生成条件を満たさないと判定した場合、統計テーブル管理部143のエントリ更新処理はそのまま終了する(ステップS709)。
When a packet is generated according to step S708, the entry used for generating the packet is deleted from the flow table 5001, and the entry number of the deleted entry is deleted from the set associative table 6001. If it is determined in step S712 that the generation condition is not satisfied, the entry update processing of the statistical
ステップS710において統計テーブル管理部143は、置換対象となって削除されるエントリの統計パケットを生成するように、統計パケット生成部141へ通知してもよい。また、削除されるエントリの情報があらかじめ設定された条件に適合するかを判定し、条件に適合すると判定した場合に、統計パケット生成部141へ通知してもよい。
In step S710, the statistical
(トラフィック統計処理部140と統計テーブル150の変形例)
以上の説明では、統計テーブル150のフローテーブル5001がセットアソシエイティブの形態として、フローテーブル5001のエントリへの処理を説明した。しかしながら、以上の説明の形態に限定されるものではなく、フローテーブル5001の他の形態として、キー項目からライン番号を求める際に複数のハッシュ関数を使用して複数のライン番号の候補を求め、その中から対象となるエントリを求めるようにしてもよい。
(Variation of traffic
In the above description, the process to the entry of the flow table 5001 has been described with the flow table 5001 of the statistical table 150 being set associative. However, the present invention is not limited to the above-described form. As another form of the flow table 5001, a plurality of line number candidates are obtained using a plurality of hash functions when obtaining a line number from a key item. A target entry may be obtained from the list.
また、図2を用いて、トラフィック統計処理部140及び統計テーブル150がルータ100の内部に実装される例を説明したが、トラフィック統計処理部140及び統計テーブル150はルータ100の外部に配置される統計収集サーバ300に実装されてもよい。統計収集サーバ300を含む構成の例を図11に示す。
In addition, an example in which the traffic
ルータ100の制御部110と、検索処理部160と、ルーティングテーブル170と、分析サーバ200は図2を用いて説明したとおりであるが、ルータ100の受信パケット処理部120は、受信したパケットを複製して統計収集サーバ300へと送信する。また、送信パケット処理部130は、統計収集サーバ300から受信した統計パケットを分析サーバ200へ送信する。
The
ここで、受信パケット処理部120は、受信したパケットのヘッダ情報を統計収集サーバ300へ送信してもよく、このために、受信したパケットのヘッダ情報をデータとする新たなパケットを作成して統計収集サーバ300へ送信してもよい。
Here, the received
統計収集サーバ300のトラフィック統計処理部140と統計テーブル150は、図2、4〜10を用いて説明したとおりであり、トラフィック統計処理部140は、統計収集サーバ300が受信したパケットのヘッダ情報を入力し、統計情報を統計収集サーバ300からルータ100へ通知する。
The traffic
なお、統計収集サーバ300は、分析サーバ200とも接続され、ルータ100からは複製されたパケットを受信し、設定情報と統計情報を分析サーバ200と直接に送受信してもよい。統計収集サーバ300はプロセッサ310とメモリ320を備えた一般的なコンピュータでもよく、メモリ320に統計テーブル150とプログラム330が格納され、プログラム330をプロセッサ310が実行することにより、トラフィック統計処理部140となってもよく、図10を用いて説明した処理を実現するプログラムがプログラム330に含まれてもよい。そして、ルータ100はネットワークの一般的なスイッチあるいは一般的なルータに置き換えられてもよい。
Note that the
(リソース消費型DDoS以外の攻撃への応用)
以上の説明では、リソース消費型DDoSの検知における統計情報の欠落を課題とし、これを解決するための実施例を説明した。しかしながら、リソース消費型DDoSの検知に限定されるものではなく、リソース消費型DDoS以外の攻撃を検知することも可能であり、特にCommand and Control (C&C)サーバ通信やスキャン活動、フラッディングなどを検知対象とすることができる。
(Application to attacks other than resource-consuming DDoS)
In the above description, the lack of statistical information in the detection of resource consumption type DDoS is taken as a problem, and the embodiment for solving this has been described. However, it is not limited to detection of resource consumption type DDoS, and it is also possible to detect attacks other than resource consumption type DDoS, and in particular, detection of command and control (C & C) server communication, scanning activity, flooding, etc. It can be.
ところで、複数の検知対象を同じ時間内で監視する場合、検知対象それぞれの動作が異なり、エントリ置換のルール3021の内容が異なるため、エントリ置換のルール3021の複数の内容が競合して、他の検知対象に必要なエントリを置換対象としてしまい、全ての検知対象に関する統計を欠落することなく採取できない場合がある。
By the way, when a plurality of detection targets are monitored within the same time, the operation of each detection target is different, and the contents of the
これを防ぐため、ルータ100の統計テーブル管理部143は、以下に示す競合管理情報7001を保持し、競合管理情報7001の情報に従ってエントリ置換のルール3021の内容が競合する検知対象に対し、検知対象毎にフローテーブル5001を作成する。これにより、検知対象3011の第1の種別に対するエントリ置換のルール3021の内容を第1のフローテーブル5001へ適用しても、検知対象3011の第2の種別のための第2のフローテーブル5001へ影響しない。
In order to prevent this, the statistical
検知対象を複数とした場合のエントリ更新方法管理情報3001bの例を図12に示す。この例では、リソース消費型DDoSとC&Cサーバのエントリ置換のルール3021は同じ内容のルールであり競合しないが、フラッディングとはエントリ置換のルール3021が異なる内容のルールであり、そのルールの内容からフローテーブルのA、Bにおいて競合する可能性がある。
FIG. 12 shows an example of entry update
このような競合の発生する可能性があるので、統計テーブル管理部143は、エントリ置換のルール3021が競合するかしないかを判定するために、競合管理情報7001を参照する。競合管理情報7001の例を図13に示す。競合管理情報7001には、検知対象ごとに、他のどの検知対象と競合しないかの情報が登録されている。図13の例では、リソース消費型DDoSとC&Cサーバ通信は競合しないが、フラッディングは競合する可能性があることを示す。
Since such a conflict may occur, the statistical
管理者がエントリ更新方法管理情報3001bと競合管理情報7001を設定する契機で、あるいはエントリ更新方法管理情報3001bと競合管理情報7001が予め設定され、管理者がエントリ更新方法管理情報3001bの検知対象3011の種別を指定する契機で、統計テーブル管理部143は、競合管理情報7001を検索して競合を判定する。
When the administrator sets the entry update
判定の結果、競合しないと判定した場合、統計テーブル管理部143は、検知対象3011の複数の種別に対して、共通のフローテーブル5001へエントリ置換のルール3021のそれぞれの内容のルールを適用し、共通のフローテーブル5001を用いて統計情報を処理する。
If it is determined that there is no conflict as a result of the determination, the statistical
判定の結果、競合する可能性があると判定した場合、統計テーブル管理部143は、競合する可能性があると判定された検知対象3011の種別に対応する、適用するフローテーブル3041の名称の一致を判定し、一致すると判定された名称のフローテーブル5001を一致する個数作成する。ここで、適用するフローテーブル3041の名称を予め設定された期間だけ識別できるように変更してもよい。
As a result of the determination, if it is determined that there is a possibility of conflict, the statistical
例えば、検知対象3011のリソース消費型DDoSとフラッディングとが競合する可能性があると判定した場合、リソース消費型DDoSに対応する、適用するフローテーブル3041のA、BをそれぞれA1、B1に変更し、フラッディングに対応する、適用するフローテーブル3041のA、BをそれぞれA2、B2に変更し、名称がA1、B1、A2、B2となる4つのフローテーブル5001を作成してもよい。
For example, when it is determined that there is a possibility that the resource consumption type DDoS of the
そして、統計テーブル管理部143は、それぞれのフローテーブル5001毎にエントリ置換のルール3021の内容のルールとエントリ置換時の統計パケット生成条件3031の内容の条件を適用する。なお、競合管理情報7001は、検索可能な情報の形態であれば、プログラムによる情報であってもよいし、テーブルとして値が保持されてもよい。
Then, the statistics
以上で説明したように、統計情報を含むフローテーブルを欠落なく記憶できる容量のメモリが無く、フローテーブルを記憶するメモリの容量が小さい場合であっても、リソース消費型DDoSのようなフローの統計情報を収集することが可能となる。また、逆にフローテーブルを記憶するメモリの容量を削減することが可能となる。 As described above, even if there is no memory having a capacity capable of storing a flow table including statistical information without omission and the capacity of the memory storing the flow table is small, the flow statistics like the resource consumption type DDoS It is possible to collect information. Conversely, the capacity of the memory for storing the flow table can be reduced.
(システムの構成)
実施例1では分析サーバ200で異常を検知する例を説明したが、実施例2では一般的なパケット解析装置でトラフィックを検閲する例を説明する。実施例2におけるネットワークを含むシステムの構成の例を図14に示す。実施例1で説明した図1の例との違いは、ルータ100cが新たにパケット解析装置400と接続している点である。このため、端末10とサーバ20及びルータ100a、100bは図1を用いて説明したとおりであるが、ルータ100cと分析サーバ200は図1を用いた説明とは異なる。
(System configuration)
In the first embodiment, an example in which an abnormality is detected by the
パケット解析装置400は具体的には、フォレンジックサーバやDeep Packet Inspection(DPI)装置などの解析装置である。分析サーバ200がルータ100から通知される統計情報を用いて異常を検知するのに対し、パケット解析装置400はルータ100からミラーリングやポリシーベースルーティングなどで送信されたパケットを受信して検閲する。
Specifically, the
パケット解析装置400は分析サーバ200よりも詳細な情報を解析することが可能であるが、ルータ100cとパケット解析装置400との間の回線帯域の容量が限られるために、ルータ100を経由する多量のトラフィックをパケット解析装置400が受信して監視することはできない。
The
実施例2の図14に示す分析サーバ200は、トラフィックの統計情報を網羅的に解析して一次スクリーニングを実施し、パケット解析装置400へと送信するフローを選択し、パケット解析装置400へのトラフィックを絞り込む。これにより、ルータ100とパケット解析装置400との間の限られた回線帯域容量が効率的に使用され、検閲する価値のあるトラフィックが監視される。
The
このように、リソース消費型DDoSをパケット解析装置400で監視するためには、分析サーバ200が、リソース消費型DDoSの疑いのあるトラフィックの統計情報をそのトラフィックの開始から短時間で検知し、パケット解析装置400へのパケット送信をルータ100cへ指示する必要がある。
Thus, in order to monitor the resource consumption type DDoS by the
しかし、リソース消費型DDoSは通信が低レートであり、実施例1で説明した統計パケットの生成条件を満たすまでに時間がかかるため、リソース消費型DDoSが開始されてから、パケット解析装置400でパケットを受信して検閲が始まるまでに時間がかかる。そのため、実施例2では、トラフィック統計処理部140のフローテーブル及びエントリ更新方法管理情報に後述する情報が追加されて、リソース消費型DDoSの早期検知を図る。
However, since the resource consumption type DDoS has a low communication rate, and it takes time until the condition for generating the statistical packet described in the first embodiment is satisfied, the
(フローテーブル5001dの構成)
実施例2におけるフローテーブル5001dの例を図15に示す。実施例1の図6を用いて説明したフローテーブル5001a〜5001cとの違いは、統計情報として、0か1の値をとる通知済フラグ5011の情報がエントリ毎に追加されている点である。通知済フラグ以外の統計情報と、エントリ番号と、キー項目は、既に説明したとおりである。図15に示した例は、キー項目が図6Aに相当するものであるが、図6B、6Cに相当するキー項目であってもよい。
(Configuration of flow table 5001d)
An example of a flow table 5001d in the second embodiment is shown in FIG. A difference from the flow tables 5001a to 5001c described with reference to FIG. 6 of the first embodiment is that information of a notified
通知済フラグ5011の値は、初期値が0であり、後述する早期検知パケットの生成条件が満たされた場合に1となる。いったん通知済フラグ5011が1になると、それ以後、1となったエントリに関する早期検知パケットは、早期検知パケットの生成条件が満たされても送信されない。
The value of the notified
(エントリ更新方法管理情報3001cの構成)
実施例2におけるエントリ更新方法管理情報3001cの例を図16に示す。実施例1の図8を用いて説明したエントリ更新方法管理情報3001aとの違いは、早期通知パケットの生成条件5012が追加されている点である。検知対象3011と、エントリ置換のルール3021と、エントリ置換時の統計パケット生成条件3031と、適用するフローテーブル3041は、既に説明したとおりである。
(Configuration of entry update
An example of the entry update
検知対象3011がリソース消費型DDoSに対し、早期通知パケットの生成条件5012の内容となる条件として、例えば、パケットの送信間隔(受信間隔)が閾値以上のパケット数が一定数以上と設定される。ここで、パケット数を判定するために、送信間隔(受信間隔)の閾値とは関連のない一定数(閾値)と比較されてもよい。
As a condition for the
そして、この一定数(閾値)として、十分に小さい値が設定されることにより、リソース消費型DDoSのトラフィックの可能性を、そのトラフィックの開始から短時間で判定でき、パケット解析装置400へのパケットの転送をルータ100cへ指示することが可能となる。また、一定数(閾値)を十分に小さくすることで、False Negative Rateを小さくできる。なお、一定数(閾値)は、エントリ置換のルール3021のパケット数が少ないものより小さい値が望ましい。
Then, by setting a sufficiently small value as this fixed number (threshold value), the possibility of resource-consuming DDoS traffic can be determined in a short time from the start of the traffic, and the packet to the
早期通知パケットの生成条件5012は、図10に示したフローチャートのステップS707において使用される。実施例2では、統計テーブル管理部143が、ステップS707において、実施例1と同様に更新されたエントリが、エントリ更新時の統計パケットの生成条件を満たすかを判定することに加え、早期通知パケットの生成条件5012の内容の条件を満たすかを判定する。
The early notification
ステップS707において早期通知パケットの生成条件5012の内容の条件を満たすと判定した場合、統計テーブル管理部143は、フローテーブル5001dの判定されたエントリの通知済フラグ5011を1に変更して、統計パケット生成部141に早期通知パケットの生成を通知する。
If it is determined in step S707 that the condition of the content of the early notification
この通知に対して、統計パケット生成部141は、統計情報に加えて早期通知パケットであることを示すフラグと検知対象の情報を早期通知パケットに含める。なお、以上で説明した早期通知パケットの生成においては、早期通知パケットを生成した後も、通知に使用されたエントリはフローテーブル5001dから削除されない。これにより、異なり数などの統計情報を、分析サーバ200の方でも異常を検知するのに十分な量採取することが可能となる。
In response to this notification, the statistical packet generation unit 141 includes, in addition to the statistical information, a flag indicating that it is an early notification packet and detection target information in the early notification packet. In the generation of the early notification packet described above, the entry used for notification is not deleted from the flow table 5001d even after the early notification packet is generated. As a result, statistical information such as the number of differences can be collected by the
(システムの動作シーケンスの説明)
実施例2のシステムにおける動作シーケンスの例を図15に示す。図15に示すようにパケット解析装置400の動作シーケンスが、図9に示した動作シーケンスに加わる。なお、ステップS901〜S905の説明は、実施例1における図9のステップS501〜505と同じ説明であるので、説明を省略する。
(Explanation of system operation sequence)
An example of an operation sequence in the system of the second embodiment is shown in FIG. As shown in FIG. 15, the operation sequence of the
ルータ100は、ステップS903でトラフィックの統計収集処理を開始した後、トラフィックの統計収集を継続し、早期通知パケットの生成条件5012を満たすと判定した場合、ルータ100は早期通知パケットを分析サーバ200に送信する(ステップS906)。
If the
分析サーバ200は早期通知パケットを受信すると、早期通知パケットに含まれるキー項目に一致するフローもしくはキー項目の一部を含むフローをパケット解析装置400へとミラーリングするよう、ルータ100へと設定指示を通知する(ステップS907)。ルータ100は設定指示を受信すると、設定指示で指定されるフローをパケット解析装置400へとミラーリングするよう、受信パケット処理部120及び送信パケット処理部130を制御する(ステップS908)。
When the
このミラーリングのために、受信パケット処理部120と送信パケット処理部130にミラーリングのための回路が設けられてもよいし、制御部110がルーティングテーブル170にミラーリングするルートを設定してもよい。パケット解析装置400は、ルータ100から送信されたパケットを受信すると、パケットを検閲し、異常か正常かの判定を行う(ステップS909)。
For this mirroring, a circuit for mirroring may be provided in the reception
以上で説明したように、リソース消費型DDoSの攻撃の始まりを早期に検知し、フローを絞り込んでパケット解析装置400で解析することが可能となり、ルータ100とパケット解析装置400の間の回線帯域容量を効率的に使用しつつ、トラフィックを漏れなく監視することが可能となる。
As described above, it is possible to detect the start of a resource-consuming DDoS attack at an early stage, narrow down the flow, and analyze it with the
100 ルータ
200 分析サーバ
300 統計収集サーバ
400 パケット解析装置
110 制御部
120 受信パケット処理部
130 送信パケット処理部
140 トラフィック統計処理部
150 統計テーブル
141 統計パケット生成部
143 統計テーブル管理部
100
Claims (15)
前記ネットワークからパケットを受信する受信部と、
前記受信部が受信したパケットの統計情報を第1のテーブルのエントリ単位で管理し、
前記第1のテーブルのエントリの置換ルールと、置換されるエントリの統計情報の送信条件を第2のテーブルで管理し、
前記第2のテーブルで管理される置換ルールに基づいて前記第1のテーブルのエントリを置換し、前記第2のテーブルで管理される送信条件に基づいて前記第1のテーブルのエントリの統計情報を送信するよう制御する管理部と
を備えたこと
を特徴とするネットワーク装置。 A network device for managing network statistical information,
A receiver for receiving packets from the network;
Managing statistical information of packets received by the receiving unit in units of entries in the first table;
The second table manages the replacement rule of the entry of the first table and the transmission condition of the statistical information of the entry to be replaced,
The entry information of the first table is replaced based on the replacement rule managed in the second table, and the statistical information of the entry in the first table is determined based on the transmission condition managed in the second table. A network device comprising: a management unit that controls transmission.
前記第1のテーブルのエントリは、前記ネットワークのパケットの5タプルに含まれる値により識別されること
を特徴とするネットワーク装置。 The network device according to claim 1,
The network device according to claim 1, wherein the entry of the first table is identified by a value included in a 5-tuple of a packet of the network.
前記管理部は、
前記受信部で第1のパケットを受信すると、
前記第1のパケットの5タプルに含まれる値と、前記第1のテーブルのエントリが識別される5タプルに含まれる値との一致により、前記第1のパケットに対応するエントリが前記第1のテーブルにあるかを判定すること
を特徴とするネットワーク装置。 The network device according to claim 2, wherein
The management unit
When the receiving unit receives the first packet,
Due to the match between the value contained in the 5-tuple of the first packet and the value contained in the 5-tuple from which the entry in the first table is identified, the entry corresponding to the first packet becomes the first A network device for determining whether or not a table exists.
前記第1のテーブルで管理される統計情報は、
前記受信部で既に受信された第2のパケットの受信間隔の情報と予め設定された時間に受信されたパケット数の情報を、エントリ毎に含み、
前記管理部は、
前記第1のパケットに対応するエントリが前記第1のテーブルに有ると判定すると、
前記第1のテーブルの有ると判定されたエントリの受信間隔の情報とパケット数の情報を、前記第1のパケットの情報で更新すること
を特徴とするネットワーク装置。 The network device according to claim 3, wherein
The statistical information managed in the first table is
Including, for each entry, information on the reception interval of the second packet already received by the receiver and information on the number of packets received at a preset time;
The management unit
If it is determined that the entry corresponding to the first packet is in the first table,
The network apparatus, wherein the information of the reception interval and the number of packets of the entry determined to be present in the first table are updated with the information of the first packet.
前記管理部は、
前記第1のパケットに対応するエントリが前記第1のテーブルに無いと判定すると、
前記第1のテーブルのエントリの空きを判定し、
空きがないと判定すると、前記第2のテーブルで管理される置換ルールに基づいて置換すること
を特徴とするネットワーク装置。 The network device according to claim 4, wherein
The management unit
If it is determined that there is no entry corresponding to the first packet in the first table,
Determining the availability of entries in the first table;
When it is determined that there is no free space, the network device is replaced based on a replacement rule managed by the second table.
前記管理部は、
前記第2のテーブルで管理される置換ルールに基づいて置換するため、前記第1のテーブルで管理される統計情報に含まれる受信間隔の情報とパケット数の情報を、前記第2のテーブルで管理される置換ルールへ適用し、置換されるエントリを特定すること
を特徴とするネットワーク装置。 The network device according to claim 5, wherein
The management unit
In order to perform replacement based on the replacement rule managed in the second table, the reception interval information and the packet count information included in the statistical information managed in the first table are managed in the second table. A network apparatus characterized by specifying an entry to be replaced by applying to a replacement rule to be replaced.
前記第2のテーブルで管理される置換ルールは、
受信間隔が予め設定された閾値以上であり、パケット数が少ないエントリから置換するという情報を含むこと
を特徴とするネットワーク装置。 The network device according to claim 6, wherein
The replacement rule managed in the second table is:
A network device characterized by including information that a reception interval is equal to or greater than a preset threshold and an entry having a small number of packets is replaced.
前記管理部は、
置換されると特定されたエントリを、前記第1のパケットの5タプルに含まれる情報と、前記第1のパケットの受信間隔の情報とパケット数の情報で置換すること
を特徴とするネットワーク装置。 The network device according to claim 7, wherein
The management unit
The network apparatus, wherein the entry identified as being replaced is replaced with information included in a 5-tuple of the first packet, information about a reception interval of the first packet, and information about the number of packets.
前記第2のテーブルで管理される送信条件は、
受信間隔が予め設定された閾値以上であり、パケット数が予め設定された一定数以上であるという情報を含み、
前記管理部は、
置換されると特定されたエントリの受信間隔の情報とパケット数の情報が、前記第2のテーブルで管理される送信条件を満たすか判定し、
送信条件を満たすと判定すると、置換されると特定されたエントリの受信間隔の情報とパケット数の情報を含む統計情報を送信するよう制御すること
を特徴とするネットワーク装置。 The network device according to claim 7, wherein
The transmission conditions managed in the second table are:
Including information that the reception interval is equal to or greater than a preset threshold and the number of packets is equal to or greater than a predetermined number;
The management unit
Determining whether the information of the reception interval and the number of packets of the entry specified when the replacement is satisfied satisfies the transmission condition managed in the second table;
When it is determined that the transmission condition is satisfied, control is performed so as to transmit statistical information including information on the reception interval of the specified entry and information on the number of packets when replaced.
前記第1のテーブルで管理される統計情報は、
さらに、TCPフラグの数、異なり数、採取時間、パケットサイズ、パケットサイズの分布、パケットの受信間隔の分布のいずれか1つ以上の情報を含むこと
を特徴とするネットワーク装置。 The network device according to claim 9, wherein
The statistical information managed in the first table is
The network apparatus further includes one or more information of the number of TCP flags, the number of different flags, the collection time, the packet size, the packet size distribution, and the packet reception interval distribution.
前記第2のテーブルは、
複数種類の検知対象の情報と、検知対象それぞれに対応付けられた置換ルールの情報と送信条件の情報を含み、
前記管理部は、
異なる種類の検知対象の組み合わせにおいて、前記第2のテーブルに含まれる置換ルールが競合する組み合わせを第3のテーブルで管理し、
検知対象の複数の指定を受け付け、
受け付けられた指定が、前記第3のテーブルの組み合わせであるかを判定し、
組み合わせであると判定すると、組み合わせに含まれる検知対象毎に前記第1のテーブルを生成すること
を特徴とするネットワーク装置。 The network device according to claim 10, comprising:
The second table is:
Including multiple types of detection target information, replacement rule information and transmission condition information associated with each detection target,
The management unit
In the combination of different types of detection targets, the combination in which the replacement rule included in the second table conflicts is managed in the third table,
Accept multiple designations of detection targets,
Determine whether the accepted designation is a combination of the third table;
When it is determined that the combination is a combination, the first table is generated for each detection target included in the combination.
統計情報を受信して機械学習により解析し、異常を検知するための判定器を生成する分析サーバと
前記ネットワークからパケットを受信する受信部と、前記受信部が受信したパケットの統計情報を第1のテーブルのエントリ単位で管理し、前記第1のテーブルのエントリの置換ルールと、置換されるエントリの統計情報の送信条件を第2のテーブルで管理し、前記第2のテーブルで管理される置換ルールに基づいて前記第1のテーブルのエントリを置換し、前記第2のテーブルで管理される送信条件に基づいて前記第1のテーブルのエントリの統計情報を前記分析サーバへ送信するよう制御する管理部とを備えたネットワーク装置と、
を備えること
を特徴とする異常検知システム。 An anomaly detection system using network statistics,
An analysis server that receives statistical information and analyzes it by machine learning to generate a determinator for detecting an abnormality, a receiving unit that receives a packet from the network, and first statistical information of a packet received by the receiving unit And the replacement rule of the entry in the first table and the transmission condition of the statistical information of the entry to be replaced are managed in the second table, and the replacement is managed in the second table. Management for replacing an entry in the first table based on a rule, and controlling to transmit statistical information of the entry in the first table to the analysis server based on a transmission condition managed in the second table A network device comprising:
An anomaly detection system comprising:
パケット解析装置をさらに備え、
前記ネットワーク装置は、前記ネットワーク装置の前記受信部で受信したパケットを送信する送信部をさらに備え、
前記ネットワーク装置の前記管理部は、
前記第2のテーブルで早期検知の情報の通知条件をさらに管理し、
前記第2のテーブルで管理される通知条件に基づいて早期検知を前記分析サーバへ通知するように制御し、
前記分析サーバは、
早期検知が通知されると、前記ネットワーク装置へミラーリングの設定指示を通知し、
前記ネットワーク装置の送信部は、ミラーリングの設定指示が通知されると、前記受信部で受信したパケットを前記パケット解析装置へ送信すること
を特徴とする異常検知システム。 An anomaly detection system according to claim 12,
A packet analysis device;
The network device further includes a transmission unit that transmits a packet received by the reception unit of the network device,
The management unit of the network device includes:
Further managing the early detection information notification conditions in the second table,
Control to notify the analysis server of early detection based on the notification condition managed in the second table,
The analysis server
When early detection is notified, the network device is notified of a mirroring setting instruction,
When the mirroring setting instruction is notified, the transmission unit of the network device transmits the packet received by the reception unit to the packet analysis device.
前記ネットワーク装置の前記管理部は、
前記第1のテーブルで早期検知の通知済みの情報をさらに管理し、
前記第1のテーブルで管理される早期検知の通知済みの情報が、通知済みでないことを示すと判定すると、前記第2のテーブルで管理される通知条件に基づいて早期検知を前記分析サーバへ通知するように制御し、前記第1のテーブルで管理される早期検知の通知済みの情報を、通知済みに変更すること
を特徴とする異常検知システム。 The anomaly detection system according to claim 13,
The management unit of the network device includes:
Further managing the information that has been notified of early detection in the first table,
When it is determined that the notified information of early detection managed in the first table indicates that notification has not been made, early detection is notified to the analysis server based on the notification condition managed in the second table. The abnormality detection system is characterized in that the information that has been notified of early detection managed in the first table is changed to notification.
前記ネットワークからパケットを受信し、受信されたパケットのパケットヘッダを出力する受信部と、受信されたパケットをルーティング先へ送信する送信部とを備えたルータと、
パケットヘッダを入力して蓄積する蓄積部と、蓄積されたパケットヘッダに基づいて、前記受信部が受信したパケットの統計情報を第1のテーブルのエントリ単位で管理し、前記第1のテーブルのエントリの置換ルールと、置換されるエントリの統計情報の送信条件を第2のテーブルで管理し、前記第2のテーブルで管理される置換ルールに基づいて前記第1のテーブルのエントリを置換し、前記第2のテーブルで管理される送信条件に基づいて前記第1のテーブルのエントリの統計情報を送信するよう制御する管理部とを備えた統計収集サーバと、
統計情報を受信して機械学習により解析し、異常を検知するための判定器を生成する分析サーバと
を備えること
を特徴とする異常検知システム。 An anomaly detection system using network statistics,
A router including a receiving unit that receives a packet from the network and outputs a packet header of the received packet; and a transmitting unit that transmits the received packet to a routing destination;
A storage unit that inputs and stores packet headers, and manages statistical information of packets received by the reception unit in units of entries in the first table based on the stored packet headers, and entries in the first table The replacement rule and the transmission condition of the statistical information of the entry to be replaced are managed in the second table, and the entry in the first table is replaced based on the replacement rule managed in the second table, A statistics collection server comprising: a management unit that controls to transmit the statistical information of the entry of the first table based on a transmission condition managed in the second table;
An abnormality detection system comprising: an analysis server that receives statistical information, analyzes the machine information by machine learning, and generates a determination unit for detecting the abnormality.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016247446A JP6652912B2 (en) | 2016-12-21 | 2016-12-21 | Network device and abnormality detection system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016247446A JP6652912B2 (en) | 2016-12-21 | 2016-12-21 | Network device and abnormality detection system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018101926A true JP2018101926A (en) | 2018-06-28 |
JP6652912B2 JP6652912B2 (en) | 2020-02-26 |
Family
ID=62715627
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016247446A Active JP6652912B2 (en) | 2016-12-21 | 2016-12-21 | Network device and abnormality detection system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6652912B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021044608A (en) * | 2019-09-06 | 2021-03-18 | 株式会社日立製作所 | Network security device and learning priority determination method |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004328307A (en) * | 2003-04-24 | 2004-11-18 | Mitsubishi Electric Corp | Attack defense system, attack defense control server, and attack defense method |
JP2006254134A (en) * | 2005-03-11 | 2006-09-21 | Alaxala Networks Corp | Communication statistic collection apparatus |
JP2008258996A (en) * | 2007-04-06 | 2008-10-23 | Alaxala Networks Corp | Statistical information collection device |
JP2011035932A (en) * | 2005-05-20 | 2011-02-17 | Alaxala Networks Corp | Network controller and controlling method thereof |
JP2014192710A (en) * | 2013-03-27 | 2014-10-06 | Oki Electric Ind Co Ltd | Voice communication quality measuring system, voice communication quality measuring method, voice communication quality measuring device, voice communication quality measuring program, voice communication quality requesting device, and voice communication quality requesting program |
US20160014146A1 (en) * | 2013-02-21 | 2016-01-14 | Nippon Telegraph And Telephone Corporation | Network monitoring apparatus, network monitoring method, and network monitoring program |
JP2016046669A (en) * | 2014-08-22 | 2016-04-04 | 沖電気工業株式会社 | Packet processing device, program and method |
-
2016
- 2016-12-21 JP JP2016247446A patent/JP6652912B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004328307A (en) * | 2003-04-24 | 2004-11-18 | Mitsubishi Electric Corp | Attack defense system, attack defense control server, and attack defense method |
JP2006254134A (en) * | 2005-03-11 | 2006-09-21 | Alaxala Networks Corp | Communication statistic collection apparatus |
JP2011035932A (en) * | 2005-05-20 | 2011-02-17 | Alaxala Networks Corp | Network controller and controlling method thereof |
JP2008258996A (en) * | 2007-04-06 | 2008-10-23 | Alaxala Networks Corp | Statistical information collection device |
US20160014146A1 (en) * | 2013-02-21 | 2016-01-14 | Nippon Telegraph And Telephone Corporation | Network monitoring apparatus, network monitoring method, and network monitoring program |
JP2014192710A (en) * | 2013-03-27 | 2014-10-06 | Oki Electric Ind Co Ltd | Voice communication quality measuring system, voice communication quality measuring method, voice communication quality measuring device, voice communication quality measuring program, voice communication quality requesting device, and voice communication quality requesting program |
JP2016046669A (en) * | 2014-08-22 | 2016-04-04 | 沖電気工業株式会社 | Packet processing device, program and method |
Non-Patent Citations (1)
Title |
---|
あきみち、ほか, マスタリングTCP/IP OPENFLOW編, vol. 第1版, JPN6019046921, 25 July 2013 (2013-07-25), ISSN: 0004167131 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021044608A (en) * | 2019-09-06 | 2021-03-18 | 株式会社日立製作所 | Network security device and learning priority determination method |
JP7319872B2 (en) | 2019-09-06 | 2023-08-02 | 株式会社日立製作所 | Network security device and learning priority determination method |
Also Published As
Publication number | Publication date |
---|---|
JP6652912B2 (en) | 2020-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10735379B2 (en) | Hybrid hardware-software distributed threat analysis | |
EP3420487B1 (en) | Hybrid hardware-software distributed threat analysis | |
US11811660B2 (en) | Flow classification apparatus, methods, and systems | |
Musumeci et al. | Machine-learning-enabled ddos attacks detection in p4 programmable networks | |
US9866426B2 (en) | Methods and apparatus for analyzing system events | |
EP3905622A1 (en) | Botnet detection method and system, and storage medium | |
US8923159B2 (en) | Processing network traffic | |
JP2018513592A (en) | Behavior analysis based DNS tunneling detection and classification framework for network security | |
WO2014055400A1 (en) | Network management | |
JP2007336512A (en) | Statistical information collecting system, and apparatus thereof | |
US9787585B2 (en) | Distributed storage system, control apparatus, client terminal, load balancing method and program | |
JP2017046149A (en) | Communication device | |
JP2016149698A (en) | Packet communication device and packet reception processing method | |
EP2530873B1 (en) | Method and apparatus for streaming netflow data analysis | |
US11516133B2 (en) | Flow cache management | |
CN111740909A (en) | Message processing method and device, network transmission equipment and message processing system | |
CN113765896A (en) | Internet of things implementation system and method based on artificial intelligence | |
US20160191368A1 (en) | Information processing device, method, and medium | |
JP6652912B2 (en) | Network device and abnormality detection system | |
US20140304813A1 (en) | Distributed network anomaly detection | |
JP7060800B2 (en) | Infection spread attack detection system and method, and program | |
JP4871775B2 (en) | Statistical information collection device | |
WO2018096685A1 (en) | Information processing device, method, and program | |
CN106603473B (en) | Network security information processing method and network security information processing system | |
JP7298438B2 (en) | Information processing program, information processing method, and information processing apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190219 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20191125 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20191203 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20191226 |
|
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: 20200114 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200124 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6652912 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |