KR102046612B1 - Sdn 기반의 dns 증폭 공격 방어시스템 및 그 방법 - Google Patents

Sdn 기반의 dns 증폭 공격 방어시스템 및 그 방법 Download PDF

Info

Publication number
KR102046612B1
KR102046612B1 KR1020180097944A KR20180097944A KR102046612B1 KR 102046612 B1 KR102046612 B1 KR 102046612B1 KR 1020180097944 A KR1020180097944 A KR 1020180097944A KR 20180097944 A KR20180097944 A KR 20180097944A KR 102046612 B1 KR102046612 B1 KR 102046612B1
Authority
KR
South Korea
Prior art keywords
dns
sdn
rule
packet
response
Prior art date
Application number
KR1020180097944A
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 KR1020180097944A priority Critical patent/KR102046612B1/ko
Application granted granted Critical
Publication of KR102046612B1 publication Critical patent/KR102046612B1/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
    • H04L61/1511
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • 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/30Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information
    • H04L63/306Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information intercepting packet switched data communications, e.g. Web, Internet or IMS communications

Abstract

본 발명은 SDN 기반의 DNS 증폭 공격 방어 시스템 및 그 방법에 관한 것으로, 본 발명의 일 실시예에 따른 방어시스템은 외부 네트워크와 연결된 포트로 유입되는 DNS에 대한 정보 흐름을 규칙 생성부에 전송하는 악의적 DNS 방어기; 상기 악의적 DNS 방어기로부터 수신한 DNS에 대한 정보 흐름에 대하여 DNS 응답 차단 규칙을 생성하는 규칙 생성부 및 SDN 제어부가 호스트로부터 DNS 요청 메시지를 수신하면, 상기 DNS 요청 메시지의 패킷을 분석하는 DNS 검증부을 포함할 수 있다.

Description

SDN 기반의 DNS 증폭 공격 방어시스템 및 그 방법 {THE SYSTEM FOR DEFENDING DNS AMPLIFICATION ATTACKS IN SOFTWARE-DEFINED NETWORKS AND THE METHOD THEREOF}
본 발명은 SDN 기반의 DNS 증폭 공격 방어 시스템 및 그 방법에 관한 것이다.
도메인 네임에 대한 IP 주소를 알기 위해 대부분 사용자들은 로컬 네트워크상에 위치한 DNS 서버나 ISP가 제공하는 DNS 서버에 DNS Query 요청을 하여 요청한 도메인 네임에 대한 IP 주소가 담긴 Response message(응답 메시지)를 수신함으로써 웹사이트에 접근할 수 있다. 하지만 해당 도메인 네임의 IP 주소가 DNS 서버 캐시 내에 존재하지 않을 때, 루트 DNS 서버 등의 다른 DNS에 요청하게 돼 이로 인한 지연시간이 발생된다. 반면에, Open DNS 서버(Public DNS 서버)에 경우에는 수백만 개의 웹사이트 주소를 저장할 수 있는 대용량의 캐시를 이용하여 DNS 요청에 대한 응답을 즉시 받을 수 있고, 국가 정책상이나 지리적인 이유 등의 문제로 차단된 웹사이트를 우회하여 접근하거나 도메인 네임 작성 시 발생된 오타를 인식하고 관련 웹사이트를 제공하는 Typo correction 기능, 해당 도메인 주소를 줄여서 간단한 단어로도 IP 주소를 받을 수 있는 Shortcut 기능 등의 다양한 부가 기능을 사용할 수 있어 많은 사용자들이 Open DNS 서버를 이용하고 있다. 하지만, DNS 서버는 인증이나 확인 절차 없이 정보를 주고받는 UDP 통신으로 신뢰성이 떨어지는 문제가 있고 특히, Open DNS 서버에 경우에는 공개되어 있어 누구나 접근이 강하기 때문에 공격자들이 DNS 서버를 이용한 공격의 수단으로 이용되고 있다.
DNS 서버를 이용한 DDoS 공격 중 하나로 DNS 증폭 공격(DNS Amplification attacks)이 있다. 공격자는 제어가 가능한 Botnet(악성코드 Bot에 감염된 PC로 이뤄진 집합)을 이용하여 공격대상에 대한 명령 하달을 한다. 도용한 공격대상의 IP로 다 수의 Open DNS 서버에 해당 도메인의 모든 정보가 담겨 데이터의 크기가 큰 Response message가 발생되는 ANY Type의 DNS Query를 요청하고, 요청받은 Open DNS 서버들은 DNS Query의 Source IP인 공격대상의 IP로 대량의 Response message를 전송하여 과도한 트래픽을 유발시킴으로써 공격대상이 불능상태에 빠지게 되는 공격이다. 합법적인 Open DNS 서버에 대한 Response message이므로 무조건 차단하기 어려워 공격을 막는 것이 힘들다.
한국에서는 2013년 6월 25일 주요 정부 기관을 대상으로 한 DNS 증폭 공격이 발견된 이후로, 2016년 미국에 이어 두 번째로 많은 DDoS 공격을 받았는데 전체 DDoS 공격 중 DNS 증폭 공격이 47.9 %로 제일 높았다. 이와 같이 DNS 증폭 공격에 많이 노출되어 있으며, 점점 지능화되어가는 공격을 탐지하고 방어하기 위한 지속적인 연구가 필요한 상황이다.
한국 등록특허공보(B1) 제 10-0882809호
Kambourakis, Georgios, et al. "Detecting DNS amplification attacks." International Workshop on Critical Information Infrastructure Security. Springer, Berlin, Heidelberg, 2007. Di Paola, Sevastiano, and Dario Lombardo. "Protecting against DNS reflection attacks with Bloom filters." International Conference on Detection of Intrusions and Malware, and Vulnerability Assessment. Springer, Berlin, Heidelberg, 2011. Kim, Soyoung, et al. "Preventing DNS Amplification Attacks Using the History of DNS Queries with SDN." European Symposium on Research in Computer Security. Springer, Cham, 2017.
종래의 DNS 증폭 공격을 막기 위해 진행된 연구는 Database를 운용함으로써 발생되는 추가적인 통신비용 문제, Bloom filter 사용 시 단방향의 데이터만을 저장시키고 저장된 데이터를 삭제하기 어려워 발생하는 오탐율 상승문제, 저장된 DNS Query 요청에 대한 정보와 일치하는지 확인 할 때에 스위치와 컨트롤러 사이에 Overhead가 발생되는 문제들을 가지고 있다.
본 발명은 종래의 연구가 가지고 있던 문제점들을 해결하는 것으로, 추가적인 통신비용 발생, 오탐율 상승 또는 Overhead 발생 없이 DNS 증폭 공격을 방어하는 것으로 목적으로 한다.
상기의 목적을 달성하기 위해 본 발명의 일 실시예에 따른 SDN 기반의 DNS 증폭 공격 방어시스템은 외부 네트워크와 연결된 포트로 유입되는 DNS에 대한 정보 흐름을 규칙 생성부에 전송하는 악의적 DNS 방어기; 상기 악의적 DNS 방어기로부터 수신한 DNS에 대한 정보 흐름에 대하여 DNS 응답 차단 규칙을 생성하는 규칙 생성부 및 SDN 제어부가 호스트로부터 DNS 요청 메시지를 수신하면, 상기 DNS 요청 메시지의 패킷을 분석하는 DNS 검증부을 포함할 수 있다.
본 발명의 일 실시예에 따른 SDN 기반의 DNS 증폭 공격 방어시스템은 상기 DNS 요청 메시지의 패킷에 대한 정보가 상기 DNS 검증부에서 기 설정된 조건을 만족하면, 상기 규칙 생성부는 DNS 요청 전달 규칙 및 DNS 응답 전달 규칙을 생성할 수 있다.
본 발명의 일 실시예에 따른 악의적 DNS 방어기는 SDN 제어부와 SDN 스위치가 연결될 경우에 상기 DNS에 대한 정보 흐름을 상기 규칙 생성부에 전송할 수 있다.
본 발명의 일 실시예에 따른 DNS 검증부는 상기 DNS 요청 메시지의 패킷을 상기 SDN 제어부로부터 수신하고, 상기 패킷에 포함된 정보를 분류하는 패킷 관리부를 더 포함할 수 있다.
본 발명의 일 실시예에 따른 SDN 제어부는 상기 생성된 DNS 응답 차단 규칙, 상기 생성된 DNS 요청 전달 규칙 및 상기 생성된 DNS 응답 전달 규칙을 SDN 스위치에 설치할 수 있다.
본 발명의 일 실시예에 따른 DNS 검증부는 상기 패킷에 포함된 정보 중 목적지 IP와 목적지 포트번호를 기설정된 값과 비교할 수 있다.
본 발명의 일 실시예에 따른 SDN 기반의 DNS 증폭 공격 방어 방법은 규칙 생성부가 외부 네트워크와 연결된 포트로 유입되는 DNS에 대한 정보 흐름에 대하여 DNS 응답 차단 규칙을 생성하는 단계; SDN 제어부가 상기 생성된 DNS 응답 차단 규칙을 SDN 스위치에 설치하는 단계; 상기 SDN 제어부가 호스트로부터 DNS 요청 메시지를 수신하면, DNS 검증부가 상기 DNS 요청 메시지의 패킷을 분석하는 단계; 상기 DNS 요청 메시지의 패킷에 대한 정보가 상기 DNS 검증부에서 기 설정된 조건을 만족하면, 상기 규칙 생성부는 DNS 요청 전달 규칙 및 DNS 응답 전달 규칙을 생성하는 단계 및 상기 SDN 제어부가 상기 DNS 요청 전달 규칙 및 상기 DNS 응답 전달 규칙을 상기 SDN 스위치에 설치하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 따른 SDN 기반의 DNS 증폭 공격 방어 방법은 상기 SDN 스위치가 오픈 DNS 서버로부터 DNS 응답 메시지를 수신하는 단계; 상기 SDN 스위치가 상기 DNS 응답 메시지와 상기 SDN 스위치에 설치된 DNS 응답 전달 규칙의 매칭 여부를 결정하는 단계; 및 상기 DNS 응답 메시지가 상기 DNS 응답 전달 규칙에 매칭되면, 상기 SDN 스위치는 상기 DNS 응답 메시지를 상기 호스트로 전송하고, 상기 DNS 응답 메시지가 상기 DNS 응답 전달 규칙에 매칭되지 않으면, 상기 SDN 스위치는 상기 DNS 응답 메시지를 차단하는 단계를 더 포함할 수 있다.
본 발명의 일 실시예에 따른 SDN 기반의 DNS 증폭 공격 방어 방법은 상기 DNS 응답 차단 규칙을 생성하는 단계 이전에, 상기 SDN 제어부와 상기 SDN 스위치가 연결될 경우, 악의적 DNS 방어기는 외부 네트워크와 연결된 포트로 유입되는 DNS에 대한 정보 흐름을 상기 규칙 생성부에 전송하는 단계를 더 포함하는 할 수 있다.
본 발명의 일 실시예에 따른 DNS 요청 메시지의 패킷을 분석하는 단계는, 상기 DNS 검증부가 상기 DNS 요청 메시지의 패킷을 상기 SDN 제어부로부터 수신하고, 상기 패킷에 포함된 정보를 분류하는 단계를 더 포함할 수 있다.
본 발명의 일 실시예에 따라 DNS 요청 메시지의 패킷을 분석하는 단계는, 상기 패킷에 포함된 정보 중 목적지 IP와 목적지 포트번호를 기설정된 값과 비교하는 것일 수 있다.
본 발명에 의하면, DNS 증폭 공격에 따라 발생하는 DNS 응답 메시지에 대한 질의과정이 Controller에서 실행되지 않고, OVS(Open vSwitch)에서 차단 여부를 결정지을 수 있는 효과가 있다.
따라서, 본 발명의 일 실시예에 따른 공격 방어 모듈을 포함하는 시스템은 OVS에서 DNS 증폭 공격을 차단함으로써 Controller의 CPU에 영향을 미치지 않았고, DNS Query 전송 시간이 최대 2.000 ms의 차이로 빠른 속도를 가진다.
도 1은 본 발명의 일 실시예에 따른 DNS 증폭 공격 방어시스템의 블록도이다.
도 2는 본 발명의 일 실시예에 따른 DNS 증폭 공격 방어시스템의 동작 순서도이다.
도 3은 본 발명의 일 실시예에 따른 DNS 증폭 공격 방어시스템의 개념도이다.
도 4는 본 발명의 일 실시예에 따른 DNS 증폭 공격 방어 방법의 순서도이다.
도 5는 본 발명의 일 실시예에 따른 DNS 증폭 공격 방어 시스템 및 그 방법에 의한 CPU 사용량 측정 결과를 나타내는 그래프이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면을 참조하여 상세하게 설명하도록 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재 항목들의 조합 또는 복수의 관련된 기재 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급될 때에는 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
명세서 및 청구범위 전체에서, 어떤 부분이 어떤 구성 요소를 포함한다고 할때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있다는 것을 의미한다.
명세서 전체에서, SDN(Software-Defined Networks)은 소프트웨어 정의 네트워크로, 데이터 전송을 위한 전송 장치가 구성되어있는 데이터 계층(Data plane 또는 인프라 구조 계층(Infrastructure layer))과 전체 망의 동작을 제어하는 제어 계층(Control layer)사이에 표준화된 인터페이스를 제공하며, 소프트웨어 프로그래밍을 통해 네트워크 운용자가 여러 상황에 맞게 패킷 전송에 대해 단순화되어있는 데이터 계층에서의 네트워크 경로 설정 및 복잡한 구성에 대한 운용 관리를 효과적으로 제어할 수 있는 차세대 네트워크 기술을 지칭한다.
또한, 명세서 전체에서, DNS(Domain Name System)란, 숫자 형태의 식별 번호로 되어있는 호스트의 IP 주소를 더 단순하고, 쉽게 기억하기 위한 도메인 이름을 관리하고 도메인 이름에 대한 호스트의 IP 주소 요청이나 반대로 호스트의 IP 주소에 대한 도메인 이름 요청을 수행하도록 개발된 시스템을 지칭한다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 DNS 증폭 공격 방어시스템의 블록도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 공격 방어 모듈(100)은 SDN 제어부(200)에 연결되어 SDN 제어부(200)와 통신하고, SDN 제어부(200)는 SDN 스위치(300)와 통신한다. SDN 스위치(300)은 인터넷을 통해 오픈 DNS 서버에 연결된다.
본 발명의 일 실시예에 따른 공격 방어 모듈(100)은 SDN 제어부(200)에 연결되거나 SDN 제어부(200)에 탑재되어 구현될 수 있다. 즉, 공격 방어 모듈(100)은 SDN 제어부(200) 내부에 구축될 수 있다.
한편, SDN 스위치(300)는 명세서에서 본 기술이 속한 분야에서 쓰이는 용어인 OVS(Open vSwitch)와 혼용하여 사용될 수 있다.
본 발명의 일 실시예에 따른 DNS 증폭 공격 방어시스템은 악의적 DNS 방어기(110), DNS 검증부(130), 규칙 생성부(140)로 구성된 공격 방어 모듈(100)을 포함할 수 있다.
악의적 DNS 방어기(110)는 외부 네트워크와 연결된 포트로 유입되는 DNS에 대한 정보 흐름을 규칙 생성부에 전송할 수 있다.
보다 구체적으로, 공격자가 공격대상의 IP를 도용하여 응답(Response)값이 큰 ANY 타입의 Query를 Open DNS 서버로 송신할 때 발생하는 대량의 응답 메시지(response message)를 방어하기 위하여, 악의적 DNS 방어기(110)는 SDN 제어부(200)와 SDN 스위치(300)가 연결될 경우에 동작하는데, 규칙 생성부(140)로 하여금, 외부 망과 연결된 포트로 유입되는 모든 DNS 관련 Flow를 SDN 제어부(200)에 요청하지 않고 바로 차단시키는 규칙을 생성하게 한다.
규칙 생성부(140)는 모든 종류의 DNS 응답 차단 규칙을 생성하고, 생성된 DNS 응답 차단 규칙은 Flow_mod message 형태로 SDN 스위치(300)에 전송되고, SDN 스위치(300) 내 Flow table에 설치될 수 있다.
즉, DNS 응답 차단 규칙은 응답 메시지가 SDN 스위치(300) 포트를 통해 외부로부터 유입될 때, 모두 공격으로 간주한다.
제안하는 시스템의 네트워크 환경은 별도의 DNS 서버운용 없이 Open DNS 서버를 통해 DNS를 제공받고 있기 때문에, Open DNS 서버로부터 수신되는 모든 DNS response message는 요청이 있어야만 발생된다. 그렇기 때문에 외부로부터 유입되는 요청되지 않은 DNS response message는 모두 공격이라 간주할 수 있다.
DNS 검증부(130)는 SDN 제어부(200)가 호스트로부터 DNS 요청 메시지를 수신하면, 상기 DNS 요청 메시지의 패킷을 분석할 수 있다. 즉, DNS 요청 메시지의 패킷에 대한 정보가 상기 DNS 검증부(130)에서 기 설정된 조건을 만족하는지 여부를 판단할 수 있다.
한편, DNS 검증부(130)는 DNS 요청 메시지 패킷(Packet_In message)을 상기 SDN 제어부로부터 수신하고, 상기 패킷에 포함된 정보를 분류하는 패킷 관리부(120)를 더 포함할 수 있다. 즉, 패킷 관리부(120)는 DNS 검증부(130)에 탑재될 수도 있다.
상기 패킷에 포함된 정보는 소스 IP, 목적지 IP, 포트 넘버, 소스 UDP 포트 넘버, 목적지 UDP 포트 넘버 등이 될 수 있다.
DNS 요청 메시지 패킷 중 Host로부터 요청되는 DNS 요청만 선별하기 위하여, DNS 검증부(130)는 다음과 같은 조건을 만족하는지 분석할 수 있다.
예컨대, 패킷에 대한 정보 중 목적지 IP가 오픈 DNS 서버의 IP이고, 목적지 UDP 포트 넘버가 53인 경우로 판단되면, 소스 IP, 목적지 IP, 포트 넘버, 소스 UDP 포트 넘버, 목적지 UDP 포트 넘버 등 정보를 이용하여 규칙 생성부(140)는 DNS 요청 전달 규칙 및 DNS 응답 전달 규칙을 생성하고, Flow_mod message를 SDN 스위치(300, OVS)로 전송시켜 OVS 내 Flow table에 규칙이 삽입되도록 한다.
따라서, 본 발명의 일 실시예에 따르면, 외부 망에 위치해 있는 Open DNS 서버로 DNS Query가 전달되는 규칙과 Open DNS 서버로부터 송신될 DNS Query에 대한 Response message에 대한 규칙을 SDN 스위치(300)에 같이 삽입시킴으로써 SDN 제어부(200)를 거치지 않고 바로 호스트(Host)에게 전달될 수 있도록 한다.
규칙 생성부(140)는 DNS 응답 메시지를 차단하는 DNS응답 전달 규칙보다 요청한 DNS Query 및 그에 대한 응답 메시지를 송·수신하는 규칙의 우선순위(Priority) 값을 높게 설정하여 요청한 DNS가 차단되는 일이 발생되지 않도록 한다. 이와 관련해서는 표 1에서 후술한다.
도 2는 본 발명의 일 실시예에 따른 DNS 증폭 공격 방어시스템의 동작 순서도이다.
도 2를 참조하면, SDN 제어부(200)와 SDN 스위치(300)가 초기에 연결되면(S302), 본 발명의 일 실시예에 따른 공격 방어 모듈(100)은 DNS 응답 차단규칙을 생성(S304)하여, SDN 스위치(300)의 Flow rule table에 삽입(S306)한다.
공격 방어 모듈(100)은 SDN 제어부(200)에 포함될 수 있기 때문에 SDN 제어부(200)을 통해서 DNS 응답 차단규칙을 SDN 스위치(300)에 삽입할 수 있다.
그리고, 호스트(400)로부터 DNS Query를 요청 받으면(S308), 본 발명의 일 실시예에 따른 공격 방어 모듈(100)은 SDN 스위치(300)로부터 DNS 요청 메시지를 수신한다(S310).
본 발명의 일 실시예에 따른 공격 방어 모듈(100)은 호스트(400)로부터 수신한 DNS 요청 메시지에 대한 DNS 요청 전달 규칙을 생성(S312)하고, SDN 스위치(300)의 Flow rule table에 삽입(S314)한다.
이때, DNS Query를 요청에 따라 DNS 응답 메시지가 함께 발생된다. 공격 방어 모듈(100)은 DNS 응답 메시지에 대한 DNS 응답 전달 규칙도 DNS 요청 전달 규칙과 동시에 생성(S312)하고, SDN 스위치(300)의 Flow rule table에 삽입(S314)한다.
여기까지가, 외부 오픈 DNS 서버(13) 로부터 DNS 응답 메시지를 수신하기 전, DNS 증폭 공격에 대비하기 위한 세팅 단계에 해당된다.
다음은, 오픈 DNS 서버(13)로부터 수신하는 DNS 응답 메시지를 허용하거나 차단하는 과정을 설명한다.
DNS 요청 메시지(S316)를 수신한 오픈 DNS 서버(13)가 DNS 응답 메시지(S318)를 SDN 스위치(300)에 전송한다.
SDN 스위치(300)가 오픈 DNS 서버(13)로부터 수신한 DNS 응답 메시지(S318)가 기 설정된 DNS 응답 전달 규칙에 부합하는 지 판단한다(S320). DNS 응답 전달 규칙에 부합하면 호스트(400)는 DNS 응답 메시지를 수신(S322)하고, 부합하지 않으면, SDN 스위치(300)는 DNS 응답 메시지를 차단함으로써 호스트(400)는 DNS 증폭 공격으로 발생한 DNS 응답 메시지를 수신하지 않을 수 있다.
표 1은 DNS 응답 메시지(S318)가 DNS 응답 전달 규칙에 부합하는 지 판단하기 위한 기 설정된 조건을 나타낸다.
Figure 112018083181240-pat00001
DNS 응답 메시지가 외부 망에 연결되어 있는 포트 S2로부터 수신되고, UDP 소스 포트가 53인 DNS 패킷은 차단(Drop)하고, 외부 망인 오픈 DNS 서버로부터 수신한 DNS 응답 메시지더라도 호스트에 연결된 포트 S3으로부터 DNS 응답 메시지가 수신된 경우와 일치하면 DNS 패킷을 허용한다.
이 때, 호스트에 연결된 포트 S3으로부터 DNS 응답 메시지가 수신된 경우의 케이스에 대하여 우선순위(Priority)를 60000으로 하고, 외부 망에 연결되어 있는 포트 S2로부터 수신되는 케이스에 대하여는 우선순위(Priority)를 50000으로 하여, 우선순위를 더 높게 설정함으로써, 요청한 DNS Query에 대한 DNS 응답 메시지를 모두 차단하지 않도록 한다.
한편, 상기 우선순위의 숫자는 임으로 설정한 값이며, 경우에 따라 변경될 수 있고, 소스 포트(sPort)인 호스트에서 랜덤하게 주어지는 포트번호(rPort)는 일정 주기로 삭제되고 계속 변경됨으로써, 임의의 공격자가 호스트 IP를 도용하는 것을 방지할 수 있다.
따라서, 본 발명의 일 실시예에 따르면, 호스트가 오픈 DNS 서버에게 요청한 DNS Query를 S2포트를 통해 외부망에 위치한 오픈 DNS 서버에게 전달하게 된다. 오픈 DNS 서버에서 DNS Query에 대한 응답 메시지를 전송하여 DNS 스위치에 도착하였을 때, DNS 스위치의 Flow rule table에 이미 규칙이 있기 때문에 DNS 제어부에 요청할 필요없이 호스트에게 전송하게 된다.
도 3은 본 발명의 일 실시예에 따른 DNS 증폭 공격 방어시스템의 개념도이다.
도 3을 참조하여, 본 발명의 일 실시예에 따라 DNS 증폭 공격에 대한 방어 시나리오를 설명한다.
외부 망에 위치한 공격자(11)가 호스트의 IP주소를 도용한 DNS 증폭 공격(12)을 진행하였을 때, 오픈 DNS 서버(13)로부터 생산된 DNS 응답 메시지(14)가 SDN 스위치(300)의 포트 S2로 전송되게 된다.
그러나, 상기 DNS 응답 메시지(14)가 SDN 스위치(300)의 Flow rule table 내에 요청하지 않은 DNS Query에 대한 응답 메시지인 경우에는 차단된다.
반면, 호스트(400)가 요청한 DNS Query(17)에 대한 DNS 응답 메시지(16)의 경우에는 상기 차단되는 경우보다 규칙의 우선순위가 높게 설정되어 있기 때문에, SDN 스위치(300)는 DNS 응답 메시지(16)를 상기 호스트(400)에게 전달한다(18).
상기 SDN 스위치(300)에 설정된 차단 규칙은 본 발명의 일 실시예에 따른 공격 방어 모듈(100)에 의해서 생성되어 SDN 제어부(200)를 통해 SDN 스위치(300)에 미리 설치된다.
도 4는 본 발명의 일 실시예에 따른 DNS 증폭 공격 방어 방법의 순서도이다.
도 4는 도 2에서 설명한 동작 순서도를, SDN 제어부와 공격 방어 모듈을 포함하는 본 발명의 일 실시예에 따른 DNS 증폭 공격 방어 시스템의 입장에서 일련의 순서에 따라 나타낸 것이다.
SDN 제어부와 상기 SDN 스위치가 연결될 경우, DNS 응답 차단 규칙이 생성되면(S401), DNS 응답 차단 규칙이 SDN 스위치에 설치(S402)된다. 그리고, 호스트로부터 DNS 요청 메시지를 수신(S403)하면, 공격 방어 모듈이 패킷 정보를 분석(S404)하여 DNS 요청 전달규칙과 DNS 응답 전달규칙을 생성한다(S405). 생성된 DNS 요청 전달규칙 및 DNS 응답 전달규칙은 SDN 스위치에 설치(S406)된다.
모든 규칙들이 SDN 스위치에 설치되면, 외부 망인 오픈 DNS 서버로부터 DNS 응답 메시지를 수신(S407)한다. 상기 DNS 응답 전달규칙이 호스트로부터 요청된 것이어서 SDN 스위치에 설치된 규칙과 부합하는지 SDN 스위치가 판단(S408)하여, DNS 응답 메시지를 호스트에 연결(S409)할지 아니면 차단할(S410)할지 결정한다.
본 발명의 일 실시예에 따른 DNS 증폭 공격 방어 시스템에 의하면, 외부 망에서 수신된 DNS 응답 메시지가 SDN 제어부를 거치지 않고, SDN 스위치에서 판단되고, 바로 호스트에게 전달된다.
따라서, 본 발명의 일 실시예에 따른 DNS 증폭 공격 방어 시스템은, SDN 제어부에서 처리하는 메시지 수를 크게 줄일 수 있으므로, SDN 제어부의 CPU 사용량을 감소시킬 수 있고, 이로 인한 전송 시간도 줄일 수 있다.
도 5는 본 발명의 일 실시예에 따른 DNS 증폭 공격 방어 시스템 및 그 방법에 의한 CPU 사용량 측정 결과를 나타내는 그래프이다.
공격자가 초당 1,000개의 DNS Response message를 발생시켰을 때, 본 발명이 일 실시예에 따른 DNS 증폭 공격 방어 시스템은 SDN 제어부에서 요청하지 않은 응답 메시지를 모두 차단하기 때문에 공격 패킷 양에 상관없이 평균 5.4%로 안정적인 수치를 나타냈다. 반면, 본 발명의 일 실시예에 따른 공격 방어 모듈이 없는 시스템에서는 CPU 사용량이 24.3%로 높은 수치를 나타냈다.
아래 [표 2]는 본 발명의 일 실시예에 따른 공격 방어 모듈 유무에 따른 DNS Query 전송 시간을 측정한 결과를 나타낸다.
With Proposed System Without Proposed System
5,000 ms 7,000 ms
표 2의 결과와 같이 본 발명의 일 실시예에 따른 공격 방어 모듈을 사용하였을 때 DNS Query 전송 시간이 더 빨랐다.종합하면, 본 발명의 일 실시예에 따른 공격 방어 모듈을 포함하는 시스템은 DNS 증폭 공격을 완벽히 차단하며 CPU에 영향을 미치지 않았고, DNS Query 전송 시간이 최대 2.000 ms의 차이로 빠른 속도를 가진다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 사람이라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
11 : 공격자
12 : DNS Query
13 : 오픈 DNS 서버
14 : 악의적 DNS 응답
15 : 인터넷
16 : 정상 DNS 요청 및 응답
17 : DNS 요청
18 : DNS 응답
1000 : DNS 증폭 공격 방어시스템
100 : 공격 방어 모듈
200 : SDN 제어부
300 : SDN 스위치
400 : 호스트

Claims (10)

  1. 외부 네트워크와 연결된 포트로 유입되는 DNS에 대한 정보 흐름을 규칙 생성부에 전송하는 악의적 DNS 방어기;
    상기 악의적 DNS 방어기로부터 수신한 DNS에 대한 정보 흐름에 대하여 DNS 응답 차단 규칙을 생성하는 규칙 생성부 및
    SDN 제어부가 호스트로부터 DNS 요청 메시지를 수신하면, 상기 DNS 요청 메시지의 패킷을 분석하는 DNS 검증부을 포함하고,
    상기 DNS 요청 메시지의 패킷에 대한 정보가 상기 DNS 검증부에서 기 설정된 조건을 만족하면, 상기 규칙 생성부는 DNS 요청 전달 규칙 및 DNS 응답 전달 규칙을 생성하되,
    상기 규칙 생성부는 DNS 응답 메시지를 차단하는 상기 DNS 응답 전달 규칙 보다 DNS Query 및 해당 DNS Query에 대한 응답 메시지를 송·수신하는 규칙을 우선순위로 설정하는 것을 특징으로 하는 SDN 기반의 DNS 증폭 공격 방어시스템.
  2. 제1항에 있어서,
    상기 악의적 DNS 방어기는 SDN 제어부와 SDN 스위치가 연결될 경우에 상기 DNS에 대한 정보 흐름을 상기 규칙 생성부에 전송하는 것을 특징으로 하는 SDN 기반의 DNS 증폭 공격 방어시스템.
  3. 제1항에 있어서,
    상기 DNS 검증부는 상기 DNS 요청 메시지의 패킷을 상기 SDN 제어부로부터 수신하고, 상기 패킷에 포함된 정보를 분류하는 패킷 관리부를 더 포함하는 SDN 기반의 DNS 증폭 공격 방어시스템.
  4. 제1항에 있어서,
    상기 SDN 제어부는 상기 생성된 DNS 응답 차단 규칙, 상기 생성된 DNS 요청 전달 규칙 및 상기 생성된 DNS 응답 전달 규칙을 SDN 스위치에 설치하는 것인 SDN 기반의 DNS 증폭 공격 방어시스템.
  5. 제1항에 있어서,
    상기 DNS 검증부는 상기 패킷에 포함된 정보 중 목적지 IP와 목적지 포트번호를 기설정된 값과 비교하는 것을 특징으로 하는 SDN 기반의 DNS 증폭 공격 방어시스템.
  6. 규칙 생성부가 외부 네트워크와 연결된 포트로 유입되는 DNS에 대한 정보 흐름에 대하여 DNS 응답 차단 규칙을 생성하는 단계;
    SDN 제어부가 상기 생성된 DNS 응답 차단 규칙을 SDN 스위치에 설치하는 단계;
    상기 SDN 제어부가 호스트로부터 DNS 요청 메시지를 수신하면, DNS 검증부가 상기 DNS 요청 메시지의 패킷을 분석하는 단계;
    상기 DNS 요청 메시지의 패킷에 대한 정보가 상기 DNS 검증부에서 기 설정된 조건을 만족하면, 상기 규칙 생성부는 DNS 요청 전달 규칙 및 DNS 응답 전달 규칙을 생성하는 단계 및
    상기 SDN 제어부가 상기 DNS 요청 전달 규칙 및 상기 DNS 응답 전달 규칙을 상기 SDN 스위치에 설치하는 단계를 포함하되,
    상기 규칙 생성부는 DNS 응답 메시지를 차단하는 상기 DNS 응답 전달 규칙 보다 DNS Query 및 해당 DNS Query에 대한 응답 메시지를 송·수신하는 규칙을 우선순위로 설정하는 것을 특징으로 하는 SDN 기반의 DNS 증폭 공격 방어 방법.
  7. 제6항에 있어서,
    상기 SDN 스위치가 오픈 DNS 서버로부터 DNS 응답 메시지를 수신하는 단계;
    상기 SDN 스위치가 상기 DNS 응답 메시지와 상기 SDN 스위치에 설치된 DNS 응답 전달 규칙의 매칭 여부를 결정하는 단계; 및
    상기 DNS 응답 메시지가 상기 DNS 응답 전달 규칙에 매칭되면, 상기 SDN 스위치는 상기 DNS 응답 메시지를 상기 호스트로 전송하고,
    상기 DNS 응답 메시지가 상기 DNS 응답 전달 규칙에 매칭되지 않으면, 상기 SDN 스위치는 상기 DNS 응답 메시지를 차단하는 단계를 더 포함하는 SDN 기반의 DNS 증폭 공격 방어 방법.
  8. 제6항에 있어서,
    상기 DNS 응답 차단 규칙을 생성하는 단계 이전에,
    상기 SDN 제어부와 상기 SDN 스위치가 연결될 경우, 악의적 DNS 방어기는 외부 네트워크와 연결된 포트로 유입되는 DNS에 대한 정보 흐름을 상기 규칙 생성부에 전송하는 단계를 더 포함하는 SDN 기반의 DNS 증폭 공격 방어 방법.
  9. 제6항에 있어서,
    상기 DNS 요청 메시지의 패킷을 분석하는 단계는,
    상기 DNS 검증부가 상기 DNS 요청 메시지의 패킷을 상기 SDN 제어부로부터 수신하고, 상기 패킷에 포함된 정보를 분류하는 단계를 더 포함하는 SDN 기반의 DNS 증폭 공격 방어 방법.
  10. 제6항에 있어서,
    상기 DNS 요청 메시지의 패킷을 분석하는 단계는,
    상기 패킷에 포함된 정보 중 목적지 IP와 목적지 포트번호를 기설정된 값과 비교하는 것을 특징으로 하는 SDN 기반의 DNS 증폭 공격 방어 방법.
KR1020180097944A 2018-08-22 2018-08-22 Sdn 기반의 dns 증폭 공격 방어시스템 및 그 방법 KR102046612B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180097944A KR102046612B1 (ko) 2018-08-22 2018-08-22 Sdn 기반의 dns 증폭 공격 방어시스템 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180097944A KR102046612B1 (ko) 2018-08-22 2018-08-22 Sdn 기반의 dns 증폭 공격 방어시스템 및 그 방법

Publications (1)

Publication Number Publication Date
KR102046612B1 true KR102046612B1 (ko) 2019-11-19

Family

ID=68771025

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180097944A KR102046612B1 (ko) 2018-08-22 2018-08-22 Sdn 기반의 dns 증폭 공격 방어시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR102046612B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116248631A (zh) * 2022-12-02 2023-06-09 中国互联网络信息中心 一种DoQ优先级设置方法和系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100882809B1 (ko) 2006-08-31 2009-02-10 영남대학교 산학협력단 플로우 기반 패킷 처리방식의 분산 서비스 거부 공격 방어시스템 및 방법
JP2015029207A (ja) * 2013-07-30 2015-02-12 日本電信電話株式会社 制御装置、通信システム、および、通信制御方法
KR20170021063A (ko) * 2015-08-17 2017-02-27 에스케이텔레콤 주식회사 Sdn 기반의 트래픽 처리 장치 및 그 방법
KR20180052324A (ko) * 2016-11-10 2018-05-18 한국전자통신연구원 분산 반사 서비스 거부 공격 탐지 장치 및 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100882809B1 (ko) 2006-08-31 2009-02-10 영남대학교 산학협력단 플로우 기반 패킷 처리방식의 분산 서비스 거부 공격 방어시스템 및 방법
JP2015029207A (ja) * 2013-07-30 2015-02-12 日本電信電話株式会社 制御装置、通信システム、および、通信制御方法
KR20170021063A (ko) * 2015-08-17 2017-02-27 에스케이텔레콤 주식회사 Sdn 기반의 트래픽 처리 장치 및 그 방법
KR20180052324A (ko) * 2016-11-10 2018-05-18 한국전자통신연구원 분산 반사 서비스 거부 공격 탐지 장치 및 방법

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Di Paola, Sevastiano, and Dario Lombardo. "Protecting against DNS reflection attacks with Bloom filters." International Conference on Detection of Intrusions and Malware, and Vulnerability Assessment. Springer, Berlin, Heidelberg, 2011.
Kambourakis, Georgios, et al. "Detecting DNS amplification attacks." International Workshop on Critical Information Infrastructure Security. Springer, Berlin, Heidelberg, 2007.
Kim, Soyoung, et al. "Preventing DNS Amplification Attacks Using the History of DNS Queries with SDN." European Symposium on Research in Computer Security. Springer, Cham, 2017.

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116248631A (zh) * 2022-12-02 2023-06-09 中国互联网络信息中心 一种DoQ优先级设置方法和系统

Similar Documents

Publication Publication Date Title
US11057404B2 (en) Method and apparatus for defending against DNS attack, and storage medium
US20070245417A1 (en) Malicious Attack Detection System and An Associated Method of Use
US8661544B2 (en) Detecting botnets
KR101231975B1 (ko) 차단서버를 이용한 스푸핑 공격 방어방법
US10193890B2 (en) Communication apparatus to manage whitelist information
US11563763B1 (en) Protection against attacks in internet of things networks
EP2136526A1 (en) Method, device for identifying service flows and method, system for protecting against a denial of service attack
US10135785B2 (en) Network security system to intercept inline domain name system requests
EP3618355B1 (en) Systems and methods for operating a networking device
WO2021135382A1 (zh) 一种网络安全防护方法及防护设备
EP4293550A1 (en) Traffic processing method and protection system
KR102046612B1 (ko) Sdn 기반의 dns 증폭 공격 방어시스템 및 그 방법
US11457021B2 (en) Selective rate limiting via a hybrid local and remote architecture
US11159533B2 (en) Relay apparatus
KR101065800B1 (ko) 네트워크 관리 장치 및 그 방법과 이를 위한 사용자 단말기및 그의 기록 매체
KR102014736B1 (ko) Fpga 기반 고속 스노트 룰과 야라 룰 매칭 장치
KR20170109949A (ko) 동적 네트워크 환경에서의 네트워크 보안 강화 방법 및 장치
US20220210197A1 (en) Low latency cloud-assisted network security with local cache
US10771391B2 (en) Policy enforcement based on host value classification
US11973783B1 (en) Attack prevention in internet of things networks
CN114553452B (zh) 攻击防御方法及防护设备
US11974120B2 (en) System and method for securing a communication network
WO2023109587A1 (zh) 拒绝服务攻击防御方法及装置、可读存储介质
US20220248220A1 (en) System and method for securing a communication network
US20230319078A1 (en) System and method for detecting and mitigating port scanning attacks

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant