JP5147819B2 - Application layer protection method and apparatus for computer network system - Google Patents
Application layer protection method and apparatus for computer network system Download PDFInfo
- Publication number
- JP5147819B2 JP5147819B2 JP2009292124A JP2009292124A JP5147819B2 JP 5147819 B2 JP5147819 B2 JP 5147819B2 JP 2009292124 A JP2009292124 A JP 2009292124A JP 2009292124 A JP2009292124 A JP 2009292124A JP 5147819 B2 JP5147819 B2 JP 5147819B2
- Authority
- JP
- Japan
- Prior art keywords
- client
- application layer
- packet
- computer network
- providing server
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1458—Denial of Service
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
- H04L63/168—Implementing security features at a particular protocol layer above the transport layer
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
本発明はコンピュータネットワークシステムのアプリケーションレイヤ(application layer)を攻撃する分散サービス妨害(Distribute Denial of Service、DDoS)攻撃に対する対応技術に関し、特に、コンピュータネットワークシステムが正常なサービスを提供できないようにする分散サービス妨害攻撃を探知し、これを遮断するコンピュータネットワークシステムのアプリケーションレイヤ保護方法及び装置に関する。 The present invention relates to a technology for dealing with a distributed denial of service (DDoS) attack that attacks an application layer of a computer network system, and in particular, a distributed service that prevents a computer network system from providing a normal service. The present invention relates to a method and apparatus for protecting an application layer of a computer network system that detects and blocks a jamming attack.
近年、ネットワーク、電子技術などの発展に伴い、ウェブなどの多様なサービスの提供を容易に受けてはいるが、技術の発展と共に、多様なハッキングツールの登場によってコンピュータネットワークシステムで提供されるサービスを妨害したり、ハッキングする行為も益々頻繁になっている。 In recent years, with the development of networks, electronic technologies, etc., various services such as the web have been easily provided, but with the development of technologies, the services provided by computer network systems due to the appearance of various hacking tools. Interfering and hacking are becoming more frequent.
また、このようなコンピュータネットワークシステムのハッキングは、金銭的な利益を得るための多様な攻撃形態に変化しており、特に、分散サービス妨害(DDoS)攻撃はウェブなどを介した正常なサービスが不可能なようにする攻撃であって、ゾンビ(zombie)PCなどのネットワークグループであるボットネット(botnet)などを悪用して激しさが増している傾向にある。 In addition, hacking of such computer network systems has changed into various attack forms for obtaining financial benefits, and in particular, distributed denial of service (DDoS) attacks do not provide normal services via the web or the like. It is an attack that makes it possible, and there is a tendency to increase the intensity by exploiting a botnet that is a network group such as a zombie PC.
このような分散サービス妨害攻撃に対応するために、幾つかの探知及び対応技法が開発されてはいるが、大部分の分散サービス妨害攻撃に対する対応技法がネットワーク水準(network level)のSYNフラッディング(SYN(Synchronize Sequence Number)flooding)などを探知し、遮断する方法に限られており、ウェブサーバなどのアプリケーションレイヤサービスを妨害する分散サービス妨害攻撃に対する探知及び対応方法としては、伝送率制限(rate limit)のようにウェブサーバに入力されるパケットを低減する攻撃緩和技法が殆どであり、アプリケーションレイヤの分散サービス妨害攻撃パケットやソースIPを探して対応する技術は存在しない。 Although some detection and response techniques have been developed to deal with such distributed denial of service attacks, most of the response techniques for distributed denial of service attacks are network level SYN flooding (SYN). (Synchronize Sequence Number) flooding) is limited to a method of blocking and blocking, and a method of detecting and responding to a distributed service denial attack that interferes with an application layer service such as a web server is a rate limit (rate limit). As described above, most of the attack mitigation techniques reduce the packets input to the web server, and there is no technique for searching for the distributed denial-of-service attack packet in the application layer and the source IP.
現在、アプリケーションレイヤの分散サービス妨害攻撃を探知し対応するために、伝送率制限などの技術を活用するので、緩和された攻撃パケットがそのままサーバに伝達されてサーバの負荷が発生するフォールスネガティブ(false negative)現象と、正常にサービスを要請したユーザのパケットが遮断されるフォールスポジティブ(false positive)の発生リスクを同時に有している。 Currently, in order to detect and respond to application layer distributed denial-of-service attacks, technologies such as transmission rate limitation are utilized, so that the mitigated attack packets are transmitted to the server as they are and a false negative (false) is generated. The risk of generating a negative phenomenon and a false positive in which a packet of a user who has requested a service normally is blocked.
従って、本発明は上記事情に鑑みてなされたものであって、その目的は、コンピュータネットワークシステムにおいてウェブサービスのようなアプリケーションレイヤのサービスを妨害する分散サービス妨害(DDoS)攻撃を正確に探知し、防御できるコンピュータネットワークシステムのアプリケーションレイヤ保護方法及び装置を提供することにある。 Accordingly, the present invention has been made in view of the above circumstances, and its purpose is to accurately detect a distributed denial of service (DDoS) attack that interferes with application layer services such as web services in a computer network system. An object of the present invention is to provide an application layer protection method and apparatus for a computer network system that can be protected.
本発明の課題を解決するための一態様によれば、コンピュータネットワークシステムのアプリケーションレイヤを保護する方法は、クライアントからのセッション連結要請に応答してネットワークを介して前記クライアントとデータ提供サーバ間のセッションを設定する段階と、前記クライアントから前記データ提供サーバへのデータ要請に従って前記データ提供サーバから前記クライアントに応答パケットを伝送する前、前記クライアントからセッション終了要請が発生すれば、前記クライアントをアプリケーションレイヤ攻撃クライアントとして探知する段階とを含むことを特徴とする。 According to one aspect of the present invention, there is provided a method for protecting an application layer of a computer network system, in which a session between a client and a data providing server is performed via a network in response to a session connection request from a client. And if a session termination request is generated from the client before the response packet is transmitted from the data providing server to the client according to a data request from the client to the data providing server, the client is attacked by an application layer attack. And detecting as a client.
本発明の他の様態によれば、コンピュータネットワークシステムのアプリケーションレイヤを保護する装置は、クライアントからのセッション連結要請に従ってネットワークを介して前記クライアントとのセッションを設定し、前記クライアントのデータ要請に応答してデータパケットを前記ネットワークを介して前記クライアントに伝送するように構成されたデータ提供サーバと、前記ネットワークを介して前記クライアントと前記データ提供サーバとのセッションが設定された状態で、前記データ要請に対して前記データ提供サーバから前記クライアントに応答パケットを伝送する前、前記クライアントからセッション終了要請が発生すれば、前記クライアントをアプリケーションレイヤ攻撃クライアントとして探知するように構成されたアプリケーションレイヤ保護サービスサーバとを含むことを特徴とする。 According to another aspect of the present invention, an apparatus for protecting an application layer of a computer network system sets up a session with the client via a network according to a session connection request from the client, and responds to the data request of the client. A data providing server configured to transmit a data packet to the client via the network; and a session between the client and the data providing server established via the network in response to the data request. On the other hand, before a response packet is transmitted from the data providing server to the client, if a session termination request is generated from the client, the client is detected as an application layer attack client. Characterized in that it includes the application layer protection service server.
本発明によれば、正常なサービス要請と明確に区分される攻撃者特徴であるゲット(GET)パケットの発生後、即座にフィン(FIN)パケットを発生したIP又はパケットに対する直接的な探知及び対応が可能であるので、誤り警報(false alarm)を発生せず、分散サービス妨害攻撃者を探し、対応できるという効果を奏する。また、従来は伝送率制限機能を行うために多くのリソースを要求するが、本発明ではアプリケーションレイヤの分散サービス妨害パケットを発生する攻撃者を直接探して対応できるため、リソースが節約される。更に、本発明では、クライアントの連結終了要請の後、サービス応答に対するクライアントの応答であるアック(ACK)パケットの有無でも攻撃者を探すことができる。また、ゲット(GET)パケットの後にフィン(FIN)が続くかを確認し、パケット単位で対応する場合、NAT(Network Address Translation)を用いるネットワークで正常なユーザとゾンビPCのトラフィックが混在している場合にも対応が可能である。 According to the present invention, a direct detection and response to an IP or packet that has generated a fin (FIN) packet immediately after the occurrence of a get (GET) packet that is an attacker characteristic clearly distinguished from a normal service request. Therefore, it is possible to search for a distributed service denial attacker and cope with it without generating a false alarm. Conventionally, many resources are required to perform the transmission rate limiting function. However, in the present invention, it is possible to directly search for and respond to an attacker that generates a distributed service disruption packet in the application layer, so resources are saved. Furthermore, in the present invention, after the client connection termination request, an attacker can be searched for by the presence or absence of an ACK packet that is a client response to the service response. In addition, it is confirmed whether a fin (FIN) follows a get (GET) packet. When corresponding to each packet, normal user and zombie PC traffic are mixed in a network using NAT (Network Address Translation). Cases can also be handled.
本発明ではコンピュータネットワークシステムのアプリケーションレイヤに対する分散サービス妨害(DDoS)攻撃を探知し、対応する方法を提示する。このようなアプリケーションレイヤの攻撃に対する探知及び対応方法を詳細に記述するために、代表的なアプリケーションサービスであるウェブサービスを例に挙げて説明する。 The present invention presents a method for detecting and responding to distributed denial of service (DDoS) attacks on the application layer of computer network systems. In order to describe in detail a detection and response method for such an application layer attack, a web service that is a typical application service will be described as an example.
ホストでTCP/IP(Transmission Control Protocol/Internet Protocol)通信プログラムを作成するためには、ソケット(socket)を用いる。ソケットは、TCP/IPレイヤとアプリケーションレイヤとを連結する一種のAPI(Application Programming Interface)である。一部のOS(Operating System)では安全性の問題などにより、ソケットを介さないネットワーク階層の接続を許容しないので、大部分の通信プログラムはソケットを活用している。 In order to create a TCP / IP (Transmission Control Protocol / Internet Protocol) communication program on the host, a socket is used. The socket is a kind of API (Application Programming Interface) that connects the TCP / IP layer and the application layer. Some OSs (Operating Systems) do not allow connection in a network layer without using sockets due to security problems, and so most communication programs use sockets.
このようなソケットを介した通信プログラムのうち、TCPを利用するプログラムの場合は、セッション(session)を形成した後、アプリケーションレイヤのデータ通信が可能であり、データ通信が終了した後にセッションを終了する過程で通信が行われる。 Among such communication programs via sockets, in the case of a program using TCP, after forming a session, data communication in the application layer is possible, and the session is terminated after the data communication is completed. Communication takes place in the process.
本発明は、クライアント(client)とサーバ(server)間のセッションが連結された状態で、クライアントからサーバにデータが要請され、既に設定された時間内に(又はデータ要請後、即座に)セッション終了が要請された場合、或いはクライアントのソケットがクライアントとサーバとの間のセッションを既に終了したため、サーバがクライアントに伝送した応答パケット(Response packet)に対してクライアントがサーバに確認パケット(ACKnowledgement packet、以下「ACKパケット」という)を発生しない場合に、該当クライアントを分散サービス妨害攻撃者であると認識して該当クライアントとサーバとの連結を遮断するように構成される。 In the present invention, in a state in which a session between a client (client) and a server (server) is connected, data is requested from the client to the server, and the session ends within an already set time (or immediately after the data is requested). Or when the client socket has already terminated the session between the client and the server, the client sends a confirmation packet (ACKnowledgement packet) to the server in response to the response packet transmitted by the server to the client. In the case where no “ACK packet” is generated, the client is recognized as a distributed service denial attacker and the connection between the client and the server is blocked.
以下、添付する図面を参照して本発明の実施形態について具体的に説明する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
まず、図1は、本発明の実施形態が適用され得るコンピュータネットワークシステムのブロック構成図である。コンピュータネットワークシステムは、クライアント100、通信ネットワーク102、アプリケーションレイヤ保護サービスサーバ104、データ提供サーバ106を含む。
FIG. 1 is a block diagram of a computer network system to which an embodiment of the present invention can be applied. The computer network system includes a
図1に示すように、クライアント100は、ネットワーク102に接続してアプリケーションレイヤサービスなどの提供を受けるユーザ側端末、例えば、デスクトップ(desk-top)、ラップトップ(lap-top)などを称するものであって、通信ネットワーク102を介してデータ提供サービス、アプリケーションレイヤサービスなどをユーザに提供できる。このようなクライアント100は、デスクトップ、ラップトップだけでなく、アプリケーションレイヤのサービスを妨害するゾンビPCも含むことができる。また、図1には1つのクライアント100を示したが、これは説明の便宜のためのものであって、通信ネットワーク102上には多数のクライアントが連結され得ることが本発明の技術分野における通常の知識を有する者であれば、容易に分かる。
As shown in FIG. 1, a
通信ネットワーク102は、例えば、有/無線インターネットのような、開放型コンピュータネットワーク構造を意味し、クライアント100にネットワーク接続環境を提供できる。
The
アプリケーションレイヤ保護サービスサーバ104は、ウェブサービスのようなアプリケーションレイヤのサービスを妨害する攻撃形態、例えば、DDoS攻撃を探知し防御する役割を果す。このようなアプリケーションレイヤ保護サービスサーバ104は、例えばIDS(Internet Distribution System)、IPS(Internet Provider Security)、FW(Firewall)、ウェブFW又はDDoS専用装備の形態で実現されることも可能である。
The application layer
データ提供サーバ106は、TCP/IPプロトコル及びその上位階層に存在する多様なサービス、即ち、HTTP(Hyper Text Transfer Protocol)、テルネット(Telnet)、FTP(File Transfer Protocol)、DNS(Domain Name System)、SMTP(Simple Mail Transfer Protocol)、SNMP(Simple Network Management Protocol)、NFS(Network File Service)、NIS(Network Information Service)を提供する。このようなデータ提供サーバ106は通信ネットワーク102を通じてクライアント100にデータ、例えば、ウェブページ及び/又はコンテンツなどのサービスを提供するウェブサーバ又はコンテンツサーバとしての役割を果す。
The
図1ではアプリケーションレイヤ保護サービスサーバ104とデータ提供サーバ106をそれぞれ別個のサーバとして示したが、これは説明の便宜上、1つの実施形態として示しただけで、アプリケーションレイヤ保護サービスサーバ104とデータ提供サーバ106が単一のサーバに統合運営されることもできることを周知する必要がある。
In FIG. 1, the application layer
アプリケーションレイヤ保護サービスサーバ104は、通信ネットワーク102を介してデータ提供サーバ106とクライアント100とのセッションが設定された状態で、クライアント100からのデータ要請に続いて(又はデータ要請後、即座に)セッション終了が要請される場合に、クライアント100をアプリケーションレイヤを攻撃するクライアント(即ち、DDoS攻撃者)と見なしてクライアント100から要請されたデータのパケットを遮断することで、HTTP GETフラッディング又はキャッシュコントロールフラッディング(Cache-Control(CC)flooding)などのようなDDoS攻撃からアプリケーションレイヤを保護できる。
The application layer
また、アプリケーションレイヤ保護サービスサーバ104は、データ提供サーバ106とクライアント100とのセッションが既に終了されたためアプリケーションレイヤ保護サービスサーバ104の応答パケットに対してクライアント100がACKパケットを発生しなければ、クライアント100をアプリケーションレイヤを攻撃するクライアント(即ち、DDoS攻撃者)として認識してクライアント100とデータ提供サーバ106間の連結を遮断することで、HTTP GETフラッディング又はCCフラッディングなどのようなDDoS攻撃からアプリケーションレイヤを保護できる。このようなアプリケーションレイヤ保護サービスサーバ104の連結遮断は、例えば、クライアント100のIP(Internet Protocol)を遮断することで実現され得る。
The application layer
図2は、このようなアプリケーションレイヤにおけるネットワークサービス、例えば、クライアント100とデータ提供サーバ106間のウェブサービスを行う過程を示す図である。
FIG. 2 is a diagram illustrating a process of performing a network service in such an application layer, for example, a web service between the
まず、クライアント100は、サービス要請のためにデータ提供サーバ106にセッション連結を要請する(S200)。このようなセッションの連結要請は、例えば、クライアント100からデータ提供サーバ106に同期シーケンス番号(SYN)パケット(Synchronize Sequence Number packet、以下、「SYNパケット」という)を伝送するものとして実現され得る。
First, the
このとき、データ提供サーバ106のリソースが許容される場合には、データ提供サーバ106はクライアント100のセッション連結の要請に応答する(S202)。このようなセッション連結要請の応答は、例えば(SYN+ACK)パケットを伝送するものとして実現され得る。
At this time, if the resource of the
(SYN+ACK)パケットを受信したクライアント100は、再びデータ提供サーバ106にACKパケットを伝送することによって、これらの間のセッションが連結され得る(S204)。
The
このように、クライアント100とデータ提供サーバ106間のセッションが連結された状態で、クライアント100は所望のデータ、例えば、ウェブページ又はコンテンツをデータ提供サーバ106に要請できる(S206)。このようなデータの要請は、例えば、クライアント100からデータ提供サーバ106にGETパケットを伝送するものとして実現され得る。
As described above, in a state where the session between the
GETパケットを受信したデータ提供サーバ106は、クライアント100から要請されたデータをパケット形態でクライアント100に伝送する(S208)。
The
要請されたデータがデータ提供サーバ106からクライアント100に伝送されれば、クライアント100はデータ提供サーバ106からのパケットのデータの受信を応答する(S210)。このようなデータ受信応答は、例えば、クライアント100からデータ提供サーバ106にACKパケットを伝送するものとして実現され得る。
If the requested data is transmitted from the
その後、全てのパケットを伝送したデータ提供サーバ106は、クライアント100に連結終了を要請できる(S212)。このような連結終了要請は、例えば、データ提供サーバ106からクライアント100に終了パケット(FINish Packet、以下、「FINパケット」という)を伝送するものとして実現され得る。
Thereafter, the
このとき、データ提供サーバ106でキープアライブ(keep alive)値をオフした場合には最終のデータを伝達した後、即座に、又は最終のデータと同時にFINパケットをクライアント100に伝送できる。データ提供サーバ106でキープアライブ値をオンした場合にはデータ提供サーバ106のキープアライブ時間(keep alive time)を超えれば、FINパケットをクライアント100に伝送できる。
At this time, when the keep alive value is turned off by the
その後、クライアント100はセッション終了要請のためのFINパケットをデータ提供サーバ106に伝送し(S214)、リセットパケット(ReSeT packet、以下、「RSTパケット」という)によりクライアント100とデータ提供サーバ106間のセッションが終了し得る。
Thereafter, the
図3は、DDoS攻撃ツール、例えば、ネットボット(netbot)で発生し得るトラフィック特徴を示す図である。 FIG. 3 is a diagram illustrating traffic characteristics that may occur in a DDoS attack tool, eg, a netbot.
まず、クライアント100は、サービス要請のためにデータ提供サーバ106にセッション連結を要請する(S300)。このようなセッション連結要請は、例えば、クライアント100からデータ提供サーバ106にSYNパケットを伝送するものとして実現され得る。
First, the
このとき、データ提供サーバ106のリソースが許容される場合には、データ提供サーバ106はクライアント100のセッション連結の要請に応答できる(S302)。このようなセッション連結応答は、例えば(SYN+ACK)パケットを伝送するものとして実現され得る。
At this time, if the resource of the
(SYN+ACK)パケットを受信したクライアント100は再びデータ提供サーバ106にACKパケットを伝送することによって、これらの間のセッションが連結され得る(S304)。
The
このように、クライアント100とデータ提供サーバ106間のセッションが連結された状態で、クライアント100は所望のデータ、例えば、ウェブページをデータ提供サーバ106に要請できる(S306)。このようなデータの要請は、例えば、クライアント100からデータ提供サーバ106にGETパケットを伝送するものとして実現され得る。
As described above, in a state where the session between the
前述した過程は図2のアプリケーションレイヤにおけるサービス、例えば、クライアント100とデータ提供サーバ106間のウェブサービスの実行過程と同一である。 The process described above is the same as the process of executing a service in the application layer of FIG.
しかし、アプリケーションレイヤを攻撃しようとする場合には、クライアント100が即座にFINパケットを発生してデータ提供サーバ106にセッション終了を要請できる(S308)。
However, when attempting to attack the application layer, the
従って、クライアント100のデータサービス要請の過程(S306)とデータ提供サーバ106の応答パケット(response packet)伝送の過程(S310)との間でクライアント100がセッション終了を要請すると、データ提供サーバ106はまず受信されたクライアント100からのGETパケットに対する応答として応答パケット(response packet)を発生してクライアント100に伝送し(S310)、後に次いでRSTパケットを発生してセッションを終了する(S312)。
Accordingly, when the
このような過程は、以下の通り解釈され得る。 Such a process can be interpreted as follows.
まず、ボットネットもソケットプログラムで作成されているので、多くのアプリケーションレイヤサービスの要求が発生するためにはサービス要請が完了したセッションは必ず終了しなければならない。なぜならば、セッションを終了しなければ、クライアントのソケットリソースが枯渇してしまい、持続的なパケットの発生が不可能であるためである。 First, since a botnet is also created by a socket program, a session for which a service request has been completed must be terminated in order for many application layer service requests to occur. This is because if the session is not terminated, the socket resources of the client will be depleted and continuous packet generation is impossible.
例えば、図3の段階(S308)でクライアントがFINパケットを発生せず、新たなセッションを継続して生成すれば、クライアントのソケットリソースの枯渇によりこれ以上通信が不可能になる。 For example, if the client does not generate a FIN packet and generates new sessions continuously in the step of FIG. 3 (S308), further communication becomes impossible due to the exhaustion of client socket resources.
それで、クライアントで持続的に攻撃パケットを発生するためには必ずセッションを終了しなければならない。また、攻撃者の場合にサーバから送られるデータは関心の対象でないため、これらを受信する必要はない。仮に図2に示されているように、正常にセッションを持続する場合、攻撃者が所望の量のセッションとパケットを発生できず、サーバが攻撃を受ける状況ではサーバの負荷によって段階(S214)のセッション終了要請が遅れて攻撃者もパケットを発生できない状況を経験できる。しかし、DDoS攻撃者はサーバがサービスを提供できないようにすることが目的であるため、図3の段階(S308)でのように、セッション終了要請を即座に行わざるを得ない。 Therefore, in order to continuously generate attack packets at the client, the session must be terminated. In addition, since the data sent from the server in the case of an attacker is not an object of interest, there is no need to receive them. As shown in FIG. 2, if the session is normally maintained, the attacker cannot generate a desired amount of sessions and packets, and in the situation where the server is attacked, the stage (S214) depends on the server load. An attacker can experience a situation in which a request to end a session is delayed and packets cannot be generated. However, since the purpose of the DDoS attacker is to prevent the server from providing the service, the session termination request must be made immediately as in the step (S308) of FIG.
ウェブサービスの場合にHTTP1.0標準文書には以下の通り記述している。 In the case of a web service, the HTTP 1.0 standard document is described as follows.
「実験的なアプリケーションプログラムを除いた実際のアプリケーションにおいて各要求メッセージの伝達に先立ち、クライアントにより連結がまず設立されなければならず、サーバが応答を先に送り、連結を切るようにしなければならない。このとき、クライアントとサーバはユーザの動作や自動的なタイムアウト、又はプログラム誤りにより、どちらであれ、途中で連結を解除する可能性もあるということが分からなければならず、適切な対応動作が可能でなければならない。どの場合であっても、何れか一方又は両方ともの連結解除は常に現在の要求に対する削除を意味する。」 “In an actual application, except for an experimental application program, prior to the transmission of each request message, a connection must first be established by the client, and the server must send a response first to disconnect. At this time, it is necessary to know that the client and the server may be disconnected in the middle due to user action, automatic time-out, or program error. In any case, disconnecting either or both always means deletion for the current request. "
HTTP1.0標準文書ではサーバがデータ通信を完了した後、セッションを終了することが正常なサービス終了であると規定しており、異常なセッション終了は、以下の3つに規定している。
1.ユーザの動作による終了
2.自動的なタイムアウトによる終了
3.プログラム誤りによる終了
The HTTP 1.0 standard document stipulates that terminating a session after the server completes data communication is a normal service termination, and abnormal session termination is defined as the following three.
1. 1. End by
図3の状況が発生し得る場合を上記誤りの状況と比較すると、以下のような結論が得られる。 When the situation of FIG. 3 can occur and the situation of the error, the following conclusion can be obtained.
まず、実際、ネットボットとソケットプログラムで確認した結果、段階(S306)のGETパケットと段階(S308)のFINパケットが発生する時間間隔が、例えば、数十マイクロ秒(μsec)以内、具体的に、10〜90マイクロ秒(μsec)の間であって、極めて短いことが確認でき、このように短時間内で2つのパケットが発生する理由は最大限に多くの攻撃パケットを生成するためである。 First, as a result of actually confirming with the netbot and socket program, the time interval between the generation of the GET packet in step (S306) and the FIN packet in step (S308) is, for example, within several tens of microseconds (μsec), specifically 10 to 90 microseconds (μsec), which can be confirmed to be extremely short, and the reason why two packets are generated in such a short time is to generate a maximum number of attack packets. .
このとき、上述したユーザの動作による終了は、その発生可能性が非常に低いと見られる。仮に、ユーザがウェブブラウザを通じてウェブサービス要請であるGETパケットを発生し、即座にFINパケットを発生するためには、数十マイクロ秒(μsec)以内にウェブブラウザを閉じなければならないが、現実的にこのように速くユーザがウェブブラウザを閉じることは不可能である。 At this time, it is considered that the above-described termination due to the user's operation is very low. If a user generates a GET packet as a web service request through a web browser and immediately generates a FIN packet, the web browser must be closed within several tens of microseconds (μsec). It is impossible for the user to close the web browser in this way.
第2に、自動タイムアウトにより終了する場合、一般に、タイムアウトは数秒、例えば、2〜5秒に設定されており、数十マイクロ秒(μsec)と比較すれば、非常に大きい時間であるため、自動タイムアウトによる終了も現実的には不可能であることが分かる。 Second, in the case of termination due to automatic timeout, in general, the timeout is set to several seconds, for example, 2 to 5 seconds, which is a very large time compared to several tens of microseconds (μsec). It turns out that termination due to timeout is impossible in practice.
最後に、プログラム誤りにより終了する場合、これは明確にクライアントプログラムの誤りであると解析され得るため、異常なセッション終了を規定する仮定では除外する。 Finally, in the case of termination due to a program error, this can be clearly analyzed as a client program error, so it is excluded from the assumption that abnormal session termination is specified.
従って、本実施形態では、図3でのようにクライアント100がGETパケットが発生した後、即座にFINパケットを発生する場合、該当クライアント100をDDoS攻撃者であると判断してクライアント100へのデータパケット伝送を遮断できる。
Therefore, in the present embodiment, as shown in FIG. 3, when the
また、段階(S306)のGETパケットと段階(S308)のFINパケットは数十マイクロ秒(μsec)の差で発生するが、段階(S310)の ACK パケットは数ミリ秒(msec)以後に発生し得る。 Further, the GET packet in step (S306) and the FIN packet in step (S308) are generated with a difference of several tens of microseconds (μsec), but the ACK packet in step (S310) is generated after several milliseconds (msec). obtain.
従って、本実施形態では、このように正常なセッション設定が完了した後、クライアント100のデータ(サービス)要請(S306)とデータ提供サーバ106の ACK パケット伝送(S310)との間にクライアント100のセッション終了要請(S308)が発生する場合に、クライアント100を攻撃者であると判断してクライアント100とデータ提供サーバ106との連結を遮断できる。このとき、段階(S308)のセッション終了パケットは、FINパケットの代わりに、RSTパケットが用いられてもよい。
Therefore, in this embodiment, after the normal session setting is completed in this manner, the session of the
また、本実施形態では、段階(S310)のサービス応答に対してクライアント100のソケットが活性化されている場合に、クライアント100はACKパケットを発生して応答を正常に受け取ったことをサーバに通知しなければならないが、攻撃者の場合に段階(S308)のセッション終了要請によりソケットが終了するので、段階(S310)の応答パケットに対するACKパケットが発生しない。従って、データ提供サーバ106の応答パケット(S310)に対してクライアント100のACKパケットが発生しない場合にもクライアント100を攻撃者として判断できる。
In this embodiment, when the socket of the
以下では、本実施形態によるネットワーク上のアプリケーションレイヤ保護方法、具体的に、クライアント100とアプリケーションレイヤ保護サービスサーバ104及びデータ提供サーバ106間のサービス過程を図4の状態遷移図(state machine)を参照して例示的に説明する。
Hereinafter, the application layer protection method on the network according to the present embodiment, specifically, the service process between the
図4の状態遷移図はウェブサービスに対してそれぞれのセッション毎に1つずつ生成され得る。 The state transition diagram of FIG. 4 may be generated for each session for the web service.
まず、状態S0はクライアント100が新たなセッションを要請するかをモニタリングする過程であって、クライアント100のSYNパケットがモニタリングされれば、アプリケーションレイヤ保護サービスサーバ104は状態S0を状態S1に変更し、データ提供サーバ106の(SYN+ACK)パケットを待機する。
First, the state S0 is a process of monitoring whether the
このとき、データ提供サーバ106から(SYN+ACK)パケットが伝送されれば、アプリケーションレイヤ保護サービスサーバ104は状態S1を状態S2に変更し、クライアント100がACKパケットを伝送してセッションが完成するかをモニタリングして状態S2を状態S3に変更する。
At this time, if the (SYN + ACK) packet is transmitted from the
状態S3でアプリケーションレイヤ保護サービスサーバ104はクライアント100がGETパケットを発生する場合、攻撃を探知する状態S4に移動できる。
In the state S3, the application layer
状態S4でアプリケーションレイヤ保護サービスサーバ104は、データ提供サーバ106の応答が先にモニタリングされる場合に現在の状態を状態S6に変化させ、正常連結が終了する経路に再び状態S0にフィードバックする。
In the state S4, when the response of the
このとき、状態S6から状態S0に遷移する過程には、クライアント100とデータ提供サーバ106が多くのパケットをやり取りするが、これは正常なプロトコルで進められるため、本実施形態におけるアプリケーションレイヤ保護方法では除外する。
At this time, in the process of transition from the state S6 to the state S0, the
また、状態S4で、クライアント100がFINパケット又はRSTパケットを発生する場合、アプリケーションレイヤ保護サービスサーバ104は現在のクライアントをアプリケーションレイヤ攻撃クライアントとして判断し、状態S5に遷移して攻撃に対応する動作を行う。このような攻撃に対応する動作は、例えば、該当クライアントのIPを即座に遮断するか、又は該当IPをIPS、FWなどに伝達して遮断する動作が含まれ得る。
When the
更に、状態S5から状態S0に遷移しながらクライアント100とデータ提供サーバ106間で数回パケットをやり取りするが、これは本実施形態のアプリケーションレイヤ保護方法と関係ない部分であるため、詳細な説明を省略する。
Further, the packet is exchanged several times between the
また、状態S3で探知を避けるためにクライアント100がGETパケット以外の他のパケットを伝達する場合には状態S3を持続でき、セッション連結を終了する場合には現在の状態を状態S0に遷移できる。
In order to avoid detection in the state S3, the state can be maintained when the
そして、状態S0を除いた残りの状態ではプロトコルにより正常/異常連結終了行為が可能であるが、これは本実施形態のアプリケーションレイヤ保護方法と関係ないため、具体的な説明は省略する。 In the remaining states excluding the state S0, the normal / abnormal connection termination action can be performed according to the protocol. However, since this is not related to the application layer protection method of the present embodiment, a specific description is omitted.
以上でHTTPプロトコルを例に挙げてアプリケーションレイヤに対するDDoS攻撃を探知し対応する方法を説明したが、他のアプリケーションプログラムの場合にもセッションを開け、サービス要求と共にセッション終了を要請するクライアントはサービス要請に対する応答を参照しないため、このようなクライアントをサービス妨害攻撃者として探知し対応できる。特に、サーバのキープアライブオプションをオフした場合にサーバは1つのセッションで1つのGETパケットを受信した後、即座にセッションを終了するので、更に効果的に攻撃を防御できる。 The method for detecting and responding to a DDoS attack on the application layer has been described above by taking the HTTP protocol as an example. However, in the case of another application program, a client that opens a session and requests a session termination together with the service request responds to the service request. Since the response is not referenced, such a client can be detected and dealt with as a denial of service attacker. In particular, when the server keep-alive option is turned off, the server immediately terminates the session after receiving one GET packet in one session, so that the attack can be more effectively prevented.
以上のように、本発明は図3で説明した攻撃者の行為を示すIPを探し、これを遮断するか、又はGETパケットと同時に、FINパケットが発生するGETパケットを遮断してDDoS攻撃を探知し対応することを特徴とする。また、FINパケットの代わりに、RSTパケットを用いてセッションを終了する場合も含む。 As described above, the present invention detects the DDoS attack by searching for the IP indicating the act of the attacker described in FIG. 3 and blocking the IP, or blocking the GET packet generated by the FIN packet simultaneously with the GET packet. It corresponds to this. In addition, the case where the session is terminated using an RST packet instead of the FIN packet is included.
本発明では図2の正常なサービス要請と明確に区分される図3の攻撃者の特徴であるGETパケットの発生後、即座にFINパケットを発生したIP又はパケットに対する直接的な探知及び対応が可能であるので、誤り警報を発生せず、DDoS攻撃者を探し対応できる。また、既存の方法は伝送率制限機能を行うために多くのリソースを要求するが、本実施形態による方法はアプリケーションレイヤDDoSパケットを発生する攻撃者を直接探して対応できるため、リソースが節約される。更に、サービス応答に対するクライアントの応答であるACKパケットの有無でも攻撃者を探すことができる。また、GETパケットに次いでFINパケットが続くかを確認し、パケット単位で対応する場合、NATを用いるネットワークで正常なユーザとゾンビPCのトラフィックが混在している場合にも対応が可能である。 In the present invention, it is possible to directly detect and respond to the IP or packet that generated the FIN packet immediately after the generation of the GET packet, which is a characteristic of the attacker of FIG. 3 clearly distinguished from the normal service request of FIG. Therefore, it is possible to search and respond to a DDoS attacker without generating an error alarm. In addition, the existing method requires many resources to perform the transmission rate limiting function, but the method according to the present embodiment can directly search for and respond to an attacker that generates an application layer DDoS packet, thereby saving resources. . Furthermore, an attacker can be searched for by the presence or absence of an ACK packet that is a client response to a service response. In addition, it is confirmed whether the FIN packet follows the GET packet, and it is possible to cope with a case where a normal user and a zombie PC traffic coexist in a network using NAT.
Claims (16)
クライアントからのセッション連結要請に応答してネットワークを介して前記クライアントとデータ提供サーバ間のセッションを設定する段階と、
前記セッションを設定する段階により前記クライアントと前記データ提供サーバ間の前記セッションが連結された状態で前記クライアントから前記データ提供サーバへのデータ要請に従って前記データ提供サーバから前記クライアントに応答パケットを伝送する前、前記クライアントからセッション終了要請が発生すれば、前記クライアントをアプリケーションレイヤ攻撃クライアントとして探知する段階と
を含むことを特徴とするコンピュータネットワークシステムのアプリケーションレイヤ保護方法。 A computer network system is a method for protecting an application layer, comprising:
Setting a session between the client and the data providing server via a network in response to a session connection request from the client;
Before transmitting a response packet from the data providing server to the client in accordance with a data request from the client to the data providing server in a state where the session between the client and the data providing server is connected by the step of setting the session And an application layer protection method for a computer network system, comprising the step of detecting the client as an application layer attack client when a session termination request is generated from the client.
クライアントからのセッション連結要請に従ってネットワークを介して前記クライアントとのセッションを設定し、前記クライアントのデータ要請に応答してデータパケットを前記ネットワークを介して前記クライアントに伝送するように構成されたデータ提供サーバと、
前記セッションの設定により前記クライアントと前記データ提供サーバ間の前記セッションが連結された状態で前記データ要請に対して前記データ提供サーバから前記クライアントに応答パケットを伝送する前、前記クライアントからセッション終了要請が発生すれば、前記クライアントをアプリケーションレイヤ攻撃クライアントとして探知するように構成されたアプリケーションレイヤ保護サービスサーバと
を含むことを特徴とするコンピュータネットワークシステムのアプリケーションレイヤ保護装置。 An apparatus for protecting an application layer of a computer network system,
Via the network to set a session with the client according to the session connection request from a client, before Symbol configured data provided to the data packets in response to a data request of the client via the network and transmits to the client Server,
A session termination request is sent from the client before transmitting a response packet from the data providing server to the client in response to the data request in a state where the session between the client and the data providing server is connected by setting the session. An application layer protection apparatus for a computer network system, comprising: an application layer protection service server configured to detect the client as an application layer attack client if generated.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20090064015 | 2009-07-14 | ||
KR10-2009-0064015 | 2009-07-14 | ||
KR10-2009-0086063 | 2009-09-11 | ||
KR1020090086063A KR101231801B1 (en) | 2009-07-14 | 2009-09-11 | Method and apparatus for protecting application layer in network |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011022985A JP2011022985A (en) | 2011-02-03 |
JP5147819B2 true JP5147819B2 (en) | 2013-02-20 |
Family
ID=43613390
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009292124A Expired - Fee Related JP5147819B2 (en) | 2009-07-14 | 2009-12-24 | Application layer protection method and apparatus for computer network system |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP5147819B2 (en) |
KR (1) | KR101231801B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130017333A (en) | 2011-08-10 | 2013-02-20 | 한국전자통신연구원 | Attack decision system of slow distributed denial of service based application layer and method of the same |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4512196B2 (en) * | 2005-10-20 | 2010-07-28 | アラクサラネットワークス株式会社 | Abnormal traffic detection method and packet relay apparatus |
JP2008028740A (en) * | 2006-07-21 | 2008-02-07 | Secure Ware:Kk | Communication control apparatus, communication control method, and computer program |
KR100806492B1 (en) * | 2006-11-13 | 2008-02-21 | 삼성에스디에스 주식회사 | Method for preventing denial of service attacks using transmission control protocol state transition |
KR100894908B1 (en) * | 2007-05-15 | 2009-04-30 | 고려대학교 산학협력단 | METHOD AND COMPUTER-READABLE MEDIUM FOR DETECTING ABNORMAL PACKET IN VoIP |
KR100889670B1 (en) * | 2007-08-08 | 2009-03-19 | 삼성에스디에스 주식회사 | Method for preventing tcp-based denial-of-service attacks on mobile devices |
-
2009
- 2009-09-11 KR KR1020090086063A patent/KR101231801B1/en not_active IP Right Cessation
- 2009-12-24 JP JP2009292124A patent/JP5147819B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
KR20110006566A (en) | 2011-01-20 |
JP2011022985A (en) | 2011-02-03 |
KR101231801B1 (en) | 2013-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8670316B2 (en) | Method and apparatus to control application messages between client and a server having a private network address | |
US8543807B2 (en) | Method and apparatus for protecting application layer in computer network system | |
US8095983B2 (en) | Platform for analyzing the security of communication protocols and channels | |
US9578055B1 (en) | Thwarting drone-waged denial of service attacks on a network | |
US9800593B2 (en) | Controller for software defined networking and method of detecting attacker | |
US20070044150A1 (en) | Preventing network reset denial of service attacks | |
JP2011221993A (en) | System for preventing normal user being blocked in nat network web service and method for controlling the same | |
JP2004507978A (en) | System and method for countering denial of service attacks on network nodes | |
US7404210B2 (en) | Method and apparatus for defending against distributed denial of service attacks on TCP servers by TCP stateless hogs | |
François et al. | Network security through software defined networking: a survey | |
Wang et al. | Efficient and low‐cost defense against distributed denial‐of‐service attacks in SDN‐based networks | |
Boppana et al. | Analyzing the vulnerabilities introduced by ddos mitigation techniques for software-defined networks | |
Gonzalez et al. | The impact of application-layer denial-of-service attacks | |
JP5147819B2 (en) | Application layer protection method and apparatus for computer network system | |
US11683327B2 (en) | Demand management of sender of network traffic flow | |
US20080052402A1 (en) | Method, a Computer Program, a Device, and a System for Protecting a Server Against Denial of Service Attacks | |
Kumar et al. | An analysis of tcp syn flooding attack and defense mechanism | |
KR20180102884A (en) | Firewall and processing method for packet thereof | |
Tixteco et al. | Dos attacks flood techniques | |
Yang et al. | Snort-based Campus Network Security Intrusion Detection System | |
Holik | Protecting IoT Devices with Software-Defined Networks | |
Prudente et al. | Dos attacks flood techniques | |
Perry | Inferring Network Infrastructure and Session Information through Network Analysis | |
Njogu et al. | Combating TCP Based Attacks on Mobile Devices | |
JP2014183471A (en) | Device, method and program for communication control |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110812 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110819 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111121 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120525 |
|
RD13 | Notification of appointment of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7433 Effective date: 20120831 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20120831 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120920 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20120927 |
|
RD13 | Notification of appointment of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7433 Effective date: 20121004 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20121004 |
|
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: 20121113 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121127 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5147819 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: 20151207 Year of fee payment: 3 |
|
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 |
|
LAPS | Cancellation because of no payment of annual fees |