KR20110076976A - 컴퓨터 시스템상에서 구동하는 악성 소프트웨어의 존재를 감지하기 위한 시스템, 방법 및 프로그램 제품 - Google Patents

컴퓨터 시스템상에서 구동하는 악성 소프트웨어의 존재를 감지하기 위한 시스템, 방법 및 프로그램 제품 Download PDF

Info

Publication number
KR20110076976A
KR20110076976A KR1020117009680A KR20117009680A KR20110076976A KR 20110076976 A KR20110076976 A KR 20110076976A KR 1020117009680 A KR1020117009680 A KR 1020117009680A KR 20117009680 A KR20117009680 A KR 20117009680A KR 20110076976 A KR20110076976 A KR 20110076976A
Authority
KR
South Korea
Prior art keywords
computer system
remote
tasks
network services
local
Prior art date
Application number
KR1020117009680A
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 인터내셔널 비지네스 머신즈 코포레이션
Publication of KR20110076976A publication Critical patent/KR20110076976A/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
    • 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/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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • 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
    • 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
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3495Performance evaluation by tracing or monitoring for systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2101Auditing as a secondary aspect

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 컴퓨터 시스템상에서 구동하는 악성 소프트웨어의 존재를 감지하기 위한 시스템, 방법 및 프로그램 제품에 관한 발명이다. 본 발명은 컴퓨터 시스템상에서 구동하는 악성 소프트웨어의 존재를 감지하기 위해, 시스템상에서 구동하는 태스크들 및 네트워크 서비스들의 로컬 인벤토리를 생성하도록 상기 시스템을 로컬로 쿼리하는 단계 및 컴퓨터 시스템상에서 구동하는 악성 소프트웨어의 존재를 감지하기 위해, 시스템상에서 구동하는 태스크들 및 네트워크 서비스들의 원격 인벤토리를 생성하도록 네트워크를 통해서 원격 시스템으로부터 시스템을 원격으로 쿼리하는 단계를 포함하되, 상기 로컬 인벤토리는 상기 시스템상에서 사용중인 포트들을 나열하고 상기 원격 인벤토리는 상기 시스템상에서 사용중인 포트들을 나열한다. 또한, 상기 방법은 컴퓨터 시스템상에서 구동하는 악성 소프트웨어의 존재를 감지하기 위해, 로컬 인벤토리 및 원격 인벤토리를 수집하는 단계 및 로컬 및 원격 인벤토리들간의 차이점들을 식별하기 위해 상기 로컬 인벤토리를 상기 원격 인벤토리와 비교하는 단계를 포함한다.

Description

컴퓨터 시스템상에서 구동하는 악성 소프트웨어의 존재를 감지하기 위한 시스템, 방법 및 프로그램 제품{SYSTEM, METHOD AND PROGRAM PRODUCT FOR DETECTING PRESENCE OF MALICIOUS SOFTWARE RUNNING ON A COMPUTER SYSTEM}
본 발명은 컴퓨터 시스템들 및 소프트웨어에 관련된 것으로서, 보다 상세하게는 컴퓨터 시스템상에서 구동하는 악성(malicious) 서비스 에이전트들과 같은 악성 소프트웨어의 존재(presence)를 감지하기 위한 기술에 관련된 것이다.
원치않는 소프트웨어 및 멀웨어(malware)는, 호스트의 유저들로부터 그들의 인스톨(installation)을 감추기 위해 복잡한 기술들을 종종 이용한다. 다양한 기술들이 "루트킷(rootkits)" 및 다른 스텔스 인스톨 기술들을 감지하기 위해 제공되어 왔다. 이러한 기존의 기술들은 전력공급(powered) 및 비전력공급(unpowerd) 상태에서 로컬 수단을 통해서 호스트의 쿼리(querying)를 필요로한다. 이러한 기존의 기술들은, 특히 비전력공급 상태에서 호스트를 엑세스하는 프로세스에서는, 매우 불편하고(disruptive) 시간 소모적이다. 이에 따라, 관리자가 상기 호스트의 전력 다운(powering down)없이 그러한 인스톨 존재를 효율적으로 식별할 필요가 있다.
본 발명의 일 실시예에 따라, 프로그램이나 툴을 이용해서, 본 발명은 악성 소프트웨어 및 멀웨어의 존재를 감지하기 위한 시스템, 방법 및 프로그램 제품에 존재한다. 상기 방법은 상기 컴퓨터 시스템상에서 구동하는 악성 서비스 에이전트의 존재를 감지하기 위하여, 상기 컴퓨터 시스템상에서 현재 구동하는 태스크들(tasks) 및 네트워크 서비스들의 로컬 인벤토리를 나열하도록, 컴퓨터 시스템을 로컬로 쿼리하는 단계(locally querying) -상기 나열된 태스크들 및 네트워크 서비스들의 로컬 인벤토리는 상기 컴퓨터 시스템상에서 사용중인 각 포트를 나열하는 리스트를 포함-, 및 상기 컴퓨터 시스템상에서 구동하는 상기 악성 서비스 에이전트의 존재를 감지하기 위하여, 상기 컴퓨터 시스템상에서 현재 구동하는 태스크들 및 네트워크 서비스들의 원격 인벤토리를 나열하도록, 원격 컴퓨터 시스템으로부터 상기 컴퓨터 시스템을 네트워크를 통해 원격으로 쿼리하는 단계 -상기 나열된 태스크들 및 네트워크 서비스들의 원격 인벤토리는 상기 컴퓨터 시스템상에서 사용중인 각 포트들을 나열하는 리스트를 더 포함-;를 포함한다. 또한, 상기 방법은 나열된 태스크들 및 네트워크 서비스들의 로컬 인벤토리 각각을 수집하는 단계 및 나열된 태스크들 및 네트워크 서비스들의 원격 인벤토리 각각을 수집하는 단계 그리고 상기 컴퓨터 시스템상에서 구동하는 상기 악성 서비스 에이전트의 존재를 감지하기 위해, 상기 나열된 태스크들 및 네트워크 서비스들의 로컬 인벤토리와 상기 나열된 태스크들 및 네트워크 서비스들의 원격 인벤토리간의 차이점들을 식별하도록, 상기 나열된 태스크들 및 네트워크 서비스들의 로컬 인벤토리를 상기 나열된 태스크들 및 네트워크 서비스들의 원격 인벤토리와 비교하는 단계를 포함한다.
일 실시예에서, 상기 로컬로 쿼리하는 단계는 상기 컴퓨터 시스템상에서 구동하는 상기 악성 서비스 에이전트의 존재를 로컬로 감지하기 위한 제1 툴을 제공하는 단계 및 상기 컴퓨터 시스템을 로컬로 쿼리하기 위해 상기 컴퓨터 시스템의 로컬 스캔을 수행하도록 상기 제1 툴을 활용하는 단계를 더 포함한다. 일 실시예에서, 상기 원격으로 쿼리하는 단계는 상기 컴퓨터 시스템상에서 구동하는 상기 악성 서비스 에이전트의 존재를 원격으로 감지하기 위해 제2 툴을 제공하는 단계 및 상기 컴퓨터 시스템을 원격으로 쿼리하기 위해, 상기 컴퓨터 시스템의 원격 스캔을 수행하도록 상기 제2 툴을 활용하는 단계를 더 포함한다. 일 실시예에서, 상기 각 포트들 중 하나의 포트는 열린 포트(open port), 닫힌 포트(closed port) 및 필터된 포트 중 적어도 하나를 포함한다. 일 실시예에서, 상기 방법은 상기 컴퓨터 시스템상에서 구동하는 상기 악성 서비스 에이전트의 존재를 결정하기 위해, 상기 식별된 차이점들을 평가하기 위한 추가 테스트들을 수행하도록 상기 식별된 차이들을 가지는 컴퓨터 시스템을 플래그하는 단계(flagging)를 더 포함한다.
제1 실시예에 도시된 바와 같이, 본 발명은 컴퓨터 시스템상에서 구동하는 악성 서비스 에이전트(malicious service agent)의 존재를 감지하기 위한 방법을 제공하는데, 상기 방법은 상기 컴퓨터 시스템상에서 구동하는 악성 서비스 에이전트의 존재를 감지하기 위하여, 상기 컴퓨터 시스템상에서 현재 구동하는 태스크들(tasks) 및 네트워크 서비스들의 로컬 인벤토리를 포함하는 리스트를 생성하도록, 컴퓨터 시스템을 로컬로 쿼리하는 단계(locally querying) -상기 태스크들 및 네트워크 서비스들의 로컬 인벤토리는 상기 컴퓨터 시스템상에서 사용중인 각 포트를 나열하는 리스트를 더 포함-; 상기 컴퓨터 시스템상에서 구동하는 상기 악성 서비스 에이전트의 존재를 감지하기 위하여, 상기 컴퓨터 시스템상에서 현재 구동하는 태스크들 및 네트워크 서비스들의 원격 인벤토리의 리스트를 생성하도록, 원격 컴퓨터 시스템으로부터 상기 컴퓨터 시스템을 네트워크를 통해 원격으로 쿼리하는 단계 -태스크들 및 네트워크 서비스들의 상기 원격 인벤토리는 상기 컴퓨터 시스템상에서 사용중인 각 포트들을 나열하는 리스트를 더 포함-; 태스크들 및 네트워크 서비스들의 로컬 인벤토리와 태스크들 및 네트워크 서비스들의 원격 인벤토리를 수집하는 단계; 및 상기 컴퓨터 시스템상에서 구동하는 상기 악성 서비스 에이전트의 존재를 감지하기 위해, 상기 태스크들 및 네트워크 서비스들의 로컬 인벤토리와 상기 태스크들 및 네트워크 서비스들의 원격 인벤토리간의 차이점들을 식별하도록, 상기 태스크들 및 네트워크 서비스들의 로컬 인벤토리를 상기 테스크들 및 네트워크 서비스들의 원격 인벤토리와 비교하는 단계;로 이루어진다.
바람직하게는, 본 발명은 상기 로컬로 쿼리하는 단계가 상기 컴퓨터 시스템상에서 구동하는 상기 악성 서비스 에이전트의 존재를 감지하는 단계; 및 상기 감지하는 단계에 응답하여, 상기 컴퓨터 시스템을 로컬로 쿼리하기 위해 상기 컴퓨터 시스템의 로컬 스캔을 수행하는 단계;를 더 포함하는 방법을 제공한다.
바람직하게는, 본 발명은 상기 원격으로 쿼리하는 단계가 상기 컴퓨터 시스템상에서 구동하는 상기 악성 서비스 에이전트의 존재를 원격으로 감지하는 단계; 및 상기 원격으로 감지하는 단계에 응답하여, 상기 컴퓨터 시스템을 원격으로 쿼리하기 위해, 상기 컴퓨터 시스템의 원격 스캔을 수행하는 단계를 더 포함하는 방법을 제공한다.
바람직하게는, 본 발명은 상기 각 포트들 중 하나의 포트가 열린 포트(open port), 닫힌 포트(closed port) 및 필터된 포트 중 적어도 하나를 포함하는 방법을 제공한다.
바람직하게는, 본 발명은 상기 컴퓨터 시스템상에서 구동하는 상기 악성 서비스 에이전트의 존재를 결정하기 위해, 상기 식별된 차이점들을 평가하기 위한 추가 테스트들을 수행하도록 상기 식별된 차이들을 가지는 상기 컴퓨터 시스템을 플래그하는 단계(flagging)를 더 포함하는 방법을 제공한다.
바람직하게는, 본 발명은 상기 로컬 및/또는 원격 스캔 단계가 상기 컴퓨터 시스템상에서 열린것으로 식별된 각 포트와 통신을 개시하는 단계; 및 식별된 열린 포트 각각에 대해, 열린 포트를 가지고 동작하는 서비스가 알려진 서비스인지 여부를 결정하는 단계를 더 포함하는 방법을 제공한다.
제2 실시예에 개시된 바와 같이, 본 발명은 컴퓨터 시스템상에서 구동하는 악성 서비스 에이전트의 존재를 감지하기 위한 시스템을 제공하는데, 상기 시스템은 상기 컴퓨터 시스템상에서 구동하는 악성 서비스 에이전트의 존재를 감지하기 위하여, 상기 컴퓨터 시스템상에서 현재 구동하는 태스크들 및 네트워크 서비스들의 로컬 인벤토리를 포함하는 리스트를 생성하도록 컴퓨터 시스템을 로컬로 쿼리하는 수단 -상기 태스크들 및 네트워크 서비스들의 로컬 인벤토리는 상기 컴퓨터 시스템상에서 사용중인 각 포트들을 나열하는 리스트 수단을 더 포함함-; 상기 컴퓨터 시스템상에서 구동하는 상기 악성 서비스 에이전트의 존재를 감지하기 위하여, 상기 컴퓨터 시스템상에서 현재 구동하는 태스크들 및 네트워크 서비스들의 원격 인벤토리의 리스트를 생성하도록, 원격 컴퓨터 시스템으로부터 상기 컴퓨터 시스템을 네트워크를 통해서 원격으로 쿼리하는 수단 -상기 태스크들 및 네트워크 서비스들의 원격 인벤토리는 상기 컴퓨터 시스템상에서 이용중인 각 포트들을 나열하는 리스트를 더 포함-; 태스크들 및 네트워크 서비스들의 로컬 인벤토리와 태스크들 및 네트워크 서비스들의 원격 인벤토리를 수집하는 수단; 및 상기 컴퓨터 시스템상에서 구동하는 상기 악성 서비스 에이전트의 존재를 감지하기 위해, 태스크들 및 네트워크 서비스들의 로컬 인벤토리와 태스크들 및 네트워크 서비스들의 원격 인벤토리간의 차이점들을 식별하도록, 태스크들 및 네트워크 서비스들의 로컬 인벤토리를 태스크들 및 네트워크 서비스들의 원격 인벤토리와 비교하는 수단;을 포함한다.
바람직하게는, 본 발명은 상기 로컬로 쿼리하는 수단이 상기 컴퓨터 시스템상에서 구동하는 상기 악성 서비스 에이전트의 존재를 감지하는 수단; 및 감지하는 수단에 응답하여, 상기 컴퓨터 시스템을 로컬로 쿼리하기 위해 상기 컴퓨터 시스템의 로컬 스캔을 수행하는 수단;을 더 포함하는 시스템을 제공한다.
바람직하게는, 본 발명은 상기 원격으로 쿼리하는 수단이 상기 컴퓨터 시스템상에서 구동하는 상기 악성 서비스 에이전트의 존재를 원격으로 감지하는 수단; 및 원격으로 감지하는 수단에 응답하여, 상기 컴퓨터 시스템을 원격으로 쿼리하기 위해, 상기 컴퓨터 시스템의 원격 스캔을 수행하는 수단;을 더 포함하는 시스템을 제공한다.
바람직하게는, 본 발명은 상기 각 포트들 중 하나의 포트가 열린 포트(open port), 닫힌 포트(closed port) 및 필터된 포트 중 적어도 하나를 포함하는 시스템을 제공한다.
바람직하게는, 본 발명은 상기 컴퓨터 시스템상에서 구동하는 상기 악성 서비스 에이전트의 존재를 감지하기 위해, 상기 식별된 차이점들을 평가하기 위하여 추가 테스트들을 수행하도록 상기 식별된 차이점들을 가지는 상기 컴퓨터 시스템을 플래그(flagging)하는 수단을 더 포함하는 시스템을 제공한다.
바람직하게는, 본 발명은 상기 로컬 및/또는 원격 스캔 단계가 컴퓨터 시스템상에서 열린것으로 식별된 각 포트들과 통신을 개시하고 그리고 각 식별된 열린 포트에 대해, 상기 열린 포트를 가진 서비스 동작이 알려진 서비스인지 여부를 결정하는 수단을 더 포함하는 시스템을 제공한다.
또 다른 실시예에 개시된 바와 같이, 본 발명은 디지털 컴퓨터의 내부 메모리로 로드할 수 있는 컴퓨터 프로그램을 제공하는데, 상기 프로그램은 상기 제품이 컴퓨터상에서 구동될 때에 상술한 바와 같은 본 발명을 수행하도록 동작하기 위한 소프트웨어 코드 부분들을 포함한다.
다른 실시예에서 개시된 바와 같이, 본 발명은 호스트 컴퓨터 시스템상에서 구동하는 악성 서비스 에이전트의 존재를 감지하기 위한 시스템을 제공하는데, 이는 네트워크 통신 채널; 상기 네트워크 통신 채널에 연결된 호스트 컴퓨터 시스템; 상기 호스트 컴퓨터 시스템상의 악성 서비스 에이전트의 존재를 로컬로 감지하기 위한 제1 툴 -상기 제1 툴은 상기 호스트 컴퓨터 시스템의 로컬 스캔을 수행하기 위해 상기 호스트 컴퓨터 시스템상에 로컬로 인스톨 되어 있음-; 상기 네트워크 통신 채널에 연결된 원격 컴퓨터 시스템; 상기 호스트 컴퓨터 시스템상의 상기 악성 서비스 에이전트의 존재를 원격으로 감지하기 위한 제2 툴 -상기 제2 툴은 상기 호스트 컴퓨터 시스템의 원격 스캔을 수행하기 위해 상기 원격 컴퓨터 시스템상에 인스톨 되어 있음-; 및 상기 호스트 컴퓨터 시스템의 상기 로컬 스캔과 상기 호스트 컴퓨터 시스템의 상기 원격 스캔로부터 수집된 결과들을 연관시키기 위한 결과 연관 엔진 -상기 결과 연관 엔진은 상기 호스트 컴퓨터 시스템상의 상기 악성 서비스 에이전트의 존재를 감지하기 위해, 상기 호스트 컴퓨터 시스템의 상기 로컬 스캔 및 상기 원격 스캔간의 차이점들을 식별함-;을 포함한다.
바람직하게는, 본 발명은 차이 리포트 -상기 차이 리포트는 상기 호스트 컴퓨터 시스템상의 상기 악성 서비스 에이전트의 존재를 감지하기 위해, 상기 호스트 컴퓨터 시스템의 상기 로컬 스캔 및 상기 원격 스캔사이에서 식별된 차이점들을 보고함- 를 제공하기 위한 제3 툴을 더 포함하는 시스템을 제공한다.
바람직하게는, 본 발명은 상기 제1 툴이 상기 호스트 컴퓨터 시스템상에서 현재 구동하는 태스크들 및 네트워크 서비스들의 로컬 인벤토리를 나열하기 위해 상기 호스트 컴퓨터 시스템을 로컬로 쿼리하고, 나열된 태스크들 및 네트워크 서비스들의 상기 로컬 인벤토리는 상기 호스트 컴퓨터 시스템상에서 사용중인 각 포트들을 포함하고, 그리고 상기 호스트 컴퓨터 시스템상에서 현재 구동중인 태스크들 및 네트워크 서비스들의 상기 로컬 인벤토리에 나열된 상기 각 포트들 중 하나의 포트는 열린 포트(open port), 닫힌 포트(closed port) 및 필터된 포트 중 적어도 하나를 포함하는 시스템을 제공한다.
바람직하게는, 본 발명은 상기 제2 툴이 상기 호스트 컴퓨터 시스템상에서 현재 구동하는 태스크들 및 네트워크 서비스들의 원격 인벤토리를 나열하기 위해 상기 호스트 컴퓨터 시스템을 원격으로 쿼리하고, 나열된 태스크들 및 네트워크 서비스들의 상기 원격 인벤토리는 상기 호스트 컴퓨터 시스템상에서 사용중인 각 포트들을 포함하고, 그리고 상기 호스트 컴퓨터 시스템상에서 현재 구동중인 태스크들 및 네트워크 서비스들의 상기 원격 인벤토리에 나열된 상기 각 포트들 중 하나의 포트는 열린 포트(open port), 닫힌 포트(closed port) 및 필터된 포트 중 적어도 하나를 포함하는 시스템을 제공한다.
바람직하게는, 본 발명은 상기 호스트 컴퓨터 시스템상에서 구동하는 상기 악성 서비스 에이전트의 존재를 검증하기 위해, 상기 차이점들을 평가하기 위하여 추가 테스트들을 수행하도록 상기 식별된 차이점들을 가지는 상기 컴퓨터 시스템을 플래그(flagging)하기 위한 제4 툴을 더 포함하는 시스템을 제공한다.
또 다른 실시예에 도시된 바와 같이, 본 발명은 호스트 컴퓨터 시스템상에서 구동하는 악성 서비스 에이전트의 존재를 감지하기 위한 컴퓨터 프로그램 제품을 제공하는데, 상기 컴퓨터 프로그램 제품은, 컴퓨터 판독가능 저장 매체; 상기 컴퓨터 시스템상에서 구동하는 악성 서비스 에이전트의 존재를 감지하기 위하여, 상기 컴퓨터 시스템상에서 현재 구동하는 태스크들 및 네트워크 서비스들의 로컬 인벤토리를 나열하도록 컴퓨터 시스템을 로컬로 쿼리하는 제1 프로그램 명령 -상기 나열된 태스크들 및 네트워크 서비스들의 로컬 인벤토리는 상기 컴퓨터 시스템상에서 사용중인 각 포트들을 나열하는 리스트 수단을 더 포함함-; 상기 컴퓨터 시스템상에서 구동하는 상기 악성 서비스 에이전트의 존재를 감지하기 위하여, 상기 컴퓨터 시스템상에서 현재 구동하는 태스크들 및 네트워크 서비스들의 원격 인벤토리를 나열하도록, 원격 컴퓨터 시스템으로부터 상기 컴퓨터 시스템을 네트워크를 통해서 원격으로 쿼리하는 제2 프로그램 명령 -상기 나열된 태스크들 및 네트워크 서비스들의 원격 인벤토리는 상기 컴퓨터 시스템상에서 이용중인 각 포트들을 더 포함-; 상기 나열된 태스크들 및 네트워크 서비스들의 로컬 인벤토리 각각과 상기 나열된 태스크들 및 네트워크 서비스들의 원격 인벤토리 각각을 수집하는 제3 프로그램 명령; 및 상기 컴퓨터 시스템상에서 구동하는 상기 악성 서비스 에이전트의 존재를 감지하기 위해, 나열된 태스크들 및 네트워크 서비스들의 로컬 인벤토리와 태스크들 및 네트워크 서비스들의 원격 인벤토리간의 차이점들을 식별하도록, 나열된 태스크들 및 네트워크 서비스들의 로컬 인벤토리를 태스크들 및 네트워크 서비스들의 원격 인벤토리와 비교하는 제4 프로그램 명령;을 포함하되, 상기 제1, 제2, 제3 및 제4 프로그램 명령은 상기 컴퓨터 판독가능 저장 매체상에 기록된다.
바람직하게는, 본 발명은 상기 차이점들을 평가하기 위하여 추가 테스트들을 수행하도록 상기 식별된 차이점들을 가지는 상기 컴퓨터 시스템을 플래그(flagging)하는 제5 프로그램 명령-상기 제5 프로그램 명령은 상기 컴퓨터 판독가능 매체상에 기록됨-을 더 포함하는 컴퓨터 프로그램 제품을 제공한다.
바람직하게는, 본 발명은 상기 제1 프로그램 명령이 상기 컴퓨터 시스템상에서 구동하는 상기 악성 서비스 에이전트의 존재를 로컬로 감지하기 위한 제1 툴을 제공하고 그리고 상기 컴퓨터 시스템을 로컬로 쿼리하기 위해 상기 컴퓨터 시스템의 로컬 스캔을 수행하도록 상기 제1 툴을 활용하는 명령을 더 포함하는 컴퓨터 프로그램 제품을 제공한다.
바람직하게는, 본 발명은 상기 제2 프로그램 명령이 상기 컴퓨터 시스템상에서 구동하는 상기 악성 서비스 에이전트의 존재를 원격으로 감지하기 위해 제2 툴을 제공하고 상기 컴퓨터 시스템을 원격으로 쿼리하기 위해, 상기 컴퓨터 시스템의 원격 스캔을 수행하도록 상기 제2 툴을 활용하기 위한 명령을 더 포함하는 컴퓨터 프로그램 제품을 제공한다.
바람직하게는, 본 발명은 상기 각 포트들 중 하나의 포트는 열린 포트(open port), 닫힌 포트(closed port) 및 필터된 포트 중 적어도 하나를 포함하는 컴퓨터 프로그램 제품을 제공한다.
본 상세한 설명의 일부의 형태로 통합되어 있는 이하의 도면들은 본 발명의 실시예들을 도시하고, 설명과 함께 본 발명의 실시예들을 설명하기 위해 제공된다:
도 1은 본 발명의 바람직한 실시예에 따라, 컴퓨터 시스템상에서 구동하는 악성 소프트웨어 및 멀웨어(malware)의 존재를 감지하기 위한 시스템의 일 실시예를 도시하는 블럭도이다;
도 2는 본 발명의 바람직한 실시예에 따라, 컴퓨터 시스템상에서 구동하는 악성 소프트웨어 및 멀웨어의 존재를 감지하기 위해 컴퓨터 시스템의 로컬 스캔을 수행하기 위한 로컬 스캐닝 툴을 내장한 컴퓨터 시스템의 일 실시예를 도시한다;
도 3은 본 발명의 바람직한 실시예에 따라, 원격 컴퓨터 시스템상에서 구동하는 악성 소프트웨어 및 멀웨어의 존재를 감지하기 위해 원격 컴퓨터 시스템의 원격 스캔을 수행하기 위한 원격 스캐닝 툴을 내장한 컴퓨터 시스템의 일 예를 도시한다;
도 4는 본 발명의 바람직한 실시예에 따라, 컴퓨터 시스템상에서 구동하는 악성 소프트웨어 및 멀웨어의 존재를 감지하기 위해, 수신된 로컬 스캔 결과들 및 수신된 원격 스캔 결과들의 분석이나 평가(evaluation)를 수행하기 위한 결과 연관 엔진(results correlation engine)이나 프로그램을 내장한 컴퓨터 시스템의 일 예를 도시한다;
도 5는 본 발명의 바람직한 실시예에 따라, 컴퓨터 시스템상에서 구동하는 악성 소프트웨어나 멀웨어의 존재를 감지하기 위한 컴퓨터 인프라구조를 도시한다;
도 6은 본 발명의 바람직한 실시예에 따라, 호스트 컴퓨터 시스템상에서 구동하는 악성 소프트웨어나 멀웨어의 존재를 로컬로 감지하기 위해 호스트 컴퓨터 시스템에 의해 수행되는 단계들을 개략적으로 나타내는 흐름도를 도시한다;
도 7은 본 발명의 바람직한 실시예에 따라, 호스트 컴퓨터 시스템상에서 구동하는 악성 소프트웨어나 멀웨어의 존재를 원격으로 감지하기 위해 원격 컴퓨터 시스템에 의해 수행되는 단계들을 개략적으로 나타내는 흐름도를 도시한다; 그리고
도 8은 본 발명의 바람직한 실시예에 따라, 호스트 컴퓨터 시스템상에서 구동하는 악성 소프트웨어나 멀웨어의 존재를 원격으로 감지하기 위해, 결과 연관 엔진에 의해 수행되는 전체적인 단계들을 개략적으로 나타내는 흐름도를 도시한다.
본 상세한 설명에서 기술되는 다수의 기능 유닛들은 모듈들로 호칭되어 있는데, 이는 그들의 구현(implementation) 독립성을 특별히 더 강조하기 위해서이다. 예를 들어, 모듈은 커스텀 VLSI 회로들이나 게이트 어레이들을 포함하는 하드웨어 회로, 로컬 칩과 같은 규격 반도체들, 트랜지스터 또는 다른 별개 컴포넌트들로서 구현될 수 있다. 또한 모듈은 예를 들어 필드 프로그램가능 게이트 어레이들, 프로그램가능 어레이 로직, 프로그램가능 로직 디바이스들 등과 같은 프로그램가능 하드웨어 디바이스들로 구현될 수 있다.
또한 모듈들은 다양한 타입들의 프로세스들에 의해 실행되기 위한 소프트웨어로 구현될 수 있다. 예를 들어, 식별된 모듈이나 실행가능 코드의 컴포넌트는 컴퓨터 명령들의 하나 또는 그 이상의 물리적이나 논리적 블럭들을 포함할 수 있는데, 상기 명령들은 예를 들어 객체, 프로시져 또는 함수로 구성될 수 있다. 또한, 실행을 위해 식별된 모듈이 물리적으로 함께 위치할 필요는 없으며, 서로다른 위치에 저장된 분리된 명령들을 포함할 수 있고, 논리적으로 함께 연결되면, 상기 모듈을 포함하고 상기 모듈에 대해 명시된 목적을 달성한다.
또한, 실행가능한 코드의 모듈은 단일 명령이거나 많은 명령들일 수 있고, 심지어는 서로다른 프로그램들을 사이에서 몇몇의 다른 코드 세그먼트들로 그리고 몇몇 메모리 디바이스들을 거쳐서 분산될 수도 있다. 유사하게, 운용 데이터(operational data)가 모듈들안에서 식별되고 도시될 수 있고, 적절한 형태로 포함되고 적절한 타입의 데이터 구조안에서 조직될 수 있다. 상기 운용 데이터는 단일 데이터 세트로 통합될 수 있고, 별개의 메모리 디바이스들을 거쳐서, 다른 저장 디바이스들을 걸쳐 포함된 다른 위치들을 거쳐서 분산될 수 있고, 그리고 적어도 일부가 시스템이나 네트워크상의 단지 전자 신호로서 존재할 수 있다.
또한, 모듈들은 소프트웨어 및 하나 또는 그 이상의 하드웨어 디바이스들으 조합으로 구현될 수 있다. 예를 들어, 모듈들은 메모리 디바이스상에 저장된 소프트웨어 실행가능 코드의 조합으로 구현될 수 있다. 다른 실시예에서는, 모듈들은 운용 데이터의 세트를 동작하는 프로세서들의 조합일 수 있다. 그 외에도, 모듈은 전송 회로를 이용해서 통신가능한 전자 신호의 조합으로 구현될 수 있다.
본 상세한 설명 전체에서, "하나의 실시예", "일 실시예" 또는 유사한 구문은 상기 실시예와 연결되어 기술된 특정 특징, 구조 또는 특성들이 본 발명의 적어도 하나의 실시예에 포함된다는 것을 의미한다. 따라서, 본 상세한 설명에 있는 "일 실시예에서", "하나의 실시예에서" 및 유사한 문장 구문들의 존재는 동일한 실시예를(필수는 아니지만) 참조할 수 있다
또한, 본 발명의 기술된 특징, 구조 또는 특성들은 하나 또는 그 이상의 실시예들에서 적절한 방법으로 조합될 수 있다. 본 기술분야에서 통상의 기술을 가진 자들에 의해서, 본 발명의 권리범위에서 벗어남이 없이 다양한 수정 및 변형들이 본 발명에서 이루어질 수 있다. 따라서, 본 발명이 첨부된 청구항들 및 그들의 균등물의 권리범위안에서 본 발명의 수정 및 변형들을 포함할 수 있다는 점에 유념해야만 한다. 참조가 본 발명의 바람직한 실시예들에 대해 상세하게 이루어질 것이다.
일 실시예에서, 본 발명의 일 실시예에 따라, 본 발명은 컴퓨터 시스템이나 호스트 시스템상에서 구동하는 악성 소프트웨어나 멀웨어의 존재를 감지하기 위한 시스템을 제공한다. 도 1을 참조로 하면, 본 발명의 일 실시예에 따라, 참조 번호 100에서, 악성 소프트웨어나 멀웨어(예를 들어 컴퓨터 시스템상에서 구동하는 악성 서비스 에이전트)의 존재를 감지하기 위한 시스템의 일 실시예를 구조적으로 도시한다.
도 1에 도시된 바와 같이, 상기 시스템 인프라구조(100)는 네트워크(120)에 원격으로 연결된 제1 호스트 컴퓨터 시스템(102)을 포함한다. 일 실시예에서, 제1 호스트 컴퓨터 시스템(102)은 제1 호스트 컴퓨터 시스템(102)의 로컬 쿼리나 질의를 수행(conducting)하기 위해, 그안에 인스톨된 로컬 질의(interrogation) 에이전트 프로그램 또는 로컬 스캔 에이전트나 툴을 가진다. 상기 로컬 질의 에이전트나 소프트웨어는, 상기 제1 호스트 컴퓨터 시스템(102)상에서 현재 구동중인 로컬 태스크들 및 네트워크 서비스들을 결정하기 위해 제1 컴퓨터 시스템(102)상에서 구동된다. 또한, 상기 시스템 인프라구조(100)는 상기 네트워크(120)에 연결되고 상기 제1 호스트 컴퓨터 시스템(102)에 원격인 제2 호스트 컴퓨터(104)를 포함한다. 일 실시예에서, 상기 제2 호스트 컴퓨터(104)는 상기 제1 호스트 컴퓨터 시스템(102)상에서 현재 구동중인 태스크들이나 네트워크 서비스들의 원격 인벤토리를 열거하기(enumerating) 위해, 상기 제1 호스트 컴퓨터 시스템(102)에 원격 쿼리나 질의를 지시하기 위한 네트워크 질의 툴을 포함한다. 또한, 상기 시스템 인프라구조(100)는 상기 네트워크(120)에 연결된 제3 컴퓨터 시스템(106)을 포함하는데, 상기 제3 컴퓨터 시스템(106)은 상기 제1 컴퓨터 시스템(102)과 상기 제2 컴퓨터 시스템(104)으로부터 수신된 결과들을 연관시키기 위해, 그안에 배치된 결과 연관 엔진을 가진다. 일 실시예에서, 상기 제3 컴퓨터 시스템(106)은 상기 제1 호스트 컴퓨터 시스템(102)에 의해 지시된 로컬 쿼리나 질의의 결과들을 수집한다. 또한, 상기 제3 컴퓨터 시스템(106)은 상기 제1 호스트 컴퓨터 시스템(102)에 관해 상기 제2 호스트 컴퓨터 시스템(104)에 의해 수행된 원격 쿼리나 질의의 결과들을 수집한다. 또한, 상기 제1 호스트 컴퓨터 시스템(102)상에서 구동중인 악성 소프트웨어들(예를 들어 악성 서비스 에이전트)을 감지하기 위해, 상기 제1 호스트 컴퓨터 시스템(102)으로부터 획득된 로컬 인벤토리 결과들과 상기 제2 호스트 컴퓨터 시스템(104)으로부터 획득된 원격 인벤토리 결과들간의 차이를 식별하기 위해서, 상기 제3 컴퓨터 시스템(106)상에 배치된 결과 연관 엔진이 상기 제1 호스트 컴퓨터 시스템(102)에 의해 열거된 태스크들이나 네트워크 서비스 결과들의 로컬 인벤토리를 상기 제2 호스트 컴퓨터 시스템(104)에 의해 열거된 태스크들이나 네트워크 서비스 결과들의 원격 인벤토리와 비교한다. 또한, 일 실시예에서, 상기 제3 컴퓨터 시스템(106)은, 상기 제1 호스트 컴퓨터 시스템(102)상에서 구동중인 악성 소프트웨어의 존재를 감지하기 위해, 상기 제1 호스트 컴퓨터 시스템(102)에 의해 수행된 로컬 스캔과 상기 제1 호스트 컴퓨터 시스템(102)에 관해 상기 제2 호스트 컴퓨터 시스템(104)에 의해 수행된 원격 스캔간의 차이들을 나타내는 차이 보고서(108)를 생성하기 위한 보고 툴(reporting tool)을 포함한다.
도 2를 참조하면, 본 발명의 일 실시예에 따라서, 참조번호 200가 그안에 배치된 컴퓨터 프로그램 제품, 즉, 그안에서 구동하는 악성 소프트웨어를 가지는 것으로 의심되는 호스트 컴퓨터 시스템의 로컬 스캔이나 질의를 수행하기 위한 로컬 스캐닝 에이전트 프로그램이나 툴을 가지는, 호스트 컴퓨터 시스템이나 서버(예를 들어 도 1에 도시된 호스트 컴퓨터 시스템(102))의 일 예를 도시한다. 일 실시예에서, 상기 로컬 스캔 툴이나 프로그램(220)이 호스트 컴퓨터 시스템이나 서버(200) 내부에서 구동중이다. 바람직하게는, 상기 컴퓨터 시스템(200)은 중앙 처리 장치(CPU, 204), 로컬 저장 디바이스(202), 유저 인터페이스(206), 네트워크 인터페이스(208) 및 메모리(210)를 포함하는 컴퓨터 시스템이나 서버이다. 일반적으로 상기 CPU(204)는 상기 호스트 시스템/서버(200)안에서 동작들을 실행하도록 구성된다. 일 실시예에서, 상기 유저 인터페이스(206)는 상기 컴퓨터 시스템(200)의 로컬 스캔을 수행하기 위한 명령들 및/또는 데이터의 입력을 허용하는 것을 포함하여, 유저나 운영자가 상기 컴퓨터 시스템이나 서버(200)와 인터렉티브 할 있도록 구성된다. 일 실시예에서, 상기 네트워크 인터페이스(208)는 네트워크 통신 채널(예를 들어 도 1에 도시된 네트워크(120))을 통해서, 상기 호스트 시스템이나 서버(200)의 네트워트 통신을 용이하게 하도록 구성된다. 일 실시예에서, 상기 메모리(210)는 예를 들어 워드 프로세싱 애플리케이션(들), 스프레드시트 애플리케이션(들) 같은 하나 또는 그 이상의 애플리케이션이나 프로그램들(212)을 저장하도록 구성된다. 도 2에 도시된 바와 같이, 일 실시예에서, 상기 호스트 서버나 시스템(200)상에서 구동하는 로컬 스캔 에이전트 프로그램이나 툴(220)은 호스트 컴퓨터 시스템상에서 구동하는 태스크들 및 네트워크 서비스들의 로컬 인벤토리를 열거하기 위해, 상기 호스트 컴퓨터 시스템(200)의 로컬 스캔을 수행하는데 필수인 단계들을 기능적으로 실행하도록 구성된 다수의 모듈들을 포함하는 로직 유닛을 포함한다. 도 2에 도시된 바와 같이, 일 실시예에서, 상기 호스트 컴퓨터 시스템(200)상에서 구동하는 로컬 스캔 툴이나 에이전트 프로그램(220)은 개시 모듈(222), 태스크 모듈(224), 네트워크 서비스 모듈(226), 리스트 생성 모듈(228), 결과 로그 모듈(230), 포워딩 모듈(232) 및 통신 모듈(234)을 포함한다. 일 실시예에서, 상기 개시 모듈(222)은 상기 호스트 컴퓨터 시스템(200)의 로컬 스캔을 개시하도록 구성된다. 상기 태스크 모듈(224)은 상기 호스트 컴퓨터 시스템(200)상에서 구동하는 태스크들 모두를 열거하거나 나열하도록 구성된다. 더 나아가, 상기 네트워크 서비스 모듈(226)은 상기 호스트 컴퓨터 시스템(200)상에서 구동하는 네트워크 서비스들 모두를 열거하거나 나열하도록 구성된다. 일 실시예에서, 상기 리스트 생성 모듈(228)은 상기 호스트 컴퓨터 시스템상에서 구동하는 상기 태스크들 및 네트워크 서비스들 모두를 열거하는 리스트를 생성하도록 구성된다. 상기 결과 로그 모듈(230)은 상기 호스트 컴퓨터 시스템상에서 수행된 로그 스캔 결과들의 로그를 생성하도록 구성된다. 일 실시예에서, 상기 결과 로그 모듈(230)에 의해 생성된 로컬 스캔 결과 로그(214)는 상기 호스트 컴퓨터 시스템(200)내의 로컬 저장장치(202)에 저장된다. 상기 포워딩 모듈(232)은, 상기 호스트 컴퓨터 시스템(200)으로부터 수신된 상기 로컬 스캔 결과들을 평가하기 위해, 상기 호스트 컴퓨터 시스템(200)상에서 수행된 로컬 스캔의 결과들을 결과 연관 엔진을 포함하는 다른 컴퓨터 시스템(예를 들어 도 4에 도시된 컴퓨터 시스템(400))으로 포워드하도록 구성된다. 상기 통신 모듈(234)은 상기 로컬 스캔 툴(220)의 다양한 모듈들, 메모리(210), 로컬 저장장치(202) 및 네트워크를 통해 호스트 컴퓨터 시스템으로 연결된(결과 연관 엔진을 포함하는 컴퓨터 시스템과 같은) 외부 컴퓨터 시스템들간의 통신을 허용하도록 구성된다.
도 3을 참조로, 본 발명의 일 실시예에 따라, 참조번호(300)가 그 안에 배치된 컴퓨터 프로그램 제품, 즉 상기 제1 호스트 컴퓨터 시스템과의 연결들을 열기(open) 위해 그리고 그안에서 구동하는 악성 소프트웨어를 가지는 것으로 의심되는 제1 호스트 컴퓨터 시스템의 원격 스캔이나 질의를 수행하기 위한 원격 스캔 에이전트 프로그램이나 툴을 가지는 원격 호스트 컴퓨터 시스템이나 서버(예를 들어 도 1에 도시된 원격 호스트 컴퓨터 시스템(104))의 일 예를 도시한다. 일 실시예에서, 상기 원격 스캔 툴이나 프로그램(320)은 상기 제2 호스트 컴퓨터 시스템이나 서버(300)내에서 구동한다. 바람직하게는, 상기 컴퓨터 시스템(300)은 중앙 처리 장치(CPU, 304), 저장 디바이스(302), 유저 인터페이스(306), 네트워크 인터페이스(308) 및 메모리(310)를 포함하는 컴퓨터 시스템이나 서버이다. 일반적으로 상기 CPU(304)는 상기 호스트 시스템/서버(300)내에서 동작들을 실행하도록 구성된다. 일 실시예에서, 상기 유저 인터페이스(306)는 상기 컴퓨터 시스템(300)에 원격인 호스트 컴퓨터 시스템(예를 들어 도 2에 도시된 컴퓨터 시스템(200))의 원격 스캔을 수행하기 위한 명령들 및/또는 데이터의 입력을 허용하는 것을 포함해서, 유저나 운영자가 상기 컴퓨터 시스템이나 서버(300)와 인터렉트하는 것을 허용하도록 구성된다. 일 실시예에서, 상기 네트워크 인터페이스(308)는 네트워크(예를 들어 도 1에 도시된 네트워트(120))의 통신 채널을 통해서, 상기 호스트 시스템이나 서버(300)의 네트워크 통신을 용이하게 하도록 구성된다. 일 실시예에서, 상기 메모리(310)는 예를 들어 워드 프로세싱 애플리케이션(들), 스프레드시트 애플리케이션(들) 등과 같은 하나 또는 그 이상의 애플리케이션들이나 프로그램들(312)을 저장하도록 구성된다. 도 3에 도시된 바와 같이, 일 실시예에서, 상기 호스트 서버나 시스템(300)상에서 구동하는 원격 스캔 에이전트 프로그램이나 툴(320)은, 상기 원격 호스트 컴퓨터 시스템(200)상에서 구동하는 태스크들 및 네트워크 서비스들의 원격 인벤토리를 열거하기 위해, 상기 원격 컴퓨터 시스템(도 2, 200)의 원격 스캔을 수행하는데 필수인 단계들을 기능적으로 실행하도록 구성된 복수의 모듈들을 포함하는 로직 유닛을 포함한다. 도 3에 도시된 바와 같이, 일 실시예에서, 상기 호스트 컴퓨터 시스템(300)상에서 구동하는 원격 스캔 툴이나 에이전트 프로그램(320)은, 개시 모듈(322), 태스크 모듈(324), 네트워크 서비스 모듈(326), 리스트 생성 모듈(328), 결과 로그 모듈(330), 포워딩 모듈(332) 및 통신 모듈(334)을 포함한다. 일 실시예에서, 상기 개시 모듈(322)은 네트워크를 통해 상기 원격 호스트 컴퓨터 시스템(200)의 모든 부분들의 원격 스캔을 개시하도록 구성된다. 상기 태스크 모듈(324)은 상기 원격 호스트 컴퓨터 시스템(200)상에서 구동하는 태스크들 모두를 열거하거나 나열하도록 구성된다. 또한, 상기 네트워크 서비스 모듈(326)은 상기 원격 호스트 컴퓨터 시스템(200)상에서 구동하는 네트워크 서비스들 모두를 열거하거나 나열하도록 구성된다. 일 실시예에서, 상기 리스트 생성 모듈(328)은 상기 원격 호스트 컴퓨터 시스템(200)상에서 구동하는 상기 태스크들 및 네트워크 서비스들 모두를 열거하는 리스트를 생성하도록 구성된다. 상기 결과 로그 모듈(330)은 상기 원격 호스트 컴퓨터 시스템(200)에서 수행된 원격 스캔의 결과들의 로그를 생성하도록 구성된다. 일 실시예에서, 상기 결과 로그 모듈(330)에 의해 생성된 원격 스캔 결과 로그(314)는 상기 호스트 컴퓨터 시스템(300)내의 로컬 저장장치(302)에 저장된다. 상기 포워딩 모듈(332)은 상기 호스트 컴퓨터 시스템(300)으로부터 수신된 원격 스캔 결과들을 평가하기 위해, 상기 원격 호스트 컴퓨터 시스템(200)상에서 수행된 원격 스캔의 결과들을 결과 연관 엔진을 포함하는 다른 컴퓨터 시스템(예를 들어 도 4에 도시된 컴퓨터 시스템(400))으로 포워드하도록 구성된다. 상기 통신 모듈(334)은, 상기 원격 스캔 툴(320)의 다양한 모듈들, 메모리(310), 로컬 저장장치(302) 및 네트워크를 통해서 상기 호스트 컴퓨터 시스템(300)에 연결된 외부 컴퓨터 시스템들(예를 들어 결과 연관 엔진을 포함하는 도 4에 도시된 컴퓨터 시스템(400))간의 통신을 허용하도록 구성된다.
도 4를 참조로, 본 발명의 일 실시예에 따라, 참조번호(400)이, 상기 제1 컴퓨터 시스템상에서 구동하는 악성 소프트웨어이 존재를 감지하기 위해, 그안에 배치된 컴퓨터 프로그램, 즉 제1 호스트 컴퓨터 시스템이나 서버로부터 수신된 로컬 스캔 결과들과 그리고 제2 호스트 컴퓨터 시스템이나 서버로부터 수신된 상기 제1 호스트 컴퓨터 시스템의 원격 스캔 결과들을 연관시키기 위한 결과 연관 프로그램이나 툴 또는 엔진(420),을 가지는 컴퓨터 시스템이나 서버(예를 들어, 도 1에 도시된 컴퓨터 시스템(106))의 일 예를 도시한다. 바람직하게는, 상기 컴퓨터 시스템(400)은 중앙 처리 장치(CPU, 404), 저장 디바이스(402), 유저 인터페이스(406), 네트워크 인터페이스(408) 및 메모리(410)를 포함하는 컴퓨터 시스템이나 서버이다. 상기 CPU(404)는 일반적으로 상기 호스트 서버/시스템(400)내에서 동작들을 실행하도록 구성된다. 일 실시예에서, 상기 유저 인터페이스(406)는 하나 또는 그 이상의 컴퓨터 시스템들이나 서버들(예를 들어 컴퓨터 시스템(도 2의 200) 및/또는 컴퓨터 시스템(도 3의 300)과 같은)로부터 스캔 결과들을 수집하기 위한 명령들 및/또는 데이터의 입력을 허용하는 것을 포함해서, 유저나 운영자가 상기 컴퓨터 시스템이나 서버(400)와의 인터렉티브를 허용하도록 구성된다. 일 실시예에서, 상기 네트워크 인터페이스(408)는 네트워크(예를 들어 도 1에 도시된 네트워크(120))의 통신 채널을 통해서, 상기 컴퓨터 시스템이나 서버(400)의 네트워크 통신을 용이하게 하도록 구성된다. 일 실시예에서, 상기 메모리(410)는 예를 들어, 워드 프로세싱 애플리케이션(들), 스프레드시트 애플리케이션(들) 등과 같은 하나 또는 그 이상의 애플리케이션들이나 프로그램들(412)을 저장하도록 구성된다. 일 실시예에서, 도 4에 도시된 바와 같이, 상기 컴퓨터 서버나 시스템(400)상에서 구동하는 결과 연관 프로그램이나 툴(420)은, 상기 호스트 컴퓨터 시스템(200)상에서 구동하는 악성 소프트웨어나 멀웨어의 존재를 감지하기 위해, 상기 로컬 호스트 컴퓨터 시스템(도 2의 200)과 상기 원격 호스트 컴퓨터 시스템(도 3의 300) 둘 다로부터 수신된 스캔 결과들의 평가를 수행하는데 필수인 단계들을 기능적으로 실행하도록 구성된 복수의 모듈들을 포함하는 로직 유닛을 포함한다. 일 실시예에서, 도 4에 도시된 바와 같이, 상기 컴퓨터 시스템이나 서버(400)상에서 구동하는 결과 연관 프로그램이나 툴(420)은 수신 모듈(422), 비교 모듈(424), 평가 모듈(426), 플래그 모듈(428), 리포트 생성 모듈(430) 및 통신 모듈(432)을 포함한다. 일 실시예에서, 상기 수신 모듈(422)은 그안에서 구동하는 악성 소프트웨어나 멀웨어를 가지는 것으로 의심되는 호스트 컴퓨터 서버나 시스템으로부터의 로컬 스캔 결과들과 그리고 네트워크를 통해 상기 호스트 컴퓨터 시스템이나 서버의 원격 스캔을 수행하는 원격 컴퓨터 시스템이나 서버로부터의 원격 스캔 결과들 둘 다를 수신하도록 구성된다. 상기 비교 모듈(424)은, 로컬 스캔의 수행 결과로서 상기 호스트 컴퓨터 시스템(200)상에서 구동되고 있는 것으로 열거된 모든 태스크들의 리스트와, 상기 호스트 컴퓨터 시스템(200)상에서 수행된 원격 스캔의 결과로서 상기 호스트 컴퓨터 시스템(200)상에서 구동되고 있는 것으로 열거된 모든 원격 태스크의 리스트를 비교하도록 구성된다. 일 실시예에서, 상기 비교 모듈(424)은, 상기 로컬 컴퓨터 시스템에 의해 상기 로컬 포트로부터 획득된 서비스 리스트들을, 상기 원격 컴퓨터 시스템에 의해 동일한 포트로부터 원격으로 획득된 서비스 리스트에 대비하여 비교한다. 또한, 상기 평가 모듈(426)은, 상기 로컬 스캔 결과들과 상기 원격 스캔 결과들간에 발견된 차이점들이 있는지 여부에 대해서, 로컬 저장장치(402)내 연관 결과 로그(414)에 저장되는 연관 결과들을 생성하기 위해서, 상기 비교 모듈(424)에 의해 수행된 비교를 평가하도록 구성된다. 상기 플래그 모듈(428)은 상기 평가 모듈(426)에 의해 수행된 평가의 결과로서, 그 안에서 구동하는 악성 소프트웨어나 멀웨어를 가지는 것을 의심되는 컴퓨터 시스템에 플래그(flag)하도록 구성된다. 상기 리포트 생성 모듈(430)은 상기 컴퓨터 시스템(400)에 의해 평가된 상기 로컬 스캔과 상기 원격 스캔간에 발견된 차이점들을 나열하는 차이 리포트를 생성하도록 구성된다. 일 실시예에서, 상기 통신 모듈(432)은 결과 연관 툴(420)의 다양한 모듈들, 메모리(410), 로컬 저장장치(402) 및 네트워크를 통해 상기 컴퓨터 시스템(400)에 연결된 외부 컴퓨터 시스템들(예를 들어 컴퓨터 시스템(도 2의 200) 및 컴퓨터 시스템(도 3의 300))간에 통신을 허용하도록 구성된다.
도 5를 참조로, 본 발명의 일 실시예에 따라, 상기 컴퓨터 시스템(504)의 로컬 스캔을 동적으로 수행하기 위해 본 발명에서 구현하는 내부에 컴퓨터 프로그램 제품(즉 로컬 스캔 에이전트 프로그램이나 툴(514))을 배치하고 있는 서버나 컴퓨터 시스템(504)을 포함하는 인프라구조(502)안에 있는 시스템(500)이 도시되어 있다. 상기 컴퓨터 프로그램 제품은 컴퓨터 판독가능이나 컴퓨터 사용가능 저장 매체를 포함하는데, 이는 컴퓨터 서버나 컴퓨터 시스템 또는 임의의 명령 실행 시스템에 의해서나 이와 연결하여 사용하기 위한 컴퓨터 프로그램 코드(즉, 로컬 스캔 에이전트 프로그램이나 툴(514))를 제공한다. 상기 로컬 스캔 프로그램이나 툴(514)은 예를 들어 자기 테이프나 디스크, 광 매체, DVD, 메모리 스틱, 반도체 메모리 등과 같은 컴퓨터 판독가능 저장 매체나 미디어(참조번호 516)로부터 호스트 컴퓨터 시스템(504)의 메모리(514)에 로드되거나, 각각의 시스템들이나 서버들상에 인스톨된 네트워크 아답터 카드(참조번호 518)를 통해 서버로부터 다운로드될 수 있다.
도 5에 도시된 바와 같이, 시스템(500)은 컴퓨터 인프라구조(502)를 포함하는데, 이는 보안 환경(즉, 엑세스 제어가 강제되는)에서 유지되는 컴퓨터 아키텍쳐의 임의의 타입을 나타내려는 의도이다. 또한, 도시된 바와 같이, 인프라구조(502)는 로컬 스캔 에이전트 프로그램이나 툴(514)을 포함하는 애플리케이션 서버나 시스템(504) 등을 일반적으로 나타내는 컴퓨터 서버나 시스템(504)을 포함한다. 그러나, 도시되어 있지는 않으나, 다른 하드웨어 및 소프트웨어 컴포넌트들(예를 들어, 추가적인 컴퓨터 시스템들, 라우터들, 방화벽들 등)이 인프라구조(502)에 포함될 수 있다는 점에 유념해야 한다.
일반적으로, 상기 호스트 시스템(504)은 네트워크를 통해서 인프라구조(502)에 연결된다. 상기 호스트 시스템(504)은 호스트 컴퓨터 시스템(504)상에서 현재 구동되는 태스크들 및 네트워크 서비스들의 로컬 스캔을 수행하기 위해 상기 호스트 시스템(504)상에서 구동되는 로컬 스캔 툴이나 에이전트 프로그램(514)을 포함한다. 또한, 도 5를 참조하면, 상기 호스트 시스템(504)(도 1의 컴퓨터 시스템(102))은, 도 1을 참조로 상술한 바와 같이 네트워크(도 1의 참조번호 120)를 통해서 컴퓨터 서버나 시스템(530)(도1의 컴퓨터 시스템(104)) 및/또는 컴퓨터 서버나 시스템(540)(도 1의 컴퓨터 시스템(106)과 통신할 수 있다. 예를 들어, 상기 컴퓨터 시스템이나 서버(530)는, 예를 들어 자기 테이프나 디스크, 광 미디어, DVD, 메모리 스틱, 반도체 메모리 등과 같은 컴퓨터 판독가능 저장 매체나 미디어(참조번호 532)로부터 호스트 컴퓨터 시스템(530)의 로컬 메모리(533)로 로드되거나, 또는 각각의 시스템이나 서버(530)상에 인스톨된 네트워크 아답터 카드(참조 번호(554))를 통해서 상기 서버로부터 다운로드되는 원격 스캔 프로그램이나 툴(534)을 이용해서 상기 컴퓨터 시스템이나 서버(504)의 원격 스캔을 구동하기 위해서, 인프라구조(502)와 인터페이스 할 수 있다. 유사하게, 상기 컴퓨터 시스템이나 서버(504)는 시스템이나 서버(504)에 의해 수행된 로컬 스캔의 결과들을 수신하기 위해서 인프라구조(502)와 인터페이스 할 수 있고, 상기 서버(530)에 의해 수생된 상기 컴퓨터 시스템이나 서버(504)의 원격 스캔의 결과들을 수신할 수 있다. 일 실시예에서, 결과 연관 툴이나 프로그램은 예를 들어, 자기 테이프나 디스크, 광 미디어, DVD, 메모리 스틱, 반도체 메모리 등과 같은 컴퓨터 판독가능 저장 매체나 미디어(참조번호 542)로부터 호스트 컴퓨터 시스템(540)의 로컬 메모리(543)으로 로드되거나 또는 각각의 시스템이나 서버(540)에 인스톨된 네트워크 아답터 카드(참조번호 556)를 통해서 서버로부터 다운로드된다. 이에 따라, 상기 컴퓨터 시스템이나 서버(540)는, 컴퓨터 시스템(504)에 의해 수행된 로컬 스캔의 결과들 그리고 컴퓨터 시스템(504)에 관해 컴퓨터 시스템(530)에 의해 수행된 원격 스캔의 결과들을 수신하고, 그리고 상기 호스트 시스템(504)이 악성 소프트웨어나 멀웨어를 구동하기 있는지 여부를 결정하기 위해서 로컬 스캔 결과들을 원격 스캔 결과들과 비교할 수 있다. 본 발명하에서는 인프라구조(502)는 예를 들어 제공자(526)와 같은 파티에 의해서 또는 독립적인 엔티티에 의해서 소유되거나 및/또는 동작될 수 있다는 점이 이해되어져야 한다. 인프라구조(502)의 사용 및 여기서 기술된 내용들은 회비나 요금 기반으로 파티들에 제공될 수 있다. 상기 호스트 컴퓨터 시스템이나 서버(504)는 CPU(여기서는 "처리 유닛(506)"으로), 메모리(512), 버스(510), 및 입/출력(I/O) 인터페이스(508)을 포함하는 것으로 도시되어 있다. 또한, 상기 서버(504)는 외부 I/O 디바이스/리소스들(520) 및 저장 시스템(522)와 통신하는 것으로 도시되어 있다. 일반적으로, 처리 유닛(506)은 상기 컴퓨터 시스템(504)상에서 현재 구동중인 태스크들 및 서비스들 결정하기 위해, 예를 들어 로컬 스캔 에이전트 프로그램이나 툴(514)과 같이 메모리(512)에 저장된 컴퓨터 프로그램 코드를 실행한다. 일 실시예에서, 상기 로컬 스캔 에이전트 프로그램이나 툴(514)의 실행에 의해 제공된 로컬 스캔 결과들(524)은 저장장치(522)에 저장되어 있다. 도 5에 미도시되어 있으나, 상기 컴퓨터 시스템들이나 서버들(530 및 540)은 컴퓨터 시스템(504)와 유사하게, 각각 CPU, 메모리, 버스 및 입/출력(I/O) 인터페이스들을 포함한다. 또한, 상기 서버(530)는 외부 I/O 디바이스들/리소스들(미도시) 및 저장 시스템(536)과 통신중인 반면, 컴퓨터 시스템이나 서버(540)는 I/O 디바이스들이나 리소스들(미도시) 및 저장 시스템(546)과 통신중이다. 일반적으로, 처리 유닛(506)은 상기 컴퓨터 시스템(504)상에서 현재 구동중인 태스크들 및 서비스들 결정하기 위해서, 예를 들어 로컬 스캔 에이전트 프로그램이나 툴(514)과 같이 메모리(512)에 저장된 컴퓨터 프로그램 코드를 실행하는 반면, 컴퓨터 시스템(530)의 처리 유닛은 상기 컴퓨터 시스템(504)에서 구동중인 태스크들 및 서비스들을 결정하기 위해서, 예를 들어 원격 스캔 에이전트 프로그램(534)와 같이, 메모리(533)에 저장된 컴퓨터 프로그램 코드를 실행한다. 유사하게, 컴퓨터 시스템(540)의 처리 유닛은 상기 컴퓨터 시스템(504)의 로컬 스캔과 원격 스캔간의 차이를 결정하기 위해, 예를 들어 결과 연관 툴이나 프로그램(544)와 같이 메모리(543)에 저장된 컴퓨터 프로그램 코드를 실행한다. 더 나아가, 일 실시예에서, 컴퓨터 시스템(504)상에서 구동중인 로컬 스캔 에이전트 프로그램이나 툴(514)의 실행에 의해 제공된 로컬 스캔 결과들(524)은 저장장치(522)에 저장되고, 반면에 상기 원격 스캔 에이전트(534)의 실행에 의해 제공된 원격 스캔 결과들(538)은 컴퓨터 시스템(530)의 저장장치(536)에 저장되고, 그리고 반면에 컴퓨터 시스템(540)상의 결과 연관 툴(544)의 실행에 의해 제공된 연관 결과들(548)은 컴퓨터 시스템(540)의 저장장치(546)에 저장된다. 상기 컴퓨터 시스템(504)상에서 로컬 스캔 툴이나 프로그램(514)이 실행되는 동안, 상기 처리 유닛(506)은 데이터를 메모리(512), 저장 시스템(522), 및/또는 입/출력 인터페이스(508)로부터/이들로 판독 및/또는 기록할 수 있다(예를 들어 저장장치(522)내 저장된 로컬 스캔 결과들(524)). 또는, 상기 로컬 스캔 툴(514)은 상기 로컬 스캔 결과들(524)을 메모리(512)에 저장할 수 있다. 버스(510)는 컴퓨터 시스템(500)내 컴포넌트들 각각간의 통신 링크를 제공하고, 이에 따라 정보가 인프라구조(502)안에서 통신될 수 있다. 외부 디바이스들(524)은 유저가 컴퓨터 시스템(500)과 인터렉티브 하도록 하는 임의의 디바이스들(예를 들어 키보드, 포인팅 디바이스, 디스플레이 등) 및/또는 호스트 시스템(504)이 하나 또는 그 이상의 다른 컴퓨팅 디바이스들(에를 들어 서버들(530 및/또는 540))과 통신할 수 있도록 하는 임의의 디바이스들(예를 들어 네트워크 카드, 모뎀 등)을 포함할 수 있다. 유사하게, 상기 컴퓨터 시스템(530)상의 원격 스캔 툴이나 프로그램(534)이 실행되는 동안, 상기 처리 유닛은 데이터를 메모리(533), 저장 시스템(536)로부터/이들로 판독 및/또는 기록할 수 있다(예를 들어 저장장치(536)에 저장된 로컬 스캔 결과들(538)). 또는, 상기 원격 스캔 툴(534)은 메모리(533)에 원격 스캔 결과들(538)를 저장할 수 있다. 또한, 상기 컴퓨터 시스템(540)상에 결과 연관 툴이나 프로그램(544)을 실행하는 동안, 상기 처리 유닛은 메모리(543), 저장 시스템(546)으로/이들로부터 데이터를 판독 및/또는 기록할 수 있다(예를 들어 저장 시스템(546)내 저장된 연관 결과들(548)). 대안으로, 상기 결과 연관 툴(544)은 메모리(543)에 연관 결과들(548)을 저장할 수 있다.
컴퓨터 인프라구조(502)는 단지 본 발명을 구현하기 위한 컴퓨터 인프라구조들의 다양한 타입들 중 일 예일 뿐이다. 예를 들어, 일 실시예에서, 컴퓨터 인프라구조(502)는 본 발명의 다양한 프로세스 단계들을 수행하기 위해, 네트워크를 통해 통신하는 둘 또는 그 이상의 서버 그룹들이나 클러스터들 포함할 수 있다. 또한, 컴퓨터 시스템(500)은 하드웨어의 수많은 조합을 포함할 수 있는 다양한 후보 컴퓨터 시스템들의 단지 일 예일 뿐이다. 이러한 관점에서, 다른 실시예들에서, 컴퓨터 시스템(500)은 특정 기능들을 수행하기 위한 하드웨어 및/또는 컴퓨터 프로그램 코드를 포함하는 전용 컴퓨팅 제품, 전용 및 범용 하드웨어/소프트웨어의 조합을 포함하는 컴퓨팅 제품 등을 포함할 수 있다. 각각의 경우, 상기 프로그램 코드 및 하드웨어는 각각 표준 프로그래밍 및 엔지니어링 기술들을 이용해서 생성될 수 있다. 또한, 처리 유닛(506)은 단일 처리 유닛을 포함하거나, 또는 하나 또는 그 이상의 위치들(예를 들어 클라이언트 및 서버상에)내 하나 또는 그 이상의 처리 유닛들을 거쳐서 분산될 수 있다. 유사하게, 메모리(512) 및/또는 저장 시스템(522)은 하나 또는 그 이상의 물리적 위치상에 위치하는 데이터 저장장치 및/또는 전송 매체의 다양한 타입들의 조합을 포함할 수 있다. 또한, I/O 인터페이스(508)은 하나 또는 그 이상의 외부 디바이스(520)와 정보를 교환하기 위한 시스템을 포함할 수 있다. 더 나아가, 도 5에 도시되지 않은 하나 또는 그 이상의 추가 컴포넌트들(예를 들어 시스템 소프트웨어, 수치 연산 프로세서(math co-processing unit) 등)이 컴퓨터 시스템(500)에 포함될 수 있다는 점이 이해되어져야 한다. 저장 시스템(522, 536 및 546)은 본 발명하에서 정보에 대한 저장공간을 제공할 수 있는 임의의 타입의 시스템(예를 들어 데이터베이스)일 수 있다. 여기서, 저장 시스템들(522, 536 및 546)은 하나 또는 그 이상의 저장 디바이스들(예를 들어 자기 디스크 드라이브나 광 디스크 드라이브)을 포함할 수 있다. 다른 실시예에서, 시스템들(522, 536 및 546)은 예를 들어 LAN(local area network), WAN(wide area network) 또는 SAN(storage area network)(미도시)등을 거쳐서 분산된 데이터를 포함한다. 미도시되어 있으나, 추가 컴포넌트들, 예를 들어 캐시 메모리, 통신 시스템, 시스템 소프트웨어 등이 컴퓨터 시스템(500)에 통합될 수 있다.
다른 실시예에서, 본 발명은 컴퓨터 시스템이나 호스트 컴퓨터 시스템상에서 구동하는 악성 소프트웨어 및 멀웨어의 존재를 감지하기 위한 방법이나 프로세스(본 발명의 일 실시예에 따라)를 제공한다. 이제, 도 6을 참조하면, 본 발명의 일 실시예에 따라, 참조번호(600)가 내부에서 구동하는 원치않는 멀웨어나 악성 소프트웨어를 가지는 것으로 의심되는 호스트 컴퓨터 시스템에 의해 수행된 단계들의 개요를 보여준다. 도 6에 도시된 바와 같이, 단계 602에서, 로컬 스캔 소프트웨어 툴이나 에이전트 프로그램이, 현재 구동중이거나 액티브인 네트워크 서비스들의 리스트를 획득하기 위해, 그안에서 구동중인 악성 소프트웨어나 멀웨어를 가지는 것으로 의심되는 "의심(suspicious)" 호스트 컴퓨터 시스템상에서 로컬로 구동된다. 단계 604에서, 상기 호스트상에 로컬로 구동하는 로컬 스캔 툴이나 에이전트 프로그램이 현재 구동중이거나 엑티브인 서비스들과 상기 호스트 컴퓨터 시스템에서 사용중인 그들의 각 포트들을 나열하거나 열거한다. 상기 액티브 서비스들 및 상기 호스트 컴퓨터 시스템에서 사용중인 그들의 각각의 포트들을 나열하거나 열거하는 로컬 스캔 결과들이, 상기 네트워크상의 다른 컴퓨터 시스템(즉, 도 8에 관해 이하에서 후술되는 바와 같이 스캔 결과들의 비교 및 평가를 위한 결과 연관 엔진을 구동하는 결과 연관 컴퓨터 시스템)으로 전송된다(단계 606).
이제 도 7을 참조하면, 본 발명의 일 실시예에 따라 참조번호(700)가 호스트 컴퓨터 시스템상에서 구동하는 원치않는 멀웨어나 악성 소프트웨어의 존재를 감지하기 위해, 상기 호스트 컴퓨터 시스템에서 떨어져 있는 컴퓨터 시스템인 원격 컴퓨터 시스템에 의해 수행되는 단계들을 개략적으로 도시한다. 원격 스캔 툴이나 에이전트 프로그램이 네트워크를 통해 호스트 컴퓨터 시스템에 원격으로 연결하고, 상기 호스트 컴퓨터 시스템상의 열린(open) 네트워크 포트들의 리스트를 얻기 위해, 원격 컴퓨터 시스템에서 구동한다(단계 702). 단계 704에서, 상기 원격 스캔 툴이나 에이전트 프로그램이, 상기 호스트 컴퓨터 시스템에서 현재 구동중이거나 액티브인 네트워크 서비스들과 상기 호스트 컴퓨터 시스템에서 사용중인 그들의 각 포트들을 나열하고 열거하기 위해서, 원격으로 연결한다. 일 실시예에서, 상기 원격 스캔 컴퓨터 시스템은 상기 호스트 컴퓨터 시스템상의 각 열린 포트에 연결하려고 시도하고, 그리고 상기 서비스가 알려진것인지 또는 공통 서비스인지 아닌지를 결정하기 위해 구동중인 서비스들에 관해 질의를 수행한다. 그런, 열린, 닫힌 및 필터링된 포트들의 리스트는 원격 컴퓨터 시스템에 의해 획득된다. 또한, 상기 네트워크를 통해 볼수 있는 상기 네트워크 포트들 및 서비스들을 나열하거나 열거하는 원격 스캔 결과들은, 도 8에서 후술되는 것과 같이 상기 스캔 결과들의 비교 및 평가를 위해 결과 연관 엔진을 구동하는 상기 결과 연관 컴퓨터 시스템으로 전송된다(단계 706).
도 8을 참조하면, 본 발명의 일 실시예에 따라, 참조번호(800)가 상기 호스트 컴퓨터 시스템상에서 구동하는 원치않는 멀웨어나 악성 소프트웨어의 존재를 감지하기 위해, 결과 연관 컴퓨터 시스템에 의해 수행되는 단계들을 간략히 나타낸다. 상기 결과 연관 컴퓨터 시스템이 상기 호스트 컴퓨터 시스템으로부터 상기 로컬 스캔 결과들을 수신하고(단계 802), 상기 결과 연관 컴퓨터 시스템이 상기 원격 컴퓨터 시스템으로부터 원격 스캔 결과들을 수신한다(단계 804). 결과 연관 엔진을 구동하는 결과 연관 컴퓨터 시스템이, 차이점에 대해서 호스트 컴퓨터 시스템상에서 구동하는 네트워크 서비스들의 로컬 리스트(상기 로컬 스캔에 대응)와 원격 리스트(상기 원격 스캔에 대응)를 비교한다(단계 806). 발견된 차이점들은 숨겨진 서비스들을 의미하고 원치않는 소프트웨어나 멀웨어를 시사한다. 상기 결과 연관 엔진이 상기 로컬 리스트와 원격 리스트간에 차이가 있는지 아닌지를 결정한다(단계 810). 단계 810에서 상기 결과 연관 엔진이 상기 호스트 컴퓨터 시스템상에서 구동하는 네트워크 서비스들의 로컬 리스트와 원격 리스트간에 차이가 없다라고 결정하면, 즉, 발견된 의심되는 네트워크 차이점들이 발견되지 않았다면, 상기 프로세스는 종료된다(단계 812). 그러나, 만약 단계 810에서 상기 결과 연관 엔진이 상기 호스트 컴퓨터 시스템상에서 구동하는 네트워크 서비스들의 로컬 리스트와 원격 리스트간에 발견된 하나 또는 그 이상의 차이점들이 있다라고 결정하면, 즉, 상기 호스트 컴퓨터 시스템상에서 구동하는 원치않거나 악성 소프트웨어와 연관되었을거 같은 발견된 의심스러운 네트워크 차이점들이 있다면, 상기 결과 연관 엔진은 상기 차이점들을 기록하고 로그를 남긴다(단계 814). 또한, 상기 결과 연관 엔진은 상기 "의심스러운" 호스트 컴퓨터 시스템을 감염 가능으로 플래그하거나 식별한다(단계 816). 더 나아가, 추가 테스트들이 상기 플래그된 호스트 컴퓨터 시스템들상에서 이루어지고, 상기 플래그된 호스트 컴퓨터 시스템은 발견된 차이점 그리고 상기 호스트 컴퓨터 시스템상에 현재 인스톨된 악성이나 원치않는 소프트웨어의 특징(nature)을 평가하기 위해 모니터링 되면서, 상기 프로세스는 종료된다(단계 818). 일 실시예에서, 상기 호스트 컴퓨터 시스템이, 결과 연관 엔진에 의해 발견된 차이점들을 테스트 및/또는 평가하기 위해 하나 또는 그 이상의 테스트 프로그램들을 그안에 배치하고 있다. 본 기술분야에서 통상의 기술을 가진 자들은 상기 호스트 컴퓨터 시스템의 테스트 및 평가가 수동(필요하다면 관리자에 의해서)으로 구현될 수 있다는 점을 이해할 것이다.
따라서, 본 발명은 일 실시예에 따라 컴퓨터 시스템이나 호스트 컴퓨터 시스템상에서 구동하는 악성 소프트웨어 및 멀웨어를 감지하기 위한 시스템, 방법 및 프로그램 제품을 제공한다. 상기 호스트 컴퓨터를 로컬 및 원격 둘다를 질의하기 위한 기능을 필요로 한다. 로컬 질의는 로컬로 인스톨된 에이전트(유저나 관리자-레벨 엑세스)를 통해 일반적으로 관리자-레벨 엑세스를 필요로하는 표준 네트워크 서비스 질의를 통해서 수행될 수 있다. 상기 호스트 컴퓨터 시스템의 원격 서비스 질의는 표준 포트 스캔 및 취약(vulnerability) 스캔 기술들을 가지고 수행될 수 있다. "의심 호스트"로 명명된 디바이스는 원래 "의심"스렀거나 아닐 수 있고, 상기 호스트의 질의는 원치않는 서비스들의 악성 활동 및 인스톨을 사전 감지하기 위한 루틴/스케쥴된 이벤트일 수 있다. 네트워크 서비스들의 로컬 호스트 열거는 디폴트 운영 시스템 쿼리 툴들이나 커스텀 툴들의 사용을 통해서 이루어질 수 있다. 상기 네트워크 질의자는 오픈 포트들을 식별하고 이들 뒤의 서비스들을 열거하기 위해, 표준 원격 포트 스캔 기술들을 사용할 수 있다. 상기 결과 연관 엔진은, 상기 "로컬 스캔 결과들"과 상기 "원격 네트워크 스캔 결과들"간에 식별된 차이점들에 대해 처리하는 것이 목적인 적절한, 독립형 디바이스, 네트워크 질의 툴세트의 일부, 또는 추가 소프트웨어의 일부일 수 있다.
본 발명의 특정 실시예들의 상기 기술들이 도시 및 기술을 위한 목적으로 표시되었다. 기술된 특정 형태들로 본 발명을 제한하거나 한정하려는 의도는 아니며, 따라서 많은 변형들 및 수정들이 상기 기술들에 비추어 가능하다. 실시예들은 본 발명의 사상과 응용 애플리케이션을 가장 잘 설명하기 위해, 이에 따라 본 기술분야에서 통상의 기술을 가진 다른 자들이 특정 구현에 적합하게 다양한 수정으로 본 발명과 다양한 실시예들을 가장 잘 활용할 있도록 하기 위해서, 선택되고 기술되었다. 본 발명의 권리범위는 이하에서 첨부된 청구항들 및 이들의 균등물들에 의해 정의되려는 의도이다.

Claims (13)

  1. 컴퓨터 시스템상에서 구동하는 악성 서비스 에이전트(malicious service agent)의 존재를 감지하기 위한 방법으로서,
    상기 컴퓨터 시스템상에서 구동하는 악성 서비스 에이전트의 존재를 감지하기 위하여, 상기 컴퓨터 시스템상에서 현재 구동하는 태스크들(tasks) 및 네트워크 서비스들의 로컬 인벤토리를 포함하는 리스트를 생성하도록, 컴퓨터 시스템을 로컬로 쿼리하는 단계(locally querying) -상기 태스크들 및 네트워크 서비스들의 로컬 인벤토리는 상기 컴퓨터 시스템상에서 사용중인 각 포트를 나열하는 리스트를 더 포함-;
    상기 컴퓨터 시스템상에서 구동하는 상기 악성 서비스 에이전트의 존재를 감지하기 위하여, 상기 컴퓨터 시스템상에서 현재 구동하는 태스크들 및 네트워크 서비스들의 원격 인벤토리의 리스트를 생성하도록, 원격 컴퓨터 시스템으로부터 상기 컴퓨터 시스템을 네트워크를 통해 원격으로 쿼리하는 단계 -태스크들 및 네트워크 서비스들의 상기 원격 인벤토리는 상기 컴퓨터 시스템상에서 사용중인 각 포트들을 나열하는 리스트를 더 포함-;
    태스크들 및 네트워크 서비스들의 로컬 인벤토리와 태스크들 및 네트워크 서비스들의 원격 인벤토리를 수집하는 단계; 및
    상기 컴퓨터 시스템상에서 구동하는 상기 악성 서비스 에이전트의 존재를 감지하기 위해, 상기 태스크들 및 네트워크 서비스들의 로컬 인벤토리와 상기 태스크들 및 네트워크 서비스들의 원격 인벤토리간의 차이점들(discrepancies)을 식별하도록, 상기 태스크들 및 네트워크 서비스들의 로컬 인벤토리를 상기 태스크들 및 네트워크 서비스들의 원격 인벤토리와 비교하는 단계;를
    포함하는 방법.
  2. 제1항에 있어서,
    상기 로컬로 쿼리하는 단계는
    상기 컴퓨터 시스템상에서 구동하는 상기 악성 서비스 에이전트의 존재를 감지하는 단계; 및
    상기 감지하는 단계에 응답하여, 상기 컴퓨터 시스템을 로컬로 쿼리하기 위해 상기 컴퓨터 시스템의 로컬 스캔을 수행하는 단계;를 더 포함하는
    방법.
  3. 제1항에 있어서,
    상기 원격으로 쿼리하는 단계는
    상기 컴퓨터 시스템상에서 구동하는 상기 악성 서비스 에이전트의 존재를 원격으로 감지하는 단계; 및
    상기 원격으로 감지하는 단계에 응답하여, 상기 컴퓨터 시스템을 원격으로 쿼리하기 위해, 상기 컴퓨터 시스템의 원격 스캔을 수행하는 단계를 더 포함하는
    방법.
  4. 제1항에 있어서,
    상기 각 포트들 중 하나의 포트는
    열린 포트(open port), 닫힌 포트(closed port) 및 필터된 포트 중 적어도 하나를 포함하는
    방법.
  5. 제1항에 있어서,
    상기 컴퓨터 시스템상에서 구동하는 상기 악성 서비스 에이전트의 존재를 결정하기 위해, 상기 식별된 차이점들을 평가하기 위한 추가 테스트들을 수행하도록 상기 식별된 차이점들을 가지는 상기 컴퓨터 시스템을 플래그하는 단계(flagging)를 더 포함하는
    방법.
  6. 제2항 또는 제3항에 있어서,
    상기 로컬 및/또는 원격 스캔 단계는
    상기 컴퓨터 시스템상에서 열린것으로 식별된 각 포트와 통신을 개시하는 단계; 및
    식별된 열린 포트 각각에 대해, 열린 포트를 가지고 동작하는 서비스가 알려진 서비스인지 여부를 결정하는 단계를 더 포함하는
    방법.
  7. 컴퓨터 시스템상에서 구동하는 악성 서비스 에이전트의 존재를 감지하기 위한 시스템에 있어서,
    상기 컴퓨터 시스템상에서 구동하는 악성 서비스 에이전트의 존재를 감지하기 위하여, 상기 컴퓨터 시스템상에서 현재 구동하는 태스크들 및 네트워크 서비스들의 로컬 인벤토리를 포함하는 리스트를 생성하도록 컴퓨터 시스템을 로컬로 쿼리하는 수단 -상기 태스크들 및 네트워크 서비스들의 로컬 인벤토리는 상기 컴퓨터 시스템상에서 사용중인 각 포트들을 나열하는 리스트 수단을 더 포함함-;
    상기 컴퓨터 시스템상에서 구동하는 상기 악성 서비스 에이전트의 존재를 감지하기 위하여, 상기 컴퓨터 시스템상에서 현재 구동하는 태스크들 및 네트워크 서비스들의 원격 인벤토리의 리스트를 생성하도록, 원격 컴퓨터 시스템으로부터 상기 컴퓨터 시스템을 네트워크를 통해서 원격으로 쿼리하는 수단 -상기 태스크들 및 네트워크 서비스들의 원격 인벤토리는 상기 컴퓨터 시스템상에서 이용중인 각 포트들을 나열하는 리스트를 더 포함-;
    태스크들 및 네트워크 서비스들의 로컬 인벤토리와 태스크들 및 네트워크 서비스들의 원격 인벤토리를 수집하는 수단; 및
    상기 컴퓨터 시스템상에서 구동하는 상기 악성 서비스 에이전트의 존재를 감지하기 위해, 태스크들 및 네트워크 서비스들의 로컬 인벤토리와 태스크들 및 네트워크 서비스들의 원격 인벤토리간의 차이점들을 식별하도록, 태스크들 및 네트워크 서비스들의 로컬 인벤토리를 태스크들 및 네트워크 서비스들의 원격 인벤토리와 비교하는 수단;을 포함하는
    시스템.
  8. 제7항에 있어서,
    상기 로컬로 쿼리하는 수단은
    상기 컴퓨터 시스템상에서 구동하는 상기 악성 서비스 에이전트의 존재를 감지하는 수단; 및
    감지하는 수단에 응답하여, 상기 컴퓨터 시스템을 로컬로 쿼리하기 위해 상기 컴퓨터 시스템의 로컬 스캔을 수행하는 수단;을 더 포함하는
    시스템.
  9. 제7항에 있어서,
    상기 원격으로 쿼리하는 수단은
    상기 컴퓨터 시스템상에서 구동하는 상기 악성 서비스 에이전트의 존재를 원격으로 감지하는 수단; 및
    원격으로 감지하는 수단에 응답하여, 상기 컴퓨터 시스템을 원격으로 쿼리하기 위해, 상기 컴퓨터 시스템의 원격 스캔을 수행하는 수단;을 더 포함하는
    시스템.
  10. 제7항에 있어서,
    상기 각 포트들 중 하나의 포트는
    열린 포트(open port), 닫힌 포트(closed port) 및 필터된 포트 중 적어도 하나를 포함하는
    시스템.
  11. 제7항에 있어서,
    상기 컴퓨터 시스템상에서 구동하는 상기 악성 서비스 에이전트의 존재를 감지하기 위해, 상기 식별된 차이점들을 평가하기 위하여 추가 테스트들을 수행하도록 상기 식별된 차이점들을 가지는 상기 컴퓨터 시스템을 플래그(flagging)하는 수단을 더 포함하는
    시스템.
  12. 제8항 또는 제9항에 있어서,
    상기 로컬 및/또는 원격 스캔 단계는
    컴퓨터 시스템상에서 열린것으로 식별된 각 포트들과 통신을 개시하고 그리고 각 식별된 열린 포트에 대해, 상기 열린 포트를 가진 서비스 동작이 알려진 서비스인지 여부를 결정하는 수단을 더 포함하는
    시스템.
  13. 디지털 컴퓨터의 내부 메모리로 로드가능한 컴퓨터 프로그램에 있어서, 상기 제품이 컴퓨터상에서 구동할 때, 청구항들 제1항 내지 제6항에 청구된 발명을 처리하도록 수행하기 위한 소프트웨어 코드 부분들을 포함하는
    컴퓨터 프로그램.
KR1020117009680A 2008-10-29 2009-10-14 컴퓨터 시스템상에서 구동하는 악성 소프트웨어의 존재를 감지하기 위한 시스템, 방법 및 프로그램 제품 KR20110076976A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/261,026 2008-10-29
US12/261,026 US20100107257A1 (en) 2008-10-29 2008-10-29 System, method and program product for detecting presence of malicious software running on a computer system

Publications (1)

Publication Number Publication Date
KR20110076976A true KR20110076976A (ko) 2011-07-06

Family

ID=42118823

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117009680A KR20110076976A (ko) 2008-10-29 2009-10-14 컴퓨터 시스템상에서 구동하는 악성 소프트웨어의 존재를 감지하기 위한 시스템, 방법 및 프로그램 제품

Country Status (7)

Country Link
US (3) US20100107257A1 (ko)
EP (1) EP2294786B1 (ko)
JP (1) JP5490127B2 (ko)
KR (1) KR20110076976A (ko)
CN (1) CN102171987A (ko)
CA (1) CA2719495C (ko)
WO (1) WO2010049273A2 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101451323B1 (ko) * 2014-02-10 2014-10-16 주식회사 락인컴퍼니 애플리케이션 보안 시스템, 보안 서버, 보안 클라이언트 장치 및 기록매체
KR20200097218A (ko) 2019-02-07 2020-08-18 고려대학교 산학협력단 Gcn 기반의 어셈블리 코드 학습 장치 및 방법과 이를 이용한 보안 약점 탐지 장치 및 방법

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070169192A1 (en) * 2005-12-23 2007-07-19 Reflex Security, Inc. Detection of system compromise by per-process network modeling
US20100107257A1 (en) * 2008-10-29 2010-04-29 International Business Machines Corporation System, method and program product for detecting presence of malicious software running on a computer system
US8918876B2 (en) * 2009-04-30 2014-12-23 Telefonaktiebolaget L M Ericsson (Publ) Deviating behaviour of a user terminal
US8898774B2 (en) * 2009-06-25 2014-11-25 Accenture Global Services Limited Method and system for scanning a computer system for sensitive content
WO2011027352A1 (en) * 2009-09-03 2011-03-10 Mcafee, Inc. Network access control
US9521154B2 (en) 2011-08-03 2016-12-13 Hewlett Packard Enterprise Development Lp Detecting suspicious network activity using flow sampling
CN103164652B (zh) * 2011-12-15 2015-07-29 深圳市腾讯计算机系统有限公司 木马扫描方法及系统
US20130160129A1 (en) * 2011-12-19 2013-06-20 Verizon Patent And Licensing Inc. System security evaluation
US9473346B2 (en) * 2011-12-23 2016-10-18 Firebind, Inc. System and method for network path validation
US9659173B2 (en) 2012-01-31 2017-05-23 International Business Machines Corporation Method for detecting a malware
US9032520B2 (en) * 2012-02-22 2015-05-12 iScanOnline, Inc. Remote security self-assessment framework
US9202047B2 (en) 2012-05-14 2015-12-01 Qualcomm Incorporated System, apparatus, and method for adaptive observation of mobile device behavior
US9690635B2 (en) 2012-05-14 2017-06-27 Qualcomm Incorporated Communicating behavior information in a mobile computing device
US9324034B2 (en) 2012-05-14 2016-04-26 Qualcomm Incorporated On-device real-time behavior analyzer
US9609456B2 (en) 2012-05-14 2017-03-28 Qualcomm Incorporated Methods, devices, and systems for communicating behavioral analysis information
US9298494B2 (en) 2012-05-14 2016-03-29 Qualcomm Incorporated Collaborative learning for efficient behavioral analysis in networked mobile device
US9319897B2 (en) 2012-08-15 2016-04-19 Qualcomm Incorporated Secure behavior analysis over trusted execution environment
US9330257B2 (en) 2012-08-15 2016-05-03 Qualcomm Incorporated Adaptive observation of behavioral features on a mobile device
US9747440B2 (en) 2012-08-15 2017-08-29 Qualcomm Incorporated On-line behavioral analysis engine in mobile device with multiple analyzer model providers
US9495537B2 (en) 2012-08-15 2016-11-15 Qualcomm Incorporated Adaptive observation of behavioral features on a mobile device
US8949995B2 (en) * 2012-09-18 2015-02-03 International Business Machines Corporation Certifying server side web applications against security vulnerabilities
CN103268446A (zh) * 2012-12-28 2013-08-28 武汉安天信息技术有限责任公司 一种基于sd卡驱动的手机恶意代码检测方法及系统
US9686023B2 (en) 2013-01-02 2017-06-20 Qualcomm Incorporated Methods and systems of dynamically generating and using device-specific and device-state-specific classifier models for the efficient classification of mobile device behaviors
US9684870B2 (en) 2013-01-02 2017-06-20 Qualcomm Incorporated Methods and systems of using boosted decision stumps and joint feature selection and culling algorithms for the efficient classification of mobile device behaviors
US10089582B2 (en) 2013-01-02 2018-10-02 Qualcomm Incorporated Using normalized confidence values for classifying mobile device behaviors
WO2014111863A1 (en) * 2013-01-16 2014-07-24 Light Cyber Ltd. Automated forensics of computer systems using behavioral intelligence
US9742559B2 (en) 2013-01-22 2017-08-22 Qualcomm Incorporated Inter-module authentication for securing application execution integrity within a computing device
US9491187B2 (en) 2013-02-15 2016-11-08 Qualcomm Incorporated APIs for obtaining device-specific behavior classifier models from the cloud
US9817742B2 (en) * 2013-06-25 2017-11-14 Dell International L.L.C. Detecting hardware and software problems in remote systems
US10158660B1 (en) 2013-10-17 2018-12-18 Tripwire, Inc. Dynamic vulnerability correlation
US9384034B2 (en) * 2014-03-28 2016-07-05 International Business Machines Corporation Detecting operation of a virtual machine
US9756062B2 (en) * 2014-08-27 2017-09-05 General Electric Company Collaborative infrastructure supporting cyber-security analytics in industrial networks
US9432393B2 (en) * 2015-02-03 2016-08-30 Cisco Technology, Inc. Global clustering of incidents based on malware similarity and online trustfulness
CN104751058B (zh) * 2015-03-16 2018-08-31 联想(北京)有限公司 一种文件扫描方法及电子设备
US10075461B2 (en) 2015-05-31 2018-09-11 Palo Alto Networks (Israel Analytics) Ltd. Detection of anomalous administrative actions
US10176438B2 (en) 2015-06-19 2019-01-08 Arizona Board Of Regents On Behalf Of Arizona State University Systems and methods for data driven malware task identification
CN106878240B (zh) * 2015-12-14 2020-06-02 阿里巴巴集团控股有限公司 僵尸主机识别方法及装置
US10686829B2 (en) 2016-09-05 2020-06-16 Palo Alto Networks (Israel Analytics) Ltd. Identifying changes in use of user credentials
CN111491832B (zh) * 2017-12-22 2022-08-09 三菱电机株式会社 车载装置、认证方法和计算机能读取的记录介质
CN108282489B (zh) * 2018-02-07 2020-01-31 网宿科技股份有限公司 一种漏洞扫描方法、服务端及系统
US10708755B2 (en) * 2018-04-03 2020-07-07 Servicenow, Inc. Discovery and service mapping of serverless resources
US10999304B2 (en) 2018-04-11 2021-05-04 Palo Alto Networks (Israel Analytics) Ltd. Bind shell attack detection
US11108805B2 (en) * 2018-06-27 2021-08-31 Amazon Technologies, Inc. Automated packetless network reachability analysis
CN109039812B (zh) * 2018-07-20 2021-05-11 深圳前海微众银行股份有限公司 端口检测方法、系统和计算机可读存储介质
US11233703B2 (en) * 2018-11-20 2022-01-25 Cisco Technology, Inc. Extending encrypted traffic analytics with traffic flow data
US11070569B2 (en) 2019-01-30 2021-07-20 Palo Alto Networks (Israel Analytics) Ltd. Detecting outlier pairs of scanned ports
US11184376B2 (en) 2019-01-30 2021-11-23 Palo Alto Networks (Israel Analytics) Ltd. Port scan detection using destination profiles
US11184378B2 (en) 2019-01-30 2021-11-23 Palo Alto Networks (Israel Analytics) Ltd. Scanner probe detection
US11184377B2 (en) 2019-01-30 2021-11-23 Palo Alto Networks (Israel Analytics) Ltd. Malicious port scan detection using source profiles
US11316872B2 (en) 2019-01-30 2022-04-26 Palo Alto Networks (Israel Analytics) Ltd. Malicious port scan detection using port profiles
US11277426B1 (en) * 2019-09-13 2022-03-15 Rapid7, Inc. Anomalous asset detection based on open ports
US11012492B1 (en) 2019-12-26 2021-05-18 Palo Alto Networks (Israel Analytics) Ltd. Human activity detection in computing device transmissions
US11509680B2 (en) 2020-09-30 2022-11-22 Palo Alto Networks (Israel Analytics) Ltd. Classification of cyber-alerts into security incidents
US20220394050A1 (en) * 2021-06-08 2022-12-08 EMC IP Holding Company LLC Managing initiator identities
US11916930B2 (en) * 2021-06-29 2024-02-27 Acronis International Gmbh Non-invasive virus scanning using remote access
US11799880B2 (en) 2022-01-10 2023-10-24 Palo Alto Networks (Israel Analytics) Ltd. Network adaptive alert prioritization system

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6216173B1 (en) * 1998-02-03 2001-04-10 Redbox Technologies Limited Method and apparatus for content processing and routing
US7328453B2 (en) * 2001-05-09 2008-02-05 Ecd Systems, Inc. Systems and methods for the prevention of unauthorized use and manipulation of digital content
US7509675B2 (en) * 2002-05-29 2009-03-24 At&T Intellectual Property I, L.P. Non-invasive monitoring of the effectiveness of electronic security services
US7418732B2 (en) * 2002-06-26 2008-08-26 Microsoft Corporation Network switches for detection and prevention of virus attacks
US7685254B2 (en) * 2003-06-10 2010-03-23 Pandya Ashish A Runtime adaptable search processor
JP3767581B2 (ja) 2003-06-13 2006-04-19 ヤマハ株式会社 タイピング技能習得支援装置、語学習得支援装置、サーバ端末及びプログラム
JP2005025269A (ja) * 2003-06-30 2005-01-27 Toshiba Corp ネットワーク中継装置及びセキュリティ検査方法
US20050086526A1 (en) * 2003-10-17 2005-04-21 Panda Software S.L. (Sociedad Unipersonal) Computer implemented method providing software virus infection information in real time
US7594270B2 (en) * 2004-12-29 2009-09-22 Alert Logic, Inc. Threat scoring system and method for intrusion detection security networks
US7979889B2 (en) * 2005-01-07 2011-07-12 Cisco Technology, Inc. Methods and apparatus providing security to computer systems and networks
US7793347B2 (en) * 2005-02-07 2010-09-07 Rozas Guillermo J Method and system for validating a computer system
US20060203736A1 (en) * 2005-03-10 2006-09-14 Stsn General Holdings Inc. Real-time mobile user network operations center
US7475135B2 (en) * 2005-03-31 2009-01-06 International Business Machines Corporation Systems and methods for event detection
US7874001B2 (en) * 2005-07-15 2011-01-18 Microsoft Corporation Detecting user-mode rootkits
US7841006B2 (en) * 2005-10-05 2010-11-23 Computer Associates Think, Inc. Discovery of kernel rootkits by detecting hidden information
US7665136B1 (en) * 2005-11-09 2010-02-16 Symantec Corporation Method and apparatus for detecting hidden network communication channels of rootkit tools
US7934259B1 (en) * 2005-11-29 2011-04-26 Symantec Corporation Stealth threat detection
US8413245B2 (en) * 2005-12-16 2013-04-02 Cisco Technology, Inc. Methods and apparatus providing computer and network security for polymorphic attacks
US20070174429A1 (en) * 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
US20070240212A1 (en) * 2006-03-30 2007-10-11 Check Point Software Technologies, Inc. System and Methodology Protecting Against Key Logger Spyware
KR100799302B1 (ko) * 2006-06-21 2008-01-29 한국전자통신연구원 시스템 이벤트 정보를 이용한 은닉 프로세스 탐지 시스템및 방법
US8522304B2 (en) * 2006-09-08 2013-08-27 Ibahn General Holdings Corporation Monitoring and reporting policy compliance of home networks
US7523502B1 (en) * 2006-09-21 2009-04-21 Symantec Corporation Distributed anti-malware
US7945955B2 (en) * 2006-12-18 2011-05-17 Quick Heal Technologies Private Limited Virus detection in mobile devices having insufficient resources to execute virus detection software
US20080320594A1 (en) * 2007-03-19 2008-12-25 Xuxian Jiang Malware Detector
US8302196B2 (en) 2007-03-20 2012-10-30 Microsoft Corporation Combining assessment models and client targeting to identify network security vulnerabilities
US9118706B2 (en) * 2007-06-29 2015-08-25 Verizon Patent And Licensing Inc. Using imported data from security tools
US20100107257A1 (en) 2008-10-29 2010-04-29 International Business Machines Corporation System, method and program product for detecting presence of malicious software running on a computer system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101451323B1 (ko) * 2014-02-10 2014-10-16 주식회사 락인컴퍼니 애플리케이션 보안 시스템, 보안 서버, 보안 클라이언트 장치 및 기록매체
KR20200097218A (ko) 2019-02-07 2020-08-18 고려대학교 산학협력단 Gcn 기반의 어셈블리 코드 학습 장치 및 방법과 이를 이용한 보안 약점 탐지 장치 및 방법

Also Published As

Publication number Publication date
US9251345B2 (en) 2016-02-02
JP2012507094A (ja) 2012-03-22
CN102171987A (zh) 2011-08-31
JP5490127B2 (ja) 2014-05-14
EP2294786A2 (en) 2011-03-16
EP2294786B1 (en) 2016-07-27
US20120084862A1 (en) 2012-04-05
US20100107257A1 (en) 2010-04-29
WO2010049273A3 (en) 2010-09-16
US20150074812A1 (en) 2015-03-12
WO2010049273A2 (en) 2010-05-06
CA2719495A1 (en) 2010-05-06
CA2719495C (en) 2018-07-17
US8931096B2 (en) 2015-01-06

Similar Documents

Publication Publication Date Title
KR20110076976A (ko) 컴퓨터 시스템상에서 구동하는 악성 소프트웨어의 존재를 감지하기 위한 시스템, 방법 및 프로그램 제품
Milajerdi et al. Poirot: Aligning attack behavior with kernel audit records for cyber threat hunting
CN101512512B (zh) 利用软件名声的软件授权
US11218510B2 (en) Advanced cybersecurity threat mitigation using software supply chain analysis
US20060101413A1 (en) Software operation monitoring apparatus and software operation monitoring method
US20070083933A1 (en) Detection of security vulnerabilities in computer programs
CN107004088B (zh) 确定装置、确定方法及记录介质
US11748487B2 (en) Detecting a potential security leak by a microservice
Li et al. On locating malicious code in piggybacked android apps
US9632922B2 (en) Workload mapper for potential problem areas using modules and defect data
Scalco et al. On the feasibility of detecting injections in malicious npm packages
CN112131573A (zh) 安全漏洞的检测方法、装置及存储介质
US20230141948A1 (en) Analysis and Testing of Embedded Code
US9354962B1 (en) Memory dump file collection and analysis using analysis server and cloud knowledge base
Chen et al. Building machine learning-based threat hunting system from scratch
CN115544518A (zh) 漏洞扫描引擎实现方法、装置、漏洞扫描方法及电子设备
CN113420302A (zh) 主机漏洞检测方法及装置
Liu et al. Hardening the core: Understanding and detection of XNU kernel vulnerabilities
JP7302223B2 (ja) スクリプト検出装置、方法及びプログラム
JP2023547354A (ja) クラウド・ワークロード・セキュリティを強化するために展開前と展開後との間でインサイトを共有すること
Milajerdi Threat Detection using Information Flow Analysis on Kernel Audit Logs
Nguyen et al. Context-based statement-level vulnerability localization
CN117056918A (zh) 一种代码分析方法及相关设备
Ii TECHNICAL EVALUATION AND LEGAL OPINION OF WARDEN: A NETWORK FORENSICS TOOL
Palahan A framework for mining significant subgraphs and its application in malware analysis

Legal Events

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