KR101538709B1 - Anomaly detection system and method for industrial control network - Google Patents

Anomaly detection system and method for industrial control network Download PDF

Info

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
Application number
KR1020140078397A
Other languages
Korean (ko)
Inventor
손태식
유형욱
Original Assignee
아주대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 아주대학교산학협력단 filed Critical 아주대학교산학협력단
Priority to KR1020140078397A priority Critical patent/KR101538709B1/en
Application granted granted Critical
Publication of KR101538709B1 publication Critical patent/KR101538709B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements 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

Disclosed are a system and a method for detecting an abnormal behavior for an industry control network. The system comprises: a packet learning portion for collecting packets which are transferred from the industry control network during a pre-designated normal behavior learning period, verifying a normal packet for the collected packets, and acquiring 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 packet; a database portion for storing the white list, the individual packet model, the pattern library, and the traffic model; a packet examination portion for collecting packets which are transferred from the industry control network after the normal behavior learning period, comparing the collected packets with the white list, the individual packet model, the pattern library, and the traffic model stored in the database portion, and detecting an abnormal behavior on the industry control network; and a preprocessing portion for receiving the packets which are collected in the packet learning portion and the packet examination portion, and preprocessing the collected packets in a preset method, and transferring the collected packets to the packet learning portion and the packet examination portion.

Description

산업제어 네트워크를 위한 비정상 행위 탐지 시스템 및 방법{ANOMALY DETECTION SYSTEM AND METHOD FOR INDUSTRIAL CONTROL NETWORK}TECHNICAL FIELD [0001] The present invention relates to an abnormal behavior detection system and method for an industrial control network,

본 발명은 산업제어 네트워크를 위한 비정상 행위 탐지 시스템 및 방법에 관한 것으로, 특히 기계 학습 기법에 기반한 산업제어 네트워크를 위한 비정상 행위 탐지 시스템 및 방법에 관한 것이다.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 packet learning unit 100, a preprocessing unit 200, a database unit 300, and a packet checking unit 400.

패킷 학습부(100)는 비정상 행위 탐지 시스템이 비정상 행위를 탐지하기 위한 근거로서 정상 행위를 분석하여 정상 행위 정보를 획득하고, 획득된 정상 행위 정보를 데이터베이스부(300)에 저장하기 위해 구비된다.The packet learning unit 100 is provided for analyzing a normal behavior as a basis for detecting an abnormal behavior and acquiring normal behavior information and storing the obtained normal behavior information in the database unit 300.

전처리부(200)는 비정상 행위 탐지 시스템으로 인가되는 복수개의 패킷들에 대해 패킷 학습부(100) 및 패킷 검사부(400)에서 분석하기 용이하도록 전처리 작업을 수행한다.The preprocessing unit 200 performs a preprocessing operation to facilitate analysis in the packet learning unit 100 and the packet inspection unit 400 for a plurality of packets applied to the abnormal behavior detection system.

데이터베이스부(300)는 패킷 학습부(100)에서 획득한 정상 행위 정보를 저장하고, 패킷 검사부(400)가 패킷에 대한 비정상 행위 여부를 탐지하고자 할 때, 패킷 검사부(400)로 정상 행위 정보를 제공하여 패킷의 비정상 행위 여부를 판별 할 수 있도록 한다.The database unit 300 stores the normal behavior information acquired by the packet learning unit 100. When the packet inspection unit 400 detects abnormal behavior of a packet, the packet inspection unit 400 transmits normal behavior information So that it is possible to determine whether or not the packet is abnormal.

패킷 검사부(400)는 산업 제어 네트워크를 통해 복수개의 패킷이 수신되면, 수신된 복수개의 패킷을 데이터베이스부(300)에 저장된 정상 행위 정보에 대응하는지 비교 분석함으로써, 수신된 패킷들의 정상 여부를 판별한다.When a plurality of packets are received through the industrial control network, the packet checking unit 400 determines whether the received packets are normal by comparing the received plurality of packets with the normal behavior information stored in the database unit 300 .

도2 의 비정상 행위 탐지 시스템의 각 구성을 다시 상세하게 살펴보면, 우선 패킷 학습부(100)는 학습 패킷 수집부(110), 패킷 검증부(120), 화이트리스트 생성부(130) 및 학습 모델 생성부(140)를 구비한다.2, the packet learning unit 100 includes a learning packet collection unit 110, a packet verification unit 120, a whitelist generation unit 130, and a learning model generation unit 130. [ (140).

학습 패킷 수집부(110)는 비정상 행위 탐지 시스템의 정상 행위 학습 기간 동안 산업 제어 네트워크에서 전송되는 각종 패킷들을 학습 패킷으로 수집한다. 정상 행위 학습 기간은 비정상 행위 탐지 시스템이 적용되는 분야에 따라 다양하게 설정될 수 있으며, 변전소 네트워크에서는 정상 행위 학습의 정확도를 위해 일예로 4주 이상의 기간으로 설정될 수 있다. 여기서 학습 패킷은 미리 정상 패킷으로 검증되지 않은 패킷이어도 무방하며, 정상 행위 학습 기간 동안 실제 산업 제어 네트워크에서 전송되는 패킷을 이용할 수 있다. 이는 산업 제어 네트워크가 일반 IT 환경 네트워크와 달리 대부분 트래픽 발생이 규칙적이고, 제한된 프로토콜만을 사용하므로, 특수한 경우를 제외하면 거의 모든 패킷이 정상 패킷이고 학습 패킷으로 사용할 수 있기 때문이다. 또한 실제 사용되고 있는 복수개의 패킷을 기반으로 정상 행위를 학습하면, 이후 높은 정확도로 비정상 패킷을 검출할 수 있다는 장점이 있다.The learning packet collection unit 110 collects various packets transmitted in the industrial control network as learning packets during the normal behavior learning period of the abnormal behavior detection system. The normal behavior learning period can be variously set according to the field to which the abnormal behavior detection system is applied, and in the substation network, it can be set to a period of 4 weeks or more as an example for the accuracy of normal action learning. Here, the learning packet may be a packet that has not yet been verified as a normal packet, and the packet transmitted in the actual industrial control network may be used during the normal behavior learning period. This is because, unlike the general IT environment network, most of the industrial control networks use regular protocols and only limited protocols are used. Therefore, almost all packets are normal packets and can be used as learning packets except for special cases. Also, learning the normal behavior based on a plurality of actually used packets has an advantage of detecting an abnormal packet with high accuracy.

패킷 검증부(120)는 기설정된 방식으로 학습 패킷 수집부(110)에서 수집된 패킷을 검사하여, 전체 패킷 대비 에러 메시지 수, 충돌 프레임 수, 재전송 패킷 수, 비정상 형식(mal-formed) 패킷 수, 비정상 크기의 패킷 수 등을 계산한다. 그리고 계산된 비정상 패킷의 수의 합 비율이 기설정된 비율(예를 들면, 0.01%) 이상일 경우, 정상 환경의 학습 패킷이 아닌 것으로 간주하고, 학습 패킷 수집부(110)로 새로운 패킷을 수집할 것을 요청한다.The packet verifying unit 120 inspects the packets collected by the learning packet collecting unit 110 in a predetermined manner to determine the number of error messages, the number of collision frames, the number of retransmission packets, the number of mal- , The number of packets of abnormal size, and the like. When the sum ratio of the number of abnormal packets calculated is equal to or greater than a predetermined ratio (for example, 0.01%), it is regarded that the packet is not a learning packet of a normal environment and a new packet is collected by the learning packet collecting unit 110 request.

그러나 전체 패킷 대비 비정상 패킷의 수의 합 비율이 기설정된 비율 미만이면, 정상 패킷이 수집된 것으로 판단하고, 화이트리스트 생성부(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 whitelist generating unit 130 and the preprocessing unit 200.

화이트리스트 생성부(130)는 패킷 검증부(120)에서 검증된 복수개의 패킷을 수신하고, 수신된 복수개의 패킷을 기반으로 화이트리스트를 생성한다. 화이트리스트는 명백히 정상인 특징을 규칙으로 만들어 놓은 리스트로, 정상 환경에서의 IP/PORT 기반의 정상 플로우 집합과 제어 네트워크 프로토콜(DNP3, IEC61850, ICCP 등)에 따른 정상 메시지 타입, 정상 Function Type 등을 규칙으로 생성한다.The whitelist generating unit 130 receives a plurality of packets verified by the packet verifying unit 120 and generates a white list based on the received plurality of packets. The whitelist is a list made up of rules that are clearly defined as normal. It consists of normal flow set based on IP / PORT in normal environment and normal message type according to control network protocol (DNP3, IEC61850, ICCP, etc.) .

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 model generation unit 140 learns the normal behavior information on the industrial control network by learning the preprocessed and separated packets in the preprocessing unit 200 in units of individual packets, packet patterns, and traffic units. The detailed process for the learning model generation unit 140 to acquire the normal behavior information will be described later.

전처리부(200)는 공통 전처리부(210) 및 병렬 전처리부(220)를 구비한다. 공통 전처리부(210)는 패킷 검증부(120) 또는 화이트리스트 검사부(420)로부터 인가되는 복수개의 패킷을 플로우/프로토콜 단위로 해석 및 분류하여, 병렬 전처리부(220)로 전송한다.The pre-processing unit 200 includes a common pre-processing unit 210 and a parallel preprocessing unit 220. The common pre-processing unit 210 analyzes and classifies a plurality of packets applied from the packet verification unit 120 or the whitelist checking unit 420 in a flow / protocol unit, and transmits the packets to the parallel preprocessing unit 220.

병렬 전처리부(220)는 개별 패킷 전처리부, 패킷 패턴 전처리부 및 트래픽 전처리부의 3개의 개별 전처리부를 구비하고, 3개의 개별 전처리부 각각은 공통 전처리부(210)에서 분류된 패킷을 인가받아 기설정된 방식으로 전처리를 수행한다. 그리고 전처리된 패킷을 학습 모델 생성부(140)나 검사부(440)로 전처리가 수행된 패킷을 전송한다. 병렬 전처리부(220)의 3개의 개별 전처리부에 대한 상세한 설명은 후술하도록 한다.The parallel preprocessing unit 220 includes three individual preprocessing units: an individual packet preprocessing unit, a packet pattern preprocessing unit, and a traffic preprocessing unit. Each of the three individual preprocessing units receives a packet classified by the common preprocessing unit 210, The pre-processing is performed in the method. The preprocessed packet is transmitted to the learning model generation unit 140 or the inspection unit 440. A detailed description of the three separate preprocessing units of the parallel preprocessing unit 220 will be described later.

데이터베이스부(300)는 화이트리스트 데이터베이스(310) 및 검사 데이터베이스(320)를 구비한다. 화이트리스트 데이터베이스(310)는 정상 행위 학습 기간 동안 화이트리스트 생성부(130)에서 생성된 화이트리스트를 수신하여 저장하고, 비정상 행위 탐색 시에 화이트리스트 검사부(420)의 요청에 따라 화이트리스트를 전송하여, 화이트리스트 검사부(420)가 검사 패킷을 검사할 수 있도록 한다.The database unit 300 includes a whitelist database 310 and an inspection database 320. The whitelist database 310 receives and stores the whitelist generated by the whitelist generator 130 during the normal behavior learning period and transmits a whitelist according to a request from the whitelist inspector 420 at the time of searching for an abnormal behavior , So that the whitelist checking unit 420 can check the inspection packet.

검사 데이터베이스(320)는 정상 행위 학습 기간 동안 학습 모델 생성부(140)에서 생성된 정상 행위 정보를 저장하고, 비정상 행위 탐색 시에 검사부(440)로 정상 행위 정보를 제공하여 비정상 행위 패킷을 판별할 수 있도록 한다.The inspection database 320 stores the normal behavior information generated by the learning model generation unit 140 during the normal behavior learning period and provides the normal behavior information to the inspection unit 440 at the time of the abnormal behavior search to discriminate the abnormal behavior packet .

도2 에서는 설명의 편의를 위하여 데이터베이스부(300)가 화이트리스트 데이터베이스(310)와 검사 데이터베이스(320)를 개별적으로 구비하는 것으로 도시하였으나, 화이트리스트 데이터베이스(310)와 검사 데이터베이스(320)는 하나의 데이터베이스로 구성되어도 무방하다. 또한 도시하지 않았으나, 데이터베이스부(300)는 패킷 검사부(400)에서 판별한 비정상 행위 패킷에 대한 로그 정보를 저장하는 로그 데이터베이스(미도시)를 더 구비할 수 있다. 로그 데이터베이스는 다양한 비정상 행위를 분석하기 위한 기초 정보로 활용될 수 있다.2, the database unit 300 includes the white list database 310 and the inspection database 320 separately. However, the white list database 310 and the inspection database 320 may include one It may be composed of a database. Also, although not shown, the database unit 300 may further include a log database (not shown) for storing log information on abnormal behavior packets determined by the packet checking unit 400. The log database can be used as basic information for analyzing various abnormal behaviors.

패킷 검사부(400)는 검사 패킷 수집부(410), 화이트리스트 검사부(420), 화이트리스트 업데이트부(430), 검사부(440) 및 비정상 행위 판별부(450)를 구비한다.The packet inspection unit 400 includes an inspection packet collection unit 410, a whitelist inspection unit 420, a whitelist update unit 430, an inspection unit 440 and an abnormal behavior determination unit 450.

검사 패킷 수집부(410)는 비정상 행위 탐지 시스템이 산업 제어 네트워크에서 발생하는 비정상 행위를 탐지하기 위해 운용되는 동안 전송되는 패킷들을 수집한다.The inspection packet collection unit 410 collects packets transmitted while the abnormal behavior detection system is operated to detect an abnormal behavior occurring in the industrial control network.

화이트리스트 검사부(420)는 검사 패킷 수집부(410)에서 수집된 복수개의 패킷에 대해 화이트리스트 데이터베이스(310)에 저장된 화이트리스트를 이용하여 필터링을 수행한다. 즉 복수개의 패킷 각각이 화이트리스트로 지정된 규칙에 부합되는지 판별하고, 정상인 패킷들은 전처리부(200)의 공통 전처리부(210)로 전송하고, 비정상으로 판별된 패킷들은 화이트리스트 업데이트부(430)로 전송한다.The whitelist checking unit 420 performs filtering using a whitelist stored in the whitelist database 310 for a plurality of packets collected by the inspection packet collecting unit 410. That is, it is determined whether each of the plurality of packets conforms to the rule specified by the white list. The normal packets are transmitted to the common preprocessing unit 210 of the preprocessing unit 200, and the packets determined to be abnormal are transmitted to the whitelist updating unit 430 send.

화이트리스트 업데이트부(430)는 화이트리스트 데이터베이스(310)에 저장되는 화이트리스트를 업데이트하기 위한 구성으로, 화이트리스트 검사부(420)에서 비정상으로 판별된 패킷들을 인가받고, 새로이 추가될 화이트리스트 규칙을 설정할지 여부를 판별한다. 화이트리스트는 상기한 바와 같이, 정상인 패킷에 대한 규칙을 규정한 리스트로서, 화이트리스트를 이용하여 비정상 패킷을 탐지하는 비정상 행위 탐지 시스템은 기설정된 화이트리스트의 규칙에 대응하지 않는 패킷을 비정상 패킷으로 판단하여 차단할 수 있다. 그러나 다른 대부분의 네트워크와 마찬가지로 산업 제어 네트워크 또한 산업 제어 시스템의 활용에 따라 기존에, 즉 정상 패킷 학습 기간에, 사용되지 않은 패킷을 새로이 지정하여 사용할 수 있다. 이런 경우, 새로이 지정된 패킷의 규칙을 화이트리스트에 추가할 필요가 있다.The whitelist update unit 430 is configured to update the whitelist stored in the whitelist database 310. The whitelist update unit 430 receives the packets determined to be abnormal by the whitelist checking unit 420 and sets a whitelist rule to be newly added Or not. As described above, the whitelist is a list defining rules for normal packets, and the abnormal behavior detection system that detects an abnormal packet using the whitelist determines packets that do not correspond to the rule of the preset white list as abnormal packets . However, as with most other networks, industrial control networks can also use unused packets by designating them in accordance with the utilization of industrial control systems. In this case, you need to add the rule for the newly specified packet to the whitelist.

따라서 화이트리스트 업데이트부(430)는 화이트리스트 검사부(420)에서 비정상으로 판별된 패킷들을 수신하고, 화이트리스트 생성부(130)와 동일한 방식으로 패킷 규칙을 새롭게 획득한다. 그리고 새롭게 획득된 패킷 규칙이 정상적으로 화이트리스트에 포함될 규칙인지 여부를 판별하여, 정상 규칙이면 화이트리스트 데이터베이스(310)로 전송하여 화이트리스트를 업데이트 한다. 여기서 획득된 패킷 규칙의 정상 여부는 획득된 패킷 규칙을 사용자에게 표시하고, 사용자의 승인이 인가되면, 정상인 것으로 판별하도록 설정할 수 있다.Accordingly, the whitelist update unit 430 receives the packets that are determined to be abnormal by the whitelist checking unit 420 and newly acquires the packet rules in the same manner as the whitelist generating unit 130. Then, it is determined whether the newly obtained packet rule is normally included in the white list. If the rule is normal, the packet rule is transmitted to the white list database 310 to update the white list. Here, whether or not the obtained packet rule is normal can be displayed to the user and the packet rule can be determined to be normal when the user's approval is granted.

검사부(440)는 전처리부(200)에서 전처리되어 구분된 패킷들을 수신하고, 개별 패킷 단위, 패킷 패턴 및 트래픽 단위로 검사 데이터베이스(320)에 저장된 정상 행위 정보와 비교한다. 그리고 비교 결과로서 개별 패킷 단위, 패킷 패턴 및 트래픽 단위로 비정상도를 계산한다. 여기서 비정상도는 수치적으로 계산될 수 있다.The inspecting unit 440 receives the pre-processed and separated packets in the preprocessing unit 200 and compares the packets with the normal behavior information stored in the inspection database 320 in units of individual packets, packet patterns, and traffic. As a result of comparison, anomalies are calculated in units of individual packets, packet patterns, and traffic units. Where the anomalies can be computed numerically.

비정상 행위 판별부(450)는 검사부(440)에서 비교 결과로서 개별 패킷 단위, 패킷 패턴 및 트래픽 단위로 계산된 비정상도를 이용하여 비정상 행위가 발생하였는지 판별한다. 그리고 비정상 행위가 발생한 것으로 판별되면, 도1 의 HMI 등을 통해 사용자에게 경고를 출력할 수 있다. 또한 데이터베이스부(300)에 로그 데이터베이스가 구비되어 있으면, 로그 데이터베이스에 비정상 행위 정보를 저장한다.The abnormal behavior determiner 450 determines whether an abnormal behavior has occurred by using the abnormality calculated in individual packet units, packet patterns, and traffic units as the comparison result in the inspection unit 440. [ If it is determined that an abnormal behavior has occurred, a warning can be output to the user through the HMI shown in FIG. If the database unit 300 is provided with a log database, abnormal behavior information is stored in the log database.

도2 에서는 학습 패킷 수집부(110)과 검사 패킷 수집부(410)을 별도로 도시하였으나, 학습 패킷 수집부(110)과 검사 패킷 수집부(410)는 패킷을 수집하는 시기에만 차이가 있으므로, 패킷 수집부로 통합될 수 있다. 또한 도2 에서는 전처리부(200)가 별도로 구비되어 패킷 학습부(100)과 패킷 검사부(400) 양측으로 인가되는 패킷을 모두 전처리하는 것으로 도시하였으나, 경우에 따라서는 패킷 학습부(100)과 패킷 검사부(400) 각각에 개별적으로 전처리부(200)가 포함되어 구성되어도 무방하다.2, the learning packet collecting unit 110 and the inspection packet collecting unit 410 are separately shown. However, since the learning packet collecting unit 110 and the inspection packet collecting unit 410 differ only at the time of collecting packets, Collecting unit. 2, the preprocessor 200 is separately provided to preprocess packets applied to both the packet learning unit 100 and the packet inspection unit 400. However, in some cases, the packet learning unit 100 and the packets The preprocessing unit 200 may be separately included in each of the inspection units 400.

도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 parallel preprocessing unit 220 includes an individual packet preprocessing unit 221, a packet preprocessing unit 220, and a preprocessing unit 220. The parallel preprocessing unit 220 includes an individual packet preprocessor 221, A pattern preprocessing unit 222, and a traffic preprocessing unit 223.

개별 패킷 전처리부(221)는 플로우/프로토콜 필드 선택부(2211) 및 개별 패킷 정규화부(2212)를 구비하여, 공통 전처리부(210)에서 분류된 복수개의 패킷을 인가받아 플로우/프로토콜 단위로 나누고, 패킷의 필드 선택, 정규화 작업을 수행한다.The individual packet preprocessing unit 221 includes a flow / protocol field selection unit 2211 and an individual packet normalization unit 2212 to divide a plurality of packets classified by the common pre-processing unit 210 into flow / protocol units , Field selection and normalization of the packet.

그리고 패킷 패턴 전처리부(222)는 노드/프로토콜 필드 선택부(2221) 및 패킷 패턴 검출부(2222)를 구비하여, 공통 전처리부(210)에서 분류된 복수개의 패킷을 인가받아 개별 노드/프로토콜 단위로 나누고, 패킷 필드 선택, 정규화 작업을 수행한다. 여기서 패킷 패턴 검출부(2222)는 후술하는 패턴 탐색 알고리즘을 이용하여 수신된 복수개의 패킷으로부터 패킷 패턴들을 추출한다.The packet pattern preprocessing unit 222 includes a node / protocol field selection unit 2221 and a packet pattern detection unit 2222. The packet pattern preprocessing unit 222 receives a plurality of packets classified by the common preprocessing unit 210, And performs packet field selection and normalization. Here, the packet pattern detector 2222 extracts packet patterns from a plurality of received packets using a pattern search algorithm to be described later.

한편 트래픽 전처리부(223)은 트래픽 계산부(2231)과 데이터 셋 생성부(2232)를 구비하여, 전체 네트워크 단위의 트래픽 특징을 분석할 수 있도록 기설정된 시간(예를 들면, 1분) 단위의 패킷 수, 패킷 평균 크기, 프로토콜 별 패킷 개수를 계산하고, 데이터 셋을 만든다.The traffic preprocessing unit 223 includes a traffic calculation unit 2231 and a data set generation unit 2232. The traffic preprocessing unit 223 includes a traffic pre- Calculate the number of packets, the average packet size, and the number of packets per protocol, and create a dataset.

도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 IEC 61850 of the substation network shown in FIG. 1, are classified based on characteristics such as a message type, a function type, and an object type, .

MMS PacketMMS Packet GOOSE PacketGOOSE Packet The Number of FeatureThe Number of Feature 44 33 FeaturesFeatures TPKT Length
MMS PDU Type
MMS Service Type
IEC 61850 Object Name
TPKT Length
MMS PDU Type
MMS Service Type
IEC 61850 Object Name
GOOSE Message Length
gocbRef
Number of Data Set Entries
GOOSE 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 pattern preprocessing unit 222 first sets the i-th packet as an arbitrary packet to the pattern search start position (p = i). Then, the pattern length (n) is sequentially incremented from 2 to 1 from the packet at the start position, and a repetitive pattern is searched.

이 경우, 케이스1(case 1)과 같이, 전체 반복 패턴이 바로 탐색되는 경우도 있으나, 케이스2(case 2)와 같이, 전체 반복 패턴 내부에 부분 반복 패턴이 존재하여 전체 반복 패턴을 정확히 탐색하지 못하는 경우가 발생할 수 있다.In this case, as in the case 1, the entire repeating pattern may be searched immediately. However, as in the case 2 (case 2), the partial repeating pattern exists in the entire repeating pattern, It can happen.

이에 본 발명에서는 반복 패턴이 발견된 경우에, 시작 위치 패킷 다음 패킷(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 parallel preprocessing unit 220 of FIG. 3, the learning model generation unit 140, the inspection database 320, and the inspection unit 440 in FIG. 5 each have three components. First, the learning model generation unit 140 includes an individual packet learning unit 141, a pattern library generation unit 142, and a traffic learning unit 143.

개별 패킷 학습부(141)는 병렬 전처리부(220)의 개별 패킷 전처리부(221)로부터 전처리된 복수개의 개별 패킷을 수신한다. 그리고 수신된 개별 패킷에 대한 정상 행위 정보를 획득하기 위해, 개별 패킷 각각을 EM(Expectation Maximization) 알고리즘을 적용하여 그룹화하고, 그룹화로 생성된 적어도 하나의 그룹 각각을 OCSVM(One-class SVM) 알고리즘을 통해 개별 패킷 모델로 생성하여 검사 데이터베이스(320)의 개별 패킷 모델 저장부(321)로 전송한다.The individual packet learning unit 141 receives a plurality of individual packets that have been preprocessed from the individual packet preprocessing unit 221 of the parallel preprocessing unit 220. In order to acquire the normal behavior information on the received individual packets, each individual packet is grouped by applying an EM (Expectation Maximization) algorithm, and each of the at least one group generated by the grouping is subjected to OCSVM (One-class SVM) algorithm And transmits the individual packet model to the individual packet model storage unit 321 of the inspection database 320. [

패턴 라이브러리 생성부(142)는 패킷 패턴 전처리부(222)로부터 전처리된 되어 추출된 패킷 패턴의 특성과 빈도수를 패턴 라이브러리로 생성한다. 그리고 생성된 패턴 라이브러리를 검사 데이터베이스(320)의 패턴 라이브러리 저장부(322)로 전송한다.The pattern library generation unit 142 generates a pattern library of the characteristics and the frequency of the packet pattern extracted and preprocessed from the packet pattern preprocessing unit 222. The generated pattern library is transferred to the pattern library storage unit 322 of the inspection database 320.

트래픽 학습부(143)는 트래픽 전처리부(223)에서 인가되는 기설정된 시간 단위의 데이터 셋 각각을 EM 알고리즘을 적용하여 그룹화 하고 OCSVM 알고리즘을 이용해 트래픽 모델로 생성한다. 생성된 트래픽 모델은 검사 데이터베이스(320)의 트래픽 모델 저장부(323)로 전송된다.The traffic learning unit 143 groups each data set of the predetermined time unit applied by the traffic preprocessing unit 223 by applying the EM algorithm and generates the traffic model using the OCSVM algorithm. The generated traffic model is transmitted to the traffic model storage unit 323 of the inspection database 320.

검사 데이터베이스(320)는 개별 패킷 모델 저장부(321), 패턴 라이브러리 저장부(322) 및 트래픽 모델 저장부(323)로 구성되고, 각각 학습모델 생성부(140)의 개별 패킷 학습부(141)와 패턴 라이브러리 생성부(142) 및 트래픽 학습부(143)로부터 적어도 하나의 개별 패킷 모델과 적어도 하나의 패턴 라이브러리 및 적어도 하나의 트래픽 모델을 인가받아 저장한다.The inspection database 320 includes an individual packet model storage unit 321, a pattern library storage unit 322 and a traffic model storage unit 323. Each of the individual packet learning unit 141 of the learning model generation unit 140, At least one individual packet model, at least one pattern library, and at least one traffic model from the pattern library generation unit 142 and the traffic learning unit 143,

검사부(440)는 개별 패킷 검사부(441)과 패킷 패턴 검사부(442) 및 트래픽 검사부(443)를 구비한다. 개별 패킷 검사부(441)는 개별 패킷 전처리부(221)에서 인가되는 개별 패킷을 개별 패킷 모델 저장부(321)에 저장된 개별 패킷 모델과 비교하여, 가장 유사한 개별 패킷 모델과의 차이를 분석한다. 개별 패킷 검사부(441)은 일 예로 수신된 개별 패킷과 하이퍼 벡터(hyper vector) 거리가 가장 짧은 개별 패킷 모델과의 거리를 개별 패킷 비정상 점수로 도출할 수 있다.The inspection unit 440 includes an individual packet inspection unit 441, a packet pattern inspection unit 442, and a traffic inspection unit 443. The individual packet inspecting unit 441 compares the individual packets applied by the individual packet preprocessing unit 221 with the individual packet models stored in the individual packet model storage unit 321 and analyzes the differences from the most similar individual packet models. For example, the individual packet checker 441 can derive the distance between the received individual packet and the individual packet model having the shortest hyper-vector distance as an individual packet abnormal score.

패킷 패턴 검사부(442)는 패킷 패턴 전처리부(222)에서 인가되는 패킷 패턴을 패턴 라이브러리 저장부(322)에 저장된 적어도 하나의 패턴 라이브러리의 패턴 및 빈도수와 비교하여 기저장된 적어도 하나의 패턴 라이브러리와의 패턴 차이를 분석한다. 일 예로 새로운 패턴의 경우 10점, 빈도수가 전체 빈도수의 10% 미만일 경우 전체 빈도수/(해당 빈도수 * 10) 값과 10 사이의 최소값을 패턴 비정상 점수로 도출할 수 있다.The packet pattern checking unit 442 compares the packet pattern applied by the packet pattern preprocessing unit 222 with at least one pattern library stored in the pattern library storage unit 322 and stores the packet pattern with at least one pattern library Analyze the pattern difference. For example, if the new pattern is 10 points and the frequency is less than 10% of the total frequency, then the total frequency / (frequency * 10) and the minimum value of 10 can be derived as the pattern abnormal score.

트래픽 검사부(443)는 트래픽 전처리부(223)로부터 인가되는 데이터 셋을 트래픽 모델 저장부(323)에 저장된 적어도 하나의 트래픽 모델 중 가장 유사한 트래픽 모델과의 차이를 분석한다. 트래픽 검사부(443)은 개별 패킷 검사부(441)과 마찬가지로, 수신된 데이터 셋과 하이퍼 벡터(hyper vector) 거리가 가장 짧은 트래픽 모델과의 거리를 트래픽 비정상 점수로 도출할 수 있다.The traffic checking unit 443 analyzes the difference between the data set applied from the traffic preprocessing unit 223 and the most similar traffic model among at least one traffic model stored in the traffic model storing unit 323. [ Like the individual packet inspecting unit 441, the traffic inspecting unit 443 can derive the distance between the received data set and the traffic model having the shortest hyper vector distance as a traffic abnormal score.

그리고 도출된 개별 패킷 비정상 점수, 패턴 비정상 점수 및 트래픽 비정상 점수를 비정상 행위 판별부(450)로 전송하여 비정상 행위의 발생 여부를 판별할 수 있도록 한다. 개별 패킷, 패킷 패턴 및 트래픽에 대한 비정상도가 각각 개별 패킷 비정상 점수, 패턴 비정상 점수 및 트래픽 비정상 점수로 수치화되어 전송되므로, 비정상 행위 판별부(450)는 개별 패킷 비정상 점수, 패턴 비정상 점수 및 트래픽 비정상 점수를 기설정된 방식으로 조합하여 최종 비정상 점수를 도출할 수 있다. 그리고 도출된 최종 비정상 점수가 기설정된 기준값 이상인지 여부에 따라 비정상 행위가 탐지되었는지 여부를 판별한다.Then, the derived individual packet abnormal score, pattern abnormal score, and traffic abnormal score are transmitted to the abnormal behavior determiner 450 to determine whether an abnormal behavior has occurred or not. The pattern abnormality, and the traffic abnormality are transmitted in numerical values as individual packet abnormality scores, pattern abnormality scores, and traffic abnormality scores, respectively, Score can be combined in a predetermined manner to derive the final abnormal score. And determines whether an abnormal behavior has been detected based on whether the final abnormal score is greater than or equal to a preset reference value.

도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 packet collection unit 110 collects various packets transmitted in the industrial control network as learning packets during the normal packet learning period (S110 ). Then, the packet verification unit 120 checks the collected packets by checking the pre-set method of the packets collected by the learning packet collection unit 110 (S120). At this time, if it is determined that the collected packet is not a normal packet, the packet verification unit 120 may request the learning packet collection unit 110 to collect the packet again.

패킷 검증부(120)에서 검증된 패킷은 화이트리스트 생성부(130)에 의해 정상 패킷의 특징이 분석되고, 화이트리스트 생성부(130)는 분석된 특징을 기반으로 화이트리스트를 생성하여 화이트리스트 데이터베이스(310)에 저장한다(S130). 한편 패킷 검증부(120)는 검증된 패킷을 화이트리스트 생성부(130)로 전송함과 동시에 공통 전처리부(210)로 전송한다. 이에 공통 전처리부(210)는 화이트리스트 생성부(130)와 독립적으로 수신된 복수개의 패킷을 플로우/프로토콜 단위로 해석 및 분류하여, 병렬 전처리부(220)로 전송한다(S140).The packets verified by the packet verifying unit 120 are analyzed by the white list generating unit 130 for the characteristics of the normal packets. The white list generating unit 130 generates a white list based on the analyzed characteristics, (Step S130). Meanwhile, the packet verification unit 120 transmits the verified packet to the whitelist generation unit 130 and the common pre-processing unit 210. The common pre-processing unit 210 analyzes and classifies a plurality of packets received independently from the whitelist generating unit 130 in a flow / protocol unit, and transmits the packets to the parallel preprocessing unit 220 (S140).

병렬 전처리부(220)의 개별 패킷 전처리부(221), 패킷 패턴 전처리부(222) 및 트래픽 전처리부(223)는 각각 개별적으로 공통 전처리부에서 해석 및 분류된 패킷을 수신하고, 각각 병렬로 지정된 방식으로 전처리를 수행한다. 개별 패킷 전처리부(221)는 공통 전처리부(210)에서 분류된 복수개의 패킷을 인가받아 플로우/프로토콜 단위로 나누고, 패킷의 필드 선택, 정규화 작업을 수행한다(S150). 패킷 패턴 전처리부(222)는 복수개의 패킷을 인가받아 개별 노드/프로토콜 단위로 나누고, 패킷 필드 선택, 정규화 작업을 수행하여 패킷 패턴을 추출한다(S160). 트래픽 전처리부(223)는 전체 네트워크 단위의 트래픽 특징을 분석할 수 있도록 기설정된 시간 단위의 패킷 수, 패킷 평균 크기, 프로토콜 별 패킷 개수를 계산하고, 데이터 셋을 생성한다(S170).The individual packet preprocessing unit 221, the packet pattern preprocessing unit 222, and the traffic preprocessing unit 223 of the parallel preprocessing unit 220 individually receive the packets analyzed and classified by the common preprocessing unit, The pre-processing is performed in the method. The individual packet preprocessor 221 divides the plurality of packets classified by the common preprocessing unit 210 into flow / protocol units, and performs field selection and normalization of the packets (S150). The packet pattern preprocessing unit 222 receives a plurality of packets, divides them into individual node / protocol units, performs packet field selection and normalization operations, and extracts packet patterns (S160). The traffic preprocessing unit 223 calculates the number of packets, the average packet size, and the number of packets per protocol for each predetermined time unit so as to analyze traffic characteristics of the entire network unit (S170).

학습모델 생성부(140)의 개별 패킷 학습부(141)는 개별 패킷 전처리부(221)로부터 전처리된 복수개의 개별 패킷을 수신하고, 개별 패킷 각각을 그룹화하고, 그룹화된 적어도 하나의 개별 패킷 그룹 각각을 적어도 하나의 개별 패킷 모델로 생성하여 개별 패킷 모델 저장부(321)에 저장한다(S180).The individual packet learning unit 141 of the learning model generation unit 140 receives a plurality of individual packets that have been preprocessed from the individual packet preprocessing unit 221 and groups each of the individual packets and generates each of the grouped at least one individual packet group Into at least one individual packet model and stores it in the individual packet model storage unit 321 (S180).

패턴 라이브러리 생성부(142)는 패킷 패턴 전처리부(222)에서 추출된 패킷 패턴의 특성과 빈도수를 패턴 라이브러리로 생성하여 패턴 라이브러리 저장부(322)에 저장한다(S190).The pattern library generation unit 142 generates a pattern library and stores the characteristics and the frequency of the packet pattern extracted by the packet pattern preprocessing unit 222 in the pattern library storage unit 322 (S190).

트래픽 학습부(143)는 트래픽 전처리부(223)에서 인가되는 기설정된 시간 단위의 데이터 셋 각각을 그룹화하고, 그룹화된 적어도 하나의 데이터 셋 각각을 적어도 하나의 트래픽 모델로 생성하여 트래픽 모델 저장부(323)에 저장한다(S200).The traffic learning unit 143 groups each data set of a predetermined time unit applied by the traffic preprocessing unit 223, generates each of the grouped at least one data set as at least one traffic model, 323 (S200).

화이트리스트가 생성되어 저장되고, 개별 패킷 모델, 패턴 라이브러리 및 트래픽 모델이 저장되면, 정상 패킷 학습 기간이 종료되는지 판별한다(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 step 210 of determining whether the learning period is ended, it can be classified into a normal action learning step, a step of outputting an abnormal behavior detection alert from the abnormal behavior detection step (S300) S420) can be classified into a network inspection step.

도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 packet collection unit 410 collects inspection packets transmitted from the industrial control network (S310). The whitelist checking unit 420 inspects a plurality of packets collected by the inspection packet collecting unit 410 using a whitelist stored in the whitelist database 310. The whitelist checking unit 420 transmits normal packets to the common pre-processing unit 210 of the preprocessing unit 200. At this time, the whitelist checking unit 420 may transmit the packets determined to be abnormal to the whitelist updating unit 430 so that the packets can be used for updating the whitelist.

비정상 행위 탐지 단계(S300)에서 공통 전처리부(210)는 화이트리스트 검사부(420)에서 수신된 복수개의 패킷을 플로우/프로토콜 단위로 해석 및 분류하여, 병렬 전처리부(220)로 전송한다(S340).In the abnormal behavior detection step S300, the common pre-processing unit 210 analyzes and classifies a plurality of packets received from the whitelist checking unit 420 in a flow / protocol unit, and transmits them to the parallel preprocessing unit 220 (S340) .

그리고 병렬 전처리부(220)의 개별 패킷 전처리부(221), 패킷 패턴 전처리부(222) 및 트래픽 전처리부(223)는 각각 개별적으로 공통 전처리부에서 해석 및 분류된 패킷을 수신하고, 각각 병렬로 지정된 방식으로 전처리를 수행한다(S340, S350, S360).The individual packet preprocessing unit 221, the packet pattern preprocessing unit 222 and the traffic preprocessing unit 223 of the parallel preprocessing unit 220 individually receive the packets analyzed and classified by the common preprocessing unit, Preprocessing is performed in a designated manner (S340, S350, S360).

즉 비정상 행위 탐지 단계(S300)에서 공통 전처리부(210)와 병렬 전처리부(220)는 정상 행위 학습 단계와 동일한 작업을 수행한다.That is, in the abnormal behavior detection step S300, the common pre-processing unit 210 and the parallel preprocessing unit 220 perform the same operations as the normal behavior learning step.

이후 개별 패킷 검사부(441)는 개별 패킷 전처리부(221)는 개별 패킷 전처리부(221)에서 인가되는 개별 패킷을 개별 패킷 모델 저장부(321)에 저장된 개별 패킷 모델과 비교하여 개별 패킷의 비정상도를 검사한다(S370). 그리고 패킷 패턴 검사부(442)는 패킷 패턴 전처리부(222)에서 인가되는 패킷 패턴을 패턴 라이브러리 저장부(322)에 저장된 적어도 하나의 패턴 라이브러리의 패턴 및 빈도수와 비교하여 패킷 패턴의 비정상도를 검사한다(S380). 또한 트래픽 검사부(443)는 트래픽 전처리부(223)로부터 인가되는 데이터 셋을 트래픽 모델 저장부(323)에 저장된 적어도 하나의 트래픽 모델가 비교하여 트래픽 비정상도를 검사한다(S390). 여기서 개별 패킷의 비정상도와 패킷 패턴의 비정상도 및 트래픽 비정상도는 수치화된 점수로 계산될 수 있다.The individual packet inspecting unit 441 compares the individual packets applied by the individual packet preprocessing unit 221 with the individual packet models stored in the individual packet model storage unit 321, (S370). The packet pattern checking unit 442 compares the packet pattern applied by the packet pattern preprocessing unit 222 with the pattern and frequency of at least one pattern library stored in the pattern library storage unit 322 to check the abnormality of the packet pattern (S380). The traffic checking unit 443 compares the data set applied from the traffic preprocessing unit 223 with at least one traffic model stored in the traffic model storing unit 323 to check the traffic abnormality (S390). Here, the abnormality of individual packets, the abnormality of the packet pattern, and the traffic abnormality can be calculated as numerical scores.

이후 비정상 행위 판별부(450)가 개별 패킷의 비정상도와 패킷 패턴의 비정상도 및 트래픽 비정상도를 수신하고 기절정된 방식으로 조합하여 최종 비정상 점수를 도출하며, 도출된 최종 비정상 점수가 기설정된 기준값 이상인지 여부에 따라 비정상 행위가 탐지되었는지 여부를 판별한다(S400).Thereafter, the abnormal behavior determiner 450 receives the abnormality of each packet, the abnormality of the packet pattern, and the traffic abnormality, and combines the abnormal abnormalities in a peaked manner to derive a final abnormal score. If the final abnormal score is greater than a predetermined reference value It is determined whether an abnormal behavior has been detected (S400).

본 발명에 따른 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 기록매체의 예로는 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:
삭제delete 삭제delete 제1 항에 있어서, 상기 패킷 패턴 전처리부는
상기 패킷들 중 임의의 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.
제1 항에 있어서, 상기 패킷 학습부는
상기 정상 행위 학습 기간 동안 상기 산업 제어 네트워크에서 전송되는 상기 패킷들을 학습 패킷으로 수집하는 학습 패킷 수집부;
상기 학습 패킷 수집부에서 수집된 상기 학습 패킷들을 검사하여, 상기 산업 제어 네트워크의 정상 환경에서 획득된 학습 패킷인지 판별하는 패킷 검증부;
상기 패킷 검증부에서 검증된 상기 학습 패킷들을 분석하여 정상 패킷에 대한 규칙을 획득하고, 획득된 규칙들로부터 상기 화이트리스트를 생성하여 상기 데이터베이스부에 저장하는 화이트리스트 생성부; 및
상기 병렬 전처리부에서 전처리된 상기 패킷들을 개별 패킷 단위, 패킷 패턴 및 트래픽 단위로 학습하여 상기 적어도 하나의 개별 패킷 모델, 상기 적어도 하나의 패턴 라이브러리 및 상기 적어도 하나의 트래픽 모델을 획득하여 상기 데이터베이스부에 저장하는 학습 모델 생성부; 를 포함하는 것을 특징으로 하는 비정상 행위 탐지 시스템.
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:
제5 항에 있어서, 상기 패킷 검증부는
상기 학습 패킷들에서 에러 메시지 수, 충돌 프레임 수, 재전송 패킷 수, 비정상 형식(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.
제5 항에 있어서, 상기 학습 모델 생성부는
상기 개별 패킷 전처리부로부터 전처리된 복수개의 상기 개별 패킷을 수신하고, 수신된 상기 개별 패킷 각각을 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:
제7 항에 있어서, 상기 패킷 검사부는
상기 정상 행위 학습 기간 이후, 상기 산업 제어 네트워크에서 전송되는 상기 패킷들을 수집하는 검사 패킷 수집부;
상기 검사 패킷 수집부에서 수집된 상기 패킷들에 대해 상기 데이터베이스부에 저장된 상기 화이트리스트를 이용하여 검사하고, 정상 패킷들을 상기 전처리부로 전송하는 화이트리스트 검사부;
상기 병렬 전처리부에서 전처리된 상기 패킷들을 상기 데이터베이스부에 저장된 상기 적어도 하나의 개별 패킷 모델, 상기 적어도 하나의 패턴 라이브러리 및 상기 적어도 하나의 트래픽 모델과 비교하여 비정상도를 검사하는 검사부; 및
상기 비정상도에 따라 상기 산업 제어 네트워크 상에 비정상 행위가 발생하였는지 여부를 판별하는 비정상 행위 판별부; 를 포함하는 것을 특징으로 하는 비정상 행위 탐지 시스템.
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:
제8 항에 있어서, 상기 검사부는
상기 개별 패킷 전처리부에서 인가되는 상기 개별 패킷을 상기 데이터베이스부에 저장된 상기 적어도 하나의 개별 패킷 모델과 비교하여, 가장 유사한 개별 패킷 모델과의 차이를 개별 패킷 비정상도로 계산하는 개별 패킷 검사부;
상기 패킷 패턴 전처리부에서 인가되는 상기 패킷 패턴을 상기 데이터베이스부에 저장된 상기 적어도 하나의 패턴 라이브러리의 패턴 및 빈도수와 비교하여 기저장된 상기 적어도 하나의 패턴 라이브러리와의 패턴 차이를 패킷 패턴 비정상도로 계산하는 패킷 패턴 검사부; 및
상기 트래픽 전처리부로부터 인가되는 상기 데이터 셋을 트래픽 모델 저장부에 저장된 적어도 하나의 트래픽 모델 중 가장 유사한 트래픽 모델과의 차이를 트래픽 비정상도로 계산하는 트래픽 검사부; 를 포함하는 것을 특징으로 하는 비정상 행위 탐지 시스템.
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:
제9 항에 있어서, 상기 비정상 행위 판별부는
수치화된 상기 개별 패킷 비정상도와 상기 패킷 패턴 비정상도 및 상기 트래픽 비정상도를 수신하여 기설정된 방식으로 계산하여 최종 비정상 점수를 산출하고, 상기 최종 비정상 기설정된 기준값 이상이면 상기 비정상 행위가 탐지된 것으로 판별하는 것을 특징으로 하는 비정상 행위 탐지 시스템.
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:
제8 항에 있어서, 상기 패킷 검사부는
상기 화이트리스트 검사부에서 비정상으로 판별된 상기 패킷들을 수신 및 분석하고, 상기 데이터베이스부에 저장된 상기 화이트리스트에 포함할지 여부를 판별하여 상기 화이트리스트를 업데이트 하는 화이트리스트 업데이트부; 를 더 포함하는 것을 특징으로 하는 비정상 행위 탐지 시스템.
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:
제9 항에 있어서, 상기 데이터베이스부는
상기 화이트리스트 생성부에서 생성된 상기 화이트리스트를 수신하여 저장하고, 저장된 상기 화이트리스트를 상기 화이트리스트 검사부로 제공하는 화이트리스트 데이터베이스; 및
상기 학습 모델 생성부에서 생성된 상기 적어도 하나의 개별 패킷 모델, 상기 적어도 하나의 패턴 라이브러리 및 상기 적어도 하나의 트래픽 모델을 수신하고, 저장된 상기 적어도 하나의 개별 패킷 모델, 상기 적어도 하나의 패턴 라이브러리 및 상기 적어도 하나의 트래픽 모델를 상기 검사부로 제공하는 검사 데이터베이스; 를 포함하는 것을 특징으로 하는 비정상 행위 탐지 시스템.
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.
삭제delete 삭제delete 삭제delete 제13 항에 있어서, 상기 패킷 패턴 전처리 단계는
상기 패킷들 중 임의의 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.
제13 항에 있어서, 상기 적어도 하나의 트래픽 모델을 획득하여 상기 데이터베이스부에 저장하는 단계는
상기 개별 패킷 전처리 단계에서 전처리된 복수개의 상기 개별 패킷을 수신하고, 수신된 상기 개별 패킷 각각을 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.
제13 항에 있어서, 상기 네트워크 검사 단계는
상기 정상 행위 학습 기간 이후, 상기 산업 제어 네트워크에서 전송되는 상기 패킷들을 수집하는 단계;
수집된 상기 패킷들에 대해 상기 데이터베이스부에 저장된 상기 화이트리스트를 이용하여 검사하는 단계;
상기 화이트리스트를 이용하여 검사된 상기 패킷들을 상기 전처리부가 수신하여 기설정된 방식으로 전처리하는 단계;
전처리된 상기 패킷들을 상기 데이터베이스부에 저장된 상기 적어도 하나의 개별 패킷 모델, 상기 적어도 하나의 패턴 라이브러리 및 상기 적어도 하나의 트래픽 모델과 비교하여 비정상도를 검사하는 단계; 및
상기 비정상도에 따라 상기 산업 제어 네트워크 상에 비정상 행위가 발생하였는지 여부를 판별하는 단계; 를 포함하는 것을 특징으로 하는 비정상 행위 탐지 방법.
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.
제19 항에 있어서, 상기 전처리하는 단계는
상기 패킷 검사부로부터 상기 패킷들을 인가받아 플로우/프로토콜 단위로 해석 및 분류하는 단계; 및
분류된 상기 패킷들을 인가받아 상기 적어도 하나의 개별 패킷 모델, 상기 적어도 하나의 패턴 라이브러리 및 상기 적어도 하나의 트래픽 모델 각각에 대응할 수 있도록 기설정된 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.
제20 항에 있어서, 상기 패킷 검사부로 전송하는 단계는
상기 패킷들을 플로우/프로토콜 단위로 나누고, 상기 패킷의 필드 선택 및 정규화하는 개별 패킷 전처리 단계;
상기 패킷들을 개별 노드 및 프로토콜 단위로 나누고, 기설정된 패턴 탐색 알고리즘을 이용하여 수신된 상기 패킷들로부터 패킷 패턴을 추출하는 패킷 패턴 전처리 단계; 및
상기 패킷들로부터 상기 산업 제어 네트워크의 트래픽 특징을 분석할 수 있도록 기설정된 시간 단위의 패킷 수, 패킷 평균 크기, 프로토콜 별 패킷 개수를 계산하여 데이터 셋을 생성하는 트래픽 전처리 단계; 를 포함하는 것을 특징으로 하는 비정상 행위 탐지 방법.
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.
제21 항에 있어서, 상기 비정상도를 검사하는 단계는
상기 개별 패킷을 상기 데이터베이스부에 저장된 상기 적어도 하나의 개별 패킷 모델과 비교하여, 가장 유사한 개별 패킷 모델과의 차이를 개별 패킷 비정상도로 계산하는 단계;
상기 패킷 패턴을 상기 데이터베이스부에 저장된 상기 적어도 하나의 패턴 라이브러리의 패턴 및 빈도수와 비교하여 기저장된 상기 적어도 하나의 패턴 라이브러리와의 패턴 차이를 패킷 패턴 비정상도로 계산하는 단계; 및
상기 데이터 셋을 트래픽 모델 저장부에 저장된 적어도 하나의 트래픽 모델 중 가장 유사한 트래픽 모델과의 차이를 트래픽 비정상도로 계산하는 단계; 를 포함하는 것을 특징으로 하는 비정상 행위 탐지 방법.
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.
제22 항에 있어서, 상기 비정상 행위가 발생하였는지 여부를 판별하는 단계는
수치화된 상기 개별 패킷 비정상도와 상기 패킷 패턴 비정상도 및 상기 트래픽 비정상도를 수신하여 기설정된 방식으로 계산하여 최종 비정상 점수를 산출하는 단계; 및
상기 최종 비정상 기설정된 기준값 이상이면 상기 비정상 행위가 탐지된 것으로 판별하는 단계; 를 포함하는 것을 특징으로 하는 비정상 행위 탐지 방법.
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.
KR1020140078397A 2014-06-25 2014-06-25 Anomaly detection system and method for industrial control network KR101538709B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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