KR101308866B1 - Open type system for analyzing and managing malicious code - Google Patents

Open type system for analyzing and managing malicious code Download PDF

Info

Publication number
KR101308866B1
KR101308866B1 KR1020110143615A KR20110143615A KR101308866B1 KR 101308866 B1 KR101308866 B1 KR 101308866B1 KR 1020110143615 A KR1020110143615 A KR 1020110143615A KR 20110143615 A KR20110143615 A KR 20110143615A KR 101308866 B1 KR101308866 B1 KR 101308866B1
Authority
KR
South Korea
Prior art keywords
malicious code
analysis
behavior
new
environment
Prior art date
Application number
KR1020110143615A
Other languages
Korean (ko)
Other versions
KR20130075300A (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 KR1020110143615A priority Critical patent/KR101308866B1/en
Publication of KR20130075300A publication Critical patent/KR20130075300A/en
Application granted granted Critical
Publication of KR101308866B1 publication Critical patent/KR101308866B1/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
    • G06F21/563Static detection by source code 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/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/561Virus type analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines

Abstract

공개형 악성코드 관리 및 분석 시스템이 개시된다. 악성코드 관리 및 분석 시스템은 입력된 악성코드가 기 분석된 악성코드인지 확인하여 상기 기 분석된 악성코드를 여과하는 악성코드 여과부, 상기 확인된 악성코드가 신종 악성코드인 경우 가상 환경을 이용하여 상기 입력된 신종 악성코드를 실행함으로써 상기 신종 악성코드의 행위를 추출하여 분석 데이터베이스에 저장하는 악성코드 행위 추출부, 상기 신종 악성코드의 행위와 상기 분석 데이터베이스에 기 저장된 악성코드의 행위를 비교함으로써 상기 신종 악성코드의 행위를 분석하는 악성코드 행위 분석부, 악성코드 분석가들이 상기 신종 악성코드의 행위를 분석하기 위한 환경을 제공하는 악성코드 상세 분석부, 상기 분석된 악성코드, 분석할 악성코드 및 분석중인 악성코드 중 적어도 하나의 행위를 표시하고 상기 악성코드의 분석을 요청하며 상기 악성코드의 분석 내용을 표시하는 분석 시스템 인터페이스부 및 상기 신종 악성코드의 행위에 대한 분석을 제어하고 상기 신종 악성코드의 분석 환경을 구성하는 분석 시스템 제어부를 포함할 수 있다.An open malware management and analysis system is disclosed. The malicious code management and analysis system uses a virtual environment to check whether the input malicious code is a previously analyzed malicious code and to filter the previously analyzed malicious code, and when the identified malicious code is a new malicious code. By executing the input new malicious code extracts the behavior of the new malicious code and stores in the analysis database, the malicious code behavior extraction unit, by comparing the behavior of the new malicious code and the behavior of the malicious code previously stored in the analysis database Malware behavior analysis unit for analyzing the behavior of new malicious code, detailed analysis section of the malicious code provides an environment for malicious code analysts to analyze the behavior of the new malicious code, the analyzed malware, the malicious code to analyze and analysis Display at least one action of the malicious code in progress and request the analysis of the malicious code And an analysis system interface unit which displays the analysis contents of the malicious code, and an analysis system controller which controls the analysis of the behavior of the new malicious code and configures the analysis environment of the new malicious code.

Figure R1020110143615
Figure R1020110143615

Description

공개형 악성코드 관리 및 분석 시스템{OPEN TYPE SYSTEM FOR ANALYZING AND MANAGING MALICIOUS CODE}Open malware management and analysis system {OPEN TYPE SYSTEM FOR ANALYZING AND MANAGING MALICIOUS CODE}

본 발명은 실행파일에 포함된 악성코드의 실행 행위를 추출하고 일차적으로 이를 분석하여 저장함으로써 악성코드를 분석할 수 있는 환경과 분석 내용을 제공하는 악성코드 관리 및 분석 시스템에 관한 것이다.The present invention relates to a malicious code management and analysis system that provides an environment and analysis contents for analyzing malicious code by extracting and executing analysis and storing the execution behavior of malicious code included in an executable file.

현재 신종으로 판단되는 악성코드는 전세계적으로 매일 5만건 정도가 발생하고 있으며, 각 보안회사마다 악성코드 분석을 통하여 각각 대응하고 있는 상황이다.Currently, about 50,000 malicious codes are generated every day around the world, and each security company is responding to each other through malicious code analysis.

이러한 악성코드에 대응하기 위한 발명으로서, 한국공개특허공보 제10-2011-0087826호(공개일자 2011년 08월 03일) "가상머신을 이용한 악성소프트웨어 탐지 방법"에는 수신된 전자메일에 첨부파일이 존재하는지 파악하고, 첨부파일이 존재하는 경우 가상머신 상에서 상기 첨부파일을 실행하여 미리 등록된 악성코드에 해당하는지 판단하여 상기 첨부파일이 미리 등록된 악성코드가 아닌 경우 상기 첨부파일의 실행에 따른 행동을 분석하여 이를 악성코드로 분류할 것인지를 분석하는 것이 기재되어 있다.As an invention for coping with such malicious codes, Korean Patent Publication No. 10-2011-0087826 (published Aug. 03, 2011) "Malicious software detection method using a virtual machine" includes an attachment to a received e-mail. Determine whether the file exists, and if the file exists, determine whether the file corresponds to a pre-registered malicious code by executing the file on a virtual machine. Analyzing whether to classify it as malicious code is described.

그러나, 이러한 방법은 전자메일에 첨부된 파일로 인해 사용자의 컴퓨터가 악성코드에 감염되지 않도록 탐지할 수는 있지만, 상기 악성코드가 신종 악성코드일 경우 이를 분석하는 분석가들의 수고를 덜어줄 수는 없다는 문제점이 있다. 따라서, 신종 악성코드의 수가 증가함에 따라 각 보안회사의 인력규모에 비해 분석해야 할 악성코드의 수는 점점 증가하는 추세에 있기 때문에 인력과 악성코드 수와의 차이는 점점 벌어지고 있다.However, while this method can detect that the file attached to the e-mail does not infect the user's computer, it cannot reduce the effort of analysts who analyze the malware if it is new. There is a problem. Therefore, as the number of new malicious codes increases, the number of malicious codes to analyze is increasing compared to the size of each security company's workforce.

이러한 악성코드의 수와 분석가의 수 간의 차이를 극복하기 위해 분석 기법에 대한 연구가 이루어지고 있으며, 이는 크게 정적 분석과 동적 분석으로 구분될 수 있다. 정적 분석의 경우 실행압축 및 암호화, 난독화 기술로 인하여 분석이 어려운 상황이다. 따라서, 동적 분석을 통하여 자동으로 분석하는 연구가 많이 진행되었으나 이는 정적 분석에 비하여 코드를 실행시키는 부분이 작아 악성행위를 놓치는 단점이 있으며, 동적 분석 중 시스템 콜을 통하여 자동으로 분석하는 경우 한 가지 행위를 함에 있어서 다양한 시스템 콜을 통하여 달성할 수 있으므로 시스템 콜을 이용한 분석 방법에는 한계가 있다.In order to overcome the difference between the number of malicious codes and the number of analysts, researches on analysis techniques are being conducted, which can be classified into static analysis and dynamic analysis. Static analysis is difficult due to execution compression, encryption, and obfuscation techniques. Therefore, many researches have been conducted to analyze automatically through dynamic analysis. However, the code execution is smaller than that of static analysis, which leads to the disadvantage of missing malicious behaviors. As can be achieved through a variety of system calls in the analysis method using the system call is limited.

이에 따라 시스템 콜을 이용하는 분석하는 한계를 극복하기 위해 행위분석을 통한 분석하는 방법이 연구되고 있다. 행위 분석의 경우 악성코드가 하는 행위를 관찰하여 로그를 남기고 행위 로그를 분류기나 클러스터링을 통하여 분류함으로써 악성코드 분석 과정을 단축화 시키고 있다.Accordingly, in order to overcome the limitation of analyzing using a system call, a method of analyzing through behavior analysis has been studied. In the case of behavior analysis, the process of malicious code analysis is shortened by observing the behavior of malicious code, leaving a log, and classifying the behavior log through a classifier or clustering.

분석 자동화 기술의 발전으로 인하여 많은 부분이 자동화가 이루어지고 있지만, 아직 그 정확도는 신뢰할 만한 수준이 되지 못한다. 결국 악성코드를 분석하기 위하여 분석가의 개입은 필수적이나, 악성코드 수에 비하여 분석할 수 있는 인력은 제한적인 상황이다. 하지만 회사마다 독립적으로 분석함으로써 악성코드의 중복 분석을 초래해 인력낭비를 발생시키고 있다.Although advances in analytical automation technology make much of the automation possible, its accuracy is not yet reliable. In the end, the involvement of analysts is necessary to analyze malicious code, but the number of human resources that can be analyzed is limited compared to the number of malicious codes. However, analyzing each company independently causes duplicate analysis of malicious code, causing labor waste.

입력된 악성코드가 기 분석된 악성코드인지 신종 악성코드인지를 판단하여 기 분석된 악성코드를 여과하고 분석 DB(Date Base)에 저장함으로써 악성코드의 중복 분석을 방지할 수 있는 공개형 악성코드 관리 및 분석 시스템이 개시된다.Open malware management that can prevent duplicate analysis of malware by filtering the analyzed malware and storing it in the analysis DB (Date Base) by determining whether the input malicious code is pre-analyzed or new malicious code. And an analysis system.

악성코드 분석 DB에 저장된 분석내용과 이미 분석된 악성코드와의 행위 유사도를 비교함으로써 이미 분석된 악성코드 분석 내용을 이용하여 새로운 악성코드 분석 절차를 간편화할 수 있는 공개형 악성코드 관리 및 분석 시스템이 개시된다.Malware Analysis By analyzing the behavioral similarity between the analysis contents stored in the DB and the already analyzed malware, an open malware management and analysis system that can simplify the process of analyzing new malware using the analysis of malware analysis. Is initiated.

자동으로 악성코드의 행위 분석을 수행함으로써 분석가들이 행위 분석을 하는 시간을 단축시키고, 악성코드 및 분석자료를 공유함으로써 분석에 드는 시간과 노력을 줄이고, 효율성을 높일 수 있는 공개형 악성코드 관리 및 분석 시스템이 개시된다.Open malware management that analyzes behaviors of malicious code automatically, reducing the time for analysts to analyze behaviors, and reducing the time and effort required for analysis by sharing malware and analysis data. The system is disclosed.

악성코드 관리 및 분석 시스템은 입력된 악성코드가 기 분석된 악성코드인지 확인하여 상기 기 분석된 악성코드를 여과하는 악성코드 여과부, 상기 확인된 악성코드가 신종 악성코드인 경우 가상 환경을 이용하여 상기 입력된 신종 악성코드를 실행함으로써 상기 신종 악성코드의 행위를 추출하여 분석 데이터베이스에 저장하는 악성코드 행위 추출부, 상기 신종 악성코드의 행위와 상기 분석 데이터베이스에 기 저장된 악성코드의 행위를 비교함으로써 상기 신종 악성코드의 행위를 분석하는 악성코드 행위 분석부, 악성코드 분석가들이 상기 신종 악성코드의 행위를 분석하기 위한 환경을 제공하는 악성코드 상세 분석부, 상기 분석된 악성코드, 분석할 악성코드 및 분석중인 악성코드 중 적어도 하나의 행위를 표시하고 상기 악성코드의 분석을 요청하며 상기 악성코드의 분석 내용을 표시하는 분석 시스템 인터페이스부 및 상기 신종 악성코드의 행위에 대한 분석을 제어하고 상기 신종 악성코드의 분석 환경을 구성하는 분석 시스템 제어부를 포함할 수 있다.The malicious code management and analysis system uses a virtual environment to check whether the input malicious code is a previously analyzed malicious code and to filter the previously analyzed malicious code, and when the identified malicious code is a new malicious code. By executing the input new malicious code extracts the behavior of the new malicious code and stores in the analysis database, the malicious code behavior extraction unit, by comparing the behavior of the new malicious code and the behavior of the malicious code previously stored in the analysis database Malware behavior analysis unit for analyzing the behavior of new malicious code, detailed analysis section of the malicious code provides an environment for malicious code analysts to analyze the behavior of the new malicious code, the analyzed malware, the malicious code to analyze and analysis Display at least one action of the malicious code in progress and request the analysis of the malicious code And an analysis system interface unit which displays the analysis contents of the malicious code, and an analysis system controller which controls the analysis of the behavior of the new malicious code and configures the analysis environment of the new malicious code.

일측에 따르면, 상기 악성코드 여과부는 상기 입력된 악성코드의 해쉬값을 계산하여 상기 분석 데이터베이스에 기 저장된 분석 정보 및 백신과 비교함으로써 상기 기 분석된 악성코드를 여과할 수 있다.According to one side, the malicious code filtering unit may calculate the hash value of the input malicious code to filter the pre-analyzed malicious code by comparing with the analysis information and vaccine previously stored in the analysis database.

다른 측면에 따르면, 상기 악성코드 행위 추출부는 컴퓨터 하드웨어장치, 커널, 악성코드를 상기 가상 환경에서 실행시키고 제어하는 가상 시스템 제어 프로그램, 상기 악성코드가 실행되는 가상 시스템 및 상기 가상 시스템에서 발생하는 운영체제 객체의 행위를 관찰하고 저장하는 행위 모니터를 포함할 수 있다.According to another aspect, the malicious code activity extracting unit is a computer hardware device, a kernel, a virtual system control program for executing and controlling a malicious code in the virtual environment, a virtual system on which the malicious code is executed, and an operating system object generated in the virtual system. It may include a behavior monitor for observing and storing the behavior of.

또 다른 측면에 따르면, 상기 가상 시스템 제어 프로그램은 상기 입력된 악성코드를 가상화 모듈 인터페이스를 통해 상기 가상 시스템 내의 각각 다른 환경에서 실행시키고, 상기 입력된 악성코드의 동작이 끝나면 상기 가상 시스템을 상기 입력된 악성코드가 실행되기 전의 환경으로 되돌리는 프로그램일 수 있다.According to another aspect, the virtual system control program executes the input malicious code in a different environment in the virtual system through a virtualization module interface, and when the operation of the input malicious code is finished, the virtual system is entered It may be a program that returns to the environment before the malicious code was executed.

또 다른 측면에 따르면, 상기 행위 모니터는 상기 운영체제 객체에 대하여 일어나는 연산을 모니터링하여 로그 파일로 저장할 수 있다.According to another aspect, the behavior monitor may monitor the operation occurring on the operating system object and store it in a log file.

또 다른 측면에 따르면, 상기 운영체제 객체는 프로세스, 메모리, 파일, 레지스트리, 네트워크 및 시스템콜 중 적어도 하나일 수 있다.According to another aspect, the operating system object may be at least one of a process, a memory, a file, a registry, a network, and a system call.

또 다른 측면에 따르면, 상기 가상 시스템은 실제 컴퓨터 환경 안에서 가상 컴퓨터 환경을 구성하는 가상화 모듈 인터페이스를 통해 각각 다른 커널과 실행환경에서 상기 악성코드를 실행할 수 있다.According to another aspect, the virtual system may execute the malicious code in different kernels and execution environments through a virtualization module interface constituting the virtual computer environment in a real computer environment.

또 다른 측면에 따르면, 상기 악성코드 행위 분석부는 상기 악성코드 행위 추출부를 통하여 생성된 로그 파일을 추상화하여 상기 분석 데이터베이스에 저장된 악성코드와의 행위 유사도를 판단하고, 상기 행위 유사도가 기준 유사도 이상인 경우 상기 유사한 악성코드의 해쉬값을 상기 분석 데이터베이스에 저장할 수 있다.According to another aspect, the malicious code behavior analysis unit abstracts a log file generated by the malicious code behavior extraction unit to determine behavior similarity with malicious code stored in the analysis database, and if the behavior similarity is equal to or greater than a reference similarity, Hash values of similar malware can be stored in the analysis database.

또 다른 측면에 따르면, 상기 분석 시스템 인터페이스부는 상기 분석 데이터베이스에 저장된 정보 중 상기 분석할 악성코드, 분석중인 악성코드 및 분석된 악성코드로 분류된 분석 정보를 표시하며, 상기 분석할 악성코드와 상기 분석중인 악성코드에 대해 분석을 상기 분석 시스템 제어부에 요청할 수 있다.According to another aspect, the analysis system interface unit displays analysis information classified into the malicious code to be analyzed, the malicious code under analysis and the analyzed malicious code among the information stored in the analysis database, and the malicious code to be analyzed and the analysis The analysis system may request the analysis of the malicious code in progress.

또 다른 측면에 따르면, 상기 분석 시스템 제어부는 상기 악성코드에 대한 분석 요청을 수신 시 상기 분석 데이터베이스에 기 저장된 분석 정보를 상기 악성코드 상세 분석부로 전달하여 상기 가상 환경을 구축하고 상기 악성코드의 행위 분석을 제어할 수 있다.According to another aspect, when receiving the analysis request for the malicious code, the analysis system controller delivers the analysis information previously stored in the analysis database to the detailed malware analysis unit to build the virtual environment and analyze the behavior of the malicious code. Can be controlled.

악성코드 관리 및 분석 방법은 입력된 악성코드가 기 분석된 악성코드인지 확인하여 상기 기 분석된 악성코드를 여과하는 단계, 상기 확인된 악성코드가 신종 악성코드인 경우 가상 환경을 이용하여 상기 입력된 신종 악성코드를 실행함으로써 상기 신종 악성코드의 행위를 추출하여 분석 데이터베이스에 저장하는 단계, 상기 신종 악성코드의 행위와 상기 분석 데이터베이스에 기 저장된 악성코드의 행위를 비교함으로써 상기 신종 악성코드의 행위를 분석하는 단계, 악성코드 분석가들이 상기 신종 악성코드의 행위를 분석하기 위한 환경을 제공하는 단계 및 상기 분석된 악성코드, 분석할 악성코드 및 분석중인 악성코드 중 적어도 하나의 행위와 상기 악성코드의 분석 내용을 표시하는 단계를 포함할 수 있다.The method for managing and analyzing malware includes checking whether the input malicious code is a previously analyzed malicious code to filter the previously analyzed malicious code, and when the identified malicious code is a new malicious code, using the inputted virtual environment. Extracting the behavior of the new malicious code by executing the new malicious code and storing it in an analysis database; analyzing the behavior of the new malicious code by comparing the behavior of the new malicious code with the behavior of the malicious code previously stored in the analysis database Providing an environment for analyzing the behavior of the new malicious code, and analyzing at least one of the analyzed malicious code, the malicious code to be analyzed, and the malicious code under analysis. It may include the step of displaying.

악성코드 분석에 있어, 여과 과정과 행위 추출 과정을 통하여 악성코드의 중복 분석을 방지하고, 행위 추출 내용에 대하여 1차적으로 유사도를 분석하여 비슷한 악성코드끼리 그룹화하고 이미 분석된 유사한 악성코드 분석 내용을 참고함으로써 분석에 드는 시간을 줄일 수 있으므로 악성코드에 대해 신속히 대응할 수 있다.In the analysis of malware, filtering and behavior extraction process prevent duplicate analysis of malicious codes, and primarily analyze similarity with respect to contents of activity extraction, group similar malwares together, and analyze similar malware analysis contents already analyzed. By reducing the time required for analysis, you can respond quickly to malicious codes.

악성코드 및 분석결과를 개방하고 공유함으로써 악성코드 대응의 비효율성을 줄이고, 공동 악성코드 대응 체제를 구축함으로써 대량의 악성코드에 대응할 수 있다.By opening and sharing the malware and analysis results, it can reduce the inefficiency of malicious code response and can cope with a large amount of malicious code by establishing a joint malware response system.

도 1은 본 발명의 일실시예에 있어서, 악성코드 관리 및 분석 시스템을 나타내는 블록도이다.
도 2는 본 발명의 일실시예에 있어서, 악성코드 행위 추출부를 나타내는 블록도이다.
도 3은 본 발명의 일실시예에 있어서, 실행파일이 입력되었을 때 자동으로 악성코드의 행위를 추출하여 DB에 저장하는 방법을 나타내는 순서도이다.
도 4는 본 발명의 일실시예에 있어서, 악성코드 상세 분석부를 나타내는 블록도이다.
1 is a block diagram illustrating a malicious code management and analysis system according to an embodiment of the present invention.
2 is a block diagram illustrating a malicious code activity extracting unit according to an embodiment of the present invention.
3 is a flowchart illustrating a method of automatically extracting a behavior of a malicious code and storing it in a DB when an executable file is input in an embodiment of the present invention.
Figure 4 is a block diagram showing a detailed analysis of the malicious code in an embodiment of the present invention.

이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일실시예에 있어서, 악성코드 관리 및 분석 시스템을 나타내는 블록도이다.1 is a block diagram illustrating a malicious code management and analysis system according to an embodiment of the present invention.

도 1을 참조하면, 악성코드 관리 및 분석 시스템은 악성코드 여과부(100), 악성코드 분석 시스템(200), 분석 시스템 제어부(300), 분석 시스템 인터페이스(400)를 포함한다. 분석 시스템 인터페이스(400)의 경우 악성코드를 수집하기 위한 추가적인 장치를 포함할 수 있다.Referring to FIG. 1, the malware management and analysis system includes a malicious code filtering unit 100, a malware analysis system 200, an analysis system control unit 300, and an analysis system interface 400. The analysis system interface 400 may include an additional device for collecting malicious code.

악성코드 여과부(100)는 분석 시스템 인터페이스(400)를 통해 입력된 실행파일을 입력 받아 상기 실행파일에 포함되는 코드의 MD5, SHA1, SHA256 해쉬값을 계산한다. 그리고, 계산된 해쉬값과 분석 데이터베이스(DB: Data Base)(230)에 기 저장된 분석 정보를 비교하여 입력된 실행파일이 기 분석된 실행파일인지 판단하고, 백신엔진에서 탐지하는 악성코드인지 판단하여 결과를 출력함으로써 입력되는 악성코드가 기 분석된 악성코드인지 확인하고 기 분석된 악성코드인 경우 이를 여과한다. 이 때, 계산된 해쉬값에 대해 분석 DB(230)에 저장된 분석 정보가 있으면 해당 분석 정보를 출력해주며, 백신에 탐지된 악성코드일 경우 탐지하는 백신 정보와 악성코드 이름 정보를 분석시스템 인터페이스(400)에 같이 출력해준다. 분석 DB(230)와 백신을 통해 탐지되지 않는 실행파일 경우, 해당 실행파일은 악성코드 분석 시스템(200)의 악성코드 행위 추출부(210)로 입력될 수 있다.The malicious code filtering unit 100 receives the executable file input through the analysis system interface 400 and calculates MD5, SHA1, and SHA256 hash values of the code included in the executable file. In addition, by comparing the calculated hash value and the analysis information previously stored in the analysis database (DB: Data Base) 230, it is determined whether the inputted executable file is a pre-analyzed executable file, and determined whether it is a malicious code detected by an antivirus engine. By outputting the result, it checks whether the malicious code input is the previously analyzed malicious code and filters the previously analyzed malicious code. At this time, if there is analysis information stored in the analysis DB 230 for the calculated hash value, the corresponding analysis information is outputted, and if the malicious code is detected in the vaccine, the vaccine information and the malicious code name information detected are analyzed in the system interface ( To 400). If the executable file is not detected through the analysis DB 230 and the vaccine, the executable file may be input to the malicious code activity extracting unit 210 of the malicious code analysis system 200.

악성코드 분석 시스템(200)은 악성코드 행위 추출부(210), 악성코드 행위 분석부(220), 분석 DB(230) 및 악성코드 상세 분석부(240)를 포함한다.The malicious code analysis system 200 includes a malicious code behavior extracting unit 210, a malicious code behavior analyzing unit 220, an analysis DB 230, and a detailed malicious code analyzing unit 240.

악성코드 분석 시스템(200)은 악성코드 여과부(100)로부터 전달된 실행파일을 악성코드 행위 추출부(210)로 전송하고, 분석 시스템 인터페이스(400)로부터 요청된 분석 요청을 분석 시스템 제어부(300)를 통하여 악성코드 상세 분석부(240)에서 처리한다.The malicious code analysis system 200 transmits the executable file transmitted from the malicious code filtering unit 100 to the malicious code activity extracting unit 210 and transmits the analysis request requested from the analysis system interface 400 to the analysis system controller 300. Process detailed malware analysis unit 240 through).

악성코드 행위 추출부(210)는 악성코드 여과부(100)에서 여과된 실행파일에 대응하여, 실행파일이 실행되었을 때 발생하는 시스템 변화를 관찰하여 저장한다.The malicious code activity extracting unit 210 corresponds to the executable file filtered by the malicious code filtering unit 100 and observes and stores a system change occurring when the executable file is executed.

악성코드의 경우 운영체제 (OS: Operating System) 환경과 응용프로그램 환경에 따라 실행 여부가 달라질 수 있기 때문에, 각각 다른 환경을 만들어 주는 가상시스템을 이용하여 여러 가지 환경에서 실행파일을 실행시켜 결과를 관찰한다.In the case of malicious code, whether it can be executed depends on the operating system (OS) environment and the application environment, and execute the executable file in various environments using the virtual system that creates a different environment, and observe the result. .

도 2는 본 발명의 일실시예에 있어서, 악성코드 행위 추출부를 나타내는 블록도이다. 이하, 도 2를 참조하여 본 발명에 따른 악성코드 행위 추출부를 보다 상세히 설명한다.2 is a block diagram illustrating a malicious code activity extracting unit according to an embodiment of the present invention. Hereinafter, the malicious code behavior extraction unit according to the present invention will be described in more detail with reference to FIG. 2.

악성코드 행위 추출부(210)는 행위 모니터(211), 가상 시스템 제어 프로그램(212) 및 가상 시스템(213)을 포함할 수 있다.The malicious code activity extracting unit 210 may include an activity monitor 211, a virtual system control program 212, and a virtual system 213.

행위 모니터(211)는 가상 시스템(213)에서 실행되는 실행파일에 의하여 변경되는 상태 변화를 가상화 모듈 인터페이스를 통하여 관찰한다. 관찰하는 변화로는 프로세스 생성 및 변화, 메모리 읽기 및 쓰기, 파일 생성, 수정, 삭제 행위, 레지스트리 값 변화, 네트워크 영역에서 일어나는 포트 상태 변화 및 새로운 패킷 생성 행위, 실행파일이 사용하는 시스템 콜 함수 등이 있고, 행위 모니터(211)는 이와 같이 운영체제 객체에 대하여 일어나는 연산을 모니터링하여 로그 파일로 저장한다.The behavior monitor 211 observes a state change that is changed by an executable file executed in the virtual system 213 through the virtualization module interface. Changes to observe include process creation and modification, memory read and write, file creation, modification and deletion, registry value changes, port state changes and new packet creation in the network area, and system call functions used by executables. In addition, the behavior monitor 211 monitors the operation occurring on the operating system object as described above and stores it in a log file.

가상 시스템 제어 프로그램(212)는 악성코드 여과부로부터 전달받은 실행파일을 가상 시스템(213)의 가상화 모듈 인터페이스를 통하여 각기 다른 환경에서 실행파일이 실행될 수 있도록 명령을 전달해주며, 일정 시간이 지나면 다시 가상 시스템(213)을 실행파일이 실행되기 전의 상태로 초기화될 수 있도록 제어한다. 초기화가 끝나면, 행위 모니터(211)에 의하여 저장된 로그 파일을 악성코드 행위 분석부(220)로 전달한다.The virtual system control program 212 transmits the executable file received from the malware filtering unit to execute the executable file in different environments through the virtualization module interface of the virtual system 213. The system 213 is controlled to be initialized to the state before the executable file is executed. After the initialization, the log file stored by the behavior monitor 211 is transmitted to the malicious code behavior analyzer 220.

가상 시스템(213)은 물리 장치 위에 가상화 모듈을 통하여 복수개의 커널을 가진 가상 시스템을 구축하며, 가상화 모듈에 포함된 인터페이스를 통하여 가상시스템에 명령어와 데이터를 교환한다. 악성코드 여과부(100)에서 여과된 실행파일이 전달되면, 가상 시스템 제어 프로그램(212)로부터 실행하라는 명령이 전달되며, 가상 시스템(213)은 미리 준비되어 있는 각기 다른 커널 환경과 응용프로그램 환경에서 실행파일을 실행한다. 가상 시스템에서 발생하는 행위들은 행위 모니터(211)에 의해서 로그 파일로 저장된다. 행위 모니터(211)는 저장된 파일 내용을 환경별로 정렬하여 가장 행위가 많이 추출된 가상환경의 파일 내용만 두고 나머지는 삭제할 수 있다. 가상 시스템(213)의 커널과 응용프로그램 환경은 사용자의 의해 변경 가능한 것이므로 그에 대한 상세한 설명은 생략하기로 한다.The virtual system 213 establishes a virtual system having a plurality of kernels through a virtualization module on a physical device, and exchanges commands and data with the virtual system through an interface included in the virtualization module. When the executable file filtered by the malicious code filtering unit 100 is delivered, a command to be executed is transmitted from the virtual system control program 212, and the virtual system 213 is prepared in different kernel environments and application environments prepared in advance. Run the executable. Actions occurring in the virtual system are stored in the log file by the action monitor 211. The behavior monitor 211 sorts the stored file contents according to environments, leaving only the file contents of the virtual environment where the most behavior is extracted, and deleting the rest. Since the kernel and the application environment of the virtual system 213 are changeable by the user, a detailed description thereof will be omitted.

악성코드 행위 분석부(220)는 악성코드 행위 추출부(210)에서 생성된 실행 기록이 담긴 파일을 추상화 과정을 거쳐 다시 저장한다. 추상화 과정은 실행 기록을 직접 이용하기 보다는 행위 분석을 위해 실제 실행기록을 한 단계 통합하는 과정이다. 추상화 과정은 각 저장된 속성(객체, 연산)에 대하여 추상화하는 과정으로, 여기서 객체는 프로세스, 메모리, 파일, 레지스트리, 네트워크 등이 될 수 있으며, 연산은 생성, 삭제, 수정, 읽기, 쓰기, 열기, 닫기, 실행, 대기, 접속, 듣기(listening) 등이 될 수 있다. 시스템 콜의 경우 똑같은 행위를 하더라도(NtReadFile, ZwReadFile) 사용되는 함수명이 다름으로 반드시 추상화 과정을 거쳐야 한다. 추상화 거친 뒤 악성코드 행위 분석부(220)는 분석 DB에 저장된 악성코드와의 행위 유사도를 판단하고, 행위 유사도가 기준 유사도(예를 들어, 공통인 값이 80%이상) 이상이 되는 레코드를 찾아 해당되는 레코드의 키 값(해쉬값)을 속성에 추가하여 분석 DB에 저장한다.The malicious code behavior analyzer 220 stores the file containing the execution record generated by the malicious code behavior extractor 210 through an abstraction process. The abstraction process is a process of integrating the actual execution history one step further than analyzing the execution history directly. The abstraction process is an abstraction process for each stored property (object, operation), where an object can be a process, memory, file, registry, network, etc., and operations can be created, deleted, modified, read, written, opened, It can be close, run, wait, access, listening, and so on. In the case of system calls, even though they do the same thing (NtReadFile, ZwReadFile), the function names used must be abstracted. After the abstraction, the malware behavior analysis unit 220 determines the behavior similarity with the malicious code stored in the analysis DB, and finds records in which the behavior similarity is equal to or greater than the reference similarity (for example, 80% or more in common). The key value (hash value) of the corresponding record is added to the property and stored in the analysis DB.

이때, 악성코드 행위 분석부(220)는 유사도가 80% 미만일 경우 관련 속성 값을 널(NULL)로 세팅하여 저장한다.In this case, when the similarity degree is less than 80%, the malicious code behavior analyzer 220 sets and stores a related property value as null.

도 3은 본 발명의 일실시예에 있어서, 실행파일이 입력되었을 때 자동으로 악성코드의 행위를 추출하여 DB에 저장하는 방법을 나타내는 순서도이다. 이하, 도면을 참조하여 본 발명에 따른 악성코드 관리 및 분석 방법에 대해 설명한다.3 is a flowchart illustrating a method of automatically extracting a behavior of a malicious code and storing it in a DB when an executable file is input in an embodiment of the present invention. Hereinafter, a method for managing and analyzing malware according to the present invention will be described with reference to the drawings.

악성코드 여과부(100)는 실행파일의 해쉬값을 계산하여(S1), 이미 분석된 악성코드인지 분석 DB에 저장된 해쉬값과 비교하고(S2) 백신 엔진에 진단되는 악성코드인지 비교하여(S3) 최종적으로 분석해야 될 신종 악성코드인지를 판단하는 기능을 포함한다(S4). 만약, 신종 악성코드가 아닐 경우(S6) 이미 분석 DB나 백신 엔진에 의해 탐지됨으로 저장된 분석 결과를 출력한다(S7).The malicious code filtering unit 100 calculates the hash value of the executable file (S1), compares it with the hash value stored in the analysis DB or the already analyzed malicious code (S2), and compares whether the malicious code is diagnosed with the vaccine engine (S3). ) Finally, it includes the function of determining whether the new malicious code to be analyzed (S4). If the new malicious code is not detected (S6), the analysis result stored as already detected by the analysis DB or the vaccine engine is output (S7).

그러나 신종 악성코드로 판단되면(S4) 악성코드 행위 추출부(210)에 의해 가상환경에서 실행파일을 실행시켜 악성코드 특징을 추출하여(S5) 파일로 저장한다.However, if it is determined that the new malicious code (S4) by the malicious code behavior extraction unit 210 to execute the executable file in the virtual environment to extract the malicious code features (S5) and save it as a file.

악성코드의 행위가 기록된 파일은 악성코드 행위 분석부(220)에 전달되어 특징 추상화 과정(S8)을 거쳐 분석 DB(230)에 저장된 분석 내용과 비교하여 행위 유사도가 80%이상이면 속성 값에 유사한 악성코드의 키 값을 저장한다(S10).The file in which the behavior of the malicious code is recorded is transmitted to the malicious code behavior analysis unit 220 and compared to the analysis contents stored in the analysis DB 230 through the feature abstraction process (S8). The key value of the similar malicious code is stored (S10).

도 4는 본 발명의 일실시예에 있어서, 악성코드 상세 분석부를 나타내는 블록도이다. 이하, 도 4를 참조하여 본 발명에 따른 악성코드 상세 분석부의 기능을 보다 상세히 설명한다.Figure 4 is a block diagram showing a detailed analysis of the malicious code in an embodiment of the present invention. Hereinafter, with reference to Figure 4 will be described in more detail the function of the malicious code analysis unit according to the present invention.

악성코드 상세 분석부(240)는 분석환경(241), 분석환경 저장 이미지(242) 및 하드웨어와 커널 계층(243)을 포함할 수 있다.The detailed malware analysis unit 240 may include an analysis environment 241, an analysis environment storage image 242, and a hardware and kernel layer 243.

분석환경(241)은 분석가의 요청마다 각기 다른 분석환경이 생성되어 유지되며, 이러한 분석환경은 하드웨어와 커널 계층(243)의 분석시스템 제어 인터페이스에 의해 제어된다.The analysis environment 241 generates and maintains a different analysis environment at the request of the analyst, and this analysis environment is controlled by the analysis system control interface of the hardware and kernel layer 243.

이 때, 각 분석환경에서는 분석환경뿐만 아니라, 기본적으로 악성코드 분석에 쓰이는 도구들이 설치되어 있으며, 이러한 도구에는 디버거, 네트워크 패킷 관찰 도구, 파일, 레지스트리, 프로세스 관찰 도구 등이 기본적으로 포함되어 있을 수 있다. 또한 각 분석환경에는 보고서 템플릿이 저장되어 있으며, 완성된 보고서를 분석 DB에 저장하는 프로그램도 포함될 수 있다.In this case, not only the analysis environment but also the tools used for malware analysis are installed in each analysis environment, and such tools may include a debugger, a network packet monitoring tool, a file, a registry, and a process monitoring tool by default. have. In addition, report templates are stored in each analysis environment, and a program for storing a completed report in an analysis DB may be included.

분석환경 저장 이미지(242)는 각 분석환경을 파일형태로 저장하고 있다가 분석환경 생성 요청이 들어오면 요청된 분석 환경 파일을 가상 시스템의 분석환경(241)으로 로드한다.The analysis environment storage image 242 stores each analysis environment in the form of a file, and when an analysis environment creation request comes in, the requested analysis environment file is loaded into the analysis environment 241 of the virtual system.

하드웨어와 커널 계층(243)은 분석가들에게 클라우드 서비스를 제공하기 위하여 복수개의 하드웨어 자원을 하나의 하드웨어 자원으로 추상화해주는 계층이며, 각 분석환경에 하드웨어 자원을 할당하는 일은 추상화 커널이 담당한다.The hardware and kernel layer 243 is a layer that abstracts a plurality of hardware resources into a single hardware resource in order to provide cloud services to analysts. The abstraction kernel is responsible for allocating hardware resources to each analysis environment.

분석 시스템 제어부(300)는 분석 시스템 인터페이스(400)을 통해 요청된 분석가의 분석 요청을 받아들여, 분석해야 될 악성코드를 분석 DB(230)에서 악성코드 상세 분석부(240)로 가져오고, 악성코드 행위 추출부(210)에서 가장 행위가 많이 추출되었던 환경으로 분석환경(241)을 구축하도록 분석시스템 제어 인터페이스를 통해 명령을 내린다.The analysis system control unit 300 receives the analysis request of the requested analyst through the analysis system interface 400 and brings the malicious code to be analyzed from the analysis DB 230 to the detailed analysis unit 240 of the malicious code 240, The code behavior extracting unit 210 issues a command through the analysis system control interface to establish the analysis environment 241 in the environment where the most behavior is extracted.

분석 시스템 인터페이스(400)는 웹페이지 형식으로 세 가지 인터페이스를 제공할 수 있다. 이 경우, 분석 시스템 인터페이스(400)는 일 예로 악성코드 입력 요청, 악성코드 분석 요청, 분석 DB(230) 정보 조회 인터페이스를 포함할 수 있다.The analysis system interface 400 may provide three interfaces in the form of a web page. In this case, the analysis system interface 400 may include, for example, a malicious code input request, a malicious code analysis request, and an analysis DB 230 information inquiry interface.

악성코드 입력 요청은 실행파일을 시스템으로 입력 받을 수 있는 인터페이스로서, 입력 받은 파일은 악성코드 여과부(100), 악성코드 행위 추출부(210), 악성코드 행위 분석부(220), 분석 DB(230) 모듈을 거쳐 결과가 출력될 수 있다.The malicious code input request is an interface for receiving an executable file into the system, and the received file is a malicious code filtering unit 100, a malicious code activity extracting unit 210, a malicious code activity analyzing unit 220, an analysis DB ( 230) Results may be output via the module.

분석 DB(230) 정보 조회 인터페이스의 경우 저장된 악성코드들이 분석완료, 분석중, 미분석의 세 분류로 구분되어 웹 페이지에 출력해주며, 각 분류에 대하여 보고서 조회 서비스 및 분석 요청 서비스가 제공될 수 있다. 조회 후 특정 악성코드를 선택하여 분석 요청을 할 경우 분석 시스템 인터페이스(400)에서 분석 시스템 제어부(300)로 분석 요청을 보내며 악성코드 상세 분석부(240)에서 분석 환경 구성이 끝나면, 분석시스템 인터페이스(400)에서 악성코드 상세 분석부(240)의 생성된 분석환경(241)으로 분석가를 연결시킨다.In the analysis DB 230 information retrieval interface, the stored malicious codes are classified into three categories, analysis completed, analysis, and unanalyzed, and output on a web page. A report retrieval service and an analysis request service may be provided for each classification. have. When a specific malicious code is selected after the request for analysis, the analysis system interface 400 sends an analysis request to the analysis system controller 300, and when the analysis environment configuration is completed in the detailed malware analysis unit 240, the analysis system interface ( In step 400, the analyst is connected to the generated analysis environment 241 of the detailed malware analysis unit 240.

따라서, 본 발명에 따른 악성코드 관리 및 분석 시스템은 분석 시스템 인터페이스를 통하여 분석가들의 중복 분석을 방지하고, 분석 시스템의 악성코드 여과부, 행위 추출부, 행위 분석부를 통하여 분석을 자동화함으로 인해 분석 시간과 노력을 감소시켜 효율적으로 악성코드에 대응할 수 있다. 또한, 악성코드 및 분석결과를 개방하고 공유함으로써 악성코드 대응의 비효율성을 줄이고, 공동 악성코드 대응 체제를 구축함으로써 대량의 악성코드에 대응할 수 있다.Therefore, the malware management and analysis system according to the present invention prevents redundant analysis of analysts through the analysis system interface, and automates the analysis through the malware filtering unit, the action extraction unit, and the action analysis unit of the analysis system. Reducing the effort can effectively respond to malware. In addition, by opening and sharing the malicious code and analysis results, it is possible to reduce the inefficiency of the malicious code response and to cope with a large amount of malicious code by establishing a joint malicious code response system.

이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.As described above, the present invention has been described by way of limited embodiments and drawings, but the present invention is not limited to the above embodiments, and those skilled in the art to which the present invention pertains various modifications and variations from such descriptions. This is possible.

그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined by the equivalents of the claims, as well as the claims.

100: 악성코드 여과부
200: 악성코드 분석 시스템
300: 분석 시스템 제어부
400: 분석 시스템 인터페이스
100: malware filtering unit
200: Malicious code analysis system
300: analysis system control unit
400: analysis system interface

Claims (15)

입력된 악성코드가 기 분석된 악성코드인지 확인하여 상기 기 분석된 악성코드를 여과하는 악성코드 여과부;
상기 확인된 악성코드가 신종 악성코드인 경우 가상 환경을 이용하여 상기 입력된 신종 악성코드를 실행함으로써 상기 신종 악성코드의 행위를 추출하여 분석 데이터베이스에 저장하는 악성코드 행위 추출부;
상기 신종 악성코드의 행위와 상기 분석 데이터베이스에 기 저장된 악성코드의 행위를 비교함으로써 상기 신종 악성코드의 행위를 분석하는 악성코드 행위 분석부;
악성코드 분석가들이 상기 신종 악성코드의 행위를 분석하기 위한 환경을 제공하는 악성코드 상세 분석부;
상기 분석된 악성코드, 분석할 악성코드 및 분석중인 악성코드 중 적어도 하나의 행위를 표시하고 상기 신종 악성코드의 분석을 요청하며 상기 신종 악성코드의 분석 내용을 표시하는 분석 시스템 인터페이스부; 및
상기 신종 악성코드의 행위에 대한 분석을 제어하고 상기 신종 악성코드의 분석 환경을 구성하는 분석 시스템 제어부
를 포함하는, 악성코드 관리 및 분석 시스템.
A malicious code filtering unit which checks whether the input malicious code is a previously analyzed malicious code and filters the previously analyzed malicious code;
A malicious code activity extracting unit configured to extract the behavior of the new malicious code and store it in an analysis database by executing the input new malicious code using a virtual environment when the identified malicious code is a new malicious code;
A malicious code behavior analysis unit that analyzes the behavior of the new malicious code by comparing the behavior of the new malicious code with the behavior of the malicious code previously stored in the analysis database;
Malware detailed analysis unit provides an environment for analyzing the behavior of the new malicious code malware analysts;
An analysis system interface unit for displaying at least one action of the analyzed malicious code, the malicious code to be analyzed, and the malicious code under analysis, requesting analysis of the new malicious code, and displaying analysis contents of the new malicious code; And
Analysis system control unit for controlling the analysis of the behavior of the new malicious code and configuring the analysis environment of the new malicious code
Including, malware management and analysis system.
제1항에 있어서,
상기 악성코드 여과부는,
상기 입력된 악성코드의 해쉬값을 계산하여 상기 분석 데이터베이스에 기 저장된 분석 정보 및 백신과 비교함으로써 상기 기 분석된 악성코드를 여과하는 것을 특징으로 하는 악성코드 관리 및 분석 시스템.
The method of claim 1,
The malicious code filtering unit,
And analyzing the pre-analyzed malicious code by calculating a hash value of the input malicious code and comparing it with pre-stored analysis information and a vaccine in the analysis database.
제1항에 있어서,
상기 악성코드 행위 추출부는,
컴퓨터 하드웨어장치, 커널, 악성코드를 상기 가상 환경에서 실행시키고 제어하는 가상 시스템 제어 프로그램, 상기 확인된 악성코드가 실행되는 가상 시스템 및 상기 가상 시스템에서 발생하는 운영체제 객체의 행위를 관찰하고 저장하는 행위 모니터를 포함하는 것을 특징으로 하는 악성코드 관리 및 분석 시스템.
The method of claim 1,
The malicious code behavior extraction unit,
Monitors and stores behaviors of virtual system control programs that execute and control computer hardware devices, kernels, and malicious codes in the virtual environment, virtual systems on which the identified malicious code is executed, and operating system objects occurring in the virtual systems. Malware management and analysis system comprising a.
제3항에 있어서,
상기 가상 시스템 제어 프로그램은,
상기 입력된 악성코드를 가상화 모듈 인터페이스를 통해 상기 가상 시스템 내의 각각 다른 환경에서 실행시키고, 상기 입력된 악성코드의 동작이 끝나면 상기 가상 시스템을 상기 입력된 악성코드가 실행되기 전의 환경으로 되돌리는 프로그램인 것을 특징으로 하는 악성코드 관리 및 분석 시스템.
The method of claim 3,
The virtual system control program,
A program that executes the input malicious code in a different environment in the virtual system through a virtualization module interface, and returns the virtual system to an environment before the input malicious code is executed when the input malicious code is finished. Malware management and analysis system, characterized in that.
제3항에 있어서,
상기 행위 모니터는,
상기 운영체제 객체에 대하여 일어나는 연산을 모니터링하여 로그 파일로 저장하는 것을 특징으로 하는 악성코드 관리 및 분석 시스템.
The method of claim 3,
The act monitor,
The malware management and analysis system, characterized in that for monitoring the operation occurring on the operating system object and stored in a log file.
제5항에 있어서,
상기 운영체제 객체는,
프로세스, 메모리, 파일, 레지스트리, 네트워크 및 시스템콜 중 적어도 하나인 것을 특징으로 하는 악성코드 관리 및 분석 시스템.
The method of claim 5,
The operating system object,
Malware management and analysis system, characterized in that at least one of the process, memory, files, registry, network and system calls.
제3항에 있어서,
상기 가상 시스템은,
실제 컴퓨터 환경 안에서 가상 컴퓨터 환경을 구성하는 가상화 모듈 인터페이스를 통해 각각 다른 커널과 실행환경에서 상기 확인된 악성코드를 실행하는 것을 특징으로 하는 악성코드 관리 및 분석 시스템.
The method of claim 3,
The virtual system,
A malicious code management and analysis system comprising executing the identified malicious code in a different kernel and execution environment through a virtualization module interface constituting a virtual computer environment in a real computer environment.
제1항에 있어서,
상기 악성코드 행위 분석부는,
상기 악성코드 행위 추출부를 통하여 생성된 로그 파일을 추상화하여 상기 분석 데이터베이스에 저장된 악성코드와의 행위 유사도를 판단하고, 상기 행위 유사도가 기준 유사도 이상인 경우 상기 유사한 악성코드의 해쉬값을 상기 분석 데이터베이스에 저장하는 것을 특징으로 하는 악성코드 관리 및 분석 시스템.
The method of claim 1,
The malicious code behavior analysis unit,
Abstracts the log file generated by the malicious code activity extracting unit to determine behavior similarity with the malicious code stored in the analysis database, and when the behavior similarity is equal to or greater than a reference similarity, stores a hash value of the similar malicious code in the analysis database. Malware management and analysis system, characterized in that.
제1항에 있어서,
상기 분석 시스템 인터페이스부는,
상기 분석 데이터베이스에 저장된 정보 중 상기 분석할 악성코드, 분석중인 악성코드 및 분석된 악성코드로 분류된 분석 정보를 표시하며, 상기 분석할 악성코드와 상기 분석중인 악성코드에 대해 분석을 상기 분석 시스템 제어부에 요청하는 것을 특징으로 하는 악성코드 관리 및 분석 시스템.
The method of claim 1,
The analysis system interface unit,
The analysis system controller displays analysis information classified into the malicious code to be analyzed, the malicious code under analysis, and the analyzed malicious code among the information stored in the analysis database, and analyzes the malicious code to be analyzed and the malicious code under analysis. Malware management and analysis system, characterized in that requesting to.
제1항에 있어서,
상기 분석 시스템 제어부는,
상기 신종 악성코드에 대한 분석 요청을 수신 시 상기 분석 데이터베이스에 기 저장된 분석 정보를 상기 악성코드 상세 분석부로 전달하여 상기 가상 환경을 구축하고 상기 신종 악성코드의 행위 분석을 제어하는 것을 특징으로 하는 악성코드 관리 및 분석 시스템.
The method of claim 1,
The analysis system control unit,
Receiving the analysis request for the new malicious code, the analysis information previously stored in the analysis database is delivered to the detailed analysis section of the malicious code to build the virtual environment, characterized in that the control of the behavior analysis of the new malicious code Management and analysis system.
입력된 악성코드가 기 분석된 악성코드인지 확인하여 상기 기 분석된 악성코드를 여과하는 단계;
상기 확인된 악성코드가 신종 악성코드인 경우 가상 환경을 이용하여 상기 입력된 신종 악성코드를 실행함으로써 상기 신종 악성코드의 행위를 추출하여 분석 데이터베이스에 저장하는 단계;
상기 신종 악성코드의 행위와 상기 분석 데이터베이스에 기 저장된 악성코드의 행위를 비교함으로써 상기 신종 악성코드의 행위를 분석하는 단계;
악성코드 분석가들이 상기 신종 악성코드의 행위를 분석하기 위한 환경을 제공하는 단계; 및
상기 분석된 악성코드, 분석할 악성코드 및 분석중인 악성코드 중 적어도 하나의 행위와 상기 신종 악성코드의 분석 내용을 표시하는 단계
를 포함하는, 악성코드 관리 및 분석 방법.
Filtering the analyzed malicious code by checking whether the input malicious code is a previously analyzed malicious code;
If the identified malicious code is a new malicious code, extracting the behavior of the new malicious code by executing the input new malicious code using a virtual environment and storing it in an analysis database;
Analyzing the behavior of the new malicious code by comparing the behavior of the new malicious code with the behavior of the malicious code previously stored in the analysis database;
Providing an environment for malicious code analysts to analyze the behavior of the new malicious code; And
Displaying at least one action of the analyzed malicious code, the malicious code to be analyzed, and the malicious code under analysis and the analysis contents of the new malicious code;
Including, malware management and analysis method.
제11항에 있어서,
상기 여과하는 단계는,
상기 입력된 악성코드의 해쉬값을 계산하여 상기 분석 데이터베이스에 기 저장된 분석 정보 및 백신과 비교함으로써 상기 입력된 악성코드가 기 분석된 악성코드에 해당하는 경우 상기 입력된 악성코드를 여과하는 단계인 것을 특징으로 하는 악성코드 관리 및 분석 방법.
12. The method of claim 11,
Wherein the filtering step comprises:
Calculating the hash value of the input malicious code and comparing the analysis information and vaccine previously stored in the analysis database to filter the input malicious code if the input malicious code corresponds to the previously analyzed malicious code. Characteristic management and analysis method characterized by.
제11항에 있어서,
상기 저장하는 단계는,
상기 확인된 악성코드가 실행되는 가상 시스템의 프로세스, 메모리, 파일, 레지스트리, 네트워크 및 시스템콜 중 적어도 하나에 대하여 일어나는 연산을 모니터링하고 이를 로그 파일로 저장하는 단계인 것을 특징으로 하는 악성코드 관리 및 분석 방법.
12. The method of claim 11,
Wherein the storing step comprises:
Monitoring and storing operations occurring on at least one of a process, a memory, a file, a registry, a network, and a system call of a virtual system on which the identified malicious code is executed, and storing the same as a log file. Way.
제11항에 있어서,
상기 확인된 악성코드는,
상기 가상 환경에서 각각 다른 커널과 실행환경에서 실행되는 것을 특징으로 하는 악성코드 관리 및 분석 방법.
12. The method of claim 11,
The identified malicious code,
The malware management and analysis method, characterized in that executed in the different kernel and execution environment in the virtual environment.
제13항에 있어서,
상기 저장하는 단계 이후에,
상기 저장된 로그 파일을 추상화하여 상기 분석 데이터베이스에 저장된 악성코드와의 행위 유사도를 판단하는 단계; 및
상기 행위 유사도가 기준 유사도 이상인 경우 상기 유사한 악성코드의 해쉬값을 상기 분석 데이터베이스에 저장하는 단계
를 더 포함하는 것을 특징으로 하는 악성코드 관리 및 분석 방법.
The method of claim 13,
After the storing step,
Abstracting the stored log file to determine behavioral similarity with malicious code stored in the analysis database; And
Storing a hash value of the similar malicious code in the analysis database when the behavior similarity is greater than or equal to a reference similarity.
Malware management and analysis method further comprising a.
KR1020110143615A 2011-12-27 2011-12-27 Open type system for analyzing and managing malicious code KR101308866B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110143615A KR101308866B1 (en) 2011-12-27 2011-12-27 Open type system for analyzing and managing malicious code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110143615A KR101308866B1 (en) 2011-12-27 2011-12-27 Open type system for analyzing and managing malicious code

Publications (2)

Publication Number Publication Date
KR20130075300A KR20130075300A (en) 2013-07-05
KR101308866B1 true KR101308866B1 (en) 2013-09-13

Family

ID=48989214

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110143615A KR101308866B1 (en) 2011-12-27 2011-12-27 Open type system for analyzing and managing malicious code

Country Status (1)

Country Link
KR (1) KR101308866B1 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101494329B1 (en) * 2013-09-02 2015-02-23 주식회사 베일리테크 System and Method for detecting malignant process
KR101512454B1 (en) * 2013-12-24 2015-04-16 한국인터넷진흥원 Culture-based malicious code analysis system
KR101716564B1 (en) * 2015-04-02 2017-03-15 현대오토에버 주식회사 Malware Detection Method and System Based on Hadoop
KR102370483B1 (en) * 2020-06-19 2022-03-04 숭실대학교 산학협력단 Resource monitoring device and method using hardware abstraction layer
KR102375955B1 (en) * 2021-11-24 2022-03-18 케이디시스 주식회사 Data backup system with improved security

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080047261A (en) * 2006-11-23 2008-05-28 한국전자통신연구원 Anomaly malicious code detection method using process behavior prediction technique
KR20090001609A (en) * 2006-11-13 2009-01-09 한국전자통신연구원 Cyber threat forecasting system and method therefor

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090001609A (en) * 2006-11-13 2009-01-09 한국전자통신연구원 Cyber threat forecasting system and method therefor
KR20080047261A (en) * 2006-11-23 2008-05-28 한국전자통신연구원 Anomaly malicious code detection method using process behavior prediction technique

Also Published As

Publication number Publication date
KR20130075300A (en) 2013-07-05

Similar Documents

Publication Publication Date Title
US11625485B2 (en) Method of malware detection and system thereof
US10977370B2 (en) Method of remediating operations performed by a program and system thereof
US11507663B2 (en) Method of remediating operations performed by a program and system thereof
EP1543396B1 (en) Method and apparatus for the automatic determination of potentially worm-like behaviour of a program
EP3885951B1 (en) Method of remediating operations performed by a program and system thereof
CN100481101C (en) Method for computer safety start
CN101458754B (en) Method and apparatus for monitoring application program action
CN104200161A (en) Method for achieving intelligent sandbox file detection and intelligent sandbox detection system based on method
CN103886252A (en) Software Code Malicious Selection Evaluation Executed In Trusted Process Address Space
CN107004088B (en) Determining device, determining method and recording medium
KR101308866B1 (en) Open type system for analyzing and managing malicious code
US9734330B2 (en) Inspection and recovery method and apparatus for handling virtual machine vulnerability
US8600995B1 (en) User role determination based on content and application classification
CN106462704B (en) Dynamic reads in code analysis device and dynamic reads in code analysis methods
CN111125701B (en) File detection method, equipment, storage medium and device
CN114707144A (en) Virtual machine escape behavior detection method and device
CN114978963A (en) Network system monitoring analysis method and device, electronic equipment and storage medium
EP2819055B1 (en) System and method for detecting malicious software using malware trigger scenarios
US9800588B1 (en) Automated analysis pipeline determination in a malware analysis environment
CN101390077B (en) Thread interception and analysis
JP2020160679A (en) Script detection device, method and program
CN117439814A (en) ATT & CK-based network security event linkage treatment system and method

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: 20160830

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170825

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190826

Year of fee payment: 7