KR101888831B1 - 디바이스 정보 수집 장치 및 그 방법 - Google Patents

디바이스 정보 수집 장치 및 그 방법 Download PDF

Info

Publication number
KR101888831B1
KR101888831B1 KR1020170147591A KR20170147591A KR101888831B1 KR 101888831 B1 KR101888831 B1 KR 101888831B1 KR 1020170147591 A KR1020170147591 A KR 1020170147591A KR 20170147591 A KR20170147591 A KR 20170147591A KR 101888831 B1 KR101888831 B1 KR 101888831B1
Authority
KR
South Korea
Prior art keywords
fingerprint
generating
packet
packet data
list
Prior art date
Application number
KR1020170147591A
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 KR1020170147591A priority Critical patent/KR101888831B1/ko
Application granted granted Critical
Publication of KR101888831B1 publication Critical patent/KR101888831B1/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/1433Vulnerability analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)

Abstract

디바이스 정보를 수집하는 장치 및 그 방법이 제공 된다. 본 발명의 일 실시예에 따른 디바이스 정보 수집 장치는 활성화된 IP를 포함하는 활성화 IP 목록을 생성하는 IP 상태 스캐너 및 시드 파일에 기초하여 패킷 데이터를 생성하고, 상기 활성화 IP 목록에 기초하여 상기 패킷 데이터를 사물인터넷 디바이스에 전송하며, 상기 패킷 데이터에 대한 응답으로부터 프로토콜 파싱 데이터(protocol parsing data)를 생성하는 서비스 스캐너를 포함한다.

Description

디바이스 정보 수집 장치 및 그 방법{APPARATUS FOR COLLECTING DEVICE INFORMATION AND METHOD THEREOF}
본 발명은 디바이스 정보를 수집하는 장치 및 그 방법에 관한 것이다. 보다 자세하게는, 인터넷에 연결된 사물인터넷 디바이스의 보안 취약점을 분석하기 위해 사물인터넷 디바이스의 디바이스 정보를 수집하는 장치 및 그 방법에 관한 것이다.
시스코(CISCO)와 휴렛패커드(HP)가 내놓은 한 통계 자료를 참고하면, 2010년의 세계 인구의 수는 68억명인데 비해, 인터넷을 사용할 수 있는 기기의 수는 125억개에 달한다. 그리고, 2015년에는 세계 인구의 수는 72억명인데 비해, 인터넷을 사용할 수 있는 기기의 수는 250억 개에 달한다.
이와 같은 증가 추세는 점점 커져서, 2020년에는 세계 인구의 수는 75억명, 인터넷을 사용할 수 있는 기기의 수는 500억 개로 예상된다. 또한, 2025년에는 세계 인구의 수는 81억 명, 인터넷을 사용할 수 있는 기기의 수는 1조개로 예상된다.
사물인터넷 디바이스의 수가 기하급수적으로 증가함에 따라, 사물인터넷 디바이스와 관련된 문제점도 등장하고 있다. 예를 들어, 한 기사에 따르면 홈 해커들이 웹 캠의 공장 초기 비밀번호를 이용하여, 각 가정에 설치된 웹 캠이 촬영한 동영상을 사물인터넷 검색 엔진 A를 통해 그대로 전송 받는 사건이 발생하였다. 일반적인 컴퓨터에 비해서 사물인터넷 기기에 대한 보안이 소홀한 점을 틈타 문제점이 발생하였다.
문제점을 해결하기 위해서는 사물인터넷 기기의 보안 취약점을 검색하고 예방할 수 있어야 한다. 즉, 사물인터넷 기기의 CVE(Common Vulnerabilities and Exposure)나 CWE(Common Weakness Enumeration) 등의 보안 취약점 정보를 분석할 필요가 있다.
사물인터넷 기기의 보안 취약점을 검색하고 분석하기 위해서는 사전에 사물인터넷 기기의 디바이스 정보가 수집되어야 한다. 즉 어떤 IP 를 통해서 어떤 사물인터넷 기기가 연결되어 있는지에 대한 정보가 사전에 수집되어 있어야 한다. 사물인터넷 기기에 대한 디바이스 정보가 수집되어 있어야 사물인터넷 기기의 취약점을 분석하고 조치를 취할 수 있다. 따라서 사물인터넷 기기에 특화된 디바이스 정보 수집 방법 및 장치가 요구된다.
본 발명이 해결하고자 하는 기술적 과제는, 사물인터넷 기기의 패킷에 대한 반응을 기반으로 디바이스 정보를 획득하는 방법 및 그 방법을 수행하는 장치를 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명의 기술분야에서의 통상의 기술자에게 명확하게 이해 될 수 있을 것이다.
상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 디바이스 정보 수집 장치는, 활성화된 IP를 포함하는 활성화 IP 목록을 생성하는 IP 상태 스캐너 및 시드 파일에 기초하여 패킷 데이터를 생성하고, 상기 활성화 IP 목록에 기초하여 상기 패킷 데이터를 사물인터넷 디바이스에 전송하며, 상기 패킷 데이터에 대한 응답으로부터 프로토콜 파싱 데이터(protocol parsing data)를 생성하는 서비스 스캐너를 포함하고, 상기 시드 파일은 바이너리로 구성된 프로토콜의 패킷 캡쳐인 것을 특징으로 할 수 있다.
또한, 다른 일 실시 예에 따르면, 상기 서비스 스캐너는 상기 시드 파일 에 포함된 IP, 포트 번호 및 시퀀스 번호를 변경항로써 상기 패킷 데이터를 생성하는 패킷 정보 변경기, 상기 패킷 데이터를 전송하고 상기 응답을 수신하는 패킷 통신기 및 상기 응답으로부터 프로토콜 헤더(header)를 파싱하는 프로토콜 헤더 파서를 포함하는 것을 특징으로 할 수 있다.
또한, 또 다른 일 실시 예에 따르면, 상기 IP 상태 스캐너는 스캔 대상을 생성하기 위해 임의의 IP를 생성하는 IP 생성기, 상기 생성된 IP에 대하여 관리 대역을 분류함으로써 발송 IP 목록을 생성하는 IP 스캔 스케줄러 및 상기 발송 IP 목록에 기초하여 송신된 패킷에 대한 응답에 대한 응답 IP 및 응답 패킷의 정보를 포함하는 상기 활성화 IP 목록을 생성하는 컨트롤러를 포함할 수 있다.
또한, 또 다른 일 실시 예에 따르면, 상기 IP 생성기는 블랙리스트 및 화이트리스트를 이용하여 상기 임의의 IP를 생성하는 것을 특징으로 할 수 있다.
또한, 또 다른 일 실시 예에 따르면, 상기 디바이스 정보 수집 장치는 상기 활성화 IP 목록 및 상기 프로토콜 파싱 데이터를 핑거프린트 룰(fingerprint rule)과 비교함으로써 상기 사물인터넷 디바이스에 대한 핑거프린트를 생성하는 핑거프린트 생성기를 더 포함할 수 있다.
또한, 또 다른 일 실시 예에 따르면, 상기 핑거프린트 생성기는 상기 프로토콜 파싱 데이터의 TCP/IP 필드값과 상기 핑거프린트 룰을 비교함으로써 상기 핑거프린트 룰에 매칭되는 상기 운영체제 버전 정보를 획득하는 운영체제 핑거프린트 식별부를 포함하는 것을 특징으로 할 수 있다.
또한, 또 다른 일 실시 예에 따르면, 상기 핑거프린트 생성기는 펌웨어가 접근 가능한 페이지의 시그니처(signiture)를 생성하고, 헤더에 포함된 배너 정보를 이용하여 상기 사물인터넷 디바이스의 펌웨어 정보를 획득하는 펌웨어 핑거프린트 식별부를 포함하는 것을 특징으로 할 수 있다.
또한, 또 다른 일 실시 예에 따르면, 상기 디바이스 정보 수집 장치는 상기 IP 목록, 상기 프로토콜 파싱 데이터 및 상기 핑거프린트에 기초하여 레포트 파일을 생성하고, 상기 레포트 파일을 취약점 분석 시스템으로 전송하는 디바이스 정보 생성기를 더 포함할 수 있다.
또한, 또 다른 일 실시 예에 따르면, 상기 디바이스 정보 생성기는 JSON(Javascript Object Notation) 포맷으로 상기 레포트 파일을 생성하는 레포트 파일 생성기 및 상기 레포트 파일을 상기 취약점 분석 시스템으로 전송하는 레포트 전송기를 포함할 수 있다.
본 발명의 일 실시 예에 따른 디바이스 정보 수집 장치는, 활성화된 IP를 포함하는 활성화 IP 목록을 생성하는 IP 상태 스캐너 및 텍스트로 구성되며, 사용자에 의해 미리 정의된 사용자 구성 파일에 기초하여 패킷 데이터를 생성하고, 상기 활성화 IP 목록에 기초하여 상기 패킷 데이터를 사물인터넷 디바이스에 전송하며, 상기 패킷 데이터에 대한 응답으로부터 프로토콜 파싱 데이터(protocol parsing data)를 생성하는 서비스 스캐너를 포함할 수 있다.
또한, 다른 일 실시 예에 따르면, 상기 서비스 스캐너는 상기 사용가 구성 파일에 포함된 정보에 기초하여 상기 패킷 데이터를 생성하는 패킷 데이터 생성기, 상기 패킷 데이터를 전송하고 상기 응답을 수신하는 패킷 통신기 및 상기 응답으로부터 프로토콜 헤더(header)를 파싱하는 프로토콜 헤더 파서를 포함할 수 있다.
또한, 또 다른 일 실시 예에 따르면, 상기 패킷 데이터는 프로토콜에 존재하는 에러를 발생시키는 헤더를 포함하는 것을 특징으로 할 수 있다.
본 발명의 일 실시 예에 따른 정보 수집 방법은, 활성화된 IP를 포함하는 활성화 IP 목록을 생성하는 단계, 시드 파일에 기초하여 패킷 데이터를 생성하는 단계, 상기 활성화 IP 목록에 기초하여 상기 패킷 데이터를 사물인터넷 디바이스에 전송하는 단계 및 상기 패킷 데이터에 대한 응답으로부터 프로토콜 파싱 데이터(protocol parsing data)를 생성하는 단계를 포함하고, 상기 시드 파일은 바이너리로 구성된 프로토콜의 패킷 캡쳐인 것을 특징으로 할 수 있다.
본 발명의 일 실시 예에 따른 정보 수집 방법은, 활성화된 IP를 포함하는 활성화 IP 목록을 생성하는 단계, 텍스트로 구성되며, 사용자에 의해 미리 정의된 사용자 구성 파일에 기초하여 패킷 데이터를 생성하는 단계, 상기 활성화 IP 목록에 기초하여 상기 패킷 데이터를 사물인터넷 디바이스에 전송하는 단계 및 상기 패킷 데이터에 대한 응답으로부터 프로토콜 파싱 데이터(protocol parsing data)를 생성하는 단계를 포함할 수 있다.
도 1은 일 실시 예에 따른 디바이스 정보 수집 장치의 구조를 도시한 도면이다.
도 2는 일 실시 예에 따라 디바이스 정보를 수집하는 프로세스를 도시한 도면이다.
도 3은 일 실시 예에 따른 IP 상태 스캐너의 구조를 도시한 도면이다.
도 4는 일 실시 예에 따라 IP 상태 스캐너가 동작하는 프로세스를 도시한 도면이다.
도 5는 일 실시 예에 따라 IP 상태 스캐너에 의해 기록되는 데이터의 예시를 도시한 도면이다.
도 6은 일 실시 예에 따른 서비스 스캐너의 구조를 도시한 도면이다.
도 7은 일 실시 예에 다라 서비스 스캐너가 동작하는 프로세스를 도시한 도면이다.
도 8은 일 실시 예에 따라 JSON(Javascript Object Notation) 포맷으로 기록되는 프로토콜 파싱 데이터의 예시를 도시한 도면이다.
도 9는 일 실시 예에 따라 사용자 구성 파일을 기초로 서비스 스캐너가 디바이스 정보를 수집하는 방법을 설명하기 위한 도면이다.
도 10은 다른 일 실시 예에 따라 시드 파일을 기초로 서비스 스캐너가 디바이스 정보를 수집하는 방법을 설명하기 위한 도면이다.
도 11 및 도 12는 일 실시 예에 따라 핑거프린트 생성기가 핑거프린트를 생성하는 프로세스를 설명하기 위한 도면이다.
도 13은 일 실시 예에 따라 핑거프린트 생성기에 의해 생성된 운영체제 핑거프린트의 예시를 도시한 도면이다.
도 14는 일 실시 예에 따라 생성된 레포트 파일의 예시를 도시한 도면이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 게시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 게시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.
본 명세서에서, 프로토콜 파싱 데이터는 사물인터넷 디바이스에 전송된 패킷에 대한 응답을 분석함으로써 획득된 서비스 정보 및 배너 정보를 포함하는 데이터를 의미한다.
또한, 본 명세서에서 활성화 IP 목록은 지정된 대역(예를 들어, IPv4)에 대해 서비스 스캔을 수행할 대상을 선정하기 위해 IP 생성 정책에 따라 생성된 IP들의 목록을 의미한다. 또한, 본 명세서에서 서비스 스캔은 활성화 IP 목록에 포함된 IP에 대해 서비스 정보나 배너 정보를 획득하는 것을 의미한다. 여기서 배너 정보는 접속 시 노출되는 환영 메시지를 의미한다. 서비스 스캔을 수행함으로써 프로토콜 파싱 데이터가 획득될 수 있다.
또한, 본 명세서에서 핑거프린트는 디바이스를 식별하기 위한 고유값의 집합을 의미한다. 또한, 운영체제 핑거프린트는 대상 디바이스의 운영체제를 식별하기 위한 각 운영체제의 고유값의 집합을 의미한다. 또한, 펌웨어 핑커프린트는 대상 펌웨어의 정보(버전 등)를 식별하기 위한 고유값의 집합을 의미한다.
이하, 도면들을 참조하여 본 발명의 몇몇 실시예들을 설명한다.
도 1은 일 실시 예에 따른 디바이스 정보 수집 장치(100)의 구조를 도시한 도면이다. 일 실시 예에 따른 디바이스 정보 수집 장치(100)는 인터넷에 연결된 다양한 종류의 사물인터넷(Internet of Things; IoT) 디바이스(10)의 정보를 수집할 수 있다. 사물인터넷 디바이스(10)의 예는 냉장고, 세탁기, 게임기, 컴퓨터, 스마트폰, 웨어러블 디바이스(예를 들어, 스마트 워치, 스마트 글래스), 전등, 난방기 등이 있다. 사물인터넷 디바이스(10)는 보다 다양한 종류의 기기일 수 있다. 예를 들어, 도어락(door-lock)이나, 창문, 인덕터, 에어컨, 텔레비전, 스마트 밴드 등 다양한 기기가 인터넷에 접속하여 서비스를 제공하고 있다. 즉, 상기 사물인터넷 디바이스(10)의 종류들은 발명의 이해를 돕기 위한 예시이며 사물인터넷 디바이스(10)는 다른 형태의 디바이스일 수도 있다.
일 실시 예에 따른 디바이스 정보 수집 장치(100)는 인터넷을 통해 사물인터넷 기기의 IP와 포트를 스캔하고 그 결과를 저장할 수 있다. 또한, 디바이스 정보 수집 장치(100)는 저장된 결과를 취약점 분석 시스템(20)에서 이용 가능한 형태로 취약점 분석 시스템(20)에 제공함으로써, 취약점 분석 시스템(20)이 사물인터넷 디바이스의 취약점을 분석하도록 할 수 있다. 사물인터넷 디바이스(10)는 인터넷에 연결되어 서비스를 제공하기 위하여, 필수적으로 IP를 가진다. 그러므로, IP에 어떤 사물인터넷 디바이스(10)가 연결되어 있는지에 대한 정보(디바이스 정보)를 수집할 필요가 있다.
디바이스 정보를 수집하기 위해 디바이스 정보 수집 장치(100)는 IP 상태 스캐너(110) 및 서비스 스캐너(120)를 포함할 수 있다. IP 상태 스캐너(110)는 지정된 IP 대역의 범위 내에서 서비스 스캐너(120)가 서비스 스캔을 수행할 IP들의 목록인 활성화 IP 목록을 생성할 수 있다.
서비스 스캐너(120)는 IP 상태 스캐너(110)에 의해 생성된 활성화 IP 목록에 기초하여 서비스 스캔을 수행할 수 있다. 서비스 스캐너(120)는 패킷 데이터를 생성하고, 생성된 패킷 데이터를 전송할 수 있다. 사물인터넷 디바이스(10)로부터 전송된 패킷 데이터에 대한 응답이 수신되면, 서비스 스캐너(120)는 응답을 분석함으로써 사물인터넷 디바이스(10)에 대한 디바이스 정보를 포함하는 프로토콜 파싱 데이터를 생성할 수 있다.
다른 실시 예에 따르면, 디바이스 정보 수집 장치(100)는 핑거프린트 생성기(130)를 더 포함할 수 있다. 핑거프린트 생성기(130)는 IP 상태 스캐너(110)에 의해 생성된 활성화 IP 목록 및 서비스 스캐너(120)에 의해 생성된 프로토콜 파싱 데이터에 기초하여 핑거프린트를 생성할 수 있다.
또한, 또 다른 실시 예에 따른 디바이스 정보 수집 장치(100)는 디바이스 정보 생성기(140)를 더 포함할 수 있다. 디바이스 정보 생성기(140)는 활성화 IP 목록, 프로토콜 파싱 데이터 및 핑거프린트에 포함된 디바이스 정보를 포함하는 레포트 파일을 생성하고, 생성된 레포트 파일을 취약점 분석 시스템(20)에 전송할 수 있다. 디바이스 정보 생성기(140)는 레포트 파일을 생성하는 레포트 파일 생성기 및 레포트 파일을 취약점 분석 시스템(20)으로 전송하는 레포트 전송기를 포함할 수 있다. 여기서, 레포트 파일은 데이터 교환을 위해 JSON(Javascript Object Notation) 포맷으로 구성될 수 있다.
또한, 또 다른 실시 예에 따른 디바이스 정보 수집 장치(100)는 스케줄러(150)를 더 포함할 수 있다. 스케줄러(150)는 IP 상태 스캐너(110) 및 서비스 스캐너(120)의 동작을 위해 사용자의 요청에 따른 멀티프로세스 및 스레드를 생성하여 성능을 향상시킨다. 스케줄러(150)는 멀티프로세스 및 스레드 생성 모듈, IP 상태 스캔 스케줄링 모듈 및 서비스 스캔 스케줄링 모듈을 포함할 수 있다.
디바이스 정보 수집 장치(100)는 시스템 관리 모듈(도시되지 않음) 및 성능 모니터링 모듈(도시되지 않음)을 더 구비할 수도 있다.
도 2를 참조하면, 먼저 단계 S210에서 디바이스 정보 수집 장치(100)는 활성화 IP 목록을 생성할 수 있다. 이후, 디바이스 정보 수집 장치(100)는 단계 S220에서 생성된 활성화 IP 목록에 기초하여 프로토콜 파싱 데이터를 생성할 수 있다. 이후, 단계 S230에서 디바이스 정보 수집 장치(100)는 활성화 IP 목록 및 프로토콜 파싱 데이터에 기초하여 핑거프린트를 생성할 수 있다.
이하에서, 도 3 및 도 4를 참조하여 디바이스 정보 수집 장치(100)의 IP 상태 스캐너(110)의 구조 및 단계 S210에서 IP 상태 스캐너(110)가 활성화 IP 목록(350)을 생성하는 프로세스를 설명한다.
일 실시 예에 따르면, IP 상태 스캐너(110)는 IP 생성기(310), IP 스캔 스케줄로(320) 및 컨트롤러(330)를 포함할 수 있다. IP 상태 스캐너(110)는 오픈소스인 ZMap을 기반으로 구현될 수 있다. ZMap은 http://zmap.io/ 에서 제공 중인 오픈소스로 인터넷을 통해 접속할 수 있는 기기의 정보를 수집한다. 다만, ZMap은 일 실시 예를 설명하기 위한 예시일 뿐 발명을 제한하지 아니한다. IP 상태 스캐너(110)는 화이트리스트, 블랙리스트 및 대역 분류표를 입력 받아 활성화 IP 목록 및 syn-ack 패킷 필드값을 출력할 수 있다.
도 4의 단계 S410에서, IP 생성기(310)는 인터넷 대역(예를 들어, IPv4) 내의 임의의 IP(315)를 생성할 수 있다. 예를 들어, IPv4를 기준으로 지정된 범위인 0.0.0.0으로부터 127.255.255.255 대역의 IP 중 어떤 IP가 존재하는지 조사할 수 있다. 조사 대상이 되는 대역은 실시 예에 따라서 다르게 지정될 수 있다. 만약 대역 내의 IP를 순차적으로 생성하고 IP 상태 스캔을 수행하는 경우 단위 네트워크에 스캔 트래픽으로 인한 병목현상이 발생할 수 있으므로 임의의 IP(315)를 생성하는 것이 적절하다. 또한, 사물인터넷 디바이스(10) 측의 보안 장비에서 DDos 공격으로 인식하고 사물인터넷 디바이스(10)에 대한 접근이 차단될 수 있으므로, 임의의 IP(315)를 생성하는 것이 적절하다. 다만, 임의의 순서로 IP를 생성하는 경우 아직 스캔되지 않은 IP가 어떤 IP인지 IP 스캔 스케줄러(320)가 스케줄링해야 한다.
IP는 IPv4 및 IPv6 중 하나를 포함한다. 수많은 IP를 생성하고 스캔하는 과정에서 적중률(Hit-rate)이 저하되는 문제가 발생할 수 있다. 상기 문제를 해결하기 위해 IP 생성기(310)는 화이트리스트(311) 및 블랙리스트(312)를 이용하여 임의의 IP(315)를 생성할 수 있다. 이를 위해 IP 생성기(310)는 화이트리스트 및 블랙리스트가 저장된 데이터베이스 내지 스토리지(400)를 이용할 수 있다.
이후, IP 스캔 스케줄러(320)는 단계 S420에서 관리 대역을 분류하고, 단계 S430에서 임의의 IP(315)로부터 대역 별로 발송 IP를 선정할 수 있다. 스케줄러(320)는 발송 IP 목록을 매 주기적으로 전송할 수 있다.
이후, 단계 S440에서 컨트롤러(330)는 패킷을 생성하고 네트워크 소켓(340)을 통해 사물인터넷 디바이스(10)에 패킷을 전송할 수 있다. 패킷은 TCT, UDP, ICMP 등 다양한 프로토콜로 생성될 수 있다. 이후, 응답이 수신되지 않은 경우(S450), 단계 S430이 다시 수행되고 다른 IP를 대상으로 패킷이 전송될 수 있다. 응답이 수신된 경우(S450), 단계 S460에서 컨트롤러(330)는 수신된 응답에 포함된 패킷(syn-ack)을 분석함으로써 IP의 활성화 여부와 TCP/IP 필드값을 획득할 수 있다. 이후, 단계 S470에서 컨트롤러(330)는 분석 결과를 기록할 수 있다. 컨트롤러(330)는 패킷이 전송된 IP가 마지막 IP인지 판단하고(S480), 마지막 IP에 대해서까지 IP 스캔이 완료되도록 단계 S430 내지 단계 S470가 반복 수행될 수 있다.
도 5를 참조하면, 단계 S470에서 분석 결과로 파일에 기록되는 데이터의 예시가 도시되어 있다. 파일에 기록되는 분석 결과는 활성화 IP 및 TCP/IP의 전체 필드가 기록될 수 있다. 일 실시 예에 따르면, 단계 S470에서 분석 결과가 기록되는 파일은 CSV(comma-separated values) 포맷으로 기록될 수 있다.
이하에서, 도 6 및 도 7을 참조하여 디바이스 정보 수집 장치(100)의 서비스 스캐너(120)의 구조 및 단계 S220에서 서비스 스캐너(120)가 프로토콜 파싱 데이터(640)를 생성하는 프로세스를 설명한다. 일 실시 예에 따른 서비스 스캐너(120)는 패킷 데이터 생성기(610), 패킷 통신기(620) 및 프로토콜 헤더 파서(630)를 포함할 수 있다. 서비스 스캐너(120)는 어플리케이션 레벨에서 스캔을 수행할 수 있다. 서비스 스캐너(120)는 오픈된 포트에 프로토콜 기반으로 핸드셰이크(Handshake)를 수행함으로써 서비스 정보 및 배너 정보를 획득할 수 있다. 서비스 스캐너(120)는 활성화 IP 목록(350) 및 대상 포트 번호를 입력 받고 프로토콜 파싱 데이터(640)를 포함하는 스캔 결과 로그를 출력할 수 있다.
도 7에 도시된 단계 S730이 수행되기 전에, 패킷 데이터 생성기(610)는 전송될 패킷 데이터를 생성할 수 있다. 패킷 데이터 생성기(610)는 프로토콜 스캔(611), 사용자 정의 데이터 기반 스캔(612), 프로토콜 에러 스캔(613), 시드 파일(seed file) 기반 스캔(614), 및 UPnP 프로토콜 특성 기반 스캔(615) 등 다양한 생성 기법을 이용하여 패킷 데이터를 생성할 수 있다.
기본적으로, 프로토콜 스캔(611)은 패킷 데이터 생성기(610)가 활성화 IP에 대해 15개 정도의 포트에 대해 서비스 스캔을 수행하는 것을 의미한다. 프로토콜 스캔(611)에 기반하여 서비스 스캔을 수행하는 경우, 패킷 데이터 생성기(610)는, 예를 들어, FTP, SSH, Telnet, SMTP, DMS, HTTP, POP3, IMAP, SIP, STSP 등의 포트를 확인할 수 있다. 이를 흔히 잘 알려진 포트(Well Known Port)라 언급된다. 다만, 이는 예시일뿐 이에 한정되지 아니한다.
여기서, 기존 포맷과 동일하게 서비스 스캐너(120)가 결과 파일을 생성하는 경우, HTTP 및 RTSP 프로토콜에서 분석에 사용되는 정보가 서버 필드만 사용하고 있는 문제점이 있다. 또한, 정보 수집을 위해 HTML 컨텐츠까지 분석할 경우 분석에 소요되는 시간이 증가하는 문제가 있다. 따라서, 사용자 요청에 따라서 사용자가 요청한 경우에만 HTML 컨텐츠에 대한 정보 수집 및 분석을 수행할 필요가 있다.
이를 위하여 사용자 정의 데이터 기반 스캔(612)에 기반하여 패킷 데이터를 생성할 필요가 있다. 사용자 정의 데이터 기반 스캔(612)은 대상 프로토콜이 텍스트 기반일 경우 사용자가 프로토콜 헤더 및 컨텐츠를 정의하고 정의된 헤더를 기반으로 패킷을 생성하여 응답을 요청한다. 즉, 패킷 데이터 생성기(610)는 사용자 구성 파일을 기초로 패킷 데이터를 생성할 수 있다. 여기서, 디폴트 패스워드(default password)와 같은 취약점 탐지를 위한 스캔을 수행하기 위해, 응답에 대한 분석이 필요하다. 따라서, 프로토콜 헤더 파서(630)는 응답 시그니처에 대한 유사도 분석을 통해 취약점의 존재를 확인할 수 있다. 또한, 프로토콜 에러 스캔(613)이 디폴트 설정으로 함께 수행될 수 있다. 프로토콜 에러 스캔(613)은 프로토콜에 존재하는 에러, 예를 들어 "404 Not Found", "400 Bad Request", "405 Method Not Allowed", "408 Request Time-Out", "501 Method Not Implemented" 등의 에러를 고의적으로 발생시킨 후, 에러 메시지에 존재하는 추가적인 정보를 획득한다.
만일 프로토콜이 텍스트 기반이 아닌 경우에는 사용자가 직접 헥사 코드를 입력하여 프로토콜 헤더 및 컨텐츠를 정의하기 어려운 문제가 있다. 따라서, 이런 경우 시드 파일 기반 스캔(614)이 이용될 수 있다. 여기서, 시드 파일은 패킷 캡쳐(Packet capture; Pcap) 파일을 의미할 수 있다. 통신과정에 따라 동일한 트래픽이 발생하므로, 서비스 스캐너(120)는 시드 파일에 분류된 헤더에 따라 트래픽을 분석할 수 있다. 시드 파일 기반 스캔(614)에 따르면, 패킷 데이터 생성기(610)는 시드 파일에 기초하여 패킷 데이터를 생성할 수 있다.
UPnP 프로토콜 특성 기반 스캔(615)은 M-Search 특성을 이용하여 내부 네트워크 정보를 획득하는 것을 의미한다.
단계 S710에서, 패킷 통신기(620)는 IP 상태 스캐너(110)에 의해 생성된 활성화 IP 목록(350)을 파싱할 수 있다. 패킷 통신기(620)는 활성화 IP 목록(350)을 파싱함으로써 단계 S720에서 스캔 대상 IP를 결정할 수 있다.
이후, 패킷 통신기(620)는 스캔 대상 IP에 기초하여 패킷 데이터 생성기(610)에 의해 생성된 패킷을 네트워크 소켓(625)을 통해 사물인터넷 디바이스(10)에 전송할 수 있다.
이후, 전송된 패킷 데이터에 대한 응답이 수신되면(S740), 프로토콜 헤더 파서(630)가 수신된 응답의 트래픽을 파싱(parsing)할 수 있다(S750). 여기서, 프로토콜 헤더 파서(630)는 전송된 패킷 데이터를 생성하기 위해 사용된 생성 기법에 상응하여 트래픽을 분석할 수 있다. 이후, 서비스 스캐너(120)는 응답을 파싱한 결과 생성된 프로토콜 파싱 데이터(640)를 로그로 기록할 수 있다(S760). 프로토콜 파싱 데이터(640)는 해당 프로토콜을 사용하는 디바이스가 해당 프로토콜을 통해 제공받을 수 있는 정보를 의미한다. 예를 들어, 프로토콜 파싱 데이터(640)는 운영체제의 명칭, 운영체제의 버전, 디바이스 종류, 서비스 버전 등의 정보를 포함할 수 있다.
서비스 스캐너(120)는 마지막 IP에 대해 서비스 스캔이 완료될 때까지(S760) 단계 S720 내지 단계 S760을 반복함으로써 로그를 생성할 수 있다.
도 8은 일 실시 예에 따라 JSON(Javascript Object Notation) 포맷으로 기록되는 프로토콜 파싱 데이터의 예시를 도시한 도면이다. 서비스 스캔을 수행한 결과로 서비스 스캐너(120)에 의해 출력되는 데이터는 스캔하고자 하는 포트의 프로토콜에 따라 통신 데이터가 다를 수 있으므로, 추출되는 필드 및 데이터 또한 달라질 수 있다.
도 9는 일 실시 예에 따라 사용자 구성 파일을 기초로 서비스 스캐너가 디바이스 정보를 수집하는 방법을 설명하기 위한 도면이다.
일 실시 예에 따르면, 서비스 스캐너(120)의 패킷 데이터 생성기(610)는 사용자 구성 파일(911) 및 디폴트 구성 파일(912)에 기초하여 패킷 데이터를 생성할 수 있다. 사용자 구성 파일(911)은 텍스트로 구성되며, 사용자에 의해 미리 정의된 것일 수 있다. 사용자 구성 파일(911)은 사용자 정의 데이터 기반 스캔(612)을 수행하기 위해 전송될 패킷의 전송 프로토콜, 어플리케이션 프로토콜, 프로토콜 헤더 및 내용 등을 정의할 수 있다. 디폴트 구성 파일(912)은 프로토콜 에러 스캔(613)을 수행하기 위해 에러를 발생시키는 헤더의 세트로 구성될 수 있다. 디폴트 구성 파일(912)을 이용하여 에러 기반으로 서비스 스캔을 수행함으로써 추가적으로 신뢰 가능한 정보를 수집할 수 있다.
패킷 데이터 생성기(610)는 사용자 구성 파일(911) 및 디폴트 구성 파일(912)에 의해 정의된 어플리케이션 프로토콜 및 TCP 데이터와, IP 상태 스캐너(110)에 의해 생성된 활성화 IP 목록에 기초하여 패킷 데이터를 생성할 수 있다.
패킷 통신기(620)는 패킷 송신기를 이용하여 인터넷 망(920)에 생성된 패킷 데이터를 가지는 패킷을 전송할 수 있다. 여기서, 패킷 통신기(620)는 활성화 IP 목록에 기반하여 선정된 스캔 대상 IP에 패킷을 전송할 수 있다. 패킷 통신기(620)는 전송된 패킷에 대한 응답을 패킷 수신기를 통해 수신할 수 있다.
프로토콜 헤더 파서(630)는 패킷 통신기(620)에 의해 수신된 응답의 패킷을 어플리케이션 프로토콜에 기초하여 파싱함으로써 프로토콜 파싱 데이터(640)를 획득할 수 있다.
도 10은 다른 일 실시 예에 따라 시드 파일(1010)을 기초로 서비스 스캐너(120)가 디바이스 정보를 수집하는 방법을 설명하기 위한 도면이다.
시드 파일 분석기(1020)는 시드 파일(1010)을 분석함으로써 시드 파일의 패킷을 분류할 수 있다. 시드 파일 분석기(1020)는 분류된 패킷(샘플 패킷)을 패킷 정보 변경기(610-1)에 제공할 수 있다.
패킷 정보 변경기(610-1)는 시드 파일 분석기(1020)로부터 제공 받은 샘플 패킷의 정보를 변경함으로써 전송될 패킷 데이터를 생성할 수 있다. 여기서, 패킷 정보 변경기(610-1)은 IP 상태 스캐너(110)에 의해 생성된 활성화 IP 목록에 기초하여 패킷 데이터를 생성할 수 있다. 패킷 정보 변경기(610-1)는 샘플 패킷의 소스(source) 및 목적지(destination)을 변경함으로써 패킷을 구성할 수 있다. 예를 들어, 패킷 정보 변경기(610-1)는 대상 IP, 포트 번호, 시퀀스 넘버를 변경함으로써 패킷을 구성할 수 있다.
패킷 통신기(620)는 패킷 송신기를 이용하여 인터넷 망(920)에 생성된 패킷 데이터를 가지는 패킷을 전송할 수 있다. 여기서, 패킷 통신기(620)는 활성화 IP 목록에 기반하여 선정된 스캔 대상 IP에 패킷을 전송할 수 있다. 패킷 통신기(620)는 전송된 패킷에 대한 응답을 패킷 수신기를 통해 수신할 수 있다.
프로토콜 헤더 파서(630)는 패킷 통신기(620)에 의해 수신된 응답의 패킷을 어플리케이션 프로토콜에 기초하여 파싱함으로써 프로토콜 파싱 데이터(640)를 획득할 수 있다.
도 9 또는 도 10에 도시된 바와 같이 패킷을 생성하여 전송하고, 그에 대한 응답에 기초하여 디바이스 정보를 획득함으로써, 정보 수집 대상을 확장하기 위해 특정 프로토콜 및 디바이스와의 통신을 위한 별도의 코드 개발 없이 정보 수집 대상을 확장할 수 있다. 따라서, 긴급하게 정보를 수집해야 하는 상황에서 개발을 위한 많은 시간을 소요하지 않고도 수집 대상을 쉽게 확장할 수 있는 프레임워크를 제공할 수 있다.
도 11 및 도 12는 일 실시 예에 따라 핑거프린트 생성기(130)가 핑거프린트를 생성하는 프로세스를 설명하기 위한 도면이다.
도 11을 참조하면, 핑거프린트 생성기(130)는 서비스 스캐너(120)에 의해 생성된 트래픽 로그 파일을 입력 받음으로써, 프로토콜 파싱 데이터(350)에 기초해 핑거프린트(640)를 생성할 수 있다. 도 11에는 도시되어 있지 않으나, 핑거프린트 생성기(130)는 IP 상태 스캐너(110)에 의해 생성된 활성화 IP 목록을 더 입력 받을 수 있다. 핑거프린트 생성기(130)는 활성화 IP 목록 및 프로토콜 파싱 데이터를 핑거프린트 룰과 비교함으로써 사물인터넷 디바이스(10)에 대한 핑거프린트를 생성할 수 있다. 핑거프린트 룰은 핑거프린트 생성기(130)에 미리 생성되어 있을 수 있다.
핑거프린트 생성기(130)는 운영체제 핑거프린트 식별부(1110) 및 펌웨어 핑거프린트 식별부(1120)를 포함할 수 있다. 운영체제 핑거프린트 식별부(1110)는 프로토콜 파싱 데이터의 TCP/IP 필드값과 핑거프린트 룰을 비교함으로써 핑거프린트 룰에 매칭되는 운영체제 버전 정보를 획득할 수 있다. 핑거프린트 룰 기반으로 운영체제의 핑거프린트를 생성함으로써, 버전이 변경되었을 경우 룰 기반으로 룰만 추가하면 핑거프린트를 자동으로 생성할 수 있다. 또한, 디바이스 정보 수집 장치(100)의 운영체제에 따라 서비스 스캔을 수행한 IP의 운영체제의 응답에 대한 부분까지 반영하여 TCP/IP의 필드값을 해석함으로써 상대방 운영체제의 탐지에 대한 정확도를 높일 수 있다. 펌웨어 핑거프린트 식별부(1120)는 펌웨어가 접근 가능한 페이지의 시그니처(signature)를 생성하고, 헤더에 포함된 배너 정보를 이용하여 사물인터넷 디바이스(10)의 펌웨어 정보를 획득할 수 있다.
TCP/IP의 필드값을 이용하여 운영체제를 탐지하는 방법에 대해서 보다 상세히 설명하면, 운영체제의 기본 설정에 따라 TCP/IP 통신을 할 때 패킷에 설정된 값들이 다소 차이가 있다. 이 점을 이용하면 TCP/IP 통신 패킷에 따라 상대방 운영체제를 탐지할 수 있다. TCP/IP의 필드값 중에서 운영체제를 판별할 수 있는 값들은 운영체제에서 한 번에 전송할 세그멘트 최대 사이즈(Maximum Segment Size; MSS), 네트워크 루핑 현상을 막기 위해 패킷이 몇 개의 라우터를 거칠 때까지 살아 있을지를 나타내는 생존 기간(Time To Live; TTL), TCP 흐름제어 기법인 슬라이딩 윈도우의 사이즈(Sliding Window Size), TCP 플래그 값을 통한 옵션(TCP Options), 기본 패킷들의 길이(Packet Length), 단편화된 하나의 패킷을 표현할 때 사용하는 IP 패킷의 식별값(IP ID) 등이 있다. TCP/IP의 필드값을 이용하여 상대방의 운영체제를 탐지하는 방법은 http://nmap.org/nmap-fingerprinting-article.txt 에서도 확인할 수 있다.
먼저, 단계 S1210에서 핑거프린트 생성기(130)는 핑거프린트 룰을 파싱할 수 있다(S1210). 여기서, 핑거프린트 룰은 운영체제 핑거프린트 룰 및 펌웨어 핑거프린트 룰을 포함할 수 있다.
운영체제 핑거프린트 식별부(1110)는 단계 S1221에서 IP별 TCP/IP 필드 값과 운영체제 핑거프린트 룰을 비교할 수 있다. TCP/IP 필드 값과 운영체제 핑거프린트 룰이 매칭되는 경우(S1222), 운영체제 핑거프린트 식별부(1110)는 매칭되는 핑거프린트 룰에 기초하여 운영체제를 식별할 수 있다(S1241). TCP/IP 필드 값과 운영체제 핑거프린트 룰이 매칭되지 않는 경우(S1222), 운영체제 핑거프린트 식별부(1110)는 미인지(Unknown) 결과를 생성할 수 있다(S1243).
또한, 펌웨어 핑거프린트 식별부(1120)는 펌웨어가 접근 가능한 페이지의 시그니처를 생성할 수 있다(S1231). 이후, 펌웨어 핑거프린트 식별부(1120)는 생성된 시그니처와 펌웨어 핑거프린트 룰을 비교할 수 있다(S1232). 시그니처와 핑거프린트 룰이 매칭되는 경우(S1233), 펌웨어 핑거프린트 식별부(1120)는 매칭되는 핑거프린트 룰에 기초하여 펌웨어를 식별할 수 있다(S1242). 시그니처와 핑거프린트 룰이 매칭되지 않는 경우(S1233), 펌웨어 핑거프린트 식별부(1120)는 미인지(Unknown) 결과를 생성할 수 있다(S1243).
핑거프린트 생성기(130)는 단계 S1241, S1242 및 S1243을 수행한 결과에 기초하여 핑거프린트 및 배너/서비스 정보 데이터를 생성할 수 있다(S1250).
도 13은 일 실시 예에 따라 핑거프린트 생성기에 의해 생성된 운영체제 핑거프린트의 예시를 도시한 도면이다. 핑거프린트 생성기(130)에 의해 생성되는 핑거프린트는 JSON 포맷으로 구성될 수 있다. 도 13에 도시된 핑거프린트는 IP 상태 스캐너(110)의 출력 데이터와 핑거프린트 룰을 매칭한 결과 생성된 IP별 운영체제 핑거프린트이다.
도 14는 일 실시 예에 따라 생성된 레포트 파일의 예시를 도시한 도면이다. 레포트 파일은 IP 상태 스캐너(110)의 출력 데이터, 서비스 스캐너(120)의 출력 데이터 및 운영체제 식별 결과를 취합한 형태로 생성된다. 도 13에 도시된 핑거프린트는 서비스 배너 정보 및 타임스탬프가 포함된 형태이다.
지금까지 설명된 본 발명의 실시예에 따른 방법들은 컴퓨터가 읽을 수 있는 코드로 구현된 컴퓨터프로그램의 실행에 의하여 수행될 수 있다. 상기 컴퓨터프로그램은 인터넷 등의 네트워크를 통하여 제1 컴퓨팅 장치로부터 제2 컴퓨팅 장치에 전송되어 상기 제2 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 제2 컴퓨팅 장치에서 사용될 수 있다. 상기 제1 컴퓨팅 장치 및 상기 제2 컴퓨팅 장치는, 서버 장치, 클라우드 서비스를 위한 서버 풀에 속한 물리 서버, 데스크탑 피씨와 같은 고정식 컴퓨팅 장치를 모두 포함한다.
상기 컴퓨터프로그램은 DVD-ROM, 플래시 메모리 장치 등의 기록매체에 저장된 것일 수도 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다.

Claims (14)

  1. IP 스캔을 통해 활성화된 IP를 포함하는 활성화 IP 목록을 생성하는 IP 상태 스캐너;
    시드 파일에 기초하여 제1 패킷 데이터를 생성하고, 상기 활성화 IP 목록에 기초하여 상기 제1 패킷 데이터를 사물인터넷 디바이스로 전송하며, 프로토콜에 존재하는 에러를 발생시키는 헤더에 기초하여 생성된 제2 패킷 데이터를 상기 사물인터넷 디바이스로 전송하고, 상기 제1 패킷 데이터에 대한 응답 메시지와 상기 제2 패킷 데이터에 대한 응답으로 수신된 에러 메시지로부터 프로토콜 파싱 데이터(protocol parsing data)를 생성하는 서비스 스캐너; 및
    상기 활성화 IP 목록 및 상기 프로토콜 파싱 데이터를 핑거프린트 룰(fingerprint rule)과 비교함으로써 상기 사물인터넷 디바이스에 대한 핑거프린트를 생성하는 핑거프린트 생성기를 포함하되,
    상기 시드 파일은 바이너리로 구성되고, 특정 프로토콜에 기반한 통신 과정에서 발생된 패킷에 대한 캡쳐 파일이고,
    상기 핑거프린트 생성기는,
    펌웨어에 접근 가능한 페이지의 시그니처(signiture)를 추출하고, 상기 추출된 시그니처와 펌웨어 핑거프린트 룰을 비교하여 상기 사물인터넷 디바이스의 펌웨어 정보를 획득하는 펌웨어 핑거프린트 식별부를 포함하는 것을 특징으로 하는,
    디바이스 정보 수집 장치.
  2. 제1항에 있어서,
    상기 서비스 스캐너는,
    상기 시드 파일에 포함된 IP, 포트 번호 및 시퀀스 번호를 변경함으로써 상기 제1 패킷 데이터를 생성하는 패킷 정보 변경기;
    상기 제1 패킷 데이터를 전송하고 상기 응답 메시지를 수신하는 패킷 통신기; 및
    상기 응답 메시지로부터 프로토콜 헤더(header)를 파싱하는 프로토콜 헤더 파서;를 포함하는,
    디바이스 정보 수집 장치.
  3. 제2항에 있어서,
    상기 IP 상태 스캐너는,
    스캔 대상을 생성하기 위해 임의의 IP를 생성하는 IP 생성기;
    상기 생성된 IP에 대한 대역을 분류함으로써 발송 IP 목록을 생성하는 IP 스캔 스케줄러; 및
    상기 발송 IP 목록에 송신된 패킷에 대한 응답이 수신된 응답 IP 및 응답 패킷의 정보를 포함하는 상기 활성화 IP 목록을 생성하는 컨트롤러;를 포함하는,
    디바이스 정보 수집 장치.
  4. 제3항에 있어서,
    상기 IP 생성기는,
    블랙리스트 및 화이트리스트를 이용하여 상기 임의의 IP를 생성하는 것을 특징으로 하는,
    디바이스 정보 수집 장치.
  5. 삭제
  6. 제1항에 있어서,
    상기 핑거프린트 생성기는,
    상기 프로토콜 파싱 데이터의 TCP/IP 필드값과 상기 핑거프린트 룰을 비교함으로써 상기 핑거프린트 룰에 매칭되는 상기 사물인터넷 디바이스의 운영체제 버전 정보를 획득하는 운영체제 핑거프린트 식별부를 포함하는 것을 특징으로 하는,
    디바이스 정보 수집 장치.
  7. 삭제
  8. 제1항에 있어서,
    상기 디바이스 정보 수집 장치는,
    상기 IP 상태 스캐너가 생성한 상기 활성화 IP 목록, 상기 서비스 스캐너가 생성한 상기 프로토콜 파싱 데이터 및 상기 핑거프린트 생성기가 생성한 상기 핑거프린트에 기초하여 레포트 파일을 생성하고, 상기 레포트 파일을 취약점 분석 시스템으로 전송하는 디바이스 정보 생성기를 더 포함하는,
    디바이스 정보 수집 장치.
  9. 제8항에 있어서,
    상기 디바이스 정보 생성기는,
    JSON(Javascript Object Notation) 포맷으로 상기 레포트 파일을 생성하는 레포트 파일 생성기; 및
    상기 레포트 파일을 상기 취약점 분석 시스템으로 전송하는 레포트 전송기;를 포함하는,
    디바이스 정보 수집 장치.
  10. IP 스캔을 통해 활성화된 IP를 포함하는 활성화 IP 목록을 생성하는 IP 상태 스캐너;
    텍스트로 구성되며, 사용자에 의해 미리 정의된 사용자 구성 파일에 기초하여 제1 패킷 데이터를 생성하고, 상기 활성화 IP 목록에 기초하여 상기 제1 패킷 데이터를 사물인터넷 디바이스로 전송하며, 프로토콜에 존재하는 에러를 발생시키는 헤더에 기초하여 생성된 제2 패킷 데이터를 상기 사물인터넷 디바이스로 전송하고, 상기 제1 패킷 데이터에 대한 응답 메시지와 상기 제2 패킷 데이터에 대한 응답으로 수신된 에러 메시지로부터 프로토콜 파싱 데이터(protocol parsing data)를 생성하는 서비스 스캐너; 및
    상기 활성화 IP 목록 및 상기 프로토콜 파싱 데이터를 핑거프린트 룰(fingerprint rule)과 비교함으로써 상기 사물인터넷 디바이스에 대한 핑거프린트를 생성하는 핑거프린트 생성기를 포함하되,
    상기 핑거프린트 생성기는,
    펌웨어에 접근 가능한 페이지의 시그니처(signiture)를 추출하고, 상기 추출된 시그니처와 펌웨어 핑거프린트 룰을 비교하여 상기 사물인터넷 디바이스의 펌웨어 정보를 획득하는 펌웨어 핑거프린트 식별부를 포함하는 것을 특징으로 하는,
    디바이스 정보 수집 장치.
  11. 제10항에 있어서,
    상기 서비스 스캐너는,
    상기 사용자 구성 파일에 포함된 정보에 기초하여 상기 제1 패킷 데이터를 생성하는 패킷 데이터 생성기;
    상기 제1 패킷 데이터를 전송하고 상기 응답 메시지를 수신하는 패킷 통신기; 및
    상기 응답 메시지로부터 프로토콜 헤더(header)를 파싱하는 프로토콜 헤더 파서;를 포함하는,
    디바이스 정보 수집 장치.
  12. 삭제
  13. 삭제
  14. 삭제
KR1020170147591A 2017-11-07 2017-11-07 디바이스 정보 수집 장치 및 그 방법 KR101888831B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170147591A KR101888831B1 (ko) 2017-11-07 2017-11-07 디바이스 정보 수집 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170147591A KR101888831B1 (ko) 2017-11-07 2017-11-07 디바이스 정보 수집 장치 및 그 방법

Publications (1)

Publication Number Publication Date
KR101888831B1 true KR101888831B1 (ko) 2018-08-16

Family

ID=63443393

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170147591A KR101888831B1 (ko) 2017-11-07 2017-11-07 디바이스 정보 수집 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR101888831B1 (ko)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200123039A (ko) * 2020-06-23 2020-10-28 (주)노르마 배너 정보에 기초하여 IoT 디바이스의 타입을 결정하는 방법 및 IoT 케어 디바이스
KR20200123040A (ko) * 2020-06-23 2020-10-28 (주)노르마 포트 스캐닝과 프로토콜 스캐닝을 이용한 IoT 디바이스의 타입을 결정하는 시스템
KR102258729B1 (ko) * 2020-07-29 2021-05-31 박일호 기악교육을 위한 ai 기반의 악기의 연주 동작의 자동 추적 및 매칭 시스템
KR20210091953A (ko) * 2020-01-15 2021-07-23 망고클라우드 주식회사 사스 기반 사물인터넷 단말기 취약점 점검 시스템 및 방법
KR20210094320A (ko) * 2020-01-21 2021-07-29 망고클라우드 주식회사 스마트팩토리를 위한 사물인터넷 단말기 취약점 점검 시스템 및 방법
CN114205332A (zh) * 2021-11-12 2022-03-18 国网山西省电力公司电力科学研究院 一种基于tcp重传报文的电力物联网设备识别方法
CN114221992A (zh) * 2021-11-12 2022-03-22 国网山西省电力公司电力科学研究院 一种基于跨层指纹的细粒度设备识别方法
CN114666426A (zh) * 2022-02-11 2022-06-24 深圳市震有智联科技有限公司 数据解析方法、装置及存储介质
CN115277198A (zh) * 2022-07-27 2022-11-01 西安热工研究院有限公司 一种工控系统网络的漏洞检测方法、装置及存储介质
KR102468193B1 (ko) * 2022-01-21 2022-11-17 퀀텀테크엔시큐 주식회사 IP-Cam 모니터링 방법 및 장치
KR102471214B1 (ko) * 2022-01-21 2022-11-28 퀀텀테크엔시큐 주식회사 IP-Cam 모니터링 방법 및 장치
KR20230077073A (ko) 2021-11-25 2023-06-01 (주) 앤앤에스피 Ics/ot 네트워크에 대한 패시브 핑거프린트 및 보안위협 분석 시스템

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000054538A (ko) * 2000-06-10 2000-09-05 김주영 네트워크 침입탐지 시스템 및 방법 그리고 그 방법을기록한 컴퓨터로 읽을 수 있는 기록매체
KR20090051436A (ko) * 2007-11-19 2009-05-22 (주) 시스메이트 부적절한 패킷의 분류 방법 및 장치
KR101779327B1 (ko) * 2016-11-22 2017-10-10 한국인터넷진흥원 룰 기반 핑거프린트 생성 방법 및 그 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000054538A (ko) * 2000-06-10 2000-09-05 김주영 네트워크 침입탐지 시스템 및 방법 그리고 그 방법을기록한 컴퓨터로 읽을 수 있는 기록매체
KR20090051436A (ko) * 2007-11-19 2009-05-22 (주) 시스메이트 부적절한 패킷의 분류 방법 및 장치
KR101779327B1 (ko) * 2016-11-22 2017-10-10 한국인터넷진흥원 룰 기반 핑거프린트 생성 방법 및 그 장치

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210091953A (ko) * 2020-01-15 2021-07-23 망고클라우드 주식회사 사스 기반 사물인터넷 단말기 취약점 점검 시스템 및 방법
KR102309557B1 (ko) * 2020-01-15 2021-10-06 망고클라우드 주식회사 사스 기반 사물인터넷 단말기 취약점 점검 시스템 및 방법
KR102343498B1 (ko) * 2020-01-21 2021-12-27 망고클라우드 주식회사 스마트팩토리를 위한 사물인터넷 단말기 취약점 점검 시스템 및 방법
KR20210094320A (ko) * 2020-01-21 2021-07-29 망고클라우드 주식회사 스마트팩토리를 위한 사물인터넷 단말기 취약점 점검 시스템 및 방법
KR20200123040A (ko) * 2020-06-23 2020-10-28 (주)노르마 포트 스캐닝과 프로토콜 스캐닝을 이용한 IoT 디바이스의 타입을 결정하는 시스템
KR102185843B1 (ko) 2020-06-23 2020-12-02 (주)노르마 배너 정보에 기초하여 IoT 디바이스의 타입을 결정하는 방법 및 IoT 케어 디바이스
KR102185847B1 (ko) 2020-06-23 2020-12-03 (주)노르마 포트 스캐닝과 프로토콜 스캐닝을 이용한 IoT 디바이스의 타입을 결정하는 시스템
KR20200123039A (ko) * 2020-06-23 2020-10-28 (주)노르마 배너 정보에 기초하여 IoT 디바이스의 타입을 결정하는 방법 및 IoT 케어 디바이스
KR102258729B1 (ko) * 2020-07-29 2021-05-31 박일호 기악교육을 위한 ai 기반의 악기의 연주 동작의 자동 추적 및 매칭 시스템
CN114205332A (zh) * 2021-11-12 2022-03-18 国网山西省电力公司电力科学研究院 一种基于tcp重传报文的电力物联网设备识别方法
CN114221992A (zh) * 2021-11-12 2022-03-22 国网山西省电力公司电力科学研究院 一种基于跨层指纹的细粒度设备识别方法
KR20230077073A (ko) 2021-11-25 2023-06-01 (주) 앤앤에스피 Ics/ot 네트워크에 대한 패시브 핑거프린트 및 보안위협 분석 시스템
KR102624946B1 (ko) * 2021-11-25 2024-01-15 (주) 앤앤에스피 Ics/ot 네트워크에 대한 패시브 핑거프린트 및 보안위협 분석 시스템
KR102468193B1 (ko) * 2022-01-21 2022-11-17 퀀텀테크엔시큐 주식회사 IP-Cam 모니터링 방법 및 장치
KR102471214B1 (ko) * 2022-01-21 2022-11-28 퀀텀테크엔시큐 주식회사 IP-Cam 모니터링 방법 및 장치
CN114666426A (zh) * 2022-02-11 2022-06-24 深圳市震有智联科技有限公司 数据解析方法、装置及存储介质
CN115277198A (zh) * 2022-07-27 2022-11-01 西安热工研究院有限公司 一种工控系统网络的漏洞检测方法、装置及存储介质

Similar Documents

Publication Publication Date Title
KR101888831B1 (ko) 디바이스 정보 수집 장치 및 그 방법
US8042182B2 (en) Method and system for network intrusion detection, related network and computer program product
US8065722B2 (en) Semantically-aware network intrusion signature generator
CN110113345B (zh) 一种基于物联网流量的资产自动发现的方法
US8015605B2 (en) Scalable monitor of malicious network traffic
US10091198B2 (en) Rule-based fingerprint generation methods and apparatus
Park et al. Towards automated application signature generation for traffic identification
US7761918B2 (en) System and method for scanning a network
US8474043B2 (en) Speed and memory optimization of intrusion detection system (IDS) and intrusion prevention system (IPS) rule processing
US8635697B2 (en) Method and system for operating system identification in a network based security monitoring solution
US20200120107A1 (en) Triggering targeted scanning to detect rats and other malware
US20110019574A1 (en) Technique for classifying network traffic and for validating a mechanism for classifying network traffic
CN101854275A (zh) 一种通过分析网络行为检测木马程序的方法及装置
KR102244036B1 (ko) 네트워크 플로우 데이터를 이용한 네트워크 자산 분류 방법 및 상기 방법에 의해 분류된 네트워크 자산에 대한 위협 탐지 방법
US20220263846A1 (en) METHODS FOR DETECTING A CYBERATTACK ON AN ELECTRONIC DEVICE, METHOD FOR OBTAINING A SUPERVISED RANDOM FOREST MODEL FOR DETECTING A DDoS ATTACK OR A BRUTE FORCE ATTACK, AND ELECTRONIC DEVICE CONFIGURED TO DETECT A CYBERATTACK ON ITSELF
Garg et al. Improved detection of P2P botnets through network behavior analysis
Fei et al. The abnormal detection for network traffic of power iot based on device portrait
Alizadeh et al. Traffic classification for managing applications’ networking profiles
WO2005111805A1 (en) Method of network traffic signature detection
Mavrakis Passive asset discovery and operating system fingerprinting in industrial control system networks
Sun et al. IoT-IE: An information-entropy-based approach to traffic anomaly detection in Internet of Things
Schwartzenberg Using machine learning techniques for advanced passive operating system fingerprinting
Piet et al. An in-depth study of open-source command and control frameworks
Cai et al. E‐Replacement: Efficient scanner data collection method in P4‐based software‐defined networks
Gokcen A Preliminary Study for Identifying NAT Traffic Using Machine Learning

Legal Events

Date Code Title Description
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant