[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR20190085637A - System and methdo for isolating malicious code - Google Patents

System and methdo for isolating malicious code Download PDF

Info

Publication number
KR20190085637A
KR20190085637A KR1020180003736A KR20180003736A KR20190085637A KR 20190085637 A KR20190085637 A KR 20190085637A KR 1020180003736 A KR1020180003736 A KR 1020180003736A KR 20180003736 A KR20180003736 A KR 20180003736A KR 20190085637 A KR20190085637 A KR 20190085637A
Authority
KR
South Korea
Prior art keywords
file
information
hash
waiting time
time
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
KR1020180003736A
Other languages
Korean (ko)
Other versions
KR102039498B1 (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 KR1020180003736A priority Critical patent/KR102039498B1/en
Publication of KR20190085637A publication Critical patent/KR20190085637A/en
Application granted granted Critical
Publication of KR102039498B1 publication Critical patent/KR102039498B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명의 일 실시 예에 따른 악성코드 격리 시스템은 APT 시스템(Advanced Persistent Threat System)으로부터 격리 해시 정보를 수신하고, 격리 해시 정보를 포함하는 격리 명령을 생성하는 파일 검사 서버 및 격리 명령을 수신하고, 격리 해시 정보에 대응하는 파일을 암호화하여 지정된 격리 폴더에 저장하는 파일 검사 에이전트를 포함한다.The malicious code isolation system according to an embodiment of the present invention receives isolated hash information from an APT system (Advanced Persistent Threat System), receives a file check server and a quarantine command to generate a quarantine command including quarantine hash information, And a file checking agent that encrypts a file corresponding to the isolated hash information and stores the encrypted file in a specified quarantine folder.

Description

악성코드 격리 시스템 및 방법{SYSTEM AND METHDO FOR ISOLATING MALICIOUS CODE}{SYSTEM AND METHOD FOR ISOLATING MALICIOUS CODE}

본 발명은 악성코드 격리 기술에 관한 것으로, 보다 상세하게는 악성코드에 감염된 파일을 격리하는 기술에 관한 것이다.TECHNICAL FIELD The present invention relates to a technology for isolating malicious codes, and more particularly, to a technique for isolating files infected with malicious codes.

바이러스, 웜, 트로이 목마, 스파이웨어, 사기성 보안 소프트웨어 등의 악성 코드로 인해 발생하는 피해가 증가하고 있다. 악성코드에 감염된 파일을 처리하는 방법으로는 악성코드에 감염된 파일을 찾기 위해 저장된 파일의 정보를 수집하는 과정이 필요하다. 하지만, 파일의 정보를 수집하는 과정의 부하가 크기 때문에 파일 정보의 수집으로 인해 다른 주요 프로세스의 수행에 차질이 발생하는 문제가 있다.Viruses, worms, Trojan horses, spyware, and fraudulent security software are increasing the damage caused by malicious code. As a way to handle malicious code infected files, it is necessary to collect the information of the saved files to find infected files. However, since the process of collecting the information of the file is heavy, there is a problem that the collection of the file information causes a problem in the execution of the other main processes.

본 발명의 선행문헌으로는 공개 특허공보 제 2011-0001426호가 있다.A prior art document of the present invention is disclosed in Published Patent Publication No. 2011-0001426.

본 발명이 해결하고자 하는 과제는 파일정보의 수집 과정에서 발생하는 시스템의 부하를 감소시키는 악성코드 격리 시스템을 제공하는 것이다.SUMMARY OF THE INVENTION It is an object of the present invention to provide a malicious code isolation system that reduces the load of a system caused in the process of collecting file information.

본 발명의 일 측면에 따르면, 악성코트 격리 시스템이 제공된다.According to an aspect of the present invention, a malicious coat isolation system is provided.

본 발명의 일 실시 예에 따른 악성코드 격리 시스템은 APT 시스템(Advanced Persistent Threat System)으로부터 격리 해시 정보를 수신하고, 상기 격리 해시 정보를 포함하는 격리 명령을 생성하는 파일 검사 서버 및 상기 격리 명령을 수신하고, 상기 격리 해시 정보에 대응하는 파일을 암호화하여 지정된 격리 폴더에 저장하는 파일 검사 에이전트를 포함할 수 있다.The malicious code isolation system according to an embodiment of the present invention includes a file inspection server for receiving isolated hash information from an APT system (Advanced Persistent Threat System), generating a quarantine command including the quarantine hash information, And a file checking agent for encrypting the file corresponding to the isolated hash information and storing the encrypted file in a designated quarantine folder.

본 발명의 일 실시 예에 따르면, 파일 검사 에이전트는 컴퓨팅 장치의 각 파일에 대한 파일 정보를 수집하는 수집부 및 파일 검사 서버로부터 격리 명령을 수신하고, 상기 격리 명령에 포함된 격리 해시 정보와 매칭되는 상기 파일 정보의 파일을 격리하는 격리부를 포함하되, 상기 수집부는 상기 파일 정보 중 파일 데이터 해시의 생성 중 지정된 대기 시간 동안 대기할 수 있다.According to an embodiment of the present invention, the file checking agent receives a quarantine command from a file checking server and a collecting unit that collects file information about each file of the computing device, and matches the quarantine hash information included in the quarantine command And an isolation unit for isolating a file of the file information, wherein the collecting unit can wait for a designated waiting time during creation of a file data hash among the file information.

상기 수집부는, 미리 지정된 시간 이내에 사용자의 입력이 존재하지 않는 경우, 사용자에 의해 미리 설정되거나 초기 설정된 대기 시간인 설정 대기 시간 동안 대기할 수 있다.The collecting unit may wait for a setup waiting time, which is a waiting time that is preset or initially set by the user, when the user's input does not exist within a predetermined time.

상기 수집부는 미리 지정된 시간 이내에 사용자의 입력이 존재하는 경우, 미리 지정된 사용 대기 시간으로 설정하고, 상기 사용 대기 시간은 상기 설정 대기 시간으로 설정될 수 있는 대기 시간 중 지정된 시간 동안의 총합이 가장 긴 대기 시간일 수 있다.Wherein the collecting unit sets a predetermined waiting time for use if a user's input is present within a predetermined time, and the waiting time for use is a wait time for which the total time for the designated time is the longest Time.

상기 수집부는 상기 컴퓨팅 장치 내 상기 파일 검사 에이전트의 CPU 점유율이 미리 지정된 기준 이상인 경우, 점유율 제한 대기 시간 동안 대기하고, 상기 점유율 제한 대기 시간은 상기 사용 대기 시간보다 긴 대기 시간일 수 있다.The collecting unit may wait for the occupancy rate waiting time when the CPU occupancy rate of the file checking agent in the computing device is equal to or higher than a predetermined standard, and the occupancy rate waiting time may be longer than the occupancy waiting time.

상기 수집부는 각 상기 파일 중 신규한 파일에 상응하는 파일 정보를 신규로 저장하고, 각 상기 파일 중 변경된 파일에 상응하는 파일 정보를 갱신하여 저장할 수 있다.The collecting unit may newly store file information corresponding to a new file among the files and update and store file information corresponding to the changed file among the files.

상기 수집부는, 파일 정보 인덱스, 파일의 경로를 나타내는 파일 경로 해시 및 파일의 마지막 기록시간을 파일정보 메모리에 저장하고, 파일 정보 인덱스 및 파일의 내용에 대해 지정된 해시 처리를 수행하여 생성한 파일 데이터 해시를 파일 해시 정보 메모리에 저장하고, 파일 정보 데이터 파일에 전체 파일 정보를 저장하고, 각 상기 파일 중 파일 경로에 대응하는 파일 경로 해시가 상기 파일정보 메모리에 저장되어 있지 않은 파일을 신규한 파일로 판단하고, 각 상기 파일 중 마지막 기록시간이 상기 파일정보 메모리에 저장된 마지막 기록시간과 일치하지 않는 파일을 변경된 파일로 판단할 수 있다.The collecting unit stores the file information index, the file path hash representing the path of the file, and the last recording time of the file in the file information memory, and performs a hash processing specified by the file information index and the contents of the file, Storing the file information in the file information data file, and judging that the file path hash corresponding to the file path among the files is not stored in the file information memory as a new file And determines that the file whose last recording time of each file does not coincide with the last recording time stored in the file information memory is a changed file.

본 발명의 다른 측면에 따르면, 악성코드 격리 방법이 제공된다.According to another aspect of the present invention, a malicious code isolation method is provided.

본 발명의 일 실시 예에 따른 악성코드 격리 방법은 파일 검사 에이전트가 악성코드를 격리하는 방법에 있어서, 컴퓨팅 장치의 각 파일에 대한 파일 정보를 수집하는 단계; 파일 검사 서버로부터 격리 명령을 수신하는 단계; 및 상기 격리 명령에 포함된 격리 해시 정보와 매칭되는 상기 파일 정보의 파일을 격리하는 단계;를 포함하되, 상기 컴퓨팅 장치의 각 파일에 대한 파일 정보를 수집하는 단계는 상기 파일 정보 중 파일 데이터 해시의 생성 중 지정된 대기 시간 동안 대기하는 단계를 포함할 수 있다.A malicious code isolation method according to an embodiment of the present invention includes a step of collecting file information about each file of a computing device, Receiving a quarantine command from a file checking server; And isolating a file of the file information matching the isolated hash information included in the isolation command, wherein the step of collecting file information for each file of the computing device comprises: And waiting for a designated waiting time during generation.

본 발명의 일 실시 예에 따르면, 상기 파일 정보 중 파일 데이터 해시의 생성 중 지정된 대기 시간 동안 대기하는 단계는, 미리 지정된 시간 이내에 사용자의 입력이 존재하지 않는 경우, 사용자에 의해 미리 설정되거나 초기 설정된 대기 시간인 설정 대기 시간 동안 대기하는 단계를 포함할 수 있다.According to an embodiment of the present invention, the step of waiting for a designated waiting time during the generation of the file data hash among the file information includes a step of, if there is no user input within a predetermined time, ≪ / RTI > waiting for a set waiting time, which is a time.

상기 파일 정보 중 파일 데이터 해시의 생성 중 지정된 대기 시간 동안 대기하는 단계는, 미리 지정된 시간 이내에 사용자의 입력이 존재하는 경우, 미리 지정된 사용 대기 시간으로 설정하는 단계를 더 포함하되, 상기 사용 대기 시간은 상기 설정 대기 시간으로 설정될 수 있는 대기 시간 중 지정된 시간 동안의 총합이 가장 긴 대기 시간일 수 있다.Wherein the step of waiting for a designated waiting time during the generation of the file data hash among the file information further includes a step of setting the waiting time to a predetermined waiting time when a user's input is present within a predetermined time, The sum of the waiting times that can be set as the set waiting time may be the longest waiting time for a designated time.

상기 파일 정보 중 파일 데이터 해시의 생성 중 지정된 대기 시간 동안 대기하는 단계는, 상기 컴퓨팅 장치 내 상기 파일 검사 에이전트의 CPU 점유율이 미리 지정된 기준 이상인 경우, 점유율 제한 대기 시간 동안 대기하는 단계를 더 포함하되, 상기 점유율 제한 대기 시간은 상기 사용 대기 시간보다 긴 대기 시간일 수 있다.Waiting for a designated waiting time during generation of a file data hash among the file information may include waiting for an occupancy rate waiting time when the CPU occupancy rate of the file checking agent in the computing device is equal to or higher than a predetermined reference, The occupancy restriction waiting time may be a waiting time longer than the use waiting time.

상기 컴퓨팅 장치의 각 파일에 대한 파일 정보를 수집하는 단계는, 각 상기 파일 중 신규한 파일에 상응하는 파일 정보를 신규로 저장하는 단계; 및 각 상기 파일 중 변경된 파일에 상응하는 파일 정보를 갱신하여 저장하는 단계를 포함할 수 있다.The step of collecting file information of each file of the computing device may include: newly storing file information corresponding to a new file among the files; And updating and storing file information corresponding to the changed file among the files.

상기 컴퓨팅 장치의 각 파일에 대한 파일 정보를 수집하는 단계는 파일 정보 인덱스, 파일의 경로를 나타내는 파일 경로 해시 및 파일의 마지막 기록시간을 파일정보 메모리에 저장하고, 파일 정보 인덱스 및 파일의 내용에 대해 지정된 해시 처리를 수행하여 생성한 파일 데이터 해시를 파일 해시 정보 메모리에 저장하고, 파일 정보 데이터 파일에 전체 파일 정보를 저장하는 단계이고, 상기 각 상기 파일 중 신규한 파일에 상응하는 파일 정보를 신규로 저장하는 단계는 각 상기 파일 중 파일 경로에 대응하는 파일 경로 해시가 상기 파일정보 메모리에 저장되어 있지 않은 파일을 신규한 파일로 판단하는 단계를 포함하고, 각 상기 파일 중 변경된 파일에 상응하는 파일 정보를 갱신하여 저장하는 단계는 각 상기 파일 중 마지막 기록시간이 상기 파일정보 메모리에 저장된 마지막 기록시간과 일치하지 않는 파일을 변경된 파일로 판단하는 단계를 포함할 수 있다.Wherein the step of collecting file information for each file of the computing device comprises the steps of: storing a file information index, a file path hash representing a path of a file, and a last recording time of the file in a file information memory, Storing a file data hash generated by performing a specified hash process in a file hash information memory and storing the whole file information in a file information data file, Wherein the step of storing includes determining that a file whose file hash corresponding to the file path of the file is not stored in the file information memory is a new file, Wherein the step of updating and storing the file comprises the steps of: It may comprise determining a file that does not match the last recording time stored in the memory as the changed files.

상술한 바와 같이 본 발명에 따르면, 악성 코드에 감염된 파일을 효율적으로 격리할 수 있다.As described above, according to the present invention, it is possible to efficiently isolate a file infected with a malicious code.

또한, 본 발명에 따르면, 모든 파일에 대한 파일 데이터 해시를 생성하는 과정에서 발생하는 단위 시간당 부하를 줄일 수 있다.In addition, according to the present invention, the load per unit time generated in the process of generating the file data hash for all the files can be reduced.

또한, 본 발명에 다르면, 신규하거나 변경된 파일에 대해서만 파일 정보를 추가적으로 저장하여 파일 정보의 저장에 따른 입출력을 줄일 수 있다.Also, according to the present invention, file information is additionally stored only for new or changed files, thereby reducing input / output due to storage of file information.

도 1은 본 발명의 일 실시 예에 따른 악성 코드 격리 시스템을 예시한 도면.
도 2는 본 발명의 일 실시 예에 따른 악성 코드 격리 시스템의 파일 검사 에이전트를 예시한 도면.
도 3은 본 발명의 일 실시 예에 따른 악성 코드 격리 시스템의 파일 검사 에이전트가 대상 파일에 대한 파일 데이터 해시를 생성하는 과정을 예시한 순서도.
도 4는 본 발명의 일 실시 예에 따른 악성 코드 격리 시스템의 파일 검사 에이전트가 대상 파일에 대한 파일정보를 기록하는 과정을 예시한 순서도.
도 5는 본 발명의 일 실시 예에 따른 악성 코드 격리 시스템의 파일 검사 에이전트가 파일 정보를 기록하기 위해 사용하는 메모리 및 파일을 예시한 도면.
1 illustrates a malicious code isolation system in accordance with an embodiment of the present invention.
FIG. 2 illustrates a file inspection agent of a malicious code isolation system according to an embodiment of the present invention. FIG.
3 is a flowchart illustrating a process of generating a file data hash for a target file by a file checking agent of a malicious code isolation system according to an exemplary embodiment of the present invention.
4 is a flowchart illustrating a process in which a file checking agent of a malicious code isolation system according to an embodiment of the present invention records file information on a target file.
5 is a diagram illustrating a memory and a file used by a file checking agent of a malicious code isolation system according to an exemplary embodiment of the present invention to record file information;

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 이를 상세한 설명을 통해 상세히 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.While the present invention has been described in connection with certain exemplary embodiments, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, is intended to cover various modifications and similarities. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention.

도 1은 본 발명의 일 실시 예에 따른 악성 코드 격리 시스템을 예시한 도면이고, 도 2는 본 발명의 일 실시 예에 따른 악성 코드 격리 시스템의 파일 검사 에이전트를 예시한 도면이다.FIG. 1 illustrates a malicious code isolation system according to an embodiment of the present invention. FIG. 2 illustrates a file scanning agent of a malicious code isolation system according to an exemplary embodiment of the present invention. Referring to FIG.

도 1을 참조하면, 본 발명의 일 실시 예에 따른 악성 코드 격리 시스템은 파일 검사 서버(110) 및 하나 이상의 파일 검사 에이전트(120)를 포함한다.Referring to FIG. 1, a malicious code isolation system according to an exemplary embodiment of the present invention includes a file inspection server 110 and one or more file inspection agents 120.

파일 검사 서버(110)는 APT 시스템(Advanced Persistent Threat System, 50)과 연결되어, APT 시스템(50)으로부터 현재 시점까지 검출된 악성코드 파일의 해시(hash) 정보(이하, 격리 해시 정보라 지칭)를 수신한다. 파일 검사 서버(110)는 격리 해시 정보를 포함하는 격리 명령을 각 파일 검사 에이전트(120)로 전송한다.The file checking server 110 is connected to an APT system 50 and detects hash information (hereinafter referred to as isolated hash information) of a malicious code file detected up to the present time from the APT system 50, . The file check server 110 transmits a quarantine command including the quarantine hash information to each file check agent 120.

파일 검사 에이전트(120)는 퍼스널 컴퓨터 등의 컴퓨팅 장치에 설치되고, 파일 검사 서버로부터 수신한 격리 명령에 따라 컴퓨팅 장치에 저장된 파일 중 악성 코드에 감염된 파일을 격리한다.The file checking agent 120 is installed in a computing device such as a personal computer and isolates a file infected with a malicious code among files stored in the computing device according to the isolation command received from the file checking server.

도 2를 참조하면, 파일 검사 에이전트(120)는 수집부(210) 및 격리부(220)를 포함한다.Referring to FIG. 2, the file inspection agent 120 includes a collection unit 210 and an isolation unit 220.

수집부(210)는 파일 정보를 수집하여 파일정보데이터 파일에 누적 기록하고, 파일경로명과 마지막 파일기록시간 정보를 기준으로 새롭게 생성되거나 수정된 파일들만 검출하여 파일 데이터 해시를 생성한다. 또한, 수집부(210)는 파일 데이터 해시를 생성하는 과정에서 사용자의 입력 여부, 에이전트 구동속도 설정 및 에이전트의 CPU 점유율 중 하나 이상에 따라 미리 지정된 시간 동안 대기를 수행한다. 따라서, 수집부(210)는 모든 파일에 대한 파일 데이터 해시를 생성하는 과정에서 발생하는 부하를 줄일 수 있다. 추후, 도 3 및 도 4를 참조하여, 수집부(210)가 파일 데이터 해시를 생성하는 과정을 상세히 설명하도록 한다.The collecting unit 210 collects file information, accumulates the file information in the file information data file, and detects only newly created or modified files based on the file path name and last file recording time information to generate a file data hash. In addition, the collecting unit 210 performs waiting for a predetermined time according to at least one of the input of the user, the setting of the agent driving speed, and the CPU occupancy rate of the agent in the process of generating the file data hash. Accordingly, the collecting unit 210 can reduce the load generated in the process of generating the file data hash for all the files. 3 and 4, the process of generating the file data hash by the collecting unit 210 will be described in detail.

격리부(220)는 수집부(210)에 의해 생성된 파일 데이터 해시 중 파일 검사 서버(110)로부터 수신한 격리 명령에 포함된 격리 해시 정보와 동일한 파일 데이터 해시가 존재하는 경우, 해당 파일 데이터 해시에 대응하는 파일을 암호화 처리하여 지정된 격리 폴더로 이동시킨다. When there is a file data hash that is the same as the isolation hash information included in the isolation command received from the file check server 110 during the file data hash generated by the collecting unit 210, And moves the file to the specified quarantine folder.

도 3은 본 발명의 일 실시 예에 따른 악성 코드 격리 시스템의 파일 검사 에이전트가 대상 파일에 대한 파일 데이터 해시를 생성하는 과정을 예시한 순서도이다. 이하, 수행되는 각 과정은 상술한 파일 검사 에이전트(120)의 수집부(210)가 수행하는 과정이나, 발명의 간결하고 명확한 설명을 위해 각 과정의 주체를 파일 검사 에이전트(120)로 통칭한다.3 is a flowchart illustrating a process of generating a file data hash for a target file by a file checking agent of a malicious code isolation system according to an embodiment of the present invention. Hereinafter, the processes performed by the collecting unit 210 of the file checking agent 120 will be collectively referred to as the file checking agent 120 for the sake of brevity and clarity.

도 3을 참조하면, 단계 310에서 파일 검사 에이전트(120)는 대상 파일의 데이터를 순차적으로 읽는다. 이 때, 대상 파일은 파일 데이터 해시의 원본에 해당하는 파일을 의미한다.Referring to FIG. 3, in step 310, the file checking agent 120 sequentially reads data of a target file. At this time, the target file means a file corresponding to the source of the file data hash.

단계 320에서 파일 검사 에이전트(120)는 대상 파일로부터 읽은 데이터의 크기가 0인지 판단한다. 즉, 파일 검사 에이전트(120)는 대상 파일에 포함된 파일 데이터 해시로 생성할 대상인 데이터가 추가적으로 있는지 판단한다.In step 320, the file checking agent 120 determines whether the size of the data read from the target file is zero. That is, the file checking agent 120 determines whether data to be generated is additionally generated by the file data hash included in the target file.

단계 320에서 파일 검사 에이전트(120)는 읽은 데이터의 크기가 0인 경우, 대상 파일에 대한 파일 데이터 해시의 추가적인 생성이 필요하지 않은 것으로 판단하고, 파일 데이터 해시 생성 과정을 종료한다.In step 320, if the size of the read data is 0, the file checking agent 120 determines that the file data hash is not required to be generated for the target file, and ends the file data hash generation process.

단계 320에서 읽은 데이터의 크기가 0이 아닌 경우, 단계 330에서 파일 검사 에이전트(120)는 미리 지정된 시간(예를 들어, 5초) 이내에 사용자의 입력이 존재하는지 판단한다.If the size of the data read in step 320 is not 0, the file checking agent 120 determines in step 330 whether the user's input exists within a predetermined time (e.g., 5 seconds).

단계 330에서 사용자 입력이 존재하지 않는 경우, 단계 340에서 파일 검사 에이전트(120)는 설정 대기 시간에 따라 대기를 수행한다. 이 때, 설정 대기 시간은 사용자에 의해 미리 설정되거나 초기 설정된 대기 시간일 수 있다. 예를 들어, 파일 검사 에이전트(120)는 1/1000000 (백만분의 1)초 대기, 파일 데이터 해시의 프로세스 내 Loop회전 1/10회마다 1/1000000 (백만분의 1)초 대기, 파일 데이터 해시의 프로세스 내 Loop회전 1/100회마다 1/1000000 (백만분의 1)초 대기 중 어느 하나로 사용자로부터 설정 대기 시간을 미리 입력 받거나 초기 설정될 수 있다.If there is no user input at step 330, at step 340, the file checking agent 120 performs a wait according to the set waiting time. At this time, the setup wait time may be preset by the user or may be an initial wait time. For example, the file checking agent 120 may wait for 1/1000000 (one millionth) second, 1/1000000 (one millionth) second for every 1/10 of the loop rotation in the process of file data hash, The set waiting time can be pre-inputted or initially set by the user in any one of 1/1000000 (one millionth) second waiting per 1/100 times of loop rotation in the hash process.

단계 330에서 사용자 입력이 존재하는 경우, 단계 350에서 파일 검사 에이전트(120)는 미리 지정된 사용 대기 시간에 따라 대기한다. 예를 들어, 사용 대기 시간은 파일 데이터 해시의 프로세스 내 Loop회전 1/100회마다 1/1000000 (백만분의 1)초 대기하는 것과 같이 설정 대기 시간으로 설정될 수 있는 대기 시간 중 지정된 시간 동안의 총합이 가장 긴 시간으로 설정될 수 있다. 따라서, 파일 검사 에이전트(120)는 사용자의 입력이 존재하는 경우, 대기 시간을 길게 설정하여 사용자의 컴퓨팅 장치의 이용에 불편을 유발하지 않도록 할 수 있다.If there is a user input in step 330, the file checking agent 120 waits in step 350 according to a predetermined use waiting time. For example, the usage wait time can be set to a setup wait time such as to wait 1/1000000 (one millionth) seconds per 1/100 times of loop rotation in the process of a file data hash. The total can be set to the longest time. Accordingly, when the input of the user is present, the file checking agent 120 may set the waiting time to be long so as not to inconvenience the use of the user's computing device.

단계 360에서 파일 검사 에이전트(120)는 파일 검사 에이전트(120)의 수행에 따른 컴퓨팅 장치의 CPU 점유율이 미리 지정된 기준 이상인지 판단한다.In step 360, the file checking agent 120 determines whether the CPU occupation rate of the computing device according to the execution of the file checking agent 120 is equal to or higher than a predetermined reference.

단계 360에서 CPU 점유율이 미리 지정된 기준 이상인 경우, 단계 370에서 파일 검사 에이전트(120)는 지정된 점유율 제한 대기 시간 동안 대기한다. 예를 들어, 점유율 제한 대기 시간은 1/100 초일 수 있다. 즉, 파일 검사 에이전트(120)는 CPU 점유율이 증가하는 경우, 파일 검사 에이전트(120)에 의한 부하를 줄이기 위해 점유율 제한 대기 시간 동안 대기하여, 컴퓨팅 장치 내 파일 검사 에이전트(120) 이외의 프로세스의 정상적인 수행이 가능하도록 할 수 있다. 이후, 파일 검사 에이전트(120)는 단계 380을 수행할 수 있다. 이 때, 점유율 제한 대기 시간은 사용 대기 시간보다 긴 대기 시간일 수 있다.If the CPU occupancy is greater than or equal to the predefined criteria in step 360, the file checking agent 120 waits for the specified occupancy rate waiting time in step 370. For example, the occupancy limit latency may be 1/100 second. That is, when the CPU occupancy rate increases, the file checking agent 120 waits for the occupancy rate waiting time to reduce the load caused by the file checking agent 120, so that the normal operation of the process other than the file checking agent 120 in the computing device Can be performed. Thereafter, the file inspection agent 120 may perform step 380. [ At this time, the occupancy restriction waiting time may be a waiting time longer than the used waiting time.

단계 360에서 CPU 점유율이 미리 지정된 기준 미만인 경우, 단계 380에서 파일 검사 에이전트(120)는 대상 파일의 데이터에 대한 파일 데이터 해시를 생성한다. 이후, 파일 검사 에이전트(120)는 단계 310부터의 과정을 반복 수행할 수 있다.If the CPU occupancy is less than the predetermined criterion in step 360, the file check agent 120 generates a file data hash for the data of the target file in step 380. Thereafter, the file checking agent 120 may repeat the process from step 310. [

따라서, 파일 검사 에이전트(120)는 컴퓨팅 장치의 상황이나 사용자의 성향에 따라 파일 데이터 해시의 생성 프로세스 상 대기를 수행하여, 파일 검사 에이전트(120)의 단위 시간당 부하 발생량을 감소시켜, 컴퓨팅 장치의 타 프로세스 정상적인 수행이 가능하도록 한다.Accordingly, the file checking agent 120 waits in the process of generating the file data hash according to the state of the computing device or the user's tendency, thereby reducing the load generation amount per unit time of the file checking agent 120, Ensure that the process is performing normally.

도 4는 본 발명의 일 실시 예에 따른 악성 코드 격리 시스템의 파일 검사 에이전트가 대상 파일에 대한 파일정보를 기록하는 과정을 예시한 순서도이고, 도 5는 본 발명의 일 실시 예에 따른 악성 코드 격리 시스템의 파일 검사 에이전트가 파일 정보를 기록하기 위해 사용하는 메모리 및 파일을 예시한 도면이다. 이하, 수행되는 각 과정은 상술한 파일 검사 에이전트(120)의 수집부(210)가 수행하는 과정이나, 발명의 간결하고 명확한 설명을 위해 각 과정의 주체를 파일 검사 에이전트(120)로 통칭하도록 한다.FIG. 4 is a flowchart illustrating a process of recording file information on a target file by a file checking agent of a malicious code isolation system according to an embodiment of the present invention. FIG. 5 is a flowchart illustrating a malicious code isolation process according to an exemplary embodiment of the present invention. And memory and files used by the file checking agent of the system for recording the file information. Hereinafter, the processes performed by the collecting unit 210 of the file checking agent 120 or the subject of each process are collectively referred to as the file checking agent 120 for the sake of brevity and clarity of the invention .

단계 410에서 파일 검사 에이전트(120)는 누적데이터를 로드한다. 예를 들어, 도 5와 같이 파일 검사 에이전트(120)는 파일 정보 데이터 파일을 읽어 각 파일의 파일 정보 인덱스, 파일의 경로를 나타내는 파일 경로 해시 및 파일의 마지막 기록시간을 파일정보 메모리에 저장하고, 파일 정보 인덱스 및 파일의 내용에 대해 지정된 해시 처리를 수행하여 생성한 파일 데이터 해시를 파일 해시 정보 메모리에 저장한다. In step 410, the file checking agent 120 loads the accumulated data. For example, as shown in FIG. 5, the file checking agent 120 reads the file information data file, stores the file information index of each file, the file path hash representing the file path, and the last recording time of the file in the file information memory, The file information index and the contents of the file, and stores the generated file data hash in the file hash information memory.

단계 420에서 파일 검사 에이전트(120)는 대상 파일을 검출한다. 예를 들어, 파일 검사 에이전트(120)는 컴퓨팅 장치에 저장된 복수의 파일 중 어느 하나를 대상 파일로서 검출한다.In step 420, the file checking agent 120 detects the target file. For example, the file checking agent 120 detects any one of a plurality of files stored in the computing device as a target file.

단계 430에서 파일 검사 에이전트(120)는 대상 파일의 파일 경로명이 파일 정보 메모리 내에 존재하는지 확인한다.In step 430, the file checking agent 120 checks whether the file path name of the target file exists in the file information memory.

단계 430에서 대상 파일의 파일 경로명이 파일 정보 메모리 내에 존재하지 않는 경우, 단계 440에서 파일 검사 에이전트(120)는 대상 파일에 상응하는 파일 정보를 신규 파일정보로써 파일 정보 데이터 파일, 파일 정보 메모리 및 파일 해시 정보 메모리에 삽입한다. 이후, 파일 검사 에이전트(120)는 단계 420부터의 과정을 다시 수행한다.If the file path name of the target file does not exist in the file information memory at step 430, the file checking agent 120 at step 440 sets the file information corresponding to the target file as the new file information to the file information data file, Into the hash information memory. Thereafter, the file checking agent 120 performs the process from step 420 again.

단계 430에서 대상 파일의 파일 경로명이 파일 정보 메모리 내에 존재하는 경우, 단계 450에서 파일 검사 에이전트(120)는 대상 파일의 마지막 기록시간이 파일 정보 메모리에 저장된 마지막 기록시간과 일치하는지 판단한다.If the file path name of the target file exists in the file information memory in step 430, the file checking agent 120 determines in step 450 whether the last recording time of the target file matches the last recording time stored in the file information memory.

단계 450에서 대상 파일의 마지막 기록시간이 파일 정보 메모리에 저장된 마지막 기록시간과 일치하는 경우, 파일 검사 에이전트(120)는 단계 420부터의 과정을 반복 수행한다.If the last recording time of the target file matches the last recording time stored in the file information memory at step 450, the file checking agent 120 repeats the process from step 420. [

단계 450에서 대상 파일의 마지막 기록시간이 파일 정보 메모리에 저장된 마지막 기록시간과 일치하지 않는 경우, 단계 460에서 파일 검사 에이전트(120)는 대상 파일의 파일 정보에 따라 파일 정보 데이터 파일, 파일 정보 메모리 및 파일 해시 정보 메모리의 정보를 갱신한다. If the last recording time of the target file does not match the last recorded time stored in the file information memory at step 450, the file checking agent 120 checks the file information data file, the file information memory, The information of the file hash information memory is updated.

이 때, 상술한 단계 440 및 460에서는 파일 정보를 파일 정보 데이터 파일, 파일 정보 메모리 및 파일 해시 정보 메모리에 삽입하기 위해 도 3을 참조하여 상술한 파일 데이터 해시 생성 과정이 수행될 수 있다.At this time, in steps 440 and 460 described above, the file data hash generation process described above with reference to FIG. 3 may be performed to insert the file information into the file information data file, the file information memory, and the file hash information memory.

따라서, 본 발명의 일 실시 예에 따른 파일 검사 에이전트(120)는 대상 파일이 신규한 파일이 아니고 갱신이 필요한 파일이 아닌 경우, 대상 파일에 대한 해시 데이터를 생성하지 않는다. 즉, 파일 검사 에이전트(120)는 파일 해시 데이터 생성 횟수를 최소화하여 컴퓨팅 장치의 디스크 입출력을 줄일 수 있다. 따라서, 컴퓨팅 장치는 파일 검사 에이전트(120)가 적은 디스크 입출력을 발생시키기 때문에 파일 검사 에이전트(120)로 인해 타 프로세스를 크게 지연시키지 않으면서 수행할 수 있다.Therefore, the file checking agent 120 according to the embodiment of the present invention does not generate hash data for the target file when the target file is not a new file and is not a file requiring updating. That is, the file checking agent 120 minimizes the number of file hash data generation times, thereby reducing disk I / O of the computing device. Thus, the computing device can perform without significantly delaying other processes due to the file checking agent 120, since the file checking agent 120 generates less disk I / O.

상술한 본 발명의 실시 예들은 다양한 수단을 통해 구현될 수 있다. 예를 들어, 본 발명의 실시 예들은 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 본 발명의 실시 예들에 따른 방법은 하나 또는 그 이상의 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 프로세서, 컨트롤러, 마이크로 컨트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다. 펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 실시 예들에 따른 방법은 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차 또는 함수 등의 형태로 구현될 수 있다. 소프트웨어 코드 등이 기록된 컴퓨터 프로그램은 컴퓨터 판독 가능 기록 매체 또는 메모리 유닛에 저장되어 프로세서에 의해 구동될 수 있다. 메모리 유닛은 프로세서 내부 또는 외부에 위치하여, 이미 공지된 다양한 수단에 의해 프로세서와 데이터를 주고 받을 수 있다.The above-described embodiments of the present invention can be implemented by various means. For example, embodiments of the present invention may be implemented by hardware, firmware, software, or a combination thereof. In the case of hardware implementation, the method according to embodiments of the present invention may be implemented in one or more Application Specific Integrated Circuits (ASICs), Digital Signal Processors (DSPs), Digital Signal Processing Devices (DSPDs), Programmable Logic Devices Field programmable gate arrays (FPGAs), processors, controllers, microcontrollers, microprocessors, and the like. In the case of an implementation by firmware or software, the method according to embodiments of the present invention may be implemented in the form of a module, a procedure, or a function for performing the functions or operations described above. A computer program recorded with a software code or the like may be stored in a computer-readable recording medium or a memory unit and may be driven by a processor. The memory unit is located inside or outside the processor, and can exchange data with the processor by various known means.

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

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

이제까지 본 발명에 대하여 그 실시 예를 중심으로 살펴보았다. 전술한 실시 예 외의 많은 실시 예들이 본 발명의 특허청구범위 내에 존재한다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시 예는 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.The present invention has been described above with reference to the embodiments thereof. Many embodiments other than the above-described embodiments are within the scope of the claims of the present invention. It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. The disclosed embodiments should, therefore, be considered in an illustrative rather than a restrictive sense. The scope of the present invention is defined by the appended claims rather than by the foregoing description, and all differences within the scope of equivalents thereof should be construed as being included in the present invention.

110: 파일 검사 서버
120: 파일 검사 에이전트
210: 수집부
220: 격리부
110: File check server
120: File Scan Agent
210:
220:

Claims (15)

APT 시스템(Advanced Persistent Threat System)으로부터 격리 해시 정보를 수신하고, 상기 격리 해시 정보를 포함하는 격리 명령을 생성하는 파일 검사 서버; 및
상기 격리 명령을 수신하고, 상기 격리 해시 정보에 대응하는 파일을 암호화하여 지정된 격리 폴더에 저장하는 파일 검사 에이전트;
를 포함하는 악성코드 격리 시스템.
A file checking server for receiving isolated hash information from an APT system (Advanced Persistent Threat System) and generating a quarantine command including the quarantine hash information; And
A file checking agent that receives the quarantine command, encrypts the file corresponding to the quarantine hash information, and stores the encrypted file in a specified quarantine folder;
A malicious code isolation system.
제1 항에 있어서,
컴퓨팅 장치의 각 파일에 대한 파일 정보를 수집하는 수집부; 및
파일 검사 서버로부터 격리 명령을 수신하고, 상기 격리 명령에 포함된 격리 해시 정보와 매칭되는 상기 파일 정보의 파일을 격리하는 격리부;
를 포함하되,
상기 수집부는 상기 파일 정보 중 파일 데이터 해시의 생성 중 지정된 대기 시간 동안 대기하는 것을 특징으로 하는 악성코드 격리 시스템.
The method according to claim 1,
A collection unit for collecting file information about each file of the computing device; And
An isolation unit for receiving a quarantine command from a file check server and isolating a file of the file information matched with the quarantine hash information included in the quarantine command;
, ≪ / RTI &
Wherein the collecting unit waits for a waiting time during generation of a file data hash among the file information.
제2 항에 있어서,
상기 수집부는,
미리 지정된 시간 이내에 사용자의 입력이 존재하지 않는 경우, 사용자에 의해 미리 설정되거나 초기 설정된 대기 시간인 설정 대기 시간 동안 대기하는 것을 특징으로 하는 악성코드 격리 시스템.
3. The method of claim 2,
Wherein,
And if the input of the user is not present within a predetermined time, waiting for a setting wait time which is a standby time preset or initially set by the user.
제3 항에 있어서,
상기 수집부는 미리 지정된 시간 이내에 사용자의 입력이 존재하는 경우, 미리 지정된 사용 대기 시간으로 설정하고,
상기 사용 대기 시간은 상기 설정 대기 시간으로 설정될 수 있는 대기 시간 중 지정된 시간 동안의 총합이 가장 긴 대기 시간인 것을 특징으로 하는 악성코드 격리 시스템.
The method of claim 3,
Wherein the collecting unit sets a predetermined waiting time for use when a user's input is present within a predetermined time,
Wherein the use waiting time is a waiting time having a longest total time of the waiting time set as the setting waiting time.
제4 항에 있어서,
상기 수집부는 상기 컴퓨팅 장치 내 상기 파일 검사 에이전트의 CPU 점유율이 미리 지정된 기준 이상인 경우, 점유율 제한 대기 시간 동안 대기하고,
상기 점유율 제한 대기 시간은 상기 사용 대기 시간보다 긴 대기 시간인 것을 특징으로 하는 악성코드 격리 시스템.
5. The method of claim 4,
Wherein the collecting unit waits for the occupancy restriction waiting time when the CPU occupancy rate of the file checking agent in the computing device is equal to or larger than a predetermined reference,
Wherein the occupancy restriction waiting time is a waiting time longer than the use waiting time.
제2 항에 있어서,
상기 수집부는
각 상기 파일 중 신규한 파일에 상응하는 파일 정보를 신규로 저장하고,
각 상기 파일 중 변경된 파일에 상응하는 파일 정보를 갱신하여 저장하는 것을 특징으로 하는 악성코드 격리 시스템.
3. The method of claim 2,
The collecting unit
Storing new file information corresponding to a new file among the files,
And updating and storing the file information corresponding to the changed file among the files.
제6 항에 있어서,
상기 수집부는,
파일 정보 인덱스, 파일의 경로를 나타내는 파일 경로 해시 및 파일의 마지막 기록시간을 파일정보 메모리에 저장하고, 파일 정보 인덱스 및 파일의 내용에 대해 지정된 해시 처리를 수행하여 생성한 파일 데이터 해시를 파일 해시 정보 메모리에 저장하고, 파일 정보 데이터 파일에 전체 파일 정보를 저장하고,
각 상기 파일 중 파일 경로에 대응하는 파일 경로 해시가 상기 파일정보 메모리에 저장되어 있지 않은 파일을 신규한 파일로 판단하고,
각 상기 파일 중 마지막 기록시간이 상기 파일정보 메모리에 저장된 마지막 기록시간과 일치하지 않는 파일을 변경된 파일로 판단하는 것을 특징으로 하는 악성코드 격리 시스템.
The method according to claim 6,
Wherein,
A file information index, a file path hash representing the path of the file, and a last write time of the file are stored in the file information memory, and a file data hash generated by performing the hash processing specified for the file information index and the contents of the file is stored in the file hash information Stores the entire file information in the file information data file,
Judges that the file path hash corresponding to the file path among the files is not stored in the file information memory as a new file,
And determines that the file whose last recording time of each file does not coincide with the last recording time stored in the file information memory is a changed file.
파일 검사 에이전트가 악성코드를 격리하는 방법에 있어서,
컴퓨팅 장치의 각 파일에 대한 파일 정보를 수집하는 단계;
파일 검사 서버로부터 격리 명령을 수신하는 단계; 및
상기 격리 명령에 포함된 격리 해시 정보와 매칭되는 상기 파일 정보의 파일을 격리하는 단계;
를 포함하되,
상기 컴퓨팅 장치의 각 파일에 대한 파일 정보를 수집하는 단계는
상기 파일 정보 중 파일 데이터 해시의 생성 중 지정된 대기 시간 동안 대기하는 단계
를 포함하는 것을 특징으로 하는 악성코드 격리 방법.
In the method of isolating malicious code by the file scanning agent,
Collecting file information for each file of the computing device;
Receiving a quarantine command from a file checking server; And
Isolating a file of the file information matching the isolated hash information included in the isolation command;
, ≪ / RTI &
The step of collecting file information for each file of the computing device
A step of waiting for a designated waiting time during the generation of a file data hash among the file information
Wherein the malicious code is a malicious code.
제8 항에 있어서,
상기 파일 정보 중 파일 데이터 해시의 생성 중 지정된 대기 시간 동안 대기하는 단계는,
미리 지정된 시간 이내에 사용자의 입력이 존재하지 않는 경우, 사용자에 의해 미리 설정되거나 초기 설정된 대기 시간인 설정 대기 시간 동안 대기하는 단계를 포함하는 것을 특징으로 하는 악성 코드 격리 방법.
9. The method of claim 8,
Wherein the step of waiting for a designated waiting time during creation of a file data hash among the file information comprises:
Waiting for a set waiting time which is a standby time preset or initially set by the user if the user's input does not exist within a predetermined time.
제9 항에 있어서,
상기 파일 정보 중 파일 데이터 해시의 생성 중 지정된 대기 시간 동안 대기하는 단계는,
미리 지정된 시간 이내에 사용자의 입력이 존재하는 경우, 미리 지정된 사용 대기 시간으로 설정하는 단계
를 더 포함하되,
상기 사용 대기 시간은 상기 설정 대기 시간으로 설정될 수 있는 대기 시간 중 지정된 시간 동안의 총합이 가장 긴 대기 시간인 것을 특징으로 하는 악성 코드 격리 방법.
10. The method of claim 9,
Wherein the step of waiting for a designated waiting time during creation of a file data hash among the file information comprises:
If the user's input is present within a predetermined time, setting a predetermined waiting time for use
Further comprising:
Wherein the use waiting time is a waiting time having a longest total time for a designated time out of waiting times that can be set as the setting waiting time.
제10 항에 있어서,
상기 파일 정보 중 파일 데이터 해시의 생성 중 지정된 대기 시간 동안 대기하는 단계는,
상기 컴퓨팅 장치 내 상기 파일 검사 에이전트의 CPU 점유율이 미리 지정된 기준 이상인 경우, 점유율 제한 대기 시간 동안 대기하는 단계
를 더 포함하되,
상기 점유율 제한 대기 시간은 상기 사용 대기 시간보다 긴 대기 시간인 것을 특징으로 하는 악성 코드 격리 방법.
11. The method of claim 10,
Wherein the step of waiting for a designated waiting time during creation of a file data hash among the file information comprises:
A step of waiting for the occupancy restriction waiting time when the CPU occupancy rate of the file checking agent in the computing device is equal to or higher than a predetermined standard
Further comprising:
Wherein the occupancy restriction waiting time is a waiting time longer than the use waiting time.
제8 항에 있어서,
상기 컴퓨팅 장치의 각 파일에 대한 파일 정보를 수집하는 단계는,
각 상기 파일 중 신규한 파일에 상응하는 파일 정보를 신규로 저장하는 단계; 및
각 상기 파일 중 변경된 파일에 상응하는 파일 정보를 갱신하여 저장하는 단계를 포함하는 것을 특징으로 하는 악성 코드 격리 방법.
9. The method of claim 8,
Wherein collecting file information for each file of the computing device comprises:
Storing new file information corresponding to a new file among the files; And
And updating and storing the file information corresponding to the changed file among the files.
제12 항에 있어서,
상기 컴퓨팅 장치의 각 파일에 대한 파일 정보를 수집하는 단계는 파일 정보 인덱스, 파일의 경로를 나타내는 파일 경로 해시 및 파일의 마지막 기록시간을 파일정보 메모리에 저장하고, 파일 정보 인덱스 및 파일의 내용에 대해 지정된 해시 처리를 수행하여 생성한 파일 데이터 해시를 파일 해시 정보 메모리에 저장하고, 파일 정보 데이터 파일에 전체 파일 정보를 저장하는 단계이고,
각 상기 파일 중 신규한 파일에 상응하는 파일 정보를 신규로 저장하는 단계는 각 상기 파일 중 파일 경로에 대응하는 파일 경로 해시가 상기 파일정보 메모리에 저장되어 있지 않은 파일을 신규한 파일로 판단하는 단계를 포함하고,
각 상기 파일 중 변경된 파일에 상응하는 파일 정보를 갱신하여 저장하는 단계는 각 상기 파일 중 마지막 기록시간이 상기 파일정보 메모리에 저장된 마지막 기록시간과 일치하지 않는 파일을 변경된 파일로 판단하는 단계를 포함하는 것을 특징으로 하는 악성 코드 격리 방법.
13. The method of claim 12,
Wherein the step of collecting file information for each file of the computing device comprises the steps of: storing a file information index, a file path hash representing a path of a file, and a last recording time of the file in a file information memory, Storing the file data hash generated by performing the specified hash process in the file hash information memory and storing the whole file information in the file information data file,
Wherein the step of newly storing the file information corresponding to the new file among the files includes the step of determining that the file path hash corresponding to the file path among the files is not stored in the file information memory as a new file Lt; / RTI >
Wherein updating and storing the file information corresponding to the changed file among the files includes determining that the file whose last recording time of each file does not match the last recorded time stored in the file information memory is a changed file Wherein the malicious code is a malicious code.
제8항 내지 제13항 중 어느 한 항의 방법을 프로세서가 수행하게 하는 명령어를 포함하는 컴퓨터 프로그램이 기록된 컴퓨터 판독 가능 기록매체.
14. A computer-readable medium having recorded thereon a computer program for causing a processor to perform the method of any one of claims 8 to 13.
제8항 내지 제13항 중 어느 한 항의 방법을 프로세서가 수행하게 하는 컴퓨터 판독 가능 기록매체에 저장된 컴퓨터 프로그램.14. A computer program stored in a computer-readable medium for causing a processor to perform the method of any one of claims 8 to 13.
KR1020180003736A 2018-01-11 2018-01-11 System and methdo for isolating malicious code Active KR102039498B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180003736A KR102039498B1 (en) 2018-01-11 2018-01-11 System and methdo for isolating malicious code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180003736A KR102039498B1 (en) 2018-01-11 2018-01-11 System and methdo for isolating malicious code

Publications (2)

Publication Number Publication Date
KR20190085637A true KR20190085637A (en) 2019-07-19
KR102039498B1 KR102039498B1 (en) 2019-11-04

Family

ID=67512096

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180003736A Active KR102039498B1 (en) 2018-01-11 2018-01-11 System and methdo for isolating malicious code

Country Status (1)

Country Link
KR (1) KR102039498B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110024886A (en) * 2009-09-03 2011-03-09 한국전자통신연구원 Malware detection method and device using idle time of computer
KR20130093775A (en) * 2011-12-29 2013-08-23 주식회사 안랩 Apparatus, method, terminal and system for recovery protection of system files
KR20150076613A (en) * 2013-12-27 2015-07-07 호서대학교 산학협력단 Method for collecting the suspicious file and trace information to analysis the ATP attack
KR101534566B1 (en) * 2014-05-09 2015-07-24 한국전자통신연구원 Apparatus and method for security control of cloud virtual desktop

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110024886A (en) * 2009-09-03 2011-03-09 한국전자통신연구원 Malware detection method and device using idle time of computer
KR20130093775A (en) * 2011-12-29 2013-08-23 주식회사 안랩 Apparatus, method, terminal and system for recovery protection of system files
KR20150076613A (en) * 2013-12-27 2015-07-07 호서대학교 산학협력단 Method for collecting the suspicious file and trace information to analysis the ATP attack
KR101534566B1 (en) * 2014-05-09 2015-07-24 한국전자통신연구원 Apparatus and method for security control of cloud virtual desktop

Also Published As

Publication number Publication date
KR102039498B1 (en) 2019-11-04

Similar Documents

Publication Publication Date Title
US8495037B1 (en) Efficient isolation of backup versions of data objects affected by malicious software
US9928364B2 (en) Detecting malicious files
US11244051B2 (en) System and methods for detection of cryptoware
US10256981B2 (en) Secure logging for host security module
RU2607231C2 (en) Fuzzy whitelisting anti-malware systems and methods
KR101755646B1 (en) Data storage device including anti-virus unit and operating method thereof
US7281010B2 (en) Trusted computing platform with dual key trees to support multiple public/private key systems
US20150154398A1 (en) Optimizing virus scanning of files using file fingerprints
US11275835B2 (en) Method of speeding up a full antivirus scan of files on a mobile device
CN110516428B (en) Data reading and writing method and device of mobile storage equipment and storage medium
JP6170900B2 (en) File processing method and apparatus
US11477232B2 (en) Method and system for antivirus scanning of backup data at a centralized storage
US11550913B2 (en) System and method for performing an antivirus scan using file level deduplication
US20090138969A1 (en) Device and method for blocking autorun of malicious code
US8448243B1 (en) Systems and methods for detecting unknown malware in an executable file
US9519780B1 (en) Systems and methods for identifying malware
KR101369251B1 (en) Apparatus, method, terminal and system for recovery protection of system files
WO2012095348A1 (en) Malware detection
US12346441B2 (en) Systems and methods for synthetic file scanning
US8572730B1 (en) Systems and methods for revoking digital signatures
US11327848B2 (en) System and method for data remediation without data loss
US9536085B2 (en) Data management of potentially malicious content
JP2009152878A (en) Image processor and data erasing method
KR102039498B1 (en) System and methdo for isolating malicious code
Cui et al. Towards trustable storage using SSDs with proprietary FTL

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20180111

PA0201 Request for examination
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20190320

Patent event code: PE09021S01D

PG1501 Laying open of application
E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20191001

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20191028

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20191029

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20221031

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20230718

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee

Payment date: 20240930

Start annual number: 6

End annual number: 6