KR101538709B1 - Anomaly detection system and method for industrial control network - Google Patents
Anomaly detection system and method for industrial control network Download PDFInfo
- Publication number
- KR101538709B1 KR101538709B1 KR1020140078397A KR20140078397A KR101538709B1 KR 101538709 B1 KR101538709 B1 KR 101538709B1 KR 1020140078397 A KR1020140078397 A KR 1020140078397A KR 20140078397 A KR20140078397 A KR 20140078397A KR 101538709 B1 KR101538709 B1 KR 101538709B1
- Authority
- KR
- South Korea
- Prior art keywords
- packet
- unit
- packets
- pattern
- learning
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
본 발명은 산업제어 네트워크를 위한 비정상 행위 탐지 시스템 및 방법에 관한 것으로, 특히 기계 학습 기법에 기반한 산업제어 네트워크를 위한 비정상 행위 탐지 시스템 및 방법에 관한 것이다.The present invention relates to an abnormal behavior detection system and method for an industrial control network, and more particularly to an abnormal behavior detection system and method for an industrial control network based on machine learning techniques.
통신 네트워크 기술은 통신 기술 급속한 발전으로 인해 정보 통신 분야뿐만 아니라 다양한 분야에 광범위하게 보급되었다. 그리고 여러 분야에 보급된 통신 네트워크 기술은 적용되는 분야에 따라 각 분야의 특성을 고려한 독립적인 형태로 발전이 진행되고 있다.The communication network technology has been widely spread not only in the field of information communication but also in various fields due to the rapid development of communication technology. In addition, the communication network technology, which has been widely used in various fields, is being developed in an independent form considering characteristics of each field according to the applied field.
이러한 분야별로 개별적으로 발전되고 있는 통신 네트워크 중 산업제어 네트워크는 산업 기기들을 제어하기 위해 구축되는 산업 제어 시스템에서 이용되는 통신 네트워크를 의미한다. 그리고 산업 제어 네트워크 내에서도 다양한 통신 네트워크 방법들이 제안되었으며, 대표적인 산업 제어 네트워크로 스마트그리드(Smart Grid) 및 마이크로그리드(Micro Grid)를 예로 들 수 있다.The industrial control network among the communication networks that are individually developed for each of these fields means a communication network used in an industrial control system constructed to control industrial devices. Various communication network methods have also been proposed within the industrial control network. For example, Smart Grid and Micro Grid are examples of typical industrial control networks.
산업 제어 네트워크에서는 기존의 IT 기반 네트워크 환경과 달리 어떠한 경우에도 산업 제어 시스템이 정상적으로 운용될 수 있어야 하므로, 가용성이 최우선적으로 보장되어야 하고, 제어의 정확도를 높이기 위해 데이터 전송 시간에 민감하다. 즉 언제라도 제어 신호를 사용자가 요구하는 정확한 시간에 전송할 수 있어야 한다.In industrial control network, unlike existing IT based network environment, the industrial control system must be able to operate normally in any case. Therefore, availability must be ensured first, and it is sensitive to data transmission time in order to improve control accuracy. That is, the control signal must be able to be transmitted at the precise time required by the user at any time.
한편 최근 산업 제어 네트워크를 통한 산업 제어 시스템에 대한 사이버 공격 빈도가 높아지고 있으며, 이에 산업 제어 네트워크의 보안성 강화가 중요한 이슈로 부각되고 있는 추세이다. 현재까지 산업 제어 네트워크의 보안성 강화를 위한 여러가지 연구가 진행되어 왔으나, 그 대부분은 프로토콜의 재설계, 에이전트 설치 및 장비의 교체 등을 요구하고 있는 실정이다. 그러나 가용성을 최우선적으로 고려하는 산업 제어 네트워크에서 상기한 방안은 소프트웨어 업데이트나 장비의 교체를 위해 가동 중지를 요구하는 경우가 많고 비용을 요구하여, 현재 운용 중인 산업 제어 네트워크에 적용하기 어렵다는 문제가 있을 뿐만 아니라 단기간에 수행할 수 없다는 한계가 있다.On the other hand, the frequency of cyber attacks on industrial control systems through industrial control networks is increasing, and the enhancement of security of industrial control networks is becoming an important issue. So far, various studies have been carried out to enhance the security of industrial control networks, but most of them require redesign of protocols, installation of agents, and replacement of equipment. However, in the industrial control network considering availability as a top priority, the above-mentioned method has a problem that it is often difficult to apply to the currently operating industrial control network because it requires a shutdown for software update or replacement of equipment, In addition, there is a limitation that it can not be performed in a short period of time.
보안 강화를 위한 다른 대안으로 일반적인 IT 기반 네트워크에서 주로 이용되는 암호화 및 메시지 인증 방법 등이 고려되고 있으나, 이 또한 암호화 및 복호화를 위한 시간 및 메시지 인증을 위한 시간이 필요하므로 전송 시간에 민감한 산업 제어 네트워크에 적용이 제한적일 수 밖에 없다는 문제가 있다.Other alternatives for security enhancement include encryption and message authentication methods, which are commonly used in general IT-based networks, but also require time for encryption and decryption and time for message authentication, There is a problem in that the application to the system is limited.
따라서 산업 제어 네트워크의 특수성을 고려한 보안 강화 방안이 요구되고 있다.Therefore, there is a need for a security enhancement method considering the specificity of the industrial control network.
한국 등록 특허 제10-1281456호에는 산업 제어 시스템의 하나로 송변전 설비와 같은 전력 계통을 효율적으로 관리 및 제어하기 위한 SCADA (Supervisory Control and Data Acquistion) 네트워크에서 이상 증후를 탐지하기 위해 네트워크의 트래픽(traffic) 상태를 나타내는 자기 유사성을 측정하고, 측정된 자기 유사성이 미리 설정된 임계값을 초과하는지 판단하는 기술이 개시되어 있다. 그러나 네트워크 트래픽에 대해서만 고려하여 보안성에 대해서는 여전히 취약하다.Korean Patent No. 10-1281456 discloses an industrial control system. In the SCADA (Supervisory Control and Data Acquisition) network for efficiently managing and controlling a power system such as a power transmission and distribution facility, a network traffic ) State, and judges whether the measured self-similarity exceeds a preset threshold value. However, considering only network traffic, security is still weak.
본 발명의 목적은 산업 제어 네트워크에서 저비용으로 네트워크의 중단 없이 신속하게 비정상 행위 기반 침입을 탐지할 수 있는 비정상 산업제어 네트워크를 위한 비정상 행위 탐지 시스템을 제공하는데 있다.It is an object of the present invention to provide an abnormal behavior detection system for an abnormal industrial control network that can detect an abnormal behavior based infiltration without interruption of the network at low cost in an industrial control network.
본 발명의 다른 목적은 상기 목적을 달성하기 위한 비정상 산업제어 네트워크를 위한 비정상 행위 탐지 방법을 제공하는데 있다.Another object of the present invention is to provide an abnormal behavior detection method for an abnormal industrial control network to achieve the above object.
상기 목적을 달성하기 위한 본 발명의 일 예에 따른 산업제어 네트워크를 위한 비정상 행위 탐지 시스템은 기지정된 정상 행위 학습 기간 동안 산업 제어 네트워크에서 전송되는 패킷들을 수집하고, 상기 수집된 패킷들에 대해 정상 패킷 검증 후, 검증된 정상 패킷을 기반으로 화이트리스트와 적어도 하나의 개별 패킷 모델, 적어도 하나의 패턴 라이브러리 및 적어도 하나의 트래픽 모델을 획득하는 패킷 학습부; 상기 패킷 학습부에서 획득된 상기 화이트리스트와 상기 적어도 하나의 개별 패킷 모델, 상기 적어도 하나의 패턴 라이브러리 및 상기 적어도 하나의 트래픽 모델을 저장하는 데이터베이스부; 상기 정상 행위 학습 기간 이후, 상기 산업 제어 네트워크에서 전송되는 상기 패킷들을 수집하고, 수집된 상기 패킷들을 상기 데이터베이스부에 저장된 상기 화이트리스트와 상기 적어도 하나의 개별 패킷 모델, 상기 적어도 하나의 패턴 라이브러리 및 상기 적어도 하나의 트래픽 모델과 비교하여 산업 제어 네트워크 상의 비정상 행위를 탐지하는 패킷 검사부; 및 상기 패킷 학습부 및 상기 패킷 검사부에서 수집된 상기 패킷들을 수신하고, 기설정된 방식으로 전처리하여 상기 패킷 학습부 및 상기 패킷 검사부로 전송하는 전처리부; 를 포함한다.In order to achieve the above object, an abnormal behavior detection system for an industrial control network according to an exemplary embodiment of the present invention collects packets transmitted in an industrial control network during a predetermined normal action learning period, After verification, a packet learning unit obtains a white list, at least one individual packet model, at least one pattern library, and at least one traffic model based on the verified normal packets. A database unit for storing the white list obtained by the packet learning unit, the at least one individual packet model, the at least one pattern library, and the at least one traffic model; Collecting the packets transmitted from the industrial control network after the normal learning learning period and transmitting the collected packets to the white list, the at least one individual packet model, the at least one pattern library, A packet inspection unit for detecting an abnormal behavior on an industrial control network by comparing with at least one traffic model; A preprocessing unit for receiving the packets collected by the packet learning unit and the packet checking unit, preprocessing the packets in a preset manner, and transmitting the packets to the packet learning unit and the packet checking unit; .
상기 전처리부는 상기 패킷 학습부 및 상기 패킷 검사부로부터 상기 패킷들을 인가받아 플로우/프로토콜 단위로 해석 및 분류하는 공통 전처리부; 및 상기 공통 전처리부에서 분류된 패킷들을 인가받아 상기 적어도 하나의 개별 패킷 모델, 상기 적어도 하나의 패턴 라이브러리 및 상기 적어도 하나의 트래픽 모델 각각에 대응할 수 있도록 기설정된 3가지 방식으로 전처리하여, 상기 상기 패킷 학습부 및 상기 패킷 검사부로 전송하는 병렬 전처리부; 를 포함하는 것을 특징으로 한다.Wherein the preprocessing unit includes: a common pre-processing unit for receiving and analyzing the packets from the packet learning unit and the packet checking unit in a flow / protocol unit; And preprocessing the packets classified by the common pre-processing unit in three predetermined ways to correspond to the at least one individual packet model, the at least one pattern library, and the at least one traffic model, A parallel preprocessing unit for transmitting the packet to the learning unit and the packet checking unit; And a control unit.
상기 병렬 전처리부는 상기 공통 전처리부에서 분류되어 인가된 상기 패킷들을 플로우/프로토콜 단위로 나누고, 상기 패킷의 필드 선택 및 정규화하는 개별 패킷 전처리부; 상기 공통 전처리부에서 분류되어 인가된 상기 패킷들을 개별 노드 및 프로토콜 단위로 나누고, 기설정된 패턴 탐색 알고리즘을 이용하여 수신된 상기 패킷들로부터 패킷 패턴을 추출하는 패킷 패턴 전처리부; 및 상기 공통 전처리부에서 분류되어 인가된 상기 패킷들로부터 상기 산업 제어 네트워크의 트래픽 특징을 분석할 수 있도록 기설정된 시간 단위의 패킷 수, 패킷 평균 크기, 프로토콜 별 패킷 개수를 계산하여 데이터 셋을 생성하는 트래픽 전처리부; 를 포함하는 것을 특징으로 한다.The parallel preprocessor may include an individual packet preprocessor for dividing the packets classified and applied by the common preprocessor into flow / protocol units and selecting and normalizing the fields of the packets; A packet pattern preprocessing unit for dividing the packets classified and applied by the common pre-processing unit into individual nodes and protocol units, and extracting a packet pattern from the received packets using a predetermined pattern search algorithm; And a data set is generated by calculating the number of packets, the average packet size, and the number of packets per protocol in a predetermined time unit so as to analyze traffic characteristics of the industrial control network from the packets classified and applied by the common pre-processing unit A traffic preprocessing unit; And a control unit.
상기 패킷 학습부는 상기 정상 행위 학습 기간 동안 상기 산업 제어 네트워크에서 전송되는 상기 패킷들을 학습 패킷으로 수집하는 학습 패킷 수집부; 상기 학습 패킷 수집부에서 수집된 상기 학습 패킷들을 검사하여, 상기 산업 제어 네트워크의 정상 환경에서 획득된 학습 패킷인지 판별하는 패킷 검증부; 상기 패킷 검증부에서 검증된 상기 학습 패킷들을 분석하여 정상 패킷에 대한 규칙을 획득하고, 획득된 규칙들로부터 상기 화이트리스트를 생성하여 상기 데이터베이스부에 저장하는 화이트리스트 생성부; 및 상기 병렬 전처리부에서 전처리된 상기 패킷들을 개별 패킷 단위, 패킷 패턴 및 트래픽 단위로 학습하여 상기 적어도 하나의 개별 패킷 모델, 상기 적어도 하나의 패턴 라이브러리 및 상기 적어도 하나의 트래픽 모델을 획득하여 상기 데이터베이스부에 저장하는 학습 모델 생성부; 를 포함하는 것을 특징으로 한다.Wherein the packet learning unit comprises: a learning packet collecting unit collecting, as a learning packet, the packets transmitted in the industrial control network during the normal behavior learning period; A packet verifying unit for inspecting the learning packets collected by the learning packet collecting unit to determine whether the packet is a learning packet acquired in a normal environment of the industrial control network; A whitelist generating unit for analyzing the learning packets verified by the packet verifying unit to obtain a rule for a normal packet, generating the whitelist from the obtained rules, and storing the generated whitelist in the database unit; And acquiring the at least one individual packet model, the at least one pattern library, and the at least one traffic model by learning the packets preprocessed by the parallel preprocessing unit in individual packet units, packet patterns, and traffic units, A learning model generation unit for storing the learning model; And a control unit.
상기 학습 모델 생성부는 상기 개별 패킷 전처리부로부터 전처리된 복수개의 상기 개별 패킷을 수신하고, 수신된 상기 개별 패킷 각각을 EM(Expectation Maximization) 알고리즘을 적용하여 그룹화하고, 그룹화로 생성된 적어도 하나의 개별 패킷 그룹 각각을 OCSVM(One-class SVM) 알고리즘을 통해 상기 개별 패킷 모델로 생성하는 개별 패킷 학습부; 상기 패킷 패턴 전처리부로부터 전처리되어 추출된 상기 패킷 패턴의 특성과 빈도수를 상기 적어도 하나의 패턴 라이브러리로 생성하는 패턴 라이브러리 생성부; 및 상기 트래픽 전처리부에서 인가되는 기설정된 시간 단위의 상기 데이터 셋 각각을 상기 EM 알고리즘을 적용하여 그룹화 하고 상기 OCSVM 알고리즘을 이용해 상기 적어도 하나의 트래픽 모델로 생성하는 트래픽 학습부; 를 포함하는 것을 특징으로 한다.The learning model generation unit receives a plurality of the individual packets preprocessed from the individual packet preprocessing unit, groups each received individual packet by applying an EM (Expectation Maximization) algorithm, and generates at least one individual packet An individual packet learning unit for generating each of the groups as the individual packet model through an OCSVM (One-class SVM) algorithm; A pattern library generation unit for generating characteristics and frequency of the packet pattern extracted and extracted from the packet pattern preprocessing unit as the at least one pattern library; And a traffic learning unit for grouping the data sets of the predetermined time unit applied by the traffic preprocessing unit by applying the EM algorithm and generating the at least one traffic model using the OCSVM algorithm. And a control unit.
상기 패킷 검사부는 상기 정상 행위 학습 기간 이후, 상기 산업 제어 네트워크에서 전송되는 상기 패킷들을 수집하는 검사 패킷 수집부; 상기 검사 패킷 수집부에서 수집된 상기 패킷들에 대해 상기 데이터베이스부에 저장된 상기 화이트리스트를 이용하여 검사하고, 정상 패킷들을 상기 전처리부로 전송하는 화이트리스트 검사부; 상기 병렬 전처리부에서 전처리된 상기 패킷들을 상기 데이터베이스부에 저장된 상기 적어도 하나의 개별 패킷 모델, 상기 적어도 하나의 패턴 라이브러리 및 상기 적어도 하나의 트래픽 모델과 비교하여 비정상도를 검사하는 검사부; 및 상기 비정상도에 따라 상기 산업 제어 네트워크 상에 비정상 행위가 발생하였는지 여부를 판별하는 비정상 행위 판별부; 를 포함하는 것을 특징으로 한다.Wherein the packet inspection unit comprises: an inspection packet collection unit for collecting the packets transmitted from the industrial control network after the normal learning learning period; A whitelist checking unit which inspects the packets collected by the inspection packet collecting unit using the white list stored in the database unit and transmits normal packets to the preprocessing unit; An inspection unit for comparing the packets preprocessed by the parallel preprocessing unit with the at least one individual packet model stored in the database unit, the at least one pattern library, and the at least one traffic model to check an abnormality; And an abnormal behavior discrimination unit for discriminating whether an abnormal behavior has occurred on the industrial control network according to the abnormality level; And a control unit.
상기 검사부는 상기 개별 패킷 전처리부에서 인가되는 상기 개별 패킷을 상기 데이터베이스부에 저장된 상기 적어도 하나의 개별 패킷 모델과 비교하여, 가장 유사한 개별 패킷 모델과의 차이를 개별 패킷 비정상도로 계산하는 개별 패킷 검사부; 상기 패킷 패턴 전처리부에서 인가되는 상기 패킷 패턴을 상기 데이터베이스부에 저장된 상기 적어도 하나의 패턴 라이브러리의 패턴 및 빈도수와 비교하여 기저장된 상기 적어도 하나의 패턴 라이브러리와의 패턴 차이를 패킷 패턴 비정상도로 계산하는 패킷 패턴 검사부; 및 상기 트래픽 전처리부로부터 인가되는 상기 데이터 셋을 트래픽 모델 저장부에 저장된 적어도 하나의 트래픽 모델 중 가장 유사한 트래픽 모델과의 차이를 트래픽 비정상도로 계산하는 트래픽 검사부; 를 포함하는 것을 특징으로 한다.Wherein the checking unit compares the individual packet applied by the individual packet preprocessing unit with the at least one individual packet model stored in the database unit and calculates a difference between the individual packet model and the most similar individual packet model as individual packet abnormalities; Processing unit for comparing the packet pattern applied by the packet pattern preprocessing unit with the pattern and the frequency of the at least one pattern library stored in the database unit, and calculating a pattern difference between the at least one pattern library and the previously stored pattern library, A pattern checking unit; And a traffic checker for calculating the difference between the data set applied from the traffic preprocessing unit and the most similar traffic model among at least one traffic model stored in the traffic model storage unit, in a traffic abnormal state; And a control unit.
상기 다른 목적을 달성하기 위한 본 발명의 일 예에 따른 산업제어 네트워크를 위한 비정상 행위 탐지 방법은 패킷 학습부, 데이터베이스부, 패킷 검사부 및 전처리부를 포함하는 비정상 행위 탐지 시스템의 비정상 행위 탐지 방법에 있어서, 상기 패킷 학습부가 기지정된 정상 행위 학습 기간 동안 산업 제어 네트워크에서 전송되는 패킷들을 수집하고, 상기 수집된 패킷들에 대해 정상 패킷 검증 후, 검증된 정상 패킷을 기반으로 화이트리스트와 적어도 하나의 개별 패킷 모델, 적어도 하나의 패턴 라이브러리 및 적어도 하나의 트래픽 모델을 획득하여 상기 데이터베이스부에 저장하는 정상 행위 학습 단계; 및 상기 패킷 검사부가 상기 정상 행위 학습 기간 이후, 상기 산업 제어 네트워크에서 전송되는 상기 패킷들을 수집하고, 수집된 상기 패킷들을 상기 데이터베이스부에 저장된 상기 화이트리스트와 상기 적어도 하나의 개별 패킷 모델, 상기 적어도 하나의 패턴 라이브러리 및 상기 적어도 하나의 트래픽 모델과 비교하여 산업 제어 네트워크 상의 비정상 행위를 탐지하는 네트워크 검사 단계; 를 포함한다.According to another aspect of the present invention, there is provided a method for detecting an abnormal behavior for an industrial control network, the method comprising: a packet learning unit, a database unit, a packet checking unit, and a preprocessing unit, Wherein the packet learning unit collects packets transmitted in an industrial control network for a predetermined normal action learning period, and after a normal packet verification for the collected packets, generates a white list and at least one individual packet model Acquiring at least one pattern library and at least one traffic model, and storing the at least one traffic model in the database unit; And the packet inspection unit collects the packets transmitted in the industrial control network after the normal behavior learning period and transmits the collected packets to the white list and the at least one individual packet model stored in the database unit, A network testing step of detecting abnormal behavior on an industrial control network in comparison with the pattern library of the at least one traffic model and the at least one traffic model; .
상기 정상 행위 학습 단계는 상기 패킷 학습부가 상기 정상 행위 학습 기간 동안 산업 제어 네트워크에서 전송되는 패킷들을 수집하는 단계; 상기 패킷 학습부가 수집된 상기 패킷들을 검사하여, 상기 산업 제어 네트워크의 정상 환경에서 획득된 패킷들인지 판별하는 단계; 상기 정상 환경에서 획득된 패킷들인 것으로 판별되면, 상기 패킷 학습부가 패킷들을 분석하여 정상 패킷에 대한 규칙을 획득하고, 획득된 규칙들로부터 상기 화이트리스트를 생성하여 상기 데이터베이스부에 저장하는 단계; 상기 전처리부가 상기 정상 환경에서 획득된 것으로 판별된 패킷들을 수신하여 기설정된 방식으로 학습 전처리하는 단계; 및 상기 패킷 학습부가 상기 전처리된 상기 패킷들을 수신하고, 개별 패킷 단위, 패킷 패턴 및 트래픽 단위로 학습하여 상기 적어도 하나의 개별 패킷 모델, 상기 적어도 하나의 패턴 라이브러리 및 상기 적어도 하나의 트래픽 모델을 획득하여 상기 데이터베이스부에 저장하는 단계; 를 포함하는 것을 특징으로 한다.The normal learning learning step comprises the steps of: the packet learning unit collecting packets transmitted in the industrial control network during the normal behavior learning period; Inspecting the packets collected by the packet learning unit to determine whether they are packets obtained in a normal environment of the industrial control network; Analyzing packets to acquire rules for a normal packet, generating the whitelist from the obtained rules, and storing the generated whitelist in the database unit if it is determined that the packets are acquired in the normal environment; The pre-processing unit receiving packets determined to be acquired in the normal environment and pre-processing the learning in a predetermined manner; And the packet learning unit receives the preprocessed packets and learns in the form of individual packet units, packet patterns and traffic units to obtain the at least one individual packet model, the at least one pattern library and the at least one traffic model Storing in the database unit; And a control unit.
상기 네트워크 검사 단계는 상기 정상 행위 학습 기간 이후, 상기 산업 제어 네트워크에서 전송되는 상기 패킷들을 수집하는 단계; 수집된 상기 패킷들에 대해 상기 데이터베이스부에 저장된 상기 화이트리스트를 이용하여 검사하는 단계; 상기 화이트리스트를 이용하여 검사된 상기 패킷들을 상기 전처리부가 수신하여 기설정된 방식으로 전처리하는 단계; 전처리된 상기 패킷들을 상기 데이터베이스부에 저장된 상기 적어도 하나의 개별 패킷 모델, 상기 적어도 하나의 패턴 라이브러리 및 상기 적어도 하나의 트래픽 모델과 비교하여 비정상도를 검사하는 단계; 및 상기 비정상도에 따라 상기 산업 제어 네트워크 상에 비정상 행위가 발생하였는지 여부를 판별하는 단계; 를 포함하는 것을 특징으로 한다.The network testing step may include collecting the packets transmitted in the industrial control network after the normal behavior learning period; Inspecting the collected packets using the whitelist stored in the database unit; Receiving the packets inspected using the whitelist, and preprocessing the packets in a predetermined manner; Comparing the preprocessed packets with the at least one individual packet model stored in the database unit, the at least one pattern library, and the at least one traffic model to check for anomalies; And determining whether an abnormal behavior has occurred on the industrial control network according to the abnormality. And a control unit.
따라서, 본 발명의 산업제어 네트워크를 위한 비정상 행위 탐지 시스템 및 방법은 산업제어 네트워크에서 정상 행위 학습 단계에서 비정상 행위를 화이트리스트, 개별 패킷, 패킷 패턴 및 트래픽의 부분에 대한 정상 행위 정보를 학습을 통해 자동으로 획득하고, 이후 네트워크 검사 단계에서, 획득된 정상 행위 정보를 이용하여 화이트리스트, 개별 패킷, 패킷 패턴 및 트래픽의 부분 모두에서 비정상 행위를 탐색함으로써, 비정상 행위 탐색의 정확도를 크게 높여, 탐색 성능 및 신뢰도를 확보할 수 있다.Accordingly, the system and method for detecting abnormal behavior for an industrial control network of the present invention can detect abnormal behavior in a normal operation learning step in an industrial control network by learning the normal behavior information on the whitelist, individual packet, And then in the network inspection step, the abnormal behavior search is largely improved by searching for the abnormal behavior in both the white list, the individual packet, the packet pattern, and the traffic portion using the obtained normal behavior information, And reliability can be secured.
도1 은 본 발명에 따른 비정상 행위 탐지 시스템을 적용하는 산업 제어 네트워크의 일예를 나타낸다.
도2 는 본 발명의 일실시예에 따른 비정상 행위 탐지 시스템을 나타낸다.
도3 은 도2 의 병렬 전처리부의 상세 구성 예를 나타낸다.
도4 는 도3 의 패킷 패턴 전처리부가 패킷 패턴을 추출하는 일 실시예를 나타낸다.
도5 는 도2 학습모델 생성부와 검사 데이터베이스 및 검사부의 상세 구성 예를 나타낸다.
도6 은 본 발명의 일실시예에 따른 비정상 행위 탐지 방법을 나타낸다.
도7 은 도6 의 비정상 행위 탐지 단계를 상세하게 나타낸 도면이다.FIG. 1 shows an example of an industrial control network to which the abnormal behavior detection system according to the present invention is applied.
2 illustrates an abnormal behavior detection system according to an embodiment of the present invention.
3 shows a detailed configuration example of the parallel preprocessing unit of FIG.
FIG. 4 shows an embodiment in which the packet pattern preprocessing unit of FIG. 3 extracts a packet pattern.
Fig. 5 shows a detailed configuration example of the learning model generation unit, the inspection database and the inspection unit of Fig.
FIG. 6 illustrates an abnormal behavior detection method according to an embodiment of the present invention.
FIG. 7 is a detailed view illustrating an abnormal behavior detection step of FIG. 6. FIG.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다. In order to fully understand the present invention, operational advantages of the present invention, and objects achieved by the practice of the present invention, reference should be made to the accompanying drawings and the accompanying drawings which illustrate preferred embodiments of the present invention.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로서, 본 발명을 상세히 설명한다. 그러나, 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며, 설명하는 실시예에 한정되는 것이 아니다. 그리고, 본 발명을 명확하게 설명하기 위하여 설명과 관계없는 부분은 생략되며, 도면의 동일한 참조부호는 동일한 부재임을 나타낸다.Hereinafter, the present invention will be described in detail with reference to the preferred embodiments of the present invention with reference to the accompanying drawings. However, the present invention can be implemented in various different forms, and is not limited to the embodiments described. In order to clearly describe the present invention, parts that are not related to the description are omitted, and the same reference numerals in the drawings denote the same members.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라, 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "...부", "...기", "모듈", "블록" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. Throughout the specification, when an element is referred to as "including" an element, it does not exclude other elements unless specifically stated to the contrary. The terms "part", "unit", "module", "block", and the like described in the specification mean units for processing at least one function or operation, And a combination of software.
도1 은 본 발명에 따른 비정상 행위 탐지 시스템을 적용하는 산업 제어 네트워크의 일예를 나타낸다.FIG. 1 shows an example of an industrial control network to which the abnormal behavior detection system according to the present invention is applied.
도1 에서는 산업 제어 네트워크의 일예로 변전소 자동화 시스템(Substation Automation)에 적용된 산업 제어 네트워크(이하 변전소 네트워크)를 도시하였다. 변전소 네트워크는 도1 에 도시된 바와 같이, 변전소 레벨(Substation Level)과 베이 레벨(Bay Level)로 구분되고, 상호 지정된 방식으로 통신을 수행한다. 변전소 레벨은 HMI(Human Machine Interface)와 메인 서버 및 백본 스위치(Backbone Swithc)를 구비한다. HMI는 변전소 시스템의 상황을 관리자에게 표시하고, 제어 명령을 인가받기 위해 구비되고, 메인 서버는 베이 레벨에 구비되는 전력 설비의 운전 정보를 수신하여 분석하며, 베이 레벨의 전력 설비에 대한 제어를 수행한다. 그리고 백본 스위치는 메인 서버가 베이 레벨과 통신을 수행할 수 있도록 한다.1 shows an industrial control network (hereinafter referred to as a substation network) applied to a substation automation system as an example of an industrial control network. The substation network is divided into a substation level and a bay level as shown in FIG. 1, and performs communication in a mutually designated manner. The substation level has a Human Machine Interface (HMI), a main server and a backbone switch (Backbone Swithc). The HMI is provided for displaying the status of the substation system to the administrator and for receiving the control command. The main server receives and analyzes the operation information of the power facility provided at the bay level, and performs control on the bay level power facility do. And the backbone switch allows the main server to communicate with the bay level.
베이 레벨에는 전력 설비인 복수개의 IED(Intelligent Electronic Device)와 복수개의 IED 중 적어도 하나의 IED가 변전소 레벨의 메인 서버가 통신을 수행할 수 있도록 선택하는 적어도 하나의 IED 스위치(IED Switch)가 구비된다. At the bay level, there are provided a plurality of IEDs (Intelligent Electronic Devices), which are power facilities, and at least one IED switch, which selects at least one of the plurality of IEDs so that the substation-level main server can perform communication .
IEC 61850 IDS는 IEC 61850 기반 침입 탐지 시스템(Intrusion Detection System)으로 본 발명의 비정상 행위 탐지 시스템을 나타낸다. IEC 61850는 IEC TC 57에서 국제 표준화를 위해 만든 변전소 자동화용 통합 프로토콜에 대한 국제 표준으로서, 지금까지의 전력 관련 산업 제어 네트워크 분야의 통신프로토콜 중에 가장 자세하게 정의되어 있고, 확장성이 뛰어 광범위하게 사용되고 있는 프로토콜이다. IEC 61850는 MMS(Manufacturing Message Specification)와 GOOSE(Generic Object Oriented Substation Event) 프로토콜을 주로 사용하고 있다. MMS는 산업 제어 분야에서 각종 제조 기기등을 감시, 제어하기 위한 메시ㅈ 규격으로 개발되었으며, GOOSE는 IED간의 통신을 위해 개발되었다. 하지만 MMS나 GOOSE에서는 모두 보안에 대해 많은 고려가 없이 개발되어 사용자의 운영 환경에 따라 보안 기능을 별도로 개발하여 사용하는 것이 바람직하다. 이에 도1 의 IEC 61850 IDS와 같이, 현재에도 변전소 네트워크에서는 비정상 행위 탐지 시스템이 변전소 레벨과 베이 레벨 사이에 구비되어 비정상 행위를 탐지하도록 하는 것이 일반적이다. 이하에서는 대표적 산업 제어 네트워크인 변전소 네트워크에 적용되는 비정상 행위 탐지 시스템을 가정하여 설명하지만, 본 발명은 이에 한정되지 않는다.IEC 61850 IDS is an IEC 61850 based Intrusion Detection System and represents the abnormal behavior detection system of the present invention. IEC 61850 is an international standard for an integrated protocol for substation automation made for international standardization in IEC TC 57. It is the most defined communication protocol in the field of power related industrial control networks so far and has been extensively used and widely used Protocol. IEC 61850 mainly uses MMS (Manufacturing Message Specification) and GOOSE (Generic Object Oriented Substation Event) protocols. MMS was developed as a mesh standard for monitoring and controlling various manufacturing equipments in industrial control field, and GOOSE was developed for communication between IEDs. However, in MMS or GOOSE, it is desirable to develop security function separately according to the user's operating environment. As in the case of IEC 61850 IDS in FIG. 1, it is common in the substation network that an abnormal behavior detection system is provided between a substation level and a bay level so as to detect an abnormal behavior. Hereinafter, an abnormal behavior detection system applied to a substation network which is a typical industrial control network will be described, but the present invention is not limited thereto.
도2 는 본 발명의 일실시예에 따른 비정상 행위 탐지 시스템을 나타낸다.2 illustrates an abnormal behavior detection system according to an embodiment of the present invention.
도2 를 참조하면, 본 발명의 비정상 행위 탐지 시스템은 패킷 학습부(100), 전처리부(200), 데이터베이스부(300) 및 패킷 검사부(400)를 구비한다.Referring to FIG. 2, the abnormal behavior detection system of the present invention includes a
패킷 학습부(100)는 비정상 행위 탐지 시스템이 비정상 행위를 탐지하기 위한 근거로서 정상 행위를 분석하여 정상 행위 정보를 획득하고, 획득된 정상 행위 정보를 데이터베이스부(300)에 저장하기 위해 구비된다.The
전처리부(200)는 비정상 행위 탐지 시스템으로 인가되는 복수개의 패킷들에 대해 패킷 학습부(100) 및 패킷 검사부(400)에서 분석하기 용이하도록 전처리 작업을 수행한다.The
데이터베이스부(300)는 패킷 학습부(100)에서 획득한 정상 행위 정보를 저장하고, 패킷 검사부(400)가 패킷에 대한 비정상 행위 여부를 탐지하고자 할 때, 패킷 검사부(400)로 정상 행위 정보를 제공하여 패킷의 비정상 행위 여부를 판별 할 수 있도록 한다.The
패킷 검사부(400)는 산업 제어 네트워크를 통해 복수개의 패킷이 수신되면, 수신된 복수개의 패킷을 데이터베이스부(300)에 저장된 정상 행위 정보에 대응하는지 비교 분석함으로써, 수신된 패킷들의 정상 여부를 판별한다.When a plurality of packets are received through the industrial control network, the
도2 의 비정상 행위 탐지 시스템의 각 구성을 다시 상세하게 살펴보면, 우선 패킷 학습부(100)는 학습 패킷 수집부(110), 패킷 검증부(120), 화이트리스트 생성부(130) 및 학습 모델 생성부(140)를 구비한다.2, the
학습 패킷 수집부(110)는 비정상 행위 탐지 시스템의 정상 행위 학습 기간 동안 산업 제어 네트워크에서 전송되는 각종 패킷들을 학습 패킷으로 수집한다. 정상 행위 학습 기간은 비정상 행위 탐지 시스템이 적용되는 분야에 따라 다양하게 설정될 수 있으며, 변전소 네트워크에서는 정상 행위 학습의 정확도를 위해 일예로 4주 이상의 기간으로 설정될 수 있다. 여기서 학습 패킷은 미리 정상 패킷으로 검증되지 않은 패킷이어도 무방하며, 정상 행위 학습 기간 동안 실제 산업 제어 네트워크에서 전송되는 패킷을 이용할 수 있다. 이는 산업 제어 네트워크가 일반 IT 환경 네트워크와 달리 대부분 트래픽 발생이 규칙적이고, 제한된 프로토콜만을 사용하므로, 특수한 경우를 제외하면 거의 모든 패킷이 정상 패킷이고 학습 패킷으로 사용할 수 있기 때문이다. 또한 실제 사용되고 있는 복수개의 패킷을 기반으로 정상 행위를 학습하면, 이후 높은 정확도로 비정상 패킷을 검출할 수 있다는 장점이 있다.The learning
패킷 검증부(120)는 기설정된 방식으로 학습 패킷 수집부(110)에서 수집된 패킷을 검사하여, 전체 패킷 대비 에러 메시지 수, 충돌 프레임 수, 재전송 패킷 수, 비정상 형식(mal-formed) 패킷 수, 비정상 크기의 패킷 수 등을 계산한다. 그리고 계산된 비정상 패킷의 수의 합 비율이 기설정된 비율(예를 들면, 0.01%) 이상일 경우, 정상 환경의 학습 패킷이 아닌 것으로 간주하고, 학습 패킷 수집부(110)로 새로운 패킷을 수집할 것을 요청한다.The
그러나 전체 패킷 대비 비정상 패킷의 수의 합 비율이 기설정된 비율 미만이면, 정상 패킷이 수집된 것으로 판단하고, 화이트리스트 생성부(130)와 전처리부(200)로 수집된 패킷을 전송한다.However, if the sum ratio of the number of unacknowledged packets to the total packet is less than the predetermined ratio, it is determined that the normal packets have been collected and the collected packets are transmitted to the
화이트리스트 생성부(130)는 패킷 검증부(120)에서 검증된 복수개의 패킷을 수신하고, 수신된 복수개의 패킷을 기반으로 화이트리스트를 생성한다. 화이트리스트는 명백히 정상인 특징을 규칙으로 만들어 놓은 리스트로, 정상 환경에서의 IP/PORT 기반의 정상 플로우 집합과 제어 네트워크 프로토콜(DNP3, IEC61850, ICCP 등)에 따른 정상 메시지 타입, 정상 Function Type 등을 규칙으로 생성한다.The
IT 기반 네트워크에서는 블랙리스트(blacklist)를 저장한 데이터베이스를 활용하여 공격을 탐지하는 기법이 주로 사용되었다. IT 기반 네트워크는 불특정 다수의 사용자에게 개방된 네트워크 환경이기 때문에, 다양한 프로토콜의 패킷 및 서비스가 활용되고 있다. 따라서 특정 프로토콜이나 서비스만을 제공하도록 제한 할 수 없다. 그러므로 IT 기반 네트워크에서는, 이전 발생된 공격을 분석하여 저장한 블랙리스트에 기반하여, 추후 발생할 수 있는 비정상 행위를 탐지하는 기법이 활용될 수 밖에 없었다. 그러나 블랙리스트 기반 비정상 행위 탐지 기법은 알려지지 않은 취약점을 이용하는 제로-데이(Zero-day)공격을 탐지할 수 없을 뿐만 아니라, 새로운 형태의 비정상 행위가 확인될 때마다 블랙리스트 데이터베이스에 저장된 블랙리스트 데이터를 업데이트해야하는 부담이 존재한다.In the IT-based network, a technique of detecting an attack using a database storing a blacklist is mainly used. Since the IT-based network is a network environment open to an unspecified number of users, packets and services of various protocols are utilized. Therefore, it can not be restricted to provide only a specific protocol or service. Therefore, in the IT-based network, a technique for detecting abnormal behavior that can occur later can not but be utilized based on the black list stored by analyzing the previously generated attack. However, the blacklist-based abnormal behavior detection technique can not detect a zero-day attack that utilizes an unknown vulnerability, but also detects blacklist data stored in the blacklist database whenever a new type of abnormal behavior is detected There is a burden to update.
그에 비해 산업 제어 네트워크는 IT 네트워크와는 달리 완전 개방된 환경이 아니므로, 상기한 바와 같이 네트워크 트래픽 발생이 규칙적이며, 기설정된 제한된 프로토콜만을 사용한다. 따라서 정상 행위를 프로파일링한 화이트리스트 기반으로 비정상 행위를 탐지하는 기법이 더욱 효율적이다. 화이트리스트 기반 비정상 행위를 탐지하게 되면, 화이트리스트에 포함되지 않은 모든 행위가 비정상 행위로 간주되므로, 새로운 형태의 비정상 행위가 발생하더라도, 용이하게 비정상 행위를 탐지하고 대응할 수 있다. 특히 화이트리스트 기법을 방화벽이나 안티 바이러스 시스템등과 함께 사용하면, APT (Advanced Persistent Threats) 공격 등과 같은 고도화된 공격에 대해서도 효과적으로 대처할 수 있다.On the other hand, the industrial control network is not a fully open environment unlike the IT network, and thus the network traffic generation is regular and only the predetermined limited protocol is used as described above. Therefore, it is more efficient to detect abnormal behavior based on whitelist that profiles normal behavior. If the whitelist-based abnormal behavior is detected, all actions not included in the whitelist are regarded as abnormal, so that even if a new type of abnormal behavior occurs, the abnormal behavior can be easily detected and responded to. In particular, when using a whitelist technique with a firewall or antivirus system, it can effectively deal with advanced attacks such as APT (Advanced Persistent Threats) attacks.
한편 학습 모델 생성부(140)는 전처리부(200)에서 전처리되어 구분된 패킷들을 개별 패킷 단위, 패킷 패턴 및 트래픽 단위로 학습하여 산업 제어 네트워크 상의 정상 행위 정보를 획득한다. 학습 모델 생성부(140)가 정상 행위 정보를 획득하는 상세한 과정은 후술하도록 한다.Meanwhile, the learning
전처리부(200)는 공통 전처리부(210) 및 병렬 전처리부(220)를 구비한다. 공통 전처리부(210)는 패킷 검증부(120) 또는 화이트리스트 검사부(420)로부터 인가되는 복수개의 패킷을 플로우/프로토콜 단위로 해석 및 분류하여, 병렬 전처리부(220)로 전송한다.The
병렬 전처리부(220)는 개별 패킷 전처리부, 패킷 패턴 전처리부 및 트래픽 전처리부의 3개의 개별 전처리부를 구비하고, 3개의 개별 전처리부 각각은 공통 전처리부(210)에서 분류된 패킷을 인가받아 기설정된 방식으로 전처리를 수행한다. 그리고 전처리된 패킷을 학습 모델 생성부(140)나 검사부(440)로 전처리가 수행된 패킷을 전송한다. 병렬 전처리부(220)의 3개의 개별 전처리부에 대한 상세한 설명은 후술하도록 한다.The
데이터베이스부(300)는 화이트리스트 데이터베이스(310) 및 검사 데이터베이스(320)를 구비한다. 화이트리스트 데이터베이스(310)는 정상 행위 학습 기간 동안 화이트리스트 생성부(130)에서 생성된 화이트리스트를 수신하여 저장하고, 비정상 행위 탐색 시에 화이트리스트 검사부(420)의 요청에 따라 화이트리스트를 전송하여, 화이트리스트 검사부(420)가 검사 패킷을 검사할 수 있도록 한다.The
검사 데이터베이스(320)는 정상 행위 학습 기간 동안 학습 모델 생성부(140)에서 생성된 정상 행위 정보를 저장하고, 비정상 행위 탐색 시에 검사부(440)로 정상 행위 정보를 제공하여 비정상 행위 패킷을 판별할 수 있도록 한다.The
도2 에서는 설명의 편의를 위하여 데이터베이스부(300)가 화이트리스트 데이터베이스(310)와 검사 데이터베이스(320)를 개별적으로 구비하는 것으로 도시하였으나, 화이트리스트 데이터베이스(310)와 검사 데이터베이스(320)는 하나의 데이터베이스로 구성되어도 무방하다. 또한 도시하지 않았으나, 데이터베이스부(300)는 패킷 검사부(400)에서 판별한 비정상 행위 패킷에 대한 로그 정보를 저장하는 로그 데이터베이스(미도시)를 더 구비할 수 있다. 로그 데이터베이스는 다양한 비정상 행위를 분석하기 위한 기초 정보로 활용될 수 있다.2, the
패킷 검사부(400)는 검사 패킷 수집부(410), 화이트리스트 검사부(420), 화이트리스트 업데이트부(430), 검사부(440) 및 비정상 행위 판별부(450)를 구비한다.The
검사 패킷 수집부(410)는 비정상 행위 탐지 시스템이 산업 제어 네트워크에서 발생하는 비정상 행위를 탐지하기 위해 운용되는 동안 전송되는 패킷들을 수집한다.The inspection
화이트리스트 검사부(420)는 검사 패킷 수집부(410)에서 수집된 복수개의 패킷에 대해 화이트리스트 데이터베이스(310)에 저장된 화이트리스트를 이용하여 필터링을 수행한다. 즉 복수개의 패킷 각각이 화이트리스트로 지정된 규칙에 부합되는지 판별하고, 정상인 패킷들은 전처리부(200)의 공통 전처리부(210)로 전송하고, 비정상으로 판별된 패킷들은 화이트리스트 업데이트부(430)로 전송한다.The
화이트리스트 업데이트부(430)는 화이트리스트 데이터베이스(310)에 저장되는 화이트리스트를 업데이트하기 위한 구성으로, 화이트리스트 검사부(420)에서 비정상으로 판별된 패킷들을 인가받고, 새로이 추가될 화이트리스트 규칙을 설정할지 여부를 판별한다. 화이트리스트는 상기한 바와 같이, 정상인 패킷에 대한 규칙을 규정한 리스트로서, 화이트리스트를 이용하여 비정상 패킷을 탐지하는 비정상 행위 탐지 시스템은 기설정된 화이트리스트의 규칙에 대응하지 않는 패킷을 비정상 패킷으로 판단하여 차단할 수 있다. 그러나 다른 대부분의 네트워크와 마찬가지로 산업 제어 네트워크 또한 산업 제어 시스템의 활용에 따라 기존에, 즉 정상 패킷 학습 기간에, 사용되지 않은 패킷을 새로이 지정하여 사용할 수 있다. 이런 경우, 새로이 지정된 패킷의 규칙을 화이트리스트에 추가할 필요가 있다.The
따라서 화이트리스트 업데이트부(430)는 화이트리스트 검사부(420)에서 비정상으로 판별된 패킷들을 수신하고, 화이트리스트 생성부(130)와 동일한 방식으로 패킷 규칙을 새롭게 획득한다. 그리고 새롭게 획득된 패킷 규칙이 정상적으로 화이트리스트에 포함될 규칙인지 여부를 판별하여, 정상 규칙이면 화이트리스트 데이터베이스(310)로 전송하여 화이트리스트를 업데이트 한다. 여기서 획득된 패킷 규칙의 정상 여부는 획득된 패킷 규칙을 사용자에게 표시하고, 사용자의 승인이 인가되면, 정상인 것으로 판별하도록 설정할 수 있다.Accordingly, the
검사부(440)는 전처리부(200)에서 전처리되어 구분된 패킷들을 수신하고, 개별 패킷 단위, 패킷 패턴 및 트래픽 단위로 검사 데이터베이스(320)에 저장된 정상 행위 정보와 비교한다. 그리고 비교 결과로서 개별 패킷 단위, 패킷 패턴 및 트래픽 단위로 비정상도를 계산한다. 여기서 비정상도는 수치적으로 계산될 수 있다.The inspecting
비정상 행위 판별부(450)는 검사부(440)에서 비교 결과로서 개별 패킷 단위, 패킷 패턴 및 트래픽 단위로 계산된 비정상도를 이용하여 비정상 행위가 발생하였는지 판별한다. 그리고 비정상 행위가 발생한 것으로 판별되면, 도1 의 HMI 등을 통해 사용자에게 경고를 출력할 수 있다. 또한 데이터베이스부(300)에 로그 데이터베이스가 구비되어 있으면, 로그 데이터베이스에 비정상 행위 정보를 저장한다.The
도2 에서는 학습 패킷 수집부(110)과 검사 패킷 수집부(410)을 별도로 도시하였으나, 학습 패킷 수집부(110)과 검사 패킷 수집부(410)는 패킷을 수집하는 시기에만 차이가 있으므로, 패킷 수집부로 통합될 수 있다. 또한 도2 에서는 전처리부(200)가 별도로 구비되어 패킷 학습부(100)과 패킷 검사부(400) 양측으로 인가되는 패킷을 모두 전처리하는 것으로 도시하였으나, 경우에 따라서는 패킷 학습부(100)과 패킷 검사부(400) 각각에 개별적으로 전처리부(200)가 포함되어 구성되어도 무방하다.2, the learning
도3 은 도2 의 병렬 전처리부의 상세 구성 예를 나타낸다.3 shows a detailed configuration example of the parallel preprocessing unit of FIG.
도3 을 참조하면, 병렬 전처리부(220)는 패킷 학습부(100)의 학습 모델 생성부(130)과 패킷 검사부(400)의 검사부(440)에 대응하여 개별 패킷 전처리부(221), 패킷 패턴 전처리부(222) 및 트래픽 전처리부(223)의 3개의 개별 전처리부를 구비한다.3, the
개별 패킷 전처리부(221)는 플로우/프로토콜 필드 선택부(2211) 및 개별 패킷 정규화부(2212)를 구비하여, 공통 전처리부(210)에서 분류된 복수개의 패킷을 인가받아 플로우/프로토콜 단위로 나누고, 패킷의 필드 선택, 정규화 작업을 수행한다.The individual
그리고 패킷 패턴 전처리부(222)는 노드/프로토콜 필드 선택부(2221) 및 패킷 패턴 검출부(2222)를 구비하여, 공통 전처리부(210)에서 분류된 복수개의 패킷을 인가받아 개별 노드/프로토콜 단위로 나누고, 패킷 필드 선택, 정규화 작업을 수행한다. 여기서 패킷 패턴 검출부(2222)는 후술하는 패턴 탐색 알고리즘을 이용하여 수신된 복수개의 패킷으로부터 패킷 패턴들을 추출한다.The packet
한편 트래픽 전처리부(223)은 트래픽 계산부(2231)과 데이터 셋 생성부(2232)를 구비하여, 전체 네트워크 단위의 트래픽 특징을 분석할 수 있도록 기설정된 시간(예를 들면, 1분) 단위의 패킷 수, 패킷 평균 크기, 프로토콜 별 패킷 개수를 계산하고, 데이터 셋을 만든다.The
도4 는 도3 의 패킷 패턴 전처리부가 패킷 패턴을 추출하는 일 실시예를 나타내며, 간단한 일예로 4종류의 패킷이 전송되는 산업 제어 네트워크에서 패킷 패턴을 추출하는 방법을 나타내었다. 산업 제어 네트워크는 그 특성상 패킷의 종류가 제한적일 뿐만 아니라, 패킷들이 반복적 규칙적으로 전송되는 빈도가 높다. 특히 산업 제어 네트워크에서 두 노드(예를 들면 도1 의 두 개의 IED) 사이에 전송되는 패킷들을 분석하면, 일반적으로 패킷 패턴이 매우 단순한 형태로 주기적을 반복되는 형태를 갖는다.FIG. 4 shows an embodiment in which the packet pattern preprocessing unit of FIG. 3 extracts a packet pattern, and a method of extracting a packet pattern in an industrial control network in which four kinds of packets are transmitted is shown in a simple example. Industrial control networks are not only limited in the types of packets, but also have a high frequency of repetitive and regular transmission of packets. Particularly, when analyzing packets transmitted between two nodes (for example, two IEDs in FIG. 1) in an industrial control network, the packet pattern is generally repeated cyclically in a very simple form.
일예로, 도1 에 도시된 변전소 네트워크의 IEC 61850에서 주로 사용되는 MMS 프로토콜과 GOOSE 프로토콜 각각의 패킷을 메시지 타입, 기능(function type), 오브젝트(object) 종류 등의 특성을 토대로 구분하면, 표1 과 같이 나타난다.For example, if the packets of the MMS protocol and the GOOSE protocol, which are mainly used in the
MMS PDU Type
MMS Service Type
IEC 61850 Object NameTPKT Length
MMS PDU Type
MMS Service Type
gocbRef
Number of Data Set EntriesGOOSE Message Length
gocbRef
Number of Data Set Entries
따라서 단순 반복 형태의 패턴을 검색하기 위해, 패킷 패턴 전처리부(222)는 우선 임의의 패킷인 i번째 패킷을 패턴 탐색 시작 위치(p=i)로 설정한다. 그리고 시작 위치의 패킷으로부터 패턴 길이(n)을 2부터 1씩 순차적으로 증가시키면서 반복 패턴을 탐색한다.Therefore, in order to retrieve the pattern of the simple repetitive pattern, the packet
이 경우, 케이스1(case 1)과 같이, 전체 반복 패턴이 바로 탐색되는 경우도 있으나, 케이스2(case 2)와 같이, 전체 반복 패턴 내부에 부분 반복 패턴이 존재하여 전체 반복 패턴을 정확히 탐색하지 못하는 경우가 발생할 수 있다.In this case, as in the
이에 본 발명에서는 반복 패턴이 발견된 경우에, 시작 위치 패킷 다음 패킷(i+1)부터 다시 반복 패턴을 탐색하여, 이전 발견된 패턴이 부분 반복 패턴인지 여부를 판단한다. 즉 이전 발견된 패턴의 길이와 시작 위치 패킷 다음 패킷(i+1)부터 탐색된 패턴의 길이가 일치하는지 판별한다.Accordingly, in the present invention, when a repeat pattern is found, the repeat pattern is searched again from the next packet (i + 1) following the start position packet to determine whether the previously found pattern is a partial repeat pattern. That is, the length of the previously found pattern matches the length of the pattern found from the packet (i + 1) following the start position packet.
만일 탐색된 패턴의 길이가 일치하지 않으면, 부분 반복 패턴인 것으로 판단하고, 시작 위치의 패킷부터 다시 반복 패턴이 탐색될 때까지 패턴을 탐색한다. 이 경우에도, 탐색된 반복 패턴이 부분 반복 패턴인지 여부를 시작 위치 패킷 다음 패킷(i+1)부터 재탐색하여 전체 반복 패턴을 획득할 수 있다. 즉 발견된 패턴의 길이와 시작 위치 패킷 다음 패킷(i+1)부터 탐색된 패턴의 길이가 일치할 때까지 반복적으로 패턴을 탐색할 수 있다.If the lengths of the searched patterns do not coincide with each other, it is determined that the pattern is a partial repeat pattern, and the pattern is searched from the packet at the start position until the repeat pattern is searched again. In this case as well, it is possible to re-search the next packet (i + 1) following the start position packet to determine whether the searched repeated pattern is a partial repeat pattern to obtain the entire repeat pattern. That is, the pattern can be repeatedly searched until the length of the found pattern matches the length of the pattern that is searched from the packet (i + 1) following the start position packet.
도5 는 도2 학습모델 생성부와 검사 데이터베이스 및 검사부의 상세 구성 예를 나타낸다.Fig. 5 shows a detailed configuration example of the learning model generation unit, the inspection database and the inspection unit of Fig.
도3 의 병렬 전처리부(220)와 유사하게 도5 에서 학습모델 생성부(140)와 검사 데이터베이스(320) 및 검사부(440)는 각각 3개의 구성 요소를 갖는다. 먼저 학습 모델 생성부(140)는 개별 패킷 학습부(141), 패턴 라이브러리 생성부(142) 및 트래픽 학습부(143)을 구비한다.Similar to the
개별 패킷 학습부(141)는 병렬 전처리부(220)의 개별 패킷 전처리부(221)로부터 전처리된 복수개의 개별 패킷을 수신한다. 그리고 수신된 개별 패킷에 대한 정상 행위 정보를 획득하기 위해, 개별 패킷 각각을 EM(Expectation Maximization) 알고리즘을 적용하여 그룹화하고, 그룹화로 생성된 적어도 하나의 그룹 각각을 OCSVM(One-class SVM) 알고리즘을 통해 개별 패킷 모델로 생성하여 검사 데이터베이스(320)의 개별 패킷 모델 저장부(321)로 전송한다.The individual
패턴 라이브러리 생성부(142)는 패킷 패턴 전처리부(222)로부터 전처리된 되어 추출된 패킷 패턴의 특성과 빈도수를 패턴 라이브러리로 생성한다. 그리고 생성된 패턴 라이브러리를 검사 데이터베이스(320)의 패턴 라이브러리 저장부(322)로 전송한다.The pattern
트래픽 학습부(143)는 트래픽 전처리부(223)에서 인가되는 기설정된 시간 단위의 데이터 셋 각각을 EM 알고리즘을 적용하여 그룹화 하고 OCSVM 알고리즘을 이용해 트래픽 모델로 생성한다. 생성된 트래픽 모델은 검사 데이터베이스(320)의 트래픽 모델 저장부(323)로 전송된다.The
검사 데이터베이스(320)는 개별 패킷 모델 저장부(321), 패턴 라이브러리 저장부(322) 및 트래픽 모델 저장부(323)로 구성되고, 각각 학습모델 생성부(140)의 개별 패킷 학습부(141)와 패턴 라이브러리 생성부(142) 및 트래픽 학습부(143)로부터 적어도 하나의 개별 패킷 모델과 적어도 하나의 패턴 라이브러리 및 적어도 하나의 트래픽 모델을 인가받아 저장한다.The
검사부(440)는 개별 패킷 검사부(441)과 패킷 패턴 검사부(442) 및 트래픽 검사부(443)를 구비한다. 개별 패킷 검사부(441)는 개별 패킷 전처리부(221)에서 인가되는 개별 패킷을 개별 패킷 모델 저장부(321)에 저장된 개별 패킷 모델과 비교하여, 가장 유사한 개별 패킷 모델과의 차이를 분석한다. 개별 패킷 검사부(441)은 일 예로 수신된 개별 패킷과 하이퍼 벡터(hyper vector) 거리가 가장 짧은 개별 패킷 모델과의 거리를 개별 패킷 비정상 점수로 도출할 수 있다.The
패킷 패턴 검사부(442)는 패킷 패턴 전처리부(222)에서 인가되는 패킷 패턴을 패턴 라이브러리 저장부(322)에 저장된 적어도 하나의 패턴 라이브러리의 패턴 및 빈도수와 비교하여 기저장된 적어도 하나의 패턴 라이브러리와의 패턴 차이를 분석한다. 일 예로 새로운 패턴의 경우 10점, 빈도수가 전체 빈도수의 10% 미만일 경우 전체 빈도수/(해당 빈도수 * 10) 값과 10 사이의 최소값을 패턴 비정상 점수로 도출할 수 있다.The packet
트래픽 검사부(443)는 트래픽 전처리부(223)로부터 인가되는 데이터 셋을 트래픽 모델 저장부(323)에 저장된 적어도 하나의 트래픽 모델 중 가장 유사한 트래픽 모델과의 차이를 분석한다. 트래픽 검사부(443)은 개별 패킷 검사부(441)과 마찬가지로, 수신된 데이터 셋과 하이퍼 벡터(hyper vector) 거리가 가장 짧은 트래픽 모델과의 거리를 트래픽 비정상 점수로 도출할 수 있다.The
그리고 도출된 개별 패킷 비정상 점수, 패턴 비정상 점수 및 트래픽 비정상 점수를 비정상 행위 판별부(450)로 전송하여 비정상 행위의 발생 여부를 판별할 수 있도록 한다. 개별 패킷, 패킷 패턴 및 트래픽에 대한 비정상도가 각각 개별 패킷 비정상 점수, 패턴 비정상 점수 및 트래픽 비정상 점수로 수치화되어 전송되므로, 비정상 행위 판별부(450)는 개별 패킷 비정상 점수, 패턴 비정상 점수 및 트래픽 비정상 점수를 기설정된 방식으로 조합하여 최종 비정상 점수를 도출할 수 있다. 그리고 도출된 최종 비정상 점수가 기설정된 기준값 이상인지 여부에 따라 비정상 행위가 탐지되었는지 여부를 판별한다.Then, the derived individual packet abnormal score, pattern abnormal score, and traffic abnormal score are transmitted to the
도6 은 본 발명의 일실시예에 따른 비정상 행위 탐지 방법을 나타낸다.FIG. 6 illustrates an abnormal behavior detection method according to an embodiment of the present invention.
도2 내지 도5 를 참조하며, 도6 의 비정상 행위 탐지 방법을 설명하면, 우선 학습 패킷 수집부(110)가 정상 패킷 학습 기간 동안 산업 제어 네트워크에서 전송되는 각종 패킷들을 학습 패킷으로 수집한다(S110). 그리고 패킷 검증부(120)가 학습 패킷 수집부(110)에서 수집된 패킷을 기설정된 방식을 검사하여 수집된 패킷을 검증한다(S120). 이때, 수집된 패킷이 정상 패킷이 아닌 것으로 판별되면, 패킷 검증부(120)는 학습 패킷 수집부(110)로 패킷을 다시 수집할 것을 요청할 수 있다.Referring to FIGS. 2 to 5 and describing the abnormal behavior detection method of FIG. 6, the priority learning
패킷 검증부(120)에서 검증된 패킷은 화이트리스트 생성부(130)에 의해 정상 패킷의 특징이 분석되고, 화이트리스트 생성부(130)는 분석된 특징을 기반으로 화이트리스트를 생성하여 화이트리스트 데이터베이스(310)에 저장한다(S130). 한편 패킷 검증부(120)는 검증된 패킷을 화이트리스트 생성부(130)로 전송함과 동시에 공통 전처리부(210)로 전송한다. 이에 공통 전처리부(210)는 화이트리스트 생성부(130)와 독립적으로 수신된 복수개의 패킷을 플로우/프로토콜 단위로 해석 및 분류하여, 병렬 전처리부(220)로 전송한다(S140).The packets verified by the
병렬 전처리부(220)의 개별 패킷 전처리부(221), 패킷 패턴 전처리부(222) 및 트래픽 전처리부(223)는 각각 개별적으로 공통 전처리부에서 해석 및 분류된 패킷을 수신하고, 각각 병렬로 지정된 방식으로 전처리를 수행한다. 개별 패킷 전처리부(221)는 공통 전처리부(210)에서 분류된 복수개의 패킷을 인가받아 플로우/프로토콜 단위로 나누고, 패킷의 필드 선택, 정규화 작업을 수행한다(S150). 패킷 패턴 전처리부(222)는 복수개의 패킷을 인가받아 개별 노드/프로토콜 단위로 나누고, 패킷 필드 선택, 정규화 작업을 수행하여 패킷 패턴을 추출한다(S160). 트래픽 전처리부(223)는 전체 네트워크 단위의 트래픽 특징을 분석할 수 있도록 기설정된 시간 단위의 패킷 수, 패킷 평균 크기, 프로토콜 별 패킷 개수를 계산하고, 데이터 셋을 생성한다(S170).The individual
학습모델 생성부(140)의 개별 패킷 학습부(141)는 개별 패킷 전처리부(221)로부터 전처리된 복수개의 개별 패킷을 수신하고, 개별 패킷 각각을 그룹화하고, 그룹화된 적어도 하나의 개별 패킷 그룹 각각을 적어도 하나의 개별 패킷 모델로 생성하여 개별 패킷 모델 저장부(321)에 저장한다(S180).The individual
패턴 라이브러리 생성부(142)는 패킷 패턴 전처리부(222)에서 추출된 패킷 패턴의 특성과 빈도수를 패턴 라이브러리로 생성하여 패턴 라이브러리 저장부(322)에 저장한다(S190).The pattern
트래픽 학습부(143)는 트래픽 전처리부(223)에서 인가되는 기설정된 시간 단위의 데이터 셋 각각을 그룹화하고, 그룹화된 적어도 하나의 데이터 셋 각각을 적어도 하나의 트래픽 모델로 생성하여 트래픽 모델 저장부(323)에 저장한다(S200).The
화이트리스트가 생성되어 저장되고, 개별 패킷 모델, 패턴 라이브러리 및 트래픽 모델이 저장되면, 정상 패킷 학습 기간이 종료되는지 판별한다(S210). 만일 학습 기간이 종료되지 않았다면, 다시 학습 패킷을 수집한다(S110).When the individual packet model, the pattern library, and the traffic model are stored, it is determined whether the normal packet learning period is terminated (S210). If the learning period has not ended, the learning packet is collected again (S110).
그러나 학습 기간이 종료되었다면, 저장된 화이트리스트, 개별 패킷 모델, 패턴 라이브러리 및 트래픽 모델을 이용하여 산업 제어 네트워크에서 전송되는 패킷들로부터 비정상 행위를 탐지한다(S300).However, if the learning period is terminated, abnormal behavior is detected from the packets transmitted in the industrial control network using the stored white list, individual packet model, pattern library, and traffic model (S300).
그리고 비정상 행위가 탐지되는지 판별한다(S410). 만일 비정상 행위가 탐지되면, 비정상 행위 탐지 경고를 출력한다(S420). 그러나 비정상 행위가 탐지 되지 않으면, 다시 비정상 행위를 탐지한다(S300). 상기한 바와 같이 산업제어 시스템은 일반적으로 중지없는 가용성을 중요시하므로, 비정상 행위 탐지는 계속적으로 수행된다.Then, it is determined whether an abnormal behavior is detected (S410). If an abnormal behavior is detected, an abnormal behavior detection warning is output (S420). However, if the abnormal behavior is not detected, the abnormal behavior is detected again (S300). As described above, since industrial control systems generally place importance on non-stop availability, abnormal behavior detection is performed continuously.
상기한 학습 패킷을 수집하는 단계(S110)부터 학습 기간이 종료되는지 판별하는 단계(210)까지는 정상 행위 학습 단계로 구분할 수 있으며, 비정상 행위 탐지 단계(S300)부터 비정상 행위 탐지 경고를 출력하는 단계(S420)는 네트워크 검사 단계로 구분할 수 있다.From the collecting of the learning packet (S110) to the
도7 은 도6 의 비정상 행위 탐지 단계를 상세하게 나타낸 도면이다.FIG. 7 is a detailed view illustrating an abnormal behavior detection step of FIG. 6. FIG.
도7 에서 비정상 행위 탐지 단계(S300)는 우선 검사 패킷 수집부(410)가 산업 제어 네트워크에서 전송되는 검사 패킷들을 수집한다(S310). 그리고 화이트리스트 검사부(420)가 검사 패킷 수집부(410)에서 수집된 복수개의 패킷에 대해 화이트리스트 데이터베이스(310)에 저장된 화이트리스트를 이용하여 검사한다. 화이트리스트 검사부(420)는 정상인 패킷들을 전처리부(200)의 공통 전처리부(210)로 전송한다. 이때, 화이트리스트 검사부(420)는 비정상으로 판별된 패킷들을 화이트리스트 업데이트부(430)로 전송하여, 화이트리스트 업데이트를 위해 사용될 수 있도록 할 수 있다.Referring to FIG. 7, in the abnormal behavior detection step S300, the inspection
비정상 행위 탐지 단계(S300)에서 공통 전처리부(210)는 화이트리스트 검사부(420)에서 수신된 복수개의 패킷을 플로우/프로토콜 단위로 해석 및 분류하여, 병렬 전처리부(220)로 전송한다(S340).In the abnormal behavior detection step S300, the
그리고 병렬 전처리부(220)의 개별 패킷 전처리부(221), 패킷 패턴 전처리부(222) 및 트래픽 전처리부(223)는 각각 개별적으로 공통 전처리부에서 해석 및 분류된 패킷을 수신하고, 각각 병렬로 지정된 방식으로 전처리를 수행한다(S340, S350, S360).The individual
즉 비정상 행위 탐지 단계(S300)에서 공통 전처리부(210)와 병렬 전처리부(220)는 정상 행위 학습 단계와 동일한 작업을 수행한다.That is, in the abnormal behavior detection step S300, the
이후 개별 패킷 검사부(441)는 개별 패킷 전처리부(221)는 개별 패킷 전처리부(221)에서 인가되는 개별 패킷을 개별 패킷 모델 저장부(321)에 저장된 개별 패킷 모델과 비교하여 개별 패킷의 비정상도를 검사한다(S370). 그리고 패킷 패턴 검사부(442)는 패킷 패턴 전처리부(222)에서 인가되는 패킷 패턴을 패턴 라이브러리 저장부(322)에 저장된 적어도 하나의 패턴 라이브러리의 패턴 및 빈도수와 비교하여 패킷 패턴의 비정상도를 검사한다(S380). 또한 트래픽 검사부(443)는 트래픽 전처리부(223)로부터 인가되는 데이터 셋을 트래픽 모델 저장부(323)에 저장된 적어도 하나의 트래픽 모델가 비교하여 트래픽 비정상도를 검사한다(S390). 여기서 개별 패킷의 비정상도와 패킷 패턴의 비정상도 및 트래픽 비정상도는 수치화된 점수로 계산될 수 있다.The individual
이후 비정상 행위 판별부(450)가 개별 패킷의 비정상도와 패킷 패턴의 비정상도 및 트래픽 비정상도를 수신하고 기절정된 방식으로 조합하여 최종 비정상 점수를 도출하며, 도출된 최종 비정상 점수가 기설정된 기준값 이상인지 여부에 따라 비정상 행위가 탐지되었는지 여부를 판별한다(S400).Thereafter, the
본 발명에 따른 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.The method according to the present invention can be implemented as a computer-readable code on a computer-readable recording medium. A computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by a computer system is stored. Examples of the recording medium include a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, and the like, and a carrier wave (for example, transmission via the Internet). The computer-readable recording medium may also be distributed over a networked computer system so that computer readable code can be stored and executed in a distributed manner.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is evident that many alternatives, modifications and variations will be apparent to those skilled in the art.
따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.Accordingly, the true scope of the present invention should be determined by the technical idea of the appended claims.
Claims (23)
상기 패킷 학습부에서 획득된 상기 화이트리스트와 상기 적어도 하나의 개별 패킷 모델, 상기 적어도 하나의 패턴 라이브러리 및 상기 적어도 하나의 트래픽 모델을 저장하는 데이터베이스부;
상기 정상 행위 학습 기간 이후, 상기 산업 제어 네트워크에서 전송되는 상기 패킷들을 수집하고, 수집된 상기 패킷들을 상기 데이터베이스부에 저장된 상기 화이트리스트와 상기 적어도 하나의 개별 패킷 모델, 상기 적어도 하나의 패턴 라이브러리 및 상기 적어도 하나의 트래픽 모델과 비교하여 산업 제어 네트워크 상의 비정상 행위를 탐지하는 패킷 검사부;
상기 패킷 학습부 및 상기 패킷 검사부로부터 상기 패킷들을 인가받아 플로우/프로토콜 단위로 해석 및 분류하는 공통 전처리부;
상기 공통 전처리부에서 분류된 패킷들을 인가받아 상기 적어도 하나의 개별 패킷 모델, 상기 적어도 하나의 패턴 라이브러리 및 상기 적어도 하나의 트래픽 모델 각각에 대응할 수 있도록 기설정된 3가지 방식으로 전처리하여, 상기 패킷 학습부 및 상기 패킷 검사부로 전송하는 병렬 전처리부; 를 포함하고,
상기 병렬 전처리부는
상기 공통 전처리부에서 분류되어 인가된 상기 패킷들을 플로우/프로토콜 단위로 나누고, 상기 패킷의 필드 선택 및 정규화하는 개별 패킷 전처리부;
상기 공통 전처리부에서 분류되어 인가된 상기 패킷들을 개별 노드 및 프로토콜 단위로 나누고, 기설정된 패턴 탐색 알고리즘을 이용하여 수신된 상기 패킷들로부터 패킷 패턴을 추출하는 패킷 패턴 전처리부; 및
상기 공통 전처리부에서 분류되어 인가된 상기 패킷들로부터 상기 산업 제어 네트워크의 트래픽 특징을 분석할 수 있도록 기설정된 시간 단위의 패킷 수, 패킷 평균 크기, 프로토콜 별 패킷 개수를 계산하여 데이터 셋을 생성하는 트래픽 전처리부; 를 포함하는 것을 특징으로 하는 비정상 행위 탐지 시스템.Collecting packets transmitted in an industrial control network for a designated normal action learning period, and after normal packet verification for the collected packets, based on a verified normal packet, a white list and at least one individual packet model, A packet learning unit for acquiring a pattern library and at least one traffic model;
A database unit for storing the white list obtained by the packet learning unit, the at least one individual packet model, the at least one pattern library, and the at least one traffic model;
Collecting the packets transmitted from the industrial control network after the normal learning learning period and transmitting the collected packets to the white list, the at least one individual packet model, the at least one pattern library, A packet inspection unit for detecting an abnormal behavior on an industrial control network by comparing with at least one traffic model;
A common pre-processing unit for receiving and analyzing the packets from the packet learning unit and the packet checking unit in flow / protocol units;
Preprocessing the packets classified by the common pre-processing unit in three predetermined ways to correspond to each of the at least one individual packet model, the at least one pattern library, and the at least one traffic model, And a parallel preprocessing unit for transmitting the packet to the packet checking unit. Lt; / RTI >
The parallel pre-
An individual packet preprocessor for dividing the packets classified and applied by the common preprocessor into flow / protocol units and selecting and normalizing the fields of the packets;
A packet pattern preprocessing unit for dividing the packets classified and applied by the common pre-processing unit into individual nodes and protocol units, and extracting a packet pattern from the received packets using a predetermined pattern search algorithm; And
A packet average size and a number of packets per protocol so as to analyze the traffic characteristics of the industrial control network from the packets classified and applied by the common pre-processing unit, A preprocessing unit; Wherein the abnormal behavior detection system comprises:
상기 패킷들 중 임의의 i번째 패킷을 패턴 탐색 시작 위치로 설정하고, 상기 패턴 탐색 시작 위치의 패킷으로부터 패턴 길이(n)을 2부터 1씩 순차적으로 증가시키면서 상기 패킷들의 반복 패턴을 탐색하며, 상기 반복 패턴이 발견된 경우에, 상기 시작 위치 패킷 다음 패킷부터 다시 상기 반복 패턴을 탐색하여, 이전 발견된 패턴이 부분 반복 패턴인지 여부를 판단하는 것을 특징으로 하는 비정상 행위 탐지 시스템.2. The apparatus of claim 1, wherein the packet pattern preprocessing unit
Searching for a repetition pattern of the packets while setting an arbitrary i-th packet among the packets as a pattern search start position and sequentially incrementing a pattern length n from 2 at a pattern search start position by 1 from 2, Wherein when the repeat pattern is found, the repeat pattern is searched again from the next packet after the start position packet to determine whether the previously found pattern is a partial repeat pattern.
상기 정상 행위 학습 기간 동안 상기 산업 제어 네트워크에서 전송되는 상기 패킷들을 학습 패킷으로 수집하는 학습 패킷 수집부;
상기 학습 패킷 수집부에서 수집된 상기 학습 패킷들을 검사하여, 상기 산업 제어 네트워크의 정상 환경에서 획득된 학습 패킷인지 판별하는 패킷 검증부;
상기 패킷 검증부에서 검증된 상기 학습 패킷들을 분석하여 정상 패킷에 대한 규칙을 획득하고, 획득된 규칙들로부터 상기 화이트리스트를 생성하여 상기 데이터베이스부에 저장하는 화이트리스트 생성부; 및
상기 병렬 전처리부에서 전처리된 상기 패킷들을 개별 패킷 단위, 패킷 패턴 및 트래픽 단위로 학습하여 상기 적어도 하나의 개별 패킷 모델, 상기 적어도 하나의 패턴 라이브러리 및 상기 적어도 하나의 트래픽 모델을 획득하여 상기 데이터베이스부에 저장하는 학습 모델 생성부; 를 포함하는 것을 특징으로 하는 비정상 행위 탐지 시스템.2. The apparatus of claim 1, wherein the packet learning unit
A learning packet collecting unit collecting the packets transmitted in the industrial control network as learning packets during the normal activity learning period;
A packet verifying unit for inspecting the learning packets collected by the learning packet collecting unit to determine whether the packet is a learning packet acquired in a normal environment of the industrial control network;
A whitelist generating unit for analyzing the learning packets verified by the packet verifying unit to obtain a rule for a normal packet, generating the whitelist from the obtained rules, and storing the generated whitelist in the database unit; And
The at least one individual packet model, the at least one pattern library, and the at least one traffic model by learning the packets preprocessed by the parallel preprocessing unit in individual packet units, packet patterns, and traffic units, A learning model generation unit for storing the learning model; Wherein the abnormal behavior detection system comprises:
상기 학습 패킷들에서 에러 메시지 수, 충돌 프레임 수, 재전송 패킷 수, 비정상 형식(mal-formed) 패킷 수, 비정상 크기의 패킷 수 중 적어도 하나를 계산하고, 계산된 비정상 패킷의 수의 합 비율이 전체 패킷 대비 기설정된 비율이상이면, 상기 학습 패킷 수집부로 상기 학습 패킷을 다시 수집할 것을 요청하는 것을 특징으로 하는 비정상 행위 탐지 시스템.6. The apparatus of claim 5, wherein the packet verifying unit
Wherein at least one of the number of error messages, the number of collision frames, the number of retransmitted packets, the number of mal-formed packets, and the number of abnormal packets is calculated in the learning packets, And requests the learning packet collecting unit to collect the learning packet again if the ratio of the packet to the packet is greater than a predetermined ratio.
상기 개별 패킷 전처리부로부터 전처리된 복수개의 상기 개별 패킷을 수신하고, 수신된 상기 개별 패킷 각각을 EM(Expectation Maximization) 알고리즘을 적용하여 그룹화하고, 그룹화로 생성된 적어도 하나의 개별 패킷 그룹 각각을 OCSVM(One-class SVM) 알고리즘을 통해 상기 개별 패킷 모델로 생성하는 개별 패킷 학습부;
상기 패킷 패턴 전처리부로부터 전처리되어 추출된 상기 패킷 패턴의 특성과 빈도수를 상기 적어도 하나의 패턴 라이브러리로 생성하는 패턴 라이브러리 생성부; 및
상기 트래픽 전처리부에서 인가되는 기설정된 시간 단위의 상기 데이터 셋 각각을 상기 EM 알고리즘을 적용하여 그룹화 하고 상기 OCSVM 알고리즘을 이용해 상기 적어도 하나의 트래픽 모델로 생성하는 트래픽 학습부; 를 포함하는 것을 특징으로 하는 비정상 행위 탐지 시스템.6. The apparatus of claim 5, wherein the learning model generation unit
A plurality of individual packets preprocessed from the individual packet preprocessing unit, grouping the received individual packets by applying an EM (Expectation Maximization) algorithm, and transmitting each group of at least one individual packet group generated by the grouping to OCSVM An individual packet learning unit for generating the individual packet model through a one-class SVM algorithm;
A pattern library generation unit for generating characteristics and frequency of the packet pattern extracted and extracted from the packet pattern preprocessing unit as the at least one pattern library; And
A traffic learning unit for grouping the data sets of a predetermined time unit applied by the traffic preprocessing unit by applying the EM algorithm and generating the at least one traffic model using the OCSVM algorithm; Wherein the abnormal behavior detection system comprises:
상기 정상 행위 학습 기간 이후, 상기 산업 제어 네트워크에서 전송되는 상기 패킷들을 수집하는 검사 패킷 수집부;
상기 검사 패킷 수집부에서 수집된 상기 패킷들에 대해 상기 데이터베이스부에 저장된 상기 화이트리스트를 이용하여 검사하고, 정상 패킷들을 상기 전처리부로 전송하는 화이트리스트 검사부;
상기 병렬 전처리부에서 전처리된 상기 패킷들을 상기 데이터베이스부에 저장된 상기 적어도 하나의 개별 패킷 모델, 상기 적어도 하나의 패턴 라이브러리 및 상기 적어도 하나의 트래픽 모델과 비교하여 비정상도를 검사하는 검사부; 및
상기 비정상도에 따라 상기 산업 제어 네트워크 상에 비정상 행위가 발생하였는지 여부를 판별하는 비정상 행위 판별부; 를 포함하는 것을 특징으로 하는 비정상 행위 탐지 시스템.8. The apparatus of claim 7, wherein the packet inspection unit
An inspection packet collecting unit for collecting the packets transmitted from the industrial control network after the normal learning learning period;
A whitelist checking unit which inspects the packets collected by the inspection packet collecting unit using the white list stored in the database unit and transmits normal packets to the preprocessing unit;
An inspection unit for comparing the packets preprocessed by the parallel preprocessing unit with the at least one individual packet model stored in the database unit, the at least one pattern library, and the at least one traffic model to check an abnormality; And
An abnormal behavior discrimination unit for discriminating whether an abnormal behavior has occurred on the industrial control network according to the abnormality; Wherein the abnormal behavior detection system comprises:
상기 개별 패킷 전처리부에서 인가되는 상기 개별 패킷을 상기 데이터베이스부에 저장된 상기 적어도 하나의 개별 패킷 모델과 비교하여, 가장 유사한 개별 패킷 모델과의 차이를 개별 패킷 비정상도로 계산하는 개별 패킷 검사부;
상기 패킷 패턴 전처리부에서 인가되는 상기 패킷 패턴을 상기 데이터베이스부에 저장된 상기 적어도 하나의 패턴 라이브러리의 패턴 및 빈도수와 비교하여 기저장된 상기 적어도 하나의 패턴 라이브러리와의 패턴 차이를 패킷 패턴 비정상도로 계산하는 패킷 패턴 검사부; 및
상기 트래픽 전처리부로부터 인가되는 상기 데이터 셋을 트래픽 모델 저장부에 저장된 적어도 하나의 트래픽 모델 중 가장 유사한 트래픽 모델과의 차이를 트래픽 비정상도로 계산하는 트래픽 검사부; 를 포함하는 것을 특징으로 하는 비정상 행위 탐지 시스템.The apparatus of claim 8, wherein the checking unit
An individual packet checking unit for comparing the individual packet applied by the individual packet preprocessing unit with the at least one individual packet model stored in the database unit and calculating a difference from the most similar individual packet model as an individual packet abnormality;
Processing unit for comparing the packet pattern applied by the packet pattern preprocessing unit with the pattern and the frequency of the at least one pattern library stored in the database unit, and calculating a pattern difference between the at least one pattern library and the previously stored pattern library, A pattern checking unit; And
A traffic checker for calculating the difference between the data set received from the traffic preprocessing unit and the most similar traffic model among at least one traffic model stored in the traffic model storage unit, Wherein the abnormal behavior detection system comprises:
수치화된 상기 개별 패킷 비정상도와 상기 패킷 패턴 비정상도 및 상기 트래픽 비정상도를 수신하여 기설정된 방식으로 계산하여 최종 비정상 점수를 산출하고, 상기 최종 비정상 기설정된 기준값 이상이면 상기 비정상 행위가 탐지된 것으로 판별하는 것을 특징으로 하는 비정상 행위 탐지 시스템.The apparatus of claim 9, wherein the abnormal behavior determiner
The packet abnormality, and the traffic abnormality are calculated and calculated in a predetermined manner to calculate a final abnormal score, and when the final abnormality is equal to or greater than the preset reference value, the abnormal behavior is determined to have been detected The abnormal behavior detection system comprising:
상기 화이트리스트 검사부에서 비정상으로 판별된 상기 패킷들을 수신 및 분석하고, 상기 데이터베이스부에 저장된 상기 화이트리스트에 포함할지 여부를 판별하여 상기 화이트리스트를 업데이트 하는 화이트리스트 업데이트부; 를 더 포함하는 것을 특징으로 하는 비정상 행위 탐지 시스템.9. The apparatus of claim 8, wherein the packet inspection unit
A whitelist updating unit for receiving and analyzing the packets determined to be abnormal by the whitelist checking unit, determining whether to include the packets in the whitelist stored in the database unit, and updating the whitelist; Wherein the abnormal behavior detection system further comprises:
상기 화이트리스트 생성부에서 생성된 상기 화이트리스트를 수신하여 저장하고, 저장된 상기 화이트리스트를 상기 화이트리스트 검사부로 제공하는 화이트리스트 데이터베이스; 및
상기 학습 모델 생성부에서 생성된 상기 적어도 하나의 개별 패킷 모델, 상기 적어도 하나의 패턴 라이브러리 및 상기 적어도 하나의 트래픽 모델을 수신하고, 저장된 상기 적어도 하나의 개별 패킷 모델, 상기 적어도 하나의 패턴 라이브러리 및 상기 적어도 하나의 트래픽 모델를 상기 검사부로 제공하는 검사 데이터베이스; 를 포함하는 것을 특징으로 하는 비정상 행위 탐지 시스템.10. The apparatus of claim 9, wherein the database unit
A white list database for receiving and storing the white list generated by the white list generating unit and providing the stored white list to the white list checking unit; And
The at least one individual packet model, the at least one pattern library, and the at least one traffic model generated by the learning model generation unit, and storing the at least one individual packet model, the at least one pattern library, An inspection database for providing at least one traffic model to the inspection unit; Wherein the abnormal behavior detection system comprises:
상기 패킷 학습부가 기지정된 정상 행위 학습 기간 동안 산업 제어 네트워크에서 전송되는 패킷들을 수집하고, 상기 수집된 패킷들에 대해 정상 패킷 검증 후, 검증된 정상 패킷을 기반으로 화이트리스트와 적어도 하나의 개별 패킷 모델, 적어도 하나의 패턴 라이브러리 및 적어도 하나의 트래픽 모델을 획득하여 상기 데이터베이스부에 저장하는 정상 행위 학습 단계; 및
상기 패킷 검사부가 상기 정상 행위 학습 기간 이후, 상기 산업 제어 네트워크에서 전송되는 상기 패킷들을 수집하고, 수집된 상기 패킷들을 상기 데이터베이스부에 저장된 상기 화이트리스트와 상기 적어도 하나의 개별 패킷 모델, 상기 적어도 하나의 패턴 라이브러리 및 상기 적어도 하나의 트래픽 모델과 비교하여 산업 제어 네트워크 상의 비정상 행위를 탐지하는 네트워크 검사 단계; 를 포함하고,
상기 정상 행위 학습 단계는
상기 패킷 학습부가 상기 정상 행위 학습 기간 동안 산업 제어 네트워크에서 전송되는 패킷들을 수집하는 단계;
상기 패킷 학습부가 수집된 상기 패킷들을 검사하여, 상기 산업 제어 네트워크의 정상 환경에서 획득된 패킷들인지 판별하는 단계;
상기 정상 환경에서 획득된 패킷들인 것으로 판별되면, 상기 패킷 학습부가 패킷들을 분석하여 정상 패킷에 대한 규칙을 획득하고, 획득된 규칙들로부터 상기 화이트리스트를 생성하여 상기 데이터베이스부에 저장하는 단계;
상기 전처리부가 상기 패킷 학습부로부터 상기 정상 환경에서 획득된 것으로 판별된 상기 패킷들을 인가받아 플로우/프로토콜 단위로 해석 및 분류하는 단계;
상기 전처리부가 분류된 상기 패킷들을 플로우/프로토콜 단위로 나누고, 상기 패킷의 필드 선택 및 정규화하는 개별 패킷 전처리 단계;
상기 전처리부가 분류된 상기 패킷들을 개별 노드 및 프로토콜 단위로 나누고, 기설정된 패턴 탐색 알고리즘을 이용하여 수신된 상기 패킷들로부터 패킷 패턴을 추출하는 패킷 패턴 전처리 단계;
상기 전처리부가 분류된 상기 패킷들로부터 상기 산업 제어 네트워크의 트래픽 특징을 분석할 수 있도록 기설정된 시간 단위의 패킷 수, 패킷 평균 크기, 프로토콜 별 패킷 개수를 계산하여 데이터 셋을 생성하는 트래픽 전처리 단계; 및
상기 패킷 학습부가 전처리된 상기 패킷들을 수신하고, 개별 패킷 단위, 패킷 패턴 및 트래픽 단위로 학습하여 상기 적어도 하나의 개별 패킷 모델, 상기 적어도 하나의 패턴 라이브러리 및 상기 적어도 하나의 트래픽 모델을 획득하여 상기 데이터베이스부에 저장하는 단계; 를 포함하는 것을 특징으로 하는 비정상 행위 탐지 방법.A method for detecting abnormal behavior in an abnormal behavior detection system including a packet learning unit, a database unit, a packet inspection unit, and a preprocessor,
Wherein the packet learning unit collects packets transmitted in an industrial control network for a predetermined normal action learning period, and after a normal packet verification for the collected packets, generates a white list and at least one individual packet model Acquiring at least one pattern library and at least one traffic model, and storing the at least one traffic model in the database unit; And
Wherein the packet inspection unit collects the packets transmitted in the industrial control network after the normal behavior learning period and transmits the collected packets to the white list and the at least one individual packet model stored in the database unit, A network inspection step of detecting an abnormal behavior on an industrial control network in comparison with a pattern library and the at least one traffic model; Lt; / RTI >
The normal action learning step
The packet learning unit collecting packets transmitted in an industrial control network during the normal behavior learning period;
Inspecting the packets collected by the packet learning unit to determine whether they are packets obtained in a normal environment of the industrial control network;
Analyzing packets to acquire rules for a normal packet, generating the whitelist from the obtained rules, and storing the generated whitelist in the database unit if it is determined that the packets are acquired in the normal environment;
Analyzing and classifying the packets determined as being acquired in the normal environment from the packet learning unit in a flow / protocol unit;
An individual packet preprocessing step of dividing the packets classified by the preprocessing unit into flow / protocol units and selecting and normalizing the fields of the packets;
A preprocessing step of dividing the packets classified by the preprocessing unit into individual nodes and protocol units and extracting a packet pattern from the received packets using a predetermined pattern search algorithm;
A preprocessing step of generating a data set by calculating a packet number, a packet average size, and a number of packets per protocol in units of a predetermined time so as to analyze a traffic characteristic of the industrial control network from the packets classified by the preprocessor; And
Wherein the packet learning unit receives the preprocessed packets and learns them in individual packet units, packet patterns and traffic units to obtain the at least one individual packet model, the at least one pattern library, and the at least one traffic model, ; And detecting the abnormal behavior.
상기 패킷들 중 임의의 i번째 패킷을 패턴 탐색 시작 위치로 설정하는 단계;
상기 패턴 탐색 시작 위치의 패킷으로부터 패턴 길이(n)을 2부터 1씩 순차적으로 증가시키면서 상기 패킷들의 반복 패턴을 탐색하는 단계; 및
상기 반복 패턴이 발견되면, 상기 시작 위치 패킷 다음 패킷부터 다시 상기 반복 패턴을 탐색하여, 이전 발견된 패턴이 부분 반복 패턴인지 여부를 판단하는 단계; 를 포함하는 것을 특징으로 하는 비정상 행위 탐지 방법.14. The method of claim 13, wherein the packet pattern preprocessing step
Setting an arbitrary i-th packet among the packets as a pattern search start position;
Searching for a repetition pattern of the packets sequentially increasing the pattern length (n) from 2 to 1 at the pattern search start position; And
If the repeat pattern is found, searching for the repeat pattern again from the packet following the start position packet to determine whether the previously found pattern is a partial repeat pattern; And detecting the abnormal behavior.
상기 개별 패킷 전처리 단계에서 전처리된 복수개의 상기 개별 패킷을 수신하고, 수신된 상기 개별 패킷 각각을 EM(Expectation Maximization) 알고리즘을 적용하여 그룹화하고, 그룹화로 생성된 적어도 하나의 개별 패킷 그룹 각각을 OCSVM(One-class SVM) 알고리즘을 통해 상기 개별 패킷 모델로 생성하는 단계;
상기 패킷 패턴 전처리 단계에서 전처리되어 추출된 상기 패킷 패턴의 특성과 빈도수를 상기 적어도 하나의 패턴 라이브러리로 생성하는 단계; 및
상기 트래픽 전처리 단계에서 획득된 상기 데이터 셋 각각을 상기 EM 알고리즘을 적용하여 그룹화 하고 상기 OCSVM 알고리즘을 이용해 상기 적어도 하나의 트래픽 모델로 생성하는 단계; 를 포함하는 것을 특징으로 하는 비정상 행위 탐지 방법.14. The method of claim 13, wherein the obtaining and storing the at least one traffic model in the database comprises:
A plurality of the individual packets preprocessed in the individual packet preprocessing step, grouping each of the individual packets received by applying an EM (Expectation Maximization) algorithm, and transmitting each group of at least one individual packet group generated by the grouping to OCSVM One-class SVM) algorithm;
Generating a characteristic and a frequency of the packet pattern extracted and extracted in the packet pattern preprocessing step as the at least one pattern library; And
Grouping the data sets obtained in the traffic preprocessing step by applying the EM algorithm and generating the at least one traffic model using the OCSVM algorithm; And detecting the abnormal behavior.
상기 정상 행위 학습 기간 이후, 상기 산업 제어 네트워크에서 전송되는 상기 패킷들을 수집하는 단계;
수집된 상기 패킷들에 대해 상기 데이터베이스부에 저장된 상기 화이트리스트를 이용하여 검사하는 단계;
상기 화이트리스트를 이용하여 검사된 상기 패킷들을 상기 전처리부가 수신하여 기설정된 방식으로 전처리하는 단계;
전처리된 상기 패킷들을 상기 데이터베이스부에 저장된 상기 적어도 하나의 개별 패킷 모델, 상기 적어도 하나의 패턴 라이브러리 및 상기 적어도 하나의 트래픽 모델과 비교하여 비정상도를 검사하는 단계; 및
상기 비정상도에 따라 상기 산업 제어 네트워크 상에 비정상 행위가 발생하였는지 여부를 판별하는 단계; 를 포함하는 것을 특징으로 하는 비정상 행위 탐지 방법.14. The method of claim 13,
Collecting the packets transmitted in the industrial control network after the normal behavior learning period;
Inspecting the collected packets using the whitelist stored in the database unit;
Receiving the packets inspected using the whitelist, and preprocessing the packets in a predetermined manner;
Comparing the preprocessed packets with the at least one individual packet model stored in the database unit, the at least one pattern library, and the at least one traffic model to check for anomalies; And
Determining whether an abnormal behavior has occurred on the industrial control network according to the abnormality; And detecting the abnormal behavior.
상기 패킷 검사부로부터 상기 패킷들을 인가받아 플로우/프로토콜 단위로 해석 및 분류하는 단계; 및
분류된 상기 패킷들을 인가받아 상기 적어도 하나의 개별 패킷 모델, 상기 적어도 하나의 패턴 라이브러리 및 상기 적어도 하나의 트래픽 모델 각각에 대응할 수 있도록 기설정된 3가지 방식으로 전처리하여, 상기 패킷 검사부로 전송하는 단계; 를 포함하는 것을 특징으로 하는 비정상 행위 탐지 방법.20. The method of claim 19, wherein the pre-
Analyzing and classifying the packets in a flow / protocol unit by receiving the packets from the packet checking unit; And
Preprocessing the classified packets in three predetermined ways so as to correspond to each of the at least one individual packet model, the at least one pattern library, and the at least one traffic model, and transmitting the packets to the packet checking unit; And detecting the abnormal behavior.
상기 패킷들을 플로우/프로토콜 단위로 나누고, 상기 패킷의 필드 선택 및 정규화하는 개별 패킷 전처리 단계;
상기 패킷들을 개별 노드 및 프로토콜 단위로 나누고, 기설정된 패턴 탐색 알고리즘을 이용하여 수신된 상기 패킷들로부터 패킷 패턴을 추출하는 패킷 패턴 전처리 단계; 및
상기 패킷들로부터 상기 산업 제어 네트워크의 트래픽 특징을 분석할 수 있도록 기설정된 시간 단위의 패킷 수, 패킷 평균 크기, 프로토콜 별 패킷 개수를 계산하여 데이터 셋을 생성하는 트래픽 전처리 단계; 를 포함하는 것을 특징으로 하는 비정상 행위 탐지 방법.The method of claim 20, wherein the step of transmitting to the packet checking unit
An individual packet preprocessing step of dividing the packets into flow / protocol units and selecting and normalizing the fields of the packets;
A packet pattern preprocessing step of dividing the packets into individual nodes and protocol units and extracting a packet pattern from the received packets using a predetermined pattern search algorithm; And
A traffic preprocessing step of generating a data set by calculating a packet number, a packet average size, and a number of packets per protocol in units of a predetermined time so as to analyze a traffic characteristic of the industrial control network from the packets; And detecting the abnormal behavior.
상기 개별 패킷을 상기 데이터베이스부에 저장된 상기 적어도 하나의 개별 패킷 모델과 비교하여, 가장 유사한 개별 패킷 모델과의 차이를 개별 패킷 비정상도로 계산하는 단계;
상기 패킷 패턴을 상기 데이터베이스부에 저장된 상기 적어도 하나의 패턴 라이브러리의 패턴 및 빈도수와 비교하여 기저장된 상기 적어도 하나의 패턴 라이브러리와의 패턴 차이를 패킷 패턴 비정상도로 계산하는 단계; 및
상기 데이터 셋을 트래픽 모델 저장부에 저장된 적어도 하나의 트래픽 모델 중 가장 유사한 트래픽 모델과의 차이를 트래픽 비정상도로 계산하는 단계; 를 포함하는 것을 특징으로 하는 비정상 행위 탐지 방법.22. The method of claim 21, wherein the step of checking for abnormalities comprises:
Comparing the individual packet with the at least one individual packet model stored in the database section to calculate a difference from the most similar individual packet model as a separate packet abnormality;
Comparing the packet pattern with a pattern and a frequency of the at least one pattern library stored in the database unit, and calculating a pattern difference between the at least one pattern library and the previously stored pattern library; And
Calculating the difference between the data set and the most similar traffic model among at least one traffic model stored in the traffic model storage unit as a traffic abnormality; And detecting the abnormal behavior.
수치화된 상기 개별 패킷 비정상도와 상기 패킷 패턴 비정상도 및 상기 트래픽 비정상도를 수신하여 기설정된 방식으로 계산하여 최종 비정상 점수를 산출하는 단계; 및
상기 최종 비정상 기설정된 기준값 이상이면 상기 비정상 행위가 탐지된 것으로 판별하는 단계; 를 포함하는 것을 특징으로 하는 비정상 행위 탐지 방법.23. The method of claim 22, wherein the step of determining whether the abnormal behavior has occurred
Receiving the quantified individual packet abnormality, the packet pattern abnormality, and the traffic abnormality, and calculating the final abnormality score by a predetermined method; And
Determining that the abnormal behavior is detected if the final abnormal state is equal to or greater than a preset reference value; And detecting the abnormal behavior.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140078397A KR101538709B1 (en) | 2014-06-25 | 2014-06-25 | Anomaly detection system and method for industrial control network |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140078397A KR101538709B1 (en) | 2014-06-25 | 2014-06-25 | Anomaly detection system and method for industrial control network |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101538709B1 true KR101538709B1 (en) | 2015-07-29 |
Family
ID=53876545
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140078397A KR101538709B1 (en) | 2014-06-25 | 2014-06-25 | Anomaly detection system and method for industrial control network |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101538709B1 (en) |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170079858A (en) | 2015-12-31 | 2017-07-10 | 다운정보통신(주) | Method and Apparatus for Control Signals Verifying Integrity Using Control Signals Analysis in Automatic Control System |
KR20170127849A (en) * | 2016-05-13 | 2017-11-22 | 한국전자통신연구원 | Method for securiting control system using whitelist and system for the same |
KR101860395B1 (en) * | 2017-06-23 | 2018-07-02 | 한국남동발전 주식회사 | Apparatus and method for detecting abnormal behavior of industrial control system based on whitelist for nonstandard protocol |
KR20190046018A (en) * | 2017-10-25 | 2019-05-07 | 한국전자통신연구원 | Method of detecting abnormal behavior on the network and apparatus using the same |
KR20190083178A (en) * | 2018-01-03 | 2019-07-11 | 주식회사 윈스 | Device and method for continuous signal traffic detection of network traffic through hierarchical structure learning |
KR20190121483A (en) * | 2018-04-18 | 2019-10-28 | 롯데정보통신 주식회사 | Apparatus and method of blocking malicious code based on whitelist |
WO2019240020A1 (en) * | 2018-06-13 | 2019-12-19 | パナソニックIpマネジメント株式会社 | Improper communication detector, improper communication detection method, and manufacturing system |
KR102097305B1 (en) | 2018-12-28 | 2020-05-27 | (주)앤앤에스피 | Network security monitoring method and system for smart manufacturing on ethernet/ip-cip industrial network environments |
KR20200098838A (en) | 2019-02-13 | 2020-08-21 | 다운정보통신(주) | Control system anomaly detection system and its method by analyzing the device control signal packet and its status |
WO2020241959A1 (en) * | 2019-05-31 | 2020-12-03 | 주식회사 포스코아이씨티 | System for detecting abnormal control data |
KR102190693B1 (en) * | 2019-12-02 | 2020-12-14 | 주식회사 이지스텍 | Adaptive security profile-based network security apparatus and method for remote monitoring of energy storage systems |
WO2021107259A1 (en) * | 2019-11-29 | 2021-06-03 | (주) 앤앤에스피 | Method and system for iacs packet flow security monitoring in association with network packet whitelist |
KR20210092998A (en) | 2020-01-17 | 2021-07-27 | 한림대학교 산학협력단 | Preprocessing method, feature importance measurement method and feature selection method, apparatus and program for acquiring failure prediction model in industrial internet of things (iiot) environment |
KR20210092999A (en) | 2020-01-17 | 2021-07-27 | 한림대학교 산학협력단 | Method, apparatus and program for acquiring failure prediction model in industrial internet of things (iiot) environment |
CN113205312A (en) * | 2021-05-13 | 2021-08-03 | 深圳供电局有限公司 | Power consumer profile management method and system, computer device and storage medium |
KR102361081B1 (en) * | 2020-08-26 | 2022-02-11 | 김광희 | Method and system for managing kiosk based on programmable logic controller |
KR20220106335A (en) * | 2021-01-22 | 2022-07-29 | 아주대학교산학협력단 | Method and Apparatus for Anomaly Detection of Communication in Industrial Control System Environment |
KR20230071376A (en) * | 2021-11-16 | 2023-05-23 | 주식회사맥데이타 | An apparatus for network monitoring and method thereof |
KR20230071308A (en) * | 2021-11-16 | 2023-05-23 | 타이아(주) | Detecting method of anomaly pattern |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070068845A (en) * | 2005-12-27 | 2007-07-02 | 삼성전자주식회사 | Method and apparatus for network intrusion detection |
KR20130034773A (en) * | 2011-09-29 | 2013-04-08 | 한국전력공사 | Apparatus and method for monitoring network using whitelist |
-
2014
- 2014-06-25 KR KR1020140078397A patent/KR101538709B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070068845A (en) * | 2005-12-27 | 2007-07-02 | 삼성전자주식회사 | Method and apparatus for network intrusion detection |
KR20130034773A (en) * | 2011-09-29 | 2013-04-08 | 한국전력공사 | Apparatus and method for monitoring network using whitelist |
Cited By (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101880162B1 (en) * | 2015-12-31 | 2018-08-16 | 다운정보통신(주) | Method for Control Signals Verifying Integrity Using Control Signals Analysis in Automatic Control System |
KR20170079858A (en) | 2015-12-31 | 2017-07-10 | 다운정보통신(주) | Method and Apparatus for Control Signals Verifying Integrity Using Control Signals Analysis in Automatic Control System |
KR20170127849A (en) * | 2016-05-13 | 2017-11-22 | 한국전자통신연구원 | Method for securiting control system using whitelist and system for the same |
KR101871406B1 (en) * | 2016-05-13 | 2018-06-26 | 한국전자통신연구원 | Method for securiting control system using whitelist and system for the same |
KR101860395B1 (en) * | 2017-06-23 | 2018-07-02 | 한국남동발전 주식회사 | Apparatus and method for detecting abnormal behavior of industrial control system based on whitelist for nonstandard protocol |
KR20190046018A (en) * | 2017-10-25 | 2019-05-07 | 한국전자통신연구원 | Method of detecting abnormal behavior on the network and apparatus using the same |
KR102028093B1 (en) * | 2017-10-25 | 2019-10-02 | 한국전자통신연구원 | Method of detecting abnormal behavior on the network and apparatus using the same |
KR102037192B1 (en) * | 2018-01-03 | 2019-10-29 | 주식회사 윈스 | Device and method for continuous signal traffic detection of network traffic through hierarchical structure learning |
KR20190083178A (en) * | 2018-01-03 | 2019-07-11 | 주식회사 윈스 | Device and method for continuous signal traffic detection of network traffic through hierarchical structure learning |
KR20190121483A (en) * | 2018-04-18 | 2019-10-28 | 롯데정보통신 주식회사 | Apparatus and method of blocking malicious code based on whitelist |
KR102079304B1 (en) * | 2018-04-18 | 2020-02-19 | 롯데정보통신 주식회사 | Apparatus and method of blocking malicious code based on whitelist |
WO2019240020A1 (en) * | 2018-06-13 | 2019-12-19 | パナソニックIpマネジメント株式会社 | Improper communication detector, improper communication detection method, and manufacturing system |
JPWO2019240020A1 (en) * | 2018-06-13 | 2021-06-24 | パナソニックIpマネジメント株式会社 | Fraudulent communication detection device, fraudulent communication detection method and manufacturing system |
JP7378089B2 (en) | 2018-06-13 | 2023-11-13 | パナソニックIpマネジメント株式会社 | Unauthorized communication detection device, unauthorized communication detection method, and manufacturing system |
KR102097305B1 (en) | 2018-12-28 | 2020-05-27 | (주)앤앤에스피 | Network security monitoring method and system for smart manufacturing on ethernet/ip-cip industrial network environments |
KR20200098838A (en) | 2019-02-13 | 2020-08-21 | 다운정보통신(주) | Control system anomaly detection system and its method by analyzing the device control signal packet and its status |
WO2020241959A1 (en) * | 2019-05-31 | 2020-12-03 | 주식회사 포스코아이씨티 | System for detecting abnormal control data |
WO2021107259A1 (en) * | 2019-11-29 | 2021-06-03 | (주) 앤앤에스피 | Method and system for iacs packet flow security monitoring in association with network packet whitelist |
KR102190693B1 (en) * | 2019-12-02 | 2020-12-14 | 주식회사 이지스텍 | Adaptive security profile-based network security apparatus and method for remote monitoring of energy storage systems |
KR20210092998A (en) | 2020-01-17 | 2021-07-27 | 한림대학교 산학협력단 | Preprocessing method, feature importance measurement method and feature selection method, apparatus and program for acquiring failure prediction model in industrial internet of things (iiot) environment |
KR20210092999A (en) | 2020-01-17 | 2021-07-27 | 한림대학교 산학협력단 | Method, apparatus and program for acquiring failure prediction model in industrial internet of things (iiot) environment |
KR102361081B1 (en) * | 2020-08-26 | 2022-02-11 | 김광희 | Method and system for managing kiosk based on programmable logic controller |
KR20220106335A (en) * | 2021-01-22 | 2022-07-29 | 아주대학교산학협력단 | Method and Apparatus for Anomaly Detection of Communication in Industrial Control System Environment |
KR102541309B1 (en) * | 2021-01-22 | 2023-06-07 | 아주대학교산학협력단 | Method and Apparatus for Anomaly Detection of Communication in Industrial Control System Environment |
CN113205312A (en) * | 2021-05-13 | 2021-08-03 | 深圳供电局有限公司 | Power consumer profile management method and system, computer device and storage medium |
KR20230071376A (en) * | 2021-11-16 | 2023-05-23 | 주식회사맥데이타 | An apparatus for network monitoring and method thereof |
KR20230071308A (en) * | 2021-11-16 | 2023-05-23 | 타이아(주) | Detecting method of anomaly pattern |
KR102599524B1 (en) * | 2021-11-16 | 2023-11-08 | 주식회사 맥데이타 | An apparatus for network monitoring and method thereof |
KR102646586B1 (en) * | 2021-11-16 | 2024-03-12 | 타이아(주) | Detecting method of anomaly pattern |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101538709B1 (en) | Anomaly detection system and method for industrial control network | |
CN109600363B (en) | Internet of things terminal network portrait and abnormal network access behavior detection method | |
US9860278B2 (en) | Log analyzing device, information processing method, and program | |
US8850582B2 (en) | Security monitoring system and security monitoring method | |
Shirazi et al. | Evaluation of anomaly detection techniques for scada communication resilience | |
CN110909811A (en) | OCSVM (online charging management system) -based power grid abnormal behavior detection and analysis method and system | |
Jalili et al. | Detection of distributed denial of service attacks using statistical pre-processor and unsupervised neural networks | |
CN112953971B (en) | Network security flow intrusion detection method and system | |
CN111262722A (en) | Safety monitoring method for industrial control system network | |
CN103748853A (en) | Method and system for classifying a protocol message in a data communication network | |
CN116781430B (en) | Network information security system and method for gas pipe network | |
CN104899513B (en) | A kind of datagram detection method of industrial control system malicious data attack | |
KR20080066653A (en) | Method and apparatus for whole-network anomaly diagnosis and methods to detect and classify network anomalies using traffic feature distributions | |
KR102001813B1 (en) | Apparatus and method for detecting abnormal behavior of nonstandard protocol payload using deep neural network algorithm | |
Lin et al. | Timing patterns and correlations in spontaneous {SCADA} traffic for anomaly detection | |
KR101692982B1 (en) | Automatic access control system of detecting threat using log analysis and automatic feature learning | |
SG184120A1 (en) | Method of identifying a protocol giving rise to a data flow | |
KR101281456B1 (en) | Apparatus and method for anomaly detection in SCADA network using self-similarity | |
CN117319047A (en) | Network path analysis method and system based on network security anomaly detection | |
CN105827611B (en) | A kind of distributed denial of service network attack detecting method and system based on fuzzy reasoning | |
US11297082B2 (en) | Protocol-independent anomaly detection | |
JP2020014061A (en) | Information processing device, communication inspection method, and program | |
Kuznetsov et al. | Variance analysis of networks traffic for intrusion detection in smart grids | |
CN113645215A (en) | Method, device, equipment and storage medium for detecting abnormal network traffic data | |
Pan et al. | Anomaly behavior analysis for building automation systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20180704 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20190702 Year of fee payment: 5 |