JP4481780B2 - Method and apparatus for protecting against SYN packet bandwidth attack on TCP server - Google Patents

Method and apparatus for protecting against SYN packet bandwidth attack on TCP server Download PDF

Info

Publication number
JP4481780B2
JP4481780B2 JP2004278606A JP2004278606A JP4481780B2 JP 4481780 B2 JP4481780 B2 JP 4481780B2 JP 2004278606 A JP2004278606 A JP 2004278606A JP 2004278606 A JP2004278606 A JP 2004278606A JP 4481780 B2 JP4481780 B2 JP 4481780B2
Authority
JP
Japan
Prior art keywords
syn
queues
packet
tcp
queue
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
Application number
JP2004278606A
Other languages
Japanese (ja)
Other versions
JP2005110255A (en
JP2005110255A5 (en
Inventor
リン ドング
Original Assignee
アルカテル−ルーセント ユーエスエー インコーポレーテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US10/674,208 external-priority patent/US7219228B2/en
Application filed by アルカテル−ルーセント ユーエスエー インコーポレーテッド filed Critical アルカテル−ルーセント ユーエスエー インコーポレーテッド
Publication of JP2005110255A publication Critical patent/JP2005110255A/en
Publication of JP2005110255A5 publication Critical patent/JP2005110255A5/ja
Application granted granted Critical
Publication of JP4481780B2 publication Critical patent/JP4481780B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、一般にインターネット・セキュリティの分野に関し、より詳細には、SYN帯域幅攻撃として知られている、ある形態のサービス拒否(DDoS)攻撃から防御する問題に関する。   The present invention relates generally to the field of Internet security, and more particularly to the problem of defending against some form of denial of service (DDoS) attack known as SYN bandwidth attack.

サービス拒否(DDoS)攻撃は、限定されたサーバ・リソースが、正当なユーザの代わりに攻撃に割り当てられるときに、サービスを混乱させる。分散されたサービス拒否(DDoS)攻撃は、地理的に異なるインターネット・ノードから犠牲者へ向かう統合されたDoS攻撃を開始する。攻撃するマシンは、通常、遠隔マスタによって制御される損なわれたゾンビ・マシンである。通常攻撃の下のリソースは、リンク帯域幅、サーバ・メモリおよびCPU時間を含む。分散されたDoS攻撃は、特に攻撃者が、ネットワーク・トポロジの内部情報を有するときに、トラフィックを変換する集中効果のためにより強力である。ルート・ネーム・サWーバ上の「TCP SYP flood」、「smurf IP going」、および帯域幅攻撃は、全て以前に展開されたそのような攻撃の例である(各これらの攻撃は、当業者には良く知られている)。しかしながら、実際に、以前に知られているよりはるかに多くのそのような攻撃が存在することが報告されている。   A denial of service (DDoS) attack disrupts service when limited server resources are allocated to an attack on behalf of a legitimate user. A distributed denial of service (DDoS) attack initiates a consolidated DoS attack from a geographically different Internet node to a victim. The attacking machine is usually a compromised zombie machine controlled by a remote master. Resources under normal attacks include link bandwidth, server memory and CPU time. Distributed DoS attacks are more powerful due to the centralized effect of translating traffic, especially when the attacker has internal information on the network topology. “TCP SYP flood”, “smurf IP going”, and bandwidth attacks on the root name server are all examples of such attacks that were previously deployed (each of these attacks Well-known to vendors). In practice, however, it has been reported that there are many more such attacks than previously known.

リソース枯渇に抵抗するためのサーバ動作システムを改善する多くのアプローチが存在する。いくつかのアプローチは、ステートフル・ハンドシェーク・プロトコル(当業者には良く知られている)上の攻撃からサーバを保護するために、より良好なネットワーク・プロトコル・デザイン原理を考慮していた。IPトレース・バックは、他の良く知られているアプローチであり、攻撃するパケットをたどってその発信元に戻るネットワーク・ワイドの統合された努力である。しかしながら、そのようなアプローチは、明らかにネットワーク・ワイドの協働および調和を必要とする。
There are many approaches to improve server operating systems to resist resource depletion. Some approaches have considered better network protocol design principles to protect the server from attacks on stateful handshake protocols (well known to those skilled in the art). IP trace back is another well-known approach, a network-wide integrated effort that follows the attacking packet and returns to its source. However, such an approach clearly requires network-wide collaboration and harmonization.

さらに、DDoS攻撃ツールは、時間にわたって突然変異しかつ進化する傾向があり得る。例えば、エグレス・フィルタリングのより広い展開とともに、攻撃者は、疑う余地もなく、ほぼ開いたままとされるドア(例えば、TCP、DNS)を利用する。攻撃のサインは、検出を回避するために変更しまたは消えることができる。したがって、高度な将来の攻撃は、正当なものとほとんど識別できなくなりそうである。したがって、問題に対するフィルタリングだけに基づくアプローチは、有効ではないだけではなく不十分でもある。多くの間違った確実性は、調査を、新たな発見的研究に関する画板に戻させる。   In addition, DDoS attack tools may tend to mutate and evolve over time. For example, with wider deployment of egress filtering, attackers utilize doors (eg, TCP, DNS) that remain unquestionably almost open. The sign of the attack can be changed or disappeared to avoid detection. Therefore, it is likely that advanced future attacks will hardly be distinguished from legitimate ones. Thus, an approach based solely on filtering for the problem is not only ineffective but also inadequate. A lot of false certainty will bring the investigation back to the drawing board for new heuristic studies.

TCPサーバ上のある特定のタイプのDDoS攻撃は、その限定されたリソースが枯渇されるまで、目標のサーバへの新たなTCP接続を連続して生成することによって開始されることができ、したがって、正当なユーザからのサービス要求を受けなくさせる。(当業者に良く知られているように、TCPは、良く知られている標準の伝送制御プロトコルの防御部門である。例えば、Information Sciences InstituteによるDefence Advanced Research Projects Agencyに関して準備された「Transmission Contorol Protocol」、J.Postel、editor、Request for Comments(RFC)793、1981年9月、「www.faqs.org/rfcs/rfc793.html」を参照されたい。RFC793は、本明細書に完全に示されるように、参照によって本明細書に組み込まれる。)特に、そのような攻撃は、「SYN攻撃」として知られる。なぜなら、それらは、新たなTCP接続を開始させるように送られる、膨大な初期SYNパケットのほんのフラリからなるからである。(SYNパケットは、当業者には完全に知られている接続要求パケットである。それらは、例えば、上記に参照されたRFC793のTCP標準に定義されかつ説明される。)   A certain type of DDoS attack on a TCP server can be initiated by continuously creating new TCP connections to the target server until its limited resources are exhausted, thus Prevent service requests from legitimate users. (As is well known to those skilled in the art, TCP is a well-known standard transmission control protocol defense unit. For example, the “Transmission Control Protocol” prepared for the Defense Advanced Research Projects Agency by the Information Sciences Institute. "J. Postel, editor, Request for Comments (RFC) 793, September 1981, see" www.faqs.org/rfcs/rfc793.html ", which is fully presented herein. As such, it is incorporated herein by reference.) In particular, such attacks are known as “SYN attacks”. This is because they consist of a mere full of initial SYN packets that are sent to initiate a new TCP connection. (SYN packets are connection request packets that are well known to those skilled in the art. They are defined and described, for example, in the RFC 793 TCP standard referenced above.)

より詳細には、当業者には良く知られているように、各TCP接続は、SYNパケットで開始する。TCPサーバは、各有効なSYN要求にSYN、ACKで応答しなければならず、必要であれば再送信しなければならない。(ACKパケットは、当業者には完全に知られ、同様にRFC793で定義されかつ説明される承認パケットである。)SYNパケットは、パケットにおける前の状態なしに、一時的なファイアウオールを貫通する。SYNパケットは、また、サーバおよびファイアウオールを、新たな接続に関する準備でリソースを割り当てさせる。結果として、それらは、サービス拒否攻撃を開始する第1の可能性があるビークルである。
特許仮出願第60/497886号 Information Sciences InstituteによるDefense Advanced Research Projects Agencyに関して準備された「Transmission Control Protocol」、J.Postel、editor、Request for Comments(RFC)793、1981年9月、「www.fars.org/rfcs/erc793.html」
More specifically, each TCP connection begins with a SYN packet, as is well known to those skilled in the art. The TCP server must respond to each valid SYN request with SYN, ACK, and retransmit if necessary. (ACK packets are acknowledge packets that are fully known to those skilled in the art and are also defined and described in RFC 793.) SYN packets penetrate a temporary firewall without any previous state in the packet. The SYN packet also causes the server and firewall to allocate resources in preparation for a new connection. As a result, they are the first potential vehicles to initiate a denial of service attack.
Patent Provisional Application No. 60 / 497,886 “Transmission Control Protocol”, J., prepared for the Defense Advanced Research Projects Agency by Information Sciences Institute. Postel, editor, Request for Comments (RFC) 793, September 1981, “www.fars.org/rfcs/erc793.html”

実際、2つの異なる形態のSYN攻撃が存在する。SYN状態攻撃とSYN帯域幅攻撃である。SYN状態攻撃は、ハンドシェークの残りを完了することなく、接続要求SYNパケットを送ることによってTCPサーバを圧倒しようとし、サーバ上の「バックログ・キュー」を最終的にはオーバフローさせ、それによってサービス拒否を正当な要求にする。(当業者には良く知られているように、TCP接続は、3方向ハンドシェークを介して確立され、不完全な接続は、一般にパー・リスナ・キューに保持される。バックログ・キューの制限は、通常はむしろ小さい。)しかしながら、TCPサーバが、自身によってSYN状態攻撃に対して防御することを可能にする少なくとも2つの解決方法が存在し、1つの解決方法は、不完全な接続に使用されるメモリ量を低減することであり、他方の解決方法は、任意のメモリ使用を完全に排除することである。   In fact, there are two different forms of SYN attacks. SYN state attack and SYN bandwidth attack. A SYN state attack attempts to overwhelm the TCP server by sending a connection request SYN packet without completing the rest of the handshake, eventually causing the "backlog queue" on the server to overflow, thereby denying service Is a legitimate request. (As is well known to those skilled in the art, TCP connections are established via a three-way handshake, and incomplete connections are generally held in the par listener queue. However, there are at least two solutions that allow a TCP server to defend against a SYN state attack by itself, and one solution is used for incomplete connections. The other solution is to completely eliminate any memory usage.

しかしながら、他の形態のSYN攻撃は、SYN帯域幅攻撃である。SYN帯域幅攻撃は、「下流側」(すなわち、攻撃下のTCPサーバで)で扱うのがより困難である。一般的なSYNパケットは、ただ64バイト長であるにすぎないことに留意されたい。そのような最小サイズのパケットのバーストは、したがって、サーバ上でライブロックを引き起こす。(当業者には良く知られているように、「ライブロック」は、2つ以上のプロセスが、あらゆる有用な動作を行うことなく、他の1つまたは複数のプロセスにおける変化に応答してそれらの状態を連続して変化させるとき発生する状況である。)すなわち、デッドリー攻撃は、単にサーバのイングレス・リンクに多くのそのような小さなパケットでブラスティングすることからなり得る。多くの最適化が、受信器ライブロックを避けるために存在するが、一般に、帯域幅攻撃は、現在まで、さらに「上流側」だけで、すなわち損傷がサーバになされる前だけで扱われた。   However, another form of SYN attack is a SYN bandwidth attack. SYN bandwidth attacks are more difficult to handle “downstream” (ie, at the TCP server under attack). Note that a typical SYN packet is only 64 bytes long. Such a burst of minimum size packets therefore causes live locks on the server. (As is well known to those skilled in the art, “live rock” refers to two or more processes that respond to changes in one or more other processes without performing any useful operation. (Ie, a situation that occurs when the state of the server is continuously changed.) That is, a deadly attack may consist of simply blasting the server's ingress link with many such small packets. Many optimizations exist to avoid receiver livelock, but in general, bandwidth attacks have been dealt with up to now and only "upstream", i.e., before damage has been done to the server.

本発明者は、SYN帯域幅攻撃は、有利には保護されるべきネットワークのエッジに配置された(例えば、保護されたリンクからのある距離だけ上流側)「DDoSゲートウェイ」におけるSYNパケットをインターセプトしかつ識別し、かつ次に、本発明の原理にしたがって、他のTCPパケットから別々にこれらのインターセプトされたSYNパケットをキューイングすることによって、「下流側」で有効に扱われることができることを認識した。特に、本発明のある例示的な実施形態によれば、エッジ・パー・フロー・キューイングは、異なるプロトコル間の分離、およびリンクを共有する個別TCP接続間の分離を提供するために、有利にはDDoSゲートウェイで用いられる。(パー・フロー・キューイング技術は、当業者には良く知られている。)   The inventors have found that SYN bandwidth attacks intercept SYN packets in a “DDoS gateway” that is advantageously located at the edge of the network to be protected (eg, upstream a distance from the protected link). And recognize and then be able to be effectively handled "downstream" by queuing these intercepted SYN packets separately from other TCP packets in accordance with the principles of the present invention. did. In particular, according to an exemplary embodiment of the present invention, edge-per-flow queuing is advantageous to provide separation between different protocols and between individual TCP connections sharing a link. Is used in the DDoS gateway. (Per-flow queuing techniques are well known to those skilled in the art.)

さらに、本発明の原理にしたがって、SYNパケットは、他のTCPパケットから別々にキューイングされる。次に、DDoSゲートウェイのエグレス・スケジューラは、有利にはそれぞれ空でないキューに公正な共有を与え(有利には、SYNパケットのための別々のキューを含む)、それによって、SYNパケット(例えば、SYN帯域幅攻撃の一部として生成されたものなど)が、他のパケットの存在におけるエグレス・リンクを圧倒できないことを確実にする。さらに、そのようなスケジューリング・スキーマは、有利には、64バイト・パケットを、一般より大きいデータ・パケットでインタリーブし、それによって下流側TCPサーバでライブロックを引き起こす尤度を低減する。   Further, in accordance with the principles of the present invention, SYN packets are queued separately from other TCP packets. The egress scheduler of the DDoS gateway then advantageously provides fair sharing for each non-empty queue (advantageously including a separate queue for SYN packets), thereby allowing SYN packets (eg, SYN To ensure that egress links in the presence of other packets cannot overwhelm (such as those generated as part of a bandwidth attack). Furthermore, such a scheduling scheme advantageously reduces the likelihood of interleaving 64 byte packets with larger data packets, thereby causing live blocking at the downstream TCP server.

図1は、本発明の例示的な実施形態による、SYN帯域幅攻撃の防御メカニズムを組み込むDDoSゲートウェイの機能ブロック図を示す。例示的なDDoSゲートウェイは、有利には、ネットワーク・エッジ、すなわち保護されるべきリンクからある距離だけ上流側に配置される。例示的なゲートウェイの動作において、コアから到着するパケットは、他からTCPパケットを分離するために、発送モジュール11によってまず発送される。(TCPではないパケットは、TCPではないモジュール12によって取り扱われる。)ゲートウェイにおいて前の状態を有するデータ・パケットは、検査モジュール13によって決定されたように、あるバッファ管理ポリスを受ける様々なキューに格納されることができる。しかしながら、SYNパケットは、転送されるべき前の状態を必要とせず、したがって有利には、接続モジュール14によって別々に取り扱われる。データ・パケット、SYNパケット、およびTCPではないプロコトルからのパケットは、次に、FlowQモジュール15によって保護されたリンク上に現れるようにスケジュールされる。逆の方向に関して、TCPサーバからのパケットは、監視モジュール16によって検査され、コアから到来するパケットのさらなる取り扱いのためにステートフル情報を提供する。本発明の例示的な実施形態による、以下の詳細に記載されるようなSYN帯域幅攻撃の防御メカニズムは、有利にはFlowQモジュール15に組み込まれることができる。   FIG. 1 shows a functional block diagram of a DDoS gateway incorporating a SYN bandwidth attack defense mechanism, according to an illustrative embodiment of the invention. The exemplary DDoS gateway is advantageously located upstream at a distance from the network edge, ie the link to be protected. In an exemplary gateway operation, packets arriving from the core are first routed by the dispatch module 11 to separate TCP packets from others. (Non-TCP packets are handled by the non-TCP module 12.) Data packets having a previous state at the gateway are stored in various queues that receive certain buffer management polices as determined by the inspection module 13. Can be done. However, the SYN packet does not require a previous state to be transferred and is therefore advantageously handled separately by the connection module 14. Data packets, SYN packets, and packets from non-TCP protocols are then scheduled to appear on links protected by the FlowQ module 15. With respect to the reverse direction, packets from the TCP server are inspected by the monitoring module 16 to provide stateful information for further handling of packets coming from the core. A SYN bandwidth attack defense mechanism as described in detail below, according to an exemplary embodiment of the present invention, may advantageously be incorporated into the FlowQ module 15.

本発明の例示的な実施形態によれば、SYNパケットを盲目的に格納しかつ通過させる代わりに、同一の接続からの隣接するSYNパケット間の指数的な間隔が、有利に実施される。他の再送信と同様に、TCPプロトコルは、SYNパケットのための再送信が、データ・パケットに関する同一の指数関数的なバック・オフ時間間隔に従うことを特定する。例えば500ミリ秒の初期間隔で、現在の間隔時間前に到着する以降のSYNパケットは、有利にはドロップされる。延長された時間期間にわたって続いた不完全な接続は、それらが、次に新たな接続要求によって除かれないなら取り除かれる。例示的なシステムは、さらに、不完全な接続それぞれは、キューにおいて1つより多くないSYNパケットを有することを確実にする。これは、エグレス・リンクが、わずかな数の不完全な接続によってあふれる可能性を取り除く。   According to an exemplary embodiment of the invention, instead of blindly storing and passing SYN packets, an exponential spacing between adjacent SYN packets from the same connection is advantageously implemented. As with other retransmissions, the TCP protocol specifies that retransmissions for SYN packets follow the same exponential back-off time interval for data packets. Subsequent SYN packets that arrive before the current interval time, for example with an initial interval of 500 milliseconds, are advantageously dropped. Incomplete connections that last for an extended period of time are removed if they are not subsequently removed by a new connection request. The exemplary system further ensures that each incomplete connection has no more than one SYN packet in the queue. This removes the possibility that the egress link will be flooded with only a few incomplete connections.

ランダムに生成されたSYNパケットが、ゲートウェイにおける多数の状態を生成し、かつエグレス・リンクをあふれることを防ぐために、例示的なシステムにおいて許容される不完全な接続の全数は、有利には、以下のように現在確立された接続の数に比例して設定され、
P=M+c*N (1)
ここで、Mおよびcは定数であり、Nはシステムにおける確立された接続の数である。正当なTCP接続要求は、ほとんど確実に確立されたものになる。したがって、正当な要求の数および確立された接続の数は、一般に近く訂正される。定数cは、例えば値2に設定されることができる。Mは、ヘッド・スタートのためにシステムにおいてアクティブ接続を有さない許容された要求の数である。例示的にはM=100である。
In order to prevent randomly generated SYN packets from generating multiple states at the gateway and flooding the egress link, the total number of incomplete connections allowed in the exemplary system is advantageously: Set in proportion to the number of currently established connections, such as
P = M + c * N (1)
Where M and c are constants and N is the number of established connections in the system. A legitimate TCP connection request is almost certainly established. Therefore, the number of legitimate requests and the number of established connections are generally corrected close. The constant c can be set to a value 2, for example. M is the number of allowed requests that do not have an active connection in the system for head start. Illustratively, M = 100.

本発明の例示的な実施形態によれば、新たなSYNパケットが、前の状態なしに到着したときに、式(1)に特定された条件が保持されるなら、新たな状態が割り当てられる。代わりに、ランダムに選択された状態が除かれる。(本発明の他の例示的な実施形態によれば、エージングが、ランダムな選択の代わりに使用されることができることに留意されたい。しかしながら、ランダムな選択は、エージングにわたって好ましい、なぜなら、システムが実際に攻撃下であるときに、それは、長いラウンド・トリップ時間での接続に対してよりフレンドリーであるからである。)接続は、有効な戻りACKパケットが通過するとき、不完全な状態から確立された状態に移動する。遷移にかかる時間は、サーバとクライアントとの間のラウンド・トリップ時間に主として依存することに留意されたい。再送信されたSYNパケットが到着したなら、指数関数的な間隔が調べられる。受けられたパケットは、FIFOバッファ内にキューイングされる。パケット・バッファが利用できないなら、パケット・バッファ・マネージャは、パケットをシステムから取り除く。バッファ管理に関する詳細に関しては、以下を参照されたい。   According to an exemplary embodiment of the present invention, when a new SYN packet arrives without a previous state, a new state is assigned if the condition specified in equation (1) is maintained. Instead, the randomly selected state is removed. (Note that according to other exemplary embodiments of the present invention, aging can be used instead of random selection. However, random selection is preferred over aging because the system It is because it is more friendly to connections with long round trip times when it is actually under attack.) The connection is established from an incomplete state when a valid return ACK packet passes through Move to the specified state. Note that the time taken for the transition mainly depends on the round trip time between the server and the client. If a retransmitted SYN packet arrives, the exponential interval is examined. The received packet is queued in the FIFO buffer. If the packet buffer is not available, the packet buffer manager removes the packet from the system. See below for more details on buffer management.

本発明の他の例示的な実施形態によれば、初期的なSYNパケットおよび全てのサーバ応答を転送する、TCPハンドシェーク・プロキシが使用される。このプロキシは、クライアントが有効ACKを戻す、または接続タイム・アウトが発生するまで、必要であればクライアントに代わってSYN再送信を実行する。このプロキシ・アプローチは、良好に作用するが、SYN再送信のためにゲートウェイで格納されるべきより多くの接続状態を必要とし、かつ実施により費用がかかる。   According to another exemplary embodiment of the present invention, a TCP handshake proxy is used that forwards the initial SYN packet and all server responses. The proxy performs a SYN retransmission on behalf of the client if necessary until the client returns a valid ACK or a connection timeout occurs. This proxy approach works well, but requires more connection state to be stored at the gateway for SYN retransmission and is more expensive to implement.

ネットワーク・エッジで、ネットワーク・コアからのイングレス・リンクは、通常最終顧客ネットワークに向かうエグレス・リンクより速いことに留意されたい。したがって、エグレス・リンクは、イングレス・パケット到着レートがリンク容量より高いなら、あふれることがある。しかしながら、当業者に良く知られるように、TCPは、輻輳の検出時にパケット・レートを抑圧して戻す、輻輳アウェア伝送プロコトルである。その結果、悪意のあるユーザは、リンクを大きくあふれることなく、他の正当なTCP接続をエグレス・リンク上でのそれらの利用を低減させることができる。この現象は、また悪意があってもなくても、集中したTCP実装によって駆動される接続の存在で起きる。   Note that at the network edge, ingress links from the network core are usually faster than egress links towards the end customer network. Thus, an egress link may overflow if the ingress packet arrival rate is higher than the link capacity. However, as is well known to those skilled in the art, TCP is a congestion-aware transmission protocol that suppresses and returns the packet rate upon detection of congestion. As a result, malicious users can reduce their use of other legitimate TCP connections on the egress link without flooding the link significantly. This phenomenon occurs in the presence of connections driven by a concentrated TCP implementation, whether malicious or not.

したがって、正当なTCPの流れを保護するために、公正なスケジューリングおよび公正なバッファ管理メカニズムが、本発明の例示的な実施形態による有利に用いられる。特に、図1の例示的なFlowQモジュールは、有利に、公正なスケジューリングおよび公正なドロッピング・バッファ管理スキーマを実装する。   Therefore, fair scheduling and fair buffer management mechanisms are advantageously used according to exemplary embodiments of the present invention to protect legitimate TCP flows. In particular, the exemplary FlowQ module of FIG. 1 advantageously implements a fair scheduling and a fair dropping buffer management schema.

特に、本発明のこの例示的な実施形態によれば、コア・ネットワークから到着しかつ同一の出力インタフェース宛であるTCPデータ・パケットは、まずフロー・キューに格納される。この例示的な実施形態によれば、フローは、そのソース宛て先アドレスおよびポート数によって識別される単一のTCP接続として定義される。(本発明の他の例示的な実施形態によれば、フローは、定義されることができ、フロー・キューは、例えば単一のソースに属する各パケットのセットおよび宛て先ホスト対に関して、または単一のソース・ホストからの各パケットのセットまたはソース・ネットワークに関して実装される。)エグレス・パケット・スケジューラは、次に、命令されたパケット出発に関するこれらのフロー・キューを有利に操作する。パケットは、入力ポートに到着し、かつ出力ポートを出発する。本発明の例示的な実施形態のDDoSゲートウェイは、出力ポート・バッファリング・アーキテクチャを使用する。(用語「ポート」は、任意の物理的なネットワーク・インタフェースを表すために本明細書で使用されることに留意されたい。)   In particular, according to this exemplary embodiment of the present invention, TCP data packets arriving from the core network and destined for the same output interface are first stored in the flow queue. According to this exemplary embodiment, a flow is defined as a single TCP connection identified by its source destination address and port number. (According to other exemplary embodiments of the present invention, a flow can be defined and a flow queue can be defined for each packet set and destination host pair belonging to a single source, for example, or simply. Implemented for each set of packets or source network from one source host.) The egress packet scheduler then advantageously manipulates these flow queues for instructed packet departures. The packet arrives at the input port and leaves the output port. The DDoS gateway of the exemplary embodiment of the present invention uses an output port buffering architecture. (Note that the term “port” is used herein to denote any physical network interface.)

例示的な出力ポート・パー・フロー・キューイングおよびバッファ・シェアリング・アーキテクチャは、各出力ポート、すなわち到着サイドおよび出発サイドに2つのインタフェースを有する。到着サイドは、出力ポート・ライン速度より速いレートで入力ポートからのパケットを受信することができ、パケットをバッファさせかつ遅延させる。出発サイドは、キューイングされたパケットを有する複数のフローを提供する。結果として、本発明の例示的な実施形態により適合されたバッファ管理ポリシーは、有利には2つの個別の特性を示す。すなわち、
(1)出発での公正なスケジューリングは、全ての競合するフローが、同一の帯域幅リソースに称されることを確実にする。
(2)到着での公正なドロッピングは、フローが、他を犠牲にしてより多くのバッファを使用するがないことを確実にする。
The exemplary output port per flow queuing and buffer sharing architecture has two interfaces on each output port, namely the arrival side and the departure side. The arrival side can receive packets from the input port at a rate faster than the output port line speed, buffering and delaying the packet. The departure side provides multiple flows with queued packets. As a result, the buffer management policy adapted according to the exemplary embodiment of the present invention advantageously exhibits two distinct characteristics. That is,
(1) Fair scheduling at departure ensures that all competing flows are referred to by the same bandwidth resource.
(2) Fair dropping on arrival ensures that the flow does not use more buffers at the expense of others.

不正なスケジューリング・スキーマとともに、いくつかのフローは、たとえそれらが、他よりも多くのバッファを使用しなくとも、より高い帯域幅を得ることができることに留意されたい。また不正なバッファ割り当てとともに、フローは、たとえスケジューリング・スキーマが完全に公正であっても、送るパケットを有さないことがある。   It should be noted that some flows, along with an incorrect scheduling scheme, can get higher bandwidth even if they do not use more buffers than others. Also with incorrect buffer allocation, the flow may not have packets to send, even if the scheduling scheme is perfectly fair.

パー・フロー・キューイングを考慮すれば、ラウンド・ロビン・スケジューリングは、「マックス・ミニ」公正であるとして当業者には知られている。ビット・バイ・ビット・ラウンド・ロビン・スケジューリングが、可変パケット長での作用に有効に近づくことができることにも留意されたい。パー・フロー・キューイングに関する典型的なパケット破棄アルゴリズムは、簡単である。フリーなバッファが存在する限り、全ての到来するパケットを受ける。任意のフリーなバッファなしに、パケットが到来するときに、最上位のバイトをバッファリングして、フローからパケットをドロップする。   Considering per-flow queuing, round robin scheduling is known to those skilled in the art as being “max mini” fair. Note also that bit-by-bit round robin scheduling can effectively approach the effect of variable packet length. A typical packet discard algorithm for per-flow queuing is simple. As long as there is a free buffer, all incoming packets are received. Without any free buffer, when the packet arrives, it buffers the most significant byte and drops the packet from the flow.

不必要なパージング(受けられたパケットが、直ちに次に到着したもので置き換えられる)を避け、かつ小さなウインドウのために、TCPフローがタイム・アウトになることを防ぐために、到来するパケットが、最も長いキューがただ2つのパケットを有するとき、有利にはドロップされない。明らかに、これは、フローの最大数を、システムに収容される全体バッファ・サイズの1/2に制限する。   In order to avoid unnecessary parsing (received packets are immediately replaced by the next arrival) and to prevent TCP flows from timing out due to small windows, When a long queue has only two packets, it is not advantageously dropped. Obviously, this limits the maximum number of flows to 1/2 of the total buffer size accommodated in the system.

図2は、本発明の例示的な実施形態による、SYN帯域幅攻撃に対する防御のための図1の例示的なDDoSゲートウェイの例示的(概念)構造ブロック図を示す。例示的なゲートウェイは、複数の入力(すなわちイングレス)ポート21−1から21−4と、複数の出力(「エグレス」)ポート22−1から22−3とを備える。さらに、ゲートウェイは、(多い)複数のNパー・フロー・キュー23−1から23−N、ならびにキューイングSYNパケットにおいて排他的な使用に関するSYNシーケンス23−0を備える。各フロー・キュー23−1から23−Nは、異なるTCP接続(すなわちフロー)に関連するTCPをキューイングするために使用され、一方、SYNキュー23−0は、SYNパケットだけを保持する。動作において、ラウンド・ロビン公正スケジューリング・アプローチが、有利に用いられ、各(N+1)キューからのパケットが、次に処理される。このように、SYNキュー23−0を満たすことがあるSYN帯域幅攻撃は、他(N)のキューからのパケットのスケジューリングおよび送信を有意には妨げない。   FIG. 2 shows an exemplary (conceptual) structural block diagram of the exemplary DDoS gateway of FIG. 1 for defense against SYN bandwidth attacks, according to an exemplary embodiment of the present invention. The exemplary gateway comprises a plurality of input (or ingress) ports 21-1 to 21-4 and a plurality of output ("egress") ports 22-1 to 22-3. In addition, the gateway comprises (multiple) N per-flow queues 23-1 to 23-N, as well as a SYN sequence 23-0 for exclusive use in queuing SYN packets. Each flow queue 23-1 to 23-N is used to queue TCP associated with a different TCP connection (ie, flow), while the SYN queue 23-0 holds only SYN packets. In operation, a round robin fair scheduling approach is advantageously used, and packets from each (N + 1) queue are then processed. Thus, a SYN bandwidth attack that may fill SYN queue 23-0 does not significantly interfere with scheduling and transmission of packets from other (N) queues.

図3は、本発明の例示的な実施形態による、SYN帯域幅攻撃に対する防御における使用に関する図1の例示的なゲートウェイの動作のフローチャートを示す。例示的なゲートウェイの動作は、1つの入力ポートからTCPパケットを受信することによって開始し(ブロック31)、それがSYNパケットかどうかを決定する(決定ブロック32)。SYNパケットであるなら、それは、有利にSYNキューに挿入される(ブロック33)。SYNパケットでないなら、それは、適切なフロー・キューに挿入される(ブロック34)。次に、パケットは、例えばラウンド・ロビン・スケジューリングなどの公正スケジューリング・アルゴリズムに基づき、送信に関してスケジューリングされる(ブロック35)。キューイングされる他の到来パケットが存在するなら(決定ブロック36)、フローは、ブロック31に戻る。そうでなければ、キューイングされたパケットは、転送されることを継続する。   FIG. 3 shows a flowchart of the operation of the example gateway of FIG. 1 for use in defense against SYN bandwidth attacks, according to an example embodiment of the invention. The exemplary gateway operation begins by receiving a TCP packet from one input port (block 31) and determines whether it is a SYN packet (decision block 32). If it is a SYN packet, it is advantageously inserted into the SYN queue (block 33). If it is not a SYN packet, it is inserted into the appropriate flow queue (block 34). The packet is then scheduled for transmission based on a fair scheduling algorithm such as, for example, round robin scheduling (block 35). If there are other incoming packets to be queued (decision block 36), flow returns to block 31. Otherwise, the queued packet continues to be forwarded.

上記で指摘されたように、ラウンド・ロビン・スケジューリングの実装は、当業者には良く知られている。さらに、最も長いフロー(例えば、キューイングされた最大のパケット、またはキューイングされた最大のバイトを有するフロー)から(必要なときに)、パケットをドロップすることが良く知られている。しかしながら、本発明の好ましい例示的な実施形態によれば、フローは、有利には、パケット毎に一定量の動作を使用して、パケット数に関してまたはバイト数に関して、例示的に測定されることができるそれらのキュー長さに基づき分類される。   As pointed out above, implementation of round robin scheduling is well known to those skilled in the art. It is also well known to drop packets from the longest flow (eg, the largest queued packet or the flow with the largest queued byte) (when necessary). However, according to a preferred exemplary embodiment of the present invention, the flow is advantageously measured exemplarily with respect to the number of packets or with respect to the number of bytes, using a certain amount of operation per packet. They are classified based on their possible queue lengths.

特に、本発明のある例示的な実施形態によれば、全てのパケットが同一のサイズであると仮定される。換言すれば、キュー長さは、パケットのユニットで(バイトよりむしろ)測定されることを仮定する。例示的なシステムは、有利には、リストのチェーンを維持する。各サブリストは、同一のキュー長さを有する全てのフローを含む。これらのサブリストは、次に、下がる順番でキュー長さにしたがって格納される。全てのフローが空のキューを有するので、初期的に全てのリストが空であることに留意されたい。   In particular, according to an exemplary embodiment of the present invention, it is assumed that all packets are the same size. In other words, assume that the queue length is measured in units of packets (rather than bytes). The exemplary system advantageously maintains a chain of lists. Each sublist includes all flows having the same queue length. These sublists are then stored according to queue length in descending order. Note that initially all lists are empty because all flows have an empty queue.

フローに関するパケットが、利用可能なフリー・バッファの状態で到着すると、それは受けられ、かつ長さQを有するフロー・キューに付けられる。このように、キュー長さは、Q+1に増加する。システムは、現在のサブリストSL(Q)からフローを取り除き、サブリストSL(Q+1)に付けられる。このサブリストは、それらがまさに1つのパケットによって異なるので、SL(Q)から離れるいずれかの1つのアイテムであるべきか、またはフローが、到着前にQ+1のキュー長さを有さないなら存在しない。後者の場合に、システムは、簡単にリストを作成し、かつSL(Q)の前のそれを挿入する。両方の場合に、命令されたマスタ・リストを維持するために、全てのリストを走査する必要がないことに留意されたい。 When a packet for flow i arrives with an available free buffer, it is accepted and put into a flow i queue with length Q i . Thus, the queue length increases to Q i +1. The system removes the flow i from the current sub-list SL (Q i), attached to the sub-list SL (Q i +1). This sub-list should be any one item away from SL (Q i ) because they vary by exactly one packet, or the flow has a queue length of Q i +1 before arrival It doesn't exist if it doesn't exist. In the latter case, the system simply creates a list and inserts it before SL (Q i ). Note that in both cases, it is not necessary to scan the entire list to maintain the ordered master list.

図4は、本発明の例示的な実施形態による、そのようなキューイング動作の例示的な例を示す。図4Aは、フローに関する新たなパケットの到着前のキュー構造を示し、図4Bは、所定のパケットの到着後に修正されたキュー構造を示す。追加されたパケットの結果として、フローは、有利にはSL(Q=4)から取り除かれ、SL(Q=5)に挿入される。 FIG. 4 shows an illustrative example of such a queuing operation, according to an illustrative embodiment of the invention. FIG. 4A shows the queue structure before arrival of a new packet for flow 2 , and FIG. 4B shows the queue structure modified after arrival of a given packet. As a result of the added packet, flow 2 is advantageously removed from SL (Q = 4) and inserted into SL (Q = 5).

フローに関するパケットが、スケジュールされかつ出発したとき、それは、長さQを有するフロー・キューから取り除かれる。それによって、キュー長さは、Q−1に低減される。例示的なシステムは、その現在のサブリストSL(Q)からフローを取り除き、次に、Q>1なら、サブリストSL(Q−1)の開始でそれを攻撃する。必要であれば、SL(Q−1)が、有利に形成されることに留意されたい。古いサブリストSL(Q)は、空であれば、有利に取り除かれかつ削除される。再び、線形走査は必要がない。 When a packet for flow i is scheduled and departed, it is removed from the flow i queue with length Q i . Thereby, the queue length is reduced to Q i −1. The exemplary system removes flow i from its current sublist SL (Q i ) and then attacks it at the beginning of sublist SL (Q i −1) if Q i > 1. Note that SL (Q i -1) is advantageously formed if necessary. The old sublist SL (Q i ) is advantageously removed and deleted if it is empty. Again, a linear scan is not necessary.

図5は、本発明の例示的な実施形態による、そのようなキュー・エントリ除去動作の例示的な例を示す。図5Aは、フローからスケジュールされたパケットの出発前のキュー構造を示し、図5Bは、所定のパケットの出発後に修正されたキュー構造を示す。パケット、すなわちフローの取り除きは、有利にはSL(Q=5)から取り除かれ、SL(Q=4)に挿入されることに留意されたい。 FIG. 5 shows an illustrative example of such a queue entry removal operation, according to an illustrative embodiment of the invention. FIG. 5A shows the queue structure before departure of packets scheduled from flow 2 , and FIG. 5B shows the queue structure modified after departure of a given packet. Note that the removal of the packet, flow 2 , is advantageously removed from SL (Q = 5) and inserted into SL (Q = 4).

フローに関するパケットが、満たされたバッファに到着するときに、最長のキュー長さを有するフローは、格納されたマスタ・リスト内の第1のサブリストから見出されることができる。例示的なシステムは、i≠jならフローからパケットをパージし、到来するパケットを受ける。代わりに、到着するパケットが有利にドロップされる。パケットをパージすることに関連する動作は、出発のためのパケットのスケジュールリングに使用される動作と同一であることに留意されたい。 When a packet for flow i arrives at the filled buffer, flow j with the longest queue length can be found from the first sublist in the stored master list. The exemplary system purges packets from flow j if i ≠ j and receives incoming packets. Instead, arriving packets are advantageously dropped. Note that the operations associated with purging packets are the same as those used for scheduling packets for departure.

パケットが可変長であることがある、本発明の他の例示的な実施形態によれば、シーケンス長さが、バイトのユニットを有し、各サブリストは、[Q/MTU]の同じ値を有する全てのフローを含み、ここで、MTUは、最大パケット・サイズであり、[]は、数学的上限関数を表す。同様の動作が、到着および出発で実行される。Qを有するフローが、SL[Q/MTU]に追加されるときに、(QモジュロMTU)<MTU/2であるなら、それは有利には付けられ、かつ代わりに開始に取り付けられる。これは、サブリスト内の誤りの分類が、MTU/2より小さいことを確実にする。小さなパケットの到着または出発が、そのフローを隣接するサブリストに移動させないが、代わりに、更新されたキー長さが、MTU/2境界を交差するかどうかに応じて、開始で取り付けられるかまたは同一のサブリストに付けられることが可能であることに留意されたい。 According to another exemplary embodiment of the present invention, where the packet may be variable length, the sequence length has units of bytes, and each sublist has the same value of [Q i / MTU] Where MTU is the maximum packet size and [] represents the mathematical upper bound function. Similar operations are performed on arrival and departure. When flow i with Q i is added to SL [Q i / MTU], if (Q i modulo MTU) <MTU / 2, it is advantageously attached and instead attached to the start. . This ensures that the classification of errors in the sublist is less than MTU / 2. The arrival or departure of a small packet does not move the flow to an adjacent sublist, but is instead attached at the start depending on whether the updated key length crosses the MTU / 2 boundary or Note that they can be attached to the same sublist.

詳細な記載に対する追加
前述の全ての議論は、単に本発明の一般原理を示したものであることに留意すべきである。本明細書に明示して記載されかつ示されてはいないが、本発明の原理を具体化し、かつ本発明の精神および範囲に含まれる、様々な他の構成を考案することができることは理解される。さらに、本明細書で言及された全ての例および条件を表す言語は、本発明の原理および技術をさらに進めるために本発明者によって与えられた概念を、理解する助けにする教育的な目的のためだけに主として表現しようとするものであり、そのように特定して言及された例および条件を限定するものではないと解釈されるものである。さらに、本発明の原理、態様、および実施形態、ならびにその特定の例を言及する本明細書の全ての記述は、その構造的および機能的等価物を含むものである。そのような等価物は、現在知られている等価物、ならびに将来開発される等価物の両方、すなわち構造にかかわらず同様の機能を実行する開発された任意の要素を含むものでもある。
Addition to Detailed Description It should be noted that all of the above discussion is merely illustrative of the general principles of the present invention. While not explicitly described and shown herein, it is understood that various other configurations may be devised that embody the principles of the invention and are within the spirit and scope of the invention. The Furthermore, all examples and conditions expressed in this specification are intended for educational purposes to help understand the concepts provided by the inventor to further advance the principles and techniques of the invention. It is intended to be expressed solely as such and is not to be construed as limiting the examples and conditions specifically identified as such. Moreover, all statements herein reciting principles, aspects, and embodiments of the invention, as well as specific examples thereof, are intended to include structural and functional equivalents thereof. Such equivalents include both currently known equivalents as well as equivalents developed in the future, i.e., any element developed that performs a similar function regardless of structure.

したがって、例えば、任意のフローチャート、フロー図、状態遷移図、擬似コードなどは、様々なプロセスを表し、それらは、そのようなコンピュータまたはプロセッサが明示的に示されていてもいなくとも、実質的にコンピュータ可読媒体に表されることができ、コンピュータまたはプロセッサによってそのように実行されることができることを当業者であれば認識するであろう。したがって、例えば、そのようなフローチャートに示されるブロックは、可能な物理的な要素を表すものとして理解されることができ、それらは、例えば、フローチャート・ブロックに記載されるなどの特別の機能を特定するための手段として現在の請求項に表現され得る。さらに、そのようなフローチャート・ブロックは、例えば、ディスクまたは半導体記憶デバイスなどの前述のコンピュータ可読媒体に含まれることができる、物理信号または格納された物理データを表すものとして理解されることもできる。   Thus, for example, any flowcharts, flow diagrams, state transition diagrams, pseudocode, etc. represent various processes, which may or may not substantially represent such a computer or processor explicitly. Those skilled in the art will recognize that they can be represented on a computer-readable medium and can be so performed by a computer or processor. Thus, for example, blocks shown in such flowcharts can be understood as representing possible physical elements, which identify special functions, such as described in flowchart blocks, for example. Can be expressed in the present claims as a means to do this. Further, such flowchart blocks can also be understood as representing physical signals or stored physical data that can be included in the aforementioned computer-readable media, such as, for example, disks or semiconductor storage devices.

本発明の例示的な実施形態による、SYN帯域幅攻撃の防御メカニズムを組み込むDDoSゲートウェイの機能ブロック図を示す。FIG. 3 shows a functional block diagram of a DDoS gateway incorporating a defense mechanism against SYN bandwidth attacks according to an exemplary embodiment of the present invention. 本発明の例示的な実施形態による、SYN帯域幅攻撃に対する防御のための図1の例示的なDDoSゲートウェイの例示的(概念)構造ブロック図を示す。2 shows an exemplary (conceptual) structural block diagram of the exemplary DDoS gateway of FIG. 1 for defense against SYN bandwidth attacks, in accordance with an exemplary embodiment of the present invention. FIG. 本発明の例示的な実施形態による、SYN帯域幅攻撃に対する防御における使用に関する図1の例示的なDDoSゲートウェイの動作のフローチャートを示す。2 shows a flowchart of the operation of the exemplary DDoS gateway of FIG. 1 for use in defense against SYN bandwidth attacks, according to an exemplary embodiment of the present invention. 本発明の例示的な実施形態による、キューイング動作の例示的な例を示す。図4Aは、新たなパケットの到着前のキュー構造を示し、図4Bは、所定のパケットの到着後に修正されたキュー構造を示す。4 illustrates an exemplary example of a queuing operation according to an exemplary embodiment of the present invention. FIG. 4A shows a queue structure before arrival of a new packet, and FIG. 4B shows a queue structure modified after arrival of a predetermined packet. 本発明の例示的な実施形態による、キュー・エントリ除去動作の例示的な例を示す。図5Aは、スケジュールされたパケットの出発前のキュー構造を示し、図5Bは、所定のパケットの出発後に修正されたキュー構造を示す。6 illustrates an exemplary example of a queue entry removal operation according to an exemplary embodiment of the present invention. FIG. 5A shows the queue structure before departure of a scheduled packet, and FIG. 5B shows the queue structure modified after departure of a given packet.

Claims (10)

ゲートウェイの使用とともにネットワークにおけるTCPパケットを分配する方法であって、前記ゲートウェイは、1つ以上の入力ポート、1つ以上の出力ポート、および複数のキューを備え、前記複数のキューの少なくとも1つが、SYNキューとして指定され、前記方法が、
前記入力ポートの1つからTCPパケットを受信する工程と、
前記TCPパケットがSYNパケットかどうかを決定する工程と、
それがSYNパケットであるなら、前記TCPパケットを前記SYNキューの1つに挿入する工程と、
それがSYNパケットでないなら、前記TCPパケットを、前記SYNキューの1つではない前記複数のキューの1つに挿入する工程と、
公正スケジューリング・アルゴリズムに基づき、前記出力ポートの1つを介して送信するために前記TCPパケットをスケジューリングする工程とを含む方法。
A method of distributing TCP packets in a network with use of a gateway, the gateway comprising one or more input ports, one or more output ports, and a plurality of queues, wherein at least one of the plurality of queues is: Designated as a SYN queue, the method comprising:
Receiving a TCP packet from one of the input ports;
Determining whether the TCP packet is a SYN packet;
If it is a SYN packet, inserting the TCP packet into one of the SYN queues;
If it is not a SYN packet, inserting the TCP packet into one of the plurality of queues that is not one of the SYN queues;
Scheduling the TCP packet for transmission via one of the output ports based on a fair scheduling algorithm.
前記公正スケジューリング・アルゴリズムは、ラウンド・ロビン・スケジューリング・アルゴリズムを含む請求項1に記載の方法。   The method of claim 1, wherein the fair scheduling algorithm comprises a round robin scheduling algorithm. 前記SYNキューの1つではない前記複数のキューは、パー・フロー・キューを含み、TCPパケットを格納する各パー・フロー・キューは、別個のTCP接続フローに関連する請求項1に記載の方法。   The method of claim 1, wherein the plurality of queues that are not one of the SYN queues include a per flow queue, and each per flow queue storing TCP packets is associated with a separate TCP connection flow. . 前記SYNキューの1つではない前記複数のキューそれぞれは、それらに関連するキュー長さを有し、前記TCPパケットを前記SYNキューの1つではない前記複数のキューの1つに挿入する前記工程は、それらに関連する前記キュー長さにしたがって格納されたキューのサブリストのチェーンとして、前記SYNキューの1つではない前記複数のキューを維持する工程を含む請求項1に記載の方法。   Each of the plurality of queues that are not one of the SYN queues has a queue length associated therewith, and the step of inserting the TCP packet into one of the plurality of queues that is not one of the SYN queues The method of claim 1, comprising maintaining the plurality of queues that are not one of the SYN queues as a chain of queue sub-lists stored according to the queue lengths associated with them. 前記SYNキューの1つではない前記複数のキューそれぞれは、それらに関連するキュー長さを有する請求項1に記載の方法。 The SYN queue one is each of the plurality of queues is not the method of claim 1 which have a queue length associated therewith. 前記TCPパケットがSYNパケットであり、かつ前記SYNキューが一杯であれば、前記SYNキューの1つから前に挿入されたSYNパケットを取り除く工程をさらに含む請求項1に記載の方法。   The method of claim 1, further comprising removing a previously inserted SYN packet from one of the SYN queues if the TCP packet is a SYN packet and the SYN queue is full. 前記TCPパケットがSYNパケットではなく、かつSYNキューではない前記複数のキューが一杯であれば、前記SYNキューの1つではない前記複数のキューの1つからSYNパケットではない前に挿入されたTCPパケットを取り除く工程をさらに含む請求項1に記載の方法。   If the TCP packet is not a SYN packet and the plurality of queues that are not SYN queues are full, the TCP inserted before being not a SYN packet from one of the plurality of queues that is not one of the SYN queues The method of claim 1, further comprising removing the packet. 前記前に挿入されたTCPパケットは、前記SYNキューの1つではない前記複数のキューの最大のキューから取り除かれる請求項7に記載の方法。   The method of claim 7, wherein the previously inserted TCP packet is removed from a maximum queue of the plurality of queues that is not one of the SYN queues. 前記SYNキューは、それに関連する容量を有し、前記容量は、許容される不完全な接続の最大数を提供し、SYNキューではない複数のキューは、それに関連する確立された数の接続を有し、許容される不完全な接続の前記最大数は、確立された接続の数に数学的に比例する請求項1に記載の方法。   The SYN queue has a capacity associated with it, the capacity provides the maximum number of incomplete connections allowed, and multiple queues that are not SYN queues have an established number of connections associated with them. The method of claim 1, wherein the maximum number of incomplete connections allowed and is mathematically proportional to the number of established connections. ネットワークにおいてTCPパケットを分配するネットワーク・ゲートウェイであって、前記ゲートウェイは、1つ以上の入力ポート、1つ以上の出力ポート、および複数のキューを備え、前記複数のキューの少なくとも1つが、SYNキューとして指定され、前記ゲートウェイはさらにプロセッサを備え、プロセッサが、
前記入力ポートの1つからTCPパケットを受信し、
前記TCPパケットがSYNパケットかどうかを決定し、
それがSYNパケットであるなら、前記TCPパケットを前記SYNキューの1つに挿入し、
それがSYNパケットでないなら、前記TCPパケットを、前記SYNキューの1つではない前記複数のキューの1つに挿入し、かつ
公正スケジューリング・アルゴリズムに基づき、前記出力ポートの1つを介して送信するために前記TCPパケットをスケジューリングするように構成されるネットワーク・ゲートウェイ。
A network gateway for distributing TCP packets in a network, the gateway comprising one or more input ports, one or more output ports, and a plurality of queues, wherein at least one of the plurality of queues is a SYN queue The gateway further comprises a processor, the processor comprising:
Receiving a TCP packet from one of the input ports;
Determining whether the TCP packet is a SYN packet;
If it is a SYN packet, insert the TCP packet into one of the SYN queues;
If it is not a SYN packet, the TCP packet is inserted into one of the plurality of queues that is not one of the SYN queues and transmitted through one of the output ports based on a fair scheduling algorithm A network gateway configured to schedule the TCP packet for the purpose.
JP2004278606A 2003-09-29 2004-09-27 Method and apparatus for protecting against SYN packet bandwidth attack on TCP server Active JP4481780B2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/674,208 US7219228B2 (en) 2003-08-25 2003-09-29 Method and apparatus for defending against SYN packet bandwidth attacks on TCP servers

Publications (3)

Publication Number Publication Date
JP2005110255A JP2005110255A (en) 2005-04-21
JP2005110255A5 JP2005110255A5 (en) 2007-08-16
JP4481780B2 true JP4481780B2 (en) 2010-06-16

Family

ID=34549791

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004278606A Active JP4481780B2 (en) 2003-09-29 2004-09-27 Method and apparatus for protecting against SYN packet bandwidth attack on TCP server

Country Status (1)

Country Link
JP (1) JP4481780B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012205159A (en) * 2011-03-26 2012-10-22 Fujitsu Ltd Flow-by-flow flow-rate supervision method, communication apparatus and program
CN112087464B (en) * 2020-09-17 2022-11-22 北京知道创宇信息技术股份有限公司 SYN Flood attack cleaning method and device, electronic device and readable storage medium

Also Published As

Publication number Publication date
JP2005110255A (en) 2005-04-21

Similar Documents

Publication Publication Date Title
US7219228B2 (en) Method and apparatus for defending against SYN packet bandwidth attacks on TCP servers
US6973040B1 (en) Method of maintaining lists of network characteristics
US7882556B2 (en) Method and apparatus for protecting legitimate traffic from DoS and DDoS attacks
EP2289221B1 (en) Network intrusion protection
US7426634B2 (en) Method and apparatus for rate based denial of service attack detection and prevention
US6725378B1 (en) Network protection for denial of service attacks
US8224976B2 (en) Using a server&#39;s capability profile to establish a connection
US7818795B1 (en) Per-port protection against denial-of-service and distributed denial-of-service attacks
EP1482709A2 (en) Queuing methods for mitigation of packet spoofing
US8769681B1 (en) Methods and system for DMA based distributed denial of service protection
US20060191003A1 (en) Method of improving security performance in stateful inspection of TCP connections
WO2002003084A1 (en) Method for preventing denial of service attacks
JP4373306B2 (en) Method and apparatus for preventing distributed service denial attack against TCP server by TCP stateless hog
CA2368513C (en) Performance enhancing proxy and method for enhancing performance
US20100226384A1 (en) Method for reliable transport in data networks
Hussain et al. Impact of DDoS attack (UDP Flooding) on queuing models
CN114830113A (en) System and method for securing resource allocation in a stateful connection manager
US7464398B2 (en) Queuing methods for mitigation of packet spoofing
Luo et al. The NewShrew attack: A new type of low-rate TCP-Targeted DoS attack
Boppana et al. Analyzing the vulnerabilities introduced by ddos mitigation techniques for software-defined networks
Kumar et al. Data sequence signal manipulation in multipath tcp (mptcp): The vulnerability, attack and its detection
Kumarasamy et al. An active defense mechanism for TCP SYN flooding attacks
JP4481780B2 (en) Method and apparatus for protecting against SYN packet bandwidth attack on TCP server
Kieu et al. Using CPR metric to detect and filter low-rate DDoS flows
Dong et al. Analysis of low-rate TCP DoS attack against FAST TCP

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070629

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070629

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091109

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091116

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100205

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20100205

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: 20100222

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100318

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

Free format text: PAYMENT UNTIL: 20130326

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4481780

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140326

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250