KR20200057402A - System and method for detecting malignant code based on virtual and real machine - Google Patents

System and method for detecting malignant code based on virtual and real machine Download PDF

Info

Publication number
KR20200057402A
KR20200057402A KR1020180141755A KR20180141755A KR20200057402A KR 20200057402 A KR20200057402 A KR 20200057402A KR 1020180141755 A KR1020180141755 A KR 1020180141755A KR 20180141755 A KR20180141755 A KR 20180141755A KR 20200057402 A KR20200057402 A KR 20200057402A
Authority
KR
South Korea
Prior art keywords
virtual
analysis
real
analysis unit
machine
Prior art date
Application number
KR1020180141755A
Other languages
Korean (ko)
Other versions
KR102162995B1 (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 KR1020180141755A priority Critical patent/KR102162995B1/en
Publication of KR20200057402A publication Critical patent/KR20200057402A/en
Application granted granted Critical
Publication of KR102162995B1 publication Critical patent/KR102162995B1/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/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • 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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities

Landscapes

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

Abstract

The present invention relates to a system for detecting a malignant code based on virtual and real machines and a method thereof. According to an embodiment of the present invention, the system for detecting a malignant code comprises: a virtual machine analysis unit that performs dynamic analysis for malignant code detection in the virtual machine environment for the files to be analyzed; a real machine analysis unit that performs dynamic analysis for malignant code detection in the real machine environment for files to be analyzed; and a database storing analysis results performed by the virtual machine analysis unit or the real machine analysis unit. The real machine analysis unit performs dynamic analysis on an analysis target file including a bypass log for bypassing the virtual machine analysis unit.

Description

가상 및 리얼 머신 기반의 악성코드 탐지 시스템 및 방법{SYSTEM AND METHOD FOR DETECTING MALIGNANT CODE BASED ON VIRTUAL AND REAL MACHINE}Virtual and real machine based malware detection system and method {SYSTEM AND METHOD FOR DETECTING MALIGNANT CODE BASED ON VIRTUAL AND REAL MACHINE}

본 발명은 가상 및 리얼 머신 기반의 악성코드 탐지 시스템 및 방법에 관한 것으로, 보다 상세하게는 가상 머신을 우회하는 악성코드를 리얼 머신에서 한 번 더 분석함으로써, 기존 가상 머신 환경에서는 탐지하지 못했던 악성코드를 탐지 및 분석하여 효과적인 보안 솔루션을 제공하는 가상 및 리얼 머신 기반의 악성코드 탐지 시스템 및 방법에 관한 것이다.The present invention relates to a virtual and real machine-based malware detection system and method, and more specifically, by analyzing the malicious code that bypasses the virtual machine once more on the real machine, the malware that was not detected in the existing virtual machine environment It relates to a virtual and real machine-based malware detection system and method to provide an effective security solution by detecting and analyzing.

악성코드는 악의적인 목적을 위해 작성된 실행 가능한 코드를 통칭하는 것으로, 사용자 PC 등에서 실행될 경우 네트워크 트래픽 발생, 시스템 성능 저하, 파일 삭제 또는 변조, 정보 유출 등의 증상을 유발한다.Malicious code refers to executable code written for malicious purposes. When executed on a user PC, it causes symptoms such as network traffic generation, system performance degradation, file deletion or tampering, and information leakage.

종래 이러한 악성코드를 탐지하여 차단하는 방법으로서 가상 머신에서의 동적 분석을 통한 악성코드 탐지 기술을 이용한바, 가상 머신 환경에서 코드를 실행한 후 해당 코드가 수행하는 행위 정보들을 수집하여 악성코드인지 여부를 판별하고, 악성코드로 판별된 경우 이를 차단하는 방법이다. 이러한 가상 머신 환경에서는 악성코드를 실행하더라도 악성코드의 행위를 실제 사용자 환경으로부터 용이하게 분리할 수 있으며, 다른 악성코드를 실행하기 위한 최초의 환경으로 되돌리기 쉽다는 장점이 있다.As a method of detecting and blocking such malicious codes in the related art, a malicious code detection technology through dynamic analysis in a virtual machine is used. After executing the code in the virtual machine environment, it collects action information performed by the corresponding code to determine whether it is malicious code. It is a method of discriminating and blocking it when it is determined as malicious code. In such a virtual machine environment, even if the malicious code is executed, the behavior of the malicious code can be easily separated from the actual user environment, and there is an advantage that it is easy to return to the first environment for executing other malicious code.

그러나 최근에는 악성코드에 가상 머신을 우회하기 위한 기술이 적용되어, 가상 머신 상에서는 악성 행위를 수행하지 않다가 실 환경에서만 악성 행위를 수행하는 악성코드가 출현함에 따라, 종래 가상 머신에서의 행위 정보 수집을 통한 동적 분석 방법은 한계에 부딪히게 되었다.However, recently, a technique for bypassing a virtual machine has been applied to malicious code, and as malicious code that does not perform malicious behavior on a virtual machine and performs malicious behavior only in a real environment has appeared, it collects behavior information in a conventional virtual machine. The dynamic analysis method through has reached the limit.

이에 따라 가상 머신이 아닌 리얼 머신에서의 동적 분석을 통한 악성코드 탐지 기술의 필요성이 대두되고 있다. 본 발명은 이와 관련된 것이다.Accordingly, there is a need for a malicious code detection technology through dynamic analysis on a real machine, not a virtual machine. The present invention relates to this.

대한민국 등록특허공보 제10-1819322호(2018.01.10)Republic of Korea Registered Patent Publication No. 10-1819322 (2018.01.10)

본 발명은 전술한 문제점을 해결하기 위하여 안출된 것으로, 가상 머신을 우회하는 악성코드를 리얼 머신에서 한 번 더 탐지함으로써 보다 효과적인 보안 솔루션을 제공하는 것을 목적으로 한다.The present invention has been devised to solve the above-mentioned problems, and has an object to provide a more effective security solution by detecting malicious code that bypasses a virtual machine once more on a real machine.

본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The technical problems of the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by a person skilled in the art from the following description.

전술한 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 가상 및 리얼 머신 기반의 악성코드 탐지 시스템은, 분석대상 파일에 대하여 가상 머신 환경에서 악성코드 탐지를 위한 동적 분석을 수행하는 가상 머신 분석부, 분석대상 파일에 대하여 리얼 머신 환경에서 악성코드 탐지를 위한 동적 분석을 수행하는 리얼 머신 분석부 및 상기 가상 머신 분석부 또는 상기 리얼 머신 분석부가 수행한 분석 결과를 저장하는 데이터베이스를 포함하되, 상기 리얼 머신 분석부는, 상기 가상 머신 분석부를 우회하기 위한 우회로그가 포함된 분석대상 파일에 대하여 동적 분석을 수행할 수 있다.The virtual and real machine based malware detection system according to an embodiment of the present invention for achieving the above object is a virtual machine analysis unit that performs dynamic analysis for malware detection in the virtual machine environment on the analysis target file , Real machine analysis unit for performing dynamic analysis for malicious code detection in the real machine environment for the file to be analyzed and a database for storing the analysis results performed by the virtual machine analysis unit or the real machine analysis unit, the real The machine analysis unit may perform dynamic analysis on an analysis target file including a bypass log for bypassing the virtual machine analysis unit.

일 실시 예에 따르면, 상기 가상 머신 분석부는, 동적 분석을 실시하기 위한 가상 머신을 생성하는 가상 머신 생성부 상기 가상 머신에서 동적 분석을 수행하는 제1 동적 분석부 및 분석대상 파일에 가상 머신을 우회하기 위한 우회로그가 존재하는지 탐지하는 우회로그 탐지부를 포함할 수 있다.According to an embodiment of the present disclosure, the virtual machine analysis unit bypasses a virtual machine to a first dynamic analysis unit and a target file to be analyzed to perform a dynamic analysis on the virtual machine. It may include a bypass log detection unit that detects whether there is a bypass log.

일 실시 예에 따르면, 상기 리얼 머신 분석부는, 동적 분석을 실시하기 위한 하나 이상의 리얼 머신 및 우회로그가 포함된 분석대상 파일에 대하여 리얼 머신에서 동적 분석을 수행하는 제2 동적 분석부를 포함할 수 있다.According to an embodiment of the present disclosure, the real machine analysis unit may include a second dynamic analysis unit that performs dynamic analysis on a real machine for an analysis target file including one or more real machines and bypass logs for performing dynamic analysis. .

일 실시 예에 따르면, 상기 가상 머신 분석부 및 리얼 머신 분석부는, 분석대상 파일의 악성코드 행위 및 네트워크 행위를 수집하여 동적 분석을 수행할 수 있다.According to an embodiment, the virtual machine analysis unit and the real machine analysis unit may collect malicious code behaviors and network behaviors of the analysis target file and perform dynamic analysis.

일 실시 예에 따르면, 상기 악성코드 행위는, API 함수 호출, 프로세스, 레지스트리 변경, 서비스 변경 및 파일시스템 변경 중 어느 하나 이상을 포함할 수 있다.According to one embodiment, the malicious code behavior may include any one or more of API function calls, processes, registry changes, service changes, and file system changes.

일 실시 예에 따르면, 상기 네트워크 행위는, 정보 유출 및 특정 포트 오픈 중 어느 하나 이상을 포함할 수 있다.According to an embodiment, the network activity may include any one or more of information leakage and specific port opening.

일 실시 예에 따르면, 상기 가상 머신 분석부 및 리얼 머신 분석부는, 하나 이상의 운영체제(OS: Operating System)에 대하여 동적 분석을 수행할 수 있다.According to an embodiment, the virtual machine analysis unit and the real machine analysis unit may perform dynamic analysis on one or more operating systems (OSs).

일 실시 예에 따르면, 상기 리얼 머신 분석부는, 상기 하나 이상의 운영체제(OS)에 대한 동적 분석 결과에 따라 탐지된 악성코드에 취약할 것으로 분석되는 운영체제에 대한 정보를 순서대로 산출할 수 있다.According to an embodiment of the present disclosure, the real machine analysis unit may sequentially calculate information on an operating system that is analyzed to be vulnerable to detected malicious codes according to dynamic analysis results of the one or more operating systems (OS).

일 실시 예에 따른 가상 및 리얼 머신 기반의 악성코드 탐지 시스템은, 외부 서버로부터 OSINT(Open Source Intelligence) 정보를 수집하는 OSINT 수집부 및 상기 외부 서버로부터 수집한 OSINT 정보 및 동적 분석 결과 정보를 이용하여 상관분석을 수행하는 상관 분석부를 더 포함할 수 있다.The virtual and real machine based malware detection system according to an embodiment uses an OSINT collection unit that collects OSINT (Open Source Intelligence) information from an external server and OSINT information and dynamic analysis result information collected from the external server. A correlation analysis unit performing correlation analysis may be further included.

일 실시 예에 따르면, 상기 OSINT 정보는, CVE 정보, 악성코드 평판 정보, IP C&C 정보 중 어느 하나 이상을 포함할 수 있다.According to an embodiment, the OSINT information may include one or more of CVE information, malicious code reputation information, and IP C & C information.

일 실시 예에 따르면, 상기 OSINT 수집부는, 기 설정된 주기에 따라 자동으로 상기 OSINT 정보를 수집할 수 있다.According to an embodiment, the OSINT collection unit may automatically collect the OSINT information according to a preset cycle.

일 실시 예에 따른 가상 및 리얼 머신 기반의 악성코드 탐지 시스템은, 상기 가상 머신 분석부, 리얼 머신 분석부 또는 상관 분석부가 수행한 분석 결과를 사용자에게 표시하는 모니터링부를 더 포함할 수 있다.The virtual and real machine-based malware detection system according to an embodiment may further include a monitoring unit that displays an analysis result performed by the virtual machine analysis unit, the real machine analysis unit, or the correlation analysis unit to the user.

한편, 전술한 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 가상 및 리얼 머신 기반의 악성코드 탐지 방법은, 가상 머신 분석부가 가상 머신 환경에서 동적 분석을 수행하는 단계, 리얼 머신 분석부가 리얼 머신 환경에서 동적 분석을 수행하는 단계, 상기 가상 머신 분석부 또는 리얼 머신 분석부가 수행한 동적 분석 결과를 데이터베이스에 저장하는 단계를 포함하되, 상기 리얼 머신 분석부는, 상기 가상 머신 분석부를 우회하기 위한 우회로그가 포함된 분석대상 파일에 대하여 동적 분석을 수행할 수 있다.On the other hand, the virtual and real machine-based malware detection method according to an embodiment of the present invention for achieving the above object, the virtual machine analysis unit performs a dynamic analysis in the virtual machine environment, the real machine analysis unit real machine Performing dynamic analysis in an environment, and storing dynamic analysis results performed by the virtual machine analysis unit or the real machine analysis unit in a database, wherein the real machine analysis unit bypasses the virtual machine analysis unit. Dynamic analysis can be performed on the analysis target file.

일 실시 예에 따르면, 상기 가상 머신 환경에서 동적 분석을 수행하는 단계 및 리얼 머신 환경에서 동적 분석을 수행하는 단계는, 하나 이상의 운영체제(OS: Operating System)에 대하여 동적 분석을 수행하는 단계를 포함할 수 있다.According to an embodiment, the step of performing dynamic analysis in the virtual machine environment and the step of performing dynamic analysis in the real machine environment may include performing dynamic analysis on one or more operating systems (OSs). Can be.

일 실시 예에 따르면, 상기 리얼 머신 환경에서 동적 분석을 수행하는 단계는, 상기 하나 이상의 운영체제(OS)에 대한 동적 분석 결과에 따라 탐지된 악성코드에 취약할 것으로 분석되는 운영체제에 대한 정보를 순서대로 산출하는 단계를 더 포함할 수 있다.According to an embodiment, the step of performing dynamic analysis in the real machine environment, in order, information on an operating system that is analyzed to be vulnerable to detected malicious codes according to the dynamic analysis results of the one or more operating systems (OS) in order. It may further include the step of calculating.

본 발명에 의하면, 종래 가상 머신에서 탐지하지 못했던 우회로그가 심어진 악성코드에 대해서 리얼 머신 환경에서 한 번 더 분석을 수행함으로써 더욱 정확한 악성코드 분석이 가능하다는 효과가 있다.According to the present invention, it is possible to more accurately analyze malicious code by performing analysis once more in the real machine environment for the malicious code in which the bypass log that was not detected in the conventional virtual machine is planted.

또한, 가상 및 리얼 머신에서의 동적 분석 결과 및 종래 알려진 공개 출처 정보(OSINT: Open Source INTelligence)를 이용해 상관 분석을 실시함으로써, 악성코드에 대한 데이터베이스를 구축하고 효과적인 보안 솔루션을 제공할 수 있다는 효과가 있다.In addition, by performing correlation analysis using dynamic analysis results on virtual and real machines and conventionally known public source information (OSINT: Open Source INTelligence), it is possible to build a database for malicious codes and provide an effective security solution. have.

또한, 상관분석 결과를 통계 자료로서 사용자에게 제공할 수 있으므로, 사용자로 하여금 사용자의 시스템에 유입된 악성코드에 대한 정보를 효과적으로 파악할 수 있도록 한다는 효과가 있다. In addition, since the correlation analysis result can be provided to the user as statistical data, there is an effect that the user can effectively grasp the information on the malicious code that has flowed into the user's system.

본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해 될 수 있을 것이다.The effects of the present invention are not limited to the above-mentioned effects, and other effects not mentioned will be clearly understood by those skilled in the art from the following description.

도 1은 본 발명의 일 실시 예에 따른 가상 및 리얼 머신 기반의 악성코드 탐지 시스템의 전반적인 동작을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시 예에 따른 가상 및 리얼 머신 기반의 악성코드 탐지 시스템의 구성을 나타낸 블록도이다.
도 3은 본 발명의 일 실시 예에 따른 가상 머신 분석부의 구성을 나타낸 블록도이다.
도 4는 본 발명의 일 실시 예에 따른 동적 분석 수행 방법을 나타낸 도면이다.
도 5는 본 발명의 일 실시 예에 따른 리얼 머신 분석부의 구성을 나타낸 블록도이다.
도 6은 본 발명의 일 실시 예에 따라 외부 서버로부터 OSINT(Open Source INTelligence) 정보를 수집하는 것을 나타낸 도면이다.
도 7은 본 발명의 일 실시 예에 따른 상관 분석부에 의한 상관분석 방법을 나타낸 도면이다.
도 8은 본 발명의 일 실시 예에 따른 가상 및 리얼 머신 기반의 악성코드 탐지 방법을 나타낸 순서도이다.
1 is a view for explaining the overall operation of the virtual and real machine-based malicious code detection system according to an embodiment of the present invention.
2 is a block diagram showing the configuration of a virtual and real machine based malware detection system according to an embodiment of the present invention.
3 is a block diagram showing the configuration of a virtual machine analysis unit according to an embodiment of the present invention.
4 is a view showing a method for performing dynamic analysis according to an embodiment of the present invention.
5 is a block diagram showing the configuration of a real machine analysis unit according to an embodiment of the present invention.
6 is a diagram illustrating collecting OSINT (Open Source INTelligence) information from an external server according to an embodiment of the present invention.
7 is a view showing a correlation analysis method by a correlation analysis unit according to an embodiment of the present invention.
8 is a flowchart illustrating a method for detecting malicious codes based on virtual and real machines according to an embodiment of the present invention.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예를 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 게시가 완전하도록 하고, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. Advantages and features of the present invention, and methods for achieving them will be clarified with reference to embodiments described below in detail together with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but may be implemented in various different forms, and only the embodiments allow the publication of the present invention to be complete, and general knowledge in the technical field to which the present invention pertains. It is provided to fully inform the holder of the scope of the invention, and the invention is only defined by the scope of the claims. The same reference numerals refer to the same components throughout the specification.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시 예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.Unless otherwise defined, all terms (including technical and scientific terms) used in the present specification may be used as meanings commonly understood by those skilled in the art to which the present invention pertains. In addition, terms defined in the commonly used dictionary are not ideally or excessively interpreted unless specifically defined. The terminology used herein is for describing the embodiments and is not intended to limit the present invention. In the present specification, the singular form also includes the plural form unless otherwise specified in the phrase.

도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 참조부호를 붙였다. 그리고, 어떤 부분이 어떤 구성 요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에서 기술한 "부"란, 특정 기능을 수행하는 하나의 단위 또는 블록을 의미한다.In the drawings, parts not related to the description are omitted in order to clearly describe the present invention, and the same reference numerals are attached to the same or similar elements throughout the specification. And, when it is said that a part "includes" a certain component, this means that other components may be further included instead of excluding other components, unless otherwise stated. In addition, "part" described in the specification means a unit or block that performs a specific function.

도 1은 본 발명의 일 실시 예에 따른 가상 및 리얼 머신 기반의 악성코드 탐지 시스템(10)의 전반적인 동작을 설명하기 위한 도면이다.1 is a view for explaining the overall operation of the virtual and real machine-based malware detection system 10 according to an embodiment of the present invention.

도 1을 참조하여 본 발명의 일 실시 예에 따른 가상 및 리얼 머신 기반의 악성코드 탐지 시스템(10)의 전반적인 동작을 살펴보면, 본 발명은 우선 가상 머신 분석부(100)를 통해 가상 머신 환경에서 분석대상 파일에 대한 동적 분석을 수행하고, 분석 결과를 데이터베이스(300)에 저장한다.Looking at the overall operation of the virtual and real machine-based malware detection system 10 according to an embodiment of the present invention with reference to Figure 1, the present invention is first analyzed in the virtual machine environment through the virtual machine analysis unit 100 Dynamic analysis is performed on the target file, and the analysis results are stored in the database 300.

만약 상기 분석대상 파일에 가상 머신을 우회하기 위한 우회로그가 포함되어 있는 경우에는, 가상 머신 분석부(100)는 분석대상 파일을 리얼 머신 분석부(200)로 전송하고 리얼 머신 분석부(200)를 통해 리얼 머신 환경에서 한 번 더 동적 분석을 수행하며, 분석 결과를 데이터베이스(300)에 저장한다.If the bypass file for bypassing the virtual machine is included in the analysis target file, the virtual machine analysis unit 100 transmits the analysis target file to the real machine analysis unit 200 and the real machine analysis unit 200 Through this, dynamic analysis is performed once more in the real machine environment, and the analysis results are stored in the database 300.

여기서 우회로그라 함은 일반적으로 사용되는 가상 머신 기반의 동적 분석 기술을 회피하기 위한 로그를 의미하는데, 분석대상 파일에 이러한 우회로그가 포함되어 있는 경우 가상 머신 환경에서는 분석대상 파일의 행위 정보를 수집하는 것에 한계가 있기 때문에 본 발명은 이에 대하여 리얼 머신 환경에서 한 번 더 동적 분석을 수행하는 것이다.Here, detour means a log to evade the dynamic analysis technology based on virtual machines that are generally used. In the case where such a bypass log is included in the file to be analyzed, the virtual machine environment collects behavior information of the file to be analyzed. Due to limitations, the present invention is to perform dynamic analysis once more in a real machine environment.

데이터베이스(300)는 가상 머신 분석부(100) 및 리얼 머신 분석부(200)가 수행한 동적 분석의 결과 정보와 함께 OSINT 수집부(400)가 외부 서버로부터 수집한 OSINT 정보를 저장하고, 상관 분석부(500)는 데이터베이스(300)에 저장된 동적 분석 결과 정보 및 OSINT 정보를 이용하여 상관분석을 수행한다. 모니터링부(600)는, 전술한 각 구성요소가 수행한 분석 결과를 사용자에게 표시한다.The database 300 stores the OSINT information collected by the OSINT collection unit 400 from an external server along with the result information of the dynamic analysis performed by the virtual machine analysis unit 100 and the real machine analysis unit 200, and correlates the analysis. The unit 500 performs correlation analysis using dynamic analysis result information and OSINT information stored in the database 300. The monitoring unit 600 displays an analysis result performed by each component described above to the user.

이하, 도 2 내지 도 8을 참조하여 도 1에서 살펴본 동작을 수행하기 위한 본 발명의 일 실시 예에 따른 가상 및 리얼 머신 기반의 악성코드 탐지 시스템(10) 및 이의 구성요소들에 대하여 상세히 설명한다.Hereinafter, a virtual and real machine-based malware detection system 10 and its components according to an embodiment of the present invention for performing the operation described in FIG. 1 with reference to FIGS. 2 to 8 will be described in detail. .

도 2는 본 발명의 일 실시 예에 따른 가상 및 리얼 머신 기반의 악성코드 탐지 시스템(10)의 구성을 나타낸 블록도이다.2 is a block diagram showing the configuration of a virtual and real machine based malware detection system 10 according to an embodiment of the present invention.

도 2를 참조하면, 본 발명의 일 실시 예에 따른 가상 및 리얼 머신 기반의 악성코드 탐지 시스템(10)은, 가상 머신 분석부(100), 리얼 머신 분석부(200), 데이터베이스(300), OSINT 수집부(400), 상관 분석부(500) 및 모니터링부(600)를 포함할 수 있다.2, the virtual and real machine-based malware detection system 10 according to an embodiment of the present invention, the virtual machine analysis unit 100, the real machine analysis unit 200, the database 300, OSINT collection unit 400, may include a correlation analysis unit 500 and the monitoring unit 600.

가상 머신 분석부(100)는, 분석대상 파일에 대하여 가상 머신 환경에서 악성코드 탐지를 위한 동적 분석을 수행할 수 있다. The virtual machine analysis unit 100 may perform dynamic analysis for malicious code detection in the virtual machine environment on the analysis target file.

도 3은 본 발명의 일 실시 예에 따른 가상 머신 분석부(100)의 구성을 나타낸 도면이다.3 is a view showing the configuration of the virtual machine analysis unit 100 according to an embodiment of the present invention.

도 3을 참조하면, 본 발명의 일 실시 예에 따른 가상 머신 분석부(100)는, 가상 머신 생성부(110), 제1 동적 분석부(120) 및 우회로그 탐지부(130)를 포함할 수 있다.Referring to FIG. 3, the virtual machine analysis unit 100 according to an embodiment of the present invention includes a virtual machine generation unit 110, a first dynamic analysis unit 120, and a bypass log detection unit 130. Can be.

가상 머신 생성부(110)는 동적 분석을 실시하기 위한 가상 머신을 생성할 수 있다. 가상 머신(VM: Virtual Machine)은 리얼 머신(PC, 노트북, 휴대용 단말 등)을 통해 이루어지는 컴퓨팅 환경을 에뮬레이션 하여 소프트웨어로 구현한 것으로, 리얼 머신에서와 같이 운영체제 또는 응용 프로그램을 실행할 수 있는 환경을 제공한다. 가상 머신의 예시로는 VMware, VirtualBox 또는 QEMU/KVM 등이 포함될 수 있으나 반드시 이에 한정되는 것은 아니다.The virtual machine generator 110 may generate a virtual machine for performing dynamic analysis. A virtual machine (VM) emulates a computing environment made through a real machine (PC, notebook, portable terminal, etc.) and implements it as software.It provides an environment in which an operating system or an application program can be executed as in a real machine. do. Examples of virtual machines may include VMware, VirtualBox, or QEMU / KVM, but are not limited thereto.

일 실시 예에 따르면, 가상 머신 생성부(110)는 하나 이상의 가상 머신을 동시에 생성하여 구동할 수 있다.According to an embodiment, the virtual machine generator 110 may generate and drive one or more virtual machines simultaneously.

제1 동적 분석부(120)는 가상 머신 생성부(110)가 생성한 가상 머신에서 분석대상 파일에 대한 동적 분석을 수행하고 분석 결과를 산출할 수 있다. 동적 분석은, 분석대상 파일을 가상 머신 또는 리얼 머신 환경에서 구동되는 운영체제 상에서 실행하였을 경우 분석대상 파일이 행하는 행위 정보를 수집함으로써 악성코드 분석을 수행하는 분석 방법을 의미한다.The first dynamic analysis unit 120 may perform dynamic analysis on the analysis target file in the virtual machine generated by the virtual machine generation unit 110 and calculate an analysis result. Dynamic analysis means an analysis method for performing malicious code analysis by collecting action information performed by the file to be analyzed when the file to be analyzed is executed on an operating system running in a virtual machine or a real machine environment.

도 4는 본 발명의 일 실시 예에 따른 동적 분석 수행 방법을 나타낸 도면이다.4 is a view showing a method for performing dynamic analysis according to an embodiment of the present invention.

도 4를 참조하면, 제1 동적 분석부(120)는 먼저 가상 머신 환경에서 운영체제(OS: Operating System)를 구동하고, 운영체제 상에서 분석대상 파일의 형식에 대응한 응용 프로그램을 실행한 후, 운영체제 상에서 행하는 행위 정보들을 수집하고, 이를 기반으로 분석을 수행할 수 있다.Referring to FIG. 4, the first dynamic analysis unit 120 first drives an operating system (OS) in a virtual machine environment, executes an application program corresponding to a file type to be analyzed on the operating system, and then runs on the operating system. Collecting action information can be performed and analysis can be performed based on this.

일 실시 예에 따르면, 제1 동적 분석부(120)가 동적 분석을 수행함에 있어서 수집하는 분석대상 파일의 행위 정보는, 악성코드 행위 또는 네트워크 행위를 포함할 수 있다.According to an embodiment, the behavior information of the analysis target file collected by the first dynamic analysis unit 120 in performing the dynamic analysis may include a malicious code behavior or a network behavior.

일 실시 예에 따르면, 악성코드 행위는 API 함수 호출, 프로세스, 레지스트리 변경, 서비스 변경 및 파일시스템 변경 등을 포함할 수 있고, 네트워크 행위는 정보 유출 또는 특정 포트 오픈 등을 포함할 수 있으나, 반드시 이에 한정되는 것은 아니고 설계자의 의도에 따라 분석대상 파일에 대한 다양한 행위 정보들을 수집할 수 있음은 물론이다.According to an embodiment, the malicious code behavior may include API function calls, processes, registry changes, service changes, and file system changes, and network activities may include information leakage or opening a specific port, but must be It is of course not limited, and various behavior information on the file to be analyzed can be collected according to the designer's intention.

일 실시 예에 따르면, 제1 동적 분석부(120)는 가상 머신 생성부(110)가 생성한 하나 이상의 가상 머신에 대하여 동시에 동적 분석을 수행하고 분석 결과를 산출할 수 있다.According to an embodiment, the first dynamic analysis unit 120 may simultaneously perform dynamic analysis on one or more virtual machines generated by the virtual machine generation unit 110 and calculate analysis results.

일 실시 예에 따르면, 제1 동적 분석부(120)는 하나 이상의 운영체제(OS: Operating System)에 대하여 동시에 동적 분석을 수행하고 분석 결과를 산출할 수 있다. 상기 하나 이상의 운영체제(OS)는, windows 7(32bit, 64bit), windows 8(32bit, 64bit), windows 10(32bit, 64bit), Linux, Mac, Android 등을 포함할 수 있으나, 이는 현재 이용되고 있는 운영체제를 예시로서 설명한 것일 뿐 반드시 이에 한정되는 것은 아니고 향후 개발될 운영체제를 포함하여 임의의 운영체제(OS)에 대하여 동적 분석이 수행될 수 있음은 물론이다. According to an embodiment, the first dynamic analysis unit 120 may simultaneously perform dynamic analysis on one or more operating systems (OSs) and calculate analysis results. The one or more operating systems (OS) may include windows 7 (32bit, 64bit), windows 8 (32bit, 64bit), windows 10 (32bit, 64bit), Linux, Mac, Android, etc., which are currently being used. It is a matter of course that dynamic analysis can be performed on any operating system (OS), including, but not limited to, the operating system, which is described as an example, and is not necessarily limited thereto.

우회로그 탐지부(130)는 분석대상 파일에 가상 머신을 우회하기 위한 우회로그가 존재하는지 여부를 탐지할 수 있다.The bypass log detection unit 130 may detect whether a bypass log for bypassing the virtual machine exists in the file to be analyzed.

일 실시 예에 따르면, 우회로그 탐지부(130)의 탐지 결과 분석대상 파일에 가상 머신을 우회하기 위한 우회로그가 포함되어 있는 경우, 분석대상 파일을 이하 설명할 리얼 머신 분석부(200)로 전송하여 리얼 머신 환경에서 한 번 더 동적 분석이 이루어지도록 할 수 있다.According to an embodiment, when the detection result of the bypass log detection unit 130 includes a bypass log for bypassing the virtual machine, the analysis target file is transmitted to the real machine analysis unit 200 to be described below. By doing so, dynamic analysis can be performed once more in a real machine environment.

다시 도 2에 대한 설명으로 돌아가도록 한다. Returning to the description of FIG. 2 again.

리얼 머신 분석부(200)는, 가상 머신 분석부(100)를 우회하기 위한 우회로그가 포함된 분석대상 파일에 대하여 리얼 머신 환경에서 악성코드 탐지를 위한 동적 분석을 수행할 수 있다.The real machine analysis unit 200 may perform dynamic analysis for malicious code detection in a real machine environment on an analysis target file including a bypass log for bypassing the virtual machine analysis unit 100.

도 5는 본 발명의 일 실시 예에 따른 리얼 머신 분석부(200)의 구성을 나타낸 도면이다.5 is a view showing the configuration of the real machine analysis unit 200 according to an embodiment of the present invention.

도 5를 참조하면, 본 발명의 일 실시 예에 따른 리얼 머신 분석부(200)는, 하나 이상의 리얼 머신(210) 및 제2 동적 분석부(220)를 포함할 수 있다.Referring to FIG. 5, the real machine analysis unit 200 according to an embodiment of the present invention may include one or more real machines 210 and the second dynamic analysis unit 220.

리얼 머신(210)은 PC(Personal Computer)와 같이 운영체제 및 응용프로그램이 실행되는 실제 하드웨어 장치를 의미한다.The real machine 210 refers to an actual hardware device on which an operating system and application programs are executed, such as a personal computer (PC).

일 실시 예에 따르면, 본 발명의 일 실시 예에 따른 리얼 머신 분석부(200)는 하나 이상의 리얼 머신(210)을 구비하여 하나 이상의 운영체제(OS: Operating System)를 동시에 실행하여 동적 분석을 수행할 수 있다.According to one embodiment, the real machine analysis unit 200 according to an embodiment of the present invention includes one or more real machines 210 to simultaneously execute one or more operating systems (OSs) to perform dynamic analysis. Can be.

제2 동적 분석부(220)는 리얼 머신(210) 상에서 분석대상 파일에 대한 동적 분석을 수행하고 분석 결과를 산출할 수 있다. The second dynamic analysis unit 220 may perform dynamic analysis on the analysis target file on the real machine 210 and calculate analysis results.

다시 도 4를 참조하면, 제2 동적 분석부(220)는 리얼 머신(210) 상에서 운영체제(OS: Operating System)를 구동하고, 운영체제 상에서 분석대상 파일의 형식에 대응한 응용 프로그램을 실행한 후, 운영체제 상에서 행하는 행위 정보들을 수집하고, 이를 기반으로 분석을 수행할 수 있다.Referring back to FIG. 4, the second dynamic analysis unit 220 drives an operating system (OS) on the real machine 210 and executes an application program corresponding to a file type to be analyzed on the operating system, It is possible to collect action information on the operating system and perform analysis based on this.

일 실시 예에 따르면, 제2 동적 분석부(220)가 동적 분석을 수행함에 있어서 수집하는 분석대상 파일의 행위 정보는, 악성코드 행위 또는 네트워크 행위를 포함할 수 있다.According to an embodiment, the behavior information of the analysis target file collected by the second dynamic analysis unit 220 in performing the dynamic analysis may include a malicious code behavior or a network behavior.

일 실시 예에 따르면, 악성코드 행위는 API 함수 호출, 프로세스, 레지스트리 변경, 서비스 변경 및 파일시스템 변경 등을 포함할 수 있고, 네트워크 행위는 정보 유출 또는 특정 포트 오픈 등을 포함할 수 있으나, 반드시 이에 한정되는 것은 아니고 설계자의 의도에 따라 분석대상 파일에 대한 다양한 행위 정보들을 수집할 수 있음은 물론이다. According to an embodiment, the malicious code behavior may include API function calls, processes, registry changes, service changes, and file system changes, and network activities may include information leakage or opening a specific port, but must be It is of course not limited, and various behavior information on the file to be analyzed can be collected according to the designer's intention.

이와 같이 제2 동적 분석부(220)가 리얼 머신(210) 상에서 분석대상 파일을 실행시킨 경우, 분석대상 파일은 가상 머신에서의 탐지를 회피하기 위하여 가상 머신 환경에서는 수행하지 않았던 실 환경에서의 행위들을 수행하므로, 분석대상 파일에 대한 보다 정확한 행위 정보들을 수집하여 동적 분석을 수행할 수 있는 것이다.As described above, when the second dynamic analysis unit 220 executes the analysis target file on the real machine 210, the analysis target file acts in a real environment that was not performed in the virtual machine environment to avoid detection in the virtual machine. By performing the above, dynamic analysis can be performed by collecting more accurate behavior information on the file to be analyzed.

일 실시 예에 따르면, 제2 동적 분석부(220)는 하나 이상의 운영체제(OS: Operating System)에 대하여 동시 또는 순차적으로 동적 분석을 수행하고 분석 결과를 산출할 수 있다. 상기 하나 이상의 운영체제(OS)는, windows 7(32bit, 64bit), windows 8(32bit, 64bit), windows 10(32bit, 64bit), Linux, Mac, Android 등을 포함할 수 있으나, 이는 현재 이용되고 있는 운영체제를 예시로서 설명한 것일 뿐 반드시 이에 한정되는 것은 아니고 향후 개발될 운영체제를 포함하여 임의의 운영체제(OS)에 대하여 동적 분석이 수행될 수 있음은 물론이다. According to an embodiment, the second dynamic analysis unit 220 may perform dynamic analysis simultaneously or sequentially on one or more operating systems (OSs) and calculate analysis results. The one or more operating systems (OS) may include windows 7 (32bit, 64bit), windows 8 (32bit, 64bit), windows 10 (32bit, 64bit), Linux, Mac, Android, etc., which are currently being used. It is a matter of course that dynamic analysis can be performed on any operating system (OS), including, but not limited to, the operating system, which is described as an example, and is not necessarily limited thereto.

이와 같이 제2동적 분석부(220)는 동일한 분석대상 파일에 대하여 리얼 머신 환경의 각기 다른 운영체제에서 동시 또는 순차적으로 동적 분석을 수행함으로써, 분석대상 파일에서 탐지되는 악성코드가 어떤 운영체제에 있어서 가장 취약한지 분석할 수 있다.As described above, the second dynamic analysis unit 220 performs dynamic analysis simultaneously or sequentially on different operating systems in the real machine environment on the same analysis target file, so that the malicious code detected in the analysis target file is most vulnerable in any operating system. Can be analyzed.

예를 들어, 제2동적 분석부(220)는 분석대상 파일이 리얼 머신 환경의 windows 7 64bit운영체제 및 windows 8 64bit 운영체제 각각에서 수행하는 행위 정보들을 수집하여 동적 분석을 수행한 후, 두 운영체제 각각에서 수집된 행위 정보 및 동적 분석 결과를 기반으로, 탐지된 악성코드에 더 취약할 것으로 판단되는 운영체제를 분석할 수 있는 것이다.For example, the second dynamic analysis unit 220 collects behavior information performed by the windows 7 64bit operating system and the windows 8 64bit operating system in the real machine environment, and then performs dynamic analysis, and then, in each of the two operating systems. Based on the collected behavior information and dynamic analysis results, it is possible to analyze the operating system that is determined to be more vulnerable to the detected malicious code.

일 실시 예에 따르면, 제 2 동적 분석부(220)는 하나 이상의 운영체제(OS)에 대하여 수행한 동적 분석의 결과에 따라 해당 악성코드에 가장 취약할 것으로 분석된 운영체제에 대한 정보를 순서대로 산출하여 사용자에게 제공할 수 있으며, 사용자는 이를 기반으로 사용할 운영체제를 선택하거나 혹은 현재 사용중인 운영체제에 대한 보안 계획을 수립할 수 있다.According to an embodiment of the present disclosure, the second dynamic analysis unit 220 sequentially calculates information on the operating system analyzed to be most vulnerable to the malicious code according to the result of the dynamic analysis performed on one or more operating systems (OS). It can be provided to the user, and the user can select an operating system to use based on this or establish a security plan for the operating system currently in use.

다시 도 2에 대한 설명으로 돌아가도록 한다. Returning to the description of FIG. 2 again.

데이터베이스(300)는, 가상 머신 분석부(100) 또는 리얼 머신 분석부(200)가 수행한 분석 결과를 수집하여 저장할 수 있으며, 가상 머신 분석부(100)가 수행한 분석 결과와 리얼 머신 분석부(200)가 수행한 분석 결과를 별도의 데이터베이스(300)에 수집하여 저장할 수도 있다.The database 300 may collect and store the analysis results performed by the virtual machine analysis unit 100 or the real machine analysis unit 200, and the analysis results and the real machine analysis unit performed by the virtual machine analysis unit 100 The analysis results performed by the 200 may be collected and stored in a separate database 300.

일 실시 예에 따르면, 데이터베이스(300)는 가상 머신 분석부(100) 또는 리얼 머신 분석부(200)가 수행한 동적 분석 결과를 저장하는 동적 분석 결과 DB(310) 및 OSINT 수집부(400)가 외부 서버로부터 수집한 OSINT 정보를 저장하는 OSINT 정보 DB(320)를 포함할 수 있다. According to an embodiment, the database 300 includes a dynamic analysis result DB 310 and an OSINT collection unit 400 that stores dynamic analysis results performed by the virtual machine analysis unit 100 or the real machine analysis unit 200. It may include an OSINT information DB 320 that stores OSINT information collected from an external server.

OSINT 수집부(400)는, 외부 서버로부터 OSINT(Open Source Intelligence, 공개 출처 정보) 정보를 수집할 수 있다.The OSINT collection unit 400 may collect OSINT (Open Source Intelligence) information from an external server.

도 6은 본 발명의 일 실시 예에 따라 외부 서버로부터 OSINT(Open Source INTelligence) 정보를 수집하는 것을 나타낸 도면이다.6 is a diagram illustrating collecting OSINT (Open Source INTelligence) information from an external server according to an embodiment of the present invention.

도 6을 참조하면, OSINT 정보는 공개된 출처(인터넷, 언론, 논문 등)로부터 수집한 정보들을 의미하는 것으로, 본 발명에 따른 OSINT 수집부(400)는 외부 서버로부터 이미 알려져 인터넷에 공개되어 있는 악성코드에 대한 일련의 정보를 수집할 수 있다.Referring to FIG. 6, OSINT information refers to information collected from published sources (internet, media, papers, etc.), and the OSINT collection unit 400 according to the present invention is already known from an external server and published on the Internet It can collect a series of information about malicious code.

일 실시 예에 따르면, OSINT 정보는 CVE 정보, 악성코드 평판 정보, C&C IP 정보를 포함할 수 있다.According to an embodiment, the OSINT information may include CVE information, malicious code reputation information, and C & C IP information.

CVE(Common Vulnerabilities and Exposures, 정보 보안 취약점 표준 코드) 정보는, 공개적으로 알려져 있는 소프트웨어 또는 시스템에 손실, 손상의 원인을 줄 수 있는 보안 취약점을 나타내는 고유 표기를 의미하고, 악성코드 평판 정보는, 공개된 악성코드의 보안 위험도에 대한 사용자들의 평판 정보이며, C&C IP 정보는, 악성코드에 감염된 다수의 좀비 컴퓨터로 구성된 봇넷(botnet)을 제어하는 C&C(Command & Control) 서버의 IP 정보를 의미한다.CVE (Common Vulnerabilities and Exposures) information refers to a unique notation indicating a security vulnerability that may cause loss or damage to publicly known software or systems, and malware reputation information, The reputation information of users about the security risk of the malicious code, and the C & C IP information refers to the IP information of a command & control (C & C) server that controls a botnet composed of a number of zombie computers infected with the malicious code.

일 실시 예에 따르면, OSINT 수집부(400)는 기 설정된 일정 주기에 따라 자동으로 외부 서버로부터 OSINT 정보들을 수집할 수 있다. 상기 일정 주기는 사용자의 의도에 따라 다양하게 설정될 수 있고, 또한 각 정보들 마다 그 주기를 달리하여 수집할 수 있음은 물론이다.According to an embodiment, the OSINT collection unit 400 may automatically collect OSINT information from an external server according to a predetermined period. The schedule period may be variously set according to a user's intention, and of course, the period may be differently collected for each information.

OSINT 수집부(400)가 수집한 OSINT 정보들은, 가상 머신 분석부(100) 및 리얼 머신 분석부(200)의 동적 분석 결과 데이터와 함께 데이터베이스(300)에 저장될 수 있다.The OSINT information collected by the OSINT collection unit 400 may be stored in the database 300 together with dynamic analysis result data of the virtual machine analysis unit 100 and the real machine analysis unit 200.

상관 분석부(500)는, OSINT 수집부(400)가 외부 서버로부터 수집한 OSINT 정보 및 동적 분석 결과 정보를 이용하여 상관분석을 수행할 수 있다.The correlation analysis unit 500 may perform correlation analysis using the OSINT information collected by the OSINT collection unit 400 from an external server and dynamic analysis result information.

도 7은 본 발명의 일 실시 예에 따른 상관 분석부(500)에 의한 상관 분석 방법을 나타낸 도면이다.7 is a diagram illustrating a correlation analysis method by the correlation analysis unit 500 according to an embodiment of the present invention.

도 7을 참조하면, 상관 분석부(500)는 이미 알려진 악성코드에 대한 정보들인 OSINT 정보들을 기준 정보로, 가상 머신 분석부(100) 및 리얼 머신 분석부(200)가 수행한 동적 분석의 결과를 비교 정보로 하여 상관 분석을 수행할 수 있다.Referring to FIG. 7, the correlation analysis unit 500 is OSINT information, which is information on known malware, as reference information, and results of dynamic analysis performed by the virtual machine analysis unit 100 and the real machine analysis unit 200 As a comparison information, correlation analysis can be performed.

일 실시 예에 따르면, 상관 분석부(500)는 API 호출 순서, 취약점 공격 정보, Drop file 정보, 덤프 정보, 악성트래픽 정보 및 프로세스 정보에 대한 상관 분석을 수행하고, 그 결과를 검출할 수 있다.According to an embodiment, the correlation analysis unit 500 may perform correlation analysis on API call order, vulnerability attack information, drop file information, dump information, malicious traffic information, and process information, and detect the result.

모니터링부(600)는, 가상 머신 분석부(100), 리얼 머신 분석부(200) 및 상관 분석부(500)가 수행한 분석 결과를 사용자에게 표시할 수 있다. The monitoring unit 600 may display the analysis results performed by the virtual machine analysis unit 100, the real machine analysis unit 200, and the correlation analysis unit 500 to the user.

일 실시 예에 따르면, 모니터링부(600)에 의해 사용자에게 표시되는 분석 결과는 상기 상관 분석부(500)에 의해 검출된 API 호출 순서 정보, 취약점 공격 정보, Drop file 정보, 덤프 정보, 악성트래픽 정보 및 프로세스 정보를 포함할 수 있다.According to an embodiment, the analysis results displayed to the user by the monitoring unit 600 include API call sequence information, vulnerability attack information, drop file information, dump information, and malicious traffic information detected by the correlation analysis unit 500. And process information.

일 실시 예에 따르면, 모니터링부(600)에 의해 사용자에게 표시되는 분석 결과는 악성코드 유형별 탐지 건수 통계, 악성코드 감염 추이, 국가별 유포지 차트, 레지스트리/API 함수 호출 정보, 악성코드의 메타정보/평판정보 등을 더 포함할 수 있다.According to an embodiment, the analysis result displayed to the user by the monitoring unit 600 includes statistics on the number of detections by malicious code type, trend of malicious code infection, distribution chart by country, registry / API function call information, meta information of malicious code / It may further include reputation information.

지금까지 본 발명의 일 실시 예에 따른 가상 및 리얼 머신 기반의 악성코드 탐지 시스템(10)의 구성에 대하여 상세히 살펴보았으며, 이하 전술한 가상 및 리얼 머신 기반의 악성코드 탐지 시스템(10)을 이용한 가상 및 리얼 머신 기반의 악성코드 탐지 방법에 대하여 설명한다.So far, the configuration of the virtual and real machine-based malware detection system 10 according to an embodiment of the present invention has been described in detail, and using the above-described virtual and real machine-based malware detection system 10. Describes how to detect malicious code based on virtual and real machines.

도 8은 본 발명의 일 실시 예에 따른 가상 및 리얼 머신 기반의 악성코드 탐지 방법을 나타낸 순서도이다.8 is a flowchart illustrating a method for detecting malicious codes based on virtual and real machines according to an embodiment of the present invention.

도 8을 참조하면, 가상 머신 분석부(100)가 가상 머신 환경에서 동적 분석을 수행하는 단계(S810), 우회로그 탐지부(130)가 분석대상 파일에 우회로그가 포함되어 있는지 판단하는 단계(S820), 리얼 머신 분석부(200)가 리얼 머신 환경에서 동적 분석을 수행하는 단계(S830), 가상 머신 분석부(100) 또는 리얼 머신 분석부(200)가 수행한 동적 분석 결과를 데이터베이스(300)에 저장하는 단계(S840), OSINT 수집부(400)가 외부 서버로부터 OSINT(Open Source Intelligence) 정보를 수집하는 단계(S850) 및 상관 분석부(500)가 외부 서버로부터 수집한 OSINT 정보 및 동적 분석 결과 정보를 이용하여 상관분석을 수행하는 단계(S860)를 포함할 수 있다.Referring to FIG. 8, the virtual machine analysis unit 100 performs dynamic analysis in a virtual machine environment (S810), and the bypass log detection unit 130 determines whether the analysis target file includes a bypass log ( S820), the real machine analysis unit 200 performs dynamic analysis in a real machine environment (S830), the virtual machine analysis unit 100 or the real machine analysis unit 200 performs the dynamic analysis results in the database 300 ) (S840), the OSINT collecting unit 400 collects OSINT (Open Source Intelligence) information from an external server (S850) and the OSINT information collected from the external server by the correlation analysis unit 500 and dynamic It may include the step of performing a correlation analysis using the analysis result information (S860).

일 실시 예에 따르면, 가상 머신 환경에서 동적 분석을 수행하는 단계(S810) 또는 리얼 머신 환경에서 동적 분석을 수행하는 단계(S830)는 하나 이상의 운영체제(OS: Operating System)에 대하여 동적 분석을 수행하는 단계를 포함할 수 있다.According to one embodiment, the step of performing dynamic analysis in a virtual machine environment (S810) or the step of performing dynamic analysis in a real machine environment (S830) performs dynamic analysis for one or more operating systems (OSs). It may include steps.

일 실시 예에 따른 가상 및 리얼 머신 기반의 악성코드 탐지 방법은, 상관 분석부(500)가 수행한 분석 결과를 사용자에게 표시하는 단계를 더 포함할 수 있다.The virtual and real machine-based malicious code detection method according to an embodiment may further include displaying an analysis result performed by the correlation analysis unit 500 to the user.

이상 본 발명의 일 실시 예에 따른 가상 및 리얼 머신 기반의 악성코드 탐지 방법에 대하여 설명하였다. 본 발명에 의하면, 종래 가상 머신에서 탐지하지 못했던 우회로그가 심어진 악성코드에 대해서 리얼 머신 환경에서 한 번 더 분석을 수행함으로써 더욱 정확한 악성코드 분석이 이루어질 수 있고, 동적 분석 결과 및 종래 알려진 공개 출처 정보(OSINT: Open Source INTelligence)를 이용해 상관분석을 실시함으로써, 신, 변종 악성코드에 대한 데이터베이스를 구축하고 효과적인 보안 솔루션을 제공할 수 있다.As described above, a method of detecting malicious codes based on virtual and real machines according to an embodiment of the present invention has been described. According to the present invention, more accurate analysis of malware can be performed by performing analysis once more in the real machine environment for malicious code in which bypass logs that are not detected in the conventional virtual machine are planted, dynamic analysis results and conventionally known public source information By performing correlation analysis using (OSINT: Open Source INTelligence), it is possible to build a database for new and variant malicious codes and provide effective security solutions.

또한, 가상 및 리얼 머신 기반의 악성코드 탐지 방법의 각 단계는, 가상 및 리얼 머신 기반의 악성코드 탐지 시스템(10)의 각 구성요소들에 의하여 수행될 수 있으며, 방법을 설명함에 있어 상세히 기재하지 않았더라도, 앞서 상술한 가상 및 리얼 머신 기반의 악성코드 탐지 시스템(10)의 각 구성요소들이 수행하는 기능들을 이용한 다양한 실시 예에 따른 가상 및 리얼 머신 기반의 악성코드 탐지 방법이 제공될 수 있음은 물론이다.In addition, each step of the virtual and real machine-based malware detection method may be performed by each component of the virtual and real machine-based malware detection system 10, which will not be described in detail in describing the method. Although not described above, the virtual and real machine-based malware detection method according to various embodiments using functions performed by the components of the virtual and real machine-based malware detection system 10 described above may be provided. Of course.

위에서 설명된 본 발명의 실시 예들은 예시의 목적을 위해 개시된 것이며, 이들에 의하여 본 발명이 한정되는 것은 아니다. 또한, 본 발명에 대한 기술 분야에서 통상의 지식을 가진 자라면, 본 발명의 사상과 범위 안에서 다양한 수정 및 변경을 가할 수 있을 것이며, 이러한 수정 및 변경은 본 발명의 범위에 속하는 것으로 보아야 할 것이다.The embodiments of the present invention described above are disclosed for purposes of illustration, and the present invention is not limited thereto. In addition, a person having ordinary knowledge in the technical field of the present invention will be able to make various modifications and changes within the spirit and scope of the present invention, and such modifications and changes should be regarded as belonging to the scope of the present invention.

10: 가상 및 리얼 머신 기반의 악성코드 탐지 시스템
100: 가상 머신 분석부 110: 가상 머신 생성부
120: 제1 동적 분석부 130: 우회로그 탐지부
200: 리얼 머신 분석부 210: 리얼 머신
220: 제2 동적 분석부 300: 데이터베이스
310: 동적 분석 결과 DB 320: OSINT 정보 DB
400: OSINT 수집부 500: 상관 분석부
600: 모니터링부
10: Virtual and real machine based malware detection system
100: virtual machine analysis unit 110: virtual machine creation unit
120: first dynamic analysis unit 130: bypass log detection unit
200: real machine analysis unit 210: real machine
220: second dynamic analysis unit 300: database
310: dynamic analysis result DB 320: OSINT information DB
400: OSINT collection unit 500: Correlation analysis unit
600: monitoring unit

Claims (15)

분석대상 파일에 대하여 가상 머신 환경에서 악성코드 탐지를 위한 동적 분석을 수행하는 가상 머신 분석부;
분석대상 파일에 대하여 리얼 머신 환경에서 악성코드 탐지를 위한 동적 분석을 수행하는 리얼 머신 분석부; 및
상기 가상 머신 분석부 또는 상기 리얼 머신 분석부가 수행한 분석 결과를 저장하는 데이터베이스;
를 포함하고,
상기 리얼 머신 분석부는,
상기 가상 머신 분석부를 우회하기 위한 우회로그가 포함된 분석대상 파일에 대하여 동적 분석을 수행하는,
가상 및 리얼 머신 기반의 악성코드 탐지 시스템.
A virtual machine analysis unit for performing dynamic analysis for malicious code detection in the virtual machine environment on the files to be analyzed;
A real machine analysis unit that performs dynamic analysis for malicious code detection in the real machine environment on the file to be analyzed; And
A database storing the analysis results performed by the virtual machine analysis unit or the real machine analysis unit;
Including,
The real machine analysis unit,
Dynamic analysis is performed on the analysis target file including the bypass log for bypassing the virtual machine analysis unit,
Malware detection system based on virtual and real machines.
제1항에 있어서,
상기 가상 머신 분석부는,
동적 분석을 실시하기 위한 가상 머신을 생성하는 가상 머신 생성부;
상기 가상 머신에서 동적 분석을 수행하는 제1 동적 분석부; 및
분석대상 파일에 가상 머신을 우회하기 위한 우회로그가 존재하는지 탐지하는 우회로그 탐지부;
를 포함하는,
가상 및 리얼 머신 기반의 악성코드 탐지 시스템.
According to claim 1,
The virtual machine analysis unit,
A virtual machine generator for generating a virtual machine for performing dynamic analysis;
A first dynamic analysis unit performing dynamic analysis on the virtual machine; And
A bypass log detection unit that detects whether a bypass log for bypassing the virtual machine exists in the file to be analyzed;
Containing,
Malware detection system based on virtual and real machines.
제1항에 있어서,
상기 리얼 머신 분석부는,
동적 분석을 실시하기 위한 하나 이상의 리얼 머신; 및
우회로그가 포함된 분석대상 파일에 대하여 리얼 머신에서 동적 분석을 수행하는 제2 동적 분석부;
를 포함하는,
가상 및 리얼 머신 기반의 악성코드 탐지 시스템.
According to claim 1,
The real machine analysis unit,
One or more real machines for performing dynamic analysis; And
A second dynamic analysis unit for performing dynamic analysis on a real machine on an analysis target file including a bypass log;
Containing,
Malware detection system based on virtual and real machines.
제1항에 있어서,
상기 가상 머신 분석부 및 리얼 머신 분석부는,
분석대상 파일의 악성코드 행위 및 네트워크 행위를 수집하여 동적 분석을 수행하는,
가상 및 리얼 머신 기반의 악성코드 탐지 시스템.
According to claim 1,
The virtual machine analysis unit and the real machine analysis unit,
Dynamic analysis is performed by collecting malicious code behaviors and network behaviors of files to be analyzed,
Malware detection system based on virtual and real machines.
제4항에 있어서,
상기 악성코드 행위는,
API 함수 호출, 프로세스, 레지스트리 변경, 서비스 변경 및 파일시스템 변경 중 어느 하나 이상을 포함하는,
가상 및 리얼 머신 기반의 악성코드 탐지 시스템.
The method of claim 4,
The malicious code behavior,
Includes any one or more of API function calls, processes, registry changes, service changes, and file system changes,
Malware detection system based on virtual and real machines.
제4항에 있어서,
상기 네트워크 행위는,
정보 유출 및 특정 포트 오픈 중 어느 하나 이상을 포함하는,
가상 및 리얼 머신 기반의 악성코드 탐지 시스템.
The method of claim 4,
The network behavior,
Containing any one or more of information disclosure and specific port opening,
Malware detection system based on virtual and real machines.
제1항에 있어서,
상기 가상 머신 분석부 및 리얼 머신 분석부는,
하나 이상의 운영체제(OS: Operating System)에 대하여 동적 분석을 수행하는,
가상 및 리얼 머신 기반의 악성코드 탐지 시스템.
According to claim 1,
The virtual machine analysis unit and the real machine analysis unit,
Performing dynamic analysis on one or more operating systems (OS),
Malware detection system based on virtual and real machines.
제7항에 있어서,
상기 리얼 머신 분석부는,
상기 하나 이상의 운영체제(OS)에 대한 동적 분석 결과에 따라 탐지된 악성코드에 취약할 것으로 분석되는 운영체제에 대한 정보를 순서대로 산출하는,
가상 및 리얼머신 기반의 악성코드 탐지 시스템.
The method of claim 7,
The real machine analysis unit,
In order to calculate information about the operating system that is analyzed to be vulnerable to the detected malicious code according to the dynamic analysis results of the one or more operating systems (OS),
Malware detection system based on virtual and real machines.
제1항에 있어서,
외부 서버로부터 OSINT(Open Source Intelligence) 정보를 수집하는 OSINT 수집부; 및
상기 외부 서버로부터 수집한 OSINT 정보 및 동적 분석 결과 정보를 이용하여 상관분석을 수행하는 상관 분석부;
를 더 포함하는,
가상 및 리얼 머신 기반의 악성코드 탐지 시스템.
According to claim 1,
An OSINT collection unit that collects Open Source Intelligence (OSINT) information from an external server; And
A correlation analysis unit performing correlation analysis using OSINT information collected from the external server and dynamic analysis result information;
Further comprising,
Malware detection system based on virtual and real machines.
제9항에 있어서,
상기 OSINT 정보는,
CVE 정보, 악성코드 평판 정보, C&C IP 정보 중 어느 하나 이상을 포함하는,
가상 및 리얼 머신 기반의 악성코드 탐지 시스템.
The method of claim 9,
The OSINT information,
CVE information, malicious code reputation information, including any one or more of C & C IP information,
Malware detection system based on virtual and real machines.
제9항에 있어서,
상기 OSINT 수집부는,
기 설정된 주기에 따라 자동으로 상기 OSINT 정보를 수집하는,
가상 및 리얼 머신 기반의 악성코드 탐지 시스템.
The method of claim 9,
The OSINT collection unit,
Collecting the OSINT information automatically according to a predetermined cycle,
Malware detection system based on virtual and real machines.
제9항에 있어서,
상기 가상 머신 분석부, 리얼 머신 분석부 및 상관 분석부가 수행한 분석 결과를 사용자에게 표시하는 모니터링부;
를 더 포함하는,
가상 및 리얼 머신 기반의 악성코드 탐지 시스템.
The method of claim 9,
A monitoring unit that displays an analysis result performed by the virtual machine analysis unit, the real machine analysis unit and the correlation analysis unit to the user;
Further comprising,
Malware detection system based on virtual and real machines.
가상 머신 분석부가 가상 머신 환경에서 동적 분석을 수행하는 단계;
리얼 머신 분석부가 리얼 머신 환경에서 동적 분석을 수행하는 단계; 및
상기 가상 머신 분석부 또는 리얼 머신 분석부가 수행한 동적 분석 결과를 데이터베이스에 저장하는 단계;
를 포함하고,
상기 리얼 머신 분석부는,
상기 가상 머신 분석부를 우회하기 위한 우회로그가 포함된 분석대상 파일에 대하여 동적 분석을 수행하는,
가상 및 리얼 머신 기반의 악성코드 탐지 방법.
A virtual machine analysis unit performing dynamic analysis in a virtual machine environment;
A real machine analysis unit performing dynamic analysis in a real machine environment; And
Storing dynamic analysis results performed by the virtual machine analysis unit or the real machine analysis unit in a database;
Including,
The real machine analysis unit,
Dynamic analysis is performed on the analysis target file including the bypass log for bypassing the virtual machine analysis unit,
Virtual and real machine based malware detection method.
제13항에 있어서,
상기 가상 머신 환경에서 동적 분석을 수행하는 단계 및 리얼 머신 환경에서 동적 분석을 수행하는 단계는,
하나 이상의 운영체제(OS: Operating System)에 대하여 동적 분석을 수행하는 단계;
를 포함하는,
가상 및 리얼 머신 기반의 악성코드 탐지 방법.
The method of claim 13,
The step of performing dynamic analysis in the virtual machine environment and the step of performing dynamic analysis in the real machine environment include:
Performing dynamic analysis on one or more operating systems (OSs);
Containing,
Virtual and real machine based malware detection method.
제14항에 있어서,
상기 리얼 머신 환경에서 동적 분석을 수행하는 단계는,
상기 하나 이상의 운영체제(OS)에 대한 동적 분석 결과에 따라 탐지된 악성코드에 취약할 것으로 분석되는 운영체제에 대한 정보를 순서대로 산출하는 단계;
를 더 포함하는, 가상 및 리얼 머신 기반의 악성코드 탐지 방법.
The method of claim 14,
In the real machine environment, performing dynamic analysis may include:
Calculating information on an operating system analyzed to be vulnerable to detected malicious codes according to a result of dynamic analysis of the one or more operating systems (OS) in order;
Further comprising, virtual and real machine-based malware detection method.
KR1020180141755A 2018-11-16 2018-11-16 System and method for detecting malignant code based on virtual and real machine KR102162995B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180141755A KR102162995B1 (en) 2018-11-16 2018-11-16 System and method for detecting malignant code based on virtual and real machine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180141755A KR102162995B1 (en) 2018-11-16 2018-11-16 System and method for detecting malignant code based on virtual and real machine

Publications (2)

Publication Number Publication Date
KR20200057402A true KR20200057402A (en) 2020-05-26
KR102162995B1 KR102162995B1 (en) 2020-10-07

Family

ID=70915218

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180141755A KR102162995B1 (en) 2018-11-16 2018-11-16 System and method for detecting malignant code based on virtual and real machine

Country Status (1)

Country Link
KR (1) KR102162995B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115664787A (en) * 2022-10-24 2023-01-31 惠州市德赛西威智能交通技术研究院有限公司 Automobile network vulnerability protection method, system, terminal equipment and medium
KR102495329B1 (en) * 2022-08-10 2023-02-06 (주)케이엔비씨 Malware detection system using lstm method to provide a service vaccine platform with high detction rate
KR20230038913A (en) * 2021-09-13 2023-03-21 한국과학기술원 Open-source intelligence forensic system and method of operating the same
US11930019B2 (en) 2021-04-21 2024-03-12 Saudi Arabian Oil Company Methods and systems for fast-paced dynamic malware analysis

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120130626A (en) * 2011-05-23 2012-12-03 한국전자통신연구원 Apparatus and method for detecting malignant code based on document
KR20160100626A (en) * 2015-02-16 2016-08-24 한국전자통신연구원 Computing device executing malicious code with using actual resources, server system managing information of malicious code, and electronic system including the same
KR20170089712A (en) * 2016-01-27 2017-08-04 한국인터넷진흥원 System for detecting malicious code and method thereof
KR20180001896A (en) * 2016-06-28 2018-01-05 한국전자통신연구원 Method for high-speed malware detection and visualization using behavior normalization and apparatus using the same
KR101819322B1 (en) 2016-03-16 2018-02-28 주식회사 엘지유플러스 Malicious Code Analysis Module and Method therefor

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120130626A (en) * 2011-05-23 2012-12-03 한국전자통신연구원 Apparatus and method for detecting malignant code based on document
KR20160100626A (en) * 2015-02-16 2016-08-24 한국전자통신연구원 Computing device executing malicious code with using actual resources, server system managing information of malicious code, and electronic system including the same
KR20170089712A (en) * 2016-01-27 2017-08-04 한국인터넷진흥원 System for detecting malicious code and method thereof
KR101819322B1 (en) 2016-03-16 2018-02-28 주식회사 엘지유플러스 Malicious Code Analysis Module and Method therefor
KR20180001896A (en) * 2016-06-28 2018-01-05 한국전자통신연구원 Method for high-speed malware detection and visualization using behavior normalization and apparatus using the same

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11930019B2 (en) 2021-04-21 2024-03-12 Saudi Arabian Oil Company Methods and systems for fast-paced dynamic malware analysis
KR20230038913A (en) * 2021-09-13 2023-03-21 한국과학기술원 Open-source intelligence forensic system and method of operating the same
KR102495329B1 (en) * 2022-08-10 2023-02-06 (주)케이엔비씨 Malware detection system using lstm method to provide a service vaccine platform with high detction rate
CN115664787A (en) * 2022-10-24 2023-01-31 惠州市德赛西威智能交通技术研究院有限公司 Automobile network vulnerability protection method, system, terminal equipment and medium

Also Published As

Publication number Publication date
KR102162995B1 (en) 2020-10-07

Similar Documents

Publication Publication Date Title
KR102306568B1 (en) Processor trace-based enforcement of control flow integrity in computer systems
KR102162995B1 (en) System and method for detecting malignant code based on virtual and real machine
Küchler et al. Does Every Second Count? Time-based Evolution of Malware Behavior in Sandboxes.
EP2237186B1 (en) Method for accelerating hardware emulator used for malware detection and analysis
US9917855B1 (en) Mixed analysys-based virtual machine sandbox
Kumara et al. Automated multi-level malware detection system based on reconstructed semantic view of executables using machine learning techniques at VMM
US8935782B2 (en) Malware detection via network information flow theories
CN103310152A (en) Kernel mode Rootkit detection method based on system virtualization technology
CN105760787A (en) System and method used for detecting malicious code of random access memory
Pektaş et al. A dynamic malware analyzer against virtual machine aware malicious software
Lee et al. Securing KVM-based cloud systems via virtualization introspection
Ortolani et al. KLIMAX: Profiling memory write patterns to detect keystroke-harvesting malware
Fischer et al. CloudIDEA: a malware defense architecture for cloud data centers
Alptekin et al. Trapdroid: Bare-metal android malware behavior analysis framework
EP4160455A1 (en) Behavior analysis based on finite-state machine for malware detection
Liu et al. RealDroid: Large-Scale Evasive Malware Detection on" Real Devices"
Pendergrass et al. Lkim: The linux kernel integrity measurer
Noorafiza et al. Vulnerability analysis using network timestamps in full virtualization virtual machine
Quist et al. Reversing compiled executables for malware analysis via visualization
Yonamine et al. Tamer: A Sandbox for Facilitating and Automating IoT Malware Analysis with Techniques to Elicit Malicious Behavior.
Albalawi et al. Protecting Shared Virtualized Environments against Cache Side-channel Attacks.
Tang et al. Virtav: An agentless antivirus system based on in-memory signature scanning for virtual machine
Tong et al. Attack detection based on machine learning algorithms for different variants of Spectre attacks and different Meltdown attack implementations
Buch et al. Trinetra: a solution to handle cross-vm time-driven attack
Kumara et al. Virtual machine introspection based spurious process detection in virtualized cloud computing environment

Legal Events

Date Code Title Description
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant