WO2020189823A1 - Device and method for dealing with malicious programs by using technique of checking validity of redirection file - Google Patents

Device and method for dealing with malicious programs by using technique of checking validity of redirection file Download PDF

Info

Publication number
WO2020189823A1
WO2020189823A1 PCT/KR2019/003223 KR2019003223W WO2020189823A1 WO 2020189823 A1 WO2020189823 A1 WO 2020189823A1 KR 2019003223 W KR2019003223 W KR 2019003223W WO 2020189823 A1 WO2020189823 A1 WO 2020189823A1
Authority
WO
WIPO (PCT)
Prior art keywords
file
redirection
program
malicious
monitoring target
Prior art date
Application number
PCT/KR2019/003223
Other languages
French (fr)
Korean (ko)
Inventor
황규민
한관석
김의탁
Original Assignee
주식회사 하우리
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 하우리 filed Critical 주식회사 하우리
Priority to PCT/KR2019/003223 priority Critical patent/WO2020189823A1/en
Publication of WO2020189823A1 publication Critical patent/WO2020189823A1/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

Definitions

  • the present invention relates to a malicious program processing apparatus and a processing method, and in particular, a file modified by the monitoring target program when a file accessed to a computer system is a monitoring target program that needs monitoring because it is suspected as a malicious program infected with malicious code, etc.
  • the present invention relates to a malicious program processing apparatus and a processing method according to a method of validating a redirection file that safely protects the system from malicious programs by managing them in a redirection path.
  • Patent Documents 1 and 2 there are various detection methods described in Patent Documents 1 and 2 as an action-based detection method that detects malicious or not by analyzing the behavior of an executed program.
  • Patent Document 1 by analyzing the API and parameters that are called when the file (program) to be analyzed is executed, the risk score of the action is measured, and the risk score of the file is calculated by summing the measured risk score. It checks whether it is a malicious program.
  • Patent Document 2 creates a feature vector using feature factor information collected during the execution of a process (program), and detects whether the process contains malicious code using the generated feature vector. .
  • Patent Document 1 Registered Patent No. 10-1404882 (announced on June 11, 2014)
  • Patent Document 2 Publication No. 10-2017-81386 (published on July 12, 2017)
  • the present invention has been made in view of the above problems of the prior art, and manages system resource manipulation actions of a suspected program separately from the original system resource, and when the program is identified as a malicious program, it is managed separately.
  • An object of the present invention is to provide a malicious program processing apparatus and a processing method based on a method of validating a redirection file that maintains the system in the environment before the malicious program was executed by removing the old resources.
  • the malicious program processing apparatus of the present invention for solving the above problem includes a monitoring filter that checks whether a program that accesses a computer system and requests a file open is a program to be monitored as a malicious program, and whether the program to be monitored is It includes a monitoring target item database holding a monitoring target item for determination, and the monitoring filter determines that the program requesting the file open corresponds to any one or more of the monitoring target items, and , A redirection file is created by copying the original file of the file requested to be opened by the monitoring target program, and the generated redirection file is stored in a redirection path that is different from the file path of the original file.
  • the malicious program processing method of the present invention for solving the above problem includes the step a) of determining whether a program requesting a file open request by accessing a computer system is a monitoring target program suspected of being a malicious program, and the step a ), if the program that requested to open the file is a program to be monitored, step b) of creating a redirection file by copying the original file of the file requested to be opened by the program, and the redirection file generated as a file of the original file And storing c) in a redirection path that is a path different from the path.
  • the present invention separates and stores a file modified by a normal program and a file modified by a monitoring target program suspected as a malicious program in different paths.
  • the file and the file modified by the normal program can be managed separately from each other, and when the validation of the redirection file turns out to be ineffective, it can be easily processed by deleting the invalid redirection file from the system.
  • the system can be safely protected from malicious programs.
  • FIG. 1 is a block diagram showing a malicious program processing apparatus according to a preferred embodiment of the present invention.
  • FIG. 2 is a flowchart showing the flow of a malicious program processing method according to a preferred embodiment of the present invention
  • FIG. 3 is a flowchart showing the flow of a file validity verification method for validating a file.
  • FIG. 1 is a block diagram showing a malicious program processing apparatus according to a preferred embodiment of the present invention.
  • the malicious program processing apparatus 100 in this embodiment uses a redirection technique that separates and manages a resource used by a normal program and a resource used by a malicious program.
  • the monitoring filter 130 is configured by adding a redirection function to the filter that monitors the behavior between the program 110 running in the user mode and the actual data in the kernel mode. By separating and managing the actual data and the resources used by the malicious program according to (130), the resources in the computer system can be safely protected.
  • the malicious program processing apparatus 100 of the present embodiment that executes the above functions is installed in a computer system, and as shown in FIG. 1, the monitoring filter 130, the monitoring target item database 140, and the original data storage means 150 ) And a redirection data storage unit 160 and a redirection information memory 170.
  • the monitoring filter 130 adds a redirection function to the mini filter provided by the Windows OS (Windows Operating System), and all programs that request file open to execute certain tasks by accessing the computer system ( 110), the program 110 determines whether it is a program that is suspected of being infected with malicious code, that is, a program to be monitored, and in the case of a program to be monitored, the redirection file from which the original file is copied is different from the path of the original file. It is stored in the redirection path, which is the path, and the modification of the file by the monitoring target program is executed only for the redirection file.
  • Windows OS Windows Operating System
  • a program 110 that accesses a resource for file modification, etc., obtains a handle of a file to be modified in kernel mode to modify the file, and the monitoring filter 130 All programs or threads accessed in user mode for file modification, etc.
  • the term ⁇ program'' is used as a term encompassing all programs or threads accessed in user mode for file modification, etc.
  • the program 110 may be a malicious program infected with malicious code or the like, and thus a program to be monitored (in this specification, this program is referred to as a "monitoring target program", and a program other than the monitoring target program is referred to as "normal" Program”).
  • the malicious program processing device 100 has a monitoring target item database 140, and has a plurality of monitoring target items in the monitoring target item database 140, and the malicious program processing device 100 is in a user mode. If the accessing program 110 corresponds to one or more of the monitoring target items held in the monitoring target item database 140, the program is set as a monitoring target program.
  • -Injected thread If the malicious program is not an executable file such as EXE or COM, it uses a method of loading it into another running process (this is called'DLL injection'), and a program that accesses in user mode (110) It checks whether it is an injected thread by monitoring the creation of a thread of, and if it is an injected thread, it is set as a monitoring target program.
  • -Script type program There are script execution programs such as VBScript, WScript, powershell, php, etc., or malicious programs in the form of interpreters such as java programs, so that a process or interpreter that can execute a script is a monitoring target program.
  • script execution programs such as VBScript, WScript, powershell, php, etc.
  • malicious programs in the form of interpreters such as java programs, so that a process or interpreter that can execute a script is a monitoring target program.
  • the monitoring filter 130 stores a redirection file previously redirected by the monitoring target program in the redirection data storage means 160 Check whether there is.
  • the monitoring filter 130 is stored in the original data storage unit 150.
  • a redirection file which is a copy file from which an existing original file is copied, is generated and stored in the redirection data storage unit 160, and file information of the generated redirection file is stored in the redirection information memory 170.
  • the monitoring filter 130 applies the file information of the newly created redirection file, obtains the handle of the redirection file from the kernel, and returns it to the program, and thereby, the redirection file newly created and stored in the redirection data storage means 160 File modification is made.
  • the monitoring filter 130 obtains the handle of the original file stored in the original data storage means 150 and returns it to the program, thereby storing the original data.
  • the original file stored in the means 150 is modified.
  • the monitoring target item database 140 holds a monitoring target item for determining whether the program 110 accessed in the user mode is a monitoring target program, and the monitoring target item is the same as described above.
  • the original data storage means 150 is a data storage means for storing an original file created or modified by a normal program, for example, storage of a known configuration such as a hard disk, a CD-ROM, an electronic storage device such as RAM or ROM. You can use means.
  • the redirection data storage means 160 is a data storage means for storing a redirection file that is a copy copied from the original file stored in the original data storage means 150 by the monitoring filter 130, for example, a hard disk, a CD- A storage means of a known configuration, such as an electronic storage device such as ROM, RAM, or ROM, can be used.
  • the redirection data storage means 160 may use the same storage means physically as the original data storage means 150 for storing the original file, or may use other storage means, but the original data storage means 150 and The access path must be different, and modification of the file by the program determined by the monitoring filter 130 as the monitoring target program is possible only for the redirection file stored in the redirection data storage unit 160.
  • the redirection information memory 170 is a memory that stores file information of the redirection file when the monitoring filter 130 creates a redirection file that is a copy copied from the original file stored in the original data storage means 150.
  • the file information of the redirection file is, for example, the file path of the original file, the copy date and time when the file was first copied, and the name of the redirection file.
  • FIG. 2 is a flow chart showing the flow of a malicious program processing method according to a preferred embodiment of the present invention.
  • the monitoring filter 130 makes a file open request in step S12. Check whether the program is a program to be monitored.
  • the redirection file that was redirected before the file requested to be opened by the monitoring target program is Check whether there is.
  • step S16 the monitoring filter 130 stores the file information of the redirection file stored in the redirection data storage unit 160 into the redirection information memory 170 ) And then proceeds to step S17.
  • the file information of the redirection file includes the file path of the original file, the copy date and time when the file was first copied, and the name of the redirection file.
  • step S14 YES
  • step S17 the monitoring filter 130 applies the file information of the redirection file to the kernel to handle the redirection file. Is returned to the program, and the process proceeds to step S18.
  • step S18 a file modification operation such as modification, deletion, or change of the redirection file is executed, and the process ends.
  • the monitoring filter 130 checks whether the program 110 that accesses in the user mode and requests the file to be opened is a monitoring target program, and when it is not the monitoring target program, the original data storage means
  • the original file held by 150 can be modified normally, and on the contrary, when the program requesting to open the file is determined to be a monitoring target program, the monitoring filter 130 is stored in the original data storage means 150.
  • a redirection file, which is a copy of the original file, is newly created and stored in a redirection path (redirect data storage means 160) that is different from the path of the original file, and the monitoring target program only modifies the file for the redirection file stored in the redirection path. To be able to do it.
  • the malicious program processing apparatus 100 performs a process such as deletion of the redirection file, and conversely, if it is found to be a valid file, the redirection file is stored in the original data storage means ( 150) and merge with the original file.
  • FIG. 3 is a flowchart showing a validity verification method for verifying the validity of a program.
  • step S21 the file data of the redirection file is read in step S21, and the process proceeds to step S22.
  • step S22 the file header value of the read-out file data of the redirection file is verified.
  • Files commonly used in application programs are, for example, jpg, exe, docx,...
  • a file with a specific extension such as, and such a specific extension, has a unique value, that is, a file header value, at the entry part of the file, and malicious programs usually modulate this file header value. File validity can be verified by checking the header value.
  • step S22 YES
  • the process proceeds to step S23 to execute instruction verification.
  • step S23 If the verification result of step S23 is also found to be valid, the redirection file proceeds to step S24 to merge the verified redirection file with the original file and terminate.
  • step S25 delete the redirection file that is not valid from the system. Proceed and finish.
  • a file modified by a normal program and a file modified by a monitoring target program suspected of being a malicious program are stored separately in different paths, thereby being modified by a program suspected as a malicious program. It is possible to separate and manage the changed file and the file modified by the normal program, and at the same time, when the validation of the redirection file turns out to be invalid, it can be easily processed by deleting the invalid redirection file from the system. Therefore, the system can be safely protected from malicious programs.
  • it is determined whether the program to be monitored is by checking whether the program 110 accessing the user mode of the system corresponds to any one or more of the monitored items held in the monitored item database 140.
  • this program is called a ⁇ normal program'', It is a term distinct from the indicated "normal program" by a separate database or the like, and if the program 110 accessing the user mode of the system is in this database, the program may be determined as a normal program.
  • a program determined as a malicious program in the above process may be managed by a malicious program database, and if the program 110 accessing the user mode of the system is in the malicious program database, the program may be determined as a monitoring target program. .
  • the said embodiment and the said modified example may be implemented separately, and may be implemented in combination with each other.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

According to the present invention, a monitoring filter (130) checks whether a program (110) accessing a computer system and making a file open request is a program to be monitored, and after being checked, if the program is not a program to be monitored, the program is permitted to normally modify an original file held in an original data storage means (150), but if the program making a file open request is identified as a program to be monitored, the monitoring filter (130) creates a new redirection file, which is a copy of the original file stored in the original data storage means (150), and stores the created file in a redirection data storage means (160), which has a path different from the path to where the original file is stored, wherein the program to be monitored is permitted to modify only the redirection file stored in the redirection data storage means (160). After the validity of the redirection file has been checked, if valid, the redirection file is merged with the original file, but if invalid, the redirection file is deleted from the redirection data storage means (160).

Description

리다이렉션 파일의 유효성 검증방식에 의한 악성프로그램 처리장치 및 처리방법Malware processing device and processing method based on the validation method of the redirection file
본 출원은 2018년도 대한민국 정부(과학기술정보통신부)의 재원으로 정보통신기획평가원의 지원을 받아서 수행된 연구(No. 2016-0-00078, 맞춤형 보안서비스 제공을 위한 클라우드 기반 지능형 보안기술 개발)결과에 의한 출원이다.This application is the result of a study (No. 2016-0-00078, Cloud-based intelligent security technology development to provide customized security services) conducted with the support of the Korea Information and Communication Planning and Evaluation Agency with the funding of the Government of the Republic of Korea (Ministry of Science and ICT) in 2018. It is filed by.
본 발명은 악성프로그램 처리장치 및 처리방법에 관한 것으로, 특히, 컴퓨터 시스템으로 접근하는 파일이 악성코드 등에 감염된 악성프로그램으로 의심되어서 감시가 필요한 감시대상 프로그램일 경우에 이 감시대상 프로그램에 의해 수정된 파일을 리다이렉션 경로에서 관리하도록 함으로써 시스템을 악성프로그램으로부터 안전하게 보호하도록 하는 리다이렉션 파일의 유효성 검증방식에 의한 악성프로그램 처리장치 및 처리방법에 관한 것이다.The present invention relates to a malicious program processing apparatus and a processing method, and in particular, a file modified by the monitoring target program when a file accessed to a computer system is a monitoring target program that needs monitoring because it is suspected as a malicious program infected with malicious code, etc. The present invention relates to a malicious program processing apparatus and a processing method according to a method of validating a redirection file that safely protects the system from malicious programs by managing them in a redirection path.
컴퓨터 바이러스, 웜, 트로이 목마, 또는 스파이웨어와 같이, 사용자 몰래 컴퓨터 시스템에 침투하여 피해를 주는 이른바 악성프로그램의 탐지방법으로 시그니처(signature) 기반의 정적 탐지방법과 악성프로그램의 행위를 기반으로 한 행위기반 탐지방법이 있다.It is a detection method of so-called malicious programs that infiltrate and damage computer systems without the user's knowledge, such as computer viruses, worms, Trojan horses, or spyware. A signature-based static detection method and behavior based on the behavior of malicious programs There is a base detection method.
이들 방법 중 실행되는 프로그램의 행위를 분석하여 악성 여부를 탐지하는 행위기반 탐지방법으로 예를 들어 특허문헌 1, 2 등에 기재된 다양한 탐지방법이 있다.Among these methods, there are various detection methods described in Patent Documents 1 and 2 as an action-based detection method that detects malicious or not by analyzing the behavior of an executed program.
특허문헌 1에서는 분석의 대상이 되는 파일(프로그램)의 실행 시에 호출되는 API와 파라미터를 분석하여 행위의 위험점수를 측정하고, 측정된 위험점수를 합산하여 파일의 위험정도를 계산함으로써 그 파일이 악성프로그램인가 여부를 확인하도록 하고 있다.In Patent Document 1, by analyzing the API and parameters that are called when the file (program) to be analyzed is executed, the risk score of the action is measured, and the risk score of the file is calculated by summing the measured risk score. It checks whether it is a malicious program.
또, 특허문헌 2에서는 프로세스(프로그램)가 실행되는 과정에서 수집된 특성 인자 정보를 이용하여 특징벡터를 생성하고, 생성된 특징벡터를 이용하여 프로세스에 악성코드가 포함되어 있는가 여부를 탐지하도록 하고 있다.In addition, Patent Document 2 creates a feature vector using feature factor information collected during the execution of a process (program), and detects whether the process contains malicious code using the generated feature vector. .
그러나 특허문헌 1, 2를 포함한 공지의 행위기반 탐지방법에서는 실행되는 프로그램이 악성프로그램으로 확인되기 전에 수행한, 예를 들어 원본 파일의 수정이나 삭제, 경로 변경과 같은 행위들에 대해서는 치료나 복원이 어렵다는 문제가 있다.However, in the known behavior-based detection methods including Patent Documents 1 and 2, it is not possible to cure or restore actions performed before the program being executed is identified as a malicious program, for example, modifying or deleting the original file, or changing the path. There is a problem that it is difficult.
{선행기술문헌}{Prior technical literature}
{특허문헌}{Patent Literature}
(특허문헌 1) 등록특허 10-1404882호 공보(2014. 6. 11. 공고)(Patent Document 1) Registered Patent No. 10-1404882 (announced on June 11, 2014)
(특허문헌 2) 공개특허 10-2017-81386호 공보(2017.07.12. 공개)(Patent Document 2) Publication No. 10-2017-81386 (published on July 12, 2017)
본 발명은 종래기술의 상기 문제점을 감안하여 이루어진 것으로, 의심되는 프로그램의 시스템 리소스 조작 행위들에 대해서는 본래의 시스템 리소스와 분리시켜서 관리하고, 그 후에 그 프로그램이 악성프로그램으로 확인된 경우에는 분리되어 관리되던 리소스를 제거함으로써 악성프로그램이 실행되기 전의 환경으로 시스템을 유지시키도록 하는 리다이렉션 파일의 유효성 검증방식에 의한 악성프로그램 처리장치 및 처리방법을 제공하는 것을 목적으로 한다.The present invention has been made in view of the above problems of the prior art, and manages system resource manipulation actions of a suspected program separately from the original system resource, and when the program is identified as a malicious program, it is managed separately. An object of the present invention is to provide a malicious program processing apparatus and a processing method based on a method of validating a redirection file that maintains the system in the environment before the malicious program was executed by removing the old resources.
상기 과제를 해결하기 위한 본 발명의 악성프로그램 처리장치는, 컴퓨터 시스템으로 접근하여 파일 오픈 요청을 하는 프로그램이 악성프로그램으로 의심되는 감시대상 프로그램인가 여부를 확인하는 감시필터와, 상기 감시대상 프로그램 여부를 판단하기 위한 감시대상항목을 보유하는 감시대상항목 데이터베이스를 포함하며, 상기 감시필터는, 상기 파일 오픈 요청을 하는 프로그램이 상기 감시대상항목 중 어느 하나 이상에 해당하면 그 프로그램을 감시대상 프로그램으로 판정하고, 상기 감시대상 프로그램이 오픈 요청을 한 파일의 원본 파일을 복사하여 리다이렉션 파일을 생성하며, 생성한 상기 리다이렉션 파일을 상기 원본 파일의 파일 경로와는 다른 경로인 리다이렉션 경로에 저장한다.The malicious program processing apparatus of the present invention for solving the above problem includes a monitoring filter that checks whether a program that accesses a computer system and requests a file open is a program to be monitored as a malicious program, and whether the program to be monitored is It includes a monitoring target item database holding a monitoring target item for determination, and the monitoring filter determines that the program requesting the file open corresponds to any one or more of the monitoring target items, and , A redirection file is created by copying the original file of the file requested to be opened by the monitoring target program, and the generated redirection file is stored in a redirection path that is different from the file path of the original file.
또, 상기 과제를 해결하기 위한 본 발명의 악성프로그램 처리방법은, 컴퓨터 시스템으로 접근하여 파일 오픈 요청을 하는 프로그램이 악성프로그램으로 의심되는 감시대상 프로그램인가 여부를 판단하는 단계 a)와, 상기 단계 a)의 판단 결과 상기 파일 오픈 요청을 한 프로그램이 감시대상 프로그램인 때에는 그 프로그램이 오픈 요청한 파일의 원본 파일을 복사하여 리다이렉션 파일을 생성하는 단계 b)와, 생성한 상기 리다이렉션 파일을 상기 원본 파일의 파일 경로와는 다른 경로인 리다이렉션 경로에 저장하는 단계 c)를 포함한다.In addition, the malicious program processing method of the present invention for solving the above problem includes the step a) of determining whether a program requesting a file open request by accessing a computer system is a monitoring target program suspected of being a malicious program, and the step a ), if the program that requested to open the file is a program to be monitored, step b) of creating a redirection file by copying the original file of the file requested to be opened by the program, and the redirection file generated as a file of the original file And storing c) in a redirection path that is a path different from the path.
이와 같이 본 발명은 정상프로그램에 의해 파일 수정이 이루어진 파일과 악성프로그램으로 의심되는 감시대상 프로그램에 의해 파일 수정이 이루어진 파일을 서로 다른 경로에 분리하여 보관하도록 함으로써 악성프로그램으로 의심되는 프로그램에 의해 수정된 파일과 정상프로그램에 의해 수정된 파일을 서로 분리하여 관리할 수 있는 동시에, 리다이렉션 파일의 유효성 검증 결과 유효성이 없는 것으로 판명된 때에는 유효성이 없는 리다이렉션 파일을 시스템으로부터 삭제하는 등에 의해 간단하게 처리할 수 있으므로 시스템을 악성프로그램으로부터 안전하게 보호할 수 있다.As described above, the present invention separates and stores a file modified by a normal program and a file modified by a monitoring target program suspected as a malicious program in different paths. The file and the file modified by the normal program can be managed separately from each other, and when the validation of the redirection file turns out to be ineffective, it can be easily processed by deleting the invalid redirection file from the system. The system can be safely protected from malicious programs.
도 1은 본 발명의 바람직한 실시형태의 악성프로그램 처리장치를 나타내는 블록도,1 is a block diagram showing a malicious program processing apparatus according to a preferred embodiment of the present invention.
도 2는 본 발명의 바람직한 실시형태의 악성프로그램 처리방법의 흐름을 나타내는 플로차트,2 is a flowchart showing the flow of a malicious program processing method according to a preferred embodiment of the present invention;
도 3은 파일의 유효성을 검증하는 파일 유효성 검증방법의 흐름을 나타내는 플로차트이다.3 is a flowchart showing the flow of a file validity verification method for validating a file.
이하, 본 발명의 바람직한 실시형태에 대해서 첨부 도면을 참조하면서 상세하게 설명한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.
먼저, 본 발명의 바람직한 실시형태의 악성프로그램 처리장치에 대해서 설명한다. 도 1은 본 발명의 바람직한 실시형태의 악성프로그램 처리장치를 나타내는 블록도이다.First, a malicious program processing apparatus according to a preferred embodiment of the present invention will be described. 1 is a block diagram showing a malicious program processing apparatus according to a preferred embodiment of the present invention.
본 실시형태에서의 악성프로그램 처리장치(100)는 정상프로그램(application)이 사용하는 리소스(resource)와 악성프로그램이 사용하는 리소스를 서로 분리하여 관리하는 리다이렉션(redirection) 기법을 이용하며, 이를 위해 사용자 모드(user mode)에서 실행되는 프로그램(110)과 커널 모드(kernel mode)의 실제 데이터 사이의 행위를 감시하는 기능을 하는 필터에 리다이렉션 기능을 추가하여 감시필터(130)를 구성하고, 이 감시필터(130)에 의해 실제 데이터와 악성프로그램이 사용하는 리소스를 분리하여 관리하도록 함으로써 컴퓨터 시스템 내의 리소스들을 안전하게 보호할 수 있도록 한다.The malicious program processing apparatus 100 in this embodiment uses a redirection technique that separates and manages a resource used by a normal program and a resource used by a malicious program. The monitoring filter 130 is configured by adding a redirection function to the filter that monitors the behavior between the program 110 running in the user mode and the actual data in the kernel mode. By separating and managing the actual data and the resources used by the malicious program according to (130), the resources in the computer system can be safely protected.
상기 기능을 실행하는 본 실시형태의 악성프로그램 처리장치(100)는 컴퓨터 시스템 내에 설치되며, 도 1에 나타내는 것과 같이, 감시필터(130)와 감시대상항목 데이터베이스(140)와 원본데이터 저장수단(150)과 리다이렉션 데이터 저장수단(160)과 리다이렉션 정보 메모리(170)를 포함한다.The malicious program processing apparatus 100 of the present embodiment that executes the above functions is installed in a computer system, and as shown in FIG. 1, the monitoring filter 130, the monitoring target item database 140, and the original data storage means 150 ) And a redirection data storage unit 160 and a redirection information memory 170.
감시필터(130)는 윈도 OS(Windows Operating System)에서 제공되는 미니필터에 리다이렉션 기능을 추가한 것이며, 컴퓨터 시스템에 접근하여 어떤 작업을 실행하기 위해 파일의 오픈(file open)을 요청하는 모든 프로그램(110)에 대해 그 프로그램(110)이 악성코드의 감염이 의심되는 프로그램, 즉, 감시대상 프로그램인가 여부를 판단하고, 감시대상 프로그램인 때에는 원본 파일을 복사한 리다이렉션 파일을 원본 파일의 경로와는 다른 경로인 리다이렉션 경로에 저장하고, 감시대상 프로그램에 의한 파일의 수정은 리다이렉션 파일에 대해서만 실행되도록 한다.The monitoring filter 130 adds a redirection function to the mini filter provided by the Windows OS (Windows Operating System), and all programs that request file open to execute certain tasks by accessing the computer system ( 110), the program 110 determines whether it is a program that is suspected of being infected with malicious code, that is, a program to be monitored, and in the case of a program to be monitored, the redirection file from which the original file is copied is different from the path of the original file. It is stored in the redirection path, which is the path, and the modification of the file by the monitoring target program is executed only for the redirection file.
보다 상세하게는, 일반적으로 파일의 수정 등을 위해 리소스에 접근하는 프로그램(110)은 커널 모드(kernel mode)에서 수정하고자 하는 파일의 핸들을 얻어서 파일의 수정을 하게 되며, 감시필터(130)는 파일의 수정 등을 위해 사용자 모드로 접근하는 모든 프로그램 또는 스레드(thread)(본 명세서에서는 파일의 수정 등을 위해 사용자 모드로 접근하는 모든 프로그램 또는 스레드 등을 포괄하는 용어로 「프로그램」이라는 용어를 사용한다)에 대해 그 프로그램(110)이 악성코드 등에 감염된 악성프로그램일 가능성이 있어서 감시의 대상이 되는 프로그램(본 명세서에서는 이 프로그램을 「감시대상 프로그램」이라 하고, 감시대상 프로그램이 아닌 프로그램을 「정상프로그램」이라 한다)인가 여부를 판단한다.In more detail, in general, a program 110 that accesses a resource for file modification, etc., obtains a handle of a file to be modified in kernel mode to modify the file, and the monitoring filter 130 All programs or threads accessed in user mode for file modification, etc.(In this specification, the term ``program'' is used as a term encompassing all programs or threads accessed in user mode for file modification, etc. On the other hand, the program 110 may be a malicious program infected with malicious code or the like, and thus a program to be monitored (in this specification, this program is referred to as a "monitoring target program", and a program other than the monitoring target program is referred to as "normal" Program”).
이를 위해 악성프로그램 처리장치(100)는 감시대상항목 데이터베이스(140)를 가지고 있고, 감시대상항목 데이터베이스(140)에는 복수의 감시대상항목을 보유하고 있으며, 악성프로그램 처리장치(100)의 사용자 모드로 접근하는 프로그램(110)이 감시대상항목 데이터베이스(140)가 보유하고 있는 감시대상항목 중 어느 하나 이상에 해당하면 그 프로그램을 감시대상 프로그램으로 설정한다.To this end, the malicious program processing device 100 has a monitoring target item database 140, and has a plurality of monitoring target items in the monitoring target item database 140, and the malicious program processing device 100 is in a user mode. If the accessing program 110 corresponds to one or more of the monitoring target items held in the monitoring target item database 140, the program is set as a monitoring target program.
이하에 감시대상항목 데이터베이스(140)가 보유하는 감시대상항목의 예에 대해 간단하게 설명한다.Hereinafter, an example of the monitored items held by the monitored item database 140 will be briefly described.
- 디지털 서명의 유무 : 대부분의 프로그램은 그 프로그램을 만든 제작사의 디지털 서명이 존재하므로, 사용자 모드로 접근하는 프로그램(110)에 디지털 서명이 있으면 정상프로그램으로 간주해도 좋다. 그러나 최근에는 디지털 서명 파일이 유출 등에 의한 디지털 서명의 변조도 이루어지고 있어서 디지털 서명이 있다는 것만으로는 무조건 신뢰할 수 없는 경우도 있으므로, 바람직하게는 디지털 서명의 유무와 함께 인증서의 서명자나 서명 내에 존재하는 다른 정보들도 함께 확인하면 신뢰도를 더 높일 수 있다.-Presence of digital signature: Most programs have a digital signature of the manufacturer who made the program, so if there is a digital signature in the program 110 accessed in the user mode, it may be regarded as a normal program. However, in recent years, digital signatures are altered due to leakage of digital signature files, and the existence of a digital signature is not always reliable. Therefore, preferably, the presence or absence of a digital signature and the existence of the signer or signature of the certificate The credibility can be further increased by checking other information together.
- 실행파일 속성정보의 유효성 : 일반적인 상용 프로그램에는 파일 버전, 제작자 이름, 파일 설명과 같은 파일의 속성정보가 존재하므로, 사용자 모드로 접근하는 프로그램(110)에 이와 같은 속성정보가 포함되어 있지 않거나, 또는 그 프로그램 파일이 속성정보와 일치하지 않으면 감시대상 프로그램으로 한다.-Validity of Executable File Property Information: Since property information of a file such as file version, maker name, and file description exists in a general commercial program, such property information is not included in the program 110 accessed in the user mode, or Or, if the program file does not match the attribute information, it is set as the monitoring target program.
- 파일이 실행되는 경로 : 악성프로그램의 경우는 원격지로부터 다운로드 받아서 실행되는 방법을 주로 사용하므로, 사용자 모드로 접근하는 프로그램(110)이 인터넷 Temp 폴더나 Downloads 폴더와 같은 특정 경로에서 실행되는 프로그램일 경우에는 악성프로그램일 가능성이 있으므로 감시대상 프로그램으로 한다.-Path where files are executed: In the case of malicious programs, a method that is downloaded and executed from a remote location is mainly used, so if the program 110 that accesses the user mode is a program that is executed in a specific path such as the Internet Temp folder or the Downloads folder There is a possibility that it is a malicious program, so it is a program to be monitored.
- 인젝션된 스레드 여부 : 악성프로그램이 EXE, COM과 같은 실행파일이 아닌 경우에는 실행중인 다른 프로세스에 로딩시키는 방법을 사용하며(이를 'DLL 인젝션'이라고 함), 사용자 모드로 접근하는 프로그램(110)의 스레드 생성 감시에 의해 인젝션된 스레드인지 여부를 확인하여, 인젝션된 스레드일 경우에는 감시대상 프로그램으로 한다.-Injected thread: If the malicious program is not an executable file such as EXE or COM, it uses a method of loading it into another running process (this is called'DLL injection'), and a program that accesses in user mode (110) It checks whether it is an injected thread by monitoring the creation of a thread of, and if it is an injected thread, it is set as a monitoring target program.
- 스크립트 형태 프로그램 : VBScript, WScript, powershell, php 등의 스크립트 실행 프로그램이나 java 프로그램과 같은 인터프리터를 이용한 형태의 악성 프로그램이 존재하므로, 스크립트를 실행할 수 있는 프로세스나 인터프리터의 경우 감시대상 프로그램으로 한다.-Script type program: There are script execution programs such as VBScript, WScript, powershell, php, etc., or malicious programs in the form of interpreters such as java programs, so that a process or interpreter that can execute a script is a monitoring target program.
사용자 모드로 접근하는 프로그램(110)이 감시대상 프로그램으로 판정된 때에는 감시필터(130)는 그 감시대상 프로그램에 의해 이전에 리다이렉션한 리다이렉션 파일(redirection file)이 리다이렉션 데이터 저장수단(160)에 저장되어 있는가 여부를 확인한다.When the program 110 accessing the user mode is determined as the monitoring target program, the monitoring filter 130 stores a redirection file previously redirected by the monitoring target program in the redirection data storage means 160 Check whether there is.
확인 결과, 이전에 리다이렉션한 리다이렉션 파일이 있으면 리다이렉션 정보 메모리(170)에서 그 리다이렉션 파일의 파일정보를 취득하고, 취득한 리다이렉션 파일의 파일 정보를 적용하여 커널에서 리다이렉션 파일의 핸들을 얻어서 프로그램에 반환하며, 이에 의해 이전에 리다이렉션 데이터 저장수단(160)에 저장되어 있던 리다이렉션 파일의 파일 수정이 이루어지도록 한다.As a result of checking, if there is a redirection file previously redirected, file information of the redirection file is obtained from the redirection information memory 170, the file information of the obtained redirection file is applied, and the handle of the redirection file is obtained from the kernel and returned to the program. Accordingly, a file modification of the redirection file previously stored in the redirection data storage unit 160 is performed.
반대로, 확인 결과, 감시대상 프로그램으로부터 이전의 파일 오픈 요청에 의해 리다이렉션한 리다이렉션 파일이 리다이렉션 데이터 저장수단(160)에 저장되어 있지 않으면, 감시필터(130)는 원본데이터 저장수단(150)에 저장되어 있는 원본 파일을 복사한 복사본 파일인 리다이렉션 파일을 생성하여 리다이렉션 데이터 저장수단(160)에 저장하는 동시에, 생성한 리다이렉션 파일의 파일정보를 리다이렉션 정보 메모리(170)에 저장한다.Conversely, as a result of checking, if the redirection file redirected by the previous file open request from the monitoring target program is not stored in the redirection data storage unit 160, the monitoring filter 130 is stored in the original data storage unit 150. A redirection file, which is a copy file from which an existing original file is copied, is generated and stored in the redirection data storage unit 160, and file information of the generated redirection file is stored in the redirection information memory 170.
그 후에, 감시필터(130)는 새로 생성한 리다이렉션 파일의 파일정보를 적용하여 커널에서 리다이렉션 파일의 핸들을 얻어서 프로그램에 반환하며, 이에 의해 새로 생성되어 리다이렉션 데이터 저장수단(160)에 저장된 리다이렉션 파일의 파일 수정이 이루어진다.Thereafter, the monitoring filter 130 applies the file information of the newly created redirection file, obtains the handle of the redirection file from the kernel, and returns it to the program, and thereby, the redirection file newly created and stored in the redirection data storage means 160 File modification is made.
한편, 사용자 모드로 접근하는 프로그램(110)이 감시대상 프로그램인 때에는 감시필터(130)는 원본데이터 저장수단(150)에 저장되어 있는 원본 파일의 핸들을 얻어서 프로그램에 반환하며, 이에 의해 원본데이터 저장수단(150)에 저장되어 있는 원본 파일의 수정이 이루어지게 된다.On the other hand, when the program 110 accessing the user mode is the monitoring target program, the monitoring filter 130 obtains the handle of the original file stored in the original data storage means 150 and returns it to the program, thereby storing the original data. The original file stored in the means 150 is modified.
감시대상항목 데이터베이스(140)는 사용자 모드로 접근하는 프로그램(110)이 감시대상 프로그램인가 여부를 판단하기 위한 감시대상항목을 보유하며, 감시대상항목에 대해서는 앞에서 설명한 것과 같다.The monitoring target item database 140 holds a monitoring target item for determining whether the program 110 accessed in the user mode is a monitoring target program, and the monitoring target item is the same as described above.
원본데이터 저장수단(150)은 정상프로그램에 의해 작성 또는 수정된 원본 파일을 저장하는 데이터 저장수단이며, 예를 들어 하드디스크, CD-ROM, RAM이나 ROM과 같은 전자적 기억장치 등의 공지 구성의 저장수단을 이용할 수 있다.The original data storage means 150 is a data storage means for storing an original file created or modified by a normal program, for example, storage of a known configuration such as a hard disk, a CD-ROM, an electronic storage device such as RAM or ROM. You can use means.
리다이렉션 데이터 저장수단(160)은 감시필터(130)가 원본데이터 저장수단(150)에 저장되어 있는 원본 파일로부터 복사된 복사본인 리다이렉션 파일을 저장하는 데이터 저장수단이며, 예를 들어 하드디스크, CD-ROM, RAM이나 ROM과 같은 전자적 기억장치 등의 공지 구성의 저장수단을 이용할 수 있다. 또, 리다이렉션 데이터 저장수단(160)은 원본 파일을 저장하는 원본데이터 저장수단(150)과는 물리적으로 동일한 저장수단을 이용해도 좋고, 다른 저장수단을 이용해도 좋으나, 원본데이터 저장수단(150)과는 그 접근경로가 달라야 하며, 감시필터(130)가 감시대상 프로그램으로 판정한 프로그램에 의한 파일의 수정은 이 리다이렉션 데이터 저장수단(160)에 저장되어 있는 리다이렉션 파일에 대해서만 가능하다.The redirection data storage means 160 is a data storage means for storing a redirection file that is a copy copied from the original file stored in the original data storage means 150 by the monitoring filter 130, for example, a hard disk, a CD- A storage means of a known configuration, such as an electronic storage device such as ROM, RAM, or ROM, can be used. In addition, the redirection data storage means 160 may use the same storage means physically as the original data storage means 150 for storing the original file, or may use other storage means, but the original data storage means 150 and The access path must be different, and modification of the file by the program determined by the monitoring filter 130 as the monitoring target program is possible only for the redirection file stored in the redirection data storage unit 160.
리다이렉션 정보 메모리(170)는 감시필터(130)가 원본데이터 저장수단(150)에 저장되어 있는 원본 파일로부터 복사된 복사본인 리다이렉션 파일을 생성한 경우에, 그 리다이렉션 파일의 파일정보를 저장하는 메모리이며, 리다이렉션 파일의 파일정보는 예를 들어 원본 파일의 파일 경로, 최초로 파일이 복사된 복사일자와 복사시각, 리다이렉션 파일의 이름 등이다.The redirection information memory 170 is a memory that stores file information of the redirection file when the monitoring filter 130 creates a redirection file that is a copy copied from the original file stored in the original data storage means 150. , The file information of the redirection file is, for example, the file path of the original file, the copy date and time when the file was first copied, and the name of the redirection file.
다음에, 도 2를 이용하여 본 발명의 바람직한 실시형태의 악성프로그램 처리방법에 대해서 설명한다. 도 2는 본 발명의 바람직한 실시형태의 악성프로그램 처리방법의 흐름을 나타내는 플로차트이다.Next, a malicious program processing method according to a preferred embodiment of the present invention will be described with reference to FIG. 2. Fig. 2 is a flow chart showing the flow of a malicious program processing method according to a preferred embodiment of the present invention.
먼저, 악성프로그램 처리장치(100)의 사용자 모드로 접근하는 프로그램(110)으로부터 파일의 수정 등을 위한 파일 오픈 요청이 있으면(단계 S11), 단계 S12에서 감시필터(130)는 파일 오픈 요청을 하는 프로그램이 감시대상 프로그램인가 여부를 확인한다.First, if there is a file open request for modification of a file from the program 110 accessing the malicious program processing apparatus 100 in the user mode (step S11), the monitoring filter 130 makes a file open request in step S12. Check whether the program is a program to be monitored.
단계 S12의 확인 결과, 파일 오픈 요청을 하는 프로그램이 감시대상 프로그램이 아니면(단계 S12=NO) 단계 S13으로 진행하며, 단계 S13에서 감시필터(130)는 커널에서 원본 파일의 핸들을 얻어서 프로그램(110)에 반환하고, 단계 S18에서 요청한 원본 파일을 오픈 하여 파일 내용의 수정이나 파일의 삭제 또는 변경 등의 작업을 실행하고 종료한다.As a result of checking in step S12, if the program requesting to open the file is not a monitoring target program (step S12 = NO), the process proceeds to step S13, and in step S13, the monitoring filter 130 obtains a handle of the original file from the kernel and the program 110 ), opens the original file requested in step S18, and executes a task such as modifying the file contents or deleting or changing the file, and then ends.
또, 단계 S12의 확인 결과, 파일 오픈 요청을 하는 프로그램이 감시대상 프로그램이면(단계 S12=YES) 단계 S14로 진행하며, 단계 S14에서 감시필터(130)는 리다이렉션 정보 메모리(170)에 저장되어 있는 리다이렉션 파일의 파일정보인 원본 파일의 파일 경로, 최초로 파일이 복사된 복사일자와 복사시각, 리다이렉션 파일의 이름 등의 정보를 확인함으로써 감시대상 프로그램이 오픈 요청을 하는 파일의 이전에 리다이렉션한 리다이렉션 파일이 있는가 여부를 확인한다.Further, as a result of the confirmation in step S12, if the program requesting the file open is a program to be monitored (step S12 = YES), the process proceeds to step S14, and in step S14, the monitoring filter 130 is stored in the redirection information memory 170. By checking information such as the file path of the original file, which is the file information of the redirection file, the copy date and time when the file was first copied, and the name of the redirection file, the redirection file that was redirected before the file requested to be opened by the monitoring target program is Check whether there is.
단계 S14의 확인 결과 이전에 리다이렉션한 리다이렉션 파일이 없으면(단계 S14=NO) 감시필터(130)는 원본데이터 저장수단(150)에 저장되어 있는 원본 파일을 복사하여 새로운 리다이렉션 파일을 생성하고, 생성한 리다이렉션 파일을 리다이렉션 데이터 저장수단(160)에 저장한 후 단계 S16으로 진행하며, 단계 S16에서는 감시필터(130)는 리다이렉션 데이터 저장수단(160)에 저장한 리다이렉션 파일의 파일정보를 리다이렉션 정보 메모리(170)에 저장한 후 단계 S17로 진행한다. 앞에서도 설명한 것과 같이, 리다이렉션 파일의 파일정보는 원본 파일의 파일 경로, 최초로 파일이 복사된 복사일자와 복사시각, 리다이렉션 파일의 이름 등이다.As a result of the confirmation of step S14, if there is no redirection file previously redirected (step S14 = NO), the monitoring filter 130 copies the original file stored in the original data storage means 150 to create a new redirection file, and generates a After the redirection file is stored in the redirection data storage unit 160, the process proceeds to step S16. In step S16, the monitoring filter 130 stores the file information of the redirection file stored in the redirection data storage unit 160 into the redirection information memory 170 ) And then proceeds to step S17. As described above, the file information of the redirection file includes the file path of the original file, the copy date and time when the file was first copied, and the name of the redirection file.
또, 단계 S14의 확인 결과 이전에 리다이렉션한 파일이 있으면(단계 S14=YES) 단계 S17로 진행하며, 단계 17에서 감시필터(130)는 그 리다이렉션 파일의 파일정보를 적용해서 커널에서 리다이렉션 파일의 핸들을 얻어서 프로그램에 반환하고 단계 S18로 진행하며, 단계 S18에서는 리다이렉션 파일의 수정이나 삭제, 변경과 같은 파일 수정작업을 실행하고 종료한다.In addition, if there is a file that has been redirected previously (step S14 = YES) as a result of the confirmation in step S14, the process proceeds to step S17, and in step 17, the monitoring filter 130 applies the file information of the redirection file to the kernel to handle the redirection file. Is returned to the program, and the process proceeds to step S18. In step S18, a file modification operation such as modification, deletion, or change of the redirection file is executed, and the process ends.
이상과 같이, 본 실시형태에서는 사용자 모드에서 접근하여 파일 오픈을 요청하는 프로그램(110)이 감시대상 프로그램인가 여부를 감시필터(130)가 확인하고, 확인 결과 감시대상 프로그램이 아닐 때에는 원본데이터 저장수단(150)이 보유하는 원본 파일에 대해 정상적으로 파일 수정을 할 수 있도록 하고, 반대로, 파일 오픈을 요청하는 프로그램이 감시대상 프로그램으로 판정된 때에는 감시필터(130)는 원본데이터 저장수단(150)에 저장된 원본 파일의 복사본인 리다이렉션 파일을 새로 생성하여 원본 파일의 경로와는 다른 경로인 리다이렉션 경로(리다이렉션 데이터 저장수단(160))에 저장하며, 감시대상 프로그램은 리다이렉션 경로에 저장된 리다이렉션 파일에 대해서만 파일 수정을 할 수 있도록 한다.As described above, in the present embodiment, the monitoring filter 130 checks whether the program 110 that accesses in the user mode and requests the file to be opened is a monitoring target program, and when it is not the monitoring target program, the original data storage means The original file held by 150 can be modified normally, and on the contrary, when the program requesting to open the file is determined to be a monitoring target program, the monitoring filter 130 is stored in the original data storage means 150. A redirection file, which is a copy of the original file, is newly created and stored in a redirection path (redirect data storage means 160) that is different from the path of the original file, and the monitoring target program only modifies the file for the redirection file stored in the redirection path. To be able to do it.
이와 같은 처리와 동시에 또는 처리가 이루어진 이후에는, 리다이렉션 경로에 보관 중인 리다이렉션 파일이 악성코드 등에 감염된 악성프로그램에 의해 수정된 파일인가 여부의 검증, 즉, 파일 유효성 검증을 하며, 검증 결과 악성프로그램에 의해 수정이 이루어진 파일로서 유효성이 없는 파일로 판명된 때에는 악성프로그램 처리장치(100)는 리다이렉션 파일의 삭제 등의 처리를 하며, 역으로, 유효성이 있는 파일로 판명되면 그 리다이렉션 파일을 원본데이터 저장수단(150)에 보관중인 원본 파일과 병합하는 등의 처리를 한다.Simultaneously with such processing or after processing is performed, verification of whether the redirection file stored in the redirection path is a file modified by a malicious program infected with malicious code or the like is verified, that is, file validation is performed. When it is found that the file has been modified and is not valid, the malicious program processing apparatus 100 performs a process such as deletion of the redirection file, and conversely, if it is found to be a valid file, the redirection file is stored in the original data storage means ( 150) and merge with the original file.
리다이렉션 경로에 보관 중인 리다이렉션 파일의 파일 유효성 검증은 통상의 유효성 검증절차를 통해서 이루어지며, 이하에 간략하게 설명한다. 도 3은 프로그램의 유효성을 검증하는 유효성 검증방법을 나타내는 플로차트이다.File validity verification of the redirection file stored in the redirection path is performed through a normal validation procedure, which will be briefly described below. 3 is a flowchart showing a validity verification method for verifying the validity of a program.
먼저, 단계 S21에서 리다이렉션 파일의 파일 데이터를 판독하고 단계 S22로 진행하며, 단계 S22에서는 판독한 리다이렉션 파일의 파일 데이터 중 파일 헤더 값을 검증한다.First, the file data of the redirection file is read in step S21, and the process proceeds to step S22. In step S22, the file header value of the read-out file data of the redirection file is verified.
일반적으로 응용프로그램에서 사용되는 파일들은 예를 들어 jpg, exe, docx, …와 같은 특정 확장자 명을 가지고, 이와 같은 특정 확장자를 가진 파일은 파일의 진입부에 고유의 값, 즉, 파일 헤더 값을 가지며, 악성프로그램은 통상적으로 이 파일 헤더 값을 변조하므로, 리다이렉션 파일의 파일 헤더 값의 확인에 의해 파일 유효성을 검증할 수 있다.Files commonly used in application programs are, for example, jpg, exe, docx,… A file with a specific extension such as, and such a specific extension, has a unique value, that is, a file header value, at the entry part of the file, and malicious programs usually modulate this file header value. File validity can be verified by checking the header value.
단계 S22의 검증 결과 리다이렉션 파일이 유효한 것으로 판정되면(단계S22=YES) 단계 S23으로 진행하여 명령어 검증을 실행한다.If it is determined that the redirection file is valid as a result of the verification in step S22 (step S22 = YES), the process proceeds to step S23 to execute instruction verification.
일부 악성프로그램은 파일의 헤더는 그대로 두고 특정한 오프셋(offset) 위치에서부터 파일을 변조하므로, 이 경우에는 파일 헤더 값의 확인 만에 의해서는 완전한 파일 유효성 검증을 할 수 없다. 따라서 단계 S22의 검증 결과 파일 헤더 값이 유효한 것으로 인정되는 경우에도 명령어형 검증코드를 적용하여 파일에 포함된 데이터를 확인함으로써 한번더 파일의 유효성 검증을 실행한다.Some malicious programs leave the header of the file as it is and modulate the file from a specific offset position. In this case, complete file validation cannot be performed only by checking the file header value. Therefore, even if the file header value is recognized as valid as a result of the verification in step S22, the validity of the file is verified once more by applying the command-type verification code to check the data contained in the file.
단계 S23의 검증 결과도 리다이렉션 파일이 유효한 것으로 판명되면 단계 S24로 진행하여 유효성이 검증된 리다이렉션 파일을 원본 파일과 병합하고 종료한다.If the verification result of step S23 is also found to be valid, the redirection file proceeds to step S24 to merge the verified redirection file with the original file and terminate.
또, 단계 S22에서의 파일 헤더 값의 검증 결과, 또는 단계 S23에서의 명령어형 검증 결과 리다이렉션 파일이 유효성이 없는 것으로 판명되면 단계 S25로 진행하여 유효성이 없는 리다이렉션 파일을 시스템으로부터 삭제하는 등의 처리를 진행하고 종료한다.In addition, if the verification result of the file header value in step S22 or the command-type verification result in step S23 is found to be invalid, the process proceeds to step S25 to delete the redirection file that is not valid from the system. Proceed and finish.
이와 같이 본 실시형태에서는 정상프로그램에 의해 파일 수정이 이루어진 파일과 악성프로그램으로 의심되는 감시대상 프로그램에 의해 파일 수정이 이루어진 파일을 서로 다른 경로에 분리하여 보관하도록 함으로써 악성프로그램으로 의심되는 프로그램에 의해 수정된 파일과 정상프로그램에 의해 수정된 파일을 서로 분리하여 관리할 수 있는 동시에, 리다이렉션 파일의 유효성 검증 결과 유효성이 없는 것으로 판명된 때에는 유효성이 없는 리다이렉션 파일을 시스템으로부터 삭제하는 등에 의해 간단하게 처리할 수 있으므로 시스템을 악성프로그램으로부터 안전하게 보호할 수 있다.As described above, in this embodiment, a file modified by a normal program and a file modified by a monitoring target program suspected of being a malicious program are stored separately in different paths, thereby being modified by a program suspected as a malicious program. It is possible to separate and manage the changed file and the file modified by the normal program, and at the same time, when the validation of the redirection file turns out to be invalid, it can be easily processed by deleting the invalid redirection file from the system. Therefore, the system can be safely protected from malicious programs.
이상, 본 발명을 바람직한 실시형태에 의해 설명하였으나, 본 발명은 상기 실시형태에 한정되는 것은 아니며, 청구범위에 기재된 발명의 범위 내에서 다양한 변경이나 변형이 가능하다.As described above, the present invention has been described with reference to preferred embodiments, but the present invention is not limited to the above embodiments, and various changes and modifications are possible within the scope of the invention described in the claims.
상기 실시형태에서는 시스템의 사용자 모드로 접근하는 프로그램(110)이 감시대상항목 데이터베이스(140)가 보유하는 감시대상항목 중 어느 하나 이상에 해당하는 프로그램인가 여부를 확인함으로써 감시대상 프로그램 여부를 판정하는 것으로 설명하였으나, 예를 들어 앞에서 설명한 파일의 유효성 검증과정이나, 또는 다른 과정에서 악성코드 등에 감염되지 않은 것으로 판정된 프로그램(본 명세서에서는 이 프로그램을 「정상적인 프로그램」이라고 하며, 감시대상 프로그램이 아닌 프로그램을 가리키는 「정상프로그램」과는 구별되는 용어이다)을 별도의 데이터베이스 등에 의해 관리하도록 하고, 시스템의 사용자 모드로 접근하는 프로그램(110)이 이 데이터베이스에 있으면 그 프로그램을 정상프로그램으로 판정하도록 해도 좋다.In the above embodiment, it is determined whether the program to be monitored is by checking whether the program 110 accessing the user mode of the system corresponds to any one or more of the monitored items held in the monitored item database 140. Although described, for example, a program that was determined not to be infected with malicious code or the like during the validation process of the file described above or during other processes (in this specification, this program is called a ``normal program'', It is a term distinct from the indicated "normal program") by a separate database or the like, and if the program 110 accessing the user mode of the system is in this database, the program may be determined as a normal program.
또, 상기 과정에서 악성프로그램으로 판정된 프로그램에 대해서는 악성프로그램 데이터베이스에 의해 관리하도록 하고, 시스템의 사용자 모드로 접근하는 프로그램(110)이 악성프로그램 데이터베이스에 있으면 그 프로그램을 감시대상 프로그램으로 판정하도록 해도 좋다.In addition, a program determined as a malicious program in the above process may be managed by a malicious program database, and if the program 110 accessing the user mode of the system is in the malicious program database, the program may be determined as a monitoring target program. .
또, 상기 실시형태와 상기 변형 예는 따로따로 실시해도 좋고, 서로 조합하여 실시해도 좋다.Moreover, the said embodiment and the said modified example may be implemented separately, and may be implemented in combination with each other.
{부호의 설명}{Explanation of sign}
100 악성프로그램 처리장치100 Malware processing device
110 프로그램110 programs
130 감시필터130 Surveillance filter
140 감시대상항목 데이터베이스140 Monitoring target item database
150 원본데이터 저장수단150 Original data storage means
160 리다이렉션 데이터 저장수단160 Redirect data storage means
170 리다이렉션 정보 메모리170 Redirect information memory

Claims (10)

  1. 컴퓨터 시스템으로 접근하여 파일 오픈 요청을 하는 프로그램이 악성프로그램으로 의심되는 감시대상 프로그램인가 여부를 확인하는 감시필터와, A monitoring filter that checks whether the program that accesses the computer system and requests to open a file is a program to be monitored that is suspected of being a malicious program;
    상기 감시대상 프로그램 여부를 판단하기 위한 감시대상항목을 보유하는 감시대상항목 데이터베이스를 포함하며,It includes a monitoring target item database holding a monitoring target item for determining whether the monitoring target program exists,
    상기 감시필터는,The monitoring filter,
    상기 파일 오픈 요청을 하는 프로그램이 상기 감시대상항목 중 어느 하나 이상에 해당하면 그 프로그램을 감시대상 프로그램으로 판정하고,If the program requesting to open the file corresponds to one or more of the items to be monitored, the program is determined as the program to be monitored,
    상기 감시대상 프로그램이 오픈 요청을 한 파일의 원본 파일을 복사하여 리다이렉션 파일을 생성하며,A redirection file is created by copying the original file of the file requested to be opened by the monitoring target program,
    생성한 상기 리다이렉션 파일을 상기 원본 파일의 파일 경로와는 다른 경로인 리다이렉션 경로에 저장하고,Store the generated redirection file in a redirection path that is different from the file path of the original file,
    상기 리다이렉션 경로에 저장된 상기 리다이렉션 파일을 이용하여 파일 수정을 하며,Modify a file using the redirection file stored in the redirection path,
    상기 감시대상항목은 디지털 서명의 유무, 실행파일 속성정보의 유효성, 파일이 실행되는 경로, 인젝션된 스레드 여부 중 하나 이상인 악성프로그램 처리장치.The monitoring target item is at least one of the presence or absence of a digital signature, the validity of the attribute information of the executable file, the path through which the file is executed, and the presence of an injected thread.
  2. 청구항 1에 있어서,The method according to claim 1,
    상기 감시필터는 상기 리다이렉션 파일을 생성하기 전에, 상기 감시대상 프로그램에 의해 이전에 생성된 리다이렉션 파일이 있는가 여부를 더 확인하고,The monitoring filter further checks whether there is a redirection file previously generated by the monitoring target program before generating the redirection file,
    이전에 생성된 리다이렉션 파일이 있으면 그 리다이렉션 파일을 이용하여 파일 수정이 이루어지도록 하는 악성프로그램 처리장치.A malicious program processing device that allows files to be modified using the redirection file if there is a previously created redirection file.
  3. 청구항 2에 있어서,The method according to claim 2,
    상기 리다이렉션 파일의 파일정보를 저장하는 리다이렉션 정보 메모리를 더 포함하며,Further comprising a redirection information memory for storing file information of the redirection file,
    상기 이전에 생성된 리다이렉션 파일의 유무는 상기 리다이렉션 파일의 파일정보에 의해 확인하는 악성프로그램 처리장치.A malicious program processing device that checks the presence or absence of the previously generated redirection file based on file information of the redirection file.
  4. 청구항 1에 있어서,The method according to claim 1,
    상기 악성프로그램 처리장치는 상기 리다이렉션 파일의 유효성 검증을 더 실행하고,The malicious program processing device further performs validation of the redirection file,
    검증 결과 유효성이 없는 파일인 때에는 상기 리다이렉션 파일을 삭제하는 악성프로그램 처리장치.A malicious program processing device that deletes the redirection file when the verification result is an invalid file.
  5. 청구항 1에 있어서,The method according to claim 1,
    상기 악성프로그램 처리장치는 상기 리다이렉션 파일의 유효성 검증을 더 실행하고,The malicious program processing device further performs validation of the redirection file,
    검증 결과 유효성이 있는 파일인 때에는 상기 리다이렉션 파일을 상기 원본 파일과 병합하는 악성프로그램 처리장치.A malicious program processing device that merges the redirection file with the original file when the verification result is a valid file.
  6. 컴퓨터 시스템으로 접근하여 파일 오픈 요청을 하는 프로그램이 악성프로그램으로 의심되는 감시대상 프로그램인가 여부를 판단하기 위한 감시대상항목을 보유하는 악성프로그램 처리장치에 의한 악성 프로그램 처리방법으로,A malicious program processing method by a malicious program processing device that has a monitoring target item to determine whether the program that accesses the computer system and requests to open a file is a monitoring target program suspected of being a malicious program.
    컴퓨터 시스템으로 접근하여 파일 오픈 요청을 하는 프로그램이 악성프로그램으로 의심되는 감시대상 프로그램인가 여부를 판단하는 단계 a)와,Step a) determining whether the program that accesses the computer system and requests to open a file is a program to be monitored as a malicious program; and
    상기 단계 a)의 판단 결과 상기 파일 오픈 요청을 한 프로그램이 감시대상 프로그램인 때에는 그 프로그램이 오픈 요청한 파일의 원본 파일을 복사하여 리다이렉션 파일을 생성하는 단계 b)와,Step b) of creating a redirection file by copying the original file of the file requested to be opened by the program as a result of the determination in step a), and
    생성한 상기 리다이렉션 파일을 상기 원본 파일의 파일 경로와는 다른 경로인 리다이렉션 경로에 저장하는 단계 c)와,C) storing the generated redirection file in a redirection path that is different from the file path of the original file; and
    상기 리다이렉션 경로에 저장된 상기 리다이렉션 파일을 이용하여 파일의 수정을 하는 단계를 포함하며,And modifying the file using the redirection file stored in the redirection path,
    상기 감시대상항목은 디지털 서명의 유무, 실행파일 속성정보의 유효성, 파일이 실행되는 경로, 인젝션된 스레드 여부 중 하나 이상이고,The item to be monitored is at least one of the presence or absence of a digital signature, the validity of the attribute information of the executable file, the path to which the file is executed, and whether an injected thread is
    상기 단계 a)에서는 상기 파일 오픈 요청을 하는 프로그램이 상기 감시대상항목 중 어느 하나 이상에 해당하면 그 프로그램을 감시대상 프로그램으로 판정하는 악성프로그램 처리방법.In the step a), if the program requesting to open the file corresponds to one or more of the items to be monitored, the program is determined as a program to be monitored.
  7. 청구항 6에 있어서,The method of claim 6,
    상기 단계 b)에서 상기 리다이렉션 파일을 생성하기 전에, 상기 감시대상 프로그램이 이전에 생성한 리다이렉션 파일이 있는가 여부를 확인하는 단계 d)를 더 포함하며,Before generating the redirection file in step b), further comprising a step d) of checking whether there is a redirection file previously generated by the monitoring target program,
    상기 단계 d)의 확인 결과 이전에 생성된 리다이렉션 파일이 있으면 그 리다이렉션 파일을 이용하여 파일 수정이 이루어지도록 하는 악성프로그램 처리방법.If there is a redirection file previously generated as a result of the confirmation in step d), a malicious program processing method in which the file is modified using the redirection file.
  8. 청구항 7에 있어서,The method of claim 7,
    상기 이전에 생성된 리다이렉션 파일의 유무는 상기 컴퓨터 시스템이 보유하는 리다이렉션 파일의 파일정보에 의해 확인하는 악성프로그램 처리방법.A malicious program processing method in which the presence or absence of the previously generated redirection file is confirmed by file information of the redirection file held by the computer system.
  9. 청구항 6에 있어서,The method of claim 6,
    상기 단계 c) 이후에 실행되며 상기 리다이렉션 파일의 유효성 검증을 실행하는 단계 e)를 더 포함하고,It is executed after the step c) and further comprises a step e) of performing validation of the redirection file,
    상기 단계 e)의 검증 결과 유효성이 없는 파일인 때에는 상기 리다이렉션 파일을 삭제하는 악성프로그램 처리방법.The malicious program processing method of deleting the redirection file when the verification result of step e) is an invalid file.
  10. 청구항 6에 있어서,The method of claim 6,
    상기 단계 c) 이후에 실행되며 상기 리다이렉션 파일의 유효성 검증을 실행하는 단계 e)를 더 포함하고,It is executed after the step c) and further comprises a step e) of performing validation of the redirection file,
    상기 단계 e)의 검증 결과 유효성이 있는 파일인 때에는 상기 리다이렉션 파일을 상기 원본 파일과 병합하는 악성프로그램 처리방법.A malicious program processing method of merging the redirection file with the original file when the verification result of step e) is a valid file.
PCT/KR2019/003223 2019-03-20 2019-03-20 Device and method for dealing with malicious programs by using technique of checking validity of redirection file WO2020189823A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2019/003223 WO2020189823A1 (en) 2019-03-20 2019-03-20 Device and method for dealing with malicious programs by using technique of checking validity of redirection file

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/KR2019/003223 WO2020189823A1 (en) 2019-03-20 2019-03-20 Device and method for dealing with malicious programs by using technique of checking validity of redirection file

Publications (1)

Publication Number Publication Date
WO2020189823A1 true WO2020189823A1 (en) 2020-09-24

Family

ID=72520952

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/003223 WO2020189823A1 (en) 2019-03-20 2019-03-20 Device and method for dealing with malicious programs by using technique of checking validity of redirection file

Country Status (1)

Country Link
WO (1) WO2020189823A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100089245A (en) * 2009-02-03 2010-08-12 주식회사 안철수연구소 Malicious code prevention apparatus and method using level classification of suspicious behavior and isolated execution, and computer-readable medium storing program for method thereof
KR20100089968A (en) * 2009-02-05 2010-08-13 주식회사 안철수연구소 Malicious code prevention apparatus and method using selective virtualization, and computer-readable medium storing program for method thereof
KR20160099173A (en) * 2015-02-11 2016-08-22 (주) 에스에스알 Monitoring method and monitoring device of executable program's action, Computer program for the same, Recording medium storing computer program for the same
KR101710928B1 (en) * 2015-09-04 2017-03-13 숭실대학교산학협력단 Method for protecting malignant code in mobile platform, recording medium and device for performing the system
KR20190020999A (en) * 2017-08-22 2019-03-05 주식회사 하우리 Apparatus and method for malware

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100089245A (en) * 2009-02-03 2010-08-12 주식회사 안철수연구소 Malicious code prevention apparatus and method using level classification of suspicious behavior and isolated execution, and computer-readable medium storing program for method thereof
KR20100089968A (en) * 2009-02-05 2010-08-13 주식회사 안철수연구소 Malicious code prevention apparatus and method using selective virtualization, and computer-readable medium storing program for method thereof
KR20160099173A (en) * 2015-02-11 2016-08-22 (주) 에스에스알 Monitoring method and monitoring device of executable program's action, Computer program for the same, Recording medium storing computer program for the same
KR101710928B1 (en) * 2015-09-04 2017-03-13 숭실대학교산학협력단 Method for protecting malignant code in mobile platform, recording medium and device for performing the system
KR20190020999A (en) * 2017-08-22 2019-03-05 주식회사 하우리 Apparatus and method for malware

Similar Documents

Publication Publication Date Title
US8082442B2 (en) Securely sharing applications installed by unprivileged users
US10360382B2 (en) Execution environment file inventory
US9396326B2 (en) User transparent virtualization method for protecting computer programs and data from hostile code
US7620990B2 (en) System and method for unpacking packed executables for malware evaluation
Altekar et al. OPUS: Online Patches and Updates for Security.
US8181247B1 (en) System and method for protecting a computer system from the activity of malicious objects
US8434151B1 (en) Detecting malicious software
RU2514140C1 (en) System and method for improving quality of detecting malicious objects using rules and priorities
US8578345B1 (en) Malware detection efficacy by identifying installation and uninstallation scenarios
US9767280B2 (en) Information processing apparatus, method of controlling the same, information processing system, and information processing method
KR20060083850A (en) Systems and methods for validating executable file integrity using partial image hashes
US8656494B2 (en) System and method for optimization of antivirus processing of disk files
CN106845223B (en) Method and apparatus for detecting malicious code
WO2007125422A2 (en) System and method for enforcing a security context on a downloadable
US9104860B2 (en) Systems, methods and media for managing process image hijacks
US20170011218A1 (en) Computer security system and method
Zhang et al. JSISOLATE: lightweight in-browser JavaScript isolation
Miller et al. Playing inside the black box: Using dynamic instrumentation to create security holes
WO2020189823A1 (en) Device and method for dealing with malicious programs by using technique of checking validity of redirection file
US20170171224A1 (en) Method and System for Determining Initial Execution of an Attack
KR102017016B1 (en) Apparatus and method for malware
EP2584484B1 (en) System and method for protecting a computer system from the activity of malicious objects
WO2011074824A2 (en) System and method for updating signature database and apparatus for updating database of a client terminal
JP6884652B2 (en) White list management system and white list management method
JP5126495B2 (en) Security policy setting device linked with safety evaluation, program thereof and method thereof

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19920172

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19920172

Country of ref document: EP

Kind code of ref document: A1

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 21.04.2022)

122 Ep: pct application non-entry in european phase

Ref document number: 19920172

Country of ref document: EP

Kind code of ref document: A1