KR101937935B1 - Apparatus and method for storing audit trail according to virtual machine process execution - Google Patents

Apparatus and method for storing audit trail according to virtual machine process execution Download PDF

Info

Publication number
KR101937935B1
KR101937935B1 KR1020170113224A KR20170113224A KR101937935B1 KR 101937935 B1 KR101937935 B1 KR 101937935B1 KR 1020170113224 A KR1020170113224 A KR 1020170113224A KR 20170113224 A KR20170113224 A KR 20170113224A KR 101937935 B1 KR101937935 B1 KR 101937935B1
Authority
KR
South Korea
Prior art keywords
monitoring
execution
audit trail
event
monitoring event
Prior art date
Application number
KR1020170113224A
Other languages
Korean (ko)
Inventor
이현이
김성진
황우민
김성중
이철우
김병준
김형천
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to US15/975,932 priority Critical patent/US10802863B2/en
Application granted granted Critical
Publication of KR101937935B1 publication Critical patent/KR101937935B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action

Landscapes

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

Abstract

Disclosed are an apparatus and a method for storing an audit trace in accordance with virtual machine process execution. According to the present invention, the method for storing an audit trace performed by the apparatus for storing an audit trace in accordance with virtual machine process execution comprises the steps of: detecting execution of a process in a virtual machine; determining whether the executed process is a monitoring target process, and determining a type of the process; activating one or more monitoring events for monitoring at least one of upload, download and drop actions in accordance with the process based on the determination result; and storing generation information of the activated monitoring event as an audit trace.

Description

가상머신 프로세스 실행에 따른 감사 증적 저장 장치 및 방법{APPARATUS AND METHOD FOR STORING AUDIT TRAIL ACCORDING TO VIRTUAL MACHINE PROCESS EXECUTION}[0001] APPARATUS AND METHOD FOR STORING AUDIT TRAIL ACCORDING TO VIRTUAL MACHINE PROCESS EXECUTION [0002]

본 발명은 가상머신 내 프로세스의 실행에 따른 감사 증적 저장 기술에 관한 것으로, 특히 클라우드 컴퓨팅 환경에서, 가상머신 내에 보안에이전트를 설치하지 않고, 프로세스의 실행과 해당 프로세스를 통한 데이터의 유출 및 유입 행위를 모니터링하고, 증적하는 기술에 관한 것이다.The present invention relates to an audit trail storage technique for executing a process in a virtual machine. In particular, in a cloud computing environment, a security agent is not installed in a virtual machine, and execution of a process and data leakage / Monitoring, and scoring of the data.

사용자가 프로세스를 실행하여 수행하는 행위들은 각종 보안 사고를 유발할 수 있다. 예를 들어, 사용자가 이메일이나 파일공유 서비스 등을 통해 자료를 업로드하는 행위는, 기업의 중요 자료 유출 사고를 발생시킬 수 있으며, 이메일의 첨부파일을 다운로드받아 실행하거나 웹 사이트에 접속하는 행위는 악성 코드를 시스템에 유입시켜, 사이버 피해를 발생시킬 수 있다. Actions that a user executes by executing a process can cause various security incidents. For example, a user uploading data via e-mail or a file sharing service may cause an enterprise to leak important data, and downloading and executing an attachment of an e-mail or accessing a web site may cause malicious Codes can be injected into the system, causing cyber damage.

특히, 사용자가 아닌 드라이브 바이 다운로드(Drive-by-downloads)나 문서형 악성코드에 의해 발생하는 악성코드의 유입은, 언제, 어떻게 발생하는지 탐지하기 어렵다. In particular, it is difficult to detect when and how malicious code generated by drive-by-downloads or document malicious codes, rather than users, occurs.

대부분의 기업이나 공공기관들은 이러한 보안 사고를 방지하기 위하여, 상용 보안 소프트웨어의 설치를 강제하여 사고 발생 예상 경로를 차단한다. 그러나, 악의적인 사용자나 악성코드는 이러한 차단 항목들을 우회하거나, 무력화시키며, 이로 인하여 데이터 유입이나 유출에 따른 보안 사고가 발생한다. Most enterprises and public institutions are forced to install commercial security software in order to prevent such security incidents, thereby blocking the expected path of accidents. However, malicious users or malicious code can bypass or disable these blocking items, thereby causing security incidents due to data inflow or outflow.

특히, 클라우드 컴퓨팅 환경에서 이러한 보안 사고가 발생하는 경우, 사고 조사를 위해 필요한 증거인 데이터의 유출 방법 및 경로, 악성코드의 유입 방법 및 경로 등의 확보가 쉽지 않다. In particular, when such a security incident occurs in a cloud computing environment, it is not easy to secure a method and path for data leakage, a method of introducing malicious code, and a path, which are necessary evidence for an accident investigation.

자원의 생성, 삭제, 공유 등이 빈번하게 발생하는 클라우드 환경에서는, 사고 발생 후 조사 시점에 가상머신을 비롯한 가상 디스크가 삭제되거나, 데이터가 분산 저장되거나, 공동 사용되는 등의 이유로 사고 조사를 위해 필요한 증거 데이터가 존재하지 않을 수 있다. 또한, 경우에 따라 광범위하고 방대한 양의 데이터를 수집 및 분석해야하는 어려움이 발생할 수 있다. In a cloud environment where resource creation, deletion, and sharing are frequent occurrences, it is necessary to investigate the accident due to the fact that virtual disks including virtual machines are deleted, data is distributed, Evidence data may not exist. In addition, there may be difficulties in collecting and analyzing a vast amount of data in some cases.

따라서, 클라우드 컴퓨팅 환경에서 보안 사고가 발생한 경우, 분석 자료를 용이하게 확보할 수 있도록 하는 기술의 개발이 필요하다. Therefore, if a security incident occurs in a cloud computing environment, it is necessary to develop a technology that can easily obtain analysis data.

한국 등록 특허 제10-1405831호, 2014년 06월 11일 공개(명칭: 악성실행코드의 숙주 파일 탐지 시스템 및 방법)Korean Patent No. 10-1405831, published on June 11, 2014 (Name: System and Method for Detecting Host File of Malicious Code)

본 발명의 목적은 클라우드 컴퓨팅 환경에서, 보안 사고를 유발하는 사용자의 데이터 유출 및 유입 행위를 실시간으로 기록하는 것이다. An object of the present invention is to record in real time the data leakage and inflow of a user causing a security incident in a cloud computing environment.

또한, 본 발명의 목적은 침해 사고 발생 시, 사고 발생 시점의 부근에 대한 증거 데이터를 용이하게 확보할 수 있도록 하는 것이다. It is also an object of the present invention to make it possible to easily obtain evidence data in the vicinity of an accident occurrence time when an accident occurred.

또한, 본 발명의 목적은 가상머신 내 악의적인 사용자나 악성코드에 의한 우회 문제를 극복하기 위하여, 하이퍼바이저 기반으로 동작하는 감사 증적 저장 기술을 제공하는 것이다. It is also an object of the present invention to provide an audit trail storage technique that operates on a hypervisor basis to overcome the problem of bypassing a malicious user or malicious code in a virtual machine.

또한, 본 발명의 목적은 시스템에 악성 의심 파일이 유입되는 시점에 프로세스 및 파일의 정보를 실시간으로 기록하고, 악성 의심 파일에 의한 사고 발생을 예방할 수 있도록 하는 것이다. It is another object of the present invention to record information of a process and a file in real time at the time when a malicious suspicious file is introduced into the system, and to prevent an accident caused by a malicious suspicious file.

상기한 목적을 달성하기 위한 본 발명에 따른 가상머신 프로세스 실행에 따른 감사 증적 저장 장치에 의해 수행되는 감사 증적 저장 방법은 가상머신 내 프로세스의 실행을 탐지하는 단계, 실행된 상기 프로세스가 모니터링 대상 프로세스인지 여부를 판단하고, 상기 프로세스의 종류를 판단하는 단계, 판단 결과를 기반으로, 상기 프로세스에 따른 업로드, 다운로드 및 드롭 행위 중 적어도 어느 하나를 모니터링하기 위한 하나 이상의 모니터링 이벤트를 활성화하는 단계, 그리고 활성화된 상기 모니터링 이벤트의 발생 정보를 감사 증적으로 저장하는 단계를 포함한다. According to another aspect of the present invention, there is provided a method for storing an audit trail stored in an audit trail storage device, the method comprising: detecting execution of a process in a virtual machine; Determining a type of the process, activating one or more monitoring events for monitoring at least one of upload, download and drop actions according to the process based on the determination result, And storing the occurrence information of the monitoring event as an audit trail.

이때, 상기 모니터링 이벤트는, 실행파일 생성 모니터링 이벤트, 사용자 선택 다운로드 모니터링 이벤트, 파일 업로드 모니터링 이벤트, 파일 생성 모니터링 이벤트 및 이상 행위 모니터링 이벤트 중 적어도 어느 하나를 포함할 수 있다. At this time, the monitoring event may include at least one of an executable file generation monitoring event, a user selected download monitoring event, a file upload monitoring event, a file generation monitoring event, and an abnormal behavior monitoring event.

이때, 상기 모니터링 이벤트를 활성화하는 단계는, 탐지된 상기 프로세스가 상기 모니터링 대상 프로세스이고, 탐지된 상기 프로세스가 브라우저 프로세스인 경우, 상기 파일 업로드 모니터링 이벤트 및 상기 사용자 선택 다운로드 모니터링 이벤트 중 적어도 어느 하나의 상기 모니터링 이벤트를 활성화할 수 있다. At this time, the step of activating the monitoring event may include: if the detected process is the monitoring target process and the detected process is a browser process, the step of activating at least any one of the file upload monitoring event and the user- You can enable monitoring events.

이때, 상기 모니터링 이벤트를 활성화하는 단계는, 탐지된 상기 프로세스가 상기 모니터링 대상 프로세스이고, 탐지된 상기 프로세스가 문서 뷰어 프로세스인 경우, 상기 실행파일 생성 모니터링 이벤트를 활성화할 수 있다. At this time, the step of activating the monitoring event may activate the execution file generation monitoring event if the detected process is the monitoring target process and the detected process is a document viewer process.

이때, 탐지된 상기 프로세스가 상기 모니터링 대상 프로세스가 아닌 것으로 판단된 경우, 탐지된 상기 프로세스에 상응하는 감사 증적이 저장되어 있는지 여부를 판단하는 단계를 더 포함할 수 있다. If it is determined that the detected process is not the monitored process, it may further include determining whether an audit trail corresponding to the detected process is stored.

이때, 상기 모니터링 이벤트를 활성화하는 단계는, 탐지된 상기 프로세스에 상응하는 상기 감사 증적이 저장되어 있는 경우, 상기 프로세스의 종료 이벤트, 상기 파일 생성 모니터링 이벤트 및 상기 이상 행위 모니터링 이벤트 중 적어도 어느 하나의 상기 모니터링 이벤트를 활성화할 수 있다. At this time, the step of activating the monitoring event may include: if the audit trail corresponding to the detected process is stored, at least one of the end event of the process, the file generation monitoring event, You can enable monitoring events.

이때, 상기 프로세스의 실행을 탐지하는 단계는, 상기 가상머신 내 게스트 운영체제의 커널 영역 시스템 콜을 기반으로, 상기 가상머신 내 프로세스의 실행을 탐지할 수 있다. At this time, the step of detecting execution of the process may detect execution of a process in the virtual machine based on a kernel area system call of the guest operating system in the virtual machine.

이때, 상기 프로세스의 실행을 탐지하는 단계는, 프로세스 실행 시 호출되는 시스템 콜에 시스템 콜 브레이크 포인트를 설정하고, 설정된 상기 시스템 콜 브레이크 포인트 진입 시 상기 프로세스의 정보를 가리키는 구조체 주소를 획득할 수 있다. At this time, the step of detecting the execution of the process may set a system call break point in a system call that is called when a process is executed, and obtain a structure address indicating information of the process when entering the set system call break point.

이때, 상기 모니터링 이벤트를 활성화하는 단계는, 획득된 상기 구조체 주소로부터 상기 모니터링 대상 프로세스가 로드하는 라이브러리의 가상 주소를 탐색하고, 상기 모니터링 이벤트 발생 시 호출되는 사용자 API의 주소에 API 브레이크 포인트를 설정할 수 있다. In this case, the step of activating the monitoring event may include searching the virtual address of the library loaded by the monitoring target process from the obtained structure address, and setting an API breakpoint at the address of the user API called when the monitoring event is generated have.

이때, 상기 감사 증적으로 저장하는 단계는, 상기 API 브레이크 포인트에 진입 시, 상기 가상머신의 레지스터를 참조하여 모니터링 대상 프로세스 컨텍스트를 체크하는 단계, 그리고 상기 모니터링 대상 프로세스인 경우, 상기 API 브레이크 포인트의 주소에 상응하는 상기 모니터링 이벤트의 발생 정보를 상기 감사 증적으로 저장하는 단계를 포함할 수 있다. The step of storing the audit trail may include: checking a process context of the monitoring target by referring to a register of the virtual machine when entering the API breakpoint; and if the process is the monitoring target process, And storing the generation information of the monitoring event as the audit trail.

또한, 본 발명의 일실시예에 따른 가상머신 프로세스 실행에 따른 감사 증적 저장 장치는 가상머신 내 프로세스의 실행 및 종료 중 적어도 어느 하나를 탐지하고, 탐지된 상기 프로세스가 모니터링 대상 프로세스인지 여부를 판단하며, 탐지된 상기 프로세스의 종류를 판단하는 프로세스 실행 탐지부, 판단 결과를 기반으로, 상기 프로세스에 따른 업로드, 다운로드 및 드롭 행위 중 적어도 어느 하나를 모니터링하기 위한 하나 이상의 모니터링 이벤트를 활성화하는 프로세스 감사부, 그리고 활성화된 상기 모니터링 이벤트의 발생 정보를 감사 증적으로 저장하는 감사 증적 저장부를 포함한다. Also, the audit trail storage device according to an embodiment of the present invention detects at least one of execution and termination of a process in a virtual machine, determines whether the detected process is a monitoring target process A process execution detecting unit for determining a type of the detected process, and a process monitoring unit for activating at least one monitoring event for monitoring at least one of uploading, downloading and dropping according to the process based on a determination result, And an audit trail storage unit for storing information of occurrence of the activated monitoring event as an audit trail.

이때, 상기 프로세스 감사부는, 실행파일 생성 모니터링 이벤트, 사용자 선택 다운로드 모니터링 이벤트, 파일 업로드 모니터링 이벤트, 파일 생성 모니터링 이벤트 및 이상 행위 모니터링 이벤트 중 적어도 어느 하나를 포함하는 상기 모니터링 이벤트를 활성화할 수 있다. At this time, the process audit unit may activate the monitoring event including at least one of an executable file generation monitoring event, a user selected download monitoring event, a file upload monitoring event, a file generation monitoring event, and an abnormal behavior monitoring event.

이때, 상기 프로세스 감사부는, 탐지된 상기 프로세스가 상기 모니터링 대상 프로세스이고, 탐지된 상기 프로세스가 브라우저 프로세스인 경우, 상기 파일 업로드 모니터링 이벤트 및 상기 사용자 선택 다운로드 모니터링 이벤트 중 적어도 어느 하나의 상기 모니터링 이벤트를 활성화할 수 있다. At this time, if the detected process is the monitoring target process and the detected process is a browser process, the process audit unit activates the monitoring event of at least one of the file upload monitoring event and the user selected download monitoring event can do.

이때, 상기 프로세스 감사부는, 탐지된 상기 프로세스가 상기 모니터링 대상 프로세스이고, 탐지된 상기 프로세스가 문서 뷰어 프로세스인 경우, 상기 실행파일 생성 모니터링 이벤트를 활성화할 수 있다. At this time, the process audit unit may activate the execution file generation monitoring event when the detected process is the monitoring target process and the detected process is a document viewer process.

이때, 상기 프로세스 실행 탐지부는, 탐지된 상기 프로세스가 상기 모니터링 대상 프로세스가 아닌 것으로 판단된 경우, 탐지된 상기 프로세스에 상응하는 감사 증적이 저장되어 있는지 여부를 판단할 수 있다. At this time, if the detected process is determined not to be the monitoring target process, the process execution detection unit may determine whether an audit trail corresponding to the detected process is stored.

이때, 상기 프로세스 감사부는, 탐지된 상기 프로세스에 상응하는 상기 감사 증적이 저장되어 있는 경우, 상기 프로세스의 종료 이벤트, 상기 파일 생성 모니터링 이벤트 및 상기 이상 행위 모니터링 이벤트 중 적어도 어느 하나의 상기 모니터링 이벤트를 활성화할 수 있다. At this time, if the audit trail corresponding to the detected process is stored, the process audit unit activates the monitoring event of at least one of the end event of the process, the file generation monitoring event, and the abnormal behavior monitoring event can do.

이때, 상기 프로세스 실행 탐지부는, 상기 가상머신 내 게스트 운영체제의 커널 영역 시스템 콜을 기반으로, 상기 가상머신 내 프로세스의 실행을 탐지할 수 있다. At this time, the process execution detection unit may detect execution of a process in the virtual machine based on a kernel area system call of the guest operating system in the virtual machine.

이때, 상기 프로세스 실행 탐지부는, 프로세스 실행 시 호출되는 시스템 콜에 시스템 콜 브레이크 포인트를 설정하고, 설정된 상기 시스템 콜 브레이크 포인트 진입 시 상기 프로세스의 정보를 가리키는 구조체 주소를 획득할 수 있다. At this time, the process execution detection unit may set a system call break point in a system call that is called when the process is executed, and obtain a structure address indicating the information of the process when entering the set system call break point.

이때, 상기 프로세스 감사부는, 획득된 상기 구조체 주소로부터 상기 모니터링 대상 프로세스가 로드하는 라이브러리의 가상 주소를 탐색하고, 상기 모니터링 이벤트 발생 시 호출되는 사용자 API의 주소에 API 브레이크 포인트를 설정할 수 있다. At this time, the process audit unit searches for the virtual address of the library loaded by the monitoring target process from the obtained structure address, and sets an API breakpoint at the address of the user API called when the monitoring event occurs.

이때, 상기 프로세스 감사부는, 상기 API 브레이크 포인트에 진입 시, 상기 가상머신의 레지스터를 참조하여 모니터링 대상 프로세스 컨텍스트를 체크하고, 상기 모니터링 대상 프로세스인 경우 상기 감사 증적부로 상기 API 브레이크 포인트의 주소에 상응하는 상기 모니터링 이벤트의 발생 정보를 전달하고, 상기 감사 증적 저장부는, 상기 모니터링 이벤트의 발생 정보를 상기 감사 증적으로 저장할 수 있다. At this time, the process audit unit checks a monitoring target process context by referring to a register of the virtual machine when entering the API breakpoint, and if the monitoring target process is the monitoring target process, And transmits the occurrence information of the monitoring event, and the audit trail storage unit may store the occurrence information of the monitoring event as the audit trail.

본 발명에 따르면, 클라우드 컴퓨팅 환경에서, 보안 사고를 유발하는 사용자의 데이터 유출 및 유입 행위를 실시간으로 기록할 수 있다. According to the present invention, in a cloud computing environment, data leakage and inflow of a user causing a security incident can be recorded in real time.

또한 본 발명에 따르면, 침해 사고 발생 시, 사고 발생 시점의 부근에 대한 증거 데이터를 용이하게 확보할 수 있다. Further, according to the present invention, when an infringement accident occurs, evidence data about the vicinity of an accident occurrence point can be easily secured.

또한 본 발명에 따르면, 가상머신 내 악의적인 사용자나 악성코드에 의한 우회 문제를 극복하기 위하여, 하이퍼바이저 기반으로 동작하는 감사 증적 저장 기술을 제공할 수 있다. Also, according to the present invention, a hypervisor-based audit trail storage technology can be provided to overcome the problem of bypassing a malicious user or malicious code in a virtual machine.

또한 본 발명에 따르면, 시스템에 악성 의심 파일이 유입되는 시점에 프로세스 및 파일의 정보를 실시간으로 기록하고, 악성 의심 파일에 의한 사고 발생을 예방할 수 있다. In addition, according to the present invention, information of a process and a file can be recorded in real time at the time when a malicious suspicious file is introduced into the system, and an accident caused by a malicious suspicious file can be prevented.

도 1은 본 발명의 일실시예에 따른 가상머신 프로세스 실행에 따른 감사 증적 저장 장치가 적용되는 환경을 개략적으로 나타낸 도면이다.
도 2는 본 발명의 일실시예에 따른 가상머신 프로세스 실행에 따른 감사 증적 저장 장치의 구성을 나타낸 블록도이다.
도 3은 본 발명의 일실시예에 따른 가상머신 프로세스 실행에 따른 감사 증적 저장 방법을 설명하기 위한 순서도이다.
도 4는 프로세스를 통하여 시스템에 악성코드가 유입되는 경우를 설명하기 위한 도면이다.
도 5는 본 발명의 일실시예에 따른 모니터링 이벤트의 종류를 나타낸 도면이다.
도 6은 본 발명의 일실시예에 따른 가상머신 프로세스 실행에 따른 감사 증적 저장 장치의 기능 및 동작을 설명하기 위한 도면이다.
도 7은 본 발명의 일실시예에 따른 가상머신 프로세스 실행에 따른 감사 증적 저장 장치가 커널 영역의 시스템 콜을 통하여 모니터링을 수행하는 과정을 설명하기 위한 도면이다.
FIG. 1 is a diagram schematically illustrating an environment to which an audit trail storage device according to an embodiment of the present invention is applied.
2 is a block diagram illustrating a configuration of an audit trail storage device according to an embodiment of the present invention.
3 is a flowchart illustrating a method for storing an audit trail according to the execution of a virtual machine process according to an embodiment of the present invention.
4 is a view for explaining a case where a malicious code is introduced into the system through a process.
5 is a diagram illustrating a kind of a monitoring event according to an exemplary embodiment of the present invention.
6 is a diagram for explaining functions and operations of an audit trail storage device according to the execution of a virtual machine process according to an embodiment of the present invention.
7 is a diagram for explaining a process of monitoring an audit trail storage device according to the execution of a virtual machine process through a system call in a kernel area according to an embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세하게 설명하고자 한다.While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail.

그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used in this application is used only to describe a specific embodiment and is not intended to limit the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In the present application, the terms "comprises" or "having" and the like are used to specify that there is a feature, a number, a step, an operation, an element, a component or a combination thereof described in the specification, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the relevant art and are to be interpreted in an ideal or overly formal sense unless explicitly defined in the present application Do not.

이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In order to facilitate the understanding of the present invention, the same reference numerals are used for the same constituent elements in the drawings and redundant explanations for the same constituent elements are omitted.

도 1은 본 발명의 일실시예에 따른 가상머신 프로세스 실행에 따른 감사 증적 저장 장치가 적용되는 환경을 개략적으로 나타낸 도면이다. 1 is a diagram schematically illustrating an environment in which an audit trail storage device according to an embodiment of the present invention is applied.

도 1에 도시한 바와 같이, 본 발명의 일실시예에 따른 가상머신 프로세스 실행에 따른 감사 증적 저장 장치(200)는 가상머신(100)에 할당된 가상 CPU(121) 및 가상 메모리(125) 등의 가상 시스템 자원(120)의 모니터링을 수행할 수 있다. 1, the audit trail storage device 200 according to an embodiment of the present invention includes a virtual CPU 121 and a virtual memory 125 allocated to the virtual machine 100 The monitoring of the virtual system resources 120 may be performed.

이때, 가상머신 프로세스 실행에 따른 감사 증적 저장 장치(200)는 호스트 하이퍼바이저 영역(20)에서 실행되며, 가상화 영역(10)의 가상머신(100)에 할당된 가상 시스템 자원(120)을 모니터링한다. 즉, 본 발명의 일실시예에 따른 가상머신 프로세스 실행에 따른 감사 증적 저장 장치(200)는 가상머신 내 악의적인 사용자나 악성코드에 의한 우회가 어렵도록 하이퍼바이저 기반으로 동작한다. At this time, the audit trail storage device 200 according to the execution of the virtual machine process executes in the host hypervisor area 20 and monitors the virtual system resources 120 allocated to the virtual machine 100 of the virtualization area 10 . That is, the audit trail storage device 200 according to the embodiment of the present invention operates on a hypervisor so that it is difficult for a malicious user or a malicious code to bypass the virtual machine.

가상머신 프로세스 실행에 따른 감사 증적 저장 장치(200)는 가상머신(100)의 프로세스 생성 시 호출되는 SSDT의 서비스 호출을 탐지하여, 모니터링 대상 프로세스(115)인지 여부를 판단한다. The audit trail storage device 200 according to the execution of the virtual machine process detects a service call of the SSDT to be called when the process of the virtual machine 100 is created and determines whether the process is the monitoring target process 115.

그리고 가상머신 프로세스 실행에 따른 감사 증적 저장 장치(200)는 모니터링 대상 프로세스(115)의 실행이 탐지된 경우, 데이터 유출 및 유입 행위 시 호출되는 사용자 영역 API의 모니터링 이벤트를 활성화한다. When the execution of the monitoring target process 115 is detected, the audit trail storage device 200 according to the execution of the virtual machine process activates the monitoring event of the user area API invoked at the time of data leakage and inflow.

이때, 가상머신 프로세스 실행에 따른 감사 증적 저장 장치(200)는 모니터링 대상 프로세스인지 여부 및 프로세스의 종류 중 적어도 어느 하나를 기반으로, 활성화할 모니터링 이벤트의 종류를 결정할 수 있다. At this time, the audit trail storage device 200 according to the execution of the virtual machine process can determine the type of the monitoring event to be activated based on at least one of whether it is the monitored process or the type of the process.

활성화된 모니터링 이벤트에 의해 사용자 영역 API의 호출이 탐지된 경우, 가상머신 프로세스 실행에 따른 감사 증적 저장 장치(200)는 유출 또는 유입과 관련된 정보, 유입파일의 실행과 관련된 정보 등을 기록 저장소(300)에 저장한다. When a call to the user area API is detected by the activated monitoring event, the audit trail storage device 200 according to the execution of the virtual machine process stores the information related to the outflow or inflow, information related to the execution of the inflow file, ).

이하에서는 도 2를 통하여 본 발명의 일실시예에 따른 가상머신 프로세스 실행에 따른 감사 증적 저장 장치의 구성에 대하여 더욱 상세하게 설명한다. Hereinafter, the configuration of the audit trail storage device according to the embodiment of the present invention will be described in detail with reference to FIG.

도 2는 본 발명의 일실시예에 따른 가상머신 프로세스 실행에 따른 감사 증적 저장 장치의 구성을 나타낸 블록도이다. 2 is a block diagram illustrating a configuration of an audit trail storage device according to an embodiment of the present invention.

도 2와 같이, 가상머신 프로세스 실행에 따른 감사 증적 저장 장치(200)는 프로세스 실행 탐지부(210), 프로세스 감사부(220) 및 감사 증적 저장부(230)를 포함한다. 2, the audit trail storage 200 according to the execution of a virtual machine process includes a process execution detection unit 210, a process audit unit 220, and an audit trail storage unit 230. [

먼저, 프로세스 실행 탐지부(210)는 가상머신 내 프로세스의 실행 및 종료 중 적어도 어느 하나를 탐지한다. 프로세스 실행 탐지부(210)는 가상머신 내 게스트 운영체제의 커널 영역 시스템 콜을 기반으로, 프로세스의 실행 및 종료 이벤트를 모니터링할 수 있다. First, the process execution detection unit 210 detects at least one of execution and termination of a process in a virtual machine. The process execution detection unit 210 may monitor the execution and termination events of the process based on the kernel area system call of the guest operating system in the virtual machine.

프로세스 실행 탐지부(210)는 가상 CPU의 레지스터를 참조하여 게스트 운영체제의 커널영역 시스템 콜 목록 중에서, 프로세스 실행 시 호출되는 시스템 콜에 브레이크 포인트(Breakpoint)(시스템 콜 브레이크 포인트)를 설정한다. 그리고 프로세스 실행 탐지부(210)는 설정된 브레이크 포인트 진입 시 해당 프로세스의 정보를 가리키는 구조체 정보를 획득하여, 프로세스의 실행 이벤트를 모니터링할 수 있다. The process execution detection unit 210 sets breakpoints (system call break points) in a system call that is called when a process is executed, in the kernel area system call list of the guest operating system, by referring to the register of the virtual CPU. The process execution detection unit 210 may acquire structure information indicating the information of the process at the time of entry of the set breakpoint, and may monitor an execution event of the process.

프로세스 실행 탐지부(210)는 탐지된 프로세스가 모니터링 대상 프로세스인지 여부를 판단하고, 탐지된 프로세스의 종류를 판단한다. 프로세스 실행 탐지부(210)는 모니터링 대상 프로세스의 목록을 관리하며, 모니터링 대상 프로세스의 목록을 이용하여, 실행된 프로세스가 모니터링 대상 프로세스인지 여부를 판단할 수 있다. The process execution detection unit 210 determines whether the detected process is a monitoring target process, and determines the type of the detected process. The process execution detection unit 210 manages a list of monitored processes and can use the list of monitored processes to determine whether the executed process is a monitoring target process.

또한, 프로세스 실행 탐지부(210)는 탐지된 프로세스가 모니터링 대상 프로세스인 것으로 판단된 경우, 해당 프로세스가 브라우저 프로세스인지, 문서 뷰어 프로세스인지, 프로세스의 종류를 판단할 수 있다. If it is determined that the detected process is a monitoring target process, the process execution detection unit 210 may determine whether the process is a browser process, a document viewer process, or a process type.

그리고 프로세스 실행 탐지부(210)는 탐지된 프로세스가 모니터링 대상 프로세스가 아닌 것으로 판단된 경우, 탐지된 프로세스에 상응하는 감사 증적이 감사 증적 저장부(230)에 저장되어 있는지 여부를 판단한다. If it is determined that the detected process is not a monitoring target process, the process execution detection unit 210 determines whether an audit trail corresponding to the detected process is stored in the audit trail storage unit 230.

이때, 프로세스 실행 탐지부(210)는 탐지된 프로세스가 모니터링 대상 프로세스로부터 유입된 실행파일인지 여부를 판단하기 위하여, 탐지된 프로세스에 상응하는 감사 증적이 감사 증적 저장부(230)에 저장되어 있는지 여부를 판단할 수 있다. At this time, the process execution detection unit 210 determines whether the audit trail corresponding to the detected process is stored in the audit trail storage unit 230 in order to determine whether the detected process is an executable file that has been input from the monitoring target process Can be determined.

탐지된 프로세스가 감사 증적 저장부(230)의 감사 증적 기록에 포함되어 있는 경우, 프로세스 실행 탐지부(210)는 해당 프로세스가 모니터링 대상 프로세스로부터 유입된 실행파일인 것으로 판단할 수 있다. 반면, 탐지된 프로세스가 감사 증적 저장부(230)의 감사 증적 기록에 포함되어 있지 않은 경우, 프로세스 실행 탐지부(210)는 해당 프로세스가 모니터링 대상 프로세스로부터 유입된 실행파일이 아닌 것으로 판단할 수 있다. If the detected process is included in the audit trail record of the audit trail storage unit 230, the process execution detection unit 210 can determine that the process is an execution file that has been imported from the monitoring target process. On the other hand, if the detected process is not included in the audit trail record of the audit trail storage unit 230, the process execution detection unit 210 can determine that the process is not an execution file that has been imported from the monitoring target process .

다음으로 프로세스 감사부(220)는 프로세스 실행 탐지부(210)의 판단 결과를 기반으로, 모니터링 대상 프로세스의 행위를 모니터링하기 위한 모니터링 이벤트를 활성화한다. Next, the process audit unit 220 activates a monitoring event for monitoring the behavior of the monitoring target process based on the determination result of the process execution detection unit 210. [

프로세스 실행 탐지부(210)에 의해 모니터링 대상 프로세스의 실행이 탐지된 후, 프로세스 감사부(220)는 프로세스에 따른 업로드, 다운로드 및 드롭 행위 중 적어도 어느 하나를 모니터링하기 위하여 하나 이상의 모니터링 이벤트를 활성화할 수 있다. 그리고 활성화된 모니터링 이벤트가 발생한 경우, 프로세스 감사부(220)는 이벤트의 발생 정보를 기록하고, 파라미터를 통해 감사 증적으로 기록할 추가 정보를 획득할 수 있다. After the execution of the monitoring target process is detected by the process execution detection unit 210, the process monitoring unit 220 activates one or more monitoring events to monitor at least one of the upload, download and drop actions according to the process . When the activated monitoring event occurs, the process audit unit 220 records the occurrence information of the event and obtains additional information to be recorded as an audit trail through the parameter.

이때, 프로세스 감사부(220)는 프로세스 실행 탐지부(210)로부터 구조체 정보(구조체 주소)를 전달받고, 구조체 주소로부터 게스트 운영체제의 모니터링 대상 프로세스가 로드하는 라이브러리의 가상 주소를 탐색한다. At this time, the process audit unit 220 receives the structure information (structure address) from the process execution detection unit 210 and searches the virtual address of the library loaded by the monitored process of the guest operating system from the structure address.

그리고 프로세스 감사부(220)는 파일 업로드, 다운로드 및 드롭 행위 등의 감사 증적 대상이 되는 모니터링 이벤트 발생 시에 호출되는 사용자 API의 주소에 브레이크 포인트(API 브레이크 포인트)를 설정한다. Then, the process monitoring unit 220 sets a breakpoint (API breakpoint) at the address of the user API that is called when a monitoring event such as file upload, download, and drop action is generated.

설정된 브레이크 포인트에 진입 시, 프로세스 감사부(220)는 가상머신의 CR3 레지스터를 참조하여, 모니터링 대상 프로세스 컨텍스트를 체크한다. 그리고 모니터링 대상 프로세스인 경우, 프로세스 감사부(220)는 감사 증적 저장부(230)로 브레이크 포인트에 상응하는 모니터링 이벤트의 발생 정보를 전달한다. Upon entering the set breakpoint, the process audit unit 220 refers to the CR3 register of the virtual machine to check the monitored process context. In the case of a process to be monitored, the process audit unit 220 transmits the occurrence information of the monitoring event corresponding to the breakpoint to the audit trail storage unit 230.

여기서, 감사 증적 대상이 되는 모니터링 이벤트의 종류는 실행파일 생성 모니터링 이벤트, 사용자 선택 다운로드 모니터링 이벤트, 파일 업로드 모니터링 이벤트, 파일 생성 모니터링 이벤트 및 이상 행위 모니터링 이벤트 중 적어도 어느 하나를 포함할 수 있다. Here, the type of the monitoring event to be an audit trail may include at least one of an executable file generation monitoring event, a user selected download monitoring event, a file upload monitoring event, a file generation monitoring event, and an abnormal behavior monitoring event.

그리고 프로세스 감사부(220)는 탐지된 프로세스가 모니터링 대상 프로세스이고, 브라우저 프로세스인 경우, 파일 업로드 모니터링 이벤트 및 사용자 선택 다운로드 모니터링 이벤트를 활성화할 수 있다. The process audit unit 220 can activate the file upload monitoring event and the user-selected download monitoring event when the detected process is the monitored process and is a browser process.

또한, 프로세스 감사부(220) 탐지된 프로세스가 모니터링 대상 프로세스이고, 문서 뷰어 프로세스인 경우, 실행파일 생성 모니터링 이벤트를 활성화할 수 있다. In addition, if the process detected by the process audit unit 220 is a monitoring target process and is a document viewer process, an execution file generation monitoring event can be activated.

반면, 탐지된 프로세스가 모니터링 대상 프로세스가 아니고, 해당 프로세스가 모니터링 대상 프로세스로부터 유입된 실행파일인 것으로 판단된 경우, 프로세스의 종료 이벤트, 파일 생성 모니터링 이벤트 및 이상 행위 모니터링 이벤트를 활성화할 수 있다. On the other hand, if it is determined that the detected process is not a monitoring target process and that the process is an execution file imported from the monitoring target process, a process termination event, a file generation monitoring event, and an abnormal behavior monitoring event can be activated.

마지막으로, 감사 증적 저장부(230)는 활성화된 모니터링 이벤트의 발생 정보를 감사 증적으로 저장한다. 감사 증적 저장부(230)는 이벤트의 발생 정보 및 추가 정보를 수집 및 분류하여 기록 저장소에 저장할 수 있다. Lastly, the audit trail storage unit 230 stores the generated information of the activated monitoring event as an audit trail. The audit trail storage unit 230 may collect and classify the occurrence information and the additional information of the event and store the information in the record repository.

감사 증적 저장부(230)는 프로세스 감사부(220)로부터 브레이크 포인트(API 브레이크 포인트)의 주소에 상응하는 모니터링 이벤트의 발생 정보를 전달받아, 감사 증적으로 저장(기록)할 수 있다. 즉, 감사 증적 저장부(230)는 호스트 하이퍼바이저 영역의 기록 저장소에 파일의 유출 및 유입, 유입 파일의 실행 기록 등을 감사 증적 기록으로 저장할 수 있다. The audit trail storage unit 230 receives the generation information of the monitoring event corresponding to the address of the breakpoint (API breakpoint) from the process audit unit 220 and can store (record) the audit trail. That is, the audit trail storage unit 230 may store audit trail records of the inflow and outflow of the files and the execution records of the inflow files in the record repository of the host hypervisor area.

이하에서는 도 3 및 도 4를 통하여 본 발명의 일실시예에 따른 가상머신 프로세스 실행에 따른 감사 증적 저장 장치에 의해 수행되는 감사 증적 저장 방법에 대하여 더욱 상세하게 설명한다. Hereinafter, an audit trail storage method performed by the audit trail storage device according to the execution of the virtual machine process according to an embodiment of the present invention will be described in detail with reference to FIG. 3 and FIG.

도 3은 본 발명의 일실시예에 따른 가상머신 프로세스 실행에 따른 감사 증적 저장 방법을 설명하기 위한 순서도이다. 3 is a flowchart illustrating a method for storing an audit trail according to the execution of a virtual machine process according to an embodiment of the present invention.

먼저, 가상머신 프로세스 실행에 따른 감사 증적 저장 장치(200)는 가상머신 내 프로세스의 실행을 탐지한다(S310). 그리고 가상머신 프로세스 실행에 따른 감사 증적 저장 장치(200)는 탐지된 프로세스가 모니터링 대상 프로세스인지 여부를 판단한다(S320). First, the audit trail storage 200 according to the execution of the virtual machine process detects the execution of the process in the virtual machine (S310). The audit trail storage 200 according to the execution of the virtual machine process determines whether the detected process is a monitoring target process (S320).

이때, 가상머신 프로세스 실행에 따른 감사 증적 저장 장치(200)는 모니터링 대상 프로세스 목록을 기반으로, 실행된 프로세스가 모니터링 대상 프로세스인지 여부를 판단할 수 있다. At this time, the audit trail storage device 200 according to the execution of the virtual machine process can determine whether the executed process is a monitoring target process based on the monitoring target process list.

모니터링 대상 프로세스인 것으로 판단된 경우, 가상머신 프로세스 실행에 따른 감사 증적 저장 장치(200)는 탐지된 프로세스의 종류를 판단한다(S330). If it is determined that the process is the monitoring target process, the audit trail storage device 200 according to the execution of the virtual machine process determines the type of the detected process (S330).

가상머신 프로세스 실행에 따른 감사 증적 저장 장치(200)는 활성화할 모니터링 이벤트의 종류를 결정하기 위하여, 실행된 프로세스가 브라우저 프로세스인지, 문서 뷰어 프로세스인지 여부를 판단할 수 있다. The audit trail storage device 200 according to the execution of the virtual machine process can determine whether the executed process is a browser process or a document viewer process in order to determine the kind of a monitoring event to be activated.

도 4는 프로세스를 통하여 시스템에 악성코드가 유입되는 경우를 설명하기 위한 도면이다. 4 is a view for explaining a case where a malicious code is introduced into the system through a process.

도 4에 도시한 바와 같이, 악성 코드는 유입 행위를 목적으로 하는 다운로더(Downloader)나 드롭퍼(Dropper) 등에 의해 주로 시스템에 유입된다. 다운로더는 네트워크를 통해 다른 악성코드를 다운받아 실행하는 형태이다. 그리고 드롭퍼는 대상 시스템에 바이러스나 백도어 등의 악성코드를 설치하기 위해 설계된 프로그램으로, 악성코드는 드롭퍼 내에 포함되어 있어 탐지를 회피할 수 있으며, 실행된 이후에는 드롭퍼에 의해 악성코드가 다운로드되어 설치될 수 있다. As shown in FIG. 4, the malicious code is mainly introduced into the system by a downloader or a dropper for the purpose of inflow. The downloader is a type that downloads and executes other malicious code through the network. The dropper is a program designed to install a malicious code such as a virus or a backdoor in the target system. The malware is contained in the dropper and can be avoided. After the malware is executed, the malware is downloaded and installed by the dropper .

이러한 악성코드의 숙주가 되는 프로세스로는 웹 브라우저 프로세스와(Browser Process)(410) 문서 뷰어 프로세스(Document Viewer Process)(420)가 있다. 인터넷 익스플로어(Internet Explorer)나 크롬(Chrome) 등의 웹 브라우저 프로세스(410)를 통한 악성코드의 유입은 사용자가 인지한 다운로드 행위를 통해 유입되거나, 사용자가 인지하지 못한 채(무인지) 다운로드될 수 있다. 대표적으로 드라이브 바이 다운로드(Drive by download)와 같은 유형이 무인지 다운로드 형태이다. 그리고 PDF, MS office, 한글오피스 등과 같은 문서 뷰어 프로세스(420)를 통한 악성코드의 유입은 문서에 숨겨진 실행파일을 통해 발생한다. A process that becomes a host of such malicious code includes a web browser process and a browser process 410 and a document viewer process 420. The inflow of the malicious code through the web browser process 410 such as the Internet Explorer or the Chrome is infiltrated through the download action recognized by the user or is downloaded without being recognized by the user . Typically, a type such as Drive by download is a type of download. And the inflow of malicious code through the document viewer process 420, such as PDF, MS office, Hangul Office, etc., occurs through executable files hidden in the document.

이와 같이, 정상적인 웹 브라우저 프로세스(410)나 문서 뷰어 프로세스(420)를 통한 악성 실행파일의 유입(침투) 및 실행은 보안 사고의 탐지를 어렵게 하는 요인이다. Thus, infiltration and execution of a malicious executable file through the normal web browser process 410 or the document viewer process 420 is a factor that makes it difficult to detect security incidents.

따라서, 본 발명의 일실시예에 따른 가상머신 프로세스 실행에 따른 감사 증적 저장 장치(200)는 호스트 하이퍼바이저 영역에서 가상머신 내 프로세스의 실행을 탐지하고, 프로세스가 브라우저 프로세스(410)나 문서 뷰어 프로세스(420)인지 여부를 판단한다. 그리고 가상머신 프로세스 실행에 따른 감사 증적 저장 장치(200)는 판단된 프로세스의 종류에 상응하는 모니터링 이벤트를 활성화하고, 모니터링 이벤트의 발생 정보를 감사 증적으로 기록한다. Accordingly, the audit trail storage device 200 according to the embodiment of the present invention detects the execution of a process in a virtual machine in the host hypervisor area, and when the process is executed in the browser process 410 or the document viewer process (420). The audit trail storage device 200 according to the execution of the virtual machine process activates the monitoring event corresponding to the type of the determined process and records the occurrence information of the monitoring event as an audit trail.

이를 통하여 가상머신 프로세스 실행에 따른 감사 증적 저장 장치(200)는 정상 프로세스의 실행 중에 발생하는 행위에 의한 침해 사고 단서를 감사 증적으로 기록하며, 기록의 분석 시점에 따라 침해 사고의 발생을 방지할 수도 있다. Accordingly, the audit trail storage device 200 according to the execution of the virtual machine process records the evidence of the intrusion caused by the actions occurring during the execution of the normal process as an audit trail, and can prevent the occurrence of an intrusion accident have.

다시 도 3에 대하여 설명하면, 가상머신 프로세스 실행에 따른 감사 증적 저장 장치(200)는 프로세스의 종류에 상응하는 모니터링 이벤트를 활성화한다(S340). Referring again to FIG. 3, the audit trail storage device 200 according to the execution of the virtual machine process activates a monitoring event corresponding to the type of process (S340).

S330 단계에서 프로세스가 브라우저 프로세스인 것으로 판단된 경우, 가상머신 프로세스 실행에 따른 감사 증적 저장 장치(200)는 실행파일 데이터의 유출 행위를 탐지하기 위하여 파일 업로드 모니터링 이벤트를 활성화할 수 있다. 또한, 가상머신 프로세스 실행에 따른 감사 증적 저장 장치(200)는 다운로드 행위가 사용자가 인지한 다운로드인지 여부를 탐지하기 위하여 사용자 선택 다운로드 모니터링 이벤트를 활성화할 수 있다. If it is determined in step S330 that the process is a browser process, the audit trail storage device 200 according to the execution of the virtual machine process can activate the file upload monitoring event to detect an outflow behavior of the executable file data. In addition, the audit trail storage device 200 according to the execution of the virtual machine process can activate the user-selected download monitoring event to detect whether the downloading operation is a download recognized by the user.

S330 단계에서 프로세스가 문서뷰어 프로세스인 것으로 판단된 경우, 가상머신 프로세스 실행에 따른 감사 증적 저장 장치(200)는 실행파일을 다운로드하거나 드롭하는지 탐지하기 위하여, 실행파일 생성 모니터링을 활성화할 수 있다. If it is determined in step S330 that the process is a document viewer process, the audit trail storage device 200 according to the execution of the virtual machine process can activate executable file generation monitoring to detect whether the executable file is downloaded or dropped.

반면, S320 단계에서, 탐지된 프로세스가 모니터링 대상 프로세스가 아닌 것으로 판단된 경우, 가상머신 프로세스 실행에 따른 감사 증적 저장 장치(200)는 탐지된 프로세스가 모니터링 대상 프로세스로부터 유입된 실행파일인지 여부를 판단한다(S350). On the other hand, if it is determined in step S320 that the detected process is not the monitoring target process, the audit trail storage device 200 according to the execution of the virtual machine process determines whether the detected process is an executable file (S350).

가상머신 프로세스 실행에 따른 감사 증적 저장 장치(200)는 탐지된 프로세스에 상응하는 감사 증적이 감사 증적 기록으로 저장되어 있는지 여부를 판단하여, 해당 프로세스가 모니터링 대상 프로세스로부터 유입된 실행파일인지 여부를 판단할 수 있다. The audit trail storage device 200 according to the execution of the virtual machine process determines whether or not the audit trail corresponding to the detected process is stored as the audit trail record and judges whether or not the process is an executed file from the monitoring target process can do.

그리고 가상머신 프로세스 실행에 따른 감사 증적 저장 장치(200)는 탐지된 프로세스가 감사 증적 기록에 포함되어 있는 경우, 해당 프로세스가 모니터링 대상 프로세스로부터 유입된 실행파일인 것으로 판단할 수 있다. 반면, 탐지된 프로세스가 감사 증적 기록에 포함되어 있지 않은 경우, 가상머신 프로세스 실행에 따른 감사 증적 저장 장치(200)는 해당 프로세스가 모니터링 대상 프로세스로부터 유입된 실행파일이 아닌 것으로 판단할 수 있다.When the detected process is included in the audit trail record, the audit trail storage device 200 according to the execution of the virtual machine process can determine that the process is an executable file that has been imported from the monitored process. On the other hand, if the detected process is not included in the audit trail record, the audit trail storage device 200 according to the execution of the virtual machine process can determine that the process is not an executed file from the monitored process.

탐지된 프로세스가 모니터링 대상 프로세스로부터 유입된 실행파일인 것으로 판단된 경우(S350 YES), 가상머신 프로세스 실행에 따른 감사 증적 저장 장치(200)는 실행파일의 실행을 모니터링하기 위한 모니터링 이벤트를 활성화한다(S360). If it is determined that the detected process is an executable file imported from the monitoring target process (YES in S350), the audit trail storage device 200 in response to the execution of the virtual machine process activates a monitoring event for monitoring execution of the executable file S360).

가상머신 프로세스 실행에 따른 감사 증적 저장 장치(200)는 실행파일의 실행을 모니터링하기 위하여, 프로세스 종료 모니터링 이벤트, 파일 생성 모니터링 이벤트 및 이상행위 모니터링 이벤트 중 적어도 어느 하나의 모니터링 이벤트를 활성화할 수 있다. The audit trail storage device 200 in accordance with the execution of the virtual machine process can activate a monitoring event of at least one of a process termination monitoring event, a file generation monitoring event, and an abnormal behavior monitoring event to monitor the execution of the executable file.

탐지된 프로세스가 모니터링 대상 프로세스로부터 유입된 실행파일이 아닌 것으로 판단된 경우, 가상머신 프로세스 실행에 따른 감사 증적 저장 장치(200)는 감사 증적 저장 과정의 수행을 종료할 수 있다. If it is determined that the detected process is not an executable file imported from the monitoring target process, the audit trail storage device 200 according to the execution of the virtual machine process can terminate the process of storing the audit trail storage.

마지막으로, 가상머신 프로세스 실행에 따른 감사 증적 저장 장치(200)는 하나 이상의 모니터링 이벤트를 활성화 한 후, 모니터링 이벤트가 발생한 경우 모니터링 이벤트의 발생 정보를 감사 증적으로 저장한다(S370). Finally, the audit trail storage device 200 according to the execution of the virtual machine process activates one or more monitoring events and then stores the generation information of the monitoring event as an audit trail when a monitoring event occurs (S370).

가상머신 프로세스 실행에 따른 감사 증적 저장 장치(200)는 활성화된 모니터링 이벤트가 발생한 경우, 파라미터로부터 프로세스에 상응하는 파일의 경로 및 파일명 등을 획득하여 기록할 수 있다. 가상머신 프로세스 실행에 따른 감사 증적 저장 장치(200)가 활성화하는 모니터링 이벤트의 종류 및 모니터링 이벤트에 따라 기록되는 감사 증적의 정보에 대해서는 후술할 도 5를 통하여 더욱 상세하게 설명하기로 한다. When the activated monitoring event occurs, the audit trail storage device 200 according to the execution of the virtual machine process can obtain and record the path and file name of the file corresponding to the process from the parameter. The type of the monitoring event activated by the audit trail storage 200 according to the execution of the virtual machine process and the information of the audit trail recorded according to the monitoring event will be described in more detail with reference to FIG.

이하에서는 도 5를 통하여 본 발명의 일실시예에 따른 모니터링 이벤트의 종류에 대하여 더욱 상세하게 설명한다. Hereinafter, the types of monitoring events according to one embodiment of the present invention will be described in more detail with reference to FIG.

도 5는 본 발명의 일실시예에 따른 모니터링 이벤트의 종류를 나타낸 도면이다. 5 is a diagram illustrating a kind of a monitoring event according to an exemplary embodiment of the present invention.

도 5와 같이 모니터링 이벤트(500)는 프로세스 실행 이벤트(510), 프로세스 종료 이벤트(520), 실행파일 생성 이벤트(530), 사용자 선택 다운로드 이벤트(540), 파일 업로드 이벤트(550), 파일 생성 이벤트(560) 및 이상 행위 이벤트(570)를 포함할 수 있다. 그리고 각각의 모니터링 이벤트들(500)이 탐지될 경우 기록 및 획득되는 정보는 상이할 수 있다. 5, the monitoring event 500 includes a process execution event 510, a process termination event 520, an execution file creation event 530, a user selection download event 540, a file upload event 550, (560) and an anomaly event (570). And the information recorded and obtained when each of the monitoring events 500 is detected may be different.

먼저, 프로세스 실행 이벤트(510)는 사용자 프로세스의 실행을 탐지한다. 프로세스 실행 이벤트(510) 발생 시, 가상머신 프로세스 실행에 따른 감사 증적 저장 장치(200)는 파라미터를 통해 실행된 프로세스의 정보를 획득하고, 획득된 정보를 기반으로 해당 프로세스가 모니터링 대상 프로세스인지 여부를 판단할 수 있다. First, the process execution event 510 detects the execution of the user process. Upon occurrence of the process execution event 510, the audit trail storage device 200 according to the execution of the virtual machine process acquires the information of the executed process through the parameters, and determines whether the process is a monitoring target process It can be judged.

그리고 가상머신 프로세스 실행에 따른 감사 증적 저장 장치(200)는 모니터링 대상 프로세스인 것으로 판단된 경우, 해당 프로세스의 행위를 모니터링하기 위하여 다른 모니터링 이벤트를 활성화할 수 있다. When it is determined that the audit trail storage device 200 according to the execution of the virtual machine process is a monitoring target process, another monitoring event can be activated to monitor the behavior of the process.

프로세스 종료 이벤트(520)는 유입된 실행파일의 종료를 탐지하며, 탐지 시 실행파일의 종료 시간을 기록할 수 있다. The process termination event 520 detects the termination of the incoming executable file and records the termination time of the executable file upon detection.

다음으로 실행파일 생성 이벤트(530)는 모니터링 대상 프로세스가 실행파일을 다운로드 또는 드롭하는 행위를 탐지하기 위한 이벤트로, 실행파일 생성 이벤트 발생 시 가상머신 프로세스 실행에 따른 감사 증적 저장 장치(200)는 파라미터를 통해 생성되는 실행파일의 경로 및 파일 명 등을 획득하여 기록할 수 있다. Next, the executable file generation event 530 is an event for detecting an action of the monitoring target process downloading or dropping the executable file. When the executable file generation event occurs, the audit trail storage device 200, The path and the file name of the executable file generated through the execution of the program can be acquired and recorded.

그리고 사용자 선택 다운로드 이벤트(540)는 브라우저 프로세스를 통한 다운로드가 사용자가 인지 및 동의한 다운로드인지 여부를 모니터링하는 이벤트이다. 사용자 선택 다운로드 이벤트(540)는 다운로드가 수행될 때 탐지되며, 가상머신 프로세스 실행에 따른 감사 증적 저장 장치(200)는 사용자 선택 다운로드 이벤트(540) 발생 시 사용자 선택 다운로드 여부를 기록하고, 파라미터를 통해 파일의 경로 및 파일 명 등을 획득하여 기록할 수 있다. The user-selected download event 540 is an event that monitors whether or not the download through the browser process is a user-recognized and agreed-upon download. The user select download event 540 is detected when the download is performed and the audit trail storage device 200 according to the execution of the virtual machine process records whether or not the user select download event occurs when the user select download event 540 occurs, The path and file name of the file can be obtained and recorded.

파일 업로드 이벤트(550)는 외부로 파일을 유출하는 행위를 모니터링하기 위한 이벤트로, 파일 업로드 이벤트(550)는 브라우저 프로세스의 실행으로 파일을 열 때 탐지되며, 가상머신 프로세스 실행에 따른 감사 증적 저장 장치(200)는 파일 업로드 이벤트(550)가 탐지된 경우 파라미터로부터 유출 파일의 경로 및 파일 명을 획득하여 기록할 수 있다. The file upload event 550 is an event for monitoring an outflow of a file. The file upload event 550 is detected when a file is opened by execution of a browser process. The control unit 200 can obtain and record the path and file name of the outflow file from the parameter when the file upload event 550 is detected.

다음으로 파일 생성 이벤트(560)는 유입된 실행파일의 실행에 따라 파일이 다운로드되거나 생성되는 것을 모니터링하기 위한 이벤트로, 가상머신 프로세스 실행에 따른 감사 증적 저장 장치(200)는 파일 생성 이벤트(560)가 탐지될 경우 파일의 소유 프로세스 정보, 생성된(다운로드 된) 파일의 경로 및 파일 명 등을 기록할 수 있다. Next, the file generation event 560 is an event for monitoring that a file is downloaded or generated according to the execution of the imported executable file. The audit trail storage device 200 according to the execution of the virtual machine process generates a file creation event 560, It is possible to record the file ownership process information, the path and file name of the created (downloaded) file, and the like.

마지막으로 이상 행위 이벤트(570)는 기 정의된 이상 행위 목록을 기반으로, 이상 행위를 모니터링하는 이벤트이다. 여기서, 이상 행위는 악성 의심 행위를 의미하며 예를 들어 다른 프로세스에 DLL 인젝션(DLL Injection)을 시도하는 경우 가상머신 프로세스 실행에 따른 감사 증적 저장 장치(200)는 DLL 인젝션 수행 시 사용되는 사용자 API의 호출을 탐지하고, 파라미터를 통해 정보를 획득하여 기록할 수 있다. Finally, the abnormal action event (570) is an event that monitors the abnormal action based on the predefined abnormal action list. Here, the abnormal operation means a malicious suspicious activity. For example, when DLL injection is attempted in another process, the audit trail storage device 200 according to the execution of the virtual machine process stores the user API It can detect the call and obtain and record the information through the parameters.

이하에서는 도 6 및 도 7을 통하여 본 발명의 일실시예에 따른 가상머신 프로세스 실행에 따른 감사 증적 저장 장치의 기능 및 동작에 대하여 더욱 상세하게 설명한다. Hereinafter, the function and operation of the audit trail storage device according to the embodiment of the present invention will be described in more detail with reference to FIG. 6 and FIG. 7. FIG.

도 6은 본 발명의 일실시예에 따른 가상머신 프로세스 실행에 따른 감사 증적 저장 장치의 기능 및 동작을 설명하기 위한 도면이고, 도 7은 본 발명의 일실시예에 따른 가상머신 프로세스 실행에 따른 감사 증적 저장 장치가 커널 영역의 시스템 콜을 통하여 모니터링을 수행하는 과정을 설명하기 위한 도면이다.FIG. 6 is a view for explaining the functions and operation of the audit trail storage device according to the execution of a virtual machine process according to an embodiment of the present invention. FIG. FIG. 4 is a diagram illustrating a process of performing a monitoring through a system call in a kernel area.

도 6에 도시한 바와 같이, 가상머신 프로세스 실행에 따른 감사 증적 저장 장치(200)의 프로세스 실행 탐지부(210)는 프로세스 생성 이벤트를 통하여 프로세스의 실행을 모니터링하고, 실행된 프로세스의 정보를 획득한다. As shown in FIG. 6, the process execution detection unit 210 of the audit trail storage device 200 according to the execution of the virtual machine process monitors the execution of the process through the process generation event, and obtains the information of the executed process .

프로세스 실행 탐지부(210)는 사용자 프로세스 생성 시 호출되는 SSDT(System Service Dispatch Table)의 서비스 호출을 탐지하여, 생성된 프로세스가 모니터링 대상 프로세스인지 확인할 수 있다. 또한, 프로세스 실행 탐지부(210)는 프로세스의 종료 이벤트를 탐지할 수 있으며, 모니터링 대상 프로세스의 목록을 관리할 수 있다. The process execution detection unit 210 can detect a service call of a system service dispatch table (SSDT) that is called when a user process is generated, and confirm that the generated process is a monitoring target process. In addition, the process execution detection unit 210 can detect an end event of a process, and can manage a list of processes to be monitored.

도 7에 도시한 바와 같이, 프로세스 실행 탐지부(210)는 가상 CPU(vCPU)의 레지스터를 참조하여, 게스트 운영체제의 커널 영역 시스템 콜 목록(SSDT/System Call Table) 중에서 사용자 프로세스 실행 시 호출되는 시스템 콜에 브레이크 포인트(Breakpoint)를 설정한다. 그리고 설정된 브레이크 포인트에 진입 시, 프로세스 실행 탐지부(210)는 가상 CPU(vCPU)의 레지스터로부터 프로세스 정보를 가리키는 구조체의 주소(EPROCESS 주소)를 획득한다. 7, the process execution detection unit 210 refers to a register of a virtual CPU (vCPU) and searches for a kernel system area list (SSDT / System Call Table) of a guest operating system Set a breakpoint in the call. Upon entering the set breakpoint, the process execution detection unit 210 obtains the address (EPROCESS address) of the structure pointing to the process information from the register of the virtual CPU (vCPU).

모니터링 대상 프로세스의 실행이 탐지된 후, 프로세스 감사부(220)는 모니터링 대상 프로세스(115)의 업로드, 다운로드 및 드롭 행위 중 적어도 어느 하나를 모니터링하기 위한 모니터링 이벤트를 활성화한다. After the execution of the monitoring target process is detected, the process monitoring unit 220 activates a monitoring event for monitoring at least one of the uploading, downloading, and dropping actions of the monitoring target process 115.

모니터링 이벤트는 파일 업로드, 파일 생성, 파일 다운로드를 모니터링하는 것으로, 특히 파일 다운로드가 사용자가 인지 및 동의한 다운로드인지 여부를 모니터링 할 수 있다. Monitoring events monitor file uploads, file creation, and file downloads, and in particular, monitor whether a file download is a user-recognized and agreed-upon download.

프로세스 감사부(220)는 도 7과 같이 구조체의 주소(EPROCESS 주소)로부터 게스트 운영체제의 모니터링 대상 프로세스가 로드하는 라이브러리의 가상 주소를 찾는다. 그리고 프로세스 감사부(220)는 파일 업로드, 다운로드 및 드롭 행위 등의 감사 증적 대상이 되는 모니터링 이벤트 발생 시 호출되는 사용자 API 주소에 브레이크 포인트(API 브레이크 포인트)를 설정한다. The process monitoring unit 220 searches for the virtual address of the library loaded by the monitoring target process of the guest operating system from the address (EPROCESS address) of the structure as shown in FIG. The process monitoring unit 220 sets a breakpoint (API breakpoint) at a user API address that is called when a monitoring event such as a file upload, a download, and a drop operation is generated as an object of an audit trail.

또한, 프로세스 감사부(220)는 도 6에 도시한 바와 같이 이상 행위 목록을 관리하고, 이상 행위 목록을 기반으로 프로세스의 이상 행위를 모니터링하는 모니터링 이벤트를 활성화할 수 있다. 그리고 프로세스 감사부(220)는 모니터링 이벤트의 발생 정보를 감사 증적 저장부(230)에 기록한다.Also, as shown in FIG. 6, the process audit unit 220 may manage the abnormal behavior list and activate the monitoring event that monitors the abnormal behavior of the process based on the abnormal behavior list. The process audit unit 220 records the occurrence information of the monitoring event in the audit trail storage unit 230.

설정된 API 브레이크 포인트에 진입 시, 프로세스 감사부(220)는 가상머신의 CR3 레지스터를 참조하여 모니터링 대상 프로세스 컨텍스트를 체크하고, 모니터링 대상 프로세스인 경우 감사 증적 저장부(230)로 API 브레이크 포인트의 주소에 상응하는 모니터링 이벤트의 발생 정보를 전달한다. When entering the set API breakpoint, the process monitoring unit 220 checks the monitoring target process context by referring to the CR3 register of the virtual machine. If the monitoring target process is the monitoring target process, the process monitoring unit 220 checks the address of the API breakpoint And transmits the occurrence information of the corresponding monitoring event.

모니터링 이벤트의 발생 정보를 전달받은 감사 증적 저장부(230)는 증적 자료인 모니터링 이벤트의 발생 정보 및 추가 정보를 수집하고 분류하며, 기록 저장소(300)에 저장한다. 또한, 감사 증적 저장부(230)는 기록 저장소(300)를 관리하거나, 외부 연동 인터페이스를 지원할 수 있다. The audit trail storage unit 230 that receives the occurrence information of the monitoring event collects and classifies the generation information and the additional information of the monitoring event which is the trace data, and stores the information in the recording repository 300. In addition, the audit trail storage unit 230 may manage the record repository 300 or support an external interlocking interface.

이와 같이, 본 발명의 일실시예에 따른 가상머신 프로세스 실행에 따른 감사 증적 저장 장치(200)는 보안 사고가 발생하기 이전에, 보안 사고를 유발하는 데이터의 유출입 행위를 실시간으로 탐지 및 감사 증적할 수 있다. 그리고 가상머신 프로세스 실행에 따른 감사 증적 저장 장치(200)는 운영체제 외부의 하이퍼바이저 영역에서 동작하며, 사용자나 의심 악성코드에 의해 발생하는 API 및 파일 접근을 실시간으로 모니터링하여, 기록할 수 있다. As described above, the audit trail storage device 200 according to the embodiment of the present invention can detect and authenticate the data inflow / outflow activity that causes the security incident in real time before the occurrence of the security incident . The audit trail storage device 200 according to the execution of the virtual machine process operates in the hypervisor area outside the operating system and can monitor and record API and file accesses caused by the user or suspicious malicious code in real time.

이상에서와 같이 본 발명에 따른 가상머신 프로세스 실행에 따른 감사 증적 저장 장치 및 방법은 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다. As described above, the apparatus and method for storing an audit trail according to the execution of a virtual machine process according to the present invention are not limited to the configuration and method of the embodiments described above, but various modifications may be made to the embodiments All or some of the embodiments may be selectively combined.

10: 가상화 영역 20: 호스트 하이퍼바이저 영역
100: 가상머신 110: 가상머신 운영체제
115: 모니터링 대상 프로세스 120: 가상 시스템 자원
121: 가상 CPU 125: 가상 메모리
200: 가상머신 프로세스 실행에 따른 감사 증적 저장 장치
210: 프로세스 실행 탐지부 220: 프로세스 감사부
230: 감사 증적 저장부 300: 기록 저장소
410: 브라우저 프로세스 420: 문서 뷰어 프로세스
500: 모니터링 이벤트 510: 프로세스 실행 이벤트
520: 프로세스 종료 이벤트 530: 실행파일 생성 이벤트
540: 사용자 선택 다운로드 이벤트
550: 파일 업로드 이벤트 560: 파일 생성 이벤트
570: 이상행위 이벤트
10: virtualization area 20: host hypervisor area
100: virtual machine 110: virtual machine operating system
115: monitored process 120: virtual system resource
121: virtual CPU 125: virtual memory
200: Audit Trail Storage Device for Virtual Machine Process Execution
210: Process execution detection unit 220: Process audit unit
230: audit trail storage 300: record storage
410: Browser Processes 420: Document Viewer Process
500: Monitoring Event 510: Process Execution Event
520: Process Termination Event 530: Executable File Creation Event
540: User Select Download Event
550: File upload event 560: File creation event
570: Abnormal activity event

Claims (20)

가상머신 프로세스 실행에 따른 감사 증적 저장 장치에 의해 수행되는 감사 증적 저장 방법에 있어서,
가상머신 내 프로세스의 실행을 탐지하는 단계,
실행된 상기 프로세스가 모니터링 대상 프로세스인지 여부를 판단하고, 상기 프로세스의 종류를 판단하는 단계,
판단 결과를 기반으로, 상기 프로세스에 따른 업로드, 다운로드 및 드롭 행위 중 적어도 어느 하나를 모니터링하기 위한 하나 이상의 모니터링 이벤트를 활성화하는 단계,
활성화된 상기 모니터링 이벤트의 발생 정보를 감사 증적으로 저장하는 단계, 그리고
탐지된 상기 프로세스가 상기 모니터링 대상 프로세스가 아닌 것으로 판단된 경우, 탐지된 상기 프로세스에 상응하는 감사 증적이 저장되어 있는지 여부를 판단하는 단계를 포함하는 것을 특징으로 하는 가상머신 프로세스 실행에 따른 감사 증적 저장 방법.
An audit trail storage method performed by an audit trail storage device according to a virtual machine process execution,
Detecting execution of a process in the virtual machine,
Determining whether the executed process is a monitoring target process, determining a type of the process,
Activating one or more monitoring events for monitoring at least one of upload, download and drop actions according to the process based on the determination result;
Storing the generation information of the activated monitoring event as an audit trail, and
Determining whether the detected process is not the monitoring target process, and determining whether an audit trail corresponding to the detected process is stored if the detected process is not the monitoring target process. Way.
제1항에 있어서,
상기 모니터링 이벤트는,
실행파일 생성 모니터링 이벤트, 사용자 선택 다운로드 모니터링 이벤트, 파일 업로드 모니터링 이벤트, 파일 생성 모니터링 이벤트 및 이상 행위 모니터링 이벤트 중 적어도 어느 하나를 포함하는 것을 특징으로 하는 가상머신 프로세스 실행에 따른 감사 증적 저장 방법.
The method according to claim 1,
The monitoring event includes:
A file creation monitoring event, a file creation monitoring event, a user selection download monitoring event, a file upload monitoring event, a file generation monitoring event, and an abnormal activity monitoring event.
제2항에 있어서,
상기 모니터링 이벤트를 활성화하는 단계는,
탐지된 상기 프로세스가 상기 모니터링 대상 프로세스이고, 탐지된 상기 프로세스가 브라우저 프로세스인 경우, 상기 파일 업로드 모니터링 이벤트 및 상기 사용자 선택 다운로드 모니터링 이벤트 중 적어도 어느 하나의 상기 모니터링 이벤트를 활성화하는 것을 특징으로 하는 가상머신 프로세스 실행에 따른 감사 증적 저장 방법.
3. The method of claim 2,
Wherein activating the monitoring event comprises:
Activates the monitoring event of at least one of the file upload monitoring event and the user selected download monitoring event when the detected process is the monitoring target process and the detected process is a browser process. Method for storing audit trail according to process execution.
제2항에 있어서,
상기 모니터링 이벤트를 활성화하는 단계는,
탐지된 상기 프로세스가 상기 모니터링 대상 프로세스이고, 탐지된 상기 프로세스가 문서 뷰어 프로세스인 경우, 상기 실행파일 생성 모니터링 이벤트를 활성화하는 것을 특징으로 하는 가상머신 프로세스 실행에 따른 감사 증적 저장 방법.
3. The method of claim 2,
Wherein activating the monitoring event comprises:
And activating the executable file generation monitoring event when the detected process is the monitoring target process and the detected process is a document viewer process.
삭제delete 제2항에 있어서,
상기 모니터링 이벤트를 활성화하는 단계는,
탐지된 상기 프로세스에 상응하는 상기 감사 증적이 저장되어 있는 경우, 상기 프로세스의 종료 이벤트, 상기 파일 생성 모니터링 이벤트 및 상기 이상 행위 모니터링 이벤트 중 적어도 어느 하나의 상기 모니터링 이벤트를 활성화하는 것을 특징으로 하는 가상머신 프로세스 실행에 따른 감사 증적 저장 방법.
3. The method of claim 2,
Wherein activating the monitoring event comprises:
And activates the monitoring event of at least one of an end event of the process, a file creation monitoring event, and an abnormal action monitoring event when the audit trail corresponding to the detected process is stored. Method for storing audit trail according to process execution.
제1항에 있어서,
상기 프로세스의 실행을 탐지하는 단계는,
상기 가상머신 내 게스트 운영체제의 커널 영역 시스템 콜을 기반으로, 상기 가상머신 내 프로세스의 실행을 탐지하는 것을 특징으로 하는 가상머신 프로세스 실행에 따른 감사 증적 저장 방법.
The method according to claim 1,
Wherein detecting the execution of the process comprises:
Wherein the execution of the process in the virtual machine is detected based on a kernel area system call of the guest operating system in the virtual machine.
제7항에 있어서,
상기 프로세스의 실행을 탐지하는 단계는,
프로세스 실행 시 호출되는 시스템 콜에 시스템 콜 브레이크 포인트를 설정하고, 설정된 상기 시스템 콜 브레이크 포인트 진입 시 상기 프로세스의 정보를 가리키는 구조체 주소를 획득하는 것을 특징으로 하는 가상머신 프로세스 실행에 따른 감사 증적 저장 방법.
8. The method of claim 7,
Wherein detecting the execution of the process comprises:
A system call breakpoint is set in a system call that is called when a process is executed, and a structure address indicating information of the process is acquired when the system call breakpoint is set.
제8항에 있어서,
상기 모니터링 이벤트를 활성화하는 단계는,
획득된 상기 구조체 주소로부터 상기 모니터링 대상 프로세스가 로드하는 라이브러리의 가상 주소를 탐색하고, 상기 모니터링 이벤트 발생 시 호출되는 사용자 API의 주소에 API 브레이크 포인트를 설정하는 것을 특징으로 하는 가상머신 프로세스 실행에 따른 감사 증적 저장 방법.
9. The method of claim 8,
Wherein activating the monitoring event comprises:
A process of searching for a virtual address of a library loaded by the monitoring target process from the obtained structure address and setting an API breakpoint at an address of a user API called when the monitoring event is generated Trace storage method.
제9항에 있어서,
상기 감사 증적으로 저장하는 단계는,
상기 API 브레이크 포인트에 진입 시, 상기 가상머신의 레지스터를 참조하여 모니터링 대상 프로세스 컨텍스트를 체크하는 단계, 그리고
상기 모니터링 대상 프로세스인 경우, 상기 API 브레이크 포인트의 주소에 상응하는 상기 모니터링 이벤트의 발생 정보를 상기 감사 증적으로 저장하는 단계를 포함하는 것을 특징으로 하는 가상머신 프로세스 실행에 따른 감사 증적 저장 방법.
10. The method of claim 9,
Wherein storing the audit trail comprises:
Checking the monitoring target process context by referring to the register of the virtual machine when the API breakpoint is entered, and
And storing the generation information of the monitoring event corresponding to the address of the API breakpoint as the audit trail in the case of the monitoring target process.
가상머신 내 프로세스의 실행 및 종료 중 적어도 어느 하나를 탐지하고, 탐지된 상기 프로세스가 모니터링 대상 프로세스인지 여부를 판단하며, 탐지된 상기 프로세스의 종류를 판단하는 프로세스 실행 탐지부,
판단 결과를 기반으로, 상기 프로세스에 따른 업로드, 다운로드 및 드롭 행위 중 적어도 어느 하나를 모니터링하기 위한 하나 이상의 모니터링 이벤트를 활성화하는 프로세스 감사부, 그리고
활성화된 상기 모니터링 이벤트의 발생 정보를 감사 증적으로 저장하는 감사 증적 저장부를 포함하고,
상기 프로세스 실행 탐지부는,
탐지된 상기 프로세스가 상기 모니터링 대상 프로세스가 아닌 것으로 판단된 경우, 탐지된 상기 프로세스에 상응하는 감사 증적이 저장되어 있는지 여부를 판단하는 것을 특징으로 하는 가상머신 프로세스 실행에 따른 감사 증적 저장 장치.
A process execution detection unit for detecting at least one of execution and termination of a process in a virtual machine, determining whether the detected process is a monitoring target process, and determining a type of the detected process,
And activating one or more monitoring events for monitoring at least one of upload, download and drop actions according to the process, based on the determination result, and
And an audit trail storage unit for storing the generated occurrence information of the monitoring event as an audit trail,
The process execution detection unit detects,
And if the detected process is determined not to be the monitoring target process, determines whether or not an audit trail corresponding to the detected process is stored.
제11항에 있어서,
상기 프로세스 감사부는,
실행파일 생성 모니터링 이벤트, 사용자 선택 다운로드 모니터링 이벤트, 파일 업로드 모니터링 이벤트, 파일 생성 모니터링 이벤트 및 이상 행위 모니터링 이벤트 중 적어도 어느 하나를 포함하는 상기 모니터링 이벤트를 활성화하는 것을 특징으로 하는 가상머신 프로세스 실행에 따른 감사 증적 저장 장치.
12. The method of claim 11,
The process-
A file upload monitoring event, a file generation monitoring event, and an abnormal activity monitoring event, in response to the execution of the virtual machine process execution event Trace storage.
제12항에 있어서,
상기 프로세스 감사부는,
탐지된 상기 프로세스가 상기 모니터링 대상 프로세스이고, 탐지된 상기 프로세스가 브라우저 프로세스인 경우, 상기 파일 업로드 모니터링 이벤트 및 상기 사용자 선택 다운로드 모니터링 이벤트 중 적어도 어느 하나의 상기 모니터링 이벤트를 활성화하는 것을 특징으로 하는 가상머신 프로세스 실행에 따른 감사 증적 저장 장치.
13. The method of claim 12,
The process-
Activates the monitoring event of at least one of the file upload monitoring event and the user selected download monitoring event when the detected process is the monitoring target process and the detected process is a browser process. Audit trail storage device according to process execution.
제12항에 있어서,
상기 프로세스 감사부는,
탐지된 상기 프로세스가 상기 모니터링 대상 프로세스이고, 탐지된 상기 프로세스가 문서 뷰어 프로세스인 경우, 상기 실행파일 생성 모니터링 이벤트를 활성화하는 것을 특징으로 하는 가상머신 프로세스 실행에 따른 감사 증적 저장 장치.
13. The method of claim 12,
The process-
And activating the executable file generation monitoring event when the detected process is the monitoring target process and the detected process is a document viewer process.
삭제delete 제12항에 있어서,
상기 프로세스 감사부는,
탐지된 상기 프로세스에 상응하는 상기 감사 증적이 저장되어 있는 경우, 상기 프로세스의 종료 이벤트, 상기 파일 생성 모니터링 이벤트 및 상기 이상 행위 모니터링 이벤트 중 적어도 어느 하나의 상기 모니터링 이벤트를 활성화하는 것을 특징으로 하는 가상머신 프로세스 실행에 따른 감사 증적 저장 장치.
13. The method of claim 12,
The process-
And activates the monitoring event of at least one of an end event of the process, a file creation monitoring event, and an abnormal action monitoring event when the audit trail corresponding to the detected process is stored. Audit trail storage device according to process execution.
제11항에 있어서,
상기 프로세스 실행 탐지부는,
상기 가상머신 내 게스트 운영체제의 커널 영역 시스템 콜을 기반으로, 상기 가상머신 내 프로세스의 실행을 탐지하는 것을 특징으로 하는 가상머신 프로세스 실행에 따른 감사 증적 저장 장치.
12. The method of claim 11,
The process execution detection unit detects,
Wherein the execution of the process in the virtual machine is detected based on a kernel area system call of the guest operating system in the virtual machine.
제17항에 있어서,
상기 프로세스 실행 탐지부는,
프로세스 실행 시 호출되는 시스템 콜에 시스템 콜 브레이크 포인트를 설정하고, 설정된 상기 시스템 콜 브레이크 포인트 진입 시 상기 프로세스의 정보를 가리키는 구조체 주소를 획득하는 것을 특징으로 하는 가상머신 프로세스 실행에 따른 감사 증적 저장 장치.
18. The method of claim 17,
The process execution detection unit detects,
A system call breakpoint is set in a system call that is called when a process is executed, and a structure address indicating the information of the process is acquired when the system call breakpoint is set.
제18항에 있어서,
상기 프로세스 감사부는,
획득된 상기 구조체 주소로부터 상기 모니터링 대상 프로세스가 로드하는 라이브러리의 가상 주소를 탐색하고, 상기 모니터링 이벤트 발생 시 호출되는 사용자 API의 주소에 API 브레이크 포인트를 설정하는 것을 특징으로 하는 가상머신 프로세스 실행에 따른 감사 증적 저장 장치.
19. The method of claim 18,
The process-
A process of searching for a virtual address of a library loaded by the monitoring target process from the obtained structure address and setting an API breakpoint at an address of a user API called when the monitoring event is generated Trace storage.
제19항에 있어서,
상기 프로세스 감사부는,
상기 API 브레이크 포인트에 진입 시, 상기 가상머신의 레지스터를 참조하여 모니터링 대상 프로세스 컨텍스트를 체크하고, 상기 모니터링 대상 프로세스인 경우 상기 감사 증적 저장부로 상기 API 브레이크 포인트의 주소에 상응하는 상기 모니터링 이벤트의 발생 정보를 전달하고,
상기 감사 증적 저장부는,
상기 모니터링 이벤트의 발생 정보를 상기 감사 증적 저장부로 저장하는 것을 특징으로 하는 가상머신 프로세스 실행에 따른 감사 증적 저장 장치.
20. The method of claim 19,
The process-
When the access point enters the API breakpoint, checks the monitoring target process context by referring to the register of the virtual machine, and if the monitoring target process is the monitoring target process, generates information about occurrence of the monitoring event corresponding to the address of the API breakpoint Lt; / RTI >
The audit trail storage unit stores,
And stores the generation information of the monitoring event in the audit trail storage unit.
KR1020170113224A 2017-07-07 2017-09-05 Apparatus and method for storing audit trail according to virtual machine process execution KR101937935B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/975,932 US10802863B2 (en) 2017-07-07 2018-05-10 Apparatus and method for storing audit trail in response to virtual-machine process execution

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170086565 2017-07-07
KR20170086565 2017-07-07

Publications (1)

Publication Number Publication Date
KR101937935B1 true KR101937935B1 (en) 2019-04-11

Family

ID=66167219

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170113224A KR101937935B1 (en) 2017-07-07 2017-09-05 Apparatus and method for storing audit trail according to virtual machine process execution

Country Status (1)

Country Link
KR (1) KR101937935B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102470010B1 (en) * 2022-05-26 2022-11-23 시큐레터 주식회사 Method and apparatus for blocking malicious non-portable executable file using reversing engine and cdr engine

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101405831B1 (en) 2013-01-29 2014-06-11 주식회사 잉카인터넷 system and method for detecting host file of malicious execution code
KR20160030385A (en) * 2013-07-05 2016-03-17 비트데펜더 아이피알 매니지먼트 엘티디 Process Evaluation for Malware Detection in Virtual Machines
KR20170041618A (en) * 2015-10-07 2017-04-17 한국전자통신연구원 Apparatus and method for monitoring virtual machine based on hypervisor

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101405831B1 (en) 2013-01-29 2014-06-11 주식회사 잉카인터넷 system and method for detecting host file of malicious execution code
KR20160030385A (en) * 2013-07-05 2016-03-17 비트데펜더 아이피알 매니지먼트 엘티디 Process Evaluation for Malware Detection in Virtual Machines
KR20170041618A (en) * 2015-10-07 2017-04-17 한국전자통신연구원 Apparatus and method for monitoring virtual machine based on hypervisor

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102470010B1 (en) * 2022-05-26 2022-11-23 시큐레터 주식회사 Method and apparatus for blocking malicious non-portable executable file using reversing engine and cdr engine
WO2023229065A1 (en) * 2022-05-26 2023-11-30 시큐레터 주식회사 Method and device for blocking malicious non-portable executable file by utilizing reversing engine and cdr engine

Similar Documents

Publication Publication Date Title
RU2645268C2 (en) Complex classification for detecting malware
KR101647487B1 (en) Analysis system and method for patch file
EP3039608B1 (en) Hardware and software execution profiling
US7665139B1 (en) Method and apparatus to detect and prevent malicious changes to tokens
Rhee et al. Defeating dynamic data kernel rootkit attacks via vmm-based guest-transparent monitoring
Krishnan et al. Trail of bytes: efficient support for forensic analysis
Malik et al. System call analysis of android malware families
WO2018174990A1 (en) Automatic detection of software that performs unauthorized privilege escalation
CN109074450B (en) Threat defense techniques
WO2014177044A1 (en) File system level data protection during potential security breach
CA2874489A1 (en) Methods and apparatus for identifying and removing malicious applications
Vokorokos et al. Application security through sandbox virtualization
KR101816751B1 (en) Apparatus and method for monitoring virtual machine based on hypervisor
CN114258527A (en) Behavior-based VM resource Capture for forensics
Milenkoski et al. Evaluation of intrusion detection systems in virtualized environments using attack injection
US10802863B2 (en) Apparatus and method for storing audit trail in response to virtual-machine process execution
KR101937935B1 (en) Apparatus and method for storing audit trail according to virtual machine process execution
Ren et al. Tenants attested trusted cloud service
Reeves Autoscopy Jr.: Intrusion detection for embedded control systems
Chevalier et al. Survivor: a fine-grained intrusion response and recovery approach for commodity operating systems
AT&T
Sharma et al. Malware analysis for android operating
US11763004B1 (en) System and method for bootkit detection
EP2819055B1 (en) System and method for detecting malicious software using malware trigger scenarios
Giuffrida et al. Memoirs of a browser: A cross-browser detection model for privacy-breaching extensions