KR102541309B1 - Method and Apparatus for Anomaly Detection of Communication in Industrial Control System Environment - Google Patents

Method and Apparatus for Anomaly Detection of Communication in Industrial Control System Environment Download PDF

Info

Publication number
KR102541309B1
KR102541309B1 KR1020210009156A KR20210009156A KR102541309B1 KR 102541309 B1 KR102541309 B1 KR 102541309B1 KR 1020210009156 A KR1020210009156 A KR 1020210009156A KR 20210009156 A KR20210009156 A KR 20210009156A KR 102541309 B1 KR102541309 B1 KR 102541309B1
Authority
KR
South Korea
Prior art keywords
communication
learning
packet
packets
iot
Prior art date
Application number
KR1020210009156A
Other languages
Korean (ko)
Other versions
KR20220106335A (en
Inventor
손태식
김성진
Original Assignee
아주대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 아주대학교산학협력단 filed Critical 아주대학교산학협력단
Priority to KR1020210009156A priority Critical patent/KR102541309B1/en
Publication of KR20220106335A publication Critical patent/KR20220106335A/en
Application granted granted Critical
Publication of KR102541309B1 publication Critical patent/KR102541309B1/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
    • H04L43/06Generation of reports
    • H04L43/065Generation of reports related to network devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks

Abstract

본 발명은 산업용 제어 시스템 환경에서 통신의 비정상상태를 탐지하는 방법 및 장치에 관한 것으로, 전자장치가 서로 다른 통신 프로토콜을 사용하는 복수의 IoT(internet of things)단말과의 통신에 의해 복수의 IoT단말로부터 수신된 학습용 패킷을 기반으로 주기적인 통신 패턴을 자동으로 분석하는 단계, 전자장치가 주기적인 통신 패턴을 갖는 학습용 패킷을 기반으로 복수의 IoT단말과의 통신 정상상태를 학습하여 학습모델을 생성하는 단계, 전자장치가 학습모델이 생성되면, 복수의 IoT단말과의 통신에 의한 탐지용 패킷을 수신하는 단계, 전자장치가 탐지용 패킷을 기반으로 패킷 시퀀스를 생성하는 단계 및 전자장치가 패킷 시퀀스를 학습모델에 적용하여 복수의 IoT단말 중 적어도 하나의 IoT단말과의 통신 비정상상태를 탐지하는 단계를 포함하며 다른 실시 예로도 적용이 가능하다.The present invention relates to a method and apparatus for detecting an abnormal state of communication in an industrial control system environment, wherein an electronic device communicates with a plurality of IoT (internet of things) terminals using different communication protocols to a plurality of IoT terminals. Automatically analyzing a periodic communication pattern based on the learning packet received from the electronic device, learning a normal state of communication with a plurality of IoT terminals based on the learning packet having a periodic communication pattern to create a learning model Steps, when the learning model is generated by the electronic device, receiving packets for detection through communication with a plurality of IoT terminals, generating a packet sequence based on the packets for detection by the electronic device, and generating the packet sequence by the electronic device Applying the learning model to detecting an abnormal communication state with at least one IoT terminal among a plurality of IoT terminals, and can be applied to other embodiments.

Description

산업용 제어 시스템 환경에서 통신의 비정상상태를 탐지하는 방법 및 장치{Method and Apparatus for Anomaly Detection of Communication in Industrial Control System Environment}Method and apparatus for detecting abnormal state of communication in industrial control system environment {Method and Apparatus for Anomaly Detection of Communication in Industrial Control System Environment}

본 발명은 산업용 제어 시스템 환경에서 통신의 비정상상태를 탐지하는 방법 및 장치에 관한 것이다. The present invention relates to a method and apparatus for detecting an abnormal state of communication in an industrial control system environment.

일반적인 산업용 제어 시스템(ICS; industrial control system) 환경은 복수의 산업용 IoT 단말로 구성되며, IoT단말들은 산업용 제어 프로토콜을 사용하여 서로 간의 통신을 수행한다. 그러나, 이러한 IoT단말들은 서로 상이한 통신 프로토콜을 사용하기도 하고, 각 단말별로 다양한 통신주기를 가지고 있어 통신 패턴을 이용한 정상 상태 규정을 위해서는 전문가의 분석이 요구된다.A general industrial control system (ICS) environment is composed of a plurality of industrial IoT terminals, and the IoT terminals communicate with each other using an industrial control protocol. However, since these IoT terminals use different communication protocols and have various communication cycles for each terminal, an expert's analysis is required to define a steady state using a communication pattern.

큰 규모의 산업용 제어 시스템 환경을 갖춘 기업에서는 전문가들을 채용하여 전문가들이 IoT단말들의 통신 패킷을 일일이 분석한 후 정상 상태를 규정함으로써, 비정상상태를 탐지하는 시스템을 구축한다. 그러나, 작은 규모의 산업용 제어 시스템 환경을 갖춘 기업에서는 경제적인 문제로 상기와 같은 방식을 적용하기가 어려운 문제점이 발생한다. Companies with a large-scale industrial control system environment employ experts to build a system that detects abnormal conditions by analyzing the communication packets of IoT terminals one by one and defining normal conditions. However, it is difficult to apply the above method due to economic problems in a company having a small-scale industrial control system environment.

또한, 산업용 제어 시스템 환경에서는 복수의 IoT단말들이 주기적인 통신과 비주기적인 통신을 함께 사용하는 것이 일반적이기 때문에, 네트워크 딜레이가 발생할 뿐 아니라, 전문가들이 통신 패킷을 분석하더라도 분석 과정에서 휴먼 에러로 인해 통신 패턴의 분석이 잘못될 확률이 높아지는 문제점이 발생한다.In addition, since it is common for a plurality of IoT terminals to use both periodic and non-periodic communication in an industrial control system environment, not only network delay occurs, but even if experts analyze communication packets, human errors may occur during the analysis process. There arises a problem that the analysis of the communication pattern increases the probability of being wrong.

이러한 종래의 문제점을 해결하기 위한 본 발명의 실시 예들은 산업용 제어 시스템을 구현하는 산업용 IoT단말의 통신 패턴을 자동으로 분석하고, 분석된 통신 패턴의 주기성을 기반으로 통신의 비정상상태를 탐지할 수 있는 산업용 제어 시스템 환경에서 통신의 비정상상태를 탐지하는 방법 및 장치를 제공하는 것이다.Embodiments of the present invention to solve these conventional problems automatically analyze the communication pattern of the industrial IoT terminal implementing the industrial control system, and can detect an abnormal state of communication based on the periodicity of the analyzed communication pattern. It is to provide a method and apparatus for detecting an abnormal state of communication in an industrial control system environment.

본 발명의 실시 예에 따른 산업용 제어 시스템 환경에서 통신의 비정상상태를 탐지하는 방법은, 전자장치가 서로 다른 통신 프로토콜을 사용하는 복수의 IoT(internet of things)단말과의 통신에 의해 상기 복수의 IoT단말로부터 수신된 학습용 패킷을 기반으로 주기적인 통신 패턴을 자동으로 분석하는 단계, 상기 전자장치가 상기 주기적인 통신 패턴을 갖는 상기 학습용 패킷을 기반으로 상기 복수의 IoT단말과의 통신 정상상태를 학습하여 학습모델을 생성하는 단계, 상기 전자장치가 상기 학습모델이 생성되면, 상기 복수의 IoT단말과의 통신에 의한 탐지용 패킷을 수신하는 단계, 상기 전자장치가 상기 탐지용 패킷을 기반으로 패킷 시퀀스를 생성하는 단계 및 상기 전자장치가 상기 패킷 시퀀스를 상기 학습모델에 적용하여 상기 복수의 IoT단말 중 적어도 하나의 IoT단말과의 통신 비정상상태를 탐지하는 단계를 포함하는 것을 특징으로 한다. A method for detecting an abnormal state of communication in an industrial control system environment according to an embodiment of the present invention is an electronic device communicating with a plurality of Internet of Things (IoT) terminals using different communication protocols, thereby Automatically analyzing a periodic communication pattern based on a learning packet received from a terminal, wherein the electronic device learns a normal state of communication with the plurality of IoT terminals based on the learning packet having the periodic communication pattern Generating a learning model; receiving, by the electronic device, packets for detection through communication with the plurality of IoT terminals when the learning model is generated; and, by the electronic device, generating a packet sequence based on the detection packets. generating and detecting, by the electronic device, an abnormal communication state with at least one IoT terminal among the plurality of IoT terminals by applying the packet sequence to the learning model.

또한, 통신 패턴을 자동으로 분석하는 단계는, 상기 학습용 패킷을 파싱하여 상기 학습용 패킷에 포함된 정보를 확인하는 단계, 상기 정보 중 근원지 IP 및 목적지 IP를 확인하여 상기 학습용 패킷을 통신구간별로 분리하는 단계, 상기 정보 중 함수 코드 및 타겟 데이터 객체를 기반으로 상기 통신구간별로 분리된 상기 학습용 패킷을 그룹핑하는 단계 및 상기 그룹핑된 상기 학습용 패킷에 대한 주기적인 통신 패턴을 자동으로 분석하는 단계를 포함하는 것을 특징으로 한다.In addition, the step of automatically analyzing the communication pattern includes parsing the learning packet and checking information included in the learning packet, checking a source IP and a destination IP among the information and separating the learning packet by communication section. The step of grouping the learning packets separated by the communication section based on the function code and the target data object among the information and automatically analyzing a periodic communication pattern for the grouped learning packets. to be characterized

또한, 그룹핑된 상기 학습용 패킷에 대한 주기적인 통신 패턴을 자동으로 분석하는 단계는, 적어도 하나의 그룹에 포함된 학습용 패킷들을 기반으로 그룹별 주기적인 통신 시퀀스를 분석하는 단계 및 상기 분석된 주기적인 통신 시퀀스를 조합하여 그룹별로 상기 주기적인 통신 패턴을 생성하는 단계를 포함하는 것을 특징으로 한다.In addition, the step of automatically analyzing the periodic communication pattern for the grouped training packets includes the steps of analyzing the periodic communication sequence for each group based on the learning packets included in at least one group and the analyzed periodic communication and generating the periodic communication pattern for each group by combining sequences.

또한, 주기적인 통신 시퀀스를 분석하는 단계는, 상기 학습용 패킷에 대한 수신 시점 사이의 간격이 비주기적인 패킷을 삭제하는 단계를 포함하는 것을 특징으로 한다. Also, the step of analyzing the periodic communication sequence may include deleting packets whose intervals between reception timings of the learning packets are aperiodic.

또한, 패킷 시퀀스를 생성하는 단계는, 상기 탐지용 패킷을 파싱하여 상기 탐지용 패킷에 포함된 정보를 확인하는 단계, 상기 정보 중 근원지 IP 및 목적지 IP를 확인하여 상기 탐지용 패킷을 통신구간별로 분리하는 단계 및 상기 통신구간별로 주기통신 및 비주기통신에 대한 상기 패킷 시퀀스를 생성하는 단계를 포함하는 것을 특징으로 한다.In addition, generating a packet sequence may include parsing the detection packets and checking information included in the detection packets, checking a source IP and a destination IP among the information, and separating the detection packets by communication section. and generating the packet sequence for periodic communication and aperiodic communication for each communication section.

아울러, 본 발명의 실시 예에 따른 산업용 제어 시스템 환경에서 통신의 비정상상태 탐지를 수행하는 전자장치는, 서로 다른 통신 프로토콜을 사용하는 복수의 IoT(internet of things)단말과 통신을 수행하는 통신부 및 상기 복수의 IoT단말로부터 수신된 학습용 패킷을 기반으로 주기적인 통신 패턴을 자동으로 분석하여 주기적인 통신 패턴을 갖는 상기 학습용 패킷을 기반으로 상기 복수의 IoT단말과의 통신 정상상태를 학습하여 학습모델을 생성하고, 상기 학습모델이 생성되면, 상기 복수의 IoT단말과의 통신에 의해 수신된 탐지용 패킷을 기반으로 패킷 시퀀스를 생성하고 상기 패킷 시퀀스를 상기 학습모델에 적용하여 상기 복수의 IoT단말 중 적어도 하나의 IoT단말과의 통신 비정상상태를 탐지하는 제어부를 포함하는 것을 특징으로 한다.In addition, an electronic device for detecting an abnormal state of communication in an industrial control system environment according to an embodiment of the present invention includes a communication unit that communicates with a plurality of internet of things (IoT) terminals using different communication protocols and the above Based on the learning packets received from a plurality of IoT terminals, periodic communication patterns are automatically analyzed, and based on the learning packets having periodic communication patterns, a normal state of communication with the plurality of IoT terminals is learned to create a learning model. and when the learning model is generated, a packet sequence is generated based on packets for detection received through communication with the plurality of IoT terminals, and the packet sequence is applied to the learning model to at least one of the plurality of IoT terminals. It is characterized in that it includes a control unit for detecting an abnormal state of communication with the IoT terminal.

또한, 제어부는, 상기 학습용 패킷을 파싱하여 상기 학습용 패킷에 포함된 근원지 IP, 목적지 IP, 함수 코드 및 타겟 데이터 객체를 확인하고, 상기 근원지 IP 및 상기 목적지 IP를 기반으로 상기 학습용 패킷을 통신구간별로 분리하는 것을 특징으로 한다. In addition, the control unit parses the learning packet to check the source IP, destination IP, function code, and target data object included in the learning packet, and divides the learning packet by communication section based on the source IP and the destination IP. characterized by separation.

또한, 제어부는, 상기 함수 코드 및 상기 타겟 데이터 객체를 기반으로 상기 통신구간별로 분리된 상기 학습용 패킷을 그룹핑하고, 상기 그룹핑된 상기 학습용 패킷에 대한 주기적인 통신 패턴을 자동으로 분석하는 것을 특징으로 한다. In addition, the control unit groups the learning packets separated by the communication section based on the function code and the target data object, and automatically analyzes a periodic communication pattern for the grouped learning packets. .

또한, 제어부는, 적어도 하나의 그룹에 포함된 학습용 패킷들을 기반으로 그룹별 주기적인 통신 시퀀스를 분석하고, 상기 주기적인 통신 시퀀스를 조합하여 그룹별로 상기 주기적인 통신 패턴을 생성하는 것을 특징으로 한다. Further, the controller may analyze the periodic communication sequence for each group based on the learning packets included in at least one group, and generate the periodic communication pattern for each group by combining the periodic communication sequence.

또한, 제어부는, 상기 학습용 패킷에 대한 수신 시점 사이의 간격이 비주기적인 패킷을 삭제하는 것을 특징으로 한다.In addition, the control unit may delete packets having an aperiodic interval between reception timings of the learning packets.

또한, 제어부는, 상기 탐지용 패킷을 파싱하여 근원지 IP 및 목적지 IP를 포함하는 상기 탐지용 패킷 정보를 확인하고, 상기 탐지용 패킷을 통신구간별로 분리하는 것을 특징으로 한다. In addition, the controller parses the detection packet to check the detection packet information including a source IP and a destination IP, and separates the detection packet for each communication section.

또한, 제어부는, 상기 통신구간별로 주기통신 및 비주기통신에 대한 상기 패킷 시퀀스를 생성하는 것을 특징으로 한다. In addition, the controller may generate the packet sequence for periodic communication and aperiodic communication for each communication section.

상술한 바와 같이 본 발명에 따른 산업용 제어 시스템 환경에서 통신의 비정상상태를 탐지하는 방법 및 장치는, 산업용 제어 시스템을 구현하는 산업용 IoT단말의 통신 패턴을 자동으로 분석하고, 분석된 통신 패턴의 주기성을 기반으로 통신의 비정상상태를 탐지함으로써, 비정상상태 탐지를 위한 정상상태를 규정하는 과정에서 발생되는 휴먼 에러를 방지하고 정상상태 규정에 소모되는 비용을 낮출 수 있는 효과가 있다.As described above, the method and apparatus for detecting an abnormal state of communication in an industrial control system environment according to the present invention automatically analyzes the communication pattern of the industrial IoT terminal implementing the industrial control system and determines the periodicity of the analyzed communication pattern. By detecting an abnormal state of communication based on this, it is possible to prevent human error occurring in the process of defining a normal state for detecting an abnormal state and to reduce the cost of defining a normal state.

도 1은 본 발명의 실시 예에 따른 산업용 제어 시스템 환경에서 통신의 비정상상태를 탐지하는 시스템을 나타낸 도면이다.
도 2는 본 발명의 실시 예에 따른 산업용 제어 시스템 환경에서 통신의 비정상상태를 탐지하는 기능을 포함하는 전자장치를 나타낸 도면이다.
도 3은 본 발명의 실시 예에 따른 통신의 비정상상태 탐지를 위한 학습을 수행하는 방법을 설명하기 위한 순서도이다.
도 4는 본 발명의 실시 예에 따른 통신패턴을 생성하는 방법을 설명하기 위한 예시도이다.
도 5는 본 발명의 실시 예에 따른 통신의 비정상상태를 탐지하는 방법을 설명하기 위한 순서도이다.
1 is a diagram illustrating a system for detecting an abnormal state of communication in an industrial control system environment according to an embodiment of the present invention.
2 is a diagram illustrating an electronic device including a function of detecting an abnormal state of communication in an industrial control system environment according to an embodiment of the present invention.
3 is a flowchart illustrating a method of performing learning for detecting an abnormal state of communication according to an embodiment of the present invention.
4 is an exemplary diagram for explaining a method of generating a communication pattern according to an embodiment of the present invention.
5 is a flowchart illustrating a method of detecting an abnormal state of communication according to an embodiment of the present invention.

이하, 본 발명에 따른 바람직한 실시 형태를 첨부된 도면을 참조하여 상세하게 설명한다. 첨부된 도면과 함께 이하에 개시될 상세한 설명은 본 발명의 예시적인 실시형태를 설명하고자 하는 것이며, 본 발명이 실시될 수 있는 유일한 실시형태를 나타내고자 하는 것이 아니다. 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략할 수 있고, 명세서 전체를 통하여 동일 또는 유사한 구성 요소에 대해서는 동일한 참조 부호를 사용할 수 있다.Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the accompanying drawings. The detailed description set forth below in conjunction with the accompanying drawings is intended to describe exemplary embodiments of the present invention and is not intended to represent the only embodiments in which the present invention may be practiced. In order to clearly describe the present invention in the drawings, parts irrelevant to the description may be omitted, and the same reference numerals may be used for the same or similar components throughout the specification.

본 발명의 일 실시 예에서, “또는”, “적어도 하나” 등의 표현은 함께 나열된 단어들 중 하나를 나타내거나, 또는 둘 이상의 조합을 나타낼 수 있다. 예를 들어, “A 또는 B”, “A 및 B 중 적어도 하나”는 A 또는 B 중 하나만을 포함할 수 있고, A와 B를 모두 포함할 수도 있다.In one embodiment of the present invention, expressions such as “or” and “at least one” may represent one of the words listed together, or a combination of two or more. For example, "A or B" and "at least one of A and B" may include only one of A or B, or may include both A and B.

도 1은 본 발명의 실시 예에 따른 산업용 제어 시스템 환경에서 통신의 비정상상태를 탐지하는 시스템을 나타낸 도면이다. 1 is a diagram illustrating a system for detecting an abnormal state of communication in an industrial control system environment according to an embodiment of the present invention.

도 1을 참조하면, 본 발명에 따른 시스템(10)은 복수의 IoT단말(100)과 전자장치(200)를 포함한다. Referring to FIG. 1 , a system 10 according to the present invention includes a plurality of IoT terminals 100 and an electronic device 200.

복수의 IoT단말(100)은, 제1 IoT단말(110), 제2 IoT단말(120) 내지 제n IoT단말(130)을 포함하고, IoT단말(100)은 전자장치(200)와의 통신을 통해 산업용 제어 시스템(ICS; industrial control system) 환경을 구축하는 단말을 의미하며, 센서, 네트워크 장치, PLC(programmable logic controller), 로봇 등의 장치를 포함할 수 있다. IoT단말(100)은 IoT단말끼리의 통신을 수행하기도 하고, 전자장치(200)와의 통신을 통해 전자장치(200)의 제어에 의한 동작을 수행하기도 한다. 이를 위해, IoT단말(100)은 무선 통신 및 유선 통신 등의 통신을 수행한다. The plurality of IoT terminals 100 include a first IoT terminal 110, a second IoT terminal 120 to an nth IoT terminal 130, and the IoT terminal 100 communicates with the electronic device 200. It refers to a terminal that builds an industrial control system (ICS) environment through a terminal, and may include devices such as a sensor, a network device, a programmable logic controller (PLC), and a robot. The IoT terminal 100 performs communication between IoT terminals and also performs operations by control of the electronic device 200 through communication with the electronic device 200 . To this end, the IoT terminal 100 performs communication such as wireless communication and wired communication.

전자장치(200)는 복수의 IoT단말(100)과 함께 산업용 제어 시스템 환경을 구축하고, IoT단말(100)과의 통신을 통해 IoT단말(100)의 동작을 제어하고, IoT단말(100) 중 적어도 하나의 IoT단말과의 통신의 정상상태 및 비정상태 여부를 탐지한다. 이를 위해, 제어부(250)는 IoT단말(100)과의 통신 비정상상태를 탐지할 수 있는 딥러닝 모델의 학습을 수행한다. 이와 같은 전자장치(200)의 동작은 하기의 도 2를 이용하여 보다 구체적으로 설명하기로 한다. 도 2는 본 발명의 실시 예에 따른 산업용 제어 시스템 환경에서 통신의 비정상상태를 탐지하는 기능을 포함하는 전자장치를 나타낸 도면이다. 아울러, 본 발명의 실시 예에서 전자장치(200)는 컴퓨터, 태블릿 PC(personal computer) 등의 장치일 수 있으나, 반드시 이에 한정되는 것은 아니며, 서버의 형태로 구축될 수 있음을 명확히 하는 바이다. The electronic device 200 builds an industrial control system environment together with a plurality of IoT terminals 100, controls the operation of the IoT terminal 100 through communication with the IoT terminal 100, and among the IoT terminals 100 It detects whether communication with at least one IoT terminal is normal or abnormal. To this end, the control unit 250 performs learning of a deep learning model capable of detecting an abnormal communication state with the IoT terminal 100. The operation of the electronic device 200 will be described in more detail with reference to FIG. 2 below. 2 is a diagram illustrating an electronic device including a function of detecting an abnormal state of communication in an industrial control system environment according to an embodiment of the present invention. In addition, in an embodiment of the present invention, the electronic device 200 may be a device such as a computer or a tablet PC (personal computer), but is not necessarily limited thereto, and it should be clarified that it may be built in the form of a server.

도 2를 참조하면, 본 발명에 따른 전자장치(200)는 통신부(210), 입력부(220), 표시부(230), 메모리(240) 및 제어부(250)를 포함한다. Referring to FIG. 2 , an electronic device 200 according to the present invention includes a communication unit 210, an input unit 220, a display unit 230, a memory 240, and a control unit 250.

통신부(210)는 IoT단말(100)과의 통신을 수행한다. 이를 위해, 통신부(210)는 IoT단말(100)과 유선 통신을 이용한 포트 미러링을 수행할 수 있다. The communication unit 210 performs communication with the IoT terminal 100. To this end, the communication unit 210 may perform port mirroring using wired communication with the IoT terminal 100 .

입력부(220)는 전자장치(200) 사용자의 입력에 대응하여 입력 데이터를 발생시킨다. 이를 위해, 입력부(220)는 키보드, 마우스, 키패드, 돔 스위치, 터치패널, 터치 키 및 버튼 등의 입력장치를 포함할 수 있다.The input unit 220 generates input data in response to a user's input of the electronic device 200 . To this end, the input unit 220 may include input devices such as a keyboard, mouse, keypad, dome switch, touch panel, touch keys and buttons.

표시부(230)는 전자장치(200)의 동작에 따른 출력 데이터를 출력한다. 이를 위해, 표시부(230)는 액정 디스플레이(LCD; liquid crystal display), 발광 다이오드(LED; light emitting diode) 디스플레이, 유기 발광 다이오드(OLED; organic LED) 디스플레이 등의 디스플레이 장치를 포함할 수 있다. 아울러, 표시부(230)는 입력부(220)와 결합되어 터치 스크린(touch screen)의 형태로 구현될 수 있다.The display unit 230 outputs output data according to the operation of the electronic device 200 . To this end, the display unit 230 may include a display device such as a liquid crystal display (LCD), a light emitting diode (LED) display, or an organic LED (OLED) display. In addition, the display unit 230 may be combined with the input unit 220 and implemented in the form of a touch screen.

메모리(240)는 전자장치(200)의 동작 프로그램들을 저장한다. 특히, 메모리(240)는 제어부(250)에서 학습된 딥러닝 모델을 저장한다. 메모리(240)는 제어부(250)에서 딥러닝 모델을 생성할 수 있도록 IoT단말(100)에서 수신된 학습용 패킷을 기반으로 IoT단말(100)의 주기적인 통신 패턴을 자동으로 분석하기 위한 알고리즘을 저장한다. The memory 240 stores operating programs of the electronic device 200 . In particular, the memory 240 stores the deep learning model learned by the control unit 250 . The memory 240 stores an algorithm for automatically analyzing a periodic communication pattern of the IoT terminal 100 based on the learning packet received from the IoT terminal 100 so that the control unit 250 can generate a deep learning model. do.

제어부(250)는 IoT단말(100)과의 통신 비정상상태를 탐지하기 위한 학습을 수행하고, 학습이 완료되면 IoT단말(100)과의 통신을 통해 통신 비정상상태를 감지한다. 보다 구체적으로, 제어부(250)는 입력부(220)로부터 산업용 제어 시스템 환경에서 IoT단말(100) 중 적어도 하나의 IoT단말과의 통신 정상상태에 대한 학습을 시작하기 위한 학습시작신호가 수신되면 IoT단말(100)로부터 학습용 패킷을 수신한다. The control unit 250 performs learning to detect an abnormal communication state with the IoT terminal 100, and detects an abnormal communication state through communication with the IoT terminal 100 when the learning is completed. More specifically, the control unit 250 receives a learning start signal for starting learning about a normal state of communication with at least one IoT terminal among the IoT terminals 100 in an industrial control system environment from the input unit 220, the IoT terminal A learning packet is received from (100).

제어부(250)는 수신된 학습용 패킷의 파싱을 통해 학습용 패킷에 포함된 시각, 근원지(source) IP, 목적지(destination) IP, 함수 코드(function code), 타겟 데이터 오브젝트(target data object)를 확인한다. 제어부(250)는 근원지 IP와 목적지 IP를 기반으로 트래픽을 분리하여 통신구간별 분리를 수행한다. 제어부(250)는 함수 코드 및 타겟 데이터 객체를 기반으로 학습용 패킷을 그룹화한다. 이로 인해, 동일한 그룹에 포함된 패킷들은 모두 동일한 근원지 IP, 목적지 IP, 함수 코드 및 타겟 데이터 오브젝트를 가질 수 있다. The control unit 250 checks the time, source IP, destination IP, function code, and target data object included in the training packet through parsing of the received training packet. . The control unit 250 separates traffic by communication section based on the source IP and the destination IP. The control unit 250 groups training packets based on function codes and target data objects. For this reason, all packets included in the same group may have the same source IP, destination IP, function code, and target data object.

이어서, 제어부(250)는 각 그룹에 포함된 패킷들을 기반으로 그룹별로 주기적인 통신 시퀀스를 분석하고, 그룹별로 주기적인 통신 시퀀스를 조합하여 주기적인 통신 패턴을 생성한다. 제어부(250)는 생성된 주기적인 통신 패턴을 갖는 패킷들만을 이용하여 딥러닝 모델을 학습한다. Next, the controller 250 analyzes the periodic communication sequence for each group based on the packets included in each group, and generates a periodic communication pattern by combining the periodic communication sequence for each group. The controller 250 learns the deep learning model using only the packets having the generated periodic communication pattern.

이때, 제어부(250)는 RNN(recurrent neural network)기반 딥러닝 알고리즘의 일종인 LSTM(long short term memory)을 이용하여 딥러닝 모델을 학습할 수 있다. 이를 통해, 제어부(250)는 복수의 IoT단말(100)과의 통신에 대한 정상상태를 규정할 수 있다. 제어부(250)는 딥러닝 모델의 학습이 완료되면, 이를 메모리(240)에 저장한다. In this case, the controller 250 may learn a deep learning model using long short term memory (LSTM), which is a type of deep learning algorithm based on a recurrent neural network (RNN). Through this, the controller 250 may define a normal state for communication with the plurality of IoT terminals 100 . When the learning of the deep learning model is completed, the controller 250 stores it in the memory 240 .

상기와 같이 딥러닝 모델의 학습이 완료되면 제어부(250)는 입력부(220)로부터 산업용 제어 시스템 환경에서 IoT단말(100) 중 적어도 하나의 IoT단말과의 통신에 대한 비정상상태를 탐지하기 위한 비정상상태 탐지시작신호를 수신한다. 제어부(250)는 탐지시작신호를 기반으로 IoT단말(100)과의 통신을 통해 IoT단말(100)로부터 탐지용 패킷을 수신한다. 제어부(250)는 수신된 탐지용 패킷의 파싱을 통해 탐지용 패킷에 포함된 시각, 근원지 IP, 목적지 IP, 함수 코드, 타겟 데이터 오브젝트를 확인한다.When the learning of the deep learning model is completed as described above, the controller 250 detects an abnormal state for communication with at least one IoT terminal among the IoT terminals 100 in an industrial control system environment from the input unit 220. Receive a detection start signal. The control unit 250 receives a packet for detection from the IoT terminal 100 through communication with the IoT terminal 100 based on the detection start signal. The control unit 250 checks the time, source IP, destination IP, function code, and target data object included in the detection packet through parsing of the received detection packet.

제어부(250)는 근원지 IP와 목적지 IP를 기반으로 트래픽을 분리하여 통신구간별 분리를 수행하고, 메모리(240)에 저장된 딥러닝 모델에 입력으로 사용하기 위한 통신구간별 패킷 시퀀스를 생성한다. 이때, 제어부(250)는 IoT단말(100)과의 주기통신 및 비주기통신 모두에 대한 패킷 시퀀스를 생성할 수 있다. The control unit 250 separates the traffic based on the source IP and the destination IP, performs separation by communication section, and generates a packet sequence for each communication section to be used as an input to the deep learning model stored in the memory 240. At this time, the control unit 250 may generate a packet sequence for both periodic communication and aperiodic communication with the IoT terminal 100.

제어부(250)는 생성된 패킷 시퀀스를 딥러닝 모델에 적용한다. 제어부(250)는 딥러닝 모델에 적용한 결과, IoT단말(100) 중 적어도 하나의 IoT단말(100)과의 통신이 비정상상태인 것으로 탐지되면 이를 알리는 알람을 출력한다. 보다 구체적으로, 제어부(250)는 딥러닝 모델에서 예측된 예측 패킷과 IoT단말(100)에서 수신된 탐지용 패킷을 매칭하여 정상 패킷과 비정상 패킷을 구분할 수 있다. 제어부(250)는 딥러닝 모델에 정상적인 주기의 패킷 시퀀스를 입력하여 딥러닝 모델에 의해 예측된 예측 패킷을 확인할 수 있다. 제어부(250)는 딥러닝 모델에 의해 예측된 예측 패킷과 탐지용 패킷이 동일하면 IoT단말(100)과의 통신이 정상상태인 것으로 탐지하고, 예측 패킷과 탐지용 패킷이 동일하지 않으면 제어부(250)는 IoT단말(100)과의 통신이 비정상상태인 것으로 탐지할 수 있다. The controller 250 applies the generated packet sequence to the deep learning model. As a result of application to the deep learning model, the control unit 250 outputs an alarm notifying this when it is detected that communication with at least one IoT terminal 100 among the IoT terminals 100 is in an abnormal state. More specifically, the control unit 250 may distinguish normal packets from abnormal packets by matching prediction packets predicted by the deep learning model with packets for detection received from the IoT terminal 100 . The control unit 250 may check a predicted packet predicted by the deep learning model by inputting a packet sequence of a normal period to the deep learning model. The control unit 250 detects that communication with the IoT terminal 100 is in a normal state if the prediction packet predicted by the deep learning model and the detection packet are the same, and if the prediction packet and the detection packet are not identical, the control unit 250 ) can detect that communication with the IoT terminal 100 is in an abnormal state.

도 3은 본 발명의 실시 예에 따른 통신의 비정상상태 탐지를 위한 학습을 수행하는 방법을 설명하기 위한 순서도이다. 정상상태를 규정하기 위해 통신 주기를 이용할 경우에는 발생된 네트워크 딜레이에 의해 정확도가 저하되는 문제점이 발생한다. 따라서, 본 발명에서는 이를 해소하기 위하여 통신 구간별로 패킷을 분리하고 각 통신 구간의 패킷 시퀀스를 학습에 사용한다. 3 is a flowchart illustrating a method of performing learning for detecting an abnormal state of communication according to an embodiment of the present invention. When a communication period is used to define a normal state, a problem in that accuracy is degraded due to network delay occurs. Therefore, in the present invention, in order to solve this problem, packets are separated for each communication section and the packet sequence of each communication section is used for learning.

도 3을 참조하면, 301단계에서 제어부(250)는 입력부(220)로부터 산업용 제어 시스템 환경에서 IoT단말(100) 중 적어도 하나의 IoT단말과의 통신 정상상태에 대한 학습을 시작하기 위한 학습시작신호의 수신여부를 확인한다. 301단계의 확인결과, 학습시작신호가 수신되면 제어부(250)는 303단계를 수행하고, 학습시작신호가 수신되지 않으면 학습시작신호의 수신을 대기한다. Referring to FIG. 3, in step 301, the control unit 250 receives a learning start signal for starting learning about a normal state of communication with at least one IoT terminal among the IoT terminals 100 in an industrial control system environment from the input unit 220. check the reception of As a result of checking in step 301, if the learning start signal is received, the control unit 250 performs step 303, and if the learning start signal is not received, it waits for reception of the learning start signal.

303단계에서 제어부(250)는 산업용 제어 시스템 환경을 구축하는 IoT단말(100)과의 통신을 통해 IoT단말(100)로부터 학습용 패킷을 수신한다. 305단계에서 제어부(250)는 수신된 학습용 패킷의 파싱을 수행한다. 이를 통해, 제어부(250)는 학습용 패킷에 포함된 시각, 근원지 IP, 목적지 IP, 함수 코드, 타겟 데이터 오브젝트를 확인한다. In step 303, the controller 250 receives a learning packet from the IoT terminal 100 through communication with the IoT terminal 100 constructing an industrial control system environment. In step 305, the controller 250 parses the received learning packet. Through this, the control unit 250 checks the time, source IP, destination IP, function code, and target data object included in the learning packet.

307단계에서 제어부(250)는 근원지 IP와 목적지 IP를 기반으로 트래픽을 분리하여 학습용 패킷을 통신구간별로 분리한다. 309단계에서 제어부(250)는 함수 코드 및 타겟 데이터 객체를 기반으로 학습용 패킷을 그룹화한다. 이로 인해, 동일한 그룹에 포함된 패킷들은 모두 동일한 근원지 IP, 목적지 IP, 함수 코드 및 타겟 데이터 오브젝트를 가질 수 있다. In step 307, the control unit 250 separates traffic based on the source IP and destination IP and separates learning packets by communication section. In step 309, the control unit 250 groups training packets based on function codes and target data objects. For this reason, all packets included in the same group may have the same source IP, destination IP, function code, and target data object.

311단계에서 제어부(250)는 각 그룹에 포함된 패킷들을 기반으로 그룹별로 주기적인 통신 시퀀스를 분석하고, 그룹별로 주기적인 통신 시퀀스를 조합하여 그룹별로 주기적인 통신 패턴을 생성한다. 이때, 주기적인 통신 패턴을 생성하기 위한 방법은 하기의 도 4를 이용하여 보다 구체적으로 설명하기로 한다. 도 4는 본 발명의 실시 예에 따른 통신 패턴을 생성하는 방법을 설명하기 위한 예시도이다.In step 311, the control unit 250 analyzes the periodic communication sequence for each group based on the packets included in each group, and generates a periodic communication pattern for each group by combining the periodic communication sequence for each group. At this time, a method for generating a periodic communication pattern will be described in more detail with reference to FIG. 4 below. 4 is an exemplary diagram for explaining a method of generating a communication pattern according to an embodiment of the present invention.

도 4를 참조하면, 도면부호 401은 통신구간별 분리를 통해 생성된 시간에 따른 패킷 수집 세부 정보를 나타낸다. 이때, 단일 통신을 이용하는 IoT단말로부터 수집되는 패킷 a와 b같이 동시에 수집되기 때문에 패킷의 주기성 분석이 용이하지 않다. Referring to FIG. 4 , reference numeral 401 denotes detailed packet collection information according to time generated through separation by communication section. At this time, it is not easy to analyze the periodicity of the packets because they are collected at the same time as the packets a and b collected from the IoT terminal using a single communication.

따라서, 제어부(250)는 도면부호 403과 같이 함수 코드 및 타겟 데이터 객체를 기반으로 그룹화를 수행한다. 그룹화를 수행하면, 함수 코드 및 타겟 데이터 객체를 기반으로 a와 b로 분류되고, a와 b 각각의 패킷이 수신된 시간별로 정렬된다. 여기서, 제어부(250)는 시간축을 기준으로 a와 b가 각각 수신된 시점을 확인한다. Accordingly, the control unit 250 performs grouping based on function codes and target data objects as shown by reference numeral 403 . When grouping is performed, it is classified into a and b based on the function code and the target data object, and the packets of a and b are sorted by received time. Here, the control unit 250 checks when a and b are respectively received based on the time axis.

확인결과, 제어부(250)는 a패킷의 경우, 수신된 시점 사이의 간격이

Figure 112021008635795-pat00001
임으로 주기적임을 확인할 수 있고, b패킷의 경우, 수신된 시점 사이의 간격이
Figure 112021008635795-pat00002
Figure 112021008635795-pat00003
로 상이함을 확인할 수 있다. 제어부(250)는 확인결과에 따라
Figure 112021008635795-pat00004
Figure 112021008635795-pat00005
중 시간차가 최대인
Figure 112021008635795-pat00006
을 주기성을 확인하기 위한 시간으로 확인한다. As a result of the check, the control unit 250 determines that, in the case of packet a, the interval between the received times is
Figure 112021008635795-pat00001
Arbitrarily, it can be confirmed that it is periodic, and in the case of the b packet, the interval between the received points is
Figure 112021008635795-pat00002
class
Figure 112021008635795-pat00003
The difference can be confirmed by The control unit 250 according to the confirmation result
Figure 112021008635795-pat00004
class
Figure 112021008635795-pat00005
with the largest time difference
Figure 112021008635795-pat00006
is checked as the time to check the periodicity.

제어부(250)는 도면부호 405에서와 같이 비주기적인 간격으로 수집된 패킷(411)을 삭제한다. 제어부(250)는 비주기적인 간격으로 수집된 패킷(411)을 삭제한 이후에 a와 b를 결합하여 도면부호 407과 같은 주기적인 통신 패턴을 생성한다. As shown in reference numeral 405, the control unit 250 deletes packets 411 collected at non-periodic intervals. After deleting the packets 411 collected at non-periodic intervals, the control unit 250 combines a and b to generate a periodic communication pattern as indicated by reference numeral 407 .

이어서, 313단계에서 제어부(250)는 주기적인 통신 패턴을 갖는 패킷들만을 이용하여 딥러닝 모델을 학습한다. 보다 구체적으로, 제어부(250)는 RNN(recurrent neural network)기반 딥러닝 알고리즘의 일종인 LSTM(long short term memory)을 이용하여 딥러닝 모델을 학습할 수 있다. 이를 통해, 제어부(250)는 복수의 IoT단말(100)과의 통신에 대한 정상상태를 규정할 수 있다. Subsequently, in step 313, the controller 250 learns the deep learning model using only packets having periodic communication patterns. More specifically, the controller 250 may learn a deep learning model using long short term memory (LSTM), which is a type of deep learning algorithm based on a recurrent neural network (RNN). Through this, the controller 250 may define a normal state for communication with the plurality of IoT terminals 100 .

315단계에서 제어부(250)는 딥러닝 모델의 학습이 완료된 것으로 확인되면 317단계를 수행하여 학습이 완료된 딥러닝 모델을 메모리(240)에 저장한다. 반대로, 315단계에서 제어부(250)는 딥러딩 모델의 학습이 완료되지 않은 것으로 확인되면 303단계로 회귀하여 303단계 내지 313단계의 동작을 재수행할 수 있다. In step 315, if it is confirmed that the learning of the deep learning model is completed, the controller 250 performs step 317 to store the deep learning model in the memory 240. Conversely, in step 315, if it is determined that the learning of the deep learning model is not completed, the control unit 250 may return to step 303 and perform the operations of steps 303 to 313 again.

이와 같이, 본 발명은 주기적인 통신 패턴을 이용하여 통신의 정상상태를 정의하기 때문에, 통신 패턴의 주기성에 따라 정상상태를 자동으로 조절할 수 있다. 따라서, 서로 다른 통신 프로토콜을 사용하는 IoT단말의 종류와 관계없이 많은 산업용 제어 시스템에서 사용할 수 있는 효과가 발생한다.In this way, since the present invention defines the normal state of communication using a periodic communication pattern, the normal state can be automatically adjusted according to the periodicity of the communication pattern. Therefore, an effect that can be used in many industrial control systems occurs regardless of the type of IoT terminal using different communication protocols.

도 5는 본 발명의 실시 예에 따른 통신의 비정상상태를 탐지하는 방법을 설명하기 위한 순서도이다. 5 is a flowchart illustrating a method of detecting an abnormal state of communication according to an embodiment of the present invention.

도 5를 참조하면, 501단계에서 제어부(250)는 입력부(220)로부터 산업용 제어 시스템 환경에서 IoT단말(100) 중 적어도 하나의 IoT단말과의 통신에 대한 비정상상태를 탐지하기 위한 비정상상태 탐지시작신호의 수신여부를 확인한다. 501단계의 확인결과, 탐지시작신호가 수신되면 제어부(250)는 503단계를 수행하고, 탐지시작신호가 수신되지 않으면 제어부(250)는 탐지시작신호의 수신을 대기한다. Referring to FIG. 5, in step 501, the control unit 250 starts detecting an abnormal state for communication with at least one IoT terminal among the IoT terminals 100 in an industrial control system environment from the input unit 220. Check whether the signal is received. As a result of checking in step 501, if the detection start signal is received, the controller 250 performs step 503, and if the detection start signal is not received, the controller 250 waits for reception of the detection start signal.

503단계에서 제어부(250)는 산업용 제어 시스템 환경을 구축하는 IoT단말(100)과의 통신을 통해 IoT단말(100)로부터 탐지용 패킷을 수신한다. 505단계에서 제어부(250)는 수신된 탐지용 패킷의 파싱을 수행한다. 이를 통해, 제어부(250)는 탐지용 패킷에 포함된 시각, 근원지 IP, 목적지 IP, 함수 코드, 타겟 데이터 오브젝트를 확인한다.In step 503, the control unit 250 receives a packet for detection from the IoT terminal 100 through communication with the IoT terminal 100 constructing an industrial control system environment. In step 505, the controller 250 parses the received packet for detection. Through this, the controller 250 checks the time, source IP, destination IP, function code, and target data object included in the detection packet.

507단계에서 제어부(250)는 근원지 IP와 목적지 IP를 기반으로 트래픽을 분리하여 통신구간별 분리를 수행한다. 509단계에서 제어부(250)는 도 3의 313단계에서 생성된 딥러닝 모델에 입력으로 사용하기 위해 통신구간별로 패킷 시퀀스를 생성하고, 511단계를 수행한다. 이때, 제어부(250)는 IoT단말(100)과의 주기통신 및 비주기통신 모두에 대한 패킷 시퀀스를 생성할 수 있다. In step 507, the control unit 250 separates traffic based on the source IP and the destination IP and performs separation by communication section. In step 509, the control unit 250 generates a packet sequence for each communication section to be used as an input for the deep learning model generated in step 313 of FIG. 3, and performs step 511. At this time, the control unit 250 may generate a packet sequence for both periodic communication and aperiodic communication with the IoT terminal 100.

511단계에서 제어부(250)는 생성된 패킷 시퀀스를 딥러닝 모델에 적용한다. 513단계에서 제어부(250)는 딥러닝 모델에 적용한 결과, IoT단말(100) 중 적어도 하나의 IoT단말(100)과의 통신이 비정상상태인 것으로 탐지되면 515단계를 수행하고, 비정상상태가 아닌 것으로 탐지되면 517단계를 수행한다. 515단계에서 제어부(250)는 확인결과에 따라 비정상상태가 탐지되었음을 알리는 알람을 출력하고 517단계를 수행한다. In step 511, the controller 250 applies the generated packet sequence to the deep learning model. In step 513, the controller 250 performs step 515 when it is detected that communication with at least one IoT terminal 100 among the IoT terminals 100 is in an abnormal state as a result of applying the deep learning model, and determines that the state is not in an abnormal state. If detected, step 517 is performed. In step 515, the control unit 250 outputs an alarm notifying that an abnormal state has been detected according to the check result and performs step 517.

보다 구체적으로, 제어부(250)는 딥러닝 모델에서 예측된 예측 패킷과 IoT단말(100)에서 수신된 탐지용 패킷을 매칭하여 정상 패킷과 비정상 패킷을 구분할 수 있다. 제어부(250)는 딥러닝 모델에 정상적인 주기의 패킷 시퀀스를 입력하여 딥러닝 모델에 의해 예측된 예측 패킷을 확인할 수 있다. 제어부(250)는 딥러닝 모델에 의해 예측된 예측 패킷과 탐지용 패킷이 동일하면 IoT단말(100)과의 통신이 정상상태인 것으로 탐지하고, 예측 패킷과 탐지용 패킷이 동일하지 않으면 제어부(250)는 IoT단말(100)과의 통신이 비정상상태인 것으로 탐지할 수 있다. More specifically, the control unit 250 may distinguish normal packets from abnormal packets by matching prediction packets predicted by the deep learning model with packets for detection received from the IoT terminal 100 . The control unit 250 may check a predicted packet predicted by the deep learning model by inputting a packet sequence of a normal period to the deep learning model. The control unit 250 detects that communication with the IoT terminal 100 is in a normal state if the prediction packet predicted by the deep learning model and the detection packet are the same, and if the prediction packet and the detection packet are not identical, the control unit 250 ) can detect that communication with the IoT terminal 100 is in an abnormal state.

517단계에서 제어부(250)는 입력부(220)로부터 IoT단말(100)과의 통신 비정상상태의 탐지를 종료하기 위한 종료신호의 수신여부를 확인한다. 517단계의 확인결과, 종료신호가 수신되면 제어부(250)는 해당 프로세스를 종료하고, 종료신호가 수신되지 않으면 503단계로 회귀하여 503단계 내지 515단계의 동작을 재수행할 수 있다. In step 517, the control unit 250 checks whether an end signal for terminating detection of an abnormal communication state with the IoT terminal 100 is received from the input unit 220. As a result of checking in step 517, if an end signal is received, the control unit 250 ends the corresponding process, and if the end signal is not received, it may return to step 503 and repeat the operations of steps 503 to 515.

이와 같이, 본 발명은 IoT단말(100)과의 통신 정상상태를 학습할 수 있는 동작과 통신 비정상상태를 탐지하는 동작이 별도로 실행됨으로써 학습용 패킷을 오염시켜 잘못된 학습을 유도하는 적대적 공격에 대해 견고한 장점이 있다. As such, the present invention has a solid advantage against hostile attacks that induce false learning by contaminating learning packets by separately executing an operation for learning a normal communication state with the IoT terminal 100 and an operation for detecting an abnormal communication state. there is

본 명세서와 도면에 개시된 본 발명의 실시 예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 따라서 본 발명의 범위는 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상을 바탕으로 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.Embodiments of the present invention disclosed in the present specification and drawings are only presented as specific examples to easily explain the technical content of the present invention and help understanding of the present invention, and are not intended to limit the scope of the present invention. Therefore, the scope of the present invention should be construed as including all changes or modifications derived based on the technical idea of the present invention in addition to the embodiments disclosed herein.

Claims (12)

전자장치가 서로 다른 통신 프로토콜을 사용하는 복수의 IoT(internet of things)단말과의 통신에 의해 상기 복수의 IoT단말로부터 수신된 학습용 패킷의 통신 패턴을 자동으로 분석하여 주기적인 통신 패턴을 갖는 학습용 패킷과 비주기적인 통신 패턴을 갖는 학습용 패킷을 확인하여 상기 비주기적인 통신 패턴을 갖는 학습용 패킷을 삭제하는 단계;
상기 전자장치가 상기 주기적인 통신 패턴을 갖는 상기 학습용 패킷을 기반으로 상기 복수의 IoT단말과의 통신 정상상태를 학습하여 학습모델을 생성하는 단계;
상기 전자장치가 상기 학습모델이 생성되면, 상기 복수의 IoT단말과의 통신에 의한 탐지용 패킷을 수신하는 단계;
상기 전자장치가 상기 탐지용 패킷을 기반으로 패킷 시퀀스를 생성하는 단계; 및
상기 전자장치가 상기 패킷 시퀀스를 상기 학습모델에 적용하여 상기 복수의 IoT단말 중 적어도 하나의 IoT단말과의 통신 비정상상태를 탐지하는 단계;
를 포함하는 것을 특징으로 하는 통신의 비정상상태 탐지 방법.
Learning packets having periodic communication patterns by automatically analyzing communication patterns of learning packets received from a plurality of Internet of Things (IoT) terminals by an electronic device communicating with a plurality of Internet of Things (IoT) terminals using different communication protocols. and checking learning packets having an aperiodic communication pattern and deleting the learning packets having the aperiodic communication pattern;
generating, by the electronic device, a learning model by learning a normal state of communication with the plurality of IoT terminals based on the learning packet having the periodic communication pattern;
receiving, by the electronic device, a packet for detection through communication with the plurality of IoT terminals when the learning model is generated;
generating, by the electronic device, a packet sequence based on the detection packet; and
detecting, by the electronic device, an abnormal communication state with at least one IoT terminal among the plurality of IoT terminals by applying the packet sequence to the learning model;
A method for detecting an abnormal state of communication, comprising:
제1항에 있어서,
상기 학습용 패킷을 삭제하는 단계는,
상기 학습용 패킷을 파싱하여 상기 학습용 패킷에 포함된 정보를 확인하는 단계;
상기 정보 중 근원지 IP 및 목적지 IP를 확인하여 상기 학습용 패킷을 통신구간별로 분리하는 단계;
상기 정보 중 함수 코드 및 타겟 데이터 객체를 기반으로 상기 통신구간별로 분리된 상기 학습용 패킷을 그룹핑하는 단계; 및
상기 그룹핑된 상기 학습용 패킷에 대한 상기 주기적인 통신 패턴을 자동으로 분석하는 단계;
를 포함하는 것을 특징으로 하는 통신의 비정상상태 탐지 방법.
According to claim 1,
The step of deleting the learning packet,
parsing the learning packet and checking information included in the learning packet;
checking the source IP and the destination IP among the information and separating the learning packet by communication section;
grouping the training packets separated for each communication section based on a function code and a target data object among the information; and
automatically analyzing the periodic communication pattern for the grouped training packets;
A method for detecting an abnormal state of communication, comprising:
제2항에 있어서,
상기 주기적인 통신 패턴을 자동으로 분석하는 단계는,
적어도 하나의 그룹에 포함된 학습용 패킷들을 기반으로 그룹별 주기적인 통신 시퀀스를 분석하는 단계; 및
상기 분석된 주기적인 통신 시퀀스를 조합하여 그룹별로 상기 주기적인 통신 패턴을 생성하는 단계;
를 포함하는 것을 특징으로 하는 통신의 비정상상태 탐지 방법.
According to claim 2,
The step of automatically analyzing the periodic communication pattern,
Analyzing a periodic communication sequence for each group based on learning packets included in at least one group; and
generating the periodic communication pattern for each group by combining the analyzed periodic communication sequences;
A method for detecting an abnormal state of communication, comprising:
삭제delete 제1항에 있어서,
상기 패킷 시퀀스를 생성하는 단계는,
상기 탐지용 패킷을 파싱하여 상기 탐지용 패킷에 포함된 정보를 확인하는 단계;
상기 정보 중 근원지 IP 및 목적지 IP를 확인하여 상기 탐지용 패킷을 통신구간별로 분리하는 단계; 및
상기 통신구간별로 주기통신 및 비주기통신에 대한 상기 패킷 시퀀스를 생성하는 단계;
를 포함하는 것을 특징으로 하는 통신의 비정상상태 탐지 방법.
According to claim 1,
Generating the packet sequence,
parsing the detection packet and checking information included in the detection packet;
checking a source IP and a destination IP among the information and separating the detection packets by communication section; and
generating the packet sequence for periodic communication and aperiodic communication for each communication section;
A method for detecting an abnormal state of communication, comprising:
서로 다른 통신 프로토콜을 사용하는 복수의 IoT(internet of things)단말과 통신을 수행하는 통신부; 및
상기 복수의 IoT단말로부터 수신된 학습용 패킷의 통신 패턴을 자동으로 분석하여 주기적인 통신 패턴을 갖는 학습용 패킷과 비주기적인 통신 패턴을 갖는 학습용 패킷을 확인하여 상기 비주기적인 통신 패턴을 갖는 학습용 패킷을 삭제하고, 상기 주기적인 통신 패턴을 갖는 학습용 패킷을 기반으로 상기 복수의 IoT단말과의 통신 정상상태를 학습하여 학습모델을 생성하고,
상기 학습모델이 생성되면, 상기 복수의 IoT단말과의 통신에 의해 수신된 탐지용 패킷을 기반으로 패킷 시퀀스를 생성하고 상기 패킷 시퀀스를 상기 학습모델에 적용하여 상기 복수의 IoT단말 중 적어도 하나의 IoT단말과의 통신 비정상상태를 탐지하는 제어부;
를 포함하는 것을 특징으로 하는 통신의 비정상상태 탐지를 수행하는 전자장치.
A communication unit for performing communication with a plurality of internet of things (IoT) terminals using different communication protocols; and
Automatically analyze the communication patterns of the learning packets received from the plurality of IoT terminals to identify learning packets having a periodic communication pattern and learning packets having an aperiodic communication pattern to obtain learning packets having an aperiodic communication pattern. delete, and based on the learning packet having the periodic communication pattern, learning a normal state of communication with the plurality of IoT terminals to create a learning model,
When the learning model is generated, a packet sequence is generated based on packets for detection received through communication with the plurality of IoT terminals, and the packet sequence is applied to the learning model to detect at least one IoT among the plurality of IoT terminals. a control unit that detects an abnormal state of communication with the terminal;
An electronic device performing abnormal state detection of communication, characterized in that it comprises a.
제6항에 있어서,
상기 제어부는,
상기 학습용 패킷을 파싱하여 상기 학습용 패킷에 포함된 근원지 IP, 목적지 IP, 함수 코드 및 타겟 데이터 객체를 확인하고, 상기 근원지 IP 및 상기 목적지 IP를 기반으로 상기 학습용 패킷을 통신구간별로 분리하는 것을 특징으로 하는 통신의 비정상상태 탐지를 수행하는 전자장치.
According to claim 6,
The control unit,
Parsing the learning packet to check the source IP, destination IP, function code, and target data object included in the learning packet, and dividing the learning packet by communication section based on the source IP and the destination IP An electronic device that performs abnormal state detection of communication.
제7항에 있어서,
상기 제어부는,
상기 함수 코드 및 상기 타겟 데이터 객체를 기반으로 상기 통신구간별로 분리된 상기 학습용 패킷을 그룹핑하고, 상기 그룹핑된 상기 학습용 패킷에 대한 상기 주기적인 통신 패턴을 자동으로 분석하는 것을 특징으로 하는 통신의 비정상상태 탐지를 수행하는 전자장치.
According to claim 7,
The control unit,
Abnormal state of communication, characterized in that the grouping of the learning packets separated by the communication section based on the function code and the target data object and automatically analyzing the periodic communication pattern for the grouped learning packets. The electronics that do the detection.
제8항에 있어서,
상기 제어부는,
적어도 하나의 그룹에 포함된 학습용 패킷들을 기반으로 그룹별 주기적인 통신 시퀀스를 분석하고, 상기 주기적인 통신 시퀀스를 조합하여 그룹별로 상기 주기적인 통신 패턴을 생성하는 것을 특징으로 하는 통신의 비정상상태 탐지를 수행하는 전자장치.
According to claim 8,
The control unit,
Detecting an abnormal state of communication, characterized in that the periodic communication sequence for each group is analyzed based on the learning packets included in at least one group, and the periodic communication pattern is generated for each group by combining the periodic communication sequence. electronics to perform.
삭제delete 제6항에 있어서,
상기 제어부는,
상기 탐지용 패킷을 파싱하여 근원지 IP 및 목적지 IP를 포함하는 상기 탐지용 패킷 정보를 확인하고, 상기 탐지용 패킷을 통신구간별로 분리하는 것을 특징으로 하는 통신의 비정상상태 탐지를 수행하는 전자장치.
According to claim 6,
The control unit,
An electronic device for detecting an abnormal state of communication, characterized in that by parsing the detection packet, checking the detection packet information including a source IP and a destination IP, and separating the detection packet by communication section.
제11항에 있어서,
상기 제어부는,
상기 통신구간별로 주기통신 및 비주기통신에 대한 상기 패킷 시퀀스를 생성하는 것을 특징으로 하는 통신의 비정상상태 탐지를 수행하는 전자장치.
According to claim 11,
The control unit,
An electronic device for detecting an abnormal state of communication, characterized in that the packet sequence for periodic communication and aperiodic communication is generated for each communication section.
KR1020210009156A 2021-01-22 2021-01-22 Method and Apparatus for Anomaly Detection of Communication in Industrial Control System Environment KR102541309B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210009156A KR102541309B1 (en) 2021-01-22 2021-01-22 Method and Apparatus for Anomaly Detection of Communication in Industrial Control System Environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210009156A KR102541309B1 (en) 2021-01-22 2021-01-22 Method and Apparatus for Anomaly Detection of Communication in Industrial Control System Environment

Publications (2)

Publication Number Publication Date
KR20220106335A KR20220106335A (en) 2022-07-29
KR102541309B1 true KR102541309B1 (en) 2023-06-07

Family

ID=82606600

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210009156A KR102541309B1 (en) 2021-01-22 2021-01-22 Method and Apparatus for Anomaly Detection of Communication in Industrial Control System Environment

Country Status (1)

Country Link
KR (1) KR102541309B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101538709B1 (en) * 2014-06-25 2015-07-29 아주대학교산학협력단 Anomaly detection system and method for industrial control network
KR102139138B1 (en) * 2020-04-27 2020-07-30 (주) 앤앤에스피 An ICS header profiling system for private Industrial Control System protocol

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102418969B1 (en) * 2017-04-27 2022-07-11 주식회사 케이티 System and method for predicting communication apparatuses failure based on deep learning
KR102152403B1 (en) * 2018-12-24 2020-09-04 아주대학교산학협력단 Apparatus and method for detecting abnormal behavior using data pattern analysis

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101538709B1 (en) * 2014-06-25 2015-07-29 아주대학교산학협력단 Anomaly detection system and method for industrial control network
KR102139138B1 (en) * 2020-04-27 2020-07-30 (주) 앤앤에스피 An ICS header profiling system for private Industrial Control System protocol

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JoseRoldan 외 3 명, 'Integrating complex event processing and machine learning: An intelligent architecture for detecting IoT security attacks,' Elsevier (2020.01.30)*

Also Published As

Publication number Publication date
KR20220106335A (en) 2022-07-29

Similar Documents

Publication Publication Date Title
US20180348728A1 (en) Process analysis apparatus, process analysis method, and process analysis program
US20190182280A1 (en) Method for the automated creation of rules for a rule-based anomaly recognition in a data stream
CN110120935B (en) Method and device for identifying anomalies in data flows in a communication network
CN108520180B (en) Multi-dimension-based firmware Web vulnerability detection method and system
CN110535723B (en) Message anomaly detection method adopting deep learning in SDN
US20180309648A1 (en) Ultra-Fast Pattern Generation Algorithm for the Heterogeneous Logs
EP3529731A1 (en) Quantitative unified analytic neural networks
US20190288925A1 (en) Methods and systems for online monitoring using a variable data sampling rate
Liulys Machine learning application in predictive maintenance
CN111141444B (en) Tire pressure sensor information acquisition method and device, storage medium and electronic equipment
CN112688946B (en) Method, module, storage medium, device and system for constructing abnormality detection features
CN112840616A (en) Hybrid unsupervised machine learning framework for industrial control system intrusion detection
WO2018111355A1 (en) Content-level anomaly detection for heterogeneous logs
JPWO2016084336A1 (en) Additional learning device, additional learning method, and additional learning program
KR102541309B1 (en) Method and Apparatus for Anomaly Detection of Communication in Industrial Control System Environment
KR102002528B1 (en) Apparatus for detecting object and method thereof
CN117220920A (en) Firewall policy management method based on artificial intelligence
CN111401635B (en) Method and device for detecting environmental pollution data and electronic equipment
US20180316700A1 (en) Data security inspection mechanism for serial networks
WO2019077656A1 (en) Production facility monitoring device, production facility monitoring method, and production facility monitoring program
KR102163143B1 (en) Apparatus and method of correcting touch sensor input
JP6541903B2 (en) Attack / abnormality detection device, attack / abnormality detection method, and attack / abnormality detection program
Schneider et al. Realistic data generation for anomaly detection in industrial settings using simulations
KR20220117189A (en) Security compliance automation method
CN104461174B (en) Optical touch system and optical touch control method

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant