KR102282843B1 - 스위칭 장치를 이용하는 비정상 제어데이터 탐지시스템 - Google Patents

스위칭 장치를 이용하는 비정상 제어데이터 탐지시스템 Download PDF

Info

Publication number
KR102282843B1
KR102282843B1 KR1020190064948A KR20190064948A KR102282843B1 KR 102282843 B1 KR102282843 B1 KR 102282843B1 KR 1020190064948 A KR1020190064948 A KR 1020190064948A KR 20190064948 A KR20190064948 A KR 20190064948A KR 102282843 B1 KR102282843 B1 KR 102282843B1
Authority
KR
South Korea
Prior art keywords
control data
data
normal
cluster
control
Prior art date
Application number
KR1020190064948A
Other languages
English (en)
Other versions
KR20200137879A (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 KR1020190064948A priority Critical patent/KR102282843B1/ko
Priority to PCT/KR2019/007028 priority patent/WO2020241959A1/ko
Publication of KR20200137879A publication Critical patent/KR20200137879A/ko
Application granted granted Critical
Publication of KR102282843B1 publication Critical patent/KR102282843B1/ko

Links

Images

Classifications

    • 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
    • G05B23/0218Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
    • G05B23/0221Preprocessing measurements, e.g. data collection rate adjustment; Standardization of measurements; Time series or signal analysis, e.g. frequency analysis or wavelets; Trustworthiness of measurements; Indexes therefor; Measurements using easily measured parameters to estimate parameters difficult to measure; Virtual sensor creation; De-noising; Sensor fusion; Unconventional preprocessing inherently present in specific fault detection methods like PCA-based methods
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4183Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by data acquisition, e.g. workpiece identification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/11Plc I-O input output
    • G05B2219/11101Verifying ram data correct, validity, reload faulty data with correct data
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13187Checking validity of data
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Automation & Control Theory (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

스위칭 장치를 이용하여 제어데이터를 복제할 수 있는 스위칭 장치를 이용하는 비정상 제어데이터 탐지시스템은 제어데이터를 생성하는 제어단말이 접속되어 상기 제어데이터가 입력되는 적어도 하나 이상의 입력포트, 상기 제어데이터에 의해 제어되는 제어장치가 접속되어 상기 제어데이터가 출력되는 적어도 하나 이상의 출력포트, 및 상기 제어장치로 출력될 제어데이터들이 복제되어 출력되는 목적지 포트를 포함하는 스위칭장치; 및 상기 목적지 포트에 접속되고 상기 목적지 포트로부터 출력되는 제어데이터들을 기초로 정상 제어데이터 군집 또는 정상 제어데이터 보안규칙을 생성하고, 상기 제어단말에서 타겟 제어데이터가 수신되면 정상 제어데이터 군집 또는 정상 제어데이터 보안규칙을 이용하여 상기 타겟 제어데이터의 비정상 여부를 판단하는 탐지서버를 포함하는 것을 특징으로 한다.

Description

스위칭 장치를 이용하는 비정상 제어데이터 탐지시스템{Abnormal Control Data Detection System Using Swiching Device}
본 발명은 제어데이터의 처리에 대한 것으로서, 보다 구체적으로 비정상 제어데이터를 탐지할 수 있는 시스템에 관한 것이다.
PLC(Programmable Logic Controller)와 같은 제어장치들의 온라인화가 증가됨에 따라 제어장치들을 타겟으로 하는 사이버 공격 또한 증가하고 있다.
제어장치들을 타겟으로 하는 사이버 공격은 제어장치들로 전달되는 제어데이터의 커맨드(Command) 또는 밸류(Value)를 불법적으로 변경함으로써 제어장치들을 오동작 시키거나 동작불능 상태로 만들 수 있고, 심한 경우 제어장치들을 손상시킬 수도 있다.
이러한 사이버 공격으로부터 제어장치들을 보호하기 위한 침입 탐지 시스템 등과 같은 보안 시스템이 제안된 바 있다. 일반적인 침입 탐지 시스템은 제어장치로 입력되는 제어데이터가 미리 정해진 보안 규칙에 위배되는지 여부를 판단함으로써 해당 제어데이터가 정상 제어데이터인지 또는 비정상 제어데이터인지를 구분하도록 설계된다.
하지만, 상술한 바와 같은 일반적인 침입탐지 시스템은 보안 규칙이 시스템 구축시 미리 정해져 있기 때문에 비정상 제어데이터의 변경에 대해 능동적으로 대응하기가 쉽지 않고, 따라서 새롭게 발생된 공격유형의 비정상 제어데이터를 정확하게 탐지해 낼 수 없다는 문제점이 있다.
또한, 상술한 바와 같은 일반적인 침입탐지 시스템은 보안 규칙이 시스템 구축시 미리 정해져 있기 때문에 적용대상이 되는 제어장치가 변경될 때마다 시스템 관리자가 보안 규칙을 새롭게 생성하여야 하기 때문에 시스템 구축 및 유지비용이 증가한다는 문제점이 있다.
선행문헌 1: 대한민국 공개특허 제10-2009-0102469호(발명의 명칭: DNP 기반 SCADA 네트워크 데이터 보호 시스템 및 그 방법, 공개일: 2009년 9월 30일)
본 발명은 상술한 문제점을 해결하기 위한 것으로서, 스위칭 장치를 이용하여 제어데이터를 복제할 수 있는 스위칭 장치를 이용하는 비정상 제어데이터 탐지시스템을 그 기술적 특징으로 한다.
또한, 정상 제어데이터 군집을 이용하여 타겟 제어데이터의 비정상 여부를 판단할 수 있는 스위칭 장치를 이용하는 비정상 제어데이터 탐지시스템을 제공하는 것을 그 기술적 특징으로 한다.
또한 본 발명은 제어장치로 입력되는 제어데이터의 학습을 통해 비정상 제어데이터의 탐지를 위한 정상 제어데이터 군집을 자동으로 생성할 수 있는 스위칭 장치를 이용하는 비정상 제어데이터 탐지시스템을 제공하는 것을 그 기술적 특징으로 한다.
또한, 본 발명은 제어장치로 입력되는 제어데이터의 학습을 통해 비정상 제어데이터의 탐지를 위한 정상 제어데이터 보안규칙을 자동으로 생성할 수 있는 스위칭 장치를 이용하는 비정상 제어데이터 탐지시스템을 제공하는 것을 그 기술적 특징으로 한다.
또한, 본 발명은 정상 제어데이터 보안규칙을 기초로 제어데이터들의 발생순서에 따른 정상 시퀀스 패턴을 생성하고, 정상 시퀀스 패턴을 기초로 제어데이터들의 발생순서가 정상인지 여부를 탐지할 수 있는 스위칭 장치를 이용하는 비정상 제어데이터 탐지시스템을 제공하는 것을 그 기술적 특징으로 한다.
상기 목적을 달성하기 위한 본 발명의 일 측면에 따른 스위칭 장치를 이용하는 비정상 제어데이터 탐지시스템은 제어데이터를 생성하는 제어단말이 접속되어 상기 제어데이터가 입력되는 적어도 하나 이상의 입력포트, 상기 제어데이터에 의해 제어되는 제어장치가 접속되어 상기 제어데이터가 출력되는 적어도 하나 이상의 출력포트, 및 상기 제어장치로 출력될 제어데이터들이 복제되어 출력되는 목적지 포트를 포함하는 스위칭장치; 및 상기 목적지 포트에 접속되고 상기 목적지 포트로부터 출력되는 제어데이터들을 기초로 정상 제어데이터 군집 또는 정상 제어데이터 보안규칙을 생성하고, 상기 제어단말에서 타겟 제어데이터가 수신되면 정상 제어데이터 군집 또는 정상 제어데이터 보안규칙을 이용하여 상기 타겟 제어데이터의 비정상 여부를 판단하는 탐지서버를 포함하는 것을 특징으로 한다.
본 발명에 따르면 기존 제어시스템에 포함된 스위칭 장치를 이용하여 제어데이터를 복제할 수 있기 때문에, 기존 제어시스템에 영향을 주지 않고 제어데이터의 비정상여부를 탐지할 수 있다는 효과가 있다.
본 발명에 따르면 정상 제어데이터 군집을 이용하여 타겟 제어데이터가 정상적인지 여부를 확인할 수 있기 때문에 다양한 제어명령과 값을 가지는 정상 제어데이터가 정상 제어데이터 군집에 반영되어 정상 제어데이터를 비정상 제어데이터로 판단할 가능성이 낮을 뿐만 아니라, 비정상적인 제이데이터들을 정확하게 탐지해 낼 수 있다는 효과가 있다.
또한, 본 발명에 따르면 제어장치의 초기 가동기간 동안 입력된 제어데이터의 학습을 통해 정상 제어데이터 군집을 자동으로 생성하기 때문에, 시스템의 신뢰도를 향상시킬 수 있다는 효과가 있다.
또한, 본 발명에 따르면 제어장치의 초기 가동기간 동안 입력된 제어데이터의 학습을 통해 정상 제어데이터 보안규칙을 자동으로 생성하기 때문에, 다양한 종류의 비정상 데이터는 물론 비정상 제어데이터의 변경에 대해서도 능동적으로 대응할 수 있어 비정상 데이터의 탐지 정확도를 향상시킬 수 있고, 이로 인해 시스템의 신뢰도를 향상시킬 수 있다는 효과가 있다.
또한, 본 발명에 따르면 정상 제어데이터 보안규칙을 기초로 제어데이터들의 발생순서에 따른 정상 시퀀스 패턴을 자동으로 생성하고, 생성된 정상 시퀀스 패턴을 기초로 제어데이터의 발생순서가 정상적인지 여부를 확인할 수 있기 때문에 조업패턴을 외부로 알리지 않고도 발생순서가 비정상적인 제이데이터들을 정확하게 탐지해 낼 수 있다는 효과가 있다.
또한, 본 발명에 따르면 정상 시퀀스 패턴을 기초로 사이버 공격자에 의한 비정상적 발생순서의 제어데이터만 아니라 조업자의 실수에 의한 비정상적 발생순서의 제어데이터도 탐지할 수 있어 사이버 공격자로부터 제어장치를 안전하게 보호함과 동시에 조업효율도 향상시킬 수 있다는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 스위칭 장치를 이용하는 비정상 제어데이터 탐지시스템이 적용되는 네트워크 구성을 개략적으로 보여주는 도면이다.
도 2a는 본 발명의 일 실시예에 따른 연결관리부가 보안 게이트웨이인 경우, 보안 게이트웨이의 구성을 개략적으로 보여주는 블록도이다.
도 2b 본 발명의 일 실시예에 따른 연결관리부가 스위칭 장치인 경우, 스위칭 장치의 구성을 개략적으로 보여주는 블록도이다.
도 3a는 미러링 설정부가 출력포트와 목적지포트에 대한 설정을 하지 않는 경우 제어데이터의 흐름을 나타내는 일예이다.
도 3b는 미러링 설정부가 출력포트와 목적지포트에 대한 설정을 한 경우 제어데이터의 흐름을 보여주는 일예이다.
도 4는 본 발명의 제1 실시예에 따른 탐지서버의 구성을 보여주는 블록도이다.
도 5는 시퀀스 패턴 생성부의 구성을 개략적으로 보여주는 블록도이다.
도 6a는 기준 시퀀스의 일 예를 보여주는 도면이다.
도 6b는 k*n 매트릭스의 일 예를 보여주는 도면이다.
도 7은 제2 유사도를 산출하는 방법을 개념적으로 보여주는 도면이다.
도 8은 본 발명의 제2 실시예에 따른 탐지서버의 구성을 보여주는 블록도이다.
도 9는 본 발명의 일 실시예에 따른 파싱부의 구성을 보여주는 블록도이다.
도 10은 추출부에 의해 추출된 제어정보의 일 예를 보여주는 도면이다.
도 11은 차원축소부에 의해 2차원 좌표값으로 구성된 군집생성데이터의 일예를 보여주는 도면이다.
도 12는 정상 제어데이터 군집부에 의해 생성된 제1 내지 제3 정상 제어데이터 군집의 일예를 보여주는 도면이다.
도 13은 본 발명의 일 실시예에 따른 정상 제어데이터 군집부에 의해 생성된 정상 제어데이터 군집이 리스트 형태로 군집생성데이터의 인덱스 정보와 매핑되어 저장되는 것을 보여주는 도면이다.
이하, 첨부되는 도면을 참고하여 본 발명의 실시예들에 대해 상세히 설명한다.
본 명세서에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 정의하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다.
"포함하다" 또는 "가지다" 등의 용어는 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
"적어도 하나"의 용어는 하나 이상의 관련 항목으로부터 제시 가능한 모든 조합을 포함하는 것으로 이해되어야 한다. 예를 들어, "제1 항목, 제2 항목 및 제 3항목 중에서 적어도 하나"의 의미는 제1 항목, 제2 항목 또는 제3 항목 각각 뿐만 아니라 제1 항목, 제2 항목 및 제3 항목 중에서 2개 이상으로부터 제시될 수 있는 모든 항목의 조합을 의미한다.
도 1은 본 발명의 일 실시예에 따른 스위칭 장치를 이용하는 비정상 제어데이터 탐지시스템(이하 '탐지 시스템'이라함)이 적용되는 네트워크 구성을 개략적으로 보여주는 도면이다.
제어단말(100)은 제어장치(110)를 제어하고 제어장치(110)에 의해 생성되는 조업 데이터를 수집하는 역할을 수행한다. 일 실시예에 있어서 제어단말(100)은 SCADA(Supervisory Control And Data Acquisition) 또는 HMI(Human Machine Interface)를 포함할 수 있다.
제어장치(110)는 제어단말(100)에서 전달되는 제어데이터를 기초로 조업현장에 배치되어 있는 설비를 제어하고, 설비제어결과 또는 각 설비로부터 획득되는 조업 데이터를 제어단말(100)로 전송하는 역할을 수행한다.
일 실시예에 있어서 제어장치(110)는 PLC(Programmable Logic Controller)를 포함할 수 있다.
탐지 시스템(120)은 제어단말(100)과 제어장치(110)를 연결한다. 탐지 시스템(120)은 제어단말(100)에서 생성된 제어데이터를 제어장치(110)로 전달하고, 제어장치(110)에 의해 생성된 조업 데이터를 제어단말(100)로 전달한다.
특히, 본 발명에 따른 탐지 시스템(120)은 제어단말(100)에서 제어장치(110)로 전달되는 제어데이터들 중 비정상 제어데이터가 존재하는지 여부를 탐지한다.
이를 위해, 본 발명에 따른 탐지 시스템(120)은 도 1에 도시된 바와 같이, 연결 관리부(130) 및 탐지서버(140)를 포함한다.
연결관리부(130)는 제어단말(100)과 제어장치(110)를 인터페이싱함으로써 제어단말(100)에서 생성된 제어데이터를 제어장치(110)로 전달하고, 제어장치(110)에 의해 생성된 조업 데이터를 제어단말(100)로 전달한다.
연결관리부(130)는 보안 게이트웨이 및 스위칭 장치를 포함할 수 있다.
이하, 도 2a를 참조하여 연결관리부(130)가 보안 게이트웨이인 경우에 대해 보다 구체적으로 설명한다.
도 2a는 본 발명의 일 실시예에 따른 연결관리부(130)가 보안 게이트웨이인 경우, 보안 게이트웨이(130)의 구성을 개략적으로 보여주는 블록도이다. 도 2a에 도시된 바와 같이 본 발명의 일 실시예에 따른 보안 게이트웨이(130)는 데이터 차단부(210), 데이터 미러링부(220), 및 바이패스부(230)를 포함한다.
데이터 차단부(210)는 제어단말(100)로부터 제어데이터가 수신되면 수신된 제어데이터의 송수신처 정보가 미리 등록된 송수신처 정보에 해당하는지 여부를 판단한다. 판단결과, 제어데이터의 송수신처 정보가 미리 등록된 송수신처 정보에 해당하지 않는 경우 데이터 차단부(210)는 해당 제어데이터를 비정상적인 경로를 통해 수신된 비정상 제어데이터인 것으로 판단하여 해당 제어데이터가 제어장치로(110)로 전달되는 것을 차단한다.
예컨대, 데이터 차단부(210)는 제어데이터가 수신되면 수신된 제어데이터의 IP 어드레스(Internet Protocol Address)가 미리 등록된 IP 어드레스에 해당하는지 여부를 판단할 수 있다. 판단결과, 수신된 제어데이터의 IP 어드레스가 미리 등록된 IP 어드레스에 해당하지 않는 경우 데이터 차단부(210)는 해당 제어데이터를 비정상적인 경로를 통해 수신된 비정상 제어데이터인 것으로 판단하여 해당 제어데이터가 제어장치(110)로 전달되는 것을 차단한다.
일 실시예에 있어서, 데이터 차단부(210)는 탐지서버(140)에 의해 생성되는 정상경로 리스트를 기초로 제어단말(100)에서 수신되는 제어데이터의 송수신처 정보가 미리 등록된 송수신처 정보에 해당하는지 여부를 판단할 수 있다. 이때, 정상경로 리스트에는 정상 송수신처 정보들이 등록되어 있을 수 있다.
예컨대, 데이터 차단부(210)는 정상경로 리스트를 기초로 제어데이터의 IP 어드레스가 미리 등록된 제어데이터의 IP 어드레스에 해당하는지 여부를 판단한다.
본 발명에 따른 데이터 차단부(210)가 정상경로 리스트를 기초로 비정상적인 경로를 통해 수신된 비정상 제어데이터를 차단함으로써, 제어장치(110)들을 타겟으로 하는 사이버 공격을 미연에 방지할 수 있을 수 있다는 효과가 있다.
데이터 차단부(210)는 제어데이터의 차단이 수행되면 차단결과를 사용자에게 통지할 수 있다.
데이터 미러링부(220)는 제어단말(100)로부터 제어장치(110)로 전달되는 제어데이터를 제어장치(110)로 전달한다. 이때, 데이터 미러링부(220)는 제어데이터를 네트워크 지연없이 복제하여 복제된 제어데이터를 탐지서버(140)로도 전달한다. 이러한 데이터 미러링부(220)의 복제기능을 통해 탐지서버(140)가 제어데이터를 획득함으로써 비정상 제어데이터를 탐지할 수 있게 된다.
바이패스부(230)는 보안 게이트웨이(130)의 오류발생여부에 따라 제어데이터의 전달경로를 조정한다. 구체적으로, 바이패스부(230)는 보안 게이트웨이(130)에 오류가 발생되지 않은 경우 제어데이터가 데이터 미러링부(220)를 통해 제어장치(110)로 전달되도록 한다.
하지만 보안 게이트웨이(130)에 오류가 발생된 경우 바이패스부(230)는 데이터 미러링부(220)를 바이패스하여 제어데이터를 제어장치(110)로 직접 전달한다. 이러한 경우 제어데이터의 복제기능을 수행되지 않게 된다.
이하, 도 2b를 참조하여 연결관리부(130)가 스위칭 장치인 경우에 대해 보다 구체적으로 설명한다. 도 2b 본 발명의 일 실시예에 따른 연결관리부(130)가 스위칭 장치인 경우, 스위칭 장치의 구성을 개략적으로 보여주는 블록도이다.
도 2b를 참조하면, 스위칭 장치(130)는 입력포트(240), 출력포트(250), 목적지 포트(260), 제어부(280), 및 미러링 설정부(270)를 포함한다.
입력포트(240)는 제어데이터가 입력되는 포트이다. 구체적으로 입력포트(240)는 제어데이터를 생성하는 제어단말(100)이 접속되어 제어데이터가 입력되는 포트이다. 일 실시예에 있어서, 입력포트(240)는 적어도 하나 이상일 수 있다.
출력포트(250)는 제어데이터가 출력되는 포트이다. 구체적으로 출력포트(250)는 제어데이터에 의해 제어되는 제어장치(110)가 접속되어 제어장치(110)로 제어데이터가 출력되는 포트이다. 일 실시예에 있어서, 출력포트(250)는 적어도 하나 이상일 수 있다.
목적지포트(260)는 제어장치(110)로 출력될 제어데이터들이 복제되어 출력되는 포트이다. 상술한 실시예에 있어서, 출력포트(250)와 목적지포트(260)가 별개로 존재하는 것으로 설명하였으나, 목적지포트(260)는 출력포트(250) 중 하나일 수 있다.
미러링 설정부(270)는 적어도 하나 이상의 출력포트(250) 중 복제 대상이 되는 출력포트를 소스포트(Source Port)로 설정하고, 복제된 제어데이터의 출력을 위해 목적지 포트를 활성화시킬 수 있다. 이에 따라 출력포트(250)로 출력될 제어데이터가 제어부(280)에 의해 복제되어 목적지 포트로 전달될 수 있다.
예컨대, 도 3a에 도시된 바와 같이 미러링 설정부(270)가 출력포트(250)를 소스포트로 설정하지 않고, 목적지 포트(260)를 활성화시키지 않으면, 제어부(280)에 의해 출력포트(250)로만 제어데이터를 전송할 수 있다. 하지만, 도 3b에 도시된 바와 같이 미러링 설정부(270)가 출력포트(250)를 소스포트로 설정하고, 목적지 포트(260)를 활성화시키면, 제어부(280)에 의해 출력포트(250)로 전송될 제어데이터가 복제되어 출력포트(250)로 제어데이터가 전송되고, 목적지포트(260)로 제어데이터가 전송될 수 있다.
제어부(280)는 적어도 하나 이상의 출력포트(250) 중 미러링 설정부(270)에 의해 소스포트로 설정된 출력포트(250)에 전달될 제어데이터를 복제할 수 있다. 일 실시예에 있어서, 제어부(280)는 제어데이터 별로 제어데이터가 전송될 MAC 어드레스를 확인하여 해당 MAC 어드레스가 소스포트로 설정된 출력포트(250)에 접속된 제어장치의 MAC 어드레스인 경우, 해당 제어데이터를 복제할 수 있다.
예컨대, 제1 제어데이터가 전송될 MAC 어드레스가 제1 MAC 어드레스이고, 소스포트로 설정된 출력포트(250)에 접속된 제1 제어장치의 MAC 어드레스가 제1 MAC 어드레스인 경우, 제어부(280)는 제1 제어데이터를 복제할 수 있다.
제어부(280)는 복제된 제어데이터를 미러링 설정부(270)에 의해 활성화된 목적지 포트(260)로 전송한다. 이에 따라 복제된 제어데이터는 목적지 포트(260)에 의해 탐지서버(140)로 출력될 수 있다.
제어부(280)는 제어데이터 별로 제어데이터가 전송될 MAC 어드레스를 확인하여 해당 MAC 어드레스를 갖는 제어장치(110)가 접속된 출력포트(250)로 각 제어데이터를 전송할 수 있다. 이에 따라 출력포트(250)로 전송된 제어데이터는 제어장치(110)로 출력될 수 있다.
예컨대, 제1 출력포트에 접속된 제1 제어장치의 MAC 어드레스가 제1 MAC 어드레스이고, 제2 출력포트에 접속된 제2 제어장치의 MAC 어드레스가 제2 MAC 어드레스이며, 제1 제어데이터가 전송될 MAC 어드레스가 제1 MAC 어드레스이고, 제2 제어데이터가 전송될 MAC 어드레스가 제2 MAC 어드레스인 경우, 제어부(280)는 제1 제어데이터를 제1 출력포트로 전송하고, 제2 제어데이터를 제2 출력포트로 전송할 수 있다.
다시 도 1을 참조하면, 탐지서버(140)는 판단대상이 되는 타겟 제어데이터가 수신되면, 제어데이터들 중 미리 정해진 기간 동안 수집된 제어데이터를 기초로 타겟 제어데이터가 비정상 제어데이터인지 여부를 판단한다.
제1 실시예
본 발명의 제1 실시예에 따른 탐지서버(140)는 탐지서버(140)는 제어데이터들 중 미리 정해진 기간 동안 수집된 제어데이터를 기초로 정상 제어데이터 보안규칙을 생성하고, 판단대상이 되는 타겟 제어데이터가 수신되면 타겟 제어데이터를 정상 제어데이터 보안규칙과 비교함으로써 타겟 제어데이터가 비정상 제어데이터인지 여부를 판단한다.
이하 본 발명의 제1 실시예에 따른 탐지서버(140)의 구성을 도 3을 참조하여 보다 구체적으로 설명한다.
도 4은 본 발명의 제1 실시예에 따른 탐지서버의 구성을 보여주는 블록도이다. 도 4에 도시된 바와 같이, 본 발명의 제1 실시예에 따른 탐지서버(140)는 데이터 수집부(310), 파싱부(320), 규칙 생성부(330), 제1 판단부(340), 및 데이터베이스(350)를 포함한다. 또한, 본 발명의 제1 실시예에 따른 탐지서버(140)는 도 4에 도시된 바와 같이 정상경로 리스트 생성부(360), 시퀀스 패턴 생성부(370), 및 제2 판단부(380)를 더 포함할 수 있다.
데이터 수집부(310)는 정상 제어데이터 보안규칙의 생성을 위해 데이터 미러링부(220)를 통해 수신된 제어데이터들 중 미리 정해진 기간 동안 수신된 제어데이터들을 수집한다.
파싱부(320)는 데이터 수집부(310)에 의해 수집된 제어데이터들을 파싱함으로써 제어데이터들로부터 커맨드 정보를 획득한다. 이때, 커맨드 정보는 커맨드(Command) 및 해당 커맨드의 밸류(Value)를 포함할 수 있다.
한편, 파싱부(320)는 데이터 수집부(310)에 의해 수집된 제어데이터들을 파싱함으로써 해당 제어데이터를 송신한 IP 어드레스를 추가로 획득할 수 있다.
규칙 생성부(330)는 파싱부(320)에 의해 획득된 커맨드 및 해당 커맨드의 밸류를 머신러닝(Machine Learning) 기법으로 학습하여 정상 제어데이터 보안규칙을 생성한다
일 실시예에 있어서, 규칙 생성부(330)는 하나의 커맨드 및 해당 커맨드의 밸류가 매핑되어 있는 하나의 학습데이터를 하나의 정상 제어데이터 보안규칙으로 설정할 수 있다.
다른 실시예에 있어서, 규칙 생성부(330)는 동일한 종류의 커맨드에 대한 복수개의 밸류들을 기초로 해당 커맨드에 대한 대표밸류를 산출하고, 산출된 대표밸류와 해당 커맨드가 매핑된 하나의 학습 데이터를 하나의 정상 제어데이터 보안규칙으로 설정할 수 있다. 이때, 대표밸류는 평균값, 중간값, 최대값, 또는 최소값 등으로 결정될 수 있다.
또 다른 실시예에 있어서, 규칙 생성부(330)는 동일한 종류의 커맨드에 대한 복수개의 밸류들 간의 함수식을 도출하고, 도출된 함수식이 해당 커맨드와 매핑되어 있는 하나의 학습데이터를 하나의 정상 제어데이터 보안규칙으로 설정할 수도 있다.
제1 판단부(340)는 판단대상이 되는 타겟 제어데이터와 정상 제어데이터 보안규칙을 비교하여 타겟 제어데이터가 비정상 제어데이터인지 여부를 판단한다.
구체적으로, 제1 판단부(340)는 정상 제어데이터 규칙들 중 타겟 제어데이터의 커맨드 및 밸류를 기초로 해당 타겟 제어데이터가 매핑될 수 있는 정상 제어데이터 규칙이 존재하면 제1 판단부(340)는 해당 타겟 제어데이터를 정상 제어데이터인 것으로 판단한다.
하지만, 타겟 제어데이터가 매핑될 수 있는 정상 제어데이터가 규칙이 존재하지 않으면 제1 판단부(340)는 해당 타겟 제어데이터를 비정상 제어데이터인 것으로 판단한다.
데이터베이스(350)에는 규칙 생성부(330)에 의해 생성된 정상 제어데이터 규칙이 저장된다. 정상 제어데이터 규칙은 리스트 형태로 데이터베이스(350)에 저장될 수 있다.
또한, 데이터베이스(350)에는 각각의 제어데이터 별로 제어데이터로부터 획득된 커맨드 정보, 해당 제어데이터를 송신한 IP 어드레스, 및 해당 제어데이터의 발생시점이 매핑되어 저장될 수도 있다.
정상경로 리스트 생성부(360)는 파싱부(320)에 의해 제어데이터들의 IP 어드레스를 이용하여 정상 IP 어드레스들로 구성된 정상경로 리스트를 생성한다.
또한, 데이터베이스(350)에는 각각의 제어데이터 별로 제어데이터로부터 획득된 커맨드, 해당 커맨드의 밸류, 해당 제어데이터의 IP 어드레스, 및 해당 제어데이터의 발생시점이 매핑되어 저장될 수도 있다.
정상경로 리스트 생성부(360)는 파싱부(320)에 의해 제어데이터들의 헤더로부터 획득된 IP 어드레스들을 이용하여 정상 IP 어드레스들로 구성된 정상경로 리스트를 생성한다. 이때, 정상경로 리스트 생성부(360)는 제어단말(100) 및 제어장치(110)의 초기 가동기간 동안 수집된 제어데이터들의 헤더로부터 획득된 IP 어드레스들을 정상 IP 어드레스로 결정할 수 있다.
시퀀스 패턴 생성부(370)는 데이터베이스(350)에 저장되어 있는 정상 제어데이터 보안규칙을 기초로 제어데이터들의 발생순서에 따른 정상 시퀀스 패턴을 생성한다. 이때, 정상 시퀀스 패턴이란 제어데이터들의 정상적인 발생순서를 나타내는 패턴을 의미한다.
이하 본 발명에 따른 시퀀스 패턴 생성부(370)의 구성을 도 5를 참조하여 보다 구체적으로 설명한다.
도 5는 본 발명의 일 실시예에 따른 시퀀스 패턴 생성부의 구성을 개략적으로 보여주는 블록도이다. 도 5에 도시된 바와 같이, 본 발명의 일 실시예에 따른 시퀀스 패턴 생성부(370)는 인덱싱부(410), 식별정보 할당부(420), 데이터 정렬부(430), 유사도 산출부(440), 및 시퀀스 패턴 결정부(450)를 포함한다.
인덱싱부(410)는 데이터베이스(350)에 저장된 정상 제어데이터 보안규칙을 인덱싱하여 각 정상 제어데이터 보안규칙 별로 인덱스 정보를 할당한다.
식별정보 할당부(420)는 제어데이터들 각각에 식별정보를 할당한다. 일 실시예에 있어서, 식별정보 할당부(420)는 정상 제어데이터 보안규칙에 할당된 인덱스 정보를 이용하여 제어데이터들의 식별정보를 할당할 수 있다. 구체적으로 식별정보 할당부(420)는 각각의 제어데이터가 매핑되는 정상 제어데이터 보안규칙의 인덱스 정보를 해당 제어데이터의 식별정보로 할당할 수 있다. 이때, 각각의 제어데이터는 해당 제어데이터를 이용하여 생성된 정상 제어데이터 보안규칙과 매핑될 수 있다.
데이터 정렬부(430)는 제어데이터들의 발생순서에 따라 제어데이터들의 식별정보를 k*n 매트릭스로 정렬한다. 일 실시예에 있어서, 데이터 정렬부(430)는 제어데이터들의 식별정보들을 k*n 매트릭스로 정렬함에 있어서, 동일 열 내에서는 발생순서가 빠른 제어데이터의 식별정보를 상측에 배치하고 발생순서가 느린 제어데이터의 식별정보를 하측에 배치한다. 또한, 데이터 정렬부(430)는 동일 행 내에서는 발생순서가 빠른 제어데이터의 식별정보를 좌측에 배치하고 발생순서가 느린 제어데이터의 식별정보를 우측에 배치한다.
데이터 정렬부(430)에 의해 제어데이터들의 식별정보를 k*n 매트릭스로 정렬한 예가 도 6에 도시되어 있다. 도 6b에서는 도 6a 에 도시된 제어데이터들의 식별정보들을 6*4 매트릭스로 정렬한 예를 도시한 것이다. 도 6a 및 도 6b에서 L1~L6은 제어데이터들에 할당된 식별정보를 나타낸다.
K*n 매트릭스의 생성을 위해, 데이터 정렬부(430)는 제어데이터들의 식별정보를 제어데이터들의 발생순서에 따라 순차적으로 나열한 기준 시퀀스를 생성한다. 기준 시퀀스의 일 예가 도 6a에 도시되어 있다. 이후, 데이터 정렬부(430)는 기준 시퀀스 상에서 제일 좌측에 배치된 식별정보를 기준으로 k개의 식별정보를 추출하여 매트릭스의 제1 열을 구성한다. 예컨대, 도 5의 예를 기준으로 k 값이 6인 경우 도 5a에 도시된 기준 시퀀스에서 제일 좌측에 배치된 식별정보(L1)를 기준으로 6개의 식별정보들을 추출하여 매트릭스의 제1 열을 구성하게 된다.
이후, 데이터 정렬부(430)는 기준 시퀀스 상에 남아 있는 식별정보들 중 제일 좌측에 배치된 식별정보를 기준으로 k개의 식별정보를 추출하여 매트릭스의 제2 열을 구성한다. 예컨대, 도 6의 예를 기준으로. 도 6a에 도시된 기준 시퀀스 상에 남아 있는 식별정보들 중 제일 좌측에 배치된 식별정보(L1)을 기준으로 다시 6개의 식별정보들을 추출하여 매트릭스의 제2 열을 구성하게 된다.
위의 과정을 n번 반복함으로써 데이터 정렬부(430)는 k*n 매트릭스를 생성하게 된다. 예컨대, 도 6의 예를 기준으로. 위의 과정을 추가로 2번 더 수행하게 되면 도 6b에 도시된 6*4 매트릭스가 생성된다.
유사도 산출부(440)는 k값을 증가시키면서 k값 별로 매트릭스의 기준열에 배치된 식별정보와 타열에 배치된 식별정보를 비교하여 제1 유사도를 산출한다. 일 실시예에 있어서, 각 매트릭스에서 기준열은 첫 번째 열로 결정될 수 있다.
구체적으로, 유사도 산출부(440)는 k 값 별로 생성된 매트릭스에서 각 행 단위로 첫 번째 열에 배치된 식별정보와 타열에 배치된 식별정보가 동일하면 제1 값을 부여하고, 첫 번째 열에 배치된 식별정보와 타열에 배치된 식별정보가 상이하면 제2 값을 부여한다. 이후, 유사도 산출부(440)는 모든 행에 대해 부여된 제1 값 및 제2 값을 합산하고 합산결과를 열의 개수인 n으로 제산함으로써 제1 유사도를 산출할 수 있다.
시퀀스 패턴 결정부(450)는 k값들 중 제1 유사도의 편미분 값이 최소가 되게 하는 타겟k값을 결정한다. 시퀀스 패턴 결정부(450)는 타겟 k값이 결정되면 결정된 타겟 k값에 해당하는 매트릭스에서 어느 하나의 열에 배치된 식별정보들을 기초로 정상 시퀀스 패턴을 생성한다.
이때, 매트릭스의 동일 열 내에서는 발생순서가 빠른 제어데이터의 식별정보가 상측에 배치되고 발생순서가 느린 제어데이터의 식별정보가 하측에 배치되므로, 정상 시퀀스 패턴은 타겟 k값에 해당하는 매트릭스의 열에 배치된 식별정보들을 상측에 하측 순서로 배치함으로써 결정된다. 예컨대, 도 5b의 예에서는 L1-L6-L4-L2-L5-L3가 정상 시퀀스 패턴으로 결정된다.
한편, 타겟k값이 복수개인 경우, 시퀀스 패턴 결정부(450)는 각 타겟 k값 별로 결정된 시퀀스 패턴(이하, '후보 시퀀스 패턴'이라 함)을 기준 시퀀스와 비교하여 제2 유사도를 산출하고, 복수개의 후보 시퀀스 패턴들 중 제2 유사도가 가장 큰 후보 시퀀스 패턴을 시퀀스 패턴으로 결정할 수 있다.
일 실시예에 있어서, 시퀀스 패턴 결정부(450)는 제2 유사도를 산출하기 위해 각 후보 시퀀스 패턴을 기준 시퀀스 상에서 쉬프트 시키면서 동일 위치에 배치되는 식별정보들을 비교함으로써 제2 유사도를 산출할 수 있다.
예컨대, 시퀀스 패턴 결정부(450)는 도 7a에 도시된 바와 같이 기준 시퀀스(RS) 상에 후보 시퀀스 패턴(CP)을 위치시킨 후 동일한 위치에 배치된 식별번호들의 동일여부를 판단한다. 이때, 시퀀스 패턴 결정부(450)는 동일성 판단결과, 동일한 위치에 배치된 2개의 식별정보가 동일하면 제1 값을 부여하고 동일하지 않으면 제2 값을 부여하여 제1 값 및 제2 값들을 모두 합산함으로써 결과값을 산출할 수 있다. 일 예로 제1 값은 1로 설정되고 제2 값은 0으로 설정될 수 있다.
이후, 도 7b 및 도 7c에 도시된 바와 같이 시퀀스 패턴 결정부(450)는 기준 시퀀스(RS) 상의 마지막 식별정보(L5)와 후보 시퀀스 패턴(CP)의 마지막 식별정보(L2)가 동일 위치에 배치될 때까지 기준 시퀀스(RS) 상에서 후보 시퀀스 패턴(CP)을 하나의 식별정보 단위로 쉬프트시키면서 제1 값 및 제2 값들을 모두 합산한 결과값을 산출한다. 시퀀스 패턴 결정부(450)는 산출된 결과값들의 평균값을 제2 유사도로 산출할 수 있다.
다시 도 3을 참조하면, 제2 판단부(380)는 제어장치로 전달된 타겟 제어데이터들의 발생순서를 정상 시퀀스 패턴과 비교하여 타겟 제어데이터들의 발생순서가 정상 시퀀스 패턴과 상이하면 판단결과를 사용자에게 전달한다. 예컨대, 정상 시퀀스 패턴이 L7-L19-L22-L8로 결정되어 있고 타겟 제어데이터들의 발생순서가 L7-L22-L19-L22-L8인 경우 타겟 제어데이터들의 발생순서가 정상 시퀀스 패턴과 상이하기 때문에 제2 판단부(390)는 타겟 제어데이터들의 발생순서가 비정상적인 것으로 판단하여 사용자에게 판단결과를 통지한다.
제2 실시예
본 발명의 제2 실시예에 따른 탐지서버(140)는 제어데이터들 중 미리 정해진 기간 동안 수집된 제어데이터를 기초로 정상 제어데이터 군집을 생성하고, 판단대상이 되는 타겟 제어데이터가 수신되면 타겟 제어데이터를 정상 제어데이터 군집을 이용하여 타겟 제어데이터가 비정상 제어데이터인지 여부를 판단한다.
이하, 본 발명에 따른 제2 실시예에 따른 탐지서버(140)의 구성을 도 8을 참조하여 보다 구체적으로 설명한다.
도 8은 본 발명의 제2 실시예에 따른 탐지서버의 구성을 보여주는 블록도이다.
도 8에 도시된 바와 같이 탐지서버(140)는 데이터 수집부(310), 파싱부(320), 정상 제어데이터 군집부(330), 판단부(340), 및 데이터베이스(350)를 포함한다. 또한 본 발명의 제2 실시예에 따른 탐지서버(140)는 도 8에 도시된 바와 같이 정상경로 리스트 생성부(360)를 더 포함할 수 있다.
데이터 수집부(310)는 정상 제어데이터 군집을 생성하기 위해 데이터 미러링부(220)를 통해 수신된 제어데이터들 중 미리 정해진 기간 동안 수신된 제어데이터들을 수집한다. 이때, 제어데이터들은 미리 정해진 기간 동안 제어 시스템 튜닝을 통해 획득된 것으로써, 정상 제어데이터로 간주할 수 있다.
파싱부(320)는 데이터 수집부(310)에 의해 수집된 제어데이터들을 파싱함으로써 제어데이터들로부터 제어장치의 상태를 나타내는 제어장치 정보, 제어데이터의 송수신처를 나타내는 송수신처 정보, 및 제어장치가 수행할 커맨드를 나타내는 커맨드 정보 중 적어도 하나의 제어정보를 추출하고, 추출된 제어정보를 이용하여 군집데이터를 생성한다.
일 실시예에 있어서, 파싱부(320)는 제어데이터로부터 추출되는 제어장치 정보, 송수신 정보, 및 커맨드 정보 중 적어도 하나의 제어정보에 대해 형식을 일치시키고 미리 정해진 범위내로 스케일링하여 적어도 하나의 제어정보를 추출할 수 있다. 파싱부(320)는 추출된 적어도 하나의 제어정보로부터 군집생성 데이터를 생성할 수 있다.
한편, 변형된 실시예에 있어서 데이터 수집부(310)가 생략될 수도 있다. 이러한 경우, 파싱부(320)가 데이터 미러링부(220)에 의해 복제되어 데이터베이스(350)에 저장된 제어데이터들을 직접 추출하여 파싱할 수도 있을 것이다.
이하, 파싱부(320)에 대해 도 9 를 참조하여 보다 구체적으로 설명한다.
도 5는 본 발명의 일 실시예에 따른 파싱부(320)의 구성을 보여주는 블록도이다.
도 5에 도시된 바와 같이 파싱부(320)는 추출부(510), 인덱싱 할당부(520), 피쳐링부(530), 스케일링부(540), 및 차원축소부(550)를 포함할 수 있다.
추출부(510)는 제어데이터로부터 군집생성데이터를 생성하기 위한 제어장치 정보, 송수신처 정보, 및 커맨드 정보 중 적어도 하나의 제어정보를 추출한다. 이때, 제어정보는 서로 다른 프로토콜로 제어장치로 송신되는 제어데이터들이 공통적으로 포함하는 정보를 의미할 수 있다.
본 발명에 따른 추출부(510)가 서로 다른 프로토콜로 제어장치로 송신되는 제어데이터들이 공통적으로 포함하는 제어정보를 추출하는 이유는, 제어장치(110)의 종류와 제어장치(110)의 운용환경에 따라 제어장치(110)가 지원하는 프로토콜이 상이할 수 있기 때문에, 제어데이터들이 서로 다른 프로토콜로 제어장치로 송신되더라도 프로토콜과 상관없이 군집생성데이터를 생성할 수 있게 하기 위함이다.
이에 따라 본 발명은 서로 다른 프로토콜로 제어장치로 송신되는 제어데이터들이 공통적으로 포함하는 제어정보를 추출함으로써, 송신되는 제어데이터들의 프로토콜과 상관없이 군집생성데이터를 생성할 수 있다는 효과가 있다.
일 실시예에 있어서 제어장치 정보는 제어장치 모델정보, 제어장치, 프로토콜 정보, 제어장치 동작상태정보, 및 제어장치 프로토콜 타입 정보 중 적어도 하나를 포함할 수 있다.
또한, 송수신처 정보는 제어데이터를 송신한 IP 어드레스(Internet Protocl Address), 제어데이터를 송신한 MAC 어드레스(Media Access Control Address), 제어데이터를 송신한 포트(Port), 제어데이터를 수신할 IP 어드레스, 제어데이터를 수신할 MAC 어드레스, 및 제어데이터를 수신할 포트, 제어데이터가 송수신되는 네트워크 정보 중 적어도 하나를 포함할 수 있다.
또한, 커맨드 정보는 상기 커맨드가 저장된 메모리 정보를 나타내는 어드레스, 해당 커맨드의 밸류, 및 상기 커맨드 발생시점 중 적어도 하나를 포함할 수 있다.
예컨대, 추출부(510)에 의해 추출되는 제어장치 정보, 송수신처 정보, 및 커맨드 정보는 도 10에 도시된 바와 같이 구성될 수 있다.
제어장치 정보는 SysInfo(System Information), Fun(Function), PType(ProtoType), 및 Name을 포함한다.
이때, SysInfo(System Information)는 제어장치 프로토콜 정보를 의미하고, Fun(Function) 제어장치의 동작상태 정보를 의미하며, PType(ProtoType)은 제어장치 프로토콜 타입 정보를 의미하고, Name은 제어장치 모델정보를 의미한다.
송수신처 정보는 SMac(Source Mac Address), Sport(Source Port), SIP(Source Internet Protocol)를 포함하고, DMac(Destination Mac Address), DIP(Destination Internet Protocol), DPort(Destination Port)를 포함하며, 네트워크 정보인 VID(Vlan ID)를 더 포함할 수 있다.
이때, SMac(Source Mac Address)은 제어데이터를 송신한 MAC 어드레스를 의미하고, Sport(Source Port)는 제어데이터를 송신한 포트를 의미하며, SIP(Source Internet Protocol)는 제어데이터를 송신한 IP 어드레스를 의미하고, DMac(Destination Mac Address)는 제어데이터를 수신할 IP 어드레스를 의미하며, DIP(Destination Internet Protocol)는 제어데이터를 수신할 IP 어드레스를 의미하고, DPort(Destination Port)는 제어데이터를 수신할 포트를 의미하며, VID(Vlan ID)는 네트워크 정보로써, 가상 네트워크 망 분리 시 가상 네트워크간의 구별을 위해 이용되는 식별정보를 의미할 수 있다.
커맨드 정보는 VALUE, Addr(Address) 및 Date를 포함할 수 있다.
이때, VALUE는 커맨드의 밸류를 의미하고, Addr(Address)은 커맨드가 저장된 메모리 정보를 나타내는 어드레스를 의미하며, Date는 커맨드 발생시점을 의미할 수 있다.
인덱스 할당부(520)는 추출부(510)에 의해 제어데이터로부터 추출되는 제어정보에 인덱스(Index) 정보를 할당한다. 구체적으로 인덱스 할당부(520)는 제어데이터들을 식별하기 위해 각 제어정보 별로 해당 제어정보가 추출되는 제어데이터를 나타내는 인덱스 정보를 할당한다.
피쳐링부(530)는 제어정보의 단위를 일치시킬 수 있다. 일 실시예에 있어서, 피쳐링부(530)는 제어정보의 형식을 일치시킬 수 있다. 예컨대, 피쳐링부(530)는 제어정보에 포함된 문자를 바이너리 형태로 일치시킬 수 있다.
스케일링부(540)는 피쳐링부(530)에 의해 하나의 단위로 일치된 제어정보를 미리 정해진 범위내로 스케일링 할 수 있다. 예컨대, 제어정보의 형식이 피쳐링부(530)에 의해 일치된 경우, 스케일링부(540)는 미리 정해진 범위내로 제어정보의 값들을 스케일링 할 수 있다.
차원축소부(550)는 스케일링부(540)에 의해 스케일링된 제어정보의 차원을 축소시켜 군집생성데이터를 생성할 수 있다. 구체적으로 차원축소부(550)는 제어정보의 차원을 고차원에서 저차원으로 축소시켜 군집생성데이터를 생성할 수 있다.
본 발명에 따른 차원축소부(550)가 제어정보의 차원을 고차원에서 저차원으로 축소시킴으로써 제어정보에 포함된 노이즈를 제거할 수 있어 정상 제어데이터 군집의 신뢰도가 향상될 수 있을 뿐만 아니라, 차원감소로 인해 정상 제어데이터 군집을 생성하는 속도가 향상될 수 있다는 효과가 있다.
일 실시예에 있어서, 차원축소부(550)는 제어정보의 차원을 2차원으로 축소하여 2차원 좌표값으로 구성된 군집생성데이터를 생성할 수 있다. 이에 따라 군집생성데이터는 X 좌표값 및 Y좌표값을 가질 수 있다. 이러한 실시예를 따르는 경우, 차원축소부(550)에 의해 2차원으로 축소된 군집생성데이터는 2차원 좌표평면 상에 배열될 수 있다.
예컨대, 차원축소부(550)는 도 10에 도시된 제어정보를 도 11에 도시된 바와 같이 X좌표값 및 Y좌표값으로 변환하여 2차원 좌표값을 가지는 군집생성데이터를 생성할 수 있다.
일 실시예에 있어서, 차원축소부(550)는 제어정보의 차원을 PCA(Principal Comonent Analysis) 알고리즘을 이용하여 2차원으로 축소할 수 있다. 이는 하나의 실시예일 뿐 다른 알고리즘을 이용하여 제어정보의 차원을 축소시킬 수도 있을 것이다.
다시 도 8을 참조하면, 정상 제어데이터 군집부(330)는 파싱부(320)에 의해 생성된 군집생성데이터들을 군집화하여 정상 제어데이터 군집을 생성한다. 구체적으로, 정상 제어데이터 군집부(330)는 군집생성데이터들 중 적어도 하나를 핵심데이터로 선정하고 핵심데이터로부터 미리 정해진 기준거리 이내에 위치한 타 군집생성데이터들을 하나의 군집으로 군집화하여 정상 제어데이터 군집을 생성한다.
일 실시예에 있어서, 정상 제어데이터 군집부(330)는 2차원 좌표평면상에 2차원 좌표값을 가지는 군집생성데이터를 배열하여 정상 제어데이터 군집을 생성할 수 있다.
정상 제어데이터 군집부(330)는 군집생성 데이터들로부터 기준거리 이내에 위치한 데이터를 각각 군집하고, 상기 군집한 데이터의 수가 미리 정해진 기준개수 이상인 데이터를 핵심데이터로 선정할 수 있다. 구체적으로, 정상 제어데이터 군집부(330)는 각 군집생성데이터 별로 해당 군집생성데이터로부터 기준거리 이내에 위치한 타 군집생성데이터의 개수가 미리 정해진 기준개수 이상인 군집생성데이터를 핵심데이터로 선정할 수 있다.
일례로, 기준거리가 2cm이고, 기준개수가 3이며, 2차원 좌표평면상에서 제1-1 군집생성데이터로부터 2cm 내에 제1-2 군집생성데이터, 제1-3 군집생성데이터, 및 제1-4 군집생성데이터가 위치하는 경우, 정상 제어데이터 군집부(330)는 제1-1 군집생성데이터를 제1 핵심데이터로 선정할 수 있다.
또한, 제2-1 군집생성데이터를 중심으로 2cm 내에 제2-2 군집생성데이터, 제2-3 군집생성데이터, 및 제2-4 군집생성데이터가 위치하고, 제2-5 군집생성데이터를 중심으로 2cm 내에 제2-1 군집생성데이터, 제2-2 군집생성데이터, 및 제2-6 군집생성데이터가 위치하는 경우, 정상 제어데이터 군집부(330)는 제2-1 군집생성데이터를 제2 핵심데이터로 선정하고, 제2-5 군집생성데이터를 제3 핵심데이터로 선정할 수 있다.
일 실시예에 있어서, 정상 제어데이터 군집부(330)는 핵심데이터으로부터 미리 정해진 기준거리 내에 위치하는 군집생성데이터들을 하나의 군집으로 군집화하여 정상 제어데이터 군집을 생성할 수 있다.
일례로, 정상 제어데이터 군집부(330)는 2차원 좌표평면 상에 군집생성데이터들을 배열하여 핵심데이터를 선정하고, 핵심데이터로부터 기준거리 내에 위치하는 군집생성데이터들을 하나의 군집으로 군집화하여 정상 제어데이터 군집을 생성할 수 있다.
예컨대, 기준거리가 2cm이고 제1 군집생성데이터가 제1 핵심데이터로 선정된 경우, 정상 제어데이터 군집부(330)는 2차원 좌표평면 상에서 제1 군집생성데이터를 중심으로 2cm 내에 제2 군집생성데이터, 제3 군집생성데이터, 및 제4 군집생성데이터가 위치하면, 제1 군집생성데이터, 제2 군집데이터, 제3 군집생성데이터, 및 제4 군집생성데이터를 하나의 군집으로 군집화하여 정상 제어데이터 군집으로 생성할 수 있다.
이러한 예를 따르는 경우, 정상 제어데이터 군집부(330)는 도 12에 도시된 바와 같이 제1 내지 제3 정상 제어데이터 군집을 생성할 수 있다. 도 12에는 정상 제어데이터 군집이 3개가 있는 것으로 도시되었으나, 이는 하나의 예로써, 정상 제어데이터 군집은 2개 이하일 수 있고, 4개 이상일 수 있다.
일 실시예에 있어서, 정상 제어데이터 군집부(330)는 제1 핵심데이터에 의해 생성된 제1 정상제어데이터 군집과 제2 핵심데이터에 의해 생성된 제2 정상 제어데이터 군집에 모두 포함되는 군집생성데이터가 존재하면, 제1 정상 제어데이터 군집과 제2 정상 제어데이터 군집을 하나의 군집으로 군집화할 수 있다.
일례로, 제1 핵심데이터로 제1-1 군집생성데이터가 선정되어 제1-1 군집생성데이터, 제1-2 군집생성데이터, 제1-3 군집생성데이터, 및 제1-4 군집생성데이터를 포함하는 제1 정상 제어데이터 군집이 생성되고, 제2 핵심데이터로 제2-1 군집생성데이터가 선정되어 제2-1 군집생성데이터, 제2-2 군집생성데이터, 제2-3 군집생성데이터, 제1-4 군집생성데이터로 제2 정상 제어데이터 군집이 생성된 경우, 제1-4 군집생성데이터는 제1 핵심데이터로부터 기준거리 내에 위치하고, 제2 핵심데이터로부터 기준거리 내에 위치하는 것이므로, 제1 정상 제어데이터 군집 및 제2 정상 제어데이터 군집에 모두 포함되게 된다.
이에 따라 정상 제어데이터 군집부(330)는 제1 정상 제어데이터 군집 및 제2 정상 제어데이터 군집을 하나의 군집으로 군집화할 수 있다.
이러한 예를 따르는 경우, 하나의 군집으로 군집화된 정상 제어데이터 군집은 제1-1 군집 생성데이터, 제1-2 군집 생성데이터, 제1-3 군집 생성데이터, 제1-4 군집 생성데이터, 제2-1 군집 생성데이터, 제2-2 군집 생성데이터, 및 제2-3 군집 생성데이터를 포함한다.
이와 같이 정상 제어데이터 군집부(330)는 복수개의 핵심데이터로부터 기준거리내에 위치하는 군집생성데이터가 존재하는 경우, 복수개의 핵심데이터에 의해 생성된 정상 제어데이터 군집들을 하나의 군집으로 생성할 수 있다.
정상 제어데이터 군집부(330)는 정상 제어데이터 군집 별로 정상 제어데이터 군집 내에 군집생성데이터의 밀집도에 따라 기준거리를 가변할 수 있다. 구체적으로, 정상 제어데이터 군집부(330)는 2차원 좌표평면 상에서 정상 제어데이터 군집들 중 군집생성데이터의 밀집도가 높은 정상 제어데이터 군집의 경우 해당 정상 제어데이터 군집의 기준거리를 길게 설정할 수 있다.
또한, 정상 제어데이터 군집부(330)는 정상 제어데이터 군집들 중 군집생성데이터의 밀집도가 낮은 정상 제어데이터 군집의 경우 해당 정상 제어데이터 군집의 기준거리를 짧게 설정할 수 있다.
예컨대, 기준거리가 2cm로 정상 제어데이터 군집부(330)에 의해 제1 내지 제3 정상 제어데이터 군집이 생성되고, 제1 정상 제어데이터 군집은 군집생성데이터의 밀집도가 높고, 제2 정상 제어데이터 군집은 군집생성데이터의 밀집도가 낮은 경우, 정상 제어데이터 군집부(330)는 제1 정상 제어데이터 군집의 기준거리를 3cm로 설정하고, 제2 정상 제어데이터 군집의 기준거리를 1cm로 설정하고, 제3 정상 제어데이터 군집은 기준거리를 2cm로 설정할 수 있다.
일실시예에 있어서, 정상 제어데이터 군집부(330)는 정상 제어데이터 군집 별로 해당 정상 제어데이터 군집에 포함된 군집생성데이터의 수에 따라 기준거리를 가변시킬 수 있다.
일례로, 정상 제어데이터 군집부(330)는 정상 제어데이터 군집에 포함된 군집생성데이터 개수가 미리 정해진 상한치를 초과하면 정상 제어데이터 군집의 기준거리를 기준거리보다 긴 제1 기준거리로 증가시키고, 정상 제어데이터 군집에 포함된 군집생성데이터의 개수가 미리 정해진 하한치 미만이면 정상 제어데이터 군집의 기준거리를 기준거리보다 짧은 제2 기준거리로 감소시킬 수 있다.
예컨대, 제1 정상 제어데이터 군집에 포함된 군집생성데이터의 개수가 11개이고, 상한치가 8개이면, 군집생성데이터의 개수가 상한치를 초과하므로, 제1 정상 제어데이터 군집의 기준거리를 제1 기준거리로 증가시킬 수 있다.
또한, 제2 정상 제어데이터 군집에 포함된 군집생성데이터의 개수가 3개이고, 하한치가 4개이면, 군집생성데이터의 개수가 하한치 미만이므로, 제2 정상 제어데이터 군집의 기준거리를 기준거리보다 짧은 제2 기준거리로 감소시킬 수 있다.
다른 실시예에 있어서, 정상 제어데이터 군집부(330)는 정상 제어데이터 군집 별로 해당 정상 제어데이터 군집이 형성하는 면적 대비 해당 정상 제어데이터 군집에 포함된 군집생성데이터의 개수의 비율에 따라 기준거리를 가변시킬 수 있다.
이때, 정상 제어데이터 군집이 형성하는 면적은 2차원 좌표평면 상에서 해당 정상 제어데이터 군집에 포함된 핵심데이터로부터 기준거리만큼 이격된 지점을 연결한 형태의 면적을 의미할 수 있다.
일례로, 정상 제어데이터 군집부(330)는 정상 제어데이터 군집이 형성하는 면적 대비 해당 정상 제어데이터 군집에 포함된 군집생성데이터의 개수의 비율이 미리 정해진 상한율을 초과하면 해당 정상 제어데이터 군집의 기준거리를 기준거리보다 긴 제1 기준거리로 증가시킬 수 있다.
또한 정상 제어데이터 군집부(330)는 정상 제어데이터 군집이 형성하는 면적 대비 해당 정상 제어데이터 군집에 포함된 군집생성데이터의 개수의 비율이 미리 정해진 하한율 미만이면, 해당 정상 제어데이터 군집의 기준거리를 기준거리보다 짧은 제2 기준거리로 감소시킬 수 있다.
예컨대, 제1 정상 제어데이터 군집이 형성하는 면적이 2 이고, 제1 정상 제어데이터 군집이 4개의 군집생성데이터를 포함하며, 미리 정해진 상한율이 1이면, 정상 제어데이터 군집이 형성하는 면적 대비 군집생성데이터 개수의 비율이 2이므로, 제1 정상 제어데이터 군집의 기준거리를 기준거리보다 긴 제1 기준거리로 증가시킬 수 있다.
본 발명에 따른 정상 제어데이터 군집부(330)가 2차원 좌표평면상에서 정상 제어데이터 군집 내에 군집생성데이터의 밀집도에 따라 해당 정상 제어데이터 군집의 기준거리를 변경하는 이유는, 정상 제어데이터 군집 내에 군집생성데이터가 좁은 범위에 분포되어 있어 군집생성데이터의 밀집도가 높은 경우 판단부(340)에 의해 판단 시에 타겟 제어데이터의 타겟 군집생성데이터가 해당 정상 제어데이터 군집을 조금이라도 벗어나면 비정상으로 판단할 수 있기 때문이다. 또한, 정상 제어데이터 군집 내에 군집생성데이터가 넓은 범위에 분포되어 있어 군집생성데이터의 밀집도가 낮은 경우, 판단부(340)에 의해 판단 시에 타겟 제어데이터의 타겟 군집생성데이터가 해당 정상 제어데이터 군집을 크게 벗어나더라도 정상으로 판단할 수 있기 때문이다.
이와 같이 정상 제어데이터 군집부(330)가 군집데이터의 밀집도에 따라 해당 정상 제어데이터 군집의 기준거리를 변경함으로써, 정상 제어데이터 군집이 과적합(Overfitting)되는 것을 방지할 수 있을 뿐만 아니라, 이로 인해 판단부(340)가 정상 제어데이터 군집이 이용하여 타겟 제어데이터의 비정상여부 판단 시 정확도가 향상될 수 있다.
정상 제어데이터 군집부(330)는 생성된 정상 제어데이터 군집을 데이터 베이스(350)에 저장한다. 정상 제어데이터 군집은 리스트 형태로 데이터 베이스(350)에 저장될 수 있다.
일 실시예에 있어서, 정상 제어데이터 군집부(330)는 정상 제어데이터 군집을 리스트 형태로 해당 정상 제어데이터 군집에 포함되는 군집생성데이터의 인덱스 정보를 매핑시켜 데이터베이스(350)에 저장할 수 있다.
예컨대, 도 13에 도시된 바와 같이 정상 제어데이터 군집부(330)는 정상 제어데이터 군집을 리스트 형태로 데이터베이스(350)에 저장할 수 있다.
판단부(340)는 정상 제어데이터 군집부(330)에 의해 생성된 정상 제어데이터 군집을 이용하여 제어단말에서 수신되어 판단대상이 되는 타겟 제어데이터의 비정상여부를 판단한다.
이를 위해, 타겟 제어데이터는 데이터 미러링부(220)를 통해 파싱부(320)로 전달된다. 그리고 파싱부(320)는 타겟 제어데이터로부터 제어장치 정보, 송수신처 정보, 및 커맨드 정보 중 적어도 하나를 포함하는 제어정보를 추출하여 타겟 군집생성데이터를 생성한다.
일 실시예에 있어서, 판단부(340)는 정상 제어데이터 군집들 중 적어도 하나의 정상 제어데이터 군집에 타겟 군집생성데이터가 포함되면 타겟 제어데이터를 정상으로 판단한다. 하지만, 판단부(340)는 타겟 군집생성데이터가 정상 제어데이터 군집들 중 어느 하나의 정상 제어데이터 군집에도 포함되지 않으면 타겟 제어데이터를 비정상으로 판단한다.
예컨대, 제1 내지 제3 정상 제어데이터 군집들 중 제1 정상 제어데이터 군집에 타겟 군집생성데이터가 포함되면, 판단부(340)는 타겟 제어데이터를 정상으로 판단할 수 있다. 또한, 제1 내지 제3 정상 제어데이터 군집들 중 어느 하나의 제어데이터 군집에 타겟 군집생성데이터가 포함되지 않으면, 판단부(340)는 타겟 제어데이터를 비정상으로 판단할 수 있다.
일 실시예에 있어서, 판단부(340)는 2차원 좌표평면 상에 정상 제어데이터 군집을 배열하고 타겟 군집생성데이터를 배열하여 정상 제어데이터 군집에 타겟 군집생성데이터의 포함여부를 판단할 수 있다.
다른 실시예에 있어서, 판단부(340)는 2차원 좌표평면 상에 정상 제어데이터 군집 별로 선정된 핵심데이터를 배열하고 타겟 군집생성데이터를 배열하여 정상 제어데이터 군집에 타겟 군집생성데이터의 포함여부를 판단할 수 있다.
이와 같이, 판단부(340)는 정상 제어데이터 군집에 포함되는 군집생성데이터 모두를 배열할 수도 있고, 정상 제어데이터 군집에 포함되는 핵심데이터만을 배열하여 타겟 군집생성데이터가 해당 정상 제어데이터 군집에 포함되는지 여부를 판단할 수 있다.
일 실시예에 있어서, 판단부(340)는 정상 제어데이터 군집의 핵심데이터로부터 기준거리 내에 타겟 군집생성데이터가 위치하면 타겟 군집생성데이터가 정상 제어데이터 군집에 포함되는 것으로 판단하여 타겟 제어데이터를 정상으로 판단할 수 있다.
이와 반대로, 판단부(340)는 정상 제어데이터 군집의 핵심데이터로부터 기준거리 내에 위치하지 않으면 타겟 군집생성데이터가 정상 제어데이터 군집에 포함되지 않는 것으로 판단하여 타겟 제어데이터를 정상으로 판단할 수 있다.
일례로, 판단부(340)는 타겟 군집생성데이터가 2차원 좌표평면 상에서 정상 제어데이터 군집 별로 해당 정상 제어데이터 군집의 핵심데이터로부터 기준거리내에 위치하면 타겟 군집생성데이터가 해당 핵심데이터를 포함하는 정상 제어데이터 군집에 포함되는 것으로 판단할 수 있다.
예컨대, 제1 핵심데이터를 포함하는 제1 정상 제어데이터 군집과 제2 핵심데이터를 포함하는 제2 정상 제어데이터 군집이 존재하고, 기준거리가 2CM 인 경우, 2차원 좌표평면 상에서 제1 핵심데이터로부터 2CM 이내에 타겟 군집생성데이터가 위치하면, 판단부(340)는 타겟 군집생성데이터가 제1 정상 제어데이터 군집에 포함되는 것으로 판단할 수 있다.
또한, 2차원 좌표평면 상에서 제2 핵심데이터로부터 2CM 이내에 타겟 군집생성데이터가 위치하면, 판단부(340)는 타겟 군집생성데이터가 제2 정상 제어데이터 군집에 포함되는 것으로 판단할 수 있다.
일 실시예에 있어서, 판단부(340)는 정상 제어데이터 군집 별로 설정된 서로 다른 기준거리에 따라 타겟 군집생성데이터가 정상 제어데이터 군집에 포함되는지 여부를 판단할 수 있다.
일례로, 제1 핵심데이터를 포함하는 제1 정상 제어데이터 군집의 기준거리가 제1 기준거리이고, 제2 핵심데이터를 포함하는 제2 정상 제어데이터 군집의 기준거리가 제2 기준거리이면, 판단부(340)는 제1 핵심데이터로부터 제1 기준거리 내에 타겟 군집생성데이터가 위치하는지 판단하고, 제2 핵심데이터로부터 제2 기준거리 내에 타겟 군집생성데이터가 위치하는지 판단할 수 있다.
이에 따라 판단부(340)는 각 정상제어데이터 군집 별로 해당 정상 제어데이터 군집의 핵심데이터로부터 해당 정상 제어데이터 군집의 기준거리 내에 타겟 군집생성데이터가 위치하는지 판단할 수 있다.
예컨대, 제1 정상 제어데이터 군집의 제1 기준거리가 3cm이고, 제2 및 정상 제어데이터 군집의 제2 기준거리가 2cm 이며 제3 정상 제어데이터 군집의 제3 기준거리가 2cm이고, 타겟 군집생성데이터가 제1 내지 제3 정상제어데이터 군집의 핵심데이터로부터 2.5cm만큼 이격되어 있는 경우, 판단부(340)는 제1 정상 제어데이터 군집에 타겟 군집생성데이터가 포함된 것으로 판단할 수 있다.
판단부(340)는 타겟 제어데이터의 비정상여부를 판단하여 사용자에게 전달한다.
데이터 베이스(350)에는 정상 제어데이터 군집부(330)에 의해 생성된 정상 제어데이터 군집이 리스트형태로 저장된다. 예컨대, 데이터 베이스(350)에는 도 13에 도시된 바와 같이 각 정상제어데이터 군집 별로 해당 정상제어데이터 군집에 포함되는 군집생성데이터들의 인덱스 정보가 매핑된 형태로 저장될 수 있다.
또한, 데이터 베이스(350)에는 데이터 수집부(310)에 의해 수집된 제어데이터와 타겟 제어데이터가 저장될 수 있고, 파싱부(320)에 의해 파싱된 제어데이터의 군집 생성데이터와 타겟 제어데이터의 타겟 군집 생성데이터가 저장될 수 있다.
정상경로 리스트 생성부(360)는 파싱부(320)에 의해 제어데이터들의 송수신정보들을 이용하여 정상 송수신정보들로 구성된 정상경로 리스트를 생성한다. 이때, 정상경로 리스트 생성부(360)는 제어단말(100) 및 제어장치(110)의 초기 가동기간 동안 수집된 제어데이터들의 송수신정보들을 정상 송수신정보로 결정할 수 있다.
예컨대, 정상경로 리스트 생성부는 제어데이터들을 송신한 IP 어드레스를 이용하여 정상 IP 어드레스들로 구성된 정상경로 리스트를 생성할 수 있다. 이러한 예를 따를때, 제어데이터들을 송신한 IP 어드레스를 정상 IP 어드레스로 결정할 수 있다.
본 발명이 속하는 기술분야의 당업자는 상술한 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다.
그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
본 명세서에 설명되어 있는 모든 개시된 방법들 및 절차들은, 적어도 부분적으로, 하나 이상의 컴퓨터 프로그램 또는 구성요소를 사용하여 구현될 수 있다.  이 구성요소는 RAM, ROM, 플래시 메모리, 자기 또는 광학 디스크, 광메모리, 또는 그 밖의 저장매체와 같은 휘발성 및 비휘발성 메모리를 포함하는 임의의 통상적 컴퓨터 판독 가능한 매체 또는 기계 판독 가능한 매체를 통해 일련의 컴퓨터 지시어들로서 제공될 수 있다. 상기 지시어들은 소프트웨어 또는 펌웨어로서 제공될 수 있으며, 전체적 또는 부분적으로, ASICs, FPGAs, DSPs, 또는 그 밖의 다른 임의의 유사 소자와 같은 하드웨어 구성에 구현될 수도 있다. 상기 지시어들은 하나 이상의 프로세서 또는 다른 하드웨어 구성에 의해 실행되도록 구성될 수 있는데, 상기 프로세서 또는 다른 하드웨어 구성은 상기 일련의 컴퓨터 지시어들을 실행할 때 본 명세서에 개시된 상기 방법들 및 절차들의 모두 또는 일부를 수행하거나 수행할 수 있도록 한다.
100: 제어단말 110: 제어장치
120: 탐지시스템 130: 연결 관리부
140: 탐지서버 210: 데이터 차단부
220: 데이터 미러링부 230: 바이패스부
240: 입력포트 250: 출력포트
260: 목적지포트 270: 미러링 설정부
280: 제어부

Claims (14)

  1. 제어데이터를 생성하는 제어단말이 접속되어 상기 제어데이터가 입력되는 적어도 하나 이상의 입력포트, 상기 제어데이터에 의해 제어되는 제어장치가 접속되어 상기 제어데이터가 출력되는 적어도 하나 이상의 출력포트, 및 상기 제어장치로 출력될 제어데이터들이 복제되어 출력되는 목적지 포트를 포함하는 스위칭장치; 및
    상기 목적지 포트에 접속되고 상기 목적지 포트로부터 출력되는 제어데이터들을 기초로 정상 제어데이터 군집 또는 정상 제어데이터 보안규칙을 생성하고, 상기 제어단말에서 타겟 제어데이터가 수신되면 상기 정상 제어데이터 군집 또는 상기 정상 제어데이터 보안규칙을 이용하여 상기 타겟 제어데이터의 비정상 여부를 판단하는 탐지서버를 포함하고,
    상기 스위칭장치에 입력된 제어데이터는,
    상기 출력포트를 통해 상기 제어장치로 출력되고,
    복제되어 상기 목적지 포트를 통해 정상 제어데이터 군집 또는 정상 제어데이터 보안규칙을 생성하는 탐지서버로 출력되는 것을 특징으로 하는 스위칭 장치를 이용하는 비정상 제어데이터 탐지시스템.
  2. 제1항에 있어서,
    상기 스위칭 장치는,
    상기 적어도 하나 이상의 출력포트 중 복제 대상이 되는 출력포트를 소스 포트(Source Port)로 설정하고, 상기 복제된 제어데이터의 출력을 위해 상기 목적지 포트를 활성화시키는 미러링 설정부를 포함하는 것을 특징으로 하는 스위칭 장치를 이용하는 비정상 제어데이터 탐지시스템.
  3. 제1항에 있어서,
    상기 스위칭 장치는,
    상기 적어도 하나 이상의 출력포트 중 소스포트로 설정된 출력포트로 출력될 제어데이터를 복제하여 복제된 제어데이터를 활성화된 목적지 포트를 통해 출력하는 제어부를 포함하는 것을 특징으로 하는 스위칭 장치를 이용하는 비정상 제어데이터 탐지시스템.
  4. 제3항에 있어서,
    상기 제어부는,
    상기 제어데이터 별로 상기 제어데이터가 전송될 MAC 어드레스를 확인하여 해당 제어데이터의 MAC 어드레스가 상기 소스포트로 설정된 출력포트에 접속된 제어장치의 MAC 어드레스이면, 해당 제어데이터를 복제하는 것을 특징으로 하는 스위칭 장치를 이용하는 비정상 제어데이터 탐지시스템.
  5. 제3항에 있어서,
    상기 제어부는,
    상기 제어데이터 별로 제어데이터가 전송될 MAC 어드레스를 확인하여 상기 확인된 MAC 어드레스를 갖는 제어장치가 접속된 출력포트로 각 제어데이터를 전송하는 제어부를 포함하는 것을 특징으로 하는 스위칭 장치를 이용하는 비정상 제어데이터 탐지시스템.
  6. 제1항에 있어서,
    상기 탐지서버는,
    상기 제어데이터들로부터 생성된 군집생성 데이터들 중 적어도 하나의 데이터를 핵심데이터로 선정하고, 각 핵심데이터로부터 기준거리 이내에 위치한 데이터를 군집하여 상기 정상 제어데이터 군집을 생성하는 정상 제어데이터 군집부를 포함하는 것을 특징으로 하는 스위칭 장치를 이용하는 비정상 제어데이터 탐지시스템.
  7. 제6항에 있어서,
    상기 정상 제어데이터 군집부는,
    2차원 좌표평면 상에 상기 군집생성 데이터들을 배열하여 상기 군집생성 데이터들로부터 기준거리 이내에 위치한 데이터를 각각 군집하고, 상기 군집한 데이터의 수가 기준개수 이상인 데이터를 상기 핵심데이터로 선정하는 것을 특징으로 하는 스위칭 장치를 이용하는 비정상 제어데이터 탐지시스템.
  8. 제1항에 있어서,
    상기 탐지서버는,
    상기 타겟 제어데이터로부터 생성된 타겟 군집생성 데이터가 상기 정상 제어데이터 군집에 포함되면 상기 타겟 제어데이터를 정상으로 판단하는 판단부를 포함하는 것을 특징으로 하는 스위칭 장치를 이용하는 비정상 제어데이터 탐지시스템.
  9. 제8항에 있어서,
    상기 판단부는,
    상기 정상 제어데이터 군집에 포함된 핵심데이터로부터 상기 타겟 군집생성 데이터가 기준거리 내에 위치하면, 상기 타겟 군집생성 데이터가 상기 정상 제어데이터 군집에 포함되는 것으로 판단하는 것을 특징으로 하는 스위칭 장치를 이용하는 비정상 제어데이터 탐지시스템.
  10. 제1항에 있어서,
    상기 탐지서버는,
    상기 제어데이터들을 파싱하여 상기 제어데이터들의 커맨드(Command) 및 상기 커맨드의 밸류(Value)를 획득하는 파싱부;
    상기 커맨드 및 밸류에 대한 정상 제어데이터 보안규칙을 생성하는 규칙 생성부; 및
    상기 제어단말에서 수신되는 타겟 제어데이터와 상기 정상 제어데이터 보안규칙을 비교하여 상기 타겟 제어데이터의 비정상 여부를 판단하는 제1 판단부를 포함하는 것을 특징으로 하는 스위칭 장치를 이용하는 비정상 제어데이터 탐지시스템.
  11. 제10항에 있어서,
    상기 정상 제어데이터 보안규칙은 각 커맨드가 해당 커맨드의 밸류와 매핑되어 있는 데이터 세트인 것을 특징으로 하는 스위칭 장치를 이용하는 비정상 제어데이터 탐지시스템.
  12. 제10항에 있어서,
    상기 제어장치로 전달되는 타겟 제어데이터들의 발생순서를 상기 정상 제어데이터 보안규칙을 기초로 생성되는 정상 시퀀스 패턴과 비교하여 상기 타겟 제어데이터들의 발생순서의 비정상 여부를 판단하는 제2판단부를 더 포함하는 것을 특징으로 하는 스위칭 장치를 이용하는 비정상 제어데이터 탐지시스템.
  13. 제10항에 있어서,
    상기 정상 제어데이터 보안규칙을 기초로 상기 제어데이터들의 발생순서에 따른 정상 시퀀스 패턴을 생성하는 시퀀스 패턴 생성부를 더 포함하는 것을 특징으로 하는 스위칭 장치를 이용하는 비정상 제어데이터 탐지시스템.
  14. 제13항에 있어서,
    상기 시퀀스 패턴 생성부는,
    상기 제어데이터들의 식별정보들이 정렬된 k*n 매트릭스에서 k값 별로 산출된 제1 유사도의 편미분값이 최소가 되게 하는 타겟k값을 결정하고, 상기 타겟 k값에 해당하는 매트릭스에서 어느 하나의 열에 배치된 식별정보들을 기초로 상기 정상 시퀀스 패턴을 생성하는 시퀀스 패턴 결정부를 포함하는 것을 특징으로 하는 스위칭 장치를 이용하는 비정상 제어데이터 탐지시스템.
KR1020190064948A 2019-05-31 2019-05-31 스위칭 장치를 이용하는 비정상 제어데이터 탐지시스템 KR102282843B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190064948A KR102282843B1 (ko) 2019-05-31 2019-05-31 스위칭 장치를 이용하는 비정상 제어데이터 탐지시스템
PCT/KR2019/007028 WO2020241959A1 (ko) 2019-05-31 2019-06-11 비정상 제어데이터 탐지시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190064948A KR102282843B1 (ko) 2019-05-31 2019-05-31 스위칭 장치를 이용하는 비정상 제어데이터 탐지시스템

Publications (2)

Publication Number Publication Date
KR20200137879A KR20200137879A (ko) 2020-12-09
KR102282843B1 true KR102282843B1 (ko) 2021-07-27

Family

ID=73786741

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190064948A KR102282843B1 (ko) 2019-05-31 2019-05-31 스위칭 장치를 이용하는 비정상 제어데이터 탐지시스템

Country Status (1)

Country Link
KR (1) KR102282843B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102386282B1 (ko) * 2021-07-19 2022-05-10 주식회사 샌즈랩 비정상 데이터 탐지 시스템 및 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014531647A (ja) * 2011-09-09 2014-11-27 ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. 基準ベースラインに基づき、イベントシーケンス中の時間的位置に従ってイベントを評価するシステム及び方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140147583A (ko) * 2013-06-20 2014-12-30 한국전자통신연구원 산업제어 시스템의 부정 접근을 방지하기 위한 장치 및 그 방법
KR101880162B1 (ko) * 2015-12-31 2018-08-16 다운정보통신(주) 자동제어시스템 내 제어신호 분석을 이용한 제어신호 무결성 검증 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014531647A (ja) * 2011-09-09 2014-11-27 ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. 基準ベースラインに基づき、イベントシーケンス中の時間的位置に従ってイベントを評価するシステム及び方法

Also Published As

Publication number Publication date
KR20200137879A (ko) 2020-12-09

Similar Documents

Publication Publication Date Title
KR102027044B1 (ko) 비정상 제어데이터 탐지 시스템
KR102282847B1 (ko) 제어데이터 이상 검출을 위한 시스템
CN110719275B (zh) 一种基于报文特征的电力终端漏洞攻击检测方法
EP3266156B1 (en) Network infrastructure device to implement pre-filter rules
US9560063B2 (en) Apparatus and method for detecting malicious domain cluster
CN108282497A (zh) 针对SDN控制平面的DDoS攻击检测方法
CN104901971B (zh) 对网络行为进行安全分析的方法和装置
CN108809745A (zh) 一种用户异常行为检测方法、装置及系统
CN110213124A (zh) 基于tcp多会话的被动操作系统识别方法及装置
CN113312417B (zh) 应用于大数据和云计算的数据处理方法及大数据服务平台
US10348751B2 (en) Device, system and method for extraction of malicious communication pattern to detect traffic caused by malware using traffic logs
CN112202817B (zh) 一种基于多事件关联与机器学习的攻击行为检测方法
CN113469366A (zh) 一种加密流量的识别方法、装置及设备
CN105376193A (zh) 安全事件的智能关联分析方法与装置
CN108600172A (zh) 撞库攻击检测方法、装置、设备及计算机可读存储介质
CN111416790B (zh) 基于用户行为的网络异常访问智能识别方法、装置、存储介质及计算机设备
KR102282843B1 (ko) 스위칭 장치를 이용하는 비정상 제어데이터 탐지시스템
CN110213254A (zh) 一种识别伪造互联网协议ip报文的方法和设备
CN113329034B (zh) 基于人工智能的大数据业务优化方法、服务器及存储介质
KR101383069B1 (ko) 네트워크 이상상태 탐지 장치 및 방법
KR102435472B1 (ko) 비정상 제어데이터 탐지 시스템 및 방법
CN117391214A (zh) 模型训练方法、装置及相关设备
KR102435456B1 (ko) 비정상 제어데이터 탐지 시스템 및 방법
KR102069954B1 (ko) 제어데이터의 정상 시퀀스 패턴 생성 시스템 및 방법
CN108848093B (zh) 路由计算单元和网络节点设备

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