JP2006279531A - Network processor, network processing method, and network processing program - Google Patents
Network processor, network processing method, and network processing program Download PDFInfo
- Publication number
- JP2006279531A JP2006279531A JP2005095543A JP2005095543A JP2006279531A JP 2006279531 A JP2006279531 A JP 2006279531A JP 2005095543 A JP2005095543 A JP 2005095543A JP 2005095543 A JP2005095543 A JP 2005095543A JP 2006279531 A JP2006279531 A JP 2006279531A
- Authority
- JP
- Japan
- Prior art keywords
- session
- timeout time
- rate
- time
- entry
- 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
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
本発明は、大量アクセスにより生じる高負荷状態を処理するネットワーク処理装置、ネットワーク処理方法及びネットワーク処理プログラムに関し、特に新規セッションのタイムアウト時間を動的に登録し更新するネットワーク処理装置、ネットワーク処理方法及びネットワーク処理プログラムに関する。 The present invention relates to a network processing device, a network processing method, and a network processing program for processing a high load state caused by mass access, and more particularly to a network processing device, a network processing method, and a network for dynamically registering and updating a timeout time of a new session. It relates to a processing program.
近年のインターネット技術の発展に伴い、インターネット上のサーバやルータ等のネットワーク装置を、より高負荷及び大量アクセスに耐えられるように設計することが求められている。また、大量アクセスを続けることによって、インターネット上のサーバを攻撃する不正が増えつつある。このように大量アクセスを続ける不正行為は、一般にDoS(Denial of Service )と呼ばれる。 With the recent development of Internet technology, it is required to design network devices such as servers and routers on the Internet so that they can withstand higher loads and mass access. In addition, fraud attacking servers on the Internet is increasing due to continued mass access. Such fraud that continues mass access is generally called DoS (Denial of Service).
DoS攻撃の一形態としてTCP−SYN−Flood攻撃が存在する。「TCP−SYN−Flood」とは、ヘッダフィールドにSYNフラグを立てたTCP(Transmission Control Protocol )パケットを多量に送りつける攻撃のことである。一般に、サーバ(ネットワーク装置)は、TCPの送信元アドレスや、送信先のアドレス、TCPステート等のTCPセッションの管理情報(セッション情報)を記憶するセッションメモリを有する。また、SYNパケットを受けると、サーバは、SYNパケットに対応するセッションを、セッションメモリに新規セッションとして登録する。また、サーバは、送信元IPアドレスに示されるホストに対して、SYN−ACKパケットを返す。この場合、送信元ホストからの応答が無ければ、サーバは、タイムアウト(Connection Establishment Timeout)になるまでの間、SYN−ACKパケットを送信元ホストに再送し続ける。 A TCP-SYN-Flood attack exists as a form of DoS attack. “TCP-SYN-Flood” is an attack in which a large amount of TCP (Transmission Control Protocol) packets with the SYN flag set in the header field are sent. Generally, a server (network device) has a session memory that stores TCP session management information (session information) such as a TCP source address, a destination address, and a TCP state. When receiving the SYN packet, the server registers the session corresponding to the SYN packet as a new session in the session memory. In addition, the server returns a SYN-ACK packet to the host indicated by the source IP address. In this case, if there is no response from the transmission source host, the server continues to retransmit the SYN-ACK packet to the transmission source host until a timeout (Connection Establishment Timeout) occurs.
TCP−SYN−Flood攻撃が行われている場合、攻撃対象のサーバは、攻撃元のホストから、送信元アドレスを偽ったSYNパケットを受信することが多い。SourceIPアドレスを偽ったSYNパケットを受信した場合、攻撃対象のサーバは、SYN−ACKパケットを、偽られたIPアドレスに対して送るので、送信元からの応答を得られないことになる。このような不正なSYNパケットを受信し続けると、攻撃対象のサーバは、セッションメモリを使い果たしてしまい、正当なホストからのアクセスに対して応答を行うことができなくなってしまう。 When a TCP-SYN-Flood attack is performed, the attack target server often receives a SYN packet with a false source address from the attack source host. When a SYN packet in which the SourceIP address is false is received, the attack target server sends a SYN-ACK packet to the false IP address, so that a response from the transmission source cannot be obtained. If such an illegal SYN packet is continuously received, the attack target server runs out of session memory and cannot respond to an access from a legitimate host.
また、DoS攻撃の他の形態として、複数のホストが攻撃対象のサーバに対して同時に大量アクセスするDDoS(Distributed DoS )と呼ばれる攻撃も存在する。この場合、大量アクセスしてくるホストは、通常不正アクセスを行う攻撃者自身が所有するものとは限らず、攻撃者に利用された他のサーバから攻撃されている場合が多い。 Further, as another form of DoS attack, there is an attack called DDoS (Distributed DoS) in which a plurality of hosts simultaneously access a large number of attack target servers. In this case, a host that accesses a large amount is not necessarily owned by an attacker who normally performs unauthorized access, and is often attacked by another server used by the attacker.
これらDoS攻撃を受けている場合、攻撃を受けているサーバは、一般に、どのホストから攻撃を受けているかを知ることができない。また、一般に、これらの攻撃はプログラムによる自動化処理によって実行されるので、攻撃対象のサーバは、長時間に渡って攻撃を受けるのが通常である。 When receiving these DoS attacks, the server under attack generally cannot know which host is being attacked. In general, since these attacks are executed by an automatic process by a program, the attack target server is usually attacked for a long time.
DoS攻撃に対処する方法として、例えば、特許文献1には、予め保護対象のサーバが受け付けられるTCP−SYNの最大トラヒックの閾値を設定して、モニタを行うネットワーク装置が記載されている。特許文献1に記載されたネットワーク装置は、トラヒックが閾値を越えた場合、越えた分のフィルタリングを行い、同一ISP内の全加入者収容エッジ及び全ボーダルータにサーバのアドレス及び閾値を通知する。そのようにすることによって、ネットワーク装置は、ネットワーク内のDDoS攻撃対策処理を最小限に抑えている。
As a method for coping with a DoS attack, for example,
また、非特許文献1には、TCP−SYN−Floodに対処するためのネットワークプログラムの実装方法が記載されている。非特許文献1に記載された方法では、TCP−SYN−Flood対策用の内部フラグが1になっている時、TCPのHalf−Openコネクション数が予め内部パラメータで設定された閾値を越えているか否かを判断する。そして、閾値を越えると、SYNに対するSYN−ACKパケットの再送回数を減らす。
Non-Patent
特許文献1に記載されたネットワーク装置や非特許文献1に記載された方法を用いる場合、ネットワーク管理者が予め所定の閾値を設定しなければならない。しかし、最適な閾値は、ネットワークの状況(時間、曜日又は季節による変動や、イベント、網構成の変化、ウイルスの蔓延)によって変動する可能性がある。そのため、予め最適な閾値を判断し設定することは、ネットワーク管理者にとって負担が大きい。
When using the network device described in
また、非特許文献1に記載された方法では、ネットワーク装置は、閾値より僅かに小さい値の場合には全てのセッションを受け付けるが、一方で僅かにセッション数が増えて閾値を越えると、セッション数の変化が微少であるにも関わらず、全く異なる応答をすることになる。すなわち、ネットワーク装置は、閾値を越えない程度の「軽い」攻撃に対しては一切DoS攻撃の対策を行わないが、閾値を越えると、どれだけ「重い」攻撃を受けている場合であっても、DoS攻撃の対策を同様に施すことになる。そのため、閾値を用いた処理を行うことによって、閾値近辺におけるネットワーク装置の挙動(処理)が不連続になってしまう。
In the method described in
また、特許文献1に記載されたネットワーク装置は、TCP Half−Openの閾値を越えた分の新規セッションについて、全てフィルタリングを行う。そのため、DoS攻撃のトラヒックが大きくなる程、正当なクライアント(ホスト)がアクセス拒否される頻度も大きくなる。従って、サーバが不正なホストから攻撃を受けている間、正当なクライアントであってもサーバにアクセスを拒否されてしまう。
In addition, the network device described in
DoS攻撃を受けている最中であっても、セッションメモリの最大エントリ数が充分に大きければ、全てのセッションのハンドリングを行うことができる。例えば、100(sessions/second )のレートでTCP−SYN−Flood攻撃を受けた場合、ConnectionEstablishment Timeout (タイムアウト時間)が75秒であるとすると、セッションメモリの最大エントリ数が100(sessions/second )×75(second)=7500エントリ以上あれば、全てのコネクションをハンドリングすることができる。しかし、セッションメモリのエントリの最大数は有限であるので、TCP−SYN−Flood攻撃のレートが100(sessions/second )より高くなると、セッションメモリが溢れ(オーバフローし)応答できないコネクションが生じてしまう。例えセッションメモリの最大エントリ数が充分に大きかったとしても、無限に大きくすることはできず、TCP−SYN−Flood攻撃のレートが大きい場合には、応答できないコネクションが生じてしまう。 Even during a DoS attack, if the maximum number of entries in the session memory is sufficiently large, all sessions can be handled. For example, if a TCP-SYN-Flood attack is received at a rate of 100 (sessions / second) and the ConnectionEstablishment Timeout (timeout time) is 75 seconds, the maximum number of entries in the session memory is 100 (sessions / second) × If 75 (second) = 7500 entries or more, all connections can be handled. However, since the maximum number of entries in the session memory is finite, if the rate of the TCP-SYN-Flood attack is higher than 100 (sessions / second), the session memory overflows (overflows), and a connection that cannot respond is generated. Even if the maximum number of entries in the session memory is sufficiently large, it cannot be increased indefinitely. If the rate of the TCP-SYN-Flood attack is large, a connection that cannot be responded occurs.
そこで、本発明は、不正なホストから過負荷のアクセスを受けている最中であっても、正当なクライアントからのアクセスに応答できるネットワーク処理装置、ネットワーク処理方法及びネットワーク処理プログラムを提供することを目的とする。また、本発明は、ネットワーク管理者が閾値の設定作業を行う必要がなく、ネットワーク管理者の負担を軽減できるネットワーク処理装置、ネットワーク処理方法及びネットワーク処理プログラムを提供することを目的とする。また、本発明は、閾値を設けなくても、不正な攻撃のアクセスレートに応じた対処を行えるネットワーク処理装置、ネットワーク処理方法及びネットワーク処理プログラムを提供することを目的とする。 Therefore, the present invention provides a network processing device, a network processing method, and a network processing program capable of responding to access from a legitimate client even during overload access from an unauthorized host. Objective. It is another object of the present invention to provide a network processing device, a network processing method, and a network processing program that do not require a network administrator to perform threshold setting work and can reduce the burden on the network administrator. It is another object of the present invention to provide a network processing device, a network processing method, and a network processing program that can cope with an unauthorized attack access rate without providing a threshold.
本発明によるネットワーク処理装置は、大量アクセスにより生じる高負荷状態を処理するネットワーク処理装置であって、ネットワーク処理装置が扱うべき新たなセッションを検出すると、所定の条件に従って、新たなセッションに対応するタイムアウト時間を動的に求めるタイムアウト時間算出手段(例えば、タイムアウト時間演算部23によって実現される)と、タイムアウト時間算出手段が求めたタイムアウト時間に基づいて、タイムアウトになったセッションのエントリを削除するエントリ削除手段(例えば、エージング処理手段40によって実現される)と、現在登録されているセッションのエントリに対応するクライアントに、通信ネットワークを介して応答データ(例えば、応答パケット)を送信する応答手段(例えば、応答パケット送出手段50によって実現される)とを備えたことを特徴とする。
The network processing device according to the present invention is a network processing device for processing a high load state caused by mass access, and when a new session to be handled by the network processing device is detected, a timeout corresponding to the new session is determined according to a predetermined condition. Timeout deletion means for dynamically obtaining the time (for example, realized by the timeout time calculator 23) and entry deletion for deleting the entry of the session that has timed out based on the timeout time obtained by the timeout time calculation means Means (for example, realized by the aging processing means 40) and response means (for example, a response packet) for transmitting response data (for example, a response packet) to the client corresponding to the entry of the currently registered session. response Characterized by comprising a to) and implemented by
また、ネットワーク処理装置は、大量アクセスにより生じる高負荷状態を処理するネットワーク処理装置であって、クライアントから、通信ネットワークを介してパケットを受信するパケット受信手段(例えば、パケット受信手段10によって実現される)と、ネットワーク処理装置が現在扱っているセッションを示すセッション情報を記憶するセッション情報記憶手段(例えば、セッション情報記憶部33によって実現される)と、パケット受信手段が新たなセッションのパケットを受信すると、所定の条件に従って、新たなセッションに対応するタイムアウト時間を動的に求めるタイムアウト時間算出手段と、タイムアウト時間算出手段が求めたタイムアウト時間を含むセッション情報を、セッション情報記憶手段に記憶させることによって、新たなセッションのエントリを登録するエントリ登録手段(例えば、タイムアウト時間登録部24によって実現される)と、セッション情報記憶手段が記憶するセッション情報に示されるタイムアウト時間に基づいて、ネットワーク処理装置が現在扱っているセッションについて、タイムアウト時間が経過したか否かを判断するタイムアウト判断手段(例えば、エージング処理手段40によって実現される)と、タイムアウト判断手段がタイムアウト時間が経過したと判断すると、セッション情報記憶手段から、タイムアウト時間が経過したセッションに対応するセッション情報を削除することによって、セッションのエントリを削除するエントリ削除手段と、現在登録されているセッションのエントリに対応するクライアントに、通信ネットワークを介して応答パケットを送信する応答パケット送信手段(例えば、応答パケット送出手段50によって実現される)とを備えたものであることが望ましい。 The network processing apparatus is a network processing apparatus that processes a high load state caused by mass access, and is realized by a packet receiving unit (for example, the packet receiving unit 10) that receives a packet from a client via a communication network. ), A session information storage means (for example, realized by the session information storage unit 33) for storing session information indicating a session currently handled by the network processing apparatus, and a packet reception means receiving a packet of a new session A time-out time calculating means for dynamically obtaining a time-out time corresponding to a new session according to a predetermined condition; and session information including the time-out time obtained by the time-out time calculating means is stored in the session information storage means. Based on the time-out time indicated in the session information stored in the session information storage means by the entry registration means (for example, realized by the time-out time registration unit 24) for registering a new session entry, Timeout determination means (for example, realized by the aging processing means 40) for determining whether or not the timeout time has elapsed for the currently handled session, and session information when the timeout determination means determines that the timeout time has elapsed. By deleting the session information corresponding to the session for which the timeout period has elapsed from the storage means, the entry deletion means for deleting the session entry and the client corresponding to the currently registered session entry are communicated. Reply packet transmitting means for transmitting a response packet through the network (e.g., as implemented by the response packet transmitting unit 50) is desirably that a.
また、ネットワーク処理装置は、所定単位あたりに発生する新たなセッションの割合を示すセッションレートを求めるセッションレート算出手段(例えば、セッションレート測定部22によって実現される)を備え、タイムアウト時間算出手段は、セッションレート算出手段が求めたセッションレートに基づいて、新たなセッションに対応するタイムアウト時間を動的に求めるものであってもよい。 Further, the network processing apparatus includes a session rate calculation unit (for example, realized by the session rate measurement unit 22) that obtains a session rate indicating a ratio of new sessions that occur per predetermined unit, and the timeout time calculation unit includes: A timeout time corresponding to a new session may be dynamically obtained based on the session rate obtained by the session rate calculation means.
また、ネットワーク処理装置において、セッションレート算出手段は、所定のサンプリング単位に従って、受信した新たなセッションのパケット数の平均を求めることによって、セッションレートを求めるものであってもよい。 In the network processing apparatus, the session rate calculation means may determine the session rate by calculating an average of the number of received packets of a new session according to a predetermined sampling unit.
また、ネットワーク処理装置において、セッションレート算出手段は、サンプリング単位として所定の時間単位に従って、セッションレートを求めるものであってもよい。 Further, in the network processing device, the session rate calculation means may obtain the session rate according to a predetermined time unit as a sampling unit.
また、ネットワーク処理装置において、セッションレート算出手段は、サンプリング単位として過去に受信したパケット数の単位に従って、セッションレートを求めるものであってもよい。 In the network processing apparatus, the session rate calculation means may obtain the session rate according to a unit of the number of packets received in the past as a sampling unit.
また、ネットワーク処理装置において、セッションレート算出手段は、指数平滑法を用いてセッションレートを求めるものであってもよい。 In the network processing apparatus, the session rate calculation means may obtain a session rate using an exponential smoothing method.
また、ネットワーク処理装置は、セッションレート算出手段が求めたセッションレートを記憶するセッションレート記憶手段(例えば、セッションレート記憶部31によって実現される)を備え、タイムアウト時間算出手段は、セッションレート記憶手段からセッションレートaを読み出し、所定の関数t=f(a)を用いて、タイムアウト時間tを求めるものであってもよい。 Further, the network processing apparatus includes a session rate storage unit (for example, realized by the session rate storage unit 31) that stores the session rate obtained by the session rate calculation unit, and the timeout time calculation unit includes: The session rate a may be read and the timeout time t may be obtained using a predetermined function t = f (a).
また、ネットワーク処理装置は、セッション情報記憶手段に登録できるセッションのエントリの最大量を示す最大登録可能量D(例えば、セッションメモリ最大量)を記憶する最大量記憶手段(例えば、セッションメモリ最大量記憶部32によって実現される)を備え、タイムアウト時間算出手段は、最大量記憶手段から、最大登録可能量Dを読み出し、所定の関数f(a)としてt=f(a)=D/aを用いて、タイムアウト時間tを求めるものであってもよい。 Further, the network processing apparatus stores maximum amount storage means (for example, session memory maximum amount storage) for storing a maximum registerable amount D (for example, maximum session memory amount) indicating the maximum amount of session entries that can be registered in the session information storage means. The time-out time calculation means reads the maximum registerable amount D from the maximum amount storage means and uses t = f (a) = D / a as the predetermined function f (a). Thus, the timeout time t may be obtained.
また、ネットワーク処理装置は、セッション情報記憶手段に登録されているエントリ数dを記憶するセッションエントリ数記憶手段(例えば、セッションメモリ登録エントリ数記憶部34によって実現される)を備え、タイムアウト時間算出手段は、セッションレート記憶手段から、セッションレートaを読み出し、セッションエントリ数記憶手段から、エントリ数dを読み出し、所定の関数f(a)と関数g(d)とを合成した合成関数f{g(a,d)}を用いて、タイムアウト時間tを求めるものであってもよい。 Further, the network processing apparatus includes a session entry number storage unit (for example, realized by the session memory registration entry number storage unit 34) for storing the entry number d registered in the session information storage unit, and a timeout time calculation unit Reads the session rate a from the session rate storage means, reads the entry number d from the session entry number storage means, and synthesizes a predetermined function f (a) and function g (d). a, d)} may be used to determine the timeout time t.
また、ネットワーク処理装置において、タイムアウト時間算出手段は、セッションレートの増加時とセッションレートの減少時とで、異なる演算方法を用いて、タイムアウト時間tを求めるものであってもよい。 Further, in the network processing apparatus, the timeout time calculation means may obtain the timeout time t by using different calculation methods depending on whether the session rate is increased or the session rate is decreased.
本発明によるネットワーク処理方法は、大量アクセスにより生じる高負荷状態を処理するネットワーク処理方法であって、クライアントからのアクセスを処理するネットワーク処理装置が扱うべき新たなセッションを検出すると、所定の条件に従って、新たなセッションに対応するタイムアウト時間を動的に求めるステップと、求めたタイムアウト時間に基づいて、タイムアウトになったセッションのエントリを削除するステップと、現在登録されているセッションのエントリに対応するクライアントに、通信ネットワークを介して応答データを送信するステップとを含むことを特徴とする。 The network processing method according to the present invention is a network processing method for processing a high load state caused by mass access, and when a new session to be handled by a network processing apparatus that processes access from a client is detected, according to a predetermined condition, Dynamically determining the timeout period corresponding to the new session, deleting the session entry that has timed out based on the determined timeout period, and the client corresponding to the currently registered session entry. And transmitting response data via a communication network.
また、ネットワーク処理方法は、大量アクセスにより生じる高負荷状態を処理するネットワーク処理方法であって、クライアントからのアクセスを処理するネットワーク処理装置が現在扱っているセッションを示すセッション情報を、記憶手段に記憶するステップと、クライアントから、通信ネットワークを介してパケットを受信するステップと、新たなセッションのパケットを受信すると、所定の条件に従って、新たなセッションに対応するタイムアウト時間を動的に求めるステップと、求めたタイムアウト時間を含むセッション情報を記憶手段に新たに記憶させることによって、新たなセッションのエントリを登録するステップと、記憶したセッション情報に示されるタイムアウト時間に基づいて、ネットワーク処理装置が現在扱っているセッションについて、タイムアウト時間が経過したか否かを判断するステップと、タイムアウト時間が経過したと判断すると、記憶手段から、タイムアウト時間が経過したセッションに対応するセッション情報を削除することによって、セッションのエントリを削除するステップと、現在登録されているセッションのエントリに対応するクライアントに、通信ネットワークを介して応答パケットを送信するステップとを含むものであることが望ましい。 The network processing method is a network processing method for processing a high load state caused by mass access, and stores session information indicating a session currently handled by a network processing device that processes access from a client in a storage unit. A step of receiving a packet from a client via a communication network, and a step of dynamically obtaining a timeout time corresponding to the new session according to a predetermined condition upon receiving a packet of the new session The network processing device is currently handling the step of registering a new session entry by newly storing the session information including the timeout time in the storage means and the timeout time indicated in the stored session information. The step of determining whether or not the timeout time has elapsed for the session, and if it is determined that the timeout time has elapsed, the session entry corresponding to the session for which the timeout time has elapsed is deleted from the storage means. And a step of transmitting a response packet to the client corresponding to the currently registered session entry via the communication network.
本発明によるネットワーク処理プログラムは、大量アクセスにより生じる高負荷状態を処理するためのネットワーク処理プログラムであって、コンピュータに、ネットワーク処理装置が扱うべき新たなセッションを検出すると、所定の条件に従って、新たなセッションに対応するタイムアウト時間を動的に求める処理と、求めたタイムアウト時間に基づいて、タイムアウトになったセッションのエントリを削除する処理と、現在登録されているセッションのエントリに対応するクライアントに、通信ネットワークを介して応答データを送信する処理とを実行させることを特徴とする。 The network processing program according to the present invention is a network processing program for processing a high load state caused by mass access. When a new session to be handled by the network processing device is detected in the computer, a new processing is performed according to a predetermined condition. Processing to dynamically determine the timeout time corresponding to the session, processing to delete the entry of the session that has timed out based on the calculated timeout time, and communication to the client corresponding to the currently registered session entry And processing for transmitting response data via a network.
また、ネットワーク処理プログラムは、大量アクセスにより生じる高負荷状態を処理するためのネットワーク処理プログラムであって、ネットワーク処理装置が現在扱っているセッションを示すセッション情報を記憶する記憶手段を備えたコンピュータに、クライアントから、通信ネットワークを介してパケットを受信する処理と、新たなセッションのパケットを受信すると、所定の条件に従って、新たなセッションに対応するタイムアウト時間を動的に求める処理と、求めたタイムアウト時間を含むセッション情報を記憶手段に新たに記憶させることによって、新たなセッションのエントリを登録する処理と、記憶したセッション情報に示されるタイムアウト時間に基づいて、ネットワーク処理装置が現在扱っているセッションについて、タイムアウト時間が経過したか否かを判断する処理と、タイムアウト時間が経過したと判断すると、記憶手段から、タイムアウト時間が経過したセッションに対応するセッション情報を削除することによって、セッションのエントリを削除する処理と、現在登録されているセッションのエントリに対応するクライアントに、通信ネットワークを介して応答パケットを送信する処理とを実行させるものであることが望ましい。 The network processing program is a network processing program for processing a high load state caused by mass access, and a computer having storage means for storing session information indicating a session currently handled by the network processing device. Processing for receiving a packet from a client via a communication network, processing for dynamically determining a timeout time corresponding to a new session according to a predetermined condition when receiving a packet for a new session, and calculating the calculated timeout time Based on the time-out time indicated in the stored session information based on the process of registering a new session entry by newly storing the session information including the storage means, the session currently handled by the network processing device, Processing for determining whether or not the timeout time has elapsed, and determining that the timeout time has elapsed, deletes the session entry by deleting session information corresponding to the session for which the timeout time has elapsed from the storage means It is desirable to cause the client corresponding to the currently registered session entry to execute a process of transmitting a response packet via the communication network.
本発明のネットワーク処理装置は、新規SYNパケットのレートを測定するセッションレート測定部と、セッションのタイムアウト時間を演算するタイムアウト時間演算部と、タイムアウト時間登録部と、タイムアウト時間を記憶するセッション情報記憶部とを含む。セッション情報記憶部は、セッションメモリに相当し、各種プロトコル処理に必要なセッション情報を登録してもよい。 A network processing apparatus of the present invention includes a session rate measuring unit that measures a rate of a new SYN packet, a timeout time calculating unit that calculates a timeout time of a session, a timeout time registering unit, and a session information storage unit that stores a timeout time Including. The session information storage unit corresponds to a session memory, and may register session information necessary for various protocol processes.
上記の構成により、ネットワーク処理装置は、連続的に変化するコネクションレートに応じて、動的にタイムアウト時間を演算し登録することによって、不正なホストから過負荷のアクセスを受けている最中であっても、正当なクライアントからのアクセスに応答できるようにするという本発明の目的を達成することができる。 With the above configuration, the network processing apparatus is in the process of receiving an overload access from an unauthorized host by dynamically calculating and registering the timeout time according to the connection rate that changes continuously. However, it is possible to achieve the object of the present invention to be able to respond to access from a legitimate client.
また、ネットワーク処理装置は、クライアントからのセッションレートをaとしセッショメモリ最大量をDとして、セッションタイムアウト時間=tを式t=f(a)=D/aを用いて求め、タイムアウト値を設定する。そのようにすることによって、ネットワーク管理者が閾値を設定する必要がなくなり、ネットワーク管理者が閾値の設定作業を行う必要がなく、ネットワーク管理者の負担を軽減できるようにするという本発明の目的を達成することができる。また、閾値を設けなくても、不正な攻撃のアクセスレートに応じた対処を行えるようにするという本発明の目的を達成することができる。 Further, the network processing apparatus obtains a session timeout time = t using the equation t = f (a) = D / a, where a is the session rate from the client and D is the maximum session memory, and sets the timeout value. . By doing so, there is no need for the network administrator to set a threshold value, the network administrator does not need to perform threshold setting work, and the object of the present invention is to reduce the burden on the network administrator. Can be achieved. Further, the object of the present invention can be achieved so that it is possible to cope with an illegal attack access rate without providing a threshold.
本発明によれば、過負荷時であっても動的にタイムアウト時間を求める。そして、求めたタイムアウト時間に基づいてタイムアウトになったセッションのエントリを削除する。動的に求めたタイムアウト時間に基づいてタイムアウトになったセッションのエントリを削除できるので、不正なホストからの過負荷のアクセスに対処することができる。また、トラヒックの閾値判定によるフィルタリングを行う必要がないので、エントリ登録されている全てのクライアントに対して応答することができる。従って、不正なホストから過負荷のアクセスを受けている最中であっても、正当なクライアントからのアクセスに応答できる。 According to the present invention, the timeout time is obtained dynamically even during overload. Then, the entry of the session that has timed out is deleted based on the obtained time-out time. Since it is possible to delete the entry of the session that has timed out based on the dynamically determined time-out time, it is possible to cope with an overloaded access from an unauthorized host. In addition, since it is not necessary to perform filtering based on traffic threshold determination, it is possible to respond to all registered clients. Therefore, even during an overloaded access from an unauthorized host, it is possible to respond to an access from a legitimate client.
また、本発明によれば、指数平滑法を用いてセッションレートを求め、セッションレートに基づいてタイムアウト時間を動的に求める。そのため、タイムアウト時間を求める際の、メモリリソース及び演算数を低減することができる。 Further, according to the present invention, the session rate is obtained using the exponential smoothing method, and the timeout time is obtained dynamically based on the session rate. Therefore, it is possible to reduce the memory resources and the number of operations when obtaining the timeout time.
また、本発明によれば、トラヒックの閾値を用いなくても、セッションレートに対してt=f(a)を用いてタイムアウト時間を求めて、不正なホストからの過負荷のアクセスに対処することができる。従って、ネットワーク管理者が閾値の設定作業を行う必要がなく、ネットワーク管理者の負担を軽減することができる。また、トラフィックの閾値を設けなくても、不正な攻撃のアクセスレートに応じた対処を行うことができる。 Further, according to the present invention, it is possible to deal with an overloaded access from an unauthorized host by obtaining a timeout time using t = f (a) for the session rate without using a traffic threshold. Can do. Therefore, it is not necessary for the network administrator to set the threshold value, and the burden on the network administrator can be reduced. Further, it is possible to cope with an illegal attack access rate without providing a traffic threshold.
また、本発明によれば、合成関数f{g(a,d)}を用いてタイムアウト時間を求めて、不正なホストからの過負荷のアクセスに対処することができる。従って、関数g(d)を調整することにより、セッションレートが大きく変動しても、セッションエントリの最大数を超えないように制御することができる。 Further, according to the present invention, it is possible to deal with an overloaded access from an unauthorized host by obtaining a timeout time using the synthesis function f {g (a, d)}. Therefore, by adjusting the function g (d), it is possible to control so as not to exceed the maximum number of session entries even if the session rate varies greatly.
また、本発明によれば、セッションレートの増加時とセッションレートの減少時とで、異なる演算方法を用いて、タイムアウト時間tを求める。そのようにすることによって、タイムアウト時間tの特性にヒステリシスをもたせてることができる。従って、セッションレートの減少時に、セッションタイムアウト時間をより大きな値に設定し、セッションレート減少時にプロトコルの本来のタイムアウト値により近い値をもたせることができる。 Further, according to the present invention, the timeout time t is obtained using different calculation methods when the session rate is increased and when the session rate is decreased. By doing so, hysteresis can be given to the characteristic of the timeout time t. Therefore, it is possible to set the session timeout time to a larger value when the session rate is reduced, and to have a value closer to the original timeout value of the protocol when the session rate is reduced.
実施の形態1.
以下、本発明の第1の実施の形態を図面を参照して説明する。図1は、本発明によるネットワーク処理装置の構成の一例を示すブロック図である。図1に示すように、ネットワーク処理装置は、パケット受信手段10と、プロトコル処理手段20と、記憶手段30と、エージング処理手段40と、応答パケット送出手段50とを含む。なお、本実施の形態において、ネットワーク処理装置は、具体的には、各種TCP処理を実行したり、ファイアウォールやゲートウェイを実現するサーバや中継装置(例えば、ルータ)によって実現される。
Hereinafter, a first embodiment of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing an example of the configuration of a network processing apparatus according to the present invention. As shown in FIG. 1, the network processing apparatus includes a
パケット受信手段10は、具体的には、プログラムに従って動作するサーバや中継装置のCPU及びネットワークインタフェース部によって実現される。パケット受信手段10は、クライアントが送信したパケットを、インターネット等の通信ネットワークを介して受信する機能を備える。
Specifically, the
プロトコル処理手段20は、具体的には、プログラムに従って動作するサーバや中継装置のCPUによって実現される。プロトコル処理手段20は、図1に示すように、新規パケット判定部21と、セッションレート測定部22と、タイムアウト時間演算部23と、タイムアウト時間登録部24と、プロトコル応答処理部25とを含む。
Specifically, the protocol processing means 20 is realized by a server that operates according to a program or a CPU of a relay device. As shown in FIG. 1, the protocol processing means 20 includes a new
新規パケット判定部21は、パケット受信手段10が受信したパケットが、新規セッションのパケットか否かを判定する機能を備える。本実施の形態では、「セッション」とは、ネットワーク処理装置とクライアントとの間で行われる一連の通信の開始から終了までをいう。また、本実施の形態では、新たなセッションの開始時にネットワーク処理装置が最初にクライアントから受信するパケットを「新規パケット」ともいう。
The new
本実施の形態では、新規パケット判定部21は、受信したパケットのヘッダ情報に基づいて、受信パケットが新規パケットであるか否かを判定する。例えば、新規パケット判定部21は、ヘッダ情報に基づいて、受信したパケットがTCP−SYNパケットであるか否かを判断する。そして、TCP−SYNパケットであると判断すると、新規パケット判定部21は、受信したパケットが新規パケットであると判定する。
In the present embodiment, the new
セッションレート測定部22は、パケット受信手段10が新規セッションのパケットをどの程度のレートで受信しているかを判定する機能を備える。本実施の形態では、セッションレート測定部22は、所定単位あたりに発生する新たなセッションの割合を示すセッションレートを求める。
The session
本実施の形態では、セッションレート測定部22は、所定のサンプリング単位に従って受信した新たなセッションのパケット数の平均を求めることによって、セッションレートを求める。例えば、セッションレート測定部22は、サンプリング単位として所定の時間単位に従って、セッションレートを求める。また、例えば、セッションレート測定部22は、サンプリング単位として過去に受信したパケット数の単位に従って、セッションレートを求める。
In the present embodiment, session
例えば、セッションレート測定部22は、新規パケットが単位時間あたりどの程度通過したかをカウントする。そして、セッションレート測定部22は、カウント値に基づいて、単位時間あたりにパケット受信手段10が受信した新規セッションのパケット数aをセッションレートとして求める。例えば、セッションレート測定部22は、新規パケット判定部21が1秒間に判定した新規セッションパケットの数をカウントし、1秒間あたりの新規セッションの数a(sessions/second )をセッションレートとして求める。また、セッションレート測定部22は、求めたセッションレートaの値をセッションレート記憶部31に書き込む。
For example, the session
タイムアウト時間演算部23は、新規セッションのタイムアウト時間を算出する機能を備える。本実施の形態では、タイムアウト時間演算部23は、所定のタイミングで、セッションレート記憶部31からセッションレートaを読み出す。また、タイムアウト時間演算部23は、セッションメモリ最大量記憶部32から、セッションメモリが記憶できるセッションのエントリの最大量を示すセッションメモリ最大量Dを読み出す。そして、タイムアウト時間演算部23は、所定の演算関数をf(a)とし、セッションレートa及びセッションメモリ最大量Dに基づいて、式(1)を用いてタイムアウト時間tを求める。
The timeout
t=f(a)=D/a 式(1) t = f (a) = D / a Formula (1)
例えば、タイムアウト時間演算部23は、読み出したセッションレートa(sessions/second )及びセッションメモリ最大量D(sessions)を式(1)に代入し、タイムアウト時間t(second)を求める。
For example, the timeout
タイムアウト時間登録部24は、タイムアウト時間tを、セッション情報記憶部(セッションメモリ)33に新規セッションのエントリとして登録する機能を備える。本実施の形態では、タイムアウト時間登録部24は、タイムアウト時間演算部23がタイムアウト時間tを求めると、新規セッションのプロトコル処理に必要なセッション情報を、セッション情報記憶部33に記憶させる。なお、本実施の形態において、セッション情報記憶部33が記憶するセッション情報は、ネットワーク処理装置が現在扱っているセッションを示す。
The timeout
「プロトコル処理」とは、例えば、TCPのSYNパケットに対して、SYN−ACKパケットを送信元に送信するか否かを判断する処理である。本実施の形態では、タイムアウト時間登録部24は、例えば、タイムアウト時間tに加えて、送信元のIPアドレスやポート番号、TCPシーケンス番号、確認応答番号、TCP内部ステートを含むセッション情報をセッション情報記憶部33に記憶させる。また、本実施の形態において、「新規エントリの登録」は、タイムアウト時間登録部24が、タイムアウト時間tを含むセッション情報を、セッションに対応付けてセッション情報記憶部33に記憶させることによって実現される。
“Protocol processing” is, for example, processing for determining whether or not to transmit a SYN-ACK packet to a transmission source for a TCP SYN packet. In the present embodiment, the timeout
プロトコル応答処理部25は、受信したSYNパケットに対する各種TCP処理を実行する機能を備える。本実施の形態では、プロトコル応答処理部25は、プロトコル処理で応答すべきパケットを判定する。また、プロトコル応答処理部25は、セッション情報記憶部33から、タイムアウト時間tを含むプロトコル情報(セッション情報)を読み出す。また、プロトコル応答処理部25は、読み出したセッション情報に基づいて、送信元クライアントへの応答を応答パケット送出手段50に指示する。
The protocol
また、プロトコル応答処理部25は、更新されたプロトコル情報をセッション情報記憶部33に書き込む機能を備える。本実施の形態では、プロトコル応答処理部25は、各種TCP処理による更新後のTCP内部ステートやシーケンス番号、確認応答番号を含むセッション情報をセッション情報記憶部33に書き込む。また、本実施の形態では、プロトコル応答処理部25は、エージング処理手段40がタイムアウト時間tを更新すると、セッション情報記憶部33が記憶する情報を、更新後のタイムアウト時間を含むセッション情報に更新させる。
The protocol
記憶手段30は、具体的には、サーバや中継装置の記憶装置(例えば、磁気ディスク装置)によって実現される。記憶手段30は、図1に示すように、セッションレート記憶部31と、セッションメモリ最大量記憶部32と、セッション情報記憶部33とを含む。
Specifically, the
セッションレート記憶部31は、セッションレート測定部22が測定した(求めた)セッションレートaを記憶する。セッションメモリ最大量記憶部32は、セッション情報記憶部33の最大登録可能量(セッションメモリ最大量D)を予め記憶する。
The session
セッション情報記憶部33は、タイムアウト時間登録部24の指示に従って、タイムアウト時間演算部23が求めたタイムアウト時間tを記憶する。また、セッション情報記憶部33は、各セッションのタイムアウト時間を含むプロトコル処理に必要なセッション情報を記憶する。なお、本実施の形態において、セッションメモリは、セッション情報記憶部33によって実現される。
The session
エージング処理手段40は、具体的には、プログラムに従って動作するサーバや中継装置のCPUによって実現される。エージング処理手段40は、セッション情報記憶部33が記憶する各エントリのタイムアウト時間を更新し、新規パケットを受信してからの経過時間がタイムアウト時間を経過したか否かを判断する機能を備える。また、エージング処理手段40は、タイムアウト時間を経過したと判断すると、タイムアウトになったセッションのエントリを削除する処理を行う機能を備える。なお、本実施の形態において、「エントリの削除」は、エージング処理手段40が、タイムアウト時間を含むセッション情報をセッション情報記憶部33から削除することによって実現される。
Specifically, the aging processing means 40 is realized by a CPU that operates according to a program or a CPU of a relay device. The aging processing means 40 has a function of updating the timeout time of each entry stored in the session
応答パケット送出手段50は、具体的には、プログラムに従って動作するサーバや中継装置のCPU及びネットワークインタフェース部によって実現される。応答パケット送出手段50は、プロトコル応答処理部25からの応答指示に従って、応答パケットを送信元クライアントに送信する機能を備える。
Specifically, the response
なお、本実施の形態において、ネットワーク処理装置の記憶装置は、不正な大量アクセスに対処するための各種プログラムを記憶している。例えば、ネットワーク処理装置の記憶装置は、コンピュータに、ネットワーク処理装置が扱うべき新たなセッションを検出すると、所定の条件に従って、新たなセッションに対応するタイムアウト時間を動的に求める処理と、求めたタイムアウト時間に基づいて、タイムアウトになったセッションのエントリを削除する処理と、現在登録されているセッションのエントリに対応するクライアントに、通信ネットワークを介して応答データを送信する処理とを実行させるネットワーク処理プログラムを記憶している。 In the present embodiment, the storage device of the network processing device stores various programs for dealing with unauthorized mass access. For example, when the storage device of the network processing device detects a new session to be handled by the network processing device in the computer, the processing for dynamically obtaining the timeout time corresponding to the new session according to a predetermined condition and the obtained timeout A network processing program for executing processing for deleting a session entry that has timed out based on time and processing for transmitting response data via a communication network to a client corresponding to the currently registered session entry Is remembered.
次に、動作について説明する。図2は、ネットワーク処理装置が、新規セッションのエントリを登録する処理、及び送信元クライアントに応答パケットを送信する処理の一例を示す流れ図である。パケット受信手段10は、各クライアントから、通信ネットワークを介して各種パケットを随時受信している(ステップS11)。パケット受信手段10は、クライアントからパケットを受信すると、受信したパケットを新規パケット判定部21に出力する。
Next, the operation will be described. FIG. 2 is a flowchart illustrating an example of a process in which the network processing apparatus registers an entry for a new session and a process in which a response packet is transmitted to the transmission source client. The packet receiving means 10 receives various packets from each client as needed via the communication network (step S11). When receiving a packet from the client, the
新規パケット判定部21は。パケット受信手段10からのパケットが、新規セッションのパケットであるか否かを判定する(ステップS12,S13)。例えば、TCPを用いて通信を行う場合、新規パケット判定部21は、パケットにTCP−SYNフラグが立っているか否かを調べる。この場合、例えば、新規パケット判定部21は、パケットのヘッダ情報にTCP−SYNフラグが含まれるか否かを判断する。TCP−SYNフラグが立っている(ヘッダ情報に含まれる)と判断すると、新規パケット判定部21は、受信パケットが新規セッションパケットであると判断する。TCP−SYNフラグが立っていない(ヘッダ情報に含まれない)と判断すると、新規パケット判定部21は、受信パケットが新規セッションパケットでないと判断する。
The new
新規パケットでないと判断すると、新規パケット判定部21は、ステップS14からステップS16までの処理を行わずに、そのままプロトコル応答処理部25に処理を渡す。
If it is determined that the packet is not a new packet, the new
新規パケットであると判断すると、新規パケット判定部21は、セッションレート測定部22に処理を渡す。セッションレート処理部22は、単位時間あたりに流れる新規セッションのパケットをカウントし、カウントした値をセッションレートaとして求める(ステップS14)。また、セッションレート測定部22は、求めたセッションレートaをセッションレート記憶部31に登録する。すなわち、セッションレート測定部22は、カウント値に基づいて、単位時間あたりにパケット受信手段10が受信した新規セッションのパケット数aをセッションレートとして求める。そして、セッションレート測定部22は、求めたセッションレートaをセッションレート記憶部31に記憶させる。
If it is determined that the packet is a new packet, the new
タイムアウト時間演算部23は、セッションレート記憶部31からセッションレートaを読み出す。また、タイムアウト時間演算部23は、セッションメモリ最大量記憶部32からセッションメモリ最大量Dを読み出す。そして、タイムアウト時間演算部23は、セッションタイムアウト時間tの値を求める関数をf(a)とし、読み出したセッションレートa及びセッションメモリ最大量Dに基づいて、式(1)を用いてタイムアウト時間tを求める(ステップS15)。また、タイムアウト時間演算部23は、求めたタイムアウト時間tを、タイムアウト時間登録部24に渡す。
The timeout
タイムアウト時間登録部24は、セッション情報記憶部(セッションメモリ)33に、新規セッションエントリとして、タイムアウト時間tを登録する(ステップS16)。この場合、タイムアウト時間登録部24は、タイムアウト時間演算部23が求めたタイムアウト時間tを含むセッション情報を、セッション情報記憶部33に記憶させることによって、新規セッションのエントリを登録する。そして、タイムアウト時間登録部24は、プロトコル応答処理部25に処理を移す。
The timeout
以上のように、ステップS11からステップS16までの処理を実行することによって、ネットワーク処理装置は、新規セッションのパケットを受信すると、現在のセッションレートaに応じてタイムアウト時間を動的に求め、新規セッションのエントリを登録する。 As described above, by executing the processing from step S11 to step S16, when the network processing apparatus receives a packet for a new session, it dynamically obtains a timeout time according to the current session rate a, Register the entry.
次に、ネットワーク処理装置が、各セッションに対応するクライアントに対して、所定時間毎に応答パケットを送信する動作を説明する。プロトコル応答処理部25は、所定の時間毎に、プロトコル動作の主要処理を行う。「プロトコル動作の主要処理」とは、例えば、受信したパケットのTCPシーケンス番号及びACK番号をチェックしたり、各種ウインドウ制御を行う処理である。
Next, an operation in which the network processing apparatus transmits a response packet every predetermined time to the client corresponding to each session will be described. The protocol
プロトコル応答処理部25は、所定時間毎に、各セッションのタイムアウト時間を含む主要処理の情報(セッション情報)を、セッションメモリ(セッション情報記憶部33)から読み出す。また、プロトコル応答処理部25は、読み出したセッション情報に基づいて、送信元クライアントへの応答パケットの送信を応答パケット送出手段50にエントリ毎に指示する。例えば、プロトコル応答処理部25は、読み出したセッション情報に示される送信元アドレスに従って、応答パケットの送信を指示する。
The protocol
また、ネットワーク処理装置は、プロトコル処理により更新した値を再びセッションメモリ33に書き込む(ステップS17)。例えば、プロトコル応答処理部25は、各種TCP処理による更新後のTCP内部ステートやシーケンス番号、確認応答番号を含むセッション情報をセッション情報記憶部33に書き込む。また、例えば、プロトコル応答処理部25は、エージング処理手段40が更新したタイムアウト時間を含むセッション情報に基づいて、セッション情報記憶部33を更新させる。
In addition, the network processing device writes the value updated by the protocol processing in the
応答パケット送出手段50は、プロトコル応答処理部25からの指示に従って、応答パケットを、通信ネットワークを介してクライアントに送信する(ステップS18)。例えば、TCPを用いる場合、応答パケット送出手段50は、SYNパケットに対してSYN−ACKパケットをクライアントに送信し、データパケットに対してACKパケットをクライアントに送信し、FIN−ACKパケットに対してFIN−ACK応答パケットをクライアントに送信する。 The response packet sending means 50 transmits the response packet to the client via the communication network in accordance with the instruction from the protocol response processing unit 25 (step S18). For example, when TCP is used, the response packet sending means 50 sends a SYN-ACK packet to the client for the SYN packet, sends an ACK packet to the client for the data packet, and performs a FIN for the FIN-ACK packet. -Send an ACK response packet to the client.
以上のように、ステップS17及びステップS18の処理を実行することによって、ネットワーク処理装置は、所定時間毎に、現在エントリ登録されている各セッションについて、それぞれ各送信元クライアントに応答パケットを送信する。 As described above, by executing the processing of step S17 and step S18, the network processing apparatus transmits a response packet to each transmission source client for each session currently registered for entry every predetermined time.
次に、エージング処理手段40の動作を説明する。エージング処理手段40は、セッションメモリのエージング処理を行っている。「エージング処理」とはセッションメモリのタイマ更新処理のことである。本実施の形態では、エージング処理手段40は、例えば、ステップS17のプロトコル処理を行うタイミングでエージング処理を実行し、各セッションのタイムアウト時間を更新する。そして、エージング処理手段40は、更新後のタイムアウト時間を含むセッション情報に基づいて、セッション情報記憶部33を更新させる。また、本実施の形態では、エージング処理手段40は、所定のエージング処理を実行することによって、タイムアウト時間を経過してもクライアントからの応答がないエントリを削除する。
Next, the operation of the aging processing means 40 will be described. The aging processing means 40 performs an aging process for the session memory. The “aging process” is a timer update process for the session memory. In the present embodiment, the aging processing means 40 executes, for example, the aging process at the timing of performing the protocol process in step S17, and updates the timeout time of each session. Then, the aging processing means 40 updates the session
図3は、エージング処理手段が行うエージング処理の一例を示す流れ図である。エージング処理手段40は、所定のタイミングで、あるエントリポインタのセッション情報記憶部(セッションメモリ)33からタイムアウト値を読み出す(ステップS21)。本実施の形態では、エージング処理手段40は、所定時間Δtが経過すると、セッション情報記憶部33からタイムアウト時間tを読み出す。
FIG. 3 is a flowchart showing an example of the aging processing performed by the aging processing means. The aging processing means 40 reads the timeout value from the session information storage unit (session memory) 33 of a certain entry pointer at a predetermined timing (step S21). In the present embodiment, the aging processing means 40 reads the timeout time t from the session
また、エージング処理手段40は、読み出したタイムアウト時間tから、所定の経過時間Δtだけ減算する(ステップS22)。また、エージング処理手段40は、減算後のタイムアウト時間tが0より小さいか否かを判断する(ステップS23)。本実施の形態では、エージング処理手段40は、減算後のタイムアウト時間tが0より小さいと判断すると、そのタイムアウト時間に対応するエントリがタイムアウトになったと判断する。また、エージング処理手段40は、減算後のタイムアウト時間tが0より小さくないと判断すると、そのタイムアウト時間に対応するエントリがまだタイムアウトになっていないと判断する。 Further, the aging processing means 40 subtracts a predetermined elapsed time Δt from the read timeout time t (step S22). Further, the aging processing means 40 determines whether or not the timeout time t after subtraction is smaller than 0 (step S23). In the present embodiment, when the aging processing means 40 determines that the time-out time t after subtraction is smaller than 0, it determines that the entry corresponding to the time-out time has timed out. If the aging processing means 40 determines that the time-out time t after subtraction is not smaller than 0, it determines that the entry corresponding to the time-out time has not yet timed out.
減算後のタイムアウト時間tが0よりも小さいと判断すると、エージング処理手段40は、セッション情報記憶部33から、そのタイムアウト時間に対応するエントリを削除する(ステップS24)。この場合、エージング処理手段40は、タイムアウト時間tを含むセッション情報を、セッション情報記憶部33から削除することによって、エントリを削除する。
If it is determined that the time-out time t after subtraction is smaller than 0, the aging processing means 40 deletes the entry corresponding to the time-out time from the session information storage unit 33 (step S24). In this case, the aging
また、エージング処理手段40は、エントリポインタを1つ進め(ポインタを1加算し)、セッション情報記憶部33に登録されている次のエントリにポインタを進める(ステップS25)。そして、エージング処理手段40は、ステップS21の処理に戻り、ステップS21からステップS25までの処理を繰り返し実行する。 Further, the aging processing means 40 advances the entry pointer by 1 (adds 1 to the pointer), and advances the pointer to the next entry registered in the session information storage unit 33 (step S25). And the aging process means 40 returns to the process of step S21, and repeatedly performs the process from step S21 to step S25.
なお、ステップS23で減算後のタイムアウト時間tが0よりも小さくないと判断すると、エージング処理手段40は、エントリの削除を行わずに、エントリポインタを1つ進める。そして、エージング処理手段40は、ステップS21の処理に戻り、ステップS21からステップS25までの処理を繰り返し実行する。 If it is determined in step S23 that the time-out time t after subtraction is not smaller than 0, the aging processing means 40 advances the entry pointer by one without deleting the entry. And the aging process means 40 returns to the process of step S21, and repeatedly performs the process from step S21 to step S25.
以上に示すステップS21からステップS25までのエージング処理を実行することによって、エージング処理手段40は、タイムアウト時間演算部23が最初に求めたタイムアウト時間tが経過すると、タイムアウトになったエントリを削除する。
By executing the aging processing from step S21 to step S25 described above, the aging processing means 40 deletes the entry that has timed out when the time-out time t first obtained by the time-
ここで、一定のセッションレートaで登録されるセッションは、タイムアウト時間t(秒)が経過すると、エージング処理によって一定レートaで削除されることになる。そのため、タイムアウトt(秒)後のセッション情報記憶部33へのエントリ数は、a×tで一定値になるはずである。この場合、できるだけ多くのセッションを受け付けられるようにするためには、エントリ数の値がセッションメモリの最大容量Dに等しくなるようにすればよい。従って、最も多くのセッションを受け付けられるようにするためには、式(2)を満たすように設計すればよい。
Here, a session registered at a constant session rate a is deleted at a constant rate a by the aging process when the timeout time t (seconds) elapses. Therefore, the number of entries in the session
D=a×t 式(2) D = a × t Formula (2)
式(2)より、最適なタイムアウト時間tを算出するための関数をf(a)として、式(1)が求まる。 From Expression (2), Expression (1) is obtained with f (a) as a function for calculating the optimum timeout time t.
図4は、セッションメモリへの登録セッション数dと経過時間との関係の一例を示す説明図である。図4に示すように、セッションレートa0で入力したセッション数dは、タイムアウト時間tまでは線形に増加する。しかし、経過時間t0=D/a0を越えると、最大セッション数(セッションメモリ最大量D)の値で一定となる。また、セッションレートa1(a1>a0)で入力したセッション数dは、経過時間t1=D/a1を越えると、同様に最大セッション数(セッションメモリ最大量D)で一定となる。 FIG. 4 is an explanatory diagram showing an example of the relationship between the number d of sessions registered in the session memory and the elapsed time. As shown in FIG. 4, the number of sessions d input at the session rate a0 increases linearly until the timeout time t. However, when the elapsed time t0 = D / a0 is exceeded, the maximum session number (session memory maximum amount D) is constant. Further, the number of sessions d input at the session rate a1 (a1> a0) becomes constant at the maximum number of sessions (maximum amount of session memory D) when the elapsed time t1 = D / a1 is exceeded.
タイムアウト時間tをプロトコルの挙動に準拠させるため、タイムアウト時間tはできるだけプロトコルの規定値に近いほうがよい。また、ネットワーク処理装置は、新規セッションが正当なクライアントからのセッションであるか、不正な攻撃によるセッションであるか、送信元アドレスを偽って送信されたセッションであるかを区別(判定)できない。そのため、ネットワーク処理装置は、全てのセッションに対して応答しなければならない。また、セッションレートに対して動的にタイムアウト処理を変えられるようにして、セッションレートに応じた対処を行えるようにすることが望ましい。 In order to make the timeout time t conform to the protocol behavior, the timeout time t should be as close as possible to the specified value of the protocol. Further, the network processing device cannot distinguish (determine) whether the new session is a session from a valid client, a session due to an unauthorized attack, or a session transmitted with a false source address. Therefore, the network processing device must respond to all sessions. In addition, it is desirable that the timeout process can be dynamically changed with respect to the session rate so that a response corresponding to the session rate can be performed.
本実施の形態では、ネットワーク処理装置は、セッションレートa及びセッションエントリの最大容量(セッションメモリ最大量D)に基づいて、式(1)を用いて、連続的にタイムアウト時間tを変動させる。そのようにすることによって、全てのセッションに対して応答しつつ、DoS攻撃のセッションレートに応じて動的にDoS攻撃に対する対処を行うことができる。 In the present embodiment, the network processing apparatus continuously varies the timeout time t using the equation (1) based on the session rate a and the maximum capacity of the session entry (maximum amount of session memory D). By doing so, it is possible to cope with the DoS attack dynamically according to the session rate of the DoS attack while responding to all the sessions.
以上のように、本実施の形態によれば、ネットワーク処理装置は、過負荷時であっても、アクセスレート(セッションレート)に応じて、セッションメモリが溢れないように動的にセッションタイムアウト時間を設定する。そして、ネットワーク処理装置は、動的に設定したタイムアウト時間tに基づいてタイムアウトになったセッションのエントリを削除する。本実施の形態によれば、動的に求めたタイムアウト時間に基づいてタイムアウトになったセッションのエントリを削除できるので、不正なホストからの過負荷のアクセスに対処することができる。また、本実施の形態によれば、トラヒックの閾値判定によるフィルタリングを行う必要がないので、エントリ登録されている全てのクライアントに対して応答することができる。従って、不正なホストから過負荷のアクセスを受けている最中であっても、正当なクライアントからのアクセスに応答できる。 As described above, according to the present embodiment, the network processing apparatus dynamically sets the session timeout time so that the session memory does not overflow in accordance with the access rate (session rate) even during an overload. Set. Then, the network processing device deletes the entry of the session that has timed out based on the dynamically set time-out time t. According to the present embodiment, it is possible to delete an entry of a session that has timed out based on a dynamically obtained time-out time, and thus it is possible to cope with an overloaded access from an unauthorized host. Also, according to the present embodiment, since it is not necessary to perform filtering based on traffic threshold determination, it is possible to respond to all registered clients. Therefore, even during an overloaded access from an unauthorized host, it is possible to respond to an access from a legitimate client.
また、本実施の形態によれば、トラヒックの閾値を用いなくても、入力レートに対してt=f(a)を用いてタイムアウト値を求めて設定し、不正なホストからの過負荷のアクセスに対処することができる。従って、ネットワーク管理者が閾値の設定作業を行う必要がなく、ネットワーク管理者の負担を軽減することができる。また、トラフィックの閾値を設けなくても、不正な攻撃のアクセスレートに応じた対処を行うことができる。 Further, according to the present embodiment, even if a traffic threshold is not used, a timeout value is obtained and set using t = f (a) for the input rate, and an overloaded access from an unauthorized host Can deal with. Therefore, it is not necessary for the network administrator to set the threshold value, and the burden on the network administrator can be reduced. Further, it is possible to cope with an illegal attack access rate without providing a traffic threshold.
実施の形態2.
次に、本発明の第2の実施の形態を図面を参照して説明する。図5は、ネットワーク処理装置の他の構成例を示すブロック図である。図5に示すように、本実施の形態では、記憶手段30Aが、図1で示したセッションレート記憶部31、セッションメモリ最大容量記憶部32及びセッション情報記憶部33に加え、セッションメモリ登録エントリ数記憶部34を含む点で、第1の実施の形態と異なる。また、本実施の形態では、プロトコル処理手段20Aのタイムアウト時間演算部23A及びタイムアウト時間登録部24Aの機能が、第1の実施の形態で示したそれらの機能と異なる。また、本実施の形態では、エージング処理手段40Aの機能が、第1の実施の形態で示したエージング処理手段40の機能と異なる。
Embodiment 2. FIG.
Next, a second embodiment of the present invention will be described with reference to the drawings. FIG. 5 is a block diagram illustrating another configuration example of the network processing apparatus. As shown in FIG. 5, in the present embodiment, the storage means 30 </ b> A includes the session memory registration entry number in addition to the session
また、本実施の形態では、タイムアウト時間演算部23Aが、タイムアウト時間の演算式として、式(1)に代えて式(3)を用いてタイムアウト時間tを求める点で、第1の実施の形態と異なる。 Further, in the present embodiment, the timeout time calculation unit 23A obtains the timeout time t by using the expression (3) instead of the expression (1) as the expression for calculating the timeout time. And different.
t=f・g(a,d) 式(3) t = f · g (a, d) Equation (3)
なお、式(3)において、dは、セッションメモリに登録されているエントリ数を示す。 In equation (3), d indicates the number of entries registered in the session memory.
セッションメモリ登録エントリ数記憶部34は、セッション情報記憶部(セッションメモリ)に現在登録されているエントリ数dを記憶する。
The session memory registration entry
タイムアウト時間演算部23Aは、新規セッションのタイムアウト時間を算出する機能を備える。本実施の形態では、タイムアウト時間演算部23Aは、所定のタイミングで、セッションレート記憶部31からセッションレートaを読み出す。また、タイムアウト時間演算部23Aは、セッションメモリ最大量記憶部32から、エントリ最大量(セッションメモリ最大量D)を読み出す。また、タイムアウト時間演算部23Aは、セッションメモリ登録エントリ数記憶部34から、現在セッションメモリに登録されているエントリ数dを読み出す。そして、タイムアウト時間演算部23Aは、セッションレートa、セッションメモリ最大量D及びエントリ数dに基づいて、所定の演算関数を用いてタイムアウト時間tを求める。また、タイムアウト時間演算部23Aは、求めたタイムアウト時間tをタイムアウト時間登録部24Aに登録させる。
The timeout time calculation unit 23A has a function of calculating a timeout time for a new session. In the present embodiment, the timeout time calculation unit 23A reads the session rate a from the session
タイムアウト時間登録部24Aは、第1の実施の形態で示したタイムアウト時間登録部24と同様に、セッションメモリ記憶部33に新規エントリを登録する機能を備える。また、タイムアウト時間登録部24Aは、新規エントリを登録すると、セッションメモリ登録エントリ数記憶部34が記憶するエントリ数dの値を1増加させる機能を備える。
The timeout
エージング処理手段40Aは、第1の実施の形態で示したエージング処理手段40と同様に、タイムアウト時間が経過しタイムアウトになったエントリを削除する機能を備える。また、エージング処理手段40Aは、エントリを削除すると、セッションメモリ登録エントリ数記憶部34が記憶するエントリ数dの値を1減少させる機能を備える。
As with the aging
なお、プロトコル処理手段20の新規パケット判定部21、セッションレート測定部22、及びプロトコル応答処理部25の機能は、第1の実施の形態で示したそれらの機能と同様である。また、記憶手段30Aのセッションレート記憶部31、セッションメモリ最大量記憶部32及びセッション情報記憶部33が記憶する情報は、第1の実施の形態で示したそれらが記憶する情報と同様である。また、パケット受信手段10及び応答パケット送出手段50の機能は、第1の実施の形態で示したそれらの機能と同様である。
Note that the functions of the new
次に、動作について説明する。第1の実施の形態では、クライアントからの新規セッションレートが一定値である場合に、ネットワーク処理装置が、全てのセッションのハンドリングを行う場合を説明した。しかし、新規セッションレートが時間毎に大きく変動する場合には、セッションエントリがセッションメモリから溢れてしまう可能性がある。そこで、本実施の形態では、ネットワーク処理装置は、セッションメモリ登録エントリ数記憶部34を用意し、セッション情報記憶部33が現在記憶する登録エントリ数dをセッションメモリ登録エントリ数記憶部34に記憶させる。
Next, the operation will be described. In the first embodiment, the case has been described in which the network processing apparatus handles all sessions when the new session rate from the client is a constant value. However, if the new session rate varies greatly with time, the session entry may overflow from the session memory. Therefore, in the present embodiment, the network processing device prepares the session memory registration entry
図6は、ネットワーク処理装置が、新規セッションのエントリを登録する処理、及び送信元クライアントに応答パケットを送信する処理の他の例を示す流れ図である。ネットワーク処理装置は、第1の実施の形態で示したステップS11からステップS14までと同様の処理に従って、各クライアントから各種パケットを受信すると、新規セッションのパケットであるか否かを判定し、セッションレートaを測定する(ステップS31〜ステップS34)。 FIG. 6 is a flowchart illustrating another example of the process of registering a new session entry and the process of transmitting a response packet to the transmission source client by the network processing apparatus. When the network processing apparatus receives various packets from each client in accordance with the same processing from step S11 to step S14 described in the first embodiment, it determines whether or not the packet is a new session, and determines the session rate. a is measured (steps S31 to S34).
タイムアウト時間演算部23Aは、セッションレート記憶部31からセッションレートaを読み出す。また、タイムアウト時間演算部23Aは、セッションメモリ最大量記憶部記憶部32からセッションメモリ最大量Dを読み出す。また、タイムアウト時間演算部23Aは、セッションメモリ登録エントリ数記憶部34から、セッションメモリ登録数(登録エントリ数)dをを読み出す。そして、タイムアウト時間演算部23Aは、第1の実施形態で用いた関数f(a)に加えて、セッションメモリ登録数dについての関数g(d)を用いた演算関数を用いて、タイムアウト値を求める。本実施の形態では、タイムアウト時間演算部23Aは、読み出したセッションレートa、セッションメモリ最大量D及び登録エントリ数dに基づいて、式(3)を用いてタイムアウト時間tを求める(ステップS35)。
The timeout time calculation unit 23A reads the session rate a from the session
なお、式(3)において、f・g(a,d)は、関数f(a)と関数g(d)との合成関数f{g(a,d)}を表す。また、式(3)において、g(d)は、任意の関数である。 In Expression (3), f · g (a, d) represents a composite function f {g (a, d)} of the function f (a) and the function g (d). In the formula (3), g (d) is an arbitrary function.
タイムアウト時間登録部24Aは、第1の実施の形態で示したステップS16と同様の処理に従って、セッション情報記憶部33に、新規セッションエントリとして、タイムアウト時間tを登録する(ステップS36)。この場合、タイムアウト時間登録部24Aは、タイムアウト時間演算部23Aが求めたタイムアウト時間tを含むセッション情報を、セッション情報記憶部33に記憶させることによって、新規セッションのエントリを登録する。
The timeout
また、タイムアウト時間登録部24Aは、新規エントリを登録すると、セッションメモリ登録エントリ数記憶部34が記憶する登録エントリ数dを更新する(ステップS37)。本実施の形態では、タイムアウト時間登録部24Aは、新規エントリを登録すると、セッションメモリ登録エントリ数記憶部34が記憶する登録エントリ数dに1加算する。
Further, when registering a new entry, the timeout
また、ネットワーク処理装置は、第1の実施の形態で示したステップS17及びステップS18と同様の処理に従ってプロトコル応答処理を実行し、各セッションに対応する送信元クライアントに対して、所定時間毎に応答パケットを送信する(ステップS38,S39)。 In addition, the network processing apparatus executes a protocol response process according to the same process as step S17 and step S18 described in the first embodiment, and responds to the transmission source client corresponding to each session at predetermined time intervals. A packet is transmitted (steps S38 and S39).
次に、エージング処理手段40Aの動作を説明する。図7は、エージング処理手段が行うエージング処理の他の例を示す流れ図である。エージング処理手段40Aは、第1の実施の形態で示したステップS21からステップS24までと同様の処理に従って、タイムアウト時間tを更新し、エントリがタイムアウトになったと判断すると、そのエントリをセッション情報記憶部33から削除する(ステップS41〜ステップS44)。 Next, the operation of the aging processing means 40A will be described. FIG. 7 is a flowchart showing another example of aging processing performed by the aging processing means. The aging processing means 40A updates the timeout time t according to the same processing from step S21 to step S24 shown in the first embodiment, and if it is determined that the entry has timed out, the entry is stored in the session information storage unit. It deletes from 33 (step S41-step S44).
また、エージング処理手段40Aは、エントリを削除すると、セッションメモリ登録エントリ数記憶部34が記憶する登録エントリ数dを更新する(ステップS45)。本実施の形態では、エージング処理手段40Aは、エントリを削除すると、セッションメモリ登録エントリ数記憶部34が記憶する登録エントリ数dから1減算する。
Further, when the entry is deleted, the aging processing means 40A updates the registered entry number d stored in the session memory registered entry number storage unit 34 (step S45). In the present embodiment, when the entry is deleted, the aging processing means 40A subtracts 1 from the registered entry number d stored in the session memory registered entry
そして、エージング処理手段40Aは、第1の実施の形態で示したステップS25と同様の処理に従って、エントリポインタを1つ進め(ポインタを1加算し)、セッション情報記憶部33に登録されている次のエントリにポインタを進める(ステップS46)。そして、エージング処理手段40Aは、ステップS41の処理に戻り、ステップS41からステップS46までの処理を繰り返し実行する。
Then, the aging processing means 40A advances the entry pointer by 1 (adds 1 to the pointer) according to the same processing as in step S25 described in the first embodiment, and the next registered in the session
図8は、セッションメモリへの登録セッション数dと経過時間との関係の他の例を示す説明図である。図8に示すように、クライアント側からのセッションレートが大きく変動する場合、エントリ数dは、線形とは異なる変動をする。また、クライアント側からの変動レートが法則性をもっていない場合、エントリ数dの変化を予測することができない。よって、クライアント側の変動送出レートによって、セッションメモリ登録数dがセッションメモリの最大数Dを越え、新規エントリがセッションメモリから溢れてしまう可能性がある。 FIG. 8 is an explanatory diagram showing another example of the relationship between the number d of sessions registered in the session memory and the elapsed time. As shown in FIG. 8, when the session rate from the client side greatly fluctuates, the number of entries d fluctuates different from linear. Further, when the fluctuation rate from the client side does not have the law, the change in the number of entries d cannot be predicted. Therefore, depending on the variable transmission rate on the client side, the session memory registration number d may exceed the maximum number D of session memories, and new entries may overflow from the session memory.
そこで、本実施の形態では、登録エントリ数dがセッションメモリ最大量Dの近傍付近になったときにタイムアウト値を減らすためのウエイト用の関数g(d)を用意する。例えば、ネットワーク処理装置は、g(d)として、dに対しての逆数を示す関数を用いる。すると、ネットワーク処理装置は、タイムアウト時間tを求めるための関数として、式(4)を用いて、タイムアウト時間を求めることができる。 Therefore, in the present embodiment, a wait function g (d) for reducing the timeout value is prepared when the number of registered entries d is near the maximum session memory amount D. For example, the network processing apparatus uses a function indicating an inverse number with respect to d as g (d). Then, the network processing apparatus can obtain the timeout time using Expression (4) as a function for obtaining the timeout time t.
t=f・g(a,d)=D/(a×d) 式(4) t = f · g (a, d) = D / (a × d) Equation (4)
式(4)に示すように、タイムアウト時間tは、セッションレートaと登録セッション数(登録エントリ数d)との逆数となる。 As shown in Expression (4), the timeout time t is the inverse of the session rate a and the number of registered sessions (number of registered entries d).
図9は、式(4)を用いてタイムアウト時間を制御した場合の登録セッション数dと経過時間との関係を示す説明図である。図9に示すように、登録セッション数(登録エントリ数d)が大きくなると、ネットワーク処理装置は、登録エントリ数dの増加分だけタイムアウト値を減らす。登録セッション数が大きくなる程、セッションのタイムアウト時間は小さくなるが、ネットワーク処理装置は、関数g(d)を調整することにより、セッションレートが大きく変動しても、セッションエントリの最大数を超えないようにすることができる。 FIG. 9 is an explanatory diagram showing the relationship between the number of registered sessions d and the elapsed time when the timeout time is controlled using Expression (4). As illustrated in FIG. 9, when the number of registered sessions (registered entry number d) increases, the network processing device decreases the timeout value by an increase in the registered entry number d. As the number of registered sessions increases, the session timeout time decreases. However, the network processing apparatus does not exceed the maximum number of session entries even if the session rate varies greatly by adjusting the function g (d). Can be.
実施の形態3.
次に、本発明の第3の実施の形態を説明する。本実施の形態において、ネットワーク処理装置の構成は、第1の実施の形態と同様である。本実施の形態では、セッションレート測定部22がレートを測定する方法が、第1の実施の形態で示した方法と異なる。本実施の形態では、セッションレート測定部22は、単位時間あたりに通過する新規パケットの数をカウントしセッションレートを求めるのでなく、先に通過したパケットと現時刻に通過したパケットとの時間間隔から速度を求め、過去のパケットが通過する速度の関数としてコネクションレートR1を求める。
Embodiment 3 FIG.
Next, a third embodiment of the present invention will be described. In the present embodiment, the configuration of the network processing apparatus is the same as that of the first embodiment. In the present embodiment, the method by which the session
例えば、先にパケットが通過した時間をt1とし、現時刻に新規パケットが通過した時間をt2とすると、セッションレート測定部22は、コネクションレートR1として、時間差t2−t1と先に測定したレートR0との関数を求める。例えば、セッションレート測定部22は、コネクションレートの関数をhとして、式(5)を用いてコネクションレートR1を求める。
For example, assuming that the time when a packet has passed first is t1 and the time when a new packet has passed at the current time is t2, the session
R1=h(t2−t1,R0) 式(5) R1 = h (t2-t1, R0) Formula (5)
例えば、指数平滑法を用いた関数に基づいてコネクションレートR1を求めるとすると、セッションレート測定部22は、重み付けの係数をα(0<α<1)として、式(6)を用いてコネクションレートR1を求める。
For example, when the connection rate R1 is obtained based on a function using exponential smoothing, the session
R1=α(t2−t1間のSYNパケット通過速度)+(1−α)R0
=α/(t2−t1)+(1−α)R0 式(6)
R1 = α (the SYN packet passing speed between t2 and t1) + (1-α) R0
= Α / (t2−t1) + (1−α) R0 Formula (6)
第1の実施の形態では、一定時間に通過する新規パケット数に基づいて、セッションレートaを算出する場合を説明した。しかし、通過する新規パケット数が時間毎にばらついている場合、レート演算のためのサンプリングパケット数が不均一になる。そのため、サンプリング時間毎の演算レートの信頼度が低くなる可能性がある。 In the first embodiment, a case has been described in which the session rate a is calculated based on the number of new packets passing in a certain time. However, when the number of new packets passing through varies from time to time, the number of sampling packets for rate calculation becomes uneven. Therefore, the reliability of the calculation rate for each sampling time may be lowered.
本実施の形態では、1つ前のパケット受信時のレートと次にパケットを受信するまでの時間とに基づいて、パケット受信毎にレートを演算する。そのため、パケット間隔がばらついている場合であっても、より信頼性の高いレートを求めることができ、新規パケットのタイムアウト時間を適切に求めることができる。また、新規パケットをカウントすることによりセッションレートを求める場合と比べて、メモリリソース及び演算数を低減することができる。 In the present embodiment, the rate is calculated for each packet reception based on the rate at the time of receiving the previous packet and the time until the next packet is received. Therefore, even when the packet interval varies, a more reliable rate can be obtained, and a new packet timeout time can be obtained appropriately. Also, memory resources and the number of operations can be reduced compared to the case where the session rate is obtained by counting new packets.
実施の形態4.
次に、本発明の第4の実施の形態を図面を参照して説明する。本実施の形態において、ネットワーク処理装置の構成は、第1の実施の形態と同様である。本実施の形態では、タイムアウト時間演算部23が、タイムアウト時間の算出を行う際に、セッションレートの増加時と減少時とで異なる演算関数を用いる点で、第1の実施の形態と異なる。
Embodiment 4 FIG.
Next, a fourth embodiment of the present invention will be described with reference to the drawings. In the present embodiment, the configuration of the network processing apparatus is the same as that of the first embodiment. This embodiment is different from the first embodiment in that the timeout
図10は、セッションレートaと、タイムアウト時間演算部23が求めるタイムアウト時間との関係の例を示す説明図である。図10に示すように、タイムアウト時間演算部23は、セッションレートaの増加時には、演算関数t=D/aを用いてタイムアウト時間を求め、求めたタイムアウト時間を登録する。また、図10に示すように、タイムアウト時間演算部23は、セッションレートの減少時には、演算関数t=i(a)を用いてタイムアウト時間を求め、タイムアウト時間の特性にヒステリシスをもたせてもよい。そのようにすることによって、セッションレートの減少時に、セッションタイムアウト時間をより大きな値に設定し、セッションレート減少時にプロトコルの本来のタイムアウト値により近い値をもたせることができる。
FIG. 10 is an explanatory diagram showing an example of the relationship between the session rate a and the timeout time calculated by the timeout
次に、本発明の第1の実施例を図面を参照して説明する。なお、本実施例は、第1の実施の形態で示したネットワーク処理装置を具体化したものに相当する。図11は、ネットワーク処理装置の更に他の構成例を示すブロック図である。本実施例では、ネットワーク処理装置は、プロトコルとしてTCPを実装するネットワーク装置であるとする。 Next, a first embodiment of the present invention will be described with reference to the drawings. Note that this example corresponds to a specific implementation of the network processing apparatus shown in the first embodiment. FIG. 11 is a block diagram illustrating still another configuration example of the network processing apparatus. In this embodiment, it is assumed that the network processing apparatus is a network apparatus that implements TCP as a protocol.
本実施例では、図11に示すように、ネットワーク装置は、パケット受信手段としてTCPパケット受信部10Bと、プロトコル処理手段としてプロトコル処理部20Bと、記憶手段として磁気ディスク記憶装置30Bと、エージング処理手段としてエージング処理部40Bと、応答パケット送出手段としてTCP応答パケット送出部50Bとを含む。また、プロトコル処理部20Bは、TCP処理を行うためのプログラムに従って動作するCPU等の装置内部回路によって実現される。また、エージング処理部40Bは、プログラムに従って動作するCPU等の装置内部回路によって実現される。
In this embodiment, as shown in FIG. 11, the network device includes a TCP
また、プロトコル処理部20Bは、入力(新規)パケット判定部21B、セッションレート測定部22B、タイムアウト時間演算部23B、タイムアウト時間登録部24B及びプロトコル応答処理部25Bを含む。
The
また、磁気ディスク装置30Bは、セッションレート記憶部31B、セッションメモリ最大量記憶部32B及びセッション情報記憶部33Bを含む。セッションレート記憶部31Bは、セッションレートを記憶する。また、セッションメモリ最大量記憶部32Bは、セッションメモリ最大量を記憶する。また、セッション情報記憶部33は、タイムアウト時間を含むセッション情報を記憶する。
The
次に、ネットワーク装置の動作について説明する。クライアントからTCPを用いたSYNパケットによるアクセスがあると、ネットワーク装置のパケット受信部10Bは、クライアントから通信ネットワークを介してTCPパケットを受信する。また、ネットワーク装置の新規パケット判定部21Bは、受信パケットが新規パケットであるか否かを判定する。また、セッションレート判定部22Bは、受信パケットをカウントし、セッションレートaを求める。また、単位時間が経過すると、セッションレート判定部22Bは、測定したセッションレートaをセッションレート記憶部31Bに書き込む。
Next, the operation of the network device will be described. When there is an access by a SYN packet using TCP from the client, the
タイムアウト時間演算部23Bは、セッションレート記憶部31Bからセッションレートaを読み出し、セッションメモリ最大量記憶部32Bからセッションメモリ最大量Dを読み出す。そして、タイムアウト時間演算部23Bは、読み出したセッションレートa及びセッションメモリ最大量Dに基づいて、式t=D/aを用いて、タイムアウト時間tを求める。
The timeout
タイムアウト時間登録部24Bは、タイムアウト時間演算部23Bが求めたタイムアウト時間を含むセッション情報を、磁気ディスク装置30Bのセッション情報記憶部33Bに登録する。また、エージング処理部40Bは、タイムアウト時間tが経過すると、セッションメモリ(セッション情報記憶部33B)から登録したエントリを削除する。
The timeout
プロトコル応答処理部25Bは、入力(受信)したSYNパケットに対して、TCPに必要な処理であるプロトコル処理を実行する。例えば、プロトコル応答処理部25Bは、セッション情報に含まれるIPアドレスやポート番号、TCPセッションを特定する情報、各種内部パラメータを更新する。また、プロトコル応答処理部25Bは、タイムアウト値をセッション情報記憶部33Bから読み出し、更新した各種内部パラメータとともにセッションメモリ(セッション情報記憶部33B)に再び書き込む。
The protocol
また、プロトコル応答処理部25Bは、SYNパケットに対するSYN−ACKパケットの送信指示を、応答パケット送出部50Bに出力する。応答パケット送出部50Bは、プロトコル応答処理部25Bの指示に従って、SYN−ACKパケットをクライアントに対して送信する。
Further, the protocol
次に、本発明の第2の実施例を図面を参照して説明する。なお、本実施例は、第2の実施の形態で示したネットワーク処理装置を具体化したものに相当する。図12は、ネットワーク処理装置の更に他の構成例を示すブロック図である。 Next, a second embodiment of the present invention will be described with reference to the drawings. This example corresponds to a specific implementation of the network processing apparatus shown in the second embodiment. FIG. 12 is a block diagram illustrating still another configuration example of the network processing apparatus.
本実施例では、磁気ディスク装置30Cが、セッションレート記憶部31B、セッションメモリ最大量記憶部32B及びセッション情報記憶部33Bに加えて、セッションメモリ登録エントリ数記憶部34Bを含む点で、第1の実施例と異なる。また、本実施例では、プロトコル処理部20Cのタイムアウト時間演算部23C及びタイムアウト時間登録部24Cの機能が、第1の実施例で示したプロトコル処理部20Bのそれらの機能と異なる。また、本実施例では、エージング処理部40Cの機能が、第1の実施例で示したエージング処理部40Bの機能と異なる。
In this embodiment, the
なお、プロトコル処理部20Cの新規パケット判定部21B、セッションレート測定部22B及びプロトコル応答処理部25Bの機能は、第1の実施例で示したそれらの機能と同様である。また、TCPパケット受信部10B及びTCP応答パケット送出部50Bの機能は、第1の実施例で示したそれらの機能と同様である。
The functions of the new
セッションメモリ登録エントリ数記憶部34Bは、現在セッションメモリ(セッション情報記憶部33B)に登録されているTCPセッション数を記憶している。セッションレートaに基づいてタイムアウト時間tを求める方法は、一定のセッションレートでクライアントからアクセスがある場合に有効であるが、セッションレートが大きく変動する場合には、エントリがセッションメモリの最大登録数Dを超えてしまう可能性がある。
The session memory registration entry
そこで、本実施例では、セッションエントリの登録数dがセッションエントリの最大数Dに近づくに従って、よりタイムアウト値が小さくなるような重み付け関数g(d)を用意し、タイムアウト時間演算部23Cは、式(3)を用いてタイムアウト時間を求める。そのようにすることにより、ネットワーク処理装置は、セッションエントリ数dがセッションエントリの最大数Dを超えないように、登録エントリを調整することができる。 Therefore, in this embodiment, a weighting function g (d) is prepared so that the timeout value becomes smaller as the registered number d of session entries approaches the maximum number D of session entries. The time-out time is obtained using (3). By doing so, the network processing apparatus can adjust the registered entries so that the number of session entries d does not exceed the maximum number D of session entries.
次に、本発明の第3の実施例を説明する。第1の実施例では、単位時間あたりに通過する新規パケットの個数を計算しセッションレートaを求めたが、本実施例では、ネットワーク処理装置は、指数平滑法を用いることによって速度(コネクションレート)R1を求める。 Next, a third embodiment of the present invention will be described. In the first embodiment, the number of new packets passing per unit time is calculated and the session rate a is obtained. In this embodiment, the network processing apparatus uses the exponential smoothing method to obtain a speed (connection rate). Find R1.
例えば、パケットn−1が到達した時点でのセッションレートをR0とし、到達時間をt0とする。また、パケットnが到達した時の時間をt1とし、所定の重み付け係数をα=0.125とする。そして、セッションレート測定部22Bは、セッションレートR1を式(7)を用いて求める。
For example, it is assumed that the session rate when the packet n−1 arrives is R0, and the arrival time is t0. The time when the packet n arrives is t1, and the predetermined weighting coefficient is α = 0.125. Then, the session
R1=0.125/(t2−t1)+0.875R0 式(7) R1 = 0.125 / (t2-t1) + 0.875R0 Formula (7)
本実施例では、ネットワーク処理装置は、指数平滑法を用いることによって、先のパケットが到達した時のレートと、現時刻にパケットが到達するまでの時間との2つのパラメータを用いて、速度を求めることができる。 In this embodiment, the network processing device uses the exponential smoothing method to adjust the speed using two parameters, the rate when the previous packet arrives and the time until the packet arrives at the current time. Can be sought.
次に、本発明の第4の実施例を説明する。本実施例では、ネットワーク処理装置は、タイムアウト値の演算を行う場合に、タイムアウト時間の特性や関数にヒステリシス特性をもたせる。本実施例では、ネットワーク処理装置は、セッションレートの増加時には、式t=D/aを用いてタイムアウト時間tを計算する。また、ネットワーク処理装置は、セッションレートの減少時には、関数t=i(a)を用いてタイムアウト時間tを計算する。 Next, a fourth embodiment of the present invention will be described. In this embodiment, the network processing apparatus gives a hysteresis characteristic to the characteristic or function of the timeout time when calculating the timeout value. In this embodiment, the network processing device calculates the timeout time t using the equation t = D / a when the session rate increases. Further, the network processing apparatus calculates the timeout time t using the function t = i (a) when the session rate is decreased.
本発明は、サーバ装置等のTCP処理を行うブロックやゲートウェイ、アプリケーションファイアウォール等のネットワークの中継装置内に実装し、DoS攻撃を防御する用途に適用できる。また、TCPに限らず、タイムアウト処理を行う全てのプロトコルを用いた装置において、高レートでアクセスがなされた場合に、登録エントリが溢れないように調整する用途に適用することができる。 The present invention can be installed in a network relay device such as a block that performs TCP processing of a server device or the like, a gateway, an application firewall, or the like, and can be applied to a use for preventing a DoS attack. Further, the present invention can be applied not only to TCP but also to an application that adjusts so that registration entries do not overflow when access is made at a high rate in an apparatus using all protocols that perform timeout processing.
10 パケット受信手段
20 プロトコル処理手段
21 新規パケット判定部
22 セッションレート測定部
23 タイムアウト時間演算部
24 タイムアウト時間登録部
25 プロトコル応答処理部
30 記憶手段
31 セッションレート記憶部
32 セッションメモリ最大量記憶部
33 セッション情報記憶部
40 エージング処理手段
50 応答パケット送出手段
DESCRIPTION OF
Claims (15)
前記ネットワーク処理装置が扱うべき新たなセッションを検出すると、所定の条件に従って、前記新たなセッションに対応するタイムアウト時間を動的に求めるタイムアウト時間算出手段と、
前記タイムアウト時間算出手段が求めたタイムアウト時間に基づいて、タイムアウトになったセッションのエントリを削除するエントリ削除手段と、
現在登録されているセッションのエントリに対応するクライアントに、通信ネットワークを介して応答データを送信する応答手段とを
備えたことを特徴とするネットワーク処理装置。 A network processing device for processing a high load state caused by mass access,
When detecting a new session to be handled by the network processing device, according to a predetermined condition, a timeout time calculation means for dynamically obtaining a timeout time corresponding to the new session;
Based on the timeout time obtained by the timeout time calculating means, an entry deleting means for deleting an entry of a session that has timed out;
A network processing apparatus comprising: response means for transmitting response data to a client corresponding to an entry of a currently registered session via a communication network.
クライアントから、通信ネットワークを介してパケットを受信するパケット受信手段と、
前記ネットワーク処理装置が現在扱っているセッションを示すセッション情報を記憶するセッション情報記憶手段と、
前記パケット受信手段が新たなセッションのパケットを受信すると、所定の条件に従って、前記新たなセッションに対応するタイムアウト時間を動的に求めるタイムアウト時間算出手段と、
前記タイムアウト時間算出手段が求めたタイムアウト時間を含むセッション情報を、前記セッション情報記憶手段に記憶させることによって、前記新たなセッションのエントリを登録するエントリ登録手段と、
前記セッション情報記憶手段が記憶するセッション情報に示されるタイムアウト時間に基づいて、前記ネットワーク処理装置が現在扱っているセッションについて、タイムアウト時間が経過したか否かを判断するタイムアウト判断手段と、
前記タイムアウト判断手段がタイムアウト時間が経過したと判断すると、前記セッション情報記憶手段から、前記タイムアウト時間が経過したセッションに対応するセッション情報を削除することによって、セッションのエントリを削除するエントリ削除手段と、
現在登録されているセッションのエントリに対応するクライアントに、通信ネットワークを介して応答パケットを送信する応答パケット送信手段とを
備えたことを特徴とするネットワーク処理装置。 A network processing device for processing a high load state caused by mass access,
A packet receiving means for receiving a packet from a client via a communication network;
Session information storage means for storing session information indicating a session currently handled by the network processing device;
When the packet receiving means receives a packet for a new session, a timeout time calculating means for dynamically obtaining a timeout time corresponding to the new session according to a predetermined condition;
Entry registration means for registering the entry of the new session by storing session information including the timeout time obtained by the timeout time calculation means in the session information storage means;
Timeout determination means for determining whether or not a timeout time has elapsed for a session currently handled by the network processing device based on a timeout time indicated in session information stored by the session information storage means;
When the timeout determination unit determines that a timeout period has elapsed, an entry deletion unit that deletes a session entry by deleting session information corresponding to the session for which the timeout period has elapsed from the session information storage unit;
A network processing apparatus comprising: response packet transmission means for transmitting a response packet to a client corresponding to an entry of a currently registered session via a communication network.
タイムアウト時間算出手段は、前記セッションレート算出手段が求めたセッションレートに基づいて、新たなセッションに対応するタイムアウト時間を動的に求める
請求項2記載のネットワーク処理装置。 A session rate calculating means for obtaining a session rate indicating a ratio of new sessions generated per predetermined unit;
The network processing device according to claim 2, wherein the timeout time calculating unit dynamically calculates a timeout time corresponding to a new session based on the session rate calculated by the session rate calculating unit.
タイムアウト時間算出手段は、
前記セッションレート記憶手段からセッションレートaを読み出し、
所定の関数t=f(a)を用いて、タイムアウト時間tを求める
請求項3から請求項7のうちのいずれか1項に記載のネットワーク処理装置 Session rate storage means for storing the session rate obtained by the session rate calculation means,
The timeout time calculation means is
Read session rate a from the session rate storage means;
The network processing device according to any one of claims 3 to 7, wherein a timeout time t is obtained using a predetermined function t = f (a).
タイムアウト時間算出手段は、
前記最大量記憶手段から、前記最大登録可能量Dを読み出し、
所定の関数f(a)としてt=f(a)=D/aを用いて、タイムアウト時間tを求める
請求項8記載のネットワーク処理装置。 A maximum amount storage means for storing a maximum registerable amount D indicating the maximum amount of session entries that can be registered in the session information storage means;
The timeout time calculation means is
Reading the maximum registerable amount D from the maximum amount storage means,
The network processing device according to claim 8, wherein the timeout time t is obtained by using t = f (a) = D / a as the predetermined function f (a).
タイムアウト時間算出手段は、
セッションレート記憶手段から、セッションレートaを読み出し、
前記セッションエントリ数記憶手段から、エントリ数dを読み出し、
所定の関数f(a)と関数g(d)とを合成した合成関数f{g(a,d)}を用いて、タイムアウト時間tを求める
請求項8記載のネットワーク処理装置。 Session entry number storage means for storing the number of entries d registered in the session information storage means,
The timeout time calculation means is
Read session rate a from the session rate storage means,
Read the entry number d from the session entry number storage means,
The network processing device according to claim 8, wherein the timeout time t is obtained using a composite function f {g (a, d)} obtained by combining a predetermined function f (a) and a function g (d).
クライアントからのアクセスを処理するネットワーク処理装置が扱うべき新たなセッションを検出すると、所定の条件に従って、前記新たなセッションに対応するタイムアウト時間を動的に求めるステップと、
前記求めたタイムアウト時間に基づいて、タイムアウトになったセッションのエントリを削除するステップと、
現在登録されているセッションのエントリに対応するクライアントに、通信ネットワークを介して応答データを送信するステップとを
含むことを特徴とするネットワーク処理方法。 A network processing method for processing a high load state caused by mass access,
When a new session to be handled by a network processing device that processes access from a client is detected, a timeout time corresponding to the new session is dynamically determined according to a predetermined condition;
Deleting a session entry that has timed out based on the determined time-out period;
Transmitting response data via a communication network to a client corresponding to a currently registered session entry.
クライアントからのアクセスを処理するネットワーク処理装置が現在扱っているセッションを示すセッション情報を、記憶手段に記憶するステップと、
クライアントから、通信ネットワークを介してパケットを受信するステップと、
新たなセッションのパケットを受信すると、所定の条件に従って、前記新たなセッションに対応するタイムアウト時間を動的に求めるステップと、
前記求めたタイムアウト時間を含むセッション情報を前記記憶手段に新たに記憶させることによって、前記新たなセッションのエントリを登録するステップと、
前記記憶したセッション情報に示されるタイムアウト時間に基づいて、前記ネットワーク処理装置が現在扱っているセッションについて、タイムアウト時間が経過したか否かを判断するステップと、
前記タイムアウト時間が経過したと判断すると、前記記憶手段から、前記タイムアウト時間が経過したセッションに対応するセッション情報を削除することによって、セッションのエントリを削除するステップと、
現在登録されているセッションのエントリに対応するクライアントに、通信ネットワークを介して応答パケットを送信するステップとを
含むことを特徴とするネットワーク処理方法。 A network processing method for processing a high load state caused by mass access,
Storing session information indicating a session currently handled by a network processing device that processes access from a client in a storage unit;
Receiving a packet from a client via a communication network;
Dynamically receiving a timeout period corresponding to the new session according to a predetermined condition upon receiving a packet of the new session;
Registering the new session entry by newly storing session information including the determined timeout time in the storage means;
Determining whether or not a timeout time has elapsed for a session currently handled by the network processing device based on a timeout time indicated in the stored session information;
Determining that the timeout period has elapsed, deleting a session entry from the storage means by deleting session information corresponding to the session for which the timeout period has elapsed; and
Transmitting a response packet to a client corresponding to an entry of a currently registered session via a communication network.
コンピュータに、
前記ネットワーク処理装置が扱うべき新たなセッションを検出すると、所定の条件に従って、前記新たなセッションに対応するタイムアウト時間を動的に求める処理と、
前記求めたタイムアウト時間に基づいて、タイムアウトになったセッションのエントリを削除する処理と、
現在登録されているセッションのエントリに対応するクライアントに、通信ネットワークを介して応答データを送信する処理とを
実行させるネットワーク処理プログラム。 A network processing program for processing a high load state caused by mass access,
On the computer,
When a new session to be handled by the network processing device is detected, a process for dynamically obtaining a timeout time corresponding to the new session according to a predetermined condition;
A process of deleting an entry of a session that has timed out based on the determined time-out period;
A network processing program that causes a client corresponding to an entry of a currently registered session to execute response data transmission processing via a communication network.
前記ネットワーク処理装置が現在扱っているセッションを示すセッション情報を記憶する記憶手段を備えたコンピュータに、
クライアントから、通信ネットワークを介してパケットを受信する処理と、
新たなセッションのパケットを受信すると、所定の条件に従って、前記新たなセッションに対応するタイムアウト時間を動的に求める処理と、
前記求めたタイムアウト時間を含むセッション情報を前記記憶手段に新たに記憶させることによって、前記新たなセッションのエントリを登録する処理と、
前記記憶したセッション情報に示されるタイムアウト時間に基づいて、前記ネットワーク処理装置が現在扱っているセッションについて、タイムアウト時間が経過したか否かを判断する処理と、
前記タイムアウト時間が経過したと判断すると、前記記憶手段から、前記タイムアウト時間が経過したセッションに対応するセッション情報を削除することによって、セッションのエントリを削除する処理と、
現在登録されているセッションのエントリに対応するクライアントに、通信ネットワークを介して応答パケットを送信する処理とを
実行させるネットワーク処理プログラム。 A network processing program for processing a high load state caused by mass access,
In a computer comprising storage means for storing session information indicating a session currently handled by the network processing device,
Receiving a packet from a client via a communication network;
When a packet for a new session is received, a process for dynamically obtaining a timeout time corresponding to the new session according to a predetermined condition;
A process of registering an entry for the new session by newly storing session information including the determined timeout time in the storage means;
Based on the time-out time indicated in the stored session information, a process for determining whether or not the time-out time has elapsed for the session currently handled by the network processing device;
When it is determined that the timeout time has elapsed, processing for deleting a session entry by deleting session information corresponding to the session for which the timeout time has elapsed from the storage unit;
A network processing program that causes a client corresponding to an entry of a currently registered session to execute a process of transmitting a response packet via a communication network.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005095543A JP4475156B2 (en) | 2005-03-29 | 2005-03-29 | Network processing apparatus, network processing method, and network processing program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005095543A JP4475156B2 (en) | 2005-03-29 | 2005-03-29 | Network processing apparatus, network processing method, and network processing program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006279531A true JP2006279531A (en) | 2006-10-12 |
JP4475156B2 JP4475156B2 (en) | 2010-06-09 |
Family
ID=37213807
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005095543A Expired - Fee Related JP4475156B2 (en) | 2005-03-29 | 2005-03-29 | Network processing apparatus, network processing method, and network processing program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4475156B2 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008120566A1 (en) * | 2007-03-29 | 2008-10-09 | Nec Corporation | Engine/processor cooperation system and cooperation method |
JP2008250496A (en) * | 2007-03-29 | 2008-10-16 | Nec Corp | Engine-processor coordination system and method |
WO2013133400A1 (en) | 2012-03-09 | 2013-09-12 | 日本電気株式会社 | Controller, communication system, switch control method and program |
JP2015529371A (en) * | 2012-09-18 | 2015-10-05 | アマゾン テクノロジーズ インク | Adaptive service timeout |
WO2018022267A1 (en) * | 2016-07-27 | 2018-02-01 | Microsoft Technology Licensing, Llc | Storing and expiring non-tcp traffic |
JPWO2018163464A1 (en) * | 2017-03-09 | 2019-07-04 | 日本電信電話株式会社 | Attack countermeasure determination apparatus, attack countermeasure determination method and attack countermeasure determination program |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107547503B (en) * | 2017-06-12 | 2020-12-25 | 新华三信息安全技术有限公司 | Session table item processing method and device, firewall equipment and storage medium |
-
2005
- 2005-03-29 JP JP2005095543A patent/JP4475156B2/en not_active Expired - Fee Related
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008120566A1 (en) * | 2007-03-29 | 2008-10-09 | Nec Corporation | Engine/processor cooperation system and cooperation method |
JP2008250496A (en) * | 2007-03-29 | 2008-10-16 | Nec Corp | Engine-processor coordination system and method |
JP5278705B2 (en) * | 2007-03-29 | 2013-09-04 | 日本電気株式会社 | Engine / processor linkage system and linkage method |
WO2013133400A1 (en) | 2012-03-09 | 2013-09-12 | 日本電気株式会社 | Controller, communication system, switch control method and program |
US9559959B2 (en) | 2012-03-09 | 2017-01-31 | Nec Corporation | Control apparatus, communication system, switch controlling method and program |
JP2015529371A (en) * | 2012-09-18 | 2015-10-05 | アマゾン テクノロジーズ インク | Adaptive service timeout |
US10263876B2 (en) | 2012-09-18 | 2019-04-16 | Amazon Technologies, Inc. | Adaptive service timeouts |
WO2018022267A1 (en) * | 2016-07-27 | 2018-02-01 | Microsoft Technology Licensing, Llc | Storing and expiring non-tcp traffic |
US10091089B2 (en) | 2016-07-27 | 2018-10-02 | Microsoft Technology Licensing, Llc | Storing and expiring non-TCP traffic |
JPWO2018163464A1 (en) * | 2017-03-09 | 2019-07-04 | 日本電信電話株式会社 | Attack countermeasure determination apparatus, attack countermeasure determination method and attack countermeasure determination program |
US11652845B2 (en) | 2017-03-09 | 2023-05-16 | Nippon Telegraph And Telephone Corporation | Attack countermeasure determination apparatus, attack countermeasure determination method, and attack countermeasure determination program |
Also Published As
Publication number | Publication date |
---|---|
JP4475156B2 (en) | 2010-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6542313B2 (en) | System and method for traffic filtering upon detection of DDoS attack | |
US10038715B1 (en) | Identifying and mitigating denial of service (DoS) attacks | |
EP2289221B1 (en) | Network intrusion protection | |
US9843590B1 (en) | Method and apparatus for causing a delay in processing requests for internet resources received from client devices | |
JP4475156B2 (en) | Network processing apparatus, network processing method, and network processing program | |
JP6957675B2 (en) | Network attack protection system and method | |
US20060041667A1 (en) | Method and apparatus for protecting legitimate traffic from dos and ddos attacks | |
JP4794197B2 (en) | Mitigating network amplification attacks | |
KR20130017333A (en) | Attack decision system of slow distributed denial of service based application layer and method of the same | |
François et al. | Network security through software defined networking: a survey | |
US11196712B1 (en) | Proxy scraper detector | |
US20140304817A1 (en) | APPARATUS AND METHOD FOR DETECTING SLOW READ DoS ATTACK | |
JP4373306B2 (en) | Method and apparatus for preventing distributed service denial attack against TCP server by TCP stateless hog | |
US11363044B2 (en) | Method and system for detecting and mitigating HTTPS flood attacks | |
US9961066B1 (en) | Method and apparatus for limiting traffic rate to an origin server | |
JP2018508166A (en) | System and method for regulating access requests | |
Sudar et al. | TFAD: TCP flooding attack detection in software-defined networking using proxy-based and machine learning-based mechanisms | |
JP2018026747A (en) | Aggression detection device, aggression detection system and aggression detection method | |
Arafat et al. | A practical approach and mitigation techniques on application layer DDoS attack in web server | |
Boteanu et al. | A comprehensive study of queue management as a DoS counter-measure | |
CN106656912A (en) | Method and device for detecting denial of service attack | |
EP3396920B1 (en) | System and method of traffic filtering upon detection of a ddos attack | |
JP7363503B2 (en) | Information processing device, information processing method, and information processing system | |
KR102162991B1 (en) | Integrated security router for idc and integrated secutiry service based on traffic shaping and ips fusion implementation | |
Bellaïche et al. | Avoiding DDoS with active management of backlog queues |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080213 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091215 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100203 |
|
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: 20100216 |
|
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: 20100301 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130319 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130319 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140319 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |