KR102491738B1 - SDN에서의 분산형 DoS공격 방어방법 - Google Patents

SDN에서의 분산형 DoS공격 방어방법 Download PDF

Info

Publication number
KR102491738B1
KR102491738B1 KR1020220012960A KR20220012960A KR102491738B1 KR 102491738 B1 KR102491738 B1 KR 102491738B1 KR 1020220012960 A KR1020220012960 A KR 1020220012960A KR 20220012960 A KR20220012960 A KR 20220012960A KR 102491738 B1 KR102491738 B1 KR 102491738B1
Authority
KR
South Korea
Prior art keywords
information
address
sdn
attack
communication network
Prior art date
Application number
KR1020220012960A
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 KR1020220012960A priority Critical patent/KR102491738B1/ko
Application granted granted Critical
Publication of KR102491738B1 publication Critical patent/KR102491738B1/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/1425Traffic logging, e.g. anomaly detection
    • 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/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/24Key scheduling, i.e. generating round keys or sub-keys for block encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

실시예는 SDN에서의 분산형 DoS공격 방어방법에 관한 것이다.
구체적으로, 이러한 방법은 SDN 아키텍쳐 장치들 간의 메시지 프로토콜에 대한 보안 위협 요소를 분석하고 이에 따른 보안요구조건을 도출해서, 이에 대한 효율적인 보안을 할 수 있도록 한다.
이를 위해, 일실시예는 먼저 기존과 같이, SDN 아키텍쳐 장치들 간에 메시지 프로토콜로 정보를 송수신할 경우, SDN의 DoS공격 방어를 위한 정보처리장치 내 제어부에서 트래픽을 모니터링하여 DoS공격 방어를 하도록 한다.
이러한 상태에서, 일실시예는 먼저, 이렇게 DoS공격 방어를 할 경우, 백로그큐에 대해서 점유율을 설정 점유율과 비교 검사하여, 상기 비교 결과 점유율이 설정 점유율 미만인 경우에는 정상으로 판단하며 점유율이 설정 점유율 이상인 경우에 위험단계로 판단한다.
그래서, 이렇게 정상으로 판단한 경우에는 모니터링을 위해 설정 SYN 플러딩 모니터링 포맷을 동작시키지 않고, 상기 위험단계로 판단한 경우에는 설정 SYN 플러딩 모니터링 포맷을 동작시킨다.
그리고, 이러한 경우에 상기 SYN 플러딩 모니터링 포맷은 아래와 같다.
a) 즉, 상기 모니터링을 할 경우, 먼저 네트워크 디바이스에 설치된 해당 에이전트가 샘플링 된 패킷을 해당 콜렉터로 전송한다.
b) 그리고, 해당 콜렉터는 설정 출발지 주소에서 상기 백로그큐를 점유하기 위해 설정량 이상의 SYN 패킷 송신여부를 탐지하여, 설정량 이상인 경우 공격자를 판단하고 해당 어플리케이션에 알린다.
c) 그래서 이러한 공격자로 판별된 주소에서 오는 패킷을 차단하기 위한 플로우 테이블을 설정한다.
d) 이를 통해, 상기 콜렉터로 샘플링 된 패킷을 전송할 경우, 일실시예에 따른 다수의 상이한 네트워크 디바이스들별로의 분산 암호화 구성으로부터 해당하는 정보를 암호화하여 해당 에이전트에 제공하도록 한다.
따라서, 이를 통해 실시예는 SDN 아키텍쳐 장치들 간의 메시지 프로토콜에 대한 보안 위협 요소를 분석하고 이에 따른 보안요구조건의 도출이 가능하며 이에 대한 효율적인 보안 방법을 제공한다.
그리고 또한, 이러한 경우에 전술한 일실시예의 SYN 플러딩 모니터링 포맷에서 아래의 암호화 구성을 구비하므로, 여러 개의 상이한 위치에 있는 네트워크 디바이스와 샘플링 정보를 원활하게 획득한다.

Description

SDN에서의 분산형 DoS공격 방어방법{Mitigating method for DoS Attacks employing data distribution in SDN}
본 명세서에 개시된 내용은 SDN에서의 DoS공격 방어 기술 분야에 관한 것으로, 보다 상세하게는 SDN 아키텍쳐 장치들 간의 메시지 프로토콜에 대한 보안 위협 요소를 분석하고 이에 따른 보안요구조건을 도출하여, 이에 대한 효율적인 보안 방법을 구현하는 것이다.
본 명세서에서 달리 표시되지 않는 한, 이 섹션에 설명되는 내용들은 이 출원의 청구항들에 대한 종래 기술이 아니며, 이 섹션에 포함된다고 하여 종래 기술이라고 인정되는 것은 아니다.
일반적으로, 많은 사용자들의 데이터 사용이 원활히 이루어지게 하기 위해서는 안정적인 네트워크망이 지원이 돼야 할 것이다. 하지만 현재의 네트워크망은 매우 복잡한 구조로 되어있어 이를 관리하는데 고비용을 초래하고 있다. 그리고 각종 DoS(Denial of Service) 공격 등의 악성 공격에도 취약한 모습을 보이고 있다. 따라서 이러한 문제점을 개선하고자 등장한 것이 소프트웨어 정의 네트워크(Software Defined Network : SDN)이다. SDN은 기존의 네트워크 장비와는 달리 네트워크 제어영역(control plane)과 패켓 송수신 영역(data plane)으로 구분하여 네트워크를 통합 관리 할 수가 있다. 그리고 이를 통해 네트워크 구조를 단순화 시키고 데이터 분산 처리를 통해 네트워크의 사용 효율을 극대화 시킬 수 있다. 또한, SDN 컨트롤러를 이용하여 각종 악성 공격을 사전 방지 및 사후 조치를 할 수 있다. 하지만 이런 SDN도 여전히 보안상의 취약점이 있는 것은 사실이다.
그리고 또한, 한편으로 모든 서비스 거부(DoS) 공격이 서버에 과부하를 일으키도록 개발된 것은 아니다. 일부는 네트워크 인프라 자체를 타깃으로 하고 있다. 이러한 유형의 공격은 링크 대역폭을 포화 상태로 만들고 라우터 및 스위치 CPU를 소진시키거나 네트워크 제어영역 트래픽을 스푸핑(spoofing)함으로써 서비스 거부를 실행한다. 링크를 포화시키고 CPU를 소진하는 DoS 공격은 이웃 관계를 유지하는데 필요한 대역폭의 역동적인 라우팅 프로토콜을 거부할 수 있다. 라우터가 이웃을 잃게 되면 해당 라우터의 다운을 인지해 모든 경로를 일시적으로 분출하게 되고 분출된 경로를 다른 대체 경로로 트래픽을 전환하거나 모두 드롭(drop)시키게 된다. 다운된 경로를 뽑아내기 위해서는 새로운 경로를 지속적으로 다시 계산해야 하고 새로운 것으로 업데이트해야 하기 때문에 CPU의 리소스가 결국 소진된다. 그 결과 서비스 거부로 이어지게 된다.
그리고, 이러한 DoS 공격은 네트워크 제어영역 트래픽을 스푸핑, 동적인 라우팅 프로토콜을 도용해 이웃 관계를 악의적으로 재설정하거나 잘못된 정보로 업데이트해 서비스 거부를 야기시킨다.
그래서, 이를 해결하기 위하여, 본 출원인은 기존에 제10-2016-0010691호(출원번호)의 내용을 통해 SDN 아키텍쳐 장치들 간의 메시지 프로토콜에 대한 보안 위협 요소를 분석하고 이에 따른 보안요구조건의 도출이 가능하며 이에 대한 효율적인 보안을 제공하였다.
부가적으로 이러한 배경의 선행기술문헌은 아래의 특허문헌 정도이다.
(특허문헌 1) KR100920739 Y1
참고적으로, 이러한 기술은 DoS 공격이 발생할 경우, 이에 대하여 서비스 거부/분산 서비스 거부 공격 유도를 개략적으로 수행하여 공격을 방어하는 기술 정도이다.
개시된 내용은, 기본적으로는 SDN 아키텍쳐 장치들 간의 메시지 프로토콜에 대한 보안 위협 요소를 분석하고 이에 따른 보안요구조건을 도출하여, 이에 대한 효율적인 보안 방법을 제공하도록 하는 SDN에서의 분산형 DoS공격 방어방법을 제공하고자 한다.
그리고, 이러한 상태에서 추가적으로 이러한 방법에(즉, SYN 플러딩 모니터링 방식) 여러 네트워크 디바이스와의 분산 암호화 구성을 구비하므로, 여러 개의 상이한 위치에 있는 네트워크 디바이스와 샘플링 정보를 원활하게 획득할 수 있도록 한다.
실시예에 따른 SDN에서의 분산형 DoS공격 방어방법은,
먼저, 기존과 같이(즉, 위의 출원 내용과 같이), SDN 아키텍쳐 장치들 간에 메시지 프로토콜로 정보를 송수신할 경우, SDN의 DoS공격 방어를 위한 정보처리장치 내 제어부에서 트래픽을 모니터링하여 DoS공격 방어를 하도록 한다.
이러한 상태에서, 일실시예에 따라 먼저, 이러한 DoS공격 방어를 할 경우, 백로그큐에 대해서 점유율을 설정 점유율과 비교 검사하여, 상기 비교 결과 점유율이 설정 점유율 미만인 경우에는 정상으로 판단하며 점유율이 설정 점유율 이상인 경우에 위험단계로 판단한다.
그래서, 이렇게 정상으로 판단한 경우에는 모니터링을 위해 설정 SYN 플러딩 모니터링 포맷을 동작시키지 않고, 상기 위험단계로 판단한 경우에는 설정 SYN 플러딩 모니터링 포맷을 동작시킨다.
그리고, 이러한 경우에 상기 SYN 플러딩 모니터링 포맷은 아래와 같다.
a) 즉, 상기 모니터링을 할 경우, 먼저 네트워크 디바이스에 설치된 해당 에이전트가 샘플링 된 패킷을 해당 콜렉터로 전송한다.
b) 그리고, 해당 콜렉터는 설정 출발지 주소에서 상기 백로그큐를 점유하기 위해 설정량 이상의 SYN 패킷 송신여부를 탐지하여, 설정량 이상인 경우 공격자를 판단하고 해당 어플리케이션에 알린다.
c) 그래서 이러한 공격자로 판별된 주소에서 오는 패킷을 차단하기 위한 플로우 테이블을 설정한다.
d) 이를 통해, 상기 콜렉터로 샘플링 된 패킷을 전송할 경우, 아래의 네트워크 디바이스들에 대한 분산 암호화 구성으로부터 해당하는 정보를 암호화하여 해당 에이전트에 제공한다.
구체적으로는 이러한 암호화 구성은 아래와 같다.
즉, 해당하는 정보를 전송할 경우, 먼저 설정 ARIA(Academy Research Institute Agency) 암호화 포맷으로부터 평문의 모양이나 길이에 따라 각기 상이한 비밀키를 하나 선택한다.
그리고 또한, 이러한 비밀키 크기에 따라 다수의 상이한 라운드 중에서 한 가지를 선택하여 반복실행함으로써 암호문을 획득한다.
또한, 각각의 라운드별 함수는 라운드 키 덧셈과 치환 계층, 확산 계층을 포함한다.
2) 이러한 상태에서, 일실시예에 따라 이러한 라운드 키 덧셈 연산을 수행하기 전에, 평문과 비밀키로부터 n-1개의 스크램블러와(n개는 네트워크 디바이스 개수임) 배타적 논리합을 먼저 수행함으로써 변조한다.
3) 그리고, 각각의 변조 정보를 n개의 부분 비밀 키로 설정하고, n개의 네트워크 디바이스 각각으로 서로 다른 하나의 부분 비밀 키를 제공한다.
4) 다음, 이러한 변조를 수행한 경우에는, 해당하는 비밀키 크기에 따른 한 가지 라운드의 라운드 키 덧셈 연산을 포함한 라운드별 함수로서 반복실행함으로써 암호문을 획득한다.
그래서, 이러한 암호문을 획득할 경우마다, 상기 스크램블러가 라운드 키 덧셈 연산에서 시스템적으로 소멸하고 연산결과를 상용의 AES(Advanced Encryption Standard)와 동일한 형식으로 얻는다.
그래서, 이를 통해 공격자 주소에서 송신되는 패킷을 상기 플로우 테이블로서 공격 패킷을 차단하는 것을 특징으로 한다.
실시예들에 의하면, 기본적으로는 SDN 아키텍쳐 장치들 간의 메시지 프로토콜에 대한 보안 위협 요소를 분석하고 이에 따른 보안요구조건을 도출하여, 이에 대한 효율적인 보안 방법을 제공한다.
그리고, 이러한 상태에서 추가적으로 이러한 방법에(즉, SYN 플러딩 모니터링 방식) 여러 네트워크 디바이스와의 분산 암호화 구성을 구비하므로, 여러 개의 상이한 위치에 있는 네트워크 디바이스와 샘플링 정보를 원활하게 획득한다.
또한, 링크 대역폭을 포화 상태로 만들고 라우터 및 스위치 CPU를 소진시키거나 네트워크 제어영역 트래픽을 스푸핑으로 서비스 거부를 실행하는 경우에 있어서, SDN에서의 DoS 공격 분석 및 방어를 하기 위한 기술을 제공하는 효과가 있다. 또한, SDN 환경에서 중앙 컨트롤러가 모든 스위치의 트래픽을 제어할 수 있는 구조적 장점과 실시간 네트워크 모니터링 알고리즘을 이용하여 별도의 장비를 구성하지 않고, 빠른 시간에 공격을 방어하는 방어방법을 제공한다.
도 1과 도 2는 일실시예에 따른 SDN에서의 분산형 DoS공격 방어방법을 개념적으로 설명하기 위한 도면
도 3은 일실시예에 따른 SDN에서의 분산형 DoS공격 방어방법에 적용한 시스템의 구성을 도시한 블록도
도 4는 다른 실시예에 따른 SDN에서의 분산형 DoS공격 방어방법을 설명하기 위한 도면
도 5는 일실시예에 따른 SDN에서의 분산형 DoS공격 방어방법을 순서대로 도시한 플로우 차트
도 1과 도 2는 일실시예에 따른 SDN에서의 분산형 DoS공격 방어방법을 개념적으로 설명하기 위한 도면이다.
도 1에 도시된 바와 같이, 일실시예의 SDN에서의 분산형 DoS공격 방어방법은 SDN 아키텍쳐 장치들 간의 메시지 프로토콜에 대한 보안 위협 요소를 분석하고 이에 따른 보안요구조건을 도출해서, 이에 대한 효율적인 보안을 할 수 있도록 한다.
이를 위해, 이러한 방법은 먼저 기존과 같이, SDN 아키텍쳐 장치들 간에 메시지 프로토콜로 정보를 송수신할 경우, SDN의 DoS공격 방어를 위한 정보처리장치 내 제어부에서 트래픽을 모니터링하여 DoS공격 방어를 하도록 한다.
이러한 상태에서, 일실시예에 따라 이러한 방법은 먼저, 이렇게 DoS공격 방어를 할 경우, 백로그큐에 대해서 점유율을 설정 점유율과 비교 검사하여, 상기 비교 결과 점유율이 설정 점유율 미만인 경우에는 정상으로 판단하며 점유율이 설정 점유율 이상인 경우에 위험단계로 판단한다.
그래서, 이렇게 정상으로 판단한 경우에는 모니터링을 위해 설정 SYN 플러딩 모니터링 포맷을 동작시키지 않고, 상기 위험단계로 판단한 경우에는 설정 SYN 플러딩 모니터링 포맷을 동작시킨다.
그리고, 이러한 경우에 상기 SYN 플러딩 모니터링 포맷은 아래와 같다.
a) 즉, 상기 모니터링을 할 경우, 먼저 네트워크 디바이스에 설치된 해당 에이전트가 샘플링 된 패킷을 해당 콜렉터로 전송한다.
b) 그리고, 해당 콜렉터는 설정 출발지 주소에서 상기 백로그큐를 점유하기 위해 설정량 이상의 SYN 패킷 송신여부를 탐지하여, 설정량 이상인 경우 공격자를 판단하고 해당 어플리케이션에 알린다.
c) 그래서 이러한 공격자로 판별된 주소에서 오는 패킷을 차단하기 위한 플로우 테이블을 설정한다.
d) 이를 통해, 상기 콜렉터로 샘플링 된 패킷을 전송할 경우, 다른 실시예에 따른 여러 개의 네트워크 디바이스에 대한 분산 암호화 구성으로부터 해당하는 정보를 암호화하여 해당 에이전트에 제공하도록 한다. 참고로, 일실시예의 분산 암호화 구성은 아래에서 상세하게 설명한다.
한편, 이를 통해 이러한 방법은 이러한 공격자 주소에서 송신되는 패킷을 상기 플로우 테이블로서 공격 패킷을 차단한다.
따라서, 이를 통해 이러한 일실시예에 따른 방법은 링크 대역폭을 포화 상태로 만들고 라우터 및 스위치 CPU를 소진시키거나 네트워크 제어영역 트래픽을 스푸핑으로 서비스 거부를 실행하는 경우에 있어서, SDN에서의 DoS 공격 분석 및 방어를 제공한다.
그리고 또한, SDN 환경에서 중앙 컨트롤러가 모든 스위치의 트래픽을 제어할 수 있는 구조적 장점과 실시간 네트워크 모니터링 알고리즘을 이용하여 별도의 장비를 구성하지 않고, 빠른 시간에 공격을 방어한다.
참고적으로, 이러한 일실시예의 방법에 사용할 수 있는 SDN 구조를 설명한다(종래 기술에 속함, 도 1 참조).
먼저, 이러한 SDN은 크게 데이터 계층(infrastructure layer)과, 제어 계층(control layer), 애플리케이션 계층(application layer)으로 나뉜다. 데이터 계층은 SDN의 특정 인터페이스를 통해 제어를 받는 계층으로서, 데이터 흐름의 전송을 담당한다. 제어 계층은 데이터의 흐름을 제어하는 계층으로서 애플리케이션과 네트워크 서비스를 통하여 데이터 흐름을 라우팅 할 것인지, 전달을 할 것인지, 거절 할 것인지를 결정한다. 또한 데이터 계층의 동작들을 정리하여 API(Application Programming Interface) 형태로 애플리케이션 계층에 전달한다. 마지막으로 애플리케이션 계층은 제어 계층에서 제공한 API들을 이용하여 네트워크의 다양한 기능들을 수행 할 수 있도록 한다.
한편, 이러한 일실시예의 방법에 사용할 수 있는 오픈플로우 스위치의 구성을 설명한다(종래 기술, 도 2 참조).
먼저 오픈플로우(OpenFlow)는 데이터 계층을 제어하기 위해 사용되는 인터페이스 중 하나이며 가장 널리 사용되고 있다. 오픈플로우는 이를 지원하는 스위치가 플로우 테이블(Flow Table)를 가지고 있으며, 컨트롤러와 별도의 채널을 통해 연결된다. 기존 네트워크 장비에서는 벤더 간에 플로우 테이블이 달라 서로 정보 공유가 되지 않았다면 오픈플로우 스위치는 공통 된 플로우 테이블을 개발 적용하여 네트워크 장비 간 서로 정보를 공유할 수 있게 되었다. 이를 통해 개발자는 새로운 라우팅 프로토콜과 보안 모델, 주소 체계를 만들어 전체 네트워크에 적용할 수 있다. 이러한 오픈플로우 스위치는 다음과 같이 3부분으로 구성되어 있다. 첫째, 플로우 처리를 어떻게 해야 되는지 스위치에 전달하는 플로우 테이블이 있다. 둘째, 스위치와 원격의 컨트롤러를 연결하여 둘 사이에서 패켓 처리 방법과 패켓이 오고 갈 수 있도록 해주는 보안 채널이 있다. 셋째, 컨트롤러가 스위치와 통신 할 수 있도록 개방형 기준을 제공하는 오픈 플로우 프로토콜이다. 이를 통해 플로우 테이블을 네트워크 전체에 적용 하여 개발자가 스위치 프로그램을 만들 필요를 없게 하였다.
SDN은 컨트롤러를 통해 네트워크의 흐름을 제어할 수 있고 이를 통해 네트워크를 단순화 할 수 있는 것이다. 그러나, 컨트롤러로 인해 발생 가능한 보안 문제점은 다음과 같다. 첫째, 컨트롤러가 악성코드에 감염 된 사례이다. 만약 컨트롤러가 악성코드에 감염이 된다면 공격자는 프로그램을 재설치 하여 네트워크 상에 있는 데이터를 스니핑(sniffing) 또는 드로핑(dropping) 할 수 있을 것이다. 둘째, 관리자가 나쁜 의도를 가졌을 경우이다. 컨트롤러의 룰을 작성하는 관리자가 나쁜 의도를 가지고 컨트롤러의 룰을 변경한다면 네트워크가 정지가 될 수도 있으며 정보를 유출 할 수도 있을 것이다. 셋째, 네트워크 제어영역과 패켓 송수신 영역 사이의 DDoS 공격이다. 이 공격은 컨트롤러가 정상적으로 데이터 계층에 지시를 내리지 못하여 하여 정상적인 작동을 방해한다
오픈플로우는 SDN의 대표적인 인터페이스로서 네트워크 제어영역과 패켓 송수신 영역 사이의 가교 역할을 통해 원활히 SDN 네트워크가 작동되게 하는 중요한 역할을 하고 있다. 하지만 이 역시 악성 공격에 취약한 면이 있다. 첫째, MAC 주소, IP 주소, 포트 등 네트워크 통신과 관련된 정보를 속여 공격 대상자의 정보를 획득 또는 정상적인 서비스를 제공하지 못하게 하는 공격하는 스푸핑(spoofing) 공격이 있다. 이러한 공격 기술을 오픈플로우에 적용을 한다면 공격자가 컨트롤러인 것처럼 행동을 하여 오픈플로우 스위치의 행동을 조작하여 데이터 스니핑 혹은 드로핑 공격을 할 수 있으며 또한 네트워크 자체를 정지시킬 수도 있다. 둘째, 시스템의 정상적인 기능을 변경하여 보안 기능의 약화를 초래하거나 기능을 하지 못하게 하는 공격으로서 오픈플로우를 통해 패켓 송수신 영역의 장비들이 이상 동작하게 만드는 tampering 공격이 있다. 셋째, 통신의 모든 또는 부분에 관여하여 송수신 사실을 부인하는 공격인 repudiation 공격이 있으며 이 역시 오픈플로우를 통해서 조작이 가능 하다. 넷째, 시스템을 악의적으로 공격해 해당 시스템의 자원을 부족하게 만들어 정상적인 동작을 하지 못하게 하는 분산 서비스 거부 공격(DDoS : Distributed Denial of Service)이 있다. 만약 이러한 공격을 통해 오픈플로우 스위치에 위조된 패켓을 대량으로 전달한다면 SDN 네트워크는 과부하가 걸려 정상적인 작동이 제한될 것이다. 다섯째, 시스템을 속여 임의적으로 인증되지 않은 권한을 갖도록 하는 권한 상승(elevation of privileges) 공격이 있으며 이 역시 오픈 플로우 상에서 가능한 공격이다. 위와 같이 SDN은 기존의 네트워크를 효율적으로 운영하기 위해 네트워크 제어영역과 패켓 송수신 영역으로 나누어 관리를 하고 있지만 이로 인해서 보안 취약점이 발생하는 것을 알 수 있으며. 그밖에 SDN은 Transport Layer Security(TLS) 보안 프로토콜 적용 시 발생하는 속도지연으로 인해 TCP를 사용함으로써 중간자 공격 등에 취약하다.
도 3은 일실시예에 따른 SDN에서의 분산형 DoS공격 방어방법에 적용한 시스템의 구성을 도시한 블록도이다.
도 3에 도시된 바와 같이, 일실시예에 따른 시스템은 근거리 등에서의 통신망(100)과 상기 통신망(100) 상에서 수집된 데이터 정보에 대한 전체 트래픽을 실시간으로 모니터링하여 서비스 거부 공격 발생을 감지하는 정보처리장치(200)를 포함한다. 즉, SDN의 DoS공격 방어를 위한 정보처리장치(200)를 포함한다. 그리고, 일실시예에 따른 시스템은 상기 정보처리장치(200)에 접속하여 통신 가능한 기능과 메모리 및 마이크로 프로세서를 탑재하여 연산 기능이 구비된 클라이언트부(300)와, 상기 정보처리장치(200)와 상기 클라이언트부(300)에 통신을 수행하고 통신 프로토콜 및 암호화 정보를 제공하는 메인서버부(400)로 구성된다.
상기 정보처리장치(200)에서는 서비스 거부 공격의 규모 내지는 범위에 따라 상기 통신망(100)의 상태를 여러 단계로 구분하여 각 단계별로 상기 정상 트래픽과 의심 트래픽을 처리하는 방법에 변화를 줌으로써, 정상 트래픽에 대한 영향을 최소화하는 서비스 거부 공격 대응이 수행되도록 한다.
상기 클라이언트부(300)는 스마트폰과 태블릿PC, 데스크탑 컴퓨터, 노트북 컴퓨터 및 워크스테이션 등의 디지털 디바이스를 의미할 뿐만 아니라 통신 가능하고 메모리 및 마이크로 프로세서가 구비되어 연산 기능이 내재된 어떠한 기기라도 적용 대상이 된다.
또한, 상기 클라이언트부(300)에는 사용자가 정보를 제공 받을 수 있도록 하는 웹브라우져 프로그램이 더 포함되어 있을 수 있다. 상기 사용자가 요청한 정보가 상기 정보처리장치(200)에 캐시로서 저장되어 있는 경우에는, 상기 정보가 정보처리장치(200)로부터 상기 클라이언트부(300)의 상기 웹브라우져로 제공될 수 있다. 한편, 사용자가 요청한 정보가 상기 정보처리장치(200)에 캐시로서 저장되어 있지 않은 경우에는, 상기 정보가 상기 정보처리장치(200)의 개입을 요구하거나 요구하지 않고 상기 메인서버부(400)로부터 상기 웹브라우져로 제공될 수 있다.
상기 메인서버부(400)는 웹서버 또는 인터넷 포털 사이트의 운영서버일수도 있으며 상기 클라이언트(300)에 콘텐츠 관련 통신 프로토콜과 파일 형식, 암호화 정보, 소스 위치, 크기, 생성 시각, 수정 시각, 전송 시각, 유효 기간과 같은 상기 콘텐츠의 각종 부가 정보를 직접 제공할 수 있다. 또한, 상기 정보처리장치(200)를 통하여 상기 클라이언트(300)에 간접적으로 제공한다.
상기 정보처리장치(200)는 상기 통신망(100) 상에서 수집되는 각종 정보를 캐시로서 저장하는 데이터베이스부(210)와 상기 통신망(100) 상에서 의심 트래픽을 발생시키는 의심 클라이언트정보를 실기간으로 모니터링하는 공격탐지부(220)를 포함한다. 그리고 또한, 상기 정보처리장치(200)는 이러한 로드 밸런싱 기능과 트래픽 부하를 분산시키는 기능이 구비된 부하분산부(230)와 상기 통신망(100) 상에서 수집된 데이터 정보를 수집하여 분류하고 캐시로 저장하며 정상 트래픽을 처리하는 제1캐싱엔진부(241)를 포함한다. 또한, 정보처리장치(200)는 의심 트래픽을 처리하는 제2캐싱엔진부(242)로 구성되는 캐시서버부(240)와 상기 데이터베이스부(210), 상기 공격탐지부(220), 상기 부하분산부(230) 및 상기 캐시서버부(240)와 데이터 송수신이 가능하도록 하는 통신부(250)를 포함하기도 한다. 그리고, 상기 데이터베이스부(210), 상기 공격탐지부(220), 상기 부하분산부(230), 상기 캐시서버부(240) 및 상기 통신부(250) 간의 데이터 흐름을 제어하는 제어부(260)도 포함한다.
그리고, 이러한 경우 이러한 각 부는 구체적으로 아래와 같다.
먼저, 상기 데이터베이스부(210)는 상기 통신망(100) 상에서 수집되는 각종 데이터 정보를 캐시로서 저장하여 두는 저장소이다. 이는 특정 URL 또는 URN(Uniform Resource Name)과 연관되어 있는 콘텐츠 및 이에 관한 각종 부가 정보를 저장할 수 있다. 또한, 상기 데이터베이스부(210)에는 의심되는 클라이언트의 IP 주소와 같은 위치 정보와 지역 정보 및 ISP(Internet Service Provider)별로 분류된 IP 대역에 관한 정보가 저장되어 있다. 이러한 의심 클라이언트에 관한 정보는 주로 해당 클라이언트가 특정 통신망 영역에 관하여 미리 설정되어 있는 임계량 이상의 트래픽 요청을 수행한 경우에 수집된다. 상기 임계량은 특정 통신망 영역마다 차별적으로 설정할 수 있다.
아울러, 상기 공격탐지부(220)는 상기 통신망(100) 상에서 발생하는 전체 트래픽의 양, 논-캐셔블 콘텐츠나 정보에 대한 요청 비율 및 의심 트래픽을 발생시키는 의심 클라이언트에 관한 정보를 실시간으로 모니터링하여 서비스거부공격 발생 여부를 감지하는 기능을 수행한다. 그리고, 상기 공격 탐지부(220)는 상기 통신망(100)의 상태를 서비스거부공격의 규모나 범위에 따라 정상상태와 경계상태 및 비상상태를 판단한다.
상기 부하분산부(230)는 로드 밸런싱을 수행하는 GLB(Global Load Balancing) 장치를 탑재하거나 이와 연동하여 상기 캐시 서버(240)에 대하여 트래픽 부하를 분산시키는 기능을 수행할 수 있다. 또한, 상기 부하분산부(230)는 상기 통신망(100) 상에서 부하를 분산시키는 기능을 수행하면서 서비스거부공격 발생에 따라 상기 통신망(100) 상태가 경계상태 또는 비상상태에 해당되는 것으로 판단하면 상기 데이터베이스부(210)와 연동하여 각 트래픽의 소스를 지역 및 ISP마다 분별하여 특정 지역/ISP에 의한 트래픽을 의심 트래픽으로 간주할 수 있다. 특히, 서비스거부공격에 자주 이용되는 지역/ISP에 의한 트래픽은 상기 통신망(100)의 상태가 경계상태 또는 비상상태에 해당되는 경우에는 일단 의심 트래픽으로 인식될 수 있다. 이에 관하여, 상기 부하분산부(230)가 인식된 의심 트래픽을 상기 캐시서버부(240)의 상기 제2캐싱엔진부(242)로 우회시키기도 한다.
상기 캐시서버부(240)는 상기 통신망(100) 상에서 수집된 정보를 통합적으로 분류하여 캐시로서 저장할 수 있고, 이와 같이 통합적으로 수집/분류/저장되는 캐시를 기반으로 하여 상기 클라이언트부(300)로부터의 정보 요청을 판별하여 해당 정보가 상기 캐시 또는 상기 메인서버부(400)로부터 제공되도록 하는 기능을 수행 할 수 있다. 즉, 상기 캐시서버부(240)는 요청된 정보가 상기 데이터베이스부(210)에 존재하면 상기 클라이언트부(300)가 상기 데이터베이스부(210)로부터 해당 정보를 제공 받을 수 있도록 하고, 그렇지 않으면 상기 클라이언트부(300)가 상기 캐시 서버부(240)를 통하여 상기 메인서버부(400)에 액세스하여 해당 정보를 제공 받을 수 있도록 하는 기능인 캐싱 기능을 수행할 수 있다. 상기 캐시서버부(240)는 상기 정보처리장치(200) 내의 독립된 서버로서 구현될 수도 있지만, 상기 정보처리장치(200) 내의 프로그램 모듈로서 구현되기도 한다.
또한, 상기 캐시서버부(240)는 서비스거부공격에 대한 효율적인 대응을 위하여 정상 트래픽과 의심 트래픽을 분리하여 처리할 수 있는데, 이를 위하여 상기 캐시서버부(240)는 정상 트래픽을 처리할 수 있는 제1캐싱엔진부(241) 및 의심 트래픽을 처리할 수 있는 제2캐싱엔진부(242)로 구성한다.
상기 통신부(250)는 상기 데이터베이스부(210)와 상기 공격탐지부(220), 상기 부하분산부(230) 및 상기 캐시서버부(240)로부터 데이터 송수신이 하도록 한다.
상기 제어부(260)는 상기 데이터베이스부(210)와 상기 공격탐지부(220), 상기 부하분산부(230), 상기 캐시서버부(240) 및 상기 통신부(250) 간의 데이터의 흐름을 제어하는 기능을 수행한다. 또한, 상기 제어부(260)는 상기 정보처리장치(200)의 각 구성요소 간의 데이터의 흐름을 제어함으로써 상기 데이터베이스(210)와 상기 공격탐지부(220), 상기 부하분산부(230), 상기 캐시서버부(240) 및 상기 통신부(250)에서 각각 고유 기능을 수행하도록 제어한다.
추가적으로, 일실시예에 따른 시스템은 상기 정보처리장치(200)에 연결하여 부가 서비스를 제공하는 외부연계하는 곳으로, 고장수리처 정보처리장치(미도시) 등을 포함한다.
부가해서, 이때 상기 각각의 장치는 상호 간에 자가망을 통해 연결한다. 이러한 경우, 각각의 장치는 TCP/IP 또는, 무선 중에서 어느 하나로 연결하기도 하며. 관리자의 모바일 단말기 등과는 와이파이 또는 LTE를 사용하기도 한다.
도 4는 다른 실시예에 따른 SDN에서의 분산형 DoS공격 방어방법을 설명하기 위한 도면이다.
도 4에 도시된 바와 같이, 다른 실시예에 따른 방법은 이러한 모니터링을 할 경우에 전술한 일실시예의 SYN 플러딩 모니터링 포맷에서 아래의 암호화 구성을 구비하므로, 여러 개의 상이한 위치에 있는 네트워크 디바이스와 샘플링 정보를 원활하게 획득한다.
a) 이를 위해, 먼저 이러한 SYN 플러딩 모니터링 포맷은 이러한 모니터링을 할 경우, 먼저 네트워크 디바이스에 설치된 해당 에이전트가 샘플링 된 패킷을 해당 콜렉터로 전송한다.
b) 그리고, 전술한 바대로, 해당 콜렉터는 설정 출발지 주소에서 상기 백로그큐를 점유하기 위해 설정량 이상의 SYN 패킷 송신여부를 탐지하여, 설정량 이상인 경우 공격자를 판단하고 해당 어플리케이션에 알린다.
c) 그래서, 이러한 공격자로 판별된 주소에서 오는 패킷을 차단하기 위한 플로우 테이블을 설정한다.
d) 그리고, 상기 콜렉터로 샘플링 된 패킷을 전송할 경우, 아래의 설정 암호화 구성으로부터 해당하는 정보를 암호화하여 해당 에이전트에 제공하도록 한다.
구체적으로 상기 암호화 구성은 아래와 같다.
1) 먼저, 해당하는 정보를 전송할 경우, 먼저 설정 ARIA(Academy Research Institute Agency) 암호화 포맷으로부터 평문의 모양이나 길이에 따라 각기 상이한 비밀키를 하나 선택한다.
그리고 또한, 이러한 비밀키 크기에 따라 다수의 상이한 라운드 중에서 한 가지를 선택하여 반복실행함으로써 암호문을 획득한다.
또한, 각각의 라운드별 함수는 라운드 키 덧셈과 치환 계층, 확산 계층을 포함한다.
2) 이러한 상태에서, 일실시예에 따라 이러한 라운드 키 덧셈 연산을 수행하기 전에, 평문과 비밀키로부터 n-1개의 스크램블러와(n개는 네트워크 디바이스 개수임) 배타적 논리합을 먼저 수행함으로써 변조한다.
3) 그리고, 각각의 변조 정보를 n개의 부분 비밀 키로 설정하고, n개의 네트워크 디바이스 각각으로 서로 다른 하나의 부분 비밀 키를 제공한다.
4) 다음, 이러한 변조를 수행한 경우에는, 해당하는 비밀키 크기에 따른 한 가지 라운드의 라운드 키 덧셈 연산을 포함한 라운드별 함수로서 반복실행함으로써 암호문을 획득한다.
그래서, 이러한 암호문을 획득할 경우마다, 상기 스크램블러가 라운드 키 덧셈 연산에서 시스템적으로 소멸하고 연산결과를 상용의 AES(Advanced Encryption Standard)와 동일한 형식으로 얻는다.
추가적으로, 이러한 구성은 이러한 경우, 아래의 구성으로부터 분산 정보를 구성하므로, 효과적으로 샘플링 된 정보를 수집하기 위한 각종 정보를 송수신할 수 있도록 한다.
구체적으로는, 상기 SYN 플러딩 모니터링 포맷은 아래와 같다.
a) 먼저, 상기 암호화 구성을 만들 경우, 다수의 상이한 네트워크 디바이스에 대하여 분산 정보를 각기 생성할 수 있도록 하기 위해서, 먼저 스크램블을 n-1개에서 하나를 뺀만큼의 비밀 키로 구성해서 n개의 분산 정보를 생성한다.
b) 그리고, 해당하는 분산 정보를 전송하기 위한 비밀 키를 구성한다.
c) 다음, n-1개의 스크램블과 비밀 키를 비트단위 배타적 논리합(Bitwise XOR)한다.
d) 그래서, 상기 배타적 논리합 정보를 n개의 부분 비밀 키로 설정하고, n개의 네트워크 디바이스들 각각으로 서로 다른 하나의 부분 비밀 키를 송신한다.
e) 그리고, 이러한 n개의 분산 정보 각각을 비밀 키로 암호화하여 n개의 암호화된 분산 정보를 생성한다.
f) 그래서 이를 통해, n개의 암호화된 분산 정보를 각각에 대응하는 n개의 네트워크 디바이스들로 송신하여 저장하도록 한다.
도 5는 일실시예에 따른 SDN에서의 분산형 DoS공격 방어방법을 순서대로 도시한 플로우 차트이다.
도 5에 도시된 바와 같이, 일실시예의 DoS공격 방어방법은 먼저 SDN 아키텍쳐 장치들 간에 메시지 프로토콜로 정보를 송수신할 경우, SDN의 DoS공격 방어를 위한 정보처리장치 내 제어부에서 트래픽을 모니터링하여 DoS공격 방어를 하도록 한다.
이러한 상태에서, 일실시예에 따른 방법은 이러한 DoS공격 방어를 할 경우, 백로그큐에 대해서 점유율을 설정 점유율과 비교 검사한다(S501). 그래서, 상기 비교 결과 점유율이 설정 점유율 미만인 경우에는(S502) 정상으로 판단하며(S503) 점유율이 설정 점유율 이상인 경우에 위험단계로 판단한다.
그리고 나서, 이렇게 정상으로 판단한 경우에는 모니터링을 위해 설정 SYN 플러딩 모니터링 포맷을 동작시키지 않고, 상기 위험단계로 판단한 경우에는 설정 SYN 플러딩 모니터링 포맷을 동작시킨다(S504).
이러한 경우에, 상기 SYN 플러딩 모니터링 포맷에서는 전술한 구성을 구비하므로 효과적으로 모니터링을 수행하고, 아울러 샘플링 정보를 원활하게 획득하기도 한다.
a) 구체적으로, 이러한 모니터링 동작은 먼저 이러한 경우, 네트워크 디바이스에 설치된 해당 에이전트가 샘플링 된 패킷을 해당 콜렉터로 전송한다.
b) 그리고 나서, 해당 콜렉터는 설정 출발지 주소에서 상기 백로그큐를 점유하기 위해 설정량 이상의 SYN 패킷 송신여부를 탐지하여, 설정량 이상인 경우 공격자를 판단하고 해당 어플리케이션에 알린다.
c) 다음, 이러한 공격자로 판별된 주소에서 오는 패킷을 차단하기 위한 플로우 테이블을 설정한다.
d) 그래서, 상기 콜렉터로 샘플링 된 패킷을 전송할 경우, 아래의 설정 암호화 구성으로부터 해당하는 정보를 암호화하여 해당 에이전트에 제공하도록 한다.
그래서, 이를 통해 이러한 공격자 주소에서 송신되는 패킷을 상기 플로우 테이블로서 공격 패킷을 차단한다(S505).
추가적으로, 이러한 경우 상기 공격 패킷에 대한 차단은 아래와 같다.
예를 들어, 먼저 이러한 공격 패킷을 차단할 경우, 먼저 트래픽 구별을 위하여 내부주소는 트래픽이 목적지로 가지는 서버주소로 설정하고 외부주소는 내부주소를 제외한 외부에서 공격이 가능한 주소로 정의한다.
그리고 또한, 샘플링 된 패킷의 출발지 주소를 이용하여 공격을 판별하도록 출발지 주소로 적용하고, 밸류는 패킷의 수를 이용하기 위해 프레임으로 설정하며 필터는 SYN 패킷을 적용한다.
다음, 공격을 판별하기 위해 초당 패킷 수의 임계치를 정의하여 등록한다.
그리고, 해당 콜렉터에 의해 임계치를 초과하는 이벤트의 수신 여부를 확인한다.
상기 확인 결과, 상기 임계치를 초과하는 이벤트를 수신하지 않은 경우에 정상으로 처리하고, 반면에 상기 임계치를 초과하는 이벤트를 수신한 경우에는 해당 오픈플로우 컨트롤러에게 외부 공격자로부터 온 트래픽을 차단하도록 지시한다.
추가적으로, 이러한 경우에 상기 플로우 테이블의 엔트리가 낭비되는 것을 막기 위해 상기 플로우 테이블의 엔트리를 제거하고 상기 공격자가 공격을 재개한 경우에 새로운 이벤트가 생성되어 다시 차단 명령을 수행한다.
이상과 같이, 일실시예는 SDN 아키텍쳐 장치들 간의 메시지 프로토콜에 대한 보안 위협 요소를 분석하고 이에 따른 보안요구조건을 도출해서, 이에 대한 효율적인 보안을 할 수 있도록 한다.
이를 위해, 일실시예는 먼저 기존과 같이, SDN 아키텍쳐 장치들 간에 메시지 프로토콜로 정보를 송수신할 경우, SDN의 DoS공격 방어를 위한 정보처리장치 내 제어부에서 트래픽을 모니터링하여 DoS공격 방어를 하도록 한다.
이러한 상태에서, 일실시예는 먼저, 이렇게 DoS공격 방어를 할 경우, 백로그큐에 대해서 점유율을 설정 점유율과 비교 검사하여, 상기 비교 결과 점유율이 설정 점유율 미만인 경우에는 정상으로 판단하며 점유율이 설정 점유율 이상인 경우에 위험단계로 판단한다.
그래서, 이렇게 정상으로 판단한 경우에는 모니터링을 위해 설정 SYN 플러딩 모니터링 포맷을 동작시키지 않고, 상기 위험단계로 판단한 경우에는 설정 SYN 플러딩 모니터링 포맷을 동작시킨다.
그리고, 이러한 경우에 상기 SYN 플러딩 모니터링 포맷은 아래와 같다.
a) 즉, 상기 모니터링을 할 경우, 먼저 네트워크 디바이스에 설치된 해당 에이전트가 샘플링 된 패킷을 해당 콜렉터로 전송한다.
b) 그리고, 해당 콜렉터는 설정 출발지 주소에서 상기 백로그큐를 점유하기 위해 설정량 이상의 SYN 패킷 송신여부를 탐지하여, 설정량 이상인 경우 공격자를 판단하고 해당 어플리케이션에 알린다.
c) 그래서 이러한 공격자로 판별된 주소에서 오는 패킷을 차단하기 위한 플로우 테이블을 설정한다.
d) 이를 통해, 상기 콜렉터로 샘플링 된 패킷을 전송할 경우, 전술한 네트워크 디바이스들에 대한 분산 암호화 구성으로부터 해당하는 정보를 암호화하여 해당 에이전트에 제공하도록 한다.
따라서, 이를 통해 일실시예는 SDN 아키텍쳐 장치들 간의 메시지 프로토콜에 대한 보안 위협 요소를 분석하고 이에 따른 보안요구조건의 도출이 가능하며 이에 대한 효율적인 보안 방법을 제공한다.
그리고 또한, 이러한 경우에 전술한 일실시예의 SYN 플러딩 모니터링 포맷에서 아래의 암호화 구성을 구비하므로, 여러 개의 상이한 위치에 있는 네트워크 디바이스와 샘플링 정보를 원활하게 획득한다.
한편, 부가적으로는 이에 더하여 이러한 방법은 이렇게 각종 정보를 제공할 경우에, 각각의 장치 상호 간에 데이터베이스를 일치 유지함으로써, 신속하고 편리하게 서비스를 제공하도록 한다.
이를 위해, 상기 정보처리장치는 아래의 동작을 수행한다.
먼저, 상기 네트워크 디바이스의 장치등록 정보/데이터를 저장한 테이블을 상호 간에 동일하게 구비하고, 상기 테이블에 대한 정합 관계를 미리 설정 등록한다.
그리고 나서, 상호 간에 테이블 내의 정보를 변경할 경우, 상기 정합 관계에 따라서 테이블을 각기 동기한다.
그래서, 이러한 테이블을 동기화할 경우에, 다수의 상이한 디바이스 유형별로의 데이터 유형마다 정보를 다원화함으로써, 데이터베이스를 일치한다.
그리고 또한, 이러한 방법은 이러한 경우에 아래의 구성으로부터 관리자 단말기에 연결을 확보하여 알림을 함으로써, 관리자에게 효과적으로 이상 여부 등을 알려 줄 수 있도록 하기도 한다.
이를 위해, 먼저 전술한 바에 따라 공격 패킷을 차단한 경우, 등록 관리자 모바일 단말기에 공격 패킷을 차단한 정보를 알림한다.
그리고, 이러한 상태에서 등록 관리자 모바일 단말기와 알림 정보를 송수신할 경우에는, 1차적으로 등록 로컬 통신망의 연결 여부를 확인한다. 그래서, 상기 확인 결과 상기 로컬 통신망을 연결한 경우에는 상이한 관리자위치별로 대응하는 설정 관리자 공용 계정으로서 연결한다.
상기 확인 결과, 상기 로컬 통신망을 연결하지 않은 경우에는 2차적으로 등록 무선 통신망의 연결 여부를 확인해서, 상기 확인 결과 상기 무선 통신망을 연결한 경우에는 개별 IP 주소로 연결한다.
그래서, 상기 확인 결과, 상기 무선 통신망을 연결하지 않은 경우에는 등록 이동 통신망의 단말기 식별 번호로 연결하므로, 등록 관리자 모바일 단말기와 연결을 확보한다.
그리고 또한, 이렇게 개별적으로 연결할 경우에는, 예를 들어, 먼저 로컬 통신망의 관리자 공용 계정과 상기 무선 통신망의 개별 IP 주소를 등록한 IP 테이블을 미리 구성한다.
그리고 나서, 등록 관리자 모바일 단말기로 정보를 제공할 경우에, 해당하는 통신망의 헬로우(HELLO) 메시지를 송신해서 응답 결과 내의 다음 홉(next hop) 스위치 IP 주소를 추출한다.
상기 다음 홉 스위치 IP 주소와 동일한 스위치 IP 주소를 스위치 인접지 연결 관계 리스트에서 확인한다.
상기 확인 결과, 상기 다음 홉 스위치 IP 주소와 동일한 스위치 IP 주소가 있는 경우, 해당하는 관리자 공용 계정 또는, 개별 IP 주소가 상기 IP 테이블에도 있는지 확인하므로, 비인가자의 접속 여부를 확인한다.
그래서 상기 확인 결과, 해당하는 관리자 공용 계정 또는, 개별 IP 주소가 상기 IP 테이블에도 있는 경우에 조인/정리(JOIN/PRUNE) 메시지를 송신하므로, 해당하는 통신망과 연결한다.
200 : 정보처리장치
300 : 클라이언트부
400 : 메인 서버부

Claims (4)

  1. SDN(Software Defined Network) 아키텍쳐 장치들 간에 메시지 프로토콜로 정보를 송수신할 경우, SDN의 DoS(Denial of Service)공격 방어를 위한 정보처리장치 내 제어부에서 트래픽을 모니터링하여, DoS공격 방어를 하도록 하는 방법에 있어서,
    상기 DoS공격 방어를 할 경우, 백로그큐에 대해서 점유율을 설정 점유율과 비교 검사하여, 상기 비교 결과 점유율이 설정 점유율 미만인 경우에는 정상으로 판단하며 점유율이 설정 점유율 이상인 경우에 위험단계로 판단하는 제 1 단계;
    상기 정상으로 판단한 경우에는 모니터링을 위해 설정 SYN 플러딩 모니터링 포맷을 동작시키지 않고, 상기 위험단계로 판단한 경우에는 설정 SYN 플러딩 모니터링 포맷을 동작시키고,
    상기 SYN 플러딩 모니터링 포맷은,
    a) 상기 모니터링을 할 경우, 먼저 네트워크 디바이스에 설치된 해당 에이전트가 샘플링 된 패킷을 해당 콜렉터로 전송하고,
    b) 해당 콜렉터는 설정 출발지 주소에서 상기 백로그큐를 점유하기 위해 설정량 이상의 SYN 패킷 송신여부를 탐지하여, 설정량 이상인 경우 공격자를 판단하고 해당 어플리케이션에 알리고,
    c) 상기 공격자로 판별된 주소에서 오는 패킷을 차단하기 위한 플로우 테이블을 설정하며,
    d) 상기 콜렉터로 샘플링 된 패킷을 전송할 경우, 아래의 설정 암호화 구성으로부터 패킷에 따른 정보를 암호화하여 해당 에이전트에 제공하도록 하고,
    상기 암호화 구성은,
    1) 상기 패킷에 따른 정보를 전송할 경우, 먼저 설정 ARIA(Academy Research Institute Agency) 암호화 포맷으로부터 평문의 모양이나 길이에 따라 각기 상이한 비밀키를 하나 선택하고,
    비밀키 크기에 따라 다수의 상이한 라운드 중에서 한 가지를 선택하여 반복실행함으로써 암호문을 획득하며,
    또한, 각각의 라운드별 함수는 라운드 키 덧셈과 치환 계층, 확산 계층을 포함하고,
    2) 상기 라운드 키 덧셈 연산을 수행하기 전에는, 평문과 비밀키로부터 n-1개의 스크램블러와(n개는 네트워크 디바이스 개수임) 배타적 논리합을 먼저 수행함으로써 변조하고,
    3) 각각의 변조 정보를 n개의 부분 비밀 키로 설정하고, n개의 네트워크 디바이스 각각으로 서로 다른 하나의 부분 비밀 키를 제공하며,
    4) 변조를 수행한 경우에는, 해당하는 비밀키 크기에 따른 한 가지 라운드의 라운드 키 덧셈 연산을 포함한 라운드별 함수로서 반복실행함으로써 암호문을 획득하고,
    상기 암호문을 획득할 경우마다, 상기 스크램블러가 라운드 키 덧셈 연산에서 시스템적으로 소멸하고 연산결과를 상용의 AES(Advanced Encryption Standard)와 동일한 형식으로 얻어지는 제 2 단계; 및
    상기 공격자로 판별된 주소에서 송신되는 패킷을 상기 플로우 테이블로서 공격 패킷을 차단하는 제 3 단계; 를 포함하고 있으며,

    상기 제 3 단계는,
    상기 공격 패킷을 차단할 경우, 먼저 트래픽 구별을 위하여 내부주소는 트래픽이 목적지로 가지는 서버주소로 설정하고 외부주소는 내부주소를 제외한 외부에서 공격이 가능한 주소로 정의하고,
    샘플링 된 패킷의 출발지 주소를 이용하여 공격을 판별하도록 출발지 주소로 적용하고, 밸류는 패킷의 수를 이용하기 위해 프레임으로 설정하며 필터는 SYN 패킷을 적용하고,
    공격을 판별하기 위해 초당 패킷 수의 임계치를 정의하여 등록하는 제 3-1 단계;
    상기 콜렉터에 의해 임계치를 초과하는 이벤트의 수신 여부를 확인하는 제 3-2 단계;
    상기 확인 결과, 상기 임계치를 초과하는 이벤트를 수신하지 않은 경우에 정상으로 처리하고, 반면에 상기 임계치를 초과하는 이벤트를 수신한 경우에는 오픈플로우 컨트롤러에게 외부 공격자로부터 온 트래픽을 차단하도록 지시하는 제 3-3 단계; 및
    상기 플로우 테이블의 엔트리가 낭비되는 것을 막기 위해 상기 플로우 테이블의 엔트리를 제거하고 상기 공격자가 공격을 재개한 경우에 새로운 이벤트가 생성되어 다시 차단 명령을 수행하는 제 3-4 단계; 를 포함하는 것을 특징으로 하는 SDN에서의 분산형 DoS공격 방어방법.
  2. 청구항 1에 있어서,
    상기 SYN 플러딩 모니터링 포맷은,
    a') 상기 암호화 구성을 만들 경우, 다수의 상이한 네트워크 디바이스에 대하여 분산 정보를 각기 생성할 수 있도록 하기 위해서, 먼저 스크램블을 n-1개에서 하나를 뺀만큼의 비밀 키로 구성해서 n개의 분산 정보를 생성하고,
    b') 상기 분산 정보를 전송하기 위한 비밀 키를 구성하여,
    c') n-1개의 스크램블과 비밀 키를 비트단위 배타적 논리합(Bitwise XOR)해서,
    d') 상기 배타적 논리합 정보를 n개의 부분 비밀 키로 설정하고, n개의 네트워크 디바이스들 각각으로 서로 다른 하나의 부분 비밀 키를 송신하고,
    e') n개의 분산 정보 각각을 비밀 키로 암호화하여 n개의 암호화된 분산 정보를 생성해서,
    f') n개의 암호화된 분산 정보를 각각에 대응하는 n개의 네트워크 디바이스들로 송신하여 저장하도록 하는 것; 을 특징으로 하는 SDN에서의 분산형 DoS공격 방어방법.
  3. 청구항 2에 있어서,
    상기 제 1 단계는,
    상기 네트워크 디바이스의 장치등록 정보/데이터를 저장한 테이블을 상호 간에 동일하게 구비하고, 상기 테이블에 대한 정합 관계를 미리 설정 등록하는 제 1-1 단계;
    상호 간에 테이블 내의 정보를 변경할 경우, 상기 정합 관계에 따라서 테이블을 각기 동기화하는 제 1-2 단계; 및
    상기 테이블을 동기화할 경우에, 다수의 상이한 디바이스 유형별로의 데이터 유형마다 정보를 다원화함으로써, 데이터베이스를 일치하는 제 1-3 단계; 를 포함하는 것을 특징으로 하는 SDN에서의 분산형 DoS공격 방어방법.
  4. 청구항 3에 있어서,
    상기 제 3 단계 후에,
    상기 공격 패킷을 차단한 경우, 등록 관리자 모바일 단말기에 공격 패킷을 차단한 정보를 알림하는 제 4 단계를; 더 포함하고,

    상기 제 4 단계는,
    등록 관리자 모바일 단말기와 알림 정보를 송수신할 경우에는, 1차적으로 등록 로컬 통신망의 연결 여부를 확인해서, 상기 확인 결과 상기 로컬 통신망을 연결한 경우에는 상이한 관리자위치별로 대응하는 설정 관리자 공용 계정으로서 연결하는 제 4-1 단계;
    상기 확인 결과, 상기 로컬 통신망을 연결하지 않은 경우에는 2차적으로 등록 무선 통신망의 연결 여부를 확인해서, 상기 확인 결과 상기 무선 통신망을 연결한 경우에는 개별 IP 주소로 연결하는 제 4-2 단계; 및
    상기 확인 결과, 상기 무선 통신망을 연결하지 않은 경우에는 등록 이동 통신망의 단말기 식별 번호로 연결하므로, 등록 관리자 모바일 단말기와 연결을 확보하는 제 4-3 단계; 를 포함하고,

    상기 제 4-2 단계는,
    상기 로컬 통신망의 관리자 공용 계정과 상기 무선 통신망의 개별 IP 주소를 등록한 IP 테이블을 미리 구성하는 제 4-2-1 단계;
    등록 관리자 모바일 단말기로 정보를 제공할 경우에, 해당하는 통신망의 헬로우(HELLO) 메시지를 송신해서 응답 결과 내의 다음 홉(next hop) 스위치 IP 주소를 추출하는 제 4-2-2 단계;
    상기 다음 홉 스위치 IP 주소와 동일한 스위치 IP 주소를 스위치 인접지 연결 관계 리스트에서 확인하는 제 4-2-3 단계;
    상기 확인 결과, 상기 다음 홉 스위치 IP 주소와 동일한 스위치 IP 주소가 있는 경우, 해당하는 관리자 공용 계정 또는, 개별 IP 주소가 상기 IP 테이블에도 있는지 확인하므로, 비인가자의 접속 여부를 확인하는 제 4-2-4 단계; 및
    상기 확인 결과, 해당하는 관리자 공용 계정 또는, 개별 IP 주소가 상기 IP 테이블에도 있는 경우에 조인/정리(JOIN/PRUNE) 메시지를 송신하므로, 해당하는 통신망과 연결하는 제 4-2-5 단계; 를 포함하는 것을 특징으로 하는 SDN에서의 분산형 DoS공격 방어방법.
















KR1020220012960A 2022-01-28 2022-01-28 SDN에서의 분산형 DoS공격 방어방법 KR102491738B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220012960A KR102491738B1 (ko) 2022-01-28 2022-01-28 SDN에서의 분산형 DoS공격 방어방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220012960A KR102491738B1 (ko) 2022-01-28 2022-01-28 SDN에서의 분산형 DoS공격 방어방법

Publications (1)

Publication Number Publication Date
KR102491738B1 true KR102491738B1 (ko) 2023-01-26

Family

ID=85110345

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220012960A KR102491738B1 (ko) 2022-01-28 2022-01-28 SDN에서의 분산형 DoS공격 방어방법

Country Status (1)

Country Link
KR (1) KR102491738B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118013512A (zh) * 2024-04-08 2024-05-10 国家计算机网络与信息安全管理中心 一种App个人信息上传行为检测方法、设备及产品

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170090161A (ko) * 2016-01-28 2017-08-07 동서대학교산학협력단 SDN에서의 DoS공격 방어시스템 및 이의 구현방법
KR102333781B1 (ko) * 2019-09-11 2021-12-01 동서대학교 산학협력단 스크램블러를 적용한 aria 암호화 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170090161A (ko) * 2016-01-28 2017-08-07 동서대학교산학협력단 SDN에서의 DoS공격 방어시스템 및 이의 구현방법
KR102333781B1 (ko) * 2019-09-11 2021-12-01 동서대학교 산학협력단 스크램블러를 적용한 aria 암호화 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118013512A (zh) * 2024-04-08 2024-05-10 国家计算机网络与信息安全管理中心 一种App个人信息上传行为检测方法、设备及产品

Similar Documents

Publication Publication Date Title
Modi et al. A survey of intrusion detection techniques in cloud
KR101812403B1 (ko) SDN에서의 DoS공격 방어시스템 및 이의 구현방법
Prasad et al. An efficient detection of flooding attacks to Internet Threat Monitors (ITM) using entropy variations under low traffic
Yan et al. Distributed denial of service attacks in software-defined networking with cloud computing
US9094372B2 (en) Multi-method gateway-based network security systems and methods
US7823204B2 (en) Method and apparatus for detecting intrusions on a computer system
US8881281B1 (en) Application and network abuse detection with adaptive mitigation utilizing multi-modal intelligence data
US20100071054A1 (en) Network security appliance
Monshizadeh et al. Detection as a service: An SDN application
CN115051836B (zh) 基于sdn的apt攻击动态防御方法及系统
Park et al. Session management for security systems in 5g standalone network
Cherian et al. Mitigation of DDOS and MiTM attacks using belief based secure correlation approach in SDN-based IoT networks
Iyengar et al. Trilateral trust based defense mechanism against DDoS attacks in cloud computing environment
Prasad et al. IP traceback for flooding attacks on Internet threat monitors (ITM) using Honeypots
KR102491738B1 (ko) SDN에서의 분산형 DoS공격 방어방법
EP1845468B1 (en) Method, computer network system and gate for identifying and controlling unsolicited traffic
RU183015U1 (ru) Средство обнаружения вторжений
Holik Protecting IoT Devices with Software-Defined Networks
Prasad et al. An efficient flash crowd attack detection to internet threat monitors (itm) using honeypots
Leelavathy A Secure Methodology to Detect and Prevent Ddos and Sql Injection Attacks
KR20190041324A (ko) Ddos 공격 차단 장치 및 방법
Sidhu et al. A Security Mechanism for Software Defined Vulnerabilities
Mantoo et al. A machine learning model for detection of man in the middle attack over unsecured devices
Thandeeswaran et al. Bi-level user authentication for enriching legitimates and eradicating duplicates in cloud infrastructure
Yang et al. WSN security

Legal Events

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