KR20190055534A - 심층 패킷 분석을 이용한 기계학습용 네트워크 데이터 생성 장치 및 그 동작방법 - Google Patents

심층 패킷 분석을 이용한 기계학습용 네트워크 데이터 생성 장치 및 그 동작방법 Download PDF

Info

Publication number
KR20190055534A
KR20190055534A KR1020170152362A KR20170152362A KR20190055534A KR 20190055534 A KR20190055534 A KR 20190055534A KR 1020170152362 A KR1020170152362 A KR 1020170152362A KR 20170152362 A KR20170152362 A KR 20170152362A KR 20190055534 A KR20190055534 A KR 20190055534A
Authority
KR
South Korea
Prior art keywords
network
machine learning
data
traffic
information
Prior art date
Application number
KR1020170152362A
Other languages
English (en)
Inventor
신지수
신승재
윤승현
신용윤
전홍석
조충래
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020170152362A priority Critical patent/KR20190055534A/ko
Publication of KR20190055534A publication Critical patent/KR20190055534A/ko

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/026Capturing of monitoring data using flow identification

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Medical Informatics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Probability & Statistics with Applications (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

심층 패킷 분석(deep packet inspection, DPI)을 이용한 기계학습용 네트워크 데이터 생성 장치의 동작방법에 있어서, 외부 네트워크 장치로부터 네트워크 통계 정보 및 네트워크 트래픽을 수신하는 단계, 수신된 네트워크 트래픽에 대해 심층 패킷 분석을 이용하여 플로우 특성 정보를 결정하는 단계 및 수신된 네트워크 통계 정보 및 결정된 플로우 특성 정보를 이용하여, 기계학습을 위한 단위 기간별 네트워크 데이터를 생성하는 단계를 포함하고, 플로우 특성 정보는 플로우의 종류, 지속 기간 및 전송량 중 적어도 하나를 포함하는 것을 특징으로 하는, 기계학습용 네트워크 데이터 생성 장치의 동작방법이 개시된다.

Description

심층 패킷 분석을 이용한 기계학습용 네트워크 데이터 생성 장치 및 그 동작방법{NETWORK DATA GENERATION APPARATUS AND METHOD OF OPERATION THEREOF FOR MACHINE LEARNING USING DEEP PACKET INSPECTION}
본 개시는 심층 패킷 분석을 이용한 기계학습용 네트워크 데이터 생성 장치 및 그 동작방법에 관한 것으로, 보다 구체적으로는 네트워크 장치로부터 획득된 네트워크 통계 정보 및 네트워크 트래픽에 대해 심층 패킷 분석을 이용하여 기계학습을 위한 네트워크 데이터를 생성하는 장치 및 그 동작방법에 관한 것이다.
네트워크 모니터링 기술은 급변하는 IT 환경과 함께 지속적으로 발전해 왔으며, 네트워크 모니터링 기술에서 어떤 어플리케이션이 얼마만큼의 트래픽을 발생시키는지를 이해하고 분석하는 것은 네트워크 성능과 효율적인 운영을 위해서 매우 중요하다. 네트워크 모니터링 기술은 네트워크의 단순 통계 정보를 넘어 트래픽이나 플로우를 분석하여 더 정확하게 네트워크 장비의 용량을 산정할 수 있고, 또한 목적에 따라 QoS(quality of service)를 적절하게 적용하여 네트워크 리소스를 최적으로 사용하게 할 수 있다. 또한 DoS(denial of service) 공격이나 네트워크에서 생성되는 웜(worm) 등의 다양한 보안 위협으로부터 네트워크를 보호하는데 중요한 역할을 한다. 종래의 네트워크 모니터링 기술은 SNMP(simple network management protocol)를 이용하여 특정 구간의 트래픽이 얼마나 되는지, 특정 장비의 트래픽이 얼마나 되는지에 대한 트래픽 양 또는 패킷 양을 측정하는데, 이러한 방식은 네트워크 장비에 대해 하드웨어로 구현된 칩에 의해 해당 장비에 모니터링을 위한 오버헤드를 최소화하면서 해당 정보를 제공하며, 정보가 매우 단순하다는 문제가 있다.
여기서 패킷이란 크게 헤더(header)와 페이로드(payload)로 구분되는 구조이며, 구체적으로 OSI(open system interconnections)에 의하면 패킷의 표준 모델은 하위 계층부터 순서대로 물리 계층, 데이터링크 계층, 네트워크 계층, 전송 계층, 세션 계층, 표현 계층 및 응용 계층의 7개의 계층으로 구분되는 구조를 가진다. 심층 패킷 분석(deep packet inspection, DPI)은 상위 3개의 계층들에 속한 패킷의 데이터 부분(즉, 페이로드)에 대한 분석을 의미하며, 이러한 DPI 기술은 패킷에서 분석에 필요한 일부 또는 전체 영역을 지정하여 분석할 수 있고, 패킷의 데이터에 대해서도 특정 시그니처를 식별하는 방법을 이용하여 분석할 수 있기 때문에, 기존의 패킷의 헤더 부분을 조사하는 필터링 방식보다 속도가 빠르고 자원 사용 측면에서 효율적이다. 또한, DPI 기술은 트래픽의 패턴 검사, 행태 분석, 통계 분석 등이 가능하기 때문에, 최근 네트워크 보안, 대역폭 관리, 소비자 분석, 수사용 감청, 콘텐츠 규제, 저작권 제재 등의 다양한 분야에서 DPI 기술이 활용되고 있다.
한편, 최근 인공지능과 기계학습 기술이 급부상하면서 네트워크 모니터링 분야에도 다양한 시도가 제안되고 있는데, 예를 들어 패킷의 헤더 정보를 이용하여 악의적인 활동을 식별, 분류 또는 차단하는 기술이나 과거 트래픽 양에 대한 정보를 바탕으로 미래의 트래픽에 대한 중장기 추세를 예측하는 기술 등이 제안되고 있다. 기계학습이란 데이터를 이용해서 컴퓨터를 학습시키는 방법론을 의미하며, 기계학습 알고리즘은 크게 지도학습(supervised learning)과 비지도학습(unsupervised learning), 강화학습(reinforcement learning)으로 구분할 수 있다. 특히 지도학습은 데이터에 대한 레이블, 즉 명시적인 정답이 주어진 상태로 시스템을 학습시키는 방법으로서, 구체적으로 ‘데이터와 레이블 세트(set)’의 형태로 학습이 이루어지며, 이렇게 구성된 트레이닝 데이터 세트로 학습이 끝나면 레이블이 지정되지 않은 테스트 데이터 세트를 이용하여 학습된 알고리즘에 의해 얼마나 정확하게 예측되는지를 측정할 수 있다. 기계학습을 이용하여 버스티(bursty)한 네트워크 트래픽의 특성을 예측하는 경우, 예측 정확도가 다소 떨어질 수 있지만 실측과 분석을 통해 해당 특성을 추출하는데 소비되는 리소스를 고려하면 기계학습 등을 이용한 네트워크 모니터링 기술은 매우 효율적인 방법이라 할 수 있다.
기존 네트워크 모니터링 기술은 네트워크 장비(예를 들어, 라우너, 스위치 등)의 각 포트에서 제공하는 네트워크 모니터링 통계정보를 이용한다. 그러나, 10Gbps 이상의 대용량 트래픽을 분석하기 위해서는 매우 많은 리소스를 필요로 하고, 실시간으로 처리하기 어려우며, 또한 제공되는 정보에 한계가 있기 때문에 트래픽의 세부적인 특성에 대한 모니터링이 어려운 문제가 있다.
또한, 최근 기계학습을 네트워크 모니터링에 적용하는 기술에 대한 연구가 다양하게 진행되고 있는데, 네트워크 트래픽 분석에 적절한 지도학습 알고리즘을 사용하기 위해서는 모든 입력 데이터에 레이블을 설정해야 한다. 그러나, 네트워크 데이터는 그 양이 매우 방대하기 때문에 사람이 레이블을 생성하는 것은 불가능하고, 소프트웨어적으로 구현한다고 해도 막대한 컴퓨팅 리소스와 시간을 필요로 하는 문제가 있다.
따라서, 네트워크에 기계학습을 적용하려면 효율적인 자원 사용으로 대용량의 트래픽에 대해 레이블을 자동으로 생성하는 방법이 필요하다.
본 개시의 기술적 과제는 네트워크 장치로부터 획득된 네트워크 통계 정보 및 네트워크 트래픽에 대해 심층 패킷 분석을 이용하여 기계학습을 위한 네트워크 데이터를 생성하는 장치 및 그 동작방법을 제공하는 것이다.
본 개시에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 개시의 일 양상에 따르면, 심층 패킷 분석(deep packet inspection, DPI)을 이용한 기계학습용 네트워크 데이터 생성 장치의 동작방법에 있어서, 외부 네트워크 장치로부터 네트워크 통계 정보 및 네트워크 트래픽을 수신하는 단계; 상기 수신된 네트워크 트래픽에 대해 심층 패킷 분석을 이용하여 플로우 특성 정보를 결정하는 단계; 및 상기 수신된 네트워크 통계 정보 및 상기 결정된 플로우 특성 정보를 이용하여, 기계학습을 위한 단위 기간별 네트워크 데이터를 생성하는 단계를 포함하고, 상기 플로우 특성 정보는 상기 플로우의 종류, 지속 기간 및 전송량 중 적어도 하나를 포함하는 것을 특징으로 하는, 기계학습용 네트워크 데이터 생성 장치의 동작방법이 제공될 수 있다.
본 개시에 대하여 위에서 간략하게 요약된 특징들은 후술하는 본 개시의 상세한 설명의 예시적인 양상일 뿐이며, 본 개시의 범위를 제한하는 것은 아니다.
본 개시에 따르면, 네트워크 장비의 실시간 정보에 대해 지도학습을 위한 네트워크 데이터가 자동으로 생성될 수 있다.
또한 본 개시에 의하면, 기계학습을 이용하는 다양한 추정 및 예측 시스템에서의 입력 데이터가 생성될 수 있다.
또한 본 개시에 의하면, 네트워크 장비에서 하드웨어적으로 제공하는 네트워크 통계 정보와 심층 패킷 분석을 이용하기 때문에 소프트웨어로 구현하여 패킷을 분석하는 방법보다 고속으로 대용량이 처리될 수 있다.
본 개시에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1 및 2는 일 실시예에 따른 심층 패킷 분석을 이용한 기계학습용 네트워크 데이터 생성 장치의 구성을 나타내는 블록도이다.
도 3은 일 실시예에 따른 심층 패킷 분석을 이용한 기계학습용 네트워크 데이터 생성 장치의 동작방법을 나타내는 흐름도이다.
도 4는 일 실시예에 따른 플로우의 특성 정보 중 플로우의 종류를 예측하는 경우의 기계학습용 네트워크 데이터 생성 장치의 동작방법을 나타내는 흐름도이다.
이하에서는 첨부한 도면을 참고로 하여 본 개시의 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나, 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다.
본 개시의 실시 예를 설명함에 있어서 공지 구성 또는 기능에 대한 구체적인 설명이 본 개시의 요지를 흐릴 수 있다고 판단되는 경우에는 그에 대한 상세한 설명은 생략한다. 그리고, 도면에서 본 개시에 대한 설명과 관계없는 부분은 생략하였으며, 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
본 개시에 있어서, 어떤 구성요소가 다른 구성요소와 "연결", "결합" 또는 "접속"되어 있다고 할 때, 이는 직접적인 연결관계뿐만 아니라, 그 중간에 또 다른 구성요소가 존재하는 간접적인 연결관계도 포함할 수 있다. 또한 어떤 구성요소가 다른 구성요소를 "포함한다" 또는 "가진다"고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 배제하는 것이 아니라 또 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 개시에 있어서, 제1, 제2 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용되며, 특별히 언급되지 않는 한 구성요소들간의 순서 또는 중요도 등을 한정하지 않는다. 따라서, 본 개시의 범위 내에서 일 실시 예에서의 제1 구성요소는 다른 실시 예에서 제2 구성요소라고 칭할 수도 있고, 마찬가지로 일 실시 예에서의 제2 구성요소를 다른 실시 예에서 제1 구성요소라고 칭할 수도 있다.
본 개시에 있어서, 서로 구별되는 구성요소들은 각각의 특징을 명확하게 설명하기 위함이며, 구성요소들이 반드시 분리되는 것을 의미하지는 않는다. 즉, 복수의 구성요소가 통합되어 하나의 하드웨어 또는 소프트웨어 단위로 이루어질 수도 있고, 하나의 구성요소가 분산되어 복수의 하드웨어 또는 소프트웨어 단위로 이루어질 수도 있다. 따라서, 별도로 언급하지 않더라도 이와 같이 통합된 또는 분산된 실시 예도 본 개시의 범위에 포함된다.
본 개시에 있어서, 다양한 실시 예에서 설명하는 구성요소들이 반드시 필수적인 구성요소들은 의미하는 것은 아니며, 일부는 선택적인 구성요소일 수 있다. 따라서, 일 실시 예에서 설명하는 구성요소들의 부분집합으로 구성되는 실시 예도 본 개시의 범위에 포함된다. 또한, 다양한 실시 예에서 설명하는 구성요소들에 추가적으로 다른 구성요소를 포함하는 실시 예도 본 개시의 범위에 포함된다.
이하, 첨부한 도면을 참조하여 본 개시의 실시 예들에 대해서 설명한다.
도 1 및 2는 일 실시예에 따른 심층 패킷 분석을 이용한 기계학습용 네트워크 데이터 생성 장치의 구성을 나타내는 블록도이다.
도 1을 참조하면, 일 실시예에 따른 기계학습용 네트워크 데이터 생성 장치 (100)는 통신부(110), 제어부(120) 및 저장부(130)를 포함할 수 있다. 다만, 이는 본 실시예를 설명하기 위해 필요한 일부 구성요소만을 도시한 것일 뿐, 기계학습용 네트워크 데이터 생성 장치(100)에 포함된 구성요소가 전술한 예에 한정되는 것은 아니다.
예를 들어, 도 2를 참조하면, 기계학습용 네트워크 데이터 생성 장치(200)는 통계 정보 수집부(210), 트래픽 분석부(220), 데이터베이스(230) 및 학습 데이터 생성부(240)를 더 포함할 수 있다. 도 2의 기계학습용 네트워크 데이터 생성 장치(200)는 도 1의 기계학습용 네트워크 데이터 생성 장치(100)에 대응될 수 있다.일 실시예에 따른 심층 패킷 분석을 이용한 기계학습용 네트워크 데이터 생성 장치(100)는 외부 네트워크 장치로부터 네트워크 통계 정보 및 네트워크 트래픽을 수신하고, 수신된 네트워크 트래픽에 대해 심층 패킷 분석을 이용하여 플로우 특성 정보를 결정하고, 수신된 네트워크 통계 정보 및 결정된 플로우 특성 정보를 이용하여, 기계학습을 위한 단위 기간별 네트워크 데이터를 생성할 수 있다.
일 실시예에 따를 때, 플로우 특성 정보는 플로우의 종류, 지속 기간 또는 전송량 등을 포함할 수 있다.
도 1을 참조하면, 통신부(110)는 기계학습용 네트워크 데이터 생성 장치(100)와 외부 장치(예를 들어, 네트워크 장치) 또는 기계학습용 네트워크 데이터 생성 장치(100)와 서버 간의 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있으며, 또한 통신부(110)는 제어부(120)의 제어에 의해 제어 장치의 제어 신호를 송수신할 수 있다.
일 실시예에 따른 통신부(110)는 외부 네트워크 장치로부터 네트워크 통계 정보 및 네트워크 트래픽을 수신할 수 있다. 또한 통신부(110)는 기계학습용 네트워크 데이터 생성 장치(100)에서 생성된 네트워크 데이터를 기계학습 시스템에게 제공할 수 있다.
제어부(120)는 기계학습용 네트워크 데이터 생성 장치(100)의 전반적인 동작 및 기계학습용 네트워크 데이터 생성 장치(100)의 내부 구성 요소들 사이의 신호 흐름을 제어하고, 데이터를 처리하는 기능을 수행한다. 제어부(120)는 사용자의 입력이 있거나 기 설정되어 저장된 조건을 만족하는 경우, 저장부(130)에 저장된 다양한 데이터들을 이용하고 또한 다양한 애플리케이션을 실행할 수 있다.
일 실시예에 따른 제어부(120)는 통신부(110)로부터 수신된 네트워크 트래픽에 대해 심층 패킷 분석을 이용하여 플로우 특성 정보를 결정할 수 있다. 또한 제어부(120)는 저장부(130)에 저장된 네트워크 통계 정보 및 플로우 특성 정보를 이용하여, 기계학습을 위한 단위 기간별 네트워크 데이터를 생성할 수 있다.
저장부(130)는 제어부(120)의 제어에 의해 기계학습용 네트워크 데이터 생성 장치(100)를 구동하고 제어하기 위한 다양한 데이터, 프로그램 또는 애플리케이션을 저장할 수 있다.
일 실시예에 따른 저장부(130)는 통신부(110)로부터 수신된 네트워크 통계 정보 또는 제어부(120)로부터 생성된 플로우 특성 정보 등을 저장할 수 있다.
후술하는 바와 같이 도 2를 참조하여 기계학습용 네트워크 데이터 생성 장치(100)의 동작을 살펴보도록 하겠다.
도 2를 참조하면, 우선 네트워크 장비(205)는 각 포트에 대해 하드웨어적으로 네트워크 통계 정보를 생성할 수 있는 라우터나 스위치 장비일 수 있으며, 기계학습용 네트워크 데이터 생성 장치(100)에게 네트워크 통계 정보, 트래픽 정보 등을 제공할 수 있다. 일 실시예에 따른 네트워크 장비(205)는 네트워크의 가장 에지에 위치한다고 가정할 수 있으며, 또한 일 실시예에 따른 기계학습용 네트워크 데이터 생성 장치(100)는 에지에 위한 네트워크 장비(205)의 각 포트에 대해 동작한다고 가정할 수 있다. 이러한 가정을 하는 경우, 기계학습용 네트워크 데이터 생성 장치(100)는 단일 포트에 대해 동작하기 때문에 트래픽을 발생시키는 주체는 단일 시스템이나 단일 가정 등으로 한정할 수 있다. 만일 네트워크 장비(205)가 네트워크 코어 방향으로 한 홉이라도 더 가까운 장비인 경우이면, 트래픽 생성 주체가 다수의 시스템이나 다수의 가정으로 확장됨으로써 사용자 트래픽이 중첩되어 레이블의 조합이 지수적으로 증가하게 되기 때문에, 본 개시의 기계학습을 통한 예측의 정확도가 현저하게 떨어질 수 있다.
일 실시예에 따른 네트워크 통계 정보는 in/out pps(packets per second), 또는 in/out bps(bits per second)일 수 있다.
도 2를 참조하면, 통계 정보 수집부(210)는 네트워크 장비(205)로부터 네트워크 데이터를 일정한 수집 주기로 수집하여 데이터베이스(230)에 저장하며, 일 실시예에 따를 때 네트워크 장비(205)로부터 수집되는 정보는 시간 정보와 네트워크 통계 정보일 수 있다. 수집 주기는 실시간성의 중요도에 따라 조절될 수 있는데, 일반적으로 실시간성과 장비의 오버헤드는 trade-off 관계를 가지기 때문에 수집 주기가 짧아지면 실시간성이 좋아지지만 오버헤드가 증가될 수 있다. 일 실시예에 따를 때, 네트워크 장비(205)로부터 네트워크 통계 정보를 수집하는 방식은 통계 정보 수집부(210)에서 폴링(polling)하는 방식 또는 네트워크 장비(205)에서 통계 정보 수집부(210)로 능동적으로 보고하는 방식 등이 있다.
일 실시예에 따른 트래픽 분석부(220)는 심층 패킷 분석이 지원되고 심층 패킷 분석으로부터의 결과를 분석할 수 있는 소프트웨어 모듈이나 하드웨어 장치를 포함할 수 있다. 도 2를 참조하면, 트래픽 분석부(220)는 네트워크 장비(205)로부터 리다이렉션, 미러링 또는 샘플링의 기술 등을 이용하여 네트워크 트래픽을 획득하고, 심층 패킷 분석을 이용하여 플로우의 특성 정보를 분석하고 이를 데이터베이스(230)에 저장할 수 있다.
일 실시예에 따른 플로우의 특성 정보는 플로우의 다양한 속성들(예를 들어, 플로우 종류, 지속 기간, 전송량 등)일 수 있으며, 기계학습을 통해 추론 또는 예측하고자 하는 결과이다. 예를 들어, 기계학습 시스템에서 플로우 종류를 예측하고자 하는 경우, 트래픽 분석부(220)는 플로우 특성 필드가 추후 기계학습을 수행할 때 입력 레이블 값으로 사용되기 때문에, 플로우 특성 정보에서 플로우 종류를 추출해야 한다. 한편, 데이터베이스(230)에 저장되는 데이터는 시간 정보, 플로우 구분자 또는 플로우 특성 정보일 수 있다.
일 실시예에 따른 데이터베이스(230)는 통계 정보 수집부(210) 또는 트래픽 분석부(220)에서 수집, 분석된 정보를 저장하고 학습 데이터 생성부(240)의 요청에 따라 데이터를 제공할 수 있다. 일 실시예에 따를 때, 데이터베이스(230)는 두 개의 테이블로 구성될 수 있으며, 테이블 1은 통계 정보 수집부(210)에 의해 채워지고 필드는 시간 정보, 네트워크 통계 정보로 구성될 수 있다. 또한 테이블 2는 트래픽 분석부(220)에 의해 채워지고 필드는 시간 정보, 플로우 구분자, 플로우 특성 정보로 구성될 수 있다.
일 실시예에 따른 학습 데이터 생성부(240)는 기계학습의 입력 단위로 사용될 단위 기간을 설정하고, 해당 기간에 해당되는 정보를 데이터베이스(230)로부터 수집하고 조합하여 기계학습 시스템(245)의 입력으로 사용될 데이터를 생성할 수 있다.
일 실시예에 따를 때, 단위 기간은 관리자에 의해 결정되거나, 프로그램으로 자동 구현될 수 있으며, 또한 최적의 기간은 경험적 방식에 의해 찾을 수 있기 때문에 반복적인 실험에 의하여 결정될 수 있다. 또한 일 실시예에 따를 때, 학습 데이터 생성부(240)에서 생성되는 기계학습 입력 데이터는 단위 기간에 해당하는 시간 정보, 하나 이상의 네트워크 통계 정보의 변화량, 플로우의 특성 또는 특성이 일치하는 플로우의 수일 수 있다. 또한 일 실시예에 따를 때, 기계학습 시스템(245)의 입력 feature는 네트워크 통계 정보의 변화량이며, 레이블은 플로우의 특성 및 특성이 일치하는 플로우의 수일 수 있다.
한편 일 실시예에 따를 때, 기계학습 입력 데이터를 생성할 때 통계 정보 수집부(210)와 트래픽 분석부(220)에서 수집된 데이터에 대해 시간 정보에 대한 동기화 작업이 수행될 수 있다. 통계 정보 수집부(210)의 데이터 수집 주기와 트래픽 분석부(220)의 데이터 수집 주기가 동일하지 않을 수 있기 때문이다. 예를 들어, 트래픽 분석부(220)에서 샘플링을 사용하여 데이터가 수집 되었다면, 통계 정보 수집부(210)의 데이터 수가 더 많기 때문에 기계학습 입력 데이터를 생성할 때 트래픽 분석부(220)에서 수집된 한 개의 레코드에 대해 통계 정보 수집부(210)의 데이터들 중 시간 정보가 가장 근접한 한 개의 레코드만이 선택될 수 있다.
도 3은 일 실시예에 따른 심층 패킷 분석을 이용한 기계학습용 네트워크 데이터 생성 장치의 동작방법을 나타내는 흐름도이다.
S300 단계에서 기계학습용 네트워크 데이터 생성 장치는 외부 네트워크 장치로부터 네트워크 통계 정보 및 네트워크 트래픽을 수신할 수 있다. 일 실시예에 따른 네트워크 통계 정보는 in/out pps(packets per second), 또는 in/out bps(bits per second)일 수 있다.
S310 단계에서 기계학습용 네트워크 데이터 생성 장치는 수신된 네트워크 트래픽에 대해 심층 패킷 분석을 이용하여 플로우 특성 정보를 결정할 수 있다. 일 실시예에 따른 플로우의 특성 정보는 플로우의 다양한 속성들(예를 들어, 플로우 종류, 지속 기간, 전송량 등)일 수 있다.
S320 단계에서 기계학습용 네트워크 데이터 생성 장치는 S300 단계에서 수신된 네트워크 통계 정보 및 S310 단계에서 결정된 플로우 특성 정보를 이용하여, 기계학습을 위한 단위 기간별 네트워크 데이터를 생성할 수 있다.
도 4는 일 실시예에 따른 플로우의 특성 정보 중 플로우의 종류를 예측하는 경우의 기계학습용 네트워크 데이터 생성 장치의 동작방법을 나타내는 흐름도이다.
도 4를 참조하면, 통계 정보 수집부는 네트워크 장비의 포트에 대해 주기적으로 네트워크 통계 정보를 요청하여 데이터를 수집하며, 이 때 수집된 데이터 또는 시간 정보 값은 데이터베이스에 저장될 수 있다(400).
또한, 트래픽 분석부는 심층 패킷 분석의 입력으로 사용하기 위하여, 네트워크 장비의 포트에 대해 미러링과 샘플링을 통해 트래픽을 수집하고, 심층 패킷 분석 모듈은 각 패킷으로부터 송수신 IP 주소, 송수신 포트(port) 번호 또는 프로토콜(protocol) 등의 정보를 이용하여 플로우 식별자를 생성하고, 페이로드(payload)의 시그니처를 분석하여 플로우의 종류를 추출할 수 있다. 그리고, 하나의 레코드가 완성되면 완성된 레코드는 데이터베이스에 저장될 수 있다(410).
일 실시예에 따를 때, 데이터베이스의 테이블 1은 통계 정보 수집부로부터 획득된 시간 정보, in_bps, out_bps, in_pps, out_pps 정보 등으로 구성되고, 테이블 2는 트래픽 분석부로부터 획득된 시간 정보, 플로우 식별자, 플로우의 종류 정보 등으로 구성될 수 있다. 예를 들어, 학습 데이터 생성부에서 단위 기간의 기본값이 10초라고 가정하면, 학습 데이터 생성부는 10초 마다 해당 10초에 포함되는 in_bps, out_bps, in_pps, out_pps, 플로우 식별자, 플로우의 종류 레코드 등을 데이터베이스로부터 수집하고 기계학습 입력 데이터를 생성하며, 최종적으로 생성된 기계학습 입력 데이터는 단위 기간(10초)에 포함되는 in_bps, out_bps, in_pps, out_pps의 변화량, 플로우의 종류와 개수일 수 있다. 이때 단위 기간 10초에 포함되는 in_bps, out_bps, in_pps, out_pps 변화량은 트래픽에 대한 일종의 패턴이 되고, 이 변화량이 기계학습에서 입력 데이터의 feature로 사용될 수 있다. 또한 단위 기간 10초에 포함되는 플로우의 종류와 개수는 기계학습에서 입력 데이터의 레이블 정보가 될 수 있다.
본 실시예에서 트래픽 분석부가 샘플링을 통해 트래픽을 수집했기 때문에, 트래픽 분석부에서 수집된 한 개의 레코드에 대해 통계 정보 수집부의 데이터 중 시간 정보가 가장 근접한 한 개의 레코드만을 사용하여 기계학습 입력 데이터를 생성할 수 있다.
한편, 기계학습의 특성상 최적의 학습 데이터는 경험적인 방법으로 찾을 수 있기 때문에, 학습 데이터 생성부는 기계학습 시스템의 다양한 요청을 처리할 수 있다. 예를 들어, 학습 데이터 생성부는 기계학습 시스템으로부터 단위 기간 조정 요청이 있는 경우 최근 제공한 기계학습 입력 데이터에 대해 단위 기간을 조정하여 재계산하고, 또는 기계학습 시스템으로부터 전체 기계학습 입력 데이터의 재생성 요청이 있는 경우 통계 정보 수집부와 트래픽 분석부로부터 새로운 데이터를 수집하여 기계학습 입력 데이터를 재생성할 수 있다.
이상 도 1 내지 도 4를 참고하여, 본 개시의 일 실시 예에 따른 심층 패킷 분석을 이용한 기계학습용 네트워크 데이터 생성 장치 및 그 동작방법에 대해 설명하였다.
본 개시에 따르면, 네트워크 장비의 실시간 정보에 대해 지도학습을 위한 네트워크 데이터를 자동으로 생성할 수 있다.
또한 본 개시에 의하면, 기계학습을 이용하는 다양한 추정 및 예측 시스템에서의 입력 데이터를 생성할 수 있다.
또한 본 개시에 의하면, 네트워크 장비에서 하드웨어적으로 제공하는 네트워크 통계 정보와 심층 패킷 분석을 이용하기 때문에 소프트웨어로 구현하여 패킷을 분석하는 방법보다 고속으로 대용량을 처리할 수 있다.
한편, 본 개시의 일 양상에 따르면 심층 패킷 분석을 이용한 기계학습용 네트워크 데이터 생성 장치의 동작방법을 수행하기 위해 실행가능한 명령들(executable instructions)을 가지는 소프트웨어 또는 컴퓨터-판독가능한 매체(computer-readable medium)가 제공될 수 있다. 상기 실행가능한 명령들은, 외부 네트워크 장치로부터 네트워크 통계 정보 및 네트워크 트래픽을 수신하는 단계; 상기 수신된 네트워크 트래픽에 대해 심층 패킷 분석을 이용하여 플로우 특성 정보를 결정하는 단계; 및 상기 수신된 네트워크 통계 정보 및 상기 결정된 플로우 특성 정보를 이용하여, 기계학습을 위한 단위 기간별 네트워크 데이터를 생성하는 단계를 포함하고, 상기 플로우 특성 정보는 상기 플로우의 종류, 지속 기간 및 전송량 중 적어도 하나를 포함하는 것을 특징으로 할 수 있다.
본 개시의 예시적인 방법들은 설명의 명확성을 위해서 동작의 시리즈로 표현되어 있지만, 이는 단계가 수행되는 순서를 제한하기 위한 것은 아니며, 필요한 경우에는 각각의 단계가 동시에 또는 상이한 순서로 수행될 수도 있다. 본 개시에 따른 방법을 구현하기 위해서, 예시하는 단계에 추가적으로 다른 단계를 포함하거나, 일부의 단계를 제외하고 나머지 단계를 포함하거나, 또는 일부의 단계를 제외하고 추가적인 다른 단계를 포함할 수도 있다.
본 개시의 다양한 실시 예는 모든 가능한 조합을 나열한 것이 아니고 본 개시의 대표적인 양상을 설명하기 위한 것이며, 다양한 실시 예에서 설명하는 사항들은 독립적으로 적용되거나 또는 둘 이상의 조합으로 적용될 수도 있다.
또한, 본 개시의 다양한 실시 예는 하드웨어, 펌웨어(firmware), 소프트웨어, 또는 그들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 하나 또는 그 이상의 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 범용 프로세서(general processor), 컨트롤러, 마이크로 컨트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.
본 개시의 범위는 다양한 실시 예의 방법에 따른 동작이 장치 또는 컴퓨터 상에서 실행되도록 하는 소프트웨어 또는 머신-실행가능한 명령들(예를 들어, 운영체제, 애플리케이션, 펌웨어(firmware), 프로그램 등), 및 이러한 소프트웨어 또는 명령 등이 저장되어 장치 또는 컴퓨터 상에서 실행 가능한 비-일시적 컴퓨터-판독가능 매체(non-transitory computer-readable medium)를 포함한다.
100 : 기계학습용 네트워크 데이터 생성 장치
110 : 통신부
120 : 제어부
130 : 통신부

Claims (1)

  1. 심층 패킷 분석(deep packet inspection, DPI)을 이용한 기계학습용 네트워크 데이터 생성 장치의 동작방법에 있어서,
    외부 네트워크 장치로부터 네트워크 통계 정보 및 네트워크 트래픽을 수신하는 단계;
    상기 수신된 네트워크 트래픽에 대해 심층 패킷 분석을 이용하여 플로우 특성 정보를 결정하는 단계; 및
    상기 수신된 네트워크 통계 정보 및 상기 결정된 플로우 특성 정보를 이용하여, 기계학습을 위한 단위 기간별 네트워크 데이터를 생성하는 단계를 포함하고,
    상기 플로우 특성 정보는 상기 플로우의 종류, 지속 기간 및 전송량 중 적어도 하나를 포함하는 것을 특징으로 하는, 기계학습용 네트워크 데이터 생성 장치의 동작방법.
KR1020170152362A 2017-11-15 2017-11-15 심층 패킷 분석을 이용한 기계학습용 네트워크 데이터 생성 장치 및 그 동작방법 KR20190055534A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170152362A KR20190055534A (ko) 2017-11-15 2017-11-15 심층 패킷 분석을 이용한 기계학습용 네트워크 데이터 생성 장치 및 그 동작방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170152362A KR20190055534A (ko) 2017-11-15 2017-11-15 심층 패킷 분석을 이용한 기계학습용 네트워크 데이터 생성 장치 및 그 동작방법

Publications (1)

Publication Number Publication Date
KR20190055534A true KR20190055534A (ko) 2019-05-23

Family

ID=66681038

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170152362A KR20190055534A (ko) 2017-11-15 2017-11-15 심층 패킷 분석을 이용한 기계학습용 네트워크 데이터 생성 장치 및 그 동작방법

Country Status (1)

Country Link
KR (1) KR20190055534A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220045137A (ko) * 2019-09-04 2022-04-12 국방과학연구소 통계적 특징점 선별 장치 및 방법
US11895531B2 (en) 2021-07-05 2024-02-06 Samsung Electronics Co., Ltd. Method and device for regulating flow of data transmission in a wireless network

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220045137A (ko) * 2019-09-04 2022-04-12 국방과학연구소 통계적 특징점 선별 장치 및 방법
US11895531B2 (en) 2021-07-05 2024-02-06 Samsung Electronics Co., Ltd. Method and device for regulating flow of data transmission in a wireless network

Similar Documents

Publication Publication Date Title
US11431550B2 (en) System and method for network incident remediation recommendations
US11469947B2 (en) System and method for observing and controlling a programmable network using cross network learning
US9860154B2 (en) Streaming method and system for processing network metadata
US11706115B2 (en) System and method for using real-time packet data to detect and manage network issues
US10200267B2 (en) System and method for client network congestion detection, analysis, and management
US10193741B2 (en) System and method for network incident identification and analysis
Jeya et al. Efficient classifier for R2L and U2R attacks
US10785247B2 (en) Service usage model for traffic analysis
US11070458B2 (en) Encrypted traffic analysis control mechanisms
US20230129786A1 (en) Correlating endpoint and network views to identify evasive applications
WO2014110293A1 (en) An improved streaming method and system for processing network metadata
Mistry et al. Network traffic measurement and analysis
US7903657B2 (en) Method for classifying applications and detecting network abnormality by statistical information of packets and apparatus therefor
EP3446441A2 (en) A system and method for network incident identification, congestion detection, analysis, and management
WO2013028340A1 (en) Protocol rate filtering at edge device
KR20190055534A (ko) 심층 패킷 분석을 이용한 기계학습용 네트워크 데이터 생성 장치 및 그 동작방법
Xu Network Behavior Analysis
Hublikar et al. Detecting denial-of-service attacks using sFlow
Marnerides et al. A multi-level resilience framework for unified networked environments
Altangerel et al. In-network DDoS detection and mitigation using INT data for IoT ecosystem
Hernandez Remedios On Improving DREAM Framework with Estimations and ProgME