KR102435472B1 - System And Method for Detecting Abnormal Control Data - Google Patents

System And Method for Detecting Abnormal Control Data Download PDF

Info

Publication number
KR102435472B1
KR102435472B1 KR1020200127077A KR20200127077A KR102435472B1 KR 102435472 B1 KR102435472 B1 KR 102435472B1 KR 1020200127077 A KR1020200127077 A KR 1020200127077A KR 20200127077 A KR20200127077 A KR 20200127077A KR 102435472 B1 KR102435472 B1 KR 102435472B1
Authority
KR
South Korea
Prior art keywords
control data
abnormal
value
normal
determination model
Prior art date
Application number
KR1020200127077A
Other languages
Korean (ko)
Other versions
KR20220043547A (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 KR1020200127077A priority Critical patent/KR102435472B1/en
Publication of KR20220043547A publication Critical patent/KR20220043547A/en
Application granted granted Critical
Publication of KR102435472B1 publication Critical patent/KR102435472B1/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)를 획득하는 데이터 파싱부; 상기 커맨드와 비정상 제어데이터 판단모델이 매핑된 정상 제어데이터 보안 규칙을 생성하고, 상기 제어데이터의 타입에 따라 상기 제어데이터를 전처리하여 상기 비정상 제어데이터 판단모델을 학습시키는 보안규칙 생성부; 상기 제어데이터들 사이의 상관관계를 벗어나는 다차원 역상관 제어데이터 및 상기 제어데이터의 정상 제어데이터 범위를 벗어나는 이상치(outlier) 제어데이터를 생성하는 비정상 제어데이터 생성부; 및 상기 제어 단말에서 수신되는 타겟 제어데이터와 상기 정상 제어데이터 보안 규칙을 비교하여 상기 타겟 제어데이터의 비정상 여부를 판단하는 비정상 데이터 판단부;를 포함하고, 상기 보안규칙 생성부는, 상기 다차원 역상관 제어데이터 및 상기 이상치 제어데이터를 이용하여 상기 비정상 제어데이터 판단모델을 검증(validation)하여 상기 비정상 제어데이터 판단모델의 학습 종료 시점을 결정하는 것을 특징으로 한다.Abnormal control data detection system according to an embodiment of the present invention, a data parsing unit for parsing control data transmitted from a control terminal to obtain a command (Command) of the control data; a security rule generator for generating a normal control data security rule in which the command and the abnormal control data determination model are mapped, and pre-processing the control data according to the type of control data to learn the abnormal control data determination model; an abnormal control data generation unit for generating multidimensional decorrelation 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; and an abnormal data determination unit configured to determine 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. The abnormal control data determination model is validated using data and the outlier control data to determine a learning end time of the abnormal control data determination model.

Description

비정상 제어데이터 탐지 시스템 및 방법{System And Method for Detecting Abnormal Control Data}System And Method 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 predetermined at the time of system construction, and therefore 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 set in advance at the time of system construction, the system administrator must create a new security rule whenever the applicable factory control device is changed. There is a problem that the cost increases.

본 발명은 상술한 문제점을 해결하기 위한 것으로서, 제어 단말로부터 전달되는 제어데이터들을 파싱하여 제어데이터들의 커맨드(Command)를 획득하는 데이터 파싱부; 상기 커맨드와 비정상 제어데이터 판단모델이 매핑된 정상 제어데이터 보안 규칙을 생성하고, 상기 제어데이터의 타입에 따라 상기 제어데이터를 전처리하여 상기 비정상 제어데이터 판단모델을 학습시키는 보안규칙 생성부; 상기 제어데이터들 사이의 상관관계를 벗어나는 다차원 역상관 제어데이터 및 상기 제어데이터의 정상 제어데이터 범위를 벗어나는 이상치(outlier) 제어데이터를 생성하는 비정상 제어데이터 생성부; 및 상기 제어 단말에서 수신되는 타겟 제어데이터와 상기 정상 제어데이터 보안 규칙을 비교하여 상기 타겟 제어데이터의 비정상 여부를 판단하는 비정상 데이터 판단부;를 포함하고, 상기 보안규칙 생성부는, 상기 다차원 역상관 제어데이터 및 상기 이상치 제어데이터를 이용하여 상기 비정상 제어데이터 판단모델을 검증(validation)하여 상기 비정상 제어데이터 판단모델의 학습 종료 시점을 결정하는 것을 특징으로 한다.The present invention is to solve the above-described problem, the data parsing unit for parsing the control data transmitted from the control terminal to obtain a command (Command) of the control data; a security rule generator for generating a normal control data security rule in which the command and the abnormal control data determination model are mapped, and pre-processing the control data according to the type of control data to learn the abnormal control data determination model; an abnormal control data generation unit for generating multidimensional decorrelation 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; and an abnormal data determination unit configured to determine 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. The abnormal control data determination model is validated using data and the outlier control data to determine a learning end time of the abnormal control data determination model.

본 발명의 일 실시예에 따른 비정상 제어데이터 탐지 시스템은, 제어 단말로부터 전달되는 제어데이터들을 파싱하여 제어데이터들의 커맨드(Command)를 획득하는 데이터 파싱부; 상기 커맨드와 비정상 제어데이터 판단모델이 매핑된 정상 제어데이터 보안 규칙을 생성하고, 상기 제어데이터의 타입에 따라 상기 제어데이터를 전처리하여 상기 비정상 제어데이터 판단모델을 학습시키는 보안규칙 생성부; 상기 제어데이터들 사이의 상관관계를 벗어나는 다차원 역상관 제어데이터 및 상기 제어데이터의 정상 제어데이터 범위를 벗어나는 이상치(outlier) 제어데이터를 생성하는 비정상 제어데이터 생성부; 및 상기 제어 단말에서 수신되는 타겟 제어데이터와 상기 정상 제어데이터 보안 규칙을 비교하여 상기 타겟 제어데이터의 비정상 여부를 판단하는 비정상 데이터 판단부;를 포함하고, 상기 보안규칙 생성부는, 상기 다차원 역상관 제어데이터 및 상기 이상치 제어데이터를 이용하여 상기 비정상 제어데이터 판단모델을 검증(validation)하여 상기 비정상 제어데이터 판단모델의 학습 종료 시점을 결정하는 것을 특징으로 한다.Abnormal control data detection system according to an embodiment of the present invention, a data parsing unit for parsing control data transmitted from a control terminal to obtain a command (Command) of the control data; a security rule generator for generating a normal control data security rule in which the command and the abnormal control data determination model are mapped, and pre-processing the control data according to the type of control data to learn the abnormal control data determination model; an abnormal control data generation unit for generating multidimensional decorrelation 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; and an abnormal data determination unit configured to determine 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. The abnormal control data determination model is validated using data and the outlier control data to determine a learning end time of the abnormal control data determination model.

본 발명의 실시예에 따르면, 새로운 정상 제어데이터 보안 규칙을 신속하게 생성할 수 있다. According to an embodiment of the present invention, it is possible to quickly create a new normal control data security rule.

또한, 본 발명의 실시예에 따르면, 학습 데이터에 포함되지 않는 노이즈 및 특이 사항에 대한 제어데이터로 인한 정상 제어데이터 보안 규칙을 용이하게 수정할 수 있다.In addition, according to an embodiment of the present invention, it is possible to easily modify the normal control data security rule due to the control data for noise and unusual matters that are not included in the training data.

도 1은 본 발명의 일 실시예에 따른 비정상 제어데이터 탐지 시스템이 적용되는 네트워크 구성을 개략적으로 보여주는 도면이다.
도 2는 도 1에 도시된 게이트웨이의 구성을 개략적으로 보여주는 블록도이다.
도 3은 도 1에 도시된 탐지 서버의 구성을 개략적으로 보여주는 블록도이다.
도 4a는 본 발명의 일 실시예에 따른 제어데이터의 네트워크 파트를 보여주는 도면이다.
도 4b는 본 발명의 일 실시예에 따른 제어데이터의 데이터 파트를 보여주는 도면이다.
도 5는 도 3에 도시된 보안규칙 생성부의 구성을 개략적으로 보여주는 블록도이다.
도 6은 도 3에 도시된 비정상 제어데이터 생성부의 구성을 개략적으로 보여주는 블록도이다.
도 7은 이상치 제어데이터를 생성하기 위한 박스플롯 기법을 설명하기 위한 도면이다.
도 8은 제어데이터 사이의 상관관계를 나타내는 그래프이다.
도 9는 본 발명의 일 실시예에 따른 제어데이터의 비정상 제어데이터 탐지 방법을 보여주는 플로우 차트이다.
도 10은 본 발명의 일 실시예에 따른 비정상 제어데이터 판단모델을 생성하는 방법을 보여주는 플로우 차트이다.
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 showing the configuration of the security rule generator shown in FIG. 3 .
FIG. 6 is a block diagram schematically showing the configuration of the abnormal control data generator shown in FIG. 3 .
7 is a diagram for describing a boxplot technique for generating outlier control data.
8 is a graph showing a correlation between control data.
9 is a flowchart illustrating a method for detecting abnormal control data of control data according to an embodiment of the present invention.
10 is a flowchart illustrating a method of generating an abnormal control data determination model according to an embodiment of the present invention.

이하, 첨부되는 도면을 참고하여 본 발명의 실시예들에 대해 상세히 설명한다.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은 본 발명의 일 실시예에 따른 비정상 제어데이터 탐지 시스템이 적용되는 네트워크 구성을 개략적으로 보여주는 도면이다. 도 2는 도 1에 도시된 게이트웨이의 구성을 개략적으로 보여주는 블록도이고, 도 3은 도 1에 도시된 탐지 서버의 구성을 개략적으로 보여주는 블록도이다.Hereinafter, an abnormal control data detection system according to an embodiment of the present invention will be described in detail with reference to FIG. 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. FIG. 2 is a block diagram schematically showing the configuration of the gateway shown in FIG. 1 , and FIG. 3 is a block diagram schematically showing the configuration of the detection server shown in FIG. 1 .

도 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에 도시된 바와 같이 보안 게이트웨이(130)는 데이터 차단부(210), 데이터 미러링부(220) 및 바이패스부(230)를 포함할 수 있다.As shown in FIG. 2 , the security gateway 130 may include 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 previously registered IP address, the data blocking unit 210 determines that the control data is abnormal control data received through an abnormal path, 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 control data is not performed.

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

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

도 3은 도 1에 도시된 탐지 서버의 구성을 개략적으로 보여주는 블록도이다. 도 4a는 본 발명의 일 실시예에 따른 제어데이터의 네트워크 파트를 보여주는 도면이고, 도 4b는 본 발명의 일 실시예에 따른 제어데이터의 데이터 파트를 보여주는 도면이다. 도 5는 도 3에 도시된 보안규칙 생성부의 구성을 개략적으로 보여주는 블록도이다. 도 6은 도 3에 도시된 비정상 제어데이터 생성부의 구성을 개략적으로 보여주는 블록도이다. 도 7은 이상치 제어데이터를 생성하기 위한 박스플롯 기법을 설명하기 위한 도면이고, 도 8은 제어데이터 사이의 상관관계를 나타내는 그래프이다.FIG. 3 is a block diagram schematically showing the configuration of the detection server shown in FIG. 1 . 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. FIG. 5 is a block diagram schematically showing the configuration of the security rule generator shown in FIG. 3 . FIG. 6 is a block diagram schematically showing the configuration of the abnormal control data generator shown in FIG. 3 . 7 is a diagram for explaining a boxplot technique for generating outlier control data, and FIG. 8 is a graph showing a correlation between control data.

본 발명의 실시예에 따른 탐지 서버(140)는 데이터 수집부(310), 데이터 파싱부(320), 보안규칙 생성부(330), 비정상 제어데이터 판단부(340), 및 데이터 베이스(360)을 포함한다.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 determination unit 340 , and a database 360 . includes

데이터 수집부(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 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 .

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

데이터 수집부(310)에 의해 수집된 제어데이터는 네트워크 파트와 데이터 파트로 이루어진다.The control data collected by the data collection unit 310 includes a network part and a data part.

네트워크 파트는, 도 4a에 도시된 바와 같이, 제어 장치 정보 및 송수신처 정보를 포함한다.The network part includes control device information and transmission/reception destination information, as shown in Fig. 4A.

제어 장치 정보는 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.

데이터 파트는, 도 4b에 도시된 바와 같이, Fun(Function), Value 및 Addr(Address)를 포함한다. 이때, Fun(Function)은 제어 장치의 동작상태 정보를 의미하고, 본 발명의 실시예에 따르면, Addr은 커맨드 및 커맨드에 대한 데이터 개수(Order)를 포함하는 정보를 의미하고, Value는 커맨드에 대한 데이터 밸류들을 의미한다. The data part includes Fun(Function), Value, and Addr(Address) as shown in FIG. 4B . 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)는 수집된 제어데이터들을 파싱하여 데이터 파트에서 커맨드, 커맨드에 대한 데이터 개수 및 각 데이터의 밸류들을 추출하여 제어데이터를 획득한다. 예를 들어, 데이터 파싱부(320)는 커맨드인 온도 증가(Add)를 추출하고, 밸류인 증가될 온도값을 추출하여 온도 관련 제어데이터를 획득할 수 있다. The data parsing unit 320 according to an embodiment of the present invention parses the collected control data and extracts a command, the number of data for the command, and values of each data from the data part to obtain control data. For example, the data parsing unit 320 may obtain temperature-related control data by extracting a temperature increase (Add), which is a command, and a temperature value to be increased, which is a value.

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

이하, 도 5를 참조하여, 보안규칙 생성부(330)에 대해 상세히 설명한다. Hereinafter, the security rule generator 330 will be described in detail with reference to FIG. 5 .

보안규칙 생성부(330)는 데이터 파싱부(320)에 의해 획득된 제어데이터 정상 제어데이터 중 적어도 일부를 머신러닝(Machine Learning) 기법으로 학습하여 정상 제어데이터 보안 규칙을 생성한다. 이에 따라, 보안규칙 생성부(330)는 하나의 커맨드 및 해당 커맨드에 대응하는 비정상 제어데이터 판단모델이 매핑되어 있는 하나의 데이터 세트를 하나의 정상 제어데이터 보안규칙으로 설정할 수 있다. 또한, 보안규칙 생성부(330)는 생성된 비정상 제어데이터 판단모델들을 리스트화하여 데이터 베이스(360)에 저장할 수 있다. The security rule generating unit 330 generates a normal control data security rule by learning at least a part of the control data normal control data obtained by the data parsing unit 320 using a machine learning technique. Accordingly, the security rule generator 330 may set one command and one data set to which the abnormal control data determination model corresponding to the command is mapped as one normal control data security rule. In addition, the security rule generator 330 may list the generated abnormal control data determination models and store them in the database 360 .

보안규칙 생성부(330)는 제어데이터 타입 결정부(331), 제어데이터 전처리부(332) 및 비정상 제어데이터 판단모델 생성부(333)를 포함한다.The security rule generation unit 330 includes a control data type determination unit 331 , a control data preprocessor 332 , and an abnormal control data determination model generation unit 333 .

일 실시예에 따르면, 제어데이터 타입 결정부(331)는 제어데이터의 밸류를 기초로 제어데이터의 타입을 결정할 수 있다. 예를 들어, 제어데이터 타입 결정부(331)는 제어데이터의 밸류들의 종류가 정해진 기준 개수 미만인 경우 제어데이터를 카테고리형으로 결정하고, 제어데이터의 밸류들의 종류가 정해진 기준 개수 이상인 경우 제어데이터를 뉴메릭형으로 결정한다. 카테고리형의 제어데이터는 밸류들의 종류의 수가 적어 모드와 같은 불연속적인 밸류들을 나타내는 제어데이터일 수 있다. 뉴메릭형의 제어데이터는 밸류들의 종류의 수가 많아 연속적으로 분포하는 밸류들을 나타내는 데이터일 수 있다. 이때, 뉴메릭형 제어데이터는 노이즈 및 특수 상황을 나타내는 불연속적인 밸류들을 더 포함할 수 있다. 밸류들의 종류는 제어데이터의 밸류들 중 서로 구분되는 밸류를 나타내는 것이고, 밸류들의 종류의 수는 서로 구분되는 밸류들의 수를 나타낼 수 있다. 다만 이에 한정되는 것은 아니며, 제어데이터 타입 결정부(331)는 제어데이터의 타입을 판정하기 위해 다양한 방법을 이용할 수 있다.According to an embodiment, the control data type determiner 331 may determine the type of control data based on the value of the control data. For example, the control data type determining unit 331 determines the control data as a categorical type when the types of values of the control data are less than a predetermined reference number, and when the types of values of the control data are greater than or equal to the predetermined reference number, converts the control data into a new menu. Decided on Rick. The categorical control data may be control data representing discontinuous values such as a mode because the number of types of values is small. The numeric type control data may be data representing values that are continuously distributed because there are many types of values. In this case, the numeric control data may further include discontinuous values indicating noise and special circumstances. The types of values indicate values that are distinguished from each other among the values of the control data, and the number of types of values may indicate the number of values that are distinguished from each other. However, the present invention is not limited thereto, and the control data type determiner 331 may use various methods to determine the type of control data.

제어데이터 전처리부(332)는 제어데이터를 후술할 비정상 제어데이터 판단모델에 입력하여 학습시키기 위해 제어데이터를 전처리한다. The control data pre-processing unit 332 pre-processes the control data to learn by inputting the control data into an abnormal control data determination model to be described later.

제어데이터 전처리부(332)는 제어데이터의 노이즈 및 특수 상황에 대한 데이터인 특수 밸류를 제거한다. 이때, 특수 밸류는 제어데이터 밸류의 분포에서 벗어날 수 있으며, 제어데이터 전처리부(332)는 특수 밸류를 제거할 수 있다.The control data preprocessor 332 removes the noise of the control data and the special value, which is data about a special situation. In this case, the special value may deviate from the distribution of the control data value, and the control data preprocessor 332 may remove the special value.

일 실시예에 따르면, 제어데이터 전처리부(332)는 제어데이터의 타입에 따라 제어데이터를 전처리한다. According to an embodiment, the control data preprocessor 332 preprocesses the control data according to the type of control data.

제어데이터 전처리부(332)는 카테고리형의 제어데이터를 one-hot encoding 또는 labeling encoding 중 적어도 하나를 이용하여 전처리하고, 뉴메릭형의 제어데이터를 z-scaling을 이용하여 전처리 한다. The control data preprocessor 332 preprocesses categorical control data using at least one of one-hot encoding and labeling encoding, and preprocesses numeric control data using z-scaling.

One-Hot Encoding은 범주형 변수를 이진 벡터로 표현하는 방식으로, 모든 범주형 변수를 정수인 1과 0의 이진형 벡터로 표시하며 범주형 변수를 열거하여 해당하지 않는 모든 항목은 0으로 해당하는 항목은 1로 표시한다.One-Hot Encoding is a method of expressing categorical variables as binary vectors. All categorical variables are expressed as binary vectors of integers 1 and 0. By enumerating categorical variables, all items that do not correspond to are 0. 1 is indicated.

Labeling Encoding은 숫자가 아닌 단어나 글자의 값을 갖는 변수를 숫자로 표현하는 방식이다. Labeling Encoding is a method of expressing a variable having a value of a word or a letter rather than a number as a number.

일 실시예에 있어서, 비정상 제어데이터 판단모델의 성능을 평가하여 카테고리형 제어데이터에 One-Hot Encoding, Labeling Encoding 중 적어도 하나를 적용할 수 있다. 이에 따라 비정상 제어데이터 판단모델의 성능을 향상시킬 수 있다.In an embodiment, at least one of One-Hot Encoding and Labeling Encoding may be applied to categorical control data by evaluating the performance of the abnormal control data determination model. Accordingly, the performance of the abnormal control data determination model can be improved.

z-scaling은 변수를 표준정규분포화를 통해 스케일링(scaling)하는 방식으로, 평균을 0, 분산을 1이 되도록 변수를 스케일링하는 방식이다.z-scaling is a method of scaling variables through standard normal distribution, and scaling variables so that the mean is 0 and the variance is 1.

이에 따라, 타겟 제어데이터의 비정상 여부를 판단하는 비정상 제어데이터 판단모델의 성능을 향상시킬 수 있다.Accordingly, the performance of the abnormal control data determination model for determining whether the target control data is abnormal can be improved.

비정상 제어데이터 판단모델 생성부(333)는 타겟 제어데이터의 비정상 여부를 판단하는 비정상 제어데이터 판단모델을 생성한다. The abnormal control data determination model generation unit 333 generates an abnormal control data determination model for determining whether the target control data is abnormal.

비정상 제어데이터 판단모델 생성부(333)는 Elliptic Envelop, one-class SVM 및 Isolation Forest 중 적어도 하나를 이용하여 비정상 제어데이터 판단모델을 생성할 수 있다. The abnormal control data determination model generation unit 333 may generate an abnormal control data determination model using at least one of an elliptic envelope, a one-class SVM, and an isolation forest.

비정상 제어데이터 판단모델 생성부(333)는 제어데이터 전처리부(332)에 의해 전처리된 제어데이터를 비정상 제어데이터 판단모델에 입력하여 비정상 제어데이터 판단모델을 학습시킨다. 일 실시예에 따르면, 비정상 제어데이터 판단모델에 입력되는 제어데이터는 정상 제어데이터이며, 비정상 제어데이터를 포함하지 않는다. The abnormal control data determination model generation unit 333 learns the abnormal control data determination model by inputting the control data preprocessed by the control data preprocessing unit 332 into the abnormal control data determination model. According to an embodiment, the control data input to the abnormal control data determination model is normal control data and does not include abnormal control data.

일 실시예에 따르면, 비정상 제어데이터 판단모델 생성부(333)는 후술할 다차원 역상관 제어데이터 및 이상치 제어데이터를 이용하여 비정상 제어데이터 판단모델을 검증(validation)한다. 구체적으로, 비정상 제어데이터 판단모델 생성부(333)는 다차원 역상관 제어데이터 및 이상치 제어데이터를 비정상 제어데이터 판단모델에 입력하여 비정상 제어데이터 판단모델의 정확도를 산출하고, 산출된 정확도를 미리 정해진 기준 정확도 범위와 비교하여 비정상 제어데이터 판단모델의 학습 종료 시점을 결정한다. According to an embodiment, the abnormal control data determination model generator 333 validates the abnormal control data determination model using multidimensional decorrelation control data and outlier control data, which will be described later. Specifically, the abnormal control data determination model generation unit 333 inputs the multidimensional decorrelation control data and the outlier control data to the abnormal control data determination model to calculate the accuracy of the abnormal control data determination model, and sets the calculated accuracy to a predetermined standard. Comparing with the accuracy range, the learning end point of the abnormal control data judgment model is determined.

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

이상치 제어데이터 생성부(341)는 정상 제어데이터를 이용하여 정상 제어데이터 범위를 벗어나는 이상치 제어데이터를 생성한다. 구체적으로, 이상치 제어데이터 생성부(341)는 정상 제어데이터에 박스플롯기법을 적용하여 정상 제어데이터 범위를 산출하고, 산출된 정상 제어데이터 범위를 벗어나는 이상치 제어데이터를 생성한다. 박스플롯기법은 도 7에 도시된 바와 같이, 수치적 자료의 최소값, 제1 사분위수(25%), 제2 사분위수(50%), 제3 사분위수(75%), 최대값을 이용하여 생성한 그래프이다. 이때, 최소값(Min)은 The outlier control data generation unit 341 generates outlier control data out of the normal control data range by using the normal control data. Specifically, the outlier control data generating unit 341 calculates a normal control data range by applying a box plot method to the normal control data, and generates outlier control data that is out of the calculated normal control data range. As shown in FIG. 7, the box plot method uses the minimum value of numerical data, the first quartile (25%), the second quartile (50%), the third quartile (75%), and the maximum value. This is the generated graph. At this time, the minimum value (Min) is

[수학식 1][Equation 1]

Figure 112020104042670-pat00001
Figure 112020104042670-pat00001

이때, Q1은 제1 사분위수 값이고, IQR은 제3 사분위에서 제1 사분위를 뺀 값이고, 최대값(Max)은In this case, Q1 is the value of the first quartile, IQR is the value obtained by subtracting the first quartile from the third quartile, and the maximum value Max is

[수학식 2][Equation 2]

Figure 112020104042670-pat00002
Figure 112020104042670-pat00002

이때, Q3은 제3 사분위수 값이고, IQR은 제3 사분위에서 제1 사분위를 뺀 값이다.In this case, Q3 is a value of the third quartile, and IQR is a value obtained by subtracting the first quartile from the third quartile.

즉, 비정상 제어데이터 탐지 시스템은 도 7에 도시된 바와 같이, 제어데이터의 밸류를 정렬하여 제1 사분위수, 제2 사분위수 및 제3 사분위수를 산출하고, 비정상 제어데이터 탐지 시스템은 제1 사분위수, 제2 사분위수 및 제3 사분위수를 이용하여 최소값 및 최대값을 산출한다. 산출된 최소값 및 최대값을 통해 4분위 범위를 산출하고, 산출된 4분위 범위를 이용하여 정상 제어데이터 범위를 산출한다. 비정상 제어데이터 탐지 시스템은 산출된 정상 제어데이터 범위를 벗어나는 이상치 제어데이터를 생성한다.That is, the abnormal control data detection system calculates the first quartile, the second quartile, and the third quartile by arranging the values of the control data as shown in FIG. 7 , and the abnormal control data detection system uses the first quartile The minimum and maximum values are calculated using the quartile, the second quartile and the third quartile. A quartile range is calculated using the calculated minimum and maximum values, and a normal control data range is calculated using the calculated quartile range. The abnormal control data detection system generates outlier control data outside the calculated normal control data range.

다차원 역상관 제어데이터 생성부(342)는 정상 제어데이터를 이용하여 제어데이터들 사이의 상관관계를 벗어나는 다차원 역상관 제어데이터를 생성한다. The multidimensional decorrelation control data generating unit 342 generates multidimensional decorrelation control data that deviates from the correlation between the control data by using the normal control data.

다차원 역상관 제어데이터 생성부(342)는 제어데이터들 사이의 상관관계를 산출한다. 구체적으로, 제어데이터들 사이의 피어슨 상관계수를 산출하여, 제어데이터들 사이의 상관관계를 산출한다. 피어슨 상관계수는 두 변수 간의 선형 상관관계를 계량화한 수치로, +1은 정비례하는 양의 선형 상관관계를 나타내고, 0은 선형 상관관계 없음을 나타내고, -1은 정비례하는 음의 선형 상관관계를 나타낸다. 즉, 제어데이터들 사이의 피어슨 상관계수의 절대값이 클수록 상관관계가 높은 것으로 판단할 수 있다. 예를 들어, 제1 제어데이터(X)와 제2 제어데이터(Y) 사이의 피어슨 상관계수는 0.8371이고, 도 8에 도시된 바와 같이, 제1 제어데이터(X)와 제2 제어데이터(Y)는 우상향 그래프를 이루어 양의 선형 상관관계를 갖는다. The multidimensional decorrelation control data generator 342 calculates a correlation between the control data. Specifically, by calculating a Pearson correlation coefficient between the control data, the correlation between the control data is calculated. The Pearson correlation coefficient is a numerical value that quantifies the linear correlation between two variables. +1 indicates a positive linear correlation that is directly proportional, 0 indicates no linear correlation, and -1 indicates a negative linear correlation that is directly proportional. . That is, it can be determined that the higher the absolute value of the Pearson correlation coefficient between the control data, the higher the correlation. For example, the Pearson correlation coefficient between the first control data (X) and the second control data (Y) is 0.8371, and as shown in FIG. 8, the first control data (X) and the second control data (Y) ) forms an upward-sloping graph and has a positive linear correlation.

다차원 역상관 제어데이터 생성부(342)는 산출된 피어슨 상관계수의 절대값을 기준 상관계수와 비교한다. 다차원 역상관 제어데이터 생성부(342)는 기준 상관계수보다 큰 피어슨 상관계수를 갖는 제어데이터들을 추출하여 상관 제어데이터 리스트를 생성한다. 예를 들어, 기준 상관계수는 0.7일 수 있으며, 도 8에 도시된 제1 제어데이터(X)와 제2 제어데이터(Y) 사이의 피어슨 상관계수는 0.8371로 기준 상관계수보다 크기 때문에 제1 제어데이터(X)와 제2 제어데이터(Y)는 상관 제어데이터 리스트에 저장될 수 있다. The multidimensional decorrelation control data generator 342 compares the calculated absolute value of the Pearson correlation coefficient with a reference correlation coefficient. The multidimensional decorrelation control data generating unit 342 generates a correlation control data list by extracting control data having a Pearson correlation coefficient greater than a reference correlation coefficient. For example, the reference correlation coefficient may be 0.7, and the Pearson correlation coefficient between the first control data (X) and the second control data (Y) shown in FIG. 8 is 0.8371, which is greater than the reference correlation coefficient, so the first control The data (X) and the second control data (Y) may be stored in the correlation control data list.

다차원 역상관 제어데이터 생성부(342)는 상관 제어데이터 리스트의 제어데이터들의 상관관계를 벗어나는 다차원 역상관 제어데이터를 생성한다. 예를 들어, 도 8에 도시된 바와 같이, 제1 제어데이터(X)의 밸류 2000과 제2 제어데이터(Y)의 밸류 120은 제1 제어데이터(X)와 제2 제어데이터(Y) 사이의 상관관계를 벗어난 다차원 역상관 제어데이터일 수 있다. The multidimensional decorrelation control data generator 342 generates multidimensional decorrelation control data that is out of correlation between control data of the correlation control data list. For example, as shown in FIG. 8 , the value 2000 of the first control data X and the value 120 of the second control data Y are between the first control data X and the second control data Y. It may be multidimensional decorrelation control data out of the correlation of .

다시 도 3을 참조하면, 비정상 제어데이터 판단부(340)는 판단 대상이 되는 타겟 제어데이터와 정상 제어데이터 보안규칙을 비교하여 타겟 제어데이터가 비정상 제어데이터인지 여부를 판단한다. 구체적으로, 비정상 제어데이터 판단부(340)는 타겟 제어데이터를 타겟 제어데이터의 커맨드와 대응하는 비정상 제어데이터 판단모델에 입력하여 타겟 제어데이터가 비정상 제어데이터인지 여부를 판단한다. 이때, 타겟 제어데이터는 데이터 미러링부(220)를 통해 데이터 파싱부(320)로 전달되고, 데이터 파싱부(320)에 의해 타겟 제어데이터의 커맨드 및 밸류가 획득될 수 있다.Referring back to FIG. 3 , the abnormal control data determining unit 340 determines whether the target control data is abnormal control data by comparing the target control data to be determined with the normal control data security rule. Specifically, the abnormal control data determining unit 340 determines whether the target control data is abnormal control data by inputting the target control data into the abnormal control data determination model corresponding to the command of the target control data. In this case, the target control data is transmitted to the data parsing unit 320 through the data mirroring unit 220 , and a command and a value of the target control data may be obtained by the data parsing unit 320 .

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

데이터 베이스(360)에는 보안규칙 생성부(330)에 의해 생성된 비정상 제어데이터 판단모델이 저장된다. 정상 제어데이터 보안규칙은 제어데이터의 커맨드 및 커맨드에 대응하는 비정상 제어데이터 판단모델의 매핑된 리스트 형태로 데이터 베이스(360)에 저장될 수 있다. The database 360 stores the abnormal control data determination model generated by the security rule generator 330 . The normal control data security rule may be stored in the database 360 in the form of a command of the control data and a mapped list of the abnormal control data determination model corresponding to the command.

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

우선, 정상 제어데이터를 이용하여 정상 제어데이터 보안규칙을 생성한다(S901). 이에 대해서는 도 10을 참조하여 상세히 후술한다. First, a normal control data security rule is generated using the normal control data (S901). This will be described in detail later with reference to FIG. 10 .

이후, 제어 단말로부터 전달되는 제어데이터를 파싱하여 커맨드 및 커맨드에 대응하는 밸류들을 획득한다(S902). 예를 들어, 비정상 제어데이터 탐지 시스템은 제어데이터를 파싱하여 커맨드인 온도 증가(Add)를 추출하고, 밸류인 증가될 온도값을 추출하여 온도 관련 제어데이터를 획득할 수 있다. Thereafter, the control data transmitted from the control terminal is parsed to obtain a command and values corresponding to the command (S902). For example, the abnormal control data detection system may parse the control data to extract a temperature increase (Add) which is a command, and extract a temperature value to be increased as a value to obtain temperature-related control data.

이후, 타겟 제어데이터를 정상 제어데이터 규칙과 비교하여 타겟 제어데이터의 비정상 여부를 판단한다(S903). 구체적으로, 타겟 제어데이터는 타겟 제어데이터의 커맨드와 대응하는 비정상 제어데이터 판단모델에 입력되고, 비정상 제어데이터 탐지 시스템은 타겟 제어데이터가 비정상 제어데이터인지 여부를 판단한다. 한편, 비정상 제어데이터 탐지 시스템은 타겟 제어데이터가 비정상 제어데이터인 것으로 판단되면 판단 결과를 사용자에게 통지할 수 있다. 타겟 제어데이터가 정상 제어데이터로 판별되면 타겟 제어데이터는 공장제어장치로 전달되고, 타겟 제어데이터가 비정상 제어데이터로 판별되면, 타겟 제어데이터는 공장제어장치로 전달되지 않는다.Thereafter, it is determined whether the target control data is abnormal by comparing the target control data with the normal control data rule (S903). Specifically, the target control data is input to the abnormal control data determination model corresponding to the command of the target control data, and the abnormal control data detection system determines whether the target control data is abnormal control data. Meanwhile, when it is determined that the target control data is the abnormal control data, the abnormal control data detection system may notify the user of the determination result. When the target control data is determined as normal control data, the target control data is transmitted to the factory control device. When the target control data is determined as abnormal control data, the target control data is not transmitted to the factory control device.

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

우선, 비정상 제어데이터 탐지 시스템은 데이터 베이스(360)에 저장되어 있는 제어데이터를 파싱하여 커맨드 및 커맨드에 대응하는 밸류를 획득한다(S1001). 이때, 데이터 베이스(360)는 제어데이터가 파싱된 커맨드 및 커맨드에 대응하는 밸류의 형태로 저장할 수 있으며, 이와 같은 경우 별도의 제어데이터 파싱 과정 없이 커맨드 및 밸류를 획득할 수도 있다.First, the abnormal control data detection system parses the control data stored in the database 360 to obtain a command and a value corresponding to the command (S1001). In this case, the database 360 may store the command from which the control data is parsed and the value corresponding to the command, and in this case, the command and the value may be obtained without a separate control data parsing process.

이후, 비정상 제어데이터 탐지 시스템은 제어데이터의 밸류들을 기초로 제어데이터의 타입을 결정한다(S1002). 비정상 제어데이터 탐지 시스템은 다양한 방법을 적용하여 제어데이터의 타입을 결정할 수 있다. 예를 들어, 비정상 제어데이터 탐지 시스템은 제어데이터의 밸류들의 종류가 정해진 기준 개수 미만인 경우 제어데이터를 카테고리형으로 결정하고, 제어데이터의 밸류들의 종류가 정해진 기준 개수 이상인 경우 제어데이터를 뉴메릭형으로 결정한다. 카테고리형의 제어데이터는 밸류들의 종류의 수가 적어 모드와 같은 불연속적인 밸류들을 나타내는 제어데이터일 수 있다. 뉴메릭형의 제어데이터는 밸류들의 종류의 수가 많아 연속적으로 분포하는 밸류들을 나타내는 데이터일 수 있다. 이때, 뉴메릭형 제어데이터는 노이즈 및 특수 상황을 나타내는 불연속적인 밸류들을 더 포함할 수 있다. 밸류들의 종류는 밸류들 중 서로 구분되는 밸류를 나타내는 것이고, 밸류들의 종류의 수는 서로 구분되는 밸류들의 수를 나타낼 수 있다. Then, the abnormal control data detection system determines the type of control data based on the values of the control data (S1002). The abnormal control data detection system may determine the type of control data by applying various methods. For example, the abnormal control data detection system determines the control data as a categorical type when the types of values of the control data are less than a predetermined reference number, and determines the control data as a numeric type when the types of values of the control data are greater than or equal to the predetermined reference number. do. The categorical control data may be control data representing discontinuous values such as a mode because the number of types of values is small. The numeric type control data may be data representing values that are continuously distributed because there are many types of values. In this case, the numeric control data may further include discontinuous values indicating noise and special circumstances. The types of values may indicate values that are distinguished from each other among values, and the number of types of values may indicate the number of values that are distinguished from each other.

제어데이터의 타입이 카테고리형인 경우, 비정상 제어데이터 탐지 시스템은 One-Hot Encoding 또는 Labeling Encoding 중 적어도 하나를 이용하여 해당 제어데이터를 전처리한다(S1003). One-Hot Encoding은 범주형 변수를 이진 벡터로 표현하는 방식으로, 모든 범주형 변수를 정수인 1과 0의 이진형 벡터로 표시하며 범주형 변수를 열거하여 해당하지 않는 모든 항목은 0으로 해당하는 항목은 1로 표시한다.When the type of control data is categorical, the abnormal control data detection system pre-processes the control data using at least one of One-Hot Encoding and Labeling Encoding (S1003). One-Hot Encoding is a method of expressing categorical variables as binary vectors. All categorical variables are expressed as binary vectors of integers 1 and 0. By enumerating categorical variables, all items that do not correspond to are 0. 1 is indicated.

Labeling Encoding은 숫자가 아닌 단어나 글자의 값을 갖는 변수를 숫자로 표현하는 방식이다. Labeling Encoding is a method of expressing a variable having a value of a word or a letter rather than a number as a number.

일 실시예에 있어서, 비정상 제어데이터 판단모델의 성능을 평가하여 카테고리형 제어데이터에 One-Hot Encoding, Labeling Encoding 중 적어도 하나를 적용할 수 있다. 이에 따라 비정상 제어데이터 판단모델의 성능을 향상시킬 수 있다.In an embodiment, at least one of One-Hot Encoding and Labeling Encoding may be applied to categorical control data by evaluating the performance of the abnormal control data determination model. Accordingly, the performance of the abnormal control data determination model can be improved.

제어데이터의 타입이 뉴메릭형인 경우, 비정상 제어데이터 탐지 시스템은 Z-scaling을 이용하여 해당 제어데이터를 전처리한다(S1004). z-scaling은 변수를 표준정규분포화를 통해 스케일링(scaling)하는 방식으로, 평균을 0, 분산을 1이 되도록 변수를 스케일링하는 방식이다.When the type of control data is a numeric type, the abnormal control data detection system pre-processes the corresponding control data using Z-scaling (S1004). z-scaling is a method of scaling variables through standard normal distribution, and scaling variables so that the mean is 0 and the variance is 1.

이후, 비정상 제어데이터 탐지 시스템은 전처리한 제어데이터를 이용하여 비정상 제어데이터 판단모델을 학습시킨다(S1005). 비정상 제어데이터 탐지 시스템은 Elliptic Envelop, one-class SVM 및 Isolation Forest 중 적어도 하나를 이용하여 비정상 제어데이터 판단모델을 생성할 수 있다. Thereafter, the abnormal control data detection system trains the abnormal control data determination model using the pre-processed control data (S1005). The abnormal control data detection system may generate an abnormal control data determination model using at least one of an elliptic envelope, a one-class SVM, and an isolation forest.

이후, 비정상 제어데이터 탐지 시스템은 정상 제어데이터를 이용하여 이상치 제어데이터 및 다차원 역상관 제어데이터를 생성한다(S1005).Thereafter, the abnormal control data detection system generates outlier control data and multidimensional decorrelation control data using the normal control data (S1005).

비정상 제어데이터 탐지 시스템은 정상 제어데이터를 이용하여 정상 제어데이터 범위를 벗어나는 이상치 제어데이터를 생성한다. 구체적으로, 비정상 제어데이터 탐지 시스템은 정상 제어데이터에 박스플롯기법을 적용하여 정상 제어데이터 범위를 산출하고, 산출된 정상 제어데이터 범위를 벗어나는 이상치 제어데이터를 생성한다. 구체적으로, 비정상 제어데이터 탐지 시스템은 정상 제어데이터에 박스플롯기법을 적용하여 정상 제어데이터 범위를 산출하고, 산출된 정상 제어데이터 범위를 벗어나는 이상치 제어데이터를 생성한다. 박스플롯기법은 수치적 자료의 최소값, 제1 사분위수(25%), 제2 사분위수(50%), 제3 사분위수(75%), 최대값을 이용하여 생성한 그래프이다. 이때, 최소값(Min)은 The abnormal control data detection system generates outlier control data out of the normal control data range by using the normal control data. Specifically, the abnormal control data detection system calculates the normal control data range by applying the box plot method to the normal control data, and generates the outlier control data out of the calculated normal control data range. Specifically, the abnormal control data detection system calculates the normal control data range by applying the box plot method to the normal control data, and generates the outlier control data out of the calculated normal control data range. The boxplot method is a graph generated using the minimum value of numerical data, the first quartile (25%), the second quartile (50%), the third quartile (75%), and the maximum value. At this time, the minimum value (Min) is

[수학식 1][Equation 1]

Figure 112020104042670-pat00003
Figure 112020104042670-pat00003

이때, Q1은 제1 사분위수 값이고, IQR은 제3 사분위에서 제1 사분위를 뺀 값이고, 최대값(Max)은In this case, Q1 is the value of the first quartile, IQR is the value obtained by subtracting the first quartile from the third quartile, and the maximum value Max is

[수학식 2][Equation 2]

Figure 112020104042670-pat00004
Figure 112020104042670-pat00004

이때, Q3은 제3 사분위수 값이고, IQR은 제3 사분위에서 제1 사분위를 뺀 값이다.In this case, Q3 is a value of the third quartile, and IQR is a value obtained by subtracting the first quartile from the third quartile.

즉, 비정상 제어데이터 탐지 시스템은 도 7에 도시된 바와 같이, 제어데이터의 밸류를 정렬하여 제1 사분위수, 제2 사분위수 및 제3 사분위수를 산출하고, 비정상 제어데이터 탐지 시스템은 제1 사분위수, 제2 사분위수 및 제3 사분위수를 이용하여 최소값 및 최대값을 산출한다. 산출된 최소값 및 최대값을 통해 4분위 범위를 산출하고, 산출된 4분위 범위를 이용하여 정상 제어데이터 범위를 산출한다. 비정상 제어데이터 탐지 시스템은 산출된 정상 제어데이터 범위를 벗어나는 이상치 제어데이터를 생성한다.That is, the abnormal control data detection system calculates the first quartile, the second quartile, and the third quartile by arranging the values of the control data as shown in FIG. 7 , and the abnormal control data detection system uses the first quartile The minimum and maximum values are calculated using the quartile, the second quartile and the third quartile. A quartile range is calculated using the calculated minimum and maximum values, and a normal control data range is calculated using the calculated quartile range. The abnormal control data detection system generates outlier control data outside the calculated normal control data range.

비정상 제어데이터 탐지 시스템은 제어데이터들 사이의 상관관계를 산출한다. 구체적으로, 제어데이터들 사이의 피어슨 상관계수를 산출하여, 제어데이터들 사이의 상관관계를 산출하고, 산출된 피어슨 상관계수의 절대값을 기준 상관계수와 비교한다. 비정상 제어데이터 탐지 시스템은 기준 상관계수보다 큰 피어슨 상관계수를 갖는 제어데이터들을 추출하여 상관 제어데이터 리스트를 생성한다. 비정상 제어데이터 탐지 시스템은 상관 제어데이터 리스트의 제어데이터들의 상관관계를 벗어나는 다차원 역상관 제어데이터를 생성한다. The abnormal control data detection system calculates a correlation between control data. Specifically, the Pearson correlation coefficient between the control data is calculated, the correlation between the control data is calculated, and the absolute value of the calculated Pearson correlation coefficient is compared with the reference correlation coefficient. The abnormal control data detection system generates a correlation control data list by extracting control data having a Pearson correlation coefficient greater than a reference correlation coefficient. The abnormal control data detection system generates multidimensional decorrelation control data that is out of correlation between control data in the correlation control data list.

이후, 비정상 제어데이터 탐지 시스템은 생성된 이상치 제어데이터 및 다차원 역상관 제어데이터를 이용하여 비정상 제어데이터 판단모델을 검증(validation)하여 비정상 제어데이터 판단 모델의 학습 종료 시점을 결정한다(S1006). 구체적으로, 비정상 제어데이터 탐지 시스템은 다차원 역상관 제어데이터 및 이상치 제어데이터를 비정상 제어데이터 판단모델에 입력하여 비정상 제어데이터 판단모델의 정확도를 산출하고, 산출된 정확도를 미리 정해진 기준 정확도 범위와 비교하여 비정상 제어데이터 판단모델의 학습 종료 시점을 결정한다. 산출된 정확도가 미리 정해진 기준 정확도 범위 내의 값인 경우, 비정상 제어데이터 판단모델의 학습을 종료하여 검증된 비정상 제어데이터 판단모델을 데이터 베이스(360)에 저장할 수 있고(S1008), 산출된 정확도가 미리 정해진 기준 정확도 범위 밖의 값인 경우, 새로운 제어데이터를 이용하여 비정상 제어데이터 판단모델의 학습을 더 진행하거나(S1001) 기존 제어데이터를 이용하여 비정상 제어데이터 판단모델의 학습을 더 진행할 수 있다(S1005). Thereafter, the abnormal control data detection system validates the abnormal control data determination model using the generated outlier control data and multidimensional decorrelation control data to determine the learning end point of the abnormal control data determination model (S1006). Specifically, the abnormal control data detection system calculates the accuracy of the abnormal control data determination model by inputting the multidimensional decorrelation control data and the outlier control data to the abnormal control data determination model, and compares the calculated accuracy with a predetermined reference accuracy range. It determines the learning end time of the abnormal control data judgment model. When the calculated accuracy is within the predetermined reference accuracy range, the abnormal control data determination model may be stored in the database 360 by terminating the learning of the abnormal control data determination model (S1008), and the calculated accuracy is determined in advance. If the value is outside the reference accuracy range, the abnormal control data determination model may be further learned using the new control data (S1001) or the abnormal control data determination model may be further learned using the existing control data (S1005).

본 발명이 속하는 기술분야의 당업자는 상술한 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다.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 serial or non-volatile memory 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 for execution 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; 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 (14)

제어 단말로부터 전달되는 제어데이터들을 파싱하여 제어데이터들의 커맨드(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 a value of the command;
a security rule generator for generating a normal control data security rule in which the command and the abnormal control data determination model are mapped, and pre-processing the control data according to the type of the control data to learn the abnormal control data determination model;
an abnormal control data generation unit for generating multidimensional decorrelation 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; and
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 generator,
determining the type of the control data as either a categorical type or a numeric type based on the value of the control data;
The abnormal control data detection system, characterized in that by using the multidimensional decorrelation control data and the outlier control data to validate the abnormal control data judgment model to determine a learning end time of the abnormal control data judgment model.
제1항에 있어서,
상기 비정상 제어데이터 생성부는,
상기 밸류의 최소값, 제1 사분위수, 제2 사분위수, 제3 사분위수 및 최대값을 나타내는 박스플롯을 이용하여 상기 정상 제어데이터 범위를 산출하고, 상기 정상 제어데이터 범위를 벗어나는 이상치 제어데이터를 생성하는 것을 특징으로 하는 비정상 제어데이터 탐지 시스템.
According to claim 1,
The abnormal control data generation unit,
The normal control data range is calculated using a boxplot indicating the minimum value, the first quartile, the second quartile, the third quartile, and the maximum value of the value, and the outlier control data outside the normal control data range is generated. Abnormal control data detection system, characterized in that.
제1항에 있어서,
상기 비정상 제어데이터 생성부는,
상기 밸류의 제1 사분위수, 제2 사분위수 및 제3 사분위수를 이용하여 상기 밸류의 최소값 및 최대값을 산출하고, 산출된 최소값 및 최대값을 이용하여 상기 정상 제어데이터 범위를 생성하고, 상기 정상 제어데이터 범위를 벗어나는 이상치 제어데이터를 생성하는 것을 특징으로 하는 비정상 제어데이터 탐지 시스템.
According to claim 1,
The abnormal control data generation unit,
calculating the minimum and maximum values of the value using the first quartile, the second quartile, and the third quartile of the value, and generating the normal control data range using the calculated minimum and maximum values; Abnormal control data detection system, characterized in that generating outlier control data out of the normal control data range.
삭제delete 제1항에 있어서,
상기 보안규칙 생성부는,
상기 카테고리형의 제어데이터는 One-Hot Encoding, Label Enconding 중 적어도 하나를 이용하여 전처리가 수행되고, 상기 뉴메릭형의 제어데이터는 Z-scaling을 이용하여 전처리가 수행되는 것을 특징으로 하는 비정상 제어데이터 탐지 시스템.
According to claim 1,
The security rule generating unit,
Abnormal control data detection, characterized in that the categorical control data is preprocessed using at least one of One-Hot Encoding and Label Enconding, and the numeric control data is preprocessed using Z-scaling. system.
제1항에 있어서,
상기 비정상 제어데이터 생성부는,
상기 제어데이터들 사이의 피어슨 상관계수를 산출하여, 산출된 피어슨 상관계수의 절대값이 기준 상관계수 이상인 제어데이터들의 상관 제어데이터 리스트를 생성하고, 생성된 상관 제어데이터 리스트의 제어데이터들의 상관 관계를 벗어나는 다차원 역상관 비정상 제어데이터를 생성하는 것을 특징으로 하는 비정상 제어데이터 탐지 시스템.
According to claim 1,
The abnormal control data generation unit,
By calculating the Pearson correlation coefficient between the control data, a correlation control data list of control data in which the absolute value of the calculated Pearson correlation coefficient is equal to or greater than the reference correlation coefficient is generated, and the correlation of the control data of the generated correlation control data list is obtained. Abnormal control data detection system, characterized in that generating multidimensional decorrelation abnormal control data that deviate.
제1항에 있어서,
상기 비정상 제어데이터 판단모델은 Elliptic Envelop, one-class SVM 및 Isolation Forest 중 적어도 하나를 이용하여 생성되는 것을 특징으로 하는 비정상 제어데이터 탐지 시스템.
According to claim 1,
The abnormal control data detection system, characterized in that the abnormal control data determination model is generated using at least one of an Elliptic Envelop, a one-class SVM, and an Isolation Forest.
제1항에 있어서,
상기 보안규칙 생성부는,
상기 다차원 역상관 제어데이터 및 상기 이상치 제어데이터를 이용하여 상기 비정상 제어데이터 판단모델을 검증(validation)하여 상기 비정상 제어데이터 판단모델의 정확도를 산출하고, 상기 산출된 비정상 제어데이터 판단모델의 정확도가 미리 정해진 기준 정확도 범위 내의 값인 경우, 검증된 비정상 제어데이터 판단모델의 학습을 종료하고 데이터 베이스에 저장하는 것을 특징으로 하는 비정상 제어데이터 탐지 시스템.
According to claim 1,
The security rule generating unit,
Validation of the abnormal control data determination model using the multidimensional decorrelation control data and the outlier control data calculates the accuracy of the abnormal control data determination model, and the accuracy of the calculated abnormal control data determination model is determined in advance. If the value is within a predetermined reference accuracy range, the abnormal control data detection system, characterized in that the learning of the verified abnormal control data determination model is terminated and stored in a database.
제1항에 있어서,
상기 비정상 제어데이터는 공장제어장치로 전달되지 않는 것을 특징으로 하는 비정상 제어데이터 탐지 시스템.
According to claim 1,
Abnormal control data detection system, characterized in that the abnormal control data is not transmitted to the factory control device.
제어데이터를 파싱하여 제어데이터들의 커맨드 및 상기 커맨드의 밸류를 획득하는 단계;
상기 밸류를 기초로 상기 제어데이터의 타입을 결정하여 상기 제어데이터의 타입에 따라 상기 제어데이터를 전처리하는 단계;
전처리한 제어데이터를 이용하여 비정상 제어데이터 판단모델을 학습시켜 정상 제어데이터 보안규칙을 생성하는 단계;
타겟 제어데이터를 파싱하여 커맨드 및 상기 커맨드에 대응하는 밸류를 획득하는 단계; 및
상기 타겟 제어데이터를 상기 정상 제어데이터 보안규칙과 비교하여 타겟 제어데이터의 비정상 여부를 판별하는 단계;를 포함하고,
상기 제어데이터를 전처리하는 단계는,
상기 제어데이터의 밸류를 기초로 상기 제어데이터의 타입을 카테고리형 및 뉴메릭형 중 어느 하나로 결정하는 것을 특징으로 하는 비정상 제어데이터 탐지 방법.
parsing the control data to obtain a command of the control data and a value of the command;
determining the type of the control data based on the value and pre-processing the control data according to the type of the control data;
generating a normal control data security rule by learning an abnormal control data determination model using the preprocessed control data;
parsing target control data to obtain a command and a value corresponding to the command; and
determining whether the target control data is abnormal by comparing the target control data with the normal control data security rule;
The pre-processing of the control data comprises:
The method for detecting abnormal control data, characterized in that the type of the control data is determined to be one of a categorical type and a numeric type based on the value of the control data.
제10항에 있어서,
정상 제어데이터 보안규칙을 생성하는 단계는,
상기 제어데이터들 사이의 상관관계를 벗어나는 다차원 역상관 제어데이터 및 상기 제어데이터의 정상 제어데이터 범위를 벗어나는 이상치 제어데이터를 생성하고, 생성된 다차원 역상관 제어데이터 및 상기 이상치 제어데이터를 이용하여 상기 비정상 제어데이터 판단모델을 검증하여 상기 비정상 제어데이터 판단모델의 학습 종료 시점을 결정하는 것을 특징으로 하는 비정상 제어데이터 탐지 방법.
11. The method of claim 10,
The step of creating a normal control data security rule is,
Multidimensional decorrelation 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 are generated, and the abnormality using the generated multidimensional decorrelation control data and the outlier control data A method for detecting abnormal control data, characterized in that by verifying the control data determination model, a learning end time of the abnormal control data determination model is determined.
제10항에 있어서,
정상 제어데이터 보안규칙을 생성하는 단계는,
상기 제어데이터들 사이의 피어슨 상관계수를 산출하여, 상기 피어슨 상관계수의 절대값이 기준 상관계수 이상인 제어데이터들의 상관 제어데이터 리스트를 생성하고, 생성된 상관 제어데이터 리스트의 제어데이터들의 상관 관계를 벗어나는 다차원 역상관 비정상 제어데이터를 생성하는 것을 특징으로 하는 비정상 제어데이터 탐지 방법.
11. The method of claim 10,
The step of creating a normal control data security rule is,
By calculating the Pearson correlation coefficient between the control data, the absolute value of the Pearson correlation coefficient is greater than or equal to the reference correlation coefficient to generate a correlation control data list of control data, and to deviate from the correlation of the control data of the generated correlation control data list. A method for detecting abnormal control data, characterized in that the multi-dimensional decorrelation abnormal control data is generated.
제10항에 있어서,
정상 제어데이터 보안규칙을 생성하는 단계는,
상기 밸류의 제1 사분위수, 제2 사분위수 및 제3 사분위수를 이용하여 상기 밸류의 최소값 및 최대값을 산출하고, 산출된 최소값 및 최대값을 이용하여 정상 제어데이터 범위를 생성하고, 상기 정상 제어데이터 범위를 벗어나는 이상치 제어데이터를 생성하는 것을 특징으로 하는 비정상 제어데이터 탐지 방법.
11. The method of claim 10,
The step of creating a normal control data security rule is,
The minimum and maximum values of the value are calculated using the first quartile, the second quartile, and the third quartile of the value, and a normal control data range is generated using the calculated minimum and maximum values, and the normal control data range is generated. Abnormal control data detection method, characterized in that generating outlier control data out of the control data range.
제10항에 있어서,
상기 제어데이터를 전처리하는 단계는,
상기 카테고리형의 제어데이터는 One-Hot Encoding, Label Enconding 중 적어도 하나를 이용하여 전처리가 수행되고, 상기 뉴메릭형의 제어데이터는 z-scaling을 이용하여 전처리가 수행되는 것을 특징으로 하는 비정상 제어데이터 탐지 방법.
11. The method of claim 10,
The pre-processing of the control data comprises:
Abnormal control data detection, characterized in that the categorical control data is preprocessed using at least one of One-Hot Encoding and Label Enconding, and the numeric control data is preprocessed using z-scaling. Way.
KR1020200127077A 2020-09-29 2020-09-29 System And Method for Detecting Abnormal Control Data KR102435472B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200127077A KR102435472B1 (en) 2020-09-29 2020-09-29 System And Method for Detecting Abnormal Control Data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200127077A KR102435472B1 (en) 2020-09-29 2020-09-29 System And Method for Detecting Abnormal Control Data

Publications (2)

Publication Number Publication Date
KR20220043547A KR20220043547A (en) 2022-04-05
KR102435472B1 true KR102435472B1 (en) 2022-08-22

Family

ID=81181807

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200127077A KR102435472B1 (en) 2020-09-29 2020-09-29 System And Method for Detecting Abnormal Control Data

Country Status (1)

Country Link
KR (1) KR102435472B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102470763B1 (en) * 2022-10-13 2022-11-25 주식회사 비플컨설팅 Data outlier detection apparatus and method

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
KR20220043547A (en) 2022-04-05

Similar Documents

Publication Publication Date Title
CN103748853B (en) For the method and system that the protocol message in data communication network is classified
Kwon et al. IEEE 1815.1-based power system security with bidirectional RNN-based network anomalous attack detection for cyber-physical system
CN108737410B (en) Limited knowledge industrial communication protocol abnormal behavior detection method based on feature association
CN108718298B (en) Malicious external connection flow detection method and device
KR102088509B1 (en) Method and apparatus for detection of anomaly on computer system
CN108156131A (en) Webshell detection methods, electronic equipment and computer storage media
CN106911514A (en) SCADA network inbreak detection methods and system based on the agreements of IEC60870 5 104
Qasim et al. Automated reconstruction of control logic for programmable logic controller forensics
CN103905440A (en) Network security situation awareness analysis method based on log and SNMP information fusion
CN111865960A (en) Network intrusion scene analysis processing method, system, terminal and storage medium
KR102435472B1 (en) System And Method for Detecting Abnormal Control Data
SG184120A1 (en) Method of identifying a protocol giving rise to a data flow
CN112560029A (en) Website content monitoring and automatic response protection method based on intelligent analysis technology
KR102282847B1 (en) System for Detecting Abnormal Control Data
Rumez et al. Anomaly detection for automotive diagnostic applications based on N-grams
KR102435456B1 (en) System And Method for Detecting Abnormal Control Data
Sari et al. Deception attack monitoring in vulnerable hydroelectric generator system
CN116828087B (en) Information security system based on block chain connection
CN112448919B (en) Network anomaly detection method, device and system and computer readable storage medium
Schuster et al. Attack and fault detection in process control communication using unsupervised machine learning
KR102435460B1 (en) System for Detecting Abnormal Control Data
CN114205816B (en) Electric power mobile internet of things information security architecture and application method thereof
EP3545658B1 (en) Evaluation and generation of a whitelist
CN114205146B (en) Processing method and device for multi-source heterogeneous security log
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