KR102435460B1 - System for Detecting Abnormal Control Data - Google Patents

System for Detecting Abnormal Control Data Download PDF

Info

Publication number
KR102435460B1
KR102435460B1 KR1020200126575A KR20200126575A KR102435460B1 KR 102435460 B1 KR102435460 B1 KR 102435460B1 KR 1020200126575 A KR1020200126575 A KR 1020200126575A KR 20200126575 A KR20200126575 A KR 20200126575A KR 102435460 B1 KR102435460 B1 KR 102435460B1
Authority
KR
South Korea
Prior art keywords
control data
abnormal
outlier
generating
range
Prior art date
Application number
KR1020200126575A
Other languages
Korean (ko)
Other versions
KR20220043319A (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 KR1020200126575A priority Critical patent/KR102435460B1/en
Publication of KR20220043319A publication Critical patent/KR20220043319A/en
Application granted granted Critical
Publication of KR102435460B1 publication Critical patent/KR102435460B1/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
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • 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
    • 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
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Abstract

본 발명의 일 실시예에 따른 비정상 제어데이터 탐지 시스템은 제어 단말에서 전달되는 제어데이터를 파싱하여 제어데이터의 커맨드(Command) 및 상기 커맨드의 적어도 하나의 밸류(Value)를 획득하는 데이터 파싱부;상기 커맨드와 비정상 제어데이터 판별모델이 매핑된 정상 제어데이터 보안규칙을 생성하는 보안규칙 생성부;상기 제어데이터 사이의 상관관계를 벗어나는 역상관 다차원 제어데이터 및 상기 제어데이터의 정상 제어데이터 범위를 벗어나는 이상치(outlier) 제어데이터를 생성하는 비정상 제어데이터 생성부;상기 제어 단말에서 수신되는 타겟 제어데이터와 상기 정상 제어데이터 보안규칙을 비교하여 상기 타겟 제어데이터의 비정상 여부를 판단하는 비정상 데이터 판단부;를 포함하고, 상기 보안규칙 생성부는,상기 역상관 다차원 제어데이터 및 상기 이상치 제어데이터를 이용하여 상기 비정상 제어데이터 판별모델을 검증(validation)하여 상기 비정상 제어데이터 판별모델의 학습 종료 시점을 결정하는 것을 특징으로 한다.A system for detecting abnormal control data according to an embodiment of the present invention includes: a data parsing unit configured to parse control data transmitted from a control terminal to obtain a command of the control data and at least one value of the command; A security rule generator generating a normal control data security rule to which a command and an abnormal control data discrimination model are mapped; decorrelation multidimensional control data that is out of correlation between the control data and an outlier ( outlier) an abnormal control data generation unit for generating control data; an abnormal data determination unit for determining whether the target control data is abnormal by comparing the target control data received from the control terminal with the normal control data security rule; and , The security rule generating unit is configured to validate the abnormal control data identification model using the decorrelation multidimensional control data and the outlier control data to determine the learning end time of the abnormal control data identification model. .

Description

비정상 제어데이터 탐지 시스템 및 방법{System for Detecting Abnormal Control Data}Abnormal control data detection system and method {System for Detecting Abnormal Control Data}

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

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

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

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

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

또한, 상술한 바와 같은 일반적인 침입 탐지 시스템은 보안규칙이 시스템 구축시 미리 정해져 있기 때문에 적용 대상이 되는 공장 제어 장치가 변경될 때마다 시스템 관리자가 보안규칙을 새롭게 생성하여야 하기 때문에 시스템 구축 및 유지 비용이 증가한다는 문제점이 있다.In addition, in 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 whenever the applicable factory control device is changed, so system construction and maintenance costs are reduced. There is a problem with increasing.

본 발명은 상술한 문제점을 해결하기 위한 것으로, 상관관계를 갖는 데이터들에 대한 비정상 제어데이터를 생성할 수 있는 비정상 제어데이터 탐지 시스템을 제공하는 것을 그 기술적 특징으로 한다.The present invention is to solve the above-described problem, and it is a technical feature to provide an abnormal control data detection system capable of generating abnormal control data for data having a correlation.

또한, 본 발명은 정상 제어데이터 범위를 벗어나는 비정상 제어데이터를 생성할 수 있는 비정상 제어데이터 탐지 시스템을 제공하는 것을 그 기술적 특징으로 한다.In addition, the present invention has a technical feature to provide an abnormal control data detection system capable of generating abnormal control data out of the normal control data range.

또한, 본 발명은 생성된 비정상 제어데이터를 포함하는 제어데이터를 이용하여 보안규칙을 학습시켜 보다 정확하게 비정상 데이터를 탐지하기 위한 보안규칙을 결정할 수 있는 비정상 제어데이터 탐지 시스템을 제공하는 것을 그 기술적 특징으로 한다.In addition, the present invention provides an abnormal control data detection system capable of determining a security rule for more accurately detecting abnormal data by learning a security rule using control data including the generated abnormal control data. do.

본 발명의 일 실시예에 따른 비정상 제어데이터 탐지 시스템은 제어 단말에서 전달되는 제어데이터를 파싱하여 제어데이터의 커맨드(Command) 및 상기 커맨드의 적어도 하나의 밸류(Value)를 획득하는 데이터 파싱부;상기 커맨드와 비정상 제어데이터 판별모델이 매핑된 정상 제어데이터 보안규칙을 생성하는 보안규칙 생성부;상기 제어데이터들 사이의 상관관계를 벗어나는 역상관 다차원 제어데이터 및 상기 제어데이터의 정상 제어데이터 범위를 벗어나는 이상치(outlier) 제어데이터를 생성하는 비정상 제어데이터 생성부;상기 제어 단말에서 수신되는 타겟 제어데이터와 상기 정상 제어데이터 보안규칙을 비교하여 상기 타겟 제어데이터의 비정상 여부를 판단하는 비정상 데이터 판단부;를 포함하고, 상기 보안규칙 생성부는,상기 역상관 다차원 제어데이터 및 상기 이상치 제어데이터를 이용하여 상기 비정상 제어데이터 판별모델을 검증(validation)하여 상기 비정상 제어데이터 판별모델의 학습 종료 시점을 결정하는 것을 특징으로 한다.A system for detecting abnormal control data according to an embodiment of the present invention includes: a data parsing unit configured to parse control data transmitted from a control terminal to obtain a command of the control data and at least one value of the command; A security rule generator for generating a normal control data security rule to which a command and an abnormal control data discrimination model are mapped; decorrelation multidimensional control data that is out of correlation between the control data and outliers outside the normal control data range of the control data (outlier) Abnormal control data generation unit for generating control data; Abnormal data determination unit for determining whether the target control data is abnormal by comparing the target control data received from the control terminal with the normal control data security rule; includes; and the security rule generation unit validates the abnormal control data identification model using the decorrelation multidimensional control data and the outlier control data to determine the learning end time of the abnormal control data identification model. do.

본 발명의 실시예에 따르면, 상관관계 있는 제어데이터들에 대한 비정상 제어데이터 및 정상 제어데이터 범위를 벗어나는 비정상 제어데이터를 생성하여, 다양한 상황에 대한 비정상 제어데이터를 보다 정확하게 탐지할 수 있다.According to an embodiment of the present invention, abnormal control data for various situations can be more accurately detected by generating abnormal control data for correlated control data and abnormal control data outside the range of normal control data.

또한, 본 발명의 실시예에 따르면, 상관관계 있는 제어데이터들에 대한 다차원 비정상 제어데이터를 생성하여 보안규칙에 대해 신속하게 검증을 진행할 수 있다. In addition, according to an embodiment of the present invention, it is possible to quickly verify the security rule by generating multidimensional abnormal control data for the correlated control data.

또한, 본 발명의 실시예에 따르면, 비정상 제어데이터를 포함하는 제어데이터를 이용하여 보안규칙을 학습시켜 입력되는 제어데이터에 대해 보다 정확하게 비정상 제어데이터를 탐지할 수 있는 보안규칙을 생성할 수 있다.In addition, according to an embodiment of the present invention, it is possible to generate a security rule capable of more accurately detecting abnormal control data with respect to input control data by learning a security rule using control data including abnormal control data.

도 1은 본 발명의 일 실시예에 따른 비정상 제어데이터 탐지 시스템이 적용되는 네트워크 구성을 개략적으로 보여주는 도면이다.
도 2는 도 1에 도시된 게이트웨이의 구성을 개략적으로 보여주는 블록도이다.
도 3은 도 1에 도시된 탐지 서버의 구성을 개략적으로 보여주는 블록도이다.
도 4a는 본 발명의 일 실시예에 따른 제어데이터의 네트워크 파트를 보여주는 도면이다.
도 4b는 본 발명의 일 실시예에 따른 제어데이터의 데이터 파트를 보여주는 도면이다.
도 5는 도 3에 도시된 비정상 제어데이터 생성부를 개략적으로 보여주는 블록도이다.
도 6은 본 발명의 일 실시예에 따른 비정상 제어데이터 생성 방법의 플로우 차트이다.
도 7은 도 6에 도시된 이상치 제어데이터 생성방법의 플로우 차트이다.
도 8a는 최소 이상치 제어데이터 및 최대 이상치 제어데이터 생성 알고리즘에 의한 제어데이터의 단계적 밸류 분포 결과를 나타내는 그래프이다.
도 8b는 중간 이상치 제어데이터 생성 알고리즘에 의한 제어데이터의 단계적 밸류 분포 결과를 나타내는 그래프이다.
도 9는 본 발명의 일 실시예에 따른 역상관 다차원 제어데이터 생성방법의 플로우 차트이다.
도 10은 제1 내지 제3 제어데이터에 대한 밸류 분포를 나타내는 그래프이다.
1 is a diagram schematically showing a network configuration to which an abnormal control data detection system according to an embodiment of the present invention is applied.
FIG. 2 is a block diagram schematically showing the configuration of the gateway shown in FIG. 1 .
FIG. 3 is a block diagram schematically showing the configuration of the detection server shown in FIG. 1 .
4A is a diagram illustrating a network part of control data according to an embodiment of the present invention.
4B is a diagram illustrating a data part of control data according to an embodiment of the present invention.
FIG. 5 is a block diagram schematically illustrating an abnormal control data generator shown in FIG. 3 .
6 is a flowchart of a method for generating abnormal control data according to an embodiment of the present invention.
FIG. 7 is a flowchart of the method for generating outlier control data shown in FIG. 6 .
8A is a graph illustrating a result of a stepwise value distribution of control data by an algorithm for generating minimum outlier control data and maximum outlier control data.
8B is a graph showing a result of a step-by-step value distribution of control data by an intermediate outlier control data generation algorithm.
9 is a flowchart of a method for generating decorrelation multidimensional control data according to an embodiment of the present invention.
10 is a graph illustrating a value distribution for first to third control data.

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

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

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

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

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

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

도 1에 도시된 제어 단말(100)은 공장 제어 장치(110)를 제어하고 공장 제어 장치(110)에 의해 생성되는 조업 데이터를 수집하는 역할을 수행한다. 본 발명의 일 실시예에 따른 제어 단말(100)은 SCADA(Supervisory Control And Data Acquisition) 또는 HMI(Human Machine Interface)를 포함할 수 있다.The control terminal 100 shown in FIG. 1 controls the factory control device 110 and serves to collect operation data generated by the factory control device 110 . The control terminal 100 according to an embodiment of the present invention 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 device 110 controls the facilities disposed at the operation site based on the control data transmitted from the control terminal 100 , and transmits the facility control result or operation data obtained from each facility to the control terminal 100 . perform the role The factory control device 110 may include a programmable logic controller (PLC).

비정상 제어데이터 탐지 시스템(120)은 제어 단말(100)과 공장 제어 장치(110)를 연결한다. 구체적으로, 비정상 제어데이터 탐지 시스템(120)은 제어 단말(100)에서 생성된 제어데이터를 공장 제어 장치(110)로 전달하고, 공장 제어 장치(110)에 의해 생성된 조업 데이터를 제어 단말(100)로 전달한다. The abnormal control data detection system 120 connects the control terminal 100 and the factory control device 110 . Specifically, the abnormal control data detection system 120 transmits the control data generated by the control terminal 100 to the factory control device 110 , and transmits the operation data generated by the factory control device 110 to the control terminal 100 . ) to pass

도 2는 도 1에 도시된 게이트웨이의 구성을 개략적으로 보여주는 블록도이다. 도 2에 도시된 바와 같이 보안 게이트웨이(130)는 데이터 차단부(210), 데이터 미러링부(220) 및 바이패스부(230)를 포함한다.FIG. 2 is a block diagram schematically showing the configuration of the gateway shown in FIG. 1 . As shown in FIG. 2 , the security gateway 130 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 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 the determination, if the IP address of the received control data does not correspond to the pre-registered IP address, the data blocking unit 210 determines that the control data is abnormal control data received through an abnormal path, and the corresponding control data is returned to the factory. It is possible to block transmission to the control device 110 .

데이터 차단부(210)는 탐지 서버(140)에 의해 생성되는 정상 경로 리스트를 기초로 제어 단말(110)에서 수신되는 제어데이터의 IP 어드레스가 미리 등록된 IP 어드레스에 해당하는지 여부를 판단할 수 있다. 이때, 정상 경로 리스트에는 정상 IP 어드레스들이 등록되어 있을 수 있다.The data blocking unit 210 may determine 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 . . 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 the control data is blocked.

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

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

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

탐지 서버(140)는 제어데이터들 중 수집된 제1 제어데이터를 기초로 정상 제어데이터 보안규칙을 생성하고, 판단 대상이 되는 타겟 제어데이터가 수신되면 타겟 제어데이터를 정상 제어데이터 보안규칙과 비교함으로써 타겟 제어데이터가 비정상 제어데이터인지 여부를 판단한다.The detection server 140 generates a normal control data security rule based on the first control data collected among the control data, and compares the target control data with the normal control data security rule when the target control data to be determined is received. It is determined whether the target control data is abnormal control data.

이하, 본 발명에 따른 탐지 서버(140)의 구성을 도 3 내지 도 6을 참조하여 상세히 설명한다.Hereinafter, the configuration of the detection server 140 according to the present invention will be described in detail with reference to FIGS. 3 to 6 .

도 3은 도 1에 도시된 탐지 서버의 구성을 개략적으로 보여주는 블록도이다. FIG. 3 is a block diagram schematically showing the configuration of the detection server shown in FIG. 1 .

본 발명의 일 실시예에 따른 탐지 서버(140)는 데이터 수집부(310), 데이터 파싱부(320), 보안규칙 생성부(330), 비정상 제어데이터 생성부(340), 비정상 제어데이터 판단부(350), 감시부(360) 및 데이터 베이스(370)를 포함한다.The detection server 140 according to an embodiment of the present invention includes a data collection unit 310, a data parsing unit 320, a security rule generation unit 330, an abnormal control data generation unit 340, and an abnormal control data determination unit. 350 , a monitoring unit 360 , and a database 370 .

데이터 수집부(310)는 정상 제어데이터 보안규칙 생성을 위해 데이터 미러링부(220)를 통해 수신된 제어데이터들 중 적어도 일부를 추출하여 수집한다. 이때, 제어 단말(100) 및 공장 제어 장치(110)의 가동 기간 중에 데이터 미러링부(220)를 통해 수신된 제어데이터들을 정상 제어데이터로 가정할 수 있으며, 이에 따라, 데이터 수집부(310)는 제어데이터들 중 제어 단말(100) 및 공장 제어 장치(110)의 가동 기간 중에 데이터 미러링부(220)를 통해 수신된 제어데이터들을 수집할 수 있다.The data collection unit 310 extracts and collects at least some of the control data received through the data mirroring unit 220 in order to generate a normal control data security rule. In this case, it may be assumed that the control data received through the data mirroring unit 220 during the operation period of the control terminal 100 and the factory control device 110 are normal control data, and accordingly, the data collection unit 310 is Among the control data, the control data received through the data mirroring unit 220 may be collected during the operation period of the control terminal 100 and the factory control device 110 .

도 4a는 본 발명의 일 실시예에 따른 제어데이터의 네트워크 파트를 보여주는 도면이고, 도 4b는 본 발명의 일 실시예에 따른 제어데이터의 데이터 파트를 보여주는 도면이다.4A is a diagram showing a network part of control data according to an embodiment of the present invention, and FIG. 4B is a diagram showing a data part of control data according to an embodiment of the present invention.

데이터 파싱부(320)는 데이터 수집부(310)에 의해 수집된 제어데이터들을 파싱하여 커맨드(Command) 및 해당 커맨드에 대한 밸류(Value)를 획득하여 제1 제어데이터들을 추출한다.The data parsing unit 320 parses the control data collected by the data collection unit 310 to obtain a command and a value for the corresponding command to extract the first control data.

도 4a 및 도 4b에 도시된 바와 같이, 데이터 수집부(310)에 의해 수집된 제어데이터는 네트워크 파트와 데이터 파트로 이루어진다.As shown in FIGS. 4A and 4B , the control data collected by the data collection unit 310 includes a network part and a data part.

네트워크 파트는 제어 장치 정보 및 송수신처 정보를 포함한다.The network part includes control device information and transmission/reception destination information.

제어 장치 정보는 SysInfo(System Information), PType(ProtoType), 및 Name을 포함한다. 이때, SysInfo(System Information)는 제어장치 프로토콜 정보를 의미하고, PType(ProtoType)은 제어장치 프로토콜 타입 정보를 의미하고, Name은 제어장치 모델정보를 의미한다.The control device information includes SysInfo (System Information), PType (ProtoType), and Name. In this case, SysInfo (System Information) means controller protocol information, PType (ProtoType) means controller protocol type information, and Name means controller model information.

송수신처 정보는 SMac(Source Mac Address), Sport(Source Port), SIP(Source Internet Protocol)를 포함하고, DMac(Destination Mac Address), DIP(Destination Internet Protocol), DPort(Destination Port)를 포함하며, 네트워크 정보인 VID(Vlan ID)를 더 포함할 수 있다. 이때, SMac(Source Mac Address)은 제어데이터를 송신한 MAC 어드레스를 의미하고, Sport(Source Port)는 제어데이터를 송신한 포트를 의미하며, SIP(Source Internet Protocol)는 제어데이터를 송신한 IP 어드레스를 의미하고, DMac(Destination Mac Address)는 제어데이터를 수신할 MAC 어드레스를 의미하며, DIP(Destination Internet Protocol)는 제어데이터를 수신할 IP 어드레스를 의미하고, DPort(Destination Port)는 제어데이터를 수신할 포트를 의미하며, VID(Vlan ID)는 네트워크 정보로써, 가상 네트워크 망 분리 시 가상 네트워크간의 구별을 위해 이용되는 식별정보를 의미할 수 있다. The sending and receiving destination information includes SMac (Source Mac Address), Sport (Source Port), SIP (Source Internet Protocol), and includes DMac (Destination Mac Address), DIP (Destination Internet Protocol), and DPort (Destination Port), It may further include a VID (Vlan ID) that is network information. At this time, SMac (Source Mac Address) means the MAC address that transmitted the control data, Sport (Source Port) means the port that transmitted the control data, and SIP (Source Internet Protocol) is the IP address that transmitted the control data. DMac (Destination Mac Address) means a MAC address to receive control data, DIP (Destination Internet Protocol) means an IP address to receive control data, and DPort (Destination Port) means to receive control data. It means a port to be used, and VID (Vlan ID) is network information and may refer to identification information used to distinguish between virtual networks when virtual networks are separated.

데이터 파트는 Fun(Function), Value 및 Addr(Address)를 포함한다. 이때, Fun(Function)은 제어 장치의 동작상태 정보를 의미하고, 본 발명의 실시예에 따르면, Addr은 커맨드 및 커맨드에 대한 데이터 개수(Order)를 포함하는 정보를 의미하고, Value는 커맨드에 대한 데이터 밸류들을 의미한다. The data part includes Fun(Function), Value and Addr(Address). In this case, Fun (Function) means information on the operating state of the control device, Addr means information including a command and the number of data (Order) for the command, and Value means information about the command. data values.

본 발명의 일 실시예에 따른 데이터 파싱부(320)는 수집된 제어데이터들을 파싱하여 데이터 파트에서 커맨드(TT001), 커맨드에 대한 데이터 개수(24EA) 및 각 데이터의 밸류들(0ADA090B00002C63DB800020AD70003000F000F00??)을 추출하여 제1 제어데이터를 획득한다. 예를 들어, 데이터 파싱부(320)는 커맨드인 온도 증가(Add)를 추출하고, 밸류인 증가될 온도값을 추출하여 온도 관련 제1 제어데이터를 획득할 수 있다. The data parsing unit 320 according to an embodiment of the present invention parses the collected control data to obtain a command (TT001), the number of data for the command (24EA), and values of each data (0ADA090B00002C63DB800020AD70003000F000F00??) in the data part. The first control data is obtained by extraction. For example, the data parsing unit 320 may obtain the temperature-related first control data by extracting a temperature increase (Add), which is a command, and a temperature value to be increased, which is a value.

본 발명의 다른 일 실시예에서는 데이터 수집부(310)가 생략되고, 데이터 파싱부(320)가 데이터 미러링부(220)에 의해 복제되어 데이터 베이스(370)에 저장된 제어데이터들로부터 적어도 일부의 제어데이터들을 직접 추출하여 파싱할 수도 있다. In another embodiment of the present invention, the data collection unit 310 is omitted, and the data parsing unit 320 is copied by the data mirroring unit 220 and controls at least a part of the control data stored in the database 370 . Data can be directly extracted and parsed.

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

보안규칙 생성부(330)는 하나의 커맨드 및 해당 커맨드에 대응하는 비정상 제어데이터 판별모델이 매핑되어 있는 하나의 데이터 세트를 하나의 정상 제어데이터 보안규칙으로 설정할 수 있다. The security rule generator 330 may set one command and one data set to which an abnormal control data determination model corresponding to the command is mapped as one normal control data security rule.

보안규칙 생성부(330)는 생성된 비정상 제어데이터 판별모델을 리스트화하여 데이터 베이스(370)에 저장할 수 있다. 이에 대해서는 도 5 내지 도 8을 참조하여 상세히 후술한다.The security rule generator 330 may list the generated abnormal control data determination model and store it in the database 370 . This will be described later in detail with reference to FIGS. 5 to 8 .

본 발명의 일 실시예에 따르면, 보안규칙 생성부(330)는 데이터 베이스(370)에 저장된 제어데이터 및 후술할 비정상 제어데이터 생성부(340)로부터 생성된 비정상 제어데이터를 이용하여 학습된 비정상 제어데이터 판별모델을 검증한다. 즉, 비정상 제어데이터를 이용하여 제어데이터를 통해 학습된 비정상 제어데이터 판별모델의 성능을 평가하고 비정상 제어데이터 판별모델의 학습 종료 시점을 결정할 수 있다. 구체적으로, 보안규칙 생성부(330)는 역상관 다차원 제어데이터 및 이상치 제어데이터를 비정상 제어데이터 판별모델에 입력하여 비정상 제어데이터 판별모델의 정확도를 산출하고, 산출된 정확도를 미리 정해진 기준 정확도 범위와 비교하여 비정상 제어데이터 판별모델의 학습 종료 시점을 결정한다. According to an embodiment of the present invention, the security rule generating unit 330 learns abnormal control using control data stored in the database 370 and abnormal control data generated by the abnormal control data generating unit 340 to be described later. Validate the data discrimination model. That is, it is possible to evaluate the performance of the abnormal control data discrimination model learned through the control data using the abnormal control data and determine the learning end time of the abnormal control data discrimination model. Specifically, the security rule generator 330 inputs the decorrelation multidimensional control data and the outlier control data to the abnormal control data identification model to calculate the accuracy of the abnormal control data identification model, and sets the calculated accuracy with the predetermined reference accuracy range. By comparison, the learning end point of the abnormal control data discrimination model is determined.

도 5는 도 3에 도시된 비정상 제어데이터 생성부의 블록도이다. 도 5를 참조하여, 비정상 제어데이터 생성부(340)에 대해 상세히 설명한다. FIG. 5 is a block diagram of the abnormal control data generator shown in FIG. 3 . Referring to FIG. 5 , the abnormal control data generating unit 340 will be described in detail.

도 5를 참조하면, 비정상 제어데이터 생성부(340)는 데이터 전처리부(341), 이상치 제어데이터 생성부(342a) 및 역상관 다차원 제어데이터 생성부(342b)를 포함한다. Referring to FIG. 5 , the abnormal control data generator 340 includes a data preprocessor 341 , an outlier control data generator 342a , and a decorrelation multidimensional control data generator 342b .

데이터 전처리부(341)는 비정상 제어데이터를 생성하기 위해 제어데이터의 전처리를 수행한다. 즉, 데이터 전처리부(341)는 제어데이터의 노이즈(Noise)를 제거하고, 노이즈가 제거된 제어데이터에 대한 통계 정보를 산출한다.The data preprocessor 341 preprocesses the control data to generate abnormal control data. That is, the data preprocessor 341 removes noise from the control data and calculates statistical information about the control data from which the noise has been removed.

데이터 전처리부(341)는 제어데이터의 노이즈(Noise)를 제거할 수 있다. 구체적으로, 데이터 전처리부(341)는 대부분의 제어데이터의 밸류와 다른 분포를 가지며 그 발생 빈도가 매우 적은 밸류를 노이즈로 판단할 수 있다. 이와 달리, 데이터 전처리부(341)는 특정 밸류를 노이즈로 판단할 수도 있다. The data preprocessor 341 may remove noise from the control data. Specifically, the data preprocessor 341 may determine a value having a distribution different from that of most control data values and having a very low frequency of occurrence as noise. Alternatively, the data preprocessor 341 may determine a specific value as noise.

데이터 전처리부(341)는 노이즈가 제거된 제어데이터의 최소값(Min), 최대값(Max), 평균(Mean) 및 표준 편차를 산출할 수 있다. 산출된 제어데이터의 통계정보는 이상치 제어데이터 생성부(342a) 및 역상관 다차원 제어데이터 생성부(342b)로 전송될 수 있다.The data preprocessor 341 may calculate a minimum value (Min), a maximum value (Max), an average (Mean), and a standard deviation of the control data from which the noise has been removed. The calculated statistical information of the control data may be transmitted to the outlier control data generator 342a and the decorrelation multidimensional control data generator 342b.

또한, 데이터 전처리부(341)는 노이즈가 제거된 제어데이터의 적어도 일부를 무작위로 추출할 수 있다. 예를 들어, 데이터 전처리부(341)는 제어데이터의 10%이상 30%이하를 추출하여 이상치 제어데이터 생성부(342a) 및 역상관 다차원 제어데이터 생성부(342b)로 전송할 수 있다. 이에 따라, 제어데이터 중 일부 데이터를 사용하여 비정상 제어데이터를 생성하기 때문에 비정상 제어데이터를 생성하기 위해 소요되는 시간이 감소할 수 있다.Also, the data preprocessor 341 may randomly extract at least a portion of the control data from which the noise has been removed. For example, the data pre-processing unit 341 may extract 10% or more and 30% or less of the control data and transmit it to the outlier control data generation unit 342a and the decorrelation multidimensional control data generation unit 342b. Accordingly, since the abnormal control data is generated using some of the control data, the time required to generate the abnormal control data may be reduced.

본 발명의 일 실시예에 따르면, 이상치 제어데이터 생성부(342a)는 제어데이터의 정상 제어데이터 범위를 벗어나는 이상치 제어데이터를 생성한다. 구체적으로, 이상치 제어데이터 생성부(342a)는 제어데이터에 대해 가우시안 커널 밀도(Gaussian Kernel Density) 추정을 적용하여 정상 제어데이터 범위를 생성하고, 정상 제어데이터 범위의 최소값보다 작은 최소 이상치 제어데이터, 정상 제어데이터 범위의 최대값보다 큰 최대 이상치 제어데이터 및 정상 제어데이터들 사이의 중간 이상치 제어데이터를 생성한다. 이때, 이상치 제어데이터 생성부(342a)는 제어데이터 중 일부를 이용하여 이상치 제어데이터를 생성할 수 있다. 예를 들어, 이상치 제어데이터 생성부(342a)는 제어데이터 중 50%의 제어데이터를 이용하여 이상치 제어데이터를 생성할 수 있다. 이상치 제어데이터의 생성방법에 대해서는 도 7 내지 도 8b를 참조하여 상세히 후술한다.According to an embodiment of the present invention, the outlier control data generation unit 342a generates outlier control data that is out of the normal control data range of the control data. Specifically, the outlier control data generation unit 342a generates a normal control data range by applying a Gaussian kernel density estimation to the control data, and the minimum outlier control data smaller than the minimum value of the normal control data range, the normal The maximum outlier control data greater than the maximum value of the control data range and intermediate outlier control data between the normal control data are generated. In this case, the outlier control data generation unit 342a may generate outlier control data by using some of the control data. For example, the outlier control data generator 342a may generate outlier control data using 50% of control data among the control data. A method of generating the outlier control data will be described later in detail with reference to FIGS. 7 to 8B .

본 발명의 일 실시예에 따르면, 역상관 다차원 제어데이터 생성부(342b)는 제어데이터들 사이의 상관관계를 벗어나는 역상관 다차원 제어데이터를 생성한다. 구체적으로, 역상관 다차원 제어데이터 생성부(342b)는 제어데이터들에 대한 상관 행렬을 이용하여 상관계수를 산출하여 제어데이터들 사이의 상관관계를 분석하고, 미리 정해진 임계상관계수 이상의 상관계수의 절대값을 갖는 제어데이터들을 추출한다. 예를 들어, 임계상관계수는 0.7 일 수 있다. 역상관 다차원 제어데이터 생성부(342b)는 추출된 제어데이터들을 이용하여, 상관 다차원 제어데이터 패턴을 생성한다. 또한, 역상관 다차원 제어데이터 생성부(342b)는 제어데이터 범위를 각각 산출하고 산출된 제어데이터 범위 내의 모든 밸류들을 조합하여 예비 역상관 다차원 제어데이터 패턴들을 생성한다. 제어데이터들의 모든 조합 중 상관관계가 있는 제어데이터들의 조합을 제거하여 상관관계를 벗어나는 제어데이터인 역상관 다차원 제어데이터를 생성한다. 즉, 예비 역상관 다차원 제어데이터 패턴 중 상관 다차원 제어데이터와 일치하는 패턴을 제거하여, 역상관 다차원 제어데이터를 생성한다. 이때, 역상관 다차원 제어데이터 생성부(342b)는 제어데이터 중 일부를 이용하여 역상관 다차원 제어데이터를 생성할 수 있다. 예를 들어, 이상치 제어데이터 생성부(342a)는 제어데이터 중 50%의 제어데이터를 이용하여 역상관 다차원 제어데이터를 생성할 수 있다. 역상관 다차원 제어데이터의 생성방법에 대해서는 도 9 내지 도 10을 참조하여 상세히 후술한다.According to an embodiment of the present invention, the decorrelation multidimensional control data generator 342b generates decorrelation multidimensional control data out of correlation between control data. Specifically, the decorrelation multidimensional control data generation unit 342b calculates a correlation coefficient using a correlation matrix for the control data, analyzes the correlation between the control data, and determines the absolute value of the correlation coefficient equal to or greater than a predetermined critical correlation coefficient. Control data having a value is extracted. For example, the critical correlation coefficient may be 0.7. The decorrelated multidimensional control data generating unit 342b generates a correlated multidimensional control data pattern by using the extracted control data. Also, the decorrelation multidimensional control data generator 342b calculates each control data range and combines all values within the calculated control data range to generate preliminary decorrelation multidimensional control data patterns. The decorrelation multidimensional control data, which is control data out of correlation, is generated by removing a combination of correlated control data among all combinations of control data. That is, by removing a pattern matching the correlated multidimensional control data from among the preliminary decorrelated multidimensional control data patterns, the decorrelated multidimensional control data is generated. In this case, the decorrelation multidimensional control data generator 342b may generate decorrelation multidimensional control data by using some of the control data. For example, the outlier control data generator 342a may generate decorrelation multidimensional control data using 50% of control data among the control data. A method of generating decorrelation multidimensional control data will be described later in detail with reference to FIGS. 9 to 10 .

다시 도 3을 참조하면, 비정상 제어데이터 판단부(350)는 판단 대상이 되는 타겟 제어데이터를 정상 제어데이터 보안규칙의 비정상 제어데이터 판별모델에 적용하여 타겟 제어데이터가 비정상 제어데이터인지 여부를 판단한다. 구체적으로, 비정상 제어데이터 판단부(350)는 타겟 제어데이터의 커맨드 및 타겟 제어데이터의 커맨드에 대응하는 비정상 제어데이터 판별모델의 데이터 세트인 정상 제어데이터 보안규칙을 타겟 제어데이터에 적용하여 타겟 제어데이터의 비정상 제어데이터 여부를 판단한다. 데이터 베이스(370)에 저장되어 있는 정상 제어데이터 범위들 중 타겟 제어데이터의 커맨드 및 밸류를 기초로 해당 타겟 제어데이터가 정상 제어데이터 범위들에 해당되는지 여부를 판단한다. 이때, 타겟 제어데이터는 데이터 미러링부(220)를 통해 데이터 파싱부(320)로 전달된다.Referring back to FIG. 3 , the abnormal control data determination unit 350 determines whether the target control data is abnormal control data by applying the target control data to be determined to the abnormal control data determination model of the normal control data security rule. . Specifically, the abnormal control data determination unit 350 applies the normal control data security rule, which is a data set of the abnormal control data determination model corresponding to the command of the target control data and the command of the target control data, to the target control data to obtain the target control data. It is determined whether there is abnormal control data of It is determined whether the corresponding target control data corresponds to the normal control data ranges based on the command and the value of the target control data among the normal control data ranges stored in the database 370 . In this case, the target control data is transmitted to the data parsing unit 320 through the data mirroring unit 220 .

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

감시부(360)는 데이터 수집부(310), 데이터 파싱부(320), 보안규칙 생성부(330), 비정상 제어데이터 판단부(350) 및 데이터 베이스(370)의 정상적으로 동작하고 있는지 여부를 탐지하고, 비정상적으로 동작하고 있는 경우, 해당 부분 또는 탐지 서버(140) 전체를 종료하여 재동작시킨다. The monitoring unit 360 detects whether the data collection unit 310 , the data parsing unit 320 , the security rule generation unit 330 , the abnormal control data determination unit 350 , and the database 370 are operating normally. and, if it is operating abnormally, the corresponding part or the entire detection server 140 is terminated and operated again.

데이터 베이스(370)에는 보안규칙 생성부(330)에 의해 생성된 정상 제어데이터 범위가 저장된다. 상술한 바와 같이, 정상 제어데이터 보안규칙은 리스트 형태로 데이터 베이스(370)에 저장될 수 있다. 또한, 데이터 베이스(370)에는 제어데이터로부터 획득된 커맨드 및 해당 커맨드의 밸류의 범위가 매핑되어 저장될 수도 있다.The database 370 stores the normal control data range generated by the security rule generator 330 . As described above, the normal control data security rules may be stored in the database 370 in the form of a list. Also, a command obtained from control data and a value range of the corresponding command may be mapped and stored in the database 370 .

도 6은 본 발명의 일 실시예에 따른 비정상 제어데이터 생성방법의 플로우 차트이다. 도 6을 참조하여, 본 발명의 일 실시예에 따른 비정상 제어데이터 생성방법에 대해 상세히 설명한다.6 is a flowchart of a method for generating abnormal control data according to an embodiment of the present invention. A method for generating abnormal control data according to an embodiment of the present invention will be described in detail with reference to FIG. 6 .

도 6을 참조하면, 우선 데이터 베이스(370)에 저장된 제어데이터를 로딩한다(S610). 이때, 로딩된 제어데이터는 커맨드 및 밸류로 파싱된 형태일 수 있다. 또는, 로딩된 제어데이터는 데이터 파싱부(320)에 의해 커맨드 및 밸류로 파싱될 수 있다.Referring to FIG. 6 , first, control data stored in the database 370 is loaded ( S610 ). In this case, the loaded control data may be in the form of commands and values parsed. Alternatively, the loaded control data may be parsed into commands and values by the data parsing unit 320 .

이후, 제어데이터의 노이즈를 제거한다(S620). 이때, 대부분의 제어데이터의 밸류와 다른 분포를 가지며 그 발생 빈도가 매우 적은 밸류를 노이즈로 판단하여 해당 밸류를 제어데이터에서 제거할 수 있다. 또는, 특정 밸류를 노이즈로 판단하여 해당 밸류를 제어데이터에서 제거할 수 있다. Thereafter, the noise of the control data is removed (S620). At this time, a value having a distribution different from that of most of the control data and having a very low frequency of occurrence is determined as noise, and the corresponding value can be removed from the control data. Alternatively, a specific value may be determined as noise and the corresponding value may be removed from the control data.

이후, 노이즈를 제거한 제어데이터에 대한 통계정보를 산출한다(S630). 구체적으로, 노이즈를 제거한 제어데이터에 대한 최소값, 최대값, 평균 및 표준편차를 산출할 수 있다. 산출된 통계정보는 이상치 제어데이터 생성부(342a) 및 역상관 다차원 제어데이터 생성부(342b)로 전송할 수 있다.Thereafter, statistical information about the control data from which the noise is removed is calculated (S630). Specifically, it is possible to calculate the minimum value, the maximum value, the average, and the standard deviation for the control data from which the noise has been removed. The calculated statistical information may be transmitted to the outlier control data generator 342a and the decorrelation multidimensional control data generator 342b.

이후, 제어데이터를 통해 이상치 제어데이터를 생성하고(S641) 역상관 다차원 제어데이터를 생성한다(S642). 이상치 제어데이터의 생성방법에 대해서는 도 7 내지 도 8b를 참조하여 자세히 후술하고, 역상관 다차원 제어데이터의 생성방법에 대해서는 도 9 내지 도 10을 참조하여 자세히 후술한다.Thereafter, outlier control data is generated through the control data (S641) and decorrelation multidimensional control data is generated (S642). A method of generating the outlier control data will be described later in detail with reference to FIGS. 7 to 8B , and a method of generating decorrelation multidimensional control data will be described in detail later with reference to FIGS. 9 to 10 .

이후, 생성된 비정상 제어데이터를 보안규칙 생성부(330)로 전송한다(S650). 이에 따라, 보안규칙을 생성하기 위해 비정상 제어데이터를 이용할 수 있다.Thereafter, the generated abnormal control data is transmitted to the security rule generator 330 (S650). Accordingly, abnormal control data can be used to create a security rule.

도 7은 도 6에 도시된 이상치 제어데이터 생성방법의 플로우 차트이다. 도 8a는 최소 이상치 제어데이터 및 최대 이상치 제어데이터 생성방법에 의한 제어데이터의 단계적 밸류 분포 결과를 나타내는 그래프이고, 도 8b는 중간 이상치 제어데이터 생성방법에 의한 제어데이터의 단계적 밸류 분포 결과를 나타내는 그래프이다.FIG. 7 is a flowchart of the method for generating outlier control data shown in FIG. 6 . 8A is a graph showing the stepwise value distribution result of the control data by the method for generating the minimum outlier control data and the maximum outlier control data, and FIG. 8B is a graph showing the result of the stepwise value distribution of the control data by the intermediate outlier control data generation method. .

우선, 제어데이터에 대해 가우시안 커널 밀도 추정을 적용하여 정상 제어데이터 범위를 생성한다(S701). 구체적으로, 도 8a 및 도 8b에 도시된 바와 같이, 제어데이터의 밸류에 대해 가우시안 커널 밀도 추정을 적용하여 정상 제어데이터 범위를 생성한다. 이때, 밸류 발생 빈도의 임계값(Threshold)이 설정될 수 있으며, 예를 들어, 밸류 발생 빈도의 임계값은 1.0으로 설정할 수 있다. 이에 따라, 임계값 이상의 발생 빈도를 갖는 밸류만 정상 제어데이터 범위에 포함된다. 또한, 도 8a에 도시된 바와 같이, 제어데이터의 노이즈가 제거된 후, 가우시안 커널 밀도 추정을 적용할 수 있다.First, a normal control data range is generated by applying a Gaussian kernel density estimation to the control data (S701). Specifically, as shown in FIGS. 8A and 8B , a normal control data range is generated by applying a Gaussian kernel density estimation to the value of the control data. In this case, a threshold of the frequency of value generation may be set, for example, the threshold value of the frequency of value generation may be set to 1.0. Accordingly, only values having a frequency of occurrence greater than or equal to the threshold are included in the normal control data range. Also, as shown in FIG. 8A , after noise of control data is removed, Gaussian kernel density estimation may be applied.

도시되지 않았지만, 데이터 전처리부(341)로부터 이상치 제어데이터 생성부(342a)로 입력되는 제어데이터 중 50%의 제어데이터를 추출하여 이상치 제어데이터를 생성할 수 있다. Although not shown, outlier control data may be generated by extracting control data of 50% of the control data input from the data preprocessing unit 341 to the outlier control data generating unit 342a.

이후, 생성된 정상 제어데이터 범위를 이용하여 최소 이상치 제어데이터, 최대 이상치 제어데이터 및 중간 이상치 제어데이터를 생성한다(S702). Thereafter, the minimum outlier control data, the maximum outlier control data, and the intermediate outlier control data are generated using the generated normal control data range ( S702 ).

최소 이상치 제어데이터(OCD1)는 정상 제어데이터 범위의 최소값인 최소 정상 제어데이터(Min) 및 정상 제어데이터 범위의 평균(Mean)을 통해 산출한다. 정상 제어데이터 범위가 하나인 경우, 이상치 제어데이터 생성부(342a)는 하나의 정상 제어데이터 범위의 최소값인 최소 정상 제어데이터(Min) 및 정상 제어데이터 범위의 평균(Mean)을 통해 최소 이상치 제어데이터(OCD1)를 산출할 수 있다. 또는, 정상 제어데이터 범위가 복수인 경우, 최소 이상치 제어데이터(OCD1)는 복수의 정상 제어데이터 범위 중 가장 작은 밸류를 갖는 정상 제어데이터 범위의 최소값인 최소 정상 제어데이터(Min) 및 정상 제어데이터 범위의 평균(Mean)을 통해 산출될 수 있다.The minimum outlier control data OCD1 is calculated through the minimum normal control data Min that is the minimum value of the normal control data range and the average of the normal control data range Mean. When there is one normal control data range, the outlier control data generation unit 342a generates the minimum outlier control data through the minimum normal control data (Min), which is the minimum value of one normal control data range, and the average (Mean) of the normal control data range. (OCD1) can be calculated. Alternatively, when there are a plurality of normal control data ranges, the minimum outlier control data OCD1 is the minimum value of the normal control data range having the smallest value among the plurality of normal control data ranges. The minimum normal control data Min and the normal control data range. It can be calculated through the mean of

구체적으로, 최소 이상치 제어데이터(OCD1)는 [수학식 1]에 따라 산출될 수 있다. Specifically, the minimum outlier control data OCD1 may be calculated according to [Equation 1].

[수학식 1][Equation 1]

Figure 112020103716396-pat00001
Figure 112020103716396-pat00001

이때, Min은 정상 제어데이터 범위의 최소값, Mean은 정상 제어데이터 범위의 평균, r은 0.3 이상 1.0 이하이다.In this case, Min is the minimum value of the normal control data range, Mean is the average of the normal control data range, and r is 0.3 or more and 1.0 or less.

최대 이상치 제어데이터(OCD2)는 정상 제어데이터 범위의 최대값인 정상 제어 최대 데이터(Max) 및 정상 제어데이터 범위의 평균(Mean)을 통해 산출된다. 정상 제어데이터 범위가 하나인 경우, 최대 이상치 제어데이터(OCD2)는 하나의 정상 제어데이터 범위의 최대값인 최대 정상 제어데이터(Max) 및 정상 제어데이터 범위의 평균(Mean)을 통해 산출될 수 있다. 또는, 정상 제어데이터 범위가 복수인 경우, 최대 이상치 제어데이터(OCD2)는 복수의 정상 제어데이터 범위 중 가장 큰 밸류를 갖는 정상 제어데이터 범위의 최대값인 정상 제어 최대 데이터(Max) 및 정상 제어데이터 범위의 평균(Mean)을 통해 산출될 수 있다.The maximum outlier control data OCD2 is calculated through the normal control maximum data Max that is the maximum value of the normal control data range and the average of the normal control data range Mean. When there is one normal control data range, the maximum outlier control data OCD2 may be calculated through the maximum normal control data Max, which is the maximum value of one normal control data range, and the average of the normal control data ranges. . Alternatively, when there are a plurality of normal control data ranges, the maximum outlier control data OCD2 is the maximum value of the normal control data range having the largest value among the plurality of normal control data ranges, the normal control maximum data Max and the normal control data. It can be calculated through the mean of the range.

구체적으로, 최대 이상치 제어데이터(OCD2)는 [수학식 2]에 따라 산출될 수 있다.Specifically, the maximum outlier control data OCD2 may be calculated according to [Equation 2].

[수학식 2][Equation 2]

Figure 112020103716396-pat00002
Figure 112020103716396-pat00002

이때, Max는 정상 제어데이터 범위의 최대값, Mean은 정상 제어데이터 범위의 평균, r은 0.3 이상 1.0 이하이다.In this case, Max is the maximum value of the normal control data range, Mean is the average of the normal control data range, and r is 0.3 or more and 1.0 or less.

또한, 도 8b에 도시된 바와 같이, 정상 제어데이터 범위가 복수인 경우, 서로 다른 정상 제어데이터 범위 사이의 중간 이상치 제어데이터(OCD3)를 산출할 수 있다. 구체적으로, 정상 제어데이터 범위는 제n 정상 제어데이터 범위 및 제(n+1) 정상 제어데이터 범위를 포함할 수 있으며, 중간 이상치 제어데이터(OCD3)는 더 작은 밸류를 갖는 제n 정상 제어데이터 범위의 최대값(B, Maxnth)과 더 큰 밸류를 갖는 제(n+1) 정상 제어데이터 범위의 최소값(C, Min(n+1)th)을 통해 산출될 수 있다. In addition, as shown in FIG. 8B , when there are a plurality of normal control data ranges, the intermediate outlier control data OCD3 between different normal control data ranges may be calculated. Specifically, the normal control data range may include an nth normal control data range and an (n+1)th normal control data range, and the intermediate outlier control data OCD3 is the nth normal control data range having a smaller value. It can be calculated through the maximum value (B, Max nth ) of and the minimum value (C, Min (n+1)th ) of the (n+1)th normal control data range having a larger value.

구체적으로, 중간 이상치 제어데이터(OCD3)는 [수학식 3]에 따라 산출될 수 있다.Specifically, the intermediate outlier control data OCD3 may be calculated according to [Equation 3].

[수학식 3][Equation 3]

Figure 112020103716396-pat00003
Figure 112020103716396-pat00003

이때, Maxnth는 제n 정상 제어데이터 범위의 최대값이고,In this case, Max nth is the maximum value of the nth normal control data range,

Min(n+1)th은 제n+1 정상 제어데이터 범위의 최소값이다.Min (n+1)th is the minimum value of the n+1th normal control data range.

이후, 최소 이상치 제어데이터, 최대 중간치 제어데이터 및 중간 이상치 제어 데이터를 이상치 제어데이터로 통합한다(S703). 이에 따라, 이상치 제어데이터를 이용하여 정상 제어데이터 보안규칙의 비정상 제어데이터 판별 모델을 학습 및 검증시킬 수 있다.Thereafter, the minimum outlier control data, the maximum intermediate value control data, and the intermediate outlier control data are integrated into the outlier control data (S703). Accordingly, it is possible to learn and verify the abnormal control data discrimination model of the normal control data security rule using the outlier control data.

도 9는 본 발명의 실시예에 따른 다차원 비정상 제어데이터 생성 알고리즘의 플로우 차트이다. 도 10은 제1 내지 제3 제어데이터에 대한 밸류 분포를 나타내는 그래프이다.9 is a flowchart of an algorithm for generating multidimensional abnormal control data according to an embodiment of the present invention. 10 is a graph illustrating a value distribution for first to third control data.

우선, 입력된 제어데이터들에 대한 상관관계를 분석한다(S910). 구체적으로, 제어데이터들에 대한 상관 행렬(Correlation Matrix)을 이용하여 제어데이터들 사이의 상관 계수를 산출하여, 제어데이터들 사이의 상관 관계를 분석한다. 각 상관 계수들은 제어데이터들 사이의 상관 관계가 높을수록 더 큰 절대값을 갖는다. 예를 들어, 도 10에 도시된 각 그래프의 제어데이터들 사이의 상관 관계를 분석하면, 첫번째 그래프에 도시된 제어데이터와 세번째 그래프에 도시된 제어데이터는 첫번째 그래프에 도시된 제어데이터와 두번째 그래프에 도시된 제어데이터보다 더 큰 상관 관계를 가질 수 있다. 즉, 첫번째 그래프에 도시된 제어데이터와 세번째 그래프에 도시된 제어데이터 사이의 상관 계수는 첫번째 그래프에 도시된 제어데이터와 두번째 그래프에 도시된 제어데이터 사이의 상관 계수보다 큰 절대값을 가질 수 있다. First, correlations with respect to the input control data are analyzed (S910). Specifically, a correlation coefficient between the control data is calculated using a correlation matrix for the control data, and the correlation between the control data is analyzed. Each correlation coefficient has a larger absolute value as the correlation between the control data increases. For example, if the correlation between the control data of each graph shown in FIG. 10 is analyzed, the control data shown in the first graph and the control data shown in the third graph are the control data shown in the first graph and the control data shown in the second graph. It may have a greater correlation than the illustrated control data. That is, the correlation coefficient between the control data shown in the first graph and the control data shown in the third graph may have an absolute value greater than the correlation coefficient between the control data shown in the first graph and the control data shown in the second graph.

이후, 역상관 다차원 제어데이터 생성부(342b)는 산출된 상관 계수를 이용하여 상관 관계가 높은 제어데이터들을 추출한다(S920). 구체적으로, 임계상관계수 이상의 절대값을 갖는 제어데이터들이 추출된다. 이때, 임계상관계수는 0.7일 수 있다. 상관 계수의 절대값이 0.4 이상 0.7 미만의 제어데이터들에 대해 역상관 다차원 제어데이터를 생성하는 경우, 이러한 제어데이터들은 상관관계가 높지 않기 때문에, 비정상 제어데이터 판별 모델을 검증하기에 적합하지 않은 제어데이터이다. 이에 따라, 상관 계수의 절대값이 임계상관계수 이상의 높은 상관 관계를 갖는 제어데이터들이 추출된다. 이때, 추출된 제어데이터가 4개 이상인 경우에는 해당 제어데이터들 사이의 복잡성이 증가하여 역상관 다차원 제어데이터를 산출하기 위해 소요되는 시간이 증가되기 때문에, 효율적으로 역상관 다차원 제어데이터를 산출하기 위해 제어데이터들 중 3개 이하의 제어데이터를 추출할 수 있다. 예를 들어, 도 10에 도시된 각 그래프의 제어데이터들 중 상관 관계가 높은 첫번째 그래프의 제어데이터 및 세번째 그래프의 제어데이터가 추출될 수 있다.Thereafter, the decorrelation multidimensional control data generator 342b extracts control data having a high correlation by using the calculated correlation coefficient ( S920 ). Specifically, control data having an absolute value greater than or equal to the critical correlation coefficient is extracted. In this case, the critical correlation coefficient may be 0.7. When decorrelation multidimensional control data is generated for control data whose absolute value of the correlation coefficient is 0.4 or more and less than 0.7, these control data do not have a high correlation, so the control is not suitable for verifying the abnormal control data discrimination model. is data. Accordingly, control data having a high correlation in which the absolute value of the correlation coefficient is greater than or equal to the critical correlation coefficient is extracted. At this time, when there are four or more extracted control data, the complexity between the corresponding control data increases and the time required to calculate the decorrelated multidimensional control data increases. In order to efficiently calculate the decorrelated multidimensional control data, It is possible to extract three or less control data among the control data. For example, the control data of the first graph and the control data of the third graph having a high correlation among the control data of each graph shown in FIG. 10 may be extracted.

이후, 추출한 제어데이터들을 이용하여 상관 다차원 제어데이터 패턴을 생성한다(S931). 상관 다차원 제어데이터 패턴은 다차원으로, 데이터 베이스(370)에 저장된 정상 제어데이터들의 밸류들을 포함한다. Thereafter, a correlated multidimensional control data pattern is generated using the extracted control data (S931). The correlated multidimensional control data pattern is multidimensional and includes values of normal control data stored in the database 370 .

또한, 추출한 제어데이터들 각각의 제어데이터 범위를 산출하고, 산출된 제어데이터 범위들을 이용하여 예비 역상관 다차원 제어데이터 패턴을 생성한다(S932). 구체적으로, 추출한 제어데이터들 각각의 제어데이터 범위를 산출하고, 산출된 제어데이터 범위 내의 밸류들을 조합하여 제어데이터 범위 내의 가능한 모든 패턴인 예비 역상관 다차원 제어데이터 패턴들을 생성한다. In addition, a control data range of each of the extracted control data is calculated, and a preliminary decorrelation multidimensional control data pattern is generated using the calculated control data ranges ( S932 ). Specifically, a control data range of each of the extracted control data is calculated, and values within the calculated control data range are combined to generate preliminary decorrelation multidimensional control data patterns that are all possible patterns within the control data range.

이후, 상관 다차원 제어데이터 패턴들 및 예비 역상관 다차원 제어데이터 패턴들을 이용하여 역상관 다차원 제어데이터를 생성한다(S950). 구체적으로, 예비 역상관 다차원 제어데이터 패턴에서 상관 다차원 제어데이터 패턴들과 동일한 패턴을 제거하여 역상관 다차원 제어 데이터를 생성한다. 즉, 추출된 제어데이터들의 밸류들의 모든 조합의 예비 역상관 다차원 제어데이터 패턴에서 제어데이터들 사이의 상관관계를 나타내는 상관 다차원 제어데이터 패턴들과 동일한 패턴을 제거하여 상관관계를 벗어나는 역상관 다차원 제어데이터를 생성한다. 예를 들어, 도 10에 도시된 바와 같이, 추출된 제어데이터는 하나의 커맨드에 대응하는 제1 제어데이터 및 다른 하나의 커맨드에 대응하는 제2 제어데이터를 포함할 수 있다. 첫번째 그래프의 제1 제어데이터는 A, B, C의 밸류를 가질 수 있으며, 두번째 그래프의 제2 제어데이터는 (D,E). (F,G), (H,I)의 밸류를 가질 수 있다. 이때, 예비 역상관 다차원 제어데이터 패턴들은 A-(D,E), A-(F,G), A-(H,I), B-(D,E), B-(F,G), B-(H,I), C-(D,E), C-(F,G), C-(H,I)의 밸류를 포함하는 다차원 제어데이터 패턴일 수 있고, 상관 다차원 데이터 패턴은 A-(D,E), A-(F,G), B-(F,G), B-(H,I), C-(D,E), C-(F,G), C-(H,I)의 밸류를 포함하는 다차원 제어데이터 패턴일 수 있다. 이에 따라, 예비 역차원 다차원 제어데이터 패턴들에서 상관 다차원 데이터 패턴과 동일한 다차원 데이터 패턴을 제거하여 A-(H,I), B-(D,E)의 밸류를 포함하는 역상관 다차원 제어데이터를 생성할 수 있다. Thereafter, decorrelation multidimensional control data is generated using the correlated multidimensional control data patterns and the preliminary decorrelation multidimensional control data patterns ( S950 ). Specifically, the decorrelated multidimensional control data is generated by removing the same pattern as the correlated multidimensional control data patterns from the preliminary decorrelated multidimensional control data pattern. That is, decorrelation multidimensional control data that deviates from correlation by removing the same pattern as the correlated multidimensional control data patterns indicating the correlation between control data from the preliminary decorrelation multidimensional control data pattern of all combinations of values of the extracted control data. create For example, as shown in FIG. 10 , the extracted control data may include first control data corresponding to one command and second control data corresponding to another command. The first control data of the first graph may have values of A, B, and C, and the second control data of the second graph is (D,E). It can have values of (F,G) and (H,I). At this time, the preliminary decorrelation multidimensional control data patterns are A-(D,E), A-(F,G), A-(H,I), B-(D,E), B-(F,G), It may be a multidimensional control data pattern including values of B-(H,I), C-(D,E), C-(F,G), and C-(H,I), and the correlated multidimensional data pattern is A -(D,E), A-(F,G), B-(F,G), B-(H,I), C-(D,E), C-(F,G), C-( It may be a multidimensional control data pattern including a value of H,I). Accordingly, the multidimensional data pattern identical to the correlated multidimensional data pattern is removed from the preliminary inverse dimensional multidimensional control data patterns to obtain decorrelated multidimensional control data including the values of A-(H,I) and B-(D,E). can create

본 발명의 일 실시예에 따르면, 비상관 제어데이터는 다차원 데이터로 생성되기 때문에, 제어데이터 간의 상관 관계에 기반한 비정상 데이터 탐지를 할 수 있다. 특히, 비상관 제어데이터는 제어데이터들 중 일부 제어데이터들간의 상관 관계에 기반한 다차원 데이터이기 때문에, 차원을 변경하기 위한 시간이 소요되지 않으며 전체 제어데이터에 대한 비정상 제어데이터 탐지가 가능하다.According to an embodiment of the present invention, since the decorrelation control data is generated as multidimensional data, it is possible to detect abnormal data based on the correlation between the control data. In particular, since the decorrelation control data is multidimensional data based on the correlation between some of the control data, it does not take time to change the dimension, and abnormal control data detection for the entire control data is possible.

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

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

본 명세서에 설명되어 있는 모든 개시된 방법들 및 절차들은, 적어도 부분적으로, 하나 이상의 컴퓨터 프로그램 또는 구성요소를 사용하여 구현될 수 있다.  이 구성요소는 RAM, ROM, 플래시 메모리, 자기 또는 광학 디스크, 광메모리, 또는 그 밖의 저장매체와 같은 휘발성 및 비휘발성 메모리를 포함하는 임의의 통상적 컴퓨터 판독 가능한 매체 또는 기계 판독 가능한 매체를 통해 일련의 컴퓨터 지시어들로서 제공될 수 있다. 상기 지시어들은 소프트웨어 또는 펌웨어로서 제공될 수 있으며, 전체적 또는 부분적으로, ASICs, FPGAs, DSPs, 또는 그 밖의 다른 임의의 유사 소자와 같은 하드웨어 구성에 구현될 수도 있다. 상기 지시어들은 하나 이상의 프로세서 또는 다른 하드웨어 구성에 의해 실행되도록 구성될 수 있는데, 상기 프로세서 또는 다른 하드웨어 구성은 상기 일련의 컴퓨터 지시어들을 실행할 때 본 명세서에 개시된 상기 방법들 및 절차들의 모두 또는 일부를 수행하거나 수행할 수 있도록 한다.All disclosed methods and procedures described herein may be implemented, at least in part, using one or more computer programs or components. These components may be configured as a series of series via any conventional computer-readable medium or machine-readable medium including volatile and non-volatile memory such as RAM, ROM, flash memory, magnetic or optical disks, optical memory, or other storage media. They may be provided as computer instructions. The instructions may be provided as software or firmware, and may be implemented, in whole or in part, in a hardware configuration such as ASICs, FPGAs, DSPs, or any other similar device. The instructions may be configured to be executed by one or more processors or other hardware components, which when executing the series of computer instructions perform all or part of the methods and procedures disclosed herein or make it possible to perform

100: 제어 단말 110: 공장 제어 장치
120: 비정상 제어데이터 탐지 시스템
130: 보안 게이트웨이 140: 탐지 서버
100: control terminal 110: factory control device
120: Abnormal control data detection system
130: security gateway 140: detection server

Claims (15)

제어 단말에서 전달되는 제어데이터를 파싱하여 제어데이터의 커맨드(Command) 및 상기 커맨드의 적어도 하나의 밸류(Value)를 획득하는 데이터 파싱부;
상기 커맨드와 비정상 제어데이터 판별모델이 매핑된 정상 제어데이터 보안규칙을 생성하는 보안규칙 생성부;
상기 제어데이터 사이의 상관관계를 벗어나는 역상관 다차원 제어데이터 및 상기 제어데이터의 정상 제어데이터 범위를 벗어나는 이상치(outlier) 제어데이터를 생성하는 비정상 제어데이터 생성부;
상기 제어 단말에서 수신되는 타겟 제어데이터와 상기 정상 제어데이터 보안규칙을 비교하여 상기 타겟 제어데이터의 비정상 여부를 판단하는 비정상 데이터 판단부;를 포함하고,
상기 보안규칙 생성부는,
상기 역상관 다차원 제어데이터 및 상기 이상치 제어데이터를 이용하여 상기 비정상 제어데이터 판별모델을 검증(validation)하여 상기 비정상 제어데이터 판별모델의 학습 종료 시점을 결정하고,
상기 비정상 제어데이터 생성부는,
상기 정상 제어데이터 범위의 최소값보다 작은 최소 이상치 제어데이터 및 상기 정상 제어데이터 범위의 최대값보다 큰 최대 이상치 제어데이터를 생성하는 것을 특징으로 하는 비정상 제어데이터 탐지 시스템.
a data parsing unit that parses the control data transmitted from the control terminal to obtain a command of the control data and at least one value of the command;
a security rule generator generating a normal control data security rule in which the command and the abnormal control data determination model are mapped;
an abnormal control data generation unit for generating decorrelated multidimensional control data deviating from the correlation between the control data and outlier control data deviating from the normal control data range of the control data;
An abnormal data determination unit for determining whether the target control data is abnormal by comparing the target control data received from the control terminal with the normal control data security rule; and
The security rule generating unit,
Validating the abnormal control data discrimination model using the decorrelation multidimensional control data and the outlier control data to determine a learning end time of the abnormal control data discrimination model,
The abnormal control data generation unit,
and generating a minimum outlier control data smaller than a minimum value of the normal control data range and a maximum outlier control data larger than a maximum value of the normal control data range.
제1항에 있어서,
상기 비정상 제어데이터 생성부는,
상기 밸류를 기초로 상기 정상 제어데이터 범위를 생성하는 것을 특징으로 하는 비정상 제어데이터 탐지 시스템.
According to claim 1,
The abnormal control data generation unit,
Abnormal control data detection system, characterized in that generating the normal control data range based on the value.
제2항에 있어서,
상기 비정상 제어데이터 생성부는,
상기 밸류에 대해 가우시안 커널 밀도(Gaussian Kernel Density) 추정을 적용하여 정상 제어데이터 범위를 생성하고,
[수학식 1]
Figure 112020103716396-pat00004

에 따라 상기 최소 이상치 제어데이터를 생성하고, OCD1는 최소 이상치 제어데이터, Min은 정상 제어데이터 범위의 최소값, Mean은 정상 제어데이터 범위의 평균, r은 0.3 이상 1.0 이하의 값이고,
[수학식 2]
Figure 112020103716396-pat00005

에 따라 상기 최대 이상치 제어데이터를 생성하고, OCD2는 최대 이상치 제어데이터, Max는 정상 제어데이터 범위의 최대값, Mean은 정상 제어데이터 범위의 평균, r은 0.3 이상 1.0 이하의 값인 것을 특징으로 하는 비정상 제어데이터 탐지 시스템.
3. The method of claim 2,
The abnormal control data generation unit,
Generating a normal control data range by applying a Gaussian kernel density estimation to the value,
[Equation 1]
Figure 112020103716396-pat00004

generates the minimum outlier control data according to OCD1, where OCD1 is the minimum outlier control data, Min is the minimum value of the normal control data range, Mean is the average of the normal control data range, and r is a value of 0.3 or more and 1.0 or less,
[Equation 2]
Figure 112020103716396-pat00005

generates the maximum outlier control data according to OCD2, where OCD2 is the maximum outlier control data, Max is the maximum value of the normal control data range, Mean is the average of the normal control data range, and r is a value greater than or equal to 0.3 and less than or equal to 1.0. Control data detection system.
제1항에 있어서,
상기 비정상 제어데이터 생성부는,
상기 밸류에 대해 가우시안 커널 밀도(Gaussian Kernel Density) 추정을 적용하여 서로 구분되는 제n(n은 양의 정수) 정상 제어데이터 범위 및 제(n+1) 정상 제어데이터 범위를 포함하는 정상 제어데이터 범위를 생성하고,
상기 제n 정상 제어데이터 범위의 최대값보다 크고 상기 제(n+1) 정상 제어데이터 범위의 최소값보다 작은 중간 이상치 제어데이터를 포함하는 이상치 제어데이터를 생성하는 것을 특징으로 하는 비정상 제어데이터 탐지 시스템.
According to claim 1,
The abnormal control data generation unit,
Normal control data range including an nth (n is a positive integer) normal control data range and a (n+1)th normal control data range that are distinguished from each other by applying a Gaussian Kernel Density estimation to the value create,
and generating outlier control data including intermediate outlier control data that is greater than a maximum value of the nth normal control data range and smaller than a minimum value of the (n+1)th normal control data range.
제4항에 있어서,
상기 중간 이상치 제어데이터는
[수학식 3]
Figure 112020103716396-pat00006

에 따라 산출되고, OCD3는 중간 이상치 제어데이터, Maxnth는 제n 정상 제어데이터 범위의 최대값, Min(n+1)th은 제n+1 정상 제어데이터 범위의 최소값인 것을 특징으로 하는 비정상 제어데이터 탐지 시스템.
5. The method of claim 4,
The intermediate outlier control data is
[Equation 3]
Figure 112020103716396-pat00006

OCD3 is the intermediate outlier control data, Max nth is the maximum value of the nth normal control data range, and Min (n+1)th is the minimum value of the n+1th normal control data range. data detection system.
제1항에 있어서,
상기 비정상 제어데이터 생성부는,
상기 제어데이터 사이의 상관관계를 분석하여 상관계수의 절대값이 미리 정해진 임계상관계수 이상인 제어데이터의 적어도 일부를 추출하고,
추출된 제어데이터의 밸류 범위를 각각 산출하여 상기 제어데이터 범위 내의 가능한 모든 패턴인 예비 역상관 다차원 제어데이터 패턴들을 생성하고,
추출된 제어데이터를 조합하여 상관관계를 갖는 제어데이터의 패턴인 상관 다차원 제어데이터 패턴들을 생성하고,
상기 예비 역상관 다차원 제어데이터 패턴들 중 상기 상관 다차원 제어데이터와 일치하는 패턴을 제거하여 역상관 다차원 제어데이터를 생성하는 것을 특징으로 하는 비정상 제어데이터 탐지 시스템.
According to claim 1,
The abnormal control data generation unit,
Analyze the correlation between the control data to extract at least a portion of the control data in which the absolute value of the correlation coefficient is greater than or equal to a predetermined critical correlation coefficient,
Each of the value ranges of the extracted control data is calculated to generate preliminary decorrelation multidimensional control data patterns that are all possible patterns within the control data range,
By combining the extracted control data to generate correlated multidimensional control data patterns, which are patterns of control data having a correlation,
and generating decorrelated multidimensional control data by removing a pattern matching the correlated multidimensional control data from among the preliminary decorrelated multidimensional control data patterns.
제1항에 있어서,
상기 비정상 제어데이터 생성부는,
상기 제어데이터에 대한 상관 행렬(Correlation Matrix)을 이용하여 상기 제어데이터 사이의 상관계수를 산출하여 상관 계수의 절대값이 미리 정해진 임계상관계수 이상인 제어데이터의 적어도 일부를 추출하고,
추출된 제어데이터의 밸류 범위를 각각 산출하여 상기 제어데이터 범위 내의 가능한 모든 패턴인 예비 역상관 다차원 제어데이터 패턴들을 생성하고,
추출된 제어데이터를 조합하여 상관관계를 갖는 제어데이터의 패턴인 상관 다차원 제어데이터 패턴들을 생성하고,
상기 예비 역상관 다차원 제어데이터 패턴 중 상기 상관 다차원 제어데이터와 일치하는 패턴을 제거하여 역상관 다차원 제어데이터를 생성하는 것을 특징으로 하는 비정상 제어데이터 탐지 시스템.
According to claim 1,
The abnormal control data generation unit,
Extracting at least a portion of the control data in which the absolute value of the correlation coefficient is equal to or greater than a predetermined critical correlation coefficient by calculating a correlation coefficient between the control data using a correlation matrix for the control data,
Each of the value ranges of the extracted control data is calculated to generate preliminary decorrelation multidimensional control data patterns that are all possible patterns within the control data range,
By combining the extracted control data to generate correlated multidimensional control data patterns, which are patterns of control data having a correlation,
and generating decorrelated multidimensional control data by removing a pattern matching the correlated multidimensional control data from among the preliminary decorrelated multidimensional control data patterns.
제1항에 있어서,
상기 보안규칙 생성부는,
상기 역상관 다차원 제어데이터 및 상기 이상치 제어데이터를 이용하여 상기 비정상 제어데이터 판별모델을 검증(validation)하여 상기 비정상 제어데이터 판별모델의 정확도를 산출하고, 상기 산출된 비정상 제어데이터 판별모델의 정확도가 미리 정해진 기준 정확도 범위 내의 값인 경우, 검증된 비정상 제어데이터 판별모델의 학습을 종료하고 데이터 베이스에 저장하는 것을 특징으로 하는 비정상 제어데이터 탐지 시스템.
According to claim 1,
The security rule generating unit,
By using the decorrelation multidimensional control data and the outlier control data to validate the abnormal control data identification model, the accuracy of the abnormal control data identification model is calculated, and the accuracy of the calculated abnormal control data identification model is determined in advance. Abnormal control data detection system, characterized in that when the value is within a predetermined reference accuracy range, learning of the verified abnormal control data discrimination model is terminated and stored in a database.
제어 단말에서 전달되는 타겟 제어데이터를 파싱하여 타겟 제어데이터의 커맨드(Command) 및 상기 커맨드의 적어도 하나의 밸류(Value)를 획득하는 단계;
데이터 베이스에 저장된 제어데이터를 이용하여 이상치 제어데이터 및 역상관 다차원 제어데이터를 포함하는 비정상 제어데이터를 생성하는 단계;
비정상 제어데이터 판별모델이 매핑된 정상 제어데이터 보안규칙을 생성하는 단계; 및
상기 정상 제어데이터 보안규칙을 이용하여 제어 단말에서 전달되는 타겟 제어데이터의 비정상 제어데이터 여부를 판단하는 단계;를 포함하고,
상기 정상 제어데이터 보안규칙을 생성하는 단계는,
상기 제어데이터를 이용하여 비정상 제어데이터 판별모델을 학습시키고, 상기 비정상 제어데이터를 이용하여 상기 비정상 제어데이터 판별모델을 검증(validation)하여 상기 비정상 제어데이터 판별모델의 학습 종료 시점을 결정하고,
상기 비정상 제어데이터를 생성하는 단계에서 가능한 모든 제어데이터의 패턴인 예비 역상관 다차원 제어데이터 패턴 중 상관계수의 절대값이 미리 정해진 임계상관계수 이상인 제어데이터를 조합하여 생성되는 상관 다차원 제어데이터 패턴을 제거하여 역상관 다차원 제어데이터를 생성하는 것을 특징으로 하는 비정상 제어데이터 탐지 방법.
parsing the target control data transmitted from the control terminal to obtain a command of the target control data and at least one value of the command;
generating abnormal control data including outlier control data and decorrelation multidimensional control data using control data stored in a database;
generating a normal control data security rule to which an abnormal control data determination model is mapped; and
Determining whether the target control data transmitted from the control terminal is abnormal control data using the normal control data security rule;
The step of generating the normal control data security rule comprises:
learning an abnormal control data identification model using the control data, and verifying the abnormal control data identification model using the abnormal control data to determine a learning end time of the abnormal control data identification model;
In the step of generating the abnormal control data, a correlation multidimensional control data pattern generated by combining control data having an absolute value of a correlation coefficient equal to or greater than a predetermined critical correlation coefficient among preliminary decorrelation multidimensional control data patterns that is a pattern of all possible control data is removed. Abnormal control data detection method, characterized in that to generate decorrelated multidimensional control data.
제9항에 있어서,
상기 비정상 제어데이터를 생성하는 단계는,
상기 제어데이터에 대해 상관관계를 분석하는 단계;
상기 제어데이터 중 상관계수의 절대값이 미리 정해진 임계상관계수 이상인 제어데이터를 추출하는 단계;
상기 추출된 제어데이터를 조합하여 상관 다차원 제어데이터 패턴을 생성하는 단계;
상기 추출된 제어데이터의 제어데이터 범위를 산출하고, 산출된 제어데이터 범위 내의 데이터를 조합하여 가능한 모든 제어데이터의 패턴인 예비 역상관 다차원 제어데이터 패턴을 생성하는 단계; 및
상기 예비 역상관 다차원 제어데이터 패턴에서 상기 상관 다차원 제어데이터 패턴과 일치하는 패턴을 제거하여 역상관 다차원 제어데이터를 생성하는 단계;를 포함하는 것을 특징으로 하는 비정상 제어데이터 탐지 방법.
10. The method of claim 9,
The generating of the abnormal control data comprises:
analyzing the correlation with respect to the control data;
extracting control data in which an absolute value of a correlation coefficient from the control data is equal to or greater than a predetermined critical correlation coefficient;
generating a correlated multidimensional control data pattern by combining the extracted control data;
generating a preliminary decorrelation multidimensional control data pattern that is a pattern of all possible control data by calculating a control data range of the extracted control data and combining data within the calculated control data range; and
and generating decorrelated multidimensional control data by removing a pattern matching the correlated multidimensional control data pattern from the preliminary decorrelated multidimensional control data pattern.
제10항에 있어서,
상기 제어데이터에 대해 상관관계를 분석하는 단계는,
상기 제어데이터에 대한 상관 행렬(Correlation Matrix)을 이용하여 상기 제어데이터 사이의 상관 계수를 산출하여 상관 계수의 절대값이 미리 정해진 임계상관계수 이상인 제어데이터를 추출하는 것을 특징으로 하는 비정상 제어데이터 탐지 방법.
11. The method of claim 10,
The step of analyzing the correlation with respect to the control data,
Abnormal control data detection method, characterized in that by calculating a correlation coefficient between the control data by using a correlation matrix for the control data, the control data having an absolute value of the correlation coefficient equal to or greater than a predetermined critical correlation coefficient is extracted. .
제10항에 있어서,
상기 비정상 제어데이터를 생성하는 단계는,
상기 제어데이터의 정상 제어데이터 범위를 생성하는 단계;
최소 이상치 제어데이터를 생성하고, 최대 이상치 제어데이터를 생성하는 단계; 및
상기 정상 제어데이터 범위가 복수인 경우, 정상 제어데이터 범위 사이의 데이터인 중간 이상치 제어데이터를 생성하는 단계;를 포함하는 것을 특징으로 하는 비정상 제어데이터 탐지 방법.
11. The method of claim 10,
The generating of the abnormal control data comprises:
generating a normal control data range of the control data;
generating minimum outlier control data and generating maximum outlier control data; and
and generating intermediate outlier control data that is data between the normal control data ranges when there are a plurality of normal control data ranges.
제9항에 있어서,
상기 비정상 제어데이터를 생성하는 단계는,
상기 제어데이터에 대해 가우시안 커널 밀도 추정을 적용하여 정상 제어데이터 범위를 생성하는 단계;
상기 정상 제어데이터 범위의 최소값보다 작은 최소 이상치 제어데이터를 생성하고, 상기 정상 제어데이터 범위의 최대값보다 큰 최대 이상치 제어데이터를 생성하는 단계; 및
상기 정상 제어데이터 범위가 복수인 경우, 정상 제어데이터 범위들 사이의 이상치 제어데이터인 중간 이상치 제어데이터를 생성하는 단계;를 포함하는 것을 특징으로 하는 비정상 제어데이터 탐지 방법.
10. The method of claim 9,
The generating of the abnormal control data comprises:
generating a normal control data range by applying Gaussian kernel density estimation to the control data;
generating minimum outlier control data smaller than the minimum value of the normal control data range and generating maximum outlier control data larger than the maximum value of the normal control data range; and
and generating intermediate outlier control data that is outlier control data between the normal control data ranges when the number of the normal control data ranges is plural.
제13항에 있어서,
상기 정상 제어데이터 범위의 최소값보다 작은 최소 이상치 제어데이터를 생성하고, 상기 정상 제어데이터 범위의 최대값보다 큰 최대 이상치 제어데이터를 생성하는 단계는,
[수학식 1]
Figure 112020103716396-pat00007

에 따라 상기 최소 이상치 제어데이터를 생성하고, OCD1는 최소 이상치 제어데이터, Min은 정상 제어데이터 범위의 최소값, Mean은 정상 제어데이터 범위의 평균, r은 0.3 이상 1.0 이하의 값이고,
[수학식 2]
Figure 112020103716396-pat00008

에 따라 상기 최대 이상치 제어데이터를 생성하고, OCD2는 최대 이상치 제어데이터, Max는 정상 제어데이터 범위의 최대값, Mean은 정상 제어데이터 범위의 평균, r은 0.3 이상 1.0 이하의 값인 것을 특징으로 하는 비정상 제어데이터 탐지 방법.
14. The method of claim 13,
generating the minimum outlier control data smaller than the minimum value of the normal control data range and generating the maximum outlier control data larger than the maximum value of the normal control data range;
[Equation 1]
Figure 112020103716396-pat00007

generates the minimum outlier control data according to OCD1, where OCD1 is the minimum outlier control data, Min is the minimum value of the normal control data range, Mean is the average of the normal control data range, and r is a value of 0.3 or more and 1.0 or less,
[Equation 2]
Figure 112020103716396-pat00008

generates the maximum outlier control data according to OCD2, where OCD2 is the maximum outlier control data, Max is the maximum value of the normal control data range, Mean is the average of the normal control data range, and r is a value greater than or equal to 0.3 and less than or equal to 1.0. Control data detection method.
제13항에 있어서,
상기 정상 제어데이터 범위가 복수인 경우, 상기 정상 제어데이터 범위들 사이의 이상치 제어데이터인 중간 이상치 제어데이터를 생성하는 단계는,
상기 정상 제어데이터 범위는 서로 구분되는 제n(n은 양의 정수) 정상 제어데이터 범위 및 제(n+1) 정상 제어데이터 범위를 포함하고,
상기 중간 이상치 제어데이터는
[수학식 3]
Figure 112020103716396-pat00009

에 따라 산출되고, OCD3는 중간 이상치 제어데이터, Maxnth는 제n 정상 제어데이터 범위의 최대값, Min(n+1)th은 제n+1 정상 제어데이터 범위의 최소값인 것을 특징으로 하는 비정상 제어데이터 탐지 방법.
14. The method of claim 13,
When there are a plurality of normal control data ranges, generating intermediate outlier control data that is outlier control data between the normal control data ranges includes:
The normal control data range includes an nth (n is a positive integer) normal control data range and a (n+1)th normal control data range that are distinguished from each other,
The intermediate outlier control data is
[Equation 3]
Figure 112020103716396-pat00009

OCD3 is the intermediate outlier control data, Max nth is the maximum value of the nth normal control data range, and Min (n+1)th is the minimum value of the n+1th normal control data range. Data detection methods.
KR1020200126575A 2020-09-29 2020-09-29 System for Detecting Abnormal Control Data KR102435460B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200126575A KR102435460B1 (en) 2020-09-29 2020-09-29 System for Detecting Abnormal Control Data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200126575A KR102435460B1 (en) 2020-09-29 2020-09-29 System for Detecting Abnormal Control Data

Publications (2)

Publication Number Publication Date
KR20220043319A KR20220043319A (en) 2022-04-05
KR102435460B1 true KR102435460B1 (en) 2022-08-22

Family

ID=81182544

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200126575A KR102435460B1 (en) 2020-09-29 2020-09-29 System for Detecting Abnormal Control Data

Country Status (1)

Country Link
KR (1) KR102435460B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014032455A (en) * 2012-08-01 2014-02-20 Hitachi Power Solutions Co Ltd Equipment condition monitoring method and device thereof

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102221492B1 (en) * 2017-12-13 2021-03-02 주식회사 마이더스에이아이 System and method for automatically verifying security events based on text mining
KR102027044B1 (en) * 2017-12-28 2019-09-30 주식회사 포스코아이씨티 System for Detecting Abnormal Control Data

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014032455A (en) * 2012-08-01 2014-02-20 Hitachi Power Solutions Co Ltd Equipment condition monitoring method and device thereof

Also Published As

Publication number Publication date
KR20220043319A (en) 2022-04-05

Similar Documents

Publication Publication Date Title
US11848950B2 (en) Method for protecting IoT devices from intrusions by performing statistical analysis
KR101538709B1 (en) Anomaly detection system and method for industrial control network
CN110213227B (en) Network data flow detection method and device
CN104899513B (en) A kind of datagram detection method of industrial control system malicious data attack
CN109063745A (en) A kind of types of network equipment recognition methods and system based on decision tree
US11457026B2 (en) Systems and methods for securing industrial networks
KR102185869B1 (en) Detecting Method for Cyber Threats using Machine Learning and Natural Language Processing
CN113114618B (en) Internet of things equipment intrusion detection method based on traffic classification recognition
US10348751B2 (en) Device, system and method for extraction of malicious communication pattern to detect traffic caused by malware using traffic logs
CN117113262B (en) Network traffic identification method and system
KR102282847B1 (en) System for Detecting Abnormal Control Data
CN110839042B (en) Flow-based self-feedback malicious software monitoring system and method
CN111182002A (en) Zombie network detection device based on HTTP (hyper text transport protocol) first question-answer packet clustering analysis
CN114785567A (en) Traffic identification method, device, equipment and medium
KR102435456B1 (en) System And Method for Detecting Abnormal Control Data
KR102435460B1 (en) System for Detecting Abnormal Control Data
KR102435472B1 (en) System And Method for Detecting Abnormal Control Data
Aluthge Iot device fingerprinting with sequence-based features
Schuster et al. Attack and fault detection in process control communication using unsupervised machine learning
CN114205146B (en) Processing method and device for multi-source heterogeneous security log
Sapozhnikova et al. Intrusion detection system based on data mining technics for industrial networks
KR102282843B1 (en) Abnormal Control Data Detection System Using Swiching Device
Xue et al. Research of worm intrusion detection algorithm based on statistical classification technology
CN113297582A (en) Safety portrait generation method based on information safety big data and big data system
KR102504809B1 (en) System And Method for Detecting Abnormal Control Data through Predicting Format of Control Command

Legal Events

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