KR20190067355A - 서버 및 이를 이용한 악성 코드 방어 방법 - Google Patents

서버 및 이를 이용한 악성 코드 방어 방법 Download PDF

Info

Publication number
KR20190067355A
KR20190067355A KR1020170167220A KR20170167220A KR20190067355A KR 20190067355 A KR20190067355 A KR 20190067355A KR 1020170167220 A KR1020170167220 A KR 1020170167220A KR 20170167220 A KR20170167220 A KR 20170167220A KR 20190067355 A KR20190067355 A KR 20190067355A
Authority
KR
South Korea
Prior art keywords
attack
malicious code
information
iot device
scenario
Prior art date
Application number
KR1020170167220A
Other languages
English (en)
Other versions
KR102461707B1 (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 삼성전자주식회사
Priority to KR1020170167220A priority Critical patent/KR102461707B1/ko
Priority to CN201880078446.2A priority patent/CN111433772B/zh
Priority to EP18885608.2A priority patent/EP3649569B1/en
Priority to PCT/KR2018/014922 priority patent/WO2019112241A1/en
Priority to US16/212,083 priority patent/US11038901B2/en
Publication of KR20190067355A publication Critical patent/KR20190067355A/ko
Application granted granted Critical
Publication of KR102461707B1 publication Critical patent/KR102461707B1/ko

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/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/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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/54Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
    • 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/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • 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
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • 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
    • 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/1416Event detection, e.g. attack signature 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/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/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/30Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information
    • H04L63/306Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information intercepting packet switched data communications, e.g. Web, Internet or IMS communications
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • H04W12/121Wireless intrusion detection systems [WIDS]; Wireless intrusion prevention systems [WIPS]
    • H04W12/122Counter-measures against attacks; Protection against rogue devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • H04W12/128Anti-malware arrangements, e.g. protection against SMS fraud or mobile malware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/70Services for machine-to-machine communication [M2M] or machine type communication [MTC]

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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Medical Informatics (AREA)
  • Technology Law (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

서버가 개시된다. 본 발명에 따른 서버는 IoT 디바이스와 연결된 전자 장치와 통신을 수행하는 통신부, 외부 장치로부터 IoT 디바이스가 단계적으로 받는 공격에 대한 시나리오 및 시나리오에 대응되는 악성 코드에 대한 정보를 저장하는 저장부 및 IoT 디바이스가 전자 장치를 통해 외부 장치로부터 적어도 하나 이상의 단계에 걸친 공격을 받는 경우, 단계별로 받은 공격에 대한 알림(alert)을 전자 장치로부터 수신하고, 기저장된 시나리오에 기초하여 전자 장치로부터 수신된 적어도 하나 이상의 알림에 대응되는 악성 코드에 대한 정보를 판단하는 프로세서를 포함한다.

Description

서버 및 이를 이용한 악성 코드 방어 방법 {SERVER AND METHOD FOR DEPENDING MALICIOUS CODE USING THEREOF}
본 발명은 서버 및 이를 이용한 악성 코드 방어 방법에 관한 것으로, 보다 상세하게는 공격자로부터 IoT 디바이스를 방어하기 위한 서버 및 이를 이용한 악성 코드 방어 방법에 관한 것이다.
반도체 기술 및 무선 통신 기술의 발전으로, 다양한 전자 기기가 개발되고 있다. 특히, 최근에는 사물(Things) 간 실시간으로 데이터를 주고 받을 수 있는 기술인 사물 인터넷(IoT(Internet of Things)) 기술이 개발되었다. 이러한 사물 인터넷은, 기존의 유비쿼터스(USN(Ubiquitous Sensor Network))나 사물 지능 통신(M2M(Machine to Machine))의 진화된 형태로써, 통신 기능이 탑재된 사물들을 네트워크에 연결하여 상호간 통신이 가능하도록 함에 특징이 있다.
여기에서, 다양한 사물(이하, 'IoT 디바이스'라고 한다)들은 사물 인터넷 서비스를 제공하기 위한 서버에 연결됨으로써, 사물 인터넷 네트워크를 형성할 수 있다. 이에 따라, 사용자는 서버에 연결된 스마트 폰 등의 전자 장치를 통해서, 시간 및 장소의 제한 없이 용이하게 IoT 디바이스를 제어할 수 있게 되었다.
한편, 사물 인터넷 기술에 의해 사용자의 편의성이 증대되었음은 별론, 최근 IoT 디바이스는 공격자의 공격 타겟이 되고 있는 실정이다. 이는, IoT 디바이스의 경우 주로 가정 내 가전기기로 구현되고, 가정 내 거주하는 일반 사용자는 일반적으로 보안에 대한 지식이 부족하기 때문이다.
이에 따라, 보안에 대한 지식이 부족한 일반 사용자의 경우에도, IoT 디바이스를 공격자로부터 방어할 수 있도록 하는 기술의 필요성이 대두되었다.
본 발명은 상술한 필요성에 의해 안출된 것으로, 본 발명의 목적은 보안에 대한 지식이 부족한 일반 사용자의 경우에도, IoT 디바이스를 공격자로부터 방어할 수 있도록 하는 서버 및 이를 이용한 악성 코드 방어 방법을 제공함에 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 서버는, IoT 디바이스와 연결된 전자 장치와 통신을 수행하는 통신부, 외부 장치로부터 상기 IoT 디바이스가 단계적으로 받는 공격에 대한 시나리오 및 상기 시나리오에 대응되는 악성 코드에 대한 정보를 저장하는 저장부 및 상기 IoT 디바이스가 상기 전자 장치를 통해 상기 외부 장치로부터 적어도 하나 이상의 단계에 걸친 공격을 받는 경우, 단계별로 받은 공격에 대한 알림(alert)을 상기 전자 장치로부터 수신하고, 상기 기저장된 시나리오에 기초하여 상기 전자 장치로부터 수신된 적어도 하나 이상의 알림에 대응되는 악성 코드에 대한 정보를 판단하는 프로세서를 포함한다.
그리고, 상기 프로세서는 상기 판단된 악성 코드에 대한 정보를 사용자 단말 장치 및 상기 IoT 디바이스 중 적어도 하나로 전송할 수 있다.
여기에서, 상기 시나리오는 상기 외부 장치가 상기 악성 코드를 상기 IoT 디바이스로 주입하기 위해 상기 외부 장치가 순차적으로 실시하는 공격에 대한 정보를 포함할 수 있다.
그리고, 상기 프로세서는 상기 전자 장치로부터 적어도 하나 이상의 알림이 수신되면, 상기 적어도 하나 이상의 알림에 포함된 공격이 수행된 시간 정보에 기초하여 상기 IoT 디바이스가 받은 공격의 순서를 판단하고, 상기 기저장된 시나리오 중에서 상기 IoT 디바이스가 받은 공격 순서와 동일한 공격 순서를 갖는 시나리오를 판단하고, 상기 판단된 시나리오에 대응되는 악성 코드에 대한 정보를 상기 사용자 단말 장치 및 상기 IoT 디바이스 중 적어도 하나로 전송할 수 있다.
그리고, 상기 프로세서는 상기 기저장된 시나리오에 상기 IoT 디바이스가 받은 공격 순서와 동일한 공격 순서를 갖는 시나리오가 존재하지 않는 경우, 상기 기저장된 시나리오 중에서 상기 IoT 디바이스가 받은 공격과 기설정된 임계 값 이상의 일치도를 갖는 시나리오를 판단하고, 상기 판단된 시나리오에 대응되는 악성 코드에 대한 정보를 상기 사용자 단말 장치 및 상기 IoT 디바이스 중 적어도 하나로 전송할 수 있다.
그리고, 상기 프로세서는 상기 기저장된 시나리오에 상기 IoT 디바이스가 받은 공격 순서와 동일한 공격 순서를 갖는 시나리오가 존재하지 않는 경우, 사용자 명령에 따라 입력된 악성 코드에 대한 정보를 상기 IoT 디바이스가 받은 공격 순서에 대응되는 시나리오에 매칭시켜 상기 저장부에 저장할 수 있다.
그리고, 상기 프로세서는 상기 기저장된 시나리오에 상기 IoT 디바이스가 받은 공격 순서와 동일한 공격 순서를 갖는 시나리오가 존재하지 않는 경우, 상기 외부 장치와의 네트워크 연결을 차단할 것을 요청하는 가이드 정보를 상기 사용자 단말 장치 및 상기 IoT 디바이스 중 적어도 하나로 전송할 수 있다.
그리고, 상기 프로세서는 상기 전자 장치에서 보안 취약점이 탐지된 경우, 상기 보안 취약점을 나타내는 알림을 상기 전자 장치로부터 수신하고, 상기 IoT 디바이스가 받은 적어도 하나 이상의 단계에 걸친 공격 중 적어도 하나의 공격이 상기 보안 취약점을 이용한 공격에 해당하는 경우, 상기 악성 코드에 대한 정보를 상기 사용자 단말 장치 및 상기 IoT 디바이스 중 적어도 하나로 전송할 수 있다.
그리고, 상기 프로세서는 상기 IoT 디바이스가 상기 악성 코드에 대한 정보를 표시하기 위한 디스플레이를 포함하는지를 판단하고, 상기 IoT 디바이스가 상기 디스플레이를 포함하는 경우 상기 악성 코드에 대한 정보를 상기 IoT 디바이스로 전송하고, 상기 IoT 디바이스가 상기 디스플레이를 포함하지 않는 경우 상기 악성 코드에 대한 정보를 사용자 단말 장치로 전송할 수 있다.
한편, 본 발명의 일 실시 예에 따른 악성 코드 방어 방법은 IoT 디바이스가 전자 장치를 통해 외부 장치로부터 적어도 하나 이상의 단계에 걸친 공격을 받는 경우, 단계별로 받은 공격에 대한 알림(alert)을 상기 전자 장치로부터 수신하는 단계 및 기저장된 시나리오에 기초하여 상기 전자 장치로부터 수신된 적어도 하나 이상의 알림에 대응되는 악성 코드에 대한 정보를 판단하는 단계를 포함한다.
그리고, 본 방법은 상기 판단된 악성 코드에 대한 정보를 사용자 단말 장치 및 상기 IoT 디바이스 중 적어도 하나로 전송하는 단계를 더 포함할 수 있다.
여기에서, 상기 시나리오는 상기 외부 장치가 상기 악성 코드를 상기 IoT 디바이스로 주입하기 위해 상기 외부 장치가 순차적으로 실시하는 공격에 대한 정보를 포함할 수 있다.
그리고, 상기 전송하는 단계는 상기 전자 장치로부터 적어도 하나 이상의 알림이 수신되면, 상기 적어도 하나 이상의 알림에 포함된 공격이 수행된 시간 정보에 기초하여 상기 IoT 디바이스가 받은 공격의 순서를 판단하고, 상기 기저장된 시나리오 중에서 상기 IoT 디바이스가 받은 공격 순서와 동일한 공격 순서를 갖는 시나리오를 판단하고, 상기 판단된 시나리오에 대응되는 악성 코드에 대한 정보를 상기 사용자 단말 장치 및 상기 IoT 디바이스 중 적어도 하나로 전송할 수 있다.
그리고, 상기 전송하는 단계는 상기 기저장된 시나리오에 상기 IoT 디바이스가 받은 공격 순서와 동일한 공격 순서를 갖는 시나리오가 존재하지 않는 경우, 상기 기저장된 시나리오 중에서 상기 IoT 디바이스가 받은 공격과 기설정된 임계 값 이상의 일치도를 갖는 시나리오를 판단하고, 상기 판단된 시나리오에 대응되는 악성 코드에 대한 정보를 상기 사용자 단말 장치 및 상기 IoT 디바이스 중 적어도 하나로 전송할 수 있다.
그리고, 본 방법은 상기 기저장된 시나리오에 상기 IoT 디바이스가 받은 공격 순서와 동일한 공격 순서를 갖는 시나리오가 존재하지 않는 경우, 사용자 명령에 따라 입력된 악성 코드에 대한 정보를 상기 IoT 디바이스가 받은 공격 순서에 대응되는 시나리오에 매칭시켜 저장하는 단계를 더 포함할 수 있다.
그리고, 상기 전송하는 단계는 상기 기저장된 시나리오에 상기 IoT 디바이스가 받은 공격 순서와 동일한 공격 순서를 갖는 시나리오가 존재하지 않는 경우, 상기 외부 장치와의 네트워크 연결을 차단할 것을 요청하는 가이드 정보를 상기 사용자 단말 장치 및 상기 IoT 디바이스 중 적어도 하나로 전송할 수 있다.
그리고, 상기 전송하는 단계는 상기 전자 장치에서 보안 취약점이 탐지된 경우, 상기 보안 취약점을 나타내는 알림을 상기 전자 장치로부터 수신하고, 상기 IoT 디바이스가 받은 적어도 하나 이상의 단계에 걸친 공격 중 적어도 하나의 공격이 상기 보안 취약점을 이용한 공격에 해당하는 경우, 상기 악성 코드에 대한 정보를 상기 사용자 단말 장치 및 상기 IoT 디바이스 중 적어도 하나로 전송할 수 있다.
그리고, 본 방법은 상기 IoT 디바이스가 상기 악성 코드에 대한 정보를 표시하기 위한 디스플레이를 포함하는지를 판단하는 단계 및 상기 IoT 디바이스가 상기 디스플레이를 포함하는 경우 상기 악성 코드에 대한 정보를 상기 IoT 디바이스로 전송하고, 상기 IoT 디바이스가 상기 디스플레이를 포함하지 않는 경우 상기 악성 코드에 대한 정보를 사용자 단말 장치로 전송하는 단계를 더 포함할 수 있다.
한편, 본 발명의 일 실시 예에 따른 IoT 디바이스는 디스플레이, 전자 장치와 통신을 수행하는 통신부 및 상기 전자 장치를 통해 외부 장치로부터 적어도 하나 이상의 단계에 걸친 공격을 받는 경우, 상기 전자 장치로부터 상기 적어도 하나 이상의 단계에 걸친 공격에 대응되는 악성 코드에 대한 정보를 수신하고, 상기 수신된 악성 코드에 대한 정보를 상기 디스플레이를 통해 표시하는 프로세서를 포함하고, 여기에서 상기 악성 코드에 대한 정보는 상기 적어도 하나 이상의 공격 및 상기 적어도 하나 이상의 단계에 걸친 공격의 순서에 기초하여 생성되는 정보가 될 수 있다.
그리고, 상기 악성 코드에 대한 정보는 상기 적어도 하나 이상의 단계에 걸친 공격에 대응되는 악성 코드의 명칭, 상기 외부 장치가 순차적으로 실시한 공격에 대한 정보 및 상기 악성 코드를 방어하기 위한 가이드 정보 중 적어도 하나를 포함할 수 있다.
그리고, 상기 프로세서는 상기 가이드 정보에 따라 상기 악성 코드를 방어하기 위한 사용자 명령이 입력되면, 상기 가이드 정보에 대응되는 방어 동작을 수행할 수 있다.
한편, 본 발명의 일 실시 예에 따른 악성 코드 방어 방법은 전자 장치를 통해 외부 장치로부터 적어도 하나 이상의 단계에 걸친 공격을 받는 경우, 상기 전자 장치로부터 상기 적어도 하나 이상의 단계에 걸친 공격에 대응되는 악성 코드에 대한 정보를 수신하는 단계 및 상기 수신된 악성 코드에 대한 정보를 표시하는 단계를 포함하고, 여기에서 상기 악성 코드에 대한 정보는 상기 적어도 하나 이상의 공격 및 상기 적어도 하나 이상의 단계에 걸친 공격의 순서에 기초하여 생성되는 정보가 될 수 있다.
그리고, 상기 악성 코드에 대한 정보는 상기 적어도 하나 이상의 단계에 걸친 공격에 대응되는 악성 코드의 명칭, 상기 외부 장치가 순차적으로 실시한 공격에 대한 정보 및 상기 악성 코드를 방어하기 위한 가이드 정보 중 적어도 하나를 포함할 수 있다.
그리고, 본 방법은 상기 가이드 정보에 따라 상기 악성 코드를 방어하기 위한 사용자 명령이 입력되면, 상기 가이드 정보에 대응되는 방어 동작을 수행하는 단계를 더 포함할 수 있다.
한편, 본 발명의 일 실시 예에 따른 사용자 단말 장치는 디스플레이, 전자 장치와 연결된 서버와 통신을 수행하는 통신부 및 상기 전자 장치에 연결된 IoT 디바이스가 상기 전자 장치를 통해 외부 장치로부터 적어도 하나 이상의 단계에 걸친 공격을 받는 경우, 상기 서버로부터 상기 적어도 하나 이상의 단계에 걸친 공격에 대응되는 악성 코드에 대한 정보를 수신하고, 상기 수신된 악성 코드에 대한 정보를 상기 디스플레이를 통해 표시하는 프로세서를 포함하며, 여기에서 상기 악성 코드에 대한 정보는, 상기 적어도 하나 이상의 공격 및 상기 적어도 하나 이상의 단계에 걸친 공격의 순서에 기초하여 생성되는 정보가 될 수 있다.
그리고, 상기 악성 코드에 대한 정보는 상기 적어도 하나 이상의 단계에 걸친 공격에 대응되는 악성 코드의 명칭, 상기 외부 장치가 순차적으로 실시한 공격에 대한 정보 및 상기 악성 코드를 방어하기 위한 가이드 정보 중 적어도 하나를 포함할 수 있다.
그리고, 상기 프로세서는 상기 가이드 정보에 따라 상기 악성 코드를 방어하기 위한 사용자 명령이 입력되면, 상기 가이드 정보에 대응되는 방어 동작을 수행할 수 있다.
한편, 본 발명의 일 실시 예에 따른 악성 코드 방어 방법은 전자 장치에 연결된 IoT 디바이스가 상기 전자 장치를 통해 외부 장치로부터 적어도 하나 이상의 단계에 걸친 공격을 받는 경우, 서버로부터 상기 적어도 하나 이상의 단계에 걸친 공격에 대응되는 악성 코드에 대한 정보를 수신하는 단계 및 상기 수신된 악성 코드에 대한 정보를 표시하는 단계를 포함하고, 여기에서 상기 악성 코드에 대한 정보는 상기 적어도 하나 이상의 공격 및 상기 적어도 하나 이상의 단계에 걸친 공격의 순서에 기초하여 생성되는 정보가 될 수 있다.
그리고, 상기 악성 코드에 대한 정보는 상기 적어도 하나 이상의 단계에 걸친 공격에 대응되는 악성 코드의 명칭, 상기 외부 장치가 순차적으로 실시한 공격에 대한 정보 및 상기 악성 코드를 방어하기 위한 가이드 정보 중 적어도 하나를 포함할 수 있다.
그리고, 본 방법은 상기 가이드 정보에 따라 상기 악성 코드를 방어하기 위한 사용자 명령이 입력되면, 상기 가이드 정보에 대응되는 방어 동작을 수행하는 단계를 더 포함할 수 있다.
이상과 같은 본 발명의 다양한 실시 예에 따르면, 보안에 대한 지식이 부족한 일반 사용자의 경우에도, 공격자의 공격 유형을 쉽게 파악하고, IoT 디바이스를 공격자로부터 용이하게 방어할 수 있다.
도 1은 본 발명의 일 실시 예에 따른 악성 코드 방지 시스템을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시 예에 따른 서버를 설명하기 위한 블록도이다.
도 3a 및 도 3b는 본 발명의 일 실시 예에 따른, 시나리오 및 시나리오에 대응되는 악성 코드에 대한 정보를 설명하기 위한 도면이다.
도 4 및 도 5는 본 발명의 일 실시 예에 따른 악성 코드에 대한 정보의 전송 대상 및 악성 코드에 대한 정보에 대응되는 UI를 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시 예에 따른 악성 코드 방지 시스템의 동작 방법을 설명하기 위한 흐름도이다.
도 7은 본 발명의 일 실시 예에 따른 서버에 IoT 디바이스가 받은 공격 순서와 동일한 공격 순서를 갖는 시나리오가 존재하지 않는 경우, 서버의 동작 방법을 설명하기 위한 도면이다.
도 8은 본 발명의 일 실시 예에 따른 IoT 디바이스를 설명하기 위한 블록도이다.
도 9는 본 발명의 일 실시 예에 따른 사용자 단말 장치를 설명하기 위한 블록도이다.
도 10은 본 발명의 일 실시 예에 따른 서버의 동작을 설명하기 위한 흐름도이다.
먼저, 본 명세서 및 청구범위에서 사용되는 용어는 본 발명의 기능을 고려하여 일반적인 용어들을 선택하였다. 하지만, 이러한 용어들은 당 분야에 종사하는 기술자의 의도나 법률적 또는 기술적 해석 및 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 일부 용어는 출원인이 임의로 선정한 용어도 있다. 이러한 용어에 대해서는 본 명세서에서 정의된 의미로 해석될 수 있으며, 구체적인 용어 정의가 없으면 본 명세서의 전반적인 내용 및 당해 기술 분야의 통상적인 기술 상식을 토대로 해석될 수도 있다.
또한, 본 발명을 설명함에 있어서, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우, 그에 대한 상세한 설명은 축약하거나 생략한다.
나아가, 이하 첨부 도면들 및 첨부 도면들에 기재된 내용들을 참조하여 본 발명의 실시 예를 상세하게 설명하지만, 본 발명이 실시 예들에 의해 제한되거나 한정되는 것은 아니다.
이하, 첨부된 도면을 참조하여 본 발명을 상세히 설명한다.
도 1은, 본 발명의 일 실시 예에 따른 악성 코드 방지 시스템을 설명하기 위한 도면이다.
도 1을 참조하면, 본 발명의 일 실시 예에 따른 악성 코드 방지 시스템(1000)은 서버(100), 전자 장치(200) 및 적어도 하나의 IoT 디바이스(300)를 포함할 수 있다.
즉, 악성 코드 방지 시스템(1000)은 사물 인터넷(IoT, Internet of Things) 시스템이 될 수 있다. 여기에서, 사물 인터넷(IoT)은 통신 기능이 탑재된 IoT 디바이스(300)를 네트워크에 연결하여 사람과 사물 또는 사물과 사물 간 정보를 주고 받을 수 있는 기술을 의미한다.
도 1에 도시된 바와 같이, IoT 디바이스(300)는 컴퓨터(300-1), 웹캠(300-2), 냉장고(300-3) 및 스마트 폰(300-4)이 될 수 있다. 다만, 이는 일 실시 예일 뿐, IoT 디바이스(300)는 에어컨, 세탁기, 전구 등과 같은 다양한 사물이 될 수 있다.
한편, 이하에서는 본 발명이 사물 인터넷으로 구현되는 경우를 중심으로 설명하지만, 본 발명의 기술적 사상은 인터넷이 가능한 디바이스이면 그 종류에 제한되지 않고 적용될 수 있다. 즉, 본 발명의 기술적 사상이 사물 인터넷에 국한되는 것은 아니라 할 것이다.
전자 장치(200)는 IoT 디바이스(300)와 연결될 수 있다.
구체적으로, 전자 장치(200)는 무선 통신 네트워크를 이용하여 IoT 디바이스(300)와 연결될 수 있다. 다만, 이는 일 실시 예일 뿐, 전자 장치(200)는 블루투스(Bluetooth) 네트워크, 와이파이(Wi-Fi) 네트워크, ZigBee 네트워크 및 NFC(Near Field Communication) 네트워크 등의 다양한 네트워크를 이용하여 IoT 디바이스(300)와 연결될 수 있다.
이와 같은 기능을 실행하는 전자 장치(200)는 라우터 등으로 구현될 수 잇다.
한편, 전자 장치(200)는 IoT 디바이스(300)에 대한 외부 장치(미도시)의 공격을 탐지할 수 있다.
여기에서, 외부 장치(미도시)의 공격은 외부 장치(미도시)가 전자 장치(200)의 네트워크를 통해 IoT 디바이스(300)를 공격하는 경우가 될 수 있다.
일 예로, 전자 장치(200)는 인증되지 않은 외부 장치(미도시)가 전자 장치(200)의 네트워크를 통해 IoT 디바이스(300)의 취약점을 스캔 하는 경우 또는 인증되지 않은 외부 장치(미도시)가 전자 장치(200)의 네트워크를 통해 버퍼 오버 플로우(BOF, Buffer OverFlow)를 발생시킨 경우 등을 외부 장치(미도시)의 공격으로 탐지할 수 있다.
이를 위해, 전자 장치(200)는 외부 장치(미도시)의 공격을 탐지할 수 있는 센싱 모듈을 구비할 수 있다. 일 예로, 센싱 모듈은 네트워크 스캔 모듈, 네트워크 취약점 스캔 모듈 등이 될 수 있다.
그리고, 전자 장치(200)는 외부 장치(미도시)의 공격이 탐지되면, 공격에 대한 알림(alert)을 생성할 수 있다.
구체적으로, 전자 장치(200)는 외부 장치(미도시)의 공격이 탐지되면, 외부 장치(미도시)의 공격 유형 및 공격 시간 등을 판단하고, 이에 대한 정보를 포함하는 알림을 생성할 수 있다.
일 예로, 00시 00분 00초에 인증되지 않은 외부 장치(미도시)가 전자 장치(200)의 네트워크를 통해 IoT 디바이스(300)의 취약점을 스캔 하는 경우, 전자 장치(100)는 '{네트워크 스캔 공격 탐지, 00:00:00}'라는 제1 알림을 생성할 수 있고, 00시 00분 30초에 인증되지 않은 외부 장치(미도시)가 전자 장치(200)의 네트워크를 통해 버퍼 오버 플로우(BOF, Buffer OverFlow)를 발생시킨 경우, '{버퍼 오버 플로우(BOF, Buffer OverFlow) 공격 탐지, 00:00:30}'라는 제2 알림을 생성할 수 있다.
이후, 전자 장치(200)는 공격에 대한 알림을 서버(100)로 전송할 수 있다.
이를 위해, 전자 장치(200)는 서버(100)와 연결될 수 있다.
구체적으로, 전자 장치(200)는 무선 통신 네트워크를 이용하여 서버(100)와 연결될 수 있다. 다만, 이는 일 실시 예일 뿐, 전자 장치(200)는 근거리 통신(LAN), 광역 통신(WAN) 등 다양한 통신 링크를 통해 서버(100)와 연결될 수도 있다.
서버(100)는 공격에 대한 알림을 전자 장치(200)로부터 수신할 수 있다.
한편, 종래의 서버는 공격에 대한 알림이 전자 장치(200)로부터 수신되면, 수신된 알림에 대응되는 정보를 단편적으로 사용자에게 제공하였다. 예를 들어, 전술한 실시 예의 경우, 종래의 서버는 제1 알림이 수신되면 사용자에게 '네트워크 스캔 공격 탐지'라는 정보를 제공하였고, 제2 알림이 수신되면 '버퍼 오버 플로우(BOF) 공격 탐지'라는 정보를 제공하였다.
그러나, 최근 외부 장치(미도시)의 공격은 일회성으로 그치는 것이 아니라 단계적으로 수행되는 것이 일반적이다. 예를 들어, '분산 서비스 거부 공격' (DDoS, Distributed Denial of Service)의 경우, 먼저 '네트워크 스캔 공격'을 통해 IoT 디바이스(300)의 취약점을 판단하고, 이후 취약점을 이용해 '버퍼 오버 플로우 공격'을 수행하며, 이를 통해 IoT 디바이스(300)의 '호스트(Host) 권한을 획득'한 뒤, DDOS 멀웨어를 IoT 디바이스(300)에 주입하는 것이 일반적이다.
이에 따라, 종래의 서버와 같이, 외부 장치(미도시)에 의해 수행되는 공격 정보를 단편적으로 제공할 경우에는, DDOS와 같이 단계별로 수행되는 공격을 적절히 방어할 수 없다는 문제가 있다. 단편적인 정보 제공만으로는 외부 장치(미도시)가 최종적으로 수행하려는 공격을 파악하기 어렵기 때문이다. 특히, 보안에 대한 지식이 부족한 일반 사용자라면 더욱 그러하다.
이와 같은 문제점을 해결하기 위해, 본 발명의 일 실시 예에 따른 서버(100)는 단계별로 수신한 공격에 대한 알림을 종합적으로 고려하여 공격자가 수행하려는 공격을 파악하고, 그에 대한 방어 가이드를 제공한다. 이하, 도 2를 참조하여 보다 상세히 설명한다.
도 2는, 본 발명의 일 실시 예에 따른 서버를 설명하기 위한 블록도이다.
도 2를 참조하면, 본 발명의 일 실시 예에 따른 서버(100)는 통신부(110), 저장부(120) 및 프로세서(130)를 포함한다.
통신부(110)는 다양한 유형의 통신 방식에 따라 전자 장치(200)와 통신을 수행하여, 다양한 데이터를 송수신할 수 있다.
예를 들어, 통신부(110)는 전자 장치(200)와 통신을 수행하여, 전자 장치(200)로부터 공격에 대한 알림을 수신할 수 있다. 구체적으로, 외부 장치(미도시)가 전자 장치(200)를 통해 IoT 디바이스(300)에 대한 공격을 수행하는 경우, 통신부(110)는 전자 장치(200)로부터 공격에 대한 알림을 수신할 수 있다.
일 예로, 00시 00분 00초에 인증되지 않은 외부 장치(미도시)가 전자 장치(200)의 네트워크를 통해 IoT 디바이스(300)의 취약점을 스캔 하는 경우, 통신부(110)는 '{네트워크 스캔 공격 탐지, 00:00:00}'라는 알림을 전자 장치(200)로부터 수신할 수 있고, 00시 00분 30초에 인증되지 않은 외부 장치(미도시)가 전자 장치(200)의 네트워크를 통해 버퍼 오버 플로우(BOF, Buffer OverFlow)를 발생시킨 경우, 통신부(110)는 '{버퍼 오버 플로우(BOF, Buffer OverFlow), 00:00:30} 라는 알림을 전자 장치(200)로부터 수신할 수 있다.
한편, 외부 장치(미도시)가 적어도 하나 이상의 단계에 걸쳐 전자 장치(200)를 통해 IoT 디바이스(300)를 공격하는 경우, 통신부(110)는 공격에 대한 알림을 순차적으로 전자 장치(200)로부터 수신할 수 있다. 즉, 통신부(110)는 전자 장치(200)와의 통신을 통해 공격에 대한 알림을 지속적으로 수신할 수 있다.
그리고, 통신부(110)는 악성 코드에 대한 정보를 전자 장치(200)로 전송할 수 있다. 여기에서, 악성 코드에 대한 정보는, 외부 장치(미도시)가 IoT 디바이스(300)에서 실행 또는 IoT 디바이스(300)에 주입하려는 악성 코드의 명칭 및 악성 코드를 방어하기 위한 가이드 정보를 포함할 수 있다. 한편, 악성 코드는 멀웨어(malware, malicious software) 또는 악성 프로그램(malicious Program) 등으로 지칭될 수 있다.
이를 위해, 통신부(110)는 무선 통신 네트워크를 이용하여 전자 장치(200)와 연결될 수 있다. 다만, 이는 일 실시 예일 뿐, 통신부(100)는 근거리 통신(LAN), 광역 통신(WAN) 등 다양한 통신 링크를 통해 전자 장치(200)와 연결될 수 있다.
또한, 통신부(110)는 다양한 유형의 통신 방식에 따라 IoT 디바이스(300)와 통신을 수행하여, 다양한 데이터를 송수신할 수 있다.
예를 들어, 통신부(110)는 IoT 디바이스(300)와 통신을 수행하여 악성 코드에 대한 정보를 IoT 디바이스(300)로 전송할 수도 있다. 전술한 바와 같이, 악성 코드에 대한 정보는, 외부 장치(미도시)가 IoT 디바이스(300)에서 실행 또는 IoT 디바이스(300)에 주입하려는 악성 코드의 명칭 및 악성 코드를 방어하기 위한 가이드 정보를 포함할 수 있다.
이를 위해, 통신부(110)는 무선 통신 네트워크를 이용하여 IoT 디바이스(300)와 연결될 수 있다. 다만, 이는 일 실시 예일 뿐, 통신부(110)는 전자 장치(100)의 네트워크를 통해 IoT 디바이스(300)와 연결될 수도 있다.
또한, 후술하는 바와 같이, 통신부(110)는 무선 통신 네트워크를 이용하여 사용자 단말 장치(미도시)와 연결될 수도 있다. 이 경우, 통신부(110)는 악성 코드에 대한 정보를 사용자 단말 장치(미도시)로 전송할 수 있다.
저장부(120)는 서버(100)의 구성요소의 전반적인 동작을 제어하기 위한 운영체제(Operating System: OS) 및 서버(100)의 구성요소와 관련된 명령 또는 데이터를 저장할 수 있다.
이에 따라, 프로세서(130)는 저장부(120)에 저장된 다양한 명령 또는 데이터 등을 이용하여 서버(100)의 다수의 하드웨어 또는 소프트웨어 구성요소들을 제어할 수 있고, 다른 구성요소들 중 적어도 하나로부터 수신된 명령 또는 데이터를 휘발성 메모리에 로드(load)하여 처리하고, 다양한 데이터를 비휘발성 메모리에 저장(store)할 수 있다.
특히, 저장부(120)는 외부 장치(미도시)로부터 IoT 디바이스(300)가 단계적으로 받는 공격에 대한 시나리오 및 시나리오에 대응되는 악성 코드에 대한 정보를 저장할 수 있다.
예를 들어, 저장부(120)는 A라는 악성 코드를 IoT 디바이스(300)로 주입하기 위해, 외부 장치(미도시)가 제1 스텝으로 IoT 디바이스(300)에 제1 공격을 하고, 제2 스텝으로 IoT 디바이스(300)에 제2 공격을 하며, 제3 스텝으로 IoT 디바이스(300)에 제3 공격을 하는 경우, 제1 내지 제3 스텝을 포함하는 시나리오를 A라는 악성 코드에 대한 정보에 매칭하여 저장할 수 있다.
여기에서, 악성 코드에 대한 정보는 악성코드인 A의 명칭에 대한 정보를 포함할 수 있음은 물론, 악성 코드 A의 IoT 디바이스(300)에서의 실행 또는 악성 코드 A의 IoT 디바이스(300)로의 주입을 방지하기 위한 가이드 정보를 더 포함할 수 있다.
프로세서(130)는 서버(100)의 전반적인 동작을 제어한다.
이를 위해, 프로세서(130)는 CPU(central processing unit), RAM(Random Access Memory) 및 ROM(Read Only Memory)을 포함할 수 있고, 서버(100)에 포함된 다른 구성요소들의 제어에 관한 연산이나 데이터 처리를 실행할 수 있다. 예를 들어, 프로세서(130)는 SoC(System on Chip)로 구현될 수 있다.
프로세서(130)는 전자 장치(200)로부터 적어도 하나 이상의 공격에 대한 알림(alert)을 수신할 수 있다.
구체적으로, 프로세서(130)는 IoT 디바이스(300)가 전자 장치(200)를 통해 외부 장치(미도시)로부터 공격을 받는 경우, 공격에 대한 알림(alert)을 전자 장치(200)로부터 수신할 수 있다. 특히, 프로세서(130)는 IoT 디바이스(300)가 적어도 하나 이상의 단계에 걸친 공격을 받는 경우, 단계별로 받은 공격에 대한 알림(alert)을 전자 장치(200)로부터 수신할 수 있다.
예를 들어, 00시 00분 00초에 인증되지 않은 외부 장치(미도시)가 전자 장치(200)의 네트워크를 통해 IoT 디바이스(300)의 취약점을 스캔 하는 경우, 프로세서(130)는 '{네트워크 스캔 공격 탐지, 00:00:00}'라는 알림을 전자 장치(200)로부터 수신할 수 있고, 00시 00분 30초에 인증되지 않은 외부 장치(미도시)가 전자 장치(200)의 네트워크를 통해 버퍼 오버 플로우(BOF, Buffer OverFlow)를 발생시킨 경우, 프로세서(130)는 '{버퍼 오버 플로우(BOF, Buffer OverFlow), 00:00:30} 라는 알림을 전자 장치(200)로부터 단계별로 수신할 수 있다.
그리고, 프로세서(130)는 기저장된 시나리오에 기초하여 전자 장치(200)로부터 수신된 적어도 하나 이상의 알림에 대응되는 악성 코드에 대한 정보를 판단할 수 있다.
이를 위해, 프로세서(130)는 먼저, 저장부(120)에 저장된 적어도 하나의 시나리오 중에서, 전자 장치(200)로부터 수신된 적어도 하나 이상의 알림에 대응되는 시나리오를 판단할 수 있다.
구체적으로, 프로세서(130)는 전자 장치(200)로부터 적어도 하나 이상의 알림이 수신되면, 적어도 하나 이상의 알림에 포함된 공격이 수행된 시간 정보에 기초하여 IoT 디바이스(300)가 받은 공격의 순서를 판단하고, 기저장된 시나리오 중에서 IoT 디바이스(300)가 받은 공격 순서와 동일한 공격 순서를 갖는 시나리오를 판단할 수 있다.
예를 들어, 외부 장치(미도시)가 제1 시간에 IoT 디바이스(300)에 제1 공격을 하는 경우, 프로세서(130)는 전자 장치(200)로부터 제1 공격에 대한 알림을 수신하고, 외부 장치(미도시)가 제2 시간에 IoT 디바이스(300)에 제2 공격을 하는 경우, 프로세서(130)는 전자 장치(200)로부터 제2 공격에 대한 알림을 수신할 수 있다. 또한, 외부 장치(미도시)가 제3 시간에 IoT 디바이스(300)에 제3 공격을 하는 경우, 프로세서(130)는 전자 장치(200)로부터 제3 공격에 대한 알림을 수신할 수 있다.
이 경우, 프로세서(130)는 제1 내지 제3 알림에 포함된 시간 정보에 기초해서, 외부 장치(미도시)가 IoT 디바이스(300)를 공격한 시간적 순서를 판단할 수 있다.
그리고, 프로세서(130)는 제1 내지 제3 공격이 제1 내지 제3 알림 순서대로 IoT 디바이스(300)를 공격한 것으로 판단되면, 저장부(120)에 저장된 적어도 하나의 시나리오 중에서 제1 내지 제3 공격이 제1 내지 제3 알림 순서대로 수행되는 시나리오를 판단할 수 있다.
이후, 프로세서(130)는 판단한 시나리오에 대응하는 악성 코드에 대한 정보를 판단할 수 있다.
이를 위해, 프로세서(130)는 저장부(120)에 저장된 악성 코드에 대한 정보를 이용할 수 있다. 구체적으로, 프로세서(130)는 악성 코드 별로 매칭하여 저장된 시나리오에 기초해서, 판단한 시나리오에 매칭된 악성 코드에 대한 정보를 판단할 수 있다.
즉, 전술한 실시 예에서, A라는 악성 코드에 대한 정보가 제1 내지 제3 알림을 포함하는 시나리오에 매칭되어 저장부(120)에 저장되어 있는 경우, 프로세서(120)는 제1 내지 제3 알림이 전자 장치(200)로부터 단계적으로 수신되면, 제1 내지 제3 알림을 포함하는 시나리오에 매칭된 A라는 악성 코드에 대한 정보를 판단할 수 있다.
여기에서, 악성 코드에 대한 정보는 외부 장치(미도시)가 IoT 디바이스(300)에서 실행 또는 IoT 디바이스(300)에 주입하려는 악성 코드의 명칭 및 악성 코드를 방어하기 위한 가이드 정보를 포함할 수 있다.
그리고, 프로세서(130)는 악성 코드에 대한 정보를 IoT 디바이스(300)로 전송할 수 있다.
구체적으로, 프로세서(130)는 악성 코드에 대한 정보를 직접적으로 IoT 디바이스(300)로 전송할 수도 있다. 이를 위해, 프로세서(130)는 무선 통신 네트워크, 블루투스 네트워크 및 와이파이 네트워크 등 다양한 네트워크를 이용할 수 있다.
또한, 프로세서(130)는 전자 장치(200)를 통해 악성 코드에 대한 정보를 IoT 디바이스(300)로 전송할 수 있다. 이 경우, 프로세서(130)는 악성 코드에 대한 정보와 함께, 악성 코드에 대한 정보를 IoT 디바이스(300)로 전송할 것을 요구하는 명령이 포함된 신호를 전자 장치(200)로 전송할 수 있다. 이에 따라, 악성 코드에 대한 정보는 전자 장치(200)로부터 IoT 디바이스(300)로 전송될 수 있다.
또한, 프로세서(130)는 악성 코드에 대한 정보를 사용자 단말 장치(미도시)로 전송할 수도 있다.
이와 같이, 본 발명의 일 실시 예에 따른 서버(100)는, 종래의 서버가 단편적으로 공격에 대한 알림을 제공하던 것과 달리, 단계별로 수신한 공격에 대한 알림을 종합적으로 고려하여 공격자가 수행하려는 공격에 대한 정보를 제공할 수 있다.
이에 따라, 보안에 대한 지식이 부족한 일반 사용자의 경우에도, 외부 장치(미도시)가 최종적으로 수행하려는 공격을 파악할 수 있고, 방어 가이드에 따라 공격자의 공격으로부터 IoT 디바이스(300)를 방어할 수 있는 효과가 있다.
도 3a 및 도 3b는 본 발명의 일 실시 예에 따른, 시나리오 및 시나리오에 대응되는 악성 코드에 대한 정보를 설명하기 위한 도면이다.
도 3a 및 도 3b를 참조하면, 본 발명의 일 실시 예에 따른 저장부(120)는 트리 구조로 이루어진 시나리오를 저장할 수 있다. 다만, 이는 설명의 편의를 위한 것일 뿐, 저장부(120)는 다양한 형태로 시나리오를 악성 코드에 대한 정보에 매칭하여 저장할 수 있다.
도 3a는 본 발명의 일 실시 예에 따른, DDOS 공격 시나리오를 설명하기 위한 도면이다.
본 발명의 일 실시 예에 따른 시나리오는, 외부 장치(미도시)가 악성 코드를 IoT 디바이스(300)로 주입하기 위해 순차적으로 실시하는 공격에 대한 정보를 포함할 수 있다. 여기에서, 악성 코드는 DDOS 멀웨어가 될 수 있다.
일반적으로, DDOS 멀웨어를 IoT 디바이스(300)로 주입하기 위해, 외부 장치(미도시)는 IoT 디바이스(300) 주변의 무선 AP를 스캔하고, 스캔된 AP의 IP를 스캔하며, 스캔된 IP의 네트워크, 즉 IoT 디바이스(300)가 연결된 네트워크에 버퍼 오버 플로우 공격을 한 뒤, DDOS 멀웨어를 IoT 디바이스(300)로 주입한다.
이 경우, 프로세서(130)는 외부 장치(미도시)의 공격에 따른 알림을 전자 장치(200)로부터 단계적으로 수신할 수 있다. 구체적으로, 프로세서(130)는 외부 장치(미도시)가 전자 장치(200)의 무선 AP를 스캔하는 경우, 전자 장치(200)로부터 '{무선 AP 스캔 공격 탐지}'라는 제1 알림을 수신할 수 있다. 그리고, 프로세서(130)는 외부 장치(미도시)가 전자 장치(200)의 IP를 스캔하는 경우, 전자 장치(200)로부터 '{IP 스캔 공격 탐지}'라는 제2 알림을 수신할 수 있고, 외부 장치(미도시)가 전자 장치(200)의 네트워크를 통해 버퍼 오버 플로우(BOF, Buffer OverFlow)를 발생시킨 경우, 전자 장치(200)로부터 '{버퍼 오버 플로우(BOF, Buffer OverFlow) 공격 탐지}'라는 제3 알림을 수신할 수 있다. 그리고, 외부 장치(미도시)가 전자 장치(200)의 네트워크를 통해 IoT 디바이스(300)로 멀웨어를 주입하는 경우, 전자 장치(200)로부터 '{멀웨어 주입 탐지}'라는 제4 알림을 수신할 수 있다.
이 경우, 프로세서(130)는 제1 내지 제4 알림에 포함된 시간 정보에 기초해서, 제1 내지 제4 알림 각각에 대응되는 공격이 수행된 순서를 판단할 수 있다.
그리고, 프로세서(130)는 외부 장치(미도시)의 공격이 무선 AP 스캔 공격, IP 스캔 공격, 버퍼 오버 플로우 공격 및 멀웨어 주입 공격의 순서로 이루어진 것으로 판단되면, 저장부(120)에 저장된 적어도 하나의 시나리오 중에서 무선 AP 스캔 공격(311), IP 스캔 공격(312), 버퍼 오버 플로우 공격(313) 및 멀웨어 주입(314) 순서로 이루어진 시나리오를 판단할 수 있다.
이후, 프로세서(130)는 판단한 시나리오에 매칭된 악성 코드에 대한 정보를 판단할 수 있다.
도 3a에 도시된 바와 같이, 상술한 제1 내지 제4 알림에 대응되는 시나리오에는 DDOS 공격과 관련된 정보(315)가 매칭되어 있을 수 있다.
여기에서, DDOS 공격과 관련된 정보에는, 현재 외부 장치(미도시)에 수행되는 공격은 DDOS 공격이라는 정보 및 DDOS 공격을 방어하기 위한 가이드 정보가 포함될 수 있다. 예를 들어, DDOS 공격을 방어하기 위한 가이드 정보는 공격자의 IP를 차단할 것을 가이드 하는 정보 또는 전자 장치(200)의 방화벽 설치를 가이드 하는 정보 등이 될 수 있다.
도 3b는 본 발명의 일 실시 예에 따른, 웹캠 공격 시나리오를 설명하기 위한 도면이다.
본 발명의 일 실시 예에 따른 IoT 디바이스(300)는 웹캠으로 구현될 수 있다. 그런데, 웹캠의 경우 IP 기반으로 설치됨에 따라 외부에서 쉽게 접근이 가능하고, 보안 취약점도 다수 존재하여 최근 공격자의 공격 대상이 되고 있다.
특히, 보안에 무관심한 사용자가 웹캠을 사용함에 있어서, 웹캠의 비밀번호를 기본 비밀번호를 그대로 사용하거나, 간단한 비밀번호로 설정하여 웹캠을 사용함에 따라, 웹캠은 패스워드 전사 공격의 타겟이 되고 있다.
일반적으로, 웹캠 공격을 하기 위해, 외부 장치(미도시)는 웹캠 주변의 무선 AP를 스캔하고, 스캔된 AP의 IP를 스캔하며, 스캔된 IP에 패스워드(Password) 전사 공격을 수행하여 웹캠의 비밀번호를 취득할 수 있다.
이 경우, 프로세서(130)는 외부 장치(미도시)의 공격에 따른 알림을 전자 장치(200)로부터 단계적으로 수신할 수 있다. 구체적으로, 프로세서(130)는 외부 장치(미도시)가 전자 장치(200)의 무선 AP를 스캔하는 경우, 전자 장치(200)로부터 '{무선 AP 스캔 공격 탐지}'라는 제1 알림을 수신할 수 있다. 그리고, 프로세서(130)는 외부 장치(미도시)가 전자 장치(200)의 IP를 스캔하는 경우, 전자 장치(200)로부터 '{IP 스캔 공격 탐지}'라는 제2 알림을 수신할 수 있고, 외부 장치(미도시)가 전자 장치(200)의 네트워크를 통해 패스워드(Password) 전사 공격을 하는 경우, 전자 장치(200)로부터 '{패스워드 전사 공격 탐지}'라는 제3 알림을 수신할 수 있다.
이 경우, 프로세서(130)는 제1 내지 제3 알림에 포함된 시간 정보에 기초해서, 제1 내지 제3 알림 각각에 대응되는 공격이 수행된 순서를 판단할 수 있다.
그리고, 프로세서(130)는 외부 장치(미도시)의 공격이 무선 AP 스캔 공격, IP 스캔 공격 및 패스워드 전사 공격 순서로 이루어진 것으로 판단되면, 저장부(120)에 저장된 적어도 하나의 시나리오 중에서 무선 AP 스캔 공격(321), IP 스캔 공격(322) 및 패스워드 전사 공격(313) 순서로 이루어진 시나리오를 판단할 수 있다.
이후, 프로세서(130)는 판단한 시나리오에 매칭된 악성 코드에 대한 정보를 판단할 수 있다.
도 3b에 도시된 바와 같이, 상술한 제1 내지 제3 알림에 대응되는 시나리오에는 웹캠 공격과 관련된 정보가 매칭되어 있을 수 있다.
여기에서, 웹캠 공격과 관련된 정보에는, 현재 외부 장치(미도시)에 수행되는 공격은 웹캠 공격이라는 정보 및 웹캠 공격을 방어하기 위한 가이드 정보가 포함될 수 있다. 예를 들어, 웹캠 공격을 방어하기 위한 가이드 정보는 공격자의 IP를 차단할 것을 가이드 하는 정보 또는 전자 장치(200)의 방화벽 설치를 가이드 하는 정보 등이 될 수 있다.
한편, 프로세서(130)는 판단한 악성 코드에 대한 정보를 IoT 디바이스(300) 및 사용자 단말 장치 중 적어도 하나로 전송할 수 있다. 이하, 도 4 및 도 5를 참조하여 설명한다.
도 4 및 도 5는 본 발명의 일 실시 예에 따른 악성 코드에 대한 정보의 전송 대상 및 악성 코드에 대한 정보에 대응되는 UI를 설명하기 위한 도면이다.
프로세서(130)는 전술한 바와 같이, 기저장된 시나리오에 기초해서, 전자 장치(200)로부터 수신된 복수의 알림에 대응되는 악성 코드에 대한 정보를 판단할 수 있다.
그리고, 프로세서(130)는 판단한 악성 코드에 대한 정보의 전송 대상을 결정할 수 있다.
구체적으로, 프로세서(130)는 IoT 디바이스(300)가 악성 코드에 대한 정보를 표시하기 위한 디스플레이를 포함하고 있는지에 기초해서, 악성 코드에 대한 정보의 전송 대상을 결정할 수 있다.
이를 위해, 프로세서(130)는 먼저 IoT 디바이스(300)가 악성 코드에 대한 정보를 표시하기 위한 디스플레이를 포함하고 있는지를 판단할 수 있다.
구체적으로, 프로세서(130)는 기저장된 IoT 디바이스(300)의 기기 정보에 기초해서 IoT 디바이스(300)가 디스플레이를 포함하고 있는지 여부를 판단할 수 있다. 여기에서, 기기 정보에는 IoT 디바이스(300)의 식별 정보가 포함될 수 있고, 식별 정보에는 IoT 디바이스(300)의 디스플레이 구비 여부에 대한 정보가 매칭되어 있을 수 있다.
그리고, 프로세서(130)는 IoT 디바이스(300)가 악성 코드에 대한 정보를 표시하기 위한 디스플레이를 포함하고 있는 것으로 판단되면, 악성 코드에 대한 정보를 IoT 디바이스(300)로 전송할 수 있다.
예를 들어, 도 4a 및 도 4b를 참조하면, IoT 디바이스(300)가 모니터를 구비한 컴퓨터(300-1)로 구현되는 경우, 프로세서(130)는 판단한 악성 코드에 대한 정보를 IoT 디바이스(300)로 전송할 수 있다.
그리고, IoT 디바이스(300-1)는 악성 코드에 대한 정보가 수신되면, 수신된 악성 코드에 대응되는 UI를 디스플레이에 표시할 수 있다. 여기에서, 악성 코드에 대한 정보는 악성 코드의 명칭 및 악성 코드를 방어하기 위한 가이드 정보가 포함될 수 있다.
한편, 악성 코드에 대응되는 UI는 IoT 디바이스(300-1)의 방어 모드에 따라 상이할 수 있다.
구체적으로, IoT 디바이스(300-1)가 자동 방어 모드로 설정된 경우, IoT 디바이스(300-1)는 서버(100)로부터 수신한 가이드 정보에 따라 자동으로 방어를 수행한다는 UI를 표시할 수 있다.
예를 들어, 도 4a를 참조하면, 외부 장치(미도시)가 DDOS 공격을 수행 중인 경우, IoT 디바이스(300-1)는 수신한 악성 코드에 대한 정보에 기초해서, "DDOS Malware 주입 공격이 진행 중입니다", "방어를 위해 자동으로 공격자의 IP를 차단합니다"와 같은 UI를 디스플레이에 표시할 수 있다.
이후, IoT 디바이스(300-1)는 서버(100)로부터 수신한 가이드 정보에 따라 자동으로 방어 동작을 수행할 수 있다.
한편, IoT 디바이스(300-1)가 자동 방어 모드로 설정되어 있지 않은 경우, IoT 디바이스(300-1)는 가이드 정보에 따라 방어를 수행할 것인지에 대한 사용자 선택을 요구하는 UI를 표시할 수 있다.
예를 들어, 도 4b를 참조하면, 외부 장치(미도시)가 DDOS 공격을 수행 중인 경우, IoT 디바이스(300-1)는 수신한 악성 코드에 대한 정보에 기초해서, "DDOS Malware 주입 공격이 진행 중입니다", "방어를 위해 공격자의 IP를 차단하시겠습니까", "YES?, "NO" 와 같은 UI를 디스플레이에 표시할 수 있다.
이후, 사용자 명령에 따라 "YES"가 선택되면, IoT 디바이스(300-1)는 가이드 정보에 따라 방어를 위한 동작을 수행할 수 있다.
한편, 도 4a 및 도 4b에서는 전자 장치(200)를 통해 IoT 디바이스(300-1)가 악성 코드에 대한 정보를 수신하는 것으로 도시하였으나, 전술한 바와 같이, 프로세서(130)는 악성 코드에 대한 정보를 직접적으로 IoT 디바이스(300-1)로 전송할 수도 있음은 물론이다.
또한, 여기서는 IoT 디바이스(300)가 디스플레이를 포함하고 있는 경우, 악성 코드에 대한 정보를 IoT 디바이스(300)로 전송하는 것으로 설명하였으나, 프로세서(130)는 악성 코드에 대한 정보를 사용자 단말 장치로 전송할 수도 있고, IoT 디바이스(300) 및 사용자 단말 장치 모두에 악성 코드에 대한 정보를 전송할 수도 있다.
한편, 프로세서(130)는 IoT 디바이스(300)가 악성 코드에 대한 정보를 표시하기 위한 디스플레이를 포함하지 않은 것으로 판단되면, 악성 코드에 대한 정보를 사용자 단말 장치로 전송할 수 있다.
예를 들어, 도 5a 및 도 5b를 참조하면, IoT 디바이스(300)가 디스플레이를 구비하지 않은 웹캠(300-2)로 구현되는 경우, 프로세서(130)는 판단한 악성 코드에 대한 정보를 사용자 단말 장치(400)로 전송할 수 있다.
그리고, 사용자 단말 장치(400)는 악성 코드에 대한 정보가 수신되면, 수신한 악성 코드에 대응되는 UI를 디스플레이에 표시할 수 있다. 여기에서, 악성 코드에 대한 정보는 악성 코드의 명칭 및 악성 코드를 방어하기 위한 가이드 정보가 포함될 수 있다.
한편, 전술한 바와 같이, 악성 코드에 대응되는 UI는 IoT 디바이스(300-2)의 방어 모드에 따라 상이할 수 있다.
구체적으로, IoT 디바이스(300-1)가 자동 방어 모드로 설정된 경우, 사용자 단말 장치(400)는 서버(100)로부터 수신한 가이드 정보에 따라 자동으로 IoT 디바이스(300-1)의 방어를 수행한다는 UI를 표시할 수 있다.
예를 들어, 도 5a를 참조하면, 외부 장치(미도시)가 웹캠 해킹을 위해 패스워드 전사 공격을 수행 중인 경우, 사용자 단말 장치(400)는 수신한 악성 코드에 대한 정보에 기초해서, "웹캠 해킹이 진행 중입니다", "방어를 위해 자동으로 웹캠에 연결된 공격자의 IP를 차단합니다"와 같은 UI를 디스플레이에 표시할 수 있다.
이후, 사용자 단말 장치(400)는 서버(100)로부터 수신한 가이드 정보에 따라 자동으로 방어 동작을 수행할 수 있다.
반면, IoT 디바이스(300-1)가 자동 방어 모드로 설정되어 있지 않은 경우, 사용자 단말 장치(400)는 가이드 정보에 따라 방어를 수행할 것인지에 대한 사용자 선택을 요구하는 UI를 표시할 수 있다.
예를 들어, 도 5b를 참조하면, 외부 장치(미도시)가 웹캠 해킹을 위해 패스워드 전사 공격을 수행 중인 경우, 사용자 단말 장치(400)는 수신한 악성 코드에 대한 정보에 기초해서, "웹캠 해킹이 진행 중입니다", "방어를 위해 웹캠에 연결된 공격자의 IP를 차단하시겠습니까" “YES", "NO" 와 같은 UI를 디스플레이에 표시할 수 있다.
이후, 사용자 명령에 따라 "YES"가 선택되면, 사용자 단말 장치(400)는 가이드 정보에 따라 방어를 위한 동작을 수행할 수 있다.
이에 따라, 사용자는 IoT 디바이스(300)가 디스플레이를 구비하지 않은 경우에도, 사용자 단말 장치(400)를 통해 외부 장치(미도시)의 공격이 있음을 인지하고, 외부 장치(미도시)의 공격을 용이하게 방어할 수 있다.
한편, 여기서는 IoT 디바이스(300)가 디스플레이를 포함하고 있지 않은 경우, 악성 코드에 대한 정보를 사용자 단말 장치(400)로 전송하는 것으로 설명하였으나, 프로세서(130)는 악성 코드에 대한 정보를 IoT 디바이스(300)로 전송할 수도 있다.
이 경우, 프로세서(130)는 IoT 디바이스(300)의 스피커를 통해 공격자의 공격이 수행되고 있음을 출력하도록 하는 명령이 포함된 악성 코드에 대한 정보를 IoT 디바이스(300)로 전송하거나, IoT 디바이스(300)의 LED 깜빡임 등을 통해 공격자의 공격이 수행되고 있음을 표시하도록 하는 명령이 포함된 악성 코드에 대한 정보를 IoT 디바이스(300)로 전송할 수 있다. 또한, 프로세서(130)는 자동으로 공격자의 IP를 차단하도록 하는 명령이 포함된 악성 코드에 대한 정보를 IoT 디바이스(300)로 전송할 수 있다.
도 6은 본 발명의 일 실시 예에 따른 악성 코드 방지 시스템의 동작 방법을 설명하기 위한 흐름도이다.
먼저, 전자 장치(200)는 IoT 디바이스(300)의 보안 취약점을 탐지(S610)할 수 있다. 이를 위해, 전자 장치(200)는 취약점 스캔 모듈을 포함할 수 있다.
구체적으로, 전자 장치(200)는 취약점 스캔 모듈을 통해 외부 장치(500)가 IoT 디바이스(300)의 데이터에 액세스할 수 있는 상태인지를 탐지할 수 있고, 외부 장치(500)가 IoT 디바이스(300)에 악성 코드를 주입할 수 있는 상태인지 등을 탐지할 수 있다.
그리고, 전자 장치(200)는 탐지된 보안 취약점을 서버(100)로 전송(S620)할 수 있다. 이 경우, 서버(100)는 전자 장치(200)로부터 수신한 IoT 디바이스(300)의 보안 취약점을 저장할 수 있다.
이후, 외부 장치(500)로부터 IoT 디바이스(300)가 공격(S630)을 받는 경우, 전자 장치(200)는 외부 장치(500)의 공격을 탐지할 수 있다.
일 예로, 전자 장치(200)는 외부 장치(500)가 전자 장치(200)의 네트워크를 통해 IoT 디바이스(300)의 취약점을 스캔 하는 경우 또는 외부 장치(500)가 전자 장치(200)의 네트워크를 통해 버퍼 오버 플로우(BOF, Buffer OverFlow)를 발생시킨 경우 등을 외부 장치(500)의 공격으로 탐지할 수 있다.
그리고, 전자 장치(200)는 공격에 대한 알림을 서버(100)로 전송(S640)할 수 있다.
이때, 적어도 하나 이상의 단계에 걸쳐서 IoT 디바이스(300)가 외부 장치(500)로부터 공격을 받는 경우, 전자 장치(200)는 단계별로 받은 공격에 대한 알림을 서버(100)로 전송할 수 있다.
즉, 도 6에서는 설명의 편의를 위해 하나의 공격만을 도시하였으나, 외부 장치(500)가 복수의 단계에 걸쳐 IoT 디바이스(300)를 공격하는 경우, 전자 장치(200)는 단계별로 받은 공격에 대한 복수의 알림을 서버(100)로 전송할 수 있다.
서버(100)는 기저장된 시나리오 중에서, 전자 장치(200)로부터 수신된 적어도 하나 이상의 알림에 대응되는 시나리오를 판단(S650)할 수 있다.
구체적으로, 서버(100)는 전자 장치(200)로부터 적어도 하나 이상의 알림이 수신되면, 적어도 하나 이상의 알림에 포함된 공격이 수행된 시간 정보에 기초하여 IoT 디바이스(300)가 받은 공격의 순서를 판단하고, 기저장된 시나리오 중에서 IoT 디바이스(300)가 받은 공격 순서와 동일한 공격 순서를 갖는 시나리오를 판단할 수 있다.
그리고, 서버(100)는 판단한 시나리오에 매칭된 악성 코드에 대한 정보를 판단하고, 악성 코드에 대한 정보를 IoT 디바이스 또는 사용자 단말 장치(400)로 전송(S660)할 수 있다. 여기에서, 악성 코드에 대한 정보는, 외부 장치(500)가 IoT 디바이스(300)에서 실행 또는 IoT 디바이스(300)에 주입하려는 악성 코드의 명칭 및 악성 코드를 방어하기 위한 가이드 정보를 포함할 수 있다.
한편, 본 발명의 일 실시 예에 따른 서버(100)는 IoT 디바이스(300)가 받은 적어도 하나 이상의 단계에 걸친 공격 중 적어도 하나의 공격이 보안 취약점을 이용한 공격에 해당하는 경우, 악성 코드에 대한 정보를 IoT 디바이스 또는 사용자 단말 장치(400)로 전송할 수 있다.
이는, 외부 장치(미도시)가 IoT 디바이스(300)를 공격하는 경우가 아님에도, 공격으로 판단하는 등의 오탐을 방지하기 위함이다. 즉, 공격은 일반적으로 IoT 디바이스(300)의 보안 취약점을 통해 수행된다는 점을 반영한 것이다.
이를 위해, 서버(100)는 외부 장치(500)의 공격 중에서 IoT 디바이스(300)의 보안 취약점을 이용한 공격이 있는지를 판단할 수 있다. 구체적으로, 서버(100)는 전자 장치(200)로부터 수신한 IoT 디바이스(300)의 보안 취약점을 이용하여, 외부 장치(500)의 공격 중에서 IoT 디바이스(300)의 보안 취약점을 이용한 공격이 있는지를 판단할 수 있다.
이후, IoT 디바이스 또는 사용자 단말 장치(400)를 통해 악성 코드를 방어하기 위한 사용자 명령이 입력되면, IoT 디바이스 또는 사용자 단말 장치(400)는 악성 코드를 방어할 것을 요구하는 신호를 전자 장치(200)로 전송(S670)할 수 있다. 여기에서, 악성 코드를 방어할 것을 요구하는 신호에는 외부 장치(500)의 IP를 차단할 것을 요구하는 명령, 전자 장치(200)의 특정 포트를 차단할 것을 요구하는 명령 등이 포함될 수 있다.
그리고, 전자 장치(200)는 수신한 신호에 기초해서 방어 동작을 수행(S680)할 수 있고, 이에 따라 외부 장치(500)가 전자 장치(200)를 통해 IoT 디바이스(300)를 공격하는 것을 방어할 수 있다.
이와 같이, 본 발명의 일 실시 예에 따른 악성 코드 방지 시스템은 종래의 서버가 단편적으로 공격에 대한 알림을 제공하던 것과 달리, 단계별로 수신한 공격에 대한 알림을 종합적으로 고려하여 공격자가 수행하려는 공격에 대한 정보를 제공할 수 있다.
이에 따라, 보안에 대한 지식이 부족한 일반 사용자의 경우에도, 외부 장치(500)가 최종적으로 수행하려는 공격을 파악할 수 있고, 방어 가이드에 따라 공격자의 공격으로부터 IoT 디바이스(300)를 방어할 수 있는 효과가 있다.
또한, 본 발명의 일 실시 예에 따른 악성 코드 방지 시스템은 악성 코드에 대한 정보를 사용자 단말 장치(400)로 전송함으로써, 사용자는 사용자 단말 장치(400)를 통해 용이하게 IoT 디바이스(300)를 공격으로부터 방어할 수 있는 효과가 있다.
도 7은 본 발명의 일 실시 예에 따른 서버에 IoT 디바이스가 받은 공격 순서와 동일한 공격 순서를 갖는 시나리오가 존재하지 않는 경우, 서버의 동작 방법을 설명하기 위한 도면이다.
서버(100)는 전자 장치(200)로부터 공격에 대한 알림을 수신(S710)할 수 있다. 특히, 서버(100)는 외부 장치(미도시)가 적어도 하나 이상의 단계에 걸쳐 IoT 디바이스(300)를 공격하는 경우, 적어도 하나 이상의 알림을 순차적으로 수신할 수 있다.
그리고, 서버(100)는 기저장된 시나리오 중에서, IoT 디바이스(300)가 받은 공격 순서와 동일한 공격 순서를 갖는 시나리오를 판단할 수 있다.
그런데, 경우에 따라 서버(100)는 IoT 디바이스(300)가 받은 공격 순서와 동일한 공격 순서를 갖는 시나리오를 저장하고 있지 않을 수 있다. 새로운 악성 코드의 등장 등의 경우에 그러하다.
이 경우, 서버(100)는 기저장된 시나리오 중에서 IoT 디바이스(300)가 받은 공격과 기설정된 임계 값 이상의 일치도를 갖는 시나리오를 판단(S720)할 수 있다. 여기에서, 기설정된 임계 값은 사용자 명령에 따라 다양하게 설정될 수 있다. 가령, 기설정된 임계 값은 80%로 설정될 수 있다.
예를 들어, 외부 장치(미도시)가 제1 내지 제5 공격을 순차적으로 수행하고, 기저장된 시나리오에 이와 동일한 공격 순서를 갖는 시나리오가 존재하지 않는 경우, 서버(100)는 기저장된 시나리오 중에서 제1 내지 제5 공격과 80%이상 일치하는 시나리오를 판단할 수 있다. 가령, 판단된 시나리오는 제1 내지 제3 공격, 제4' 공격 및 제5 공격으로 이루어진 시나리오가 될 수 있다. 또는 판단된 시나리오는 제1 내지 제4 공격으로 이루어진 시나리오가 될 수도 있다.
그리고, 서버(100)는 판단된 시나리오에 매칭된 악성 코드와 관련된 정보를 판단하고, 이를 IoT 디바이스(300)로 전송(S730)할 수 있다.
한편, 서버(100)는 기저장된 시나리오 중에서 IoT 디바이스(300)가 받은 공격과 기설정된 임계 값 이상의 일치도를 갖는 시나리오가 없는 것으로 판단되면, 디폴트된 가이드 정보를 IoT 디바이스(300)로 전송(S740)할 수 있다.
여기에서, 디폴트된 가이드 정보는 외부 장치(미도시)와의 네트워크 연결을 차단할 것을 요청하는 가이드 정보가 될 수 있다.
이는, 서버(100)의 저장부(120)에는 IoT 디바이스(300)가 받은 공격과 기설정된 임계 값 이상의 일치도를 갖는 시나리오가 저장되어 있지 않다는 점에서, 외부 장치(미도시)의 공격을 방어하기 위한 적절한 방어 수단 역시 저장부(120)에 저장되어 있지 않음을 반영한 것이다.
한편, 여기서는 기저장된 시나리오에 IoT 디바이스(300)가 받은 공격과 기설정된 임계 값 이상의 일치도를 갖는 시나리오가 존재하는지에 기초해서, 시나리오에 매칭된 악성 코드에 대한 정보를 IoT 디바이스(300)로 전송하거나, 디폴트된 가이드 정보를 IoT 디바이스(300)로 전송하는 것으로 설명하였다.
그러나, 이는 일 실시 예일 뿐, 서버(100)는 기설정된 임계 값과 상관 없이, 기저장된 시나리오에 IoT 디바이스(300)가 받은 공격과 일치하는 시나리오가 없으면, 디폴트된 가이드 정보를 IoT 디바이스(300)로 전송할 수도 있다.
구체적으로, 외부 장치(미도시)가 기저장된 시나리오와 일치하는 시나리오로 IoT 디바이스(300)를 공격하는 경우, 가이드 정보는 시나리오에 매칭된 악성 코드를 방어하기 위한 정보가 될 수 있다. 즉, 가이드 정보는 외부 장치(미도시)의 공격이 어떠한 시나리오에 해당하는지에 따라 달라질 수 있다.
이에 반해, 외부 장치(미도시)가 기저장된 시나리오와 일치하지 않는 시나리오로 IoT 디바이스(300)를 공격하는 경우(이 경우, 기설정된 임계 값 이상 일치하는 시나리오로 외부 장치(미도시)가 IoT 디바이스(300)를 공격하는 경우를 포함한다.), 가이드 정보는 외부 장치(미도시)와의 네트워크 연결을 차단할 것을 요청하는 가이드 정보가 될 수 있다. 즉, 가이드 정보는 디폴트된 정보가 될 수 있다.
즉, 본 발명의 일 실시 예에 따른 서버(100)는 기저장된 시나리오와 일치하지 않는 시나리오로 외부 장치(미도시)가 IoT 디바이스(300)를 공격하는 경우에는, 원천적으로 외부 장치(미도시)와 IoT 디바이스(300)간의 연결을 차단할 수 있다.
한편, 본 발명의 일 실시 예에 따른 서버(100)는 IoT 디바이스(300)가 받은 공격 순서와 동일한 공격 순서를 갖는 시나리오가 저장되어 있지 않은 경우, 저장부(120)에 저장된 시나리오를 업데이트 할 수 있다.
구체적으로, 서버(100)는 사용자 명령에 따라 입력된 악성 코드에 대한 정보를 IoT 디바이스(300)가 받은 공격 순서에 대응되는 시나리오에 매칭시켜 저장부(120)에 저장할 수 있다.
이에 따라, 서버(100)는 업데이트 된 시나리오에 기초해서, 외부 장치(미도시의 IoT 디바이스(300)에 대한 다양한 공격을 방어할 수 있다.
도 8은 본 발명의 일 실시 예에 따른 IoT 디바이스를 설명하기 위한 블록도이다.
이하에서는, 상술한 설명과 중복되는 부분은 그 설명을 생략하거나 축약하여 설명한다.
도 7을 참조하면, 본 발명의 일 실시 예에 따른 IoT 디바이스(300)는 디스플레이(310), 통신부(320) 및 프로세서(330)를 포함할 수 있다.
디스플레이(310)는 다양한 화면을 표시할 수 있다. 예를 들어, IoT 디바이스(300)가 컴퓨터(300-1)로 구현되는 경우, 디스플레이(310)는 장치 제어를 위한 화면을 표시할 수 있고, IoT 디바이스(300)가 냉장고(300-3)로 구현되는 경우, 디스플레이(310)는 냉장고에 저장된 식품과 관련된 정보 등을 표시할 수 있다.
특히, 디스플레이(310)는 서버(100)로부터 수신한 악성 코드에 대한 정보를 표시할 수 있다. 여기에서, 악성 코드에 대한 정보는 외부 장치(미도시)가 IoT 디바이스(300)에서 실행 또는 IoT 디바이스(300)에 주입하려는 악성 코드의 명칭 및 악성 코드를 방어하기 위한 가이드 정보를 포함할 수 있다.
이와 같은 디스플레이(310)는 LCD(Liquid Crystal Display Panel), OLED(Organic Light Emitting Diodes), LCoS(Liquid Crystal on Silicon), DLP(Digital Light Processing) 등과 같은 다양한 형태의 디스플레이로 구현될 수 있다. 또한, 디스플레이(310) 내에는 a-si TFT, LTPS(low temperature poly silicon) TFT, OTFT(organic TFT) 등과 같은 형태로 구현될 수 있는 구동 회로, 백라이트 유닛 등도 함께 포함될 수 있다.
통신부(320)는 서버(100)와 통신을 수행하여 다양한 데이터를 송수신 할 수 있다.
구체적으로, 통신부(320)는 무선 통신 네트워크를 이용하여 서버(100)와 연결될 수 있다. 여기에서, 무선 통신의 방식은 LTE(long-term evolution), LTE-A(LTE Advance), CDMA(code division multiple access), WCDMA(wideband CDMA), UMTS(universal mobile telecommunications system), WiBro(Wireless Broadband), 또는 GSM(Global System for Mobile Communications) 등 중 적어도 하나가 될 수 있다. 다만, 이는 일 실시 예일 뿐, 통신부(320)는 근거리 통신(LAN), 광역 통신(WAN) 등 다양한 통신 링크를 통해 서버(100)와 연결될 수 있다.
이에 따라, 통신부(320)는 서버(100)와 통신을 수행하여 악성 코드에 대한 정보를 수신할 수 있다. 여기에서, 악성 코드에 대한 정보는 외부 장치(미도시)가 IoT 디바이스(300)에서 실행 또는 IoT 디바이스(300)에 주입하려는 악성 코드의 명칭 및 악성 코드를 방어하기 위한 가이드 정보를 포함할 수 있다.
또한, 통신부(320)는 전자 장치(200)와 통신을 수행하여 다양한 데이터를 송수신 할 수 있다.
구체적으로, 통신부(320)는 무선 통신 네트워크를 이용하여 전자 자치(200)와 연결될 수 있다. 다만, 이는 일 실시 예일 뿐, 통신부(320)는 블루투스(Bluetooth) 네트워크, 와이파이(Wi-Fi) 네트워크, ZigBee 네트워크 및 NFC(Near Field Communication) 네트워크 등의 다양한 네트워크를 이용하여 전자 장치(200)와 연결될 수 있다.
이에 따라, 통신부(320)는 전자 장치(200)와 통신을 수행하여 악성 코드에 대한 정보를 수신할 수 있다. 여기에서, 악성 코드에 대한 정보는 전술한 바와 같이 서버(100)가 전자 장치(200)로 전송한 것이 될 수 있다.
프로세서(330)는 IoT 디바이스(300)의 전반적인 동작을 제어한다.
이를 위해, 프로세서(330)는 CPU(central processing unit), RAM(Random Access Memory) 및 ROM(Read Only Memory)을 포함할 수 있고, IoT 디바이스(300)에 포함된 다른 구성요소들의 제어에 관한 연산이나 데이터 처리를 실행할 수 있다. 예를 들어, 프로세서(330)는 SoC(System on Chip)로 구현될 수 있다.
프로세서(330)는 IoT 디바이스(300)가 전자 장치(200)를 통해 외부 장치(미도시)로부터 적어도 하나 이상의 단계에 걸친 공격을 받는 경우, 전자 장치(200)로부터 적어도 하나 이상의 단계에 걸친 공격에 대응되는 악성 코드에 대한 정보를 수신할 수 있다.
즉, 프로세서(330)는 전자 장치(200)의 네트워크를 통해서 외부 장치(미도시)가 IoT 디바이스(300)를 적어도 하나 이상의 단계에 걸쳐 공격을 하는 경우, 전자 장치(200)로부터 개개의 공격에 대한 단편적인 악성 코드 정보를 수신하는 것이 아니라, 적어도 하나 이상의 단계에 걸친 공격에 대응되는 악성 코드에 대한 정보를 수신할 수 있다.
여기에서, 악성 코드에 대한 정보는 적어도 하나 이상의 공격 및 적어도 하나 이상의 단계에 걸친 공격의 순서에 기초하여 생성되는 정보가 될 수 있다.
예를 들어, 외부 장치(미도시)가 IoT 디바이스(300)에 제1 내지 제3 공격을 하고, 제1 내지 제3 공격이 순차적으로 이루어진 경우, 악성 코드에 대한 정보는 제1 내지 제3 공격 및 제1 내지 제3 공격의 순서에 기초해서 생성될 수 있다.
그리고, 프로세서(330)는 수신한 악성 코드에 대한 정보를 디스플레이(310)를 통해 디스플레이 할 수 있다.
한편, 악성 코드에 대한 정보는 적어도 하나 이상의 단계에 걸친 공격에 대응되는 악성 코드의 명칭, 외부 장치(미도시)가 순차적으로 실시한 공격 및 그 공격의 순서에 대한 정보 및 악성 코드를 방어하기 위한 가이드 정보 중 적어도 하나를 포함할 수 있다.
그리고, 프로세서(330)는 가이드 정보에 따라 악성 코드를 방어하기 위한 사용자 명령이 입력되면, 가이드 정보에 대응되는 방어 동작을 수행할 수 있다. 여기에서, 가이드 정보는 외부 장치(미도시)의 IP 차단 등이 될 수 있다.
도 9는 본 발명의 일 실시 예에 따른 사용자 단말 장치를 설명하기 위한 블록도이다.
도 8을 참조하면, 본 발명의 일 실시 예에 따른 사용자 단말 장치(400)는 디스플레이(410), 통신부(420) 및 프로세서(430)를 포함할 수 있다.
디스플레이(410)는 다양한 화면을 표시할 수 있다. 예를 들어, IoT 디바이스(300)가 웹캠(300-2)으로 구현되는 경우, 디스플레이(410)는 웹캠 제어를 위한 화면을 표시할 수 있고, IoT 디바이스(300)가 냉장고(300-3)로 구현되는 경우, 디스플레이(410)는 냉장고에 저장된 식품과 관련된 정보 등을 표시할 수 있다.
특히, 디스플레이(410)는 서버(100)로부터 수신한 악성 코드에 대한 정보를 표시할 수 있다. 여기에서, 악성 코드에 대한 정보는 외부 장치(미도시)가 IoT 디바이스(300)에서 실행 또는 IoT 디바이스(300)에 주입하려는 악성 코드의 명칭 및 악성 코드를 방어하기 위한 가이드 정보를 포함할 수 있다.
이와 같은 디스플레이(410)는 LCD(Liquid Crystal Display Panel), OLED(Organic Light Emitting Diodes), LCoS(Liquid Crystal on Silicon), DLP(Digital Light Processing) 등과 같은 다양한 형태의 디스플레이로 구현될 수 있다.
통신부(420)는 서버(100)와 통신을 수행하여 다양한 데이터를 송수신 할 수 있다.
구체적으로, 통신부(420)는 무선 통신 네트워크를 이용하여 서버(100)와 연결될 수 있다. 여기에서, 무선 통신의 방식은 LTE(long-term evolution), LTE-A(LTE Advance), CDMA(code division multiple access), WCDMA(wideband CDMA), UMTS(universal mobile telecommunications system), WiBro(Wireless Broadband), 또는 GSM(Global System for Mobile Communications) 등 중 적어도 하나가 될 수 있다.
이에 따라, 통신부(420)는 서버(100)와 통신을 수행하여 악성 코드에 대한 정보를 수신할 수 있다. 여기에서, 악성 코드에 대한 정보는 외부 장치(미도시)가 IoT 디바이스(300)에서 실행 또는 IoT 디바이스(300)에 주입하려는 악성 코드의 명칭 및 악성 코드를 방어하기 위한 가이드 정보를 포함할 수 있다.
또한, 통신부(420)는 전자 장치(200)와 통신을 수행하여 다양한 데이터를 송수신 할 수 있다.
구체적으로, 통신부(420)는 무선 통신 네트워크를 이용하여 전자 자치(200)와 연결될 수 있다. 다만, 이는 일 실시 예일 뿐, 통신부(320)는 블루투스(Bluetooth) 네트워크, 와이파이(Wi-Fi) 네트워크, ZigBee 네트워크 및 NFC(Near Field Communication) 네트워크 등의 다양한 네트워크를 이용하여 전자 장치(200)와 연결될 수 있다.
이에 따라, 통신부(420)는 전자 장치(200)와 통신을 수행하여 악성 코드에 대한 정보를 수신할 수 있다. 여기에서, 악성 코드에 대한 정보는 서버(100)가 전자 장치(200)로 전송한 것이 될 수 있다.
프로세서(430)는 사용자 단말 장치(400)의 전반적인 동작을 제어한다.
이를 위해, 프로세서(430)는 CPU(central processing unit), RAM(Random Access Memory) 및 ROM(Read Only Memory)을 포함할 수 있고, IoT 디바이스(300)에 포함된 다른 구성요소들의 제어에 관한 연산이나 데이터 처리를 실행할 수 있다.
프로세서(430)는 IoT 디바이스(300)가 전자 장치(200)를 통해 외부 장치(미도시)로부터 적어도 하나 이상의 단계에 걸친 공격을 받는 경우, 서버(100)로부터 적어도 하나 이상의 단계에 걸친 공격에 대응되는 악성 코드에 대한 정보를 수신할 수 있다.
즉, 프로세서(430)는 전자 장치(200)의 네트워크를 통해서 외부 장치(미도시)가 IoT 디바이스(300)를 적어도 하나 이상의 단계에 걸쳐 공격을 하는 경우, 서버(100)로부터 개개의 공격에 대한 단편적인 악성 코드 정보를 수신하는 것이 아니라, 적어도 하나 이상의 단계에 걸친 공격에 대응되는 악성 코드에 대한 정보를 수신할 수 있다.
여기에서, 악성 코드에 대한 정보는 적어도 하나 이상의 공격 및 적어도 하나 이상의 단계에 걸친 공격의 순서에 기초하여 생성되는 정보가 될 수 있다.
예를 들어, 외부 장치(미도시)가 IoT 디바이스(300)에 제1 내지 제3 공격을 하고, 제1 내지 제3 공격이 순차적으로 이루어진 경우, 악성 코드에 대한 정보는 제1 내지 제3 공격 및 제1 내지 제3 공격의 순서에 기초해서 생성될 수 있다.
그리고, 프로세서(430)는 수신한 악성 코드에 대한 정보를 디스플레이(410)를 통해 디스플레이 할 수 있다.
한편, 악성 코드에 대한 정보는 적어도 하나 이상의 단계에 걸친 공격에 대응되는 악성 코드의 명칭, 외부 장치(미도시)가 순차적으로 실시한 공격 및 그 공격의 순서에 대한 정보 및 악성 코드를 방어하기 위한 가이드 정보 중 적어도 하나를 포함할 수 있다.
그리고, 프로세서(430)는 가이드 정보에 따라 악성 코드를 방어하기 위한 사용자 명령이 입력되면, 가이드 정보에 대응되는 방어 동작을 수행할 수 있다. 여기에서, 가이드 정보는 외부 장치(미도시)의 IP 차단 등이 될 수 있다.
도 10은 본 발명의 일 실시 예에 따른 서버의 동작을 설명하기 위한 흐름도이다.
본 발명의 일 실시 예에 따른 서버는, IoT 디바이스가 전자 장치를 통해 외부 장치로부터 적어도 하나 이상의 단계에 걸친 공격을 받는 경우, 단계별로 받은 공격에 대한 알림(alert)을 전자 장치로부터 수신(S1010)할 수 있다.
그리고, 서버는 기저장된 시나리오에 기초하여 전자 장치로부터 수신된 적어도 하나 이상의 알림에 대응되는 악성 코드에 대한 정보를 판단(S1020)할 수 있다. 구체적으로, 서버는 전자 장치로부터 적어도 하나 이상의 알림이 수신되면, 적어도 하나 이상의 알림에 포함된 공격이 수행된 시간 정보에 기초하여 IoT 디바이스가 받은 공격의 순서를 판단할 수 있다. 그리고, 서버는 기저장된 시나리오 중에서 IoT 디바이스가 받은 공격 순서와 동일한 공격 순서를 갖는 시나리오를 판단하고, 판단된 시나리오에 매칭된 악성 코드에 대한 정보를 판단할 수 있다.
이후, 서버는 판단된 악성 코드에 대한 정보를 IoT 디바이스로 전송(S1030)할 수 있다. 한편, 서버는 IoT 디바이스가 디스플레이를 포함하는 경우에는, 악성 코드에 대한 정보를 IoT 디바이스로 전송하고, IoT 디바이스가 디스플레이를 포함하지 않는 경우에는, 악성 코드에 대한 정보를 사용자 단말 장치로 전송할 수 있다.
이에 따라, 사용자는 용이하게 외부 장치의 공격으로부터 IoT 디바이스를 방어할 수 있다.
상술한 다양한 실시 예에 따른 악성 코드를 방어하는 방법은 프로그램으로 구현되어 다양한 기록 매체에 저장될 수 있다. 즉, 각종 프로세서에 의해 처리되어 상술한 다양한 방어 방법을 실행할 수 있는 컴퓨터 프로그램이 기록 매체에 저장된 상태로 사용될 수도 있다.
일 예로, IoT 디바이스가 전자 장치를 통해 외부 장치로부터 적어도 하나 이상의 단계에 걸친 공격을 받는 경우, 단계별로 받은 공격에 대한 알림을 전자 장치로부터 수신하는 단계, 기저장된 시나리오에 기초하여 전자 장치로부터 수신된 적어도 하나 이상의 알림에 대응되는 악성 코드에 대한 정보를 판단하는 단계 및 판단된 악성 코드에 대한 정보를 IoT 디바이스로 전송하는 단계를 수행하는 프로그램이 저장된 비일시적 판독 가능 매체(non-transitory computer readable medium)가 제공될 수 있다.
비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.
이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
1000: 악성 코드 방지 시스템
100: 서버
200: 전자 장치
300: IoT 디바이스
400: 사용자 단말 장치

Claims (30)

  1. 서버에 있어서,
    IoT 디바이스와 연결된 전자 장치와 통신을 수행하는 통신부;
    외부 장치로부터 상기 IoT 디바이스가 단계적으로 받는 공격에 대한 시나리오 및 상기 시나리오에 대응되는 악성 코드에 대한 정보를 저장하는 저장부; 및
    상기 IoT 디바이스가 상기 전자 장치를 통해 상기 외부 장치로부터 적어도 하나 이상의 단계에 걸친 공격을 받는 경우, 단계별로 받은 공격에 대한 알림(alert)을 상기 전자 장치로부터 수신하고, 상기 기저장된 시나리오에 기초하여 상기 전자 장치로부터 수신된 적어도 하나 이상의 알림에 대응되는 악성 코드에 대한 정보를 판단하는 프로세서;를 포함하는, 서버.
  2. 제1항에 있어서,
    상기 프로세서는,
    상기 판단된 악성 코드에 대한 정보를 사용자 단말 장치 및 상기 IoT 디바이스 중 적어도 하나로 전송하는, 서버.
  3. 제1항에 있어서,
    상기 시나리오는,
    상기 외부 장치가 상기 악성 코드를 상기 IoT 디바이스로 주입하기 위해 상기 외부 장치가 순차적으로 실시하는 공격에 대한 정보를 포함하는, 서버.
  4. 제2항에 있어서,
    상기 프로세서는,
    상기 전자 장치로부터 적어도 하나 이상의 알림이 수신되면, 상기 적어도 하나 이상의 알림에 포함된 공격이 수행된 시간 정보에 기초하여 상기 IoT 디바이스가 받은 공격의 순서를 판단하고, 상기 기저장된 시나리오 중에서 상기 IoT 디바이스가 받은 공격 순서와 동일한 공격 순서를 갖는 시나리오를 판단하고, 상기 판단된 시나리오에 대응되는 악성 코드에 대한 정보를 상기 사용자 단말 장치 및 상기 IoT 디바이스 중 적어도 하나로 전송하는, 서버.
  5. 제4항에 있어서,
    상기 프로세서는,
    상기 기저장된 시나리오에 상기 IoT 디바이스가 받은 공격 순서와 동일한 공격 순서를 갖는 시나리오가 존재하지 않는 경우, 상기 기저장된 시나리오 중에서 상기 IoT 디바이스가 받은 공격과 기설정된 임계 값 이상의 일치도를 갖는 시나리오를 판단하고, 상기 판단된 시나리오에 대응되는 악성 코드에 대한 정보를 상기 사용자 단말 장치 및 상기 IoT 디바이스 중 적어도 하나로 전송하는, 서버.
  6. 제4항에 있어서,
    상기 프로세서는,
    상기 기저장된 시나리오에 상기 IoT 디바이스가 받은 공격 순서와 동일한 공격 순서를 갖는 시나리오가 존재하지 않는 경우, 사용자 명령에 따라 입력된 악성 코드에 대한 정보를 상기 IoT 디바이스가 받은 공격 순서에 대응되는 시나리오에 매칭시켜 상기 저장부에 저장하는, 서버.
  7. 제4항에 있어서,
    상기 프로세서는,
    상기 기저장된 시나리오에 상기 IoT 디바이스가 받은 공격 순서와 동일한 공격 순서를 갖는 시나리오가 존재하지 않는 경우, 상기 외부 장치와의 네트워크 연결을 차단할 것을 요청하는 가이드 정보를 상기 사용자 단말 장치 및 상기 IoT 디바이스 중 적어도 하나로 전송하는, 서버.
  8. 제2항에 있어서,
    상기 프로세서는,
    상기 전자 장치에서 보안 취약점이 탐지된 경우, 상기 보안 취약점을 나타내는 알림을 상기 전자 장치로부터 수신하고, 상기 IoT 디바이스가 받은 적어도 하나 이상의 단계에 걸친 공격 중 적어도 하나의 공격이 상기 보안 취약점을 이용한 공격에 해당하는 경우, 상기 악성 코드에 대한 정보를 상기 사용자 단말 장치 및 상기 IoT 디바이스 중 적어도 하나로 전송하는, 서버.
  9. 제1항에 있어서,
    상기 프로세서는,
    상기 IoT 디바이스가 상기 악성 코드에 대한 정보를 표시하기 위한 디스플레이를 포함하는지를 판단하고, 상기 IoT 디바이스가 상기 디스플레이를 포함하는 경우 상기 악성 코드에 대한 정보를 상기 IoT 디바이스로 전송하고, 상기 IoT 디바이스가 상기 디스플레이를 포함하지 않는 경우 상기 악성 코드에 대한 정보를 사용자 단말 장치로 전송하는, 서버.
  10. 악성 코드 방어 방법에 있어서,
    IoT 디바이스가 전자 장치를 통해 외부 장치로부터 적어도 하나 이상의 단계에 걸친 공격을 받는 경우, 단계별로 받은 공격에 대한 알림(alert)을 상기 전자 장치로부터 수신하는 단계; 및
    기저장된 시나리오에 기초하여 상기 전자 장치로부터 수신된 적어도 하나 이상의 알림에 대응되는 악성 코드에 대한 정보를 판단하는 단계;를 포함하는, 악성 코드 방어 방법.
  11. 제10항에 있어서,
    상기 판단된 악성 코드에 대한 정보를 사용자 단말 장치 및 상기 IoT 디바이스 중 적어도 하나로 전송하는 단계;를 더 포함하는, 악성 코드 방어 방법.
  12. 제10항에 있어서,
    상기 시나리오는,
    상기 외부 장치가 상기 악성 코드를 상기 IoT 디바이스로 주입하기 위해 상기 외부 장치가 순차적으로 실시하는 공격에 대한 정보를 포함하는, 악성 코드 방어 방법.
  13. 제11항에 있어서,
    상기 전송하는 단계는,
    상기 전자 장치로부터 적어도 하나 이상의 알림이 수신되면, 상기 적어도 하나 이상의 알림에 포함된 공격이 수행된 시간 정보에 기초하여 상기 IoT 디바이스가 받은 공격의 순서를 판단하고, 상기 기저장된 시나리오 중에서 상기 IoT 디바이스가 받은 공격 순서와 동일한 공격 순서를 갖는 시나리오를 판단하고, 상기 판단된 시나리오에 대응되는 악성 코드에 대한 정보를 상기 사용자 단말 장치 및 상기 IoT 디바이스 중 적어도 하나로 전송하는, 악성 코드 방어 방법.
  14. 제13항에 있어서,
    상기 전송하는 단계는,
    상기 기저장된 시나리오에 상기 IoT 디바이스가 받은 공격 순서와 동일한 공격 순서를 갖는 시나리오가 존재하지 않는 경우, 상기 기저장된 시나리오 중에서 상기 IoT 디바이스가 받은 공격과 기설정된 임계 값 이상의 일치도를 갖는 시나리오를 판단하고, 상기 판단된 시나리오에 대응되는 악성 코드에 대한 정보를 상기 사용자 단말 장치 및 상기 IoT 디바이스 중 적어도 하나로 전송하는, 악성 코드 방어 방법.
  15. 제13항에 있어서,
    상기 기저장된 시나리오에 상기 IoT 디바이스가 받은 공격 순서와 동일한 공격 순서를 갖는 시나리오가 존재하지 않는 경우, 사용자 명령에 따라 입력된 악성 코드에 대한 정보를 상기 IoT 디바이스가 받은 공격 순서에 대응되는 시나리오에 매칭시켜 저장하는 단계;를 더 포함하는, 악성 코드 방어 방법.
  16. 제13항에 있어서,
    상기 전송하는 단계는,
    상기 기저장된 시나리오에 상기 IoT 디바이스가 받은 공격 순서와 동일한 공격 순서를 갖는 시나리오가 존재하지 않는 경우, 상기 외부 장치와의 네트워크 연결을 차단할 것을 요청하는 가이드 정보를 상기 사용자 단말 장치 및 상기 IoT 디바이스 중 적어도 하나로 전송하는, 악성 코드 방어 방법.
  17. 제11항에 있어서,
    상기 전송하는 단계는,
    상기 전자 장치에서 보안 취약점이 탐지된 경우, 상기 보안 취약점을 나타내는 알림을 상기 전자 장치로부터 수신하고, 상기 IoT 디바이스가 받은 적어도 하나 이상의 단계에 걸친 공격 중 적어도 하나의 공격이 상기 보안 취약점을 이용한 공격에 해당하는 경우, 상기 악성 코드에 대한 정보를 상기 사용자 단말 장치 및 상기 IoT 디바이스 중 적어도 하나로 전송하는, 악성 코드 방어 방법.
  18. 제10항에 있어서,
    상기 IoT 디바이스가 상기 악성 코드에 대한 정보를 표시하기 위한 디스플레이를 포함하는지를 판단하는 단계; 및
    상기 IoT 디바이스가 상기 디스플레이를 포함하는 경우 상기 악성 코드에 대한 정보를 상기 IoT 디바이스로 전송하고, 상기 IoT 디바이스가 상기 디스플레이를 포함하지 않는 경우 상기 악성 코드에 대한 정보를 사용자 단말 장치로 전송하는 단계;를 더 포함하는, 악성 코드 방어 방법.
  19. IoT 디바이스에 있어서,
    디스플레이;
    전자 장치와 통신을 수행하는 통신부; 및
    상기 전자 장치를 통해 외부 장치로부터 적어도 하나 이상의 단계에 걸친 공격을 받는 경우, 상기 전자 장치로부터 상기 적어도 하나 이상의 단계에 걸친 공격에 대응되는 악성 코드에 대한 정보를 수신하고, 상기 수신된 악성 코드에 대한 정보를 상기 디스플레이를 통해 표시하는 프로세서;를 포함하며,
    상기 악성 코드에 대한 정보는,
    상기 적어도 하나 이상의 공격 및 상기 적어도 하나 이상의 단계에 걸친 공격의 순서에 기초하여 생성되는 정보인, IoT 디바이스.
  20. 제19항에 있어서,
    상기 악성 코드에 대한 정보는,
    상기 적어도 하나 이상의 단계에 걸친 공격에 대응되는 악성 코드의 명칭, 상기 외부 장치가 순차적으로 실시한 공격에 대한 정보 및 상기 악성 코드를 방어하기 위한 가이드 정보 중 적어도 하나를 포함하는, IoT 디바이스.
  21. 제20항에 있어서,
    상기 프로세서는,
    상기 가이드 정보에 따라 상기 악성 코드를 방어하기 위한 사용자 명령이 입력되면, 상기 가이드 정보에 대응되는 방어 동작을 수행하는, IoT 디바이스.
  22. 악성 코드 방어 방법에 있어서,
    전자 장치를 통해 외부 장치로부터 적어도 하나 이상의 단계에 걸친 공격을 받는 경우, 상기 전자 장치로부터 상기 적어도 하나 이상의 단계에 걸친 공격에 대응되는 악성 코드에 대한 정보를 수신하는 단계; 및
    상기 수신된 악성 코드에 대한 정보를 표시하는 단계;를 포함하고,
    상기 악성 코드에 대한 정보는,
    상기 적어도 하나 이상의 공격 및 상기 적어도 하나 이상의 단계에 걸친 공격의 순서에 기초하여 생성되는 정보인, 악성 코드 방어 방법.
  23. 제22항에 있어서,
    상기 악성 코드에 대한 정보는,
    상기 적어도 하나 이상의 단계에 걸친 공격에 대응되는 악성 코드의 명칭, 상기 외부 장치가 순차적으로 실시한 공격에 대한 정보 및 상기 악성 코드를 방어하기 위한 가이드 정보 중 적어도 하나를 포함하는, 악성 코드 방어 방법.
  24. 제23항에 있어서,
    상기 가이드 정보에 따라 상기 악성 코드를 방어하기 위한 사용자 명령이 입력되면, 상기 가이드 정보에 대응되는 방어 동작을 수행하는 단계;를 더 포함하는, 악성 코드 방어 방법.
  25. 사용자 단말 장치에 있어서,
    디스플레이;
    전자 장치와 연결된 서버와 통신을 수행하는 통신부; 및
    상기 전자 장치에 연결된 IoT 디바이스가 상기 전자 장치를 통해 외부 장치로부터 적어도 하나 이상의 단계에 걸친 공격을 받는 경우, 상기 서버로부터 상기 적어도 하나 이상의 단계에 걸친 공격에 대응되는 악성 코드에 대한 정보를 수신하고, 상기 수신된 악성 코드에 대한 정보를 상기 디스플레이를 통해 표시하는 프로세서;를 포함하며,
    상기 악성 코드에 대한 정보는,
    상기 적어도 하나 이상의 공격 및 상기 적어도 하나 이상의 단계에 걸친 공격의 순서에 기초하여 생성되는 정보인, 사용자 단말 장치.
  26. 제25항에 있어서,
    상기 악성 코드에 대한 정보는,
    상기 적어도 하나 이상의 단계에 걸친 공격에 대응되는 악성 코드의 명칭, 상기 외부 장치가 순차적으로 실시한 공격에 대한 정보 및 상기 악성 코드를 방어하기 위한 가이드 정보 중 적어도 하나를 포함하는, 사용자 단말 장치.
  27. 제26항에 있어서,
    상기 프로세서는,
    상기 가이드 정보에 따라 상기 악성 코드를 방어하기 위한 사용자 명령이 입력되면, 상기 가이드 정보에 대응되는 방어 동작을 수행하는, 사용자 단말 장치.
  28. 악성 코드 방어 방법에 있어서,
    전자 장치에 연결된 IoT 디바이스가 상기 전자 장치를 통해 외부 장치로부터 적어도 하나 이상의 단계에 걸친 공격을 받는 경우, 서버로부터 상기 적어도 하나 이상의 단계에 걸친 공격에 대응되는 악성 코드에 대한 정보를 수신하는 단계; 및
    상기 수신된 악성 코드에 대한 정보를 표시하는 단계;를 포함하고,
    상기 악성 코드에 대한 정보는,
    상기 적어도 하나 이상의 공격 및 상기 적어도 하나 이상의 단계에 걸친 공격의 순서에 기초하여 생성되는 정보인, 악성 코드 방어 방법.
  29. 제28항에 있어서,
    상기 악성 코드에 대한 정보는,
    상기 적어도 하나 이상의 단계에 걸친 공격에 대응되는 악성 코드의 명칭, 상기 외부 장치가 순차적으로 실시한 공격에 대한 정보 및 상기 악성 코드를 방어하기 위한 가이드 정보 중 적어도 하나를 포함하는, 악성 코드 방어 방법.
  30. 제29항에 있어서,
    상기 가이드 정보에 따라 상기 악성 코드를 방어하기 위한 사용자 명령이 입력되면, 상기 가이드 정보에 대응되는 방어 동작을 수행하는 단계;를 더 포함하는, 악성 코드 방어 방법.
KR1020170167220A 2017-12-07 2017-12-07 서버 및 이를 이용한 악성 코드 방어 방법 KR102461707B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020170167220A KR102461707B1 (ko) 2017-12-07 2017-12-07 서버 및 이를 이용한 악성 코드 방어 방법
CN201880078446.2A CN111433772B (zh) 2017-12-07 2018-11-29 服务器以及使用其防御恶意代码的方法
EP18885608.2A EP3649569B1 (en) 2017-12-07 2018-11-29 Server and method for defending malicious code using same
PCT/KR2018/014922 WO2019112241A1 (en) 2017-12-07 2018-11-29 Server and method for defending malicious code using same
US16/212,083 US11038901B2 (en) 2017-12-07 2018-12-06 Server and method for defending malicious code using same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170167220A KR102461707B1 (ko) 2017-12-07 2017-12-07 서버 및 이를 이용한 악성 코드 방어 방법

Publications (2)

Publication Number Publication Date
KR20190067355A true KR20190067355A (ko) 2019-06-17
KR102461707B1 KR102461707B1 (ko) 2022-11-02

Family

ID=66697482

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170167220A KR102461707B1 (ko) 2017-12-07 2017-12-07 서버 및 이를 이용한 악성 코드 방어 방법

Country Status (5)

Country Link
US (1) US11038901B2 (ko)
EP (1) EP3649569B1 (ko)
KR (1) KR102461707B1 (ko)
CN (1) CN111433772B (ko)
WO (1) WO2019112241A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102454948B1 (ko) * 2021-11-01 2022-10-17 주식회사 지엔 IoT 기기 점검 방법 및 그 장치
CN117014224A (zh) * 2023-09-12 2023-11-07 联通(广东)产业互联网有限公司 基于高斯过程回归的网络攻击防御方法及系统

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115802355B (zh) * 2023-01-20 2023-05-09 苏州派尔网络科技有限公司 一种移动物联网卡管理方法、装置及云平台

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6104149B2 (ja) * 2013-12-24 2017-03-29 三菱電機株式会社 ログ分析装置及びログ分析方法及びログ分析プログラム
US20170223046A1 (en) * 2016-01-29 2017-08-03 Acalvio Technologies, Inc. Multiphase threat analysis and correlation engine

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040187032A1 (en) * 2001-08-07 2004-09-23 Christoph Gels Method, data carrier, computer system and computer progamme for the identification and defence of attacks in server of network service providers and operators
US7007302B1 (en) * 2001-08-31 2006-02-28 Mcafee, Inc. Efficient management and blocking of malicious code and hacking attempts in a network environment
JP2006504178A (ja) 2002-10-22 2006-02-02 ウンホ チェ Itインフラにおける総合侵害事故対応システムおよびその動作方法
JP4371905B2 (ja) * 2004-05-27 2009-11-25 富士通株式会社 不正アクセス検知装置、不正アクセス検知方法、不正アクセス検知プログラムおよび分散型サービス不能化攻撃検知装置
KR20060026293A (ko) 2004-09-20 2006-03-23 주식회사 케이티 네트워크 취약성 정보를 이용하여 오탐을 방지하는침입탐지 장치, 시스템 및 그 방법
CN101771702B (zh) * 2010-01-05 2015-06-10 中兴通讯股份有限公司 点对点网络中防御分布式拒绝服务攻击的方法及系统
US8707428B2 (en) * 2010-08-05 2014-04-22 At&T Intellectual Property I, L.P. Apparatus and method for defending against internet-based attacks
US9203859B2 (en) * 2012-02-01 2015-12-01 The Boeing Company Methods and systems for cyber-physical security modeling, simulation and architecture for the smart grid
CN104519008B (zh) * 2013-09-26 2018-05-15 北大方正集团有限公司 跨站脚本攻击防御方法和装置、应用服务器
US9350758B1 (en) * 2013-09-27 2016-05-24 Emc Corporation Distributed denial of service (DDoS) honeypots
US9407646B2 (en) * 2014-07-23 2016-08-02 Cisco Technology, Inc. Applying a mitigation specific attack detector using machine learning
KR20160043426A (ko) * 2014-10-13 2016-04-21 엘지전자 주식회사 이동 단말기 및 그 제어 방법
US10542020B2 (en) * 2015-03-26 2020-01-21 Tyco Fire & Security Gmbh Home network intrusion detection and prevention system and method
US9742788B2 (en) * 2015-04-09 2017-08-22 Accenture Global Services Limited Event correlation across heterogeneous operations
WO2016168368A1 (en) * 2015-04-13 2016-10-20 Secful, Inc. System and method for identifying and preventing malicious api attacks
KR101692155B1 (ko) 2015-06-10 2017-01-02 한국과학기술원 소프트웨어 정의 네트워크에서 취약점을 분석하는 방법, 장치 및 컴퓨터 프로그램
US9825989B1 (en) * 2015-09-30 2017-11-21 Fireeye, Inc. Cyber attack early warning system
US10257223B2 (en) * 2015-12-21 2019-04-09 Nagravision S.A. Secured home network
KR20170074386A (ko) 2015-12-22 2017-06-30 박대우 보안지식과 보안제품을 원스톱 지원하는 사이버보안 커머스 플랫폼
US9942253B2 (en) 2016-01-15 2018-04-10 Kentlik Technologies, Inc. Network monitoring, detection, and analysis system
US10341856B2 (en) * 2016-05-10 2019-07-02 FirstPoint Mobile Guard Ltd. System and method for securing communication and information of mobile devices through a controlled cellular communication network
CN106506548A (zh) * 2016-12-23 2017-03-15 努比亚技术有限公司 跨站脚本攻击的防御装置及方法
CN106909847B (zh) * 2017-02-17 2020-10-16 国家计算机网络与信息安全管理中心 一种恶意代码检测的方法、装置及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6104149B2 (ja) * 2013-12-24 2017-03-29 三菱電機株式会社 ログ分析装置及びログ分析方法及びログ分析プログラム
US20170223046A1 (en) * 2016-01-29 2017-08-03 Acalvio Technologies, Inc. Multiphase threat analysis and correlation engine

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102454948B1 (ko) * 2021-11-01 2022-10-17 주식회사 지엔 IoT 기기 점검 방법 및 그 장치
WO2023075500A1 (ko) * 2021-11-01 2023-05-04 주식회사 지엔 Iot 기기 점검 방법 및 그 장치
CN117014224A (zh) * 2023-09-12 2023-11-07 联通(广东)产业互联网有限公司 基于高斯过程回归的网络攻击防御方法及系统
CN117014224B (zh) * 2023-09-12 2024-01-30 联通(广东)产业互联网有限公司 基于高斯过程回归的网络攻击防御方法及系统

Also Published As

Publication number Publication date
US11038901B2 (en) 2021-06-15
EP3649569A1 (en) 2020-05-13
EP3649569B1 (en) 2023-01-11
WO2019112241A1 (en) 2019-06-13
CN111433772A (zh) 2020-07-17
CN111433772B (zh) 2023-12-26
US20190182271A1 (en) 2019-06-13
EP3649569A4 (en) 2020-05-13
KR102461707B1 (ko) 2022-11-02

Similar Documents

Publication Publication Date Title
US10715542B1 (en) Mobile application risk analysis
US10594732B2 (en) Selective traffic blockage
US9264893B2 (en) Method for selecting access point with reliability
US10341365B1 (en) Methods and system for hiding transition events for malware detection
CN111433772B (zh) 服务器以及使用其防御恶意代码的方法
KR102178305B1 (ko) IoT 네트워크 접근을 제어하는 보안 시스템
US10893058B1 (en) Malware detection and alerting for network connected devices based on traffic flow analysis on local network
KR20120078654A (ko) 신뢰도 있는 ap를 선택할 수 있는 단말기 및 방법
US20200213856A1 (en) Method and a device for security monitoring of a wifi network
US20160330239A1 (en) Hacking prevention system for mobile terminal and method therefor
KR101494329B1 (ko) 악성 프로세스 검출을 위한 시스템 및 방법
KR101591503B1 (ko) 자기 방어 보안 모듈을 포함하는 패키지 애플리케이션의 동작 방법, 및 컴퓨터로 읽을 수 있는 기록 매체
US20160142372A1 (en) Preventing Browser-originating Attacks
KR102389936B1 (ko) 취약점 분석 및 이와 연계된 IoT 케어 시스템
KR102321689B1 (ko) 자율주행차량에서의 근접 디바이스 확인 방법 및 시스템
KR102366304B1 (ko) 페이크 디바이스 탐지 방법 및 무선 디바이스 케어 장치
US10193899B1 (en) Electronic communication impersonation detection
KR102615155B1 (ko) 전자 장치 및 전자 장치의 제어 방법
KR20180005359A (ko) Dns 주소의 변조 진단 방법 및 이를 위한 단말 장치
US20240137337A1 (en) Device for blocking hacking and method therefor
KR102321683B1 (ko) 비인가 블루투스 기기를 선별적으로 차단할수 있는 방법 및 장치
US11552960B2 (en) Technique for processing messages sent by a communicating device
KR102655602B1 (ko) IoT 케어 센서를 이용한 홈 네트워크 시스템
US12041454B1 (en) Vulnerability detection and mitigation in cellular networks
US20220408264A1 (en) Wireless communication method between a client object and a server object

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)