KR102002880B1 - Method for detecting malcious packets based on machine learning model and apparatus using the same - Google Patents

Method for detecting malcious packets based on machine learning model and apparatus using the same Download PDF

Info

Publication number
KR102002880B1
KR102002880B1 KR1020190027335A KR20190027335A KR102002880B1 KR 102002880 B1 KR102002880 B1 KR 102002880B1 KR 1020190027335 A KR1020190027335 A KR 1020190027335A KR 20190027335 A KR20190027335 A KR 20190027335A KR 102002880 B1 KR102002880 B1 KR 102002880B1
Authority
KR
South Korea
Prior art keywords
malicious
packet
module
malicious packet
similar
Prior art date
Application number
KR1020190027335A
Other languages
Korean (ko)
Inventor
김영민
신나라
Original Assignee
(주)시큐레이어
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)시큐레이어 filed Critical (주)시큐레이어
Priority to KR1020190027335A priority Critical patent/KR102002880B1/en
Application granted granted Critical
Publication of KR102002880B1 publication Critical patent/KR102002880B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Abstract

According to the present disclosure, disclosed are a method for detecting a malicious packet from a packet stream or a log corresponding to the packet stream, and a network apparatus using the same. More particularly, in the method, the network apparatus obtains analysis target data from the packet stream or the corresponding log through a data collection module, determines whether the analysis target data is malicious through a malicious packet discrimination module by a generative adversarial network (GAN), and provides an external entity with data determined to be malicious in the analysis target data.

Description

기계 학습 모델에 기반하여 악성 패킷을 검출하는 방법 및 이를 이용한 장치{METHOD FOR DETECTING MALCIOUS PACKETS BASED ON MACHINE LEARNING MODEL AND APPARATUS USING THE SAME}TECHNICAL FIELD [0001] The present invention relates to a method for detecting malicious packets based on a machine learning model, and a device using the method. [0002]

본 개시서에는 패킷 스트림 또는 이에 대응하는 로그로부터 악성 패킷을 검출하는 방법 및 이를 이용한 네트워크 장비가 개시된다. 구체적으로, 본 발명에 따른 방법에 의하면, 네트워크 장비가, 데이터 수집 모듈을 통하여 상기 패킷 스트림 또는 이에 대응하는 로그로부터 분석 대상 데이터(analysis target data)를 획득하고, 생성적 적대적 신경망(GAN; generative adversarial network)에 의한 악성 패킷 판별 모듈을 통하여 상기 분석 대상 데이터의 악성 여부를 판별하며, 상기 분석 대상 데이터 중 악성으로 판별된 데이터를 외부 엔티티에 제공한다.Disclosed herein are a method for detecting malicious packets from a packet stream or a corresponding log and a network equipment using the same. In particular, according to the method of the present invention, a network device obtains analysis target data from the packet stream or a corresponding log through a data collection module, and generates a generative adversarial (GAN) network to determine maliciousness of the analysis target data, and provides malicious data determined to be malicious among the analysis target data to an external entity.

인터넷과 같은 네트워크 및 무선 통신 기술의 발전으로 인하여 유무선 통신의 사용이 계속 증가하고 있다. BACKGROUND ART [0002] With the development of network and wireless communication technologies such as the Internet, the use of wired and wireless communication continues to increase.

그러나 최근 유무선 통신 네트워크 상에서 악의적 트래픽 공격 행위, 예를 들어 서비스 거부(Denial of Service; DoS) 공격, SQL(structured query language; 구조화 질의어) 인젝션(injection) 공격 등이 빈번하게 발생하는 문제가 대두되고 있다. However, recently, malicious traffic attacks such as denial of service (DoS) attacks and structured query language (SQL) injection attacks have frequently occurred on wired / wireless communication networks .

네트워크에 연결된 노드(혹은 장치)를 악의적으로 공격하여 해당 노드의 자원을 부족하게 만들어 원래 의도된 용도로 사용하지 못하게 하는 공격, 애플리케이션(응용 프로그램) 상의 보안상 허점을 의도적으로 이용하여 악의적인 SQL 문을 실행되게 함으로써 데이터베이스를 비정상적으로 조작하는 공격 등, 수단, 동기, 표적은 다양할 수 있지만, 이러한 공격으로 인하여 보통 인터넷 사이트 또는 서비스에서 노출되어서는 아니되는 정보들, 예컨대, 회사의 기밀 또는 개인정보들이 노출되거나 인터넷 사이트 또는 서비스의 기능이 일시적 또는 무기한으로 방해되거나 중단되는 사태가 초래될 수 있다. 따라서 이와 같은 악성 행위에 대한 탐지 등의 대비가 필요하다.Attacks that attack malicious nodes (or devices) connected to the network and cause them to run out of resources for their intended purpose, intentionally exploiting security loopholes in applications (application programs) Such as an attack to unauthorized manipulation of a database by causing the attack to be executed by an attacker or a victim of the attack, Or the function of the Internet site or service may be interrupted or interrupted temporarily or indefinitely. Therefore, it is necessary to prepare for detection of such malicious behavior.

악성 행위로 분류되는 특정 공격 행위나 이상 행위의 이벤트를 탐지하여 이에 대한 대응을 하기 위하여 종래의 로그, 패킷 수집 및 분석 시스템, 혹은 보안 위협 탐지 시스템에서는 다양한 방법들이 이용되고 있다. Various methods are used in conventional logs, packet collection and analysis systems, or security threat detection systems in order to detect and respond to specific attacks or abnormal events classified as malicious acts.

도 1에 예시된 종래의 침입 차단 시스템에서는 Snort, etpro와 같이 주로 미리 정의된 룰셋(rule set; 규칙 세트)을 이용하여 악성 행위를 감지하여 이벤트를 발생시켰다. 여기에서 유입된 네트워크 패킷은 일반적으로 라우터(110), 방화벽(120)을 거쳐 침입 차단 모듈(130; intrusion prevention system; IPS)에 전달되고, 침입 차단 모듈(130)은 룰셋에 해당하거나 해당하지 않는 것을 근거로 악성 행위에 해당하는 악성 패킷을 탐지하였으며, 이는 이벤트로서 관리자 서버(140)를 통하여 보안 관리자에게 보고되었고, 악성으로 탐지되지 않은 패킷은 스위치(150)를 통하여 서버/PC, 기타 내부 서비스를 위한 장치에 전달되었다.In the conventional intrusion blocking system illustrated in FIG. 1, a malicious behavior is detected by using a predefined rule set (e.g., Snort and etpro) to generate an event. The incoming network packet is generally transmitted to the intrusion prevention system (IPS) 130 via the router 110 and the firewall 120. The intrusion blocking module 130 transmits the network packet corresponding to the rule set The malicious packet corresponding to the malicious action is reported to the security manager through the administrator server 140 as an event and the packet not detected as malicious is transmitted to the server / Lt; / RTI >

이와 같은 환경에서는 IPS(130)에서의 과도한 탐지로 수많은 이벤트가 발생되어 보안 관리자들의 업무 피로도를 증가시키는 문제가 있었다. 특히, 유입된 네트워크 패킷의 페이로드(payload)에서 내용(content) 값이 동일하지 않고 유사한 문자열이 들어왔음에도 해당 룰셋과 매칭된다고 판정되어 오탐이 발생하는 경우가 있다. 예컨대, 내용 값 내의 단어가 'app'인데, 'application'이라는 패킷의 내용이 들어오면 이는 정상 패킷에 해당함에도 악성으로 오탐하는 경우가 있었다.In such an environment, excessive detection by the IPS 130 causes a lot of events, which increases security administrators' work fatigue. Particularly, even if a payload of an incoming network packet has a content value that is not identical to a payload of a similar character string, it may be determined that the payload matches with the rule set, thereby causing false positives. For example, if the word 'app' in the content value is present and the contents of the packet 'application' come in, it may be malicious even if it corresponds to a normal packet.

이에 본 발명자는 IPS(130)에서 탐지된 패킷 혹은 탐지 로그 내의 다양한 내용 값을 생성적 적대적 신경망(GAN; generative adversarial network) 알고리즘을 이용하여 학습함으로써 악성 패킷에 대한 탐지 정확도를 향상시키는 방법 및 시스템을 제안하고자 한다.Accordingly, the inventor of the present invention has developed a method and system for improving the detection accuracy of malicious packets by learning various content values in the detected packet or the detection log using the generative adversarial network (GAN) algorithm of the IPS 130 I would like to propose.

10-1776662 B10-1776662 B

본 발명은 생성적 적대적 신경망과 같은 기계 학습 시스템을 적용함으로써, 가짜 악성 패킷에 의한 보안 이벤트의 발생을 줄이는 것을 높이는 것을 목적으로 한다.The present invention aims at enhancing the reduction of the occurrence of security events by fake malicious packets by applying a machine learning system such as a constructive hostile neural network.

즉, 본 발명은 종래 IPS에서 룰셋에만 의존하던 방식의 악성 패킷에 관한 높은 위양성을 줄여 관제자 등 사용자로 하여금 악성 패킷에 의하지 않은 보안 이벤트에 대한 불필요한 확인 시간을 절약함으로서 사용자의 정신적 노력을 절감하게 하는 것을 목적으로 한다.That is, according to the present invention, it is possible to reduce the high false positives related to the malicious packet in the conventional IPS-dependent method, saving the unnecessary confirmation time for the security events not related to the malicious packet by the user such as the supervisor, .

따라서 본 발명은 악성 패킷에 의한 공격으로부터 인터넷 사이트 또는 서비스를 보호하기 위한 효율성을 제고하기 위한 목적의 것이다.Therefore, the present invention aims to improve efficiency for protecting an Internet site or service from an attack by a malicious packet.

상기한 바와 같은 본 발명의 목적을 달성하고, 후술하는 본 발명의 특징적인 효과를 실현하기 위한 본 발명의 특징적인 구성은 하기와 같다.The characteristic configuration of the present invention for achieving the object of the present invention as described above and realizing the characteristic effects of the present invention described below is as follows.

본 발명의 일 태양에 따르면, 패킷 스트림(packet stream) 또는 이에 대응하는 로그(log)로부터 악성 패킷을 검출하는 방법이 제공되는바, 그 방법은, (a) 네트워크 장비가, 데이터 수집 모듈을 통하여 상기 패킷 스트림 또는 이에 대응하는 로그로부터 분석 대상 데이터(analysis target data)를 획득하거나 상기 네트워크 장비에 연동되는 타 장치로 하여금 상기 데이터 수집 모듈을 통하여 상기 분석 대상 데이터를 획득하도록 지원하는 단계; (b) 상기 네트워크 장비가, 생성적 적대적 신경망(GAN; generative adversarial network)에 의한 악성 패킷 판별 모듈을 통하여 상기 분석 대상 데이터의 악성 여부를 판별하거나 상기 타 장치로 하여금 상기 악성 패킷 판별 모듈을 통하여 상기 분석 대상 데이터의 악성 여부를 판별하도록 지원하는 단계; 및 (c) 상기 네트워크 장비가, 상기 분석 대상 데이터 중 악성으로 판별된 데이터를 외부 엔티티에 제공하거나 상기 타 장치로 하여금 상기 외부 엔티티에 제공하도록 지원하는 단계를 포함한다.According to an aspect of the invention, a method is provided for detecting malicious packets from a packet stream or a corresponding log, the method comprising the steps of: (a) Acquiring analysis target data from the packet stream or a log corresponding to the packet stream or supporting another device interworking with the network equipment to acquire the analysis target data through the data acquisition module; (b) the network device determines maliciousness of the analysis object data through a malicious packet discrimination module by a generative adversarial network (GAN), or makes the other device detect the malicious packet through the malicious packet discrimination module A step of determining whether the data to be analyzed is malicious; And (c) supporting the network device to provide data determined as malicious among the analysis target data to an external entity or to provide the other device with the external entity.

본 발명의 다른 태양에 따르면, 본 발명에 따른 방법을 수행하도록 구현된 인스트럭션들(instructions)을 포함하는 컴퓨터 프로그램도 제공된다.According to another aspect of the present invention, there is also provided a computer program comprising instructions implemented to perform the method according to the present invention.

본 발명의 또 다른 태양에 따르면, 패킷 스트림 또는 이에 대응하는 로그로부터 악성 패킷을 검출하는 네트워크 장비, 즉 컴퓨팅 장치가 제공되는바, 그 컴퓨팅 장치는, 상기 패킷 스트림 또는 이에 대응하는 로그로부터 분석 대상 데이터(analysis target data)를 획득하는 통신부 및 프로세서를 포함하고, 그 프로세서는, 생성적 적대적 신경망(GAN; generative adversarial network)에 의한 악성 패킷 판별 모듈을 통하여 상기 분석 대상 데이터의 악성 여부를 판별하거나 상기 통신부를 통하여 연동되는 타 장치로 하여금 상기 악성 패킷 판별 모듈을 통하여 상기 분석 대상 데이터의 악성 여부를 판별하도록 지원하는 프로세스; 및 상기 분석 대상 데이터 중 악성으로 판별된 데이터를 외부 엔티티에 제공하거나 상기 타 장치로 하여금 상기 외부 엔티티에 제공하도록 지원하는 프로세스를 수행한다.According to still another aspect of the present invention, there is provided a network device, i.e., a computing device, for detecting malicious packets from a packet stream or a corresponding log, the computing device comprising: and a processor for determining maliciousness of the analysis object data through a malicious packet discrimination module based on a generative adversarial network (GAN) A malicious packet detection module for detecting maliciousness of the analysis target data; And provides data to the external entity, which is determined to be malicious, among the data to be analyzed, or to provide the other device with the external entity.

본 개시서의 예시적인 실시 예에 따르면, 생성적 적대적 신경망 등의 최신 기계 학습 시스템을 적용함으로써 악성으로 의심되었지만 실제는 악성이 아닌 패킷에 관한 오탐지를 줄일 수 있는 효과가 있다.According to an exemplary embodiment of the present disclosure, there is an effect of reducing false positives regarding packets that are suspected to be malicious but actually not malicious by applying the latest machine learning system such as a hostile antagonistic neural network.

따라서, 예시적인 실시 예에 따르면, 기계 학습 모델에 기반하여 악성 패킷에 대한 탐지 정확도가 향상되는 효과가 있으며, 본 발명의 방법을 이용함에 따라 진짜 악성 패킷에 관한 데이터가 축적되고 이를 다시 훈련용 데이터로 이용함으로써 악성 패킷 판별 모듈에 있어 지속적으로 그 탐지 성능이 개선될 수 있는 효과도 있다.Therefore, according to the exemplary embodiment, detection accuracy of malicious packets is improved based on a machine learning model. By using the method of the present invention, data about real malicious packets are accumulated, The detection performance of the malicious packet discrimination module can be continuously improved.

본 발명의 실시 예의 설명에 이용되기 위하여 첨부된 아래 도면들은 본 발명의 실시 예들 중 단지 일부일 뿐이며, 본 발명이 속한 기술분야에서 통상의 지식을 가진 사람(이하 "통상의 기술자"라 함)에게 있어서는 발명적 작업이 이루어짐 없이 이 도면들에 기초하여 다른 도면들이 얻어질 수 있다.
도 1은 종래의 침입 차단 시스템의 일 예시를 개념적으로 나타낸 도면이다.
도 2는, 본 발명의 일 실시 예에 따라, 기계 학습 모델에 기반하여 악성 패킷을 검출하는 방법(이하 "악성 패킷 검출 방법"이라 함)을 수행하는 네트워크 장비의 예시적 구성을 개략적으로 도시한 개념도이다.
도 3은 본 발명의 일 실시 예에 따른 악성 패킷 검출 방법을 수행하는 네트워크 장비 및 훈련용 컴퓨팅 장치의 하드웨어 및 소프트웨어 아키텍처를 예시적으로 도시한 개념도이다.
도 4는 본 발명의 일 실시 예에 따른 악성 패킷 검출 방법을 예시적으로 나타낸 흐름도이다.
도 5는 본 발명의 일 실시 예에 이용되는 기계 학습 모델의 예시로서 생성적 적대적 신경망(GAN; generative adversarial network)을 설명하기 위하여 판별 모듈 및 생성 모듈의 주요 작용을 예시한 도면이다.
도 6은 도 3에 나타난 바와 같은 본 개시서의 네트워크 장비 및 훈련용 컴퓨팅 장치가 반영된 침입 차단 시스템을 예시한 개념도이다.
BRIEF DESCRIPTION OF THE DRAWINGS The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this application, illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention to those skilled in the art Other drawings can be obtained based on these figures without requiring inventive work.
FIG. 1 is a conceptual illustration of an example of a conventional intrusion blocking system.
2 schematically shows an exemplary configuration of a network equipment that performs a method for detecting malicious packets based on a machine learning model (hereinafter referred to as "malicious packet detection method"), according to an embodiment of the present invention It is a conceptual diagram.
FIG. 3 is a conceptual diagram illustrating hardware and software architecture of a network equipment and a training computing device performing a malicious packet detection method according to an embodiment of the present invention.
4 is a flowchart illustrating an exemplary malicious packet detection method according to an exemplary embodiment of the present invention.
FIG. 5 illustrates an example of a machine learning model used in an embodiment of the present invention, illustrating major operations of a determination module and a generation module to explain a generative adversarial network (GAN).
FIG. 6 is a conceptual diagram illustrating an intrusion blocking system that reflects the network equipment and training computing device of the present disclosure as shown in FIG.

후술하는 본 발명에 대한 상세한 설명은, 본 발명의 목적들, 기술적 해법들 및 장점들을 분명하게 하기 위하여 본 발명이 실시될 수 있는 특정 실시 예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시 예는 통상의 기술자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고, 이에 대한 중복되는 설명은 생략하기로 한다.The following detailed description of the invention refers to the accompanying drawings, which illustrate, by way of example, specific embodiments in which the invention may be practiced in order to clarify the objects, technical solutions and advantages of the invention. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS In the following description of the present invention with reference to the accompanying drawings, the same components are denoted by the same reference numerals regardless of the reference numerals, and a duplicate description thereof will be omitted.

실시 예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 실시될 수 있다. 따라서, 실시 예들은 특정한 개시형태로 한정되는 것이 아니며, 본 명세서의 범위는 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.Specific structural or functional descriptions of embodiments are set forth for illustrative purposes only, and may be embodied with various changes and modifications. Accordingly, the embodiments are not intended to be limited to the particular forms disclosed, and the scope of the present disclosure includes changes, equivalents, or alternatives included in the technical idea.

제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.The terms first or second, etc. may be used to describe various elements, but such terms should be interpreted solely for the purpose of distinguishing one element from another. 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 or connected to the other element, although other elements may be present in between.

단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, the terms "comprises" or "having", etc. are intended to designate the presence of stated features, integers, steps, operations, components, parts or combinations thereof, , &Quot; an ", " an ", " an "

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the meaning of the context in the relevant art and, unless explicitly defined herein, are to be interpreted as ideal or overly formal Do not.

또한, 본 개시서의 상세한 설명 및 청구항들에 걸쳐 '학습', '훈련' 혹은 '러닝'은 절차에 따른 컴퓨팅(computing)을 통하여 기계 학습(machine learning)을 수행함을 일컫는 용어인바, 인간의 교육 활동과 같은 정신적 작용을 지칭하도록 의도된 것이 아님을 통상의 기술자는 이해할 수 있을 것이다.Also, throughout the specification and claims of this disclosure, 'learning', 'training' or 'learning' is a term referring to performing machine learning through computing according to procedures, It will be understood by those of ordinary skill in the art that the invention is not intended to refer to mental acts such as activity.

더욱이 본 발명은 본 명세서에 표시된 실시 예들의 모든 가능한 조합들을 망라한다. 본 발명의 다양한 실시 예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시 예에 관련하여 본 발명의 사상 및 범위를 벗어나지 않으면서 다른 실시 예로 구현될 수 있다. 또한, 각각의 개시된 실시 예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 사상 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다. Moreover, the present invention encompasses all possible combinations of embodiments shown herein. It should be understood that the various embodiments of the present invention are different, but need not be mutually exclusive. For example, certain features, structures, and characteristics described herein may be implemented in other embodiments without departing from the spirit and scope of the invention in connection with one embodiment. It should also be understood that the position or arrangement of individual components within each disclosed embodiment may be varied without departing from the spirit and scope of the present invention. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is to be limited only by the appended claims, along with the full scope of equivalents to which such claims are entitled, if properly explained. In the drawings, like reference numerals refer to the same or similar functions throughout the several views.

본 명세서에서 달리 표시되거나 분명히 문맥에 모순되지 않는 한, 단수로 지칭된 항목은, 그 문맥에서 달리 요구되지 않는 한, 복수의 것을 아우른다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.Unless otherwise indicated herein or clearly contradicted by context, items referred to in the singular are intended to encompass a plurality unless otherwise specified in the context. In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear.

이하, 통상의 기술자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시 예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings, so that those skilled in the art can easily carry out the present invention.

도 2는 본 발명의 일 실시 예에 따른 악성 패킷 검출 방법을 수행하는 네트워크 장비의 예시적 구성을 개략적으로 도시한 개념도이다. FIG. 2 is a conceptual diagram schematically showing an exemplary configuration of a network equipment that performs a malicious packet detection method according to an embodiment of the present invention.

도 2를 참조하면, 본 발명의 일 실시 예에 따른 네트워크 장비(200)는, 일종의 컴퓨팅 장치로서, 통신부(210) 및 프로세서(220)를 포함하며, 상기 통신부(210)를 통하여 외부 컴퓨팅 장치(미도시)와 직간접적으로 통신할 수 있다.2, a network device 200 according to an exemplary embodiment of the present invention includes a communication unit 210 and a processor 220. The communication unit 210 communicates with an external computing device Not shown) can be directly or indirectly communicated.

구체적으로, 상기 네트워크 장비(200)는, 전형적인 컴퓨터 하드웨어(예컨대, 컴퓨터, 프로세서, 메모리, 스토리지(storage), 입력 장치 및 출력 장치, 기타 기존의 컴퓨팅 장치의 구성요소들을 포함할 수 있는 장치; 라우터, 스위치 등과 같은 전자 통신 장치; 네트워크 부착 스토리지(NAS; network-attached storage) 및 스토리지 영역 네트워크(SAN; storage area network)와 같은 전자 정보 스토리지 시스템)와 컴퓨터 소프트웨어(즉, 컴퓨팅 장치로 하여금 특정의 방식으로 기능하게 하는 명령어들)의 조합을 이용하여 원하는 시스템 성능을 달성하는 것일 수 있다. 상기 스토리지는 하드 디스크, USB(universal serial bus) 메모리와 같은 기억 장치뿐만 아니라 클라우드 서버와 같은 네트워크 연결 기반의 저장 장치의 형태를 포함할 수 있다.In particular, the network device 200 may include any type of computing device, such as a computer, a processor, a memory, a storage, an input device and an output device, , Electronic communication devices such as switches, electronic-information storage systems such as network-attached storage (NAS) and storage area networks (SAN), and computer software (i.e., ≪ RTI ID = 0.0 > and / or < / RTI > functions to achieve desired system performance. The storage may include storage devices such as a hard disk, a universal serial bus (USB) memory, as well as storage devices based on a network connection such as a cloud server.

이와 같은 네트워크 장비의 통신부(210)는 연동되는 타 컴퓨팅 장치와의 사이에서 요청과 응답을 송수신할 수 있는바, 일 예시로서 그러한 요청과 응답은 동일한 TCP(transmission control protocol) 세션(session)에 의하여 이루어질 수 있지만, 이에 한정되지는 않는 바, 예컨대 UDP(user datagram protocol) 데이터그램(datagram)으로서 송수신될 수도 있을 것이다.The communication unit 210 of the network equipment can send and receive requests and responses to and from other computing devices that are interlocked. As an example, such requests and responses can be transmitted through the same transmission control protocol (TCP) But not limited to, a user datagram protocol (UDP) datagram, for example.

구체적으로, 통신부(210)는 통신 인터페이스를 포함하는 통신 모듈의 형태로 구현될 수 있다. 이를테면, 통신 인터페이스는 WLAN(wireless LAN), WiFi(wireless fidelity) Direct, DLNA(digital living network alliance), Wibro(wireless broadband), Wimax(world interoperability for microwave access), HSDPA(high speed downlink packet access) 등의 무선 인터넷 인터페이스와 블루투스(Bluetooth™), RFID(radio frequency identification), 적외선 통신(infrared data association; IrDA), UWB(ultra-wideband), ZigBee, NFC(near field communication) 등의 근거리 통신 인터페이스를 포함할 수 있다. 뿐만 아니라, 통신 인터페이스는 외부와 통신을 수행할 수 있는 모든 인터페이스(예를 들어, 유선 인터페이스)를 나타낼 수 있다.Specifically, the communication unit 210 may be implemented in the form of a communication module including a communication interface. For example, the communication interface may be a wireless LAN (WLAN), a wireless fidelity (WIFI) Direct, a digital living network alliance (DLNA), a wireless broadband (Wibro), a world interoperability for microwave access (Wimax), a high speed downlink packet access And a short range communication interface such as Bluetooth (TM), radio frequency identification (RFID), infrared data association (IrDA), ultra-wideband (UWB), ZigBee and near field communication can do. In addition, the communication interface may represent any interface (e.g., a wired interface) capable of communicating with the outside.

예를 들어, 통신부(210)는 이와 같이 적합한 통신 인터페이스를 통해 외부 장치로부터 로그, 패킷 등을 획득할 수 있다. 덧붙여, 넓은 의미에서 상기 통신부(210)는 명령어 또는 지시 등을 전달받기 위한 키보드, 마우스, 기타 외부 입력 장치, 인쇄 장치, 디스플레이, 기타 외부 출력 장치를 포함하거나 이들과 연동될 수 있다.For example, the communication unit 210 can acquire a log, a packet, and the like from an external device through the appropriate communication interface. In addition, in a broad sense, the communication unit 210 may include or be associated with a keyboard, a mouse, and other external input devices, a printing device, a display, and other external output devices for receiving commands or instructions.

또한, 네트워크 장비(200)의 프로세서(220)는 MPU(micro processing unit), CPU(central processing unit), GPU(graphics processing unit), NPU(neural processing unit) 또는 TPU(tensor processing unit), 캐시 메모리(cache memory), 데이터 버스(data bus) 등의 하드웨어 구성을 포함할 수 있다. 또한, 운영체제, 특정 목적을 수행하는 애플리케이션의 소프트웨어 구성을 더 포함할 수도 있다.The processor 220 of the network device 200 may be a micro processing unit (MPU), a central processing unit (CPU), a graphics processing unit (GPU), a neural processing unit (NPU) a cache memory, a data bus, and the like. It may further include a software configuration of an operating system and an application that performs a specific purpose.

도 3은 본 발명의 일 실시 예에 따른 악성 패킷 검출 방법을 수행하는 네트워크 장비 및 훈련용 컴퓨팅 장치의 하드웨어 및 소프트웨어 아키텍처를 예시적으로 도시한 개념도이다.FIG. 3 is a conceptual diagram illustrating hardware and software architecture of a network equipment and a training computing device performing a malicious packet detection method according to an embodiment of the present invention.

도 3에 도시된 침입 차단 모듈(130; intrusion prevention system; IPS), 관리자 서버(140), 훈련용 컴퓨팅 장치(300)가 예시적으로 포함하는 구성요소들은 그 개별 컴퓨팅 장치에 포함된 통신부(210) 및 프로세서(220)의 연동에 의하여 구현될 수 있음은 통상의 기술자가 이해할 수 있을 것이다. Components included by way of example in the intrusion prevention system (IPS) 130, the administrator server 140, and the training computing device 300 shown in FIG. 3 include a communication unit 210 included in the individual computing device ) And the processor 220, as will be understood by those skilled in the art.

도 3에 도시된 침입 차단 모듈(130)은 전술한 바와 같이 악성 행위에 해당하는 악성 패킷을 탐지하고, 이는 관리자 서버(140)를 통하여 보안 관리자에게 보고된다. 검출 모듈(132)은 침입 차단 모듈(130)의 핵심적 기능을 수행하는 구성요소로서 로그 또는 패킷의 데이터로부터 악성 패킷을 검출할 수 있다. The intrusion blocking module 130 shown in FIG. 3 detects a malicious packet corresponding to a malicious action as described above, and the malicious packet is reported to the security manager through the administrator server 140. The detection module 132 is a component that performs a core function of the intrusion blocking module 130 and can detect a malicious packet from data of a log or a packet.

여기에서 로그 또는 패킷은 HTTP 헤더, 시작 IP(source IP), 목적 IP(destination IP), 페이로드, 포트 등을 포함하는데, 주로 페이로드의 내용(content)으로부터 악성 패킷의 여부가 판정된다.Here, the log or packet includes an HTTP header, a source IP, a destination IP, a payload, a port, and the like, and it is mainly determined from the content of the payload whether or not the packet is a malicious packet.

침입 차단 모듈(130)에 의하여 수집된 패킷의 예시는 다음과 같다. An example of the packet collected by the intrusion blocking module 130 is as follows.

drop http any any -> any any (msg:"WEB_SERVER Alternate Data Stream source view attempt"; flow:to_server,established; content:"|3A 3A|$DATA"; http_uri; reference:url,support.microsoft.com/kb/q188806/; reference:cve,1999-0278; reference:url,doc.emergingthreats.net/2001365; classtype:web-application-activity; sid:2001365; rev:12;)$ 3A DATA | http_uri; reference: url, support.microsoft.com / headers: http: // www. kb / q188806 /; reference: cve, 1999-0278; reference: url, doc.emergingthreats.net/2001365; classtype: web-application-activity; sid: 2001365; rev: 12;)

침입 차단 모듈(130)의 에이전트 모듈(134)은 침입 차단 모듈(130)에서 검출된 악성 패킷의 정보를 관리자 서버로 전달하는 기능을 수행할 수 있으며, 관리자 서버(140)에는 이 에이전트 모듈(134)에 대응되는 수집 모듈(142)이 포함되어 에이전트 모듈(134)로부터 악성 패킷의 정보를 획득한다. 도 3에 예시된 바와 같이 관리자 서버(140)는 관리자 서버(140)의 이용 주체인 사용자 혹은 관리자에 대한 정보 전달의 편의를 위하여 웹 서비스(web service)를 제공하기 위한 웹 모듈(144)을 더 포함할 수 있으며, 사용자 또는 관리자가 악성 패킷의 정보를 쉽게 파악할 수 있도록 그 정보의 분석 결과를 제공하는 분석 모듈(146)을 더 포함할 수도 있다.The agent module 134 of the intrusion blocking module 130 may transmit the information of the malicious packet detected by the intrusion blocking module 130 to the administrator server 140. The agent server 134 To acquire information of the malicious packet from the agent module 134. [ 3, the administrator server 140 further includes a web module 144 for providing a web service for convenience of transferring information to a user or an administrator, which is the subject of use of the administrator server 140 And may further include an analysis module 146 that provides the analysis result of the information so that the user or the administrator can easily grasp the information of the malicious packet.

한편, 상기 악성 패킷의 정보는 도 3에서 에이전트 모듈(134)에 의하여 획득되어 수집 모듈(142)을 거쳐 후술하는 본 개시서의 방법에 이용될 훈련용 컴퓨팅 장치(300)의 데이터 수집기(330)에 전달되는 것으로 예시되어 있으나, 침입 차단 모듈(130)에 의하여 직접 전달될 수도 있는 등, 도시된 예시에 한정되지 않음은 물론이다.The information of the malicious packet is acquired by the agent module 134 in FIG. 3 and transmitted to the data collector 330 of the training computing device 300 through the collection module 142, which will be used in the method of the present disclosure, But may be directly transmitted by the intrusion blocking module 130. It is needless to say that the present invention is not limited to the illustrated example.

계속해서 도 3을 참조하면, 훈련용 컴퓨팅 장치(300)는 데이터 수집기(330)를 통하여 실제 악성 패킷의 정보를 획득할 수 있고, 이는 생성적 적대적 신경망(GAN; generative adversarial network)의 생성기 혹은 생성 모듈(310; generator)을 훈련시키는 데 이용될 수 있다. 생성 모듈(310)은 실제 악성 패킷과 유사한 가짜 악성 패킷을 만들어내는 기능을 수행한다.3, the training computing device 300 may obtain information of actual malicious packets through the data collector 330, which may be generated or generated by a generative adversarial network (GAN) And may be used to train a module (generator) 310. The generation module 310 performs a function of generating a fake malicious packet similar to an actual malicious packet.

이 생성 모듈에 의하여 생성된 가짜 악성 패킷과 실제 악성 패킷을 이용하여 판별기 혹은 판별 모듈(320; discriminator)이 훈련될 수 있는데, 이는 가짜 악성 패킷과 실제 악성 패킷을 구분하는 기능을 수행한다. 후술하는 바와 같이 생성적 적대적 신경망(GAN)은 생성 모듈과 판별 모듈의 대결적인 구조에서 훈련될 수 있다.The discriminator 320 or the discriminator 320 can be trained by using the fake malicious packet and the actual malicious packet generated by the generation module to perform a function of distinguishing a fake malicious packet from a real malicious packet. As will be described below, a generative hostile neural network (GAN) can be trained in a conflicting structure of a generation module and a discrimination module.

판별 모듈(320)이 실제 악성 패킷과 가짜 악성 패킷을 구분하도록 충분히 훈련되면, 검증/테스트 모듈(340)은 그 판별 모듈(320)의 성능을 검증 및 테스트한 다음, 기준에 부합하는 성능을 가졌다고 판단되면 이를 검출 모듈(132)에 전달하여 침입 차단 모듈(130)을 갱신한다.If the discrimination module 320 is sufficiently trained to distinguish the actual malicious packet from the fake malicious packet, the verification / test module 340 verifies and tests the performance of the discrimination module 320 and then has performance meeting the criteria It transmits it to the detection module 132 to update the intrusion blocking module 130. [

도 4는 본 발명의 일 실시 예에 따른 악성 패킷 검출 방법을 예시적으로 나타낸 흐름도이다.4 is a flowchart illustrating an exemplary malicious packet detection method according to an exemplary embodiment of the present invention.

도 4를 참조하면, 본 발명에 따라 패킷 스트림 또는 이에 대응하는 로그로부터 악성 패킷을 검출하는 방법, 즉, 악성 패킷 검출 방법은, 우선, 네트워크 장비(예컨대, 관리자 서버; 140), 즉, 컴퓨팅 장치(200)가, 데이터 수집 모듈(142)을 통하여 상기 패킷 스트림 또는 이에 대응하는 로그로부터 분석 대상 데이터(analysis target data)를 획득하거나 상기 네트워크 장비에 연동되는 타 장치(예컨대, 침입 탐지 모듈; 130)로 하여금 상기 데이터 수집 모듈을 통하여 상기 분석 대상 데이터를 획득하도록 지원하는 단계(S100)를 포함한다. 여기에서 분석 대상 데이터는, 예컨대, 상기 패킷 스트림에 속한 패킷의 페이로드(payload) 내용(content) 값일 수도 있고, 악성으로 탐지된 로그를 파싱하여 추출한 내용(content) 값일 수도 있다.Referring to FIG. 4, a method for detecting a malicious packet from a packet stream or a log corresponding thereto according to the present invention, that is, a malicious packet detection method, (E.g., an intrusion detection module) 130 that is connected to the network equipment or acquires analysis target data from the packet stream or a corresponding log through the data acquisition module 142, (S100) to acquire the analysis target data through the data acquisition module. Here, the analysis target data may be, for example, a payload content value of a packet belonging to the packet stream, or a content value extracted by parsing a maliciously-detected log.

다음으로, 본 개시서의 악성 패킷 검출 방법은, 네트워크 장비(140)가, 생성적 적대적 신경망(GAN; generative adversarial network)에 의한 악성 패킷 판별 모듈(320 또는 132)을 통하여 상기 분석 대상 데이터의 악성 여부를 판별하거나 타 장치(예컨대, 300)로 하여금 상기 악성 패킷 판별 모듈(320 또는 132)을 통하여 상기 분석 대상 데이터의 악성 여부를 판별하도록 지원하는 단계(S200)를 더 포함한다.Next, the malicious packet detection method of the present disclosure is characterized in that the network equipment 140 transmits a malicious packet to the malicious packet detection module 320 or 132 via a generative adversarial network (GAN) (Step S200) of determining whether the analysis target data is malicious or not, or supporting another device (for example, 300) to determine whether the analysis target data is malicious through the malicious packet determination module 320 or 132 (S200).

여기에서 악성 패킷 판별 모듈(320 또는 132)은 네트워크 장비(140)에서 또는 소정의 훈련용 컴퓨팅 장치(300)에서 다수의 훈련용 악성 패킷 및 악성이 아닌 다수의 유사 악성 패킷을 이용한 기계 학습을 통하여 악성 패킷을 악성 아닌 패킷으로부터 구별하도록 훈련된 것일 수 있다. Herein, the malicious packet discrimination module 320 or 132 may be configured to detect a malicious packet in the network device 140 or a predetermined training computing device 300 through machine learning using a plurality of training malicious packets and a plurality of malicious packets It may be trained to distinguish malicious packets from non-malicious packets.

이 기계 학습을 위한 기계 학습 모델에 관하여 이제 도 5를 참조하여 설명한다.The machine learning model for this machine learning will now be described with reference to FIG.

도 5는 본 발명의 일 실시 예에 이용되는 기계 학습 모델의 예시로서 생성적 적대적 신경망(GAN; generative adversarial network)을 설명하기 위하여 판별 모듈(320) 및 생성 모듈(310)의 주요 작용을 예시한 도면이다.5 illustrates an example of a machine learning model used in an embodiment of the present invention, illustrating a main action of the discrimination module 320 and the generation module 310 to illustrate a generative adversarial network (GAN) FIG.

도 5를 참조하면, 유사 악성 패킷 생성 모듈(310)은 다수의 유사 악성 패킷을 생성하도록 훈련되는데, 그 훈련을 위하여 다수의 실제 악성 패킷이 훈련용 데이터로서 이용된다. 유사 악성 패킷 생성 모듈(310)은 훈련용 컴퓨팅 장치(300)에 포함될 수도 있고, 네트워크 장비(140) 또는 타 장치(130)에 포함되어도 무방하다. 네트워크 장비 또는 훈련용 장치에서 유사 악성 패킷 생성 모듈(310)은 악성 패킷 판별 모듈(320)과 함께 생성적 적대적 신경망(GAN)으로 구성된다.Referring to FIG. 5, the similar malicious packet generation module 310 is trained to generate a plurality of similar malicious packets, in which a plurality of actual malicious packets are used as training data. The similar malicious packet generation module 310 may be included in the training computing device 300 or may be included in the network equipment 140 or the other device 130. The similar malicious packet generation module 310 in the network equipment or the training apparatus is constituted by a generational hostile neural network (GAN) together with the malicious packet determination module 320.

생성적 적대적 신경망의 기본 구성은 논문 [Goodfellow, Ian J.; Pouget-Abadie, Jean; Mirza, Mehdi; Xu, Bing; Warde-Farley, David; Ozair, Sherjil; Courville, Aaron; Bengio, Yoshua (2014). "Generative Adversarial Networks"]에 개시된 바와 같다.The basic structure of the constructive hostile neural network is described in [Goodfellow, Ian J .; Pouget-Abadie, Jean; Mirza, Mehdi; Xu, Bing; Warde-Farley, David; Ozair, Sherjil; Courville, Aaron; Bengio, Yoshua (2014). "Generative Adversarial Networks".

본 개시서의 생성적 적대적 신경망에 있어 유사 악성 패킷 생성 모듈은 소정의 입력값으로부터 유사 악성 패킷을 생성할 수 있는데, 상기 입력값은 랜덤 값(random value)일 수 있다. 일 예시로서, 그 랜덤 값은 가우시안 분포를 이용하여 생성된 랜덤 노이즈일 수 있다.In the presently disclosed hostile neural network, the similar malicious packet generation module may generate a similar malicious packet from a predetermined input value, which may be a random value. As an example, the random value may be a random noise generated using a Gaussian distribution.

즉, 유사 악성 패킷 생성 모듈(310)은, 악성 패킷 판별 모듈(320)로 하여금 유사 악성 패킷 생성 모듈(310)에 의하여 생성된 유사 악성 패킷을 악성인 것으로 오인 판별하게 하는 방향으로 훈련되는 반면, 악성 패킷 판별 모듈(320)은 생성된 유사 악성 패킷이 악성이 아닌 것으로 판별하게 하는 방향으로 훈련되는바, 이는 생성적 적대적 신경망의 특징이다. 특히, 생성적 적대적 신경망은 데이터 라벨링이 필요 없는 비지도 학습에 해당하기 때문에 대량의 데이터를 이용하기에 용이하다.That is, the similar malicious packet generation module 310 trains the malicious packet determination module 320 in a direction that causes the similar malicious packet generated by the similar malicious packet generation module 310 to be misidentified as malicious, The malicious packet determination module 320 trains the generated similar malicious packet to determine that it is not malicious, which is a characteristic of the hostile neural network. In particular, a hostile hostile neural network is useful for large amount of data because it corresponds to the non-vector learning that does not require data labeling.

이 생성적 적대적 신경망은 종종 위폐범('생성 모듈'에 대응)이 위폐감별사('판별 모듈'에 대응)를 속이는 방향을 취하는 것과 위폐감별사가 위폐범에 의하여 위작된 지폐를 진폐와 구별하는 방향을 취하는 것에 비유된다. 생성적 적대적 신경망(GAN)에 의하여 악성 패킷 판별 모듈(320)의 기계 학습 모델, 즉, 훈련용 컴퓨팅 장치에서뿐만 아니라 네트워크 장비의 악성 패킷에 대한 검출 모듈에서 활용될 기계 학습 모델이 더 정확해지도록 지속적으로 갱신되어 그 성능이 향상될 수 있다. This productive hostile neural network is often characterized by the fact that counterfeiters (corresponding to the 'generating module') tend to deceive counterfeit audiences (corresponding to the 'discriminator module') and counterfeit audiences in the direction of discriminating counterfeit Is likened to taking. The machine learning model to be utilized in the machine learning model of the malicious packet discrimination module 320, that is, the detection module for the malicious packet of the network equipment as well as the training computing device, by the generative hostile neural network (GAN) And its performance can be improved.

즉, 이전의 훈련 때에는 고려되지 않았던 실제 악성 패킷이 계속 훈련용 데이터로 유입되고, 더 향상된 유사 악성 패킷 생성 모듈(310)에 의하여 더 진짜 같지만 실제로는 거짓 악성 패킷인 유사 악성 패킷이 생성되어 악성 패킷 판별 모듈(320)의 훈련에 제공됨으로써 유사 악성 패킷에 대한 구별 능력이 지속적으로 향상될 수 있다.That is, a real malicious packet that has not been considered in the previous training is continuously inputted into the training data, and a more similar malicious packet generation module 310 generates a similar malicious packet, which is more like a real, but actually a false malicious packet, By being provided to the training of the discrimination module 320, the discriminating ability for similar malicious packets can be continuously improved.

물론, 본 발명에서 이용되는 상기 기계 학습 모델은 어느 정도 미리 학습되는 단계를 거쳐야 할 필요가 있는바, 이를 위하여 정제된 악성 패킷의 데이터를 훈련용으로 입력함으로써 상기 기계 학습 모델을 채용한 악성 패킷 판별 모듈(320)과 유사 악성 패킷 생성 모듈(310)의 사전 학습 혹은 사전 훈련이 미리 완료될 수 있다는 점은 자명하다.Needless to say, the machine learning model used in the present invention needs to undergo a certain learning step. For this purpose, data of the refined malicious packet is inputted for training, It is apparent that the pre-learning or pre-training of the module 320 and the similar malicious packet generation module 310 can be completed in advance.

이처럼 훈련된 악성 패킷 판별 모듈(320)은, 예컨대, 검증/테스트 모듈(340)에 의하여 검증 및 테스트(validation; test)될 수 있으며, 판별 모듈(320)이 요구된 성능에 부합하는 것으로 검증이 완료되면, 악성 패킷 판별 모듈(320) 또는 악성 패킷 판별 모듈(320)에 채용된 기계 학습 모델의 데이터가 네트워크 장비에 의하여 이용되도록 탑재될 수 있는바, 예컨대, 침입 차단 모듈(130)의 검출 모듈(130)에 탑재될 수 있다.The trained malicious packet discrimination module 320 may be verified and tested by, for example, the verification / test module 340 and verified that the discrimination module 320 meets the required performance When completed, the data of the machine learning model employed in the malicious packet discrimination module 320 or the malicious packet discrimination module 320 can be mounted so as to be used by the network equipment. For example, the detection module of the intrusion blocking module 130 (Not shown).

이제, 도 4를 다시 참조하면, 본 발명에 따른 악성 패킷 검출 방법은, 네트워크 장비(140)가 상기 분석 대상 데이터 중 악성으로 판별된 데이터를 외부 엔티티(entity)에 제공하거나 상기 타 장치로 하여금 상기 외부 엔티티에 제공하도록 지원하는 단계(S300)를 더 포함한다.Referring again to FIG. 4, the malicious packet detection method according to the present invention is a method in which the network device 140 provides malicious data determined as malicious to the external entity, (S300) to provide the data to an external entity.

여기에서 외부 엔티티라고 함은, 본 발명에 따른 방법을 수행하는 네트워크 장비, 즉 컴퓨팅 장치의 사용자, 관리자, 네트워크의 보안을 담당하는 관리자, 관제자 등을 포함하나, 이 이외에도 그 판별된 데이터를 필요로 하는 주체라면 어느 주체라도 포함되는 것으로 이해되어야 할 것이다. 외부 엔티티가 인간인 때에는 네트워크 장비는 소정의 출력 장치, 예컨대 디스플레이에 표시된 사용자 인터페이스를 통하여 판별된 데이터를 외부 엔티티에 제공할 수 있다. Here, the external entity includes a network device that performs the method according to the present invention, that is, a user of the computing device, an administrator, an administrator responsible for securing the network, a supervisor, etc. In addition, It is to be understood that any subject is included. When the external entity is human, the network device can provide the external entity with data determined through a predetermined output device, e.g., a user interface displayed on the display.

예를 들어, 단계(S300)에서 네트워크 장비(140)는, 웹 서비스를 통하여 외부 엔티티에 제공하는 때에는 HTTP 프로토콜을 이용하여 외부 엔티티의 웹 브라우저에 상기 판별된 데이터, 관련 내용들 등을 표시하게 할 수 있다.For example, in step S300, when the network device 140 provides an external entity with a web service, the network device 140 causes the external web browser of the external entity to display the determined data, related contents, etc. .

도 6은 도 3에 나타난 바와 같은 본 개시서의 네트워크 장비 및 훈련용 컴퓨팅 장치가 반영된 침입 차단 시스템을 예시한 개념도인바, 종래 기술의 도 1과 비교하여 훈련용 컴퓨팅 장치(300)가 추가되어 있다. FIG. 6 is a conceptual view illustrating an intrusion blocking system reflecting the network equipment and training computing device of the present disclosure as shown in FIG. 3, and a training computing device 300 is added in comparison with FIG. 1 of the prior art .

지금까지 도 2 내지 도 6에 나타난 구성요소들에 관하여 설명의 편의상 예시로 도시된 컴퓨팅 장치들에서 실현되는 것으로 참조번호를 가지고 예시되었으나, 본 발명의 방법을 수행하는 네트워크 장비는 하나 또는 복수개의 장치들이 서로 연동된 것으로 구성될 수도 있다는 점이 이해될 것이다. 따라서 전술한 본 발명 방법의 각 단계는, 하나의 컴퓨팅 장치가 직접 수행하거나 상기 하나의 컴퓨팅 장치가 상기 하나의 컴퓨팅 장치에 연동되는 타 컴퓨팅 장치로 하여금 수행하도록 지원함으로써 수행될 수 있음이 자명하고, 전술한 설명에서 예시된 참조번호를 본 개시서의 방법 및 장치를 한정하지 않는다.Although illustrated with reference numerals to those that have been realized in the computing devices illustrated by way of example for convenience of explanation with respect to the components shown in Figs. 2 to 6, the network equipment performing the method of the present invention may include one or more devices May be configured to be interlocked with each other. Accordingly, it is apparent that each step of the above-described method of the present invention can be performed by one computing device directly or by supporting the one computing device to perform another computing device interlocked with the one computing device, The reference numerals illustrated in the foregoing description do not limit the method and apparatus of the present disclosure.

이와 같이 본 발명은 전술한 모든 실시 예들에 걸쳐, 기계 학습에 의하여 생성된 유사 악성 패킷, 즉 가짜 악성 패킷으로서 보안에 문제가 없는 다량의 훈련용 데이터를 제공하여 악성 패킷 판별 모듈로 하여금 악성과 악성이 아닌 데이터를 정확하게 구분해낼 수 있도록 훈련할 수 있는 효과가 있다.As described above, the present invention provides a malicious packet discrimination module for malicious and malicious packets by providing a large amount of training data without any security problems as similar malicious packets generated by machine learning, that is, fake malicious packets over all of the above- But it can be trained to accurately distinguish data.

상기 실시 예들로써 여기에서 설명된 기술의 이점은, 하루에도 수많은 로그 및 분석 정보에 노출되어 있는 상황에서도 거짓 보안 이벤트를 걸러내야어 패킷의 악성 여부를 신속, 정확히 판단하여 긴박하고 바쁜 관제 환경에 놓인 보안 전문가들의 부담을 크게 덜어줄 수 있는 한편, 지속적으로 제공되는 악성 패킷을 다시 반영하여 학습시킨 결과로서 더 정확한 예측이 가능해진다는 점이다. 요컨대, 본 발명의 기술에 따르면, 악성 패킷이 더 높은 신뢰도로 자동 판별되고, 사용자는 보다 적은 수의 악성 패킷 페이로드들 및/또는 대응되는 분석 결과만을 확인하면 되어 관제의 효율을 도모할 수 있다.The advantage of the techniques described herein is that it is possible to quickly and accurately determine whether a packet is malicious by filtering out false security events even in the event of exposure to a large number of logs and analysis information per day, It can greatly reduce the burden on security experts, and it is possible to predict more accurately as a result of re-reflecting malicious packets continuously provided. In short, according to the technique of the present invention, malicious packets are automatically discriminated with higher reliability, and the user can confirm the efficiency of the control by only checking a smaller number of malicious packet payloads and / or corresponding analysis results .

이상, 본 개시서의 다양한 실시 예들에 관한 설명에 기초하여 해당 기술분야의 통상의 기술자는, 본 발명의 방법 및/또는 프로세스들, 그리고 그 단계들이 하드웨어, 소프트웨어 또는 특정 용례에 적합한 하드웨어 및 소프트웨어의 임의의 조합으로 실현될 수 있다는 점을 명확하게 이해할 수 있다. 상기 하드웨어는 범용 컴퓨터 및/또는 전용 컴퓨팅 장치 또는 특정 컴퓨팅 장치 또는 특정 컴퓨팅 장치의 특별한 모습 또는 구성요소를 포함할 수 있다. 상기 프로세스들은 내부 및/또는 외부 메모리를 가지는, 하나 이상의 프로세서, 예컨대, 마이크로프로세서, 컨트롤러, 예컨대, 마이크로컨트롤러, 임베디드 마이크로컨트롤러, 마이크로컴퓨터, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 예컨대, 프로그래머블 디지털 신호 프로세서 또는 기타 프로그래머블 장치에 의하여 실현될 수 있다. 게다가, 혹은 대안으로서, 상기 프로세스들은 주문형 집적회로(application specific integrated circuit; ASIC), 프로그래머블 게이트 어레이(programmable gate array), 예컨대, FPGA(field programmable gate array), PLU(programmable logic unit) 혹은 프로그래머블 어레이 로직(Programmable Array Logic; PAL) 또는 기타 명령어(instruction)를 실행하고 응답할 수 있는 임의의 다른 장치, 전자 신호들을 처리하기 위해 구성될 수 있는 임의의 다른 장치 또는 장치들의 조합으로 실시될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.Based on the description of various embodiments of the present disclosure, one of ordinary skill in the art will appreciate that the method and / or processes of the present invention and the steps thereof may be implemented in hardware, software, It is to be clearly understood that the present invention can be realized in any combination. The hardware may include special features or components of a general purpose computer and / or a dedicated computing device or a specific computing device or a particular computing device. Such processes may include one or more processors, e.g., microprocessors, controllers, such as microcontrollers, embedded microcontrollers, microcomputers, arithmetic logic units (ALUs), digital signal processors, For example, a programmable digital signal processor or other programmable device. Additionally or alternatively, the processes may be implemented in an application specific integrated circuit (ASIC), a programmable gate array, such as a field programmable gate array (FPGA), a programmable logic unit (PLU) Any other device capable of executing and responding to Programmable Array Logic (PAL) or other instructions, any other device or combination of devices that can be configured to process electronic signals. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For ease of understanding, the processing apparatus may be described as being used singly, but those skilled in the art will recognize that the processing apparatus may have a plurality of processing elements and / As shown in FIG. For example, the processing apparatus may comprise a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as a parallel processor.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령어(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령어 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 기계 판독 가능 기록 매체에 저장될 수 있다.The software may comprise a computer program, code, instructions, or a combination of one or more of the foregoing, and may be configured to configure the processing device to operate as desired, or to process it collectively or independently Device can be commanded. Software and / or data may be stored on any type of machine, component, physical device, virtual equipment, computer storage media, or device, such as a computer readable recording medium, , Or may be permanently or temporarily embodied in a transmitted signal wave. The software may be distributed over a networked computer system and stored or executed in a distributed manner. The software and data may be stored on one or more machine-readable recording media.

더욱이 본 발명의 기술적 해법의 대상물 또는 선행 기술들에 기여하는 부분들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 기계 판독 가능 매체에 기록될 수 있다. 기계 판독 가능 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기계 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 실시 예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 통상의 기술자에게 공지되어 사용 가능한 것일 수도 있다. 기계 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD, Blu-ray와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 전술한 장치들 중 어느 하나뿐만 아니라 프로세서, 프로세서 아키텍처 또는 상이한 하드웨어 및 소프트웨어의 조합들의 이종 조합, 또는 다른 어떤 프로그램 명령어들을 실행할 수 있는 기계 상에서 실행되기 위하여 저장 및 컴파일 또는 인터프리트될 수 있는, C와 같은 구조적 프로그래밍 언어, C++ 같은 객체지향적 프로그래밍 언어 또는 고급 또는 저급 프로그래밍 언어(어셈블리어, 하드웨어 기술 언어들 및 데이터베이스 프로그래밍 언어 및 기술들)를 사용하여 만들어질 수 있는 바, 기계어 코드, 바이트코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 이에 포함된다. Moreover, the objects of the technical solution of the present invention or portions contributing to the prior art can be implemented in the form of program instructions that can be executed through various computer components and recorded in a machine-readable medium. The machine-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. Program instructions to be recorded on a machine-readable recording medium may be those specially designed and constructed for the embodiments or may be known and available to those of ordinary skill in the computer software arts. Examples of the machine-readable recording medium include magnetic media such as hard disks, floppy disks and magnetic tape, optical media such as CD-ROMs, DVDs, and Blu-ray, optical disks such as floptical disks Magneto-optical media such as ROMs, random access memories (RAMs), flash memory, and the like, and hardware devices specifically configured to store and execute program instructions. Examples of program instructions include, but are not limited to, any of the above devices, as well as a heterogeneous combination of processors, processor architectures or combinations of different hardware and software, Which may be constructed using a structured programming language such as C, an object-oriented programming language such as C ++ or an advanced or low-level programming language (assembly language, hardware description languages and database programming languages and techniques) This includes not only bytecode, but also high-level language code that can be executed by a computer using an interpreter or the like.

따라서 본 발명에 따른 일 태양에서는, 앞서 설명된 방법 및 그 조합들이 하나 이상의 컴퓨팅 장치들에 의하여 수행될 때, 그 방법 및 방법의 조합들이 각 단계들을 수행하는 실행 가능한 코드로서 실시될 수 있다. 다른 일 태양에서는, 상기 방법은 상기 단계들을 수행하는 시스템들로서 실시될 수 있고, 방법들은 장치들에 걸쳐 여러 가지 방법으로 분산되거나 모든 기능들이 하나의 전용, 독립형 장치 또는 다른 하드웨어에 통합될 수 있다. 또 다른 일 태양에서는, 위에서 설명한 프로세스들과 연관된 단계들을 수행하는 수단들은 앞서 설명한 임의의 하드웨어 및/또는 소프트웨어를 포함할 수 있다. 그러한 모든 순차 결합 및 조합들은 본 개시서의 범위 내에 속하도록 의도된 것이다.Thus, in one aspect of the present invention, when the methods and combinations described above are performed by one or more computing devices, combinations of the methods and methods may be implemented as executable code that performs each of the steps. In another aspect, the method may be implemented as systems for performing the steps, and the methods may be distributed in various ways throughout the devices, or all functions may be integrated into one dedicated, stand-alone device, or other hardware. In yet another aspect, the means for performing the steps associated with the processes described above may include any of the hardware and / or software described above. All such sequential combinations and combinations are intended to be within the scope of this disclosure.

예를 들어, 상기된 하드웨어 장치는 실시 예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다. 상기 하드웨어 장치는, 프로그램 명령어를 저장하기 위한 ROM/RAM 등과 같은 메모리와 결합되고 상기 메모리에 저장된 명령어들을 실행하도록 구성되는 MPU, CPU, GPU, TPU와 같은 프로세서를 포함할 수 있으며, 외부 장치와 신호를 주고받을 수 있는 통신부를 포함할 수 있다. 덧붙여, 상기 하드웨어 장치는 개발자들에 의하여 작성된 명령어들을 전달받기 위한 키보드, 마우스, 기타 외부 입력 장치를 포함할 수 있다.For example, the hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa. The hardware device may include a processor, such as an MPU, CPU, GPU, TPU, coupled to a memory, such as ROM / RAM, for storing program instructions and configured to execute instructions stored in the memory, And a communication unit capable of receiving and sending data. In addition, the hardware device may include a keyboard, a mouse, and other external input devices for receiving commands generated by the developers.

이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시 예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시 예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 사람이라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, Those skilled in the art will appreciate that various modifications and changes may be made thereto without departing from the scope of the present invention.

따라서, 본 발명의 사상은 상기 설명된 실시 예에 국한되어 정해져서는 아니되며, 본 개시서에 첨부된 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.Therefore, the spirit of the present invention should not be construed as being limited to the above-described embodiment, and all of the equivalents or equivalents of the claims, as well as the claims attached hereto, As well as the other. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI > or equivalents, even if it is replaced or replaced.

그와 같이 균등하게 또는 등가적으로 변형된 것에는, 예컨대 본 발명에 따른 방법을 실시한 것과 동일한 결과를 낼 수 있는, 논리적으로 동치(logically equivalent)인 방법이 포함될 것인 바, 본 발명의 진의 및 범위는 전술한 예시들에 의하여 제한되어서는 아니되며, 법률에 의하여 허용 가능한 가장 넓은 의미로 이해되어야 한다.Such equally or equivalently modified embodiments will include logically equivalent methods which can yield, for example, the same results as those of the method according to the present invention, The scope is not to be limited by the foregoing examples, but should be understood in the broadest sense permissible by law.

Claims (8)

패킷 스트림(packet stream) 또는 이에 대응하는 로그(log)로부터 악성 패킷을 검출하는 방법에 있어서,
(a) 네트워크 장비가, 데이터 수집 모듈을 통하여 상기 패킷 스트림 또는 이에 대응하는 로그로부터 분석 대상 데이터(analysis target data)를 획득하거나 상기 네트워크 장비에 연동되는 타 장치로 하여금 상기 데이터 수집 모듈을 통하여 상기 분석 대상 데이터를 획득하도록 지원하는 단계;
(b) 상기 네트워크 장비가, 생성적 적대적 신경망(GAN; generative adversarial network)에 의한 악성 패킷 판별 모듈을 통하여 상기 분석 대상 데이터의 악성 여부를 판별하거나 상기 타 장치로 하여금 상기 악성 패킷 판별 모듈을 통하여 상기 분석 대상 데이터의 악성 여부를 판별하도록 지원하는 단계; 및
(c) 상기 네트워크 장비가, 상기 분석 대상 데이터 중 악성으로 판별된 데이터를 외부 엔티티에 제공하거나 상기 타 장치로 하여금 상기 외부 엔티티에 제공하도록 지원하는 단계
를 포함하되,
상기 (b) 단계에서,
생성기(generator)인 유사 악성 패킷 생성 모듈 및 판별기(discriminator)인 상기 악성 패킷 판별 모듈을 포함하는 생성적 적대적 신경망(GAN; generative adversarial network)으로부터 유래한 상기 악성 패킷 판별 모듈을 통하여 상기 분석 대상 데이터의 악성 여부가 판별되되,
상기 생성적 적대적 신경망은, 상기 네트워크 장비 또는 소정의 훈련용 컴퓨팅 장치에서 다수의 훈련용 실제 악성 패킷 및 상기 실제 악성 패킷과 유사하지만 악성이 아닌 다수의 유사 악성 패킷을 이용한 기계 학습에 의하여 훈련되고,
상기 다수의 유사 악성 패킷은 상기 네트워크 장비 또는 상기 훈련용 컴퓨팅 장치에서 상기 유사 악성 패킷 생성 모듈로부터 생성되고,
상기 기계 학습에 의한 훈련시,
상기 유사 악성 패킷 생성 모듈은 상기 악성 패킷 판별 모듈로 하여금 생성된 상기 유사 악성 패킷을 악성인 것으로 판별하게 하는 방향으로 훈련되고, 상기 악성 패킷 판별 모듈은 생성된 상기 유사 악성 패킷을 악성이 아닌 것으로 판별하게 하는 방향으로 훈련되는 것을 특징으로 하는 악성 패킷 검출 방법.
A method for detecting a malicious packet from a packet stream or a corresponding log,
(a) the network equipment acquires analysis target data from the packet stream or a corresponding log through a data acquisition module, or causes the other device, which is linked to the network equipment, Supporting acquisition of target data;
(b) the network device determines maliciousness of the analysis object data through a malicious packet discrimination module by a generative adversarial network (GAN), or makes the other device detect the malicious packet through the malicious packet discrimination module A step of determining whether the data to be analyzed is malicious; And
(c) supporting the network device to provide the external entity with data determined to be malicious among the analysis target data or to provide the other device with the external entity
, ≪ / RTI &
In the step (b)
Wherein the malicious packet identification module is derived from a generative adversarial network (GAN) including a similar malicious packet generation module as a generator and a malicious packet discrimination module as a discriminator, Is determined to be malicious,
Wherein the generated hostile neural network is trained by machine learning using a plurality of actual malicious packets for training and a plurality of similar malicious packets that are similar to the actual malicious packets but are not malicious in the network equipment or a predetermined training computing device,
Wherein the plurality of similar malicious packets are generated from the similar malicious packet generation module in the network equipment or the training computing device,
During the training by the machine learning,
Wherein the similar malicious packet generation module trains the malicious packet discrimination module in a direction for discriminating the generated similar malicious packet as malicious, and the malicious packet discrimination module discriminates that the generated similar malicious packet is not malicious Wherein the malicious packet is trained in a direction to cause a malicious packet to be detected.
삭제delete 삭제delete 제1항에 있어서,
상기 네트워크 장비 또는 상기 훈련용 컴퓨팅 장치에서, 훈련된 상기 악성 패킷 판별 모듈에 대한 검증(validation; test)을 통과한 상기 악성 패킷 판별 모듈이 상기 네트워크 장비에 의하여 이용되도록 탑재되는 것을 특징으로 하는 악성 패킷 검출 방법.
The method according to claim 1,
Wherein the malicious packet discrimination module that has passed validation (test) of the malicious packet discrimination module trained in the network equipment or the training computing device is mounted to be used by the network equipment. Detection method.
컴퓨팅 장치 또는 네트워크 장비로 하여금, 제1항 또는 제4항의 방법을 수행하도록 구현된 명령어(instructions)를 포함하는, 기계 판독 가능한 비일시적 기록 매체에 저장된, 컴퓨터 프로그램.A computer program stored in a machine-readable non-transitory medium, comprising instructions for a computing device or a network device to implement the method of any one of claims 1 to 4. 패킷 스트림(packet stream) 또는 이에 대응하는 로그(log)로부터 악성 패킷을 검출하는 네트워크 장비에 있어서,
상기 패킷 스트림 또는 이에 대응하는 로그로부터 분석 대상 데이터(analysis target data)를 획득하는 통신부;
생성적 적대적 신경망(GAN; generative adversarial network)에 의한 악성 패킷 판별 모듈을 통하여 상기 분석 대상 데이터의 악성 여부를 판별하거나 상기 통신부를 통하여 연동되는 타 장치로 하여금 상기 악성 패킷 판별 모듈을 통하여 상기 분석 대상 데이터의 악성 여부를 판별하도록 지원하는 프로세스; 및 상기 분석 대상 데이터 중 악성으로 판별된 데이터를 외부 엔티티에 제공하거나 상기 타 장치로 하여금 상기 외부 엔티티에 제공하도록 지원하는 프로세스를 수행하는 프로세서
를 포함하고,
상기 악성 패킷 판별 모듈은, 생성기(generator)인 유사 악성 패킷 생성 모듈 및 판별기(discriminator)인 상기 악성 패킷 판별 모듈을 포함하는 생성적 적대적 신경망(GAN; generative adversarial network)으로부터 유래하고,
상기 악성 패킷 판별 모듈을 통하여 상기 분석 대상 데이터의 악성 여부가 판별되되,
상기 생성적 적대적 신경망은, 상기 프로세서에서, 또는 상기 통신부에 연동되는 소정의 훈련용 컴퓨팅 장치에서, 다수의 훈련용 실제 악성 패킷 및 상기 실제 악성 패킷과 유사하지만 악성이 아닌 다수의 유사 악성 패킷을 이용한 기계 학습에 의하여 훈련되고,
상기 다수의 유사 악성 패킷은 상기 프로세서 또는 상기 훈련용 컴퓨팅 장치에서 상기 유사 악성 패킷 생성 모듈로부터 생성되고,
상기 기계 학습에 의한 훈련시,
상기 프로세서 또는 상기 훈련용 컴퓨팅 장치에서, 상기 유사 악성 패킷 생성 모듈은 상기 악성 패킷 판별 모듈로 하여금 생성된 상기 유사 악성 패킷을 악성인 것으로 판별하게 하는 방향으로 훈련되고, 상기 악성 패킷 판별 모듈은 생성된 상기 유사 악성 패킷을 악성이 아닌 것으로 판별하게 하는 방향으로 훈련되는 것을 특징으로 하는 악성 패킷 검출 장비.
1. A network equipment for detecting a malicious packet from a packet stream or a corresponding log,
A communication unit for acquiring analysis target data from the packet stream or a log corresponding thereto;
A malicious packet discrimination module based on a generative adversarial network (GAN) for discriminating maliciousness of the analysis target data or causing other devices interlocked through the communication section to transmit the analysis target data through the malicious packet discrimination module A process to assist in determining whether or not it is malicious; And a processor for performing a process of providing data to the external entity determined to be malicious among the data to be analyzed or providing the other device to the external entity,
Lt; / RTI >
The malicious packet discrimination module is derived from a generative adversarial network (GAN) including a malicious packet generation module as a generator and the malicious packet discrimination module as a discriminator,
The malicious packet discrimination module determines whether the analysis target data is malicious,
Wherein the generated hostile neural network is configured to use a plurality of actual malicious packets for training and a plurality of similar malicious packets that are similar to the actual malicious packets but are not malicious in the processor or in a predetermined training computing device interlocked with the communication section Machine learning is trained,
Wherein the plurality of similar malicious packets are generated from the similar malicious packet generation module in the processor or the training computing device,
During the training by the machine learning,
In the processor or the training computing device, the similar malicious packet generation module is trained in a direction that causes the malicious packet determination module to determine that the generated similar malicious packet is malicious, and the malicious packet determination module The malicious packet is trained in such a direction as to determine that the similar malicious packet is not malicious.
삭제delete 삭제delete
KR1020190027335A 2019-03-11 2019-03-11 Method for detecting malcious packets based on machine learning model and apparatus using the same KR102002880B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190027335A KR102002880B1 (en) 2019-03-11 2019-03-11 Method for detecting malcious packets based on machine learning model and apparatus using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190027335A KR102002880B1 (en) 2019-03-11 2019-03-11 Method for detecting malcious packets based on machine learning model and apparatus using the same

Publications (1)

Publication Number Publication Date
KR102002880B1 true KR102002880B1 (en) 2019-07-23

Family

ID=67439785

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190027335A KR102002880B1 (en) 2019-03-11 2019-03-11 Method for detecting malcious packets based on machine learning model and apparatus using the same

Country Status (1)

Country Link
KR (1) KR102002880B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220030680A (en) * 2020-09-03 2022-03-11 (주)아크릴 AI(Artificial Intelligence) service providing system and method for non-AI experts
CN115277098A (en) * 2022-06-27 2022-11-01 深圳铸泰科技有限公司 Intelligent learning-based network flow anomaly detection device and method
US11611588B2 (en) 2020-07-10 2023-03-21 Kyndryl, Inc. Deep learning network intrusion detection
US11614989B2 (en) 2020-07-28 2023-03-28 Electronics And Telecommunications Research Institute Method and apparatus for intelligent operation management of infrastructure

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101776662B1 (en) 2017-04-05 2017-09-08 (주)시큐레이어 Data storage and processing method for collecting and analyzing real-time events, and network system using the same
KR101940029B1 (en) * 2018-07-11 2019-01-18 주식회사 마키나락스 Anomaly detection

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101776662B1 (en) 2017-04-05 2017-09-08 (주)시큐레이어 Data storage and processing method for collecting and analyzing real-time events, and network system using the same
KR101940029B1 (en) * 2018-07-11 2019-01-18 주식회사 마키나락스 Anomaly detection

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Dan Li 외 3인, "Anomaly Detection with Generative Adversarial Networks for Multivariate Time Series", the 7th International Workshop (2018.09)* *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11611588B2 (en) 2020-07-10 2023-03-21 Kyndryl, Inc. Deep learning network intrusion detection
US11614989B2 (en) 2020-07-28 2023-03-28 Electronics And Telecommunications Research Institute Method and apparatus for intelligent operation management of infrastructure
KR20220030680A (en) * 2020-09-03 2022-03-11 (주)아크릴 AI(Artificial Intelligence) service providing system and method for non-AI experts
KR102377645B1 (en) * 2020-09-03 2022-03-23 (주)아크릴 AI(Artificial Intelligence) service providing system and method for non-AI experts
CN115277098A (en) * 2022-06-27 2022-11-01 深圳铸泰科技有限公司 Intelligent learning-based network flow anomaly detection device and method

Similar Documents

Publication Publication Date Title
Moustafa et al. A holistic review of network anomaly detection systems: A comprehensive survey
KR102002880B1 (en) Method for detecting malcious packets based on machine learning model and apparatus using the same
US10855700B1 (en) Post-intrusion detection of cyber-attacks during lateral movement within networks
Corona et al. Adversarial attacks against intrusion detection systems: Taxonomy, solutions and open issues
US11562068B2 (en) Performing threat detection by synergistically combining results of static file analysis and behavior analysis
US9747446B1 (en) System and method for run-time object classification
US9032521B2 (en) Adaptive cyber-security analytics
Moustafa Designing an online and reliable statistical anomaly detection framework for dealing with large high-speed network traffic
Mukkamala et al. Cyber security challenges: Designing efficient intrusion detection systems and antivirus tools
JP6086423B2 (en) Unauthorized communication detection method by collating observation information of multiple sensors
Haddadi et al. On the effectiveness of different botnet detection approaches
Thomas Improving intrusion detection for imbalanced network traffic
Alzahrani et al. A multi-class neural network model for rapid detection of IoT botnet attacks
Suthar et al. A signature-based botnet (emotet) detection mechanism
Ádám et al. Artificial neural network based IDS
Lu et al. APT traffic detection based on time transform
Nazir et al. Network intrusion detection: Taxonomy and machine learning applications
Shabtai et al. Monitoring, analysis, and filtering system for purifying network traffic of known and unknown malicious content
KR101987031B1 (en) Method for providing visualization of information for network management and apparatus using the same
Chovancová et al. The Security of Heterogeneous Systems based on Cluster High-interaction Hybrid Honeypot
US11632393B2 (en) Detecting and mitigating malware by evaluating HTTP errors
Jia et al. Bidirectional RNN-Based Few-Shot Training for Detecting Multi-stage Attack
Mehta et al. Dt-ds: Can intrusion detection with decision tree ensembles
Ochieng et al. A tour of the computer worm detection space
Agrawal et al. Proposed multi-layers intrusion detection system (MLIDS) model

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant