KR102672651B1 - IoT 장치 식별 방법 및 이를 구현한 네트워크 관리 장치 - Google Patents

IoT 장치 식별 방법 및 이를 구현한 네트워크 관리 장치 Download PDF

Info

Publication number
KR102672651B1
KR102672651B1 KR1020220081832A KR20220081832A KR102672651B1 KR 102672651 B1 KR102672651 B1 KR 102672651B1 KR 1020220081832 A KR1020220081832 A KR 1020220081832A KR 20220081832 A KR20220081832 A KR 20220081832A KR 102672651 B1 KR102672651 B1 KR 102672651B1
Authority
KR
South Korea
Prior art keywords
iot
address
destination
identification
iot device
Prior art date
Application number
KR1020220081832A
Other languages
English (en)
Other versions
KR20230009307A (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 (주)나루씨큐리티
Publication of KR20230009307A publication Critical patent/KR20230009307A/ko
Application granted granted Critical
Publication of KR102672651B1 publication Critical patent/KR102672651B1/ko

Links

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
    • 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/065Generation of reports related to network devices
    • 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
    • Z01I10/00

Landscapes

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

Abstract

네트워크 관리 장치의 동작 방법으로서, 일정 기간 동안의 세션 데이터에서, IoT 관리 서버의 특정 목적지 IP 주소와 통신한 출발지 IP 주소들을 IoT 장치 후보들로 추출하는 단계, 상기 세션 데이터에서, IoT 장치 후보별로 제1 IoT 식별 지표의 통계값을 계산하는 단계, 그리고 상기 IoT 장치 후보별 제1 IoT 식별 지표의 통계값과 기준값을 비교하여, 특정 출발지 IP 주소의 후보를 IoT 장치로 식별하는 단계를 포함한다. 상기 제1 IoT 식별 지표는 해당 IoT 장치 후보가 연결된 목적지 IP 주소 수 및/또는 해당 IoT 장치 후보가 전송한 요청에 사용된 URI(Uniform Resource Identifier) 수를 포함한다.

Description

IoT 장치 식별 방법 및 이를 구현한 네트워크 관리 장치{METHOD FOR IDENTIFICATION IOT DEVICES, AND NETWORK MANAGEMENT APPARATUS IMPLEMENTING THE METHOD}
본 개시는 IoT 장치 식별에 관한 것이다.
인터넷 데이터 센터(IDC) 등의 서버 플랫폼은 호스팅 서비스 등을 제공하면서 다양한 내부 서버들이 존재한다. 하지만, 모든 서버들을 관리하기가 어려워서 네트워크 위협 관련 사고를 예방하기 쉽지 않다. 또한, IDC와 같은 서버 플랫폼의 경우, 하루에도 수십억 건의 세션이 발생하기 때문에 패킷이나 세션의 로그를 모두 분석하는 것은 불가능하다.
최근 IoT 서비스가 늘어나면서, 다양한 종류의 IoT 장치들이 서버에 연결되는데, IoT 장치를 보안이 필요한 장치로 인식하지 않는 실정이고, 보안 기능을 위해 사용할 수 있는 리소스도 적어서 해킹에 매우 취약하다. CCTV, 인공지능 스피커 등의 IoT 장치는 개인 정보를 포함할 수 있는데, DDoS 공격에 취약해서 개인정보가 유출될 위험성이 존재한다. 또한, IoT 장치를 통해 네트워크를 공격할 가능성이 있으므로, 서버에 연결된 IoT 장치들을 식별하고, 이들의 정상 동작을 모니터링함으로써, 네트워크 위협 관련 사고를 예방할 필요가 있다.
한편, 네트워크에 연결된 IoT 장비를 탐지하기 위해, IoT 장치의 특징(signature)이 활용되었다. 하지만 IoT 장치가 다양해지고 서비스의 종류도 다양해지면서, 특징 기반 탐지 방식을 통해 다양한 IoT 장치들의 특징을 일일이 파악하고 관리하는데 한계가 있다. 또한 네트워크 담당자가 새로운 IoT 장치를 알지 못하면 새로운 장치의 특징을 파악하는 행위도 할 수 없다.
본 개시는 IoT 장치 식별 방법 및 이를 구현한 네트워크 관리 장치를 제공한다.
한 실시예에 따른 네트워크 관리 장치의 동작 방법으로서, 일정 기간 동안의 세션 데이터에서, IoT 관리 서버의 특정 목적지 IP 주소와 통신한 출발지 IP 주소들을 IoT 장치 후보들로 추출하는 단계, 상기 세션 데이터에서, IoT 장치 후보별로 제1 IoT 식별 지표의 통계값을 계산하는 단계, 그리고 상기 IoT 장치 후보별 제1 IoT 식별 지표의 통계값과 기준값을 비교하여, 특정 출발지 IP 주소의 후보를 IoT 장치로 식별하는 단계를 포함한다. 상기 제1 IoT 식별 지표는 해당 IoT 장치 후보가 연결된 목적지 IP 주소 수 및/또는 해당 IoT 장치 후보가 전송한 요청에 사용된 URI(Uniform Resource Identifier) 수를 포함한다.
상기 제1 IoT 식별 지표는 트랜잭션 깊이 평균, 그리고 세션이 발생한 시간 구간 수 중 적어도 하나를 더 포함할 수 있다.
상기 동작 방법은 상기 세션 데이터에서, 목적지 IP 주소별로 제2 IoT 식별 지표의 통계값을 계산하는 단계, 그리고 목적지 IP 주소별 IoT 식별 지표의 통계값과 기준값을 비교하여, 상기 특정 목적지 IP 주소를 상기 IoT 관리 서버의 주소로 결정하는 단계를 더 포함할 수 있다. 상기 제2 IoT 식별 지표는 해당 목적지 IP 주소에 연결된 출발지 IP 주소 수의 변동 계수를 포함할 수 있다.
상기 제2 IoT 식별 지표는 트랜잭션 깊이 평균, 그리고 세션이 발생한 시간 구간 수 중 적어도 하나를 더 포함할 수 있다.
상기 제2 IoT 식별 지표의 통계값을 계산하는 단계는 일정 시간 단위마다 수집한 세션 데이터를 목적지 IP 주소별로 분류하고, 각 목적지 IP 주소의 세션 데이터를 이용하여, 일정 시간 단위마다의 출발지 IP 주소 수 및 트랜잭션 깊이 평균을 계산하는 단계, 그리고 상기 일정 시간 단위마다 목적지 IP 주소별로 계산한 출발지 IP 주소 수 및 트랜잭션 깊이 평균을 상기 일정 기간 동안 집계하여, 목적지 IP 주소별로 상기 제2 IoT 식별 지표의 통계값을 계산하는 단계를 포함할 수 있다.
상기 세션 데이터는 각 세션의 HTTP 로그로부터 추출된 세션 발생 타임스탬프, 연결 식별자, 출발지 IP 주소, 목적지 IP 주소, 트랙잭션 깊이, URI(Uniform Resource Identifier)를 포함할 수 있다.
다른 실시예에 따른 네트워크 관리 장치의 동작 방법으로서, 일정 기간 동안의 세션 데이터에서, IoT 관리 서버의 식별을 위한 목적지 IP 주소별 IoT 식별 지표의 통계값을 계산하는 단계, 상기 목적지 IP 주소별 IoT 식별 지표의 통계값을 기초로, 상기 IoT 관리 서버에 해당하는 목적지 IP 주소를 결정하는 단계, 상기 세션 데이터에서, 상기 IoT 관리 서버와 통신한 출발지 IP 주소들을 IoT 장치 후보들로 추출하는 단계, 상기 세션 데이터에서, IoT 장치의 식별을 위한 IoT 장치 후보별 IoT 식별 지표의 통계값을 계산하는 단계, 그리고 상기 IoT 장치 후보별 IoT 식별 지표의 통계값을 기초로, 상기 IoT 장치 후보들 중에서 상기 IoT 장치를 식별하는 단계를 포함한다
상기 목적지 IP 주소별 IoT 식별 지표는 해당 목적지 IP 주소에 연결된 출발지 IP 주소 수의 변동 계수를 포함할 수 있다.
상기 목적지 IP 주소별 IoT 식별 지표는 트랜잭션 깊이 평균, 그리고 세션이 발생한 시간 구간 수 중 적어도 하나를 더 포함할 수 있다.
상기 IoT 관리 서버에 해당하는 목적지 IP 주소를 결정하는 단계는 임의 목적지 IP 주소에 대해 계산된 각 IoT 식별 지표의 통계값 중에서, 상기 변동 계수가 제1 기준값 이하이고, 상기 트랜잭션 깊이 평균이 제2 기준값 이하이며, 상기 시간 구간 수가 제3 기준값 이상인 경우, 상기 임의 목적지 IP 주소를 상기 IoT 관리 서버의 주소로 결정할 수 있다.
상기 IoT 장치 후보별 IoT 식별 지표는 해당 IoT 장치 후보가 연결된 목적지 IP 주소 수 및/또는 해당 IoT 장치 후보가 전송한 요청에 사용된 URI(Uniform Resource Identifier) 수를 포함할 수 있다.
상기 IoT 장치 후보별 IoT 식별 지표는 트랜잭션 깊이 평균, 그리고 세션이 발생한 시간 구간 수 중 적어도 하나를 더 포함할 수 있다.
상기 IoT 장치를 식별하는 단계는 임의 IoT 장치 후보에 대해 계산된 각 IoT 식별 지표의 통계값 중에서, 상기 목적지 IP 주소 수 및/또는 상기 URI가 제1 기준값 이하이고, 상기 트랜잭션 깊이 평균이 제2 기준값 이하이며, 상기 시간 구간 수가 제3 기준값 이상인 경우, 상기 임의 IoT 장치 후보를 상기 IoT 장치로 식별할 수 있다.
상기 목적지 IP 주소별 IoT 식별 지표의 통계값을 계산하는 단계는 일정 시간 단위마다 수집한 세션 데이터를 목적지 IP 주소별로 분류하고, 각 목적지 IP 주소의 세션 데이터를 이용하여, 일정 시간 단위마다의 출발지 IP 주소 수 및 트랜잭션 깊이 평균을 계산하는 단계, 그리고 상기 일정 시간 단위마다 목적지 IP 주소별로 계산한 출발지 IP 주소 수 및 트랜잭션 깊이 평균을 상기 일정 기간 동안 집계하여, 상기 목적지 IP 주소별IoT 식별 지표의 통계값을 계산하는 단계를 포함할 수 있다.
상기 세션 데이터는 각 세션의 HTTP 로그로부터 추출된 세션 발생 타임스탬프, 연결 식별자, 출발지 IP 주소, 목적지 IP 주소, 트랙잭션 깊이, URI(Uniform Resource Identifier)를 포함할 수 있다.
실시예에 따르면, 수십 Gbps에 달하는 대량 트래픽이 발생하는 네트워크에서 세션 데이터에 대한 기초 정보가 주어지지 않아도 IoT 관리 서버와 통신하는 IoT 장치를 식별할 수 있다.
실시예에 따르면, 네트워크에 연결된 IoT 장치들을 식별할 수 있으므로, 식별한 IoT 장치들의 비정상 동작을 탐지할 수 있고, 감염 예방 조치를 취해 안정적인 네트워크를 유지할 수 있는 기반을 제공할 수 있다.
도 1은 한 실시예에 따른 IoT 네트워크 환경을 개념적으로 설명하는 도면이다.
도 2는 한 실시예에 따른 IoT 관리 서버 및 IoT 장치의 단계적 식별 방법을 설명하는 도면이다.
도 3은 한 실시예에 따른 IoT 장치 식별 방법의 흐름도이다.
아래에서는 첨부한 도면을 참고로 하여 본 개시의 실시예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
설명에서, 도면 부호 및 이름은 설명의 편의를 위해 붙인 것으로서, 장치들이 반드시 도면 부호나 이름으로 한정되는 것은 아니다.
설명에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
설명에서, 컴퓨팅 장치는 하나 이상의 프로세서, 프로세서에 의하여 수행되는 프로그램을 로드하는 메모리, 컴퓨터 프로그램 및 각종 데이터를 저장하는 스토리지를 포함할 수 있다. 이외에도, 컴퓨팅 장치는 다양한 구성 요소가 더 포함될 수 있다. 컴퓨터 프로그램은 메모리에 로드될 때 프로세서로 하여금 본 개시의 다양한 실시예에 따른 방법/동작을 수행하도록 하는 명령어들(instructions)을 포함할 수 있다. 즉, 프로세서는 명령어들을 실행함으로써, 본 개시의 다양한 실시예에 따른 방법/동작들을 수행할 수 있다. 명령어는 기능을 기준으로 묶인 일련의 컴퓨터 판독가능 명령어들로서 컴퓨터 프로그램의 구성 요소이자 프로세서에 의해 실행되는 것을 가리킨다.
프로세서는 컴퓨팅 장치의 각 구성의 전반적인 동작을 제어한다. 프로세서는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 개시의 기술 분야에 잘 알려진 임의의 형태의 프로세서 중 적어도 하나를 포함하여 구성될 수 있다. 또한, 프로세서는 본 개시의 다양한 실시예들에 따른 방법/동작을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다.
메모리는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리는 본 개시의 다양한 실시예들에 따른 방법/동작을 실행하기 위하여 스토리지로부터 하나 이상의 컴퓨터 프로그램을 로드할 수 있다. 메모리는 RAM과 같은 휘발성 메모리로 구현될 수 있을 것이나, 본 개시의 기술적 범위는 이에 한정되지 않는다.
스토리지는 컴퓨터 프로그램을 비임시적으로 저장할 수 있다. 스토리지는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 개시가 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.
도 1은 한 실시예에 따른 IoT 네트워크 환경을 개념적으로 설명하는 도면이고, 도 2는 한 실시예에 따른 IoT 관리 서버 및 IoT 장치의 단계적 식별 방법을 설명하는 도면이다.
도 1을 참고하면, 네트워크 관리 장치(100)는 관리하는 네트워크에서 전송되는 트래픽에서, 연결된 서버와 클라이언트 간의 세션 데이터를 추출하고, 세션 데이터를 이용하여 적어도 하나의 IoT 관리 서버(200)에 연결된 복수의 IoT 장치들(300)을 식별할 수 있다. 여기서, IoT 관리 서버(200)는 일정 수의 IoT 장치들로부터 데이터를 수신하고, 이들을 관리하도록 설계될 수 있다. IoT 장치(300)는 주기적으로 서버에 연결되어 데이터를 전송하는 장치를 의미한다. IoT 서비스에 따라 IoT 장치(300)의 종류는 다양할 수 있다. 예를 들면, IoT 장치(300)는 태양광발전, 버스노선조회, 프린터 복사기 임대관리시스템, CCTV, 스마트홈 서비스 등의 Smart Home Service 등의 서비스에서 이용되는 단말일 수 있다.
네트워크 관리 장치(100)는 적어도 하나의 프로세서에 의해 동작하는 컴퓨팅 장치로 구현될 수 있고, 예를 들면, 복수의 서버들이 구축된 인터넷 데이터 센터(IDC) 등의 서버 플랫폼의 네트워크를 관리할 수 있다.
네트워크 관리 장치(100)는 세션 데이터로부터 IoT 관리 서버(200)를 식별하고, 식별한 IoT 관리 서버(200)에 연결된 IoT 장치(300)를 단계적으로 식별할 수 있다. 네트워크 관리 장치(100)는 일정 기간의 세션 데이터로부터 IoT 식별을 위한 지표의 통계값을 추출하고, IoT 식별 지표의 통계값을 기초로 IoT 관리 서버(200)를 먼저 식별할 수 있다. 그리고, 네트워크 관리 장치(100)는 IoT 관리 서버(200)로 식별된 서버와 통신하는 장치들 중에서 IoT 식별 지표의 통계값을 기초로 IoT 장치(300)를 식별할 수 있다.
네트워크 관리 장치(100)는 세션 데이터로부터 HTTP 프로토콜을 이용하는 IoT 장치를 식별할 수 있는데, 세션 데이터는 네트워크 트래픽 분석 툴을 이용하여 획득될 수 있다. 세션 데이터는 출발지 및 목적지를 기준으로 성사된 연결 과정 중에 발생되는 네트워크 패킷들을 조합하여 획득될 수 있다. 여기서, 세션 데이터는 HTTP 프로토콜에 따라 전송된 요청(request)/응답(response) 트랜잭션의 연결을 기록한 HTTP 로그로부터 획득될 수 있다. 세션 데이터는 표 1과 같이, HTTP 로그로부터 획득한 항목들을 포함할 수 있다.
항목 설명
세션 발생 타임스탬프(ts) 첫 번째 패킷(request)의 타임스탬프(Timestamp for when the request happened)
연결 식별자(uid) 연결의 고유한 식별자(unique identifier of the connection)
출발지 IP 주소(id.orig_h) 출발지 IP 주소
출발지 포트(id.orig_p) 출발지 포트
목적지 IP 주소(id.resp_h) 목적지 IP 주소
목적지 포트(id.resp_p) 목적지 포트
트랜잭션 깊이(trans_depth) HTTP 파프라이닝에서의 트랜잭션 깊이(Represents the pipelined depth into the connection of this request/response transaction)
URI 요청(request)에서 사용된 통합 자원 식별자(Uniform Resource Identifier, URI)
IoT 장치는 대체로 24시간 작동하고, IoT 관리 서버로 상태정보 등의 데이터를 규칙적으로 전송한다. 네트워크 관리 장치(100)는 서버와 클라이언트의 세션 데이터를 통계 처리하여, 이러한 IoT 특성을 가지는 IoT 관리 서버와 IoT 장치를 식별한다. 이때, 네트워크 관리 장치(100)는 일정 시간 단위마다 목적지 IP 주소(IoT 관리 서버 후보의 IP 주소)를 기준으로 세션 데이터를 그룹핑하고, 그룹핑된 세션 데이터에 포함된 출발지 IP 주소의 개수가 비슷하다면, 목적지 IP 주소의 서버를 IoT 관리 서버로 식별할 수 있다. 네트워크 관리 장치(100)는 식별된 IoT 관리 서버에 주로 연결되는 단말을 IoT 장치로 식별할 수 있다.
도 2를 참고하면, 네트워크 관리 장치(100)는 HTTP 로그로부터, 세션 데이터를 수집한다. 세션 데이터는, 세션 발생 타임스탬프(ts), 연결 식별자(uid), 출발지 IP 주소, 출발지 포트, 목적지 IP 주소, 목적지 포트, 트랙잭션 깊이, URI 등을 포함할 수 있다.
네트워크 관리 장치(100)는 일정 시간 단위(예를 들면, 1시간)마다 수집한 세션 데이터를 목적지 IP 주소를 기준으로 분류하고, 분류된 세션 데이터에서 고유한 출발지 IP 주소의 수, 그리고 트랜잭션 깊이의 평균을 계산한다.
네트워크 관리 장치(100)는 일정 시간 단위(예를 들면, 1시간)마다 목적지 IP 주소별로 계산한 출발지 IP 주소 수 및 트랜잭션 깊이 평균을 일정 기간(예를 들면, 하루) 동안 집계하여, 목적지 IP 주소별 IoT 식별 지표의 통계값을 계산한다. IoT 관리 서버의 식별을 위한 IoT 식별 지표는 출발지 IP 주소 수의 변동 계수(Coefficient variation, CV), 트랜잭션 깊이 평균, 세션 발생한 시간 구간 수(BIN 수)를 포함할 수 있다.
출발지 IP 주소 수의 변동 계수는 표준 편차를 평균으로 나눈 값으로서, 일정 시간 단위마다 비슷한 출발지 IP 주소 수가 수집될수록 변동 계수값은 작아진다. 출발지 IP 주소 수의 변동 계수가 작을수록, IoT 관리 서버일 가능성이 높다.
IoT 식별 지표로 사용되는 트랜잭션 깊이 평균은 시간당 트랜잭션 깊이 평균을 하루 동안의 평균으로 계산한 값으로서, 1에 가까울수록 IoT 관리 서버일 가능성이 높다. 웹 통신의 경우, 하나의 웹 페이지 로드에 대해 내부적으로 다수의 Request(script, img, css, XHR등)가 발생한다. 여기서 하나의 웹 페이지 로드를 하나의 트랜잭션이라고 할 때, 내부적으로 각각의 요청(Request)에 순서대로 깊이(depth)를 부여한다. 따라서 내부적인 요청이 많을수록 depth가 늘어나는데, IoT 장치는 주로 단일 요청을 하므로, 트랜잭션 깊이가 대부분 1이다. 트랜잭션 깊이 평균이 1에 가까울수록 IoT 관리 서버일 가능성이 높다고 볼 수 있다.
세션 발생한 시간 구간 수(BIN 수)는 세션 발생 타임스탬프(ts)를 기초로, 일정 기간(예를 들면, 하루)을 나눈 시간 구간들 중에서, 세션이 발생한 시간 구간의 수를 계산한 값으로서, 세션 발생한 시간 구간 수가 클수록 시간마다 규칙적으로 연결된 것을 의미하므로 IoT 관리 서버일 가능성이 높다. 세션 발생한 시간 구간 수(BIN 수)는 예를 들어, 24시간을 1시간 단위의 시간 대 구간(BIN)으로 나누고, 24 구간 중 세션이 발생한 구간 수를 카운트한 값이다.
네트워크 관리 장치(100)는 목적지 IP 주소별 IoT 식별 지표와 기준값을 비교하여, 목적지 IP 주소를 IoT 관리 서버의 주소로 결정할 수 있다. 기준값은 IoT 장치 및 IoT 서비스의 특성에 다라 다양하게 설정될 수 있는데, 예를 들면, 출발지 IP 주소 수의 변동 계수가 0.2, 트랜잭션 깊이 평균이 1.2이하, 그리고 세션 발생한 시간 구간 수(BIN 수)가 20이상인 IoT 식별 지표를 가진 목적지 IP 주소A가, IoT 관리 서버의 주소로 결정할 수 있다.
네트워크 관리 장치(100)는 목적지 IP 주소A가 IoT 관리 서버로 식별된 경우, 목적지 IP 주소A와 통신한 출발지 IP 주소들을 추출한다. 이때, 네트워크 관리 장치(100)는 일정 시간 단위가 아니라, 목적지 IP 주소별 IoT 식별 지표의 통계값을 계산하는 기간(예를 들면, 하루) 동안의 세션 데이터에서, 목적지 IP 주소A와 통신한 출발지 IP 주소들을 IoT 장치 후보로 추출할 수 있다.
네트워크 관리 장치(100)는 IoT 장치 후보가 IoT 특성을 가지는지 판단하기 위해, 일정 기간(예를 들면, 하루) 동안의 세션 데이터에서, IoT 장치 후보에 해당하는 출발지 IP 주소별 IoT 식별 지표의 통계값을 계산한다. IoT 장치 식별을 위한 IoT 식별 지표는 목적지 IP 주소 수, URI 수, 트랜잭션 깊이 평균, 세션 발생한 시간 구간 수(BIN 수)를 포함할 수 있다.
IoT 장치는 지정된 서버와 통신하므로, 목적지 IP 주소 수나 URI 수가 적을수록 IoT 장치일 가능성이 높다. IoT 장치는 주로 단일 요청을 하므로, 트랜잭션 깊이 평균이 1에 가까울수록 IoT 장치일 가능성이 높다. 세션 발생한 시간 구간 수가 클수록 시간마다 규칙적으로 연결된 것을 의미하므로 IoT 장치일 가능성이 높다.
네트워크 관리 장치(100)는 출발지 IP 주소별 IoT 식별 지표와 기준값을 비교하여, IoT 장치 후보인 출발지 IP 주소B를 IoT 단말의 주소로 결정할 수 있다. 기준값은 IoT 장치 및 IoT 서비스의 특성에 다라 다양하게 설정될 수 있는데, 예를 들면, 목적지 IP 주소 수/URI 수가 5이하, 트랜잭션 깊이 평균이 1.2이하, 그리고 세션 발생한 시간 구간 수(BIN 수)가 20이상인 IoT 식별 지표를 가진 출발지 IP 주소B가, IoT 관리 서버의 주소로 결정할 수 있다. IoT 장치 후보들 중에 일부는 일반 사용자가 사용하는 단말일 수 있다.
한편, 네트워크 관리 장치(100)는 이미 자신이 관리하는 IoT 관리 서버의 IP 주소를 알 수 있다. 따라서, 네트워크 관리 장치(100)는 IoT 관리 서버를 식별하는 단계를 건너뛰고, 세션 데이터에서 알고 있는 IoT 관리 서버와 통신한 출발지 IP 주소들을 추출하고, 출발지 IP 주소별 IoT 식별 지표의 통계값을 계산할 수 있다.
도 3은 한 실시예에 따른 IoT 장치 식별 방법의 흐름도이다.
도 3을 참고하면, 네트워크 관리 장치(100)는 네트워크를 통해 연결된 서버와 단말의 세션 데이터를 수집한다(S110). 네트워크 관리 장치(100)는 각 세션의 HTTP 로그로부터, 세션 발생 타임스탬프(ts), 연결 식별자(uid), 출발지 IP 주소, 출발지 포트, 목적지 IP 주소, 목적지 포트, 트랙잭션 깊이, URI 등을 포함하는 세션 데이터를 수집할 수 있다.
네트워크 관리 장치(100)는 일정 시간 단위마다 수집한 세션 데이터를 목적지 IP 주소별로 분류하고, 각 목적지 IP 주소의 세션 데이터를 이용하여, 일정 시간 단위마다의 출발지 IP 주소 수 및 트랜잭션 깊이 평균을 계산한다(S120).
네트워크 관리 장치(100)는 일정 시간 단위마다 목적지 IP 주소별로 계산한 출발지 IP 주소 수 및 트랜잭션 깊이 평균을 일정 기간 동안 집계하여, 목적지 IP 주소별로 IoT 관리 서버의 식별을 위한 IoT 식별 지표의 통계값을 계산한다(S130). IoT 관리 서버의 식별을 위한 IoT 식별 지표는 출발지 IP 주소 수의 변동 계수를 포함할 수 있다. IoT 관리 서버의 식별을 위한 IoT 식별 지표는 트랜잭션 깊이 평균, 세션 발생한 시간 구간 수(BIN 수)를 더 포함할 수 있다.
네트워크 관리 장치(100)는 목적지 IP 주소별 IoT 식별 지표의 통계값과 기준값을 비교하여, 특정 목적지 IP 주소를 IoT 관리 서버의 주소로 결정한다(S140).
네트워크 관리 장치(100)는 일정 기간 동안의 세션 데이터에서, 특정 목적지 IP 주소와 통신한 출발지 IP 주소들을 IoT 장치 후보들로 추출한다(S150).
네트워크 관리 장치(100)는 일정 기간 동안의 세션 데이터에서, IoT 장치 후보별로 IoT 장치의 식별을 위한 IoT 식별 지표의 통계값을 계산한다(S160). IoT 장치의 식별을 위한 IoT 식별 지표는 목적지 IP 주소 수 또는 URI 수를 포함할 수 있다. IoT 장치의 식별을 위한 IoT 식별 지표는 트랜잭션 깊이 평균, 세션 발생한 시간 구간 수(BIN 수)를 더 포함할 수 있다.
네트워크 관리 장치(100)는 IoT 장치 후보별 IoT 식별 지표의 통계값과 기준값을 비교하여, 특정 출발지 IP 주소의 후보를 IoT 장치로 식별한다(S170).
이와 같이, 실시예에 따르면, 수십 Gbps에 달하는 대량 트래픽이 발생하는 네트워크에서 세션 데이터에 대한 기초 정보가 주어지지 않아도 IoT 관리 서버와 통신하는 IoT 장치를 식별할 수 있다.
실시예에 따르면, 네트워크에 연결된 IoT 장치들을 식별할 수 있으므로, 식별한 IoT 장치들의 비정상 동작을 탐지할 수 있고, 감염 예방 조치를 취해 안정적인 네트워크를 유지할 수 있는 기반을 제공할 수 있다.
이상에서 설명한 본 개시의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 개시의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다.
이상에서 본 개시의 실시예에 대하여 상세하게 설명하였지만 본 개시의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 개시의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 개시의 권리범위에 속하는 것이다.

Claims (15)

  1. 네트워크 관리 장치의 동작 방법으로서,
    일정 기간 동안의 세션 데이터에서, IoT 관리 서버의 특정 목적지 IP 주소와 통신한 출발지 IP 주소들을 IoT 장치 후보들로 추출하는 단계,
    상기 세션 데이터에서, IoT 장치 후보별로 제1 IoT 식별 지표의 통계값을 계산하는 단계, 그리고
    상기 IoT 장치 후보별 제1 IoT 식별 지표의 통계값과 기준값을 비교하여, 특정 출발지 IP 주소의 후보를 IoT 장치로 식별하는 단계를 포함하고,
    상기 제1 IoT 식별 지표는
    해당 IoT 장치 후보가 연결된 목적지 IP 주소 수 및/또는 해당 IoT 장치 후보가 전송한 요청에 사용된 URI(Uniform Resource Identifier) 수를 포함하는, 동작 방법.
  2. 제1항에서,
    상기 제1 IoT 식별 지표는
    트랜잭션 깊이 평균, 그리고 세션이 발생한 시간 구간 수 중 적어도 하나를 더 포함하는, 동작 방법.
  3. 제1항에서,
    상기 세션 데이터에서, 목적지 IP 주소별로 제2 IoT 식별 지표의 통계값을 계산하는 단계, 그리고
    목적지 IP 주소별 IoT 식별 지표의 통계값과 기준값을 비교하여, 상기 특정 목적지 IP 주소를 상기 IoT 관리 서버의 주소로 결정하는 단계를 더 포함하고,
    상기 제2 IoT 식별 지표는 해당 목적지 IP 주소에 연결된 출발지 IP 주소 수의 변동 계수를 포함하는, 동작 방법.
  4. 제3항에서,
    상기 제2 IoT 식별 지표는
    트랜잭션 깊이 평균, 그리고 세션이 발생한 시간 구간 수 중 적어도 하나를 더 포함하는, 동작 방법.
  5. 제3항에서,
    상기 제2 IoT 식별 지표의 통계값을 계산하는 단계는
    일정 시간 단위마다 수집한 세션 데이터를 목적지 IP 주소별로 분류하고, 각 목적지 IP 주소의 세션 데이터를 이용하여, 일정 시간 단위마다의 출발지 IP 주소 수 및 트랜잭션 깊이 평균을 계산하는 단계, 그리고
    상기 일정 시간 단위마다 목적지 IP 주소별로 계산한 출발지 IP 주소 수 및 트랜잭션 깊이 평균을 상기 일정 기간 동안 집계하여, 목적지 IP 주소별로 상기 제2 IoT 식별 지표의 통계값을 계산하는 단계
    를 포함하는, 동작 방법.
  6. 제1항에서,
    상기 세션 데이터는 각 세션의 HTTP 로그로부터 추출된 세션 발생 타임스탬프, 연결 식별자, 출발지 IP 주소, 목적지 IP 주소, 트랙잭션 깊이, URI(Uniform Resource Identifier)를 포함하는, 동작 방법.
  7. 네트워크 관리 장치의 동작 방법으로서,
    일정 기간 동안의 세션 데이터에서, IoT 관리 서버의 식별을 위한 목적지 IP 주소별 IoT 식별 지표의 통계값을 계산하는 단계,
    상기 목적지 IP 주소별 IoT 식별 지표의 통계값을 기초로, 상기 IoT 관리 서버에 해당하는 목적지 IP 주소를 결정하는 단계,
    상기 세션 데이터에서, 상기 IoT 관리 서버와 통신한 출발지 IP 주소들을 IoT 장치 후보들로 추출하는 단계,
    상기 세션 데이터에서, IoT 장치의 식별을 위한 IoT 장치 후보별 IoT 식별 지표의 통계값을 계산하는 단계, 그리고
    상기 IoT 장치 후보별 IoT 식별 지표의 통계값을 기초로, 상기 IoT 장치 후보들 중에서 상기 IoT 장치를 식별하는 단계
    를 포함하는 동작 방법.
  8. 제7항에서,
    상기 목적지 IP 주소별 IoT 식별 지표는
    해당 목적지 IP 주소에 연결된 출발지 IP 주소 수의 변동 계수를 포함하는, 동작 방법.
  9. 제8항에서,
    상기 목적지 IP 주소별 IoT 식별 지표는
    트랜잭션 깊이 평균, 그리고 세션이 발생한 시간 구간 수 중 적어도 하나를 더 포함하는, 동작 방법.
  10. 제9항에서,
    상기 IoT 관리 서버에 해당하는 목적지 IP 주소를 결정하는 단계는
    임의 목적지 IP 주소에 대해 계산된 각 IoT 식별 지표의 통계값 중에서, 상기 변동 계수가 제1 기준값 이하이고, 상기 트랜잭션 깊이 평균이 제2 기준값 이하이며, 상기 시간 구간 수가 제3 기준값 이상인 경우, 상기 임의 목적지 IP 주소를 상기 IoT 관리 서버의 주소로 결정하는, 동작 방법.
  11. 제7항에서,
    상기 IoT 장치 후보별 IoT 식별 지표는
    해당 IoT 장치 후보가 연결된 목적지 IP 주소 수 및/또는 해당 IoT 장치 후보가 전송한 요청에 사용된 URI(Uniform Resource Identifier) 수를 포함하는, 동작 방법.
  12. 제11항에서,
    상기 IoT 장치 후보별 IoT 식별 지표는
    트랜잭션 깊이 평균, 그리고 세션이 발생한 시간 구간 수 중 적어도 하나를 더 포함하는, 동작 방법.
  13. 제12항에서,
    상기 IoT 장치를 식별하는 단계는
    임의 IoT 장치 후보에 대해 계산된 각 IoT 식별 지표의 통계값 중에서, 상기 목적지 IP 주소 수 및/또는 상기 URI가 제1 기준값 이하이고, 상기 트랜잭션 깊이 평균이 제2 기준값 이하이며, 상기 시간 구간 수가 제3 기준값 이상인 경우, 상기 임의 IoT 장치 후보를 상기 IoT 장치로 식별하는, 동작 방법.
  14. 제7항에서,
    상기 목적지 IP 주소별 IoT 식별 지표의 통계값을 계산하는 단계는
    일정 시간 단위마다 수집한 세션 데이터를 목적지 IP 주소별로 분류하고, 각 목적지 IP 주소의 세션 데이터를 이용하여, 일정 시간 단위마다의 출발지 IP 주소 수 및 트랜잭션 깊이 평균을 계산하는 단계, 그리고
    상기 일정 시간 단위마다 목적지 IP 주소별로 계산한 출발지 IP 주소 수 및 트랜잭션 깊이 평균을 상기 일정 기간 동안 집계하여, 상기 목적지 IP 주소별IoT 식별 지표의 통계값을 계산하는 단계
    를 포함하는, 동작 방법.
  15. 제7항에서,
    상기 세션 데이터는 각 세션의 HTTP 로그로부터 추출된 세션 발생 타임스탬프, 연결 식별자, 출발지 IP 주소, 목적지 IP 주소, 트랙잭션 깊이, URI(Uniform Resource Identifier)를 포함하는, 동작 방법.

KR1020220081832A 2021-07-08 2022-07-04 IoT 장치 식별 방법 및 이를 구현한 네트워크 관리 장치 KR102672651B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20210089526 2021-07-08
KR1020210089526 2021-07-08

Publications (2)

Publication Number Publication Date
KR20230009307A KR20230009307A (ko) 2023-01-17
KR102672651B1 true KR102672651B1 (ko) 2024-06-05

Family

ID=85111252

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220081832A KR102672651B1 (ko) 2021-07-08 2022-07-04 IoT 장치 식별 방법 및 이를 구현한 네트워크 관리 장치

Country Status (1)

Country Link
KR (1) KR102672651B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101272670B1 (ko) 2011-11-28 2013-06-10 엔에이치엔(주) 사용자 단말의 접속 네트워크 식별 장치, 방법 및 컴퓨터 판독 가능한 기록 매체
KR101976162B1 (ko) 2017-08-23 2019-08-28 주식회사 수산아이앤티 단말식별방법 및 그 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101272670B1 (ko) 2011-11-28 2013-06-10 엔에이치엔(주) 사용자 단말의 접속 네트워크 식별 장치, 방법 및 컴퓨터 판독 가능한 기록 매체
KR101976162B1 (ko) 2017-08-23 2019-08-28 주식회사 수산아이앤티 단말식별방법 및 그 장치

Also Published As

Publication number Publication date
KR20230009307A (ko) 2023-01-17

Similar Documents

Publication Publication Date Title
CN110431817B (zh) 识别恶意网络设备
US10356106B2 (en) Detecting anomaly action within a computer network
US8549645B2 (en) System and method for detection of denial of service attacks
US10013318B2 (en) Distributed event correlation system
CN109194680B (zh) 一种网络攻击识别方法、装置及设备
US8321551B2 (en) Using aggregated DNS information originating from multiple sources to detect anomalous DNS name resolutions
US20200244676A1 (en) Detecting outlier pairs of scanned ports
US10944784B2 (en) Identifying a potential DDOS attack using statistical analysis
US20060236401A1 (en) System, method and program product to identify a distributed denial of service attack
US20140165207A1 (en) Method for detecting anomaly action within a computer network
WO2020248658A1 (zh) 一种异常账户的检测方法及装置
US11770397B2 (en) Malicious port scan detection using source profiles
JP2019501547A (ja) DoS/DDoS攻撃を検出する方法、装置、サーバ及び記憶媒体
CN108521408A (zh) 抵抗网络攻击方法、装置、计算机设备及存储介质
US20220217162A1 (en) Malicious port scan detection using port profiles
US20210400072A1 (en) Port scan detection using destination profiles
US11546356B2 (en) Threat information extraction apparatus and threat information extraction system
US20200244685A1 (en) Scanner probe detection
CN109428857B (zh) 一种恶意探测行为的检测方法和装置
CN110740144B (zh) 确定攻击目标的方法、装置、设备及存储介质
EP3414683B1 (en) Comparison of behavioral populations for security and compliance monitoring
CN110830496A (zh) 一种防止扫描权限文件的系统的使用方法及作业方法
Shen et al. Enhancing collusion resilience in reputation systems
Hajamydeen et al. A refined filter for UHAD to improve anomaly detection
WO2016156433A1 (en) Network operation

Legal Events

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