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 PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1458—Denial of Service
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing 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
Description
본 발명은 소프트웨어 정의 네트워킹을 이용하여 네트워크의 트래픽을 추적하고, 이를 기반으로 디도스 공격을 회피하는 방법 및 장치에 대한 것이다. 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.
본 발명의 실시예를 따르는 소프트웨어 정의 네트워크에서 컨트롤러가 디도스 공격을 방어하는 방법은, 제 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
컨트롤러 서버(100)는 네트워크 장비(200)를 관리하는 기능을 하는 것으로, 복수의 네트워크 장비(200)를 중앙 집중형으로 관리 및 제어한다. 구체적으로 컨트롤러 서버(100)는 토폴로지 관리(Topology management), 패킷 처리와 관련된 경로 관리(Path management), 링크 디스커버리(Link discovery), 패킷 흐름인 플로우 관리(Flow management) 등의 기능을 하는 응용 프로그램이 탑재된 형태로 구현될 수 있다. The controller server 100 functions to manage the
네트워크 장비(200)는 컨트롤러 서버(100)의 제어에 따라 패킷을 처리하는 기능을 한다. 네트워크 장비(200)의 예로는 오픈플로우 스위치가 있다.The
소프트웨어 정의 네트워크에서 컨트롤러 서버(100)와 오픈플로우 스위치(200)는 상호간 정보를 주고 받아야 하며, 이를 위한 프로토콜로 널리 사용되는 것이 오픈플로우 (OpenFlow) 프로토콜이다. 즉, 오픈플로우 프로토콜은 컨트롤러 서버(100)와 오픈플로우 스위치(200)간 서로 통신할 수 있는 표준 규격이다. In the software-defined network, the
오픈플로우 프로토콜을 따르면, 스위치(200)는 컨트롤 채널(Control Channel)을 통해 컨트롤러 서버(100)와 정보를 교환하고, 파이프라인(Pipeline) 프로세싱을 위한 하나 이상의 플로우 테이블(Flow table), 그룹 테이블, 미터 테이블 및/또는 패킷 전달을 위한 네트워크 인터페이스로 하나 이상의 포트를 가질 수 있다.According to the open flow protocol, the
한편, 디도스 공격이란 시스템을 악의적으로 공격해 해당 시스템의 자원을 부족하게 하여 원래 의도된 용도로 사용하지 못하게 하는 공격을 의미한다. 특정 서버에 수많은 접속 시도를 만들어 다른 이용자가 정상적으로 서비스 이용을 하지 못하게 하거나, 서버의 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,
본 발명의 실시예를 따르면, 컨트롤러는 제 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
이후 컨트롤러는 트래픽 260의 L3 정보를 기반으로 트래픽 260이 디도스 공격에 해당한다고 판단하면, 제 1 스위치 210에 플로우 룰을 전송하여 트래픽 260을 드랍하거나 경로를 우회하도록 설정할 수 있다. Subsequently, if the controller determines that the
본 발명의 실시예를 따르면, 컨트롤러는 제 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
이후 컨트롤러는 트래픽 260의 L3 정보를 기반으로 트래픽 260이 디도스 공격에 해당한다고 판단하면, 제 1 스위치 210에 플로우 룰을 전송하여 트래픽 260을 드랍하거나 경로를 우회하도록 설정할 수 있다. Subsequently, if the controller determines that the
한편, 본 발명의 다른 실시예를 따르면, 오픈플로우 스위치에 패킷 분석을 위한 전용 플로우 테이블을 추가하고 이를 바탕으로 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
예를 들어 제 2 스위치 220에서 넷플로우 프로토콜을 지원하면, 트래픽 260에 대한 출발지 IP 주소, 목적지 IP 주소, 출발지 포트, 목적지 포트, 프로토콜 종류 등 5 튜플 단위로 통계 정보가 생성될 수 있다. 제 2 스위치 220에서 생성된 통계 정보는 컨트롤러로 전달될 수 있으며, 컨트롤러는 네트워크 전체의 통계 정보를 취합하여 패킷의 경로를 계산하거나, 필요한 정보에 대해 필터링하는 방식으로 트래픽을 추적할 수 있다. For example, if the
이후 컨트롤러는 트래픽 260의 L4 정보를 기반으로 트래픽 260이 디도스 공격에 해당한다고 판단하면, 제 2 스위치 220에 플로우 룰을 전송하여 트래픽 260을 드랍하거나 경로를 우회하도록 설정할 수 있다. Subsequently, if the controller determines that the
한편, 제 2 스위치 220을 통과한 트래픽 260은 제 3 스위치 230에서 프리젠테이션 계층 (L6) 및 어플리케이션 계층 (L7)에 대한 정보가 생성될 수 있다. Meanwhile, information about the presentation layer (L6) and the application layer (L7) may be generated in the
보다 구체적으로 제 3 스위치 230에 어플리케이션 레벨의 패킷 분석을 지원하는 네트워크 장비를 설치하면, 해당 네트워크 장비는 패킷의 태핑 (tapping) 또는 인라인 (inline)을 구성하여 패킷 내용을 확인할 수 있다. 예를 들어 DPI (Deep Packet Inspection)는 패킷이 비디오 파일인지 음성 파일인지 컨텐츠의 형태는 물론 보안 사항을 위반하는 내용이 없는지 여부까지 확인할 수 있다. More specifically, when network equipment supporting application-level packet analysis is installed in the
이러한 패킷 내용에 대한 정보는 컨트롤러로 전달될 수 있으며, 컨트롤러는 네트워크 전체의 정보를 취합하여 디도스 공격 여부를 판단하는데 사용될 수 있다. 즉, 컨트롤러는 트래픽 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
도 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.
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)
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)
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 |
-
2018
- 2018-12-07 KR KR1020180156908A patent/KR102207289B1/en active IP Right Grant
Patent Citations (2)
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)
Title |
---|
Open Networking Foundation, "Specification 1.2.0" |
Cited By (2)
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 |