KR102112587B1 - 패킷 감시 장치 및 통신 패킷에 대한 패킷 감시 방법 - Google Patents
패킷 감시 장치 및 통신 패킷에 대한 패킷 감시 방법 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
본 발명의 실시 예에 따른 패킷 감시 방법은 서버 및 제어 장치 사이에서 송수신되는 통신 패킷을 수신하는 단계, 수신된 통신 패킷보다 이전에 수신된 통신 패킷들의 제어 정보를 포함하는 이력 테이블 및 수신된 통신 패킷의 제어 정보를 기반으로 수신된 통신 패킷의 비정상 여부를 판별하는 단계, 및 판별 결과에 따라 보안 동작을 수행하는 단계를 포함한다.
Description
본 발명은 제어 시스템에 관한 것으로, 더욱 상세하게는 패킷 감시 장치 및 통신 패킷에 대한 패킷 감시 방법에 관한 것이다.
제어 시스템은 원격지의 시스템을 효율적으로 감시하고 관리하기 위한 시스템으로서 전력, 가스, 상하수도, 교통 등과 같은 국가 주요 기반 시설의 운용에 사용된다. 제어 시스템은 폐쇄적인 통신망 또는 전용 OS의 사용에서 개방형 통신망 및 범용 OS의 사용으로 사용 환경이 변화하고 있다. 이러한 변화는 제어 시스템의 편의성을 증대시키는 반면에, 보안상 취약점을 노출하는 양면적 특성을 갖는다. 특히, 비공개 제어시스템 프로토콜 표준이 점차 국제 표준으로 공개됨에 따라 점차적으로 제어시스템에 대한 사이버침해의 가능성과 위험성이 높아지고 있다.
상술된 제어 시스템 프로토콜 중 DNP 3.0 프로토콜은 제어 시스템에서 광범위하게 사용되고 있으며, 전기, 석유, 가스 등의 분야에서 사용되는 산업 표준으로 자리잡은 프로토콜이다. 그러나, 보안적인 측면이 고려되지 않은 DNP3 프로토콜은 일반 네트워크의 spoofing, modification 등과 같은 다양한 공격 위험을 가지고 있다. 즉, DNP(Distributed Network Protocol) 3.0 프로토콜은 제어시스템의 일반적인 프로토콜 표준으로 자리 잡아가고 있는 중이나, 보안적인 측면이 취약한 점을 이용하여 간단한 공격이 가능하다는 문제점이 존재한다. 즉, DNP 3.0 프로토콜은 간단한 패킷 조작만으로 공격이 가능하기 때문에, 새로운 형태의 공격이 발생할 수 있는 가능성이 존재한다.
Digital Bond 社에서는 이러한 일반 네트워크의 취약점을 DNP3 프로토콜에 적용한 16가지의 취약점을 공개하였으며, 공개된 침입탐지규칙은 Snort의 침입탐지규칙 형식으로 Cisco, 3com/Tipping Point, Symantec등 주요 11개 보안 업체에 제공 및 사용되고 있다. 그러나, 전력망에 대한 공격패턴은 알려지지 않은 기법들이 훨씬 많으므로, 기존에 시그너쳐 기반에 의존적인 트래픽 감시 체계를 개선하여 행위기반 또는 비정상 행위 학습을 통한 감시 체계의 구축이 요구되고 있다. 결론적으로, 의도적 또는 비의도적인 행위로 인하여 주요기반시설의 안전한 시스템 운영을 방해하는 활동으로부터 제어시스템 간의 안정적인 서비스 제공을 보호하기 위하여, 제어시스템 프로토콜에 적합한 보안 기법이 요구된다.
본 발명의 목적은 분산 네트워크 프로토콜 상에서 효율적으로 비정상 통신 패킷을 감지하는 패킷 감시 장치 및 통신 패킷에 대한 패킷 감시 방법을 제공하는 데 있다.
본 발명의 실시 예에 따른 서버 및 제어 장치 사이에서 송수신되는 통신 패킷에 대한 패킷 감시 방법은 상기 서버 및 상기 제어 장치 사이에서 송수신되는 통신 패킷을 수신하는 단계; 상기 수신된 통신 패킷보다 이전에 수신된 통신 패킷들의 제어 정보를 포함하는 이력 테이블 및 상기 수신된 통신 패킷의 제어 정보를 기반으로 상기 수신된 통신 패킷의 비정상 여부를 판별하는 단계; 및 상기 판별 결과에 따라 보안 동작을 수행하는 단계를 포함하고, 상기 제어 정보는 상기 통신 패킷의 응용 프로토콜 제어 정보의 기능 코드 필드, 상기 응용 프로토콜 제어 정보의 순서 비트, 링크 헤더의 소스 필드, 상기 링크 헤더의 목표 필드, 전송 헤더의 시작 비트, 및 상기 전송 헤더의 종료 비트를 포함한다.
실시 예로서, 상기 서버 및 상기 제어 장치는 분산 네트워크 프로토콜 3.0(DNP 3.0; Distributed Network Protocol 3.0)을 기반으로 상기 통신 패킷을 주고 받는다.
실시 예로서, 상기 수신된 통신 패킷의 비정상 여부를 판별하는 단계는 상기 수신된 통신 패킷이 비정상 통신 패킷인 경우, 상기 수신된 통신 패킷을 제1 내지 제5 유형의 비정상 통신 패킷 중 어느 하나로 분류하는 단계를 포함한다.
실시 예로서, 상기 제1 유형의 비정상 통신 패킷은 상기 서버 및 상기 제어 장치 사이에서 발생할 수 없는 비정상 통신 패킷을 가리키고, 상기 제2 유형의 비정상 통신 패킷은 상기 서버 및 상기 제어 장치 사이에서 정상적인 통신에 위배되는 비정상 통신 패킷을 가리키고, 상기 제3 유형의 비정상 통신 패킷은 상기 서버 및 상기 제어 장치 사이에서 송수신이 완료된 통신 패킷에 대하여 재전송되는 비정상 통신 패킷을 가리키고, 상기 제4 유형의 비정상 통신 패킷은 상기 서버 및 상기 제어 장치 사이에서 정상적인 순서 비트에 위배되는 비정상 통신 패킷을 가리키고, 상기 제5 유형의 비정상 통신 패킷은 상기 서버 및 상기 제어 장치 사이에서 비정상적인 메시지 끼워넣기를 발생시키는 비정상 통신 패킷을 가리킨다.
실시 예로서, 상기 수신된 통신 패킷을 제1 내지 제5 유형의 비정상 통신 패킷 중 어느 하나로 분류하는 단계는 상기 수신된 통신 패킷의 상기 링크 헤더의 소스 필드 및 상기 응용 프로토콜 제어 정보의 기능 코드 필드를 기반으로 상기 수신된 통신 패킷을 상기 제1 유형의 비정상 통신 패킷으로 분류하는 단계를 포함한다.
실시 예로서, 상기 수신된 통신 패킷을 상기 제1 유형의 비정상 통신 패킷으로 분류하는 단계는 상기 수신된 통신 패킷의 상기 링크 헤더의 상기 소스 필드가 상기 서버를 가리키고, 상기 기능 코드 필드가 응답 또는 임의 응답과 대응되는 값을 갖거나 또는 상기 수신된 통신 패킷의 상기 링크 헤더의 상기 소스 필드가 상기 제어 장치를 가리키고, 상기 기능 코드 필드가 요청과 대응되는 값을 갖는 경우, 상기 수신된 통신 패킷을 상기 제1 유형의 비정상 통신 패킷으로 분류하는 단계를 포함한다.
실시 예로서, 상기 수신된 통신 패킷을 제1 내지 제5 유형의 비정상 통신 패킷 중 어느 하나로 분류하는 단계는 상기 이력 테이블에 포함된 상기 이전에 수신된 통신 패킷들의 순서 비트들 및 수신된 시간을 기반으로 상기 수신된 통신 패킷을 상기 제2 유형의 비정상 통신 패킷으로 분류하는 단계를 포함한다.
실시 예로서, 상기 수신된 통신 패킷을 상기 제2 유형의 비정상 통신 패킷으로 분류하는 단계는 상기 이력 테이블에 포함된 상기 이전에 수신된 통신 패킷들 중 상기 수신된 통신 패킷과 동일한 순서 비트를 갖는 통신 패킷이 소정의 시간 이전에 수신된 경우, 상기 수신된 통신 패킷을 상기 제2 유형의 비정상 통신 패킷으로 분류하는 단계를 포함한다.
실시 예로서, 상기 수신된 통신 패킷을 제1 내지 제5 유형의 비정상 통신 패킷 중 어느 하나로 분류하는 단계는 상기 이전에 수신된 통신 패킷들 중 상기 수신된 통신 패킷과 대응되는 통신 패킷들의 송수신 완료 여부에 따라 상기 수신된 통신 패킷을 상기 제3 유형의 비정상 통신 패킷으로 분류하는 단계를 포함한다.
실시 예로서, 상기 수신된 통신 패킷을 제1 내지 제5 유형의 비정상 통신 패킷들 중 어느 하나로 분류하는 단계는 상기 이력 테이블을 기반으로 상기 이전에 수신된 통신 패킷들 중 상기 수신된 통신 패킷과 동일한 순서 비트를 갖는 통신 패킷의 송수신이 완료된 경우, 상기 수신된 통신 패킷을 상기 제3 유형의 비정상 통신 패킷으로 분류하는 단계를 포함한다.
실시 예로서, 상기 수신된 통신 패킷을 제1 내지 제5 유형의 비정상 통신 패킷들 중 어느 하나로 분류하는 단계는 상기 이력 테이블에 포함된 상기 이전에 수신된 통신 패킷들의 순서 비트들을 기반으로 상기 수신된 통신 패킷을 상기 제4 유형의 비정상 통신 패킷으로 분류하는 단계를 포함한다.
실시 예로서, 상기 수신된 통신 패킷을 상기 제4 유형의 비정상 통신 패킷으로 분류하는 단계는 상기 수신된 통신 패킷의 순서 비트가 상기 이력 테이블에 포함된 상기 이전에 수신된 통신 패킷들의 순서 비트들을 기반으로 상기 분산 네트워크 프로토콜 3.0에 따른 순서 비트와 다른 경우, 상기 수신된 통신 패킷의 순서 비트를 상기 제4 유형의 비정상 통신 패킷으로 분류하는 단계를 포함한다.
실시 예로서, 상기 수신된 통신 패킷을 제1 내지 제5 유형의 비정상 통신 패킷들 중 어느 하나로 분류하는 단계는 상기 이력 테이블에 포함된 상기 이전에 수신된 통신 패킷들의 링크 헤더의 시작 비트들 및 종료 비트들을 기반으로 상기 수신된 통신 패킷을 상기 제5 유형의 비정상 통신 패킷으로 분류하는 단계를 포함한다.
실시 예로서, 상기 수신된 통신 패킷을 상기 제5 유형의 비정상 통신 패킷으로 분류하는 단계는 상기 제어 장치로부터 상기 서버로 전송되는 상기 종료 비트가 '1'인 통신 패킷이 수신되기 이전에 상기 시작 비트가 '1'인 통신 패킷이 수신되는 경우, 상기 수신된 통신 패킷을 상기 제5 유형의 비정상 통신 패킷으로 분류하는 단계를 포함한다.
본 발명의 다른 실시 예에 따른 패킷 감시 장치는 서버 및 제어 장치 사이에서 송수신되는 통신 패킷을 수신하고, 상기 수신된 통신 패킷을 해제하여 제어 정보 및 메시지를 생성하는 분산 네트워크 프로토콜 물리 계층; 상기 수신된 통신 패킷의 상기 제어 정보를 관리하는 통신 패킷 분석 모듈; 상기 수신된 통신 패킷의 제어 정보 및 상기 수신된 통신 패킷보다 이전에 수신된 통신 패킷의 제어 정보를 저장하는 상기 이력 테이블; 및 상기 이력 테이블에 저장된 상기 이전에 수신된 통신 패킷의 제어 정보 및 상기 수신된 통신 패킷의 제어 정보를 기반으로 상기 수신된 통신 패킷이 비정상 통신 패킷인지 판별하는 비정상 패킷 검출 및 분류 모듈; 및 상기 비정상 패킷 검출 및 분류 모듈의 판별 결과에 따라 보안 동작을 수행하는 제어 모듈을 포함하고, 상기 제어 정보는 상기 통신 패킷의 응용 프로토콜 제어 정보의 기능 코드 필드, 상기 응용 프로토콜 제어 정보의 순서 비트, 링크 헤더의 소스 필드, 상기 링크 헤더의 목표 필드, 전송 헤더의 시작 비트, 및 상기 전송 헤더의 종료 비트를 포함한다.
실시 예로서, 상기 서버 및 상기 제어 장치는 분산 네트워크 프로토콜 3.0(DNP 3.0; Distributed Network Protocol 3.0)을 기반으로 상기 통신 패킷을 송수신한다.
실시 예로서, 상기 분산 네트워크 프로토콜 물리 계층은 상기 수신된 통신 패킷으로부터 상기 링크 헤더를 추출하는 DNP 3.0 데이터 링크 계층; 상기 수신된 통신 패킷으로부터 상기 전송 헤더를 추출하는 DNP 3.0 전송 계층; 및 상기 수신된 통신 패킷으로부터 상기 응용 프로토콜 제어 정보를 추출하는 DNP 3.0 응용 계층을 포함한다.
실시 예로서, 상기 서버 및 상기 제어 장치는 TCP/IP 프로토콜에 기반된 통신 라인을 통해 서로 통신하고, 상기 분산 네트워크 프로토콜 물리 계층은 상기 수신된 통신 패킷으로부터 이더넷 헤더, IP 헤더, 및 TCP 헤더를 추출하는 통신 프로토콜 계층을 더 포함한다.
실시 예로서, 상기 비정상 패킷 검출 및 분류 모듈은 상기 이력 테이블에 저장된 상기 이전에 수신된 통신 패킷의 제어 정보 및 상기 수신된 통신 패킷의 제어 정보를 기반으로 상기 수신된 통신 패킷을 제1 내지 제5 유형들의 비정상 통신 패킷들 중 어느 하나로 분류한다.
실시 예로서, 상기 제1 유형의 비정상 통신 패킷은 상기 서버 및 상기 제어 장치 사이에서 발생할 수 없는 통신 패킷을 가리키고, 상기 제2 유형의 비정상 통신 패킷은 상기 서버 및 상기 제어 장치 사이에서 정상적인 통신에 위배되는 통신 패킷을 가리키고, 상기 제3 형의 비정상 통신 패킷은 상기 서버 및 상기 제어 장치 사이에서 송수신이 완료된 통신 패킷에 대한 재전송 통신 패킷을 가리키고, 상기 제4 유형의 비정상 통신 패킷은 상기 서버 및 상기 제어 장치 사이에서 정상적인 순서 비트에 위배되는 통신 패킷을 가리키고, 상기 제5 유형의 비정상 통신 패킷은 상기 서버 및 상기 제어 장치 사이에서 비정상적인 메시지 끼워넣기를 발생시키는 통신 패킷을 가리키는 패킷 감시 장치.
본 발명에 따르면, 패킷 감시 장치는 분산 네트워크 프로토콜 3.0에 기반된 통신 패킷의 제어 정보를 분석함으로써 효과적으로 비정상 통신 패킷을 감지하고 이에 대한 유형을 분류할 수 있다. 또한, 패킷 감시 장치는 분류된 유형을 기반으로, 제어 시스템 내의 보안 위협에 대한 신속한 발견 및 대응으로 서비스의 신뢰성과 가용성 확보를 제공한다.
따라서, 향상된 신뢰성을 갖는 패킷 감시 장치 및 통신 패킷에 대한 패킷 감시 방법이 제공된다.
도 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 유형들을 설명하기 위한 도면들이다.
도 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은 본 발명의 실시 예에 따른 제어 시스템을 보여주는 블록도이다. 도 1을 참조하면, 제어 시스템(100)은 서버들(110, 110a, 110b), 제어 장치들(120, 120a, 120b), 센서들(Sensor), 및 패킷 감시 장치(130)를 포함한다. 예시적으로, 제어 시스템(100)은 전력, 가스, 상하수도, 교통 등과 같이 안전 또는 보안이 요구되는 시스템에서 사용되는 폐쇄형 제어 시스템일 수 있다.
서버들(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 서버 등과 같은 제어 서버 장치를 포함할 수 있다.
제어 장치들(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 등과 같은 현장 제어 장치들 또는 아웃스테이션 장치들을 포함할 수 있다.
예시적으로, 통신 회선(CL)은 미리 정해진 통신 규약에 따른 통신 회선일 수 있다. 즉, 통신 회선(CL)을 통해 서버 및 제어 장치가 통신하는 경우, 서버 및 제어 장치는 각각 미리 정해진 통신 규약에 따라 정의된 통신 패킷을 주고 받을 수 있다. 예시적으로, 통신 회선(CL)은 TCP/IP 프로토콜 상의 통신 회선일 수 있다. 이 경우, 서버(110) 및 제어 장치(120)는 TCP/IP 프로토콜에 의해 정의된 통신 패킷을 주고받을 수 있다.
패킷 감시 장치(130)는 서버들(110, 110a, 110b) 및 제어 장치들(120, 120a, 120b) 사이에서 통신 라인(CL)을 통해 송수신되는 통신 패킷을 모니터링할 수 있다. 예를 들어 패킷 감시 장치(130)는 통신 라인(CL) 상에 제공되는 미러링 포트(MP)를 통해 분기되는 통신 패킷을 수신하고, 수신된 통신 패킷의 코드 정보를 관리할 수 있다. 패킷 감시 장치(130)는 관리되는 코드 정보 및 수신된 통신 패킷을 기반으로 수신된 통신 패킷이 비정상 통신 패킷(또는 비정상 트래픽)인지 판별하고, 수신된 통신 패킷이 비정상 통신 패킷인 경우, 수신된 통신 패킷의 비정상 유형을 분류할 수 있다.
도 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 프로토콜에 의해 정의된 데이터 유닛들을 포함한다.
그러나, 본 발명의 기술적 사상이 이에 상술된 가정들에 한정되는 것은 아니며, 서버들(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의 점선)을 통해 주고 받을 수 있다.
도 1 및 도 2를 참조하면, 제어 시스템(100)은 서버(110), 제어 장치(120), 및 패킷 감시 장치(130)를 포함한다.
서버(110) 및 제어 장치(120) 각각은 통신 라인(CL)을 통해 통신 패킷을 송수신할 수 있다. 서버(110), 제어 장치(120), 및 패킷 감시 장치(130) 각각은 DNP 3.0 프로토콜에 따른 물리 계층(111, 121, 131)을 포함한다. DNP 3.0 프로토콜에 따른 물리 계층(111, 121, 131)은 전송될 메시지를 DNP 3.0 프로토콜에 의해 정의된 포맷의 통신 패킷으로 변환하거나 또는 수신된 통신 패킷을 메시지로 역변환하는 동작을 수행한다.
예시적으로, 통신 라인(CL)이 TCP/IP 프로토콜에 따른 통신 라인인 경우, 물리 계층(111, 121, 131) 각각은 TCP/IP 프로토콜에 따른 물리 계층을 더 포함할 수 있다. 즉, 물리 계층(111, 121, 131)은 전송될 메시지를 DNP 3.0 프로토콜에 의해 정의된 포맷으로 변환하고, 이를 TCP/IP 프로토콜에 의해 정의된 포맷의 통신 패킷으로 변환할 수 있다. 예시적으로, 통신 라인(CL)이 시리얼 통신 라인인 경우, TCP/IP 프로토콜에 따른 물리 계층은 생략될 수 있다.
예시적으로, 서버(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 프로토콜에 의해 정의된 통신 패킷 내에 포함될 수 있다.
도 3은 도 2의 DPN 3.0 프로토콜의 물리 계층을 상세하게 보여주는 블록도이다. 예시적으로, 도 3을 참조하여 서버(110)의 물리 계층(111)이 설명되나, 제어 장치(120) 및 패킷 감시 장치(130)의 물리 계층들(121, 131) 또한 도 3에 도시된 물리 계층과 동일한 계층 구조를 가질 수 있다.
도 2 및 도 3을 참조하면, 서버(110)의 물리 계층(111)은 DNP 3.0 응용 계층(111a), DNP 3.0 전송 계층(111b), DNP 3.0 데이터 링크 계층(111c), 및 통신 프로토콜 계층(111d)을 포함할 수 있다.
DNP 3.0 응용 계층(111a)은 서버(110)에서 전송될 메시지에 제어 정보를 추가하여 메시지를 규격화할 수 있다. 예시적으로, DNP 3.0 응용 계층(111a)에서 규격화된 메시지는 응용 프로토콜 데이터 유닛(APDU; Application Protocol Data Unit) 또는 DNP 3.0 조각(DNP3 Fragment)라 불린다. 이하에서, DNP 3.0 응용 계층(111a)에서 규격화된 메시지는 데이터 조각(data fragment; DNP 3.0 Fragment)라 칭한다.
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)라 칭한다.
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)이라 칭한다.
통신 프로토콜 계층(111d)은 통신 라인(CL)의 프로토콜에 따라 데이터 프레임들을 가공할 수 있다. 예시적으로, 통신 라인(CL)이 TCP/IP 프로토콜에 기반된 경우, 통신 프로토콜 계층(111d)은 전송 계층, 네트워크 계층, 및 링크/물리 계층을 포함하고, TCP/IP 프로토콜에 따라 데이터 프레임들을 가공할 수 있다.
가공된 데이터 프레임들은 통신 패킷으로서 통신 선로(CL)를 통해 제어 장치(120) 및 패킷 감시 장치(130)로 전송된다.
예시적으로, 서버(110)가 제어 장치(120)로부터 통신 패킷(즉, 응답(RP) 또는 임의 응답(URP))을 수신하는 경우, 서버(110)의 각 계층들은 상술된 순서의 역순으로 통신 패킷을 해제하여 메시지를 추출할 수 있다.
도 4는 도 3의 각 계층들에서의 데이터 구조를 설명하기 위한 도면이다. 예시적으로, 서버(110)로부터 600-바이트의 메시지(M1)가 전송되는 경우의 데이터 구조가 도 4에 도시된다. 그러나, 본 발명의 범위가 이에 한정되는 것은 아니며, 메시지의 크기는 다양하게 변형될 수 있으며, 각 계층에서의 규격에 따라, 메시지가 더 분할되거나 또는 데이터 유닛들이 더 생성될 수 있다.
도 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)에 대한 다양한 정보를 포함할 수 있다.
예시적으로, DNP 3.0 프로토콜에 의해 정의된 데이터 조각(FRAG)의 최대 크기는 2048-바이트로 제한될 수 있다. 응용 프로토콜 제어 정보(APCI)의 크기는 2-바이트일 수 있다. 이 경우, 메시지가 2046-바이트를 초과하는 경우, DNP 3.0 응용 계층(111a)은 메시지를 2046 bytes 단위로 분할하고, 분할된 메시지들 각각에 응용 프로토콜 제어 정보(APCI)를 추가하여 복수의 데이터 조각들을 생성할 수 있다. 예시적으로, 응용 프로토콜 제어 정보(APCI)의 크기는 메시지의 유형에 따라 크기가 가변될 수 있다.
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)일 수 있다.
다음으로, 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)를 포함할 수 있다.
통신 프로토콜 계층(111d)은 통신 선로(CL)의 통신 프로토콜에 기반된 정보를 제1 내지 제3 데이터 프레임들(FR1~FR3)에 추가하여 통신 패킷을 생성한다. 예를 들어, 통신 선로(CL)의 통신 프로토콜이 TCP/IP 인 경우, 통신 라인 프로토콜 계층(114)은 이더넷 헤더, IP 헤더, TCP 헤더와 같은 정보를 제1 내지 제3 데이터 프레임들(FR1~FR3) 각각에 추가하여 통신 패킷을 생성한다. 생성된 통신 패킷은 통신 선로(CL)를 통해 제어 장치(120)로 전송된다.
예시적으로, 도 4에 도시된 각 계층들의 유닛 및 패킷 구조들은 예시적인 것이며, 본 발명의 범위가 이에 한정되는 것은 아니다. 메시지의 종류, 크기, 각 계층에서의 유닛의 최대 크기에 따라 각 계층에서의 유닛의 개수가 달라질 수 있다.
또한, 제어 장치(120)는 도 4에 도시된 계층 구조와 동일한 계층 구조를 기반으로 통신을 수행할 수 있다. 또한, 패킷 감시 장치(130)는 도 4에 도시된 계층 구조와 동일한 계층 구조를 기반으로 수신된 통신 패킷을 해제할 수 있다.
도 5는 도 4의 데이터 조각을 상세하게 보여주는 도면이다. 도 5를 참조하면, 데이터 조각(FRAG)은 응용 프로토콜 제어 정보(APCI) 및 메시지(M1)(또는 응용 서비스 데이터 유닛(ASDU))를 포함한다. 응용 프로토콜 제어 정보(APCI)는 메시지(M1)의 제어 정보를 포함한다. 예를 들어, 응용 프로토콜 제어 정보(APCI)는 응용 제어 필드(Application Control), 기능 코드 필드(Function Code), 내부 명령어 필드(Internal Indications)를 포함한다.
응용 제어 필드(Application Control)는 시작 비트(FIR_A), 종료 비트(FIN_B), 콘 비트(CON), 임의 응답 비트(UNS), 및 순서 비트(SEQ_A)를 포함한다. 시작 비트(FIR_A)는 응용 제어 필드(Application Control)의 제7 비트(B7)이고, 현재 데이터 조각이 첫 번째 데이터 조각인지를 가리킨다. 예를 들어, 시작 비트(FIR_A)가 '1'로 설정된 경우, 현재 데이터 조각이 첫 번째 데이터 조각이다.
종료 비트(FIN_A)는 응용 제어 필드의 제6 비트(B6)이고, 현재 데이터 조각(FRAG)이 마지막 데이터 조각인지를 가리키다. 예를 들어, 종료 비트(FIN_A)가 '1'로 설정된 경우, 데이터 조각(FRAG)이 마지막 데이터 조각이다.
콘 비트(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)가 설정되지 않을 수 있다.
임의 응답 비트(UNS)는 응용 제어 필드(Application Control)의 제4 비트(B4)이고, 현재 데이터 조각(FRAG)이 임의 응답(URP)인지를 가리킨다. 예를 들어, 임의 응답 비트(UNS)가 '1'로 설정된 경우, 데이터 조각(FRAG)이 제어 장치(120)로부터 송신되는 임의 응답이다.
순서 비트(SEQ_A)는 응용 제어 필드의 제1 내지 제4 비트들(B1~B4)을 포함하고, 송수신되는 메시지의 식별을 위한 식별번호를 가리킨다. 예시적으로, 서버(110)로부터의 요청(RQ)에 대한 제어 장치(120)의 응답(RP)은 요청(RQ)과 동일한 순서 비트(SEQ_A)를 갖는다. 예시적으로, 서버(110)의 요청(RQ)의 순서 비트(SEQ_A)는 재전송(Retry)을 제외하고, '1'씩 증가한다. 예시적으로, 서버(110)의 요청(RQ)의 순서 비트(SEQ_A) 및 제어 장치(120)의 응답(RP)의 순서 비트(SEQ_A)는 서로 독립적으로 관리된다. 예시적으로, 서버(110) 및 제어 장치(120) 사이의 통신에서 관리되는 순서 비트 및 서버(110) 및 다른 제어 장치(120) 사이의 통신에서 관리되는 순서 비트는 서로 독립적으로 관리된다.
기능 코드 필드(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 사이의 값을 갖는다.
내부 명령어 필드(Internal Indication)는 데이터 조각(FRAG)의 종류에 따라 생략될 수 있다. 예를 들어, 데이터 조각(FRAG)이 요청(RQ)인 경우, 내부 명령어 필드(Internal Indication)는 생략된다.
도 6은 도 4의 데이터 세그먼트를 상세하게 보여주는 도면이다. 예시적으로, 도 6을 참조하여, 제1 데이터 세그먼트(SEG1)가 설명되나, 본 발명의 범위가 이에 한정되는 것은 아니며, 제2 및 제3 데이터 세그먼트들(SEG2, SEG3) 또는 다른 데이터 세그먼트들 또한 도 6의 제1 데이터 세그먼트(SEG1)와 유사한 데이터 구조를 가질 수 있다.
도 6을 참조하면, 제1 데이터 세그먼트(SEG1)는 제1 전송 헤더(TH1) 및 데이터 조각(FRAG)의 일부를 포함할 수 있다. 예시적으로, 데이터 조각(FRAG)의 일부는 249-바이트의 크기를 갖고, 응용 프로토콜 제어 정보(ACPI) 및 제1 내지 제247 데이터(D001~D247)를 포함할 수 있다.
제1 전송 헤더(TH1)는 1-바이트의 크기를 갖고, 시작 비트(FIR_T), 종료 비트(FIN_T), 및 순서 비트(SEQ_T)를 포함한다. 시작 비트(FIG_T)는 제1 전송 헤더(TH1)의 제7 비트(B7)이고, 현재 데이터 세그먼트가 첫 번째 데이터 세그먼트임을 가리킨다. 예를 들어, 시작 비트(FIR_T)가 '1'로 설정된 경우, 제1 데이터 세그먼트(SEG1)는 첫 번째 데이터 세그먼트이다.
종료 비트(FIN_T)는 제1 전송 헤더(TH1)의 제8 비트(B8)이고, 현재 데이터 세그먼트가 마지막 데이터 세그먼트임을 가리킨다. 예를 들어, 종료 비트(FIN_T)가 '1'로 설정된 경우, 제1 데이터 세그먼트(SEG1)는 마지막 데이터 세그먼트이다.
순서 비트(SEQ_T)는 제1 전송 헤더(TH1)의 제1 내지 제6 비트들(B1~B6)을 포함하고, 현재 데이터 세그먼트의 식별 번호를 가리킨다. 예시적으로, 시작 비트(FIR_T)가 '1'로 설정된 데이터 세그먼트의 순서 비트(SEQ_T)는 이전 데이터 세그먼트와 무관하게 0 내지 63 사이의 값을 갖는다.
도 7은 도 4의 데이터 프레임을 상세하게 보여주는 도면이다. 예시적으로, 도 7을 참조하여, 제1 데이터 프레임(FR1)이 설명되나, 본 발명의 범위가 이에 한정되는 것은 아니다. 제2 및 제3 데이터 프레임들(FR2, FR3) 및 다른 데이터 프레임들 또한 도 7의 제1 데이터 프레임(FR1)과 유사한 데이터 구조를 가질 수 있다.
도 7을 참조하면, 제1 데이터 프레임(FR1)은 제1 링크 헤더(LH1), 제1 데이터 세그먼트(SEG1), 및 순환 중복 검사 코드(CRC)를 포함한다. 제1 링크 헤더(LH1)는 시작 필드들(START), 길이 필드(Length), 제어 필드(Control), 목표 필드(Destination), 소스 필드(Source), 및, 순환 중복 검사 코드 필드(CRC)를 포함한다.
시작 필드들(START)은 각각 1-바이트의 크기를 갖고, 0x05 및 0x64의 값을 갖는다. 길이 필드(Length)는 전체 데이터 프레임의 길이에 대한 정보를 포함하고, 1-바이트의 크기를 갖는다. 제어 필드(Control)는 1-바이트의 크기를 갖고, DNP 3.0 데이터 링크 계층(111c)에서의 제어를 위한 정보를 포함한다.
목표 필드(Destination)는 2-바이트의 크기를 갖고, 제1 데이터 프레임(FR1)이 전송될 목표 장치에 대한 정보를 포함한다. 소스 필드(Source)는 2-바이트의 크기를 갖고, 제1 데이터 프레임(FR1)을 전송하는 장치에 대한 정보를 포함한다.
예시적으로, 목표 필드(Destination) 및 소스 필드(Source)를 통해 목표 장치 및 소스 장치를 식별할 수 있다. 예시적으로, TCP/IP 프로토콜의 IP 주소를 통해 목표 장치 및 소스 장치의 식별이 가능할 수 있으나, 하나의 IP에 복수의 논리적 장치들이 접속된 경우, 또는 시리얼 통신을 수행하는 경우, 상술된 목표 필드(Destination) 및 소스 필드(Source)를 기반으로 목표 장치 및 소스 장치를 식별할 수 있다.
예시적으로, 도 4 내지 도 7을 참조하여, DNP 3.0 프로토콜을 기반으로 통신하는 서버(110)의 데이터 포맷이 설명되었다. 그러나, 본 발명의 범위가 이에 한정되는 것은 아니며, 제어 장치(120) 또한 상술된 데이터 포맷을 기반으로 통신할 수 있고, 패킷 감시 장치(130) 또한 상술된 데이터 포맷을 기반으로 수신된 통신 패킷을 모니터링할 수 있다.
도 8 및 도 9는 도 2의 서버 및 제어 장치 사이의 통신을 보여주는 도면들이다. 예시적으로, 예시적으로, 도 8 및 도 9를 참조하여 설명되는 통신 패킷들(예를 들어, 요청(RQ), 응답(RP), 임의 응답(URP) 등)은 DNP 3.0 프로토콜에 의해 정의된 통신 패킷을 포함할 수 있다. 즉, 도 8 및 도 9를 참조하여 설명되는 통신 패킷들은 도 4 내지 도 7을 참조하여 설명된, 데이터 프레임들(FR)을 포함할 수 있다.
먼저 도 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) 또는 연속적인 값의 순서 비트를 가질 수 있다.
다음으로, 도 8의 제2 섹션에 도시된 바와 같이, S14 단계에서, 서버(110)는 제어 장치(120)로 응답 불요 요청(RQNR; request with no response)을 전송할 수 있다. 제어 장치(120)는 응답 불요 요청(NRQ)에 응답하여 응답을 전송하지 않을 수 있다. 예시적으로, S14 단계의 요청(NRQ)은 콘 비트(CON)가 '0'으로 설정되고, 이에 따라 제어 장치(120)는 기능 코드가 0x00의 값인 통신 패킷을 서버(110)로 전송하지 않아도 된다.
다음으로, 도 8의 제3 섹션에 도시된 바와 같이, S15 단계에서, 제어 장치(120)는 임의 응답(URP)을 서버(110)로 전송할 수 있다. S16 단계에서, 서버(110)는 임의 응답(URP)에 응답하여 확인(CF)을 제어 장치(120)로 전송한다. 예시적으로, S15 단계의 임의 응답(URP)은 콘 비트(CON)가 '1'로 설정되고, 서버(110)는 이에 응답하여 기능 코드(function code)가 0x00의 값을 갖는 확인(CF)을 제어 장치(120)로 전송한다.
다음으로, 도 2 및 도 9를 참조하면, 도 9의 제1 섹션에 도시된 바와 같이, S21 단계에서, 서버(110)는 응답(RQ)을 제어 장치(120)로 전송할 수 있다. 이 후, 소정의 시간동안 제어 장치(120)로부터 응답(RP)이 수신되지 않는 경우,(즉, 응답 타임아웃(Response timeout)이 경과한 후) S22 단계에서, 서버(110)는 재전송 응답(RRQ)을 제어 장치(120)로 재전송할 수 있다. 예시적으로, S21 단계의 응답(RP) 및 S22 단계의 재전송된 (RRQ)는 서로 동일한 순서 비트(SEQ_A)를 가질 수 있다. 예시적으로, 소정의 시간(즉, 응답 타임아웃)은 DNP 3.0 프로토콜에 의해 정의된 시간일 수 있다.
이와 유사하게, 도 9의 제2 섹션에 도시된 바와 같이, S23 단계에서, 제어 장치(120)는 임의 응답(URP)을 서버(110)로 전송할 수 있다. 이 후, 소정의 시간동안 서버(110)로부터 확인(CF)이 수신되지 않을 수 있다. 이 경우, S24 단계에서, 제어 장치(120)는 임의 응답(RURP)를 재전송할 수 있다. 예시적으로, S23 단계의 임의 응답(URP) 및 S24 단계에서 재전송된 임의 응답(RURP)은 서로 동일한 순서 비트(SEQ_A)를 갖는다.
예시적으로, 서버(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)를 포함할 수 있다.
도 10은 도 2의 패킷 감시 장치를 상세하게 보여주는 블록도이다. 도 2 및 도 10을 참조하면, 패킷 감시 장치(130)는 DNP 3.0 프로토콜 계층(131), 패킷 분석 모듈(132), 히스토리 테이블(133), 비정상 패킷 검출 및 분류 모듈(134), 및 제어 모듈(135)을 포함한다. 예시적으로, 모듈(module)은 소프트웨어 또는 하드웨어 장치로 구현될 수 있다. 예를 들어, 소프트웨어 형태의 모듈은 프로그램 명령어, 프로그램 코드, 데이터, 테이블 등과 같은 형태로 구현되고, 별도의 저장 매체에 저장될 수 있다. 하드워어 형태의 모듈은 프로세서, 코어, MEMS, 전기 전자 회로, 수동 소자 등과 같은 장치들로 구현될 수 있다. 예시적으로, 도 10에 도시된 모듈들은 소프트웨어, 하드웨어, 또는 그것들의 조합으로 구현될 수 있다.
DNP 3.0 프로토콜 계층(131)은 도 3 내지 도 4를 참조하여 설명된 물리 계층과 동일할 수 있다. DNP 3.0 프로토콜 계층(131)은 서버(110) 및 제어 장치(120) 사이에서 송수신되는 통신 패킷을 수신하고, 수신된 통신 패킷을 해제할 수 있다. 예시적으로, DNP 3.0 프로토콜 계층(131) 및 그것의 계층 구조는 도 3 내지 도 7을 참조하여 설명되었으므로, 이에 대한 상세한 설명은 생략된다.
패킷 분석 모듈(132)은 DNP 3.0 프로토콜 계층(131)에 의해 해제된 통신 패킷으로부터 제어 정보를 분석 및 관리할 수 있다. 예를 들어, 패킷 분석 모듈(132)은 수신된 통신 패킷이 수신된 시간, 통신 패킷의 종류, 통신 패킷의 목표 필드, 통신 패킷의 종료 필드, 통신 패킷의 시작 비트, 통신 패킷의 종료 비트, 통신 패킷의 순서 비트 등과 같은 정보를 이력 테이블(133)로서 관리할 수 있다. 이력 테이블(133)은 통신 패킷의 제어 정보를 관리할 수 있다.
비정상 패킷 검출 및 분류 모듈(134)은 수신된 통신 패킷들 중 비정상 패킷을 검출하고, 검출된 비정상 패킷의 비정상 유형을 분류할 수 있다. 예를 들어, 비정상 패킷 검출 및 분류 모듈(134)은 수신된 통신 패킷의 제어 정보 및 이력 테이블(133)을 기반으로 수신된 통신 패킷이 비정상 패킷인지 판별할 수 있다. 예시적으로, 비정상 패킷 검출 및 분류 모듈(134)은 DNP 3.0 프로토콜의 통신 특성을 기반으로 검출된 비정상 패킷을 제1 내지 제5 비정상 유형들 중 어느 하나로 분류할 수 있다.
제어 모듈(135)은 비정상 패킷 검출 및 분류 모듈(134)의 비정상 패킷 검출 및 분류 결과에 따라 별도의 보안 동작을 수행할 수 있다. 예를 들어, 비정상 패킷 검출 및 분류 모듈(134)의 비정상 유형 분류 결과에 따라 수신된 통신 패킷의 삭제, 서버(110) 및 제어 장치(120)의 통신 해제, 이전에 수신된 통신 패킷들의 삭제 등과 같은 보안 동작을 수행할 수 있다.
상술된 바와 같이, 본 발명의 실시 예에 따른, 패킷 감시 장치(130)는 이전에 수신된 통신 패킷들의 제어 정보를 이력 테이블로 관리하고, 수신된 통신 패킷의 제어 정보 및 이력 테이블(133)을 비교 및 분석하여 수신된 통신 패킷의 비정상 패킷 여부 및 비정상 유형을 분류할 수 있다. 즉, 패킷 감시 장치(130)는 DNP 3.0 프로토콜의 통신 특성을 기반으로 수신된 통신 패킷의 제어 정보를 분석하여 비정상 패킷의 비정상 유형을 분류함으로써 제어 시스템(100)에 대한 다양한 공격 패턴을 감지할 수 있다. 따라서, 향상된 신뢰성을 갖는 패킷 감시 장치 및 통신 패킷에 대한 패킷 감시 방법이 제공된다.
도 11은 도 10의 패킷 감시 장치의 동작을 보여주는 순서도이다. 도 10 및 도 11을 참조하면, S110 단계에서, 패킷 감시 장치(110)는 통신 패킷(즉, DNP 3.0 패킷)을 수신한다. 예시적으로, 패킷 감시 장치(110)는 DNP 3.0 패킷이 포함된 통신 패킷을 수신할 수 있다.
S120 단계에서, 패킷 감시 장치(110)는 수신된 통신 패킷(즉, DNP 3.0 패킷)의 제어 정보를 분석할 수 있다. 예를 들어, 통신 패킷은 응용 프로토콜 제어 정보(APCI), 전송 헤더(TH), 및 링크 헤더(LH)를 포함한다. DNP 3.0 프로토콜 물리 계층(131)은 통신 패킷으로부터 응용 프로토콜 제어 정보(APCI), 전송 헤더(TH), 및 링크 헤더(LH)를 추출할 수 있다. 패킷 분석 모듈(132)은 추출된 응용 프로토콜 제어 정보(APCI), 전송 헤더(TH), 및 링크 헤더(LH)를 분석할 수 있다.
S130 단계에서, 패킷 감시 장치(110)는 통신 패킷의 제어 정보를 이력 테이블로서 관리할 수 있다.
도 12는 도 10의 패킷 감시 장치의 다른 동작을 보여주는 순서도이다. 도 10 및 도 12를 참조하면, S210 단계에서, 패킷 감시 장치(120)는 통신 패킷을 수신할 수 있다. 예시적으로, 통신 패킷은 DNP 3.0 패킷을 포함할 수 있다.
S220 단계에서, 패킷 감시 장치(120)는 수신된 통신 패킷의 제어 정보를 분석할 수 있다.
S230 단계에서, 패킷 감시 장치(120)는 분석된 제어 정보 및 이력 테이블을 기반으로 수신된 통신 패킷이 비정상 패킷인지 판별할 수 있다. 예를 들어, 패킷 감시 장치(120)는 수신된 통신 패킷의 목표 필드, 소스 필드, 및 기능 코드 필드를 비교하여 수신된 통신 패킷이 비정상 패킷인지 판별할 수 있다. 또는, 패킷 감시 장치(120)는 수신된 통신 패킷의 순서 비트 및 이력 테이블에 포함된 순서 비트를 비교하여 수신된 통신 패킷이 비정상 패킷인지 판별할 수 있다. 이외에도, 패킷 감시 장치(120)는 수신된 통신 패킷의 제어 정보 및 이력 테이블을 기반으로 수신된 통신 패킷이 비정상 패킷인지 판별할 수 있다. 예시적으로, 도 13 내지 도 17을 참조하여, 비정상 패킷의 특징 및 비정상 패킷의 감지 방식이 더욱 상세하게 설명된다.
S240 단계에서, 패킷 감시 장치(120)는 통신 패킷이 비정상 패킷인지 판별할 수 있다.
판별 결과에 따라, 수신된 통신 패킷이 비정상 패킷인 경우, S250 단계에서, 패킷 감시 장치(120)는 수신된 통신 패킷의 비정상 유형을 분류할 수 있다.
S260 단계에서, 패킷 감시 장치(120)는 분류된 비정상 유형에 따라 보안 동작을 수행할 수 있다.
상술된 본 발명의 실시 예에 따르면, 패킷 감시 장치(120)는 서버(110) 및 제어 장치(120) 사이에서 송수신되는 통신 패킷들의 제어 정보를 이력 테이블로서 관리하고, 이력 테이블을 기반으로 비정상 통신 패킷을 검출하고, 비정상 유형을 분류할 수 있다. 따라서, 다양한 공격 패턴에 대한 비정상 트래픽을 감지할 수 있으므로, 향상된 신뢰성을 갖는 패킷 감시 장치 및 통신 패킷에 대한 패킷 감시 방법이 제공된다.
도 13 내지 도 17은 각각 비정상 패킷의 제1 내지 제5 유형들을 설명하기 위한 도면들이다. 이하에서, 도 13 내지 도 17을 참조하여, 본 발명의 실시 예에 따른 비정상 통신 패킷의 비정상 유형들이 설명된다. 또한, 도 13 내지 도 17을 참조하여, 비정상 유형들의 감지 방식이 설명된다. 예시적으로, 도 13 내지 도 17에서 파선으로 표시된 단계의 통신 패킷은 비정상 통신 패킷이고, 점선으로 표시된 단계의 통신 패킷은 송수신되지 않는 통신 패킷인 것으로 가정한다. 또한, 패킷 감시 장치(130)는 도 13 내지 도 17의 각 단계들에서 송수신되는 통신 패킷들을 수신하고, 수신된 통신 패킷들의 제어 정보를 분석하여 이력 테이블(133)로서 관리한다. 패킷 감시 장치(130)는 이력 테이블(133) 및 통신 패킷의 제어 정보를 분석하여 비정상 통신 패킷을 감지하고, 비정상 유형을 분류한다. 그러나 본 발명의 범위가 이에 한정되는 것은 아니다.
먼저 도 2, 도 10, 및 도 13을 참조하면, 도 13의 제1 섹션에 도시된 바와 같이, S1010 단계에서, 서버(110)가 제어 장치(120)로 요청(RQ)을 전송한다. S1020 단계에서, 제어 장치(120)가 서버(110)로 응답(RP)을 전송한다. S1030 단계에서, 서버(110)가 제어 장치(120)로 선택적 확인(OCF)를 전송한다.
이 후, S1040 단계에서, 서버(110)가 제어 장치(120)로 응답(RP) 또는 임의 응답(URP)을 전송할 수 있다. 패킷 감시 장치(130)는 S1040 단계의 응답(RP) 또는 임의 응답(URP)의 제어 정보를 기반으로 S1040 단계의 응답(RP) 또는 임의 응답(URP)이 제1 유형의 비정상 통신 패킷임을 감지할 수 있다. 예시적으로, 제1 유형이 비정상 통신 패킷은 서버(110) 및 제어 장치(120) 사이의 통신에서 발생할 수 없는 비정상 통신 패킷을 가리킨다.
예를 들어, DNP 3.0 프로토콜 통신에서 마스터 장치인 서버(110)는 제어 장치(120)로 응답(RP) 또는 임의 응답(URP)을 전송할 수 없다. S1040 단계의 응답(RP) 또는 임의 응답(URP)의 응용 프로토콜 제어 정보(ACPI)의 소스 필드(Source)는 서버(110)의 정보를 포함하고, 목표 필드(Destination)는 제어 장치(120)의 정보를 포함하고, 기능 코드 필드(Function Code)는 응답에 대응되는 값(즉, 0x33 내지 0xFF 사이의 값)을 포함한다. 즉, 패킷 감시 장치(130)는 상술된 응용 프로토콜 제어 정보(ACPI)를 분석함으로써 수신된 통신 패킷(즉, S1040 단계의 통신 패킷)이 제1 유형의 비정상 통신 패킷임을 감지할 수 있다.
다음으로, 도 13의 제2 섹션에 도시된 바와 같이, S1050 단계에서, 제어 장치(120)가 서버(110)로 임의 응답(URP)을 전송한다. S1060 단계에서, 서버(110)가 제어 장치(120)로 확인(CF)을 전송한다.
이후, S1070 단계에서, 제어 장치(120)가 서버(110)로 요청(RQ)을 전송할 수 있다. 패킷 감시 장치(130)는 S1070 단계의 요청(RQ)의 제어 정보를 기반으로 S1070 단계의 요청(RQ)이 제1 유형의 비정상 통신 패킷임을 감지할 수 있다. 예시적으로, 제1 유형이 비정상 통신 패킷은 서버(110) 및 제어 장치(120) 사이의 통신에서 발생할 수 없는 비정상 통신 패킷을 가리킨다.
예를 들어, DNP 3.0 프로토콜 통신에서 슬레이브 장치인 제어 장치(120)는 서버(110)로 요청(RQ)을 전송할 수 없다. S1070 단계의 요청의 링크 헤더(LH)의 소스 필드(Source)는 제어 장치(120)의 정보를 포함하고, 링크 헤더(LH)의 목표 필드(Destination)는 서버(110)의 정보를 포함하고, 응용 프로토콜 제어 정보(ACPI)의 기능 코드 필드(Function Code)는 요청에 대응되는 값(즉, 0x01 내지 0x32 사이의 값)을 포함한다. 즉, 패킷 감시 장치(130)는 상술된 응용 프로토콜 제어 정보(ACPI)를 분석함으로써 수신된 통신 패킷(즉, S1070 단계의 통신 패킷)이 제1 유형의 비정상 통신 패킷임을 감지할 수 있다.
예시적으로, 패킷 감시 장치(130)는 송수신되는 통신 패킷의 제어 정보를 이력 테이블(133)로써 관리할 수 있고, 이에 따라 상술된 제1 유형의 비정상 통신 패킷을 감지할 수 있다. 예시적으로, 패킷 감시 장치(130)는 링크 헤더(LH)의 소스 필드(Source) 및 목표 필드(Destination) 대신에 통신 패킷의 TCP/IP 계층에 포함된 서버(110)의 IP 또는 주소, 제어 장치(120)의 IP 또는 주소를 기반으로 상술된 제1 유형의 비정상 패킷을 감지할 수 있다.
다음으로, 도 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)을 전송한다.
패킷 감시 장치(130)는 S1120 단계의 재전송된 요청(RQ)이 제2 유형의 비정상 통신 패킷임을 감지할 수 있다. 예시적으로, 제2 유형의 비정상 통신 패킷은 DNP 3.0 프로토콜 통신에서 정상 통신 패킷 송수신의 완성에 위배되는 형태의 통신 패킷을 가리킨다.
예를 들어, 패킷 감시 장치(130)는 S1110 단계 및 S1120 단계의 요청들(RQ)의 링크 헤더(LH)의 소스 필드(Source), 목표 필드(Destination), 응용 프로토콜 제어 정보(ACPI)의 순서 비트(SEQ_A)를 관리할 수 있다. 패킷 감시 장치(130)는 S1110 단계의 요청(RQ)의 순서 비트(SEQ_A)와 동일한 순서 비트를 갖는 응답(RP)이 제어 장치(120)로부터 서버(110)로 전송되지 않았음을 감지할 수 있다. 이는 통신 패킷의 순서 비트(SEQ_A)를 기반으로 감지될 수 있다. 즉, 패킷 감시 장치(130)는 S1120 단계의 요청(RQ)이 제2 유형의 비정상 패킷임을 감지할 수 있다.
다음으로, 도 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 유형의 비정상 통신 패킷임을 감지할 수 있다.
도 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)을 전송한다.
패킷 감시 장치(130)는 S1150 단계의 재전송된 요청(RQ)이 제2 유형의 비정상 통신 패킷임을 감지할 수 있다. 예시적으로, 제2 유형의 비정상 통신 패킷은 DNP 3.0 프로토콜 통신에서 정상 통신 패킷 송수신의 완성에 위배되는 형태의 통신 패킷을 가리킨다.
예를 들어, 패킷 감시 장치(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 유형의 비정상 패킷임을 감지할 수 있다.
예시적으로, 패킷 감시 장치(130)는 도 14의 각 단계들에서 송수신되는 통신 패킷들의 응용 프로토콜 제어 정보(APCI)의 기능 코드 필드(Function Code)를 추가적으로 분석함으로써, 식별 및 분류 정확도를 향상시킬 수 있다.
예시적으로, 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 유형의 비정상 통신 패킷임을 감지할 수 있다.
다음으로, 도 2, 도 10, 및 도 15를 참조하면, 도 15의 제1 섹션에 도시된 바와 같이, S1210 단계에서, 서버(110)는 제어 장치(120)로 요청(RQ)을 전송한다. S1220 단계에서, 제어 장치(120)는 서버(110)로 응답(RP)을 전송한다. S1230 단계에서, 서버(110)는 선택적 확인(OCF)를 제어 장치(120)로 전송한다.
이 후, S1240 단계에서, 서버(110)는 요청(RRQ)을 제어 장치(120)로 재전송 할 수 있다. 패킷 감시 장치(130)는 S1240 단계의 요청(RRQ)이 제3 유형의 비정상 패킷임을 감지할 수 있다. 예시적으로, 제3 유형의 비정상 통신 패킷은 송수신이 완료된 통신 패킷에 대한 재전송 통신 패킷을 가리킨다.
예를 들어, 패킷 감시 장치(130)는 이력 테이블(133)을 기반으로 S1210 단계의 요청(RQ), S1220 단계의 응답(RP), 및 S1230 단계의 선택적 확인(OCF)의 제어 정보를 분석하여 S1210 단계 내지 S1230 단계에서 송수신된 통신 패킷들의 송수신이 완료(즉, 하나의 요청에 대한 통신 패킷의 송수신이 완료됨)되었음을 판별할 수 있고, 이를 기반으로, 패킷 감시 장치(130)는 S1240 단계의 재전송 요청(RRQ)이 제3 유형의 비정상 패킷임을 감지할 수 있다. 즉, S1230 단계의 재전송 요청(RRQ)은 송수신이 완료된 통신 패킷과 동일한 순서 비트(SEQ_A)를 갖는 재전송 요청(RRQ)이므로, 패킷 감시 장치(130)는 이를 제3 유형의 비정상 패킷으로서 감지할 수 있다.
다음으로 도 15의 제2 섹션에 도시된 바와 같이, S1250 단계에서, 서버(110)는 제어 장치(120)로 요청(RQ)을 전송할 수 있다. 예시적으로, S1250 단계의 요청(RQ)은 재전송 및 응답을 요구하지 않는 요청일 수 있다. 패킷 감시 장치(130)는 S1250 단계의 요청(RQ)의 응용 프로토콜 제어 필드(ACPI)의 기능 코드 필드(Function code)를 분석함으로써 S1250 단계의 요청(RQ)이 재전송 및 응답을 요구하지 않는 요청임을 확인할 수 있다. 예시적으로, 재전송 및 응답을 요구하지 않는 요청은 도 8을 참조하여 설명된 기능 코드 필드(Function Code)를 갖는 요청들일 수 있다.
이 후, S1260 단계에서, 서버(110)는 제어 장치(120)로 요청(RRQ)을 재전송할 수 있다. S1260 단계의 재전송 요청(RRQ)은 S1250 단계의 요청(RQ)에 대한 재전송 요청일 수 있다. 그러나, S1250 단계의 요청(RQ)이 재전송 및 응답을 요구하지 않는 요청인 경우, S1260 단계의 재전송 요청(RRQ)은 제3 유형의 비정상 패킷일 것이다. 패킷 감시 장치(130)는 이력 테이블 및 S1260 단계의 재전송 요청(RRQ)의 제어 정보를 기반으로, S1260 단계의 재전송 요청(RRQ)이 제3 유형이 비정상 패킷임을 감지할 수 있다.
다음으로, 도 15의 제3 섹션에 도시된 바와 ??이, S1270 단계에서, 제어 장치(120)는 서버(110)로 임의 응답(URP)을 전송할 수 있다. S1280 단계에서, 서버(110)는 제어 장치(120)로 확인(CF)을 전송할 수 있다. 이 후, S1290 단계에서, 제어 장치(120)는 서버(110)로 임의 응답(RURP)을 재전송 할 수 있다. 패킷 감시 장치(130)는 S1280 단계의 재전송 임의 응답(RURP)이 제3 유형의 비정상 패킷임을 감지할 수 있다.
예를 들어, 패킷 감시 장치(130)는 이력 테이블(133)을 기반으로 S1270 단계의 임의 응답(URP) 및 S1280 단계의 확인(CF)의 제어 정보를 분석하여 S1270 단계 및 S1280 단계에서 송수신된 통신 패킷들의 송수신이 완료(즉, 하나의 요청에 대한 통신 패킷의 송수신이 완료됨)되었음을 판별할 수 있고, 이를 기반으로, 패킷 감시 장치(130)는 S1290 단계의 재전송 임의 응답(RURP)이 제3 유형의 비정상 패킷임을 감지할 수 있다. 즉, S1290 단계의 재전송 임의 응답(RURP)은 송수신이 완료된 통신 패킷과 동일한 순서 비트(SEQ_A)를 갖는 재전송 임의 응답(RURP)이므로, 패킷 감시 장치(130)는 이를 제3 유형의 비정상 패킷으로서 감지할 수 있다.
예시적으로, 패킷 감시 장치(130)는 추가적인 정보(예를 들어, 기능 코드 필드 또는 별도의 식별 데이터 등)를 추가 분석하여 제3 유형의 비정상 패킷을 감지할 수 있다.
다음으로, 도 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)을 전송할 수 있다.
이 후, 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 프로토콜 통신에서 정상적인 순서 비트에 위배되는 통신 패킷을 가리킨다.
다음으로, 도 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 유형의 비정상 패킷임을 감지할 수 있다.
다음으로, 도 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 유형의 비정상 패킷임을 감지할 수 있다.
마지막으로, 도 2, 도 10, 및 도 17을 참조하면, S1410 단계에서, 제어 장치(120)는 서버(110)로 응답(RP)을 전송할 수 있다. 예시적으로, 응답(RP)은 다중 데이터 세그먼트를 포함할 수 있다. 즉, 응답(RQ)은 복수의 데이터 세그먼트들을 포함하고, 제어 장치(120)는 서버(110)로 복수의 데이터 세그먼트들을 순차적으로 전송할 수 있다. 이 때, 최초 전송되는 데이터 세그먼트의 전송 헤더(TH)의 시작 비트(FIR)는 '1'로 설정되고, 마지막 데이터 세그먼트의 전송 헤더(TH)의 종료 비트(FIN)는 '1'로 설정된다.
S1420 단계에서, 제어 장치(120)는 서버(110)로 응답(RP)을 전송할 수 있다. 이 때, S1410 단계의 응답(RP)(즉, 다중 데이터 세그먼트)이 모두 수신되기 이전이고, S1420 단계의 응답(RP)의 전송 헤더(TH)의 시작 비트(FIR)가 '1'일 수 있다. 이 경우, S1420 단계의 응답(RP)은 제5 유형의 비정상 통신 패킷일 수 있다. 예시적으로, 제5 유형의 비정상 통신 패킷은 DNP 3.0 프로토콜 통신에서 비정상적인 메시지 끼워넣기를 유발하는 통신 패킷을 가리킨다.
패킷 감시 장치(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)에서 제거됨으로써, 데이터 신뢰성에 대한 피해가 발생할 수 있다.
패킷 감시 장치(130)는 이력 테이블(133) 및 S1420 단계의 응답(RP)의 전송 헤더(TH)를 분석함으로써 S1420 단계의 응답(RP)이 제5 유형의 비정상 통신 패킷인지 감지할 수 있다. 패킷 감시 장치(130)는 감지 결과에 따라 비정상 통신 패킷을 제거하여 이전에 송수신된 데이터 패킷의 제거를 방지할 수 있다.
예시적으로, 도 13 내지 도 17을 참조하여 서버(110) 및 제어 장치(120) 사이에 송수신되는 비정상 통신 패킷의 유형의 감지 방법이 설명되었나, 본 발명의 범위가 이에 한정되는 것은 아니다. 예를 들어, 비정상 통신 패킷은 서버(110) 및 제어 장치(120) 이외의 별도의 해킹 장치에 의해 송수신될 수 있다. 패킷 감시 장치(130)는 상술된 해킹 장치에 의해 송수신되는 통신 패킷을 수신할 수 있도록 통신 선로(CL) 상에 배치되고, 비정상 통신 패킷을 감지 및 분류할 수 있다.
상술된 본 발명의 실시 예들에 따르면, 패킷 감시 장치(130)는 서버(110) 및 제어 장치(120) 사이에서 송수신되는 통신 패킷의 제어 정보를 분석하고, 이력 테이블(133)로서 관리할 수 있다. 패킷 감시 장치(130)는 이력 테이블(133) 및 수신된 통신 패킷의 제어 정보를 분석하여 비정상 통신 패킷을 감지하고 비정상 유형을 분류할 수 있다. 즉, 본 발명의 실시 예에 따른 패킷 감시 장치(130)는 일반적인 카운트 방식의 기법보다 효율적이고 신속한 비정상 트래픽 탐지 기법을 제공한다. 따라서, 제어시스템 간의 안정적이고 신뢰할 수 있는 통신서비스가 제공된다. 또한, 본 발명의 실시 예에 따른 패킷 감시 장치(130)의 비정상 트래픽 탐지 기법은 최소한의 패킷 분석을 통해서 DNP 3.0 제어 프로토콜 상에서 발생할 수 있는 여러 유형의 비정상 트래픽을 효율적으로 탐지한다.
본 발명의 상세한 설명에서는 구체적인 실시 예들에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러가지 변형이 가능하다. 그러므로, 본 발명의 범위는 상술된 실시 예들에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 할 것이다.
100 : 제어 시스템
110 : 서버
120 : 제어 장치
130 :패킷 감시 장치
131 : DNP 3.0 프로토콜 물리 계층
132 : 패킷 분석 모듈
133 : 이력 테이블
134 : 비정상 패킷 검출 및 분류 모듈
135 : 제어 모듈
ASDU : 응용 서비스 데이터 유닛
FRAG : 데이터 조각
APDU : 응용 프로토콜 데이터 유닛
APCI : 응용 프로토콜 제어 정보
SEG : 데이터 세그먼트
TPDU : 전송 프로토콜 데이터 유닛
TH : 전송 헤더
FR : 데이터 프레임
LPDU : 링크 프로토콜 데이터 유닛
110 : 서버
120 : 제어 장치
130 :패킷 감시 장치
131 : DNP 3.0 프로토콜 물리 계층
132 : 패킷 분석 모듈
133 : 이력 테이블
134 : 비정상 패킷 검출 및 분류 모듈
135 : 제어 모듈
ASDU : 응용 서비스 데이터 유닛
FRAG : 데이터 조각
APDU : 응용 프로토콜 데이터 유닛
APCI : 응용 프로토콜 제어 정보
SEG : 데이터 세그먼트
TPDU : 전송 프로토콜 데이터 유닛
TH : 전송 헤더
FR : 데이터 프레임
LPDU : 링크 프로토콜 데이터 유닛
Claims (20)
- 서버 및 제어 장치 사이에서 송수신되는 통신 패킷에 대한 패킷 감시 방법에 있어서,
상기 서버 및 상기 제어 장치 사이에서 송수신되는 통신 패킷을 수신하는 단계;
상기 수신된 통신 패킷보다 이전에 수신된 통신 패킷들의 제어 정보를 포함하는 이력 테이블 및 상기 수신된 통신 패킷의 제어 정보를 기반으로 상기 수신된 통신 패킷의 비정상 여부를 판별하는 단계; 및
상기 판별 결과에 따라 보안 동작을 수행하는 단계를 포함하고,
상기 제어 정보는 상기 통신 패킷의 응용 프로토콜 제어 정보의 기능 코드 필드, 상기 응용 프로토콜 제어 정보의 순서 비트, 링크 헤더의 소스 필드, 상기 링크 헤더의 목표 필드, 전송 헤더의 시작 비트, 및 상기 전송 헤더의 종료 비트를 포함하고,
상기 서버 및 상기 제어 장치는 분산 네트워크 프로토콜 3.0(DNP 3.0; Distributed Network Protocol 3.0)을 기반으로 상기 통신 패킷을 주고 받고,
상기 수신된 통신 패킷의 비정상 여부를 판별하는 단계는 상기 수신된 통신 패킷이 비정상 통신 패킷인 경우, 상기 수신된 통신 패킷을 제1 내지 제5 유형의 비정상 통신 패킷 중 어느 하나로 분류하는 단계를 포함하고,
상기 제1 유형의 비정상 통신 패킷은 상기 서버 및 상기 제어 장치 사이에서 발생할 수 없는 비정상 통신 패킷을 가리키고,
상기 제2 유형의 비정상 통신 패킷은 상기 서버 및 상기 제어 장치 사이에서 정상적인 통신에 위배되는 비정상 통신 패킷을 가리키고,
상기 제3 유형의 비정상 통신 패킷은 상기 서버 및 상기 제어 장치 사이에서 송수신이 완료된 통신 패킷에 대하여 재전송되는 비정상 통신 패킷을 가리키고,
상기 제4 유형의 비정상 통신 패킷은 상기 서버 및 상기 제어 장치 사이에서 정상적인 순서 비트에 위배되는 비정상 통신 패킷을 가리키고,
상기 제5 유형의 비정상 통신 패킷은 상기 서버 및 상기 제어 장치 사이에서 비정상적인 메시지 끼워넣기를 발생시키는 비정상 통신 패킷을 가리키는 패킷 감시 방법. - 삭제
- 삭제
- 삭제
- 제 1 항에 있어서,
상기 수신된 통신 패킷을 제1 내지 제5 유형의 비정상 통신 패킷 중 어느 하나로 분류하는 단계는,
상기 수신된 통신 패킷의 상기 링크 헤더의 소스 필드 및 상기 응용 프로토콜 제어 정보의 기능 코드 필드를 기반으로 상기 수신된 통신 패킷을 상기 제1 유형의 비정상 통신 패킷으로 분류하는 단계를 포함하는 패킷 감시 방법. - 제 5 항에 있어서,
상기 수신된 통신 패킷을 상기 제1 유형의 비정상 통신 패킷으로 분류하는 단계는,
상기 수신된 통신 패킷의 상기 링크 헤더의 상기 소스 필드가 상기 서버를 가리키고, 상기 기능 코드 필드가 응답 또는 임의 응답과 대응되는 값을 갖거나 또는 상기 수신된 통신 패킷의 상기 링크 헤더의 상기 소스 필드가 상기 제어 장치를 가리키고, 상기 기능 코드 필드가 요청과 대응되는 값을 갖는 경우, 상기 수신된 통신 패킷을 상기 제1 유형의 비정상 통신 패킷으로 분류하는 단계를 포함하는 패킷 감시 방법. - 제 1 항에 있어서,
상기 수신된 통신 패킷을 제1 내지 제5 유형의 비정상 통신 패킷 중 어느 하나로 분류하는 단계는,
상기 이력 테이블에 포함된 상기 이전에 수신된 통신 패킷들의 순서 비트들 및 수신된 시간을 기반으로 상기 수신된 통신 패킷을 상기 제2 유형의 비정상 통신 패킷으로 분류하는 단계를 포함하는 패킷 감시 방법. - 제 7 항에 있어서,
상기 수신된 통신 패킷을 상기 제2 유형의 비정상 통신 패킷으로 분류하는 단계는,
상기 이력 테이블에 포함된 상기 이전에 수신된 통신 패킷들 중 상기 수신된 통신 패킷과 동일한 순서 비트를 갖는 통신 패킷이 소정의 시간 이전에 수신된 경우, 상기 수신된 통신 패킷을 상기 제2 유형의 비정상 통신 패킷으로 분류하는 단계를 포함하는 패킷 감시 방법. - 제 1 항에 있어서,
상기 수신된 통신 패킷을 제1 내지 제5 유형의 비정상 통신 패킷 중 어느 하나로 분류하는 단계는,
상기 이전에 수신된 통신 패킷들 중 상기 수신된 통신 패킷과 대응되는 통신 패킷들의 송수신 완료 여부에 따라 상기 수신된 통신 패킷을 상기 제3 유형의 비정상 통신 패킷으로 분류하는 단계를 포함하는 패킷 감시 방법. - 제 9 항에 있어서,
상기 수신된 통신 패킷을 제1 내지 제5 유형의 비정상 통신 패킷들 중 어느 하나로 분류하는 단계는,
상기 이력 테이블을 기반으로 상기 이전에 수신된 통신 패킷들 중 상기 수신된 통신 패킷과 동일한 순서 비트를 갖는 통신 패킷의 송수신이 완료된 경우, 상기 수신된 통신 패킷을 상기 제3 유형의 비정상 통신 패킷으로 분류하는 단계를 포함하는 패킷 감시 방법. - 제 1 항에 있어서,
상기 수신된 통신 패킷을 제1 내지 제5 유형의 비정상 통신 패킷들 중 어느 하나로 분류하는 단계는,
상기 이력 테이블에 포함된 상기 이전에 수신된 통신 패킷들의 순서 비트들을 기반으로 상기 수신된 통신 패킷을 상기 제4 유형의 비정상 통신 패킷으로 분류하는 단계를 포함하는 패킷 감시 방법. - 제 11 항에 있어서,
상기 수신된 통신 패킷을 상기 제4 유형의 비정상 통신 패킷으로 분류하는 단계는,
상기 수신된 통신 패킷의 순서 비트가 상기 이력 테이블에 포함된 상기 이전에 수신된 통신 패킷들의 순서 비트들을 기반으로 상기 분산 네트워크 프로토콜 3.0에 따른 순서 비트와 다른 경우, 상기 수신된 통신 패킷의 순서 비트를 상기 제4 유형의 비정상 통신 패킷으로 분류하는 단계를 포함하는 패킷 감시 방법. - 제 1 항에 있어서,
상기 수신된 통신 패킷을 제1 내지 제5 유형의 비정상 통신 패킷들 중 어느 하나로 분류하는 단계는,
상기 이력 테이블에 포함된 상기 이전에 수신된 통신 패킷들의 링크 헤더의 시작 비트들 및 종료 비트들을 기반으로 상기 수신된 통신 패킷을 상기 제5 유형의 비정상 통신 패킷으로 분류하는 단계를 포함하는 패킷 감시 방법. - 제 13 항에 있어서,
상기 수신된 통신 패킷을 상기 제5 유형의 비정상 통신 패킷으로 분류하는 단계는,
상기 제어 장치로부터 상기 서버로 전송되는 상기 종료 비트가 '1'인 통신 패킷이 수신되기 이전에 상기 시작 비트가 '1'인 통신 패킷이 수신되는 경우, 상기 수신된 통신 패킷을 상기 제5 유형의 비정상 통신 패킷으로 분류하는 단계를 포함하는 패킷 감시 방법. - 서버 및 제어 장치 사이에서 송수신되는 통신 패킷을 수신하고, 상기 수신된 통신 패킷을 해제하여 제어 정보 및 메시지를 생성하는 분산 네트워크 프로토콜 물리 계층;
상기 수신된 통신 패킷의 상기 제어 정보를 관리하는 통신 패킷 분석 모듈;
상기 수신된 통신 패킷의 제어 정보 및 상기 수신된 통신 패킷보다 이전에 수신된 통신 패킷의 제어 정보를 저장하는 이력 테이블; 및
상기 이력 테이블에 저장된 상기 이전에 수신된 통신 패킷의 제어 정보 및 상기 수신된 통신 패킷의 제어 정보를 기반으로 상기 수신된 통신 패킷이 비정상 통신 패킷인지 판별하는 비정상 패킷 검출 및 분류 모듈; 및
상기 비정상 패킷 검출 및 분류 모듈의 판별 결과에 따라 보안 동작을 수행하는 제어 모듈을 포함하고,
상기 제어 정보는 상기 통신 패킷의 응용 프로토콜 제어 정보의 기능 코드 필드, 상기 응용 프로토콜 제어 정보의 순서 비트, 링크 헤더의 소스 필드, 상기 링크 헤더의 목표 필드, 전송 헤더의 시작 비트, 및 상기 전송 헤더의 종료 비트를 포함하고,
상기 서버 및 상기 제어 장치는 분산 네트워크 프로토콜 3.0(DNP 3.0; Distributed Network Protocol 3.0)을 기반으로 상기 통신 패킷을 송수신하고,
상기 분산 네트워크 프로토콜 물리 계층은
상기 수신된 통신 패킷으로부터 상기 링크 헤더를 추출하는 DNP 3.0 데이터 링크 계층;
상기 수신된 통신 패킷으로부터 상기 전송 헤더를 추출하는 DNP 3.0 전송 계층; 및
상기 수신된 통신 패킷으로부터 상기 응용 프로토콜 제어 정보를 추출하는 DNP 3.0 응용 계층을 포함하는 패킷 감시 장치. - 삭제
- 삭제
- 제 15 항에 있어서,
상기 서버 및 상기 제어 장치는 TCP/IP 프로토콜에 기반된 통신 라인을 통해 서로 통신하고,
상기 분산 네트워크 프로토콜 물리 계층은 상기 수신된 통신 패킷으로부터 이더넷 헤더, IP 헤더, 및 TCP 헤더를 추출하는 통신 프로토콜 계층을 더 포함하는 패킷 감시 장치. - 제 15 항에 있어서,
상기 비정상 패킷 검출 및 분류 모듈은 상기 이력 테이블에 저장된 상기 이전에 수신된 통신 패킷의 제어 정보 및 상기 수신된 통신 패킷의 제어 정보를 기반으로 상기 수신된 통신 패킷을 제1 내지 제5 유형들의 비정상 통신 패킷들 중 어느 하나로 분류하는 패킷 감시 장치. - 제 19 항에 있어서,
상기 제1 유형의 비정상 통신 패킷은 상기 서버 및 상기 제어 장치 사이에서 발생할 수 없는 통신 패킷을 가리키고, 상기 제2 유형의 비정상 통신 패킷은 상기 서버 및 상기 제어 장치 사이에서 정상적인 통신에 위배되는 통신 패킷을 가리키고, 상기 제3 유형의 비정상 통신 패킷은 상기 서버 및 상기 제어 장치 사이에서 송수신이 완료된 통신 패킷에 대한 재전송 통신 패킷을 가리키고, 상기 제4 유형의 비정상 통신 패킷은 상기 서버 및 상기 제어 장치 사이에서 정상적인 순서 비트에 위배되는 통신 패킷을 가리키고, 상기 제5 유형의 비정상 통신 패킷은 상기 서버 및 상기 제어 장치 사이에서 비정상적인 메시지 끼워넣기를 발생시키는 통신 패킷을 가리키는 패킷 감시 장치.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150039004A KR102112587B1 (ko) | 2015-03-20 | 2015-03-20 | 패킷 감시 장치 및 통신 패킷에 대한 패킷 감시 방법 |
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 (ko) | 2015-03-20 | 2015-03-20 | 패킷 감시 장치 및 통신 패킷에 대한 패킷 감시 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20160112750A KR20160112750A (ko) | 2016-09-28 |
KR102112587B1 true KR102112587B1 (ko) | 2020-05-19 |
Family
ID=56925395
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150039004A KR102112587B1 (ko) | 2015-03-20 | 2015-03-20 | 패킷 감시 장치 및 통신 패킷에 대한 패킷 감시 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20160277547A1 (ko) |
KR (1) | KR102112587B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220076811A (ko) | 2020-12-01 | 2022-06-08 | 주식회사 케이티 | 설비를 제어하는 서버, 방법 및 컴퓨터 프로그램 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6793524B2 (ja) * | 2016-11-01 | 2020-12-02 | 株式会社日立製作所 | ログ解析システムおよびその方法 |
CN109088861A (zh) * | 2018-07-20 | 2018-12-25 | 杭州安恒信息技术股份有限公司 | Dnp3测试用例生成方法、系统、设备及计算机介质 |
US11621970B2 (en) * | 2019-09-13 | 2023-04-04 | Is5 Communications, Inc. | Machine learning based intrusion detection system for mission critical systems |
CN111683020B (zh) * | 2020-06-05 | 2023-11-03 | 中国人民解放军63920部队 | 多种链路层协议混合流量的控制方法及装置 |
KR20220120958A (ko) * | 2021-02-24 | 2022-08-31 | 삼성전자주식회사 | 데이터를 송수신하는 전자 장치 및 전자 장치의 동작 방법 |
KR102581422B1 (ko) * | 2021-10-08 | 2023-09-20 | 엘에스일렉트릭(주) | 직렬 통신 장치에 대한 취약성 테스트 방법 및 장치 |
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 |
US9288137B2 (en) * | 2010-05-09 | 2016-03-15 | 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/ko 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 (ko) | 2020-12-01 | 2022-06-08 | 주식회사 케이티 | 설비를 제어하는 서버, 방법 및 컴퓨터 프로그램 |
KR20230104558A (ko) | 2020-12-01 | 2023-07-10 | 주식회사 케이티 | 설비를 제어하는 서버, 방법 및 컴퓨터 프로그램 |
Also Published As
Publication number | Publication date |
---|---|
KR20160112750A (ko) | 2016-09-28 |
US20160277547A1 (en) | 2016-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102112587B1 (ko) | 패킷 감시 장치 및 통신 패킷에 대한 패킷 감시 방법 | |
US10681079B2 (en) | Method for mitigation of cyber attacks on industrial control systems | |
KR102030837B1 (ko) | 침입 탐지 장치 및 방법 | |
Yang et al. | Intrusion detection system for IEC 60870-5-104 based SCADA networks | |
US20060034305A1 (en) | Anomaly-based intrusion detection | |
KR101977731B1 (ko) | 제어 시스템의 이상 징후 탐지 장치 및 방법 | |
EP1774716B1 (en) | Inline intrusion detection using a single physical port | |
CN108063753A (zh) | 一种信息安全监测方法及系统 | |
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 | |
WO2015008282A1 (en) | Network protection | |
JP2007006054A (ja) | パケット中継装置及びパケット中継システム | |
Singh et al. | Security evaluation of two intrusion detection systems in smart grid SCADA environment | |
US20210306362A1 (en) | Communication control system, network controller and computer program | |
CN105373891A (zh) | 智能电网数据管理和传输系统 | |
Irvene et al. | If i knew then what i know now: On reevaluating dnp3 security using power substation traffic | |
WO2014161205A1 (zh) | 一种网络拥塞处理方法、系统及装置 | |
KR101889502B1 (ko) | 제어시스템 프로토콜 상의 비정상 트래픽 탐지 방법 | |
CN113285937B (zh) | 一种基于传统变电站配置文件和iec103协议流量的安全审计方法及系统 | |
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 |