KR101589652B1 - System and method for detecting and inquiring metamorphic malignant code based on action - Google Patents

System and method for detecting and inquiring metamorphic malignant code based on action Download PDF

Info

Publication number
KR101589652B1
KR101589652B1 KR1020150008754A KR20150008754A KR101589652B1 KR 101589652 B1 KR101589652 B1 KR 101589652B1 KR 1020150008754 A KR1020150008754 A KR 1020150008754A KR 20150008754 A KR20150008754 A KR 20150008754A KR 101589652 B1 KR101589652 B1 KR 101589652B1
Authority
KR
South Korea
Prior art keywords
malicious
behavior
malicious code
code
api
Prior art date
Application number
KR1020150008754A
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 KR1020150008754A priority Critical patent/KR101589652B1/en
Application granted granted Critical
Publication of KR101589652B1 publication Critical patent/KR101589652B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1433Vulnerability 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
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic

Landscapes

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

Abstract

Disclosed are a system and a method for detecting and inquiring a metamorphic malignant code based on action. According to the present invention, the system comprises: a malignant code analysis system which extracts application program interface (API) call information which a malignant code calls by performing a malignant code doubt execution file, and detects the malignant action of the malignant code by using the extracted API call information; and an action classification system which generates action codes by matching between stored action classification rule information and the malignant action of a malignant cold provided from the malignant code analysis system, and generates an action group where malignant codes included in the same action group are grouped by using the action code. Thereby, a metamorphic malignant code of which a part is mutated is effectively detected.

Description

행위 기반 악성 코드 변종 탐지 조회 시스템 및 방법{SYSTEM AND METHOD FOR DETECTING AND INQUIRING METAMORPHIC MALIGNANT CODE BASED ON ACTION}BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a malicious code variant detection system,

본 실시예들은 행위 기반의 변종 악성 코드를 탐지하고 조회하기 위한 행위 기반 악성 코드 변종 탐지 조회 시스템 및 방법에 관한 것이다.The embodiments are directed to a behavior-based malware variant detection and query system and method for detecting and querying malicious variant malicious code.

보안제품 성능평가 기관에서 악성 코드를 체크한 결과, 2014년 10월까지 1억개가 넘는 새로운 악성 코드가 발견되었다고 발표하였다.The security product performance assessment agency checked the malware and found that more than 100 million new malicious code was detected by October 2014.

이 처럼, 급증하고 있는 악성 코드에 대한 신속한 대응을 위하여, 악성 코드 분석을 자동화하려는 연구가 활발하게 진행되고 있다.In order to respond quickly to such rapidly growing malicious codes, studies are being actively conducted to automate malicious code analysis.

이러한 흐름에 따라, 최근에는 커널 레벨에서 악성코드 행위를 자동적으로 분석하는 시스템이 제안되었다.Recently, a system for automatically analyzing malicious code behavior at the kernel level has been proposed.

그러나, 기존의 악성 코드 탐지 시스템은 파일, 레지스터 및 프로세스 등의 기본적인 행위 이벤트만 모니터링하였기 때문에 세부적인 행위 분석이 불가능한 문제점을 안고 있었다.However, the existing malware detection system has been unable to analyze detailed behavior because it only monitored basic action events such as files, registers and processes.

더욱이, 악성 코드에 포함된 일부 코드를 바꾸는 변종 악성 코드가 날로 증가되고 있는 문제점을 안고 있었다.Moreover, there was an increasing number of variants of malicious code that changed some code included in malicious code.

한국공개특허 : 제2012-0124638호, 공개일자 : 2012년 11월 14일, 발명의 명칭 : 행위 기반의 악성코드 탐지 시스템 및 악성코드 탐지 방법.Korean Patent Publication No. 2012-0124638, publication date: November 14, 2012 Title of the invention: an action-based malware detection system and malicious code detection method.

본 실시예들은 악성 코드가 호출하는 API 호출 정보를 추출하여 악성 코드의 악성 행위를 탐지하기 행위 기반 악성 코드 변종 탐지 시스템 및 방법을 제공하는데 그 목적이 있다.It is an object of the present invention to provide a behavior-based malicious code variant detection system and method for detecting malicious code of malicious code by extracting API call information called by malicious code.

또한, 본 실시예들은 변종 악성 코드 형태를 알 수 있는 같은 군에 속하는 악성 행위를 분류한 행위 코드와 행위 그룹을 추출하는 행위 기반 악성 코드 변종 탐지 시스템 및 방법을 제공하는데 그 다른 목적이 있다.It is another object of the present invention to provide an action-based malicious code variant detection system and method for extracting an action code and an action group that classify a malicious action belonging to the same group that can recognize the variant malicious code type.

또한, 본 실시예들은 악성 행위, 변종 악성 코드를 조회하기 위한 행위 기반 악성 코드 변종 조회 시스템 및 방법을 제공하는데 또 다른 목적이 있다.In addition, the embodiments have another object to provide a behavior-based malicious code variant inquiry system and method for inquiring malicious behavior and variant malicious codes.

본 발명의 일 실시예에 따르면, 악성 의심 실행 파일을 실행시켜 악성 코드가 호출하는 API(Application Program Interface) 호출 정보를 추출하고, 추출된 상기 API 호출 정보를 이용하여 악성 코드의 악성 행위를 탐지하는 악성 코드 분석 시스템; 및 상기 악성 코드 분석 시스템으로부터 제공받은 악성 코드의 악성 행위와 기저장된 행위 분류 규칙 정보간 매칭을 통해 행위 코드들을 생성하고, 상기 행위 코드를 이용하여 같은 행위군에 속하는 악성 코드들을 그룹화한 행위 그룹을 생성하는 행위 분류 시스템을 포함하는 행위 기반 악성 코드 변종 탐지 및 조회 시스템이 제공된다.According to an embodiment of the present invention, a malicious suspicious execution file is executed to extract application program interface (API) call information called by malicious code, and malicious code malicious behavior is detected using the extracted API call information Malicious code analysis system; And malicious code of malicious code provided from the malicious code analysis system and malicious code of malicious code provided by the malicious code analysis system and previously stored malicious code classification rule information and generates malicious code belonging to the same malicious code group by using the malicious code, An action-based malware variant detection and inquiry system including a behavior classification system for generating a malicious code is provided.

여기서, 상기 악성 코드 분석 시스템은 네트워크망에 접속된 네트워크 트래픽 센서로부터 상기 악성 의심 실행 파일을 수집할 수 있다.Here, the malicious code analysis system may collect the malicious suspicious execution file from a network traffic sensor connected to the network.

또한, 상기 악성 코드 분석 시스템은 상기 악성 의심 실행 파일, 제1 API 호출 정보 및 상기 악성 코드의 악성 행위를 저장하는 제1 데이테 베이스를 더 포함하여 이루어질 수 있다.The malicious code analysis system may further include a malicious suspicious execution file, first API call information, and a first database for storing malicious malicious code of the malicious code.

또한, 상기 악성 코드 분석 시스템은 사용자 레벨 및 커널 레벨상에서 API 후킹을 통해 상기 악성 코드가 호출하는 API 호출 정보를 추출할 수 있다.In addition, the malicious code analysis system can extract API call information called by the malicious code through API hooking on the user level and the kernel level.

또한, 상기 악성 코드 분석 시스템은 상기 API 호출 정보를 미리 설정된 악성 코드 룰셋을 적용하여 상기 악성 행위를 탐지할 수 있다.In addition, the malicious code analysis system can detect the malicious behavior by applying the malicious code rule set in advance to the API call information.

또한, 상기 악성 코드 분석 시스템은 후킹 필터링을 포함한 상기 악성 코드 룰셋을 적용할 수 있다.Also, the malicious code analysis system may apply the malicious code rule set including the hooking filtering.

또한, 상기 악성 코드 분석 시스템은 가상화 악성 행위 및 리얼 타임 악성 행위를 포함한 상기 악성 행위를 탐지할 수 있다.In addition, the malicious code analysis system can detect the malicious behavior including virtualization malicious activity and real-time malicious activity.

또한, 상기 행위 분류 규칙 정보는 상기 API 호출 정보의 호출에 따른 행위 정보와 상기 행위 정보의 행위 룰에 포함된 API를 식별하기 위한 API 번호; 해당 상기 행위를 수행하기 위하여 참조하는 객체인 파라미터; 상기 객체의 실제값인 파라미터값, 해당 API가 호출되었을 때, 반듯이 함께 호출되는 연관 API; 및 상기 연관 API와 함께 호출되어야 해당 행위에 매칭되는 것인지를 식별하는 플래그를 포함할 수 있다.The behavior classification rule information includes an API number for identifying the action information according to the call of the API call information and the API included in the action rule of the action information, A parameter which is an object to be referred to for performing the action; A parameter value that is an actual value of the object, an associated API that is called together when the corresponding API is called; And a flag identifying whether the action is to be invoked with the associated API to match the action.

또한, 상기 행위 분류 시스템은 생성된 상기 행위 그룹에 포함된 상기 악성 코드를 모아놓은 악성 코드 리스트를 이용하여 API 시퀀스를 추출할 수 있다.In addition, the behavior classification system may extract an API sequence using a malicious code list that collects the malicious codes included in the generated action group.

또한, 상기 행위 분류 시스템은 추출된 상기 API 시퀀스와 상기 행위 분류 규칙 정보내의 단위 행위간 일치 여부를 통해 각 상기 행위 코드별 비트 코드(1,0)를 생성할 수 있다.In addition, the behavior classification system can generate bit codes (1, 0) for each of the behavior codes through the coincidence between the extracted API sequence and the unit behavior in the behavior classification rule information.

또한, 상기 행위 분류 시스템은 상기 행위 코드, 행위 그룹, 악성 코드 리스트, API 시퀀스 및 비트 코드를 저장하는 제2 데이터베이스를 포함하여 이루어질 수 있다.In addition, the behavior classification system may include a second database for storing the behavior code, the action group, the malicious code list, the API sequence, and the bit code.

또한, 상기 행위 기반 악성 코드 변종 탐지 및 조회 시스템은 상기 제1 및 제2 데이터베이스에 저장된 정보를 조회하고, 변종 악성 코드를 확인하기 위한 상기 정보들의 조합과 산출을 수행하는 악성코드 조회 시스템을 더 포함하여 이루어질 수 있다.The malicious code variant detection and inquiry system further includes a malicious code inquiry system for inquiring information stored in the first and second databases and performing a combination and calculation of the information for verifying the variant malicious code .

또한, 본 발명의 다른 일 실시예에 따르면, (a) 악성 의심 실행 파일을 실행시킨 후, 악성 코드가 호출하는 API(Application Program Interface) 호출 정보를 악성 코드 분석 시스템에서 추출하는 단계; (b) 추출된 상기 API 호출 정보를 이용하여 상기 악성 코드에 대한 악성 행위를 악성 코드 분석 시스템에서 탐지하는 단계; (c) 탐지된 상기 악성 행위와 기저장된 행위 분류 규칙 정보간 매칭을 통해 행위 코드들을 행위 분류 시스템에서 생성하는 단계; 및 (d) 상기 행위 코드를 이용하여 같은 행위군에 속하는 악성 코드들을 그룹화한 행위 그룹을 행위 분류 시스템에서 생성하는 단계를 포함하는 행위 기반 악성 코드 변종 탐지 및 조회 방법이 제공된다.According to another embodiment of the present invention, there is provided a malicious code analysis method comprising the steps of: (a) extracting application program interface (API) call information called by a malicious code from a malicious code analysis system after executing a malicious suspicious execution file; (b) detecting malicious behavior for the malicious code in the malicious code analysis system using the extracted API call information; (c) generating behavior codes in the behavior classification system through matching between the detected malicious behavior and pre-stored behavior classification rule information; And (d) generating a group of malicious codes belonging to the same action group by using the action code in a behavior classification system.

여기서, 상기 (a) 단계는 사용자 레벨 및 커널 레벨상에서 API 후킹과 악성 코드 룰셋을 상기 API 호출 정보에 적용하여 상기 악성 행위를 탐지할 수 있다.Here, the step (a) may detect the malicious behavior by applying API hooking and malicious code ruleset to the API call information on the user level and the kernel level.

또한, 상기 행위 분류 규칙 정보는 상기 API 호출 정보의 호출에 따른 행위 정보와 상기 행위 정보의 행위 룰에 포함된 API를 식별하기 위한 API 번호; 해당 상기 행위를 수행하기 위하여 참조하는 객체인 파라미터; 상기 객체의 실제값인 파라미터값, 해당 API가 호출되었을 때, 반듯이 함께 호출되는 연관 API; 및 상기 연관 API와 함께 호출되어야 해당 행위에 매칭되는 것인지를 식별하는 플래그를 포함할 수 있다.The behavior classification rule information includes an API number for identifying the action information according to the call of the API call information and the API included in the action rule of the action information, A parameter which is an object to be referred to for performing the action; A parameter value that is an actual value of the object, an associated API that is called together when the corresponding API is called; And a flag identifying whether the action is to be invoked with the associated API to match the action.

이상과 같이, 실시예들에 의하면, 윈도우즈 환경에서 악성 행위를 탐지하고, 이를 토대로 행위 코드 및/또는 행위 그룹을 생성함으로써 코드 일부가 변형된 변종 악성 코드를 효과적으로 탐지하는 효과가 있다.As described above, according to the embodiments, malicious behavior is detected in a Windows environment, and an action code and / or an action group are generated based on the malicious action, thereby effectively detecting a variant malicious code whose code is partially modified.

도 1은 본 발명의 일 실시예에 따른 악성 코드 변종 탐지 및 조회 시스템을 개략적으로 나타낸 구성도이다.
도 2는 본 발명의 일 실시예에 따른 악성 코드 변종 탐지 시스템의 악성 코드 분석 시스템을 보다 상세하게 나타낸 도면이다.
도 4는 본 발명의 일 실시예에 따른 리얼 타임 분석 에이젼트 관점의 악성 코드 탐지 시스템을 나타낸 도면이다.
도 5는 기존 시스템과 본 실시예의 시스템(가상화 환경)을 통해 처리된 API 기반 악성행위 분석 결과를 나타낸 도면이다.
도 6은 기존 시스템과 본 실시예의 시스템을 통해 처리된 악성 코드 분석 결과를 일례로서 나타낸 도면이다.
도 7은 기존 시스템과 본 실시예의 시스템을 통해 처리된 악성 코드 처리 결과를 나타낸 도면이다.
도 8은 본 발명의 일 실시예에 따른 악성 코드 변종 탐지 시스템의 행위 분류 시스템과 조회 시스템을 보다 상세하게 나타낸 도면이다.
도 9는 본 발명의 일 실시예에 따른 행위 분류 시스템에서 생성된 행위 코드들의 형태를 예시적으로 나타낸 도면이다.
도 10은 본 발명의 일 실시예에 따른 행위 분류 시스템에서 생성된 행위 그룹의 형태를 예시적으로 나타낸 도면이다.
도 11은 본 발명의 일 실시예에 따른 악성 코드 변종 탐지 및 조회 시스템에서 생성된 악성 코드 리스트와 API 호출 정보의 형태를 예시적으로 나타낸 도면이다.
도 12 및 도 13은 본 발명의 일 실시예에 따른 악성 코드 조회 시스템의 사용자 인터페이스의 조회 결과를 예시적으로 나타낸 도면이다.
도 14는 본 발명의 일 실시예에 따른 행위 기반 악성 코드 변종 탐지 및 조회 방법을 예시적으로 나타낸 순서도이다.
도 15는 본 발명의 일 실시예에 따른 행위 기반 악성 코드 변종 탐지 및 조회 방법의 악성 행위 탐지 방법을 보다 상세하게 나타낸 순서도이다.
1 is a block diagram schematically showing a malicious code variant detection and inquiry system according to an embodiment of the present invention.
FIG. 2 is a detailed view of a malicious code analysis system of a malicious code variant detection system according to an embodiment of the present invention.
4 is a diagram illustrating a malicious code detection system in the real time analysis agent view according to an embodiment of the present invention.
5 is a diagram showing an API-based malicious behavior analysis result processed through the existing system and the system (virtualization environment) of the present embodiment.
6 is a diagram showing an example of malicious code analysis result processed through the existing system and the system of the present embodiment.
7 is a diagram showing a malicious code processing result processed through the existing system and the system of the present embodiment.
FIG. 8 is a detailed view of a behavior classification system and an inquiry system of a malicious code variant detection system according to an embodiment of the present invention.
FIG. 9 is a diagram illustrating exemplary behavior codes generated in a behavior classification system according to an exemplary embodiment of the present invention. Referring to FIG.
10 is a diagram illustrating an exemplary behavior group generated in the behavior classification system according to an embodiment of the present invention.
11 is a diagram exemplarily showing types of a malicious code list and API call information generated in a malicious code variant detection and inquiry system according to an embodiment of the present invention.
12 and 13 are views illustrating exemplary results of a user interface inquiry of a malicious code inquiry system according to an embodiment of the present invention.
FIG. 14 is a flowchart exemplarily showing a behavior-based malicious code variant detection and inquiry method according to an embodiment of the present invention.
15 is a flowchart illustrating a malicious behavior detection method of the behavior-based malicious code variant detection and inquiry method according to an embodiment of the present invention in more detail.

이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings, so that those skilled in the art can easily carry out the present invention. In the drawings, like reference numerals refer to the same or similar functions throughout the several views.

<제1 실시예>&Lt; Embodiment 1 >

도 1은 본 발명의 일 실시예에 따른 악성 코드 변종 탐지 및 조회 시스템을 개략적으로 나타낸 구성도이다.1 is a block diagram schematically showing a malicious code variant detection and inquiry system according to an embodiment of the present invention.

도 1를 참조하면, 본 발명의 일 실시예에 따른 악성 코드 변종 탐지 및 조회 시스템(1000)은 악성 코드의 악성 행위를 탐지하는 악성 코드 분석 시스템(100), 탐지된 악성 행위에 기반하여 변종된 악성 코드를 탐지하는 행위 분류 시스템(200) 및 앞서 설명한 악성 행위와 변종 악성 코드 등을 조회하는 악성코드 조회 시스템(300)을 포함할 수 있다. Referring to FIG. 1, a malicious code variant detection and inquiry system 1000 according to an exemplary embodiment of the present invention includes a malicious code analysis system 100 for detecting malicious code of a malicious code, A behavior classification system 200 for detecting a malicious code, and a malicious code inquiry system 300 for inquiring malicious behavior and variant malicious code as described above.

이러한 각 구성간에는 외부 네트워크 예컨대 유무선 통신망으로 연결되거나 내부 네트워크로 연결될 수 있다. 그러나, 각 구성간 연결되는 네트워크는 위와 같은 네트워크 구성에 한정되지는 않는다. 이하에서는, 각 구성에 대하여 보다 상세히 설명하고자 한다. Between each of these configurations, an external network such as a wired / wireless communication network or an internal network may be connected. However, the network to be connected between the respective configurations is not limited to the above network configuration. Hereinafter, each configuration will be described in more detail.

<악성 행위 탐지 예><Examples of detection of malicious behavior>

도 2는 본 발명의 일 실시예에 따른 악성 코드 변종 탐지 시스템의 악성 코드 분석 시스템을 보다 상세하게 나타낸 도면이다.FIG. 2 is a detailed view of a malicious code analysis system of a malicious code variant detection system according to an embodiment of the present invention.

도 2를 참조하면, 본 발명의 일 실시예에 따른 악성 코드 분석 시스템(100)은 API 분석 요청, 분석 할당 및 분석 결과 조회 및 저장을 포함한 악성 행위 분석 전반을 관리한다.Referring to FIG. 2, the malicious code analysis system 100 according to an exemplary embodiment of the present invention manages overall malicious behavior analysis including API analysis request, analysis assignment, and analysis result inquiry and storage.

이를 위해, 악성 코드 분석 시스템(110)은 악성 코드 관리 서버(110) 및 가상화 분석 에이젼트(120)를 포함할 수 있다. 먼저, 악성 코드 관리 서버(110)는 악성 코드 분석 대상이 되는 분석 대상 트래픽을 네트워크 트래픽 센서(101)로부터 수집한다. To this end, the malicious code analysis system 110 may include a malicious code management server 110 and a virtualization analysis agent 120. First, the malicious code management server 110 collects the analysis target traffic from the network traffic sensor 101 as a malicious code analysis target.

이때, 네트워크 트래픽 센서(101)는 네트워크, 예컨대 유,무선 네트워크에 접속되어 윈도우즈 환경에서 운영되는 시스템에서 실행된 응용 프로그램의 실행 파일을 포함한 트래픽을 수집하고, 분석이 필요한 분석 대상 트래픽을 추출하여 악성 코드 관리 서버(110)로 전송한다. 분석 요청된 분석 대상 트래픽의 일례는 도 3과 같이 나타낼 수 있다.At this time, the network traffic sensor 101 is connected to a network, for example, a wired or wireless network, collects traffic including an executable file of an application program executed in a system running in a Windows environment, extracts analysis target traffic requiring analysis, To the code management server (110). An example of the analysis target traffic requested for analysis can be shown in FIG.

따라서, 악성 코드 관리 서버(110)는 네트워크 트래픽 센서(101)로부터 분석 대상 트래픽을 수신하고, 이를 Rest API를 사용하여 분석 대상 트래픽에 포함된 응용 프로그램의 제1 악성 의심 실행 파일 및 각종 메타 정보를 데이터베이스(111)에 저장할 수 있다. Therefore, the malicious code management server 110 receives the traffic to be analyzed from the network traffic sensor 101, and uses the Rest API to store the first malicious suspicious execution file and various meta information of the application program included in the traffic to be analyzed And can be stored in the database 111.

이때, 수집된 응용 프로그램의 실행 파일은 윈도우즈 환경에서 실행 가능한 PE(Portable Executable) 파일인 것이 바람직하다.At this time, the executable file of the collected application program is preferably a PE (Portable Executable) file executable in a Windows environment.

그러나, 수집이 아닌, 입력받을 수도 있다. 즉, 악성 코드 관리 서버(110)는 수동적으로 적어도 하나 이상의 실행 파일을 입력받아 데이터베이스(111)에 저장할 수 있다. However, it may be input, not collection. That is, the malicious code management server 110 may manually receive at least one executable file and store the executable file in the database 111.

이때, 입력된 실행 파일은 윈도우즈 환경에서 실행 가능한 PE(Portable Executable) 파일인 것이 바람직하다. 그러나, 앞서 설명한 PE(Portable Executable) 파일로만 제한되지 않음은 물론이다.At this time, the input executable file is preferably a PE (Portable Executable) file executable in a Windows environment. However, it is needless to say that the present invention is not limited to the PE (Portable Executable) file described above.

다음으로, 가상화 분석 에이젼트(120)는 가상화 기술을 이용하여 동시에 구동되는 적어도 하나 이상의 가상화 에이젼트 모듈(121)을 포함할 수 있다. 이러한 가상화 에이젼트 모듈(121)은 가상화 환경에서 수행되는 윈도우즈 시스템을 가리킬 수 있다. Next, the virtualization analysis agent 120 may include at least one virtualization agent module 121 that is simultaneously operated using virtualization technology. The virtualization agent module 121 may refer to a Windows system that is executed in a virtualized environment.

가상화 에이젼트 모듈(121)이 구동이 되면, 가상화 에이젼트 모듈(121)은 악성 코드 관리 서버(110)로부터 수신된 제1 악성 의심 실행 파일을 실행시킬 수 있다. 실행 결과, 악성 코드가 호출하는 제1 API(Application Program Interface) 호출 정보가 추출될 수 있다.When the virtualization agent module 121 is activated, the virtualization agent module 121 can execute the first malicious suspicious execution file received from the malicious code management server 110. As a result of execution, the first application program interface (API) call information called by the malicious code can be extracted.

보다 구체적으로, 가상화 분석 서버(120)는 악성 코드 관리 서버(110)로부터 수신된 제1 악성 의심 실행 파일을 적어도 하나 이상의 가상화 에이젼트 모듈(121)을 이용하여 실행시킨 후, 악성 코드가 호출하는 제1 API(Application Program Interface) 호출 정보를 추출할 수 있다.More specifically, the virtualization analysis server 120 executes the first malicious suspicious execution file received from the malicious code management server 110 using at least one or more virtualization agent modules 121, 1 API (Application Program Interface) call information.

바람직하게는, 사용자 레벨 및 커넬 레벨에서 API 후킹을 통해 악성코드가 호출하는 API 정보를 모니터링하여 제1 API 호출 정보를 추출할 수 있다. 제1 API 호출 정보가 추출되면, 악성 코드에 대한 악성 행위를 알 수 있다.Preferably, the first API call information can be extracted by monitoring API information called by the malicious code through API hooking at the user level and the kernel level. When the first API call information is extracted, the malicious behavior for the malicious code can be known.

즉, '레지스트리 실행위치에 등록', '파일 복사', '웜 프로세스 실행', 'C:W에 로그 파일 생성', '중복실행방지를 위한 Mutex 생성' 및 '레지스트리의 실행 위치에 등록'과 같은 사용자 레벨 및 커널 레벨의 악성 행위를 알 수 있게 된다. 추출된 제1 API 호출 정보는 악성 코드 관리 서버(110)로 전송된다.In other words, 'Register at registry execution location', 'Copy file', 'Execute worm process', 'Create log file at C: W', 'Create mutex to prevent duplication' It is possible to know malicious behavior at the same user level and kernel level. The extracted first API call information is transmitted to the malicious code management server 110.

이와 같이, 사용자 레벨 및 커넬 레벨 상에서 모두 제1 API 호출 정보를 추출할 수 있기 때문에 다양한 API를 대상으로 악성코드 행위 분석이 가능한 잇점을 준다.Thus, since the first API call information can be extracted on both the user level and the kernel level, the malicious code behavior analysis can be performed on various APIs.

이런 경우, 악성 코드 관리 서버(110)는 가상화 분석 에이젼트(120)로부터 수신한 제1 API 호출 정보를 데이터베이스(101)에 저장할 수 있다.In this case, the malicious code management server 110 may store the first API call information received from the virtualization analysis agent 120 in the database 101.

한편, 저장된 제1 API 호출 정보를 이용하여 보다 세밀한 악성 행위를 탐지하기 위하여, 악성 코드 관리 서버(110)는 악성 행위 분석 관리 모듈(112)를 포함할 수 있다.Meanwhile, the malicious code management server 110 may include a malicious behavior analysis management module 112 to detect more detailed malicious behavior using the stored first API call information.

일 실시예에서, 악성 행위 분석 관리 모듈(112)은 가상화 분석 에이젼트(120)로부터 수신된 제1 API 호출 정보를 미리 설정된 악성 코드 룰셋을 적용하여 가상화 환경에서의 가상화 악성 행위를 탐지할 수 있다.In one embodiment, the malicious behavior analysis management module 112 may detect malicious malicious behavior in a virtual environment by applying a preset malicious code rule set to the first API call information received from the virtualization analysis agent 120.

이때, 악성 코드 룰셋은 후킹 필터링을 포함할 수 있다. 즉, 후킹 필터링을 포함한 악성 코드 룰셋을 제1 API 호출 정보에 적용하고, 후킹 필터링된 제1 API 호출 정보와 미리 정의된 악성 코드 룰셋을 비교하여 동일성이 확인되면, 악성 코드의 가상화 악성 행위를 탐지할 수 있다. 탐지된 가상화 악성 행위는 데이터베이스(111)에 저장됨은 물론이다.At this time, the malicious rule set may include hooking filtering. That is, the malicious code ruleset including the hooking filtering is applied to the first API call information, and when the hooking-filtered first API calling information is compared with the predefined malicious code rule set to identify the malicious code malicious code, can do. It is a matter of course that the detected malicious malicious behavior is stored in the database 111.

그러나, 제1 악성 의심 실행 파일로부터 모든 악성 코드를 가상화 환경에서 탐지되지 않을 수도 있다. 이를 대비하고자, 본 일 실시예에서는 리얼 타임 분석 에이젼트를 더 포함할 수 있다. 이러한 리얼 타임 분석 에이젼트는 도 4와 같을 수 있다.However, all malicious code from the first malicious suspicious executable file may not be detected in the virtualized environment. In order to prepare for this, the present embodiment may further include a real-time analysis agent. This real-time analysis agent may be as shown in FIG.

도 4는 본 발명의 일 실시예에 따른 리얼 타임 분석 에이젼트 관점의 악성 코드 탐지 시스템을 나타낸 도면이다.4 is a diagram illustrating a malicious code detection system in the real time analysis agent view according to an embodiment of the present invention.

도 4를 참조하면, 본 발명의 일 실시예에 따른 악성 코드 탐지 시스템(100)은 악성 코드 관리 서버(110) 및 리얼 타임 분석 에이젼트(130)를 포함할 수 있다. 이때, 악성 코드 관리 서버(110)는 악성 행위 분석 관리 모듈(112)을 포함할 수 있다.Referring to FIG. 4, the malicious code detection system 100 according to an exemplary embodiment of the present invention may include a malicious code management server 110 and a real-time analysis agent 130. At this time, the malicious code management server 110 may include a malicious behavior analysis management module 112.

먼저, 악성 행위 분석 관리 모듈(112)은 실질적인 악성 행위를 분석하는 모듈로서, 가상화 악성 행위를 탐지하지 않은 제2 악성 의심 실행 파일을 데이터베이스(111)에 저장된 제1 악성 의심 실행 파일로부터 추출할 수 있다. 추출된 제2 악성 의심 실행 파일은 이후에 설명할 리얼 분석 서버(130)로 전송될 수 있다. First, the malicious behavior analysis management module 112 is a module for analyzing actual malicious behavior. The malicious behavior analysis management module 112 extracts a second malicious suspicious execution file that has not detected a malicious malicious behavior from the first malicious suspicious execution file stored in the database 111 have. The extracted second malicious suspicious execution file may be transmitted to the real analysis server 130 to be described later.

다음으로, 일 실시예에서, 리얼 타임 분석 에이젼트(130)는 악성 행위 분석 관리 모듈(112)로부터 제공받은 제2 악성 의심 실행 파일을 실행시키는 적어도 하나 이상의 리얼 타임 에이젼트(131)를 포함할 수 있다. Next, in one embodiment, the real-time analysis agent 130 may include at least one real-time agent 131 that executes the second malicious suspicious executable file provided from the malicious behavior analysis management module 112 .

즉, 리얼 타임 에이젼트(131)는 수신된 제2 악성 의심 실행 파일을 가상화 환경을 배제한 리얼 타임 환경에서 실행시킨 후, 악성 코드가 호출하는 제2 API(Application Program Interface) 호출 정보를 추출하게 된다. That is, the real-time agent 131 executes the received second malicious suspicious execution file in a real-time environment excluding the virtual environment, and then extracts second application program interface (API) calling information called by the malicious code.

바람직하게는, 사용자 레벨 및/또는 커널 레벨에서 API 후킹을 통해 악성 코드가 호출하는 API 정보를 모니터링함으로써, 리얼 타임 분석 에이젼트(130)는 제2 API 호출 정보를 추출할 수 있다. 추출된 제2 API 호출 정보는 악성 행위 분석 관리 모듈(112)로 전송될 수 있다.Preferably, the real-time analysis agent 130 can extract the second API call information by monitoring the API information called by the malicious code through API hooking at the user level and / or kernel level. The extracted second API call information may be transmitted to the malicious behavior analysis management module 112.

이에 따라, 악성 행위 분석 관리 모듈(112)은 리얼 타임 에이젼트(131)로부터 수신한 제2 API 호출 정보를 데이터베이스(111)에 저장하고, 저장된 제2 API 호출 정보를 미리 설정된 악성 코드 룰셋을 다시 적용시켜, 리얼 타임 악성 행위를 탐지하게 된다.Accordingly, the malicious behavior analysis management module 112 stores the second API call information received from the real-time agent 131 in the database 111, re-applies the previously stored malicious code rule set to the stored second API call information And detects real-time malicious activity.

이때, 악성 코드 룰셋은 앞서 설명한 바와 같이 동일한 관계로, 그 설명은 생략한다. 탐지된 리얼 타임 악성 행위는 데이테 베이스(111)에 저장됨은 물론이다.At this time, the malicious code ruleset has the same relationship as described above, and a description thereof will be omitted. Of course, the detected real-time malicious activity is stored in the database 111.

이와 같이, 본 실시예에서는 가상화 환경 또는/및 리얼 타임 환경에서 사용자 레벨 및 커널 레벨에 해당하는 모든 API 호출 정보(예: 제1 API 호출 정보와 제2 API 호출 정보)를 추출함으로써, 세부적인 악성 코드의 악성 행위를 탐지할 수 있는 장점을 준다.As described above, in this embodiment, by extracting all the API call information (e.g., the first API call information and the second API call information) corresponding to the user level and the kernel level in the virtualized environment and / or the real-time environment, It gives the advantage of detecting malicious behavior of code.

<비교 예><Comparative Example>

도 5는 기존 시스템과 본 실시예의 시스템(가상화 환경)을 통해 처리된 API 기반 악성행위 분석 결과를 나타내고, 도 6은 기존 시스템과 본 실시예의 시스템을 통해 처리된 악성 코드 분석 결과를 일례로서 나타내며, 도 7은 기존 시스템과 본 실시예의 시스템을 통해 처리된 악성 코드 처리 결과를 나타낸다.FIG. 5 shows an API-based malicious behavior analysis result processed through the existing system and the system (virtualization environment) of the present embodiment, FIG. 6 shows malicious code analysis results processed through the existing system and the system of the present embodiment as an example, 7 shows malicious code processing results processed through the existing system and the system of this embodiment.

일 실시예에서, 도 5는 실험을 통해 기존 분석 시스템에서 탐지하지 못한 악성 코드 행위를 제안된 악성 코드 탐지 시스템(100)에서 탐지할 수 있는지 여부를 비교하였다.In one embodiment, FIG. 5 compares whether malicious code behaviors that were not detected in the existing analysis system through the experiment can be detected in the proposed malicious code detection system 100. FIG.

실험에 의하면, 실제로 2013년도에 유포되었던 악성코드 샘플을 이용하였는데, 해당 악성코드 샘플은 윈도우즈 시스템 상의 백신 프로세스를 조회하고, 해당 백신 프로세스를 강제로 종료하였다. According to experiments, we actually used malicious code samples that were circulated in 2013, and the malicious code samples inquired about the anti-virus process on the Windows system and forcibly terminated the corresponding anti-virus process.

그리고, 웹에서 실행 파일을 다운로드하는 등의 악성 행위를 수행하였다. 기존 분석 시스템에서는 백신 프로세스 종료에 대한 행위가 탐지되었지만, 백신 프로세스 조회 행위는 탐지하지 못하였다. And, malicious behavior such as downloading the executable file from the web was performed. In the existing analysis system, the action for the termination of the vaccine process was detected, but the action for the vaccine process was not detected.

반면, 일 실시예에서 제안한 악성 코드 탐지 시스템(100)은 백신 프로세스 조회와 더불어, 도 5와 같이 악성 코드가 수행하는 세부적인 악성 행위를 알 수 있었다.On the other hand, in the malicious code detection system 100 proposed in one embodiment, in addition to the vaccine process inquiry, detailed malicious actions performed by the malicious code as shown in FIG. 5 can be recognized.

본 실험에서는 다수의 악성코드 샘플을 대상으로도 기존 행위 분석 시스템과 제안하는 시스템(100)의 분석 및 탐지 성능을 측정하였다. 실제로 유포된 110개 악성 코드 샘플을 이용한 분석 결과의 일례는 도 6과 같이 나타낼 수 있다.In this experiment, the analysis and detection performance of the existing behavior analysis system and the proposed system (100) are also measured for a plurality of malicious code samples. An example of the analysis result using 110 malicious code samples actually distributed can be shown in FIG.

도 6에서와 같이, 기존 분석 시스템은 탐지하지 못하는 행위를 일 실시예의 시스템(100)에서는 탐지되고 있음을 알 수 있었다. 이 결과로서, 도 7에서와 같이, 일 실시예에서 제안한 시스템(100)은 실험에 사용된 악성 코드 샘플 110개 중 97개를 탐지함으로써, 88%의 높은 성능을 보이고 있음을 알 수 있었으며, 기존 분석 시스템에서 탐지하지 못한 악성 코드의 악성 행위(예: 7개)까지도 더 탐지할 수 있었다. As shown in FIG. 6, it can be seen that the system 100 of the embodiment detects an action that the existing analysis system can not detect. As a result, as shown in FIG. 7, the system 100 proposed in the embodiment detects 97 out of 110 malicious code samples used in the experiment, and shows that the performance is 88% We could detect malicious code (eg, 7) of malicious code that was not detected by the analysis system.

<변형 악성 코드 탐지/ 조회 예><Detection of modified malware>

도 8은 본 발명의 일 실시예에 따른 악성 코드 변종 탐지 시스템의 행위 분류 시스템과 조회 시스템을 보다 상세하게 나타낸 도면이다.FIG. 8 is a detailed view of a behavior classification system and an inquiry system of a malicious code variant detection system according to an embodiment of the present invention.

도 8을 참조하면, 본 발명의 일 실시예에 따른 악성 코드 변종 탐지 시스템(1000)은 행위 분류 시스템(200) 및 악성 코드 조회 시스템(300)을 포함하고, 상기 행위 분류 시스템(200)은 행위 기반의 변종 악성 코드를 탐지하기 위하여 행위 분류 서버(210) 및 데이터베이스(220)를 포함할 수 있다.Referring to FIG. 8, a malicious code variant detection system 1000 according to an embodiment of the present invention includes a malicious code detection system 300 and a malicious code classification system 200, And may include a behavior classification server 210 and a database 220 to detect variant malicious code based on the behavior of the user.

먼저, 행위 분류 서버(210)는 악성 코드 분석 시스템(100)로부터 악성 코드의 악성 행위 및/또는 API 호출 정보를 수신한다. 그리고, 행위 분류 서버(210)는 수신된 악성 코드의 악성 행위와 기저장된 행위 분류 규칙 정보간 매칭을 통해 행위 코드들을 생성한다. First, the behavior classification server 210 receives malicious code of the malicious code and / or API call information from the malicious code analysis system 100. The behavior classification server 210 generates behavior codes by matching the malicious behavior of the received malicious code with the pre-stored behavior classification rule information.

이때, 행위 분류 규칙 정보는 API 호출 정보의 호출에 따른 행위 정보와 상기 행위 정보의 행위 룰에 포함된 API를 식별하기 위한 API 번호와, 해당 상기 행위를 수행하기 위하여 참조하는 객체인 파라미터와, 상기 객체의 실제값인 파라미터값, 해당 API가 호출되었을 때, 반듯이 함께 호출되는 연관 API와 상기 연관 API와 함께 호출되어야 해당 행위에 매칭되는 것인지를 식별하는 플래그를 포함할 수 있다.In this case, the action classification rule information includes an API number for identifying API included in the action rule of the action information, an API number for identifying the API included in the action rule of the action information, A parameter value that is an actual value of an object, a flag that identifies whether an associated API that is called together when the API is invoked, and whether it should be called with the associated API to match the behavior.

따라서, 수신된 악성 코드의 악성 행위가 행위 분류 규칙에 속하는지를 확인하여 매칭이 이루어져 행위 코드들을 생성할 수 있게 된다. 이 처럼 생성된 행위 코드들의 일례는 도 9와 같이 나타낼 수 있다. Accordingly, it is confirmed that malicious behavior of the received malicious code belongs to the action classification rule, so that matching can be performed to generate action codes. An example of the generated behavior codes as shown in FIG. 9 can be shown.

도 9에서와 같이, 임의의 악성 행위들이 행위 분류 규칙에 따라 행위 코드로 구분되는 과정을 알 수 있다. 한편, 상기 행위 코드들은 악성코드별 행위를 식별하기 위한 코드로서, 복합적인 악성 행위를 하나의 비트열로 표현될 수 있다. 예를 들어, 행위 매칭시 '1', 비매칭시 '0'이라는 비트열로 표시될 수 있다. As shown in FIG. 9, it can be seen that a malicious behavior is classified into an action code according to a behavior classification rule. On the other hand, the behavior codes are codes for identifying malicious code-specific behaviors, and a complex malicious behavior can be represented by one bit string. For example, it can be displayed as a bit string '1' when matching behavior and '0' when mismatching.

이와 같이, 행위 코드가 생성되면, 행위 분류 서버(210)는 생성된 행위 코드를 이용하여 같은 행위군에 속하는 악성 코드들을 그룹화한 행위 그룹을 생성할 수 있다. In this manner, when the behavior code is generated, the behavior classification server 210 can generate an action group in which malicious codes belonging to the same action group are grouped by using the generated action code.

예를 들면, 도 10에 도시된 바와 같이 행위 코드를 부여받은 악성 코드들은 이를 기준으로 행위가 유사한 악성 코드들로 분류하기 위하여 위하여 그룹핑된 적어도 하나 이상의 행위 그룹을 생성할 수 있다. For example, as shown in FIG. 10, malicious codes assigned with a malicious code may generate at least one malicious code grouped for classification into similar malicious codes based on the malicious codes.

이때, 동일 행위 코드를 가진 악성 코드는 하나의 그룹으로 그룹핑되고, 이들은 상호 유사한 행위를 갖는 악성 코드로 분류될 수 있다. 또한, 1개 시그니처의 행위 코드는 1개 행위 그룹으로 식별되며, 행위 코드의 전체 개수는 유사 행위 그룹의 개수와 동일한 상태를 가질 수 있다. At this time, malicious codes having the same behavior code are grouped into one group, and they can be classified into malicious codes having mutually similar actions. Also, the behavior code of one signature is identified as one behavior group, and the total number of behavior codes may have the same state as the number of similar behavior groups.

이와 같이, 생성된 행위 코드와 행위 그룹 생성으로 인하여, 본 실시예에서는 행위 기반의 변종 악성 코드를 쉽게 확인 가능하다.Thus, due to the generated behavior code and action group, the behavior-based variant malicious code can be easily identified in the present embodiment.

또한, 일 실시예에서 행위 분류 서버(210)는 생성되어진 행위 그룹에 포함된 악성 코드를 모아놓은 악성 코드 리스트를 이용하여 API 시퀀스를 추출할 수 있다. 이때, 악성 코드 리스트에 대한 예는 도 11과 같이 나타낼 수 있다. 참고로, 도 11에서는 도 1 내지 도 10에서 설명한 API 호출 정보도 함께 표시하였다.In addition, in one embodiment, the behavior classification server 210 may extract an API sequence using a malicious code list including malicious codes included in the generated action group. At this time, an example of the malicious code list can be represented as shown in FIG. 11, the API call information described in FIGS. 1 to 10 is also displayed.

이 처럼 추출된 API 시퀸스는 행위 코드별 비트 코드를 생성하는데 활용될 수 있다. 즉, 행위 분류 서버(120)는 추출되어진 API 시퀀스와 행위 분류 규칙 정보내의 단위 행위간 일치 여부를 통해 각 행위 코드별 비트 코드(1,0)를 생성할 수 있다.The extracted API sequence can be used to generate bit codes for each behavior code. That is, the behavior classification server 120 can generate bit codes (1, 0) for each behavior code by matching the extracted API sequence with the unit behavior in the behavior classification rule information.

이와 같이, 생성된 비트 코드는 차후에 설명할 악성 코드 변종 조회 시스템(300)에서 조회시 비트 코드를 입력하여 변종 악성 코드와 같은 다양한 정보를 확인하는데 매우 유용하게 쓰인다.As described above, the generated bit code is very useful for inputting a bit code at the time of inquiry in the malicious code variant inquiry system 300 to be described later to confirm various information such as variant malicious codes.

반면, 본 실시예에서, 데이터베이스(220)는 앞서 설명한 바와 같이 생성된 행위 코드, 행위 그룹, 악성 코드 리스트, API 시퀀스 및 비트 코드 등을 저장하는 역할을 한다. 저장된 정보들은 이후에 설명할 악성코드 조회 시스템(300)에 의해 조회될 수 있다.On the other hand, in the present embodiment, the database 220 serves to store behavior codes, action groups, malicious code lists, API sequences and bit codes generated as described above. The stored information can be queried by the malicious code inquiry system 300 to be described later.

마지막으로, 본 실시예에서, 악성 코드 조회 시스템(300)은 앞서 도 1 내지 도 7에서 설명한 악성 코드 관리 서버(110)의 데이터베이스(111)와 행위 분류 시스템(200)의 데이터베이스(220)에 저장된 정보들을 조회하고, 변종 악성 코드를 확인하기 위한 정보들의 조합과 산출을 수행할 수 있다. 이러한 조회 및 산출은 사용자 인터페이스(GUI)를 통해 실현될 수 있다.Lastly, in the present embodiment, the malicious code inquiry system 300 stores the malicious code in the database 111 of the malicious code management server 110 and the database 220 of the malicious code classification system 200 described with reference to Figs. 1 to 7 Information can be searched, and a combination and calculation of information for identifying the malicious code of the variant can be performed. Such inquiry and output can be realized through a user interface (GUI).

예를 들면, 도 12에서와 같이, 특정 그룹에 속한 변종 악성코드 목록을 조회하고자, 사용자 인터페이스를 통해 "[조회] group1_id(28), 채널정보(TYPE1), 변종판단결과(TRUE)"와 같이 조회 요청되면, MAL2_id 11, 52 ... 등이 변종 판단 결과에 따라 변종 그룹으로 산출되어 출력될 수 있다.For example, as shown in FIG. 12, in order to inquire a list of variant malicious codes belonging to a specific group, a group name_id (28), channel information (TYPE1), and variant determination result (TRUE) When an inquiry is made, MAL2_id 11, 52, etc. may be calculated and output as a variant group according to the result of the variant determination.

또한, 도 13에서와 같이, 특정 악성코드 A에 대한 변종 조회를 위하여, " case1. [조회) mal1_id(24), 변종판단결과(TRUE)와 case2. [조회] mal1_id[24], 변종판단결과(TRUE), 그룹유형(TYPE1) 및 case3. [조회] mal1_id[24], 변종판단결과(TRUE), 그룹유형(TYPE2)"과 조회 요청되면, mal1_ID[24]에 대한 전체 변종 리스트를 출력하고, 동일 그룹 내 변종 리스트만 출력하며, 서로 다른 그룹에 속하는 변종 리스트를 출력할 수 있다.13, for the variant inquiry for a specific malicious code A, "case1. [Lookup] mal1_id (24), variant judgment result (TRUE) and case2. [Lookup] mal1_id [24] (TRUE), the group type (TYPE1), and the case3. [Inquiry] mal1_id [24], the variant determination result (TRUE), the group type (TYPE2) , Only a list of variants within the same group is output, and a list of variants belonging to different groups can be output.

<변종 악성 코드 탐지 방법 예><Example of Detection of Variant Malicious Code>

도 14는 본 발명의 일 실시예에 따른 행위 기반 악성 코드 변종 탐지 및 조회 방법을 예시적으로 나타낸 순서도이고, 도 15는 본 발명의 일 실시예에 따른 행위 기반 악성 코드 변종 탐지 및 조회 방법의 악성 행위 탐지 방법을 보다 상세하게 나타낸 순서도이다.FIG. 14 is a flowchart exemplarily showing a behavior-based malicious code variant detection and inquiry method according to an embodiment of the present invention. FIG. 15 is a flowchart illustrating a malicious code variant detection and inquiry method according to an embodiment of the present invention. FIG. 5 is a flow chart showing the behavior detection method in more detail.

도 14를 참조하면, 본 발명의 일 실시예에 따른 행위 기반 악성 코드 변종 탐지 및 조회 방법(S1000)은 악성 코드 분석 시스템(100)에서 악성 코드의 악성 행위를 탐지하는 단계(S100), 탐지된 악성 행위에 기반하여 변종된 악성 코드를 행위 분류 시스템(200)에서 탐지하는 단계(S200) 및 앞서 설명한 악성 행위와 변종 악성 코드 등을 악성코드 조회 시스템(300)에서 조회하는 단계(S300)를 포함하여 이루어질 수 있다. Referring to FIG. 14, an operation-based malicious code variant detection and inquiry method (S1000) according to an embodiment of the present invention detects a malicious behavior of a malicious code in a malicious code analysis system 100 (S100) A malicious code variant based on malicious behavior is detected by the malicious code classification system 200 (S200), and the malicious code and variant malicious code described above are inquired by the malicious code inquiry system 300 (S300) .

이중에서 본 실시예에 따른 S100 단계는 도 15에서와 같이, 수집되거나 입력된 악성 의심 실행 파일을 저장하는 S110 단계, 악성 의심 실행 파일을 실행시켜 악성 코드가 호출하는 제1 API 호출 정보를 사용자 레벨 및 커널 레벨 상에서 추출하는 S120 단계, 상기 제1 API 호출 정보를 미리 설정된 악성 코드 룰셋을 적용하여 가상화 악성 행위를 탐지하는 S130 단계 및 상기 가상화 악성 행위를 탐지하지 않은 제2 악성 의심 실행 파일로부터 악성 코드가 호출하는 제2 API 호출 정보를 추출하여 리얼 타임 악성 행위를 탐지하는 S140 단계를 포함할 수 있다.15, S100 may include storing a malicious suspicious execution file that is collected or input as shown in FIG. 15, executing a malicious suspicious execution file to delete first API call information called by the malicious code to a user level And extracting the malicious code on the kernel level in step S120; detecting a malicious malicious behavior by applying a malicious code rule set in advance to the first API call information; and detecting malicious code from a malicious code file And detecting the real-time malicious behavior by extracting second API call information called by the first API call information.

먼저, S110 단계는 성 코드 분석 대상이 되는 분석 대상 트래픽을 악성 코드 관리 서버(110)에 의해 네트워크 트래픽 센서(101)로부터 수집한다. First, in step S110, the malicious code management server 110 collects the analysis target traffic from the network traffic sensor 101 as a target of analysis.

이때, 네트워크 트래픽 센서(101)는 네트워크, 예컨대 유,무선 네트워크에 접속되어 윈도우즈 환경에서 운영되는 시스템에서 실행된 응용 프로그램의 실행 파일을 포함한 트래픽을 수집하고, 분석이 필요한 분석 대상 트래픽을 추출하여 악성 코드 관리 서버(110)로 전송한다. At this time, the network traffic sensor 101 is connected to a network, for example, a wired or wireless network, collects traffic including an executable file of an application program executed in a system running in a Windows environment, extracts analysis target traffic requiring analysis, To the code management server (110).

따라서, S110 단계는 네트워크 트래픽 센서(101)로부터 분석 대상 트래픽을 수신하고, 이를 Rest API를 사용하여 분석 대상 트래픽에 포함된 응용 프로그램의 제1 악성 의심 실행 파일 및 각종 메타 정보를 악성 코드 관리 서버(110)의 데이터베이스(111)에 저장할 수 있다. Accordingly, in step S110, the analysis target traffic is received from the network traffic sensor 101, and the first malicious suspicious execution file and various meta information of the application program included in the analysis target traffic are transmitted to the malicious code management server 110). &Lt; / RTI &gt;

이때, 수집된 응용 프로그램의 실행 파일은 윈도우즈 환경에서 실행 가능한 PE(Portable Executable) 파일인 것이 바람직하다.At this time, the executable file of the collected application program is preferably a PE (Portable Executable) file executable in a Windows environment.

그러나, 수집이 아닌, 입력받을 수도 있다. 즉, S110 단계는 수동적으로 적어도 하나 이상의 실행 파일을 입력받아 데이터베이스(111)에 저장할 수 있다. 이때, 입력받는 실행 파일은 윈도우즈 환경에서 실행 가능한 PE(Portable Executable) 파일인 것이 바람직하다. 그러나, 앞서 설명한 PE(Portable Executable) 파일로만 제한되지 않음은 물론이다.However, it may be input, not collection. That is, at step S110, at least one executable file may be manually input and stored in the database 111. [ At this time, it is preferable that the executable file to be input is a PE (Portable Executable) file executable in a Windows environment. However, it is needless to say that the present invention is not limited to the PE (Portable Executable) file described above.

이후, 일 실시예에서, S120 단계는 가상화 기술을 이용하여 적어도 하나 이상의 가상화 에이젼트 모듈(121)를 동시에 구동시킬 수 있다. 이때, 연동되어 구동되는 가상화 에이젼트 모듈(121)은 가상화 환경에서 수행되는 윈도우즈 시스템을 가리킬 수 있다. Thereafter, in one embodiment, step S120 may simultaneously activate at least one virtualization agent module 121 using virtualization technology. At this time, the virtualization agent module 121, which is operated in conjunction with the virtualization agent module 121, may refer to a Windows system that is executed in a virtualized environment.

가상화 에이젼트 모듈(121)이 구동이 되면, 악성 코드 관리 서버(110)로부터 수신된 제1 악성 의심 실행 파일을 가상화 에이젼트 모듈(121)에서 실행시킬 수 있다. 실행 결과, 악성 코드가 호출하는 제1 API(Application Program Interface) 호출 정보가 추출될 수 있다.When the virtualization agent module 121 is activated, the first malicious suspicious execution file received from the malicious code management server 110 can be executed in the virtualization agent module 121. As a result of execution, the first application program interface (API) call information called by the malicious code can be extracted.

역으로, S120 단계는 악성 코드 관리 서버(110)로부터 수신된 제1 악성 의심 실행 파일을 적어도 하나 이상의 가상화 에이젼트 모듈(121)을 이용하여 실행시킨 후, 악성 코드가 호출하는 제1 API(Application Program Interface) 호출 정보를 가상화 분석 서버(120)에서 추출할 수 있다.Conversely, in step S120, the first malicious suspicious execution file received from the malicious code management server 110 is executed using at least one virtualization agent module 121, and then a first API (Application Program) Interface call information can be extracted from the virtualization analysis server 120.

바람직하게는, 사용자 레벨 및 커넬 레벨에서 API 후킹을 통해 악성코드가 호출하는 API 정보를 모니터링하여 제1 API 호출 정보를 가상화 분석 서버(120)에서 추출할 수 있다. 제1 API 호출 정보가 추출되면, 악성 코드에 대한 악성 행위를 알 수 있다.Preferably, API information called by the malicious code is monitored through API hooking at the user level and the kernel level, and the first API call information can be extracted from the virtualization analysis server 120. When the first API call information is extracted, the malicious behavior for the malicious code can be known.

즉, '레지스트리 실행위치에 등록', '파일 복사', '웜 프로세스 실행', 'C:W에 로그 파일 생성', '중복실행방지를 위한 Mutex 생성' 및 '레지스트리의 실행 위치에 등록'과 같은 사용자 레벨 및 커널 레벨의 악성 행위를 알 수 있게 된다. 추출된 제1 API 호출 정보는 가상화 분석 서버(120)에서 악성 코드 관리 서버(120)로 전송된다.In other words, 'Register at registry execution location', 'Copy file', 'Execute worm process', 'Create log file at C: W', 'Create mutex to prevent duplication' It is possible to know malicious behavior at the same user level and kernel level. The extracted first API call information is transmitted from the virtualization analysis server 120 to the malicious code management server 120.

이와 같이, 사용자 레벨 및 커넬 레벨 상에서 모두 제1 API 호출 정보를 추출하기 때문에 다양한 API를 대상으로 악성코드 행위 분석이 가능한 잇점을 준다.Thus, since the first API call information is extracted on both the user level and the kernel level, the malicious code behavior analysis can be performed on various APIs.

이런 경우, 가상화 분석 에이젼트(120)로부터 수신한 제1 API 호출 정보는 가상화 분석 서버(120)의 데이터베이스(101)에 저장할 수 있다.In this case, the first API call information received from the virtualization analysis agent 120 may be stored in the database 101 of the virtualization analysis server 120.

이후, 저장된 제1 API 호출 정보를 이용하여 보다 세밀한 악성 행위를 탐지하기 위하여, S130 단계는 가상화 분석 에이젼트(120)로부터 수신된 제1 API 호출 정보를 미리 설정된 악성 코드 룰셋을 악성 행위 분석 관리 모듈(112)에서 적용하여 가상화 환경에서의 가상화 악성 행위를 탐지한다.Thereafter, in order to detect more detailed malicious behavior using the stored first API call information, step S130 is a step of setting malicious code rule sets, which are preset with the first API call information received from the virtualization analysis agent 120, 112) to detect virtual malicious behavior in a virtualized environment.

이때, 악성 코드 룰셋은 후킹 필터링을 포함할 수 있다. 즉, 후킹 필터링을 포함한 악성 코드 룰셋을 제1 API 호출 정보에 적용하고, 후킹 필터링된 제1 API 호출 정보와 미리 정의된 악성 코드 룰셋을 비교하여 동일성이 확인되면 악성 코드의 가상화 악성 행위를 악성 행위 분석 관리 모듈(112)에서 탐지할 수 있다. 탐지된 가상화 악성 행위는 악성 행위 분석 관리 모듈(112)의 데이터베이스(111)에 저장될 수 있다.At this time, the malicious rule set may include hooking filtering. That is, a malicious code rule set including hooking filtering is applied to the first API call information, and when the hooking-filtered first API calling information is compared with a predefined malicious code rule set to confirm the identity, malicious code malicious behavior Can be detected by the analysis management module 112. The detected virtual malicious behavior may be stored in the database 111 of malicious behavior analysis management module 112.

그러나, 제1 악성 의심 실행 파일로부터 모든 악성 코드를 가상화 환경에서 탐지할 수 없을 수도 있다. 이를 대비하고자, S130 단계는 가상화 악성 행위를 탐지하지 않은 제2 악성 의심 실행 파일을 데이터베이스(111)에 저장된 제1 악성 의심 실행 파일로부터 추출할 수 있다. 추출된 제2 악성 의심 실행 파일은 이후에 설명할 리얼 분석 서버(130)로 전송된다. However, it may not be possible to detect all malicious codes from the first malicious suspicious executable in a virtualized environment. In order to prepare for this, in step S130, the second malicious suspicious execution file that has not detected the virtual malicious behavior may be extracted from the first malicious suspicious execution file stored in the database 111. [ The extracted second malicious suspicious execution file is transmitted to the real analysis server 130 to be described later.

이후, 본 실시예에서, S140 단계는 악성 행위 분석 관리 모듈(112)로부터 수신된 제2 악성 의심 실행 파일을 리얼 타임 분석 에이젼트(130)의 리얼 타임 에이젼트(131)를 통해 실행시킨 후, 악성 코드가 호출하는 제2 API(Application Program Interface) 호출 정보를 리얼 타임 분석 에이젼트(130)에서 추출하게 된다. In step S140, the second malicious suspicious execution file received from the malicious behavior analysis management module 112 is executed through the real-time agent 131 of the real-time analysis agent 130, and then the malicious code The second API (application program interface) call information to be called by the real time analysis agent 130 is extracted.

바람직하게는, 사용자 레벨 및/또는 커널 레벨에서 API 후킹을 통해 악성 코드가 호출하는 API 정보를 모니터링함으로써, 제2 API 호출 정보를 리얼 타임 분석 에이젼트(130)에서 추출할 수 있다. 추출된 제2 API 호출 정보는 악성 행위 분석 관리 모듈(112)로 전송된다.Preferably, the second API call information can be extracted from the real-time analysis agent 130 by monitoring API information called by the malicious code through API hooking at the user level and / or the kernel level. The extracted second API call information is transmitted to the malicious behavior analysis management module 112.

이에 따라, S140 단계는 리얼 타임 에이젼트(131)로부터 수신한 제2 API 호출 정보를 악성 행위 분석 관리 모듈(112)의 데이터베이스(111)에 저장하고, 저장된 제2 API 호출 정보를 미리 설정된 악성 코드 룰셋을 다시 적용시켜, 리얼 타임 악성 행위를 악성 행위 분석 관리 모듈(112)에서 탐지하게 된다.Accordingly, in step S140, the second API call information received from the real-time agent 131 is stored in the database 111 of the malicious behavior analysis management module 112, and the stored second API call information is stored in the preset malicious code rule set The malicious behavior analysis module 112 detects the real-time malicious behavior.

이때, 악성 코드 룰셋은 앞서 설명한 바와 같이 동일한 관계로, 그 설명은 생략한다. 탐지된 리얼 타임 악성 행위는 데이테 베이스(111)에 저장된다. 따라서, 데이테 베이스(111)에 저장된 정보들은 필요에 따라 악성 행위 분석에 유용하게 사용될 수 있게 된다.At this time, the malicious code ruleset has the same relationship as described above, and a description thereof will be omitted. The detected real-time malicious activity is stored in the database 111. Therefore, the information stored in the database 111 can be usefully used for malicious behavior analysis as needed.

이와 같이, 본 실시예에서는 가상화 환경 또는/및 리얼 타임 환경에서 사용자 레벨 및 커널 레벨에 해당하는 모든 API 호출 정보를 추출함으로써, 악성 코드의 보다 세부적인 악성 행위를 탐지할 수 있는 장점을 준다. In this way, the present embodiment extracts all the API call information corresponding to the user level and the kernel level in the virtualized environment and / or the real-time environment, thereby detecting more detailed malicious behavior of the malicious code.

다시 도 14로 돌아와, 본 실시예에 따른 S200 단계는 악성 코드 분석 시스템(100)로부터 악성 코드의 악성 행위 및/또는 API 호출 정보를 행위 분류 서버(210)에 의해 수신한다. 그리고, 수신된 악성 코드의 악성 행위와 기저장된 행위 분류 규칙 정보간 매칭을 통해 행위 코드들을 행위 분류 서버(210)에서 생성한다. Returning to FIG. 14, in step S200 according to the present embodiment, malicious code malicious code and / or API call information is received from the malicious code analysis system 100 by the malicious code analysis system 100 by the malicious code analysis system 100. The behavior classification server 210 generates behavior codes by matching malicious behavior of the received malicious code with pre-stored behavior classification rule information.

이때, 행위 분류 규칙 정보는 API 호출 정보의 호출에 따른 행위 정보와 상기 행위 정보의 행위 룰에 포함된 API를 식별하기 위한 API 번호와, 해당 상기 행위를 수행하기 위하여 참조하는 객체인 파라미터와, 상기 객체의 실제값인 파라미터값, 해당 API가 호출되었을 때, 반듯이 함께 호출되는 연관 API와 상기 연관 API와 함께 호출되어야 해당 행위에 매칭되는 것인지를 식별하는 플래그를 포함할 수 있다.In this case, the action classification rule information includes an API number for identifying API included in the action rule of the action information, an API number for identifying the API included in the action rule of the action information, A parameter value that is an actual value of an object, a flag that identifies whether an associated API that is called together when the API is invoked, and whether it should be called with the associated API to match the behavior.

따라서, 수신된 악성 코드의 악성 행위가 행위 분류 규칙에 속하는지를 확인하여 매칭이 이루어져 행위 코드들을 생성할 수 있게 된다. 이 처럼 생성된 행위 코드들의 일례는 도 9와 같이 나타낼 수 있다. Accordingly, it is confirmed that malicious behavior of the received malicious code belongs to the action classification rule, so that matching can be performed to generate action codes. An example of the generated behavior codes as shown in FIG. 9 can be shown.

도 9에서와 같이, 임의의 악성 행위들이 행위 분류 규칙에 따라 행위 코드로 구분되는 과정을 알 수 있다. 한편, 상기 행위 코드들은 악성코드별 행위를 식별하기 위한 코드로서, 복합적인 악성 행위를 하나의 비트열로 표현될 수 있다. 예를 들어, 행위 매칭시 '1', 비매칭시 '0'이라는 비트열로 표시될 수 있다. As shown in FIG. 9, it can be seen that a malicious behavior is classified into an action code according to a behavior classification rule. On the other hand, the behavior codes are codes for identifying malicious code-specific behaviors, and a complex malicious behavior can be represented by one bit string. For example, it can be displayed as a bit string '1' when matching behavior and '0' when mismatching.

이와 같이, 행위 코드가 생성되면, S200 단계는 생성된 행위 코드를 이용하여 같은 행위군에 속하는 악성 코드들을 그룹화한 행위 그룹을 행위 분류 서버(210)에서 생성할 수 있다. If the action code is generated, the action classifying server 210 may generate an action group in which malicious codes belonging to the same action group are grouped using the generated action code in step S200.

예를 들면, 도 10에 도시된 바와 같이 행위 코드를 부여받은 악성 코드들은 이를 기준으로 행위가 유사한 악성 코드들로 분류하기 위하여 위하여 그룹핑된 적어도 하나 이상의 행위 그룹을 생성할 수 있다. For example, as shown in FIG. 10, malicious codes assigned with a malicious code may generate at least one malicious code grouped for classification into similar malicious codes based on the malicious codes.

이때, 동일 행위 코드를 가진 악성 코드는 하나의 그룹으로 그룹핑되고, 이들은 상호 유사한 행위를 갖는 악성 코드로 분류될 수 있다. 또한, 1개 시그니처의 행위 코드는 1개 행위 그룹으로 식별되며, 행위 코드의 전체 개수는 유사 행위 그룹의 개수와 동일한 상태를 가질 수 있다. 이와 같이, 생성된 행위 코드와 행위 그룹 생성으로 인하여, 본 실시예에서는 행위 기반의 변종 악성 코드를 쉽게 탐지할 수 있는 장점을 준다.At this time, malicious codes having the same behavior code are grouped into one group, and they can be classified into malicious codes having mutually similar actions. Also, the behavior code of one signature is identified as one behavior group, and the total number of behavior codes may have the same state as the number of similar behavior groups. In this way, the generated behavior codes and action groups are generated, so that the embodiment can easily detect malicious codes based on the behavior.

또한, 일 실시예에서 S200 단계는 생성되어진 행위 그룹에 포함된 악성 코드를 모아놓은 악성 코드 리스트를 이용하여 API 시퀀스를 행위 분류 서버(210)에서 추출할 수 있다. 이때, 악성 코드 리스트에 대한 예는 도 11과 같이 나타낼 수 있다. 참고로, 도 11에서는 도 14에서 설명한 API 호출 정보도 함께 표시하였다.Also, in operation S200, the action classification server 210 may extract an API sequence using a malicious code list including malicious codes included in the generated action group. At this time, an example of the malicious code list can be represented as shown in FIG. 11, the API call information described in FIG. 14 is also displayed.

이 처럼 추출된 API 시퀸스는 행위 코드별 비트 코드를 생성하는데 활용될 수 있다. 즉, 행위 분류 서버(120)는 추출되어진 API 시퀀스와 행위 분류 규칙 정보내의 단위 행위간 일치 여부를 통해 각 행위 코드별 비트 코드(1,0)를 생성할 수 있다.The extracted API sequence can be used to generate bit codes for each behavior code. That is, the behavior classification server 120 can generate bit codes (1, 0) for each behavior code by matching the extracted API sequence with the unit behavior in the behavior classification rule information.

이와 같이, 생성된 비트 코드는 차후에 설명할 악성 코드 변종 조회 시스템(300)에서 조회시 비트 코드를 입력하여 변종 악성 코드와 같은 다양한 정보를 확인하는데 매우 유용하게 쓰인다.As described above, the generated bit code is very useful for inputting a bit code at the time of inquiry in the malicious code variant inquiry system 300 to be described later to confirm various information such as variant malicious codes.

이후, 본 실시예에서, S200 단계는 앞서 설명한 바와 같이 생성된 행위 코드, 행위 그룹, 악성 코드 리스트, API 시퀀스 및 비트 코드 등을 데이터베이스(220)에 저장한다. 저장된 정보들은 이후에 설명할 악성코드 조회 시스템(300)에 의해 조회될 수 있다.Thereafter, in this embodiment, step S200 stores the generated behavior code, action group, malicious code list, API sequence and bit code, etc., in the database 220 as described above. The stored information can be queried by the malicious code inquiry system 300 to be described later.

마지막으로, 본 실시예에서, S300 단계는 앞서 도 14에서 설명한 악성 코드 관리 서버(110)의 데이터베이스(111)와 행위 분류 시스템(200)의 데이터베이스(220)에 저장된 정보들을 악성 코드 조회 시스템(300)에서 조회하고, 악성 코드 조회 시스템(300)에 의해 변종 악성 코드를 확인하기 위한 정보들의 조합과 산출을 수행할 수 있다. 이러한 조회 및 산출은 사용자 인터페이스(GUI)를 통해 실현될 수 있다.14, the information stored in the database 111 of the malicious code management server 110 and the database 220 of the behavior classification system 200 described in FIG. 14 is transmitted to the malicious code inquiry system 300 ), And the malicious code inquiry system 300 can perform a combination and calculation of information for identifying the malicious code. Such inquiry and output can be realized through a user interface (GUI).

예를 들면, 도 12에서와 같이, 특정 그룹에 속한 변종 악성코드 목록을 조회하고자, 사용자 인터페이스를 통해 "[조회] group1_id(28), 채널정보(TYPE1), 변종판단결과(TRUE)"와 같이 조회 요청되면, MAL2_id 11, 52 ... 등이 변종 판단 결과에 따라 변종 그룹으로 산출되어 출력될 수 있다.For example, as shown in FIG. 12, in order to inquire a list of variant malicious codes belonging to a specific group, a group name_id (28), channel information (TYPE1), and variant determination result (TRUE) When an inquiry is made, MAL2_id 11, 52, etc. may be calculated and output as a variant group according to the result of the variant determination.

또한, 도 13에서와 같이, 특정 악성코드 A에 대한 변종 조회를 위하여, " case1. [조회) mal1_id(24), 변종판단결과(TRUE)와 case2. [조회] mal1_id[24], 변종판단결과(TRUE), 그룹유형(TYPE1) 및 case3. [조회] mal1_id[24], 변종판단결과(TRUE), 그룹유형(TYPE2)"과 조회 요청되면, mal1_ID[24]에 대한 전체 변종 리스트를 출력하고, 동일 그룹 내 변종 리스트만 출력하며, 서로 다른 그룹에 속하는 변종 리스트를 출력할 수 있다.13, for the variant inquiry for a specific malicious code A, "case1. [Lookup] mal1_id (24), variant judgment result (TRUE) and case2. [Lookup] mal1_id [24] (TRUE), the group type (TYPE1), and the case3. [Inquiry] mal1_id [24], the variant determination result (TRUE), the group type (TYPE2) , Only a list of variants within the same group is output, and a list of variants belonging to different groups can be output.

이와 같이, 본 실시예에서는 변종 악성 코드 및 악성 코드의 악성 행위들을 악성코드 조회 시스템(300)에 의해 다양한 조건하에 조회하고 산출할 수 있는 장점을 준다. As described above, in this embodiment, the malicious codes of variant malicious code and malicious code are advantageously inquired and calculated by the malicious code inquiry system 300 under various conditions.

이상에서와 같이, 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고 다른 구체적인 형태로 실시할 수 있다는 것을 이해할 수 있을 것이다. 따라서 이상에서 기술한 실시예는 모든 면에서 예시적인 것이며 한정적이 아닌 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the exemplary embodiments or constructions. You can understand that you can do it. The embodiments described above are therefore to be considered in all respects as illustrative and not restrictive.

100 : 악성 코드 분석 시스템 101 : 네트워크 트래픽 센서
110 : 악성 코드 관리 서버 111 : 데이터베이스
112 : 악성 행위 분석 관리 모듈 120 : 가상화 분석 에이젼트
121 : 가상화 에이젼트 모듈 130 : 리얼 타임 분석 에이젼트
131 : 리얼 타임 에이젼트 200 : 행위 분류 시스템
210 : 행위 분류 서버 220 : 데이터베이스
300 : 악성코드 조회 시스템 1000 : 악성 코드 변종 탐지 및 조회 시스템
100: malicious code analysis system 101: network traffic sensor
110: malicious code management server 111: database
112: malicious behavior analysis management module 120: virtualization analysis agent
121: virtualization agent module 130: real-time analysis agent
131: Real Time Agent 200: Action Classification System
210: behavior classification server 220: database
300: malicious code inquiry system 1000: malicious code variant detection and inquiry system

Claims (15)

악성 의심 실행 파일을 실행시켜 악성 코드가 호출하는 API(Application Program Interface) 호출 정보를 추출하고, 추출된 상기 API 호출 정보를 이용하여 악성 코드의 악성 행위를 탐지하는 악성 코드 분석 시스템,
상기 악성 코드 분석 시스템으로부터 제공받은 악성 코드의 악성 행위와 기저장된 행위 분류 규칙 정보간 매칭을 통해 행위 코드들을 생성하고, 상기 행위 코드를 이용하여 같은 행위군에 속하는 악성 코드들을 그룹화한 행위 그룹을 생성하는 행위 분류 시스템, 및
상기 악성 코드 분석 시스템과 행위 분류 시스템의 데이터베이스에 저장된 정보를 조회하고, 변종 악성 코드를 확인하기 위한 상기 정보들의 조합과 산출을 수행하는 악성코드 조회 시스템을 포함하여 구성되며,

상기 악성 코드 분석 시스템은 네트워크망에 접속된 네트워크 트래픽 센서로부터, Window OS상에서 실행 가능한 PE(Portable Executable) 파일과 같은 악성 의심 실행 파일을 수집하며,

상기 악성 코드 분석 시스템은 상기 악성 의심 실행 파일, 제1 API 호출 정보 및 상기 악성 코드의 악성 행위를 저장하는 제1 데이테 베이스를 포함하며,

상기 행위 분류 시스템은 생성된 상기 행위 그룹에 포함된 상기 악성 코드를 모아놓은 악성 코드 리스트를 이용하여 API 시퀀스를 추출하며,

상기 행위 분류 시스템은 행위 분류 규칙 정보와 상기 추출된 상기 API 시퀀스 내의 단위 행위간 일치 여부를 통해 각 상기 행위 코드별 비트 코드(1,0)를 생성하며, 상기 행위 분류 규칙 정보는 상기 API 호출 정보의 호출에 따른 행위 정보와 상기 행위 정보의 행위 룰에 포함된 API를 식별하기 위한 API 번호, 해당 상기 행위를 수행하기 위하여 참조하는 객체인 파라미터, 상기 객체의 실제값인 파라미터값, 해당 API가 호출되었을 때, 반듯이 함께 호출되는 연관 API, 그리고 상기 연관 API와 함께 호출되어야 해당 행위에 매칭되는 것인지를 식별하는 플래그를 포함하여 구성되고,

상기 행위 분류 시스템은 상기 행위 코드, 행위 그룹, 악성 코드 리스트, API 시퀀스 및 비트 코드를 저장하는 제2 데이터베이스를 포함하여 구성되는 행위 기반 악성 코드 변종 탐지 및 조회 시스템.
A malicious code analysis system for executing a malicious suspicion executable file to extract API (application program interface) call information called by malicious code and detecting malicious behavior of malicious code using the extracted API call information,
Generates behavior codes by matching the malicious behavior of the malicious code provided from the malicious code analysis system with pre-stored behavior classification rule information, and creates an action group in which malicious codes belonging to the same action group are grouped by using the action code A behavior classification system, and
And a malicious code inquiry system for inquiring information stored in a database of the malicious code analysis system and the behavior classification system and performing a combination and calculation of the information for identifying the variant malicious code,

The malicious code analysis system collects malicious suspicious execution files such as PE (Portable Executable) files executable on the Window OS from network traffic sensors connected to the network,

Wherein the malicious code analysis system includes a malicious suspicious execution file, first API call information, and a first database for storing malicious behavior of the malicious code,

Wherein the behavior classification system extracts an API sequence using a malicious code list including the malicious codes included in the generated action group,

Wherein the behavior classification system generates bit code (1, 0) for each behavior code based on the behavior classification rule information and the unit behavior in the extracted API sequence, and the behavior classification rule information includes the API call information An API number for identifying an API included in an action rule of the action information, a parameter that is an object to be referred to for performing the action, a parameter value that is an actual value of the object, An associated API that is invoked together, and a flag that identifies whether it should be invoked with the associated API to match the behavior,

Wherein the behavior classification system comprises a second database for storing the behavior code, the action group, the malicious code list, the API sequence and the bit code.
삭제delete 삭제delete 제1항에 있어서,
상기 악성 코드 분석 시스템은,
사용자 레벨 및 커널 레벨상에서 API 후킹을 통해 상기 악성 코드가 호출하는 API 호출 정보를 추출하는 행위 기반 악성 코드 변종 탐지 및 조회 시스템.
The method according to claim 1,
The malicious code analysis system comprises:
Based malicious code variant detection and retrieval system for extracting API call information called by the malicious code through API hooking on a user level and a kernel level.
제4항에 있어서,
상기 악성 코드 분석 시스템은,
상기 API 호출 정보를 미리 설정된 악성 코드 룰셋을 적용하여 상기 악성 행위를 탐지하는 행위 기반 악성 코드 변종 탐지 및 조회 시스템.
5. The method of claim 4,
The malicious code analysis system comprises:
And detecting the malicious behavior by applying the malicious code rule set in advance to the API call information.
제5항에 있어서,
상기 악성 코드 분석 시스템은,
후킹 필터링을 포함한 상기 악성 코드 룰셋을 적용하는 행위 기반 악성 코드 변종 탐지 및 조회 시스템.
6. The method of claim 5,
The malicious code analysis system comprises:
Behavior based malware variant detection and retrieval system applying the malicious code ruleset including hook filtering.
제1항에 있어서,
상기 악성 코드 분석 시스템은,
가상화 악성 행위 및 리얼 타임 악성 행위를 포함한 상기 악성 행위를 탐지하는 행위 기반 악성 코드 변종 탐지 및 조회 시스템.
The method according to claim 1,
The malicious code analysis system comprises:
Based malicious code variant detection and retrieval system that detects malicious activity including virtualization malicious activity and real-time malicious activity.
삭제delete 삭제delete 삭제delete 삭제delete 삭제delete (a) 악성 의심 실행 파일을 실행시킨 후, 악성 코드가 호출하는 API(Application Program Interface) 호출 정보를 악성 코드 분석 시스템에서 추출하는 단계;
(b) 추출된 상기 API 호출 정보를 이용하여 상기 악성 코드에 대한 악성 행위를 악성 코드 분석 시스템에서 탐지하는 단계;
(c) 탐지된 상기 악성 행위와 기저장된 행위 분류 규칙 정보간 매칭을 통해 행위 코드들을 행위 분류 시스템에서 생성하는 단계;
(d) 상기 행위 코드를 이용하여 같은 행위군에 속하는 악성 코드들을 그룹화한 행위 그룹을 행위 분류 시스템에서 생성하는 단계; 및
(e) 상기 악성 코드 분석 시스템과 행위 분류 시스템의 데이터베이스에 저장된 정보를 조회하고, 변종 악성 코드를 확인하기 위한 상기 정보들의 조합과 산출을 악성코드 조회 시스템에서 수행하는 단계를 포함하여 이루어지며,

상기 악성 코드 분석 시스템은 네트워크망에 접속된 네트워크 트래픽 센서로부터, Window OS상에서 실행 가능한 PE(Portable Executable) 파일과 같은 악성 의심 실행 파일을 수집하며,

상기 악성 코드 분석 시스템은 상기 악성 의심 실행 파일, 제1 API 호출 정보 및 상기 악성 코드의 악성 행위를 저장하는 제1 데이테 베이스를 포함하며,

상기 행위 분류 시스템은 생성된 상기 행위 그룹에 포함된 상기 악성 코드를 모아놓은 악성 코드 리스트를 이용하여 API 시퀀스를 추출하며,

상기 행위 분류 시스템은 행위 분류 규칙 정보와 상기 추출된 상기 API 시퀀스 내의 단위 행위간 일치 여부를 통해 각 상기 행위 코드별 비트 코드(1,0)를 생성하며, 상기 행위 분류 규칙 정보는 상기 API 호출 정보의 호출에 따른 행위 정보와 상기 행위 정보의 행위 룰에 포함된 API를 식별하기 위한 API 번호, 해당 상기 행위를 수행하기 위하여 참조하는 객체인 파라미터, 상기 객체의 실제값인 파라미터값, 해당 API가 호출되었을 때, 반듯이 함께 호출되는 연관 API, 그리고 상기 연관 API와 함께 호출되어야 해당 행위에 매칭되는 것인지를 식별하는 플래그를 포함하여 구성되고,

상기 행위 분류 시스템은 상기 행위 코드, 행위 그룹, 악성 코드 리스트, API 시퀀스 및 비트 코드를 저장하는 제2 데이터베이스를 포함하여 구성되는 행위 기반 악성 코드 변종 탐지 및 조회 방법.
(a) extracting, from a malicious code analysis system, application program interface (API) call information called by a malicious code after executing a malicious suspicious execution file;
(b) detecting malicious behavior for the malicious code in the malicious code analysis system using the extracted API call information;
(c) generating behavior codes in the behavior classification system through matching between the detected malicious behavior and pre-stored behavior classification rule information;
(d) generating a group of malicious codes belonging to the same action group in the behavior classification system using the action code; And
(e) inquiring information stored in a database of the malicious code analysis system and the behavior classification system, and performing a combination and calculation of the information for identifying the variant malicious code in the malicious code inquiry system,

The malicious code analysis system collects malicious suspicious execution files such as PE (Portable Executable) files executable on the Window OS from network traffic sensors connected to the network,

Wherein the malicious code analysis system includes a malicious suspicious execution file, first API call information, and a first database for storing malicious behavior of the malicious code,

Wherein the behavior classification system extracts an API sequence using a malicious code list including the malicious codes included in the generated action group,

Wherein the behavior classification system generates bit code (1, 0) for each behavior code based on the behavior classification rule information and the unit behavior in the extracted API sequence, and the behavior classification rule information includes the API call information An API number for identifying an API included in an action rule of the action information, a parameter that is an object to be referred to for performing the action, a parameter value that is an actual value of the object, An associated API that is invoked together, and a flag that identifies whether it should be invoked with the associated API to match the behavior,

Wherein the behavior classification system comprises a second database for storing the behavior code, the action group, the malicious code list, the API sequence and the bit code.
제13항에 있어서,
상기 (a) 단계는,
사용자 레벨 및 커널 레벨상에서 API 후킹과 악성 코드 룰셋을 상기 API 호출 정보에 적용하여 상기 악성 행위를 탐지하는 행위 기반 악성 코드 변종 탐지 및 조회 방법.
14. The method of claim 13,
The step (a)
A malicious code variant detection and retrieval method for detecting malicious behavior by applying an API hook and a malicious code rule set to the API call information on a user level and a kernel level.
삭제delete
KR1020150008754A 2015-01-19 2015-01-19 System and method for detecting and inquiring metamorphic malignant code based on action KR101589652B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150008754A KR101589652B1 (en) 2015-01-19 2015-01-19 System and method for detecting and inquiring metamorphic malignant code based on action

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150008754A KR101589652B1 (en) 2015-01-19 2015-01-19 System and method for detecting and inquiring metamorphic malignant code based on action

Publications (1)

Publication Number Publication Date
KR101589652B1 true KR101589652B1 (en) 2016-01-28

Family

ID=55309980

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150008754A KR101589652B1 (en) 2015-01-19 2015-01-19 System and method for detecting and inquiring metamorphic malignant code based on action

Country Status (1)

Country Link
KR (1) KR101589652B1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101781780B1 (en) * 2017-03-03 2017-10-23 국방과학연구소 System and Method for detecting malicious websites fast based multi-server, multi browser
CN108171056A (en) * 2016-12-08 2018-06-15 武汉安天信息技术有限责任公司 It is a kind of to automate the malicious detection method of judgement sample and device
KR101880689B1 (en) * 2016-10-25 2018-07-20 주식회사 안랩 Apparatus and method for detecting malicious code
KR102010468B1 (en) * 2018-09-06 2019-08-14 주식회사 윈스 Apparatus and method for verifying malicious code machine learning classification model
KR20200116713A (en) 2019-04-02 2020-10-13 충남대학교산학협력단 System and method for detecting metamorphic malignant code based on log

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090120717A (en) * 2008-05-20 2009-11-25 주식회사 웰비아닷컴 System and method for detecting and managing malicious code in computer systems using microsoft windows operating systems
KR20120071834A (en) * 2010-12-23 2012-07-03 한국인터넷진흥원 Automatic management system for group and mutant information of malicious code
KR20120124638A (en) 2011-05-04 2012-11-14 엔에이치엔비즈니스플랫폼 주식회사 Malignant code detecting system and method based on action
US20140181973A1 (en) * 2012-12-26 2014-06-26 National Taiwan University Of Science And Technology Method and system for detecting malicious application

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090120717A (en) * 2008-05-20 2009-11-25 주식회사 웰비아닷컴 System and method for detecting and managing malicious code in computer systems using microsoft windows operating systems
KR20120071834A (en) * 2010-12-23 2012-07-03 한국인터넷진흥원 Automatic management system for group and mutant information of malicious code
KR20120124638A (en) 2011-05-04 2012-11-14 엔에이치엔비즈니스플랫폼 주식회사 Malignant code detecting system and method based on action
US20140181973A1 (en) * 2012-12-26 2014-06-26 National Taiwan University Of Science And Technology Method and system for detecting malicious application

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101880689B1 (en) * 2016-10-25 2018-07-20 주식회사 안랩 Apparatus and method for detecting malicious code
CN108171056A (en) * 2016-12-08 2018-06-15 武汉安天信息技术有限责任公司 It is a kind of to automate the malicious detection method of judgement sample and device
KR101781780B1 (en) * 2017-03-03 2017-10-23 국방과학연구소 System and Method for detecting malicious websites fast based multi-server, multi browser
KR102010468B1 (en) * 2018-09-06 2019-08-14 주식회사 윈스 Apparatus and method for verifying malicious code machine learning classification model
KR20200116713A (en) 2019-04-02 2020-10-13 충남대학교산학협력단 System and method for detecting metamorphic malignant code based on log

Similar Documents

Publication Publication Date Title
KR101589656B1 (en) System and method for detecting and inquiring metamorphic malignant code based on action
KR101623073B1 (en) System and method for detecting malignant code based on application program interface
KR101969572B1 (en) Malicious code detection apparatus and method
KR101589652B1 (en) System and method for detecting and inquiring metamorphic malignant code based on action
US10581879B1 (en) Enhanced malware detection for generated objects
KR101589649B1 (en) System and method for analysing large-scale malignant code
US8667586B2 (en) Backward researching time stamped events to find an origin of pestware
CN102664875B (en) Malicious code type detection method based on cloud mode
US8201243B2 (en) Backwards researching activity indicative of pestware
EP3236381B1 (en) Virus processing method, apparatus, system and device, and computer storage medium
US20140053267A1 (en) Method for identifying malicious executables
CN105491053A (en) Web malicious code detection method and system
CN107992751B (en) Real-time threat detection method based on branch behavior model
CN101924762A (en) Cloud security-based active defense method
KR101132197B1 (en) Apparatus and Method for Automatically Discriminating Malicious Code
CN110149319B (en) APT organization tracking method and device, storage medium and electronic device
EP3531324B1 (en) Identification process for suspicious activity patterns based on ancestry relationship
CN113779585A (en) Unauthorized vulnerability detection method and device
KR20150124020A (en) System and method for setting malware identification tag, and system for searching malware using malware identification tag
Bernardi et al. A fuzzy-based process mining approach for dynamic malware detection
CN110750788A (en) Virus file detection method based on high-interaction honeypot technology
CN108959922B (en) Malicious document detection method and device based on Bayesian network
US10360378B2 (en) Analysis device, analysis method and computer-readable recording medium
KR101174635B1 (en) The automated defense system for the malicious code and the method thereof
CN111327632B (en) Zombie host detection method, system, equipment and storage medium

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190123

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20200107

Year of fee payment: 5