KR102152403B1 - Apparatus and method for detecting abnormal behavior using data pattern analysis - Google Patents

Apparatus and method for detecting abnormal behavior using data pattern analysis Download PDF

Info

Publication number
KR102152403B1
KR102152403B1 KR1020180168137A KR20180168137A KR102152403B1 KR 102152403 B1 KR102152403 B1 KR 102152403B1 KR 1020180168137 A KR1020180168137 A KR 1020180168137A KR 20180168137 A KR20180168137 A KR 20180168137A KR 102152403 B1 KR102152403 B1 KR 102152403B1
Authority
KR
South Korea
Prior art keywords
data
abnormal behavior
acquired
association rule
neural network
Prior art date
Application number
KR1020180168137A
Other languages
Korean (ko)
Other versions
KR20200078866A (en
Inventor
손태식
권성문
Original Assignee
아주대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 아주대학교산학협력단 filed Critical 아주대학교산학협력단
Priority to KR1020180168137A priority Critical patent/KR102152403B1/en
Publication of KR20200078866A publication Critical patent/KR20200078866A/en
Application granted granted Critical
Publication of KR102152403B1 publication Critical patent/KR102152403B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks

Abstract

데이터 패턴 분석을 이용한 비정상행위 탐지 방법에 있어서, 각각이 복수의 데이터 포인트를 포함하는 N개의 취득 데이터를 수신하는 단계, 상기 복수의 데이터 포인트의 데이터 변화량, 증가/감소 여부 및 분포 구간 중 적어도 어느 하나에 따라 상기 N개의 취득 데이터의 전처리를 수행하는 단계, 상기 전처리된 N개의 취득 데이터를 비교하여 복수의 데이터 포인트 중 적어도 2개 이상의 데이터 포인트 간의 연관 규칙을 생성하는 단계, 상기 생성된 연관 규칙에 포함된 특징을 입력으로 하는 인공 신경망 모델을 생성하는 단계 및 상기 생성된 인공 신경망을 이용하여 N+1번째의 취득 데이터를 예측하는 단계를 포함할 수 있다.A method of detecting abnormal behavior using data pattern analysis, the method comprising: receiving N pieces of acquired data each including a plurality of data points, at least one of a data change amount of the plurality of data points, an increase/decrease, and a distribution section Performing pre-processing of the N pieces of acquired data according to, generating an association rule between at least two or more data points among a plurality of data points by comparing the pre-processed N pieces of acquired data, included in the generated association rule The method may include generating an artificial neural network model using the generated feature as an input, and predicting the N+1th acquired data using the generated artificial neural network.

Description

데이터 패턴 분석을 이용한 비정상행위 탐지 장치 및 방법{APPARATUS AND METHOD FOR DETECTING ABNORMAL BEHAVIOR USING DATA PATTERN ANALYSIS}Abnormal behavior detection device and method using data pattern analysis {APPARATUS AND METHOD FOR DETECTING ABNORMAL BEHAVIOR USING DATA PATTERN ANALYSIS}

본원은 데이터 패턴 분석을 이용한 비정상행위 탐지 장치 및 방법에 관한 것이다.The present application relates to an apparatus and method for detecting abnormal behavior using data pattern analysis.

악성코드란, 악의적인 목적을 가지고 제작되어 컴퓨터에서 악영향을 끼치는 소프트웨어를 의미하며, CrashOverride, Triton 등 산업제어시스템을 대상으로 하는 악성코드는 고도화되어 산업제어시스템의 프로토콜 또한 준수하기 때문에 종래의 헤더 기반의 탐지 기법으로는 탐지가 어려워지고 있는 실정이다.Malware refers to software that is produced with a malicious purpose and has an adverse effect on the computer, and malicious codes targeting industrial control systems such as CrashOverride and Triton are advanced and comply with the protocols of the industrial control system. It is becoming difficult to detect with the detection technique of.

또한, 다양한 기계학습 및 인공지능 기반의 비정상행위를 탐지하는 실험적 연구는 데이터의 특징을 선택한 후 진행하는 학습 과정 및 학습 결과가 블랙박스 형식으로 구성되어 있어, 그 과정과 결과를 해석하기 힘들 뿐만 아니라 유지 보수 또한 어려워 현장의 도입이 어렵다는 문제점이 있다.In addition, experimental research that detects abnormal behaviors based on various machine learning and artificial intelligence is composed of the learning process and learning results that proceed after selecting the features of the data in a black box format, making it difficult to interpret the process and results. There is a problem that it is difficult to introduce the site due to difficult maintenance.

본원의 배경이 되는 기술은 한국등록특허공보 제 10-1880686 호에 개시되어 있다.The technology behind the present application is disclosed in Korean Patent Publication No. 10-1880686.

본원은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 다양한 종류, 범위, 변화 유형 등을 가지는 다양한 데이터 간의 패턴 분석을 통한 연관 규칙(Association rule)을 생성하고, 각 연관 규칙을 인공 신경망에 입력하여 다음 취득 데이터에서의 데이터 값 또는 변화를 예측하며, 인공 신경망 모델을 통하여 예측된 값과 실제 값 간에 차이가 발생하는 경우 알람(Alert)이 발생하도록 함으로써, 결과 해석이 용이하고 직관성이 높은 데이터 패턴 분석을 이용한 비정상행위 탐지 장치 및 방법을 제공하려는 것을 목적으로 한다.The present application is to solve the problems of the prior art described above, by generating an association rule through pattern analysis between various data having various types, ranges, and types of change, and inputting each association rule into an artificial neural network. Data value or change in the next acquired data is predicted, and an alarm occurs when a difference occurs between the predicted value and the actual value through the artificial neural network model, making the result analysis easy and highly intuitive data pattern analysis. It aims to provide an apparatus and method for detecting abnormal behavior using

다만, 본원의 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.However, the technical problem to be achieved by the embodiments of the present application is not limited to the technical problems as described above, and other technical problems may exist.

상기한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본원의 일 실시예에 따른 데이터 패턴 분석을 이용한 비정상행위 탐지 방법은, 각각이 복수의 데이터 포인트를 포함하는 N개의 취득 데이터를 수신하는 단계, 상기 복수의 데이터 포인트의 데이터 변화량, 증가/감소 여부 및 분포 구간 중 적어도 어느 하나에 따라 상기 N개의 취득 데이터의 전처리를 수행하는 단계, 상기 전처리된 N개의 취득 데이터를 비교하여 복수의 데이터 포인트 중 적어도 2개 이상의 데이터 포인트 간의 연관 규칙을 생성하는 단계, 상기 생성된 연관 규칙에 포함된 특징을 입력으로 하는 인공 신경망 모델을 생성하는 단계 및 상기 생성된 인공 신경망을 이용하여 N+1번째의 취득 데이터를 예측하는 단계를 포함할 수 있다.As a technical means for achieving the above technical problem, an abnormal behavior detection method using data pattern analysis according to an embodiment of the present application includes the steps of receiving N pieces of acquired data each including a plurality of data points, the plurality of Pre-processing of the N pieces of acquired data according to at least one of a data change amount, increase/decrease, and distribution interval of the data points of, and at least two of a plurality of data points by comparing the pre-processed N acquired data Generating an association rule between the above data points, generating an artificial neural network model that takes features included in the generated association rule as inputs, and predicting the N+1th acquisition data using the generated artificial neural network It may include steps.

또한, 본원의 일 실시예에 따른 데이터 패턴 분석을 이용한 비정상행위 탐지 방법에서 상기 연관 규칙을 생성하는 단계는, 상기 전처리된 N개의 취득 데이터에 포함된 상기 적어도 2개 이상의 데이터 포인트의 변화의 패턴을 이용하여 상기 연관 규칙이 적어도 하나 이상 생성될 수 있다.In addition, the step of generating the association rule in the abnormal behavior detection method using data pattern analysis according to an embodiment of the present application includes a pattern of change of the at least two or more data points included in the preprocessed N pieces of acquired data. At least one or more association rules may be generated by using.

또한, 본원의 일 실시예에 따른 데이터 패턴 분석을 이용한 비정상행위 탐지 방법에서 상기 연관 규칙을 생성하는 단계는, 상기 전처리된 N개의 취득 데이터에 포함된 복수의 데이터 포인트 중에서, 상기 적어도 2개 이상의 데이터 포인트의 변화의 패턴의 발생 비율이 미리 설정된 경계값 이상일 경우, 상기 적어도 2개 이상의 데이터 포인트의 변화의 패턴을 상기 연관 규칙으로 생성할 수 있다.In addition, in the method for detecting anomalous behavior using data pattern analysis according to an embodiment of the present application, generating the association rule includes, among a plurality of data points included in the preprocessed N pieces of acquired data, the at least two or more data When the rate of occurrence of the pattern of change of points is greater than or equal to a preset threshold value, the pattern of change of the at least two data points may be generated as the association rule.

또한, 본원의 일 실시예에 따른 데이터 패턴 분석을 이용한 비정상행위 탐지 방법은, 상기 인공 신경망 모델은 Recurrent Neural Network 모델일 수 있다.In addition, in the method for detecting abnormal behavior using data pattern analysis according to an embodiment of the present application, the artificial neural network model may be a recurrent neural network model.

또한, 본원의 일 실시예에 따른 데이터 패턴 분석을 이용한 비정상행위 탐지 방법에서 상기 인공 신경망 모델을 생성하는 단계는, 복수의 연관 규칙 각각에 대응하여 인공 신경망 모델을 생성하고, 상기 N+1번째의 취득 데이터를 예측하는 단계는, 상기 연관 규칙마다 생성된 각각의 인공 신경망을 이용하여, 상기 연관 규칙과 연계된 상기 N+1번째의 취득 데이터에 포함되는 데이터 포인트를 예측할 수 있다.In addition, the step of generating the artificial neural network model in the abnormal behavior detection method using data pattern analysis according to an embodiment of the present application generates an artificial neural network model corresponding to each of a plurality of association rules, and the N+1 th In the predicting of acquired data, a data point included in the N+1 th acquired data linked to the association rule may be predicted using each artificial neural network generated for each association rule.

또한, 본원의 일 실시예에 따른 데이터 패턴 분석을 이용한 비정상행위 탐지 방법은, 복수의 데이터 포인트를 포함하는 N+1번째 취득 데이터를 수신하는 단계 및 상기 인공 신경망을 이용하여 예측된 상기 예측된 N+1번째 취득 데이터와 상기 수신한 N+1번째 취득 데이터를 비교하여 상기 수신된 N+1번째 취득 데이터에 대한 비정상행위를 판단하는 단계를 더 포함할 수 있다. In addition, an abnormal behavior detection method using data pattern analysis according to an embodiment of the present application includes receiving the N+1 th acquisition data including a plurality of data points, and the predicted N predicted using the artificial neural network. It may further include the step of determining an abnormal behavior for the received N+1 th acquired data by comparing the +1 th acquired data with the received N+1 th acquired data.

또한, 본원의 일 실시예에 따른 데이터 패턴 분석을 이용한 비정상행위 탐지 방법에서 상기 수신된 N+1번째 취득 데이터에 대한 비정상행위를 판단하는 단계는, 상기 예측된 N+1번째 취득 데이터에 포함된 데이터 포인트와 상기 수신된 N+1번째 취득 데이터에 포함된 데이터 포인트를 비교하여 생성된 오차 범위가 미리 설정된 문턱치값 이상인 경우, 알람을 발생시키는 단계를 포함할 수 있다.In addition, in the method for detecting abnormal behavior using data pattern analysis according to an exemplary embodiment of the present application, the step of determining abnormal behavior for the received N+1 th acquired data may be included in the predicted N+1 th acquired data. When the error range generated by comparing the data point with the data point included in the received N+1 th acquired data is equal to or greater than a preset threshold value, generating an alarm.

한편, 본원의 일 실시예에 따른 데이터 패턴 분석을 이용한 비정상행위 탐지 장치는, 각각이 복수의 데이터 포인트를 포함하는 N개의 취득 데이터를 수신하는 통신부, 상기 복수의 데이터 포인트의 데이터 변화량, 증가/감소 여부 및 분포 구간 중 적어도 어느 하나에 따라 상기 N개의 취득 데이터의 전처리를 수행하는 데이터 전처리부, 상기 전처리된 N개의 취득 데이터를 비교하여 복수의 데이터 포인트 중 적어도 2개 이상의 데이터 포인트 간의 연관 규칙을 생성하는 규칙 생성부, 상기 생성된 연관 규칙에 포함된 특징을 입력으로 하는 인공 신경망 모델을 생성하는 모델 생성부 및 상기 생성된 인공 신경망을 이용하여 N+1번째의 취득 데이터를 예측하는 데이터 예측부를 포함할 수 있다.On the other hand, the apparatus for detecting abnormal behavior using data pattern analysis according to an embodiment of the present application includes a communication unit for receiving N pieces of acquired data each including a plurality of data points, and an increase/decrease in data change amount of the plurality of data points. A data pre-processing unit that performs pre-processing of the N acquired data according to at least one of whether or not and a distribution section, and generates an association rule between at least two or more data points among a plurality of data points by comparing the pre-processed N acquired data A rule generation unit that generates a rule generation unit, a model generation unit that generates an artificial neural network model that receives features included in the generated association rule as inputs, and a data prediction unit that predicts the N+1th acquisition data using the generated artificial neural network. can do.

또한, 본원의 일 실시예에 따른 데이터 패턴 분석을 이용한 비정상행위 탐지 장치는, 상기 인공 신경망을 통하여 예측된 상기 예측된 N+1번째 취득 데이터와 수신된 N+1번째 취득 데이터를 비교하여 상기 수신된 N+1번째 취득 데이터에 대한 비정상행위를 판단하는 비정상행위 판단부를 더 포함하고, 상기 통신부는, 복수의 데이터 포인트를 포함하는 상기 수신된 N+1번째 취득 데이터를 수신할 수 있다.In addition, the apparatus for detecting abnormal behavior using data pattern analysis according to an embodiment of the present disclosure compares the predicted N+1th acquisition data predicted through the artificial neural network with the received N+1th acquisition data to receive the An abnormal behavior determination unit for determining abnormal behavior with respect to the obtained N+1 th acquired data may be further included, and the communication unit may receive the received N+1 th acquired data including a plurality of data points.

또한, 본원의 일 실시예에 따른 데이터 패턴 분석을 이용한 비정상행위 탐지 장치에서 비정상행위 판단부는, 상기 예측된 N+1번째 취득 데이터에 포함된 데이터 포인트와 상기 수신된 N+1번째 취득 데이터에 포함된 데이터 포인트를 비교하여 생성된 오차 범위가 미리 설정된 문턱치값 이상인 경우, 알람을 발생시키는 알람 센서를 포함할 수 있다.In addition, in the abnormal behavior detection apparatus using data pattern analysis according to an embodiment of the present application, the abnormal behavior determination unit is included in the data points included in the predicted N+1 th acquired data and the received N+1 th acquired data. An alarm sensor that generates an alarm when an error range generated by comparing the data points is equal to or greater than a preset threshold value may be included.

상술한 과제 해결 수단은 단지 예시적인 것으로서, 본원을 제한하려는 의도로 해석되지 않아야 한다. 상술한 예시적인 실시예 외에도, 도면 및 발명의 상세한 설명에 추가적인 실시예가 존재할 수 있다.The above-described problem solving means are merely exemplary and should not be construed as limiting the present application. In addition to the above-described exemplary embodiments, additional embodiments may exist in the drawings and detailed description of the invention.

전술한 본원의 과제 해결수단에 의하면, 다양한 종류, 다양한 데이터 간의 패턴 분석을 통한 연관 규칙(Association rule)을 생성하고, 각 연관 규칙마다 Many-to-One 인공 신경망(RNN 모델)에 입력하여 다음 취득 데이터에서의 각 연관 규칙에 따른 데이터 포인트의 값을 예측하며, 모델을 통하여 예측된 값과 실제 값 간에 차이가 발생하는 경우 알림이 발생하도록 함으로써, 데이터 결과값 해석이 용이하다는 효과가 있다.According to the above-described problem solving means of the present application, an association rule is generated through pattern analysis between various types and various data, and then obtained by inputting each association rule into a Many-to-One artificial neural network (RNN model). The value of the data point according to each association rule in the data is predicted, and a notification is generated when a difference occurs between the predicted value and the actual value through the model, thereby making it easy to interpret the data result value.

전술한 본원의 과제 해결 수단에 의하면, 취득 데이터 간의 연관 규칙을 생성하고 연관성 있는 데이터 간의 다음 데이터를 예측하는 RNN(Recurrent Neural Network) 기반의 모델을 생성하여 비정상행위를 탐지하는 모델을 활용함으로써, 직관성이 뛰어나 보안 관리자 입장에서 유지 및 보수가 용이한 효과가 있다.According to the above-described problem solving means of the present application, by using a model that detects abnormal behavior by generating a recurrent neural network (RNN)-based model that generates association rules between acquired data and predicts next data between related data, intuitiveness It is excellent in that it has the effect of easy maintenance and repair from the standpoint of a security manager.

다만, 본원에서 얻을 수 있는 효과는 상기된 바와 같은 효과들로 한정되지 않으며, 또 다른 효과들이 존재할 수 있다.However, the effect obtainable in the present application is not limited to the effects as described above, and other effects may exist.

도 1은 본원의 일 실시예에 따른 데이터 패턴 분석을 이용한 비정상행위 탐지 장치의 전체적인 시스템을 개략적으로 나타낸 도면이다.
도 2는 본원의 일 실시예에 따른 데이터 패턴 분석을 이용한 비정상행위 탐지 장치의 개략적인 블록도이다.
도 3은 본원의 일 실시예에 따른 데이터 패턴 분석을 이용한 비정상행위 탐지 장치의 동작을 설명하는 개략적인 예시 흐름도이다.
도 4는 본원의 일 실시예에 따른 데이터 패턴 분석을 이용한 비정상행위 탐지 방법에 대한 동작 흐름도이다.
1 is a diagram schematically showing an overall system of an abnormal behavior detection apparatus using data pattern analysis according to an embodiment of the present application.
2 is a schematic block diagram of an apparatus for detecting abnormal behavior using data pattern analysis according to an embodiment of the present application.
3 is a schematic exemplary flowchart illustrating an operation of an abnormal behavior detection apparatus using data pattern analysis according to an embodiment of the present application.
4 is a flowchart illustrating an operation of an abnormal behavior detection method using data pattern analysis according to an exemplary embodiment of the present application.

아래에서는 첨부한 도면을 참조하여 본원이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본원의 실시예를 상세히 설명한다. 그러나 본원은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본원을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, exemplary embodiments of the present application will be described in detail with reference to the accompanying drawings so that those of ordinary skill in the art may easily implement the present application. However, the present application may be implemented in various different forms and is not limited to the embodiments described herein. In addition, in the drawings, parts not related to the description are omitted in order to clearly describe the present application, and similar reference numerals are attached to similar parts throughout the specification.

본원 명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결" 또는 "간접적으로 연결"되어 있는 경우도 포함한다. Throughout the present specification, when a part is said to be "connected" with another part, it is not only "directly connected", but also "electrically connected" or "indirectly connected" with another element interposed therebetween. "Including the case.

본원 명세서 전체에서, 어떤 부재가 다른 부재 "상에", "상부에", "상단에", "하에", "하부에", "하단에" 위치하고 있다고 할 때, 이는 어떤 부재가 다른 부재에 접해 있는 경우뿐 아니라 두 부재 사이에 또 다른 부재가 존재하는 경우도 포함한다.Throughout this specification, when a member is positioned "on", "upper", "upper", "under", "lower", and "lower" of another member, this means that a member is located on another member. It includes not only the case where they are in contact but also the case where another member exists between the two members.

본원 명세서 전체에서, 어떤 부분이 어떤 구성 요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification of the present application, when a certain part "includes" a certain component, it means that other components may be further included rather than excluding other components unless specifically stated to the contrary.

본원의 일 실시예에 따른 데이터 패턴 분석을 이용한 비정상행위 탐지 장치는 취득 데이터 간의 연관 규칙(Association Rule)을 생성하고, 연관성 있는 취득 데이터 간의 다음 데이터를 예측하는 RNN(Recurrent Neural Network) 기반의 모델을 생성하여 비정상행위를 탐지하는 모델에 관한 것이다. 생성된 연관 규칙은 보안 규칙으로 활용될 수 있을 뿐만 아니라, 연관 규칙을 통해 연관성 있는 데이터 셋(set)을 RNN의 인풋(Input) 데이터로 사용하며, RNN의 아웃풋(Output)으로 다음 예상 데이터를 생성하기 때문에 제안 방법과 모델은 직관성이 뛰어나 보안 관리자 입장에서 유지 및 보수가 용이할 수 있다. The apparatus for detecting abnormal behavior using data pattern analysis according to an embodiment of the present application generates an association rule between acquired data, and uses a recurrent neural network (RNN)-based model that predicts next data between acquired data. It relates to a model that generates and detects abnormal behavior. The generated association rule can be used not only as a security rule, but also uses a data set that is related through the association rule as input data of the RNN, and generates the next expected data as the output of the RNN. Therefore, the proposed method and model are highly intuitive and can be easily maintained and repaired from the perspective of a security administrator.

도 1은 본원의 일 실시예에 따른 데이터 패턴 분석을 이용한 비정상행위 탐지 장치의 전체적인 시스템을 개략적으로 나타낸 도면이고, 도 2는 본원의 일 실시예에 따른 데이터 패턴 분석을 이용한 비정상행위 탐지 장치의 개략적인 블록도이다.1 is a diagram schematically showing the overall system of an abnormal behavior detection apparatus using data pattern analysis according to an embodiment of the present application, and FIG. 2 is a schematic diagram of an abnormal behavior detection apparatus using data pattern analysis according to an exemplary embodiment of the present application It is a block diagram.

도1 및 도2를 참조하면, 데이터 패턴 분석을 이용한 비정상행위 탐지 장치(200)는 각각이 복수의 데이터 포인트를 포함하는 N개의 취득 데이터를 데이터 베이스(100)로부터 수신 받아, 데이터 전처리, 연관 규칙 생성, 인공 신경망 모델 생성 및 비정상행위 판단 등 비정상행위 탐지를 위한 동작을 수행할 수 있다. 데이터 베이스(100)는 N개의 취득 데이터를 포함한 복수의 데이터를 수집하고 저장할 수 있고, 데이터 패턴 분석을 이용한 비정상행위 탐지 장치(200)는 데이터 베이스(100)에 저장된 복수의 데이터 중 데이터 패턴 분석을 진행할 N개의 취득 데이터를 수신할 수 있다. 여기서 취득 데이터는 데이터 패턴 분석을 이용한 비정상행위 탐지 장치(200)가 데이터 베이스(100)로부터 취득하는 전체 데이터 셋트를 의미할 수 있으며, 일 예로, 발전소 관련 데이터, 병원 관련 데이터, 학교 관련 데이터, 교통 관련 데이터 및 금융 관련 데이터 등 공공 데이터 등 다양한 종류의 데이터 셋트를 포함할 수 있다. 예를 들어, 취득 데이터는 방대한 량의 데이터 패킷의 형태로 데이터 베이스(100)에 저장되고, 비정상행위 탐지 장치(200)로 전송될 수 있다.1 and 2, the abnormal behavior detection apparatus 200 using data pattern analysis receives N pieces of acquired data each including a plurality of data points from the database 100, and pre-processes data and a related rule. It can perform operations to detect abnormal behavior such as generation, artificial neural network model generation, and abnormal behavior determination. The database 100 may collect and store a plurality of data including N pieces of acquired data, and the abnormal behavior detection apparatus 200 using data pattern analysis performs data pattern analysis among a plurality of data stored in the database 100. It is possible to receive N pieces of acquisition data to proceed. Here, the acquired data may refer to the entire data set acquired from the database 100 by the abnormal behavior detection device 200 using data pattern analysis. For example, data related to power plants, data related to hospitals, data related to schools, and traffic It can contain various types of data sets such as public data such as related data and financial data. For example, the acquired data may be stored in the database 100 in the form of a vast amount of data packets and transmitted to the abnormal behavior detection device 200.

데이터 베이스(100) 및 데이터 패턴 분석을 이용한 비정상행위 탐지 장치(200)는 네트워크(1)를 통해 통신할 수 있다. 네트워크(1)는 단말 및 서버와 같은 각각의 노드 상호 간에 정보 교환이 가능한 무선의 연결 구조를 의미하는 것으로, 이러한 네트워크의 일 예에는 3GPP(3rd Generation Partnership Project) 네트워크, LTE(Long Term Evolution) 네트워크, 5G 네트워크, WIMAX(World Interoperability for Microwave Access) 네트워크, 인터넷(Internet), LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WAN(Wide Area Network), PAN(Personal Area Network), 블루투스(Bluetooth) 네트워크, 위성 방송 네트워크, 아날로그 방송 네트워크, DMB(Digital Multimedia Broadcasting) 네트워크 등이 포함되나 이에 한정되지는 않는다.The database 100 and the apparatus 200 for detecting abnormal behavior using data pattern analysis may communicate through the network 1. Network 1 refers to a wireless connection structure in which information exchange is possible between each node such as a terminal and a server, and examples of such networks include a 3rd Generation Partnership Project (3GPP) network and a Long Term Evolution (LTE) network. , 5G network, WIMAX (World Interoperability for Microwave Access) network, Internet, LAN (Local Area Network), Wireless LAN (Wireless Local Area Network), WAN (Wide Area Network), PAN (Personal Area Network), Bluetooth (Bluetooth) network, satellite broadcasting network, analog broadcasting network, DMB (Digital Multimedia Broadcasting) network, and the like are included, but are not limited thereto.

본원의 일 실시예에 따른, 데이터 패턴 분석을 이용한 비정상행위 탐지 장치(200)는 페이로드, 즉 취득 데이터에 기반하여 Trition, Crashoverride와 같은 정상 행위와 유사한 고도화된 악성 코드를 탐지할 수 있으며, 특징(Feature) 선택에 있어서 Dimension Reduction을 수행하지 않고 연관 규칙(Association Rule)을 통해 연관성 있는 특징을 뽑음으로써, 직관성이 높고 연관 규칙 자체를 Whitelist로 활용할 수 있다. 또한, 연관 규칙을 통해 생성한 RNN(Recurrent Neural Network) 모델은 데이터 생성 모델로 출력 값이 해당 연관 규칙의 예상 값이기 때문에 결과 값 해석이 용이하다.The abnormal behavior detection apparatus 200 using data pattern analysis according to an embodiment of the present application may detect advanced malicious code similar to normal behavior such as Trition and Crashoverride based on the payload, that is, acquired data, and features In selecting (Feature), by selecting the relevant features through the Association Rule without performing Dimension Reduction, it is highly intuitive and the association rule itself can be used as a whitelist. In addition, since the recurrent neural network (RNN) model generated through the association rule is a data generation model, the output value is an expected value of the corresponding association rule, so it is easy to interpret the result value.

데이터 패턴 분석을 이용한 비정상행위 탐지 장치(200)는 통신부(210), 데이터 전처리부(220), 규칙 생성부(230), 모델 생성부(240), 데이터 예측부(250) 및 비정상행위 판단부(260)를 포함할 수 있다.The abnormal behavior detection device 200 using data pattern analysis includes a communication unit 210, a data preprocessor 220, a rule generation unit 230, a model generation unit 240, a data prediction unit 250, and an abnormal behavior determination unit. It may include 260.

통신부(210)는 각각이 복수의 데이터 포인트를 포함하는 N개의 취득 데이터를 수신할 수 있다. 통신부(210)는 데이터 베이스(100)로부터 N개의 취득 데이터를 수신할 수 있다. 여기서 N개의 취득 데이터 각각은 복수의 데이터 포인트를 포함할 수 있다. 데이터 포인트는 취득 데이터에 포함되는 단일/개별 종류의 데이터를 의미하며, 하나의 취득 데이터 내에는 복수의 데이터 포인트가 서브 데이터의 개념으로 포함될 수 있다. 일 예로, 취득 데이터가 발전소 관련 데이터인 경우, 데이터 포인트는 발전소 on/off에 관한 데이터, 생산 전력량에 관한 데이터, 발전소 매출 추이에 관한 데이터 등 다양한 종류. 유형의 데이터를 포함할 수 있다. 다른 예로, 취득 데이터가 병원 관련 데이터의 경우, 데이터 포인트는 의료진 및 환자 수에 관한 데이터, 의료 사고 발생 수에 관한 데이터, 질병 관련 데이터 등을 포함할 수 있다. 또한, 각 데이터 포인트는 해당 데이터 포인트가 포함하고 있는 정보에 따라 데이터 변화량, 증가/감소 여부 및 분포 구간 등의 유형을 포함할 수 있다. 데이터 포인트에 대한 자세한 설명은 후술하기로 한다.The communication unit 210 may receive N pieces of acquired data each including a plurality of data points. The communication unit 210 may receive N pieces of acquired data from the database 100. Here, each of the N pieces of acquired data may include a plurality of data points. The data point means a single/individual type of data included in the acquired data, and a plurality of data points may be included in the concept of sub data in one acquired data. For example, when the acquired data is data related to a power plant, the data points are various types, such as data on on/off power plants, data on the amount of power produced, and data on trends in power plant sales. Can contain tangible data. As another example, when the acquired data is hospital-related data, the data points may include data on the number of medical staff and patients, data on the number of medical accidents, and disease-related data. In addition, each data point may include a type of data change, an increase/decrease, and a distribution interval according to information included in the data point. A detailed description of the data points will be described later.

데이터가 on/off와 같은 바이너리 값인 경우 문제가 되지 않으나, 계측 데이터와 같은 값으로 표현되는 경우에는 경우의 수를 제한할 수 없어 문제가 발생할 수 있다. 따라서, 본원의 일 실시예에 따르면, 이 경우, 데이터 변화량, 데이터의 증가/감소 여부 및 분포구간을 0 ~ 10, 11 ~ 20 등으로 나누어 데이터 분포 구간을 사용할 있다.If the data is a binary value such as on/off, it does not matter, but if the data is expressed as the same value as the measurement data, the number of cases cannot be limited and a problem may occur. Accordingly, according to an exemplary embodiment of the present disclosure, in this case, a data distribution section may be used by dividing the amount of data change, whether the data increases/decreases, and the distribution section by 0 to 10, 11 to 20, and the like.

데이터 전처리부(220)는 복수의 데이터 포인트의 데이터 변화량, 증가/감소 여부 및 분포 구간 중 적어도 하나에 따라 N 개의 취득 데이터의 전처리를 수행할 수 있다. 데이터 전처리부(220)는 복수의 데이터 포인트 각각의 유형, 종류에 따라, 복수의 데이터 포인트에 포함되는 데이터 변화량, 증가/감소 여부 및 분포 구간 중 적어도 하나에 대한 데이터를 정형화하여 수치화할 수 있다. 데이터 전처리부(220)는 예를 들어, 취득 데이터가 발전소 관련 데이터이고, 데이터 포인트가 생산 전력량인 경우, 생산 전력량 변화량 값, 생산 전력량 증가/감소 여부 등을 수치화하거나 미리 설정된 라벨 등으로 맵핑할 수 있다. 일 예로, 데이터 전처리부(220)는 데이터 포인트가 생산 전력량에 관한 데이터인 경우, 생산 전력량이 0kW ~ 50,000 kW인 경우를 '0', 50,001kW ~ 100,000 kW 인 경우를 '1', 100,001 kW ~ 150,000 kW인 경우를 '2', 150,001 kW ~ 200,000 kW인 경우를 '3'으로 수치화할 수 있다. 또한, 데이터 전처리부(220)는 데이터 베이스(100)로부터 취득 데이터를 수신한 날을 기준으로 이전 일 대비 기준 일의 생산 전력량이 증가했을 경우를 '1', 감소했을 경우를 '0'으로 수치화할 수 있다. 다른 예로, 취득 데이터가 발전소 관련 데이터이고, 데이터 포인트가 발전소 on/off에 관한 데이터인 경우, 데이터 전처리부(220)는 발전소가 on인 경우를 '1', 발전소가 off인 경우를 '0'으로 수치화할 수 있다. 앞서 언급한 바는 단지 예시일 뿐, 데이터 전처리부(220)는 사용자가 미리 설정한 기준치 및 수치를 이용하여, 복수의 데이터 포인트에 포함되는 데이터 변화량, 증가/감소 여부 및 분포 구간 중 적어도 하나에 대한 데이터를 정형화하여 수치화할 수 있다. 또한, N개의 취득 데이터 각각은 복수의 데이터 포인트를 포함할 수 있고, 복수의 데이터 포인트 각각은 데이터 변화량, 증가/감소 여부 및 분포 구간 중 적어도 하나를 포함할 수 있어, 데이터 전처리부(220)는 복수의 데이터 포인트 각각에 포함된 데이터 변화량, 증가/감소 여부 및 분포 구간 중 적어도 하나에 따라 데이터 전처리를 수행할 수 있다. The data preprocessor 220 may perform preprocessing of N pieces of acquired data according to at least one of a data change amount, increase/decrease, and distribution interval of the plurality of data points. The data pre-processing unit 220 may format and quantify data for at least one of a data change amount, an increase/decrease, and a distribution section included in the plurality of data points according to the type and type of each of the plurality of data points. For example, when the acquired data is power plant-related data and the data point is the amount of power produced, the data pre-processing unit 220 may numerically quantify the amount of change in the amount of power produced, whether the amount of power produced is increased or decreased, or map it to a preset label. have. As an example, when the data point is data related to the amount of power produced, the data preprocessor 220 is '0' when the amount of power produced is 0kW to 50,000 kW, and '1' when the amount of power produced is 50,001kW to 100,000kW, and 100,001kW to The case of 150,000 kW can be quantified as '2', and the case of 150,001 kW ~ 200,000 kW can be quantified as '3'. In addition, the data pre-processing unit 220 converts a case where the amount of power produced in the reference day increases compared to the previous day to be '1', and when the amount of power decreases is '0', based on the date of receiving the acquired data from the database 100. can do. As another example, when the acquired data is data related to a power plant and the data point is data related to on/off of a power plant, the data preprocessing unit 220 is '1' when the power plant is on, and '0' when the power plant is off. It can be quantified as The foregoing is only an example, and the data preprocessor 220 uses a reference value and a numerical value previously set by the user to determine the amount of change in data included in the plurality of data points, whether or not to increase/decrease, and at least one of the distribution intervals. It can be quantified by standardizing the data for In addition, each of the N pieces of acquired data may include a plurality of data points, and each of the plurality of data points may include at least one of a data change amount, an increase/decrease, and a distribution period, so that the data preprocessor 220 Data preprocessing may be performed according to at least one of a change amount of data included in each of the plurality of data points, an increase/decrease, and a distribution section.

규칙 생성부(230)는 전처리된 N개의 취득 데이터를 비교하여 각 취득 데이터에 포함된 복수의 데이터 포인트 중 적어도 2개 이상의 데이터 포인트 간의 연관 규칙을 생성할 수 있다. The rule generator 230 may compare the N pieces of pre-processed acquired data to generate an association rule between at least two or more data points among a plurality of data points included in each acquired data.

도 3은 본원의 일 실시예에 따른 데이터 패턴 분석을 이용한 비정상행위 탐지 장치의 동작 방법의 개략적인 예시 흐름도이다.3 is a schematic exemplary flowchart of a method of operating an abnormal behavior detection apparatus using data pattern analysis according to an exemplary embodiment of the present application.

도 3을 참조하면, 데이터 패턴 분석을 이용한 비정상행위 탐지 장치(200)는 데이터 전처리부(220)를 통해 N개의 취득 데이터를 전처리하고, 규칙 생성부(230)를 통해 전처리된 N개의 취득 데이터를 비교하여 연관 규칙을 생성할 수 있다. 규칙 생성부(230)는 전처리된 N개의 취득 데이터에 포함된 적어도 2개 이상의 데이터 포인트의 변화의 패턴을 이용하여 연관 규칙을 적어도 하나 이상 생성할 수 있다.Referring to FIG. 3, the apparatus 200 for detecting abnormal behavior using data pattern analysis pre-processes N pieces of acquired data through the data pre-processing unit 220, and stores N pieces of acquired data pre-processed through the rule generation unit 230. You can compare and create association rules. The rule generation unit 230 may generate at least one association rule using a pattern of change of at least two or more data points included in the N pieces of preprocessed acquired data.

일 예로, 취득 데이터#1(221) 및 취득 데이터#2(222)를 포함하는 N개의 취득 데이터가 발전소 관련 데이터이고, 취득 데이터#1(221)에 포함된 데이터 포인트P#1(221a)은 발전소 on/off에 관한 데이터, 데이터 포인트 P#2(221b)는 생산 전력량에 관한 데이터, 데이터 포인트 P#3(221c)은 발전소 매출 추이에 관한 데이터이고, 취득 데이터#2(222)에 포함된 데이터 포인트P#1(222a), 데이터 포인트 P#2(222b) 및 데이터 포인트 P#3(222c) 역시 각각 발전소 on/off에 관한 데이터, 생산 전력량에 관한 데이터 및 발전소 매출 추이에 관한 데이터인 것으로 가정한다. 또한, 복수의 데이터 포인트 각각은 데이터 변화량, 증가/감소 여부 및 분포 구간 중 적어도 하나의 유형을 포함할 수 있고, 데이터 전처리부(220)는 복수의 데이터 포인트 각각에 포함되는 데이터 변화량, 증가/감소 여부 및 분포 구간 중 적어도 하나에 따라 N개의 취득 데이터의 전처리를 수행할 수 있다.For example, N acquisition data including acquisition data #1 (221) and acquisition data #2 (222) are power plant-related data, and data point P#1 (221a) included in acquisition data #1 (221) is Data on the power plant on/off, data point P#2 (221b) is data on the amount of power produced, data point P#3 (221c) is data on the power plant sales trend, and is included in the acquisition data #2 (222). Data point P#1 (222a), data point P#2 (222b), and data point P#3 (222c) are also data on power plant on/off, power generation data, and power plant sales trends, respectively. I assume. In addition, each of the plurality of data points may include at least one type of data change amount, increase/decrease status, and distribution section, and the data preprocessor 220 includes data change amount, increase/decrease in each of the plurality of data points. Preprocessing of N pieces of acquired data may be performed according to at least one of whether or not the distribution period.

규칙 생성부(230)는 N개의 취득 데이터에 포함된 적어도 2개 이상의 데이터 포인트의 변화 패턴 및 상기 적어도 2개 이상의 데이터 포인트의 데이터 변화량, 증가/감소 여부 및 분포 구간 중 적어도 어느 하나에 기초하여 연관 규칙을 생성할 수 있다.The rule generation unit 230 is related based on at least one of a change pattern of at least two or more data points included in the N pieces of acquired data, a data change amount of the at least two or more data points, an increase/decrease, and a distribution section. You can create rules.

일 예로, 전처리된 취득 데이터#1(221)의 데이터 포인트P#1(221a)이 'on', 데이터 포인트 P#2(221b)가 '증가'이고, 전처리된 취득 데이터 #2(222)의 데이터 포인트P#1(222a)이 'on', 데이터 포인트 P#2(222b)가 '증가'이며, 전처리된 취득 데이터 #N(223)의 데이터 포인트P#1(223a)이 'on', 데이터 포인트 P#2(미도시)가 '증가'인 경우(취득 데이터 #N까지의 N개의 취득 데이터를 모두 고려), 규칙 생성부(230)는 AR#1(231)을 "데이터 포인트 P#1이 'on'일 때, 데이터 포인트 P#2는 '증가'인 규칙"으로 연관 규칙을 생성할 수 있다. As an example, the data point P#1 (221a) of the preprocessed acquisition data #1 (221) is'on', the data point P#2 (221b) is'increase', and the preprocessed acquisition data #2 (222) is Data point P#1 (222a) is'on', data point P#2 (222b) is'increase', and data point P#1 (223a) of preprocessed acquired data #N 223 is'on', When the data point P#2 (not shown) is'increase' (considering all N pieces of acquired data up to acquired data #N), the rule generator 230 refers to the AR#1 231 as "data point P#. When 1 is'on', the data point P#2 can generate an association rule as "a rule of increasing".

여기서 AR은, 연관 규칙(Association Rule)을 의미하며, AR#1은 연관 규칙 1번, AR#2는 연관 규칙 2번, AR#N은 연관 규칙 N번으로, 연관 규칙에 할당되는 일련번호를 의미할 수 있다. 또한, 규칙 생성부(230)는 모든 N개의 취득 데이터의 데이터 포인트P#1이 'on', 데이터 포인트 P#2)가 '증가'일 경우, AR#1(231)을 데이터 포인트 P#1은 'on', 데이터 포인트 P#2는 '증가'인 것으로 연관 규칙을 생성할 수 있으나, 이에 한정하는 것이 아닌, N개의 취득 데이터 중 일부의 취득 데이터(미리 설정된 임계값 이상의 취득 데이터)의 데이터 포인트 P#1이 'on', 데이터 포인트 P#2가 '증가'인 경우에도 AR#1을 생성할 수 있다. 연관 규칙을 생성하는 방법에 대해서는 아래 더 자세히 설명하기로 한다.Here, AR stands for Association Rule, AR#1 is Association Rule 1, AR#2 is Association Rule 2, AR#N is Association Rule N, and the serial number assigned to the association rule It can mean. In addition, when the data point P#1 of all N pieces of acquired data is'on' and the data point P#2) is'increase', the rule generator 230 sets the AR#1 231 to the data point P#1. Is'on' and data point P#2 is'increment', and the association rule can be created, but is not limited thereto, but is not limited to data of some of the acquired data (acquisition data equal to or greater than a preset threshold) AR#1 may be generated even when point P#1 is'on' and data point P#2 is'increase'. How to create an association rule will be described in more detail below.

다른 예로, 전처리된 취득 데이터#1(221)의 데이터 포인트P#3(221c)이 '증가', 데이터 포인트 P#4(미도시)가 '증가'이고, 전처리된 취득 데이터 #2(222)의 데이터 포인트P#3(222c)이 '증가', 데이터 포인트 P#4(미도시)가 '증가'이며, 전처리된 취득 데이터 #N(223)의 데이터 포인트P#3(미도시)이 '증가', 데이터 포인트 P#4(미도시)가 '증가'인 경우, 규칙 생성부(230)는 AR#2(232)를 "데이터 포인트 P#3이 '증가'일 때, 데이터 포인트 P#4는 '증가'인 규칙"으로 연관 규칙을 생성할 수 있다.As another example, the data point P#3 (221c) of the preprocessed acquisition data #1 (221) is'increase', the data point P#4 (not shown) is'increase', and the preprocessed acquisition data #2 (222) is Data point P#3 (222c) of is'increase', data point P#4 (not shown) is'increase', and data point P#3 (not shown) of preprocessed acquired data #N 223 is' When'increase' and data point P#4 (not shown) is'increase', the rule generator 230 refers to the AR#2 232 as "increase" when the data point P#3 is'increase', the data point P# 4 can create an association rule with "incremental rule".

또 다른 예로, 전처리된 취득 데이터#1(221)의 데이터 포인트P#8(미도시)이 'off', 데이터 포인트 P#9(미도시)가 '0'이고, 전처리된 취득 데이터 #2(222)의 데이터 포인트P#8(미도시)이 'off', 데이터 포인트 P#9(미도시)가 '0'이며, 전처리된 취득 데이터 #N(23)의 데이터 포인트P#8(미도시)이 'off', 데이터 포인트 P#9(미도시)가 '0'인 경우, 규칙 생성부(230)는 AR#N(233)을 "데이터 포인트 P#8이 'off'일 때, 데이터 포인트 P#9는 '0'인 규칙"으로 연관 규칙을 생성할 수 있다.As another example, the data point P#8 (not shown) of the preprocessed acquisition data #1 221 is'off', the data point P#9 (not shown) is '0', and the preprocessed acquisition data #2 ( Data point P#8 (not shown) of 222) is'off', data point P#9 (not shown) is '0', and data point P#8 (not shown) of preprocessed acquired data #N(23) is ) Is'off' and the data point P#9 (not shown) is '0', the rule generator 230 refers to the AR#N 233 as "when the data point P#8 is off", the data Point P#9 may create an association rule as "a rule of 0".

규칙 생성부(230)는 데이터 포인트의 데이터 변화량, 증가/감소 여부 및 분포 구간 중 적어도 어느 하나에 따라 복수의 데이터 포인트 간의 연관 규칙을 생성할 수 있다. 앞서 언급한 예시의 경우, 데이터 포인트의 데이터 변화량, 증가/감소 여부 및 분포 구간 중 한가지를 이용하여 연관 규칙을 생성하는 것으로 예를 들었으나, 이에 한정하는 것이 아닌, 복수의 데이터 포인트 각각에 포함되는 데이터 변화량 및 증가/감소 여부, 또는 증가/감소 여부 및 분포 구간, 또는 데이터 변화량 및 분포 구간 등 복수 개를 고려하여 적어도 2개 이상의 데이터 포인트 간의 연관 규칙을 생성할 수 있다. 즉, 동일한 데이터 포인트(예를 들어, P#1, P#2) 간의 연관 규칙이 데이터 포인트의 유형별로 복수개 생성될 수 있는 것이다. 또한, 앞서 언급한 예시의 경우, 하나의 취득 데이터에 포함된 2개의 데이터 포인트의 변화의 패턴를 이용하여 연관 규칙을 생성하였으나, 이에 한정하는 것이 아닌, 2개 이상의 복수 개의 데이터 포인트의 변화의 패턴을 이용하여 연관 규칙을 생성할 수 있다. The rule generator 230 may generate an association rule between a plurality of data points according to at least one of a data change amount, increase/decrease, and distribution section of the data point. In the case of the above-mentioned example, it was exemplified that the association rule is generated by using one of the amount of data change, increase/decrease, and distribution interval of the data point, but is not limited thereto, and is included in each of a plurality of data points. An association rule between at least two or more data points may be generated in consideration of a plurality of data variation and increase/decrease, or increase/decrease and distribution section, or data variation and distribution section. That is, a plurality of association rules between the same data points (eg, P#1, P#2) may be generated for each type of data point. In addition, in the case of the above-mentioned example, the association rule was created by using the pattern of change of two data points included in one acquired data, but the pattern of change of two or more data points is not limited thereto. Can be used to create an association rule.

또한, 본원의 일 실시예에 따르면, 규칙 생성부(230)는 전처리된 N개의 취득 데이터에 포함된 복수의 데이터 포인트 중에서, 적어도 2개 이상의 데이터 포인트의 변화의 패턴의 발생 비율이 미리 설정된 경계값 이상일 경우, 적어도 2개 이상의 데이터 포인트의 변화의 패턴을 연관 규칙으로 생성할 수 있다. 예를 들어, 특정 데이터 포인트 간의 변화의 패턴을 연관 규칙으로 생성할지에 관한 상기 경계값은 사용자에 의해 미리 설정되어 본원의 장치(200)에 입력될 수 있다. 또한, 상기 미리 설정된 경계값은 각 연관 규칙에 포함된 데이터 포인트 종류, 유형 등에 따라 연관 규칙 마다 설정될 수 있다. 왜냐하면, 각 연관 규칙에 포함되는 데이터 포인트가 상이하며, 데이터 포인트가 동일하더라도 그 유형이 상이할 수 있기 때문에, 연관 규칙으로 생성하여 시스템 관리자의 White list로 저장하여 관리하는 대상도 데이터 포인트에 따라 달라져야 하기 때문이다.In addition, according to an embodiment of the present application, the rule generation unit 230 is a threshold value in which a rate of occurrence of a pattern of change of at least two or more data points is preset among a plurality of data points included in the preprocessed N pieces of acquired data. If this is the case, a pattern of change of at least two or more data points may be generated as an association rule. For example, the threshold value regarding whether to generate a pattern of change between specific data points as an association rule may be preset by a user and input to the apparatus 200 of the present application. In addition, the preset boundary value may be set for each association rule according to the type and type of data points included in each association rule. Because the data points included in each association rule are different, and even if the data points are the same, the types may be different, the targets that are created as association rules and saved as a white list of the system administrator and managed must also vary depending on the data point. Because it does.

일 예로, 미리 설정된 경계값이 100%이고, 전처리된 100개의 취득 데이터에 포함된 복수의 데이터 포인트 중에서 특정 데이터 포인트 간의 변화의 패턴이 모든 100개의 취득 데이터에서 발생한 경우, 규칙 생성부(230)는 해당 데이터 포인트 간의 변화의 패턴을 연관 규칙으로 생성할 수 있다. As an example, when the preset boundary value is 100%, and a pattern of change between specific data points among a plurality of data points included in the preprocessed 100 acquired data occurs in all 100 acquired data, the rule generator 230 A pattern of change between corresponding data points can be created as an association rule.

다른 예로, 미리 설정된 경계값이 80%이고, 전처리된 100개의 취득 데이터에 포함된 복수의 데이터 포인트 중에서 특정 데이터 포인트 간의 변화의 패턴이 발생한 취득 데이터의 개수가 80개 이상인 경우, 규칙 생성부(230)는 해당 데이터 포인트의 변화의 패턴을 연관 규칙으로 생성할 수 있다. As another example, when the preset threshold is 80% and the number of acquired data in which a pattern of change between specific data points occurs among a plurality of data points included in the preprocessed 100 acquired data is 80 or more, the rule generator 230 ) Can generate a pattern of change of the corresponding data point as an association rule.

규칙 생성부(230)는 일련의 데이터로부터 전처리된 전처리 데이터를 통해 연관 규칙을 생성할 수 있다. 규칙 생성부(230)가 연관 규칙을 생성할 때, 연관 규칙 번호(AR#1, AR#2, …, AR#N)를 초기화할 수 있고, 모든 취득 데이터에 포함된 복수의 데이터 포인트의 데이터 포인트 유형, 즉, 복수의 데이터 포인트의 데이터 변화량, 증가/감소 여부 및 분포 구간에 대해 연관 규칙을 생성하여, 찾은 데이터 포인트 간의 변화의 패턴을 연관 규칙에 추가할 수 있다. 규칙 생성부(230)는 연관 규칙을 생성할 경우, 연관 규칙 번호를 부여할 수 있다. 또한, 모든 취득 데이터에 대한 연관 규칙 생성을 완료한 후, 생성된 모든 연관 규칙에 대해 관리자가 직접 필요한 연관 규칙을 필터링할 수 있다.The rule generation unit 230 may generate a related rule through preprocessed data preprocessed from a series of data. When the rule generation unit 230 generates the association rule, the association rule number (AR#1, AR#2, ..., AR#N) can be initialized, and data of a plurality of data points included in all acquired data An association rule may be created for a point type, that is, a data change amount of a plurality of data points, an increase/decrease, and a distribution section, and a pattern of change between the found data points may be added to the association rule. When generating a related rule, the rule generator 230 may assign a related rule number. In addition, after completing the creation of association rules for all acquired data, the administrator can directly filter necessary association rules for all generated association rules.

모델 생성부(240)는 생성된 연관 규칙에 포함된 특징을 입력으로 하는 인공 신경망 모델을 생성할 수 있다. 본원의 일 실시예에 따르면, 모델 생성부(240)는 복수의 연관 규칙 각각에 대응하여 인공 신경망 모델을 생성할 수 있다. 일 예로, 도 3을 참조하면, 모델 생성부(240)는 1번째 연관 규칙인 AR#1, 2번째 연관 규칙인 AR#2 및 N번째 연관 규칙인 AR#N 각각에 대응하도록 인공 신경망 모델을 생성할 수 있다. 모델 생성부(240)는 각 취득 데이터로부터 각 연관 규칙에 포함된 특징(Feature)을 추출하고 묶어서 인공 신경망 모델을 생성할 수 있다. 여기서 인공 신경망 모델은 RNN(Recurrent Neural Network) 모델일 수 있다. RNN 모델 유형으로는, RNN 모델의 아웃풋(output)이 정상/비정상을 출력하는 분류 모델형이 아닌, 다음 예상되는 값의 예측 값으로 출력되는데 사용되는 데이터 생성 모델 유형일 수 있다. 본원의 일 실시예에 따르면, 모델 생성부(240)는 각 취득 데이터로부터 각 연관 규칙과 관련된 데이터 포인트의 값, 유형 등의 특징을 추출하고 이를 벡터화하여 인공신경망의 입력으로 인가하고 인공신경망을 지속적으로 학습시킬 수 있다. 즉, 본원의 일 실시예에 따른 모델 생성부(240)는 각 모델과 연계된 각 연관 규칙과 관계된 데이터 셋을 RNN의 인풋 데이터로 활용하며, RNN의 아웃풋으로 다음 취득 데이터에서의 각 연관 규칙과 관계된 데이터 포인트를 예측하기 위한 모델을 학습하여 생성할 수 있다.The model generation unit 240 may generate an artificial neural network model by inputting features included in the generated association rule. According to an embodiment of the present application, the model generator 240 may generate an artificial neural network model corresponding to each of a plurality of association rules. As an example, referring to FIG. 3, the model generator 240 generates an artificial neural network model to correspond to each of the first association rule AR#1, the second association rule AR#2, and the Nth association rule AR#N. Can be generated. The model generation unit 240 may generate an artificial neural network model by extracting and binding features included in each association rule from each acquired data. Here, the artificial neural network model may be a recurrent neural network (RNN) model. As the RNN model type, the output of the RNN model may not be a classification model type that outputs normal/abnormal, but may be a data generation model type used to output a predicted value of the next expected value. According to an embodiment of the present application, the model generation unit 240 extracts features such as values and types of data points related to each association rule from each acquired data, vectorizes them, applies them as inputs to the artificial neural network, and continuously applies the artificial neural network. Can be learned by. That is, the model generation unit 240 according to an embodiment of the present application utilizes a data set related to each association rule associated with each model as input data of the RNN, and uses the data set related to each association rule associated with each model as input data of the RNN, A model for predicting related data points can be trained and created.

본원의 일 실시예에 따른 데이터 패턴 분석을 이용한 비정상행위 탐지 장치(200)는 Many to One 모델을 사용하여 일련의 데이터를 인풋(input)으로 하여 다음 예상되는 하나의 특징 값을 산출하기 때문에, Many to Many 모델에 비해 예측 정확도를 향상시킬 수 있다. 여기서 Many to One 모델은 복수 개의 입력에 대해 하나의 결과를 만들어주는 네트워크 모델을 의미하고, Many to Many는 복수 개의 입력에 대해 복수 개의 결과를 만들어주는 네트워크 모델을 의미할 수 있다. Since the abnormal behavior detection apparatus 200 using data pattern analysis according to an embodiment of the present application calculates a next predicted feature value by using a series of data as an input using a Many to One model, many It can improve prediction accuracy compared to the to many model. Here, the many to one model may mean a network model that generates one result for a plurality of inputs, and many to many may mean a network model that generates a plurality of results for a plurality of inputs.

데이터 예측부(250)는 생성된 인공 신경망을 이용하여 N+1번째의 취득 데이터를 예측할 수 있다. 데이터 예측부(250)는 연관 규칙마다 생성된 각각의 인공 신경망을 이용하여, 각 연관 규칙과 연계된 N+1번째 취득 데이터에 포함되는 데이터 포인트를 예측할 수 있다. The data prediction unit 250 may predict the N+1th acquired data using the generated artificial neural network. The data predictor 250 may predict a data point included in the N+1 th acquired data linked to each association rule by using each artificial neural network generated for each association rule.

도 3을 참조하면, 데이터 예측부(250)는 1번째 연관 규칙인 AR#1(231)과 연계된 N+1번째 취득 데이터에 포함되는 데이터 포인트를 예측할 수 있다. 예를 들어, AR#1(231)이 "데이터 포인트 P#1이 'on'일 때, 데이터 포인트 P#2는 '증가'인 규칙"인 경우, 데이터 예측부(250)는 1번재 연관 규칙인 AR#1(231) 및 연관 규칙 AR#1(231)과 연계된 RNN 모델(241)을 통해 N+1번째 취득 데이터에 포함되는 데이터 포인트 P#1 및 P#2를 특정 값으로 예측할 수 있다. 또한, AR#2(232)가 "데이터 포인트 P#3이 '증가'일 때, 데이터 포인트 P#4는 '증가'인 규칙"인 경우, 데이터 예측부(250)는 2번재 연관 규칙인 AR#2(232) 및 연관 규칙 AR#2(232)과 연계된 RNN 모델(242)을 통해 통해 N+1번째 취득 데이터에 포함되는 데이터 포인트 P#3 및 P#4를 특정 값으로 예측할 수 있다. 또한, AR#N(233)이 "데이터 포인트 P#8이 'off'일 때, 데이터 포인트 P#9는 '0'인 규칙"인 경우, 데이터 예측부(250)는 N번재 연관 규칙인 AR#N(233) 및 N번재 연관 규칙인 AR#N(233)과 연계된 RNN모델(243)을 통해 N+1번째 취득 데이터에 포함되는 데이터 포인트 P#8 및 P#9를 특정 값으로 예측할 수 있다.Referring to FIG. 3, the data predictor 250 may predict a data point included in the N+1 th acquired data linked to the AR#1 231 as the first association rule. For example, when AR#1 231 is "a rule in which data point P#1 is'on', data point P#2 is'increment'", the data prediction unit 250 is the first association rule The data points P#1 and P#2 included in the N+1th acquired data can be predicted with specific values through the RNN model 241 linked with the AR#1 (231) and the association rule AR#1 (231). have. In addition, when AR#2 232 is "a rule in which data point P#3 is'increase', data point P#4 is a'increase' rule", the data prediction unit 250 is Through the RNN model 242 linked with #2 232 and the association rule AR#2 232, data points P#3 and P#4 included in the N+1th acquired data can be predicted as specific values. . In addition, when the AR#N 233 is "a rule in which data point P#8 is'off', data point P#9 is '0'", the data predictor 250 is The data points P#8 and P#9 included in the N+1th acquisition data can be predicted as specific values through the RNN model 243 linked with #N 233 and the Nth association rule AR#N 233. I can.

비정상행위 판단부(260)는 인공 신경망을 통하여 예측된 상기 예측된 N+1번째 취득 데이터와 실제로 수신된 N+1번째 취득 데이터를 비교하여 상기 수신된 N+1번째 취득 데이터에 대한 비정상행위를 판단할 수 있다. 여기서 통신부(210)는 복수의 데이터 포인트를 포함하는 수신된 N+1번째 취득 데이터를 수신할 수 있다.The abnormal behavior determination unit 260 compares the predicted N+1th acquisition data predicted through an artificial neural network with the actually received N+1th acquisition data to determine an abnormal behavior for the received N+1th acquisition data. I can judge. Here, the communication unit 210 may receive the received N+1th acquisition data including a plurality of data points.

통신부(210)로부터 실제 N+1번째 취득 데이터를 수신하면, 비정상행위 판단부(260)는 데이터 예측부(250)에서 예측된 N+1번째 취득 데이터와 실제 N+1번째 취득 데이터를 비교하여 실제 N+1번째 취득 데이터에 대한 비정상행위를 판단할 수 있다. RNN 인공 신경망을 이용하여 연관 규칙과 연계된 예측된 N+1번째 취득 데이터의 데이터 포인트 및 데이터 포인트의 데이터 변화량, 증가/감소 여부 및 분포 구간은 예측 데이터이다. 따라서, 통신부(210)로부터 실제 N+1번째 취득 데이터의 데이터 포인트 및 데이터 포인트의 데이터 변화량, 증가/감소 여부 및 분포 구간과, 이상적으로 예측된 N+1번째 취득 데이터의 데이터 포인트 및 데이터 포인트의 데이터 변화량, 증가/감소 여부 및 분포 구간을 비교함으로써, 실제 N+1번째 취득 데이터의 데이터 포인트 및 데이터 포인트의 데이터 변화량, 증가/감소 여부 및 분포 구간에 대한 비정상행위를 판단할 수 있다.Upon receiving the actual N+1th acquired data from the communication unit 210, the abnormal behavior determination unit 260 compares the N+1th acquired data predicted by the data prediction unit 250 with the actual N+1th acquired data. It is possible to determine abnormal behavior for the actual N+1th acquired data. The data point of the predicted N+1th acquired data linked to the association rule using the RNN artificial neural network, the amount of data change, the increase/decrease, and the distribution interval are predicted data. Therefore, from the communication unit 210, the data point of the actual N+1th acquired data and the amount of data change, the increase/decrease, and distribution section, and the ideally predicted data point and data point of the N+1th acquired data. By comparing the data change amount, increase/decrease status, and distribution section, it is possible to determine the data point of the actual N+1th acquired data, the data change amount of the data point, increase/decrease status, and abnormal behavior in the distribution section.

본원의 일 실시예에 따르면, 비정상행위 판단부(260)는 각 연관 규칙에 따라 예측된 N+1번째 취득 데이터에 포함된 데이터 포인트와 수신된 N+1번째 취득 데이터에 포함된 데이터 포인트를 비교하여 생성된 오차 범위가 미리 설정된 문턱치값 이상인 경우, 알람을 발생시키는 알람 센서(미도시)를 포함할 수 있다.According to an embodiment of the present application, the abnormal behavior determination unit 260 compares the data points included in the N+1 th acquired data predicted according to each association rule with the data points included in the received N+1 th acquired data. When the generated error range is equal to or greater than a preset threshold value, an alarm sensor (not shown) for generating an alarm may be included.

예를 들어, 미리 설정된 문턱치 값이 90%인 경우, 통신부(210)를 통해 수신된 실제 N+1번째 취득 데이터의 데이터 포인트 또는 데이터 포인트의 데이터 변화량, 증가/감소 여부 및 분포 구간과, 데이터 예측부(250)를 통해 이상적으로 예측된 N+1번째 취득 데이터의 데이터 포인트 또는 데이터 포인트의 데이터 변화량, 증가/감소 여부 및 분포 구간의 일치하는 정도가 90% 미만일 경우, 비정상행위 판단부(260)는 통신부(210)를 통해 수신된 실제 N+1번째 취득 데이터의 데이터 포인트 및 데이터 포인트의 데이터 변화량, 증가/감소 여부 및 분포 구간이 비정상행위인 것으로 판단하고, 알람 센서(미도시)를 통해 알람을 발생시킬 수 있다. For example, when the preset threshold value is 90%, the data point of the actual N+1th acquired data received through the communication unit 210 or the amount of data change, increase/decrease, and distribution section, and data prediction If the data point of the N+1th acquired data ideally predicted through the unit 250 or the amount of data change, increase/decrease, and the degree of matching of the distribution section are less than 90%, the abnormal behavior determination unit 260 Determines that the data point of the actual N+1th acquired data received through the communication unit 210, the amount of data change, increase/decrease, and distribution section of the data point are abnormal, and an alarm through an alarm sensor (not shown). Can occur.

비정상행위 판단부(260)는 생성한 RNN 모델 개별적으로 아웃풋(output)을 다음 예측한 데이터와 비교하여 특정 문턱치(Threshold)가 넘는 경우 알람을 발생시키는 것이 기본적인 구조로, RNN 모델의 아웃풋 값을 모아서 비정상행위의 판단 근거로도 활용 가능하며, 또한 연관 규칙 자체로 Whitelist를 생성하여 비정상행위 판단을 수행할 수 있다.The abnormal behavior determination unit 260 has a basic structure to generate an alarm when it exceeds a specific threshold by comparing the output of the generated RNN model with the next predicted data individually. It can be used as a basis for determining abnormal behavior, and it is also possible to perform abnormal behavior determination by creating a whitelist with the associated rule itself.

종래 비정상행위 탐지의 경우 헤더에 기반한 탐지이거나 특징(Feature) 선택 및 학습과정에서 블랙박스 수준의 모델로 직관성이 부족하여 결과의 해석과 유지 및 보수가 어려워 현장 도입이 어려웠다. 그러나, 이와 같이, 본원의 일 실시예에 따르면, 페이로드, 즉 취득 데이터에 기반하여 Trition, Crashoverride와 같은 정상 행위와 유사한 고도화된 악성코드 또한 탐지할 수 있다. 또한 Feature 선택에 있어 Dimension Reduction을 수행하지 않고 연관 규칙을 통해 연관성 있는 특징(데이터 포인트)를 뽑음으로 인해 직관성이 높으며 연관 규칙 자체를 Whitelist로 활용 가능하다. 이러한 연관 규칙을 통해 생성한 RNN은 데이터 생성 모델로 출력 값이 해당 특징(데이터 포인트)의 예상 값이기 때문에 결과 값 해석에 용이한 장점이 있다.In the case of conventional abnormal behavior detection, it is difficult to introduce the field because it is a detection based on a header or a model at the level of a black box in the process of selecting and learning a feature. However, as described above, according to the exemplary embodiment of the present application, advanced malware similar to normal behavior such as Trition and Crashoverride may also be detected based on the payload, that is, acquired data. In addition, since dimension reduction is not performed in selecting a feature, and related features (data points) are selected through the association rule, it is highly intuitive and the association rule itself can be used as a whitelist. The RNN generated through this association rule is a data generation model, and since the output value is the expected value of the corresponding feature (data point), it is easy to interpret the result value.

이하에서는 상기에 자세히 설명된 내용을 기반으로, 본원의 동작 흐름을 간단히 살펴보기로 한다.Hereinafter, based on the details described above, the operation flow of the present application will be briefly described.

도 4는 본원의 일 실시예에 따른 데이터 패턴 분석을 이용한 비정상행위 탐지 방법에 대한 동작 흐름도이다.4 is a flowchart illustrating an operation of an abnormal behavior detection method using data pattern analysis according to an exemplary embodiment of the present application.

도 4에 도시된 데이터 패턴 분석을 이용한 비정상행위 탐지 방법은 앞서 설명된 데이터 패턴 분석을 이용한 비정상행위 탐지 장치(200)에 의하여 수행될 수 있다. 따라서, 이하 생략된 내용이라고 하더라도 데이터 패턴 분석을 이용한 비정상행위 탐지 장치(200)에 대하여 설명된 내용은 데이터 패턴 분석을 이용한 비정상행위 탐지 방법에 대한 설명에도 동일하게 적용될 수 있다.The abnormal behavior detection method using data pattern analysis illustrated in FIG. 4 may be performed by the abnormal behavior detection apparatus 200 using data pattern analysis described above. Accordingly, even if omitted below, the description of the abnormal behavior detection apparatus 200 using data pattern analysis may be equally applied to the description of the abnormal behavior detection method using data pattern analysis.

도 4를 참조하면, 데이터 패턴 분석을 이용한 비정상행위 탐지 방법에 있어서, 데이터 패턴 분석을 이용한 비정상행위 탐지 장치(200)는 각각이 복수의 데이터 포인트를 포함하는 N개의 취득 데이터를 수신할 수 있다(S401). 다음으로, 데이터 패턴 분석을 이용한 비정상행위 탐지 장치(200)는 복수의 데이터 포인트의 데이터 변화량, 증가/감소 여부 및 분포 구간 중 적어도 하나에 따라 N개의 취득 데이터의 전처리를 수행할 수 있다(S402). 다음으로, 데이터 패턴 분석을 이용한 비정상행위 탐지 장치(200)는 전처리된 N개의 취득 데이터를 비교하여 복수의 데이터 포인트 중 적어도 2개 이상의 데이터 포인트 간의 연관 규칙을 생성할 수 있다(S403). 다음으로, 데이터 패턴 분석을 이용한 비정상행위 탐지 장치(200)는 생성된 연관 규칙에 포함된 특징을 입력으로 하는 인공 신경망 모델을 생성할 수 있다(S404). 다음으로, 데이터 패턴 분석을 이용한 비정상행위 탐지 장치(200)는 생성된 인공 신경망을 이용하여 N+1번째 취득 데이터를 예측할 수 있다(S405). 다음으로, 데이터 패턴 분석을 이용한 비정상행위 탐지 장치(200)는 복수의 데이터 포인트를 포함하는 N+1번재 취득 데이터를 수신할 수 있다(S406). 다음으로, 데이터 패턴 분석을 이용한 비정상행위 탐지 장치(200)는 인공 신경망을 이용하여 예측된 상기 예측된 N+1번째 취득 데이터와 수신한 N+1번째 취득 데이터를 비교하여 수신된 N+1번째 취득 데이터에 대한 비정상행위를 판단할 수 있다(S407).Referring to FIG. 4, in the method of detecting abnormal behavior using data pattern analysis, the abnormal behavior detecting apparatus 200 using data pattern analysis may receive N pieces of acquired data each including a plurality of data points ( S401). Next, the abnormal behavior detection apparatus 200 using data pattern analysis may perform pre-processing of N pieces of acquired data according to at least one of a data change amount, increase/decrease, and distribution section of a plurality of data points (S402). . Next, the abnormal behavior detection apparatus 200 using the data pattern analysis may generate a correlation rule between at least two or more data points among the plurality of data points by comparing the preprocessed N pieces of acquired data (S403). Next, the apparatus 200 for detecting abnormal behavior using data pattern analysis may generate an artificial neural network model that inputs features included in the generated association rule (S404). Next, the apparatus 200 for detecting abnormal behavior using data pattern analysis may predict the N+1th acquired data using the generated artificial neural network (S405). Next, the abnormal behavior detection apparatus 200 using data pattern analysis may receive the N+1 acquisition data including a plurality of data points (S406). Next, the abnormal behavior detection apparatus 200 using data pattern analysis compares the predicted N+1th acquired data predicted using an artificial neural network with the received N+1th acquired data, It is possible to determine abnormal behavior with respect to the acquired data (S407).

상술한 설명에서, 단계 401 내지 S407은 본원의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다.In the above description, steps 401 to S407 may be further divided into additional steps or may be combined into fewer steps, according to an embodiment of the present disclosure. In addition, some steps may be omitted as necessary, and the order between steps may be changed.

본원의 일 실시 예에 따른 데이터 패턴 분석을 이용한 비정상행위 탐지 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.An abnormal behavior detection method using data pattern analysis according to an exemplary embodiment of the present disclosure may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the present invention, or may be known and usable to those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. -A hardware device specially configured to store and execute program instructions such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those produced by a compiler but also high-level language codes that can be executed by a computer using an interpreter or the like. The above-described hardware device may be configured to operate as one or more software modules to perform the operation of the present invention, and vice versa.

또한, 전술한 데이터 패턴 분석을 이용한 비정상행위 탐지 방법은 기록 매체에 저장되는 컴퓨터에 의해 실행되는 컴퓨터 프로그램 또는 애플리케이션의 형태로도 구현될 수 있다.In addition, the above-described method for detecting abnormal behavior using data pattern analysis may be implemented in the form of a computer program or application executed by a computer stored in a recording medium.

전술한 본원의 설명은 예시를 위한 것이며, 본원이 속하는 기술분야의 통상의 지식을 가진 자는 본원의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The foregoing description of the present application is for illustrative purposes only, and those of ordinary skill in the art to which the present application pertains will be able to understand that it is possible to easily transform it into other specific forms without changing the technical spirit or essential features of the present application. Therefore, it should be understood that the embodiments described above are illustrative in all respects and not limiting. For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as being distributed may also be implemented in a combined form.

본원의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본원의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present application is indicated by the claims to be described later rather than the detailed description, and all changes or modified forms derived from the meaning and scope of the claims and their equivalent concepts should be interpreted as being included in the scope of the present application.

100: 데이터 베이스
200: 데이터 패턴 분석을 이용한 비정상행위 탐지 방법
210: 통신부
220: 데이터 전처리부
230: 규칙 생성부
240: 모델 생성부
250: 데이터 예측부
260: 비정상행위 판단부
100: database
200: Abnormal behavior detection method using data pattern analysis
210: communication department
220: data preprocessor
230: rule generation unit
240: model generator
250: data prediction unit
260: abnormal behavior judgment unit

Claims (10)

데이터 패턴 분석을 이용한 비정상행위 탐지 방법에 있어서,
각각이 복수의 데이터 포인트를 포함하는 N개의 취득 데이터를 수신하는 단계;
상기 복수의 데이터 포인트의 데이터 변화량, 증가/감소 여부 및 분포 구간 중 적어도 어느 하나에 따라 상기 N개의 취득 데이터의 전처리를 수행하는 단계;
상기 전처리된 N개의 취득 데이터를 비교하여 각 취득 데이터에 포함된 복수의 데이터 포인트 중 적어도 2개 이상의 데이터 포인트 간의 복수의 연관 규칙을 생성하는 단계;
상기 생성된 연관 규칙에 포함된 특징을 입력으로 하는 인공 신경망 모델을 생성하는 단계; 및
상기 생성된 인공 신경망을 이용하여 N+1번째의 취득 데이터를 예측하는 단계,
를 포함하고,
상기 복수의 데이터 포인트 각각은 데이터 변화량, 증가/감소 여부 및 분포 구간 중 적어도 어느 하나의 유형을 포함하고,
상기 연관 규칙을 생성하는 단계는,
상기 전처리된 N개의 각각의 취득 데이터에 포함된 적어도 2개 이상의 데이터 포인트의 변화의 패턴을 이용하여 적어도 2개 이상의 데이터 포인트와 연관된 연관 규칙을 생성하되, 각 취득 데이터에 포함된 상기 2개 이상의 데이터 포인트의 데이터 변화량, 증가/감소 여부 및 분포 구간 중 적어도 어느 하나에 기초하여 상기 연관 규칙을 생성하고,
상기 인공 신경망 모델을 생성하는 단계는,
복수의 연관 규칙 각각에 대응하여 복수의 인공 신경망 모델을 생성하고,
상기 복수의 인공 신경망 모델은, 대응하는 연관 규칙과 관련된 데이터 셋을 입력으로 하고 상기 N+1번째의 취득 데이터에서 상기 대응하는 연관 규칙과 관련된 데이터 포인트의 예측값을 출력하는 Many to One Recurrent Neural Network 모델인 것인, 데이터 패턴 분석을 이용한 비정상행위 탐지 방법.
In the abnormal behavior detection method using data pattern analysis,
Receiving N pieces of acquisition data each including a plurality of data points;
Performing pre-processing of the N pieces of acquired data according to at least one of a data change amount of the plurality of data points, an increase/decrease, and a distribution section;
Comparing the N pieces of preprocessed acquired data to generate a plurality of association rules between at least two or more data points among a plurality of data points included in each acquired data;
Generating an artificial neural network model that inputs features included in the generated association rule; And
Predicting the N+1th acquired data using the generated artificial neural network,
Including,
Each of the plurality of data points includes at least one type of data change amount, increase/decrease, and distribution interval,
The step of generating the association rule,
Generates an association rule associated with at least two or more data points using a pattern of change of at least two or more data points included in each of the N pieces of pre-processed acquired data, the two or more data included in each acquired data The association rule is generated based on at least one of a data change amount of a point, an increase/decrease, and a distribution interval,
Generating the artificial neural network model,
Generate a plurality of artificial neural network models corresponding to each of the plurality of association rules,
The plurality of artificial neural network models are a Many to One Recurrent Neural Network model that receives a data set related to a corresponding association rule as an input and outputs a predicted value of a data point related to the corresponding association rule from the N+1 th acquired data. In that, abnormal behavior detection method using data pattern analysis.
삭제delete 제 1항에 있어서,
상기 연관 규칙을 생성하는 단계는,
상기 전처리된 N개의 취득 데이터에 포함된 복수의 데이터 포인트 중에서, 상기 적어도 2개 이상의 데이터 포인트의 변화의 패턴의 발생 비율이 미리 설정된 경계값 이상일 경우, 상기 적어도 2개 이상의 데이터 포인트의 변화의 패턴을 상기 연관 규칙으로 생성하는 것인, 데이터 패턴 분석을 이용한 비정상행위 탐지 방법.
The method of claim 1,
The step of generating the association rule,
Among a plurality of data points included in the pre-processed N pieces of acquired data, when the rate of occurrence of the pattern of change of the at least two data points is greater than or equal to a preset threshold, the pattern of change of the at least two or more data points is The method of detecting abnormal behavior using data pattern analysis, which is generated by the association rule.
삭제delete 제1항에 있어서,
상기 N+1번째의 취득 데이터를 예측하는 단계는,
상기 연관 규칙마다 생성된 각각의 인공 신경망을 이용하여, 상기 연관 규칙과 연계된 상기 N+1번째의 취득 데이터에 포함되는 데이터 포인트를 예측하는 것인, 데이터 패턴 분석을 이용한 비정상행위 탐지 방법.
The method of claim 1,
The step of predicting the N+1th acquired data,
An abnormal behavior detection method using data pattern analysis to predict a data point included in the N+1 th acquired data linked to the association rule by using each artificial neural network generated for each association rule.
제1항에 있어서,
복수의 데이터 포인트를 포함하는 N+1번째 취득 데이터를 수신하는 단계; 및
상기 인공 신경망을 이용하여 예측된 상기 예측된 N+1번째 취득 데이터와 상기 수신한 N+1번째 취득 데이터를 비교하여 상기 수신된 N+1번째 취득 데이터에 대한 비정상행위를 판단하는 단계,
를 더 포함하는, 데이터 패턴 분석을 이용한 비정상행위 탐지 방법.
The method of claim 1,
Receiving the N+1th acquisition data including a plurality of data points; And
Comparing the predicted N+1 th acquisition data predicted using the artificial neural network with the received N+1 th acquisition data to determine an abnormal behavior for the received N+1 th acquisition data,
An abnormal behavior detection method using data pattern analysis further comprising a.
제 6항에 있어서,
상기 수신된 N+1번째 취득 데이터에 대한 비정상행위를 판단하는 단계는,
상기 예측된 N+1번째 취득 데이터에 포함된 데이터 포인트와 상기 수신된 N+1번째 취득 데이터에 포함된 데이터 포인트를 비교하여 생성된 오차 범위가 미리 설정된 문턱치값 이상인 경우, 알람을 발생시키는 단계를 포함하는 것인, 데이터 패턴 분석을 이용한 비정상행위 탐지 방법.
The method of claim 6,
The step of determining abnormal behavior for the received N+1th acquired data,
When the error range generated by comparing the data point included in the predicted N+1th acquired data with the data point included in the received N+1th acquired data is equal to or greater than a preset threshold, generating an alarm That includes, abnormal behavior detection method using data pattern analysis.
데이터 패턴 분석을 이용한 비정상행위 탐지 장치에 있어서,
각각이 복수의 데이터 포인트를 포함하는 N개의 취득 데이터를 수신하는 통신부;
상기 복수의 데이터 포인트의 데이터 변화량, 증가/감소 여부 및 분포 구간 중 적어도 어느 하나에 따라 상기 N개의 취득 데이터의 전처리를 수행하는 데이터 전처리부;
상기 전처리된 N개의 취득 데이터를 비교하여 각 취득 데이터에 포함된 복수의 데이터 포인트 중 적어도 2개 이상의 데이터 포인트 간의 복수의 연관 규칙을 생성하는 규칙 생성부;
상기 생성된 연관 규칙에 포함된 특징을 입력으로 하는 인공 신경망 모델을 생성하는 모델 생성부; 및
상기 생성된 인공 신경망을 이용하여 N+1번째의 취득 데이터를 예측하는 데이터 예측부,
를 포함하고,
상기 복수의 데이터 포인트 각각은 데이터 변화량, 증가/감소 여부 및 분포 구간 중 적어도 어느 하나의 유형을 포함하고,
상기 규칙 생성부는,
상기 전처리된 N개의 각각의 취득 데이터에 포함된 적어도 2개 이상의 데이터 포인트의 변화의 패턴을 이용하여 적어도 2개 이상의 데이터 포인트와 연관된 연관 규칙을 생성하되, 각 취득 데이터에 포함된 상기 2개 이상의 데이터 포인트의 데이터 변화량, 증가/감소 여부 및 분포 구간 중 적어도 어느 하나에 기초하여 상기 연관 규칙을 생성하고,
상기 모델 생성부는,
복수의 연관 규칙 각각에 대응하여 복수의 인공 신경망 모델을 생성하고,
상기 복수의 인공 신경망 모델은, 대응하는 연관 규칙과 관련된 데이터 셋을 입력으로 하고 상기 N+1번째의 취득 데이터에서 상기 대응하는 연관 규칙과 관련된 데이터 포인트의 예측값을 출력하는 Many to One Recurrent Neural Network 모델인 것인, 데이터 패턴 분석을 이용한 비정상행위 탐지 장치.
In the abnormal behavior detection device using data pattern analysis,
A communication unit for receiving N pieces of acquired data each including a plurality of data points;
A data preprocessing unit that performs preprocessing of the N pieces of acquired data according to at least one of a data change amount of the plurality of data points, an increase/decrease, and a distribution section;
A rule generation unit that compares the N pieces of preprocessed acquired data and generates a plurality of association rules between at least two or more data points among a plurality of data points included in each acquired data;
A model generation unit that generates an artificial neural network model that receives features included in the generated association rule as inputs; And
A data prediction unit that predicts the N+1th acquisition data using the generated artificial neural network,
Including,
Each of the plurality of data points includes at least one type of data change amount, increase/decrease, and distribution interval,
The rule generation unit,
Generates an association rule associated with at least two or more data points using a pattern of change of at least two or more data points included in each of the N pieces of preprocessed acquired data, the two or more data included in each acquired data The association rule is generated based on at least one of a data change amount of a point, an increase/decrease, and a distribution interval,
The model generation unit,
Generate a plurality of artificial neural network models corresponding to each of the plurality of association rules,
The plurality of artificial neural network models are a Many to One Recurrent Neural Network model for inputting a data set related to a corresponding association rule and outputting a predicted value of a data point related to the corresponding association rule from the N+1 th acquired data. In that, abnormal behavior detection device using data pattern analysis.
제 8항에 있어서,
상기 인공 신경망을 통하여 예측된 상기 예측된 N+1번째 취득 데이터와 수신된 N+1번째 취득 데이터를 비교하여 상기 수신된 N+1번째 취득 데이터에 대한 비정상행위를 판단하는 비정상행위 판단부를 더 포함하고,
상기 통신부는,
복수의 데이터 포인트를 포함하는 상기 수신된 N+1번째 취득 데이터를 수신하는 것인, 데이터 패턴 분석을 이용한 비정상행위 탐지 장치.
The method of claim 8,
Further comprising an abnormal behavior determination unit that compares the predicted N+1 th acquired data predicted through the artificial neural network with the received N+1 th acquired data to determine an abnormal behavior for the received N+1 th acquired data and,
The communication unit,
The apparatus for detecting abnormal behavior using data pattern analysis to receive the received N+1 th acquisition data including a plurality of data points.
제 9항에 있어서,
상기 비정상행위 판단부는,
상기 예측된 N+1번째 취득 데이터에 포함된 데이터 포인트와 상기 수신된 N+1번째 취득 데이터에 포함된 데이터 포인트를 비교하여 생성된 오차 범위가 미리 설정된 문턱치값 이상인 경우, 알람을 발생시키는 알람 센서를 포함하는 것인, 데이터 패턴 분석을 이용한 비정상행위 탐지 장치.
The method of claim 9,
The abnormal behavior determination unit,
An alarm sensor that generates an alarm when an error range generated by comparing a data point included in the predicted N+1th acquired data with a data point included in the received N+1th acquired data is greater than or equal to a preset threshold value That includes, abnormal behavior detection apparatus using data pattern analysis.
KR1020180168137A 2018-12-24 2018-12-24 Apparatus and method for detecting abnormal behavior using data pattern analysis KR102152403B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180168137A KR102152403B1 (en) 2018-12-24 2018-12-24 Apparatus and method for detecting abnormal behavior using data pattern analysis

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180168137A KR102152403B1 (en) 2018-12-24 2018-12-24 Apparatus and method for detecting abnormal behavior using data pattern analysis

Publications (2)

Publication Number Publication Date
KR20200078866A KR20200078866A (en) 2020-07-02
KR102152403B1 true KR102152403B1 (en) 2020-09-04

Family

ID=71599520

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180168137A KR102152403B1 (en) 2018-12-24 2018-12-24 Apparatus and method for detecting abnormal behavior using data pattern analysis

Country Status (1)

Country Link
KR (1) KR102152403B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240039958A (en) 2022-09-20 2024-03-27 국방과학연구소 Method and device for detecting of network attack based on association rule

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102280845B1 (en) * 2020-11-24 2021-07-22 한국인터넷진흥원 Method and apparatus for detecting abnormal behavior in network
KR102541309B1 (en) * 2021-01-22 2023-06-07 아주대학교산학협력단 Method and Apparatus for Anomaly Detection of Communication in Industrial Control System Environment

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018073241A (en) * 2016-11-01 2018-05-10 日本電信電話株式会社 Detection device, detection method, and detection program

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101172579B1 (en) * 2009-12-15 2012-08-09 한국과학기술원 Pattern-based method and apparatus of identifying data with abnormal attributes
US9471452B2 (en) * 2014-12-01 2016-10-18 Uptake Technologies, Inc. Adaptive handling of operating data

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018073241A (en) * 2016-11-01 2018-05-10 日本電信電話株式会社 Detection device, detection method, and detection program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240039958A (en) 2022-09-20 2024-03-27 국방과학연구소 Method and device for detecting of network attack based on association rule

Also Published As

Publication number Publication date
KR20200078866A (en) 2020-07-02

Similar Documents

Publication Publication Date Title
Demertzis et al. A spiking one-class anomaly detection framework for cyber-security on industrial control systems
KR102152403B1 (en) Apparatus and method for detecting abnormal behavior using data pattern analysis
KR102274389B1 (en) Method for building anomaly pattern detection model using sensor data, apparatus and method for detecting anomaly using the same
Mo et al. A dynamic neural network aggregation model for transient diagnosis in nuclear power plants
Mounce et al. Ensemble decision tree models using RUSBoost for estimating risk of iron failure in drinking water distribution systems
Liu et al. Modeling cyber-physical attacks based on probabilistic colored Petri nets and mixed-strategy game theory
Tselentis et al. Improving short‐term traffic forecasts: to combine models or not to combine?
Liao et al. Forecasting dissolved gases content in power transformer oil based on weakening buffer operator and least square support vector machine–Markov
Fahim et al. TSI: Time series to imaging based model for detecting anomalous energy consumption in smart buildings
KR20140068436A (en) Abnormality observation data detection method using time series prediction model and abnormality observation data of ground water level
Zanfei et al. Novel approach for burst detection in water distribution systems based on graph neural networks
EP2946219B1 (en) System and method for fault management in lighting systems
CN111260176A (en) Method and system for eliminating fault conditions in a technical installation
EP3798778A1 (en) Method and system for detecting an anomaly of an equipment in an industrial environment
Quevedo et al. Combining learning in model space fault diagnosis with data validation/reconstruction: Application to the Barcelona water network
CN105939340A (en) Method and system for discovering hidden conficker
Ouyang et al. Model of selecting prediction window in ramps forecasting
Wu et al. Multiple-clustering ARMAX-based predictor and its application to freeway traffic flow prediction
Otuoze et al. Electricity theft detection framework based on universal prediction algorithm
CN104506354A (en) Data network risk evaluation method based on semi-physical simulation
Yue An integrated anomaly detection method for load forecasting data under cyberattacks
Kovtun et al. Model of information system communication in aggressive cyberspace: reliability, functional safety, economics
CN114048362A (en) Block chain-based power data anomaly detection method, device and system
Smith et al. Testing probabilistic adaptive real‐time flood forecasting models
CN110770753B (en) Device and method for real-time analysis of high-dimensional data

Legal Events

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