KR20110088042A - Apparatus and method for automatically discriminating malicious code - Google Patents

Apparatus and method for automatically discriminating malicious code Download PDF

Info

Publication number
KR20110088042A
KR20110088042A KR1020100007762A KR20100007762A KR20110088042A KR 20110088042 A KR20110088042 A KR 20110088042A KR 1020100007762 A KR1020100007762 A KR 1020100007762A KR 20100007762 A KR20100007762 A KR 20100007762A KR 20110088042 A KR20110088042 A KR 20110088042A
Authority
KR
South Korea
Prior art keywords
target file
malicious code
dynamic
file
analysis rule
Prior art date
Application number
KR1020100007762A
Other languages
Korean (ko)
Other versions
KR101132197B1 (en
Inventor
이승희
고흥환
이승원
Original Assignee
주식회사 안철수연구소
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 안철수연구소 filed Critical 주식회사 안철수연구소
Priority to KR1020100007762A priority Critical patent/KR101132197B1/en
Publication of KR20110088042A publication Critical patent/KR20110088042A/en
Application granted granted Critical
Publication of KR101132197B1 publication Critical patent/KR101132197B1/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/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • 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

Abstract

PURPOSE: An apparatus and method for automatically discriminating a malicious code are provided to automatically detect a new malicious code and classify the malicious code. CONSTITUTION: A dynamic monitoring part(250) monitors an operation by executing a target file and creates a memory dump image by dumping the memory. An analysis section(270) determines the malicious code by comparing the dynamic analysis rule with the monitored operation. A static analysis part(280) determines the malicious code by comparing the memory dump image or the target file with the static analysis rule.

Description

악성 코드 자동 판별 장치 및 방법 {Apparatus and Method for Automatically Discriminating Malicious Code}Apparatus and Method for Automatically Discriminating Malicious Code

본 발명은, 악성 코드 자동 판별 장치 및 방법에 관한 것이다. 구체적으로 본 발명은, 대상 파일을 실행하여 동작을 모니터링하고 메모리 덤프 이미지를 생성하고, 모니터링된 동작 및 메모리 덤프 이미지를 관리자에게 제공하고 관리자로부터 동적분석 룰 및 정적분석 룰을 제공받아, 모니터링된 동작을 동적분석 룰과 비교하고 대상 파일 또는 메모리 덤프 이미지를 정적분석 룰과 비교함으로써 대상 파일의 악성 코드 여부를 판정하는 악성 코드 자동 판별 장치 및 방법에 관한 것이다.
The present invention relates to an apparatus and method for automatically determining malicious codes. Specifically, the present invention executes a target file to monitor an operation and generate a memory dump image, provide a monitored operation and a memory dump image to an administrator, and receive a dynamic analysis rule and a static analysis rule from the administrator, and monitor the operation. The present invention relates to an automatic malicious code discrimination apparatus and method for determining whether a target file is malicious by comparing the target file or a memory dump image with a static analysis rule.

악성 코드의 수가 기하급수적으로 늘어남에 따라 악성 코드를 진단하고 치료하는 방법, 악성 코드를 탐지하고 차단하는 방법, 악성 코드로부터 시스템을 보호하는 방법 등 악성 코드와 관련된 다양한 기술들이 개발되고 있다. As the number of malicious codes increases exponentially, various technologies related to malicious codes are being developed, including methods for diagnosing and treating malicious codes, detecting and blocking malicious codes, and protecting systems from malicious codes.

종래의 악성 코드 감시 프로그램에 따르면, 기존에 발생한 악성 코드의 샘플을 수집하여 악성 코드의 특징이 되는 일정한 문자열을 추출하고, 문자열이 특정 컴퓨터의 파일 등에 존재하는지 여부를 이용하여 악성 코드에 감염 되었는지 여부를 판단하였다. According to the conventional malicious code monitoring program, a sample of existing malicious code is collected to extract a constant character string that characterizes the malicious code, and whether the character string is infected by using whether or not the character string exists in a specific computer file or the like. Judged.

이 경우, 새로운 악성 코드가 발견되면, 새로운 악성 코드를 파악하고 특징이 되는 문자열 을 추출하여 이를 반영한 악성 코드 감시 프로그램이 개발되어야 했으므로, 새로운 악성 코드와 관련된 정보가 악성 코드 감시 프로그램에 추가되기 전에는 새로운 악성 코드에 대한 대비가 불가능하여, 새로운 악성 코드에 대한 피해를 막을 수 없는 문제점이 있었다. 또한, 악성 코드의 종류가 증가함에 따라서 악성 코드의 특징이 되는 문자열의 종류도 비례하여 증가하고, 많은 수의 악성 코드를 검사하기 위해서는 각각의 문자열을 구비해야 하는 단점이 있었다. 또한, 악성 코드 감시 프로그램이 악성 코드와 관련된 문자열이 존재하는지 여부를 검사하는 과정에서 소요되는 시간도 증가할 수 밖에 없었다. In this case, when a new malicious code is found, a malicious code monitoring program has to be developed that identifies the new malicious code, extracts the characteristic strings, and reflects the new character string. Since it is impossible to prepare for malicious code, there is a problem that can not prevent damage to new malicious code. In addition, as the types of malicious codes increase, the types of strings that characterize the malicious codes also increase proportionally, and each string has to be provided to check a large number of malicious codes. In addition, the time required for the malicious code monitoring program to check whether there is a string related to the malicious code also increases.

이러한 문제점을 해결하기 위해서 대상 코드의 행동을 이용하여 대상 코드가 정상 코드인지, 악성 코드인지 여부를 판단하는 프로그램이 개발되었다. In order to solve this problem, a program for determining whether a target code is a normal code or a malicious code using a behavior of the target code has been developed.

이와 관련하여, 대상 코드 실행 시 네트워크 트래픽을 일정 수준 이상으로 발생시키는 네트워크 트래픽 특성을 모니터링하여 메모리에 저장된 악성 코드의 호출 특성과 비교함으로써 대상 코드의 악성 코드 여부를 결정하는 방법이 있으나, 상기 방법은 네트워크 기반의 특징만으로 악성 여부를 판단할 수 있으며 네트워크 증상이 없는 파일에 대해서는 악성 여부를 판단할 수 없는 문제점이 있다. In this regard, there is a method of determining whether the target code is malicious by monitoring the network traffic characteristic that generates network traffic at a predetermined level or more when the target code is executed and comparing it with the calling characteristic of the malicious code stored in the memory. There is a problem in that it is possible to determine whether it is malicious only based on network-based features, and that it cannot determine whether it is malicious for files without network symptoms.

또한, 악성 코드로 알려진 코드에 의해 발생하는 모든 행위의 조합으로 예측 패턴을 생성하고 대상 코드를 실행하여 예측 패턴과 동일한 행위를 수행하는지 여부를 판단함으로써 악성 여부를 판단하는 방법이 있으나, 이는 패턴의 복잡성으로 인하여 완전히 동일한 행위를 갖는 대상 코드 외에는 악성 코드로 판단하기 어려운 문제점이 있다.
In addition, there is a method of determining whether or not malicious by generating a predictive pattern by combining all the actions generated by the code known as malicious code and executing the target code to determine whether the same behavior as the predictive pattern is performed. Due to the complexity, there is a problem that cannot be judged as malicious code except the target code having the exact same behavior.

대상 파일의 모니터링된 동작과 메모리 덤프 이미지를 관리자에게 제공하고 관리자로부터 악성 코드의 실행 시 나타나는 동작의 조합을 정의한 동적분석 룰 및 악성 코드에 포함된 문자열 및 바이너리 데이터를 정의한 정적분석 룰을 제공받아 대상 코드의 악성 코드 여부를 판정함으로써 기하 급수적으로 늘어나는 악성 코드의 샘플을 모두 분석하지 않더라도 새로운 악성 코드를 자동으로 분류하고 판별할 수 있게 하여 처리율, 분석량 및 대응력을 증가시킨 악성 코드 자동 판별 장치 및 방법을 제공하는 것을 목적으로 한다.
It provides the administrator with the monitored behavior of the target file and the memory dump image, and the administrator is provided with the dynamic analysis rule that defines the combination of the behavior that appears when the malicious code is executed, and the static analysis rule that defines the string and binary data included in the malicious code. Device and method for automatically identifying malicious code that increases throughput, analysis, and responsiveness by automatically classifying and discriminating new malicious code without analyzing all samples of exponentially increasing malicious code by determining whether the code is malicious code The purpose is to provide.

상기 목적을 달성하기 위하여 본 발명의 일 측면은, 대상 파일을 실행하여 동작을 모니터링하고 메모리를 덤프하여 메모리 덤프 이미지를 생성하는 동적 감시부, 대상 파일의 모니터링된 동작을 동적분석 룰과 비교하여 대상 파일의 악성 코드 여부를 판정하는 동적 분석부, 대상 파일 또는 메모리 덤프 이미지를 정적분석 룰과 비교하여 대상 파일의 악성 코드 여부를 판정하는 정적 분석부, 대상 파일의 모니터링된 동작 및 메모리 덤프 이미지를 포함하는 정보를 저장하는 데이터베이스, 및 데이터베이스에 저장된 정보를 관리자에게 제공하고 관리자로부터 동적분석 룰 및 정적분석 룰을 제공받는 서버를 포함하고, 동적분석 룰은 악성 코드의 실행 시 나타나는 동작의 조합을 정의한 룰이고, 정적분석 룰은 악성 코드에 포함된 문자열 및 바이너리 데이터를 정의한 룰인 악성 코드 자동 판별 장치를 제공한다. In order to achieve the above object, an aspect of the present invention provides a dynamic monitoring unit that executes a target file to monitor an operation and dumps a memory to generate a memory dump image, and compares the monitored operation of the target file with a dynamic analysis rule. Dynamic analysis unit for determining whether the file is malicious code, static analysis unit for determining whether the target file is malicious code by comparing the target file or memory dump image with the static analysis rule, the monitored operation of the target file and memory dump image And a server for providing information stored in the database to the administrator and receiving a dynamic analysis rule and a static analysis rule from the administrator. The dynamic analysis rule defines a combination of actions that appear when the malicious code is executed. The static analysis rule is used to detect strings and binary data contained in malicious code. It provides a device for automatically identifying malicious codes that defines data.

또한, 상기 동적 감시부는 파일 감시부, 네트워크 감시부, 프로세스 감시부, 레지스트리 감시부, 커널 감시부 및 API(Application Programming Interface) 감시부를 포함하는 그룹 중 하나 이상을 포함하는 악성 코드 자동 판별 장치를 제공한다. In addition, the dynamic monitoring unit provides a malicious code automatic detection device including at least one of a group comprising a file monitoring unit, network monitoring unit, process monitoring unit, registry monitoring unit, kernel monitoring unit and API (Application Programming Interface) monitoring unit. do.

또한, 상기 데이터베이스는 대상 파일의 모니터링된 동작을 재가공하여 생성된 로그를 포함하는 정보를 저장하는 악성 코드 자동 판별 장치를 제공한다. In addition, the database provides a device for automatically determining malicious code, which stores information including a log generated by reprocessing a monitored operation of a target file.

또한, 상기 동적분석 룰 및 상기 정적분석 룰은 주기적으로 업데이트되는 악성 코드 자동 판별 장치를 제공한다.In addition, the dynamic analysis rule and the static analysis rule provides a malicious code automatic determination device that is updated periodically.

또한, 상기 동적 분석부는 대상 파일의 모니터링된 동작이 동적분석 룰에 정의된 동작을 포함하는 경우 대상 파일을 악성 코드로 판정하고, 상기 정적 분석부는 대상 파일 또는 메모리 덤프 이미지가 정적분석 룰에 정의된 문자열 또는 바이너리 데이터를 포함하는 경우 대상 파일을 악성 코드로 판정하는 악성 코드 자동 판별 장치를 제공한다. The dynamic analyzer may determine the target file as malicious code when the monitored operation of the target file includes an action defined in the dynamic analysis rule, and the static analyzer may determine that the target file or the memory dump image is defined in the static analysis rule. In the case of including string or binary data, an apparatus for automatically determining malicious code for determining a target file as malicious code is provided.

또한, 상기 동적 감시부는 대상 파일의 슬립(Sleep) 함수를 후킹하여 대상 파일의 동작을 앞당기는 악성 코드 자동 판별 장치를 제공한다. In addition, the dynamic monitoring unit provides an automatic malicious code discrimination apparatus that advances the operation of the target file by hooking a sleep function of the target file.

또한, 파일을 수집하는 샘플 수집부, 샘플 수집부에서 수집된 파일에 ID를 부여하는 샘플 접수부, 및 샘플 접수부에서 ID 가 부여된 파일의 포맷을 분류하고, 1차적으로 악성 코드 필터링을 수행하여 대상 파일을 생성하는 전처리부를 더 포함하는 악성 코드 자동 판별 장치를 제공한다. In addition, a sample collecting unit for collecting files, a sample receiving unit for assigning an ID to a file collected by the sample collecting unit, and a format of a file to which an ID is assigned at the sample receiving unit are classified, and malicious code filtering is performed first. It provides a malicious code automatic identification device further comprising a preprocessing unit for generating a file.

또한, 상기 동적 분석부 또는 상기 정적 분석부에서 악성 코드로 판정된 대상 파일에 대해 해시(Hash) 값을 추출하는 분류부를 더 포함하는 악성 코드 자동 판별 장치를 제공한다. In addition, the dynamic analysis unit or the static analysis unit provides a malicious code automatic identification device further comprises a classification unit for extracting a hash (Hash) value for the target file determined as malicious code.

또한, 상기 데이터 베이스는 전처리부, 동적 감시부, 동적 분석부, 정적 분석부 및 분류부로부터의 데이터를 저장하는 악성 코드 자동 판별 장치를 제공한다. In addition, the database provides an automatic malicious code discrimination apparatus that stores data from the preprocessor, the dynamic monitoring unit, the dynamic analysis unit, the static analysis unit, and the classification unit.

또한, 상기 목적을 달성하기 위하여 본 발명의 일 측면은, 대상 파일을 실행하여 동작을 모니터링하고 메모리를 덤프하여 메모리 덤프 이미지를 생성하는 동적 감시 단계, 대상 파일의 모니터링된 동작을 동적분석 룰과 비교하여 대상 파일의 악성 코드 여부를 판정하는 동적 분석 단계, 및 대상 파일 또는 메모리 덤프 이미지를 정적분석 룰과 비교하여 대상 파일의 악성 코드 여부를 판정하는 정적 분석 단계를 포함하고, 대상 파일의 모니터링된 동작 및 메모리 덤프 이미지를 포함하는 정보는 데이터베이스에 저장되고, 데이터베이스에 저장된 정보는 관리자에게 제공되고, 관리자로부터 제공된 동적분석 룰은 악성 코드의 실행 시 나타나는 동작의 조합을 정의한 룰이고, 관리자로부터 제공된 정적분석 룰은 악성 코드에 포함된 문자열 및 바이너리 데이터를 정의한 룰인 악성 코드 자동 판별 방법을 제공한다. In addition, in order to achieve the above object, an aspect of the present invention, a dynamic monitoring step of executing the target file to monitor the operation and dump the memory to generate a memory dump image, comparing the monitored operation of the target file with the dynamic analysis rule A dynamic analysis step of determining whether the target file is malicious code, and a static analysis step of comparing the target file or memory dump image with the static analysis rule to determine whether the target file is malicious code, and the monitored operation of the target file. And information including a memory dump image is stored in a database, the information stored in the database is provided to an administrator, and the dynamic analysis rule provided by the administrator is a rule defining a combination of actions that appear when the malicious code is executed. Rules contain strings and binaries contained in malware It provides rulin malware automatically determine how to define the data.

또한, 상기 동적 감시 단계는, 파일, 네트워크, 프로세스, 레지스트리, 커널 및 API(Application Programming Interface)를 포함하는 그룹 중 하나 이상을 감시하는 단계를 포함하는 악성 코드 자동 판별 방법을 제공한다. In addition, the dynamic monitoring step provides a method for automatically determining malicious code including monitoring at least one of a group including a file, a network, a process, a registry, a kernel, and an application programming interface (API).

또한, 상기 데이터베이스는 대상 파일의 모니터링된 동작을 재가공하여 생성된 로그를 포함하는 정보를 저장하는 악성 코드 자동 판별 방법을 제공한다. In addition, the database provides a method for automatically determining malicious code that stores information including a log generated by reprocessing a monitored operation of a target file.

또한, 상기 동적분석 룰 및 상기 정적분석 룰은 주기적으로 업데이트되는 악성 코드 자동 판별 방법을 제공한다. In addition, the dynamic analysis rule and the static analysis rule provides a method for automatically determining malicious code that is periodically updated.

또한, 상기 동적 분석 단계는, 대상 파일의 모니터링된 동작이 동적분석 룰에 정의된 동작을 포함하는 경우 대상 파일을 악성 코드로 판정하는 단계를 포함하고, 상기 정적 분석 단계는, 대상 파일 또는 메모리 덤프 이미지가 정적분석 룰에 정의된 문자열 또는 바이너리 데이터를 포함하는 경우 대상 파일을 악성 코드로 판정하는 단계를 포함하는 악성 코드 자동 판별 방법을 제공한다. In addition, the dynamic analysis step includes determining the target file as malicious code when the monitored operation of the target file includes an operation defined in the dynamic analysis rule, and the static analysis step includes a target file or a memory dump. If the image contains a character string or binary data defined in the static analysis rule provides a method for automatically determining malicious code comprising the step of determining the target file as malicious code.

또한, 상기 동적 감시 단계는, 대상 파일의 슬립(Sleep) 함수를 후킹하여 대상 파일의 동작을 앞당기는 단계를 포함하는 악성 코드 자동 판별 방법을 제공한다. In addition, the dynamic monitoring step provides a method for automatically determining malicious code including hooking a sleep function of a target file to accelerate the operation of the target file.

또한, 상기 동적 감시 단계 이전에, 파일을 수집하는 샘플 수집 단계, 수집된 파일에 ID를 부여하는 샘플 접수 단계. 및 ID 가 부여된 파일의 포맷을 분류하고, 1차적으로 악성 코드 필터링을 수행하여 대상 파일을 생성하는 전처리 단계를 더 포함하는 악성 코드 자동 판별 방법을 제공한다. Further, before the dynamic monitoring step, a sample collection step of collecting a file, a sample receiving step of assigning an ID to the collected file. And a preprocessing step of classifying the format of the file to which the ID is assigned and first performing malicious code filtering to generate a target file.

또한, 상기 동적 분석 단계 또는 상기 정적 분석 단계에서 악성 코드로 판정된 대상 파일에 대해 해시(Hash) 값을 추출하는 분류 단계를 더 포함하는 악성 코드 자동 판별 방법을 제공한다.The present invention also provides an automatic malicious code discrimination method further comprising a classification step of extracting a hash value for a target file determined as malicious code in the dynamic analysis step or the static analysis step.

본 발명에 따르면, 기하 급수적으로 늘어나는 악성 코드의 샘플을 모두 분석하지 않더라도 새로운 악성 코드를 자동으로 분류하고 판별할 수 있는 효과가 있다. According to the present invention, it is possible to automatically classify and discriminate new malicious code even without analyzing all the samples of the exponentially increasing malicious code.

또한, 동적 데이터가 없는 대상 코드의 경우에도 정적 분석을 통하여 악성 코드 판별을 할 수 있으며, 은폐 및 인젝션 기법을 사용하는 악성 코드의 판별도 가능하다.In addition, even in the case of target code without dynamic data, malicious code can be identified through static analysis, and malicious code using concealment and injection techniques can be determined.

또한, 실행 시 동작이 즉시 발생하지 않고 일정 시간 후에 발생되는 악성 코드의 경우에도 슬립(Sleep) 함수를 후킹하여 동작을 앞당김으로써 보다 신속하게 악성 코드 판별이 가능하게 하여, 처리율, 분석량 및 대응력을 증가시킨 악성 코드 자동 판별 장치 및 방법을 제공할 수 있다.
In addition, even in the case of malicious code that does not immediately occur during execution but occurs after a certain time, it is possible to identify malicious code more quickly by hooking a sleep function to advance the operation, thereby enabling throughput, analytical amount, and responsiveness. It is possible to provide an apparatus and method for automatically determining malicious code having increased.

도 1은 본 발명의 일 실시 예에 따른 악성 코드 자동 판별 장치를 나타낸 것이다.
도 2 는 본 발명의 일 실시 예에 따른 악성 코드 자동 판별 장치를 나타낸 것이다.
도 3 은 본 발명의 일 실시 예에 따른 악성 코드 자동 판별 방법의 흐름도를 나타낸 것이다.
도 4 는 본 발명의 일 실시 예에 따른 대상 파일의 동작을 모니터링하는 방법의 흐름도를 나타낸 것이다.
도 5 는 본 발명의 일 실시 예에 따른 악성 코드 자동 판별 방법의 흐름도를 나타낸 것이다.
1 illustrates an apparatus for automatically determining malicious code according to an embodiment of the present invention.
2 shows an apparatus for automatically determining malicious code according to an embodiment of the present invention.
3 is a flowchart illustrating a method for automatically determining malicious codes according to an embodiment of the present invention.
4 is a flowchart illustrating a method of monitoring an operation of a target file according to an embodiment of the present invention.
5 is a flowchart illustrating a method for automatically determining malicious codes according to an embodiment of the present invention.

이하 첨부된 도면을 참조하여 본 발명의 실시 예를 상세히 설명한다. 하기에서 본 발명을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following description of the present invention, if it is determined that a detailed description of a known function or configuration may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted. The following terms are defined in consideration of the functions of the present invention, and may be changed according to the intentions or customs of the user, the operator, and the like. Therefore, the definition should be based on the contents throughout this specification.

도 1은 본 발명의 일 실시 예에 따른 악성 코드 자동 판별 장치를 나타낸 것이다. 도 1의 악성 코드 자동 판별 장치는 동적 감시부(110), 동적 분석부(120), 정적 분석부(130) 및 데이터베이스(140)를 포함한다. 또한, 동적 감시부(110)는 파일 감시부(110a), 네트워크 감시부(110b), 프로세스 감시부(110c), 레지스트리 감시부(110d), 커널 감시부(110e) 및 API(Application Programming Interface) 감시부(110f)를 포함한다.1 illustrates an apparatus for automatically determining malicious code according to an embodiment of the present invention. The automatic malicious code discrimination apparatus of FIG. 1 includes a dynamic monitoring unit 110, a dynamic analysis unit 120, a static analysis unit 130, and a database 140. In addition, the dynamic monitoring unit 110 includes a file monitoring unit 110a, a network monitoring unit 110b, a process monitoring unit 110c, a registry monitoring unit 110d, a kernel monitoring unit 110e, and an application programming interface (API). The monitoring unit 110f is included.

본 발명의 일 실시 예에 따르면, 도 1 의 악성 코드 자동 판별 장치로 악성 코드 여부가 판별될 대상 파일(100)이 입력된다. 대상 파일(100)은 동적 감시부(110)로 입력되게 된다. 대상 파일(100)은 파일의 타입, 등록 정보, 사이즈 등의 일반적인 정보가 구해진 후에 동적 감시부(110)로 입력될 수도 있다. 이에 대해서는 도 2 를 참조하여 더 자세히 설명하도록 한다. According to an embodiment of the present disclosure, the target file 100 to determine whether malicious code is input to the automatic malicious code discrimination apparatus of FIG. 1 is input. The target file 100 is input to the dynamic monitoring unit 110. The target file 100 may be input to the dynamic monitoring unit 110 after general information such as a file type, registration information, and size is obtained. This will be described in more detail with reference to FIG. 2.

동적 감시부(110)에서는 대상 파일(100)을 실행하여 대상파일(100)의 동작을 감시하고 대상 파일(100)의 실행 시에 악성 코드 자동 판별 장치의 메모리를 덤프하여 메모리 덤프 이미지를 생성한다. 동적 감시부(110)는 파일 감시부(110a), 네트워크 감시부(110b), 프로세스 감시부(110c), 레지스트리 감시부(110d), 커널 감시부(110e) 및 API(Application Programming Interface) 감시부(110f)를 포함하고, 독립적인 환경에서 대상 파일(100)의 파일 생성/삭제/변경, 프로세스 생성/종료, 레지스트리 생성/변경/삭제, 네트워크 접속/전송/종료, 파일/프로세스/레지스트리 은닉, 시스템 후킹, API 호출 등의 동작을 지정된 시간 동안 모니터링한다. The dynamic monitoring unit 110 executes the target file 100 to monitor the operation of the target file 100 and dumps the memory of the malicious code automatic determination device when the target file 100 is executed to generate a memory dump image. . The dynamic monitoring unit 110 includes a file monitoring unit 110a, a network monitoring unit 110b, a process monitoring unit 110c, a registry monitoring unit 110d, a kernel monitoring unit 110e, and an application programming interface (API) monitoring unit. 110f, file creation / deletion / change, process creation / end, registry creation / change / delete, network connection / transmission / end, file / process / registration concealment of target file 100 in an independent environment, Monitor the behavior of system hooking, API calls, and more for a specified amount of time.

동적 감시부(110)가 감시하는 동작은 상기 동작에 한정되지 않으며, 동적 감시부(110)는 상기 동작 외에 대상 파일(100)의 실행 시 일어나는 모든 동작을 감시할 수 있다. 또한, 일부 대상 파일은 실행 시 동작을 즉시 수행하지 않고 일정 시간(예를 들어, 몇 분 또는 몇 시간) 이후에 동작을 수행하는 경우가 있게 된다. 이 경우 동적 감시부(110)는 대상 파일의 슬립(Sleep) 함수를 후킹하여 해당 대상 파일이 보다 빨리 동작을 수행할 수 있도록 한다. 한편, 지정된 시간 동안 모니터링된 동작 및 메모리 덤프 이미지는 데이터베이스(140)에 저장되고, 지정된 시간 동안 모니터링된 동작은 동적 분석부(120)에 전달되고, 메모리 덤프 이미지는 정적 분석부(130)에 전달된다.The operation monitored by the dynamic monitoring unit 110 is not limited to the above operation, and the dynamic monitoring unit 110 may monitor all operations occurring when the target file 100 is executed in addition to the operation. In addition, some target files may not perform an operation immediately when executed, but may perform an operation after a predetermined time (for example, minutes or hours). In this case, the dynamic monitoring unit 110 hooks a sleep function of the target file so that the target file can operate faster. On the other hand, the operation and memory dump image monitored for a specified time is stored in the database 140, the operation monitored for the specified time is transferred to the dynamic analysis unit 120, the memory dump image is transferred to the static analysis unit 130 do.

우선, 데이터베이스(140)에 저장된 모니터링된 동작 및 메모리 덤프 이미지의 처리 과정에 대하여 이하에서 설명하도록 한다. 데이터베이스(140)는 대상 파일(100)의 모니터링된 동작을 재가공하여 생성된 로그를 저장할 수도 있다. 데이터베이스(140)에 저장된 모니터링된 동작 및 메모리 덤프 이미지는 서버(150)에게 제공될 수 있다. 서버(150)는 모니터링된 동작 및 메모리 덤프 이미지를 포함한 정보를 관리자에게 제공한다. 관리자는 보안 시스템 분야의 전문가로 구성될 수 있다. 관리자는 제공받은 모니터링된 동작 및 메모리 덤프 이미지로부터 악성 코드에서 자주 나타나는 동작의 조합을 정의한 동적분석 룰 및 악성 코드 및 악성 코드 실행 시 메모리 덤프 이미지에서 자주 나타날 수 있는 문자열 및 바이너리 데이터를 정의한 정적분석 룰을 생성한다. First, the monitored operation stored in the database 140 and the processing of the memory dump image will be described below. The database 140 may store a log generated by reprocessing the monitored operation of the target file 100. Monitored operation and memory dump images stored in database 140 may be provided to server 150. The server 150 provides the administrator with information including monitored operations and memory dump images. Administrators can be made up of experts in the field of security systems. Administrators can use dynamic analysis rules that define a combination of behaviors that frequently occur in malicious code from the provided monitored and memory dump images, and static analysis rules that define string and binary data that can frequently appear in memory dump images when malware and malicious code is executed. Create

동적분석 룰은 행동패턴 룰로 지칭될 수도 있으며, 악성 코드의 실행 시 나타나는 동작의 조합을 정의한 룰이다. 예를 들어, 특정 폴더에 파일을 생성하고, 특정 레지스트리에 등록하고, 특정 호스트에 접속하는 3 개의 동작을 패턴 형태로 조합하여 동적분석 룰의 일 형태로 정의할 수 있다. 한편, 정적분석 룰은 스크립트 룰로 지칭될 수도 있으며, 악성 코드 및 메모리 덤프 이미지에서 나타날 수 있는 문자열 및 바이너리 데이터를 정의한 룰이다. The dynamic analysis rule may be referred to as a behavior pattern rule, and defines a combination of actions that appear when the malicious code is executed. For example, three operations of creating a file in a specific folder, registering it in a specific registry, and connecting to a specific host may be combined as a pattern to define a form of dynamic analysis rule. The static analysis rule may be referred to as a script rule and is a rule that defines character strings and binary data that may appear in malicious code and a memory dump image.

동적분석 룰 및 정적분석 룰들이 모여 룰 셋(set)을 형성할 수 있으며 형성된 룰 셋은 다시 서버(150)를 통해 데이터베이스(140)에 저장되게 된다. 즉, 서버(150)로부터 제공된 동적분석 룰 및 정적분석 룰은 데이터베이스(140)에 저장되고, 동적분석 룰 및 정적분석 룰은 각각 동적 분석부(120) 및 정적 분석부(130)에 제공된다. 동적분석 룰 및 정적분석 룰은 주기적으로 업데이트될 수도 있으며, 새로운 대상 파일이 입력될 때마다 변경될 수도 있다. The dynamic analysis rule and the static analysis rule may be gathered to form a rule set, and the formed rule set is stored in the database 140 through the server 150 again. That is, the dynamic analysis rule and the static analysis rule provided from the server 150 are stored in the database 140, and the dynamic analysis rule and the static analysis rule are provided to the dynamic analysis unit 120 and the static analysis unit 130, respectively. The dynamic analysis rule and the static analysis rule may be updated periodically, and may be changed each time a new target file is input.

한편, 동적 분석부(120) 및 정적 분석부(130)로 전달된 모니터링된 동작 및 메모리 덤프 이미지의 처리 과정에 대하여 살펴보면, 동적 분석부(120)에서는 대상 파일(100)의 모니터링된 동작을 데이터베이스(140)로부터 제공받은 동적분석 룰과 비교하여 대상 파일(100)의 악성 코드 여부를 판정한다. 동적 분석부(120)는 동적 감시부(110)로부터 추출된 대상 파일(100)의 다양한 모니터링된 동작에 동적분석 룰이 포함되어 있는지 여부를 검사한다. 예를 들어, 서버(150)로부터 제공된 동적분석 룰이 특정 폴더에 파일을 생성하고, 특정 레지스트리에 등록하고, 특정 호스트에 접속하는 3 개의 동작을 조합한 룰이고, 대상 파일(100)의 모니터링된 동작에 특정 폴더에 파일을 생성하고, 특정 레지스트리에 등록하고, 특정 호스트에 접속하는 동작이 포함되어 있는 경우 대상 파일(100)은 악성 코드로 분류될 수 있다.Meanwhile, referring to the monitoring operation and the process of processing the memory dump image transferred to the dynamic analyzer 120 and the static analyzer 130, the dynamic analyzer 120 may monitor the monitored operation of the target file 100. The malicious code of the target file 100 is determined by comparing with the dynamic analysis rule provided from 140. The dynamic analyzer 120 checks whether the dynamic analysis rule is included in various monitored operations of the target file 100 extracted from the dynamic monitor 110. For example, the dynamic analysis rule provided from the server 150 is a rule that combines three actions of creating a file in a specific folder, registering it in a specific registry, and connecting to a specific host, and monitoring the target file 100. The target file 100 may be classified as a malicious code when the operation includes generating a file in a specific folder, registering the file in a specific registry, and accessing a specific host.

또한, 정적 분석부(130)에서는 대상 파일(100) 및 메모리 덤프 이미지를 정적분석 룰과 비교하여 대상 파일(100)의 악성 코드 여부를 판정한다. 대상 파일(100) 및 메모리 덤프 이미지가 정적분석 룰에 정의된 문자열 또는 바이너리 데이터를 포함하는 경우 대상 파일(100)은 악성 코드로 분류될 수 있다.In addition, the static analyzer 130 determines whether the target file 100 is malicious by comparing the target file 100 and the memory dump image with the static analysis rule. When the target file 100 and the memory dump image include string or binary data defined in the static analysis rule, the target file 100 may be classified as malicious code.

도 1 의 악성 코드 자동 판별는 장치 동적분석 룰 및 정적분석 룰에 기초하여 악성 코드를 식별함으로써, 다양한 형태의 악성 코드를 식별해 낼 수 있다. 또한, 커널 감시부(110e) 및 API 감시부(110f) 를 구비함으로서, 대상 파일(100)의 API 및 커널을 모니터링하여 인젝션된 정보 및 은폐된 정보까지 추출하여 악성 여부를 판정할 수 있으며, 악성 여부를 판정하는 과정에 사용된 대상 파일(100)의 동적 및 정적 정보를 데이터베이스(140)에 기록하고 동적분석 룰 및 정적분석 룰을 생성하는데 이용함으로써, 새로운 형태의 악성 코드가 출현하더라도 간단한 조작으로 신속하고 효율적인 판별을 가능하게 한다.Automatic identification of malicious code of FIG. 1 identifies various types of malicious codes by identifying malicious codes based on device dynamic analysis rules and static analysis rules. In addition, by having a kernel monitoring unit 110e and an API monitoring unit 110f, it is possible to determine whether malicious by extracting the injected information and the concealed information by monitoring the API and the kernel of the target file 100. By using the dynamic and static information of the target file 100 used in the process of determining whether to record in the database 140 and to generate a dynamic analysis rule and static analysis rule, even if a new type of malicious code appears, It allows for quick and efficient determination.

도 2 는 본 발명의 일 실시 예에 따른 악성 코드 자동 판별 장치를 나타낸 것이다. 도 2 의 악성 코드 자동 판별 장치는 샘플 수집부(210), 샘플 접수부(220), 전처리부(230), 프락시(240), 동적 감시부(250), 동적 분석부(270), 정적 분석부(280), 분류부(290), 백업부(300), 데이터베이스(310) 및 서버(320)을 포함한다. 도 2 의 동적 감시부(250), 동적 분석부(270), 정적 분석부(280), 데이터베이스(310) 및 서버(320)는 각각 도 1 의 동적 감시부(110), 동적 분석부(120), 정적 분석부(130), 데이터베이스(140), 서버(150)에 대응된다. 2 shows an apparatus for automatically determining malicious code according to an embodiment of the present invention. The automatic malicious code discrimination apparatus of FIG. 2 includes a sample collector 210, a sample receiver 220, a preprocessor 230, a proxy 240, a dynamic monitor 250, a dynamic analyzer 270, and a static analyzer. 280, a classification unit 290, a backup unit 300, a database 310, and a server 320. The dynamic monitoring unit 250, the dynamic analysis unit 270, the static analysis unit 280, the database 310, and the server 320 of FIG. 2 are the dynamic monitoring unit 110 and the dynamic analysis unit 120 of FIG. 1, respectively. ) Corresponds to the static analysis unit 130, the database 140, and the server 150.

도 2 의 샘플 수집부(210)는 인터넷(200)으로부터 샘플 파일을 수집한다. 샘플 수집부(210)는 해커를 취약성을 가진 위장 서버로 유도한 뒤 해킹 수법이나 해킹 경로를 관찰해 해커를 역추적하는 보안 솔루션인 허니팟(Honeypot) 또는 해킹된 서버 또는 다른 악성 코드 유포 경로로부터 샘플 파일을 수집할 수 있다. 샘플 수집부(210)에서 수집된 파일은 샘플 접수부(220)로 입력된다. The sample collector 210 of FIG. 2 collects sample files from the Internet 200. The sample collection unit 210 guides the hacker to the vulnerable camouflage server and then observes the hacking method or the hacking path to obtain a sample from the honeypot or hacked server or other malicious code dissemination path, which is a security solution that traces back the hacker. You can collect files. The file collected by the sample collection unit 210 is input to the sample receiving unit 220.

샘플 접수부(220)는 앞서 수집된 샘플 파일들에 대해서 데이터베이스 처리를 위해서 고유 ID 를 부여하고,실제 샘플 파일들에 대해서 분석 처리를 시작하게 될 전처리부(230)로 샘플을 입력한다.The sample receiving unit 220 assigns a unique ID for processing the database to the sample files collected above, and inputs the sample to the preprocessor 230 to start the analysis process on the actual sample files.

전처리부(230)는 샘플 접수부(220)로부터 전달받은 샘플 파일에 대해 파일의 포맷에 따른 분류를 수행하고 분류된 샘플 파일 중에서 모니터링할 샘플 파일만을 동적 감시부(250)로 전달 할 수 있다. 예를 들어, 샘플 파일은 EXE 파일, DOC 파일, PDF 파일 등으로 분류될 수 있으며, EXE 파일에 대해서만 모니터링을 하는 경우에 전처리부(230)는 EXE 파일만을 동적 감시부(250)로 전달하게 된다. 또한, 전처리부(230)는 동적 분석부(270) 및 정적 분석부(280)에서 악성 코드 검출을 하기에 앞서 데이터베이스(310)에 저장된 정보에 기초하여 이미 알려진 악성 코드를 1차적으로 필터링할 수 있다. 전처리부(230)에서의 1 차적 악성 코드 필터링에서 샘플 파일이 정상 파일로 판별된 경우 해당 샘플 파일은 백업부(300)에 저장된다. 한편, 전처리부(230)에서 필터링되지 않은 샘플 파일은 동적 감시부(250)의 대상이 되어 동적 감시부(250)에 입력되게 된다. The preprocessor 230 may classify the sample file received from the sample receiver 220 according to the format of the file, and transfer only the sample file to be monitored from the classified sample file to the dynamic monitoring unit 250. For example, the sample file may be classified into an EXE file, a DOC file, a PDF file, and the like. When monitoring only an EXE file, the preprocessor 230 delivers only the EXE file to the dynamic monitoring unit 250. . In addition, the preprocessor 230 may first filter the known malicious code based on the information stored in the database 310 before detecting the malicious code in the dynamic analyzer 270 and the static analyzer 280. have. When the sample file is determined to be a normal file in the primary malicious code filtering in the preprocessor 230, the sample file is stored in the backup unit 300. Meanwhile, the sample file that is not filtered by the preprocessor 230 becomes a target of the dynamic monitor 250 and is input to the dynamic monitor 250.

동적 감시부(250)는 앞서 도 1 과 관련하여 설명한 것과 같이, 대상 파일을 실행하여 대상 파일의 동작을 감시하고 대상 파일의 실행시 메모리를 덤프하여 메모리 덤프 이미지를 생성한다. 동적 감시부(250)는 파일 감시부, 네트워크 감시부, 프로세스 감시부, 레지스트리 감시부, 커널 감시부 및 API감시부를 포함하고, 독립적인 환경에서 대상 파일의 파일 생성/삭제/변경, 프로세스 생성/종료, 레지스트리 생성/변경/삭제, 네트워크 접속/전송/종료, 파일/프로세스/레지스트리 은닉, 시스템 후킹, API 호출 등의 동작을 지정된 시간 동안 모니터링한다. As described above with reference to FIG. 1, the dynamic monitoring unit 250 monitors the operation of the target file by executing the target file and dumps memory when the target file is executed to generate a memory dump image. The dynamic monitoring unit 250 includes a file monitoring unit, a network monitoring unit, a process monitoring unit, a registry monitoring unit, a kernel monitoring unit, and an API monitoring unit, and create / delete / change a file of a target file in an independent environment, and create / process a file. Monitor shutdown, creation / modification / deletion, network connection / transfer / exit, file / process / registry concealment, system hooking, API call etc. for a specified time.

또한, 동적 감시부는 프락시 서버(240)와 연결된다. 프락시 서버(240)는 가상의 연결을 형성하는 역할을 수행한다. 예를 들어, 동적 감시부(250)에서 실행되는 대상 파일이 악성 코드인 경우 해당 악성 코드는 외부 환경으로 공격 패킷을 전송하게 된다. 악성 코드는 이러한 공격 패킷을 통하여 TCP(Transmission Contorol Protocol) 연결을 형성한 후에 다음의 동작을 수행하게 된다. 그러므로, 본 발명의 실시 예에 따른 악성 코드 자동 판별 장치는 프락시 서버(240)를 포함하므로써, 실제 외부 환경으로 공격 패킷을 전송하지 않으면서도 악성 코드와 가상의 TCP 연결을 형성하게 하여 악성 코드의 다음 동작을 모니터링할 수 있게 한다. In addition, the dynamic monitoring unit is connected to the proxy server 240. The proxy server 240 forms a virtual connection. For example, when the target file executed in the dynamic monitoring unit 250 is malicious code, the malicious code transmits the attack packet to the external environment. The malware performs the following operations after establishing a Transmission Control Protocol (TCP) connection through these attack packets. Therefore, the automatic malicious code discrimination apparatus according to an embodiment of the present invention includes a proxy server 240, thereby forming a virtual TCP connection with the malicious code without transmitting the attack packet to the actual external environment, so that the malicious code can be followed by the malicious code. Allows you to monitor the behavior.

한편, 동적 감시부(250)에서 지정된 시간 동안 모니터링된 동작 및 메모리 덤프 이미지는 데이터베이스(310)에 저장되고, 동적 분석부(270) 및 정적 분석부(280)에 전달된다. Meanwhile, the motion and memory dump images monitored for the time designated by the dynamic monitoring unit 250 are stored in the database 310 and transmitted to the dynamic analysis unit 270 and the static analysis unit 280.

우선, 데이터베이스(310)에 저장된 모니터링된 동작 및 메모리 덤프 이미지에 대해 살펴보면, 데이터베이스(310)는 대상 파일(100)의 모니터링된 동작을 재가공하여 생성된 로그를 저장할 수도 있다. 데이터베이스(310)에 저장된 모니터링된 동작 및 메모리 덤프 이미지를 포함한 정보는 서버(320)에게 제공되며 서버(320)는 상기 정보를 관리자에게 제공한다. 관리자는 보안 시스템 분야의 전문가로 구성될 수 있다. 관리자는 제공받은 모니터링된 동작 및 메모리 덤프 이미지로부터 동적분석 룰 및 정적분석 룰을 생성한다. First, referring to the monitored operation and the memory dump image stored in the database 310, the database 310 may store a log generated by reprocessing the monitored operation of the target file 100. Information including the monitored operation and memory dump images stored in the database 310 is provided to the server 320, which provides the information to the administrator. Administrators can be made up of experts in the field of security systems. The administrator generates dynamic analysis rules and static analysis rules from the provided monitored operation and memory dump images.

동적분석 룰은 행동패턴 룰로 지칭될 수도 있으며, 악성 코드의 실행 시 나타나는 동작의 조합을 정의한 룰이다. 한편, 정적분석 룰은 스크립트 룰로 지칭될 수도 있으며, 악성 코드 및 악성 코드의 메모리 덤프 이미지에서 나타날 수 있는 문자열 및 바이너리 데이터를 정의한 룰이다. 동적분석 룰 및 정적분석 룰들이 모여 룰 셋(set)을 형성할 수 있으며 형성된 룰 셋은 다시 서버(320)를 통해 데이터베이스(310)에 저장되게 된다. 즉, 서버(320)로부터 제공된 동적분석 룰 및 정적분석 룰은 데이터베이스(310)에 저장되고, 동적분석 룰 및 정적분석 룰은 각각 동적 분석부(270) 및 정적 분석부(280)에 제공된다. 한편, 데이터베이스(310)에 저장된 정보는 백업부(300)에 저장될 수도 있다.The dynamic analysis rule may be referred to as a behavior pattern rule, and defines a combination of actions that appear when the malicious code is executed. Meanwhile, the static analysis rule may be referred to as a script rule, and defines a string and binary data that may appear in a malicious code and a memory dump image of the malicious code. The dynamic analysis rule and the static analysis rule may be gathered to form a rule set, and the formed rule set is stored in the database 310 through the server 320 again. That is, the dynamic analysis rule and the static analysis rule provided from the server 320 are stored in the database 310, and the dynamic analysis rule and the static analysis rule are provided to the dynamic analysis unit 270 and the static analysis unit 280, respectively. Meanwhile, the information stored in the database 310 may be stored in the backup unit 300.

한편, 동적 분석부(270) 및 정적 분석부(280)는 전문가 시스템(260)으로 지칭될 수 있다. 보안 시스템 분야의 전문가들로 이루어진 관리자로부터 동적분석 룰 및 정적분석 룰을 입력받아서 대상 파일의 악성 여부를 판별하기 때문에 동적 분석부(270) 및 정적 분석부(280)가 전문가 시스템(260)으로 지칭된다. 동적 분석부(270)에서는 대상 파일의 모니터링된 동작을 데이터베이스(310)로부터 제공받은 동적분석 룰과 비교하여 대상 파일의 악성 코드 여부를 판정한다. 또한, 정적 분석부(280)에서는 대상 파일 또는 메모리 덤프 이미지를 정적분석 룰과 비교하여 대상 파일의 악성 코드 여부를 판정한다.Meanwhile, the dynamic analyzer 270 and the static analyzer 280 may be referred to as an expert system 260. The dynamic analysis unit 270 and the static analysis unit 280 are referred to as the expert system 260 because they determine whether the target file is malicious by receiving the dynamic analysis rule and the static analysis rule from an administrator composed of experts in the security system field. do. The dynamic analyzer 270 determines whether the target file is malicious by comparing the monitored operation of the target file with the dynamic analysis rule provided from the database 310. In addition, the static analyzer 280 determines whether the target file is malicious code by comparing the target file or the memory dump image with the static analysis rule.

동적 분석부(270) 및 정적 분석부(280)를 포함하는 전문가 시스템(260)으로부터 악성 코드로 판별된 대상 파일은 분류부(290)로 입력된다. 분류부(290)는 악성 코드에 대해서 해시(Hash) 값을 추출하고 이러한 해시 값을 데이터베이스(310)에 저장함으로서, 다음에 동일한 악성 코드가 대상 파일로 입력되는 경우 전처리부(230)에서 1차적으로 필터링이 될 수 있도록 한다.The target file determined as malicious code from the expert system 260 including the dynamic analyzer 270 and the static analyzer 280 is input to the classification unit 290. The classification unit 290 extracts a hash value for the malicious code and stores the hash value in the database 310, so that the next pre-processing unit 230 firstly performs the same malicious code as a target file. To be filtered.

데이터베이스(310)는 전처리부(230), 동적 감시부(250), 동적 분석부(270), 정적 분석부(280) 및 분류부(280)로부터 각종 정보를 입력받고, 서버(320)로부터 생성된 동적분석 룰 및 정적분석 룰을 포함하는 각종 정보를 전달한다. The database 310 receives various information from the preprocessor 230, the dynamic monitoring unit 250, the dynamic analyzer 270, the static analyzer 280, and the classification unit 280, and generates the information from the server 320. It delivers various information including the dynamic analysis rule and static analysis rule.

한편, 서버(320)는 모니터링된 동작 및 메모리 덤프 이미지를 포함한 정보를 데이터베이스(310)로부터 제공받아 상기 정보를 관리자에게 제공한다. 또한, 관리자로부터 정의된 동적분석 룰 및 정적분석 룰은 다시 서버(320)로 입력되어 데이터베이스(310)를 통해 동적 분석부(270) 및 정적 분석부(280)에 입력될 수 있다.Meanwhile, the server 320 receives the information including the monitored operation and the memory dump image from the database 310 and provides the information to the administrator. Also, the dynamic analysis rule and the static analysis rule defined by the administrator may be input to the server 320 again and input to the dynamic analysis unit 270 and the static analysis unit 280 through the database 310.

백업부(310)는 데이터베이스(310)에 저장된 모니터링된 동작 및 메모리 덤프 이미지를 백업할 수 있으며, 전처리부(230)에서 필터링된 정상 파일을 백업할 수 있고 또한, 분류부(290)에서 출력된 해시 값 및 악성 코드를 백업할 수도 있다.The backup unit 310 may back up the monitored operation and the memory dump image stored in the database 310, may back up the normal file filtered by the preprocessor 230, and may be output from the classification unit 290. You can also back up hash values and malware.

도 3 은 본 발명의 일 실시 예에 따른 악성 코드 자동 판별 방법의 흐름도를 나타낸 것이다. 우선, 단계 S310에서 대상 파일의 동작이 모니터링되어 저장되고 메모리를 덤프하여 메모리 덤프 이미지를 생성한다. 단계 S320에서는 대상 파일의 모니터링된 동작을 동적분석 룰과 비교하여 악성 코드 여부를 판정한다. 대상 파일의 동적분석 룰은 악성 코드의 실행 시 나타나는 동작의 조합을 정의한 룰이며, 대상 파일의 모니터링된 동작이 동적분석 룰에 정의된 동작을 포함하는 경우 대상 파일을 악성 코드로 판정할 수 있다.3 is a flowchart illustrating a method for automatically determining malicious codes according to an embodiment of the present invention. First, in step S310, the operation of the target file is monitored and stored, and the memory is dumped to generate a memory dump image. In step S320, the monitored operation of the target file is compared with the dynamic analysis rule to determine whether the malicious code. The dynamic analysis rule of the target file is a rule that defines a combination of actions that appear when the malicious code is executed. When the monitored operation of the target file includes an action defined in the dynamic analysis rule, the target file may be determined to be malicious code.

단계 S330 에서는 대상파일(100) 또는 메모리 덤프 이미지를 정적분석 룰과 비교하여 악성 코드 여부를 판정한다. 대상 파일의 정적분석 룰은 악성 코드에 포함된 문자열 및 바이너리 데이터를 정의한 룰이며, 메모리 덤프 이미지가 정적분석 룰에 정의된 데이터를 포함하는 경우 대상 파일을 악성 코드로 판정할 수 있다.In step S330, the target file 100 or the memory dump image is compared with the static analysis rule to determine whether the malicious code exists. The static analysis rule of the target file is a rule that defines character strings and binary data included in the malicious code. When the memory dump image includes data defined in the static analysis rule, the target file may be determined as malicious code.

단계 S340 에서는 대상 파일의 모니터링된 동작 및 메모리 덤프 이미지를 데이터베이스에 저장한다. 데이터베이스는 대상 파일의 모니터링된 동작을 재가공하여 생성된 로그의 형태로 저장할 수도 있다. 단계 S350 에서는 데이터베이스에서 저장된 정보를 관리자에게 제공한다. 단계 S360 에서는 관리자로부터 동적분석 룰 및 정적분석 룰을 제공받는다. 동적분석 룰 및 정적분석 룰은 주기적으로 업데이트될 수 있으며, 새로운 대상 파일이 입력되는 경우마다 업데이트될 수도 있다.In operation S340, the monitored operation and the memory dump image of the target file are stored in the database. The database can also be stored in the form of logs generated by reprocessing the monitored behavior of the target file. In step S350, information stored in the database is provided to the administrator. In step S360, a dynamic analysis rule and a static analysis rule are provided by an administrator. The dynamic analysis rule and the static analysis rule may be updated periodically, or may be updated whenever a new target file is input.

도 3 의 악성 코드 자동 판별 방법은 상기 순서에 제한되지 않는다. 단계 S340내지 단계 S360의 대상 파일의 모니터링된 동작 및 메모리 덤프 이미지를 데이터베이스에 저장하고 관리자로부터 동적분석 룰 및 정적분석 룰을 제공받는 과정은 단계 S320 및 S330과 동시에 진행될 수도 있으며, 단계 S320 및 S330에 우선하여 진행될 수도 있다.The automatic malicious code discrimination method of FIG. 3 is not limited to the above sequence. The process of storing the monitored operation and memory dump image of the target file of the step S340 to step S360 in the database and receiving the dynamic analysis rule and the static analysis rule from the administrator may proceed simultaneously with steps S320 and S330, and in step S320 and S330 It may proceed first.

도 4 는 본 발명의 일 실시 예에 따른 대상 파일의 동작을 모니터링하는 방법의 흐름도를 나타낸 것이다. 악성 코드 자동 판별 장치는 악성 코드 여부를 판별할 대상 파일을 입력 받고 대상 파일을 실행시켜 그 동작을 모니터링하여, 모니터링된 동작에 기초하여 대상 파일의 악성 여부를 판별하고, 동적분석 룰을 생성한다. 단계 S410에서는 파일의 생성/삭제/변경을 모니터링한다. 단계 S420에서는 프로세스의 생성/종료를 모니터링한다. 단계 S430 에서는 레지스트리의 생성/변경/삭제를 모니터링한다. 단계 S440에서는 네트워크의 접속/전송/종료를 모니터링한다. 단계S450에서는 파일/프로세스/레지스트리에 은닉된 정보를 모니터링한다. 단계 S460에서는 시스템 후킹을 모니터링한다. 단계 S470에서는 API 호출을 모니터링한다.4 is a flowchart illustrating a method of monitoring an operation of a target file according to an embodiment of the present invention. The automatic malicious code discrimination apparatus receives a target file to determine whether the malicious code is received, executes the target file, monitors its operation, determines whether the target file is malicious based on the monitored operation, and generates a dynamic analysis rule. In step S410, the file creation / deletion / change is monitored. In step S420, the creation / end of the process is monitored. In step S430, the creation / modification / deletion of the registry is monitored. In step S440 monitor the connection / transmission / termination of the network. In step S450, information hidden in the file / process / registry is monitored. In step S460 to monitor the system hooking. In step S470, the API call is monitored.

도 4 의 대상 파일의 동작을 모니터링하는 방법은 상기 순서에 제한되지 않는다. 단계 S410 내지 S470의 모니터링이 동시에 수행될 수도 있으며, 단계 S470에서 단계 S410의 순서로 진행될 수도 있다.The method for monitoring the operation of the target file of FIG. 4 is not limited to the above order. Monitoring of steps S410 to S470 may be performed at the same time, or may proceed to step S410 in step S470.

도 5 는 본 발명의 일 실시 예에 따른 악성 코드 자동 판별 방법의 흐름도를 나타낸 것이다. 우선, 단계 S510에서 샘플 파일을 수집한다. 해커를 취약성을 가진 위장 서버로 유도한 뒤 해킹 수법이나 해킹 경로를 관찰해 해커를 역추적하는 보안 솔루션인 허니팟(Honeypot) 또는 해킹된 서버 또는 다른 악성 코드 유포 경로로부터 샘플 파일을 수집할 수 있다. 다음, 단계 S520에서는 수집된 샘플 파일을 데이터베이스화하기 위하여 ID를 부여한다. 5 is a flowchart illustrating a method for automatically determining malicious codes according to an embodiment of the present invention. First, a sample file is collected in step S510. You can direct hackers to vulnerable fake servers and collect sample files from honeypots or hacked servers or other malicious code distribution paths, a security solution that tracks hackers back by hacking techniques or hacking paths. Next, in step S520, an ID is assigned to database the collected sample file.

다음, 단계 S530에서는 ID가 부여된 샘플 파일의 포맷을 분류하고 1차적으로 악성 코드 필터링을 수행하여 동작이 모니터링될 대상 파일을 생성한다. 예를 들어, 특정 포맷을 갖는 파일의 동작만을 모니터링하는 경우, 특정 포맷을 갖는 파일만이 단계 S540을 수행하게 된다. 또한, 동작을 모니터링하기에 앞서 데이터베이스에 저장된 정보에 기초하여 이미 알려진 악성 코드를 1차적으로 필터링할 수 있다. Next, in step S530, the format of the sample file to which the ID is assigned is classified and the malicious code is filtered first to generate a target file to be monitored. For example, when monitoring only the operation of a file having a specific format, only the file having a specific format performs step S540. In addition, prior to monitoring the operation, the known malicious code may be first filtered based on information stored in the database.

단계 S540에서는 대상 파일의 동작을 모니터링하고 메모리 덤프 이미지를 생성한다. 모니터링된 동작은 해당 대상 파일이 악성 코드인지 여부를 판단하기 위하여 사용되고, 또한 동적분석 룰을 정의하기 위하여 사용된다. 한편, 메모리 덤프 이미지는 대상 파일이 동적 데이터를 갖고 있지 않은 경우 해당 대상 파일이 악성 코드인지 여부를 판단함에 있어서 사용될 수 있다. 일부 대상 파일은 실행 시 동작을 즉시 수행하지 않고 일 정 시간(예를 들어, 몇 분 또는 몇 시간) 이후에 동작을 수행하는 경우가 있게 된다. 이 경우 대상 파일의 슬립(Sleep) 함수를 후킹하여 해당 대상 파일이 보다 빨리 동작을 수행할 수 있도록 한다.In operation S540, the operation of the target file is monitored and a memory dump image is generated. The monitored operation is used to determine whether the target file is malicious code and also to define dynamic analysis rules. Meanwhile, the memory dump image may be used in determining whether the target file is malicious code when the target file does not have dynamic data. Some target files do not perform an action immediately at run time, but rather after some time (for example, minutes or hours). In this case, the target file can execute faster by hooking the sleep function of the target file.

단계 S550에서는 대상 파일의 모니터링된 동작을 동적분석 룰과 비교하여 악성 코드 여부를 판정한다. 예를 들어, 대상 파일의 모니터링된 동작이 동적분석 룰에 정의된 동작을 포함하는 경우 대상 파일을 악성 코드로 판정한다. 단계 S560에서는 대상 파일 또는 메모리 덤프 이미지를 정적분석 룰과 비교하여 악성 코드 여부를 판정한다. 예를 들어, 메모리 덤프 이미지가 정적분석 룰에 정의된 데이터를 포함하는 경우 대상 파일을 악성 코드로 판정한다.In step S550, the monitored operation of the target file is compared with the dynamic analysis rule to determine whether malicious code is present. For example, if the monitored operation of the target file includes the operation defined in the dynamic analysis rule, the target file is determined to be malicious code. In step S560, the target file or the memory dump image is compared with the static analysis rule to determine whether the malicious code exists. For example, if the memory dump image contains data defined in the static analysis rule, the target file is determined as malicious code.

단계 S570에서는 동적분석 룰 또는 정적분석 룰에 의해 악성 코드로 판정된 대상 파일의 해시값을 추출하여, 다음에 동일한 악성 코드가 입력되는 경우 해당 악성 코드의 동작을 모니터링하기에 앞서 필터링할 수 있도록 한다.In step S570, the hash value of the target file determined as the malicious code is extracted by the dynamic analysis rule or the static analysis rule, and when the same malicious code is input next, the filtering may be performed before monitoring the operation of the malicious code. .

본 실시형태의 모듈, 기능 블록들 또는 수단들은 전자 회로, 집적 회로, ASIC (Application Specific Integrated Circuit) 등 공지된 다양한 소자들로 구현될 수 있으며, 각각 별개로 구현되거나 2 이상이 하나로 통합되어 구현될 수 있다.Modules, functional blocks or means of the present embodiment may be implemented in a variety of known elements, such as electronic circuits, integrated circuits, ASICs (Application Specific Integrated Circuit), each may be implemented separately, or two or more may be integrated into one Can be.

이상과 같이 본 발명의 이해를 위하여 그 실시 예를 기술하였으나, 당업자라면 알 수 있듯이, 본 발명은 본 명세서에서 기술된 특정 실시 예에 한정되는 것이 아니라, 본 발명의 범주를 벗어나지 않는 범위 내에서 다양하게 변형, 변경 및 대체될 수 있다. 예를 들어, 문자 대신 기타 LCD 등 디스플레이에 의해 표시될 수 있는 그림, 영상 등에도 본 발명의 기술이 적용될 수 있다. 따라서, 본 발명의 진정한 사상 및 범주에 속하는 모든 변형 및 변경을 특허청구범위에 의하여 모두 포괄하고자 한다.As described above, the embodiments have been described for the understanding of the present invention, but as will be appreciated by those skilled in the art, the present invention is not limited to the specific embodiments described herein, but variously without departing from the scope of the present invention. May be modified, changed and replaced. For example, the technique of the present invention may be applied to a picture, an image, etc., which may be displayed by a display such as an LCD instead of a character. Therefore, it is intended that the present invention cover all modifications and variations that fall within the true spirit and scope of the present invention.

200 : 인터넷 210 : 샘플 수집부
220 : 샘플 접수부 230 : 전처리부
240 : 프락시 250 : 동적 감시부
260 : 전문가 시스템 270 : 동적 분석부
280 : 정적 분석부 290 : 분류부
300 : 백업부 310 : 데이터베이스
320 : 서버
200: Internet 210: sample collector
220: sample receiving unit 230: preprocessing unit
240: proxy 250: dynamic monitoring unit
260 expert system 270 dynamic analysis unit
280: static analysis unit 290: classification unit
300: backup unit 310: database
320: server

Claims (17)

대상 파일을 실행하여 동작을 모니터링하고 메모리를 덤프하여 메모리 덤프 이미지를 생성하는 동적 감시부;
상기 대상 파일의 모니터링된 동작을 동적분석 룰과 비교하여 상기 대상 파일의 악성 코드 여부를 판정하는 동적 분석부;
상기 대상 파일 또는 상기 메모리 덤프 이미지를 정적분석 룰과 비교하여 상기 대상 파일의 악성 코드 여부를 판정하는 정적 분석부;
상기 대상 파일의 모니터링된 동작 및 상기 메모리 덤프 이미지를 포함하는 정보를 저장하는 데이터베이스; 및
상기 데이터베이스에 저장된 정보를 관리자에게 제공하고 상기 관리자로부터 동적분석 룰 및 정적분석 룰을 제공받는 서버를 포함하고,
상기 동적분석 룰은 악성 코드의 실행 시 나타나는 동작의 조합을 정의한 룰이고, 상기 정적분석 룰은 악성 코드에 포함된 문자열 및 바이너리 데이터를 정의한 룰인
악성 코드 자동 판별 장치.
A dynamic monitoring unit that executes a target file to monitor operation and dump a memory to generate a memory dump image;
A dynamic analyzer to determine whether the target file is malicious by comparing the monitored operation of the target file with a dynamic analysis rule;
A static analysis unit to determine whether the target file is malicious code by comparing the target file or the memory dump image with a static analysis rule;
A database storing information including the monitored operation of the target file and the memory dump image; And
A server providing information stored in the database to an administrator and receiving a dynamic analysis rule and a static analysis rule from the administrator,
The dynamic analysis rule is a rule that defines a combination of actions that appear when the malicious code is executed, and the static analysis rule is a rule that defines a string and binary data included in the malicious code.
Malware automatic identification device.
제 1 항에 있어서,
상기 동적 감시부는 파일 감시부, 네트워크 감시부, 프로세스 감시부, 레지스트리 감시부, 커널 감시부 및 API(Application Programming Interface) 감시부를 포함하는 그룹 중 하나 이상을 포함하는
악성 코드 자동 판별 장치.
The method of claim 1,
The dynamic monitoring unit may include one or more of a group including a file monitoring unit, a network monitoring unit, a process monitoring unit, a registry monitoring unit, a kernel monitoring unit, and an application programming interface (API) monitoring unit.
Malware automatic identification device.
제 1 항에 있어서,
상기 데이터베이스는 상기 대상 파일의 모니터링된 동작을 재가공하여 생성된 로그를 포함하는 정보를 저장하는
악성 코드 자동 판별 장치.
The method of claim 1,
The database stores information including a log generated by reprocessing the monitored operation of the target file.
Malware automatic identification device.
제 1 항에 있어서
상기 동적분석 룰 및 상기 정적분석 룰은 주기적으로 업데이트되는
악성 코드 자동 판별 장치.
The method of claim 1
The dynamic analysis rule and the static analysis rule are periodically updated
Malware automatic identification device.
제 1 항에 있어서,
상기 동적 분석부는 상기 대상 파일의 모니터링된 동작이 상기 동적분석 룰에 정의된 동작을 포함하는 경우 상기 대상 파일을 악성 코드로 판정하고,
상기 정적 분석부는 상기 대상 파일 또는 상기 메모리 덤프 이미지가 상기 정적분석 룰에 정의된 문자열 또는 바이너리 데이터를 포함하는 경우 상기 대상 파일을 악성 코드로 판정하는
악성 코드 자동 판별 장치.
The method of claim 1,
The dynamic analyzer determines the target file as malicious code when the monitored operation of the target file includes an operation defined in the dynamic analysis rule,
The static analysis unit determines that the target file is a malicious code when the target file or the memory dump image includes character strings or binary data defined in the static analysis rule.
Malware automatic identification device.
제 1 항에 있어서,
상기 동적 감시부는 상기 대상 파일의 슬립(Sleep) 함수를 후킹하여 상기 대상 파일의 동작을 앞당기는
악성 코드 자동 판별 장치.
The method of claim 1,
The dynamic monitoring unit advances the operation of the target file by hooking a sleep function of the target file.
Malware automatic identification device.
제 1 항에 있어서,
파일을 수집하는 샘플 수집부;
상기 샘플 수집부에서 수집된 파일에 ID를 부여하는 샘플 접수부; 및
상기 샘플 접수부에서 ID 가 부여된 파일의 포맷을 분류하고, 1차적으로 악성 코드 필터링을 수행하여 상기 대상 파일을 생성하는 전처리부를 더 포함하는
악성 코드 자동 판별 장치.
The method of claim 1,
A sample collecting unit collecting a file;
A sample receiving unit for assigning an ID to a file collected by the sample collecting unit; And
The sample receiving unit further includes a pre-processing unit for classifying a format of a file to which an ID is assigned and primarily performing malicious code filtering to generate the target file.
Malware automatic identification device.
제 1 항 또는 제 7 항에 있어서,
상기 동적 분석부 또는 상기 정적 분석부에서 악성 코드로 판정된 대상 파일에 대해 해시(Hash) 값을 추출하는 분류부를 더 포함하는
악성 코드 자동 판별 장치.
The method according to claim 1 or 7,
The classification unit for extracting a hash value for the target file determined to be malicious code in the dynamic analysis unit or the static analysis unit further comprises:
Malware automatic identification device.
제 8 항에 있어서,
상기 데이터 베이스는 상기 전처리부, 상기 동적 감시부, 상기 동적 분석부, 상기 정적 분석부 및 상기 분류부로부터의 데이터를 저장하는
악성 코드 자동 판별 장치.
The method of claim 8,
The database stores data from the preprocessor, the dynamic monitoring unit, the dynamic analysis unit, the static analysis unit, and the classification unit.
Malware automatic identification device.
대상 파일을 실행하여 동작을 모니터링하고 메모리를 덤프하여 메모리 덤프 이미지를 생성하는 동적 감시 단계;
상기 대상 파일의 모니터링된 동작을 동적분석 룰과 비교하여 상기 대상 파일의 악성 코드 여부를 판정하는 동적 분석 단계; 및
상기 대상 파일 또는 상기 메모리 덤프 이미지를 정적분석 룰과 비교하여 상기 대상 파일의 악성 코드 여부를 판정하는 정적 분석 단계를 포함하고,
상기 대상 파일의 모니터링된 동작 및 상기 메모리 덤프 이미지를 포함하는 정보는 데이터베이스에 저장되고, 상기 데이터베이스에 저장된 정보는 관리자에게 제공되고, 상기 관리자로부터 제공된 상기 동적분석 룰은 악성 코드의 실행 시 나타나는 동작의 조합을 정의한 룰이고, 상기 관리자로부터 제공된 상기 정적분석 룰은 악성 코드에 포함된 문자열 및 바이너리 데이터를 정의한 룰인,
악성 코드 자동 판별 방법.
A dynamic monitoring step of executing a target file to monitor operation and dumping a memory to generate a memory dump image;
A dynamic analysis step of determining whether the target file is malicious code by comparing the monitored operation of the target file with a dynamic analysis rule; And
And comparing the target file or the memory dump image with a static analysis rule to determine whether the target file is malicious code.
The information including the monitored operation of the target file and the memory dump image is stored in a database, the information stored in the database is provided to an administrator, and the dynamic analysis rule provided from the administrator is used to determine the behavior that appears upon execution of malicious code. A rule defining a combination, and the static analysis rule provided from the administrator is a rule defining a string and binary data included in malicious code.
How to automatically detect malware.
제 10 항에 있어서,
상기 동적 감시 단계는, 파일, 네트워크, 프로세스, 레지스트리, 커널 및 API(Application Programming Interface)를 포함하는 그룹 중 하나 이상을 감시하는 단계를 포함하는
악성 코드 자동 판별 방법.
The method of claim 10,
The dynamic monitoring step includes monitoring at least one of a group including a file, a network, a process, a registry, a kernel, and an application programming interface (API).
How to automatically detect malware.
제 10 항에 있어서,
상기 데이터베이스는 상기 대상 파일의 모니터링된 동작을 재가공하여 생성된 로그를 포함하는 정보를 저장하는
악성 코드 자동 판별 방법.
The method of claim 10,
The database stores information including a log generated by reprocessing the monitored operation of the target file.
How to automatically detect malware.
제 10 항에 있어서
상기 동적분석 룰 및 상기 정적분석 룰은 주기적으로 업데이트되는
악성 코드 자동 판별 방법.
The method of claim 10
The dynamic analysis rule and the static analysis rule are periodically updated
How to automatically detect malware.
제 10 항에 있어서,
상기 동적 분석 단계는, 상기 대상 파일의 모니터링된 동작이 상기 동적분석 룰에 정의된 동작을 포함하는 경우 상기 대상 파일을 악성 코드로 판정하는 단계를 포함하고,
상기 정적 분석 단계는, 상기 대상 파일 또는 상기 메모리 덤프 이미지가 상기 정적분석 룰에 정의된 문자열 또는 바이너리 데이터를 포함하는 경우 상기 대상 파일을 악성 코드로 판정하는 단계를 포함하는
악성 코드 자동 판별 방법.
The method of claim 10,
The dynamic analysis step includes determining the target file as malicious code when the monitored operation of the target file includes an operation defined in the dynamic analysis rule,
The static analysis step includes determining the target file as malicious code when the target file or the memory dump image includes string or binary data defined in the static analysis rule.
How to automatically detect malware.
제 10 항에 있어서,
상기 동적 감시 단계는, 상기 대상 파일의 슬립(Sleep) 함수를 후킹하여 상기 대상 파일의 동작을 앞당기는 단계를 포함하는
악성 코드 자동 판별 방법.
The method of claim 10,
The dynamic monitoring step includes hooking a sleep function of the target file to speed up the operation of the target file.
How to automatically detect malware.
제 10 항에 있어서,
상기 동적 감시 단계 이전에,
파일을 수집하는 샘플 수집 단계;
상기 수집된 파일에 ID를 부여하는 샘플 접수 단계; 및
상기 ID 가 부여된 파일의 포맷을 분류하고, 1차적으로 악성 코드 필터링을 수행하여 상기 대상 파일을 생성하는 전처리 단계를 더 포함하는
악성 코드 자동 판별 방법.
The method of claim 10,
Prior to the dynamic monitoring step,
A sample collection step of collecting a file;
A sample receiving step of assigning an ID to the collected file; And
The method may further include a preprocessing step of classifying a format of the file to which the ID is assigned and first performing malicious code filtering to generate the target file.
How to automatically detect malware.
제 10 항 또는 제 16 항에 있어서,
상기 동적 분석 단계 또는 상기 정적 분석 단계에서 악성 코드로 판정된 대상 파일에 대해 해시(Hash) 값을 추출하는 분류 단계를 더 포함하는
악성 코드 자동 판별 방법.
The method according to claim 10 or 16,
The method may further include a classification step of extracting a hash value for the target file determined as malicious code in the dynamic analysis step or the static analysis step.
How to automatically detect malware.
KR1020100007762A 2010-01-28 2010-01-28 Apparatus and Method for Automatically Discriminating Malicious Code KR101132197B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100007762A KR101132197B1 (en) 2010-01-28 2010-01-28 Apparatus and Method for Automatically Discriminating Malicious Code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100007762A KR101132197B1 (en) 2010-01-28 2010-01-28 Apparatus and Method for Automatically Discriminating Malicious Code

Publications (2)

Publication Number Publication Date
KR20110088042A true KR20110088042A (en) 2011-08-03
KR101132197B1 KR101132197B1 (en) 2012-04-06

Family

ID=44926713

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100007762A KR101132197B1 (en) 2010-01-28 2010-01-28 Apparatus and Method for Automatically Discriminating Malicious Code

Country Status (1)

Country Link
KR (1) KR101132197B1 (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013125867A1 (en) * 2012-02-21 2013-08-29 주식회사 안랩 Computer system and system for compound rule creation on basis of file and behavior
KR101306656B1 (en) * 2011-12-29 2013-09-10 주식회사 안랩 Apparatus and method for providing dynamic analysis information of malignant code
CN104182688A (en) * 2014-08-26 2014-12-03 北京软安科技有限公司 Android malicious code detection device and method based on dynamic activation and behavior monitoring
JP2016053956A (en) * 2014-09-02 2016-04-14 エスケー インフォセック カンパニー リミテッドSK INFOSEC Co.,Ltd. System and method for detecting web-based malicious codes
WO2016088937A1 (en) * 2014-12-03 2016-06-09 Korea Internet & Security Agency Apparatus, system and method for detecting and preventing malicious scripts using code pattern-based static analysis and api flow-based dynamic analysis
US9621571B2 (en) 2014-09-04 2017-04-11 Electronics And Telecommunications Research Institute Apparatus and method for searching for similar malicious code based on malicious code feature information
KR101880686B1 (en) * 2018-02-28 2018-07-20 에스지에이솔루션즈 주식회사 A malware code detecting system based on AI(Artificial Intelligence) deep learning
KR101968633B1 (en) * 2018-08-27 2019-04-12 조선대학교산학협력단 Method for providing real-time recent malware and security handling service
KR20190091207A (en) * 2018-01-26 2019-08-05 지엘디앤아이에프 주식회사 Separating network system with honeypot

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9413781B2 (en) 2013-03-15 2016-08-09 Fireeye, Inc. System and method employing structured intelligence to verify and contain threats at endpoints

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100870140B1 (en) * 2006-11-13 2008-11-24 한국전자통신연구원 Detection Apparatus and Method of Embedded Malicious Code in File

Cited By (11)

* 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
WO2013125867A1 (en) * 2012-02-21 2013-08-29 주식회사 안랩 Computer system and system for compound rule creation on basis of file and behavior
KR101337217B1 (en) * 2012-02-21 2013-12-05 주식회사 안랩 Computer system, and rule creation system based on file and behavior
CN104182688A (en) * 2014-08-26 2014-12-03 北京软安科技有限公司 Android malicious code detection device and method based on dynamic activation and behavior monitoring
JP2016053956A (en) * 2014-09-02 2016-04-14 エスケー インフォセック カンパニー リミテッドSK INFOSEC Co.,Ltd. System and method for detecting web-based malicious codes
US9621571B2 (en) 2014-09-04 2017-04-11 Electronics And Telecommunications Research Institute Apparatus and method for searching for similar malicious code based on malicious code feature information
WO2016088937A1 (en) * 2014-12-03 2016-06-09 Korea Internet & Security Agency Apparatus, system and method for detecting and preventing malicious scripts using code pattern-based static analysis and api flow-based dynamic analysis
US9680848B2 (en) 2014-12-03 2017-06-13 Korea Internet & Security Agency Apparatus, system and method for detecting and preventing malicious scripts using code pattern-based static analysis and API flow-based dynamic analysis
KR20190091207A (en) * 2018-01-26 2019-08-05 지엘디앤아이에프 주식회사 Separating network system with honeypot
KR101880686B1 (en) * 2018-02-28 2018-07-20 에스지에이솔루션즈 주식회사 A malware code detecting system based on AI(Artificial Intelligence) deep learning
KR101968633B1 (en) * 2018-08-27 2019-04-12 조선대학교산학협력단 Method for providing real-time recent malware and security handling service

Also Published As

Publication number Publication date
KR101132197B1 (en) 2012-04-06

Similar Documents

Publication Publication Date Title
KR101132197B1 (en) Apparatus and Method for Automatically Discriminating Malicious Code
US10218740B1 (en) Fuzzy hash of behavioral results
CN107659583B (en) Method and system for detecting attack in fact
CN109586282B (en) Power grid unknown threat detection system and method
US8181248B2 (en) System and method of detecting anomaly malicious code by using process behavior prediction technique
RU2613535C1 (en) Method for detecting malicious software and elements
US7870612B2 (en) Antivirus protection system and method for computers
US10721245B2 (en) Method and device for automatically verifying security event
US10417420B2 (en) Malware detection and classification based on memory semantic analysis
CN113661693A (en) Detecting sensitive data exposure via logs
CN111274583A (en) Big data computer network safety protection device and control method thereof
US20140053267A1 (en) Method for identifying malicious executables
US20060070130A1 (en) System and method of identifying the source of an attack on a computer network
KR101851233B1 (en) Apparatus and method for detection of malicious threats included in file, recording medium thereof
KR100992434B1 (en) Method for Detecting the file with fraud name and apparatus thereof
CN107547490B (en) Scanner identification method, device and system
WO2016121348A1 (en) Anti-malware device, anti-malware system, anti-malware method, and recording medium in which anti-malware program is stored
CN111464526A (en) Network intrusion detection method, device, equipment and readable storage medium
Gandotra et al. Integrated framework for classification of malwares
CN109800569A (en) Program identification method and device
Abuzaid et al. An efficient trojan horse classification (ETC)
Liu et al. A system call analysis method with mapreduce for malware detection
CN112347484A (en) Software vulnerability detection method, device, equipment and computer readable storage medium
CN114629711B (en) Method and system for detecting special Trojan horse on Windows platform
TWI640891B (en) Method and apparatus for detecting malware

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160328

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170327

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180326

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190326

Year of fee payment: 8