KR20200128233A - 인공 지능을 이용한 IoT 디바이스의 타입을 결정하는 시스템 - Google Patents

인공 지능을 이용한 IoT 디바이스의 타입을 결정하는 시스템 Download PDF

Info

Publication number
KR20200128233A
KR20200128233A KR1020190046322A KR20190046322A KR20200128233A KR 20200128233 A KR20200128233 A KR 20200128233A KR 1020190046322 A KR1020190046322 A KR 1020190046322A KR 20190046322 A KR20190046322 A KR 20190046322A KR 20200128233 A KR20200128233 A KR 20200128233A
Authority
KR
South Korea
Prior art keywords
type
iot
iot device
protocol
port
Prior art date
Application number
KR1020190046322A
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 KR1020190046322A priority Critical patent/KR20200128233A/ko
Publication of KR20200128233A publication Critical patent/KR20200128233A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/303Terminal profiles
    • 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/1433Vulnerability analysis
    • 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
    • H04L67/16
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services

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)

Abstract

일 실시예에 따르면, IoT 네트워크에 포함된 IoT 디바이스의 오픈 포트(Open Port)를 찾는 포트 스캐닝 단계(Port Scanning step)를 수행하고, 상기 포트 스캐닝 단계(Port Scanning step)의 수행결과로 알아낸 오픈 포트(Open Port)에서 사용하는 프로토콜을 찾는 프로토콜 스캐닝 단계(Protocol Scanning step)를 수행하는 IoT 케어 디바이스; 및
상기 스캔 단계들의 결과에 기초하여, 상기 IoT 디바이스의 타입을 추정하는 타입 추정 단계(Type Assumption step)를 수행하는 IoT 케어 서버;를 포함하는 것인, IoT 디바이스의 타입을 결정하는 시스템이 개시된다.

Description

인공 지능을 이용한 IoT 디바이스의 타입을 결정하는 시스템{System for determining type of IoT Device using AI}
본 발명은 인공 지능을 이용한 IoT 디바이스의 타입을 결정하는 방법 및 IoT 케어 디바이스에 관한 것이다.
사물 인터넷(Internet of Things: IoT)(이하, 'IoT'라고 함)은 무선 통신을 통해 각종 사물을 연결하는 기술을 의미한다. 한편, 사물 인터넷은 다수의 IoT 기기의 기반인 리눅스 운영체제가 기기에서 올바른 보안을 갖추지 못하거나 적절한 업데이트가 이루어지지 않을 경우 리눅스 웜에 의해 해킹당할 위험이 존재한다(Dick O'Brien, 20 January 2014,“The Internet of Things: New Threats Emerge in a Connected World", Symantec). 실제로 IoT 환경에서 보안 취약점을 악용해 사생활을 침해한 사례도 있다. 미국에서 아기 모니터링 카메라인 SecurView를 생산, 판매하는 회사인 TRENDnet은 자사 제품에 올바른 보안 시스템을 구축하지 못한 채 이를 유통했다. 결과적으로 이 제품은 700여 가구의 가정 내부 영상을 해커들에게 유출했고 TRENDnet은 연방거래위원회로부터 제재를 받게 되었다.
한편, IoT의 보안성을 강화하기 위해서, IoT를 구성하는 디바이스(이하, 'IoT 디바이스'라고 함)의 취약점을 분석하는 기술들이 공개되어 있다. 취약점 분석 기술은, IoT 디바이스의 취약점을 미리 분석하여 취약점을 보완하도록 하는 것이다.
하지만, IoT을 구성하는 디바이스들은 그 종류(TV, 냉장고, 스피커, 세탁기, 전등 등등)가 다양하므로, IoT 디바이스의 종류에 맞는 취약점 분석용 데이터를 개별적으로 마련하여 각각의 IoT 디바이스의 취약점을 분석해야 한다. 따라서, IoT 디바이스의 종류(즉, 타입)을 모른 상태에서, IoT 디바이스의 취약점을 분석하기 위해서는 모든 종류의 취약점 분석용 데이터를 순차적으로 사용하여야 하므로, 취약점 분석에 필요한 컴퓨팅 리소스와 시간이 많이 소요된다.
본 발명의 일 실시예에 따르면, 인공 지능을 이용한 IoT 디바이스의 타입을 결정하는 시스템과 방법이 제공될 수 있다.
본 발명의 일 실시예에 따르면, 인공 지능을 이용한 IoT 디바이스의 타입을 결정할 있는 IoT 케어 디바이스가 제공될 수 있다.
본 발명의 일 실시예에 따르면, IoT 디바이스의 타입에 따라서 취약점을 분석할 수 있는 IoT 케어 디바이스가 제공될 수 있다.
본 발명의 일 실시예에 따르면, IoT 네트워크에 포함된 IoT 디바이스의 오픈 포트(Open Port)를 찾는 포트 스캐닝 단계(Port Scanning step)를 수행하고, 상기 포트 스캐닝 단계(Port Scanning step)의 수행결과로 알아낸 오픈 포트(Open Port)에서 사용하는 프로토콜을 찾는 프로토콜 스캐닝 단계(Protocol Scanning step)를 수행하는 IoT 케어 디바이스; 및
상기 스캔 단계들의 결과에 기초하여, 상기 IoT 디바이스의 타입을 추정하는 타입 추정 단계(Type Assumption step)를 수행하는 IoT 케어 서버;를 포함하는 것인, IoT 디바이스의 타입을 결정하는 시스템이 제공될 수 있다.
본 발명의 하나 이상의 실시예에 따르면, IoT 네트워크에 포함된 IoT 디바이스의 종류(즉, 타입)를 추정할 수 있게 된다. 이에 의해, IoT 디바이스의 취약점을 분석할때, IoT 디바이스의 타입에 맞는 취약점 분석용 데이터를 바로 사용하므로, 취약점 분석에 필요한 컴퓨팅 리소스와 시간이 절감되게 된다.
도 1과 도 2는 본 발명의 일 실시예에 따른 IoT 디바이스의 타입을 결정하는 시스템을 설명하기 위한 도면들이다.
도 3은 도 2의 IoT 디바이스의 타입을 결정하는 시스템에 사용되는 디바이스를 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따른 IoT 디바이스의 타입을 결정하는 방법을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 IoT 케어 서버에서의 기계학습을 설명하기 위한 도면이다.
이상의 본 발명의 목적들, 다른 목적들, 특징들 및 이점들은 첨부된 도면과 관련된 이하의 바람직한 실시예들을 통해서 쉽게 이해될 것이다. 그러나 본 발명은 여기서 설명되는 실시예들에 한정되지 않고 다른 형태로 구체화될 수 있다. 이하에 설명되는 실시예들은 당업자에게 본 발명의 사상을 충분히 전달할 수 있도록 하기 위해 제공되는 예시적 실시예들이다.
용어의 정의
본원 명세서에서, 용어 '소프트웨어'는 컴퓨터에서 하드웨어를 움직이는 기술을 의미하고, 용어 '하드웨어'는 컴퓨터를 구성하는 유형의 장치나 기기(CPU, 메모리, 입력 장치, 출력 장치, 주변 장치 등)를 의미하고, 용어 '단계'는 소정의 목을 달성하기 위해 시계열으로 연결된 일련의 처리 또는 조작을 의미하고, 용어 '프로그램은 컴퓨터로 처리하기에 합한 명령의 집합을 의미하고, 용어 '프로그램 기록 매체'는 프로그램을 설치하고 실행하거나 유통하기 위해 사용되는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 의미한다.
본 명세서에서, 어떤 구성요소가 다른 구성요소의 "위"(또는 "아래", "오른쪽", 또는 "왼쪽")에 있다고 언급되는 경우에 그것은 다른 구성요소의 위(또는 아래, 오른쪽, 또는 왼쪽)에 직접 위치될 수 있거나 또는 그들 사이에 제3의 구성요소가 개재될 수도 있다는 것을 의미한다. 또한 도면들에서 구성요소들의 길이나 두께는 기술적 내용의 효과적인 설명을 위해 과장된 것이다.
본 명세서에서 제1, 제2 등의 용어가 구성요소들을 기술하기 위해서 사용된 경우, 이들 구성요소들이 이 같은 용어들에 의해서 한정되어서는 안 된다. 이들 용어들은 단지 어느 구성요소를 다른 구성요소와 구별시키기 위해서 사용되었을 뿐이다. 여기에 설명되고 예시되는 실시예들은 그것의 상보적인 실시예들도 포함한다.
본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 '포함한다(comprise)' 및/또는 '포함하는(comprising)'은 언급된 구성요소는 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다.
본원 명세서에서, 용어 '관리'는 데이터의 '수신', '송신', '저장', '수정', 및 '삭제'를 포함하는 의미로 사용된다.
본원 명세서에서, '구성요소 A 및/또는 구성요소 B'는 '구성요소 A', '구성요소 B' 또는 '구성요소 A와 구성요소 B'를 의미한다.
본원 명세서에서, '사용자 단말장치'는 컴퓨터이며, 예를 들면 데스크탑 컴퓨터, 노트북, 스마트폰, 또는 PDA와 같은 장치일 수 있다.
본원 명세서에서, '컴퓨터'는 컴퓨터 프로세서와 기억장치, 운영체제, 펌웨어, 응용 프로그램, 통신부, 및 기타 리소스를 포함하며, 여기서, 운영체제(OS: OPERATING SYSTEM)은 다른 하드웨어, 펌웨어, 또는 응용프로그램(예를 들면, 관리 프로그램)을 동작적으로 연결시킬 수 있다. 통신부는 외부와의 데이터를 송수신하기 위한 소프트웨어 및 하드웨어로 이루어진 모듈을 의미한다. 또한, 컴퓨터 프로세서와 기억장치, 운영체제, 응용 프로그램, 펌웨어, 통신부, 및 기타 리소스는 서로 동작적으로(operatively) 연결되어 있다. 한편, 위에서 언급한 구성요소들에 대한 설명이나 도면은 본 발명의 설명의 목적을 위한 한도에서 기재 또는 도시된다.
본 명세서에서, 구성요소 'A'가 구성요소 'B'에게 정보, 내역, 및/ 또는 데이터를 전송한다고 함은 구성요소 'A'가 구성요소 'B'에게 직접 전송하거나 또는 구성요소 'A'가 적어도 하나 이상의 다른 구성요소를 통해서 구성요소 'B'에 전송하는 것을 포함하는 의미로 사용한다.
이하, 도면들을 참조하여, 본 발명의 실시예들에 대해 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 본 발명의 일 실시예에 따른 인공지능을 이용한 IoT 디바이스의 타입을 결정하는 시스템(이하, '결정 시스템'이라고 함)(10)을 설명하기 위한 도면이다.
도 1을 참조하면, 결정 시스템(10)은 복수의 IoT 디바이스들(100A, 100B, 100C, 100D)과 IoT 서버(200)를 포함한다. 복수의 IoT 디바이스들(100A, 100B, 100C, 100D)은 각각 자신의 IoT 네트워크에 포함되어 있다.
복수의 IoT 디바이스들(100A, 100B, 100C, 100D)(이하, 구별의 실익이 없을 경우'100'으로 표기하기로 함)은 각각 포트 스캐닝 동작과 프로토콜 스캐닝 동작과 취약점 분석 동작과 학습 데이터를 생성하는 동작을 수행하고, IoT 케어 서버(200)는 IoT 디바이스의 타입을 추정하는 동작과 기계 학습을 하는 동작을 수행한다.
도 2는 본 발명의 일 실시예에 따른 IoT 디바이스의 타입을 결정하는 시스템을 설명하기 위한 도면이고, 도 3은 도 2의 IoT 디바이스의 타입을 결정하는 시스템에 사용되는 IoT 디바이스의 타입을 결정하는 디바이스를 설명하기 위한 도면이다.
이들 도면들을 참조하면, 본 발명의 일 실시예에 따른 IoT 디바이스의 타입을 결정하는 시스템은 IoT 케어 디바이스(IoT Care Device)를 포함한다.
IoT 네트워크는 복수의 IoT 디바이스들(5: 5a, 5b, 5c, 5d)과 액세스포인트(Access Point: 이하, 'AP라고 함)(3)와 IoT 케어 디바이스(100)를 포함한다.
AP(3)는 컴퓨터 네트워크에서 표준 프로토콜을 이용하여 무선 장치들 또는 유선 장치들을 서로 연결할 수 있게 하는 장치이다. 여기서, 표준 프로토콜은 예를 들면 IEEE 802.3에 의해 정의된 유선 통신을 위한 것이거나, 또는 IEEE 802.11에 의해 정의된 무선 통신을 위한 것일 수 있다. 이들 표준 프로토콜들은 예시적인 것이며, 본원 발명이 그러한 표준 프로토콜들에만 한정되는 것이 아니다.
복수의 IoT 디바이스들(5: 5a, 5b, 5c, 5d)은 AP(3)를 통해서 유선 및/또는 무선 통신을 한다. 본 실시예에서, IoT 케어 디바이스(100)는 AP(3)를 통해서 복수의 IoT 디바이스들(5: 5a, 5b, 5c, 5d)과 통신을 할 수 있다.
본 실시예에서, 복수의 IoT 디바이스들(5: 5a, 5b, 5c, 5d)의 갯수는 5개로 도시되어 있으나, 이러한 갯수는 예시적인 것으로서 이보다 적거나 또는 많을 수 있다.
도면 1에 도시된 바와 같이, 네트워크(N)로부터 전송되는 데이터는 게이트웨이(1)와 AP(3)를 순차적으로 경유한 후에 복수의 IoT 디바이스들(5: 5a, 5b, 5c, 5d) 또는 IoT 케어 디바이스(100)에게 도착된다. 또한, 복수의 IoT 디바이스들(5: 5a, 5b, 5c, 5d) 또는 IoT 케어 디바이스(100)가 네트워크(N)로 데이터를 전송하고자 할 때, 그러한 데이터는 AP(3)와 게이트웨이(1)를 경유한 후에 네트워크(N)로 전송된다. 즉, AP(3)의 하위 레벨에 복수의 IoT 디바이스들(5: 5a, 5b, 5c, 5d)과 IoT 케어 디바이스(100)가 위치되고, AP(3)의 상위 레벨에 게이트웨이(1)가 위치되어 있고, 또한, 복수의 IoT 디바이스들(5: 5a, 5b, 5c, 5d)과 IoT 케어 디바이스(100)는 동일(Same) 레벨에 위치되어 있다.
본 실시예에서, 네트워크(N)는 광역 통신망(WAN), 도시권 통신망(MAN), 근거리 통신망(LAN), 및/또는 개인 통신망(PAN))으로 상호 데이터를 송수신하도록 연결된 통신망일 수 있다.
본 실시예에서, IoT 케어 디바이스(100)는, 포트 스캐닝(Port Scanning) 동작과, 프로토콜 스캐닝(Protocol Scanning) 동작과, 타입 추정 동작(Type Assumption)을 수행할 수 있다.
포트 스캐닝(Port Scanning) 동작은 IoT 네트워크에 포함된 IoT 디바이스들(5)의 오픈 포트(Open Port)를 찾는 것이다. 즉, 포트 스캐닝(Port Scanning) 동작은 IoT 디바이스들(5) 각각에 대하여 어떤 포트가 오픈되어 있는지를 확인하는 동작이다.
포트 스캐닝(Port Scanning) 동작은 예를 들면, 풀 스캐닝(FULL SCNNING) 또는 스텔스 스캐닝(STEALTH SCANNING) 이라 불리우는 기술들에 의해 수행될 수 있다. 풀 스캐닝은 완벽한 TCP 세션(Session)을 맺어서 열려있는 포트를 확인하는 기술이다. 스텔스 스캐닝은 하프 스캔(half scan) 기술의 일종이며, 포트 확인용 패킷을 전송하고 그러한 포트 확인용 패킷에 대한 응답(response)이 오면 응답한 포트가 열려있는 것이고, 응답이 오지 않으면 포트가 닫혀 있는 것으로 판단한다. 스텔스 스캐닝은 예를 들면, FIN, NULL, 또는 XMASH 일 수 있다.
포트(Port)는 네트워크 서비스나 특정 프로세스를 식별하는 논리 단위이며, 포트를 사용하는 프로토콜(Protocol)은 예를 들면 전송 계층 프로토콜이다. 전송 계층 프로토콜의 예를 들면 전송 제어 프로토콜(TCP)과 사용자 데이터그램 프로토콜(UDT)와 같은 것일 수 있다. 포트들은 번호로 구별되며, 이러한 번호를 포트 번호라고 부른다. 예를 들면, 포트 번호는 IP 주소와 함께 사용된다.
포트 번호는 예를 들면 3가지 종류로 분류될 수 있다.
포트 번호 포트 종류
0번 ~ 1023번 잘 알려진 포트(well-known port)
1024번 ~ 49151번 등록된 포트(registered port)
49152번 ~ 65535번 동적 포트(dynamic port)
한편, 잘 알려진 포트의 대표적인 예는 다음과 같다.
- 20번 : FTP(data)
- 21번 : FTP(제어)
- 22번 : SSH
- 23번 : 텔넷
- 53번 : DNS
- 80번 : 월드 와이드 웹 HTTP
- 119번 : NNTP
- 443번 : TLS/SSL 방식의 HTTP
이러한 포트 번호들과 포트 종류는 예시적인 것임을, 본 발명이 속하는 기술분야에 종사하는 자(이하, '당업자'라고 함)는 용이하게 알 수 있을 것이다.
본 발명의 설명의 목적을 위해서, IoT 디바이스(5a)의 오픈 포트는 80번 포트이고, IoT 디바이스(5b)의 오프 포트는 23번 포트이고, IoT 디바이스(5c)의 오픈 포트는 5555번 포트이고, IoT 디바이스(5d)의 오픈 포트는 5559번 포트라고 가정한다.
포트 스캐닝(Port Scanning) 동작은 IoT 네트워크에 포함된 IoT 디바이스들(5)의 오픈 포트(Open Port)를 찾는 동작이다. 예를 들면, IoT 케어 디바이스(100)는 포트 스캐닝 동작을 통해서, IoT 디바이스(5a)의 오픈 포트는 80번 포트가, IoT 디바이스(5b)의 오프 포트는 23번 포트이고, IoT 디바이스(5c)의 오픈 포트는 5555번 포트이고, IoT 디바이스(5d)의 오픈 포트는 5559번 포트라는 것을 알아낸다.
프로토콜 스캐닝(Protocol Scanning) 동작은 오픈 포트(Open Port)에서 사용되는 프로토콜의 종류를 알기 위한 동작이다. 여기서, 오픈 포트는 포트 스캐닝 동작에 의해 알아낸 것이다. 예를 들면, IoT 케어 디바이스(100)는 IoT 디바이스(5a)의 오픈 포트인 80번 포트에서 사용되는 프로토콜이 무엇인지를 찾는다. 또한, IoT 케어 디바이스(100)는 IoT 디바이스(5b)의 23번 포트에서 사용되는 프로토콜과, IoT 디바이스(5c)의 5555번 포트에서 사용되는 프로토콜과, IoT 디바이스(5d)의 5559번 포트에서 사용되는 프로토콜이 무엇인지를 각각 찾는다.
IoT 케어 디바이스(100)에 의해 수행되는 프로토콜 스캐닝 동작은, 오픈 포트의 종류를 확인하는 동작, 오픈 포트의 종류에 따라서 오픈 포트에 보낼 패킷(이하, '프로토콜 확인용 패킷')를 작성하는 동작, 프로토콜 확인용 패킷을 상기 오픈 포트를 가진 IoT 디바이스에게 전송하는 동작, 및 프로토콜 확인용 패킷을 전송한 상기 IoT 디바이스로부터 응답이 수신되는지를 확인하는 동작을 포함한다.
프로토콜 확인용 패킷은 예를 들면 스크립트(Script)일 수 있다.
오픈 포트의 종류를 확인하는 동작은, 포트 스캐닝 동작에 의해 알아낸 오픈 포트의 종류가 무엇인지를 확인하는 동작이다. 예를 들면, 오픈 포트의 종류를 확인하는 동작은 상기 오픈 포트가 잘 알려진 포트(well-known port), 등록된 포트(registered port), 또는 동적 포트(dynamic port) 중 어디에 해당되는지를 확인하는 동작이다. 오픈 포트의 종류를 확인하는 동작의 수행을 위해서, 포트 번호에 따라서 포트의 종류가 분류된 데이터(예를 들면, <표1>)(이하, '포트 종류 데이터')가 미리 준비되어 있어야 한다. 이러한 '포트 종류 데이터'는 IoT 케어 디바이스(100)에 의해 저장되어 관리될 수 있다.
일 실시예에 따르면, IoT 케어 디바이스(100)는, '포트 종류 데이터'를 참조함으로서, 상기 오픈 포트의 종류를 알 수 있다. 예를 들면, IoT 케어 디바이스(100)는 IoT 디바이스(5a)의 80번 포트와 IoT 디바이스(5b)의 23번 포트는 잘 알려진 포트(well-known port)이고, IoT 디바이스(5c)의 5555번 포트와 IoT 디바이스(5d)의 5559번 포트는 동적 포트(dynamic port)임을 알 수 있다.
IoT 케어 디바이스(100)는, 오픈 포트의 종류에 맞는 프로토콜 확인용 패킷을 작성하는 동작을 수행한다. 예를 들면, IoT 디바이스(5a)의 80번 포트는 월드 와이드 웹 HTTP 프로토콜을 사용하는 것으로 잘 알려진 포트(well-known port)이므로, 웹 HTTP 프로토콜을 사용하여 프로토콜 확인용 패킷을 작성하여 IoT 디바이스(5a)에게 전송한다. IoT 디바이스(5a)로부터 웹 HTTP 프로토콜을 이용하여 작성된 프로토콜 확인용 패킷에 대한 응답이 있으면, IoT 케어 디바이스(100)는 IoT 디바이스(5a)의 80번 포트가 웹 HTTP 프로토콜을 이용한다고 결정한다. 한편, IoT 디바이스(5a)로부터 웹 HTTP 프로토콜을 이용하여 작성된 프로토콜 확인용 패킷에 대한 응답이 없으면, IoT 케어 디바이스(100)는 IoT 디바이스(5a)의 80번 포트가 웹 HTTP 프로토콜을 이용하지 않는다고 결정한다. 이러한 경우, IoT 케어 디바이스(100)는 월드 와이드 웹 HTTP 프로토콜이 아닌 다른 프로코롤을 사용하여 프로토콜 확인용 패킷을 작성한 후 IoT 디바이스(5a)에게 전송한다. IoT 디바이스(5a)로부터 웹 HTTP 프로토콜이 아닌 다른 프로토콜로 작성된 프로토콜 확인용 패킷에 대한 응답이 있으면, IoT 케어 디바이스(100)는 IoT 디바이스(5a)의 80번 포트가 상기 다른 프로토콜을 이용한다고 결정한다. 만약, IoT 디바이스(5a)로부터 웹 HTTP 프로토콜이 아닌 상기 다른 프로토콜로 작성된 프로토콜 확인용 패킷에 대한 응답이 없으면, IoT 케어 디바이스(100)는 IoT 디바이스(5a)의 80번 포트가 상기 다른 프로토콜을 이용하지 않는다고 결정한다. 이후, IoT 디바이스(5a)는 IoT 디바이스(5a)로부터 응답이 올때까지 또 다른 프로토콜을 사용하여 프로토콜 확인용 패킷을 작성하여 전송한다. IoT 케어 디바이스(100)는 상술한 방법에 의해 IoT 디바이스들(5)의 오픈 포트들에서 실제 사용되는 프로토콜의 종류를 알아 낸다.
IoT 케어 서버(200)는, 상술한 포토 스캐닝 동작의 수행결과와 프로토콜 스캐닝(Protocol Scanning) 동작의 수행결과 중 적어도 하나의 결과를 이용하여, IoT 디바이스들(5)의 각각의 타입(type)을 추정하는 타입 추정 동작(Type Assumption)을 수행한다.
일 실시예에 따르면, IoT 케어 서버(200)는 인공지능을 이용하여 타입 추정 동작을 수행할 수 있다. 후술하겠지만, IoT 케어 서버(200)는 인공지능으로 구성된 IoT 디바이스의 타입 추정부와, 인공지능에 사용되는 모델을 학습하기 위한 기계학습부를 포함할 수 있다. 기계학습에 대하여는 도 5를 참조하여 후술하기로 한다.
일 실시예에 따르면, IoT 케어 서버(200)에 의해 수행되는 타입 추정 동작(Type Assumption)은, 프로토콜 스캔 동작의 수행결과로 알아낸 프로토콜의 종류로부터 서비스의 종류를 추정하는 동작과, 그렇게 추정된 서비스의 종류로부터 IoT 디바이스의 타입을 추정하는 동작을 포함한다.
프로토콜의 종류로부터 서비스의 종류를 추정하는 동작은, 통상적으로 서비스마다 주로 사용되는 프로토콜이 정해져 있다는 경험에 기초한 것이다. 예를 들면, RTSP, RTP, 또는 RTCP 프로토콜은, 주로 스트리밍 서비스를 지원한다. 즉, 프로토콜마다 주로 지원되는 서비스들을 정의한 데이터(이하, '프로토콜-서비스 매핑(mapping) 데이터'가 준비되면, IoT 케어 디바이스(100)는 '프로토콜-서비스 매핑 데이터'를 이용하여, 프로토콜의 종류로부터 서비스의 종류를 추정할 수 있다. '프로토콜-서비스 매핑 데이터'는 IoT 케어 디바이스(100)에 의해 저장되어 관리될 수 있다.
서비스의 종류로부터 IoT 디바이스의 타입을 추정하는 동작도, 통상적으로 IoT 디바이스들의 타입별로 주로 사용되는 서비스가 정해져 있다는 경험에 기초한 것이다. 예를 들면, RTSP, RTP, 또는 RTCP 프로토콜은 주로 스트리밍 서비스를 지원하고, 이러한 스트리밍 서비스는 예를 들면 IP TV와 같은 IoT 디바이스에 의해 제공된다. 즉, 서비스마다 주로 제공되는 IoT 디바이스들의 타입을 정의한 데이터(이하, '서비스-타입 매핑(mapping) 데이터'가 준비되면, IoT 케어 디바이스(100)는 '서비스-타입 매핑 데이터'를 이용하여, 서비스의 종류로부터 IoT 디바이스의 타입을 추정할 수 있다. '서비스-타입 매핑 데이터'는 IoT 케어 디바이스(100)에 의해 저장되어 관리될 수 있다.
한편, 프로토콜 확인용 패킷에 대한 응답에는 IoT 디바이스의 배너(Banner) 정보와 서비스(Service) 정보 중 적어도 하나를 포함할 수 있다.
프로토콜 확인용 패킷에 대한 응답에 포함된 배너(Banner) 정보에는 통상적으로, IoT 디바이스에서 사용되는 운영체제(Operating System)가 어떤 종류인지를 나타내는 데이터가 포함되어 있다. IoT 케어 디바이스(100)는, 운영체제의 종류를 알면 서비스의 종류를 알거나 또는 IoT 디바이스의 타입을 추정할 수 있다.
IoT 디바이스에서 사용되는 운영체제(Operating System)의 예를 들면, 타이젠(Tizen), 브릴로(Brillo), 푸크시아(Fuchsia), 또는 라이트오에스(LiteOS)와 같은 것들이다. 여기서, 타이젠(Tizen)은 휴대전화와 같은 휴대용 장치, TV, 냉장고와 같은 IoT 디바이스를 지원하는 오픈 소스 모바일 운영체제이고, 브릴로(Brillo)는 구글에서 발표된 안드로이드 기반의 임베디스 운영체제이고, 푸크시아(Fuchsia)는 구글에서 개발중인 운영체제로서 임베디드 시스템, PC, 스마트폰, IoT 디바이스를 지원하기 위한 운영체제이고, 라이트오에스(LiteOS)는 화웨이가 IoT 디바이스를 위해 개발한 것으로서 스마트 홈, 웨어러블 디바이스, 또는 스마트 카 등과 같이 다양한 IoT 디바이스를 지원하기 위한 운영체제이다.
프로토콜 확인용 패킷에 대한 응답에 포함된 서비스(Service) 정보에는 통상적으로 IoT 디바이스가 어떠한 타입인지를 나타내는 데이터가 포함되어 있다. 예를 들면, 서비스(Service) 정보에는 '나의 아이폰'(My iPhone)과 같은 데이터가 포함되어 있을 수 있으며, 이러한 데이터는 IoT 디바이스의 타입을 직접적으로 나타내는 정보이다.
일 실시예에 따르면, IoT 케어 서버(200)에 의해 수행되는 타입 추정 동작(Type Assumption)은, IoT 디바이스의 배너(Banner) 정보와 서비스(Service) 정보 중 적어도 하나의 정보와, 상술한 포토 스캐닝 동작의 수행결과와 프로토콜 스캐닝(Protocol Scanning) 동작의 수행결과 중 적어도 하나의 수행결과를 이용한다.
예를 들면, IoT 케어 서버(200)에 의해 수행되는 타입 추정 동작(Type Assumption)은, 제1추정동작, 제2추정동작, 비교동작, 및 타입결정동작을 포함한다.
제1추정동작은, 프로토콜 스캐닝 동작에 의해 획득된 프로토콜의 종류로부터 서비스의 종류를 추정하는 동작이다. 제1추정동작에 대한 예시적인 설명은 RTSP, RTP, 또는 RTCP 프로토콜을 언급한 설명 부분을 참조하기 바란다.
제2추정동작은, IoT 디바이스의 배너(Banner) 정보와 서비스(Service) 정보 중 적어도 하나의 정보를 이용하여 서비스의 종류를 추정하는 동작이다. 제2추정동작에 대한 예시적인 설명은 타이젠(Tizen), 브릴로(Brillo), 푸크시아(Fuchsia), 또는 라이트오에스(LiteOS)를 언급한 설명 부분과 나의 아이폰(My iPhone)을 언급한 설명 부분을 참조하기 바란다.
비교동작은, 제1추정동작에 의해 추정된 서비스의 종류와 제2추정동작에 의해 추정된 서비스의 종류를 비교하는 동작이다.
타입결정동작은, 제1추정동작에 의해 추정된 서비스의 종류와 제2추정동작에 의해 추정된 서비스의 종류가 서로 다를 경우에 제2추정동작에 의해 추정된 서비스의 종류로부터 IoT 디바이스의 타입을 결정하고, 제1추정동작에 의해 추정된 서비스의 종류와 제2추정동작에 의해 추정된 서비스의 종류가 서로 같을 경우에 제1추정동작 또는 제2추정동작에 의해 추정된 서비스의 종류로부터 IoT 디바이스의 타입을 결정하는 동작이다.
한편, IoT 디바이스의 배너(Banner) 정보와 서비스(Service) 정보가 없거나, 그러한 배너 정보와 서비스 정보에 서비스의 종류를 추정할 수 있는 데이터가 없을 경우, 타입 추정 동작(Type Assumption)은, 제1추정동작과 타입결정동작을 포함한다. 즉, 제2추정동작과 비교동작의 수행이 없이, 제1추정동작과 타입결정동작만으로 타입 추정 동작이 수행될 수 있다.
다른 예를 들면, IoT 케어 디바이스(100) 또는 IoT 케어 서버(200)는 신뢰도 산출동작을 수행할 수 있다. 여기서, 포트 스캐닝 동작과 프로토콜 스캐닝 동작과 타입 추정 동작은 상술한 바가 있으므로, 신뢰도 산출동작에 대하여 설명하기로 한다.
신뢰도 산출동작은 예를 들면, 타입 추정 동작에 의해 추정된 IoT 디바이스의 타입의 정확성을 수치로 산출하는 동작이다.
신뢰도 산출동작의 예를 들면, 제1추정동작에 의해 추정된 서비스의 종류와 제2추정동작에 의해 추정된 서비스의 종류가 서로 같을 경우에, 그러한 서비스의 종류로부터 결정된 IoT 디바이스의 타입은 신뢰도가 90% 이상 ~ 100%으로 산출될 수 있다.
또한, 신뢰도 산출동작의 예를 들면, 제1추정동작에 의해 추정된 서비스의 종류와 제2추정동작에 의해 추정된 서비스의 종류가 서로 다를 경우에, 제2추정동작에 의해 추정된 서비스의 종류로부터 결정된 IoT 디바이스의 타입은 신뢰도가 80% 이상 ~90% 미만으로 산출될 수 있다.
또한, 신뢰도 산출동작의 예를 들면, 제2추정동작과 비교동작의 수행이 없이, 제1추정동작과 타입결정동작으로 타입 추정 동작이 수행될 경우, 그러한 타입 추정 동작에 의해 추정된 IoT 디바이스의 신뢰도는 70% 이상 ~80% 미만으로 산출될 수 있다.
상술한 신뢰도 산출동작의 수치들은 예시적인 것으로서 본원 발명은 그러한 수치들에만 한정되는 것은 아니며, 당업자는 포트 스캐닝 동작의 수행결과, 프로토콜 스캐닝 동작의 수행결과, IoT 디바이스의 배너(Banner) 정보와 서비스(Service) 정보의 이용정도를 반영하여 다른 수치의 신뢰도를 산출하도록 본원 발명을 구성할 수도 있을 것이다.
도 3은 본 발명의 일 실시예에 따른 IoT 케어 시스템을 설명하기 위한 도면들이다.
도 3을 참조하면, IoT 케어 시스템은 IoT 케어 디바이스(100)와 IoT 케어 서버(200)를 포함할 수 있다. IoT 케어 디바이스(100)와 IoT 케어 서버(200)는 유선 및/또는 무선 통신망에 의해 연결된다.
IoT 케어 디바이스(100)는, 포트 스캐닝부(101), 프로토콜 스캐닝부(103), IoT 취약점 분석부(105), 운영체제(107), 통신부(109), 컴퓨터 프로세서(111), 기억장치(113), 및 메모리(115)를 포함할 수 있다. 여기서, 운영체제(107)는 하드웨어를 관리할 뿐 아니라 응용 소프트웨어를 실행하기 위하여 하드웨어 추상화 플랫폼과 공통 시스템 서비스를 제공하는 소프트웨어이고, 기억장치(113)와 메모리(115)는 각각 프로그램이 저장되고 실행되기 위한 공간을 제공하는 디바이스이다. 컴퓨터 프로세서(111)는 중앙처리장치(CPU)이며, 이러한 중앙처리장치는 컴퓨터 시스템을 통제하고 프로그램의 연산을 실행하는 컴퓨터의 제어 장치, 또는 그 기능을 내장한 칩이다.
메모리(115) 및/또는 기억장치(113)에는 프로그램이 저장 또는 실행되는 공간을 제공하며, 또한 프로토콜-서비스 매핑(mapping) 데이터 또는 서비스-타입 매핑(mapping) 데이터와 같이 본원 발명의 동작에 필요한 데이터들을 저장할 수 있다.
메모리(115) 및/또는 기억장치(113)는, 또한, IoT 디바이스들(5)의 '취약점 분석용 데이터'를 저장한다. 바람직하게는, 메모리(115) 및/또는 기억장치(113)는 IoT 디바이스들의 타입에 따라서 분류된 '취약점 분석용 데이터'를 저장한다.
IoT 케어 서버(200)는 기계 학습부(202), IoT 디바이스의 타입 추정부(204), 관리부(미 도시), 운영체제(미 도시), 통신부(미도시), 컴퓨터 프로세서(미 도시), 기억장치(미 도시), 및 메모리(미 도시)를 포함할 수 있다. 여기서, IoT 케어 서버(200)의 운영체제는 하드웨어를 관리할 뿐 아니라 응용 소프트웨어를 실행하기 위하여 하드웨어 추상화 플랫폼과 공통 시스템 서비스를 제공하는 소프트웨어이고, IoT 케어 서버(200)의 기억장치와 메모리는 각각 프로그램(예를 들면, 기계학습부, IoT 디바이스의 타입 추정부, 관리부, 운영체제)이 저장되고 실행되기 위한 공간을 제공하는 디바이스이다. IoT 케어 서버(200)의 컴퓨터 프로세서는 중앙처리장치(CPU)이며, 이러한 중앙처리장치는 컴퓨터 시스템을 통제하고 프로그램의 연산을 실행하는 컴퓨터의 제어 장치, 또는 그 기능을 내장한 칩이다. IoT 케어 서버(200)의 메모리 및/또는 기억장치에는 프로그램(기계학습부, IoT 디바이스의 타입 추정부, 관리부, 운영체제)이 저장 또는 실행되는 공간을 제공하며, 또한 모델, 인공지능(프로그램)을 저장할 수 있다.
포트 스캐닝부(101)는 상술한 포트 스캐닝 동작을 수행한다. 포트 스캐닝부(101)는 포트 확인용 패킷을 작성하고 통신부(109)를 통해서 포트 확인용 패킷을 IoT 디바이스에게 전송하고, 포트 확인용 패킷에 대한 응답이 수신되는지를 확인하여 IoT 디바이스에서 오픈된 포트를 결정한다.
프로토콜 스캐닝부(103)는 상술한 프로토콜 스캐닝 동작을 수행한다. 프로토콜 스캐닝부(103)는 프로토콜 확인용 패킷을 작성하고, 통신부(109)를 통해서 프로토콜 확인용 패킷을 IoT 디바이스에게 전송하고, 프로토콜 확인용 패킷에 대한 응답이 수신되는지를 확인하고, 오픈된 포트에서 실제 사용되는 프로토콜을 결정한다.
IoT 케어 디바이스(100)는 포트 스캐닝 결과와 프로토콜 스캐닝의 결과를 IoT 케어 서버(200)에게 전송한다.
IoT 케어 서버(200)의 IoT 디바이스의 타입 추정부(204)는 IoT 케어 디바이스(100)로부터 수신한 포트 스캐닝 결과와 프로토콜 스캐닝의 결과에 이용하여 상술한 타입 추정 동작을 수행한다.
일 실시예에 따르면, IoT 디바이스의 타입 추정부(204)는 IoT 디바이스의 배너(Banner) 정보와 서비스(Service) 정보 중 적어도 하나의 정보와, 포토 스캐닝부(101)의 동작결과와 프로토콜 스캐닝부(103)의 동작결과 중 적어도 하나의 동작결과를 이용한다.
다른 실시예에 따르면, 포토 스캐닝부(101)의 동작결과와 프로토콜 스캐닝부(103)의 동작결과 중 적어도 하나의 결과를 이용한다. 이들 실시예들에 대한 상세한 설명은 상술한 바가 있으므로, 생략하기로 한다.
IoT 케어 서버(200)는 IoT 디바이스의 타입 추정부(204)의 추정 결과를 IoT 케어 디바이스(100)에게 전송한다.
IoT 케어 디바이스(100)의 IoT 취약점 분석부(105)는, 메모리(115) 및/또는 기억장치(113)에 저장된 취약점 분석용 데이터를 이용하여, IoT 디바이스의 취약점을 분석한다. 타입 추정부(204)가 IoT 디바이스의 타입을 추정하면, IoT 취약점 분석부(105)는 IoT 디바이스에 타입에 맞는 취약점 분석용 데이터를 선택하고, 선택한 취약점 분석용 데이터를 사용하여 IoT 디바이스의 취약점을 분석한다.
IoT 취약점 분석부(105)는 IoT 디바이스의 타입 추정부(204)가 추정한 IoT 디바이스의 타입에 맞은 취약점 분석용 데이터를 이용하여 취약점 분석 동작을 수행한다. 만약 취약점 분석 동작이 수행되면, IoT 케어 디바이스(100)는 IoT 디바이스의 타입 추정부(204)가 추정한 IoT 디바이스의 타입이 맞다고 판단한다. 이처럼, IoT 디바이스의 타입 추정부(204)가 추정한 IoT 디바이스의 타입이 맞을 경우, IoT 케어 디바이스(100)는 기계학습을 위한 학습 데이터를 IoT 케어 서버(200)에게 전송한다. 여기서, 학습 데이터는, IoT 디바이스의 타입 추정부(204)에 의해 바르게 추정한 IoT 디바이스의 타입과, 추정에 사용된 데이터들을 매핑시킨 데이터이다.
IoT 케어 디바이스(100)는 신뢰도 산출동작을 수행하는 신뢰도 산출부(미 도시)를 더 포함할 수 있다. 신뢰도 산출부(미 도시)는 상술한 신뢰도 산출 동작을 수행한다.
포트 스캐닝부(101)의 전부 또는 적어도 일부는 프로그램으로 구성될 수 있다. 프로그램으로 구성된 부분은 메모리(115)에 로딩되어 컴퓨터 프로세서(111)의 제어하에 포트 스캐닝 동작을 수행한다. 다른 구성요소들, 예를 들면, 프로토콜 스캐닝부(103), IoT 디바이스의 타입 추정부(204), IoT 취약점 분석부(105), 및 신뢰도 산출부(미 도시)도 포트 스캐닝부(101)와 동일한 방식으로 구성되어 자신의 동작을 수행할 수 있다. 한편, 포트 스캐닝 동작, 프로토콜 스캐닝 동작, 타입 추정 동작, 신뢰도 산출동작에 대한 상세한 설명은 상술한 바가 있으므로, 여기서는 생략하기로 한다.
도 4는 본 발명의 일 실시예에 따른 IoT 디바이스의 타입을 결정하는 방법을 설명하기 위한 도면이다.
도 4를 참조하면, 본 발명의 일 실시예에 따른 IoT 디바이스의 타입을 결정하는 방법은, IoT 케어 디바이스(100)가 IoT 네트워크에 포함된 IoT 디바이스의 오픈 포트(Open Port)를 찾는 포트 스캐닝 단계(Port Scanning step)(S100), IoT 케어 디바이스(100)가 포트 스캐닝 단계(Port Scanning step)(S100)의 수행결과로 찾아낸 오픈 포트(Open Port)에서 사용하는 프로토콜을 찾는 프로토콜 스캐닝 단계(Protocol Scanning step)(S200), IoT 케어 디바이스(100)가 상술한 스캔 단계들(S100, S200)의 결과를 IoT 케어 서버(200)에게 전송하는 단계(S300), IoT 케어 서버(200)가 IoT 케어 디바이스(100)로부터 수신한 스캐닝 단계들(S100, S200)의 결과에 기초하여, IoT 디바이스의 타입을 추정하는 타입 추정 단계(Type Assumption step)(S300), 및 IoT 케어 서버(200)가 타입 추정 단계(S300)의 추정 결과를 IoT 케어 디바이스(100)에게 전송하는 단계(S500)를 포함할 수 있다.
본 발명의 일 실시예에 따른 IoT 디바이스의 타입을 결정하는 방법은, 추가적으로, IoT 케어 디바이스(100)가 IoT 케어 서버(200)로부터 수신한 IoT 디바이스의 타입 추정 결과에 기초하여 IoT 디바이스의 타입에 따른 취약점 분석을 수행하는 단계(S600), IoT 케어 디바이스(100)가 취약점 분석 단계(S600)를 수행한 결과, IoT 디바이스의 타입 추정 결과가 맞을 경우 학습 데이터를 IoT 케어 서버(200)에게 전송하는 단계(S700), 및 IoT 케어 서버(200)가 IoT 케어 디바이스(100)로부터 수신한 학습 데이터를 이용하여 기계 학습하는 단계(S800)를 포함할 수 있다. 기계 학습(S800)의 결과는 IoT 디바이스의 타입 추정 단계(S300)에 활용될 수 있다.
한편, 학습 데이터는, 포트 스캐닝 결과와 프로토콜 스캐닝 결과를 IoT 디바이스의 타입에 매핑 시킨 데이터이다.
이하에서는, 본 발명의 일 실시예에 따른 IoT 디바이스의 타입을 결정하는 방법이 도 2과 도 3을 참조하여 설명한 본 발명의 일 실시예에 따른 IoT 디바이스의 타입을 결정하는 시스템에 적용되었다고 가정하고, 본 발명의 일 실시예에 따른 IoT 디바이스의 타입을 결정하는 방법을 설명하기로 한다.
포트 스캐닝 단계(S100)는 IoT 네트워크에 포함된 IoT 디바이스들(5)의 오픈 포트(Open Port)를 찾는 것이다. 즉, 포트 스캐닝 단계(S100)는, 도 2와 3을 참조하여 설명한 포트 스캐닝(Port Scanning) 동작을 수행하는 단계이다.
본 실시예에서도, 본 발명의 설명의 목적을 위해서, IoT 디바이스(5a)의 오픈 포트는 80번 포트가, IoT 디바이스(5b)의 오프 포트는 23번 포트이고, IoT 디바이스(5c)의 오픈 포트는 5555번 포트이고, IoT 디바이스(5d)의 오픈 포트는 5559번 포트라고 가정하기로 한다.
포트 스캐닝 단계(S100)는 IoT 네트워크에 포함된 IoT 디바이스들(5)의 오픈 포트(Open Port)를 찾는 것이다. 예를 들면, 포트 스캐닝 단계(S100)의 수행결과, IoT 디바이스(5a)의 오픈 포트는 80번 포트가, IoT 디바이스(5b)의 오프 포트는 23번 포트이고, IoT 디바이스(5c)의 오픈 포트는 5555번 포트이고, IoT 디바이스(5d)의 오픈 포트는 5559번 포트라는 것을 알게된다.
프로토콜 스캐닝 단계(S200)는, 오픈 포트(Open Port)에서 실제 사용되는 프로토콜의 종류를 알기 위한 단계이다. 즉, 프로토콜 스캐닝 단계(S200)는, 도 2와 3을 참조하여 설명한 프로토콜 스캐닝 동작을 수행하는 단계이다. 한편, 오픈 포트는 포트 스캐닝 단계(S100)의 수행결과로 획득된 것이다.
예를 들면, 프로토콜 스캐닝 단계(S200)는, IoT 디바이스(5a)의 오픈 포트인 80번 포트에서 사용되는 프로토콜의 종류를 알아내는 동작을 수행한다. 또한, 프로토콜 스캐닝 단계(S200)는 IoT 디바이스(5b)의 23번 포트에서 사용되는 프로토콜과, IoT 디바이스(5c)의 5555번 포트에서 사용되는 프로토콜과, IoT 디바이스(5d)의 5559번 포트에서 사용되는 프로토콜이 무엇인지를 찾는 동작을 수행한다. 이처럼, 프로토콜 스캐닝 단계(S200)는 IoT 디바이스들(5)의 모든 오픈 포트에 대하여 실제 사용되는 프로토콜의 종류를 알아내는 단계이다.
프로토콜 스캐닝 단계(S200)는, 오픈 포트의 종류를 확인하는 단계, 프로토콜 확인용 패킷을 작성하는 단계, 프로토콜 확인용 패킷을 상기 오픈 포트를 가진 IoT 디바이스에게 전송하는 단계, 및 프로토콜 확인용 패킷을 전송한 상기 IoT 디바이스로부터 응답이 존재하는지를 확인하는 단계를 포함한다. 한편, 오픈 포트의 종류를 확인하는 단계는 상술한 오픈 포트의 종류를 확인하는 동작을 수행하는 단계이고, 프로토콜 확인용 패킷을 작성하는 단계는 상술한 프로토콜 확인용 패킷을 작성하는 동작을 수행하는 단계이고, IoT 디바이스로부터 응답이 수신되는지를 확인하는 단계는 상술한 IoT 디바이스로부터 응답이 수신되는지를 확인하는 동작을 수행하는 단계이다. 따라서, 이들 단계들에 대한 보다 상세한 설명은 생략하기로 한다.
오픈 포트의 종류를 확인하는 단계는, 포트 스캐닝 동작에 의해 획득된 오픈 포트가 잘 알려진 포트(well-known port), 등록된 포트(registered port), 또는 동적 포트(dynamic port)에 해당되는지를 확인하는 동작을 수행한다.
일 실시예에 따르면, 오픈 포트의 종류를 확인하는 단계는. 포트 종류 데이터를 참조함으로서, 포트 스캐닝 동작에 의해 획득된 오픈 포트의 종류를 알아내는 동작을 수행한다.
일 실시예에 따르면, 프로토콜 확인용 패킷을 작성하는 단계는, 오픈 포트의 종류에 따라서 프로토콜 확인용 패킷을 작성하는 동작을 수행한다.
예를 들면, 프로토콜 확인용 패킷을 작성하는 단계는, IoT 디바이스(5a)의 80번 포트는 월드 와이드 웹 HTTP 프로토콜을 사용하는 것으로 잘 알려진 포트(well-known port)이므로, 웹 HTTP 프로토콜을 사용하여 프로토콜 확인용 패킷을 작성하는 동작을 수행한다.
또한, 프로토콜 확인용 패킷을 작성하는 단계는, IoT 디바이스(5a)로부터 웹 HTTP 프로토콜을 이용하여 작성된 프로토콜 확인용 패킷에 대한 응답이 없으면, IoT 디바이스(5a)의 80번 포트가 웹 HTTP 프로토콜을 이용하지 않는다고 결정하고, 월드 와이드 웹 HTTP 프로토콜이 아닌 다른 프로코롤을 사용하여 프로토콜 확인용 패킷을 작성하는 동작을 수행한다.
즉, 프로토콜 확인용 패킷을 작성하는 단계는, IoT 디바이스들(5)의 오픈 포트들에서 실제 사용되는 프로토콜의 종류를 알아내기 위해서, 상술한 동작들과 같이 응답이 올때까지 프로토콜 확인용 패킷을 작성한다.
프로토콜 확인용 패킷을 IoT 디바이스에게 전송하는 단계는, 프로토콜 확인용 패킷을 IoT 디바이스에게 전송하는 단계이다. 프로토콜 확인용 패킷을 IoT 디바이스에게 전송하는 단계는, IoT 디바이스로부터 응답이 올때 까지 프로토콜 확인용 패킷을 전송하는 동작을 수행한다.
프로토콜 확인용 패킷을 전송한 IoT 디바이스로부터 응답이 존재하는지를 확인하는 단계는, 상기 IoT 디바이스로부터 프로토콜 확인용 패킷에 대한 응답이 오는지를 모니터링하고, 응답이 오면 그러한 응답에 사용된 프로토콜을 해당 오픈 포트에서 실제 사용되는 프로토콜이라고 결정하는 동작을 수행한다.
타입 추정 단계(S300)는 상술한 포토 스캐닝 단계(S100)의 수행결과와 프로토콜 스캐닝 단계(S200)의 수행결과 중 적어도 하나의 결과를 이용하여, IoT 디바이스들(5)의 각각의 타입(type)을 추정하는 타입 추정 동작을 수행하는 단계이다. 즉, 타입 추정 단계(S300)는 도 2와 도 3을 참조하여 설명한 타입 추정 동작을 수행하는 단계이다.
일 실시예에 따르면, 타입 추정 단계(S300)는, 프로토콜 스캐닝 동작의 수행결과로 알아낸 프로토콜의 종류로부터 서비스의 종류를 추정하는 단계와, 서비스의 종류로부터 IoT 디바이스의 타입을 추정하는 단계를 포함한다. 여기서, 프로토콜의 종류로부터 서비스의 종류를 추정하는 단계는 상술한 프로토콜의 종류로부터 서비스의 종류를 추정하는 동작을 수행하는 단계이고, 서비스의 종류로부터 IoT 디바이스의 타입을 추정하는 단계는 상술한 서비스의 종류로부터 IoT 디바이스의 타입을 추정하는 동작을 수행하는 단계이다. 따라서, 이들 단계들에 대한 상세한 설명은 도 2와 도 3의 실시예의 설명을 참조하기 바란다.
상술한 바와 같이, 프로토콜 확인용 패킷에 대한 응답에는 IoT 디바이스의 배너(Banner) 정보와 서비스(Service) 정보 중 적어도 하나를 포함할 수 있다.
일 실시예에 따르면, 타입 추정 단계(Type Assumption step)(S300)는, IoT 디바이스의 배너(Banner) 정보와 서비스(Service) 정보 중 적어도 하나와, 상술한 포토 스캐닝 동작의 수행결과와 프로토콜 스캐닝(Protocol Scanning) 동작의 수행결과 중 적어도 하나의 결과를 이용한다.
예를 들면, 타입 추정 단계(S300)는, 제1추정동작, 제2추정동작, 비교동작, 및 타입결정동작을 수행할 수 있다. 제1추정동작, 제2추정동작, 비교동작, 및 타입결정동작에 대한 상세한 설명은 도 2와 도 3을 참조하여 설명한 실시예의 설명을 참조하기 바란다.
다른 예를 들면, 타입 추정 단계(S300)는, 포트 스캐닝 동작, 프로토콜 스캐닝 동작, 타입 추정 동작, 및 신뢰도 산출동작을 수행할 수 있다. 제1추정동작, 제2추정동작, 비교동작, 타입결정동작, 및 신뢰도 산출동작에 대한 상세한 설명은 도 2와 도 3을 참조하여 설명한 실시예의 설명을 참조하기 바란다.
도 5는 본 발명의 일 실시예에 따른 IoT 케어 서버(200)의 기계 학습을 설명하기 위한 도면이다.
도 5를 참조하면, IoT 케어 디바이스들(100)은 IoT 디바이스의 타입이 정확하게 추정된 경우, 학습 데이터를 생성하여 IoT 케어 서버(200)에게 전송한다. 학습 데이터는 상술한 바와 같이, IoT 디바이스의 타입과 IoT 디바이스의 타입의 추정에 사용된 데이터를 포함하도록 구성된다. 물론, 학습 데이터에 포함된 IoT 디바이스의 타입은 정확하게 추정된 것이다.
IoT 케어 서버(200)는 IoT 케어 디바이스들(100)로부터 전송받고, 전송받은 학습 데이터를 이용하여 기계학습을 수행하여 모델을 업 데이트시킨다. 이후, 인공지능으로 구성된 IoT 디바이스의 타입 추정부는 업 데이트된 모델을 사용하여 IoT 디바이스의 타입을 추정한다.
이와 같이 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 상술한 명세서의 기재로부터 다양한 수정 및 변형이 가능하다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니되며 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
1: 게이트 웨이 3: AP
5: IoT 디바이스 100: IoT 케어 디바이스
101: 포트 스캐닝부 103: 프로토콜 스캐닝부
104: IoT 디바이스의 타입 추정부 105: IoT 취약점 분석부
107: 운영체제 109: 통신부
111: 컴퓨터 프로세서 113: 기억장치
115: 메모리

Claims (9)

  1. IoT 네트워크에 포함된 IoT 디바이스의 오픈 포트(Open Port)를 찾는 포트 스캐닝 단계(Port Scanning step)를 수행하고, 상기 포트 스캐닝 단계(Port Scanning step)의 수행결과로 알아낸 오픈 포트(Open Port)에서 사용하는 프로토콜을 찾는 프로토콜 스캐닝 단계(Protocol Scanning step)를 수행하는 IoT 케어 디바이스; 및
    상기 스캔 단계들의 결과에 기초하여, 상기 IoT 디바이스의 타입을 추정하는 타입 추정 단계(Type Assumption step)를 수행하는 IoT 케어 서버;를 포함하는 것인, IoT 디바이스의 타입을 결정하는 시스템.
  2. 제1항에 있어서,
    상기 IoT 케어 디바이스는, 상기 IoT 네트워크에 포함된 것인, IoT 디바이스의 타입을 결정하는 시스템.
  3. 제1항에 있어서,
    상기 프로토콜 스캐닝 단계(Protocol Scanning step)는,
    상기 오픈 포트(Open Port)의 종류를 확인하는 동작과, 오픈 포트의 종류에 따른 프로토콜 확인용 패킷을 작성하여 상기 오픈 포트(Open Port)를 가진 IoT 디바이스에게 전송하는 동작과, 상기 IoT 디바이스로부터 대한 프로토콜 확인용 패킷에 대한 응답이 수신되는지를 확인하는 동작을 수행하는 단계인 것인, IoT 디바이스의 타입을 결정하는 시스템.
  4. 제3항에 있어서,
    타입 추정 단계(Type Assumption step)는,
    상기 프로토콜 스캔 단계(Protocol Scanning step)의 수행결과로 찾은 프로토콜의 종류로부터 서비스의 종류를 추정하는 동작과, 찾은 상기 서비스의 종류로부터 IoT 디바이스의 타입을 추정하는 동작을 수행하는 단계인 것인, IoT 디바이스의 타입을 결정하는 시스템.
  5. 제3항에 있어서,
    상기 응답은,
    상기 오픈 포트(Open Port)를 가진 IoT 디바이스의 배너(Banner) 정보와 서비스(Service) 정보 중 적어도 하나를 포함하는 것인, IoT 디바이스의 타입을 결정하는 시스템.
  6. 제5항에 있어서,
    상기 배너 정보 또는 상기 서비스 정보가 IoT 디바이스의 타입을 나타내는 정보를 포함하며,
    타입 추정 단계(Type Assumption step)는,
    상기 프로토콜 스캔 단계(Protocol Scanning step)의 수행결과로 찾은 프로토콜로부터 서비스의 종류를 추정하는 제1추정동작과, 상기 IoT 디바이스의 타입을 나타내는 정보로부터 서비스의 종류를 추정하는 제2추정동작과, 제1추정동작에 의해 추정된 서비스의 종류와 제2추정동작에 의해 추정된 서비스의 종류를 비교하는 동작과, 비교 결과 양자가 다를 경우에 상기 IoT 디바이스의 타입을 나타내는 정보로부터 상기 오픈 포트(Open Port)를 가진 IoT 디바이스의 타입을 추정하는 것인, IoT 디바이스의 타입을 추정하는 동작을 수행하는 단계인 것인, IoT 디바이스의 타입을 결정하는 시스템.
  7. 제1항에 있어서,
    상기 타입 추정 단계(Type Assumption step)에 의해서 추정된 IoT 디바이스들 타입의 정확성을 나타내는 수치인 신뢰도를 산출하는 단계;를 더 포함하느 것인, IoT 디바이스의 타입을 결정하는 시스템.
  8. 제1항에 있어서,
    상기 IoT 케어 디바이스는
    IoT 디바이스의 타입에 따라서 분류된 취약점 분석용 데이터에서, 상기 타입 추정 단계에 의해 추정된 IoT 디바이스 타입에 따른 취약점 분석용 데이터를 선택하고, 선택한 취약점 분석용 데이터를 이용하여 IoT 디바이스의 취약점을 분석하는 동작을 수행하는 것인, IoT 디바이스의 타입을 결정하는 시스템.
  9. 제8항에 있어서,
    상기 IoT 케어 디바이스는
    상기 타입 추정 단계에 의해 추정된 IoT 디바이스 타입이 맞다고 판단되면, 학습 데이터를 구성하여 IoT 케어 서버에게 전송하고,
    상기 학습 데이터는 IoT 디바이스 타입과, IoT 디바이스 타입의 추정에 사용된 데이터가 서로 매핑된 것인, IoT 디바이스의 타입을 결정하는 시스템.
KR1020190046322A 2019-04-19 2019-04-19 인공 지능을 이용한 IoT 디바이스의 타입을 결정하는 시스템 KR20200128233A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190046322A KR20200128233A (ko) 2019-04-19 2019-04-19 인공 지능을 이용한 IoT 디바이스의 타입을 결정하는 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190046322A KR20200128233A (ko) 2019-04-19 2019-04-19 인공 지능을 이용한 IoT 디바이스의 타입을 결정하는 시스템

Publications (1)

Publication Number Publication Date
KR20200128233A true KR20200128233A (ko) 2020-11-12

Family

ID=73398600

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190046322A KR20200128233A (ko) 2019-04-19 2019-04-19 인공 지능을 이용한 IoT 디바이스의 타입을 결정하는 시스템

Country Status (1)

Country Link
KR (1) KR20200128233A (ko)

Similar Documents

Publication Publication Date Title
EP3366011B1 (en) Mobile edge compute dynamic acceleration assignment
KR102185847B1 (ko) 포트 스캐닝과 프로토콜 스캐닝을 이용한 IoT 디바이스의 타입을 결정하는 시스템
KR102159077B1 (ko) 인공 지능을 이용한 IoT 디바이스의 타입을 결정하는 시스템
KR101990022B1 (ko) 악성코드에 감염된 디바이스를 포함하는 단말그룹에 대한 가상의 악성 트래픽 템플릿 생성 방법 및 그 장치
WO2022240671A1 (en) Detection and mitigation of security threats to a domain name system for a communication network
KR102159070B1 (ko) IoT 디바이스의 타입을 결정하는 방법 및 IoT 케어 디바이스
KR102389936B1 (ko) 취약점 분석 및 이와 연계된 IoT 케어 시스템
KR102366304B1 (ko) 페이크 디바이스 탐지 방법 및 무선 디바이스 케어 장치
KR102185843B1 (ko) 배너 정보에 기초하여 IoT 디바이스의 타입을 결정하는 방법 및 IoT 케어 디바이스
KR20200128233A (ko) 인공 지능을 이용한 IoT 디바이스의 타입을 결정하는 시스템
KR102197846B1 (ko) 해외 역직구 이커머스 구현을 위한 자동화 플랫폼 시스템
US11546232B1 (en) Video analysis and data delivery method
KR102389938B1 (ko) IoT 타입 분석 및 이를 이용한 불법 IoT 디바이스 탐지 시스템
KR102321689B1 (ko) 자율주행차량에서의 근접 디바이스 확인 방법 및 시스템
KR102258729B1 (ko) 기악교육을 위한 ai 기반의 악기의 연주 동작의 자동 추적 및 매칭 시스템
KR20210137743A (ko) 페이크 디바이스 탐지 방법 및 무선 디바이스 케어 장치
KR102655602B1 (ko) IoT 케어 센서를 이용한 홈 네트워크 시스템
KR102197843B1 (ko) 오투오 옴니채널 구현을 위한 연계 시스템
KR102321683B1 (ko) 비인가 블루투스 기기를 선별적으로 차단할수 있는 방법 및 장치
KR102488604B1 (ko) Fkm, ffkm, hnbr, csm, 또는 에피클로로히드린과 같은 특수 고무들의 제조 장치 및 발주 시스템
KR102439984B1 (ko) 웹 사이트 정보제공시스템
KR102414848B1 (ko) 상품 정보제공시스템
KR20230061725A (ko) 비인가 블루투스 기기를 선별적으로 차단할수 있는 방법 및 장치
US20230128064A1 (en) Enhanced learning and determination of security rules for data traffic
KR20220019568A (ko) 상품 정보제공시스템

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application