KR102454948B1 - IoT 기기 점검 방법 및 그 장치 - Google Patents

IoT 기기 점검 방법 및 그 장치 Download PDF

Info

Publication number
KR102454948B1
KR102454948B1 KR1020210148131A KR20210148131A KR102454948B1 KR 102454948 B1 KR102454948 B1 KR 102454948B1 KR 1020210148131 A KR1020210148131 A KR 1020210148131A KR 20210148131 A KR20210148131 A KR 20210148131A KR 102454948 B1 KR102454948 B1 KR 102454948B1
Authority
KR
South Korea
Prior art keywords
information
iot device
database
list
vulnerability
Prior art date
Application number
KR1020210148131A
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 KR1020210148131A priority Critical patent/KR102454948B1/ko
Application granted granted Critical
Publication of KR102454948B1 publication Critical patent/KR102454948B1/ko
Priority to PCT/KR2022/016692 priority patent/WO2023075500A1/ko
Priority to US18/647,831 priority patent/US20240297895A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y30/00IoT infrastructure
    • G16Y30/10Security thereof
    • 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/029Firewall traversal, e.g. tunnelling or, creating pinholes
    • 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
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Landscapes

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

Abstract

IoT 기기 점검 방법 및 그 장치가 개시된다. 분석서버는 IoT 기기에 정보수집모듈을 전송하고, 정보수집모듈을 통해 IoT 기기의 상태정보를 수집하고, 상태정보를 기초로 취약점에 관한 정보를 포함하는 데이터베이스를 탐색하여 IoT 기기의 취약점을 분석한다.

Description

IoT 기기 점검 방법 및 그 장치{IoT device test method and apparatus}
본 발명의 실시 예는, IoT 기기 점검 방법 및 그 장치에 관한 것으로 보다 상세하게는 IoT 기기의 취약점을 분석하여 제공하는 방법 및 그 장치에 관한 것이다.
IoT(Internet of Things)는 사물간 데이터를 인터넷으로 송수신할 수 있는 환경을 의미하며, IoT 기기는 IoT 서비스의 제공이 가능한 기기를 의미한다. 스마트시티, 스마트홈 등 다양한 분야에서 IoT 기기가 널리 사용되고 있다. IoT 기기는 인터넷을 통해 데이터를 주고 받으므로 악의의 제3자에 의한 해킹 등에 노출되는 위험을 가진다. IoT 기기 제조사나 사용자는 제조 또는 사용 중인 IoT 기기가 어떤 점에서 취약점을 가지는 알 수 있어야 그에 대한 대응을 할 수 있다. 그러나 다양한 취약점을 일일이 파악하는 데에 한계가 있다.
본 발명의 실시 예에 이루고자 하는 기술적 과제는, IoT 기기의 다양한 취약점을 통합 분석하여 제공할 수 있는 IoT 기기 점검 방법 및 그 장치를 제공하는 데 있다.
상기의 기술적 과제를 달성하기 위한, 본 발명의 실시 예에 따른 IoT 기기 점검 방법의 일 예는, IoT 기기에 정보수집모듈을 전송하는 단계; 상기 정보수집모듈을 통해 상기 IoT 기기의 상태정보를 수집하는 단계; 및 상기 상태정보를 기초로 취약점에 관한 정보를 포함하는 데이터베이스를 탐색하여 상기 IoT 기기의 취약점을 분석하는 단계;를 포함한다.
상기의 기술적 과제를 달성하기 위한, 본 발명의 실시 예에 따른 IoT 기기 점검 시스템의 일 예는, 취약점에 관한 정보를 포함하는 데이터베이스; 및 IoT 기기에 정보수집모듈을 전송하고, 상기 정보수집모듈을 통해 상기 IoT 기기의 상태정보를 수집하고, 상기 상태정보를 기초로 취약점에 관한 정보를 포함하는 데이터베이스를 탐색하여 상기 IoT 기기의 취약점을 분석하는 분석서버;를 포함한다.
본 발명의 실시 예에 따르면, IoT 기기의 운영체제(OS, Operating System), 소프트웨어, 네트워크, 인증 등 다양한 관점에서의 취약점을 분석하여 제공할 수 있다. 취약점 분석의 종류를 용이하게 갱신하거나 삭제 또는 추가할 수 있어, 다양한 종류의 IoT 기기 점검에 적용할 수 있다. 또한, 서로 다른 운영체제 등의 아키텍처를 가진 IoT 기기를 점검할 수 있다.
도 1은 본 발명이 실시 예에 따른 IoT 기기 점검을 위한 전체 시스템의 개략적인 구조의 일 예를 도시한 도면,
도 2는 본 발명의 실시 예에 따른 정보수집모듈의 일 예를 도시한 도면,
도 3은 본 발명의 실시 예에 따른 정보수집모듈이 수집하는 IoT 기기의 상태정보의 일 예를 도시한 도면.
도 4 내지 도 12는 리눅스 운영체제로 구현된 IoT 기기에서 정보수집모듈이 수집하는 상태정보의 일 예를 도시한 도면,
도 13은 본 발명의 실시 예에 따른 IoT 점검 방법의 일 예를 도시한 흐름도,
도 14 내지 도 19는 본 발명의 실시 예에 따른 취약점 분석 방법의 다양한 예를 도시한 도면, 그리고,
도 20은 본 발명의 실시 예에 따른 취약점 분석 종류의 변경 방법의 일 예를 도시한 도면이다.
이하에서, 첨부된 도면들을 참조하여 본 발명의 실시 예에 따른 IoT 기기 점검 방법 및 그 장치에 대해 상세히 살펴본다.
도 1은 본 발명이 실시 예에 따른 IoT 기기 점검을 위한 전체 시스템의 개략적인 구조의 일 예를 도시한 도면이다.
도 1을 참조하면, IoT 기기 점검 시스템은 분석서버(120) 및 적어도 하나 이상의 데이터베이스(130,140)를 포함한다. 분석서버(120)는 사용자 단말(150)과 인터넷(110)을 통해 연결될 수 있다. IoT 기기(100)는 사용자 단말(150)로부터 이후 살펴볼 정보수집모듈을 수신할 수 있다. 다른 실시 예로, IoT 기기(110)는 인터넷(110)을 통해 분석서버(120)에 연결될 수 있으며 이 경우 IoT 기기(110)는 분석서로부터 직접 정보수집모듈을 수신할 수 있다.
IoT 기기(100)는 다양한 종류와 운영체제(예를 들어, 리눅스 등)를 포함할 수 있다. 또한 IoT 기기(100)에 존재하는 프로세서 등 하드웨어의 구성도 다양할 수 있다. 즉, IoT 기기(100)의 소프트웨어 및/또는 하드웨어 아키텍처는 서로 다를 수 있으며, 본 실시 예는 특정 종류의 아키텍처로 한정되는 것이 아니라 다양한 종류의 아키텍처로 구현된 IoT 기기를 모두 점검할 수 있는 방법을 제시한다.
분석서버는 표준취약점코드(CVE, Common Vulnerabilities and Exposures)를 포함하는 제1 데이터베이스(130)와 악성 인터넷주소 리스트 등 취약점 분석에 필요한 각종 정보를 포함하는 제2 데이터베이스(140)를 포함한다. 본 실시 예는 설명의 편의를 위하여 저장되는 정보의 종류에 따라 제1 데이터베이스(130) 및 제2 데이터베이스(140)를 구분 표시하나, 이는 하나의 예일 뿐 하나의 데이터베이스로 구현될 수 있다.
도 2는 본 발명의 실시 예에 따른 정보수집모듈의 일 예를 도시한 도면이다.
도 2를 참조하면, 분석서버(120)는 복수의 서로 다른 종류의 IoT 아키텍처를 위한 복수의 정보수집모듈(210,220,230)을 포함한다. 예를 들어, 분석서버(120)는 서로 다른 종류의 운영체제에서 구동되는 복수의 정보수집모듈(210,220,230)을 포함할 수 있다. 여기서 정보수집모듈(210,220,230)은 IoT 점검을 위해 필요한 정보를 수집하는 독립된 프로그램을 의미한다.
제1 IoT 기기(250)가 A 아키텍처로 구성된 경우에 분석서버(120)는 A 아키텍처에서 동작하는 제1 정보수집모듈(210)을 제1 IoT 기기(250)에 전송하고, 제2 IoT 기기(252)가 B 아키텍처로 구성된 경우에 분석서버(120)는 B 아키텍처에서 동작하는 제2 정보수집모듈(220)을 제2 IoT 기기(252)로 전송할 수 있다. 새로운 아키텍처의 IoT 기기가 존재하면 분석서버(120)는 그에 맞는 새로운 정보수집모듈을 그룹(200)에 추가할 수 있다.
분석서버(120)는 IoT 기기의 제조사 또는 사용자(이하, '사용자'로 통칭함)가 점검대상 IoT 기기에 맞는 정보수집모듈을 다운로드할 수 있도록 IoT 기기의 아키텍처 정보를 입력할 수 있는 화면인터페이스를 포함하는 플랫폼웹 서비스를 포함할 수 있다.
도 3은 본 발명의 실시 예에 따른 정보수집모듈이 수집하는 IoT 기기의 상태정보의 일 예를 도시한 도면이다. 도 4 내지 도 12는 리눅스 운영체제로 구현된 IoT 기기에서 정보수집모듈이 수집하는 상태정보의 일 예를 도시한 도면이다. 이하에서는 도 3과 도 4 내지 도 12를 함께 참조하여 설명한다.
먼저 도 3을 참조하면, 정보수집모듈(310)은 점검 대상 IoT 기기(300)에 다운로드되어 IoT 기기(300)에서 동작한다. 정보수집모듈(310)은 IoT 기기(300)로부터 IoT 기기의 단말기정보, 네트워크정보, 인증정보, 소프트웨어정보, 보안설정정보 등의 상태정보(320)를 수집한다. 본 실시 예는 이해를 돕기 위한 하나의 예일 뿐 정보수집모듈이 수집하는 상태정보(320)의 종류는 실시 예에 따라 다양하게 변형되거나 추가 또는 삭제될 수 있다.
단말기정보는 IoT 기기의 운영체제 버전, 실행 중인 프로세스(또는 서비스) 목록 등을 포함할 수 있다. 예를 들어, IoT 기기가 리눅스로 구현된 경우에, 정보수집모듈(310)는 'uname' 명령어를 통해 도 4와 같은 운영체제 버전 정보를 파악할 수 있고, 'ps' 명령어를 통해 도 5와 같이 IoT 기기에서 실행 중인 프로세스 목록을 파악할 수 있다. 물론 이 외에도 종래의 다양한 방법을 통해 IoT 기기의 운영체제 버전이나 프로세스 목록을 파악하도록 정보수집모듈을 구현될 수 있다.
네트워크정보는 방화벽목록(예를 들어, 방화벽 설정정보 등), 네트워크연결정보(예를 들어, 연결된 IP 주소 목록), 사용중인 포트의 서비스(또는 프로세스) 정보(예를 들어, ftp, telnet 등) 등을 포함할 수 있다. 예를 들어, IoT 기기가 리눅스로 구현된 경우에, 정보수집모듈은 'iptables' 명령어를 통해 도 6과 같이 IoT 기기의 방화벽 설정정보(예를 들어, 허용되는 IP(Internet Protocol) 주소 범위 또는 접근 차단된 IP 주소 범위 등)를 파악하거나, 'ifconfig' 명령어를 통해 도 7과 같이 네트워크 연결정보를 파악하거나, 'netstat' 명령어를 통해 도 8과 같이 사용중인 포트의 서비스(프로세스) 정보를 파악할 수 있다.
인증정보는 계정정보(예를 들어, 계정 패스워드가 해시로 저장되어 있는 passwd, shadow 파일 등), 인증서 정보, 암호화키 등을 포함할 수 있다. 예를 들어, IoT 기기가 리눅스로 구현된 경우에, 정보수집모듈은 기 정의된 디렉토리에서 passwd 파일과 shadow 파일의 내용을 수집할 수 있고, 도 10과 같이 IoT 기기에 저장된 SSH 키 또는 SSL 인증서(*.cer, *.crt, *.csr, *.pem) 등을 확장자를 통해 파악하고 추출할 수 있다.
소프트웨어정보는 소프트웨어 목록이나 버전, 라이브러리 버전, 함수나 버전 정보 등을 포함한다. 예를 들어, IoT 기기가 리눅스로 구현된 경우에, 정보수집모듈은 도 11과 같이 기 정의된 디렉토리에서 'ls' 명령어 또는 'find' 명령어를 통해 해당 디렉토리에 저장된 소프트웨어나 라이브러리 목록을 파악할 수 있고, 'strings' 명령어 또는 'grep' 명령어를 통해 사용하고 있는 함수나 버전 정보를 파악할 수 있다.
보안설정정보는 로깅정보 등을 포함할 수 있다. 예를 들어, IoT 기기가 리눅스로 구현된 경우에, 정보수집모듈은 도 12와 같이 로깅 정보가 저장된 특정 디렉토리(예를 들어, /var/log)에 저장된 로그파일을 수집할 수 있다. 정보수집모듈이 수집하여야 할 정보가 저장된 각종 디렉토리의 정보는 아키텍처별 정보수집모듈에 미리 설정되어 있을 수 있다.
도 13은 본 발명의 실시 예에 따른 IoT 점검 방법의 일 예를 도시한 흐름도이다.
도 13을 참조하면, 분석서버(120)는 IoT 기기의 아키텍처에 맞는 정보수집모듈을 IoT 기기에 전송한다(S1300). 예를 들어, 분석서버(120)는 IoT 기기로부터 IoT 기기의 운영체제 버전 등 아키텍처 정보를 수신하면, 그에 맞는 정보수집모듈을 찾아 IoT 기기로 전송할 수 있다. 다른 실시 예로, 분석서버(120)는 IoT 기기의 아키텍처 정보를 입력할 수 있는 화면인터페이스를 제공할 수 있다. 사용자는 단말기(예를 들어, IoT 기기 또는 일반 컴퓨터 등)를 통해 분석서버에 접속한 후 점검 대상 IoT 기기의 아키텍처 정보를 입력한 후, 해당 아키텍처에 맞는 정보수집모듈을 다운로드하여 IoT 기기에 설치할 수 있다. 이때 사용자는 로그인 등의 과정을 통해 분석서버(120)에 접속할 수 있다.
분석서버(120)는 정보수집모듈을 통해 IoT 기기의 상태정보를 수집한다(S1310). 예를 들어, 정보수집모듈은 IoT 기기에 설치되어 동작하면서 도 3과 같은 IoT 기기의 상태정보를 수집한다. 일 실시 예로, 정보수집모듈은 IoT 기기의 상태정보가 수집되면 기 정의된 분석서버의 IP 주소를 이용하여 분석서버에 자동 접속한 후 수집한 IoT 기기의 상태정보를 전송할 수 있다. 다른 실시 예로, 정보수집모듈은 IoT 기기의 상태정보를 수집하면 이를 파일 등으로 출력하고, 사용자는 상태정보를 포함하는 적어도 하나 이상의 파일을 사용자가 직접 단말기(예를 들어, IoT 기기 또는 일반 컴퓨터 등)을 통해 분석서버(120)에 접속하여 업로드할 수 있다.
분석서버(120)는 IoT 기기의 상태정보를 기초로 IoT 기기의 취약점을 분석한다(S1320). 분석서버는 취약점의 분석 결과를 사용자에게 제공하거나 제2 데이터베이스 등에 저장할 수 있다. 예를 들어, 분석서버(120)는 점검 대상 IoT 기기의 종류, IoT 기기의 펌웨어 종류나 버전정보, IoT 기기의 취약한 도메인과 IP 리스트, 백도어와 악성 소프트웨어 리스트 등을 포함하는 분석 결과를 제공하거나 제2 데이터베이스에 저장할 수 있다.
IoT 기기의 취약점 분석의 종류는 실시 예에 따라 다양하게 구현될 수 있다. 예를 들어, 분석서버(120)는 CVE 취약점 분석, 소프트웨어 취약점 분석, 네트워크 취약점 분석, 계정 취약점 분석, 인증서 취약점 분석, 로그 취약점 분석 중 적어도 하나 이상을 수행할 수 있다. 취약점 분석의 다양한 방법의 예가 도 14 내지 도 19에 도시되어 있다.
도 14는 본 발명의 실시 예에 따른 CVE 취약점 분석 방법의 일 예를 도시한 도면이다.
도 14를 참조하면, 분석서버(120)는 IoT 기기의 운영체제정보(예를 들어, 운영체제이름, 버전 정보 등), 소프트웨어정보(예를 들어, 소프트웨어 이름이나 버전 정보 등) 또는 라이브러리 정보(라이브러리 이름이나 버전 정보 등)를 포함하는 수집정보(1400)를 기초로 CVE를 포함하는 제1 데이터베이스(1410)를 탐색하여 IoT 기기의 취약점에 대한 CVE 코드 내용(예를 들어, CVE-2016-2148 - Bysybox 1.25.0 버전 이하에서 Heap Oveflow 취약점이 발생함)을 파악하여 제공할 수 있다. CVE 취약점 분석을 위하여 정보수집모듈은 운영체제정보, 소프트웨어정보 또는 라이브러리 정보를 수집하는 기능을 포함하도록 구현할 수 있다.
도 15는 본 발명의 실시 예에 따른 소프트웨어 취약점 분석 방법의 일 예를 도시한 도면이다.
도 15를 참조하면, 분석서버(120)는 IoT 기기의 프로세스 목록이나 해시값, 함수 정보 등을 포함하는 수집정보(1500) 등을 기초로 제2 데이터베이스(1510)에 저장된 악성코드리스트 또는 취약함수리스트를 검색하여 취약점을 분석하고, IoT 기기의 취약한 프로세스나 함수의 목록을 제공한다.
악성코드리스트는 백도어(backdoor), 멜웨어 등 다양한 종류의 악성코드의 목록을 포함하거나 악성코드의 바이너리 코드의 해시값을 포함할 수 있다. IoT 기기에서 동작 중인 프로세스 목록 중 이름이 변경된 악성코드가 존재하는 경우에 악성코드리스트의 이름 비교만으로 악성코드를 파악하는데 한계가 있을 수 있다. 따라서, 분석서버(120)는 IoT 기기에서 동작중인 프로세스의 바이너리 코드의 해시값과 악성코드리스트에 존재하는 악성코드의 해시값을 비교하여 동일한지 비교하여 이름이 변경된 경우에도 악성코드를 탐지하도록 할 수 있다.
취약함수리스트는 해킹 등에 취약한 함수 목록을 포함한다. 분석서버(120)는 IoT 기기로부터 수집한 함수목록과 취약함수리스트를 비교하여 취약한 함수 목록이 존재하는지 파악할 수 있다.
도 16은 본 발명의 실시 예에 따른 네트워크 취약점 분석 방법의 일 예를 도시한 도면이다.
도 16을 참조하면, 분석서버(120)는 IoT 기기의 방화벽설정정보 또는 네트워크 연결정보를 포함하는 수집정보(1600)를 기초로 제2 데이터베이스(1610)의 악성IP주소리스트 또는 불필요한 네트워크 인터페이스 종류를 검색하여 네트워크 취약점을 분석하여 제공한다.
예를 들어, 분석서버(120)는 방화벽설정정보에서 접속 허용 가능한 IP 주소 범위에 제2 데이터베이스의 악성IP주소리스트가 포함되면 그 악성IP주소리스트를 제공할 수 있다.
다른 예로, 분석서버(120)는 IoT 기기에 불필요한 포트의 서비스(예를 들어, ftp, telnet, upnp, snmp 등)를 제2 데이터베이스(1610)에 미리 정의하여 저장한 후, 제2 데이터베이스(1610)를 기초로 IoT 기기에 불필요한 포트의 서비스가 존재하면 그 불필요한 포트의 서비스 종류를 분석결과로서 제공할 수 있다.
도 17은 본 발명의 실시 예에 따른 계정 취약점 분석 방법의 일 예를 도시한 도면이다.
도 17을 참조하면, 분석서버(120)는 IoT 기기의 계정정보(1700)를 기초로 계정 취약점을 분석(1710)하여 제공할 수 있다. 예를 들어, 분석서버(120)는 IoT 기기에 접속하는 계정의 리스트 또는 계정별 권한 정보의 리스트 등을 정리하여 제공하거나, 계정별 복잡성을 종래의 복잡성 분석 프로그램(예를 들어, 패스워드 크랙 등)을 통해 분석한 결과를 제공할 수 있다.
도 18은 본 발명의 실시 예에 따른 인증서 취약점 분석 방법의 일 예를 도시한 도면이다.
도 18을 참조하면, 분석서버(120)는 IoT 기기의 인증서정보(1800)를 기초로 제2 데이터베이스(1810)에 저장된 취약 암호화알고리즘 리스트를 탐색하여, IoT 기기의 인증서에 사용되는 암호화알고리즘이 취약 암호화알고리즘인지 파악하여 제공할 수 있다. 예를 들어, 분석서버(120)는 IoT 기기에 존재하는 인증서 파일을 수집한 후 인증서 파일을 통해 사용된 암호화 알고리즘을 파악하고, 그 암호화 알고리즘이 취약 암호화알고리즘에 해당하는지 파악할 수 있다.
도 19는 본 발명의 실시 예에 다른 로그 취약점 분석 방법의 일 예를 도시한 도면이다.
도 19를 참조하면, 분석서버(120)는 IoT 기기의 로그파일(1900)을 기초로 로그 파일 변조가능성, 로그파일 저장여부, 로그파일 데이터 패턴 등을 분석(1910)하여 제공할 수 있다. 예를 들어, 분석서버(120)는 IoT 기기의 로그파일에 쓰기 권한이 부여되어 있는 경우 로그파일의 변조 가능성이 존재한다고 파악할 수 있다. 다른 예로, 분석서버(120)는 로그파일이 IoT 기기의 아키텍처에 따른 특정 디렉토리에 존재하는지 여부를 체크하여 로그파일이 정상적으로 저장되는지를 파악하거나, 로그파일의 데이터 구조(즉, 저장되는 데이터의 종류 등)를 파악하여 로그파일이 IoT 기기에 적합한 로그레벨을 충족하는지 파악할 수 있다. 로그파일이 저장되는 특정 디렉토리나 로그레벨에 따른 데이터 구조의 포맷 등은 정보수집모듈에 미리 정의되어 있을 수 있다.
도 20은 본 발명의 실시 예에 따른 취약점 분석 종류의 변경 방법의 일 예를 도시한 도면이다.
도 20을 참조하면, 분석서버(120)는 IoT 기기의 다양한 취약점을 분석하기 위한 취약점 분석 모듈(2000)을 포함한다. 예를 들어, 분석서버(120)는 CVE 취약점 분석 모듈, 소프트웨어 취약점 분석 모듈 등을 포함할 수 있다. 다만, 분석서버(120)는 이러한 취약점 분석 모듈을 IoT 기기의 아키텍처별로 구비하는 것이 아니라 다양한 아키텍처에 대해 공통의 분석 모듈을 포함한다.
예를 들어, 제1 아키텍처의 IoT 기기로부터 수집한 IoT 상태정보와 제2 아키텍처의 IoT 기기로부터 수집한 IoT 상태정보에 대하여 동일한 취약점 분석 모듈(2000)을 통해 취약점을 분석한다. 이를 위해 분석서버(120)는 서로 다른 IoT 아키텍처에 적용되는 복수의 정보수집모듈이 수집하는 IoT 상태정보를 동일한 포맷으로 정의할 수 있다. 일 실시 예로, 복수의 정보수집모듈이 모두 동일한 포맷의 IoT 상태정보를 출력하도록 구현하거나, 분석서버(120)가 복수의 정보수집모듈이 수집한 IoT 상태정보를 기 정의된 포맷으로 변환하는 모듈을 포함하도록 구현할 수 있다. 서로 다른 데이터 포맷을 동일한 데이터 포맷으로 변환하는 종래의 다양한 방법이 본 실시 예에 적용될 수 있다.
본 실시 예는 공통의 취약점 분석 모듈(2000)을 이용하므로 새로운 취약점의 분석이 필요하거나 기존의 취약점 분석 삭제 또는 변경하는 경우에 공통의 취약점 분석 모듈(2000)를 추가, 삭제 또는 변경하고, 아키텍처별 정보수집모듈이 수집하는 정보의 종류를 수정하면 된다. 즉, 수집기능을 가지는 작은 프로그램인 정보수집모듈의 변경으로 다양한 아키텍처의 IoT 기기에 대한 다양한 취약점 분석을 수행하도록 구현할 수 있다.
본 발명의 각 실시 예는 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, SSD, 광데이터 저장장치 등이 있다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이제까지 본 발명에 대하여 그 바람직한 실시 예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시 예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.

Claims (8)

  1. 복수의 IoT 기기와 연결하는 단계 - 연결 과정에서 상기 IoT 기기의 소프트웨어 아키텍처 또는 하드웨어 아키텍처 정보를 획득함; 각 IoT 기기에 정보수집모듈을 각각 전송하는 단계 - 전송되는 정보수집모듈은 연결된 IoT 기기의 소프트웨어 아키텍처 또는 하드웨어 아키텍처에 대응함;
    각각의 정보수집모듈을 통해 복수의 IoT 기기의 상태정보를 수집하는 단계; 취약점 분석 모듈을 통해 상기 상태정보를 기초로 취약점에 관한 정보를 포함하는 데이터베이스를 탐색하여 상기 IoT 기기의 취약점을 분석하는 단계; 및
    새로운 취약점 분석이 필요한 경우 또는 수행 가능하도록 미리 구현된 취약점 분석을 삭제 또는 변경할 경우, 상기 취약점 분석 모듈 대비 프로그램이 작은 정보수집모듈을 변경하여 아키텍처별 정보수집모듈의 수집하는 정보의 종류를 수정하는 단계;를 포함하되,
    상기 데이터베이스는,
    상기 IoT 기기와 해당 인터넷주소 간의 연결을 차단하기 위한 악성 인터넷주소 리스트 또는 IoT 기기에 불필요한 네트워크 인터페이스의 종류를 저장하는 제2 데이터베이스를 포함하고,
    상기 수집하는 단계는,
    상기 IoT 기기에 설정된 방화벽 설정정보 또는 상기 IoT 기기에 연결된 네트워크 연결 정보를 수집하는 단계를 포함하고,
    상기 분석하는 단계는,
    상기 방화벽 설정정보 또는 상기 네트워크 연결정보를 기초로 상기 제2 데이터베이스를 탐색하여 방화벽 설정정보에 포함된 차단 인터넷 주소 리스트가 상기 제2 데이터베이스에 이미 저장된 악성 인터넷 주소를 포함하고 있는지 확인하고 방화벽 설정정보가 상기 제2 데이터베이스에 이미 저장된 악성 인터넷 주소를 포함하는 지에 기초하여 악성 인터넷 주소의 연결 가능성을 포함하는 네트워크 연결의 취약점을 파악하거나, 또는 상기 IoT 기기의 네트워크 연결 취약점을 파악하거나, 또는 네트워크 연결 정보가 수집될 경우 수집된 네트워크 연결 정보를 기초로 상기 데이터베이스 내 상기 불필요한 네트워크 인터페이스의 종류를 탐색하여 IoT 기기에 존재하는 네트워크 인터페이스 중에서 불필요한 네트워크 인터페이스의 종류를 파악하는 단계를 포함하는 것을 특징으로 하는 IoT 기기 점검 방법.
  2. 제 1항에 있어서,
    상기 데이터베이스는 표준취약점코드(CVE)를 포함하는 제1 데이터베이스를 포함하고,
    상기 수집하는 단계는, 상기 IoT 기기에 설치된 운영체제의 버전을 포함하는 운영체제정보, 상기 IoT 기기에 설치된 소프트웨어 목록이나 버전을 포함하는 소프트웨어정보 또는 상기 IoT 기기에 설치된 라이브러리의 목록이나 버전을 포함하는 라이브러리정보를 상기 정보수집모듈을 통해 파악하는 단계;를 포함하고,
    상기 분석하는 단계는, 상기 운영체제정보, 상기 소프트웨어정보 또는 상기 라이브러리정보를 기초로 상기 제1 데이터베이스를 탐색하여 운영체제, 소프트웨어 또는 라이브러리에 대한 CVE 취약점을 파악하는 단계;를 포함하는 것을 특징으로 하는 IoT 기기 점검 방법.
  3. 제 1항에 있어서,
    상기 데이터베이스는 악성코드의 이름이나 악성코드의 해시값을 포함하는 악성코드 리스트 또는 취약 함수 리스트를 포함하는 제2 데이터베이스를 포함하고,
    상기 수집하는 단계는, 상기 IoT 기기에서 실행 중인 프로세스의 목록, 프로세스의 해쉬값 또는 함수 목록을 수집하는 단계;를 포함하고,
    상기 분석하는 단계는, 상기 프로세스 또는 상기 함수가 상기 악성코드 리스트 또는 상기 취약 함수 리스트에 존재하는지 여부를 파악하는 단계;를 포함하는 것을 특징으로 하는 IoT 기기 점검 방법.
  4. 삭제
  5. 제 1항에 있어서,
    상기 수집하는 단계는, 상기 IoT 기기에 저장된 계정정보 또는 인증서정보를 수집하는 단계를 포함하고,
    상기 분석하는 단계는, 상기 계정정보에 해시값으로 저장된 패스워드를 크랙하여 암호의 복잡성을 체크하거나, 상기 인증서정보를 기초로 파악된 인증서의 암호화 알고리즘이 기 정의된 취약 암호화 알고리즘인지 파악하는 단계;를 포함하는 것을 특징으로 하는 IoT 기기 점검 방법.
  6. 제 1항에 있어서,
    상기 수집하는 단계는, 상기 IoT 기기의 로그 파일을 수집하는 단계;를 포함하고,
    상기 분석하는 단계는, 로그 파일의 접근 권한, 로그 파일의 존재 여부, 로그 파일의 데이터 패턴을 기초로 로그 파일의 취약성을 분석하는 단계;를 포함하는 것을 특징으로 하는 IoT 기기 점검 방법.
  7. 취약점에 관한 정보를 포함하는 데이터베이스 - 상기 데이터베이스는,
    IoT 기기와 해당 인터넷주소 간의 연결을 차단하기 위한 악성 인터넷주소 리스트 또는 IoT 기기에 불필요한 네트워크 인터페이스의 종류를 저장하는 제2 데이터베이스를 포함함; 및
    복수의 IoT 기기와 연결하고 - 연결 과정에서 상기 IoT 기기의 소프트웨어 아키텍처 또는 하드웨어 아키텍처 정보를 획득함 -, 각 IoT 기기에 정보수집모듈을 각각 전송하고 - 전송되는 정보수집모듈은 연결된 IoT 기기의 소프트웨어 아키텍처 또는 하드웨어 아키텍처에 대응함, 각각의 정보수집모듈을 통해 복수의 IoT 기기의 상태정보를 수집하고, 취약점 분석 모듈을 통해 상기 상태정보를 기초로 취약점에 관한 정보를 포함하는 데이터베이스를 탐색하여 상기 IoT 기기의 취약점을 분석하며, 그리고 새로운 취약점 분석이 필요한 경우 또는 수행 가능하도록 미리 구현된 취약점 분석을 삭제 또는 변경할 경우, 상기 취약점 분석 모듈 대비 프로그램이 작은 정보수집모듈을 변경하여 아키텍처별 정보수집모듈의 수집하는 정보의 종류를 수정하도록 구성된 는 분석서버;를 포함하고,
    상기 분석서버는,
    상기 정보수집모듈을 통해 상기 IoT 기기의 상태정보를 수집하기 위해, 상기 IoT 기기에 설정된 방화벽 설정정보 또는 상기 IoT 기기에 연결된 네트워크 연결 정보를 수집하고, 그리고
    상기 IoT 기기의 취약점을 분석하기 위해, 상기 방화벽 설정정보 또는 상기 네트워크 연결정보를 기초로 상기 제2 데이터베이스를 탐색하여 방화벽 설정정보에 포함된 차단 인터넷 주소 리스트가 상기 제2 데이터베이스에 이미 저장된 악성 인터넷 주소를 포함하고 있는지 확인하고 방화벽 설정정보가 상기 제2 데이터베이스에 이미 저장된 악성 인터넷 주소를 포함하는 지에 기초하여 악성 인터넷 주소의 연결 가능성을 포함하는 네트워크 연결의 취약점을 파악하거나, 또는 상기 IoT 기기의 네트워크 연결 취약점을 파악하거나, 또는 네트워크 연결 정보가 수집될 경우 수집된 네트워크 연결 정보를 기초로 상기 데이터베이스 내 상기 불필요한 네트워크 인터페이스의 종류를 탐색하여 IoT 기기에 존재하는 네트워크 인터페이스 중에서 불필요한 네트워크 인터페이스의 종류를 파악하도록 구성되는 것
    을 특징으로 하는 IoT 기기 점검 시스템.
  8. 제 1항 내지 제3항, 제5항 및 제 6항 중 어느 한 항에 기재된 방법을 수행하기 위한 컴퓨터 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020210148131A 2021-11-01 2021-11-01 IoT 기기 점검 방법 및 그 장치 KR102454948B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020210148131A KR102454948B1 (ko) 2021-11-01 2021-11-01 IoT 기기 점검 방법 및 그 장치
PCT/KR2022/016692 WO2023075500A1 (ko) 2021-11-01 2022-10-28 Iot 기기 점검 방법 및 그 장치
US18/647,831 US20240297895A1 (en) 2021-11-01 2024-04-26 Iot device inspection method, and device therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210148131A KR102454948B1 (ko) 2021-11-01 2021-11-01 IoT 기기 점검 방법 및 그 장치

Publications (1)

Publication Number Publication Date
KR102454948B1 true KR102454948B1 (ko) 2022-10-17

Family

ID=83809762

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210148131A KR102454948B1 (ko) 2021-11-01 2021-11-01 IoT 기기 점검 방법 및 그 장치

Country Status (3)

Country Link
US (1) US20240297895A1 (ko)
KR (1) KR102454948B1 (ko)
WO (1) WO2023075500A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210329024A1 (en) * 2020-04-17 2021-10-21 NSR S.r.l. Method and System for security assessment of IoT devices
WO2023075500A1 (ko) * 2021-11-01 2023-05-04 주식회사 지엔 Iot 기기 점검 방법 및 그 장치

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117409761B (zh) * 2023-12-14 2024-03-15 深圳市声菲特科技技术有限公司 基于频率调制的人声合成方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170056876A (ko) * 2015-11-16 2017-05-24 주식회사 마크애니 로그 분석을 기반으로 하는 보안 모니터링 방법, 장치 및 시스템
KR20190067355A (ko) * 2017-12-07 2019-06-17 삼성전자주식회사 서버 및 이를 이용한 악성 코드 방어 방법
KR20190067542A (ko) * 2017-12-07 2019-06-17 삼성전자주식회사 암호화 관련 취약점 공격에 강인한 전자 장치 및 그 방법
KR20210091953A (ko) * 2020-01-15 2021-07-23 망고클라우드 주식회사 사스 기반 사물인터넷 단말기 취약점 점검 시스템 및 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200092508A (ko) * 2019-01-15 2020-08-04 한국과학기술원 IoT 기기 악성코드 분석을 위한 대규모 허니팟 시스템
KR20210059991A (ko) * 2019-11-18 2021-05-26 쿤텍 주식회사 IoT 악성행위 분석 방법 및 이를 수행하기 위한 컴퓨팅 장치
KR102454948B1 (ko) * 2021-11-01 2022-10-17 주식회사 지엔 IoT 기기 점검 방법 및 그 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170056876A (ko) * 2015-11-16 2017-05-24 주식회사 마크애니 로그 분석을 기반으로 하는 보안 모니터링 방법, 장치 및 시스템
KR20190067355A (ko) * 2017-12-07 2019-06-17 삼성전자주식회사 서버 및 이를 이용한 악성 코드 방어 방법
KR20190067542A (ko) * 2017-12-07 2019-06-17 삼성전자주식회사 암호화 관련 취약점 공격에 강인한 전자 장치 및 그 방법
KR20210091953A (ko) * 2020-01-15 2021-07-23 망고클라우드 주식회사 사스 기반 사물인터넷 단말기 취약점 점검 시스템 및 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210329024A1 (en) * 2020-04-17 2021-10-21 NSR S.r.l. Method and System for security assessment of IoT devices
US11811814B2 (en) * 2020-04-17 2023-11-07 NSR S.r.l. Method and system for security assessment of IoT devices
WO2023075500A1 (ko) * 2021-11-01 2023-05-04 주식회사 지엔 Iot 기기 점검 방법 및 그 장치

Also Published As

Publication number Publication date
US20240297895A1 (en) 2024-09-05
WO2023075500A1 (ko) 2023-05-04

Similar Documents

Publication Publication Date Title
KR102454948B1 (ko) IoT 기기 점검 방법 및 그 장치
US11627154B2 (en) Forward and rearward facing attack vector visualization
CN111819544B (zh) 用于虚拟计算资源的部署前安全分析器服务
US10778446B2 (en) Detection of vulnerable root certificates in software containers
US8806643B2 (en) Identifying trojanized applications for mobile environments
EP3188436A1 (en) Platform for protecting small and medium enterprises from cyber security threats
CN111783096B (zh) 检测安全漏洞的方法和装置
US20100235917A1 (en) System and method for detecting server vulnerability
US20130167236A1 (en) Method and system for automatically generating virus descriptions
CN113704767A (zh) 融合漏洞扫描引擎和漏洞工单管理的漏洞管理系统
CN110677381A (zh) 渗透测试的方法及装置、存储介质、电子装置
CN108989296A (zh) 一种物联网系统安全综合评估系统及方法
CN110768949B (zh) 探测漏洞的方法及装置、存储介质、电子装置
CN110880983A (zh) 基于场景的渗透测试方法及装置、存储介质、电子装置
Bairwa et al. Vulnerability scanners-a proactive approach to assess web application security
CN114666104A (zh) 一种渗透测试方法、系统、计算机设备以及存储介质
CN110765333A (zh) 采集网站信息的方法及装置、存储介质、电子装置
CN107508829B (zh) 一种非侵入式的webshell检测方法
KR102156359B1 (ko) 사전명령 전송을 통한 취약점 진단 명령어 실행여부 확인방법 및 그 시스템
US10819730B2 (en) Automatic user session profiling system for detecting malicious intent
KR102176336B1 (ko) 보안취약점 진단오류 분류방법 및 그 시스템
Arabo Distributed ids using agents: an agent-based detection system to detect passive and active threats to a network
Khan et al. Analysis of Penetration Testing and Vulnerability in Computer Networks
Alkhurayyif et al. Adopting Automated Penetration Testing Tools: A Cost-Effective Approach to Enhancing Cybersecurity in Small Organizations
Daşdemir et al. Evaluation of Most Visited E-Commerce Web Sites in Turkey in Aspects of Structure and Security

Legal Events

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