WO2014119869A1 - 악성실행코드의 숙주 파일 탐지 시스템 및 방법 - Google Patents

악성실행코드의 숙주 파일 탐지 시스템 및 방법 Download PDF

Info

Publication number
WO2014119869A1
WO2014119869A1 PCT/KR2014/000625 KR2014000625W WO2014119869A1 WO 2014119869 A1 WO2014119869 A1 WO 2014119869A1 KR 2014000625 W KR2014000625 W KR 2014000625W WO 2014119869 A1 WO2014119869 A1 WO 2014119869A1
Authority
WO
WIPO (PCT)
Prior art keywords
file
identifier
log
execution
host
Prior art date
Application number
PCT/KR2014/000625
Other languages
English (en)
French (fr)
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 WO2014119869A1 publication Critical patent/WO2014119869A1/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/561Virus type analysis
    • 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

Definitions

  • the present invention relates to a system and method for detecting a host file of malicious executable code in a computer system. More specifically, the execution of the malicious executable code executed by a malicious host file executed before the antivirus program is executed. A system and method for backtracking a path to detect its host file.
  • a computer system uses an auxiliary device to load and operate an operating system so that the computer can operate when the power is turned on.
  • Such a startup or initial configuration of the computer system is called booting.
  • various security technologies such as AV / AS (Anti-Virus / Anti-sypware) products, application control, software-based firewalls, and IPS (Intrusion Prevention System) are commercially used.
  • AV / AS Anti-Virus / Anti-sypware
  • IPS Intrusion Prevention System
  • This patent discloses that a virtual machine manager loads and executes an operating system boot image on a virtual machine, validates all interrupts or events, and executes or blocks the real machine so that malicious files cannot be executed during the boot process. However, since all interrupts or events are executed in the real machine after being verified in the virtual machine, the booting time is long.
  • the object of the present invention collects log such as process information that causes file I / O during booting, file information referenced by the process, and traces the collected log to execute malicious code. To provide a system and method for detecting a host file.
  • the host file detection system of malicious executable code for achieving the above object is a log that logs the execution process identifier, the job type, and the file identifier to be input / output from the file I / O filtered by the file system filter driver.
  • a log sorting unit for storing the collected log in a process information repository by linking a job type and a file identifier for each executed process identifier and storing the type of work performed for each file identifier in a file information repository;
  • the process information repository and the information stored in the file information repository are linked to each other by linking the execution process identifier and the file identifier which are linked to each other, creating a file node on the link, and executing the process process identifier on the file node.
  • the host file detection method of malicious executable code according to the present invention, the host file detection system log to log the execution process identifier, job type, the file identifier to be input and output from the file I / O filtered from the file system filter driver A collection step;
  • a log classification step of the host file detection system for storing the collected log in a process information repository in association with a job type and a file identifier for each executed process identifier and storing the job type performed for each file identifier in a file information repository;
  • the host file detection system uses the information stored in the process information store and the file information store to link the linked execution process identifier and the file identifier to a link, create a file node on the link, and execute the execution process on the file node.
  • the host file detection system includes a log checking step of backtracking all processes and files associated with any process based on the process file linkage structure.
  • file I / O is filtered from the file system filter driver and recorded in the log from the boot time of the computer system, and the process information and the file information and the operation information referred to by the process during the subsequent boot I / O
  • the advantage of being able to trace back the logs is to detect host files of malicious executable code.
  • FIG. 1 is a block diagram showing a host file detection system of malicious executable code according to an embodiment of the present invention.
  • FIG. 2 is an example of a file association structure with a process generated by the process file association unit.
  • FIG. 3 is a flowchart illustrating a method of detecting a host file of malicious executable code according to the present invention.
  • log collection unit 12 log classification unit
  • an antivirus program is installed after the operating system is loaded to load the AV pattern engine and run according to preset policies to protect computer systems from malicious files or processes.
  • This anti-virus program can block malicious code that performs malicious behavior, including real-time monitoring.
  • the host file that generates the malicious executable code remains, the host file can continuously generate another malicious executable code, so blocking the malicious executable code cannot be a fundamental security policy.
  • anti-virus programs not only block malicious executable code but also take measures such as finding and treating or deleting the host file that generated the malicious executable code.
  • the malicious program of the computer system can be executed without any interference until the antivirus program is started, but the antivirus program is executed. This is not recognized because it is a transition.
  • Some malicious executables may remove the host file they created and create another host file and hide it for the next run.
  • Other malicious code can also end malicious operations and terminate before the antivirus program runs. In this case, it is difficult for an antivirus program to track the malicious executable code or the host file, especially when the host file is hidden.
  • a log of process information that causes file I / O from a boot time to an antivirus program is run, and file information referenced by a process are collected, and the collected log is traced back to detect a host file of malicious executable code.
  • FIG. 1 is a block diagram showing a host file detection system of malicious executable code according to an embodiment of the present invention.
  • the host file detection system of malicious executable code includes a log collecting unit for filtering file I / O from a file system filter driver and recording a process identifier, a job type, and a file identifier to be input / output from the file I / O as a log ( 11); Log classification for storing the collected log in the process information store 13 by associating a job type and a file identifier for each executed process identifier, and storing all the job types performed for each file identifier in the file information store 14.
  • a process file linking unit 15 for generating a process file association structure by describing job type information performed on a file identifier; It includes a log check unit 16 for backtracking all the processes and files associated with any process on the basis of the process file linkage structure generated by the process file association unit 15.
  • the log collector 11 is executed from the boot of the computer system, and the log sorter 12, the process file linker 15, and the log inspector 16 start an antivirus program service to generate a real-time file. It is preferably executed when the I / O monitor is driven. When the real-time file I / O monitoring unit is executed, the log collecting unit 11 may stop execution.
  • the process identifier includes a process creation time
  • the file identifier includes a file path and a file name.
  • the process information store 13 preferably maintains log information on the terminated running process and log information on the deleted file. Each process stores parent process identifier (creation time) information.
  • the job type includes creation, opening, execution, writing, renaming, moving path, deleting, and the like.
  • the double renaming and relocation is a kind of work that changes the file identifier. When renaming or relocating, the old file identifier is lost and a new file identifier is created. Therefore, when the execution process renames or moves an arbitrary file, the execution process and the file identifier before the change or movement and the file identifier after the change or movement are stored in association with each other.
  • the file information store is constructed as a hash table.
  • FIG. 2 is an example of a file association structure with a process generated by the process file association unit.
  • execution process identifiers P2 and P4 respectively target the file identifiers F3 and F6.
  • the type of work performed is described, and only one execution process identifier and one file identifier are associated with creation (C), open (O), execution (E), write (W), and deletion (D) (P2-F3).
  • P4-F3) P4-F6
  • the renaming or rerouting is associated with one execution process identifier and two file identifiers (P4-F3 / F6).
  • the file node 25 of the associative link 22 between the execution process identifier P4 and the file identifier F3 before renaming is listed as the job type Rs as the job type, and the execution process identifier P4 is described.
  • the file node 26 of the associated link 23 with the file identifier F6 is described after the name change Rd as the job type.
  • Ms is described as a job type in the associative link file node between the execution process identifier and the file identifier before the path move, and a path as a job type is associated in the associative link file node between the file identifier after the path execution as the job type.
  • migration Md
  • the process file association unit 15 may display the execution process identifier working on the file identifier for each file identifier as a node and a link separate from the above-described file node.
  • the log inspecting unit 16 traces back all processes and files associated with any process from the process and file association structure created in the process file linking unit 15. Information obtained by the log inspecting unit 16 from the process and file association structure of FIG. 2 is shown in Table 1 below.
  • P2 produced F3.
  • P4 parent process; P2 opened F3 and renamed F3 to another name.
  • P4 renames the file with a different name to F6 and executes F6.
  • Types of work performed in F3 are C (create), O (open), and Rs (before name change).
  • the job type performed in F6 is Rd (after renaming) and E (execution).
  • the log inspector 16 may select and inspect a file on which a specific task type is performed, or select and inspect only a file linked with a specific process.
  • FIG. 3 is a flowchart illustrating a method of detecting a host file of malicious executable code according to the present invention.
  • the log collector 11 filters the file I / O from the file system filter driver (S31), and records the execution process identifier, the job type, and the file identifier to be input / output from the filtered file I / O to the log (S32). Since the log collector 11 receives the file input / output from the file system filter driver operating from the boot time, the log collector 11 can record the file log from the boot time.
  • the log classification unit 12 associates the job type and file identifier for each executed process identifier with respect to the collected logs and stores them in the process information storage 13, and stores each file identifier. All the types of work performed by each are stored in the file information storage 14 (S34).
  • the process file association unit 15 generates a file node in a link between the interworking execution process identifier and the file identifier by using the information stored in the process information store 13 and the file information store 14, and the file.
  • the process file association structure is generated by describing the job type information performed by the execution process identifier for the file identifier in the node.
  • the log inspecting unit 16 traces back all processes and files associated with any process based on the process file association structure generated by the process file linking unit 15 (S36).

Landscapes

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

Abstract

이 발명은 컴퓨터 시스템에서 안티바이러스 프로그램이 구동되기 전에 이미 실행된 악의적인 숙주 파일에 의해 실행된 악성실행코드의 실행 경로를 역추적하여 그의 숙주 파일을 탐지하는 시스템 및 방법에 관한 것이다. 이 발명에 따른 악성실행코드의 숙주 파일 탐지 시스템은, 파일시스템 필터 드라이버로부터 필터링된 파일입출력으로부터 실행 프로세스 식별자, 작업 종류, 입출력 대상이 되는 파일 식별자를 로그로 기록하는 로그수집부와; 상기 수집된 로그에 대해 실행 프로세스 식별자별로 작업 종류와 파일 식별자를 연계하여 프로세스정보저장소에 저장하고, 파일 식별자별로 수행된 작업 종류를 파일정보저장소에 저장하는 로그분류부와; 상기 프로세스정보저장소와 상기 파일정보저장소에 저장된 정보를 이용하여 상호 연계된 실행 프로세스 식별자와 파일 식별자를 링크로 연결하고 상기 링크에 파일노드를 생성하며 상기 파일노드에 상기 실행 프로세스 식별자가 상기 파일 식별자를 대상으로 수행한 작업 종류를 기재하여 프로세스 파일 연계 구조를 생성하는 프로세스파일연계부와; 상기 프로세스파일연계부에서 생성된 프로세스 파일 연계 구조를 기반으로 임의의 프로세스와 연계된 모든 프로세스와 파일을 역추적하는 로그검사부를 포함한다.

Description

악성실행코드의 숙주 파일 탐지 시스템 및 방법
이 발명은 컴퓨터 시스템에서 이미 악성실행코드의 숙주 파일을 탐지하는 시스템 및 방법에 관한 것으로서, 보다 상세하게는 안티바이러스 프로그램이 구동되기 전에 이미 실행된 악의적인 숙주 파일에 의해 실행된 악성실행코드의 실행 경로를 역추적하여 그의 숙주 파일을 탐지하는 시스템 및 방법에 관한 것이다.
일반적으로, 컴퓨터 시스템은 전원이 들어오면 보조 장치를 사용하여 컴퓨터가 동작할 수 있도록 운영체제를 로딩하여 작동하는데, 이와 같이 컴퓨터 시스템을 시동하거나 초기 설정하는 것을 부팅(booting)이라고 한다. 한편, 컴퓨터 시스템을 보호하기 위하여 AV/AS(Anti-Virus / Anti-sypware) 제품, 어플리케이션 컨트롤, 소프트웨어 기반의 방화벽, IPS(Intrusion Prevention System) 등 여러 보안 기술이 상용화되어 사용되고 있다. 그러나, 이러한 보안 기술들은 운영체제의 설치가 완료된 후 추가적으로 설치되기 때문에, 운영체제가 설치되는 부팅 과정에서는 컴퓨터 시스템을 보호하지 못한다.
운영체제가 설치 또는 부트 과정부터 보안 제품이 로딩되기 전까지 컴퓨터 시스템을 보호하기 위한 선행특허로서, 대한민국 공개특허 제2010-0026195호, "시스템 보호 장치 및 방법"이 있다. 이 선행특허에서는, 가상머신관리자가 가상머신에 운영체제 부트 이미지를 로드하여 실행시킨 후 부트 이미지 실행에 따라 가상머신 내에서 인터럽트 또는 이벤트 발생시, 로드 및 실행될 이미지에 대한 유효성을 검증하고 유효성 검증 결과에 의거하여 부팅 또는 설치를 실패 처리하거나 유효하지 않은 이미지를 차단시킨다. 부팅 또는 설치 과정이 진행된 후 보안 프로그램이 실행되면, 가상머신의 하드웨어 상태를 가상머신관리자의 하드웨어 상태로 치환하여 가상화 상태를 종료시킨다.
이러한 선행특허는 가상머신관리자가 가상머신에서 운영체제 부트 이미지를 로드하고 실행하여 모든 인터럽트나 이벤트에 대해 그 유효성을 검증한 후, 리얼머신에 실행 또는 차단하기 때문에 부팅 과정에서 악의적인 파일이 실행되지 못하도록 할 수 있으나, 모든 인터럽트나 이벤트가 가상머신에서 검증된 후 리얼머신에 실행되기 때문에 부팅 시간이 오래 소요되는 문제점이 있다.
종래기술의 문제점을 해결하기 위하여 안출된 이 발명의 목적은, 부트 동안 파일 I/O를 발생시킨 프로세스 정보, 프로세스가 참조한 파일 정보 등의 로그를 수집하고, 수집된 로그를 역추적하여 악성실행코드의 숙주 파일을 탐지하는 시스템 및 방법을 제공하기 위한 것이다.
상술한 목적을 달성하기 위한 이 발명에 따른 악성실행코드의 숙주 파일 탐지 시스템은, 파일시스템 필터 드라이버로부터 필터링된 파일입출력으로부터 실행 프로세스 식별자, 작업 종류, 입출력 대상이 되는 파일 식별자를 로그로 기록하는 로그수집부와;
상기 수집된 로그에 대해 실행 프로세스 식별자별로 작업 종류와 파일 식별자를 연계하여 프로세스정보저장소에 저장하고, 파일 식별자별로 수행된 작업 종류를 파일정보저장소에 저장하는 로그분류부와;
상기 프로세스정보저장소와 상기 파일정보저장소에 저장된 정보를 이용하여 상호 연계된 실행 프로세스 식별자와 파일 식별자를 링크로 연결하고 상기 링크에 파일노드를 생성하며 상기 파일노드에 상기 실행 프로세스 식별자가 상기 파일 식별자를 대상으로 수행한 작업 종류를 기재하여 프로세스 파일 연계 구조를 생성하는 프로세스파일연계부와;
상기 프로세스파일연계부에서 생성된 프로세스 파일 연계 구조를 기반으로 임의의 프로세스와 연계된 모든 프로세스와 파일을 역추적하는 로그검사부를 포함한 것을 특징으로 한다.
또한, 이 발명에 따른 악성실행코드의 숙주 파일 탐지 방법은, 숙주 파일 탐지 시스템이 파일시스템 필터 드라이버로부터 필터링된 파일입출력으로부터 실행 프로세스 식별자, 작업 종류, 입출력 대상이 되는 파일 식별자를 로그로 기록하는 로그수집단계와;
상기 숙주 파일 탐지 시스템이 상기 수집된 로그에 대해 실행 프로세스 식별자별로 작업 종류와 파일 식별자를 연계하여 프로세스정보저장소에 저장하고, 파일 식별자별로 수행된 작업 종류를 파일정보저장소에 저장하는 로그분류단계와;
상기 숙주 파일 탐지 시스템이 상기 프로세스정보저장소와 상기 파일정보저장소에 저장된 정보를 이용하여 상호 연계된 실행 프로세스 식별자와 파일 식별자를 링크로 연결하고 상기 링크에 파일노드를 생성하며 상기 파일노드에 상기 실행 프로세스 식별자가 상기 파일 식별자를 대상으로 수행한 작업 종류를 기재하여 프로세스 파일 연계 구조를 생성하는 프로세스파일연계단계와;
상기 숙주 파일 탐지 시스템이 상기 프로세스 파일 연계 구조를 기반으로 임의의 프로세스와 연계된 모든 프로세스와 파일을 역추적하는 로그검사단계를 포함한 것을 특징으로 한다.
이상과 같이 이 발명에 따르면 컴퓨터 시스템의 부트 시점부터 파일시스템 필터 드라이버로부터 파일입출력을 필터링하여 로그로 기록하고, 이후 부트 동안 파일 I/O를 발생시킨 프로세스 정보와 프로세스가 참조한 파일 정보 및 작업 정보 등을 로그를 역추적하여 악성실행코드의 숙주 파일을 탐지할 수 있는 잇점이 있다.
도 1은 이 발명의 한 실시예에 따른 악성실행코드의 숙주 파일 탐지 시스템을 도시한 구성 블록도이다.
도 2는 프로세스파일연계부에 의해 생성되는 프로세스와 파일 연계 구조의 한 예이다.
도 3은 이 발명에 따른 악성실행코드의 숙주 파일 탐지 방법을 도시한 동작 흐름도이다.
[부호의 설명]
11 : 로그수집부 12 : 로그분류부
13 : 프로세스정보저장소 14 : 파일정보저장소
15 : 프로세스파일연계부 16 : 로그검사부
이하, 첨부된 도면을 참조하며 이 발명에 따른 악성실행코드의 숙주 파일 탐지 시스템 및 방법에 대해 보다 상세하게 설명한다.
통상적으로 안티 바이러스 프로그램은 운영체제가 로드된 후 설치되어 AV 패턴 엔진을 로드하고 기설정된 정책에 따라 구동하여 악의적인 파일이나 프로세스로부터 컴퓨터 시스템을 보호한다. 이 안티 바이러스 프로그램은 실시간 감시기능을 포함하여 악의적인 행위를 수행하는 악성실행코드를 차단할 수 있다. 그러나, 악성실행코드를 생성한 숙주 파일이 남아 있는 한, 그 숙주 파일이 끊임없이 또 다른 악성실행코드를 생성할 수 있기 때문에, 악성실행코드를 차단하는 것만으로는 근본적인 보안 정책이 될 수 없다.
이에 일반적인 안티 바이러스 프로그램은 악성실행코드를 차단하는 것뿐만 아니라 해당 악성실행코드를 생성한 숙주 파일을 찾아서 치료 또는 삭제하는 등의 조치를 취하고 있다.
그러나, 안티 바이러스 프로그램이 구동되기 전에 숙주 파일에 의해 생성된 악성실행코드의 경우, 안티 바이러스 프로그램이 구동되기 전까지 어떠한 방해도 받지 않고 컴퓨터 시스템의 악의적인 행위를 수행할 수 있으나, 안티 바이러스 프로그램은 실행 전이기 때문에 이를 인지할 수 없다.
일부 악성실행코드는 자신을 생성한 숙주 파일을 제거하고 다른 숙주 파일을 생성하여 다음 번 실행을 위해 은닉해 놓기도 한다. 또 다른 악성실행코드는 악의적인 연산을 마무리하고 안티 바이러스 프로그램이 실행되기 전에 종료되기도 한다. 이 경우, 안티 바이러스 프로그램은 해당 악성실행코드나 숙주 파일을 추적하기 곤란하며, 특히 숙주 파일이 은닉되어 있는 경우에는 더욱 찾기 어려워진다.
이 발명에서는 부트 시점부터 안티 바이러스 프로그램이 구동되기까지 파일 I/O를 발생시킨 프로세스 정보, 프로세스가 참조한 파일 정보 등의 로그를 수집하고, 수집된 로그를 역추적하여 악성실행코드의 숙주 파일을 탐지한다.
도 1은 이 발명의 한 실시예에 따른 악성실행코드의 숙주 파일 탐지 시스템을 도시한 구성 블록도이다.
이 발명에 따른 악성실행코드의 숙주 파일 탐지 시스템은, 파일시스템 필터 드라이버로부터 파일입출력을 필터링하고 상기 파일입출력으로부터 실행 프로세스 식별자, 작업 종류, 입출력 대상이 되는 파일 식별자를 로그로 기록하는 로그수집부(11)와; 상기 수집된 로그에 대해 각 실행 프로세스 식별자별로 작업 종류와 파일 식별자를 연계하여 프로세스정보저장소(13)에 저장하고, 각 파일 식별자별로 수행된 모든 작업 종류를 파일정보저장소(14)에 저장하는 로그분류부(12)와; 상기 프로세스정보저장소(13)와 상기 파일정보저장소(14)에 저장된 정보를 이용하여 상기 상호 연계된 실행 프로세스 식별자와 파일 식별자와의 링크에 파일노드를 생성하고 상기 파일노드에 상기 실행 프로세스 식별자가 상기 파일 식별자를 대상으로 수행한 작업 종류 정보를 기재하여 프로세스 파일 연계 구조를 생성하는 프로세스파일연계부(15)와; 상기 프로세스파일연계부(15)에서 생성된 프로세스 파일 연계 구조를 기반으로 임의의 프로세스와 연계된 모든 프로세스와 파일을 역추적하는 로그검사부(16)를 포함한다.
상기 로그수집부(11)는 컴퓨터 시스템의 부트시부터 실행되는 것이 바람직하고, 로그분류부(12)와 프로세스파일연계부(15)와 로그검사부(16)는 안티 바이러스 프로그램 서비스가 시작되어 실시간 파일 I/O 감시부가 구동할 때 실행되는 것이 바람직하다. 실시간 파일 I/O 감시부가 실행되면 로그수집부(11)가 실행을 정지하여도 된다.
상기 프로세스 식별자는 프로세스 생성시간을 포함하고, 상기 파일 식별자는 파일 경로와 파일 명을 포함한다. 프로세스정보저장소(13)는 종료된 실행 프로세스에 대한 로그 정보와 삭제된 파일에 대한 로그 정보도 유지하는 것이 바람직하다. 각 프로세스는 부모 프로세스 식별자(생성시간) 정보를 저장한다.
상기 작업 종류에는 생성, 열기, 실행, 쓰기, 이름변경, 경로이동, 삭제 등이 포함된다. 이중 이름변경과 경로이동은 파일 식별자를 변경시키는 작업 종류로서, 이름변경이나 경로이동시 이전 파일 식별자는 없어지고 새로운 파일 식별자가 생성된다. 따라서, 실행 프로세스가 임의의 파일을 이름변경이나 경로이동하는 경우, 상기 실행 프로세스와 변경이나 이동 전 파일 식별자 및 변경이나 이동 후 파일 식별자가 각각 연계되어 저장된다. 상기 파일정보저장소는 해시테이블로 구축된다.
도 2는 프로세스파일연계부에 의해 생성되는 프로세스와 파일 연계 구조의 한 예이다.
실행 프로세스 식별자와 파일 식별자의 연계 링크(21, 22, 23)에 부가된 파일노드(24, 25, 26)에는 각각 해당 실행 프로세스 식별자(P2, P4)가 해당 파일 식별자(F3, F6)를 대상으로 수행한 작업 종류가 기재되는데, 생성(C), 열기(O), 실행(E), 쓰기(W), 삭제(D)에는 하나의 실행 프로세스 식별자와 하나의 파일 식별자만 연계(P2-F3)(P4-F3)(P4-F6)되지만, 이름변경이나 경로이동은 하나의 실행 프로세스 식별자와 두 개의 파일 식별자가 연계(P4-F3/F6)된다. 이때, 실행 프로세스 식별자(P4)와 이름변경전 파일 식별자(F3)와의 연계 링크(22)의 파일노드(25)에는 작업 종류로서 이름변경전(Rs)이 기재되고, 해당 실행 프로세스 식별자(P4)와 이름변경후 파일 식별자(F6)와의 연계 링크(23)의 파일노드(26)에는 작업 종류로서 이름변경후(Rd)가 기재된다. 이와 마찬가지로, 실행 프로세스 식별자와 경로이동전 파일 식별자와의 연계 링크 파일노드에는 작업 종류로서 경로이동전(Ms)이 기재되고, 해당 실행 프로세스 식별자와 경로이동후 파일 식별자와의 연계 링크 파일노드에는 작업 종류로서 경로이동후(Md)가 기재된다.
프로세스파일연계부(15)는, 파일 식별자마다 해당 파일 식별자에게 작업한 실행 프로세스 식별자를 상술한 파일노드와는 별도의 노드와 링크로 표시할 수도 있다.
로그검사부(16)는 프로세스파일연계부(15)에 생성된 프로세스와 파일 연계 구조로부터 임의의 프로세스와 연계된 모든 프로세스와 파일을 역추적한다. 로그검사부(16)가 도 2의 프로세스와 파일 연계 구조로부터 얻을 수 있는 정보는 아래의 표 1과 같다.
표 1
1. P2는 F3을 생성했다.2. P4(부모프로세스;P2)는 F3을 열고 F3을 다른 이름으로 변경했다.3. P4는 다른 이름의 파일을 F6으로 이름변경을 하고, F6을 실행했다.4. F3에 수행된 작업 종류는 C(생성), O(열기), Rs(이름변경전)이다.5. F6에 수행된 작업 종류는 Rd(이름변경후), E(실행)이다.
2항목과 3항목의 조합으로부터 P4가 F3을 F6으로 이름변경하였음을 알 수 있다. 안티 바이러스 프로그램이 F6으로부터 생성된 프로세스가 악성이라고 판단한 경우, 로그검사부(16)는 해당 악성 프로세스에 연계된 F6 뿐만 아니라 F6과 연계된 P4, P2, F3을 역추적할 수 있다. 또한, 도면에는 도시되지 않았으나, 임의의 파일이 다음 번 실행을 위해 복사(생성)되어 은닉되어 있더라도 프로세스와 파일의 연계 구조를 역추적하면 악성 프로세스와 연계된 모든 파일과 모든 프로세스의 역추적이 가능하므로 은닉된 파일의 검출이 가능하다.
또한, 로그검사부(16)는 특정 작업 종류가 수행된 파일을 선별하여 검사할 수도 있고, 특정 프로세스와 링크된 파일만을 선별하여 검사할 수도 있다.
도 3은 이 발명에 따른 악성실행코드의 숙주 파일 탐지 방법을 도시한 동작 흐름도이다.
로그수집부(11)는 파일시스템 필터 드라이버로부터 파일입출력을 필터링하고(S31), 필터링한 파일입출력으로부터 실행 프로세스 식별자, 작업 종류, 입출력 대상이 되는 파일 식별자를 로그로 기록한다(S32). 로그수집부(11)는 부트 시점부터 동작하는 파일시스템 필터 드라이버로부터 파일입출력을 제공받기 때문에, 부트 시점부터 파일 로그를 기록할 수 있다.
이 후 AV 프로그램이 실행되면(S33), 로그분류부(12)는 상기 수집된 로그에 대해 각 실행 프로세스 식별자별로 작업 종류와 파일 식별자를 연계하여 프로세스정보저장소(13)에 저장하고, 각 파일 식별자별로 수행된 모든 작업 종류를 파일정보저장소(14)에 저장한다(S34).
다음, 프로세스파일연계부(15)는 프로세스정보저장소(13)와 파일정보저장소(14)에 저장된 정보를 이용하여 상기 상호 연계된 실행 프로세스 식별자와 파일 식별자와의 링크에 파일노드를 생성하고 상기 파일노드에 상기 실행 프로세스 식별자가 상기 파일 식별자를 대상으로 수행한 작업 종류 정보를 기재하여 프로세스 파일 연계 구조를 생성한다(S35).
마지막으로, 로그검사부(16)는 상기 프로세스파일연계부(15)에서 생성된 프로세스 파일 연계 구조를 기반으로 임의의 프로세스와 연계된 모든 프로세스와 파일을 역추적한다(S36).
이상에서 본 발명에 대한 기술사상을 첨부도면과 함께 서술하였지만, 이는 본 발명의 가장 양호한 실시예를 예시적으로 설명한 것이지 본 발명을 한정하는 것은 아니다. 또한, 이 기술분야의 통상의 지식을 가진 자라면 누구나 본 발명의 기술사상의 범주를 이탈하지 않는 범위 내에서 다양한 변형 및 모방이 가능함은 명백한 사실이다.

Claims (10)

  1. 파일시스템 필터 드라이버로부터 필터링된 파일입출력으로부터 실행 프로세스 식별자, 작업 종류, 입출력 대상이 되는 파일 식별자를 로그로 기록하는 로그수집부와;
    상기 수집된 로그에 대해 실행 프로세스 식별자별로 작업 종류와 파일 식별자를 연계하여 프로세스정보저장소에 저장하고, 파일 식별자별로 수행된 작업 종류를 파일정보저장소에 저장하는 로그분류부와;
    상기 프로세스정보저장소와 상기 파일정보저장소에 저장된 정보를 이용하여 상호 연계된 실행 프로세스 식별자와 파일 식별자를 링크로 연결하고 상기 링크에 파일노드를 생성하며 상기 파일노드에 상기 실행 프로세스 식별자가 상기 파일 식별자를 대상으로 수행한 작업 종류를 기재하여 프로세스 파일 연계 구조를 생성하는 프로세스파일연계부와;
    상기 프로세스파일연계부에서 생성된 프로세스 파일 연계 구조를 기반으로 임의의 프로세스와 연계된 모든 프로세스와 파일을 역추적하는 로그검사부를 포함한 것을 특징으로 하는 악성실행코드의 숙주 파일 탐지 시스템.
  2. 제 1 항에 있어서, 상기 실행 프로세스 식별자는 프로세스 생성시간인 것을 특징으로 하는 악성실행코드의 숙주 파일 탐지 시스템.
  3. 제 1 항에 있어서, 상기 프로세스정보저장소 및 상기 프로세스 파일 연계 구조는 상기 실행 프로세스 식별자의 부모 실행 프로세스 식별자 정보를 포함한 것을 특징으로 하는 악성실행코드의 숙주 파일 탐지 시스템.
  4. 제 1 항에 있어서, 상기 작업 종류는 상기 파일 식별자를 대상으로 한 생성, 열기, 실행, 쓰기, 이름변경, 경로이동, 삭제를 포함한 것을 특징으로 하는 악성실행코드의 숙주 파일 탐지 시스템.
  5. 제 1 항에 있어서, 상기 파일정보저장소는 해시테이블로 구축된 것을 특징으로 하는 악성실행코드의 숙주 파일 탐지 시스템.
  6. 숙주 파일 탐지 시스템이 파일시스템 필터 드라이버로부터 필터링된 파일입출력으로부터 실행 프로세스 식별자, 작업 종류, 입출력 대상이 되는 파일 식별자를 로그로 기록하는 로그수집단계와;
    상기 숙주 파일 탐지 시스템이 상기 수집된 로그에 대해 실행 프로세스 식별자별로 작업 종류와 파일 식별자를 연계하여 프로세스정보저장소에 저장하고, 파일 식별자별로 수행된 작업 종류를 파일정보저장소에 저장하는 로그분류단계와;
    상기 숙주 파일 탐지 시스템이 상기 프로세스정보저장소와 상기 파일정보저장소에 저장된 정보를 이용하여 상호 연계된 실행 프로세스 식별자와 파일 식별자를 링크로 연결하고 상기 링크에 파일노드를 생성하며 상기 파일노드에 상기 실행 프로세스 식별자가 상기 파일 식별자를 대상으로 수행한 작업 종류를 기재하여 프로세스 파일 연계 구조를 생성하는 프로세스파일연계단계와;
    상기 숙주 파일 탐지 시스템이 상기 프로세스 파일 연계 구조를 기반으로 임의의 프로세스와 연계된 모든 프로세스와 파일을 역추적하는 로그검사단계를 포함한 것을 특징으로 하는 악성실행코드의 숙주 파일 탐지 방법.
  7. 제 6 항에 있어서, 상기 실행 프로세스 식별자는 프로세스 생성시간인 것을 특징으로 하는 악성실행코드의 숙주 파일 탐지 방법.
  8. 제 6 항에 있어서, 상기 프로세스정보저장소 및 상기 프로세스 파일 연계 구조는 상기 실행 프로세스 식별자의 부모 실행 프로세스 식별자 정보를 포함한 것을 특징으로 하는 악성실행코드의 숙주 파일 탐지 방법.
  9. 제 6 항에 있어서, 상기 작업 종류는 상기 파일 식별자를 대상으로 한 생성, 열기, 실행, 쓰기, 이름변경, 경로이동, 삭제를 포함한 것을 특징으로 하는 악성실행코드의 숙주 파일 탐지 방법.
  10. 제 6 항에 있어서, 상기 파일정보저장소는 해시테이블로 구축된 것을 특징으로 하는 악성실행코드의 숙주 파일 탐지 방법.
PCT/KR2014/000625 2013-01-29 2014-01-22 악성실행코드의 숙주 파일 탐지 시스템 및 방법 WO2014119869A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2013-0010036 2013-01-29
KR1020130010036A KR101405831B1 (ko) 2013-01-29 2013-01-29 악성실행코드의 숙주 파일 탐지 시스템 및 방법

Publications (1)

Publication Number Publication Date
WO2014119869A1 true WO2014119869A1 (ko) 2014-08-07

Family

ID=51132417

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2014/000625 WO2014119869A1 (ko) 2013-01-29 2014-01-22 악성실행코드의 숙주 파일 탐지 시스템 및 방법

Country Status (2)

Country Link
KR (1) KR101405831B1 (ko)
WO (1) WO2014119869A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109815692A (zh) * 2017-11-20 2019-05-28 腾讯科技(深圳)有限公司 识别安装应用的方法和装置、存储介质及电子装置
CN114024775A (zh) * 2022-01-05 2022-02-08 北京微步在线科技有限公司 一种基于edr和ndr的主机失陷检测方法及系统

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10121004B2 (en) 2015-10-07 2018-11-06 Electronics And Telecommunications Research Institute Apparatus and method for monitoring virtual machine based on hypervisor
KR101937935B1 (ko) 2017-07-07 2019-04-11 한국전자통신연구원 가상머신 프로세스 실행에 따른 감사 증적 저장 장치 및 방법
US10802863B2 (en) 2017-07-07 2020-10-13 Electronics And Telecommunications Research Institute Apparatus and method for storing audit trail in response to virtual-machine process execution
KR102393913B1 (ko) * 2020-04-27 2022-05-03 (주)세이퍼존 이상행위 탐지 장치, 방법 및 이를 포함하는 시스템

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11282673A (ja) * 1998-03-31 1999-10-15 Toshiba Corp コンピュータウィルスの感染経路検出方法とその方法に用いるトレースウィルスを記録する記録媒体
KR101013419B1 (ko) * 2008-08-29 2011-02-14 주식회사 안철수연구소 시스템 보호 장치 및 방법
KR20120071863A (ko) * 2010-12-23 2012-07-03 주식회사 케이티 Irc 명령어 패턴을 이용한 봇넷 탐지 시스템 및 그 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11282673A (ja) * 1998-03-31 1999-10-15 Toshiba Corp コンピュータウィルスの感染経路検出方法とその方法に用いるトレースウィルスを記録する記録媒体
KR101013419B1 (ko) * 2008-08-29 2011-02-14 주식회사 안철수연구소 시스템 보호 장치 및 방법
KR20120071863A (ko) * 2010-12-23 2012-07-03 주식회사 케이티 Irc 명령어 패턴을 이용한 봇넷 탐지 시스템 및 그 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109815692A (zh) * 2017-11-20 2019-05-28 腾讯科技(深圳)有限公司 识别安装应用的方法和装置、存储介质及电子装置
CN109815692B (zh) * 2017-11-20 2023-02-10 腾讯科技(深圳)有限公司 识别安装应用的方法和装置、存储介质及电子装置
CN114024775A (zh) * 2022-01-05 2022-02-08 北京微步在线科技有限公司 一种基于edr和ndr的主机失陷检测方法及系统

Also Published As

Publication number Publication date
KR101405831B1 (ko) 2014-06-11

Similar Documents

Publication Publication Date Title
WO2014119869A1 (ko) 악성실행코드의 숙주 파일 탐지 시스템 및 방법
US20200311271A1 (en) Method of malware detection and system thereof
JP6829718B2 (ja) 複数のソフトウェアエンティティにわたって悪意あるビヘイビアを追跡するためのシステムおよび方法
WO2015178578A1 (ko) 패치파일 분석시스템과 분석방법
CN109558726B (zh) 一种基于动态分析的控制流劫持攻击检测方法与系统
Cui et al. Tracking rootkit footprints with a practical memory analysis system
TWI396995B (zh) 惡意軟體清除方法、系統及電腦程式產品與儲存媒體
CN107103238A (zh) 用于保护计算机系统免遭恶意对象活动侵害的系统和方法
DE112013002012B4 (de) Verfahren eines Erkennens von Schadsoftware in einem Betriebssystemkern
US20170103202A1 (en) Apparatus and method for monitoring virtual machine based on hypervisor
CN109074448B (zh) 计算装置的安全状态与额定安全状态的偏差的检测
Luckett et al. Neural network analysis of system call timing for rootkit detection
Provataki et al. Differential malware forensics
Hahn et al. Robust static analysis of portable executable malware
Khalimov et al. Container-based sandboxes for malware analysis: A compromise worth considering
CN109120618B (zh) 一种基于硬件虚拟化的云平台受控侧信道攻击检测方法
WO2014168406A1 (ko) 메모리 보호기능 우회 공격 진단 장치 및 방법
KR20110087826A (ko) 가상머신을 이용한 악성소프트웨어 탐지 방법
WO2023027228A1 (ko) 응용프로그램의 실행 흐름 변경을 통한 비실행 파일의 악성 탐지 방법 및 장치
Khanmohammadi et al. On the Use of API Calls for Detecting Repackaged Malware Apps: Challenges and Ideas
Riley A framework for prototyping and testing data-only rootkit attacks
KR101001899B1 (ko) 은폐된 시스템 개체 진단 시스템 및 진단 방법
Wang et al. deExploit: Identifying misuses of input data to diagnose memory-corruption exploits at the binary level
Fraser et al. VICI virtual machine introspection for cognitive immunity
Albabtain et al. The process of reverse engineering GPU malware and provide protection to GPUs

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14745676

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14745676

Country of ref document: EP

Kind code of ref document: A1