KR100870140B1 - Detection Apparatus and Method of Embedded Malicious Code in File - Google Patents

Detection Apparatus and Method of Embedded Malicious Code in File Download PDF

Info

Publication number
KR100870140B1
KR100870140B1 KR1020070038466A KR20070038466A KR100870140B1 KR 100870140 B1 KR100870140 B1 KR 100870140B1 KR 1020070038466 A KR1020070038466 A KR 1020070038466A KR 20070038466 A KR20070038466 A KR 20070038466A KR 100870140 B1 KR100870140 B1 KR 100870140B1
Authority
KR
South Korea
Prior art keywords
file
support program
abnormal
hidden
inspection target
Prior art date
Application number
KR1020070038466A
Other languages
Korean (ko)
Other versions
KR20080043201A (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 US11/780,303 priority Critical patent/US20080115219A1/en
Publication of KR20080043201A publication Critical patent/KR20080043201A/en
Application granted granted Critical
Publication of KR100870140B1 publication Critical patent/KR100870140B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 파일 처리 과정에서 동작하는 프로세스에 대해 비정상 유무를 확인하여 악성 코드가 숨겨진 파일을 탐지하는 장치 및 방법에 관한 것으로, 그 구성은 검사대상파일에 실행 파일 포맷이 포함되어 있는지 정적분석(static analysis)통해 탐색하는 실행코드 탐지모듈과, 상기 검사대상파일의 확장자에 따라 지원프로그램을 검색하여 해당하는 프로세스명과 실행 경로를 알려주는 지원프로그램 검색모듈과, 상기 검색한 지원프로세스를 모니터링하여 새로 생성되는 프로세스에 대한 부모 프로세스의 정상유무를 프로세스의 트리(tree)구조를 이용해 판단하는 비정상프로세스 탐지모듈과, 상기 검사대상파일이 악성 파일로 판단되면 상기 새로 생성되는 프로세스를 강제 종료하는 비정상프로세스 강제종료모듈을 포함함으로써 모든 비정상적인 프로세스의 실행을 원천적으로 막아낼 수 있다.The present invention relates to an apparatus and a method for detecting a file hidden by malicious code by checking an abnormality of a process operating in a file processing process, the configuration of which is statically analyzed whether an executable file format is included in a file to be scanned. analysis) an execution code detection module to search through, a support program search module searching for a support program according to the extension of the inspection target file and providing a corresponding process name and an execution path, and newly generated by monitoring the searched support process Abnormal process detection module that determines the normal status of the parent process for the process using the tree structure of the process, and abnormal process forced termination module forcibly terminating the newly created process when the target file is determined to be a malicious file All abnormal processes by including It can prevent the execution of the source.

악성 코드, 오피스 문서 Malware, Office Documents

Description

악성 코드가 숨겨진 파일 탐지 장치 및 방법{Detection Apparatus and Method of Embedded Malicious Code in File}Detection Apparatus and Method of Embedded Malicious Code in File}

도 1은 본 발명에 따른 악성 코드가 숨겨진 파일 탐지 장치의 전체 구성도,1 is an overall configuration diagram of a device for detecting hidden files according to the present invention,

도 2는 본 발명에 따른 악성 코드가 숨겨진 파일 탐지 방법을 나타낸 순서도이다.2 is a flowchart illustrating a method of detecting a hidden file in a malicious code according to the present invention.

<도면의 주요 부호에 대한 설명><Description of Major Symbols in Drawing>

10. 사용자 인터페이스 101. 실행코드 탐지모듈10. User Interface 101. Execution Code Detection Module

102. 지원프로그램 검색모듈 103. 비정상프로세스 탐지모듈102. Support Program Search Module 103. Abnormal Process Detection Module

104. 정상프로세스 DB 105. 비정상프로세스 강제종료모듈104. Normal process DB 105. Abnormal process forced termination module

106. 디스플레이부106. Display unit

본 발명은 특정 프로그램에서 지원하는 파일 형식(doc, ppt, xls, hwp, wmf 등)을 처리하는 과정에서의 취약점을 이용해 임의의 실행 파일 포맷을 실행하는 악성 코드가 숨겨진 파일을 탐지하는 방법에 관한 것으로, 더욱 상세하게는 파일 처리 과정에서 동작하는 프로세스에 대해 비정상 유무를 확인하여 악성 코드가 숨겨진 파일을 탐지하는 장치 및 방법에 관한 것이다.The present invention relates to a method for detecting a hidden file by a malicious code executing an arbitrary executable file format by using a vulnerability in processing a file format supported by a specific program (doc, ppt, xls, hwp, wmf, etc.). In more detail, the present invention relates to an apparatus and a method for detecting a hidden file by checking whether a malicious code is hidden by a process operating in a file processing process.

최근 doc-MS Office Word, ppt-MS Office PowerPoint, xls-MS Office Excel, hwp-한글, wmf-MS Windows Media Player와 같이 특정 확장자를 지원하는 프로그램의 취약점을 이용하여 파일에 숨겨진 임의의 코드를 실행하는 기법으로 많은 공격이 이루어지고 있다.Executes arbitrary code hidden in a file using vulnerabilities of programs that support certain extensions such as doc-MS Office Word, ppt-MS Office PowerPoint, xls-MS Office Excel, hwp-Hangul, wmf-MS Windows Media Player A lot of attacks are being made as a technique.

이 기법은 악성 코드가 숨겨진 파일을 이메일, 메신저, P2P 등으로 전파되었을 때, 사용자가 파일을 해당 프로그램으로 실행하기만 하면 악성 코드가 실행되기 때문에 일반 사용자로서는 알기 어려운 위협일뿐만 아니라 그 영향력도 상당하다.This technique is not only a threat unknown to general users, but also has a significant effect when malicious files are spread to hidden files such as email, messenger, and peer-to-peer. Do.

이러한 기법의 공격중 MS Office 제품군을 이용한 공격을 탐지하는 방법으로 국내특허출원 10-2005-0044241호 "악성 코드가 숨겨진 오피스 문서 탐지 방법"이 있다. 이 특허는 일반적으로 많이 사용되는 마이크로소프트 제품군의 오피스 문서의 매크로 기능을 이용하여 숨겨진 악성코드를 실행하는 취약점을 사용한 악성코드 탐지가 현재 국내 및 외산 백신에서 불가능하기 때문에 이를 탐지하는 방법을 제시하였다.As a method of detecting an attack using the MS Office suite among the attacks of such a technique, there is a Korean Patent Application No. 10-2005-0044241, "Detecting Office Documents with Hidden Malicious Code." This patent proposes a method for detecting malicious codes using vulnerabilities that execute hidden malware using macro functions of commonly used Microsoft Office documents.

이처럼 종래기술들은 오직 매크로만을 이용하여 특정 악성코드를 실행시키는 공격에 대한 대응이거나 이미 알려진 패턴 매칭에 의한 악성 코드를 탐지하는 기술이었다.As described above, the prior arts have been technologies for detecting malicious codes by pattern matching or response to attacks that execute specific malicious codes using only macros.

그러나 이러한 방법은 숨겨진 악성코드가 인코딩되어 있고, 매크로를 이용하여 임의의 코드를 실행하는 취약점을 사용한 것이 아닌 경우에 탐지가 불가능한 문제가 있다. However, this method has a problem that cannot be detected if the hidden malicious code is encoded and the vulnerability is not used to execute arbitrary code using a macro.

상기한 종래 기술의 문제점을 해결하기 위한 본 발명의 목적은 단순히 매크로뿐만 아니라 모든 프로그램들이 자신이 지원하는 파일 형식을 처리하는 과정에서의 취약점을 이용한 공격에 대응할 수 있고, 기본적인 패턴 매칭 기법이 아닌 파일 처리 과정에서 동작하는 모든 비정상적인 프로세스의 실행을 원천적으로 막아낼 수 있는 악성 코드가 숨겨진 파일 탐지 장치 및 그 방법에 관한 것이다.An object of the present invention for solving the above problems of the prior art is not only a macro but also all programs can cope with an attack using a vulnerability in the process of processing the file format supported by them, the file is not a basic pattern matching technique The present invention relates to a hidden file detection device and a method for hiding malicious code that can fundamentally prevent execution of all abnormal processes operating in a processing process.

본 발명에 따른 악성 코드가 숨겨진 파일 탐지 장치는 검사대상파일에 실행 파일 포맷이 포함되어 있는지 정적분석(static analysis)을 통해 탐색하는 실행코드 탐지모듈과, 상기 검사대상파일의 확장자에 따라 지원프로그램을 검색하여 해당하는 프로세스명과 실행 경로를 알려주는 지원프로그램 검색모듈과, 상기 검색한 지원프로세스를 모니터링하여 생성되는 새로운 프로세스에 대한 부모 프로세스의 정상유무를 프로세스의 트리(tree)구조를 이용해 판단하는 비정상프로세스 탐지모듈과, 상기 검사대상파일이 악성 파일로 판단되면 상기 생성되는 새로운 프로세스를 강제 종료하는 비정상프로세스 강제종료모듈을 포함하여 구성되는 것을 특징으로 한다.Hidden file detection apparatus according to the present invention is an executable code detection module for searching through the static analysis (static analysis) whether the executable file format included in the scan target file, and the support program according to the extension of the scan target file Supporting program search module that searches and informs the corresponding process name and execution path, and abnormal process that determines whether the parent process for the new process generated by monitoring the searched support process is normal by using the tree structure of the process And a detection module and an abnormal process forced termination module forcibly terminating the generated new process when the file to be inspected is determined to be a malicious file.

한편, 본 발명에 따른 악성 코드가 숨겨진 파일 탐지 방법은 검사대상파일에 실행 파일 포맷이 존재하는지를 판단하기 위해 정적분석(static analysis)을 수행하는 1단계와, 상기 정적분석 결과, 상기 검사대상파일에 실행 파일 포맷 MZ header 및 PE header가 존재하지 않는 경우에는 상기 검사대상파일의 지원프로그램을 실행하여 새로운 프로세스의 생성 여부를 모니터링하는 2단계와, 상기 모니터링 결과에 따라 상기 검사대상파일에 대한 상기 새로운 프로세스의 정상 유무를 판단하는 3단계를 포함하여 이루어지는 것을 특징으로 한다.On the other hand, the malicious code hidden file detection method according to the present invention comprises the steps of performing a static analysis (static analysis) to determine whether the executable file format exists in the file to be scanned, the result of the static analysis, the file to be scanned If the executable file format MZ header and PE header does not exist, step 2 of monitoring whether a new process is generated by executing a support program of the file to be inspected; and according to the monitoring result, the new process for the file to be inspected. Characterized in that it comprises three steps to determine whether the normal.

또한, 상기 악성 코드가 숨겨진 파일 탐지 방법은 상기 3단계에서 상기 새로운 프로세스가 비정상 프로세스로 판단되면 상기 검사대상파일이 악성 파일로 판단하여 상기 새로운 프로세스를 강제종료하는 4단계를 더 포함하여 이루어지는 것을 특징으로 한다.In addition, the method of detecting a file hidden in the malicious code may further include four steps of determining that the scan target file is a malicious file and forcibly terminating the new process if the new process is determined to be an abnormal process in step 3. It is done.

또한, 상기 2단계는 상기 검사대상파일을 지원하는 지원프로그램을 검색하는 2-1단계와, 상기 지원프로그램으로 상기 검사대상파일을 실행하는 2-2단계와, 상기 지원프로그램의 실행에서 새로운 프로세스가 생성되는지 모니터링하는 2-3단계를 포함하여 이루어지는 것을 특징으로 한다.Also, the second step may include steps 2-1 of searching for a support program supporting the inspection target file, steps 2-2 of executing the inspection target file with the support program, and a new process in execution of the support program. Characterized in that it comprises a 2-3 steps to monitor whether it is generated.

또한, 상기 3단계는, 상기 2단계의 모니터링 결과, 상기 생성된 새로운 프로세스의 부모 프로세스가 지원프로그램의 프로세스인지 프로세스의 트리(tree)구조를 이용해 확인하는 3-1단계와, 부모 프로세스가 지원프로그램이면 정상 프로세스 DB에 상기 생성된 새로운 프로세스명이 있는지 검색하는 3-2단계와, 상기 검색결과, 상기 정상 프로세스 DB에 상기 생성된 새로운 프로세스명이 없으면 비정상프로세스로 판단하는 3-3단계를 포함하여 이루어지는 것을 특징으로 한다.In addition, in step 3, as a result of the monitoring in step 2, step 3-1 of checking whether the generated parent process of the new process is a process of a support program using a tree structure of the process, and the parent process is a support program. And 3-3 of searching whether there is a new process name generated in the normal process DB, and 3-3 of determining if the generated new process name is not present in the normal process DB. It features.

이하 본 발명의 악성 코드가 숨겨진 파일 탐지 장치(100)에 대하여 도 1을 참조하여 상세하게 설명한다.Hereinafter, the file detection apparatus 100 in which malicious code is hidden will be described in detail with reference to FIG. 1.

도 1은 본 발명에 따른 악성 코드가 숨겨진 파일 탐지 장치(100)의 구성을 나타낸 것으로서, 악성 코드가 숨겨진 파일 탐지 장치(100)는 실행코드 탐지모듈(101), 지원프로그램 검색모듈(102), 비정상프로세스 탐지모듈(103), 정상프로세스 DB(104), 비정상프로세스 강제종료모듈(105) 및 디스플레이부(106)를 포함한다.1 illustrates a configuration of a file detection apparatus 100 for hiding malicious code according to the present invention. The file detection apparatus 100 for hiding malicious code includes an execution code detection module 101, a support program search module 102, The abnormal process detection module 103, the normal process DB 104, abnormal process forced termination module 105 and the display unit 106.

본 발명에 따르면, 악성 코드가 숨겨진 파일 탐지 장치(100)는 사용자 인터 페이스(user interface)(10)를 통해 사용자로부터 검사대상파일을 입력받고, 입력받은 검사대상파일에 악성 코드가 포함되어 있는지를 검사하고, 그 검사 결과를 출력한다.According to the present invention, the malicious code hidden file detection device 100 receives a scan target file from the user through a user interface (10), whether the malicious code is included in the received scan target file The test results are outputted.

구체적으로, 본 발명의 악성 코드가 숨겨진 파일 탐지 장치(100)의 실행코드 탐지모듈(101)은 사용자 인터페이스(user interface)(10)를 통해 입력받은 검사대상파일에 정적분석(static analysis)을 수행하여 실행 파일 포맷인 MZ Header와 PE Header가 포함되어 있는지 탐지한다.Specifically, the execution code detection module 101 of the file detection apparatus 100 in which the malicious code is hidden performs a static analysis on a scan target file received through a user interface 10. Detect whether the executable file formats MZ Header and PE Header are included.

탐지 결과, 검사대상파일에 실행 파일 포맷인 MZ Header와 PE Header가 포함되어 있으면, 검사대상파일을 악성 코드가 숨겨진 파일, 즉 악성 파일로 판단하고, 포함되어 있지 않으면 검사대상파일을 실행할 수 있는 지원프로그램을 검색하도록 한다.As a result of detection, if the file to be scanned contains MZ Header and PE Header, which are executable file formats, it is determined that the file to be scanned is a hidden file, that is, a malicious file. Try searching for the program.

상세하게는 실행코드 탐지모듈(101)은 검사대상파일에 대해 실행 가능한 파일 포맷을 찾아 해당 문자열이 일반 PE 파일 구조에 맞는 PE 포맷 규정에 따르며, 또한 실행 가능한지 DOS MZ header - PE header 부분까지 검사하여 위 두 가지 조건에 맞는 경우 해당 파일에 대해 악성 코드가 임베디드(embedded)된 것으로 탐지한다.In detail, the executable code detection module 101 finds an executable file format for the target file to be scanned, and checks the DOS MZ header-PE header part to see if the corresponding string is in accordance with the PE format specification for the general PE file structure. If the above two conditions are met, the malicious code for the file is detected as embedded.

여기서, PE는 Portable Executable(이식가능한 실행 프로그램)를 뜻하며, Win32의 기본적인 파일 형식이다. "Portable Executable"의 의미는 win32 플랫폼 하에서 공통으로 사용할 수 있음을 뜻한다. 모든 Win32 실행파일(VxD와 16비트 DLL 제외)은 PE 파일형식을 사용한다.Here, PE stands for Portable Executable, which is the basic file format of Win32. "Portable Executable" means it can be used in common under the win32 platform. All Win32 executables (except VxD and 16-bit DLLs) use the PE file format.

한편 검사대상파일에서 악성 코드가 탐지되지 않는 경우에는 검사대상파일 형식을 지원하는 프로그램을 검색한다.On the other hand, if malicious code is not detected in the scanned file, the program that supports the scanned file type is searched.

지원프로그램 검색모듈(102)은 검사대상파일의 확장자에 해당하는 지원 프로그램을 검색하여 해당하는 프로세스명과 실행경로를 알려준다. 예를 들면, 검사대상파일의 확장자가 doc이면 지원프로그램을 검색하였을 때, 그 결과인 MS Office Word의 프로세스명과 실행 경로를 알려준다.The support program search module 102 searches for a support program corresponding to the extension of the file to be scanned and informs the corresponding process name and execution path. For example, if the file to be scanned has a doc extension, it will tell you the process name and execution path of the resulting MS Office Word when you search for support programs.

비정상프로세스 탐지모듈(103)은 검사대상파일을 실행하는 프로세스를 모니터링하여 생성되는 새로운 프로세스의 부모 프로세스가 지원프로그램이면서 정상 프로세스에 해당하는지 정상 프로세스 DB(104)를 검색하여 비교한다. The abnormal process detection module 103 searches and compares the normal process DB 104 to determine whether the parent process of the new process, which is generated by monitoring the process executing the file to be inspected, is a support program and a normal process.

여기서, 정상 프로세스 DB(104)에는 프로그램에서 정상적으로 생성하는 프로세스를 미리 정의하여 저장한다.Here, the normal process DB 104 defines and stores a process normally generated by the program in advance.

검색 결과, 부모 프로세스가 정상 프로세스 DB(104)에서 검색되지 않으면 새로운 프로세스가 비정상프로세스이므로 검사대상파일을 악성 파일로 판단하고, 검색되면, 정상 프로세스이므로 검사대상파일을 정상 파일로 판단한 후 이러한 결과를 디스플레이부(106)를 통해 출력한다.As a result of the search, if the parent process is not detected in the normal process DB 104, the new process is an abnormal process, and thus, the scan target file is determined to be a malicious file. Output through the display unit 106.

비정상프로세스 탐지모듈(103)의 비정상프로세스의 판단은 Win32에서 모든 프로세스는 트리(tree) 구조로 이루어져 있기 때문에 각각의 부모(parent) 프로세스와 자식(child) 프로세스의 관계를 통해 비정상프로세스로 예상되는 프로세스를 판단한다. 따라서 검사대상파일 형식을 지원하는 프로그램을 실행하는 과정에서 비정상적인 프로세스를 생성하면 악성 파일로 판단한다.Determination of abnormal process of abnormal process detection module 103 is that in Win32, all processes are tree structure, so process is expected to be abnormal process through relationship between parent process and child process. Judge. Therefore, if an abnormal process is created while executing a program that supports the file type to be scanned, it is determined to be a malicious file.

비정상프로세스 강제종료모듈(105)은 검사대상파일이 악성 파일로 판단되었을 때, 생성된 새로운 프로세스를 강제 종료하고, 검사대상파일이 악성 파일임을 디스플레이부(106)를 통해 출력한다.Abnormal process forced termination module 105, when it is determined that the inspection target file is a malicious file, forcibly terminates the generated new process, and outputs through the display unit 106 that the inspection target file is a malicious file.

그러면 상술한 바와 같은 악성 코드가 숨겨진 파일 탐지 장치(100)에서 악성 코드가 숨겨진 파일을 탐지하는 과정에 대해 도 2를 참조하여 상세하게 설명한다.Next, a process of detecting a file hidden by the malicious code in the file detection apparatus 100 in which the malicious code is hidden as described above will be described in detail with reference to FIG. 2.

도 2는 본 발명에 따라 악성 코드가 숨겨진 파일, 즉 악성 파일을 탐지하는 과정을 도시한 흐름도이며 다음과 같은 각 단계로 수행된다.2 is a flowchart illustrating a process of detecting a hidden file, ie, a malicious file, by a malicious code according to the present invention, and is performed in the following steps.

사용자에 의해 장치 및 프로그램이 시작되고(201), 사용자 인터페이스(10)를 통해 사용자가 검사대상파일을 입력하면(202), 실행코드 탐지모듈(101)은 정적분석(static analysis)을 통해 검사대상파일 내부에 MZ Header가 존재하는지 검사한다(203).When the device and the program are started by the user 201 and the user inputs the file to be inspected through the user interface 10 (202), the execution code detection module 101 performs the test object through static analysis. In operation 203, the MZ header is checked in the file.

검사결과(203), 검사대상파일 내부에 MZ Header가 존재하면 PE Header가 존재하는지 검사한다(204). 검사대상파일 내부에 PE Header가 존재하면, 검사대상파일을 악성 코드가 숨겨진 파일로 판단(205)하여 결과를 출력(215)하고, 장치 및 프로그램을 종료한다(216). If the MZ Header exists in the inspection result 203 and the file to be inspected, it is checked whether the PE Header exists (204). If the PE header exists inside the inspection target file, the inspection target file is determined to be a hidden file in the malicious code (205), the result is output (215), and the device and the program are terminated (216).

검사결과(203), 검사대상파일 내부에 MZ Header가 존재하지 않으면 지원프로그램 검색모듈(102)에서 검사대상파일을 지원하는 지원프로그램을 검색한다(206). 비정상프로세스 탐지모듈(103)에서 지원프로그램에 대한 프로세스 모니터링을 시작(207)하여 검색한 지원프로그램으로 검사대상파일을 실행한다(208).If there is no MZ Header in the inspection result 203 and the inspection target file, the support program search module 102 searches for the support program supporting the inspection target file (206). The abnormal process detection module 103 starts process monitoring for the support program (207) and executes the inspection target file with the searched support program (208).

프로세스 모니터링(207) 중 새로운 프로세스가 생성되었는지 확인(209)하고, 확인결과(209), 새로운 프로세스가 생성되면 프로세스의 트리(tree)구조를 이용하여 생성된 프로세스의 부모 프로세스가 지원 프로그램의 프로세스인지 확인(210)한다. In process monitoring 207, check whether a new process has been created (209), and when the result of check (209), a new process is created, whether the parent process of the created process is a process of the support program using the tree structure of the process. Check 210.

확인결과(210), 생성된 프로세스의 부모 프로세스가 지원 프로그램의 프로세스이면, 생성된 새로운 프로세스명이 정상 프로세스 DB(104)에 존재하는지 검색한다(211). As a result of the check 210, if the parent process of the generated process is a process of the support program, it is searched whether the generated new process name exists in the normal process DB 104 (211).

검색결과(211), 새로 생성된 프로세스명이 정상 프로세스 DB(104)에 존재하지 않으면 악성파일로 판단(212)하여 비정상프로세스 강제종료모듈(105)에서 비정상 프로세스인 새로운 프로세스를 강제종료하고(213), 검사대상파일이 악성 파일임을 출력(215)한 후 장치 및 프로그램을 종료한다(216). 그렇지 않으면, 지원프로그램이 끝날 때까지 프로세스 모니터링(209)을 반복한다. If the newly created process name does not exist in the normal process DB 104, the search result 211 determines that it is a malicious file (212), and terminates the new process that is an abnormal process in the abnormal process forced termination module 105 (213). After outputting 215 that the scan target file is a malicious file, the device and the program are terminated (216). Otherwise, process monitoring 209 is repeated until the end of the support program.

만약, 확인결과(209), 지원프로그램이 종료할 때까지 새로운 프로세스를 생성하지 않았거나, 검색결과(211) 생성된 새로운 프로세스가 정상이면 정상파일로 판단하여 결과를 출력(215)하고, 장치 및 프로그램을 종료한다(216).If the check result 209 does not generate a new process until the support program ends, or if the new process generated in the search result 211 is normal, it is determined to be a normal file and outputs the result (215). The program ends (216).

이상에서 몇 가지 실시예를 들어 본 발명을 더욱 상세하게 설명하였으나, 본 발명은 반드시 이러한 실시예로 국한되는 것이 아니고 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형실시될 수 있다.Although the present invention has been described in more detail with reference to some embodiments, the present invention is not necessarily limited to these embodiments, and various modifications can be made without departing from the spirit of the present invention.

상술한 바와 같이 본 발명에 의한 악성 코드가 숨겨진 파일 탐지 장치 및 방법은 실행 파일뿐만 아니라 하위 프로세스 실행 여부에 따른 비정상프로세스 생성을 이용하여 탐지함으로써 악성코드가 숨겨진 파일에 대해서 알려지지 않은 악성코드를 탐지할 수 있으며, 또한, 특정 프로그램에서 지원하는 파일 형식을 처리하는 과정에서의 취약점을 이용하는 악성 파일을 모두 탐지할 수 있는 효과가 있다.As described above, the apparatus and method for detecting malicious code hidden files according to the present invention can detect unknown malicious codes for hidden files by detecting abnormal files generated according to whether a subprocess is executed as well as executable files. In addition, there is an effect that can detect all the malicious files using the vulnerability in the process of processing the file format supported by a particular program.

Claims (11)

삭제delete 삭제delete 삭제delete 검사대상파일에 실행 파일 포맷이 포함되어 있는지 정적분석(static analysis)을 통해 탐색하는 실행코드 탐지모듈;An executable code detection module for searching through static analysis whether the executable file format is included in the inspection target file; 상기 검사대상파일의 확장자에 따라 지원프로그램을 검색하여 해당하는 프로세스와 실행 경로를 알려주는 지원프로그램 검색모듈;A support program search module for searching for a support program according to the extension of the inspection target file and indicating a corresponding process and an execution path; 상기 지원프로그램을 모니터링하면서 생성되는 다른 프로세스에 대해 부모(parent) 프로세스와 자식(child) 프로세스의 관계가 정의된 트리(tree)구조를 이용하여 상기 다른 프로세스가 정상 프로세스 DB에 존재하는지의 여부에 따라 상기 다른 프로세스의 정상여부를 판단하는 비정상프로세스 탐지모듈; 및It is determined whether the other process exists in the normal process DB by using a tree structure in which a relationship between a parent process and a child process is defined for another process generated while monitoring the support program. An abnormal process detection module for determining whether the other process is normal; And 상기 비정상프로세스 탐지모듈에서 상기 다른 프로세스가 비정상프로세스로 판단되면, 상기 검사대상파일을 악성 코드가 숨겨진 파일로 판단하여 상기 다른 프로세스를 강제 종료하는 비정상프로세스 강제종료모듈If the other process is determined to be an abnormal process in the abnormal process detection module, the abnormal process forced termination module for determining that the scan target file is a hidden file and forcibly terminating the other process. 을 포함하여 구성되는 것을 특징으로 하는 악성 코드가 숨겨진 파일 탐지 장치.File detection device hidden malicious code, characterized in that comprises a. 검사대상파일에 실행 파일 포맷이 존재하는지를 판단하기 위해 정적분석(static analysis)을 수행하는 1단계;Performing a static analysis to determine whether an executable file format exists in the file to be inspected; 상기 정적분석 결과, 상기 검사대상파일에 실행 파일 포맷 MZ header 및 PE header가 존재하지 않는 경우에는 상기 검사대상파일의 지원프로그램을 실행하고, 상기 지원프로그램이 다른 프로세스를 생성시키는지의 여부를 모니터링하는 2단계; 및If the executable file format MZ header and PE header are not present in the inspection target file as a result of the static analysis, the support program of the inspection target file is executed, and whether the assistance program generates another process is monitored. step; And 상기 모니터링 결과에 따라 상기 검사대상파일에 대한 상기 다른 프로세스의 정상 유무를 판단하는 3단계를 포함하며,Determining whether the other process is normal for the inspection target file according to the monitoring result; 상기 3단계는, 상기 2단계의 모니터링 결과, 부모(parent) 프로세스와 자식(child) 프로세스의 관계가 정의된 트리(tree)구조를 이용하여 상기 다른 프로세스의 부모 프로세스가 지원프로그램의 프로세스인지 확인하는 3-1단계; 부모 프로세스가 지원프로그램이면 정상 프로세스 DB에 상기 다른 프로세스가 있는지 검색하는 3-2단계; 및 상기 검색결과, 상기 정상 프로세스 DB에 상기 다른 프로세스가 없으면 비정상프로세스로 판단하는 3-3단계로 이루어지는 것을 특징으로 하는 악성 코드가 숨겨진 파일 탐지 방법.In the third step, as a result of the monitoring in the second step, by using a tree structure in which a relationship between a parent process and a child process is defined, it is determined whether a parent process of the other process is a process of a support program. Step 3-1; Step 3-2, if the parent process is a supporting program, searching for a presence of the other process in a normal process DB; And 3-3 steps of determining that the process is an abnormal process if the other process does not exist in the normal process DB. 제5항에 있어서,The method of claim 5, 상기 정적분석은 상기 검사대상파일에 실행 파일 포맷 MZ header 및 PE header가 존재하는지 검사하는 것에 의해 수행되는 것을 특징으로 하는 악성 코드가 숨겨진 파일 탐지 방법.Wherein the static analysis is performed by checking whether an executable file format MZ header and a PE header exist in the file to be scanned. 제6항에 있어서,The method of claim 6, 상기 정적분석 결과, 상기 검사대상파일에 실행 파일 포맷 MZ header 및 PE header가 존재하는 경우에는 상기 검사대상파일을 악성 코드를 포함한 파일로 판단하여 결과를 출력한 후 종료하는 것을 특징으로 하는 악성 코드가 숨겨진 파일 탐지 방법.As a result of the static analysis, when the executable file format MZ header and the PE header exist in the inspection target file, the malicious code comprises determining that the inspection target file is a file including malicious code and outputting the result. How to detect hidden files. 제5항에 있어서,The method of claim 5, 상기 2단계는 검사대상파일의 확장자를 이용하여 상기 검사대상파일을 지원하는 지원프로그램을 검색하는 2-1단계;Step 2-1 includes searching for a support program supporting the file to be scanned using the extension of the file to be examined; 상기 지원프로그램으로 상기 검사대상파일을 실행하는 2-2단계; 및Step 2-2 of executing the inspection target file with the support program; And 상기 지원프로그램의 실행에서 상기 다른 프로세스가 생성되는지 모니터링하는 2-3단계Step 2-3 of monitoring whether the other process is generated in the execution of the support program 를 포함하여 이루어지는 것을 특징으로 하는 악성 코드가 숨겨진 파일 탐지 방법.Hidden file detection method characterized in that the malicious code is made, including. 삭제delete 제5항에 있어서,The method of claim 5, 상기 3단계는 상기 2단계의 모니터링 결과, 상기 다른 프로세스의 부모 프로세스가 정상 프로세스 DB에 있으면 정상 프로세스로 판단하여 상기 검사대상파일을 정상 파일임을 출력한 후 종료하는 것을 특징으로 하는 악성 코드가 숨겨진 파일 탐지 방법.In the third step, if the parent process of the other process is found in the normal process DB, the third process outputs the file to be inspected as a normal file and ends after outputting the file as a normal file. Detection method. 제5항에 있어서,The method of claim 5, 상기 악성 코드가 숨겨진 파일 탐지 방법은 상기 3단계에서 상기 다른 프로세스가 비정상 프로세스로 판단되면 상기 검사대상파일이 악성 파일로 판단하여 상기 다른 프로세스를 강제종료하는 4단계In the method of detecting a file in which the malicious code is hidden, if the other process is determined to be an abnormal process in step 3, the file to be detected is determined to be a malicious file and forced to terminate the other process. 를 더 포함하여 이루어지는 것을 특징으로 하는 악성 코드가 숨겨진 파일 탐지 방법.Hidden file detection method characterized in that it further comprises a.
KR1020070038466A 2006-11-13 2007-04-19 Detection Apparatus and Method of Embedded Malicious Code in File KR100870140B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/780,303 US20080115219A1 (en) 2006-11-13 2007-07-19 Apparatus and method of detecting file having embedded malicious code

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20060111853 2006-11-13
KR1020060111853 2006-11-13

Publications (2)

Publication Number Publication Date
KR20080043201A KR20080043201A (en) 2008-05-16
KR100870140B1 true KR100870140B1 (en) 2008-11-24

Family

ID=39661704

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070038466A KR100870140B1 (en) 2006-11-13 2007-04-19 Detection Apparatus and Method of Embedded Malicious Code in File

Country Status (1)

Country Link
KR (1) KR100870140B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101132197B1 (en) * 2010-01-28 2012-04-06 주식회사 안철수연구소 Apparatus and Method for Automatically Discriminating Malicious Code

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100897849B1 (en) 2007-09-07 2009-05-15 한국전자통신연구원 Apparatus and Method for finding malicious process
KR101039551B1 (en) * 2008-10-15 2011-06-09 (주)씨디네트웍스 Method and system for monitoring hidden process
KR101044274B1 (en) * 2009-11-03 2011-06-28 주식회사 안철수연구소 Exploit site filtering APPARATUS, METHOD, AND RECORDING MEDIUM HAVING COMPUTER PROGRAM RECORDED
KR101138746B1 (en) * 2010-03-05 2012-04-24 주식회사 안철수연구소 Apparatus and method for preventing malicious codes using executive files
KR101265173B1 (en) * 2012-05-11 2013-05-15 주식회사 안랩 Apparatus and method for inspecting non-portable executable files
KR101212553B1 (en) * 2012-05-11 2012-12-14 주식회사 안랩 Apparatus and method for detecting malicious files
KR102192479B1 (en) * 2014-04-23 2020-12-17 삼성전자주식회사 Method for analysing prgoram code of electonic device and electronic device
KR102378502B1 (en) 2020-04-08 2022-03-28 (주)넷코아테크 Apparatus, method and computer program for detecting malicious code
CN111737289B (en) * 2020-06-05 2023-07-25 北京奇艺世纪科技有限公司 Method and device for detecting SQL injection attack

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7043757B2 (en) 2001-05-22 2006-05-09 Mci, Llc System and method for malicious code detection
KR20070019190A (en) * 2005-08-11 2007-02-15 주식회사 웨어플러스 Method for protecting file system and registry and apparatus thereof
KR20070107840A (en) * 2006-05-04 2007-11-08 박재현 The method for blocking a malicious program on a real time, initializing the environment of the explore, and the readable medium for storing program for carrying out the method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7043757B2 (en) 2001-05-22 2006-05-09 Mci, Llc System and method for malicious code detection
KR20070019190A (en) * 2005-08-11 2007-02-15 주식회사 웨어플러스 Method for protecting file system and registry and apparatus thereof
KR20070107840A (en) * 2006-05-04 2007-11-08 박재현 The method for blocking a malicious program on a real time, initializing the environment of the explore, and the readable medium for storing program for carrying out the method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101132197B1 (en) * 2010-01-28 2012-04-06 주식회사 안철수연구소 Apparatus and Method for Automatically Discriminating Malicious Code

Also Published As

Publication number Publication date
KR20080043201A (en) 2008-05-16

Similar Documents

Publication Publication Date Title
KR100870140B1 (en) Detection Apparatus and Method of Embedded Malicious Code in File
CN108763928B (en) Open source software vulnerability analysis method and device and storage medium
US9922193B2 (en) Identifying an evasive malicious object based on a behavior delta
US20080115219A1 (en) Apparatus and method of detecting file having embedded malicious code
JP5507699B2 (en) Malignant site detection apparatus and method
US8370945B2 (en) Identifying security breaches caused by web-enabled software applications
JP5087661B2 (en) Malignant code detection device, system and method impersonated into normal process
JP4732484B2 (en) Exploit code analysis method and apparatus in non-executable file using virtual environment
KR101212553B1 (en) Apparatus and method for detecting malicious files
US20110307956A1 (en) System and method for analyzing malicious code using a static analyzer
US10049210B2 (en) System and method for detection of omnientrant code segments to identify potential malicious code
WO2009014779A2 (en) System for malware normalization and detection
WO2013000083A1 (en) Detecting security vulnerabilities in web applications
JP6000465B2 (en) Process inspection apparatus, process inspection program, and process inspection method
JP6023282B2 (en) Malware risk scanner
JP2019514119A (en) Hybrid Program Binary Feature Extraction and Comparison
Monnappa Automating linux malware analysis using limon sandbox
CN105791250B (en) Application program detection method and device
US20080016573A1 (en) Method for detecting computer viruses
Wichmann et al. Using infection markers as a vaccine against malware attacks
KR100896319B1 (en) Apparatus and method for detecting packed file
CN112818348A (en) Lesovirus file identification and detection method and system
KR101113249B1 (en) An apparatus and method for deciphering obfuscated data

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121011

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20130930

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140916

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20161004

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20170918

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20181002

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20190925

Year of fee payment: 12