KR101927100B1 - Method for analyzing risk element of network packet based on recruuent neural network and apparatus analyzing the same - Google Patents
Method for analyzing risk element of network packet based on recruuent neural network and apparatus analyzing the same Download PDFInfo
- Publication number
- KR101927100B1 KR101927100B1 KR1020160134556A KR20160134556A KR101927100B1 KR 101927100 B1 KR101927100 B1 KR 101927100B1 KR 1020160134556 A KR1020160134556 A KR 1020160134556A KR 20160134556 A KR20160134556 A KR 20160134556A KR 101927100 B1 KR101927100 B1 KR 101927100B1
- Authority
- KR
- South Korea
- Prior art keywords
- packet
- neural network
- risk
- session
- data characteristic
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
-
- 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
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G06N3/0445—
-
- 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
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
본 발명은 순환 신경망 기반 네트워크 패킷의 위험요소 분석 기술에 관한 것으로, 송신단으로부터 세션에 있는 연속적인 제1 및 제2 패킷들을 입력받는 패킷 입력부, 상기 제1 패킷에 순환 신경망 모델을 적용하여 다음 패킷의 데이터 특성을 예측하고 상기 다음 패킷의 데이터 특성과 상기 제2 패킷의 데이터 특성 간의 유사도를 기초로 위험요소를 결정하는 제1 위험요소 결정부, 상기 유사도가 특정 기준 이하이면 상기 제2 패킷에 관한 위험성 분석을 수행하여 상기 위험요소를 재결정하는 제2 위험요소 결정부 및 상기 재결정이 진행되면 상기 제2 패킷에 관해 순환 신경망 학습을 수행하여 상기 순환 신경망 모델을 갱신하는 순환 신경망 학습부를 포함한다.The present invention relates to a technology for analyzing a risk of a network packet based on a cyclic neural network, comprising: a packet input unit for receiving successive first and second packets from a transmitting end in a session; A first risk factor determiner for predicting a data characteristic and determining a risk factor based on a degree of similarity between a data characteristic of the next packet and a data characteristic of the second packet; And a loop neural network learning unit for performing a loop neural network learning on the second packet when the re-crystallization proceeds, thereby updating the circular neural network model.
Description
본 발명은 순환 신경망 기반 네트워크 패킷의 위험요소 분석 기술에 관한 것으로, 보다 상세하게는 각각의 장애상황들에 따른 순환 신경망 모델을 구현하고 학습하여 네트워크 패킷의 위험요소를 분석할 수 있는 순환 신경망 기반 네트워크 패킷의 위험요소 분석 장치에 관한 것이다.The present invention relates to a technology for analyzing a risk of a network packet based on a cyclic neural network, and more particularly, to a technique for analyzing a risk of a network packet by implementing a circular neural network model according to each failure situation, And an apparatus for analyzing a risk of a packet.
종래의 네트워크 성능 및 장애감시 기술은 수신된 데이터의 크기 및 주파수 성분 모니터링을 통하여 전송성능 및 통신장애 유무만을 확인한다. 최근 사물인터넷(IoT, Internet of Things) 기반의 다양한 유무선 멀티미디어 서비스 출현으로 개방형 네트워크 형태로 진화함에 따라 바이러스 등과 같은 다양한 외부 침입으로부터의 위험이 지속적으로 증가하고 있다.Conventional network performance and failure monitoring techniques only check the transmission performance and the communication failure by monitoring the size and frequency component of the received data. Recently, due to the emergence of various types of wired and wireless multimedia services based on Internet of Things (IoT), the risk from various external intrusions such as viruses has been continuously increasing as it has evolved into an open network form.
차세대 네트워크 망의 물리계층은 사물인터넷 기반 유무선 멀티미디어 서비스를 수용하는 대용량 광링크를 이용할 가능성이 높기 때문에 대용량 데이터의 안정적인 전송을 위해서 네트워크 망의 실시간 성능 감시가 필요하다.Since the physical layer of the next generation network is highly likely to use a large capacity optical link accommodating the Internet based wired and wireless multimedia services, it is necessary to monitor the real time performance of the network in order to transmit the large amount of data stably.
한국공개특허 제10-2015-0110065호는 실행파일 모니터링 기반 악성코드 탐지 방법 및 시스템에 관한 것으로, 실행파일 모니터링 에이전트는 지역제어 네트워크 내부 또는 제어 센터와 지역제어 네트워크 사이에서 교환되는 패킷으로부터 실행파일 정보를 생성하여 악성코드 탐지 장치로 전송하고, 악성코드 탐지 장치는 수신된 실행파일 정보에 기초하여 해당 실행파일의 악성코드 감염 여부를 판단하는 기술을 개시한다.Korean Patent Laid-Open No. 10-2015-0110065 relates to a malicious code detection method and system based on executable file monitoring, wherein the executable file monitoring agent extracts executable file information from a packet exchanged between the control network and the local control network, And transmits the generated malicious code to the malicious code detection device, and the malicious code detection device starts a technique for determining whether the malicious code is infected with the execution file based on the received execution file information.
한국공개특허 제10-2011-0057628호는 네트워크 상에서 수집된 악성 파일 정보 기반의 연관성 분석 장치 및 방법에 관한 것으로, 네트워크 상에서 수집된 정보들과 악성 코드 전파 경로 기반의 시나리오 정의 테이블과 악성 코드 특성 기반의 연관성 정의 테이블간의 연관성 비교를 통해 악성 파일로 의심된 관심 파일을 찾아낸 후 악성 파일로 의심된 관심 파일의 정보를 기반으로 감염 단말, 유포 서버, 감시 정보, 공격 대상 서버 및 공격 상황 정보를 파악하는 기술을 개시한다.Korean Patent Laid-Open No. 10-2011-0057628 relates to an apparatus and method for analyzing a malicious file information-based association collected on a network, and relates to information collected on a network, a scenario definition table based on a malicious code propagation path, Of the attacked server, the attacked server, and the attacked state information based on the information of the suspected malicious file as a malicious file after comparing the associations between the tables. Technology.
본 발명의 일 실시예는 각각의 장애상황들에 따른 순환 신경망 모델을 구현하고 데이터(또는 신호) 분석을 통해 학습된 순환 신경망 모델을 이용하여 네트워크 패킷의 위험요소를 분석할 수 있는 순환 신경망 기반 네트워크 패킷의 위험요소 분석 장치를 제공하고자 한다.One embodiment of the present invention is to provide a cyclic neural network based network capable of analyzing the risk factors of network packets by implementing a circular neural network model according to each failure situation and using the learned circular neural network model through data (or signal) And to provide a device for analyzing the risk of a packet.
본 발명의 일 실시예는 각각의 장애상황들에 해당하는 순환 신경망 모델을 구현한 후 해당 네트워크가 구현된 순환 신경망 모델을 학습하게 할 수 있는 순환 신경망 기반 네트워크 패킷의 위험요소 분석 장치를 제공하고자 한다.An embodiment of the present invention provides a device for analyzing a risk of a network packet based on a circular neural network capable of learning a circular neural network model in which a network is implemented after implementing a circular neural network model corresponding to each failure situation .
실시예들 중에서, 순환 신경망 기반 네트워크 패킷의 위험요소 분석 장치는 송신단으로부터 세션에 있는 연속적인 제1 및 제2 패킷들을 입력받는 패킷 입력부, 상기 제1 패킷에 순환 신경망 모델을 적용하여 다음 패킷의 데이터 특성을 예측하고 상기 다음 패킷의 데이터 특성과 상기 제2 패킷의 데이터 특성 간의 유사도를 기초로 위험요소를 결정하는 제1 위험요소 결정부, 상기 유사도가 특정 기준 이하이면 상기 제2 패킷에 관한 위험성 분석을 수행하여 상기 위험요소를 재결정하는 제2 위험요소 결정부 및 상기 재결정이 진행되면 상기 제2 패킷에 관해 순환 신경망 학습을 수행하여 상기 순환 신경망 모델을 갱신하는 순환 신경망 학습부를 포함한다.Among the embodiments, the apparatus for analyzing a network packet based on a cyclic-neural network includes a packet input unit for receiving first and second consecutive packets in a session from a transmitting end, a cyclic neural network model applied to the first packet, A first risk factor determiner for predicting a characteristic of the second packet and determining a risk factor based on a similarity between the data characteristic of the next packet and the data characteristic of the second packet; And a circular neural network learning unit for performing a circular neural network learning on the second packet when the recrystallization proceeds, thereby updating the circular neural network model.
상기 제1 위험요소 결정부는 상기 다음 패킷의 데이터 특성이 정상적인 것으로 예측되고 상기 유사도가 상기 특정 기준 이상이면 상기 세션을 안전한 것으로 결정할 수 있다.The first risk factor determiner may determine that the session is safe if the data characteristics of the next packet are predicted to be normal and the similarity is greater than or equal to the specific criterion.
상기 제1 위험요소 결정부는 상기 다음 패킷의 데이터 특성이 비정상적인 것으로 예측되고 상기 유사도가 상기 특정 기준 이상이면 상기 세션을 불안전한 것으로 결정할 수 있다. 상기 제1 위험요소 결정부는 상기 세션을 통해 과거의 특정 시간 동안 송수신되었던 패킷들에 관한 심층패킷분석(DPI, Deep Packet Inspection)을 수행하여 상기 세션을 검증할 수 있다.The first risk factor determiner may determine that the data characteristic of the next packet is predicted to be abnormal and that the session is unstable if the similarity is higher than the specific criterion. The first risk factor determiner may verify the session by performing Deep Packet Inspection (DPI) on the packets transmitted and received during a past specific time through the session.
상기 제2 위험요소 결정부는 상기 세션 전용의 가상 머신을 생성하고, 상기 가상 머신을 통해 상기 제1 및 제2 패킷들을 격리 실행하여 악성코드의 존재여부를 검출할 수 있다. 상기 제2 위험요소 결정부는 상기 격리 실행 전에 상기 가상 머신에 순환 신경망 학습 에이전트를 실행하여 상기 제2 패킷에 관한 데이터 특성을 추출할 수 있다.The second risk factor determiner may generate a virtual machine dedicated to the session, and may isolate the first and second packets through the virtual machine to detect the presence or absence of a malicious code. And the second risk factor determiner may execute a circular neural network learning agent in the virtual machine before executing the quarantine to extract data characteristics of the second packet.
상기 제2 위험요소 결정부는 상기 격리 실행 후에 상기 순환 신경망 학습 에이전트를 통해 상기 순환 신경망 학습부에 상기 악성코드의 존재여부와 상기 제2 패킷에 관한 데이터 특성을 제공할 수 있다. 상기 제2 위험요소 결정부는 상기 제1 및 제2 패킷들이 격리 실행될 때 나타나는 리소스 권한 요청내용 및 리소스 사용량 중 적어도 하나를 기초로 상기 악성코드가 존재할 가능성을 나타내는 악성코드 존재 확률을 산출할 수 있다. 상기 제2 위험요소 결정부는 상기 악성코드 존재 확률이 특정 기준을 초과하면 상기 악성코드가 존재하는 것으로 결정할 수 있다.The second risk factor determiner may provide the loop neural network learning unit with the existence of the malicious code and the data characteristic of the second packet through the loop neural network learning agent after the quarantine execution. The second risk determining unit may calculate a probability of existence of a malicious code indicating the possibility that the malicious code is present based on at least one of a resource permission request content and a resource usage amount appearing when the first and second packets are quarantined. The second risk determining unit may determine that the malicious code exists if the probability of existence of the malicious code exceeds a specific criterion.
상기 순환 신경망 학습부는 상기 다음 패킷의 데이터 특성의 예측을 위해 상기 제2 패킷과 상기 재결정된 위험요소를 기초로 지도 학습(supervised learning)을 수행할 수 있다. 상기 순환 신경망 학습부는 순환 신경망 학습 에이전트를 통해 상기 제2 패킷에 관한 데이터 특성과 상기 재결정된 위험요소로서 상기 제1 및 제2 패킷들에 악성코드가 존재하는지 여부를 수신하여 상기 지도 학습을 수행할 수 있다.The Cyclic Neural Network Learning Unit may perform supervised learning based on the second packet and the redetermined risk component for predicting the data characteristics of the next packet. Wherein the loop neural network learning unit receives the data characteristic of the second packet through the loop neural network learning agent and whether the malicious code exists in the first and second packets as the redetermined risk element, .
상기 데이터 특성은 상기 패킷에 포함된 데이터의 압축 비트맵에 해당할 수 있다.The data characteristic may correspond to a compressed bitmap of data included in the packet.
실시예들 중에서, 순환 신경망 기반 네트워크 패킷의 위험요소 분석 방법은 순환 신경망 기반 네트워크 패킷의 위험요소 분석 장치에서 수행된다. 상기 방법은 (a) 송신단으로부터 세션에 있는 연속적인 제1 및 제2 패킷들을 입력받는 단계, (b) 상기 제1 패킷에 순환 신경망 모델을 적용하여 다음 패킷의 데이터 특성을 예측하고 상기 다음 패킷의 데이터 특성과 상기 제2 패킷의 데이터 특성 간의 유사도를 기초로 위험요소를 결정하는 단계, (c) 상기 유사도가 특정 기준 이하이면 상기 제2 패킷에 관한 위험성 분석을 수행하여 상기 위험요소를 재결정하는 단계 및 (d) 상기 재결정이 진행되면 상기 제2 패킷에 관해 순환 신경망 학습을 수행하여 상기 순환 신경망 모델을 갱신하는 단계를 포함한다.Among the embodiments, a method for analyzing a risk of a network packet based on a circular neural network is performed in a risk analyzing apparatus for a network packet based on a circular neural network. The method comprises the steps of: (a) receiving first and second consecutive packets in a session from a transmitting end; (b) applying a circular neural network model to the first packet to predict data characteristics of the next packet, Determining a risk factor based on a degree of similarity between a data characteristic and a data characteristic of the second packet; (c) if the similarity is less than a specific criterion, performing a risk analysis on the second packet to re- And (d) performing recurrent neural network learning on the second packet when the recrystallization proceeds, thereby updating the circular neural network model.
상기 (b) 단계는 상기 다음 패킷의 데이터 특성이 정상적인 것으로 예측되고 상기 유사도가 상기 특정 기준 이상이면 상기 세션을 안전한 것으로 결정하는 단계를 포함할 수 있다.The step (b) may include determining that the data characteristic of the next packet is normal and that the session is secure if the similarity is greater than the specific criterion.
상기 (b) 단계는 상기 다음 패킷의 데이터 특성이 비정상적인 것으로 예측되고 상기 유사도가 상기 특정 기준 이상이면 상기 세션을 불안전한 것으로 결정하는 단계를 포함할 수 있다. 상기 (b) 단계는 상기 세션을 통해 과거의 특정 시간 동안 송수신되었던 패킷들에 관한 심층패킷분석(DPI, Deep Packet Inspection)을 수행하여 상기 세션을 검증하는 단계를 더 포함할 수 있다.The step (b) may include determining that the data characteristic of the next packet is predicted to be abnormal and the session is unstable if the similarity is greater than the specific criterion. The step (b) may further include a step of performing Deep Packet Inspection (DPI) on packets that have been transmitted and received during a specific time in the past through the session to verify the session.
상기 (c) 단계는 상기 세션 전용의 가상 머신을 생성하고, 상기 가상 머신을 통해 상기 제1 및 제2 패킷들을 격리 실행하여 악성코드의 존재여부를 검출하는 단계를 포함할 수 있다. 상기 (c) 단계는 상기 격리 실행 전에 상기 가상 머신에 순환 신경망 학습 에이전트를 실행하여 상기 제2 패킷에 관한 데이터 특성을 추출하는 단계를 더 포함할 수 있다.The step (c) may include generating a virtual machine dedicated to the session, and isolating the first and second packets through the virtual machine to detect the presence or absence of the malicious code. The step (c) may further include the step of executing a circular neural network learning agent in the virtual machine before executing the isolation to extract data characteristics of the second packet.
상기 (d) 단계는 상기 다음 패킷의 데이터 특성의 예측을 위해 상기 제2 패킷과 상기 재결정된 위험요소를 기초로 지도 학습(supervised learning)을 수행하는 단계를 포함할 수 있다. 상기 (d) 단계는 순환 신경망 학습 에이전트를 통해 상기 제2 패킷에 관한 데이터 특성과 상기 재결정된 위험요소로서 상기 제1 및 제2 패킷들에 악성코드가 존재하는지 여부를 수신하여 상기 지도 학습을 수행하는 단계를 더 포함할 수 있다.The step (d) may include performing supervised learning based on the second packet and the redetermined risk element for prediction of a data characteristic of the next packet. The step (d) includes receiving data characteristics of the second packet through the CNN learning agent and whether the malicious code exists in the first and second packets as the re-determined risk element, The method comprising the steps of:
개시된 기술은 다음의 효과를 가질 수 있다. 다만, 특정 실시예가 다음의 효과를 전부 포함하여야 한다거나 다음의 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.The disclosed technique may have the following effects. It is to be understood, however, that the scope of the disclosed technology is not to be construed as limited thereby, as it is not meant to imply that a particular embodiment should include all of the following effects or only the following effects.
본 발명의 일 실시예에 따른 순환 신경망 기반 네트워크 패킷의 위험요소 분석 장치는 각각의 장애상황들에 따른 순환 신경망 모델을 구현하고 데이터(또는 신호) 분석을 통해 학습된 순환 신경망 모델을 이용하여 네트워크 패킷의 위험요소를 분석할 수 있다.The apparatus for analyzing a network packet based on a cyclic neural network according to an embodiment of the present invention realizes a cyclic neural network model according to each fault situation and uses a cyclic neural network model learned through data (or signal) The risk factors of
본 발명의 일 실시예에 따른 순환 신경망 기반 네트워크 패킷의 위험요소 분석 장치는 각각의 장애상황들에 해당하는 순환 신경망 모델을 구현한 후 해당 네트워크가 구현된 순환 신경망 모델을 학습하게 할 수 있다.The apparatus for analyzing the risk of a network packet based on a cyclic neural network according to an embodiment of the present invention can implement a cyclic neural network model corresponding to each fault situation and then learn a cyclic neural network model in which the network is implemented.
도 1은 본 발명의 일 실시예에 따른 순환 신경망 기반 네트워크 패킷의 위험요소 분석 시스템을 설명하는 도면이다.
도 2는 도 1에 있는 순환 신경망 기반 네트워크 패킷의 위험요소 분석 장치를 설명하는 블록도이다.
도 3은 순환 신경망 기반 네트워크 패킷의 위험요소 분석 과정을 상세하게 설명하는 순서도이다.
도 4는 순환 신경망 기반 네트워크 패킷의 위험요소 분석 과정을 요약적으로 설명하는 순서도이다.1 is a view for explaining a risk element analysis system of a network packet based on a cyclic neural network according to an embodiment of the present invention.
FIG. 2 is a block diagram illustrating an apparatus for analyzing a risk of a network packet based on a cyclic-neural network in FIG.
FIG. 3 is a flowchart illustrating in detail a risk element analysis process of a network packet based on a circular neural network.
4 is a flow chart for explaining a risk analysis process of a network packet based on a circular neural network.
본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.The description of the present invention is merely an example for structural or functional explanation, and the scope of the present invention should not be construed as being limited by the embodiments described in the text. That is, the embodiments are to be construed as being variously embodied and having various forms, so that the scope of the present invention should be understood to include equivalents capable of realizing technical ideas. Also, the purpose or effect of the present invention should not be construed as limiting the scope of the present invention, since it does not mean that a specific embodiment should include all or only such effect.
한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.Meanwhile, the meaning of the terms described in the present application should be understood as follows.
"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.The terms "first "," second ", and the like are intended to distinguish one element from another, and the scope of the right should not be limited by these terms. For example, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component.
어떤 구성요소가 다른 구성요소에 "연결되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.It is to be understood that when an element is referred to as being "connected" to another element, it may be directly connected to the other element, but there may be other elements in between. On the other hand, when an element is referred to as being "directly connected" to another element, it should be understood that there are no other elements in between. On the other hand, other expressions that describe the relationship between components, such as "between" and "between" or "neighboring to" and "directly adjacent to" should be interpreted as well.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다"또는 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.It is to be understood that the singular " include " or "have" are to be construed as including the stated feature, number, step, operation, It is to be understood that the combination is intended to specify that it does not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.
각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.In each step, the identification code (e.g., a, b, c, etc.) is used for convenience of explanation, the identification code does not describe the order of each step, Unless otherwise stated, it may occur differently from the stated order. That is, each step may occur in the same order as described, may be performed substantially concurrently, or may be performed in reverse order.
본 발명은 컴퓨터가 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있고, 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있으며, 또한, 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.The present invention can be embodied as computer-readable code on a computer-readable recording medium, and the computer-readable recording medium includes all kinds of recording devices for storing data that can be read by a computer system . Examples of the computer-readable recording medium include a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, and the like, and also implemented in the form of a carrier wave (for example, transmission over the Internet) . In addition, the computer-readable recording medium may be distributed over network-connected computer systems so that computer readable codes can be stored and executed in a distributed manner.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.All terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs, unless otherwise defined. Commonly used predefined terms should be interpreted to be consistent with the meanings in the context of the related art and can not be interpreted as having ideal or overly formal meaning unless explicitly defined in the present application.
도 1은 본 발명의 일 실시예에 따른 순환 신경망 기반 네트워크 패킷의 위험요소 분석 시스템을 설명하는 도면이다.1 is a view for explaining a risk element analysis system of a network packet based on a cyclic neural network according to an embodiment of the present invention.
도 1을 참조하면, 순환 신경망 기반 네트워크 패킷의 위험요소 분석 시스템(100)는 송신단(110), 수신단(120) 및 순환 신경망 기반 네트워크 패킷의 위험요소 분석 장치(130)를 포함한다.Referring to FIG. 1, the RNetwork-based network packet
송신단(OLT, Optical Line, Terminal)(110)은 통신 사업자에서 관리될 수 있는 송신 단말로, 예를 들어, 광 회선 단말로 패킷 교환 공중 데이터 망(PSPDN)에서 인터페이스 기능과 같은 광대역 서비스 접속 기능을 제공할 수 있다. 송신단(110)은 네트워크 망의 데이터(신호)를 수신단(120)으로 송신할 수 있다.(OLT) 110 is a transmission terminal that can be managed by a communication service provider, for example, a broadband service connection function such as an interface function in a packet switched public data network (PSPDN) to an optical line terminal . The transmitting
수신단(ONU, Optical Network Unit)(120)은 통신 서비스 수요자를 위한 수신 단말로, 예를 들어, 광망 종단 장치로 광통신망에서 광섬유를 통해 수신된 광신호를 전기신호로 변환하여 주고 사용자의 전기신호를 광신호로 변환시켜 줄 수 있다. 수신단(120)은 송신단(110)으로부터 데이터(신호)를 수신할 수 있다.The optical network unit (ONU) 120 is a receiving terminal for a communication service user, for example, a light network terminating apparatus that converts an optical signal received through an optical fiber in an optical communication network into an electrical signal, Can be converted into an optical signal. The receiving
순환 신경망 기반 네트워크 패킷의 위험요소 분석 장치(130)는 순환 신경망 기반 네트워크 패킷의 위험요소 분석 서버를 구축하여 송신단(110)과 수신단(120) 사이에 위치되고, 송신단(110)에서 송신되는 데이터(신호)를 순환 신경망 모델을 통해 분석하여 바이러스 및 악성코드 등과 같은 위험요소를 검출할 수 있다. 여기에서, 순환 신경망(RNN, Recurrent Neural Network)은 인공 신경망(ANN, Artificial Neural Network)을 구성하는 유닛 사이의 연결이 방향성 사이클을 구성하는 신경망으로, 보다 구체적으로, 순환 신경망은 내부에 루프를 가진 네트워크를 의미하고, 송신단(110)에서 송신되는 데이터(신호)를 통해 루프를 끊임없이 갱신시킬 수 있다.The
일 실시예에서, 순환 신경망 기반 네트워크 패킷의 위험요소 분석 장치(130)는 소프트웨어 기반 개방형 네트워크 망의 물리계층을 이용하여 각각의 장애상황에 따른 순환 신경망 모델을 구현할 수 있다. 순환 신경망 기반 네트워크 패킷의 위험요소 분석 장치(130)는 구현된 순환 신경망 모델을 네트워크 망의 송신단(110)과 수신단(120)에 적용하여 각각의 장애상황에 따른 패턴 학습을 수행할 수 있다. 보다 구체적으로, 순환 신경망 기반 네트워크 패킷의 위험요소 분석 장치(130)는 수신단(120)에서 수신된 데이터(신호)를 분석하고, 분석된 데이터(신호)를 학습된 순환 신경망 모델과 비교하여 바이러스 및 악성코드 등과 같은 위험요소를 검출할 수 있고, 전송성능 열화 또는 장애를 실시간으로 분석하고 감시를 수행할 수 있다.In one embodiment, the
도 2는 도 1에 있는 순환 신경망 기반 네트워크 패킷의 위험요소 분석 장치를 설명하는 블록도이다.FIG. 2 is a block diagram illustrating an apparatus for analyzing a risk of a network packet based on a cyclic-neural network in FIG.
도 2를 참조하면, 순환 신경망 기반 네트워크 패킷의 위험요소 분석 장치(130)는 패킷 입력부(210), 제1 위험요소 결정부(220), 제2 위험요소 결정부(230), 순환 신경망 학습부(240) 및 제어부(250)를 포함한다.Referring to FIG. 2, the apparatus for analyzing a network packet based on a cyclic-neural network includes a
패킷 입력부(210)는 송신단(110)과 수신단(120) 사이에 위치할 수 있고, 송신단(110)으로부터 세션에 있는 연속적인 제1 및 제2 패킷들을 입력 받을 수 있다. 일 실시예에서, 패킷 입력부(210)는 송신단(110)에서 수신단(120)으로 송신되는 연속적인 데이터(신호)를 입력 받을 수 있다. 다른 일 실시예에서, 패킷 입력부(210)는 송수신되는 연속적인 데이터(신호)를 복사하여 위험요소를 검출할 수 있다.The
제1 위험요소 결정부(220)는 패킷 입력부(210)를 통해 입력 받은 제1 패킷에 순환 신경망 모델{RNN_h}을 적용하여 다음 패킷의 데이터 특성을 예측할 수 있고, 여기에서, 데이터 특성은 패킷에 포함된 데이터의 압축 비트맵에 해당할 수 있고, 압축 비트맵은 해시코드(Hash Code)를 압축하거나 비트 테이블 등과 같이 일부 데이터를 추출하고 압축함으로써 생성될 수 있다. 제1 위험요소 결정부(220)는 예측된 다음 패킷의 데이터 특성과 제2 패킷의 데이터 특성을 비교하여 유사도를 산출할 수 있고, 산출된 유사도를 기초로 위험요소를 결정할 수 있다. The first risk
제1 위험요소 결정부(220)는 다음 패킷의 정상여부를 예측할 수 있고, 다음 패킷의 데이터 특성과 제2 패킷의 데이터 특성 간의 유사도에 따라 세션의 상태를 결정할 수 있다. 일 실시예에서, 제1 위험요소 결정부(220)는 다음 패킷의 데이터 특성이 정상적인 것으로 예측되고 제2 패킷의 데이터 특성과의 유사도가 특정 기준 이상이면 세션을 안전한 것으로 결정할 수 있다. The first
다른 일 실시예에서, 제1 위험요소 결정부(220)는 다음 패킷의 데이터 특성이 비정상인 것으로 예측되고 제2 패킷의 데이터 특성과의 유사도가 특정 기준 이상이면 세션을 불안전한 것으로 결정할 수 있다. 보다 구체적으로, 제1 위험요소 결정부(220)는 다음 패킷의 데이터 특성이 비정상적인 것으로 예측되면 세션을 통해 과거의 특정 시간 동안 송수신되었던 패킷들에 관한 심층패킷분석을 수행하여 세션을 검증할 수 있다. 여기에서, 심층패킷분석(DPI, Deep Packet Inspection)은 인터넷을 통해 전송되는 데이터, 즉 패킷의 실제 내용까지 파악하고 분석하는 기술을 말한다. 예를 들어, 제1 위험요소 결정부(220)는 해당 세션에서 과거 1주일 동안 송수신되었던 패킷들을 수집할 수 있고, 수집된 패킷들을 심층적으로 분석하여 해당 세션 검증을 수행할 수 있다. 이러한 과정을 통해 제1 위험요소 결정부(220)는 다음 패킷의 데이터 특성이 비정상으로 예측되더라도 심층패킷분석 결과를 기초로 세션을 안전한 것으로 결정할 수 있다.In another embodiment, the first risk
제2 위험요소 결정부(230)는 다음 패킷의 데이터 특성과 제2 패킷의 데이터 특성 간의 유사도가 특정 기준 이하이면 제2 패킷에 관한 위험성 분석을 수행하여 위험요소를 재결정할 수 있고, 제2 위험요소 결정부(230)는 위험요소를 재결정하기 위하여 세션 전용의 가상 머신{VM_s}을 생성할 수 있다.If the similarity between the data characteristic of the next packet and the data characteristic of the second packet is less than a specific criterion, the second
제2 위험요소 결정부(230)는 생성된 가상 머신{VM_s}을 통해 제1 및 제2 패킷들을 격리하여 실행할 수 있고, 이러한 격리 실행과정을 통해 제2 위험요소 결정부(230)는 악성코드의 존재여부를 검출할 수 있다. 일 실시예에서, 제2 위험요소 결정부(230)는 제1 패킷과 제2 패킷을 격리 실행하기 전에 가상 머신{VM_s}에 순환 신경망 학습 에이전트를 실행하여 제2 패킷에 관한 데이터 특성을 추출할 수 있다.The second risk
제2 위험요소 결정부(230)는 제1 및 제2 패킷들을 격리하여 실행한 후에 순환 신경망 학습 에이전트를 통해 순환 신경망 학습부(240)에 악성코드의 존재여부와 제2 패킷에 관한 데이터 특성을 제공할 수 있고, 순환 신경망 학습부(240)는 제2 위험요소 결정부(230)로부터 제공된 악성코드 존재여부와 제2 패킷에 관한 데이터 특성을 저장하여 학습할 수 있다.The second
제2 위험요소 결정부(230)는 악성코드가 존재할 가능성을 나타내는 악성코드 존재 확률을 산출할 수 있다. 보다 구체적으로, 제2 위험요소 결정부(230)는 제1 및 제2 패킷들이 격리 실행될 때 나타나는 리소스 권한 요청내용 및 리소스 사용량 중 적어도 하나를 기초로 악성코드 존재 확률을 산출할 수 있다. 예를 들어, 제2 위험요소 결정부(230)는 [\\xxx.xxx.x.x에 액세스할 수 없습니다.] 또는 [이 네트워크 리소스를 사용할 권한이 없는 것 같습니다.] 등과 같은 내용을 포함하는 리소스 권한 요청내용이 추출되는 경우 악성코드가 존재할 가능성이 높다고 판단할 수 있고, 네트워크, CPU 또는 메모리 등의 리소스 사용량이 초과되면 악성코드가 존재할 가능성이 높다고 판단할 수 있다. The second
제2 위험요소 결정부(230)는 특정 기준에 따라 악성코드 존재여부를 결정할 수 있고, 악성코드 존재여부를 결정하는 특정 기준은 사용자에 의하여 기 설정될 수 있다. 보다 구체적으로, 제2 위험요소 결정부(230)는 악성코드 존재 확률이 특정 기준을 초과하면 악성코드가 존재하는 것으로 결정할 수 있다.The second
순환 신경망 학습부(240)는 제2 위험요소 결정부(230)에 의하여 위험요소 재결정 과정이 진행되면 제2 패킷에 관해 순환 신경망 학습을 수행하여 순환 신경망 모델을 갱신할 수 있다. 보다 구체적으로, 순환 신경망 학습부(240)는 다음 패킷의 데이터 특성의 예측을 위해 제2 패킷과 재결정된 위험요소를 기초로 지도 학습(Supervised Learning)을 수행할 수 있다. 순환 신경망 학습부(240)는 순환 신경망 학습 에이전트를 통해 제2 패킷에 관한 데이터 특성과 재결정된 위험요소로서 제1 및 제2 패킷들에 악성코드가 존재하는지 여부를 수신하여 지도 학습을 수행할 수 있다.The cyclic-like neural
제어부(250)는 순환 신경망 기반 네트워크 패킷의 위험요소 분석 장치(130)의 전체적인 동작을 제어하고, 패킷 입력부(210), 제1 위험요소 결정부(220), 제2 위험요소 결정부(230) 및 순환 신경망 학습부(240) 간의 데이터 흐름을 제어할 수 있다.The
도 3은 순환 신경망 기반 네트워크 패킷의 위험요소 분석 과정을 상세하게 설명하는 순서도이다.FIG. 3 is a flowchart illustrating in detail a risk element analysis process of a network packet based on a circular neural network.
패킷 입력부(210)는 송신단(110)으로부터 세션에 있는 패킷들을 입력 받을 수 있다. 보다 구체적으로, 패킷 입력부(210)는 송신단(110)과 수신단(120) 사이에서 세션에 존재하는 연속적인 패킷들, 즉 제1 및 제2 패킷들을 입력 받을 수 있다. 패킷 입력부(210)는 입력 받은 제1 및 제2 패킷들을 제1 위험요소 결정부(220)와 제2 위험요소 결정부(230)에 제공할 수 있다.The
제1 위험요소 결정부(220)는 패킷 입력부(210)로부터 제공 받은 연속적인 패킷들의 패턴 특성을 분석하여 위험요소를 결정할 수 있다. 보다 구체적으로, 제1 위험요소 결정부(220)는 제1 패킷에 순환 신경망 모델을 적용하여 제1 패킷에 대한 패턴을 분석함으로써 다음 패킷의 데이터 특성을 예측할 수 있고, 여기에서, 데이터 특성은 패킷에 포함된 데이터의 압축 비트맵에 해당할 수 있고, 압축 비트맵은 해시코드(Hash Code)를 압축하여 생성하거나 비트 테이블의 일부 데이터를 추출하고 압축하여 생성할 수 있다. 제1 위험요소 결정부(220)는 예측된 다음 패킷의 데이터 특성을 제2 패킷의 데이터 특성과 비교하여 유사도를 측정할 수 있고, 제1 위험요소 결정부(220)는 유사도 결과를 기초로 위험요소를 결정할 수 있다.The first
일 실시예에서, 제1 위험요소 결정부(220)는 다음 패킷의 데이터 특성과 제2 패킷의 데이터 특성 간의 유사도가 특정 기준 이상이면 다음 패킷의 데이터 특성이 정상인 경우와 다음 패킷의 데이터 특성이 비정상인 경우로 구분할 수 있다(단계 S310). 제1 위험요소 결정부(220)는 제1 패킷에 순환 신경망 모델을 적용한 결과에 따라 다음 패킷의 데이터 특성이 정상인 것으로 예측할 수 있다(단계 S312). 제1 위험요소 결정부(220)는 유사도가 특정 기준 이상이고 다음 패킷의 데이터 특성이 정상으로 예측되면 해당 세션을 안전한 세션으로 결정할 수 있다(단계 S314). 예를 들어, 제1 위험요소 결정부(220)는 안전한 세션으로 결정된 세션을 통해 수신되는 복수의 데이터(신호)들은 악성코드가 없는 데이터라 분류할 수 있다.In one embodiment, when the similarity between the data characteristics of the next packet and the data characteristics of the second packet is equal to or greater than a specific criterion, the first
다른 일 실시예에서, 제1 위험요소 결정부(220)는 제1 패킷에 순환 신경망 모델을 적용한 결과에 따라 다음 패킷의 데이터 특성이 비정상인 것으로 예측할 수 있다(단계 S316). 제1 위험요소 결정부(220)는 유사도가 특정 기준 이상이지만 다음 패킷의 데이터 특성이 비정상으로 예측되면 해당 세션에 대해 심층패킷분석(DPI, Deep Packet Inspection)을 수행할 수 있다(단계 S318). In another embodiment, the first
보다 구체적으로, 제1 위험요소 결정부(220)는 세션을 통해 과거의 특정 시간 동안 송수신되었던 패킷들에 관한 심층패킷분석을 수행하여 세션을 검증할 수 있고, 여기에서, 심층패킷분석은 패킷의 패턴 특성을 분석하는 것뿐만 아니라 패킷 내부의 실제 내용까지 심층적으로 분석하는 작업을 말한다. 예를 들어, 제1 위험요소 결정부(220)는 현재 시점을 기준으로 과거 1주일 동안 해당 세션에서 송수신되었던 패킷들을 수집할 수 있고, 수집한 패킷들에 대해 심층패킷분석을 수행할 수 있다. 이러한 과정을 통해 제1 위험요소 결정부(220)는 과거 패킷들의 심층패킷분석 결과를 기초로 세션 검증을 수행할 수 있고, 세션을 안전한 세션 및 불안전한 세션 중 적어도 하나로 세션 상태를 결정할 수 있다. More specifically, the first
제1 위험요소 결정부(220)는 다음 패킷의 데이터 특성이 비정상으로 예측되고 심층패킷분석을 수행하여 불안전한 세션으로 검증되면 해당 세션을 불안전한 세션으로 결정할 수 있다(단계 S320). 예를 들어, 제1 위험요소 결정부(220)는 불안전한 세션을 결정된 세션을 통해 수신되는 복수의 데이터(신호)들은 악성코드가 있는 데이터라 분류할 수 있다.If the data characteristic of the next packet is predicted to be abnormal and the in-depth packet analysis is performed and the packet is verified as an unsafe session, the first risk
제2 위험요소 결정부(230)는 다음 패킷의 데이터 특성과 제2 패킷의 데이터 특성 간의 유사도가 특정 기준 이하이면 제2 패킷에 대한 위험도 분석을 수행할 수 있고, 위험요소를 다시 결정할 수 있다(단계 S322). 제2 위험요소 결정부(230)는 제2 패킷에 대한 위험도 분석을 수행하기 위해 세션 전용의 가상 머신{VM_s}을 생성할 수 있고, 예를 들어, 제1 세션은 제1 가상 머신{VM_s1}과만 연관될 수 있으며, 제2 세션은 제2 가상 머신{VM_s2}과만 연관될 수 있다(단계 S324).If the similarity between the data characteristic of the next packet and the data characteristic of the second packet is less than a specific criterion, the second
제2 위험요소 결정부(230)는 생성된 가상 머신{VM_s}과 연동되는 순환 신경망 학습 에이전트를 실행하여 제2 패킷의 데이터 특성을 추출할 수 있다. 보다 구체적으로, 제2 위험요소 결정부(230)는 특정 세션과 연관된 가상 머신이 생성되면 가상 머신과 연동되는 순환 신경망 학습 에이전트{RNN_LA_s}를 생성할 수 있고, 가상 머신이 소멸되면 가상 머신과 연동되는 순환 신경망 학습 에이전트{RNN_LA_s}를 종료할 수 있다. 예를 들어, 제2 위험요소 결정부(230)는 제1 세션과 연관된 제1 가상 머신{VM_s1}을 생성하고, 제1 가상 머신{VM_s1}과 연동되는 제1 순환 신경망 학습 에이전트{RNN_LA_s1}를 생성한다. 여기에서, 순환 신경망 학습 에이전트는 순환 신경망 기반 네트워크 패킷의 위험요소 분석 장치(130)의 프로세스로 구현될 수 있다.The second risk
제2 위험요소 결정부(230)는 제1 및 제2 패킷들의 악성코드 존재여부를 검출할 수 있다. 보다 구체적으로, 제2 위험요소 결정부(230)는 생성된 가상 머신{VM_s}을 통해 제1 및 제2 패킷들을 격리시켜 실행함으로써 정확하게 악성코드의 존재여부를 검출할 수 있다. 예를 들어, 제2 위험요소 결정부(230)는 제1 패킷을 실행하여 제1 패킷에 대한 악성코드 존재여부를 검출할 수 있고, 제2 패킷을 실행하여 제2 패킷에 대한 악성코드 존재여부를 검출할 수 있다.The second
제2 위험요소 결정부(230)는 순환 신경망 학습 에이전트{RNN_LA_s}를 통해 순환 신경망 학습부(240)에 악성코드의 존재여부와 제2 패킷에 관한 데이터 특성을 제공할 수 있다. 보다 구체적으로, 제2 위험요소 결정부(230)는 제1 및 제2 패킷들이 격리되어 실행될 때 리소스 권한 요청내용을 기초로 악성코드 존재 확률을 산출할 수 있고, 리소스 사용량을 기초로 악성코드 존재 확률을 산출할 수 있다.The second risk
악성코드 존재 확률은 아래의 [수학식 1]을 통해 산출될 수 있다.The probability of existence of the malicious code can be calculated through the following equation (1).
[수학식 1][Equation 1]
MC = RE + WMC = RE + W
(여기에서, MC는 악성코드 존재 확률, RE는 리소스 권한 요청자의 수, W는 네트워크, 메모리 또는 CPU의 점유율들에 대한 편차(%)를 의미한다)(Where MC is the probability of malicious code presence, RE is the number of resource privilege requesters, and W is the deviation (%) of network, memory or CPU occupancy)
예를 들어, 제2 위험요소 결정부(230)는 메모리 사용량이 높지만 CPU 점유율은 낮은 경우 악성코드가 존재할 가능성이 높다고 판단할 수 있고, 메모리 사용량이 낮지만 CPU 점유율이 높은 경우 악성코드가 존재할 가능성이 높다고 판단할 수 있다. 즉, 제2 위험요소 결정부(230)는 네트워크, 메모리 또는 CPU의 점유율들에 대한 편차가 많이 나는 경우 악성코드 존재확률이 높다고 판단할 수 있다.For example, the second
일 실시예에서, 제2 위험요소 결정부(230)는 악성코드 존재 확률이 특정 기준을 초과하지 않으면 악성코드가 존재하지 않는 것으로 결정할 수 있다(단계 S326). 보다 구체적으로, 제2 위험요소 결정부(230)는 악성코드 존재 확률을 기초로 제1 및 제2 패킷들에 악성코드가 존재하지 않는 것으로 결정되면 해당 세션이 안전한 것으로 결정할 수 있다.In one embodiment, the second
다른 일 실시예에서, 제2 위험요소 결정부(230)는 악성코드 존재 확률이 특정 기준을 초과하면 악성코드가 존재하는 것으로 결정할 수 있다(단계 S328). 보다 구체적으로, 제2 위험요소 결정부(240)는 악성코드 존재 확률을 기초로 제1 및 제2 패킷들에 악성코드가 존재하는 것으로 결정되면 해당 세션이 불안전한 것으로 결정할 수 있다.In another embodiment, the second
순환 신경망 학습부(240)는 제1 위험요소 결정부(220)와 제2 위험요소 결정부(230)를 통해 분석된 제1 및 제2 패킷들에 관한 위험요소 분석결과를 학습할 수 있다(단계 S330). 보다 구체적으로, 순환 신경망 학습부(240)는 제2 위험요소 결정부(230)를 통해 위험요소를 다시 결정하는 과정이 진행되면 제2 패킷에 관한 순환 신경망 학습을 수행할 수 있다. 순환 신경망 학습부(240)는 제2 패킷에 관한 순환 신경망 학습을 수행함으로써 순환 신경망 모델을 갱신할 수 있다. 예를 들어, 순환 신경망 학습부(240)는 제1 위험요소 결정부(220)를 통해 제1 패킷이 안전한 것으로 결정되면 제1 패킷에 대해 악성코드가 없는 패킷으로 학습을 수행할 수 있다.The Cyclic Neural
순환 신경망 학습부(240)는 다음 패킷의 데이터 특성을 예측하기 위해 제2 패킷과 제2 위험요소 결정부(230)를 통해 재결정된 위험요소를 기초로 지도 학습(supervised learning)을 수행할 수 있다. 보다 구체적으로, 순환 신경망 학습부(240)는 순환 신경망 학습 에이전트를 통해 제2 패킷에 관한 데이터 특성과 재결정된 위험요소로서 제1 및 제2 패킷들에 악성코드가 존재하는지 여부를 수신하여 지도 학습을 수행할 수 있다. 순환 신경망 학습부(240)는 학습된 순환 신경망 모델을 다음 네트워크 패킷의 위험요소를 분석할 때 사용할 수 있다. 즉, 순환 신경망 기반 네트워크 패킷의 위험요소 분석 장치(130)는 세션에 있는 연속적인 패킷들의 특성과 학습된 순환 신경망 모델의 특성을 지속적으로 비교 분석함으로써 복수의 패킷들을 위험요소로부터 방어할 수 있고, 전송성능 열화, 장애원인 탐지 및 위험요소 분석을 통해 네트워크의 생존성과 신뢰성을 극대화 할 수 있다.The Cyclic Neural
도 4는 순환 신경망 기반 네트워크 패킷의 위험요소 분석 과정을 요약적으로 설명하는 순서도이다.4 is a flow chart for explaining a risk analysis process of a network packet based on a circular neural network.
도 4에서, 패킷 입력부(210)는 송신단(110)으로부터 세션에 있는 연속적인 제1 및 제2 패킷들을 입력 받을 수 있다(단계 S410).In FIG. 4, the
제1 위험요소 결정부(220)는 제1 패킷에 순환 신경망 모델을 적용하여 다음 패킷의 데이터 특성을 예측할 수 있고, 다음 패킷의 데이터 특성과 제2 패킷의 데이터 특성 간의 유사도를 기초로 위험요소를 결정할 수 있다(단계 S420). 보다 구체적으로, 제1 위험요소 결정부(220)는 다음 패킷의 데이터 특성과 유사도에 따라 세션의 상태를 결정할 수 있다. 제1 위험요소 결정부(220)는 유사도가 특정 기준 이상이고 다음 패킷의 데이터 특성이 정상이면 세션을 안전한 것으로 결정할 수 있고, 그렇지 않으면 심층패킷분석을 추가로 수행하여 세션의 상태를 결정할 수 있다.The first
제2 위험요소 결정부(230)는 유사도가 특정 기준 이하이면 제2 패킷에 관한 위험성 분석을 수행하여 위험요소를 재결정할 수 있다(단계 S430). 보다 구체적으로, 제2 위험요소 결정부(230)는 제2 패킷에 관한 위험성 분석을 수행하기 위하여 세션 전용의 가상 머신을 생성할 수 있고, 생성된 가상 머신과 연동되는 순환 신경망 학습 에이전트를 생성할 수 있다. 제2 위험요소 결정부(230)는 순환 신경망 학습 에이전트를 통해 제1 및 제2 패킷들에 악성코드 존재여부를 검출할 수 있다.If the degree of similarity is below a certain criterion, the second
순환 신경망 학습부(240)는 위험요소 재결정이 진행되면 제2 패킷에 관해 순환 신경망 학습을 수행하여 순환 신경망 모델을 갱신할 수 있다(단계 S440). 보다 구체적으로, 순환 신경망 학습부(240)는 제1 패킷과 제2 패킷에 대해 순환 신경망 학습을 수행할 수 있고, 학습된 순환 신경망을 이용하여 네트워크 패킷의 위험요소를 분석할 수 있다.The cyclic-like neural
상기에서는 본 출원의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 통상의 기술자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 출원을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it will be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as set forth in the following claims And changes may be made without departing from the spirit and scope of the invention.
100: 순환 신경망 기반 네트워크 패킷의 위험요소 분석 시스템
110: 송신단
120: 수신단
130: 순환 신경망 기반 네트워크 패킷의 위험요소 분석 장치
210: 패킷 입력부
220: 제1 위험요소 결정부
230: 제2 위험요소 결정부
240: 순환 신경망 학습부
250: 제어부100: Risk analysis system for network packets based on cyclic neural networks
110:
120: Receiver
130: Cyclic neural network based network packet risk analysis device
210: Packet input section
220: first risk factor determining section
230: second risk determining section
240: Cyclic Neural Network Learning Unit
250:
Claims (20)
상기 제1 패킷에 순환 신경망 모델을 적용하여 다음 패킷의 데이터 특성을 예측하고 상기 다음 패킷의 데이터 특성과 상기 제2 패킷의 데이터 특성 간의 유사도를 기초로 위험요소를 결정하는 제1 위험요소 결정부;
상기 유사도가 특정 기준 이하이면 상기 제2 패킷에 관한 위험성 분석을 수행하여 상기 위험요소를 재결정하는 제2 위험요소 결정부; 및
상기 재결정이 진행되면 상기 제2 패킷에 관해 순환 신경망 학습을 수행하여 상기 순환 신경망 모델을 갱신하는 순환 신경망 학습부를 포함하되,
상기 제2 위험요소 결정부는
상기 세션 전용의 가상 머신을 생성하고, 상기 가상 머신을 통해 상기 제1 및 제2 패킷들을 격리 실행하여 악성코드의 존재여부를 검출하고,
상기 제1 및 제2 패킷들이 격리 실행될 때 나타나는 리소스 권한 요청내용 및 리소스 사용량 중 적어도 하나를 기초로 상기 악성코드가 존재할 가능성을 나타내는 악성코드 존재 확률을 산출하는 것을 특징으로 하는 순환 신경망 기반 네트워크 패킷의 위험요소 분석 장치.
A packet input unit for receiving first and second consecutive packets in a session from a transmitting end;
A first risk factor determiner for applying a cyclic neural network model to the first packet to predict a data characteristic of a next packet and to determine a risk factor based on a similarity between the data characteristic of the next packet and the data characteristic of the second packet;
A second risk factor determiner for redetermining the risk factor by performing a risk analysis on the second packet if the similarity is less than a specific criterion; And
And a circular neural network learning unit for performing a circular neural network learning on the second packet when the recrystallization proceeds, thereby updating the circular neural network model,
The second risk determining unit
Generating a virtual machine dedicated to the session, isolating and executing the first and second packets through the virtual machine to detect the presence of a malicious code,
Based on at least one of a resource permission request content and a resource usage amount appearing when the first and second packets are quarantined, calculates a malicious code presence probability indicating a possibility that the malicious code is present Risk analysis equipment.
상기 다음 패킷의 데이터 특성이 정상적인 것으로 예측되고 상기 유사도가 상기 특정 기준 이상이면 상기 세션을 안전한 것으로 결정하는 것을 특징으로 하는 순환 신경망 기반 네트워크 패킷의 위험요소 분석 장치.
2. The apparatus of claim 1, wherein the first risk determining unit
And determines that the session is secure if the data characteristic of the next packet is predicted to be normal and the similarity is not less than the specific criterion.
상기 다음 패킷의 데이터 특성이 비정상적인 것으로 예측되고 상기 유사도가 상기 특정 기준 이상이면 상기 세션을 불안전한 것으로 결정하는 것을 특징으로 하는 순환 신경망 기반 네트워크 패킷의 위험요소 분석 장치.
2. The apparatus of claim 1, wherein the first risk determining unit
And determines that the session is unstable if the data characteristic of the next packet is predicted to be abnormal and the similarity is not less than the specific criterion.
상기 세션을 통해 과거의 특정 시간 동안 송수신되었던 패킷들에 관한 심층패킷분석(DPI, Deep Packet Inspection)을 수행하여 상기 세션을 검증하는 것을 특징으로 하는 순환 신경망 기반 네트워크 패킷의 위험요소 분석 장치.
4. The apparatus of claim 3, wherein the first risk determining unit
And the session is verified by performing Deep Packet Inspection (DPI) on the packets transmitted and received during a specific time in the past through the session.
상기 격리 실행 전에 상기 가상 머신에 순환 신경망 학습 에이전트를 실행하여 상기 제2 패킷에 관한 데이터 특성을 추출하는 것을 특징으로 하는 순환 신경망 기반 네트워크 패킷의 위험요소 분석 장치.
2. The apparatus of claim 1, wherein the second risk determining unit
Wherein the apparatus is configured to execute a recursive neural network learning agent in the virtual machine before executing the isolation to extract data characteristics of the second packet.
상기 격리 실행 후에 상기 순환 신경망 학습 에이전트를 통해 상기 순환 신경망 학습부에 상기 악성코드의 존재여부와 상기 제2 패킷에 관한 데이터 특성을 제공하는 것을 특징으로 하는 순환 신경망 기반 네트워크 패킷의 위험요소 분석 장치.
7. The apparatus of claim 6, wherein the second risk determiner
Wherein the presence / absence of the malicious code and the data characteristic of the second packet are provided to the Cyclic Neural Network Learning Unit through the Cyclic Neural Network Learning Agent after the quarantine execution.
상기 악성코드 존재 확률이 특정 기준을 초과하면 상기 악성코드가 존재하는 것으로 결정하는 것을 특징으로 하는 순환 신경망 기반 네트워크 패킷의 위험요소 분석 장치.
2. The apparatus of claim 1, wherein the second risk determining unit
And determines that the malicious code exists if the probability of existence of the malicious code exceeds a specific criterion.
상기 다음 패킷의 데이터 특성의 예측을 위해 상기 제2 패킷과 상기 재결정된 위험요소를 기초로 지도 학습(supervised learning)을 수행하는 것을 특징으로 하는 순환 신경망 기반 네트워크 패킷의 위험요소 분석 장치.
The apparatus of claim 1, wherein the cyclic-neural network learning unit
Wherein supervised learning is performed on the basis of the second packet and the redetermined risk element for predicting a data characteristic of the next packet.
순환 신경망 학습 에이전트를 통해 상기 제2 패킷에 관한 데이터 특성과 상기 재결정된 위험요소로서 상기 제1 및 제2 패킷들에 악성코드가 존재하는지 여부를 수신하여 상기 지도 학습을 수행하는 것을 특징으로 하는 순환 신경망 기반 네트워크 패킷의 위험요소 분석 장치.
11. The apparatus of claim 10, wherein the cyclic-neural network learning unit
Wherein the learning is performed by receiving a data characteristic of the second packet and whether or not a malicious code exists in the first and second packets as the re-determined risk element through a CNS learning agent, A neural network - based network packet risk analysis device.
상기 패킷에 포함된 데이터의 압축 비트맵에 해당하는 것을 특징으로 하는 순환 신경망 기반 네트워크 패킷의 위험요소 분석 장치.
2. The method of claim 1,
And a compressed bitmap of the data included in the packet.
(a) 송신단으로부터 세션에 있는 연속적인 제1 및 제2 패킷들을 입력받는 단계;
(b) 상기 제1 패킷에 순환 신경망 모델을 적용하여 다음 패킷의 데이터 특성을 예측하고 상기 다음 패킷의 데이터 특성과 상기 제2 패킷의 데이터 특성 간의 유사도를 기초로 위험요소를 결정하는 단계;
(c) 상기 유사도가 특정 기준 이하이면 상기 제2 패킷에 관한 위험성 분석을 수행하여 상기 위험요소를 재결정하는 단계; 및
(d) 상기 재결정이 진행되면 상기 제2 패킷에 관해 순환 신경망 학습을 수행하여 상기 순환 신경망 모델을 갱신하는 단계를 포함하되,
상기 (c) 단계는
상기 세션 전용의 가상 머신을 생성하고, 상기 가상 머신을 통해 상기 제1 및 제2 패킷들을 격리 실행하여 악성코드의 존재여부를 검출하는 단계를 포함하고,
상기 제1 및 제2 패킷들이 격리 실행될 때 나타나는 리소스 권한 요청내용 및 리소스 사용량 중 적어도 하나를 기초로 상기 악성코드가 존재할 가능성을 나타내는 악성코드 존재 확률을 산출하는 단계를 포함하는 것을 특징으로 하는 순환 신경망 기반 네트워크 패킷의 위험요소 분석 방법.
A method for analyzing a risk of a network packet based on a cyclic neural network based on a cyclic neural network,
(a) receiving first and second consecutive packets in a session from a transmitting end;
(b) applying a circular neural network model to the first packet to predict a data characteristic of a next packet, and determining a risk factor based on a similarity between the data characteristic of the next packet and the data characteristic of the second packet;
(c) if the similarity is less than a specific criterion, performing a risk analysis on the second packet and re-determining the risk factor; And
(d) performing the loop neural network learning on the second packet when the recrystallization proceeds, and updating the circular neural network model,
The step (c)
Generating a virtual machine dedicated to the session and isolating the first and second packets through the virtual machine to detect the presence of a malicious code,
And calculating a malicious code presence probability indicating a possibility that the malicious code is present based on at least one of a content of a resource permission request and a resource usage amount appearing when the first and second packets are quarantine executed. Based network packet risk analysis.
상기 다음 패킷의 데이터 특성이 정상적인 것으로 예측되고 상기 유사도가 상기 특정 기준 이상이면 상기 세션을 안전한 것으로 결정하는 단계를 포함하는 것을 특징으로 하는 순환 신경망 기반 네트워크 패킷의 위험요소 분석 방법.
14. The method of claim 13, wherein step (b)
And determining that the session is secure if the data characteristic of the next packet is predicted to be normal and the similarity is not less than the specific criterion.
상기 다음 패킷의 데이터 특성이 비정상적인 것으로 예측되고 상기 유사도가 상기 특정 기준 이상이면 상기 세션을 불안전한 것으로 결정하는 단계를 포함하는 것을 특징으로 하는 순환 신경망 기반 네트워크 패킷의 위험요소 분석 방법.
14. The method of claim 13, wherein step (b)
And determining that the session is unstable if the data characteristic of the next packet is predicted to be abnormal and the similarity is greater than or equal to the specific criterion.
상기 세션을 통해 과거의 특정 시간 동안 송수신되었던 패킷들에 관한 심층패킷분석(DPI, Deep Packet Inspection)을 수행하여 상기 세션을 검증하는 단계를 더 포함하는 것을 특징으로 하는 순환 신경망 기반 네트워크 패킷의 위험요소 분석 방법.
16. The method of claim 15, wherein step (b)
Further comprising the step of performing a deep packet inspection (DPI) on the packets transmitted and received during the past specific time through the session to verify the session. Analysis method.
상기 격리 실행 전에 상기 가상 머신에 순환 신경망 학습 에이전트를 실행하여 상기 제2 패킷에 관한 데이터 특성을 추출하는 단계를 더 포함하는 것을 특징으로 하는 순환 신경망 기반 네트워크 패킷의 위험요소 분석 방법.
14. The method of claim 13, wherein step (c)
Further comprising the step of executing a recursive neural network learning agent to the virtual machine before executing the quarantine to extract data characteristics of the second packet.
상기 다음 패킷의 데이터 특성의 예측을 위해 상기 제2 패킷과 상기 재결정된 위험요소를 기초로 지도 학습(supervised learning)을 수행하는 단계를 포함하는 것을 특징으로 하는 순환 신경망 기반 네트워크 패킷의 위험요소 분석 방법.
14. The method of claim 13, wherein step (d)
And performing supervised learning based on the second packet and the redetermined risk element for predicting the data characteristic of the next packet. .
순환 신경망 학습 에이전트를 통해 상기 제2 패킷에 관한 데이터 특성과 상기 재결정된 위험요소로서 상기 제1 및 제2 패킷들에 악성코드가 존재하는지 여부를 수신하여 상기 지도 학습을 수행하는 단계를 더 포함하는 것을 특징으로 하는 순환 신경망 기반 네트워크 패킷의 위험요소 분석 방법.20. The method of claim 19, wherein step (d)
Further comprising the step of receiving the data characteristic of the second packet through the CNS learning agent and whether the malicious code exists in the first and second packets as the re-determined risk element, and performing the map learning A method for analyzing risk factors of a network packet based on a cyclic neural network.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160134556A KR101927100B1 (en) | 2016-10-17 | 2016-10-17 | Method for analyzing risk element of network packet based on recruuent neural network and apparatus analyzing the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160134556A KR101927100B1 (en) | 2016-10-17 | 2016-10-17 | Method for analyzing risk element of network packet based on recruuent neural network and apparatus analyzing the same |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180042019A KR20180042019A (en) | 2018-04-25 |
KR101927100B1 true KR101927100B1 (en) | 2018-12-10 |
Family
ID=62088738
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160134556A KR101927100B1 (en) | 2016-10-17 | 2016-10-17 | Method for analyzing risk element of network packet based on recruuent neural network and apparatus analyzing the same |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101927100B1 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102291869B1 (en) * | 2019-12-31 | 2021-08-19 | 아주대학교산학협력단 | Method and apparatus for anomaly detection of traffic pattern |
KR102420495B1 (en) * | 2020-12-09 | 2022-07-14 | 디노플러스 (주) | Low-latency cloud service providing device using deep learning-based data packet processing acceleration technology |
KR102525593B1 (en) | 2021-05-04 | 2023-04-25 | 엘아이지넥스원 주식회사 | Network attack detection system and network attack detection method |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101621019B1 (en) * | 2015-01-28 | 2016-05-13 | 한국인터넷진흥원 | Method for detecting attack suspected anomal event |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080083029A1 (en) * | 2006-09-29 | 2008-04-03 | Alcatel | Intelligence Network Anomaly Detection Using A Type II Fuzzy Neural Network |
JP6313730B2 (en) * | 2015-04-10 | 2018-04-18 | タタ コンサルタンシー サービシズ リミテッドTATA Consultancy Services Limited | Anomaly detection system and method |
-
2016
- 2016-10-17 KR KR1020160134556A patent/KR101927100B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101621019B1 (en) * | 2015-01-28 | 2016-05-13 | 한국인터넷진흥원 | Method for detecting attack suspected anomal event |
Also Published As
Publication number | Publication date |
---|---|
KR20180042019A (en) | 2018-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3635914B1 (en) | Anomaly detection in computer networks | |
US20230092522A1 (en) | Data packet processing method, apparatus, and electronic device, computer-readable storage medium, and computer program product | |
US10757135B2 (en) | Bot characteristic detection method and apparatus | |
US20120317306A1 (en) | Statistical Network Traffic Signature Analyzer | |
CA3159619C (en) | Packet processing method and apparatus, device, and computer-readable storage medium | |
US10225269B2 (en) | Method and apparatus for detecting network attacks and generating attack signatures based on signature merging | |
CN108270722B (en) | Attack behavior detection method and device | |
KR101927100B1 (en) | Method for analyzing risk element of network packet based on recruuent neural network and apparatus analyzing the same | |
WO2016080232A1 (en) | Malicious communication pattern extraction device, malicious communication pattern extraction method, and malicious communication pattern extraction program | |
KR20130085570A (en) | Method and terminal apparatus of cyber-attack prevention | |
CN107209834B (en) | Malicious communication pattern extraction device, system and method thereof, and recording medium | |
JP2015015581A (en) | Monitoring device, monitoring method, and program | |
US9578039B2 (en) | OAM security authentication method and OAM transmitting/receiving devices | |
CN106790299B (en) | Wireless attack defense method and device applied to wireless Access Point (AP) | |
JP2018518127A (en) | Passive security analysis with inline active security devices | |
US10129277B1 (en) | Methods for detecting malicious network traffic and devices thereof | |
CN106656966B (en) | Method and device for intercepting service processing request | |
CN107426136B (en) | Network attack identification method and device | |
CN114553730B (en) | Application identification method and device, electronic equipment and storage medium | |
US10972500B2 (en) | Detection system, detection apparatus, detection method, and detection program | |
WO2019047693A1 (en) | Method and device for carrying out wifi network security monitoring | |
KR102182675B1 (en) | Wireless device identification method and system using machine learning | |
KR101587845B1 (en) | Method for detecting distributed denial of services attack apparatus thereto | |
KR20200014139A (en) | The method of defense against distributed denial-of-service attack on the heterogeneous iot network and the system thereof | |
CN113328976B (en) | Security threat event identification method, device and equipment |
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 |