KR20180116934A - Cnn을 활용한 패킷 페이로드 기반의 네트워크 트래픽 분류시스템 - Google Patents

Cnn을 활용한 패킷 페이로드 기반의 네트워크 트래픽 분류시스템 Download PDF

Info

Publication number
KR20180116934A
KR20180116934A KR1020170049875A KR20170049875A KR20180116934A KR 20180116934 A KR20180116934 A KR 20180116934A KR 1020170049875 A KR1020170049875 A KR 1020170049875A KR 20170049875 A KR20170049875 A KR 20170049875A KR 20180116934 A KR20180116934 A KR 20180116934A
Authority
KR
South Korea
Prior art keywords
network traffic
data
packet
payload
unit
Prior art date
Application number
KR1020170049875A
Other languages
English (en)
Other versions
KR101953672B1 (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 KR1020170049875A priority Critical patent/KR101953672B1/ko
Publication of KR20180116934A publication Critical patent/KR20180116934A/ko
Application granted granted Critical
Publication of KR101953672B1 publication Critical patent/KR101953672B1/ko

Links

Images

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • 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/147Network analysis or design for predicting network behaviour

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 네트워크 트래픽 데이터를 정제하여 패킷 단위의 이미지 형태로 된 데이터 세트로 변환하고, 변환한 데이터 세트를 CNN(Convolutional Neural Network) 모델을 통해 학습하며, 이를 토대로 네트워크 트래픽에 대한 분류의 정확도를 높임으로써, 기계학습에 의한 네트워크 트래픽의 분류를 통해 네트워크 트래픽의 통계적인 특징을 손쉽게 파악하고, 이를 토대로 네트워크 트래픽에 관련된 정책이나 계획을 용이하게 수립할 수 있는 CNN을 활용한 패킷 페이로드 기반의 네트워크 트래픽 분류시스템에 관한 것이다.

Description

CNN을 활용한 패킷 페이로드 기반의 네트워크 트래픽 분류시스템{SYSTEM FOR PACKET PAYLOAD-BASED NETWORK TRAFFIC CLASSIFICATION USING CONVOLUTIONAL NEURAL NETWORK}
본 발명은 CNN(Convolutional Neural Network)을 활용한 네트워크 트래픽 분류에 관한 것으로, 더욱 상세하게는 네트워크 트래픽 데이터를 정제하여 패킷 단위의 이미지 형태로 된 데이터 세트로 변환하고, 변환한 데이터 세트를 CNN 모델을 통해 학습하며, 이를 토대로 네트워크 트래픽에 대한 분류의 정확도를 높임으로써, 기계학습에 의한 네트워크 트래픽의 분류를 통해 네트워크 트래픽의 통계적인 특징을 손쉽게 파악하고, 이를 토대로 네트워크 트래픽에 관련된 정책이나 계획을 용이하게 수립할 수 있는 CNN을 활용한 패킷 페이로드 기반의 네트워크 트래픽 분류시스템에 관한 것이다.
최근의 IoT(Internet of Things, 사물인터넷) 시대 네트워크에서는 다양한 형태의 응용 및 서비스가 운영되고 있으며, 네트워크의 특성상 기존의 수동적인 방식에서는 지금까지와는 차원이 다른 훨씬 더 크고 다양한 규모의 트래픽 데이터가 발생하고 있다.
이에 따라 사람이 직접 해야 할 데이터 분석과 관리범위가 상당히 넓어지고 있으며, 경량화 및 자동화된 망의 구축이 필요함에 따라 딥러닝(deep learning) 기법의 활용도가 점차 높아지고 있다.
상기 딥러닝 관련 기법에는 대표적으로 MNN(Multi-layer Neural Network) 모델, CNN 모델, RNN(Recurrent Neural Network) 모델 등이 있다.
상기 MNN은 약 3개에서 7개까지의 히든 레이어(Hidden Layer)로 구성된 기본적인 딥러닝 모델이다.
상기 CNN은 지역 수용 영역(Local Receptive Fields)과 컨볼루션 레이어(Convolutional Layer), 풀링 레이어(Pooling Layer) 등으로 구성되어 있는 신경망으로서, 이미지 분석에 대표적으로 쓰이고 있는 딥러닝 기법이다. 상기 CNN은 사람이 물체를 인식할 때 물체의 기본적인 특징들을 추출한 다음 뇌 속에서 복잡한 계산을 거쳐 그 결과를 기반으로 물체를 인식한다는 가정을 토대로 만들어진 사람의 뇌 기능을 모사한 모델이다. 상기 CNN에서는 기본적으로 컨볼루션(convolution) 연산을 통해 영상의 특징을 추출하기 위한 다양한 필터와 비선형적인 특성을 더하기 위한 풀링(pooling) 또는 비선형 활성화(non-linear activation) 함수 등이 함께 사용된다.
본 발명은 상기 딥러닝 기법 중에서 CNN 모델을 활용한 것으로서, 네트워크 트래픽 데이터를 플로우(flow) 수를 기준으로 복수 개의 상위 레이블(label)로 선별한 후 내부 패킷의 페이로드만을 필터링하여 정제하고, 정제된 네트워크 트래픽 데이터를 패킷 단위의 이미지 형태로 된 데이터 세트로 변환하며, 변환한 데이터 세트를 CNN 모델을 통해 학습하여 네트워크 트래픽에 대한 분류의 정확도를 높일 수 있는 방안을 제시한 것이다.
다음으로 본 발명의 기술분야에 존재하는 선행기술에 대하여 간단하게 설명하고, 이어서 본 발명이 상기 선행기술에 비해서 차별적으로 이루고자 하는 기술적 사항에 대해서 기술하고자 한다.
먼저 비특허 문헌 Machine Learning 알고리즘을 적용한 인터넷 애플리케이션 트래픽 분류(KNOM Review, Vol. 10, No.2, Dec. 2007)는 2개 이상의 port 번호를 동적으로 할당 받아 사용하는 애플리케이션을 포함하는 트래픽 분류를 수행하기 위해서 각 애플리케이션에서 발생하는 패킷을 호스트와 인터넷 링크에서 수집한다. 그리고 분류하려는 애플리케이션은 NGMON을 참조하여 POSTECH에서 가장 많이 사용되는 상위 20위 안팎의 것들 중 13개를 선택한다. 그리고 인터넷 애플리케이션 트래픽 분류의 정확도가 가장 놓은 결과를 보이는 ML 알고리즘과 feature set을 제시하고 있다.
상기 선행기술은 기계학습을 이용하여 트래픽을 분류하는 점에서 본 발명의 구성과 일부 유사점이 있으나, 그 구체적인 접근 방법에 있어서는 본 발명에서 제시하는 CNN 모델을 이용하는 것과 관련이 없다. 또한, 상기 선행기술은 비지도 학습에 의한 분류기법에 대해서만 논의하고 있을 뿐, 본 발명의 네트워크 트래픽을 정제하는 수단과 CNN에 의한 트래픽 분석에 대하여 아무런 기재가 없으며, 본 발명의 CNN 기술을 적용한 것이 아니기 때문에 데이터의 이미지 과정이 필요 없는 점에서 기술적 구성의 차이점이 명확하다.
또한, 비특허 문헌 통계 시그니처 기반의 응용 트래픽 분류(한국통신학회논문지 '09-11 Vol. 34 No. 11)는 학내 망에서 인터넷으로 오가는 모든 트래픽을 대상으로 하는 것으로서, 응용 계층의 트래픽을 분류하는 것이 목적으로 하고 있으며, 포트 기반의 분류, 페이로드 기반의 분류, 머신러닝 기반의 분류 방법들을 제시하고 있다.
상기 선행기술은 트래픽 분류를 수행한다는 점에서 본 발명의 구성과 일부 유사성이 있으나, 그 구체적인 접근 방법에 있어서는 본 발명의 CNN을 이용하는 것과 전혀 관련이 없는 통계 시그니처를 통한 응용 트래픽 분류 방법론을 제안하고 있다. 또한, 상기 선행기술은 본 발명의 트래픽을 정제하는 수단과 CNN에 의한 트래픽 분석에 대한 구성이 전혀 제시되어 있지 않으며 이와 관련된 그 어떠한 암시도 되어 있지 않다.
즉 상기 언급한 각각의 선행기술들은 본 발명에서 제시하고 있는 네트워크 트래픽 데이터를 정제하고, 정제한 네트워크 트래픽 데이터를 패킷 단위의 이미지 형태로 된 데이터 세트로 변환하여 CNN 모델을 통해 학습하는 구성을 전혀 제시하고 있지 못하므로 본 발명의 기술적 구성과 비교할 때 차이점이 분명하며, CNN 모델을 이용한 기계학습 수행을 토대로 한 트래픽의 분류를 통해 트래픽의 특징을 파악하여 네트워크 계획을 세우는데 효과적으로 활용할 수 있는 점에서도 기술적 차이가 분명한 것이다.
본 발명은 상기와 같은 문제점을 해결하기 위해 창작된 것으로서, 네트워크 트래픽 데이터를 정제하여 패킷 단위의 이미지 형태로 된 데이터 세트로 변환하고, 패킷 단위로 변환한 데이터 세트를 CNN 모델을 통해 학습하여 예측모델을 생성하며, 이를 토대로 네트워크 트래픽에 대한 분류의 정확도를 높일 수 있도록 하는 CNN을 활용한 패킷 페이로드 기반의 네트워크 트래픽 분류시스템을 제공하는 것을 목적으로 한다.
또한, 본 발명은 네트워크 트래픽 데이터를 패킷 단위의 이미지 형태로 된 데이터 세트로 변환할 때, 데이터 세트의 이미지 크기 및 원소의 비트 크기를 각기 다르게 변환하여 CNN 모델을 통해 학습을 수행함으로써, 패킷 단위의 이미지 크기에 따른 네트워크 트래픽 분류의 정확도를 비교 평가할 수 있도록 하는 CNN을 활용한 패킷 페이로드 기반의 네트워크 트래픽 분류시스템을 제공하는 것을 다른 목적으로 한다.
또한, 본 발명은 패킷 단위의 이미지 형태로 변환한 데이터 세트를 CNN 모델에 적용하여 학습을 수행할 때, 학습에 이용되는 데이터 세트의 크기나 변환 형태를 고려하여 N×N의 2차원 컨볼루션은 물론, 1×N의 1차원 컨볼루션을 선택적으로 적용할 수 있도록 하는 CNN을 활용한 패킷 페이로드 기반의 네트워크 트래픽 분류시스템을 제공하는 것을 또 다른 목적으로 한다.
또한, 본 발명은 가입자 측의 네트워크 트래픽 분류에 대한 쿼리 요청에 따라 해당 가입자 측의 네트워크 트래픽 데이터를 정제한 후 패킷 단위의 이미지 형태의 데이터 세트로 변환하고, 변환한 데이터 세트를 예측모델에 적용하여 네트워크 트래픽의 종류를 예측하며, 예측 결과를 토대로 트래픽 정책을 수립하여 적용할 수 있도록 하는 CNN을 활용한 패킷 페이로드 기반의 네트워크 트래픽 분류시스템을 제공하는 것을 또 다른 목적으로 한다.
본 발명의 일 실시예에 따른 CNN을 활용한 패킷 페이로드 기반의 네트워크 트래픽 분류장치는, 네트워크 트래픽 데이터를 정제하는 데이터 정제부; 상기 정제한 네트워크 트래픽 데이터를 패킷 단위의 이미지 형태로 된 데이터 세트로 변환하는 데이터 변환부; 및 상기 변환한 데이터 세트를 CNN 모델을 통해 학습하여 예측모델을 생성하는 학습부;를 포함하며, 상기 학습부는, 단일 패킷의 페이로드들만을 상기 CNN 모델의 입력 데이터 세트로 적용하여 학습하는 것을 특징으로 한다.
그리고 상기 네트워크 트래픽 분류장치는, 가입자 측의 라우터, 스위치를 포함한 통신장치 또는 상기 통신장치에 접속되는 트래픽 모니터링 장치의 네트워크 트래픽 분류에 대한 쿼리 요청에 따라 상기 통신장치에서 송수신되는 데이터 패킷을 상기 예측모델에 적용하여 네트워크 트래픽의 종류를 예측하는 예측부;를 더 포함하는 것을 특징으로 한다.
그리고 상기 데이터 정제부는, 원본 PCAP(Packet Capture) 파일에서 플로우 수를 기준으로 기 설정된 수만큼의 상위 레이블을 선별하고, 상기 선별한 레이블이 붙은 플로우들을 PCAP 파일에서 선택하고, 상기 선택한 플로우 내부 패킷의 애플리케이션 레이어 페이로드만을 필터링하여 추출하며, 상기 추출한 페이로드를 기 설정된 데이터 헤더에 기준하여 애플리케이션 레이어 페이로드 데이터 파일을 완성하는 것을 특징으로 한다.
그리고 상기 학습부는, 상기 데이터 변환부에서 패킷 단위의 이미지 형태로 변환한 데이터 세트를 상기 CNN 모델에 적용하여 학습을 진행할 때, 데이터 세트의 크기나 변환 형태를 고려하여 N×N의 2차원 컨볼루션 또는 1×N의 1차원 컨볼루션을 선택적으로 적용하는 것을 특징으로 한다.
또한, 본 발명의 일 실시예에 따른 트래픽 모니터링 장치는, 가입자 측의 라우터, 스위치를 포함한 통신장치에 접속되어 상기 통신장치의 네트워크 트래픽을 모니터링하는 것으로서, 트래픽 모니터링 관리자의 조작을 확인하여 상기 통신장치에서 처리되는 네트워크 트래픽의 분류에 대한 쿼리를 확인하는 쿼리 입력 처리부; 및 상기 쿼리에 따라 상기 통신장치에서 송수신되는 데이터 패킷을 기 저장된 예측모델에 적용하여 네트워크 트래픽의 종류를 예측하는 예측부;를 포함하며, 상기 예측모델은, 정제된 네트워크 트래픽 데이터를 패킷 단위의 이미지 형태로 된 데이터 세트로 변환한 데이터 세트를 CNN 모델을 통해 학습하여 생성되는 것으로서, 네트워크 트래픽 분류장치에서 단일 패킷의 페이로드들만을 상기 CNN 모델의 입력 데이터 세트로 적용하여 학습한 결과를 토대로 생성되는 것을 특징으로 한다.
또한, 본 발명의 일 실시예에 따른 CNN을 활용한 패킷 페이로드 기반의 네트워크 트래픽 분류방법은, 네트워크 트래픽 분류장치에서, 네트워크 트래픽 데이터를 정제하는 데이터 정제 단계; 상기 네트워크 트래픽 분류장치에서, 상기 정제한 네트워크 트래픽 데이터를 패킷 단위의 이미지 형태로 된 데이터 세트로 변환하는 데이터 변환 단계; 및 상기 네트워크 트래픽 분류장치에서, 상기 변환한 데이터 세트를 CNN 모델을 통해 학습하여 예측모델을 생성하는 학습 단계;를 포함하며, 상기 학습 단계는, 단일 패킷의 페이로드들만을 상기 CNN 모델의 입력 데이터 세트로 적용하여 학습하는 것을 특징으로 한다.
그리고 상기 네트워크 트래픽 분류방법은, 가입자 측의 라우터, 스위치를 포함한 통신장치 또는 상기 통신장치에 접속되는 트래픽 모니터링 장치의 네트워크 트래픽 분류에 대한 쿼리 요청에 따라 상기 통신장치에서 송수신되는 데이터 패킷을 상기 예측모델에 적용하여 네트워크 트래픽의 종류를 예측하는 예측 단계;를 더 포함하는 것을 특징으로 한다.
그리고 상기 데이터 정제 단계는, 상기 네트워크 트래픽 분류장치에서, PCAP 파일로부터 플로우 수를 기준으로 기 설정된 수만큼의 상위 레이블을 선별하는 레이블 선별 단계; 상기 선별한 레이블이 붙은 플로우들을 상기 PCAP 파일에서 선택하는 플로우 선택 단계; 상기 선택한 플로우 내부 패킷의 애플리케이션 레이어 페이로드만을 필터링하여 추출하는 페이로드 추출 단계; 및 상기 추출한 페이로드를 기 설정된 데이터 헤더에 기준하여 애플리케이션 레이어 페이로드 데이터 파일을 완성하는 페이로드 데이터 생성 단계;를 포함하는 것을 특징으로 한다.
그리고 상기 학습 단계는, 상기 데이터 변환 단계에서 패킷 단위의 이미지 형태로 변환한 데이터 세트를 상기 CNN 모델에 적용하여 학습을 진행할 때, 데이터 세트의 크기나 변환 형태를 고려하여 N×N의 2차원 컨볼루션 또는 1×N의 1차원 컨볼루션을 선택적으로 적용하는 것을 특징으로 한다.
그리고 상기 예측모델은, 가입자 측의 라우터, 스위치를 포함한 통신장치에 접속되는 트래픽 모니터링 장치에 구비될 수 있으며, 상기 통신장치에서 송수신되는 데이터 패킷을 입력으로 하여 네트워크 트래픽의 종류를 예측하는 것을 특징으로 한다.
이상에서와 같이 본 발명의 CNN을 활용한 패킷 페이로드 기반의 네트워크 트래픽 분류시스템에 따르면, 네트워크 트래픽 데이터를 정제하여 패킷 단위의 이미지 형태로 된 데이터 세트로 변환하고, 패킷 단위로 변환한 데이터 세트를 CNN 모델을 통해 학습하여 예측모델을 생성하며, 이를 토대로 네트워크 트래픽에 대한 분류의 정확도를 높임으로써, 기계학습에 의한 트래픽의 분류를 통해 네트워크 트래픽의 통계적인 특징을 손쉽게 파악할 수 있는 효과가 있다.
특히, 본 발명은 네트워크 트래픽의 플로우가 갖는 연속성을 가지지 않는 단일 패킷의 페이로드들만을 CNN 모델의 입력 데이터 세트로 적용하였기 때문에 연구자들이 이에 대한 학습결과를 통해 패킷 페이로드 내부에는 종래에는 파악하지 못했던 특징이 존재할 수 있다는 가정을 세울 수 있고, 이를 토대로 네트워크 트래픽에 관련된 연구를 활발하게 수행할 수 있는 효과가 있다.
또한, 패킷 구조, 패킷내의 각 영역의 의미 등에 대하여 연구하거나, 복잡한 규칙을 만들어 적용할 필요가 없기 때문에 네트워크 트래픽에 관련된 정책이나 계획을 수립하기 편리한 효과가 있다.
또한, CNN 모델에 적용되는 데이터 세트의 이미지 크기 및 원소의 비트 크기를 각기 다르게 하여 학습을 수행하고, 그 결과를 토대로 패킷 단위의 이미지 크기에 따른 네트워크 트래픽 분류의 정확도를 비교 평가할 수 있으므로 향후 네트워크 트래픽 데이터의 분류처리의 효율을 높일 수 있으며, 결과적으로 가입자 측에 설치되는 라우터, 스위치 등의 각종 통신장치의 품질 및 기능을 향상시킬 수 있는 효과가 있다.
또한, 가입자 측의 요청에 따라 해당 가입자 측의 네트워크 트래픽 데이터를 상기 예측모델에 적용하여 네트워크 트래픽의 종류를 간단하게 예측할 수 있기 때문에 통신서비스 사업자 측에서 네트워크 트래픽의 예측결과를 토대로 트래픽 정책의 수립이나 적용이 용이한 효과가 있다.
도 1은 본 발명이 적용된 CNN을 활용한 패킷 페이로드 기반의 네트워크 트래픽 분류과정을 설명하기 위한 개념도이다.
도 2는 본 발명에 적용되는 CNN 모델의 일 예를 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른 CNN을 활용한 패킷 페이로드 기반의 네트워크 트래픽 분류시스템의 구성을 개략적으로 나타낸 도면이다.
도 4는 상기 도 3의 네트워크 트래픽 분류장치의 구성을 보다 상세하게 나타낸 도면이다.
도 5는 상기 도 3의 트래픽 모니터링 장치의 구성을 보다 상세하게 나타낸 도면이다.
도 6은 본 발명의 일 실시예에 따른 CNN을 활용한 패킷 페이로드 기반의 네트워크 트래픽 분류방법의 동작과정을 나타낸 순서도이다.
도 7은 상기 도 6의 네트워크 트래픽 데이터 정제의 동작과정을 보다 상세하게 나타낸 순서도이다.
도 8은 상기 도 6의 가입자 측의 요청에 따른 예측모델을 이용한 네트워크 트래픽 예측 및 정책수립의 동작과정을 보다 상세하게 나타낸 순서도이다.
도 9는 본 발명의 실시예에 적용한 브로드밴드 커뮤니케이션 리서치 그룹으로부터 제공받은 PCAP 파일의 플로우 정보를 나타낸 도면이다.
도 10은 상기 도 9의 PCAP 파일의 info파일 데이터 헤더를 나타낸 도면이다.
도 11은 상기 도 9의 PCAP 파일로부터 정제한 애플리케이션 레이어 페이로드 데이터 파일의 통계정보를 나타낸 도면이다.
도 12는 데이터 세트 변환작업에 의해 완성된 패킷 이미지 데이터의 형태를 표현한 도면이다.
도 13과 도 14는 train, validation, test label을 원-핫 벡터로 표현한 것을 나타낸 도면이다.
도 15와 도 16은 패킷 이미지 데이터의 크기별 CNN 학습 결과의 정확도를 나타낸 도면이다.
도 17과 도 18은 패킷 이미지 원소 크기별 CNN 학습 결과의 정확도를 나타낸 도면이다.
이하, 첨부한 도면을 참조하여 본 발명의 CNN을 활용한 패킷 페이로드 기반의 네트워크 트래픽 분류시스템에 대한 바람직한 실시 예를 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다. 또한 본 발명의 실시 예들에 대해서 특정한 구조적 내지 기능적 설명들은 단지 본 발명에 따른 실시 예를 설명하기 위한 목적으로 예시된 것으로, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는 것이 바람직하다.
도 1은 본 발명이 적용된 CNN을 활용한 패킷 페이로드 기반의 네트워크 트래픽 분류과정을 설명하기 위한 개념도이며, 도 2는 본 발명에 적용되는 CNN 모델의 일 예를 나타낸 도면이다.
도 1에 도시된 바와 같이, 본 발명의 네트워크 트래픽 분류시스템은 네트워크 트래픽 분류장치에서 네트워크 트래픽 데이터인 PCAP 파일(네트워크 패킷을 캡처하여 패킷 형태로 저장한 파일)을 패킷 단위의 이미지 형태의 데이터 세트로 가공한다.
이때 상기 네트워크 트래픽 분류장치는 네트워크 트래픽 데이터의 애플리케이션 레이어의 페이로드를 패킷 단위로 나눈 문자열들을 이미지 데이터 형식으로 변환하기 위하여, 상기 PCAP 파일을 필터링하고 축약하는 데이터 정제과정을 우선 수행한다.
즉 상기 PCAP 파일에서 플로우 수를 기준으로 복수 개의 상위 레이블을 선별하고, 상기 선별한 레이블이 붙은 플로우들을 상기 PCAP 파일에서 선택하고, 상기 선택한 플로우 내부 패킷의 애플리케이션 레이어 페이로드만을 필터링하여 추출하며, 상기 추출한 페이로드를 기 설정된 데이터 헤더에 기준하여 애플리케이션 레이어 페이로드 데이터 파일을 완성하는 데이터 정제과정을 수행하는 것이다.
이때 본 발명에서는 네트워크 트래픽 데이터로 브로드밴드 커뮤니케이션 리서치 그룹(Broadband Communications Research Group)에서 제공받은 PCAP 파일을 사용하며, 상기 레이블로 RDP(Remote Desktop Protocol), Skype, SSH(Secure Shell), Bittorrent 및 Web의 5가지를 최종적으로 선별하여 사용한다.
또한, 상기 네트워크 트래픽 분류장치는 패킷 단위의 이미지 형태의 데이터 세트를 생성한 후, 상기 데이터 세트들을 훈련 데이터로 하여 CNN 모델을 통해 기계학습을 수행하고, 학습결과에 따른 평가를 수행한다. 이때 상기 네트워크 트래픽 분류장치는 상기 데이터 정제과정을 통해 생성된 단일 패킷의 페이로드들만을 CNN 모델의 입력 데이터 세트로 적용하여 학습할 수 있도록 한다. 그러면 관리자나 서비스 제공자 측에서는 네트워크 트래픽 데이터의 패킷 구조나 패킷내의 각 영역의 의미 등을 연구하거나 복잡한 규칙을 만들어 적용할 필요없이 손쉽게 트래픽 정책을 수립할 수 있게 된다.
상기 CNN 모델은 도 2에 도시된 바와 같이, 컨볼루션과 서브샘플링으로 2차원 영상의 특징만 남기고 줄여 1차원 행렬로 바꾸는 것으로서, 지역 수용 영역(Local Receptive Fields), 컨볼루션 레이어(Convolutional Layer), 풀링 레이어(Pooling Layer), 완전 연관 레이어(Fully-Connected Layer) 등으로 구성된다.
상기 지역 수용 영역은 데이터 세트로 변환된 패킷 페이로드와 레이블을 입력받고, 패킷은 이미지 N×N의 형태로써 지역 수용 영역에 입력된다. 이후 컨볼루션 레이어를 거치게 되는데, 컨볼루션 레이어의 각각의 뉴런이 편향이나 영역과 연결된 2차원의 N×N의 가중치를 갖고 있다. 그리고 컨볼루션 레이어를 지날 때마다 샘플링(pooling) 과정을 거치게 되며, 완전 연관 레이어를 거치면서 최종적인 결과물이 산출된다. 이때 본 발명에서는 N×N의 2차원 컨볼루션을 예로 하여 설명하고 있지만 이에 한정되는 것은 아니며, 데이터 세트의 크기나 변환 형태를 고려하여 1×N의 1차원 컨볼루션을 선택적으로 적용할 수 있음은 물론이다.
한편, 상기 네트워크 트래픽 분류장치는 데이터 세트의 이미지 크기 및 원소의 비트 크기를 각기 다르게 변환한 후 CNN 모델을 통해 학습을 수행할 수 있으며, 이 경우 패킷 단위의 이미지 크기에 따른 네트워크 트래픽 분류의 정확도를 비교 평가할 수 있다.
또한, 상기 네트워크 트래픽 분류장치는 상기 학습결과에 따른 예측모델을 생성하고, 가입자 측의 네트워크 트래픽 분류에 대한 쿼리 요청이 있으면, 상기 쿼리를 토대로 해당 가입자 측의 네트워크 트래픽 데이터를 정제하고, 이를 통해 패킷 단위 이미지 형태의 데이터 세트로 변환한 후, 변환한 데이터 세트를 상기 생성한 예측모델에 적용하여 네트워크 트래픽의 종류를 예측할 수 있다.
그리고 상기 예측모델을 통해 생성되는 예측 결과를 토대로 해당 가입자 측의 네트워크 트래픽과 관련된 정책을 수립하여 적용할 수 있다. 즉 가입자 측에 구비된 통신장치를 통해 이루어지는 네트워크 트래픽의 종류를 예측하고, 예측 결과를 토대로 통신서비스 사업자 측에서 특정 가입자 측의 트래픽 정체 관리, 트래픽 혼잡 탐지, 트래픽 혼잡 제어 등을 포함한 정책수립 및 적용을 용이하게 수행할 수 있는 것이다.
이때 가입자 측의 네트워크 트래픽 예측은 상기 설명한 바와 같이 상기 네트워크 트래픽 분류장치에서 직접 수행하는 방식 이외에, 상기 네트워크 트래픽 분류장치에서 CNN 모델을 통해 생성한 예측모델을 저장하고 있는 트래픽 모니터링 장치(즉 관리자가 소지하고 있는 전용의 모니터링 장비는 물론, 스마트폰, 노트 PC 등이 될 수 있음)를 해당 통신장치에 접속한 후, 상기 통신장치에서 송수신되는 데이터 패킷을 상기 예측모델의 입력으로 하여 네트워크 트래픽의 종류를 예측하는 방식을 사용할 수 있다.
도 3은 본 발명의 일 실시예에 따른 CNN을 활용한 패킷 페이로드 기반의 네트워크 트래픽 분류시스템의 구성을 개략적으로 나타낸 도면이고, 도 4는 도 3의 네트워크 트래픽 분류장치의 구성을 상세하게 나타낸 도면이며, 도 5는 상기 도 3의 트래픽 모니터링 장치의 구성을 상세하게 나타낸 도면이다.
도 3에 도시된 바와 같이 본 발명의 네트워크 트래픽 분류시스템은, 네트워크(100), 통신장치(200), 사용자 단말(300), 네트워크 트래픽 분류장치(400), 데이터베이스(500), 트래픽 모니터링 장치(600) 등으로 구성된다.
네트워크(100)는 유/무선 인터넷, 와이파이(WiFi) 등을 포함한 현재 공지되어 있는 각종 데이터 통신망으로서, 가입자 측에 구비된 통신장치(200)와 각종 사용자 단말(300)에서의 네트워크 트래픽 처리, 네트워크 트래픽 분류장치(400)나 트래픽 모니터링 장치(600) 등에서의 네트워크 트래픽 분류와 관련된 데이터 통신을 수행할 수 있도록 한다.
통신장치(200)는 가입자 측에 구비되는 라우터, 스위치 등의 데이터 통신을 위한 중계장치로서, 각종 사용자 단말(300)에서의 인터넷 접속이나 타 통신장비와의 네트워크 연결을 지원한다.
사용자 단말(300)은 댁내에서 사용 가능한 스마트폰, 태블릿, 노트 PC 등의 통신기기로서, 상기 통신장치(200)를 통해 네트워크(100) 접속을 진행하여 데이터 통신서비스를 이용한다.
네트워크 트래픽 분류장치(400)는 네트워크 트래픽 분류에 사용되는 PCAP 파일을 필터링하고 축약하는 데이터 정제를 수행하고, 정제된 네트워크 트래픽 데이터를 패킷 단위의 이미지 형태로 된 데이터 세트로 변환하며, 변환한 데이터 세트를 CNN 모델을 통해 학습을 수행하여 네트워크 트래픽에 대한 분류의 정확도를 높일 수 있도록 한다.
이때 상기 네트워크 트래픽 분류장치(400)는 네트워크 트래픽 데이터를 패킷 단위 이미지 형태의 데이터 세트로 변환할 때 이미지 크기 및 원소의 비트 크기를 각기 다르게 변환하여 CNN 모델을 통해 학습을 수행할 수 있다. 이와 같이 이미지 크기 등을 다르게 변환하여 학습하는 경우에는 이미지 크기에 따른 네트워크 트래픽 분류에 대한 정확도의 비교 평가가 가능해진다.
또한, 상기 네트워크 트래픽 분류장치(400)는 CNN 모델을 토대로 수행하는 기계학습을 토대로 생성하는 예측모델을 이용하여 가입자 측에서 이루어지는 네트워크 트래픽의 특징을 손쉽게 파악하며, 파악된 특징을 토대로 네트워크 트래픽에 관련된 정책이나 계획을 용이하게 수립하고 적용하는데 도움이 되도록 한다. 즉 상기 네트워크 트래픽 분류장치(400)는 가입자 측의 네트워크 트래픽 분류에 대한 쿼리 요청을 토대로 해당 가입자 측의 네트워크 트래픽 데이터를 정제 및 이미지 형태의 데이터 세트로 변환하고, 변환한 데이터 세트를 상기 예측모델에 적용하여 네트워크 트래픽의 종류를 예측함으로써, 트래픽 정책이나 계획 수립을 손쉽게 수행할 수 있도록 하는 것이다.
데이터베이스(500)는 상기 네트워크 트래픽 분류장치(400)에서 네트워크 트래픽 분류에 필요한 각종 동작프로그램이나 데이터를 저장, 관리하며, CNN 모델을 이용한 학습을 통해 생성되는 예측모델을 저장, 관리한다.
트래픽 모니터링 장치(600)는 모니터링 관리자가 소지하고 있는 전용의 모니터링 장비나, 스마트폰, 노트 PC 등의 통신기기로서, 기기 내에 설치된 특정 프로그램을 통해 가입자 측의 라우터, 스위치를 포함한 통신장치(200)에 접속되어 상기 통신장치(200)의 네트워크 트래픽을 모니터링하는 기능을 수행한다.
즉 상기 트래픽 모니터링 장치(600)는 트래픽 모니터링 관리자의 조작에 따라 상기 통신장치(200)에서 송수신되는 데이터 패킷을 기 저장되어 있는 예측모델의 입력으로 하여 네트워크 트래픽의 종류를 예측하는 것이다. 이때 상기 예측모델은 네트워크 트래픽 분류장치(400)로부터 주기적으로 업데이트 정보를 제공받아 관리된다.
한편, 상기 네트워크 트래픽 분류장치(400)는 도 4에 도시된 바와 같이, 데이터 정제부(410), 데이터 변환부(420), 학습부(430), 정확도 산출부(440), 데이터 인터페이스부(450), 쿼리 입력 처리부(460), 예측부(470), 네트워크 인터페이스부(480), 제어부(490) 등으로 구성된다.
상기 데이터 정제부(410)는 네트워크 트래픽 데이터인 PCAP 파일을 필터링 및 축약하여 데이터 변환부(420)로 출력한다.
이때 상기 데이터 정제부(410)는 원본 PCAP 파일에서 플로우 수를 기준으로 수량이 많은 레이블 순서대로 기 설정된 수만큼 선별(본 발명의 실시예에서는 8개의 레이블을 선별함)한다. 본 발명의 실시예에서는 상기 레이블로 RDP, Skype, SSH, Bittorrent, HTTP-Facebook, HTTP-Google, HTTP-Wikipedia, HTTP-Youtube의 8개를 선별하고, 이중에서 동일한 HTTP를 프로토콜로 사용하는 HTTP-Facebook, HTTP-Google, HTTP-Wikipedia, HTTP-Youtube의 4종은 Web이란 레이블로 통합하여, 총 5개의 레이블을 선별하여 사용한다.
그리고 상기 데이터 정제부(410)는 상위 레이블을 선별한 이후, 선별한 레이블이 붙은 플로우들을 PCAP 파일에서 선택하고, 선택한 플로우 내부 패킷의 애플리케이션 레이어 페이로드만을 필터링하여 추출하며, 상기 추출한 페이로드를 기 설정된 데이터 헤더(도 10의 Application_Layer_Payload_Data.info 파일의 데이터 헤더 참조)에 기준하여 애플리케이션 레이어 페이로드 데이터 파일을 완성한다.
상기 데이터 변환부(420)는 상기 데이터 정제부(410)에서 정제한 네트워크 트래픽 데이터를 패킷 단위의 이미지 형태로 된 데이터 세트로 변환하며, 변환한 데이터 세트를 학습부(430)로 출력한다.
상기 학습부(430)는 상기 데이터 변환부(420)에서 변환한 데이터 세트를 CNN 모델을 통해 학습하고, 학습결과에 따른 예측모델을 생성한다.
이때 상기 학습부(430)는 단일 패킷의 페이로드들만을 상기 CNN 모델의 입력 데이터 세트로 적용하여 학습한다.
또한, 상기 학습부(430)는 상기 데이터 변환부(420)에서 패킷 단위의 이미지 형태로 변환한 데이터 세트를 상기 CNN 모델에 적용하여 학습을 진행할 때, N×N의 2차원 컨볼루션(본 발명의 실시예에서는 5×5의 2차원 컨볼루션을 적용함)을 적용하는 것이 바람직하나, 이에 한정할 필요없이 데이터 세트의 크기나 변환 형태를 고려하여 1×N의 1차원 컨볼루션을 선택적으로 적용할 수 있다.
상기 정확도 산출부(440)는 상기 학습부(430)에서 PCAP 파일의 CNN 모델 적용을 통해 학습하여 출력되는 결과값을 토대로 네트워크 트래픽의 분류가 정확하게 이루어졌는지를 평가한다.
또한, 상기 정확도 산출부(440)는 상기 학습부(430)에서 데이터 세트의 이미지 크기 및 원소의 비트 크기를 각기 다르게 변환하여 CNN 모델을 통해 학습을 수행한 결과를 토대로 네트워크 트래픽의 분류가 정확하게 이루어졌는지를 평가할 수 있다. 이 경우 상기 정확도 산출부(440)의 평가결과를 토대로 패킷 단위의 이미지 크기에 따른 네트워크 트래픽 분류의 정확도를 비교 평가할 수 있다.
상기 데이터 인터페이스부(450)는 상기 데이터 정제부(410)에서 정제된 네트워크 트래픽 데이터, 상기 데이터 변환부(420)에서 변환된 데이터 세트, 상기 학습부(430)에서의 학습결과에 따라 생성되는 예측모델의 데이터베이스(500) 저장을 관리하며, 상기 데이터베이스(500)에 저장되어 있는 네트워크 트래픽 분류를 위한 각종 프로그램 및 관련 데이터의 송수신을 처리하는 기능을 수행한다.
상기 쿼리 입력 처리부(460)는 네트워크(100)를 통해 가입자 측의 라우터, 스위치를 포함한 통신장치(200), 또는 상기 통신장치(200)에 접속되는 트래픽 모니터링 장치(600)로부터 특정 통신장치에서 처리되는 네트워크 트래픽의 분류에 대한 쿼리 요청이 있는지를 확인하고, 네트워크 트래픽의 분류에 대한 쿼리 요청이 있으면 해당 쿼리의 처리를 위한 준비를 수행한다.
상기 예측부(470)는 상기 쿼리 입력 처리부(460)에서 확인된 가입자 측의 통신장치(200)나 트래픽 모니터링 장치(600)로부터의 네트워크 트래픽 분류에 대한 쿼리 요청에 따라 해당 가입자 측에 구비된 통신장치(200)에서 송수신되는 데이터 패킷을 상기 예측모델에 적용하여 네트워크 트래픽의 종류를 예측한다.
상기 네트워크 인터페이스부(480)는 가입자 측의 통신장치(200)나 트래픽 모니터링 장치(600)로부터 전송되는 네트워크 트래픽 분류에 관련된 쿼리 요청신호를 상기 쿼리 입력 처리부(460)로 출력하며, 상기 예측부(470)에서 예측한 네트워크 트래픽에 대한 정보를 네트워크(100)를 통해 상기 통신장치(200)나 트래픽 모니터링 장치(600)로 전송하는 기능을 수행한다.
또한, 상기 네트워크 인터페이스부(480)는 상기 학습부(430)를 통해 생성한 예측모델을 네트워크(100)를 통해 통신장치(200)나 트래픽 모니터링 장치(600)로 전송하는 기능을 추가로 수행할 수 있다.
또한, 상기 네트워크 인터페이스부(480)는 상기 예측부(470)에서 수행한 가입자 측의 네트워크 트래픽에 대한 예측결과를 네트워크 서비스를 수행하는 통신사업자나 관리자에게 제공하여, 네트워크 트래픽에 관련된 정책이나 계획을 수립하는데 이용할 수 있도록 한다.
상기 제어부(490)는 네트워크 트래픽 분류장치(400)의 전반적인 동작을 총괄적으로 제어하는 기능을 수행하는 부분으로서, 상기 데이터 정제부(410)에서의 네트워크 트래픽 데이터 정제, 상기 데이터 변환부(420)에서의 패킷 단위 이미지 형태의 데이터 세트 변환, 상기 학습부(430)에서의 CNN 모델 학습 및 예측모델 생성, 상기 정확도 산출부(440)에서의 학습결과를 토대로 한 네트워크 트래픽의 분류에 대한 평가, 상기 데이터 인터페이스부(450)에서의 네트워크 트래픽의 분류에 관련된 데이터의 데이터베이스(500)의 저장, 관리를 제어한다.
또한, 상기 제어부(490)는 상기 쿼리 입력 처리부(460)에서의 가입자 측의 네트워크 트래픽의 분류에 대한 쿼리 요청 확인, 예측부(470)에서의 예측모델을 이용한 가입자 측에서 이루어지는 네트워크 트래픽의 종류 예측, 상기 네트워크 인터페이스부(480)에서의 가입자 측으로부터의 쿼리 요청 및 네트워크 트래픽에 대한 예측결과 제공을 제어한다.
여기서, 상기 도 4의 설명에 있어서, 상기 쿼리 입력 처리부(460)와 예측부(470)는 상기 네트워크 트래픽 분류장치(400)에 직접 구비되지 않고, 가입자 측에 구비되고 자체적으로 NMS(Network Management System) 기능을 수행할 수 있는 통신장치(200), 상기 통신장치(200)와 접속되는 트래픽 모니터링 장치(600) 등에 구비되어 운영될 수 있다.
또한, 상기 트래픽 모니터링 장치(600)는 도 5에 도시된 바와 같이, 네트워크 인터페이스부(610), 쿼리 입력 처리부(620), 데이터 준비부(630), 예측부(640), 표시부(650), 저장부(660), 제어부(670) 등으로 구성된다.
상기 네트워크 인터페이스부(610)는 통신 포트를 통해 접속된 특정 통신장치(200)에서 이루어지는 네트워크 트래픽 데이터를 수신하고, 상기 네트워크 트래픽 데이터를 데이터 준비부(630)로 출력한다.
상기 쿼리 입력 처리부(620)는 트래픽 모니터링 관리자의 조작을 확인하여 상기 통신장치(200)에서 처리되는 네트워크 트래픽의 분류에 대한 쿼리 요청을 확인한다.
상기 데이터 준비부(630)는 상기 네트워크 인터페이스부(610)를 통해 상기 통신장치(200)에서 송수신되는 네트워크 트래픽 데이터를 정제하여 패킷 단위의 이미지 형태로 된 데이터 세트로 변환하고, 변환한 데이터 세트를 상기 예측부(640)로 출력한다.
상기 예측부(640)는 상기 쿼리 입력 처리부(620)에서 확인한 쿼리에 따라 상기 네트워크 준비부(630)에서 정제하여 패킷 단위의 이미지 형태로 변환한 데이터 세트를 기 저장된 예측모델에 적용하여 네트워크 트래픽의 종류를 예측한다.
또한, 상기 예측모델은 정제된 네트워크 트래픽 데이터를 패킷 단위의 이미지 형태로 된 데이터 세트로 변환하고, 상기 변환한 데이터 세트를 CNN 모델을 통해 학습하여 생성되는 것으로서, 네트워크 트래픽 분류장치(400)에서 단일 패킷의 페이로드들만을 상기 CNN 모델의 입력 데이터 세트로 적용하여 학습한 결과를 토대로 생성된 것이다.
상기 표시부(650)는 네트워크 트래픽에 대한 모니터링 데이터를 화면상에 표시하여 관리자가 확인하도록 한다.
상기 저장부(660)는 상기 통신장치(200)에서 처리되는 네트워크 트래픽의 종류를 예측하기 위한 예측모델이 저장되어 있으며, 상기 트래픽 모니터링 장치(600)에서 사용되는 각종 동작프로그램이 저장되어 있다.
상기 제어부(670)는 상기 트래픽 모니터링 장치(600)의 전반적인 동작을 총괄적으로 제어하는 기능을 수행하는 부분으로서, 상기 네트워크 인터페이스부(610)에서의 상기 통신장치(200)에서 이루어지는 네트워크 트래픽 데이터의 수신, 상기 쿼리 입력 처리부(620)에서의 네트워크 트래픽 분류에 대한 쿼리 요청 확인, 상기 데이터 준비부(630)에서의 상기 통신장치(200)에서 송수신되는 네트워크 트래픽 데이터의 정제 및 변환, 상기 예측부(640)에서의 예측모델을 이용한 네트워크 트래픽의 종류 예측, 상기 표시부(650)에서의 네트워크 트래픽에 대한 모니터링 데이터 표시, 상기 저장부(660)에서의 예측모델 및 각종 동작프로그램의 저장 관리를 제어한다.
다음에는, 이와 같이 구성된 본 발명에 따른 CNN을 활용한 패킷 페이로드 기반의 네트워크 트래픽 분류방법의 일 실시예를 도 6 내지 도 8을 참조하여 상세하게 설명한다. 이때 본 발명의 방법에 따른 각 단계는 사용 환경이나 당업자에 의해 순서가 변경될 수 있다.
도 6 내지 도 8은 본 발명의 일 실시예에 따른 CNN을 활용한 패킷 페이로드 기반의 네트워크 트래픽 분류방법의 동작과정을 상세하게 나타낸 순서도이다.
우선, 네트워크 트래픽 분류장치(400)는 네트워크 트래픽 데이터인 PCAP 파일을 필터링 및 축약하는 데이터 정제를 수행한다(S100).
상기 S100 단계를 도 7을 참조하여 구체적으로 설명하면, 상기 네트워크 트래픽 분류장치(400)는 원본 PCAP 파일로부터 플로우 수를 기준으로 RDP, Skype, SSH, Bittorrent 및 Web의 상위 레이블을 선별하고(S110), S110 단계에서 선별한 레이블이 붙은 플로우들을 상기 PCAP 파일에서 선택한다(S120).
그리고 S120 단계에서 선택한 플로우 내부 패킷의 애플리케이션 레이어 페이로드만을 필터링하여 추출하고(S130), S130 단계에서 추출한 페이로드를 기 설정된 데이터 헤더(도 11 참조)에 기준하여 애플리케이션 레이어 페이로드 데이터 파일을 완성하여 데이터 정제를 처리한다(S140).
상기 S100 단계를 통해 데이터 정제과정을 수행한 이후, 상기 네트워크 트래픽 분류장치(400)는 S100 단계에서 정제한 네트워크 트래픽 데이터를 패킷 단위의 이미지 형태로 된 데이터 세트로 변환한다(S200). 즉 단일 패킷의 페이로드들만으로 데이터 세트를 생성하도록 하는 것이다.
상기 네트워크 트래픽 분류장치(400)는 상기 S200 단계에서 변환된 패킷 단위의 이미지 형태로 된 데이터 세트를 CNN 모델의 입력으로 하여 기계학습을 수행하고(S300), 학습결과에 따른 예측모델을 생성하여 데이터베이스(500)에 저장한다(S400).
또한, 상기 네트워크 트래픽 분류장치(400)는 S300 단계에서 수행된 CNN 모델을 통한 학습결과를 토대로 패킷 단위의 이미지 크기에 따른 네트워크 트래픽 분류의 정확도를 평가한다(S500).
이제, 상기 네트워크 트래픽 분류장치(400)는 가입자 측의 라우터, 스위치를 포함한 통신장치(200)나 상기 통신장치(200)에 접속되는 트래픽 모니터링 장치(600)의 네트워크 트래픽 분류에 대한 쿼리 요청에 따라 상기 통신장치(200)에서 송수신되는 데이터 패킷을 상기 예측모델에 적용하여 네트워크 트래픽의 종류를 예측하고, 예측한 결과를 해당 통신장치(200)를 관리하는 관리자나 통신 사업자에게 제공하여 예측결과를 토대로 한 트래픽 정책을 수립하여 적용할 수 있도록 한다(S600).
상기 S600 단계를 도 8을 참조하여 구체적으로 설명하면, 상기 네트워크 트래픽 분류장치(400)는 네트워크(100)를 통해 가입자 측의 통신장치(200)나 상기 통신장치(200)에 접속된 트래픽 모니터링 장치(600)로부터 해당 통신장치(200)에서 처리되는 네트워크 트래픽의 분류에 대한 쿼리 요청이 있는지를 판단한다(S610).
판단결과 네트워크 트래픽의 분류에 대한 쿼리 요청이 있으면, 상기 네트워크 트래픽 분류장치(400)는 해당 가입자 측에 구비된 통신장치(200)에서 송수신되는 네트워크 트래픽 데이터를 정제하고, 패킷 단위의 이미지 형태로 된 데이터 세트로 변환한다(S620).
그리고 상기 S620 단계에서 변환한 데이터 패킷을 상기 예측모델에 적용하여 네트워크 트래픽의 종류를 예측하고, 예측결과를 상기 통신장치(200)나 상기 트래픽 모니터링 장치(600)로 출력한다(S630).
이에 따라 네트워크 서비스를 수행하는 통신사업자 측에서는 해당 가입자 측의 네트워크 트래픽 예측결과를 토대로 트래픽에 관련된 정책이나 계획을 수립하여 적용한다(S640).
한편, 상기 S600 단계에서 수행되는 가입자 측의 네트워크 트래픽 종류 예측은 상기 설명과 같이 네트워크 트래픽 분류장치(400)에서 직접 처리하지 않고, 가입자 측에 구비된 통신장치(200)에 직접 접속되어 해당 통신장치(200)의 네트워크 트래픽을 모니터링하는 트래픽 모니터링 장치(600)를 사용하여 수행할 수 있다.
이 경우 상기 트래픽 모니터링 장치(600)는 상기 통신장치(200)에서 송수신되는 데이터 패킷을 기 저장된 예측모델(즉 상기 네트워크 트래픽 분류장치(400)에서 생성한 것으로서, 주기적으로 업데이트하여 저장하여 보관중인 예측모델)의 입력으로 하여 네트워크 트래픽의 종류를 예측한다.
이에 따라 본 발명은 네트워크 트래픽 데이터를 패킷 단위의 이미지 형태로 된 데이터 세트로 변환하고, 이를 CNN 모델을 통해 학습하여 네트워크 트래픽에 대한 분류의 정확도를 높일 수 있으므로 기계학습에 의한 트래픽의 분류를 통해 네트워크 트래픽의 통계적인 특징을 손쉽게 파악할 수 있으며, 이를 토대로 네트워크 트래픽에 관련된 정책이나 계획을 수립하는데 효과적으로 활용할 수 있다.
특히, 본 발명은 단일 패킷의 페이로드들만을 CNN 모델의 입력 데이터 세트로 적용하였기 때문에 학습결과를 통해 연구자들이 패킷 페이로드 내부에는 종래에는 파악하지 못했던 특징이 존재할 수 있다는 가정을 세워 네트워크 트래픽에 관련된 연구를 활발하게 진행할 수 있다.
또한, 본 발명은 가입자 측의 네트워크 트래픽 데이터를 상기 예측모델에 적용하여 네트워크 트래픽의 종류를 간단하게 예측할 수 있기 때문에 통신서비스 사업자 측에서 네트워크 트래픽의 예측결과를 토대로 트래픽 정책의 수립이나 적용이 용이하다.
다음에는, 본 발명의 네트워크 트래픽 정제, 패킷 단위 이미지 형식의 데이터 변환, CNN 모델을 이용한 학습 및 분류 정확도의 평가 등에 관련된 구체적인 실시예에 대하여 도 9 내지 도 18을 참조하여 보다 구체적으로 설명한다.
도 9 내지 도 18은 본 발명의 네트워크 트래픽 분류과정에서 사용되는 각종 데이터 및 분석결과를 각각 나타낸 도면이다.
본 발명의 네트워크 트래픽 분류장치(400)는 네트워크 트래픽 데이터인 PCAP 파일을 패킷 단위의 이미지 형태의 데이터 세트로 가공하여 CNN 모델을 통해 기계학습을 수행하고, 학습결과에 따른 평가를 수행한다. 이때 상기 PCAP 파일은 Wireshark, TCPdump 등과 같은 프로그램을 사용하여 네트워크 패킷을 캡처하여 패킷 형태로 저장한 파일로서, 본 발명에서는 브로드밴드 커뮤니케이션 리서치 그룹(Broadband Communications Research Group)으로부터 제공받은 PCAP 파일을 사용한다.
상기 네트워크 트래픽 분류장치(400)는 상기 PCAP 파일을 CNN 모델을 통해 학습을 수행하기 이전에, 애플리케이션 레이어의 페이로드를 패킷 단위로 나눈 문자열들을 이미지 데이터 형식으로 변환하기 위하여 상기 PCAP 파일을 필터링하고 축약하는 데이터 정제과정(traffic data munging)을 수행한다.
도 9에 도시된 바와 같이, 원본 PCAP 파일은 크기는 약 59GB이고, 769507개의 플로우가 존재한다. 또한 도 10에 도시된 바와 같이, 'packets_default.info'파일에는 트래픽 데이터에 대한 레이블링(labeling)이 되어 있다. 상기 레이블링은 해당 트래픽 플로우에 대한 응용타입, 프로토콜, 응용이름, 세부분류 등을 기재하는 것인데, PCAP 파일과 함께 제공받은 'packets_default.info'파일에는 플로우에 대한 레이블링이 자세하게 되어 있으며, 이를 통해 본 발명에서 정확한 레이블을 얻을 수 있게 되었다. 도 10의 'packets_default.info'의 데이터 헤더는 레이블링의 기준이 되며, 플로우 단위로 해당 플로우의 5-tuple(즉 protocol, source address, destination address, source port, destination port의 5종)과 응용타입, 응용이름이 순차적으로 파일 내에 존재하는 것을 알 수 있다.
상기 데이터 정제과정을 수행하기 이전에, 상기 네트워크 트래픽 분류장치(400)는 플로우 수를 기준으로 가장 많은 RDP, Skype, SSH, Bittorrent, HTTP-Facebook, HTTP-Google, HTTP-Wikipedia, HTTP-Youtube의 8종에 대한 레이블명을 선별하였고, 상기 8종의 레이블이 붙은 플로우들만을 PCAP 파일에서 선택하였으며, 선택된 플로우 내부 패킷의 애플리케이션 레이어 페이로드만을 필터링하여 추출하였다.
그리고 상기 네트워크 트래픽 분류장치(400)는 추출된 페이로드 데이터를 도 10의 'Application_Layer_Payload_data.info'파일의 데이터 헤더에 기준하여, 8개의 애플리케이션 레이어 페이로드 데이터 파일을 만들었다. 그리고 동일한 HTTP를 프로토콜로 사용하는 HTTP-Facebook, HTTP-Google, HTTP-Wikipedia, HTTP-Youtube의 4종의 HTTP 트래픽을 Web이란 레이블로 통합함으로써, 최종적으로 데이터 세트의 레이블을 RDP, Skype, SSH, Bittorrent, Web의 5가지 종류로 결정하였다.
또한, 상기 네트워크 트래픽 분류장치(400)는 통합과정을 거쳐 5개의 애플리케이션 레이어 페이로드 데이터 파일을 완성하였다. 상기 데이터 파일은 플로우마다 헤더정보를 가지며, 페이로드는 패킷마다 '#'의 구분자로 구분지었다. 즉 각각의 파일은 같은 레이블을 가진 플로우들의 집합으로서, 패킷들의 페이로드만을 가지고 있고, 페이로드는 패킷별로 구분되어진다. 상기 페이로드는 문자열로서, 한 문자의 크기가 4bit이다. 도 11은 이와 같은 데이터 정제를 통해 완성된 애플리케이션 레이어 페이로드 데이터 파일들의 통계 정보를 나타낸다.
상기 데이터 정제과정을 통해 애플리케이션 레이어 페이로드 데이터 파일이 생성되면, 상기 네트워크 트래픽 분류장치(400)는 정제된 네트워크 트래픽 데이터로부터 CNN 모델에 적용하기 위한 패킷 단위 이미지 형태의 데이터 세트들을 변환하는 작업을 수행하여야 한다.
상기 데이터 세트는 500,000개의 'train data'와 'train label', 5,000개의 'validation data'와 'validation label', 10,000개의 'test data'와 'test label'을 갖는다. 상기 train, validation 및 test data는 상기 데이터 정제과정을 거쳐 생성된 5개의 애플리케이션 레이어 페이로드 데이터 파일의 패킷 페이로드를 이미지로 변환하는 작업을 거친다. 하나의 데이터 포맷은, 2n×2n의 크기를 가진 2차원 어레이(Array)인데, 패킷 하나의 페이로드를 의미한다. 2차원 어레이의 한 픽셀은 2n bit의 크기를 가지고, 문자형 값을 부동소수 값으로 치환한 값을 갖는다. 즉, 2차원 어레이 패킷 데이터는 다음과 같이 그 크기를 표현할 수 있다.
패킷 데이터 : 16×16=256
256×4=1024bit(128byte)
도 12는 데이터 세트 변환작업에 의해 완성된 패킷 이미지 데이터의 형태를 표현한 것이다. 상기 패킷 이미지 데이터의 한 원소의 크기는 4bit이며, 부동소수 값으로 0에서 15사이의 값을 지닌다.
상기 train, validation, test label은 총 다섯 가지의 응용에 대한 레이블을 가지고 있으므로, 길이가 5인 원-핫 벡터(one-hot vector)로 표현한다. 이때 상기 원-핫 벡터 레이블은 하나의 요소만 1인 값을 지니는 벡터로써, 1인 값의 인덱스가 응용이름을 가리키는 레이블로 정의할 수 있다. 도 13과 도 14는 train, validation, test label을 원-핫 벡터로 표현한 것을 나타낸 도면이다.
이제, 네트워크 트래픽 데이터의 정제 및 변환작업을 수행한 이후, 상기 네트워크 트래픽 분류장치(400)는 패킷 이미지 데이터 형태의 데이터 세트들을 CNN 모델에 적용하여 학습을 수행한다.
본 발명에서 사용하는 CNN 모델은 지역 수용 영역, 컨볼루션 레이어, 풀링 레이어, 완전 연관 레이어 등으로 구성된다. 상기 지역 수용 영역은 데이터 세트로 변환된 패킷 페이로드와 레이블을 입력받는다. 패킷은 N×N 이미지 형태로써 지역 수용 영역에 (-1, N, N, 1)의 모양으로 입력된다. 이후 컨볼루션 레이어를 거치게 되는데, 컨볼루션 레이어의 각각의 뉴런이 편향이나 영역과 연결된 5×5의 가중치를 갖고 있다. 이 가중치와 편향은 모든 뉴런에서 사용하며, 이는 입력 데이터마다 위치가 변경되어도 첫 번째 은닉 레이어의 모든 뉴런은 같은 특징을 인식한다는 것을 의미한다. 본 발명의 실시예에서는 두 개의 컨볼루션 레이어를 거치는데, 첫 번째 및 두 번째 입력 은닉 레이어의 가중치와 편향의 모양은 (5, 5, 1, 32), (5, 5, 32, 64)와 같다. 컨볼루션 레이어를 지날 때마다 샘플링(Pooling) 과정도 거치게 되는데, 본 발명에서는 2×2 영역을 하나의 뉴런으로 만들게 된다. 최종적으로 샘플링된 N×N의 패킷 이미지 처리에 사용할 완전 연관된 레이어의 모양은 ((N/2)/2, (N/2)/2, 64, 1024)이다. 이때 1024의 의미는, 두 번째 은닉 레이어를 거치면서 변환된 값이 1024개의 뉴런과 완전 연관된 레이어를 형성한다는 뜻이다.
이때 상기 네트워크 트래픽 분류장치(400)에서 상기 CNN 모델을 통해 학습을 수행할 때 사용하는 패킷 단위의 이미지 데이터는 N×N의 정방행렬로서, 그 크기 여하에 따라 얼마만큼의 bit 데이터를 사용할지 결정할 수 있다. 이러한 특성에 의해 본 발명의 실시예에서는 두 가지에 초점을 맞추었는데, 첫 번째는 패킷 이미지의 축의 길이를 조절하는 것이고, 두 번째는 패킷 이미지의 하나의 문자 데이터, 즉 한 픽셀을 구성하는 원소의 크기를 조절하는 것이다.
패킷의 이미지 크기를 조절한다는 것은, 하나의 패킷이 담고 있는 페이로드의 크기를 조절한다는 말과 같다. 예를 들어, 8×8의 패킷 이미지는 64×64 bit의 크기를 갖는다. 즉 패킷 페이로드의 256bit(64Byte)까지의 데이터를 하나의 패킷 이미지 데이터로 사용한다는 것이다. 본 발명의 실시예에서는, 패킷 이미지 데이터를, 8×8, 16×16, 32×32, 64×64로 각기 다른 크기로 데이터 세트를 변환하여 CNN 모델에 학습하고 평가를 진행하였다. 진행결과 도 15에서와 같은 결과를 얻을 수 있었고, 도 16에서와 같이 패킷 이미지의 크기를 늘릴수록 높은 정확도를 보이는 것을 확인할 수 있다.
도 15 및 도 16에서 보는 바와 같이, 독립적인 패킷을 이미지로 만든 데이터 세트를 가지고 CNN 모델에 학습한 결과를 보면, 패킷 이미지의 크기를 늘렸을 때 더 좋은 정확도를 보이는데, 그 이유를 들어보자면 애플리케이션 레이어의 페이로드는 해당 응용이 사용하는 특정 프로토콜로서 정보를 주고받게 되고, 프로토콜의 특성상 형식론적, 의미론적으로 독립적이며 통신의 동기 과정이 명확하고 구별이 가능하기 때문이다. 또한, 원본 PCAP 파일을 분석한 결과, RDP는 RFC 1006 TPKT 프로토콜과 ISO 8073 COTP를 사용했는데, 이 프로토콜의 헤더 데이터를 본 발명에서 사용한 패킷 이미지 데이터 크기로 환산한다면, 288 bit에 해당하고, 16×16인 패킷 이미지 하나보다 조금 더 큰 것이다. 이를 비추어 생각해 보면, 패킷 이미지 데이터의 크기를 늘릴 때, 페이로드의 프로토콜 헤더 데이터를 더 많이 CNN 학습에 적용시킬 수 있다는 말로 해석할 수 있다.
다음에는, 도 17과 도 18에 도시된 것과 같이, 32×32 크기를 가진 패킷 이미지의 기존 4 bit 크기의 원소를 2 bit 및 8 bit로 변환한 데이터 세트를 CNN 모델에 적용한 결과에 대하여 설명한다. 도 17 및 도 18은 각 원소 크기별 정확도 결과로서, 8 bit 크기의 원소에 대한 결과는 조금 더 저조한 것으로 나타났는데, 이를 통해 2 bit, 4 bit 크기의 원소가 패킷의 특징을 잡는데 적당하다는 것을 유추해 볼 수 있다.
이처럼, 본 발명에 따르면 네트워크 트래픽 데이터를 패킷 단위로 하여 CNN 모델에 학습한 결과 그 정확도가 93.58%에 달했다. 물론, 상기 정확도가 기존에 수행하였던 다른 방식들보다 높다고 할 수는 없으나, 네트워크 트래픽의 플로우가 갖는 연속성을 가지지 않는, 단일 패킷의 페이로드들만을 CNN 모델 입력 데이터 세트로 삼았기 때문에 결코 낮다고 단언할 수 없다. 또한, 본 발명의 실시 결과를 통해 패킷 페이로드 내부에는 이전에 파악하지 못했던 특징이 존재할 수 있다는 가정을 세워볼 수 있다.
이상으로 본 발명은 도면에 도시된 실시예를 참고로 하여 설명되었으나, 이는 예시적인 것에 불과하며, 당해 기술이 속하는 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 기술적 보호범위는 아래의 특허청구범위에 의해서 판단되어야 할 것이다.
100 : 네트워크 200 : 통신장치
300 : 사용자 단말 400 : 네트워크 트래픽 분류장치
410 : 데이터 정제부 420 : 데이터 변환부
430 : 학습부 440 : 정확도 산출부
450 : 데이터 인터페이스부 460 : 쿼리 입력 처리부
470 : 예측부 480 : 네트워크 인터페이스부
490 : 제어부 500 : 데이터베이스
600 : 트래픽 모니터링 장치 610 : 네트워크 인터페이스부
620 : 쿼리 입력 처리부 630 : 데이터 준비부
640 : 예측부 650 : 표시부
660 : 저장부 670 : 제어부

Claims (10)

  1. 네트워크 트래픽 데이터를 정제하는 데이터 정제부;
    상기 정제한 네트워크 트래픽 데이터를 패킷 단위의 이미지 형태로 된 데이터 세트로 변환하는 데이터 변환부; 및
    상기 변환한 데이터 세트를 CNN(Convolutional Neural Network) 모델을 통해 학습하여 예측모델을 생성하는 학습부;를 포함하며,
    상기 학습부는, 단일 패킷의 페이로드들만을 상기 CNN 모델의 입력 데이터 세트로 적용하여 학습하는 것을 특징으로 하는 CNN을 활용한 패킷 페이로드 기반의 네트워크 트래픽 분류장치.
  2. 청구항 1에 있어서,
    상기 네트워크 트래픽 분류장치는,
    가입자 측의 라우터, 스위치를 포함한 통신장치 또는 상기 통신장치에 접속되는 트래픽 모니터링 장치의 네트워크 트래픽 분류에 대한 쿼리 요청에 따라 상기 통신장치에서 송수신되는 데이터 패킷을 상기 예측모델에 적용하여 네트워크 트래픽의 종류를 예측하는 예측부;를 더 포함하는 것을 특징으로 하는 CNN을 활용한 패킷 페이로드 기반의 네트워크 트래픽 분류장치.
  3. 청구항 1에 있어서,
    상기 데이터 정제부는,
    원본 PCAP(Packet Capture) 파일에서 플로우(flow) 수를 기준으로 기 설정된 수만큼의 상위 레이블(label)을 선별하고, 상기 선별한 레이블이 붙은 플로우들을 PCAP 파일에서 선택하고, 상기 선택한 플로우 내부 패킷의 애플리케이션 레이어 페이로드만을 필터링하여 추출하며, 상기 추출한 페이로드를 기 설정된 데이터 헤더에 기준하여 애플리케이션 레이어 페이로드 데이터 파일을 완성하는 것을 특징으로 하는 CNN을 활용한 패킷 페이로드 기반의 네트워크 트래픽 분류장치.
  4. 청구항 1에 있어서,
    상기 학습부는,
    상기 데이터 변환부에서 패킷 단위의 이미지 형태로 변환한 데이터 세트를 상기 CNN 모델에 적용하여 학습을 진행할 때, 데이터 세트의 크기나 변환 형태를 고려하여 N×N의 2차원 컨볼루션 또는 1×N의 1차원 컨볼루션을 선택적으로 적용하는 것을 특징으로 하는 CNN을 활용한 패킷 페이로드 기반의 네트워크 트래픽 분류장치.
  5. 가입자 측의 라우터, 스위치를 포함한 통신장치에 접속되어 상기 통신장치의 네트워크 트래픽을 모니터링하는 것으로서,
    트래픽 모니터링 관리자의 조작을 확인하여 상기 통신장치에서 처리되는 네트워크 트래픽의 분류에 대한 쿼리를 확인하는 쿼리 입력 처리부; 및
    상기 쿼리에 따라 상기 통신장치에서 송수신되는 데이터 패킷을 기 저장된 예측모델에 적용하여 네트워크 트래픽의 종류를 예측하는 예측부;를 포함하며,
    상기 예측모델은, 정제된 네트워크 트래픽 데이터를 패킷 단위의 이미지 형태로 된 데이터 세트로 변환한 데이터 세트를 CNN 모델을 통해 학습하여 생성되는 것으로서, 네트워크 트래픽 분류장치에서 단일 패킷의 페이로드들만을 상기 CNN 모델의 입력 데이터 세트로 적용하여 학습한 결과를 토대로 생성되는 것을 특징으로 하는 트래픽 모니터링 장치.
  6. 네트워크 트래픽 분류장치에서, 네트워크 트래픽 데이터를 정제하는 데이터 정제 단계;
    상기 네트워크 트래픽 분류장치에서, 상기 정제한 네트워크 트래픽 데이터를 패킷 단위의 이미지 형태로 된 데이터 세트로 변환하는 데이터 변환 단계; 및
    상기 네트워크 트래픽 분류장치에서, 상기 변환한 데이터 세트를 CNN 모델을 통해 학습하여 예측모델을 생성하는 학습 단계;를 포함하며,
    상기 학습 단계는, 단일 패킷의 페이로드들만을 상기 CNN 모델의 입력 데이터 세트로 적용하여 학습하는 것을 특징으로 하는 CNN을 활용한 패킷 페이로드 기반의 네트워크 트래픽 분류방법.
  7. 청구항 6에 있어서,
    상기 네트워크 트래픽 분류방법은,
    가입자 측의 라우터, 스위치를 포함한 통신장치 또는 상기 통신장치에 접속되는 트래픽 모니터링 장치의 네트워크 트래픽 분류에 대한 쿼리 요청에 따라 상기 통신장치에서 송수신되는 데이터 패킷을 상기 예측모델에 적용하여 네트워크 트래픽의 종류를 예측하는 예측 단계;를 더 포함하는 것을 특징으로 하는 CNN을 활용한 패킷 페이로드 기반의 네트워크 트래픽 분류방법.
  8. 청구항 6에 있어서,
    상기 데이터 정제 단계는,
    상기 네트워크 트래픽 분류장치에서, PCAP 파일로부터 플로우 수를 기준으로 기 설정된 수만큼의 상위 레이블을 선별하는 레이블 선별 단계;
    상기 선별한 레이블이 붙은 플로우들을 상기 PCAP 파일에서 선택하는 플로우 선택 단계;
    상기 선택한 플로우 내부 패킷의 애플리케이션 레이어 페이로드만을 필터링하여 추출하는 페이로드 추출 단계; 및
    상기 추출한 페이로드를 기 설정된 데이터 헤더에 기준하여 애플리케이션 레이어 페이로드 데이터 파일을 완성하는 페이로드 데이터 생성 단계;를 포함하는 것을 특징으로 하는 CNN을 활용한 패킷 페이로드 기반의 네트워크 트래픽 분류방법.
  9. 청구항 6에 있어서,
    상기 학습 단계는,
    상기 데이터 변환 단계에서 패킷 단위의 이미지 형태로 변환한 데이터 세트를 상기 CNN 모델에 적용하여 학습을 진행할 때, 데이터 세트의 크기나 변환 형태를 고려하여 N×N의 2차원 컨볼루션 또는 1×N의 1차원 컨볼루션을 선택적으로 적용하는 것을 특징으로 하는 CNN을 활용한 패킷 페이로드 기반의 네트워크 트래픽 분류방법.
  10. 청구항 6에 있어서,
    상기 예측모델은,
    가입자 측의 라우터, 스위치를 포함한 통신장치에 접속되는 트래픽 모니터링 장치에 구비될 수 있으며,
    상기 통신장치에서 송수신되는 데이터 패킷을 입력으로 하여 네트워크 트래픽의 종류를 예측하는 것을 특징으로 하는 CNN을 활용한 패킷 페이로드 기반의 네트워크 트래픽 분류방법.
KR1020170049875A 2017-04-18 2017-04-18 Cnn을 활용한 패킷 페이로드 기반의 네트워크 트래픽 분류시스템 KR101953672B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170049875A KR101953672B1 (ko) 2017-04-18 2017-04-18 Cnn을 활용한 패킷 페이로드 기반의 네트워크 트래픽 분류시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170049875A KR101953672B1 (ko) 2017-04-18 2017-04-18 Cnn을 활용한 패킷 페이로드 기반의 네트워크 트래픽 분류시스템

Publications (2)

Publication Number Publication Date
KR20180116934A true KR20180116934A (ko) 2018-10-26
KR101953672B1 KR101953672B1 (ko) 2019-03-04

Family

ID=64098985

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170049875A KR101953672B1 (ko) 2017-04-18 2017-04-18 Cnn을 활용한 패킷 페이로드 기반의 네트워크 트래픽 분류시스템

Country Status (1)

Country Link
KR (1) KR101953672B1 (ko)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110177122A (zh) * 2019-06-18 2019-08-27 国网电子商务有限公司 一种识别网络安全风险的模型建立方法及装置
CN111026917A (zh) * 2019-11-07 2020-04-17 中国科学院计算技术研究所 一种基于卷积神经网络的数据包分类方法及系统
CN112671757A (zh) * 2020-12-22 2021-04-16 无锡江南计算技术研究所 一种基于自动机器学习的加密流量协议识别方法及装置
CN113556328A (zh) * 2021-06-30 2021-10-26 杭州电子科技大学 基于深度学习的加密流量分类方法
CN113743654A (zh) * 2021-08-11 2021-12-03 青岛港国际股份有限公司 自动化码头闸口车流量预警方法
KR20220049932A (ko) * 2020-10-15 2022-04-22 한국전자기술연구원 인공지능 알고리즘의 정확도 향상을 위한 데이터 변환 방법 및 시스템
WO2022191596A1 (ko) * 2021-03-11 2022-09-15 주식회사 씨티아이랩 오토프로파일링 기반 네트워크 패킷 이상행위 자동 탐지 장치 및 방법

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109887290B (zh) * 2019-03-30 2021-03-23 西安电子科技大学 基于平衡指数平滑法和栈式自编码器的交通流预测方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101679578B1 (ko) * 2015-05-27 2016-11-25 주식회사 윈스 IoT 보안을 위한 제어 서비스 제공 장치 및 방법
KR20160145482A (ko) * 2015-06-10 2016-12-20 삼성전자주식회사 스파이킹 신경망을 구현하는 방법 및 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101679578B1 (ko) * 2015-05-27 2016-11-25 주식회사 윈스 IoT 보안을 위한 제어 서비스 제공 장치 및 방법
KR20160145482A (ko) * 2015-06-10 2016-12-20 삼성전자주식회사 스파이킹 신경망을 구현하는 방법 및 장치

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
‘The applications of deep learning on traffic identification’, black hat USA 2015, 2015.08.06.* *
‘컨볼루션 신경망 기반 대용량 텍스트 데이터 분류 기술’, 한국정보과학회 2015년 동계학술발표회, pp.792-794, 2015.12.* *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110177122A (zh) * 2019-06-18 2019-08-27 国网电子商务有限公司 一种识别网络安全风险的模型建立方法及装置
CN111026917A (zh) * 2019-11-07 2020-04-17 中国科学院计算技术研究所 一种基于卷积神经网络的数据包分类方法及系统
CN111026917B (zh) * 2019-11-07 2021-07-20 中国科学院计算技术研究所 一种基于卷积神经网络的数据包分类方法及系统
KR20220049932A (ko) * 2020-10-15 2022-04-22 한국전자기술연구원 인공지능 알고리즘의 정확도 향상을 위한 데이터 변환 방법 및 시스템
CN112671757A (zh) * 2020-12-22 2021-04-16 无锡江南计算技术研究所 一种基于自动机器学习的加密流量协议识别方法及装置
CN112671757B (zh) * 2020-12-22 2023-10-31 无锡江南计算技术研究所 一种基于自动机器学习的加密流量协议识别方法及装置
WO2022191596A1 (ko) * 2021-03-11 2022-09-15 주식회사 씨티아이랩 오토프로파일링 기반 네트워크 패킷 이상행위 자동 탐지 장치 및 방법
CN113556328A (zh) * 2021-06-30 2021-10-26 杭州电子科技大学 基于深度学习的加密流量分类方法
CN113743654A (zh) * 2021-08-11 2021-12-03 青岛港国际股份有限公司 自动化码头闸口车流量预警方法

Also Published As

Publication number Publication date
KR101953672B1 (ko) 2019-03-04

Similar Documents

Publication Publication Date Title
KR101953672B1 (ko) Cnn을 활용한 패킷 페이로드 기반의 네트워크 트래픽 분류시스템
Gu et al. Machine learning for intelligent optical networks: A comprehensive survey
Cui et al. A survey on application of machine learning for Internet of Things
CN112203282B (zh) 一种基于联邦迁移学习的5g物联网入侵检测方法及系统
TWI601077B (zh) 媒體內容分析系統與方法
CN112564974B (zh) 一种基于深度学习的物联网设备指纹识别方法
CN110198237A (zh) 一种无线意图驱动网络的配置方法
CN102256266A (zh) 一种面向用户应用的自适应接入网络选择实现装置及方法
Xu et al. Data-cognition-empowered intelligent wireless networks: Data, utilities, cognition brain, and architecture
US20230049550A1 (en) Making an Enabled Capability
CN113727420A (zh) 一种多模接入网络选择装置及方法
Rani et al. Blockchain-based IoT enabled health monitoring system
CN117290668B (zh) 一种基于工业互联网平台的大数据处理方法和系统
Sivakumar et al. Prediction of traffic load in wireless network using time series model
CN112492591B (zh) 一种电力物联网终端接入网络的方法及装置
Alsulami et al. A real application enabled traffic generator for networking ai model development
Elhaloui et al. Machine learning for internet of things classification using network traffic parameters
CN110072197A (zh) 一种应急通信传输信道优选智能切换选择方法
CN115102767A (zh) 一种基于分布式协作学习的DDoS主动防御系统及方法
Andrushchak et al. Intelligent traffic engineering for future intent-based software-defined transport network
CN116032515A (zh) 一种在SDN上基于Transformer的DDoS攻击检测方法
CN114422207A (zh) 基于多模态的c&c通信流量检测方法及装置
CN113452810A (zh) 一种流量分类方法、装置、设备和介质
CN112134876A (zh) 流量识别系统及方法、服务器
CN112884168A (zh) 用于跨站点学习的系统和方法

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