KR101969940B1 - Industrial Protocol Packet Monitoring and Control Devices - Google Patents
Industrial Protocol Packet Monitoring and Control Devices Download PDFInfo
- Publication number
- KR101969940B1 KR101969940B1 KR1020180147988A KR20180147988A KR101969940B1 KR 101969940 B1 KR101969940 B1 KR 101969940B1 KR 1020180147988 A KR1020180147988 A KR 1020180147988A KR 20180147988 A KR20180147988 A KR 20180147988A KR 101969940 B1 KR101969940 B1 KR 101969940B1
- Authority
- KR
- South Korea
- Prior art keywords
- packet
- protocol
- profile
- protocol structure
- information
- Prior art date
Links
Images
Classifications
-
- 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
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/06—Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
본 발명은 산업용 네트워크 트래픽에서 산업 프로토콜 패킷을 감시 및 제어하는 방법에 관한 것이다. 특히, 산업 프로토콜을 프로파일이라는 통합된 하나의 정보로 일반화하고, 이를 이용하여 다종의 산업 프로토콜 패킷에 대한 감시와 제어를 용이하게 수행할 수 있는 장치에 관한 것이다.The present invention relates to a method for monitoring and controlling industrial protocol packets in industrial network traffic. In particular, the present invention relates to an apparatus that can generalize an industrial protocol into one integrated information called a profile, and to easily monitor and control various industrial protocol packets using the same.
스카다(SCADA: Supervisory Control And Data Acquisition) 시스템은 통신 경로상의 아날로그 또는 디지털 신호를 이용한 원격 장치의 상태 정보 데이터를 원격 단말(RTU, Remote Terminal Unit)로부터 수집하고 저장, 및 표시하며 이를 바탕으로 중앙 제어 시스템에서 원격 장치를 감시/제어하는 시스템이다.Supervisory Control and Data Acquisition (SCADA) system collects, stores, and displays status information data of a remote device using analog or digital signals on a communication path from a remote terminal unit (RTU) It is a system that monitors / controls remote devices in the control system.
스카다 시스템에서 대부분의 제어 동작은 원격 단말과 프로그램 로직 제어기(PLC, Programmable Logic Controller)에 의해 자동으로 이루어지며, 운영자가 내릴 수 있는 제어 명령은 보통 기본적인 작업 변경이나 관리 수준의 작업 조정에 한한다. 데이터 취득은 원격 단말이나 프로그램 로직 제어기에서 시작되며, 스카다 시스템이 필요로 하는 계측기 수치를 읽거나 각 장비의 상태를 보고 하는 작업 등이 여기에 해당한다. 이렇게 획득된 자료들은 관제 센터에서 운영자가 시스템 관리를 위해 적절한 판단을 내릴 수 있도록 사람이 이해할 수 있는 형태로 변환된다.In the Scada system, most of the control operations are performed automatically by the remote terminal and the programmable logic controller (PLC), and the control commands that the operator can control are usually limited to basic operation changes or management level operations. Data acquisition is initiated at a remote terminal or program logic controller, and includes reading the instrument readings required by the Scada system or reporting the status of each instrument. The data thus obtained are converted into a form that the operator can understand in the control center so that the operator can make appropriate judgments for system management.
스카다 시스템의 네트워크 프로토콜을 분석하는 도구에 있어서 기존에는 Wincap이라는 라이브러리를 통하여 송신과 수신에 대한 패킷을 수집하고 수집된 패킷을 분석하는 코어부와 출력되는 정보를 선별하는 디스플레이 필터부가 있다. As a tool for analyzing the network protocol of the Scada system, there is a core part for collecting packets for transmission and reception and analyzing the collected packets through a library called Wincap and a display filter part for sorting the outputted information.
종래 기술의 경우 시스템에서 송/수신되는 네트워크 패킷을 식별하는데 있어서 가장 먼저 포트(PORT) 번호를 이용한다. 각 프로토콜은 고유의 포트 번호를 기본으로 사용하고 있으며, 수신된 패킷의 포트 번호가 특정의 포트 번호인지 확인하여 프로토콜을 식별한다. 또한, 식별된 패킷에 대한 분석 도구 내에 프로토콜의 구조를 프로그램하여 식별된 패킷과 프로그램된 구조와 비교하면서 분석이 수행된다.In the prior art, the PORT number is used first to identify a network packet transmitted / received in the system. Each protocol basically uses a unique port number, and identifies the protocol by confirming that the port number of the received packet is a specific port number. In addition, analysis is performed while programming the structure of the protocol in the analysis tool for the identified packet and comparing the identified packet with the programmed structure.
본 발명의 일 실시 예에 따른 감시 제어 장치는 다수의 이기종 프로토콜을 운영하는 스카다 시스템에 있어서, 효율적으로 패킷의 프로토콜을 식별할 수 있는 장치를 제안하는 것을 목적으로 한다.An object of the present invention is to provide a device capable of efficiently identifying a protocol of a packet in a Scada system operating a plurality of heterogeneous protocols according to an embodiment of the present invention.
본 발명의 일 실시 예에 따른 감시 제어 장치는 프로토콜의 추가/변경/삭제에 있어서 전문가의 도움 또는 대규모의 업데이트 없이도 대응할 수 있는 장치를 제안하는 것을 목적으로 한다.A monitoring control apparatus according to an embodiment of the present invention aims at proposing a device capable of coping with the addition, change, or deletion of a protocol without the help of a specialist or a large-scale update.
본 발명의 일 실시 예에 따른 장치는 특정 프로토콜에 대한 프로파일을 획득하고, 획득한 프로파일을 디지털화된 프로파일 정보로 변환하는 프로파일 수신부 및 상기 프로파일 수신부에서 출력된 프로파일 정보를 하나 이상의 필드로 나누어 구조화한 프로토콜 구조 정보를 생성하고, 저장하는 판단부를 포함하고, 상기 판단부는 스카다 시스템에서 데이터를 전달하기 위한 패킷을 수신하고, 수신한 패킷의 프로토콜 구조와 기 저장된 프로토콜 구조 정보를 비교하여 패킷의 프로토콜을 식별한다.An apparatus according to an embodiment of the present invention includes a profile receiving unit for obtaining a profile for a specific protocol and converting the obtained profile into digitalized profile information and a protocol structured by dividing the profile information output from the profile receiving unit into one or more fields And a determination unit for generating and storing the structure information, wherein the determination unit receives the packet for transmitting data in the Scada system, compares the protocol structure of the received packet with the previously stored protocol structure information, and identifies the protocol of the packet do.
본 발명의 일 실시 예에 따른 감시 제어 장치는 산업 네트워크 트래픽에서 다수의 이기종 프로토콜 패킷을 분석하고 식별할 수 있다.The supervisory control device according to an embodiment of the present invention can analyze and identify a plurality of heterogeneous protocol packets in the industrial network traffic.
또한, 본 발명의 일 실시 예에 따른 감시 제어 장치는 공정 관리에 필요한 데이터를 보다 쉽게 추출하고 모니터링할 수 있다.Further, the monitoring control apparatus according to an embodiment of the present invention can more easily extract and monitor data necessary for process management.
또한, 본 발명의 일 실시 예에 따른 감시 제어 장치는 공정의 효율성을 증대할 수 있도록 머신러닝과 딥러닝의 분석 데이터로 활용되는 분석 데이터를 용이하게 추출할 수 있다.In addition, the monitoring and control apparatus according to an embodiment of the present invention can easily extract analysis data used as analysis data of machine learning and deep learning to increase process efficiency.
또한, 본 발명의 일 실시 예에 따른 감시 제어 장치는 프로파일을 이용함으로써, 프로토콜의 변경, 추가, 삭제가 상대적을 용이하여 새로운 프로토콜에 대응하기 위한 프로그램을 다시 개발할 필요가 없다.Further, the monitoring control apparatus according to an embodiment of the present invention does not need to re-develop a program for coping with a new protocol by making it easy to change, add or delete a protocol by using a profile.
도 1은 본 발명의 일 실시 예에 따른 스카다 시스템을 나타내는 블록도이다.
도 2는 본 발명의 일 실시 예에 따른 스카다 시스템의 감시 제어 장치의 블록도이다.
도 3은 본 발명의 일 실시 예에 따른 감시 제어 장치의 동작 과정을 나타내는 흐름도이다.
도 4는 본 발명의 일 실시 예에 따른 프로파일 구성 요소를 나타낸다.
도 5는 도 4에서 예시하고 있는 구성요소에 따라 프로토콜 구조 정보를 생성하는 일 예를 나타낸다.1 is a block diagram illustrating a Scada system in accordance with an embodiment of the present invention.
2 is a block diagram of a surveillance controller of a Scada system according to an embodiment of the present invention.
3 is a flowchart illustrating an operation process of the monitoring control apparatus according to an embodiment of the present invention.
Figure 4 illustrates profile components in accordance with an embodiment of the present invention.
FIG. 5 shows an example of generating protocol structure information according to the components illustrated in FIG.
이하에서는 도면을 참조하여 본 발명의 구체적인 실시예를 상세하게 설명한다. 그러나 본 발명의 사상은 이하의 실시예에 제한되지 아니하며, 본 발명의 사상을 이해하는 당업자는 동일한 사상의 범위 내에 포함되는 다른 실시예를 구성요소의 부가, 변경, 삭제, 및 추가 등에 의해서 용이하게 제안할 수 있을 것이나, 이 또한 본 발명 사상의 범위 내에 포함된다고 할 것이다. Hereinafter, specific embodiments of the present invention will be described in detail with reference to the drawings. It should be understood, however, that there is no intention to limit the invention to the embodiments described below, and that those skilled in the art, upon reading and understanding the spirit of the invention, It is to be understood that this is also included within the scope of the present invention.
첨부 도면은 발명의 사상을 이해하기 쉽게 표현하기 위하여 전체적인 구조를 설명함에 있어서는 미소한 부분은 구체적으로 표현하지 않을 수도 있고, 미소한 부분을 설명함에 있어서는 전체적인 구조는 구체적으로 반영되지 않을 수도 있다. 또한, 설치 위치 등 구체적인 부분이 다르더라도 그 작용이 동일한 경우에는 동일한 명칭을 부여함으로써, 이해의 편의를 높일 수 있도록 한다. 또한, 동일한 구성이 복수 개가 있을 때에는 어느 하나의 구성에 대해서만 설명하고 다른 구성에 대해서는 동일한 설명이 적용되는 것으로 하고 그 설명을 생략한다. The accompanying drawings are merely exemplary and are not to be construed as limiting the present invention. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Further, even if specific parts such as installation positions are different, the same names are given when the functions are the same, so that the convenience of understanding can be improved. When there are a plurality of identical configurations, only one configuration will be described, and the same description will be applied to the other configurations, and a description thereof will be omitted.
산업 현장에서는 다수의 이기종 제어 장치와 관리 시스템이 서로 통신을 수행한다. 이기종의 특성으로 다종의 산업 프로토콜 패킷의 트래픽이 생성된다. 예를 들어 제1 기종에서 사용하는 패킷의 프로토콜과 제2 기종에서 사용하는 패킷의 프로토콜이 다를 수 있으며, 중앙 제어 장치에서 서로 다른 프로토콜을 통해 생성된 패킷을 수신하는 경우 각 패킷을 식별하고 처리하는데 어려움이 발생할 수 있다.In the industrial field, a number of heterogeneous control devices and management systems communicate with each other. Due to heterogeneity, traffic of various industrial protocol packets is generated. For example, the protocol of the packet used in the first model may be different from the protocol of the packet used in the second model. When the central control apparatus receives a packet generated through different protocols, each packet is identified and processed Difficulties may arise.
상술한 바와 같이 기존에는 기본적으로 프로토콜의 기본 포트 번호를 기반으로 패킷의 프로토콜을 식별했다. 하지만 새로운 프로토콜이 사용하고자 하는 포트 번호가 이미 존재하거나, 다른 포트 번호를 사용해야 하는 경우, 기존의 제어 시스템에서는 새로운 포트번호에 관한 정보가 없기 때문에 제어 장치가 전송 패킷을 식별하거나 분석하지 못하였다. 이러한 식별 실패는 머신 러닝 및 딥러닝의 분석 데이터인 2차 데이터 생산이 어려워지는 추가적인 문제로 이어졌다.As described above, basically, the protocol of the packet is identified based on the basic port number of the protocol. However, if the new protocol has a port number that it wants to use, or if it needs to use a different port number, the control device can not identify or analyze the transmission packet because the existing control system has no information about the new port number. This identification failure has led to additional problems that make it difficult to produce secondary data, analytical data for machine learning and deep running.
또한, 프로토콜의 경우 업데이트 및 보안 문제로 인한 패치가 발생할 수 있고, 새로운 프로토콜이 추가될 수도 있다. 이 경우, 종래에는 전체 시스템 업데이트 및 패치를 통해서만 새로운 프로토콜의 추가가 가능하였는바 다기종의 장치를 운용하는 제어 시스템에서, 유연한 시스템 동작이 어려운 문제가 있었다.In addition, patches due to updates and security problems may occur in the case of protocols, and new protocols may be added. In this case, conventionally, a new protocol can be added only through the whole system update and patches. However, there is a problem that it is difficult to operate a flexible system in a control system that operates a device of the type.
따라서, 이하에서는 이러한 종래 기술의 문제점을 해결하기 위한 본 발명의 일 실시 예에 따른 스카다 시스템을 설명하도록 한다.Therefore, a Scada system according to an embodiment of the present invention for solving the problems of the related art will be described below.
도 1은 본 발명의 일 실시 예에 따른 스카다 시스템을 나타내는 블록도이다.1 is a block diagram illustrating a Scada system in accordance with an embodiment of the present invention.
본 발명의 일 실시 예에 따른 스카다 시스템은 원격 단말(10, 30, 50), 감시 제어 장치(100), 중앙 관리 장치(200) 및 물리 인프라(300)을 포함한다.The Scada system according to an embodiment of the present invention includes a
원격 단말(10, 30, 50)은 물리 인프라(300)의 상태 정보를 계측 및 제어하는 장치로, 프로그램 로직 제어기(PLC, 10), 원격 단말기(RTU, 30) 및 IED(Intelligent Electronic Device, 50) 중 적어도 하나를 포함할 수 있다. 이하에서는 설명의 편의를 위해 원격 단말이 원격 단말기(30)인 경우의 실시 예를 중심으로 설명한다.The
원격 단말(30)은 공정에 설치된 센서 또는 액츄에이터와 같은 물리 인프라(300)와 직접 연결되며, 물리 인프라(300)에서 발생하는 신호를 컴퓨터가 인식할 수 있는 디지털 데이터로 변환하고, 디지털 데이터를 중앙 관리 장치 (200)로 전달한다. 이하에서 '상태정보'는 센서로부터 수집하여 원격 단말에서 변환된 디지털 데이터를 의미하는 것으로 이해될 수 있다. 상태 정보는 물리적인 장비로부터 수신된 측정 데이터, 각종 상태 데이터, 센서 데이터를 포함한다. 원격 단말(30)은 중앙 관리 장치(200)로부터 수신된 제어 명령에 따라 장치의 액츄에이터나 릴레이를 제어한다.The
예를 들어, 원격 단말(30)은 제어 대상이 되는 장치를 감시, 제어 및 계측하는 장치로서, 제어 명령을 통해 제어 대상이 되는 장치들을 제어하고, 그들로부터 획득한 상태 정보 및 계측 정보를 획득할 수 있다. 원격 단말(30)은 각 장치마다 마련될 수 있으며, 또는 하나의 원격 단말(30)이 복수의 제어 대상 장치를 감시/제어할 수도 있다.For example, the
원격 단말(30)은 각종 데이터를 처리하고 상위 제어 시스템(예를 들어 중앙 관리 장치)과 통신을 관장하는 주 처리 장치, 현장 전력 설비를 삼시하고 제어하는 현장 처리 장치, 설비의 전압/전류를 포함하는 각종 계측 값을 취득하는 계측 장치, GPS 로부터 표준시간을 받아 원격 단말(30) 모든 부품의 시간을 동기화하는 GPS 수신기, 현장 기기와의 전기적인 연결이 이루어지는 터미널 장치 및 전원 공급 장치 중 적어도 하나를 포함할 수 있다.The
감시 제어 장치(100)는 원격 단말(30)와 중앙 관리 장치(200)사이에서 감시 제어 장치(100) 또는 원격 단말(30)로부터 패킷을 송/수신한다. 감시 제어 장치(100)는 원격 단말(30)과 중앙 관리 장치(200)를 중계 할 수 있으며, 원격 단말(30)과 중앙 관리 장치(200)간 송수신되는 패킷을 모니터링만 할 수도 있다. 감시 제어 장치(100)는 현장에서 발생한 각종 이벤트를 실시간으로 수집하여 상위 시스템으로 전송하는 역할을 하며, 상위 시스템의 제어 명령을 해석하여 원격 단말(30)을 제어할 수도 있다. 중계 장치에 대한 보다 구체적인 설명은 도 2를 참조하여 후술하기로 한다.The
도 2는 본 발명의 일 실시 예에 따른 스카다 시스템의 감시 제어 장치의 블록도이다.2 is a block diagram of a surveillance controller of a Scada system according to an embodiment of the present invention.
도 2에 도시된 바와 같이, 본 발명의 일 실시 예에 따른 감시 제어 장치(100)는 프로파일 생성부(110), 프로파일 수신부(120), 판단부(130), 패킷 송수신부(140) 및 모니터링부(150) 중 적어도 하나를 포함할 수 있다.2, the
프로파일 생성부(110)는 전송되는 패킷 및 프로토콜 문서 규격에 기초하여 특정 프로토콜에 관한 프로파일을 생성한다. 일 실시 예에서 프로파일 생성부(110)는 사용자로부터 직접 프로토콜 구조에 관한 정보를 입력받고 이를 가공하여 프로파일을 생성할 수 있다. 여기에서 사용자는 프로토콜 문서 규격에 따라 프로토콜 구조에 관한 정보를 입력할 수 있다.The
또 다른 일 실시 예에서 프로파일 생성부(110)는 특정의 패킷을 입력받고 일정한 규칙에 따라 패킷을 분석하여 프로파일을 생성할 수도 있다. 여기에서 프로파일 생성부(110)는 기 저장되어 있는 프로토콜 문서 규격에 따라 패킷을 분석하여 특정 프로토콜에 대한 프로파일을 생성할 수 있다. 결과적으로 본 발명에서는 프로토콜 문서 규격만을 입력하면 프로토콜 인식을 위한 새로운 프로파일을 생성할 수 있어 상대적으로 간이하게 다기종의 프로토콜을 인식할 수 있다.In another embodiment, the
프로파일 수신부(120)는 프로파일 생성부(110)로부터 특정 프로토콜에 대한 프로파일(또는 프로파일 정보)을 수신한다. 그리고 프로파일 생성부(110)는 수신한 프로파일을 1차 가공하여 프로파일 정보를 생성한다. 여기에서 특정의 프로토콜 구조를 일반화한 정보를 프로파일 정보라고 할 수 있다. The
프로파일 수신부(120)는 프로파일 입력부(121), 프로파일 파싱부(122), 프로파일 정보 생성부(123) 및 프로파일 정보 출력부(124)를 포함할 수 있다.The
프로파일 입력부(121)는 프로파일 생성부(110)에서 생성된 프로파일을 입력받는다. 프로파일 입력부(121)는 입력된 프로파일이 정상 프로파일인지 여부를 확인하고, 비정상 프로파일인 경우 폐기한다. 일 실시 예에서 프로파일 입력부(121)는 입력된 프로파일이 정해진 엑셀 양식에 따라 작성된 것인지 여부에 기초하여 정상 여부를 판단할 수 있다.The
일 실시 예에서 프로파일 일력부(121)는 유/무선 통신장치 일 수 있다. 또 다른 실시 예에서 프로파일 입력부(121)는 외부 입력 장치일 수 있다. 예를 들어 프로파일 입력부는 마우스, 키보드, 터치 입력 스크린 또는 마이크 일 수 있다.In one embodiment, the
프로파일 파싱부(122)는 입력된 프로파일을 분석한다. 구체적으로 프로파일 파싱부(122)는 입력된 프로파일의 내용을 해석하고, 해석된 내용은 프로파일 구조 정보 생성부(123)에서 프로파일 정보로 변환된다. 프로파일 생성부(110)으로부터 전달받은 데이터는 컴퓨터가 읽을 수 없는 데이터로서, 프로파일 파싱부(122)는 아날로그 데이터를 해석하고, 프로파일 정보 생성부는 아날로그 데이터를 디지털로 변환한다. The
변환된 프로파일 정보는 프로파일 정보 출력부(124)에서 판단부(130)으로 전달된다. 일 실시 예에서 프로파일 출력부(124)는 유/무선 통신 수단일 수 있다. 또 다른 실시 예에서 프로파일 출력부(124)는 외부 출력 단자일 수 있다.The converted profile information is transmitted from the profile
따라서, 본 발명의 일 실시 예에 따른 감시 제어 장치(100)는 다수의 이기종 프로토콜을 식별하기 위하여 전체 시스템의 프로그램을 업데이트 하거나 새로 개발할 필요 없이 프로토콜의 프로파일 정보만을 입력하여 다수의 이기종 프로토콜에 대응할 수 있다. 또한, 프로토콜의 일부 변경 시에도 프로파일 정보만을 일부 변경하면 되는바 유연한 대처가 가능하다는 장점이 있다. 여기에서 입력하는 프로파일은 상대적으로 크기가 작으므로 입력 및 처리가 용이하며 과도한 시스템 부하를 요구하지도 않는다.Therefore, the
판단부(130)는 프로파일 정보 출력부(124)로부터 수신한 프로파일 정보를 코드 정보를 이용하여 프로토콜 구조 정보로 가공하고, 저장한다. 더하여, 판단부(130)는 수신된 패킷을 기 저장된 프로토콜 구조 정보와 대조하여 수신된 패킷의 프로토콜을 식별하여, 식별 결과에 따라 패킷을 제어한다.The
판단부(130)는 프로토콜 구조 정보 저장부(131), 패킷 분석부(132), 및 패킷 제어부(133)을 포함한다.The
프로토콜 구조 정보 저장부(131)은 프로파일 정보 출력부(124)에서 출력된 프로파일 정보를 코드 정보를 이용하여 프로토콜 구조 정보로 가공한다. 여기에서 사용하는 코드 정보를 도 4 및 도 5를 참고하여 설명한다.The protocol structure
도 4는 본 발명의 일 실시 예에 따른 프로파일 구성 요소를 나타낸다.Figure 4 illustrates profile components in accordance with an embodiment of the present invention.
도 4에 도시된 바와 같이 프로파일 구성 요소로서, 기본 정보, 코드 정보, 타입 정보, 메모리 정보, 값 정보, 길이 정보 및 출력 정보가 있을 수 있다. 여기에서 소개하는 프로파일 구성 요소는 일 실시 예로서 다른 구성요소가 추가되거나 일부 구성요소가 빠질 수 있다.As shown in FIG. 4, there may be basic information, code information, type information, memory information, value information, length information, and output information as profile components. The profile components introduced herein may be added as an embodiment or some components may be omitted.
도 5는 도 4에서 예시하고 있는 구성요소에 따라 프로토콜 구조 정보를 생성하는 일 예를 나타낸다.FIG. 5 shows an example of generating protocol structure information according to the components illustrated in FIG.
도 5에 도시된 바와 같이, 프로파일 정보 출력부(124)에서 출력된 디지털화된 프로파일 정보(501)은 프로토콜 구조 저장부(131)에서 프로토콜 구조 정보(502)로 변환된다. 프로토콜 구조 저장부(131)는 일련의 디지털 정보(0 또는 1)로 표현되는 프로파일 정보를 특정 길이로 나누어 복수개의 필드로 나눈다.5, the
도 5를 예를 들면 프로토콜 구조 저장부(131)는 처음 10개의 바이트를 헤더 필드, 2개 바이트는 명령 필드, 4개 바이트는 주소 필드, 2개 바이트는 값 필드, 그리고 8바이트는 데이터 필드로 나눌 수 있다. 프로토콜 구조 저장부(131)는 각 필드에 특정의 코드를 할당할 수 있다. 이때 코드 번호는 중복하여 사용할 수 없다. 그리고 프로토콜 구조 저장부(131)는 변환된 구조 정보를 저장할 수 있다. 프로토콜 구조 저장부(131)는 메모리를 더 포함할 수 있다.패킷 분석부(132)는 프로토콜 구조 정보 저장부에 저장되어 있는 프로토콜 구조 정보에 기초하여 패킷을 분석/식별한다. 패킷 분석부(132)는 패킷 송수신부(140)를 통해 획득한 패킷을 분석하여 디지털화된 프로파일 정보를 생성하고, 프로파일 정보를 프로토콜 구조 정보와 대조하여 프로토콜을 식별한다.5, for example, the protocol
구체적으로 패킷 분석부(132)는 기 저장된 프로토콜 구조 및 구조를 구성하는 필드 내 값과 패킷으로부터 획득한 프로파일 정보를 대조하여 프로토콜을 식별한다. 구체적인 식별 방법을 도 5를 예시하여 설명한다.Specifically, the
제1 식별 단계로, 패킷 분석부(132)는 프로파일 정보로부터 전송 패킷의 총 길이를 판단하고, 전송 패킷의 총 길이와 기 저장된 프로토콜 구조의 총 길이의 일치 여부를 판단한다. 여기에서 총 길이가 일치하지 않는 경우 일치하는 프로토콜 구조가 나올 때 까지 기 저장된 다른 프로토콜 구조 정보와 순차적으로 대조한다. 도 5를 예를 들면, 제1 프로토콜의 총 길이가 26바이트(10+2+4+2+8)이므로, 패킷 분석부(132)는 전송 패킷의 총 길이가 26바이트 인지 여부를 판단한다. 만약 일치하는 경우 다음 프로세스로 넘어간다.In the first identifying step, the
패킷 분석부(132)는 전송된 패킷의 총 길이가 기 저장된 제1 프로토콜 구조와 일치하는 경우, 전송된 패킷을 제1 프로토콜로 가식별한다. 여기에서 가식별이란, 길이가 일치하는 경우 일단 패킷이 해당 프로토콜을 따르는 것으로 가정하는 것이다. 길이만으로 패킷의 프로토콜을 식별하는 것은 정확하지 않으나, 길이를 비교하는 것이 가장 간단한 판단 방법으로, 제1 식별 단계를 통해 비교적 간단하게 가식별을 완료한다. 이러한 가정에 따라 패킷 분석부(132)는 전송된 패킷의 데이터를 제1 프로토콜 구조에 따라 복수의 필드로 나누고, 각 필드 마다 코드를 할당한다. When the total length of the transmitted packet matches the previously stored first protocol structure, the
제2 식별 단계로, 패킷 분석부(132)는 전송된 패킷 각각의 필드의 값을 제1 프로토콜 구조 정보의 해당 필드 값과 비교한다. 패킷 분석부(132)는 필드 별로 모든 값이 일치하는 경우 전송된 패킷을 제1 프로토콜로 식별할 수 있다. 필드 별로 제1 프로토콜 구조 정보에서 정의하지 않은 값이 전송된 패킷에 존재하는 경우 제1 프로토콜로 식별하지 않으며, 기 저장된 다음 프로토콜 구조 정보와 비교하는 프로세스로 넘어갈 수 있다.In a second identifying step, the
상술한 제2 식별 단계에서 전송된 패킷의 오류 여부를 함께 판단할 수도 있다. 구체적으로, 패킷 분석부(132)는 상술한 제1 식별 단계와 제2 식별 단계를 기 저장된 모든 프로토콜 구조 정보에 적용했음에도 불구하고 프로토콜을 식별하지 못한 경우, 전송된 패킷을 오류 패킷으로 판단할 수 있다.It is also possible to determine whether the packet transmitted in the second identification step is in error or not. Specifically, if the first identification step and the second identification step are applied to all the previously stored protocol structure information but the protocol can not be identified, the
일 실시 예에서 프로토콜 구조 저장부(131)는 1개 이상의 프로토콜 구조 정보를 저장할 수 있며, 패킷 분석부(132)는 저장되어 있는 프로토콜 구조 정보를 순차적으로 획득한 패킷의 프로파일 정보와 대조함으로써 패킷의 프로토콜을 식별할 수 있다. In one embodiment, the protocol
패킷 제어부(133)는 패킷 분석부(132)에서의 패킷 분석 결과에 따라 패킷을 제어한다. 구체적으로 패킷 제어부(133)는 사용자의 제어 정책에 따라 패킷을 제어할 수 있다. 일 실시 예에서, 패킷 제어부(133)는 패킷이 식별되지 않은 경우 오류 패킷으로 판단하여 해당 패킷을 버릴 수 있다. 또 다른 실시 예에서, 패킷 제어부(133)는 패킷이 식별되지 않은 경우 저장되지 않은 새로운 프로토콜을 따르는 패킷으로 판단하여, 식별되지 않은 패킷을 프로파일 생성부(110)로 전달할 수 있다. 프로파일 생성부(110)를 통해 새로운 프로토콜 구조 정보가 생성될 수 있다.The
그리고, 패킷 제어부(133)는 제어 결과를 모니터링부(150)으로 전달할 수 있다.Then, the
일 실시 예에서 프로파일 수신부(120) 및 판단부(130)는 프로세서일 수 있다. In one embodiment, the
패킷 송수신부(140)는 중앙 관리 장치(200)와 원격 단말(30)로부터 패킷을 수신하고 송신한다. 패킷 송수신부(140)는 유/무선 통신 장치일 수 있다.The packet transmission /
모니터링부(150)는 판단부(130)의 제어 결과를 수집하고 이를 사용자에게 표시한다. 모니터링부(150)는 디스플레이 장치일 수 있다.The
도 3은 본 발명의 일 실시 예에 따른 감시 제어 장치의 동작 과정을 나타내는 흐름도이다.3 is a flowchart illustrating an operation process of the monitoring control apparatus according to an embodiment of the present invention.
이하 도 3을 설명할 때 동작 주체는 감시 제어 장치(100)로 표현되며, 구체적인 동작 주체는 도 2에서 설명한 블록도의 구성이다.3, the operation subject is represented by the
감시 제어 장치(100)는 프로파일을 수신한다(S101). 여기에서 수신하는 프로파일은 디지털로 변환되지 않은 데이터이다. 예를 들어 프로파일은 엑셀 형식의 데이터일 수 있다.The
감시 제어 장치(100)는 수신한 프로파일이 정상인지 여부를 판단한다(S103). 감시 제어 장치(100)는 수신한 프로파일이 정상 프로파일이 아닌 경우 수신한 프로파일을 폐기하고 새로운 프로파일을 수신한다.The
감시 제어 장치(100)는 수신한 프로파일이 정상인 경우 프로파일을 파싱한다(S105). 감시 제어 장치(100)는 프로파일 파싱 결과에 기초하여 디지털화된 프로파일 정보를 생성한다(S107).The
감시 제어 장치(100)는 프로파일 정보에 기초하여 프로파일 정보를 프로토콜 구조 정보로 구조화한다(S109). 여기에서 생성된 프로토콜 구조 정보를 메모리에 저장될 수 있으며, 메모리에는 하나 이상의 프로토콜 구조 정보가 저장될 수 있다.The
감시 제어 장치(100)는 중앙 관리 장치(200) 또는 원격 단말(30)으로부터 패킷을 수신하고 이를 파싱한다(S111). 여기에서 획득하는 패킷은 스카다 시스템에서 데이터를 주고 받기 위해 데이터를 특정의 포맷으로 패키타이징한 것일 수 있다.The
감시 제어 장치(100)는 패킷의 파싱 결과와 기 저장된 프로토콜 구조 정보를 비교하여 일치 여부를 판단한다(S113). 여기에서 감시 제어 장치(100)는 일치하는 프로토콜 구조 정보가 검색될 때까지 기 저장된 프로토콜 구조 정보 전체를 순차적으로 비교할 수 있다. 구체적인 비교 방법은 상술한 것과 같다.The
감시 제어 장치(100)는 비교 결과 일치하지 않는 경우 기 설정 내용에 따라 패킷을 제어한다(S115). 일 실시 예에서 중계 장치는 패킷이 식별되지 않고 오류 패킷으로 판단된 경우 해당 패킷을 버릴 수 있다. 또 다른 실시 예에서 중계 장치는 식별되지 않은 패킷으로부터 새로운 프로토콜 구조 정보를 생성할 수 있다.When the comparison result does not match, the
감시 제어 장치(100)는 제어 결과를 모니터링을 위해 모니터링 데이터로 가공하여 표시한다(S117).The
만약, 감시 제어 장치(100)가 비교 결과 특정의 프로토콜 구조 정보와 패킷 구조가 일치하는 경우 프로토콜을 식별하고 분석한다(S119). 프로토콜의 식별은 패킷이 어느 프로토콜에 의해 생성된 것인지를 판단하는 단계이다. 분석은 패킷에 포함된 데이터가 무엇인지를 판단하는 단계이다.If the
감시 제어 장치(100)는 식별 및 분석 결과에 기초하여 모니터링 데이터를 생성한다(S121). 여기에서 생성된 모니터링 결과도 디스플레이부를 통해 표시될 수 있다. The
감시 제어 장치(100)는 수신한 패킷을 중앙 관리 장치(200) 또는 원격 단말(30)로 송신한다(S123). 정상 패킷이라고 판단된 경우, 해당 패킷을 원래의 목적지로 전달하는 것도 패킷을 제어하는 동작의 하나라고 볼 수도 있다.The
전술한 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. The present invention described above can be embodied as computer-readable codes on a medium on which a program is recorded. The computer readable medium includes all kinds of recording devices in which data that can be read by a computer system is stored. Examples of the computer readable medium include a hard disk drive (HDD), a solid state disk (SSD), a silicon disk drive (SDD), a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, , And may also be implemented in the form of a carrier wave (e.g., transmission over the Internet).
따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.Accordingly, the above description should not be construed in a limiting sense in all respects and should be considered illustrative. The scope of the present invention should be determined by rational interpretation of the appended claims, and all changes within the scope of equivalents of the present invention are included in the scope of the present invention.
Claims (9)
특정 패킷 프로토콜 구조 정보 생성을 위한 사람이 읽을 수 있는 형태의 프로파일을 획득하고, 획득한 프로파일을 디지털화된 프로파일 정보로 변환하는 프로파일 수신부; 및
상기 프로파일 수신부에서 출력된 프로파일 정보를 하나 이상의 필드로 나누어 구조화한 프로토콜 구조 정보를 생성하고, 저장하는 판단부를 포함하고,
상기 판단부는 스카다 시스템에서 데이터를 전달하기 위한 제1 패킷을 수신하고, 수신한 제1 패킷의 프로토콜 구조와 기 저장된 프로토콜 구조 정보를 비교하여 패킷의 프로토콜을 식별하고,
상기 판단부는 상기 제1 패킷의 길이와 프로토콜 구조 정보에 포함된 제1 프로토콜 구조의 길이를 비교하여 일치하는 경우, 상기 제1 패킷이 제1 프로토콜을 따르는 것으로 가식별하고,
상기 프로토콜 구조 정보에 포함된 제1 프로토콜 구조 정보에 따라 상기 제1 패킷을 하나 이상의 필드로 나누고, 상기 제1 패킷 각각의 필드에 포함된 값과 제1 프로토콜 구조 정보에 따른 필드별 값을 비교하여 일치하는 경우 상기 제1 패킷을 제1 프로토콜에 따른 것으로 최종 식별하는
스카다 시스템의 감시 제어 장치.1. A supervisory control apparatus for transmitting and receiving a packet between a central management apparatus and a remote terminal in a scada system,
A profile receiving unit for obtaining a profile of a human-readable type for generating a specific packet protocol structure information and converting the obtained profile into digitalized profile information; And
And a determination unit configured to generate and store structured protocol structure information by dividing the profile information output from the profile receiving unit into one or more fields,
The determination unit receives the first packet for transmitting data in the Scada system, identifies the protocol of the packet by comparing the protocol structure of the received first packet with the previously stored protocol structure information,
Wherein the determining unit compares the length of the first packet with the length of the first protocol structure included in the protocol structure information and identifies that the first packet follows the first protocol if the length matches the length of the first protocol structure,
Dividing the first packet into one or more fields according to the first protocol structure information included in the protocol structure information, comparing values contained in the fields of the first packet with field-based values according to the first protocol structure information, And if it matches, the first packet is finally identified as being according to the first protocol
Scada system monitoring and control device.
상기 판단부는 하나 이상의 프로토콜에 대한 하나 이상의 프로토콜 구조 정보를 저장하고, 수신된 제1 패킷과 기 저장된 하나 이상의 프로토콜 구조 정보를 순차적으로 비교하여 상기 제1 패킷의 프로토콜을 식별하는
스카다 시스템의 감시 제어 장치.The method according to claim 1,
Wherein the determination unit stores one or more protocol structure information for one or more protocols and sequentially compares the received first packet with previously stored one or more protocol structure information to identify a protocol of the first packet
Scada system monitoring and control device.
상기 프로토콜 구조 정보는 하나 이상의 필드로 구성되고,
상기 필드는 고유의 길이 및 고유의 값을 갖는
스카다 시스템의 감시 제어 장치.3. The method of claim 2,
Wherein the protocol structure information comprises one or more fields,
The field has a unique length and a unique value
Scada system monitoring and control device.
상기 판단부는 상기 제1 패킷의 길이와 상기 제1 프로토콜 구조의 길이가 일치하지 않는 경우, 일치하는 프로토콜 구조를 찾을 때까지 상기 제1 프로토콜 구조를 제외한 나머지 프로토콜 구조와 순차적으로 비교를 수행하는
스카다 시스템의 감시 제어 장치.The method according to claim 1,
If the length of the first packet and the length of the first protocol structure do not match, the determination unit sequentially performs a comparison with the remaining protocol structures except for the first protocol structure until a matching protocol structure is found
Scada system monitoring and control device.
상기 판단부는 제1 패킷의 길이와 일치하는 프로토콜 구조를 찾지 못하거나, 길이가 일치하더라도 제1 패킷의 각 필드 값이 길이가 일치하는 프로토콜 구조 내 필드 값과 모두 일치하지 않는 경우 상기 제1 패킷을 오류로 판단하는
스카다 시스템의 감시 제어 장치.6. The method of claim 5,
The determining unit may not find a protocol structure that matches the length of the first packet, or if the field values of the first packet do not match all field values in the protocol structure whose length matches, Judged to be an error
Scada system monitoring and control device.
상기 판단부는 상기 제1 패킷 식별 결과를 모니터링 가능하도록 가공하여 사용자에게 제공하는
스카다 시스템의 감시 제어 장치.The method according to claim 1,
The determination unit may process the first packet identification result to be monitorable and provide the processed result to a user
Scada system monitoring and control device.
프로파일이 정상 프로파일인 경우 프로파일을 파싱하여 컴퓨터가 읽을 수 있는 프로파일 정보를 생성하는 단계;
상기 프로파일 정보를 구조화하여 프로토콜 구조 정보를 생성하는 단계;
중앙 관리 장치 또는 원격 단말로부터 제1 패킷을 수신하는 단계;
상기 제1 패킷의 프로토콜 정보를 획득하는 단계;
상기 제1 패킷 프로토콜 정보와 기 저장된 프로토콜 구조 정보에 기초하여 상기 제1 패킷의 프로토콜을 식별하는 단계; 및
상기 식별 결과에 기초하여 상기 제1 패킷을 제어하는 단계를 포함하고,
상기 제1 패킷의 프로토콜을 식별하는 단계는,
상기 제1 패킷의 길이와 프로토콜 구조 정보에 포함된 제1 프로토콜 구조의 길이를 비교하여 일치하는 경우, 상기 제1 패킷이 제1 프로토콜을 따르는 것으로 가식별하는 단계 및 상기 프로토콜 구조 정보에 포함된 제1 프로토콜 구조 정보에 따라 상기 제1 패킷을 하나 이상의 필드로 나누고, 상기 제1 패킷 각각의 필드에 포함된 값과 제1 프로토콜 구조 정보에 따른 필드별 값을 비교하여 일치하는 경우 상기 제1 패킷을 제1 프로토콜에 따른 것으로 최종 식별하는 단계를 포함하는
감시 제어 장치 동작 방법.Receiving a profile of a human-readable form for generating specific packet protocol structure information;
Parsing the profile to generate computer-readable profile information if the profile is a normal profile;
Structuring the profile information to generate protocol structure information;
Receiving a first packet from a central management device or a remote terminal;
Obtaining protocol information of the first packet;
Identifying a protocol of the first packet based on the first packet protocol information and the previously stored protocol structure information; And
And controlling the first packet based on the identification result,
Wherein identifying a protocol of the first packet comprises:
Comparing the length of the first packet with the length of the first protocol structure included in the protocol structure information, if the first packet is identical to the length of the first protocol structure, recognizing that the first packet follows the first protocol, 1 protocol structure information, compares a value contained in each field of the first packet with a field-specific value according to the first protocol structure information, and if the first packet matches the first packet, RTI ID = 0.0 > 1 < / RTI >
A method of operating a supervisory control device.
상기 제1 패킷을 제어하는 단계는,
상기 제1 패킷이 식별 불가한 경우, 상기 제1 패킷에 기초하여 새로운 프로토콜 구조 정보를 생성하는 단계를 포함하는
감시 제어 장치 동작 방법.9. The method of claim 8,
Wherein controlling the first packet comprises:
And generating new protocol structure information based on the first packet if the first packet is unidentifiable
A method of operating a supervisory control device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180147988A KR101969940B1 (en) | 2018-11-27 | 2018-11-27 | Industrial Protocol Packet Monitoring and Control Devices |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180147988A KR101969940B1 (en) | 2018-11-27 | 2018-11-27 | Industrial Protocol Packet Monitoring and Control Devices |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101969940B1 true KR101969940B1 (en) | 2019-04-18 |
Family
ID=66284989
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180147988A KR101969940B1 (en) | 2018-11-27 | 2018-11-27 | Industrial Protocol Packet Monitoring and Control Devices |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101969940B1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020028099A (en) * | 2000-10-07 | 2002-04-16 | 구자홍 | Transmission method for length indicator of protocol data unit |
US20160328352A1 (en) * | 2012-05-07 | 2016-11-10 | Bristol, Inc. D/B/A Remote Automation Solutions | Methods and apparatus to identify a communication protocol being used in a process control system |
-
2018
- 2018-11-27 KR KR1020180147988A patent/KR101969940B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020028099A (en) * | 2000-10-07 | 2002-04-16 | 구자홍 | Transmission method for length indicator of protocol data unit |
US20160328352A1 (en) * | 2012-05-07 | 2016-11-10 | Bristol, Inc. D/B/A Remote Automation Solutions | Methods and apparatus to identify a communication protocol being used in a process control system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102139140B1 (en) | A tag data profiling system for private Industrial Control System protocol | |
CN109887242A (en) | It sends a warning message method, apparatus, system to user terminal | |
KR101874351B1 (en) | System and method for management of devices based on internet of things and computer program for the same | |
CN111767039B (en) | Industrial acquisition gateway and data acquisition method based on script file | |
CN111683066A (en) | Heterogeneous system integration method and device, computer equipment and storage medium | |
CN112333211B (en) | Industrial control behavior detection method and system based on machine learning | |
CN113191635A (en) | Intelligent management system for electric energy of construction engineering site | |
CN113905107A (en) | Method and device for acquiring point list data of industrial equipment and gateway | |
CN110535972B (en) | Centralized control and communication system, equipment and readable storage medium for platform gas detection equipment | |
CN111131325A (en) | Data protocol anomaly identification system and method | |
CN114595987A (en) | Multi-device centralized management method, device, system, electronic device and storage medium | |
KR102139138B1 (en) | An ICS header profiling system for private Industrial Control System protocol | |
Silva et al. | Universal parser for wireless sensor networks in industrial cyber physical production systems | |
KR101969940B1 (en) | Industrial Protocol Packet Monitoring and Control Devices | |
KR102547546B1 (en) | Apparatus for controlling and acquiring employing smart factory in assembling/manufacturing processing industry | |
CN108920377B (en) | Log playback test method, system and device and readable storage medium | |
CN114553749A (en) | Private protocol analysis method, device, computer equipment and readable storage medium | |
CN116033048B (en) | Multi-protocol analysis method of Internet of things, electronic equipment and storage medium | |
CN107133189B (en) | Isolated communication structure for machine instrument | |
JP2011179706A (en) | Data collecting device, air conditioning device, data collecting system, data collecting method and program | |
US8693368B2 (en) | Method and system for remote identification of a network node | |
US11947328B2 (en) | Control device, control program, and control system | |
CN114374745A (en) | Protocol format processing method and system | |
CN110771101B (en) | Intrusion detection device, intrusion detection method, and intrusion detection system | |
CN112311679A (en) | State detection method and device, electronic equipment and readable storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |