KR20220106335A - 산업용 제어 시스템 환경에서 통신의 비정상상태를 탐지하는 방법 및 장치 - Google Patents

산업용 제어 시스템 환경에서 통신의 비정상상태를 탐지하는 방법 및 장치 Download PDF

Info

Publication number
KR20220106335A
KR20220106335A KR1020210009156A KR20210009156A KR20220106335A KR 20220106335 A KR20220106335 A KR 20220106335A KR 1020210009156 A KR1020210009156 A KR 1020210009156A KR 20210009156 A KR20210009156 A KR 20210009156A KR 20220106335 A KR20220106335 A KR 20220106335A
Authority
KR
South Korea
Prior art keywords
communication
packet
learning
abnormal state
iot
Prior art date
Application number
KR1020210009156A
Other languages
English (en)
Other versions
KR102541309B1 (ko
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 KR1020210009156A priority Critical patent/KR102541309B1/ko
Publication of KR20220106335A publication Critical patent/KR20220106335A/ko
Application granted granted Critical
Publication of KR102541309B1 publication Critical patent/KR102541309B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • H04L43/065Generation of reports related to network devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks

Abstract

본 발명은 산업용 제어 시스템 환경에서 통신의 비정상상태를 탐지하는 방법 및 장치에 관한 것으로, 전자장치가 서로 다른 통신 프로토콜을 사용하는 복수의 IoT(internet of things)단말과의 통신에 의해 복수의 IoT단말로부터 수신된 학습용 패킷을 기반으로 주기적인 통신 패턴을 자동으로 분석하는 단계, 전자장치가 주기적인 통신 패턴을 갖는 학습용 패킷을 기반으로 복수의 IoT단말과의 통신 정상상태를 학습하여 학습모델을 생성하는 단계, 전자장치가 학습모델이 생성되면, 복수의 IoT단말과의 통신에 의한 탐지용 패킷을 수신하는 단계, 전자장치가 탐지용 패킷을 기반으로 패킷 시퀀스를 생성하는 단계 및 전자장치가 패킷 시퀀스를 학습모델에 적용하여 복수의 IoT단말 중 적어도 하나의 IoT단말과의 통신 비정상상태를 탐지하는 단계를 포함하며 다른 실시 예로도 적용이 가능하다.

Description

산업용 제어 시스템 환경에서 통신의 비정상상태를 탐지하는 방법 및 장치{Method and Apparatus for Anomaly Detection of Communication in Industrial Control System Environment}
본 발명은 산업용 제어 시스템 환경에서 통신의 비정상상태를 탐지하는 방법 및 장치에 관한 것이다.
일반적인 산업용 제어 시스템(ICS; industrial control system) 환경은 복수의 산업용 IoT 단말로 구성되며, IoT단말들은 산업용 제어 프로토콜을 사용하여 서로 간의 통신을 수행한다. 그러나, 이러한 IoT단말들은 서로 상이한 통신 프로토콜을 사용하기도 하고, 각 단말별로 다양한 통신주기를 가지고 있어 통신 패턴을 이용한 정상 상태 규정을 위해서는 전문가의 분석이 요구된다.
큰 규모의 산업용 제어 시스템 환경을 갖춘 기업에서는 전문가들을 채용하여 전문가들이 IoT단말들의 통신 패킷을 일일이 분석한 후 정상 상태를 규정함으로써, 비정상상태를 탐지하는 시스템을 구축한다. 그러나, 작은 규모의 산업용 제어 시스템 환경을 갖춘 기업에서는 경제적인 문제로 상기와 같은 방식을 적용하기가 어려운 문제점이 발생한다.
또한, 산업용 제어 시스템 환경에서는 복수의 IoT단말들이 주기적인 통신과 비주기적인 통신을 함께 사용하는 것이 일반적이기 때문에, 네트워크 딜레이가 발생할 뿐 아니라, 전문가들이 통신 패킷을 분석하더라도 분석 과정에서 휴먼 에러로 인해 통신 패턴의 분석이 잘못될 확률이 높아지는 문제점이 발생한다.
이러한 종래의 문제점을 해결하기 위한 본 발명의 실시 예들은 산업용 제어 시스템을 구현하는 산업용 IoT단말의 통신 패턴을 자동으로 분석하고, 분석된 통신 패턴의 주기성을 기반으로 통신의 비정상상태를 탐지할 수 있는 산업용 제어 시스템 환경에서 통신의 비정상상태를 탐지하는 방법 및 장치를 제공하는 것이다.
본 발명의 실시 예에 따른 산업용 제어 시스템 환경에서 통신의 비정상상태를 탐지하는 방법은, 전자장치가 서로 다른 통신 프로토콜을 사용하는 복수의 IoT(internet of things)단말과의 통신에 의해 상기 복수의 IoT단말로부터 수신된 학습용 패킷을 기반으로 주기적인 통신 패턴을 자동으로 분석하는 단계, 상기 전자장치가 상기 주기적인 통신 패턴을 갖는 상기 학습용 패킷을 기반으로 상기 복수의 IoT단말과의 통신 정상상태를 학습하여 학습모델을 생성하는 단계, 상기 전자장치가 상기 학습모델이 생성되면, 상기 복수의 IoT단말과의 통신에 의한 탐지용 패킷을 수신하는 단계, 상기 전자장치가 상기 탐지용 패킷을 기반으로 패킷 시퀀스를 생성하는 단계 및 상기 전자장치가 상기 패킷 시퀀스를 상기 학습모델에 적용하여 상기 복수의 IoT단말 중 적어도 하나의 IoT단말과의 통신 비정상상태를 탐지하는 단계를 포함하는 것을 특징으로 한다.
또한, 통신 패턴을 자동으로 분석하는 단계는, 상기 학습용 패킷을 파싱하여 상기 학습용 패킷에 포함된 정보를 확인하는 단계, 상기 정보 중 근원지 IP 및 목적지 IP를 확인하여 상기 학습용 패킷을 통신구간별로 분리하는 단계, 상기 정보 중 함수 코드 및 타겟 데이터 객체를 기반으로 상기 통신구간별로 분리된 상기 학습용 패킷을 그룹핑하는 단계 및 상기 그룹핑된 상기 학습용 패킷에 대한 주기적인 통신 패턴을 자동으로 분석하는 단계를 포함하는 것을 특징으로 한다.
또한, 그룹핑된 상기 학습용 패킷에 대한 주기적인 통신 패턴을 자동으로 분석하는 단계는, 적어도 하나의 그룹에 포함된 학습용 패킷들을 기반으로 그룹별 주기적인 통신 시퀀스를 분석하는 단계 및 상기 분석된 주기적인 통신 시퀀스를 조합하여 그룹별로 상기 주기적인 통신 패턴을 생성하는 단계를 포함하는 것을 특징으로 한다.
또한, 주기적인 통신 시퀀스를 분석하는 단계는, 상기 학습용 패킷에 대한 수신 시점 사이의 간격이 비주기적인 패킷을 삭제하는 단계를 포함하는 것을 특징으로 한다.
또한, 패킷 시퀀스를 생성하는 단계는, 상기 탐지용 패킷을 파싱하여 상기 탐지용 패킷에 포함된 정보를 확인하는 단계, 상기 정보 중 근원지 IP 및 목적지 IP를 확인하여 상기 탐지용 패킷을 통신구간별로 분리하는 단계 및 상기 통신구간별로 주기통신 및 비주기통신에 대한 상기 패킷 시퀀스를 생성하는 단계를 포함하는 것을 특징으로 한다.
아울러, 본 발명의 실시 예에 따른 산업용 제어 시스템 환경에서 통신의 비정상상태 탐지를 수행하는 전자장치는, 서로 다른 통신 프로토콜을 사용하는 복수의 IoT(internet of things)단말과 통신을 수행하는 통신부 및 상기 복수의 IoT단말로부터 수신된 학습용 패킷을 기반으로 주기적인 통신 패턴을 자동으로 분석하여 주기적인 통신 패턴을 갖는 상기 학습용 패킷을 기반으로 상기 복수의 IoT단말과의 통신 정상상태를 학습하여 학습모델을 생성하고, 상기 학습모델이 생성되면, 상기 복수의 IoT단말과의 통신에 의해 수신된 탐지용 패킷을 기반으로 패킷 시퀀스를 생성하고 상기 패킷 시퀀스를 상기 학습모델에 적용하여 상기 복수의 IoT단말 중 적어도 하나의 IoT단말과의 통신 비정상상태를 탐지하는 제어부를 포함하는 것을 특징으로 한다.
또한, 제어부는, 상기 학습용 패킷을 파싱하여 상기 학습용 패킷에 포함된 근원지 IP, 목적지 IP, 함수 코드 및 타겟 데이터 객체를 확인하고, 상기 근원지 IP 및 상기 목적지 IP를 기반으로 상기 학습용 패킷을 통신구간별로 분리하는 것을 특징으로 한다.
또한, 제어부는, 상기 함수 코드 및 상기 타겟 데이터 객체를 기반으로 상기 통신구간별로 분리된 상기 학습용 패킷을 그룹핑하고, 상기 그룹핑된 상기 학습용 패킷에 대한 주기적인 통신 패턴을 자동으로 분석하는 것을 특징으로 한다.
또한, 제어부는, 적어도 하나의 그룹에 포함된 학습용 패킷들을 기반으로 그룹별 주기적인 통신 시퀀스를 분석하고, 상기 주기적인 통신 시퀀스를 조합하여 그룹별로 상기 주기적인 통신 패턴을 생성하는 것을 특징으로 한다.
또한, 제어부는, 상기 학습용 패킷에 대한 수신 시점 사이의 간격이 비주기적인 패킷을 삭제하는 것을 특징으로 한다.
또한, 제어부는, 상기 탐지용 패킷을 파싱하여 근원지 IP 및 목적지 IP를 포함하는 상기 탐지용 패킷 정보를 확인하고, 상기 탐지용 패킷을 통신구간별로 분리하는 것을 특징으로 한다.
또한, 제어부는, 상기 통신구간별로 주기통신 및 비주기통신에 대한 상기 패킷 시퀀스를 생성하는 것을 특징으로 한다.
상술한 바와 같이 본 발명에 따른 산업용 제어 시스템 환경에서 통신의 비정상상태를 탐지하는 방법 및 장치는, 산업용 제어 시스템을 구현하는 산업용 IoT단말의 통신 패턴을 자동으로 분석하고, 분석된 통신 패턴의 주기성을 기반으로 통신의 비정상상태를 탐지함으로써, 비정상상태 탐지를 위한 정상상태를 규정하는 과정에서 발생되는 휴먼 에러를 방지하고 정상상태 규정에 소모되는 비용을 낮출 수 있는 효과가 있다.
도 1은 본 발명의 실시 예에 따른 산업용 제어 시스템 환경에서 통신의 비정상상태를 탐지하는 시스템을 나타낸 도면이다.
도 2는 본 발명의 실시 예에 따른 산업용 제어 시스템 환경에서 통신의 비정상상태를 탐지하는 기능을 포함하는 전자장치를 나타낸 도면이다.
도 3은 본 발명의 실시 예에 따른 통신의 비정상상태 탐지를 위한 학습을 수행하는 방법을 설명하기 위한 순서도이다.
도 4는 본 발명의 실시 예에 따른 통신패턴을 생성하는 방법을 설명하기 위한 예시도이다.
도 5는 본 발명의 실시 예에 따른 통신의 비정상상태를 탐지하는 방법을 설명하기 위한 순서도이다.
이하, 본 발명에 따른 바람직한 실시 형태를 첨부된 도면을 참조하여 상세하게 설명한다. 첨부된 도면과 함께 이하에 개시될 상세한 설명은 본 발명의 예시적인 실시형태를 설명하고자 하는 것이며, 본 발명이 실시될 수 있는 유일한 실시형태를 나타내고자 하는 것이 아니다. 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략할 수 있고, 명세서 전체를 통하여 동일 또는 유사한 구성 요소에 대해서는 동일한 참조 부호를 사용할 수 있다.
본 발명의 일 실시 예에서, “또는”, “적어도 하나” 등의 표현은 함께 나열된 단어들 중 하나를 나타내거나, 또는 둘 이상의 조합을 나타낼 수 있다. 예를 들어, “A 또는 B”, “A 및 B 중 적어도 하나”는 A 또는 B 중 하나만을 포함할 수 있고, A와 B를 모두 포함할 수도 있다.
도 1은 본 발명의 실시 예에 따른 산업용 제어 시스템 환경에서 통신의 비정상상태를 탐지하는 시스템을 나타낸 도면이다.
도 1을 참조하면, 본 발명에 따른 시스템(10)은 복수의 IoT단말(100)과 전자장치(200)를 포함한다.
복수의 IoT단말(100)은, 제1 IoT단말(110), 제2 IoT단말(120) 내지 제n IoT단말(130)을 포함하고, IoT단말(100)은 전자장치(200)와의 통신을 통해 산업용 제어 시스템(ICS; industrial control system) 환경을 구축하는 단말을 의미하며, 센서, 네트워크 장치, PLC(programmable logic controller), 로봇 등의 장치를 포함할 수 있다. IoT단말(100)은 IoT단말끼리의 통신을 수행하기도 하고, 전자장치(200)와의 통신을 통해 전자장치(200)의 제어에 의한 동작을 수행하기도 한다. 이를 위해, IoT단말(100)은 무선 통신 및 유선 통신 등의 통신을 수행한다.
전자장치(200)는 복수의 IoT단말(100)과 함께 산업용 제어 시스템 환경을 구축하고, IoT단말(100)과의 통신을 통해 IoT단말(100)의 동작을 제어하고, IoT단말(100) 중 적어도 하나의 IoT단말과의 통신의 정상상태 및 비정상태 여부를 탐지한다. 이를 위해, 제어부(250)는 IoT단말(100)과의 통신 비정상상태를 탐지할 수 있는 딥러닝 모델의 학습을 수행한다. 이와 같은 전자장치(200)의 동작은 하기의 도 2를 이용하여 보다 구체적으로 설명하기로 한다. 도 2는 본 발명의 실시 예에 따른 산업용 제어 시스템 환경에서 통신의 비정상상태를 탐지하는 기능을 포함하는 전자장치를 나타낸 도면이다. 아울러, 본 발명의 실시 예에서 전자장치(200)는 컴퓨터, 태블릿 PC(personal computer) 등의 장치일 수 있으나, 반드시 이에 한정되는 것은 아니며, 서버의 형태로 구축될 수 있음을 명확히 하는 바이다.
도 2를 참조하면, 본 발명에 따른 전자장치(200)는 통신부(210), 입력부(220), 표시부(230), 메모리(240) 및 제어부(250)를 포함한다.
통신부(210)는 IoT단말(100)과의 통신을 수행한다. 이를 위해, 통신부(210)는 IoT단말(100)과 유선 통신을 이용한 포트 미러링을 수행할 수 있다.
입력부(220)는 전자장치(200) 사용자의 입력에 대응하여 입력 데이터를 발생시킨다. 이를 위해, 입력부(220)는 키보드, 마우스, 키패드, 돔 스위치, 터치패널, 터치 키 및 버튼 등의 입력장치를 포함할 수 있다.
표시부(230)는 전자장치(200)의 동작에 따른 출력 데이터를 출력한다. 이를 위해, 표시부(230)는 액정 디스플레이(LCD; liquid crystal display), 발광 다이오드(LED; light emitting diode) 디스플레이, 유기 발광 다이오드(OLED; organic LED) 디스플레이 등의 디스플레이 장치를 포함할 수 있다. 아울러, 표시부(230)는 입력부(220)와 결합되어 터치 스크린(touch screen)의 형태로 구현될 수 있다.
메모리(240)는 전자장치(200)의 동작 프로그램들을 저장한다. 특히, 메모리(240)는 제어부(250)에서 학습된 딥러닝 모델을 저장한다. 메모리(240)는 제어부(250)에서 딥러닝 모델을 생성할 수 있도록 IoT단말(100)에서 수신된 학습용 패킷을 기반으로 IoT단말(100)의 주기적인 통신 패턴을 자동으로 분석하기 위한 알고리즘을 저장한다.
제어부(250)는 IoT단말(100)과의 통신 비정상상태를 탐지하기 위한 학습을 수행하고, 학습이 완료되면 IoT단말(100)과의 통신을 통해 통신 비정상상태를 감지한다. 보다 구체적으로, 제어부(250)는 입력부(220)로부터 산업용 제어 시스템 환경에서 IoT단말(100) 중 적어도 하나의 IoT단말과의 통신 정상상태에 대한 학습을 시작하기 위한 학습시작신호가 수신되면 IoT단말(100)로부터 학습용 패킷을 수신한다.
제어부(250)는 수신된 학습용 패킷의 파싱을 통해 학습용 패킷에 포함된 시각, 근원지(source) IP, 목적지(destination) IP, 함수 코드(function code), 타겟 데이터 오브젝트(target data object)를 확인한다. 제어부(250)는 근원지 IP와 목적지 IP를 기반으로 트래픽을 분리하여 통신구간별 분리를 수행한다. 제어부(250)는 함수 코드 및 타겟 데이터 객체를 기반으로 학습용 패킷을 그룹화한다. 이로 인해, 동일한 그룹에 포함된 패킷들은 모두 동일한 근원지 IP, 목적지 IP, 함수 코드 및 타겟 데이터 오브젝트를 가질 수 있다.
이어서, 제어부(250)는 각 그룹에 포함된 패킷들을 기반으로 그룹별로 주기적인 통신 시퀀스를 분석하고, 그룹별로 주기적인 통신 시퀀스를 조합하여 주기적인 통신 패턴을 생성한다. 제어부(250)는 생성된 주기적인 통신 패턴을 갖는 패킷들만을 이용하여 딥러닝 모델을 학습한다.
이때, 제어부(250)는 RNN(recurrent neural network)기반 딥러닝 알고리즘의 일종인 LSTM(long short term memory)을 이용하여 딥러닝 모델을 학습할 수 있다. 이를 통해, 제어부(250)는 복수의 IoT단말(100)과의 통신에 대한 정상상태를 규정할 수 있다. 제어부(250)는 딥러닝 모델의 학습이 완료되면, 이를 메모리(240)에 저장한다.
상기와 같이 딥러닝 모델의 학습이 완료되면 제어부(250)는 입력부(220)로부터 산업용 제어 시스템 환경에서 IoT단말(100) 중 적어도 하나의 IoT단말과의 통신에 대한 비정상상태를 탐지하기 위한 비정상상태 탐지시작신호를 수신한다. 제어부(250)는 탐지시작신호를 기반으로 IoT단말(100)과의 통신을 통해 IoT단말(100)로부터 탐지용 패킷을 수신한다. 제어부(250)는 수신된 탐지용 패킷의 파싱을 통해 탐지용 패킷에 포함된 시각, 근원지 IP, 목적지 IP, 함수 코드, 타겟 데이터 오브젝트를 확인한다.
제어부(250)는 근원지 IP와 목적지 IP를 기반으로 트래픽을 분리하여 통신구간별 분리를 수행하고, 메모리(240)에 저장된 딥러닝 모델에 입력으로 사용하기 위한 통신구간별 패킷 시퀀스를 생성한다. 이때, 제어부(250)는 IoT단말(100)과의 주기통신 및 비주기통신 모두에 대한 패킷 시퀀스를 생성할 수 있다.
제어부(250)는 생성된 패킷 시퀀스를 딥러닝 모델에 적용한다. 제어부(250)는 딥러닝 모델에 적용한 결과, IoT단말(100) 중 적어도 하나의 IoT단말(100)과의 통신이 비정상상태인 것으로 탐지되면 이를 알리는 알람을 출력한다. 보다 구체적으로, 제어부(250)는 딥러닝 모델에서 예측된 예측 패킷과 IoT단말(100)에서 수신된 탐지용 패킷을 매칭하여 정상 패킷과 비정상 패킷을 구분할 수 있다. 제어부(250)는 딥러닝 모델에 정상적인 주기의 패킷 시퀀스를 입력하여 딥러닝 모델에 의해 예측된 예측 패킷을 확인할 수 있다. 제어부(250)는 딥러닝 모델에 의해 예측된 예측 패킷과 탐지용 패킷이 동일하면 IoT단말(100)과의 통신이 정상상태인 것으로 탐지하고, 예측 패킷과 탐지용 패킷이 동일하지 않으면 제어부(250)는 IoT단말(100)과의 통신이 비정상상태인 것으로 탐지할 수 있다.
도 3은 본 발명의 실시 예에 따른 통신의 비정상상태 탐지를 위한 학습을 수행하는 방법을 설명하기 위한 순서도이다. 정상상태를 규정하기 위해 통신 주기를 이용할 경우에는 발생된 네트워크 딜레이에 의해 정확도가 저하되는 문제점이 발생한다. 따라서, 본 발명에서는 이를 해소하기 위하여 통신 구간별로 패킷을 분리하고 각 통신 구간의 패킷 시퀀스를 학습에 사용한다.
도 3을 참조하면, 301단계에서 제어부(250)는 입력부(220)로부터 산업용 제어 시스템 환경에서 IoT단말(100) 중 적어도 하나의 IoT단말과의 통신 정상상태에 대한 학습을 시작하기 위한 학습시작신호의 수신여부를 확인한다. 301단계의 확인결과, 학습시작신호가 수신되면 제어부(250)는 303단계를 수행하고, 학습시작신호가 수신되지 않으면 학습시작신호의 수신을 대기한다.
303단계에서 제어부(250)는 산업용 제어 시스템 환경을 구축하는 IoT단말(100)과의 통신을 통해 IoT단말(100)로부터 학습용 패킷을 수신한다. 305단계에서 제어부(250)는 수신된 학습용 패킷의 파싱을 수행한다. 이를 통해, 제어부(250)는 학습용 패킷에 포함된 시각, 근원지 IP, 목적지 IP, 함수 코드, 타겟 데이터 오브젝트를 확인한다.
307단계에서 제어부(250)는 근원지 IP와 목적지 IP를 기반으로 트래픽을 분리하여 학습용 패킷을 통신구간별로 분리한다. 309단계에서 제어부(250)는 함수 코드 및 타겟 데이터 객체를 기반으로 학습용 패킷을 그룹화한다. 이로 인해, 동일한 그룹에 포함된 패킷들은 모두 동일한 근원지 IP, 목적지 IP, 함수 코드 및 타겟 데이터 오브젝트를 가질 수 있다.
311단계에서 제어부(250)는 각 그룹에 포함된 패킷들을 기반으로 그룹별로 주기적인 통신 시퀀스를 분석하고, 그룹별로 주기적인 통신 시퀀스를 조합하여 그룹별로 주기적인 통신 패턴을 생성한다. 이때, 주기적인 통신 패턴을 생성하기 위한 방법은 하기의 도 4를 이용하여 보다 구체적으로 설명하기로 한다. 도 4는 본 발명의 실시 예에 따른 통신 패턴을 생성하는 방법을 설명하기 위한 예시도이다.
도 4를 참조하면, 도면부호 401은 통신구간별 분리를 통해 생성된 시간에 따른 패킷 수집 세부 정보를 나타낸다. 이때, 단일 통신을 이용하는 IoT단말로부터 수집되는 패킷 a와 b같이 동시에 수집되기 때문에 패킷의 주기성 분석이 용이하지 않다.
따라서, 제어부(250)는 도면부호 403과 같이 함수 코드 및 타겟 데이터 객체를 기반으로 그룹화를 수행한다. 그룹화를 수행하면, 함수 코드 및 타겟 데이터 객체를 기반으로 a와 b로 분류되고, a와 b 각각의 패킷이 수신된 시간별로 정렬된다. 여기서, 제어부(250)는 시간축을 기준으로 a와 b가 각각 수신된 시점을 확인한다.
확인결과, 제어부(250)는 a패킷의 경우, 수신된 시점 사이의 간격이
Figure pat00001
임으로 주기적임을 확인할 수 있고, b패킷의 경우, 수신된 시점 사이의 간격이
Figure pat00002
Figure pat00003
로 상이함을 확인할 수 있다. 제어부(250)는 확인결과에 따라
Figure pat00004
Figure pat00005
중 시간차가 최대인
Figure pat00006
을 주기성을 확인하기 위한 시간으로 확인한다.
제어부(250)는 도면부호 405에서와 같이 비주기적인 간격으로 수집된 패킷(411)을 삭제한다. 제어부(250)는 비주기적인 간격으로 수집된 패킷(411)을 삭제한 이후에 a와 b를 결합하여 도면부호 407과 같은 주기적인 통신 패턴을 생성한다.
이어서, 313단계에서 제어부(250)는 주기적인 통신 패턴을 갖는 패킷들만을 이용하여 딥러닝 모델을 학습한다. 보다 구체적으로, 제어부(250)는 RNN(recurrent neural network)기반 딥러닝 알고리즘의 일종인 LSTM(long short term memory)을 이용하여 딥러닝 모델을 학습할 수 있다. 이를 통해, 제어부(250)는 복수의 IoT단말(100)과의 통신에 대한 정상상태를 규정할 수 있다.
315단계에서 제어부(250)는 딥러닝 모델의 학습이 완료된 것으로 확인되면 317단계를 수행하여 학습이 완료된 딥러닝 모델을 메모리(240)에 저장한다. 반대로, 315단계에서 제어부(250)는 딥러딩 모델의 학습이 완료되지 않은 것으로 확인되면 303단계로 회귀하여 303단계 내지 313단계의 동작을 재수행할 수 있다.
이와 같이, 본 발명은 주기적인 통신 패턴을 이용하여 통신의 정상상태를 정의하기 때문에, 통신 패턴의 주기성에 따라 정상상태를 자동으로 조절할 수 있다. 따라서, 서로 다른 통신 프로토콜을 사용하는 IoT단말의 종류와 관계없이 많은 산업용 제어 시스템에서 사용할 수 있는 효과가 발생한다.
도 5는 본 발명의 실시 예에 따른 통신의 비정상상태를 탐지하는 방법을 설명하기 위한 순서도이다.
도 5를 참조하면, 501단계에서 제어부(250)는 입력부(220)로부터 산업용 제어 시스템 환경에서 IoT단말(100) 중 적어도 하나의 IoT단말과의 통신에 대한 비정상상태를 탐지하기 위한 비정상상태 탐지시작신호의 수신여부를 확인한다. 501단계의 확인결과, 탐지시작신호가 수신되면 제어부(250)는 503단계를 수행하고, 탐지시작신호가 수신되지 않으면 제어부(250)는 탐지시작신호의 수신을 대기한다.
503단계에서 제어부(250)는 산업용 제어 시스템 환경을 구축하는 IoT단말(100)과의 통신을 통해 IoT단말(100)로부터 탐지용 패킷을 수신한다. 505단계에서 제어부(250)는 수신된 탐지용 패킷의 파싱을 수행한다. 이를 통해, 제어부(250)는 탐지용 패킷에 포함된 시각, 근원지 IP, 목적지 IP, 함수 코드, 타겟 데이터 오브젝트를 확인한다.
507단계에서 제어부(250)는 근원지 IP와 목적지 IP를 기반으로 트래픽을 분리하여 통신구간별 분리를 수행한다. 509단계에서 제어부(250)는 도 3의 313단계에서 생성된 딥러닝 모델에 입력으로 사용하기 위해 통신구간별로 패킷 시퀀스를 생성하고, 511단계를 수행한다. 이때, 제어부(250)는 IoT단말(100)과의 주기통신 및 비주기통신 모두에 대한 패킷 시퀀스를 생성할 수 있다.
511단계에서 제어부(250)는 생성된 패킷 시퀀스를 딥러닝 모델에 적용한다. 513단계에서 제어부(250)는 딥러닝 모델에 적용한 결과, IoT단말(100) 중 적어도 하나의 IoT단말(100)과의 통신이 비정상상태인 것으로 탐지되면 515단계를 수행하고, 비정상상태가 아닌 것으로 탐지되면 517단계를 수행한다. 515단계에서 제어부(250)는 확인결과에 따라 비정상상태가 탐지되었음을 알리는 알람을 출력하고 517단계를 수행한다.
보다 구체적으로, 제어부(250)는 딥러닝 모델에서 예측된 예측 패킷과 IoT단말(100)에서 수신된 탐지용 패킷을 매칭하여 정상 패킷과 비정상 패킷을 구분할 수 있다. 제어부(250)는 딥러닝 모델에 정상적인 주기의 패킷 시퀀스를 입력하여 딥러닝 모델에 의해 예측된 예측 패킷을 확인할 수 있다. 제어부(250)는 딥러닝 모델에 의해 예측된 예측 패킷과 탐지용 패킷이 동일하면 IoT단말(100)과의 통신이 정상상태인 것으로 탐지하고, 예측 패킷과 탐지용 패킷이 동일하지 않으면 제어부(250)는 IoT단말(100)과의 통신이 비정상상태인 것으로 탐지할 수 있다.
517단계에서 제어부(250)는 입력부(220)로부터 IoT단말(100)과의 통신 비정상상태의 탐지를 종료하기 위한 종료신호의 수신여부를 확인한다. 517단계의 확인결과, 종료신호가 수신되면 제어부(250)는 해당 프로세스를 종료하고, 종료신호가 수신되지 않으면 503단계로 회귀하여 503단계 내지 515단계의 동작을 재수행할 수 있다.
이와 같이, 본 발명은 IoT단말(100)과의 통신 정상상태를 학습할 수 있는 동작과 통신 비정상상태를 탐지하는 동작이 별도로 실행됨으로써 학습용 패킷을 오염시켜 잘못된 학습을 유도하는 적대적 공격에 대해 견고한 장점이 있다.
본 명세서와 도면에 개시된 본 발명의 실시 예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 따라서 본 발명의 범위는 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상을 바탕으로 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (12)

  1. 전자장치가 서로 다른 통신 프로토콜을 사용하는 복수의 IoT(internet of things)단말과의 통신에 의해 상기 복수의 IoT단말로부터 수신된 학습용 패킷을 기반으로 주기적인 통신 패턴을 자동으로 분석하는 단계;
    상기 전자장치가 상기 주기적인 통신 패턴을 갖는 상기 학습용 패킷을 기반으로 상기 복수의 IoT단말과의 통신 정상상태를 학습하여 학습모델을 생성하는 단계;
    상기 전자장치가 상기 학습모델이 생성되면, 상기 복수의 IoT단말과의 통신에 의한 탐지용 패킷을 수신하는 단계;
    상기 전자장치가 상기 탐지용 패킷을 기반으로 패킷 시퀀스를 생성하는 단계; 및
    상기 전자장치가 상기 패킷 시퀀스를 상기 학습모델에 적용하여 상기 복수의 IoT단말 중 적어도 하나의 IoT단말과의 통신 비정상상태를 탐지하는 단계;
    를 포함하는 것을 특징으로 하는 통신의 비정상상태 탐지 방법.
  2. 제1항에 있어서,
    상기 통신 패턴을 자동으로 분석하는 단계는,
    상기 학습용 패킷을 파싱하여 상기 학습용 패킷에 포함된 정보를 확인하는 단계;
    상기 정보 중 근원지 IP 및 목적지 IP를 확인하여 상기 학습용 패킷을 통신구간별로 분리하는 단계;
    상기 정보 중 함수 코드 및 타겟 데이터 객체를 기반으로 상기 통신구간별로 분리된 상기 학습용 패킷을 그룹핑하는 단계; 및
    상기 그룹핑된 상기 학습용 패킷에 대한 주기적인 통신 패턴을 자동으로 분석하는 단계;
    를 포함하는 것을 특징으로 하는 통신의 비정상상태 탐지 방법.
  3. 제2항에 있어서,
    상기 그룹핑된 상기 학습용 패킷에 대한 주기적인 통신 패턴을 자동으로 분석하는 단계는,
    적어도 하나의 그룹에 포함된 학습용 패킷들을 기반으로 그룹별 주기적인 통신 시퀀스를 분석하는 단계; 및
    상기 분석된 주기적인 통신 시퀀스를 조합하여 그룹별로 상기 주기적인 통신 패턴을 생성하는 단계;
    를 포함하는 것을 특징으로 하는 통신의 비정상상태 탐지 방법.
  4. 제3항에 있어서,
    상기 주기적인 통신 시퀀스를 분석하는 단계는,
    상기 학습용 패킷에 대한 수신 시점 사이의 간격이 비주기적인 패킷을 삭제하는 단계;
    를 포함하는 것을 특징으로 하는 통신의 비정상상태 탐지 방법.
  5. 제1항에 있어서,
    상기 패킷 시퀀스를 생성하는 단계는,
    상기 탐지용 패킷을 파싱하여 상기 탐지용 패킷에 포함된 정보를 확인하는 단계;
    상기 정보 중 근원지 IP 및 목적지 IP를 확인하여 상기 탐지용 패킷을 통신구간별로 분리하는 단계; 및
    상기 통신구간별로 주기통신 및 비주기통신에 대한 상기 패킷 시퀀스를 생성하는 단계;
    를 포함하는 것을 특징으로 하는 통신의 비정상상태 탐지 방법.
  6. 서로 다른 통신 프로토콜을 사용하는 복수의 IoT(internet of things)단말과 통신을 수행하는 통신부; 및
    상기 복수의 IoT단말로부터 수신된 학습용 패킷을 기반으로 주기적인 통신 패턴을 자동으로 분석하여 주기적인 통신 패턴을 갖는 상기 학습용 패킷을 기반으로 상기 복수의 IoT단말과의 통신 정상상태를 학습하여 학습모델을 생성하고,
    상기 학습모델이 생성되면, 상기 복수의 IoT단말과의 통신에 의해 수신된 탐지용 패킷을 기반으로 패킷 시퀀스를 생성하고 상기 패킷 시퀀스를 상기 학습모델에 적용하여 상기 복수의 IoT단말 중 적어도 하나의 IoT단말과의 통신 비정상상태를 탐지하는 제어부;
    를 포함하는 것을 특징으로 하는 통신의 비정상상태 탐지를 수행하는 전자장치.
  7. 제6항에 있어서,
    상기 제어부는,
    상기 학습용 패킷을 파싱하여 상기 학습용 패킷에 포함된 근원지 IP, 목적지 IP, 함수 코드 및 타겟 데이터 객체를 확인하고, 상기 근원지 IP 및 상기 목적지 IP를 기반으로 상기 학습용 패킷을 통신구간별로 분리하는 것을 특징으로 하는 통신의 비정상상태 탐지를 수행하는 전자장치.
  8. 제7항에 있어서,
    상기 제어부는,
    상기 함수 코드 및 상기 타겟 데이터 객체를 기반으로 상기 통신구간별로 분리된 상기 학습용 패킷을 그룹핑하고, 상기 그룹핑된 상기 학습용 패킷에 대한 주기적인 통신 패턴을 자동으로 분석하는 것을 특징으로 하는 통신의 비정상상태 탐지를 수행하는 전자장치.
  9. 제8항에 있어서,
    상기 제어부는,
    적어도 하나의 그룹에 포함된 학습용 패킷들을 기반으로 그룹별 주기적인 통신 시퀀스를 분석하고, 상기 주기적인 통신 시퀀스를 조합하여 그룹별로 상기 주기적인 통신 패턴을 생성하는 것을 특징으로 하는 통신의 비정상상태 탐지를 수행하는 전자장치.
  10. 제9항에 있어서,
    상기 제어부는,
    상기 학습용 패킷에 대한 수신 시점 사이의 간격이 비주기적인 패킷을 삭제하는 것을 특징으로 하는 통신의 비정상상태 탐지를 수행하는 전자장치.
  11. 제6항에 있어서,
    상기 제어부는,
    상기 탐지용 패킷을 파싱하여 근원지 IP 및 목적지 IP를 포함하는 상기 탐지용 패킷 정보를 확인하고, 상기 탐지용 패킷을 통신구간별로 분리하는 것을 특징으로 하는 통신의 비정상상태 탐지를 수행하는 전자장치.
  12. 제11항에 있어서,
    상기 제어부는,
    상기 통신구간별로 주기통신 및 비주기통신에 대한 상기 패킷 시퀀스를 생성하는 것을 특징으로 하는 통신의 비정상상태 탐지를 수행하는 전자장치.
KR1020210009156A 2021-01-22 2021-01-22 산업용 제어 시스템 환경에서 통신의 비정상상태를 탐지하는 방법 및 장치 KR102541309B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210009156A KR102541309B1 (ko) 2021-01-22 2021-01-22 산업용 제어 시스템 환경에서 통신의 비정상상태를 탐지하는 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210009156A KR102541309B1 (ko) 2021-01-22 2021-01-22 산업용 제어 시스템 환경에서 통신의 비정상상태를 탐지하는 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20220106335A true KR20220106335A (ko) 2022-07-29
KR102541309B1 KR102541309B1 (ko) 2023-06-07

Family

ID=82606600

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210009156A KR102541309B1 (ko) 2021-01-22 2021-01-22 산업용 제어 시스템 환경에서 통신의 비정상상태를 탐지하는 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102541309B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101538709B1 (ko) * 2014-06-25 2015-07-29 아주대학교산학협력단 산업제어 네트워크를 위한 비정상 행위 탐지 시스템 및 방법
KR20180120558A (ko) * 2017-04-27 2018-11-06 주식회사 케이티 딥러닝 기반 통신망 장비의 장애 예측 시스템 및 방법
KR20200078866A (ko) * 2018-12-24 2020-07-02 아주대학교산학협력단 데이터 패턴 분석을 이용한 비정상행위 탐지 장치 및 방법
KR102139138B1 (ko) * 2020-04-27 2020-07-30 (주) 앤앤에스피 그룹 및 주기 기반 비정상행위 탐지를 위한 비공개 ics 프로토콜의 프로파일링 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101538709B1 (ko) * 2014-06-25 2015-07-29 아주대학교산학협력단 산업제어 네트워크를 위한 비정상 행위 탐지 시스템 및 방법
KR20180120558A (ko) * 2017-04-27 2018-11-06 주식회사 케이티 딥러닝 기반 통신망 장비의 장애 예측 시스템 및 방법
KR20200078866A (ko) * 2018-12-24 2020-07-02 아주대학교산학협력단 데이터 패턴 분석을 이용한 비정상행위 탐지 장치 및 방법
KR102139138B1 (ko) * 2020-04-27 2020-07-30 (주) 앤앤에스피 그룹 및 주기 기반 비정상행위 탐지를 위한 비공개 ics 프로토콜의 프로파일링 시스템

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JoseRoldan 외 3 명, 'Integrating complex event processing and machine learning: An intelligent architecture for detecting IoT security attacks,' Elsevier (2020.01.30)* *

Also Published As

Publication number Publication date
KR102541309B1 (ko) 2023-06-07

Similar Documents

Publication Publication Date Title
US20180348728A1 (en) Process analysis apparatus, process analysis method, and process analysis program
US9928155B2 (en) Automated anomaly detection service on heterogeneous log streams
Baxter et al. Log‐ratio compositional data analysis in archaeometry
US20190182280A1 (en) Method for the automated creation of rules for a rule-based anomaly recognition in a data stream
Liulys Machine learning application in predictive maintenance
US20180309648A1 (en) Ultra-Fast Pattern Generation Algorithm for the Heterogeneous Logs
CN105677561B (zh) 移动产品多平台测试方法及系统
WO2021112491A1 (en) Methods and systems for predicting keystrokes using a unified neural network
CN112688946B (zh) 异常检测特征的构造方法、模块、存储介质、设备及系统
WO2019216199A1 (ja) 解析支援装置及び解析支援方法
CN112585547A (zh) 分析装置、分析方法以及分析程序
JP6866930B2 (ja) 生産設備監視装置、生産設備監視方法及び生産設備監視プログラム
JP5241969B2 (ja) 表示装置、および表示装置の動作確認方法
KR102541309B1 (ko) 산업용 제어 시스템 환경에서 통신의 비정상상태를 탐지하는 방법 및 장치
CN111401635B (zh) 一种环境污染数据的检测方法、装置及电子设备
CN111597391B (zh) 用于使用模式的数据库来指导工程项目的方法及系统
KR102163143B1 (ko) 딥러닝 기반의 터치센서 측정 오류 보정 장치 및 방법
CN104951135A (zh) 一种信息处理装置及方法
KR20220117188A (ko) 보안 규제 준수 자동화 장치
JP6541903B2 (ja) 攻撃・異常検知装置、攻撃・異常検知方法、および攻撃・異常検知プログラム
US20210243069A1 (en) Alert correlating using sequence model with topology reinforcement systems and methods
CN112534368A (zh) 图表显示装置、图表显示方法以及图表显示程序
WO2020231334A1 (en) Modelling and black-box security testing of cyber-physical systems
TWI767590B (zh) 用於多部電子計算裝置的機器人流程自動化裝置及機器人流程自動化方法
US11943242B2 (en) Deep automation anomaly detection

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant