KR102484940B1 - Method and apparatus for detecting anomalies in industrial control system using packet order information - Google Patents

Method and apparatus for detecting anomalies in industrial control system using packet order information Download PDF

Info

Publication number
KR102484940B1
KR102484940B1 KR1020220036479A KR20220036479A KR102484940B1 KR 102484940 B1 KR102484940 B1 KR 102484940B1 KR 1020220036479 A KR1020220036479 A KR 1020220036479A KR 20220036479 A KR20220036479 A KR 20220036479A KR 102484940 B1 KR102484940 B1 KR 102484940B1
Authority
KR
South Korea
Prior art keywords
packet
data packets
industrial
industrial facility
information
Prior art date
Application number
KR1020220036479A
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 KR1020220036479A priority Critical patent/KR102484940B1/en
Application granted granted Critical
Publication of KR102484940B1 publication Critical patent/KR102484940B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The present invention is to more accurately detect abnormal signs in an industrial control system. A device for detecting abnormal signs in an industrial control system comprises: a first analysis module that identifies normal data packets among data packets collected from an industrial control system and generates a packet whitelist including packet type information of the normal data packets; a second analysis module that identifies data packets valid for each industrial facility among the normal data packets and generates a packet whitelist for each industrial facility indicating the valid data packets for each industrial facility; a third analysis module that groups data packets used sequentially according to control commands among the normal data packets and generates packet order information indicating the order of the grouped data packets; a fourth analysis module that determines packet order information applicable to each industrial facility among the packet order information and generates packet order information for each industrial facility; and an abnormal sign detection module that detects abnormal signs in the industrial control system using the data packets received in real time and the packet order information for each industrial facility.

Description

패킷 순서정보를 이용한 산업제어시스템의 이상징후를 감지하는 방법 및 장치 {METHOD AND APPARATUS FOR DETECTING ANOMALIES IN INDUSTRIAL CONTROL SYSTEM USING PACKET ORDER INFORMATION}Method and apparatus for detecting anomalies in industrial control systems using packet sequence information

본 발명은 산업제어시스템에서 이상징후를 감지하는 기술에 관한 것으로, 특히 수집된 데이터 패킷으로부터 얻어진 패킷 순서정보를 이용하여 산업제어시스템 내부 또는 각 산업시설의 이상징후를 감지하는 방법 및 장치에 관한 것이다.The present invention relates to a technology for detecting anomalies in an industrial control system, and more particularly, to a method and apparatus for detecting anomalies in an industrial control system or in each industrial facility using packet sequence information obtained from collected data packets. .

산업제어시스템(Industrial Control System, ICS)은 전력, 가스, 수도, 교통 등의 국가 주요 산업기반시설 및 산업분야에서 원거리에 산재된 시스템의 효과적인 원격 모니터링 및 제어를 위해 필수적으로 사용되는 시스템이다.An Industrial Control System (ICS) is a system that is essential for effective remote monitoring and control of systems scattered over long distances in major national industrial infrastructures and industries, such as power, gas, water supply, and transportation.

기존의 일반 IT 시스템은 다양한 운영체제, 다양한 하드웨어 및 소프트웨어, 다양한 프로토콜을 사용하는 범용적 환경 특성을 갖고 보안위협에 따른 영향도가 상대적으로 낮은 반면에, 산업제어시스템은 외부와의 네트워크가 차단된 단방향 구조의 폐쇄적인 환경으로 구성되고, 자체 운영체제, 자체 하드웨어, 자체 소프트웨어 및 사업자 중심의 비표준 프로토콜을 사용하는 제한적 환경 특성을 갖는다.Existing general IT systems have general-purpose environment characteristics using various operating systems, various hardware and software, and various protocols, and are relatively less affected by security threats. It is composed of a closed environment of structure and has limited environment characteristics using its own operating system, its own hardware, its own software, and operator-oriented non-standard protocols.

산업제어시스템은 그동안 폐쇄적인 환경으로 구축되어 상대적으로 보안에 대해 안정적이라고 생각되어 왔으나 최근 스턱스넷(Stuxnet) 및 랜섬웨어(Ransomware) 위협 등 알려지지 않은 보안 위협이 대두되고 있으며, 국가 기반산업으로서 그 파급 효과가 매우 큰 점을 고려하여 전 세계적으로 산업제어시스템 보안위협에 대응하기 위한 기술개발에 관심을 가지고 있다.Industrial control systems have been built in a closed environment and have been considered relatively stable for security, but recently unknown security threats such as Stuxnet and Ransomware threats have emerged, and their spread as a national infrastructure industry. Considering that the effect is very large, we are interested in developing technology to respond to security threats to industrial control systems worldwide.

일반 IT 시스템이 개방형 네트워크에서 사용하는 프로토콜은 이미 알려져 있는 표준 사양이기에 데이터 패킷의 보안 위협 역시 적절하게 잘 대응되고 있으며. 기존의 알려진 보안 위협에 대해서는 블랙리스트(blacklist)를 생성하여 서로 공유하여 대처하고 있다.Since the protocol used by general IT systems in an open network is a standard specification that is already known, the security threat of data packets is also properly addressed. For existing known security threats, a blacklist is created and shared with each other to deal with it.

그러나, 산업제어시스템은 사업자 중심의 독자적인 프로토콜을 사용하고 있으며, 사업자가 자사의 프로토콜에 대한 규격(Specification)을 제공하지 않아 보안위협에 대한 대응방안 수립에 한계가 있는 상황이다. 또한, 폐쇄적인 환경 하에서 비표준 프로토콜을 사용하는 산업제어시스템에서 데이터 패킷만으로 산업제어시스템 내의 이상징후 및 각 산업시설의 이상동작 등을 파악하기 어려운 실정이므로, 산업제어시스템 및 각 산업시설의 상태를 정확하게 파악할 수 있는 방안이 요구된다.However, industrial control systems use proprietary protocols centered on operators, and operators do not provide specifications for their own protocols, so there is a limit to establishing countermeasures against security threats. In addition, in an industrial control system using non-standard protocols in a closed environment, it is difficult to identify abnormal symptoms in the industrial control system and abnormal operation of each industrial facility only with data packets. A way to find out is required.

본 발명은 상기와 같은 점을 감안하여 창안된 것으로서, 비표준 프로토콜을 사용하는 산업제어시스템에서 이상징후를 보다 정확하게 감지하는 방법 및 장치를 제공하는 데에 그 목적이 있다. The present invention has been devised in view of the above, and an object of the present invention is to provide a method and apparatus for more accurately detecting anomalies in an industrial control system using a non-standard protocol.

본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다. The technical problems to be achieved in the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art from the description below. You will be able to.

상기 목적을 달성하기 위한 본 발명에 따른 패킷 순서정보를 이용한 산업제어시스템의 이상징후 감지장치는 산업제어시스템으로부터 수집된 데이터 패킷들 중 정상적인 데이터 패킷을 식별하고, 상기 정상적인 데이터 패킷의 패킷유형정보를 포함하는 패킷 화이트리스트를 생성하는 제 1 분석모듈; 상기 정상적인 데이터 패킷들 중 각 산업시설에 유효한 데이터 패킷을 식별하고, 산업시설별로 유효한 데이터 패킷을 나타내는 산업시설별 패킷 화이트리스트를 생성하는 제 2 분석모듈; 상기 정상적인 데이터 패킷들 중 제어명령어에 따라 순차적으로 사용되는 데이터 패킷들을 그룹화하고, 상기 그룹화된 데이터 패킷들의 순서를 나타내는 패킷 순서정보들을 생성하는 제 3 분석모듈; 상기 패킷 순서정보들 중 각 산업시설에 적용되는 패킷 순서정보를 판단하여 산업시설별 패킷 순서정보를 생성하는 제 4 분석모듈; 및 실시간으로 수신되는 데이터 패킷들 및 상기 산업시설별 패킷 순서정보를 이용하여 상기 산업제어시스템 내의 이상징후를 감지하는 이상징후 감지모듈을 포함한다.In order to achieve the above object, an apparatus for detecting anomalies in an industrial control system using packet sequence information according to the present invention identifies normal data packets among data packets collected from the industrial control system and retrieves packet type information of the normal data packets. A first analysis module for generating a packet white list containing; a second analysis module for identifying data packets valid for each industrial facility among the normal data packets and generating a packet whitelist for each industrial facility indicating valid data packets for each industrial facility; a third analysis module for grouping data packets sequentially used according to a control command among the normal data packets and generating packet sequence information indicating the order of the grouped data packets; a fourth analysis module for determining packet sequence information applied to each industrial facility among the packet sequence information and generating packet sequence information for each industrial facility; and an anomaly detection module for detecting an anomaly within the industrial control system by using data packets received in real time and packet sequence information for each industrial facility.

상기 제 1 분석모듈은 상기 수집된 데이터 패킷들의 패킷유형정보를 기저장된 패킷유형정보와 비교하여 상기 정상적인 데이터 패킷을 식별한다. 상기 제 2 분석모듈은 각 산업시설을 식별하기 위한 ID 및 상기 ID에 유효한 데이터 패킷의 패킷유형정보를 포함하도록 상기 산업시설별 패킷 화이트리스트를 생성한다. 상기 제 3 분석모듈은 상기 정상적인 데이터 패킷들 중에서 동일한 제어명령어를 포함하는 데이터 패킷들의 순서를 판단하고, 상기 판단된 순서에 따라 해당 데이터 패킷들의 패킷유형정보의 순서를 나타내도록 상기 패킷 순서정보를 생성한다. 상기 제 4 분석모듈은 각 산업시설을 식별하기 위한 ID 및 상기 ID에 적용되는 패킷 순서정보를 포함하도록 상기 산업시설별 패킷 순서정보를 생성한다.The first analysis module identifies the normal data packet by comparing packet type information of the collected data packets with pre-stored packet type information. The second analysis module generates a packet whitelist for each industrial facility to include an ID for identifying each industrial facility and packet type information of data packets valid for the ID. The third analysis module determines the order of data packets including the same control command among the normal data packets, and generates the packet order information to indicate the order of packet type information of corresponding data packets according to the determined order. do. The fourth analysis module generates packet sequence information for each industrial facility to include an ID for identifying each industrial facility and packet sequence information applied to the ID.

상기 이상징후 감지모듈은 실시간으로 수신되는 데이터 패킷들에 포함된 산업시설 ID 및 패킷유형정보를 상기 산업시설별 패킷 순서정보와 비교하여 상기 산업제어시스템 내의 이상징후를 감지한다.The anomaly detection module detects an anomaly in the industrial control system by comparing industrial facility ID and packet type information included in data packets received in real time with packet sequence information for each industrial facility.

본 발명에 따른 패킷 순서정보를 이용한 산업제어시스템의 이상징후 감지바법은 산업제어시스템으로부터 수집된 데이터 패킷들 중 정상적인 데이터 패킷을 식별하는 단계; 상기 정상적인 데이터 패킷의 패킷유형정보를 포함하는 패킷 화이트리스트를 생성하는 단계; 상기 정상적인 데이터 패킷들 중 각 산업시설에 유효한 데이터 패킷을 식별하고, 산업시설별로 유효한 데이터 패킷을 나타내는 산업시설별 패킷 화이트리스트를 생성하는 단계; 상기 정상적인 데이터 패킷들 중 제어명령어에 따라 순차적으로 사용되는 데이터 패킷들을 그룹화하고, 상기 그룹화된 데이터 패킷들의 순서를 나타내는 패킷 순서정보들을 생성하는 단계; 상기 패킷 순서정보들 중 각 산업시설에 적용되는 패킷 순서정보를 판단하여 산업시설별 패킷 순서정보를 생성하는 단계; 및 실시간으로 수신되는 데이터 패킷들 및 상기 산업시설별 패킷 순서정보를 이용하여 상기 산업제어시스템 내의 이상징후를 감지하는 단계를 포함한다.An abnormal symptom detection method of an industrial control system using packet sequence information according to the present invention includes the steps of identifying normal data packets among data packets collected from an industrial control system; generating a packet whitelist including packet type information of the normal data packet; identifying data packets valid for each industrial facility among the normal data packets and generating a packet whitelist for each industrial facility indicating valid data packets for each industrial facility; grouping data packets sequentially used according to a control command among the normal data packets, and generating packet sequence information indicating an order of the grouped data packets; generating packet sequence information for each industrial facility by determining packet sequence information applied to each industrial facility among the packet sequence information; and detecting an anomaly in the industrial control system using data packets received in real time and packet sequence information for each industrial facility.

상기 정상적인 데이터 패킷을 식별하는 단계에서, 상기 수집된 데이터 패킷들의 패킷유형정보를 기저장된 패킷유형정보와 비교하여 상기 정상적인 데이터 패킷을 식별한다.In the step of identifying the normal data packet, the normal data packet is identified by comparing packet type information of the collected data packets with pre-stored packet type information.

상기 산업시설별 패킷 화이트리스트를 생성하는 단계에서, 각 산업시설을 식별하기 위한 ID 및 상기 ID에 유효한 데이터 패킷의 패킷유형정보를 포함하도록 상기 산업시설별 패킷 화이트리스트를 생성한다.In the step of generating the packet whitelist for each industrial facility, the packet whitelist for each industrial facility is created to include an ID for identifying each industrial facility and packet type information of data packets valid for the ID.

상기 패킷 순서정보들을 생성하는 단계에서 상기 정상적인 데이터 패킷들 중에서 동일한 제어명령어를 포함하는 데이터 패킷들의 순서를 판단하고, 상기 판단된 순서에 따라 해당 데이터 패킷들의 패킷유형정보의 순서를 나타내도록 상기 패킷 순서정보를 생성한다.In the step of generating the packet order information, the order of data packets including the same control command among the normal data packets is determined, and the order of the packet type information of the corresponding data packets is indicated according to the determined order. generate information

상기 산업시설별 패킷 순서정보를 생성하는 단계, 각 산업시설을 식별하기 위한 ID 및 상기 ID에 적용되는 패킷 순서정보를 포함하도록 상기 산업시설별 패킷 순서정보를 생성한다.Generating the packet sequence information for each industrial facility, generating the packet sequence information for each industrial facility to include an ID for identifying each industrial facility and packet sequence information applied to the ID.

상기 산업제어시스템 내의 이상징후를 감지하는 단계에서, 실시간으로 수신되는 데이터 패킷들에 포함된 산업시설 ID 및 패킷유형정보를 상기 산업시설별 패킷 순서정보와 비교하여 상기 산업제어시스템 내의 이상징후를 감지한다.In the step of detecting abnormal symptoms in the industrial control system, industrial facility ID and packet type information included in data packets received in real time are compared with packet order information for each industrial facility to detect abnormal symptoms in the industrial control system. .

본 발명에 따른 패킷 순서정보를 이용한 산업제어시스템의 이상징후 감지 방법 및 장치는 수집된 데이터 패킷으로부터 패킷 순서정보를 학습하고, 학습된 패킷 순서정보와 실시간으로 수집되는 데이터 패킷을 이용하여 산업제어시스템의 이상징후를 정확하게 감지할 수 있다.A method and apparatus for detecting anomalies in an industrial control system using packet sequence information according to the present invention learn packet sequence information from collected data packets, and use the learned packet sequence information and data packets collected in real time to control the industrial control system. abnormalities can be accurately detected.

도 1은 본 발명의 일 실시예에 따른 산업제어시스템의 이상징후를 감지하는 장치(10)를 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따른 산업제어시스템의 이상징후를 감지하는 방법을 나타낸 순서도이다.
도 3은 본 발명의 데이터 패킷의 일 예를 나타낸 도면이다.
도 4는 본 발명의 패킷 화이트리스트의 일 예를 나타낸 도면이다.
도 5는 본 발명의 패킷 순서정보의 일 예를 나타낸 도면이다.
1 is a diagram showing a device 10 for detecting abnormal symptoms of an industrial control system according to an embodiment of the present invention.
2 is a flowchart illustrating a method of detecting abnormal symptoms of an industrial control system according to an embodiment of the present invention.
3 is a diagram showing an example of a data packet of the present invention.
4 is a diagram showing an example of a packet whitelist according to the present invention.
5 is a diagram showing an example of packet order information according to the present invention.

본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.Specific structural or functional descriptions of the embodiments according to the concept of the present invention disclosed in this specification are only illustrated for the purpose of explaining the embodiments according to the concept of the present invention, and the embodiments according to the concept of the present invention It can be embodied in various forms and is not limited to the embodiments described herein.

본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.Embodiments according to the concept of the present invention can apply various changes and can have various forms, so the embodiments are illustrated in the drawings and described in detail in this specification. However, this is not intended to limit the embodiments according to the concept of the present invention to specific disclosure forms, and includes all changes, equivalents, or substitutes included in the spirit and technical scope of the present invention.

제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1구성요소는 제2구성요소로 명명될 수 있고, 유사하게 제2구성요소는 제1구성요소로도 명명될 수 있다.Terms such as first or second may be used to describe various components, but the components should not be limited by the terms. The above terms are only for the purpose of distinguishing one component from another component, e.g., without departing from the scope of rights according to the concept of the present invention, a first component may be termed a second component, and similarly The second component may also be referred to as the first component.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.It is understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, but other elements may exist in the middle. It should be. On the other hand, when an element is referred to as “directly connected” or “directly connected” to another element, it should be understood that no other element exists in the middle. Other expressions describing the relationship between elements, such as "between" and "directly between" or "adjacent to" and "directly adjacent to", etc., should be interpreted similarly.

본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.Terms used in this specification are only used to describe specific embodiments, and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly dictates otherwise.

본 명세서에서, "포함한다" 또는 "갖는다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.In this specification, terms such as "comprise" or "having" are intended to indicate that the described feature, number, step, operation, component, part, or combination thereof is present, but that one or more other features or numbers are present. However, it should be understood that it does not preclude the presence or addition of steps, operations, components, parts, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미가 있다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which the present invention belongs.

일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 포함하는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Terms such as those defined in commonly used dictionaries should be interpreted as including a meaning consistent with the meaning in the context of the related art, and unless explicitly defined herein, interpreted in an ideal or excessively formal meaning. It doesn't work.

이하 첨부된 도면을 참조하여 본 발명의 실시예에 따른 패킷 순서정보를 이용한 산업제어시스템의 이상징후 감지 장치 및 방법을 자세히 설명하기로 한다.Hereinafter, an apparatus and method for detecting anomalies in an industrial control system using packet sequence information according to an embodiment of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 실시예에 따른 산업제어시스템의 이상징후를 감지하는 장치(10)를 나타낸 도면이고, 도 2는 본 발명의 실시예에 따른 산업제어시스템의 이상징후를 감지하는 방법을 나타낸 순서도이다.1 is a diagram showing a device 10 for detecting abnormal symptoms of an industrial control system according to an embodiment of the present invention, and FIG. 2 shows a method for detecting abnormal symptoms of an industrial control system according to an embodiment of the present invention. It is a flow chart.

산업제어시스템(Industrial control system)은 전력, 가스, 수도, 교통 등의 국가 주요 산업시설 및 산업분야에서 원거리에 산재 된 시스템의 효과적인 원격 모니터링 및 제어를 위해 사용되는 시스템을 모두 포함할 수 있으며, 계측 제어장치와 원격 단말 장치(Remote Terminal Unit, RTU) 또는 지능형 전자 디바이스(Intelligent Electronic Device, IED) 등 단말 장치의 취득데이터를 FEP(Front-End Processor)를 통하여 상위 계층으로 전송하거나 상위의 제어 명령을 전달하는 다중 통신장치를 포함할 수 있다.The industrial control system can include all systems used for effective remote monitoring and control of systems scattered far away from major national industrial facilities and industrial fields such as power, gas, water supply, and transportation. Acquisition data of terminal devices such as control devices and remote terminal units (RTUs) or intelligent electronic devices (IEDs) are transmitted to upper layers through FEP (Front-End Processor) or control commands from upper layers are transmitted. It may include multiple communication devices that transmit.

도 1을 참조하면, 본 발명의 일 실시예에 따른 산업제어시스템의 이상징후 감지 장치(10)는 산업제어시스템에 포함되도록 구성되거나 또는 산업제어시스템과 네트워크로 연결될 수 있다.Referring to FIG. 1 , an abnormal symptom detection device 10 of an industrial control system according to an embodiment of the present invention may be configured to be included in an industrial control system or may be connected to an industrial control system through a network.

본 발명의 이상징후 감지 장치(10)는 데이터 패킷 수집모듈(110), 제 1 분석모듈(120), 제 2 분석모듈(130), 제 3 분석모듈(140), 제 4 분석모듈(150), 이상징후 감지모듈(170)을 포함한다. The abnormal symptom detection device 10 of the present invention includes a data packet collection module 110, a first analysis module 120, a second analysis module 130, a third analysis module 140, and a fourth analysis module 150. , and an anomaly detection module 170.

본 명세서에서 모듈(module)이라 함은 본 발명의 실시예에 따른 기술적 사상을 수행하기 위한 하드웨어 및 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적 또는 구조적 결합을 의미할 수 있다. 예컨대, 상기 모듈은 소정의 프로그램 코드와 상기 프로그램 코드가 수행되기 위한 하드웨어 리소스의 논리적 또는 기능적 단위를 의미할 수 있으며, 반드시 물리적으로 연결된 프로그램 코드만을 의미하거나 한 종류의 하드웨어 만을 의미하는 것은 아니다.In this specification, a module may mean a functional or structural combination of hardware for implementing technical ideas according to an embodiment of the present invention and software for driving the hardware. For example, the module may mean a logical or functional unit of predetermined program codes and hardware resources for executing the program codes, and does not necessarily mean only physically connected program codes or only one type of hardware.

데이터 패킷 수집모듈(110)은 산업제어시스템으로부터 데이터 패킷을 수신 및 수집하는데, 산업제어시스템 내부에서 발생하는 모든 데이터 패킷을 수신/수집하거나 또는 산업제어시스템 및 산업시설 사이에서 제어 명령어들이 송수신될 때 사용되는 데이터 패킷을 수신/수집할 수 있다(S11). 데이터 패킷은 적어도 하나 이상의 제어 명령어를 포함하고, 헤더(header) 영역에서 패킷유형정보를 포함한다. 패킷유형정보는 해당 데이터 패킷의 유형, 해당 데이터 패킷에 포함된 제어 명령어의 유형, 해당 데이터 패킷을 식별하기 위한 ID 중 적어도 하나를 나타낼 수 있다.The data packet collection module 110 receives and collects data packets from the industrial control system, when receiving/collecting all data packets generated inside the industrial control system or when control commands are transmitted and received between the industrial control system and industrial facilities. Data packets used may be received/collected (S11). The data packet includes at least one control command and includes packet type information in a header area. The packet type information may indicate at least one of a type of a corresponding data packet, a type of a control command included in the corresponding data packet, and an ID for identifying the corresponding data packet.

데이터 패킷 수집모듈(110)은 산업제어시스템에서 발생하는 모든 패킷 중에서 수집할 패킷 대상, 범위 및 수집 기간을 스스로 정의하고 이에 해당하는 패킷을 수집할 수 있다.The data packet collection module 110 may define the packet target, range, and collection period to be collected by itself among all packets generated in the industrial control system, and collect packets corresponding thereto.

산업제어시스템 및 산업시설 사이에서 제어 명령어들이 송수신될 때 사용되는 데이터 패킷을 수신하는 경우, 산업제어시스템 및 산업시설 사이에 위치한 네트워크 스위치에 미러링 포트가 설정된 이후에 데이터 패킷 수집모듈(110)은 네트워크 스위치를 통해서 해당 패킷을 수신할 수 있다.When receiving data packets used when control commands are transmitted and received between the industrial control system and industrial facilities, after the mirroring port is set in the network switch located between the industrial control system and industrial facilities, the data packet collection module 110 enters the network A corresponding packet can be received through a switch.

데이터 패킷 수집모듈(110)은 수집할 패킷의 대상을 소정 계층에 따라 분류할 수 있으며, 상기 계층은 크게, Statistics 계층, Protocol 계층, Service 계층, Communication 계층, Device 계층으로 분류될 수 있다. 상기 Device 계층은 디바이스 정보를 식별하기 위한 영역으로 IP address, MAC address 등이 될 수 있고, 상기 Communication 계층은 데이터의 흐름 정보를 식별하기 위한 영역으로 Source IP, Destination IP 등이 될 수 있다. 또한, 상기 Service 계층은 사용되고 있는 어플리케이션 서비스를 식별하기 위한 영역으로 Source IP, Destination IP 및 Port Number 등이 될 수 있고, 상기 Protocol 계층은 산업제어시스템에서 사용하는 프로토콜을 식별하기 위한 영역으로 사용 프로토콜 유형 정보 표준 프로토콜 세부정보, 패킷 최대 길이, 오프셋(Offset), 프로토콜 시그니쳐(Protocol Signature)가 될 수 있다. 한편, Statistics 계층은 통계적인 관점에서 산업제어 네트워크 환경에서 발생하는 패킷 사이즈를 식별하기 위한 영역으로 최대 전체 수신 패킷 사이즈, 두 노드 간 최대 통신 패킷 사이즈, 두 노드 간 최소 통신 패킷 사이즈가 될 수 있다.The data packet collecting module 110 can classify packets to be collected according to a predetermined layer, and the layer can be largely classified into a statistics layer, a protocol layer, a service layer, a communication layer, and a device layer. The Device layer is an area for identifying device information and can be an IP address, MAC address, etc., and the Communication layer is an area for identifying data flow information and can be a Source IP, Destination IP, etc. In addition, the service layer is an area for identifying the application service being used and can be a source IP, destination IP, port number, etc., and the protocol layer is an area for identifying the protocol used in the industrial control system and the type of protocol used. Information can be standard protocol details, maximum packet length, offset, and protocol signature. On the other hand, the statistics layer is an area for identifying the packet size generated in the industrial control network environment from a statistical point of view, and can be the maximum total received packet size, the maximum communication packet size between two nodes, and the minimum communication packet size between two nodes.

또한, 데이터 패킷 수집모듈(110)은 상기 수집할 패킷의 수집 기간을 사용자 설정에 따라 다양한 기간(예를 들어, 30일)으로 설정할 수 있다.In addition, the data packet collection module 110 may set the collection period of the packets to be collected to various periods (eg, 30 days) according to user settings.

제 1 분석모듈(120)은 데이터 패킷 수집모듈(110)을 통해서 수집된 데이터 패킷들 중 정상적인 데이터 패킷을 식별한다(S12). 정상적인 데이터 패킷을 식별하는 구체적인 방법은 다음과 같다. The first analysis module 120 identifies normal data packets among data packets collected through the data packet collection module 110 (S12). A specific method for identifying a normal data packet is as follows.

정상적인 데이터 패킷을 식별하는 방법 1Method 1 to identify normal data packets

제 1 분석모듈(120)은 수집된 데이터 패킷들 각각의 패킷유형정보(packet type information)를 기저장된 패킷유형정보와 비교하여 정상적인 데이터 패킷을 식별할 수 있다. 이를 위하여, 도 3에 도시된 바와 같이 제 1 분석모듈(120)은 수집된 데이터 패킷의 헤더(header)에서 패킷유형정보(packet type information)를 추출하고, 추출된 패킷유형정보와 동일한 값을 갖는 기저장된 패킷유형정보가 있는지를 판단한다. 만약, 추출된 패킷유형정보와 동일한 값을 갖는 기저장된 패킷유형정보가 있다면 해당 데이터 패킷을 정상적인 데이터 패킷으로 인식한다.The first analysis module 120 may identify normal data packets by comparing packet type information of each of the collected data packets with pre-stored packet type information. To this end, as shown in FIG. 3, the first analysis module 120 extracts packet type information from headers of collected data packets and has the same value as the extracted packet type information. It is determined whether there is pre-stored packet type information. If there is previously stored packet type information having the same value as the extracted packet type information, the corresponding data packet is recognized as a normal data packet.

정상적인 데이터 패킷을 식별하는 방법 2Method 2 to identify normal data packets

제 1 분석모듈(120)은 수집된 데이터 패킷들 각각의 헤더에서 Context ID나 Opnum 등의 값을 추출하고, 이 추출된 값들을 기저장된 정보와 비교하여 정상적인 데이터 패킷을 식별할 수 있다. 예를 들어, 추출된 Context ID와 Opnum 중 적어도 하나와 동일한 값을 갖는 기저장된 정보가 있다면 해당 데이터 패킷을 정상적인 데이터 패킷으로 인식할 수 있다.The first analysis module 120 may extract values such as Context ID or Opnum from the headers of each of the collected data packets, and compare the extracted values with pre-stored information to identify normal data packets. For example, if there is previously stored information having the same value as at least one of the extracted Context ID and Opnum, the corresponding data packet may be recognized as a normal data packet.

정상적인 데이터 패킷을 식별하는 방법 3Method 3 to identify normal data packets

제 1 분석모듈(120)은 수집된 데이터 패킷들 각각에 포함된 제어명령어를 기저장된 제어명령어와 비교하여 정상적인 데이터 패킷을 식별할 수 있다. 예를 들어, 수집된 데이터 패킷의 제어명령어가 기저장된 제어명령어에 있다면 해당 데이터 패킷을 정상적인 데이터 패킷으로 인식할 수 있다.The first analysis module 120 compares a control command included in each of the collected data packets with a pre-stored control command to identify a normal data packet. For example, if the control command of the collected data packet is included in the pre-stored control command, the corresponding data packet may be recognized as a normal data packet.

위 세 가지 방법들을 혼용하는 것도 가능하며 이들의 변형된 방법도 가능하다.It is also possible to use the above three methods in combination, and a modified method thereof is also possible.

정상적인 데이터 패킷이 식별되면, 도 4에 도시된 바와 같이 제 1 분석모듈(120)은 정상적인 데이터 패킷의 패킷유형정보를 포함하도록 패킷 화이트리스트를 생성한다(S13). 도 4는 패킷 화이트리스트의 일 예를 나타낸 도면이다. If the normal data packet is identified, as shown in FIG. 4 , the first analysis module 120 creates a packet whitelist to include packet type information of the normal data packet (S13). 4 is a diagram illustrating an example of a packet whitelist.

제 2 분석모듈(130)은 정상적인 데이터 패킷들 중 각 산업시설에 유효한 데이터 패킷을 식별하는데, 이를 위해서 각 데이터 패킷의 송신처와 수신처를 확인함으로써 각 산업시설에 유효한 데이터 패킷을 식별할 수 있다. The second analysis module 130 identifies data packets valid for each industrial facility among normal data packets. To this end, it is possible to identify data packets valid for each industrial facility by checking the source and destination of each data packet.

이어, 제 2 분석모듈(130)은 산업시설별로 유효한 데이터 패킷을 나타내는 산업시설별 패킷 화이트리스트를 생성한다(S14). 이때, 제 2 분석모듈(130)은 각 산업시설을 식별하기 위한 ID 및 상기 ID에 유효한 데이터 패킷의 패킷유형정보를 포함하도록 산업시설별 패킷 화이트리스트를 생성할 수 있다.Subsequently, the second analysis module 130 generates a packet whitelist for each industrial facility indicating valid data packets for each industrial facility (S14). In this case, the second analysis module 130 may generate a packet whitelist for each industrial facility to include an ID for identifying each industrial facility and packet type information of data packets valid for the ID.

제 3 분석모듈(140)은 정상적인 데이터 패킷들 중 제어명령어에 따라 순차적으로 사용되는 데이터 패킷들을 그룹화하고, 상기 그룹화된 데이터 패킷들의 순서를 나타내는 패킷 순서정보들을 생성한다(S15). 예를 들어, 제 3 분석모듈(140)은 정상적인 데이터 패킷들 중에서 동일한 제어명령어를 포함하는 데이터 패킷들의 순서를 판단하고, 판단된 순서에 따라 해당 데이터 패킷들의 패킷유형정보의 순서를 나타내도록 도 5와 같은 패킷 순서정보를 생성한다. 도 5는 패킷 순서정보의 일 예를 나타낸다.The third analysis module 140 groups data packets sequentially used according to a control command among normal data packets and generates packet sequence information indicating the order of the grouped data packets (S15). For example, the third analysis module 140 determines the order of data packets including the same control command among normal data packets, and displays the order of packet type information of corresponding data packets according to the determined order. Create packet sequence information such as 5 shows an example of packet order information.

또한, 제 3 분석모듈(140)은 수집된 데이터 패킷들의 패킷유형정보의 값이 변경되는 구간들에 대한 패킷 구간정보를 생성할 수 있다. 이때, 제 3 분석모듈(140)은 인공지능 분석 모델(예를 들어, Auto Encoder)을 이용하여 일정 시간을 주기로 데이터 패킷의 특이점을 추출하고 이를 이용하여 패킷 구간정보를 생성한다. 예를 들어, 수집된 데이터 패킷들 내의 패킷유형정보의 값이 변화하는 시점이 4개이면 제 3 분석모듈(140)은 이 4개의 시점을 특이점으로 추출한다. In addition, the third analysis module 140 may generate packet interval information for intervals in which the value of packet type information of the collected data packets is changed. At this time, the third analysis module 140 extracts a singularity of the data packet at regular intervals using an artificial intelligence analysis model (eg, auto encoder) and generates packet section information using this. For example, if there are four points in time at which the value of packet type information in the collected data packets changes, the third analysis module 140 extracts the four points in time as singular points.

제 3 분석모듈(140)은 추출된 특이점을 근거로 하여 상기 패킷유형정보의 값이 변경되는 타이밍에 대한 정보, 상기 변경된 패킷유형정보의 값들, 상기 패킷유형정보들의 변경 순서를 나타내는 정보 중 적어도 하나를 포함하도록 패킷 구간정보를 생성한다. 패킷 구간정보는 패킷 순서정보 대신에 사용되거나 또는 패킷 순서정보와 함께 사용될 수 있다.The third analysis module 140 performs at least one of information about the timing at which the value of the packet type information is changed, values of the changed packet type information, and information indicating a change order of the packet type information based on the extracted singularity. Packet interval information is generated to include. Packet duration information may be used instead of packet order information or may be used together with packet order information.

만약, 수집된 데이터 패킷들 중에서 적어도 하나의 데이터 패킷에 패킷유형정보가 없는 경우에는 제 3 분석모듈(140)은 해당 데이터 패킷에 적합한 패킷유형정보를 생성하고 이를 해당 데이터 패킷의 헤더에 삽입할 수 있다. 그리고 제 3 분석모듈(140)은 데이터 패킷에서 추출된 패킷유형정보 및 삽입된 패킷유형정보의 값이 변경되는 구간들 전체에 대한 패킷 구간정보를 생성할 수 있다.If at least one of the collected data packets does not have packet type information, the third analysis module 140 may generate packet type information suitable for the corresponding data packet and insert it into the header of the corresponding data packet. there is. The third analysis module 140 may generate packet section information for all sections in which values of the packet type information extracted from the data packet and the inserted packet type information are changed.

제 4 분석모듈(150)은 제 3 분석모듈(140)에서 생성된 패킷 순서정보들 중 각 산업시설에 적용되는 패킷 순서정보를 판단하여 산업시설별 패킷 순서정보를 생성하다(S16). 이때, 제 4 분석모듈(150)은 각 산업시설을 식별하기 위한 ID 및 상기 ID에 적용되는 패킷 순서정보를 포함하도록 산업시설별 패킷 순서정보를 생성할 수 있다. The fourth analysis module 150 determines packet sequence information applied to each industrial facility among the packet sequence information generated by the third analysis module 140 and generates packet sequence information for each industrial facility (S16). At this time, the fourth analysis module 150 may generate packet order information for each industrial facility to include an ID for identifying each industrial facility and packet order information applied to the ID.

상술한 패킷 화이트리스트, 산업시설별 패킷 화이트리스트, 패킷 순서정보, 산업시설별 패킷 순서정보는 긴 기간동안 반복적인 학습을 통해서 생성되는 것이 바람직하다.Preferably, the above-mentioned packet whitelist, packet whitelist for each industrial facility, packet order information, and packet order information for each industrial facility are generated through repetitive learning for a long period of time.

이상징후 감지모듈(170)은 데이터 패킷 수집모듈(110)을 통해서 데이터 패킷들을 실시간으로 수신하고, 실시간으로 수신되는 데이터 패킷들을 네 가지의 학습데이터들(패킷 화이트리스트, 산업시설별 패킷 화이트리스트, 패킷 순서정보, 산업시설별 패킷 순서정보) 중 적어도 하나와 비교하여 산업제어시스템 내의 이상징후를 감지할 수 있다(S17). The anomaly detection module 170 receives data packets in real time through the data packet collection module 110, and converts the data packets received in real time into four types of learning data (packet white list, packet white list for each industrial facility, packet It is possible to detect abnormal symptoms in the industrial control system by comparing with at least one of sequence information and packet sequence information for each industrial facility (S17).

네 가지 종류의 학습 데이터들의 사용 우선순위는 산업시설별 패킷 순서정보>패킷 순서정보>산업시설별 패킷 화이트리스트>패킷 화이트리스트 순이다. 우선순위가 높은 학습 데이터을 이용하여 경우 상대적으로 이상징후를 판단하는 데에 소요되는 시간이 적고 정확도가 더 높다. 즉, 패킷의 정상 여부와 사용순서를 나타내는 패킷 순서정보가 패킷 화이트리스트나 산업시설별 패킷 화이트리스트보다 상대적으로 소요시간이 적고 정확도가 높다. 또한, 산업시설의 종류가 파악된 경우에는 산업시설별 패킷 순서정보가 패킷 순서정보에 비해서 소요시간이 더 적고 정확도가 높다.The order of use of the four types of learning data is in the order of packet order information by industrial facility > packet order information > packet white list by industrial facility > packet white list. In the case of using high-priority learning data, the time required to determine an anomaly is relatively low and the accuracy is high. That is, the packet sequence information indicating whether the packets are normal and the order of use takes relatively less time and higher accuracy than the packet whitelist or the packet whitelist for each industrial facility. In addition, when the type of industrial facility is known, packet order information for each industrial facility takes less time and has higher accuracy than packet order information.

이상징후를 판단하기 위해서 네 가지의 학습 데이터를 모두 사용하는 것도 가능하지만, 실시간으로 수신되는 데이터 패킷의 양에 따라 학습 데이터를 선택적으로 사용하는 것이 바람직하다. 일 예로, 실시간으로 수신되는 데이터 패킷의 양이 많은 경우, 신속한 진행를 위해서 이상징후 감지모듈(170)은 실시간으로 수신되는 데이터 패킷들 및 산업시설별 패킷 순서정보만을 이용하여 산업제어시스템 내의 이상징후를 감지할 수 있다. 이때, 실시간으로 수신되는 데이터 패킷들에 포함된 산업시설 ID 및 패킷유형정보를 산업시설별 패킷 순서정보 내의 산업시설 ID와 해당 패킷 순서정보를 비교하고 동일 여부를 판단함으로써 산업제어시스템 내의 이상징후를 쉽게 감지할 수 있다. 즉, 실시간으로 수신되는 데이터 패킷들의 사용처와 순서를 산업시설별 패킷 순서정보와 비교함으로써 이상징후를 판단한다.Although it is possible to use all four types of training data to determine an anomaly, it is preferable to selectively use training data according to the amount of data packets received in real time. For example, when the amount of data packets received in real time is large, the anomaly detection module 170 detects an anomaly in the industrial control system using only the data packets received in real time and packet sequence information for each industrial facility for rapid processing. can do. At this time, by comparing the industrial facility ID and packet type information included in the data packets received in real time with the industrial facility ID and corresponding packet order information in the packet order information for each industrial facility and determining whether they are the same, abnormal symptoms in the industrial control system can be easily detected. can detect That is, abnormal symptoms are determined by comparing the usage and order of data packets received in real time with packet order information for each industrial facility.

이상, 본 발명을 본 발명의 원리를 예시하기 위한 바람직한 실시예와 관련하여 도시하고 설명하였으나, 본 발명은 그와 같이 도시되고 설명된 그대로의 구성 및 작용으로 한정되는 것이 아니다. 오히려 첨부된 특허청구범위의 사상 및 범위를 일탈함이 없이 본 발명에 대한 다수의 변경 및 수정이 가능함을 당업자들은 잘 이해할 수 있을 것이다.In the above, the present invention has been shown and described in relation to preferred embodiments for illustrating the principles of the present invention, but the present invention is not limited to the configuration and operation as shown and described. Rather, it will be appreciated by those skilled in the art that many changes and modifications may be made to the present invention without departing from the spirit and scope of the appended claims.

110: 데이터패킷 수집모듈 120: 제 1 분석모듈
130: 제 2 분석모듈 140: 제 3 분석모듈
150: 제 4 분석모듈 170: 이상징후 감지모듈
110: data packet collection module 120: first analysis module
130: second analysis module 140: third analysis module
150: fourth analysis module 170: abnormal symptom detection module

Claims (12)

산업제어시스템으로부터 수집된 데이터 패킷들 중 정상적인 데이터 패킷을 식별하고, 상기 정상적인 데이터 패킷의 패킷유형정보를 포함하는 패킷 화이트리스트를 생성하며, 상기 수집된 데이터 패킷들의 패킷유형정보를 기저장된 패킷유형정보와 비교하여 상기 정상적인 데이터 패킷을 식별하는 제 1 분석모듈;
상기 정상적인 데이터 패킷들 중 각 산업시설에 유효한 데이터 패킷을 식별하고, 산업시설별로 유효한 데이터 패킷을 나타내는 산업시설별 패킷 화이트리스트를 생성하는 제 2 분석모듈;
상기 정상적인 데이터 패킷들 중 제어명령어에 따라 순차적으로 사용되는 데이터 패킷들을 그룹화하고, 상기 그룹화된 데이터 패킷들의 순서를 나타내는 패킷 순서정보들을 생성하며, 상기 정상적인 데이터 패킷들 중에서 동일한 제어명령어를 포함하는 데이터 패킷들의 순서를 판단하고, 상기 판단된 순서에 따라 해당 데이터 패킷들의 패킷유형정보의 순서를 나타내도록 상기 패킷 순서정보를 생성하는 제 3 분석모듈;
상기 패킷 순서정보들 중 각 산업시설에 적용되는 패킷 순서정보를 판단하여 산업시설별 패킷 순서정보를 생성하는 제 4 분석모듈; 및
실시간으로 수신되는 데이터 패킷들 및 상기 산업시설별 패킷 순서정보를 이용하여 상기 산업제어시스템 내의 이상징후를 감지하는 이상징후 감지모듈을 포함하고;
상기 제 3 분석모듈은 인공지능 분석 모델로써 일정 시간을 주기로 데이터 패킷의 특이점을 추출하고, 추출된 특이점을 이용하여 수집된 데이터 패킷들의 패킷유형정보의 값이 변경되는 구간들에 대한 패킷 구간정보를 생성하며;
상기 이상징후 감지모듈은,
실시간으로 수신되는 데이터 패킷들에 포함된 산업시설 ID 및 패킷유형정보를 상기 산업시설별 패킷 순서정보 및 패킷 구간정보와 비교하여 상기 산업제어시스템 내의 이상징후를 감지하는 것을 특징으로 하는 패킷 순서정보를 이용한 산업제어시스템의 이상징후 감지장치.
Among the data packets collected from the industrial control system, a normal data packet is identified, a packet whitelist including the packet type information of the normal data packet is created, and the packet type information of the collected data packets is converted into pre-stored packet type information. A first analysis module for identifying the normal data packet by comparison with;
a second analysis module for identifying data packets valid for each industrial facility among the normal data packets and generating a packet whitelist for each industrial facility indicating valid data packets for each industrial facility;
Among the normal data packets, data packets sequentially used according to a control command are grouped, packet order information indicating the order of the grouped data packets is generated, and data packets including the same control command among the normal data packets a third analysis module for determining the order of data packets and generating the packet order information to indicate the order of packet type information of corresponding data packets according to the determined order;
a fourth analysis module for determining packet sequence information applied to each industrial facility among the packet sequence information and generating packet sequence information for each industrial facility; and
and an anomaly detection module for detecting an anomaly in the industrial control system using data packets received in real time and packet sequence information for each industrial facility;
The third analysis module is an artificial intelligence analysis model, which extracts singularities of data packets at regular intervals and uses the extracted singularities to obtain packet interval information for intervals in which the value of packet type information of collected data packets is changed. generate;
The abnormal symptom detection module,
Industrial facility ID and packet type information included in data packets received in real time are compared with packet order information and packet section information for each industrial facility to detect abnormalities in the industrial control system. Abnormal symptom detection device of industrial control system.
삭제delete 제 1 항에 있어서,
상기 제 2 분석모듈은,
각 산업시설을 식별하기 위한 ID 및 상기 ID에 유효한 데이터 패킷의 패킷유형정보를 포함하도록 상기 산업시설별 패킷 화이트리스트를 생성하는 것을 특징으로 하는 패킷 순서정보를 이용한 산업제어시스템의 이상징후 감지장치.
According to claim 1,
The second analysis module,
A device for detecting anomalies in an industrial control system using packet order information, characterized in that a packet whitelist for each industrial facility is generated to include an ID for identifying each industrial facility and packet type information of data packets valid for the ID.
삭제delete 제 1 항에 있어서,
상기 제 4 분석모듈은,
각 산업시설을 식별하기 위한 ID 및 상기 ID에 적용되는 패킷 순서정보를 포함하도록 상기 산업시설별 패킷 순서정보를 생성하는 것을 특징으로 하는 패킷 순서정보를 이용한 산업제어시스템의 이상징후 감지장치.
According to claim 1,
The fourth analysis module,
An abnormal symptom detection device of an industrial control system using packet sequence information, characterized in that for generating packet sequence information for each industrial facility to include an ID for identifying each industrial facility and packet sequence information applied to the ID.
삭제delete 산업제어시스템으로부터 수집된 데이터 패킷들 중 정상적인 데이터 패킷을 식별하는 단계;
상기 정상적인 데이터 패킷의 패킷유형정보를 포함하는 패킷 화이트리스트를 생성하는 단계;
상기 정상적인 데이터 패킷들 중 각 산업시설에 유효한 데이터 패킷을 식별하고, 산업시설별로 유효한 데이터 패킷을 나타내는 산업시설별 패킷 화이트리스트를 생성하는 단계;
상기 정상적인 데이터 패킷들 중 제어명령어에 따라 순차적으로 사용되는 데이터 패킷들을 그룹화하고, 상기 그룹화된 데이터 패킷들의 순서를 나타내는 패킷 순서정보들을 생성하는 단계;
상기 패킷 순서정보들 중 각 산업시설에 적용되는 패킷 순서정보를 판단하여 산업시설별 패킷 순서정보를 생성하는 단계; 및
실시간으로 수신되는 데이터 패킷들 및 상기 산업시설별 패킷 순서정보를 이용하여 상기 산업제어시스템 내의 이상징후를 감지하는 단계를 포함하며,

상기 산업제어시스템으로부터 수집된 데이터 패킷들 중 정상적인 데이터 패킷을 식별하는 단계에서,
상기 수집된 데이터 패킷들의 패킷유형정보를 기저장된 패킷유형정보와 비교하여 상기 정상적인 데이터 패킷을 식별하고,

상기 패킷 순서정보들을 생성하는 단계에서,
상기 정상적인 데이터 패킷들 중에서 동일한 제어명령어를 포함하는 데이터 패킷들의 순서를 판단하고, 상기 판단된 순서에 따라 해당 데이터 패킷들의 패킷유형정보의 순서를 나타내도록 상기 패킷 순서정보를 생성하며,
인공지능 분석 모델로써 일정 시간을 주기로 데이터 패킷의 특이점을 추출하고, 추출된 특이점을 이용하여 수집된 데이터 패킷들의 패킷유형정보의 값이 변경되는 구간들에 대한 패킷 구간정보를 생성하고,

상기 산업제어시스템 내의 이상징후를 감지하는 단계에서,
실시간으로 수신되는 데이터 패킷들에 포함된 산업시설 ID 및 패킷유형정보를 상기 산업시설별 패킷 순서정보 및 패킷 구간정보와 비교하여 상기 산업제어시스템 내의 이상징후를 감지하는 것을 특징으로 하는 패킷 순서정보를 이용한 산업제어시스템의 이상징후 감지방법.
Identifying normal data packets among data packets collected from the industrial control system;
generating a packet whitelist including packet type information of the normal data packet;
identifying data packets valid for each industrial facility among the normal data packets and generating a packet whitelist for each industrial facility indicating valid data packets for each industrial facility;
grouping data packets sequentially used according to a control command among the normal data packets, and generating packet sequence information indicating an order of the grouped data packets;
generating packet sequence information for each industrial facility by determining packet sequence information applied to each industrial facility among the packet sequence information; and
Detecting an anomaly in the industrial control system using data packets received in real time and packet sequence information for each industrial facility,

In the step of identifying normal data packets among data packets collected from the industrial control system,
Identifying the normal data packet by comparing packet type information of the collected data packets with pre-stored packet type information;

In the step of generating the packet order information,
Determining the order of data packets including the same control command among the normal data packets, and generating the packet order information to indicate the order of packet type information of the corresponding data packets according to the determined order;
As an artificial intelligence analysis model, singular points of data packets are extracted at regular intervals, and packet section information for sections in which the value of packet type information of the collected data packets is changed using the extracted singular points is generated,

In the step of detecting abnormal symptoms in the industrial control system,
Industrial facility ID and packet type information included in data packets received in real time are compared with packet order information and packet section information for each industrial facility to detect abnormalities in the industrial control system. A method for detecting anomalies in industrial control systems.
삭제delete 제 7 항에 있어서,
상기 산업시설별 패킷 화이트리스트를 생성하는 단계에서,
각 산업시설을 식별하기 위한 ID 및 상기 ID에 유효한 데이터 패킷의 패킷유형정보를 포함하도록 상기 산업시설별 패킷 화이트리스트를 생성하는 것을 특징으로 하는 패킷 순서정보를 이용한 산업제어시스템의 이상징후 감지방법.
According to claim 7,
In the step of generating the packet whitelist for each industrial facility,
A method for detecting anomalies in an industrial control system using packet order information, characterized in that a packet whitelist for each industrial facility is generated to include an ID for identifying each industrial facility and packet type information of data packets valid for the ID.
삭제delete 제 7 항에 있어서,
상기 산업시설별 패킷 순서정보를 생성하는 단계,
각 산업시설을 식별하기 위한 ID 및 상기 ID에 적용되는 패킷 순서정보를 포함하도록 상기 산업시설별 패킷 순서정보를 생성하는 것을 특징으로 하는 패킷 순서정보를 이용한 산업제어시스템의 이상징후 감지방법.


According to claim 7,
Generating packet sequence information for each industrial facility;
A method for detecting anomalies in an industrial control system using packet sequence information, characterized in that the packet sequence information for each industrial facility is generated to include an ID for identifying each industrial facility and packet sequence information applied to the ID.


삭제delete
KR1020220036479A 2022-03-24 2022-03-24 Method and apparatus for detecting anomalies in industrial control system using packet order information KR102484940B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220036479A KR102484940B1 (en) 2022-03-24 2022-03-24 Method and apparatus for detecting anomalies in industrial control system using packet order information

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220036479A KR102484940B1 (en) 2022-03-24 2022-03-24 Method and apparatus for detecting anomalies in industrial control system using packet order information

Publications (1)

Publication Number Publication Date
KR102484940B1 true KR102484940B1 (en) 2023-01-06

Family

ID=84923918

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220036479A KR102484940B1 (en) 2022-03-24 2022-03-24 Method and apparatus for detecting anomalies in industrial control system using packet order information

Country Status (1)

Country Link
KR (1) KR102484940B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130034773A (en) * 2011-09-29 2013-04-08 한국전력공사 Apparatus and method for monitoring network using whitelist
KR20150026345A (en) * 2013-09-02 2015-03-11 한국전력공사 Apparatus and method for creating whitelist with network traffic

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130034773A (en) * 2011-09-29 2013-04-08 한국전력공사 Apparatus and method for monitoring network using whitelist
KR20150026345A (en) * 2013-09-02 2015-03-11 한국전력공사 Apparatus and method for creating whitelist with network traffic

Similar Documents

Publication Publication Date Title
CN110011999B (en) IPv6 network DDoS attack detection system and method based on deep learning
KR102500033B1 (en) Method and apparatus for detecting anomalies in industrial control system
CN109600363B (en) Internet of things terminal network portrait and abnormal network access behavior detection method
CN109547409B (en) Method and system for analyzing industrial network transmission protocol
US9264378B2 (en) Network monitoring by using packet header analysis
CN110336827B (en) Modbus TCP protocol fuzzy test method based on abnormal field positioning
KR102001813B1 (en) Apparatus and method for detecting abnormal behavior of nonstandard protocol payload using deep neural network algorithm
CN113206860B (en) DRDoS attack detection method based on machine learning and feature selection
CN110808865A (en) Passive industrial control network topology discovery method and industrial control network security management system
Matoušek et al. Efficient modelling of ICS communication for anomaly detection using probabilistic automata
CN117411703A (en) Modbus protocol-oriented industrial control network abnormal flow detection method
US11297082B2 (en) Protocol-independent anomaly detection
Pashamokhtari et al. Progressive monitoring of iot networks using sdn and cost-effective traffic signatures
CN111818049A (en) Botnet flow detection method and system based on Markov model
WO2022221389A1 (en) Method and system for intelligent and scalable misbehavior detection of heterogeneous iot devices at network edge
KR102484940B1 (en) Method and apparatus for detecting anomalies in industrial control system using packet order information
CN112291226B (en) Method and device for detecting abnormity of network flow
CN111858140B (en) Method, device, server and medium for checking pollutant monitoring data
CN117294515A (en) Industrial control network protocol fuzzy test method based on generation of countermeasure network
Leal Piedrahita Hierarchical Clustering for Detecting Anomalous Traffic Conditions in Power Substations
Sapozhnikova et al. Intrusion detection system based on data mining technics for industrial networks
CN116527307A (en) Botnet detection algorithm based on community discovery
CN116405261A (en) Malicious flow detection method, system and storage medium based on deep learning
KR102037192B1 (en) Device and method for continuous signal traffic detection of network traffic through hierarchical structure learning
KR102484932B1 (en) Method and apparatus for detecting anomalies in industrial control system using status information of industrial facilities

Legal Events

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