KR102112587B1 - Packet monitoring device and packet monitoring method for communication packet - Google Patents

Packet monitoring device and packet monitoring method for communication packet Download PDF

Info

Publication number
KR102112587B1
KR102112587B1 KR1020150039004A KR20150039004A KR102112587B1 KR 102112587 B1 KR102112587 B1 KR 102112587B1 KR 1020150039004 A KR1020150039004 A KR 1020150039004A KR 20150039004 A KR20150039004 A KR 20150039004A KR 102112587 B1 KR102112587 B1 KR 102112587B1
Authority
KR
South Korea
Prior art keywords
communication packet
packet
abnormal
received
communication
Prior art date
Application number
KR1020150039004A
Other languages
Korean (ko)
Other versions
KR20160112750A (en
Inventor
김병구
강동호
나중찬
손선경
허영준
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020150039004A priority Critical patent/KR102112587B1/en
Priority to US15/069,831 priority patent/US20160277547A1/en
Publication of KR20160112750A publication Critical patent/KR20160112750A/en
Application granted granted Critical
Publication of KR102112587B1 publication Critical patent/KR102112587B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • 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/028Capturing of monitoring data by filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/18Protocol analysers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명의 실시 예에 따른 패킷 감시 방법은 서버 및 제어 장치 사이에서 송수신되는 통신 패킷을 수신하는 단계, 수신된 통신 패킷보다 이전에 수신된 통신 패킷들의 제어 정보를 포함하는 이력 테이블 및 수신된 통신 패킷의 제어 정보를 기반으로 수신된 통신 패킷의 비정상 여부를 판별하는 단계, 및 판별 결과에 따라 보안 동작을 수행하는 단계를 포함한다.A packet monitoring method according to an embodiment of the present invention includes receiving a communication packet transmitted and received between a server and a control device, a history table including control information of communication packets received before a received communication packet, and a received communication packet And determining whether the received communication packet is abnormal based on the control information of and performing a security operation according to the determination result.

Description

패킷 감시 장치 및 통신 패킷에 대한 패킷 감시 방법{PACKET MONITORING DEVICE AND PACKET MONITORING METHOD FOR COMMUNICATION PACKET}Packet monitoring device and packet monitoring method for communication packets {PACKET MONITORING DEVICE AND PACKET MONITORING METHOD FOR COMMUNICATION PACKET}

본 발명은 제어 시스템에 관한 것으로, 더욱 상세하게는 패킷 감시 장치 및 통신 패킷에 대한 패킷 감시 방법에 관한 것이다.The present invention relates to a control system, and more particularly, to a packet monitoring apparatus and a packet monitoring method for communication packets.

제어 시스템은 원격지의 시스템을 효율적으로 감시하고 관리하기 위한 시스템으로서 전력, 가스, 상하수도, 교통 등과 같은 국가 주요 기반 시설의 운용에 사용된다. 제어 시스템은 폐쇄적인 통신망 또는 전용 OS의 사용에서 개방형 통신망 및 범용 OS의 사용으로 사용 환경이 변화하고 있다. 이러한 변화는 제어 시스템의 편의성을 증대시키는 반면에, 보안상 취약점을 노출하는 양면적 특성을 갖는다. 특히, 비공개 제어시스템 프로토콜 표준이 점차 국제 표준으로 공개됨에 따라 점차적으로 제어시스템에 대한 사이버침해의 가능성과 위험성이 높아지고 있다. The control system is a system for efficiently monitoring and managing remote systems, and is used in the operation of major national infrastructure such as power, gas, water and sewage, and transportation. The use environment of the control system is changing from the use of a closed communication network or a dedicated OS to the use of an open communication network and a general purpose OS. While this change increases the convenience of the control system, it has a two-sided nature that exposes security vulnerabilities. In particular, as private control system protocol standards are gradually released as international standards, the possibility and risk of cyber infringement on control systems are gradually increasing.

상술된 제어 시스템 프로토콜 중 DNP 3.0 프로토콜은 제어 시스템에서 광범위하게 사용되고 있으며, 전기, 석유, 가스 등의 분야에서 사용되는 산업 표준으로 자리잡은 프로토콜이다. 그러나, 보안적인 측면이 고려되지 않은 DNP3 프로토콜은 일반 네트워크의 spoofing, modification 등과 같은 다양한 공격 위험을 가지고 있다. 즉, DNP(Distributed Network Protocol) 3.0 프로토콜은 제어시스템의 일반적인 프로토콜 표준으로 자리 잡아가고 있는 중이나, 보안적인 측면이 취약한 점을 이용하여 간단한 공격이 가능하다는 문제점이 존재한다. 즉, DNP 3.0 프로토콜은 간단한 패킷 조작만으로 공격이 가능하기 때문에, 새로운 형태의 공격이 발생할 수 있는 가능성이 존재한다. Among the above-described control system protocols, the DNP 3.0 protocol is widely used in control systems and is a protocol established as an industry standard used in fields such as electricity, oil, and gas. However, the DNP3 protocol that does not consider security aspects has various attack risks such as spoofing and modification of a general network. In other words, the DNP (Distributed Network Protocol) 3.0 protocol is being established as a general protocol standard for the control system, but there is a problem in that a simple attack is possible using a weak security aspect. That is, since the DNP 3.0 protocol can be attacked with simple packet manipulation, there is a possibility that a new type of attack may occur.

Digital Bond 社에서는 이러한 일반 네트워크의 취약점을 DNP3 프로토콜에 적용한 16가지의 취약점을 공개하였으며, 공개된 침입탐지규칙은 Snort의 침입탐지규칙 형식으로 Cisco, 3com/Tipping Point, Symantec등 주요 11개 보안 업체에 제공 및 사용되고 있다. 그러나, 전력망에 대한 공격패턴은 알려지지 않은 기법들이 훨씬 많으므로, 기존에 시그너쳐 기반에 의존적인 트래픽 감시 체계를 개선하여 행위기반 또는 비정상 행위 학습을 통한 감시 체계의 구축이 요구되고 있다. 결론적으로, 의도적 또는 비의도적인 행위로 인하여 주요기반시설의 안전한 시스템 운영을 방해하는 활동으로부터 제어시스템 간의 안정적인 서비스 제공을 보호하기 위하여, 제어시스템 프로토콜에 적합한 보안 기법이 요구된다.Digital Bond has released 16 vulnerabilities that apply these general network vulnerabilities to the DNP3 protocol, and the disclosed intrusion detection rules are in the form of Snort's intrusion detection rules to 11 major security companies such as Cisco, 3com / Tipping Point, and Symantec. Provided and used. However, since there are many unknown techniques for the attack pattern on the power grid, it is required to construct a monitoring system through behavior-based or abnormal behavior learning by improving the existing traffic-based traffic monitoring system. In conclusion, in order to protect the stable provision of services between control systems from activities that interfere with the safe operation of the main infrastructure due to intentional or unintentional actions, security techniques appropriate to the control system protocol are required.

본 발명의 목적은 분산 네트워크 프로토콜 상에서 효율적으로 비정상 통신 패킷을 감지하는 패킷 감시 장치 및 통신 패킷에 대한 패킷 감시 방법을 제공하는 데 있다. An object of the present invention is to provide a packet monitoring apparatus for efficiently detecting abnormal communication packets on a distributed network protocol and a packet monitoring method for communication packets.

본 발명의 실시 예에 따른 서버 및 제어 장치 사이에서 송수신되는 통신 패킷에 대한 패킷 감시 방법은 상기 서버 및 상기 제어 장치 사이에서 송수신되는 통신 패킷을 수신하는 단계; 상기 수신된 통신 패킷보다 이전에 수신된 통신 패킷들의 제어 정보를 포함하는 이력 테이블 및 상기 수신된 통신 패킷의 제어 정보를 기반으로 상기 수신된 통신 패킷의 비정상 여부를 판별하는 단계; 및 상기 판별 결과에 따라 보안 동작을 수행하는 단계를 포함하고, 상기 제어 정보는 상기 통신 패킷의 응용 프로토콜 제어 정보의 기능 코드 필드, 상기 응용 프로토콜 제어 정보의 순서 비트, 링크 헤더의 소스 필드, 상기 링크 헤더의 목표 필드, 전송 헤더의 시작 비트, 및 상기 전송 헤더의 종료 비트를 포함한다.A packet monitoring method for a communication packet transmitted and received between a server and a control device according to an embodiment of the present invention includes receiving a communication packet transmitted and received between the server and the control device; Determining whether the received communication packet is abnormal based on a history table including control information of communication packets received before the received communication packet and control information of the received communication packet; And performing a security operation according to the determination result, wherein the control information includes a function code field of application protocol control information of the communication packet, a sequence bit of the application protocol control information, a source field of a link header, and the link. It includes a target field of a header, a start bit of a transport header, and an end bit of the transport header.

실시 예로서, 상기 서버 및 상기 제어 장치는 분산 네트워크 프로토콜 3.0(DNP 3.0; Distributed Network Protocol 3.0)을 기반으로 상기 통신 패킷을 주고 받는다.As an embodiment, the server and the control device exchange and transmit the communication packet based on Distributed Network Protocol 3.0 (DNP 3.0).

실시 예로서, 상기 수신된 통신 패킷의 비정상 여부를 판별하는 단계는 상기 수신된 통신 패킷이 비정상 통신 패킷인 경우, 상기 수신된 통신 패킷을 제1 내지 제5 유형의 비정상 통신 패킷 중 어느 하나로 분류하는 단계를 포함한다.As an embodiment, determining whether the received communication packet is abnormal may include classifying the received communication packet into any one of the first to fifth types of abnormal communication packets when the received communication packet is an abnormal communication packet. Steps.

실시 예로서, 상기 제1 유형의 비정상 통신 패킷은 상기 서버 및 상기 제어 장치 사이에서 발생할 수 없는 비정상 통신 패킷을 가리키고, 상기 제2 유형의 비정상 통신 패킷은 상기 서버 및 상기 제어 장치 사이에서 정상적인 통신에 위배되는 비정상 통신 패킷을 가리키고, 상기 제3 유형의 비정상 통신 패킷은 상기 서버 및 상기 제어 장치 사이에서 송수신이 완료된 통신 패킷에 대하여 재전송되는 비정상 통신 패킷을 가리키고, 상기 제4 유형의 비정상 통신 패킷은 상기 서버 및 상기 제어 장치 사이에서 정상적인 순서 비트에 위배되는 비정상 통신 패킷을 가리키고, 상기 제5 유형의 비정상 통신 패킷은 상기 서버 및 상기 제어 장치 사이에서 비정상적인 메시지 끼워넣기를 발생시키는 비정상 통신 패킷을 가리킨다.As an embodiment, the first type of abnormal communication packet indicates an abnormal communication packet that cannot occur between the server and the control device, and the second type of abnormal communication packet is used for normal communication between the server and the control device. Refers to a violated abnormal communication packet, the third type of abnormal communication packet refers to an abnormal communication packet that is retransmitted to a communication packet that has been transmitted and received between the server and the control device, and the fourth type of abnormal communication packet is the An abnormal communication packet that violates a normal order bit between a server and the control device, and the fifth type of abnormal communication packet indicates an abnormal communication packet that causes abnormal message interpolation between the server and the control device.

실시 예로서, 상기 수신된 통신 패킷을 제1 내지 제5 유형의 비정상 통신 패킷 중 어느 하나로 분류하는 단계는 상기 수신된 통신 패킷의 상기 링크 헤더의 소스 필드 및 상기 응용 프로토콜 제어 정보의 기능 코드 필드를 기반으로 상기 수신된 통신 패킷을 상기 제1 유형의 비정상 통신 패킷으로 분류하는 단계를 포함한다.As an embodiment, the step of classifying the received communication packet into any one of the first to fifth types of abnormal communication packets may include a source field of the link header of the received communication packet and a function code field of the application protocol control information. And classifying the received communication packet into the abnormal communication packet of the first type based on the received communication packet.

실시 예로서, 상기 수신된 통신 패킷을 상기 제1 유형의 비정상 통신 패킷으로 분류하는 단계는 상기 수신된 통신 패킷의 상기 링크 헤더의 상기 소스 필드가 상기 서버를 가리키고, 상기 기능 코드 필드가 응답 또는 임의 응답과 대응되는 값을 갖거나 또는 상기 수신된 통신 패킷의 상기 링크 헤더의 상기 소스 필드가 상기 제어 장치를 가리키고, 상기 기능 코드 필드가 요청과 대응되는 값을 갖는 경우, 상기 수신된 통신 패킷을 상기 제1 유형의 비정상 통신 패킷으로 분류하는 단계를 포함한다.As an embodiment, the step of classifying the received communication packet into the first type of abnormal communication packet may include the source field of the link header of the received communication packet pointing to the server, and the function code field responding or random If the value corresponding to the response or the source field of the link header of the received communication packet points to the control device, and the function code field has a value corresponding to the request, the received communication packet is And classifying it as a first type of abnormal communication packet.

실시 예로서, 상기 수신된 통신 패킷을 제1 내지 제5 유형의 비정상 통신 패킷 중 어느 하나로 분류하는 단계는 상기 이력 테이블에 포함된 상기 이전에 수신된 통신 패킷들의 순서 비트들 및 수신된 시간을 기반으로 상기 수신된 통신 패킷을 상기 제2 유형의 비정상 통신 패킷으로 분류하는 단계를 포함한다.As an embodiment, the step of classifying the received communication packet into any one of the first to fifth types of abnormal communication packets is based on sequence bits and received time of the previously received communication packets included in the history table. And classifying the received communication packet into the abnormal communication packet of the second type.

실시 예로서, 상기 수신된 통신 패킷을 상기 제2 유형의 비정상 통신 패킷으로 분류하는 단계는 상기 이력 테이블에 포함된 상기 이전에 수신된 통신 패킷들 중 상기 수신된 통신 패킷과 동일한 순서 비트를 갖는 통신 패킷이 소정의 시간 이전에 수신된 경우, 상기 수신된 통신 패킷을 상기 제2 유형의 비정상 통신 패킷으로 분류하는 단계를 포함한다.As an embodiment, classifying the received communication packet into the second type of abnormal communication packet may include communication having the same order bit as the received communication packet among the previously received communication packets included in the history table. And when the packet is received before a predetermined time, classifying the received communication packet as the abnormal communication packet of the second type.

실시 예로서, 상기 수신된 통신 패킷을 제1 내지 제5 유형의 비정상 통신 패킷 중 어느 하나로 분류하는 단계는 상기 이전에 수신된 통신 패킷들 중 상기 수신된 통신 패킷과 대응되는 통신 패킷들의 송수신 완료 여부에 따라 상기 수신된 통신 패킷을 상기 제3 유형의 비정상 통신 패킷으로 분류하는 단계를 포함한다.As an embodiment, the step of classifying the received communication packet into any one of the first to fifth types of abnormal communication packets may include whether or not transmission / reception of communication packets corresponding to the received communication packet among the previously received communication packets is completed. And classifying the received communication packet into the abnormal communication packet of the third type.

실시 예로서, 상기 수신된 통신 패킷을 제1 내지 제5 유형의 비정상 통신 패킷들 중 어느 하나로 분류하는 단계는 상기 이력 테이블을 기반으로 상기 이전에 수신된 통신 패킷들 중 상기 수신된 통신 패킷과 동일한 순서 비트를 갖는 통신 패킷의 송수신이 완료된 경우, 상기 수신된 통신 패킷을 상기 제3 유형의 비정상 통신 패킷으로 분류하는 단계를 포함한다.As an embodiment, the step of classifying the received communication packet into any of the first to fifth types of abnormal communication packets is the same as the received communication packet among the previously received communication packets based on the history table. And when the transmission / reception of the communication packet having the sequence bit is completed, classifying the received communication packet as the abnormal communication packet of the third type.

실시 예로서, 상기 수신된 통신 패킷을 제1 내지 제5 유형의 비정상 통신 패킷들 중 어느 하나로 분류하는 단계는 상기 이력 테이블에 포함된 상기 이전에 수신된 통신 패킷들의 순서 비트들을 기반으로 상기 수신된 통신 패킷을 상기 제4 유형의 비정상 통신 패킷으로 분류하는 단계를 포함한다.As an embodiment, the step of classifying the received communication packet into any one of the first to fifth types of abnormal communication packets may include receiving the received communication packets based on order bits of the previously received communication packets included in the history table. And classifying the communication packet into the abnormal communication packet of the fourth type.

실시 예로서, 상기 수신된 통신 패킷을 상기 제4 유형의 비정상 통신 패킷으로 분류하는 단계는 상기 수신된 통신 패킷의 순서 비트가 상기 이력 테이블에 포함된 상기 이전에 수신된 통신 패킷들의 순서 비트들을 기반으로 상기 분산 네트워크 프로토콜 3.0에 따른 순서 비트와 다른 경우, 상기 수신된 통신 패킷의 순서 비트를 상기 제4 유형의 비정상 통신 패킷으로 분류하는 단계를 포함한다.As an embodiment, classifying the received communication packet into the abnormal communication packet of the fourth type is based on the order bits of the previously received communication packets in which the order bit of the received communication packet is included in the history table. In the case of different from the order bits according to the distributed network protocol 3.0, it includes classifying the order bits of the received communication packet into the fourth type of abnormal communication packets.

실시 예로서, 상기 수신된 통신 패킷을 제1 내지 제5 유형의 비정상 통신 패킷들 중 어느 하나로 분류하는 단계는 상기 이력 테이블에 포함된 상기 이전에 수신된 통신 패킷들의 링크 헤더의 시작 비트들 및 종료 비트들을 기반으로 상기 수신된 통신 패킷을 상기 제5 유형의 비정상 통신 패킷으로 분류하는 단계를 포함한다.As an embodiment, the step of classifying the received communication packet into any one of the first to fifth types of abnormal communication packets may include starting bits and ending bits of the link header of the previously received communication packets included in the history table. And classifying the received communication packet into the fifth type of abnormal communication packet based on bits.

실시 예로서, 상기 수신된 통신 패킷을 상기 제5 유형의 비정상 통신 패킷으로 분류하는 단계는 상기 제어 장치로부터 상기 서버로 전송되는 상기 종료 비트가 '1'인 통신 패킷이 수신되기 이전에 상기 시작 비트가 '1'인 통신 패킷이 수신되는 경우, 상기 수신된 통신 패킷을 상기 제5 유형의 비정상 통신 패킷으로 분류하는 단계를 포함한다.As an embodiment, the step of classifying the received communication packet into the abnormal communication packet of the fifth type may include the start bit before the communication packet with the end bit '1' transmitted from the control device to the server is received. When the communication packet with a '1' is received, classifying the received communication packet into the abnormal communication packet of the fifth type.

본 발명의 다른 실시 예에 따른 패킷 감시 장치는 서버 및 제어 장치 사이에서 송수신되는 통신 패킷을 수신하고, 상기 수신된 통신 패킷을 해제하여 제어 정보 및 메시지를 생성하는 분산 네트워크 프로토콜 물리 계층; 상기 수신된 통신 패킷의 상기 제어 정보를 관리하는 통신 패킷 분석 모듈; 상기 수신된 통신 패킷의 제어 정보 및 상기 수신된 통신 패킷보다 이전에 수신된 통신 패킷의 제어 정보를 저장하는 상기 이력 테이블; 및 상기 이력 테이블에 저장된 상기 이전에 수신된 통신 패킷의 제어 정보 및 상기 수신된 통신 패킷의 제어 정보를 기반으로 상기 수신된 통신 패킷이 비정상 통신 패킷인지 판별하는 비정상 패킷 검출 및 분류 모듈; 및 상기 비정상 패킷 검출 및 분류 모듈의 판별 결과에 따라 보안 동작을 수행하는 제어 모듈을 포함하고, 상기 제어 정보는 상기 통신 패킷의 응용 프로토콜 제어 정보의 기능 코드 필드, 상기 응용 프로토콜 제어 정보의 순서 비트, 링크 헤더의 소스 필드, 상기 링크 헤더의 목표 필드, 전송 헤더의 시작 비트, 및 상기 전송 헤더의 종료 비트를 포함한다.A packet monitoring apparatus according to another embodiment of the present invention includes a distributed network protocol physical layer that receives a communication packet transmitted and received between a server and a control device, and releases the received communication packet to generate control information and a message; A communication packet analysis module that manages the control information of the received communication packet; The history table for storing control information of the received communication packet and control information of a communication packet received earlier than the received communication packet; And an abnormal packet detection and classification module for determining whether the received communication packet is an abnormal communication packet based on control information of the previously received communication packet and control information of the received communication packet stored in the history table. And a control module performing a security operation according to a result of the determination of the abnormal packet detection and classification module, wherein the control information includes a function code field of application protocol control information of the communication packet, an order bit of the application protocol control information, It includes the source field of the link header, the target field of the link header, the start bit of the transport header, and the end bit of the transport header.

실시 예로서, 상기 서버 및 상기 제어 장치는 분산 네트워크 프로토콜 3.0(DNP 3.0; Distributed Network Protocol 3.0)을 기반으로 상기 통신 패킷을 송수신한다.As an embodiment, the server and the control device transmit and receive the communication packet based on Distributed Network Protocol 3.0 (DNP 3.0; Distributed Network Protocol 3.0).

실시 예로서, 상기 분산 네트워크 프로토콜 물리 계층은 상기 수신된 통신 패킷으로부터 상기 링크 헤더를 추출하는 DNP 3.0 데이터 링크 계층; 상기 수신된 통신 패킷으로부터 상기 전송 헤더를 추출하는 DNP 3.0 전송 계층; 및 상기 수신된 통신 패킷으로부터 상기 응용 프로토콜 제어 정보를 추출하는 DNP 3.0 응용 계층을 포함한다.As an embodiment, the distributed network protocol physical layer may include a DNP 3.0 data link layer that extracts the link header from the received communication packet; A DNP 3.0 transport layer that extracts the transport header from the received communication packet; And a DNP 3.0 application layer that extracts the application protocol control information from the received communication packet.

실시 예로서, 상기 서버 및 상기 제어 장치는 TCP/IP 프로토콜에 기반된 통신 라인을 통해 서로 통신하고, 상기 분산 네트워크 프로토콜 물리 계층은 상기 수신된 통신 패킷으로부터 이더넷 헤더, IP 헤더, 및 TCP 헤더를 추출하는 통신 프로토콜 계층을 더 포함한다.As an embodiment, the server and the control device communicate with each other through a communication line based on the TCP / IP protocol, and the distributed network protocol physical layer extracts an Ethernet header, an IP header, and a TCP header from the received communication packet. The communication protocol layer is further included.

실시 예로서, 상기 비정상 패킷 검출 및 분류 모듈은 상기 이력 테이블에 저장된 상기 이전에 수신된 통신 패킷의 제어 정보 및 상기 수신된 통신 패킷의 제어 정보를 기반으로 상기 수신된 통신 패킷을 제1 내지 제5 유형들의 비정상 통신 패킷들 중 어느 하나로 분류한다.As an embodiment, the abnormal packet detection and classification module may first to fifth receive the received communication packet based on control information of the previously received communication packet and control information of the received communication packet stored in the history table. It is classified as one of the types of abnormal communication packets.

실시 예로서, 상기 제1 유형의 비정상 통신 패킷은 상기 서버 및 상기 제어 장치 사이에서 발생할 수 없는 통신 패킷을 가리키고, 상기 제2 유형의 비정상 통신 패킷은 상기 서버 및 상기 제어 장치 사이에서 정상적인 통신에 위배되는 통신 패킷을 가리키고, 상기 제3 형의 비정상 통신 패킷은 상기 서버 및 상기 제어 장치 사이에서 송수신이 완료된 통신 패킷에 대한 재전송 통신 패킷을 가리키고, 상기 제4 유형의 비정상 통신 패킷은 상기 서버 및 상기 제어 장치 사이에서 정상적인 순서 비트에 위배되는 통신 패킷을 가리키고, 상기 제5 유형의 비정상 통신 패킷은 상기 서버 및 상기 제어 장치 사이에서 비정상적인 메시지 끼워넣기를 발생시키는 통신 패킷을 가리키는 패킷 감시 장치.As an embodiment, the abnormal communication packet of the first type indicates a communication packet that cannot occur between the server and the control device, and the abnormal communication packet of the second type is in violation of normal communication between the server and the control device. Refers to a communication packet, and the abnormal communication packet of the third type indicates a retransmission communication packet for a communication packet that has been transmitted and received between the server and the control device, and the abnormal communication packet of the fourth type is the server and the control A packet monitoring device indicating communication packets that violate a normal sequence bit between devices, and the fifth type of abnormal communication packets indicating communication packets that cause abnormal message interpolation between the server and the control device.

본 발명에 따르면, 패킷 감시 장치는 분산 네트워크 프로토콜 3.0에 기반된 통신 패킷의 제어 정보를 분석함으로써 효과적으로 비정상 통신 패킷을 감지하고 이에 대한 유형을 분류할 수 있다. 또한, 패킷 감시 장치는 분류된 유형을 기반으로, 제어 시스템 내의 보안 위협에 대한 신속한 발견 및 대응으로 서비스의 신뢰성과 가용성 확보를 제공한다.According to the present invention, the packet monitoring apparatus can effectively detect abnormal communication packets and classify the types thereof by analyzing control information of communication packets based on the distributed network protocol 3.0. In addition, the packet monitoring device provides secure reliability and availability of services through rapid discovery and response to security threats in the control system based on the classified type.

따라서, 향상된 신뢰성을 갖는 패킷 감시 장치 및 통신 패킷에 대한 패킷 감시 방법이 제공된다.Accordingly, a packet monitoring apparatus having improved reliability and a packet monitoring method for communication packets are provided.

도 1은 본 발명의 실시 예에 따른 제어 시스템을 보여주는 블록도이다.
도 2는 도 1의 서버, 제어 장치, 및 패킷 감시 장치를 상세하게 보여주는 블록도이다.
도 3은 도 2의 DPN 3.0 프로토콜의 물리 계층을 상세하게 보여주는 블록도이다.
도 4는 도 3의 각 계층들에서의 데이터 구조를 설명하기 위한 도면이다.
도 5는 도 4의 데이터 조각을 상세하게 보여주는 도면이다.
도 6은 도 4의 데이터 세그먼트를 상세하게 보여주는 도면이다.
도 7은 도 4의 데이터 프레임을 상세하게 보여주는 도면이다.
도 8 및 도 9는 도 2의 서버 및 제어 장치 사이의 통신을 보여주는 도면들이다.
도 10은 도 2의 패킷 감시 장치를 상세하게 보여주는 블록도이다.
도 11은 도 10의 패킷 감시 장치의 동작을 보여주는 순서도이다.
도 12는 도 10의 패킷 감시 장치의 다른 동작을 보여주는 순서도이다.
도 13 내지 도 17은 각각 비정상 패킷의 제1 내지 제5 유형들을 설명하기 위한 도면들이다.
1 is a block diagram showing a control system according to an embodiment of the present invention.
FIG. 2 is a block diagram showing in detail the server, control device, and packet monitoring device of FIG. 1.
3 is a block diagram showing in detail the physical layer of the DPN 3.0 protocol of FIG. 2.
FIG. 4 is a diagram for describing a data structure in each layer of FIG. 3.
5 is a diagram showing in detail the data fragment of FIG. 4.
FIG. 6 is a diagram showing in detail the data segment of FIG. 4.
7 is a diagram showing in detail the data frame of FIG. 4.
8 and 9 are diagrams showing communication between the server and the control device of FIG. 2.
FIG. 10 is a block diagram showing the packet monitoring device of FIG. 2 in detail.
11 is a flow chart showing the operation of the packet monitoring apparatus of FIG. 10.
12 is a flowchart illustrating another operation of the packet monitoring apparatus of FIG. 10.
13 to 17 are diagrams for describing first to fifth types of abnormal packets, respectively.

이하에서, 본 발명이 속하는 기술 분야에서 통상의 기술을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세하게 설명하기 위하여 본 발명의 실시 예들을 첨부된 도면들을 참조하여 설명하기로 한다.Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings in order to describe in detail that a person skilled in the art to which the present invention pertains can easily implement the technical spirit of the present invention. .

도 1은 본 발명의 실시 예에 따른 제어 시스템을 보여주는 블록도이다. 도 1을 참조하면, 제어 시스템(100)은 서버들(110, 110a, 110b), 제어 장치들(120, 120a, 120b), 센서들(Sensor), 및 패킷 감시 장치(130)를 포함한다. 예시적으로, 제어 시스템(100)은 전력, 가스, 상하수도, 교통 등과 같이 안전 또는 보안이 요구되는 시스템에서 사용되는 폐쇄형 제어 시스템일 수 있다.1 is a block diagram showing a control system according to an embodiment of the present invention. Referring to FIG. 1, the control system 100 includes servers 110, 110a, 110b, control devices 120, 120a, 120b, sensors, and a packet monitoring device 130. For example, the control system 100 may be a closed control system used in a system requiring safety or security, such as power, gas, water and sewage, and transportation.

서버들(110, 110a, 110b)은 제어 시스템(100)의 서버 역할을 수행할 수 있다. 예를 들어, 서버들(110, 110a, 110b)은 제어 장치들(120, 120a, 120b)을 제어할 수 있다. 예시적으로, 서버들(110, 110a, 110b)은 제어 장치들(120, 120a, 120b)과 각각 통신 라인(CL) 또는 게이트웨이(GW)를 통해 통신할 수 있다. 예를 들어, 서버(110) 및 제어 장치(120)는 통신 회선(CL)을 통해 통신할 수 있다. 서버(110a) 및 제어 장치(120b)는 통신 회선(CL) 및 게이트웨이(CW)를 통해 통신할 수 있다. 예시적으로, 서버들(110, 110a, 110b)은 HMI(Human Machine Interface), SCADA 서버 등과 같은 제어 서버 장치를 포함할 수 있다.The servers 110, 110a and 110b may serve as a server of the control system 100. For example, the servers 110, 110a, 110b can control the control devices 120, 120a, 120b. For example, the servers 110, 110a, and 110b may communicate with the control devices 120, 120a, and 120b through a communication line CL or gateway GW, respectively. For example, the server 110 and the control device 120 may communicate through a communication line CL. The server 110a and the control device 120b may communicate through a communication line CL and a gateway CW. For example, the servers 110, 110a, and 110b may include a control server device such as a Human Machine Interface (HMI), a SCADA server, and the like.

제어 장치들(120, 120a, 120b)은 통신 라인(CL) 또는 게이트웨이(GW)를 통해 서버 장치들(110, 110a, 110b)과 통신할 수 있다. 제어 장치들(120, 120a, 120b)은 서버들(110, 110a, 110b)의 제어에 따라 복수의 센서들(sensors)을 제어하거나 또는 복수의 센서들(sensor)로부터 감지된 정보를 서버들(110, 110a, 110b)로 제공할 수 있다. 예시적으로, 제어 장치들(120, 120a, 120b)은 PLC, IED, RTU 등과 같은 현장 제어 장치들 또는 아웃스테이션 장치들을 포함할 수 있다.The control devices 120, 120a, and 120b may communicate with the server devices 110, 110a, and 110b through a communication line CL or a gateway GW. The control devices 120, 120a, and 120b control a plurality of sensors under the control of the servers 110, 110a, and 110b, or receive information detected from the plurality of sensors. 110, 110a, 110b). Illustratively, the control devices 120, 120a, 120b may include field control devices such as PLC, IED, RTU, or outstation devices.

예시적으로, 통신 회선(CL)은 미리 정해진 통신 규약에 따른 통신 회선일 수 있다. 즉, 통신 회선(CL)을 통해 서버 및 제어 장치가 통신하는 경우, 서버 및 제어 장치는 각각 미리 정해진 통신 규약에 따라 정의된 통신 패킷을 주고 받을 수 있다. 예시적으로, 통신 회선(CL)은 TCP/IP 프로토콜 상의 통신 회선일 수 있다. 이 경우, 서버(110) 및 제어 장치(120)는 TCP/IP 프로토콜에 의해 정의된 통신 패킷을 주고받을 수 있다. For example, the communication line CL may be a communication line according to a predetermined communication protocol. That is, when the server and the control device communicate through the communication line CL, the server and the control device can each send and receive communication packets defined according to a predetermined communication protocol. For example, the communication line CL may be a communication line on the TCP / IP protocol. In this case, the server 110 and the control device 120 can send and receive communication packets defined by the TCP / IP protocol.

패킷 감시 장치(130)는 서버들(110, 110a, 110b) 및 제어 장치들(120, 120a, 120b) 사이에서 통신 라인(CL)을 통해 송수신되는 통신 패킷을 모니터링할 수 있다. 예를 들어 패킷 감시 장치(130)는 통신 라인(CL) 상에 제공되는 미러링 포트(MP)를 통해 분기되는 통신 패킷을 수신하고, 수신된 통신 패킷의 코드 정보를 관리할 수 있다. 패킷 감시 장치(130)는 관리되는 코드 정보 및 수신된 통신 패킷을 기반으로 수신된 통신 패킷이 비정상 통신 패킷(또는 비정상 트래픽)인지 판별하고, 수신된 통신 패킷이 비정상 통신 패킷인 경우, 수신된 통신 패킷의 비정상 유형을 분류할 수 있다.The packet monitoring device 130 may monitor communication packets transmitted and received through the communication line CL between the servers 110, 110a, and 110b and the control devices 120, 120a, and 120b. For example, the packet monitoring device 130 may receive a communication packet branched through the mirroring port MP provided on the communication line CL, and manage code information of the received communication packet. The packet monitoring device 130 determines whether the received communication packet is an abnormal communication packet (or abnormal traffic) based on the managed code information and the received communication packet, and if the received communication packet is an abnormal communication packet, the received communication Anomaly types of packets can be classified.

도 2는 도 1의 서버, 제어 장치, 및 패킷 감시 장치를 상세하게 보여주는 블록도이다. 이하에서, 간결한 설명을 위하여, 본 발명의 실시 예들은 서버(110) 및 제어 장치(120) 사이에서 송수신되는 통신 패킷을 감시하는 패킷 감시 장치(130)를 기준으로 설명된다. 이 때, 서버(110)는 마스터 장치이고, 제어 장치(120)는 슬레이브 장치인 것으로 가정한다. 또한, 서버 (110) 및 제어 장치(120)는 DNP(Distributed Network Protocol) 3.0 프로토콜에 따라 정보를 주고 받되, TCP/IP 프로토콜에 따른 통신 라인(CL)을 통해 통신 패킷을 주고 받는 것으로 가정한다. 즉, 서버(110) 및 제어 장치(120)는 TCP/IP 프로토콜에 의해 정의된 통신 패킷을 주고 받고, 통신 패킷은 DNP 3.0 프로토콜에 의해 정의된 데이터 유닛들을 포함한다.FIG. 2 is a block diagram showing in detail the server, control device, and packet monitoring device of FIG. 1. Hereinafter, for the sake of brevity, embodiments of the present invention will be described based on the packet monitoring device 130 that monitors communication packets transmitted and received between the server 110 and the control device 120. At this time, it is assumed that the server 110 is a master device and the control device 120 is a slave device. In addition, it is assumed that the server 110 and the control device 120 exchange information according to the Distributed Network Protocol (DNP) 3.0 protocol, and send and receive communication packets through a communication line CL according to the TCP / IP protocol. That is, the server 110 and the control device 120 send and receive communication packets defined by the TCP / IP protocol, and the communication packets include data units defined by the DNP 3.0 protocol.

그러나, 본 발명의 기술적 사상이 이에 상술된 가정들에 한정되는 것은 아니며, 서버들(110, 110a, 110b) 및 제어 장치들(120, 120a, 120b)은 각각 통신 패킷을 주고 받을 수 있으며, 패킷 감시 장치(130)는 서버들(110, 110a, 110b) 및 제어 장치들(120, 120a, 120b) 사이에서 송수신되는 통신 패킷을 감시할 수 있다. 또한, 서버들(110, 110a, 110b) 및 제어 장치들(120, 120a, 120b)은 게이트웨이(GW)를 통해 시리얼 통신 라인(도 1의 점선)을 통해 시리얼 통신을 수행할 수 있다. 이 경우, 서버들(110, 110a, 110b) 및 제어 장치들(120, 120a, 120b)은 DNP 3.0 프로토콜에 의해 정의된 데이터 유닛을 시리얼 통신 라인(도 1의 점선)을 통해 주고 받을 수 있다.However, the technical idea of the present invention is not limited to the above-described assumptions, and the servers 110, 110a, 110b and the control devices 120, 120a, 120b can exchange and send communication packets, respectively. The monitoring device 130 may monitor communication packets transmitted and received between the servers 110, 110a, and 110b and the control devices 120, 120a, and 120b. Further, the servers 110, 110a, 110b and the control devices 120, 120a, and 120b may perform serial communication through a serial communication line (dotted line in FIG. 1) through the gateway GW. In this case, the servers 110, 110a, 110b and the control devices 120, 120a, 120b can exchange data units defined by the DNP 3.0 protocol through a serial communication line (dotted line in FIG. 1).

도 1 및 도 2를 참조하면, 제어 시스템(100)은 서버(110), 제어 장치(120), 및 패킷 감시 장치(130)를 포함한다.1 and 2, the control system 100 includes a server 110, a control device 120, and a packet monitoring device 130.

서버(110) 및 제어 장치(120) 각각은 통신 라인(CL)을 통해 통신 패킷을 송수신할 수 있다. 서버(110), 제어 장치(120), 및 패킷 감시 장치(130) 각각은 DNP 3.0 프로토콜에 따른 물리 계층(111, 121, 131)을 포함한다. DNP 3.0 프로토콜에 따른 물리 계층(111, 121, 131)은 전송될 메시지를 DNP 3.0 프로토콜에 의해 정의된 포맷의 통신 패킷으로 변환하거나 또는 수신된 통신 패킷을 메시지로 역변환하는 동작을 수행한다.Each of the server 110 and the control device 120 may transmit and receive communication packets through a communication line CL. Each of the server 110, the control device 120, and the packet monitoring device 130 includes physical layers 111, 121, and 131 according to the DNP 3.0 protocol. The physical layer 111, 121, and 131 according to the DNP 3.0 protocol performs an operation of converting a message to be transmitted into a communication packet in a format defined by the DNP 3.0 protocol or inversely converting a received communication packet into a message.

예시적으로, 통신 라인(CL)이 TCP/IP 프로토콜에 따른 통신 라인인 경우, 물리 계층(111, 121, 131) 각각은 TCP/IP 프로토콜에 따른 물리 계층을 더 포함할 수 있다. 즉, 물리 계층(111, 121, 131)은 전송될 메시지를 DNP 3.0 프로토콜에 의해 정의된 포맷으로 변환하고, 이를 TCP/IP 프로토콜에 의해 정의된 포맷의 통신 패킷으로 변환할 수 있다. 예시적으로, 통신 라인(CL)이 시리얼 통신 라인인 경우, TCP/IP 프로토콜에 따른 물리 계층은 생략될 수 있다.For example, when the communication line CL is a communication line according to the TCP / IP protocol, each of the physical layers 111, 121, and 131 may further include a physical layer according to the TCP / IP protocol. That is, the physical layers 111, 121, and 131 may convert a message to be transmitted into a format defined by the DNP 3.0 protocol, and convert it into a communication packet in a format defined by the TCP / IP protocol. For example, when the communication line CL is a serial communication line, a physical layer according to the TCP / IP protocol may be omitted.

예시적으로, 서버(110)는 마스터 장치(Master Device)이고, 제어 장치(120)는 슬레이브 장치(Slave Device)일 수 있다. 즉, 서버(110)는 제어 장치(120)로 요청(RQ)을 전송하고, 제어 장치(120)는 서버(110)로부터의 요청(RQ)에 응답하여 응답(RP)을 서버(110)로 전송할 수 있다. 또는 제어 장치(120)는 임의 응답(URP)을 서버(110)로 전송할 수 있다. 상술된 요청(RQ), 응답(RP), 및 임의 응답(URP)은 DNP 3.0 프로토콜에 의해 정의된 포맷 형식으로 제공되고, TCP/IP 프로토콜에 의해 정의된 통신 패킷 내에 포함될 수 있다. For example, the server 110 may be a master device, and the control device 120 may be a slave device. That is, the server 110 transmits a request (RQ) to the control device 120, and the control device 120 responds to the request (RQ) from the server 110 to send a response (RP) to the server 110 Can transmit. Alternatively, the control device 120 may transmit an arbitrary response (URP) to the server 110. The above-described request (RQ), response (RP), and random response (URP) are provided in a format defined by the DNP 3.0 protocol and may be included in a communication packet defined by the TCP / IP protocol.

도 3은 도 2의 DPN 3.0 프로토콜의 물리 계층을 상세하게 보여주는 블록도이다. 예시적으로, 도 3을 참조하여 서버(110)의 물리 계층(111)이 설명되나, 제어 장치(120) 및 패킷 감시 장치(130)의 물리 계층들(121, 131) 또한 도 3에 도시된 물리 계층과 동일한 계층 구조를 가질 수 있다.3 is a block diagram showing in detail the physical layer of the DPN 3.0 protocol of FIG. 2. For example, the physical layer 111 of the server 110 is described with reference to FIG. 3, but the physical layers 121 and 131 of the control device 120 and the packet monitoring device 130 are also shown in FIG. 3. It may have the same hierarchical structure as the physical layer.

도 2 및 도 3을 참조하면, 서버(110)의 물리 계층(111)은 DNP 3.0 응용 계층(111a), DNP 3.0 전송 계층(111b), DNP 3.0 데이터 링크 계층(111c), 및 통신 프로토콜 계층(111d)을 포함할 수 있다.2 and 3, the physical layer 111 of the server 110 includes a DNP 3.0 application layer 111a, a DNP 3.0 transport layer 111b, a DNP 3.0 data link layer 111c, and a communication protocol layer ( 111d).

DNP 3.0 응용 계층(111a)은 서버(110)에서 전송될 메시지에 제어 정보를 추가하여 메시지를 규격화할 수 있다. 예시적으로, DNP 3.0 응용 계층(111a)에서 규격화된 메시지는 응용 프로토콜 데이터 유닛(APDU; Application Protocol Data Unit) 또는 DNP 3.0 조각(DNP3 Fragment)라 불린다. 이하에서, DNP 3.0 응용 계층(111a)에서 규격화된 메시지는 데이터 조각(data fragment; DNP 3.0 Fragment)라 칭한다.The DNP 3.0 application layer 111a may standardize the message by adding control information to the message to be transmitted from the server 110. For example, the message standardized in the DNP 3.0 application layer 111a is called an Application Protocol Data Unit (APDU) or a DNP 3.0 Fragment (DNP3 Fragment). Hereinafter, the message standardized in the DNP 3.0 application layer 111a is referred to as a data fragment (DNP 3.0 Fragment).

DNP 3.0 전송 계층(111b)은 데이터 조각을 소정의 유닛들로 분할하고, 분할된 유닛들 각각에 전송 헤더를 추가한다. DNP 3.0 전송 계층(111b)에서 가공된 유닛들은 전송 프로토콜 데이터 유닛(TPDU; Transport Protocol Data Unit) 또는 DNP 3.0 세그먼트(DNP3 Segment)라 불린다. 이하에서, DNP 3.0 전송 계층(111b)에서 가동된 데이터는 데이터 세그먼트(data segment; DNP 3.0 Segment)라 칭한다.The DNP 3.0 transport layer 111b divides a piece of data into predetermined units and adds a transmission header to each of the divided units. Units processed in the DNP 3.0 transport layer 111b are called a Transport Protocol Data Unit (TPDU) or a DNP 3.0 segment (DNP3 Segment). Hereinafter, data operated in the DNP 3.0 transport layer 111b is referred to as a data segment (DNP 3.0 Segment).

DNP 3.0 데이터 링크 계층(111c)은 데이터 세그먼트들 각각에 링크 헤더를 추가한다. DNP 3.0 데이터 링크 계층(111c)에서 가공된 데이터 세그먼트들은 링크 프로토콜 데이터 유닛(LPDU; Link Protocol Data Unit) 또는 DNP 3.0 프레임(DNP 3.0 Frame)이라 불린다. 이하에서, DNP 3.0 데이터 링크 계층(113)에서 가공된 데이터 세그먼트들은 데이터 프레임(data frame, DNP 3.0 Frame)이라 칭한다.The DNP 3.0 data link layer 111c adds a link header to each of the data segments. The data segments processed in the DNP 3.0 data link layer 111c are called Link Protocol Data Unit (LPDU) or DNP 3.0 Frame (DNP 3.0 Frame). Hereinafter, data segments processed in the DNP 3.0 data link layer 113 are referred to as data frames (DNP 3.0 Frames).

통신 프로토콜 계층(111d)은 통신 라인(CL)의 프로토콜에 따라 데이터 프레임들을 가공할 수 있다. 예시적으로, 통신 라인(CL)이 TCP/IP 프로토콜에 기반된 경우, 통신 프로토콜 계층(111d)은 전송 계층, 네트워크 계층, 및 링크/물리 계층을 포함하고, TCP/IP 프로토콜에 따라 데이터 프레임들을 가공할 수 있다.The communication protocol layer 111d may process data frames according to the protocol of the communication line CL. Illustratively, when the communication line CL is based on the TCP / IP protocol, the communication protocol layer 111d includes a transport layer, a network layer, and a link / physical layer, and data frames according to the TCP / IP protocol. It can be processed.

가공된 데이터 프레임들은 통신 패킷으로서 통신 선로(CL)를 통해 제어 장치(120) 및 패킷 감시 장치(130)로 전송된다.The processed data frames are transmitted as a communication packet to the control device 120 and the packet monitoring device 130 through the communication line CL.

예시적으로, 서버(110)가 제어 장치(120)로부터 통신 패킷(즉, 응답(RP) 또는 임의 응답(URP))을 수신하는 경우, 서버(110)의 각 계층들은 상술된 순서의 역순으로 통신 패킷을 해제하여 메시지를 추출할 수 있다.Exemplarily, when the server 110 receives a communication packet (ie, a response (RP) or an arbitrary response (URP)) from the control device 120, each layer of the server 110 is in the reverse order of the above-described order. The message can be extracted by releasing the communication packet.

도 4는 도 3의 각 계층들에서의 데이터 구조를 설명하기 위한 도면이다. 예시적으로, 서버(110)로부터 600-바이트의 메시지(M1)가 전송되는 경우의 데이터 구조가 도 4에 도시된다. 그러나, 본 발명의 범위가 이에 한정되는 것은 아니며, 메시지의 크기는 다양하게 변형될 수 있으며, 각 계층에서의 규격에 따라, 메시지가 더 분할되거나 또는 데이터 유닛들이 더 생성될 수 있다.FIG. 4 is a diagram for describing a data structure in each layer of FIG. 3. Illustratively, the data structure when a 600-byte message M1 is transmitted from the server 110 is illustrated in FIG. 4. However, the scope of the present invention is not limited to this, and the size of the message may be variously changed, and according to the standard in each layer, the message may be further divided or data units may be further generated.

도 3 및 도 4를 참조하면, 메시지(M1)는 제1 내지 제600 데이터(D001~D600)를 포함할 수 있다. 제1 내지 제600 데이터(D001~D600) 각각의 크기는 1-바이트(1-Bytes)이다. DNP 3.0 응용 계층(111a)은 메시지(Message)를 응용 서비스 데이터 유닛(ASDU)로 변환할 수 있다. DNP 3.0 응용 계층(111)은 응용 서비스 데이터 유닛에 응용 프로토콜 제어 정보(APCI; Application Protocol Control Info.)를 추가하여 데이터 조각(FRAG)을 생성할 수 있다. 즉, 데이터 조각(FRAG)은 응용 프로토콜 제어 정보(APCI) 및 제1 내지 제600 데이터(D001~D600)를 포함한다. 예시적으로, 데이터 조각(FRAG)은 응용 프로토콜 데이터 유닛(APDU; Application Protocol Data Unint)이다. 예시적으로, 응용 프로토콜 제어 정보(APCI)는 메시지(Message)에 대한 다양한 정보를 포함할 수 있다.Referring to FIGS. 3 and 4, the message M1 may include first to 600th data D001 to D600. The size of each of the first to 600th data D001 to D600 is 1-bytes. The DNP 3.0 application layer 111a may convert a message into an application service data unit (ASDU). The DNP 3.0 application layer 111 may generate a data fragment (FRAG) by adding application protocol control information (APCI) to the application service data unit. That is, the data fragment FRAG includes application protocol control information (APCI) and first to 600th data D001 to D600. Illustratively, a data fragment (FRAG) is an Application Protocol Data Unit (APDU). For example, the application protocol control information (APCI) may include various information about a message.

예시적으로, DNP 3.0 프로토콜에 의해 정의된 데이터 조각(FRAG)의 최대 크기는 2048-바이트로 제한될 수 있다. 응용 프로토콜 제어 정보(APCI)의 크기는 2-바이트일 수 있다. 이 경우, 메시지가 2046-바이트를 초과하는 경우, DNP 3.0 응용 계층(111a)은 메시지를 2046 bytes 단위로 분할하고, 분할된 메시지들 각각에 응용 프로토콜 제어 정보(APCI)를 추가하여 복수의 데이터 조각들을 생성할 수 있다. 예시적으로, 응용 프로토콜 제어 정보(APCI)의 크기는 메시지의 유형에 따라 크기가 가변될 수 있다.Illustratively, the maximum size of a data fragment (FRAG) defined by the DNP 3.0 protocol may be limited to 2048-bytes. The size of the application protocol control information (APCI) may be 2-byte. In this case, when the message exceeds 2046-bytes, the DNP 3.0 application layer 111a divides the message into 2046 bytes, and adds application protocol control information (APCI) to each of the divided messages to pieces of data. You can create them. For example, the size of the application protocol control information (APCI) may vary depending on the type of message.

DNP 3.0 전송 계층(111b)은 데이터 조각(FRAG)을 소정의 단위로 분할하고, 분할된 데이터 조각 각각에 제1 내지 제3 전송 헤더들(TH1~TH3)를 추가하여 제1 내지 제3 데이터 세그먼트들(SEG1~SEG3)을 생성할 수 있다. 예를 들어, DNP 3.0 프로토콜에 의해 정의된 데이터 세그먼트의 최대 크기는 250-바이트로 제한될 수 있다. 제1 내지 제3 전송 헤더들(TH1~TH3) 각각의 크기는 4-바이트일 수 있다. DNP 3.0 전송 계층(111b)은 데이터 조각(FRAG)의 응용 프로토콜 제어 정보(APCI) 및 제1 내지 제247 데이터(D001~D247)에 제1 전송 헤더(TH1)를 추가하여 제1 데이터 세그먼트(SEG1)를 생성한다. 마찬가지로, DNP 3.0 전송 계층(111b)은 제248 내지 제496 데이터(D248~D496) 및 제2 전송 헤더(TH2)를 기반으로 제2 데이터 세그먼트(SEG2)를 생성하고, 제497 내지 제600 데이터(D497~D600) 및 제3 전송 헤더(TH3)를 기반으로 제3 데이터 세그먼트(SEG3)를 생성할 수 있다. 예시적으로, 제1 내지 제3 데이터 세그먼트들(SEG1~SEG3)은 전송 프로토콜 데이터 유닛들(TPDU; Transport Protocol Data Unit)일 수 있다.The DNP 3.0 transport layer 111b divides the data fragment (FRAG) into predetermined units, and adds first to third transmission headers (TH1 to TH3) to each of the divided data fragments to form the first to third data segments. Fields (SEG1 to SEG3) can be generated. For example, the maximum size of a data segment defined by the DNP 3.0 protocol can be limited to 250-bytes. The size of each of the first to third transmission headers TH1 to TH3 may be 4-byte. The DNP 3.0 transport layer 111b adds the first transport header TH1 to the application protocol control information (APCI) of the data fragment FRAG and the first to 247 data D001 to D247, and thus the first data segment SEG1 ). Similarly, the DNP 3.0 transport layer 111b generates the second data segment SEG2 based on the 248th to 496th data D248 to D496 and the second transmission header TH2, and the 4th to 600th data ( D497 to D600) and the third transmission header TH3 may generate a third data segment SEG3. For example, the first to third data segments SEG1 to SEG3 may be Transport Protocol Data Units (TPDUs).

다음으로, DNP 3.0 데이터 링크 계층(111c)은 제1 내지 제3 데이터 세그먼트들(SEG1~SEG3) 각각에 제1 내지 제3 링크 헤더들(LH1~LH3)을 추가하여 제1 내지 제3 데이터 프레임들(FR1~FR3)을 생성할 수 있다. 예시적으로, 제1 내지 제3 데이터 프레임들(FR1~FR3) 각각은 10-바이트의 링크 헤더, 250-바이트의 데이터 세그먼트, 및 32-바이트의 순환 중복 검사 코드(CRC code)를 포함할 수 있다.Next, the DNP 3.0 data link layer 111c adds the first to third link headers LH1 to LH3 to each of the first to third data segments SEG1 to SEG3 to thereby form the first to third data frames. Fields (FR1 to FR3) can be produced. For example, each of the first to third data frames FR1 to FR3 may include a 10-byte link header, a 250-byte data segment, and a 32-byte cyclic redundancy check code (CRC code). have.

통신 프로토콜 계층(111d)은 통신 선로(CL)의 통신 프로토콜에 기반된 정보를 제1 내지 제3 데이터 프레임들(FR1~FR3)에 추가하여 통신 패킷을 생성한다. 예를 들어, 통신 선로(CL)의 통신 프로토콜이 TCP/IP 인 경우, 통신 라인 프로토콜 계층(114)은 이더넷 헤더, IP 헤더, TCP 헤더와 같은 정보를 제1 내지 제3 데이터 프레임들(FR1~FR3) 각각에 추가하여 통신 패킷을 생성한다. 생성된 통신 패킷은 통신 선로(CL)를 통해 제어 장치(120)로 전송된다.The communication protocol layer 111d generates communication packets by adding information based on the communication protocol of the communication line CL to the first to third data frames FR1 to FR3. For example, when the communication protocol of the communication line CL is TCP / IP, the communication line protocol layer 114 transmits information such as an Ethernet header, an IP header, and a TCP header to the first to third data frames FR1 to FR3) In addition to each, a communication packet is generated. The generated communication packet is transmitted to the control device 120 through the communication line CL.

예시적으로, 도 4에 도시된 각 계층들의 유닛 및 패킷 구조들은 예시적인 것이며, 본 발명의 범위가 이에 한정되는 것은 아니다. 메시지의 종류, 크기, 각 계층에서의 유닛의 최대 크기에 따라 각 계층에서의 유닛의 개수가 달라질 수 있다.Exemplarily, the unit and packet structures of each layer illustrated in FIG. 4 are exemplary, and the scope of the present invention is not limited thereto. The number of units in each layer may vary depending on the type of message, the size, and the maximum size of the units in each layer.

또한, 제어 장치(120)는 도 4에 도시된 계층 구조와 동일한 계층 구조를 기반으로 통신을 수행할 수 있다. 또한, 패킷 감시 장치(130)는 도 4에 도시된 계층 구조와 동일한 계층 구조를 기반으로 수신된 통신 패킷을 해제할 수 있다.In addition, the control device 120 may perform communication based on the same hierarchical structure as the hierarchical structure illustrated in FIG. 4. Also, the packet monitoring device 130 may release the received communication packet based on the same hierarchical structure as the hierarchical structure shown in FIG. 4.

도 5는 도 4의 데이터 조각을 상세하게 보여주는 도면이다. 도 5를 참조하면, 데이터 조각(FRAG)은 응용 프로토콜 제어 정보(APCI) 및 메시지(M1)(또는 응용 서비스 데이터 유닛(ASDU))를 포함한다. 응용 프로토콜 제어 정보(APCI)는 메시지(M1)의 제어 정보를 포함한다. 예를 들어, 응용 프로토콜 제어 정보(APCI)는 응용 제어 필드(Application Control), 기능 코드 필드(Function Code), 내부 명령어 필드(Internal Indications)를 포함한다. 5 is a diagram showing in detail the data fragment of FIG. 4. Referring to FIG. 5, the data fragment FRAG includes application protocol control information (APCI) and a message M1 (or application service data unit (ASDU)). The application protocol control information (APCI) includes control information of the message M1. For example, the application protocol control information (APCI) includes an application control field (Application Control), a function code field (Function Code), and an internal command field (Internal Indications).

응용 제어 필드(Application Control)는 시작 비트(FIR_A), 종료 비트(FIN_B), 콘 비트(CON), 임의 응답 비트(UNS), 및 순서 비트(SEQ_A)를 포함한다. 시작 비트(FIR_A)는 응용 제어 필드(Application Control)의 제7 비트(B7)이고, 현재 데이터 조각이 첫 번째 데이터 조각인지를 가리킨다. 예를 들어, 시작 비트(FIR_A)가 '1'로 설정된 경우, 현재 데이터 조각이 첫 번째 데이터 조각이다.The application control field (Application Control) includes a start bit (FIR_A), an end bit (FIN_B), a cone bit (CON), a random response bit (UNS), and a sequence bit (SEQ_A). The start bit FIR_A is the seventh bit B7 of the application control field (Application Control) and indicates whether the current data piece is the first data piece. For example, if the start bit (FIR_A) is set to '1', the current data fragment is the first data fragment.

종료 비트(FIN_A)는 응용 제어 필드의 제6 비트(B6)이고, 현재 데이터 조각(FRAG)이 마지막 데이터 조각인지를 가리키다. 예를 들어, 종료 비트(FIN_A)가 '1'로 설정된 경우, 데이터 조각(FRAG)이 마지막 데이터 조각이다.The end bit (FIN_A) is the sixth bit (B6) of the application control field, and indicates whether the current data fragment (FRAG) is the last data fragment. For example, if the end bit (FIN_A) is set to '1', the data fragment (FRAG) is the last data fragment.

콘 비트(CON)는 응용 제어 필드(Application Control)의 제5 비트(B5)이다. 콘 비트(CON) '1'로 설정된 경우, 통신 패킷(즉, 콘 비트(CON)가 '1'인 통신 패킷)을 수신한 장치는 응용 계층의 확인 메시지를 되돌려줘야 한다. 예시적으로, 서버(110)의 요청 메시지의 경우, 콘 비트(CON)가 설정되지 않는다. 예시적으로, 제어 장치(120)의 임의 응답(URP; unsolicited Response)의 경우, 콘 비트(CON)가 '1'로 설정된다. 예시적으로, 다중 조각 형태(즉, 메시지의 크기가 데이터 조각의 최대 크기보다 큰 경우)의 응답(RP)에서 CON 비트가 설정된 경우, 마지막 데이터 조각(즉, 종료 비트(FIN_A)가 '1'로 설정)의 콘 비트(CON)는 선택적으로(optional) 설정된다. 예시적으로, 서버(110)의 요청(RQ)에 대한 이벤트를 갖지 않는 제어 장치(120)의 응답은 콘 비트(CON)가 설정되지 않을 수 있다.The cone bit CON is the fifth bit B5 of the application control field. When the cone bit (CON) is set to '1', a device that has received a communication packet (that is, a communication packet with the cone bit (CON) '1') must return an application layer acknowledgment message. For example, in the case of the request message of the server 110, the cone bit CON is not set. For example, in the case of an unsolicited response (URP) of the control device 120, the cone bit CON is set to '1'. Exemplarily, when the CON bit is set in the response RP of a multi-slice form (that is, when the message size is larger than the maximum size of the data piece), the last data piece (ie, the end bit (FIN_A) is '1' Is set to (optional). For example, the response of the control device 120 that does not have an event for the request (RQ) of the server 110 may not be set the cone bit (CON).

임의 응답 비트(UNS)는 응용 제어 필드(Application Control)의 제4 비트(B4)이고, 현재 데이터 조각(FRAG)이 임의 응답(URP)인지를 가리킨다. 예를 들어, 임의 응답 비트(UNS)가 '1'로 설정된 경우, 데이터 조각(FRAG)이 제어 장치(120)로부터 송신되는 임의 응답이다. The random response bit (UNS) is the fourth bit (B4) of the application control field (Application Control), and indicates whether the current data fragment (FRAG) is a random response (URP). For example, when the random response bit UNS is set to '1', the data fragment FRAG is a random response transmitted from the control device 120.

순서 비트(SEQ_A)는 응용 제어 필드의 제1 내지 제4 비트들(B1~B4)을 포함하고, 송수신되는 메시지의 식별을 위한 식별번호를 가리킨다. 예시적으로, 서버(110)로부터의 요청(RQ)에 대한 제어 장치(120)의 응답(RP)은 요청(RQ)과 동일한 순서 비트(SEQ_A)를 갖는다. 예시적으로, 서버(110)의 요청(RQ)의 순서 비트(SEQ_A)는 재전송(Retry)을 제외하고, '1'씩 증가한다. 예시적으로, 서버(110)의 요청(RQ)의 순서 비트(SEQ_A) 및 제어 장치(120)의 응답(RP)의 순서 비트(SEQ_A)는 서로 독립적으로 관리된다. 예시적으로, 서버(110) 및 제어 장치(120) 사이의 통신에서 관리되는 순서 비트 및 서버(110) 및 다른 제어 장치(120) 사이의 통신에서 관리되는 순서 비트는 서로 독립적으로 관리된다.The sequence bit (SEQ_A) includes the first to fourth bits (B1 to B4) of the application control field, and indicates an identification number for identification of a message to be transmitted and received. For example, the response RP of the control device 120 to the request RQ from the server 110 has the same order bit (SEQ_A) as the request RQ. For example, the order bit (SEQ_A) of the request (RQ) of the server 110 increases by '1' except for retransmission. For example, the sequence bit (SEQ_A) of the request (RQ) of the server 110 and the sequence bit (SEQ_A) of the response (RP) of the control device 120 are managed independently of each other. For example, the order bits managed in communication between the server 110 and the control device 120 and the order bits managed in communication between the server 110 and the other control device 120 are managed independently of each other.

기능 코드 필드(Function Code)는 데이터 조각(FRAG)의 종류를 가리킨다. 즉, 기능 코드 필드(Function Code)는 데이터 조각(FRAG)이 요청(RQ)인지, 응답(RP)인지, 또는 확인(CF)인지에 대한 정보를 포함한다. 예시적으로, 기능 코드 필드(Function Code)는 1-바이트의 정보를 포함한다. 데이터 조각(FRAG)이 확인(CF)인 경우, 확인 기능 코드 필드(Function Code)는 0x00의 값을 갖는다. 데이터 조각(FRAG)이 요청(RQ)인 경우, 확인 기능 코드 필드(Function Code)는 0x01 내지 0x82 사이의 값을 갖는다. 데이터 조각(FRAG)이 응답(RP)인 경우, 확인 기능 코드 필드(Function Code)는 0x83 내지 0xFF 사이의 값을 갖는다. The function code field indicates the type of data fragment (FRAG). That is, the function code field (Function Code) includes information on whether the data fragment (FRAG) is a request (RQ), a response (RP), or an acknowledgment (CF). Exemplarily, the function code field includes 1-byte information. When the data fragment (FRAG) is the confirmation (CF), the confirmation function code field (Function Code) has a value of 0x00. When the data fragment FRAG is a request RQ, the verification function code field has a value between 0x01 and 0x82. When the data fragment FRAG is the response RP, the acknowledgment function code field has a value between 0x83 and 0xFF.

내부 명령어 필드(Internal Indication)는 데이터 조각(FRAG)의 종류에 따라 생략될 수 있다. 예를 들어, 데이터 조각(FRAG)이 요청(RQ)인 경우, 내부 명령어 필드(Internal Indication)는 생략된다.The internal instruction field (Internal Indication) may be omitted depending on the type of data fragment (FRAG). For example, if the data fragment (FRAG) is a request (RQ), the internal instruction field (Internal Indication) is omitted.

도 6은 도 4의 데이터 세그먼트를 상세하게 보여주는 도면이다. 예시적으로, 도 6을 참조하여, 제1 데이터 세그먼트(SEG1)가 설명되나, 본 발명의 범위가 이에 한정되는 것은 아니며, 제2 및 제3 데이터 세그먼트들(SEG2, SEG3) 또는 다른 데이터 세그먼트들 또한 도 6의 제1 데이터 세그먼트(SEG1)와 유사한 데이터 구조를 가질 수 있다. FIG. 6 is a diagram showing in detail the data segment of FIG. 4. Illustratively, referring to FIG. 6, the first data segment SEG1 is described, but the scope of the present invention is not limited thereto, and the second and third data segments SEG2, SEG3 or other data segments In addition, it may have a data structure similar to the first data segment (SEG1) of FIG.

도 6을 참조하면, 제1 데이터 세그먼트(SEG1)는 제1 전송 헤더(TH1) 및 데이터 조각(FRAG)의 일부를 포함할 수 있다. 예시적으로, 데이터 조각(FRAG)의 일부는 249-바이트의 크기를 갖고, 응용 프로토콜 제어 정보(ACPI) 및 제1 내지 제247 데이터(D001~D247)를 포함할 수 있다.Referring to FIG. 6, the first data segment SEG1 may include a portion of the first transport header TH1 and a data fragment FRAG. For example, a portion of the data fragment FRAG has a size of 249-bytes and may include application protocol control information (ACPI) and first to 247 data (D001 to D247).

제1 전송 헤더(TH1)는 1-바이트의 크기를 갖고, 시작 비트(FIR_T), 종료 비트(FIN_T), 및 순서 비트(SEQ_T)를 포함한다. 시작 비트(FIG_T)는 제1 전송 헤더(TH1)의 제7 비트(B7)이고, 현재 데이터 세그먼트가 첫 번째 데이터 세그먼트임을 가리킨다. 예를 들어, 시작 비트(FIR_T)가 '1'로 설정된 경우, 제1 데이터 세그먼트(SEG1)는 첫 번째 데이터 세그먼트이다.The first transmission header TH1 has a size of 1-byte, and includes a start bit (FIR_T), an end bit (FIN_T), and a sequence bit (SEQ_T). The start bit (FIG_T) is the seventh bit (B7) of the first transmission header TH1, and indicates that the current data segment is the first data segment. For example, when the start bit FIR_T is set to '1', the first data segment SEG1 is the first data segment.

종료 비트(FIN_T)는 제1 전송 헤더(TH1)의 제8 비트(B8)이고, 현재 데이터 세그먼트가 마지막 데이터 세그먼트임을 가리킨다. 예를 들어, 종료 비트(FIN_T)가 '1'로 설정된 경우, 제1 데이터 세그먼트(SEG1)는 마지막 데이터 세그먼트이다.The end bit FIN_T is the eighth bit B8 of the first transmission header TH1, and indicates that the current data segment is the last data segment. For example, when the end bit FIN_T is set to '1', the first data segment SEG1 is the last data segment.

순서 비트(SEQ_T)는 제1 전송 헤더(TH1)의 제1 내지 제6 비트들(B1~B6)을 포함하고, 현재 데이터 세그먼트의 식별 번호를 가리킨다. 예시적으로, 시작 비트(FIR_T)가 '1'로 설정된 데이터 세그먼트의 순서 비트(SEQ_T)는 이전 데이터 세그먼트와 무관하게 0 내지 63 사이의 값을 갖는다.The sequence bit (SEQ_T) includes the first to sixth bits B1 to B6 of the first transmission header TH1, and indicates an identification number of the current data segment. For example, the sequence bit (SEQ_T) of the data segment in which the start bit (FIR_T) is set to '1' has a value between 0 and 63 regardless of the previous data segment.

도 7은 도 4의 데이터 프레임을 상세하게 보여주는 도면이다. 예시적으로, 도 7을 참조하여, 제1 데이터 프레임(FR1)이 설명되나, 본 발명의 범위가 이에 한정되는 것은 아니다. 제2 및 제3 데이터 프레임들(FR2, FR3) 및 다른 데이터 프레임들 또한 도 7의 제1 데이터 프레임(FR1)과 유사한 데이터 구조를 가질 수 있다.7 is a diagram showing in detail the data frame of FIG. 4. Exemplarily, referring to FIG. 7, the first data frame FR1 is described, but the scope of the present invention is not limited thereto. The second and third data frames FR2 and FR3 and other data frames may also have a data structure similar to the first data frame FR1 of FIG. 7.

도 7을 참조하면, 제1 데이터 프레임(FR1)은 제1 링크 헤더(LH1), 제1 데이터 세그먼트(SEG1), 및 순환 중복 검사 코드(CRC)를 포함한다. 제1 링크 헤더(LH1)는 시작 필드들(START), 길이 필드(Length), 제어 필드(Control), 목표 필드(Destination), 소스 필드(Source), 및, 순환 중복 검사 코드 필드(CRC)를 포함한다.Referring to FIG. 7, the first data frame FR1 includes a first link header LH1, a first data segment SEG1, and a cyclic redundancy check code CRC. The first link header LH1 includes start fields (START), length fields (Length), control fields (Control), target fields (Destination), source fields (Source), and cyclic redundancy check code fields (CRC). Includes.

시작 필드들(START)은 각각 1-바이트의 크기를 갖고, 0x05 및 0x64의 값을 갖는다. 길이 필드(Length)는 전체 데이터 프레임의 길이에 대한 정보를 포함하고, 1-바이트의 크기를 갖는다. 제어 필드(Control)는 1-바이트의 크기를 갖고, DNP 3.0 데이터 링크 계층(111c)에서의 제어를 위한 정보를 포함한다.The start fields (START) each have a size of 1-byte, and have values of 0x05 and 0x64. The length field (Length) contains information about the length of the entire data frame, and has a size of 1-byte. The control field (Control) has a size of 1-byte and includes information for control in the DNP 3.0 data link layer 111c.

목표 필드(Destination)는 2-바이트의 크기를 갖고, 제1 데이터 프레임(FR1)이 전송될 목표 장치에 대한 정보를 포함한다. 소스 필드(Source)는 2-바이트의 크기를 갖고, 제1 데이터 프레임(FR1)을 전송하는 장치에 대한 정보를 포함한다.The target field (Destination) has a size of 2-byte, and includes information on a target device to which the first data frame FR1 is to be transmitted. The source field (Source) has a size of 2-byte and includes information on a device transmitting the first data frame (FR1).

예시적으로, 목표 필드(Destination) 및 소스 필드(Source)를 통해 목표 장치 및 소스 장치를 식별할 수 있다. 예시적으로, TCP/IP 프로토콜의 IP 주소를 통해 목표 장치 및 소스 장치의 식별이 가능할 수 있으나, 하나의 IP에 복수의 논리적 장치들이 접속된 경우, 또는 시리얼 통신을 수행하는 경우, 상술된 목표 필드(Destination) 및 소스 필드(Source)를 기반으로 목표 장치 및 소스 장치를 식별할 수 있다.For example, the target device and the source device may be identified through the target field (Destination) and the source field (Source). For example, the target device and the source device may be identified through the IP address of the TCP / IP protocol, but when a plurality of logical devices are connected to one IP, or when performing serial communication, the target field described above The target device and the source device may be identified based on the (Destination) and the source field (Source).

예시적으로, 도 4 내지 도 7을 참조하여, DNP 3.0 프로토콜을 기반으로 통신하는 서버(110)의 데이터 포맷이 설명되었다. 그러나, 본 발명의 범위가 이에 한정되는 것은 아니며, 제어 장치(120) 또한 상술된 데이터 포맷을 기반으로 통신할 수 있고, 패킷 감시 장치(130) 또한 상술된 데이터 포맷을 기반으로 수신된 통신 패킷을 모니터링할 수 있다.As an example, with reference to FIGS. 4 to 7, the data format of the server 110 communicating based on the DNP 3.0 protocol has been described. However, the scope of the present invention is not limited thereto, and the control device 120 may also communicate based on the above-described data format, and the packet monitoring device 130 may also receive received communication packets based on the above-described data format. Can be monitored.

도 8 및 도 9는 도 2의 서버 및 제어 장치 사이의 통신을 보여주는 도면들이다. 예시적으로, 예시적으로, 도 8 및 도 9를 참조하여 설명되는 통신 패킷들(예를 들어, 요청(RQ), 응답(RP), 임의 응답(URP) 등)은 DNP 3.0 프로토콜에 의해 정의된 통신 패킷을 포함할 수 있다. 즉, 도 8 및 도 9를 참조하여 설명되는 통신 패킷들은 도 4 내지 도 7을 참조하여 설명된, 데이터 프레임들(FR)을 포함할 수 있다.8 and 9 are diagrams showing communication between the server and the control device of FIG. 2. Illustratively, illustratively, communication packets described with reference to FIGS. 8 and 9 (eg, request (RQ), response (RP), random response (URP), etc.) are defined by the DNP 3.0 protocol. Communication packets. That is, the communication packets described with reference to FIGS. 8 and 9 may include data frames FR described with reference to FIGS. 4 to 7.

먼저 도 2 및 도 8을 참조하면, 도 8의 제1 섹션에 도시된 바와 같이, S11 단계에서, 서버(110)는 제어 장치(120)로 요청(RQ)을 전송한다. S12 단계에서, 제어 장치(120)는 요청(RQ)에 응답하여 응답(RP)을 서버(110)로 전송한다. S13 단계에서, 서버(110)는 응답(RP)에 응답하여 선택적 확인(OCF)을 제어 장치(110)로 전송할 수 있다. S11 단계 내지 S13 단계에서 송수신되는 통신 패킷들에 의해 하나의 통신(즉, 하나의 요청에 따른 응답 및 확인)이 완료된다. 예시적으로, S11 단계의 요청(RQ), S12 단계의 응답(RP), 및 S13 단계의 선택적 확인(OCF)은 동일한 순서 비트(SEQ_A) 또는 연속적인 값의 순서 비트를 가질 수 있다.2 and 8, as shown in the first section of FIG. 8, in step S11, the server 110 transmits a request (RQ) to the control device 120. In step S12, the control device 120 transmits a response RP to the server 110 in response to the request RQ. In step S13, the server 110 may transmit an optional confirmation (OCF) to the control device 110 in response to the response RP. One communication (that is, response and confirmation according to one request) is completed by communication packets transmitted and received in steps S11 to S13. For example, the request (RQ) of step S11, the response (RP) of step S12, and the optional confirmation (OCF) of step S13 may have the same sequence bit (SEQ_A) or sequence bits of consecutive values.

다음으로, 도 8의 제2 섹션에 도시된 바와 같이, S14 단계에서, 서버(110)는 제어 장치(120)로 응답 불요 요청(RQNR; request with no response)을 전송할 수 있다. 제어 장치(120)는 응답 불요 요청(NRQ)에 응답하여 응답을 전송하지 않을 수 있다. 예시적으로, S14 단계의 요청(NRQ)은 콘 비트(CON)가 '0'으로 설정되고, 이에 따라 제어 장치(120)는 기능 코드가 0x00의 값인 통신 패킷을 서버(110)로 전송하지 않아도 된다. Next, as shown in the second section of FIG. 8, in step S14, the server 110 may transmit a request with no response (RQNR) to the control device 120. The control device 120 may not transmit a response in response to a request for no response (NRQ). For example, the request (NRQ) of step S14 is set to the cone bit (CON) is '0', and accordingly, the control device 120 does not need to transmit a communication packet having a function code of 0x00 to the server 110 do.

다음으로, 도 8의 제3 섹션에 도시된 바와 같이, S15 단계에서, 제어 장치(120)는 임의 응답(URP)을 서버(110)로 전송할 수 있다. S16 단계에서, 서버(110)는 임의 응답(URP)에 응답하여 확인(CF)을 제어 장치(120)로 전송한다. 예시적으로, S15 단계의 임의 응답(URP)은 콘 비트(CON)가 '1'로 설정되고, 서버(110)는 이에 응답하여 기능 코드(function code)가 0x00의 값을 갖는 확인(CF)을 제어 장치(120)로 전송한다.Next, as shown in the third section of FIG. 8, in step S15, the control device 120 may transmit an arbitrary response (URP) to the server 110. In step S16, the server 110 transmits an acknowledgment (CF) to the control device 120 in response to the random response (URP). For example, in the random response (URP) of step S15, the cone bit CON is set to '1', and the server 110 responds thereto to confirm that the function code has a value of 0x00 (CF). To the control device 120.

다음으로, 도 2 및 도 9를 참조하면, 도 9의 제1 섹션에 도시된 바와 같이, S21 단계에서, 서버(110)는 응답(RQ)을 제어 장치(120)로 전송할 수 있다. 이 후, 소정의 시간동안 제어 장치(120)로부터 응답(RP)이 수신되지 않는 경우,(즉, 응답 타임아웃(Response timeout)이 경과한 후) S22 단계에서, 서버(110)는 재전송 응답(RRQ)을 제어 장치(120)로 재전송할 수 있다. 예시적으로, S21 단계의 응답(RP) 및 S22 단계의 재전송된 (RRQ)는 서로 동일한 순서 비트(SEQ_A)를 가질 수 있다. 예시적으로, 소정의 시간(즉, 응답 타임아웃)은 DNP 3.0 프로토콜에 의해 정의된 시간일 수 있다.Next, referring to FIGS. 2 and 9, as shown in the first section of FIG. 9, in step S21, the server 110 may transmit a response RQ to the control device 120. Thereafter, if a response RP is not received from the control device 120 for a predetermined time (ie, after a response timeout has elapsed), in step S22, the server 110 responds to the retransmission ( RRQ) may be retransmitted to the control device 120. For example, the response (RP) of step S21 and the retransmitted (RRQ) of step S22 may have the same order bit (SEQ_A) as each other. Exemplarily, the predetermined time (ie, response timeout) may be a time defined by the DNP 3.0 protocol.

이와 유사하게, 도 9의 제2 섹션에 도시된 바와 같이, S23 단계에서, 제어 장치(120)는 임의 응답(URP)을 서버(110)로 전송할 수 있다. 이 후, 소정의 시간동안 서버(110)로부터 확인(CF)이 수신되지 않을 수 있다. 이 경우, S24 단계에서, 제어 장치(120)는 임의 응답(RURP)를 재전송할 수 있다. 예시적으로, S23 단계의 임의 응답(URP) 및 S24 단계에서 재전송된 임의 응답(RURP)은 서로 동일한 순서 비트(SEQ_A)를 갖는다.Similarly, as shown in the second section of FIG. 9, in step S23, the control device 120 may transmit an arbitrary response (URP) to the server 110. After this, the confirmation CF may not be received from the server 110 for a predetermined time. In this case, in step S24, the control device 120 may retransmit a random response (RURP). For example, the random response (URP) of step S23 and the random response (RURP) retransmitted in step S24 have the same order bit (SEQ_A) as each other.

예시적으로, 서버(110)로부터 전송되는 요청들 중 일부 요청에 대해서는 재전송 동작이 수행되지 않을 수 있다. 예시적으로, 재전송되지 않는 요청들은 DIRECT_OPERATE(0x05), DIRECT)OPERATE_NR(0x06), DELAY_MEASURE(0x17), RECORD_CURRENT_TIME(0x18), WRITE(0x02) with an Absolute Time object, g50v1, with a Last Recored Time object, g50v3 등과 같은 기능 코드(Function code)를 포함할 수 있다.For example, a retransmission operation may not be performed on some of the requests transmitted from the server 110. Exemplarily, requests that are not retransmitted are DIRECT_OPERATE (0x05), DIRECT) OPERATE_NR (0x06), DELAY_MEASURE (0x17), RECORD_CURRENT_TIME (0x18), WRITE (0x02) with an Absolute Time object, g50v1, with a Last Recored Time object, It may include a function code such as g50v3.

도 10은 도 2의 패킷 감시 장치를 상세하게 보여주는 블록도이다. 도 2 및 도 10을 참조하면, 패킷 감시 장치(130)는 DNP 3.0 프로토콜 계층(131), 패킷 분석 모듈(132), 히스토리 테이블(133), 비정상 패킷 검출 및 분류 모듈(134), 및 제어 모듈(135)을 포함한다. 예시적으로, 모듈(module)은 소프트웨어 또는 하드웨어 장치로 구현될 수 있다. 예를 들어, 소프트웨어 형태의 모듈은 프로그램 명령어, 프로그램 코드, 데이터, 테이블 등과 같은 형태로 구현되고, 별도의 저장 매체에 저장될 수 있다. 하드워어 형태의 모듈은 프로세서, 코어, MEMS, 전기 전자 회로, 수동 소자 등과 같은 장치들로 구현될 수 있다. 예시적으로, 도 10에 도시된 모듈들은 소프트웨어, 하드웨어, 또는 그것들의 조합으로 구현될 수 있다.FIG. 10 is a block diagram showing the packet monitoring device of FIG. 2 in detail. 2 and 10, the packet monitoring device 130 includes a DNP 3.0 protocol layer 131, a packet analysis module 132, a history table 133, an abnormal packet detection and classification module 134, and a control module (135). Illustratively, a module may be implemented as a software or hardware device. For example, the software-type module is implemented in the form of program instructions, program codes, data, tables, and the like, and may be stored in a separate storage medium. The module in the form of a hard war can be implemented with devices such as a processor, a core, MEMS, electrical and electronic circuits, and passive elements. For example, the modules illustrated in FIG. 10 may be implemented in software, hardware, or a combination thereof.

DNP 3.0 프로토콜 계층(131)은 도 3 내지 도 4를 참조하여 설명된 물리 계층과 동일할 수 있다. DNP 3.0 프로토콜 계층(131)은 서버(110) 및 제어 장치(120) 사이에서 송수신되는 통신 패킷을 수신하고, 수신된 통신 패킷을 해제할 수 있다. 예시적으로, DNP 3.0 프로토콜 계층(131) 및 그것의 계층 구조는 도 3 내지 도 7을 참조하여 설명되었으므로, 이에 대한 상세한 설명은 생략된다.The DNP 3.0 protocol layer 131 may be the same as the physical layer described with reference to FIGS. 3 to 4. The DNP 3.0 protocol layer 131 may receive communication packets transmitted and received between the server 110 and the control device 120 and release the received communication packets. Illustratively, since the DNP 3.0 protocol layer 131 and its hierarchical structure have been described with reference to FIGS. 3 to 7, detailed description thereof is omitted.

패킷 분석 모듈(132)은 DNP 3.0 프로토콜 계층(131)에 의해 해제된 통신 패킷으로부터 제어 정보를 분석 및 관리할 수 있다. 예를 들어, 패킷 분석 모듈(132)은 수신된 통신 패킷이 수신된 시간, 통신 패킷의 종류, 통신 패킷의 목표 필드, 통신 패킷의 종료 필드, 통신 패킷의 시작 비트, 통신 패킷의 종료 비트, 통신 패킷의 순서 비트 등과 같은 정보를 이력 테이블(133)로서 관리할 수 있다. 이력 테이블(133)은 통신 패킷의 제어 정보를 관리할 수 있다.The packet analysis module 132 may analyze and manage control information from communication packets released by the DNP 3.0 protocol layer 131. For example, the packet analysis module 132 receives the received communication packet time, the type of communication packet, the target field of the communication packet, the end field of the communication packet, the start bit of the communication packet, the end bit of the communication packet, communication Information such as packet order bits can be managed as the history table 133. The history table 133 may manage control information of communication packets.

비정상 패킷 검출 및 분류 모듈(134)은 수신된 통신 패킷들 중 비정상 패킷을 검출하고, 검출된 비정상 패킷의 비정상 유형을 분류할 수 있다. 예를 들어, 비정상 패킷 검출 및 분류 모듈(134)은 수신된 통신 패킷의 제어 정보 및 이력 테이블(133)을 기반으로 수신된 통신 패킷이 비정상 패킷인지 판별할 수 있다. 예시적으로, 비정상 패킷 검출 및 분류 모듈(134)은 DNP 3.0 프로토콜의 통신 특성을 기반으로 검출된 비정상 패킷을 제1 내지 제5 비정상 유형들 중 어느 하나로 분류할 수 있다.The abnormal packet detection and classification module 134 may detect an abnormal packet among received communication packets and classify the abnormal type of the detected abnormal packet. For example, the abnormal packet detection and classification module 134 may determine whether the received communication packet is an abnormal packet based on the control information and history table 133 of the received communication packet. For example, the abnormal packet detection and classification module 134 may classify the detected abnormal packet into one of the first to fifth abnormal types based on the communication characteristics of the DNP 3.0 protocol.

제어 모듈(135)은 비정상 패킷 검출 및 분류 모듈(134)의 비정상 패킷 검출 및 분류 결과에 따라 별도의 보안 동작을 수행할 수 있다. 예를 들어, 비정상 패킷 검출 및 분류 모듈(134)의 비정상 유형 분류 결과에 따라 수신된 통신 패킷의 삭제, 서버(110) 및 제어 장치(120)의 통신 해제, 이전에 수신된 통신 패킷들의 삭제 등과 같은 보안 동작을 수행할 수 있다.The control module 135 may perform a separate security operation according to the abnormal packet detection and classification result of the abnormal packet detection and classification module 134. For example, deletion of communication packets received according to the abnormal type classification result of the abnormal packet detection and classification module 134, communication cancellation of the server 110 and the control device 120, deletion of previously received communication packets, etc. The same security operation can be performed.

상술된 바와 같이, 본 발명의 실시 예에 따른, 패킷 감시 장치(130)는 이전에 수신된 통신 패킷들의 제어 정보를 이력 테이블로 관리하고, 수신된 통신 패킷의 제어 정보 및 이력 테이블(133)을 비교 및 분석하여 수신된 통신 패킷의 비정상 패킷 여부 및 비정상 유형을 분류할 수 있다. 즉, 패킷 감시 장치(130)는 DNP 3.0 프로토콜의 통신 특성을 기반으로 수신된 통신 패킷의 제어 정보를 분석하여 비정상 패킷의 비정상 유형을 분류함으로써 제어 시스템(100)에 대한 다양한 공격 패턴을 감지할 수 있다. 따라서, 향상된 신뢰성을 갖는 패킷 감시 장치 및 통신 패킷에 대한 패킷 감시 방법이 제공된다.As described above, according to an embodiment of the present invention, the packet monitoring device 130 manages control information of previously received communication packets as a history table, and controls the control information and history table 133 of the received communication packets. By comparing and analyzing, it is possible to classify whether the received communication packet is an abnormal packet and an abnormal type. That is, the packet monitoring device 130 can detect various attack patterns on the control system 100 by classifying the abnormal type of the abnormal packet by analyzing the control information of the received communication packet based on the communication characteristics of the DNP 3.0 protocol. have. Accordingly, a packet monitoring apparatus having improved reliability and a packet monitoring method for communication packets are provided.

도 11은 도 10의 패킷 감시 장치의 동작을 보여주는 순서도이다. 도 10 및 도 11을 참조하면, S110 단계에서, 패킷 감시 장치(110)는 통신 패킷(즉, DNP 3.0 패킷)을 수신한다. 예시적으로, 패킷 감시 장치(110)는 DNP 3.0 패킷이 포함된 통신 패킷을 수신할 수 있다. 11 is a flow chart showing the operation of the packet monitoring apparatus of FIG. 10. 10 and 11, in step S110, the packet monitoring apparatus 110 receives a communication packet (that is, DNP 3.0 packet). For example, the packet monitoring apparatus 110 may receive a communication packet including a DNP 3.0 packet.

S120 단계에서, 패킷 감시 장치(110)는 수신된 통신 패킷(즉, DNP 3.0 패킷)의 제어 정보를 분석할 수 있다. 예를 들어, 통신 패킷은 응용 프로토콜 제어 정보(APCI), 전송 헤더(TH), 및 링크 헤더(LH)를 포함한다. DNP 3.0 프로토콜 물리 계층(131)은 통신 패킷으로부터 응용 프로토콜 제어 정보(APCI), 전송 헤더(TH), 및 링크 헤더(LH)를 추출할 수 있다. 패킷 분석 모듈(132)은 추출된 응용 프로토콜 제어 정보(APCI), 전송 헤더(TH), 및 링크 헤더(LH)를 분석할 수 있다.In step S120, the packet monitoring apparatus 110 may analyze control information of the received communication packet (that is, DNP 3.0 packet). For example, the communication packet includes application protocol control information (APCI), a transport header (TH), and a link header (LH). The DNP 3.0 protocol physical layer 131 may extract application protocol control information (APCI), transport header (TH), and link header (LH) from the communication packet. The packet analysis module 132 may analyze the extracted application protocol control information (APCI), transport header (TH), and link header (LH).

S130 단계에서, 패킷 감시 장치(110)는 통신 패킷의 제어 정보를 이력 테이블로서 관리할 수 있다.In step S130, the packet monitoring apparatus 110 may manage the control information of the communication packet as a history table.

도 12는 도 10의 패킷 감시 장치의 다른 동작을 보여주는 순서도이다. 도 10 및 도 12를 참조하면, S210 단계에서, 패킷 감시 장치(120)는 통신 패킷을 수신할 수 있다. 예시적으로, 통신 패킷은 DNP 3.0 패킷을 포함할 수 있다.12 is a flowchart illustrating another operation of the packet monitoring apparatus of FIG. 10. 10 and 12, in step S210, the packet monitoring apparatus 120 may receive a communication packet. Exemplarily, the communication packet may include a DNP 3.0 packet.

S220 단계에서, 패킷 감시 장치(120)는 수신된 통신 패킷의 제어 정보를 분석할 수 있다.In step S220, the packet monitoring apparatus 120 may analyze control information of the received communication packet.

S230 단계에서, 패킷 감시 장치(120)는 분석된 제어 정보 및 이력 테이블을 기반으로 수신된 통신 패킷이 비정상 패킷인지 판별할 수 있다. 예를 들어, 패킷 감시 장치(120)는 수신된 통신 패킷의 목표 필드, 소스 필드, 및 기능 코드 필드를 비교하여 수신된 통신 패킷이 비정상 패킷인지 판별할 수 있다. 또는, 패킷 감시 장치(120)는 수신된 통신 패킷의 순서 비트 및 이력 테이블에 포함된 순서 비트를 비교하여 수신된 통신 패킷이 비정상 패킷인지 판별할 수 있다. 이외에도, 패킷 감시 장치(120)는 수신된 통신 패킷의 제어 정보 및 이력 테이블을 기반으로 수신된 통신 패킷이 비정상 패킷인지 판별할 수 있다. 예시적으로, 도 13 내지 도 17을 참조하여, 비정상 패킷의 특징 및 비정상 패킷의 감지 방식이 더욱 상세하게 설명된다.In step S230, the packet monitoring apparatus 120 may determine whether the received communication packet is an abnormal packet based on the analyzed control information and history table. For example, the packet monitoring apparatus 120 may compare the target field, source field, and function code field of the received communication packet to determine whether the received communication packet is an abnormal packet. Alternatively, the packet monitoring apparatus 120 may determine whether the received communication packet is an abnormal packet by comparing the order bit of the received communication packet and the order bit included in the history table. In addition, the packet monitoring apparatus 120 may determine whether the received communication packet is an abnormal packet based on the control information and history table of the received communication packet. Illustratively, with reference to FIGS. 13 to 17, features of the abnormal packet and a detection method of the abnormal packet are described in more detail.

S240 단계에서, 패킷 감시 장치(120)는 통신 패킷이 비정상 패킷인지 판별할 수 있다.In step S240, the packet monitoring apparatus 120 may determine whether the communication packet is an abnormal packet.

판별 결과에 따라, 수신된 통신 패킷이 비정상 패킷인 경우, S250 단계에서, 패킷 감시 장치(120)는 수신된 통신 패킷의 비정상 유형을 분류할 수 있다.According to the determination result, if the received communication packet is an abnormal packet, in step S250, the packet monitoring apparatus 120 may classify the abnormal type of the received communication packet.

S260 단계에서, 패킷 감시 장치(120)는 분류된 비정상 유형에 따라 보안 동작을 수행할 수 있다.In step S260, the packet monitoring apparatus 120 may perform a security operation according to the classified abnormal type.

상술된 본 발명의 실시 예에 따르면, 패킷 감시 장치(120)는 서버(110) 및 제어 장치(120) 사이에서 송수신되는 통신 패킷들의 제어 정보를 이력 테이블로서 관리하고, 이력 테이블을 기반으로 비정상 통신 패킷을 검출하고, 비정상 유형을 분류할 수 있다. 따라서, 다양한 공격 패턴에 대한 비정상 트래픽을 감지할 수 있으므로, 향상된 신뢰성을 갖는 패킷 감시 장치 및 통신 패킷에 대한 패킷 감시 방법이 제공된다.According to the above-described embodiment of the present invention, the packet monitoring device 120 manages control information of communication packets transmitted and received between the server 110 and the control device 120 as a history table, and abnormal communication based on the history table It can detect packets and classify abnormal types. Therefore, since it is possible to detect abnormal traffic for various attack patterns, a packet monitoring apparatus having improved reliability and a packet monitoring method for communication packets are provided.

도 13 내지 도 17은 각각 비정상 패킷의 제1 내지 제5 유형들을 설명하기 위한 도면들이다. 이하에서, 도 13 내지 도 17을 참조하여, 본 발명의 실시 예에 따른 비정상 통신 패킷의 비정상 유형들이 설명된다. 또한, 도 13 내지 도 17을 참조하여, 비정상 유형들의 감지 방식이 설명된다. 예시적으로, 도 13 내지 도 17에서 파선으로 표시된 단계의 통신 패킷은 비정상 통신 패킷이고, 점선으로 표시된 단계의 통신 패킷은 송수신되지 않는 통신 패킷인 것으로 가정한다. 또한, 패킷 감시 장치(130)는 도 13 내지 도 17의 각 단계들에서 송수신되는 통신 패킷들을 수신하고, 수신된 통신 패킷들의 제어 정보를 분석하여 이력 테이블(133)로서 관리한다. 패킷 감시 장치(130)는 이력 테이블(133) 및 통신 패킷의 제어 정보를 분석하여 비정상 통신 패킷을 감지하고, 비정상 유형을 분류한다. 그러나 본 발명의 범위가 이에 한정되는 것은 아니다. 13 to 17 are diagrams for describing first to fifth types of abnormal packets, respectively. Hereinafter, with reference to FIGS. 13 to 17, abnormal types of abnormal communication packets according to an embodiment of the present invention are described. Also, with reference to FIGS. 13 to 17, a detection method of abnormal types is described. For example, it is assumed in FIG. 13 to FIG. 17 that a communication packet of a step indicated by a broken line is an abnormal communication packet, and a communication packet of a step indicated by a dotted line is a communication packet that is not transmitted or received. In addition, the packet monitoring device 130 receives communication packets transmitted and received in each step of FIGS. 13 to 17, analyzes control information of the received communication packets, and manages them as a history table 133. The packet monitoring device 130 analyzes the history table 133 and control information of communication packets to detect abnormal communication packets, and classifies the abnormal types. However, the scope of the present invention is not limited thereto.

먼저 도 2, 도 10, 및 도 13을 참조하면, 도 13의 제1 섹션에 도시된 바와 같이, S1010 단계에서, 서버(110)가 제어 장치(120)로 요청(RQ)을 전송한다. S1020 단계에서, 제어 장치(120)가 서버(110)로 응답(RP)을 전송한다. S1030 단계에서, 서버(110)가 제어 장치(120)로 선택적 확인(OCF)를 전송한다.Referring first to FIGS. 2, 10, and 13, as shown in the first section of FIG. 13, in step S1010, the server 110 transmits a request (RQ) to the control device 120. In step S1020, the control device 120 transmits a response (RP) to the server 110. In step S1030, the server 110 transmits an optional confirmation (OCF) to the control device 120.

이 후, S1040 단계에서, 서버(110)가 제어 장치(120)로 응답(RP) 또는 임의 응답(URP)을 전송할 수 있다. 패킷 감시 장치(130)는 S1040 단계의 응답(RP) 또는 임의 응답(URP)의 제어 정보를 기반으로 S1040 단계의 응답(RP) 또는 임의 응답(URP)이 제1 유형의 비정상 통신 패킷임을 감지할 수 있다. 예시적으로, 제1 유형이 비정상 통신 패킷은 서버(110) 및 제어 장치(120) 사이의 통신에서 발생할 수 없는 비정상 통신 패킷을 가리킨다.Thereafter, in step S1040, the server 110 may transmit a response (RP) or a random response (URP) to the control device 120. The packet monitoring device 130 detects that the response (RP) or the random response (URP) of step S1040 is the first type of abnormal communication packet based on the control information of the response (RP) or random response (URP) of step S1040. Can be. Illustratively, the first type of abnormal communication packet refers to an abnormal communication packet that cannot occur in communication between the server 110 and the control device 120.

예를 들어, DNP 3.0 프로토콜 통신에서 마스터 장치인 서버(110)는 제어 장치(120)로 응답(RP) 또는 임의 응답(URP)을 전송할 수 없다. S1040 단계의 응답(RP) 또는 임의 응답(URP)의 응용 프로토콜 제어 정보(ACPI)의 소스 필드(Source)는 서버(110)의 정보를 포함하고, 목표 필드(Destination)는 제어 장치(120)의 정보를 포함하고, 기능 코드 필드(Function Code)는 응답에 대응되는 값(즉, 0x33 내지 0xFF 사이의 값)을 포함한다. 즉, 패킷 감시 장치(130)는 상술된 응용 프로토콜 제어 정보(ACPI)를 분석함으로써 수신된 통신 패킷(즉, S1040 단계의 통신 패킷)이 제1 유형의 비정상 통신 패킷임을 감지할 수 있다.For example, in DNP 3.0 protocol communication, the server 110, which is a master device, cannot transmit a response (RP) or an arbitrary response (URP) to the control device 120. The source field (Source) of the application protocol control information (ACPI) of the response (RP) or the random response (URP) of step S1040 includes information of the server 110, and the target field (Destination) of the control device 120 Information, and the function code field (Function Code) includes a value corresponding to the response (ie, a value between 0x33 and 0xFF). That is, the packet monitoring apparatus 130 may detect that the received communication packet (that is, the communication packet of step S1040) is the first type of abnormal communication packet by analyzing the above-described application protocol control information (ACPI).

다음으로, 도 13의 제2 섹션에 도시된 바와 같이, S1050 단계에서, 제어 장치(120)가 서버(110)로 임의 응답(URP)을 전송한다. S1060 단계에서, 서버(110)가 제어 장치(120)로 확인(CF)을 전송한다.Next, as shown in the second section of FIG. 13, in step S1050, the control device 120 transmits an arbitrary response (URP) to the server 110. In step S1060, the server 110 transmits a confirmation (CF) to the control device 120.

이후, S1070 단계에서, 제어 장치(120)가 서버(110)로 요청(RQ)을 전송할 수 있다. 패킷 감시 장치(130)는 S1070 단계의 요청(RQ)의 제어 정보를 기반으로 S1070 단계의 요청(RQ)이 제1 유형의 비정상 통신 패킷임을 감지할 수 있다. 예시적으로, 제1 유형이 비정상 통신 패킷은 서버(110) 및 제어 장치(120) 사이의 통신에서 발생할 수 없는 비정상 통신 패킷을 가리킨다.Thereafter, in step S1070, the control device 120 may transmit a request (RQ) to the server 110. The packet monitoring apparatus 130 may detect that the request RQ of step S1070 is an abnormal communication packet of the first type based on the control information of the request RQ of step S1070. Illustratively, the first type of abnormal communication packet refers to an abnormal communication packet that cannot occur in communication between the server 110 and the control device 120.

예를 들어, DNP 3.0 프로토콜 통신에서 슬레이브 장치인 제어 장치(120)는 서버(110)로 요청(RQ)을 전송할 수 없다. S1070 단계의 요청의 링크 헤더(LH)의 소스 필드(Source)는 제어 장치(120)의 정보를 포함하고, 링크 헤더(LH)의 목표 필드(Destination)는 서버(110)의 정보를 포함하고, 응용 프로토콜 제어 정보(ACPI)의 기능 코드 필드(Function Code)는 요청에 대응되는 값(즉, 0x01 내지 0x32 사이의 값)을 포함한다. 즉, 패킷 감시 장치(130)는 상술된 응용 프로토콜 제어 정보(ACPI)를 분석함으로써 수신된 통신 패킷(즉, S1070 단계의 통신 패킷)이 제1 유형의 비정상 통신 패킷임을 감지할 수 있다.For example, in DNP 3.0 protocol communication, the control device 120, which is a slave device, cannot transmit a request (RQ) to the server 110. The source field (Source) of the link header (LH) of the request in step S1070 includes information of the control device 120, the target field (Destination) of the link header (LH) includes information of the server 110, The function code field of the application protocol control information (ACPI) includes a value corresponding to the request (ie, a value between 0x01 and 0x32). That is, the packet monitoring apparatus 130 may detect that the received communication packet (that is, the communication packet of step S1070) is the first type of abnormal communication packet by analyzing the above-described application protocol control information (ACPI).

예시적으로, 패킷 감시 장치(130)는 송수신되는 통신 패킷의 제어 정보를 이력 테이블(133)로써 관리할 수 있고, 이에 따라 상술된 제1 유형의 비정상 통신 패킷을 감지할 수 있다. 예시적으로, 패킷 감시 장치(130)는 링크 헤더(LH)의 소스 필드(Source) 및 목표 필드(Destination) 대신에 통신 패킷의 TCP/IP 계층에 포함된 서버(110)의 IP 또는 주소, 제어 장치(120)의 IP 또는 주소를 기반으로 상술된 제1 유형의 비정상 패킷을 감지할 수 있다.For example, the packet monitoring device 130 may manage control information of communication packets to be transmitted and received as a history table 133, and accordingly, may detect abnormal communication packets of the first type described above. For example, the packet monitoring device 130 may control the IP or address of the server 110 included in the TCP / IP layer of the communication packet instead of the source field and the destination field of the link header LH. The abnormal packet of the first type described above may be detected based on the IP or address of the device 120.

다음으로, 도 2, 도 10, 및 도 14를 참조하면, 도 14의 제1 섹션에 도시된 바와 같이, S1110 단계에서, 서버(110)는 제어 장치(120)로 요청(RQ)을 전송할 수 있다. 이 후, S1120 단계에서, 서버(110)는 요청(RQ)을 전송할 수 있다. 예시적으로, S1110 단계 및 S1120 단계 사이에서 서버(110) 및 제어 장치(120) 간 전송되는 통신 패킷이 없는 것으로 가정한다. 즉, S1120 단계에서, 서버(110)는 제어 장치(120)로부터 S1110 단계의 요청(RQ)과 동일한 순서 비트(SEQ_A)를 갖는 응답(RP)을 수신하지 않고, 제어 장치(120)로 요청(RQ)을 전송한다.Next, referring to FIGS. 2, 10, and 14, as shown in the first section of FIG. 14, in step S1110, the server 110 may transmit a request (RQ) to the control device 120. have. Thereafter, in step S1120, the server 110 may transmit a request (RQ). For example, it is assumed that there is no communication packet transmitted between the server 110 and the control device 120 between steps S1110 and S1120. That is, in step S1120, the server 110 does not receive a response RP having the same sequence bit (SEQ_A) as the request (RQ) in step S1110 from the control device 120, and requests the control device 120 ( RQ).

패킷 감시 장치(130)는 S1120 단계의 재전송된 요청(RQ)이 제2 유형의 비정상 통신 패킷임을 감지할 수 있다. 예시적으로, 제2 유형의 비정상 통신 패킷은 DNP 3.0 프로토콜 통신에서 정상 통신 패킷 송수신의 완성에 위배되는 형태의 통신 패킷을 가리킨다.The packet monitoring device 130 may detect that the retransmitted request (RQ) of step S1120 is a second type of abnormal communication packet. Illustratively, the second type of abnormal communication packet refers to a communication packet in a form in violation of the completion of normal communication packet transmission / reception in DNP 3.0 protocol communication.

예를 들어, 패킷 감시 장치(130)는 S1110 단계 및 S1120 단계의 요청들(RQ)의 링크 헤더(LH)의 소스 필드(Source), 목표 필드(Destination), 응용 프로토콜 제어 정보(ACPI)의 순서 비트(SEQ_A)를 관리할 수 있다. 패킷 감시 장치(130)는 S1110 단계의 요청(RQ)의 순서 비트(SEQ_A)와 동일한 순서 비트를 갖는 응답(RP)이 제어 장치(120)로부터 서버(110)로 전송되지 않았음을 감지할 수 있다. 이는 통신 패킷의 순서 비트(SEQ_A)를 기반으로 감지될 수 있다. 즉, 패킷 감시 장치(130)는 S1120 단계의 요청(RQ)이 제2 유형의 비정상 패킷임을 감지할 수 있다.For example, the packet monitoring device 130 is in the order of the source field (Source), the target field (Destination), and application protocol control information (ACPI) in the link header (LH) of the requests (RQ) in steps S1110 and S1120. Bit (SEQ_A) can be managed. The packet monitoring device 130 may detect that a response RP having a sequence bit equal to the sequence bit (SEQ_A) of the request RQ of step S1110 is not transmitted from the control device 120 to the server 110. have. This can be detected based on the order bit (SEQ_A) of the communication packet. That is, the packet monitoring device 130 may detect that the request (RQ) of step S1120 is a second type of abnormal packet.

다음으로, 도 14의 제2 섹션에 도시된 바와 같이, S1130 단계에서, 서버(110)로부터 요청(RQ)이 수신되지 않았음에도 불구하고, 제어 장치(120)가 서버(110)로 응답(RP)을 전송할 수 있다. 패킷 감시 장치(130)는 S1130 단계의 응답(RP)이 제2 유형의 비정상 패킷임을 감지할 수 있다. 이는 이력 테이블에서 이전에 수신된 통신 패킷들 중 S1130 단계의 응답(RP)과 대응되는 요청을 검색함으로써 감지될 수 있다. 즉, S1130 단계의 응답(RP)이 정상 패킷인 경우, S1130 단계의 응답(RP)과 동일한 순서 비트(SEQ_A)를 갖고, 대응되는 목표 필드 및 소스 필드를 갖는 요청(RQ)이 이력 테이블에 존재할 것이다. 대응되는 요청(RQ)이 업는 경우, 패킷 감시 장치(130)는 패킷 감시 장치(130)는 S1130 단계의 응답(RP)이 제2 유형의 비정상 통신 패킷임을 감지할 수 있다. Next, as shown in the second section of Figure 14, in step S1130, despite the request (RQ) is not received from the server 110, the control device 120 responds to the server 110 (RP ). The packet monitoring device 130 may detect that the response RP of step S1130 is a second type of abnormal packet. This can be detected by searching for a request corresponding to the response (RP) of step S1130 among the previously received communication packets in the history table. That is, when the response (RP) in step S1130 is a normal packet, a request (RQ) having the same order bit (SEQ_A) as the response (RP) in step S1130 and having a corresponding target field and source field exists in the history table. will be. When the corresponding request (RQ) is up, the packet monitoring device 130 may detect that the response (RP) of step S1130 is an abnormal communication packet of the second type.

도 14의 제3 섹션에 도시된 바와 같이, S1140 단계에서, 제어 장치(120)는 서버(110)로 임의 응답(URP)을 전송할 수 있다. S1150 단계에서, 제어 장치(120)는 서버(110)로 임의 응답(URP)을 전송할 수 있다. 예시적으로, 도 14의 제1 섹션과 마찬가지로, S1140 단계 및 S1150 단계 사이에서 서버(110) 및 제어 장치(120)간 전송되는 통신 패킷이 없는 것으로 가정한다. 즉, S1140 단계에서, 제어 장치(120)는 서버(110)로부터 S1140 단계의 임의 응답(URP)과 동일한 순서 비트(SEQ_A)를 갖는 확인(CF)을 수신하지 않고, 서버(110)로 임의 응답(URP)을 전송한다.As illustrated in the third section of FIG. 14, in step S1140, the control device 120 may transmit an arbitrary response (URP) to the server 110. In step S1150, the control device 120 may transmit an arbitrary response (URP) to the server 110. For example, as in the first section of FIG. 14, it is assumed that there are no communication packets transmitted between the server 110 and the control device 120 between steps S1140 and S1150. That is, in step S1140, the control device 120 does not receive an acknowledgment (CF) having the same order bit (SEQ_A) as the random response (URP) of step S1140 from the server 110, and random response to the server 110 (URP).

패킷 감시 장치(130)는 S1150 단계의 재전송된 요청(RQ)이 제2 유형의 비정상 통신 패킷임을 감지할 수 있다. 예시적으로, 제2 유형의 비정상 통신 패킷은 DNP 3.0 프로토콜 통신에서 정상 통신 패킷 송수신의 완성에 위배되는 형태의 통신 패킷을 가리킨다.The packet monitoring device 130 may detect that the retransmitted request (RQ) in step S1150 is a second type of abnormal communication packet. Illustratively, the second type of abnormal communication packet refers to a communication packet in a form in violation of the completion of normal communication packet transmission / reception in DNP 3.0 protocol communication.

예를 들어, 패킷 감시 장치(130)는 S1140 단계 및 S1150 단계의 임의 응답(URP)의 링크 헤더(LH)의 소스 필드(Source), 목표 필드(Destination), 응용 프로토콜 제어 정보(ACPI)의 순서 비트(SEQ_A) 및 임의 응답 비트(UNS)를 관리할 수 있다. 패킷 감시 장치(130)는 S1140 단계의 임의 전송(URP)의 순서 비트(SEQ_A)와 동일한 순서 비트를 갖는 확인(CF)이 서버(110)로부터 제어 장치(120)로 전송되지 않았음을 감지할 수 있다. 예시적으로, 임의 응답(URP)에 대한 확인(CF)은 임의 응답 비트(UNS)가 '1'로 설정되므로, 이를 기반으로, 확인(CF)이 서버(110)로부터 제어 장치(120)로 전송되지 않았음이 감지될 수 있다. 즉, 패킷 감시 장치(130)는 S1150 단계의 임의 응답(URP)이 제2 유형의 비정상 패킷임을 감지할 수 있다.For example, the packet monitoring device 130 may order the source field (Source), target field (Destination), and application protocol control information (ACPI) of the link header (LH) of the random response (URP) of steps S1140 and S1150. Bit (SEQ_A) and random response bit (UNS) can be managed. The packet monitoring device 130 detects that the confirmation CF having the same sequence bit as the sequence bit (SEQ_A) of the random transmission (URP) in step S1140 has not been transmitted from the server 110 to the control device 120. Can be. For example, since the acknowledgment (CF) for the random response (URP) is set to '1', the acknowledgment (CF) from the server 110 to the control device 120 is based on this. It may be detected that it has not been transmitted. That is, the packet monitoring device 130 may detect that the random response (URP) of step S1150 is the second type of abnormal packet.

예시적으로, 패킷 감시 장치(130)는 도 14의 각 단계들에서 송수신되는 통신 패킷들의 응용 프로토콜 제어 정보(APCI)의 기능 코드 필드(Function Code)를 추가적으로 분석함으로써, 식별 및 분류 정확도를 향상시킬 수 있다.For example, the packet monitoring device 130 may further improve the identification and classification accuracy by additionally analyzing a function code field (APCI) of application protocol control information (APCI) of communication packets transmitted and received in each step of FIG. 14. Can be.

예시적으로, S1120 단계의 요청(RQ) 또는 S1150 단계의 임의 응답(URP)은 임계 시간 이 후에 재전송되는 통신 패킷들이 아닐 수 있다. 즉, 도 9를 참조하여, 설명된 바와 같이, 요청(RQ) 또는 임의 응답(URP)이 전송된 이후, 소정의 시간(즉, 타임아웃 시간)동안 응답(RP) 또는 확인(CF)이 수신되지 않을 수 있다. 이 경우, DNP 3.0 프로토콜 통신에서, 요청(RQ) 또는 임의 응답(URP)이 재전송된다. 그러나, 도 14의 S1120 단계의 요청(RQ) 또는 S1150 단계의 임의 응답(URP)은 S1110 단계의 요청(RQ) 또는 S1150 단계의 임의 응답(URP)이 전송된 이후, 소정의 시간이 경과하기 전에 전송되는 통신 패킷들이다. 즉, 도 14의 S1120 단계의 요청(RQ) 또는 S1150 단계의 임의 응답(URP)은 정상 DNP 3.0 프로토콜 통신에서 정상 통신 패킷 송수신의 완성에 위배되는 형태의 통신 패킷일 것이다. 패킷 감시 장치(130)는 송수신되는 통신 패킷들의 송수신 시간을 관리함으로써, S1120 단계의 요청(RQ) 또는 S1150 단계의 임의 응답(URP)이 이전 통신 패킷이 전송된 후 소정의 시간 전에 전송된 통신 패킷인지 판별하고, 이에 따라 S1120 단계의 요청(RQ) 또는 S1150 단계의 임의 응답(URP)이 제2 유형의 비정상 통신 패킷임을 감지할 수 있다.For example, the request (RQ) in step S1120 or the random response (URP) in step S1150 may not be communication packets that are retransmitted after a threshold time. That is, as described with reference to FIG. 9, after a request RQ or a random response (URP) is transmitted, a response (RP) or confirmation (CF) is received for a predetermined time (ie, timeout time) It may not be. In this case, in DNP 3.0 protocol communication, a request (RQ) or a random response (URP) is retransmitted. However, after the request (RQ) of step S1120 or the random response (URP) of step S1150 in FIG. 14 is transmitted after the request (RQ) of step S1110 or the random response (URP) of step S1150 is transmitted, before a predetermined time elapses These are transmitted communication packets. That is, the request (RQ) in step S1120 or the random response (URP) in step S1150 in FIG. 14 may be a communication packet in a form in violation of the completion of normal communication packet transmission / reception in normal DNP 3.0 protocol communication. The packet monitoring device 130 manages the transmission / reception time of transmitted and received communication packets, so that a request (RQ) in step S1120 or a random response (URP) in step S1150 is transmitted before a predetermined time after the previous communication packet is transmitted. It is possible to determine whether the request (RQ) in step S1120 or a random response (URP) in step S1150 is an abnormal communication packet of the second type.

다음으로, 도 2, 도 10, 및 도 15를 참조하면, 도 15의 제1 섹션에 도시된 바와 같이, S1210 단계에서, 서버(110)는 제어 장치(120)로 요청(RQ)을 전송한다. S1220 단계에서, 제어 장치(120)는 서버(110)로 응답(RP)을 전송한다. S1230 단계에서, 서버(110)는 선택적 확인(OCF)를 제어 장치(120)로 전송한다.Next, referring to FIGS. 2, 10, and 15, as shown in the first section of FIG. 15, in step S1210, the server 110 transmits a request (RQ) to the control device 120. . In step S1220, the control device 120 transmits a response (RP) to the server 110. In step S1230, the server 110 transmits an optional confirmation (OCF) to the control device 120.

이 후, S1240 단계에서, 서버(110)는 요청(RRQ)을 제어 장치(120)로 재전송 할 수 있다. 패킷 감시 장치(130)는 S1240 단계의 요청(RRQ)이 제3 유형의 비정상 패킷임을 감지할 수 있다. 예시적으로, 제3 유형의 비정상 통신 패킷은 송수신이 완료된 통신 패킷에 대한 재전송 통신 패킷을 가리킨다.Thereafter, in step S1240, the server 110 may retransmit the request RRQ to the control device 120. The packet monitoring device 130 may detect that the request (RRQ) of step S1240 is a third type of abnormal packet. Illustratively, the third type of abnormal communication packet indicates a retransmission communication packet for a communication packet for which transmission and reception is completed.

예를 들어, 패킷 감시 장치(130)는 이력 테이블(133)을 기반으로 S1210 단계의 요청(RQ), S1220 단계의 응답(RP), 및 S1230 단계의 선택적 확인(OCF)의 제어 정보를 분석하여 S1210 단계 내지 S1230 단계에서 송수신된 통신 패킷들의 송수신이 완료(즉, 하나의 요청에 대한 통신 패킷의 송수신이 완료됨)되었음을 판별할 수 있고, 이를 기반으로, 패킷 감시 장치(130)는 S1240 단계의 재전송 요청(RRQ)이 제3 유형의 비정상 패킷임을 감지할 수 있다. 즉, S1230 단계의 재전송 요청(RRQ)은 송수신이 완료된 통신 패킷과 동일한 순서 비트(SEQ_A)를 갖는 재전송 요청(RRQ)이므로, 패킷 감시 장치(130)는 이를 제3 유형의 비정상 패킷으로서 감지할 수 있다.For example, the packet monitoring device 130 analyzes the control information of the request (RQ) of step S1210, the response (RP) of step S1220, and the selective confirmation (OCF) of step S1230 based on the history table 133 In step S1210 to step S1230, it is possible to determine that transmission / reception of communication packets transmitted and received is completed (that is, transmission and reception of communication packets for one request is completed). Based on this, the packet monitoring device 130 may perform the operation in step S1240. It is possible to detect that the retransmission request (RRQ) is a third type of abnormal packet. That is, since the retransmission request (RRQ) in step S1230 is a retransmission request (RRQ) having the same order bit (SEQ_A) as the communication packet for which transmission and reception is completed, the packet monitoring apparatus 130 can detect it as a third type of abnormal packet. have.

다음으로 도 15의 제2 섹션에 도시된 바와 같이, S1250 단계에서, 서버(110)는 제어 장치(120)로 요청(RQ)을 전송할 수 있다. 예시적으로, S1250 단계의 요청(RQ)은 재전송 및 응답을 요구하지 않는 요청일 수 있다. 패킷 감시 장치(130)는 S1250 단계의 요청(RQ)의 응용 프로토콜 제어 필드(ACPI)의 기능 코드 필드(Function code)를 분석함으로써 S1250 단계의 요청(RQ)이 재전송 및 응답을 요구하지 않는 요청임을 확인할 수 있다. 예시적으로, 재전송 및 응답을 요구하지 않는 요청은 도 8을 참조하여 설명된 기능 코드 필드(Function Code)를 갖는 요청들일 수 있다.Next, as shown in the second section of FIG. 15, in step S1250, the server 110 may transmit a request (RQ) to the control device 120. For example, the request (RQ) of step S1250 may be a request that does not require retransmission and response. The packet monitoring device 130 analyzes the function code field of the application protocol control field (ACPI) of the request RQ of step S1250, so that the request RQ of step S1250 is a request that does not require retransmission and response Can be confirmed. Exemplarily, a request that does not require retransmission and response may be requests having a function code field described with reference to FIG. 8.

이 후, S1260 단계에서, 서버(110)는 제어 장치(120)로 요청(RRQ)을 재전송할 수 있다. S1260 단계의 재전송 요청(RRQ)은 S1250 단계의 요청(RQ)에 대한 재전송 요청일 수 있다. 그러나, S1250 단계의 요청(RQ)이 재전송 및 응답을 요구하지 않는 요청인 경우, S1260 단계의 재전송 요청(RRQ)은 제3 유형의 비정상 패킷일 것이다. 패킷 감시 장치(130)는 이력 테이블 및 S1260 단계의 재전송 요청(RRQ)의 제어 정보를 기반으로, S1260 단계의 재전송 요청(RRQ)이 제3 유형이 비정상 패킷임을 감지할 수 있다.Thereafter, in step S1260, the server 110 may retransmit the request RRQ to the control device 120. The retransmission request (RRQ) in step S1260 may be a retransmission request for the request (RQ) in step S1250. However, if the request (RQ) of step S1250 is a request that does not require retransmission and response, the retransmission request (RRQ) of step S1260 will be a third type of abnormal packet. Based on the history table and the control information of the retransmission request (RRQ) of step S1260, the packet monitoring device 130 may detect that the third type is an abnormal packet of the retransmission request (RRQ) of step S1260.

다음으로, 도 15의 제3 섹션에 도시된 바와 ??이, S1270 단계에서, 제어 장치(120)는 서버(110)로 임의 응답(URP)을 전송할 수 있다. S1280 단계에서, 서버(110)는 제어 장치(120)로 확인(CF)을 전송할 수 있다. 이 후, S1290 단계에서, 제어 장치(120)는 서버(110)로 임의 응답(RURP)을 재전송 할 수 있다. 패킷 감시 장치(130)는 S1280 단계의 재전송 임의 응답(RURP)이 제3 유형의 비정상 패킷임을 감지할 수 있다.Next, as shown in the third section of FIG. 15, in step S1270, the control device 120 may transmit an arbitrary response (URP) to the server 110. In step S1280, the server 110 may transmit a confirmation (CF) to the control device 120. Thereafter, in step S1290, the control device 120 may retransmit a random response (RURP) to the server 110. The packet monitoring device 130 may detect that the retransmission random response (RURP) of step S1280 is a third type of abnormal packet.

예를 들어, 패킷 감시 장치(130)는 이력 테이블(133)을 기반으로 S1270 단계의 임의 응답(URP) 및 S1280 단계의 확인(CF)의 제어 정보를 분석하여 S1270 단계 및 S1280 단계에서 송수신된 통신 패킷들의 송수신이 완료(즉, 하나의 요청에 대한 통신 패킷의 송수신이 완료됨)되었음을 판별할 수 있고, 이를 기반으로, 패킷 감시 장치(130)는 S1290 단계의 재전송 임의 응답(RURP)이 제3 유형의 비정상 패킷임을 감지할 수 있다. 즉, S1290 단계의 재전송 임의 응답(RURP)은 송수신이 완료된 통신 패킷과 동일한 순서 비트(SEQ_A)를 갖는 재전송 임의 응답(RURP)이므로, 패킷 감시 장치(130)는 이를 제3 유형의 비정상 패킷으로서 감지할 수 있다.For example, the packet monitoring device 130 analyzes the control information of the random response (URP) of step S1270 and the confirmation (CF) of step S1280 based on the history table 133 to communicate transmitted and received in steps S1270 and S1280. It can be determined that the transmission / reception of packets is completed (that is, transmission / reception of a communication packet for one request is completed), and based on this, the packet monitoring apparatus 130 has a retransmission random response (RURP) in step S1290. It can detect that it is a type of abnormal packet. That is, since the retransmission random response (RURP) of step S1290 is a retransmission random response (RURP) having the same order bit (SEQ_A) as the communication packet for which transmission and reception is completed, the packet monitoring apparatus 130 detects it as a third type of abnormal packet can do.

예시적으로, 패킷 감시 장치(130)는 추가적인 정보(예를 들어, 기능 코드 필드 또는 별도의 식별 데이터 등)를 추가 분석하여 제3 유형의 비정상 패킷을 감지할 수 있다.For example, the packet monitoring device 130 may detect additional types of abnormal packets by further analyzing additional information (eg, a function code field or separate identification data).

다음으로, 도 2, 도 10, 및 도 16을 참조하면, 도 16의 제1 섹션에 도시된 바와 같이, S1310 단계에서, 서버(110)는 제어 장치(120)로 요청(RQ)을 전송할 수 있다. 이 때, 요청(RQ)의 순서 비트(SEQ_A)는 'N' 값을 가질 수 있다. 이 후, S1320 단계에서, 제어 장치(120)는 서버(110)로 응답(RP)을 전송할 수 있다. 이 때, 응답(RP)은 마지막 응답(RP)(즉, 종료 비트(FIN)가 '1'로 설정)의 순서 비트(SEQ_A)은 'N+i'의 값을 가질 수 있다. 예시적으로, 'i'는 응답(RP)의 데이터 조각(FRAG)의 개수보다 1만큼 큰 값을 가리킨다. S1330 단계에서, 서버(110)는 제어 장치(120)로 선택적 확인(OCF)을 전송할 수 있다.Next, referring to FIGS. 2, 10, and 16, as shown in the first section of FIG. 16, in step S1310, the server 110 may transmit a request (RQ) to the control device 120 have. At this time, the order bit (SEQ_A) of the request (RQ) may have a value of 'N'. Thereafter, in step S1320, the control device 120 may transmit a response (RP) to the server 110. At this time, the response RP may have a value of 'N + i' in the sequence bit (SEQ_A) of the last response RP (that is, the end bit FIN is set to '1'). For example, 'i' indicates a value greater than 1 by the number of data fragments (FRAG) of the response (RP). In step S1330, the server 110 may transmit an optional confirmation (OCF) to the control device 120.

이 후, S1340 단계에서, 서버(110)는 제어 장치(120)로 요청(RQ)을 전송할 수 있다. 예시적으로, DNP 3.0 프로토콜 통신에서 정상적인 요청의 순서 비트는 마지막 응답의 순서 비트보다 1만큼 큰 값을 가질 것이다. 즉, S1340 단계의 요청(RQ)이 정상적인 요청(RQ)인 경우, 'N+i+1'의 순서 비트를 가질 것이다. 그러나, S1340 단계의 요청(RQ)이 'N+i+1'의 순서 비트를 갖지 않는 경우, S1340 단계의 요청(RQ)은 제4 유형의 비정상 통신 패킷이다. 패킷 감시 장치(130)는 이력 테이블(133)의 정보 및 S1340 단계의 요청(RQ)의 제어 정보(예를 들어, 순서 비트(SEQ_A))를 분석하여 S1340 단계의 요청(RQ)이 제4 유형의 비정상 패킷임을 감지할 수 있다. 예시적으로, 제4 유형의 비정상 통신 패킷은 DNP 3.0 프로토콜 통신에서 정상적인 순서 비트에 위배되는 통신 패킷을 가리킨다.Thereafter, in step S1340, the server 110 may transmit a request (RQ) to the control device 120. For example, in DNP 3.0 protocol communication, the order bit of a normal request will have a value greater than 1 by the order bit of the last response. That is, if the request (RQ) of step S1340 is a normal request (RQ), it will have a sequence bit of 'N + i + 1'. However, when the request RQ of step S1340 does not have a sequence bit of 'N + i + 1', the request RQ of step S1340 is a fourth type of abnormal communication packet. The packet monitoring device 130 analyzes the information of the history table 133 and the control information of the request (RQ) of step S1340 (for example, the order bit (SEQ_A)) so that the request (RQ) of step S1340 is the fourth type It can detect that it is an abnormal packet. Illustratively, the fourth type of abnormal communication packet indicates a communication packet that violates a normal order bit in DNP 3.0 protocol communication.

다음으로, 도 16의 제2 섹션에 도시된 바와 같이, S1350 단계에서, 서버(110)는 제어 장치(120)로 요청(RQ)을 전송할 수 있다. 이 때, 요청(RQ)은 응답이 요구되지 않는 요청이고, 'N'의 순서 비트(SEQ_A)를 가질 수 있다. S1360 단계에서, 서버(110)는 제어 장치(120)로 요청(RQ)을 전송할 수 있다. 이 때, 상술된 바와 같이, S1260 단계의 요청(RQ)의 순서 비트(SEQ_A)가 'N+1'이 아닌 경우, S1260 단계의 요청(RQ)은 제4 유형의 비정상 통신 패킷이다. 패킷 감시 장치(130)는 이력 테이블(133)의 정보 및 S1360 단계의 요청(RQ)의 제어 정보(예를 들어, 순서 비트(SEQ_A))를 분석하여 S1360 단계의 요청(RQ)이 제4 유형의 비정상 패킷임을 감지할 수 있다.Next, as shown in the second section of FIG. 16, in step S1350, the server 110 may transmit a request (RQ) to the control device 120. At this time, the request (RQ) is a request for which no response is required, and may have a sequence bit (SEQ_A) of 'N'. In step S1360, the server 110 may transmit a request (RQ) to the control device 120. At this time, as described above, when the sequence bit (SEQ_A) of the request (RQ) in step S1260 is not 'N + 1', the request (RQ) in step S1260 is a fourth type of abnormal communication packet. The packet monitoring apparatus 130 analyzes the information of the history table 133 and the control information of the request (RQ) of step S1360 (for example, the order bit (SEQ_A)), so that the request (RQ) of step S1360 is the fourth type It can detect that it is an abnormal packet.

다음으로, 도 16의 제3 섹션에 도시된 바와 같이, 도 16의 제2 섹션에 도시된 바와 같이, S1370 단계에서, 제어 장치(120)는 서버(110)로 임의 응답(URP)을 전송할 수 있다. 이 때, 임의 응답(URP)의 순서 비트(SEQ_A)는 'N' 값을 가질 수 있다. S1380 단계에서, 서버(110)는 제어 장치(120)로 확인(CF)을 전송할 수 있다. S1390 단계에서, 제어 장치(120)는 서버(110)로 임의 응답(URP)을 전송할 수 있다. 이 때, S1390 단계의 임의 응답(URP)이 DNP 3.0 프로토콜 통신에서 정상적인 통신 패킷인 경우, 마지막 임의 응답(즉, S1270 단계의 임의 응답(URP))의 순서 비트의 값(즉, N)보다 1만큼 큰 순서 비트의 값을 가질 것이다. 그러나, S1390 단계의 임의 응답(URP)이 상술된 바왁 같은 순서 비트의 값을 갖지 않는 경우, S1390 단계의 임의 응답(URP)은 제4 유형의 비정상 통신 패킷일 것이다. 패킷 감시 장치(130)는 이력 테이블(133)의 정보 및 S1390 단계의 임의 응답(URP)의 제어 정보(예를 들어, 순서 비트(SEQ_A))를 분석하여 S1390 단계의 임의 응답(URP)이 제4 유형의 비정상 패킷임을 감지할 수 있다.Next, as shown in the third section of FIG. 16, as shown in the second section of FIG. 16, in step S1370, the control device 120 may transmit an arbitrary response (URP) to the server 110. have. At this time, the sequence bit (SEQ_A) of the random response (URP) may have a value of 'N'. In step S1380, the server 110 may transmit a confirmation (CF) to the control device 120. In step S1390, the control device 120 may transmit an arbitrary response (URP) to the server 110. At this time, if the random response (URP) of step S1390 is a normal communication packet in DNP 3.0 protocol communication, the value of the order bit (ie, N) of the last random response (ie, random response (URP) of step S1270) is 1 It will have the value of an order bit as large as that. However, if the random response (URP) of step S1390 does not have the value of the order bit as described above, the random response (URP) of step S1390 will be a fourth type of abnormal communication packet. The packet monitoring device 130 analyzes the information of the history table 133 and the control information of the random response (URP) of step S1390 (for example, the order bit (SEQ_A)) to provide a random response (URP) of step S1390. It can detect 4 types of abnormal packets.

마지막으로, 도 2, 도 10, 및 도 17을 참조하면, S1410 단계에서, 제어 장치(120)는 서버(110)로 응답(RP)을 전송할 수 있다. 예시적으로, 응답(RP)은 다중 데이터 세그먼트를 포함할 수 있다. 즉, 응답(RQ)은 복수의 데이터 세그먼트들을 포함하고, 제어 장치(120)는 서버(110)로 복수의 데이터 세그먼트들을 순차적으로 전송할 수 있다. 이 때, 최초 전송되는 데이터 세그먼트의 전송 헤더(TH)의 시작 비트(FIR)는 '1'로 설정되고, 마지막 데이터 세그먼트의 전송 헤더(TH)의 종료 비트(FIN)는 '1'로 설정된다.Finally, referring to FIGS. 2, 10, and 17, in step S1410, the control device 120 may transmit a response RP to the server 110. Exemplarily, the response RP may include multiple data segments. That is, the response RQ includes a plurality of data segments, and the control device 120 may sequentially transmit the plurality of data segments to the server 110. At this time, the start bit FIR of the transmission header TH of the first data segment is set to '1', and the end bit FIN of the transmission header TH of the last data segment is set to '1'. .

S1420 단계에서, 제어 장치(120)는 서버(110)로 응답(RP)을 전송할 수 있다. 이 때, S1410 단계의 응답(RP)(즉, 다중 데이터 세그먼트)이 모두 수신되기 이전이고, S1420 단계의 응답(RP)의 전송 헤더(TH)의 시작 비트(FIR)가 '1'일 수 있다. 이 경우, S1420 단계의 응답(RP)은 제5 유형의 비정상 통신 패킷일 수 있다. 예시적으로, 제5 유형의 비정상 통신 패킷은 DNP 3.0 프로토콜 통신에서 비정상적인 메시지 끼워넣기를 유발하는 통신 패킷을 가리킨다.In step S1420, the control device 120 may transmit a response (RP) to the server 110. At this time, before all of the response (RP) of step S1410 (that is, multiple data segments) are received, the start bit (FIR) of the transmission header TH of the response (RP) of step S1420 may be '1'. . In this case, the response RP of step S1420 may be a fifth type of abnormal communication packet. Illustratively, the fifth type of abnormal communication packet refers to a communication packet that causes abnormal message interpolation in DNP 3.0 protocol communication.

패킷 감시 장치(130)는 이력 테이블(133) 및 S1420 단계의 응답(RP)의 전송 헤더(TH)를 분석함으로써 S1420 단계의 응답(RP)이 제5 유형의 비정상 통신 패킷인지 감지할 수 있다. 예를 들어, 다중 데이터 세그먼트 전송에서 정상적인 통신 패킷의 경우, 시작 비트(FIR)가 '1'인 통신 패킷이 제어 장치(120)로부터 서버(110)로 수신된 이후에, 종료 비트(FIN)가 '1'인 통신 패킷이 제어 장치(120)로부터 서버(110)로 수신된다. 그러나, 종료 비트(FIN)가 '1'인 통신 패킷이 제어 장치(120)로부터 서버(110)로 수신되기 이전에, 시작 비트(FIR)가 '1'인 통신 패킷이 제어 장치(120)로부터 서버(110)로 수신된 경우, 이전에 수신된 데이터 세그먼트들이 서버(110)에서 제거됨으로써, 데이터 신뢰성에 대한 피해가 발생할 수 있다.The packet monitoring apparatus 130 may detect whether the response RP of step S1420 is a fifth type of abnormal communication packet by analyzing the history table 133 and the transmission header TH of the response RP of step S1420. For example, in the case of a normal communication packet in multi-data segment transmission, after a communication packet with a start bit (FIR) of '1' is received from the control device 120 to the server 110, the end bit (FIN) is A communication packet of '1' is received from the control device 120 to the server 110. However, before a communication packet with an end bit (FIN) of '1' is received from the control device 120 to the server 110, a communication packet with a start bit (FIR) of '1' from the control device 120 When received by the server 110, the previously received data segments are removed from the server 110, thereby causing damage to data reliability.

패킷 감시 장치(130)는 이력 테이블(133) 및 S1420 단계의 응답(RP)의 전송 헤더(TH)를 분석함으로써 S1420 단계의 응답(RP)이 제5 유형의 비정상 통신 패킷인지 감지할 수 있다. 패킷 감시 장치(130)는 감지 결과에 따라 비정상 통신 패킷을 제거하여 이전에 송수신된 데이터 패킷의 제거를 방지할 수 있다.The packet monitoring apparatus 130 may detect whether the response RP of step S1420 is a fifth type of abnormal communication packet by analyzing the history table 133 and the transmission header TH of the response RP of step S1420. The packet monitoring device 130 may remove an abnormal communication packet according to a detection result to prevent the removal of a previously transmitted / received data packet.

예시적으로, 도 13 내지 도 17을 참조하여 서버(110) 및 제어 장치(120) 사이에 송수신되는 비정상 통신 패킷의 유형의 감지 방법이 설명되었나, 본 발명의 범위가 이에 한정되는 것은 아니다. 예를 들어, 비정상 통신 패킷은 서버(110) 및 제어 장치(120) 이외의 별도의 해킹 장치에 의해 송수신될 수 있다. 패킷 감시 장치(130)는 상술된 해킹 장치에 의해 송수신되는 통신 패킷을 수신할 수 있도록 통신 선로(CL) 상에 배치되고, 비정상 통신 패킷을 감지 및 분류할 수 있다.Exemplarily, a method of detecting a type of an abnormal communication packet transmitted and received between the server 110 and the control device 120 has been described with reference to FIGS. 13 to 17, but the scope of the present invention is not limited thereto. For example, the abnormal communication packet may be transmitted and received by a separate hacking device other than the server 110 and the control device 120. The packet monitoring device 130 is disposed on the communication line CL to receive communication packets transmitted and received by the above-described hacking device, and can detect and classify abnormal communication packets.

상술된 본 발명의 실시 예들에 따르면, 패킷 감시 장치(130)는 서버(110) 및 제어 장치(120) 사이에서 송수신되는 통신 패킷의 제어 정보를 분석하고, 이력 테이블(133)로서 관리할 수 있다. 패킷 감시 장치(130)는 이력 테이블(133) 및 수신된 통신 패킷의 제어 정보를 분석하여 비정상 통신 패킷을 감지하고 비정상 유형을 분류할 수 있다. 즉, 본 발명의 실시 예에 따른 패킷 감시 장치(130)는 일반적인 카운트 방식의 기법보다 효율적이고 신속한 비정상 트래픽 탐지 기법을 제공한다. 따라서, 제어시스템 간의 안정적이고 신뢰할 수 있는 통신서비스가 제공된다. 또한, 본 발명의 실시 예에 따른 패킷 감시 장치(130)의 비정상 트래픽 탐지 기법은 최소한의 패킷 분석을 통해서 DNP 3.0 제어 프로토콜 상에서 발생할 수 있는 여러 유형의 비정상 트래픽을 효율적으로 탐지한다.According to the above-described embodiments of the present invention, the packet monitoring device 130 may analyze control information of communication packets transmitted and received between the server 110 and the control device 120 and manage them as a history table 133. . The packet monitoring device 130 may analyze the history table 133 and control information of the received communication packet to detect an abnormal communication packet and classify the abnormal type. That is, the packet monitoring apparatus 130 according to an embodiment of the present invention provides an efficient and fast abnormal traffic detection technique than the general count method. Accordingly, a stable and reliable communication service between control systems is provided. In addition, the abnormal traffic detection method of the packet monitoring apparatus 130 according to an embodiment of the present invention efficiently detects various types of abnormal traffic that may occur on the DNP 3.0 control protocol through minimal packet analysis.

본 발명의 상세한 설명에서는 구체적인 실시 예들에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러가지 변형이 가능하다. 그러므로, 본 발명의 범위는 상술된 실시 예들에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 할 것이다.In the detailed description of the present invention, specific embodiments have been described, but various modifications are possible without departing from the scope of the present invention. Therefore, the scope of the present invention should not be limited to the above-described embodiments, but should be determined not only by the following claims, but also by the claims and equivalents of the present invention.

100 : 제어 시스템
110 : 서버
120 : 제어 장치
130 :패킷 감시 장치
131 : DNP 3.0 프로토콜 물리 계층
132 : 패킷 분석 모듈
133 : 이력 테이블
134 : 비정상 패킷 검출 및 분류 모듈
135 : 제어 모듈
ASDU : 응용 서비스 데이터 유닛
FRAG : 데이터 조각
APDU : 응용 프로토콜 데이터 유닛
APCI : 응용 프로토콜 제어 정보
SEG : 데이터 세그먼트
TPDU : 전송 프로토콜 데이터 유닛
TH : 전송 헤더
FR : 데이터 프레임
LPDU : 링크 프로토콜 데이터 유닛
100: control system
110: server
120: control device
130: packet monitoring device
131: DNP 3.0 protocol physical layer
132: packet analysis module
133: history table
134: abnormal packet detection and classification module
135: control module
ASDU: Application Service Data Unit
FRAG: data fragment
APDU: Application Protocol Data Unit
APCI: Application protocol control information
SEG: Data segment
TPDU: Transmission Protocol Data Unit
TH: transport header
FR: Data frame
LPDU: Link Protocol Data Unit

Claims (20)

서버 및 제어 장치 사이에서 송수신되는 통신 패킷에 대한 패킷 감시 방법에 있어서,
상기 서버 및 상기 제어 장치 사이에서 송수신되는 통신 패킷을 수신하는 단계;
상기 수신된 통신 패킷보다 이전에 수신된 통신 패킷들의 제어 정보를 포함하는 이력 테이블 및 상기 수신된 통신 패킷의 제어 정보를 기반으로 상기 수신된 통신 패킷의 비정상 여부를 판별하는 단계; 및
상기 판별 결과에 따라 보안 동작을 수행하는 단계를 포함하고,
상기 제어 정보는 상기 통신 패킷의 응용 프로토콜 제어 정보의 기능 코드 필드, 상기 응용 프로토콜 제어 정보의 순서 비트, 링크 헤더의 소스 필드, 상기 링크 헤더의 목표 필드, 전송 헤더의 시작 비트, 및 상기 전송 헤더의 종료 비트를 포함하고,
상기 서버 및 상기 제어 장치는 분산 네트워크 프로토콜 3.0(DNP 3.0; Distributed Network Protocol 3.0)을 기반으로 상기 통신 패킷을 주고 받고,
상기 수신된 통신 패킷의 비정상 여부를 판별하는 단계는 상기 수신된 통신 패킷이 비정상 통신 패킷인 경우, 상기 수신된 통신 패킷을 제1 내지 제5 유형의 비정상 통신 패킷 중 어느 하나로 분류하는 단계를 포함하고,
상기 제1 유형의 비정상 통신 패킷은 상기 서버 및 상기 제어 장치 사이에서 발생할 수 없는 비정상 통신 패킷을 가리키고,
상기 제2 유형의 비정상 통신 패킷은 상기 서버 및 상기 제어 장치 사이에서 정상적인 통신에 위배되는 비정상 통신 패킷을 가리키고,
상기 제3 유형의 비정상 통신 패킷은 상기 서버 및 상기 제어 장치 사이에서 송수신이 완료된 통신 패킷에 대하여 재전송되는 비정상 통신 패킷을 가리키고,
상기 제4 유형의 비정상 통신 패킷은 상기 서버 및 상기 제어 장치 사이에서 정상적인 순서 비트에 위배되는 비정상 통신 패킷을 가리키고,
상기 제5 유형의 비정상 통신 패킷은 상기 서버 및 상기 제어 장치 사이에서 비정상적인 메시지 끼워넣기를 발생시키는 비정상 통신 패킷을 가리키는 패킷 감시 방법.
In the packet monitoring method for the communication packet transmitted and received between the server and the control device,
Receiving a communication packet transmitted and received between the server and the control device;
Determining whether the received communication packet is abnormal based on a history table including control information of communication packets received earlier than the received communication packet and control information of the received communication packet; And
And performing a security operation according to the determination result,
The control information includes the function code field of the application protocol control information of the communication packet, the order bit of the application protocol control information, the source field of the link header, the target field of the link header, the start bit of the transport header, and the transport header. Contains an end bit,
The server and the control device exchange and transmit the communication packets based on Distributed Network Protocol 3.0 (DNP 3.0),
The step of determining whether the received communication packet is abnormal includes classifying the received communication packet into any one of the first to fifth types of abnormal communication packets when the received communication packet is an abnormal communication packet. ,
The abnormal communication packet of the first type indicates an abnormal communication packet that cannot occur between the server and the control device,
The second type of abnormal communication packet indicates an abnormal communication packet that is in violation of normal communication between the server and the control device,
The abnormal communication packet of the third type indicates an abnormal communication packet that is retransmitted with respect to the communication packet that has been transmitted and received between the server and the control device,
The fourth type of abnormal communication packet indicates an abnormal communication packet that violates a normal sequence bit between the server and the control device,
The fifth type of abnormal communication packet is a packet monitoring method indicating an abnormal communication packet that causes an abnormal message interpolation between the server and the control device.
삭제delete 삭제delete 삭제delete 제 1 항에 있어서,
상기 수신된 통신 패킷을 제1 내지 제5 유형의 비정상 통신 패킷 중 어느 하나로 분류하는 단계는,
상기 수신된 통신 패킷의 상기 링크 헤더의 소스 필드 및 상기 응용 프로토콜 제어 정보의 기능 코드 필드를 기반으로 상기 수신된 통신 패킷을 상기 제1 유형의 비정상 통신 패킷으로 분류하는 단계를 포함하는 패킷 감시 방법.
According to claim 1,
Classifying the received communication packet into any one of the first to fifth types of abnormal communication packets,
And classifying the received communication packet into the first type of abnormal communication packet based on a source code field of the link header of the received communication packet and a function code field of the application protocol control information.
제 5 항에 있어서,
상기 수신된 통신 패킷을 상기 제1 유형의 비정상 통신 패킷으로 분류하는 단계는,
상기 수신된 통신 패킷의 상기 링크 헤더의 상기 소스 필드가 상기 서버를 가리키고, 상기 기능 코드 필드가 응답 또는 임의 응답과 대응되는 값을 갖거나 또는 상기 수신된 통신 패킷의 상기 링크 헤더의 상기 소스 필드가 상기 제어 장치를 가리키고, 상기 기능 코드 필드가 요청과 대응되는 값을 갖는 경우, 상기 수신된 통신 패킷을 상기 제1 유형의 비정상 통신 패킷으로 분류하는 단계를 포함하는 패킷 감시 방법.
The method of claim 5,
Classifying the received communication packet into the abnormal communication packet of the first type,
The source field of the link header of the received communication packet points to the server, the function code field has a value corresponding to a response or a random response, or the source field of the link header of the received communication packet And pointing to the control device and classifying the received communication packet into the abnormal communication packet of the first type when the function code field has a value corresponding to the request.
제 1 항에 있어서,
상기 수신된 통신 패킷을 제1 내지 제5 유형의 비정상 통신 패킷 중 어느 하나로 분류하는 단계는,
상기 이력 테이블에 포함된 상기 이전에 수신된 통신 패킷들의 순서 비트들 및 수신된 시간을 기반으로 상기 수신된 통신 패킷을 상기 제2 유형의 비정상 통신 패킷으로 분류하는 단계를 포함하는 패킷 감시 방법.
According to claim 1,
Classifying the received communication packet into any one of the first to fifth types of abnormal communication packets,
And classifying the received communication packet into the second type of abnormal communication packet based on sequence bits and received time of the previously received communication packets included in the history table.
제 7 항에 있어서,
상기 수신된 통신 패킷을 상기 제2 유형의 비정상 통신 패킷으로 분류하는 단계는,
상기 이력 테이블에 포함된 상기 이전에 수신된 통신 패킷들 중 상기 수신된 통신 패킷과 동일한 순서 비트를 갖는 통신 패킷이 소정의 시간 이전에 수신된 경우, 상기 수신된 통신 패킷을 상기 제2 유형의 비정상 통신 패킷으로 분류하는 단계를 포함하는 패킷 감시 방법.
The method of claim 7,
Classifying the received communication packet into the abnormal communication packet of the second type,
If a communication packet having the same order bit as the received communication packet among the previously received communication packets included in the history table is received before a predetermined time, the received communication packet is abnormal in the second type. Packet monitoring method comprising the step of classifying the communication packet.
제 1 항에 있어서,
상기 수신된 통신 패킷을 제1 내지 제5 유형의 비정상 통신 패킷 중 어느 하나로 분류하는 단계는,
상기 이전에 수신된 통신 패킷들 중 상기 수신된 통신 패킷과 대응되는 통신 패킷들의 송수신 완료 여부에 따라 상기 수신된 통신 패킷을 상기 제3 유형의 비정상 통신 패킷으로 분류하는 단계를 포함하는 패킷 감시 방법.
According to claim 1,
Classifying the received communication packet into any one of the first to fifth types of abnormal communication packets,
And classifying the received communication packet into the abnormal communication packet of the third type according to whether transmission / reception of communication packets corresponding to the received communication packet among the previously received communication packets is completed.
제 9 항에 있어서,
상기 수신된 통신 패킷을 제1 내지 제5 유형의 비정상 통신 패킷들 중 어느 하나로 분류하는 단계는,
상기 이력 테이블을 기반으로 상기 이전에 수신된 통신 패킷들 중 상기 수신된 통신 패킷과 동일한 순서 비트를 갖는 통신 패킷의 송수신이 완료된 경우, 상기 수신된 통신 패킷을 상기 제3 유형의 비정상 통신 패킷으로 분류하는 단계를 포함하는 패킷 감시 방법.
The method of claim 9,
Classifying the received communication packet into any one of the first to fifth types of abnormal communication packets,
When transmission / reception of a communication packet having the same order bit as the received communication packet among the previously received communication packets is completed based on the history table, the received communication packet is classified as the abnormal communication packet of the third type. Packet monitoring method comprising the step of.
제 1 항에 있어서,
상기 수신된 통신 패킷을 제1 내지 제5 유형의 비정상 통신 패킷들 중 어느 하나로 분류하는 단계는,
상기 이력 테이블에 포함된 상기 이전에 수신된 통신 패킷들의 순서 비트들을 기반으로 상기 수신된 통신 패킷을 상기 제4 유형의 비정상 통신 패킷으로 분류하는 단계를 포함하는 패킷 감시 방법.
According to claim 1,
Classifying the received communication packet into any one of the first to fifth types of abnormal communication packets,
And classifying the received communication packet into the fourth type of abnormal communication packet based on order bits of the previously received communication packets included in the history table.
제 11 항에 있어서,
상기 수신된 통신 패킷을 상기 제4 유형의 비정상 통신 패킷으로 분류하는 단계는,
상기 수신된 통신 패킷의 순서 비트가 상기 이력 테이블에 포함된 상기 이전에 수신된 통신 패킷들의 순서 비트들을 기반으로 상기 분산 네트워크 프로토콜 3.0에 따른 순서 비트와 다른 경우, 상기 수신된 통신 패킷의 순서 비트를 상기 제4 유형의 비정상 통신 패킷으로 분류하는 단계를 포함하는 패킷 감시 방법.
The method of claim 11,
The step of classifying the received communication packet into the abnormal communication packet of the fourth type,
If the order bit of the received communication packet is different from the order bit according to the distributed network protocol 3.0 based on the order bits of the previously received communication packets included in the history table, the order bit of the received communication packet is And classifying the fourth type of abnormal communication packet.
제 1 항에 있어서,
상기 수신된 통신 패킷을 제1 내지 제5 유형의 비정상 통신 패킷들 중 어느 하나로 분류하는 단계는,
상기 이력 테이블에 포함된 상기 이전에 수신된 통신 패킷들의 링크 헤더의 시작 비트들 및 종료 비트들을 기반으로 상기 수신된 통신 패킷을 상기 제5 유형의 비정상 통신 패킷으로 분류하는 단계를 포함하는 패킷 감시 방법.
According to claim 1,
Classifying the received communication packet into any one of the first to fifth types of abnormal communication packets,
And classifying the received communication packet into the fifth type of abnormal communication packet based on start bits and end bits of a link header of the previously received communication packets included in the history table. .
제 13 항에 있어서,
상기 수신된 통신 패킷을 상기 제5 유형의 비정상 통신 패킷으로 분류하는 단계는,
상기 제어 장치로부터 상기 서버로 전송되는 상기 종료 비트가 '1'인 통신 패킷이 수신되기 이전에 상기 시작 비트가 '1'인 통신 패킷이 수신되는 경우, 상기 수신된 통신 패킷을 상기 제5 유형의 비정상 통신 패킷으로 분류하는 단계를 포함하는 패킷 감시 방법.
The method of claim 13,
Classifying the received communication packet into the abnormal communication packet of the fifth type,
When the communication packet with the start bit '1' is received before the communication packet with the end bit '1' transmitted from the control device to the server, the received communication packet is the fifth type. Packet monitoring method comprising the step of classifying as an abnormal communication packet.
서버 및 제어 장치 사이에서 송수신되는 통신 패킷을 수신하고, 상기 수신된 통신 패킷을 해제하여 제어 정보 및 메시지를 생성하는 분산 네트워크 프로토콜 물리 계층;
상기 수신된 통신 패킷의 상기 제어 정보를 관리하는 통신 패킷 분석 모듈;
상기 수신된 통신 패킷의 제어 정보 및 상기 수신된 통신 패킷보다 이전에 수신된 통신 패킷의 제어 정보를 저장하는 이력 테이블; 및
상기 이력 테이블에 저장된 상기 이전에 수신된 통신 패킷의 제어 정보 및 상기 수신된 통신 패킷의 제어 정보를 기반으로 상기 수신된 통신 패킷이 비정상 통신 패킷인지 판별하는 비정상 패킷 검출 및 분류 모듈; 및
상기 비정상 패킷 검출 및 분류 모듈의 판별 결과에 따라 보안 동작을 수행하는 제어 모듈을 포함하고,
상기 제어 정보는 상기 통신 패킷의 응용 프로토콜 제어 정보의 기능 코드 필드, 상기 응용 프로토콜 제어 정보의 순서 비트, 링크 헤더의 소스 필드, 상기 링크 헤더의 목표 필드, 전송 헤더의 시작 비트, 및 상기 전송 헤더의 종료 비트를 포함하고,
상기 서버 및 상기 제어 장치는 분산 네트워크 프로토콜 3.0(DNP 3.0; Distributed Network Protocol 3.0)을 기반으로 상기 통신 패킷을 송수신하고,
상기 분산 네트워크 프로토콜 물리 계층은
상기 수신된 통신 패킷으로부터 상기 링크 헤더를 추출하는 DNP 3.0 데이터 링크 계층;
상기 수신된 통신 패킷으로부터 상기 전송 헤더를 추출하는 DNP 3.0 전송 계층; 및
상기 수신된 통신 패킷으로부터 상기 응용 프로토콜 제어 정보를 추출하는 DNP 3.0 응용 계층을 포함하는 패킷 감시 장치.
A distributed network protocol physical layer that receives communication packets transmitted and received between a server and a control device, and releases the received communication packets to generate control information and messages;
A communication packet analysis module that manages the control information of the received communication packet;
A history table for storing control information of the received communication packet and control information of a communication packet received earlier than the received communication packet; And
An abnormal packet detection and classification module for determining whether the received communication packet is an abnormal communication packet based on the control information of the previously received communication packet and the control information of the received communication packet stored in the history table; And
A control module for performing a security operation according to the result of the abnormal packet detection and classification module determination,
The control information includes a function code field of the application protocol control information of the communication packet, an order bit of the application protocol control information, a source field of a link header, a target field of the link header, a start bit of the transport header, and the transport header. Contains an end bit,
The server and the control device transmit and receive the communication packet based on Distributed Network Protocol 3.0 (DNP 3.0; Distributed Network Protocol 3.0),
The distributed network protocol physical layer
A DNP 3.0 data link layer extracting the link header from the received communication packet;
A DNP 3.0 transport layer that extracts the transport header from the received communication packet; And
And a DNP 3.0 application layer that extracts the application protocol control information from the received communication packet.
삭제delete 삭제delete 제 15 항에 있어서,
상기 서버 및 상기 제어 장치는 TCP/IP 프로토콜에 기반된 통신 라인을 통해 서로 통신하고,
상기 분산 네트워크 프로토콜 물리 계층은 상기 수신된 통신 패킷으로부터 이더넷 헤더, IP 헤더, 및 TCP 헤더를 추출하는 통신 프로토콜 계층을 더 포함하는 패킷 감시 장치.
The method of claim 15,
The server and the control device communicate with each other through a communication line based on the TCP / IP protocol,
The distributed network protocol physical layer further includes a communication protocol layer that extracts an Ethernet header, an IP header, and a TCP header from the received communication packet.
제 15 항에 있어서,
상기 비정상 패킷 검출 및 분류 모듈은 상기 이력 테이블에 저장된 상기 이전에 수신된 통신 패킷의 제어 정보 및 상기 수신된 통신 패킷의 제어 정보를 기반으로 상기 수신된 통신 패킷을 제1 내지 제5 유형들의 비정상 통신 패킷들 중 어느 하나로 분류하는 패킷 감시 장치.
The method of claim 15,
The abnormal packet detection and classification module may use the first to fifth types of abnormal communication of the received communication packet based on control information of the previously received communication packet and control information of the received communication packet stored in the history table. Packet monitoring device to classify any one of the packets.
제 19 항에 있어서,
상기 제1 유형의 비정상 통신 패킷은 상기 서버 및 상기 제어 장치 사이에서 발생할 수 없는 통신 패킷을 가리키고, 상기 제2 유형의 비정상 통신 패킷은 상기 서버 및 상기 제어 장치 사이에서 정상적인 통신에 위배되는 통신 패킷을 가리키고, 상기 제3 유형의 비정상 통신 패킷은 상기 서버 및 상기 제어 장치 사이에서 송수신이 완료된 통신 패킷에 대한 재전송 통신 패킷을 가리키고, 상기 제4 유형의 비정상 통신 패킷은 상기 서버 및 상기 제어 장치 사이에서 정상적인 순서 비트에 위배되는 통신 패킷을 가리키고, 상기 제5 유형의 비정상 통신 패킷은 상기 서버 및 상기 제어 장치 사이에서 비정상적인 메시지 끼워넣기를 발생시키는 통신 패킷을 가리키는 패킷 감시 장치.
The method of claim 19,
The first type of abnormal communication packet refers to a communication packet that cannot occur between the server and the control device, and the second type of abnormal communication packet refers to a communication packet that violates normal communication between the server and the control device. The third type of abnormal communication packet indicates a retransmission communication packet for a communication packet that has been transmitted and received between the server and the control device, and the fourth type of abnormal communication packet is normal between the server and the control device. A packet monitoring device indicating a communication packet that violates a sequence bit, and the fifth type of abnormal communication packet indicates a communication packet that causes abnormal message interpolation between the server and the control device.
KR1020150039004A 2015-03-20 2015-03-20 Packet monitoring device and packet monitoring method for communication packet KR102112587B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020150039004A KR102112587B1 (en) 2015-03-20 2015-03-20 Packet monitoring device and packet monitoring method for communication packet
US15/069,831 US20160277547A1 (en) 2015-03-20 2016-03-14 Packet monitoring device and packet monitoring method for communication packet

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150039004A KR102112587B1 (en) 2015-03-20 2015-03-20 Packet monitoring device and packet monitoring method for communication packet

Publications (2)

Publication Number Publication Date
KR20160112750A KR20160112750A (en) 2016-09-28
KR102112587B1 true KR102112587B1 (en) 2020-05-19

Family

ID=56925395

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150039004A KR102112587B1 (en) 2015-03-20 2015-03-20 Packet monitoring device and packet monitoring method for communication packet

Country Status (2)

Country Link
US (1) US20160277547A1 (en)
KR (1) KR102112587B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220076811A (en) 2020-12-01 2022-06-08 주식회사 케이티 Server, method and computer program for automatically controlling facility

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6793524B2 (en) * 2016-11-01 2020-12-02 株式会社日立製作所 Log analysis system and its method
CN109088861A (en) * 2018-07-20 2018-12-25 杭州安恒信息技术股份有限公司 DNP3 method for generating test case, system, equipment and computer media
US11621970B2 (en) * 2019-09-13 2023-04-04 Is5 Communications, Inc. Machine learning based intrusion detection system for mission critical systems
CN111683020B (en) * 2020-06-05 2023-11-03 中国人民解放军63920部队 Control method and device for mixed flow of multiple link layer protocols
KR20220120958A (en) * 2021-02-24 2022-08-31 삼성전자주식회사 Electronic device for transmitting and receiving data and method for the same
KR102581422B1 (en) * 2021-10-08 2023-09-20 엘에스일렉트릭(주) Vulnerability testing method and apparatus for serial communication apparaus

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120207155A1 (en) * 2011-02-16 2012-08-16 Dell Products L.P. System and method for scalable, efficient, and robust system management communications via vendor defined extensions
US20140380458A1 (en) 2013-06-20 2014-12-25 Electronics And Telecommunications Research Institute Apparatus for preventing illegal access of industrial control system and method thereof

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5457680A (en) * 1993-05-18 1995-10-10 International Business Machines Corporation Data gateway for mobile data radio terminals in a data communication network
EP2569916B1 (en) * 2010-05-09 2016-01-20 Citrix Systems Inc. Systems and methods for allocation of classes of service to network connections corresponding to virtual channels

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120207155A1 (en) * 2011-02-16 2012-08-16 Dell Products L.P. System and method for scalable, efficient, and robust system management communications via vendor defined extensions
US20140380458A1 (en) 2013-06-20 2014-12-25 Electronics And Telecommunications Research Institute Apparatus for preventing illegal access of industrial control system and method thereof

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220076811A (en) 2020-12-01 2022-06-08 주식회사 케이티 Server, method and computer program for automatically controlling facility
KR20230104558A (en) 2020-12-01 2023-07-10 주식회사 케이티 Server, method and computer program for automatically controlling facility

Also Published As

Publication number Publication date
US20160277547A1 (en) 2016-09-22
KR20160112750A (en) 2016-09-28

Similar Documents

Publication Publication Date Title
KR102112587B1 (en) Packet monitoring device and packet monitoring method for communication packet
US10681079B2 (en) Method for mitigation of cyber attacks on industrial control systems
KR102030837B1 (en) Apparatus and method for intrusion detection
US10015176B2 (en) Network protection
US9130983B2 (en) Apparatus and method for detecting abnormality sign in control system
US20060034305A1 (en) Anomaly-based intrusion detection
EP1774716B1 (en) Inline intrusion detection using a single physical port
CN108063753A (en) A kind of information safety monitoring method and system
Yang et al. Stateful intrusion detection for IEC 60870-5-104 SCADA security
US10701076B2 (en) Network management device at network edge for INS intrusion detection based on adjustable blacklisted sources
JP2007006054A (en) Packet repeater and packet repeating system
Singh et al. Security evaluation of two intrusion detection systems in smart grid SCADA environment
CN104104558A (en) Network storm suppression method in intelligent transformer station process layer communication
US20210306362A1 (en) Communication control system, network controller and computer program
CN105373891A (en) Smart grid data management and transmission system
Irvene et al. If i knew then what i know now: On reevaluating dnp3 security using power substation traffic
WO2014161205A1 (en) Method, system and device for processing network congestion
KR101889502B1 (en) Abnormal traffic detection method on control system protocol
CN113285937B (en) Safety audit method and system based on traditional substation configuration file and IEC103 protocol flow
Li et al. Optimization and implementation of industrial control system network intrusion detection by telemetry analysis
Hareesh et al. Passive security monitoring for IEC-60870-5-104 based SCADA systems
Hu et al. Industrial network protocol security enhancement using programmable switches
Adat et al. Risk transfer mechanism to defend DDoS attacks in IoT scenario
US20240063939A1 (en) Communication isolator for cyber security and communication isolation method of the communication isolator
Lu et al. UDP-RT: A UDP-based reliable transmission scheme for power WAPS

Legal Events

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