KR102000133B1 - 수집된 이벤트 정보 기반 악성코드 탐지 장치 및 방법 - Google Patents

수집된 이벤트 정보 기반 악성코드 탐지 장치 및 방법 Download PDF

Info

Publication number
KR102000133B1
KR102000133B1 KR1020140012280A KR20140012280A KR102000133B1 KR 102000133 B1 KR102000133 B1 KR 102000133B1 KR 1020140012280 A KR1020140012280 A KR 1020140012280A KR 20140012280 A KR20140012280 A KR 20140012280A KR 102000133 B1 KR102000133 B1 KR 102000133B1
Authority
KR
South Korea
Prior art keywords
characteristic parameter
information
malicious code
characteristic
event
Prior art date
Application number
KR1020140012280A
Other languages
English (en)
Other versions
KR20150091716A (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 KR1020140012280A priority Critical patent/KR102000133B1/ko
Priority to US14/603,241 priority patent/US20150220733A1/en
Publication of KR20150091716A publication Critical patent/KR20150091716A/ko
Application granted granted Critical
Publication of KR102000133B1 publication Critical patent/KR102000133B1/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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 악성코드가 실행중인 프로세스를 탐지하기 위한 악성 코드 장치 및 방법에 관한 것이다.
본 발명에 따른 악성코드 탐지 장치는 정의된 특성인자를 기반으로 특성인자 이벤트의 정보를 수집하는 특성인자 수집 모듈과, 상기 수집된 특성인자 이벤트의 정보를 분석에서 사용 가능한 형태인 특성인자 명세화 데이터로 변환하는 특성인자 명세화 모듈과, 상기 명세화된 데이터를 이용하여 악성코드 여부를 분석하는 악성코드 검출 모듈을 포함한다. 따라서, 본 발명은 악성코드를 탐지하기 위해 사용자 컴퓨팅 장치에서 획득할 수 있는 다양한 이벤트 정보를 수집한 후, 수집된 단위 이벤트들을 각 프로세스의 시작 시점부터 종료시점까지의 모든 행위를 재구성하여 데이터를 표현하기 때문에 악성코드 여부를 판단하는 방법의 종류에 무관하게 악성코드 탐지 적용이 가능한 효과가 있다.

Description

수집된 이벤트 정보 기반 악성코드 탐지 장치 및 방법 {Apparatus and method for detecting malicious code based on collecting event information}
본 발명은 악성코드가 실행중인 프로세스를 탐지하기 위한 장치 및 방법에 관한 것으로서, 구체적으로는 악성코드를 탐지하기 위해 사용자 컴퓨터 장치에서의 획득할 수 있는 다양한 이벤트 정보를 수집한 후, 수집된 단위 이벤트들을 각 프로세스의 시작 시점부터 종료시점까지의 모든 행위를 재구성하여 프로세스 또는 파일 별로 악성코드인지 여부를 판단하기 위해 수집된 이벤트 정보를 기반으로 하는 악성코드 탐지 장치 및 그 방법에 관한 것이다.
종래의 악성코드 탐지 및 처리 기술은 대부분 악성코드 검사가 필요한 프로세스 또는 파일 내에 미리 정의된 특정 바이너리 패턴이 존재할 경우 해당 파일 또는 프로세스를 악성코드로 판단하는 바이너리 패턴 기반의 악성코드 탐지 기술이 대표적이다. 이는 악성코드가 발견될 때마다 해당 악성코드의 특정 바이너리 패턴을 등록하여 악성코드의 바이너리 패턴 데이터를 관리한다. 따라서, 바이너리 패턴에 의한 악성코드 탐지는 관리하고 있는 바이너리 패턴이 존재하는 악성코드에 대해서는 높은 탐지율과 빠른 탐지 시간을 보장한다. 그러나, 알려지지 않은 악성코드와 변형된 악성코드에 대해서는 탐지가 불가능한 문제점이 있다.
또한, 바이너리 패턴 기반 악성코드 탐지 기술 외에 악성코드의 행위에 기반한 악성코드 탐지 기술이 있다. 행위에 기반한 악성코드 탐지는 행위 규칙(rule)을 미리 정의하고, 해당 파일 또는 프로세스가 규칙에 해당될 경우 악성코드로 판단한다. 종래의 행위 기반 악성코드 탐지 기술은 미리 정의된 규칙의 적용을 위해 사용자의 PC 또는 네트워크 상에서 관련 정보를 수집하게 된다. 이는, 새로운 규칙이 생성될 때마다 추가적인 관련 정보를 수집해야 하는 문제점이 있으며, 실행 중인 프로세스 또는 저장된 파일 사이의 상관관계를 파악할 수 없는 문제점이 있다.
이에 알려지지 않은 악성코드에 대해서도 탐지할 수 있는 데이터 수집 방안과 이 수집된 데이터를 바탕으로 악성코드 여부를 판단하기 위한 탐지 방안이 요구된다.
따라서, 본 발명은 악성코드를 탐지하기 위해 사용자 컴퓨팅 장치에서 획득할 수 있는 다양한 이벤트 정보를 수집한 후, 재구성된 데이터를 활용하여 프로세스 또는 파일 별로 악성코드인지 여부를 판단할 수 있도록 하는데 그 목적이 있다.
또한, 프로세스 또는 파일 별로 재구성된 데이터는 악성코드 판단 방법에 무관하게 수집하여 다양한 판단 방법을 적용할 수 있도록 하는데 그 목적이 있다.
본 발명의 일 실시예에 따르면, 수집된 이벤트 정보를 이용한 악성코드 탐지 장치가 제공된다. 상기 악성코드 탐지 장치는 정의된 특성인자를 기반으로 특성인자 이벤트의 정보를 수집하는 특성인자 수집 모듈과, 상기 수집된 특성인자 이벤트의 정보를 분석에서 사용 가능한 형태인 특성인자 명세화 데이터로 변환하는 특성인자 명세화 모듈과, 상기 명세화된 데이터를 이용하여 악성코드 여부를 분석하는 악성코드 검출 모듈을 포함하는 것을 특징으로 한다.
또한, 본 발명은 악성코드 탐지 장치에 있어서, 상기 정의된 특성인자는 악성코드를 검출하기 위해서 활용 가능한 컴퓨터 프로세스와 관련된 정보, 파일 시스템과 관련된 정보, 레지스트리와 관련된 정보를 포함하는 것을 특징으로 한다.
또한, 본 발명은 악성코드 탐지 장치에 있어서, 상기 특성인자 수집 모듈은 시스템에서 상기 정의된 특성인자에 해당하는 이벤트가 발생하는 경우 관련 상기 특성인자 이벤트의 정보를 수집하는 것을 특징으로 한다.
또한, 본 발명은 악성코드 탐지 장치에 있어서, 상기 특성인자 이벤트의 정보는 호스트 ID, 사용자 ID(로그인 ID), 수집시간, 운영체제, 프로세스 명, 프로세스 ID, 특성인자 ID, 해당 특성인자에 따른 추가 정보를 포함하는 것을 특징으로 한다.
또한, 본 발명은 악성코드 탐지 장치에 있어서, 상기 특성인자 명세화 모듈은 상기 수집된 특성인자 이벤트의 정보를 프로세스별로 특성인자 명세화 데이터로 재구성하는 것을 특징으로 한다.
또한, 본 발명은 악성코드 탐지 장치에 있어서, 상기 특성인자 명세화 모듈은 특성인자 이벤트가 발생한 프로세스의 정보를 갱신할 뿐만 아니라 이벤트가 발생한 프로세스의 부모 프로세스의 정보도 갱신하는 것을 특징으로 한다.
또한, 본 발명은 악성코드 탐지 장치에 있어서, 상기 특성인자 명세화 모듈은 상기 프로세스별로 재구성된 특성인자 명세화 데이터를 이용하여 실행파일별로 재구성하는 것을 특징으로 한다.
또한, 본 발명은 악성코드 탐지 장치에 있어서, 상기 특성인자 명세화 데이터는 특성인자 이벤트의 발생 회수를 표현하는 명세화가 포함되는 것을 특징으로 한다.
또한, 본 발명은 악성코드 탐지 장치에 있어서, 상기 악성코드 검출 모듈은 상기 명세화된 데이터를 이용하여 갱신된 실행 프로세스 또는 파일이 악성코드인지 여부를 판단하는 것을 특징으로 한다.
본 발명의 또다른 실시예에 따르면, 수집된 이벤트 정보를 이용한 악성코드 탐지 방법이 제공된다. 상기 악성코드 탐지 방법은 악성코드 탐지를 위한 시스템에서 발생할 수 있는 특징을 정의하는 특성인자 정의 단계와, 상기 정의된 특성인자를 기반으로 시스템으로부터 특성인자 이벤트의 정보를 수집 단계와, 상기 수집된 특성인자 이벤트의 정보를 분석에서 사용 가능한 형태인 특성인자 명세화 데이터로 변환하는 특성인자 명세화 단계와, 상기 명세화된 데이터를 이용하여 악성코드 여부를 분석하는 악성코드 검출 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명은 악성코드 탐지 방법에 있어서, 상기 정의된 특성인자는 악성코드를 검출하기 위해서 활용 가능한 컴퓨터 프로세스와 관련된 정보, 파일 시스템과 관련된 정보, 레지스트리와 관련된 정보를 포함하는 것을 특징으로 한다.
또한, 본 발명은 악성코드 탐지 방법에 있어서, 상기 특성인자 수집 단계는 시스템에서 상기 정의된 특성인자에 해당하는 이벤트가 발생하는 경우 관련 상기 특성인자 이벤트의 정보를 수집하는 것을 특징으로 한다.
또한, 본 발명은 악성코드 탐지 방법에 있어서, 상기 특성인자 이벤트 정보는 호스트 ID, 사용자 ID, 수집시간, 운영체제, 프로세스 명, 프로세스 ID, 특성인자 ID, 해당 특성인자에 따른 추가 정보를 포함하는 것을 특징으로 한다.
또한, 본 발명은 악성코드 탐지 방법에 있어서, 상기 특성인자 명세화 단계는 상기 수집된 특성인자 이벤트의 정보를 프로세스별로 특성인자 명세화 데이터로 재구성하는 것을 특징으로 한다.
또한, 본 발명은 악성코드 탐지 방법에 있어서, 상기 특성인자 명세화 단계는 특성인자 이벤트가 발생한 프로세스의 정보를 갱신할 뿐만 아니라 이벤트가 발생한 프로세스의 부모 프로세스의 정보도 갱신하는 것을 특징으로 한다.
또한, 본 발명은 악성코드 탐지 방법에 있어서, 상기 특성인자 명세화 단계는 상기 프로세스별로 재구성된 특성인자 명세화 데이터를 이용하여 실행파일별로 재구성하는 것을 특징으로 한다.
또한, 본 발명은 악성코드 탐지 방법에 있어서, 상기 특성인자 명세화 단계는 특성인자 이벤트의 발생 회수를 표현하는 명세화가 포함되는 것을 특징으로 한다.
또한, 본 발명은 악성코드 탐지 방법에 있어서, 상기 악성코드 검출 단계는 상기 명세화된 데이터를 이용하여 갱신된 실행 프로세스 또는 파일이 악성코드인지 여부를 판단하는 것을 특징으로 한다.
본 발명에 의하면, 악성코드를 탐지하기 위해 사용자 컴퓨팅 장치에서 획득할 수 있는 다양한 이벤트 정보를 수집한 후, 수집된 단위 이벤트들을 각 프로세스의 시작 시점부터 종료시점까지의 모든 행위를 재구성하여 데이터를 표현하기 때문에 악성코드 여부를 판단하는 방법의 종류에 무관하게 악성코드 탐지 적용이 가능한 효과가 있다.
또한, 악성코드의 종류에 의존성 없이 사용자 컴퓨팅 장치의 다양한 이벤트 정보가 수집되기 때문에 알려지지 않은 악성코드에 대해서도 탐지할 수 있는 효과가 있다.
도 1은 본 발명의 일실시예에 따른 컴퓨팅 장치에 있어서의 악성코드 탐지 장치의 구성도를 나타내는 도면이다.
도 2는 본 발명의 일실시예에 따른 악성코드 검출 방법의 일련의 흐름도이다.
도 3은 본 발명의 일실시예에 따른 정의된 특성인자 이벤트 목록의 예를 나타내는 도면이다.
도 4는 본 발명의 일실시예에 따른 특성인자 이벤트 수집단계에서 특성인자 이벤트 발생에 따른 시간 순차적으로 수집되는 정보의 예를 나타내는 도면이다.
도 5는 본 발명의 일실시예에 따른 특성인자 이벤트 수집단계에서 특성인자 이벤트 발생에 따른 시간 순차적으로 수집되는 정보의 또다른 예를 나타내는 도면이다.
도 6은 본 발명의 일실시예에 따른 정의된 특성인자 명세화 목록의 예를 나타내는 도면이다.
도 7은 본 발명의 일실시예에 따른 특성인자 수집 결과를 입력으로 프로세스별로 재구성하는 특성인자 명세화 단계의 과정을 보여주는 흐름도이다.
도 8은 도4의 특성인자 수집 결과를 입력으로 프로세스별로 재구성하는 특성인자 명세화 단계의 과정을 보여주는 도면이다.
도 9은 도5의 특성인자 수집 결과를 입력으로 프로세스별로 재구성한 명세화 단계의 결과를 보여주는 도면이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 이를 상세한 설명을 통해 상세히 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
또한, 본 명세서 및 청구항에서 사용되는 단수 표현은, 달리 언급하지 않는 한 일반적으로 하나 이상을 의미하는 것으로 해석되어야 한다.
또한, 본 명세서에서 사용되는 용어들중 모듈, 부, 인터페이스등은 일반적으로 컴퓨터 관련 객체를 의미하며, 예를 들어, 하드웨어, 소프트웨어 및 이들의 조합을 의미할 수 있다.
도 1은 본 발명의 일실시예에 따른 컴퓨팅 장치에 있어서의 악성코드 탐지 장치의 구성도를 도시한 도면이다.
도 1에 도시된 바와 같이, 악성코드 탐지 장치(100)는 특성인자 수집 모듈(101), 특성인자 명세화 모듈(102), 악성코드 판별 모듈(103), 특성인자 정보 저장 모듈(104), 시각화 모듈(105), 제어모듈(106)로 구성된다.
특성인자 수집 모듈(101)은 악성코드를 탐지하기 위해 컴퓨팅 장치에서 정의된 다양한 특성인자 이벤트가 발생할 때마다 해당 정보를 수집하게 된다. 여기서, 특성인자 이벤트는 사용자 컴퓨팅 장치의 프로세스와 관련된 정보, 파일 시스템과 관련된 정보, 레지스트리와 관련된 정보를 포함한다. 이 특성인자는 필요에 따라 추가될 수 있다. 특성인자를 기반으로 특성인자 수집 모듈에서는 특성인자 이벤트가 발생할 때마다 해당 정보를 수집하게 된다. 특성인자 이벤트가 발생했을 때 수집되는 정보는 호스트 ID, 사용자 ID, 수집시간, 운영체제, 프로세스 명, 프로세스 ID, 특성인자 ID, 해당 특성인자에 따른 추가 정보를 포함한다. 상기 해당 특성인자에 따른 추가정보는 특성인자마다 다르며, 타 프로세스 생성 이벤트인 경우에는 자식 프로세스의 ID를 포함한다.
특성인자 명세화 모듈(102)은 특성인자 수집 모듈(101)에서 수집된 특성인자 이벤트 각각에 대해서 프로세스 별로 재구성하는 모듈이다. 특성인자 명세화 모듈(102)은 단위 이벤트를 정의하는 것이 아니라, 특정 프로세스 별로 프로세스의 시작 시점부터 종료시점까지의 모든 행위를 재구성하여 특성인자 명세화를 도출함으로써 특성 프로세스가 정상인지 악성인지 판별이 가능한 정보를 제공할 수 있도록 한다. 또한, 특성인자 명세화 모듈은 프로세스를 생성시킨 실행파일별로 통합하여 데이터화할 수 있다.
악성코드 판별 모듈(103)은 특성인자 명세화 모듈(102)에서 이벤트 발생 때마다 재구성된 프로세스 명세화 정보가 갱신될 때마다 갱신된 특성인자 이벤트의 프로세서 정보가 입력되어 악성인지 정상인지 여부를 판단하게 된다. 악성코드 판별 모듈(103)은 SVM(support vector machine) 등 마이닝 알고리즘에 의해 생성된 모델에 투영하거나, 악성코드 판별을 위한 행위 기반 규칙(rule)에 의해 판별할 수 있다.
특성인자 정보 저장 모듈(104)은 수집된 이벤트 정보, 프로세서별 또는 실행파일별로 재구성된 특성인자 명세화 데이터 및 악성코드에 대한 정보를 저장하는 저장 모듈이다.
시각화 모듈(105)은 사용자에게 제공되는 정보를 시각화하는 모듈로서, 특성인자 수집 모듈(101)을 통해 수집된 이벤트와 관련된 정보와, 특성인자 명세화 모듈(102)이 재구성한 프로세서별 또는 실행화일별의 특성인자 명세화 정보와, 악성코드 판별 모듈(103)에 따른 악성코드 정보 등을 사용자가 쉽게 인지할 수 있도록 시각화하여 출력할 수 있다. 즉, 사용자가 이벤트 관련 정보, 특성인자 명세화 정보, 악성코드 정보를 한눈에 파악할 수 있도록, 시각화 모듈(250)은 다양한 GUI(Graphic User Interface)를 가지고 있을 수 있다.
제어모듈(106)은 상기 악성코드 탐지 장치(100)의 전체적인 연산과 작동을 제어할 수 있다.
본 발명의 일실시예에 따라 악의적인 공격으로부터 컴퓨팅 장치를 보호하기 위한 악성코드 탐지 방법을 설명하도록 한다.
도 2는 본 발명의 일시예에 따른 악성코드 검출 방법의 일련의 흐름도이다.
악성코드 탐지 장치(100)는 악성코드 검출을 위한 시스템에서 발생할 수 있는 특징을 정의하는 특성인자 정의 단계(S201), 상기 정의된 특징을 시스템으로부터 획득하는 특성인자 이벤트 수집 단계(S202), 상기 획득된 특징정보를 분석에서 사용 가능한 형태로 변환하는 특성인자 명세화 단계(S203), 상기 명세화된 데이터를 이용하여 악성코드 여부를 분석하는 악성코드 검출 단계(S204)로 구성되는 악성코드를 검출한다.
특성인자(feature) 정의 단계(S201)는 도 3과 같이 악성코드를 탐지하기 위해 컴퓨팅 장치에서의 획득할 수 있는 다양한 이벤트 정보를 정의한다. 컴퓨팅 장치에서의 다양한 이벤트는 사용자 컴퓨팅 장치의 프로세스와 관련된 정보, 파일 시스템과 관련된 정보, 레지스트리와 관련된 정보 등을 포함한다.
도 3은 정의된 특성인자 이벤트들의 목록(300)의 예를 보여주며, 필요에 따라 추가적으로 정의될 수 있다. 예를 들어, 상기 도 3에서 특성인자 ID 1번 이벤트(301)는 실행중인 프로세스가 다른 프로세스를 생성함을 의미하며, 특성인자 ID 2번 이벤트(302)는 실행중인 프로세서가 실행파일을 생성함을 의미한다. N은 정의된 특성인자의 개수이다.
특성인자(feature) 이벤트 수집 단계(S202)는 상기 도 3에와 같이 정의된 특성인자를 기반으로 특성인자 수집 모듈(101)를 통해 컴퓨팅 장치에서 정의된 특성인자 이벤트가 발생할 때마다 시간의 순서대로 도 4 또는 도 5와 같이 해당 정보를 수집하여 특성인자 정보 저장 모듈(104)에 저장하게 된다. 상기 도 4 또는 도 5와 같이 특성인자 이벤트가 발생했을 때 수집되는 정보는 호스트 ID, 사용자(로그인) ID, 수집시간, 운영체계, 프로세스 명, 프로세스 ID, 특성인자 ID, 해당 특성인자에 따른 추가 정보를 포함한다. 상기 해당 특성인자에 따른 추가정보는 특성인자 ID마다 다르며, 타 프로세스 생성 이벤트인 경우에는 자식 프로세스의 ID를 포함한다.
특성인자 명세화 단계(S203)는 상기 특성인자 수집 단계에서 수집된 특성인자 이벤트 각각에 대해서 프로세스 별로 또는 실행파일별로 재구성하는 단계이다.
상기 특성인자 수집 단계(202)에서 수집된 단위 이벤트로는 특성 프로세스가 정상인지 악성인지 판별이 쉽지 않기 때문에 특성 프로세스의 시작 시점부터 종료시점까지의 모든 행위를 재구성한 특성인자 명세화 결과를 활용하여 악성코드의 탐지를 용이하도록 한다. 도 6에서와 같이 특성인자 명세화 목록은 상기 도 3의 특성인자 정의 정보를 활용하며, 추가적으로 정의될 수 있다. 도 6에 따르면 특성인자 명세화 목록은 특성인자 이벤트와 관련된 발생 회수로 표현되고 있는 것을 특징으로 한다. 도 6에서 M은 특성인자 명세화 리스트의 개수이다.
도 7은 특성인자 수집 결과를 입력으로 프로세스별로 재구성하는 특성인자 명세화 단계의 과정을 보여주는 흐름도이다.
상기 도 7과 같이, 특성인자 이벤트가 발생하여 특성인자 이벤트가 수집(S710)되면 먼저 특성인자 명세화 리스트에 해당 프로세스가 존재하는지 검색한다(S720). 해당 프로세스가 존재하면 특성인자 명세화 ID에 따른 값을 갱신하고(S740), 존재하지 않으면 해당 프로세스를 특성인자 명세화 리스트에 추가(S730)한 후 특성인자 명세화 ID에 따른 값을 갱신한다(S740). 또한, 해당 프로세스의 부모 프로세스가 존재하는지 검색하여(S750), 존재할 경우 부모 프로세스의 특성인자 명세화 ID에 따른 값을 부모 프로세서가 존재하지 않을 때까지 계속적으로 갱신한다(S760).
도 8은 상기 도 4의 수집된 특성인자 이벤트 정보를 이용하여 프로세스 별로 특성인자 명세화 단계의 과정을 설명한다.
특성인자 명세화 단계(S203)에서의 특성인자 명세화 정보는 프로세서명, 프로세서 ID, 특성인자 명세화 ID에 따른 값을 포함한다. 도 4에서 수집된 이벤트에 대한 로그번호의 시간순서대로 프로세서 ID를 기준으로 특성인자 명세화 정보를 갱신하게 된다.
도 8 (a)는 도 4의 1번 로그(401)에 따른 특성인자 명세화 정보에 관한 것으로서, Explorer.exe(PID:1664)라는 프로세스가 타 프로세스(PID:2336)를 생성하는 이벤트가 발생되었기 때문에, 해당 프로세스(PID:1664)의 특성인자 명세화 ID의 1번에 해당되어 특성인자 명세화 ID 1번의 값을 1 증가시킨다. 특성인자 명세화 ID의 1번은 도 6에서와 같이 타 프로세스 생성 회수를 의미한다.
도 8 (b)는 도 4의 2번 로그(402)에 따른 특성인자 명세화 정보에 관한 것으로서, nateon.exe(PID:2336)라는 프로세스가 실행파일을 생성하는 이벤트가 발생되었기 때문에, 해당 프로세스(PID:2336)의 특성인자 명세화 ID의 3번에 해당되어 특성인자 명세화 ID 3번의 값을 1 증가시킨다. 특성인자 명세화 ID의 3번은 도 6에서와 같이 실행파일 생성 회수를 의미한다. 해당 프로세스(PID:2336)의 3번 명세화 ID 값을 1 증가시킨다. 3번 명세화 ID는 도 6에서와 같이 실행파일 생성 회수를 의미한다. 또한, 해당 프로세스(PID:2336)의 경우는 부모 프로세스(PID:1664)가 존재하므로, 부모 프로세스(PID:1664)의 입장에서는 자식 프로세서가 실행파일을 생성하는 이벤트를 발생되었기 때문에, 특성인자 명세화 ID의 4번에 해당되므로 부모 프로세스(PID:1664)의 특성인자 명세화 ID 4번의 값을 1 증가시킨다. 특성인자 명세화 ID의 4번은 도 6에서와 같이 자식 프로세스의 실행파일 생성 회수이다.
도 8 (c)는 도 4의 3번 로그(403)에 따른 특성인자 명세화 정보에 관한 것으로서, nateon.exe(PID:2336)라는 프로세스가 타 프로세스(PID:2028)를 생성하는 이벤트가 발생되었기 때문에, 해당 프로세스(PID:2336)의 특성인자 명세화 ID의 1번에 해당되어 특성인자 명세화 ID 1번의 값을 1 증가시킨다. 특성인자 명세화 ID의 1번은 도 6에서와 같이 타 프로세스 생성 회수를 의미한다. 또한, 부모 프로세스(PID:1664)의 입장에서는 자식 프로세서가 타 프로세스를 생성하는 이벤트를 발생되었기 때문에, 특성인자 명세화 ID의 2번에 해당되므로 부모 프로세스(PID:1664)의 특성인자 명세화 ID 2번의 값을 1 증가시킨다. 특성인자 명세화 ID의 2번은 도 6에서와 같이 자식 프로세스의 타 프로세서 생성 회수이다.
도 8 (d)는 도 4의 4번 로그(404)에 따른 특성인자 명세화 정보에 관한 것으로서, RUNDLL32.exe(PID:2028)가 레지스토리에 서비스에 등록하는 이벤트가 발생되었기 때문에, 해당 프로세스(PID:2028)의 특성인자 명세화 ID의 3번에 해당되어 특성인자 명세화 ID 5번의 값을 1 증가시킨다. 특성인자 명세화 ID의 5번은 도 6에서와 같이 레지스토리에 서비스 등록 회수를 의미한다. 또한, 해당 프로세스(PID:2028)의 부모 프로세스들(PID: 2336, PID:1664)의 입장에서는 자식 프로세서가 레지스토리에 서비스를 등록하는 이벤트를 발생되었기 때문에, 특성인자 명세화 ID의 6번에 해당되므로 부모 프로세서들(PID: 2336, PID:1664)는 각각의 특성인자 명세화 ID 6번의 값을 1 증가시킨다. 특성인자 명세화 ID의 6번은 도 6에서와 같이 자식 프로세스의 레지스토리에 서비스 등록 회수이다.
도 8 (e)는 도 4의 5번 로그(405)에 따른 특성인자 명세화 정보에 관한 것으로서, nate.exe(PID:2336)라는 프로세스가 실행파일를 생성하는 이벤트가 발생되었기 때문에, 해당 프로세스(PID:2336)의 특성인자 명세화 ID의 3번에 해당되어 특성인자 명세화 ID 3번의 값을 1 증가시켜 2가 되며, 마찬가지로 nate.exe(PID:2336)의 부모 프로세서인 explorer.exe(PID:1664)의 특성인자 명세화 ID 4번의 값을 1 증가시켜 2가 된다. 즉, 상기와 같이 도 4에 수집된 특성인자 이벤트를 이벤트 시작부터 특성인자 명세화 단계를 순차적으로 거쳐 5번 로그까지 거친 결과가 도 8(e)이다.
마찬가지의 방법의 도 5의 수집된 결과에 대해 특성인자 명세화 단계를 거친 최종 결과가 도 9이다.
즉, 상기 도 8(e)와 도 9과 같이 특성 이벤트 발생에 따라 순차적으로 특성인자 명세화 단계를 거치면 특정 프로세스가 시작부터 종료까지 발생시킨 이벤트 정보를 데이터화할 수 있다.
또한, 도 8과 도 9과 같이 프로세스 별로 특성인자 명세화 단계의 결과는 프로세스를 생성시킨 실행파일 별로 통합하여 데이터화할 수 있다. 도 8와 도 9에서 같은 프로세스명을 같는 것은 동일한 실행파일에 의한 것이므로, 동일한 프로세서명을 갖는 프로세서 ID들의 특성인자 명세화 정보를 병합하면 된다. 예를 들어, 도 8의 경우에는 동일한 프로세서명을 갖는 프로세서 ID가 없으므로, 실행파일의 결과도 도8의 경우와 동일하다. 이에 비해, 도 9의 경우에는 cmd.exe라는 프로세서명을 갖는 프로세서가 2개(PID:3724, PID:3824)가 존재하므로, 실행파일 cmd.exe는 프로세서 ID 3724와 프로세서 ID 3824의 특성인자 명세화 정보를 병합하여, 특성인자 명세화 ID의 1번의 값은 3, 특성인자 명세화 ID의 2번의 값은 1, 특성인자 명세화 ID의 8번의 값은 2가 된다.
악성코드 여부를 분석하는 악성코드 검출 단계(S204)는 매 특성인자 이벤트 수집이 이루어졌을 때 특성인자 명세화 리스트가 갱신된 후 갱신된 특성인자 이벤트의 프로세스들만의 정보가 악성코드 판별 모듈(103)에 입력되어 악성/정상 여부를 판단하게 된다. 본 발명에 의한 특성인자 명세화 정보는 다양한 악성코드 판별 방법에 적용가능하므로 악성코드 판별 모듈(103)은 특성인자 판별 모듈은 SVM(support vector machine) 등 마이닝 알고리즘에 의해 생성된 모델에 투영하거나, 악성코드 판별을 위한 행위 기반 규칙(rule)에 의해 판별할 수 있다.
악성코드 검출 단계(S204)에서 새로운 이벤트가 수집될 때 갱신된 정보만이 악성코드 판별 모듈(103)에 전달되는 과정을 도 8(e)를 예를 들어 설명한다.
도 8(e)는 4개의 특성인자 이벤트가 기 수집된 상황에서 5번째 특성인자 이벤트로서 nate.exe(PID:2336)라는 프로세스가 실행파일를 생성하는 이벤트가 발생되었기 때문에, 해당 프로세스(PID:2336)의 특성인자 명세화 ID의 3번에 해당되어 특성인자 명세화 ID 3번의 값을 1 증가시켜 2가 되며, 마찬가지로 nate.exe(PID:2336)의 부모 프로세서인 explorer.exe(PID:1664)의 특성인자 명세화 ID 4번의 값을 1 증가시켜 2가 된다. 이 때, 2개의 프로세스인 nate.exe(PID:2336)과 explorer.exe(PID:1664)만의 특성인자 명세화 정보가 갱신되었기 때문에 이 2개의 갱신된 프로세스의 명세화 정보가 악성코드 판별 모듈로 전달되어, 악성/정상 여부를 판단하게 된다.
본 발명의 실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.
컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media) 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 또한 상술한 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이제까지 본 발명에 대하여 그 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
100 : 악성코드 탐지 장치
101 : 특성인자 수집 모듈
102 : 특성인자 명세화 모듈
103 : 악성코드 판별 모듈
104 : 특성인자 정보 저장 모듈
105 : 시각화 모듈
106 : 제어모듈
300 : 특성인자 이벤트 목록
400, 500: 수집된 특성인자 이벤트 정보
600: 특성인자 명세화 목록
800, 900: 프로세스별 특성인자 명세화 정보

Claims (18)

  1. 정의된 특성인자를 기반으로 컴퓨팅 장치에서 특성인자 이벤트의 정보를 수집하는 특성인자 수집 모듈과,
    상기 수집된 특성인자 이벤트의 정보를 분석에서 사용 가능한 형태인 특성인자 명세화 데이터로 변환하는 특성인자 명세화 모듈과,
    상기 명세화된 데이터를 이용하여 악성코드 여부를 분석하는 악성코드 판별 모듈을 포함하고,
    상기 특성인자 명세화 모듈은
    상기 수집된 특성인자 이벤트의 정보를 프로세스별로 특성인자 명세화 데이터로 재구성한 뒤, 상기 프로세스별로 재구성된 특성인자 명세화 데이터를 실행파일별로 통합하여 재구성하고, 상기 특성인자 이벤트가 발생한 프로세스의 정보를 갱신할 뿐만 아니라 이벤트가 발생한 프로세스의 부모 프로세스의 정보도 갱신하는 것을 특징으로 하는 악성코드 탐지 장치.
  2. 제 1 항에 있어서,
    상기 정의된 특성인자는 악성코드를 검출하기 위해서 컴퓨터 프로세스와 관련된 정보, 파일 시스템과 관련된 정보, 레지스트리와 관련된 정보를 포함하는 것을 특징으로 하는 악성코드 탐지 장치.
  3. 제 1 항에 있어서,
    상기 특성인자 수집 모듈은 컴퓨팅 장치에서 상기 정의된 특성인자에 해당하는 이벤트가 발생하는 경우 관련 상기 특성인자 이벤트의 정보를 수집하는 것을 특징으로 하는 악성코드 탐지 장치.
  4. 제 3항에 있어서,
    상기 특성인자 이벤트의 정보는 호스트 ID, 사용자 ID, 수집시간, 운영체제, 프로세스 명, 프로세스 ID, 특성인자 ID, 해당 특성인자에 따른 추가 정보를 포함하는 것을 특징으로 하는 악성코드 탐지 장치.
  5. 삭제
  6. 삭제
  7. 삭제
  8. 제 1 항에 있어서,
    상기 특성인자 명세화 데이터는 특성인자 이벤트의 발생 회수를 표현하는 명세화가 포함되는 것을 특징으로 하는 악성코드 탐지 장치.
  9. 제 1 항에 있어서,
    상기 악성코드 판별 모듈은 상기 명세화된 데이터를 이용하여 갱신된 실행 프로세스 또는 파일이 악성코드인지 여부를 판단하는 것을 특징으로 하는 악성코드 탐지 장치.
  10. 악성코드 탐지를 위한 컴퓨팅 장치에서 발생할 수 있는 특징을 정의하는 특성인자 정의 단계와,
    상기 정의된 특성인자를 기반으로 컴퓨팅 장치로부터 특성인자 이벤트의 정보를 수집하는 특성인자 이벤트 수집 단계와,
    상기 수집된 특성인자 이벤트의 정보를 분석에서 사용 가능한 형태인 특성인자 명세화 데이터로 변환하는 특성인자 명세화 단계와,
    상기 명세화된 데이터를 이용하여 악성코드 여부를 분석하는 악성코드 검출 단계를 포함하고,
    상기 특성인자 명세화 단계는
    상기 수집된 특성인자 이벤트의 정보를 프로세스별로 특성인자 명세화 데이터로 재구성한 뒤, 상기 프로세스별로 재구성된 특성인자 명세화 데이터를 실행파일별로 통합하여 재구성하고, 특성인자 이벤트가 발생한 프로세스의 정보를 갱신할 뿐만 아니라 이벤트가 발생한 프로세스의 부모 프로세스의 정보도 갱신하는 것을 특징으로 하는 악성코드 탐지 방법.
  11. 제 10 항에 있어서,
    상기 정의된 특성인자는 악성코드를 검출하기 위해서 활용 가능한 컴퓨터 프로세스와 관련된 정보, 파일 시스템과 관련된 정보, 레지스트리와 관련된 정보를 포함하는 것을 특징으로 하는 악성코드 탐지 방법.
  12. 제 10 항에 있어서,
    상기 특성인자 이벤트 수집 단계는 시스템에서 상기 정의된 특성인자에 해당하는 이벤트가 발생하는 경우 관련 상기 특성인자 이벤트의 정보를 수집하는 것을 특징으로 하는 악성코드 탐지 방법.
  13. 제 10 항에 있어서,
    상기 특성인자 이벤트 정보는 호스트 ID, 사용자 ID, 수집시간, 운영체제, 프로세스 명, 프로세스 ID, 특성인자 ID, 해당 특성인자에 따른 추가 정보를 포함하는 것을 특징으로 하는 악성코드 탐지 방법.
  14. 삭제
  15. 삭제
  16. 삭제
  17. 제 10 항에 있어서,
    상기 특성인자 명세화 단계는 특성인자 이벤트의 발생 회수를 표현하는 명세화가 포함되는 것을 특징으로 하는 악성코드 탐지 방법.
  18. 제 10 항에 있어서,
    상기 악성코드 검출 단계는 상기 명세화된 데이터를 이용하여 갱신된 실행 프로세스 또는 파일이 악성코드인지 여부를 판단하는 것을 특징으로 하는 악성코드 탐지 방법.

KR1020140012280A 2014-02-03 2014-02-03 수집된 이벤트 정보 기반 악성코드 탐지 장치 및 방법 KR102000133B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020140012280A KR102000133B1 (ko) 2014-02-03 2014-02-03 수집된 이벤트 정보 기반 악성코드 탐지 장치 및 방법
US14/603,241 US20150220733A1 (en) 2014-02-03 2015-01-22 Apparatus and method for detecting a malicious code based on collecting event information

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140012280A KR102000133B1 (ko) 2014-02-03 2014-02-03 수집된 이벤트 정보 기반 악성코드 탐지 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20150091716A KR20150091716A (ko) 2015-08-12
KR102000133B1 true KR102000133B1 (ko) 2019-07-16

Family

ID=53755074

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140012280A KR102000133B1 (ko) 2014-02-03 2014-02-03 수집된 이벤트 정보 기반 악성코드 탐지 장치 및 방법

Country Status (2)

Country Link
US (1) US20150220733A1 (ko)
KR (1) KR102000133B1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9967283B2 (en) * 2014-09-14 2018-05-08 Sophos Limited Normalized indications of compromise
KR102450834B1 (ko) 2016-01-04 2022-10-05 한국전자통신연구원 다중 특징벡터를 이용하는 행위기반 악성코드 탐지 장치 및 방법
US10607004B2 (en) * 2016-09-29 2020-03-31 Intel Corporation Methods and apparatus to improve feature engineering efficiency with metadata unit operations
KR102425525B1 (ko) * 2020-11-30 2022-07-26 가천대학교 산학협력단 베이지안 확률 및 폐쇄 패턴 마이닝 방식을 이용한 로그 이상 탐지 시스템 및 방법과, 이를 위한 컴퓨터 프로그램
SE2151287A1 (en) * 2021-10-21 2023-04-22 Assa Abloy Ab Transmitting data for detecting suspicious activity by an electronic device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050021740A1 (en) 2001-08-14 2005-01-27 Bar Anat Bremler Detecting and protecting against worm traffic on a network
US20100077481A1 (en) * 2008-09-22 2010-03-25 Microsoft Corporation Collecting and analyzing malware data

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8181248B2 (en) * 2006-11-23 2012-05-15 Electronics And Telecommunications Research Institute System and method of detecting anomaly malicious code by using process behavior prediction technique
KR100910761B1 (ko) * 2006-11-23 2009-08-04 한국전자통신연구원 프로세스 행위 예측 기법을 이용한 비정형 악성코드 탐지방법 및 그 시스템
US7620992B2 (en) * 2007-10-02 2009-11-17 Kaspersky Lab Zao System and method for detecting multi-component malware
KR20100078081A (ko) * 2008-12-30 2010-07-08 (주) 세인트 시큐리티 커널 기반 시스템 행위 분석을 통한 알려지지 않은 악성코드 탐지 시스템 및 방법
JP5557623B2 (ja) * 2010-06-30 2014-07-23 三菱電機株式会社 感染検査システム及び感染検査方法及び記録媒体及びプログラム
CN104509034B (zh) * 2012-07-31 2017-12-12 慧与发展有限责任合伙企业 模式合并以识别恶意行为
US20140181975A1 (en) * 2012-11-06 2014-06-26 William Spernow Method to scan a forensic image of a computer system with multiple malicious code detection engines simultaneously from a master control point

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050021740A1 (en) 2001-08-14 2005-01-27 Bar Anat Bremler Detecting and protecting against worm traffic on a network
US20100077481A1 (en) * 2008-09-22 2010-03-25 Microsoft Corporation Collecting and analyzing malware data

Also Published As

Publication number Publication date
US20150220733A1 (en) 2015-08-06
KR20150091716A (ko) 2015-08-12

Similar Documents

Publication Publication Date Title
KR102450834B1 (ko) 다중 특징벡터를 이용하는 행위기반 악성코드 탐지 장치 및 방법
KR101904911B1 (ko) 하이브리드 퍼징 기반 보안 취약점 자동 탐색 방법 및 그 장치
Hussain et al. IMIAD: intelligent malware identification for android platform
US9876812B1 (en) Automatic malware signature extraction from runtime information
KR102000133B1 (ko) 수집된 이벤트 정보 기반 악성코드 탐지 장치 및 방법
US8839203B2 (en) Code coverage-based taint perimeter detection
KR101981028B1 (ko) 바이너리 기반 보안 취약점 탐색 시스템, 그 방법 및 프로그램
Salehi et al. Using feature generation from API calls for malware detection
JP5992622B2 (ja) 悪意あるアプリケーション診断装置及び方法
JP6369736B2 (ja) ソースコードの誤り検出における警報類型分類方法、そのためのコンピュータプログラム、およびその記録媒体
JPWO2008129635A1 (ja) 性能障害要因分析プログラムおよび性能障害要因分析装置
Sun et al. Mining succinct predicated bug signatures
US10929258B1 (en) Method and system for model-based event-driven anomalous behavior detection
Bahador et al. HLMD: a signature-based approach to hardware-level behavioral malware detection and classification
Nguyen et al. Detecting repackaged android applications using perceptual hashing
CN109684833A (zh) 使程序危险行为模式适应用户计算机系统的系统和方法
JP6559600B2 (ja) 情報処理装置、情報処理プログラムおよび検査システム
Phu et al. CFDVex: A novel feature extraction method for detecting cross-architecture IoT malware
Petrik et al. Towards architecture and os-independent malware detection via memory forensics
CN115146263B (zh) 用户账号的失陷检测方法、装置、电子设备及存储介质
Shahzad Android malware detection using feature fusion and artificial data
KR101583133B1 (ko) 스택 기반 소프트웨어 유사도 평가 방법 및 장치
Cabău et al. Malware classification using filesystem footprints
KR102242000B1 (ko) 악성 코드의 행위 특성 추출 장치, 방법 및 이를 수행하기 위한 프로그램을 기록한 기록매체
JP7259436B2 (ja) 情報処理装置、情報処理方法、情報処理プログラム、及び情報処理システム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
AMND Amendment
J201 Request for trial against refusal decision
J301 Trial decision

Free format text: TRIAL NUMBER: 2017101002836; TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20170612

Effective date: 20190405

S901 Examination by remand of revocation
GRNO Decision to grant (after opposition)
GRNT Written decision to grant