KR101263381B1 - TCP/IP네트워크에서의 서비스 거부 공격(DoS) 방어 방법 및 방어 장치 - Google Patents

TCP/IP네트워크에서의 서비스 거부 공격(DoS) 방어 방법 및 방어 장치 Download PDF

Info

Publication number
KR101263381B1
KR101263381B1 KR1020110130224A KR20110130224A KR101263381B1 KR 101263381 B1 KR101263381 B1 KR 101263381B1 KR 1020110130224 A KR1020110130224 A KR 1020110130224A KR 20110130224 A KR20110130224 A KR 20110130224A KR 101263381 B1 KR101263381 B1 KR 101263381B1
Authority
KR
South Korea
Prior art keywords
packet
syn packet
syn
address
source
Prior art date
Application number
KR1020110130224A
Other languages
English (en)
Inventor
박명호
Original Assignee
주식회사 시큐아이
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 시큐아이 filed Critical 주식회사 시큐아이
Priority to KR1020110130224A priority Critical patent/KR101263381B1/ko
Application granted granted Critical
Publication of KR101263381B1 publication Critical patent/KR101263381B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Abstract

본 발명은 SYN 플러딩(Flooding) 방식의 서비스 거부 공격(DoS: Denial of Service) 방어 방법 및 방어 장치에 관한 것이다. 본 발명의 일실시예에 따른 서비스 거부 공격 방어 방법은 제1 SYN 패킷을 수신하는 단계, 상기 제1 SYN 패킷의 출발지 IP주소의 등록 여부를 확인하는 단계, 상기 제1 SYN 패킷의 출발지 IP 주소가 등록되어 있지 않은 경우, 상기 제1 SYN 패킷을 드랍하는 단계, 제2 SYN 패킷을 수신하는 단계, 및 상기 제1 SYN 패킷의 정보에 기초하여 상기 제2 SYN 패킷의 허용 또는 드랍을 수행하는 단계를 포함한다. 본 발명은 출발지 IP 주소가 위조된 공격용 SYN 패킷을 효과적으로 차단할 수 있어, SYN 플러딩(Flooding) 서비스 거부 공격으로부터 네트워크 또는 서버를 안전하게 보호할 수 있다.

Description

TCP/IP네트워크에서의 서비스 거부 공격(DoS) 방어 방법 및 방어 장치{Method and Apparatus For Defending Against Denial Of Service Attack In TCP/IP Networks}
본 발명은 TCP/IP 네트워크 보안 기술에 관한 것으로, 보다 구체적으로는 SYN 플러딩(Flooding) 방식의 서비스 거부 공격(DoS: Denial of Service)으로부터 네트워크 또는 서버를 보호하기 위한 방어 방법 및 방어 장치에 관한 것이다.
TCP/IP는 현재 인터넷 구현을 위해 가장 많이 쓰이는 프로토콜이지만 보안에 취약하다. SYN 플러딩 공격은 TCP/IP의 취약점을 이용한 대표적인 서비스 거부(DoS: Denial of Service)공격방법 중 하나이다. 도 1의 (a)는 서버와 클라이언트간 3-way 핸드셰이크(handshake) 과정을 거쳐 세션이 형성되는 것을 나타낸다. 도 1의 (a)를 참조하면, 클라이언트와 서버 사이에는 3개의 패킷(SYNx, SYNY/ACKx+1, ACKY+1)이 교환된 후에 세션이 형성된다. 우선 클라이언트가 세션 형성을 요청하는 SYNx 패킷을 서버로 전달한다. 서버는 SYNx 패킷을 받으면 이에 대한 수신확인과 함께 반대 방향 데이터 채널을 형성하기 위하여 SYNY/ACKx+1 패킷을 클라이언트로 보낸다. 이 때 서버와 클라이언트간의 세션은 완전히 오픈되지 않은 하프 오픈(half open) 상태이다. 서버의 백로그 큐(backlog queue)는 하프 오픈(half open)상태의 세션 정보를 저장하고, ACKY+1 패킷이 수신되기를 기다린다. 클라이언트는 서버로 SYN에 대한 확인인 ACKY+1 패킷을 보냄으로써 세션이 형성된다. 도 1의 (b)는 SYN 플러딩(Flooding) 공격으로 백로그 큐가 가득 차서 서비스 거부 상태가 초래되는 것을 나타낸다. 도 1의 (b)를 참조하면, 클라이언트가 세션을 요청하는 SYN 패킷 3개를 서버로 전송하면, 서버는 이들 각 요청에 응답하여 대응되는 SYN/ACK 패킷 3개를 클라이언트로 전송한다. 또한, 서버는 하프 오픈(half open) 상태의 세션 정보들을 백로그 큐에 저장하고 클라이언트로부터 ACK 패킷이 수신되기를 기다리게 된다. 서버는 타임 아웃(timeout)이 발생할 때까지는 백로그 큐에 하프 오픈(half open) 상태의 세션 정보를 유지하므로, 3개의 SYN 패킷이 타임 아웃(timeout) 이내에 수신되면, 서버의 백로그 큐가 가득 찬 상태여서 더 이상의 서비스 요구를 받아들이지 못하고 요청되는 모든 서비스를 거부하게 된다. 이러한 SYN 플러딩 공격에 대처하기 위해 백로그 큐의 크기를 늘리는 방법들이 제시되었지만, 서버 자원은 한정되어 있어 근본적인 해결책이 될 수는 없다. 일반적으로 SYN 플러딩 공격 시에는 출발지 IP 주소를 위조한 공격용 SYN 패킷을 서버로 보낸다. 공격용 SYN 패킷 전송 시 출발지 IP를 속이고 전송을 하게 되면 공격 당하는 서버에서는 3-way 핸드 셰이크를 완료할 수 없게 되고, 서버의 자원은 고갈되어 더 이상 서비스를 수행할 수 없게 된다. 또한, 공격지를 추적 및 확인하여 방어하는 것이 힘들다. 이처럼 위조된 IP 주소를 가지는 SYN 패킷들에 의해 서비스 거부 상태가 초래되는 것을 보다 효과적으로 방지할 수 있는 방안이 요청된다.
SYN 플러딩(Flooding) 서비스 거부 공격으로부터 네트워크 또는 서버를 효과적으로 보호할 수 있는 서비스 거부 공격 방어 방법 및 서비스 거부 공격 방어 장치를 제공한다.
본 발명의 일실시예에 따른 서비스 거부 공격 방어 방법은 제1 SYN 패킷을 수신하는 단계, 상기 제1 SYN 패킷의 출발지 IP주소의 등록 여부를 확인하는 단계, 상기 제1 SYN 패킷의 출발지 IP 주소가 등록되어 있지 않은 경우, 상기 제1 SYN 패킷을 드랍하는 단계, 제2 SYN 패킷을 수신하는 단계, 및 상기 제1 SYN 패킷의 정보에 기초하여 상기 제2 SYN 패킷의 허용 또는 드랍을 수행하는 단계를 포함한다.
본 발명의 다른 실시예에 따른 서비스 거부 공격 방어 장치는 제1 SYN 패킷 및 제2 SYN 패킷을 수신하는 인터페이스부, 등록 주소 리스트를 저장하는 메모리, 및 상기 등록 주소 리스트를 참조하여 상기 제1 SYN 패킷을 허용 또는 드랍하고, 상기 제1 SYN 패킷의 정보를 참조하여 상기 제2 SYN 패킷을 허용 또는 드랍하는 패킷 처리부를 포함한다.
본 발명은 출발지 IP 주소가 위조된 공격용 SYN 패킷을 효과적으로 차단할 수 있어, SYN 플러딩(Flooding) 서비스 거부 공격으로부터 네트워크 또는 서버를 안전하게 보호할 수 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1의 (a)는 서버와 클라이언트간 3-way 핸드셰이크 과정을 거쳐 세션이 형성되는 것을 나타내는 도면이다.
도 1의 (b)는 SYN 플러딩(Flooding) 공격으로 백로그 큐가 가득 차서 서비스 거부 상태가 초래되는 것을 나타내는 도면이다.
도 2는 본 발명의 일실시예에 따른 서비스 거부 공격 방어 방법(200)을 나타내는 순서도이다.
도 3은 도 2에 도시된 제1 SYN 패킷의 정보에 기초하여 제2 SYN 패킷의 허용 또는 차단을 수행하는 단계(S250)의 일실시예를 나타내는 순서도이다.
도 4는 도 2에 도시된 제1 SYN 패킷의 정보에 기초하여 제2 SYN 패킷의 허용 또는 차단을 수행하는 단계(S250)의 다른 실시예를 나타내는 순서도이다.
도 5는 도 2에 도시된 제1 SYN 패킷의 정보에 기초하여 제2 SYN 패킷의 허용 또는 차단을 수행하는 단계(S250)의 또 다른 실시예를 나타내는 순서도이다.
도 6은 도 2에 도시된 제1 SYN 패킷의 정보에 기초하여 제2 SYN 패킷의 허용 또는 차단을 수행하는 단계(S250)의 또 다른 실시예를 나타내는 순서도이다.
도 7은 본 발명의 다른 실시예에 따른 서비스 거부 공격 방어 장치(700)를 나타내는 블록도이다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 도면에 기재된 내용을 참조하여야 한다.
본 발명의 실시예들은 당해 기술 분야에서 통상의 지식을 가진 자에게 본 발명을 더욱 완전하게 설명하기 위하여 제공되는 것이며, 아래의 실시예들은 여러가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 아래의 실시예들로 한정되는 것은 아니다. 오히려, 이들 실시예는 본 개시를 더욱 충실하고 완전하게 하며 본 발명이 속하는 기술분야의 통상의 지식을 가진 자에게 본 발명의 사상을 완전하게 전달하기 위하여 제공되는 것이다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 설명함으로써, 본 발명을 상세히 설명하기로 한다.
도 2는 본 발명의 일실시예에 따른 서비스 거부 공격 방어 방법(200)을 나타내는 순서도이다. 도 2를 참조하면, 서비스 거부 공격 방어 방법(200)은 제1 SYN 패킷을 수신하는 단계(S210), 상기 제1 SYN 패킷의 출발지 IP 주소가 등록된 주소인지를 확인하는 단계(S220), 상기 제1 SYN 패킷의 출발지 IP 주소가 등록되어 있지 않은 경우 상기 제1 SYN 패킷을 드랍하는 단계(S230), 제2 SYN 패킷을 수신하는 단계(S240), 및 상기 제1 SYN 패킷의 정보에 기초하여 상기 제2 SYN 패킷의 허용 또는 드랍을 수행하는 단계(S250)를 포함한다. 제1 SYN 패킷을 수신하는 단계(S210)는 클라이언트로부터 접속을 요청하는 제1 SYN 패킷을 수신한다. 수신된 제1 SYN 패킷의 헤더 정보를 분석하여 출발지 IP 주소, 출발지 포트 번호, 목적지 IP 주소, 목적지 포트 주소, TCP 헤더의 시퀀스 넘버(SEQ), 및 IP 헤더의 ID 등을 추출하고 이를 저장할 수 있다. 상기 제1 SYN 패킷의 출발지 IP 주소가 등록된 주소인지를 확인하는 단계(S220)는 이미 검증된 IP 주소로부터의 접속 요청과 검증되지 않은 IP 주소로부터의 접속 요청을 구별하여 취급하기 위해 수행된다. 상기 제1 SYN 패킷의 출발지 IP 주소가 등록된 주소가 아닌 경우에는 상기 제1 SYN 패킷을 드랍(Drop) 처리한다. 제2 SYN 패킷을 수신하는 단계(S240)는 클라이언트로부터 접속을 요청하는 제2 SYN 패킷을 수신한다. 수신된 제2 SYN 패킷의 헤더 정보를 분석하여 출발지 IP 주소, 출발지 포트 번호, 목적지 IP 주소, 목적지 포트 주소, TCP 헤더의 시퀀스 넘버(SEQ), 및 IP 헤더의 ID 등을 추출하고 이를 저장할 수 있다. 상기 제1 SYN 패킷의 정보에 기초하여 상기 제2 SYN 패킷의 허용 또는 드랍을 수행하는 단계(S250)는 제1 SYN 패킷의 헤더 정보를 이용하여 상기 제2 SYN 패킷의 허용여부를 결정할 수 있다. 서비스 거부 공격 방어 방법(200)은 상기 제1 SYN 패킷의 출발지 IP 주소가 등록되어 있는 경우 상기 제1 SYN 패킷을 허용하는 단계(S260)를 더 포함할 수 있다. 상기 수행하는 단계(S250)는 상기 제1 SYN 패킷의 헤더 정보와 상기 제2 SYN 패킷의 헤더 정보를 비교하여 상기 제2 SYN 패킷을 허용 또는 차단할 수 있다.
도 3은 도 2에 도시된 제1 SYN 패킷의 정보에 기초하여 제2 SYN 패킷의 허용 또는 차단을 수행하는 단계(S250)의 일실시예를 나타내는 순서도이다. 도 2 및 도 3을 참조하면, 상기 수행하는 단계(S250)는 양 패킷의 출발지 IP 주소(IS). 출발지 포트 번호(PS), 목적지 IP 주소(ID), 목적지 포트 번호(PD), TCP 헤더의 시퀀스 넘버(SEQ)가 동일한지를 판단하는 단계(S310) 및 양 패킷의 출발지 IP 주소(IS). 출발지 포트 번호(PS), 목적지 IP 주소(ID), 목적지 포트 번호(PD), TCP 헤더의 시퀀스 넘버(SEQ)가 서로 동일한 경우, 상기 제2 SYN 패킷을 허용하는 단계(S320)를 포함할 수 있다. 상기 수행하는 단계(S250)는 양 패킷의 출발지 IP 주소(IS). 출발지 포트 번호(PS), 목적지 IP 주소(ID), 목적지 포트 번호(PD), TCP 헤더의 시퀀스 넘버(SEQ) 중 어느 하나가 서로 다른 경우, 상기 제2 SYN 패킷을 드랍하는 단계(S330)를 더 포함할 수 있다. TCP 패킷의 출발지 IP 주소(IS), 목적지 IP 주소(ID) 및 ID는 IP 패킷의 헤더에 포함되어 있는 정보이다. TCP 패킷의 출발지 포트 번호(PS), 목적지 포트 번호(PD) 및 시퀀스 넘버(SEQ)(SEQ)는 TCP 패킷의 헤더에 포함되어 있는 정보이다. TCP 프로토콜은 클라이언트와 서버간의 신뢰성 있는 전 이중 스트림 세션 혹은 접속을 제공한다. 세션은 출발지 IP 주소(IS), 출발지 TCP 포트 번호(PS), 목적지 IP 주소(ID), 목적지 TCP 포트 번호(PD)로 이루어진 네 개의 요소에 의해 유일하게 정의될 수 있다. 호스트에 의해 송신되는 모든 바이트에는 32비트 정수 값인 시퀀스 넘버(SEQ)가 할당된다. 첫 번째 송신 바이트를 위한 시퀀스 넘버(SEQ)는 연결 설정 시 계산되고, 매 TCP/IP 연결 시마다 다른 시퀀스 넘버(SEQ)를 사용하기 위하여 설계된 규칙에 근거하여 변화한다. TCP는 새로운 세션을 형성하기 위하여 3-방향 핸드셰이크를 사용한다. 클라이언트는 서버에 SYN 비트가 세팅된 패킷 즉, SYN 패킷을 전송함으로써 연결을 시작한다. 이 패킷은 서버에게 클라이언트가 연결을 설정하고 싶다고 말하고, 어떤 시퀀스 넘버(SEQ)를 패킷의 시작 번호로 사용할 것인지를 알려준다. 이 시퀀스 넘버(SEQ)는 데이터의 순서를 유지하기 위해서 사용된다. 서버는 ACK와 SYN 비트가 세팅된 패킷 즉, SYN/ACK 패킷으로 응답한다. 서버는 클라이언트의 패킷을 받았음을 확인하고 클라이언트에게 서버 자신의 시퀀스 넘버(SEQ)를 알려준다. 마지막으로 클라이언트는 서버의 패킷 수신을 확인함으로써 양측의 세션이 형성되고 데이터 교환이 시작된다. 즉, 도 1에서와 같이 클라이언트로부터 서버와의 통신 동기화를 위해 SYNx 패킷이 전달되며, 서버는 클라이언트가 보낸 SYNx 패킷의 ISN(Initial Sequence Number)의 값(x)에 1을 더해 클라이언트에게 SYNY/ACKx+1 패킷을 보낸다. 이제, 클라이언트는 서버가 자신의 동기화 요청에 응답한 것을 확인하였음을 ACKY+1 패킷을 보냄으로써 서버에 알려주며, 이를 끝으로 비로소 클라이언트와 서버간의 통신이 시작된다. TCP 헤더의 시퀀스 넘버(SEQ)는 흐름 조절을 목적으로 TCP 패킷에 대한 고유 번호를 바이트 스트림으로 기록하여 패킷의 순서를 나타낸다. 클라이언트가 SYN 패킷을 전송하였으나, 정해진 시간내에 서버로부터 응답을 받지 못하는 경우에는 재차 SYN 패킷을 전송할 수 있다. 이 때, 재전송된 SYN 패킷의 경우는 TCP 시퀀스 넘버(SEQ)가 이전과 동일하다. 따라서, 제1 SYN 패킷과 제2 SYN 패킷의 출발지 IP 주소(IS). 출발지 포트 번호(PS), 목적지 IP 주소(ID), 목적지 포트 번호(PD), TCP 헤더의 시퀀스 넘버(SEQ)(SEQ)가 서로 동일하다면, 제2 SYN 패킷은 제1 SYN 패킷이 드랍된 후 재전송된 패킷으로서 IP 주소를 속이지 않은 정상적인 접속 요청 패킷으로 간주할 수 있다. 이 경우, 제2 SYN 패킷은 허용되는 것으로 처리할 수 있다. 반면, 제1 SYN 패킷과 제2 SYN 패킷의 출발지 IP 주소(IS). 출발지 포트 번호(PS), 목적지 IP 주소(ID), 목적지 포트 번호(PD), TCP 헤더의 시퀀스 넘버(SEQ) 중 어느 하나가 서로 다른 경우, 제2 SYN 패킷은 제1 SYN 패킷이 드랍된 후 재전송된 패킷으로 볼 수 없으며, 오히려 출발지 IP 주소를 위조한 SYN 플러딩 공격 패킷일 가능성이 크다고 할 수 있다. 이 경우에는 상기 제2 SYN 패킷을 드랍하는 것으로 처리할 수 있다.
도 4는 도 2에 도시된 제1 SYN 패킷의 정보에 기초하여 제2 SYN 패킷의 허용 또는 차단을 수행하는 단계(S250)의 다른 실시예를 나타내는 순서도이다. 도 2 및 도 4를 참조하면, 상기 수행하는 단계(S250)는 양 패킷의 출발지 IP 주소(IS). 출발지 포트 번호(PS), 목적지 IP 주소(ID), 목적지 포트 번호(PD), TCP 헤더의 시퀀스 넘버(SEQ)가 동일하고, 양 패킷의 ID가 다른지를 판단하는 단계(S410), 및 양 패킷의 출발지 IP 주소(IS). 출발지 포트 번호(PS), 목적지 IP 주소(ID), 목적지 포트 번호(PD), 및 TCP 헤더의 시퀀스 넘버(SEQ)(SEQ)가 서로 동일하고 양 패킷의 IP 헤더의 ID가 서로 다른 경우, 상기 제2 SYN 패킷을 허용하는 단계(S420)를 포함할 수 있다. 상기 수행하는 단계(S250)는 양 패킷의 출발지 IP 주소(IS). 출발지 포트 번호(PS), 목적지 IP 주소(ID), 목적지 포트 번호(PD), 및 TCP 헤더의 시퀀스 넘버(SEQ) 중 어느 하나가 서로 다른 경우 또는 양 패킷의 IP 헤더의 ID가 서로 동일한 경우, 상기 제2 SYN 패킷을 드랍하는 단계(S430)를 더 포함할 수 있다. 도 3의 실시예와는 달리 추가적으로 양 패킷의 ID까지 비교하여 상기 제2 SYN 패킷의 허용여부를 결정한다. IP 헤더의 ID(Identification)는 IP 패킷에 대한 고유 번호를 나타내며, 분열(Fragmentation) 발생시, 동일 패킷에 대한 인식 지표로 사용한다. 따라서, ID가 동일한 패킷들은 동일 IP 패킷의 일부를 구성하는 것을 말해준다. 일반적으로 재전송된 SYN 패킷의 경우는 이전 패킷과는 별개이므로 IP 헤더의 ID가 다르게 된다. 따라서, 제1 SYN 패킷과 제2 SYN 패킷의 출발지 IP 주소(IS). 출발지 포트 번호(PS), 목적지 IP 주소(ID), 목적지 포트 번호(PD), 및 TCP 헤더의 시퀀스 넘버(SEQ)가 서로 동일하고, IP 헤더의 ID가 서로 다르다면, 제2 SYN 패킷은 제1 SYN 패킷이 드랍된 후 재전송된 패킷으로서 IP 주소를 속이지 않은 정상적인 접속 요청 패킷으로 간주할 수 있다. 이 경우, 제2 SYN 패킷은 허용되는 것으로 처리할 수 있다. 반면, 제1 SYN 패킷과 제2 SYN 패킷의 출발지 IP 주소(IS). 출발지 포트 번호(PS), 목적지 IP 주소(ID), 목적지 포트 번호(PD), 및 TCP 헤더의 시퀀스 넘버(SEQ) 중 어느 하나가 서로 다른 경우 또는 IP 헤더의 ID가 서로 동일한 경우, 제2 SYN 패킷은 제1 SYN 패킷이 드랍된 후 재전송된 패킷으로 볼 수 없으며, 오히려 출발지 IP 주소를 위조한 SYN 플러딩 공격 패킷일 가능성이 크다고 할 수 있다. 이 경우에는 상기 제2 SYN 패킷을 드랍하는 것으로 처리할 수 있다.
도 5는 도 2에 도시된 제1 SYN 패킷의 정보에 기초하여 제2 SYN 패킷의 허용 또는 차단을 수행하는 단계(S250)의 또 다른 실시예를 나타내는 순서도이다. 도 2 및 도 5를 참조하면, 상기 수행하는 단계(S250)는 양 패킷의 출발지 IP 주소(IS). 출발지 포트 번호(PS), 목적지 IP 주소(ID), 목적지 포트 번호(PD), TCP 헤더의 시퀀스 넘버(SEQ)가 동일한지를 판단하는 단계(S510), 양 패킷의 출발지 IP 주소(IS). 출발지 포트 번호(PS), 목적지 IP 주소(ID), 목적지 포트 번호(PD), TCP 헤더의 시퀀스 넘버(SEQ)가 서로 동일한 경우 상기 제2 SYN 패킷을 허용하는 단계(S520), 및 허용된 제2 SYN 패킷과 관련하여 3-way 핸드셰이크 절차를 수행하는 단계(S530)를 포함할 수 있다. 상기 수행하는 단계(S250)는 상기 3-way 핸드셰이크 절차가 성공적으로 완료되어 세션이 형성되었는지를 판단하는 단계(S540) 및 세션이 형성된 경우 상기 제2 SYN 패킷의 출발지 IP 주소를 등록하는 단계(S550)를 더 포함할 수 있다. 상기 수행하는 단계(S250)는 양 패킷의 출발지 IP 주소(IS). 출발지 포트 번호(PS), 목적지 IP 주소(ID), 목적지 포트 번호(PD), TCP 헤더의 시퀀스 넘버(SEQ) 중 어느 하나가 서로 다른 경우, 상기 제2 SYN 패킷을 드랍하는 단계(S560)를 더 포함할 수 있다.
도 6은 도 2에 도시된 제1 SYN 패킷의 정보에 기초하여 제2 SYN 패킷의 허용 또는 차단을 수행하는 단계(S250)의 또 다른 실시예를 나타내는 순서도이다. 도 2 및 도 6을 참조하면, 상기 수행하는 단계(S250)는 양 패킷의 출발지 IP 주소(IS). 출발지 포트 번호(PS), 목적지 IP 주소(ID), 목적지 포트 번호(PD), TCP 헤더의 시퀀스 넘버(SEQ)가 서로 동일하고, 양 패킷의 IP 헤더의 ID가 서로 다른지를 판단하는 단계(S610), 양 패킷의 출발지 IP 주소(IS). 출발지 포트 번호(PS), 목적지 IP 주소(ID), 목적지 포트 번호(PD), TCP 헤더의 시퀀스 넘버(SEQ)가 서로 동일하고, 양 패킷의 IP 헤더의 ID가 서로 다른 경우 상기 제2 SYN 패킷을 허용하는 단계(S620), 및 허용된 제2 SYN 패킷과 관련하여 3-way 핸드셰이크 절차를 수행하는 단계(S630)를 포함할 수 있다. 상기 수행하는 단계(S250)는 상기 3-way 핸드셰이크 절차가 성공적으로 완료되어 세션이 형성되었는지를 판단하는 단계(S640) 및 세션이 형성된 경우 상기 제2 SYN 패킷의 출발지 IP 주소를 등록하는 단계(S650)를 더 포함할 수 있다. 상기 수행하는 단계(S250)는 양 패킷의 출발지 IP 주소(IS). 출발지 포트 번호(PS), 목적지 IP 주소(ID), 목적지 포트 번호(PD), TCP 헤더의 시퀀스 넘버(SEQ) 중 어느 하나가 서로 다른 경우 또는 양 패킷의 IP 헤더의 ID가 서로 동일한 경우, 상기 제2 SYN 패킷을 드랍하는 단계(S660)를 더 포함할 수 있다.
도 7은 본 발명의 다른 실시예에 따른 서비스 거부 공격 방어 장치(700)를 나타내는 블록도이다. 도 7을 참조하면, 서비스 거부 공격 방어 장치(700)는 제1 SYN 패킷 및 제2 SYN 패킷을 수신하는 인터페이스부(710), 등록 주소 리스트를 저장하는 메모리(720), 및 상기 등록 주소 리스트를 참조하여 상기 제1 SYN 패킷을 허용 또는 드랍하고, 상기 제1 SYN 패킷의 정보를 참조하여 상기 제2 SYN 패킷을 허용 또는 드랍하는 패킷 처리부(730)를 포함한다. 상기 인터페이스부(710)는 패킷을 송신 및 수신할 수 있다. 상기 메모리(720)는 등록 주소 리스트를 저장할 수 있다. 상기 패킷 처리부(730)는 수신된 제2 SYN 패킷이 정상적인 접속 요청 패킷인지 아니면 SYN 플러딩 공격 패킷인지를 판단하여, 제2 SYN 패킷을 허용하거나 차단한다. 상기 패킷 처리부(730)는 상기 제1 SYN 패킷의 출발지 IP 주소가 상기 등록 주소 리스트에 없는 경우, 상기 제1 SYN 패킷을 드랍하도록 구성될 수 있다. 상기 패킷 처리부(730)는 상기 제1 SYN 패킷의 헤더 정보와 상기 제2 패킷의 헤더 정보를 비교하여 제2 SYN 패킷의 허용하거나 차단할 수 있다. 상기 제2 SYN 패킷은 상기 제1 SYN 패킷의 드랍 후 미리 정해진 시간 안에 수신되는 패킷일 수 있다. 구체적으로, 상기 제2 SYN 패킷은 상기 제1 SYN 패킷이 드랍되어 재전송된 패킷일 수 있다. TCP 구현 대부분은 RFC2988 표준을 따른다. FRC2988 표준에 따르면, SYN 패킷을 분실하면 재전송을 시도한다. 만일 SYN 전송이 실패하는 경우, 미리 정해진 기간 예를 들어 3초 이내에 SYN 패킷을 재전송하도록 구성될 수 있다. 상기 패킷 처리부(730)는 양 패킷의 출발지 IP 주소, 출발지 포트 번호, 목적지 IP 주소, 목적지 포트 번호 및 TCP 시퀀스 넘버(SEQ)가 동일한 경우, 상기 제2 SYN 패킷을 허용하도록 구성될 수 있다. 상기 패킷 처리부(730)는 양 패킷의 출발지 IP 주소, 출발지 포트 번호, 목적지 IP 주소, 목적지 포트 번호 및 TCP 헤더의 시퀀스 넘버(SEQ)가 서로 동일하고 IP 헤더의 ID가 서로 다른 경우, 상기 제2 SYN 패킷을 허용하도록 구성될 수 있다. 상기 패킷 처리부(730)는 상기 제2 SYN 패킷이 허용되면, 3-way 핸드셰이크 절차를 수행하도록 구성될 수 있다. 상기 패킷 처리부(730)는 상기 3-way 핸드셰이크 절차가 성공적으로 완료되는 경우, 상기 제2 SYN 패킷의 출발지 IP 주소를 상기 등록 주소 리스트에 등록하도록 구성될 수 있다. 상기 패킷 처리부(730)는 상기 등록 주소 리스트를 미리 정해진 시간마다 초기화할 수 있다. 이는 오래 전에 리스트에 등록된 IP 주소로부터 공격을 받아 문제가 될 소지를 막을 수 있다. 또한 등록 주소 리스트는 정상적인 연결을 시도하는 IP 주소만이 저장되므로, 모든 연결 시도를 전부 추적하는 방식에 비하여 저장해야 할 리스트의 개수를 크게 절감할 수 있다.
이상에서와 같이 도면과 명세서에서 최적 실시 예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
710: 인터페이스부
720: 메모리
730: 패킷 처리부

Claims (14)

  1. SYN 플러딩(Flooding) 방식의 서비스 거부 공격(DoS) 방어 방법에 있어서,
    제1 SYN 패킷을 수신하는 단계;
    상기 제1 SYN 패킷의 출발지 IP주소의 등록 여부를 확인하는 단계;
    상기 제1 SYN 패킷의 출발지 IP 주소가 등록되어 있지 않은 경우, 상기 제1 SYN 패킷을 드랍하는 단계;
    제2 SYN 패킷을 수신하는 단계; 및
    상기 제1 SYN 패킷의 정보에 기초하여 상기 제2 SYN 패킷의 허용 또는 드랍을 수행하는 단계를 포함하고
    상기 수행하는 단계는 상기 제1 SYN 패킷의 헤더 정보와 상기 제2 SYN 패킷의 헤더 정보를 비교하여 상기 제2 SYN 패킷을 허용 또는 차단하며,
    상기 수행하는 단계는 양 패킷의 출발지 IP 주소, 출발지 포트 주소, 목적지 IP 주소, 목적지 포트 주소 및 TCP 헤더의 시퀀스 넘버가 서로 동일하고 IP 헤더의 ID가 서로 다른 경우, 상기 제2 SYN 패킷을 허용하는 것을 특징으로 하는 서비스 거부 공격 방어 방법.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 제 1 항에 있어서,
    허용된 상기 제2 SYN 패킷과 관련하여 3-way 핸드셰이크 절차를 수행하는 단계를 더 포함하는 것을 특징으로 하는 서비스 거부 공격 방어 방법.
  6. 제 5 항에 있어서,
    상기 3-way 핸드셰이크 절차가 성공적으로 완료되는 경우, 상기 제2 SYN 패킷의 출발지 IP 주소를 등록하는 단계를 더 포함하는 것을 특징으로 하는 서비스 거부 공격 방어 방법.
  7. SYN 플러딩(Flooding) 방식의 서비스 거부 공격(DoS) 방어 장치에 있어서,
    제1 SYN 패킷 및 제2 SYN 패킷을 수신하는 인터페이스부;
    등록 주소 리스트를 저장하는 메모리; 및
    상기 등록 주소 리스트를 참조하여 상기 제1 SYN 패킷을 허용 또는 드랍하고, 상기 제1 SYN 패킷의 정보를 참조하여 상기 제2 SYN 패킷을 허용 또는 드랍하는 패킷 처리부를 포함하고,
    상기 패킷 처리부는 상기 제1 SYN 패킷의 출발지 IP 주소가 상기 등록 주소 리스트에 없는 경우, 상기 제1 SYN 패킷을 드랍하고,
    상기 제2 SYN 패킷은 상기 제1 SYN 패킷의 드랍 후 미리 정해진 시간 안에 수신되는 패킷이며,
    상기 패킷 처리부는 양 패킷의 출발지 IP 주소, 출발지 포트 주소, 목적지 IP 주소, 목적지 포트 주소 및 TCP 헤더의 시퀀스 넘버가 서로 동일하고 IP 헤더의 ID가 서로 다른 경우, 상기 제2 SYN 패킷을 허용하는 것을 특징으로 하는 서비스 거부 공격 방어 장치.
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 제 7 항에 있어서, 상기 패킷 처리부는
    상기 제2 SYN 패킷이 허용되면, 3-way 핸드셰이크 절차를 수행하는 것을 특징으로 하는 서비스 거부 공격 방어 장치.
  13. 제 12 항에 있어서, 상기 패킷 처리부는
    상기 3-way 핸드셰이크 절차가 성공적으로 완료되는 경우, 상기 제2 SYN 패킷의 출발지 IP 주소를 상기 등록 주소 리스트에 등록하는 것을 특징으로 하는 서비스 거부 공격 방어 장치.
  14. 제 13 항에 있어서, 상기 패킷 처리부는
    상기 등록 주소 리스트를 미리 정해진 시간 마다 초기화하는 것을 특징으로 하는 서비스 거부 공격 방어 장치.
KR1020110130224A 2011-12-07 2011-12-07 TCP/IP네트워크에서의 서비스 거부 공격(DoS) 방어 방법 및 방어 장치 KR101263381B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110130224A KR101263381B1 (ko) 2011-12-07 2011-12-07 TCP/IP네트워크에서의 서비스 거부 공격(DoS) 방어 방법 및 방어 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110130224A KR101263381B1 (ko) 2011-12-07 2011-12-07 TCP/IP네트워크에서의 서비스 거부 공격(DoS) 방어 방법 및 방어 장치

Publications (1)

Publication Number Publication Date
KR101263381B1 true KR101263381B1 (ko) 2013-05-21

Family

ID=48666044

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110130224A KR101263381B1 (ko) 2011-12-07 2011-12-07 TCP/IP네트워크에서의 서비스 거부 공격(DoS) 방어 방법 및 방어 장치

Country Status (1)

Country Link
KR (1) KR101263381B1 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107087007A (zh) * 2017-05-25 2017-08-22 腾讯科技(深圳)有限公司 一种网络攻击的防御方法、相关设备及系统
KR20190041323A (ko) * 2017-10-12 2019-04-22 주식회사 윈스 보안 장치 및 이의 동작 방법
KR20200061997A (ko) * 2018-11-26 2020-06-03 숭실대학교산학협력단 Sdn 네트워크의 tcp 세션 생성 방법 및 그 방법이 적용된 sdn 네트워크
WO2020111456A1 (ko) * 2018-11-26 2020-06-04 숭실대학교산학협력단 Sdn 네트워크의 tcp 세션 생성 방법 및 그 방법이 적용된 sdn 네트워크
CN114500021A (zh) * 2022-01-18 2022-05-13 神州绿盟成都科技有限公司 一种攻击检测方法、装置、电子设备及存储介质
US11916878B2 (en) 2021-03-04 2024-02-27 Electronics And Telecommunications Research Institute Apparatus and method for security of internet of things device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100858271B1 (ko) * 2007-11-27 2008-09-11 주식회사 나우콤 분산서비스거부공격 차단장치 및 그 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100858271B1 (ko) * 2007-11-27 2008-09-11 주식회사 나우콤 분산서비스거부공격 차단장치 및 그 방법

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107087007A (zh) * 2017-05-25 2017-08-22 腾讯科技(深圳)有限公司 一种网络攻击的防御方法、相关设备及系统
KR20190041323A (ko) * 2017-10-12 2019-04-22 주식회사 윈스 보안 장치 및 이의 동작 방법
KR102027434B1 (ko) * 2017-10-12 2019-10-02 주식회사 윈스 보안 장치 및 이의 동작 방법
KR20200061997A (ko) * 2018-11-26 2020-06-03 숭실대학교산학협력단 Sdn 네트워크의 tcp 세션 생성 방법 및 그 방법이 적용된 sdn 네트워크
WO2020111456A1 (ko) * 2018-11-26 2020-06-04 숭실대학교산학협력단 Sdn 네트워크의 tcp 세션 생성 방법 및 그 방법이 적용된 sdn 네트워크
KR102185588B1 (ko) * 2018-11-26 2020-12-02 숭실대학교산학협력단 Sdn 네트워크의 tcp 세션 생성 방법 및 그 방법이 적용된 sdn 네트워크
US11916878B2 (en) 2021-03-04 2024-02-27 Electronics And Telecommunications Research Institute Apparatus and method for security of internet of things device
CN114500021A (zh) * 2022-01-18 2022-05-13 神州绿盟成都科技有限公司 一种攻击检测方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
US8800001B2 (en) Network authentication method, method for client to request authentication, client, and device
US7979694B2 (en) Using TCP to authenticate IP source addresses
EP1751910B1 (en) Preventing network reset denial of service attacks using embedded authentication information
US9438592B1 (en) System and method for providing unified transport and security protocols
US8108531B2 (en) Securing an access provider
US7162740B2 (en) Denial of service defense by proxy
EP2095603B1 (en) Methods and apparatus for delivering control messages during a malicious attack in one or more packet networks
KR101263381B1 (ko) TCP/IP네트워크에서의 서비스 거부 공격(DoS) 방어 방법 및 방어 장치
US20090249466A1 (en) Methods and devices for enforcing network access control utilizing secure packet tagging
US20120227088A1 (en) Method for authenticating communication traffic, communication system and protective apparatus
EP2285041A1 (en) Communication establishing method, system and device
US20140215599A1 (en) Method and system for defeating denial of service attacks
Cao et al. 0-rtt attack and defense of quic protocol
KR101020470B1 (ko) 네트워크 침입차단 방법 및 장치
CN112235329A (zh) 一种识别syn报文真实性的方法、装置及网络设备
JP2006033472A (ja) 不正アクセス検知装置
US20060253603A1 (en) Data communication system and method
KR102058888B1 (ko) Tfo 쿠키 값을 이용하는 보안 방법 및 장치, 그리고 이를 이용한 통신 방법 및 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160510

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190502

Year of fee payment: 7