KR20200069632A - Method, apparatus and computer program using a software defined network to avoid didos attack - Google Patents

Method, apparatus and computer program using a software defined network to avoid didos attack Download PDF

Info

Publication number
KR20200069632A
KR20200069632A KR1020180156908A KR20180156908A KR20200069632A KR 20200069632 A KR20200069632 A KR 20200069632A KR 1020180156908 A KR1020180156908 A KR 1020180156908A KR 20180156908 A KR20180156908 A KR 20180156908A KR 20200069632 A KR20200069632 A KR 20200069632A
Authority
KR
South Korea
Prior art keywords
switch
traffic
controller
network
information
Prior art date
Application number
KR1020180156908A
Other languages
Korean (ko)
Other versions
KR102207289B1 (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 KR1020180156908A priority Critical patent/KR102207289B1/en
Publication of KR20200069632A publication Critical patent/KR20200069632A/en
Application granted granted Critical
Publication of KR102207289B1 publication Critical patent/KR102207289B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer

Landscapes

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

Abstract

The present invention relates to a method for preventing a DDoS attack by a controller in a software defined network, wherein a first switch, a second switch, and a third switch are connected to the controller. According to the present invention, the method comprises the steps of: collecting information on a network layer (L3) of traffic from the first switch at the controller; collecting, by the controller, information on a transport layer (L4) of the traffic from the second switch; and collecting information on a presentation layer (L6) and an application layer (L7) of the traffic from the third switch in the controller.

Description

소프트웨어 정의 네트워크를 이용하여 디도스 공격을 회피하는 방법, 장치 및 컴퓨터 프로그램 {METHOD, APPARATUS AND COMPUTER PROGRAM USING A SOFTWARE DEFINED NETWORK TO AVOID DIDOS ATTACK}How to evade DDoS attacks using software-defined networks, device and computer programs {METHOD, APPARATUS AND COMPUTER PROGRAM USING A SOFTWARE DEFINED NETWORK TO AVOID DIDOS ATTACK}

본 발명은 소프트웨어 정의 네트워킹을 이용하여 네트워크의 트래픽을 추적하고, 이를 기반으로 디도스 공격을 회피하는 방법 및 장치에 대한 것이다. The present invention relates to a method and apparatus for tracking traffic of a network using software-defined networking and evading a DDoS attack based on the traffic.

최근 네트워크 기능 가상화 기술은 하드웨어 위주였던 네트워크 아키텍처 전반에 새로운 변화를 일으키고 있다. 네트워크 기능 가상화, 즉 NFV는 네트워크의 구성 요소인 하드웨어와 소프트웨어를 분리하고, 물리적인 네트워크 설비의 기능을 가상화하여 VM(Virtual Machine) 서버, 범용 프로세서를 탑재한 하드웨어, 클라우딩 컴퓨터에서 실행하는 개념이다. Recently, network function virtualization technology is making new changes to the overall hardware-oriented network architecture. Network function virtualization, or NFV, is a concept that separates hardware and software, which are components of the network, and virtualizes the functions of physical network equipment to run on a virtual machine (VM) server, hardware equipped with a general-purpose processor, and a cloud computer. .

이에 따르면 라우터, 로드 밸런서, 방화벽, 침입 방지, 가상 사설망 등 다양한 네트워크 장비들을 일반 서버에서 소프트웨어로 구현할 수 있어 네트워크 구성의 벤더 의존성에서 벗어날 수 있다. 값비싼 전용 장비를 범용 하드웨어와 전용 소프트웨어로 대체할 수 있기 때문이다. 나아가 장비 운영 비용 절감은 물론 트래픽 변화 등에 신속하게 대처할 수 있는 장점이 있다. According to this, various network devices such as routers, load balancers, firewalls, intrusion prevention, and virtual private networks can be implemented as software on a general server, which can escape the vendor dependency of network configuration. This is because expensive dedicated equipment can be replaced with general purpose hardware and dedicated software. Furthermore, it has the advantage of being able to quickly respond to traffic changes as well as reduce equipment operation costs.

한편 소프트웨어 정의 네트워킹, 즉 SDN 기술은 복잡한 컨트롤 플레인(control plane)의 기능을 데이터 플레인(data plane)과 분리하는 것이 특징이다. 이에 따르면 컨트롤 플레인의 복잡한 기능을 소프트웨어로 처리하고, 데이터 플레인은 네트워크 패킷의 전달, 무시, 변경 등 컨트롤 플레인이 지시하는 단순한 기능만을 수행하게 된다. Meanwhile, software-defined networking, that is, SDN technology, is characterized by separating the functions of a complex control plane from a data plane. According to this, the complex functions of the control plane are processed by software, and the data plane performs only simple functions indicated by the control plane such as network packet delivery, ignore, and change.

이러한 기술을 적용하면 복잡한 하드웨어의 제약 없이 소프트웨어로 새로운 네트워크 기능을 개발할 수 있으며, 동시에 이전 네트워크 구조에서 불가능했던 다양한 시도를 할 수 있게 되었다.By applying these technologies, new network functions can be developed with software without the constraints of complicated hardware, and at the same time, various attempts that were impossible in the previous network structure have been made possible.

상기 NFV와 SDN은 별개의 기술이지만 상호 보완적으로 작용할 수 있다. NFV에 의해 소프트웨어로 구현된 각종 네트워크 기능을 SDN을 이용하여 효율적으로 제어할 수 있기 때문이다. The NFV and SDN are separate technologies, but may complement each other. This is because various network functions implemented in software by NFV can be efficiently controlled using SDN.

Open Networking Foundation, “Specification 1.2.0”Open Networking Foundation, “Specification 1.2.0”

본 발명의 실시예를 따르는 소프트웨어 정의 네트워크에서 컨트롤러가 디도스 공격을 방어하는 방법은, 제 1 스위치, 제 2 스위치 및 제 3 스위치가 연결되어 있으며, 상기 컨트롤러에서 상기 제 1 스위치로부터 트래픽의 네트워크 계층 (L3)에 대한 정보를 수집하는 단계; 상기 컨트롤러에서, 상기 제 2 스위치로부터 상기 트래픽의 트랜스포트 계층 (L4) 에 대한 정보를 수집하는 단계; 상기 컨트롤러에서, 상기 제 3 스위치로부터 상기 트래픽의 프리젠테이션 계층 (L6) 및 어플리케이션 계층 (L7)에 대한 정보를 수집하는 단계를 포함하는 것을 특징으로 한다. In a software defined network according to an embodiment of the present invention, a method for a controller to protect a DDoS attack is connected to a first switch, a second switch, and a third switch, and the network layer of traffic from the first switch in the controller Collecting information about (L3); Collecting, by the controller, information on a transport layer (L4) of the traffic from the second switch; And in the controller, collecting information about the presentation layer (L6) and application layer (L7) of the traffic from the third switch.

본 발명의 실시예를 따른느 소프트웨어 정의 네트워크에서 컨트롤러가 디도스 공격을 방어하는 방법은, 제 1 스위치, 제 2 스위치 및 제 3 스위치가 연결되어 있으며, 상기 컨트롤러에서 상기 제 1 스위치로부터 트래픽의 네트워크 계층 (L3)에 대한 정보를 수집하는 단계; 상기 컨트롤러에서, 상기 제 2 스위치로부터 상기 트래픽의 트랜스포트 계층 (L4) 에 대한 정보를 수집하는 단계; 상기 컨트롤러에서, 상기 제 3 스위치로부터 상기 트래픽의 프리젠테이션 계층 (L6) 및 어플리케이션 계층 (L7)에 대한 정보를 수집하는 단계를 포함하는 것을 특징으로 한다. In a software defined network according to an embodiment of the present invention, a method for a controller to defend a DDoS attack is connected to a first switch, a second switch, and a third switch, and the controller is configured to network traffic from the first switch. Collecting information about the layer (L3); Collecting, by the controller, information on a transport layer (L4) of the traffic from the second switch; And in the controller, collecting information about the presentation layer (L6) and application layer (L7) of the traffic from the third switch.

본 발명을 따르면, 복수의 스위치에 분산하여 OSI 레이어별 트래픽 정보를 수집할 수 있어 네트워크 성능 저하 없이 디도스 공격을 효과적으로 방어할 수 있는 효과가 있다. According to the present invention, traffic information for each OSI layer can be collected by distributing to a plurality of switches, thereby effectively preventing a DDoS attack without degrading network performance.

도 1은 소프트웨어 정의 네트워킹을 설명하기 위한 도면
도 2는 본 발명의 실시예를 따르는 디도스 공격 방어 방법을 설명하기 위한 순서도
도 3는 본 발명의 실시예를 따르는 트래픽 추적 방법을 설명하기 위한 순서도
1 is a diagram for describing software-defined networking.
2 is a flow chart for explaining a method for defending a DDoS attack according to an embodiment of the present invention
3 is a flowchart illustrating a traffic tracking method according to an embodiment of the present invention

본 발명은 이하에 기재되는 실시예들의 설명 내용에 한정되는 것은 아니며, 본 발명의 기술적 요지를 벗어나지 않는 범위 내에서 다양한 변형이 가해질 수 있음은 자명하다. 그리고 실시예를 설명함에 있어서 본 발명이 속하는 기술 분야에 널리 알려져 있고 본 발명의 기술적 요지와 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다. The present invention is not limited to the description of the embodiments described below, and it is apparent that various modifications may be made without departing from the technical spirit of the present invention. In describing the embodiments, descriptions of technical contents that are widely known in the technical field to which the present invention pertains and which are not directly related to the technical subject matter of the present invention will be omitted.

한편, 첨부된 도면에서 동일한 구성요소는 동일한 부호로 표현된다. 그리고 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 개략적으로 도시될 수도 있다. 이는 본 발명의 요지와 관련이 없는 불필요한 설명을 생략함으로써 본 발명의 요지를 명확히 설명하기 위함이다. 이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예들을 상세히 설명한다. Meanwhile, in the accompanying drawings, the same components are represented by the same reference numerals. In the accompanying drawings, some components may be exaggerated, omitted, or schematically illustrated. This is to clearly describe the gist of the present invention by omitting unnecessary descriptions not related to the gist of the present invention. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

본 발명의 명세서에서 “플로우 룰”의 용어는 해당 업계의 통상의 기술자 입장에서 소프트웨어 정의 네트워크에서 컨트롤러 서버가 적용하는 네트워크 정책을 의미하는 것으로 이해되어야 한다.It should be understood that the term “flow rule” in the specification of the present invention refers to a network policy applied by a controller server in a software defined network from the viewpoint of a person skilled in the art.

나아가 본 명세서에서 오픈플로우 스위치는 오픈플로우 프로토콜만을 지원하는 스위치, 오픈플로우 프로토콜을 지원하는 가상 스위치, 오픈플로우 프로토콜을 지원하는 일반적인 L2 스위치를 포함하는 개념으로 이해될 수 있다.Furthermore, in this specification, the open flow switch may be understood as a concept including a switch supporting only the open flow protocol, a virtual switch supporting the open flow protocol, and a general L2 switch supporting the open flow protocol.

도 1은 소프트웨어 정의 네트워크의 구성을 설명하기 위한 도면이다. 도 1을 참조하면, 소프트웨어 정의 네트워크(Software Defined Network)는 컨트롤러 서버 (100), 네트워크 장비(200) 및 호스트(300)를 포함할 수 있다. 네트워크 장비(200)와 호스트(300)는 노드(Node)라고 지칭할 수 있으며, 링크(Link)는 2개의 노드 사이의 연결을 의미할 수 있다. 1 is a view for explaining the configuration of a software-defined network. Referring to FIG. 1, a software defined network may include a controller server 100, network equipment 200 and a host 300. The network equipment 200 and the host 300 may be referred to as a node, and a link may mean a connection between two nodes.

컨트롤러 서버(100)는 네트워크 장비(200)를 관리하는 기능을 하는 것으로, 복수의 네트워크 장비(200)를 중앙 집중형으로 관리 및 제어한다. 구체적으로 컨트롤러 서버(100)는 토폴로지 관리(Topology management), 패킷 처리와 관련된 경로 관리(Path management), 링크 디스커버리(Link discovery), 패킷 흐름인 플로우 관리(Flow management) 등의 기능을 하는 응용 프로그램이 탑재된 형태로 구현될 수 있다. The controller server 100 functions to manage the network equipment 200, and centrally manages and controls the plurality of network equipment 200. Specifically, the controller server 100 is an application that functions such as topology management, path management related to packet processing, link discovery, and flow management, which is a packet flow. It can be implemented in a mounted form.

네트워크 장비(200)는 컨트롤러 서버(100)의 제어에 따라 패킷을 처리하는 기능을 한다. 네트워크 장비(200)의 예로는 오픈플로우 스위치가 있다.The network equipment 200 functions to process packets under the control of the controller server 100. An example of the network equipment 200 is an open flow switch.

소프트웨어 정의 네트워크에서 컨트롤러 서버(100)와 오픈플로우 스위치(200)는 상호간 정보를 주고 받아야 하며, 이를 위한 프로토콜로 널리 사용되는 것이 오픈플로우 (OpenFlow) 프로토콜이다. 즉, 오픈플로우 프로토콜은 컨트롤러 서버(100)와 오픈플로우 스위치(200)간 서로 통신할 수 있는 표준 규격이다. In the software-defined network, the controller server 100 and the open flow switch 200 must exchange information with each other, and the OpenFlow protocol is widely used as a protocol for this. That is, the open flow protocol is a standard specification that can communicate with each other between the controller server 100 and the open flow switch 200.

오픈플로우 프로토콜을 따르면, 스위치(200)는 컨트롤 채널(Control Channel)을 통해 컨트롤러 서버(100)와 정보를 교환하고, 파이프라인(Pipeline) 프로세싱을 위한 하나 이상의 플로우 테이블(Flow table), 그룹 테이블, 미터 테이블 및/또는 패킷 전달을 위한 네트워크 인터페이스로 하나 이상의 포트를 가질 수 있다.According to the open flow protocol, the switch 200 exchanges information with the controller server 100 through a control channel, and one or more flow tables, group tables for pipeline processing, The meter table and/or network interface for packet delivery may have one or more ports.

한편, 디도스 공격이란 시스템을 악의적으로 공격해 해당 시스템의 자원을 부족하게 하여 원래 의도된 용도로 사용하지 못하게 하는 공격을 의미한다. 특정 서버에 수많은 접속 시도를 만들어 다른 이용자가 정상적으로 서비스 이용을 하지 못하게 하거나, 서버의 TCP 연결을 바닥내는 등의 공격이 이 범위에 포함될 수 있다. On the other hand, a DDoS attack means an attack that attacks a system maliciously and shortens the resources of the system, preventing it from being used for its intended purpose. Attacks such as making a number of connection attempts to a specific server, preventing other users from using the service normally, or terminating the server's TCP connection may be included in this range.

디도스 공격의 수단, 동기, 표적은 다양할 수 있지만, 일반적으로 인터넷 사이트 또는 서비스의 기능을 방해하거나 중단을 초래할 수 있다. 통상적으로 디도스는 유명한 사이트, 예를 들어 은행, 신용카드 지불 게이트웨이, 또는 루트 네임 서버(root name server)를 상대로 벌어진다. The means, motives, and targets of DDoS attacks can vary, but they can generally interfere with or disrupt the functioning of Internet sites or services. Typically, DDoS is played against famous sites, such as banks, credit card payment gateways, or root name servers.

이러한 디도스 공격은 네트워크 레이어 (Layer 3), 트랜스포트 레이어 (Layer 4), 프레젠테이션 레이어 (Layer 6) 및 애플리케이션 레이어 (Layer 7)에서 발생하며, 각 계층 별 공격 예시는 아래와 같다. This DDoS attack occurs at the network layer (Layer 3), transport layer (Layer 4), presentation layer (Layer 6), and application layer (Layer 7).

레이어 3 : UDP 반사공격Layer 3: UDP reflection attack

레이어 4 : SYN floodLayer 4: SYN flood

레이어 6 : SSL 남용Layer 6: SSL abuse

레이어 7 : HTTP 플러드 또는 DNS 쿼리 플러드Layer 7: HTTP flood or DNS query flood

이와 같이 디도스 공격는 OSI 각 계층에 대해 발생하기 때문에 각 계층의 공격을 하나의 네트워크 장비에서 대응하는 경우, 해당 네트워크 장비에 많은 부하가 발생할 수 있다. 나아가 종래 디도스 공격을 대응하기 위해서는 트래픽 추적을 위한 전용 장비를 네트워크에 설치해야 하며, 전용 장비에 부하가 발생하면 전체 네트워크 성능이 하락할 수 있다. As such, the DDoS attack occurs for each layer of the OSI, and when the attack of each layer corresponds to one network device, a large load may be generated on the corresponding network device. Furthermore, in order to respond to the conventional DDoS attack, dedicated equipment for traffic tracking must be installed in the network, and if the dedicated equipment has a load, overall network performance may deteriorate.

그런데 이러한 문제가 발생하는 것은 레가시 네트워크에서는 스위치 등의 네트워크 장비들이 기본적으로 독립적으로 동작하기 때문이다. 트래픽 정보를 수집하는 스위치는 해당 스위치를 거쳐가는 트래픽만 확인할 수 있기 때문에, 전체 네트워크의 트래픽을 추적하기 위해서는 별도의 장치가 필요하게 된다. However, this problem occurs because network devices such as switches basically operate independently in a legacy network. Since a switch that collects traffic information can check only traffic passing through the switch, a separate device is required to track traffic of the entire network.

그러나 소프트웨어정의 네트워크에서 스위치는 컨트롤러의 제어를 받아 트래픽을 처리하게 된다. 보다 구체적으로 컨트롤러는 네트워크 토폴로지를 정보를 미리 파악하고, 전체 네트워크 정책을 결정할 수 있으며, 스위치는 플로우 룰을 컨트롤러로부터 수신하여 이를 기반으로 트래픽을 처리하게 된다.However, in a software defined network, the switch is under the control of the controller and processes the traffic. More specifically, the controller can grasp the network topology in advance and determine the overall network policy, and the switch receives the flow rule from the controller and processes the traffic based on this.

본 발명은 종래 기술의 문제를 해결하기 위하여 이와 같은 소프트웨어 정의 네트워킹의 특성에 주목하였다. 본 발명의 실시예를 따르면, 복수의 스위치에서 분산하여 OSI 레이어별 트래픽 정보를 수집할 수 있다. The present invention focuses on the characteristics of such software-defined networking in order to solve the problems of the prior art. According to an embodiment of the present invention, traffic information for each OSI layer may be collected by distributing in a plurality of switches.

하나의 네트워크 장비에서 전체 네트워크의 모든 계층의 트래픽 정보를 추적하는 것이 아니기 때문에, 본 발명의 실시예를 따르면 네트워크 성능 저하 없이 디도스 공격을 효과적으로 방어할 수 있다. Since one network device does not track traffic information of all layers of the entire network, according to an embodiment of the present invention, a DDoS attack can be effectively prevented without degrading network performance.

예를 들어, 도 2의 예에서, 제 1 스위치 210 내지 제 3 스위치 230을 거쳐, 호스트 205에서 호스트 250로 포워딩되는 트래픽 260을 고려할 수 있다.For example, in the example of FIG. 2, traffic 260 forwarded from the host 205 to the host 250 through the first switch 210 to the third switch 230 may be considered.

본 발명의 실시예를 따르면, 컨트롤러는 제 1 스위치 210로부터 트래픽 260의 네트워크 계층 (L3)에 대한 정보를 수집할 수 있다. 보다 구체적으로, 제 1 스위치 210에 트래픽 260이 유입되면, 제 1 스위치는 해당 패킷의 경로를 문의하시 위한 패킷인 메시지를 컨트롤러에 전송하며, 컨트롤러는 제 1 스위치 210으로부터 수신된 패킷인 메시지의 내용을 분석하여 트래픽 260의 네트워크 계층에 대한 정보를 수집할 수 있다. According to an embodiment of the present invention, the controller may collect information on the network layer L3 of traffic 260 from the first switch 210. More specifically, when traffic 260 flows into the first switch 210, the first switch transmits a message, which is a packet for querying the path of the corresponding packet, to the controller, and the controller content of the message, which is a packet received from the first switch 210 By analyzing, it is possible to collect information on the network layer of the traffic 260.

이후 컨트롤러는 트래픽 260의 L3 정보를 기반으로 트래픽 260이 디도스 공격에 해당한다고 판단하면, 제 1 스위치 210에 플로우 룰을 전송하여 트래픽 260을 드랍하거나 경로를 우회하도록 설정할 수 있다. Subsequently, if the controller determines that the traffic 260 corresponds to a DDoS attack based on the L3 information of the traffic 260, the controller may be configured to drop the traffic 260 or bypass the route by sending a flow rule to the first switch 210.

본 발명의 실시예를 따르면, 컨트롤러는 제 1 스위치 210로부터 트래픽 260의 네트워크 계층 (L3)에 대한 정보를 수집할 수 있다. 보다 구체적으로, 제 1 스위치 210에 트래픽 260이 유입되면, 제 1 스위치는 해당 패킷의 경로를 문의하시 위한 패킷인 메시지를 컨트롤러에 전송하며, 컨트롤러는 제 1 스위치 210으로부터 수신된 패킷인 메시지의 내용을 분석하여 트래픽 260의 네트워크 계층에 대한 정보를 수집할 수 있다. According to an embodiment of the present invention, the controller may collect information on the network layer L3 of traffic 260 from the first switch 210. More specifically, when traffic 260 flows into the first switch 210, the first switch transmits a message, which is a packet for querying the path of the corresponding packet, to the controller, and the controller content of the message, which is a packet received from the first switch 210 By analyzing, it is possible to collect information on the network layer of the traffic 260.

이후 컨트롤러는 트래픽 260의 L3 정보를 기반으로 트래픽 260이 디도스 공격에 해당한다고 판단하면, 제 1 스위치 210에 플로우 룰을 전송하여 트래픽 260을 드랍하거나 경로를 우회하도록 설정할 수 있다. Subsequently, if the controller determines that the traffic 260 corresponds to a DDoS attack based on the L3 information of the traffic 260, the controller may be configured to drop the traffic 260 or bypass the route by sending a flow rule to the first switch 210.

한편, 본 발명의 다른 실시예를 따르면, 오픈플로우 스위치에 패킷 분석을 위한 전용 플로우 테이블을 추가하고 이를 바탕으로 L3에 대한 플로우 정보를 수집할 수 있다. 패킷 분석을 위한 전용 플로우 룰은 오픈플로우 스위치의 파이프라인 프로세싱의 입구에 위치하며, 트래픽 처리를 위한 플로우 룰에 영향을 미치지 않는 특징이 있다. 이에 대한 보다 구체적인 설명은 첨부된 도 3에 대한 설명에서 후술된다. Meanwhile, according to another embodiment of the present invention, a dedicated flow table for packet analysis may be added to the open flow switch, and flow information for L3 may be collected based on this. The dedicated flow rule for packet analysis is located at the entrance of pipeline processing of the open flow switch, and has a feature that does not affect the flow rule for traffic processing. More detailed description of this will be described later in the description of the accompanying FIG. 3.

한편, 제 1 스위치 210를 통과한 트래픽 260은 제 2 스위치 220에서 트랜스포트 계층 (L4) 에 대한 정보가 생성될 수 있다. L4 계층 정보는 넷플로우 프로토콜을 이용하여 수집될 수 있다. Meanwhile, information about the transport layer L4 may be generated in the traffic 260 passing through the first switch 210 in the second switch 220. L4 layer information may be collected using the NetFlow protocol.

예를 들어 제 2 스위치 220에서 넷플로우 프로토콜을 지원하면, 트래픽 260에 대한 출발지 IP 주소, 목적지 IP 주소, 출발지 포트, 목적지 포트, 프로토콜 종류 등 5 튜플 단위로 통계 정보가 생성될 수 있다. 제 2 스위치 220에서 생성된 통계 정보는 컨트롤러로 전달될 수 있으며, 컨트롤러는 네트워크 전체의 통계 정보를 취합하여 패킷의 경로를 계산하거나, 필요한 정보에 대해 필터링하는 방식으로 트래픽을 추적할 수 있다. For example, if the second switch 220 supports the NetFlow protocol, statistical information may be generated in units of 5 tuples such as source IP address, destination IP address, source port, destination port, and protocol type for traffic 260. The statistical information generated by the second switch 220 may be transmitted to the controller, and the controller may track traffic by collecting statistical information of the entire network and calculating a packet path or filtering for necessary information.

이후 컨트롤러는 트래픽 260의 L4 정보를 기반으로 트래픽 260이 디도스 공격에 해당한다고 판단하면, 제 2 스위치 220에 플로우 룰을 전송하여 트래픽 260을 드랍하거나 경로를 우회하도록 설정할 수 있다. Subsequently, if the controller determines that the traffic 260 corresponds to a DDoS attack based on the L4 information of the traffic 260, the controller may set the second switch 220 to drop the traffic 260 or bypass the route.

한편, 제 2 스위치 220을 통과한 트래픽 260은 제 3 스위치 230에서 프리젠테이션 계층 (L6) 및 어플리케이션 계층 (L7)에 대한 정보가 생성될 수 있다. Meanwhile, information about the presentation layer (L6) and the application layer (L7) may be generated in the traffic 260 passing through the second switch 220 in the third switch 230.

보다 구체적으로 제 3 스위치 230에 어플리케이션 레벨의 패킷 분석을 지원하는 네트워크 장비를 설치하면, 해당 네트워크 장비는 패킷의 태핑 (tapping) 또는 인라인 (inline)을 구성하여 패킷 내용을 확인할 수 있다. 예를 들어 DPI (Deep Packet Inspection)는 패킷이 비디오 파일인지 음성 파일인지 컨텐츠의 형태는 물론 보안 사항을 위반하는 내용이 없는지 여부까지 확인할 수 있다. More specifically, when network equipment supporting application-level packet analysis is installed in the third switch 230, the network equipment can check packet contents by configuring tapping or inline of packets. For example, DPI (Deep Packet Inspection) can check whether a packet is a video file or a voice file, and whether there is no content that violates security, as well as the type of content.

이러한 패킷 내용에 대한 정보는 컨트롤러로 전달될 수 있으며, 컨트롤러는 네트워크 전체의 정보를 취합하여 디도스 공격 여부를 판단하는데 사용될 수 있다. 즉, 컨트롤러는 트래픽 260의 L6, L7 정보를 기반으로 트래픽 260이 디도스 공격에 해당한다고 판단하면, 제 3 스위치 230에 플로우 룰을 전송하여 트래픽 260을 드랍하거나 경로를 우회하도록 설정할 수 있다. Information about the contents of these packets can be transmitted to the controller, and the controller can be used to determine whether a DDoS attack is achieved by collecting information from the entire network. That is, if the controller determines that the traffic 260 corresponds to a DDoS attack based on the L6 and L7 information of the traffic 260, the controller may set the traffic to drop the traffic 260 or bypass the route by sending a flow rule to the third switch 230.

도 3는 본 발명의 실시예를 따라 Layer 2 레벨의 트래픽 추적 방법을 설명하기 위한 순서도이다.3 is a flowchart illustrating a method of tracing a layer 2 level traffic according to an embodiment of the present invention.

단계 310에서 컨트롤러는 네트워크 토폴로지를 구성할 수 있다. In step 310, the controller may configure a network topology.

예를 들어, 컨트롤러는 LLDP 프로토콜을 이용하여 네트워크에 위치한 스위치 위치 및 포트 정보를 획득할 수 있다. 나아가 컨트롤러는 호스트에 연결된 스위치로부터 수신한 패킷인 메시지를 이용하여 네트워크에 위치한 호스트의 위치 및 포트 정보를 획득하여 네트워크 토폴로지를 구성할 수 있다. For example, the controller may acquire switch location and port information located in a network using the LLDP protocol. Furthermore, the controller may configure the network topology by acquiring the location and port information of the host located in the network using a message that is a packet received from a switch connected to the host.

단계 310에서 컨트롤러는 모든 스위치의 파이프라인 프로세싱을 이루는 플로우 테이블의 id를 1씩 추가할 수 있다. 즉, 트래픽 처리를 위한 플로우 테이블의 id를 1씩 추가하여 파이프라인 프로세싱의 입구인 플로우 테이블 (flow table 0)을 확보할 수 있다. In step 310, the controller may add the ids of the flow tables constituting pipeline processing of all switches by one. That is, it is possible to secure a flow table (flow table 0), which is an entrance to pipeline processing, by adding an id of a flow table for traffic processing by one.

단계 320에서 컨트롤러는 모든 스위치의 파이프라인 프로세싱의 첫번째 플로우 테이블 (flow table 0)을 트래픽 분석을 위한 플로우 룰로 구성할 수 있다. 보다 구체적으로, 컨트롤러는 모든 플로우 엔트리의 인스트럭션에 Goto table 1을 기록하고, 매치 필드에 추적하고자 하는 트래픽의 정보를 기록하여 flow table 0을 생성하고 이를 각각의 스위치에 적용할 수 있다. In step 320, the controller may configure the first flow table (flow table 0) of pipeline processing of all switches as a flow rule for traffic analysis. More specifically, the controller records Goto table 1 in the instructions of all flow entries, records traffic information to be tracked in the match field, generates flow table 0, and applies it to each switch.

특히 본 발명의 실시예를 따르는 flow table 0은 최우선순위 (priority 0)의 플로우 엔트리로 매치 필드(match field)에 *, 인스트럭션 (instruction)에 goto table 1을 적용하는 특징이 있다. 이는 추적 대상이 아닌 트래픽은 table-id 1 부터 적용되는 트래픽 처리를 위한 플로우 테이블에 따라 처리하도록 하기 위한 것이다. In particular, flow table 0 according to an embodiment of the present invention has a feature of applying * to a match field and goto table 1 to an instruction as a flow entry of priority 0. This is to allow traffic not to be tracked according to a flow table for processing traffic applied from table-id 1.

반면 추적 대상인 트래픽은 상기 flow table 0의 다른 플로우 엔트리에 따라 카운터에 기록을 남기고, flow table 1부터 시작되는 파이프라인 프로세싱에 따라 처리될 것이다.On the other hand, the traffic to be tracked is recorded in the counter according to another flow entry in the flow table 0, and will be processed according to pipeline processing starting from flow table 1.

예를 들어 컨트롤러는 오픈플로우 프로토콜에 따라, 매치 필드에 트래픽의 소스 IP 주소, 도착지 IP 주소, VLAN id, VLAN priority, MPLS 라벨, MPLS 트래픽 클래스, 소스 MAC 주소, 도착지 MAC 주소, 인포트, 아웃포트 등의 정보를 기록하여 원하는 트래픽을 추적할 수 있다. For example, according to the OpenFlow protocol, the controller can match the source IP address, destination IP address, VLAN id, VLAN priority, MPLS label, MPLS traffic class, source MAC address, destination MAC address, inport, and export in the match field. You can track the traffic you want by recording such information.

단계 330에서 컨트롤러는 전체 스위치의 Table id 0의 카운터 정보를 수집할 수 있다. 본 발명의 실시예를 따르면, 모든 스위치의 파이프라인 프로세싱을 이루는 table id 0의 모든 인스트럭션은 goto table 1이기 때문에, table-id 0의 매치 필드에 매칭되는 트래픽은 table-id 0의 카운터에 기록만 남기고, table-id 1부터 시작되는 파이프라인 프로세싱에 따라 처리되기 때문에 table-id 0의 카운터의 기록 및 토폴로지 정보를 조합하여 단계 340에서 전체 네트워크의 트래픽을 추적할 수 있다. In step 330, the controller may collect counter information of Table id 0 of all switches. According to an embodiment of the present invention, since all instructions of table id 0 constituting pipeline processing of all switches are goto table 1, traffic matching the match field of table-id 0 is only recorded in the counter of table-id 0. Since it is processed according to pipeline processing starting from table-id 1, it is possible to track the traffic of the entire network in step 340 by combining the record and topology information of the counter of table-id 0.

예를 들어 컨트롤러는 table-id 0의 카운터 기록 및 토폴로지 정보의 조합으로 임의의 트래픽의 end-to-end 전체 경로를 복구할 수 있다. 또 다른 예로, 임의의 경로에 대한 패킷 카운트 정보가 계산과 다르면, 해당 경로에서 패킷 드랍이 발생한 것으로 추정할 수 있다. 나아가 특정 경로의 루프 발생 가능성 역시 감지할 수 있을 것이다. 또 다른 예로 컨트롤러는 table-id 0의 카운터 기록 및 토폴로지 정보의 조합으로 브로드캐스트 패킷의 전달 상황을 확인할 수 있다. For example, the controller can recover the end-to-end full path of any traffic with a combination of table-id 0 counter record and topology information. As another example, if the packet count information for an arbitrary path is different from the calculation, it may be estimated that a packet drop occurs in the corresponding path. Furthermore, it is possible to detect the possibility of looping in a specific path. As another example, the controller may check the delivery status of a broadcast packet by using a combination of table-id 0 counter record and topology information.

이와 같은 본 발명의 실시예를 따르면, 소프트웨어 정의 네트워킹을 이루는 컨트롤러 및 오픈플로우 스위치만으로 트래픽 처리와 동시에 트래픽 추적이 가능하다. 즉, 트래픽 분석을 플로우 테이블인 table 0을 스위치에 추가하는 것만으로 전체 네트워크에 대한 트래픽 추적이 가능하여 네트워크에 별도의 장비를 추가할 필요가 없으며, 스위치의 트래픽 처리에 영향을 미치지 않는 효과가 있다.According to this embodiment of the present invention, traffic can be simultaneously tracked while processing traffic only with a controller and an open flow switch that form software-defined networking. That is, it is possible to track traffic for the entire network by simply adding the traffic analysis table 0, which is a flow table, to the switch, so there is no need to add additional equipment to the network, and it does not affect the traffic processing of the switch. .

본 명세서와 도면에 게시된 본 발명의 실시 예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 게시된 실시 예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식 가진 자에 자명한 것이다. The embodiments of the present invention disclosed in the present specification and drawings are merely to provide a specific example to easily explain the technical content of the present invention and to understand the present invention, and are not intended to limit the scope of the present invention. It is obvious to those of ordinary skill in the art to which the present invention pertains that other modifications based on the technical spirit of the present invention can be implemented in addition to the embodiments disclosed herein.

Claims (1)

소프트웨어 정의 네트워크에서 컨트롤러가 디도스 공격을 방어하는 방법에 있어서,
제 1 스위치, 제 2 스위치 및 제 3 스위치가 연결되어 있으며, 상기 컨트롤러에서 상기 제 1 스위치로부터 트래픽의 네트워크 계층 (L3)에 대한 정보를 수집하는 단계;
상기 컨트롤러에서, 상기 제 2 스위치로부터 상기 트래픽의 트랜스포트 계층 (L4) 에 대한 정보를 수집하는 단계;
상기 컨트롤러에서, 상기 제 3 스위치로부터 상기 트래픽의 프리젠테이션 계층 (L6) 및 어플리케이션 계층 (L7)에 대한 정보를 수집하는 단계를 포함하는 것을 특징으로 하는 디도스 공격 방어 방법.
In a software-defined network, how to prevent a DDoS attack from a controller,
A first switch, a second switch, and a third switch are connected, and the controller collects information on the network layer (L3) of traffic from the first switch;
Collecting, by the controller, information on a transport layer (L4) of the traffic from the second switch;
And collecting information on the presentation layer (L6) and the application layer (L7) of the traffic from the third switch at the controller.
KR1020180156908A 2018-12-07 2018-12-07 Method, apparatus and computer program using a software defined network to avoid didos attack KR102207289B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180156908A KR102207289B1 (en) 2018-12-07 2018-12-07 Method, apparatus and computer program using a software defined network to avoid didos attack

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180156908A KR102207289B1 (en) 2018-12-07 2018-12-07 Method, apparatus and computer program using a software defined network to avoid didos attack

Publications (2)

Publication Number Publication Date
KR20200069632A true KR20200069632A (en) 2020-06-17
KR102207289B1 KR102207289B1 (en) 2021-01-25

Family

ID=71405356

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180156908A KR102207289B1 (en) 2018-12-07 2018-12-07 Method, apparatus and computer program using a software defined network to avoid didos attack

Country Status (1)

Country Link
KR (1) KR102207289B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230092203A (en) 2021-12-17 2023-06-26 한국전자통신연구원 Method and apparatus for detecting network attack based on fusion feature vector
US11838197B2 (en) 2020-10-29 2023-12-05 Samsung Electronics Co., Ltd. Methods and system for securing a SDN controller from denial of service attack

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130254872A1 (en) * 2009-10-07 2013-09-26 Twilio, Inc. System and method for mitigating a denial of service attack using cloud computing
KR20180041953A (en) * 2016-10-17 2018-04-25 숭실대학교산학협력단 SDN capable of detection DDoS attacks using artificial intelligence and controller including the same

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130254872A1 (en) * 2009-10-07 2013-09-26 Twilio, Inc. System and method for mitigating a denial of service attack using cloud computing
KR20180041953A (en) * 2016-10-17 2018-04-25 숭실대학교산학협력단 SDN capable of detection DDoS attacks using artificial intelligence and controller including the same

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Open Networking Foundation, "Specification 1.2.0"

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11838197B2 (en) 2020-10-29 2023-12-05 Samsung Electronics Co., Ltd. Methods and system for securing a SDN controller from denial of service attack
KR20230092203A (en) 2021-12-17 2023-06-26 한국전자통신연구원 Method and apparatus for detecting network attack based on fusion feature vector

Also Published As

Publication number Publication date
KR102207289B1 (en) 2021-01-25

Similar Documents

Publication Publication Date Title
EP3151470B1 (en) Analytics for a distributed network
US11770408B2 (en) Method and system of mitigating network attacks
Sahay et al. ArOMA: An SDN based autonomic DDoS mitigation framework
US10708146B2 (en) Data driven intent based networking approach using a light weight distributed SDN controller for delivering intelligent consumer experience
US9407450B2 (en) Method and apparatus for providing tenant information for network flows
US8584215B2 (en) System and method for securing distributed exporting models in a network environment
US9413667B2 (en) Methods and network nodes for traffic steering based on per-flow policies
EP3449600B1 (en) A data driven intent based networking approach using a light weight distributed sdn controller for delivering intelligent consumer experiences
CN107623663B (en) Method and device for processing network flow
US20190132360A1 (en) Honeynet method, system and computer program for mitigating link flooding attacks of software defined network
US11949654B2 (en) Distributed offload leveraging different offload devices
US20040148520A1 (en) Mitigating denial of service attacks
CN110226155B (en) Collecting and processing context attributes on a host
US10868720B2 (en) Data driven orchestrated network using a voice activated light weight distributed SDN controller
US8964763B2 (en) Inter-router communication method and module
KR102207289B1 (en) Method, apparatus and computer program using a software defined network to avoid didos attack
Arins Firewall as a service in SDN OpenFlow network
KR102135468B1 (en) A method, network traffic tracking using network functional virtualization
Dobrin et al. DDoS attack identification based on SDN
US20240214416A1 (en) Virtual network distributed denial-of-service scrubber
RU2791869C1 (en) Volume ddos attacks protection system and method
Fujikawa et al. Network virtualization by differentially switched VPN for stable business communication with offshore computers
Nagy Automation of DDoS Attack Mitigation
KR102066555B1 (en) Method, apparatus and computer program for tracking traffic using software defined networking
Sahay Policy-driven autonomic cyberdefense using software-defined networking

Legal Events

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