KR101844136B1 - 분산 소프트웨어 정의 네트워킹 환경에서 네트워크 이상을 감지하는 방법, 장치 및 컴퓨터 프로그램 - Google Patents

분산 소프트웨어 정의 네트워킹 환경에서 네트워크 이상을 감지하는 방법, 장치 및 컴퓨터 프로그램 Download PDF

Info

Publication number
KR101844136B1
KR101844136B1 KR1020160051216A KR20160051216A KR101844136B1 KR 101844136 B1 KR101844136 B1 KR 101844136B1 KR 1020160051216 A KR1020160051216 A KR 1020160051216A KR 20160051216 A KR20160051216 A KR 20160051216A KR 101844136 B1 KR101844136 B1 KR 101844136B1
Authority
KR
South Korea
Prior art keywords
network
information
user
characteristic information
request signal
Prior art date
Application number
KR1020160051216A
Other languages
English (en)
Other versions
KR20170122377A (ko
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 KR1020160051216A priority Critical patent/KR101844136B1/ko
Priority to US15/498,967 priority patent/US10609055B2/en
Publication of KR20170122377A publication Critical patent/KR20170122377A/ko
Application granted granted Critical
Publication of KR101844136B1 publication Critical patent/KR101844136B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/142Network analysis or design using statistical or mathematical methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/20Network management software packages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/22Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5009Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Algebra (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 분산 소프트웨어 정의 네트워킹에서 네트워크 이상을 감지하는 방법, 장치 및 컴퓨터 프로그램에 관한 것이다. 본 발명의 일 실시 예에 의한 분산 SDN(소프트웨어 정의 네트워킹) 환경에서 네트워크 이상을 감지하는 방법은 분산 SDN 컨트롤러로부터 제어 메시지(control message)를 수집하는 단계, 상기 제어 메시지를 이용하여 네트워크 특성 정보를 생성하는 단계를 포함하며, 상기 네트워크 특성 정보는 상기 제어 메시지에 포함된 통계 정보 또는 이벤트정보, 및 상기 통계 정보 또는 상기 이벤트 정보를 이용하여 연산된 신규 연산 정보를 포함한다. 본 발명에 따르면 소프트웨어 정의 네트워킹 환경에서 네트워크 이상을 감지하기 위한 다양한 기능을 지원하고 사용자에게 하이레벨 API를 제공함으로써, 사용자에게 높은 사용성과 확장성, 가용성 및 배포성을 갖는 네트워크 이상 감지 방법, 장치 및 컴퓨터 프로그램을 제공할 수 있다.

Description

분산 소프트웨어 정의 네트워킹 환경에서 네트워크 이상을 감지하는 방법, 장치 및 컴퓨터 프로그램{METHOD, APPARATUS AND COMPUTER PROGRAM FOR NETWORK ANOMALY DETECTION IN DISTRIBUTED SOFTWARE DEFINED NETWORKING ENVIRONMENT}
본 발명은 네트워크 이상을 감지하는 방법, 장치 및 컴퓨터 프로그램에 관한 것으로, 보다 구체적으로는 분산 소프트웨어 정의 네트워킹 환경에서 네트워크 이상을 감지하는 방법, 장치 및 컴퓨터프로그램에 관한 것이다.
소프트웨어 정의 네트워킹(SDN: Software Defined Networking, 이하 SDN이라 칭함)은 기존 네트워크 장비의 데이터 전달 기능과 제어 기능을 분리하여 중앙의 컨트롤러가 네트워크를 제어하는 새로운 패러다임으로 네트워크 분야에서 큰 주목을 받고 있다. SDN 에서는 중앙의 SDN 컨트롤러가 네트워크 장비들로부터 수집한 정보를 기반으로 전체 네트워크에 대한 정보를 유지하며 이를 기반으로 다양한 네트워크 서비스들을 제공한다.
SDN 에서 컨트롤 플레인(control plane)을 담당하는 컨트롤러와 데이터 플레인(data plane)을 담당하는 스위치 사이의 통신은 국제 표준인 오픈플로우(OpenFlow) 프로토콜을 통해서 이루어진다. 오픈플로우 프로토콜을 지원하는 스위치는 패킷이 전달되면, 컨트롤러가 미리 정한 규칙에 따라서 패킷을 다른 스위치로 전달하거나, 컨트롤러로 전달하거나, 버리는 등의 단순한 동작을 수행한다.
SDN은 클라우드 네트워크와 같은 환경에서 각 네트워크 스위치 혹은 라우터의 기능을 동적으로 설정하여 에너지 소비를 줄일 수 있으며, 엔터프라이즈 네트워크 환경에서는 각 스위치나 라우터에 원하는 접근 제어 방식을 구현할 수 있다. 또한, 이를 이용하여 기존의 네트워크에서 사용되는 장비의 수와 장비 관리 비용을 줄일 수 있다. 또 새롭게 개발한 기능을 자유롭게 시험할 수 있다.
한편, 단일 SDN 컨트롤러가 전체 네트워크를 제어하는 구조에서는 컨트롤러 장애 발생 시 전체 네트워크가 다운되는 단일 고장점(single point of failure) 문제가 치명적이다. 또한 단일 SDN 컨트롤러의 처리 용량이 제한적이기 때문에 확장성에 대한 이슈도 존재한다.
따라서, 이러한 문제를 해결하기 위해 다수의 SDN 컨트롤러들을 통해 클러스터를 형성하여 고가용성 및 고확장성을 제공하는 분산 SDN 컨트롤러 구조에 대한 연구 및 개발이 진행되고 있다. 이때, 분산 SDN 컨트롤러 구조는 대규모 네트워크 데이터 셋이 사용되는 경우에도 네트워크 이상을 감지할 수 있어야 하며, 다양한 네트워크를 지원할 수 있어야 한다. 또한, 다양한 공격을 감지할 수 있도록 사용자가 원하는 대로 변경 가능한 API(Application Programming Interface) 또는 하이레벨 스크립트 등을 제공할 수 있어야 한다.
그러나 기존의 연구에서는 특정한 공격 시나리오만을 위한 한정적인 네트워크 기능(Feature) 만을 정의하고 있어, 다양한 이상 징후를 감지하기에 충분하지 않다. 또한, OpenSketch와 같이 스위치를 커스터마이징(customizing)하여 구현한 프레임워크의 경우 오픈플로우(OpenFlow)기반 환경에서 배포가 불가능하다는 문제가 있다.
본 발명은 전술한 문제점을 해결하기 위한 것으로서, 분산 SDN 환경에서 수집되는 다량의 네트워크 상태 데이터를 사용자가 쉽게 확인 및 분석할 수 있도록 함으로써, 네트워크 이상 감지 프레임워크의 확장성과 가용성을 높이는 것을 일 목적으로 한다.
또한, 종래에 비해 다양한 네트워크 기능을 지원하며, 사용자에게 하이레벨 API를 제공함으로써 사용성이 향상된 네트워크 이상 감지 방법, 장치 및 컴퓨터 프로그램을 제공하는 것을 다른 목적으로 한다.
또한, 스위치를 커스터마이징하지 않고도 오픈플로우를 그대로 이용할 수 있는 네트워크 기능을 제공함으로써, 높은 배포성을 갖는 네트워크 이상 감지 방법, 장치 및 컴퓨터 프로그램을 제공하는 것을 다른 목적으로 한다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시 예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
이러한 목적을 달성하기 위한 본 발명의 일 실시 예에 의한 분산 SDN(소프트웨어 정의 네트워킹) 환경에서 네트워크 이상을 감지하는 방법은, 사용자로부터 어떤 기능을 수행할지에 대한 오퍼레이션 신호를 수신하는 단계, 분산 SDN 컨트롤러로부터 제어 메시지(control message)를 수집하는 단계, 상기 제어 메시지를 이용하여 네트워크 특성 정보를 생성하는 단계 및 상기 네트워크 특성 정보를 이용하여 상기 오퍼레이션 신호에 대응되는 네트워크 분석 결과를 제공하는 단계를 포함하고,
상기 네트워크 특성 정보는 상기 제어 메시지에 포함된 통계 정보 또는 이벤트정보, 및 상기 통계 정보 또는 상기 이벤트 정보를 이용하여 연산된 신규 연산 정보를 포함하는 것을 일 특징으로 한다.
또한, 본 발명의 일 실시 예에 의한 분산 SDN(소프트웨어 정의 네트워킹) 환경에서 네트워크 이상을 감지하는 장치는, 사용자로부터 오퍼레이션 신호를 수신하는 어플리케이션부, 분산 SDN 컨트롤러로부터 제어 메시지(control message)를 수집하는 통신부 및 상기 제어 메시지를 이용하여 네트워크 특성 정보를 생성하고, 상기 네트워크 특성 정보를 이용하여 상기 오퍼레이션 신호에 대응되는 네트워크 분석 결과를 생성하는 제어부를 포함하며, 상기 어플리케이션부는 상기 네트워크 분석 결과를 사용자에게 제공하고, 상기 네트워크 특성 정보는 상기 제어 메시지에 포함된 통계 정보 또는 이벤트정보, 및 상기 통계 정보 또는 상기 이벤트 정보를 이용하여 연산된 신규 연산 정보를 포함하는 것을 일 특징으로 한다.
또한, 본 발명의 분산 SDN(소프트웨어 정의 네트워킹) 환경에서 네트워크 이상을 감지하기 위해 매체에 저장된 컴퓨터 프로그램은, 사용자로부터 어떤 기능을 수행할 지에 대한 오퍼레이션 신호를 수신하는 기능, 분산 SDN 컨트롤러로부터 제어 메시지(control message)를 수집하는 기능, 상기 제어 메시지를 이용하여 네트워크 특성 정보를 생성하는 기능 및 상기 네트워크 특성 정보를 이용하여 상기 오퍼레이션 신호에 대응되는 네트워크 분석 결과를 제공하는 기능을 포함하고, 상기 네트워크 특성 정보는 상기 제어 메시지에 포함된 통계 정보 또는 이벤트정보, 및 상기 통계 정보 또는 상기 이벤트 정보를 이용하여 연산된 신규 연산 정보를 포함하는 것을 일 특징으로 한다.
본 발명에 의하면, 분산 SDN 환경에서 수집되는 다량의 네트워크 상태 데이터를 사용자가 쉽게 확인 및 분석할 수 있어 네트워크 이상 감지 프레임워크의 확장성과 가용성이 높아지는 효과가 있다.
또한, 본 발명은 종래에 비해 네트워크 이상을 감지하기 위한 다양한 기능을 지원하며, 사용자에게 하이레벨 API를 제공함으로써 사용성이 향상된 네트워크 이상 감지 방법, 장치 및 컴퓨터 프로그램을 제공할 수 있다.
또한, 스위치를 커스터마이징하지 않고도 오픈플로우를 그대로 이용할 수 있는 네트워크 이상 감지 방법, 장치 및 컴퓨터 프로그램을 제공함으로써, 배포성이 높아지는 효과가 있다.
도 1은 본 발명의 일 실시 예에 의한 분산 소프트웨어 정의 네트워킹 환경을 설명하기 위한 도면,
도 2는 본 발명의 일 실시 예에 의한 네트워크 이상 감지 장치의 구성을 나타내는 구성도,
도 3은 본 발명의 일 실시 예에 의한 네트워크 이상 감지 방법을 설명하기 위한 순서도,
도 4는 본 발명의 일 실시 예에 의한 네트워크 이상 감지 방법을 설명하기 위한 흐름도,
도 5는 본 발명의 다른 실시 예에 의한 네트워크 이상 감지 방법을 설명하기 위한 흐름도,
도 6는 본 발명의 다른 실시 예에 의한 네트워크 이상 감지 방법을 설명하기 위한 흐름도이다.
전술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되며, 이에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 상세한 설명을 생략한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시 예를 상세히 설명하기로 한다. 도면에서 동일한 참조부호는 동일 또는 유사한 구성요소를 가리키는 것으로 사용된다.
본 명세서에서 플로우(flow)는 해당 업계 통상의 기술자 입장에서 특정 시간 동안 네트워크 상의 지정된 관찰 지점을 지나는 패킷의 집합, 패킷의 출발지 또는 목적지 등의 정보를 가진 데이터를 의미하는 것으로 이해되어야 한다.
도 1은 본 발명의 일 실시 예에 의한 분산 소프트웨어 정의 네트워킹(Distributed Software Defined Networking, 이하 분산 SDN이라 한다.) 환경 및 네트워크 이상 감지 장치를 설명하기 위한 도면이다.
도 1을 참조하면, 본 발명에 의한 분산 소프트웨어 정의 네트워킹 환경은 네트워크 이상 감지 장치(100, 101), 분산 SDN 컨트롤러(200,201), 네트워크 장비(300), 호스트(400), 데이터베이스(500) 및 분산 처리 인스턴스(700)를 포함할 수 있다. 네트워크 장비(300)와 호스트(400)는 노드(Node)로 지칭할 수 있으며, 링크(Link)는 두 개의 노드 사이의 연결을 의미할 수 있다.
분산 SDN은 복수의 서버 또는 클러스터에 분산 컨트롤러(또는 다중 컨트롤러) 환경을 제공하여, 컨트롤러(200, 201)가 갖는 컴퓨팅 부하를 분산시킬 수 있다는 점에서 SDN과 차이가 있다. 그러나 분산 SDN 환경에서도 컨트롤러(200)가 복수의 네트워크 장비(300)를 중앙집중형으로 관리 및 제어하는 기능을 한다는 점은 SDN과 동일하므로, 이하에서 컨트롤러(200), 네트워크 장비(300) 간 주고받는 신호에 관해서는 SDN의 오픈플로우 프로토콜에 기반하여 설명하기로 한다.
한편, 분산 SDN 구조를 어플리케이션 레이어(Application Layer), 컨트롤 레이어(Control Layer), 인프라스트럭처 레이어(Infrastructure Layer)로 나누면, 분산 SDN 컨트롤러(200, 201)는 컨트롤 레이어에 포함되고, 데이터베이스(500) 및 분산 처리 인스턴스(700)는 인프라스트럭처 레이어에 포함되는 것으로 볼 수 있다.
이때, 네트워크 이상 감지 장치(100, 101)는 사용자가 어플리케이션 레이어를 통해 용이하게 네트워크를 관리하고 네트워크 정보를 확인할 수 있도록 컨트롤 레이어 및 인프라스트럭처 레이어와 통신함으로써 사용자에게 사용자가 필요로 하는 정보만을 제공할 수 있다. 즉, 네트워크 이상 감지 장치(100, 101)는 어플리케이션 레이어에는 노스바운드(Northbound) 어플리케이션 프로그램 인터페이스(Application Program Interface, 이하 API이라 한다.)를 제공하고, 컨트롤레이어 및 인프라스트럭처레이어에는 사우스바운드(Southbound) API를 제공하는 일종의 프레임워크(framework)로 볼 수 있다.
분산 SDN 컨트롤러(200)는 토폴로지 관리(Topology management), 패킷 처리와 관련된 경로 관리(Path management), 링크 디스커버리(Link discovery), 패킷 흐름인 플로우 관리(Flow management) 등의 기능을 하는 소프트웨어가 탑재된 형태로 구현될 수 있다. 설명의 편의를 위해 컨트롤러와 분산 SDN 컨트롤러는 혼용하여 사용될 수 있음에 유의한다.
네트워크 장비(300)는 컨트롤러(200)의 제어에 따라 패킷을 처리한다. 네트워크 장비(300)의 예로는 이동 통신 기지국, 기지국 제어기, 게이트웨이 장비, 유선 네트워크의 스위치, 라우터 등이 있다. 다만 설명의 편의를 위해 이하에서는 네트워크 장비(300)가 오픈플로우 스위치인 경우를 중심으로 설명하도록 한다.
SDN에서 컨트롤러(200)와 오픈플로우 스위치(300)는 상호간 정보를 주고받아야하며, 이를 위한 프로토콜로 널리 사용되는 것이 오픈플로우(OpenFlow) 프로토콜이다. 즉, 오픈플로우 프로토콜은 컨트롤러(200)와 오픈플로우 스위치(300)간 서로 통신할 수 있는 표준 규격이다.
보다 구체적으로 설명하면, 오픈플로우 스위치(300)는 보안 채널(Secure Channel)을 통해 컨트롤러(200)와 정보를 교환한다. 보안 채널은 오픈플로우 스위치(300)와 원거리에 위치한 컨트롤러(200) 간 통신 채널이며, 컨트롤러(200)와 오픈플로우 스위치(300)간 교환되는 정보는 암호화될 수 있다.
그리고 오픈플로우 스위치(300)에는 패킷을 규정 및 처리하고, 패킷에 관련된 통계 정보를 포함하는 하나 이상의 플로우 테이블(Flow table)이 존재한다. 이 플로우 테이블은 패킷 처리를 규정하는 플로우 엔트리(Flow Entry)(또는, 플로우 룰(Flow Rule))로 구성되며, 이 플로우 엔트리는 컨트롤러(200)가 생성하여 오픈플로우 스위치(300)에 전송하는 플로우 모드 메시지(Flow-Mod Message)에 의해 추가, 수정 또는 삭제될 수 있다. 오픈플로우 스위치(300)는 상기 플로우 테이블을 참조하여 패킷을 처리한다.
플로우 엔트리는 플로우를 정의하는 패킷에 대한 매치 정보(Match Field), 패킷의 처리를 정의하는 동작 정보(Instruction) 및 플로우별 통계 정보(Stats)를 포함할 수 있으며, 우선 순위(Priority)가 지정될 수 있다. 오픈플로우 스위치는 패킷의 정보와 부합하는 매치 정보를 가진 플로우 엔트리 중에서 가장 높은 우선순위를 가지는 플로우 엔트리의 동작 정보에 따라 패킷을 처리할 수 있다.
이때, 네트워크 이상 감지 장치(100)가 컨트롤러(200)로부터 수집하는 제어 메시지(Control Message)는 컨트롤러(200)와 오픈플로우 스위치(300) 간에 교환되는 컨트롤 플레인에서의 메시지를 의미한다. 따라서, 제어 메시지에는 플로우 엔트리에 포함되는 매치 정보, 동작 정보 및 플로우 별 통계 정보가 포함될 수 있다.
본 발명의 일 실시 예에 의한 분산 SDN 환경에서 네트워크 이상 감지 장치(100, 101) 및 분산 SDN 컨트롤러(200,201)는 데이터베이스(500) 및 분산 처리 인스턴스(700)를 공유할 수 있으며, 본 명세서에서 데이터베이스는 하나 이상의 데이터베이스(D1, D2, …, DN)로 구성된 데이터베이스 클러스터를, 분산 처리 인스턴스는 하나 이상의 처리 인스턴스들(C1, C2,…, CN)로 구성된 컴퓨팅 클러스터를 의미할 수 있다. 그러나 본 발명은 이러한 실시 예에 의해 한정되지 않으며, 본 발명의 다른 실시 예에 의한 네트워크 이상 감지 장치(100,101) 및 분산 SDN 컨트롤러(200,201) 각각은 데이터베이스와 처리 인스턴스를 포함할 수 있다.
다시 말해서, 데이터베이스와 처리 인스턴스는 네트워크 이상 감지 장치 및 분산 SDN 컨트롤러 소프트웨어 내부에 포함될 수 있으나, 분산 데이터베이스나 파일 시스템과 같은 다른 소프트웨어 제품을 이용하여 구현될 수 있다. 다만 본 명세서에서는 하나 이상의 네트워크 이상 감지 분산 SDN 컨트롤러(200, 201)가 클라우드 환경에서 데이터베이스(500)를 공유하는 경우를 중심으로 설명한다.
도 2는 본 발명의 일 실시 예에 의한 네트워크 이상 감지 장치의 구성을 나타내는 구성도이다. 도 2를 참조하면, 본 발명의 일 실시 예에 의한 네트워크 이상 감지 장치(100)는 어플리케이션부(130), 제어부(150), 통신부(170)를 포함한다. 또한 어플리케이션부(130)는 제 1 인터페이스부(135), 제 2 인터페이스부(137)를 포함할 수 있으며, 통신부(170)는 데이터베이스 관리부(175), 분산 처리 인스턴스 관리부(177)를 포함할 수 있다.
먼저, 어플리케이션부(130)는 사용자로부터 어떤 기능을 수행할지에 대한 오퍼레이션 신호를 수신하고, 본 발명의 네트워크 이상 감지 장치(100)가 생성한 네트워크 분석 결과를 사용자에게 제공한다. 오퍼레이션 신호에 어플리케이션 식별정보가 포함되어 있는 경우에는, 해당 어플리케이션으로 네트워크 분석 결과를 제공할 수 있다.
어플리케이션부(130)가 수신하는 오퍼레이션 신호는 어플리케이션을 통해 입력되는 정보로, 어떠한 기능을 수행할 지에 대한 정보, 예를 들어 네트워크 정보 요청 신호, 네트워크 분석 요청 신호, 악성 행위 모델 수립 요청 신호, 이상 감지 요청 신호 등을 포함하며, 어플리케이션부(130)가 사용자에게 제공하는 네트워크 분석 결과는 네트워크 특성 정보, 분석용 네트워크 특성 정보, 악성행위 모델, 이상 감지 결과를 포함한다.
어플리케이션부(130)의 일 실시 예로, 어플리케이션부(130)는 사용자로부터 네트워크 장비 식별 정보 및 어플리케이션의 식별 정보를 포함하는 네트워크 정보 요청 신호를 수신할 수 있다. 제어부(150)가 네트워크 정보 요청 신호를 등록하고 네트워크 장비 식별 정보를 포함하는 네트워크 특성 정보를 네트워크 분석 결과로 생성하면, 제어부(150)로부터 네트워크 분석 결과를 전달받아 해당 어플리케이션을 통해 사용자에게 네트워크 분석 결과를 제공한다.
사용자가 네트워크 분석을 요청하는 경우의 다른 실시 예로, 어플리케이션부(130)는 사용자로부터 어플리케이션의 식별 정보 및 사용자 요청 정보를 포함하는 네트워크 분석 요청 신호를 수신하고, 이를 데이터베이스 관리부(175)로 전달 할 수 있다. 그리고, 제어부(150)가 데이터베이스 관리부(175)로부터 분석용 네트워크 특성 정보를 전달 받아, 이를 네트워크 분석 결과로 생성하면, 어플리케이션부(150)는 제어부(150)로부터 네트워크 분석 결과를 전달받아 해당 어플리케이션을 통해 사용자에게 네트워크 분석 결과를 제공한다.
사용자가 악성 행위 모델 수립을 요청하는 경우의 다른 실시 예로, 어플리케이션부(130)가 사용자로부터 악성 행위 모델 수립 요청 신호를 수신하면, 이를 분산 처리 인스턴스 관리부(177)로 전달할 수 있다. 그리고, 제어부(150)가 분산 처리 인스턴스 관리부(177)로부터 악성 행위 모델을 전달받아, 이를 네트워크 분석 결과로 생성하면, 어플리케이션부(150)는 제어부(150)로부터 네트워크 분석 결과를 전달받아 해당 어플리케이션을 통해 사용자에게 네트워크 분석 결과를 제공한다.
사용자가 이상 감지를 요청하는 경우의 다른 실시 예로, 어플리케이션부(130)는 사용자로부터 이상 감지 요청 신호를 수신하면, 이를 분산 처리 인스턴스 관리부(177)로 전달할 수 있다. 그리고 제어부(150)가 분산 처리 인스턴스 관리부(177)로부터 이상 감지 결과를 전달받아, 이를 네트워크 분석 결과로 생성하면, 어플리케이션부(150)는 제어부(150)로부터 네트워크 분석 결과를 전달받아 해당 어플리케이션을 통해 사용자에게 네트워크 분석 결과를 제공한다.
또 다른 실시 예로 어플리케이션부(130)는 도 2에 도시된 바와 같이 제 1 인터페이스부(135)와 제 2 인터페이스부(137)를 포함할 수 있는데, 제 1 인터페이스부(135)는 명령어 인터페이스(CLI, Command Line Interface) 또는 데이터 구조를 통해 네트워크 분석 결과를 사용자에게 제공한다. 제 2 인터페이스부(137)는 사용자가 네트워크 분석 결과에 대하여 시각화를 요청하면, 네트워크 분석 결과를 그래픽 유저 인터페이스(GUI, Graphical User Interface)를 통해 사용자에게 제공한다.
또한 어플리케이션부(130)는 어플리케이션 레이어의 다양한 사용자 어플리케이션, 예를 들어, 네트워크 관리 어플리케이션, 공격 탐지 어플리케이션, 네트워크 모니터링 어플리케이션, 알림 제공 어플리케이션, 기계 학습(Machine Learning) 어플리케이션, 빅데이터 분석 어플리케이션 등에 하이레벨 어플리케이션 프로그램 인터페이스(High level API)를 제공한다. 따라서, 사용자는 본 발명에 의한 네트워크 이상 감지 장치(100)를 통해 용이하게 네트워크 이상 감지를 위한 비즈니스 로직을 구현할 수 있다.
제어부(150)는 제어 메시지를 이용하여 네트워크 특성 정보를 생성하고, 네트워크 특성 정보를 이용하여 오퍼레이션 신호에 대응되는 네트워크 분석 결과를 생성한다. 제어부(150)는 각 오퍼레이션 신호에 대응되는 네트워크 분석 결과를 어플리케이션부(130)에 제공한다.
보다 구체적으로, 어플리케이션부(130)가 네트워크 장비 식별 정보 및 어플리케이션의 식별 정보를 포함하는 네트워크 정보 요청 신호를 수신하면, 제어부(150)는 네트워크 정보 요청 신호를 등록한다. 네트워크 정보 요청 신호의 등록은 해당 어플리케이션을 특정 네트워크 장비 식별 정보와 관련된 네트워크 특성 정보를 수집하는 수집기로 등록하는 것을 의미한다. 그리고 제어부는 네트워크 특성 정보에 네트워크 장비 식별 정보가 포함되어 있는지 판단하여, 판단 결과 포함되어 있으면, 네트워크 특성 정보를 상기 네트워크 분석 결과로 생성하여 어플리케이션부(130)에 전달한다.
제어부(150)의 다른 실시 예로 어플리케이션부(130)가 네트워크 분석 요청 신호를 수신하면, 제어부(150)는 통신부(170)에서 분석용 네트워크 특성 정보를 전달받아 분석용 네트워크 특성 정보를 네트워크 분석 결과로 생성하여 어플리케이션부(130)로 전달할 수 있다.
제어부(150)의 또 다른 실시 예로 어플리케이션부가 악성 행위 모델 수립 요청 신호를 수신하면, 제어부(150)는 통신부(170)에서 악성 행위 모델을 전달받아 악성 행위 모델을 네트워크 분석 결과로 생성하여 어플리케이션부(130)로 전달할 수 있다.
제어부(150)의 또 다른 실시 예로 어플리케이션부가 이상 감지 요청 신호를 수신하면, 제어부(150)는 통신부(170)에서 이상 감지 결과를 전달받아 이상 감지 결과를 네트워크 분석 결과로 생성하여 어플리케이션부(130)로 전달할 수 있다.
통신부(170)는 분산 SDN 컨트롤러로부터 제어 메시지를 수집한다. 제어 메시지는 전술한 바와 같이 플로우 엔트리에 포함되는 매치 정보, 동작 정보 및 플로우 별 통계 정보를 포함하는 메시지이다. 통신부(170)는 분산 SDN 컨트롤러(200)가 오픈플로우 스위치(300)로부터 수신하는 제어 메시지, 분산 SDN 컨트롤러가 생성하여 오픈플로우 스위치(300)로 송신하는 모든 제어 메시지를 수집할 수 있다.
통신부(170)가 제어 메시지를 수집하면, 전술한 바와 같이 제어부(150)는 제어 메시지를 이용하여 네트워크 특성 정보를 생성하고, 네트워크 특성 정보를 이용하여 오퍼레이션 신호에 대응되는 네트워크 분석 결과를 생성한다. 네트워크 특성 정보는 제어 메시지에 포함된 통계 정보 또는 이벤트정보, 및 상기 통계 정보 또는 상기 이벤트 정보를 이용하여 연산된 신규 연산 정보를 포함하는 것으로, 네트워크 이상 감지 장치(100)가 네트워크 이상과 관련된 정보를 사용자에게 제공하고, 네트워크 이상을 분석, 감지하기 위해 생성하는 새로운 형식의 정보이다.
네트워크 특성 정보에는 오픈플로우 프로토콜에서 도출가능한 유의미한 네트워크 정보들, 예를 들어, 네트워크 특성 정보에는 어떠한 어플리케이션이 특정 플로우와 관련되어 있는지, 각각의 플로우를 통과하는 트래픽이 얼마나 되는지, 플로우 활용은 어느 정도인지 등을 파악할 수 있는 정보들이 포함될 수 있다.
본 발명의 일 실시 예에 따른 네트워크 특성정보의 포맷(format)은 아래 표 1과 같고, 네트워크 특성정보 각 필드에 포함되는 내용는 표 2와 같다.
Index Classification Simple Rich Meta data
필드명 내 용
Index 제어 메시지에 포함된 매치 정보 및 어플리케이션의 식별 정보
Classification 네트워크 특성 정보의 타입(type) 정보
Simple 제어 메시지에 포함된 통계 정보 또는 이벤트 정보
Rich 제어 메시지에 포함된 통계 정보 또는 이벤트 정보를 이용하여 연산된 신규 연산 정보, 통계 정보 또는 신규 연산 정보의 변화량
Meta data 기타 추가적인 정보
표 1은 네트워크 특성정보가 데이터베이스(500)에 싱글 엔트리로 저장될 때의 포맷이다. 표 2에 나타난 바와 같이, 네트워크 특성정보는 종래 오픈플로우 프로톨의 제어 메시지에 포함된 정보(Simple) 뿐 아니라, 종래 제어 메시지에 포함된 정보를 이용하여 연산된 신규 연산 정보(Rich)를 포함함으로써 네트워크 이상 감지에 필요한 보다 구체적인 정보를 분석 및 생성하여 사용자에게 제공할 수 있다.
이하에서는 본 발명에 의한 네트워크 특성 정보가 새롭게 정의하는 각 필드의 내용을 보다 구체적으로 살펴본다.
인덱스(Index) 필드는 패킷에 대한 식별 정보인 매치 정보 뿐 아니라 어플리케이션의 식별 정보를 포함할 수 있다. 어플리케이션의 식별 정보는 네트워크 이상 감지 장치(100)가 어떠한 어플리케이션이 특정 플로우와 관련된 것인지를 파악하는 데 사용될 수 있다.
분류(Classification) 필드는 해당 네트워크 특성정보가 어떤 타입(type)의 정보인지를 나타낸다. 네트워크 특성정보는 제어 메시지를 이용하여 생성되는 정보이므로, 제어 메시지의 특성에 따라 분류될 수 있다. 예를 들어, 제어 메시지는 정기적으로 발생하는 동기 제어 메시지(synchronous control message)와 비정기적으로 발생하는 비동기 제어 메시지(asynchronous control message)로 나눌 수 있는데, 동기 제어 메시지 타입으로는 플로우 별 통계 메시지(Flow_Stats), 포트 별 통계 메시지(Port_Stats) 등이 있으며, 비동기 제어 메시지 타입으로는 패킷-인 메시지(Packet-In Message), 플로우 삭제 메시지(Flow Removed Message), 포트 상태 메시지(Port Status Message), 컨트롤러 역할 상태 메시지(Controller Role Status Message), 테이블 상태 메시지(Table Status Message), 요청 전달 메시지(Request Forward Message), 컨트롤러 상태 메시지(Controller Status Message) 등이 있을 수 있다.
심플(Simple) 필드는 전술한 바와 같이 제어 메시지에 포함된 통계 정보(Statistic) 및 이벤트 정보(event)를 포함한다. 통계 정보(Statistic)는 플로우 엔트리의 통계 정보(Stats)를 포함하는 데이터 플레인의 통계 정보들로, 패킷 카운트(packet_count), 바이트 카운트(Byte_count) 등 동기 제어 메시지에 포함되어 있다. 이벤트 정보(Event)는 포트 상태(Port status), 에러 메시지(error message)와 같이 데이터 플레인의 변화를 나타내는 정보로, 비동기 제어 메시지에 포함되어 있다.
리치(Rich) 필드는 전술한 바와 같이 제어 메시지에 포함된 통계 정보(Statistic) 및 이벤트 정보(event)를 이용하여 연산된 신규 연산 정보(Combination)를 포함할 수 있으며, 신규 연산 정보 또는 통계 정보의 변화량 정보(Variation)를 포함할 수 있다. 이러한 신규 연산 정보 및 변화량 정보는 오픈플로우의 제어 메시지만으로는 파악하기 어려웠던 네트워크 상태에 대한 실질적인 정보로, 네트워크 이상을 감지하는데 유용하다.
신규 연산 정보(Combination)는 기 설정된 연산식에 의하여 연산되며, 사용자는 사용자의 필요에 맞게 수식을 설정하여 신규 연산 정보를 새롭게 정의할 수 있다. 신규 연산 정보의 예로는 일정기간 동안의 패킷 수를 나타내는 플로우 별 활용 정보(Flow Utilization), 전체 플로우의 수를 사용 가능한 플로우 수로 나눈 플로우 캐패시티 정보(Flow Capacity) 등이 있을 수 있다.
변화량 정보(Variation)는 단위 시간당 신규 연산 정보 또는 단위 시간당 통계 정보로, 정기적으로 수집 가능한 정기 제어 메시지로부터 생성 가능하다. 변화량 정보의 예로는 초당 패킷 수(packet_count/s), 초당 바이트 수(byte_count/s) 등이 있을 수 있다.
메타 데이터(Meta data) 필드는 타임스탬프(timestamp), 패킷 페이로드(packet payload)와 같은 추가적인 정보들을 포함한다.
보다 구체적으로, 아래 표 3 내지 표 6을 통해 전술한 심플 필드의 통계 정보(Statistic) 및 이벤트 정보(Event), 리치 필드의 신규 연산 정보(Combination) 및 변화량 정보(Variation)의 예를 설명한다. 여기서 변화량 정보의 경우 각 정보를 단위 시간으로 나눈 값이므로, 각 정보로부터 변화량 정보의 생성이 가능한지 여부만을 아래 표 3 내지 표 6에 표시하고, 수식은 생략하기로 한다. 하기에 기술된 통계 정보, 이벤트 정보 중 오픈플로우 프로토콜에 의해 정의된 정보들에 대한 별도의 설명은 생략하며, 신규 연산 정보의 경우 본 발명에 의해 신규하게 생성되는 정보이므로 각 정보를 얻기 위한 연산식을 기재하는 것으로 설명을 대신한다.
이하의 표 3 내지 표 6은 네트워크 특성 정보에 포함되는 통계 정보, 이벤트 정보, 신규 연산 정보 및 신규 연산 정보 연산식의 일 실시 예이다.
분류 통계 이벤트 신규연산 변화량 연산식
ERROR
ERRTYPE
ERRCODE







FLOW_REMOVED
REASON
DURATION_SECOND
DURATION_N_SECOND
IDLE_TIMEOUT
HARD_TIMEOUT
PACKET_COUNT
BYTE_COUNT
PACKET_PER_DURATION PACKET_COUNT
/DURATION
BYTE_PER_DURATION BYTE_COUNT
/DURATION
PACKET_IN

TOTAL_LEN
REASON
PAYLOAD_MATCHE_FIELDS
PORT_STATUS REASON
분류 통계 이벤트 신규연산 변화량 연산식








FLOW_STATS
DURATION_SEC
DURATION_N_SEC
PRIORITY
IDLE_TIMEOUT
HARD_TIMEOUT
PACKET_COUNT
BYTE_COUNT
BYTE_PER_PACKET BYTE_COUNT
/PACKET_COUNT
PACKET_PER_DURATION PACKET_COUNT
/DURATION
BYTE_PER_DURATION BYTE_COUNT
/DURATION
ACTION_OUTPUT OUTPUT ACTION
ACTION_OUTPUT_PORT FWD PORT
ACTION_DROP OUTPUT ACTION
PAIR_FLOW IPv4 PAIR FLOW
PAIR_FLOW_RATIO PAIR_FLOWS
/TOTAL_FLOW
분류 통계 이벤트 신규연산 변화량 연산식










PORT_STATS
RX_PACKETS
TX_PACKETS
RX_BYTES
TX_BYTES
RX_DROPPED
TX_DROPPED
RX_ERRORS
TX_ERRORS
RX_FRAME_ERROR
RX_OVER_ERROR
RX_CRC_ERROR
COLLISIONS
RX_BYTES_PER_PACKETS RX_BYTE
/RX_PACKET
TX_BYTES_PER_PACKETS TX_BYTE
/TX_PACKET
RX_DROPPED_PER_PACKET RX_DROPPED
/RX_PACKET
TX_DROPPED_PER_PACKET TX_DROPPED
/TX_PACKET
RX_ERROR_PER_PACKET RX_ERROR
/RX_PACKET
TX_ERROR_PER_PACKET TX_ERROR
/TX_PACKET
RX_FRAME_ERROR_PER_PACKET RX_FRAME_ERROR
/RX_PACKET
RX_OVER_ERROR_PER_PACKET RX_OVER_ERROR
/RX_PACKET
RX_CRC_ERROR_PER_PACKET RX_CRC_ERROR
/RX_PACKET
분류 통계 이벤트 신규연산 변화량 연산식


AGGREGATE_STATS
PACKET_COUNT
BYTE_COUNT
FLOW_COUNT
BYTE_PER_PACKET BYTE_COUNT
/PACKET_COUNT

QUEUE_STATS
TX_BYTES
TX_PACKETS
TX_ERRORS



TABLE_STATS

MAX_ENTIRES
ACTIVE_COUNT
LOOKUP_COUNT
MATCHED_COUNT
MATCHED_PER_LOOKUP MATCHED_COUNT
/LOOKUP_COUNT
ACTIVE_PER_MAX ACTIVE_COUNT
/MAX_ENTRIES
LOOKUP_PER_ACTIVE LOOKUP_COUNT
/ACTIVE_COUNT
MATCHED_PER_ACTIVE MATCHED_COUNT
/ACTIVE_COUNT
통신부(170)는 데이터베이스 관리부(175) 및 분산처리 인스턴스 관리부(177)를 더 포함할 수 있으며, 데이터베이스 관리부(175)는 네트워크 특성 정보를 데이터베이스에 송신할 수 있다. 또한 어플리케이션부(130)가 사용자로부터 어플리케이션의 식별 정보 및 사용자 요청 정보를 포함하는 네트워크 분석 요청 신호를 수신하면, 데이터베이스 관리부(175)는 데이터베이스로부터 네트워크 분석 요청 신호에 대응되는 분석용 네트워크 특성 정보를 수신할 수 있다. 이때, 사용자 요청 정보는 상기 사용자 요청 정보는 어플리케이션을 통해 사용자가 특정한 네트워크 특성 정보의 분류 정보(Classification)를 포함할 수 있다.
예를 들어, 사용자가 로드 밸런스(Load Balance) 어플리케이션을 실행하여 네트워크를 분석하고자 할 때, 네트워크 이상 감지 장치(100)는 각 스위치를 통과하는 패킷의 수를 파악하여 네트워크 이상을 감지할 수 있다. 이 경우, 네트워크 이상 감지 장치(100)는 로드 밸런스 어플리케이션의 식별 정보와 사용자가 확인하고자 하는 네트워크 특성 정보의 분류 정보를 사용자로부터 수신한다. 사용자는 패킷의 수를 확인하고자 하므로, 네트워크 특성 정보 중 패킷 카운트(packet_count)를 특정하여 입력할 수 있다. 어플리케이션부(130)가 로드밸런스 어플리케이션의 식별 정보 및 패킷 카운트를 포함하는 네트워크 분석 요청 신호를 수신하면, 데이터베이스 관리부(175)는 네트워크 분석 요청 신호를 데이터베이스(500)에 송신하여 데이터베이스(500)로부터 네트워크 분석 요청 신호에 대응되는 분석용 네트워크 특성 정보를 수신한다.
분석용 네트워크 특성 정보는 제어 메시지를 이용하여 생성된 모든 네트워크 특성 정보 중에서, 네트워크 분석 요청 신호에 대응되는 네트워크 특성 정보만을 의미한다. 따라서 위 실시 예에 의하면 분석용 네트워크 특성 정보는 데이터베이스(500)에 저장된 모든 네트워크 특성 정보 중 패킷 카운트로 분류되는 네트워크 특성 정보가 될 것이다. 만약 사용자가 네트워크 분석 요청 신호에 스위치(300)의 식별 번호나 타임스탬프 정보를 더 포함시켰다면, 데이터베이스(500)는 스위치(300) 식별 번호, 타임스탬프 정보에 매칭되고, 패킷 카운트에 해당하는 네트워크 특성 정보를 추출하여 데이터베이스 관리부(175)로 송신할 수 있다. 그리고 데이터베이스 관리부(175)로 송신된 분석용 네트워크 특성 정보는 분석용 네트워크 특성 정보를 사용자에게 제공하는 어플리케이션부(130)를 통해 사용자에게 제공될 수 있다.
분산 처리 인스턴스 관리부(177)는 사용자로부터 악성 행위 모델 수립 요청 신호가 수신되면 하나 이상의 분산 처리 인스턴스(700)에 악성 행위 모델 수립 요청 신호를 전달하며, 악성 행위 모델 수립 요청 신호를 수신한 분산 처리 인스턴스(700)가 데이터베이스(500)에서 상기 악성 행위 모델 수립 요청 신호에 대응되는 네트워크 특성 정보를 호출하고 이를 이용하여 악성 행위 모델을 수립하면, 분산 처리 인스턴스(700)로부터 악성 행위 모델을 수신할 수 있다. 여기서 악성 행위 모델 수립 요청 신호는 기계 학습(machine learning)을 통해 네트워크 악성 행위 모델을 수립하는 분산 처리 인스턴스(700)의 수, 기계 학습에 사용되는 이상 감지 알고리즘 정보 및 상기 네트워크 특성 정보의 악성 여부에 대한 마킹 정보를 포함한다.
또한, 분산 처리 인스턴스 관리부(177)는 사용자로부터 이상 감지 요청 신호가 수신되면, 하나 이상의 분산 처리 인스턴스(700)에 이상 감지 요청 신호를 전달하고, 분산 처리 인스턴스(700)가 데이터베이스(500)에서 이상 감지 요청 신호에 대응되는 네트워크 특성 정보를 호출하고 이를 이용하여 이상 감지 결과를 도출하면, 분산 처리 인스턴스로(700)부터 상기 이상 감지 결과를 수신할 수 있다. 여기서 이상 감지 요청 신호는 상기 네트워크 악성 행위 모델을 이용하여 이상을 감지하는 분산 처리 인스턴스의 수 및 이상 감지 대상 데이터를 포함한다.
이하에서는 도 3 내지 도 6을 참조하여, 본 발명의 실시 예에 의한 네트워크 이상 감지 방법 및 네트워크 이상 감지 방법의 각 단계를 실행시키기 위하여 매체에 저장된 컴퓨터프로그램을 설명한다.
먼저 도 3을 참조하면, 본 발명의 일 실시 예에 의한 네트워크 이상 감지 방법은 사용자로부터 어떤 기능을 수행할지에 대한 오퍼레이션 신호를 수신(S10)하고, 분산 SDN 컨트롤러로부터 제어 메시지(control message)를 수집(S30)하고, 제어 메시지를 이용하여 네트워크 특성 정보를 생성한다(S50). 여기서 네트워크 특성 정보는 제어 메시지에 포함된 통계 정보 또는 이벤트정보, 및 통계 정보 또는 이벤트 정보를 이용하여 연산된 신규 연산 정보를 포함할 수 있다. 또한 네트워크 특성 정보는 단위 시간당 통계 정보 또는 단위 시간당 신규 연산 정보를 포함할 수 있다. 이밖에 네트워크 특성 정보에 대한 세부 내용은 전술한 바와 같으므로 생략한다. 다음으로 네트워크 특성 정보를 이용하여 상기 오퍼레이션 신호에 대응되는 네트워크 분석 결과를 제공한다(S70).
도 4를 참조하면, 분산 SDN 컨트롤러로부터 제어 메시지(control message)를 수집한다(S100). 그리고 제어 메시지를 이용하여 네트워크 특성 정보를 생성한다(S110). 생성된 네트워크 특성 정보는 데이터베이스(500)에 저장될 수 있다(S130). 그 후, 사용자(10)로부터 어플리케이션의 식별 정보 및 사용자 요청 정보를 포함하는 네트워크 분석 요청 신호를 수신하면(S140), 데이터베이스에 네트워크 분석 요청 신호에 대응되는 분석용 네트워크 특성 정보를 요청한다(S150). 데이터베이스로부터 네트워크 분석 요청 신호에 대응되는 분석용 네트워크 특성 정보를 수신하면(S170), 분석용 네트워크 특성 정보를 어플리케이션을 통해 사용자에게 제공한다(S190). 여기서 사용자 요청 정보는 어플리케이션을 통해 사용자가 특정한 네트워크 특성 정보의 분류 정보를 포함한다. 분석용 네트워크 특성 정보 제공 단계(S190)에서, 명령어 인터페이스(CLI, Command Line Interface) 또는 데이터 구조를 통해 상기 분석용 네트워크 특성 정보를 사용자에게 제공(S193)할 수 있으며, 사용자가 분석용 네트워크 특성 정보에 대하여 시각화를 요청하면(S180), 분석용 네트워크 특성 정보를 그래픽 유저 인터페이스(GUI, Graphical User Interface)를 통해 사용자에게 제공할 수 있다(S195).
사용자가 로드밸런스 어플리케이션을 실행하여 네트워크 이상을 감지하는 실시 예를 살펴보면, 사용자가 로드 밸런스 어플리케이션을 실행하고 사용자 요청 정보로 패킷 카운트(Packet Count)를 특정한 경우, 네트워크 분석 요청 신호는 네트워크 장비 식별 정보 및 타임스탬프(Timestamp) 정보를 더 포함하고, 분석용 네트워크 특성 정보는 네트워크 장비 식별 정보, 어플리케이션의 식별 정보 및 타임스탬프 정보에 대응되는 패킷 카운트 정보일 수 있다.
도 4를 참조하면, 본 발명에 의한 네트워크 이상 감지 방법에 있어서, 사용자가 네트워크 이상 감지 장치(100)에 네트워크 정보 요청 신호를 등록하면, 네트워크 이상 감지 장치(100)는 분산 SDN 컨트롤러로부터 제어 메시지를 수집하여 생성된 네트워크 특성 정보에 네트워크 정보 요청 신호에 포함된 네트워크 장비 식별 정보가 포함되어 있으면, 해당 네트워크 특성 정보를 동적으로 사용자에게 제공할 수 있다.
보다 구체적으로, 사용자(10)로부터 네트워크 장비 식별 정보 및 어플리케이션의 식별 정보를 포함하는 네트워크 정보 요청 신호를 수신하면(S200), 네트워크 정보 요청 신호를 등록한다(S220). 그 후, 분산 SDN 컨트롤러(200)로부터 제어 메시지를 수집하여(S240), 제어 메시지를 이용하여 네트워크 특성 정보를 생성한다(S260). 네트워크 특성 정보가 생성되면, 네트워크 특성 정보에 네트워크 장비 식별 정보가 포함되어 있는지 판단한다(S270). 판단 결과, 네트워크 특성 정보에 네트워크 장비 식별 정보가 포함되어 있으면면, 네트워크 특성 정보를 어플리케이션을 통해 사용자에게 제공하고(S290), 만약 네트워크 특성 정보가 네트워크 장비 식별 정보를 포함하고 있지 않으면, 생성된 네트워크 특성 정보를 데이터베이스(500)에 저장한다(S280).
도 4를 참조하면, 본 발명의 일 실시 예에 의한 네트워크 이상 감지 방법은 네트워크 악성 행위 모델을 수립하고, 분석하고자 하는 네트워크 특성 정보를 악성 행위 모델과 비교하여 이상 여부를 분석하고, 이상 감지 결과를 사용자에게 제공하는 순서로 이루어질 수 있다. 악성 행위 모델은 악성 행위가 어떤 것인지를 판단하기 위한 기준이 되는 모델을 의미한다. 악성 행위 모델 수립과 이상 분석은 외부의 분산 처리 인스턴스(700)에서 이루어질 수 있으며, 실질적으로 악성 행위 모델 수립과 이상 분석에 사용되는 네트워크 특성 정보는 데이터베이스(500)에 기 저장된 것일 수 있다.
보다 구체적으로, 사용자(10)로부터 악성 행위 모델 수립 요청 신호를 수신하면(S300), 하나 이상의 분산 처리 인스턴스(700)에 악성 행위 모델 수립 요청 신호를 전달한다(S310). 분산 처리 인스턴스(700)가 데이터베이스(500)에 악성 행위 모델 수립 요청 신호에 대응되는 네트워크 특성 정보를 요청하여(S330) 데이터베이스(500)로부터 네트워크 특성 정보를 수신하고(S350), 이를 이용하여 악성 행위 모델을 수립하면(S370), 분산 처리 인스턴스(700)로부터 악성 행위 모델을 수신한다(S380). 그리고 수신한 악성 행위 모델을 사용자에게 제공한다(S390). 여기서 악성 행위 모델 수립 요청 신호는 기계 학습(machine learning)을 통해 네트워크 악성 행위 모델을 수립하는 분산 처리 인스턴스의 수, 기계 학습에 사용되는 이상 감지 알고리즘 정보 및 네트워크 특성 정보의 악성 여부에 대한 마킹 정보를 포함할 수 있다.
악성 행위 모델의 수립(S370)은 악성 행위 모델 수립 요청 신호에 포함되는 알고리즘 정보를 이용하여 기계 학습을 통해 이루어질 수 있는데, 네트워크의 비정상적인 활동을 감지하기 위한 기계 학습 알고리즘으로는 K-means와 같은 클러스터링 알고리즘, PCB 기반 이상 감지 알고리즘, SVM 알고리즘 등이 사용될 수 있다. 이상 감지 알고리즘 정보는 어떤 알고리즘을 사용할 지에 대한 알고리즘 선택 정보, 각 알고리즘에 대한 파라미터 값을 포함한다. 예를 들어, 사용자가 K-means 알고리즘을 사용하여 악성 행위 모델을 수립하고자 하는 경우, 이상 감지 알고리즘 정보는 K-means 알고리즘의 파라미터인 클러스터링의 수, 반복 횟수 등이 포함될 수 있다.
또한, 악성 행위 모델 수립 요청 신호에는 악성 행위 모델 수립 시 네트워크 특성 정보를 어떻게 그룹화(grouping)할지에 대한 인덱싱 정보도 포함될 수 있다. 그룹화(grouping)는 악성 행위 모델 수립 시 인덱스(Index) 필드 정보에 포함된 식별 정보 중 동일한 식별 정보를 갖는 네트워크 특성 정보들을 하나의 그룹으로 묶어 엔트리를 재정의하는 작업을 의미한다. 예를 들어, 각 네트워크 특성 정보의 인덱스(Index) 필드에는 어플리케이션의 식별 정보와 스위치 식별 정보가 포함될 수 있는데, 사용자가 두 식별 정보를 인덱싱 정보로 설정하면, 대량의 네트워크 특성 정보 중에서 어플리케이션의 식별 정보와 스위치 식별 정보가 같은 네트워크 특성 정보들은 동일한 것으로 간주할 수 있다.
또한, 악성 행위 모델 수립 요청 신호는 네트워크 특성 정보의 악성 여부에 대한 마킹 정보를 포함할 수 있다. 마킹 정보는 악성 행위 모델을 수립하기 위해 임의의 네트워크에 대응하는 네트워크 특성 정보의 악성/양성 유무를 표시한 정보이다. 마킹 정보가 포함된 네트워크 특성 정보 데이터 셋을 이용하여, 분산 처리 인스턴스는 악성 행위 모델을 수립할 수 있다.
도 5를 참조하여, 이렇게 만들어진 악성 행위 모델을 이용하여 네트워크의 이상을 감지하는 방법을 설명한다. 사용자로부터 이상 감지 요청 신호를 수신하면(S400), 하나 이상의 분산 처리 인스턴스(700)에 이상 감지 요청 신호를 전달한다(S410). 분산 처리 인스턴스(700)가 데이터베이스(500)에서 이상 감지 요청 신호에 대응되는 네트워크 특성 정보를 요청하고(S430), 데이터베이스(500)로부터 이상 감지 요청 신호에 대응되는 네트워크 특성 정보를 수신하면(S450), 분산 처리 인스턴스(700)는 이를 이용하여 이상 여부를 분석하고(S470), 이상 감지 결과를 도출한다(S480). 분산 처리 인스턴스로부터 도출된 이상 감지 결과를 수신하면(S480), 이상 감지 결과를 사용자에게 제공한다(S490). 여기서 이상 감지 요청 신호는 네트워크 악성 행위 모델을 이용하여 이상을 감지하는 분산 처리 인스턴스의 수 및 이상 감지 대상 데이터를 포함할 수 있다. 이상 감지 대상 데이터는 이상 감지의 대상이 되는 네트워크의 네트워크 특성 정보로, 사용자가 이상 감지 장치(100)에 네트워크 정보 요청 신호를 등록하여 동적으로 수집한 네트워크 특성 정보 또는 분석용 네트워크 특성 정보일 수 있다.
사용자가 디도스 공격 탐지 어플리케이션을 사용하는 실시 예를 통해 전술한 악성 행위 모델 수립 및 네트워크 이상 감지 방법을 설명하면 다음과 같다. 사용자가 디도스 공격 탐지 어플리케이션을 사용하는 경우, 사용자는 악성 행위 모델을 수립하기 위해 네트워크 이상 감지 장치(100)에 네트워크 분석 요청 신호를 보내 테스트 환경에서 생성된 데이터를 요청할 수 있다. 이때, 네트워크 분석 요청 신호에 포함되는 사용자 요청 정보는 타임 스탬프(Timestamp)일 수 있다. 또한 사용자는 사용자 요청 정보에 해당 엔트리에 대한 추가적인 정보를 포함시킬 수 있다. 그러면, 네트워크 이상 감지 장치(100)는 데이터베이스(500)로부터 네트워크 분석 요청 신호에 대응되는 분석용 네트워크 특성 정보를 수신할 수도 있고, 분석용 네트워크 특성 정보를 분산 처리 인스턴스(700)에 송신하라고 요청할 수도 있다. 네트워크 이상 감지 장치(100)는 테스트 환경에서 생성된 분석용 네트워크 특성 정보와 사용자로부터 수신한 알고리즘 정보, 즉 어떤 알고리즘을 사용할지에 대한 알고리즘 선택 정보와 알고리즘에 대한 파라미터 값을 분산 처리 인스턴스(700)에 송신하여 악성 행위 모델 수립을 요청한다. 그리고, 네트워크 이상 감지 장치(100)는 추가 정보를 바탕으로 통계 정보를 생성한다. 네트워크 이상 감지 장치(100)는 악성 행위 모델과 추가적인 통계 정보를 사용자에게 제공한다. 다음으로, 사용자가 이상 감지 대상 데이터를 포함하는 이상 감지 요청 신호를 네트워크 이상 감지 장치(100)로 송신하면, 네트워크 이상 감지 장치(100)는 이러한 이상 감지 요청 신호를 분산 처리 인스턴스(700)에 전달하여, 이상 감지 대상 데이터의 이상 여부를 분석한다. 즉 분산 처리 인스턴스(700)로 하여금 악성 행위 모델에 이상 감지 대상 데이터에 해당하는 각 네트워크 특성 정보를 넣어 악성 및 양성을 탐지할 수 있다. 네트워크 이상 감지 장치(100)는 분산 처리 인스턴스(700)로부터 이상 감지 결과를 수신하여, 이상 감지 결과와 통계 정보를 사용자에게 전달하고 데이터베이스(500)에 저장할 수 있다.
전술한 네트워크 이상 감지 방법의 각 단계는 매체에 저장된 컴퓨터프로그램을 통해 실행될 수 있다.
전술한 본 발명은, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시 예 및 첨부된 도면에 의해 한정되는 것이 아니다.

Claims (13)

  1. 분산 SDN(소프트웨어 정의 네트워킹) 환경에서 네트워크 이상을 감지하는 방법에 있어서,
    사용자로부터 어떤 기능을 수행할지에 대한 오퍼레이션 신호를 수신하는 단계;
    분산 SDN 컨트롤러로부터 제어 메시지(control message)를 수집하는 단계;
    상기 제어 메시지를 이용하여 네트워크 특성 정보를 생성하는 단계; 및
    상기 네트워크 특성 정보를 이용하여 상기 오퍼레이션 신호에 대응되는 네트워크 분석 결과를 제공하는 단계를 포함하고,
    상기 네트워크 특성 정보는 상기 제어 메시지에 포함된 통계 정보 또는 이벤트정보, 및 상기 통계 정보 또는 상기 이벤트 정보를 이용하여 연산된 신규 연산 정보를 포함하는 것을 특징으로 하되,
    상기 네트워크 분석 결과 제공 단계는
    상기 오퍼레이션 신호를 수신하는 단계로부터 수신되는 악성 행위 모델 수립 요청 신호를 분산 처리 인스턴스에 제공하고, 상기 분산 처리 인스턴스로부터 악성 행위 모델을 수신하여 상기 사용자에게 제공하는 네트워크 이상 감지 방법.
  2. 제 1 항에 있어서,
    상기 오퍼레이션 신호 수신 단계는,
    사용자로부터 네트워크 장비 식별 정보 및 어플리케이션의 식별 정보를 포함하는 네트워크 정보 요청 신호를 수신하는 단계를 포함하고,
    상기 네트워크 분석 결과 제공 단계는,
    상기 네트워크 정보 요청 신호를 등록하는 단계;
    상기 네트워크 특성 정보가 생성되면, 상기 네트워크 특성 정보에 상기 네트워크 장비 식별 정보가 포함되어 있는지 판단하는 단계; 및
    상기 판단 결과 포함되어 있으면, 상기 네트워크 특성 정보를 상기 어플리케이션을 통해 상기 사용자에게 제공하는 단계를 포함하는 네트워크 이상 감지 방법.
  3. 제 1 항에 있어서,
    상기 네트워크 특성 정보를 데이터베이스에 저장하는 단계를 더 포함하고,
    상기 오퍼레이션 신호 수신 단계는
    상기 사용자로부터 어플리케이션의 식별 정보 및 사용자 요청 정보를 포함하는 네트워크 분석 요청 신호를 수신하는 단계를 포함하고,
    상기 네트워크 분석 결과 제공 단계는
    상기 데이터베이스로부터 상기 네트워크 분석 요청 신호에 대응되는 분석용 네트워크 특성 정보를 수신하는 단계; 및
    상기 분석용 네트워크 특성 정보를 상기 어플리케이션을 통해 상기 사용자에게 제공하는 단계를 포함하고,
    상기 사용자 요청 정보는 상기 어플리케이션을 통해 사용자가 특정한 네트워크 특성 정보의 분류 정보를 포함하는 네트워크 이상 감지 방법.
  4. 제 1 항에 있어서,
    상기 네트워크 특성 정보를 데이터베이스에 저장하는 단계를 더 포함하고,
    상기 오퍼레이션 신호 수신 단계는
    상기 사용자로부터 상기 악성 행위 모델 수립 요청 신호를 수신하는 단계를 포함하고,
    상기 네트워크 분석 결과 제공 단계는
    하나 이상의 상기 분산 처리 인스턴스에 상기 악성 행위 모델 수립 요청 신호를 전달하는 단계;
    상기 분산 처리 인스턴스가 상기 데이터베이스에서 상기 악성 행위 모델 수립 요청 신호에 대응되는 네트워크 특성 정보를 호출하고, 이를 이용하여 상기 악성 행위 모델을 수립하면, 상기 분산 처리 인스턴스로부터 상기 악성 행위 모델을 수신하는 단계; 및
    상기 악성 행위 모델을 상기 사용자에게 제공하는 단계를 포함하며,
    상기 악성 행위 모델 수립 요청 신호는 기계 학습(machine learning)을 통해 네트워크 악성 행위 모델을 수립하는 분산 처리 인스턴스의 수, 상기 기계 학습에 사용되는 이상 감지 알고리즘 정보 및 상기 네트워크 특성 정보의 악성 여부에 대한 마킹 정보를 포함하는 네트워크 이상 감지 방법.
  5. 제 4 항에 있어서,
    상기 오퍼레이션 신호 수신 단계는
    사용자로부터 이상 감지 요청 신호를 수신하는 단계를 더 포함하며,
    상기 네트워크 분석 결과 제공 단계는
    상기 하나 이상의 분산 처리 인스턴스에 상기 이상 감지 요청 신호를 전달하는 단계; 및 상기 분산 처리 인스턴스가 상기 데이터베이스에서 상기 이상 감지 요청 신호에 대응되는 네트워크 특성 정보를 호출하고 이를 이용하여 이상 감지 결과를 도출하면, 상기 분산 처리 인스턴스로부터 상기 이상 감지 결과를 수신하여 상기 사용자에게 제공하는 단계를 더 포함하고,
    상기 이상 감지 요청 신호는 상기 네트워크 악성 행위 모델을 이용하여 이상을 감지하는 상기 분산 처리 인스턴스의 수 및 이상 감지 대상 데이터를 포함하는 네트워크 이상 감지 방법.
  6. 제 1 항에 있어서,
    상기 네트워크 분석 결과 제공 단계는,
    명령어 인터페이스(CLI, Command Line Interface) 또는 데이터 구조를 통해 상기 네트워크 분석 결과를 상기 사용자에게 제공하는 단계;
    상기 사용자가 상기 네트워크 분석 결과에 대하여 시각화를 요청하면, 상기 네트워크 분석 결과를 그래픽 유저 인터페이스(GUI, Graphical User Interface)를 통해 사용자에게 제공하는 단계를 포함하는 네트워크 이상 감지 방법.
  7. 분산 SDN(소프트웨어 정의 네트워킹) 환경에서 네트워크 이상을 감지하는 장치에 있어서,
    사용자로부터 어떤 기능을 수행할지에 대한 오퍼레이션 신호를 수신하는 어플리케이션부;
    분산 SDN 컨트롤러로부터 제어 메시지(control message)를 수집하는 통신부; 및
    상기 제어 메시지를 이용하여 네트워크 특성 정보를 생성하고, 상기 네트워크 특성 정보를 이용하여 상기 오퍼레이션 신호에 대응되는 네트워크 분석 결과를 생성하는 제어부;를 포함하며,
    상기 어플리케이션부는 상기 네트워크 분석 결과를 사용자에게 제공하고,
    상기 네트워크 특성 정보는 상기 제어 메시지에 포함된 통계 정보 또는 이벤트정보, 및 상기 통계 정보 또는 상기 이벤트 정보를 이용하여 연산된 신규 연산 정보를 포함하되,
    상기 통신부는
    상기 어플리케이션부로부터 수신되는 악성 행위 모델 수립 요청 신호를 분산 처리 인스턴스에 제공하고, 상기 분산 처리 인스턴스로부터 악성 행위 모델을 수신하여 상기 어플리케이션부를 통해 상기 사용자에게 제공하는 네트워크 이상 감지 장치.
  8. 제 7 항에 있어서,
    상기 어플리케이션부가 네트워크 장비 식별 정보 및 어플리케이션의 식별 정보를 포함하는 네트워크 정보 요청 신호를 수신하면,
    상기 제어부는 상기 네트워크 정보 요청 신호를 등록하고, 상기 네트워크 특성 정보가 생성되면, 상기 네트워크 특성 정보에 상기 네트워크 장비 식별 정보가 포함되어 있는지 판단하여, 상기 판단 결과 포함되어 있으면, 상기 네트워크 특성 정보를 상기 네트워크 분석 결과로 생성하고,
    상기 어플리케이션부는 상기 어플리케이션을 통해 상기 사용자에게 네트워크 분석 결과를 제공하는 네트워크 이상 감지 장치.
  9. 제 7 항에 있어서,
    상기 어플리케이션부가 어플리케이션의 식별 정보 및 사용자 요청 정보를 포함하는 네트워크 분석 요청 신호를 수신하면,
    상기 통신부는,
    상기 네트워크 특성 정보를 데이터베이스에 저장하고, 상기 데이터베이스로부터 상기 네트워크 분석 요청 신호에 대응되는 분석용 네트워크 특성 정보를 수신하는 데이터베이스 관리부를 더 포함하며,
    상기 제어부는 상기 분석용 네트워크 특성 정보를 상기 네트워크 분석 결과로 생성하고,
    상기 어플리케이션부는 상기 어플리케이션을 통해 상기 사용자에게 네트워크 분석 결과를 제공하며
    상기 사용자 요청 정보는 사용자가 특정한 네트워크 특성 정보의 분류 정보를 포함하는 네트워크 이상 감지 장치.
  10. 제 9 항에 있어서,
    상기 어플리케이션부가 상기 악성 행위 모델 수립 요청 신호를 수신하면,
    상기 통신부는,
    하나 이상의 상기 분산 처리 인스턴스에 상기 악성 행위 모델 수립 요청 신호를 전달하고, 상기 분산 처리 인스턴스가 상기 데이터베이스에서 상기 악성 행위 모델 수립 요청 신호에 대응되는 네트워크 특성 정보를 호출하고 이를 이용하여 상기 악성 행위 모델을 수립하면, 상기 분산 처리 인스턴스로부터 상기 악성 행위 모델을 수신하는 분산 처리 인스턴스 관리부;를 더 포함하고,
    상기 제어부는 상기 악성 행위 모델을 상기 네트워크 분석 결과로 생성하고,
    상기 악성 행위 모델 수립 요청 신호는 기계 학습(machine learning)을 통해 네트워크 악성 행위 모델을 수립하는 분산 처리 인스턴스의 수, 상기 기계 학습에 사용되는 이상 감지 알고리즘 정보 및 상기 네트워크 특성 정보의 악성 여부에 대한 마킹 정보를 포함하는 네트워크 이상 감지 장치.
  11. 제 10 항에 있어서,
    상기 어플리케이션부가 이상 감지 요청 신호를 수신하면,
    상기 분산 처리 인스턴스 관리부는,
    상기 하나 이상의 분산 처리 인스턴스에 상기 이상 감지 요청 신호를 전달하고, 상기 분산 처리 인스턴스가 상기 데이터베이스에서 상기 이상 감지 요청 신호에 대응되는 네트워크 특성 정보를 호출하고 이를 이용하여 이상 감지 결과를 도출하면, 상기 분산 처리 인스턴스로부터 상기 이상 감지 결과를 수신하고,
    상기 제어부는 상기 이상 감지 결과를 상기 네트워크 분석 결과로 제공하고,
    상기 이상 감지 요청 신호는 상기 네트워크 악성 행위 모델을 이용하여 이상을 감지하는 상기 분산 처리 인스턴스의 수 및 이상 감지 대상 데이터를 포함하는 네트워크 이상 감지 장치.
  12. 제 9 항에 있어서,
    상기 어플리케이션부는,
    명령어 인터페이스(CLI, Command Line Interface) 또는 데이터 구조를 통해 상기 네트워크 분석 결과를 상기 사용자에게 제공하는 제 1 인터페이스부;
    상기 사용자가 상기 네트워크 분석 결과에 대하여 시각화를 요청하면, 상기 네트워크 분석 결과를 그래픽 유저 인터페이스(GUI, Graphical User Interface)를 통해 사용자에게 제공하는 제 2 인터페이스부를 포함하는 네트워크 이상 감지 장치.
  13. 분산 SDN(소프트웨어 정의 네트워킹) 환경에서 네트워크 이상을 감지하기 위해 컴퓨터로 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램에 있어서,
    사용자로부터 어떤 기능을 수행할지에 대한 오퍼레이션 신호를 수신하는 기능;
    분산 SDN 컨트롤러로부터 제어 메시지(control message)를 수집하는 기능;
    상기 제어 메시지를 이용하여 네트워크 특성 정보를 생성하는 기능; 및
    상기 네트워크 특성 정보를 이용하여 상기 오퍼레이션 신호에 대응되는 네트워크 분석 결과를 제공하는 기능을 포함하고,
    상기 네트워크 특성 정보는 상기 제어 메시지에 포함된 통계 정보 또는 이벤트정보, 및 상기 통계 정보 또는 상기 이벤트 정보를 이용하여 연산된 신규 연산 정보를 포함하되,
    상기 네트워크 분석 결과 제공 구성은
    상기 오퍼레이션 신호를 수신하는 기능으로부터 수신되는 악성 행위 모델 수립 요청 신호를 분산 처리 인스턴스에 제공하고, 상기 분산 처리 인스턴스로부터 악성 행위 모델을 수신하여 상기 사용자에게 제공하는 컴퓨터 프로그램

KR1020160051216A 2016-04-27 2016-04-27 분산 소프트웨어 정의 네트워킹 환경에서 네트워크 이상을 감지하는 방법, 장치 및 컴퓨터 프로그램 KR101844136B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020160051216A KR101844136B1 (ko) 2016-04-27 2016-04-27 분산 소프트웨어 정의 네트워킹 환경에서 네트워크 이상을 감지하는 방법, 장치 및 컴퓨터 프로그램
US15/498,967 US10609055B2 (en) 2016-04-27 2017-04-27 Method for detecting network anomaly in distributed software defined networking environment, apparatus therefor, and computer program therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160051216A KR101844136B1 (ko) 2016-04-27 2016-04-27 분산 소프트웨어 정의 네트워킹 환경에서 네트워크 이상을 감지하는 방법, 장치 및 컴퓨터 프로그램

Publications (2)

Publication Number Publication Date
KR20170122377A KR20170122377A (ko) 2017-11-06
KR101844136B1 true KR101844136B1 (ko) 2018-05-14

Family

ID=60159118

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160051216A KR101844136B1 (ko) 2016-04-27 2016-04-27 분산 소프트웨어 정의 네트워킹 환경에서 네트워크 이상을 감지하는 방법, 장치 및 컴퓨터 프로그램

Country Status (2)

Country Link
US (1) US10609055B2 (ko)
KR (1) KR101844136B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11196764B2 (en) 2017-08-16 2021-12-07 Samsung Electronics Co., Ltd. Device and method for handling network attacks in software defined network

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11095529B2 (en) * 2017-06-05 2021-08-17 Cable Television Laboratories, Inc. Systems and methods for disaggregated software defined networking control
US11750622B1 (en) 2017-09-05 2023-09-05 Barefoot Networks, Inc. Forwarding element with a data plane DDoS attack detector
US10587484B2 (en) 2017-09-12 2020-03-10 Cisco Technology, Inc. Anomaly detection and reporting in a network assurance appliance
CN108712364B (zh) * 2018-03-22 2021-01-26 西安电子科技大学 一种sdn网络的安全防御系统及方法
US11132444B2 (en) 2018-04-16 2021-09-28 International Business Machines Corporation Using gradients to detect backdoors in neural networks
US11108812B1 (en) 2018-04-16 2021-08-31 Barefoot Networks, Inc. Data plane with connection validation circuits
CN110505179B (zh) * 2018-05-17 2021-02-09 中国科学院声学研究所 一种网络异常流量的检测方法及系统
CN108435819B (zh) * 2018-05-29 2020-08-25 广东工业大学 一种铝型材挤压机能耗异常检测方法
CN108830840A (zh) * 2018-05-31 2018-11-16 江苏华鹰光电科技有限公司 一种电路板缺陷的主动智能检测方法及其应用
CN110943961B (zh) 2018-09-21 2022-06-21 阿里巴巴集团控股有限公司 数据处理方法、设备以及存储介质
US10880173B2 (en) * 2018-12-03 2020-12-29 At&T Intellectual Property I, L.P. Automated certification of network functions
CN110134407B (zh) * 2019-05-21 2020-07-24 中电莱斯信息系统有限公司 一种可配置的分布式软件分发方法
US11469942B2 (en) * 2019-08-15 2022-10-11 At&T Intellectual Property I, L.P. System and method for SDN orchestration validation
CN112751888A (zh) * 2019-10-30 2021-05-04 中盈优创资讯科技有限公司 基于分布式sdn控制器的日志记录方法、装置及系统
US11558266B2 (en) * 2019-12-17 2023-01-17 Arbor Networks, Inc. Scoring network traffic service requests using response time metrics
CN111490975A (zh) * 2020-03-23 2020-08-04 山东大学 一种基于软件定义网络的分布式拒绝服务DDoS攻击溯源系统和方法
CN112822033B (zh) * 2020-08-27 2022-10-21 贵州电网有限责任公司 一种基于云端协同分层自治的能源互联网数据处理方法
CN112134894A (zh) * 2020-09-25 2020-12-25 昆明理工大学 一种DDoS攻击的移动目标防御方法
US20220124110A1 (en) * 2020-10-20 2022-04-21 Amazon Technologies, Inc. Anomaly detection using an ensemble of detection models
WO2022248906A1 (en) * 2021-05-24 2022-12-01 Nokia Solutions And Networks Oy Detecting manipulative network functions
CN113923041A (zh) * 2021-10-20 2022-01-11 广东工业大学 一种SDN网络下DDoS攻击流量识别检测方法
KR102469651B1 (ko) * 2021-11-02 2022-11-23 주식회사 케이사인 IoT 장치에서의 IoT 봇넷 차단 방법 및 장치
KR102469654B1 (ko) * 2021-11-02 2022-11-23 주식회사 케이사인 IoT 봇넷 차단 방법 및 시스템

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050108444A1 (en) * 2003-11-19 2005-05-19 Flauaus Gary R. Method of detecting and monitoring fabric congestion
US20060047807A1 (en) * 2004-08-25 2006-03-02 Fujitsu Limited Method and system for detecting a network anomaly in a network
US7570653B2 (en) * 2004-09-02 2009-08-04 Cisco Technology, Inc. Buffer allocation using probability of dropping unordered segments
US7684335B2 (en) * 2005-07-28 2010-03-23 At&T Intellectual Property I, L.P. Method and apparatus for diagnosing faults in a hybrid internet protocol network
KR101519623B1 (ko) * 2010-12-13 2015-05-12 한국전자통신연구원 오탐률을 줄이기 위한 분산 서비스 거부 공격 탐지 장치 및 방법, 분산 서비스 거부 공격 탐지 및 방어 장치
KR20140122171A (ko) 2013-04-09 2014-10-17 한국전자통신연구원 네트워크 모니터링 및 패킷 검사 장치 및 방법
WO2015044719A1 (en) * 2013-09-27 2015-04-02 Freescale Semiconductor, Inc. Apparatus for optimising a configuration of a communications network device
KR20150095090A (ko) 2014-02-12 2015-08-20 한국전자통신연구원 오픈플로우 기반의 통신환경 테스트 사례 생성장치 및 그 방법
WO2015164765A1 (en) * 2014-04-25 2015-10-29 Hewlett-Packard Development Company, L.P. Flow sample
US9686162B2 (en) * 2014-10-17 2017-06-20 International Business Machines Corporation Identifying configuration inconsistency in edge-based software defined networks (SDN)
US9813432B2 (en) * 2015-01-23 2017-11-07 Cisco Technology, Inc. Tracking anomaly propagation at the network level
US10630706B2 (en) * 2015-10-21 2020-04-21 Vmware, Inc. Modeling behavior in a network

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11196764B2 (en) 2017-08-16 2021-12-07 Samsung Electronics Co., Ltd. Device and method for handling network attacks in software defined network

Also Published As

Publication number Publication date
US10609055B2 (en) 2020-03-31
US20170318043A1 (en) 2017-11-02
KR20170122377A (ko) 2017-11-06

Similar Documents

Publication Publication Date Title
KR101844136B1 (ko) 분산 소프트웨어 정의 네트워킹 환경에서 네트워크 이상을 감지하는 방법, 장치 및 컴퓨터 프로그램
US9948553B2 (en) System and method for virtual network-based distributed multi-domain routing control
US9288162B2 (en) Adaptive infrastructure for distributed virtual switch
CN104753828B (zh) 一种sdn控制器、数据中心系统和路由连接方法
US11546266B2 (en) Correlating discarded network traffic with network policy events through augmented flow
US20150319090A1 (en) Method and apparatus for notifying network abnormality
JP2007336512A (ja) 統計情報収集システム及び統計情報収集装置
CN111526089B (zh) 一种基于变长粒度的数据融合传输与调度的装置
WO2014119715A1 (ja) 通信端末、通信方法、プログラム、通信システムおよび情報処理装置
US9800508B2 (en) System and method of flow shaping to reduce impact of incast communications
Hyun et al. Real‐time and fine‐grained network monitoring using in‐band network telemetry
JP2017152852A (ja) 通信システム、通信装置、および通信システムの通信制御方法
CN109005126B (zh) 数据流的处理方法、设备和计算机可读存储介质
CN107241280A (zh) 基于信誉的网络流量的动态优先级排序
US9866456B2 (en) System and method for network health and management
JP2014535179A (ja) 移動通信端末、通信方法、通信システムおよび制御装置
US9755918B2 (en) Communication terminal, method of communication and communication system
US20160248652A1 (en) System and method for classifying and managing applications over compressed or encrypted traffic
KR20220029142A (ko) Sdn 컨트롤러 서버 및 이의 sdn 기반 네트워크 트래픽 사용량 분석 방법
US20150188807A1 (en) Communication method, information processing apparatus, communication system, communication terminal, and program
KR101610031B1 (ko) 소프트웨어 정의 네트워크에서 컨트롤러를 내장하는 오픈플로우 스위치의 제어방법 및 장치
US9497296B2 (en) Communication method, information processing apparatus, communication system, program, node, and communication terminal for identifying packet flows as a group and adding identifier to a packet belonging to packet flows and setting rules for forwarding the packet
Li et al. ESMD-Flow: An intelligent flow forwarding scheme with endogenous security based on Mimic defense in space-air-ground integrated network
KR101003505B1 (ko) 망 부하에 따른 트래픽의 동적 제어방법 및 그 장치
JP6520612B2 (ja) ファイアウォールコントローラ、ファイアウォール装置、及び、ファイアウォール制御方法

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
GRNT Written decision to grant
R401 Registration of restoration