KR20220118777A - 넷플로우 데이터를 이용한 디도스 대역폭 공격을 탐지하는 방법 및 그 장치 - Google Patents

넷플로우 데이터를 이용한 디도스 대역폭 공격을 탐지하는 방법 및 그 장치 Download PDF

Info

Publication number
KR20220118777A
KR20220118777A KR1020210022622A KR20210022622A KR20220118777A KR 20220118777 A KR20220118777 A KR 20220118777A KR 1020210022622 A KR1020210022622 A KR 1020210022622A KR 20210022622 A KR20210022622 A KR 20210022622A KR 20220118777 A KR20220118777 A KR 20220118777A
Authority
KR
South Korea
Prior art keywords
threshold
outlier
event
protocol
feature
Prior art date
Application number
KR1020210022622A
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 KR1020210022622A priority Critical patent/KR20220118777A/ko
Publication of KR20220118777A publication Critical patent/KR20220118777A/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/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
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • H04L43/062Generation of reports related to network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • 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

Abstract

적어도 하나의 프로세서에 의해 동작하는 컴퓨팅 장치가 디도스(DDos) 대역폭 공격을 탐지하는 방법으로서, 단위 시간 동안 수집한 넷플로우 데이터로부터 상기 넷플로우 데이터를 대표하는 전체 특징 및 프로토콜 별 특징을 계산하는 단계, 상기 전체 특징 및 상기 프로토콜 별 특징이 사전에 정의된 이상치 임계치 이상이거나 또는 초과하는지 판단하는 단계, 상기 이상치 임계치 이상이거나 또는 초과하는 적어도 하나의 특징이 사전에 정의된 급등 탐지 임계치이상이거나 또는 초과하는지 판단하는 단계, 상기 이상치 임계치의 판단 결과 및 상기 급등 탐지 임계치의 판단 결과에 기초하여 이벤트 등급을 결정하고, 결정한 이벤트 등급에 따른 이벤트를 생성하여 출력하는 단계를 포함한다.

Description

넷플로우 데이터를 이용한 디도스 대역폭 공격을 탐지하는 방법 및 그 장치{METHOD AND APPARATUS FOR DETECTING DDOS BANDWIDTH ATTACK BASED ON NETFLOW DATA}
본 발명은 넷플로우 데이터를 이용한 디도스 대역폭 공격을 탐지하는 방법 및 그 장치에 관한 것이다.
넷플로우(Netflow)는 시스코 시스템(Cisco System)에서 개발한 네트워크 프로토콜로서, 네트워크 장비로 입력 또는 출력되는 네트워크 트래픽을 수집하여 플로우(Flow) 단위의 데이터를 제공한다. 넷플로우는 네트워크 관리 및 보안을 위해 많은 기관에서 사용중이고 넷플로우 데이터를 활용한 연구가 활발하게 진행되고 있다.
디도스(DDos) 공격은 시스템을 악의적으로 공격해 해당 시스템의 자원을 부족하게 하여 원래 의도된 용도로 사용하지 못하게 한다. 디도스 공격은 대역폭 공격, 서버 자원 고갈 공격, 웹/앱 공격이 있다. 특히, 대역폭 공격은 공격 트래픽이 네트워크의 대역폭을 초과시켜 정상 사용자가 서비스 이용을 못하게 하는 공격이다.
종래의 디도스 대역폭 공격을 탐지하는 방법은 평균(Mean), 표준편차, 고정 임계치 등을 이용하는 방법이 있다. 이중에서, 평균 또는 표준편차를 이용하는 방법은 정상분포가 정규분포가 아닐 경우, 잘 동작하지 않는다. 구체적으로 적용 환경에 따라 트래픽의 분포가 다르기 때문에 왼쪽 또는 오른쪽으로 치우친 분포 혹은 지방 꼬리(fat-tail) 분포 등에는 평균, 표준편차 기반 방식이 적합하지 않을 수 있다.
또한, 고정 임계치를 이용하는 방법은 적용 환경의 트래픽 규모에 따라 설정이 달라지므로 보안 전문가의 의견에 많이 의존적이다.
해결하고자 하는 과제는 넷플로우 데이터를 이용하여 다양한 트래픽 분포에 적용할 수 있는 특징을 토대로 이상치 탐지 모델과 급등 탐지 모델을 학습하고, 이들을 조합하여 디도스 대역폭 공격을 탐지하는 방법 및 그 장치를 제공하는 것이다.
해결하고자 하는 과제는 운용자가 조치 판단 및 조치 대상 파악을 할 수 있도록 이벤트 등급, 포트/프로토콜 통계, 정상 분포 대비 이상치 위치 정보 중 적어도 하나의 정보를 제공하는 방법 및 그 장치를 제공하는 것이다.
한 특징에 따르면, 적어도 하나의 프로세서에 의해 동작하는 컴퓨팅 장치가 디도스(DDos) 대역폭 공격을 탐지하는 방법으로서, 단위 시간 동안 수집한 넷플로우 데이터로부터 상기 넷플로우 데이터를 대표하는 전체 특징 및 프로토콜 별 특징을 계산하는 단계, 상기 전체 특징 및 상기 프로토콜 별 특징이 사전에 정의된 이상치 임계치 이상이거나 또는 초과하는지 판단하는 단계, 상기 이상치 임계치 이상이거나 또는 초과하는 적어도 하나의 특징이 사전에 정의된 급등 탐지 임계치 이상이거나 또는 초과하는지 판단하는 단계, 상기 이상치 임계치의 판단 결과 및 상기 급등 탐지 임계치의 판단 결과에 기초하여 이벤트 등급을 결정하고, 결정한 이벤트 등급에 따른 이벤트를 생성하여 출력하는 단계를 포함한다.
상기 생성하는 단계 이전에, 상기 넷플로우 데이터가 수집된 회선의 가용 트래픽이 사전에 정의된 검토 임계치 이상이거나 또는 초과하는지 판단하는 단계를 더 포함하고, 상기 이벤트 등급은, 상기 검토 임계치의 판단 결과를 추가하여 결정되는, 상기 검토 임계치는, 운영자가 검토를 시작할 네트워크 트래픽 임계치로 정의될 수 있다.
상기 이벤트 등급은, 위험도 등급이 가장 낮은 마이너 등급, 위험도 등급이 중등급인 메이저 등급 및 위험도 등급이 가장 높은 크리티컬 등급으로 세분화되고,상기 이벤트 등급은, 상기 전체 특징 및 상기 프로토콜 별 특징이 상기 이상치 임계치, 상기 급등 임계치 및 상기 검토 임계치 중에서 적어도 하나의 임계치 이상이거나 또는 초과하는지 조합하여 결정될 수 있다.
상기 생성하는 단계는, 상기 이상치 임계치 이상이거나 또는 초과하는 특징이 적어도 하나이고, 가용 트래픽이 상기 검토 임계치를 초과하면, 상기 이벤트 등급을 상기 마이너 등급으로 결정할 수 있다.
상기 생성하는 단계는, 상기 이상치 임계치 이상이거나 또는 초과하는 특징이 적어도 하나이고, 상기 이상치 임계치 이상이거나 또는 초과하는 특징 중에서 상기 전체 특징이 적어도 하나이며, 가용 트래픽이 상기 검토 임계치를 초과하면, 상기 이벤트 등급을 상기 메이저 등급으로 결정할 수 있다.
상기 생성하는 단계는, 상기 이상치 임계치 이상이거나 또는 초과하는 특징이 적어도 하나이고, 상기 이상치 임계치 이상이거나 또는 초과하는 특징 중에서 상기 전체 특징이 적어도 하나이며, 급등 탐지 임계치 이상이거나 또는 초과하는 특징이 적어도 하나이고, 가용 트래픽이 상기 검토 임계치를 초과하면, 상기 이벤트 등급을 크리티컬 등급으로 결정할 수 있다.
상기 생성하는 단계는, 이벤트 등급 및 이상치가 발생한 특징의 트래픽 포트 및 프로토콜 정보를 포함한 이벤트를 생성할 수 있다.
상기 생성하는 단계는, 이상치가 발생한 이상치 특징 별로, 정상 분포와 이상치 특징의 위치를 나타낸 정보를 제공할 수 있다.
다른 특징에 따르면, 컴퓨팅 장치는 통신 장치, 디스플레이 장치, 디도스 대역폭 공격 탐지 프로그램이 저장된 메모리, 그리고 상기 디도스 대역폭 공격 탐지 프로그램을 실행하는 적어도 하나의 프로세서를 포함하고, 상기 디도스 대역폭 공격 탐지 프로그램은, 단위 시간 동안 수집한 넷플로우 데이터로부터 상기 넷플로우 데이터를 대표하는 전체 특징 및 프로토콜 별 특징을 계산하고, 상기 전체 특징 및 상기 프로토콜 별 특징이 사전에 정의된 이상치 임계치, 급등 임계치 및 검토 임계치 이상이거나 또는 초과하는지를 판단한 결과를 조합하여 이벤트 등급을 결정하고, 상기 결정된 이벤트 등급에 따른 이벤트를 생성하여 상기 디스플레이 장치를 통해 출력하는 명령어들(Instructions)을 포함한다.
상기 디도스 대역폭 공격 탐지 프로그램은, 학습 시점보다 이전인 과거 넷플로우 데이터로부터 계산된 전체 특징 및 프로토콜 별 특징에 대하여, Harrell-Davis 방법을 통해 특징 종류 별로 계산된 정렬의 중앙에 위치하는 중위수와 Double MAD(Median Absolute Deviation)를 이용하여 상기 이상치 임계치를 계산하는 명령어들을 포함할 수 있다.
상기 디도스 대역폭 공격 탐지 프로그램은, 학습 시점보다 이전인 과거 넷플로우 데이터로부터 계산된 전체 특징 및 프로토콜 별 특징을 포함하는 과거 특징 중에서 일부를 검증 데이터로 선정하고 나머지를 학습 데이터로 선정하며, 특징 종류 별로 선정한 학습 데이터를 사전 정의된 각각의 급등 탐지 모델로 학습하여 각각의 급등 탐지 임계치를 선정하는 명령어들을 포함할 수 있다.
상기 디도스 대역폭 공격 탐지 프로그램은, 학습 시점보다 이전인 과거 넷플로우 데이터로부터 계산된 전체 특징 및 프로토콜 별 특징을 포함하는 과거 특징을 이용하여 추정된 가용 트래픽 또는 네트워크 장치로부터 제공된 가용 트래픽의 일정 비율을 상기 검토 임계치로 선정하는 명령어들을 포함할 수 있다.
실시예에 따르면, 보안 전문가의 개입 없이 자동으로 대역폭 공격의 임계치를 학습할 수 있으며, 다양한 트래픽 분포에 적용 가능하다.
또한, 대역폭 공격 탐지시 이벤트 등급에 따라 조치 판단을 할 수 있으며, 이상 특징값과 port/protocol 통계, Boxplot을 통해 차단해야 할 프로토콜 및 포트를 파악할 수 있다.
도 1은 한 실시예에 따른 디도스(DDos) 대역폭 공격 탐지 장치와 그 주변 환경의 개략적인 블록도이다.
도 2는 실시예에 따른 디도스 공격 탐지 장치의 세부 구성을 나타낸다.
도 3은 도 2의 특징 계산부의 동작을 설명하는 순서도이다.
도 4는 도 2의 이상치 임계치 설정부의 동작을 설명하는 순서도이다.
도 5는 도 2의 급등 탐지 임계치 설정부의 동작을 설명하는 순서도이다.
도 6은 도 2의 검토 임계치 설정부의 동작을 설명하는 순서도이다.
도 7은 실시예에 따른 디도스 대역폭 공격 탐지 절차를 설명하는 순서도이다.
도 8은 실시예에 따른 이벤트 결과 화면의 예시도이다.
도 9는 실시예에 따른 이벤트 상세보기 화면의 예시도이다.
도 10은 실시예에 따른 디도스 대역폭 공격 탐지 장치의 하드웨어 구성도이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
또한, 명세서에 기재된 "…부", "…기", "…모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
본 발명에서 설명하는 장치들은 적어도 하나의 프로세서, 메모리 장치, 통신 장치 등을 포함하는 하드웨어로 구성되고, 지정된 장소에 하드웨어와 결합되어 실행되는 프로그램이 저장된다. 하드웨어는 본 발명의 방법을 실행할 수 있는 구성과 성능을 가진다. 프로그램은 도면들을 참고로 설명한 본 발명의 동작 방법을 구현한 명령어(instructions)를 포함하고, 프로세서와 메모리 장치 등의 하드웨어와 결합하여 본 발명을 실행한다.
본 명세서에서 "전송 또는 제공"은 직접적인 전송 또는 제공하는 것 뿐만 아니라 다른 장치를 통해 또는 우회 경로를 이용하여 간접적으로 전송 또는 제공도 포함할 수 있다.
본 명세서에서 단수로 기재된 표현은 "하나" 또는 "단일" 등의 명시적인 표현을 사용하지 않은 이상, 단수 또는 복수로 해석될 수 있다.
본 명세서에서 도면에 관계없이 동일한 도면번호는 동일한 구성요소를 지칭하며, "및/또는" 은 언급된 구성 요소들의 각각 및 하나 이상의 모든 조합을 포함한다.
본 명세서에서, 제1, 제2 등과 같이 서수를 포함하는 용어들은 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를들어, 본 개시의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
본 명세서에서 도면을 참고하여 설명한 흐름도에서, 동작 순서는 변경될 수 있고, 여러 동작들이 병합되거나, 어느 동작이 분할될 수 있고, 특정 동작은 수행되지 않을 수 있다.
도 1은 한 실시예에 따른 디도스(DDoS, Distributed Denial of Service) 대역폭 공격 탐지 장치와 그 주변 환경의 개략적인 블록도이다.
디도스는 특정 시스템의 서비스를 방해할 목적으로 복수 네트워크의 분산된 컴퓨터가 일제히 대량의 데이터를 전송함으로써, 서비스를 가용하지 못하게 하는 공격이다. 디도스는 크게 세션 공격, 대역폭 공격, HTTP(HyperText Transfer Protocol) 공격으로 나눌 수 있는데, 이중에서 대역폭 공격은 UDP(User Datagram Protocol) Flooding, ICMP(Internet Control Message Protocol) Flooding과 같이 대용량 트래픽을 발생시킴으로써, UDP, ICMP와 같은 프로토콜을 공격한다.
실시예에 따르면, 디도스 대역폭 공격 탐지 장치(100)는 넷플로우(Netflow) 데이터를 이용하여 디도스 대역폭 공격을 자동으로 탐지한다. 디도스 대역폭 공격 탐지 장치(100)는 1차적으로 디도스 공격을 탐지하면, 운영자가 조치를 취할 수 있도록 디도스 공격 유형을 파악하여 제공한다.
디도스 대역폭 공격 유형은 UDP flooding, TCP(Transmission Control Protocol) flooding, ICMP flooding, GRE(Generic Routing Encapsulation) flooding, DNS(Domain Name System) 반사 공격, NTP(Network Time Protocol) 반사 공격 등이 있다. 이러한 공격들은 IP 프로토콜, TCP/UDP 포트 별로 구분할 수 있다. 예를들어, UDP flooding은 IP 프로토콜이 UDP인 패킷이 많이 발생하는 공격이다.
도 1을 참조하면, 디도스 대역폭 공격 탐지 장치(100)는 플로우(Netflow) 수집 장치(Collector)(200)와 연결된다. 넷플로우 수집 장치(200)는 넷플로우 익스포터(Exporter)(300)와 연결된다. 넷플로우 익스포터(300)는 인터넷(400), 복수의 원격 사이트(500) 및 LAN(Local Area Network)(600)와 연결되어 있다.
디도스 대역폭 공격 탐지 장치(100)는 넷플로우 수집 장치(200)와 연결되어 넷플로우 수집 장치(200)로부터 넷플로우 데이터를 수신한다. 넷플로우는 시스코(Sisco) 시스템에서 개발한 기능으로서, 네트워크 장비의 인터페이스를 통하여 입력되고 출력되는 네트워크 트래픽을 수집하여 플로우(Flow) 단위의 데이터를 제공한다.
플로우는 패킷 집합으로서, 구체적으로 Ingress 인터페이스, 출발지 IP, 도착지 IP, IP 프로토콜 종류, 출발지 port, 도착지 port, IP type of service가 동일한 패킷들의 모음이다.
넷플로우 수집 장치(200)는 넷플로우 익스포터(300)로부터 수신한 플로우 데이터를 스토리지(201)에 저장한다. 스토리지(201)에 저장된 플로우 데이터는 디도스 대역폭 공격 탐지 장치(100)의 요청에 의해 또는 사전에 설정된 주기가 도래하면, 디도스 대역폭 공격 탐지 장치(100)에게 전송될 수 있다.
넷플로우 익스포터(300)는 인터넷(400), 복수의 원격 사이트(500), LAN(600) 등과 같은 다양한 통신망에서 플로우 데이터를 수집하고, 이를 넷플로우 수집 장치(200)로 전송한다.
디도스 대역폭 공격 탐지 장치(100)는 넷플로우 데이터를 사용하여 디도스 대역폭 공격을 자동으로 탐지한다.
디도스 대역폭 공격 탐지 장치(100)의 동작은 학습 동작과 실행 동작으로 구성된다. 학습 동작에서, 디도스 대역폭 공격 탐지 장치(100)는 넷플로우 데이터로부터 계산된 특징들을 이용하여 특징별 이상치를 학습하고, 급등 탐지를 위한 임계치를 설정하며, 가용 대역폭과 관련된 검토 임계치를 설정한다. 실행 동작에서, 디도스 대역폭 공격 탐지 장치(100)는 학습된 정보를 이용하여 대역폭 공격 후보를 탐지하고, 탐지되면 공격 후보와 관련된 특징을 분석하고, 대역폭을 참고하여 이벤트 등급을 결정하며, 이벤트 내용을 생성한다.
디도스 대역폭 공격 탐지 장치(100)는 다양한 트래픽 분포에 적용할 수 있도록 대역폭 공격 탐지에 효과적인 특징(feature)을 정의하고, 이를 계산한다. 디도스 대역폭 공격 탐지 장치(100)는 각 특징 별로 이상치(Outlier) 탐지를 위한 이상치 탐지 모델을 생성한다. 디도스 대역폭 공격 탐지 장치(100)는 디도스 대역폭 공격을 탐지하면, 디도스 대역폭 공격 탐지 이벤트를 발행하는데, 이때, 공격의 심각도를 이벤트에 반영하기 위해 트래픽 급등 여부를 탐지하기 위한 급등 탐지 모델을 생성한다.
디도스 대역폭 공격 탐지 장치(100)는 이상치 탐지 모델과 급등 탐지 모델을 조합하여 이벤트 등급을 결정하고, 결정된 이벤트 등급에 따른 이벤트 내용을 생성한다.
도 2는 실시예에 따른 디도스 공격 탐지 장치의 세부 구성을 나타낸다.
도 2를 참조하면, 디도스 대역폭 공격 탐지 장치(100)는 넷플로우 수집부(101), 특징 계산부(103), 이상치 임계치 설정부(105), 이상치 임계치 탐지부(107), 급등 탐지 임계치 설정부(109), 급등 탐지부(111), 검토 임계치 설정부(113), 이벤트 등급 결정부(117) 및 이벤트 생성부(119)를 포함한다.
넷플로우 수집부(101)는 넷플로우 데이터를 일정시간 동안 수집한다. 넷플로우 수집부(101)는 스토리지(201)에 저장된 넷플로우 데이터를 단위시간(예, 분)마다 수집할 수 있다.
특징 계산부(103)는 넷플로우 수집부(101)가 수집한 단위 시간의 넷플로우 데이터로부터 특징 데이터를 계산한다.
디도스 대역폭 공격은 네트워크 외부에서 많은 공격 트래픽이 발생하는 경우와 네트워크 내부의 IP 장비가 멀웨어에 감염되어 공격자로 대역폭 공격에 참여하는 경우가 있다. 멀웨어는 정상적인 작동을 방해하거나 사용자의 디바이스를 감염시키도록 설계된 악성 코드를 총칭한다. 따라서, 특징 데이터의 계산시 트래픽의 방향을 고려하는 것이 필요하다.
또한, 제공 서비스에 따라 IP 프로토콜, TCP(Transmission Control Protocol)/UDP(User Datagram Protocol) 포트의 트래픽 분포가 다르다. 즉, 프로토콜, TCP/UDP 포트 별 트래픽은 환경 별로 어떤 서비스를 제공하는지에 따라 다른 트래픽 분포를 가진다. 예를들어, 웹서비스를 제공한다면 80/TCP, 443/TCP 트래픽이 상대적으로 많을 것이다.
트래픽의 정상 범위는 사용되고 있는 서비스 및 사용자 수에 따라 다르다. 또한, 어떤 IP 프로토콜 관점에서 이상치 트래픽이 다른 IP 프로토콜 관점에서는 이상치 트래픽이 아닐 수 있다. 따라서, IP 프로토콜별 정상 트래픽 분포 파악 및 TCP/UDP 포트별 분석이 필요하다. 이를 위해 IP 프로토콜별 특징을 정량화하는 특징이 필요하다.
특징 계산부(103)는 이러한 요구사항을 반영하여 기본 28개 특징을 계산하며, 28개의 특징은 표 1에 정의되어 있다.
인덱스 Feature 명 Feature 설명
1 packets_in inbound 패킷 수 합
2 packets_out outbound 패킷 수 합
3 packet_octets_in inbound 패킷 바이트 합
4 packet_octets_out, outbound 패킷 바이트 합
5 tcp_packets_in inbound TCP 패킷 수 합
6 tcp_packets_out outbound TCP 패킷 수 합
7 tcp_packet_octets_in inbound TCP 패킷 바이트 합
8 tcp_packet_octets_out outbound TCP 패킷 바이트 합
9 udp_packets_in inbound UDP 패킷 수 합
10 udp_packets_out outbound UDP 패킷 수 합
11 udp_packet_octets_in inbound UDP 패킷 바이트 합
12 udp_packet_octets_out outbound UDP 패킷 바이트 합
13 icmp_packets_in inbound ICMP 패킷 수 합
14 icmp_packets_out outbound ICMP 패킷 수 합
15 icmp_packet_octets_in inbound ICMP 패킷 바이트 합
16 icmp_packet_octets_out, outbound ICMP 패킷 바이트 합
17 gre_packets_in inbound GRE 패킷 수 합
18 gre_packets_out outbound GRE 패킷 수 합
19 gre_packet_octets_in inbound GRE 패킷 바이트 합
20 gre_packet_octets_out outbound GRE 패킷 바이트 합
21 esp_packets_in inbound ESP 패킷 수 합
22 esp_packets_out outbound ESP 패킷 수 합
23 esp_packet_octets_in inbound ESP 패킷 바이트 합
24 esp_packet_octets_out outbound ESP 패킷 바이트 합
25 ip-other_packets_in inbound 기타 IP 프로토콜 패킷 수 합
26 ip-other_packets_out outbound 기타 IP 프로토콜 패킷 수 합
27 ip-other_packet_octets_in inbound 기타 IP 프로토콜 패킷 바이트 합
28 ip-other_packet_octets_out outbound 기타 IP 프로토콜 패킷 바이트 합
특징 계산부(103)는 전체 트래픽 특징을 대표하는 특징(Feature, 이하, '대표 특징'으로 통칭하여 기재함)을 계산한다.
대표 특징은 전체 트래픽의 패킷 개수와 양을 나타내는 특징들로서, 표 1에서 packets_in, packets_out, packet_octets_in, packet_octets_out를 포함한다.
이때, 특징 계산부(103)는 넷플로우 데이터의 방향(Direction)을 기준으로 넷플로우 데이터를 그룹핑(grouping)한다.
넷플로우 수집 장치(200)는 넷플로우를 발생시키는 라우터(300)의 외부(external) 인터페이스를 기준으로 넷플로우 데이터의 방향을 판단한다. 넷플로우를 발생시키는 라우터의 외부(External) 인터페이스가 out 인터페이스일 경우 넷플로우 데이터의 방향은 out이고, 외부(External) 인터페이스가 in 인터페이스일 경우 넷플로우 데이터의 방향은 in이 된다. 외부(External) 인터페이스는 망 설계시 결정되고, in/out 인터페이스는 넷플로우 익스포터(300)에서 제공한다. 넷플로우 데이터의 방향은 넷플로우 데이터 내에 포함되어 있다.
Inbound 트래픽은 direction이 'in'이고, outbound 트래픽은 direction이 'out'이다.
특징 계산부(103)는 그룹핑이 완료되면, 각 그룹, 즉, 인바운드 그룹과 아웃바운드 그룹 별로 그룹핑된 넷플로우 데이터를 토대로, 패킷 수 합과 패킷 바이트 합을 계산한다. 즉, 인바운드 그룹 및 아웃 바운드 그룹 각각에 대하여 계산된 패킷 수 합(packets_in, packets_out)과 패킷 바이트 합(packet_octets_in, packet_octets_out)이 전체 특징이 된다.
특징 계산부(103)는 프로토콜별 특징을 계산한다. 이때, 특징 계산 대상인 프로토콜은 기본적으로 정의되어 있으며, TCP, UDP, ICMP(Internet Control Message Protocol), GRE(Generic Route Encapsulation), ESP(Encapsulating Security Payload) 프로토콜을 포함하고, 나머지 IP 프로토콜은 기타 프로토콜(ip-other)로 분류한다.
특징 계산부(103)는 사용자가 이용중인 프로토콜을 리스트 형태로 추가할 수 있다. 예를들어, 사용자가 이용중인 IP-in-IP, IPv6를 리스트명([IP-in-IP, IPv6])으로 입력하여 프로토콜을 추가할 수 있다.
특징 계산부(103)는 프로토콜 별로 방향(direction)을 기준으로 넷플로우 데이터를 그룹핑한다.
특징 계산부(103)는 그룹 별로 패킷 수 합, 바이트 합을 계산한다. 이는 앞서 전체 특징을 계산할 때 설명한 내용과 동일하다.
이때, 패킷 수 합 관련 특징 이름은 '{protocol명}_packets_{direction값}'이 되고, 바이트 합 관련 특징 이름은 '{protocol명}_packet_octets_{direction값}'이 된다.
사전에 정의된 5개의 프로토콜과 입력이 추가된 프로토콜에 소속되지 않는 기타 프로토콜 데이터에 대해서 패킷 수 합 관련 특징 이름은 '{ip-other}_packets_{direction값}'이 되고, 바이트 합 관련 특징 이름은 '{ip-other}_packet_octets_{direction값}'이 된다.
특징 계산부(103)는 다음 표 2와 같이 프로토콜 별로 특징을 계산할 수 있다.
direction 사전에 정의된 5개의 프로토콜, 입력이 추가된 프로토콜 기타 프로토콜
Inbound {protocol명}_packets_in {ip-other}_packets_in
{protocol명}_packet_octets_in {ip-other}_packet_octets_in
Outbound {protocol명}_packets_out {ip-other}_packets_out
{protocol명}_packet_octets_out {ip-other}_packet_octets_out
TCP, UDP의 경우, 특징 계산부(103)는 이벤트 생성시 Top 10 통계 분석을 제공하기 위해 '포트번호/프로토콜'별로 인바운드(inbound), 아웃바운드(outbound)의 플로우(flow) 수를 계산한다. 계산된 플로우 수는 TCP, UDP는 포트번호가 있기 때문에 TCP, UDP 대역폭 공격이 발생하였을 때 IP와 더불어 어떤 포트(서비스)가 공격을 받는지 파악할 때 사용된다.
이상 기술한 바와 같이, 특징 계산부(103)는 단위 시간마다 수집되는 넷플로우 데이터를 토대로, 전체 특징과 프로토콜 특징을 계산하는데, 특징들은 디도스 대역폭 공격 탐지 모델 학습과 디도스 대역폭 공격 탐지에서 계산된다. 학습할때 계산된 전체 특징과 프로토콜 특징은 임계치 설정을 위해 단위 시간마다 저장된다.
이상치 임계치 설정부(105)는 특징 별로 정상 분포를 계산하고, 상계 임계치를 학습한다. 정상 분포를 정량적으로 나타내기 위해서 Harrell-Davis 방법을 사용하여 25분위수, 50분위수 또는 중위수, 75분위수, 상계 임계치 및 하계 임계치를 계산한다. 실행 동작에서 상계 임계치를 초과 또는 이상인 특징이 발견되면, 디도스 대역폭 공격 이벤트가 발생한다.
여기서, Harrell-Davis 방법은 논문 "A new distribution-free quantile estimator, Biometrika (1982), 69, 3, pp. 635-40, BY FRANK E. HARRELL AND c. E. DA VIS)"에 소개되어 있으며, "Harrell-Davis Quantile estimator"라고도 불리운다.
상계 임계치를 초과하는 경우, 디도스 대역폭 공격일 수도 있지만 정상 사용자가 많이 증가하여 발생한 것일 수 있다. 이러한 오탐 문제를 줄이기 위한 방법으로 이상치 임계치 설정부(105)는 현재와 가장 가까운 최신의 과거 데이터로 상계 임계치를 재학습한다.
이상치 탐지부(107)는 특징 계산부(103)가 디도스 대역폭 탐지 대상인 실시간 데이터로 특징을 계산하면, 이러한 특징 별로 상계 임계치를 초과하는지 확인한다. 즉, 전체 특징과 프로토콜 별 특징의 종류 별로 각각이 상계 임계치를 초과하는지 확인한다. 이때, 상계 임계치를 초과하는 특징이 적어도 하나일 경우, 이상치 탐지 이벤트가 발행될 수 있다.
대역폭 공격은 갑자기 트래픽이 급증한다. 이렇게 트래픽이 급등하는 경우를 자동으로 탐지하기 위해 공지된 급등 탐지 모델을 활용하였다. 공지된 급등 탐지 모델은 CUSUM(cumulative sum) 알고리즘, Changefinder 알고리즘이 있다.
급등 탐지 임계치 설정부(109)는 디도스 대역폭 공격을 탐지하기 위해 전체 특징 별로 각각의 과거 데이터를 토대로, 각각의 급등 탐지 모델로 학습한다. 이때, 특징에 사용되는 급등 탐지 모델의 알고리즘은 동일하다.전체 트래픽을 대표하는 feature인 packets_in, packets_out, packet_octets_in, packet_octets_out의 급등 탐지 모델을 생성한다. 총 4개의 급등 탐지 모델이 생성된다.
급등 탐지부(111)에서는 상계 임계치를 초과한 feature 종류에 따라 다른 급등 탐지 모델이 사용된다. 이상치 feature가 in, out 모두 있을 경우, 최대 4개의 급등 모델 모두가 사용될 수 있다.
예를들어, 상계 임계치를 초과한 feature 종류가 tcp_packets_in인 경우, 해당 feature가 In 관련 feature이고, packet 개수 관련 feature이므로 packets_in 급등 모델이 사용된다. 또한, 상계 임계치를 초과한 feature 종류가 tcp_packet_octets_in인 경우, 해당 feature가 In 관련 feature이고, 패킷 바이트 관련 feature이므로 packet_octets_in 급등 모델이 사용된다.
마찬가지로, 상계 임계치를 초과한 feature 종류가 out 관련 feature일 경우에는 packets_out 또는 packet_octets_out 급등 모델이 사용된다.
급등 탐지 임계치 설정부(109)는 학습된 급등 탐지 모델을 토대로 오탐이 최소가 되는 급등 탐지 모델들 각각의 임계치를 특징 종류 별로 설정한다. 이처럼 설정된 특징 종류 별 임계치가 특징 종류 별 급등 탐지 임계치가 된다.
급등 탐지부(111)는 이상치가 탐지된 특징의 급등 탐지 임계치를 급등 탐지를 위해 사용한다. 예를들어, 이상치가 인바운드 특징에서 탐지된 경우, 전체 특징 중에서 packets_in, packet_octets_in 각각의 급등 탐지 임계치를 급등 탐지 여부 확인에 사용한다. 또는 이상치가 아웃바운드 특징에서 탐지된 경우, 전체 특징 중에서 packets_out, packet_octets_out 각각의 급등 탐지 임계치를 급등 탐지 여부 확인에 사용한다.
급등 탐지부(111)는 이상치가 탐지된 인바운드 특징 또는 아웃바운드 특징이 패킷 개수에 대한 것이라면 packets_in 또는 packets_out의 급등 탐지 임계치를 사용한다.
등 탐지부(111)는 이상치가 탐지된 인바운드 특징 또는 아웃바운드 특징이 패킷 바이트에 대한 것이라면 packets_octets_in, packet_octets_out의 급등 탐지 임계치를 사용한다.
이상치가 전체 특징 모두에서 탐지되면, 전체 특징 모두의 각각의 급등 탐지 임계치를 급등 탐지 여부 확인에 사용한다.
급등 탐지부(111)는 급등 탐지 임계치를 이용하여 급등 탐지 여부를 판단하는데, 예를들어, 이상치가 탐지된 특징이 packets_out 특징이고, 급등 탐지 임계치를 초과하면, 아웃바운드 패킷의 급등이 탐지된 경우로 판단한다.
검토 임계치 설정부(113)는 이벤트를 검토하고 대응하는 운용자의 시간이 한정되어 있기 때문에, 운용자가 검토를 시작할 네트워크 트래픽 임계치 또는 가용 트래픽 임계치를 설정하는데, 이를 검토 임계치라 정의한다.
가용 트래픽은 bps단위이며 라우터에서 SNMP(Simple Network Management Protocol)를 통해 실시간으로 조회 가능하다. 여기서, 라우터는 인터넷(400), 원격 사이트(500), LAN(600)에 존재할 수 있다.
검토 임계치 설정부(113)는 SNMP 이용 불가한 환경에서는 특징 계산부(103)에 의해 계산된 특징으로 아래와 같이 가용 트래픽(bytes per second, bps)을 추정할 수 있다.
[수학식 1]
Figure pat00001
예를들어, Netflow 샘플링 비율이 1:1000 일경우, 위 식에서 1/1000이 된다.
검토 임계치의 기본값(Default)은 가용 대역폭×70%이다. 그러나, 검토 임계치는 이벤트 등급별로 조정 가능하다.
검토 임계치 탐지부(115)는 검토 임계치 설정부(113)가 제공하는 검토 임계치를 토대로, 특징 계산부(103)에 의해 계산된 특징이 검토 임계치를 초과하는지 또는 검토 임계치 이상인지 판단한다.
이벤트 등급 결정부(117)는 이상치 탐지부(107), 급등 탐지부(111) 및 검토임계치 탐지부(115)의 탐지 결과를 토대로, 이벤트 등급을 결정한다.
이벤트 생성부(119)는 이벤트 등급 결정부(117)가 결정한 이벤트 등급에 따른 이벤트를 발행한다.
이벤트 생성부(119)는 특징 별로 이상치가 정상 분포로부터 얼마나 떨어져있는지 위치 정보를 Boxplot 형태로 생성한다.
또한, 이벤트 생성부(119)는 TCP, UDP의 경우, 포트/프로토콜 상위 10개를 이벤트 내용으로 생성한다. 이러한 Boxplot과 디도스 대역폭이 많이 탐지된 포트/프로토콜 상위 10개는 이벤트 내용으로 생성된다. 이때, 상위 10개는 이벤트 등급 결정부(117)에서 이벤트 등급 결정시 사용한 특징 중에서 결정된다.
이제, 도 2의 디도스 대역폭 공격 탐지 장치(100)를 구성하는 각 구성 요소(101, 103, 105, 107, 109, 111, 113, 115, 117)의 동작에 대해 설명하며, 도 2의 구성요소에 대한 설명은 동일한 도면 부호를 사용한다.
도 3은 도 2의 특징 계산부의 동작을 설명하는 순서도이다.
도 3을 참조하면, 특징 계산부(103)는 넷플로우 데이터를 단위 시간 주기로 수집한다(S101).
특징 계산부(103)는 도 2에서 설명한 바와 같이, S101에서 수집한 넷플로우 데이터의 특징, 즉, 회선 전체 인바운드/아웃바운드 트래픽 양과 프로토콜 별로 인바운드/아웃바운드 트래픽양을 계산한다(S103).
특징 계산부(103)는 S103에서 단위 시간마다 계산된 특징을 저장한다(S105). 이렇게 저장된 특징은 이상치 임계치 설정부(105), 급등 탐지 임계치 설정부(109)에서 임계치 학습에 사용된다.
도 4는 도 2의 이상치 임계치 설정부의 동작을 설명하는 순서도이다.
구체적으로, 이상치 임계치 설정부(105)가 정상 분포를 계산하고 상계 임계치를 학습하는 과정에 대해 설명한다.
도 4를 참조하면, 이상치 임계치 설정부(105)는 과거 특징을 수집한다(S201). 이상치 임계치 설정부(105)는 도 3에서 특징 계산부(103)에 의해 저장(S105)된 특징 중에서 과거 특징을 획득한다. 이때, 시간 주기성을 고려하기 위해 탐지 시점으로부터 최소 1일 이상의 과거 특징을 수집할 수 있다.
이상치 임계치 설정부(105)는 특징 별로 Harrell-Davis 방법을 사용하여 25분위수, 50분위수(중위수, median), 75분위수를 계산한다(S203).
이상치 임계치 설정부(105)는 특징 별로 Double MAD(Median Absolute Deviation)를 계산한다(S205). Double MAD는 공지된 Harrell-Davis 분위수 추정기를 기반으로 한 DoubleMAD 이상치 검출기(https://aakinshin.net/posts/harrell-davis-double-mad-outlier-detector/)를 통해 계산될 수 있다.
여기서, 이상치 임계치 설정부(105)가 디도스대역폭 공격 탐지에 Harrell-Davis 방법과 Double MAD를 사용한 이유는 트래픽의 분포가 환경에 따라 다양하기 때문에 다양한 분포에서도 정확한 상계 임계치를 학습하기 위해서이다.
Harrell-Davis 방법은 기본적인 중위수 계산 방법으로서, 크기순으로 정렬했을 때 중앙에 위치하는 값보다 다양한 분포에서 분위수를 더 잘 파악하는 것으로 알려져 있다. 중위수와 Double MAD로 임계치를 계산하는 방법은 "중위수 + MAD" 나 "평균 + 표준편차"방법에 비해 대칭적이지 않은(Nonsymmetric) 분포(예: 왼쪽으로 치우친 분포, 오른쪽으로 치우친 분포)에서도 효과적인 것으로 알려져 있다.
이상치 임계치 설정부(105)는 50분위수와 Double MAD를 기초로, 상계 임계치(Upperbound) 및 하계 임계치(Lowerbound)를 각각 계산한다(S207).
이때, 상계 임계치가 이상치 임계치로 사용되며, S205 및 S207의 과정에 대해 설명하면, 다음과 같다.
이상치 임계치 설정부(105)는 특징 별로 MAD(left), MAD(right)를 생성하며, 이를 수학식으로 나타내면 다음과 같다.
[수학식 2]
Figure pat00002
여기서, MAD(l)은 MAD(left)를 의미한다.
Figure pat00003
와 같다.
Figure pat00004
와 같다. Median은 중위수(50분위수)를 의미한다.
[수학식 3]
Figure pat00005
여기서, MAD(u)은 MAD(right)를 의미한다.
Figure pat00006
와 같다.
Figure pat00007
와 같다. Median은 중위수(50분위수)를 의미한다.이상치 임계치 설정부(105)는 중위수, 수학식 2 및 수학식3의 Double MAD를 이용하여 특징 별로 상계 임계치(Upperbound)와 하계 임계치(Lowerbound)를 각각 계산한다. k는 cutoff 값으로 주로 3을 사용한다. 그러나 이에 국한되는 것은 아니다.
상계 임계치는 수학식 4와 같다.
[수학식 4]
Upperbound = median + k×MAD(right)
하계 임계치는 수학식 5와 같다.
[수학식 5]
Lowerbound = median - k×MAD(left)
이상치 임계치 설정부(105)는 정상 분포에 최신 트렌드를 반영하기 위해 주기적(예: 일 단위)으로 최신 과거 데이터를 이용하여 도 4의 과정을 업데이트할 수 있다.
도 5는 도 2의 급등 탐지 임계치 설정부의 동작을 설명하는 순서도이다.
도 5를 참조하면, 급등 탐지 임계치 설정부(109)는 과거 특징을 수집한다(S301). 급등 탐지 임계치 설정부(109)는 도 3에서 특징 계산부(103)에 의해 저장(S105)된 특징 중에서 과거 특징을 획득한다.
이때, 시간 주기성을 고려하기 위해 탐지 시점으로부터 최소 1일 이상의 과거 특징을 수집할 수 있다.
급등 탐지 임계치 설정부(109)는 S301에서 수집한 과거 특징의 일부를 검증 데이터로 선정하고, 나머지를 학습 데이터로 선정한다(S303).
급등 탐지 임계치 설정부(109)는 초기 급등 임계치를 설정한다(S305). 예를들어, 초기 급등 임계치는 임의의 큰 값으로 설정될 수 있다.
급등 탐지 임계치 설정부(109)는 S301에서 수집한 과거 특징 종류 별로 선정(S303)된 학습 데이터를 토대로, 사전 정의된 급등 탐지 모델을 학습한다(S307). 사전 정의된 급등 탐지 모델은 앞서 설명한 바와 같이, CUSUM(cumulative sum) 알고리즘 또는 Changefinder 알고리즘 중에서 채택될 수 있다.
급등 탐지 임계치 설정부(109)는 S303에서 선정된 검증 데이터를 토대로, 특징 종류 별로 각각의 급등 탐지 모델의 정밀도(Precision), 재현율(Recall)을 계산한다(S309). 정밀도(Precision)는 급등 탐지 모델이 True라고 분류한 것 중에서 실제 True인 것의 비율을 의미한다. 재현율(Recall)은 실제 True인 것 중에서 급등 탐지 모델이 True라고 예측한 것의 비율을 의미한다.
급등 탐지 임계치 설정부(109)는 S309의 계산 횟수를 카운트(S311)하고, 카운트 횟수가 반복 횟수를 충족하는지 판단한다(S313).
반복 횟수를 충족하지 않으면, 급등 탐지 임계치 설정부(109)는 급등 임계치를 변경한다(S315). 이때, S305의 초기 급등 임계치를 학습 데이터 값에 비해 상대적으로 큰 값으로 처음에 설정하고, S315에서 일정 간격으로 줄여갈 수 있다.
급등 탐지 임계치 설정부(109)는 변경(S315)된 급등 임계치를 적용하여 S307 ~ S313을 반복한다. S313에서 반복 횟수가 충족되면, 급등 탐지 임계치 설정부(109)는 정밀도(Precision)가 최대, 즉, 오탐이 최소가 되는 급등 임계치를 특징 종류 별로 선택한다(S317). 이때, 재현율(Recall) 또는 탐지율이 사전에 정의된 요구사항보다 작을 경우, 재현율(Recall)이 요구사항에 맞는 급등 임계치들 중에 정밀도(Precision)가 최대인 급등 임계치를 선택한다(S319). S319에서 특징 종류 별로 각각의 급등 임계치가 선택되어, 이후 급등 탐지에 사용된다.
도 6은 도 2의 검토 임계치 설정부의 동작을 설명하는 순서도이다.도 6을 참조하면, 검토 임계치 설정부(113)는 과거 특징을 수집한다(S401).
검토 임계치 설정부(113)는 도 3에서 특징 계산부(103)에 의해 저장(S105)된 특징 중에서 과거 특징을 획득한다. 이때, 시간 주기성을 고려하기 위해 탐지 시점으로부터 최소 1일 이상의 과거 특징을 수집할 수 있다.
또한, 수집하는 과거 특징은 Packet_octets_in, packet_octets_out일 수 있다. 따라서, 검토 임계치 설정부(113)는 S401에서 수집한 Packet_octets_in, packet_octets_out을 토대로, 수학식 1을 이용하여 가용 트래픽을 추정한다(S403). 혹은, 가용 트래픽은 라우터를 통해 직접 제공받을 수도 있다. 이러한 가용 트래픽은 넷플로우 데이터가 수집된 회선의 것을 의미한다.
검토 임계치 설정부(113)는 가용 대역폭의 일정 비율(예, 70%)을 검토 임계치로 설정한다(S405).
도 7은 실시예에 따른 디도스 대역폭 공격 탐지 절차를 설명하는 순서도이고, 도 8은 실시예에 따른 이벤트 결과 화면의 예시이고, 도 9는 실시예에 따른 이벤트 상세 화면의 예시이다.
도 7을 참조하면, 특징 계산부(103)는 디도스 대역폭 공격 탐지 대상인 실시간 넷플로우 데이터를 수집(S501)하여, 특징을 계산한다(S503). 특징 계산부(103)는 회선 전체 Inbound/Outbound 트래픽양, 프로토콜별 Inbound/Outbound 트래픽양을 계산하며, 이는 도 2에서 설명하였다.
이상치 탐지부(107)는 S503에서 계산한 특징이 이상치 임계치를 초과하는지 확인한다(S505).
이상치 탐지부(107)는 이상치 임계치를 초과하는 특징이 적어도 하나일 경우, 이상치 탐지를 출력할 수 있다.
급등 탐지부(111)는 S503에서 계산한 특징을 해당하는 급등 임계치를 초과하는지 확인한다(S507). 급등 탐지부(111)는 일정 시간 간격으로 실시간으로 발생되는 packets_in, packets_out, packet_octets_in, packet_octets_out 값을 각 특징 종류 별로 해당하는 급등 탐지 모델에 업데이트하고, 각 급등 탐지모델은 입력된 특징이 급등인지 여부를 반환한다.
검토 임계치 탐지부(115)는 가용 트래픽을 확인 또는 계산하고, 가용 트래픽이 검토 임계치를 초과하는지 확인한다(S509).
이벤트 등급 결정부(117)는 S505, S507, S509의 확인 결과를 조합하여 이벤트 등급을 결정한다(S511). 이벤트를 검토하고 대응하는 운용자의 시간이 한정되어 있기 때문에, 이벤트 별로 중요도를 정하여 중요한 이벤트를 우선적으로 검토할 수 있도록 하였다. 등급은 'minor', 'major', 'critical'이 있고, 각 등급 별 결정 조건을 표 3와 같이 정리할 수 있다.
등급 결정 조건
minor 이상치 특징이 1개 이상이고, 트래픽이 검토 임계치를 초과
major 이상치 특징이 1개 이상 & 이상치 특징 중에 전체 트래픽 특징을 대표하는 특징(packets_in, packets_out, packet_octets_in, packet_octets_out)이 1개 이상 & 트래픽이 검토 임계치 초과
critical 이상치 특징이 1개 이상 & 이상치 특징 중에 전체 트래픽 특징을 대표하는 특징이 1개 이상 & 급등한 이상치 특징 1개 이상 & 트래픽이 검토 임계치 초과
이벤트 생성부(119)는 정해진 기준에 따른 이벤트 내용을 생성(S513)하여이벤트를 발행한다(S515).
이벤트 생성부(119)는 S511에서 결정된 이벤트 등급, 이벤트 발생 시각, 이상치 발생 특징, 이상치가 발생한 포트/프로토콜 상위 10개 정보로 이벤트 내용을 생성할 수 있다(S513).
이벤트 생성부(119)는 도 8과 같이 이벤트 결과 화면(700)을 생성하여 출력할 수 있다.
도 8을 참조하면, 이벤트 결과 화면(700)의 각 row는 이벤트 하나를 의미한다. 각 이벤트에는 "이벤트 발생 시각(detection_time)(701)", "이벤트 등급(level)(702)", "이상 특징(anomaly_features)(703)", "top 10 port/protocol (inbound 트래픽 대상)(704)", "top 10 port/protocol(outbound 트래픽 대상)(705)"으로 구성되어 있다.
이벤트 생성부(119)는 도 9와 같이 이벤트 상세보기 화면을 생성하여 출력할 수 있다.
도 9를 참조하면, 각 이벤트의 상세보기 화면에는 이상치 특징들에 대해 정상 분포와 이상 특징값의 위치를 각 특징 별 boxplot(P1, P2, P3, P4, P5)으로 생성한다.
각 이상 특징 별로 하나의 boxplot(P1, P2, P3, P4, P5)이 있고, 각 boxplot(P1, P2, P3, P4, P5)에서 맨 아래의 whisker(수염)은 이상치 임계치 설정부(105)에 의해 설정된 하계 임계치이고, 맨 위의 whisker는 이상치 임계치 설정부(105)에 의해 설정된 상계 임계치이다. 그리고 상자의 하단 면은 25분위수이고, 상단 면은 75분위 수이다. 상자 내의 가로선은 50분위 수이다. 이상치 특징은 X로 표시되어 있다.
한편, 도 10은 한 실시예에 따른 디도스 대역폭 공격 탐지 장치의 하드웨어 구성도이다.
도 10을 참고하면, 도 1 내지 도 9에서 설명한 디도스 대역폭 공격 탐지 장치(100)는 적어도 하나의 컴퓨팅 장치(800)로 구현될 수 있고, 본 개시의 동작을 실행하도록 기술된 명령들(instructions)이 포함된 컴퓨터 프로그램을 실행할 수 있다.
컴퓨팅 장치(800)의 하드웨어는 버스를 통해 연결되는 적어도 하나의 프로세서(801), 메모리(803), 스토리지(805), 통신 인터페이스(807), 디스플레이 장치(809), 입력 장치(811)를 포함할 수 있다. 컴퓨팅 장치(800)는 컴퓨터 프로그램을 구동할 수 있는 운영 체제를 비롯한 각종 소프트웨어가 탑재될 수 있다.
프로세서(801)는 컴퓨팅 장치(800)의 동작을 제어하는 장치로서, 컴퓨터 프로그램에 포함된 명령들을 처리하는 다양한 형태의 프로세서일 수 있고, 예를 들면, CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 등 일 수 있다. 또한, 프로세서(801)는 위에서 설명한 방법을 실행하기 위한 프로그램에 대한 연산을 수행할 수 있다.
메모리(803)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(803)는 본 개시의 동작을 실행하도록 기술된 명령들이 프로세서(801)에 의해 처리되도록 해당 컴퓨터 프로그램을 스토리지(805)로부터 로드할 수 있다. 메모리(803)는 예를 들면, ROM(read only memory), RAM(random access memory) 등 일 수 있다. 스토리지(805)는 본 개시의 동작을 실행하는데 요구되는 각종 데이터, 컴퓨터 프로그램 등을 저장할 수 있다. 스토리지(805)는 컴퓨터 프로그램을 비임시적으로 저장할 수 있다. 스토리지(805)는 비휘발성 메모리로 구현될 수 있다. 통신 인터페이스(807)는 유/무선 통신 모듈일 수 있다. 디스플레이 장치(809)는 도 1 내지 도 9에서 설명한 이벤트 결과 화면, 이벤트 상세보기 화면 등을 출력할 수 있다. 입력 장치(811)는 사용자의 사용 프로토콜 리스트를 입력받아 프로세서(801)로 출력할 수 있다.
이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (12)

  1. 적어도 하나의 프로세서에 의해 동작하는 컴퓨팅 장치가 디도스(DDos) 대역폭 공격을 탐지하는 방법으로서,
    단위 시간 동안 수집한 넷플로우 데이터로부터 상기 넷플로우 데이터를 대표하는 전체 특징 및 프로토콜 별 특징을 계산하는 단계,
    상기 전체 특징 및 상기 프로토콜 별 특징이 사전에 정의된 이상치 임계치 이상이거나 또는 초과하는지 판단하는 단계,
    상기 이상치 임계치 이상이거나 또는 초과하는 적어도 하나의 특징이 사전에 정의된 급등 탐지 임계치 이상이거나 또는 초과하는지 판단하는 단계, 그리고
    상기 이상치 임계치의 판단 결과 및 상기 급등 탐지 임계치의 판단 결과에 기초하여 이벤트 등급을 결정하고, 결정한 이벤트 등급에 따라 이벤트를 생성하는 단계
    를 포함하는, 방법.
  2. 제1항에서,
    상기 생성하는 단계 이전에,
    상기 넷플로우 데이터가 수집된 회선의 가용 트래픽이 사전에 정의된 검토 임계치 이상이거나 또는 초과하는지 판단하는 단계를 더 포함하고,
    상기 이벤트 등급은,
    상기 검토 임계치의 판단 결과를 추가하여 결정되고,
    상기 검토 임계치는,
    운영자가 검토를 시작할 네트워크 트래픽 임계치로 정의되는, 방법.
  3. 제2항에서,
    상기 이벤트 등급은,
    위험도 등급이 가장 낮은 마이너 등급, 위험도 등급이 중등급인 메이저 등급 및 위험도 등급이 가장 높은 크리티컬 등급으로 세분화되고,
    상기 이벤트 등급은,
    상기 전체 특징 및 상기 프로토콜 별 특징이 상기 이상치 임계치, 상기 급등 임계치 및 상기 검토 임계치 중에서 적어도 하나의 임계치 이상이거나 또는 초과하는지 조합하여 결정되는, 방법.
  4. 제3항에서,
    상기 생성하는 단계는,
    상기 이상치 임계치 이상이거나 또는 초과하는 특징이 적어도 하나이고, 가용 트래픽이 상기 검토 임계치를 초과하면, 상기 이벤트 등급을 상기 마이너 등급으로 결정하는, 방법.
  5. 제3항에서,
    상기 생성하는 단계는,
    상기 이상치 임계치 이상이거나 또는 초과하는 특징이 적어도 하나이고, 상기 이상치 임계치 이상이거나 또는 초과하는 특징 중에서 상기 전체 특징이 적어도 하나이며, 가용 트래픽이 상기 검토 임계치를 초과하면, 상기 이벤트 등급을 상기 메이저 등급으로 결정하는, 방법.
  6. 제3항에서,
    상기 생성하는 단계는,
    상기 이상치 임계치 이상이거나 또는 초과하는 특징이 적어도 하나이고, 상기 이상치 임계치 이상이거나 또는 초과하는 특징 중에서 상기 전체 특징이 적어도 하나이며, 급등 탐지 임계치 이상이거나 또는 초과하는 특징이 적어도 하나이고, 가용 트래픽이 상기 검토 임계치를 초과하면, 상기 이벤트 등급을 크리티컬 등급으로 결정하는, 방법.
  7. 제3항에서,
    상기 생성하는 단계는,
    이벤트 등급 및 이상치가 발생한 특징의 트래픽 포트 및 프로토콜 정보를 포함한 이벤트를 생성하는, 방법.
  8. 제7항에서,
    상기 생성하는 단계는,
    이상치가 발생한 이상치 특징 별로, 정상 분포와 이상치 특징의 위치를 나타낸 정보를 제공하는, 방법.
  9. 통신 장치,
    디스플레이 장치,
    디도스 대역폭 공격 탐지 프로그램이 저장된 메모리, 그리고
    상기 디도스 대역폭 공격 탐지 프로그램을 실행하는 적어도 하나의 프로세서를 포함하고,
    상기 디도스 대역폭 공격 탐지 프로그램은,
    단위 시간 동안 수집한 넷플로우 데이터로부터 상기 넷플로우 데이터를 대표하는 전체 특징 및 프로토콜 별 특징을 계산하고, 상기 전체 특징 및 상기 프로토콜 별 특징이 사전에 정의된 이상치 임계치, 급등 임계치 및 검토 임계치 이상이거나 또는 초과하는지를 판단한 결과를 조합하여 이벤트 등급을 결정하고, 상기 결정된 이벤트 등급에 따른 이벤트를 생성하여 상기 디스플레이 장치를 통해 출력하는 명령어들(Instructions)을 포함하는, 컴퓨팅 장치.
  10. 제9항에서,
    상기 디도스 대역폭 공격 탐지 프로그램은,
    학습 시점보다 이전인 과거 넷플로우 데이터로부터 계산된 전체 특징 및 프로토콜 별 특징에 대하여, Harrell-Davis 방법을 통해 특징 종류 별로 계산된 정렬의 중앙에 위치하는 중위수와 Double MAD(Median Absolute Deviation)를 이용하여 상기 이상치 임계치를 계산하는 명령어들을 포함하는, 컴퓨팅 장치.
  11. 제9항에서,
    상기 디도스 대역폭 공격 탐지 프로그램은,
    학습 시점보다 이전인 과거 넷플로우 데이터로부터 계산된 전체 특징 및 프로토콜 별 특징을 포함하는 과거 특징 중에서 일부를 검증 데이터로 선정하고 나머지를 학습 데이터로 선정하며, 특징 종류 별로 선정한 학습 데이터를 사전 정의된 각각의 급등 탐지 모델로 학습하여 각각의 급등 탐지 임계치를 선정하는 명령어들을 포함하는, 컴퓨팅 장치.
  12. 제9항에서,
    상기 디도스 대역폭 공격 탐지 프로그램은,
    학습 시점보다 이전인 과거 넷플로우 데이터로부터 계산된 전체 특징 및 프로토콜 별 특징을 포함하는 과거 특징을 이용하여 추정된 가용 트래픽 또는 네트워크 장치로부터 제공된 가용 트래픽의 일정 비율을 상기 검토 임계치로 선정하는 명령어들을 포함하는, 컴퓨팅 장치.

KR1020210022622A 2021-02-19 2021-02-19 넷플로우 데이터를 이용한 디도스 대역폭 공격을 탐지하는 방법 및 그 장치 KR20220118777A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210022622A KR20220118777A (ko) 2021-02-19 2021-02-19 넷플로우 데이터를 이용한 디도스 대역폭 공격을 탐지하는 방법 및 그 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210022622A KR20220118777A (ko) 2021-02-19 2021-02-19 넷플로우 데이터를 이용한 디도스 대역폭 공격을 탐지하는 방법 및 그 장치

Publications (1)

Publication Number Publication Date
KR20220118777A true KR20220118777A (ko) 2022-08-26

Family

ID=83113205

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210022622A KR20220118777A (ko) 2021-02-19 2021-02-19 넷플로우 데이터를 이용한 디도스 대역폭 공격을 탐지하는 방법 및 그 장치

Country Status (1)

Country Link
KR (1) KR20220118777A (ko)

Similar Documents

Publication Publication Date Title
JP6453976B2 (ja) ネットワークシステム、制御装置、通信制御方法および通信制御プログラム
US10313211B1 (en) Distributed network service risk monitoring and scoring
KR101519623B1 (ko) 오탐률을 줄이기 위한 분산 서비스 거부 공격 탐지 장치 및 방법, 분산 서비스 거부 공격 탐지 및 방어 장치
US8001601B2 (en) Method and apparatus for large-scale automated distributed denial of service attack detection
US10355949B2 (en) Behavioral network intelligence system and method thereof
US7729271B2 (en) Detection method for abnormal traffic and packet relay apparatus
US20190132360A1 (en) Honeynet method, system and computer program for mitigating link flooding attacks of software defined network
US9729563B2 (en) Data transfer for network interaction fraudulence detection
JP4232828B2 (ja) アプリケーション分類方法、ネットワーク異常検知方法、アプリケーション分類プログラム、ネットワーク異常検知プログラム、アプリケーション分類装置、ネットワーク異常検知装置
CN108777686B (zh) 一种针对区块链粉尘交易的识别方法及系统
CN105577669B (zh) 一种识别虚假源攻击的方法及装置
RU133954U1 (ru) Устройство защиты сети
Neu et al. Lightweight IPS for port scan in OpenFlow SDN networks
US11863584B2 (en) Infection spread attack detection device, attack origin specification method, and program
KR20200014968A (ko) 비정상 트래픽 탐지 방법 및 그 장치
KR20110140063A (ko) Ip 공유기를 검출하는 방법 및 이를 수행하는 시스템
CN113765896A (zh) 基于人工智能的物联网实现系统及方法
JP2009044501A (ja) トラフィック量変化原因特定方法、システム、プログラム、及び記録媒体
KR20220118777A (ko) 넷플로우 데이터를 이용한 디도스 대역폭 공격을 탐지하는 방법 및 그 장치
KR20220029142A (ko) Sdn 컨트롤러 서버 및 이의 sdn 기반 네트워크 트래픽 사용량 분석 방법
CN106817268B (zh) 一种ddos攻击的检测方法及系统
KR20200014139A (ko) 이종 사물인터넷(H-IoT) 네트워크 상에서 분산 서비스 거부 공격으로부터의 방어방법 및 그 시스템
CN111107035B (zh) 基于行为辨识的安全态势感知与防护方法及装置
JP5655049B2 (ja) 判定装置、判定方法および判定プログラム
CN106034105A (zh) OpenFlow交换机及处理DDoS攻击的方法

Legal Events

Date Code Title Description
A201 Request for examination