KR101880689B1 - Apparatus and method for detecting malicious code - Google Patents

Apparatus and method for detecting malicious code Download PDF

Info

Publication number
KR101880689B1
KR101880689B1 KR1020160139437A KR20160139437A KR101880689B1 KR 101880689 B1 KR101880689 B1 KR 101880689B1 KR 1020160139437 A KR1020160139437 A KR 1020160139437A KR 20160139437 A KR20160139437 A KR 20160139437A KR 101880689 B1 KR101880689 B1 KR 101880689B1
Authority
KR
South Korea
Prior art keywords
file
suspicious
malicious
host
execution
Prior art date
Application number
KR1020160139437A
Other languages
Korean (ko)
Other versions
KR20180045397A (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 KR1020160139437A priority Critical patent/KR101880689B1/en
Publication of KR20180045397A publication Critical patent/KR20180045397A/en
Application granted granted Critical
Publication of KR101880689B1 publication Critical patent/KR101880689B1/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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine

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

본 발명에 따르면, 악성코드 진단에 있어서, 호스트에 존재하는 파일들에 대한 정보를 기초로 해당 파일들을 악성으로 의심되는 의심 파일과 악성으로 의심되지 않는 정상 파일로 분류하고, 의심 파일의 실행에 따른 프로세스는 호스트의 자원과 격리된 가상화 공간에서 실행되도록 함으로써 악성행위의 실행에 의한 호스트 자원의 피해를 방지시키면서 보다 정확하게 악성코드를 진단할 수 있도록 한다. According to the present invention, in the malicious code diagnosis, the files are classified into suspicious malicious files and malicious malicious files based on the information on the files existing on the host, The process is run in a virtualized space isolated from the host's resources so that malicious code can be diagnosed more accurately while preventing damage to host resources by the execution of malicious behavior.

Description

악성코드 진단장치 및 방법{APPARATUS AND METHOD FOR DETECTING MALICIOUS CODE}[0001] APPARATUS AND METHOD FOR DETECTING MALICIOUS CODE [0002]

본 발명은 악성코드 진단장치 및 방법에 관한 것이다. 보다 자세하게는 호스트에 존재하는 파일들에 대한 정보를 기초로 해당 파일들을 악성으로 의심되는 의심 파일과 악성으로 의심되지 않는 정상 파일로 분류하고, 의심 파일의 실행에 따른 프로세스는 호스트의 자원과 격리된 가상화 공간에서 실행되도록 함으로써 해당 파일 또는 해당 프로세스의 악성 여부를 진단하는 장치 및 방법에 관한 것이다.
The present invention relates to an apparatus and a method for diagnosing malicious codes. More specifically, based on the information on the files existing on the host, the files are classified into suspicious files suspected of being malicious and normal files suspected of being malicious, And a device and a method for diagnosing whether the file or the process is malicious by being executed in a virtualization space.

근래에 들어, 인터넷 기술의 급속한 발전과 인터넷 보급의 확대에 따라 사용자 PC의 보안을 위협하는 유해 프로그램이 갈수록 지능화, 다양화되고 있다. 이러한 유해 프로그램은 사용자 PC에 침투하여 사용자의 의도와는 무관한 작업을 처리하거나 비정상적인 기능을 수행하는 프로그램으로서, 바이러스, 웜, 트로이목마, 백도어, 스파이웨어 등의 프로그램을 통칭한다. Recently, due to the rapid development of internet technology and the spread of internet, harmful programs that threaten the security of user PCs have become more intelligent and diversified. Such a harmful program is a program that infiltrates into a user's PC to process an operation irrelevant to a user's intention or perform an abnormal function, and collects programs such as a virus, a worm, a Trojan horse, a backdoor and a spyware.

이러한, 유해 프로그램은 그 종류에 따라서 다양한 형태가 존재하지만, 다른 프로그램 또는 운영 체제에 접근하여 코드를 변경시키거나 정보를 추출하는 동작, 비정상적인 네트워크 패킷을 송수신하는 동작 또는 보안 프로그램으로부터 자신의 존재를 숨기기 위한 은닉 행위와 같은 일반적인 프로그램과는 다른 이상 행동을 수행한다는 공통적인 특성을 가지고 있다.Such a harmful program may have various forms according to its type, but it may be a program that accesses another program or an operating system to change a code or extract information, an operation of transmitting or receiving an abnormal network packet, And the other is an abnormal behavior that is different from a general program such as concealment.

한편, 위와 같은 악성코드를 탐지하기 위한 방법으로, 종래에는 시그니처 기반 탐지, 행위 기반 탐지, 서버 기반 탐지 등의 방법이 제안되어 사용되고 있다.In the meantime, signature-based detection, behavior-based detection, and server-based detection methods have been proposed and used as methods for detecting malicious codes as described above.

이중 시그니처 기반 탐지 방법에서는 이미 알려진 형태의 유해 프로그램에 대한 정보(예를 들면, 이진 코드 중의 특정 부분에 대한 패턴 정보)를 기초로 해당 유해 프로그램을 검출하거나 그 실행을 차단시킨다. In the dual signature-based detection method, the harmful program is detected or its execution is blocked on the basis of information on a harmful program of a known type (for example, pattern information on a specific part of the binary code).

그러나 이와 같은 시그니처 기반 탐지 방법은 그 패턴이 등록되어 있지 않거나 알려지지 않은 유해 프로그램에 대해서는 거의 대응할 수 없다는 문제점이 있다.However, such a signature-based detection method has a problem that it can hardly cope with a harmful program whose pattern is not registered or unknown.

이와 같은 문제점을 보완하기 위한 방법으로 보안 프로그램의 업데이트 탐지 정책에 의존하지 않고, 컴퓨팅 장치 내에서 일어나는 여러 가지 상태들을 모니터링하여 악성 프로그램의 감염 여부 및 차단을 수행하는 행위 기반 탐지 방법이 제안되어 있으나, 행위 기반 탐지의 경우 실제 환경에서 프로세스가 실행되는 관계로 탐지에 실패하는 경우 실제 환경의 자원이 손상되는 문제점이 있다. In order to overcome such a problem, an action-based detection method has been proposed in which malicious programs are infected and blocked by monitoring various states occurring in the computing device without depending on the update detection policy of the security program, In the case of the behavior based detection, if the detection fails due to the execution of the process in the real environment, the resource of the actual environment is damaged.

또한, 서버 기반 가상 분석의 경우 의심 파일을 서버에 전송하여 분석 완료 시까지 기다려야 하기 때문에 성능 및 사용성, 네트워크 문제에 따라 정확한 탐지가 어려운 문제점이 있다.
In case of server-based virtual analysis, suspicious files must be transmitted to the server and wait until the analysis is completed. Therefore, it is difficult to accurately detect the server based on performance, usability, and network problems.

(특허문헌)(Patent Literature)

대한민국 등록특허번호 10-1086203호(등록일자 2011년 11월 17일)
Korean Registered Patent No. 10-1086203 (Registration date November 17, 2011)

따라서, 본 발명에서는 호스트에 존재하는 파일들에 대한 정보를 기초로 해당 파일들을 악성으로 의심되는 의심 파일과 악성으로 의심되지 않는 정상 파일로 분류하고, 의심 파일의 실행에 따른 프로세스는 호스트의 자원과 격리된 가상화 공간에서 실행되도록 함으로써 해당 파일 또는 해당 프로세스의 악성 여부를 진단하는 장치 및 방법을 제공하고자 한다.
Therefore, according to the present invention, the files are classified into suspicious files suspected to be malicious and normal files suspected to be malicious based on information on files existing on the host, And to provide an apparatus and method for diagnosing whether the file or the process is malicious by being executed in an isolated virtualization space.

상술한 본 발명은 호스트에 존재하는 파일에 대한 정보를 기초로 상기 파일이 악성으로 의심되면 의심 파일로 분류하는 파일 분류부와, 상기 의심 파일에 대한 실행 요청이 있는지를 감시하는 파일 실행 감시부와, 상기 실행 요청이 있으면 상기 의심 파일의 실행으로 실행될 의심 프로세스를 상기 호스트의 자원과 격리된 가상화 공간에서 격리 실행시키는 격리 실행 처리부와, 상기 의심 프로세스에 의하여 악성 행위가 수행되는지를 감시하는 악성 행위 감시부와, 상기 악성 행위가 수행되면 상기 의심 파일 또는 상기 의심 프로세스를 악성코드로 진단하는 악성 진단부를 포함한다.According to another aspect of the present invention, there is provided a file management system including a file classifying unit for classifying a file as a suspicious file if the file is suspected to be malicious based on information about a file existing in the host, a file execution monitoring unit for monitoring whether there is an execution request for the suspicious file, A quarantine execution processor for quarantining suspicious processes to be executed by execution of the suspicious file in a virtualization space isolated from the resources of the host when the execution request is received; and a malicious activity monitoring unit for monitoring malicious actions performed by the suspicious process And a malignancy diagnosis unit for diagnosing the suspicious file or the suspicious process as a malicious code if the malicious action is performed.

또한, 상기 파일 분류부는, 상기 파일 중에서 악성으로 의심되지 않는 파일을 정상파일로 분류하고, 상기 파일 실행 감시부는 상기 정상 파일에 대한 실행 요청이 있는지를 감시하며, 상기 악성코드 진단장치는, 상기 정상 파일에 대한 실행 요청이 상기 의심 프로세스에 의한 것인지를 체크하는 프로세스 관리부를 더 포함하며, 상기 격리 실행 처리부는, 상기 정상 파일에 대한 실행 요청이 상기 의심 프로세스에 의한 것이면 상기 정상 파일의 실행으로 실행될 프로세스를 상기 가상화 공간에서 격리 실행시키는 것을 특징으로 한다. In addition, the file classification unit classifies a file that is not suspected to be malicious among the files as a normal file, and the file execution monitoring unit monitors whether there is an execution request for the normal file, and the malicious- The method according to claim 1, further comprising a process management unit for checking whether an execution request for a file is caused by the suspicion process, wherein the quarantine execution processing unit, if the execution request for the normal file is caused by the suspicious process, In the virtualization space.

또한, 상기 파일에 대한 정보는, 상기 파일이 생성된 이력, 상기 파일이 상기 호스트로 유입된 경로, 상기 파일이 이전에 실행된 이력, 상기 파일이 수정된 이력 또는 상기 파일의 서명 정보 중 적어도 하나를 포함하는 것을 특징으로 한다.The information on the file may include at least one of history of the file generated, path of the file to the host, history of the file previously executed, history of modification of the file, or signature information of the file And a control unit.

또한, 상기 파일 분류부는, 상기 파일이 상기 호스트로 유입된 경로가 기설정된 외부 유입 경로면 상기 파일을 의심 파일 후보로 선정하고, 상기 선정된 의심 파일 후보가 웹브라우저의 취약점을 통해 생성된 파일이거나 기설정된 특정 프로그램의 스크립트 또는 프로세스를 통해 생성된 파일인 경우, 상기 선정된 의심 파일 후보를 상기 의심 파일로 분류하는 것을 특징으로 한다.The file classification unit may be configured to select the file as a suspicious file candidate if the path of the file to the host is a predetermined external inflow path and if the selected suspect file candidate is a file generated through a vulnerability of the web browser And classifying the selected suspicious file candidates into the suspicious file if the file is a script or a file created through a predetermined process of a predetermined program.

또한, 상기 파일 분류부는, 상기 파일이 상기 호스트로 유입된 경로가 기설정된 외부 유입 경로면 상기 파일을 의심 파일 후보로 선정하고, 상기 선정된 의심 파일 후보가 서명되지 않은 파일이거나, 서명 확인 증서가 유효하지 않은 파일이거나, MS 시스템 파일이거나 또는 상기 선정된 의심 파일 후보를 사용하는 기존 사용자의 수가 기설정된 수 이하인 경우, 상기 선정된 의심 파일 후보를 의심 파일로 분류하는 것을 특징으로 한다.The file classification unit may be configured to select the file as a suspicious file candidate if the path of the file to the host is a preset external inflow path, And classifies the selected suspicious file candidates as suspicious files when the number of existing users who are not valid, the MS system file, or using the selected suspicious file candidates is less than a predetermined number.

또한, 상기 파일 분류부는, 상기 의심 파일의 메타 영역에 상기 의심 파일임을 알리는 표식 정보를 삽입하고, 상기 파일 실행 감시부는, 상기 의심 파일의 메타 영역에 상기 표식 정보가 삽입되어 있는지 여부를 기초로 상기 의심 파일에 대한 실행 요청을 인식하는 것을 특징으로 한다.The file classification unit may insert marking information indicating that the suspicious file is included in the meta area of the suspicious file, and the file execution monitoring unit may detect whether the marking information is included in the meta area of the suspected file, And recognizes an execution request for the suspicious file.

또한, 상기 기설정된 외부 유입 경로는, 상기 파일이 웹브라우저, 이메일, 이동식 디스크를 통해 상기 호스트로 유입되는 경로 또는 상기 호스트에서 구동되는 기설정된 특정 프로그램을 통해 유입되는 경로인 것을 특징으로 한다.The predetermined external inflow path may be a path through which the file flows through the web browser, e-mail, a removable disk, or a predetermined program driven by the host.

또한, 본 발명은 악성코드 진단방법으로서, 호스트에 존재하는 파일에 대한 정보를 기초로 상기 파일이 악성으로 의심되면 의심 파일로 분류하는 단계와, 상기 의심 파일에 대한 실행 요청이 있는지를 감시하는 단계와, 상기 실행 요청이 있으면 상기 의심 파일의 실행으로 실행될 의심 프로세스를 상기 호스트의 자원과 격리된 가상화 공간에서 격리 실행시키는 단계와, 상기 의심 프로세스에 의하여 악성 행위가 수행되는지를 감시하는 단계와, 상기 악성 행위가 수행되면 상기 의심 파일 또는 상기 의심 프로세스를 악성코드로 진단하는 단계를 포함한다.According to another aspect of the present invention, there is provided a malicious code diagnosis method comprising the steps of: classifying a file as a suspicious file if the malicious file is suspected based on information about a file existing in the host; Inserting a suspicious process to be executed by execution of the suspect file in a virtualization space isolated from resources of the host when the execution request is received; monitoring whether malicious action is performed by the suspect process; And diagnosing the suspicious file or the suspicious process as a malicious code when the malicious action is performed.

또한, 상기 파일 중에서 악성으로 의심되지 않는 파일을 정상파일로 분류하는 단계와, 상기 정상 파일에 대한 실행 요청이 있는지를 감시하는 단계와, 상기 정상 파일에 대한 실행 요청이 상기 의심 프로세스에 의한 것인지를 검사하는 단계와, 상기 정상 파일에 대한 실행 요청이 상기 의심 프로세스에 의한 것이면 상기 정상 파일의 실행으로 실행될 프로세스를 상기 가상화 공간에서 격리 실행시키는 단계를 더 포함한다.The method of claim 1, further comprising: classifying a file that is not suspected to be malicious among the files as a normal file; monitoring whether an execution request is made for the normal file; determining whether an execution request for the normal file is caused by the suspicious process And isolating the process to be executed by execution of the normal file in the virtualization space if the execution request for the normal file is caused by the suspicious process.

또한, 상기 파일에 대한 정보는, 상기 파일이 생성된 이력, 상기 파일이 상기 호스트로 유입된 경로, 상기 파일이 이전에 실행된 이력, 상기 파일이 수정된 이력 또는 상기 파일의 서명 정보 중 적어도 하나를 포함하는 것을 특징으로 한다.The information on the file may include at least one of history of the file generated, path of the file to the host, history of the file previously executed, history of modification of the file, or signature information of the file And a control unit.

또한, 상기 분류하는 단계는, 상기 파일이 상기 호스트로 유입된 경로가 기설정된 외부 유입 경로면 상기 파일을 의심 파일 후보로 선정하는 단계와, 상기 선정된 의심 파일 후보가 웹브라우저의 취약점을 통해 생성된 파일이거나 기설정된 특정 프로그램의 스크립트 또는 프로세스를 통해 생성된 파일인 경우, 상기 선정된 의심 파일 후보를 상기 의심 파일로 분류하는 단계를 포함하는 것을 특징으로 한다.The classifying step may further include the steps of: selecting the file as a suspicious file candidate if the path of the file to the host is predetermined external inflow path; and selecting the suspect file candidate through a vulnerability of the web browser And classifying the selected suspicious file candidates into the suspicious file if the file is a file created through a predetermined process or a script of a predetermined program or a process.

또한, 상기 분류하는 단계는, 상기 파일이 상기 호스트로 유입된 경로가 기설정된 외부 유입 경로면 상기 파일을 의심 파일 후보로 선정하는 단계와, 상기 선정된 의심 파일 후보가 서명되지 않은 파일이거나, 서명 확인 증서가 유효하지 않은 파일이거나, MS 시스템 파일이거나 또는 상기 선정된 의심 파일 후보를 사용하는 기존 사용자의 수가 기설정된 수 이하인 경우, 상기 선정된 의심 파일 후보를 의심 파일로 분류하는 단계를 포함하는 것을 특징으로 한다.The classifying step may further include the steps of: selecting the file as a suspicious file candidate if the path of the file to the host is a preset external inflow path; selecting the suspect file candidate as an unsigned file, Classifying the selected suspicious file candidates into a suspicious file when the number of existing users who use the selected suspicious file candidates is less than a predetermined number, .

또한, 상기 분류하는 단계 이후, 상기 의심 파일의 메타 영역에 상기 의심 파일임을 알리는 표식 정보를 삽입하는 단계를 더 포함하는 것을 특징으로 한다.The method may further include inserting marker information indicating the suspect file into the meta area of the suspicious file after the classifying step.

또한, 상기 기설정된 외부 유입 경로는, 상기 파일이 웹브라우저, 이메일, 이동식 디스크를 통해 상기 호스트로 유입되는 경로 또는 상기 호스트에서 구동되는 기설정된 특정 프로그램을 통해 유입되는 경로인 것을 특징으로 한다.
The predetermined external inflow path may be a path through which the file flows through the web browser, e-mail, a removable disk, or a predetermined program driven by the host.

본 발명에 따르면, 악성코드 진단에 있어서, 호스트에 존재하는 파일들에 대한 정보를 기초로 해당 파일들을 악성으로 의심되는 의심 파일과 악성으로 의심되지 않는 정상 파일로 분류하고, 의심 파일의 실행에 따른 프로세스는 호스트의 자원과 격리된 가상화 공간에서 실행되도록 함으로써 악성행위의 실행에 의한 호스트 자원의 피해를 방지시키면서 보다 정확하게 악성코드를 진단할 수 있도록 하는 이점이 있다.According to the present invention, in the malicious code diagnosis, the files are classified into suspicious malicious files and malicious malicious files based on the information on the files existing on the host, The process has the advantage of being able to run malicious code in a virtualized space isolated from the host's resources, thereby allowing more accurate diagnosis of malicious code while preventing damage to host resources by execution of malicious actions.

악성코드 진단에 있어서, 호스트에 존재하는 파일들에 대한 정보를 기초로 해당 파일들을 악성으로 의심되는 의심 파일과 악성으로 의심되지 않는 정상 파일로 분류하고, 의심 파일의 실행에 따른 프로세스는 호스트의 자원과 격리된 가상화 공간에서 실행되도록 함으로써 보다 정확하게 악성코드를 진단할 수 있고, 악성코드의 실행에 따른 호스트 자원의 피해를 감소시킬 수 있는 이점이 있다.In malicious code diagnosis, the files are classified into malicious suspicious files and malicious malicious normal files based on the information on the files existing on the host, So that the malicious code can be more accurately diagnosed and the damage of the host resource due to execution of the malicious code can be reduced.

또한, 본 발명에 따르면, 악성코드 진단에 있어서, 호스트에 존재하는 파일에 대해 악성코드 의심 파일을 선별하고, 선별된 의심 파일에 대해서만 격리 실행을 통해 행위 기반 탐지를 수행하도록 함으로써, 성능 저하와 호환성 문제를 최소화시켜 호스트 기반에서도 효율적인 행위 기반 악성코드 진단이 가능하도록 하는 이점이 있다. According to the present invention, in the malicious code diagnosis, malicious code suspicious files are selected for files existing in the host, and behavior-based detection is performed through quarantine execution only for the selected suspicious files, The problem is minimized, and it is advantageous to enable efficient behavior-based malicious code diagnosis even on the host base.

또한, 의심 파일의 프로세스 뿐만 아니라, 의심 파일의 프로세스에 의해 실행되는 정상 파일의 프로세스에 대해서도 격리 실행을 통해 악성코드 여부를 판단함으로써 의심 파일의 악성행위를 보다 광범위하게 탐지할 수 있는 이점이 있다.In addition, there is an advantage that malicious behavior of a suspicious file can be detected more extensively by judging whether or not malicious code is executed through a quarantine execution process of a normal file process executed by a process of a suspicious file as well as a process of a suspicious file.

또한, 호스트 자원과 격리된 공간에서 의심 파일의 프로세스를 실행시킴에 따라 악성행위를 탐지하지 못하더라도 호스트 자원을 보호할 수 있으며, 격리 공간에서도 실제 호스트 환경과 동일하게 동작하도록 격리 실행시킨 후 악성행위 여부를 판단하기 때문에 악성행위를 잘못 탐지하더라도 사용자 불편을 최소화할 수 있는 이점이 있다.In addition, it can protect host resources even if it can not detect malicious behavior by executing the process of suspicious file in isolated space from host resource. Also, it can isolate malicious behavior It is advantageous to minimize the user inconvenience even if the malicious activity is detected incorrectly.

도 1은 본 발명의 실시예에 따른 악성코드 진단장치의 상세 블록 구성도,
도 2는 본 발명의 실시예에 따른 악성코드 진단장치에서 악성코드를 진단하는 동작 제어 흐름도.
1 is a detailed block diagram of a malicious code diagnosis apparatus according to an embodiment of the present invention;
2 is a flowchart of an operation control process for diagnosing a malicious code in a malicious code diagnostic apparatus according to an embodiment of the present invention.

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

도 1은 본 발명의 실시예에 따른 악성코드 진단장치(100)의 상세 블록 구성을 도시한 것으로, 파일 분류부(102), 파일 실행 감시부(104), 프로세스 관리부(106), 격리실행 처리부(108), 악성행위 감시부(110), 악성코드 진단부(112) 등을 포함할 수 있다.FIG. 1 shows a detailed block configuration of a malicious code diagnosis apparatus 100 according to an embodiment of the present invention. The file classification unit 102, the file execution monitoring unit 104, the process management unit 106, A malicious code monitoring unit 110, a malicious code diagnosis unit 112, and the like.

이하, 도 1을 참조하여 본 발명의 실시예에 따른 악성코드 진단장치(100)의 각 구성요소에서의 동작을 상세히 설명하기로 한다.Hereinafter, the operation of each component of the malicious code diagnosis apparatus 100 according to the embodiment of the present invention will be described in detail with reference to FIG.

먼저, 파일 분류부(102)는 호스트에 존재하는 파일에 대한 정보를 기초로 각 파일을 분석하여 정상 파일인지 악성으로 의심되는 파일인지를 검사하고, 파일이 악성으로 의심되면 의심 파일로 분류한다. 이때, 파일에 대한 정보는 파일의 생성 이력, 파일이 호스트로 유입된 외부 유입 경로, 파일이 이전에 실행된 이력, 파일이 수정된 이력 또는 파일의 서명 정보 등을 포함할 수 있다.First, the file classification unit 102 analyzes each file based on information about a file existing on the host to check whether the file is a normal file or a malicious file. If the file is suspected to be malicious, the file classification unit 102 classifies the file as a suspicious file. At this time, the information about the file may include a history of creation of the file, an external inflow path of the file to the host, history of the file executed before, history of the file modified, or signature information of the file.

즉, 파일 분류부(102)는 의심파일을 설정함에 있어서, 호스트상 임의의 파일에 대해 해당 파일의 생성 이력, 파일이 호스트로 유입된 외부 유입 경로, 파일이 이전에 실행된 이력, 파일이 수정된 이력 또는 파일의 서명 정보 등을 확인하여 악성코드가 의심되는 파일인지를 검사할 수 있다.That is, when setting the suspicious file, the file classifying unit 102 classifies the suspicious file into the history of creation of the file on the host, the external inflow path of the file to the host, the history of the previous execution of the file, The history of the malicious code or the signature information of the file to check whether the malicious code is a suspicious file.

또한, 파일 분류부(102)는 웹브라우저(Web browser), 이메일(e-mail), 엑셀(excel), 오피스(office) 프로그램, 취약점, 이동식 디스크(usb) 등을 포함하는 기설정된 감시 대상 외부 유입 경로를 통해 호스트(host) 컴퓨터상에 임의의 파일이 생성되는지 여부를 감시한다. 또한, 호스트상 파일이 생성되면 파일 시그니처(signature) 및 전반적인 파일 정보와 클라우드(cloud) DB 정보 등을 활용하여 악성코드가 의심되는 파일인지를 검사하고, 악성코드가 의심되는 경우 의심 파일로 설정할 수 있다.In addition, the file classifying unit 102 may classify a predetermined external object including a Web browser, an e-mail, an excel, an office program, a vulnerability, a usable disk, And monitors whether or not any file is generated on the host computer through the funnel. When a host file is created, it is checked whether the malicious code is a suspicious file by using a file signature, overall file information, and cloud DB information. If the malicious code is suspected, have.

이때, 파일 분류부(102)는 예를 들어 파일이 호스트로 유입된 외부 유입 경로가 기설정된 외부 유입 경로이면, 해당 파일을 의심 파일 후보로 선별하고, 선별된 파일의 생성 이력을 확인하여 해당 파일이 웹브라우저의 취약점을 통해 생성된 파일이거나, 기설정된 특정 프로그램의 스크립트(script) 또는 프로세스(process)를 통해 생성된 파일인 경우 해당 파일을 의심 파일로 설정할 수 있으나, 이에 한정되는 것은 아니다.At this time, if the external inflow path to which the file is inputted into the host is a preset external inflow path, for example, the file classifying unit 102 selects the file as a suspect file candidate, checks the generation history of the selected file, If the file is created through a vulnerability of the web browser or a file created through a script or process of a predetermined program, the file may be set as a suspicious file, but the present invention is not limited thereto.

이때, 웹브라우저의 취약점이라 함은 예를 들어 웹브라우저상 광고 페이지 등이 될 수 있으며, 광고 페이지 등을 클릭하는 것을 통해 사용자도 모르게 호스트상에 생성된 파일이 웹브라우저의 취약점을 통해 생성된 파일일 수 있다. 또한, 특정 프로그램이라 함은 예를 들어 엑셀, 오피스 등의 프로그램일 수 있으며, 이러한 엑셀, 오피스 등의 프로그램은 일반적으로 실행 파일을 생성하지 않는 경우가 대부분이므로, 엑셀, 오피스 등의 프로그램이 호스트상에서 구동되어 스크립트 또는 프로세스를 통해 파일을 생성하는 경우 해당 파일을 의심파일로 설정할 수 있다.At this time, the vulnerability of the web browser may be, for example, an advertisement page on a web browser, etc., and a file created on the host without knowing the user through clicking on the advertisement page may be a file created through the vulnerability of the web browser Lt; / RTI > The specific program may be, for example, a program such as an Excel or an office. Since programs such as Excel and Office generally do not generate an executable file, programs such as Excel and Office are executed on the host When a file is generated through a script or a process, the file can be set as a suspicious file.

또한, 파일 분류부(102)는 예를 들어, 파일이 호스트로 유입된 외부 유입 경로가 기설정된 외부 유입 경로이면, 해당 파일을 의심 파일 후보로 선별하고, 선별된 파일의 정적 정보 등을 확인하여 해당 파일이 서명되지 않은 파일이거나, 서명 확인 증서가 유효하지 않은 파일이거나 또는 해당 파일이 MS 시스템 파일이거나, 해당 파일을 사용하는 기존 사용자의 수가 기설정된 수 이하인 경우 해당 파일을 의심 파일로 설정할 수 있으나, 이에 한정되는 것은 아니다. The file classifying unit 102 may classify the file as a suspicious file candidate and check static information of the selected file if the external inflow path into which the file has entered the host is a predetermined external inflow path If the file is an unsigned file, the signature verification certificate is invalid, or the file is an MS system file, or the number of existing users using that file is less than a predetermined number, the file can be set as suspicious file , But is not limited thereto.

이때, 위와 같은 정적 정보는 파일을 실행시키지 않고도, 파일의 헤더(header) 등에 포함된 정보를 추출하는 것을 통해 확인이 가능한 정보를 의미하여, 이러한 정적 정보는 예를 들어, 파일의 서명 여부, 서명자 정보, 서명 확인 증서 또는 해당 파일이 MS 시스템 파일인지 등의 파일 특성 정보 등이 될 수 있으나 이에 한정되는 것은 아니다. 이때, 위와 같은 정적 정보를 확인한 결과 서명이 위조 되었거나, 서명 확인 증서가 유효하지 않다거나, 서명자 정보가 일치하지 않는 다거나 하는 파일은 의심파일로 설정할 필요가 있다. 또한, 다양한 파일에 대한 정보를 저장하고 있는 클라우드 DB 정보 등을 참조하여 해당 파일이 상당히 오래전부터 다수의 사용자에 의해 사용되었던 파일인 것으로 확인되는 경우에는 의심 파일로 설정할 필요가 없으나, 클라우드 DB 정보상 등록되지 않은 파일이거나 등록된 파일이더라도 해당 파일을 사용하는 사용자의 수가 기설정된 수 이하로 아직 많은 사용자가 보편적으로 사용하지 않은 파일인 경우에는 의심 파일로 설정할 필요가 있다.The static information may be information that can be verified by extracting information included in a header or the like of a file without executing the file. For example, the static information may include information such as whether the file is signed, Information of the signature verification certificate, file property information such as whether the file is an MS system file, and the like, but the present invention is not limited thereto. At this time, it is necessary to set the suspicious file as a file whose signature is falsified, the signature verification certificate is invalid, or the signer information is inconsistent as a result of checking the above static information. In addition, when it is determined that the file has been used by a large number of users for a long time by referring to the cloud DB information storing information on various files, it is not necessary to set the file as a suspicious file. However, It is necessary to set it as a suspicious file if the number of users using the file is less than a predetermined number and the file has not been commonly used by many users.

또한, 파일 분류부(102)는 의심 파일로 설정된 파일에 대해서는 의심 파일의 메타 영역(ADS : Alternate Data Stream)상에 의심 파일임을 알리는 표식 정보를 삽입하여 파일 실행 감시부(104)가 호스트 상에서 의심 파일이 실행되는지 여부를 인식할 수 있도록 할 수 있다. 이때, 이러한 표식 정보에는 해당 파일이 의심파일이라는 정보와 함께 해당 파일의 유입 경로와 생성 시점 등의 정보가 포함될 수 있으며, 이러한 표식 정보는 파일의 메타 정보에 기록해둘 수 있으며, 또한 표식 정보는 파일에 기록되는 것이기 때문에 호스트 컴퓨터의 전원이 오프되더라도 사라지지 않고, 호스트 컴퓨터의 재부팅시 계속 감시가 이루어질 수 있게 된다.In addition, the file classification unit 102 inserts marker information indicating that the suspicious file is a suspicious file on a meta area (ADS: Alternate Data Stream) of the suspect file, so that the file execution monitoring unit 104 suspends It is possible to recognize whether or not the file is executed. In this case, such mark information may include information such that the corresponding file is a suspicious file, information on the inflow path of the corresponding file, creation time, etc. The mark information may be recorded in the meta information of the file, So that the host computer can be continuously monitored at the time of rebooting without being lost even if the power of the host computer is turned off.

파일 실행 감시부(104)는 호스트내 존재하는 임의의 파일에 대한 실행 요청이 있는지를 감시하고, 임의의 파일에 대한 실행 요청이 있는 경우, 해당 실행 요청된 파일이 정상 파일에 대한 실행 요청인지 의심 파일에 대한 실행 요청인지 여부를 검사한다.The file execution monitoring unit 104 monitors whether there is an execution request for an arbitrary file existing in the host. If there is an execution request for an arbitrary file, the file execution monitoring unit 104 determines whether the execution requested file is an execution request for a normal file Checks whether the file is an execution request.

또한, 파일 실행 감시부(104)는 의심 파일에 대한 실행 요청이 있는 경우 해당 의심 파일의 실행 요청을 격리 실행 처리부(108)로 알려서 해당 의심 파일의 프로세스가 격리 실행 처리부(108)에 의해 가상화 공간 등의 호스트 자원과 격리된 공간에서 실행될 수 있도록 한다. 또한, 파일 실행 감시부(104)는 정상 파일에 실행 요청이 있는 경우 해당 정상 파일이 의심 파일의 프로세스에 의해 실행 요청된 것인 경우, 해당 정상 파일의 실행 요청을 격리 실행 처리부(108)로 알려서 해당 정상 파일의 프로세스가 격리 실행 처리부(108)에 의해 가상화 공간 등의 호스트 자원과 격리된 공간에서 실행될 수 있도록 한다.When there is an execution request for the suspicious file, the file execution monitoring unit 104 notifies the execution request of the suspicious file to the isolation execution processing unit 108, and the process of the suspicious file is executed by the isolation execution processing unit 108, And so on. If there is an execution request in the normal file, the file execution monitoring unit 104 informs the isolation execution processing unit 108 of the execution request of the normal file if the normal file is requested to be executed by the process of the suspicious file The process of the normal file can be executed by the isolation execution processing unit 108 in a space isolated from a host resource such as a virtualization space.

프로세스 관리부(106)는 격리 실행 처리부(108)에 연결되어, 가상화 공간 등 호스트 자원과 격리된 공간에서 격리 실행된 의심 파일의 의심 프로세스를, 의심 파일의 의심 프로세스가 정상 파일에 대한 실행을 요청하여 실행되는 파생 프로세스와 함께 그룹으로 관리한다.The process management unit 106 is connected to the isolation execution processing unit 108 to detect a suspicious process of a quarantine file that has been quarantined in a space isolated from a host resource such as a virtualization space, It is managed as a group with the derived process to be executed.

예를 들어, 파일 분류부(102)에 의해 정상 파일로 분류된 파일이라 하더라도 해당 파일이 의심 파일의 의심 프로세스에 의해 호출되어 실행될 수도 있다. 이에 따라, 프로세스 관리부(106)는 위와 같은 의심 프로세스와 파생 프로세스를 함께 그룹으로 관리함으로써 정상 파일에 대한 실행 요청이 의심 파일의 의심 프로세스에 의한 것인지를 체크하게 된다.For example, even if the file is classified as a normal file by the file classifying unit 102, the file may be called and executed by the suspicious process of the suspicious file. Accordingly, the process management unit 106 manages the suspicious process and the derived process together as a group, thereby checking whether the execution request for the normal file is caused by the suspicious process of the suspicious file.

격리 실행 처리부(108)는 의심 파일로 분류된 의심 파일에 대한 실행 요청이 있는 경우, 의심 파일의 실행으로 실행될 의심 프로세스를 호스트의 자원과 격리된 가상화 공간에서 격리 실행시킨다. 또한, 격리 실행 처리부(108)는 정상 파일에 대한 실행 요청이 있는 경우, 이러한 정상 파일에 대한 실행 요청이 의심 프로세스에 의한 것인지 여부를 검사하고, 의심 프로세스에 의해 실행 요청이 발생한 것일 경우, 정상 파일의 실행으로 실행될 프로세스, 즉 의심 프로세스에서 파생된 파생 프로스세도 가상화 공간에서 격리 실행시킨다.When there is an execution request for a suspicious file classified as a suspicious file, the isolation execution processing unit 108 quarantines suspicious processes to be executed by execution of a suspicious file in a virtualization space isolated from a host resource. If there is an execution request for the normal file, the isolation execution processing unit 108 checks whether or not the execution request for the normal file is caused by the suspicious process. If the execution request is caused by the suspicious process, The derived process derived from the process to be executed by the execution of the suspicious process, namely, the isolation process in the virtualization space.

즉, 격리 실행 처리부(108)는 의심 프로세스를 가상화 공간 등의 호스트 자원과 격리된 공간에서 격리 실행시키는 것을 통해 의심 프로세스가 호스트 환경에 피해를 줄 수 있는 행위를 차단시킴으로써 호스트 환경의 자원을 보호하도록 한다. 이때, 격리 실행 처리부(108)는 의심 파일의 실행 요청 시 의심 파일 프로세스에서 파생되어 실행되는 파생 프로세스도 격리 공간에서 격리 실행시킬 수 있다.In other words, the isolation execution processing unit 108 isolates suspicious processes from the host resources such as the virtualization space, thereby protecting the resources of the host environment by preventing suspicious processes from harming the host environment do. At this time, the isolation execution processing unit 108 can isolate and execute the derived process derived from the suspicious file process and executed when the suspicious file is requested to be executed in the isolation space.

악성 행위 감시부(110)는 격리 실행 처리부(108)와 연동하여 의심 프로세스의 격리 실행 중 의심 프로세스에 의하여 악성 행위가 발생하는지를 감시한다.The malicious behavior monitoring unit 110 monitors whether a malicious action occurs due to a suspicious process during isolation execution of a suspicious process in conjunction with the isolation execution processing unit 108. [

악성코드 진단부(112)는 악성 행위 감시부(110)로부터 격리 실행된 의심 프로세스에 의해 수행되는 악성 행위를 보고 받고, 해당 악성 행위에 대해 행위 기반 분석 등을 통해 악성코드 여부를 판단하고, 악성코드로 판단되는 경우 해당 의심 파일 또는 의심 프로세스를 악성코드로 진단한다. 또한, 이와 같이 악성코드로 진단된 의심 파일 또는 의심 프로세스에 대해서는 해당 의심파일 또는 의심 프로세스의 실행을 차단시키거나 삭제시키는 등으로 악성코드에 대한 처리를 수행할 수 있다. 또한, 악성코드로 진단된 파일에 대해서는 해당 파일에 대한 정보를 악성코드 정보로 등록하여 관리할 수 있다. The malicious code diagnosis unit 112 receives a malicious action performed by the suspicious process executed by the malicious action monitoring unit 110 and determines whether the malicious action is a malicious code through behavior based analysis or the like, If it is judged as a code, the suspicious file or suspicious process is diagnosed as malicious code. In addition, the malicious code can be processed by blocking or deleting the suspicious file or the suspicious process for the suspect file or suspicious process diagnosed by the malicious code. In addition, for a file diagnosed with a malicious code, information about the file can be registered and managed as malicious code information.

한편, 본 발명의 실시예에서는 위와 같은 악성코드 진단부(112)가 호스트내에 구비되는 것을 예를 들어 설명하였으나, 이러한 악성코드 진단부(112)는 호스트와 네트워크로 연결되는 외부의 악성코드 진단서버(도시되지 않음)로 구현될 수 있다. In the embodiment of the present invention, the above malicious code diagnosis unit 112 is provided in the host. However, the malicious code diagnosis unit 112 may include an external malicious code diagnosis server 112 connected to the host and a network, (Not shown).

이때, 이러한 악성코드 진단 서버는 호스트와 네트워크 등으로 연결되어 악성코드를 진단하고 진단결과를 반환시키는 서버일 수 있으며, 호스트로부터 악성 행위에 대한 정보를 전달받는 경우 클라우드 DB 정보에 포함된 악성코드에 대한 시그니처 정보, 행위 기반 분석 정보를 이용하여 악성 행위에 대한 악성코드 여부 진단을 수행하고, 진단결과를 호스트로 반환하여 줄 수 있다.In this case, the malicious code diagnosis server may be a server connected to the host and the network to diagnose the malicious code and return the diagnosis result. If malicious code is received from the host, the malicious code included in the cloud DB information The malicious code for malicious code can be diagnosed using the signature information and behavior-based analysis information, and the diagnosis result can be returned to the host.

도 2는 본 발명의 실시예에 따른 악성코드 진단장치(100)에서 호스트상 의심파일을 분류하고 악성코드를 진단하는 동작 제어 흐름을 도시한 것이다. 이하, 도 1 및 도 2를 참조하여 본 발명의 실시예를 상세히 설명하기로 한다.FIG. 2 illustrates an operation control flow for classifying a suspicious file on a host and diagnosing a malicious code in the malicious code diagnostic apparatus 100 according to an embodiment of the present invention. Hereinafter, embodiments of the present invention will be described in detail with reference to FIGS. 1 and 2. FIG.

먼저, 악성코드 진단장치(100)는 호스트에 존재하는 파일에 대한 정보를 기초로 상기 파일이 악성으로 의심되면 의심 파일로 분류하고, 악성으로 의심되지 않으면 정상 파일로 분류한다(S200). 이때, 파일에 대한 정보는 파일의 생성 이력, 파일이 호스트로 유입된 외부 유입 경로, 파일이 이전에 실행된 이력, 파일이 수정된 이력 또는 파일의 서명 정보 등을 포함할 수 있다.First, the malicious code diagnostic apparatus 100 classifies the file as a suspicious file if the file is suspected to be malicious, and classifies it as a normal file if it is not suspected to be malicious based on information about a file existing in the host (S200). At this time, the information about the file may include a history of creation of the file, an external inflow path of the file to the host, history of the file executed before, history of the file modified, or signature information of the file.

이때, 악성코드 진단장치(100)는는 의심파일을 설정함에 있어서, 호스트상 임의의 파일에 대해 해당 파일의 생성 이력, 파일이 호스트로 유입된 외부 유입 경로, 파일이 이전에 실행된 이력, 파일이 수정된 이력 또는 파일의 서명 정보 등을 확인하여 악성코드가 의심되는 파일인지를 검사할 수 있다.At this time, in setting the suspicious file, the malicious code diagnostic apparatus 100 may set a suspicious file on the basis of a history of generation of the file, an external inflow path of the file to the host, a history of the previous execution of the file, The modified history or the signature information of the file to check whether the malicious code is a suspicious file.

즉, 예를 들어, 악성코드 진단장치(100)는 웹브라우저(Web browser), 이메일(e-mail), 엑셀(excel), 오피스(office) 프로그램, 취약점, 이동식 디스크(usb) 등을 포함하는 기설정된 감시 대상 외부 유입 경로를 통해 호스트(host) 컴퓨터상에 임의의 파일이 생성되는지 여부를 감시한다. 또한, 호스트상 파일이 생성되면 파일 시그니처(signature) 및 전반적인 파일 정보와 클라우드(cloud) DB 정보 등을 활용하여 악성코드가 의심되는 파일인지를 검사하고, 악성코드가 의심되는 경우 의심 파일로 설정할 수 있다.That is, for example, the malicious code diagnosis apparatus 100 includes a web browser, an e-mail, an excel, an office program, a vulnerability, a removable disk (usb) And monitors whether or not an arbitrary file is generated on the host computer through the predetermined supervised external inflow path. When a host file is created, it is checked whether the malicious code is a suspicious file by using a file signature, overall file information, and cloud DB information. If the malicious code is suspected, have.

또한, 악성코드 진단장치(100)는 예를 들어 파일이 호스트로 유입된 외부 유입 경로가 기설정된 외부 유입 경로이면, 해당 파일을 의심 파일 후보로 선별하고, 선별된 파일의 생성 이력을 확인하여 해당 파일이 웹브라우저의 취약점을 통해 생성된 파일이거나, 기설정된 특정 프로그램의 스크립트(script) 또는 프로세스(process)를 통해 생성된 파일인 경우 해당 파일을 의심 파일로 설정할 수 있다.If the malicious code diagnosis apparatus 100 detects the malicious code as a suspicious file candidate, for example, if the external inflow path into which the file is inputted into the host is a preset external inflow path, the malicious code diagnostic apparatus 100 checks the generation history of the selected file, If the file is a file created through a vulnerability in a web browser, or a file created through a script or process of a predetermined program, the file can be set as a suspicious file.

또한, 악성코드 진단장치(100)는 예를 들어, 파일이 호스트로 유입된 외부 유입 경로가 기설정된 외부 유입 경로이면, 해당 파일을 의심 파일 후보로 선별하고, 선별된 파일의 정적 정보 등을 확인하여 해당 파일이 서명되지 않은 파일이거나, 서명 확인 증서가 유효하지 않은 파일이거나 또는 해당 파일이 MS 시스템 파일이거나, 해당 파일을 사용하는 기존 사용자의 수가 기설정된 수 이하인 경우 해당 파일을 의심 파일로 설정할 수 있다. If the malicious code diagnosis apparatus 100 detects malicious file candidates, for example, if the external inflow path to which the file is inputted into the host is a predefined external inflow path, the malicious code diagnostic apparatus 100 may check static information of the selected file If the file is an unsigned file, the signed certificate is invalid, or the file is an MS system file, or the number of existing users using that file is less than a predetermined number, the file can be set as a suspect file. have.

이어, 악성코드 진단장치(100)는 호스트내 존재하는 임의의 파일에 대한 실행 요청이 있는지를 감시한다(S202).Then, the malicious code diagnosis apparatus 100 monitors whether there is an execution request for an arbitrary file existing in the host (S202).

이때, 임의의 파일에 대한 실행 요청이 있는 경우, 악성코드 진단장치(100)는 해당 실행 요청된 파일이 정상 파일에 대한 실행 요청인지 의심 파일에 대한 실행 요청인지 여부를 검사한다(S204).At this time, if there is an execution request for an arbitrary file, the malicious code diagnostic apparatus 100 checks whether the execution requested file is an execution request for a normal file or an execution request for a suspicious file (S204).

이때 만일, 실행 요청된 파일이 의심 파일인 경우, 악성코드 진단장치(100)는 의심 파일의 실행으로 실행될 의심 프로세스를 호스트의 자원과 격리된 가상화 공간에서 격리 실행시킨다(S206). 즉, 악성코드 진단장치(100)는 의심 프로세스를 가상화 공간 등의 호스트 자원과 격리된 공간에서 격리 실행시키는 것을 통해 의심 프로세스가 호스트 환경에 피해를 줄 수 있는 행위를 차단시킴으로써 호스트 환경의 자원을 보호하도록 한다.At this time, if the file requested to be executed is a suspicious file, the malicious code diagnosis apparatus 100 isolates the suspicious process to be executed by executing the suspicious file in a virtualization space isolated from the host resource (S206). That is, the malicious code diagnosis apparatus 100 protects the resources of the host environment by suspending suspicious processes in a hosted resource such as a virtualized space, thereby preventing suspicious processes from harming the host environment .

이어, 악성코드 진단장치(100)는 의심 프로세스의 격리 실행 중 의심 프로세스에 의하여 악성 행위가 수생하는지를 감시하고(S208), 의심 프로세스에 의해 악성행위가 수행되는 것으로 검사되는 경우, 해당 악성 행위에 대해 행위 기반 분석 등을 통해 악성코드 여부를 판단하고, 악성코드로 판단되는 경우 해당 의심 파일 또는 의심 프로세스를 악성코드로 진단한다. 또한, 이와 같이 악성코드로 진단된 의심 파일 또는 의심 프로세스에 대해서는 해당 의심파일 또는 의심 프로세스의 실행을 차단시키거나 삭제시키는 등으로 악성코드에 대한 처리를 수행할 수 있다(S214). Then, the malicious code diagnostic apparatus 100 monitors whether or not a malicious action is aquired by the suspicious process during the isolation execution of the suspicious process (S208). If the malicious code is inspected by the suspicious process, Based analysis, etc., and if the malicious code is determined, the suspicious file or the suspicious process is diagnosed as a malicious code. In addition, the suspicious file or suspicious process diagnosed by malicious code can be processed (S214) by blocking or deleting execution of the suspicious file or suspicious process.

한편, 악성코드 진단장치(100)는 해당 실행 요청된 파일이 정상 파일에 대한 실행 요청인지 의심 파일에 대한 실행 요청인지 여부를 검사하는 단계(S204)에서, 실행 요청된 파일이 정상 파일인 경우에는 해당 정상 파일에 대한 실행 요청이 의심 프로세스에 의해 발생한 것인지 여부를 검사한다(S210).Meanwhile, when the malicious code diagnosis apparatus 100 checks whether the file requested to be executed is an execution request for a normal file or an execution request for a suspicious file (S204), if the file requested to be executed is a normal file It is checked whether an execution request for the normal file is generated by the suspicious process (S210).

이때 만일, 정상 파일에 대한 실행 요청이 의심 프로세스에 의해 발생한 것이 아닌 경우, 악성코드 진단장치(100)는 실행 요청된 정상 파일의 프로세스를 호스트에서 정상적으로 실행시킨다(S212).At this time, if the execution request for the normal file is not generated by the suspicious process, the malicious code diagnostic apparatus 100 normally executes the process of the normal file requested to be executed by the host (S212).

그러나, 정상 파일에 대한 실행 요청이 의심 프로세스에 의해 발생한 것인 경우, 악성코드 진단장치(100)는 정상 파일의 실행으로 실행될 프로세스, 즉, 의심 프로세스에서 파생된 파생 프로세스에 대해서도 의심 프로세스로 설정하고 호스트의 자원과 격리된 가상화 공간에서 격리 실행시킨다(S206).However, if the execution request for the normal file is generated by the suspicious process, the malicious code diagnostic apparatus 100 sets the suspicious process to the process to be executed by execution of the normal file, that is, the derived process derived from the suspicious process Execute quarantine in isolated virtualization space with resources of the host (S206).

이어, 악성코드 진단장치(100)는 의심 파일의 의심 프로세스에 대한 악성 행위 검사 및 진단/처리의 과정과 동일하게, 의심 프로세스의 격리 실행 중 의심 프로세스에 의하여 악성 행위가 발생하는지를 감시하고(S208), 의심 프로세스에 의해 악성행위가 수행되는 것으로 검사되는 경우, 해당 악성 행위에 대해 행위 기반 분석 등을 통해 악성코드 여부를 판단하고, 악성코드로 판단되는 경우 해당 의심 파일 또는 의심 프로세스를 악성코드로 진단한다. 또한, 이와 같이 악성코드로 진단된 의심 파일 또는 의심 프로세스에 대해서는 해당 의심파일 또는 의심 프로세스의 실행을 차단시키거나 삭제시키는 등으로 악성코드에 대한 처리를 수행하도록 할 수 있다(S214). Then, the malicious code diagnosis apparatus 100 monitors whether a malicious action occurs due to a suspicious process during the isolation execution of the suspicious process (S208), in the same manner as the malicious behavior check and diagnosis / , When the malicious action is detected to be performed by the suspicious process, the malicious code is judged as malicious code through behavior-based analysis or the like, and if the malicious code is judged, the suspicious file or the suspicious process is diagnosed as malicious code do. In addition, the suspicious file or suspicious process diagnosed by the malicious code can be processed (S214) by blocking or deleting the suspicious file or suspicious process.

상술한 바와 같이, 본 발명에 따르면, 악성코드 진단에 있어서, 호스트에 존재하는 파일들에 대한 정보를 기초로 해당 파일들을 악성으로 의심되는 의심 파일과 악성으로 의심되지 않는 정상 파일로 분류하고, 의심 파일의 실행에 따른 프로세스는 호스트의 자원과 격리된 가상화 공간에서 실행되도록 함으로써 악성행위의 실행에 의한 호스트 자원의 피해를 방지시키면서 보다 정확하게 악성코드를 진단할 수 있도록 한다. As described above, according to the present invention, in the malicious code diagnosis, the files are classified into suspicious malicious files and malicious malicious files based on the information on the files existing in the host, The process according to the execution of the file is executed in a virtualization space isolated from the host resource, thereby making it possible to diagnose the malicious code more accurately while preventing the damage of the host resource due to execution of malicious action.

본 발명에 따르면, 호스트 기반 행위 분석을 통한 악성코드 진단에 있어서, 호스트에서 생성되는 파일에 대해 각 파일의 유입 경로와 생성 이력, 정적 정보 등을 기반으로 격리 실행이 필요한 악성코드 의심 파일을 선별하고, 선별된 의심 파일에 대해서만 격리 실행을 통해 행위 기반 탐지를 수행하도록 함으로써, 성능 저하와 호환성 문제를 최소화시켜 호스트 기반에서도 효율적인 행위 기반 악성코드 진단이 가능하도록 하고, 의심 파일 및 의심 파일과 연관된 프로세스에 대해서는 격리 실행을 통해 악성코드 여부를 판단함으로써 악성행위를 탐지하지 못하더라도 호스트 자원을 보호할 수 있도록 한다.According to the present invention, in the malicious code diagnosis through the host-based behavior analysis, malicious code suspicious files that require isolation execution based on the inflow path, generation history, and static information of each file are selected for the files generated by the host By performing behavior-based detection only for selected suspicious files, performance degradation and compatibility problems are minimized, enabling efficient behavior-based malicious code diagnosis even on the host-based basis, and the process associated with suspicious files and suspicious files It is possible to protect host resources even if malicious activity can not be detected by judging whether malicious code is detected through quarantine execution.

본 발명에 첨부된 각 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도의 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다. Combinations of the steps of each flowchart attached to the present invention may be performed by computer program instructions. These computer program instructions may be loaded into a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus so that the instructions, which are executed via a processor of a computer or other programmable data processing apparatus, Lt; / RTI > These computer program instructions may also be stored in a computer usable or computer readable memory capable of directing a computer or other programmable data processing apparatus to implement the functionality in a particular manner so that the computer usable or computer readable memory It is also possible to produce manufacturing items that contain instruction means for performing the functions described in each step of the flowchart. Computer program instructions may also be stored on a computer or other programmable data processing equipment so that a series of operating steps may be performed on a computer or other programmable data processing equipment to create a computer- It is also possible for the instructions to perform the processing equipment to provide steps for executing the functions described in each step of the flowchart.

또한, 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시예들에서는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.In addition, each step may represent a module, segment, or portion of code that includes one or more executable instructions for executing the specified logical function (s). It should also be noted that in some alternative embodiments, the functions mentioned in the steps may occur out of order. For example, the two steps shown in succession may in fact be performed substantially concurrently, or the steps may sometimes be performed in reverse order according to the corresponding function.

한편 상술한 본 발명의 설명에서는 구체적인 실시예에 관해 설명하였으나, 여러 가지 변형이 본 발명의 범위에서 벗어나지 않고 실시될 수 있다. 따라서 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 특허청구범위에 의해 정하여져야 한다.
While the invention has been shown and described with reference to certain preferred embodiments thereof, it will be understood by those skilled in the art that various changes and modifications may be made without departing from the spirit and scope of the invention. Accordingly, the scope of the invention should not be limited by the described embodiments but should be defined by the appended claims.

100 : 악성코드 진단장치 102 : 파일 분류부
104 : 파일 실행 감시부 106 : 프로세스 관리부
108 : 격리 실행 처리부 110 : 악성행위 감시부
112 : 악성코드 진단부
100: malicious code diagnosis apparatus 102: file classification unit
104: file execution monitoring unit 106: process management unit
108: isolation execution processing unit 110: malicious activity monitoring unit
112: malicious code diagnosis unit

Claims (14)

호스트에 존재하는 파일에 대한 정보를 기초로 상기 파일이 악성으로 의심되면 의심 파일로 분류하는 파일 분류부와,
상기 의심 파일에 대한 실행 요청이 있는지를 감시하는 파일 실행 감시부와,
상기 실행 요청이 있으면 상기 의심 파일의 실행으로 실행될 의심 프로세스를 상기 호스트의 자원과 격리된 가상화 공간에서 격리 실행시키는 격리 실행 처리부와,
상기 의심 프로세스에 의하여 악성 행위가 수행되는지를 감시하는 악성 행위 감시부와,
상기 악성 행위가 수행되면 상기 의심 파일 또는 상기 의심 프로세스를 악성코드로 진단하는 악성 진단부를 포함하며,
상기 파일 분류부는,
상기 파일이 상기 호스트로 유입된 경로가 기설정된 외부 유입 경로면 상기 파일을 의심 파일 후보로 선정하고, 상기 선정된 의심 파일 후보가 웹브라우저의 취약점을 통해 생성된 파일이거나 기설정된 특정 프로그램의 스크립트 또는 프로세스를 통해 생성된 파일인 경우, 또는 상기 선정된 의심 파일 후보가 서명되지 않은 파일이거나, 서명 확인 증서가 유효하지 않은 파일이거나, MS 시스템 파일이거나 또는 상기 선정된 의심 파일 후보를 사용하는 기존 사용자의 수가 기설정된 수 이하인 경우, 상기 선정된 의심 파일 후보를 상기 의심 파일로 분류하는
악성코드 진단장치.
A file classifying unit for classifying the file into a suspicious file if the file is suspected to be malicious based on information about the file present in the host,
A file execution monitoring unit for monitoring whether there is an execution request for the suspicious file;
A quarantine execution processor for isolating suspicious processes to be executed by execution of the suspicious file in a virtualization space isolated from resources of the host,
A malicious behavior monitoring unit monitoring whether a malicious action is performed by the suspicion process;
And a malicious diagnosis unit for diagnosing the suspicious file or the suspicious process as a malicious code if the malicious action is performed,
The file classification unit may include:
If the path of the file to the host is a preset external inflow path, the file is selected as a suspicious file candidate, and the selected suspect file candidate is a file generated through a vulnerability of the web browser, Or if the selected suspect file candidate is an unsigned file, the signature verification certificate is an invalid file, an MS system file, or an existing user who uses the selected suspect file candidate If the number is less than or equal to a predetermined number, classifies the selected suspicious file candidates into the suspect file
Malicious code diagnostic device.
제 1 항에 있어서,
상기 파일 분류부는, 상기 파일 중에서 악성으로 의심되지 않는 파일을 정상파일로 분류하고, 상기 파일 실행 감시부는 상기 정상 파일에 대한 실행 요청이 있는지를 감시하며,
상기 악성코드 진단장치는,
상기 정상 파일에 대한 실행 요청이 상기 의심 프로세스에 의한 것인지를 체크하는 프로세스 관리부를 더 포함하며,
상기 격리 실행 처리부는,
상기 정상 파일에 대한 실행 요청이 상기 의심 프로세스에 의한 것이면 상기 정상 파일의 실행으로 실행될 프로세스를 상기 가상화 공간에서 격리 실행시키는
악성코드 진단장치.
The method according to claim 1,
The file classification unit classifies a file that is not suspected to be malicious among the files as a normal file, and the file execution monitoring unit monitors whether there is an execution request for the normal file,
The malicious code diagnosis apparatus,
Further comprising a process management unit for checking whether an execution request for the normal file is caused by the suspicious process,
Wherein the isolation execution processing unit
If the execution request for the normal file is caused by the suspicion process, executing a process to be executed by execution of the normal file in the virtualization space
Malicious code diagnostic device.
제 1 항에 있어서,
상기 파일에 대한 정보는,
상기 파일이 생성된 이력, 상기 파일이 상기 호스트로 유입된 경로, 상기 파일이 이전에 실행된 이력, 상기 파일이 수정된 이력 또는 상기 파일의 서명 정보 중 적어도 하나를 포함하는
악성코드 진단장치.
The method according to claim 1,
The information on the file is,
A history of the file generated, a path of the file to the host, a history of the file previously executed, a history of modification of the file, or signature information of the file
Malicious code diagnostic device.
삭제delete 삭제delete 제 1 항에 있어서,
상기 파일 분류부는,
상기 의심 파일의 메타 영역에 상기 의심 파일임을 알리는 표식 정보를 삽입하고,
상기 파일 실행 감시부는,
상기 의심 파일의 메타 영역에 상기 표식 정보가 삽입되어 있는지 여부를 기초로 상기 의심 파일에 대한 실행 요청을 인식하는
악성코드 진단장치.
The method according to claim 1,
The file classification unit may include:
Inserting marker information indicating the suspect file into a meta area of the suspicious file,
The file execution monitoring unit,
Recognizing an execution request for the suspicious file based on whether the mark information is inserted in the meta area of the suspicious file
Malicious code diagnostic device.
제 1 항에 있어서,
상기 기설정된 외부 유입 경로는,
상기 파일이 웹브라우저, 이메일, 이동식 디스크를 통해 상기 호스트로 유입되는 경로 또는 상기 호스트에서 구동되는 기설정된 특정 프로그램을 통해 유입되는 경로인
악성코드 진단장치.
The method according to claim 1,
Wherein the predetermined external inflow path includes:
A path through which the file is transferred to the host via a web browser, an e-mail, or a removable disk, or a path through which a predetermined program is run on the host
Malicious code diagnostic device.
호스트에 존재하는 파일에 대한 정보를 기초로 상기 파일이 악성으로 의심되면 의심 파일로 분류하는 단계와,
상기 의심 파일에 대한 실행 요청이 있는지를 감시하는 단계와,
상기 실행 요청이 있으면 상기 의심 파일의 실행으로 실행될 의심 프로세스를 상기 호스트의 자원과 격리된 가상화 공간에서 격리 실행시키는 단계와,
상기 의심 프로세스에 의하여 악성 행위가 수행되는지를 감시하는 단계와,
상기 악성 행위가 수행되면 상기 의심 파일 또는 상기 의심 프로세스를 악성코드로 진단하는 단계를 포함하며,
상기 분류하는 단계는,
상기 파일이 상기 호스트로 유입된 경로가 기설정된 외부 유입 경로면 상기 파일을 의심 파일 후보로 선정하는 단계와,
상기 선정된 의심 파일 후보가 웹브라우저의 취약점을 통해 생성된 파일이거나 기설정된 특정 프로그램의 스크립트 또는 프로세스를 통해 생성된 파일인 경우, 상기 선정된 의심 파일 후보를 상기 의심 파일로 분류하는 단계와,
상기 선정된 의심 파일 후보가 서명되지 않은 파일이거나, 서명 확인 증서가 유효하지 않은 파일이거나, MS 시스템 파일이거나 또는 상기 선정된 의심 파일 후보를 사용하는 기존 사용자의 수가 기설정된 수 이하인 경우, 상기 선정된 의심 파일 후보를 의심 파일로 분류하는 단계
를 포함하는 악성코드 진단방법.
Classifying the file into a suspicious file if the file is suspected to be malicious based on information on the file existing on the host;
Monitoring whether there is an execution request for the suspicious file;
Executing a suspicious process to be executed by execution of the suspicious file in a virtualized space isolated from resources of the host when the execution request is received;
Monitoring whether a malicious action is performed by the suspicion process;
And diagnosing the suspicious file or the suspect process as a malicious code if the malicious action is performed,
Wherein said classifying comprises:
Selecting the file as a suspicious file candidate if the path of the file to the host is a preset external inflow path,
Classifying the selected suspicious file candidate into the suspicious file if the selected suspicious file candidate is a file generated through a vulnerability of the web browser or a file created through a script or process of a predetermined program;
If the selected suspicious file candidate is an unsigned file, a signature verification certificate is invalid file, an MS system file, or the number of existing users using the selected suspicious file candidate is equal to or less than a preset number, Step to classify suspect file candidates into suspicious files
A malicious code diagnosis method.
제 8 항에 있어서,
상기 파일 중에서 악성으로 의심되지 않는 파일을 정상파일로 분류하는 단계와,
상기 정상 파일에 대한 실행 요청이 있는지를 감시하는 단계와,
상기 정상 파일에 대한 실행 요청이 상기 의심 프로세스에 의한 것인지를 검사하는 단계와,
상기 정상 파일에 대한 실행 요청이 상기 의심 프로세스에 의한 것이면 상기 정상 파일의 실행으로 실행될 프로세스를 상기 가상화 공간에서 격리 실행시키는 단계
를 더 포함하는 악성코드 진단방법.
9. The method of claim 8,
Classifying a file that is not suspected to be malicious among the files as a normal file;
Monitoring whether there is an execution request for the normal file;
Checking whether the execution request for the normal file is due to the suspicion process,
If the execution request for the normal file is due to the suspicion process, executing the process to be executed by execution of the normal file in the virtualization space
The method comprising the steps of:
제 8 항에 있어서,
상기 파일에 대한 정보는,
상기 파일이 생성된 이력, 상기 파일이 상기 호스트로 유입된 경로, 상기 파일이 이전에 실행된 이력, 상기 파일이 수정된 이력 또는 상기 파일의 서명 정보 중 적어도 하나를 포함하는
악성코드 진단방법.
9. The method of claim 8,
The information on the file is,
A history of the file generated, a path of the file to the host, a history of the file previously executed, a history of modification of the file, or signature information of the file
How to diagnose malware.
삭제delete 삭제delete 제 8 항에 있어서,
상기 분류하는 단계 이후,
상기 의심 파일의 메타 영역에 상기 의심 파일임을 알리는 표식 정보를 삽입하는 단계
를 더 포함하는 악성코드 진단방법.
9. The method of claim 8,
After the sorting step,
Inserting marker information indicating the suspect file into the meta area of the suspicious file
The method comprising the steps of:
제 8 항에 있어서,
상기 기설정된 외부 유입 경로는,
상기 파일이 웹브라우저, 이메일, 이동식 디스크를 통해 상기 호스트로 유입되는 경로 또는 상기 호스트에서 구동되는 기설정된 특정 프로그램을 통해 유입되는 경로인
악성코드 진단방법.
9. The method of claim 8,
Wherein the predetermined external inflow path includes:
A path through which the file is transferred to the host via a web browser, an e-mail, or a removable disk, or a path through which a predetermined program is run on the host
How to diagnose malware.
KR1020160139437A 2016-10-25 2016-10-25 Apparatus and method for detecting malicious code KR101880689B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160139437A KR101880689B1 (en) 2016-10-25 2016-10-25 Apparatus and method for detecting malicious code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160139437A KR101880689B1 (en) 2016-10-25 2016-10-25 Apparatus and method for detecting malicious code

Publications (2)

Publication Number Publication Date
KR20180045397A KR20180045397A (en) 2018-05-04
KR101880689B1 true KR101880689B1 (en) 2018-07-20

Family

ID=62199749

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160139437A KR101880689B1 (en) 2016-10-25 2016-10-25 Apparatus and method for detecting malicious code

Country Status (1)

Country Link
KR (1) KR101880689B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102161777B1 (en) * 2018-12-14 2020-10-05 서울여자대학교 산학협력단 Trusted execution environment system
KR102448188B1 (en) * 2022-05-06 2022-09-28 (주)지란지교시큐리티 Mail security system and method of providing mail security service based on remote browser isolation solution

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090087726A (en) * 2008-02-13 2009-08-18 한양대학교 산학협력단 Device and method of detecting polymorphic malicious code
KR20110004935A (en) * 2009-07-09 2011-01-17 한국전자통신연구원 Malicious file detection system, malicious file detection apparatus and its method
KR20150089664A (en) * 2014-01-28 2015-08-05 한국전자통신연구원 System for detecting mobile malware
KR101567967B1 (en) * 2015-05-15 2015-11-11 주식회사 블랙포트시큐리티 Method and apparatus for detecting/Collecting realtime spread sites of malware code
KR101589652B1 (en) * 2015-01-19 2016-01-28 한국인터넷진흥원 System and method for detecting and inquiring metamorphic malignant code based on action

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101086203B1 (en) 2011-07-15 2011-11-23 에스지에이 주식회사 A proactive system against malicious processes by investigating the process behaviors and the method thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090087726A (en) * 2008-02-13 2009-08-18 한양대학교 산학협력단 Device and method of detecting polymorphic malicious code
KR20110004935A (en) * 2009-07-09 2011-01-17 한국전자통신연구원 Malicious file detection system, malicious file detection apparatus and its method
KR20150089664A (en) * 2014-01-28 2015-08-05 한국전자통신연구원 System for detecting mobile malware
KR101589652B1 (en) * 2015-01-19 2016-01-28 한국인터넷진흥원 System and method for detecting and inquiring metamorphic malignant code based on action
KR101567967B1 (en) * 2015-05-15 2015-11-11 주식회사 블랙포트시큐리티 Method and apparatus for detecting/Collecting realtime spread sites of malware code

Also Published As

Publication number Publication date
KR20180045397A (en) 2018-05-04

Similar Documents

Publication Publication Date Title
RU2698776C2 (en) Method of maintaining database and corresponding server
RU2645268C2 (en) Complex classification for detecting malware
US9565214B2 (en) Real-time module protection
Zhang et al. Semantics-aware android malware classification using weighted contextual api dependency graphs
US9519779B2 (en) Methods and apparatus for control and detection of malicious content using a sandbox environment
KR101265173B1 (en) Apparatus and method for inspecting non-portable executable files
US10055585B2 (en) Hardware and software execution profiling
US8042186B1 (en) System and method for detection of complex malware
EP2515250A1 (en) System and method for detection of complex malware
US20130312099A1 (en) Realtime Kernel Object Table and Type Protection
US20120255011A1 (en) Systems and methods for identifying hidden processes
CN106845223B (en) Method and apparatus for detecting malicious code
CN106682505A (en) Virus detection method, terminal, server and system
CN110119619B (en) System and method for creating anti-virus records
CN103593608A (en) System and method for detecting malicious codes executed by virtual machine
KR101132197B1 (en) Apparatus and Method for Automatically Discriminating Malicious Code
US10839074B2 (en) System and method of adapting patterns of dangerous behavior of programs to the computer systems of users
US11003772B2 (en) System and method for adapting patterns of malicious program behavior from groups of computer systems
CN105791250B (en) Application program detection method and device
CN106529342B (en) Virtual machine monitor dynamic integrity detection method based on security chip
KR101880689B1 (en) Apparatus and method for detecting malicious code
KR101311367B1 (en) Method and apparatus for diagnosing attack that bypass the memory protection
US20230214489A1 (en) Rootkit detection based on system dump files analysis
JP2019220132A (en) System and method of adapting patterns of dangerous behavior of programs to computer systems of users
EP3522058B1 (en) System and method of creating antivirus records

Legal Events

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