KR101854996B1 - SDN for preventing malicious application and Determination apparatus comprising the same - Google Patents

SDN for preventing malicious application and Determination apparatus comprising the same Download PDF

Info

Publication number
KR101854996B1
KR101854996B1 KR1020160134426A KR20160134426A KR101854996B1 KR 101854996 B1 KR101854996 B1 KR 101854996B1 KR 1020160134426 A KR1020160134426 A KR 1020160134426A KR 20160134426 A KR20160134426 A KR 20160134426A KR 101854996 B1 KR101854996 B1 KR 101854996B1
Authority
KR
South Korea
Prior art keywords
application
api request
information
policy
received
Prior art date
Application number
KR1020160134426A
Other languages
Korean (ko)
Other versions
KR20180041976A (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 KR1020160134426A priority Critical patent/KR101854996B1/en
Publication of KR20180041976A publication Critical patent/KR20180041976A/en
Application granted granted Critical
Publication of KR101854996B1 publication Critical patent/KR101854996B1/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/16Implementing security features at a particular protocol layer
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general

Abstract

악성 애플리케이션을 방지할 수 있는 소프트웨어 정의 네트워크 및 이에 포함되는 판단 장치가 개시된다. 개시된 소프트웨어 정의 네트워크는 애플리케이션 계층, 컨트롤 계층 및 인프라스트럭처 계층으로 구성되되, 상기 컨트롤 계층 상에 위치하며, API(Application Programming Interface) 및 애플리케이션이 설치되는 컨트롤러 - 상기 애플리케이션은 정상 애플리케이션 또는 악성 애플리케이션 중 어느 하나임 -; 상기 설치된 애플리케이션을 사용하기 위한 API 요청을 상기 애플리케이션 계층으로부터 수신하고, 상기 수신된 API 요청이 상기 정상 애플리케이션을 위한 API 요청인지 상기 악성 애플리케이션을 위한 API 요청인지 여부를 판단하는 판단부;를 포함하되, 상기 판단부는 상기 수신된 API 요청이 상기 정상 애플리케이션을 위한 API 요청인 경우, 상기 수신된 API 요청을 상기 컨트롤러로 전송한다. A software defined network capable of preventing malicious applications and a determination device included therein. The disclosed software defined network includes a controller configured to include an application layer, a control layer, and an infrastructure layer, the application layer being located on the control layer and having an application programming interface (API) and an application installed therein, the application being either a normal application or a malicious application -; And a determination unit that receives an API request for using the installed application from the application layer and determines whether the received API request is an API request for the normal application or an API request for the malicious application, If the received API request is an API request for the normal application, the determination unit transmits the received API request to the controller.

Description

악성 애플리케이션을 방지할 수 있는 소프트웨어 정의 네트워크 및 이에 포함되는 판단 장치{SDN for preventing malicious application and Determination apparatus comprising the same}A software-defined network capable of preventing malicious applications and a determination device included therein,

본 발명의 실시예들은 악성 애플리케이션을 방지할 수 있는 소프트웨어 정의 네트워크(SDN: Software Defined Network) 및 이에 포함되는 판단 장치에 관한 것이다. Embodiments of the present invention relate to a Software Defined Network (SDN) capable of preventing malicious applications and a determination device included therein.

인터넷은 우리의 일상에서 이제 불가분의 중요한 역할을 하고 있으며 사물 인터넷이 본격적으로 일상에 적용될 시에는 이 역할은 더욱 커질 것이라 예상한다. 하지만 종래의 네트워크 장비는 미리 정해진 룰에 따라 작동이 되는 시스템으로서, 관리 시 어려움이 있으며, 새로운 기능을 추가 할 시에는 연관된 모든 장비를 업데이트 또는 교체해야 하는 불편함이 존재한다. 그리고, 각종 새로운 악성 공격으로부터도 보안 상의 취약성을 보이고 있다.The Internet plays an integral and important role in our daily lives, and we expect that this role will grow even more when the Internet of Things is applied to everyday life. However, the conventional network equipment operates in accordance with predetermined rules, which is difficult to manage, and when adding new functions, it is inconvenient to update or replace all related equipment. And it shows security vulnerabilities from various new malicious attacks.

따라서, 이를 해결하고자 등장한 것이 소프트웨어 정의 네트워크(SDN: Software Defined Network)이다. 소프트웨어 정의 네트워크는 기존의 네트워크 장비와는 달리 컨트롤 평면(control plane)과 데이터 평면(data plane)이 분리된다. 따라서, 네트워크 구조가 단순화되어 있고, 네트워크 관리를 유연하게 해주며, 기존 네트워크보다 악성 공격에 대하여 일부 강점이 있다. 하지만, 소프트웨어 정의 네트워크도 보안에 관하여는 완벽한 해결책이 없으며 여전히 취약한 면이 있는 것도 사실이다. Therefore, Software Defined Network (SDN) is emerging to solve this problem. A software defined network is separated from the control plane and the data plane unlike the existing network equipment. Therefore, the network structure is simplified, network management is flexible, and there are some advantages over malicious attacks over existing networks. However, software-defined networks do not have a complete solution for security and are still vulnerable.

그 중에서도 악성 애플리케이션 공격은 전체 네트워크를 강제적으로 종료하게 만들 수 있는 공격이다. 즉, 소프트웨어 정의 네트워크 내의 컨트롤 평면 상의 컨트롤러에 가해지는 악성 애플리케이션 공격은 공격자가 컨트롤러의 관리자로부터 악성 애플리케이션을 다운로드하도록 유도한 후, 컨트롤러의 권한을 빼앗아 쉽게 네트워크를 장악하거나 마비시킬 수 있으며, 심지어는 다른 정상 애플리케이션까지 삭제해버리는 공격까지 시도할 수 있다.
이러한 문제점을 해결하기 위한 관련 선행문헌으로서, 대한민국 공개특허 제10-2016-0002269호(발명명칭: SDN 기반의 ARP 스푸핑 탐지장치 및 그 방법)가 있다.
Among them, malicious application attacks are attacks that can force the entire network to be terminated. That is, a malicious application attack on a controller on a control plane within a software-defined network can entice an attacker to download malicious applications from the controller's administrator, then take control of the controller to easily grasp or paralyze the network, You can even try attacks that remove normal applications.
As an associated prior art document for solving such problems, Korean Patent Laid-Open No. 10-2016-0002269 (entitled "SDN based ARP spoofing detection apparatus and method thereof") is known.

상기한 바와 같은 종래기술의 문제점을 해결하기 위해, 본 발명에서는 소프트웨어 정의 네트워크의 컨트롤러의 API(Application Programming Interface)를 오용으로부터 보호하며, 악성 애플리케이션의 공격으로부터 컨트롤러를 보호하는 소프트웨어 정의 네트워크 및 이에 포함되는 판단 장치를 제공하고자 한다. According to an aspect of the present invention, there is provided a software defined network that protects an application programming interface (API) of a controller of a software defined network from misuse, protects a controller from malicious application attacks, And to provide a judgment device.

본 발명의 다른 목적들은 하기의 실시예를 통해 당업자에 의해 도출될 수 있을 것이다.Other objects of the invention will be apparent to those skilled in the art from the following examples.

상기한 목적을 달성하기 위해 본 발명의 바람직한 일 실시예에 따르면, 애플리케이션 계층, 컨트롤 계층 및 인프라스트럭처 계층으로 구성되는 소프트웨어 정의 네트워크에 있어서, 상기 컨트롤 계층 상에 위치하며, API(Application Programming Interface) 및 애플리케이션이 설치되는 컨트롤러 - 상기 애플리케이션은 정상 애플리케이션 또는 악성 애플리케이션 중 어느 하나임 -; 상기 설치된 애플리케이션을 사용하기 위한 API 요청을 상기 애플리케이션 계층으로부터 수신하고, 상기 수신된 API 요청이 상기 정상 애플리케이션을 위한 API 요청인지 상기 악성 애플리케이션을 위한 API 요청인지 여부를 판단하는 판단부;를 포함하되, 상기 판단부는 상기 수신된 API 요청이 상기 정상 애플리케이션을 위한 API 요청인 경우, 상기 수신된 API 요청을 상기 컨트롤러로 전송하는 것을 특징으로 하는 소프트웨어 정의 네트워크가 제공된다. According to a preferred embodiment of the present invention, there is provided a software defined network including an application layer, a control layer, and an infrastructure layer, the software defined network being located on the control layer, A controller on which the application is installed, the application being either a normal application or a malicious application; And a determination unit that receives an API request for using the installed application from the application layer and determines whether the received API request is an API request for the normal application or an API request for the malicious application, Wherein the determination unit transmits the received API request to the controller when the received API request is an API request for the normal application.

상기 판단부는, 상기 API 요청을 수신하고, 상기 수신된 API 요청이 상기 정상 애플리케이션인 경우 상기 수신된 API 요청을 상기 컨트롤러로 전송하는 통신부; 및 정상 애플리케이션에 대한 API 요청인지 여부를 판단하는 정책 정보를 이용하여 상기 수신된 API 요청이 상기 정상 애플리케이션을 위한 API 요청인지 상기 악성 애플리케이션을 위한 API 요청인지 여부를 판단하는 정책 엔진부;를 포함할 수 있다. A communication unit for receiving the API request and transmitting the received API request to the controller when the received API request is the normal application; And a policy engine unit for determining whether the received API request is an API request for the normal application or an API request for the malicious application using policy information for determining whether or not the API request is for the normal application .

상기 정책 정보는 상기 API에 접근 가능한 적어도 하나의 애플리케이션의 식별정보인 제1 정책 정보를 포함하고, 상기 정책 엔진부는 상기 수신된 API 요청에 포함된 애플리케이션의 식별정보가 상기 제1 정책 정보에 포함된 적어도 하나의 애플리케이션의 식별정보 중 하나인 경우 상기 수신된 API 요청이 상기 정상 애플리케이션을 위한 API 요청인 것으로 판단할 수 있다. Wherein the policy information includes first policy information that is identification information of at least one application that can access the API, and the policy engine unit determines that the identification information of the application included in the received API request is included in the first policy information It may determine that the received API request is an API request for the normal application when the identification information is one of identification information of at least one application.

상기 정책 정보는 상기 API로 전달될 수 있는 불변(invariant) 데이터의 정보인 제2 정책 정보를 포함하고, 상기 정책 엔진부는 상기 수신된 API 요청에 포함된 불변 데이터 정보가 상기 제2 정책 정보에 포함된 불변 데이터의 정보에 포함되는 경우 상기 수신된 API 요청이 상기 정상 애플리케이션을 위한 API 요청인 것으로 판단할 수 있다. Wherein the policy information includes second policy information that is information of invariant data that can be transmitted to the API, and the policy engine unit may include invariant data information included in the received API request in the second policy information It is determined that the received API request is an API request for the normal application.

상기 정책 정보는 기 설정된 범위에서 변화하는 동적 데이터의 정보인 제3 정책 정보를 포함하고, 상기 정책 엔진부는 상기 수신된 API 요청에 포함된 동적 데이터가 상기 제3 정책 정보에 포함된 동적 데이터의 정보에 포함되는 경우 상기 수신된 API 요청이 상기 정상 애플리케이션을 위한 API 요청인 것으로 판단할 수 있다. Wherein the policy information includes third policy information that is information of dynamic data that changes in a predetermined range, and the policy engine unit determines that the dynamic data included in the received API request is information of dynamic data included in the third policy information It can be determined that the received API request is an API request for the normal application.

상기 정책 정보는 2개의 모듈 사이의 통신의 흐름 정보인 제4 정책 정보를 포함하고 - 상기 모듈은 상기 인프라스트럭처 계층에 존재하는 모듈임 -, 상기 정책 엔진부는 상기 수신된 API 요청에 포함된 통신의 흐름 정보가 상기 제4 정책 정보에 포함된 통신의 흐름 정보에 포함되는 경우 상기 수신된 API 요청이 상기 정상 애플리케이션을 위한 API 요청인 것으로 판단할 수 있다. Wherein the policy information includes fourth policy information, which is flow information of communication between two modules, the module being a module existing in the infrastructure layer, the policy engine unit comprising: If the flow information is included in the flow information of the communication included in the fourth policy information, it can be determined that the received API request is an API request for the normal application.

또한, 본 발명의 다른 실시예에 따르면, 소프트웨어 정의 네트워크 내의 애플리케이션 계층과 컨트롤 계층 사이에 존재하는 악성 애플리케이션 판단 장치에 있어서, 상기 컨트롤 계층 상에 위치하는 컨트롤러에 설치된 애플리케이션을 사용하기 위한 API 요청을 상기 애플리케이션 계층으로부터 수신하는 통신부; 및 정상 애플리케이션에 대한 API 요청인지 여부를 판단하는 정책 정보를 이용하여 상기 수신된 API 요청이 상기 정상 애플리케이션을 위한 API 요청인지 상기 악성 애플리케이션을 위한 API 요청인지 여부를 판단하는 정책 엔진부;를 포함하는 것을 특징으로 하는 악성 애플리케이션 판단 장치가 제공된다. According to another embodiment of the present invention, there is provided a malicious application determination apparatus existing between an application layer and a control layer in a software definition network, the malicious application determination apparatus comprising: an API request for using an application installed in a controller located on the control layer; A communication unit for receiving from an application layer; And a policy engine unit for determining whether the received API request is an API request for the normal application or an API request for the malicious application using policy information for determining whether the API request is for the normal application Wherein the malicious application is a malicious application.

본 발명에 따른 소프트웨어 정의 네트워크 및 이에 포함되는 판단 장치는 소프트웨어 정의 네트워크의 컨트롤러의 API를 오용으로부터 보호하며, 악성 애플리케이션의 공격으로부터 컨트롤러를 보호하는 장점이 있다. The software defined network and the determination device included therein protect the API of the controller of the software defined network against misuse and protect the controller from the attack of malicious application.

도 1은 소프트웨어 정의 네트워크(SDN: Software Defined Network)의 기본 구조를 도시한 도면이다.
도 2는 소프트웨어 정의 네트워크에 사용되는 OpenFlow의 구조를 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 소프트웨어 정의 네트워크(SDN: Software Defined Network)의 개략적인 구조를 도시한 도면이다.
1 is a diagram showing a basic structure of a Software Defined Network (SDN).
2 is a diagram showing a structure of OpenFlow used in a software defined network.
FIG. 3 is a diagram illustrating a schematic structure of a Software Defined Network (SDN) according to an embodiment of the present invention.

본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "구성된다" 또는 "포함한다" 등의 용어는 명세서상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.As used herein, the singular forms "a", "an" and "the" include plural referents unless the context clearly dictates otherwise. In this specification, the terms "comprising ", or" comprising "and the like should not be construed as necessarily including the various elements or steps described in the specification, Or may be further comprised of additional components or steps. Also, the terms "part," " module, "and the like described in the specification mean units for processing at least one function or operation, which may be implemented in hardware or software or a combination of hardware and software .

이하, 본 발명의 대상이 되는 소프트웨어 정의 네트워크에 대해 간략하게 설명하기로 한다. Hereinafter, a software definition network to which the present invention is applied will be briefly described.

도 1은 소프트웨어 정의 네트워크(SDN: Software Defined Network)의 기본 구조를 도시한 도면이고, 도 2는 소프트웨어 정의 네트워크에 사용되는 OpenFlow의 구조를 도시한 도면이다. FIG. 1 is a diagram illustrating a basic structure of a software defined network (SDN), and FIG. 2 is a diagram illustrating a structure of OpenFlow used in a software defined network.

도 1을 참조하면, 소프트웨어 정의 네트워크는 크게 데이터 평면(data plane)과 대응되는 인프라스트럭처 계층(infrastructure layer)과, 컨트롤 평면(control plane)과 대응되는 컨트롤 계층(control layer)과, 애플리케이션 계층(application layer)으로 나뉜다. 데이터 계층은 소프트웨어 정의 네트워크의 특정 인터페이스를 통해 제어를 받는 계층으로서, 데이터 흐름의 전송을 담당한다. 컨트롤 계층은 데이터의 흐름을 제어하는 계층으로서 애플리케이션과 네트워크 서비스를 통하여 데이터 흐름을 라우팅 할 것인지, 전달을 할 것인지, 거절할 것인지를 결정한다. 또한 데이터 계층의 동작들을 정리하여 API(Application Programming Interface) 형태로 애플리케이션 계층에 전달한다. 마지막으로 애플리케이션 계층은 제어 계층에서 제공한 API들을 이용하여 네트워크의 다양한 기능들을 수행 할 수 있도록 한다.Referring to FIG. 1, a software defined network includes an infrastructure layer corresponding to a data plane, a control layer corresponding to a control plane, an application layer layer. The data layer is a layer that receives control through a specific interface of a software defined network and is responsible for the transmission of the data flow. The control layer is the layer that controls the flow of data and determines whether to route, forward, or reject the data flow through applications and network services. In addition, the operations of the data layer are summarized and transmitted to the application layer in the form of API (Application Programming Interface). Finally, the application layer enables various functions of the network to be performed using APIs provided by the control layer.

한편, 전통적인 네트워크에서 라우터, 스위치와 같은 네트워크 장비는 트래픽 제어와 규칙을 담당한다. 그러므로 네트워크의 라우팅 정보는 스위치와 라우터에서 저장한다. 이와 같은 네트워크 구조는 네트워크가 변화할 때마다 관리자가 관련 인터넷 설비를 배치해야 한다는 문제가 있고, 데이터 센터나 그룹 네트워크 환경은 잦은 네트워크 변화로 자원을 낭비한다.On the other hand, in traditional networks, network devices such as routers and switches are responsible for traffic control and rules. Therefore, the routing information of the network is stored in the switch and the router. Such a network structure has a problem in that administrators have to place related Internet facilities whenever the network changes, and data center or group network environment wastes resources due to frequent network changes.

OpenFlow은 위와 같은 전통적인 네트워크의 단점을 보완하는 컨트롤러와 네트워크 장치간의 인터페이스 규격으로 사용되고 있는 기술이다. 도 2를 참조하면, OpenFlow는 제어 평면과 데이터 평면을 분리하여 네트워크를 운용할 수 있게 함으로써 네트워크 트래픽을 제어할 수 있는 기능과 전달할 수 있는 기능을 분리하며 소프트웨어를 제작하여 네트워크를 제어할 수 있도록 해준다. OpenFlow 프로토콜을 사용하면, 제어 및 데이터 평면을 하드웨어가 아닌 소프트웨어로도 구현할 수 있으며, 이 소프트웨어를 범용 서버에 설치하여 신속하게 새로운 기능을 구현할 수 있다.OpenFlow is a technology used as an interface specification between a controller and a network device that complements the disadvantages of the conventional network. Referring to FIG. 2, OpenFlow separates a control plane and a data plane from each other to operate a network, thereby separating a function for controlling network traffic from a function for delivering and controlling the network by creating software . Using the OpenFlow protocol, control and data planes can be implemented in software rather than hardware, and the software can be installed on a general-purpose server to quickly implement new functionality.

OpenFlow는 프로토콜 계층 1~4까지의 헤더 정보를 하나로 조합하여 패킷(프레임)의 동작을 지정할 수 있다. 제어 평면의 프로그램을 수정하면 계층 4까지의 범위에서 사용자가 자유롭게 새로운 프로토콜을 만들 수 있고, 특정 서비스나 애플리케이션에 최적화된 네트워크를 사용자가 구현할 수도 있다. 즉, OpenFlow는 패킷을 제어하는 기능과 전달하는 기능을 분리하고 프로그래밍을 통해 네트워크를 제어하는 기술이다. OpenFlow can specify the operation of a packet (frame) by combining header information from protocol layers 1 to 4 into one. By modifying the program in the control plane, the user can freely create a new protocol in a range up to layer 4, and the user can implement a network optimized for a specific service or application. In other words, OpenFlow is a technology that controls the network by programming and separating the function of controlling packet and the function of delivering.

상기에서 설명된 내용을 참조하여 본 발명의 일 실시예에 따른 악성 애플리케이션을 방지할 수 있는 소프트웨어 정의 네트워크 및 이에 포함되는 판단 장치를 상세하게 설명한다. A software defined network and a determination device included therein for preventing malicious application according to an embodiment of the present invention will be described in detail with reference to the above description.

도 3은 본 발명의 일 실시예에 따른 소프트웨어 정의 네트워크(SDN: Software Defined Network)의 개략적인 구조를 도시한 도면이다. FIG. 3 is a diagram illustrating a schematic structure of a Software Defined Network (SDN) according to an embodiment of the present invention.

도 3을 참조하면, 본 발명의 일 실시예에 따른 소프트웨어 정의 네트워크(300)는, 적어도 하나의 애플리케이션 계층 장치(310), 컨트롤러(320), 복수의 스위치(330) 및 판단 장치(340)를 포함한다. 3, a software defined network 300 according to an embodiment of the present invention includes at least one application layer device 310, a controller 320, a plurality of switches 330, and a determination device 340 .

적어도 하나의 애플리케이션 계층 장치(310)는 최상층인 애플리케이션 계층 상에 위치하는 장치로서, 네트워크 관리, 컨트롤 및 모니터링 등과 같은 기능을 수행한다. At least one application layer device 310 is a device located on top of the application layer and performs functions such as network management, control and monitoring.

컨트롤러(320)는 일례로, OpenFlow 인터페이스를 따르는 OF 컨트롤러일 수 있으며, 컨트롤 계층(컨트롤 평면)에 위치한다. 컨트롤러(320)는 네트워크의 모든 제어 명령, 데이터 트래픽의 전달을 수행하며, 전체 네트워크를 직접적으로 제어한다. The controller 320 may be, for example, an OF controller conforming to the OpenFlow interface and located in the control layer (control plane). The controller 320 performs transmission of all control commands and data traffic of the network, and directly controls the entire network.

여기서, 컨트롤러(320)에는 적어도 하나의 애플리케이션이 설치되어 특정 동작을 수행한다. 또한, 컨트롤러(320)에는 애플리케이션을 사용하기 위한 API(Application Programming Interface)가 설치되어 다른 모듈 또는 애플리케이션으로 접근할 수 있다. 특히, 애플리케이션 계층 장치(310)는 컨트롤러(320)에 설치된 애플리케이션을 사용하기 위해 API 요청을 컨트롤러(320)로 전송한다. Here, at least one application is installed in the controller 320 to perform a specific operation. In addition, an application programming interface (API) for using an application is installed in the controller 320 so that the controller 320 can access another module or an application. In particular, the application layer device 310 sends an API request to the controller 320 to use the application installed in the controller 320.

복수의 스위치(330) 각각은 일례로, OpenFlow 인터페이스를 따르는 OF 스위치일 수 있으며, 인프라스트럭처 계층(데이터 평면)에 위치하며, 대응되는 외부 네트워크와 연결된다. Each of the plurality of switches 330 may be, for example, an OF switch conforming to the OpenFlow interface, located in the infrastructure layer (data plane), and connected to the corresponding external network.

즉, 컨트롤러(320)는 복수의 스위치(330) 각각에 명령을 전송하고, 각각의 스위치(330)는 수신된 명령에 따라 패킷을 목적지로 전송하거나 수정, 폐기하는 등의 처리를 한다. OpenFlow 프로토콜을 이용하여, 컨트롤러(320)는 패킷의 포워딩 방법이나 VLAN 우선순위 값 등을 스위치(330)에 전달하여 수행되도록 하며, 스위치(330)는 장애정보와 사전에 등록된 플로우 엔트리가 없는 패킷에 대한 정보를 컨트롤러에 문의하고 그 결정을 받아 처리한다. That is, the controller 320 transmits a command to each of the plurality of switches 330, and each of the switches 330 performs processing such as transmitting, modifying, or discarding the packet to a destination according to the received command. Using the OpenFlow protocol, the controller 320 transmits the packet forwarding method and the VLAN priority value to the switch 330, and the switch 330 transmits the failure information and the packet having no flow entry registered in advance Inquires the controller about the information, and receives and processes the determination.

한편, 컨트롤러(320)에서 설치되는 애플리케이션은 정상 애플리케이션일 수 있고 악성 애플리케이션일 수도 있다. 이 때, 악성 애플리케이션은 컨트롤러(320)에 잘못된 규칙들(rules) 또는 악성 규칙들을 설치하여 컨트롤러(320)의 오작동을 유발한다. 즉, 컨트롤러(320)는 컨트롤러(320)의 핵심 모듈에 액세스할 수 애플리케이션 계층을 위한 API를 제공하는데, 악성 애플리케이션은 컨트롤러(320)의 API의 악용을 유발할 수 있다. On the other hand, the application installed in the controller 320 may be a normal application or a malicious application. At this time, the malicious application causes erroneous operation of the controller 320 by installing erroneous rules or malicious rules in the controller 320. That is, the controller 320 provides an API for the application layer that can access the core module of the controller 320, which may cause abuse of the API of the controller 320. [

판단 장치(340)는 상기에서 설명한 문제점을 해결하기 위한 것으로서, 애플리케이션이 정상 애플리케이션인지 악성 애플리케이션인지 여부를 판단하며, 악성 애플리케이션인 경우 악성 애플리케이션의 공격을 방지하는 기능을 수행한다. The determining device 340 determines whether the application is a normal application or a malicious application and performs a function of preventing an attack of a malicious application in case of a malicious application.

즉, 판단 장치(340)는 애플리케이션 계층과 컨트롤 계층 사이에 존재하며, 컨트롤러(320)에 설치된 애플리케이션을 사용하기 위한 API 요청을 애플리케이션 계층으로부터 수신하고, 수신된 API 요청이 정상 애플리케이션을 위한 API 요청인지 악성 애플리케이션을 위한 API 요청인지 여부를 판단한다. 만약, 수신된 API 요청이 정상 애플리케이션을 위한 API 요청인 경우, 판단부(340)는 수신된 API 요청을 컨트롤러(320)로 전송한다. 반대로, 수신된 API 요청이 악성 애플리케이션을 위한 API 요청인 경우, 판단부(340)는 수신된 API 요청을 컨트롤러(320)로 전송하지 않는다. 따라서, 악성 애플리케이션의 실행이 방지된다. That is, the determining device 340 exists between the application layer and the control layer, receives an API request for using the application installed in the controller 320 from the application layer, and determines whether the received API request is an API request for a normal application It is determined whether it is an API request for a malicious application. If the received API request is an API request for a normal application, the determination unit 340 transmits the received API request to the controller 320. [ Conversely, if the received API request is an API request for a malicious application, the determination unit 340 does not transmit the received API request to the controller 320. [ Thus, execution of a malicious application is prevented.

보다 상세하게, 판단 장치(340)는 통신부(341) 및 정책 엔진부(Policy Engine)(342)를 포함한다. More specifically, the determination apparatus 340 includes a communication unit 341 and a policy engine unit 342. [

통신부(341)은 애플리케이션 계층에서 전송된 API 요청(request API)을 수신하는 기능(catching API)을 수행하며, 이를 정책 엔진부(324)로 전달한다. The communication unit 341 performs a catching API for receiving an API request (request API) transmitted from the application layer and transfers the catching API to the policy engine unit 324.

정책 엔진부(342)는 정상 애플리케이션에 대한 API 요청인지 여부를 판단하는 정책 정보를 이용하여 상기 수신된 API 요청이 정상 애플리케이션을 위한 API 요청인지 악성 애플리케이션을 위한 API 요청인지 여부를 판단한다. 또한, 정책 엔진부(342)는 정책 규칙 데이터베이스를 포함하며, 이는 컨트롤러 구성(controller configuration), 등록된 모듈들의 리스트(list of registered modules) 등 컨트롤러(320)의 불변량(invariants)를 저장한다.The policy engine unit 342 determines whether the received API request is an API request for a normal application or an API request for a malicious application by using policy information for determining whether the API request is for a normal application. The policy engine unit 342 also includes a policy rule database that stores invariants of the controller 320, such as a controller configuration, a list of registered modules, and the like.

만약, 정책 엔진부(342)가 수신된 API 요청이 정상 애플리케이션을 위한 API 요청인 것으로 판단하는 경우, 통신부(341)는 수신된 API 요청을 컨트롤러(320)로 전송한다. 반대로, 정책 엔진부(342)가 수신된 API 요청이 악성 애플리케이션을 위한 API 요청인 것으로 판단하는 경우, 통신부(341)는 수신된 API 요청을 컨트롤러(320)로 전송하지 않는다.If the policy engine unit 342 determines that the received API request is an API request for a normal application, the communication unit 341 transmits the received API request to the controller 320. On the other hand, if the policy engine unit 342 determines that the received API request is an API request for a malicious application, the communication unit 341 does not transmit the received API request to the controller 320.

여기서, 정책 정보는 제1 정책 정보, 제2 정책 정보, 제3 정책 정보 및 제4 정책 정보를 포함하며, 정책 엔진부(342)는 수신된 API 요청에 포함되는 정보와 정책 정보들을 비교하여 애플리케이션의 정상 여부를 판단한다. 즉, 정책 엔진부(342)는 수신된 API 요청에 포함되는 정보가 정책 정보들 중 적어도 하나, 바람직하게는 정책 정보들을 모두를 통과하는 경우 수신된 API 요청이 정상 애플리케이션을 위한 API 요청인 것으로 판단한다. Here, the policy information includes the first policy information, the second policy information, the third policy information, and the fourth policy information. The policy engine unit 342 compares the policy information with the information included in the received API request, Is normal. That is, if the information included in the received API request passes through at least one of the policy information, preferably policy information, the policy engine unit 342 determines that the received API request is an API request for a normal application do.

본 발명의 일 실시예에 따르면, 제1 정책 정보는 API에 접근 가능한 적어도 하나의 애플리케이션의 식별정보일 수 있다. 이 경우, 정책 엔진부(342)는 수신된 API 요청에 포함된 애플리케이션의 식별정보가 제1 정책 정보에 포함된 적어도 하나의 애플리케이션의 식별정보 중 하나인 경우, 수신된 API 요청이 상기 정상 애플리케이션을 위한 API 요청인 것으로 판단한다. According to an embodiment of the present invention, the first policy information may be identification information of at least one application accessible to the API. In this case, if the identification information of the application included in the received API request is one of the identification information of at least one application included in the first policy information, the policy engine unit 342 determines that the received API request is the normal application It is determined that the request is an API request.

즉, 제1 정책 정보는 액세스 정책 규칙(Access Policy Rules)으로서, 이에 대해 상세하게 설명하면 다음과 같다. That is, the first policy information is an access policy rule, which will be described in detail as follows.

액세스 정책은 컨트롤러(320) 코드의 정적 분석을 수행하고, 컨트롤러(320)에 설치된 API에 애플리케이션이 접근할 수 있는지를 확인하는 것으로 정의된다. 정책 규칙 데이터베이스는 "permission.csv" 파일을 저장하며, "permission.csv" 내에서 각각의 API 및 모듈에 대해 접근 정책을 읽는다. 정책 엔진부(320)는 컨트롤러 스타트업에서 "permission.csv" 파일을 읽고 정책 규칙 데이터베이스에 이를 저장한다. 정책 엔진부(342)는 런타임에 호출 스택을 덤프(dump)하며, 모듈이 컨트롤러(320)의 API를 호출하는지를 식별한다. 그 후, 정책 엔진부(342)는 컨트롤러(320)의 API에 대한 권한 집합을 식별하기 위해 정책 규칙 데이터베이스를 검색한다. 호출 모듈에 대한 권한 집합이 읽기 또는 쓰기 등과 같은 유효한 값을 포함하는 경우 다음 과정이 수행된다. 만약, 접근 정책을 설정하지 않는 경우, 컨트롤러(320)의 API에 대한 실행이 필요없어 지고, API 후크(hook)는 실패 응답을 반환한다. 액세스 권한에 대한 변경 사항은 정책 규칙 데이터베이스에 의해 동적으로의 처리될 수 있다. 예를 들어, "permission.csv" 파일 내에 어떠한 변화가 존재하는 경우, 정책 엔진부(342)는 정책 규칙 데이터베이스를 업데이트하고, 컨트롤러(320)의 API에 대한 추가 접근이 처리된다. The access policy is defined as performing a static analysis of the controller 320 code and verifying that the application is accessible to the API installed in the controller 320. The policy rule database stores the "permission.csv" file and reads the access policy for each API and module in "permission.csv". The policy engine unit 320 reads the "permission.csv" file at the controller startup and stores it in the policy rule database. The policy engine unit 342 dumps the call stack at run time and identifies whether the module calls the controller 320's API. Thereafter, the policy engine unit 342 searches the policy rule database to identify a set of rights for the API of the controller 320. If the privilege set for the calling module contains a valid value such as read or write, the following procedure is performed. If an access policy is not set, the execution of the API of the controller 320 is not necessary, and the API hook returns a failure response. Changes to access rights can be handled dynamically by the policy rule database. For example, if there is any change in the "permission.csv" file, the policy engine unit 342 updates the policy rule database and further access to the API of the controller 320 is processed.

또한, 본 발명의 일 실시예에 따르면, 제2 정책 정보는 API로 전달될 수 있는 불변(invariant) 데이터의 정보일 수 있다. 이 경우, 정책 엔진부(342)는 수신된 API 요청에 포함된 불변 데이터 정보가 제2 정책 정보에 포함된 불변 데이터의 정보에 포함되는 경우, 수신된 API 요청이 정상 애플리케이션을 위한 API 요청인 것으로 판단할 수 있다. Also, according to an embodiment of the present invention, the second policy information may be information of invariant data that can be transmitted to the API. In this case, when the invariant data information included in the received API request is included in the information of the invariant data included in the second policy information, the policy engine unit 342 determines that the received API request is an API request for a normal application It can be judged.

즉, 제2 정책 정보는 구문 정책 규칙(Access Policy Rules)으로서, 이에 대해 상세하게 설명하면 다음과 같다. That is, the second policy information is an access policy rule, which will be described in detail as follows.

구문 정책은 파라미터에 대한 불변 데이터의 사용을 정의한다. 정책 엔진부(342)는 컨트롤러(320) 코드 내의 불변 데이터를 확인하기 위해 정적 분석 도구를 사용한다. 정책 엔진부(342)는 정책 규칙 데이터베이스의 값에 대해서 컨트롤러(320)의 API에서 전달된 불변 데이터를 검사한다. 악성 값이 발견되는 경우 컨트롤러(320)의 API에 대한 액세스가 차단된다. Syntax policies define the use of immutable data for parameters. Policy engine portion 342 uses a static analysis tool to identify constant data in controller 320 code. The policy engine unit 342 examines the invariant data transmitted from the API of the controller 320 with respect to the value of the policy rule database. If a malicious value is found, access to the API of the controller 320 is blocked.

또한, 본 발명의 일 실시예에 따르면, 제3 정책 정보는 기 설정된 범위에서 변화하는 동적 데이터의 정보일 수 있다. 이 경우, 정책 엔진부(320)는 수신된 API 요청에 포함된 동적 데이터가 제3 정책 정보에 포함된 동적 데이터의 정보에 포함되는 경우, 수신된 API 요청이 정상 애플리케이션을 위한 API 요청인 것으로 판단할 수 있다. Also, according to an embodiment of the present invention, the third policy information may be information of dynamic data changing in a predetermined range. In this case, when the dynamic data included in the received API request is included in the information of the dynamic data included in the third policy information, the policy engine 320 determines that the received API request is an API request for a normal application can do.

즉, 제3 정책 정보는 시맨틱 정책 규칙(Semantic Policy Rules)으로서, 시멘틱 정책은 동적 데이터에 대해 범위 내에서의 변화가 발생하는지 여부로 정의된다. 일례로, IP 주소, 포트 및 구성 데이터가 동적 데이터의 예이다. That is, the third policy information is defined as a semantic policy rule, and the semantic policy is defined as whether or not the dynamic data is changed within the scope. As an example, the IP address, port, and configuration data are examples of dynamic data.

또한, 본 발명의 일 실시예에 따르면, 제4 정책 정보는 2개의 모듈 사이의 통신의 흐름 정보일 수 있다. 이 때, 모듈은 인프라스트럭처 계층에 존재하는 모듈이다. 이 경우, 정책 엔진부(342)는 수신된 API 요청에 포함된 통신의 흐름 정보가 제4 정책 정보에 포함된 통신의 흐름 정보에 포함되는 경우, 수신된 API 요청이 정상 애플리케이션을 위한 API 요청인 것으로 판단할 수 있다. Also, according to an embodiment of the present invention, the fourth policy information may be flow information of communication between two modules. In this case, the module is a module existing in the infrastructure layer. In this case, when the flow information of the communication included in the received API request is included in the flow information of the communication included in the fourth policy information, the policy engine unit 342 determines that the received API request is an API request for a normal application .

즉, 제4 정책 정보는 통신 정책 규칙(Communication Policy Rules)으로서, 이에 대해 상세하게 설명하면 다음과 같다. That is, the fourth policy information is communication policy rules, which will be described in detail as follows.

통신 정책은 요청들의 실행의 흐름을 정의한다. 통신 정책은 두 개의 모듈 사이의 통신 관계 사이의 프로토콜의 상태를 확인한다. 일례로서, 호스트는 현재 포트의 적절한 종료 없이 다른 스위치 포트로 이동하지 않아야 한다. 이 정책은 두 개의 모듈 또는 인터페이스 사이의 통신에서의 그러한 위반을 감지한다. 그리고, 정책 엔진은 검증을 위한 통신의 상태를 유지한다.The communication policy defines the flow of execution of requests. The communication policy identifies the state of the protocol between the communication relationships between the two modules. As an example, the host should not move to another switch port without proper termination of the current port. This policy detects such violations in the communication between two modules or interfaces. The policy engine maintains the state of communication for verification.

요컨대, 본 발명의 일 실시예에 따른 소프트웨어 정의 네트워크(300) 및 이에 포함되는 판단 장치(340)는 컨트롤러(320)의 API를 오용으로부터 보호하며, 악성 애플리케이션의 공격으로부터 컨트롤러(320)를 보호하는 장점이 있다. In short, the software defined network 300 and the determination device 340 included therein protect the API of the controller 320 from misuse and protect the controller 320 from the attack of the malicious application There are advantages.

이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다. As described above, the present invention has been described with reference to particular embodiments, such as specific elements, and limited embodiments and drawings. However, it should be understood that the present invention is not limited to the above- Various modifications and variations may be made thereto by those skilled in the art to which the present invention pertains. Accordingly, the spirit of the present invention should not be construed as being limited to the embodiments described, and all of the equivalents or equivalents of the claims, as well as the following claims, belong to the scope of the present invention .

Claims (7)

애플리케이션 계층, 컨트롤 계층 및 인프라스트럭처 계층으로 구성되는 소프트웨어 정의 네트워크에 있어서,
상기 컨트롤 계층 상에 위치하며, API(Application Programming Interface) 및 애플리케이션이 설치되는 컨트롤러 - 상기 애플리케이션은 정상 애플리케이션 또는 악성 애플리케이션 중 어느 하나임 -;
상기 설치된 애플리케이션을 사용하기 위한 API 요청을 상기 애플리케이션 계층으로부터 수신하는 통신부와, 상기 정상 애플리케이션에 대한 API 요청인지 여부를 판단하는 정책 정보를 이용하여 상기 수신된 API 요청이 상기 정상 애플리케이션을 위한 API 요청인지 상기 악성 애플리케이션을 위한 API 요청인지 여부를 판단하는 정책 엔진부를 포함하는 판단부;를 포함하되,
상기 정책 정보는 기 설정된 범위에서 변화하는 동적 데이터의 정보인 제3 정책 정보를 포함하고, 상기 정책 엔진부는 상기 수신된 API 요청에 포함된 동적 데이터가 상기 제3 정책 정보에 포함된 동적 데이터의 정보에 포함되는 경우 상기 수신된 API 요청이 상기 정상 애플리케이션을 위한 API 요청인 것으로 판단하며,
상기 통신부는 상기 수신된 API 요청이 상기 정상 애플리케이션을 위한 API 요청인 경우 상기 수신된 API 요청을 상기 컨트롤러로 전송하는 것을 특징으로 하는 소프트웨어 정의 네트워크.
In a software defined network comprising an application layer, a control layer and an infrastructure layer,
A controller located on the control layer and having an application programming interface (API) and an application installed therein, the application being either a normal application or a malicious application;
A communication unit for receiving an API request for using the installed application from the application layer; and a control unit for determining whether the received API request is an API request for the normal application, using policy information for determining whether the API request is for the normal application And a policy engine unit for determining whether the request is an API request for the malicious application,
Wherein the policy information includes third policy information that is information of dynamic data that changes in a predetermined range, and the policy engine unit determines that the dynamic data included in the received API request is information of dynamic data included in the third policy information It is determined that the received API request is an API request for the normal application,
Wherein the communication unit transmits the received API request to the controller when the received API request is an API request for the normal application.
삭제delete 제1항에 있어서,
상기 정책 정보는 상기 API에 접근 가능한 적어도 하나의 애플리케이션의 식별정보인 제1 정책 정보를 포함하고,
상기 정책 엔진부는 상기 수신된 API 요청에 포함된 애플리케이션의 식별정보가 상기 제1 정책 정보에 포함된 적어도 하나의 애플리케이션의 식별정보 중 하나인 경우 상기 수신된 API 요청이 상기 정상 애플리케이션을 위한 API 요청인 것으로 판단하는 것을 특징으로 하는 소프트웨어 정의 네트워크.
The method according to claim 1,
Wherein the policy information includes first policy information that is identification information of at least one application accessible to the API,
Wherein the policy engine unit determines that the received API request is an API request for the normal application when the identification information of the application included in the received API request is one of identification information of at least one application included in the first policy information The software defined network.
제1항에 있어서,
상기 정책 정보는 상기 API로 전달될 수 있는 불변(invariant) 데이터의 정보인 제2 정책 정보를 포함하고,
상기 정책 엔진부는 상기 수신된 API 요청에 포함된 불변 데이터 정보가 상기 제2 정책 정보에 포함된 불변 데이터의 정보에 포함되는 경우 상기 수신된 API 요청이 상기 정상 애플리케이션을 위한 API 요청인 것으로 판단하는 것을 특징으로 하는 소프트웨어 정의 네트워크.
The method according to claim 1,
Wherein the policy information includes second policy information that is information of invariant data that can be transmitted to the API,
Wherein the policy engine unit determines that the received API request is an API request for the normal application when the invariant data information included in the received API request is included in the information of the invariant data included in the second policy information Features a software defined network.
삭제delete 제1항에 있어서,
상기 정책 정보는 2개의 모듈 사이의 통신의 흐름 정보인 제4 정책 정보를 포함하고 - 상기 모듈은 상기 인프라스트럭처 계층에 존재하는 모듈임 -,
상기 정책 엔진부는 상기 수신된 API 요청에 포함된 통신의 흐름 정보가 상기 제4 정책 정보에 포함된 통신의 흐름 정보에 포함되는 경우 상기 수신된 API 요청이 상기 정상 애플리케이션을 위한 API 요청인 것으로 판단하는 것을 특징으로 하는 소프트웨어 정의 네트워크.
The method according to claim 1,
Wherein the policy information includes fourth policy information which is flow information of communication between two modules, the module being a module existing in the infrastructure layer,
If the flow information of the communication included in the received API request is included in the flow information of the communication included in the fourth policy information, the policy engine unit determines that the received API request is an API request for the normal application A software defined network.
소프트웨어 정의 네트워크 내의 애플리케이션 계층과 컨트롤 계층 사이에 존재하는 악성 애플리케이션 판단 장치에 있어서,
상기 컨트롤 계층 상에 위치하는 컨트롤러에 설치된 애플리케이션을 사용하기 위한 API 요청을 상기 애플리케이션 계층으로부터 수신하는 통신부; 및
정상 애플리케이션에 대한 API 요청인지 여부를 판단하는 정책 정보를 이용하여 상기 수신된 API 요청이 상기 정상 애플리케이션을 위한 API 요청인지 상기 악성 애플리케이션을 위한 API 요청인지 여부를 판단하는 정책 엔진부;를 포함하되,
상기 정책 정보는 기 설정된 범위에서 변화하는 동적 데이터의 정보인 제3 정책 정보를 포함하고,
상기 정책 엔진부는 상기 수신된 API 요청에 포함된 동적 데이터가 상기 제3 정책 정보에 포함된 동적 데이터의 정보에 포함되는 경우 상기 수신된 API 요청이 상기 정상 애플리케이션을 위한 API 요청인 것으로 판단하는 것을 특징으로 하는 악성 애플리케이션 판단 장치.
A malicious application determination device existing between an application layer and a control layer in a software defined network,
A communication unit for receiving an API request for using an application installed in a controller located on the control layer from the application layer; And
And a policy engine unit for determining whether the received API request is an API request for the normal application or an API request for the malicious application by using policy information for determining whether the API request is for the normal application,
Wherein the policy information includes third policy information which is information of dynamic data changing in a predetermined range,
The policy engine unit determines that the received API request is an API request for the normal application when the dynamic data included in the received API request is included in the information of the dynamic data included in the third policy information To the malicious application.
KR1020160134426A 2016-10-17 2016-10-17 SDN for preventing malicious application and Determination apparatus comprising the same KR101854996B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160134426A KR101854996B1 (en) 2016-10-17 2016-10-17 SDN for preventing malicious application and Determination apparatus comprising the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160134426A KR101854996B1 (en) 2016-10-17 2016-10-17 SDN for preventing malicious application and Determination apparatus comprising the same

Publications (2)

Publication Number Publication Date
KR20180041976A KR20180041976A (en) 2018-04-25
KR101854996B1 true KR101854996B1 (en) 2018-05-04

Family

ID=62088733

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160134426A KR101854996B1 (en) 2016-10-17 2016-10-17 SDN for preventing malicious application and Determination apparatus comprising the same

Country Status (1)

Country Link
KR (1) KR101854996B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102333946B1 (en) * 2019-08-16 2021-12-01 숭실대학교산학협력단 Method and apparatus for authenticating openstack service

Also Published As

Publication number Publication date
KR20180041976A (en) 2018-04-25

Similar Documents

Publication Publication Date Title
CN109565500B (en) On-demand security architecture
EP3704846B1 (en) Cloud-based multi-function firewall and zero trust private virtual network
US9215237B2 (en) Communication system, control device, communication method, and program
US9118716B2 (en) Computer system, controller and network monitoring method
KR101900154B1 (en) SDN capable of detection DDoS attacks and switch including the same
US8261355B2 (en) Topology-aware attack mitigation
US8185933B1 (en) Local caching of endpoint security information
US8732817B2 (en) Switching hub, a system, a method of the switching hub and a program thereof
US20060274768A1 (en) Method and system for network access control
US9923924B2 (en) Endpoint policy change
JP2006074760A (en) Enabling network device inside virtual network to keep up communication while network communication is restricted due to security threat
KR20080021677A (en) Data processing system
US10771499B2 (en) Automatic handling of device group oversubscription using stateless upstream network devices
CN115174269A (en) Linux host network communication security protection method and device
KR101854996B1 (en) SDN for preventing malicious application and Determination apparatus comprising the same
KR102013044B1 (en) SDN for preventing malware attack and controller including the same
KR101914831B1 (en) SDN to prevent an attack on the host tracking service and controller including the same
US20210400020A1 (en) Technique for collecting information relating to a flow routed in a network
US20100157806A1 (en) Method for processing data packet load balancing and network equipment thereof
KR102174507B1 (en) A appratus and method for auto setting firewall of the gateway in network
KR101948984B1 (en) SDN for detecting switch damage and controller including the same
KR20180041977A (en) SDN for supporting authentication for link discovery service and controller including the same
KR102274589B1 (en) Apparatus and method for preventing error traffic on a international phone call
CN114697076A (en) Application access control method and device, terminal equipment and medium

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right