KR101953672B1 - System for packet payload-based network traffic classification using convolutional neural network - Google Patents

System for packet payload-based network traffic classification using convolutional neural network Download PDF

Info

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

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을 활용한 패킷 페이로드 기반의 네트워크 트래픽 분류시스템에 관한 것이다.The present invention transforms network traffic data into a data set in the form of an image of a packet unit, learns the converted data set through a CNN (Convolutional Neural Network) model, and improves the classification accuracy of the network traffic based on the CNN Based network traffic that uses CNN to easily identify the statistical characteristics of network traffic through classification of network traffic by machine learning and to easily establish policies and plans related to network traffic based on the statistical characteristics of network traffic. Classification system.

Description

CNN을 활용한 패킷 페이로드 기반의 네트워크 트래픽 분류시스템{SYSTEM FOR PACKET PAYLOAD-BASED NETWORK TRAFFIC CLASSIFICATION USING CONVOLUTIONAL NEURAL NETWORK}BACKGROUND OF THE INVENTION 1. Field of the Invention [0001] The present invention relates to a network traffic classification system based on packet payload using CNN,

본 발명은 CNN(Convolutional Neural Network)을 활용한 네트워크 트래픽 분류에 관한 것으로, 더욱 상세하게는 네트워크 트래픽 데이터를 정제하여 패킷 단위의 이미지 형태로 된 데이터 세트로 변환하고, 변환한 데이터 세트를 CNN 모델을 통해 학습하며, 이를 토대로 네트워크 트래픽에 대한 분류의 정확도를 높임으로써, 기계학습에 의한 네트워크 트래픽의 분류를 통해 네트워크 트래픽의 통계적인 특징을 손쉽게 파악하고, 이를 토대로 네트워크 트래픽에 관련된 정책이나 계획을 용이하게 수립할 수 있는 CNN을 활용한 패킷 페이로드 기반의 네트워크 트래픽 분류시스템에 관한 것이다.More particularly, the present invention relates to network traffic classification using CNN (Convolutional Neural Network), more specifically, to refine network traffic data and convert it into a data set in the form of an image of a packet unit, Based on this, the classification accuracy of the network traffic is increased, and it is easy to grasp the statistical characteristics of the network traffic through the classification of the network traffic by the machine learning, and the policy and the plan related to the network traffic can be easily And more particularly, to a network traffic classification system based on packet payload using CNN that can be established.

최근의 IoT(Internet of Things, 사물인터넷) 시대 네트워크에서는 다양한 형태의 응용 및 서비스가 운영되고 있으며, 네트워크의 특성상 기존의 수동적인 방식에서는 지금까지와는 차원이 다른 훨씬 더 크고 다양한 규모의 트래픽 데이터가 발생하고 있다.In recent years, various types of applications and services have been operated in the Internet of Things (IOT) network. Due to the nature of the network, traffic data of a much larger and diverse size have.

이에 따라 사람이 직접 해야 할 데이터 분석과 관리범위가 상당히 넓어지고 있으며, 경량화 및 자동화된 망의 구축이 필요함에 따라 딥러닝(deep learning) 기법의 활용도가 점차 높아지고 있다.As a result, the range of data analysis and management that must be performed by a person is greatly expanded, and the use of deep learning techniques is gradually increasing due to the need for lightweight and automated network construction.

상기 딥러닝 관련 기법에는 대표적으로 MNN(Multi-layer Neural Network) 모델, CNN 모델, RNN(Recurrent Neural Network) 모델 등이 있다.Examples of the deep learning related techniques include a Multi-layer Neural Network (MNN) model, a CNN model, and an RNN (Recurrent Neural Network) model.

상기 MNN은 약 3개에서 7개까지의 히든 레이어(Hidden Layer)로 구성된 기본적인 딥러닝 모델이다.The MNN is a basic deep-running model composed of about 3 to 7 hidden layers.

상기 CNN은 지역 수용 영역(Local Receptive Fields)과 컨볼루션 레이어(Convolutional Layer), 풀링 레이어(Pooling Layer) 등으로 구성되어 있는 신경망으로서, 이미지 분석에 대표적으로 쓰이고 있는 딥러닝 기법이다. 상기 CNN은 사람이 물체를 인식할 때 물체의 기본적인 특징들을 추출한 다음 뇌 속에서 복잡한 계산을 거쳐 그 결과를 기반으로 물체를 인식한다는 가정을 토대로 만들어진 사람의 뇌 기능을 모사한 모델이다. 상기 CNN에서는 기본적으로 컨볼루션(convolution) 연산을 통해 영상의 특징을 추출하기 위한 다양한 필터와 비선형적인 특성을 더하기 위한 풀링(pooling) 또는 비선형 활성화(non-linear activation) 함수 등이 함께 사용된다.The CNN is a neural network composed of Local Receptive Fields, a Convolutional Layer, and a Pooling Layer, and is a typical deep-learning technique used for image analysis. The CNN is a model that simulates a human brain function based on the assumption that a person extracts basic features of an object when he or she recognizes the object, then undergoes complicated calculations in the brain, and recognizes the object based on the result. The CNN basically uses various filters for extracting features of an image through convolution operations and a pooling or non-linear activation function for adding nonlinear characteristics.

본 발명은 상기 딥러닝 기법 중에서 CNN 모델을 활용한 것으로서, 네트워크 트래픽 데이터를 플로우(flow) 수를 기준으로 복수 개의 상위 레이블(label)로 선별한 후 내부 패킷의 페이로드만을 필터링하여 정제하고, 정제된 네트워크 트래픽 데이터를 패킷 단위의 이미지 형태로 된 데이터 세트로 변환하며, 변환한 데이터 세트를 CNN 모델을 통해 학습하여 네트워크 트래픽에 대한 분류의 정확도를 높일 수 있는 방안을 제시한 것이다.The present invention utilizes the CNN model among the deep learning techniques. The CNN model is used to filter network traffic data by a plurality of upper labels based on the number of flows, filter and refine only payloads of internal packets, This paper proposes a method to improve the classification accuracy of the network traffic by converting the network traffic data into the data set with the image form of packet unit and learning the converted data set through the CNN model.

다음으로 본 발명의 기술분야에 존재하는 선행기술에 대하여 간단하게 설명하고, 이어서 본 발명이 상기 선행기술에 비해서 차별적으로 이루고자 하는 기술적 사항에 대해서 기술하고자 한다.Next, a brief description will be given of the prior arts that exist in the technical field of the present invention, and technical matters which the present invention intends to differentiate from the prior arts will be described.

먼저 비특허 문헌 Machine Learning 알고리즘을 적용한 인터넷 애플리케이션 트래픽 분류(KNOM Review, Vol. 10, No.2, Dec. 2007)는 2개 이상의 port 번호를 동적으로 할당 받아 사용하는 애플리케이션을 포함하는 트래픽 분류를 수행하기 위해서 각 애플리케이션에서 발생하는 패킷을 호스트와 인터넷 링크에서 수집한다. 그리고 분류하려는 애플리케이션은 NGMON을 참조하여 POSTECH에서 가장 많이 사용되는 상위 20위 안팎의 것들 중 13개를 선택한다. 그리고 인터넷 애플리케이션 트래픽 분류의 정확도가 가장 놓은 결과를 보이는 ML 알고리즘과 feature set을 제시하고 있다.First, the Internet application traffic classification (KNOM Review, Vol. 10, No. 2, Dec. 2007) applying the non-patent document Machine learning algorithm classifies traffic including application that dynamically allocates two or more port numbers To collect packets from each application on the host and Internet link. And the applications that you want to classify refer to NGMON and choose 13 out of the top 20 most used POSTECH. And ML algorithm and feature set that show the most accurate results of Internet application traffic classification are presented.

상기 선행기술은 기계학습을 이용하여 트래픽을 분류하는 점에서 본 발명의 구성과 일부 유사점이 있으나, 그 구체적인 접근 방법에 있어서는 본 발명에서 제시하는 CNN 모델을 이용하는 것과 관련이 없다. 또한, 상기 선행기술은 비지도 학습에 의한 분류기법에 대해서만 논의하고 있을 뿐, 본 발명의 네트워크 트래픽을 정제하는 수단과 CNN에 의한 트래픽 분석에 대하여 아무런 기재가 없으며, 본 발명의 CNN 기술을 적용한 것이 아니기 때문에 데이터의 이미지 과정이 필요 없는 점에서 기술적 구성의 차이점이 명확하다.Although the prior art has some similarities with the present invention in that it classifies traffic using machine learning, its concrete approach is not related to the use of the CNN model presented in the present invention. In addition, the prior art discusses only the classification technique based on non-geographic learning. However, there is no description about the means for refining network traffic and the traffic analysis by CNN of the present invention, and the CNN technique of the present invention is applied The difference in the technical structure is clear in that the image process of the data is not necessary.

또한, 비특허 문헌 통계 시그니처 기반의 응용 트래픽 분류(한국통신학회논문지 '09-11 Vol. 34 No. 11)는 학내 망에서 인터넷으로 오가는 모든 트래픽을 대상으로 하는 것으로서, 응용 계층의 트래픽을 분류하는 것이 목적으로 하고 있으며, 포트 기반의 분류, 페이로드 기반의 분류, 머신러닝 기반의 분류 방법들을 제시하고 있다.In addition, the application traffic classification based on the statistical signature of non-patent documents (Korea Telecommunication Society '09 -11 Vol. 34 No. 11) covers all the traffic from the intra-campus network to the Internet, This paper proposes port based classification, payload based classification, and machine learning based classification methods.

상기 선행기술은 트래픽 분류를 수행한다는 점에서 본 발명의 구성과 일부 유사성이 있으나, 그 구체적인 접근 방법에 있어서는 본 발명의 CNN을 이용하는 것과 전혀 관련이 없는 통계 시그니처를 통한 응용 트래픽 분류 방법론을 제안하고 있다. 또한, 상기 선행기술은 본 발명의 트래픽을 정제하는 수단과 CNN에 의한 트래픽 분석에 대한 구성이 전혀 제시되어 있지 않으며 이와 관련된 그 어떠한 암시도 되어 있지 않다.Although the prior art has some similarities with the configuration of the present invention in that it carries out traffic classification, it proposes a method of classifying application traffic through statistical signatures which are not related to the CNN of the present invention in the concrete approach . In addition, the prior art does not disclose the means for refining traffic of the present invention and the configuration for traffic analysis by CNN, and nothing is implied in connection therewith.

즉 상기 언급한 각각의 선행기술들은 본 발명에서 제시하고 있는 네트워크 트래픽 데이터를 정제하고, 정제한 네트워크 트래픽 데이터를 패킷 단위의 이미지 형태로 된 데이터 세트로 변환하여 CNN 모델을 통해 학습하는 구성을 전혀 제시하고 있지 못하므로 본 발명의 기술적 구성과 비교할 때 차이점이 분명하며, CNN 모델을 이용한 기계학습 수행을 토대로 한 트래픽의 분류를 통해 트래픽의 특징을 파악하여 네트워크 계획을 세우는데 효과적으로 활용할 수 있는 점에서도 기술적 차이가 분명한 것이다.That is, each of the prior arts described above refines the network traffic data presented in the present invention and converts the refined network traffic data into a data set in the form of an image of a packet unit, and learns through the CNN model The CNN model can be used effectively to classify the traffic based on the classification of the traffic based on the CNN model, The difference is obvious.

본 발명은 상기와 같은 문제점을 해결하기 위해 창작된 것으로서, 네트워크 트래픽 데이터를 정제하여 패킷 단위의 이미지 형태로 된 데이터 세트로 변환하고, 패킷 단위로 변환한 데이터 세트를 CNN 모델을 통해 학습하여 예측모델을 생성하며, 이를 토대로 네트워크 트래픽에 대한 분류의 정확도를 높일 수 있도록 하는 CNN을 활용한 패킷 페이로드 기반의 네트워크 트래픽 분류시스템을 제공하는 것을 목적으로 한다.SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and it is an object of the present invention to refine network traffic data and convert it into a data set in an image form of packet unit, And to provide a network traffic classification system based on a packet payload using CNN that can increase the accuracy of classification of network traffic based on the generated traffic payload.

또한, 본 발명은 네트워크 트래픽 데이터를 패킷 단위의 이미지 형태로 된 데이터 세트로 변환할 때, 데이터 세트의 이미지 크기 및 원소의 비트 크기를 각기 다르게 변환하여 CNN 모델을 통해 학습을 수행함으로써, 패킷 단위의 이미지 크기에 따른 네트워크 트래픽 분류의 정확도를 비교 평가할 수 있도록 하는 CNN을 활용한 패킷 페이로드 기반의 네트워크 트래픽 분류시스템을 제공하는 것을 다른 목적으로 한다.In addition, when converting network traffic data into a data set in the form of an image of a packet unit, the image size of the data set and the bit size of the element are converted differently and learning is performed through the CNN model, It is another object of the present invention to provide a network traffic classification system based on packet payload that utilizes CNN to compare and evaluate the accuracy of network traffic classification according to image size.

또한, 본 발명은 패킷 단위의 이미지 형태로 변환한 데이터 세트를 CNN 모델에 적용하여 학습을 수행할 때, 학습에 이용되는 데이터 세트의 크기나 변환 형태를 고려하여 N×N의 2차원 컨볼루션은 물론, 1×N의 1차원 컨볼루션을 선택적으로 적용할 수 있도록 하는 CNN을 활용한 패킷 페이로드 기반의 네트워크 트래픽 분류시스템을 제공하는 것을 또 다른 목적으로 한다.In addition, when learning is performed by applying a data set converted into an image form of a packet unit to a CNN model, the N × N two-dimensional convolution is performed in consideration of the size of a data set used for learning, It is another object of the present invention to provide a network traffic classification system based on a packet payload that utilizes CNN to selectively apply a 1-dimensional 1-dimensional convolution of 1 × N.

또한, 본 발명은 가입자 측의 네트워크 트래픽 분류에 대한 쿼리 요청에 따라 해당 가입자 측의 네트워크 트래픽 데이터를 정제한 후 패킷 단위의 이미지 형태의 데이터 세트로 변환하고, 변환한 데이터 세트를 예측모델에 적용하여 네트워크 트래픽의 종류를 예측하며, 예측 결과를 토대로 트래픽 정책을 수립하여 적용할 수 있도록 하는 CNN을 활용한 패킷 페이로드 기반의 네트워크 트래픽 분류시스템을 제공하는 것을 또 다른 목적으로 한다.In addition, the present invention refines the network traffic data on the subscriber side in response to a query request for the network traffic classification on the subscriber side, converts the network traffic data into a data set of an image type of a packet unit, applies the converted data set to the prediction model Another object of the present invention is to provide a network traffic classification system based on a packet payload using CNN, which predicts the type of network traffic and establishes and applies a traffic policy based on a prediction result.

본 발명의 일 실시예에 따른 CNN을 활용한 패킷 페이로드 기반의 네트워크 트래픽 분류장치는, 네트워크 트래픽 데이터를 정제하는 데이터 정제부; 상기 정제한 네트워크 트래픽 데이터를 패킷 단위의 이미지 형태로 된 데이터 세트로 변환하는 데이터 변환부; 및 상기 변환한 데이터 세트를 CNN 모델을 통해 학습하여 예측모델을 생성하는 학습부;를 포함하며, 상기 학습부는, 단일 패킷의 페이로드들만을 상기 CNN 모델의 입력 데이터 세트로 적용하여 학습하는 것을 특징으로 한다.According to an embodiment of the present invention, there is provided an apparatus for classifying network traffic based on packet payload using CNN, comprising: a data refining unit for refining network traffic data; A data conversion unit for converting the refined network traffic data into a data set in the form of an image of a packet unit; And a learning unit that learns the transformed data set through a CNN model to generate a predictive model. The learning unit learns by applying only payloads of a single packet to an input data set of the CNN model .

그리고 상기 네트워크 트래픽 분류장치는, 가입자 측의 라우터, 스위치를 포함한 통신장치 또는 상기 통신장치에 접속되는 트래픽 모니터링 장치의 네트워크 트래픽 분류에 대한 쿼리 요청에 따라 상기 통신장치에서 송수신되는 데이터 패킷을 상기 예측모델에 적용하여 네트워크 트래픽의 종류를 예측하는 예측부;를 더 포함하는 것을 특징으로 한다.The network traffic classification apparatus may further include a prediction unit that predicts a data packet transmitted and received by the communication apparatus according to a query request for a network traffic classification of a router, a communication apparatus including a switch, or a traffic monitoring apparatus connected to the communication apparatus, And a predictor for predicting the type of network traffic by applying the method of the present invention.

그리고 상기 데이터 정제부는, 원본 PCAP(Packet Capture) 파일에서 플로우 수를 기준으로 기 설정된 수만큼의 상위 레이블을 선별하고, 상기 선별한 레이블이 붙은 플로우들을 PCAP 파일에서 선택하고, 상기 선택한 플로우 내부 패킷의 애플리케이션 레이어 페이로드만을 필터링하여 추출하며, 상기 추출한 페이로드를 기 설정된 데이터 헤더에 기준하여 애플리케이션 레이어 페이로드 데이터 파일을 완성하는 것을 특징으로 한다.The data refiner selects a predetermined number of upper labels based on the number of flows in the original PCAP (Packet Capture) file, selects the labeled labels from the PCAP file, Extracting only an application layer payload and extracting the application layer payload, and completing the application layer payload data file based on the extracted payload with a predetermined data header.

그리고 상기 학습부는, 상기 데이터 변환부에서 패킷 단위의 이미지 형태로 변환한 데이터 세트를 상기 CNN 모델에 적용하여 학습을 진행할 때, 데이터 세트의 크기나 변환 형태를 고려하여 N×N의 2차원 컨볼루션 또는 1×N의 1차원 컨볼루션을 선택적으로 적용하는 것을 특징으로 한다.The learning unit applies the data set converted into the image form of the packet unit in the data conversion unit to the CNN model to perform learning, Or one-dimensional convolution of 1 x N is selectively applied.

또한, 본 발명의 일 실시예에 따른 트래픽 모니터링 장치는, 가입자 측의 라우터, 스위치를 포함한 통신장치에 접속되어 상기 통신장치의 네트워크 트래픽을 모니터링하는 것으로서, 트래픽 모니터링 관리자의 조작을 확인하여 상기 통신장치에서 처리되는 네트워크 트래픽의 분류에 대한 쿼리를 확인하는 쿼리 입력 처리부; 및 상기 쿼리에 따라 상기 통신장치에서 송수신되는 데이터 패킷을 기 저장된 예측모델에 적용하여 네트워크 트래픽의 종류를 예측하는 예측부;를 포함하며, 상기 예측모델은, 정제된 네트워크 트래픽 데이터를 패킷 단위의 이미지 형태로 된 데이터 세트로 변환한 데이터 세트를 CNN 모델을 통해 학습하여 생성되는 것으로서, 네트워크 트래픽 분류장치에서 단일 패킷의 페이로드들만을 상기 CNN 모델의 입력 데이터 세트로 적용하여 학습한 결과를 토대로 생성되는 것을 특징으로 한다.The traffic monitoring apparatus according to an embodiment of the present invention is connected to a communication device including a router on the subscriber side and a switch and monitors network traffic of the communication device, A query input processing unit for confirming a query for classification of network traffic processed in the network; And a predictor for predicting a type of network traffic by applying a data packet transmitted and received in the communication device according to the query to a pre-stored prediction model, wherein the prediction model is configured to map the refined network traffic data to an image Is generated by learning the data set converted into the data set of the CNN model through the CNN model and is generated based on the result of applying the payloads of only a single packet to the input data set of the CNN model in the network traffic classifying apparatus .

또한, 본 발명의 일 실시예에 따른 CNN을 활용한 패킷 페이로드 기반의 네트워크 트래픽 분류방법은, 네트워크 트래픽 분류장치에서, 네트워크 트래픽 데이터를 정제하는 데이터 정제 단계; 상기 네트워크 트래픽 분류장치에서, 상기 정제한 네트워크 트래픽 데이터를 패킷 단위의 이미지 형태로 된 데이터 세트로 변환하는 데이터 변환 단계; 및 상기 네트워크 트래픽 분류장치에서, 상기 변환한 데이터 세트를 CNN 모델을 통해 학습하여 예측모델을 생성하는 학습 단계;를 포함하며, 상기 학습 단계는, 단일 패킷의 페이로드들만을 상기 CNN 모델의 입력 데이터 세트로 적용하여 학습하는 것을 특징으로 한다.In addition, the method for classifying network traffic based on packet payload using CNN according to an embodiment of the present invention includes: a data refining step of refining network traffic data in a network traffic classifying apparatus; A data conversion step of converting the refined network traffic data into a data set in the form of an image of a packet unit in the network traffic classification apparatus; And a learning step of, in the network traffic classifying apparatus, learning the transformed data set through a CNN model to generate a predictive model, wherein the learning step is a step of classifying only payloads of a single packet into input data As a set.

그리고 상기 네트워크 트래픽 분류방법은, 가입자 측의 라우터, 스위치를 포함한 통신장치 또는 상기 통신장치에 접속되는 트래픽 모니터링 장치의 네트워크 트래픽 분류에 대한 쿼리 요청에 따라 상기 통신장치에서 송수신되는 데이터 패킷을 상기 예측모델에 적용하여 네트워크 트래픽의 종류를 예측하는 예측 단계;를 더 포함하는 것을 특징으로 한다.According to another aspect of the present invention, there is provided a method of classifying network traffic, the method comprising: receiving a data packet transmitted from the communication device in accordance with a query request for a network traffic classification of a router, a communication device including a switch, And a prediction step of estimating a type of network traffic.

그리고 상기 데이터 정제 단계는, 상기 네트워크 트래픽 분류장치에서, PCAP 파일로부터 플로우 수를 기준으로 기 설정된 수만큼의 상위 레이블을 선별하는 레이블 선별 단계; 상기 선별한 레이블이 붙은 플로우들을 상기 PCAP 파일에서 선택하는 플로우 선택 단계; 상기 선택한 플로우 내부 패킷의 애플리케이션 레이어 페이로드만을 필터링하여 추출하는 페이로드 추출 단계; 및 상기 추출한 페이로드를 기 설정된 데이터 헤더에 기준하여 애플리케이션 레이어 페이로드 데이터 파일을 완성하는 페이로드 데이터 생성 단계;를 포함하는 것을 특징으로 한다.And the data refining step may include a label sorting step of sorting a predetermined number of upper labels based on the number of flows from the PCAP file in the network traffic classification apparatus; A flow selecting step of selecting the labeled flows in the PCAP file; A payload extracting step of extracting only an application layer payload of the selected flow internal packet by filtering; And a payload data generation step of completing an application layer payload data file based on the extracted payload based on a predetermined data header.

그리고 상기 학습 단계는, 상기 데이터 변환 단계에서 패킷 단위의 이미지 형태로 변환한 데이터 세트를 상기 CNN 모델에 적용하여 학습을 진행할 때, 데이터 세트의 크기나 변환 형태를 고려하여 N×N의 2차원 컨볼루션 또는 1×N의 1차원 컨볼루션을 선택적으로 적용하는 것을 특징으로 한다.In the learning step, when learning is performed by applying the data set converted into the image form of the packet unit to the CNN model in the data conversion step, the N × N two-dimensional convol Or a one-dimensional convolution of 1 x N is selectively applied.

그리고 상기 예측모델은, 가입자 측의 라우터, 스위치를 포함한 통신장치에 접속되는 트래픽 모니터링 장치에 구비될 수 있으며, 상기 통신장치에서 송수신되는 데이터 패킷을 입력으로 하여 네트워크 트래픽의 종류를 예측하는 것을 특징으로 한다.The prediction model may be provided in a traffic monitoring apparatus connected to a communication device including a router on a subscriber side and a switch, and the type of network traffic is predicted by receiving a data packet transmitted and received by the communication apparatus. do.

이상에서와 같이 본 발명의 CNN을 활용한 패킷 페이로드 기반의 네트워크 트래픽 분류시스템에 따르면, 네트워크 트래픽 데이터를 정제하여 패킷 단위의 이미지 형태로 된 데이터 세트로 변환하고, 패킷 단위로 변환한 데이터 세트를 CNN 모델을 통해 학습하여 예측모델을 생성하며, 이를 토대로 네트워크 트래픽에 대한 분류의 정확도를 높임으로써, 기계학습에 의한 트래픽의 분류를 통해 네트워크 트래픽의 통계적인 특징을 손쉽게 파악할 수 있는 효과가 있다.As described above, according to the packet payload-based network traffic classification system using the CNN of the present invention, the network traffic data is refined and converted into a data set in the form of an image of a packet unit, By learning through CNN model to generate predictive model and based on this, accuracy of classifying network traffic is improved, so statistical characteristics of network traffic can be easily grasped through classification of traffic by machine learning.

특히, 본 발명은 네트워크 트래픽의 플로우가 갖는 연속성을 가지지 않는 단일 패킷의 페이로드들만을 CNN 모델의 입력 데이터 세트로 적용하였기 때문에 연구자들이 이에 대한 학습결과를 통해 패킷 페이로드 내부에는 종래에는 파악하지 못했던 특징이 존재할 수 있다는 가정을 세울 수 있고, 이를 토대로 네트워크 트래픽에 관련된 연구를 활발하게 수행할 수 있는 효과가 있다.In particular, since the present invention applies only a single packet payload that does not have the continuity of the flow of network traffic as an input data set of the CNN model, researchers have learned through the learning result that packet payload It is possible to establish a hypothesis that a feature can exist and to actively carry out a research related to network traffic based on the assumption.

또한, 패킷 구조, 패킷내의 각 영역의 의미 등에 대하여 연구하거나, 복잡한 규칙을 만들어 적용할 필요가 없기 때문에 네트워크 트래픽에 관련된 정책이나 계획을 수립하기 편리한 효과가 있다.In addition, since there is no need to study the packet structure, the meaning of each area in the packet, and the like, or to create complicated rules, it is convenient to establish a policy or plan related to network traffic.

또한, CNN 모델에 적용되는 데이터 세트의 이미지 크기 및 원소의 비트 크기를 각기 다르게 하여 학습을 수행하고, 그 결과를 토대로 패킷 단위의 이미지 크기에 따른 네트워크 트래픽 분류의 정확도를 비교 평가할 수 있으므로 향후 네트워크 트래픽 데이터의 분류처리의 효율을 높일 수 있으며, 결과적으로 가입자 측에 설치되는 라우터, 스위치 등의 각종 통신장치의 품질 및 기능을 향상시킬 수 있는 효과가 있다.In addition, since learning can be performed by varying the image size and bit size of the data set applied to the CNN model, and the accuracy of the network traffic classification according to the image size of each packet can be compared and evaluated based on the result, It is possible to improve the efficiency of classification of data and consequently to improve the quality and function of various communication apparatuses such as routers and switches installed on the subscriber side.

또한, 가입자 측의 요청에 따라 해당 가입자 측의 네트워크 트래픽 데이터를 상기 예측모델에 적용하여 네트워크 트래픽의 종류를 간단하게 예측할 수 있기 때문에 통신서비스 사업자 측에서 네트워크 트래픽의 예측결과를 토대로 트래픽 정책의 수립이나 적용이 용이한 효과가 있다.Also, since the network traffic data on the subscriber side can be easily predicted by applying the network traffic data on the subscriber side to the prediction model, the type of the network traffic can be easily predicted. Therefore, It is easy to apply.

도 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 학습 결과의 정확도를 나타낸 도면이다.
1 is a conceptual diagram illustrating a process of classifying network traffic based on a packet payload using CNN to which the present invention is applied.
2 is a diagram showing an example of a CNN model applied to the present invention.
3 is a diagram schematically illustrating a configuration of a packet payload-based network traffic classification system using CNN according to an embodiment of the present invention.
FIG. 4 is a detailed block diagram of the network traffic classification apparatus of FIG. 3. Referring to FIG.
FIG. 5 is a detailed diagram illustrating the configuration of the traffic monitoring apparatus of FIG. 3. Referring to FIG.
FIG. 6 is a flowchart illustrating an operation procedure of a packet payload-based network traffic classification method using CNN according to an embodiment of the present invention.
FIG. 7 is a flowchart illustrating an operation of the network traffic data refinement of FIG. 6 in more detail.
8 is a flowchart illustrating in more detail an operation procedure of network traffic prediction and policy establishment using a prediction model according to a request of the subscriber side in FIG.
9 is a diagram illustrating flow information of a PCAP file provided from a broadband communication research group applied to an embodiment of the present invention.
10 is a diagram showing an info file data header of the PCAP file of FIG.
11 is a diagram showing statistical information of an application layer payload data file refined from the PCAP file of FIG.
12 is a diagram showing a form of packet image data completed by a data set conversion operation.
13 and 14 are diagrams showing train, validation, and test labels as circle-hot vectors.
15 and 16 are views showing the accuracy of CNN learning results for each size of packet image data.
FIGS. 17 and 18 are diagrams showing the accuracy of CNN learning results per packet image element size.

이하, 첨부한 도면을 참조하여 본 발명의 CNN을 활용한 패킷 페이로드 기반의 네트워크 트래픽 분류시스템에 대한 바람직한 실시 예를 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다. 또한 본 발명의 실시 예들에 대해서 특정한 구조적 내지 기능적 설명들은 단지 본 발명에 따른 실시 예를 설명하기 위한 목적으로 예시된 것으로, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는 것이 바람직하다.Hereinafter, a preferred embodiment of a packet payload-based network traffic classification system using the CNN of the present invention will be described in detail with reference to the accompanying drawings. Like reference symbols in the drawings denote like elements. Furthermore, specific structural and functional descriptions for embodiments of the present invention are presented for the purpose of describing an embodiment of the present invention only, and, unless otherwise defined, all terms used herein, including technical or scientific terms Have the same meaning as commonly understood by those of ordinary skill in the art to which the present invention belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the contextual meaning of the related art and are to be interpreted as ideal or overly formal in the sense of the art unless explicitly defined herein .

도 1은 본 발명이 적용된 CNN을 활용한 패킷 페이로드 기반의 네트워크 트래픽 분류과정을 설명하기 위한 개념도이며, 도 2는 본 발명에 적용되는 CNN 모델의 일 예를 나타낸 도면이다.FIG. 1 is a conceptual diagram for explaining a network traffic classification process based on a packet payload using the CNN to which the present invention is applied, and FIG. 2 is a diagram illustrating an example of a CNN model applied to the present invention.

도 1에 도시된 바와 같이, 본 발명의 네트워크 트래픽 분류시스템은 네트워크 트래픽 분류장치에서 네트워크 트래픽 데이터인 PCAP 파일(네트워크 패킷을 캡처하여 패킷 형태로 저장한 파일)을 패킷 단위의 이미지 형태의 데이터 세트로 가공한다.As shown in FIG. 1, the network traffic classification system of the present invention classifies PCAP files (network packets captured as network traffic data and stores them in a packet form) in the network traffic classification apparatus into a data set Processing.

이때 상기 네트워크 트래픽 분류장치는 네트워크 트래픽 데이터의 애플리케이션 레이어의 페이로드를 패킷 단위로 나눈 문자열들을 이미지 데이터 형식으로 변환하기 위하여, 상기 PCAP 파일을 필터링하고 축약하는 데이터 정제과정을 우선 수행한다.At this time, the network traffic classifying device first performs a data refinement process of filtering and reducing the PCAP file to convert the application layer payload of the network traffic data into the image data format.

즉 상기 PCAP 파일에서 플로우 수를 기준으로 복수 개의 상위 레이블을 선별하고, 상기 선별한 레이블이 붙은 플로우들을 상기 PCAP 파일에서 선택하고, 상기 선택한 플로우 내부 패킷의 애플리케이션 레이어 페이로드만을 필터링하여 추출하며, 상기 추출한 페이로드를 기 설정된 데이터 헤더에 기준하여 애플리케이션 레이어 페이로드 데이터 파일을 완성하는 데이터 정제과정을 수행하는 것이다.That is, a plurality of upper labels are selected based on the number of flows in the PCAP file, the selected labeled flows are selected from the PCAP file, and only the application layer payload of the selected flow inner packet is filtered and extracted. And performs a data refining process for completing the application layer payload data file based on the extracted payload based on the predetermined data header.

이때 본 발명에서는 네트워크 트래픽 데이터로 브로드밴드 커뮤니케이션 리서치 그룹(Broadband Communications Research Group)에서 제공받은 PCAP 파일을 사용하며, 상기 레이블로 RDP(Remote Desktop Protocol), Skype, SSH(Secure Shell), Bittorrent 및 Web의 5가지를 최종적으로 선별하여 사용한다.In the present invention, the PCAP file provided by the Broadband Communications Research Group is used as the network traffic data. The label includes the RDP (Remote Desktop Protocol), Skype, SSH (Secure Shell) Branches are finally selected and used.

또한, 상기 네트워크 트래픽 분류장치는 패킷 단위의 이미지 형태의 데이터 세트를 생성한 후, 상기 데이터 세트들을 훈련 데이터로 하여 CNN 모델을 통해 기계학습을 수행하고, 학습결과에 따른 평가를 수행한다. 이때 상기 네트워크 트래픽 분류장치는 상기 데이터 정제과정을 통해 생성된 단일 패킷의 페이로드들만을 CNN 모델의 입력 데이터 세트로 적용하여 학습할 수 있도록 한다. 그러면 관리자나 서비스 제공자 측에서는 네트워크 트래픽 데이터의 패킷 구조나 패킷내의 각 영역의 의미 등을 연구하거나 복잡한 규칙을 만들어 적용할 필요없이 손쉽게 트래픽 정책을 수립할 수 있게 된다.In addition, the network traffic classification apparatus generates an image-type data set in units of packets, performs the machine learning through the CNN model with the data sets as training data, and performs evaluation according to the learning results. At this time, the network traffic classifier can apply only the payloads of a single packet generated through the data refinement process to the input data set of the CNN model to learn. Then, the administrator or the service provider can easily construct the traffic policy without studying the packet structure of the network traffic data or the meaning of each area in the packet or creating a complicated rule.

상기 CNN 모델은 도 2에 도시된 바와 같이, 컨볼루션과 서브샘플링으로 2차원 영상의 특징만 남기고 줄여 1차원 행렬로 바꾸는 것으로서, 지역 수용 영역(Local Receptive Fields), 컨볼루션 레이어(Convolutional Layer), 풀링 레이어(Pooling Layer), 완전 연관 레이어(Fully-Connected Layer) 등으로 구성된다.As shown in FIG. 2, the CNN model transforms a two-dimensional image into a one-dimensional matrix by minimizing the features of the two-dimensional image by convolution and subsampling. The CNN model includes Local Receptive Fields, Convolutional Layer, A pooling layer, and a fully-connected layer.

상기 지역 수용 영역은 데이터 세트로 변환된 패킷 페이로드와 레이블을 입력받고, 패킷은 이미지 N×N의 형태로써 지역 수용 영역에 입력된다. 이후 컨볼루션 레이어를 거치게 되는데, 컨볼루션 레이어의 각각의 뉴런이 편향이나 영역과 연결된 2차원의 N×N의 가중치를 갖고 있다. 그리고 컨볼루션 레이어를 지날 때마다 샘플링(pooling) 과정을 거치게 되며, 완전 연관 레이어를 거치면서 최종적인 결과물이 산출된다. 이때 본 발명에서는 N×N의 2차원 컨볼루션을 예로 하여 설명하고 있지만 이에 한정되는 것은 아니며, 데이터 세트의 크기나 변환 형태를 고려하여 1×N의 1차원 컨볼루션을 선택적으로 적용할 수 있음은 물론이다.The local coverage area receives the packet payload and label converted into a data set, and the packet is input to the local coverage area in the form of an image NxN. Thereafter, it passes through a convolution layer, where each neuron in the convolution layer has a two-dimensional N × N weight associated with the bias or region. Each time the convolution layer passes, it is pooled, and the final result is calculated through the entire association layer. However, the present invention is not limited to this, and it is possible to selectively apply 1-N 1-dimensional convolution in consideration of the size of a data set or a transformation form Of course.

한편, 상기 네트워크 트래픽 분류장치는 데이터 세트의 이미지 크기 및 원소의 비트 크기를 각기 다르게 변환한 후 CNN 모델을 통해 학습을 수행할 수 있으며, 이 경우 패킷 단위의 이미지 크기에 따른 네트워크 트래픽 분류의 정확도를 비교 평가할 수 있다.Meanwhile, the network traffic classification apparatus can perform the learning through the CNN model after differently converting the image size of the data set and the bit size of the element, and in this case, the accuracy of the network traffic classification according to the image size of the packet unit Can be comparatively evaluated.

또한, 상기 네트워크 트래픽 분류장치는 상기 학습결과에 따른 예측모델을 생성하고, 가입자 측의 네트워크 트래픽 분류에 대한 쿼리 요청이 있으면, 상기 쿼리를 토대로 해당 가입자 측의 네트워크 트래픽 데이터를 정제하고, 이를 통해 패킷 단위 이미지 형태의 데이터 세트로 변환한 후, 변환한 데이터 세트를 상기 생성한 예측모델에 적용하여 네트워크 트래픽의 종류를 예측할 수 있다.In addition, the network traffic classification apparatus generates a prediction model based on the learning result. If there is a query request for the network traffic classification on the subscriber side, the network traffic classification apparatus refines the network traffic data on the subscriber side based on the query, And converts the data set into a data set of a unit image type, and then applies the transformed data set to the generated prediction model to predict the type of network traffic.

그리고 상기 예측모델을 통해 생성되는 예측 결과를 토대로 해당 가입자 측의 네트워크 트래픽과 관련된 정책을 수립하여 적용할 수 있다. 즉 가입자 측에 구비된 통신장치를 통해 이루어지는 네트워크 트래픽의 종류를 예측하고, 예측 결과를 토대로 통신서비스 사업자 측에서 특정 가입자 측의 트래픽 정체 관리, 트래픽 혼잡 탐지, 트래픽 혼잡 제어 등을 포함한 정책수립 및 적용을 용이하게 수행할 수 있는 것이다.A policy related to the network traffic on the subscriber side can be established and applied based on the prediction result generated through the prediction model. That is, the type of network traffic through the communication device provided at the subscriber side is predicted, and based on the prediction result, the communication service provider side establishes and applies a policy including traffic congestion management, traffic congestion detection, traffic congestion control, Can easily be performed.

이때 가입자 측의 네트워크 트래픽 예측은 상기 설명한 바와 같이 상기 네트워크 트래픽 분류장치에서 직접 수행하는 방식 이외에, 상기 네트워크 트래픽 분류장치에서 CNN 모델을 통해 생성한 예측모델을 저장하고 있는 트래픽 모니터링 장치(즉 관리자가 소지하고 있는 전용의 모니터링 장비는 물론, 스마트폰, 노트 PC 등이 될 수 있음)를 해당 통신장치에 접속한 후, 상기 통신장치에서 송수신되는 데이터 패킷을 상기 예측모델의 입력으로 하여 네트워크 트래픽의 종류를 예측하는 방식을 사용할 수 있다.At this time, as described above, the network traffic prediction on the subscriber side may be performed by the network traffic classification apparatus directly or indirectly by the traffic monitoring apparatus storing the prediction model generated through the CNN model in the network traffic classification apparatus And the data packet transmitted and received by the communication device is input to the prediction model, and the type of the network traffic is determined as the type of the network traffic Prediction method can be used.

도 3은 본 발명의 일 실시예에 따른 CNN을 활용한 패킷 페이로드 기반의 네트워크 트래픽 분류시스템의 구성을 개략적으로 나타낸 도면이고, 도 4는 도 3의 네트워크 트래픽 분류장치의 구성을 상세하게 나타낸 도면이며, 도 5는 상기 도 3의 트래픽 모니터링 장치의 구성을 상세하게 나타낸 도면이다.FIG. 3 is a diagram schematically illustrating a configuration of a packet payload-based network traffic classification system using CNN according to an embodiment of the present invention. FIG. 4 is a diagram illustrating a configuration of a network traffic classification apparatus of FIG. 3 FIG. 5 is a detailed block diagram of the traffic monitoring apparatus of FIG. 3. Referring to FIG.

도 3에 도시된 바와 같이 본 발명의 네트워크 트래픽 분류시스템은, 네트워크(100), 통신장치(200), 사용자 단말(300), 네트워크 트래픽 분류장치(400), 데이터베이스(500), 트래픽 모니터링 장치(600) 등으로 구성된다.3, the network traffic classification system of the present invention includes a network 100, a communication apparatus 200, a user terminal 300, a network traffic classification apparatus 400, a database 500, a traffic monitoring apparatus 600).

네트워크(100)는 유/무선 인터넷, 와이파이(WiFi) 등을 포함한 현재 공지되어 있는 각종 데이터 통신망으로서, 가입자 측에 구비된 통신장치(200)와 각종 사용자 단말(300)에서의 네트워크 트래픽 처리, 네트워크 트래픽 분류장치(400)나 트래픽 모니터링 장치(600) 등에서의 네트워크 트래픽 분류와 관련된 데이터 통신을 수행할 수 있도록 한다.The network 100 is a variety of currently known data communication networks including wired / wireless Internet, WiFi, and the like. The network 100 includes a communication device 200 provided on the subscriber side, network traffic processing in various user terminals 300, So that data communication related to the network traffic classification in the traffic classifying apparatus 400 or the traffic monitoring apparatus 600 can be performed.

통신장치(200)는 가입자 측에 구비되는 라우터, 스위치 등의 데이터 통신을 위한 중계장치로서, 각종 사용자 단말(300)에서의 인터넷 접속이나 타 통신장비와의 네트워크 연결을 지원한다.The communication device 200 is a relay device for data communication such as a router and a switch provided on the subscriber side and supports Internet connection with various user terminals 300 or network connection with other communication devices.

사용자 단말(300)은 댁내에서 사용 가능한 스마트폰, 태블릿, 노트 PC 등의 통신기기로서, 상기 통신장치(200)를 통해 네트워크(100) 접속을 진행하여 데이터 통신서비스를 이용한다.The user terminal 300 is a communication device such as a smart phone, a tablet, and a notebook PC that can be used at home, and accesses the network 100 through the communication device 200 to use the data communication service.

네트워크 트래픽 분류장치(400)는 네트워크 트래픽 분류에 사용되는 PCAP 파일을 필터링하고 축약하는 데이터 정제를 수행하고, 정제된 네트워크 트래픽 데이터를 패킷 단위의 이미지 형태로 된 데이터 세트로 변환하며, 변환한 데이터 세트를 CNN 모델을 통해 학습을 수행하여 네트워크 트래픽에 대한 분류의 정확도를 높일 수 있도록 한다.The network traffic classifying apparatus 400 performs data refining filtering and reducing PCAP files used for classifying network traffic, converting the refined network traffic data into a data set in the form of an image of a packet unit, To perform learning through the CNN model so as to increase the accuracy of classification of network traffic.

이때 상기 네트워크 트래픽 분류장치(400)는 네트워크 트래픽 데이터를 패킷 단위 이미지 형태의 데이터 세트로 변환할 때 이미지 크기 및 원소의 비트 크기를 각기 다르게 변환하여 CNN 모델을 통해 학습을 수행할 수 있다. 이와 같이 이미지 크기 등을 다르게 변환하여 학습하는 경우에는 이미지 크기에 따른 네트워크 트래픽 분류에 대한 정확도의 비교 평가가 가능해진다.At this time, when the network traffic classification apparatus 400 converts the network traffic data into the data set of the packet unit image type, it can perform the learning through the CNN model by differently converting the image size and the bit size of the element. In this way, when the image size and the like are changed and learned, the accuracy of the classification of the network traffic according to the image size becomes comparable.

또한, 상기 네트워크 트래픽 분류장치(400)는 CNN 모델을 토대로 수행하는 기계학습을 토대로 생성하는 예측모델을 이용하여 가입자 측에서 이루어지는 네트워크 트래픽의 특징을 손쉽게 파악하며, 파악된 특징을 토대로 네트워크 트래픽에 관련된 정책이나 계획을 용이하게 수립하고 적용하는데 도움이 되도록 한다. 즉 상기 네트워크 트래픽 분류장치(400)는 가입자 측의 네트워크 트래픽 분류에 대한 쿼리 요청을 토대로 해당 가입자 측의 네트워크 트래픽 데이터를 정제 및 이미지 형태의 데이터 세트로 변환하고, 변환한 데이터 세트를 상기 예측모델에 적용하여 네트워크 트래픽의 종류를 예측함으로써, 트래픽 정책이나 계획 수립을 손쉽게 수행할 수 있도록 하는 것이다.In addition, the network traffic classification apparatus 400 can easily grasp characteristics of network traffic on the subscriber side using a prediction model generated based on machine learning performed on the CNN model, Ensure that policies and plans are easily established and applied. That is, the network traffic classification apparatus 400 converts the network traffic data of the subscriber side into a data set of the refinement and image type based on the query request for the network traffic classification on the subscriber side, and outputs the transformed data set to the prediction model And predicts the type of network traffic, so that traffic policy or planning can be easily performed.

데이터베이스(500)는 상기 네트워크 트래픽 분류장치(400)에서 네트워크 트래픽 분류에 필요한 각종 동작프로그램이나 데이터를 저장, 관리하며, CNN 모델을 이용한 학습을 통해 생성되는 예측모델을 저장, 관리한다.The database 500 stores and manages various operation programs and data necessary for classifying network traffic in the network traffic classifying apparatus 400, and stores and manages prediction models generated through learning using the CNN model.

트래픽 모니터링 장치(600)는 모니터링 관리자가 소지하고 있는 전용의 모니터링 장비나, 스마트폰, 노트 PC 등의 통신기기로서, 기기 내에 설치된 특정 프로그램을 통해 가입자 측의 라우터, 스위치를 포함한 통신장치(200)에 접속되어 상기 통신장치(200)의 네트워크 트래픽을 모니터링하는 기능을 수행한다.The traffic monitoring device 600 is a communication device such as a dedicated monitoring device possessed by the monitoring manager or a smart phone or a notebook PC as a communication device 200 including a router on a subscriber side and a switch through a specific program installed in the device, And monitors the network traffic of the communication device 200. [0033] FIG.

즉 상기 트래픽 모니터링 장치(600)는 트래픽 모니터링 관리자의 조작에 따라 상기 통신장치(200)에서 송수신되는 데이터 패킷을 기 저장되어 있는 예측모델의 입력으로 하여 네트워크 트래픽의 종류를 예측하는 것이다. 이때 상기 예측모델은 네트워크 트래픽 분류장치(400)로부터 주기적으로 업데이트 정보를 제공받아 관리된다.That is, the traffic monitoring apparatus 600 predicts the type of network traffic by receiving the data packet transmitted and received in the communication apparatus 200 according to the operation of the traffic monitoring manager as a predictive model input. At this time, the prediction model is managed by receiving the update information periodically from the network traffic classification apparatus 400.

한편, 상기 네트워크 트래픽 분류장치(400)는 도 4에 도시된 바와 같이, 데이터 정제부(410), 데이터 변환부(420), 학습부(430), 정확도 산출부(440), 데이터 인터페이스부(450), 쿼리 입력 처리부(460), 예측부(470), 네트워크 인터페이스부(480), 제어부(490) 등으로 구성된다.4, the network traffic classifying apparatus 400 includes a data refining unit 410, a data converting unit 420, a learning unit 430, an accuracy calculating unit 440, a data interface unit 450, a query input processing unit 460, a predicting unit 470, a network interface unit 480, a control unit 490, and the like.

상기 데이터 정제부(410)는 네트워크 트래픽 데이터인 PCAP 파일을 필터링 및 축약하여 데이터 변환부(420)로 출력한다.The data refining unit 410 filters and shortens the PCAP file, which is network traffic data, and outputs the PCAP file to the data converting unit 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개의 레이블을 선별하여 사용한다.At this time, the data refining unit 410 selects a predetermined number of labels (in the embodiment of the present invention, selects eight labels) in the order of the number of labels based on the number of flows in the original PCAP file. In the embodiment of the present invention, eight tags are selected from the above-mentioned labels such as RDP, Skype, SSH, Bittorrent, HTTP-Facebook, HTTP-Google, HTTP-Wikipedia and HTTP- Facebook, HTTP-Google, HTTP-Wikipedia, and HTTP-Youtube are integrated into the label "Web", and a total of five labels are selected and used.

그리고 상기 데이터 정제부(410)는 상위 레이블을 선별한 이후, 선별한 레이블이 붙은 플로우들을 PCAP 파일에서 선택하고, 선택한 플로우 내부 패킷의 애플리케이션 레이어 페이로드만을 필터링하여 추출하며, 상기 추출한 페이로드를 기 설정된 데이터 헤더(도 10의 Application_Layer_Payload_Data.info 파일의 데이터 헤더 참조)에 기준하여 애플리케이션 레이어 페이로드 데이터 파일을 완성한다.Then, the data refiner 410 selects the labeled labels in the PCAP file, filters and extracts only the application layer payload of the selected packet in the flow, extracts the extracted payload from the PCAP file, And completes the application layer payload data file based on the set data header (see the data header of the Application_Layer_Payload_Data.info file in Fig. 10).

상기 데이터 변환부(420)는 상기 데이터 정제부(410)에서 정제한 네트워크 트래픽 데이터를 패킷 단위의 이미지 형태로 된 데이터 세트로 변환하며, 변환한 데이터 세트를 학습부(430)로 출력한다.The data converting unit 420 converts the network traffic data refined by the data refining unit 410 into a data set in the form of an image of a packet unit and outputs the converted data set to the learning unit 430.

상기 학습부(430)는 상기 데이터 변환부(420)에서 변환한 데이터 세트를 CNN 모델을 통해 학습하고, 학습결과에 따른 예측모델을 생성한다.The learning unit 430 learns the data set converted by the data conversion unit 420 through the CNN model and generates a prediction model according to the learning result.

이때 상기 학습부(430)는 단일 패킷의 페이로드들만을 상기 CNN 모델의 입력 데이터 세트로 적용하여 학습한다.At this time, the learning unit 430 applies only the payloads of a single packet to the input data set of the CNN model.

또한, 상기 학습부(430)는 상기 데이터 변환부(420)에서 패킷 단위의 이미지 형태로 변환한 데이터 세트를 상기 CNN 모델에 적용하여 학습을 진행할 때, N×N의 2차원 컨볼루션(본 발명의 실시예에서는 5×5의 2차원 컨볼루션을 적용함)을 적용하는 것이 바람직하나, 이에 한정할 필요없이 데이터 세트의 크기나 변환 형태를 고려하여 1×N의 1차원 컨볼루션을 선택적으로 적용할 수 있다.In addition, when the learning unit 430 applies the data set converted into the image form of the unit of packet in the data conversion unit 420 to the CNN model, the learning unit 430 performs N × N two-dimensional convolution However, the present invention is not limited to this, and a 1-dimensional 1-dimensional convolution of 1 x N can be selectively applied can do.

상기 정확도 산출부(440)는 상기 학습부(430)에서 PCAP 파일의 CNN 모델 적용을 통해 학습하여 출력되는 결과값을 토대로 네트워크 트래픽의 분류가 정확하게 이루어졌는지를 평가한다.The accuracy calculation unit 440 evaluates whether the classification of the network traffic is correctly performed based on the result of learning and outputting the CNAP model of the PCAP file in the learning unit 430. [

또한, 상기 정확도 산출부(440)는 상기 학습부(430)에서 데이터 세트의 이미지 크기 및 원소의 비트 크기를 각기 다르게 변환하여 CNN 모델을 통해 학습을 수행한 결과를 토대로 네트워크 트래픽의 분류가 정확하게 이루어졌는지를 평가할 수 있다. 이 경우 상기 정확도 산출부(440)의 평가결과를 토대로 패킷 단위의 이미지 크기에 따른 네트워크 트래픽 분류의 정확도를 비교 평가할 수 있다.In addition, the accuracy calculator 440 correctly classifies the network traffic based on the result of performing the learning through the CNN model by converting the image size of the data set and the bit size of the element by the learning unit 430 Can be evaluated. In this case, the accuracy of the network traffic classification according to the image size of each packet can be compared and evaluated based on the evaluation result of the accuracy calculation unit 440.

상기 데이터 인터페이스부(450)는 상기 데이터 정제부(410)에서 정제된 네트워크 트래픽 데이터, 상기 데이터 변환부(420)에서 변환된 데이터 세트, 상기 학습부(430)에서의 학습결과에 따라 생성되는 예측모델의 데이터베이스(500) 저장을 관리하며, 상기 데이터베이스(500)에 저장되어 있는 네트워크 트래픽 분류를 위한 각종 프로그램 및 관련 데이터의 송수신을 처리하는 기능을 수행한다.The data interface unit 450 receives the network traffic data refined by the data refinement unit 410, the data set converted by the data conversion unit 420, and the predictions generated according to the learning results of the learning unit 430 And manages the storage of the database 500 of the model and processes transmission and reception of various programs and related data for classifying the network traffic stored in the database 500.

상기 쿼리 입력 처리부(460)는 네트워크(100)를 통해 가입자 측의 라우터, 스위치를 포함한 통신장치(200), 또는 상기 통신장치(200)에 접속되는 트래픽 모니터링 장치(600)로부터 특정 통신장치에서 처리되는 네트워크 트래픽의 분류에 대한 쿼리 요청이 있는지를 확인하고, 네트워크 트래픽의 분류에 대한 쿼리 요청이 있으면 해당 쿼리의 처리를 위한 준비를 수행한다.The query input processing unit 460 receives a query from the traffic monitoring device 600 connected to the communication device 200 including the router on the subscriber side and the switch through the network 100, And if there is a query request for the classification of the network traffic, it prepares for the processing of the corresponding query.

상기 예측부(470)는 상기 쿼리 입력 처리부(460)에서 확인된 가입자 측의 통신장치(200)나 트래픽 모니터링 장치(600)로부터의 네트워크 트래픽 분류에 대한 쿼리 요청에 따라 해당 가입자 측에 구비된 통신장치(200)에서 송수신되는 데이터 패킷을 상기 예측모델에 적용하여 네트워크 트래픽의 종류를 예측한다.The predictor 470 receives a query request for the network traffic classification from the communication device 200 or the traffic monitoring device 600 on the subscriber side identified by the query input processing unit 460, The type of network traffic is predicted by applying a data packet transmitted and received in the device 200 to the prediction model.

상기 네트워크 인터페이스부(480)는 가입자 측의 통신장치(200)나 트래픽 모니터링 장치(600)로부터 전송되는 네트워크 트래픽 분류에 관련된 쿼리 요청신호를 상기 쿼리 입력 처리부(460)로 출력하며, 상기 예측부(470)에서 예측한 네트워크 트래픽에 대한 정보를 네트워크(100)를 통해 상기 통신장치(200)나 트래픽 모니터링 장치(600)로 전송하는 기능을 수행한다.The network interface unit 480 outputs a query request signal related to the network traffic classification transmitted from the communication device 200 or the traffic monitoring device 600 on the subscriber side to the query input processing unit 460, 470) to the communication device 200 or the traffic monitoring device 600 through the network 100. The communication monitoring device 600 monitors the network traffic of the network 100,

또한, 상기 네트워크 인터페이스부(480)는 상기 학습부(430)를 통해 생성한 예측모델을 네트워크(100)를 통해 통신장치(200)나 트래픽 모니터링 장치(600)로 전송하는 기능을 추가로 수행할 수 있다.The network interface unit 480 further performs a function of transmitting the prediction model generated through the learning unit 430 to the communication device 200 or the traffic monitoring device 600 through the network 100 .

또한, 상기 네트워크 인터페이스부(480)는 상기 예측부(470)에서 수행한 가입자 측의 네트워크 트래픽에 대한 예측결과를 네트워크 서비스를 수행하는 통신사업자나 관리자에게 제공하여, 네트워크 트래픽에 관련된 정책이나 계획을 수립하는데 이용할 수 있도록 한다.In addition, the network interface unit 480 provides a prediction result of the network traffic of the subscriber performed by the predicting unit 470 to a communication service provider or an administrator performing network service, Be made available to establish.

상기 제어부(490)는 네트워크 트래픽 분류장치(400)의 전반적인 동작을 총괄적으로 제어하는 기능을 수행하는 부분으로서, 상기 데이터 정제부(410)에서의 네트워크 트래픽 데이터 정제, 상기 데이터 변환부(420)에서의 패킷 단위 이미지 형태의 데이터 세트 변환, 상기 학습부(430)에서의 CNN 모델 학습 및 예측모델 생성, 상기 정확도 산출부(440)에서의 학습결과를 토대로 한 네트워크 트래픽의 분류에 대한 평가, 상기 데이터 인터페이스부(450)에서의 네트워크 트래픽의 분류에 관련된 데이터의 데이터베이스(500)의 저장, 관리를 제어한다.The control unit 490 performs a function of collectively controlling the overall operation of the network traffic classifying apparatus 400. The control unit 490 performs network traffic data refinement in the data refining unit 410, A CNN model learning and prediction model generation in the learning unit 430, an evaluation on the classification of network traffic based on the learning result in the accuracy calculation unit 440, And controls the storage and management of the database 500 of data related to the classification of the network traffic in the interface unit 450.

또한, 상기 제어부(490)는 상기 쿼리 입력 처리부(460)에서의 가입자 측의 네트워크 트래픽의 분류에 대한 쿼리 요청 확인, 예측부(470)에서의 예측모델을 이용한 가입자 측에서 이루어지는 네트워크 트래픽의 종류 예측, 상기 네트워크 인터페이스부(480)에서의 가입자 측으로부터의 쿼리 요청 및 네트워크 트래픽에 대한 예측결과 제공을 제어한다.In addition, the controller 490 checks the query request for the classification of the network traffic on the subscriber side in the query input processing unit 460, and predicts the type of network traffic on the subscriber side using the prediction model in the prediction unit 470 The network interface unit 480 controls the query request from the subscriber side and the provision of the prediction result on the network traffic.

여기서, 상기 도 4의 설명에 있어서, 상기 쿼리 입력 처리부(460)와 예측부(470)는 상기 네트워크 트래픽 분류장치(400)에 직접 구비되지 않고, 가입자 측에 구비되고 자체적으로 NMS(Network Management System) 기능을 수행할 수 있는 통신장치(200), 상기 통신장치(200)와 접속되는 트래픽 모니터링 장치(600) 등에 구비되어 운영될 수 있다.4, the query input processing unit 460 and the predicting unit 470 are not directly provided to the network traffic classification apparatus 400 but are provided at the subscriber side, ), A traffic monitoring apparatus 600 connected to the communication apparatus 200, and the like.

또한, 상기 트래픽 모니터링 장치(600)는 도 5에 도시된 바와 같이, 네트워크 인터페이스부(610), 쿼리 입력 처리부(620), 데이터 준비부(630), 예측부(640), 표시부(650), 저장부(660), 제어부(670) 등으로 구성된다.5, the traffic monitoring apparatus 600 includes a network interface unit 610, a query input processing unit 620, a data preparation unit 630, a prediction unit 640, a display unit 650, A storage unit 660, a control unit 670, and the like.

상기 네트워크 인터페이스부(610)는 통신 포트를 통해 접속된 특정 통신장치(200)에서 이루어지는 네트워크 트래픽 데이터를 수신하고, 상기 네트워크 트래픽 데이터를 데이터 준비부(630)로 출력한다.The network interface unit 610 receives the network traffic data from the specific communication device 200 connected through the communication port and outputs the network traffic data to the data preparation unit 630.

상기 쿼리 입력 처리부(620)는 트래픽 모니터링 관리자의 조작을 확인하여 상기 통신장치(200)에서 처리되는 네트워크 트래픽의 분류에 대한 쿼리 요청을 확인한다.The query input processing unit 620 confirms the operation of the traffic monitoring manager and confirms the query request for the classification of the network traffic processed in the communication device 200.

상기 데이터 준비부(630)는 상기 네트워크 인터페이스부(610)를 통해 상기 통신장치(200)에서 송수신되는 네트워크 트래픽 데이터를 정제하여 패킷 단위의 이미지 형태로 된 데이터 세트로 변환하고, 변환한 데이터 세트를 상기 예측부(640)로 출력한다.The data preparing unit 630 may refine the network traffic data transmitted and received by the communication device 200 through the network interface unit 610 and convert the network traffic data into a data set in the form of an image of a packet unit, And outputs it to the prediction unit 640.

상기 예측부(640)는 상기 쿼리 입력 처리부(620)에서 확인한 쿼리에 따라 상기 네트워크 준비부(630)에서 정제하여 패킷 단위의 이미지 형태로 변환한 데이터 세트를 기 저장된 예측모델에 적용하여 네트워크 트래픽의 종류를 예측한다.The prediction unit 640 applies the data set, which is refined in the network preparation unit 630 according to the query confirmed by the query input processing unit 620 and converted into the image form of the packet unit, to the pre-stored prediction model, Predict the type.

또한, 상기 예측모델은 정제된 네트워크 트래픽 데이터를 패킷 단위의 이미지 형태로 된 데이터 세트로 변환하고, 상기 변환한 데이터 세트를 CNN 모델을 통해 학습하여 생성되는 것으로서, 네트워크 트래픽 분류장치(400)에서 단일 패킷의 페이로드들만을 상기 CNN 모델의 입력 데이터 세트로 적용하여 학습한 결과를 토대로 생성된 것이다.In addition, the prediction model is generated by converting the refined network traffic data into a data set in the form of an image of a packet unit and learning the transformed data set through the CNN model. In the network traffic classification apparatus 400, And only the payloads of the packets are applied to the input data set of the CNN model.

상기 표시부(650)는 네트워크 트래픽에 대한 모니터링 데이터를 화면상에 표시하여 관리자가 확인하도록 한다.The display unit 650 displays monitoring data on network traffic on the screen, and allows the administrator to confirm the monitoring data.

상기 저장부(660)는 상기 통신장치(200)에서 처리되는 네트워크 트래픽의 종류를 예측하기 위한 예측모델이 저장되어 있으며, 상기 트래픽 모니터링 장치(600)에서 사용되는 각종 동작프로그램이 저장되어 있다.The storage unit 660 stores a prediction model for predicting the type of network traffic processed by the communication device 200 and stores various operation programs used in the traffic monitoring device 600.

상기 제어부(670)는 상기 트래픽 모니터링 장치(600)의 전반적인 동작을 총괄적으로 제어하는 기능을 수행하는 부분으로서, 상기 네트워크 인터페이스부(610)에서의 상기 통신장치(200)에서 이루어지는 네트워크 트래픽 데이터의 수신, 상기 쿼리 입력 처리부(620)에서의 네트워크 트래픽 분류에 대한 쿼리 요청 확인, 상기 데이터 준비부(630)에서의 상기 통신장치(200)에서 송수신되는 네트워크 트래픽 데이터의 정제 및 변환, 상기 예측부(640)에서의 예측모델을 이용한 네트워크 트래픽의 종류 예측, 상기 표시부(650)에서의 네트워크 트래픽에 대한 모니터링 데이터 표시, 상기 저장부(660)에서의 예측모델 및 각종 동작프로그램의 저장 관리를 제어한다.The control unit 670 performs a function of collectively controlling overall operation of the traffic monitoring apparatus 600. The control unit 670 receives network traffic data from the communication apparatus 200 in the network interface unit 610 A query request confirmation for the network traffic classification in the query input processing unit 620, a purification and conversion of network traffic data transmitted and received in the communication apparatus 200 in the data preparation unit 630, ), Display data on network traffic in the display unit 650, prediction model in the storage unit 660, and storage management of various operation programs.

다음에는, 이와 같이 구성된 본 발명에 따른 CNN을 활용한 패킷 페이로드 기반의 네트워크 트래픽 분류방법의 일 실시예를 도 6 내지 도 8을 참조하여 상세하게 설명한다. 이때 본 발명의 방법에 따른 각 단계는 사용 환경이나 당업자에 의해 순서가 변경될 수 있다.Next, an embodiment of a packet payload-based network traffic classification method using the CNN according to the present invention will be described in detail with reference to FIGS. 6 to 8. FIG. At this time, each step according to the method of the present invention may be changed in the use environment or the order by a person skilled in the art.

도 6 내지 도 8은 본 발명의 일 실시예에 따른 CNN을 활용한 패킷 페이로드 기반의 네트워크 트래픽 분류방법의 동작과정을 상세하게 나타낸 순서도이다.6 to 8 are flowcharts illustrating an operation of a packet payload-based network traffic classification method using CNN according to an embodiment of the present invention in detail.

우선, 네트워크 트래픽 분류장치(400)는 네트워크 트래픽 데이터인 PCAP 파일을 필터링 및 축약하는 데이터 정제를 수행한다(S100).First, the network traffic classifier 400 performs data refinement filtering and shortening a PCAP file that is network traffic data (S100).

상기 S100 단계를 도 7을 참조하여 구체적으로 설명하면, 상기 네트워크 트래픽 분류장치(400)는 원본 PCAP 파일로부터 플로우 수를 기준으로 RDP, Skype, SSH, Bittorrent 및 Web의 상위 레이블을 선별하고(S110), S110 단계에서 선별한 레이블이 붙은 플로우들을 상기 PCAP 파일에서 선택한다(S120).7, the network traffic classifying apparatus 400 selects upper labels of RDP, Skype, SSH, Bittorrent, and Web based on the number of flows from the original PCAP file (S110) , The flow of labeled labels selected in step S110 is selected in the PCAP file (S120).

그리고 S120 단계에서 선택한 플로우 내부 패킷의 애플리케이션 레이어 페이로드만을 필터링하여 추출하고(S130), S130 단계에서 추출한 페이로드를 기 설정된 데이터 헤더(도 11 참조)에 기준하여 애플리케이션 레이어 페이로드 데이터 파일을 완성하여 데이터 정제를 처리한다(S140).Then, only the application layer payload of the flow internal packet selected in step S120 is filtered and extracted (step S130). The payload extracted in step S130 is completed based on the predetermined data header (see FIG. 11) And the data is processed (S140).

상기 S100 단계를 통해 데이터 정제과정을 수행한 이후, 상기 네트워크 트래픽 분류장치(400)는 S100 단계에서 정제한 네트워크 트래픽 데이터를 패킷 단위의 이미지 형태로 된 데이터 세트로 변환한다(S200). 즉 단일 패킷의 페이로드들만으로 데이터 세트를 생성하도록 하는 것이다.After performing the data refining process in step S100, the network traffic classifying apparatus 400 converts the network traffic data refined in step S100 into a data set having an image form of a packet unit (S200). That is, the data set is generated only by payloads of a single packet.

상기 네트워크 트래픽 분류장치(400)는 상기 S200 단계에서 변환된 패킷 단위의 이미지 형태로 된 데이터 세트를 CNN 모델의 입력으로 하여 기계학습을 수행하고(S300), 학습결과에 따른 예측모델을 생성하여 데이터베이스(500)에 저장한다(S400).The network traffic classifying apparatus 400 performs a machine learning using the data set in the form of an image in units of packets converted in step S200 as an input of the CNN model (S300), generates a prediction model according to the learning result, (Step S400).

또한, 상기 네트워크 트래픽 분류장치(400)는 S300 단계에서 수행된 CNN 모델을 통한 학습결과를 토대로 패킷 단위의 이미지 크기에 따른 네트워크 트래픽 분류의 정확도를 평가한다(S500).In addition, the network traffic classification apparatus 400 evaluates the accuracy of the network traffic classification according to the image size of each packet based on the learning result through the CNN model performed in step S300 (S500).

이제, 상기 네트워크 트래픽 분류장치(400)는 가입자 측의 라우터, 스위치를 포함한 통신장치(200)나 상기 통신장치(200)에 접속되는 트래픽 모니터링 장치(600)의 네트워크 트래픽 분류에 대한 쿼리 요청에 따라 상기 통신장치(200)에서 송수신되는 데이터 패킷을 상기 예측모델에 적용하여 네트워크 트래픽의 종류를 예측하고, 예측한 결과를 해당 통신장치(200)를 관리하는 관리자나 통신 사업자에게 제공하여 예측결과를 토대로 한 트래픽 정책을 수립하여 적용할 수 있도록 한다(S600).The network traffic classifying apparatus 400 receives a query request for classifying network traffic of a communication device 200 including a router on a subscriber side and a switch or a traffic monitoring device 600 connected to the communication device 200 The data packet transmitted and received by the communication device 200 is applied to the prediction model to predict the type of network traffic, and the predicted result is provided to an administrator or a communication service provider who manages the communication device 200, A traffic policy can be established and applied (S600).

상기 S600 단계를 도 8을 참조하여 구체적으로 설명하면, 상기 네트워크 트래픽 분류장치(400)는 네트워크(100)를 통해 가입자 측의 통신장치(200)나 상기 통신장치(200)에 접속된 트래픽 모니터링 장치(600)로부터 해당 통신장치(200)에서 처리되는 네트워크 트래픽의 분류에 대한 쿼리 요청이 있는지를 판단한다(S610).8, the network traffic classifying apparatus 400 may be configured to classify a traffic monitoring apparatus 200 connected to the communication apparatus 200 on the subscriber side or the traffic monitoring apparatus 200 connected to the communication apparatus 200 via the network 100, It is determined whether there is a query request for the classification of the network traffic processed by the communication device 200 (S610).

판단결과 네트워크 트래픽의 분류에 대한 쿼리 요청이 있으면, 상기 네트워크 트래픽 분류장치(400)는 해당 가입자 측에 구비된 통신장치(200)에서 송수신되는 네트워크 트래픽 데이터를 정제하고, 패킷 단위의 이미지 형태로 된 데이터 세트로 변환한다(S620).As a result of the determination, if there is a query request for the classification of the network traffic, the network traffic classification apparatus 400 refines the network traffic data transmitted and received by the communication apparatus 200 provided on the subscriber side, Into a data set (S620).

그리고 상기 S620 단계에서 변환한 데이터 패킷을 상기 예측모델에 적용하여 네트워크 트래픽의 종류를 예측하고, 예측결과를 상기 통신장치(200)나 상기 트래픽 모니터링 장치(600)로 출력한다(S630).In operation S630, the data packet converted in operation S620 is applied to the prediction model to predict the type of network traffic, and the prediction result is output to the communication device 200 or the traffic monitoring device 600.

이에 따라 네트워크 서비스를 수행하는 통신사업자 측에서는 해당 가입자 측의 네트워크 트래픽 예측결과를 토대로 트래픽에 관련된 정책이나 계획을 수립하여 적용한다(S640).Accordingly, the communication company performing the network service establishes a policy or plan related to the traffic based on the result of the network traffic prediction on the subscriber side (S640).

한편, 상기 S600 단계에서 수행되는 가입자 측의 네트워크 트래픽 종류 예측은 상기 설명과 같이 네트워크 트래픽 분류장치(400)에서 직접 처리하지 않고, 가입자 측에 구비된 통신장치(200)에 직접 접속되어 해당 통신장치(200)의 네트워크 트래픽을 모니터링하는 트래픽 모니터링 장치(600)를 사용하여 수행할 수 있다.Meanwhile, the network traffic classification of the subscriber side performed in step S600 may be directly connected to the communication device 200 provided on the subscriber side without directly processing the network traffic classification device 400 as described above, (600) that monitors the network traffic of the network (200).

이 경우 상기 트래픽 모니터링 장치(600)는 상기 통신장치(200)에서 송수신되는 데이터 패킷을 기 저장된 예측모델(즉 상기 네트워크 트래픽 분류장치(400)에서 생성한 것으로서, 주기적으로 업데이트하여 저장하여 보관중인 예측모델)의 입력으로 하여 네트워크 트래픽의 종류를 예측한다.In this case, the traffic monitoring apparatus 600 may generate a predicted model (that is, a predicted model generated by the network traffic classifying apparatus 400, periodically updating and storing the data packet transmitted and received in the communication apparatus 200) Model) to predict the type of network traffic.

이에 따라 본 발명은 네트워크 트래픽 데이터를 패킷 단위의 이미지 형태로 된 데이터 세트로 변환하고, 이를 CNN 모델을 통해 학습하여 네트워크 트래픽에 대한 분류의 정확도를 높일 수 있으므로 기계학습에 의한 트래픽의 분류를 통해 네트워크 트래픽의 통계적인 특징을 손쉽게 파악할 수 있으며, 이를 토대로 네트워크 트래픽에 관련된 정책이나 계획을 수립하는데 효과적으로 활용할 수 있다.Accordingly, the present invention can convert network traffic data into a data set in the form of an image of a packet unit and learn it through the CNN model to increase the accuracy of classification for network traffic, It can easily grasp the statistical characteristics of traffic, and can effectively utilize it to establish a policy or plan related to network traffic.

특히, 본 발명은 단일 패킷의 페이로드들만을 CNN 모델의 입력 데이터 세트로 적용하였기 때문에 학습결과를 통해 연구자들이 패킷 페이로드 내부에는 종래에는 파악하지 못했던 특징이 존재할 수 있다는 가정을 세워 네트워크 트래픽에 관련된 연구를 활발하게 진행할 수 있다.In particular, since the present invention applies only a single packet of payloads as an input data set of the CNN model, it is assumed that researchers can have features that could not be conventionally recognized in the packet payload through learning results, Research can be actively pursued.

또한, 본 발명은 가입자 측의 네트워크 트래픽 데이터를 상기 예측모델에 적용하여 네트워크 트래픽의 종류를 간단하게 예측할 수 있기 때문에 통신서비스 사업자 측에서 네트워크 트래픽의 예측결과를 토대로 트래픽 정책의 수립이나 적용이 용이하다.In addition, since the present invention can easily predict the type of network traffic by applying the network traffic data on the subscriber side to the prediction model, it is easy to establish or apply the traffic policy based on the prediction result of the network traffic on the side of the communication service provider .

다음에는, 본 발명의 네트워크 트래픽 정제, 패킷 단위 이미지 형식의 데이터 변환, CNN 모델을 이용한 학습 및 분류 정확도의 평가 등에 관련된 구체적인 실시예에 대하여 도 9 내지 도 18을 참조하여 보다 구체적으로 설명한다.Next, specific embodiments related to the network traffic refinement, data conversion of the packet unit image format, evaluation of learning and classification accuracy using the CNN model, and the like will be described in detail with reference to FIG. 9 to FIG.

도 9 내지 도 18은 본 발명의 네트워크 트래픽 분류과정에서 사용되는 각종 데이터 및 분석결과를 각각 나타낸 도면이다.9 to 18 are diagrams showing various data and analysis results used in the network traffic classification process of the present invention, respectively.

본 발명의 네트워크 트래픽 분류장치(400)는 네트워크 트래픽 데이터인 PCAP 파일을 패킷 단위의 이미지 형태의 데이터 세트로 가공하여 CNN 모델을 통해 기계학습을 수행하고, 학습결과에 따른 평가를 수행한다. 이때 상기 PCAP 파일은 Wireshark, TCPdump 등과 같은 프로그램을 사용하여 네트워크 패킷을 캡처하여 패킷 형태로 저장한 파일로서, 본 발명에서는 브로드밴드 커뮤니케이션 리서치 그룹(Broadband Communications Research Group)으로부터 제공받은 PCAP 파일을 사용한다.The network traffic classifying apparatus 400 of the present invention processes machine learning through a CNN model by processing a PCAP file, which is network traffic data, into a data set of an image type in units of packets, and performs evaluation according to learning results. At this time, the PCAP file is a file that captures a network packet using a program such as Wireshark, TCPdump, and the like, and stores the captured packet in the form of a packet. In the present invention, a PCAP file provided by the Broadband Communications Research Group is used.

상기 네트워크 트래픽 분류장치(400)는 상기 PCAP 파일을 CNN 모델을 통해 학습을 수행하기 이전에, 애플리케이션 레이어의 페이로드를 패킷 단위로 나눈 문자열들을 이미지 데이터 형식으로 변환하기 위하여 상기 PCAP 파일을 필터링하고 축약하는 데이터 정제과정(traffic data munging)을 수행한다.The network traffic classification apparatus 400 filters the PCAP file to convert the strings of the application layer payloads into packet data units into the image data format before performing the learning through the CNN model of the PCAP file, (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종)과 응용타입, 응용이름이 순차적으로 파일 내에 존재하는 것을 알 수 있다.As shown in FIG. 9, the original PCAP file is about 59 GB in size, and there are 769 507 flows. Also, as shown in FIG. 10, the 'packets_default.info' file is labeled for traffic data. The labeling describes an application type, a protocol, an application name, a detailed classification, and the like for the corresponding traffic flow. The 'packets_default.info' file provided with the PCAP file contains detailed labeling of the flow, To obtain an accurate label. The data header of 'packets_default.info' of FIG. 10 is a reference for labeling. The data header of 5-tuple (ie, protocol, source address, destination address, source port and destination port) It can be seen that the application names are sequentially present in the file.

상기 데이터 정제과정을 수행하기 이전에, 상기 네트워크 트래픽 분류장치(400)는 플로우 수를 기준으로 가장 많은 RDP, Skype, SSH, Bittorrent, HTTP-Facebook, HTTP-Google, HTTP-Wikipedia, HTTP-Youtube의 8종에 대한 레이블명을 선별하였고, 상기 8종의 레이블이 붙은 플로우들만을 PCAP 파일에서 선택하였으며, 선택된 플로우 내부 패킷의 애플리케이션 레이어 페이로드만을 필터링하여 추출하였다.Before performing the data refinement process, the network traffic classification apparatus 400 calculates a maximum number of RDP, Skype, SSH, Bittorrent, HTTP-Facebook, HTTP-Google, HTTP-Wikipedia, and HTTP-Youtube 8 kinds of label names were selected and only those 8 types of labeled flows were selected from the PCAP file and only the application layer payload of the selected flow internal packet was filtered and extracted.

그리고 상기 네트워크 트래픽 분류장치(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가지 종류로 결정하였다.Then, the network traffic classifying apparatus 400 generates eight application layer payload data files based on the extracted payload data based on the data header of the 'Application_Layer_Payload_data.info' file of FIG. And by integrating the four types of HTTP traffic of HTTP-Facebook, HTTP-Google, HTTP-Wikipedia, and HTTP-Youtube using the same HTTP protocol as the label of the Web, finally, the label of the data set is RDP, Skype, SSH, Bittorrent, and Web.

또한, 상기 네트워크 트래픽 분류장치(400)는 통합과정을 거쳐 5개의 애플리케이션 레이어 페이로드 데이터 파일을 완성하였다. 상기 데이터 파일은 플로우마다 헤더정보를 가지며, 페이로드는 패킷마다 '#'의 구분자로 구분지었다. 즉 각각의 파일은 같은 레이블을 가진 플로우들의 집합으로서, 패킷들의 페이로드만을 가지고 있고, 페이로드는 패킷별로 구분되어진다. 상기 페이로드는 문자열로서, 한 문자의 크기가 4bit이다. 도 11은 이와 같은 데이터 정제를 통해 완성된 애플리케이션 레이어 페이로드 데이터 파일들의 통계 정보를 나타낸다.In addition, the network traffic classification apparatus 400 completes five application layer payload data files through an integration process. The data file has header information for each flow, and the payload is divided into '#' delimiters for each packet. That is, each file is a collection of flows with the same label, with only payloads of packets, and payloads separated by packets. The payload is a character string, and the size of one character is 4 bits. FIG. 11 shows statistical information of application layer payload data files completed through such data refinement.

상기 데이터 정제과정을 통해 애플리케이션 레이어 페이로드 데이터 파일이 생성되면, 상기 네트워크 트래픽 분류장치(400)는 정제된 네트워크 트래픽 데이터로부터 CNN 모델에 적용하기 위한 패킷 단위 이미지 형태의 데이터 세트들을 변환하는 작업을 수행하여야 한다.When the application layer payload data file is generated through the data refining process, the network traffic classifying apparatus 400 performs an operation of converting the data sets of the packet unit image type for applying to the CNN model from the refined network traffic data shall.

상기 데이터 세트는 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차원 어레이 패킷 데이터는 다음과 같이 그 크기를 표현할 수 있다.The data set has 500,000 'train data' and 'train label', 5,000 'validation data' and 'validation label', 10,000 'test data' and 'test label'. The train, validation, and test data are processed by converting the packet payload of the five application layer payload data files generated through the data refinement process into an image. One data format is a 2-dimensional array having a size of 2 n × 2 n , which means a packet payload. One pixel of a two-dimensional array has a size of 2 n bits, and has a value obtained by replacing a character value with a floating-point value. That is, the two-dimensional array packet data can express its size as follows.

패킷 데이터 : 16×16=256Packet data: 16 x 16 = 256

256×4=1024bit(128byte)256 x 4 = 1024 bits (128 bytes)

도 12는 데이터 세트 변환작업에 의해 완성된 패킷 이미지 데이터의 형태를 표현한 것이다. 상기 패킷 이미지 데이터의 한 원소의 크기는 4bit이며, 부동소수 값으로 0에서 15사이의 값을 지닌다.12 is a representation of the form of the packet image data completed by the data set conversion operation. The size of one element of the packet image data is 4 bits, and has a floating point value ranging from 0 to 15.

상기 train, validation, test label은 총 다섯 가지의 응용에 대한 레이블을 가지고 있으므로, 길이가 5인 원-핫 벡터(one-hot vector)로 표현한다. 이때 상기 원-핫 벡터 레이블은 하나의 요소만 1인 값을 지니는 벡터로써, 1인 값의 인덱스가 응용이름을 가리키는 레이블로 정의할 수 있다. 도 13과 도 14는 train, validation, test label을 원-핫 벡터로 표현한 것을 나타낸 도면이다.Since the train, validation, and test labels have labels for all five applications, they are represented as one-hot vectors of length 5. In this case, the one-hot vector label is a vector having a value of only one element, and a value index of 1 can be defined as a label indicating an application name. 13 and 14 are diagrams showing train, validation, and test labels as circle-hot vectors.

이제, 네트워크 트래픽 데이터의 정제 및 변환작업을 수행한 이후, 상기 네트워크 트래픽 분류장치(400)는 패킷 이미지 데이터 형태의 데이터 세트들을 CNN 모델에 적용하여 학습을 수행한다.After performing the operation of refining and converting the network traffic data, the network traffic classifying apparatus 400 applies the data sets of the packet image data type to the CNN model to perform learning.

본 발명에서 사용하는 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개의 뉴런과 완전 연관된 레이어를 형성한다는 뜻이다.The CNN model used in the present invention is composed of a local coverage area, a convolution layer, a pooling layer, a fully associative layer, and the like. The local coverage area receives a packet payload and label converted into a data set. The packet is input in the shape of (-1, N, N, 1) to the local reception area as an N × N image form. It then passes through a convolution layer, where each neuron in the convolution layer has a weight of 5 × 5 associated with the bias or area. This weighting and bias is used by all neurons, which means that all neurons in the first hidden layer will recognize the same feature even if the location is changed for each input data. In the embodiment of the present invention, two convolution layers are placed. The weights and deflection shapes of the first and second input hidden layers are (5, 5, 1, 32), (5, 5, 32, 64) same. And each time a convolution layer is passed, a sampling process is performed. In the present invention, a 2 × 2 region is made into a single neuron. (N / 2) / 2, (N / 2) / 2, 64, 1024) is used for the finally sampled NxN packet image processing. In this case, 1024 means that the converted value forms a layer completely associated with 1024 neurons through the second hidden layer.

이때 상기 네트워크 트래픽 분류장치(400)에서 상기 CNN 모델을 통해 학습을 수행할 때 사용하는 패킷 단위의 이미지 데이터는 N×N의 정방행렬로서, 그 크기 여하에 따라 얼마만큼의 bit 데이터를 사용할지 결정할 수 있다. 이러한 특성에 의해 본 발명의 실시예에서는 두 가지에 초점을 맞추었는데, 첫 번째는 패킷 이미지의 축의 길이를 조절하는 것이고, 두 번째는 패킷 이미지의 하나의 문자 데이터, 즉 한 픽셀을 구성하는 원소의 크기를 조절하는 것이다.At this time, the image data of the packet unit used for performing learning through the CNN model in the network traffic classifying apparatus 400 is an N × N square matrix, and it is determined how much bit data is to be used depending on its size . According to this characteristic, the embodiment of the present invention focuses on two things. First, the length of the axis of the packet image is adjusted. The second is to adjust the length of one character data of the packet image, that is, It is to adjust the size.

패킷의 이미지 크기를 조절한다는 것은, 하나의 패킷이 담고 있는 페이로드의 크기를 조절한다는 말과 같다. 예를 들어, 8×8의 패킷 이미지는 64×64 bit의 크기를 갖는다. 즉 패킷 페이로드의 256bit(64Byte)까지의 데이터를 하나의 패킷 이미지 데이터로 사용한다는 것이다. 본 발명의 실시예에서는, 패킷 이미지 데이터를, 8×8, 16×16, 32×32, 64×64로 각기 다른 크기로 데이터 세트를 변환하여 CNN 모델에 학습하고 평가를 진행하였다. 진행결과 도 15에서와 같은 결과를 얻을 수 있었고, 도 16에서와 같이 패킷 이미지의 크기를 늘릴수록 높은 정확도를 보이는 것을 확인할 수 있다.Adjusting the image size of a packet is like adjusting the size of the payload that a packet contains. For example, an 8x8 packet image has a size of 64 x 64 bits. That is, data up to 256 bits (64 bytes) of the packet payload is used as one packet image data. In the embodiment of the present invention, the packet image data is transformed into different sizes of 8 × 8, 16 × 16, 32 × 32, and 64 × 64, and the data set is learned and evaluated in the CNN model. As a result, the same result as in FIG. 15 was obtained. As shown in FIG. 16, it can be seen that the accuracy increases as the packet image size is increased.

도 15 및 도 16에서 보는 바와 같이, 독립적인 패킷을 이미지로 만든 데이터 세트를 가지고 CNN 모델에 학습한 결과를 보면, 패킷 이미지의 크기를 늘렸을 때 더 좋은 정확도를 보이는데, 그 이유를 들어보자면 애플리케이션 레이어의 페이로드는 해당 응용이 사용하는 특정 프로토콜로서 정보를 주고받게 되고, 프로토콜의 특성상 형식론적, 의미론적으로 독립적이며 통신의 동기 과정이 명확하고 구별이 가능하기 때문이다. 또한, 원본 PCAP 파일을 분석한 결과, RDP는 RFC 1006 TPKT 프로토콜과 ISO 8073 COTP를 사용했는데, 이 프로토콜의 헤더 데이터를 본 발명에서 사용한 패킷 이미지 데이터 크기로 환산한다면, 288 bit에 해당하고, 16×16인 패킷 이미지 하나보다 조금 더 큰 것이다. 이를 비추어 생각해 보면, 패킷 이미지 데이터의 크기를 늘릴 때, 페이로드의 프로토콜 헤더 데이터를 더 많이 CNN 학습에 적용시킬 수 있다는 말로 해석할 수 있다.As shown in FIG. 15 and FIG. 16, when the size of the packet image is increased, the accuracy of the data obtained by learning the CNN model with the data set of the independent packet image is better, The payload of the layer is exchanged as a specific protocol used by the application, and it is formal and semantically independent of the nature of the protocol, and the synchronization process of the communication is clear and distinguishable. As a result of analyzing the original PCAP file, RDP used the RFC 1006 TPKT protocol and ISO 8073 COTP. If the header data of this protocol is converted into the packet image data size used in the present invention, it corresponds to 288 bits, Lt; RTI ID = 0.0 > 16 < / RTI > Considering this, it can be interpreted that the protocol header data of the payload can be applied to the CNN learning more when the size of the packet image data is increased.

다음에는, 도 17과 도 18에 도시된 것과 같이, 32×32 크기를 가진 패킷 이미지의 기존 4 bit 크기의 원소를 2 bit 및 8 bit로 변환한 데이터 세트를 CNN 모델에 적용한 결과에 대하여 설명한다. 도 17 및 도 18은 각 원소 크기별 정확도 결과로서, 8 bit 크기의 원소에 대한 결과는 조금 더 저조한 것으로 나타났는데, 이를 통해 2 bit, 4 bit 크기의 원소가 패킷의 특징을 잡는데 적당하다는 것을 유추해 볼 수 있다.Next, as shown in FIGS. 17 and 18, a result of applying a data set obtained by converting an existing 4-bit size element of a 32 × 32 packet image into 2 bits and 8 bits to a CNN model will be described . Figures 17 and 18 show that the results for the 8-bit elements are slightly poorer as a result of the accuracy of each element size, which infer that 2-bit, 4-bit elements are suitable for characterizing the packet can see.

이처럼, 본 발명에 따르면 네트워크 트래픽 데이터를 패킷 단위로 하여 CNN 모델에 학습한 결과 그 정확도가 93.58%에 달했다. 물론, 상기 정확도가 기존에 수행하였던 다른 방식들보다 높다고 할 수는 없으나, 네트워크 트래픽의 플로우가 갖는 연속성을 가지지 않는, 단일 패킷의 페이로드들만을 CNN 모델 입력 데이터 세트로 삼았기 때문에 결코 낮다고 단언할 수 없다. 또한, 본 발명의 실시 결과를 통해 패킷 페이로드 내부에는 이전에 파악하지 못했던 특징이 존재할 수 있다는 가정을 세워볼 수 있다.As described above, according to the present invention, the accuracy of the CNN model is 93.58% when the network traffic data is learned by the packet unit. Of course, this accuracy can not be said to be higher than other methods that have been done previously, but it is never said to be low because only the payloads of a single packet, which do not have the continuity of the flow of network traffic, are used as the CNN model input data set I can not. In addition, it can be assumed through the result of the present invention that a feature that has not been previously recognized can exist in the packet payload.

이상으로 본 발명은 도면에 도시된 실시예를 참고로 하여 설명되었으나, 이는 예시적인 것에 불과하며, 당해 기술이 속하는 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 기술적 보호범위는 아래의 특허청구범위에 의해서 판단되어야 할 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, I will understand the point. Accordingly, the technical scope of the present invention should be determined by the following claims.

100 : 네트워크 200 : 통신장치
300 : 사용자 단말 400 : 네트워크 트래픽 분류장치
410 : 데이터 정제부 420 : 데이터 변환부
430 : 학습부 440 : 정확도 산출부
450 : 데이터 인터페이스부 460 : 쿼리 입력 처리부
470 : 예측부 480 : 네트워크 인터페이스부
490 : 제어부 500 : 데이터베이스
600 : 트래픽 모니터링 장치 610 : 네트워크 인터페이스부
620 : 쿼리 입력 처리부 630 : 데이터 준비부
640 : 예측부 650 : 표시부
660 : 저장부 670 : 제어부
100: network 200: communication device
300: User terminal 400: Network traffic classification device
410: Data refinement unit 420: Data conversion unit
430: learning unit 440: accuracy calculating unit
450: Data interface unit 460: Query input processing unit
470: Prediction unit 480: Network interface unit
490: control unit 500:
600: traffic monitoring device 610: network interface unit
620: Query input processing unit 630: Data preparation unit
640: prediction unit 650: display unit
660: Storage unit 670: Control unit

Claims (10)

네트워크 트래픽 데이터를 정제하는 데이터 정제부;
상기 정제한 네트워크 트래픽 데이터를 패킷 단위의 이미지 형태로 된 데이터 세트로 변환하는 데이터 변환부; 및
상기 변환한 데이터 세트를 CNN(Convolutional Neural Network) 모델을 통해 학습하여 예측모델을 생성하는 학습부;를 포함하며,
상기 학습부는, 단일 패킷의 페이로드들만을 상기 CNN 모델의 입력 데이터 세트로 적용하여 학습하며,
상기 정제는, 상기 네트워크 트래픽 데이터의 패킷을 캡처한 원본 PCAP(Packet Capture) 파일에서, 각 플로우에 대한 레이블을 참조하여 수량이 많은 레이블 순서대로 미리 설정한 수 이상의 레이블에 해당하는 플로우를 선택하고, 상기 선택한 플로우의 내부 패킷의 애플리케이션 레이어 페이로드만을 필터링하는 것을 포함하며,
상기 네트워크 트래픽 데이터의 플로우가 갖는 연속성을 가지지 않는 단일 패킷의 페이로드들만을 CNN 모델의 입력 데이터 세트로 적용하여, 패킷 구조, 패킷내의 각 영역의 의미를 파악할 필요가 없이, CNN 모델에 적용되는 데이터 세트의 이미지 크기 및 원소의 비트 크기를 각기 다르게 하여 학습을 수행하고, 그 결과를 토대로 패킷 단위의 이미지 크기에 따른 네트워크 트래픽 데이터의 분류를 처리하는 것을 특징으로 하는 CNN을 활용한 패킷 페이로드 기반의 네트워크 트래픽 분류장치.
A data refining unit for refining network traffic data;
A data conversion unit for converting the refined network traffic data into a data set in the form of an image of a packet unit; And
And a learning unit that learns the transformed data set through a CNN (Convolutional Neural Network) model to generate a predictive model,
The learning unit learns by applying only payloads of a single packet to an input data set of the CNN model,
Wherein the refinement refers to a label for each flow in a source PCAP (Packet Capture) file in which packets of the network traffic data are captured, selects a flow corresponding to a label more than a preset number in the order of a large number of labels, Filtering only the application layer payload of the inner packet of the selected flow,
Only the payloads of a single packet having no continuity of the flow of the network traffic data are applied to the input data set of the CNN model so that the data applied to the CNN model Wherein the learning is performed by setting the image size of the set and the bit size of the element to be different from each other, and processing of classifying the network traffic data according to the image size of the packet unit is performed based on the result. Network traffic classification device.
청구항 1에 있어서,
상기 네트워크 트래픽 분류장치는,
가입자 측의 통신장치 또는 상기 통신장치에 접속되는 트래픽 모니터링 장치의 네트워크 트래픽 분류에 대한 쿼리 요청을 토대로 상기 통신장치에서 송수신되는 데이터 패킷을 상기 예측모델에 적용하여 네트워크 트래픽의 종류를 예측하는 예측부;를 더 포함하는 것을 특징으로 하는 CNN을 활용한 패킷 페이로드 기반의 네트워크 트래픽 분류장치.
The method according to claim 1,
Wherein the network traffic classification apparatus comprises:
A predictor for predicting the type of network traffic by applying a data packet transmitted and received by the communication device to the predictive model on the basis of a query request for a network traffic classification of a communication device on the subscriber side or a traffic monitoring device connected to the communication device; Further comprising a CNN-based packet payload-based network traffic classification apparatus.
삭제delete 청구항 1에 있어서,
상기 학습부는,
상기 데이터 변환부에서 패킷 단위의 이미지 형태로 변환한 데이터 세트를 상기 CNN 모델에 적용하여 학습을 진행할 때, 데이터 세트의 크기나 변환 형태를 고려하여 N×N의 2차원 컨볼루션 또는 1×N의 1차원 컨볼루션을 선택적으로 적용하며,
상기 N은 2 이상의 정수로서, 컨볼루션을 수행할 때의 이미지 크기를 의미하는 것을 특징으로 하는 CNN을 활용한 패킷 페이로드 기반의 네트워크 트래픽 분류장치.
The method according to claim 1,
Wherein,
When data is transformed into an image form of a unit of packet in the data conversion unit to the CNN model, the N × N two-dimensional convolution or the 1 × N 1-dimensional convolution is selectively applied,
Wherein the N is an integer of 2 or more, and means an image size when performing convolution.
가입자 측의 라우터, 스위치를 포함한 통신장치에 접속되어 상기 통신장치의 네트워크 트래픽을 모니터링하는 것으로서,
트래픽 모니터링 관리자의 조작을 확인하여 상기 통신장치에서 처리되는 네트워크 트래픽의 분류에 대한 쿼리를 확인하는 쿼리 입력 처리부; 및
상기 쿼리에 따라 상기 통신장치에서 송수신되는 데이터 패킷을 기 저장된 예측모델에 적용하여 네트워크 트래픽의 종류를 예측하는 예측부;를 포함하며,
상기 예측모델은, 정제된 네트워크 트래픽 데이터를 패킷 단위의 이미지 형태로 된 데이터 세트로 변환한 데이터 세트를 CNN 모델을 통해 학습하여 생성되는 것으로서, 네트워크 트래픽 분류장치에서 단일 패킷의 페이로드들만을 상기 CNN 모델의 입력 데이터 세트로 적용하여 학습한 결과를 토대로 생성되며,
상기 정제는, 상기 네트워크 트래픽 데이터의 패킷을 캡처한 원본 PCAP(Packet Capture) 파일에서, 각 플로우에 대한 레이블을 참조하여 수량이 많은 레이블 순서대로 미리 설정한 수 이상의 레이블에 해당하는 플로우를 선택하고, 상기 선택한 플로우의 내부 패킷의 애플리케이션 레이어 페이로드만을 필터링하는 것을 포함하며,
상기 네트워크 트래픽 데이터의 플로우가 갖는 연속성을 가지지 않는 단일 패킷의 페이로드들만을 CNN 모델의 입력 데이터 세트로 적용하여, 패킷 구조, 패킷내의 각 영역의 의미를 파악할 필요가 없이, CNN 모델에 적용되는 데이터 세트의 이미지 크기 및 원소의 비트 크기를 각기 다르게 하여 학습을 수행하고, 그 결과를 토대로 패킷 단위의 이미지 크기에 따른 네트워크 트래픽 데이터의 분류를 처리하는 것을 특징으로 하는 트래픽 모니터링 장치.
A router on the subscriber side, and a switch, and monitors network traffic of the communication device,
A query input processing unit for confirming an operation of a traffic monitoring manager and confirming a query for classification of network traffic processed by the communication device; And
And a predictor for predicting a type of network traffic by applying a data packet transmitted and received by the communication device to a pre-stored prediction model according to the query,
The predictive model is generated by learning a data set obtained by converting the purified network traffic data into a data set in the form of an image of a packet unit through a CNN model. In the network traffic classification apparatus, only the payloads of a single packet are transmitted to the CNN The model is generated based on the result of applying to the input data set of the model,
Wherein the refinement refers to a label for each flow in a source PCAP (Packet Capture) file in which packets of the network traffic data are captured, selects a flow corresponding to a label more than a preset number in the order of a large number of labels, Filtering only the application layer payload of the inner packet of the selected flow,
Only the payloads of a single packet having no continuity of the flow of the network traffic data are applied to the input data set of the CNN model so that the data applied to the CNN model Sets the image size of the set and the bit size of the element different from each other, and processes the classification of the network traffic data according to the image size of each packet based on the result.
네트워크 트래픽 분류장치에서, 네트워크 트래픽 데이터를 정제하는 데이터 정제 단계;
상기 네트워크 트래픽 분류장치에서, 상기 정제한 네트워크 트래픽 데이터를 패킷 단위의 이미지 형태로 된 데이터 세트로 변환하는 데이터 변환 단계; 및
상기 네트워크 트래픽 분류장치에서, 상기 변환한 데이터 세트를 CNN 모델을 통해 학습하여 예측모델을 생성하는 학습 단계;를 포함하며,
상기 학습 단계는, 단일 패킷의 페이로드들만을 상기 CNN 모델의 입력 데이터 세트로 적용하여 학습하며,
상기 정제는, 상기 네트워크 트래픽 데이터의 패킷을 캡처한 원본 PCAP(Packet Capture) 파일에서, 각 플로우에 대한 레이블을 참조하여 수량이 많은 레이블 순서대로 미리 설정한 수 이상의 레이블에 해당하는 플로우를 선택하고, 상기 선택한 플로우의 내부 패킷의 애플리케이션 레이어 페이로드만을 필터링하는 것을 포함하며,
상기 네트워크 트래픽 데이터의 플로우가 갖는 연속성을 가지지 않는 단일 패킷의 페이로드들만을 CNN 모델의 입력 데이터 세트로 적용하여, 패킷 구조, 패킷내의 각 영역의 의미를 파악할 필요가 없이, CNN 모델에 적용되는 데이터 세트의 이미지 크기 및 원소의 비트 크기를 각기 다르게 하여 학습을 수행하고, 그 결과를 토대로 패킷 단위의 이미지 크기에 따른 네트워크 트래픽 데이터의 분류를 처리하는 것을 특징으로 하는 CNN을 활용한 패킷 페이로드 기반의 네트워크 트래픽 분류방법.
A network traffic classification apparatus comprising: a data refinement step of refining network traffic data;
A data conversion step of converting the refined network traffic data into a data set in the form of an image of a packet unit in the network traffic classification apparatus; And
And a learning step of, in the network traffic classifying apparatus, learning the transformed data set through a CNN model to generate a predictive model,
The learning step learns by applying only payloads of a single packet to an input data set of the CNN model,
Wherein the refinement refers to a label for each flow in a source PCAP (Packet Capture) file in which packets of the network traffic data are captured, selects a flow corresponding to a label more than a preset number in the order of a large number of labels, Filtering only the application layer payload of the inner packet of the selected flow,
Only the payloads of a single packet having no continuity of the flow of the network traffic data are applied to the input data set of the CNN model so that the data applied to the CNN model Wherein the learning is performed by setting the image size of the set and the bit size of the element to be different from each other, and processing of classifying the network traffic data according to the image size of the packet unit is performed based on the result. How to classify network traffic.
청구항 6에 있어서,
상기 네트워크 트래픽 분류방법은,
가입자 측의 통신장치 또는 상기 통신장치에 접속되는 트래픽 모니터링 장치의 네트워크 트래픽 분류에 대한 쿼리 요청을 토대로 상기 통신장치에서 송수신되는 데이터 패킷을 상기 예측모델에 적용하여 네트워크 트래픽의 종류를 예측하는 예측 단계;를 더 포함하는 것을 특징으로 하는 CNN을 활용한 패킷 페이로드 기반의 네트워크 트래픽 분류방법.
The method of claim 6,
The network traffic classification method includes:
A prediction step of applying a data packet transmitted and received by the communication device to the prediction model based on a query request for a network traffic classification of a communication device on the subscriber side or a traffic monitoring device connected to the communication device to predict a type of network traffic; The method comprising the steps of: (a) providing a CNN-based network traffic classification service based on a packet payload.
삭제delete 청구항 6에 있어서,
상기 학습 단계는,
상기 데이터 변환 단계에서 패킷 단위의 이미지 형태로 변환한 데이터 세트를 상기 CNN 모델에 적용하여 학습을 진행할 때, 데이터 세트의 크기나 변환 형태를 고려하여 N×N의 2차원 컨볼루션 또는 1×N의 1차원 컨볼루션을 선택적으로 적용하며,
상기 N은 2 이상의 정수로서, 컨볼루션을 수행할 때의 이미지 크기를 의미하는 것을 특징으로 하는 CNN을 활용한 패킷 페이로드 기반의 네트워크 트래픽 분류방법.
The method of claim 6,
In the learning step,
When the data set converted into the image form of the packet unit is applied to the CNN model and the learning is performed, the N × N two-dimensional convolution or the 1 × N 1-dimensional convolution is selectively applied,
Wherein the N is an integer of 2 or more, and means an image size when performing convolution.
청구항 6에 있어서,
상기 예측모델은,
가입자 측의 통신장치에 접속되는 트래픽 모니터링 장치에 구비될 수 있으며,
상기 통신장치에서 송수신되는 데이터 패킷을 입력으로 하여 네트워크 트래픽의 종류를 예측하는 것을 특징으로 하는 CNN을 활용한 패킷 페이로드 기반의 네트워크 트래픽 분류방법.
The method of claim 6,
The prediction model may include:
A traffic monitoring apparatus connected to the communication apparatus on the subscriber side,
Wherein a type of network traffic is predicted based on data packets transmitted and received by the communication device.
KR1020170049875A 2017-04-18 2017-04-18 System for packet payload-based network traffic classification using convolutional neural network KR101953672B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170049875A KR101953672B1 (en) 2017-04-18 2017-04-18 System for packet payload-based network traffic classification using convolutional neural network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170049875A KR101953672B1 (en) 2017-04-18 2017-04-18 System for packet payload-based network traffic classification using convolutional neural network

Publications (2)

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

Family

ID=64098985

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170049875A KR101953672B1 (en) 2017-04-18 2017-04-18 System for packet payload-based network traffic classification using convolutional neural network

Country Status (1)

Country Link
KR (1) KR101953672B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109887290A (en) * 2019-03-30 2019-06-14 西安电子科技大学 Traffic flow forecasting method based on equilibrium index exponential smoothing and stack self-encoding encoder

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110177122A (en) * 2019-06-18 2019-08-27 国网电子商务有限公司 A kind of method for establishing model and device identifying network security risk
CN111026917B (en) * 2019-11-07 2021-07-20 中国科学院计算技术研究所 Data packet classification method and system based on convolutional neural network
KR102559574B1 (en) * 2020-10-15 2023-07-26 한국전자기술연구원 Data conversion method and system for improving the accuracy of artificial intelligence algorithms
CN112671757B (en) * 2020-12-22 2023-10-31 无锡江南计算技术研究所 Encryption flow protocol identification method and device based on automatic machine learning
KR20220127757A (en) * 2021-03-11 2022-09-20 주식회사 씨티아이랩 Auto-profiling-based automatic detection apparatus and method for network packet anomaly behavior
CN113556328B (en) * 2021-06-30 2022-09-30 杭州电子科技大学 Encryption traffic classification method based on deep learning
CN113743654A (en) * 2021-08-11 2021-12-03 青岛港国际股份有限公司 Automatic wharf gate traffic flow early warning method

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101679578B1 (en) * 2015-05-27 2016-11-25 주식회사 윈스 Apparatus and method for providing controlling service for iot security

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10387770B2 (en) * 2015-06-10 2019-08-20 Samsung Electronics Co., Ltd. Spiking neural network with reduced memory access and reduced in-network bandwidth consumption

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101679578B1 (en) * 2015-05-27 2016-11-25 주식회사 윈스 Apparatus and method for providing controlling service for iot security

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 (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109887290A (en) * 2019-03-30 2019-06-14 西安电子科技大学 Traffic flow forecasting method based on equilibrium index exponential smoothing and stack self-encoding encoder
CN109887290B (en) * 2019-03-30 2021-03-23 西安电子科技大学 Traffic flow prediction method based on balance index smoothing method and stack type self-encoder

Also Published As

Publication number Publication date
KR20180116934A (en) 2018-10-26

Similar Documents

Publication Publication Date Title
KR101953672B1 (en) System for packet payload-based network traffic classification using convolutional neural network
Zeng et al. $ Deep-Full-Range $: a deep learning based network encrypted traffic classification and intrusion detection framework
CN112203282B (en) 5G Internet of things intrusion detection method and system based on federal transfer learning
CN112564974B (en) Deep learning-based fingerprint identification method for Internet of things equipment
CN110198237A (en) A kind of wireless configuration method for being intended to driving network
TW201706916A (en) Media content analysis system and method
CN102256266A (en) User application-oriented adaptive access network selection device and method
Bochie et al. A survey on deep learning for challenged networks: Applications and trends
US20140380466A1 (en) Method and apparatus for providing hierarchical pattern recognition of communication network data
Fiandrino et al. A machine-learning-based framework for optimizing the operation of future networks
Xu et al. Data-cognition-empowered intelligent wireless networks: Data, utilities, cognition brain, and architecture
CN113766576B (en) Quality of service management method, electronic device, and storage medium
US20230049550A1 (en) Making an Enabled Capability
CN110365659B (en) Construction method of network intrusion detection data set in small sample scene
Rani et al. Blockchain-based IoT enabled health monitoring system
CN114615088A (en) Terminal service flow abnormity detection model establishing method and abnormity detection method
CN112260953A (en) Multi-channel data forwarding decision method based on reinforcement learning
CN117290668A (en) Big data processing method and system based on industrial Internet platform
Elhaloui et al. Machine learning for internet of things classification using network traffic parameters
CN112492591A (en) Method and device for accessing power Internet of things terminal to network
CN110072197A (en) A kind of preferably intelligent switching and selecting method of emergency communication transmission channel
AU2021101149A4 (en) Iot based secure educational system
CN112134876A (en) Traffic identification system and method and server
CN112260941A (en) Heterogeneous network data fusion method
CN113452810A (en) Traffic classification method, device, equipment and medium

Legal Events

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