KR102112587B1 - Packet monitoring device and packet monitoring method for communication packet - Google Patents
Packet monitoring device and packet monitoring method for communication packet Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/028—Capturing of monitoring data by filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/18—Protocol analysers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing 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
본 발명은 제어 시스템에 관한 것으로, 더욱 상세하게는 패킷 감시 장치 및 통신 패킷에 대한 패킷 감시 방법에 관한 것이다.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
서버들(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
제어 장치들(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
예시적으로, 통신 회선(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
패킷 감시 장치(130)는 서버들(110, 110a, 110b) 및 제어 장치들(120, 120a, 120b) 사이에서 통신 라인(CL)을 통해 송수신되는 통신 패킷을 모니터링할 수 있다. 예를 들어 패킷 감시 장치(130)는 통신 라인(CL) 상에 제공되는 미러링 포트(MP)를 통해 분기되는 통신 패킷을 수신하고, 수신된 통신 패킷의 코드 정보를 관리할 수 있다. 패킷 감시 장치(130)는 관리되는 코드 정보 및 수신된 통신 패킷을 기반으로 수신된 통신 패킷이 비정상 통신 패킷(또는 비정상 트래픽)인지 판별하고, 수신된 통신 패킷이 비정상 통신 패킷인 경우, 수신된 통신 패킷의 비정상 유형을 분류할 수 있다.The
도 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
그러나, 본 발명의 기술적 사상이 이에 상술된 가정들에 한정되는 것은 아니며, 서버들(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
도 1 및 도 2를 참조하면, 제어 시스템(100)은 서버(110), 제어 장치(120), 및 패킷 감시 장치(130)를 포함한다.1 and 2, the
서버(110) 및 제어 장치(120) 각각은 통신 라인(CL)을 통해 통신 패킷을 송수신할 수 있다. 서버(110), 제어 장치(120), 및 패킷 감시 장치(130) 각각은 DNP 3.0 프로토콜에 따른 물리 계층(111, 121, 131)을 포함한다. DNP 3.0 프로토콜에 따른 물리 계층(111, 121, 131)은 전송될 메시지를 DNP 3.0 프로토콜에 의해 정의된 포맷의 통신 패킷으로 변환하거나 또는 수신된 통신 패킷을 메시지로 역변환하는 동작을 수행한다.Each of the
예시적으로, 통신 라인(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
예시적으로, 서버(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
도 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
도 2 및 도 3을 참조하면, 서버(110)의 물리 계층(111)은 DNP 3.0 응용 계층(111a), DNP 3.0 전송 계층(111b), DNP 3.0 데이터 링크 계층(111c), 및 통신 프로토콜 계층(111d)을 포함할 수 있다.2 and 3, the
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
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
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
가공된 데이터 프레임들은 통신 패킷으로서 통신 선로(CL)를 통해 제어 장치(120) 및 패킷 감시 장치(130)로 전송된다.The processed data frames are transmitted as a communication packet to the
예시적으로, 서버(110)가 제어 장치(120)로부터 통신 패킷(즉, 응답(RP) 또는 임의 응답(URP))을 수신하는 경우, 서버(110)의 각 계층들은 상술된 순서의 역순으로 통신 패킷을 해제하여 메시지를 추출할 수 있다.Exemplarily, when the
도 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
도 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
예시적으로, 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
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
다음으로, 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
예시적으로, 도 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
도 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
임의 응답 비트(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
순서 비트(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
기능 코드 필드(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
도 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
다음으로, 도 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
다음으로, 도 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
다음으로, 도 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
이와 유사하게, 도 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
예시적으로, 서버(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
도 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
DNP 3.0 프로토콜 계층(131)은 도 3 내지 도 4를 참조하여 설명된 물리 계층과 동일할 수 있다. DNP 3.0 프로토콜 계층(131)은 서버(110) 및 제어 장치(120) 사이에서 송수신되는 통신 패킷을 수신하고, 수신된 통신 패킷을 해제할 수 있다. 예시적으로, DNP 3.0 프로토콜 계층(131) 및 그것의 계층 구조는 도 3 내지 도 7을 참조하여 설명되었으므로, 이에 대한 상세한 설명은 생략된다.The DNP 3.0
패킷 분석 모듈(132)은 DNP 3.0 프로토콜 계층(131)에 의해 해제된 통신 패킷으로부터 제어 정보를 분석 및 관리할 수 있다. 예를 들어, 패킷 분석 모듈(132)은 수신된 통신 패킷이 수신된 시간, 통신 패킷의 종류, 통신 패킷의 목표 필드, 통신 패킷의 종료 필드, 통신 패킷의 시작 비트, 통신 패킷의 종료 비트, 통신 패킷의 순서 비트 등과 같은 정보를 이력 테이블(133)로서 관리할 수 있다. 이력 테이블(133)은 통신 패킷의 제어 정보를 관리할 수 있다.The
비정상 패킷 검출 및 분류 모듈(134)은 수신된 통신 패킷들 중 비정상 패킷을 검출하고, 검출된 비정상 패킷의 비정상 유형을 분류할 수 있다. 예를 들어, 비정상 패킷 검출 및 분류 모듈(134)은 수신된 통신 패킷의 제어 정보 및 이력 테이블(133)을 기반으로 수신된 통신 패킷이 비정상 패킷인지 판별할 수 있다. 예시적으로, 비정상 패킷 검출 및 분류 모듈(134)은 DNP 3.0 프로토콜의 통신 특성을 기반으로 검출된 비정상 패킷을 제1 내지 제5 비정상 유형들 중 어느 하나로 분류할 수 있다.The abnormal packet detection and
제어 모듈(135)은 비정상 패킷 검출 및 분류 모듈(134)의 비정상 패킷 검출 및 분류 결과에 따라 별도의 보안 동작을 수행할 수 있다. 예를 들어, 비정상 패킷 검출 및 분류 모듈(134)의 비정상 유형 분류 결과에 따라 수신된 통신 패킷의 삭제, 서버(110) 및 제어 장치(120)의 통신 해제, 이전에 수신된 통신 패킷들의 삭제 등과 같은 보안 동작을 수행할 수 있다.The
상술된 바와 같이, 본 발명의 실시 예에 따른, 패킷 감시 장치(130)는 이전에 수신된 통신 패킷들의 제어 정보를 이력 테이블로 관리하고, 수신된 통신 패킷의 제어 정보 및 이력 테이블(133)을 비교 및 분석하여 수신된 통신 패킷의 비정상 패킷 여부 및 비정상 유형을 분류할 수 있다. 즉, 패킷 감시 장치(130)는 DNP 3.0 프로토콜의 통신 특성을 기반으로 수신된 통신 패킷의 제어 정보를 분석하여 비정상 패킷의 비정상 유형을 분류함으로써 제어 시스템(100)에 대한 다양한 공격 패턴을 감지할 수 있다. 따라서, 향상된 신뢰성을 갖는 패킷 감시 장치 및 통신 패킷에 대한 패킷 감시 방법이 제공된다.As described above, according to an embodiment of the present invention, the
도 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
S120 단계에서, 패킷 감시 장치(110)는 수신된 통신 패킷(즉, DNP 3.0 패킷)의 제어 정보를 분석할 수 있다. 예를 들어, 통신 패킷은 응용 프로토콜 제어 정보(APCI), 전송 헤더(TH), 및 링크 헤더(LH)를 포함한다. DNP 3.0 프로토콜 물리 계층(131)은 통신 패킷으로부터 응용 프로토콜 제어 정보(APCI), 전송 헤더(TH), 및 링크 헤더(LH)를 추출할 수 있다. 패킷 분석 모듈(132)은 추출된 응용 프로토콜 제어 정보(APCI), 전송 헤더(TH), 및 링크 헤더(LH)를 분석할 수 있다.In step S120, the
S130 단계에서, 패킷 감시 장치(110)는 통신 패킷의 제어 정보를 이력 테이블로서 관리할 수 있다.In step S130, the
도 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
S220 단계에서, 패킷 감시 장치(120)는 수신된 통신 패킷의 제어 정보를 분석할 수 있다.In step S220, the
S230 단계에서, 패킷 감시 장치(120)는 분석된 제어 정보 및 이력 테이블을 기반으로 수신된 통신 패킷이 비정상 패킷인지 판별할 수 있다. 예를 들어, 패킷 감시 장치(120)는 수신된 통신 패킷의 목표 필드, 소스 필드, 및 기능 코드 필드를 비교하여 수신된 통신 패킷이 비정상 패킷인지 판별할 수 있다. 또는, 패킷 감시 장치(120)는 수신된 통신 패킷의 순서 비트 및 이력 테이블에 포함된 순서 비트를 비교하여 수신된 통신 패킷이 비정상 패킷인지 판별할 수 있다. 이외에도, 패킷 감시 장치(120)는 수신된 통신 패킷의 제어 정보 및 이력 테이블을 기반으로 수신된 통신 패킷이 비정상 패킷인지 판별할 수 있다. 예시적으로, 도 13 내지 도 17을 참조하여, 비정상 패킷의 특징 및 비정상 패킷의 감지 방식이 더욱 상세하게 설명된다.In step S230, the
S240 단계에서, 패킷 감시 장치(120)는 통신 패킷이 비정상 패킷인지 판별할 수 있다.In step S240, the
판별 결과에 따라, 수신된 통신 패킷이 비정상 패킷인 경우, S250 단계에서, 패킷 감시 장치(120)는 수신된 통신 패킷의 비정상 유형을 분류할 수 있다.According to the determination result, if the received communication packet is an abnormal packet, in step S250, the
S260 단계에서, 패킷 감시 장치(120)는 분류된 비정상 유형에 따라 보안 동작을 수행할 수 있다.In step S260, the
상술된 본 발명의 실시 예에 따르면, 패킷 감시 장치(120)는 서버(110) 및 제어 장치(120) 사이에서 송수신되는 통신 패킷들의 제어 정보를 이력 테이블로서 관리하고, 이력 테이블을 기반으로 비정상 통신 패킷을 검출하고, 비정상 유형을 분류할 수 있다. 따라서, 다양한 공격 패턴에 대한 비정상 트래픽을 감지할 수 있으므로, 향상된 신뢰성을 갖는 패킷 감시 장치 및 통신 패킷에 대한 패킷 감시 방법이 제공된다.According to the above-described embodiment of the present invention, the
도 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
먼저 도 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
이 후, S1040 단계에서, 서버(110)가 제어 장치(120)로 응답(RP) 또는 임의 응답(URP)을 전송할 수 있다. 패킷 감시 장치(130)는 S1040 단계의 응답(RP) 또는 임의 응답(URP)의 제어 정보를 기반으로 S1040 단계의 응답(RP) 또는 임의 응답(URP)이 제1 유형의 비정상 통신 패킷임을 감지할 수 있다. 예시적으로, 제1 유형이 비정상 통신 패킷은 서버(110) 및 제어 장치(120) 사이의 통신에서 발생할 수 없는 비정상 통신 패킷을 가리킨다.Thereafter, in step S1040, the
예를 들어, 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
다음으로, 도 13의 제2 섹션에 도시된 바와 같이, S1050 단계에서, 제어 장치(120)가 서버(110)로 임의 응답(URP)을 전송한다. S1060 단계에서, 서버(110)가 제어 장치(120)로 확인(CF)을 전송한다.Next, as shown in the second section of FIG. 13, in step S1050, the
이후, S1070 단계에서, 제어 장치(120)가 서버(110)로 요청(RQ)을 전송할 수 있다. 패킷 감시 장치(130)는 S1070 단계의 요청(RQ)의 제어 정보를 기반으로 S1070 단계의 요청(RQ)이 제1 유형의 비정상 통신 패킷임을 감지할 수 있다. 예시적으로, 제1 유형이 비정상 통신 패킷은 서버(110) 및 제어 장치(120) 사이의 통신에서 발생할 수 없는 비정상 통신 패킷을 가리킨다.Thereafter, in step S1070, the
예를 들어, 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
예시적으로, 패킷 감시 장치(130)는 송수신되는 통신 패킷의 제어 정보를 이력 테이블(133)로써 관리할 수 있고, 이에 따라 상술된 제1 유형의 비정상 통신 패킷을 감지할 수 있다. 예시적으로, 패킷 감시 장치(130)는 링크 헤더(LH)의 소스 필드(Source) 및 목표 필드(Destination) 대신에 통신 패킷의 TCP/IP 계층에 포함된 서버(110)의 IP 또는 주소, 제어 장치(120)의 IP 또는 주소를 기반으로 상술된 제1 유형의 비정상 패킷을 감지할 수 있다.For example, the
다음으로, 도 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
패킷 감시 장치(130)는 S1120 단계의 재전송된 요청(RQ)이 제2 유형의 비정상 통신 패킷임을 감지할 수 있다. 예시적으로, 제2 유형의 비정상 통신 패킷은 DNP 3.0 프로토콜 통신에서 정상 통신 패킷 송수신의 완성에 위배되는 형태의 통신 패킷을 가리킨다.The
예를 들어, 패킷 감시 장치(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
다음으로, 도 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
도 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
패킷 감시 장치(130)는 S1150 단계의 재전송된 요청(RQ)이 제2 유형의 비정상 통신 패킷임을 감지할 수 있다. 예시적으로, 제2 유형의 비정상 통신 패킷은 DNP 3.0 프로토콜 통신에서 정상 통신 패킷 송수신의 완성에 위배되는 형태의 통신 패킷을 가리킨다.The
예를 들어, 패킷 감시 장치(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
예시적으로, 패킷 감시 장치(130)는 도 14의 각 단계들에서 송수신되는 통신 패킷들의 응용 프로토콜 제어 정보(APCI)의 기능 코드 필드(Function Code)를 추가적으로 분석함으로써, 식별 및 분류 정확도를 향상시킬 수 있다.For example, the
예시적으로, 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
다음으로, 도 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
이 후, S1240 단계에서, 서버(110)는 요청(RRQ)을 제어 장치(120)로 재전송 할 수 있다. 패킷 감시 장치(130)는 S1240 단계의 요청(RRQ)이 제3 유형의 비정상 패킷임을 감지할 수 있다. 예시적으로, 제3 유형의 비정상 통신 패킷은 송수신이 완료된 통신 패킷에 대한 재전송 통신 패킷을 가리킨다.Thereafter, in step S1240, the
예를 들어, 패킷 감시 장치(130)는 이력 테이블(133)을 기반으로 S1210 단계의 요청(RQ), S1220 단계의 응답(RP), 및 S1230 단계의 선택적 확인(OCF)의 제어 정보를 분석하여 S1210 단계 내지 S1230 단계에서 송수신된 통신 패킷들의 송수신이 완료(즉, 하나의 요청에 대한 통신 패킷의 송수신이 완료됨)되었음을 판별할 수 있고, 이를 기반으로, 패킷 감시 장치(130)는 S1240 단계의 재전송 요청(RRQ)이 제3 유형의 비정상 패킷임을 감지할 수 있다. 즉, S1230 단계의 재전송 요청(RRQ)은 송수신이 완료된 통신 패킷과 동일한 순서 비트(SEQ_A)를 갖는 재전송 요청(RRQ)이므로, 패킷 감시 장치(130)는 이를 제3 유형의 비정상 패킷으로서 감지할 수 있다.For example, the
다음으로 도 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
이 후, S1260 단계에서, 서버(110)는 제어 장치(120)로 요청(RRQ)을 재전송할 수 있다. S1260 단계의 재전송 요청(RRQ)은 S1250 단계의 요청(RQ)에 대한 재전송 요청일 수 있다. 그러나, S1250 단계의 요청(RQ)이 재전송 및 응답을 요구하지 않는 요청인 경우, S1260 단계의 재전송 요청(RRQ)은 제3 유형의 비정상 패킷일 것이다. 패킷 감시 장치(130)는 이력 테이블 및 S1260 단계의 재전송 요청(RRQ)의 제어 정보를 기반으로, S1260 단계의 재전송 요청(RRQ)이 제3 유형이 비정상 패킷임을 감지할 수 있다.Thereafter, in step S1260, the
다음으로, 도 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
예를 들어, 패킷 감시 장치(130)는 이력 테이블(133)을 기반으로 S1270 단계의 임의 응답(URP) 및 S1280 단계의 확인(CF)의 제어 정보를 분석하여 S1270 단계 및 S1280 단계에서 송수신된 통신 패킷들의 송수신이 완료(즉, 하나의 요청에 대한 통신 패킷의 송수신이 완료됨)되었음을 판별할 수 있고, 이를 기반으로, 패킷 감시 장치(130)는 S1290 단계의 재전송 임의 응답(RURP)이 제3 유형의 비정상 패킷임을 감지할 수 있다. 즉, S1290 단계의 재전송 임의 응답(RURP)은 송수신이 완료된 통신 패킷과 동일한 순서 비트(SEQ_A)를 갖는 재전송 임의 응답(RURP)이므로, 패킷 감시 장치(130)는 이를 제3 유형의 비정상 패킷으로서 감지할 수 있다.For example, the
예시적으로, 패킷 감시 장치(130)는 추가적인 정보(예를 들어, 기능 코드 필드 또는 별도의 식별 데이터 등)를 추가 분석하여 제3 유형의 비정상 패킷을 감지할 수 있다.For example, the
다음으로, 도 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
이 후, 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
다음으로, 도 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
다음으로, 도 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
마지막으로, 도 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
S1420 단계에서, 제어 장치(120)는 서버(110)로 응답(RP)을 전송할 수 있다. 이 때, S1410 단계의 응답(RP)(즉, 다중 데이터 세그먼트)이 모두 수신되기 이전이고, S1420 단계의 응답(RP)의 전송 헤더(TH)의 시작 비트(FIR)가 '1'일 수 있다. 이 경우, S1420 단계의 응답(RP)은 제5 유형의 비정상 통신 패킷일 수 있다. 예시적으로, 제5 유형의 비정상 통신 패킷은 DNP 3.0 프로토콜 통신에서 비정상적인 메시지 끼워넣기를 유발하는 통신 패킷을 가리킨다.In step S1420, the
패킷 감시 장치(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
패킷 감시 장치(130)는 이력 테이블(133) 및 S1420 단계의 응답(RP)의 전송 헤더(TH)를 분석함으로써 S1420 단계의 응답(RP)이 제5 유형의 비정상 통신 패킷인지 감지할 수 있다. 패킷 감시 장치(130)는 감지 결과에 따라 비정상 통신 패킷을 제거하여 이전에 송수신된 데이터 패킷의 제거를 방지할 수 있다.The
예시적으로, 도 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
상술된 본 발명의 실시 예들에 따르면, 패킷 감시 장치(130)는 서버(110) 및 제어 장치(120) 사이에서 송수신되는 통신 패킷의 제어 정보를 분석하고, 이력 테이블(133)로서 관리할 수 있다. 패킷 감시 장치(130)는 이력 테이블(133) 및 수신된 통신 패킷의 제어 정보를 분석하여 비정상 통신 패킷을 감지하고 비정상 유형을 분류할 수 있다. 즉, 본 발명의 실시 예에 따른 패킷 감시 장치(130)는 일반적인 카운트 방식의 기법보다 효율적이고 신속한 비정상 트래픽 탐지 기법을 제공한다. 따라서, 제어시스템 간의 안정적이고 신뢰할 수 있는 통신서비스가 제공된다. 또한, 본 발명의 실시 예에 따른 패킷 감시 장치(130)의 비정상 트래픽 탐지 기법은 최소한의 패킷 분석을 통해서 DNP 3.0 제어 프로토콜 상에서 발생할 수 있는 여러 유형의 비정상 트래픽을 효율적으로 탐지한다.According to the above-described embodiments of the present invention, the
본 발명의 상세한 설명에서는 구체적인 실시 예들에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러가지 변형이 가능하다. 그러므로, 본 발명의 범위는 상술된 실시 예들에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 할 것이다.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.
상기 수신된 통신 패킷을 제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.
상기 수신된 통신 패킷을 상기 제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 내지 제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.
상기 수신된 통신 패킷을 상기 제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 내지 제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.
상기 수신된 통신 패킷을 제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 내지 제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.
상기 수신된 통신 패킷을 상기 제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 내지 제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. .
상기 수신된 통신 패킷을 상기 제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.
상기 서버 및 상기 제어 장치는 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.
상기 비정상 패킷 검출 및 분류 모듈은 상기 이력 테이블에 저장된 상기 이전에 수신된 통신 패킷의 제어 정보 및 상기 수신된 통신 패킷의 제어 정보를 기반으로 상기 수신된 통신 패킷을 제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.
상기 제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.
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)
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)
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)
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)
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 |
-
2015
- 2015-03-20 KR KR1020150039004A patent/KR102112587B1/en active IP Right Grant
-
2016
- 2016-03-14 US US15/069,831 patent/US20160277547A1/en not_active Abandoned
Patent Citations (2)
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)
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 |