KR102594137B1 - DDoS 공격 탐지 방법 및 장치 - Google Patents

DDoS 공격 탐지 방법 및 장치 Download PDF

Info

Publication number
KR102594137B1
KR102594137B1 KR1020210158854A KR20210158854A KR102594137B1 KR 102594137 B1 KR102594137 B1 KR 102594137B1 KR 1020210158854 A KR1020210158854 A KR 1020210158854A KR 20210158854 A KR20210158854 A KR 20210158854A KR 102594137 B1 KR102594137 B1 KR 102594137B1
Authority
KR
South Korea
Prior art keywords
mask
matching mode
bit
byte
block
Prior art date
Application number
KR1020210158854A
Other languages
English (en)
Other versions
KR20230072281A (ko
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 KR1020210158854A priority Critical patent/KR102594137B1/ko
Priority to US17/664,396 priority patent/US20230156035A1/en
Publication of KR20230072281A publication Critical patent/KR20230072281A/ko
Application granted granted Critical
Publication of KR102594137B1 publication Critical patent/KR102594137B1/ko

Links

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • 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
    • 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
    • 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/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • 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/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection

Abstract

본 발명은 DDoS 공격 탐지 방법 및 장치에 관한 것으로서, 본 발명의 DDoS 공격 탐지 장치에서의 DDoS 공격 탐지 방법은, 탐지 대상의 각 블록에 대한 소정의 패턴 및 소정의 마스크를 저장하고, 상기 각 블록에 대한 상기 마스크에 대응되는 오프셋 비트 마스크 및 매칭 모드를 생성하는 단계; 및 수신 패킷에 대한 순차적인 상기 각 블록에 대해 상기 패턴과 매칭 여부를 판단하는 단계를 포함하고, 상기 매칭 여부를 판단하는 단계는, 상기 매칭 모드 중 바이트 매칭 모드에서, 상기 수신 패킷의 블록과 상기 패턴의 비교 결과가 상기 오프셋 비트 마스크와 일치하는지 여부를 판단하는 단계; 및 상기 매칭 모드 중 비트 매칭 모드에서, 상기 마스크와 상기 수신 패킷의 블록의 연산 결과에 대해 상기 패턴과의 비교 결과가 상기 오프셋 비트 마스크와 일치하는지 여부를 판단하는 단계를 포함한다.

Description

DDoS 공격 탐지 방법 및 장치 {Method and Apparatus for Detecting DDoS Attacks}
본 발명은 DDoS(Distributed Denial-of-Service) 공격 탐지 방법 및 장치에 관한 것으로서, 특히, 인터넷 네트워크 상의 알려지지 않은 유사 형태의 DDoS 공격 패턴들을 탐지하고 패킷의 송수신을 제어하는 방법 및 장치에 관한 것이다.
인터넷 네트워크 상에서 해커가 사용하는 DDoS 공격은 대규모 트래픽뿐만 아니라 서비스에 지장을 주는 증폭공격 (Amplification Attack) 등 다양한 공격이 존재한다. 종래의 DDoS 공격에 대한 패킷 제어 방식은 패턴을 단계적으로 순차 비교 검증하므로 대규모 트래픽을 신속히 처리해야 하는 네트워크 장비에서 유연하지 않는 성능을 보인다.
예를 들어, 종래의 DDoS 공격 패킷에 대한 순차 검사 방법은, 수신 패킷에 대해 준비된 N개의 패턴과 단계별 순차 비교를 통해 공격을 탐지한다. 이 방법은 수신 패킷에 해당 패턴이 N-1까지는 존재하고 N번째 패턴이 존재하지 않을 경우, 공격 패킷으로 간주되지 않으므로, 공격 탐지에 드는 검색 리소스 및 자원 낭비가 심하게 된다. 따라서, 유사한 패턴 형태가 반복적이나 연속적이지 않은 패킷의 경우 이와 같은 방법을 사용하기도 하지만, 예측되지 않는 대규모 패킷에 대하여 효율성과 신속성이 저하되는 문제가 있다.
또한, 예를 들어, 종래의 DDoS 공격 패킷에 대한 정규 표현식(Regular Express) 검사 방법은, 수신 패킷에 대하여 복잡한 패턴을 한번에 검사하기 위해 정규 표현식으로 처리하는 방법이다. 이 방법은 정규 표현식으로 복잡한 패턴을 표현하고, 정규 표현식에 포함된 패턴들이 수신 패킷에 존재하는 지를 반복적으로 검사하므로 시스템 부하가 높다. 또한, 헤더 등의 탐지에서 작은 패킷 사이즈에 대한 반복적 검사가 포함된 정규 표현식의 경우에, 반복적 연산에 따른 연산량 증가로 시스템 부하가 증가되는 단점이 있으며 정규 표현의 복잡도가 증가할수록 패킷의 분석시간이 증가하는 단점을 가진다.
따라서, 본 발명은 상술한 문제점을 해결하기 위하여 안출된 것으로, 본 발명의 목적은, 복잡한 패턴을 가지는 DDoS 공격을 보다 효율적이고 효과적으로 방어하기 위한 것으로서, 수신 패킷이 특정 인덱스(위치)에 동일 또는 유사한 특징적 패턴(feature)을 가지는 경우가 많다는 것에 착안하여, 특징적 패턴의 존재 여부를 판단함으로써 알려지지 않은 유사 형태의 DDoS 공격 패턴들을 탐지하고 패킷의 송수신을 제어할 수 있는, DDoS 공격 탐지 방법 및 장치를 제공하는 데 있다.
먼저, 본 발명의 특징을 요약하면, 상기의 목적을 달성하기 위한 본 발명의 일면에 따른 DDoS 공격 탐지 장치에서의 DDoS 공격 탐지 방법은, 탐지 대상의 각 블록에 대한 소정의 패턴 및 소정의 마스크를 저장하고, 상기 각 블록에 대한 상기 마스크에 대응되는 오프셋 비트 마스크 및 매칭 모드를 생성하는 단계; 및 수신 패킷에 대한 순차적인 상기 각 블록에 대해 상기 패턴과 매칭 여부를 판단하는 단계를 포함하고, 상기 매칭 여부를 판단하는 단계는, 상기 매칭 모드 중 바이트 매칭 모드에서, 상기 수신 패킷의 블록과 상기 패턴의 비교 결과가 상기 오프셋 비트 마스크와 일치하는지 여부를 판단하는 단계; 및 상기 매칭 모드 중 비트 매칭 모드에서, 상기 마스크와 상기 수신 패킷의 블록의 연산 결과에 대해 상기 패턴과의 비교 결과가 상기 오프셋 비트 마스크와 일치하는지 여부를 판단하는 단계를 포함한다.
상기 블록의 사이즈가 상기 수신 패킷의 각 블록에 대해 동적으로 정해질 수 있다.
상기 바이트 매칭 모드 또는 상기 비트 매칭 모드가 상기 수신 패킷의 각 블록에 대해 동적으로 정해질 수 있다.
상기 생성하는 단계는, 상기 마스크의 바이트 값이 16진수 00인 경우 0으로, 그외에는 1로 압축한 값으로 대응시켜서, 상기 오프셋 비트 마스크를 생성하는 단계를 포함한다.
상기 생성하는 단계는, 상기 마스크의 모든 바이트 값이 16진수 00 또는 FF 만으로 이루어진 경우 상기 매칭 모드를 상기 바이트 매칭 모드로 결정하고, 그 외에는 상기 매칭 모드를 상기 비트 매칭 모드로 결정하는 단계를 포함한다.
상기 비트 매칭 모드에서, 상기 마스크와 상기 블록의 연산은 상호 바이트 값들 간의 곱(Vector AND) 연산인 것이 바람직하다.
상기 바이트 매칭 모드 및 상기 비트 매칭 모드에서, 상기 패턴과의 비교 결과는 상기 패턴의 바이트 값들과 일치 여부에 대한 비교(Vector CMP) 결과일 수 있다.
상기 매칭 여부를 판단하는 단계에서, 상기 오프셋 비트 마스크의 인덱스 길이만큼, 각각의 인덱스에서의 상기 매칭 모드에 따라, 상기 수신 패킷에 대한 순차적인 상기 각 블록에 대해, 상기 바이트 매칭 모드 또는 상기 비트 매칭 모드를 수행하여, 상기 인덱스 길이만큼의 모든 인덱스에서 상기 패턴과 상기 수신 패킷의 블록 간의 매칭이 이루어지면 공격 패턴 탐지로 판단할 수 있다.
그리고, 본 발명의 다른 일면에 따른 네트워크 상의 DDoS 공격 탐지 장치는, 탐지 대상의 각 블록에 대한 소정의 패턴 및 소정의 마스크를 저장하고, 상기 각 블록에 대한 상기 마스크에 대응되는 오프셋 비트 마스크 및 매칭 모드를 생성하는 정책 관리부; 및 수신 패킷에 대하여 순차적인 상기 각 블록에 대해 상기 패턴과 매칭 여부를 판단하되, 상기 매칭 모드에 따라, 상기 수신 패킷의 블록과 상기 패턴의 비교 결과가 상기 오프셋 비트 마스크와 일치하는지 여부를 판단하는 바이트 매칭 모드, 및 상기 마스크와 상기 수신 패킷의 블록의 연산 결과에 대해 상기 패턴과의 비교 결과가 상기 오프셋 비트 마스크와 일치하는지 여부를 판단하는 비트 매칭 모드를 수행하는 패킷 처리부를 포함한다.
본 발명에 따른 DDoS 공격 탐지 방법 및 장치에 따르면, 수신 패킷이 특정 인덱스(위치)에 특징적 패턴을 가지는 지 여부를 판단함으로써 알려지지 않은 유사 형태의 복잡한 패턴을 가지는 DDoS 공격을 보다 효율적이고 효과적으로 탐지 및 방어할 수 있으며, 인터넷 네트워크 상의 서버 등 시스템에서의 패킷 송수신의 원활한 흐름을 보장할 수 있다. 즉, 네트워크 트래픽이 급격히 증가하고 있는 범용 네트워크 상의 다양한 DDoS 트래픽은 대부분 도 1과 같이 특정 인덱스(위치)의 값이 유사하게 반복되는 특징적 패턴을 지니며 인가되는데, 무차별 DDoS 공격에 대하여도 MMM(Multi Mask Matching) 기법을 통해 반복적이고 유사한 형태의 특징적 패턴들을 보다 효율적이고 효과적으로 탐지함으로써 시스템 가용성에 영향을 주지 않도록 시스템 리소스의 한계를 극복하고 네트워크의 안정성을 보장할 수 있다.
또한, 본 발명에 따른 DDoS 공격 제어 탐지 방법 및 장치에 따르면, 네트워크 통신 상의 반복적인 짧은 패킷(Short Packet) 통신 제어뿐만 아니라(헤더 등의 탐지에서 작은 패킷 사이즈에 대한 반복적 검사), 페이로드(payload)가 큰 데이터에 복잡한 패턴이 포함되어도 특징적 패턴을 고속으로 탐지할 수 있으며 DDoS 공격을 보다 효율적이고 효과적으로 방어할 수 있다.
그리고, 본 발명에 따른 DDoS 공격 제어 탐지 방법 및 장치에 따르면, 특징적 패턴의 탐지에 적용된 오프셋 비트 마스크의 비트 자릿수를 컴퓨팅 환경에 따라 증가/감소시켜 최적화를 진행함으로써 상위/하위 호환성의 유연한(Flexible) 대처가 가능하고, 특징적 패턴의 탐지에 있어서 정적인 기능이 아닌 동적인 기능을 적용함으로써 알려지지 않은 긴급 위협 상황 시 시스템 가용성에 지장없이 신속하게 대응할 수 있다.
본 발명에 관한 이해를 돕기 위해 상세한 설명의 일부로 포함되는 첨부도면은, 본 발명에 대한 실시예를 제공하고 상세한 설명과 함께 본 발명의 기술적 사상을 설명한다.
도 1은 일반적인 네트워크 상의 트래픽에 유사하게 반복되는 특징적 패턴을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 DDoS 공격 탐지 장치의 구성을 설명하기 위한 도면이다.
도 3은 도 2의 정책 관리부에서 적용되는 탐지 대상 패턴, 마스크, 오프셋 비트 마스크 및 매칭 모드를 설명하기 위한 도면이다.
도 4는 도 2의 필터링부(121)의 필터링 설정을 설명하기 위한 도면이다.
도 5는 도 2의 레이어 설정부에서의 탐지 대상 패킷 시작 위치의 설정을 설명하기 위한 도면이다.
도 6은 도 2의 매칭 판단부에서의 바이트 매칭 모드와 비트 매칭 모드에서의 연산 방법을 설명하기 위한 도면이다.
도 7은 도 2의 매칭 판단부에서의 공격 패턴 탐지 판단 방법을 설명하기 위한 흐름도이다.
도 8은 본 발명의 일 실시예에 따른 DDoS 공격 탐지 장치가 공격 대상 서버(VICTIM)에 구현되어 공격자의 스푸핑 공격에 대응하는 예를 설명하기 위한 도면이다.
도 9는 본 발명의 일 실시예에 따른 DDoS 공격 탐지 장치의 구현 방법의 일례를 설명하기 위한 도면이다.
이하에서는 첨부된 도면들을 참조하여 본 발명에 대해서 자세히 설명한다. 이때, 각각의 도면에서 동일한 구성 요소는 가능한 동일한 부호로 나타낸다. 또한, 이미 공지된 기능 및/또는 구성에 대한 상세한 설명은 생략한다. 이하에 개시된 내용은, 다양한 실시 예에 따른 동작을 이해하는데 필요한 부분을 중점적으로 설명하며, 그 설명의 요지를 흐릴 수 있는 요소들에 대한 설명은 생략한다. 또한 도면의 일부 구성요소는 과장되거나 생략되거나 또는 개략적으로 도시될 수 있다. 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니며, 따라서 각각의 도면에 그려진 구성요소들의 상대적인 크기나 간격에 의해 여기에 기재되는 내용들이 제한되는 것은 아니다.
본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시 예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.
또한, 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되는 것은 아니며, 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
도 1은 일반적인 네트워크 상의 트래픽에 유사하게 반복되는 특징적 패턴을 설명하기 위한 도면이다.
도 1을 참조하면, 인터넷 등 네트워크 상에서 트래픽이 급격히 증가하고 있는 범용 네트워크 상의 다양한 무차별 DDoS 공격 트래픽은 대부분 도 1과 같이 특정 인덱스(위치)의 값이 유사하게 반복되는 특징적 패턴(A, B, C,...)을 지니며 인가되는데, 본 발명에서는 무차별 DDoS 공격에 대하여도 MMM(Multi Mask Matching) 기법을 통해 이와 같은 반복적이고 유사한 형태의 특징적 패턴(A, B, C,...)을 보다 효율적이고 효과적으로 검증하고 탐지함으로써 시스템 가용성에 영향을 주지 않도록 시스템 리소스의 한계를 극복하고 네트워크의 안정성을 보장할 수 있도록 하였다. 또한, 본 발명에서는 네트워크 통신 상의 반복적인 짧은 패킷(Short Packet) 통신 제어뿐만 아니라, 페이로드(payload)가 큰 데이터에 복잡한 패턴이 포함되어도 특징적 패턴을 고속으로 탐지할 수 있으며 DDoS 공격을 보다 효율적이고 효과적으로 방어할 수 있도록 하였다.
도 2는 본 발명의 일 실시예에 따른 DDoS 공격 탐지 장치(100)의 구성을 설명하기 위한 도면이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 인터넷 등 네트워크 상의 DDoS 공격 탐지 장치(100)는, 서로 독립적인 관계가 아닌 의존적인 관계로 연동하는, 정책 관리부(110) 및 패킷 처리부(120)를 포함한다. 정책 관리자에 의해 설정되는 패턴 및 마스크 등의 DDoS 공격에 대한 정책 정보를 관리하고 패킷 처리부(120)로 오프셋 비트 마스크 및 매칭 모드 등의 탐지 정책 정보를 제공하기 위한 정책 관리부(110)는, 패턴 및 마스크 저장부(111), 오프셋 비트 마스크 생성부(112) 및 매칭 모드 생성부(113)를 포함한다. 인터넷 등 네트워크 상에서 수신되는 패킷의 DDoS 공격을 탐지하고 상기 패킷의 송수신을 제어하기 위한 패킷 처리부(120)는 필터링부(121), 레이어 설정부(122), 매칭 판단부(123)를 포함한다.
인터넷 등 네트워크 상의 서버에 탑재될 수 있는 본 발명의 일 실시예에 따른 DDoS 공격 제어 장치(100)의 위와 같은 각부 구성 요소들은, 반도체 프로세서와 같은 하드웨어, 응용 프로그램과 같은 소프트웨어, 또는 이들의 결합으로 구현될 수 있다.
정책 관리부(110)에서 패턴 및 마스크 저장부(111)는 인터넷 등 네트워크 상에서 수신되는 수신 패킷에 대하여, 탐지 대상의 각 블록(예, 16 바이트)에 대한 소정의 패턴 및 소정의 마스크(도 3, 도 6 참조) 등 DDoS 공격에 대한 정책 정보를 저장한다. 정책 관리자 등 사용자는 무차별 DDoS 공격에 의한 특징적 패턴을 갖는 유사 형태의 공격 패턴들(도 1 참조)을 예상하여 수신 패킷의 헤더 또는 페이로드에 대응된 디지털 정보의 소정의 패턴 및 소정의 마스크를 미리 저장부(111)에 저장해 유지할 수 있다. 도 3 및 도 6에서 상기 패턴 및 마스크는 블록이 16바이트로 이루어진 예를 도시하였으나, 이에 한정되는 것은 아니며 상기 패턴 및 마스크는 환경 또는 설계에 따라 1, 2, 3,...등 16 바이트 보다 적거나 많은 다양한 바이트 크기로 정해져 디지털 정보가 저장되고 유지될 수 있다. 이와 같이 탐지 대상 블록 사이즈, 즉, 블록의 (바이트) 사이즈는 수신 패킷의 각 블록에 대해 동적으로 정해질 수 있다. 즉, 블록 1,2,3...에 대해 각각의 바이트 사이즈는 어느 한 사이즈(예, 16 바이트)로 일률적으로 정해지지 않으며, 교대로 또는 주기적이거나 불규칙하게 다르 사이즈들을 조합하여 적용할 수 있다.
정책 관리부(110)에서 오프셋 비트 마스크 생성부(112)는 패킷 처리부(120)로 전달할 탐지 정책 정보로서, 수신 패킷의 각 블록에 대하여 상기 마스크에 대응되는 오프셋 비트 마스크(도 3, 도 6 참조)를 생성한다. 정책 관리부(110)에서 매칭 모드 생성부(113)는 패킷 처리부(120)로 전달할 탐지 정책 정보로서, 수신 패킷의 각 블록에 대하여 상기 마스크에 대응되는 매칭 모드를 생성한다.
도 3은 도 2의 정책 관리부(110)에서 적용되는 탐지 대상 패턴, 마스크, 오프셋 비트 마스크 및 매칭 모드를 설명하기 위한 도면이다.
도 3을 참조하면, 정책 관리자 등 사용자는 무차별 DDoS 공격에 의한 특징적 패턴을 갖는 유사 형태의 공격 패턴들(도 1 참조)을 예상하여 수신 패킷의 헤더 또는 페이로드에 대응된 디지털 정보의 소정의 패턴(예, 16 바이트 블록)을 미리 저장부(111)에 저장할 수 있으며, 그에 대응되는 소정의 마스크(예, 16 바이트 블록)를 미리 저장부(111)에 저장할 수 있다.
오프셋 비트 마스크 생성부(112)는 수신 패킷의 각 블록에 대하여 상기 마스크에 대응되는 오프셋 비트 마스크를 생성한다. 예를 들어, 도 3의 예에서, 오프셋 비트 마스크 생성부(112)는 마스크의 바이트 값이 16진수 00인 경우 0으로, 그외에는 1로 압축한 값으로 대응시켜서, 상기 오프셋 비트 마스크를 생성할 수 있다. 도 3의 501, 502와 같이, 마스크의 바이트 값이 16진수 09, FC 등에 대하여도, 16진수 00인 경우가 아니므로, 우측의 오프셋 비트 마스크와 같이 1로 압축한 값으로 대응시킨다. 도 3의 예에서, 상기 오프셋 비트 마스크의 값이 1111111111111111인 경우, 이를 2진수로 표현하면 1111111111111111(2) 가 된다. 따라서 이 값은 16자리 인덱스 마스킹 연산이 가능한 마스크가 된다. 만약 상기 오프셋 비트 마스크의 값으로 계산된 결과가 1111111111111101(2) 이라면 0의 값을 갖는 패킷의 2 번째 값은 검증하지 않겠다 라는 뜻을 지닌 마스크가 된다. 도 3의 아래 예에서, 상기 오프셋 비트 마스크의 값으로 계산된 결과가 0xBEF9인 경우와 같이, 패킷의 2,3,9,15 번째 자리의 값은 0이므로 해당 부분은 검증하지 않는 마스크에 해당한다. 도 3의 501, 502와 같이, 마스크의 바이트 값이 16진수 09, FC 등인 경우는 비트값이 0이 아닌 부분을 세부적으로 검증하게 된다. 이와 같은 방법으로 생성된 16 자리의 비트를 16진수 형태로 표현하면 0xFFFF와 같이 압축되는데, 이는 컴퓨터 자료 구조에서 2 바이트로 표현되므로 쇼트형(short) 변수(variable)에 저장할 수 있다.
매칭 모드 생성부(113)는 수신 패킷의 각 블록에 대하여 상기 마스크에 대응되는 매칭 모드를 생성한다. 예를 들어, 도 3과 같이, 매칭 모드 생성부(113)는 상기 마스크의 모든 바이트 값이 16진수 00 또는 FF 만으로 이루어진 경우 상기 매칭 모드를 바이트 매칭 모드로 결정하고 해당 플래그값을 출력할 수 있고, 그 외에는 상기 매칭 모드를 비트 매칭 모드로 결정하고 해당 플래그값을 출력할 수 있다. 도 3의 위의 예에서, 마스크의 모든 바이트 값이 16진수 FF 만으로 이루어진 경우는 바이트 매칭 모드에 해당하고, 도 3의 아래 예에서, 501, 502와 같이, 마스크의 바이트 값이 16진수 00 또는 FF 외에 09, FC 등이 존재하므로 비트 매칭 모드에 해당하고, 이 경우 501, 502의 09, FC 값에서 비트값이 0이 아닌 부분을 세부적으로 검증하게 된다는 의미이다(비트값이 0인 부분은 검증 대상이 아님).
여기서, 상기 바이트 매칭 모드 또는 상기 비트 매칭 모드는 수신 패킷의 흐름 상에서 각 블록에 대해 동적으로 정해질 수 있다. 즉, 블록 1,2,3...에 대해 바이트 매칭 모드 또는 비트 매칭 모드로 일률적으로 정해지지 않으며, 교대로 또는 주기적이거나 불규칙하게 바이트 매칭 모드와 비트 매칭 모드를 조합하여 적용할 수 있다.
한편, 인터넷 등 네트워크 상에서 수신되는 패킷의 DDoS 공격을 탐지하고 상기 패킷의 송수신을 제어하기 위하여, 패킷 처리부(120)의 필터링부(121)는, 탐지 대상 수신 패킷의 크기와 흐름을 필터링한다.
도 4는 도 2의 필터링부(121)의 필터링 설정을 설명하기 위한 도면이다. 예를 들어, 필터링부(121)는, 탐지 대상 수신 패킷의 크기가 100, 200 바이트 등 이상인 경우, 수신 패킷의 흐름이 외부 시스템에서 내부 시스템으로 들어오는 패킷인 경우와 내부 시스템에서 외부 시스템으로 나가는 패킷으로 수신되는 경우 등을 구분하여, 탐지 대상을 설정한다. 필터링부(121)는, 이에 해당하는 경우에 수신 패킷이 탐지 대상으로서 매칭 판단부(123)에서 처리되도록 환경적인 영향을 제어한다.
도 5는 도 2의 레이어 설정부(122)에서의 탐지 대상 패킷 시작 위치의 설정을 설명하기 위한 도면이다.
도 5를 참조하면, 패킷 처리부(120)의 레이어 설정부(122)는, 예를 들어, TCP/IP(Transmission Control Protocol / Internet Protocol) 4 계층에 기반하여 정책의 검증 시작점(L2/L3/L4/L7)을 제어할 수 있다. 예를 들어, 레이어 설정부(122)에 미리 설정된 검증 시작점에 따라 매칭 판단부(123)는 L2, L3, L4, L7 계층 등 해당 헤더 부분의 시작점으로부터 수신 패킷이 탐지 대상으로서 매칭 판단부(123)에서 처리가 시작되도록 제어한다. 이외에도 경우에 따라서는 이와 같이 미리 설정되는 검증 시작점은, 수신 패킷의 헤더가 시작되는 위치로부터 소정의 바이트 거리 떨어진 위치 등 임의의 위치로 설정될 수 있으며, 매칭 판단부(123)는 수신 패킷에 대해 해당 검증 시작점으로부터 매칭 판단 등 공격 여부의 탐지를 수행할 수 있다.
도 6은 도 2의 매칭 판단부(123)에서의 바이트 매칭 모드와 비트 매칭 모드에서의 연산 방법을 설명하기 위한 도면이다.
도 6을 참조하면, 패킷 처리부(120)의 매칭 판단부(123)는, 필터링부(121)의 탐지 대상 패킷 설정 및 레이어 설정부(122)의 검증 시작점 설정을 적용하여, 해당 탐지 대상 수신 패킷에 대하여 순차적인 각 블록(예, 16 바이트)에 대해 패턴 및 마스크 저장부(111)의 상기 패턴과 매칭 여부를 판단한다.
즉, 매칭 판단부(123)는, 매칭 모드 생성부(113)로부터의 매칭 모드에 따라, 바이트 매칭 모드에서는, 수신 패킷의 블록과 상기 패턴의 비교(예, Vector CMP 연산 이용) 결과가 오프셋 비트 마스크 생성부(112)로부터의 상기 오프셋 비트 마스크와 일치하는지 여부를 판단한다(예, AND 연산 이용). 매칭 판단부(123)는, 매칭 모드 생성부(113)로부터의 매칭 모드에 따라, 비트 매칭 모드에서는, 패턴 및 마스크 저장부(111)의 상기 마스크와 상기 수신 패킷의 블록의 연산(예, Vector AND 연산 이용) 결과에 대해 상기 패턴과의 비교(예, Vector CMP 연산 이용) 결과가 상기 오프셋 비트 마스크와 일치하는지 여부를 판단한다(예, AND 연산 이용).
도 6의 예와 같이, 바이트 매칭 모드에서, 수신 패킷의 블록과 상기 패턴과의 비교 결과는, 상기 패턴의 바이트 값들(A, B, O, P)과 일치 여부에 대한 비교(Vector CMP) 결과를 나타낸다. 즉, 매칭 판단부(123)는, 수신 패킷의 블록의 바이트 값들(A~F) 중 상기 패턴의 0이 아닌 값이 있는 검증 대상 바이트 값들(A, B, O, P)이, 해당 바이트 위치에서 상기 패턴의 바이트 값들(A, B, O, P)과의 일치 여부에 대한 비교 연산(Vector CMP)(일치하면 1, 그렇지 않으면 0)을 이용한다. 또한, 매칭 판단부(123)는, 이와 같은 비교 연산(Vector CMP)의 결과에 대해 상기 오프셋 비트 마스크와 AND 연산을 이용해, 비교 연산(Vector CMP)의 결과가 상기 오프셋 비트 마스크와 일치하는지 여부를 판단할 수 있다. 위의 Vector CMP 연산에서, 비교를 수행한 값은 그 자체의 값으로 수신 패킷과 정책이 같은 지 여부를 판단할 수 없는데, 이유는 단일이 아닌 복수의 바이트에 해당하는 영역으로 비교 연산을 하기에 메모리에 쓰여진 쓰레기 값(Garbage Value)(예, A, B, O, P 이외의 부분)도 같이 비교가 되기 때문이다. 그러하여 쓰레기 값의 제거를 위해 추가적으로 연산이 필요한데, 정책 관리부(110)에서 상기 오프셋 비트 마스크를 이용하여 생성된 결과와 AND 연산을 수행하고 그 결과 값으로 오프셋 비트 마스크를 비교하여 값이 일치하는 지 여부를 확인해 패킷 검증을 완료하는 것이다.
또한, 도 6의 예와 같이, 비트 매칭 모드에서, 매칭 판단부(123)는, 패턴 및 마스크 저장부(111)의 상기 마스크와 상기 수신 패킷의 블록의 연산 시에, 대응되는 상호 바이트 값들 간의 곱(Vector AND) 연산을 이용할 수 있다. 매칭 판단부(123)는, 대응되는 상호 바이트 값들 간의 곱(Vector AND) 연산의 결과에 대해 상기 패턴과의 비교 시에, 해당 바이트 위치에서 상기 패턴의 바이트 값들(@, B, O, P)과의 일치 여부에 대한 비교 연산(Vector CMP)을 이용한다. 또한, 매칭 판단부(123)는, 이와 같은 비교 연산(Vector CMP)의 결과에 대해 상기 오프셋 비트 마스크와 AND 연산을 이용해, 비교 연산(Vector CMP)의 결과가 상기 오프셋 비트 마스크와 일치하는지 여부를 판단할 수 있다. 이와 같이, 비트 매칭 방식은 바이트 매칭 방식과 유사하지만 전처리 과정으로서 상기 마스크의 값과 수신 패킷의 블록 간의 벡터 AND 연산이 추가되었다. 본 발명에서는 이와 같이 바이트 매칭 방식뿐만 아니라 비트 매칭 방식도 지원함으로서 네트워크 상 패킷의 특정 프로토콜의 비트 패턴도 검증할 수 있다. 예를 들어 TCP 플래그(Flag) 필드의 경우 6 비트(URG, ACK, PSH, RST, SYN, FIN)로 구성되어 있는데, 비트 매칭 방식을 지원함으로써 하나 또는 둘 이상의 플래그 조합에 대한 패턴으로 비트 단위의 세부적인 패킷 검증(패킷 일치 여부 등)이 가능하다.
이하 도 7의 흐름도를 참조하여 본 발명의 DDoS 공격 탐지 장치(100)에서의 DDoS 공격 탐지 방법에 대하여 좀 더 자세히 설명한다.
도 7은 도 2의 매칭 판단부(123)에서의 공격 패턴 탐지 판단 방법을 설명하기 위한 흐름도이다.
도 7을 참조하면, 먼저, 인터넷 등 네트워크 상에서 유입되는 패킷을 수신한다(S100). 일반적으로 수신 패킷의 크기는 64 바이트 이상이기 때문에 도 3과 같은 16 바이트 크기의 블록으로 패킷을 검증하기 위하여, 하기와 같이 오프셋 비트 마스크의 인덱스 길이만큼 반복(loop) 처리를 통한 패턴 매칭 여부의 검증이 필요하다.
다음에, 매칭 판단부(123)는 정책 관리부(110)의 정책 설정을 확인해 필터링부(121)의 탐지 대상 패킷 설정 및 레이어 설정부(122)의 검증 시작점 설정을 적용하여(S110), 해당 탐지 대상 수신 패킷에 대하여 순차적인 각 블록(예, 16 바이트)에 대해 패턴 및 마스크 저장부(111)의 상기 패턴과 매칭 여부를 판단한다(S111~S280). 정책 관리부(110)의 정책이 없는 경우, 매칭 판단부(123)는 패턴과의 매칭이 실패한 것으로 보아 종료한다(S280).
정책 관리부(110)의 정책이 있는 경우, 매칭 판단부(123)는 하기와 같이 오프셋 비트 마스크의 인덱스 길이만큼 반복(loop) 처리를 통해 패턴 매칭 여부의 검증을 수행한다(S111~S270).
매칭 판단부(123)는 상기 오프셋 비트 마스크의 존재를 확인하면(S111), 해당 오프셋 비트 마스크의 인덱스(≥1)를 확인하고(S210), 상기 오프셋 비트 마스크의 값을 확인하며(S211), 매칭 모드를 확인해(S220), 각각의 인덱스에서의 상기 매칭 모드에 따라, 상기 수신 패킷에 대한 순차적인 상기 각 블록에 대해, 상기 바이트 매칭 모드 또는 상기 비트 매칭 모드를 수행하고(S230, S240), 오프셋 비트 마스크와 AND 연산을 이용해 쓰레기 값들을 제거하면서(S250), 도 6과 같이, 비교 연산(Vector CMP)의 결과가 상기 오프셋 비트 마스크와 일치하면(S260) 공격 패턴 탐지로 판단한다. 이와 같은 S111~S260 과정은 인덱스를 1씩 증가하면서 오프셋 비트 마스크의 인덱스 길이만큼, 즉, 수신 패킷에 대한 검증 대상 블록수 만큼 반복되며, 이에 따라 모든 인덱스에서 패턴 및 마스크 저장부(111)의 패턴과 상기 수신 패킷의 블록 간의 매칭이 이루어지면 공격 패턴 탐지로 판단한다(S270).
도 8은 본 발명의 일 실시예에 따른 DDoS 공격 탐지 장치(100)가 공격 대상 서버(VICTIM)에 구현되어 공격자의 스푸핑(spoofing) 공격에 대응하는 예를 설명하기 위한 도면이다.
도 8을 참조하면, 본 발명의 일 실시예에 따른 DDoS 공격 탐지 장치(100)는 인터넷 등 네트워크 상의 다양한 서버(VICTIM)에 탑재될 수 있다. 서버(VICTIM)는 다양한 DNS(Domain Name System)로부터 스푸핑 공격 패킷을 수신할 수 있으며, 예를 들어, 공격자(Attacker)가 스푸핑 공격 패킷을 통해 최종 목적지가 복수의 DNS(Domain Name System)인 것으로 가장하는 증폭공격(Amplification Attack)을 시도하는 경우, 서버(VICTIM)는 해당 응답 데이터를 복수의 DNS로 보내야하는 부하가 가중될 수 있다.
이와 같은 스푸핑 공격이나 단일 패턴으로 차단하기 어려운 공격 등이 DDoS 방어에 한계점을 가질 수 있다. 스푸핑 공격은 Syn-Cookie, Syn-proxy 등의 다양한 방어 방법이 존재하여 일부 대응이 가능한 경우도 있지만, 단일 패턴으로 차단하기 어려운, 복잡한 패턴을 가지는 공격은 Regular Express 등의 다양한 탐지/차단 방법만으로는 한계가 존재한다.
본 발명의 일 실시예에 따른 DDoS 공격 탐지 장치(100)는 상술한 바와 같은 패킷 검증 방법을 적용하여 수신 패킷이 특정 인덱스(위치)에 특징적 패턴을 가지는 지 여부를 판단함으로써 알려지지 않은 유사 형태의 복잡한 패턴을 가지는 공격자(Attacker)의 DDoS 공격을 보다 효율적이고 효과적으로 탐지 및 방어할 수 있으며, 인터넷 네트워크 상의 서버 등 시스템에서의 패킷 송수신의 원활한 흐름을 보장할 수 있다. 즉, 네트워크 트래픽이 급격히 증가하고 있는 범용 네트워크 상의 다양한 DDoS 트래픽은 대부분 도 1과 같이 특정 인덱스(위치)의 값이 유사하게 반복되는 특징적 패턴을 지니며 인가되는데, 무차별 DDoS 공격에 대하여도 본 발명에서와 같은 MMM(Multi Mask Matching) 기법을 통해 반복적이고 유사한 형태의 특징적 패턴을 보다 효율적이고 효과적으로 탐지함으로써 시스템 가용성에 영향을 주지 않도록 시스템 리소스의 한계를 극복하고 네트워크의 안정성을 보장할 수 있다.
또한, 본 발명의 일 실시예에 따른 DDoS 공격 탐지 장치(100)는 네트워크 통신 상의 반복적인 짧은 패킷(Short Packet) 통신 제어뿐만 아니라(헤더 등의 탐지에서 작은 패킷 사이즈에 대한 반복적 검사), 페이로드(payload)가 큰 데이터에 복잡한 패턴이 포함되어도 특징적 패턴을 고속으로 탐지할 수 있으며 DDoS 공격을 보다 효율적이고 효과적으로 방어할 수 있다. 나아가 본 발명의 일 실시예에 따른 DDoS 공격 탐지 장치(100)는, 특징적 패턴의 탐지에 적용된 오프셋 비트 마스크의 비트 자릿수를 컴퓨팅 환경에 따라 증가/감소시켜 최적화를 진행함으로써 상위/하위 호환성의 유연한(Flexible) 대처가 가능하고, 특징적 패턴의 탐지에 있어서 정적인 기능이 아닌 동적인 기능을 적용함으로써 알려지지 않은 긴급 위협 상황 시 시스템 가용성에 지장없이 신속하게 대응할 수 있다.
도 9는 본 발명의 일 실시예에 따른 DDoS 공격을 탐지하고 패킷의 송수신을 제어하기 위한 방법을 처리하는 DDoS 공격 탐지 장치(100)의 구현 방법의 일례를 설명하기 위한 도면이다.
본 발명의 일 실시예에 따른 DDoS 공격을 탐지하고 패킷의 송수신을 제어하기 위한 방법을 처리하는 DDoS 공격 탐지 장치(100)는, 하드웨어, 소프트웨어, 또는 이들의 결합으로 이루어질 수 있다. 예를 들어, 본 발명의 DDoS 공격 탐지 장치(100)는, 위와 같은 기능/단계/과정들을 수행하기 위한 적어도 하나의 프로세서를 갖는 도 9와 같은 컴퓨팅 시스템(1000) 또는 인터넷 상의 서버 형태로 구현될 수 있다.
컴퓨팅 시스템(1000)은 버스(1200)를 통해 연결되는 적어도 하나의 프로세서(1100), 메모리(1300), 사용자 인터페이스 입력 장치(1400), 사용자 인터페이스 출력 장치(1500), 스토리지(1600), 및 네트워크 인터페이스(1700)를 포함할 수 있다. 프로세서(1100)는 중앙 처리 장치(CPU) 또는 메모리(1300) 및/또는 스토리지(1600)에 저장된 명령어들에 대한 처리를 실행하는 반도체 장치일 수 있다. 메모리(1300) 및 스토리지(1600)는 다양한 종류의 휘발성 또는 불휘발성 저장 매체를 포함할 수 있다. 예를 들어, 메모리(1300)는 ROM(Read Only Memory)(1310) 및 RAM(Random Access Memory)(1320)을 포함할 수 있다.
또한, 네트워크 인터페이스(1700)는 스마트폰, 노트북 PC, 데스크탑 PC 등 사용자 단말에서의 유선 인터넷 통신이나 WiFi, WiBro 등 무선 인터넷 통신, WCDMA, LTE 등 이동통신을 지원하는 모뎀 등의 통신 모듈이나, 근거리 무선 통신 방식(예, 블루투스, 지그비, 와이파이 등)의 통신을 지원하는 모뎀 등의 통신모듈을 포함할 수 있다.
따라서, 본 명세서에 개시된 실시예들과 관련하여 설명된 방법 또는 알고리즘의 단계는 프로세서(1100)에 의해 실행되는 하드웨어, 소프트웨어 모듈, 또는 그 2 개의 결합으로 직접 구현될 수 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 착탈형 디스크, CD-ROM과 같이 컴퓨터 등 장치로 판독 가능한 저장/기록 매체(즉, 메모리(1300) 및/또는 스토리지(1600))에 상주할 수도 있다. 예시적인 저장 매체는 프로세서(1100)에 커플링되며, 그 프로세서(1100)는 저장 매체로부터 정보(코드)를 판독할 수 있고 저장 매체에 정보(코드)를 기입할 수 있다. 다른 방법으로, 저장 매체는 프로세서(1100)와 일체형일 수도 있다. 프로세서 및 저장 매체는 주문형 집적회로(ASIC) 내에 상주할 수도 있다. ASIC는 사용자 단말기 내에 상주할 수도 있다. 다른 방법으로, 프로세서 및 저장 매체는 사용자 단말기 내에 개별 컴포넌트로서 상주할 수도 있다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
정책 관리부(110)
패턴 및 마스크 저장부(111)
오프셋 비트 마스크 생성부(112)
매칭 모드 생성부(113)
패킷 처리부(120)
필터링부(121)
레이어 설정부(122)
매칭 판단부(123)

Claims (9)

  1. DDoS 공격 탐지 장치에서의 DDoS 공격 탐지 방법에 있어서,
    탐지 대상의 각 블록에 대한 소정의 패턴 및 소정의 마스크를 저장하고, 상기 각 블록에 대한 상기 소정의 마스크에 대응되는 오프셋 비트 마스크 및 매칭 모드를 생성하는 단계; 및 수신 패킷에 대한 순차적인 상기 각 블록에 대해 상기 패턴과 매칭 여부를 판단하는 단계를 포함하고,
    상기 생성하는 단계는, 상기 소정의 마스크의 각 바이트 값에 대하여 상기 오프셋 비트 마스크의 각각의 비트값을 결정하는 단계로서, 비트값이 0이 아닌 부분을 검증하기 위한, 각각의 비트값을 결정하는 단계; 및
    상기 소정의 마스크를 구성하는 전체적인 바이트 값들이, 하나의 이상의 미리 정한 값으로만 이루어진 경우를, 상기 매칭 여부의 판단에서 상기 소정의 마스크와 상기 수신 패킷의 연산이 필요없는 상기 매칭 모드 중 바이트 매칭 모드로 결정하고, 그렇지 않다면, 상기 매칭 여부의 판단에서 상기 소정의 마스크와 상기 수신 패킷의 연산을 이용하기 위한 상기 매칭 모드 중 비트 매칭 모드로 결정하는 단계를 포함하며,
    상기 매칭 여부를 판단하는 단계는, 상기 바이트 매칭 모드에서, 상기 수신 패킷의 블록과 상기 패턴의 비교 결과가, 상기 비트값이 0이 아닌 부분에서 상기 오프셋 비트 마스크와 일치하는지 여부를 판단하는 단계; 및 상기 비트 매칭 모드에서, 상기 소정의 마스크와 상기 수신 패킷의 블록의 연산 결과에 대해, 상기 비트값이 0이 아닌 부분에서 상기 패턴과의 비교 결과가 상기 오프셋 비트 마스크와 일치하는지 여부를 판단하는 단계
    를 포함하는 DDoS 공격 탐지 방법.
  2. 제1항에 있어서,
    상기 블록의 사이즈가 상기 수신 패킷의 각 블록에 대해 동적으로 정해진 DDoS 공격 탐지 방법.
  3. 제1항에 있어서,
    상기 바이트 매칭 모드 또는 상기 비트 매칭 모드가 상기 수신 패킷의 각 블록에 대해 동적으로 정해진 DDoS 공격 탐지 방법.
  4. 제1항에 있어서,
    상기 생성하는 단계는,
    상기 소정의 마스크의 바이트 값이 16진수 00인 경우 0으로, 그외에는 1로 압축한 값으로 대응시켜서, 상기 오프셋 비트 마스크를 생성하는 단계
    를 포함하는 DDoS 공격 탐지 방법.
  5. 제1항에 있어서,
    상기 생성하는 단계는,
    상기 소정의 마스크의 모든 바이트 값이 16진수 00 또는 FF 만으로 이루어진 경우 상기 매칭 모드를 상기 바이트 매칭 모드로 결정하고, 그 외에는 상기 매칭 모드를 상기 비트 매칭 모드로 결정하는 단계
    를 포함하는 DDoS 공격 탐지 방법.
  6. 제1항에 있어서,
    상기 비트 매칭 모드에서, 상기 소정의 마스크와 상기 블록의 연산은 상호 바이트 값들 간의 곱(Vector AND) 연산인 DDoS 공격 탐지 방법.
  7. 제1항에 있어서,
    상기 바이트 매칭 모드 및 상기 비트 매칭 모드에서, 상기 패턴과의 비교 결과는 상기 패턴의 바이트 값들과 일치 여부에 대한 비교(Vector CMP) 결과인 DDoS 공격 탐지 방법.
  8. 제1항에 있어서,
    상기 매칭 여부를 판단하는 단계에서,
    상기 오프셋 비트 마스크의 인덱스 길이만큼, 각각의 인덱스에서의 상기 매칭 모드에 따라, 상기 수신 패킷에 대한 순차적인 상기 각 블록에 대해, 상기 바이트 매칭 모드 또는 상기 비트 매칭 모드를 수행하여, 상기 인덱스 길이만큼의 모든 인덱스에서 상기 패턴과 상기 수신 패킷의 블록 간의 매칭이 이루어지면 공격 패턴 탐지로 판단하는 DDoS 공격 탐지 방법.
  9. 네트워크 상의 DDoS 공격 탐지 장치에 있어서,
    탐지 대상의 각 블록에 대한 소정의 패턴 및 소정의 마스크를 저장하고, 상기 각 블록에 대한 상기 소정의 마스크에 대응되는 오프셋 비트 마스크 및 매칭 모드를 생성하는 정책 관리부; 및
    수신 패킷에 대하여 순차적인 상기 각 블록에 대해 상기 패턴과 매칭 여부를 판단하되, 상기 매칭 모드에 따라, 상기 수신 패킷의 블록과 상기 패턴의 비교 결과가 상기 오프셋 비트 마스크와 일치하는지 여부를 판단하는 바이트 매칭 모드, 및 상기 소정의 마스크와 상기 수신 패킷의 블록의 연산 결과에 대해 상기 패턴과의 비교 결과가 상기 오프셋 비트 마스크와 일치하는지 여부를 판단하는 비트 매칭 모드를 수행하는 패킷 처리부를 포함하고,
    상기 정책 관리부는, 상기 소정의 마스크의 각 바이트 값에 대하여 상기 오프셋 비트 마스크의 각각의 비트값을 결정하되, 비트값이 0이 아닌 부분을 검증하기 위한, 상기 각각의 비트값을 결정하며, 상기 소정의 마스크를 구성하는 전체적인 바이트 값들이, 하나의 이상의 미리 정한 값으로만 이루어진 경우를, 상기 매칭 여부의 판단에서 상기 소정의 마스크와 상기 수신 패킷의 연산이 필요없는 상기 매칭 모드 중 바이트 매칭 모드로 결정하고, 그렇지 않다면, 상기 매칭 여부의 판단에서 상기 소정의 마스크와 상기 수신 패킷의 연산을 이용하기 위한 상기 매칭 모드 중 비트 매칭 모드로 결정하고,
    상기 패킷 처리부는, 상기 바이트 매칭 모드 및 상기 비트 매칭 모드에서 상기 비교 결과가 상기 오프셋 비트 마스크와 일치하는지 여부의 판단 시에 상기 비트값이 0이 아닌 부분에 대하여 판단하는, DDoS 공격 탐지 장치.
KR1020210158854A 2021-11-17 2021-11-17 DDoS 공격 탐지 방법 및 장치 KR102594137B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210158854A KR102594137B1 (ko) 2021-11-17 2021-11-17 DDoS 공격 탐지 방법 및 장치
US17/664,396 US20230156035A1 (en) 2021-11-17 2022-05-20 METHOD AND APPARATUS FOR DETECTING DDoS ATTACKS

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210158854A KR102594137B1 (ko) 2021-11-17 2021-11-17 DDoS 공격 탐지 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20230072281A KR20230072281A (ko) 2023-05-24
KR102594137B1 true KR102594137B1 (ko) 2023-10-26

Family

ID=86323209

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210158854A KR102594137B1 (ko) 2021-11-17 2021-11-17 DDoS 공격 탐지 방법 및 장치

Country Status (2)

Country Link
US (1) US20230156035A1 (ko)
KR (1) KR102594137B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101472522B1 (ko) * 2013-12-30 2014-12-16 주식회사 시큐아이 시그니처 탐지 방법 및 장치
KR101665583B1 (ko) * 2015-04-21 2016-10-24 (주) 시스메이트 네트워크 트래픽 고속처리 장치 및 방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101434388B1 (ko) * 2013-01-04 2014-08-26 주식회사 윈스 네트워크 보안 장비의 패턴 매칭 시스템 및 그 패턴 매칭 방법
KR102040371B1 (ko) * 2017-09-06 2019-11-05 전북대학교산학협력단 네트워크 공격 패턴 분석 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101472522B1 (ko) * 2013-12-30 2014-12-16 주식회사 시큐아이 시그니처 탐지 방법 및 장치
KR101665583B1 (ko) * 2015-04-21 2016-10-24 (주) 시스메이트 네트워크 트래픽 고속처리 장치 및 방법

Also Published As

Publication number Publication date
US20230156035A1 (en) 2023-05-18
KR20230072281A (ko) 2023-05-24

Similar Documents

Publication Publication Date Title
US8224976B2 (en) Using a server's capability profile to establish a connection
US10182070B2 (en) System and method for detecting a compromised computing system
US20140298466A1 (en) Data Detecting Method and Apparatus for Firewall
KR101252812B1 (ko) 네트워크 보안 장치 및 그를 이용한 패킷 데이터 처리방법
Arukonda et al. The innocent perpetrators: reflectors and reflection attacks
US9661006B2 (en) Method for protection of automotive components in intravehicle communication system
US20140304817A1 (en) APPARATUS AND METHOD FOR DETECTING SLOW READ DoS ATTACK
US10491513B2 (en) Verifying packet tags in software defined networks
CN106487790B (zh) 一种ack flood攻击的清洗方法及系统
US20140283057A1 (en) Tcp validation via systematic transmission regulation and regeneration
CN110740144A (zh) 确定攻击目标的方法、装置、设备及存储介质
KR102594137B1 (ko) DDoS 공격 탐지 방법 및 장치
CN111181967B (zh) 数据流识别方法、装置、电子设备及介质
Byun et al. Risk and avoidance strategy for blocking mechanism of SDN-based security service
CN112532610B (zh) 一种基于tcp分段的入侵防御检测方法及装置
CN113595957B (zh) 一种网络防御方法及安全检测设备
JP2017195432A (ja) 試験装置、試験方法および試験プログラム
US10182071B2 (en) Probabilistic tracking of host characteristics
Xu et al. MINOS: regulating router dataplane actions in dynamic runtime environments
US20140165181A1 (en) Network apparatus and operating method thereof
Harsha et al. Improving Wi-Fi Security against Evil Twin attack using light weight machine learning application
Keerthan Kumar et al. Performance evaluation of packet injection and DOS attack controller software (PDACS) module
US11627110B2 (en) Systems and methods for operating a networking device
KR20190041324A (ko) Ddos 공격 차단 장치 및 방법
Alharbi et al. SYN Flooding Detection and Mitigation using NFV

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right