KR20110057297A - Dynamic analyzing system for malicious bot and methods therefore - Google Patents

Dynamic analyzing system for malicious bot and methods therefore Download PDF

Info

Publication number
KR20110057297A
KR20110057297A KR1020090113635A KR20090113635A KR20110057297A KR 20110057297 A KR20110057297 A KR 20110057297A KR 1020090113635 A KR1020090113635 A KR 1020090113635A KR 20090113635 A KR20090113635 A KR 20090113635A KR 20110057297 A KR20110057297 A KR 20110057297A
Authority
KR
South Korea
Prior art keywords
malicious
malicious bot
bot
dynamic analysis
kernel
Prior art date
Application number
KR1020090113635A
Other languages
Korean (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 KR1020090113635A priority Critical patent/KR20110057297A/en
Publication of KR20110057297A publication Critical patent/KR20110057297A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities

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)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Debugging And Monitoring (AREA)

Abstract

PURPOSE: A system and method for malicious bot dynamic analysis are provided to detect and analyze the execution of a malicious bot by avoiding the analysis avoiding method of a malicious bot. CONSTITUTION: A malicious bot detector(100) detects the execution of a malicious bot by avoiding an analysis avoiding method of malicious bot which can exist in an OS(Operating System) of a terminal. A malicious bot analyzer(300) generates, stores, and analyzes the detection result. The malicious bot detector includes first to third modules(110~150) detects an execution of the malicious bot by avoiding a kernel level rootkit scheme, virtual environment detection method, and a DLL(Dynamic Link Library), or binary code insertion scheme.

Description

악성 봇 동적 분석 시스템 및 방법{Dynamic Analyzing System For Malicious Bot And Methods Therefore}Dynamic Analyzing System For Malicious Bot And Methods Therefore}

본 발명은 악성 봇을 분석하기 위한 동적 분석 시스템 및 방법에 관한 것으로, 보다 상세하게는 악성 봇의 분석회피 방식인 커널레벨 루트 킷 방식, 가상환경 탐지 방식, DLL 또는 바이너리 파일 삽입 방식 등을 우회하여 악성 봇의 실행을 탐지하는 악성 봇 동적 분석 시스템 및 방법에 관한 것이다.The present invention relates to a dynamic analysis system and method for analyzing malicious bots, and more specifically, bypasses a kernel-level rootkit method, a virtual environment detection method, a DLL or binary file insertion method, etc. Malicious bot dynamic analysis system and method for detecting the execution of malicious bots.

일반적으로, 봇(Bot)이란 훼손된 시스템에서 동작하는 종속 프로세스로서, 조종자와 통신을 주고받으며 조종자의 지시에 의해 악성 행위를 수행하게 되며, 상기 봇(Bot) 및 조종자로 구성된 네트워크를 봇넷(Botnet)이라고 통칭한다. 최근 악성 봇에 의한 공격이 점차 증가함에 따라, 악성 봇에 의한 사회적, 경제적 피해가 지속적으로 증가되고 있다. In general, a bot is a subordinate process that operates in a compromised system, and communicates with a manipulator and performs malicious actions by a manipulator's instructions. A botnet is a network composed of the bot and a manipulator. Collectively. As attacks by malicious bots gradually increase, social and economic damages by malicious bots continue to increase.

이러한 악성 봇을 탐지하여 분석하기 위한 방법은, 분석대상인 악성 봇의 실행여부에 따라 크게 정적 분석(Static Analysis) 방식 및 동적 분석(Dynamic Analysis) 방식으로 분류할 수 있다. 상기 정적 분석(Static Analysis) 방식은 악성 봇의 내부 스트링 및 PE(Portable Executable) 파일 분석 등의 작업을 수행함으 로써 이루어지며, 분석 결과의 정확도가 높고 다양한 분석 도구가 존재하나, 자동화가 어렵다는 특징이 있다. 그리고, 상기 동적 분석(Dynamic Analysis) 방식은 악성 봇의 실행 후의 파일, 프로세스, 레지스트리 및 네트워크 이벤트 등을 분석함으로써 이루어지며, 대량의 악성 봇 분석에 많이 사용되는 방식으로 상기 정적 분석 방식에 비해 자동화가 용이하다는 특징이 있다.Methods for detecting and analyzing such malicious bots can be largely classified into a static analysis method and a dynamic analysis method according to whether or not the malicious bots to be analyzed are executed. The static analysis method is performed by analyzing the internal strings of the malicious bots and the portable executable file (PE) file, and the analysis result is high in accuracy and various analysis tools exist, but it is difficult to automate. have. In addition, the dynamic analysis method is performed by analyzing a file, a process, a registry, and a network event after execution of a malicious bot, and is used in a large amount of malicious bot analysis. It is characterized by ease.

최근, 악성 봇이 분석시간을 지연시키기 위해 커널레벨 루트 킷, 가상환경 탐지, DLL 또는 바이너리 파일 삽입 등과 같은 지능화된 분석회피 방식을 사용하고 있는바, 악성 봇 분석에 많은 어려움이 발생하고 있다. 따라서, 본 발명은 상기와 같은 악성 봇의 분석회피 방식을 극복가능한 악성 봇 동적 분석 시스템 및 방법을 이하와 같이 개시한다.Recently, malicious bots use intelligent analysis avoidance methods such as kernel level rootkit, virtual environment detection, DLL or binary file insertion to delay the analysis time. Therefore, the present invention discloses a malicious bot dynamic analysis system and method capable of overcoming the above-mentioned analysis avoidance method of malicious bots.

본 발명의 목적은, 종래의 악성 봇 분석방식으로는 대응이 불가능한 DLL 또는 바이너리 코드 삽입, 가상환경 탐지 등과 같은 악성 봇의 분석회피 방식에 대해서도 대응이 가능한 악성 봇 동적 분석 시스템 및 방법에 대해 제공하고자 함에 있다.An object of the present invention is to provide a malicious bot dynamic analysis system and method that can cope with the analysis avoidance method of malicious bots, such as DLL or binary code insertion, virtual environment detection, etc. that are not compatible with conventional malicious bot analysis method It's in the ship.

본 발명에 따른 악성 봇 동적 분석 시스템은, 단말기의 운영체제(OS) 내 존재하는 악성 봇의 분석회피 방식을 우회한 후 상기 악성 봇의 실행을 탐지하는 악성 봇 탐지부; 및 상기 악성 봇 탐지부에서 상기 악성 봇의 실행을 탐지했는지 여부에 기반하여 탐지결과 정보를 생성, 저장 및 분석하는 악성 봇 분석부; 를 포함한다.Malicious bot dynamic analysis system according to the present invention, a malicious bot detection unit for detecting the execution of the malicious bot after bypassing the analysis avoidance method of the malicious bot existing in the operating system (OS) of the terminal; And a malicious bot analyzer for generating, storing, and analyzing detection result information based on whether the malicious bot detection unit detects execution of the malicious bot. It includes.

이때, 상기 악성 봇 탐지부는, 상기 악성 봇 내 커널레벨 루트 킷 방식을 우회하여 상기 악성 봇의 실행을 탐지하는 제1 모듈; 상기 악성 봇 내 가상환경 탐지 방식을 우회하여 상기 악성 봇의 실행을 탐지하는 제2 모듈; 및 상기 악성 봇 내 DLL 또는 바이너리 코드 삽입 방식을 우회하여 상기 악성 봇의 실행을 탐지하는 제3 모듈; 중 어느 하나 이상을 포함한다.In this case, the malicious bot detection unit, the first module for detecting the execution of the malicious bot by bypassing the kernel-level rootkit scheme in the malicious bot; A second module for detecting execution of the malicious bot by bypassing a virtual environment detection method in the malicious bot; And a third module for detecting execution of the malicious bot by bypassing a DLL or binary code insertion scheme in the malicious bot; It includes any one or more of.

또한, 본 발명에 따른 제1 악성 봇 동적 분석 방법은, ⒜ 악성 봇 동적 분석 시스템이 커널의 가상 메모리 영역에 커널의 시스템 콜 레이어(System Call Layer)를 복사하는 단계; ⒝ 악성 봇의 실행에 의해 인터럽트가 발생하는 경우, 상기 악 성 봇 동적 분석 시스템이 상기 인터럽트를 상기 커널의 가상 메모리 영역에 복사된 커널의 시스템 콜 레이어(System Call Layer)로 점프시키는 단계; 및 ⒞ 상기 악성 봇이 상기 커널의 가상 메모리 영역에 복사된 커널의 시스템 콜 레이어(System Call Layer)에 기반하여 실행되는 경우, 상기 악성 봇 동적 분석 시스템이 상기 악성 봇의 Native API 호출을 모니터링하여 상기 악성 봇의 실행을 탐지하는 단계; 를 포함한다.In addition, the first malicious bot dynamic analysis method according to the present invention includes the steps of: (i) the malicious bot dynamic analysis system copies a system call layer of the kernel to a virtual memory region of the kernel; (B) if an interrupt is generated by the execution of a malicious bot, the malicious bot dynamic analysis system jumps the interrupt to a system call layer of a kernel copied into a virtual memory area of the kernel; And 경우 when the malicious bot is executed based on a system call layer of the kernel copied to the virtual memory area of the kernel, the malicious bot dynamic analysis system monitors the native API call of the malicious bot to Detecting the execution of a malicious bot; It includes.

또한, 본 발명에 따른 제2 악성 봇 동적 분석 방법은, (a') 악성 봇 동적 분석 시스템이 커널의 가상 메모리 영역에 커널의 시스템 콜 레이어(System Call Layer)를 복사하는 단계; (b') 상기 악성 봇 동적 분석 시스템이 상기 커널의 가상 메모리 영역에 복사된 커널의 시스템 콜 레이어(System Call Layer)를 변경하여, 악성 봇의 Native API에 관한 요청을 후킹(Hooking)한 후 상기 악성 봇의 Native API 호출에 응답하는 단계; 및 (c') 상기 악성 봇이 상기 (b') 단계에서의 악성 봇 동적 분석 시스템의 응답에 기반하여 실행되는 경우, 상기 악성 봇 동적 분석 시스템이 상기 악성 봇의 실행을 탐지하는 단계; 를 포함한다.In addition, the second malicious bot dynamic analysis method according to the present invention, (a ') the malicious bot dynamic analysis system copying the system call layer (System Call Layer) of the kernel to the virtual memory region of the kernel; (b ') The malicious bot dynamic analysis system changes the system call layer of the kernel copied to the virtual memory area of the kernel, and hooks a request regarding the native API of the malicious bot. Responding to a native API call of the malicious bot; And (c ') when the malicious bot is executed based on the response of the malicious bot dynamic analysis system in the step (b'), the malicious bot dynamic analysis system detecting the execution of the malicious bot; It includes.

또한, 본 발명에 따른 제3 악성 봇 동적 분석 방법은, (a") 악성 봇 동적 분석 시스템이 소정의 시간 동안 단말기 내 운영체제(OS)의 악성 봇의 실행 여부에 대해 분석을 마친 후, 상기 단말기 내 운영체제(OS)의 프로세스에 DLL 또는 바이너리 코드가 삽입되었는지 여부를 판단하는 단계; (b") 상기 악성 봇 동적 분석 시스템이 상기 단말기 내 운영체제(OS)의 프로세스에 DLL 또는 바이너리 코드가 삽입되었다고 판단한 경우, 상기 DLL 또는 바이너리 코드가 삽입된 단말기 내 운영체 제(OS)의 프로세스의 실행 여부를 판단하는 단계; 및 (c") 상기 악성 봇 동적 분석 시스템이 상기 DLL 또는 바이너리 코드가 삽입된 단말기 내 운영체제(OS)의 프로세스가 실행되지 않았다고 판단한 경우, 상기 DLL 또는 바이너리 코드가 삽입된 프로세스를 강제로 실행하여 악성 봇의 실행을 탐지하는 단계; 를 포함한다.In addition, the third malicious bot dynamic analysis method according to the present invention, (a ") after the malicious bot dynamic analysis system has finished analyzing whether the malicious bot of the operating system (OS) in the terminal for a predetermined time, the terminal Determining whether a DLL or binary code is inserted into a process of an operating system (OS); (b ") the malicious bot dynamic analysis system determines that the DLL or binary code is inserted into a process of an operating system (OS) in the terminal; Determining whether to execute a process of an operating system (OS) in a terminal into which the DLL or binary code is inserted; And (c ") when the malicious bot dynamic analysis system determines that the process of the operating system (OS) in the terminal in which the DLL or the binary code is inserted is not executed, forcibly executes the process in which the DLL or the binary code is inserted. Detecting the execution of the bot.

본 발명에 따르면, 종래의 악성 봇 동적 분석 시스템 및 방법으로는 대응이 불가능한 DLL 또는 바이너리 코드 삽입, 가상환경 탐지 등과 같은 악성 봇의 분석회피 방식 등을 우회하여 악성 봇의 실행을 탐지하고 분석이 가능한 악성 봇 동적 분석 시스템 및 방법을 제공함으로써, 상기 악성 봇으로 인한 사회적, 경제적 피해 발생을 미연에 방지하고 대처할 수 있도록 하는 효과가 있다. According to the present invention, it is possible to detect and analyze the execution of malicious bots by bypassing the analysis avoidance method of malicious bots such as DLL or binary code insertion, virtual environment detection, etc., which are not compatible with conventional malicious bot dynamic analysis systems and methods. By providing a malicious bot dynamic analysis system and method, there is an effect that can prevent and cope with the social and economic damage caused by the malicious bot in advance.

본 발명의 실시를 위한 구체적인 내용을 설명하기에 앞서, 본 발명의 기술적 요지와 직접적 관련이 없는 구성에 대해서는 본 발명의 기술적 요지를 흩뜨리지 않는 범위 내에서 생략하였음에 유의하여야 할 것이다. 또한, 본 명세서 및 청구범위에 사용된 용어 또는 단어는 발명자가 자신의 발명을 최선의 방법으로 설명하기 위해 적절한 용어의 개념을 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야 할 것이다.Before describing the details for carrying out the present invention, it should be noted that configurations that are not directly related to the technical gist of the present invention are omitted within the scope of not distracting the technical gist of the present invention. In addition, the terms or words used in the present specification and claims are intended to comply with the technical spirit of the present invention based on the principle that the inventor can define the concept of appropriate terms in order to best explain the invention. It should be interpreted as a concept.

이하, 본 발명에 따른 악성 봇 동적 분석 시스템 및 방법에 대해 설명하기에 앞서, 악성 봇의 분석회피 방식에 대해 상세히 설명한다.Hereinafter, before the malicious bot dynamic analysis system and method according to the present invention will be described, the analysis avoidance method of the malicious bot will be described in detail.

먼저, 커널레벨 루트 킷 방식의 경우, 악성 봇이 단말기의 운영체제(Operationg System, OS)가 동작하는 커널 레벨에서 상기 단말기의 운영체제(OS)의 제어권을 장악하여 악성 봇의 코드에 따라 악성행위를 수행하며, 악성 봇의 탐지가 어렵도록 하는 방식이다.First, in the kernel level rootkit method, a malicious bot takes control of the operating system (OS) of the terminal at the kernel level at which the operating system (OS) of the terminal operates, and performs malicious actions according to the code of the malicious bot. This makes it difficult to detect malicious bots.

다음으로, DLL 또는 바이너리 파일 삽입 방식의 경우, 단말기의 재부팅 후 악성 봇의 실행이 가능하도록 하기 위해 레지스트리를 변경하는 데에 목적이 있는 분석회피 방식으로, 특정 프로세스, 예를 들어 explore.exe, winlogon.exe, svchost.exe와 같은 윈도우 프로세스의 메모리 영역에 DLL 또는 바이너리 코드를 삽입하는 방식이다.Next, in the case of DLL or binary file insertion method, a specific process, for example, explore.exe, winlogon, is used in an evasion method which aims to change the registry so that a malicious bot can be executed after the terminal is rebooted. It inserts DLL or binary code into memory area of Windows process such as .exe and svchost.exe.

마지막으로, 가상환경 탐지 방식의 경우, 악성 봇의 분석시간을 지연시키는 데 목적이 있는 분석회피 방식으로, 악성 봇이 자신의 코드를 실행하기 전 VM(Virtual Machine)이 실행중인지 확인한 후, VM이 실행중인 경우 악성 봇 분석이 실행중인 것으로 판단하여 코드 실행을 중지하거나 정상적인 프로세스만 수행하도록 하는 방식이다.Finally, in the case of the virtual environment detection method, it is an analysis evasion method that aims to delay the analysis time of the malicious bot. After checking whether the virtual machine is running before the malicious bot executes its code, the VM is executed. If it is running, it is determined that malicious bot analysis is running so that the code execution is stopped or only normal processes are executed.

이하, 본 발명에 따른 악성 봇 동적 분석 시스템에 대해 첨부한 예시도면을 토대로 상세히 설명한다. 도 1의 경우 본 발명에 따른 악성 봇 동적 분석 시스템의 전체 구성도이며, 도 2a 내지 도 2b의 경우 본 발명에 따른 악성 봇 동적 분석 시스템 내 악성 봇 탐지부를 설명하기 위한 도면이다.Hereinafter, the malicious bot dynamic analysis system according to the present invention will be described in detail based on the accompanying drawings. 1 is an overall configuration diagram of a malicious bot dynamic analysis system according to the present invention, and FIGS. 2A to 2B illustrate a malicious bot detection unit in a malicious bot dynamic analysis system according to the present invention.

본 발명에 따른 악성 봇 동적 분석 시스템은, 악성 봇 탐지부(100) 및 악성 봇 분석부(300)를 포함한다.The malicious bot dynamic analysis system according to the present invention includes a malicious bot detection unit 100 and a malicious bot analysis unit 300.

상기 악성 봇 탐지부(100)는, 상기 악성 봇 내 커널레벨 루트 킷 방식을 우회하여 상기 악성 봇의 실행을 탐지하는 제1 모듈(110); 상기 악성 봇 내 가상환경 탐지 방식을 우회하여 상기 악성 봇의 실행을 탐지하는 제2 모듈(130); 및 상기 악성 봇 내 DLL 또는 바이너리 코드 삽입 방식을 우회하여 상기 악성 봇의 실행을 탐지하는 제3 모듈(150); 중 어느 하나 이상을 포함한다.The malicious bot detection unit 100 includes: a first module 110 for detecting execution of the malicious bot by bypassing a kernel level rootkit scheme in the malicious bot; A second module 130 for detecting execution of the malicious bot by circumventing a virtual environment detection method in the malicious bot; And a third module 150 for bypassing the DLL or binary code insertion scheme in the malicious bot to detect execution of the malicious bot. It includes any one or more of.

이때, 상기 제1 모듈(110)에 대해 첨부한 예시도면을 토대로 상세히 설명한다. 도 2a의 경우 상기 악성 봇 탐지부 내 상기 제1 모듈(110)을 설명하기 위한 도면이다.In this case, the first module 110 will be described in detail with reference to the accompanying drawings. 2A illustrates the first module 110 in the malicious bot detection unit.

상기 제1 모듈(110)은, 단말기의 운영체제(Operating System, OS)가 부팅된 이후,커널의 가상 메모리 영역에 Native API의 주소 정보를 담고 있는 SSDT(System Service Dispatch Table), KiSystemService 함수 및 Native API(Application Programming Interface)를 포함하는 커널의 시스템 콜 레이어(System Call Layer)를 복사한다.The first module 110, after booting the operating system (OS) of the terminal, SSDT (System Service Dispatch Table) containing the address information of the native API in the virtual memory area of the kernel, KiSystemService function and Native API Copy the system call layer of the kernel, including the Application Programming Interface.

그리고, 상기 제1 모듈(110)은 상기 단말기의 운영체제에서 상기 악성 봇이 실행되어 'INT 2E' 또는 'SYSENTER'와 같은 인터럽트(Interrupt)가 발생하는 경우, 원본 KiSystemService 함수 대신 상기 커널의 가상 메모리 영역에 복사된 커널의 시스템 콜 레이어(System Call Layer) 내 KiSystemService 함수의 주소로 점프하도록 한다. When the malicious bot is executed in the operating system of the terminal and an interrupt such as 'INT 2E' or 'SYSENTER' occurs, the first module 110 replaces the original KiSystemService function with the virtual memory area of the kernel. Let's jump to the address of the KiSystemService function in the system call layer of the kernel.

이에 따라, 상기 악성 봇이 상기 커널의 가상 메모리 영역에 복사된 커널의 시스템 콜 레이어(System Call Layer) 내 KiSystemService 함수를 통해 상기 커널의 가상 메모리 영역에 복사된 커널의 시스템 콜 레이어(System Call Layer) 내 SSDT 내 Native API 주소 정보를 이용하여, 상기 커널의 가상 메모리 영역에 복사된 커널의 시스템 콜 레이어(System Call Layer) 내 Native API를 호출하게 된다. Accordingly, the system call layer of the kernel copied by the malicious bot to the virtual memory area of the kernel through the KiSystemService function in the system call layer of the kernel copied to the virtual memory area of the kernel. By using the native API address information in the SSDT, the native API in the system call layer of the kernel copied to the virtual memory area of the kernel is called.

따라서, 상기 악성 봇이 커널레벨 루트 킷 방식에 의해 SSDT를 변경하여 분석을 회피하더라도, 상기 제1 모듈(110)은 상기 악성 봇의 Native API 호출을 모니터링함에 기반해 상기 악성 봇의 실행을 탐지한다.Therefore, even if the malicious bot changes the SSDT by kernel level rootkit method to avoid the analysis, the first module 110 detects execution of the malicious bot based on monitoring the native API call of the malicious bot. .

이때, 상기 제2 모듈(130)에 대해 첨부한 예시도면을 토대로 상세히 설명한다. 도 2b의 경우 상기 악성 봇 탐지부 내 상기 제2 모듈(130)을 설명하기 위한 도면이다.In this case, the second module 130 will be described in detail with reference to the accompanying drawings. 2B is a diagram for describing the second module 130 in the malicious bot detection unit.

상기 제2 모듈(130)은, 상기 커널의 가상 메모리 영역에 복사된 커널의 시스템 콜 레이어(System Call Layer) 내 Native API의 주소 정보를 담고 있는 SSDT(System Service Dispatch Table)를 변경하여, 악성 봇의 특정 Native API 호출을 후킹(Hooking)한 후 상기 악성 봇의 특정 Native API 호출에 대해 조작된 결과를 응답한다.The second module 130 changes a system service dispatch table (SSDT) containing address information of a native API in a system call layer of the kernel copied to the virtual memory region of the kernel, thereby causing a malicious bot. After hooking a specific Native API call of, it responds to the manipulated result for the specific Native API call of the malicious bot.

예를 들어, 도 1b를 참조하면, 악성 봇이 실행중인 프로세스 리스트를 얻기 위해 NtQuerySystemInformation 함수를 호출한 경우, 상기 제2 모듈(130)이 상기 악성 봇의 호출에 대한 결과로 VMToolservice.exe, VMwareService.exe 및 VMwareUser.exe 등의 가상환경(Virtual Machine Enviroment, VME) 관련 프로세스 에 대한 정보를 삭제하고 응답한다. For example, referring to FIG. 1B, when the malicious bot calls the NtQuerySystemInformation function to obtain a list of running processes, the second module 130 returns VMToolservice.exe, VMwareService. Deleting and responding to information about processes related to virtual environment (VME) such as exe and VMwareUser.exe.

이에 따라, 상기 악성 봇은 단말기의 운영체제의 실행환경이 가상환경이 아닌 것으로 판단하고 자신의 코드를 실행하게 됨에 따라, 상기 제2 모듈(130)은 상기 악성 봇의 가상환경 탐지 방식을 우회하여 악성 봇의 실행을 탐지한다.Accordingly, the malicious bot determines that the execution environment of the operating system of the terminal is not a virtual environment and executes its own code, so that the second module 130 bypasses the malicious environment detection method of the malicious bot and thus malicious. Detect bot execution

아울러, 가상환경에서 IDT(Interrupt Descriptor Table)의 시작 주소가 변경되는 점을 이용한 악성 봇의 가상환경 탐지 방식은, 상기 커널의 가상 메모리 영역에 복사된 커널의 시스템 콜 레이어(System Call Layer) 내 SSDT에서 IDT 주소를 얻기 위한 Native API의 주소를 변경하여 상기 악성 봇의 Native API 호출을 상기 제2 모듈(130)에서 후킹한 후, IDT의 시작 주소를 변경하여 응답한다.In addition, the virtual environment detection method of the malicious bot using the change of the start address of the IDT (Interrupt Descriptor Table) in the virtual environment, SSDT in the system call layer of the kernel copied to the virtual memory area of the kernel After changing the address of the native API to obtain the IDT address in the hook to the native API call of the malicious bot in the second module 130, and changes the start address of the IDT to respond.

이에 따라, 상기 악성 봇은 현재 운영체제의 실행환경이 가상환경이 아닌 것으로 판단하고 자신의 코드를 실행하도록 하여, 상기 제2 모듈(130)은 상기 악성 봇의 가상환경 탐지 방식을 우회하여 악성 봇의 실행을 탐지한다.Accordingly, the malicious bot determines that the execution environment of the current operating system is not a virtual environment and executes its own code, so that the second module 130 bypasses the malicious environment detection method of the malicious bot to Detect execution

이때, 상기 제3 모듈(150)에 대해 상세히 설명한다. 상기 제3 모듈(150)은, 악성 봇이 단말기의 운영체제에 감염된 즉시 실행되는 것이 아니라, 레지스트리를 수정해 단말기의 재부팅시 프로세스에 삽입되어 악성 봇이 실행되는 경우를 탐지한다.In this case, the third module 150 will be described in detail. The third module 150 detects a case where the malicious bot is not executed immediately after being infected by the operating system of the terminal, but is modified by inserting into a process when the terminal is rebooted by modifying the registry.

따라서, 상기 제3 모듈(150)은 소정의 시간 동안 단말기 내 운영체제(OS)의 악성 봇 존재 여부에 대해 분석을 마친 후, 단말기 내 운영체제(OS)에 DLL 또는 바이너리 코드가 삽입된 프로세스 존재 여부를 판단한다.Therefore, after the third module 150 analyzes whether a malicious bot exists in the operating system (OS) in the terminal for a predetermined time, the third module 150 determines whether the DLL or binary code is inserted into the operating system (OS) in the terminal. To judge.

그리고, 상기 제3 모듈(150)이 단말기 내 운영체제(OS)에 DLL 또는 바이너리 코드가 삽입된 프로세스가 존재한다고 판단한 경우, 상기 제3 모듈(150)은 DLL 또 는 바이너리 코드가 삽입된 프로세스가 상기 단말기 내 운영체제(OS)에서 실행되고 있는지 여부를 판단한다.In addition, when the third module 150 determines that a process in which a DLL or binary code is inserted into an operating system (OS) in the terminal exists, the third module 150 determines that the process in which the DLL or binary code is inserted is It is determined whether the operating system (OS) in the terminal is running.

그리고, 상기 제3 모듈(150)은 DLL 또는 바이너리 코드가 삽입된 프로세스가 상기 단말기 내 운영체제(OS)에서 실행되고 있지 않은 경우, 프로세스 강제 실행 기법을 이용하여 상기 DLL 또는 바이너리 코드가 삽입된 프로세스를 강제로 실행시킨다.When the process in which the DLL or the binary code is inserted is not running in the operating system (OS) in the terminal, the third module 150 uses the process forcing technique to execute the process in which the DLL or the binary code is inserted. Force execution

이에 따라, 상기 제3 모듈(150)은, 상기 악성 봇의 DLL 또는 바이너리 코드삽입방식을 우회하여 상기 DLL 또는 바이너리 코드가 삽입된 프로세스의 실행을 모니터링함으로써 상기 악성 봇의 실행을 탐지한다.Accordingly, the third module 150 detects the execution of the malicious bot by monitoring the execution of the process in which the DLL or the binary code is inserted by bypassing the DLL or the binary code insertion method of the malicious bot.

상기 악성 봇 분석부(300)는, 상기 악성 봇 탐지부(100)에서 상기 악성 봇의 실행을 탐지했는지 여부에 기반하여 탐지결과 정보를 생성, 저장 및 분석하는 기능을 수행한다.The malicious bot analyzer 300 performs a function of generating, storing, and analyzing detection result information based on whether the malicious bot detection unit 100 detects execution of the malicious bot.

좀 더 상세히 설명하면, 상기 악성 봇 분석부(300)는 상기 악성 봇 탐지부(100) 내 제1 모듈(110) 내지 제3 모듈(150)에 의해 탐지된 악성 봇의 실행에 대한 탐지결과, 예를 들어 악성 봇의 명칭 정보, 악성 봇의 출현빈도수 정보, 악성 봇의 실행에 따른 파일, 프로세스 및 레지스트리에서 발생한 상황에 대한 정보 등을 수집하여 탐지결과 정보로 생성하며, 이를 저장하여 분석한다.In more detail, the malicious bot analyzer 300 detects the execution of the malicious bots detected by the first module 110 to the third module 150 in the malicious bot detector 100. For example, it collects name information of malicious bots, frequency information of malicious bots, information about files generated by malicious bots, process and registry, and generates them as detection result information.

덧붙여, 상기 제1 모듈(110) 및 제2 모듈(130)에 의해 악성 봇의 실행이 탐지되지 않았으나 상기 제3 모듈(150)에 의해 악성 봇의 실행이 탐지되는 경우, 상기 악성 봇 분석부(300)는 종전에 저장되어 있던 탐지결과 정보를 삭제하고, 상기 제3 모듈(150)에서 탐지한 악성 봇의 실행에 따른 탐지결과 정보를 다시 생성하여 저장한다.In addition, when the execution of the malicious bot is not detected by the first module 110 and the second module 130, the execution of the malicious bot is detected by the third module 150. 300 deletes the detection result information previously stored and regenerates and stores the detection result information according to the execution of the malicious bot detected by the third module 150.

이하, 본 발명에 따른 악성 봇에 대한 동적 분석 방법에 대해 첨부한 예시도면을 토대로 상세히 설명한다. 도 3a 내지 도 3c는 본 발명에 따른 악성 봇에 대한 동적 분석 방법에 대한 흐름도이다. Hereinafter, the dynamic analysis method for the malicious bot according to the present invention will be described in detail with reference to the accompanying drawings. 3A to 3C are flowcharts illustrating a dynamic analysis method for malicious bots according to the present invention.

이때, 본 발명에 따른 악성 봇에 대한 제1 동적 분석 방법에 대해 도 3a를 참조하여 보다 상세히 설명한다.At this time, a first dynamic analysis method for malicious bots according to the present invention will be described in more detail with reference to FIG. 3A.

먼저, 악성 봇 동적 분석 시스템이 커널의 가상 메모리 영역에 커널의 시스템 콜 레이어(System Call Layer)를 복사한다(S101). 이때, 상기 커널의 시스템 콜 레이어(System Call Layer)는, Native API의 주소 정보를 포함하고 있는SSDT(System Service Dispatch Table), KiSystemService 함수 및 Native API를 포함하는 것이 바람직하다. First, the malicious bot dynamic analysis system copies the system call layer of the kernel to the virtual memory region of the kernel (S101). In this case, the system call layer of the kernel preferably includes an SSDT (System Service Dispatch Table), a KiSystemService function, and a native API including address information of the native API.

다음으로, 악성 봇의 실행에 의해 인터럽트가 발생하는 경우, 상기 악성 봇 동적 분석 시스템이 상기 인터럽트를 상기 커널의 가상 메모리 영역에 복사된 커널의 시스템 콜 레이어(System Call Layer)로 점프시킨다(S103). Next, when an interrupt is generated by the execution of the malicious bot, the malicious bot dynamic analysis system jumps the interrupt to the system call layer of the kernel copied to the virtual memory area of the kernel (S103). .

이때, 상기 인터럽트는 'INT 2E' 또는 'SYSENTER' 중 어느 하나인 것이 바람직하다. 그리고, 상기 악성 봇 동적 분석 시스템은 상기 악성 봇이 상기 커널의 가상 메모리 영역에 복사된 커널의 시스템 콜 레이어(System Call Layer) 내 SSDT에 기반하여 자신의 코드를 실행하도록 점프시킨다.At this time, the interrupt is preferably one of 'INT 2E' or 'SYSENTER'. The malicious bot dynamic analysis system jumps the malicious bot to execute its own code based on the SSDT in the system call layer of the kernel copied to the virtual memory region of the kernel.

다음으로, 상기 악성 봇이 상기 커널의 가상 메모리 영역에 복사된 커널의 시스템 콜 레이어(System Call Layer)에 기반하여 실행되는 경우, 상기 악성 봇 동적 분석 시스템이 상기 악성 봇의 Native API 호출을 모니터링하여 상기 악성 봇의 실행을 탐지한다(S105).Next, when the malicious bot is executed based on the kernel's system call layer copied to the kernel's virtual memory area, the malicious bot dynamic analysis system monitors the native API call of the malicious bot. The execution of the malicious bot is detected (S105).

이때, 상기 악성 봇이 커널레벨 루트 킷 방식에 기반해 실행되더라도, 상기 악성 봇은 상기 커널의 가상 메모리 영역에 복사된 커널의 시스템 콜 레이어(System Call Layer) 내 SSDT에 저장된 Native API의 주소에 기반하여 Native API를 요청하는 호출을 실행하기 때문에, 상기 악성 봇 동적 분석 시스템에서 상기Native API 호출 모니터링이 가능함에 따라, 상기 악성 봇의 실행을 탐지한다.At this time, even if the malicious bot is executed based on the kernel level rootkit method, the malicious bot is based on the address of the native API stored in the SSDT in the system call layer of the kernel copied to the virtual memory area of the kernel. By executing a call requesting a native API, the malicious bot dynamic analysis system detects the execution of the malicious bot as the native API call can be monitored.

마지막으로, 상기 악성 봇 동적 분석 시스템이 상기 악성 봇의 실행을 탐지했는지 여부에 기반하여 탐지결과 정보로 생성 및 저장함으로써(S107), 악성 봇의 실행 탐지를 종료한다.Finally, the malicious bot dynamic analysis system generates and stores the detection result information based on whether the malicious bot has detected execution of the malicious bot (S107), thereby terminating the execution detection of the malicious bot.

또한, 본 발명에 따른 악성 봇에 대한 제2 동적 분석 방법에 대해 도 3b를 참조하여 상세히 설명한다.In addition, a second dynamic analysis method for malicious bots according to the present invention will be described in detail with reference to FIG. 3B.

먼저, 악성 봇 동적 분석 시스템이 커널의 가상 메모리 영역에 커널의 시스템 콜 레이어(System Call Layer)를 복사한다(S301). 이때, 상기 커널의 시스템 콜 레이어(System Call Layer)는, Native API의 주소 정보를 포함하고 있는 SSDT(System Service Dispatch Table), KiSystemService 함수 및 Native API를 포함하는 것이 바람직하다. First, the malicious bot dynamic analysis system copies the system call layer of the kernel to the virtual memory region of the kernel (S301). In this case, the system call layer of the kernel preferably includes a System Service Dispatch Table (SSDT), a KiSystemService function, and a Native API including address information of a native API.

다음으로, 상기 악성 봇 동적 분석 시스템이 상기 커널의 가상 메모리 영역에 복사된 커널의 시스템 콜 레이어(System Call Layer)를 변경하여, 악성 봇의 Native API에 관한 요청을 후킹(Hooking)한 후 상기 악성 봇의 Native API 호출에 응답한다(S303).Next, the malicious bot dynamic analysis system changes the system call layer of the kernel copied to the virtual memory area of the kernel, and hooks a request regarding the native API of the malicious bot. In response to the bot's Native API call (S303).

예를 들어, 악성 봇이 실행중인 프로세스 리스트를 얻기 위해 NtQuerySystemInformation 함수를 호출한 경우, 상기 악성 봇 동적 분석 시스템은, 상기 악성 봇의 호출에 대한 결과로 VMToolservice.exe, VMwareService.exe 및 VMwareUser.exe 등의 가상환경(Virtual Machine Enviroment, VME) 관련 프로세스에 대한 정보를 삭제하고 응답한다. For example, if the malicious bot calls NtQuerySystemInformation function to get a list of running processes, the malicious bot dynamic analysis system may return VMToolservice.exe, VMwareService.exe, VMwareUser.exe, etc. as a result of the invocation of the malicious bot. Deletes and responds to information about processes related to Virtual Machine Enviroment (VME).

이에 따라, 상기 악성 봇은 단말기의 운영체제의 실행환경이 가상환경이 아닌 것으로 판단하고 자신의 코드를 실행하게 됨에 따라, 상기 악성 봇의 가상환경 탐지 방식을 우회하여 악성 봇의 실행을 탐지한다.Accordingly, since the malicious bot determines that the execution environment of the operating system of the terminal is not the virtual environment and executes its own code, the malicious bot bypasses the virtual environment detection method of the malicious bot to detect the execution of the malicious bot.

다음으로, 상기 악성 봇이 상기 악성 봇 동적 분석 시스템의 응답에 기반하여 실행되는 경우, 상기 악성 봇 동적 분석 시스템이 상기 악성 봇의 실행을 탐지한다(S305). Next, when the malicious bot is executed based on the response of the malicious bot dynamic analysis system, the malicious bot dynamic analysis system detects execution of the malicious bot (S305).

마지막으로, 상기 악성 봇 동적 분석 시스템이 상기 악성 봇의 실행을 탐지했는지 여부에 기반하여 탐지결과 정보로 생성 및 저장함으로써(S307), 악성 봇의 실행 탐지를 종료한다.Finally, the malicious bot dynamic analysis system generates and stores the detection result information based on whether the malicious bot has detected the execution of the malicious bot (S307), thereby terminating the execution detection of the malicious bot.

또한, 본 발명에 따른 악성 봇에 대한 제3 동적 분석 방법에 대해 도 3c를 참조하여 상세히 설명한다.In addition, a third dynamic analysis method for malicious bots according to the present invention will be described in detail with reference to FIG. 3C.

먼저, 악성 봇 동적 분석 시스템이 소정의 시간 동안 단말기 내 운영체제(OS)의 악성 봇의 실행 여부에 대해 분석을 마친 후, 상기 단말기 내 운영체제(OS)의 프로세스에 DLL 또는 바이너리 코드가 삽입되었는지 여부를 판단한다(S501).First, after the malicious bot dynamic analysis system analyzes whether the malicious bot of the operating system (OS) of the terminal is running for a predetermined time, it is determined whether a DLL or binary code has been inserted into the process of the operating system (OS) of the terminal. It is determined (S501).

다음으로, 상기 악성 봇 동적 분석 시스템이 상기 단말기 내 운영체제(OS)의 프로세스에 DLL 또는 바이너리 코드가 삽입되었다고 판단한 경우, 상기 DLL 또는 바이너리 코드가 삽입된 단말기 내 운영체제(OS)의 프로세스의 실행 여부를 판단한다(S503).Next, when the malicious bot dynamic analysis system determines that a DLL or binary code is inserted into a process of an operating system (OS) in the terminal, whether the process of the operating system (OS) in the terminal in which the DLL or binary code is inserted is executed. It is determined (S503).

다음으로, 상기 악성 봇 동적 분석 시스템이 상기 DLL 또는 바이너리 코드가 삽입된 단말기 내 운영체제(OS)의 프로세스가 실행되지 않았다고 판단한 경우, 상기 DLL 또는 바이너리 코드가 삽입된 프로세스를 강제로 실행하여 악성 봇의 실행을 탐지한다(S505).Next, when the malicious bot dynamic analysis system determines that the process of the operating system (OS) in the terminal in which the DLL or the binary code is inserted is not executed, the malicious bot dynamic analysis system forcibly executes the process in which the DLL or the binary code is inserted to The execution is detected (S505).

마지막으로, 상기 악성 봇 동적 분석 시스템이 악성 봇의 실행을 탐지했는지 여부에 기반하여 탐지결과 정보로 생성 및 저장함으로써(S507), 악성 봇의 실행 탐지를 종료한다.Finally, the malicious bot dynamic analysis system generates and stores the detection result information based on whether the malicious bot dynamic analysis detects the execution of the malicious bot (S507), thereby terminating the execution detection of the malicious bot.

이상으로, 본 발명의 기술적 사상을 예시하기 위한 바람직한 실시예와 관련하여 설명하고 도시하였으나, 본 발명은 상기 설명 및 도시대로의 구성 및 작용에만 국한되는 것이 아니다. 아울러 본 발명의 기술적 사상의 범주를 일탈하지 않는 범위 내에서 다수의 변경 및 수정이 가능함을 당업자는 잘 이해할 수 있을 것이다. 따라서 모든 적절한 변경 및 수정이 가해진 발명 및 본 발명의 균등물에 속하는 발명들도 본 발명에 속하는 것으로 간주 되어야 할 것이다.As described above, the present invention has been described and illustrated with reference to a preferred embodiment for illustrating the spirit of the present invention, but the present invention is not limited to the above-described configuration and operation as shown. In addition, those skilled in the art will appreciate that many changes and modifications can be made without departing from the scope of the technical idea of the present invention. Therefore, inventions which have been subjected to all appropriate changes and modifications and inventions belonging to the equivalents of the present invention should also be regarded as belonging to the present invention.

도 1의 경우 본 발명에 따른 악성 봇 동적 분석 시스템에 대한 전체 구성도이다.1 is an overall configuration diagram of a malicious bot dynamic analysis system according to the present invention.

도 2a 내지 도 2b 경우 본 발명에 따른 악성 봇 동적 분석 시스템 내 악성 봇 탐지부를 설명하기 위한 도면이다. 2A to 2B illustrate a malicious bot detection unit in a malicious bot dynamic analysis system according to the present invention.

도 3a 내지 도 3b의 경우 본 발명에 따른 악성 봇 동적 분석 방법의 흐름도이다.3A to 3B are flowcharts illustrating a malicious bot dynamic analysis method according to the present invention.

Claims (10)

악성 봇 동적 분석 시스템에 있어서,In the malicious bot dynamic analysis system, 단말기의 운영체제(OS) 내 존재하는 악성 봇의 분석회피 방식을 우회하여 상기 악성 봇의 실행을 탐지하는 악성 봇 탐지부; 및 상기 악성 봇 탐지부에서 상기 악성 봇의 실행을 탐지했는지 여부에 기반하여 탐지결과 정보를 생성, 저장 및 분석하는 악성 봇 분석부; 를 포함하는 악성 봇 동적 분석 시스템.Malicious bot detection unit for detecting the execution of the malicious bot by bypassing the analysis avoidance method of the malicious bot in the operating system (OS) of the terminal; And a malicious bot analyzer for generating, storing, and analyzing detection result information based on whether the malicious bot detection unit detects execution of the malicious bot. Malicious bot dynamic analysis system comprising a. 제 1 항에 있어서,The method of claim 1, 상기 악성 봇 탐지부는, 상기 악성 봇 내 커널레벨 루트 킷 방식을 우회하여 상기 악성 봇의 실행을 탐지하는 제1 모듈; 상기 악성 봇 내 가상환경 탐지 방식을 우회하여 상기 악성 봇의 실행을 탐지하는 제2 모듈; 및 상기 악성 봇 내 DLL 또는 바이너리 코드 삽입 방식을 우회하여 상기 악성 봇의 실행을 탐지하는 제3 모듈; 중 어느 하나 이상을 포함하는 악성 봇 동적 분석 시스템.The malicious bot detection unit includes: a first module that detects execution of the malicious bot by bypassing a kernel level rootkit scheme in the malicious bot; A second module for detecting execution of the malicious bot by bypassing a virtual environment detection method in the malicious bot; And a third module for detecting execution of the malicious bot by bypassing a DLL or binary code insertion scheme in the malicious bot; Malicious bot dynamic analysis system including any one or more of the. 제 2 항에 있어서,The method of claim 2, 상기 제1 모듈은, The first module, 커널의 가상 메모리 영역에 SSDT(System Service Dispatch Table), KiSystemService 함수 및 Native API(Application Programming Interface)를 포함하는 커널의 시스템 콜 레이어(System Call Layer)를 복사하며, 상기 악성 봇이 실 행되어 인터럽트(Interrupt)가 발생하는 경우 상기 커널의 가상 메모리 영역에 복사된 커널의 시스템 콜 레이어(System Call Layer) 내 KiSystemService 함수를 실행하도록 하여 상기 악성 봇의 Native API 호출을 모니터링함으로써 상기 악성 봇의 실행을 탐지하는 것을 특징으로 하는 악성 봇 동적 분석 시스템. Copy the system call layer of the kernel including System Service Dispatch Table (SSDT), KiSystemService function, and Native Application Programming Interface (API) to the virtual memory area of the kernel, and the malicious bot is executed to interrupt If an interrupt occurs, KiSystemService function in the system call layer of the kernel copied to the virtual memory area of the kernel is executed to monitor execution of the malicious bot by monitoring the native API call of the malicious bot. Malicious bot dynamic analysis system, characterized in that. 제 2 항에 있어서, The method of claim 2, 상기 제2 모듈은, The second module, 커널의 가상 메모리 영역에 SSDT(System Service Dispatch Table), KiSystemService 함수 및 Native API(Application Programming Interface)를 포함하는 커널의 시스템 콜 레이어(System Call Layer)를 복사하며, 상기 커널의 가상 메모리 영역에 복사된 커널의 시스템 콜 레이어(System Call Layer) 내 상기 SSDT를 변경하여 상기 악성 봇의 Native API 호출을 후킹(Hooking)한 후, 상기 악성 봇의 Native API 호출에 응답하여 악성 봇의 실행을 탐지하는 것을 특징으로 하는 악성 봇 동적 분석 시스템.Copies the system call layer of the kernel including the System Service Dispatch Table (SSDT), KiSystemService function, and Native Application Programming Interface (API) to the virtual memory area of the kernel. Hooking the native API call of the malicious bot by changing the SSDT in the system call layer of the kernel, and detecting execution of the malicious bot in response to the native API call of the malicious bot. Malicious bot dynamic analysis system. 제 2 항에 있어서,The method of claim 2, 상기 제3 모듈은,The third module, 상기 단말기 내 운영체제(OS)에 DLL 또는 바이너리 코드가 삽입된 프로세스 존재 여부를 판단하고, DLL 또는 바이너리 코드가 삽입된 프로세스가 존재하는 경우 상기 DLL 또는 바이너리 코드가 삽입된 프로세스가 실행되지 않은 경우 강제로 실행함으로써, 악성 봇의 실행을 탐지하는 것을 특징으로 하는 악성 봇 동적 분석 시스템.It is determined whether a process in which a DLL or binary code is inserted is present in the operating system (OS) in the terminal. Malicious bot dynamic analysis system, characterized in that by detecting execution of malicious bots. 악성 봇에 대한 동적 분석 방법에 있어서,In the dynamic analysis method for malicious bots, ⒜ 악성 봇 동적 분석 시스템이 커널의 가상 메모리 영역에 커널의 시스템 콜 레이어(System Call Layer)를 복사하는 단계;(B) the malicious bot dynamic analysis system copies the system call layer of the kernel to the virtual memory area of the kernel; ⒝ 악성 봇의 실행에 의해 인터럽트가 발생하는 경우, 상기 악성 봇 동적 분석 시스템이 상기 인터럽트를 상기 커널의 가상 메모리 영역에 복사된 커널의 시스템 콜 레이어(System Call Layer)로 점프시키는 단계; 및(B) when an interrupt is generated by execution of a malicious bot, the malicious bot dynamic analysis system jumps the interrupt to a system call layer of a kernel copied to a virtual memory area of the kernel; And ⒞ 상기 악성 봇이 상기 커널의 가상 메모리 영역에 복사된 커널의 시스템 콜 레이어(System Call Layer)에 기반하여 실행되는 경우, 상기 악성 봇 동적 분석 시스템이 상기 악성 봇의 Native API 호출을 모니터링하여 상기 악성 봇의 실행을 탐지하는 단계; 를 포함하는 악성 봇에 대한 동적 분석 방법.⒞ When the malicious bot is executed based on the system call layer of the kernel copied to the virtual memory area of the kernel, the malicious bot dynamic analysis system monitors the native API call of the malicious bot to monitor the malicious bot. Detecting execution of the bot; Dynamic analysis method for malicious bots including. 악성 봇에 대한 동적 분석 방법에 있어서,In the dynamic analysis method for malicious bots, (a') 악성 봇 동적 분석 시스템이 커널의 가상 메모리 영역에 커널의 시스템 콜 레이어(System Call Layer)를 복사하는 단계;(a ') the malicious bot dynamic analysis system copying a system call layer of the kernel to a virtual memory area of the kernel; (b') 상기 악성 봇 동적 분석 시스템이 상기 커널의 가상 메모리 영역에 복사된 커널의 시스템 콜 레이어(System Call Layer)를 변경하여, 악성 봇의 Native API에 관한 요청을 후킹(Hooking)한 후 상기 악성 봇의 Native API 호출에 응답하 는 단계; 및(b ') The malicious bot dynamic analysis system changes the system call layer of the kernel copied to the virtual memory area of the kernel, and hooks a request regarding the native API of the malicious bot. Responding to the native API call of the malicious bot; And (c') 상기 악성 봇이 상기 (b') 단계에서의 악성 봇 동적 분석 시스템의 응답에 기반하여 실행되는 경우, 상기 악성 봇 동적 분석 시스템이 상기 악성 봇의 실행을 탐지하는 단계; 를 포함하는 악성 봇에 대한 동적 분석 방법.(c ') when the malicious bot is executed based on the response of the malicious bot dynamic analysis system in the step (b'), the malicious bot dynamic analysis system detecting the execution of the malicious bot; Dynamic analysis method for malicious bots including. 제 6 항 또는 제 7 항에 있어서,8. The method according to claim 6 or 7, 상기 커널의 시스템 콜 레이어(System Call Layer)는, SSDT(System Service Dispatch Table), KiSystemService 함수 및 Native API를 포함하는 것을 특징으로 하는 악성 봇에 대한 동적 분석 방법.The system call layer of the kernel includes a system service dispatch table (SSDT), a KiSystemService function, and a native API. 악성 봇에 대한 동적 분석 방법에 있어서,In the dynamic analysis method for malicious bots, (a") 악성 봇 동적 분석 시스템이 소정의 시간 동안 단말기 내 운영체제(OS)의 악성 봇의 실행 여부에 대해 분석을 마친 후, 상기 단말기 내 운영체제(OS)의 프로세스에 DLL 또는 바이너리 코드가 삽입되었는지 여부를 판단하는 단계;(a ") After the malicious bot dynamic analysis system analyzes whether the malicious bot of the operating system in the terminal is running for a predetermined time, whether the DLL or the binary code is inserted into the process of the operating system in the terminal. Determining whether or not; (b") 상기 악성 봇 동적 분석 시스템이 상기 단말기 내 운영체제(OS)의 프로세스에 DLL 또는 바이너리 코드가 삽입되었다고 판단한 경우, 상기 DLL 또는 바이너리 코드가 삽입된 단말기 내 운영체제(OS)의 프로세스의 실행 여부를 판단하는 단계; 및(b ") when the malicious bot dynamic analysis system determines that a DLL or binary code is inserted into a process of an operating system (OS) in the terminal, whether the process of the operating system (OS) in the terminal in which the DLL or binary code is inserted is executed; Determining; And (c") 상기 악성 봇 동적 분석 시스템이 상기 DLL 또는 바이너리 코드가 삽입된 단말기 내 운영체제(OS)의 프로세스가 실행되지 않았다고 판단한 경우, 상기 DLL 또는 바이너리 코드가 삽입된 프로세스를 강제로 실행하여 악성 봇의 실행을 탐지하는 단계; 를 포함하는 악성 봇에 대한 동적 분석 방법.(c ") If the malicious bot dynamic analysis system determines that the process of the operating system (OS) in the terminal in which the DLL or the binary code is inserted is not executed, the malicious bot dynamic execution forcefully executes the process in which the DLL or the binary code is inserted. Detecting the execution of a; dynamic analysis method for a malicious bot comprising a. 제 6 항 내지 제 7 항 및 제 9 항 중 어느 한 항에 있어서,The method according to any one of claims 6 to 7, and 9, 상기 ⒞ 단계 또는 상기 (c') 단계 또는 상기 (c") 단계 이후,After the step (v) or after (c ') or (c "), ⒟ 상기 악성 봇 동적 분석 시스템이 악성 봇의 실행을 탐지했는지 여부에 기반하여 탐지결과 정보로 생성 및 저장하는 단계; 를 더 포함하는 악성 봇에 대한 동적 분석 방법.Generating and storing the detection result information based on whether the malicious bot dynamic analysis system detects the execution of the malicious bot; Dynamic analysis method for malicious bots further comprising.
KR1020090113635A 2009-11-24 2009-11-24 Dynamic analyzing system for malicious bot and methods therefore KR20110057297A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090113635A KR20110057297A (en) 2009-11-24 2009-11-24 Dynamic analyzing system for malicious bot and methods therefore

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090113635A KR20110057297A (en) 2009-11-24 2009-11-24 Dynamic analyzing system for malicious bot and methods therefore

Publications (1)

Publication Number Publication Date
KR20110057297A true KR20110057297A (en) 2011-06-01

Family

ID=44392950

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090113635A KR20110057297A (en) 2009-11-24 2009-11-24 Dynamic analyzing system for malicious bot and methods therefore

Country Status (1)

Country Link
KR (1) KR20110057297A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101306656B1 (en) * 2011-12-29 2013-09-10 주식회사 안랩 Apparatus and method for providing dynamic analysis information of malignant code
KR101295644B1 (en) * 2011-11-11 2013-09-16 한국전자통신연구원 System and method for verifying smart phone application
CN103839005A (en) * 2013-11-22 2014-06-04 北京智谷睿拓技术服务有限公司 Malware detection method and malware detection system of mobile operating system
CN104504333A (en) * 2014-11-25 2015-04-08 武汉安天信息技术有限责任公司 Malicious code detection method and device of ELF (executable and linkable format) file

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101295644B1 (en) * 2011-11-11 2013-09-16 한국전자통신연구원 System and method for verifying smart phone application
KR101306656B1 (en) * 2011-12-29 2013-09-10 주식회사 안랩 Apparatus and method for providing dynamic analysis information of malignant code
CN103839005A (en) * 2013-11-22 2014-06-04 北京智谷睿拓技术服务有限公司 Malware detection method and malware detection system of mobile operating system
CN103839005B (en) * 2013-11-22 2016-09-28 北京智谷睿拓技术服务有限公司 The malware detection method of Mobile operating system and malware detection system
CN104504333A (en) * 2014-11-25 2015-04-08 武汉安天信息技术有限责任公司 Malicious code detection method and device of ELF (executable and linkable format) file

Similar Documents

Publication Publication Date Title
US9779240B2 (en) System and method for hypervisor-based security
JP6706273B2 (en) Behavioral Malware Detection Using Interpreted Virtual Machines
JP5908132B2 (en) Apparatus and method for detecting attack using vulnerability of program
EP3039608B1 (en) Hardware and software execution profiling
RU2653985C2 (en) Method and system for detecting malicious software by control of software implementation running under script
KR101880375B1 (en) Segregating executable files exhibiting network activity
US20180101565A1 (en) Software security via control flow integrity checking
US7996836B1 (en) Using a hypervisor to provide computer security
KR100645983B1 (en) Module for detecting an illegal process and method thereof
JP6700351B2 (en) System and method for detection of malicious code in a process's address space
JP2018524756A (en) System and method for tracking malicious behavior across multiple software entities
KR20120031745A (en) Malware auto-analysis system and method using kernel call-back mechanism
US11042633B2 (en) Methods for protecting software hooks, and related computer security systems and apparatus
WO2014172064A1 (en) Methods and systems for malware detection based on environment-dependent behavior
US11120106B2 (en) Hardware—assisted system and method for detecting and analyzing system calls made to an operating system kernel
JP2010262609A (en) Efficient technique for dynamic analysis of malware
EP2937807A1 (en) Monitoring device and monitoring method
US9596261B1 (en) Systems and methods for delivering context-specific introspection notifications
US9536084B1 (en) Systems and methods for delivering event-filtered introspection notifications
EP2988242B1 (en) Information processing device, and information processing method
WO2019013033A1 (en) Call stack acquiring device, call stack acquiring method, and call stack acquiring program
KR20110057297A (en) Dynamic analyzing system for malicious bot and methods therefore
US9531735B1 (en) Systems and methods for delivering introspection notifications from a virtual machine
CN106557693A (en) A kind of malice Hook behavioral value method and system
EP2819055B1 (en) System and method for detecting malicious software using malware trigger scenarios

Legal Events

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