KR102139138B1 - An ICS header profiling system for private Industrial Control System protocol - Google Patents

An ICS header profiling system for private Industrial Control System protocol Download PDF

Info

Publication number
KR102139138B1
KR102139138B1 KR1020200050939A KR20200050939A KR102139138B1 KR 102139138 B1 KR102139138 B1 KR 102139138B1 KR 1020200050939 A KR1020200050939 A KR 1020200050939A KR 20200050939 A KR20200050939 A KR 20200050939A KR 102139138 B1 KR102139138 B1 KR 102139138B1
Authority
KR
South Korea
Prior art keywords
field
ics
packet
group
header
Prior art date
Application number
KR1020200050939A
Other languages
Korean (ko)
Inventor
김기현
박혜용
김용식
김학균
김기석
노태훈
Original Assignee
(주) 앤앤에스피
한국지역난방공사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주) 앤앤에스피, 한국지역난방공사 filed Critical (주) 앤앤에스피
Priority to KR1020200050939A priority Critical patent/KR102139138B1/en
Application granted granted Critical
Publication of KR102139138B1 publication Critical patent/KR102139138B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/18Protocol analysers
    • 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/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
    • G05B19/4185Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by the network communication
    • G05B19/4186Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by the network communication by protocol, e.g. MAP, TOP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/022Capturing of monitoring data by sampling
    • H04L43/024Capturing of monitoring data by sampling by adaptive sampling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/36Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9042Separate storage for different parts of the packet, e.g. header and payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • 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

The present invention relates to a private ICS protocol profiling system for group- and cycle-based abnormal behavior detection. The system analyzes packets transmitted and received in a private industrial control protocol communication environment between operating and control devices in an industrial control system network. The system includes: a packet extraction and data separation unit extracting a packet between the control and operating devices and separating a network header, an ICS header, and an ICS payload; a field object property analysis unit dividing the ICS header into variable and fixed fields and detecting a packet transmission-representing object property field (hereinafter, object property field) from the fixed field; a group property analysis unit detecting a field value-grouped field (hereinafter, group field) from the variable field; a transmission cycle property analysis unit detecting a transmission pattern or cycle of packets in which the group field has a certain field value; and a packet profiling unit profiling the ICS header information and setting as a profile the object property field, the group field, and the transmission pattern or cycle. The above-described method and system performs analysis by dividing a private ICS protocol packet into a network packet header and an ICS protocol payload and dividing the ICS protocol payload into an ICS header and an ICS payload.

Description

그룹 및 주기 기반 비정상행위 탐지를 위한 비공개 ICS 프로토콜의 프로파일링 시스템 { An ICS header profiling system for private Industrial Control System protocol }Profiling system of private ICS protocol for group and cycle-based anomaly detection {An ICS header profiling system for private Industrial Control System protocol}

본 발명은 비공개 ICS(Industrial Control System) 프로토콜에 의한 패킷들을 분석하여 패킷 구조를 추출하고, 추출된 패킷 구조에 따라 ICS 패킷의 ICS 헤더의 내용을 추출하여 ICS 헤더의 특성 정보를 수집하는, 그룹 및 주기 기반 비정상행위 탐지를 위한 비공개 ICS 프로토콜의 프로파일링 시스템에 관한 것이다.The present invention extracts a packet structure by analyzing packets by a private ICS (Industrial Control System) protocol, extracts the contents of the ICS header of the ICS packet according to the extracted packet structure, collects characteristic information of the ICS header, group, and It relates to a profiling system of a private ICS protocol for detecting period-based anomalies.

일반적으로, 산업용 제어시스템 네트워크는 운영장치(HMI, EWS 등), 제어장치(PLC, DCS, RTU 등), 현장장치(센서, 액츄에이터 등)로 구성되며 산업용 제어프로토콜을 사용하여 통신한다.In general, the industrial control system network consists of operating devices (HMI, EWS, etc.), control devices (PLC, DCS, RTU, etc.), field devices (sensors, actuators, etc.) and communicates using industrial control protocols.

산업용 제어 프로토콜은 모드버스(Modbus), DNP3(Distributed Network Protocol 3), ICCP(InterControl Center Communications Protocol), OPC(OLE for process control) 등 표준 프로토콜을 사용하는 경우도 있지만 업체 자체의 비공개 프로토콜이 사용되는 경우도 있다.Industrial control protocols may use standard protocols such as Modbus, Distributed Network Protocol 3 (DNP3), InterControl Center Communications Protocol (ICCP), OLE for process control (OPC), but the company's own private protocol is used. There are cases.

표준 산업용 제어 프로토콜에 대한 비정상 행위 탐지는 표준 프로토콜에서 정의된 네트워크 헤더 정보(이더넷 헤더 정보, IP 헤더 정보, TCP/UDP 헤더 정보), ICS 헤더 정보, ICS 페이로드 데이터를 세분하여 프로파일링 하고, 이를 화이트 리스트로 구성하거나 머신러닝 또는 딥러닝을 적용한다. 이를 통해, 비정상 행위 탐지율을 높이고 오판율을 줄이고 있으며 비정상 행위 발생 시 이에 대한 추적성을 높이고 있다.Anomaly detection for the standard industrial control protocol is profiled by subdividing network header information (Ethernet header information, IP header information, TCP/UDP header information), ICS header information, and ICS payload data defined in the standard protocol. It consists of a white list or applies machine learning or deep learning. Through this, the detection rate of abnormal behaviors is increased, and the false positive rate is reduced, and the traceability of abnormal behaviors is increased.

비공개 산업용 프로토콜의 경우 ICS 프로토콜 구조를 분석할 수 없어 네트워크 헤더 정보와 네트워크 페이로드 데이터로만 구분하고 있다[특허문헌 1]. 또한, 이를 화이트 리스트로 구성하거나 머신러닝 또는 딥러닝을 적용할 경우, 비정상 행위 탐지율이 떨어지고 오판율이 증가하는 문제가 있다. 또한, ICS 정보를 가지고 있는 네트워크 페이로드 데이터에 대한 비정상 행위가 발생 시 이에 대한 추적성이 떨어지는 문제가 있다.In the case of the private industrial protocol, the structure of the ICS protocol cannot be analyzed, so it is classified only into network header information and network payload data [Patent Document 1]. In addition, when this is configured as a white list or when machine learning or deep learning is applied, there is a problem that an abnormal behavior detection rate decreases and a false positive rate increases. In addition, there is a problem in that the traceability of the network payload data with ICS information is poor when it occurs.

한국 등록특허공보 제10-1860395호(2018.07.02.공고)Korean Registered Patent Publication No. 10-1860395 (announced on Jul. 02, 2018)

본 발명의 목적은 상술한 바와 같은 문제점을 해결하기 위한 것으로, 비공개 ICS(Industrial Control System) 프로토콜에 의한 패킷들을 분석하여 패킷 구조를 추출하고, 추출된 패킷 구조에 따라 ICS 패킷의 ICS 헤더의 내용을 추출하여 ICS 헤더의 특성 정보를 수집하는, 그룹 및 주기 기반 비정상행위 탐지를 위한 비공개 ICS 프로토콜의 프로파일링 시스템을 제공하는 것이다.The object of the present invention is to solve the problems as described above, and analyze the packets by the private industrial control system (ICS) protocol to extract the packet structure, and the contents of the ICS header of the ICS packet according to the extracted packet structure It is to provide a private ICS protocol profiling system for group and cycle-based anomaly detection by extracting and collecting characteristic information of an ICS header.

특히, 본 발명의 목적은 비공개 ICS 프로토콜의 비공개 ICS 헤더에 대한 필드 특성 정보, 필드 그룹 정보, 전송 주기 특성을 분석하여, 필드 그룹의 데이터나 그 주기 특성에 의해 ICS 비정상행위를 탐지할 수 있게 하는, 그룹 및 주기 기반 비정상행위 탐지를 위한 비공개 ICS 프로토콜의 프로파일링 시스템을 제공하는 것이다.Particularly, an object of the present invention is to analyze field characteristic information, field group information, and transmission cycle characteristics of a private ICS header of a private ICS protocol, so that ICS abnormal behavior can be detected by data of a field group or its periodic characteristics. , Providing a system for profiling a closed ICS protocol for group and cycle-based anomaly detection.

상기 목적을 달성하기 위해 본 발명은 산업용 제어 시스템(ICS) 네트워크에서 운영장치와 제어장치 간 비공개 ICS 프로토콜로 통신하는 환경에서 송수신되는 패킷들에 대하여 분석하는, 그룹 및 주기 기반 비정상행위 탐지를 위한 비공개 ICS 프로토콜의 프로파일링 시스템에 관한 것으로서, 제어장치와 운영장치 간 패킷을 추출하고 네트워크 헤더, ICS 헤더, 및, ICS 페이로드를 분리하는 패킷 추출 및 데이터 분리부; 상기 ICS 헤더를 가변 필드와 고정 필드로 구분하고, 상기 고정 필드에서, 패킷 전송을 나타내는 객체 특성의 필드(이하 객체 특성 필드)를 검출하는 필드객체 특성 분석부; 상기 가변 필드에서 필드 값으로 그룹핑되는 필드(이하 그룹 필드)를 검출하는 그룹 특성 분석부; 상기 그룹 필드가 특정 필드값을 갖는 패킷들의 전송 패턴 또는 전송 주기를 검출하는 전송주기 특성 분석부; 및, 상기 ICS 헤더 정보를 프로파일링 하되, 상기 객체 특성 필드, 상기 그룹 필드, 및, 전송 패턴 또는 전송 주기를 프로파일로 설정하는 패킷 프로파일링부;를 포함하는 것을 특징으로 한다.In order to achieve the above object, the present invention analyzes packets transmitted/received in an environment communicating with a closed ICS protocol between an operating device and a control device in an industrial control system (ICS) network, and is closed for group and cycle-based abnormal behavior detection. A ICS protocol profiling system, comprising: a packet extraction and data separation unit for extracting packets between a control device and an operating device and separating a network header, an ICS header, and an ICS payload; A field object characteristic analysis unit for dividing the ICS header into a variable field and a fixed field, and detecting a field (hereinafter referred to as an object characteristic field) of an object characteristic indicating packet transmission in the fixed field; A group characteristic analysis unit that detects a field (hereinafter referred to as a group field) grouped by a field value in the variable field; A transmission period characteristic analysis unit detecting a transmission pattern or transmission period of packets in which the group field has a specific field value; And a packet profiling unit profiling the ICS header information, but setting the object characteristic field, the group field, and a transmission pattern or a transmission period as a profile.

또한, 본 발명은 그룹 및 주기 기반 비정상행위 탐지를 위한 비공개 ICS 프로토콜의 프로파일링 시스템에 있어서, 상기 객체 특성은 패킷 길이, 포트 정보, 목적지 정보, 근원지 정보, 글로벌 프로토콜 정보 중 적어도 하나 이상인 것을 특징으로 한다.In addition, the present invention is a profiling system of a private ICS protocol for group and cycle-based anomaly detection, wherein the object characteristic is at least one of packet length, port information, destination information, source information, and global protocol information. do.

또한, 본 발명은 그룹 및 주기 기반 비정상행위 탐지를 위한 비공개 ICS 프로토콜의 프로파일링 시스템에 있어서, 상기 패킷 추출 및 데이터 분리부는, 상기 패킷을 네트워크 헤더와 네트워크 페이로드로 분리하고, 분리된 네트워크 페이로드를 사전에 설정된 크기를 기준으로 ICS 헤더와 ICS 페이로드로 분류하되, 상기 객체 특성 필드 중 길이 필드를 검출하면 해당 길이 필드의 필드값에 따라 분리하는 크기를 조정하는 것을 특징으로 한다.In addition, in the present invention, in the profiling system of a private ICS protocol for group and period-based anomaly detection, the packet extraction and data separation unit separates the packet into a network header and a network payload, and separate network payload. Is classified into an ICS header and an ICS payload based on a preset size, and when a length field is detected among the object property fields, the size to separate according to the field value of the corresponding length field is adjusted.

또한, 본 발명은 그룹 및 주기 기반 비정상행위 탐지를 위한 비공개 ICS 프로토콜의 프로파일링 시스템에 있어서, 상기 필드객체 특성 분석부는, 상기 패킷의 네트워크 헤더의 패킷 전송 정보가 동일할 때 필드값이 변하지 않는 필드를 고정 필드로 구분하고, 필드값이 변하는 필드를 가변 필드로 구분하는 것을 특징으로 한다.In addition, in the present invention, in the profiling system of a private ICS protocol for group and period-based anomaly detection, the field object characteristic analysis unit does not change the field value when the packet transmission information of the network header of the packet is the same. It is characterized in that the field is divided into a fixed field, and a field in which the field value is changed is divided into a variable field.

또한, 본 발명은 그룹 및 주기 기반 비정상행위 탐지를 위한 비공개 ICS 프로토콜의 프로파일링 시스템에 있어서, 상기 필드객체 특성 분석부는, 다수의 객체 특성 중에서 특정 하나의 객체 특성만 서로 다른 패킷 집합을 샘플링하고, 샘플링된 패킷 집합을 대상으로 ICS 헤더 필드를 오버랩시켜 상기 고정 필드 중에서 필드 값이 변경되는 필드를 찾아, 해당 객체 특성의 필드로 정의하는 것을 특징으로 한다.In addition, in the present invention, in the profiling system of a private ICS protocol for group and period-based anomaly detection, the field object characteristic analysis unit samples a set of packets in which only one specific object characteristic is different among a plurality of object characteristics, The ICS header field is overlapped with respect to the set of sampled packets, and a field in which the field value is changed among the fixed fields is found and defined as a field of the corresponding object characteristic.

또한, 본 발명은 그룹 및 주기 기반 비정상행위 탐지를 위한 비공개 ICS 프로토콜의 프로파일링 시스템에 있어서, 상기 필드객체 특성 분석부는, 객체 특성의 조건을 만족하는 패킷을 샘플링하여 패킷 집합을 구성할 때, 네트워크 헤더 정보를 이용하여 객체 특성의 조건을 검사하는 것을 특징으로 한다.In addition, in the present invention, in the profiling system of the private ICS protocol for group and period-based anomaly detection, the field object characteristic analysis unit samples a packet that satisfies the condition of the object characteristic and constructs a packet set. It is characterized by checking the condition of an object property using header information.

또한, 본 발명은 그룹 및 주기 기반 비정상행위 탐지를 위한 비공개 ICS 프로토콜의 프로파일링 시스템에 있어서, 상기 필드객체 특성 분석부는, 상기 고정 필드 중에서 필드 값이 변경되는 필드를 찾을 때, 이미 정의된 필드를 제외한 나머지 고정 필드 중에서 찾는 것을 특징으로 한다.In addition, in the present invention, in the profiling system of a private ICS protocol for group and period-based anomaly detection, the field object characteristic analysis unit selects a predefined field when searching for a field in which the field value is changed among the fixed fields. It is characterized by finding among the rest of the fixed fields.

또한, 본 발명은 그룹 및 주기 기반 비정상행위 탐지를 위한 비공개 ICS 프로토콜의 프로파일링 시스템에 있어서, 상기 필드객체 특성 분석부는, 객체 특성의 필드를 검출할 때, 패킷 길이 정보, 포트 정보, 목적지 정보, 근원지 정보, 글로벌 프로토콜 정보 순으로 객체 특성의 필드를 검출하는 것을 특징으로 한다.In addition, the present invention, in the profiling system of a private ICS protocol for group and period-based anomaly detection, the field object characteristic analysis unit, when detecting a field of an object characteristic, packet length information, port information, destination information, It is characterized by detecting a field of object characteristics in the order of origin information and global protocol information.

또한, 본 발명은 그룹 및 주기 기반 비정상행위 탐지를 위한 비공개 ICS 프로토콜의 프로파일링 시스템에 있어서, 상기 필드그룹 특성 분석부는 패킷 집합을 샘플링하고, 샘플링된 패킷 집합의 패킷들의 가변 필드를 대상으로 윈도우로 이동하면서, 상기 윈도우에 대응되는 필드의 필드값들이 동일한 패킷들을 하나의 그룹으로 그룹핑 하되, 사전에 정해진 임계 개수 이하의 개수의 그룹들로 그룹핑 되면, 해당 필드를 그룹 필드로 정의하는 것을 특징으로 한다.In addition, in the present invention, in the profiling system of the private ICS protocol for group and period-based anomaly detection, the field group characteristic analysis unit samples a packet set and uses a window for a variable field of packets of the sampled packet set. While moving, the field values of the field corresponding to the window are grouped into the same group as a group, and when grouped into groups having a predetermined number of thresholds or less, the field is defined as a group field. .

또한, 본 발명은 그룹 및 주기 기반 비정상행위 탐지를 위한 비공개 ICS 프로토콜의 프로파일링 시스템에 있어서, 상기 윈도우는 1 바이트로 설정하여 가변 필드를 모두 이동한 후, 1 바이트 씩 늘려 반복 수행되는 것을 특징으로 한다.In addition, the present invention is characterized in that in the profiling system of the private ICS protocol for group and cycle-based anomaly detection, the window is set to 1 byte, and after moving all the variable fields, it is repeatedly performed by incrementing by 1 byte. do.

또한, 본 발명은 그룹 및 주기 기반 비정상행위 탐지를 위한 비공개 ICS 프로토콜의 프로파일링 시스템에 있어서, 상기 필드그룹 특성 분석부는 세션별로 패킷 집합을 샘플링하여 각 세션별 패킷 집합에 의해 그룹핑 하고 그룹들의 대표값이 세션별로 상이하면 해당 필드를 세션 그룹 필드로 분류하고, 세션 그룹 필드를 제외한 나머지 가변 필드들에 대하여, 운영 시스템별로 패킷 집합을 샘플링하여 각 운영 시스템별 패킷 집합에 의해 그룹핑 하고, 그룹들의 대표값이 운영 시스템별로 상이하면 해당 필드를 시스템 그룹 필드로 분류하고, 세션 그룹 필드 및 시스템 그룹 필드를 제외한 나머지 확장 가변 필드들에 대하여, 전체 패킷 집합을 샘플링하여 패킷 집합에 의해 그룹핑 하여 글로벌 그룹 필드로 분류하는 것을 특징으로 한다.In addition, in the present invention, in the profiling system of a private ICS protocol for detecting anomalous activity based on a group and a cycle, the field group characteristic analysis unit samples a packet set for each session and groups it by a packet set for each session, and representative values of the groups If this is different for each session, the corresponding field is classified into a session group field, and for the remaining variable fields excluding the session group field, a packet set is sampled for each operating system and grouped by a packet set for each operating system, and representative values of the groups If it is different for each operating system, the corresponding field is classified into a system group field, and for the remaining variable fields other than the session group field and the system group field, the entire packet set is sampled and grouped by the packet set to classify it into a global group field. It is characterized by.

또한, 본 발명은 그룹 및 주기 기반 비정상행위 탐지를 위한 비공개 ICS 프로토콜의 프로파일링 시스템에 있어서, 상기 전송주기 특성 분석부는, 근원지와 목적지, 길이, 포트, 시스템 그룹, 글로벌 그룹 중 적어도 하나 이상의 그룹에 대해 패킷의 전송 패턴 및 주기를 검출하되, 시간상으로 패킷을 샘플링하여 시간 순서 및 그 간격에 의해 패턴 및 주기를 검출하는 것을 특징으로 한다.In addition, in the present invention, in the profiling system of a private ICS protocol for detecting anomalous activity based on a group and a cycle, the transmission cycle characteristic analysis unit may include at least one of a source and a destination, a length, a port, a system group, and a global group. It is characterized by detecting the transmission pattern and period of the packet, but sampling the packet in time to detect the pattern and period according to the time sequence and the interval.

상술한 바와 같이, 본 발명에 따른 그룹 및 주기 기반 비정상행위 탐지를 위한 비공개 ICS 프로토콜의 프로파일링 시스템에 의하면, 비공개 ICS 프로토콜에 의한 ICS 헤더의 세부 구조를 알지 못하더라도 그 구조와 전송 패턴을 자동으로 추출할 수 있는 효과가 얻어진다.As described above, according to the profiling system of the private ICS protocol for detecting group and cycle-based abnormal behavior according to the present invention, even if the detailed structure of the ICS header by the private ICS protocol is unknown, the structure and transmission pattern are automatically An extractable effect is obtained.

또한, 본 발명에 따른 그룹 및 주기 기반 비정상행위 탐지를 위한 비공개 ICS 프로토콜의 프로파일링 시스템에 의하면, 비공개 ICS 프로토콜에 의한 ICS 헤더의 특성 정보 및 전송 패턴을 추출함으로써, 비공개 ICS 프로토콜의 세부 구조를 모르더라도 ICS 패킷의 비정상행위를 탐지할 수 있는 효과가 얻어진다.In addition, according to the profiling system of the private ICS protocol for group and cycle-based anomaly detection according to the present invention, by extracting characteristic information and transmission patterns of the ICS header by the private ICS protocol, the detailed structure of the private ICS protocol is unknown. Even if it has the effect of detecting the abnormal behavior of the ICS packet is obtained.

특히, 본 발명에 따른 그룹 및 주기 기반 비정상행위 탐지를 위한 비공개 ICS 프로토콜의 프로파일링 시스템에 의하면, 비공개 ICS 헤더에 대해 필드 객체 특성, 필드 그룹 특성, 전송 주기 특성을 분석할 수 있는 효과가 얻어진다.In particular, according to the profiling system of the private ICS protocol for group and cycle-based anomaly detection according to the present invention, the effect of analyzing field object properties, field group properties, and transmission cycle properties for the private ICS header is obtained. .

또한, 본 발명에 따른 그룹 및 주기 기반 비정상행위 탐지를 위한 비공개 ICS 프로토콜의 프로파일링 시스템에 의하면, 비공개 ICS 헤더를 프로파일링 함으로써, 화이트리스트 구성과 플로우 특성 구성을 통해 산업용 제어시스템 네트워크에서 대한 이상징후 탐지에 활용될 수 있는 효과가 얻어진다.In addition, according to the profiling system of the private ICS protocol for group and cycle-based anomaly detection according to the present invention, by profiling the private ICS header, an abnormal sign in the industrial control system network through whitelist configuration and flow characteristic configuration An effect that can be used for detection is obtained.

도 1은 본 발명을 실시하기 위한 전체 시스템의 구성도에 대한 블록도이다.
도 2는 본 발명의 일실시예에 따른 비공개 ICS 프로토콜에 대한 패킷 프로파일링 시스템(100)을 나타내는 도면이다.
도 3은 본 발명의 일실시예에 따른 비공개 ICS 프로토콜에 의한 패킷 구성을 나타내는 도면이다.
도 4는 본 발명의 일실시예에 따른 필드객체 특성 분석부(121)에서 헤더 필드 객체의 특성 분석의 동작 개념을 나타내는 도면이다.
도 5는 본 발명의 일실시예에 따른 필드그룹 특성 분석부(122)에서 헤더 필드 그룹의 특성 분석의 동작 개념을 나타내는 도면이다.
도 6은 본 발명의 일실시예에 따른 윈도우에 의한 헤더 필드 그룹의 특성 분석 과정에 대한 예시도이다.
도 7은 본 발명의 일실시예에 따른 전송 패턴 및 주기를 예시한 도면이다.
도 8은 본 발명의 일실시예에 따른 패킷 추출 및 데이터 분리부(110)의 세부 동작 과정을 나타내는 흐름도이다.
도 9은 본 발명의 일실시예에 따른 필드객체 특성 분석부(121)의 필드 객체의 특성 분석의 세부 과정을 나타내는 흐름도이다.
도 10는 본 발명의 일실시예에 따른 필드그룹 특성 분석부(122)의 필드 그룹의 특성 분석의 세부 과정을 나타내는 흐름도이다.
도 11은 본 발명의 일실시예에 따른 전송주기 특성 분석부(123)의 전송 주기 특성의 분석의 세부 과정을 나타내는 흐름도이다.
도 12는 본 발명의 일실시예에 따른 패킷 프로파일링부(140)에서 프로파일링하는 ICS 헤더 정보를 나타내는 도면이다.
도 13은 본 발명의 일실시예에 따른 비공개 ICS 헤더 정보 프로파일링을 활용한 ICS 비정상행위 탐지 과정을 나타내는 흐름도이다.
1 is a block diagram of a configuration diagram of an entire system for carrying out the present invention.
2 is a diagram illustrating a packet profiling system 100 for a private ICS protocol according to an embodiment of the present invention.
3 is a diagram showing a packet configuration by a private ICS protocol according to an embodiment of the present invention.
4 is a diagram illustrating an operation concept of analyzing characteristics of a header field object in the field object characteristic analysis unit 121 according to an embodiment of the present invention.
FIG. 5 is a diagram illustrating an operation concept of characteristic analysis of a header field group in the field group characteristic analysis unit 122 according to an embodiment of the present invention.
6 is an exemplary diagram for a process of analyzing characteristics of a header field group by a window according to an embodiment of the present invention.
7 is a diagram illustrating a transmission pattern and a cycle according to an embodiment of the present invention.
8 is a flowchart illustrating a detailed operation process of the packet extraction and data separation unit 110 according to an embodiment of the present invention.
9 is a flowchart illustrating a detailed process of analyzing the characteristics of a field object of the field object characteristic analysis unit 121 according to an embodiment of the present invention.
10 is a flow chart showing the detailed process of the field group characteristic analysis of the field group characteristic analysis unit 122 according to an embodiment of the present invention.
11 is a flowchart illustrating a detailed process of analyzing the transmission period characteristics of the transmission period characteristic analysis unit 123 according to an embodiment of the present invention.
12 is a diagram showing ICS header information profiling by the packet profiling unit 140 according to an embodiment of the present invention.
13 is a flowchart illustrating an ICS anomaly detection process using private ICS header information profiling according to an embodiment of the present invention.

이하, 본 발명의 실시를 위한 구체적인 내용을 도면에 따라서 설명한다.Hereinafter, specific contents for carrying out the present invention will be described in accordance with the drawings.

또한, 본 발명을 설명하는데 있어서 동일 부분은 동일 부호를 붙이고, 그 반복 설명은 생략한다.In describing the present invention, the same parts are denoted by the same reference numerals, and repeated explanation is omitted.

먼저, 본 발명을 실시하기 위한 전체 시스템의 구성을 도 1을 참조하여 설명한다.First, the configuration of the entire system for carrying out the present invention will be described with reference to FIG. 1.

도 1에서 보는 바와 같이, 본 발명을 실시하기 위한 전체 시스템은 현장 장치를 제어하는 제어장치(300), 제어장치(300)에 제어 명령을 전송하는 운영장치(200), 및, 제어장치(300)와 운영장치(200) 간의 패킷을 프로파일링하는 프로파일링 시스템(100)으로 구성된다.As shown in FIG. 1, the entire system for carrying out the present invention includes a control device 300 for controlling a field device, an operating device 200 for transmitting a control command to the control device 300, and a control device 300 ) And the profiling system 100 for profiling packets between the operating devices 200.

먼저, 제어장치(300)는 현장 장치를 제어하는 장치로서, 바람직하게는, PLC(Programmable Logic Controller), DCS(Distributed Control System), RTU(Remote Terminal Unit) 등으로 구성된다. 현장 장치는 센서, 액츄에이터 등 산업 시설 현장에 설치되는 장치이다.First, the control device 300 is a device that controls a field device, and is preferably composed of a PLC (Programmable Logic Controller), DCS (Distributed Control System), RTU (Remote Terminal Unit), and the like. Field devices are devices that are installed at industrial facility sites such as sensors and actuators.

또한, 제어장치(300)는 운영장치(200)로부터 제어 명령을 받아 현장 장치를 제어한다. 또한, 제어장치(300)는 현장 장치로부터 운영 정보를 받아 운영장치(200)로 전달하고 보고하는 기능을 수행한다.In addition, the control device 300 receives a control command from the operating device 200 to control the field device. In addition, the control device 300 receives the operation information from the field device and transmits it to the operating device 200 and reports it.

다음으로, 운영장치(200)는 제어장치(300)를 제어하는 장치로서, HMI(Human Machine Interface), EWS(Engineering Workstation) 등으로 구성된다. 즉, 운영장치(200)는 제어장치(300)에 제어명령을 내리거나, 제어장치(300)로부터 현장장치의 운영 정보를 수집하여 모니터링한다.Next, the operating device 200 is a device that controls the control device 300, and is composed of a human machine interface (HMI), an engineering workstation (EWS), and the like. That is, the operating device 200 issues a control command to the control device 300 or collects and monitors operation information of a field device from the control device 300.

한편, 운영장치(200)와 제어장치(300)는 산업 제어 시스템(ICS, Industrial Control System) 프로토콜을 이용하여 통신한다. 이때, 표준 ICS 프로토콜을 사용하거나, 산업체 자체 비공개 ICS 프로토콜을 사용한다.Meanwhile, the operating device 200 and the control device 300 communicate using an Industrial Control System (ICS) protocol. At this time, the standard ICS protocol is used, or the industry's own private ICS protocol is used.

다음으로, 프로파일링 시스템(100)은 운영장치(200)와 제어장치(300) 간 비공개 ICS 프로토콜을 사용하는 경우, 비공개 ICS 프로토콜에 대한 비정상행위 탐지를 위한 정상 패킷 프로파일링 기능을 수행한다.Next, the profiling system 100 performs a normal packet profiling function for detecting abnormal behavior for the private ICS protocol when using the private ICS protocol between the operating device 200 and the control device 300.

여기서 프로파일링은 비공개 ICS 프로토콜의 구조(특히, 헤더 구조)와, ICS 패킷의 전송 패턴을 검출하여, 이를 프로파일(또는 프로파일 정보)로 저장하는 것을 말한다. 프로파일은 ICS 비정상행위를 검출하는데 이용된다. 즉, 프로파일링 되지 않은 행위가 발생되면, 해당 행위는 비정상행위로 볼 수 있다.Here, profiling refers to detecting a structure of a private ICS protocol (especially a header structure) and a transmission pattern of an ICS packet, and storing it as a profile (or profile information). Profiles are used to detect ICS anomalies. That is, if an unprofiled action occurs, the action can be regarded as an abnormal action.

또한, 프로파일링 시스템(100)은 운영장치(200)와 제어장치(300) 간의 통신을 모니터링한다. 이때, 양자 간의 통신 라인에 대해 탭 장비로 태핑(Tapping)하거나, 스위치의 미러링 포트를 이용하여, 해당 통신을 모니터링한다.In addition, the profiling system 100 monitors communication between the operating device 200 and the control device 300. At this time, tapping the communication line between the two with tap equipment, or using a mirroring port of the switch, monitors the corresponding communication.

특히, 프로파일링 시스템(100)은 해당 통신을 모니터링하여, 상당량의 패킷(특히, 비공개 ICS 패킷)을 수집하고, 수집된 패킷을 이용하여 프로파일링을 수행한다.In particular, the profiling system 100 monitors the communication, collects a significant amount of packets (especially, private ICS packets), and performs profiling using the collected packets.

다음으로, 본 발명의 일실시예에 따른 그룹 및 주기 기반 비정상행위 탐지를 위한 비공개 ICS 프로토콜의 프로파일링 시스템의 구성에 대하여 도 2를 참조하여 설명한다. 도 2는 비공개 ICS 프로토콜에 대한 패킷 프로파일링 시스템(100)을 나타내는 도면이다.Next, a configuration of a profiling system of a private ICS protocol for detecting abnormal behavior based on groups and cycles according to an embodiment of the present invention will be described with reference to FIG. 2. 2 is a diagram illustrating a packet profiling system 100 for a private ICS protocol.

도 2에서 보는 바와 같이, 본 발명의 일실시예에 따른 프로파일링 시스템(100)은 패킷 추출 및 데이터 분리부(110), 필드객체 특성 분석부(121), 필드그룹 특성 분석부(122), 전송주기 특성 분석부(123), 패킷 프로파일링부(140)를 포함할 수 있다.2, the profiling system 100 according to an embodiment of the present invention includes a packet extraction and data separation unit 110, a field object characteristic analysis unit 121, a field group characteristic analysis unit 122, It may include a transmission period characteristic analysis unit 123, a packet profiling unit 140.

먼저, 패킷 추출 및 데이터 분리부(110)는 운영장치(200)와 제어장치(300) 간 통신에서 ICS 컨버세이션 패킷을 추출하고, 추출된 패킷으로부터 네트워크 헤더와 네트워크 페이로드 데이터를 분리한다. 이때 네트워크 헤더는 이더넷 헤더, LLC(logical link control) 헤더, IP 헤더, TCP/UDP 헤더 등 네트워킹을 위한 헤더들로 구성된다. 즉, 네트워크 헤더는 표준 네트워크 헤더들 중 적어도 하나 이상으로 구성된다.First, the packet extraction and data separation unit 110 extracts an ICS conversation packet from communication between the operating device 200 and the control device 300 and separates the network header and network payload data from the extracted packet. At this time, the network header is composed of headers for networking, such as an Ethernet header, a logical link control (LLC) header, an IP header, and a TCP/UDP header. That is, the network header is composed of at least one of the standard network headers.

또한, 패킷 추출 및 데이터 분리부(110)는 분리된 네트워크 페이로드 데이터로부터 ICS 헤더와 ICS 페이로드를 분리한다. 즉, 네트워크 페이로드 데이터에 대해 기준 헤더 길이를 기준으로 분리시킨다. 이때 기준 헤더 길이는 사전에 설정된 값으로, 임의의 n 바이트(사전에 설정되는 n 바이트)로 설정된다. 바람직하게는, n은 통상적인 표준 헤더 길이, 예를 들면 TCP 헤더 기준 20바이트 이내 등으로 설정한다.In addition, the packet extraction and data separation unit 110 separates the ICS header and the ICS payload from the separated network payload data. That is, the network payload data is separated based on the reference header length. At this time, the reference header length is a preset value, and is set to an arbitrary n bytes (n bytes set in advance). Preferably, n is set to a normal standard header length, for example, within 20 bytes based on the TCP header.

한편, 패킷 추출 및 데이터 분리부(110)는 ICS 헤더의 길이 정보 필드 분석 등에 따라 n 바이트를 재조정할 수 있다.Meanwhile, the packet extraction and data separation unit 110 may readjust n bytes according to the length information field analysis of the ICS header.

다음으로, 필드객체 특성 분석부(121)는 ICS 헤더 필드에서 패킷마다 변경되거나 하나의 세션 동안에만 유지되는 필드를 제외하고 패킷 헤더에서 프로토콜 정보, 유닛 정보 등 객체 특성을 나타내는 필드를 분석한다.Next, the field object characteristic analysis unit 121 analyzes fields representing object characteristics such as protocol information and unit information in the packet header except for fields that are changed for each packet or maintained only during one session in the ICS header field.

즉, 필드객체 특성 분석부(121)는 운영장치(200)와 제어장치(300) 간 통신하는 동안 필드값이 변경되지 않는 고정 필드를 기반으로 길이 정보 필드, 포트 정보 필드, 목적지 유닛 정보 필드, 근원지 유닛 정보 필드, 프로토콜 정보 필드 등을 분석할 수 있다.That is, the field object characteristic analysis unit 121 is based on a fixed field whose field value is not changed during communication between the operating device 200 and the control device 300, a length information field, a port information field, a destination unit information field, The source unit information field, the protocol information field, and the like can be analyzed.

다음으로, 필드그룹 특성 분석부(122)는 제어 명령 그룹 등 필드 그룹 특성을 나타내는 필드를 분석한다.Next, the field group characteristic analysis unit 122 analyzes fields representing field group characteristics, such as a control command group.

즉, 필드그룹 특성 분석부(122)는 운영장치(200)와 제어장치(300) 간 통신하는 동안 필드값이 변경되는 가변 필드를 기반으로 패킷 마다 변경되거나 하나의 세션 동안에만 유지되는 정보 필드를 제외하고 하나의 시스템 내 또는 전체 시스템 내에서 그룹 정보로 나타나는 시스템 그룹 특성 필드와 글로벌 프로토콜 그룹 특성 필드 등을 분석할 수 있다.That is, the field group characteristic analysis unit 122 changes information for each packet or is maintained for only one session based on a variable field in which the field value is changed during communication between the operating device 200 and the control device 300. Except, the system group property field and the global protocol group property field, which are represented as group information in one system or in the entire system, can be analyzed.

다음으로, 전송주기 특성 분석부(123)는 운영장치(200)와 제어장치(300) 간 컨버세이션 패킷에서 패킷 길이, 포트, 제어 명령 등에 따라 나타나는 메시지 전송 주기 특성과 비주기 특성 등을 분석한다.Next, the transmission period characteristic analysis unit 123 analyzes message transmission period characteristics and aperiodic characteristics, etc., which appear according to packet length, port, control command, etc. in the conversation packet between the operating device 200 and the control device 300.

다음으로, 프로파일링부(140)는 프로토콜 헤더 정보를 기준으로 ICS 헤더 필드 객체 특성 정보, ICS 헤더 필드 그룹 특성 정보, ICS 전송 주기 특성 정보에 기반하여 프로파일링한다.Next, the profiling unit 140 profils based on the ICS header field object characteristic information, the ICS header field group characteristic information, and the ICS transmission cycle characteristic information based on the protocol header information.

다음으로, 본 발명의 일실시예에 따른 비공개 ICS 프로토콜에 의한 ICS 패킷의 구조에 대하여 도 3을 참조하여 설명한다. 도 3은 본 발명의 일실시예에 따른 비공개 ICS 프로토콜에 의한 ICS 패킷 구조에 대한 구성도이다.Next, the structure of an ICS packet according to a private ICS protocol according to an embodiment of the present invention will be described with reference to FIG. 3. 3 is a block diagram of an ICS packet structure using a private ICS protocol according to an embodiment of the present invention.

도 3을 참조하면, 비공개 ICS 프로토콜에 의한 패킷 구조는 TCP/UPD 상위 ICS 패킷(1100), 이더넷 상위 ICS 패킷(1200), 변형된 이더넷 상위 ICS 패킷(1300) 등으로 구성될 수 있다.Referring to FIG. 3, the packet structure according to the private ICS protocol may include TCP/UPD upper ICS packet 1100, Ethernet upper ICS packet 1200, and modified Ethernet upper ICS packet 1300.

첫째, TCP/UDP 상위 ICS 패킷(1100)은 네트워크 패킷 헤더(1100a)와 ICS 프로토콜 페이로드(1100b)로 구성된다. 여기서 네트워크 패킷 헤더(1100a)는 이더넷 헤더(1100a-1), IP 헤더(1100a-2), TCP/UPD 헤더(1100a-3) 등으로 구성되고, ICS 프로토콜 페이로드(1100b)는 네트워크 패킷 페이로드 데이터로서 ICS 헤더(110b-1)와 ICS 페이로드(1100b-2)로 구성된다.First, the TCP/UDP upper ICS packet 1100 is composed of a network packet header 1100a and an ICS protocol payload 1100b. Here, the network packet header 1100a is composed of an Ethernet header 1100a-1, an IP header 1100a-2, a TCP/UPD header 1100a-3, and the like, and the ICS protocol payload 1100b is a network packet payload. It consists of ICS header 110b-1 and ICS payload 1100b-2 as data.

두번째, 이더넷 상위 ICS 패킷(1200)은 네트워크 패킷 헤더(1200a)와 ICS 프로토콜 페이로드(1200b)로 구성된다. 여기서 네트워크 패킷 헤더(1200a)는 이더넷 헤더(1200a-1) 등으로 구성되고 ICS 프로토콜 페이로드(1200b)는 네트워크 패킷 페이로드 데이터로서 ICS 헤더(120b-1)와 ICS 페이로드(1200b-2)로 구성된다.Second, the Ethernet upper ICS packet 1200 is composed of a network packet header 1200a and an ICS protocol payload 1200b. Here, the network packet header 1200a is composed of an Ethernet header 1200a-1 and the like, and the ICS protocol payload 1200b is network packet payload data as the ICS header 120b-1 and the ICS payload 1200b-2. It is composed.

다음 세번째, 변형된 이더넷 상위 ICS 패킷(1300)은 네트워크 패킷 헤더(1300a)와 ICS 프로토콜 페이로드(1300b)로 구성된다. 여기서 네트워크 해킷 헤더(1300a)는 이더넷 헤더(1300a-1), LLC 헤더(1300a-2) 등으로 구성되고, ICS 프로토콜 페이로드(1100b)는 네트워크 패킷 페이로드 데이터로서 ICS 헤더(110b-1)와 ICS 페이로드(1100b-2)로 구성된다.Next, the modified Ethernet upper ICS packet 1300 is composed of a network packet header 1300a and an ICS protocol payload 1300b. Here, the network hacker header 1300a is composed of an Ethernet header 1300a-1, an LLC header 1300a-2, and the ICS protocol payload 1100b is the network packet payload data and the ICS header 110b-1. It consists of ICS payload (1100b-2).

네트워크 패킷 헤더(또는 네트워크 헤더)는 네트워크 계층에서의 헤더를 의미하며, 패킷을 전송하는 근원지, 패킷을 수신하는 목적지, 세션을 나타내는 포트 등으로 구성된다.The network packet header (or network header) means a header at a network layer, and is composed of a source for transmitting a packet, a destination for receiving a packet, and a port representing a session.

다음으로, 본 발명의 일실시예에 따른 필드객체 특성 분석부(121)가 ICS 헤더 필드의 객체 특성을 분석하는 방법을 도 4를 참조하여 설명한다.Next, a method of analyzing the object characteristics of the ICS header field by the field object characteristic analysis unit 121 according to an embodiment of the present invention will be described with reference to FIG. 4.

앞서, ICS 헤더와 ICS 페이로드는 앞서 패킷 추출 및 데이터 분리부(110)에 의해, ICS 패킷의 네트워크 페이로드 데이터로부터 분리된다. 즉, 사전에 설정된 크기(임의의 n바이트 등)를 기준으로 ICS 헤더와 ICS 페이로드가 분리된다. 그리고 ICS 헤더에서 객체 대상에 따라 일정된 값을 나타내는 필드 객체 특성을 분석할 수 있다. 이하에서, 분리된 ICS 헤더에 대하여 분석한다.Previously, the ICS header and the ICS payload are previously separated from the network payload data of the ICS packet by the packet extraction and data separation unit 110. That is, the ICS header and the ICS payload are separated based on a predetermined size (an arbitrary n bytes, etc.). In addition, in the ICS header, a field object characteristic representing a constant value according to an object target may be analyzed. Hereinafter, the separated ICS header is analyzed.

도 4를 참조하면, 먼저, 네트워크 헤더(또는 네트워크 패킷 헤더)의 근원지, 목적지, 포트가 동일하고 패킷의 크기가 동일한 패킷들을 패킷 집합(다수의 패킷들)으로 구성한다. 그리고 구성된 패킷 집합을 대상으로 ICS 헤더 필드를 오버랩시켜 필드 값이 변경되지 않는 고정필드와 필드 값이 변경되는 가변필드로 구분한다(2100). 즉, 바람직하게는, 근원지와 목적지가 같고(1:1), 같은 포트, 같은 크기의 패킷 집합 대상으로 ICS 헤더 필드를 오버랩시켜 고정필드와 가변필드로 구분한다(2100).Referring to FIG. 4, first, packets having the same source, destination and port of the network header (or network packet header) and the same packet size are configured as a packet set (multiple packets). Then, by overlapping the ICS header field with respect to the configured packet set, the field value is divided into a fixed field in which the field value is not changed and a variable field in which the field value is changed (2100). That is, preferably, the source and destination are the same (1:1), and the ICS header field is overlapped with the same port and the same size of the packet set object to be divided into a fixed field and a variable field (2100).

여기서, 근원지, 목적지, 포트는 네트워크 패킷 헤더(이하 네트워크 헤더)의 주소와 포트를 의미한다. 즉, 근원지, 목적지, 포트는 해당 패킷의 네트워크 패킷 헤더로부터 추출된다.Here, the source, destination, and port refer to the address and port of the network packet header (hereinafter referred to as the network header). That is, the source, destination, and port are extracted from the network packet header of the corresponding packet.

다음으로, 네트워크 헤더의 근원지, 목적지, 포트가 동일하나 패킷의 크기가 다른 패킷 집합을 구성하고, 구성된 패킷 집합을 대상으로 ICS 헤더 필드를 오버랩시켜 상기 고정필드 중에서 필드 값이 변경되는 필드를 찾아 길이 정보 필드로 정의한다(2200). 즉, 근원지와 목적지가 같고(1:1) 같은 포트이면서 크기가 다른 패킷 집합을 대상으로 ICS 헤더 필드를 오버랩시켜, 필드 값이 변경되면서 길이별 동일한 값을 유지하는 필드(또는 고정필드)를 찾아 길이 정보 필드로 정의한다. Next, a packet set having the same source, destination, and port of the network header but having different packet sizes is configured, and the ICS header field is overlapped with respect to the configured packet set to find a field in which the field value is changed among the fixed fields and length. It is defined as an information field (2200). That is, by overlapping the ICS header field for a packet set of the same port (1:1) and the same port and different size, the field value is changed to find a field (or fixed field) that maintains the same value for each length. Defined as the length information field.

다음으로 네트워크 헤더의 근원지와 목적지가 같고 포트가 다른 패킷 집합을 구성하고, 구성된 패킷 집합을 대상으로 ICS 헤더 필드를 오버랩시켜, 정의되지 않은 나머지 고정필드 중에서 필드 값이 변경되는 필드를 찾아 포트 정보 필드로 정의한다(2300). 즉, 근원지와 목적지가 같고(1:1) 포트가 다른 패킷 집합을 대상으로 ICS 헤더 필드를 오버랩시켜 필드 값이 변경되면서 포트별 동일한 값을 유지하는 필드(또는 고정필드)를 찾아 포트 정보 필드로 정의한다.Next, configure the packet set with the same source and destination of the network header and different ports, and overlap the ICS header field with the target of the configured packet set to find the field whose field value changes among the remaining undefined fixed fields. It is defined as (2300). That is, the field value is changed by overlapping the ICS header field targeting a packet set with the same source and destination (1:1) and different ports, and the field (or fixed field) that maintains the same value for each port is searched for the port information field. define.

다음으로 네트워크 헤더의 근원지가 같고 목적지가 다른 패킷 집합을 구성하고, 구성된 패킷 집합을 대상으로 ICS 헤더 필드를 오버랩시켜, 정의되지 않은 나머지 고정필드 중에서 필드 값이 변경되는 필드를 찾아 근원지 정보 필드로 정의한다(2400). 즉, 근원지가 같고 목적지가 다른(1:N) 패킷 집합을 대상으로 ICS 헤더 필드를 오버랩시켜 필드 값이 변경되면서 목적지별 동일한 값을 유지하는 필드를 찾아 목적지 유닛 정보 필드로 정의한다.Next, a packet set with the same origin and a different destination is composed of a packet set, and the ICS header field is overlapped with respect to the configured packet set to find a field whose field value is changed among the remaining undefined fields and define it as a source information field. (2400). That is, the field value is changed by overlapping the ICS header field targeting a packet set having the same origin and different destination (1:N), and a field maintaining the same value for each destination is found and defined as a destination unit information field.

마지막으로 네트워크 헤더의 근원지가 다른 패킷 집합을 구성하고, 구성된 패킷 집합을 대상으로 ICS 헤더 필드를 오버랩시켜, 정의되지 않은 나머지 고정필드 중에서 필드 값이 변경되는 필드를 찾아 근원지 정보 필드로 정의한다(2500). 즉, 근원지와 목적지가 다른(M:N) 패킷 집합을 대상으로 ICS 헤더 필드를 오버랩시켜 필드 값이 변경되면서 근원지별 동일한 값을 유지하는 필드를 찾아 근원지 유닛 정보 필드로 정의한다.Finally, a packet set with a different origin of the network header is formed, and the ICS header field is overlapped with respect to the configured packet set to find a field in which the field value is changed among the remaining undefined fixed fields and define it as a source information field (2500) ). That is, the field value is changed by overlapping the ICS header field targeting a packet set having a different source and destination (M:N), and a field maintaining the same value for each source is found and defined as a source unit information field.

또한, 위의 과정에서 정의되지 않은 나머지 고정필드를 대상으로 전체 패킷 집합을 적용하여, 글로벌 프로토콜 정보 필드와 기타 가변 필드로 정의한다. 즉, 전체 패킷 집합(수집되어 샘플링된 모든 패킷 집합)에 대한 변화 비교 과정(ICS 헤더 필드를 오버랩하는 과정)에서도 변경되지 않고 고정된 필드를 글로벌 프로토콜 정보 필드로 정의하고 상기 필드 정의에서 빠진 변경 필드를 기타 가변 필드로 정의한다.In addition, the entire packet set is applied to the remaining fixed fields that are not defined in the above process, thereby defining global protocol information fields and other variable fields. That is, a fixed field is defined as a global protocol information field without changing in the change comparison process (overlapping the ICS header field) for the entire packet set (all collected and sampled packet sets), and the change field missing from the field definition Is defined as other variable field.

한편, 상기와 같이, 객체는 패킷 전송과 관련된 특성으로서, 패킷 길이, 포트, 근원지, 목적지, 전송 프로토콜 등으로 구분된다. 즉, 객체는 운영장치와 제어장치 간에 메시지(또는 패킷)를 주고받기 위해 정하는 것들을 말한다. 구체적으로, 객체는 길이 정보, 포트 정보, 목적지 정보, 근원지 정보, 글로벌 프로토콜 정보 등을 말한다. 이들은 메시지 전송(또는 패킷 전송)을 위한 것이고, 명령/함수 등과는 관련이 없다. 따라서 ICS 헤더의 객체 특성의 필드는 네트워크 헤더의 전송 정보와 직접적으로 연관된다.On the other hand, as described above, the object is a property related to packet transmission, and is divided into packet length, port, source, destination, and transport protocol. That is, the objects are those that are determined to exchange messages (or packets) between the operating device and the control device. Specifically, the object refers to length information, port information, destination information, source information, global protocol information, and the like. These are for message transmission (or packet transmission) and are not related to commands/functions. Therefore, the field of the object property of the ICS header is directly related to the transmission information of the network header.

한편, 바람직하게는, 고정필드 내에서 각 필드 객체(길이/크기, 포트, 목적지, 근원지)를 구하는 순서는 길이, 포트, 목적지, 근원지 등의 순으로 순차적으로 정의한다. 바람직하게는, 이와 같은 순서는 각 요건에 맞는 패킷들을 수집하기 용이한가에 따라 정한다. 예를 들어, 길이와 포트, 목적지가 동일하면서 근원지가 다른 패킷들을 수집하기 어렵다. 따라서 근원지를 먼저 구하지 않고 마지막에서 구한다.On the other hand, preferably, the order of obtaining each field object (length/size, port, destination, source) in a fixed field is sequentially defined in the order of length, port, destination, source, and the like. Preferably, such an order is determined according to whether it is easy to collect packets meeting each requirement. For example, it is difficult to collect packets having the same length, port, and destination and different sources. Therefore, the source is not first, but the last.

다음으로, 본 발명의 일실시예에 따른 필드그룹 특성 분석부(122)가 ICS 헤더 필드의 그룹 특성을 분석하는 방법을 도 5 및 도 6을 참조하여 설명한다.Next, a method of analyzing the group characteristics of the ICS header field by the field group characteristic analysis unit 122 according to an embodiment of the present invention will be described with reference to FIGS. 5 and 6.

필드그룹 특성 분석부(122)는 도 4의 첫 번째 단계에서 분류한 ICS 헤더의 가변필드와 마지막 단계까지 남은 기타 가변필드에 대해 ICS 헤더 필드에서 그룹으로 나타나는 필드의 특성을 분석한다. 헤더의 가변필드와, 기타 가변필드(또는 기타 필드)를 합하여, 확장 가변필드로 부르기로 한다.The field group characteristic analysis unit 122 analyzes the characteristics of the fields appearing as a group in the ICS header field for the variable fields of the ICS header classified in the first step of FIG. 4 and other variable fields remaining until the last step. The variable fields of the header and the other variable fields (or other fields) are added together to be referred to as an extended variable field.

도 5를 참조하면, 이들 확장 가변필드는 그룹 필드, 순서번호 필드, 세션 정보 필드, 체크썸 필드(CRC), 타임스탬프 필드, 시퀀스 필드 등으로 구성된다. 즉, 확장 가변필드가 어떻게 구성된 것인지는 모르나, ICS 헤더는 이러한 필드들의 전부 또는 그 일부로 구성된다.Referring to FIG. 5, these extended variable fields are composed of a group field, a sequence number field, a session information field, a checksum field (CRC), a timestamp field, and a sequence field. That is, it is not known how the extended variable field is constructed, but the ICS header is composed of all or some of these fields.

특히, 그룹 필드는 read variable, write variable, stop, start 등 함수/명령 코드(function code) 또는 함수/명령 종류(function type) 등을 위한 필드이다. 함수/명령 등은 그 개수가 정해져 있고, 반복적으로 사용된다. 따라서 해당 그룹 필드는 해당 필드값들이 일정한 그룹을 형성하고 그룹 내의 필드값만을 갖는다.In particular, the group field is a field for a function/function code such as read variable, write variable, stop, start, or a function/function type. The number of functions/commands, etc. is fixed, and used repeatedly. Therefore, the corresponding group field forms a group in which the corresponding field values are constant and has only the field values in the group.

예를 들어, 1시간 마다 측정된 데이터를 전송한다면, 1시간 마다 세션을 형성하고 측정 데이터를 요청하는 명령을 보내고 그 응답으로 측정 데이터를 전송한다. 이때, 세션 형성을 위한 함수/명령, 측정 데이터 요청 함수/명령, 측정 데이터 전송 함수/명령 등이 순차적으로 왕복되면서, 데이터가 전송될 것이다. For example, if the measured data is transmitted every hour, a session is established every hour and a command for requesting the measured data is sent, and the measured data is transmitted in response. At this time, functions/commands for forming a session, measurement data request functions/commands, measurement data transfer functions/commands, and the like are sequentially reciprocated, and data will be transmitted.

또한, 그룹 필드는 세션 내에서만 해당 필드값이 유지되어 세션이 변경될 때마다 변경되는 필드(이하 세션 그룹 필드), 특정 시스템에서만 유지되는 필드(이하 시스템 그룹 특성 필드 또는 시스템 그룹 필드), 전체 패킷에 대하여 유지되는 필드(이하 글로벌 프로토콜 그룹 특성 필드 또는 글로벌 그룹 필드)로 구분된다.In addition, the group field is a field that is changed whenever a session is changed because the corresponding field value is maintained only within a session (hereinafter, a session group field), a field maintained only in a specific system (hereinafter, a system group property field or a system group field), and an entire packet It is divided into fields maintained for (hereinafter referred to as global protocol group characteristic field or global group field).

그런데, 세션 그룹 필드는 하나의 세션 동안만 유지되는 필드로서, 세션마다 변경되기 때문에 비정상행위를 탐지할 수 없다. 또한, 순서번호 필드, 세션 정보 필드, 체크썸 필드, 타임스탬프 필드, 시퀀스 필드 등은 ICS 프로토콜에서 기본적으로 사용되는 필드이므로, 이러한 필드를 통해 비정상행위를 탐지할 수 없다.However, the session group field is a field maintained for only one session and cannot be detected because it is changed for each session. In addition, since the sequence number field, session information field, checksum field, timestamp field, and sequence field are basically used fields in the ICS protocol, abnormal behavior cannot be detected through these fields.

상기와 같은 필드 중에서 비정상행위 탐지를 위해 필요한 필드는 시스템 그룹 필드와, 글로벌 그룹 필드이다. 즉, 시스템 그룹 필드는 시스템 코드(system code)나 메시지 타입(message type) 등 함수/명령 등을 나타내고, 글로벌 그룹 필드는 함수 코드(function code) 등 함수/명령을 나타낸다. 따라서 함수/명령 코드가 수행되는 패턴을 검출하여, 비정상행위를 탐지할 수 있다.Among the above fields, fields required for detecting abnormal behavior are a system group field and a global group field. That is, the system group field indicates a function/command such as a system code or message type, and the global group field indicates a function/command such as a function code. Therefore, it is possible to detect an abnormal behavior by detecting a pattern in which a function/command code is executed.

먼저, 가변 필드 또는 확장 가변필드들을 대상으로 윈도우 사이즈 1(1바이트)부터 하나씩 증가시키면서 그 크기를 설정한다(3100). 즉, 윈도우 사이즈를 1바이트(byte)로 설정하여 확장 가변 필드를 1 바이트 씩 각 필드 특성이 나타나는지 분석한다. 예를 들어, 전체 헤더 길이가 8바이트이면 각 1 바이트씩 8개를 모두 분석한다(또는 순차적으로 분석한다). 그리고 1 바이트 크기의 윈도우가 완료되면, 다음 2바이트 크기로 각 2바이트 씩 7개를 모두 분석한다. 이와 같이 윈도우 사이즈를 1바이트 씩 증가시켜 분석한다. 바람직하게는, 윈도우 사이즈를 각각 1, 2, 3, 4 바이트로 증가시킨다. 도 6은 윈도우 크기가 2바이트인 경우를 도시하고 있다.First, the size is set by incrementing one by one from the window size 1 (1 byte) for variable fields or extended variable fields (3100). That is, the window size is set to 1 byte, and an extended variable field is analyzed for each field characteristic by 1 byte. For example, if the total header length is 8 bytes, all 8 of 1 byte are analyzed (or sequentially). And when the 1-byte window is completed, all 7 of 2 bytes each are analyzed with the next 2-byte size. In this way, the window size is increased by 1 byte and analyzed. Preferably, the window sizes are increased to 1, 2, 3 and 4 bytes respectively. 6 shows a case where the window size is 2 bytes.

다음으로, 설정된 크기의 윈도우에 의해 각 필드들의 특성을 분석한다(3200). 즉, 분석되는 필드는 그룹 필드, 순서번호 필드, 세션 정보 필드, 체크썸 필드, 타임스탬프 필드, 시퀀스 필드, 기타 가변필드 등으로 분석할 수 있다.Next, characteristics of each field are analyzed by a window having a set size (3200). That is, the analyzed field can be analyzed as a group field, a sequence number field, a session information field, a checksum field, a timestamp field, a sequence field, and other variable fields.

순서번호 필드, 세션 정보 필드, 체크썸 필드, 타임스탬프 필드, 시퀀스 필드, 기타 가변 필드 등은 패킷이 바뀔 때 마다 값이 변경되거나 세션이 변경될 때 마다 변경되는 값으로 프로토콜 측면에서 패킷의 정합성 검사를 위해 사용될 수 있으며 별도로 점검할 수 있다(3200).Sequence number field, session information field, checksum field, timestamp field, sequence field, and other variable fields are values that change each time a packet changes or change every time a session changes. It can be used for and can be checked separately (3200).

필드그룹 특성 분석부(122)에서는 필드값이 그룹으로 형성되는 그룹 필드를 대상으로 하나의 세션 동안 형성되는 그룹인지, 하나의 시스템 내에서 형성되는 그룹인지, 전체 시스템에서 글로벌적으로 형성되는 그룹인지 분석할 수 있다(3300).In the field group characteristic analysis unit 122, whether the field value is a group formed during one session, a group formed within one system, or a group formed globally in the entire system, targets the group field formed as a group. It can be analyzed (3300).

필드그룹 특성 분석부(122)는 하나의 세션 동안에만 유지되는 세션 그룹 특성 필드를 제외하고 시스템 그룹 특성 필드와 글로벌 프로토콜 그룹 특성 필드를 헤더 필드의 그룹 특성으로 분석할 수 있다(3300).The field group characteristic analysis unit 122 may analyze the system group characteristic field and the global protocol group characteristic field as the group characteristic of the header field, except for the session group characteristic field maintained only for one session (3300).

여기서 시스템 그룹 특성 필드는 시스템 코드, 메시지 타입 등을 나타낼 수 있으며, 글로벌 프로토콜 그룹 특성 필드는 함수 코드(Function Code), OP 코드(OP Code) 등을 나타낼 수 있다.Here, the system group characteristic field may indicate a system code, a message type, etc., and the global protocol group characteristic field may represent a function code, an OP code, or the like.

한편, 필드그룹 특성 분석부(122)는 ICS 헤더 집합(또는 패킷 집합)을 샘플링하고, 샘플링된 ICS 헤더 집합에서 특정 윈도우에 해당하는 필드들이 동일한 필드 값에 의해 그룹핑이 되면(특히, 특정 개수 이하의 그룹들로 그룹핑되면), 해당 필드는 그룹 필드 또는 그룹 특성 필드로 분류한다. 즉, 각 헤더의 해당 필드값이 동일하면 하나의 그룹으로 그룹핑된다. 해당 필드값을 해당 그룹의 대표값이라 부르기로 한다. 그룹의 개수가 K개이면, K개의 그룹들은 모두 다른 대표값을 갖는다.Meanwhile, the field group characteristic analysis unit 122 samples the ICS header set (or packet set), and when the fields corresponding to a specific window in the sampled ICS header set are grouped by the same field value (especially, a specific number or less) Grouped into groups), the field is classified as a group field or a group characteristic field. That is, if the corresponding field values of each header are the same, they are grouped into one group. The field value will be referred to as the representative value of the group. If the number of groups is K, all K groups have different representative values.

바람직하게는, 그룹의 개수가 사전에 설정된 임계 개수 이하이면, 그룹핑 되는 것으로 판단한다. 즉, 해당 필드의 필드값의 동일 여부로 그룹핑하여 생성된 그룹의 개수가 사전에 정해진 임계 개수 이하이면, 해당 필드를 그룹 특성 필드로 분류한다.Preferably, if the number of groups is equal to or less than a preset threshold number, it is determined that the grouping is performed. That is, if the number of groups generated by grouping the field values of the corresponding field is equal to or less than a predetermined threshold number, the field is classified as a group characteristic field.

도 6의 예에서, 윈도우 크기 2 바이트인 경우이다. ICS 헤더가 8바이트이고 윈도우 크기가 2 바이트이면, 모두 7회의 윈도우로 그룹핑 작업을 수행할 수 있다. 3번째 작업은 3번째와 4번째 바이트에 대해 그룹핑을 수행한다. 전체 패킷 집합 또는 ICS 헤더 집합은 모두 n개인 경우이다. n이 10만개를 예로 한다. 이때, 10만개의 모든 ICS 헤더의 3번째와 4번째 바이트의 필드값을 그룹핑한다.In the example of FIG. 6, this is the case when the window size is 2 bytes. If the ICS header is 8 bytes and the window size is 2 bytes, grouping can be performed with all 7 windows. The third task performs grouping on the 3rd and 4th bytes. The entire packet set or ICS header set is all n cases. Let n be 100,000. At this time, the field values of the third and fourth bytes of all 100,000 ICS headers are grouped.

일반적으로 명령/함수 등의 개수는 100개를 넘지 않는다. 따라서 해당 필드가 명령/함수 필드라면, 동일한 필드값으로 그룹핑할 때 그룹의 개수가 100개를 넘지 않는다. 해당 필드는 2바이트이므로, 가질 수 있는 필드값은 216 = 65,536의 경우수이다. 예를 들어, 해당 필드가 에러교정코드 필드라면 경우수(그룹의 개수)가 최소 몇 천 내지 몇 만개일 것이다.In general, the number of commands/functions does not exceed 100. Therefore, if the corresponding field is a command/function field, the number of groups does not exceed 100 when grouping by the same field value. Since the corresponding field is 2 bytes, the possible field value is 2 16 = 65,536. For example, if the corresponding field is an error correction code field, the number of cases (the number of groups) will be at least several thousand to tens of thousands.

또한, 임계 개수는 윈도우 크기에 따라 달리 설정할 수 있다. 즉, 1바이트는 모두 256개의 경우수를 갖는데, 임계 개수는 2바이트인 경우에 비하여 더 적을 수 있다.Also, the threshold number may be set differently according to the window size. That is, one byte has a total of 256 cases, but the threshold number may be less than that of 2 bytes.

또한, 하나의 그룹에 속하는 원소(ICS 헤더)의 개수도 그룹 여부를 결정하는데 이용될 수 있다. 예를 들어, 100개의 그룹으로 그룹핑 되는데, 2개의 그룹은 대량의 헤더를 가지는데, 나머지 98개의 그룹은 모두 1개의 헤더만을 원소로서 갖는다면, 해당 필드는 그룹 필드가 아닐 수 있다.In addition, the number of elements (ICS headers) belonging to one group may also be used to determine whether the group. For example, if 100 groups are grouped, two groups have a large amount of headers, and if the remaining 98 groups all have only one header as an element, the corresponding field may not be a group field.

또한, 필드그룹 특성 분석부(122)는 세션별로 패킷 집합(ICS 헤더 집합)을 샘플링하여 각 세션별 패킷 집합에 의해 그룹핑 하고, 그룹들의 대표값이 세션별로 상이하면 해당 필드를 세션 그룹 필드로 분류한다.In addition, the field group characteristic analysis unit 122 samples a packet set (ICS header set) for each session and groups it by a packet set for each session, and if the representative values of the groups are different for each session, classifies the field as a session group field. do.

예를 들어, 제1 세션의 패킷 집합을 그룹핑하여 K1개의 그룹이 만들어지고, 제2 세션의 패킷 집합을 그룹핑하여 K2개의 그룹이 만들어진다. 이때, K1개의 그룹들의 개수나 그 대표값들이 K2개의 그룹이들의 개수나 그 대표값과 서로 상이하면, 세션마다 해당 필드의 필드값들은 변경된다. 즉, 하나의 세션 동안에만 해당 필드의 필드값들이 유지된다.For example, K 1 groups are created by grouping the packet set of the first session, and K 2 groups are created by grouping the packet set of the second session. At this time, if the number of K 1 groups or their representative values differs from the number of K 2 groups or their representative values, the field values of the corresponding field are changed for each session. That is, field values of the corresponding field are maintained only during one session.

즉, 세션 그룹 필드는 하나의 세션 동안에만 유지되고, 세션이 변경되면 그 필드값들은 소정의 개수의 다른 값들로 변경된다.That is, the session group field is maintained only for one session, and when the session is changed, the field values are changed to a predetermined number of different values.

또한, 필드그룹 특성 분석부(122)는 세션 그룹 필드를 제외한 나머지 확장 가변 필드들에 대하여, 시스템별로 패킷 집합(ICS 헤더 집합)을 샘플링하여 각 시스템별 패킷 집합에 의해 그룹핑 하고, 그룹들의 대표값이 시스템별로 상이하면 해당 필드를 시스템 그룹 필드로 분류한다. 시스템 그룹 필드로 분류하는 방식은 세션 그룹 필드로 분류하는 방식과 동일하다.In addition, the field group characteristic analysis unit 122 samples the packet set (ICS header set) for each system for the remaining extended variable fields except for the session group field, groups them by the packet set for each system, and represents the representative values of the groups. If the system is different, the field is classified as a system group field. The system group field is classified in the same way as the session group field.

여기서 시스템이란 운영 장치(200) 또는 제어장치(300)에서 운영하는 소프트웨어 또는 하드웨어, 네트워크 체제(또는 운영체제 시스템)를 말한다. 서로 다른 장치라도 동일한 운영 시스템을 구동하면, 동일한 시스템으로 분류한다.Here, the system refers to software or hardware operated by the operating device 200 or the control device 300, a network system (or an operating system). If different devices run the same operating system, they are classified as the same system.

필드그룹 특성 분석부(122)는 운영 시스템의 종류를 운영 시스템 정보로서 사전에 보유하여 저장하고 있다. 바람직하게는, 운영 시스템 정보는 네트워크 헤더의 근원지 또는 목적지의 주소에 대해 운영 시스템의 종류를 매핑한 정보이다. 따라서 네트워크 헤더의 근원지 또는 목적지의 주소에 의해 운영 시스템을 구별할 수 있다.The field group characteristic analysis unit 122 stores and stores the type of the operating system in advance as operating system information. Preferably, the operating system information is information mapping the type of operating system to the address of the source or destination of the network header. Therefore, the operating system can be distinguished by the address of the source or destination of the network header.

또한, 필드그룹 특성 분석부(122)는 세션 그룹 필드 및 시스템 그룹 필드를 제외한 나머지 확장 가변 필드들에 대하여, 전체 패킷 집합(ICS 헤더 집합)을 샘플링하여 패킷 집합에 의해 그룹핑 한다. 그리고 사전에 정해진 임계 개수 이하의 그룹으로 그룹핑되면, 해당 필드를 글로벌 그룹 필드로 분류한다.In addition, the field group characteristic analysis unit 122 samples the entire packet set (ICS header set) for the remaining extended variable fields except for the session group field and the system group field, and groups them by the packet set. Then, when grouping is performed in a group having a predetermined number of thresholds or less, the corresponding field is classified as a global group field.

다음으로, 본 발명의 일실시예에 따른 전송주기 특성 분석부(123)가 ICS 헤더 필드의 주기 특성을 분석하는 방법을 도 7을 참조하여 설명한다.Next, a method of analyzing the periodic characteristics of the ICS header field by the transmission period characteristic analysis unit 123 according to an embodiment of the present invention will be described with reference to FIG. 7.

전송주기 특성 분석부(123)는 근원지와 목적지, 길이, 포트, 시스템 그룹, 글로벌 그룹 등에 대해 패킷의 전송 패턴 및 주기를 검출한다. 이를 위해, 송수신되는 모든 패킷을 태핑하되, 시간상으로 패킷을 샘플링하여 시간 순서 및 그 간격에 의해 패턴 및 주기를 검출한다.The transmission period characteristic analysis unit 123 detects the transmission pattern and period of the packet for the source and destination, length, port, system group, global group, and the like. To this end, all packets transmitted and received are tapped, but the packets are sampled in time to detect patterns and periods according to the time sequence and the interval.

도 7(a)에서 보는 바와 같이, 주기는 일정한 시간 간격에 의해 동종 패킷이 반복되는 것을 말한다. 또한, 도 7(b)와 같이, 패턴은 반복되는 일련의 패킷들을 말한다. 또한, 도 7(b)는 패킷의 패턴이 주기성을 가지고 반복되는 것을 알 수 있다.As shown in Fig. 7(a), the period means that the same packet is repeated at regular time intervals. Also, as shown in Fig. 7(b), the pattern refers to a series of repeated packets. 7(b), it can be seen that the pattern of the packet is repeated with a periodicity.

이때, 동종의 패킷은 동일한 패킷을 말하며, 각각 근원지와 목적지, 길이, 포트, 시스템 그룹, 글로벌 그룹 등 객체 특성 또는 필드 특성 별로 동일한 패킷을 동종의 패킷으로 본다. 일례로서, 길이 특성인 경우, 동일한 길이의 패킷을 동종의 패킷으로 본다.At this time, the same packet refers to the same packet, and the same packet is regarded as the same packet according to object characteristics or field characteristics such as a source and a destination, a length, a port, a system group, and a global group. As an example, in the case of a length characteristic, packets of the same length are regarded as packets of the same type.

또한, 바람직하게는, 동종으로 결정하는 특성은 하나의 특성으로 정한다. 또한, 2개 이상의 특성을 조합하여 동종으로 결정할 수 있다. 예를 들어, 근원지와 목적지, 및 길이를 조합하여 특성을 선정하여, 이들이 동일한 경우의 패킷들을 동종으로 설정할 수 있다.In addition, preferably, the characteristic determined by the same kind is determined as one characteristic. Further, two or more characteristics may be combined to determine the same type. For example, a characteristic may be selected by combining a source, a destination, and a length, and packets of the same case may be set to the same type.

바람직하게는, 전송주기 특성 분석부(123)는 근원지와 목적지, 길이, 포트, 시스템 그룹, 글로벌 그룹 순으로 각각 하나의 특성을 정하여, 순차적으로 주기성을 분석한다.Preferably, the transmission period characteristic analysis unit 123 analyzes the periodicity sequentially by determining one characteristic in order of the source and destination, length, port, system group, and global group.

다음으로, 본 발명의 일실시예에 따른 패킷 추출 및 데이터 분리부(110)의 동작의 세부 과정을 도 8을 참조하여 설명한다.Next, a detailed process of the operation of the packet extraction and data separation unit 110 according to an embodiment of the present invention will be described with reference to FIG. 8.

도 8을 참조하면, 먼저, 제어망 패킷을 수집하면 수집된 패킷을 일정 시간 기준으로 패킷을 분할 저장(S101)하고 운영장치(200)와 제어장치(300) 간 컨버세이션 통신 패킷을 추출(S102)할 수 있다.Referring to FIG. 8, first, when a control network packet is collected, the collected packet is dividedly stored based on a predetermined time (S101), and a communication communication packet between the operating device 200 and the control device 300 is extracted (S102). can do.

운영장치(200)와 제어장치(300) 간 컨버세이션 패킷이 표준 ICS 프로토콜인지 판단(S103)하여 표준 ICS 프로토콜이 아니면 표준 ICS 프로토콜 분석 모델에서 수행(S104)하고 비공개 ICS 프로토콜이면 운영장치(200) 또는 제어장치(300)가 근원지 패킷으로 패킷 집합을 분류하여 유니크 플로우 집합(Unique Flow Set)을 구성(S105)할 수 있다.It is determined whether the conversation packet between the operating device 200 and the control device 300 is a standard ICS protocol (S103), and if it is not a standard ICS protocol, it is performed in a standard ICS protocol analysis model (S104), and if it is a private ICS protocol, the operating device 200 or The control device 300 may configure a unique flow set by classifying the packet set into the source packet (S105).

운영장치가 근원지인 패킷 집합과 제어장치가 근원지인 패킷 집합을 분리하여 저장(S106)하고 패킷 집합에 대해 근원지를 기준으로 목적지별, 패킷 크기별, 포트별 패킷 집합을 세분하여 저장(S107)할 수 있다.The packet set originating from the operating device and the packet set originating from the control device are separately stored (S106), and the packet set for each destination, packet size, and port can be subdivided and stored for the packet set (S107). .

ICS 프로토콜 패킷에 대해 네트워크 계층 헤더(이더넷 헤더, LLC 헤더, IP 헤더, TCP/UDP 헤더 등)와 ICS 프로토콜 페이로드를 분리(S108)하고 ICS 프로토콜 페이로드에 대해 임의의 n바이트(일반적인 헤더 길이, 예를들면 TCP 헤더 20바이트 등)를 ICS 헤더로 설정하고 나머지를 ICS 페이로드로 분리할 수 있다.Separate the network layer header (Ethernet header, LLC header, IP header, TCP/UDP header, etc.) and the ICS protocol payload for the ICS protocol packet (S108), and any n bytes (typical header length, for the ICS protocol payload). For example, you can set the TCP header 20 bytes, etc.) to the ICS header and split the rest into the ICS payload.

ICS 헤더인지 판별(S110)하여 ICS 헤더이면 헤더 분석을 수행(S111)한 후 ICS 헤더 길이 등의 분석에 따라 ICS 헤더 길이 n바이트에 대한 조정이 필요한지 판단(S113)할 수 있다.If it is an ICS header by determining whether it is an ICS header (S110), if header analysis is performed (S111), it may be determined whether adjustment to the ICS header length n bytes is necessary according to analysis such as ICS header length (S113).

ICS 헤더 길이 n바이트에 대한 조정이 필요하면 S109 단계부터 다시 수행하며 조정이 필요 없으면 분석을 완료할 수 있다.If adjustment for the ICS header length n bytes is required, the process is performed again from step S109. If no adjustment is required, analysis can be completed.

다음으로, 본 발명의 일실시예에 따른 필드객체 특성 분석부(121)의 필드 객체 특성을 분석하는 세부 과정을 도 9을 참조하여 설명한다. 도 9a, 도 9b는 필드객체 특성 분석부(121)의 필드 객체 특성의 분석 과정을 나타내는 흐름도이다.Next, a detailed process of analyzing the field object characteristics of the field object characteristic analysis unit 121 according to an embodiment of the present invention will be described with reference to FIG. 9. 9A and 9B are flowcharts illustrating a process of analyzing field object characteristics of the field object characteristic analysis unit 121.

도 9a을 참조하면, 필드객체 특성 분석부(121)는 근원지와 목적지가 같은(1:1) 패킷에 대해 필드 객체 특성을 우선 분석할 수 있다. Referring to FIG. 9A, the field object characteristic analysis unit 121 may first analyze a field object characteristic for a packet having the same source and destination (1:1).

ICS 헤더 분석을 위해 MAC 또는 IP 주소에 기반하여 근원지 주소와 목적지 주소가 같은 1:1 컨버세이션 패킷 집합을 준비(S201)하고, 같은 포트, 같은 크기로 세분된 패킷 집합에 대해 ICS 헤더를 오버랩시키고 필드들의 변화를 분석(S202)할 수 있다.For the ICS header analysis, a 1:1 conversation packet set having the same source address and destination address is prepared based on the MAC or IP address (S201), and the ICS header is overlapped and the field is set for a packet set divided into the same port and the same size. It can analyze the change of (S202).

오버랩된 필드가 고정된 필드값을 유지하는지 판단(S203)하여 필드 값이 변경되었으면 가변필드로 정의하고 필드 그룹 특성을 분석한다(S204).If the field value is changed by determining whether the overlapped field maintains a fixed field value (S203), it is defined as a variable field and the field group characteristics are analyzed (S204).

S203 판단 결과 고정된 필드 값을 유지하면 같은 포드, 다른 크기의 세분된 패킷 집합을 준비하고 남은 고정된 필드들에 대해 ICS 헤더를 오버랩시켜 필드들의 변화를 분석(S205)할 수 있다.If the fixed field value is maintained as a result of the determination of S203, it is possible to analyze a change of fields by preparing a set of subpacked packets of the same pod and different size and overlapping the ICS header for the remaining fixed fields (S205).

오버랩된 필드가 변경되고, 변경된 필드값이 패킷 크기별 일정한 값을 유지하는지 판단(S206)하여 변경되는 필드값이 패킷 크기별 고정된 값이면 길이 정보 필드로 정의(S207)할 수 있다.If the overlapped field is changed and the changed field value maintains a constant value for each packet size (S206), if the changed field value is a fixed value for each packet size, it may be defined as a length information field (S207).

S206 판단 결과 패킷 크기별 고정된 값이 아니면 다른 포트, 다른 크기의 세분된 패킷 집합을 준비하고 남은 고정된 필드에 대해 ICS 헤더를 오버랩시켜 필드들의 변화를 분석(S208)할 수 있다.If the result of the determination of S206 is not a fixed value for each packet size, a set of subdivided packets of different ports and different sizes may be prepared and the change of fields may be analyzed by overlapping the ICS header for the remaining fixed fields (S208).

오버랩된 필드가 변경되고, 변경된 필드값이 포트별 일정한 값을 유지하는지 판단(S209)하여 변경되는 필드값이 포트별 고정된 값이면 포트 정보 필드로 정의(S210)할 수 있다.If the overlapped field is changed and the changed field value maintains a constant value for each port (S209), if the changed field value is a fixed value for each port, it may be defined as a port information field (S210).

S209 판단 결과 포트별 고정된 값이 아니면 그림 8b 과정을 수행할 수 있다.If the result of the determination of S209 is not a fixed value for each port, the process of Figure 8b can be performed.

도 9b을 참조하면, 필드객체 특성 분석부(121)는 근원지와 목적지를 변경하면서 필드 객체 특성을 분석할 수 있다.Referring to FIG. 9B, the field object characteristic analysis unit 121 may analyze the field object characteristics while changing the source and destination.

같은 근원지에 목적지가 다른 패킷 집합(1:N)을 준비하고 남은 고정필드에 대해 ICS 헤더를 오버랩시켜 필드들의 변화를 분석(S301)할 수 있다.A set of packets (1:N) having different destinations at the same source may be prepared and the change of fields may be analyzed (S301) by overlapping the ICS header for the remaining fixed fields.

오버랩된 필드가 변경되고, 변경된 필드값이 목적지별 일정한 값을 유지하는지 판단(S302)하여 변경되는 필드값이 목적지별 고정된 값이면 목적지 유닛 정보 필드로 정의(S303)할 수 있다.If the overlapped field is changed and the changed field value maintains a constant value for each destination (S302), if the changed field value is a fixed value for each destination, it may be defined as a destination unit information field (S303).

S302 판단 결과 목적지별 고정된 값이 아니면 근원지와 목적지가 다른 패킷 집합(M:N)을 준비하고 남은 고정필드에 대해 ICS 헤더를 오버랩시켜 필드들의 변화를 분석(S304)할 수 있다.If the result of the determination of S302 is not a fixed value for each destination, a packet set (M:N) having a different source and destination may be prepared and the change of fields may be analyzed by overlapping the ICS header for the remaining fixed fields (S304).

오버랩된 필드가 변경되고, 변경된 필드값이 근원지별 일정한 값을 유지하는지 판단(S304)하여 변경되는 필드값이 근원지별 고정된 값이면 근원지 유닛 정보 필드로 정의(S303)할 수 있다.If the overlapped field is changed and the changed field value maintains a constant value for each source (S304), if the changed field value is a fixed value for each source, it may be defined as a source unit information field (S303).

전체 패킷 분석 과정에서 고정된 필드 값을 유지하는 필드인지 판단(S307)하여 정의되지 않은 변경된 필드들을 기타 가변필드로 정의하고 필드 그룹 특성의 분석을 수행(S308)할 수 있다.In the entire packet analysis process, it may be determined whether the field maintains a fixed field value (S307 ), and the undefined changed fields may be defined as other variable fields and analysis of field group characteristics may be performed (S308 ).

S307 판단 결과, 전체 패킷 분석 과정에서 고정된 필드 값을 유지하면 해당 필드가 NULL인지 판단(S309)할 수 있다.As a result of the determination of S307, if a fixed field value is maintained in the entire packet analysis process, it may be determined whether the corresponding field is NULL (S309).

S309 판단 결과 NULL이면 NULL 필드로 정의(S310)하고 NULL이 아니면 글로벌 프로토콜 정보 필드로 정의(S311)하고 ICS 헤더 분석을 완료할 수 있다.If the result of the determination of S309 is NULL, it is defined as a NULL field (S310). If not NULL, it is defined as a global protocol information field (S311), and ICS header analysis can be completed.

다음으로, 본 발명의 일실시예에 따른 필드그룹 특성 분석부(122)가 ICS 헤더 필드의 그룹 특성을 분석하는 세부 과정을 도 10를 참조하여 설명한다. 도 10a, 9b는 본 발명의 일실시예에 따른 필드그룹 특성 분석부(122)의 필드 그룹의 특성 분석의 세부 과정을 나타내는 흐름도이다.Next, a detailed process of analyzing the group characteristic of the ICS header field by the field group characteristic analysis unit 122 according to an embodiment of the present invention will be described with reference to FIG. 10. 10A and 9B are flowcharts showing detailed processes of the field group characteristic analysis of the field group characteristic analysis unit 122 according to an embodiment of the present invention.

도 10a를 참조하면, 필드그룹 특성 분석부(122)는 근원지와 목적지가 같은(1:1) 패킷에 대해 필드 그룹 특성을 우선 분석할 수 있다.Referring to FIG. 10A, the field group characteristic analysis unit 122 may first analyze a field group characteristic for a packet having the same source and destination (1:1).

근원지 주소와 목적지 주소가 같은 1:1 컨버세이션 패킷 집합에서 가변 필드를 준비하고 가변 필드별로 반복 수행(S401)할 수 있다.A variable field may be prepared from a 1:1 conversation packet set having the same source address and destination address and iteratively performed for each variable field (S401).

1개의 가변필드 내에서 윈도우 사이즈=1바이트부터 단위 변경필드 크기만큼 윈도우 사이즈를 1씩 증가시켜 분석(S402)할 수 있다.In one variable field, the window size is increased by 1 by the unit change field size from window size=1 byte to analyze (S402 ).

가변필드의 변경되는 값이 그룹을 형성하는지 판단(S403)하고 그룹을 형성하면 그룹필드로 지정하고 해당 값을 그룹으로 저장(S404)할 수 있다.If it is determined whether the value to be changed in the variable field forms a group (S403), and if a group is formed, it can be designated as a group field and the corresponding value can be stored as a group (S404).

S403 판단 결과, 가변필드의 변경되는 값이 그룹을 형성하지 않으면 순서번호 필드, 세션정보필드, 체크썸 필드, 타임스탬프 필드, 시퀀스 필드 등 세부 필드 조건을 비교(S405)할 수 있다.As a result of the determination of S403, if the changed value of the variable field does not form a group, detailed field conditions such as a sequence number field, a session information field, a checksum field, a timestamp field, and a sequence field may be compared (S405).

필드별 세부 필드 특성에 따라 지정되는 필드가 있는지 판단(S406)하고 지정되는 필드가 없으면 임의 가변필드로 지정(S407)할 수 있다.According to the detailed field characteristics of each field, it is determined whether there is a designated field (S406), and if there is no designated field, an arbitrary variable field may be designated (S407).

S406 판단 결과, 필드별 세부 필드 특성에 따라 지정되는 필드가 있으면 순서번호 필드, 세션정보필드, 체크썸 필드, 타임스탬프 필드, 시퀀스 필드 등으로 지정(S408)할 수 있다.As a result of the determination of S406, if there is a field designated according to detailed field characteristics for each field, it may be designated as a sequence number field, a session information field, a checksum field, a timestamp field, a sequence field (S408).

가변필드의 크기까지 검사가 완료되었는지 판단(S409)하여 검사가 완료되지 않았으면 윈도우 사이즈를 1씩 증가시켜 S402 단계부터 다시 수행할 수 있다.If the inspection is completed up to the size of the variable field (S409), if the inspection is not completed, the window size may be increased by 1 to perform again from step S402.

S409 판단 결과 검사가 완료되었으면 정의된 필드에 대하여 큰 바이트 기준으로 작은 바이트를 포함하여 재정의(S410)하고 그림 8b 과정을 수행할 수 있다.As a result of the determination of S409, if the inspection is completed, the defined field may be redefined (S410) including a small byte based on a large byte, and the process of Figure 8b may be performed.

도 10b를 참조하면, 필드그룹 특성 분석부(122)는 근원지와 목적지를 변경하면서 그룹 필드 특성을 분석할 수 있다.Referring to FIG. 10B, the field group characteristic analysis unit 122 may analyze the group field characteristics while changing the source and destination.

근원지가 같고 목적지가 다른 패킷 집합에서 그룹 필드별로 그룹 관계를 비교(S501)할 수 있다.In a packet set having the same origin and different destinations, group relationships may be compared for each group field (S501).

근원지를 기준으로 하나의 시스템 내에서 그룹을 형성하는지 판단(S502)하고 세션에 따라 변경되면 세션 그룹 필드로 지정(S503)할 수 있다.It is determined whether a group is formed in one system based on the origin (S502), and if it is changed according to a session, it may be designated as a session group field (S503).

S503 판단 결과, 하나의 시스템 내에서 그룹을 형성하면 근원지와 목적지가 다른 패킷 집합에서 남은 그룹필드별로 그룹 관계를 비교(S504)할 수 있다.As a result of the determination of S503, if a group is formed in one system, the group relationship may be compared for each remaining group field in a packet set having a different source and destination (S504).

전체 시스템에 걸쳐 그룹을 형성하는지 판단(S505)하여 하나의 시스템 내에서만 그룹을 형성하면 시스템 그룹 필드로 지정하고 해당 값들을 그룹에 저장(S506)할 수 있다.If it is determined whether a group is formed over the entire system (S505) and a group is formed within only one system, the system group field may be designated and corresponding values may be stored in the group (S506).

S505 판단 결과, 전체 시스템에서 그룹을 형성하면 글로벌 프로토콜 필드 그룹으로 지정하고 해당 값들을 그룹에 저장(S507)하고 변경 필드 분석을 완료할 수 있다.As a result of the determination of S505, if a group is formed in the entire system, it can be designated as a global protocol field group, the corresponding values are stored in the group (S507), and change field analysis can be completed.

다음으로, 본 발명의 일실시예에 따른 전송주기 특성 분석부(123)의 전송 주기의 특성 분석의 세부 과정을 도 11을 참조하여 설명한다.Next, a detailed process of the characteristic analysis of the transmission period of the transmission period characteristic analysis unit 123 according to an embodiment of the present invention will be described with reference to FIG. 11.

도 11을 참조하면, 근원지와 목적지 간 전체 패킷에서 주기성이 나타나는지 우선 분석(S601)할 수 있다.Referring to FIG. 11, it may be first analyzed whether periodicity occurs in all packets between a source and a destination (S601).

길이 정보에 따른 패킷 주기성을 분석(S602)하고, 포트 정보에 따른 패킷 주기성을 분석(S603), 시스템 그룹에 따른 패킷 주기성을 분석(S604)하고 글로벌 프로토콜 그룹에 따른 주기성을 분석(S605)할 수 있다.It is possible to analyze the packet periodicity according to the length information (S602), analyze the packet periodicity according to the port information (S603), analyze the packet periodicity according to the system group (S604), and analyze the periodicity according to the global protocol group (S605). have.

ICS 패킷이 주기성을 갖는지 판단(S606)하여 주기성을 갖지 않으면 비주기 트래픽으로 분류(S607)할 수 있다.If the ICS packet has a periodicity (S606), if it does not have a periodicity, it can be classified as aperiodic traffic (S607).

S606 판단 결과, 주기성을 가지면 간격이 가장 작은 주기를 기본 주기로 설정(S608)하고 주기성 분석을 완료할 수 있다.As a result of the determination of S606, if there is a periodicity, a period with the smallest interval may be set as a basic period (S608) and periodicity analysis may be completed.

다음으로, 본 발명의 일실시예에 따른 ICS 헤더의 프로파일링 구조를 도 12를 참조하여 설명한다.Next, the profiling structure of the ICS header according to an embodiment of the present invention will be described with reference to FIG. 12.

도 12를 참조하면, 패킷 프로파일링부(140)는 분석된 정보를 기반으로 ICS 헤더 정보를 프로파일링하고, 페이로드 분석부(130)에서 분석된 정보를 기반으로 ICS 페이로드 정보를 프로파일링할 수 있다. 즉, 패킷 프로파일링부(140)는 ICS 헤더와 ICS 페이로드의 구조를 정의하여 프로파일 데이터로 설정한다.Referring to FIG. 12, the packet profiling unit 140 may profile ICS header information based on the analyzed information, and profile the ICS payload information based on the information analyzed by the payload analysis unit 130. have. That is, the packet profiling unit 140 defines the structure of the ICS header and the ICS payload and sets it as profile data.

비공개 ICS 프로토콜 패킷 프로파일링을 위해 인덱스 정보로 네트워크 패킷 기본 정보(5100)를 사용한다. 네트워크 패킷 기본 정보(5100)은 이더넷 헤더 정보(5100-1), LLC 헤더 정보(5100-2), IP 헤더 정보(5100-3), TCP/UDP 헤더 정보(5100-4)로 구성할 수 있다. The network packet basic information 5100 is used as index information for private ICS protocol packet profiling. The network packet basic information 5100 may include Ethernet header information 5100-1, LLC header information 5100-2, IP header information 5100-3, and TCP/UDP header information 5100-4. .

비공개 ICS 헤드 정보에 대한 프로파일링은 ICS 헤더 필드 객체 특성 정보(5200), ICS 헤더 필드 그룹 특성 정보(5300), ICS 패킷 주기 특성 정보(5300) 등으로 프로파일링할 수 있다.Profiling for the private ICS head information may be profiled with ICS header field object property information 5200, ICS header field group property information 5300, ICS packet cycle property information 5300, and the like.

ICS 헤더 필드 객체 특성 정보(5200)는 근원지 유닛 필드(5200-1), 목적지 유닛 필드(5200-2), 글로벌 프로토콜 정보 필드(5200-3), 길이 정보 필드(5200-4), 포트 정보 필드(5200-5) 등으로 구성할 수 있다.The ICS header field object characteristic information 5200 includes a source unit field 5200-1, a destination unit field 5200-2, a global protocol information field 5200-3, a length information field 5200-4, and a port information field. (5200-5).

ICS 헤더 필드 그룹 특성 정보(5300)은 시스템 그룹 필드 #1, 2, ..., n(5300-1), 글로벌 프로토콜 그룹 필드 #1, 2, ..., m(5300-2) 등으로 구성할 수 있다.The ICS header field group characteristic information 5300 includes system group fields #1, 2, ..., n (5300-1), global protocol group fields #1, 2, ..., m (5300-2), and the like. Can be configured.

ICS 헤더 필드 주기 특성 정보(5400)은 주기 특성 구분(5400-1), 주기 시간(5400-2), 주기 당 패킷수(5400-3), 주기 당 패킷량(5400-4) 등으로 구성할 수 있다. 여기서 주기 특성 구분은 주기 또는 비주기를 나타낸다.The ICS header field periodic characteristic information 5400 includes periodic characteristic classification (5400-1), periodic time (5400-2), number of packets per period (5400-3), and amount of packets per period (5400-4). Can be. Here, the periodic characteristic classification indicates periodic or aperiodic.

비공개 ICS 페이로드 정보에 대한 프로파일링은 ICS 페이로드 태그 매핑 정보(5500)로 구성할 수 있다.Profiling of the private ICS payload information may be configured with ICS payload tag mapping information 5500.

다음으로, 본 발명의 일실시예에 따른 비공개 ICS 헤더 정보 프로파일링을 활용한 ICS 비정상행위 탐지 과정을 도 13을 참조하여 설명한다.Next, a process of detecting an ICS anomaly utilizing private ICS header information profiling according to an embodiment of the present invention will be described with reference to FIG. 13.

도 13을 참조하면, 네트워크 패킷 기본 정보(5100)를 활용하여 화이트리스트를 구성하면, 전송한 MAC, 수신한 MAC 사이에 통신이 허용되는지 판단(S801)하고, 전송한 IP, 수신한 IP 사이에 통신이 허용되는지 판단(S802)하고, 허가된 서비스 포트인지 판단(S803)할 수 있다.Referring to FIG. 13, when a whitelist is constructed by using the basic information of the network packet 5100, it is determined whether communication is allowed between the transmitted MAC and the received MAC (S801), and the transmitted IP is received. It is determined whether communication is allowed (S802), and whether it is an authorized service port (S803).

또한, ICS 헤더 필드 객체 특성 정보(5200)를 활용하여 허가된 필드 객체 특성인지 판단(S804)하고, ICS 헤더 필드 그룹 특성 정보(5300)를 활용하여 허가된 필드 그룹 특성인지 판단(S805)하고 ICS 패킷 주기 특성 정보(5300)를 활용하여 메시지 전송시간(주기)이 적합한지 판단(S806)할 수 있다. 또한, 컨버세이션 패킷들의 관계를 비교하여 요청과 응답 관계가 적합한지 판단(S807)할 수 있다. In addition, the ICS header field object property information 5200 is used to determine whether it is a permitted field object property (S804), and the ICS header field group property information 5300 is used to determine whether it is a permitted field group property (S805) and ICS. By using the packet period characteristic information 5300, it may be determined whether the message transmission time (period) is appropriate (S806). In addition, it is possible to compare the relationship between the conversation packets to determine whether the request and response relationship is appropriate (S807).

이상, 본 발명자에 의해서 이루어진 발명을 실시 예에 따라 구체적으로 설명하였지만, 본 발명은 실시 예에 한정되는 것은 아니고, 그 요지를 이탈하지 않는 범위에서 여러 가지로 변경 가능한 것은 물론이다.In the above, although the invention made by the present inventors has been specifically described according to embodiments, the present invention is not limited to the embodiments, and can be variously changed without departing from the gist thereof.

100 : 프로파일링 시스템 110 : 패킷 추출 및 데이터 분리부
121 : 필드객체 특성 분석부 122 : 필드그룹 특성 분석부
123 : 전송주기 특성 분석부 140 : 패킷 프로파일링부
200 : 운영장치 300 : 제어장치
100: profiling system 110: packet extraction and data separation
121: field object characteristic analysis unit 122: field group characteristic analysis unit
123: transmission cycle characteristic analysis unit 140: packet profiling unit
200: operating device 300: control device

Claims (10)

산업용 제어 시스템(ICS) 네트워크에서 운영장치와 제어장치 간 비공개 ICS 프로토콜로 통신하는 환경에서 송수신되는 패킷들에 대하여 분석하는, 그룹 및 주기 기반 비정상행위 탐지를 위한 비공개 ICS 프로토콜의 프로파일링 시스템에 있어서,
제어장치와 운영장치 간 패킷을 추출하고 네트워크 헤더, ICS 헤더, 및, ICS 페이로드를 분리하는 패킷 추출 및 데이터 분리부;
상기 ICS 헤더를 가변 필드와 고정 필드로 구분하고, 상기 고정 필드에서, 패킷 전송을 나타내는 객체 특성의 필드(이하 객체 특성 필드)를 검출하는 필드객체 특성 분석부;
상기 가변 필드에서 필드 값으로 그룹핑되는 필드(이하 그룹 필드)를 검출하는 필드그룹 특성 분석부;
상기 그룹 필드가 특정 필드값을 갖는 패킷들의 전송 패턴 또는 전송 주기를 검출하는 전송주기 특성 분석부; 및,
상기 ICS 헤더를 프로파일링 하되, 상기 객체 특성 필드, 상기 그룹 필드, 및, 전송 패턴 또는 전송 주기를 프로파일로 설정하는 패킷 프로파일링부;를 포함하는 것을 특징으로 하는 그룹 및 주기 기반 비정상행위 탐지를 위한 비공개 ICS 프로토콜의 프로파일링 시스템.
In an industrial control system (ICS) network, the profiling system of a private ICS protocol for detecting group and cycle-based abnormal behavior, which analyzes packets transmitted and received in an environment communicating with a private ICS protocol between the operating device and the control device,
A packet extraction and data separation unit for extracting a packet between a control device and an operating device and separating a network header, an ICS header, and an ICS payload;
A field object characteristic analysis unit for dividing the ICS header into a variable field and a fixed field, and detecting a field (hereinafter referred to as an object characteristic field) of an object characteristic indicating packet transmission in the fixed field;
A field group characteristic analysis unit for detecting a field (hereinafter, a group field) grouped by a field value in the variable field;
A transmission period characteristic analysis unit detecting a transmission pattern or transmission period of packets in which the group field has a specific field value; And,
Private profile for group and period-based anomaly detection, comprising: a packet profiling unit profiling the ICS header, and setting the object characteristic field, the group field, and a transmission pattern or a transmission period as a profile. Profiling system for the ICS protocol.
제1항에 있어서,
상기 객체 특성은 패킷 길이, 포트 정보, 목적지 정보, 근원지 정보, 글로벌 프로토콜 정보 중 적어도 하나 이상인 것을 특징으로 하는 그룹 및 주기 기반 비정상행위 탐지를 위한 비공개 ICS 프로토콜의 프로파일링 시스템.
According to claim 1,
The object characteristic is at least one of packet length, port information, destination information, source information, and global protocol information. A profiling system of a private ICS protocol for group and period-based anomaly detection.
제1항에 있어서,
상기 패킷 추출 및 데이터 분리부는, 상기 패킷을 네트워크 헤더와 네트워크 페이로드로 분리하고, 분리된 네트워크 페이로드를 사전에 설정된 크기를 기준으로 ICS 헤더와 ICS 페이로드로 분류하되, 상기 객체 특성 필드 중 길이 필드를 검출하면 해당 길이 필드의 필드값에 따라 분리하는 크기를 조정하는 것을 특징으로 하는 그룹 및 주기 기반 비정상행위 탐지를 위한 비공개 ICS 프로토콜의 프로파일링 시스템.
According to claim 1,
The packet extraction and data separation unit divides the packet into a network header and a network payload, and classifies the separated network payload into an ICS header and an ICS payload based on a preset size, but the length of the object characteristic field Profiling system of a private ICS protocol for group and period-based anomaly detection, characterized in that when a field is detected, the size to be separated is adjusted according to the field value of the corresponding length field.
제1항에 있어서,
상기 필드객체 특성 분석부는, 상기 패킷의 네트워크 헤더의 패킷 전송 정보가 동일할 때 필드값이 변하지 않는 필드를 고정 필드로 구분하고, 필드값이 변하는 필드를 가변 필드로 구분하는 것을 특징으로 하는 그룹 및 주기 기반 비정상행위 탐지를 위한 비공개 ICS 프로토콜의 프로파일링 시스템.
According to claim 1,
The field object characteristic analysis unit classifies a field in which the field value does not change into a fixed field and a field in which the field value changes into a variable field when the packet transmission information of the network header of the packet is the same. Profiling system of private ICS protocol for cycle-based anomaly detection.
제2항에 있어서,
상기 필드객체 특성 분석부는,
상기 객체 특성이 패킷 길이, 포트 정보, 목적지 정보, 또는, 근원지 정보인 경우, 패킷의 패킷 길이, 패킷의 네트워크 헤더의 포트, 목적지, 또는, 근원지만 서로 다른 패킷 집합을 샘플링하고, 샘플링된 패킷 집합을 대상으로 ICS 헤더 필드를 오버랩시켜 상기 고정 필드 중에서 필드 값이 변경되는 필드를 찾아, 해당 객체 특성의 필드로 정의하고,
상기 객체 특성이 글로벌 프로토콜 정보 필드인 경우, 패킷 길이, 포트 정보, 목적지 정보, 및, 근원지 정보의 객체 특성 필드가 정의되면, 나머지 고정 필드를 대상으로 전체 패킷 집합을 적용하여 변경되지 않고 고정된 필드를 글로벌 프로토콜 정보 필드로 정의하는 것을 특징으로 하는 그룹 및 주기 기반 비정상행위 탐지를 위한 비공개 ICS 프로토콜의 프로파일링 시스템.
According to claim 2,
The field object characteristic analysis unit,
When the object characteristic is packet length, port information, destination information, or source information, a packet length of a packet, a port, destination, or a packet of a network header of a packet is sampled, but a set of different packets is sampled and the sampled packet set Overlay the ICS header field for the target, find the field whose field value is changed among the fixed fields, and define it as a field of the corresponding object property,
When the object property is a global protocol information field, if an object property field of packet length, port information, destination information, and source information is defined, the entire packet set is applied to the remaining fixed fields to be fixed and unchanged. Profiling system of a private ICS protocol for group and cycle-based anomaly detection, characterized in that is defined as a global protocol information field.
제5항에 있어서,
상기 필드객체 특성 분석부는, 객체 특성의 조건을 만족하는 패킷을 샘플링하여 패킷 집합을 구성할 때, 네트워크 헤더 정보를 이용하여 객체 특성의 조건을 검사하는 것을 특징으로 하는 그룹 및 주기 기반 비정상행위 탐지를 위한 비공개 ICS 프로토콜의 프로파일링 시스템.
The method of claim 5,
The field object characteristic analysis unit detects group- and period-based anomaly, characterized by checking the condition of the object characteristic using network header information when constructing a packet set by sampling a packet that satisfies the condition of the object characteristic. Profiling system for private ICS protocols.
제5항에 있어서,
상기 필드객체 특성 분석부는, 상기 고정 필드 중에서 필드 값이 변경되는 필드를 찾을 때, 이미 정의된 필드를 제외한 나머지 고정 필드 중에서 찾는 것을 특징으로 하는 그룹 및 주기 기반 비정상행위 탐지를 위한 비공개 ICS 프로토콜의 프로파일링 시스템.
The method of claim 5,
The field object characteristic analysis unit, when searching for a field in which the field value is changed among the fixed fields, finds among the remaining fixed fields except for the previously defined fields Profile of the private ICS protocol for detecting group and period-based anomaly Ring system.
제7항에 있어서,
상기 필드객체 특성 분석부는, 객체 특성의 필드를 검출할 때, 패킷 길이 정보, 포트 정보, 목적지 정보, 근원지 정보, 글로벌 프로토콜 정보 순으로 객체 특성의 필드를 검출하는 것을 특징으로 하는 그룹 및 주기 기반 비정상행위 탐지를 위한 비공개 ICS 프로토콜의 프로파일링 시스템.
The method of claim 7,
The field object characteristic analysis unit detects a field of object characteristics in the order of packet length information, port information, destination information, source information, and global protocol information when detecting a field of object characteristics. Profiling system of private ICS protocol for behavior detection.
제1항에 있어서,
상기 필드그룹 특성 분석부는 패킷 집합을 샘플링하고, 샘플링된 패킷 집합의 패킷들의 가변 필드를 대상으로 윈도우로 이동하면서, 상기 윈도우에 대응되는 필드의 필드값들이 동일한 패킷들을 하나의 그룹으로 그룹핑 하되, 사전에 정해진 임계 개수 이하의 개수의 그룹들로 그룹핑 되면, 해당 필드를 그룹 필드로 정의하는 것을 특징으로 하는 그룹 및 주기 기반 비정상행위 탐지를 위한 비공개 ICS 프로토콜의 프로파일링 시스템.
According to claim 1,
The field group characteristic analysis unit samples a packet set and moves a variable field of packets of the sampled packet set to a window, grouping packets having the same field values in the field corresponding to the window into a group, in advance When grouped into a group having a number of thresholds or less, the profiling system of a closed ICS protocol for group and period-based anomaly detection, characterized in that the field is defined as a group field.
제9항에 있어서,
상기 필드그룹 특성 분석부는 세션별로 패킷 집합을 샘플링하여 각 세션별 패킷 집합에 의해 그룹핑 하고 그룹들의 대표값이 세션별로 상이하면 해당 필드를 세션 그룹 필드로 분류하고, 세션 그룹 필드를 제외한 나머지 가변 필드들에 대하여, 운영 시스템별로 패킷 집합을 샘플링하여 각 운영 시스템별 패킷 집합에 의해 그룹핑 하고, 그룹들의 대표값이 운영 시스템별로 상이하면 해당 필드를 시스템 그룹 필드로 분류하고, 세션 그룹 필드 및 시스템 그룹 필드를 제외한 나머지 확장 가변 필드들에 대하여, 전체 패킷 집합을 샘플링하여 패킷 집합에 의해 그룹핑 하여 글로벌 그룹 필드로 분류하는 것을 특징으로 하는 그룹 및 주기 기반 비정상행위 탐지를 위한 비공개 ICS 프로토콜의 프로파일링 시스템.
The method of claim 9,
The field group characteristic analysis unit samples a packet set for each session and groups it by a packet set for each session. If the representative values of the groups are different for each session, the corresponding field is classified as a session group field, and the remaining variable fields except for the session group field With respect to, a packet set is sampled for each operating system and grouped by a packet set for each operating system. If the representative values of the groups are different for each operating system, the corresponding field is classified into a system group field, and a session group field and a system group field are grouped. The profiling system of a private ICS protocol for detecting group and cycle-based anomaly, characterized in that the entire packet set is sampled for the remaining extended variable fields, grouped by the packet set, and classified into a global group field.
KR1020200050939A 2020-04-27 2020-04-27 An ICS header profiling system for private Industrial Control System protocol KR102139138B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200050939A KR102139138B1 (en) 2020-04-27 2020-04-27 An ICS header profiling system for private Industrial Control System protocol

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200050939A KR102139138B1 (en) 2020-04-27 2020-04-27 An ICS header profiling system for private Industrial Control System protocol

Publications (1)

Publication Number Publication Date
KR102139138B1 true KR102139138B1 (en) 2020-07-30

Family

ID=71839077

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200050939A KR102139138B1 (en) 2020-04-27 2020-04-27 An ICS header profiling system for private Industrial Control System protocol

Country Status (1)

Country Link
KR (1) KR102139138B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114553749A (en) * 2022-02-18 2022-05-27 科来网络技术股份有限公司 Private protocol analysis method, device, computer equipment and readable storage medium
KR20220106335A (en) * 2021-01-22 2022-07-29 아주대학교산학협력단 Method and Apparatus for Anomaly Detection of Communication in Industrial Control System Environment

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013009185A (en) * 2011-06-24 2013-01-10 Nippon Telegr & Teleph Corp <Ntt> Communication monitoring system and method, communication monitoring device, virtual host device, and communication monitoring program
KR101281456B1 (en) * 2011-08-19 2013-07-08 고려대학교 산학협력단 Apparatus and method for anomaly detection in SCADA network using self-similarity
KR20150081889A (en) * 2014-01-07 2015-07-15 한국전자통신연구원 Detecting device for industrial control network intrusion and detecting method of the same
KR101622874B1 (en) * 2015-02-24 2016-05-19 닉스테크 주식회사 Method and system to process network packet by interworking between deep content inspection and deep packet inspection for data loss prevention
KR101860395B1 (en) 2017-06-23 2018-07-02 한국남동발전 주식회사 Apparatus and method for detecting abnormal behavior of industrial control system based on whitelist for nonstandard protocol
KR102001813B1 (en) * 2018-12-10 2019-07-18 한국남동발전 주식회사 Apparatus and method for detecting abnormal behavior of nonstandard protocol payload using deep neural network algorithm
KR102001812B1 (en) * 2018-12-10 2019-10-01 한국남동발전 주식회사 Apparatus and method of making whitelist for communication among devices using k-means algorithm
US20200021560A1 (en) * 2018-07-13 2020-01-16 Raytheon Company Policy engine for cyber anomaly detection
KR102097305B1 (en) * 2018-12-28 2020-05-27 (주)앤앤에스피 Network security monitoring method and system for smart manufacturing on ethernet/ip-cip industrial network environments

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013009185A (en) * 2011-06-24 2013-01-10 Nippon Telegr & Teleph Corp <Ntt> Communication monitoring system and method, communication monitoring device, virtual host device, and communication monitoring program
KR101281456B1 (en) * 2011-08-19 2013-07-08 고려대학교 산학협력단 Apparatus and method for anomaly detection in SCADA network using self-similarity
KR20150081889A (en) * 2014-01-07 2015-07-15 한국전자통신연구원 Detecting device for industrial control network intrusion and detecting method of the same
KR101622874B1 (en) * 2015-02-24 2016-05-19 닉스테크 주식회사 Method and system to process network packet by interworking between deep content inspection and deep packet inspection for data loss prevention
KR101860395B1 (en) 2017-06-23 2018-07-02 한국남동발전 주식회사 Apparatus and method for detecting abnormal behavior of industrial control system based on whitelist for nonstandard protocol
US20200021560A1 (en) * 2018-07-13 2020-01-16 Raytheon Company Policy engine for cyber anomaly detection
KR102001813B1 (en) * 2018-12-10 2019-07-18 한국남동발전 주식회사 Apparatus and method for detecting abnormal behavior of nonstandard protocol payload using deep neural network algorithm
KR102001812B1 (en) * 2018-12-10 2019-10-01 한국남동발전 주식회사 Apparatus and method of making whitelist for communication among devices using k-means algorithm
KR102097305B1 (en) * 2018-12-28 2020-05-27 (주)앤앤에스피 Network security monitoring method and system for smart manufacturing on ethernet/ip-cip industrial network environments

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
H. Yoo, S. Kalle, J. Smith and I. Ahmed, "Overshadow PLC to detect remote control-logic injection attacks", In International Conference on Detection of Intrusions and Malware, and Vulnerability Assess *
M. Caselli et al, "Sequence-aware Intrusion Detection in Industrial Control Systems", In Proceedings of the 1st ACM Workshop on Cyber-Physical System Security, pp. 13-24(2015.04) *
X. Feng et al, "Characterizing Industrial Control System Devices on the Internet", In 2016 IEEE 24th International Conference on Network Protocols (ICNP, pp. 1-10(2016.11.) *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220106335A (en) * 2021-01-22 2022-07-29 아주대학교산학협력단 Method and Apparatus for Anomaly Detection of Communication in Industrial Control System Environment
KR102541309B1 (en) * 2021-01-22 2023-06-07 아주대학교산학협력단 Method and Apparatus for Anomaly Detection of Communication in Industrial Control System Environment
CN114553749A (en) * 2022-02-18 2022-05-27 科来网络技术股份有限公司 Private protocol analysis method, device, computer equipment and readable storage medium

Similar Documents

Publication Publication Date Title
KR102139140B1 (en) A tag data profiling system for private Industrial Control System protocol
US20210120477A1 (en) Apparatus and method for establishing g maintenance routes within a process control system
US10986503B2 (en) Cooperative security in wireless sensor networks
KR102139138B1 (en) An ICS header profiling system for private Industrial Control System protocol
KR101645598B1 (en) Method for Detecting Intrusion in Network
JP2018191283A (en) Intelligent sequencing of multiple wireless nodes for transfer between wireless mesh networks in process control system
CN112596470A (en) Integration of multiple communicating physical layers and protocols in a process control input/output device
KR102097305B1 (en) Network security monitoring method and system for smart manufacturing on ethernet/ip-cip industrial network environments
DE102018108582A1 (en) Predictive connection diagnostics for a wireless mesh network in a process control system
EP3979557A1 (en) Systems and method for detecting anomalies in network communication
US11219112B2 (en) Connected controls infrastructure
CN104976402A (en) System and Method for Controlling a Valve
KR20170133604A (en) Gateway for smart factory and control system comprising the same
RU2669077C2 (en) Channel grey listing
Camacho et al. Networkmetrics: multivariate big data analysis in the context of the internet
US10520969B2 (en) System and method of data reduction for cellular M2M transmissions from energy management systems
JP4935631B2 (en) Node station positional relationship detection system
KR101950374B1 (en) Non-standard protocol reverse engineering analysis apparatus
CN113905107A (en) Method and device for acquiring point list data of industrial equipment and gateway
CN114553749A (en) Private protocol analysis method, device, computer equipment and readable storage medium
KR101969940B1 (en) Industrial Protocol Packet Monitoring and Control Devices
Paul et al. Network topology exploration for industrial networks
JP2009033276A (en) Control network system
CN111193762B (en) Remote equipment control method based on intelligent data gateway
Smołka et al. Application of Software Defined Networks for Collection of Process Data in Industrial Real-Time Systems

Legal Events

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