KR20190091713A - Apparatus and method for classifying network traffic - Google Patents
Apparatus and method for classifying network traffic Download PDFInfo
- Publication number
- KR20190091713A KR20190091713A KR1020180010614A KR20180010614A KR20190091713A KR 20190091713 A KR20190091713 A KR 20190091713A KR 1020180010614 A KR1020180010614 A KR 1020180010614A KR 20180010614 A KR20180010614 A KR 20180010614A KR 20190091713 A KR20190091713 A KR 20190091713A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- network traffic
- network
- processor
- packets
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
Abstract
Description
본 발명은 기계 학습을 이용하여 네트워크 트래픽을 분류하는 기술에 관한 것이다. The present invention relates to a technique for classifying network traffic using machine learning.
인터넷에 기반한 응용프로그램의 사용이 급증하면서 한정된 네트워크 자원을 효율적으로 운용하기 위한 연구가 수행되고 있다. 이를 위해서는 대용량의 네트워크 트래픽을 정확하게 분류할 수 있는 방법이 요구된다.As the use of Internet-based applications increases rapidly, research is being conducted to efficiently operate limited network resources. This requires a way to accurately classify large amounts of network traffic.
최근, 기계 학습 기법의 하나인 딥러닝(deep learning) 기법을 이용하여 네트워크 트래픽을 분류하는 연구가 수행되고 있다. 딥러닝 기법에는 대표적으로 MNN (Multi-layer Neural network) 모델, CNN (Convolution Neural Network) 모델, RNN (Recurrent Neural Networks) 모델 등이 있다. Recently, researches for classifying network traffic using deep learning, which is one of machine learning techniques, have been conducted. Deep learning techniques include a multi-layer neural network (MNN) model, a convolutional neural network (CNN) model, and a recurrent neural network (RNN) model.
딥러닝 기법의 하나인 RNN 모델은 음성 인식, 언어 모델링, 번역 등 주로 자연어 처리와 관련된 분야에서 활용되고 있는데, 이러한 RNN 모델을 이용하여 네트워크 트래픽을 분류하는 연구는 아직 미흡한 실정이다.The RNN model, which is one of the deep learning techniques, is mainly used in the fields related to natural language processing such as speech recognition, language modeling, and translation. However, the study of classifying network traffic using the RNN model is still insufficient.
본 발명의 목적은 RNN 모델을 이용하여 네트워크 트래픽을 분류하는 네트워크 트래픽 분류 장치 및 그 방법을 제공하는 데 있다.An object of the present invention is to provide a network traffic classification apparatus and method for classifying network traffic using an RNN model.
상술한 목적을 달성하기 위한 본 발명의 일면에 따른 네트워크 트래픽 분류 방법은, 프로세서에서, 상기 네트워크 인터페이스를 통해 수집된 네트워크 트래픽 데이터를 정제하는 단계; 상기 프로세서에서, 상기 정제된 네트워크 트래픽 데이터를 이미지 데이터로 구성된 데이터 세트로 변환하는 단계; 상기 프로세서에서, 상기 데이터 세트를 학습하여 RNN(Recurrent Neural Networks) 모델을 생성하는 단계; 및 상기 프로세서에서, 상기 네트워크에 접속된 네트워크 장비에서 송수신하는 데이터 플로우를 상기 생성된 RNN 모델을 이용하여 상기 데이터 플로우에 대한 네트워크 트래픽의 종류를 분류하는 단계를 포함한다.According to an aspect of the present invention, there is provided a method for classifying network traffic, the processor comprising: refining network traffic data collected through the network interface; Converting, in the processor, the purified network traffic data into a data set consisting of image data; At the processor, learning the data set to generate a Recurrent Neural Networks (RNN) model; And classifying, by the processor, a type of network traffic for the data flow using the generated RNN model for data flows transmitted and received by the network equipment connected to the network.
본 발명의 다른 일면에 따른 네트워크 트래픽 분류 장치는, 네트워크 접속하여 네트워크 트래픽 데이터를 수집하는 네트워크 인터페이스; 상기 네트워크 트래픽 데이터를 필터링하여 다수의 페이로드를 추출하고, 상기 추출된 다수의 페이로드를 이미지 패턴으로 표현되는 데이터 세트로 변환하고, 상기 데이터 세트를 학습하여 RNN(Recurrent Neural Networks) 모델을 생성하는 프로세서; 및 상기 프로세서에 의해 생성된 상기 RNN 모델을 저장하는 저장소를 포함한다.In accordance with another aspect of the present invention, a network traffic classification apparatus includes a network interface configured to access a network and collect network traffic data; Extracting a plurality of payloads by filtering the network traffic data, converting the extracted payloads into a data set represented by an image pattern, and learning the data set to generate a Recurrent Neural Networks (RNN) model A processor; And a repository for storing the RNN model generated by the processor.
본 발명에 따르면, 네트워크 트래픽을 단순하고 이해하기 쉬운 이미지 데이터로 구성된 데이터 세트로 변환하고, 이 데이터 세트를 학습하여 RNN 모델을 생성하고, 이러한 RNN 모델을 네트워크 트래픽을 분류하데 활용함으로써, 네트워크 트래픽을 분류하기 위해 플로우 구조와 네트워크 트래픽의 종류 사이의 관계를 복잡한 규칙으로 만들 필요가 없기 때문에, 네트워크 트래픽 정책이나 계획을 용이하게 수립할 수 있다. According to the present invention, the network traffic is converted into a data set consisting of simple and understandable image data, the data set is learned to generate an RNN model, and the network traffic is utilized to classify the network traffic. Because the relationship between the flow structure and the type of network traffic does not have to be complicated to classify, it is easy to formulate a network traffic policy or plan.
또한, 본 발명에서 생성하는 RNN 모델은 네트워크 트래픽을 이미지 형태(또는 이미지 패턴)으로 표현 가능한 데이터 세트의 학습으로부터 생성되기 때문에, 종래에는 파악하지 못했던 이미지 형태(또는 이미지 패턴)의 플로우 특징을 기반으로 네트워크 트래픽을 분류할 수 있다.In addition, since the RNN model generated in the present invention is generated from learning of a data set capable of representing network traffic in an image form (or image pattern), it is based on a flow characteristic of an image form (or image pattern) which has not been grasped conventionally. You can classify network traffic.
도 1은 본 발명의 일 실시 예에 따른 네트워크 트래픽 분류장치가 포함된 전체 시스템을 도시한 구성도이다.
도 2는 본 발명의 일 실시 예에 따른 네트워크 트래픽 분류 장치의 구성도이다.
도 3은 본 발명의 일 실시 예에 따른 PCAP 파일을 파싱하여 획득한 플로우 정보를 나타내는 도면이다.
도 4는 본 발명의 일 실시 예에 따른 데이터 변환 모듈에서 생성한 데이터 세트의 일 예를 도시한 도면이다.
도 5 내지 8은 본 발명의 일 실시 예에 따른 네트워크 트래픽 분류 방법을 설명하기 위한 흐름도들이다.1 is a block diagram showing an entire system including a network traffic classification apparatus according to an embodiment of the present invention.
2 is a block diagram of a network traffic classification apparatus according to an embodiment of the present invention.
3 is a diagram illustrating flow information obtained by parsing a PCAP file according to an embodiment of the present invention.
4 is a diagram illustrating an example of a data set generated by a data conversion module according to an embodiment of the present invention.
5 to 8 are flowcharts illustrating a network traffic classification method according to an embodiment of the present invention.
이하, 본 발명의 다양한 실시예가 첨부된 도면과 연관되어 기재된다. 본 발명의 다양한 실시예는 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들이 도면에 예시되고 관련된 상세한 설명이 기재되어 있다. 그러나, 이는 본 발명의 다양한 실시예를 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 다양한 실시예의 사상 및 기술 범위에 포함되는 모든 변경 및/또는 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용되었다.Hereinafter, various embodiments of the present invention will be described in connection with the accompanying drawings. Various embodiments of the present invention may have various changes and various embodiments, and specific embodiments are illustrated in the drawings and related detailed descriptions are described. However, this is not intended to limit the various embodiments of the present invention to specific embodiments, it should be understood to include all modifications and / or equivalents and substitutes included in the spirit and scope of the various embodiments of the present invention. In the description of the drawings, similar reference numerals are used for similar elements.
본 발명의 다양한 실시예에서 사용될 수 있는“포함한다” 또는 “포함할 수 있다” 등의 표현은 개시(disclosure)된 해당 기능, 동작 또는 구성요소 등의 존재를 가리키며, 추가적인 하나 이상의 기능, 동작 또는 구성요소 등을 제한하지 않는다. 또한, 본 발명의 다양한 실시예에서, "포함하다" 또는 "가지다" 등의 용어는 명세서에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Expressions such as "comprises" or "can include" as used in various embodiments of the present invention indicate the existence of the corresponding function, operation or component disclosed, and additional one or more functions, operations or It does not restrict the components. In addition, in various embodiments of the invention, the terms "comprise" or "have" are intended to indicate that there is a feature, number, step, action, component, part, or combination thereof described in the specification, one Or other features or numbers, steps, operations, components, parts or combinations thereof in any way should not be excluded in advance.
본 발명의 다양한 실시예에서 "또는" 등의 표현은 함께 나열된 단어들의 어떠한, 그리고 모든 조합을 포함한 다. 예를 들어, "A 또는 B"는, A를 포함할 수도, B를 포함할 수도, 또는 A 와 B 모두를 포함할 수도 있다.In various embodiments of the present invention, the expression "or" includes any and all combinations of words listed together. For example, "A or B" may include A, may include B, or may include both A and B.
본 발명의 다양한 실시예에서 사용된 "제 1," "제2", "첫째" 또는 "둘째," 등의 표현들은 다양한 실시예들의 다양한 구성요소들을 수식할 수 있지만, 해당 구성요소들을 한정하지 않는다. 예를 들어, 상기 표현들은 해당 구성요소들의 순서 및/또는 중요도 등을 한정하지 않는다. 상기 표현들은 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 수 있다. 예를 들어, 제1 사용자 기기와 제 2 사용자 기기는 모두 사용자 기기이며, 서로 다른 사용자 기기를 나타낸다. 예를 들어, 본 발명의 다양한 실시예의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.Expressions such as "first," "second," "first," or "second," and the like used in various embodiments of the present invention may modify various elements of the various embodiments, but do not limit the corresponding elements. Do not. For example, the above expressions do not limit the order and / or importance of the corresponding elements. The above expressions may be used to distinguish one component from another. For example, both a first user device and a second user device are user devices and represent different user devices. For example, without departing from the scope of the various embodiments of the present invention, the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 새로운 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성 요소와 상기 다른 구성요소 사이에 새로운 다른 구성요소가 존재하지 않는 것으로 이해될 수 있어야 할 것이다.When a component is said to be "connected" or "connected" to another component, the component may or may not be directly connected to or connected to the other component. It is to be understood that there may be new other components between the other components. On the other hand, when a component is referred to as being "directly connected" or "directly connected" to another component, it will be understood that there is no new other component between the component and the other component. Should be able.
본 발명의 실시예에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명의 실시 예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.The terms used in the embodiments of the present invention are merely used to describe specific embodiments, and are not intended to limit the embodiments of the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명의 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which embodiments of the present invention belong.
일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 발명의 다양한 실시 예에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Terms such as those defined in the commonly used dictionaries should be construed as having meanings consistent with the meanings in the context of the related art, and are ideally or excessively formal unless otherwise defined in various embodiments of the present invention. It is not interpreted in the sense.
본 발명의 실시 예에 따른 설명에 앞서 몇 가지 용어가 정의된다.Several terms are defined before the description according to the embodiment of the present invention.
플로우(flow) Flow
플로우는 제한 시간 동안 관찰되는 패킷들의 집합으로서, 집합 내의 패킷들은 동일한 소스, 동일한 목적지, 동일한 포트 및 동일한 IP 프로토콜과 같은 다수의 속성을 공유한다. A flow is a set of packets observed for a timeout period, in which packets share a number of attributes, such as the same source, the same destination, the same port, and the same IP protocol.
플로우의 수(a total number of flow) A total number of flow
플로우의 수는 동일한 소스, 동일한 목적지, 동일한 포트 및 동일한 IP 프로토콜과 같은 다수의 속성을 공유하는 패킷들의 집합의 개수로 정의한다. The number of flows is defined as the number of sets of packets that share a number of attributes, such as the same source, the same destination, the same port, and the same IP protocol.
RNN(Recurrent Neural Networks) 모델 Recurrent Neural Networks Model
RNN 모델에서는 입력 데이터가 순차적으로 히든 레이어의 입력으로 사용된다. RNN 모델은 하나의 입력이 입력되면, 학습 셀을 거친 후 다음 입력이 순차적으로 들어오면, 다음 입력과 동시에 이전의 학습 정보를 동시에 이용하여 새로운 학습 결과를 만들어 낸다. RNN의 히든 레이어의 학습 step이 모두 끝나면 최종 입력과 바로 직전의 학습 결과를 통하여 최종적인 출력 결과가 나오게 된다.In the RNN model, input data is sequentially used as input of a hidden layer. The RNN model generates a new learning result by using previous learning information simultaneously with the next input when one input is inputted, and then the next input is sequentially entered through the learning cell. When the learning steps of the hidden layer of the RNN are completed, the final output result is shown through the final input and the immediately preceding learning result.
PCAP(Packet capture) 파일 Packet capture file
PCAP 파일은 네트워크 패킷을 캡처하여 패킷 형태로 저장한 파일이다.A PCAP file is a file that captures network packets and stores them in packet form.
응용 서비스 Application service
응용 서비스는 잘 알려진(Well-Known) 표준화된 프로토콜 기반으로 단말들 간의 네트워크 통신에서 네트워크 트래픽을 발생시키는 모든 종류의 응용 서비스로서, 예를 들면, BitTorrent, FTP, DNS, NTP, RDP(Remote, Desktop Protocol), NETBIOS, SSH(Secure Shell), Web, Browser HTTP, Browser RTMP 등을 포함할 수 있으며, 이에 한정하지 않는다. Application services are all kinds of application services that generate network traffic in network communication between terminals based on Well-Known standardized protocol. For example, BitTorrent, FTP, DNS, NTP, RDP (Remote, Desktop) Protocol), NETBIOS, Secure Shell (SSH), Web, Browser HTTP, Browser RTMP, and the like, but are not limited thereto.
도 1은 본 발명의 일 실시 예에 따른 네트워크 트래픽 분류장치가 포함된 전체 시스템을 도시한 구성도이다.1 is a block diagram showing an entire system including a network traffic classification apparatus according to an embodiment of the present invention.
도 1을 참조하면, 전체 시스템은 네트워크(100), 다수의 단말(200 및 300) 및 네트워크 분류 장치(400)를 포함한다.Referring to FIG. 1, the entire system includes a
네트워크(100)는 다수의 서브 네트워크(110)와 다수의 네트워크 장비(130 및 150)를 포함하는 개념으로, 각 서브 네트워크(110)는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN) 또는 부가가치 통신망(Value Added Network; VAN) 등과 같은 유선 네트워크나 이동 통신망(mobile radio communication network) 또는 위성 통신망 등과 같은 무선 네트워크 등 모든 종류의 네트워크를 포함할 수 있으며, 각 네트워크 장비(130 및 150)는 네트워크(100) 내에서 다수의 단말(200 및 300) 사이의 통신 과정에서 발생하는 네트워크 트래픽, 즉, 일련의 패킷들의 경로를 제어하는 것으로, 네트워크 장비(130)는 단말(200)과 서브 네트워크(110) 사이의 패킷들의 경로를 제어하고, 네트워크 장비(150)는 서브 네트워크(110)와 단말(300) 사이의 패킷들의 경로를 제어한다. 이를 위해, 네트워크 장비는 허브(Hub), 브릿지(Bridge), 스위치(Switch), 라우터(Router) 등 다수의 단말(200 및 300) 사이의 통신을 제어 또는 중계하는 모든 종류의 통신 장치를 포함하도록 구성될 수 있다. 그 밖에, 본 명세서에서 사용되는 네트워크(100)는, 도면에 도시하지는 않았으나, 다수의 단말(200 및 300)과 직접 또는 간접적으로 연결되는 액세스 포인트(an access point: AP)를 포함하는 개념으로 지칭될 수도 있다. 액세스 포인트는 노드 B(a Node B), 라디오 네트워크 제어기(Radio Network Controller), 이볼브드 노드 B(Evolved Node B: eNB), 기지국 제어기(Base Station Controller: BSC), 베이스 트랜시버 스테이션(Base Transceiver Station: BTS), 기지국(Base Station: BS), 트랜시버 기능부(Transceiver Function: TF"), 기본 서비스 세트(Basic Service Set: BSS), 확장 서비스 세트(Extended Service Set: ESS), 라디오 기지국(Radio Base Station: RBS) 또는 일부 다른 용어(some other terminology)를 포함하거나(may comprise), 이들로 구현되거나(be implemented) 또는 이들로 공지될 수 있다(or known).The
다수의 단말(200 및 300) 각각은 가입자국(a subscriber station), 가입자 유닛(a subscriber unit), 모바일 스테이션(a mobile station: MS), 원격국(a remote station), 원격 단말(a remote terminal), 사용자 단말(a user terminal: UT), 사용자 에이전트(a user agent), 사용자 디바이스(a user device), 사물 디바이스(thing device), 사용자 장비(user equipment), 사용자 스테이션(a user station) 또는 일부 다른 용어(some other terminology)를 포함하거나(may comprise) 이들로 구현되거나(be implemented) 또는 이들로 공지될 수 있다(or known). 일부 구현들에서(In some implementations), 단말(200 및 300)은 폰(예를 들어, 셀룰러 폰 또는 스마트 폰(eg, a cellular phone or smart phone)), 컴퓨터(예를 들어, 랩탑(eg, a laptop)), 태블릿(a tablet), 휴대용 통신 디바이스(a portable communication device), 휴대용 컴퓨팅 디바이스((a portable computing device, 예를 들어, 개인 휴대 정보 단말(eg, a personal data assistant)), 엔터테인먼트 디바이스(an entertainment device, 예를 들어, 음악 또는 비디오 디바이스 또는 위성 라디오(eg, music or video device, or a satellite radio)), 글로벌 측위 시스템(a global positioning system: GPS), 또는 무선 또는 유선 매체(a wireless or wired medium)를 통해 통신하도록 구성되는 임의의 다른 적절한 디바이스(any other suitable device)로 구성될 수 있다.Each of the plurality of
트래픽 모니터링 장치(430 및 450)는 네트워크 장비(130 및 150)의 네트워크 트래픽을 모니터링하는 장치로, 트래픽 모니터링 장치(430)는 네트워크 장비(130)에 접속하여, 네트워크 장비(130)의 네트워크 트래픽을 모니터링하고, 트래픽 모니터링 장치(450)은 네트워크 장비(150)에 접속하여, 네트워크 장비(130)의 네트워크 트래픽을 모니터링 한다. 트래픽 모니터링 장치(430 및 450)는 통신 사업자측에 구비된 장치로서, 도 1의 예에서는 네트워크 장비(130 및 150)와 트래픽 모니터링 장치(430 및 450)가 물리적으로 분리된 형태로 도시되고 있으나, 네트워크 장비(130 및 150)가 트래픽 모니터링 장치(430 및 450) 내에 포함될 수도 있다.The
네트워크 트래픽 분류 장치(400)는 네트워크 장비(130 및 150) 또는 트래픽 모니터링 장치(410 및 430)로부터 제공되는 네트워크 트래픽 데이터를 RNN 모델을 이용하여 플로우 기반의 네트워크 트래픽을 분류하는 장치로서, 이에 대한 설명은 도 2를 참조하여 상세히 설명하기로 한다.The network traffic classifying apparatus 400 classifies the network traffic data provided from the
도 2는 본 발명의 일 실시 예에 따른 네트워크 트래픽 분류 장치의 구성도이다.2 is a block diagram of a network traffic classification apparatus according to an embodiment of the present invention.
도 2를 참조하면, 네트워크 트래픽 분류 장치(500)는, 하드웨어 아키텍쳐 관점에서(in terms of hardware architecture), 프로세서(510), 저장소(520), 네트워크 인터페이스(530) 및 사용자 인터페이스(540)를 포함하도록 구성될 수 있다.Referring to FIG. 2, the network
프로세서(510)는 네트워크 트래픽 데이터를 RNN 모델을 이용하여 플로우 기반의 네트워크 트래픽을 분류하기 위한 다양한 소프트웨어들을 실행하는 구성으로, 메모리(520)에 저장된 소프트웨어들을 실행하기 위한 하드웨어 디바이스이다. 프로세서(510)는 주문 제작 또는 범용의 프로세서, 중앙 처리 장치(CPU), 반도체 기반 마이크로 프로세서, 매크로 프로세서 또는 일반적으로 소프트웨어 명령어를 실행하기 위한 임의의 디바이스일 수 있다.The
저장소(520)는 프로세서(510)에 의해 실행되는 다양한 소프트웨어를 저장하는 구성으로, DRAM, SRAM, SDRAM 등과 같은 휘발성 메모리 요소 및 ROM, EPROM, EEPROM, PROM, 테이프, CD-ROM, 디스크 등과 같은 비휘발성 메모리 요소 중 어느 하나 또는 그들의 결합을 포함할 수 있다. 저장소(520)에 저장된 소프트웨어는 네트워크 트래픽을 분류하기 위한 하나 이상의 개별 프로그램(one or more separate programs)을 포함할 수 있다. 각 프로그램은, 예를 들면, 네트워크 트래픽 데이터를 정제하는 프로세스와 관련된 프로그램, 정제된 데이터를 데이터 세트로 변환하는 프로세스와 관련된 프로그램, 데이터 세트를 학습하여 RNN 모델을 생성하는 프로세스와 관련된 프로그램, 생성된 RNN 모델, 상기 생성된 RNN 모델을 기반으로 트래픽 모니터링 장치(430 및 450)에서 송수신하는 데이터 플로우를 분류하는 프로세스와 관련된 프로그램 및 이들 프로그램들을 실행 환경을 제공하는 운영체제 등을 포함할 수 있다. The
각 프로그램은 소스 프로그램, 실행 가능 프로그램(executable program, 예를 들면, 객체 코드), 스크립트(script) 또는 명령어 집합(a set of instructions)을 포함하는 임의의 다른 개체(any other entity)의 형태일 수 있다. 또한, 각 프로그램은 컴파일러(compiler), 어셈블러(assembler), 인터프리터(interpreter) 등을 통해 변형될 수 있다. 또한, 각 프로그램은 객체 지향 프로그래밍 언어에 의해 쓰여지거나, 루틴, 서브루틴 및/또는 함수를 구비하는 프로시저 프로그래밍에 의해 쓰여질 수 있다.Each program may be in the form of a source program, an executable program (eg, object code), script, or any other entity including a set of instructions. have. In addition, each program may be modified through a compiler, an assembler, an interpreter, and the like. In addition, each program can be written by an object-oriented programming language or by procedure programming with routines, subroutines and / or functions.
네트워크 인터페이스(530)는 네트워크(100 또는 110), 네트워크(100) 내의 네트워크 장비(130 및 150) 또는 네트워크 장비(130 및 150)에 연결된 트래픽 모니터링 장치(430, 450)에 접속 가능한 하드웨어 디바이스로서, 네트워크 장비(130 및 150) 또는 트래픽 모니터링 장치(430, 450)로부터 네트워크 트래픽 데이터를 수집하고, 이를 처리 가능한 데이터로 가공하여 프로세서(510)에 전달할 수 있다. 네트워크 인터페이스(530)는, 예를 들면, 네트워크 인터페이스 카드(NIC), 네트워크 어댑터 등일 수 있다.The
사용자 인터페이스(540)는 사용자(10)와 네트워크 트래픽 분류 장치(500)의 인터페이싱을 위한 것으로, 키보드, 마우스 등과 같은 입력 디바이스 및 프린터, 스캐너, 스피커, 디스플레이 등과 같은 출력 디바이스를 포함할 수 있다.The
이와 같이, 상술한 구성들(510, 520, 530 및 540)을 포함하도록 구성된 네트워크 트래픽 분류 장치(500)는 '전자 장치' 또는 '컴퓨팅 장치'로 지칭될 수 있다. 전자 장치 또는 컴퓨팅 장치가 동작할 때, 프로세서(510)는 저장소(520)와 통신하여, 네트워크 트래픽 분류 및 네트워크 트래픽 분류를 위한 RNN 모델 생성과 관련된 소프트웨어들을 판독하여 실행하게 된다. As such, the network
프로세서(510)는 저장소(520)에 저장된 소프트웨어들의 논리적 기능(logical functions)을 수행하도록 도 2에 도시된 바와 같이 다수의 모듈들(510A~510E)을 포함하도록 구성될 수 있다. 각 모듈은 하드웨어 아키텍쳐 관점에서 논리 회로로 구현될 수 있다. 이하, 프로세서(510)에 포함된(또는 임베딩된) 모듈들(510A~510E)에 대해 상세히 기술한다.The
제어 모듈(510A)Control module (510A)
제어 모듈(510A)은 주변 모듈들(510B~510F)과 프로세서(510)의 외부에 구비된 구성들(520, 530 및 540)의 동작을 제어 및 관리한다. 예를 들면, 제어 모듈(510A)은 주변 모듈들(510B~510F) 및 구성들(520, 530 및 540)의 동작 순서를 결정하고, 결정된 동작 순서에 따라 주변 모듈들(520~580) 및 구성들(520, 530 및 540)의 동작을 지시 및 제어하거나, 주변 모듈들(520~580) 중에서 어느 하나의 모듈에서 생성한 데이터를 다른 모듈에서 처리 가능하도록 가공하는 프로세스를 수행할 수 있다.The
데이터 수집 모듈(510B)Data Acquisition Module (510B)
데이터 수집 모듈(510B)은, 네트워크(100 또는 110)에 접속된 네트워크 인터페이스(530)를 통해, 네트워크 장비(130 및 150) 또는 트래픽 모니터링 장치(430 및 450)에서 송수신하는 네트워크 트래픽 데이터를 수집하는 것으로, 하드웨어 아키텍쳐 관점에서, 데이터 수집 모듈(510B)은 네트워크 트래픽 데이터를 일정 단위로 일시적으로 저장하여 일정 단위로 출력하는 일종의 '버퍼 메모리'이거나 이를 포함하는 하드웨어 모듈로 구현될 수 있다.The
데이터 수집 모듈(510B)에 의해 수집되는 네트워크 트래픽 데이터는 PCAP(Packet capture) 파일 또는 이를 포함하는 파일 또는 데이터를 지칭하는 용어로 사용될 수 있다. PCAP 파일은 네트워크 트래픽(또는 패킷)을 캡쳐한 파일이다. Network traffic data collected by the
PCAP 파일의 구조는 '헤더'로 구분되는 필드와 '페이로드'로 구분되는 필드를 포함하며, 헤더에는 PCAP 파일을 설명하는 전체 정보, 캡쳐된 패킷 데이터의 길이, 소스 아이피, 소스 포트, 목적지 아이피, 목적지 포트, 프로토콜, 네트워크 트래픽(또는 패킷)을 캡쳐한 시간 정보, 플로우를 식별하는 플로우 식별자, 응용 서비스의 종류를 구분하는 정보 등이 기록될 수 있다. 페이로드에는 실제 패킷 데이터가 기록된다.The structure of a PCAP file includes fields delimited by 'headers' and fields delimited by' payloads'.The header contains full information describing the PCAP file, the length of the captured packet data, the source IP, the source port, and the destination IP. The destination port, protocol, time information of capturing network traffic (or packet), a flow identifier for identifying a flow, and information for distinguishing a type of an application service may be recorded. The actual packet data is recorded in the payload.
데이터 정제 모듈(510C)Data Purification Module (510C)
데이터 정제 모듈(510C)은 네트워크 트래픽 데이터, 즉, PCAP 파일을 정제하는 프로세스를 수행한다. 이를 위해, 데이터 정제 모듈(420)은, 네트워크 트래픽 분류 장치(500)가 동작을 시작하면, 제어 모듈(510A)의 지시에 따라, PCAP 파일의 정제를 위한 프로그램이 저장된 저장소(520)와 통신하여, 상기 프로그램을 읽어와 실행함으로써, PCAP 파일을 정제한다.The
구체적으로, 데이터 정제 모듈(420)은 데이터 수집 모듈(510B)에 의해 수집된 PCAP 파일을 파싱하여, PCAP 파일의 헤더에 기록된 플로우 식별자 및 응용 서비스의 종류를 구분하는 정보 등을 기반으로 도 3에 도시된 바와 같은 응용 서비스 별로 구분되는 플로우 정보를 획득한다. 도 3에 도시된 플로우 정보에서는 BitTorrent, SKYPE, RDP, SSH, Web으로 이루어진 응용 서비스(20)가 도시된다. 각 응용 서비스별로 구분되는 플로우 정보는 플로우들의 전체 개수(21, Total number of flows), 모든 플로우들을 구성하는 패킷들의 전체 개수(22, Total number of packets), 하나의 플로우 내에서 패킷들의 평균 개수(23, Average number of packets in a flow), 전체 패킷 크기(24, Total packet size), 하나의 플로우 내에서 모든 패킷들의 평균 크기(25, Average size of all packets in a flow), 모든 플로우들에 대한 평균 패킷 크기(26, Average packets size over all flows), 모든 플로우들에 대한 최소 패킷 크기(27, Min packet size over all flows) 및 모든 플로우들에 대한 최대 패킷 크기(28, Max packet size over all flows) 등을 포함할 수 있다. In detail, the data refining module 420 parses the PCAP file collected by the
데이터 정제 모듈(510C)은 상기 플로우 정보에서 플로우의 전체 개수(21)를 기반으로 응용 서비스들을 선택하는 프로세스를 수행한다. 예를 들면, 데이터 정제 모듈(510C)은 플로우의 전체 개수(21)가 사전에 설정된 플로우의 기준 개수 이상인 응용 서비스들을 선택할 수 있다. 이것은 아래에서 설명될 RNN 모델을 생성하는데 충분한 학습 데이터를 제공하는 응용 서비스를 선택하기 위함이다. 도 3의 예에서, 사전에 설정된 플로우의 기준 개수가 '30,000'인 경우, 선택되는 응용 서비스는 rdp, ssh, bittorrent이다.The
데이터 정제 모듈(510C)는 선택된 응용 서비스들의 플로우 내의 모든 패킷들을 시간에 따라 발생한 순서로 정렬하고, 이러한 순서에 따라 맨 앞에 정렬된 패킷을 포함하는 상위 N(여기서, N은 2이상의 자연수) 개의 패킷들을 모든 패킷들로부터 추출하고, 추출된 패킷들의 페이로드를 각각 추출하는 프로세스를 통해, PCAP 파일(네트워크 트래픽 데이터)을 필터링하여, 축약하는 데이터 정제 과정을 완료한다. 여기서, 플로우 내의 모든 패킷들 중에서 시간 순으로 상위 N개의 패킷들을 선택하는 이유는 네트워크 통신에서 초기에 발생한 패킷들에서 플로우의 구조적 특징의 검색 확률이 높기 때문이다. 패킷들을 선택하는 개수 N은 시스템 부하를 고려하여, 설계에 따라 다양한 값으로 설정될 수 있다.The
데이터 변환 모듈(510D)Data Conversion Module (510D)
데이터 변환 모듈(510D)은, 페이로드와 그레이 스케일(gray scale) 간의 맵핑 관계를 규정한 데이터 변환 규칙을 기반으로, 데이터 정제 모듈(510C)에 의해 정제된 네트워크 트래픽 데이터, 즉, 네트워크 트래픽 데이터(또는 PCAP 파일)의 필터링 및 축약에 의해 생성된 페이로드들을 이미지 데이터로 구성되는 데이터 세트로 변환하는 프로세스를 수행한다. 이미지 데이터는, 예를 들면, 그레이 데이터(gray data)일 수 있다. 데이터 세트는 행과 열로 이루어진 다수의 원소를 포함하는 매트릭스 형태로 표현될 수 있다. 데이터 변환 규칙은 저장소(520)에 저장될 수 있으며, 데이터 변환 모듈(510D)의 호출 명령 또는 제어 모듈(510A)의 제어 명령에 따라, 저장소(520)에서 데이터 변환 모듈(510D)로 로딩될 수 있다.The
하나의 페이로드가 M개의 비트들로 구성될 때, 데이터 변환 모듈(510D)은 M개의 비트들을 특정 비트 단위(예를 들면, 1bit, 2bit, 4bit 또는 8bit)로 분할(segmentation)하여, 다수의 비트 그룹을 생성하고, 생성된 비트 그룹들을 상기 데이터 변환 규칙에 따라 변환하여 다수의 그레이 데이터를 생성한다. When one payload is composed of M bits, the
데이터 변환 모듈(510D)은 상기 생성된 다수의 그레이 데이터를 원소로 하는 매트릭스 형태의 데이터 세트로 생성함으로써, 데이터 정제 모듈(510C)에 의해 정제된 네트워크 트래픽 데이터를 이미지 데이터로 구성되는 데이터 세트로 변환하는 과정을 완료한다. 도 4에는 데이터 변환 모듈(510D)에 의해 생성된 데이터 세트의 예가 도시되며, 데이터 세트의 예는 다수의 그레이 데이터들을 십진수로 나타내는 원소들(0, 1, 2, 3, 4, 6, 11 및 13)로 구성된 10x8 매트릭스 형태로 표현한 것이다. 도 4에서는 설명의 이해를 돕기 위해, 매트릭스의 원소들을 십진수로 나타낸 것일 분, 실제 원소들이 십진수로 구성되는 것은 아니다.The
학습 모듈(510E)Learning Module (510E)
학습 모듈(510E)은 이미지 데이터로 구성된 데이터 세트를 기계 학습으로 학습하여 데이터 세트와 네트워크 트래픽의 종류 간의 관계를 예측하는 RNN 모델을 생성하고, 이를 저장소(520)에 저장하거나, 저장소(520)에 저장된 이전의 RNN 모델을 갱신하는 프로세스를 수행한다. The
분류 모듈(510F)Sorting Module (510F)
분류 모듈(510F)은 학습 모듈(510E)에 의해 저장소(520)에 저장된 RNN 모델을 호출하여, 네트워크 장비(130 및 150) 또는 트래픽 모니터링 장치(430 및 450)에서 송수신되는 데이터 플로우를 상기 호출한 RNN 모델의 입력 데이터로 구성하여 상기 데이터 플로우에 대한 네트워크 트래픽의 종류를 분류하는 프로세스를 수행한다.The
제어 모듈(510A)은 분류 모듈(510F)에 의한 분류 결과를 기반으로 특정 트래픽 정제 관리, 트래픽 혼잡 탐지, 트래픽 혼잡 제어 등을 포함하는 트래픽 정책을 수립, 수정 및 보완할 수 있다. 이러한 트래픽 정책의 수립, 수정 및 보완은 분류 모듈(510F)에서 수행할 수도 있다. The
학습 모듈(510E)에서 생성된 RNN 모델이 통신서비스 사업자 측 서버(도시하지 않음)에 제공되는 경우, 통신서비스 사업자는 상기 제공된 RNN 모델을 활용하여 미리 정한 트래픽 정책을 수정 및 보완할 수도 있다. When the RNN model generated in the
이와 같이, 본 발명의 일 실시 예에 따른 네트워크 트래픽 분류 장치(500)는As such, the network
네트워크 트래픽을 단순하고 이해하기 쉬운 이미지 데이터로 구성된 데이터 세트로 변환하고, 이러한 데이터세트를 학습하여 RNN 모델을 생성하고, 이러한 RNN 모델을 네트워크 트래픽을 분류하데 활용함으로써, 네트워크 트래픽을 분류하기 위해 플로우 구조와 네트워크 트래픽 간의 관계를 복잡한 규칙으로 만들 필요가 없기 때문에, 네트워크 트래픽 정책이나 계획을 용이하게 수립할 수 있다. Flow structure to classify network traffic by converting network traffic into a data set consisting of simple and understandable image data, learning these datasets to generate RNN models, and using these RNN models to classify network traffic. Because the relationship between the network and network traffic does not need to be complicated rules, network traffic policies or plans can be easily established.
또한, 본 발명의 일 실시 예에 따른 네트워크 트래픽 분류 장치(500)에서 생성하는 RNN 모델은 네트워크 트래픽을 이미지 형태(또는 이미지 패턴)으로 표현되는 데이터 세트의 학습으로부터 생성되기 때문에, 종래에는 파악하지 못했던 이미지 형태(또는 이미지 패턴)의 플로우 특징을 기반으로 네트워크 트래픽을 분류할 수 있다. In addition, since the RNN model generated by the network
도 5는 본 발명의 일 실시 예에 따른 네트워크 트래픽 분류 방법을 설명하기 위한 흐름도이다. 아래의 단계들을 설명하는 과정에서 도 1 내지 도 4를 참조하여 설명한 내용과 중복되는 내용은 간략히 기술하거나 생략하기로 한다.5 is a flowchart illustrating a network traffic classification method according to an embodiment of the present invention. In the process of describing the following steps, contents overlapping with those described with reference to FIGS. 1 to 4 will be briefly described or omitted.
도 5를 참조하면, 먼저, 단계 S510에서, 네트워크(100)에 접속된 네트워크 인터페이스(530)에 의해, 네트워크 트래픽 데이터를 수집하는 프로세스가 수행된다. 이때, 네트워크 트래픽 데이터는 PCA 파일 또는 이를 포함하는 데이터일 수 있다. Referring to FIG. 5, first, in step S510, a process of collecting network traffic data is performed by the
이어, 단계 S520에서, 프로세서(510)에 의해, 상기 수집된 네트워크 트래픽 데이터를 정제하는 프로세스가 수행된다.Subsequently, in step S520, a process of purifying the collected network traffic data is performed by the
이어, 단계 S530에서, 프로세서(510)에 의해, 상기 정제된 네트워크 트래픽 데이터를 이미지 데이터로 구성된 데이터 세트로 변환하는 프로세스가 수행된다. 일 예로, 상기 정제된 네트워크 트래픽 데이터는 데이터 변환 규칙에 따라, 상기 데이터 세트로 변환될 수 있으며, 데이터 변환 규칙은 그레이 스케일과 상기 네트워크 트래픽 데이터를 정제하는 단계에서 추출된 페이로드 간의 맵핑 관계를 규정한 규칙일 수 있다.Subsequently, in step S530, a process of converting the purified network traffic data into a data set composed of image data is performed by the
이어, 단계 S540에서, 프로세서(510)에 의해, 상기 데이터 세트를 학습하여 RNN(Recurrent Neural Networks) 모델을 생성하는 프로세스가 수행된다.Subsequently, in step S540, the
이어, 단계 S550에서, 프로세서(510)에 의해, 상기 네트워크(110)에 접속된 네트워크 장비(130 및 150) 또는 상기 네트워크 장비(130 및 150)에 접속된 통신 사업자측의 트래픽 모니터링 장치(430 및 450)에서 송수신하는 데이터 플로우를 상기 생성된 RNN 모델을 이용하여 상기 데이터 플로우에 대한 네트워크 트래픽의 종류를 분류하는 프로세스가 수행된다.Subsequently, in step S550, the
도 6은 도 5에 도시된 단계 S520의 상세 흐름도이다.FIG. 6 is a detailed flowchart of step S520 shown in FIG. 5.
도 6을 참조하면, 전술한 단계 S520에 따라 네트워크 트래픽 데이터를 정제하기 위해, 먼저, 단계 S521에서, 상기 수집된 네트워크 트래픽 데이터를 파싱하여 응용 서비스별 플로우 정보를 획득하는 프로세스가 수행된다. 플로우 정보는 응용 서비스별 플로우의 개수를 포함한다. 플로우 정보의 예가 도 3에 도시된다. 응용 서비스별 플로우의 개수는, 예를 들면, 네트워크 트래픽 데이터, 즉, PCAP 파일을 파싱하여, PCAP 파일의 헤더에 기록된 플로우 식별자 및 응용 서비스의 종류를 구분하는 정보를 추출하고, 응용 서비스 별로 플로우 식별자의 개수를 카운팅하는 방법으로 획득될 수 있다. Referring to FIG. 6, in order to purify network traffic data according to the above-described step S520, first, in step S521, a process of parsing the collected network traffic data to obtain flow information for each application service is performed. Flow information includes the number of flows for each application service. An example of flow information is shown in FIG. The number of flows for each application service is, for example, parsing network traffic data, i.e., a PCAP file, extracting a flow identifier recorded in the header of the PCAP file, and information for identifying the type of application service, and flows for each application service. It can be obtained by counting the number of identifiers.
이어, 단계 S523에서, 응용 서비스별 플로우의 개수 중에서 사전에 설정한 기준 개수 이상의 상기 플로우의 개수를 갖는 응용 서비스를 선택하는 프로세스가 수행된다.Subsequently, in step S523, a process of selecting an application service having the number of the flows equal to or greater than a preset reference number is performed from the number of flows for each application service.
이어, 단계 S525에서, 상기 선택된 응용 서비스의 플로우에 포함된 다수의 패킷들을 추출하는 프로세스가 수행된다.Then, in step S525, a process of extracting a plurality of packets included in the flow of the selected application service is performed.
이어, 단계 S527에서, 상기 다수의 패킷들로부터 다수의 페이로드를 추출하고, 상기 추출된 다수의 페이로드를 상기 정제된 네트워크 트래픽 데이터로서 생성하는 프로세스가 수행된다.Then, in step S527, a process of extracting a plurality of payloads from the plurality of packets and generating the extracted plurality of payloads as the purified network traffic data is performed.
도 7은 도 6에 도시된 단계 S525의 상세 흐름도이다.FIG. 7 is a detailed flowchart of step S525 shown in FIG. 6.
도 7을 참조하면, 전술한 단계 S525에 따라, 다수의 패킷들을 추출하기 위해, 먼저, 단계 S525-1에서, 상기 선택된 응용 서비스 내의 플로우에 포함된 다수의 패킷들을 시간 순서로 정렬하는 프로세스가 수행된다. Referring to FIG. 7, according to the above-described step S525, in order to extract a plurality of packets, first, in step S525-1, a process of aligning the plurality of packets included in the flow in the selected application service in time order is performed. do.
이어, 단계 S525-3에서, 상기 시간 순서로 정렬된 다수의 패킷들 중에서 플로우의 구조적 특징의 검색 확률이 높은 상위 N개의 패킷들을 상기 다수의 패킷들로서 추출하는 프로세스가 수행된다.Subsequently, in step S525-3, a process of extracting, as the plurality of packets, the upper N packets having a high probability of retrieving a structural feature of the flow from among the plurality of packets arranged in time order are performed.
도 8은 도 5에 도시한 도 5에 도시한 단계 S530의 상세 흐름도이다.FIG. 8 is a detailed flowchart of step S530 shown in FIG. 5 shown in FIG.
도 8을 참조하면, 전술한 단계 S530에 따라, 상기 정제된 네트워크 트래픽 데이터를 이미지 데이터로 구성된 데이터 세트로 변환하기 위해, 먼저, 단계 S531에서, 상기 네트워크 트래픽 데이터를 정제하는 단계에서 추출된 페이로드를 구성하는 비트들을 특정 비트 단위로 분할하여, 다수의 비트 그룹을 생성하는 프로세스가 수행된다.Referring to FIG. 8, in order to convert the purified network traffic data into a data set composed of image data according to the above-described step S530, first, in step S531, the payload extracted in the step of purifying the network traffic data The process of generating a plurality of bit groups is performed by dividing the bits constituting the bit into specific bit units.
이어, 단계 S533에서, 상기 데이터 변환 규칙을 기반으로, 상기 다수의 비트 그룹들을 다수의 그레이 데이터로 각각 변환하는 프로세스가 수행된다. Then, in step S533, a process of converting the plurality of bit groups into a plurality of gray data, respectively, is performed based on the data conversion rule.
이어, 단계 S535에서, 상기 다수의 그레이 데이터를 원소로 하는 매트릭스 형태의 상기 데이터 세트를 생성하는 프로세스가 수행된다.Subsequently, in step S535, a process of generating the data set in the form of a matrix having the plurality of gray data as an element is performed.
이상에서 본 발명에 대하여 실시 예를 중심으로 설명하였으나 이는 단지 예시일 뿐 본 발명을 한정하는 것이 아니며, 본 발명이 속하는 분야의 통상의 지식을 가진 자라면 본 발명의 본질적인 특성을 벗어나지 않는 범위에서 이상에 예시되지 않은 여러 가지의 변형과 응용이 가능함을 알 수 있을 것이다. 예를 들어, 본 발명의 실시예에 구체적으로 나타난 각 구성 요소는 변형하여 실시할 수 있는 것이다. 그리고 이러한 변형과 응용에 관계된 차이점들은 첨부된 청구 범위에서 규정하는 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.Although the present invention has been described above with reference to the embodiments, these are only examples and are not intended to limit the present invention, and those skilled in the art to which the present invention pertains may have an abnormality within the scope not departing from the essential characteristics of the present invention. It will be appreciated that various modifications and applications are not illustrated. For example, each component specifically shown in the embodiment of the present invention can be modified. And differences relating to such modifications and applications will have to be construed as being included in the scope of the invention defined in the appended claims.
Claims (16)
상기 프로세서에서, 상기 네트워크 인터페이스를 통해 수집된 네트워크 트래픽 데이터를 정제하는 단계;
상기 프로세서에서, 상기 정제된 네트워크 트래픽 데이터를 이미지 데이터로 구성된 데이터 세트로 변환하는 단계;
상기 프로세서에서, 상기 데이터 세트를 학습하여 RNN(Recurrent Neural Networks) 모델을 생성하는 단계; 및
상기 프로세서에서, 상기 네트워크에 접속된 네트워크 장비에서 송수신하는 데이터 플로우를 상기 생성된 RNN 모델을 이용하여 상기 데이터 플로우에 대한 네트워크 트래픽의 종류를 분류하는 단계
를 포함하는 네트워크 트래픽 분류 방법.
In the network traffic classification method in a network traffic classification apparatus comprising a network interface connected to a network and a processor connected to the network interface,
At the processor, refining network traffic data collected via the network interface;
Converting, in the processor, the purified network traffic data into a data set consisting of image data;
At the processor, learning the data set to generate a Recurrent Neural Networks (RNN) model; And
Classifying, by the processor, a type of network traffic for the data flow using the generated RNN model for a data flow transmitted and received by the network equipment connected to the network;
Network traffic classification method comprising a.
상기 네트워크 트래픽 데이터를 파싱하여 응용 서비스별 플로우 정보를 획득하고, 획득한 플로우 정보를 기반으로 응용 서비스별 플로우의 개수 중에서 기준 개수 이상의 플로우의 개수를 갖는 응용 서비스를 선택하는 단계;
상기 선택된 응용 서비스의 플로우에 포함된 다수의 패킷들을 추출하는 단계;
상기 다수의 패킷들로부터 다수의 페이로드를 추출하는 단계; 및
상기 추출된 다수의 페이로드를 상기 정제된 네트워크 트래픽 데이터로서 생성하는 단계
를 포함하는 네트워크 트래픽 분류 방법.
The method of claim 1, wherein the refining of the network traffic data comprises:
Parsing the network traffic data to obtain flow information for each application service, and selecting an application service having a number of flows greater than or equal to a reference number from among the number of flows for each application service based on the obtained flow information;
Extracting a plurality of packets included in the flow of the selected application service;
Extracting a plurality of payloads from the plurality of packets; And
Generating the extracted plurality of payloads as the purified network traffic data
Network traffic classification method comprising a.
상기 선택된 응용 서비스 내의 플로우에 포함된 다수의 패킷들을 시간 순서로 정렬하는 단계; 및
상기 시간 순서로 정렬된 다수의 패킷들 중에서 플로우의 구조적 특징의 검색 확률이 높은 상위 N개의 패킷들을 상기 다수의 패킷들로서 추출하는 단계
를 포함하는 네트워크 트래픽 분류 방법.
The method of claim 2, wherein the extracting of the plurality of packets comprises:
Arranging a plurality of packets included in the flow in the selected application service in chronological order; And
Extracting, as the plurality of packets, the upper N packets having a high probability of retrieving a structural feature of a flow among the plurality of packets arranged in chronological order
Network traffic classification method comprising a.
PCAP(Packet capture) 파일인 것인 네트워크 트래픽 분류 방법.
The method of claim 1, wherein the network traffic data,
A network traffic classification method that is a packet capture (PCAP) file.
그레이 스케일과 상기 네트워크 트래픽 데이터를 정제하는 단계에서 추출된 페이로드 간의 맵핑 관계를 규정한 데이터 변환 규칙을 기반으로, 상기 정제된 네트워크 트래픽 데이터를 상기 데이터 세트로 변환하는 단계인 것인 네트워크 트래픽 분류 방법.
The method of claim 1, wherein the converting to the data set comprises:
And converting the refined network traffic data into the data set based on a data conversion rule that defines a mapping relationship between gray scale and the payload extracted in the step of refining the network traffic data. .
상기 네트워크 트래픽 데이터를 정제하는 단계에서 추출된 페이로드를 구성하는 비트들을 특정 비트 단위로 분할하여, 다수의 비트 그룹을 생성하는 단계;
상기 다수의 비트 그룹들을 그레이 스케일과 상기 페이로드 간의 맵핑 관계를 규정한 데이터 변환 규칙에 따라 변환하여 다수의 그레이 데이터를 생성하는 단계; 및
상기 다수의 그레이 데이터를 원소로 하는 매트릭스 형태의 상기 데이터 세트를 생성하는 단계
를 포함하는 네트워크 트래픽 분류 방법.
The method of claim 1, wherein the converting to the data set comprises:
Generating a plurality of bit groups by dividing the bits constituting the payload extracted in the step of refining the network traffic data into specific bit units;
Generating the plurality of gray data by converting the plurality of bit groups according to a data conversion rule that defines a mapping relationship between the gray scale and the payload; And
Generating the data set in matrix form using the plurality of gray data as elements
Network traffic classification method comprising a.
상기 데이터 세트를 기계 학습으로 학습하여 상기 데이터 세트와 네트워크 트래픽의 종류 간의 관계를 예측하는 상기 RNN 모델을 생성하는 단계인 것인 네트워크 트래픽 분류 방법.
The method of claim 1, wherein generating the RNN model comprises:
Learning the data set by machine learning to generate the RNN model for predicting a relationship between the data set and a type of network traffic.
네트워크 접속하여 네트워크 트래픽 데이터를 수집하는 네트워크 인터페이스;
상기 네트워크 트래픽 데이터를 필터링하여 다수의 페이로드를 추출하고, 상기 추출된 다수의 페이로드를 이미지 패턴으로 표현되는 데이터 세트로 변환하고, 상기 데이터 세트를 학습하여 RNN(Recurrent Neural Networks) 모델을 생성하는 프로세서; 및
상기 프로세서에 의해 생성된 상기 RNN 모델을 저장하는 저장소
를 포함하는 네트워크 트래픽 분류 장치.
In the network traffic classification apparatus comprising a network interface for connecting to the network and a processor connected to the network interface,
A network interface for network connection to collect network traffic data;
Extracting a plurality of payloads by filtering the network traffic data, converting the extracted payloads into a data set represented by an image pattern, and learning the data set to generate a Recurrent Neural Networks (RNN) model A processor; And
A repository for storing the RNN model generated by the processor
Network traffic classification device comprising a.
상기 네트워크에 접속된 네트워크 장비에서 송수신하는 데이터 플로우를 상기 저장소에 저장된 RNN 모델을 이용하여 상기 데이터 플로우에 대한 네트워크 트래픽의 종류를 분류하는 것인 네트워크 트래픽 분류 장치.
The processor of claim 8, wherein the processor comprises:
And classifying the type of network traffic for the data flow using the RNN model stored in the storage of the data flow transmitted and received by the network equipment connected to the network.
상기 네트워크 트래픽 데이터를 파싱하여 응용 서비스별 플로우 정보를 획득하고, 획득한 플로우 정보를 기반으로 응용 서비스별 플로우의 개수 중에서 기준 개수 이상의 상기 플로우의 개수를 갖는 응용 서비스를 선택하고, 상기 선택된 응용 서비스의 플로우에 포함된 다수의 패킷들을 추출하고, 상기 다수의 패킷들로부터 상기 다수의 페이로드를 추출하는 것인 네트워크 트래픽 분류 장치.
The processor of claim 8, wherein the processor comprises:
Parse the network traffic data to obtain flow information for each application service, and select an application service having the number of the flows equal to or greater than a reference number from among the number of flows for each application service based on the obtained flow information. And extracting the plurality of packets included in the flow and extracting the plurality of payloads from the plurality of packets.
상기 선택된 응용 서비스의 플로우 내에 포함된 다수의 패킷들을 시간 순서로 정렬하고, 상기 시간 순서로 정렬된 다수의 패킷들 중에서 플로우의 구조적 특징의 검색 확률이 높은 상위 N개의 패킷들을 상기 다수의 패킷들로서 추출하는 것인 네트워크 트래픽 분류 장치.
The processor of claim 10, wherein the processor comprises:
Arranging the plurality of packets included in the flow of the selected application service in chronological order, and extracting, as the plurality of packets, the top N packets having a high probability of retrieving a structural feature of the flow among the plurality of packets arranged in the chronological order The network traffic classification apparatus.
PCAP(Packet capture) 파일인 것인 네트워크 트래픽 분류 장치.
The method of claim 8, wherein the network traffic data,
A network traffic classification device that is a packet capture (PCAP) file.
상기 이미지 패턴을 표현하는 그레이 스케일과 페이로드 간의 맵핑 관계를 규정한 데이터 변환 규칙을 기반으로, 상기 추출된 다수의 페이로드를 이미지 패턴으로 표현되는 데이터 세트로 변환하는 것인 네트워크 트래픽 분류 장치.
The processor of claim 8, wherein the processor comprises:
And converting the extracted plurality of payloads into a data set represented by an image pattern based on a data conversion rule that defines a mapping relationship between a gray scale representing the image pattern and a payload.
상기 데이터 변환 규칙을 저장하는 것인 네트워크 트래픽 분류 장치.
The method of claim 13, wherein the reservoir,
And storing the data conversion rule.
상기 다수의 페이로드 각각을 구성하는 비트들을 특정 비트 단위로 분할하여, 다수의 비트 그룹을 생성하고, 상기 다수의 비트 그룹들을 그레이 스케일과 페이로드 간의 맵핑 관계를 규정한 데이터 변환 규칙에 따라 변환하여 다수의 그레이 데이터를 생성하고, 상기 다수의 그레이 데이터를 원소로 하는 매트릭스 형태의 상기 데이터 세트를 생성하는 것인 네트워크 트래픽 분류 장치.
The processor of claim 8, wherein the processor comprises:
By dividing the bits constituting each of the plurality of payloads into specific bit units, generating a plurality of bit groups, and converting the plurality of bit groups according to a data conversion rule that defines a mapping relationship between gray scale and payload. Generating a plurality of gray data and generating the data set in a matrix form having the plurality of gray data as elements.
상기 데이터 세트를 기계 학습으로 학습하여 상기 데이터 세트와 네트워크 트래픽의 종류 간의 관계를 예측하는 상기 RNN 모델을 생성하는 것인 네트워크 트래픽 분류 장치.The processor of claim 8, wherein the processor comprises:
And machine learning the data set to generate the RNN model for predicting a relationship between the data set and a type of network traffic.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180010614A KR20190091713A (en) | 2018-01-29 | 2018-01-29 | Apparatus and method for classifying network traffic |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180010614A KR20190091713A (en) | 2018-01-29 | 2018-01-29 | Apparatus and method for classifying network traffic |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20190091713A true KR20190091713A (en) | 2019-08-07 |
Family
ID=67621571
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180010614A KR20190091713A (en) | 2018-01-29 | 2018-01-29 | Apparatus and method for classifying network traffic |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20190091713A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11444876B2 (en) | 2019-12-31 | 2022-09-13 | Ajou University Industry-Academic Cooperation Foundation | Method and apparatus for detecting abnormal traffic pattern |
-
2018
- 2018-01-29 KR KR1020180010614A patent/KR20190091713A/en unknown
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11444876B2 (en) | 2019-12-31 | 2022-09-13 | Ajou University Industry-Academic Cooperation Foundation | Method and apparatus for detecting abnormal traffic pattern |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zeng et al. | $ Deep-Full-Range $: a deep learning based network encrypted traffic classification and intrusion detection framework | |
Wang et al. | A smart home gateway platform for data collection and awareness | |
Wang et al. | Datanet: Deep learning based encrypted network traffic classification in sdn home gateway | |
US11025654B2 (en) | Machine learning-based traffic classification using compressed network telemetry data | |
Chen et al. | Cognitive information measurements: A new perspective | |
Aouini et al. | NFStream: A flexible network data analysis framework | |
US11736364B2 (en) | Cascade-based classification of network devices using multi-scale bags of network words | |
Labayen et al. | Online classification of user activities using machine learning on network traffic | |
CN111860628A (en) | Deep learning-based traffic identification and feature extraction method | |
CN102088754B (en) | Network access behavior-based access control method and system for wireless local area network | |
US11200488B2 (en) | Network endpoint profiling using a topical model and semantic analysis | |
CN102523241A (en) | Method and device for classifying network traffic on line based on decision tree high-speed parallel processing | |
US10686867B2 (en) | Scaled in-order record input ingestion for file-based streams in multi-threaded environments | |
CN110222795B (en) | Convolutional neural network-based P2P traffic identification method and related device | |
Le et al. | Applying big data, machine learning, and SDN/NFV for 5G early-stage traffic classification and network QoS control | |
US20200336397A1 (en) | Learning stable representations of devices for clustering-based device classification systems | |
CN111355671B (en) | Network traffic classification method, medium and terminal equipment based on self-attention mechanism | |
CN102932285A (en) | Message packaging method and message analysis method and device | |
KR20190091713A (en) | Apparatus and method for classifying network traffic | |
Alsulami et al. | A real application enabled traffic generator for networking ai model development | |
AU2021101149A4 (en) | Iot based secure educational system | |
CN115514720A (en) | Programmable data plane-oriented user activity classification method and application | |
Nakamura et al. | Novel heterogeneous computing platforms and 5G communications for IoT applications | |
CN108200604A (en) | Data transmission method and device | |
CN114268451A (en) | Method, device, equipment and medium for constructing power monitoring network security buffer area |