KR101969940B1 - 산업 프로토콜 패킷 감시 및 제어 장치 - Google Patents
산업 프로토콜 패킷 감시 및 제어 장치 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
본 발명은 산업용 네트워크 트래픽에서 산업 프로토콜 패킷을 감시 및 제어하는 방법에 관한 것이다. 특히, 산업 프로토콜을 프로파일이라는 통합된 하나의 정보로 일반화하고, 이를 이용하여 다종의 산업 프로토콜 패킷에 대한 감시와 제어를 용이하게 수행할 수 있는 장치에 관한 것이다.
스카다(SCADA: Supervisory Control And Data Acquisition) 시스템은 통신 경로상의 아날로그 또는 디지털 신호를 이용한 원격 장치의 상태 정보 데이터를 원격 단말(RTU, Remote Terminal Unit)로부터 수집하고 저장, 및 표시하며 이를 바탕으로 중앙 제어 시스템에서 원격 장치를 감시/제어하는 시스템이다.
스카다 시스템에서 대부분의 제어 동작은 원격 단말과 프로그램 로직 제어기(PLC, Programmable Logic Controller)에 의해 자동으로 이루어지며, 운영자가 내릴 수 있는 제어 명령은 보통 기본적인 작업 변경이나 관리 수준의 작업 조정에 한한다. 데이터 취득은 원격 단말이나 프로그램 로직 제어기에서 시작되며, 스카다 시스템이 필요로 하는 계측기 수치를 읽거나 각 장비의 상태를 보고 하는 작업 등이 여기에 해당한다. 이렇게 획득된 자료들은 관제 센터에서 운영자가 시스템 관리를 위해 적절한 판단을 내릴 수 있도록 사람이 이해할 수 있는 형태로 변환된다.
스카다 시스템의 네트워크 프로토콜을 분석하는 도구에 있어서 기존에는 Wincap이라는 라이브러리를 통하여 송신과 수신에 대한 패킷을 수집하고 수집된 패킷을 분석하는 코어부와 출력되는 정보를 선별하는 디스플레이 필터부가 있다.
종래 기술의 경우 시스템에서 송/수신되는 네트워크 패킷을 식별하는데 있어서 가장 먼저 포트(PORT) 번호를 이용한다. 각 프로토콜은 고유의 포트 번호를 기본으로 사용하고 있으며, 수신된 패킷의 포트 번호가 특정의 포트 번호인지 확인하여 프로토콜을 식별한다. 또한, 식별된 패킷에 대한 분석 도구 내에 프로토콜의 구조를 프로그램하여 식별된 패킷과 프로그램된 구조와 비교하면서 분석이 수행된다.
본 발명의 일 실시 예에 따른 감시 제어 장치는 다수의 이기종 프로토콜을 운영하는 스카다 시스템에 있어서, 효율적으로 패킷의 프로토콜을 식별할 수 있는 장치를 제안하는 것을 목적으로 한다.
본 발명의 일 실시 예에 따른 감시 제어 장치는 프로토콜의 추가/변경/삭제에 있어서 전문가의 도움 또는 대규모의 업데이트 없이도 대응할 수 있는 장치를 제안하는 것을 목적으로 한다.
본 발명의 일 실시 예에 따른 장치는 특정 프로토콜에 대한 프로파일을 획득하고, 획득한 프로파일을 디지털화된 프로파일 정보로 변환하는 프로파일 수신부 및 상기 프로파일 수신부에서 출력된 프로파일 정보를 하나 이상의 필드로 나누어 구조화한 프로토콜 구조 정보를 생성하고, 저장하는 판단부를 포함하고, 상기 판단부는 스카다 시스템에서 데이터를 전달하기 위한 패킷을 수신하고, 수신한 패킷의 프로토콜 구조와 기 저장된 프로토콜 구조 정보를 비교하여 패킷의 프로토콜을 식별한다.
본 발명의 일 실시 예에 따른 감시 제어 장치는 산업 네트워크 트래픽에서 다수의 이기종 프로토콜 패킷을 분석하고 식별할 수 있다.
또한, 본 발명의 일 실시 예에 따른 감시 제어 장치는 공정 관리에 필요한 데이터를 보다 쉽게 추출하고 모니터링할 수 있다.
또한, 본 발명의 일 실시 예에 따른 감시 제어 장치는 공정의 효율성을 증대할 수 있도록 머신러닝과 딥러닝의 분석 데이터로 활용되는 분석 데이터를 용이하게 추출할 수 있다.
또한, 본 발명의 일 실시 예에 따른 감시 제어 장치는 프로파일을 이용함으로써, 프로토콜의 변경, 추가, 삭제가 상대적을 용이하여 새로운 프로토콜에 대응하기 위한 프로그램을 다시 개발할 필요가 없다.
도 1은 본 발명의 일 실시 예에 따른 스카다 시스템을 나타내는 블록도이다.
도 2는 본 발명의 일 실시 예에 따른 스카다 시스템의 감시 제어 장치의 블록도이다.
도 3은 본 발명의 일 실시 예에 따른 감시 제어 장치의 동작 과정을 나타내는 흐름도이다.
도 4는 본 발명의 일 실시 예에 따른 프로파일 구성 요소를 나타낸다.
도 5는 도 4에서 예시하고 있는 구성요소에 따라 프로토콜 구조 정보를 생성하는 일 예를 나타낸다.
도 2는 본 발명의 일 실시 예에 따른 스카다 시스템의 감시 제어 장치의 블록도이다.
도 3은 본 발명의 일 실시 예에 따른 감시 제어 장치의 동작 과정을 나타내는 흐름도이다.
도 4는 본 발명의 일 실시 예에 따른 프로파일 구성 요소를 나타낸다.
도 5는 도 4에서 예시하고 있는 구성요소에 따라 프로토콜 구조 정보를 생성하는 일 예를 나타낸다.
이하에서는 도면을 참조하여 본 발명의 구체적인 실시예를 상세하게 설명한다. 그러나 본 발명의 사상은 이하의 실시예에 제한되지 아니하며, 본 발명의 사상을 이해하는 당업자는 동일한 사상의 범위 내에 포함되는 다른 실시예를 구성요소의 부가, 변경, 삭제, 및 추가 등에 의해서 용이하게 제안할 수 있을 것이나, 이 또한 본 발명 사상의 범위 내에 포함된다고 할 것이다.
첨부 도면은 발명의 사상을 이해하기 쉽게 표현하기 위하여 전체적인 구조를 설명함에 있어서는 미소한 부분은 구체적으로 표현하지 않을 수도 있고, 미소한 부분을 설명함에 있어서는 전체적인 구조는 구체적으로 반영되지 않을 수도 있다. 또한, 설치 위치 등 구체적인 부분이 다르더라도 그 작용이 동일한 경우에는 동일한 명칭을 부여함으로써, 이해의 편의를 높일 수 있도록 한다. 또한, 동일한 구성이 복수 개가 있을 때에는 어느 하나의 구성에 대해서만 설명하고 다른 구성에 대해서는 동일한 설명이 적용되는 것으로 하고 그 설명을 생략한다.
산업 현장에서는 다수의 이기종 제어 장치와 관리 시스템이 서로 통신을 수행한다. 이기종의 특성으로 다종의 산업 프로토콜 패킷의 트래픽이 생성된다. 예를 들어 제1 기종에서 사용하는 패킷의 프로토콜과 제2 기종에서 사용하는 패킷의 프로토콜이 다를 수 있으며, 중앙 제어 장치에서 서로 다른 프로토콜을 통해 생성된 패킷을 수신하는 경우 각 패킷을 식별하고 처리하는데 어려움이 발생할 수 있다.
상술한 바와 같이 기존에는 기본적으로 프로토콜의 기본 포트 번호를 기반으로 패킷의 프로토콜을 식별했다. 하지만 새로운 프로토콜이 사용하고자 하는 포트 번호가 이미 존재하거나, 다른 포트 번호를 사용해야 하는 경우, 기존의 제어 시스템에서는 새로운 포트번호에 관한 정보가 없기 때문에 제어 장치가 전송 패킷을 식별하거나 분석하지 못하였다. 이러한 식별 실패는 머신 러닝 및 딥러닝의 분석 데이터인 2차 데이터 생산이 어려워지는 추가적인 문제로 이어졌다.
또한, 프로토콜의 경우 업데이트 및 보안 문제로 인한 패치가 발생할 수 있고, 새로운 프로토콜이 추가될 수도 있다. 이 경우, 종래에는 전체 시스템 업데이트 및 패치를 통해서만 새로운 프로토콜의 추가가 가능하였는바 다기종의 장치를 운용하는 제어 시스템에서, 유연한 시스템 동작이 어려운 문제가 있었다.
따라서, 이하에서는 이러한 종래 기술의 문제점을 해결하기 위한 본 발명의 일 실시 예에 따른 스카다 시스템을 설명하도록 한다.
도 1은 본 발명의 일 실시 예에 따른 스카다 시스템을 나타내는 블록도이다.
본 발명의 일 실시 예에 따른 스카다 시스템은 원격 단말(10, 30, 50), 감시 제어 장치(100), 중앙 관리 장치(200) 및 물리 인프라(300)을 포함한다.
원격 단말(10, 30, 50)은 물리 인프라(300)의 상태 정보를 계측 및 제어하는 장치로, 프로그램 로직 제어기(PLC, 10), 원격 단말기(RTU, 30) 및 IED(Intelligent Electronic Device, 50) 중 적어도 하나를 포함할 수 있다. 이하에서는 설명의 편의를 위해 원격 단말이 원격 단말기(30)인 경우의 실시 예를 중심으로 설명한다.
원격 단말(30)은 공정에 설치된 센서 또는 액츄에이터와 같은 물리 인프라(300)와 직접 연결되며, 물리 인프라(300)에서 발생하는 신호를 컴퓨터가 인식할 수 있는 디지털 데이터로 변환하고, 디지털 데이터를 중앙 관리 장치 (200)로 전달한다. 이하에서 '상태정보'는 센서로부터 수집하여 원격 단말에서 변환된 디지털 데이터를 의미하는 것으로 이해될 수 있다. 상태 정보는 물리적인 장비로부터 수신된 측정 데이터, 각종 상태 데이터, 센서 데이터를 포함한다. 원격 단말(30)은 중앙 관리 장치(200)로부터 수신된 제어 명령에 따라 장치의 액츄에이터나 릴레이를 제어한다.
예를 들어, 원격 단말(30)은 제어 대상이 되는 장치를 감시, 제어 및 계측하는 장치로서, 제어 명령을 통해 제어 대상이 되는 장치들을 제어하고, 그들로부터 획득한 상태 정보 및 계측 정보를 획득할 수 있다. 원격 단말(30)은 각 장치마다 마련될 수 있으며, 또는 하나의 원격 단말(30)이 복수의 제어 대상 장치를 감시/제어할 수도 있다.
원격 단말(30)은 각종 데이터를 처리하고 상위 제어 시스템(예를 들어 중앙 관리 장치)과 통신을 관장하는 주 처리 장치, 현장 전력 설비를 삼시하고 제어하는 현장 처리 장치, 설비의 전압/전류를 포함하는 각종 계측 값을 취득하는 계측 장치, GPS 로부터 표준시간을 받아 원격 단말(30) 모든 부품의 시간을 동기화하는 GPS 수신기, 현장 기기와의 전기적인 연결이 이루어지는 터미널 장치 및 전원 공급 장치 중 적어도 하나를 포함할 수 있다.
감시 제어 장치(100)는 원격 단말(30)와 중앙 관리 장치(200)사이에서 감시 제어 장치(100) 또는 원격 단말(30)로부터 패킷을 송/수신한다. 감시 제어 장치(100)는 원격 단말(30)과 중앙 관리 장치(200)를 중계 할 수 있으며, 원격 단말(30)과 중앙 관리 장치(200)간 송수신되는 패킷을 모니터링만 할 수도 있다. 감시 제어 장치(100)는 현장에서 발생한 각종 이벤트를 실시간으로 수집하여 상위 시스템으로 전송하는 역할을 하며, 상위 시스템의 제어 명령을 해석하여 원격 단말(30)을 제어할 수도 있다. 중계 장치에 대한 보다 구체적인 설명은 도 2를 참조하여 후술하기로 한다.
도 2는 본 발명의 일 실시 예에 따른 스카다 시스템의 감시 제어 장치의 블록도이다.
도 2에 도시된 바와 같이, 본 발명의 일 실시 예에 따른 감시 제어 장치(100)는 프로파일 생성부(110), 프로파일 수신부(120), 판단부(130), 패킷 송수신부(140) 및 모니터링부(150) 중 적어도 하나를 포함할 수 있다.
프로파일 생성부(110)는 전송되는 패킷 및 프로토콜 문서 규격에 기초하여 특정 프로토콜에 관한 프로파일을 생성한다. 일 실시 예에서 프로파일 생성부(110)는 사용자로부터 직접 프로토콜 구조에 관한 정보를 입력받고 이를 가공하여 프로파일을 생성할 수 있다. 여기에서 사용자는 프로토콜 문서 규격에 따라 프로토콜 구조에 관한 정보를 입력할 수 있다.
또 다른 일 실시 예에서 프로파일 생성부(110)는 특정의 패킷을 입력받고 일정한 규칙에 따라 패킷을 분석하여 프로파일을 생성할 수도 있다. 여기에서 프로파일 생성부(110)는 기 저장되어 있는 프로토콜 문서 규격에 따라 패킷을 분석하여 특정 프로토콜에 대한 프로파일을 생성할 수 있다. 결과적으로 본 발명에서는 프로토콜 문서 규격만을 입력하면 프로토콜 인식을 위한 새로운 프로파일을 생성할 수 있어 상대적으로 간이하게 다기종의 프로토콜을 인식할 수 있다.
프로파일 수신부(120)는 프로파일 생성부(110)로부터 특정 프로토콜에 대한 프로파일(또는 프로파일 정보)을 수신한다. 그리고 프로파일 생성부(110)는 수신한 프로파일을 1차 가공하여 프로파일 정보를 생성한다. 여기에서 특정의 프로토콜 구조를 일반화한 정보를 프로파일 정보라고 할 수 있다.
프로파일 수신부(120)는 프로파일 입력부(121), 프로파일 파싱부(122), 프로파일 정보 생성부(123) 및 프로파일 정보 출력부(124)를 포함할 수 있다.
프로파일 입력부(121)는 프로파일 생성부(110)에서 생성된 프로파일을 입력받는다. 프로파일 입력부(121)는 입력된 프로파일이 정상 프로파일인지 여부를 확인하고, 비정상 프로파일인 경우 폐기한다. 일 실시 예에서 프로파일 입력부(121)는 입력된 프로파일이 정해진 엑셀 양식에 따라 작성된 것인지 여부에 기초하여 정상 여부를 판단할 수 있다.
일 실시 예에서 프로파일 일력부(121)는 유/무선 통신장치 일 수 있다. 또 다른 실시 예에서 프로파일 입력부(121)는 외부 입력 장치일 수 있다. 예를 들어 프로파일 입력부는 마우스, 키보드, 터치 입력 스크린 또는 마이크 일 수 있다.
프로파일 파싱부(122)는 입력된 프로파일을 분석한다. 구체적으로 프로파일 파싱부(122)는 입력된 프로파일의 내용을 해석하고, 해석된 내용은 프로파일 구조 정보 생성부(123)에서 프로파일 정보로 변환된다. 프로파일 생성부(110)으로부터 전달받은 데이터는 컴퓨터가 읽을 수 없는 데이터로서, 프로파일 파싱부(122)는 아날로그 데이터를 해석하고, 프로파일 정보 생성부는 아날로그 데이터를 디지털로 변환한다.
변환된 프로파일 정보는 프로파일 정보 출력부(124)에서 판단부(130)으로 전달된다. 일 실시 예에서 프로파일 출력부(124)는 유/무선 통신 수단일 수 있다. 또 다른 실시 예에서 프로파일 출력부(124)는 외부 출력 단자일 수 있다.
따라서, 본 발명의 일 실시 예에 따른 감시 제어 장치(100)는 다수의 이기종 프로토콜을 식별하기 위하여 전체 시스템의 프로그램을 업데이트 하거나 새로 개발할 필요 없이 프로토콜의 프로파일 정보만을 입력하여 다수의 이기종 프로토콜에 대응할 수 있다. 또한, 프로토콜의 일부 변경 시에도 프로파일 정보만을 일부 변경하면 되는바 유연한 대처가 가능하다는 장점이 있다. 여기에서 입력하는 프로파일은 상대적으로 크기가 작으므로 입력 및 처리가 용이하며 과도한 시스템 부하를 요구하지도 않는다.
판단부(130)는 프로파일 정보 출력부(124)로부터 수신한 프로파일 정보를 코드 정보를 이용하여 프로토콜 구조 정보로 가공하고, 저장한다. 더하여, 판단부(130)는 수신된 패킷을 기 저장된 프로토콜 구조 정보와 대조하여 수신된 패킷의 프로토콜을 식별하여, 식별 결과에 따라 패킷을 제어한다.
판단부(130)는 프로토콜 구조 정보 저장부(131), 패킷 분석부(132), 및 패킷 제어부(133)을 포함한다.
프로토콜 구조 정보 저장부(131)은 프로파일 정보 출력부(124)에서 출력된 프로파일 정보를 코드 정보를 이용하여 프로토콜 구조 정보로 가공한다. 여기에서 사용하는 코드 정보를 도 4 및 도 5를 참고하여 설명한다.
도 4는 본 발명의 일 실시 예에 따른 프로파일 구성 요소를 나타낸다.
도 4에 도시된 바와 같이 프로파일 구성 요소로서, 기본 정보, 코드 정보, 타입 정보, 메모리 정보, 값 정보, 길이 정보 및 출력 정보가 있을 수 있다. 여기에서 소개하는 프로파일 구성 요소는 일 실시 예로서 다른 구성요소가 추가되거나 일부 구성요소가 빠질 수 있다.
도 5는 도 4에서 예시하고 있는 구성요소에 따라 프로토콜 구조 정보를 생성하는 일 예를 나타낸다.
도 5에 도시된 바와 같이, 프로파일 정보 출력부(124)에서 출력된 디지털화된 프로파일 정보(501)은 프로토콜 구조 저장부(131)에서 프로토콜 구조 정보(502)로 변환된다. 프로토콜 구조 저장부(131)는 일련의 디지털 정보(0 또는 1)로 표현되는 프로파일 정보를 특정 길이로 나누어 복수개의 필드로 나눈다.
도 5를 예를 들면 프로토콜 구조 저장부(131)는 처음 10개의 바이트를 헤더 필드, 2개 바이트는 명령 필드, 4개 바이트는 주소 필드, 2개 바이트는 값 필드, 그리고 8바이트는 데이터 필드로 나눌 수 있다. 프로토콜 구조 저장부(131)는 각 필드에 특정의 코드를 할당할 수 있다. 이때 코드 번호는 중복하여 사용할 수 없다. 그리고 프로토콜 구조 저장부(131)는 변환된 구조 정보를 저장할 수 있다. 프로토콜 구조 저장부(131)는 메모리를 더 포함할 수 있다.패킷 분석부(132)는 프로토콜 구조 정보 저장부에 저장되어 있는 프로토콜 구조 정보에 기초하여 패킷을 분석/식별한다. 패킷 분석부(132)는 패킷 송수신부(140)를 통해 획득한 패킷을 분석하여 디지털화된 프로파일 정보를 생성하고, 프로파일 정보를 프로토콜 구조 정보와 대조하여 프로토콜을 식별한다.
구체적으로 패킷 분석부(132)는 기 저장된 프로토콜 구조 및 구조를 구성하는 필드 내 값과 패킷으로부터 획득한 프로파일 정보를 대조하여 프로토콜을 식별한다. 구체적인 식별 방법을 도 5를 예시하여 설명한다.
제1 식별 단계로, 패킷 분석부(132)는 프로파일 정보로부터 전송 패킷의 총 길이를 판단하고, 전송 패킷의 총 길이와 기 저장된 프로토콜 구조의 총 길이의 일치 여부를 판단한다. 여기에서 총 길이가 일치하지 않는 경우 일치하는 프로토콜 구조가 나올 때 까지 기 저장된 다른 프로토콜 구조 정보와 순차적으로 대조한다. 도 5를 예를 들면, 제1 프로토콜의 총 길이가 26바이트(10+2+4+2+8)이므로, 패킷 분석부(132)는 전송 패킷의 총 길이가 26바이트 인지 여부를 판단한다. 만약 일치하는 경우 다음 프로세스로 넘어간다.
패킷 분석부(132)는 전송된 패킷의 총 길이가 기 저장된 제1 프로토콜 구조와 일치하는 경우, 전송된 패킷을 제1 프로토콜로 가식별한다. 여기에서 가식별이란, 길이가 일치하는 경우 일단 패킷이 해당 프로토콜을 따르는 것으로 가정하는 것이다. 길이만으로 패킷의 프로토콜을 식별하는 것은 정확하지 않으나, 길이를 비교하는 것이 가장 간단한 판단 방법으로, 제1 식별 단계를 통해 비교적 간단하게 가식별을 완료한다. 이러한 가정에 따라 패킷 분석부(132)는 전송된 패킷의 데이터를 제1 프로토콜 구조에 따라 복수의 필드로 나누고, 각 필드 마다 코드를 할당한다.
제2 식별 단계로, 패킷 분석부(132)는 전송된 패킷 각각의 필드의 값을 제1 프로토콜 구조 정보의 해당 필드 값과 비교한다. 패킷 분석부(132)는 필드 별로 모든 값이 일치하는 경우 전송된 패킷을 제1 프로토콜로 식별할 수 있다. 필드 별로 제1 프로토콜 구조 정보에서 정의하지 않은 값이 전송된 패킷에 존재하는 경우 제1 프로토콜로 식별하지 않으며, 기 저장된 다음 프로토콜 구조 정보와 비교하는 프로세스로 넘어갈 수 있다.
상술한 제2 식별 단계에서 전송된 패킷의 오류 여부를 함께 판단할 수도 있다. 구체적으로, 패킷 분석부(132)는 상술한 제1 식별 단계와 제2 식별 단계를 기 저장된 모든 프로토콜 구조 정보에 적용했음에도 불구하고 프로토콜을 식별하지 못한 경우, 전송된 패킷을 오류 패킷으로 판단할 수 있다.
일 실시 예에서 프로토콜 구조 저장부(131)는 1개 이상의 프로토콜 구조 정보를 저장할 수 있며, 패킷 분석부(132)는 저장되어 있는 프로토콜 구조 정보를 순차적으로 획득한 패킷의 프로파일 정보와 대조함으로써 패킷의 프로토콜을 식별할 수 있다.
패킷 제어부(133)는 패킷 분석부(132)에서의 패킷 분석 결과에 따라 패킷을 제어한다. 구체적으로 패킷 제어부(133)는 사용자의 제어 정책에 따라 패킷을 제어할 수 있다. 일 실시 예에서, 패킷 제어부(133)는 패킷이 식별되지 않은 경우 오류 패킷으로 판단하여 해당 패킷을 버릴 수 있다. 또 다른 실시 예에서, 패킷 제어부(133)는 패킷이 식별되지 않은 경우 저장되지 않은 새로운 프로토콜을 따르는 패킷으로 판단하여, 식별되지 않은 패킷을 프로파일 생성부(110)로 전달할 수 있다. 프로파일 생성부(110)를 통해 새로운 프로토콜 구조 정보가 생성될 수 있다.
그리고, 패킷 제어부(133)는 제어 결과를 모니터링부(150)으로 전달할 수 있다.
일 실시 예에서 프로파일 수신부(120) 및 판단부(130)는 프로세서일 수 있다.
패킷 송수신부(140)는 중앙 관리 장치(200)와 원격 단말(30)로부터 패킷을 수신하고 송신한다. 패킷 송수신부(140)는 유/무선 통신 장치일 수 있다.
모니터링부(150)는 판단부(130)의 제어 결과를 수집하고 이를 사용자에게 표시한다. 모니터링부(150)는 디스플레이 장치일 수 있다.
도 3은 본 발명의 일 실시 예에 따른 감시 제어 장치의 동작 과정을 나타내는 흐름도이다.
이하 도 3을 설명할 때 동작 주체는 감시 제어 장치(100)로 표현되며, 구체적인 동작 주체는 도 2에서 설명한 블록도의 구성이다.
감시 제어 장치(100)는 프로파일을 수신한다(S101). 여기에서 수신하는 프로파일은 디지털로 변환되지 않은 데이터이다. 예를 들어 프로파일은 엑셀 형식의 데이터일 수 있다.
감시 제어 장치(100)는 수신한 프로파일이 정상인지 여부를 판단한다(S103). 감시 제어 장치(100)는 수신한 프로파일이 정상 프로파일이 아닌 경우 수신한 프로파일을 폐기하고 새로운 프로파일을 수신한다.
감시 제어 장치(100)는 수신한 프로파일이 정상인 경우 프로파일을 파싱한다(S105). 감시 제어 장치(100)는 프로파일 파싱 결과에 기초하여 디지털화된 프로파일 정보를 생성한다(S107).
감시 제어 장치(100)는 프로파일 정보에 기초하여 프로파일 정보를 프로토콜 구조 정보로 구조화한다(S109). 여기에서 생성된 프로토콜 구조 정보를 메모리에 저장될 수 있으며, 메모리에는 하나 이상의 프로토콜 구조 정보가 저장될 수 있다.
감시 제어 장치(100)는 중앙 관리 장치(200) 또는 원격 단말(30)으로부터 패킷을 수신하고 이를 파싱한다(S111). 여기에서 획득하는 패킷은 스카다 시스템에서 데이터를 주고 받기 위해 데이터를 특정의 포맷으로 패키타이징한 것일 수 있다.
감시 제어 장치(100)는 패킷의 파싱 결과와 기 저장된 프로토콜 구조 정보를 비교하여 일치 여부를 판단한다(S113). 여기에서 감시 제어 장치(100)는 일치하는 프로토콜 구조 정보가 검색될 때까지 기 저장된 프로토콜 구조 정보 전체를 순차적으로 비교할 수 있다. 구체적인 비교 방법은 상술한 것과 같다.
감시 제어 장치(100)는 비교 결과 일치하지 않는 경우 기 설정 내용에 따라 패킷을 제어한다(S115). 일 실시 예에서 중계 장치는 패킷이 식별되지 않고 오류 패킷으로 판단된 경우 해당 패킷을 버릴 수 있다. 또 다른 실시 예에서 중계 장치는 식별되지 않은 패킷으로부터 새로운 프로토콜 구조 정보를 생성할 수 있다.
감시 제어 장치(100)는 제어 결과를 모니터링을 위해 모니터링 데이터로 가공하여 표시한다(S117).
만약, 감시 제어 장치(100)가 비교 결과 특정의 프로토콜 구조 정보와 패킷 구조가 일치하는 경우 프로토콜을 식별하고 분석한다(S119). 프로토콜의 식별은 패킷이 어느 프로토콜에 의해 생성된 것인지를 판단하는 단계이다. 분석은 패킷에 포함된 데이터가 무엇인지를 판단하는 단계이다.
감시 제어 장치(100)는 식별 및 분석 결과에 기초하여 모니터링 데이터를 생성한다(S121). 여기에서 생성된 모니터링 결과도 디스플레이부를 통해 표시될 수 있다.
감시 제어 장치(100)는 수신한 패킷을 중앙 관리 장치(200) 또는 원격 단말(30)로 송신한다(S123). 정상 패킷이라고 판단된 경우, 해당 패킷을 원래의 목적지로 전달하는 것도 패킷을 제어하는 동작의 하나라고 볼 수도 있다.
전술한 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다.
따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.
Claims (9)
- 스카다 시스템에서 중앙 관리 장치와 원격 단말사이에서 패킷을 송수신하는 감시 제어 장치에 있어서,
특정 패킷 프로토콜 구조 정보 생성을 위한 사람이 읽을 수 있는 형태의 프로파일을 획득하고, 획득한 프로파일을 디지털화된 프로파일 정보로 변환하는 프로파일 수신부; 및
상기 프로파일 수신부에서 출력된 프로파일 정보를 하나 이상의 필드로 나누어 구조화한 프로토콜 구조 정보를 생성하고, 저장하는 판단부를 포함하고,
상기 판단부는 스카다 시스템에서 데이터를 전달하기 위한 제1 패킷을 수신하고, 수신한 제1 패킷의 프로토콜 구조와 기 저장된 프로토콜 구조 정보를 비교하여 패킷의 프로토콜을 식별하고,
상기 판단부는 상기 제1 패킷의 길이와 프로토콜 구조 정보에 포함된 제1 프로토콜 구조의 길이를 비교하여 일치하는 경우, 상기 제1 패킷이 제1 프로토콜을 따르는 것으로 가식별하고,
상기 프로토콜 구조 정보에 포함된 제1 프로토콜 구조 정보에 따라 상기 제1 패킷을 하나 이상의 필드로 나누고, 상기 제1 패킷 각각의 필드에 포함된 값과 제1 프로토콜 구조 정보에 따른 필드별 값을 비교하여 일치하는 경우 상기 제1 패킷을 제1 프로토콜에 따른 것으로 최종 식별하는
스카다 시스템의 감시 제어 장치. - 제 1 항에 있어서,
상기 판단부는 하나 이상의 프로토콜에 대한 하나 이상의 프로토콜 구조 정보를 저장하고, 수신된 제1 패킷과 기 저장된 하나 이상의 프로토콜 구조 정보를 순차적으로 비교하여 상기 제1 패킷의 프로토콜을 식별하는
스카다 시스템의 감시 제어 장치. - 제 2 항에 있어서,
상기 프로토콜 구조 정보는 하나 이상의 필드로 구성되고,
상기 필드는 고유의 길이 및 고유의 값을 갖는
스카다 시스템의 감시 제어 장치. - 삭제
- 제 1 항에 있어서,
상기 판단부는 상기 제1 패킷의 길이와 상기 제1 프로토콜 구조의 길이가 일치하지 않는 경우, 일치하는 프로토콜 구조를 찾을 때까지 상기 제1 프로토콜 구조를 제외한 나머지 프로토콜 구조와 순차적으로 비교를 수행하는
스카다 시스템의 감시 제어 장치. - 제 5 항에 있어서,
상기 판단부는 제1 패킷의 길이와 일치하는 프로토콜 구조를 찾지 못하거나, 길이가 일치하더라도 제1 패킷의 각 필드 값이 길이가 일치하는 프로토콜 구조 내 필드 값과 모두 일치하지 않는 경우 상기 제1 패킷을 오류로 판단하는
스카다 시스템의 감시 제어 장치. - 제 1항에 있어서,
상기 판단부는 상기 제1 패킷 식별 결과를 모니터링 가능하도록 가공하여 사용자에게 제공하는
스카다 시스템의 감시 제어 장치. - 특정 패킷 프로토콜 구조 정보 생성을 위한 사람이 읽을 수 있는 형태의 프로파일을 수신하는 단계;
프로파일이 정상 프로파일인 경우 프로파일을 파싱하여 컴퓨터가 읽을 수 있는 프로파일 정보를 생성하는 단계;
상기 프로파일 정보를 구조화하여 프로토콜 구조 정보를 생성하는 단계;
중앙 관리 장치 또는 원격 단말로부터 제1 패킷을 수신하는 단계;
상기 제1 패킷의 프로토콜 정보를 획득하는 단계;
상기 제1 패킷 프로토콜 정보와 기 저장된 프로토콜 구조 정보에 기초하여 상기 제1 패킷의 프로토콜을 식별하는 단계; 및
상기 식별 결과에 기초하여 상기 제1 패킷을 제어하는 단계를 포함하고,
상기 제1 패킷의 프로토콜을 식별하는 단계는,
상기 제1 패킷의 길이와 프로토콜 구조 정보에 포함된 제1 프로토콜 구조의 길이를 비교하여 일치하는 경우, 상기 제1 패킷이 제1 프로토콜을 따르는 것으로 가식별하는 단계 및 상기 프로토콜 구조 정보에 포함된 제1 프로토콜 구조 정보에 따라 상기 제1 패킷을 하나 이상의 필드로 나누고, 상기 제1 패킷 각각의 필드에 포함된 값과 제1 프로토콜 구조 정보에 따른 필드별 값을 비교하여 일치하는 경우 상기 제1 패킷을 제1 프로토콜에 따른 것으로 최종 식별하는 단계를 포함하는
감시 제어 장치 동작 방법. - 제 8 항에 있어서,
상기 제1 패킷을 제어하는 단계는,
상기 제1 패킷이 식별 불가한 경우, 상기 제1 패킷에 기초하여 새로운 프로토콜 구조 정보를 생성하는 단계를 포함하는
감시 제어 장치 동작 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180147988A KR101969940B1 (ko) | 2018-11-27 | 2018-11-27 | 산업 프로토콜 패킷 감시 및 제어 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180147988A KR101969940B1 (ko) | 2018-11-27 | 2018-11-27 | 산업 프로토콜 패킷 감시 및 제어 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101969940B1 true KR101969940B1 (ko) | 2019-04-18 |
Family
ID=66284989
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180147988A KR101969940B1 (ko) | 2018-11-27 | 2018-11-27 | 산업 프로토콜 패킷 감시 및 제어 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101969940B1 (ko) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020028099A (ko) * | 2000-10-07 | 2002-04-16 | 구자홍 | 프로토콜 데이터 유닛의 길이 식별정보 전송방법 |
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/ko active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020028099A (ko) * | 2000-10-07 | 2002-04-16 | 구자홍 | 프로토콜 데이터 유닛의 길이 식별정보 전송방법 |
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 |
---|---|---|
CN109887242B (zh) | 向用户终端发送告警信息方法、装置、*** | |
KR102139140B1 (ko) | 비공개 ics 프로토콜에 대한 태그 데이터의 프로파일링 시스템 | |
KR101874351B1 (ko) | 사물 인터넷 기반 장치의 관리 시스템 및 방법과 이를 위한 컴퓨터 프로그램 | |
CN113191635B (zh) | 建筑工程现场电能智慧化管理*** | |
CN111767039B (zh) | 基于脚本文件的工业采集网关及数据采集方法 | |
CN111683066A (zh) | 异构***集成方法、装置、计算机设备和存储介质 | |
CN112333211B (zh) | 一种基于机器学习的工控行为检测方法和*** | |
CN111131325A (zh) | 一种数据协议异常识别***及方法 | |
CN114595987A (zh) | 多设备集中管理方法、装置、***、电子设备及存储介质 | |
Silva et al. | Universal parser for wireless sensor networks in industrial cyber physical production systems | |
KR101969940B1 (ko) | 산업 프로토콜 패킷 감시 및 제어 장치 | |
CN108920377B (zh) | 一种日志回放测试方法、***、装置及可读存储介质 | |
CN113905107A (zh) | 工业设备点表数据的获取方法、装置及网关 | |
CN110535972B (zh) | 一种平台化的燃气检测设备集中管控及通信***,设备及可读存储介质 | |
KR102139138B1 (ko) | 그룹 및 주기 기반 비정상행위 탐지를 위한 비공개 ics 프로토콜의 프로파일링 시스템 | |
CN107133189B (zh) | 用于机器仪器的隔离通信结构 | |
US8693368B2 (en) | Method and system for remote identification of a network node | |
US11947328B2 (en) | Control device, control program, and control system | |
EP3605966B1 (en) | Intrusion detection device, intrusion detection method, and intrusion detection system | |
CN114374745A (zh) | 一种协议格式的处理方法及*** | |
CN112311679A (zh) | 状态检测方法、装置、电子设备及可读存储介质 | |
CN113779086A (zh) | 发电站设备数据采集方法、装置、设备及存储介质 | |
JP4816169B2 (ja) | グローバルプロセス生成方法、装置、システム、およびプログラム | |
CN116033048B (zh) | 物联网的多协议解析方法、电子设备和存储介质 | |
WO2015094004A1 (en) | Computer device for detecting correlations within data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |