KR102469664B1 - 이상 행위 탐지 방법 및 시스템 - Google Patents

이상 행위 탐지 방법 및 시스템 Download PDF

Info

Publication number
KR102469664B1
KR102469664B1 KR1020210148823A KR20210148823A KR102469664B1 KR 102469664 B1 KR102469664 B1 KR 102469664B1 KR 1020210148823 A KR1020210148823 A KR 1020210148823A KR 20210148823 A KR20210148823 A KR 20210148823A KR 102469664 B1 KR102469664 B1 KR 102469664B1
Authority
KR
South Korea
Prior art keywords
iot device
periodogram
device type
extracted
packets
Prior art date
Application number
KR1020210148823A
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 KR1020210148823A priority Critical patent/KR102469664B1/ko
Application granted granted Critical
Publication of KR102469664B1 publication Critical patent/KR102469664B1/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
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R23/00Arrangements for measuring frequencies; Arrangements for analysing frequency spectra
    • G01R23/16Spectrum analysis; Fourier analysis
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y40/00IoT characterised by the purpose of the information processing
    • G16Y40/10Detection; Monitoring
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y40/00IoT characterised by the purpose of the information processing
    • G16Y40/50Safety; Security of things, users, data or systems
    • 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/067Generation of reports using time frame reporting
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 이상 행위 탐지 방법에 관한 것이다. 이상 행위 탐지 방법은, IoT 장치가 연결된 경우, 연결된 IoT 장치의 장치 유형을 결정하는 단계, 결정된 IoT 장치의 장치 유형에 대응하도록 생성된 이상 행위 탐지 모델을 추출하는 단계 및 추출된 이상 행위 탐지 모델을 IoT 장치에 제공하는 단계를 포함한다.

Description

이상 행위 탐지 방법 및 시스템{ANOMALY DETECTION METHOD AND SYSTEM}
본 발명은 이상 행위 탐지 방법 및 시스템에 관한 것으로, 구체적으로 IoT 장치에서의 이상 행위 탐지 방법 및 시스템에 관한 것이다.
다양한 IoT 장치가 출현함에 따라 가정뿐만 아니라 빌딩의 사무실 등에 모션 센서, 조명 기기 등 많은 IoT 장치들이 도입되고 있다. 그러나 이러한 IoT 장치 중 다수는 안전하지 않은 설계, 구현 및 구성 등으로 인해 보안에 취약하다. 이로 인해 IoT 장치를 대상으로 하는 새로운 악성 프로그램이 급속하게 증가하고 있다.
한편, IoT 장치에서의 이상 행위를 탐지하기 위해 IoT 장치의 정상 동작을 프로파일링하고 정상 동작 프로파일에서 벗어나는 것을 탐지하는 이상 행위 탐지 방법이 대세를 이루고 있다. 이와 같은 이상 행위 탐지 방법은 IoT 장치별로 별도의 학습 모델을 생성함으로써 수행될 수 있다. 그러나, 이러한 이상 행위 탐지 방법은 정상 동작을 프로파일링하기 위한 많은 시간이 소요될 수 있으며, IoT 장치 마다 별도의 학습 모델을 생성하고 유지해야 하는 비효율적인 문제가 있다.
본 발명은 상기와 같은 문제점을 해결하기 위한 이상 행위 탐지 방법, 컴퓨터 판독 가능 매체에 저장된 컴퓨터 프로그램, 컴퓨터 프로그램이 저장된 컴퓨터 판독 가능 매체 및 시스템(장치)을 제공한다.
본 발명은 방법, 시스템(장치), 컴퓨터 판독 가능 매체에 저장된 컴퓨터 프로그램 또는 컴퓨터 프로그램이 저장된 컴퓨터 판독 가능 매체를 포함한 다양한 방식으로 구현될 수 있다.
본 발명의 일 실시예에 따르면, 적어도 하나의 프로세서에 의해 수행되는 이상 행위 탐지 방법은, IoT 장치가 연결된 경우, 연결된 IoT 장치의 장치 유형을 결정하는 단계, 결정된 IoT 장치의 장치 유형에 대응하도록 생성된 이상 행위 탐지 모델을 추출하는 단계 및 추출된 이상 행위 탐지 모델을 IoT 장치에 제공하는 단계를 포함한다. IoT 장치는 제공된 이상 행위 탐지 모델에 IoT 장치로부터 수집된 복수의 패킷을 제공하여 IoT 장치와 연관된 이상 행위를 탐지한다.
본 발명의 일 실시예에 따르면, IoT 장치로부터 추출된 복수의 패킷의 특징을 획득하는 단계 및 이상 행위의 탐지 결과, IoT 장치가 정상인 것으로 판정된 경우, 추출된 복수의 패킷의 특징을 이용하여 이상 행위 탐지 모델을 학습시키는 단계를 더 포함한다.
본 발명의 일 실시예에 따르면, 이상 행위 탐지 모델은 LSTM 기반의 모델이다.
본 발명의 일 실시예에 따르면, 연결된 IoT 장치의 장치 유형을 결정하는 단계는, IoT 장치와 연관된 트래픽을 발생시키는 적어도 하나의 프로토콜을 결정하는 단계, 사전 결정된 프로토콜 목록을 기초로 결정된 적어도 하나의 프로토콜에 대응하는 장치 유형을 포함하는 제1 후보 장치 유형 목록을 추출하는 단계, IoT 장치로부터 수집된 복수의 패킷을 기초로 IoT 장치와 연관된 트래픽의 패턴을 나타내는 적어도 하나의 주기도를 생성하는 단계, IoT 장치와 연관된 적어도 하나의 프로토콜 및 적어도 하나의 주기도를 이용하여 유사한 주기도를 갖는 장치 유형을 포함하는 제2 후보 장치 유형 목록을 추출하는 단계, 제1 후보 장치 유형 목록과 제2 후보 장치 유형 목록에 포함된 적어도 하나의 장치 유형을 추출하는 단계 및 추출된 적어도 하나의 장치 유형과 연관된 각각의 주기도와 IoT 장치와 연관된 주기도를 비교하여 IoT 장치의 장치 유형을 결정하는 단계를 포함한다.
본 발명의 일 실시예에 따르면, IoT 장치와 연관된 적어도 하나의 프로토콜 및 적어도 하나의 주기도를 이용하여 유사한 주기도를 갖는 장치 유형을 포함하는 제2 후보 장치 유형 목록을 추출하는 단계는, KNN 알고리즘을 기초로 IoT 장치와 연관된 주기도와 각각의 장치 유형과 연관된 주기도 사이의 유사성을 결정하는 단계를 포함한다.
본 발명의 일 실시예에 따르면, 추출된 적어도 하나의 장치 유형과 연관된 각각의 주기도와 IoT 장치와 연관된 주기도를 비교하여 IoT 장치의 장치 유형을 결정하는 단계는, 추출된 적어도 하나의 장치 유형과 연관된 각각의 주기도와 IoT 장치와 연관된 주기도 사이의 유클리드 거리를 산출하는 단계 및 산출된 유클리드 거리를 기초로 IoT 장치로부터 추출된 주기도와 최단 거리를 형성하는 주기도를 갖는 장치 유형을 IoT 장치의 장치 유형으로 결정하는 단계를 포함한다.
본 발명의 일 실시예에 따르면, IoT 장치로부터 수집된 복수의 패킷을 기초로 IoT 장치와 연관된 트래픽의 패턴을 나타내는 적어도 하나의 주기도를 생성하는 단계는, IoT 장치로부터 수집된 복수의 패킷을 IoT 장치의 통신에 사용되는 프로토콜 별로 분류하는 단계 및 특정 프로토콜을 사용하는 것으로 분류된 복수의 세부 패킷을 기초로 특정 프로토콜과 연관된 주기도를 생성하는 단계를 포함한다.
본 발명의 일 실시예에 따르면, 특정 프로토콜을 사용하는 것으로 분류된 복수의 세부 패킷을 기초로 특정 프로토콜과 연관된 주기도를 생성하는 단계는, 복수의 세부 패킷을 특정 시간 간격을 갖는 복수의 구간과 연관시키는 단계, 복수의 구간 중 복수의 세부 패킷의 적어도 일부가 존재하는 제1 세트의 구간 및 복수의 세부 패킷의 적어도 일부가 존재하지 않는 제2 세트의 구간을 추출하는 단계, 추출된 제1 세트의 구간 및 제2 세트의 구간을 이용하여 복수의 세부 패킷과 연관된 시계열 데이터를 생성하는 단계 및 생성된 시계열 데이터를 이용하여 특정 프로토콜과 연관된 주기도를 생성하는 단계를 포함한다.
본 발명의 일 실시예에 따르면, 생성된 시계열 데이터를 이용하여 특정 프로토콜과 연관된 주기도를 생성하는 단계는, 이산 푸리에 변환 알고리즘을 이용하여 시계열 데이터를 주파수 데이터로 변환하는 단계, 변환된 주파수 데이터에 포함된 각 주파수 원소의 크기를 산출하는 단계, 산출된 각 주파수 원소의 크기를 기초로 제1 임계값 이상의 크기를 갖는 복수의 주파수 원소를 추출하는 단계 및 추출된 복수의 주파수 원소를 이용하여 특정 프로토콜과 연관된 주기도를 생성하는 단계를 포함한다.
본 발명의 일 실시예에 따르면, 추출된 복수의 주파수 원소를 이용하여 특정 프로토콜과 연관된 주기도를 생성하는 단계는, 추출된 복수의 주파수 원소를 기초로 후보 주기 데이터를 생성하는 단계, 후보 주기 데이터에 포함된 각 주기 원소에 대한 자기상관 값을 산출하는 단계, 산출된 자기상관 값이 제2 임계값 이상의 크기를 갖는 복수의 주기 원소를 추출하는 단계 및 추출된 복수의 주기 원소를 포함하는 특정 프로토콜과 연관된 주기도를 생성하는 단계를 포함한다.
본 발명의 일 실시예에 따른 상술된 방법을 컴퓨터에서 실행하기 위해 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램이 제공된다.
본 발명의 일 실시예에 따른 컴퓨팅 장치는, 통신 모듈, 메모리 및 메모리와 연결되고, 메모리에 포함된 컴퓨터 판독 가능한 적어도 하나의 프로그램을 실행하도록 구성된 적어도 하나의 프로세서를 포함한다. 적어도 하나의 프로그램은, IoT 장치가 연결된 경우, 연결된 IoT 장치의 장치 유형을 결정하고, 결정된 IoT 장치의 장치 유형에 대응하도록 생성된 이상 행위 탐지 모델을 추출하고, 추출된 이상 행위 탐지 모델을 IoT 장치에 제공하기 위한 명령어들을 포함한다. IoT 장치는 제공된 이상 행위 탐지 모델에 IoT 장치로부터 수집된 복수의 패킷을 제공하여 IoT 장치와 연관된 이상 행위를 탐지한다.
본 발명의 일 실시예에 따르면, 적어도 하나의 프로그램은, IoT 장치로부터 추출된 복수의 패킷의 특징을 획득하고, 이상 행위의 탐지 결과, IoT 장치가 정상인 것으로 판정된 경우, 추출된 복수의 패킷의 특징을 이용하여 이상 행위 탐지 모델을 학습시키기 위한 명령어들을 더 포함한다.
본 발명의 일 실시예에 따르면, 적어도 하나의 프로그램은, IoT 장치와 연관된 트래픽을 발생시키는 적어도 하나의 프로토콜을 결정하고, 사전 결정된 프로토콜 목록을 기초로 결정된 적어도 하나의 프로토콜에 대응하는 장치 유형을 포함하는 제1 후보 장치 유형 목록을 추출하고, IoT 장치로부터 수집된 복수의 패킷을 기초로 IoT 장치와 연관된 트래픽의 패턴을 나타내는 적어도 하나의 주기도를 생성하고, IoT 장치와 연관된 적어도 하나의 프로토콜 및 적어도 하나의 주기도를 이용하여 유사한 주기도를 갖는 장치 유형을 포함하는 제2 후보 장치 유형 목록을 추출하고, 제1 후보 장치 유형 목록과 제2 후보 장치 유형 목록에 포함된 적어도 하나의 장치 유형을 추출하고, 추출된 적어도 하나의 장치 유형과 연관된 각각의 주기도와 IoT 장치와 연관된 주기도를 비교하여 IoT 장치의 장치 유형을 결정하기 위한 명령어들을 더 포함한다.
본 발명의 일 실시예에 따르면, 적어도 하나의 프로그램은, KNN 알고리즘을 기초로 IoT 장치와 연관된 주기도와 각각의 장치 유형과 연관된 주기도 사이의 유사성을 결정하기 위한 명령어들을 더 포함한다.
본 발명의 일 실시예에 따르면, 적어도 하나의 프로그램은, 추출된 적어도 하나의 장치 유형과 연관된 각각의 주기도와 IoT 장치와 연관된 주기도 사이의 유클리드 거리를 산출하고, 산출된 유클리드 거리를 기초로 IoT 장치로부터 추출된 주기도와 최단 거리를 형성하는 주기도를 갖는 장치 유형을 IoT 장치의 장치 유형으로 결정하기 위한 명령어들을 더 포함한다.
본 발명의 일 실시예에 따르면, 적어도 하나의 프로그램은, IoT 장치로부터 수집된 복수의 패킷을 IoT 장치의 통신에 사용되는 프로토콜 별로 분류하고, 특정 프로토콜을 사용하는 것으로 분류된 복수의 세부 패킷을 기초로 특정 프로토콜과 연관된 주기도를 생성하기 위한 명령어들을 더 포함한다.
본 발명의 일 실시예에 따르면, 적어도 하나의 프로그램은, 복수의 세부 패킷을 특정 시간 간격을 갖는 복수의 구간과 연관시키고, 복수의 구간 중 복수의 세부 패킷의 적어도 일부가 존재하는 제1 세트의 구간 및 복수의 세부 패킷의 적어도 일부가 존재하지 않는 제2 세트의 구간을 추출하고, 추출된 제1 세트의 구간 및 제2 세트의 구간을 이용하여 복수의 세부 패킷과 연관된 시계열 데이터를 생성하고, 생성된 시계열 데이터를 이용하여 특정 프로토콜과 연관된 주기도를 생성하기 위한 명령어들을 더 포함한다.
본 발명의 일 실시예에 따르면, 적어도 하나의 프로그램은, 이산 푸리에 변환 알고리즘을 이용하여 시계열 데이터를 주파수 데이터로 변환하고, 변환된 주파수 데이터에 포함된 각 주파수 원소의 크기를 산출하고, 산출된 각 주파수 원소의 크기를 기초로 제1 임계값 이상의 크기를 갖는 복수의 주파수 원소를 추출하고, 추출된 복수의 주파수 원소를 이용하여 특정 프로토콜과 연관된 주기도를 생성하기 위한 명령어들을 더 포함한다.
본 발명의 일 실시예에 따르면, 적어도 하나의 프로그램은, 추출된 복수의 주파수 원소를 기초로 후보 주기 데이터를 생성하고, 후보 주기 데이터에 포함된 각 주기 원소에 대한 자기상관 값을 산출하고, 산출된 자기상관 값이 제2 임계값 이상의 크기를 갖는 복수의 주기 원소를 추출하고, 추출된 복수의 주기 원소를 포함하는 특정 프로토콜과 연관된 주기도를 생성하기 위한 명령어들을 더 포함한다.
본 발명의 다양한 실시예에서 센서 단말은 새로운 IoT 장치가 연결된 경우 해당 IoT 장치의 트래픽 만을 이용하여 장치 유형을 간단히 식별할 수 있으며, 장치 유형에 대응하도록 생성된 학습 모델을 이용하여 IoT 장치에서의 이상 행위를 효과적으로 탐지할 수 있다.
본 발명의 다양한 실시예에서 후보 장치 유형을 추출하고 추출된 후보 장치 유형에 대응되는 주기도 세트만을 이용하여 유클리드 거리 산출 및 장치 유형 결정을 수행함으로써, 정보 처리 시스템은 적은 컴퓨팅 자원으로도 효율적으로 IoT 장치의 장치 유형을 결정할 수 있다.
본 발명의 다양한 실시예에서 정보 처리 시스템은 IoT 장치와 연관된 주기도를 이용하여 IoT 장치의 장치 유형을 간단히 식별할 수 있다.
본 발명의 다양한 실시예에서 시계열 데이터를 그대로 이용하지 않고 주파수 데이터로 변환하여 이용함으로써, 센서 단말 및/또는 정보 처리 시스템은 중요도가 높은 특정 주파수를 효과적으로 추출할 수 있으며, 이에 따라 복수의 패킷의 특징을 명확하게 나타내는 주기도를 생성할 수 있다.
본 발명의 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급되지 않은 다른 효과들은 청구범위의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자("통상의 기술자"라 함)에게 명확하게 이해될 수 있을 것이다.
본 발명의 실시예들은, 이하 설명하는 첨부 도면들을 참조하여 설명될 것이며, 여기서 유사한 참조 번호는 유사한 요소들을 나타내지만, 이에 한정되지는 않는다.
도 1은 본 발명의 일 실시예에 따른 센서 단말의 내부 구성을 나타내는 기능적인 블록도이다.
도 2는 본 발명의 일 실시예에 따른 정보 처리 시스템의 내부 구성을 나타내는 기능적인 블록도이다.
도 3은 본 발명의 일 실시예에 따른 센서 단말 및 정보 처리 시스템이 통신 가능하도록 연결된 구성을 나타내는 개요도이다.
도 4는 본 발명의 일 실시예에 따른 센서 단말 및 정보 처리 시스템 사이에서 이상 행위 탐지 모델이 학습되는 과정을 나타내는 예시적인 도면이다.
도 5는 본 발명의 일 실시예에 따른 IoT 장치와 연관된 주기도가 생성되는 예시를 나타내는 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 시계열 데이터 및 주파수 데이터의 예시를 나타내는 도면이다.
도 7은 본 발명의 일 실시예에 따른 센서 단말 및 정보 처리 시스템 사이에서 장치 유형이 결정되는 과정을 나타내는 예시적인 도면이다.
도 8은 본 발명의 일 실시예에 따른 이상 행위 탐지 모델의 예시를 나타내는 도면이다.
도 9는 본 발명의 일 실시예에 따른 이상 행위 탐지 방법의 예시를 나타내는 흐름도이다.
도 10은 본 발명의 일 실시예에 따른 IoT 장치의 장치 유형 결정 방법의 예시를 나타내는 흐름도이다.
도 11은 본 발명의 일 실시예에 따른 주기도 생성 방법의 예시를 나타내는 흐름도이다.
도 12는 본 발명의 일 실시예에 따른 컴퓨팅 장치의 내부 구성을 나타내는 블록도이다.
이하, 본 발명의 실시를 위한 구체적인 내용을 첨부된 도면을 참조하여 상세히 설명한다. 다만, 이하의 설명에서는 본 발명의 요지를 불필요하게 흐릴 우려가 있는 경우, 널리 알려진 기능이나 구성에 관한 구체적 설명은 생략하기로 한다.
첨부된 도면에서, 동일하거나 대응하는 구성요소에는 동일한 참조부호가 부여되어 있다. 또한, 이하의 실시예들의 설명에 있어서, 동일하거나 대응되는 구성요소를 중복하여 기술하는 것이 생략될 수 있다. 그러나, 구성요소에 관한 기술이 생략되어도, 그러한 구성요소가 어떤 실시예에 포함되지 않는 것으로 의도되지는 않는다.
개시된 실시예의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명이 완전하도록 하고, 본 발명이 통상의 기술자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것일 뿐이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 개시된 실시예에 대해 구체적으로 설명하기로 한다. 본 명세서에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 관련 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서, 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 명세서에서의 단수의 표현은 문맥상 명백하게 단수인 것으로 특정하지 않는 한, 복수의 표현을 포함한다. 또한, 복수의 표현은 문맥상 명백하게 복수인 것으로 특정하지 않는 한, 단수의 표현을 포함한다. 명세서 전체에서 어떤 부분이 어떤 구성요소를 포함한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다.
본 발명에서, "포함하다", "포함하는" 등의 용어는 특징들, 단계들, 동작들, 요소들 및/또는 구성 요소들이 존재하는 것을 나타낼 수 있으나, 이러한 용어가 하나 이상의 다른 기능들, 단계들, 동작들, 요소들, 구성 요소들 및/또는 이들의 조합이 추가되는 것을 배제하지는 않는다.
본 발명에서, 특정 구성 요소가 임의의 다른 구성 요소에 "결합", "조합", "연결" 되거나, "반응" 하는 것으로 언급된 경우, 특정 구성 요소는 다른 구성 요소에 직접 결합, 조합 및/또는 연결되거나, 반응할 수 있으나, 이에 한정되지 않는다. 예를 들어, 특정 구성 요소와 다른 구성 요소 사이에 하나 이상의 중간 구성 요소가 존재할 수 있다. 또한, 본 발명에서 "및/또는"은 열거된 하나 이상의 항목의 각각 또는 하나 이상의 항목의 적어도 일부의 조합을 포함할 수 있다.
본 발명에서, "제1", "제2" 등의 용어는 특정 구성 요소를 다른 구성 요소와 구별하기 위해 사용되는 것으로, 이러한 용어에 의해 상술된 구성 요소가 제한되진 않는다. 예를 들어, "제1" 구성 요소는 "제2" 구성 요소와 동일하거나 유사한 형태의 요소일 수 있다.
본 발명에서, 'IoT'는 인터넷을 기반으로 모든 사물을 연결하여 정보를 상호 소통하는 지능형 기술 및/또는 서비스를 지칭할 수 있으며, 'IoT 장치'는 이와 같이 인터넷을 기반으로 다른 IoT 장치와 연결된 사물, 장치 등을 지칭할 수 있다. 예를 들어, IoT 장치는 사용자의 명령에 따른 간헐적인 트래픽 외에 일정한 주기성을 가지는 트래픽을 생성할 수 있다.
본 발명에서, '트래픽(traffic)'은 IoT 장치에서 수집되는 주기성을 갖는 복수의 패킷을 포함할 수 있다. 예를 들어, 주기성을 갖는 트래픽은 ARP(Address Resolution Protocol), IGMP(Internet Group Management Protocol), ICMP(Internet Control Message Protocol), SSDP(Simple Service Discovery Protocol), NetBIOS(Network Basic Input/Output System), DNS(Domain Name System), HTTP(HyperText Transfer Protocol), TCP(Transmission Control Protocol) 등의 프로토콜(protocol)을 통해 송수신될 수 있다.
본 발명에서, '이상 행위'는 사전 결정된 IoT 장치의 정상 동작으로 판정되지 않는 임의의 행위로서, 예를 들어, 악성코드 감염 등에 의한 데이터 송수신 등을 포함할 수 있다.
도 1은 본 발명의 일 실시예에 따른 센서 단말(110)의 내부 구성을 나타내는 기능적인 블록도이다. 도시된 바와 같이, 센서(sensor) 단말(110)은 트래픽 분석부(112), 장치 확인부(114), 이상 행위 탐지부(116) 등을 포함할 수 있으나, 이에 한정되지 않는다. 센서 단말(110)은 정보 처리 시스템(120)과 통신하며 IoT 장치에서의 이상 행위 탐지에 필요한 데이터 및/또는 정보를 주고받을 수 있다. 여기서, 센서 단말(110)은 IoT 장치들의 통신과 연관된 네트워크 트래픽(traffic)에 대해 모니터링을 수행하는 단말로서, 네트워크가 흐르는 스위치(switch) 및/또는 라우터(router) 등에 미러링(mirroring) 형태로 연결되어 운영될 수 있다.
일 실시예에 따르면, 트래픽 분석부(112)는 네트워크와 연관된 트래픽에 대한 분석을 수행할 수 있다. 예를 들어, 트래픽 분석부(112)는 실시간으로 네트워크 트래픽을 수집하여 분석하거나, 사전 결정된 시간 간격 마다 주기적으로 네트워크 트래픽을 수집하여 분석할 수 있다. 다른 예에서, 트래픽 분석부(112)는 새로운 IoT 장치가 연결되는 경우, 네트워크 트래픽을 수집하여 분석할 수도 있다. 트래픽 분석부(112)는 유입된 트래픽을 분석하여 새로운 IoT 장치에 해당하는 트래픽이 추출되는 경우, 새로운 IoT 장치의 장치 유형(device type)을 식별하기 위해 해당 트래픽을 장치 확인부(114)에 전달할 수 있다.
일 실시예에 따르면, 장치 확인부(114)는 새로운 IoT 장치와 연관된 트래픽(예: 복수의 패킷)을 수신하는 경우, 해당 IoT 장치의 장치 유형을 식별하거나 결정할 수 있다. 예를 들어, 새로운 IoT 장치가 사전 등록된 IoT 장치에 해당하는 경우, 장치 확인부(114)는 등록된 정보를 이용하여 해당 IoT 장치의 장치 유형을 식별하거나 결정할 수 있다.
새로운 IoT 장치가 사전 등록된 IoT 장치에 해당하지 않는 경우, 장치 확인부(114)는 IoT 장치의 장치 유형을 식별하기 위해, 주기도(periodogram)를 생성하여 정보 처리 시스템(120)으로 전송할 수 있다. 여기서, 주기도는 획득된 트래픽의 패턴을 나타내는 것으로서, 트래픽의 스펙트럼 밀도(spectral density) 추정치를 포함할 수 있다. 또한, 스펙트럼 밀도는 시간에 따라 변하는 파형을 주파수 등의 성분으로 분해하여 각 성분 강도의 주파수별 분포 상황을 나타내는 함수 등을 지칭할 수 있다. 즉, 장치 확인부(114)는 IoT 장치와 연관된 트래픽의 패턴을 이용하여 주기도(예: 각 프로토콜에 대응하는 적어도 하나의 주기도)를 생성하고, 생성된 주기도를 정보 처리 시스템(120)으로 전송할 수 있다. 그리고 나서, 장치 확인부(114)는 정보 처리 시스템(120)으로부터 IoT 장치의 장치 유형에 대한 정보를 수신하여 해당 IoT 장치의 장치 유형을 결정할 수 있다.
IoT 장치의 장치 유형이 결정된 경우, 이상 행위 탐지부(116)는 해당 IoT 장치에서의 이상 행위 여부를 탐지할 수 있다. 일 실시예에 따르면, 이상 행위 탐지부(116)는 정보 처리 시스템(120)으로부터 장치 유형별로 생성된 베이스라인(baseline) 학습 모델(예: 이상 행위 탐지 모델)을 수신하고, 수신된 베이스라인 학습 모델을 이용하여 IoT 장치에서의 이상 행위 여부를 탐지할 수 있다. 예를 들어, 이상 행위 탐지부(116)는 결정된 IoT 장치의 장치 유형에 대응하는 학습 모델에 해당 IoT 장치로부터 수집된 트래픽을 제공하여 IoT 장치와 연관된 이상 행위를 탐지할 수 있다. 여기서, 이상 행위 탐지부(116)는 주기적으로 정보 처리 시스템(120)으로부터 업데이트된 학습 모델을 수신하고, 수신된 학습 모델을 이용하여 IoT 장치에서의 이상 행위 여부를 탐지할 수 있다.
도 1에서는 센서 단말(110)에 포함된 각각의 기능적인 구성이 구분되어 상술되었으나, 이는 발명의 이해를 돕기 위한 것일 뿐이며, 하나의 연산 장치에서 둘 이상의 기능을 수행할 수도 있다. 또한, 도 1에서는 하나의 센서 단말(110)이 정보 처리 시스템(120)과 통신하며 IoT 장치에서의 이상 행위 여부를 탐지하는 것으로 도시되었으나, 이에 한정되지 않으며, 복수의 센서 단말이 정보 처리 시스템(120)과 통신하며 이상 행위 여부를 탐지할 수도 있다. 이와 같은 구성에 의해, 센서 단말(110)은 새로운 IoT 장치가 연결된 경우 해당 IoT 장치의 트래픽 만을 이용하여 장치 유형을 간단히 식별할 수 있으며, 장치 유형에 대응하도록 생성된 학습 모델을 이용하여 IoT 장치에서의 이상 행위를 효과적으로 탐지할 수 있다.
도 2는 본 발명의 일 실시예에 따른 정보 처리 시스템(120)의 내부 구성을 나타내는 기능적인 블록도이다. 도시된 바와 같이, 정보 처리 시스템(120)은 장치 유형 식별부(122), 모델 생성부(124) 등을 포함할 수 있으나, 이에 한정되지 않는다. 정보 처리 시스템(120)은 센서 단말(110)과 통신하며 IoT 장치에서의 이상 행위 탐지에 필요한 데이터 및/또는 정보를 주고받을 수 있다.
일 실시예에 따르면, 장치 유형 식별부(122)는 센서 단말(110)로부터 장치 유형이 식별되지 않은 IoT 장치의 주기도를 수신하여, 해당 IoT 장치의 장치 유형을 식별할 수 있다. 여기서, IoT 장치의 주기도는 프로토콜 별로 구분된 적어도 하나의 주기도를 포함할 수 있으며, 예를 들어, ARP와 연관된 제1 주기도(
Figure 112021126186708-pat00001
), HTTP와 연관된 제2 주기도(
Figure 112021126186708-pat00002
) 등을 포함할 수 있다.
주기도를 수신하는 경우, 장치 유형 식별부(122)는 해당 프로토콜에 매칭되는 장치 유형들을 검색할 수 있다. 다시 말해, 정보 처리 시스템(120)은 특정 프로토콜을 이용하는 장치 유형에 대한 정보 등을 포함하는 데이터베이스(database)를 포함하거나, 데이터베이스와 연관될 수 있다. 예를 들어, 데이터베이스는 다음의 표 1과 같은 사전 결정된 주기적 프로토콜(periodic protocols) 목록을 포함할 수 있다.
주기적 프로토콜 목록 장치 유형
ARP, DNS, HTTP
Figure 112021126186708-pat00003
ARP, HTTP
Figure 112021126186708-pat00004
,
Figure 112021126186708-pat00005
,
Figure 112021126186708-pat00006
, ...,
Figure 112021126186708-pat00007
HTTP
Figure 112021126186708-pat00008
, ...
... ...
표 1을 이용하여, 장치 유형 식별부(122)는 IoT 장치와 연관된 트래픽을 발생시키는 적어도 하나의 프로토콜을 결정할 수 있다. 또한, 장치 유형 식별부(122)는 사전 결정된 프로토콜 목록(예: 표 1 등의 목록)을 기초로 결정된 적어도 하나의 프로토콜에 대응하는 장치 유형을 포함하는 제1 후보 장치 유형 목록을 추출할 수 있다. 예를 들어, 센서 단말(110)로부터 ARP와 연관된 제1 주기도, HTTP와 연관된 제2 주기도 등을 수신하는 경우, 장치 유형 식별부(122)는 ARP 및 HTTP와 대응되는 장치 유형인 {
Figure 112021126186708-pat00009
,
Figure 112021126186708-pat00010
,
Figure 112021126186708-pat00011
, ...,
Figure 112021126186708-pat00012
}를 포함하는 제1 후보 장치 유형 목록을 추출할 수 있다.
추가적으로, 정보 처리 시스템(120)은 프로토콜별 장치 유형에 대한 정보 등을 포함하는 데이터베이스를 포함하거나, 데이터베이스와 연관될 수 있다. 예를 들어, 데이터베이스는 다음의 표 2와 같은 분류된 장치 유형(classified device type) 목록을 포함할 수 있다.
프로토콜 분류된 장치 유형
ARP
Figure 112021126186708-pat00013
,
Figure 112021126186708-pat00014
,
Figure 112021126186708-pat00015
,
Figure 112021126186708-pat00016
, ...,
Figure 112021126186708-pat00017
DNS
Figure 112021126186708-pat00018
HTTP
Figure 112021126186708-pat00019
,
Figure 112021126186708-pat00020
,
Figure 112021126186708-pat00021
,
Figure 112021126186708-pat00022
,
Figure 112021126186708-pat00023
,
Figure 112021126186708-pat00024
TCP
Figure 112021126186708-pat00025
... ...
표 2를 이용하여 장치 유형 식별부(122)는 IoT 장치와 연관된 적어도 하나의 프로토콜 및 적어도 하나의 주기도를 이용하여 유사한 주기도를 갖는 장치 유형을 포함하는 제2 후보 장치 유형 목록을 추출할 수 있다. 예를 들어, 장치 유형 식별부(122)는 ARP로 분류된 장치 유형 중 제1 주기도(
Figure 112021126186708-pat00026
)와 유사한 특징을 포함하는 적어도 하나의 장치 유형을 추출하고, HTTP로 분류된 장치 유형 중 제2 주기도(
Figure 112021126186708-pat00027
)와 유사한 특징을 포함하는 적어도 하나의 장치 유형을 추출할 수 있다.
일 실시예에 따르면, 장치 유형 식별부(122)는 KNN(K-Nearest Neighbor) 알고리즘을 기초로 IoT 장치와 연관된 주기도와 각각의 장치 유형과 연관된 주기도 사이의 유사성을 결정할 수 있다. 장치 유형 식별부(122)는 주기도(예: 제1 주기도 및 제2 주기도)에 대한 주성분 분석(PCA, Principal Component Analysis)을 수행하여 주기도와 연관된 특징(feature)을 추출할 수 있다. 그리고 나서, 장치 유형 식별부(122)는 추출된 특징과 프로토콜 별로 분류된 장치 유형 각각의 특징을 KNN 알고리즘에 제공하여 가장 유사한 k(여기서, k는 자연수)개의 장치 유형을 추출할 수 있다. 예를 들어, ARP와 연관된 장치 유형 중 {
Figure 112021126186708-pat00028
,
Figure 112021126186708-pat00029
}이 유사한 장치 유형으로 추출될 수 있으며, HTTP와 연관된 장치 유형 중 {
Figure 112021126186708-pat00030
,
Figure 112021126186708-pat00031
}이 유사한 장치 유형으로 추출될 수 있다. 이 경우, 제2 후보 장치 유형 목록은 {
Figure 112021126186708-pat00032
,
Figure 112021126186708-pat00033
,
Figure 112021126186708-pat00034
,
Figure 112021126186708-pat00035
}으로 결정될 수 있다.
장치 유형 식별부(122)는 제1 후보 장치 유형 목록과 제2 후보 장치 유형 목록에 포함된 적어도 하나의 장치 유형을 추출할 수 있다. 상술된 예에서, 제1 후보 장치 유형 목록과 제2 후보 장치 유형 목록에 모두 포함된 장치 유형은 {
Figure 112021126186708-pat00036
,
Figure 112021126186708-pat00037
}로 추출될 수 있다. 이 경우, 장치 유형 식별부(122)는 추출된 적어도 하나의 장치 유형과 연관된 각각의 주기도와 IoT 장치와 연관된 주기도를 비교하여 IoT 장치의 장치 유형을 결정할 수 있다. 예를 들어, 장치 유형 식별부(122)는 다음의 표 3과 같은 장치 유형별 주기도 세트에 대한 정보를 이용하여 IoT 장치에 대응하는 장치 유형을 결정할 수 있다. 즉, 정보 처리 시스템(120)은 장치 유형별 주기도 세트에 대한 정보 등을 포함하는 데이터베이스를 포함하거나, 데이터베이스와 연관될 수 있다.
장치 유형 주기도 세트
Figure 112021126186708-pat00038
{1, 2, 5}, {1, 2, 4}, {3, 6, 7}, ...
Figure 112021126186708-pat00039
{1, 2, 3}, {1, 2, 4}, {3, 6, 9}, ...
Figure 112021126186708-pat00040
{1, 2, 3}, {1, 2, 4}, {3, 6, 7}, ...
... ...
이 경우, 장치 유형 식별부(122)는 주기도 사이의 유클리드 거리(Euclidean distance)를 산출하고, 산출된 유클리드 거리를 기초로 IoT 장치로부터 추출된 주기도와 최단 거리를 형성하는 주기도를 갖는 장치 유형을 IoT 장치의 장치 유형으로 결정할 수 있다. 즉, 장치 유형 식별부(122)는
Figure 112021126186708-pat00041
Figure 112021126186708-pat00042
의 각각의 주기도와 IoT 장치의 제1 주기도, 제2 주기도 사이의 유클리드 거리를 산출하고, 유클리드 거리가 가장 가까운 장치 유형을 IoT 장치의 장치 유형으로 결정할 수 있다. 이와 같은 구성에 의해, 후보 장치 유형을 추출하고 추출된 후보 장치 유형에 대응되는 주기도 세트만을 이용하여 유클리드 거리 산출 및 장치 유형 결정을 수행함으로써, 정보 처리 시스템(120)은 적은 컴퓨팅 자원으로도 효율적으로 IoT 장치의 장치 유형을 결정할 수 있다.
일 실시예에 따르면, 모델 생성부(124)는 이상 행위를 탐지하기 위한 장치 유형별 베이스라인 모델을 생성할 수 있다. 예를 들어, 모델 생성부(124)는 장치 유형별 정상 동작을 프로파일링(profiling)하고 정상 동작 프로파일에서 벗어나는 동작을 탐지하는 머신 러닝 기반의 베이스라인 모델을 생성할 수 있으나, 이에 한정되지 않는다. 모델 생성부(124)는 결정된 IoT 장치의 장치 유형을 확인하고, 해당 장치 유형에 대응하는 베이스라인 모델을 센서 단말(110)에 제공하여 이상 행위 탐지를 수행할 수 있다.
일 실시예에 따르면, 모델 생성부(124)는 IoT 장치로부터 추출된 복수의 패킷의 특징을 획득하고, 이상 행위의 탐지 결과, IoT 장치가 정상인 것으로 판정된 경우, 추출된 복수의 패킷의 특징을 이용하여 이상 행위 탐지 모델을 학습시키거나 업데이트할 수 있다. 즉, 장치 유형별 이상 행위 탐지 모델은 정상적인 패킷의 특징을 이용하여 지속적으로 업데이트될 수 있다. 여기서, 이상 행위 탐지 모델은 LSTM(Long Short Term Memory) 기반의 모델일 수 있으나, 이에 한정되지 않는다.
도 2에서는 정보 처리 시스템(120)에 포함된 각각의 기능적인 구성이 구분되어 상술되었으나, 이는 발명의 이해를 돕기 위한 것일 뿐이며, 하나의 연산 장치에서 둘 이상의 기능을 수행할 수도 있다. 또한, 도 2에서는 IoT 장치와 연관된 주기도가 센서 단말(110)에 의해 생성되어 수신되는 것으로 상술되었으나, 이에 한정되지 않으며, 정보 처리 시스템(120)은 IoT 장치로부터 추출된 복수의 패킷을 수신하여 IoT 장치와 연관된 주기도를 생성하고, 생성된 주기도를 기초로 IoT 장치의 장치 유형을 식별할 수도 있다. 이와 같은 구성에 의해, 정보 처리 시스템(120)은 IoT 장치와 연관된 주기도를 이용하여 IoT 장치의 장치 유형을 간단히 식별할 수 있다.
도 3은 본 발명의 일 실시예에 따른 센서 단말(110) 및 정보 처리 시스템(120)이 통신 가능하도록 연결된 구성을 나타내는 개요도이다. 정보 처리 시스템(120)은 센서 단말(110)과 연관된 IoT 장치에서의 이상 행위를 탐지하거나 분석하기 위한 임의의 시스템을 포함할 수 있다. 정보 처리 시스템(120)은 네트워크(310)를 통해 센서 단말(110)과 통신을 수행할 수 있다. 일 실시예에 따르면, 정보 처리 시스템(120)은 센서 단말(110)과 연관된 패킷을 분석하거나 주기도를 생성하고, 이상 행위 탐지 모델을 제공할 수 있는 컴퓨터 실행 가능한 프로그램(예를 들어, 다운로드 가능한 어플리케이션) 및 데이터를 저장, 제공 및 실행할 수 있는 하나 이상의 서버 장치 및/또는 데이터베이스, 또는 클라우드 컴퓨팅 서비스 기반의 하나 이상의 분산 컴퓨팅 장치 및/또는 분산 데이터베이스를 포함할 수 있다.
센서 단말(110)은 네트워크(310)를 통해 정보 처리 시스템(120)과 통신할 수 있다. 네트워크(310)는 센서 단말(110)과 정보 처리 시스템(120) 사이의 통신이 가능하도록 구성될 수 있다. 네트워크(310)는 설치 환경에 따라, 예를 들어, 이더넷(Ethernet), 유선 홈 네트워크(Power Line Communication), 전화선 통신 장치 및 RS-serial 통신 등의 유선 네트워크, 이동통신망, WLAN(Wireless LAN), Wi-Fi, Bluetooth 및 ZigBee 등과 같은 무선 네트워크 또는 그 조합으로 구성될 수 있다. 통신 방식은 제한되지 않으며, 네트워크(310)가 포함할 수 있는 통신망(일례로, 이동통신망, 유선 인터넷, 무선 인터넷, 방송망, 위성망 등)을 활용하는 통신 방식뿐 아니라 복수의 IoT 장치들 사이의 근거리 무선 통신 역시 포함될 수 있다.
도 3에서 센서 단말(110)은 휴대폰 단말, 태블릿 단말 등을 포함할 수 있으나, 이에 한정되지 않으며, 센서 단말(110)은 유선 및/또는 무선 통신이 가능하고 임의의 어플리케이션 등이 설치되어 실행될 수 있는 임의의 컴퓨팅 장치일 수 있다. 예를 들어, 센서 단말(110)은, 스마트폰, 휴대폰, 내비게이션, 컴퓨터, 노트북, 디지털방송용 단말, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 태블릿 PC, 게임 콘솔(game console), 웨어러블 디바이스(wearable device), IoT(internet of things) 디바이스, VR(virtual reality) 디바이스, AR(augmented reality) 디바이스 등을 포함할 수 있다. 또한, 도 3에는 하나의 센서 단말(110)이 네트워크(310)를 통해 정보 처리 시스템(120)과 통신하는 것으로 도시되어 있으나, 이에 한정되지 않으며, 상이한 수의 센서 단말이 네트워크(310)를 통해 정보 처리 시스템(120)과 통신하도록 구성될 수도 있다.
일 실시예에 따르면, 정보 처리 시스템(120)은 센서 단말(110)이 네트워크(310) 등에 연결된 경우, 연결된 센서 단말(110)의 장치 유형을 결정할 수 있다. 또한, 정보 처리 시스템(120)은 결정된 센서 단말(110)의 장치 유형에 대응하도록 생성된 이상 행위 탐지 모델을 추출하고, 추출된 이상 행위 탐지 모델에 센서 단말(110)로부터 수집된 복수의 패킷을 제공하여 센서 단말(110)과 연관된 이상 행위를 탐지할 수 있다. 추가적으로 또는 대안적으로, 정보 처리 시스템(120)은 추출된 이상 행위 탐지 모델을 센서 단말(110)에 제공할 수 있으며, 센서 단말(110)은 제공된 이상 행위 탐지 모델에 수집된 복수의 패킷을 제공하여 IoT 장치와 연관된 이상 행위를 탐지할 수 있다.
도 4는 본 발명의 일 실시예에 따른 센서 단말(110) 및 정보 처리 시스템(120) 사이에서 이상 행위 탐지 모델이 학습되는 과정을 나타내는 예시적인 도면이다. 도시된 바와 같이, 센서 단말(110) 및 정보 처리 시스템(120)은 이상 행위 탐지 모델의 학습에 필요한 데이터 및/또는 정보를 주고받을 수 있다.
일 실시예에 따르면, 정보 처리 시스템(120)은 IoT 장치의 장치 유형을 식별하고, 해당 장치 유형에 대응하는 이상 행위 탐지 모델(422)을 센서 단말(110)에 제공할 수 있다. 예를 들어, 정보 처리 시스템(120)은 장치 유형별 이상 행위 탐지 모델을 특정 데이터베이스에 저장하여 관리할 수 있으며, 센서 단말(110)은 데이터베이스에 저장된 모델 중 IoT 장치의 장치 유형에 대응하는 이상 행위 탐지 모델(422)을 검색하여 추출할 수 있다.
센서 단말(110)은 이상 행위 탐지 모델(422)에 IoT 장치로부터 수집된 복수의 패킷을 제공하여 IoT 장치와 연관된 이상 행위를 탐지할 수 있다(412). 일 실시예에 따르면, 센서 단말(110)은 복수의 패킷의 각각에 대응하는 특징 벡터(feature vector)를 생성할 수 있다. 예를 들어, 특징 벡터는 다음의 수학식 1과 같이 7자리 벡터로 결정될 수 있다.
Figure 112021126186708-pat00043
여기서,
Figure 112021126186708-pat00044
는 특정 패킷에 대응하는 특징 벡터를 나타낼 수 있다. 또한,
Figure 112021126186708-pat00045
는 패킷의 송수신 여부를 나타내는 값으로, IoT 장치가 수신하는 패킷은 1로 결정되고, 송신하는 패킷은 0으로 결정될 수 있다.
Figure 112021126186708-pat00046
는 IoT 장치에서 발생하는 패킷이 사용하는 포트(port)를 나타내며, 0~1023의 시스템 포트일 경우 0으로 결정되고, 1024~49151의 유저 포트일 경우 1로 결정되고, 그 외의 경우에는 2로 결정될 수 있다.
Figure 112021126186708-pat00047
는 IoT 장치에서 발생하는 패킷을 수신하는 장치가 사용하는 포트를 나타내며, 0~1023의 시스템 포트일 경우 0으로 결정되고, 1024~49151의 유저 포트일 경우 1로 결정되고, 그 외의 경우에는 2로 결정될 수 있다. 또한,
Figure 112021126186708-pat00048
는 패킷의 바이트 단위 길이를 나타내고,
Figure 112021126186708-pat00049
는 TCP flag, SYN 등일 경우 0으로 결정되고, ACK일 경우 1로 결정될 수 있다.
Figure 112021126186708-pat00050
은 TCP가 감싸고 있는 프로토콜을 나타내고,
Figure 112021126186708-pat00051
는 이전 패킷 대비 패킷 발생 간격을 나타낼 수 있다.
일 실시예에 따르면, 이상 행위 탐지 모델(422)은 이와 같은 각 패킷에 대응하는 특징 벡터를 이용하여 특징 벡터가 발생할 확률을 산출할 수 있으며, 산출된 확률이 사전 결정된 임계값보다 낮을 경우, 이상 행위가 발생한 것으로 결정할 수 있다. 즉, 이상 행위 탐지 모델(422)은 발생한 패킷을 마지막으로 발생한 k개의 패킷과 비교하여 발생 확률을 산출하고, 확률이 사전 결정된 임계값보다 낮을 경우, 이상 행위로 간주할 수 있다.
일 실시예에 따르면, 이상 행위가 존재하지 않는 것으로 판정된 경우, 센서 단말(110)은 복수의 패킷과 연관된 특징 정보(414)를 정보 처리 시스템(120)으로 전송할 수 있다. 즉, 정보 처리 시스템(120)은 IoT 장치로부터 추출된 복수의 패킷의 특징 정보를 획득하여 저장할 수 있다(424). 예를 들어, 복수의 패킷의 특징 정보는 장치 유형별로 별도의 데이터베이스에 저장되어 관리될 수 있다.
정보 처리 시스템(120)은 이상 행위의 탐지 결과, IoT 장치가 정상인 것으로 판정된 경우, 추출된 복수의 패킷의 특징 정보를 이용하여 이상 행위 탐지 모델을 학습시킬 수 있다(426). 예를 들어, 정보 처리 시스템(120)은 장치 유형별로 저장된 복수의 패킷의 특징 정보를 이용하여 이상 행위 탐지 모델을 업데이트할 수 있다. 즉, 이상 행위 탐지 모델은 정상적인 IoT 장치의 패킷을 이용하여 지속적으로 업데이트될 수 있다. 이와 같이 업데이트가 수행된 경우, 정보 처리 시스템(120)은 업데이트된 이상 행위 탐지 모델(428)을 센서 단말(110)에 제공하여 IoT 장치에서의 이상 행위 탐지를 수행할 수 있다.
도 5는 본 발명의 일 실시예에 따른 IoT 장치와 연관된 주기도가 생성되는 예시를 나타내는 흐름도이다. 일 실시예에 따르면, 센서 단말(도 1의 110) 및/또는 정보 처리 시스템(도 1의 120)은 IoT 장치로부터 수집된 복수의 패킷(510)을 기초로 IoT 장치와 연관된 트래픽의 패턴을 나타내는 적어도 하나의 주기도(550)를 생성할 수 있다.
일 실시예에 따르면, 센서 단말 및/또는 정보 처리 시스템은 IoT 장치로부터 수집된 복수의 패킷(510)을 획득할 수 있다. 여기서, 복수의 패킷(510)은 IoT 장치에서 발생하는 패킷, IoT 장치가 수신하는 패킷 등을 포함할 수 있으며, 예를 들어, n초(여기서, n은 자연수) 동안 수집된 패킷을 포함할 수 있다. 센서 단말 및/또는 정보 처리 시스템은 복수의 패킷(510)을 IoT 장치의 통신에 사용되는 프로토콜 별로 분류하고, 분류된 패킷을 이용하여 시계열 데이터(520)를 생성할 수 있다.
일 실시예에 따르면, 센서 단말 및/또는 정보 처리 시스템은 프로토콜 별로 분류된 복수의 세부 패킷을 특정 시간 간격을 갖는 복수의 구간과 연관시킬 수 있다. 그리고 나서, 센서 단말 및/또는 정보 처리 시스템은 복수의 구간 중 복수의 세부 패킷의 적어도 일부가 존재하는 제1 세트의 구간 및 복수의 세부 패킷의 적어도 일부가 존재하지 않는 제2 세트의 구간을 추출할 수 있다(512). 예를 들어, 특정 시간 간격은 1초 단위의 구간(BIN)을 포함할 수 있으며, 센서 단말 및/또는 정보 처리 시스템은 BIN 마다 패킷이 발생하였는지 여부를 결정할 수 있다.
그리고 나서, 센서 단말 및/또는 정보 처리 시스템은 추출된 제1 세트의 구간 및 제2 세트의 구간을 이용하여 복수의 세부 패킷과 연관된 시계열 데이터(520)를 생성할 수 있다. 예를 들어, 센서 단말 및/또는 정보 처리 시스템은 패킷이 존재하는 구간은 1 값으로 채우고, 패킷이 존재하지 않는 구간은 0 값으로 채워 시계열 데이터(520)를 생성할 수 있다. 시계열 데이터(520)는 다음의 수학식 2에 의해 생성될 수 있다.
Figure 112021126186708-pat00052
일 실시예에 따르면, 센서 단말 및/또는 정보 처리 시스템은 이산 푸리에 변환(Discrete Fourier Transform) 알고리즘을 이용하여 시계열 데이터(520)를 주파수 데이터(530)로 변환할 수 있다(522). 예를 들어, 시계열 데이터(520)가
Figure 112021126186708-pat00053
인 경우, 이산 푸리에 변환은 다음의 수학식 3에 의해 수행될 수 있다.
Figure 112021126186708-pat00054
즉, 주파수 데이터(530)는 주파수 영역의 함수로서, 예를 들어,
Figure 112021126186708-pat00055
와 같이 산출될 수 있다.
일 실시예에 따르면, 센서 단말 및/또는 정보 처리 시스템은 변환된 주파수 데이터(530)에 포함된 각 주파수 원소의 크기를 산출하고, 산출된 각 주파수 원소의 크기를 기초로 제1 임계값 이상의 크기를 갖는 복수의 주파수 원소를 추출할 수 있다. 예를 들어, 센서 단말 및/또는 정보 처리 시스템은 어떤 데이터 열에서 특정한 진동수를 얼마나 포함하고 있는지 판별하기 위해 푸리에 계수에 대한 놈(norm) 연산을 수행하여 각 주파수 원소의 크기를 나타내는 스펙트럼 밀도 값을 산출할 수 있다(532). 그리고 나서, 센서 단말 및/또는 정보 처리 시스템은 주파수 원소의 크기가 가장 큰 지배적 주파수를 추출하고, 추출된 지배적 주파수의 스펙트럼 밀도 값의 특정 비율(예: 25%) 이상을 가지는 주파수들을 선별할 수 있다. 예를 들어, 지배적 주파수는 다음의 수학식 4에 의해 추출될 수 있으며, 지배적 주파수의 스펙트럼 밀도 값의 특정 비율(예: 25%) 이상을 가지는 주파수들은 다음의 수학식 5에 의해 선별될 수 있다.
Figure 112021126186708-pat00056
Figure 112021126186708-pat00057
이 경우, 센서 단말 및/또는 정보 처리 시스템은 추출된 복수의 주파수 원소(또는 복수의 주파수 원소에 대응하는 주파수)를 기초로 후보 주기 데이터(540)를 생성할 수 있다. 예를 들어, 후보 주기 데이터(540)(
Figure 112021126186708-pat00058
)는 다음의 수학식 6에 의해 생성될 수 있다.
Figure 112021126186708-pat00059
센서 단말 및/또는 정보 처리 시스템은 후보 주기 데이터(540)에 포함된 각 주기 원소에 대한 자기상관(autocorrelation) 값을 산출할 수 있다(542). 그리고 나서, 센서 단말 및/또는 정보 처리 시스템은 산출된 자기상관 값이 제2 임계값 이상의 크기를 갖는 복수의 주기 원소를 추출하고, 추출된 복수의 주기 원소를 포함하는 주기도(550)를 생성할 수 있다. 예를 들어, 자기상관 값은 다음의 수학식 7에 의해 산출될 수 있다.
Figure 112021126186708-pat00060
여기서,
Figure 112021126186708-pat00061
은 자기상관 값을 나타낼 수 있으며, 임의의 주기가 l 이고, 시간
Figure 112021126186708-pat00062
에 대한 신호 값이
Figure 112021126186708-pat00063
로 주어졌을 때 l에 대한 자기상관 값일 수 있다. 즉, 센서 단말 및/또는 정보 처리 시스템은 이와 같이 산출된 자기상관 값 중 일부만을 선택하여 주기도(
Figure 112021126186708-pat00064
)를 생성할 수 있다. 센서 단말 및/또는 정보 처리 시스템은 각 프로토콜별로 상술된 과정을 반복하여 프로토콜별 주기도를 생성할 수 있다.
도 6은 본 발명의 일 실시예에 따른 시계열 데이터(610) 및 주파수 데이터(620)의 예시를 나타내는 도면이다. 상술된 바와 같이, 시계열 데이터(610)는 복수의 패킷을 IoT 장치의 통신에 사용되는 프로토콜 별로 분류하고, 분류된 복수의 세부 패킷을 특정 시간 간격을 갖는 복수의 구간과 연관시킴으로써 생성될 수 있다. 이 경우, 시계열 데이터(610)는 0 및 1의 값으로 구성된 이산적인 그래프로 표시될 수 있다.
일 실시예에 따르면, 이산 푸리에 변환 알고리즘을 기초로 시계열 데이터(610)는 주파수 데이터(620)로 변환될 수 있다. 시계열 데이터(610)가 주파수 데이터(620)로 변환되는 경우, 각 주파수의 스펙트럼 밀도가 산출될 수 있다. 도시된 것과 같이, 주파수 데이터(620)는 각 주파수에 따라 상이하게 산출된 스펙트럼 밀도를 포함할 수 있다. 이와 같이, 시계열 데이터(610)를 그대로 이용하지 않고 주파수 데이터(620)로 변환하여 이용함으로써, 센서 단말 및/또는 정보 처리 시스템은 중요도가 높은 특정 주파수를 효과적으로 추출할 수 있으며, 이에 따라 복수의 패킷의 특징을 명확하게 나타내는 주기도를 생성할 수 있다.
도 7은 본 발명의 일 실시예에 따른 센서 단말(110) 및 정보 처리 시스템(120) 사이에서 장치 유형이 결정되는 과정을 나타내는 예시적인 도면이다. 도시된 바와 같이, 센서 단말(110) 및 정보 처리 시스템(120)은 IoT 장치의 장치 유형 결정에 필요한 데이터 및/또는 정보를 주고받을 수 있다.
상술된 바와 같이, 센서 단말(110)은 IoT 장치로부터 수집된 복수의 패킷을 이용하여 트래픽의 패턴을 나타내는 주기도를 생성할 수 있다(712). 그리고 나서, 센서 단말(110)은 생성된 주기도(714)를 정보 처리 시스템(120)으로 전송할 수 있다. 추가적으로 또는 대안적으로, 정보 처리 시스템(120)은 센서 단말(110)로부터 복수의 패킷을 수신하여 주기도를 직접 생성할 수도 있다.
일 실시예에 따르면, 정보 처리 시스템(120)은 IoT 장치와 연관된 트래픽을 발생시키는 적어도 하나의 프로토콜(protocol)을 결정하고, 사전 결정된 프로토콜 목록을 기초로 결정된 적어도 하나의 프로토콜에 대응하는 장치 유형을 포함하는 제1 후보 장치 유형 목록을 추출할 수 있다(722). 또한, 정보 처리 시스템(120)은 획득한 주기도를 이용하여 IoT 장치와 연관된 적어도 하나의 프로토콜 및 적어도 하나의 주기도를 이용하여 유사한 주기도를 갖는 장치 유형을 포함하는 제2 후보 장치 유형 목록을 추출할 수 있다(724).
그리고 나서, 정보 처리 시스템(120)은 제1 후보 장치 유형 목록과 제2 후보 장치 유형 목록에 포함된 적어도 하나의 장치 유형을 추출하고, 추출된 적어도 하나의 장치 유형과 연관된 각각의 주기도와 IoT 장치와 연관된 주기도를 비교하여 IoT 장치의 장치 유형을 결정할 수 있다(726). 이 경우, 정보 처리 시스템(120)은 이와 같이 결정된 장치 유형에 대응되는 이상 행위 탐지 모델(728)을 센서 단말(110)에 제공할 수 있다.
도 7에서는 정보 처리 시스템(120)이 주기도(714)를 획득한 후 제1 후보 장치 유형 목록 및 제2 후보 장치 유형 목록이 추출되는 것으로 도시되었으나, 이에 한정되지 않는다. 예를 들어, 제1 후보 장치 유형 목록이 생성된 후 주기도가 획득될 수도 있다.
도 8은 본 발명의 일 실시예에 따른 이상 행위 탐지 모델(800)의 예시를 나타내는 도면이다. 상술된 바와 같이, 이상 행위 탐지 모델(800)은 IoT 장치와 연관된 복수의 패킷(810)을 이용하여 이상 행위 탐지(820)를 수행할 수 있다. 여기서, 이상 행위 탐지 모델(800)은 장치 유형별로 구분하여 생성된 모델일 수 있다. 또한, 복수의 패킷(810)은 패킷 각각의 특징을 나타내는 특징 벡터로 변환되어 이상 행위 탐지 모델(800)에 제공될 수 있다.
일 실시예에 따르면, 이상 행위 탐지 모델(800)은 RNN(Recurrent Neural Network) 모델 중 하나인 LSTM 기반의 모델일 수 있다. 여기서, LSTM은 시계열 데이터와 같이 순차적으로 발생하는 신호를 학습하기 위한 네트워크일 수 있다. 즉, LSTM 기반의 모델은 일종의 메모리를 포함하고 있으며, 특정한 이산적 시간 t에, 이전 시간에 발생한 이벤트들을 바탕으로 미래의 이벤트를 예측할 수 있다. 예를 들어, LSTM 기반의 이상 행위 탐지 모델(800)은 입력 받은 신호가 지금까지 입력 받은 신호들의 특성으로 비추어 볼 때 발생했을 확률이 사전 결정된 기준보다 낮은 경우 이상 행위로 간주할 수 있다.
도 9는 본 발명의 일 실시예에 따른 이상 행위 탐지 방법(900)의 예시를 나타내는 흐름도이다. 일 실시예에 따르면, 이상 행위 탐지 방법(900)은 센서 단말의 프로세서(예: 센서 단말의 적어도 하나의 프로세서)에 의해 수행될 수 있다. 다른 예에서, 이상 행위 탐지 방법(900)은 정보 처리 시스템의 프로세서(예: 정보 처리 시스템의 적어도 하나의 프로세서)에 의해 수행될 수 있다. 또 다른 예에서, 이상 행위 탐지 방법(900)은 센서 단말과 정보 처리 시스템의 상호작용에 의해 수행될 수 있다.
일 실시예에 따르면, 이상 행위 탐지 방법(900)은 IoT 장치가 연결된 경우, 프로세서가 연결된 IoT 장치의 장치 유형을 결정함으로써 개시될 수 있다(S910). 예를 들어 IoT 장치의 장치 유형은 복수의 패킷을 기초로 생성된 주기도를 이용하여 결정될 수 있다.
그리고 나서, 프로세서는 결정된 IoT 장치의 장치 유형에 대응하도록 생성된 이상 행위 탐지 모델을 추출할 수 있다(S920). 또한, 프로세서는 추출된 이상 행위 탐지 모델을 IoT 장치와 연관된 센서 단말에 제공할 수 있다(S930). 여기서, 이상 행위 탐지 모델은 LSTM 기반의 모델일 수 있다. 이 경우, 센서 단말은 제공된 이상 행위 탐지 모델에 IoT 장치로부터 수집된 복수의 패킷을 제공하여 IoT 장치와 연관된 이상 행위를 탐지할 수 있다.
도 10은 본 발명의 일 실시예에 따른 IoT 장치의 장치 유형 결정 방법(1000)의 예시를 나타내는 흐름도이다. 일 실시예에 따르면, IoT 장치의 장치 유형 결정 방법(1000)은 센서 단말의 프로세서(예: 센서 단말의 적어도 하나의 프로세서)에 의해 수행될 수 있다. 다른 예에서, IoT 장치의 장치 유형 결정 방법(1000)은 정보 처리 시스템의 프로세서(예: 정보 처리 시스템의 적어도 하나의 프로세서)에 의해 수행될 수 있다. 또 다른 예에서, IoT 장치의 장치 유형 결정 방법(1000)은 센서 단말과 정보 처리 시스템의 상호작용에 의해 수행될 수 있다.
IoT 장치의 장치 유형 결정 방법(1000)은 프로세서가 IoT 장치와 연관된 트래픽을 발생시키는 적어도 하나의 프로토콜을 결정함으로써 개시될 수 있다(S1010). 이 경우, 프로세서는 사전 결정된 프로토콜 목록을 기초로 결정된 적어도 하나의 프로토콜에 대응하는 장치 유형을 포함하는 제1 후보 장치 유형 목록을 추출할 수 있다(S1020).
프로세서는 IoT 장치로부터 수집된 복수의 패킷을 기초로 IoT 장치와 연관된 트래픽의 패턴을 나타내는 적어도 하나의 주기도를 생성할 수 있다(S1030). 또한, 프로세서는 IoT 장치와 연관된 적어도 하나의 프로토콜 및 적어도 하나의 주기도를 이용하여 유사한 주기도를 갖는 장치 유형을 포함하는 제2 후보 장치 유형 목록을 추출할 수 있다(S1040). 예를 들어, 프로세서는 KNN 알고리즘을 기초로 IoT 장치와 연관된 주기도와 각각의 장치 유형과 연관된 주기도 사이의 유사성을 결정하고, 결정된 유사성을 기초로 제2 후보 장치 유형 목록을 추출할 수 있다.
프로세서는 제1 후보 장치 유형 목록과 제2 후보 장치 유형 목록에 포함된 적어도 하나의 장치 유형을 추출할 수 있다(S1050). 또한, 프로세서는 추출된 적어도 하나의 장치 유형과 연관된 각각의 주기도와 IoT 장치와 연관된 주기도를 비교하여 IoT 장치의 장치 유형을 결정할 수 있다(S1060). 예를 들어, 프로세서는 추출된 적어도 하나의 장치 유형과 연관된 각각의 주기도와 IoT 장치와 연관된 주기도 사이의 유클리드 거리를 산출하고, 산출된 유클리드 거리를 기초로 IoT 장치로부터 추출된 주기도와 최단 거리를 형성하는 주기도를 갖는 장치 유형을 IoT 장치의 장치 유형으로 결정할 수 있다.
도 11은 본 발명의 일 실시예에 따른 주기도 생성 방법(1100)의 예시를 나타내는 흐름도이다. 일 실시예에 따르면, 주기도 생성 방법(1100)은 센서 단말의 프로세서(예: 센서 단말의 적어도 하나의 프로세서)에 의해 수행될 수 있다. 다른 예에서, 주기도 생성 방법(1100)은 정보 처리 시스템의 프로세서(예: 정보 처리 시스템의 적어도 하나의 프로세서)에 의해 수행될 수 있다. 또 다른 예에서, 주기도 생성 방법(1100)은 센서 단말과 정보 처리 시스템의 상호작용에 의해 수행될 수 있다.
주기도 생성 방법(1100)은 프로세서가 IoT 장치로부터 수집된 복수의 패킷을 IoT 장치의 통신에 사용되는 프로토콜 별로 분류함으로써 개시될 수 있다(S1110). 이 경우, 프로세서는 특정 프로토콜을 사용하는 것으로 분류된 복수의 세부 패킷을 기초로 특정 프로토콜과 연관된 주기도를 생성할 수 있다(S1120). 즉, 프로세서는 프로토콜 별로 별도의 주기도를 생성할 수 있다.
일 실시예에 따르면, 프로세서는 복수의 세부 패킷을 특정 시간 간격을 갖는 복수의 구간과 연관시키고, 복수의 구간 중 복수의 세부 패킷의 적어도 일부가 존재하는 제1 세트의 구간 및 복수의 세부 패킷의 적어도 일부가 존재하지 않는 제2 세트의 구간을 추출할 수 있다. 그리고 나서, 프로세서는 추출된 제1 세트의 구간 및 제2 세트의 구간을 이용하여 복수의 세부 패킷과 연관된 시계열 데이터를 생성할 수 있다.
프로세서는 이산 푸리에 변환 알고리즘을 이용하여 시계열 데이터를 주파수 데이터로 변환하고, 변환된 주파수 데이터에 포함된 각 주파수 원소의 크기를 산출할 수 있다. 또한, 프로세서는 산출된 각 주파수 원소의 크기를 기초로 제1 임계값 이상의 크기를 갖는 복수의 주파수 원소를 추출하고, 추출된 복수의 주파수 원소를 기초로 후보 주기 데이터를 생성할 수 있다.
프로세서는 후보 주기 데이터에 포함된 각 주기 원소에 대한 자기상관 값을 산출하고, 산출된 자기상관 값이 제2 임계값 이상의 크기를 갖는 복수의 주기 원소를 추출할 수 있다. 이 경우, 프로세서는 추출된 복수의 주기 원소를 포함하는 특정 프로토콜과 연관된 주기도를 생성할 수 있다.
도 12는 본 발명의 일 실시예에 따른 컴퓨팅 장치(1200)의 내부 구성을 나타내는 블록도이다. 일 실시예에 따르면, 컴퓨팅 장치(1200)는 상술한 센서 단말, 정보 처리 시스템 등을 포함할 수 있다. 컴퓨팅 장치(1200)는 메모리(1210), 프로세서(1220), 통신 모듈(1230) 및 입출력 인터페이스(1240)를 포함할 수 있다. 도 12에 도시된 바와 같이, 컴퓨팅 장치(1200)는 통신 모듈(1230)을 이용하여 네트워크를 통해 정보 및/또는 데이터를 통신할 수 있도록 구성될 수 있다.
메모리(1210)는 비-일시적인 임의의 컴퓨터 판독 가능한 기록매체를 포함할 수 있다. 일 실시예에 따르면, 메모리(1210)는 RAM(random access memory), ROM(read only memory), 디스크 드라이브, SSD(solid state drive), 플래시 메모리(flash memory) 등과 같은 비소멸성 대용량 저장 장치(permanent mass storage device)를 포함할 수 있다. 다른 예로서, ROM, SSD, 플래시 메모리, 디스크 드라이브 등과 같은 비소멸성 대용량 저장 장치는 메모리와는 구분되는 별도의 영구 저장 장치로서 컴퓨팅 장치(1200)에 포함될 수 있다. 또한, 메모리(1210)에는 운영체제와 적어도 하나의 프로그램 코드가 저장될 수 있다.
이러한 소프트웨어 구성요소들은 메모리(1210)와는 별도의 컴퓨터에서 판독 가능한 기록매체로부터 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록매체는 이러한 컴퓨팅 장치(1200)에 직접 연결가능한 기록 매체를 포함할 수 있는데, 예를 들어, 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록매체를 포함할 수 있다. 다른 예로서, 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록매체가 아닌 통신 모듈(1230)을 통해 메모리(1210)에 로딩될 수도 있다. 예를 들어, 적어도 하나의 프로그램은 개발자들 또는 어플리케이션의 설치 파일을 배포하는 파일 배포 시스템이 통신 모듈(1230)을 통해 제공하는 파일들에 의해 설치되는 컴퓨터 프로그램에 기반하여 메모리(1210)에 로딩될 수 있다.
프로세서(1220)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(1210) 또는 통신 모듈(1230)에 의해 사용자 단말(미도시) 또는 다른 외부 시스템으로 제공될 수 있다.
통신 모듈(1230)은 네트워크를 통해 사용자 단말(미도시)과 컴퓨팅 장치(1200)가 서로 통신하기 위한 구성 또는 기능을 제공할 수 있으며, 컴퓨팅 장치(1200)가 외부 시스템(일례로 별도의 클라우드 시스템 등)과 통신하기 위한 구성 또는 기능을 제공할 수 있다. 일례로, 컴퓨팅 장치(1200)의 프로세서(1220)의 제어에 따라 제공되는 제어 신호, 명령, 데이터 등이 통신 모듈(1230)과 네트워크를 거쳐 사용자 단말 및/또는 외부 시스템의 통신 모듈을 통해 사용자 단말 및/또는 외부 시스템으로 전송될 수 있다.
또한, 컴퓨팅 장치(1200)의 입출력 인터페이스(1240)는 컴퓨팅 장치(1200)와 연결되거나 컴퓨팅 장치(1200)가 포함할 수 있는 입력 또는 출력을 위한 장치(미도시)와의 인터페이스를 위한 수단일 수 있다. 도 12에서는 입출력 인터페이스(1240)가 프로세서(1220)와 별도로 구성된 요소로서 도시되었으나, 이에 한정되지 않으며, 입출력 인터페이스(1240)가 프로세서(1220)에 포함되도록 구성될 수 있다. 컴퓨팅 장치(1200)는 도 12의 구성요소들보다 더 많은 구성요소들을 포함할 수 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다.
컴퓨팅 장치(1200)의 프로세서(1220)는 복수의 사용자 단말 및/또는 복수의 외부 시스템으로부터 수신된 정보 및/또는 데이터를 관리, 처리 및/또는 저장하도록 구성될 수 있다.
상술된 방법 및/또는 다양한 실시예들은, 디지털 전자 회로, 컴퓨터 하드웨어, 펌웨어, 소프트웨어 및/또는 이들의 조합으로 실현될 수 있다. 본 발명의 다양한 실시예들은 데이터 처리 장치, 예를 들어, 프로그래밍 가능한 하나 이상의 프로세서 및/또는 하나 이상의 컴퓨팅 장치에 의해 실행되거나, 컴퓨터 판독 가능한 기록 매체 및/또는 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다. 상술된 컴퓨터 프로그램은 컴파일된 언어 또는 해석된 언어를 포함하여 임의의 형태의 프로그래밍 언어로 작성될 수 있으며, 독립 실행형 프로그램, 모듈, 서브 루틴 등의 임의의 형태로 배포될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨팅 장치, 동일한 네트워크를 통해 연결된 복수의 컴퓨팅 장치 및/또는 복수의 상이한 네트워크를 통해 연결되도록 분산된 복수의 컴퓨팅 장치를 통해 배포될 수 있다.
상술된 방법 및/또는 다양한 실시예들은, 입력 데이터를 기초로 동작하거나 출력 데이터를 생성함으로써, 임의의 기능, 함수 등을 처리, 저장 및/또는 관리하는 하나 이상의 컴퓨터 프로그램을 실행하도록 구성된 하나 이상의 프로세서에 의해 수행될 수 있다. 예를 들어, 본 발명의 방법 및/또는 다양한 실시예는 FPGA(Field Programmable Gate Array) 또는 ASIC(Application Specific Integrated Circuit)과 같은 특수 목적 논리 회로에 의해 수행될 수 있으며, 본 발명의 방법 및/또는 실시예들을 수행하기 위한 장치 및/또는 시스템은 FPGA 또는 ASIC와 같은 특수 목적 논리 회로로서 구현될 수 있다.
컴퓨터 프로그램을 실행하는 하나 이상의 프로세서는, 범용 목적 또는 특수 목적의 마이크로 프로세서 및/또는 임의의 종류의 디지털 컴퓨팅 장치의 하나 이상의 프로세서를 포함할 수 있다. 프로세서는 읽기 전용 메모리, 랜덤 액세스 메모리의 각각으로부터 명령 및/또는 데이터를 수신하거나, 읽기 전용 메모리와 랜덤 액세스 메모리로부터 명령 및/또는 데이터를 수신할 수 있다. 본 발명에서, 방법 및/또는 실시예들을 수행하는 컴퓨팅 장치의 구성 요소들은 명령어들을 실행하기 위한 하나 이상의 프로세서, 명령어들 및/또는 데이터를 저장하기 위한 하나 이상의 메모리 디바이스를 포함할 수 있다.
일 실시예에 따르면, 컴퓨팅 장치는 데이터를 저장하기 위한 하나 이상의 대용량 저장 장치와 데이터를 주고받을 수 있다. 예를 들어, 컴퓨팅 장치는 자기 디스크(magnetic disc) 또는 광 디스크(optical disc)로부터 데이터를 수신하거나/수신하고, 자기 디스크 또는 광 디스크로 데이터를 전송할 수 있다. 컴퓨터 프로그램과 연관된 명령어들 및/또는 데이터를 저장하기에 적합한 컴퓨터 판독 가능한 저장 매체는, EPROM(Erasable Programmable Read-Only Memory), EEPROM(Electrically Erasable PROM), 플래시 메모리 장치 등의 반도체 메모리 장치를 포함하는 임의의 형태의 비 휘발성 메모리를 포함할 수 있으나, 이에 한정되지 않는다. 예를 들어, 컴퓨터 판독 가능한 저장 매체는 내부 하드 디스크 또는 이동식 디스크와 같은 자기 디스크, 광 자기 디스크, CD-ROM 및 DVD-ROM 디스크를 포함할 수 있다.
사용자와의 상호 작용을 제공하기 위해, 컴퓨팅 장치는 정보를 사용자에게 제공하거나 디스플레이하기 위한 디스플레이 장치(예를 들어, CRT (Cathode Ray Tube), LCD(Liquid Crystal Display) 등) 및 사용자가 컴퓨팅 장치 상에 입력 및/또는 명령 등을 제공할 수 있는 포인팅 장치(예를 들어, 키보드, 마우스, 트랙볼 등)를 포함할 수 있으나, 이에 한정되지 않는다. 즉, 컴퓨팅 장치는 사용자와의 상호 작용을 제공하기 위한 임의의 다른 종류의 장치들을 더 포함할 수 있다. 예를 들어, 컴퓨팅 장치는 사용자와의 상호 작용을 위해, 시각적 피드백, 청각 피드백 및/또는 촉각 피드백 등을 포함하는 임의의 형태의 감각 피드백을 사용자에게 제공할 수 있다. 이에 대해, 사용자는 시각, 음성, 동작 등의 다양한 제스처를 통해 컴퓨팅 장치로 입력을 제공할 수 있다.
본 발명에서, 다양한 실시예들은 백엔드 구성 요소(예: 데이터 서버), 미들웨어 구성 요소(예: 애플리케이션 서버) 및/또는 프론트 엔드 구성 요소를 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 이 경우, 구성 요소들은 통신 네트워크와 같은 디지털 데이터 통신의 임의의 형태 또는 매체에 의해 상호 연결될 수 있다. 예를 들어, 통신 네트워크는 LAN(Local Area Network), WAN(Wide Area Network) 등을 포함할 수 있다.
본 명세서에서 기술된 예시적인 실시예들에 기반한 컴퓨팅 장치는, 사용자 디바이스, 사용자 인터페이스(UI) 디바이스, 사용자 단말 또는 클라이언트 디바이스를 포함하여 사용자와 상호 작용하도록 구성된 하드웨어 및/또는 소프트웨어를 사용하여 구현될 수 있다. 예를 들어, 컴퓨팅 장치는 랩톱(laptop) 컴퓨터와 같은 휴대용 컴퓨팅 장치를 포함할 수 있다. 추가적으로 또는 대안적으로, 컴퓨팅 장치는, PDA(Personal Digital Assistants), 태블릿 PC, 게임 콘솔(game console), 웨어러블 디바이스(wearable device), IoT(internet of things) 디바이스, VR(virtual reality) 디바이스, AR(augmented reality) 디바이스 등을 포함할 수 있으나, 이에 한정되지 않는다. 컴퓨팅 장치는 사용자와 상호 작용하도록 구성된 다른 유형의 장치를 더 포함할 수 있다. 또한, 컴퓨팅 장치는 이동 통신 네트워크 등의 네트워크를 통한 무선 통신에 적합한 휴대용 통신 디바이스(예를 들어, 이동 전화, 스마트 전화, 무선 셀룰러 전화 등) 등을 포함할 수 있다. 컴퓨팅 장치는, 무선 주파수(RF; Radio Frequency), 마이크로파 주파수(MWF; Microwave Frequency) 및/또는 적외선 주파수(IRF; Infrared Ray Frequency)와 같은 무선 통신 기술들 및/또는 프로토콜들을 사용하여 네트워크 서버와 무선으로 통신하도록 구성될 수 있다.
본 발명에서 특정 구조적 및 기능적 세부 사항을 포함하는 다양한 실시예들은 예시적인 것이다. 따라서, 본 발명의 실시예들은 상술된 것으로 한정되지 않으며, 여러 가지 다른 형태로 구현될 수 있다. 또한, 본 발명에서 사용된 용어는 일부 실시예를 설명하기 위한 것이며 실시예를 제한하는 것으로 해석되지 않는다. 예를 들어, 단수형 단어 및 상기는 문맥상 달리 명확하게 나타내지 않는 한 복수형도 포함하는 것으로 해석될 수 있다.
본 발명에서, 달리 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함하여 본 명세서에서 사용되는 모든 용어는 이러한 개념이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 또한, 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 맥락에서의 의미와 일치하는 의미를 갖는 것으로 해석되어야 한다.
본 명세서에서는 본 발명이 일부 실시예들과 관련하여 설명되었지만, 본 발명의 발명이 속하는 기술분야의 통상의 기술자가 이해할 수 있는 본 발명의 범위를 벗어나지 않는 범위에서 다양한 변형 및 변경이 이루어질 수 있다. 또한, 그러한 변형 및 변경은 본 명세서에 첨부된 특허청구의 범위 내에 속하는 것으로 생각되어야 한다.
110: 센서 단말
112: 트래픽 분석부
114: 장치 확인부
116: 이상 행위 탐지부
120: 정보 처리 시스템

Claims (21)

  1. 적어도 하나의 프로세서에 의해 수행되는 이상 행위 탐지 방법으로서,
    IoT 장치가 연결된 경우, 상기 연결된 IoT 장치의 장치 유형을 결정하는 단계;
    상기 결정된 IoT 장치의 장치 유형에 대응하도록 생성된 이상 행위 탐지 모델을 추출하는 단계; 및
    상기 추출된 이상 행위 탐지 모델을 상기 IoT 장치와 연관된 센서 단말에 제공하는 단계; 를 포함하고,
    상기 센서 단말은 상기 제공된 이상 행위 탐지 모델에 상기 IoT 장치로부터 수집된 복수의 패킷을 제공하여 상기 IoT 장치와 연관된 이상 행위를 탐지하고,
    상기 연결된 IoT 장치의 장치 유형을 결정하는 단계는,
    상기 IoT 장치와 연관된 트래픽을 발생시키는 적어도 하나의 프로토콜(protocol)을 결정하는 단계;
    사전 결정된 프로토콜 목록을 기초로 상기 결정된 적어도 하나의 프로토콜에 대응하는 장치 유형을 포함하는 제1 후보 장치 유형 목록을 추출하는 단계;
    상기 IoT 장치로부터 수집된 복수의 패킷을 기초로 상기 IoT 장치와 연관된 트래픽(traffic)의 패턴을 나타내는 적어도 하나의 주기도(periodogram)를 생성하는 단계;
    상기 IoT 장치와 연관된 적어도 하나의 프로토콜 및 상기 적어도 하나의 주기도를 이용하여 유사한 주기도를 갖는 장치 유형을 포함하는 제2 후보 장치 유형 목록을 추출하는 단계;
    상기 제1 후보 장치 유형 목록과 상기 제2 후보 장치 유형 목록에 포함된 적어도 하나의 장치 유형을 추출하는 단계; 및
    상기 추출된 적어도 하나의 장치 유형과 연관된 각각의 주기도와 상기 IoT 장치와 연관된 주기도를 비교하여 상기 IoT 장치의 장치 유형을 결정하는 단계;
    를 포함하는 이상 행위 탐지 방법.
  2. 제1항에 있어서,
    상기 IoT 장치로부터 추출된 복수의 패킷의 특징(feature)을 획득하는 단계; 및
    상기 이상 행위의 탐지 결과, 상기 IoT 장치가 정상인 것으로 판정된 경우, 상기 추출된 복수의 패킷의 특징을 이용하여 상기 이상 행위 탐지 모델을 학습시키는 단계;
    를 더 포함하는 이상 행위 탐지 방법.
  3. 제1항에 있어서,
    상기 이상 행위 탐지 모델은 LSTM(Long Short Term Memory) 기반의 모델인, 이상 행위 탐지 방법.
  4. 삭제
  5. 제1항에 있어서,
    상기 IoT 장치와 연관된 적어도 하나의 프로토콜 및 상기 적어도 하나의 주기도를 이용하여 유사한 주기도를 갖는 장치 유형을 포함하는 제2 후보 장치 유형 목록을 추출하는 단계는,
    KNN(K-Nearest Neighbor) 알고리즘을 기초로 상기 IoT 장치와 연관된 주기도와 각각의 장치 유형과 연관된 주기도 사이의 유사성을 결정하는 단계;
    를 포함하는 이상 행위 탐지 방법.
  6. 제1항에 있어서,
    상기 추출된 적어도 하나의 장치 유형과 연관된 각각의 주기도와 상기 IoT 장치와 연관된 주기도를 비교하여 상기 IoT 장치의 장치 유형을 결정하는 단계는,
    상기 추출된 적어도 하나의 장치 유형과 연관된 각각의 주기도와 상기 IoT 장치와 연관된 주기도 사이의 유클리드 거리(Euclidean distance)를 산출하는 단계; 및
    상기 산출된 유클리드 거리를 기초로 상기 IoT 장치로부터 추출된 주기도와 최단 거리를 형성하는 주기도를 갖는 장치 유형을 상기 IoT 장치의 장치 유형으로 결정하는 단계;
    를 포함하는 이상 행위 탐지 방법.
  7. 제1항에 있어서,
    상기 IoT 장치로부터 수집된 복수의 패킷을 기초로 상기 IoT 장치와 연관된 트래픽의 패턴을 나타내는 적어도 하나의 주기도를 생성하는 단계는,
    상기 IoT 장치로부터 수집된 복수의 패킷을 상기 IoT 장치의 통신에 사용되는 프로토콜 별로 분류하는 단계; 및
    특정 프로토콜을 사용하는 것으로 분류된 복수의 세부 패킷을 기초로 상기 특정 프로토콜과 연관된 주기도를 생성하는 단계;
    를 포함하는 이상 행위 탐지 방법.
  8. 제7항에 있어서,
    특정 프로토콜을 사용하는 것으로 분류된 복수의 세부 패킷을 기초로 상기 특정 프로토콜과 연관된 주기도를 생성하는 단계는,
    상기 복수의 세부 패킷을 특정 시간 간격을 갖는 복수의 구간과 연관시키는 단계;
    상기 복수의 구간 중 복수의 세부 패킷의 적어도 일부가 존재하는 제1 세트의 구간 및 상기 복수의 세부 패킷의 적어도 일부가 존재하지 않는 제2 세트의 구간을 추출하는 단계;
    상기 추출된 제1 세트의 구간 및 상기 제2 세트의 구간을 이용하여 상기 복수의 세부 패킷과 연관된 시계열 데이터를 생성하는 단계; 및
    상기 생성된 시계열 데이터를 이용하여 상기 특정 프로토콜과 연관된 주기도를 생성하는 단계;
    를 포함하는 이상 행위 탐지 방법.
  9. 제8항에 있어서,
    상기 생성된 시계열 데이터를 이용하여 상기 특정 프로토콜과 연관된 주기도를 생성하는 단계는,
    이산 푸리에 변환(Discrete Fourier Transform) 알고리즘을 이용하여 상기 시계열 데이터를 주파수 데이터로 변환하는 단계;
    상기 변환된 주파수 데이터에 포함된 각 주파수 원소의 크기를 산출하는 단계;
    상기 산출된 각 주파수 원소의 크기를 기초로 제1 임계값 이상의 크기를 갖는 복수의 주파수 원소를 추출하는 단계; 및
    상기 추출된 복수의 주파수 원소를 이용하여 상기 특정 프로토콜과 연관된 주기도를 생성하는 단계;
    를 포함하는 이상 행위 탐지 방법.
  10. 제9항에 있어서,
    상기 추출된 복수의 주파수 원소를 이용하여 상기 특정 프로토콜과 연관된 주기도를 생성하는 단계는,
    상기 추출된 복수의 주파수 원소를 기초로 후보 주기 데이터를 생성하는 단계;
    상기 후보 주기 데이터에 포함된 각 주기 원소에 대한 자기상관(autocorrelation) 값을 산출하는 단계;
    상기 산출된 자기상관 값이 제2 임계값 이상의 크기를 갖는 복수의 주기 원소를 추출하는 단계; 및
    상기 추출된 복수의 주기 원소를 포함하는 상기 특정 프로토콜과 연관된 주기도를 생성하는 단계;
    를 포함하는 이상 행위 탐지 방법.
  11. 제1항 내지 제3항 및 제5항 내지 제10항 중 어느 한 항에 따른 방법을 컴퓨터에서 실행하기 위해 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램.
  12. 컴퓨팅 장치로서,
    통신 모듈;
    메모리; 및
    상기 메모리와 연결되고, 상기 메모리에 포함된 컴퓨터 판독 가능한 적어도 하나의 프로그램을 실행하도록 구성된 적어도 하나의 프로세서
    를 포함하고,
    상기 적어도 하나의 프로그램은,
    IoT 장치가 연결된 경우, 상기 연결된 IoT 장치의 장치 유형을 결정하고,
    상기 결정된 IoT 장치의 장치 유형에 대응하도록 생성된 이상 행위 탐지 모델을 추출하고,
    상기 추출된 이상 행위 탐지 모델을 상기 IoT 장치에 제공하기 위한 명령어들을 포함하고,
    상기 IoT 장치는 상기 제공된 이상 행위 탐지 모델에 상기 IoT 장치로부터 수집된 복수의 패킷을 제공하여 상기 IoT 장치와 연관된 이상 행위를 탐지하고,
    상기 적어도 하나의 프로그램은,
    상기 IoT 장치와 연관된 트래픽을 발생시키는 적어도 하나의 프로토콜을 결정하고,
    사전 결정된 프로토콜 목록을 기초로 상기 결정된 적어도 하나의 프로토콜에 대응하는 장치 유형을 포함하는 제1 후보 장치 유형 목록을 추출하고,
    상기 IoT 장치로부터 수집된 복수의 패킷을 기초로 상기 IoT 장치와 연관된 트래픽의 패턴을 나타내는 적어도 하나의 주기도를 생성하고,
    상기 IoT 장치와 연관된 적어도 하나의 프로토콜 및 상기 적어도 하나의 주기도를 이용하여 유사한 주기도를 갖는 장치 유형을 포함하는 제2 후보 장치 유형 목록을 추출하고,
    상기 제1 후보 장치 유형 목록과 상기 제2 후보 장치 유형 목록에 포함된 적어도 하나의 장치 유형을 추출하고,
    상기 추출된 적어도 하나의 장치 유형과 연관된 각각의 주기도와 상기 IoT 장치와 연관된 주기도를 비교하여 상기 IoT 장치의 장치 유형을 결정하기 위한 명령어들을 더 포함하는, 컴퓨팅 장치.
  13. 제12항에 있어서,
    상기 적어도 하나의 프로그램은,
    상기 IoT 장치로부터 추출된 복수의 패킷의 특징을 획득하고,
    상기 이상 행위의 탐지 결과, 상기 IoT 장치가 정상인 것으로 판정된 경우, 상기 추출된 복수의 패킷의 특징을 이용하여 상기 이상 행위 탐지 모델을 학습시키기 위한 명령어들을 더 포함하는 컴퓨팅 장치.
  14. 제12항에 있어서,
    상기 이상 행위 탐지 모델은 LSTM(Long Short Term Memory) 기반의 모델인 컴퓨팅 장치.
  15. 삭제
  16. 제12항에 있어서,
    상기 적어도 하나의 프로그램은,
    KNN 알고리즘을 기초로 상기 IoT 장치와 연관된 주기도와 각각의 장치 유형과 연관된 주기도 사이의 유사성을 결정하기 위한 명령어들을 더 포함하는 컴퓨팅 장치.
  17. 제12항에 있어서,
    상기 적어도 하나의 프로그램은,
    상기 추출된 적어도 하나의 장치 유형과 연관된 각각의 주기도와 상기 IoT 장치와 연관된 주기도 사이의 유클리드 거리를 산출하고,
    상기 산출된 유클리드 거리를 기초로 상기 IoT 장치로부터 추출된 주기도와 최단 거리를 형성하는 주기도를 갖는 장치 유형을 상기 IoT 장치의 장치 유형으로 결정하기 위한 명령어들을 더 포함하는 컴퓨팅 장치.
  18. 제12항에 있어서,
    상기 적어도 하나의 프로그램은,
    상기 IoT 장치로부터 수집된 복수의 패킷을 상기 IoT 장치의 통신에 사용되는 프로토콜 별로 분류하고,
    특정 프로토콜을 사용하는 것으로 분류된 복수의 세부 패킷을 기초로 상기 특정 프로토콜과 연관된 주기도를 생성하기 위한 명령어들을 더 포함하는 컴퓨팅 장치.
  19. 제18항에 있어서,
    상기 적어도 하나의 프로그램은,
    상기 복수의 세부 패킷을 특정 시간 간격을 갖는 복수의 구간과 연관시키고,
    상기 복수의 구간 중 복수의 세부 패킷의 적어도 일부가 존재하는 제1 세트의 구간 및 상기 복수의 세부 패킷의 적어도 일부가 존재하지 않는 제2 세트의 구간을 추출하고,
    상기 추출된 제1 세트의 구간 및 상기 제2 세트의 구간을 이용하여 상기 복수의 세부 패킷과 연관된 시계열 데이터를 생성하고,
    상기 생성된 시계열 데이터를 이용하여 상기 특정 프로토콜과 연관된 주기도를 생성하기 위한 명령어들을 더 포함하는 컴퓨팅 장치.
  20. 제19항에 있어서,
    상기 적어도 하나의 프로그램은,
    이산 푸리에 변환 알고리즘을 이용하여 상기 시계열 데이터를 주파수 데이터로 변환하고,
    상기 변환된 주파수 데이터에 포함된 각 주파수 원소의 크기를 산출하고,
    상기 산출된 각 주파수 원소의 크기를 기초로 제1 임계값 이상의 크기를 갖는 복수의 주파수 원소를 추출하고,
    상기 추출된 복수의 주파수 원소를 이용하여 상기 특정 프로토콜과 연관된 주기도를 생성하기 위한 명령어들을 더 포함하는 컴퓨팅 장치.
  21. 제20항에 있어서,
    상기 적어도 하나의 프로그램은,
    상기 추출된 복수의 주파수 원소를 기초로 후보 주기 데이터를 생성하고,
    상기 후보 주기 데이터에 포함된 각 주기 원소에 대한 자기상관 값을 산출하고,
    상기 산출된 자기상관 값이 제2 임계값 이상의 크기를 갖는 복수의 주기 원소를 추출하고,
    상기 추출된 복수의 주기 원소를 포함하는 상기 특정 프로토콜과 연관된 주기도를 생성하기 위한 명령어들을 더 포함하는 컴퓨팅 장치.
KR1020210148823A 2021-11-02 2021-11-02 이상 행위 탐지 방법 및 시스템 KR102469664B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210148823A KR102469664B1 (ko) 2021-11-02 2021-11-02 이상 행위 탐지 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210148823A KR102469664B1 (ko) 2021-11-02 2021-11-02 이상 행위 탐지 방법 및 시스템

Publications (1)

Publication Number Publication Date
KR102469664B1 true KR102469664B1 (ko) 2022-11-23

Family

ID=84236879

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210148823A KR102469664B1 (ko) 2021-11-02 2021-11-02 이상 행위 탐지 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR102469664B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117035297A (zh) * 2023-08-02 2023-11-10 瀚能科技有限公司 一种基于大数据的园区智能任务分配方法及系统
CN117675622A (zh) * 2024-01-15 2024-03-08 广东云百智联科技有限公司 一种物联网设备流量可视化展示系统
WO2024171322A1 (ja) * 2023-02-15 2024-08-22 日本電信電話株式会社 デバイス分類装置、デバイス分類プログラム及びデバイス分類方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102054089B1 (ko) * 2015-09-28 2019-12-09 디파트먼트 13, 인코포레이티드 무인 항공기 침입 탐지 및 대응 조치들
KR20210099346A (ko) * 2020-02-04 2021-08-12 한국전자통신연구원 제조 설비의 이상 감지 방법 및 장치
KR102290039B1 (ko) * 2020-12-16 2021-08-13 한국인터넷진흥원 IoT 기기의 이상 행위 모니터링 방법 및 그 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102054089B1 (ko) * 2015-09-28 2019-12-09 디파트먼트 13, 인코포레이티드 무인 항공기 침입 탐지 및 대응 조치들
KR20210099346A (ko) * 2020-02-04 2021-08-12 한국전자통신연구원 제조 설비의 이상 감지 방법 및 장치
KR102290039B1 (ko) * 2020-12-16 2021-08-13 한국인터넷진흥원 IoT 기기의 이상 행위 모니터링 방법 및 그 장치

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024171322A1 (ja) * 2023-02-15 2024-08-22 日本電信電話株式会社 デバイス分類装置、デバイス分類プログラム及びデバイス分類方法
CN117035297A (zh) * 2023-08-02 2023-11-10 瀚能科技有限公司 一种基于大数据的园区智能任务分配方法及系统
CN117035297B (zh) * 2023-08-02 2024-04-19 瀚能科技有限公司 一种基于大数据的园区智能任务分配方法及系统
CN117675622A (zh) * 2024-01-15 2024-03-08 广东云百智联科技有限公司 一种物联网设备流量可视化展示系统

Similar Documents

Publication Publication Date Title
KR102469664B1 (ko) 이상 행위 탐지 방법 및 시스템
US11171977B2 (en) Unsupervised spoofing detection from traffic data in mobile networks
US10679135B2 (en) Periodicity analysis on heterogeneous logs
US20240028571A1 (en) Automatic entity resolution with rules detection and generation system
US20200211721A1 (en) METHOD AND APPARATUS FOR DETERMINING AN IDENTITY OF AN UNKNOWN INTERNET-OF-THINGS (IoT) DEVICE IN A COMMUNICATION NETWORK
US12047395B2 (en) Cybersecurity investigation tools utilizing information graphs
US10037374B2 (en) Measuring semantic and syntactic similarity between grammars according to distance metrics for clustered data
CN112448947A (zh) 网络异常确定方法、设备及存储介质
Ashibani et al. A behavior profiling model for user authentication in IoT networks based on app usage patterns
CN112685799B (zh) 设备指纹生成方法、装置、电子设备和计算机可读介质
US20240048581A1 (en) Systems And Methods For Anomaly Detection
US11212183B1 (en) Network device identification
US20220004578A1 (en) Temporal clustering of non-stationary data
CN112087450B (zh) 一种异常ip识别方法、系统及计算机设备
CN115589339B (zh) 网络攻击类型识别方法、装置、设备以及存储介质
US20210166082A1 (en) Data analysis system and data analysis method
WO2019216046A1 (ja) 情報処理装置
CN114362972B (zh) 一种基于流量摘要和图采样的僵尸网络混合检测方法及系统
CN114880153A (zh) 数据处理方法、装置、电子设备及计算机可读存储介质
CN114338187A (zh) 基于决策树的终端安全检测方法及装置
US20230177393A1 (en) Machine learning apparatus, machine learning system, machine learning method, and program
JPWO2015063993A1 (ja) 衝突検出装置、通信装置、衝突検出方法、及びプログラム
CN111835541A (zh) 一种模型老化检测方法、装置、设备及系统
CN118449279B (zh) 基于云服务的智慧安全用电管理系统
Sun et al. Accurate IoT device identification from merely packet length

Legal Events

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