KR102027044B1 - System for Detecting Abnormal Control Data - Google Patents

System for Detecting Abnormal Control Data Download PDF

Info

Publication number
KR102027044B1
KR102027044B1 KR1020170182673A KR20170182673A KR102027044B1 KR 102027044 B1 KR102027044 B1 KR 102027044B1 KR 1020170182673 A KR1020170182673 A KR 1020170182673A KR 20170182673 A KR20170182673 A KR 20170182673A KR 102027044 B1 KR102027044 B1 KR 102027044B1
Authority
KR
South Korea
Prior art keywords
control data
value
identification information
normal
sequence pattern
Prior art date
Application number
KR1020170182673A
Other languages
Korean (ko)
Other versions
KR20190080300A (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 KR1020170182673A priority Critical patent/KR102027044B1/en
Publication of KR20190080300A publication Critical patent/KR20190080300A/en
Application granted granted Critical
Publication of KR102027044B1 publication Critical patent/KR102027044B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/048Monitoring; Safety
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/058Safety, monitoring
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24159Several levels of security, passwords

Abstract

공장제어장치로 입력되는 제어데이터의 학습을 통해 비정상 제어데이터의 탐지를 위한 정상 제어데이터 보안규칙을 자동으로 생성할 수 있는 본 발명의 일 측면에 따른 비정상 제어데이터 탐지 시스템은, 제어단말에서 공장제어장치로 전달된 제1 제어데이터들을 파싱하여 상기 제1 제어데이터들의 커맨드(Command) 및 상기 커맨드의 밸류(Value)를 획득하는 파싱부; 상기 커맨드 및 밸류에 대한 정상 제어데이터 보안규칙을 생성하는 규칙 생성부; 및 상기 제어단말에서 수신되는 타겟 제어데이터와 상기 정상 제어데이터 보안규칙을 비교하여 상기 타겟 제어데이터의 비정상 여부를 판단하는 제1 판단부를 포함하는 것을 특징으로 한다.The abnormal control data detection system according to an aspect of the present invention, which can automatically generate a normal control data security rule for detecting abnormal control data through learning of control data input to a factory control device, controls a factory at a control terminal. A parsing unit for parsing first control data transmitted to a device to obtain a command of the first control data and a value of the command; A rule generator for generating a normal control data security rule for the command and value; And a first determination unit comparing the target control data received from the control terminal with the normal control data security rule and determining whether the target control data is abnormal.

Description

비정상 제어데이터 탐지 시스템{System for Detecting Abnormal Control Data}System for Detecting Abnormal Control Data

본 발명은 제어데이터의 처리에 대한 것으로서, 보다 구체적으로 비정상 제어데이터를 탐지할 수 있는 시스템 및 방법에 관한 것이다.The present invention relates to the processing of control data, and more particularly, to a system and a method capable of detecting abnormal control data.

PLC(Programmable Logic Controller)와 같은 공장제어장치들의 온라인화가 증가됨에 따라 공장제어장치들을 타겟으로 하는 사이버 공격 또한 증가하고 있다.As online control of factory control devices such as programmable logic controllers (PLCs) increases, cyber attacks targeting factory control devices also increase.

공장제어장치들을 타겟으로 하는 사이버 공격은 공장제어장치들로 전달되는 제어데이터의 커맨드(Command) 또는 밸류(Value)를 불법적으로 변경함으로써 공장제어장치들을 오동작 시키거나 동작불능 상태로 만들 수 있고, 심한 경우 공장제어장치들을 손상시킬 수도 있다.Cyber attacks targeting factory control devices can cause the factory control devices to malfunction or become inoperable by illegally changing the command or value of control data transmitted to the factory control devices. This can damage the plant controls.

이러한 사이버 공격으로부터 공장제어장치들을 보호하기 위한 침입 탐지 시스템 등과 같은 보안 시스템이 제안된 바 있다. 일반적인 침입 탐지 시스템은 공장제어장치로 입력되는 제어데이터가 미리 정해진 보안 규칙에 위배되는지 여부를 판단함으로써 해당 제어데이터가 정상 제어데이터인지 또는 비정상 제어데이터인지를 구분하도록 설계된다.Security systems such as intrusion detection systems have been proposed to protect factory control devices from such cyber attacks. A general intrusion detection system is designed to distinguish whether the control data is normal control data or abnormal control data by determining whether control data input to the factory control device violates a predetermined security rule.

하지만, 상술한 바와 같은 일반적인 침입탐지 시스템은 보안 규칙이 시스템 구축시 미리 정해져 있기 때문에 비정상 제어데이터의 변경에 대해 능동적으로 대응하기가 쉽지 않고, 따라서 새롭게 발생된 공격유형의 비정상 제어데이터를 정확하게 탐지해 낼 수 없다는 문제점이 있다.However, the general intrusion detection system as described above is difficult to proactively respond to the change of abnormal control data because security rules are pre-determined at the time of system construction, and thus it is possible to accurately detect abnormal control data of newly generated attack type. There is a problem that you can not.

또한, 상술한 바와 같은 일반적인 침입탐지 시스템은 보안 규칙이 시스템 구축시 미리 정해져 있기 때문에 적용대상이 되는 공장제어장치가 변경될 때마다 시스템 관리자가 보안 규칙을 새롭게 생성하여야 하기 때문에 시스템 구축 및 유지비용이 증가한다는 문제점이 있다.In addition, the general intrusion detection system as described above, since the security rules are predetermined at the time of system construction, the system administrator must create a new security rule every time the factory control device to be applied changes, the system construction and maintenance costs are high. There is a problem that increases.

선행문헌 1: 대한민국 공개특허 제10-2009-0102469호(발명의 명칭: DNP 기반 SCADA 네트워크 데이터 보호 시스템 및 그 방법, 공개일: 2009년 9월 30일)Prior Document 1: Korean Patent Publication No. 10-2009-0102469 (name of the invention: DNP-based SCADA network data protection system and method, published date: September 30, 2009)

본 발명은 상술한 문제점을 해결하기 위한 것으로서, 공장제어장치로 입력되는 제어데이터의 학습을 통해 비정상 제어데이터의 탐지를 위한 정상 제어데이터 보안규칙을 자동으로 생성할 수 있는 비정상 제어데이터 탐지 시스템을 제공하는 것을 그 기술적 특징으로 한다.The present invention is to solve the above problems, and provides an abnormal control data detection system that can automatically generate the normal control data security rules for detection of abnormal control data through the learning of the control data input to the factory control device. It is the technical characteristic to do it.

또한, 본 발명은 정상 제어데이터 보안규칙을 기초로 제어데이터들의 발생순서에 따른 정상 시퀀스 패턴을 생성하고, 정상 시퀀스 패턴을 기초로 제어데이터들의 발생순서가 정상인지 여부를 탐지할 수 있는 비정상 제어데이터 탐지 시스템을 제공하는 것을 그 기술적 특징으로 한다.In addition, the present invention generates a normal sequence pattern according to the generation order of the control data based on the normal control data security rule, and abnormal control data that can detect whether or not the generation order of the control data based on the normal sequence pattern It is a technical feature to provide a detection system.

상기 목적을 달성하기 위한 본 발명의 일 측면에 따른 비정상 제어데이터 탐지 시스템은, 제어단말에서 공장제어장치로 전달된 제1 제어데이터들을 파싱하여 상기 제1 제어데이터들의 커맨드(Command) 및 상기 커맨드의 밸류(Value)를 획득하는 파싱부; 상기 커맨드 및 밸류에 대한 정상 제어데이터 보안규칙을 생성하는 규칙 생성부; 및 상기 제어단말에서 수신되는 타겟 제어데이터와 상기 정상 제어데이터 보안규칙을 비교하여 상기 타겟 제어데이터의 비정상 여부를 판단하는 제1 판단부를 포함하는 것을 특징으로 한다.Abnormal control data detection system according to an aspect of the present invention for achieving the above object, by parsing the first control data transmitted from the control terminal to the factory control device of the command and the command of the first control data A parsing unit obtaining a value; A rule generator for generating a normal control data security rule for the command and value; And a first determination unit comparing the target control data received from the control terminal with the normal control data security rule and determining whether the target control data is abnormal.

본 발명에 따르면 공장제어장치의 초기 가동기간 동안 입력된 제어데이터의 학습을 통해 정상 제어데이터 보안규칙을 자동으로 생성하기 때문에, 다양한 종류의 비정상 데이터는 물론 비정상 제어데이터의 변경에 대해서도 능동적으로 대응할 수 있어 비정상 데이터의 탐지 정확도를 향상시킬 수 있고, 이로 인해 시스템의 신뢰도를 향상시킬 수 있다는 효과가 있다.According to the present invention, since the normal control data security rules are automatically generated through the learning of the control data input during the initial operation period of the factory control device, it is possible to actively respond to changes in the abnormal control data as well as various kinds of abnormal data. Therefore, it is possible to improve the detection accuracy of abnormal data, thereby improving the reliability of the system.

또한, 본 발명에 따르면 정상 제어데이터 보안규칙을 기초로 제어데이터들의 발생순서에 따른 정상 시퀀스 패턴을 자동으로 생성하고, 생성된 정상 시퀀스 패턴을 기초로 제어데이터의 발생순서가 정상적인지 여부를 확인할 수 있기 때문에 조업패턴을 외부로 알리지 않고도 발생순서가 비정상적인 제이데이터들을 정확하게 탐지해 낼 수 있다는 효과가 있다.In addition, according to the present invention can automatically generate a normal sequence pattern according to the generation order of the control data based on the normal control data security rules, and can determine whether the generation order of the control data is normal based on the generated normal sequence pattern. Because of this, it is effective in detecting abnormal J-data accurately in order of occurrence without notifying the operation pattern to the outside.

또한, 본 발명에 따르면 정상 시퀀스 패턴을 기초로 사이버 공격자에 의한 비정상적 발생순서의 제어데이터만 아니라 조업자의 실수에 의한 비정상적 발생순서의 제어데이터도 탐지할 수 있어 사이버 공격자로부터 공장제어장치를 안전하게 보호함과 동시에 조업효율도 향상시킬 수 있다는 효과가 있다.In addition, according to the present invention, it is possible to detect not only the control data of abnormal occurrence order by the cyber attacker based on the normal sequence pattern, but also the control data of abnormal occurrence order due to the operator's mistake, thereby safely protecting the factory control device from the cyber attacker. At the same time, there is an effect that the operation efficiency can be improved.

도 1은 본 발명의 일 실시예에 따른 비정상 제어데이터 탐지 시스템이 적용되는 네트워크 구성을 개략적으로 보여주는 도면이다.
도 2는 도 1에 도시된 게이트웨이의 구성을 개략적으로 보여주는 블록도이다.
도 3은 도 1에 도시된 탐지서버의 구성을 개략적으로 보여주는 블록도이다.
도 4는 도 3에 도시된 시퀀스 패턴 생성부의 구성을 개략적으로 보여주는 블록도이다.
도 5a는 기준 시퀀스의 일 예를 보여주는 도면이다.
도 5b는 k*n 매트릭스의 일 예를 보여주는 도면이다.
도 6은 제2 유사도를 산출하는 방법을 개념적으로 보여주는 도면이다.
1 is a diagram schematically illustrating a network configuration to which an abnormal control data detection system according to an exemplary embodiment of the present invention is applied.
FIG. 2 is a block diagram schematically illustrating a configuration of the gateway shown in FIG. 1.
3 is a block diagram schematically showing the configuration of the detection server shown in FIG.
4 is a block diagram schematically illustrating a configuration of the sequence pattern generator shown in FIG. 3.
5A is a diagram illustrating an example of a reference sequence.
5B is a diagram illustrating an example of a k * n matrix.
6 is a diagram conceptually illustrating a method of calculating a second similarity degree.

이하, 첨부되는 도면을 참고하여 본 발명의 실시예들에 대해 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

본 명세서에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.The meaning of the terms described herein will be understood as follows.

단수의 표현은 문맥상 명백하게 다르게 정의하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다.Singular expressions should be understood to include plural expressions unless the context clearly indicates otherwise, and the terms “first”, “second”, etc. are used to distinguish one component from another. The scope of the rights shall not be limited by these terms.

"포함하다" 또는 "가지다" 등의 용어는 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.It is to be understood that the term "comprises" or "having" does not preclude the existence or addition of one or more other features or numbers, steps, operations, components, parts or combinations thereof.

"적어도 하나"의 용어는 하나 이상의 관련 항목으로부터 제시 가능한 모든 조합을 포함하는 것으로 이해되어야 한다. 예를 들어, "제1 항목, 제2 항목 및 제 3항목 중에서 적어도 하나"의 의미는 제1 항목, 제2 항목 또는 제3 항목 각각 뿐만 아니라 제1 항목, 제2 항목 및 제3 항목 중에서 2개 이상으로부터 제시될 수 있는 모든 항목의 조합을 의미한다.The term "at least one" should be understood to include all combinations which can be presented from one or more related items. For example, the meaning of "at least one of the first item, the second item, and the third item" means not only the first item, the second item, or the third item, but also two of the first item, the second item, and the third item, respectively. A combination of all items that can be presented from more than one.

도 1은 본 발명의 일 실시예에 따른 비정상 제어데이터 탐지 시스템이 적용되는 네트워크 구성을 개략적으로 보여주는 도면이다.1 is a diagram schematically illustrating a network configuration to which an abnormal control data detection system according to an exemplary embodiment of the present invention is applied.

제어단말(100)은 공장제어장치(110)를 제어하고 공장제어장치(110)에 의해 생성되는 조업 데이터를 수집하는 역할을 수행한다. 일 실시예에 있어서 제어단말(100)은 SCADA(Supervisory Control And Data Acquisition) 또는 HMI(Human Machine Interface)를 포함할 수 있다.The control terminal 100 controls the factory control device 110 and collects operation data generated by the factory control device 110. In one embodiment, the control terminal 100 may include a Supervisory Control And Data Acquisition (SCADA) or a Human Machine Interface (HMI).

공장제어장치(110)는 제어단말(100)에서 전달되는 제어데이터를 기초로 조업현장에 배치되어 있는 설비를 제어하고, 설비제어결과 또는 각 설비로부터 획득되는 조업 데이터를 제어단말(100)로 전송하는 역할을 수행한다. 일 실시예에 있어서 공장제어장치(110)는 PLC(Programmable Logic Controller)를 포함할 수 있다.The factory control apparatus 110 controls the equipment arranged in the operation site based on the control data transmitted from the control terminal 100, and transmits the operation control result or operation data obtained from each facility to the control terminal 100. It plays a role. In one embodiment, the factory control device 110 may include a programmable logic controller (PLC).

비정상 제어데이터 탐지 시스템(120)은 제어단말(110)과 공장제어장치(110)를 연결한다. 비정상 제어데이터 탐지 시스템(120)은 제어단말(110)에서 생성된 제어데이터를 공장제어장치(120)로 전달하고, 공장제어장치(110)에 의해 생성된 조업 데이터를 제어단말(100)로 전달한다. 특히, 본 발명에 따른 비정상 제어데이터 탐지 시스템(120)은 제어단말(110)에서 공장제어장치(120)로 전달되는 제어데이터들 중 비정상 제어데이터가 존재하는지 여부를 탐지한다.The abnormal control data detection system 120 connects the control terminal 110 and the factory control device 110. The abnormal control data detection system 120 transmits the control data generated by the control terminal 110 to the factory control device 120, and transmits the operation data generated by the factory control device 110 to the control terminal 100. do. In particular, the abnormal control data detection system 120 according to the present invention detects whether there is abnormal control data among the control data transmitted from the control terminal 110 to the factory control device 120.

이를 위해, 본 발명에 따른 비정상 제어데이터 탐지 시스템(120)은 도 1에 도시된 바와 같이, 보안 게이트웨이(130) 및 탐지서버(140)를 포함한다.To this end, the abnormal control data detection system 120 according to the present invention, as shown in Figure 1, includes a security gateway 130 and detection server 140.

보안 게이트웨이(130)는 제어단말(110)과 공장제어장치(110)를 인터페이싱함으로써 제어단말(110)에서 생성된 제어데이터를 공장제어장치(120)로 전달하고, 공장제어장치(110)에 의해 생성된 조업 데이터를 제어단말(100)로 전달한다. 본 발명에 따름 보안 게이트웨이(130)의 기능을 도 2를 참조하여 보다 구체적으로 설명한다.The security gateway 130 transmits the control data generated in the control terminal 110 to the factory control device 120 by interfacing the control terminal 110 and the factory control device 110, and by the factory control device 110. The generated operation data is transmitted to the control terminal 100. The function of the security gateway 130 according to the present invention will be described in more detail with reference to FIG. 2.

도 2는 본 발명의 일 실시예에 따른 보안 게이트웨이(130)의 구성을 개략적으로 보여주는 블록도이다. 도 2에 도시된 바와 같이 본 발명의 일 실시예에 따른 보안 게이트웨이(130)는 데이터 차단부(210), 데이터 미러링부(220), 및 바이패스부(230)를 포함한다.2 is a block diagram schematically showing the configuration of the security gateway 130 according to an embodiment of the present invention. As shown in FIG. 2, the security gateway 130 according to an embodiment of the present invention includes a data blocking unit 210, a data mirroring unit 220, and a bypass unit 230.

데이터 차단부(210)는 제어단말(110)로부터 제어데이터가 수신되면 수신된 제어데이터의 IP 어드레스(Internet Protocol Address)가 미리 등록된 IP 어드레스에 해당하는지 여부를 판단한다. 판단결과, 수신된 제어데이터의 IP 어드레스가 미리 등록된 IP 어드레스에 해당하지 않는 경우 데이터 차단부(210)는 해당 제어데이터는 비정상적인 경로를 통해 수신된 비정상 제어데이터인 것으로 판단하여 해당 제어데이터가 공장제어장치(110)로 전달되는 것을 차단한다.When the control data is received from the control terminal 110, the data blocking unit 210 determines whether an IP address (Internet Protocol Address) of the received control data corresponds to a pre-registered IP address. As a result of determination, when the IP address of the received control data does not correspond to a pre-registered IP address, the data blocking unit 210 determines that the control data is abnormal control data received through an abnormal path, and thus the control data is factory. It blocks the transmission to the control device 110.

일 실시예에 있어서, 데이터 차단부(210)는 탐지서버(140)에 의해 생성되는 정상경로 리스트를 기초로 제어단말(110)에서 수신되는 제어데이터의 IP 어드레스가 미리 등록된 IP 어드레스에 해당하는지 여부를 판단할 수 있다. 이때, 정상경로 리스트에는 정상 IP어드레스들이 등록되어 있을 수 있다.In one embodiment, the data blocking unit 210 determines whether the IP address of the control data received from the control terminal 110 corresponds to a pre-registered IP address based on the normal path list generated by the detection server 140. It can be determined. In this case, normal IP addresses may be registered in the normal path list.

데이터 차단부(210)는 제어데이터의 차단이 수행되면 차단결과를 사용자에게 통지할 수 있다.The data blocking unit 210 may notify the user of the blocking result when blocking of the control data is performed.

데이터 미러링부(220)는 제어단말(110)로부터 공장제어장치(120)로 전달되는 제어데이터를 공장제어장치(120)로 전달한다. 이때, 데이터 미러링부(220)는 제어데이터를 네트워크 지연없이 복제하여 복제된 제어데이터를 탐지서버(140)로도 전달한다. 이러한 데이터 미러링부(220)의 복제기능을 통해 탐지서버(140)가 제어데이터를 획득함으로써 비정상 제어데이터를 탐지할 수 있게 된다.The data mirroring unit 220 transmits the control data transmitted from the control terminal 110 to the factory control device 120 to the factory control device 120. At this time, the data mirroring unit 220 replicates the control data without a network delay and transmits the copied control data to the detection server 140 as well. Through the replication function of the data mirroring unit 220, the detection server 140 may detect abnormal control data by acquiring control data.

바이패스부(230)는 보안 게이트웨이(130)의 오류발생여부에 따라 제어데이터의 전달경로를 조정한다. 구체적으로, 바이패스부(230)는 보안 게이트웨이(130)에 오류가 발생되지 않은 경우 제어데이터가 데이터 미러링부(220)를 통해 공장제어장치(120)로 전달되도록 한다.The bypass unit 230 adjusts a transmission path of control data according to whether an error of the security gateway 130 occurs. Specifically, the bypass unit 230 allows control data to be transmitted to the factory control device 120 through the data mirroring unit 220 when no error occurs in the security gateway 130.

하지만 게이트웨이(130)에 오류가 발생된 경우 바이패스부(230)는 데이터 미러링부(220)를 바이패스하여 제어데이터를 공장제어장치(120)로 직접 전달한다. 이러한 경우 제어데이터의 복제기능을 수행되지 않게 된다.However, when an error occurs in the gateway 130, the bypass unit 230 bypasses the data mirroring unit 220 to directly transmit control data to the factory control apparatus 120. In this case, the control data replication function is not performed.

다시 도 1을 참조하면, 탐지서버(140)는 제어데이터들 중 미리 정해진 기간 동안 수집된 제1 제어데이터를 기초로 정상 제어데이터 보안규칙을 생성하고, 판단대상이 되는 타겟 제어데이터가 수신되면 타겟 제어데이터를 정상 제어데이터 보안규칙과 비교함으로써 타겟 제어데이터가 비정상 제어데이터인지 여부를 판단한다.Referring back to FIG. 1, the detection server 140 generates a normal control data security rule based on the first control data collected during a predetermined period of the control data, and receives the target control data as a target to be determined. The control data is compared with the normal control data security rule to determine whether the target control data is abnormal control data.

이하, 본 발명에 따른 탐지서버(140)의 구성을 도 3을 참조하여 보다 구체적으로 설명한다.Hereinafter, the configuration of the detection server 140 according to the present invention will be described in more detail with reference to FIG. 3.

도 3은 본 발명의 일 실시예에 따른 탐지서버의 구성을 보여주는 블록도이다. 도 3에 도시된 바와 같이, 본 발명의 일 실시예에 따른 탐지서버(140)는 데이터 수집부(310), 파싱부(320), 규칙 생성부(330), 제1 판단부(340), 및 데이터베이스(350)를 포함한다. 또한, 본 발명의 일 실시예에 따른 탐지서버(140)는 도 3에 도시된 바와 같이 정상경로 리스트 생성부(360), 시퀀스 패턴 생성부(370), 및 제2 판단부(380)를 더 포함한다.3 is a block diagram showing the configuration of a detection server according to an embodiment of the present invention. As shown in FIG. 3, the detection server 140 according to an embodiment of the present invention may include a data collector 310, a parser 320, a rule generator 330, a first determiner 340, And a database 350. In addition, the detection server 140 according to an embodiment of the present invention further includes a normal path list generation unit 360, a sequence pattern generation unit 370, and a second determination unit 380 as shown in FIG. 3. Include.

데이터 수집부(310)는 정상 제어데이터 보안규칙의 생성을 위해 데이터 미러링부(220)를 통해 수신된 제어데이터들 중 미리 정해진 기간 동안 수신된 제1 제어데이터들을 수집한다.The data collector 310 collects first control data received for a predetermined period of the control data received through the data mirroring unit 220 to generate a normal control data security rule.

일 실시예에 있어서, 데이터 수집부(310)는 제어데이터들 중 제어단말(100) 및 공장제어장치(110)의 초기 가동기간 중에 데이터 미러링부(220)를 통해 수신된 제1 제어데이터들을 수집할 수 있다.In one embodiment, the data collection unit 310 collects the first control data received through the data mirroring unit 220 during the initial operation of the control terminal 100 and the factory control device 110 of the control data can do.

본 발명에 따른 데이터 수집부(310)가 제어단말(100) 및 공장제어장치(110)의 초기 가동기간 중에 수신된 제1 제어데이터들을 수집하는 이유는 초기 가동기간 중에는 외부 침입자에 의한 사이버 공격이 이루어지지 않기 때문에 해당 기간동안 수집된 제1 제어데이터들은 정상 제어데이터들인 것으로 간주할 수 있기 때문이다.The reason why the data collecting unit 310 collects the first control data received during the initial operation of the control terminal 100 and the factory control device 110 is that the cyber attack by the external intruder during the initial operation period. This is because the first control data collected during the period can be regarded as normal control data because it is not made.

파싱부(320)는 데이터 수집부(310)에 의해 수집된 제1 제어데이터들을 파싱함으로써 제1 제어데이터들로부터 커맨드(Command) 및 해당 커맨드의 밸류(Value)를 획득한다. 예컨대, 파싱부(320)는 온도관련 제1 제어데이터로부터 커맨드인 온도증가(Add)를 획득하고, 밸류인 증가될 온도값을 획득할 수 있다.The parsing unit 320 obtains a command and a value of the command from the first control data by parsing the first control data collected by the data collecting unit 310. For example, the parsing unit 320 may obtain a command temperature increase (Add) from the temperature-related first control data, and obtain a temperature value to be increased.

한편, 파싱부(320)는 데이터 수집부(310)에 의해 수집된 제1 제어데이터들을 파싱함으로써 제1 제어데이터들의 헤더로부터 해당 제1 제어데이터를 발신한 IP 어드레스를 추가로 획득할 수 있다.On the other hand, the parser 320 may additionally obtain an IP address from which the first control data is transmitted from the header of the first control data by parsing the first control data collected by the data collector 310.

상술한 실시예에 있어서는 파싱부(320)는 데이터 수집부(310)에 의해 수집된 제1 제어데이터들을 파싱하는 것으로 설명하였다. 변형된 실시예에 있어서 데이터 수집부(310)가 생략될 수도 있다. 이러한 경우, 파싱부(320)가 데이터 미러링부(220)에 의해 복제되어 데이터베이스(350)에 저장된 제어데이터들 제1 데이터들을 직접 추출하여 파싱할 수도 있을 것이다.In the above-described embodiment, the parser 320 parses the first control data collected by the data collector 310. In a modified embodiment, the data collector 310 may be omitted. In this case, the parsing unit 320 may be copied by the data mirroring unit 220 to directly extract and parse the first control data stored in the database 350.

규칙 생성부(330)는 파싱부(320)에 의해 획득된 커맨드 및 해당 커맨드의 밸류를 머신러닝(Machine Learning) 기법으로 학습하여 정상 제어데이터 보안규칙을 생성한다.The rule generator 330 generates a normal control data security rule by learning the command acquired by the parser 320 and the value of the command by using a machine learning technique.

일 실시예에 있어서, 규칙 생성부(330)는 하나의 커맨드 및 해당 커맨드의 밸류가 매핑되어 있는 하나의 데이터 세트를 하나의 정상 제어데이터 보안규칙으로 설정할 수 있다.In one embodiment, the rule generator 330 may set one data set to which one command and the value of the command are mapped as one normal control data security rule.

다른 실시예에 있어서, 규칙 생성부(330)는 동일한 종류의 커맨드에 대해 복수개의 밸류들이 존재하는 경우 해당 커맨드에 대한 복수개의 밸류들을 기초로 해당 커맨드에 대한 대표밸류를 산출하고, 산출된 대표밸류와 해당 커맨드가 매핑된 하나의 데이터 세트를 하나의 정상 제어데이터 보안규칙으로 설정할 수 있다. 이때, 대표밸류는 복수개의 밸류들의 평균값, 중간값, 최대값, 또는 최소값 등으로 결정될 수 있다.In another embodiment, the rule generation unit 330 calculates the representative value for the command based on the plurality of values for the command when there are a plurality of values for the same type of command, and calculates the representative value for the command. And one data set to which the corresponding command is mapped can be set as one normal control data security rule. In this case, the representative value may be determined as an average value, a median value, a maximum value, or a minimum value of the plurality of values.

또 다른 실시예에 있어서, 규칙 생성부(330)는 동일한 종류의 커맨드에 대해 복수개의 밸류들이 존재하는 경우 해당 커맨드에 대한 복수개의 밸류들 간의 함수식을 도출하고, 도출된 함수식이 해당 커맨드와 매핑되어 있는 하나의 데이터 세트를 하나의 정상 제어데이터 보안규칙으로 설정할 수도 있다.In another embodiment, the rule generator 330 derives a functional expression between a plurality of values for the command when there are a plurality of values for the same type of command, and the derived function is mapped to the corresponding command. One data set may be set as one normal control data security rule.

규칙 생성부(330)는 생성된 정상 제어 데이터 보안규칙을 리스트화하여 데이터베이스(350)에 저장할 수 있다.The rule generator 330 may list the generated normal control data security rules and store them in the database 350.

한편, 상술한 규칙 생성부(330)는 데이터 수집부(310)에 의해 신규 제어데이터가 추가로 수집되고 파싱부(320)에 의해 신규 데이터의 커맨드 및 밸류가 획득될 때마다 획득된 신규 제어데이터의 커맨드 및 밸류를 추가로 학습함으로써 정상 제어데이터 보안규칙을 추가로 생성하거나, 기 생성된 정상 제어데이터 보안규칙을 수정할 수도 있다.On the other hand, the rule generation unit 330 described above is a new control data obtained whenever the new control data is additionally collected by the data collection unit 310 and the command and value of the new data is acquired by the parser 320 By additionally learning the command and the value of the normal control data security rules may be additionally generated, or the pre-generated normal control data security rules may be modified.

제1 판단부(340)는 판단대상이 되는 타겟 제어데이터와 정상 제어데이터 보안규칙을 비교하여 타겟 제어데이터가 비정상 제어데이터인지 여부를 판단한다.The first determination unit 340 determines whether the target control data is abnormal control data by comparing the target control data to be determined and the normal control data security rule.

구체적으로, 제1 판단부(340)는 데이터베이스(350)에 저장되어 있는 정상 제어데이터 규칙들 중 타겟 제어데이터의 커맨드 및 밸류를 기초로 해당 타겟 제어데이터가 매핑될 수 있는 정상 제어데이터 규칙이 존재하는지 여부를 판단한다. 이때, 타겟 제어데이터는 데이터 미러링부(220)를 통해 파싱부(320)로 전달되고, 파싱부(320)에 의해 타겟 제어데이터의 커맨드 및 밸류가 획득될 수 있다.Specifically, the first determination unit 340 has a normal control data rule to which the target control data can be mapped based on the command and the value of the target control data among the normal control data rules stored in the database 350. Determine whether or not. In this case, the target control data may be transmitted to the parser 320 through the data mirroring unit 220, and a command and value of the target control data may be obtained by the parser 320.

판단결과, 타겟 제어데이터가 매핑될 수 있는 정상 제어데이터 규칙이 존재하면 제1 판단부(340)는 해당 타겟 제어데이터를 정상 제어데이터인 것으로 판단한다. 하지만, 타겟 제어데이터가 매핑될 수 있는 정상 제어데이터가 규칙이 존재하지 않으면 제1 판단부(340)는 해당 타겟 제어데이터를 비정상 제어데이터인 것으로 판단한다.As a result, if there is a normal control data rule to which the target control data may be mapped, the first determination unit 340 determines that the target control data is normal control data. However, if there is no rule for normal control data to which the target control data can be mapped, the first determination unit 340 determines that the target control data is abnormal control data.

한편, 제1 판단부(340)는 타겟 제어데이터가 비정상 제어데이터인 것으로 판단되면 판단결과를 사용자에게 통지한다.Meanwhile, when it is determined that the target control data is abnormal control data, the first determination unit 340 notifies the user of the determination result.

데이터베이스(350)에는 규칙 생성부(330)에 의해 생성된 정상 제어데이터 규칙이 저장된다. 상술한 바와 같이, 정상 제어데이터 규칙은 리스트 형태로 데이터베이스(350)에 저장될 수 있다.The database 350 stores the normal control data rule generated by the rule generator 330. As described above, the normal control data rule may be stored in the database 350 in the form of a list.

또한, 데이터베이스(350)에는 각각의 제1 제어데이터 별로 제1 제어데이터로부터 획득된 커맨드, 해당 커맨드의 밸류, 해당 제1 제어데이터의 IP 어드레스, 및 해당 제1 제어데이터의 발생시점이 매핑되어 저장될 수도 있다.In addition, the database 350 stores a command acquired from the first control data, a value of the command, an IP address of the first control data, and an occurrence time point of the first control data for each first control data. May be

정상경로 리스트 생성부(360)는 파싱부(320)에 의해 제1 제어데이터들의 헤더로부터 획득된 IP 어드레스들을 이용하여 정상 IP 어드레스들로 구성된 정상경로 리스트를 생성한다. 이때, 정상경로 리스트 생성부(360)는 제어단말(100) 및 공장제어장치(110)의 초기 가동기간 동안 수집된 제1 제어데이터들의 헤더로부터 획득된 IP 어드레스들을 정상 IP 어드레스로 결정할 수 있다.The normal path list generator 360 generates a normal path list composed of normal IP addresses using the IP addresses obtained from the header of the first control data by the parser 320. In this case, the normal path list generation unit 360 may determine IP addresses obtained from headers of the first control data collected during the initial operation of the control terminal 100 and the factory control apparatus 110 as normal IP addresses.

시퀀스 패턴 생성부(370)는 데이터베이스(350)에 저장되어 있는 정상 제어데이터 보안규칙을 기초로 제1 제어데이터들의 발생순서에 따른 정상 시퀀스 패턴을 생성한다. 이때, 정상 시퀀스 패턴이란 제1 제어데이터들의 정상적인 발생순서를 나타내는 패턴을 의미한다.The sequence pattern generator 370 generates a normal sequence pattern according to the generation order of the first control data based on the normal control data security rule stored in the database 350. In this case, the normal sequence pattern refers to a pattern representing a normal generation order of the first control data.

이하 본 발명에 따른 시퀀스 패턴 생성부(370)의 구성을 도 4를 참조하여 보다 구체적으로 설명한다.Hereinafter, the configuration of the sequence pattern generator 370 according to the present invention will be described in more detail with reference to FIG. 4.

도 4는 본 발명의 일 실시예에 따른 시퀀스 패턴 생성부의 구성을 개략적으로 보여주는 블록도이다. 도 4에 도시된 바와 같이, 본 발명의 일 실시예에 따른 시퀀스 패턴 생성부(370)는 인덱싱부(410), 식별정보 할당부(420), 데이터 정렬부(430), 유사도 산출부(440), 및 시퀀스 패턴 결정부(450)를 포함한다.4 is a block diagram schematically illustrating a configuration of a sequence pattern generator according to an exemplary embodiment of the present invention. As shown in FIG. 4, the sequence pattern generator 370 according to an exemplary embodiment of the present invention includes an indexing unit 410, an identification information allocating unit 420, a data alignment unit 430, and a similarity calculator 440. ), And a sequence pattern determiner 450.

인덱싱부(410)는 데이터베이스(350)에 저장된 정상 제어데이터 보안규칙을 인덱싱하여 각 정상 제어데이터 보안규칙 별로 인덱스 정보를 할당한다.The indexing unit 410 indexes the normal control data security rule stored in the database 350 and allocates index information for each normal control data security rule.

식별정보 할당부(420)는 제1 제어데이터들 각각에 식별정보를 할당한다. 일 실시예에 있어서, 식별정보 할당부(420)는 정상 제어데이터 보안규칙에 할당된 인덱스 정보를 이용하여 제1 제어데이터들의 식별정보를 할당할 수 있다. 구체적으로 식별정보 할당부(420)는 각각의 제1 제어데이터가 매핑되는 정상 제어데이터 보안규칙의 인덱스 정보를 해당 제1 제어데이터의 식별정보로 할당할 수 있다. 이때, 각각의 제1 제어데이터는 해당 제1 제어데이터를 이용하여 생성된 정상 제어데이터 보안규칙과 매핑될 수 있다.The identification information allocating unit 420 allocates identification information to each of the first control data. In one embodiment, the identification information allocating unit 420 may allocate identification information of the first control data using index information assigned to the normal control data security rule. In more detail, the identification information allocating unit 420 may allocate index information of the normal control data security rule to which each first control data is mapped as identification information of the corresponding first control data. In this case, each first control data may be mapped to a normal control data security rule generated using the corresponding first control data.

데이터 정렬부(430)는 제1 제어데이터들의 발생순서에 따라 제1 제어데이터들의 식별정보를 k*n 매트릭스로 정렬한다. 일 실시예에 있어서, 데이터 정렬부(430)는 제1 제어데이터들의 식별정보들을 k*n 매트릭스로 정렬함에 있어서, 동일 열 내에서는 발생순서가 빠른 제1 제어데이터의 식별정보를 상측에 배치하고 발생순서가 느린 제1 제어데이터의 식별정보를 하측에 배치한다. 또한, 데이터 정렬부(430)는 동일 행 내에서는 발생순서가 빠른 제1 제어데이터의 식별정보를 좌측에 배치하고 발생순서가 느린 제1 제어데이터의 식별정보를 우측에 배치한다.The data sorting unit 430 sorts the identification information of the first control data in a k * n matrix according to the generation order of the first control data. In one embodiment, in order to sort the identification information of the first control data in the k * n matrix, the data alignment unit 430 arranges the identification information of the first control data in the same order of occurrence in the same column on the upper side, Identification information of the first control data having a slower generation order is disposed below. Further, the data alignment unit 430 arranges the identification information of the first control data with a rapid generation order on the left side and the identification information of the first control data with a slow generation order on the right side in the same row.

데이터 정렬부(430)에 의해 제1 제어데이터들의 식별정보를 k*n 매트릭스로 정렬한 예가 도 5에 도시되어 있다. 도 5b에서는 도 5a 에 도시된 제1 제어데이터들의 식별정보들을 6*4 매트릭스로 정렬한 예를 도시한 것이다. 도 5a 및 도 5b에서 L1~L6은 제1 제어데이터들에 할당된 식별정보를 나타낸다.An example of sorting the identification information of the first control data by the k * n matrix by the data aligning unit 430 is illustrated in FIG. 5. FIG. 5B illustrates an example of arranging identification information of the first control data shown in FIG. 5A in a 6 * 4 matrix. In FIGS. 5A and 5B, L1 to L6 indicate identification information allocated to the first control data.

K*n 매트릭스의 생성을 위해, 데이터 정렬부(430)는 제1 제어데이터들의 식별정보를 제1 제어데이터들의 발생순서에 따라 순차적으로 나열한 기준 시퀀스를 생성한다. 기준 시퀀스의 일 예가 도 5a에 도시되어 있다. 이후, 데이터 정렬부(430)는 기준 시퀀스 상에서 제일 좌측에 배치된 식별정보를 기준으로 k개의 식별정보를 추출하여 매트릭스의 제1 열을 구성한다. 예컨대, 도 5의 예를 기준으로 k 값이 6인 경우 도 5a에 도시된 기준 시퀀스에서 제일 좌측에 배치된 식별정보(L1)를 기준으로 6개의 식별정보들을 추출하여 매트릭스의 제1 열을 구성하게 된다.In order to generate the K * n matrix, the data alignment unit 430 generates a reference sequence in which identification information of the first control data is sequentially arranged in the order of occurrence of the first control data. An example of a reference sequence is shown in FIG. 5A. Thereafter, the data alignment unit 430 extracts k pieces of identification information based on the identification information disposed on the leftmost side of the reference sequence to form a first column of the matrix. For example, if the k value is 6 based on the example of FIG. 5, the first column of the matrix is formed by extracting six pieces of identification information based on the identification information L1 disposed on the leftmost side of the reference sequence illustrated in FIG. 5A. Done.

이후, 데이터 정렬부(430)는 기준 시퀀스 상에 남아 있는 식별정보들 중 제일 좌측에 배치된 식별정보를 기준으로 k개의 식별정보를 추출하여 매트릭스의 제2 열을 구성한다. 예컨대, 도 5의 예를 기준으로. 도 5a에 도시된 기준 시퀀스 상에 남아 있는 식별정보들 중 제일 좌측에 배치된 식별정보(L1)을 기준으로 다시 6개의 식별정보들을 추출하여 매트릭스의 제2 열을 구성하게 된다.Thereafter, the data arranging unit 430 extracts k pieces of identification information based on the identification information disposed on the leftmost side of the pieces of identification information remaining on the reference sequence to form a second column of the matrix. For example, based on the example of FIG. 5. The second column of the matrix is formed by extracting six pieces of identification information based on the identification information L1 disposed on the leftmost side of the identification information remaining on the reference sequence illustrated in FIG. 5A.

위의 과정을 n번 반복함으로써 데이터 정렬부(430)는 k*n 매트릭스를 생성하게 된다. 예컨대, 도 5의 예를 기준으로. 위의 과정을 추가로 2번 더 수행하게 되면 도 5b에 도시된 6*4 매트릭스가 생성된다.By repeating the above process n times, the data alignment unit 430 generates a k * n matrix. For example, based on the example of FIG. 5. If the above process is performed two more times, the 6 * 4 matrix shown in FIG. 5B is generated.

유사도 산출부(440)는 k값을 증가시키면서 k값 별로 매트릭스의 기준열에 배치된 식별정보와 타열에 배치된 식별정보를 비교하여 제1 유사도를 산출한다. 일 실시예에 있어서, 각 매트릭스에서 기준열은 첫 번째 열로 결정될 수 있다.The similarity calculator 440 calculates the first similarity by increasing the value of k and comparing the identification information arranged in the reference column of the matrix with the identification information arranged in the other column for each k value. In one embodiment, the reference column in each matrix may be determined as the first column.

구체적으로, 유사도 산출부(440)는 k 값 별로 생성된 매트릭스에서 각 행 단위로 첫 번째 열에 배치된 식별정보와 타열에 배치된 식별정보가 동일하면 제1 값을 부여하고, 첫 번째 열에 배치된 식별정보와 타열에 배치된 식별정보가 상이하면 제2 값을 부여한다. 이후, 유사도 산출부(440)는 모든 행에 대해 부여된 제1 값 및 제2 값을 합산하고 합산결과를 열의 개수인 n으로 제산함으로써 제1 유사도를 산출할 수 있다.In detail, the similarity calculator 440 assigns the first value when the identification information arranged in the first column and the identification information arranged in the other column in the matrix generated for each k value are the same and are arranged in the first column. If the identification information and the identification information arranged in the other row are different, the second value is assigned. Thereafter, the similarity calculator 440 may calculate the first similarity by summing the first and second values provided for all rows and dividing the sum by n, the number of columns.

시퀀스 패턴 결정부(450)는 k값들 중 제1 유사도의 편미분 값이 최소가 되게 하는 타겟k값을 결정한다. 시퀀스 패턴 결정부(450)는 타겟 k값이 결정되면 결정된 타겟 k값에 해당하는 매트릭스에서 어느 하나의 열에 배치된 식별정보들을 기초로 정상 시퀀스 패턴을 생성한다.The sequence pattern determination unit 450 determines a target k value such that the partial differential value of the first similarity among the k values is minimized. When the target k value is determined, the sequence pattern determiner 450 generates a normal sequence pattern based on the identification information arranged in any one column in the matrix corresponding to the determined target k value.

이때, 매트릭스의 동일 열 내에서는 발생순서가 빠른 제1 제어데이터의 식별정보가 상측에 배치되고 발생순서가 느린 제1 제어데이터의 식별정보가 하측에 배치되므로, 정상 시퀀스 패턴은 타겟 k값에 해당하는 매트릭스의 열에 배치된 식별정보들을 상측에 하측 순서로 배치함으로써 결정된다. 예컨대, 도 5b의 예에서는 L1-L6-L4-L2-L5-L3가 정상 시퀀스 패턴으로 결정된다.At this time, in the same column of the matrix, since the identification information of the first control data with a rapid generation order is disposed on the upper side and the identification information of the first control data with a slow generation order is disposed on the lower side, the normal sequence pattern corresponds to the target k value. It is determined by arranging the identification information arranged in the column of the matrix in the upper order in the lower order. For example, in the example of FIG. 5B, L1-L6-L4-L2-L5-L3 is determined as a normal sequence pattern.

한편, 타겟k값이 복수개인 경우, 시퀀스 패턴 결정부(450)는 각 타겟 k값 별로 결정된 시퀀스 패턴(이하, '후보 시퀀스 패턴'이라 함)을 기준 시퀀스와 비교하여 제2 유사도를 산출하고, 복수개의 후보 시퀀스 패턴들 중 제2 유사도가 가장 큰 후보 시퀀스 패턴을 시퀀스 패턴으로 결정할 수 있다.On the other hand, when there are a plurality of target k values, the sequence pattern determination unit 450 calculates a second similarity by comparing a sequence pattern (hereinafter, referred to as a candidate sequence pattern) determined for each target k value with a reference sequence, The candidate sequence pattern having the largest second similarity among the plurality of candidate sequence patterns may be determined as the sequence pattern.

일 실시예에 있어서, 시퀀스 패턴 결정부(450)는 제2 유사도를 산출하기 위해 각 후보 시퀀스 패턴을 기준 시퀀스 상에서 쉬프트 시키면서 동일 위치에 배치되는 식별정보들을 비교함으로써 제2 유사도를 산출할 수 있다.In an exemplary embodiment, the sequence pattern determiner 450 may calculate the second similarity by comparing identification information disposed at the same position while shifting each candidate sequence pattern on the reference sequence to calculate the second similarity.

예컨대, 시퀀스 패턴 결정부(450)는 도 6a에 도시된 바와 같이 기준 시퀀스(RS) 상에 후보 시퀀스 패턴(CP)을 위치시킨 후 동일한 위치에 배치된 식별번호들의 동일여부를 판단한다. 이때, 시퀀스 패턴 결정부(450)는 동일성 판단결과, 동일한 위치에 배치된 2개의 식별정보가 동일하면 제1 값을 부여하고 동일하지 않으면 제2 값을 부여하여 제1 값 및 제2 값들을 모두 합산함으로써 결과값을 산출할 수 있다. 일 예로 제1 값은 1로 설정되고 제2 값은 0으로 설정될 수 있다.For example, as shown in FIG. 6A, the sequence pattern determination unit 450 determines whether the identification numbers arranged at the same position are identical after placing the candidate sequence pattern CP on the reference sequence RS. In this case, as a result of determining the identity, the sequence pattern determination unit 450 assigns a first value if two pieces of identification information arranged at the same position are the same and a second value if not identical to both the first value and the second values. The sum can be calculated. For example, the first value may be set to 1 and the second value may be set to 0.

이후, 도 6b 및 도 6c에 도시된 바와 같이 시퀀스 패턴 결정부(450)는 기준 시퀀스(RS) 상의 마지막 식별정보(L5)와 후보 시퀀스 패턴(CP)의 마지막 식별정보(L2)가 동일 위치에 배치될 때까지 기준 시퀀스(RS) 상에서 후보 시퀀스 패턴(CP)을 하나의 식별정보 단위로 쉬프트시키면서 제1 값 및 제2 값들을 모두 합산한 결과값을 산출한다. 시퀀스 패턴 결정부(450)는 산출된 결과값들의 평균값을 제2 유사도로 산출할 수 있다.6B and 6C, the sequence pattern determination unit 450 may include the last identification information L5 on the reference sequence RS and the last identification information L2 of the candidate sequence pattern CP at the same position. Until the arrangement, shifting the candidate sequence pattern CP into one unit of identification information on the reference sequence RS results in the sum of both the first and second values. The sequence pattern determiner 450 may calculate an average value of the calculated result values as the second similarity.

다시 도 3을 참조하면, 제2 판단부(380)는 공장제어장치로 전달된 타겟 제어데이터들의 발생순서를 정상 시퀀스 패턴과 비교하여 타겟 제어데이터들의 발생순서가 정상 시퀀스 패턴과 상이하면 판단결과를 사용자에게 전달한다. 예컨대, 정상 시퀀스 패턴이 L7-L19-L22-L8로 결정되어 있고 타겟 제어데이터들의 발생순서가 L7-L22-L19-L22-L8인 경우 타겟 제어데이터들의 발생순서가 정상 시퀀스 패턴과 상이하기 때문에 제2 판단부(390)는 타겟 제어데이터들의 발생순서가 비정상적인 것으로 판단하여 사용자에게 판단결과를 통지한다.Referring back to FIG. 3, the second determination unit 380 compares the generation order of the target control data transmitted to the factory control device with the normal sequence pattern, and determines the determination result if the generation order of the target control data is different from the normal sequence pattern. Pass it to the user. For example, when the normal sequence pattern is determined as L7-L19-L22-L8 and the generation order of the target control data is L7-L22-L19-L22-L8, the generation order of the target control data is different from the normal sequence pattern. The second determination unit 390 determines that the generation order of the target control data is abnormal and notifies the user of the determination result.

본 발명이 속하는 기술분야의 당업자는 상술한 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다.Those skilled in the art to which the present invention pertains will understand that the above-described present invention can be implemented in other specific forms without changing the technical spirit or essential features.

그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.Therefore, it is to be understood that the embodiments described above are exemplary in all respects and not restrictive. The scope of the present invention is shown by the following claims rather than the detailed description, and all changes or modifications derived from the meaning and scope of the claims and their equivalent concepts should be construed as being included in the scope of the present invention. do.

100: 제어단말 110: 공장제어장치
120: 제어데이터의 정상 시퀀스 패턴 생성 시스템
130: 게이트웨이 140: 탐지서버
210: 데이터 차단부 220: 데이터 미러링부
230: 바이패스부 310: 데이터 수집부
320: 파싱부 330: 규칙 생성부
340: 제1 판단부 350: 데이터베이스
360: 정상경로 리스트 생성부 370: 시퀀스 패턴 생성부
380: 제2 판단부 410: 인덱싱부
420: 식별정보 할당부 430: 데이터 정렬부
440: 유사도 산출부 450: 시퀀스 패턴 결정부
100: control terminal 110: factory control device
120: normal sequence pattern generation system of control data
130: gateway 140: detection server
210: data blocking unit 220: data mirroring unit
230: bypass unit 310: data collection unit
320: parser 330: rule generator
340: First judgment unit 350: Database
360: normal path list generation unit 370: sequence pattern generation unit
380: second determination unit 410: indexing unit
420: identification information allocation unit 430: data alignment unit
440: Similarity calculator 450: Sequence pattern determiner

Claims (18)

제어단말에서 공장제어장치로 전달된 제1 제어데이터들을 파싱하여 상기 제1 제어데이터들의 커맨드(Command) 및 상기 커맨드의 밸류(Value)를 획득하는 파싱부;
상기 커맨드 및 밸류에 대한 정상 제어데이터 보안규칙을 생성하는 규칙 생성부; 및
상기 제어단말에서 수신되는 타겟 제어데이터와 상기 정상 제어데이터 보안규칙을 비교하여 상기 타겟 제어데이터의 비정상 여부를 판단하는 제1 판단부를 포함고,
상기 정상 제어데이터 보안규칙을 기초로 상기 제1 제어데이터들의 발생순서에 따른 정상 시퀀스 패턴을 생성하는 시퀀스 패턴 생성부를 포함하고,
상기 시퀀스 패턴 생성부는,
상기 제1 제어데이터들의 식별정보들이 정렬된 k*n 매트릭스에서 각 열에 배치된 식별정보들 간의 제1 유사도를 기초로 상기 정상 시퀀스 패턴을 생성하는 시퀀스 패턴 결정부를 포함하는 것을 특징으로 하는 비정상 제어데이터 탐지 시스템.
A parsing unit for parsing the first control data transmitted from the control terminal to the factory control device to obtain a command of the first control data and a value of the command;
A rule generator for generating a normal control data security rule for the command and value; And
And a first determination unit comparing the target control data received from the control terminal with the normal control data security rule and determining whether the target control data is abnormal.
A sequence pattern generation unit configured to generate a normal sequence pattern according to a generation order of the first control data based on the normal control data security rule;
The sequence pattern generation unit,
Abnormal control data, characterized in that it comprises a sequence pattern determination unit for generating the normal sequence pattern on the basis of the first similarity between the identification information arranged in each column in the k * n matrix arranged the identification information of the first control data Detection system.
제1항에 있어서,
상기 정상 제어데이터 보안규칙은 각 커맨드가 해당 커맨드의 밸류와 매핑되어 있는 데이터 세트인 것을 특징으로 하는 비정상 제어데이터 탐지 시스템.
The method of claim 1,
The normal control data security rule is an abnormal control data detection system, characterized in that each command is a data set mapped to the value of the command.
제1항에 있어서,
상기 정상 제어데이터 보안규칙은 동일한 종류의 커맨드에 대한 복수개의 밸류들을 기초로 산출된 대표밸류가 해당 커맨드와 매핑되어 있는 데이터 세트인 것을 특징으로 하는 비정상 제어데이터 탐지 시스템.
The method of claim 1,
The normal control data security rule is an abnormal control data detection system, characterized in that the representative value calculated based on a plurality of values for the same type of command is mapped to the command.
제1항에 있어서,
상기 정상 제어데이터 보안규칙은 동일한 종류의 커맨드에 대한 복수개의 밸류들간의 함수식이 해당 커맨드와 매핑되어 있는 데이터 세트인 것을 특징으로 하는 비정상 제어데이터 탐지 시스템.
The method of claim 1,
The normal control data security rule is an abnormal control data detection system, characterized in that a function set between a plurality of values for the same type of command is mapped to the command.
제1항에 있어서,
상기 제1 제어데이터들의 헤더에서 획득된 IP 어드레스(Internet Protocol Address)를 기초로 정상 IP 어드레스들로 구성된 정상경로 리스트를 생성하는 정상경로 리스트 생성부; 및
상기 타겟 제어데이터의 IP 주소가 상기 정상경로 리스트에 포함되어 있지 않으면 상기 공장제어장치로 상기 타겟 제어데이터의 전달을 차단하는 데이터 차단부를 더 포함하는 것을 특징으로 하는 비정상 제어데이터 탐지 시스템.
The method of claim 1,
A normal path list generation unit generating a normal path list composed of normal IP addresses based on an IP address obtained from a header of the first control data; And
If the IP address of the target control data is not included in the normal path list, abnormal control data detection system further comprises a data blocker for blocking the transmission of the target control data to the factory control device.
제1항에 있어서,
상기 파싱부는 상기 제1 제어데이터들의 헤더로부터 IP 어드레스를 추가로 획득하는 것을 특징으로 하는 비정상 제어데이터 탐지 시스템.
The method of claim 1,
The parsing unit further acquires an IP address from the header of the first control data, abnormal control data detection system.
제1항에 있어서,
상기 제어단말에서 상기 공장제어장치로 전달된 상기 제1 제어데이터들을 복제하여 상기 파싱부로 전달하는 데이터 미러링부를 더 포함하는 것을 특징으로 하는 비정상 제어데이터 탐지 시스템.
The method of claim 1,
The abnormal control data detection system further comprises a data mirroring unit for copying the first control data transferred from the control terminal to the factory control device to the parsing unit.
제1항에 있어서,
상기 공장제어장치로 전달되는 타겟 제어데이터들의 발생순서를 상기 정상 시퀀스 패턴과 비교하여 상기 타겟 제어데이터들의 발생순서의 비정상 여부를 판단하는 제2판단부를 더 포함하는 것을 특징으로 하는 비정상 제어데이터 탐지 시스템.
The method of claim 1,
The abnormal control data detection system further comprises a second determination unit for determining whether the generation order of the target control data is abnormal by comparing the generation order of the target control data delivered to the factory control device with the normal sequence pattern. .
삭제delete 삭제delete 제1항에 있어서,
상기 시퀀스 패턴 결정부는,
상기 k*n 매트릭스에서 k값 별로 산출된 상기 제1 유사도의 편미분값이 최소가 되게 하는 타겟k값을 결정하고, 상기 타겟 k값에 해당하는 매트릭스에서 어느 하나의 열에 배치된 식별정보들을 기초로 상기 정상 시퀀스 패턴을 생성하는 것을 특징으로 하는 비정상 제어데이터 탐지 시스템.
The method of claim 1,
The sequence pattern determination unit,
The target k value is determined to minimize the partial differential value of the first similarity calculated for each k value in the k * n matrix, and based on the identification information disposed in one column of the matrix corresponding to the target k value. The abnormal control data detection system, characterized in that for generating the normal sequence pattern.
제11항에 있어서,
상기 시퀀스 패턴 결정부는,
상기 타겟k값이 복수개이면 상기 제1 제어데이터들의 식별정보들이 상기 제1 제어데이터들의 발생순서에 따라 나열된 기준 시퀀스와 상기 타겟 k값 별로 생성된 복수개의 후보 시퀀스 패턴을 비교하여 제2 유사도를 산출하고, 상기 복수개의 후보 시퀀스 패턴 중 상기 제2 유사도가 가장 큰 후보 시퀀스 패턴을 상기 시퀀스 패턴으로 결정하는 것을 특징으로 하는 비정상 제어데이터 탐지 시스템.
The method of claim 11,
The sequence pattern determination unit,
When the target k values are plural, a second similarity is calculated by comparing the reference sequence in which the identification information of the first control data is arranged according to the generation order of the first control data and the plurality of candidate sequence patterns generated for each target k value. And determining a candidate sequence pattern having the largest second similarity among the plurality of candidate sequence patterns as the sequence pattern.
제11항에 있어서,
상기 시퀀스 패턴 결정부는,
상기 타겟k값이 복수개이면 각 타겟 k값 별로 생성된 각 후보 시퀀스 패턴을 상기 제1 제어데이터들의 발생순서에 따라 나열된 기준 시퀀스 상에서 쉬프트 시키면서 동일 위치에 배치되는 식별정보가 동일하면 제1 값을 부여하고 동일하지 않으면 제2 값을 부여하며, 부여된 제1 값 및 제2 값들을 모두 합산한 결과값이 가장 큰 후보 시퀀스 패턴을 상기 시퀀스 패턴으로 결정하는 것을 특징으로 하는 비정상 제어데이터 탐지 시스템.
The method of claim 11,
The sequence pattern determination unit,
When the target k values are plural, each candidate sequence pattern generated for each target k value is shifted on the reference sequence listed according to the generation order of the first control data, and the first value is given when the identification information disposed at the same position is the same. And assigning a second value if not equal, and determining a candidate sequence pattern having the largest result value obtained by summing all assigned first values and second values as the sequence pattern.
제1항에 있어서,
상기 시퀀스 패턴 생성부는,
상기 정상 제어데이터 보안규칙 중 상기 제1 제어데이터들이 매핑되는 정상 제어데이터 보안규칙의 인덱스 정보를 해당 제1 제어데이터의 식별정보로 할당하는 식별정보 할당부를 더 포함하고,
상기 식별정보 할당부는 상기 정상 제어데이터 보안규칙의 생성에 이용된 제1 제어데이터를 해당 정상 제어데이터 보안규칙과 매핑시키는 것을 특징으로 하는 비정상 제어데이터 탐지 시스템.
The method of claim 1,
The sequence pattern generation unit,
And an identification information allocator for allocating index information of the normal control data security rule to which the first control data is mapped among the normal control data security rules as identification information of the first control data.
The identification information allocating unit maps the first control data used in the generation of the normal control data security rule to the normal control data security rule.
제1항에 있어서,
상기 시퀀스 패턴 생성부는,
상기 제1 제어데이터들의 발생순서에 따라 식별정보들을 상기 k*n 매트릭스로 정렬하는 데이터 정렬부를 더 포함하고,
상기 데이터 정렬부는,
동일 열 내에서 발생순서가 빠른 제1 제어데이터의 식별정보를 상측에 배치하고 발생순서가 느린 제1 제어데이터의 식별정보를 하측에 배치하며, 동일 행 내에서 발생순서가 빠른 제1 제어데이터의 식별정보를 좌측에 배치하고 발생순서가 느린 제1 제어데이터의 식별정보를 우측에 배치하여 상기 k*n 매트릭스를 생성하는 것을 특징으로 하는 비정상 제어데이터 탐지 시스템.
The method of claim 1,
The sequence pattern generation unit,
And a data alignment unit for sorting the identification information into the k * n matrix according to the generation order of the first control data.
The data sorting unit,
In the same column, identification information of the first control data with a rapid generation order is placed on the upper side, and identification information of the first control data with a slower generation order is placed on the lower side. And the identification information of the first control data having a slower generation order is placed on the right side to generate the k * n matrix.
제1항에 있어서,
상기 시퀀스 패턴 생성부는,
상기 k*n 매트릭스에서 k값을 변경시키면서 k값 별로 상기 매트릭스의 기준열에 배치된 식별정보와 타열에 배치된 식별정보를 비교하여 상기 제1 유사도를 산출하는 유사도 산출부를 더 포함하는 것을 특징으로 하는 비정상 제어데이터 탐지 시스템.
The method of claim 1,
The sequence pattern generation unit,
And a similarity calculator configured to calculate the first similarity by comparing the identification information arranged in the reference column of the matrix and the identification information arranged in the other column for each k value while changing the k value in the k * n matrix. Abnormal control data detection system.
제16항에 있어서,
상기 유사도 산출부는
상기 매트릭스의 각 행 단위로 기준열에 배치된 식별정보와 타열에 배치된 식별정보가 동일하면 제1 값을 부여하고 상이하면 제2 값을 부여하며 모든 행에 대해 부여된 제1 값 및 제2 값의 합산결과를 열의 개수인 n으로 제산하여 상기 제1 유사도를 산출하는 것을 특징으로 하는 비정상 제어데이터 탐지 시스템.
The method of claim 16,
The similarity calculating unit
If the identification information arranged in the reference column and the identification information arranged in the other column are the same in each row unit of the matrix, a first value is given, and if it is different, a second value is given, and the first value and the second value given for all rows are provided. And calculating the first similarity by dividing the sum result by n, which is the number of columns.
제16항에 있어서,
상기 기준열은 상기 매트릭스의 첫 번째 열인 것을 특징으로 하는 비정상 제어데이터 탐지 시스템.
The method of claim 16,
And the reference column is the first column of the matrix.
KR1020170182673A 2017-12-28 2017-12-28 System for Detecting Abnormal Control Data KR102027044B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170182673A KR102027044B1 (en) 2017-12-28 2017-12-28 System for Detecting Abnormal Control Data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170182673A KR102027044B1 (en) 2017-12-28 2017-12-28 System for Detecting Abnormal Control Data

Publications (2)

Publication Number Publication Date
KR20190080300A KR20190080300A (en) 2019-07-08
KR102027044B1 true KR102027044B1 (en) 2019-09-30

Family

ID=67256294

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170182673A KR102027044B1 (en) 2017-12-28 2017-12-28 System for Detecting Abnormal Control Data

Country Status (1)

Country Link
KR (1) KR102027044B1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102435460B1 (en) * 2020-09-29 2022-08-22 주식회사 포스코아이씨티 System for Detecting Abnormal Control Data
KR102435456B1 (en) * 2020-09-29 2022-08-22 주식회사 포스코아이씨티 System And Method for Detecting Abnormal Control Data
KR102435472B1 (en) * 2020-09-29 2022-08-22 주식회사 포스코아이씨티 System And Method for Detecting Abnormal Control Data
KR102260822B1 (en) * 2020-10-22 2021-06-07 (주)테이텀 Scanning and managing apparatus on cloud security compliance

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BR112014005119A2 (en) * 2011-09-09 2017-04-18 Hewlett Packard Development Co Lp event evaluation method, event evaluation system and non-transient computer readable media
KR101880162B1 (en) * 2015-12-31 2018-08-16 다운정보통신(주) Method for Control Signals Verifying Integrity Using Control Signals Analysis in Automatic Control System

Also Published As

Publication number Publication date
KR20190080300A (en) 2019-07-08

Similar Documents

Publication Publication Date Title
KR102027044B1 (en) System for Detecting Abnormal Control Data
US9560063B2 (en) Apparatus and method for detecting malicious domain cluster
Hodo et al. Anomaly detection for simulated iec-60870-5-104 trafiic
CN107077115B (en) Safe operation control method and automated network with the security control
KR102282847B1 (en) System for Detecting Abnormal Control Data
CN104850093A (en) Method for monitoring security in an automation network, and automation network
CN110324323A (en) A kind of new energy plant stand relates to net end real-time, interactive process exception detection method and system
CN112202817B (en) Attack behavior detection method based on multi-event association and machine learning
CN110493181A (en) User behavior detection method, device, computer equipment and storage medium
US10348751B2 (en) Device, system and method for extraction of malicious communication pattern to detect traffic caused by malware using traffic logs
Rahman et al. A data mining framework to predict cyber attack for cyber security
KR20200098838A (en) Control system anomaly detection system and its method by analyzing the device control signal packet and its status
KR102069954B1 (en) System and Method for Generating Normal Sequence Pattern of Control Data
KR102282843B1 (en) Abnormal Control Data Detection System Using Swiching Device
KR102115734B1 (en) Attack and anomaly detection device, attack and anomaly detection method, and attack and anomaly detection program
Kolosok et al. Cyber resilience of SCADA at the level of energy facilities
CN108848093B (en) Route calculation unit and network node device
WO2020241959A1 (en) System for detecting abnormal control data
CN110266562A (en) The method of network application system identity authentication function detected automatically
KR102435460B1 (en) System for Detecting Abnormal Control Data
KR102504809B1 (en) System And Method for Detecting Abnormal Control Data through Predicting Format of Control Command
CN108306855A (en) A kind of numerical control network safety monitoring method based on dynamic fingerprint characteristic function library
Schölnast et al. Anomaly Detection in Communication Networks of Cyber-physical Systems using Cross-over Data Compression.
CN110008688B (en) Website anti-Trojan detection method
Ge et al. A detection strategy based on deep learning against sequential outages induced by false data injection attacks

Legal Events

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