KR102500033B1 - 산업제어시스템의 이상징후를 감지하는 방법 및 장치 - Google Patents

산업제어시스템의 이상징후를 감지하는 방법 및 장치 Download PDF

Info

Publication number
KR102500033B1
KR102500033B1 KR1020220036478A KR20220036478A KR102500033B1 KR 102500033 B1 KR102500033 B1 KR 102500033B1 KR 1020220036478 A KR1020220036478 A KR 1020220036478A KR 20220036478 A KR20220036478 A KR 20220036478A KR 102500033 B1 KR102500033 B1 KR 102500033B1
Authority
KR
South Korea
Prior art keywords
information
state information
changed
value
control system
Prior art date
Application number
KR1020220036478A
Other languages
English (en)
Inventor
강형구
안병현
Original Assignee
온시큐리티 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 온시큐리티 주식회사 filed Critical 온시큐리티 주식회사
Priority to KR1020220036478A priority Critical patent/KR102500033B1/ko
Application granted granted Critical
Publication of KR102500033B1 publication Critical patent/KR102500033B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Medical Informatics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Automation & Control Theory (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)

Abstract

본 발명은 산업제어시스템의 이상징후를 보다 정확하게 감지하기 위한 것으로, 본 발명의 산업제어시스템의 이상징후 감지장치는 산업제어시스템으로부터 각 산업시설의 상태정보를 수신 및 수집하는 상태정보 수집모듈; 상기 수집된 상태정보를 디지털 상태정보 및 아날로그 상태정보로 분리하는 상태정보 분리모듈; 상기 디지털 상태정보의 값이 변경되는 구간들에 대한 디지털 구간정보를 생성하는 디지털 상태정보 처리모듈; 상기 아날로그 상태정보의 값이 변경되는 구간들에 대한 아날로그 구간정보를 생성하는 아날로그 상태정보 처리모듈; 상기 산업제어시스템으로부터 데이터 패킷을 수신 및 수집하는 데이터 패킷 수집모듈; 상기 수집된 데이터 패킷으로부터 패킷유형정보를 추출하고, 상기 패킷유형정보의 값이 변경되는 구간들에 대한 패킷 구간정보를 생성하는 데이터 패킷 처리모듈; 상기 디지털 구간정보, 아날로그 구간정보, 패킷 구간정보를 이용하여 상기 수집된 상태정보 및 데이터 패킷에 대한 상관관계 데이터를 생성하는 학습데이터 생성모듈; 및 실시간으로 수신되는 상태정보 및 데이터 패킷을 상기 상관관계 데이터와 비교하여 상기 산업제어시스템 내의 이상징후를 감지하는 이상징후 감지모듈을 포함한다.

Description

산업제어시스템의 이상징후를 감지하는 방법 및 장치 {METHOD AND APPARATUS FOR DETECTING ANOMALIES IN INDUSTRIAL CONTROL SYSTEM}
본 발명은 산업제어시스템에서 이상징후를 감지하는 기술에 관한 것으로, 특히 수집되는 데이터 패킷 및 각 산업시설의 상태정보를 이용하여 산업제어시스템 내부 또는 각 산업시설의 이상징후를 감지하는 방법 및 장치에 관한 것이다.
산업제어시스템(Industrial Control System, ICS)은 전력, 가스, 수도, 교통 등의 국가 주요 산업기반시설 및 산업분야에서 원거리에 산재된 시스템의 효과적인 원격 모니터링 및 제어를 위해 필수적으로 사용되는 시스템이다.
기존의 일반 IT 시스템은 다양한 운영체제, 다양한 하드웨어 및 소프트웨어, 다양한 프로토콜을 사용하는 범용적 환경 특성을 갖고 보안위협에 따른 영향도가 상대적으로 낮은 반면에, 산업제어시스템은 외부와의 네트워크가 차단된 단방향 구조의 폐쇄적인 환경으로 구성되고, 자체 운영체제, 자체 하드웨어, 자체 소프트웨어 및 사업자 중심의 비표준 프로토콜을 사용하는 제한적 환경 특성을 갖는다.
산업제어시스템은 그동안 폐쇄적인 환경으로 구축되어 상대적으로 보안에 대해 안정적이라고 생각되어 왔으나 최근 스턱스넷(Stuxnet) 및 랜섬웨어(Ransomware) 위협 등 알려지지 않은 보안 위협이 대두되고 있으며, 국가 기반산업으로서 그 파급 효과가 매우 큰 점을 고려하여 전 세계적으로 산업제어시스템 보안위협에 대응하기 위한 기술개발에 관심을 가지고 있다.
일반 IT 시스템이 개방형 네트워크에서 사용하는 프로토콜은 이미 알려져 있는 표준 사양이기에 데이터 패킷의 보안 위협 역시 적절하게 잘 대응되고 있으며. 기존의 알려진 보안 위협에 대해서는 블랙리스트(blacklist)를 생성하여 서로 공유하여 대처하고 있다.
그러나, 산업제어시스템은 사업자 중심의 독자적인 프로토콜을 사용하고 있으며, 사업자가 자사의 프로토콜에 대한 규격(Specification)을 제공하지 않아 보안위협에 대한 대응방안 수립에 한계가 있는 상황이다. 또한, 폐쇄적인 환경 하에서 비표준 프로토콜을 사용하는 산업제어시스템에서 데이터 패킷만으로 산업제어시스템 내의 이상징후 및 각 산업시설의 이상동작 등을 파악하기 어려운 실정이므로, 산업제어시스템 및 각 산업시설의 상태를 정확하게 파악할 수 있는 방안이 요구된다.
본 발명은 상기와 같은 점을 감안하여 창안된 것으로서, 비표준 프로토콜을 사용하는 산업제어시스템에서 이상징후를 보다 정확하게 감지하는 방법 및 장치를 제공하는 데에 그 목적이 있다.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
상기 목적을 달성하기 위한 본 발명에 따른 산업제어시스템의 이상징후 감지장치는 산업제어시스템으로부터 각 산업시설의 상태정보를 수신 및 수집하는 상태정보 수집모듈; 상기 수집된 상태정보를 디지털 상태정보 및 아날로그 상태정보로 분리하는 상태정보 분리모듈; 상기 디지털 상태정보의 값이 변경되는 구간들에 대한 디지털 구간정보를 생성하는 디지털 상태정보 처리모듈; 상기 아날로그 상태정보의 값이 변경되는 구간들에 대한 아날로그 구간정보를 생성하는 아날로그 상태정보 처리모듈; 상기 산업제어시스템으로부터 데이터 패킷을 수신 및 수집하는 데이터 패킷 수집모듈; 상기 수집된 데이터 패킷으로부터 패킷유형정보를 추출하고, 상기 패킷유형정보의 값이 변경되는 구간들에 대한 패킷 구간정보를 생성하는 데이터 패킷 처리모듈; 상기 디지털 구간정보, 아날로그 구간정보, 패킷 구간정보를 이용하여 상기 수집된 상태정보 및 데이터 패킷에 대한 상관관계 데이터를 생성하는 학습데이터 생성모듈; 및 실시간으로 수신되는 상태정보 및 데이터 패킷을 상기 상관관계 데이터와 비교하여 상기 산업제어시스템 내의 이상징후를 감지하는 이상징후 감지모듈을 포함한다.
상기 디지털 상태정보 처리모듈은 상기 디지털 상태정보의 값이 변경되는 타이밍에 대한 정보, 상기 변경된 디지털 상태정보의 값들, 상기 디지털 상태정보들의 변경 순서를 나타내는 정보를 포함하도록 상기 디지털 구간정보를 생성한다.
상기 아날로그 상태정보 처리모듈은 상기 아날로그 상태정보의 값이 변경되는 타이밍에 대한 정보, 상기 변경된 아날로그 상태정보의 값들, 상기 아날로그 상태정보들의 변경 순서를 나타내는 정보를 포함하도록 상기 아날로그 구간정보를 생성한다.
상기 데이터 패킷 처리모듈은 상기 패킷유형정보의 값이 변경되는 타이밍에 대한 정보, 상기 변경된 패킷유형정보의 값들, 상기 패킷유형정보들의 변경 순서를 나타내는 정보를 포함하도록 상기 패킷 구간정보를 생성한다.
상기 이상징후 감지모듈은 실시간으로 수신되는 상기 상태정보의 값이 변경되는 타이밍과 실시간으로 수신되는 상기 데이터 패킷 내의 패킷유형정보의 값이 변경되는 타이밍을 상기 상관관계 데이터와 비교하고, 그 비교 결과에 따라 상기 산업제어시스템의 이상징후를 감지한다.
또한, 상기 이상징후 감지모듈은 실시간으로 수신되는 상기 상태정보들의 값 및 순서, 실시간으로 수신되는 상기 데이터 패킷 내의 패킷유형정보들의 값 및 순서를 상기 상관관계 데이터와 비교하고, 그 비교 결과에 따라 상기 산업제어시스템의 이상징후를 감지할 수 있다.
본 발명에 따른 산업제어시스템의 이상징후 감지방법은 산업제어시스템으로부터 각 산업시설의 상태정보를 수집하는 단계; 상기 수집된 상태정보를 디지털 상태정보 및 아날로그 상태정보로 분리하는 단계; 상기 디지털 상태정보의 값이 변경되는 구간들에 대한 디지털 구간정보를 생성하는 단계; 상기 아날로그 상태정보의 값이 변경되는 구간들에 대한 아날로그 구간정보를 생성하는 단계; 상기 산업제어시스템으로부터 데이터 패킷을 수집하는 단계; 상기 수집된 데이터 패킷으로부터 패킷유형정보를 추출하고, 상기 패킷유형정보의 값이 변경되는 구간들에 대한 패킷 구간정보를 생성하는 단계; 상기 디지털 구간정보, 아날로그 구간정보, 패킷 구간정보를 이용하여 상기 수집된 상태정보 및 데이터 패킷에 대한 상관관계 데이터를 생성하는 단계; 및 실시간으로 수신되는 상태정보 및 데이터 패킷을 상기 상관관계 데이터와 비교하여 상기 산업제어시스템 내의 이상징후를 감지하는 단계를 포함한다.
본 발명에 따른 산업제어시스템의 이상징후를 감지하는 방법 및 장치는 데이터 패킷 및 산업시설의 상태정보의 상관관계를 기계 학습하고, 기계 학습된 상관관계 데이터와 실시간으로 수집되는 데이터 패킷 및 상태정보를 이용하여 산업제어시스템의 이상징후를 정확하게 감지할 수 있다.
도 1은 본 발명의 일 실시예에 따른 산업제어시스템의 이상징후를 감지하는 장치(10)를 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따른 산업제어시스템의 이상징후를 감지하는 방법을 나타낸 순서도이다.
도 3은 본 발명의 디지털 상태정보 처리모듈(130)이 수집된 디지털 상태정보를 클러스터링 분석한 일 예를 나타낸 도면이다.
도 4는 본 발명의 아날로그 상태정보 처리모듈(135)이 수집된 아날로그 상태정보를 클러스터링 분석한 일 예를 나타낸 도면이다.
도 5는 본 발명의 데이터 패킷 처리모듈(150)이 수집된 데이터 패킷을 분석한 일 예를 나타낸 도면이다.
도 6은 본 발명의 이상징후 감지모듈(170)이 이상징후를 감지하는 일 예를 나타낸 도면이다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.
본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1구성요소는 제2구성요소로 명명될 수 있고, 유사하게 제2구성요소는 제1구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 명세서에서, "포함한다" 또는 "갖는다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미가 있다.
일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 포함하는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하 첨부된 도면을 참조하여 본 발명의 실시예에 따른 산업제어시스템의 이상징후를 감지하는 장치 및 방법을 자세히 설명하기로 한다.
도 1은 본 발명의 실시예에 따른 산업제어시스템의 이상징후를 감지하는 장치(10)를 나타낸 도면이고, 도 2는 본 발명의 실시예에 따른 산업제어시스템의 이상징후를 감지하는 방법을 나타낸 순서도이다.
산업제어시스템(Industrial control system)은 전력, 가스, 수도, 교통 등의 국가 주요 산업시설 및 산업분야에서 원거리에 산재 된 시스템의 효과적인 원격 모니터링 및 제어를 위해 사용되는 시스템을 모두 포함할 수 있으며, 계측 제어장치와 원격 단말 장치(Remote Terminal Unit, RTU) 또는 지능형 전자 디바이스(Intelligent Electronic Device, IED) 등 단말 장치의 취득데이터를 FEP(Front-End Processor)를 통하여 상위 계층으로 전송하거나 상위의 제어 명령을 전달하는 다중 통신장치를 포함할 수 있다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 산업제어시스템의 이상징후 감지 장치(10)는 산업제어시스템에 포함되도록 구성되거나 또는 산업제어시스템과 네트워크로 연결될 수 있다.
본 발명의 이상징후 감지 장치(10)는 상태정보 수집모듈(110), 상태정보 분리모듈(120), 디지털 상태정보 처리모듈(130), 아날로그 상태정보 처리모듈(135), 데이터 패킷 수집모듈(140), 데이터 패킷 처리모듈(150), 학습데이터 생성모듈(160), 이상징후 감지모듈(170)을 포함한다.
본 명세서에서 모듈(module)이라 함은 본 발명의 실시예에 따른 기술적 사상을 수행하기 위한 하드웨어 및 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적 또는 구조적 결합을 의미할 수 있다. 예컨대, 상기 모듈은 소정의 프로그램 코드와 상기 프로그램 코드가 수행되기 위한 하드웨어 리소스의 논리적 또는 기능적 단위를 의미할 수 있으며, 반드시 물리적으로 연결된 프로그램 코드만을 의미하거나 한 종류의 하드웨어 만을 의미하는 것은 아니다.
상태정보 수집모듈(110)은 산업시설이나 그 하부 설비/장비 각각의 상태, 예를 들어 기동, 정상 운영, 장애 발생, 운영 중지, 종료 등의 상태를 나타내는 태그(Tag) 값으로 구성된 상태정보를 수신 및 수집한다(S11). 산업시설이나 그 하부 설비/장비에는 다수의 센서나 감지장치가 부착되는데, 센서나 감지장치에 의해 생성된 태그 값들이 산업제어시스템을 통해서 상태정보 수집모듈(110)에 전송된다.
예를 들어, 상태정보 수집모듈(110)은 상태정보를 산업제어시스템 내부의 OPC(OLE for Process Control) 서버로부터 직접 수신하거나 또는 업무망 네트워크로 연결된 설비 시스템(예를 들어, Process Innovation; PI)으로부터 수신할 수 있다. OPC 서버를 통해서 상태정보를 수신하는 경우 OPC 프로토콜을 사용하는데, OPC 프로토콜은 값이 변경된 상태정보만을 공유하는 특징을 갖는다. 값이 변경되지 않거나 변경 주기가 긴 경우에는 초기 수집된 값을 지속적으로 유지하고 관리한다.
상태정보는 T/F, 1/0, ON/OFF 등의 디지털 값을 갖는 디지털 상태정보와 1.12308 등의 숫자를 갖는 아날로그 상태정보를 포함하는데, 디지털 상태정보와 아날로그 상태정보는 서로 영향을 주고받는다. 예를 들어, 디지털 상태정보가 ON에서 OFF로 변경되면 아날로그 상태정보는 특정 값에서 차츰 줄면서 0으로 변경된다. 상태정보들 중 일부는 기동, 장애발생(TRIP), 종료와 같은 특정 시점에만 생성되는 경우가 있기 때문에 평상시에는 동일한 값으로 유지된다.
상태정보 분리모듈(120)은 상태정보 수집모듈(110)을 통해서 수신/수집된 상태정보를 디지털 상태정보 및 아날로그 상태정보로 분리하고(S12), 디지털 상태정보를 디지털 상태정보 처리모듈(130)에 전달하고 아날로그 상태정보를 아날로그 상태정보 처리모듈(135)에 전달한다.
디지털 상태정보 처리모듈(130)은 수집된 디지털 상태정보의 값이 변경되는 구간들에 대한 디지털 구간정보를 생성하는데(S13), 인공지능 기법인 클러스터링 분석(clustering analysis)을 사용하여 디지털 상태정보의 특이점을 추출하고 이를 이용하여 디지털 구간정보를 생성한다.
여기서, 클러스터링 분석이란, 주어진 데이터들의 특성을 고려해 데이터 집단(clustering group)을 정의하고 데이터 집단을 대표할 수 있는 특이점을 찾는 것으로 데이터 마이닝의 한 방법이다. 클러스터란, 비슷한 특성을 갖는 데이터들의 집단이다. 데이터의 특성이 다르면 다른 클러스터에 속한다.
도 3은 디지털 상태정보 처리모듈(130)이 수집된 디지털 상태정보를 클러스터링 분석한 일 예를 나타낸 도면이다. 도 3에 도시된 바와 같이, 디지털 상태정보 처리모듈(130)은 수집된 디지털 상태정보의 값이 변화할 때 데이터 집단(clustering group)의 특이점을 추출하는데, 디지털 상태정보가 가장 먼저 변화하는 시점을 특이점으로 추출하는 것이 바람직하다. 디지털 상태정보는 선행성분과 연관성분으로 구분할 수 있는데, 가장 먼저 변화하는 디지털 상태정보의 값이 선행성분이고, 선행성분의 변화와 동시 혹은 그 이후에 변화하는 디지털 상태정보의 값을 연관성분이다.
디지털 상태정보 처리모듈(130)은 추출된 특이점을 근거로 하여 상기 수집된 디지털 상태정보의 값이 변경되는 타이밍에 대한 정보, 변경된 디지털 상태정보의 값들, 디지털 상태정보들의 변경 순서를 나타내는 정보 중 적어도 하나 이상을 포함하도록 디지털 구간정보를 생성한다.
아날로그 상태정보 처리모듈(135)은 수집된 아날로그 상태정보의 값이 변경되는 구간들에 대한 아날로그 구간정보를 생성하는데(S14), 마찬가지로 인공지능 기법인 클러스터링 분석(clustering analysis)을 사용하여 아날로그 상태정보의 특이점을 추출하고 이를 이용하여 아날로그 구간정보를 생성한다.
도 4는 아날로그 상태정보 처리모듈(135)이 수집된 아날로그 상태정보를 클러스터링 분석한 일 예를 나타낸 도면이다. 도 4에 도시된 바와 같이, 아날로그 상태정보 처리모듈(135)은 수집된 아날로그 상태정보의 값이 변화할 때 데이터 집단(clustering group)의 특이점을 추출하는데, 아날로그 상태정보의 값이 가장 많이 변화하는 시점을 특이점으로 추출하는 것이 바람직하다.
아날로그 상태정보 처리모듈(135)은 추출된 특이점을 근거로 하여 상기 수집된 아날로그 상태정보의 값이 변경되는 타이밍에 대한 정보, 변경된 아날로그 상태정보의 값들, 아날로그 상태정보들의 변경 순서를 나타내는 정보 중 적어도 하나 이상을 포함하도록 아날로그 구간정보를 생성한다.
데이터 패킷 수집모듈(140)은 산업제어시스템으로부터 데이터 패킷을 수신 및 수집하는데, 산업제어시스템 내부에서 발생하는 모든 데이터 패킷을 수신/수집하거나 또는 산업제어시스템 및 산업시설 사이에서 제어 명령어들이 송수신될 때 사용되는 데이터 패킷을 수신/수집할 수 있다(S15). 데이터 패킷은 적어도 하나 이상의 제어 명령어를 포함하고, 헤더(header) 영역에서 패킷유형정보를 포함한다. 패킷유형정보는 해당 데이터 패킷의 유형, 해당 데이터 패킷에 포함된 제어 명령어의 유형, 해당 데이터 패킷을 식별하기 위한 ID 중 적어도 하나를 나타낼 수 있다.
데이터 패킷 수집모듈(140)은 산업제어시스템에서 발생하는 모든 패킷 중에서 수집할 패킷 대상, 범위 및 수집 기간을 스스로 정의하고 이에 해당하는 패킷을 수집할 수 있다.
산업제어시스템 및 산업시설 사이에서 제어 명령어들이 송수신될 때 사용되는 데이터 패킷을 수신하는 경우, 산업제어시스템 및 산업시설 사이에 위치한 네트워크 스위치에 미러링 포트가 설정된 이후에 데이터 패킷 수집모듈(140)은 네트워크 스위치를 통해서 해당 패킷을 수신할 수 있다.
데이터 패킷 수집모듈(140)은 수집할 패킷의 대상을 소정 계층에 따라 분류할 수 있으며, 상기 계층은 크게, Statistics 계층, Protocol 계층, Service 계층, Communication 계층, Device 계층으로 분류될 수 있다. 상기 Device 계층은 디바이스 정보를 식별하기 위한 영역으로 IP address, MAC address 등이 될 수 있고, 상기 Communication 계층은 데이터의 흐름 정보를 식별하기 위한 영역으로 Source IP, Destination IP 등이 될 수 있다. 또한, 상기 Service 계층은 사용되고 있는 어플리케이션 서비스를 식별하기 위한 영역으로 Source IP, Destination IP 및 Port Number 등이 될 수 있고, 상기 Protocol 계층은 산업제어시스템에서 사용하는 프로토콜을 식별하기 위한 영역으로 사용 프로토콜 유형 정보 표준 프로토콜 세부정보, 패킷 최대 길이, 오프셋(Offset), 프로토콜 시그니쳐(Protocol Signature)가 될 수 있다. 한편, Statistics 계층은 통계적인 관점에서 산업제어 네트워크 환경에서 발생하는 패킷 사이즈를 식별하기 위한 영역으로 최대 전체 수신 패킷 사이즈, 두 노드 간 최대 통신 패킷 사이즈, 두 노드 간 최소 통신 패킷 사이즈가 될 수 있다.
또한, 데이터 패킷 수집모듈(140)은 상기 수집할 패킷의 수집 기간을 사용자 설정에 따라 다양한 기간(예를 들어, 30일)으로 설정할 수 있다.
데이터 패킷 처리모듈(150)은 수집된 데이터 패킷의 헤더(header)에서 패킷유형정보(packet type information)를 추출하고, 패킷유형정보의 값이 변경되는 구간들에 대한 패킷 구간정보를 생성한다(S16). 이때, 데이터 패킷 처리모듈(150)은 인공지능 분석 모델(예를 들어, Auto Encoder)을 이용하여 일정 시간을 주기로 데이터 패킷의 특이점을 추출하고 이를 이용하여 패킷 구간정보를 생성한다.
만약, 수집된 데이터 패킷들 중에서 적어도 하나의 데이터 패킷에 패킷유형정보가 없는 경우에는 데이터 패킷 처리모듈(150)은 해당 데이터 패킷에 적합한 패킷유형정보를 생성하고 이를 해당 데이터 패킷의 헤더에 삽입한다. 그리고 데이터 패킷 처리모듈(150)은 상기 추출된 패킷유형정보 및 삽입된 패킷유형정보의 값이 변경되는 구간들 전체에 대한 패킷 구간정보를 생성할 수 있다.
도 5는 데이터 패킷 처리모듈(150)이 수집된 데이터 패킷을 분석한 일 예를 나타낸 도면이다. 도 5에 도시된 바와 같이, 수집된 데이터 패킷 내의 패킷유형정보의 값이 변화하는 시점이 4개이면 데이터 패킷 처리모듈(150)은 이 4개의 시점을 특이점으로 추출한다.
상기 데이터 패킷 처리모듈(150)은 추출된 특이점을 근거로 하여 상기 패킷유형정보의 값이 변경되는 타이밍에 대한 정보, 상기 변경된 패킷유형정보의 값들, 상기 패킷유형정보들의 변경 순서를 나타내는 정보 중 적어도 하나를 포함하도록 패킷 구간정보를 생성한다.
학습데이터 생성모듈(160)은 디지털 구간정보, 아날로그 구간정보, 패킷 구간정보를 이용하여 상기 수집된 상태정보 및 데이터 패킷에 대한 상관관계를 분석하고 상관관계 데이터를 생성한다(S17).
일반적으로, 제어명령을 포함하는 데이터 패킷이 산업제어시스템에서 산업시설로 전송되는 경우, 해당 산업시설에는 상태 변화가 일어나게 되는데 이로 인해서 상태정보 수집모듈(110)을 통해서 수신되는 상태정보의 값이 변화하게 된다. 학습데이터 생성모듈(160)은 이러한 경우들에 대한 DNN(Deep Neural Network) 알고리즘의 딥러닝(Deep Learning) 기법을 적용한 반복적인 학습을 통해서 상관관계 데이터를 생성할 수 있다.
학습데이터 생성모듈(160)은 수집된 디지털 상태정보의 값이 변경되는 타이밍, 수집된 아날로그 상태정보의 값이 변경되는 타이밍, 수집된 패킷유형정보의 값이 변경되는 타이밍의 상호관계를 분석하고, 변경되는 디지털 상태정보들의 값 및 변경 순서, 변경되는 아날로그 상태정보들의 값 및 변경 순서, 변경되는 패킷유형정보들의 값 및 변경 순서 등도 함께 분석한다.
예를 들어, 학습데이터 생성모듈(160)은 수집된 패킷유형정보의 값이 "0x00000003"에서 "0x00000004"로 변경되는 시점에 수집된 디지털 상태정보의 값과 아날로그 상태정보의 값이 변하는지 여부를 분석하고, 각 값이 변경되는 타이밍과 변경되는 값들을 저장한다. 수집된 패킷유형정보가 변화되는 모든 경우에 대해서 이와 같은 과정을 반복하여 각 값들의 변경 타이밍, 변경되는 값들, 변경 순서 등을 조합하여 저장한다. 이처럼 반복적인 학습을 통해서 저장된 데이터는 상관관계 데이터가 된다.
이상징후 감지모듈(170)은 데이터 패킷 수집모듈(140)을 통해서 실시간으로 수신되는 데이터 패킷 및 상태정보 수집모듈(110)을 통해서 실시간으로 수신되는 상태정보를 상기 상관관계 데이터와 비교하여 산업제어시스템 내의 이상징후를 감지한다(S18). 이상징후 감지모듈(170)은 아래의 이상징후 감지방법들 중 적어도 하나를 사용할 수 있다.
이상징후 감지방법 1.
이상징후 감지모듈(170)은 실시간으로 수신되는 상기 상태정보의 값이 변경되는 타이밍과 실시간으로 수신되는 상기 데이터 패킷 내의 패킷유형정보의 값이 변경되는 타이밍을 상기 상관관계 데이터와 비교하고, 그 비교 결과에 따라 상기 산업제어시스템의 이상징후를 감지한다.
만약, 실시간으로 수신되는 디지털 상태정보의 값이 변경되는 타이밍, 실시간으로 수신되는 아날로그 상태정보의 값이 변경되는 타이밍, 실시간으로 수신되는 데이터 패킷 내의 패킷유형정보의 값이 변경되는 타이밍 중 적어도 하나가 상관관계 데이터와 일치하지 않거나 상관관계 데이터의 허용 오차범위를 벗어난다면, 이상징후 감지모듈(170)은 산업제어시스템에 이상징후가 있다고 판단한다. 여기서, 이상징후는 산업제어시스템의 오류, 산업시설의 오동작, 센서 등의 감지장치의 오동작, 네트워크망의 이상, 산업제어시스템에 대한 해킹 중 적어도 하나일 수 있다.
도 6은 이상징후 감지방법 1의 일 예를 나타낸 도면으로, 상부 그래프는 실시간으로 수신되는 데이터 패킷 내의 패킷유형정보의 값이 변화하는 다수의 시점을 보여주고, 하부 그래프는 동일 시간대에 실시간으로 수신되는 아날로그 상태정보의 값이 가장 많이 변화하는 시점을 보여준다. 도 6에 도시된 바와 같이, 패킷유형정보의 값이 변하는 시점들(6개의 피크) 중 세 번째 피크와 아날로그 상태정보의 값이 변하는 시점(변화하는 클러스터의 개수가 가장 많은 시점)이 상관관계 데이터에 기록된 타이밍과 다르다고 판단되면 이상징후 감지모듈(170)은 산업제어시스템에 이상징후가 있다고 판단한다.
이상징후 감지방법 2.
이상징후 감지모듈(170)은 실시간으로 수신되는 상기 상태정보들의 값 및 순서, 실시간으로 수신되는 상기 데이터 패킷 내의 패킷유형정보들의 값 및 순서를 상기 상관관계 데이터와 비교하고, 그 비교 결과에 따라 상기 산업제어시스템의 이상징후를 감지한다.
만약, 실시간으로 수신되는 디지털 상태정보의 값 및 순서, 실시간으로 수신되는 아날로그 상태정보의 값 및 순서, 실시간으로 수신되는 데이터 패킷 내의 패킷유형정보들의 값 및 순서 중 적어도 하나가 상관관계 데이터와 일치하지 않거나 상관관계 데이터의 허용 오차범위를 벗어난다면, 이상징후 감지모듈(170)은 산업제어시스템에 이상징후가 있다고 판단한다.
이상징후 감지방법 3.
이상징후 감지모듈(170)은 상술한 이상징후 감지방법 1과 이상징후 감지방법 2를 조합하여 산업제어시스템의 이상징후를 판단할 수 있다.
이상, 본 발명을 본 발명의 원리를 예시하기 위한 바람직한 실시예와 관련하여 도시하고 설명하였으나, 본 발명은 그와 같이 도시되고 설명된 그대로의 구성 및 작용으로 한정되는 것이 아니다. 오히려 첨부된 특허청구범위의 사상 및 범위를 일탈함이 없이 본 발명에 대한 다수의 변경 및 수정이 가능함을 당업자들은 잘 이해할 수 있을 것이다.
110: 상태정보 수집모듈 120: 상태정보 분리모듈
130: 디지털 상태정보 처리모듈 135: 아날로그 상태정보 처리모듈
140: 데이터 패킷 수집모듈 150: 데이터 패킷 처리모듈
160: 학습데이터 생성모듈 170: 이상징후 감지모듈

Claims (12)

  1. 산업제어시스템으로부터 각 산업시설의 상태정보를 수신 및 수집하는 상태정보 수집모듈;
    상기 수집된 상태정보를 디지털 상태정보 및 아날로그 상태정보로 분리하는 상태정보 분리모듈;
    상기 디지털 상태정보의 값이 변경되는 구간들에 대한 디지털 구간정보를 생성하는 디지털 상태정보 처리모듈;
    상기 아날로그 상태정보의 값이 변경되는 구간들에 대한 아날로그 구간정보를 생성하는 아날로그 상태정보 처리모듈;
    상기 산업제어시스템으로부터 데이터 패킷을 수신 및 수집하는 데이터 패킷 수집모듈;
    상기 수집된 데이터 패킷으로부터 패킷유형정보를 추출하고, 상기 패킷유형정보의 값이 변경되는 구간들에 대한 패킷 구간정보를 생성하는 데이터 패킷 처리모듈;
    상기 디지털 구간정보, 아날로그 구간정보, 패킷 구간정보를 이용하여 상기 수집된 상태정보 및 데이터 패킷에 대한 상관관계 데이터를 생성하는 학습데이터 생성모듈; 및
    실시간으로 수신되는 상태정보 및 데이터 패킷을 상기 상관관계 데이터와 비교하여 상기 산업제어시스템 내의 이상징후를 감지하는 이상징후 감지모듈을 포함하며,

    상기 이상징후 감지모듈은,
    실시간으로 수신되는 상기 상태정보의 값이 변경되는 타이밍과 실시간으로 수신되는 상기 데이터 패킷 내의 패킷유형정보의 값이 변경되는 타이밍을 상기 상관관계 데이터와 비교하여 그 비교 결과에 따라 상기 산업제어시스템의 이상징후를 감지하며,
    상기 이상징후 감지모듈은 실시간으로 수신되는 상기 상태정보들의 값 및 순서, 실시간으로 수신되는 상기 데이터 패킷 내의 패킷유형정보들의 값 및 순서를 상기 상관관계 데이터와 비교하여 그 비교 결과에 따라 상기 산업제어시스템의 이상징후를 감지하는 것을 특징으로 하는 산업제어시스템의 이상징후 감지장치.
  2. 제 1 항에 있어서,
    상기 디지털 상태정보 처리모듈은,
    상기 디지털 상태정보의 값이 변경되는 타이밍에 대한 정보, 상기 변경된 디지털 상태정보의 값들, 상기 디지털 상태정보들의 변경 순서를 나타내는 정보를 포함하도록 상기 디지털 구간정보를 생성하는 것을 특징으로 하는 산업제어시스템의 이상징후 감지장치.
  3. 제 1 항에 있어서,
    상기 아날로그 상태정보 처리모듈은,
    상기 아날로그 상태정보의 값이 변경되는 타이밍에 대한 정보, 상기 변경된 아날로그 상태정보의 값들, 상기 아날로그 상태정보들의 변경 순서를 나타내는 정보를 포함하도록 상기 아날로그 구간정보를 생성하는 것을 특징으로 하는 산업제어시스템의 이상징후 감지장치.
  4. 제 1 항에 있어서,
    상기 데이터 패킷 처리모듈은,
    상기 패킷유형정보의 값이 변경되는 타이밍에 대한 정보, 상기 변경된 패킷유형정보의 값들, 상기 패킷유형정보들의 변경 순서를 나타내는 정보를 포함하도록 상기 패킷 구간정보를 생성하는 것을 특징으로 하는 산업제어시스템의 이상징후 감지장치.
  5. 삭제
  6. 삭제
  7. 산업제어시스템으로부터 각 산업시설의 상태정보를 수집하는 단계;
    상기 수집된 상태정보를 디지털 상태정보 및 아날로그 상태정보로 분리하는 단계;
    상기 디지털 상태정보의 값이 변경되는 구간들에 대한 디지털 구간정보를 생성하는 단계;
    상기 아날로그 상태정보의 값이 변경되는 구간들에 대한 아날로그 구간정보를 생성하는 단계;
    상기 산업제어시스템으로부터 데이터 패킷을 수집하는 단계;
    상기 수집된 데이터 패킷으로부터 패킷유형정보를 추출하고, 상기 패킷유형정보의 값이 변경되는 구간들에 대한 패킷 구간정보를 생성하는 단계;
    상기 디지털 구간정보, 아날로그 구간정보, 패킷 구간정보를 이용하여 상기 수집된 상태정보 및 데이터 패킷에 대한 상관관계 데이터를 생성하는 단계; 및
    실시간으로 수신되는 상태정보 및 데이터 패킷을 상기 상관관계 데이터와 비교하여 상기 산업제어시스템 내의 이상징후를 감지하는 단계를 포함하며,

    상기 산업제어시스템 내의 이상징후를 감지하는 단계에서,
    실시간으로 수신되는 상기 상태정보의 값이 변경되는 타이밍과 실시간으로 수신되는 상기 데이터 패킷 내의 패킷유형정보의 값이 변경되는 타이밍을 상기 상관관계 데이터와 비교하고, 그 비교 결과에 따라 상기 산업제어시스템의 이상징후를 감지하고,
    상기 산업제어시스템 내의 이상징후를 감지하는 단계에서,
    실시간으로 수신되는 상기 상태정보들의 값 및 순서, 실시간으로 수신되는 상기 데이터 패킷 내의 패킷유형정보들의 값 및 순서를 상기 상관관계 데이터와 비교하고, 그 비교 결과에 따라 상기 산업제어시스템의 이상징후를 감지하는 것을 특징으로 하는 산업제어시스템의 이상징후 감지방법.
  8. 제 7 항에 있어서,
    상기 디지털 상태정보의 값이 변경되는 구간들에 대한 디지털 구간정보를 생성하는 단계에서,
    상기 디지털 상태정보의 값이 변경되는 타이밍에 대한 정보, 상기 변경된 디지털 상태정보의 값들, 상기 디지털 상태정보들의 변경 순서를 나타내는 정보를 포함하도록 상기 디지털 구간정보를 생성하는 것을 특징으로 하는 산업제어시스템의 이상징후 감지방법.
  9. 제 7 항에 있어서,
    상기 아날로그 상태정보의 값이 변경되는 구간들에 대한 아날로그 구간정보를 생성하는 단계에서,
    상기 아날로그 상태정보의 값이 변경되는 타이밍에 대한 정보, 상기 변경된 아날로그 상태정보의 값들, 상기 아날로그 상태정보들의 변경 순서를 나타내는 정보를 포함하도록 상기 아날로그 구간정보를 생성하는 것을 특징으로 하는 산업제어시스템의 이상징후 감지방법.
  10. 제 7 항에 있어서,
    상기 수집된 데이터 패킷으로부터 패킷유형정보를 추출하고, 상기 패킷유형정보의 값이 변경되는 구간들에 대한 패킷 구간정보를 생성하는 단계에서,
    상기 패킷유형정보의 값이 변경되는 타이밍에 대한 정보, 상기 변경된 패킷유형정보의 값들, 상기 패킷유형정보들의 변경 순서를 나타내는 정보를 포함하도록 상기 패킷 구간정보를 생성하는 것을 특징으로 하는 산업제어시스템의 이상징후 감지방법.
  11. 삭제
  12. 삭제
KR1020220036478A 2022-03-24 2022-03-24 산업제어시스템의 이상징후를 감지하는 방법 및 장치 KR102500033B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220036478A KR102500033B1 (ko) 2022-03-24 2022-03-24 산업제어시스템의 이상징후를 감지하는 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220036478A KR102500033B1 (ko) 2022-03-24 2022-03-24 산업제어시스템의 이상징후를 감지하는 방법 및 장치

Publications (1)

Publication Number Publication Date
KR102500033B1 true KR102500033B1 (ko) 2023-02-16

Family

ID=85326152

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220036478A KR102500033B1 (ko) 2022-03-24 2022-03-24 산업제어시스템의 이상징후를 감지하는 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102500033B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220038485A1 (en) * 2020-01-08 2022-02-03 Bank Of America Corporation Real-Time Validation of Application Data
US11785036B2 (en) 2020-01-08 2023-10-10 Bank Of America Corporation Real-time validation of data transmissions based on security profiles
US11979423B2 (en) 2020-01-08 2024-05-07 Bank Of America Corporation Real-time classification of content in a data transmission

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101375813B1 (ko) * 2012-09-13 2014-03-20 한국전력공사 디지털 변전소의 실시간 보안감사 및 이상징후 탐지를 위한 능동형 보안 센싱 장치 및 방법
KR20190048656A (ko) * 2017-10-31 2019-05-09 한국전자통신연구원 시스템 감시 장치 및 방법
KR20200098838A (ko) * 2019-02-13 2020-08-21 다운정보통신(주) 제어신호 패킷과 상태분석을 이용한 제어시스템 이상행위 탐지 시스템 및 그 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101375813B1 (ko) * 2012-09-13 2014-03-20 한국전력공사 디지털 변전소의 실시간 보안감사 및 이상징후 탐지를 위한 능동형 보안 센싱 장치 및 방법
KR20190048656A (ko) * 2017-10-31 2019-05-09 한국전자통신연구원 시스템 감시 장치 및 방법
KR20200098838A (ko) * 2019-02-13 2020-08-21 다운정보통신(주) 제어신호 패킷과 상태분석을 이용한 제어시스템 이상행위 탐지 시스템 및 그 방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220038485A1 (en) * 2020-01-08 2022-02-03 Bank Of America Corporation Real-Time Validation of Application Data
US11750630B2 (en) * 2020-01-08 2023-09-05 Bank Of America Corporation Real-time validation of application data
US11785036B2 (en) 2020-01-08 2023-10-10 Bank Of America Corporation Real-time validation of data transmissions based on security profiles
US11979423B2 (en) 2020-01-08 2024-05-07 Bank Of America Corporation Real-time classification of content in a data transmission

Similar Documents

Publication Publication Date Title
KR102500033B1 (ko) 산업제어시스템의 이상징후를 감지하는 방법 및 장치
CN110011999B (zh) 基于深度学习的IPv6网络DDoS攻击检测系统及方法
CN110336827B (zh) 一种基于异常字段定位的Modbus TCP协议模糊测试方法
Suaboot et al. A taxonomy of supervised learning for idss in scada environments
Shirazi et al. Evaluation of anomaly detection techniques for scada communication resilience
CN109787979B (zh) 一种电力网络事件和入侵的检测方法
CN111092862B (zh) 一种用于对电网终端通信流量异常进行检测的方法及系统
CN107204975B (zh) 一种基于场景指纹的工业控制系统网络攻击检测技术
Jalili et al. Detection of distributed denial of service attacks using statistical pre-processor and unsupervised neural networks
KR102001813B1 (ko) Dnn 알고리즘을 이용한 비표준 프로토콜 페이로드 이상행위 탐지 장치 및 방법
KR20210115991A (ko) 시계열 데이터 분석을 이용한 네트워크 이상징후 탐지 방법 및 장치
CN111181971B (zh) 一种自动检测工业网络攻击的系统
CN113206860B (zh) 一种基于机器学习和特征选择的DRDoS攻击检测方法
CN109347853B (zh) 基于深度包解析的面向综合电子系统的异常检测方法
CN117411703A (zh) 一种面向Modbus协议的工业控制网络异常流量检测方法
CN110839042B (zh) 一种基于流量的自反馈恶意软件监测系统和方法
Kim et al. Behavior Detection Mechanism for Trust Sensor Data Using Deep Learning in the Internet of Things
CN118276499B (zh) 一种基于数据识别的电气自动化控制系统及方法
US11297082B2 (en) Protocol-independent anomaly detection
KR102484932B1 (ko) 상태정보를 이용한 산업제어시스템의 이상징후를 감지하는 방법 및 장치
Sapozhnikova et al. Intrusion detection system based on data mining technics for industrial networks
CN116527307A (zh) 一种基于社区发现的僵尸网络检测算法
KR102484940B1 (ko) 패킷 순서정보를 이용한 산업제어시스템의 이상징후를 감지하는 방법 및 장치
CN112131299B (zh) 一种基于网络的数据中心设备信息采集的系统及方法
KR102037192B1 (ko) 계층적 구조 학습을 통한 네트워크 트래픽의 지속적인 신호 트래픽 탐지 장치 및 방법

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant