WO2020189822A1 - Diagnosis apparatus, diagnosis method, and diagnosis system for malicious code in cloud environment - Google Patents

Diagnosis apparatus, diagnosis method, and diagnosis system for malicious code in cloud environment Download PDF

Info

Publication number
WO2020189822A1
WO2020189822A1 PCT/KR2019/003218 KR2019003218W WO2020189822A1 WO 2020189822 A1 WO2020189822 A1 WO 2020189822A1 KR 2019003218 W KR2019003218 W KR 2019003218W WO 2020189822 A1 WO2020189822 A1 WO 2020189822A1
Authority
WO
WIPO (PCT)
Prior art keywords
file
malicious code
diagnosis
normal
information
Prior art date
Application number
PCT/KR2019/003218
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/003218 priority Critical patent/WO2020189822A1/en
Publication of WO2020189822A1 publication Critical patent/WO2020189822A1/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 code diagnosis apparatus, a diagnosis method, and a diagnosis system for diagnosing whether a computer file is infected with malicious code.
  • the user computer primarily distinguishes between a normal file and a file suspected of being infected with malicious code
  • the present invention relates to a malicious code diagnosis apparatus, a diagnosis method, and a diagnosis system in a cloud environment that diagnoses whether a malicious code is infected by transmitting a signature of a file suspected of being infected with a malicious code among them to a cloud server.
  • Diagnosis of such malicious codes is usually carried out through a diagnosis engine having signature data for determining whether or not malicious codes, but recently, as the number and types of malicious codes increase exponentially, the diagnosis signature data has also increased significantly. It is difficult to diagnose whether all files to be diagnosed are infected with malicious codes in the user computer itself with limited resources, and as an alternative to this, a so-called cloud-based malicious code diagnosis method has been proposed.
  • the method of requesting diagnosis by transmitting the signatures of all files in the user's computer to the cloud server has a limitation in that the amount of data transmitted between the user computer and the cloud server is inevitably increased, and accordingly, the delay in diagnosis time and network load. There is a problem of causing a problem, which leads to an increase in cost.
  • Patent Document 1 As an alternative to these problems, there is a technology disclosed in Patent Document 1, and in Patent Document 1, a pre-diagnosis filter such as a bloom filter is installed in a user computer (specifically, a portable terminal), and the pre-diagnosis filter By classifying the application to be diagnosed into an application suspected of being infected by malicious code and an application that is not suspicious of infection, only the application suspected of infection is requested to be diagnosed to the cloud server, thereby improving diagnosis speed and reducing network resources. To prevent.
  • a pre-diagnosis filter such as a bloom filter
  • the pre-diagnosis filter is designed to filter files that may be malicious codes based on probability based on the blacklist, which is a list of malicious codes generated in a compressed form of hash value information of malicious codes.
  • the blacklist is a list of malicious codes generated in a compressed form of hash value information of malicious codes.
  • Patent Document 1 checks whether or not all files to be diagnosed are suspicious files for malicious code infection by a single pre-diagnosis filter consisting of a bloom filter, and the pre-diagnosis filter is the hash value of the previously discovered malicious code. As the size of the blacklist compressed the hash value information of the malicious code increases, there is a problem that it takes more time.
  • the number of files owned by one user's computer reaches as many as thousands, and in order to scan all of these files, the scan time per file must be minimized as much as possible. For example, it takes too much time to extract the hash value, compare the extracted hash value with the blacklist, and diagnose whether there is a malicious code infection. As time passes, the blacklist data that compresses the hash value information of the malicious code As the amount of is increased, the problem of time delay becomes larger.
  • the scan time of the suspicious malicious code infection file within the user's computer can be reduced to a minimum, and the diagnosis target file is incorrectly diagnosed as a suspicious infection file even though it is not a malicious code infection suspicious file. It is important to minimize the possibility of misdiagnosis as not suspicious files even though they are suspicious files or suspicious infections ( ⁇ ).
  • Patent Document 1 Registered Patent No. 10-1473658 (announced on December 18, 2014)
  • the present invention has been made in consideration of the above problems of the prior art, and the diagnosis of whether a file to be diagnosed is suspicious of a malicious code infection performed on a user's computer is started from a relatively simple method, and is gradually expanded in a complex method to be executed in stages.
  • the object of the present invention is to provide a malicious code diagnosis device, diagnosis method, and diagnosis system in a cloud environment that can minimize the scan time for whether a file exists and minimize the possibility of misdiagnosis or misdiagnosis.
  • the malicious code diagnosis apparatus of the present invention for solving the above problem is to check whether the diagnosis target file is a normal file that is not suspicious of malicious code infection before the user computer requests the cloud server to diagnose whether the malicious code is infected.
  • a malicious code diagnostic device a diagnostic cache that checks whether the diagnostic target file is the normal file from the file key information and file information extracted from the diagnostic target file, and a file extracted from the file determined that the diagnostic cache is not a normal file
  • a pre-processed white filter that checks whether the file is the normal file from the path, file size, and file hash value, and some CRC32 values, file size information, and file hash extracted from the file determined by the pre-processing white filter as not a normal file It includes a pre-processing bloom filter that checks whether the file is the normal file from the value.
  • the method for diagnosing malicious code of the present invention for solving the above problem is to determine whether the file to be diagnosed is a normal file that is not suspicious of malicious code infection before the user computer requests the cloud server to diagnose whether the malicious code is infected.
  • the malicious code diagnosis system of the present invention for solving the above problems is connected to a user computer having the malicious code diagnosis device and a communication network with the user computer, and the file requested from the user computer is It includes a cloud server that diagnoses malware infection.
  • the diagnosis of whether or not a file to be diagnosed is suspicious of malicious code infection performed on a user's computer starts from a relatively simple method, and is gradually expanded to a more complex method, thereby reducing the scan time for a suspected malicious code file to a minimum. At the same time, it is possible to obtain the effect of minimizing the possibility of misdiagnosis or misdiagnosis.
  • FIG. 1 is a system block diagram showing a schematic configuration of a malware diagnosis system according to a preferred embodiment of the present invention.
  • FIG. 2 is a diagram showing an example of a configuration of a bloom filter database
  • FIG. 3 is a flowchart showing the flow of a method for diagnosing a malicious code according to a preferred embodiment of the present invention.
  • FIG. 1 is a system block diagram showing a schematic configuration of a malware diagnosis system according to a preferred embodiment of the present invention.
  • the user computer 130 and the cloud server 170 are connected to enable communication via the communication network 150, and the cloud server 170 is It may also be connected to an external diagnostic pattern update server 190.
  • the user computer 130 may be a personal computer such as a desktop or laptop, a general purpose computer used for purposes such as office or science or control, or, for example, a portable communication terminal such as a smartphone.
  • at least one diagnosis target file 110 which is a target for diagnosis of malicious code infection, is stored in an internal storage device.
  • the file to be diagnosed 110 is not limited to a file stored in the internal storage device of the user computer 130, and includes, for example, a file input into the user computer 130 from outside such as e-mail. All files processed in (130) become diagnostic target files.
  • malware infection diagnosis diagnosis of whether or not the file to be diagnosed is actually infected with malicious code (hereinafter, it may be simply described as “malware infection”) (hereinafter, simply “malignant code” Code infection diagnosis”) is in charge of the cloud server 170, and the user computer 130 requests the cloud server 170 to diagnose whether the file to be diagnosed is infected with malicious code.
  • the cloud server 170 diagnoses the presence of malicious code only for files suspected of being infected with malicious code (hereinafter, it may be simply described as “a suspicious file of malicious code infection”).
  • the user computer 130 includes a diagnostic cache 131, a preprocessed white filter 133, a preprocessed bloom filter 135, and a diagnosis request unit 137.
  • the diagnostic cache 131, the preprocessed white filter 133, and the preprocessed bloom filter 135 have a cache database 131a, a white pattern database 133a, and a bloom filter database 135a, respectively.
  • the diagnostic cache 131 extracts file key information and file information from the file to be diagnosed 110, and the file having the extracted file key is a file in which a diagnosis has been made to whether a malicious code has been infected, and is stored in the cache database 131a. It checks whether the file key information is stored, and if a file that has been diagnosed with malicious code infection before as a result of the check, checks whether the file information has been altered.
  • Confirmation of the alteration of the file information is made by comparing the file information extracted from the file to be diagnosed 110 with the file information of the file stored in the cache database 131a as a file previously diagnosed for infection with malicious code. As a result of checking whether the file information has been altered or not, if it is not altered, it is determined as a normal file and the inspection is terminated.
  • the inspection by the preprocessing white filter 133 proceeds.
  • the cache database 131a stores file key information and file information of a previously diagnosed file.
  • the file key information is information unique to each individual file (a value different from the hash value), and is a value consisting of, for example, a file ID and a partition ID
  • the file information is information for confirming whether the file has been changed.
  • it includes time information consisting of the creation time, change time, and access time of the file, and file size information indicating the size of the file, but is not limited thereto, but in the present embodiment, the change time among the time information is stored in the cache database 131a. Holds on.
  • the preprocessing white filter 133 diagnoses whether a file that is not determined as a normal file as a result of the inspection by the diagnostic cache 131 is suspected of being infected with a malicious code, and the file path and file size from the diagnosis target file 110 The hash value is extracted, and it is checked whether information identical to the extracted file path, file size, and hash value is stored in the white pattern database 133a.
  • the white pattern database 133a stores information on the file path, file size, and hash value of the file diagnosed as not infected by the malicious code as a result of the previous malicious code diagnosis, and the result of the inspection by the preprocessing white filter 133 If a file having the file path, file size, and hash value extracted from the file to be diagnosed 110 is in the white pattern database 133a, the file is determined as a white file that is not suspicious of malicious code infection, that is, a normal file, and is examined. To finish.
  • the file size information may be directly extracted from the diagnosis target file 110 by the preprocessing white filter 133, and the diagnosis cache 131 utilizes the file size information in the file information extracted from the diagnosis target file 110. It may be good.
  • the preprocessing proceeds to the inspection by the bloom filter 135.
  • the pre-processed bloom filter 135 is a file to be diagnosed when the diagnosis target file 110 is not a file stored in the white pattern database 133a as a normal file as a result of the inspection by the pre-processed white filter 133. Partial CRC32 values and file size information of (110) are extracted, and it is checked whether information corresponding to some of the CRC32 values of the extracted diagnosis target file 110 exists in the bloom filter database 135a.
  • the bloom filter database 135a has malicious code information (BM) in the form of a bitmap obtained from the result of diagnosis of a previously performed malicious code infection, and the preprocessing bloom filter 135 is a part extracted from the diagnosis target file 110 By comparing the CRC32 value, file size information, and information on the total hash value with the malicious code information stored in the bloom filter database 135a, it is possible to check whether the file to be diagnosed 110 is a file suspicious of malicious code infection.
  • BM malicious code information
  • BM malicious code information
  • BM malicious code information
  • CM CRC map
  • HM hash map
  • the CRC map (CM) is a CRC32 of 4 bytes from 512 bytes of data that is the sum of 256 bytes of data at the top and 256 bytes of data at the top of a file that was determined to be infected with malicious code in the previous diagnosis process. Extract the value, apply a seed value of 0 to the extracted CRC32 value of 4 bytes, and map the file size using the 8 megabyte bitmap and seed value obtained by mapping in the Murmur hash 3 method. It is a bitmap consisting of an 8 megabyte bitmap obtained by applying and mapping in the Murmur hash 3 method.
  • the hash map extracts the hash value from the file diagnosed as infected with malicious code in the previous diagnosis process using the MD5 (Message Digest Algorithm 5) method, and divides the extracted 16-byte MD5 hashes into 4 byte units. It is a bitmap of 4 files of 8 megabytes obtained by mapping in the Mooremoore hash 3 method by applying a seed value of 0 to each of 4 MD5 files.
  • MD5 Message Digest Algorithm 5
  • Checking whether a file corresponding to some CRC32 values extracted from the diagnosis target file 110 exists in the bloom filter database 135a is performed by using some CRC32 values and file size information extracted from the diagnosis target file 110. It can be achieved by bitmapping the malicious code information (BM) held by (135a) in the same way as the CRC map (CM) creation process, and then comparing it with the CRC map (CM).
  • BM malicious code information
  • CM CRC map
  • the preprocessing bloom filter 135 extracts the entire hash value of the diagnosis target file 110, and the extracted It is checked whether information corresponding to the total hash value exists in the bloom filter database 135a, and if the total hash value extracted as a result of the check does not exist in the bloom filter database 135a, it is determined as a normal file and ends.
  • the pre-processing bloom filter 135 determines whether the file to be diagnosed is a malicious code infection suspicious file and whether the cloud server 170 has infected malicious code. It is determined as a file that needs diagnosis, and the diagnosis request unit 137 of the user computer 130 transmits the entire hash value of the file determined as a malicious code infection suspicious file by the preprocessing bloom filter 135 to the cloud server 170 Then, request a diagnosis of malware infection.
  • the pre-processing bloom filter 135 creates the hash map (HM) described above with the total hash value extracted from the diagnosis target file 110. It is achieved by bitmapping in the same way as the process and then comparing it with a hash map (HM).
  • the file size information extracted by the pre-processed bloom filter 135 from the file to be diagnosed 110 may be directly extracted by the pre-processed bloom filter 135 from the file to be diagnosed 110, and the diagnosis cache 131 is diagnosed. File size information in the file information extracted from the target file 110 may be utilized.
  • the communication network 150 may be either a wired communication network or a wireless communication network as long as the communication network 150 connects the user computer 130 and the cloud server 170 to each other in a wired or wireless manner.
  • the cloud server 170 is a known cloud server, and may be a public cloud server that can be used jointly by a large number, but in the present embodiment, it is more preferable to use a private cloud server for reasons such as security.
  • the cloud server 170 includes a malicious code diagnosis unit 171 and a database synchronization unit 173, and the malicious code diagnosis unit 171 includes a diagnosis pattern database 171a. Since the cloud server 170 of the present embodiment functions substantially the same as the cloud server of Patent Document 1, detailed descriptions are omitted here.
  • the cache database 131a, the white pattern database 133a, and the bloom filter database 135a have “information on malicious code infected files” in the above description.
  • the database synchronization unit 173 distributes to the cache database 131a, the white pattern database 133a, and the bloom filter database 135a, respectively, through the communication network 150, thereby
  • the cache database 131a, the white pattern database 133a, and the bloom filter database 135a are updated whenever the server 170 determines that the file to be diagnosed 110 is infected with a malicious code, or periodically.
  • the diagnosis pattern update server 190 is a separate server from the cloud server 170 of the malicious code diagnosis system 100 of the present embodiment, and the cloud server 170 is obtained in the process of diagnosing whether it is infected with malicious code.
  • malicious code information is accumulated in the diagnosis pattern database 171a as a diagnosis pattern, and it is provided to a cloud server of another malicious code diagnosis system or received from another server through a communication network. It may be an update server 190.
  • the diagnosis pattern update server 190 is not essential and may be included as necessary.
  • FIG. 3 is a flowchart showing the flow of a method for diagnosing a malicious code according to a preferred embodiment of the present invention.
  • the diagnosis cache 131 extracts file key information and file information from the diagnosis target file 110 (step S1).
  • the start of diagnosis for suspected malicious code infection can be started for a file set at a set scan time, for example, if a scheduled scan is set in the user's computer 130, and if the user starts the scan at a random time, the It starts at the time, or when an unknown file is input to the user computer 130 from the outside, a test may be started prior to execution of the input file.
  • step S3 NO
  • step S2 NO
  • step S4 the process proceeds to step S4 for the next step.
  • the method of checking whether file information has been altered is the same as the method described above.
  • step S5 NO
  • this file is not a white file. It proceeds to step S6.
  • step S6 the preprocessing bloom filter 135 extracts some CRC32 values and file size information of the file determined to be not a normal file as a result of the inspection by the preprocessing white filter 133, and proceeds to step S7 to extract the extracted It is checked whether information corresponding to some CRC32 values of the diagnosis target file 110 exists in the bloom filter database 135a.
  • step S9 If the total hash value extracted as a result of the confirmation in step S9 does not exist in the bloom filter database 135a, the process proceeds to step S10, the file is determined as a normal file, and ends.
  • the pre-processing bloom filter 135 is a malicious code infection suspicious file and A file that is determined to be a file that needs to be diagnosed with malicious code infection and proceeds to step S11, and in step S11, the diagnosis request unit 137 of the user computer 130 is a file determined as a malicious code infection suspicious file by the preprocessing bloom filter 135
  • the entire hash value of is transmitted to the cloud server 170 to request diagnosis of malware infection.
  • the partial CRC32 value is set as a CRC32 value of 4 bytes extracted from data of 256 bytes at the front and 256 bytes at the end of the diagnosis target file 110, but is not limited thereto. , As long as it consists of CRC32 values extracted from data at two or more of the entire files of the diagnosis target file 110, it may be extracted from data at any location, and the size is not necessarily limited to 256 bytes each.
  • the hash map (HM) is 4 files of 8 megabytes obtained by mapping with the Moore Moore hash 3 method by applying a seed value of 0 to 4 MD5 files of 4 bytes each extracted by the MD5 method.
  • the extraction and mapping of the hash value is not necessarily limited to the MD5 method and the Mooremoore hash 3, and other known methods may be used.
  • the file key information and file information of the file determined as a normal file are stored in a cache database ( It may be added to 131a), and the same applies to a file determined as a normal file for which malicious code infection is not suspected as a result of the inspection by the preprocessing bloom filter 135 described in the above embodiment.

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)
  • Computer And Data Communications (AREA)

Abstract

The present invention relates to a malicious code diagnosis apparatus for examining whether a file (110) being diagnosed is a normal file that is not suspected of being infected with a malicious code, before a user computer (130) requests a cloud server (170) for malicious code infection diagnosis, the malicious code diagnosis apparatus comprising: a diagnosis cache (131) for examining whether the file being diagnosed is a normal file on the basis of file key information and file information extracted from the file (110) being diagnosed; a pre-processing white filter (133) for examining whether the file is a normal file on the basis of a file path, a file size, and a file hash value extracted from the file determined to be a non-normal file by the diagnosis cache (131); and a pre-processing Bloom filter (135) for examining whether the file is a normal file on the basis of a partial CRC32 value, file size information, and a file hash value extracted from the file determined to be a non-normal file by the pre-processing white filter (133).

Description

클라우드 환경에서의 악성코드 진단장치, 진단방법 및 진단시스템Malware diagnosis device, diagnosis method and diagnosis system in cloud environment
본 출원은 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.
본 발명은 컴퓨터 파일의 악성코드 감염 여부를 진단하는 악성코드 진단장치, 진단방법 및 진단시스템에 관한 것으로, 특히, 사용자 컴퓨터에서 1차적으로 정상파일과 악성코드 감염이 의심되는 파일을 구분하고, 이 중 악성코드의 감염이 의심되는 파일의 시그니처(signature)를 클라우드 서버(cloud server)로 전송하여 악성코드 감염 여부를 진단하도록 하는 클라우드 환경에서의 악성코드 진단장치, 진단방법 및 진단시스템에 관한 것이다.The present invention relates to a malicious code diagnosis apparatus, a diagnosis method, and a diagnosis system for diagnosing whether a computer file is infected with malicious code. In particular, the user computer primarily distinguishes between a normal file and a file suspected of being infected with malicious code, and The present invention relates to a malicious code diagnosis apparatus, a diagnosis method, and a diagnosis system in a cloud environment that diagnoses whether a malicious code is infected by transmitting a signature of a file suspected of being infected with a malicious code among them to a cloud server.
웹페이지 검색시나 불법복제 프로그램의 사용, 해커에 의한 직접 설치 또는 전자우편의 첨부파일 또는 메신저 파일 등을 통해 개인용 컴퓨터(personal computer)나 범용 컴퓨터(general purpose computer) 또는 휴대통신 단말기 등(이하, 본 명세서에서는 이들을 통칭하여 「사용자 컴퓨터」라고 한다)에 침입하여 네트워크 트래픽의 발생, 시스템 성능 저하, 파일 삭제, 개인정보 유출 등의 행위를 하는 이른바 악성코드에 의한 피해가 급격히 증가하고 있고, 이에 수반하여 파일의 악성코드의 감염 여부를 진단하는 악성코드 진단기술도 다양한 형태로 발전하고 있다.When browsing webpages, using illegal copying programs, direct installation by hackers, attachments of e-mails or messenger files, personal computers, general purpose computers, or mobile communication terminals (hereinafter referred to as In the specification, these are collectively referred to as ``user computer''), and the damage caused by so-called malicious codes that invade network traffic, degrade system performance, delete files, and leak personal information is increasing rapidly, and accompanying this Malware diagnosis technology, which diagnoses whether a file is infected with malicious code, is also developing in various forms.
이와 같은 악성코드의 진단은 통상 악성코드 여부 판정을 위한 시그니처 데이터를 갖는 진단엔진을 통해서 이루어지고 있으나, 최근 악성코드의 수 및 종류의 기하급수적인 증가에 따라서 진단용 시그니처 데이터 역시 현격하게 증가하고 있어서, 제한된 자원을 갖는 사용자 컴퓨터 자체에서 모든 진단대상 파일의 악성코드 감염 여부를 진단하기에는 무리가 있으며, 이에 대한 대안으로 이른바 클라우드 기반의 악성코드 진단방법이 제안되고 있다.Diagnosis of such malicious codes is usually carried out through a diagnosis engine having signature data for determining whether or not malicious codes, but recently, as the number and types of malicious codes increase exponentially, the diagnosis signature data has also increased significantly. It is difficult to diagnose whether all files to be diagnosed are infected with malicious codes in the user computer itself with limited resources, and as an alternative to this, a so-called cloud-based malicious code diagnosis method has been proposed.
그러나 사용자 컴퓨터 내의 모든 파일의 시그니처를 클라우드 서버로 전송하여 진단을 의뢰하는 방식은 사용자 컴퓨터와 클라우드 서버 사이에서 전송되는 데이터의 양이 많아질 수밖에 없다는 한계가 있고, 이에 따라 진단시간의 지연 및 네트워크 부하 유발의 문제가 발생하며, 이는 비용의 증가로 이어진다는 문제가 있다.However, the method of requesting diagnosis by transmitting the signatures of all files in the user's computer to the cloud server has a limitation in that the amount of data transmitted between the user computer and the cloud server is inevitably increased, and accordingly, the delay in diagnosis time and network load. There is a problem of causing a problem, which leads to an increase in cost.
이들 문제에 대한 대안으로 특허문헌 1에 개시된 기술이 있으며, 특허문헌 1에서는 일단 사용자 컴퓨터(구체적으로는 휴대용 단말기)에 블룸필터(bloom filter)와 같은 사전진단 필터를 설치하고, 이 사전진단 필터에 의해 진단대상 애플리케이션을 악성코드의 감염이 의심되는 애플리케이션과 감염의 의심이 없는 애플리케이션으로 구분한 후, 감염이 의심되는 애플리케이션에 대해서만 클라우드 서버에 진단을 요청하도록 함으로써 진단속도의 향상과 함께 네트워크자원의 감소를 방지하도록 하고 있다.As an alternative to these problems, there is a technology disclosed in Patent Document 1, and in Patent Document 1, a pre-diagnosis filter such as a bloom filter is installed in a user computer (specifically, a portable terminal), and the pre-diagnosis filter By classifying the application to be diagnosed into an application suspected of being infected by malicious code and an application that is not suspicious of infection, only the application suspected of infection is requested to be diagnosed to the cloud server, thereby improving diagnosis speed and reducing network resources. To prevent.
그러나 특허문헌 1에서 사전진단 필터는 악성코드의 해시 값 정보를 압축시킨 형태로 생성된 악성코드의 리스트인 블랙리스트를 기반으로 작성된 확률 기반에 의해 악성코드일 가능성이 있는 파일을 필터링 하도록 설계된 것이며, 배포서버 등으로부터의 다운로드에 의해 휴대용 단말기에 탑재될 수 있다는 정도의 기재만 있을 뿐으로, 휴대용 단말기에 설치된 사전진단 필터에 의해 어떻게 진단대상 애플리케이션을 악성코드의 감염이 의심되는 애플리케이션과 감염의 의심이 없는 애플리케이션으로 구분하는가에 대한 구체적인 방법은 기재되어 있지 않다는 문제가 있다.However, in Patent Document 1, the pre-diagnosis filter is designed to filter files that may be malicious codes based on probability based on the blacklist, which is a list of malicious codes generated in a compressed form of hash value information of malicious codes. There is only a description of the degree that it can be mounted on a portable terminal by downloading from a distribution server, etc., but how the application to be diagnosed by the pre-diagnosis filter installed on the portable terminal is There is a problem that a specific method for classifying by application is not described.
또, 특허문헌 1의 기술은 블룸필터로 이루어진 단일의 사전진단 필터에 의해 모든 진단대상 파일에 대해 악성코드 감염 의심 파일인가 여부를 검사하고 있고, 사전진단 필터는 이전에 발견된 악성코드의 해시 값을 이용하여 진단대상 파일의 악성코드 감염의 의심 여부를 검사하므로, 악성코드의 해시 값 정보를 압축시킨 블랙리스트의 크기가 커지면 그만큼 에 시간이 더 소요될 수밖에 없다는 문제도 있다.In addition, the technology of Patent Document 1 checks whether or not all files to be diagnosed are suspicious files for malicious code infection by a single pre-diagnosis filter consisting of a bloom filter, and the pre-diagnosis filter is the hash value of the previously discovered malicious code. As the size of the blacklist compressed the hash value information of the malicious code increases, there is a problem that it takes more time.
사용자 컴퓨터 1대가 보유하는 파일의 수는 많게는 수천 개에 이르며, 이들 파일을 모두 검사하기 위해서는 1개 파일당 검사시간을 가능한 한으로 최소화해야 한다는 점에서 보면, 특허문헌 1과 같이 모든 진단대상 파일에 대해 그 해시 값을 추출하고, 추출된 해시 값을 블랙리스트와 비교하여 악성코드 감염 의심 여부를 진단하기에는 너무 많은 시간이 소요되며, 시간이 지날수록 악성코드의 해시 값 정보를 압축시킨 블랙리스트의 데이터의 양은 증가하게 되므로 시간 지연의 문제는 더 커지게 된다.The number of files owned by one user's computer reaches as many as thousands, and in order to scan all of these files, the scan time per file must be minimized as much as possible. For example, it takes too much time to extract the hash value, compare the extracted hash value with the blacklist, and diagnose whether there is a malicious code infection. As time passes, the blacklist data that compresses the hash value information of the malicious code As the amount of is increased, the problem of time delay becomes larger.
따라서 특허문헌 1과 같은 진단방식에서는 사용자 컴퓨터 내에서 이루어지는 악성코드 감염 의심 파일의 검사시간을 최소한으로 단축할 수 있으면서도, 진단대상 파일이 악성코드 감염 의심파일이 아님에도 감염 의심파일로 잘못 진단하는 오진(誤診)이나 감염 의심파일임에도 의심파일이 아닌 것으로 잘못 진단하는 미진(未診)의 가능성을 최소화하는 것이 중요하다.Therefore, in the diagnosis method as in Patent Document 1, the scan time of the suspicious malicious code infection file within the user's computer can be reduced to a minimum, and the diagnosis target file is incorrectly diagnosed as a suspicious infection file even though it is not a malicious code infection suspicious file. It is important to minimize the possibility of misdiagnosis as not suspicious files even though they are suspicious files or suspicious infections (誤診).
{선행기술문헌}{Prior technical literature}
{특허문헌}{Patent Literature}
(특허문헌 1) 등록특허 10-1473658호 공보(2014. 12. 18. 공고)(Patent Document 1) Registered Patent No. 10-1473658 (announced on December 18, 2014)
본 발명은 종래기술의 상기 문제를 감안하여 이루어진 것으로, 사용자 컴퓨터에서 이루어지는 진단대상 파일의 악성코드 감염 의심 여부의 진단을 비교적 간단한 방식에서 시작하여 점차 복잡한 방식으로 확대하여 단계적으로 실행하도록 함으로써 악성코드 의심 파일 여부에 대한 검사시간을 최소한으로 단축할 수 있는 동시에, 오진 또는 미진의 가능성을 최소화할 수 있는 클라우드 환경에서의 악성코드 진단장치, 진단방법 및 진단시스템을 제공하는 것을 목적으로 한다.The present invention has been made in consideration of the above problems of the prior art, and the diagnosis of whether a file to be diagnosed is suspicious of a malicious code infection performed on a user's computer is started from a relatively simple method, and is gradually expanded in a complex method to be executed in stages. The object of the present invention is to provide a malicious code diagnosis device, diagnosis method, and diagnosis system in a cloud environment that can minimize the scan time for whether a file exists and minimize the possibility of misdiagnosis or misdiagnosis.
상기 과제를 해결하기 위한 본 발명의 악성코드 진단장치는, 사용자 컴퓨터가 클라우드 서버에 악성코드 감염 여부 진단을 의뢰하기 전에, 진단대상 파일이 악성코드의 감염이 의심되지 않는 정상파일인가 여부를 검사하는 악성코드 진단장치로, 진단대상 파일에서 추출한 파일 키 정보와 파일정보로부터 당해 진단대상 파일이 상기 정상파일인가 여부를 검사하는 진단 캐시와, 상기 진단 캐시가 정상파일이 아닌 것으로 판정한 파일에서 추출한 파일 경로, 파일 크기 및 파일 해시 값으로부터 그 파일이 상기 정상파일인가 여부를 검사하는 전처리 화이트필터와, 상기 전처리 화이트필터가 정상파일이 아닌 것으로 판정한 파일에서 추출한 일부 CRC32 값, 파일 크기정보 및 파일 해시 값으로부터 그 파일이 상기 정상파일인가 여부를 검사하는 전처리 블룸필터를 포함한다.The malicious code diagnosis apparatus of the present invention for solving the above problem is to check whether the diagnosis target file is a normal file that is not suspicious of malicious code infection before the user computer requests the cloud server to diagnose whether the malicious code is infected. A malicious code diagnostic device, a diagnostic cache that checks whether the diagnostic target file is the normal file from the file key information and file information extracted from the diagnostic target file, and a file extracted from the file determined that the diagnostic cache is not a normal file A pre-processed white filter that checks whether the file is the normal file from the path, file size, and file hash value, and some CRC32 values, file size information, and file hash extracted from the file determined by the pre-processing white filter as not a normal file It includes a pre-processing bloom filter that checks whether the file is the normal file from the value.
또, 상기 과제를 해결하기 위한 본 발명의 악성코드 진단방법은, 사용자 컴퓨터가 클라우드 서버에 악성코드 감염 여부 진단을 의뢰하기 전에, 진단대상 파일이 악성코드의 감염이 의심되지 않는 정상파일인가 여부를 검사하는 악성코드 진단방법으로, 진단대상 파일에서 추출한 파일 키 정보와 파일정보로부터 당해 진단대상 파일이 상기 정상파일인가 여부를 검사하는 단계 a)와, 상기 단계 a)에서 정상파일이 아닌 것으로 판정한 파일에서 추출한 파일 경로, 파일 크기 및 파일 해시 값으로부터 그 파일이 상기 정상파일인가 여부를 검사하는 단계 b)와, 상기 단계 b)에서 정상파일이 아닌 것으로 판정한 파일에서 추출한 일부 CRC32 값, 파일 크기정보 및 파일 해시 값으로부터 그 파일이 상기 정상파일인가 여부를 검사하는 단계 c)를 포함한다.In addition, the method for diagnosing malicious code of the present invention for solving the above problem is to determine whether the file to be diagnosed is a normal file that is not suspicious of malicious code infection before the user computer requests the cloud server to diagnose whether the malicious code is infected. A method for diagnosing malicious code to be inspected, in step a) of checking whether the file to be diagnosed is the normal file from the file key information and file information extracted from the file to be diagnosed, and determining that the file is not a normal file in the step a). Step b) of checking whether the file is the normal file from the file path, file size, and file hash value extracted from the file, and some CRC32 values and file sizes extracted from the file determined as not a normal file in step b) And step c) of checking whether the file is the normal file from the information and the file hash value.
또, 상기 과제를 해결하기 위한 본 발명의 악성코드 진단시스템은, 상기 악성코드 진단장치를 구비하는 사용자 컴퓨터와, 상기 사용자 컴퓨터와 통신망을 통해서 통신 가능하게 접속되며, 상기 사용자 컴퓨터로부터 의뢰된 파일의 악성코드 감염 여부를 진단하는 클라우드 서버를 포함한다.In addition, the malicious code diagnosis system of the present invention for solving the above problems is connected to a user computer having the malicious code diagnosis device and a communication network with the user computer, and the file requested from the user computer is It includes a cloud server that diagnoses malware infection.
본 발명에 의하면 사용자 컴퓨터에서 이루어지는 진단대상 파일의 악성코드 감염 의심 여부의 진단을 비교적 간단한 방식에서 시작하여 점차 복잡한 방식으로 확대하여 단계적으로 실행함으로써 악성코드 의심 파일 여부에 대한 검사시간을 최소한으로 단축할 수 있는 동시에, 오진 또는 미진의 가능성을 최소화할 수 있다는 효과를 얻을 수 있다.According to the present invention, the diagnosis of whether or not a file to be diagnosed is suspicious of malicious code infection performed on a user's computer starts from a relatively simple method, and is gradually expanded to a more complex method, thereby reducing the scan time for a suspected malicious code file to a minimum. At the same time, it is possible to obtain the effect of minimizing the possibility of misdiagnosis or misdiagnosis.
도 1은 본 발명의 바람직한 실시형태의 악성코드 진단시스템의 개략적인 구성을 나타내는 시스템 블록도,1 is a system block diagram showing a schematic configuration of a malware diagnosis system according to a preferred embodiment of the present invention.
도 2는 블룸필터 데이터베이스의 구성 예를 나타내는 도면,2 is a diagram showing an example of a configuration of a bloom filter database;
도 3은 본 발명의 바람직한 실시형태의 악성코드 진단방법의 흐름을 나타내는 플로차트이다.3 is a flowchart showing the flow of a method for diagnosing a malicious code according to a preferred embodiment of the present invention.
이하, 첨부 도면을 참조하면서 본 발명의 바람직한 실시형태에 대해서 설명한다.Hereinafter, preferred embodiments of the present invention will be described with reference to the accompanying drawings.
먼저, 본 발명의 바람직한 실시형태의 악성코드 진단시스템에 대해서 설명한다. 도 1은 본 발명의 바람직한 실시형태의 악성코드 진단시스템의 개략적인 구성을 나타내는 시스템 블록도이다.First, a description will be given of a malware diagnosis system according to a preferred embodiment of the present invention. 1 is a system block diagram showing a schematic configuration of a malware diagnosis system according to a preferred embodiment of the present invention.
본 발명의 바람직한 실시형태의 악성코드 진단시스템(100)은 사용자 컴퓨터(130)와 클라우드 서버(170)가 통신망(150)을 경유하여 통신 가능하게 접속되어 있고, 필요에 따라서 클라우드 서버(170)는 외부의 진단패턴 업데이트 서버(190)와도 접속될 수도 있다.In the malicious code diagnosis system 100 of the preferred embodiment of the present invention, the user computer 130 and the cloud server 170 are connected to enable communication via the communication network 150, and the cloud server 170 is It may also be connected to an external diagnostic pattern update server 190.
사용자 컴퓨터(130)는 데스크 탑이나 노트북과 같은 개인용 컴퓨터, 사무용이나 과학용 또는 제어용 등의 용도로 사용되는 범용 컴퓨터(general purpose computer), 또는, 예를 들어 스마트폰과 같은 휴대통신용 단말기 등일 수 있고, 본 발명에서 악성코드 감염 여부 진단의 대상이 되는 하나 이상의 진단대상 파일(110)을 내부의 기억장치에 저장하고 있다.The user computer 130 may be a personal computer such as a desktop or laptop, a general purpose computer used for purposes such as office or science or control, or, for example, a portable communication terminal such as a smartphone. , In the present invention, at least one diagnosis target file 110, which is a target for diagnosis of malicious code infection, is stored in an internal storage device.
그러나 진단대상 파일(110)은 사용자 컴퓨터(130)의 내부 기억장치에 저장된 파일에 한정되는 것은 아니며, 예를 들어 전자메일 등과 같이 외부로부터 사용자 컴퓨터(130) 내로 입력되는 파일도 포함하여 당해 사용자 컴퓨터(130)에서 처리되는 모든 파일이 진단대상 파일이 된다.However, the file to be diagnosed 110 is not limited to a file stored in the internal storage device of the user computer 130, and includes, for example, a file input into the user computer 130 from outside such as e-mail. All files processed in (130) become diagnostic target files.
본 실시형태의 악성코드 진단시스템(100)에서는 진단대상 파일이 실제로 악성코드에 감염되었는가 여부(이하에서는 간단하게 「악성코드 감염 여부」로 기재하는 경우도 있다)의 진단(이하에서는 간단하게 「악성코드 감염 여부 진단」으로 기재하는 경우도 있다)은 클라우드 서버(170)가 담당하며, 사용자 컴퓨터(130)는 진단대상 파일(110)의 악성코드 감염 여부 진단을 클라우드 서버(170)에 의뢰하기 전에, 그 파일이 악성코드의 감염이 의심되는 파일인가 여부(이하에서는 간단하게 「악성코드 감염 의심 여부」로 기재하는 경우도 있다)를 검사(이하에서는 간단하게 「악성코드 감염 의심 여부 검사」로 기재하는 경우도 있다)하고, 검사 결과 악성코드의 감염이 의심되는 파일(이하에서는 간단하게 「악성코드 감염 의심파일」로 기재하는 경우도 있다)에 대해서만 클라우드 서버(170)에 악성코드 감염 여부 진단을 의뢰하도록 하며, 이를 위해 사용자 컴퓨터(130)는 진단 캐시(131)와 전처리 화이트필터(133)와 전처리 블룸필터(135) 및 진단 요청부(137)를 구비하고 있다.In the malicious code diagnosis system 100 of the present embodiment, diagnosis of whether or not the file to be diagnosed is actually infected with malicious code (hereinafter, it may be simply described as “malware infection”) (hereinafter, simply “malignant code” Code infection diagnosis”) is in charge of the cloud server 170, and the user computer 130 requests the cloud server 170 to diagnose whether the file to be diagnosed is infected with malicious code. , Check whether the file is a file suspected of being infected with malicious code (hereinafter, it may be simply described as ``Suspicious Malware Infection'') (hereinafter simply described as ``Suspicious Malware Infection Check'') In some cases), the cloud server 170 diagnoses the presence of malicious code only for files suspected of being infected with malicious code (hereinafter, it may be simply described as “a suspicious file of malicious code infection”). For this purpose, the user computer 130 includes a diagnostic cache 131, a preprocessed white filter 133, a preprocessed bloom filter 135, and a diagnosis request unit 137.
또, 진단 캐시(131)와 전처리 화이트필터(133) 및 전처리 블룸필터(135)는 각각 캐시 데이터베이스(131a)와 화이트패턴 데이터베이스(133a) 및 블룸필터 데이터베이스(135a)를 가지고 있다.In addition, the diagnostic cache 131, the preprocessed white filter 133, and the preprocessed bloom filter 135 have a cache database 131a, a white pattern database 133a, and a bloom filter database 135a, respectively.
진단 캐시(131)는 진단대상 파일(110)에서 파일 키 정보 및 파일정보를 추출하고, 추출된 파일 키를 갖는 파일이 이전에 악성코드 감염 여부 진단이 이루어진 적이 있는 파일로서 캐시 데이터베이스(131a)에 파일 키 정보가 저장되어 있는가를 확인하며, 확인 결과 이전에 악성코드 감염 여부 진단이 이루어진 적이 있는 파일이면 파일정보의 변조 여부를 확인한다.The diagnostic cache 131 extracts file key information and file information from the file to be diagnosed 110, and the file having the extracted file key is a file in which a diagnosis has been made to whether a malicious code has been infected, and is stored in the cache database 131a. It checks whether the file key information is stored, and if a file that has been diagnosed with malicious code infection before as a result of the check, checks whether the file information has been altered.
파일정보 변조 여부의 확인은 진단대상 파일(110)로부터 추출된 파일정보와 이전에 악성코드 감염 여부 진단이 이루어진 파일로 캐시 데이터베이스(131a)에 저장되어 있는 파일의 파일정보와의 비교에 의해 이루어지며, 파일정보 변조 여부 확인 결과 변조되지 않았으면 정상파일로 판정하고 검사를 종료하고, 변조되었으면 전처리 화이트필터(133)에 의한 검사로 진행한다.Confirmation of the alteration of the file information is made by comparing the file information extracted from the file to be diagnosed 110 with the file information of the file stored in the cache database 131a as a file previously diagnosed for infection with malicious code. As a result of checking whether the file information has been altered or not, if it is not altered, it is determined as a normal file and the inspection is terminated.
여기서, 사용자 컴퓨터(130)에 의한 진단 결과 「정상파일」이라는 의미는 그 파일이 악성코드에 감염되지 않았다는 의미는 아니며, 사용자 컴퓨터(130)에 의한 악성코드 감염 의심 여부 진단 결과 악성코드의 감염이 의심되지 않는다는 의미이다.Here, the meaning of "normal file" as a result of diagnosis by the user computer 130 does not mean that the file is not infected with malicious code. It means I am not in doubt.
또, 진단대상 파일(110)에서 추출된 파일 키를 갖는 파일이 이전에 악성코드 감염 여부 진단이 이루어진 적이 있는 파일이 아닌 때에도 전처리 화이트필터(133)에 의한 검사로 진행한다.In addition, even when the file having the file key extracted from the file to be diagnosed 110 is not a file that has previously been diagnosed with malicious code infection, the inspection by the preprocessing white filter 133 proceeds.
캐시 데이터베이스(131a)에는 이전에 진단이 이루어진 파일의 파일 키 정보와 파일정보를 저장하고 있다. 여기서, 파일 키 정보는 개개의 파일 각각에 고유한 정보(해시 값과는 다른 값)로서, 예를 들어 파일 ID와 파티션 ID로 이루어지는 값이며, 파일정보는 당해 파일의 변경 여부를 확인하기 위한 정보로서, 파일의 생성시간, 변경시간 및 접근시간으로 이루어지는 시간정보와 파일의 크기를 나타내는 파일 크기정보를 포함하며, 이에 한정되는 것은 아니나, 본 실시형태에서는 시간정보 중 변경시간을 캐시 데이터베이스(131a)에 보유하고 있다.The cache database 131a stores file key information and file information of a previously diagnosed file. Here, the file key information is information unique to each individual file (a value different from the hash value), and is a value consisting of, for example, a file ID and a partition ID, and the file information is information for confirming whether the file has been changed. As such, it includes time information consisting of the creation time, change time, and access time of the file, and file size information indicating the size of the file, but is not limited thereto, but in the present embodiment, the change time among the time information is stored in the cache database 131a. Holds on.
다음에, 전처리 화이트필터(133)는 진단 캐시(131)에 의한 검사 결과 정상파일로 판정되지 않은 파일에 대해 악성코드 감염 의심 여부 진단을 하며, 진단대상 파일(110)로부터 파일 경로와 파일 크기 및 해시 값을 추출하고, 추출된 파일 경로와 파일 크기 및 해시 값과 동일한 정보가 화이트패턴 데이터베이스(133a)에 저장되어 있는가 여부를 검사한다.Next, the preprocessing white filter 133 diagnoses whether a file that is not determined as a normal file as a result of the inspection by the diagnostic cache 131 is suspected of being infected with a malicious code, and the file path and file size from the diagnosis target file 110 The hash value is extracted, and it is checked whether information identical to the extracted file path, file size, and hash value is stored in the white pattern database 133a.
화이트패턴 데이터베이스(133a)에는 이전의 악성코드 진단 결과 악성코드에 감염되지 않은 것으로 진단된 파일의 파일 경로와 파일 크기 및 해시 값에 관한 정보를 저장하고 있고, 전처리 화이트필터(133)에 의한 검사 결과 진단대상 파일(110)로부터 추출된 파일 경로와 파일 크기 및 해시 값을 갖는 파일이 화이트패턴 데이터베이스(133a)에 있으면 그 파일을 악성코드 감염이 의심되지 않는 화이트파일, 즉, 정상파일로 판정하고 검사를 종료한다.The white pattern database 133a stores information on the file path, file size, and hash value of the file diagnosed as not infected by the malicious code as a result of the previous malicious code diagnosis, and the result of the inspection by the preprocessing white filter 133 If a file having the file path, file size, and hash value extracted from the file to be diagnosed 110 is in the white pattern database 133a, the file is determined as a white file that is not suspicious of malicious code infection, that is, a normal file, and is examined. To finish.
여기서, 파일 크기정보는 전처리 화이트필터(133)가 진단대상 파일(110)로부터 직접 추출하는 것으로 해도 좋고, 진단 캐시(131)가 진단대상 파일(110)로부터 추출한 파일정보 내의 파일 크기정보를 활용하는 것으로 해도 좋다.Here, the file size information may be directly extracted from the diagnosis target file 110 by the preprocessing white filter 133, and the diagnosis cache 131 utilizes the file size information in the file information extracted from the diagnosis target file 110. It may be good.
또, 검사 결과 진단대상 파일(110)로부터 추출된 파일 경로와 파일 크기 및 해시 값을 갖는 파일이 화이트패턴 데이터베이스(133a)에 존재하지 않으면 전처리 블룸필터(135)에 의한 검사로 진행한다.In addition, if a file having a file path, a file size, and a hash value extracted from the diagnosis target file 110 does not exist in the white pattern database 133a as a result of the inspection, the preprocessing proceeds to the inspection by the bloom filter 135.
다음에, 전처리 블룸필터(135)는 전처리 화이트필터(133)에 의한 검사 결과 진단대상 파일(110)이 정상파일로서 화이트패턴 데이터베이스(133a)에 저장되어 있는 파일이 아닌 경우에, 그 진단대상 파일(110)의 일부 CRC32 값과 파일 크기정보를 추출하고, 추출된 진단대상 파일(110)의 일부 CRC32 값에 대응하는 정보가 블룸필터 데이터베이스(135a)에 존재하는가 여부를 확인한다.Next, the pre-processed bloom filter 135 is a file to be diagnosed when the diagnosis target file 110 is not a file stored in the white pattern database 133a as a normal file as a result of the inspection by the pre-processed white filter 133. Partial CRC32 values and file size information of (110) are extracted, and it is checked whether information corresponding to some of the CRC32 values of the extracted diagnosis target file 110 exists in the bloom filter database 135a.
여기서, 블룸필터 데이터베이스(135a)는 이전에 이루어진 악성코드 감염 여부 진단 결과로부터 얻은 비트맵 형태의 악성코드정보(BM)를 가지고 있으며, 전처리 블룸필터(135)는 진단대상 파일(110)로부터 추출한 일부 CRC32 값과 파일 크기정보 및 전체 해시 값에 관한 정보를 블룸필터 데이터베이스(135a)에 저장된 악성코드 정보와 비교함으로써 진단대상 파일(110)이 악성코드 감염 의심파일인가 여부를 검사할 수 있다.Here, the bloom filter database 135a has malicious code information (BM) in the form of a bitmap obtained from the result of diagnosis of a previously performed malicious code infection, and the preprocessing bloom filter 135 is a part extracted from the diagnosis target file 110 By comparing the CRC32 value, file size information, and information on the total hash value with the malicious code information stored in the bloom filter database 135a, it is possible to check whether the file to be diagnosed 110 is a file suspicious of malicious code infection.
도 2는 블룸필터 데이터베이스(135a)의 구성 예를 나타내는 도면이며, 블룸필터 데이터베이스(135a)에 저장된 비트맵 형태의 악성코드정보(BM)는 이전의 악성코드 진단과정에서 악성코드에 감염된 것으로 판정된 파일의 일부 CRC32 값과 파일 크기정보를 이용하여 비트맵화 한 CRC 맵(CM)과 악성코드 감염파일의 전체 해시 값을 비트맵화 한 해시 맵(HM)으로 구성되어 있다.2 is a diagram showing an example of the configuration of the bloom filter database 135a, and the malicious code information (BM) in the form of a bitmap stored in the bloom filter database 135a is determined to be infected with a malicious code in the previous malicious code diagnosis process. It consists of a CRC map (CM) that is bitmapped using some CRC32 values and file size information of a file, and a hash map (HM) that bitmaps the entire hash value of the malicious code infected file.
CRC 맵(CM)은 이전의 진단과정에서 악성코드에 감염된 것으로 판정된 파일의 맨 앞쪽의 256바이트(byte)의 데이터와 맨 뒤쪽의 256바이트의 데이터를 합한 합계 512바이트의 데이터로부터 4바이트의 CRC32 값을 추출하고, 추출한 4바이트의 CRC32 값에 대해서 시드(seed) 값을 0을 적용하여 무어무어 해시 3(Murmur hash 3) 방식으로 매핑하여 얻어진 8메가바이트의 비트맵과 시드 값으로 파일 크기를 적용하여 무어무어 해시 3(Murmur hash 3) 방식으로 매핑하여 얻어진 8메가바이트의 비트맵으로 이루어지는 비트맵이다.The CRC map (CM) is a CRC32 of 4 bytes from 512 bytes of data that is the sum of 256 bytes of data at the top and 256 bytes of data at the top of a file that was determined to be infected with malicious code in the previous diagnosis process. Extract the value, apply a seed value of 0 to the extracted CRC32 value of 4 bytes, and map the file size using the 8 megabyte bitmap and seed value obtained by mapping in the Murmur hash 3 method. It is a bitmap consisting of an 8 megabyte bitmap obtained by applying and mapping in the Murmur hash 3 method.
또, 해시 맵(HM)은 이전의 진단과정에서 악성코드에 감염된 것으로 진단된 파일로부터 MD5(Message Digest Algorithm 5) 방식으로 해시 값을 추출하고, 추출한 16바이트의 MD5 해시를 각각 4바이트 단위로 구분한 4개의 MD5 파일에 대해 각각 시드 값 0을 적용해서 무어무어 해시 3 방식으로 맵핑하여 얻은 8메가바이트의 4개 파일의 비트맵이다.In addition, the hash map (HM) extracts the hash value from the file diagnosed as infected with malicious code in the previous diagnosis process using the MD5 (Message Digest Algorithm 5) method, and divides the extracted 16-byte MD5 hashes into 4 byte units. It is a bitmap of 4 files of 8 megabytes obtained by mapping in the Mooremoore hash 3 method by applying a seed value of 0 to each of 4 MD5 files.
무어무어 해시 3 및 MD5 해시는 공지이므로 여기에서는 상세한 설명은 생략한다.The Moore Moore hash 3 and MD5 hashes are known, so detailed descriptions are omitted here.
진단대상 파일(110)로부터 추출한 일부 CRC32 값에 대응하는 파일이 블룸필터 데이터베이스(135a)에 존재하는가 여부의 확인은 진단대상 파일(110)로부터 추출한 일부 CRC32 값 및 파일 크기정보를 이용하여 블룸필터 데이터베이스(135a)가 보유하는 악성코드정보(BM)의 CRC 맵(CM) 작성과정과 동일한 방법으로 비트맵화 한 후, 이를 CRC 맵(CM)과 비교함으로써 이루어질 수 있다.Checking whether a file corresponding to some CRC32 values extracted from the diagnosis target file 110 exists in the bloom filter database 135a is performed by using some CRC32 values and file size information extracted from the diagnosis target file 110. It can be achieved by bitmapping the malicious code information (BM) held by (135a) in the same way as the CRC map (CM) creation process, and then comparing it with the CRC map (CM).
확인 결과, 진단대상 파일(110)의 일부 CRC32 값과 파일 크기정보에 대응하는 정보가 블룸필터 데이터베이스(135a)에 존재하지 않으면 정상파일로 판정하고 종료한다.As a result of checking, if information corresponding to some CRC32 values and file size information of the diagnosis target file 110 does not exist in the bloom filter database 135a, it is determined as a normal file and ends.
또, 진단대상 파일(110)의 일부 CRC32 값과 파일 크기정보가 블룸필터 데이터베이스(135a)에 존재하면, 전처리 블룸필터(135)는 진단대상 파일(110)의 전체 해시 값을 추출하고, 추출된 전체 해시 값에 대응하는 정보가 블룸필터 데이터베이스(135a)에 존재하는가 여부를 확인하며, 확인 결과 추출된 전체 해시 값이 블룸필터 데이터베이스(135a)에 존재하지 않으면 정상파일로 판정하고 종료한다.In addition, if some CRC32 values and file size information of the diagnosis target file 110 exist in the bloom filter database 135a, the preprocessing bloom filter 135 extracts the entire hash value of the diagnosis target file 110, and the extracted It is checked whether information corresponding to the total hash value exists in the bloom filter database 135a, and if the total hash value extracted as a result of the check does not exist in the bloom filter database 135a, it is determined as a normal file and ends.
만일, 추출된 전체 해시 값에 대응하는 정보가 블룸필터 데이터베이스(135a)에 존재하면 전처리 블룸필터(135)는 그 진단대상 파일은 악성코드 감염 의심파일로서 클라우드 서버(170)에 의한 악성코드 감염 여부 진단이 필요한 파일로 판정하며, 사용자 컴퓨터(130)의 진단 요청부(137)는 전처리 블룸필터(135)에 의해 악성코드 감염 의심파일로 판정된 파일의 전체 해시 값을 클라우드 서버(170)에 전송하여 악성코드 감염 여부 진단을 의뢰한다.If information corresponding to the extracted total hash value exists in the bloom filter database 135a, the pre-processing bloom filter 135 determines whether the file to be diagnosed is a malicious code infection suspicious file and whether the cloud server 170 has infected malicious code. It is determined as a file that needs diagnosis, and the diagnosis request unit 137 of the user computer 130 transmits the entire hash value of the file determined as a malicious code infection suspicious file by the preprocessing bloom filter 135 to the cloud server 170 Then, request a diagnosis of malware infection.
추출된 전체 해시 값에 대응하는 정보가 블룸필터 데이터베이스(135a)에 존재하는가 여부의 확인은 전처리 블룸필터(135)가 진단대상 파일(110)로부터 추출한 전체 해시 값을 앞에서 설명한 해시 맵(HM) 작성과정과 동일한 방법으로 비트맵화 한 후, 이를 해시 맵(HM)과 비교함으로써 이루어진다.To check whether information corresponding to the extracted total hash value exists in the bloom filter database 135a, the pre-processing bloom filter 135 creates the hash map (HM) described above with the total hash value extracted from the diagnosis target file 110. It is achieved by bitmapping in the same way as the process and then comparing it with a hash map (HM).
여기서, 전처리 블룸필터(135)가 진단대상 파일(110)로부터 추출하는 파일 크기정보는 전처리 블룸필터(135)가 진단대상 파일(110)로부터 직접 추출하는 것으로 해도 좋고, 진단 캐시(131)가 진단대상 파일(110)로부터 추출한 파일정보 내의 파일 크기정보를 활용하는 것으로 해도 좋다.Here, the file size information extracted by the pre-processed bloom filter 135 from the file to be diagnosed 110 may be directly extracted by the pre-processed bloom filter 135 from the file to be diagnosed 110, and the diagnosis cache 131 is diagnosed. File size information in the file information extracted from the target file 110 may be utilized.
통신망(150)은 사용자 컴퓨터(130)와 클라우드 서버(170)를 서로 유선 또는 무선방식으로 통신 가능하게 접속하는 통신망이면 유선통신망 또는 무선통신망 중 어느 것이라도 좋다The communication network 150 may be either a wired communication network or a wireless communication network as long as the communication network 150 connects the user computer 130 and the cloud server 170 to each other in a wired or wireless manner.
클라우드 서버(170)는 공지의 클라우드 서버이며, 다수가 공동으로 이용할 수 있는 공용 클라우드 서버라도 좋으나, 본 실시형태에서는 보안 등의 이유에서 개인용(private) 클라우드 서버를 이용하는 것이 더 바람직하다.The cloud server 170 is a known cloud server, and may be a public cloud server that can be used jointly by a large number, but in the present embodiment, it is more preferable to use a private cloud server for reasons such as security.
클라우드 서버(170)는 악성코드 진단부(171)와 데이터베이스 동기화부(173)를 가지며, 악성코드 진단부(171)는 진단패턴 데이터베이스(171a)를 구비하고 있다. 본 실시형태의 클라우드 서버(170)는 특허문헌 1의 클라우드 서버와 사실상 동일한 기능을 하므로 여기에서는 상세한 설명을 생략한다.The cloud server 170 includes a malicious code diagnosis unit 171 and a database synchronization unit 173, and the malicious code diagnosis unit 171 includes a diagnosis pattern database 171a. Since the cloud server 170 of the present embodiment functions substantially the same as the cloud server of Patent Document 1, detailed descriptions are omitted here.
다만, 이에 한정되는 것은 아니나, 앞의 설명에서 캐시 데이터베이스(131a), 화이트패턴 데이터베이스(133a) 및 블룸필터 데이터베이스(135a)가 갖는 「악성코드 감염 파일에 관한 정보」들은 주로 클라우드 서버(170)에 의한 악성코드 진단결과로부터 얻어진 정보로서, 데이터베이스 동기화부(173)가 통신망(150)을 통해서 각각 캐시 데이터베이스(131a), 화이트패턴 데이터베이스(133a) 및 블룸필터 데이터베이스(135a)에 배포하며, 이에 의해 클라우드 서버(170)가 진단대상 파일(110)을 악성코드에 감염된 파일로 판정할 때마다, 또는 정기적으로 캐시 데이터베이스(131a), 화이트패턴 데이터베이스(133a) 및 블룸필터 데이터베이스(135a)가 업데이트 된다.However, although not limited thereto, the cache database 131a, the white pattern database 133a, and the bloom filter database 135a have “information on malicious code infected files” in the above description. As information obtained from the result of diagnosis of malicious code, the database synchronization unit 173 distributes to the cache database 131a, the white pattern database 133a, and the bloom filter database 135a, respectively, through the communication network 150, thereby The cache database 131a, the white pattern database 133a, and the bloom filter database 135a are updated whenever the server 170 determines that the file to be diagnosed 110 is infected with a malicious code, or periodically.
진단패턴 업데이트 서버(190)는 본 실시형태의 악성코드 진단시스템(100)의 클라우드 서버(170)와는 다른 별도의 서버이며, 클라우드 서버(170)는 자신이 악성코드 감염 여부를 진단하는 과정에서 얻은 악성코드 정보를 진단패턴으로서 진단패턴 데이터베이스(171a)에 축적하는 동시에, 이를 통신망을 경유하여 다른 악성코드 진단시스템의 클라우드 서버에 제공하거나, 다른 서버로부터 수신할 수도 있으며, 이때의 다른 서버가 진단패턴 업데이트 서버(190)일 수 있다. 또, 본 발명의 악성코드 진단시스템(100)에서 진단패턴 업데이트 서버(190)는 필수는 아니며, 필요에 따라서 포함할 수 있다.The diagnosis pattern update server 190 is a separate server from the cloud server 170 of the malicious code diagnosis system 100 of the present embodiment, and the cloud server 170 is obtained in the process of diagnosing whether it is infected with malicious code. At the same time, malicious code information is accumulated in the diagnosis pattern database 171a as a diagnosis pattern, and it is provided to a cloud server of another malicious code diagnosis system or received from another server through a communication network. It may be an update server 190. In addition, in the malicious code diagnosis system 100 of the present invention, the diagnosis pattern update server 190 is not essential and may be included as necessary.
다음에, 본 발명의 바람직한 실시형태의 악성코드 진단방법에 대해서 설명한다. 도 3은 본 발명의 바람직한 실시형태의 악성코드 진단방법의 흐름을 나타내는 플로차트이다.Next, a method for diagnosing a malicious code according to a preferred embodiment of the present invention will be described. 3 is a flowchart showing the flow of a method for diagnosing a malicious code according to a preferred embodiment of the present invention.
사용자 컴퓨터(130)에 의한 진단대상 파일(110)의 악성코드 감염 의심 여부 검사가 시작되면, 먼저, 진단 캐시(131)는 진단대상 파일(110)에서 파일 키 정보 및 파일정보를 추출한다(단계 S1).When the user computer 130 starts checking whether the diagnosis target file 110 is suspicious of a malicious code infection, first, the diagnosis cache 131 extracts file key information and file information from the diagnosis target file 110 (step S1).
악성코드 감염 의심 여부 진단의 시작은, 예를 들어 사용자 컴퓨터(130)에 예약검사가 설정되어 있으면 설정된 검사시각에 설정된 파일에 대해서 시작될 수 있고, 또, 사용자가 임의의 시각에 검사를 시작하면 그 시각에 시작되며, 또는, 사용자 컴퓨터(130)에 외부로부터 미지의 파일이 입력되면 입력되는 파일의 실행에 앞서 검사를 시작하는 등, 다양한 방법에 의해 이루어질 수 있다.The start of diagnosis for suspected malicious code infection can be started for a file set at a set scan time, for example, if a scheduled scan is set in the user's computer 130, and if the user starts the scan at a random time, the It starts at the time, or when an unknown file is input to the user computer 130 from the outside, a test may be started prior to execution of the input file.
이어서, 단계 S2로 진행하여, 진단 캐시(131)는 진단대상 파일(110)에서 추출된 파일 키가 캐시 데이터베이스(131a)에 저장되어 있는가 여부를 확인하고, 확인 결과 추출된 파일 키가 캐시 데이터베이스(131a)에 저장되어 있으면(단계 S2=YES) 단계 S3으로 진행하여 진단대상 파일(110)의 파일정보가 변조되었는가 여부를 확인한다.Subsequently, proceeding to step S2, the diagnostic cache 131 checks whether the file key extracted from the file to be diagnosed 110 is stored in the cache database 131a, and the extracted file key is the cache database ( 131a) (step S2 = YES), the process proceeds to step S3 to check whether the file information of the file to be diagnosed 110 has been altered.
단계 S3의 확인 결과 파일 정보가 변조되지 않았으면(단계 S3=NO) 단계 S10으로 진행하여 진단대상 파일(110)은 악성코드의 감염이 의심되지 않는 정상파일로 판정하고 검사를 종료하며, 만일, 단계 S3에서 파일 정보가 변조된 것으로 판정되면(단계 S3=YES) 단계 S4로 진행한다.If the file information has not been altered as a result of the confirmation in step S3 (step S3 = NO), the process proceeds to step S10, and the diagnosis target file 110 is determined to be a normal file that is not suspicious of malicious code infection, and the inspection is terminated. If it is determined in step S3 that the file information has been altered (step S3 = YES), the process proceeds to step S4.
또, 단계 S2의 확인결과 진단대상 파일(110)로부터 추출한 파일 키 정보가 캐시 데이터베이스(131a)에 없는 경우(단계 S2=NO)에는 그 진단대상 파일(110)은 이전에 한 번도 악성코드 감염 여부 진단이 이루어진 적이 없는 파일이므로 다음 단계의 검사를 위해 단계 S4로 진행한다.In addition, if the file key information extracted from the diagnosis target file 110 is not in the cache database 131a (step S2 = NO) as a result of checking in step S2, the diagnosis target file 110 has never been infected with malicious code. Since the file has not been diagnosed, the process proceeds to step S4 for the next step.
파일정보 변조 여부를 확인하는 방법은 앞에서 설명한 방법과 동일하다.The method of checking whether file information has been altered is the same as the method described above.
단계 S4에서 전처리 화이트필터(133)는 진단 캐시(131)에 의한 검사 결과 정상파일이 아닌 것으로 판정된 파일의 파일 경로와 파일 크기 및 해시 값을 추출하고, 단계 S5에서 추출된 파일 경로와 파일 크기 및 해시 값과 동일한 정보가 화이트패턴 데이터베이스(133a)에 저장되어 있는가 여부를 검사한다. 단계 S5의 검사 결과 진단대상 파일(110)로부터 추출된 파일 경로와 파일 크기 및 해시 값을 갖는 파일이 화이트패턴 데이터베이스(133a)에 있으면(단계 S=YES) 전처리 화이트필터(133)는 진단대상 파일(110)을 정상파일(또는, 「화이트 파일」이라고도 함)로 판정하고 검사를 종료한다.In step S4, the preprocessing white filter 133 extracts the file path, file size, and hash value of the file determined to be not a normal file as a result of the inspection by the diagnostic cache 131, and extracts the file path and file size in step S5. And whether the same information as the hash value is stored in the white pattern database 133a. If a file having a file path, file size, and hash value extracted from the diagnosis target file 110 in step S5 is in the white pattern database 133a (step S=YES), the preprocessing white filter 133 is a diagnosis target file (110) is determined as a normal file (or "white file"), and the inspection ends.
단계 S5의 검사 결과 진단대상 파일(110)로부터 추출된 파일 경로와 파일 크기 및 해시 값을 갖는 파일이 화이트패턴 데이터베이스(133a)에 존재하지 않으면(단계 S5=NO) 이 파일은 화이트파일이 아니므로 단계 S6으로 진행한다.If the file having the file path, file size, and hash value extracted from the diagnosis target file 110 does not exist in the white pattern database 133a (step S5 = NO), this file is not a white file. It proceeds to step S6.
이어서, 단계 S6에서, 전처리 블룸필터(135)는 전처리 화이트필터(133)에 의한 검사 결과 정상파일이 아닌 것으로 판정된 파일의 일부 CRC32 값과 파일 크기정보를 추출하고, 단계 S7로 진행하여 추출된 진단대상 파일(110)의 일부 CRC32 값에 대응하는 정보가 블룸필터 데이터베이스(135a)에 존재하는가 여부를 검사한다.Subsequently, in step S6, the preprocessing bloom filter 135 extracts some CRC32 values and file size information of the file determined to be not a normal file as a result of the inspection by the preprocessing white filter 133, and proceeds to step S7 to extract the extracted It is checked whether information corresponding to some CRC32 values of the diagnosis target file 110 exists in the bloom filter database 135a.
단계 S7의 검사 결과, 진단대상 파일(110)의 일부 CRC32 값과 파일 크기정보에 대응하는 정보가 블룸필터 데이터베이스(135a)에 존재하지 않으면(단계 S7=NO) 단계 S10으로 진행하여 이 파일을 정상파일로 판정하고 검사를 종료한다.As a result of the inspection in step S7, if information corresponding to some CRC32 values and file size information of the diagnosis target file 110 does not exist in the bloom filter database 135a (step S7 = NO), the process proceeds to step S10 and the file is normalized. It judges as a file and ends the inspection.
또, 진단대상 파일(110)의 일부 CRC32 값과 파일 크기정보가 블룸필터 데이터베이스(135a)에 존재하면(단계 S=YES) 단계 S8로 진행하며, 단계 S8에서 전처리 블룸필터(135)는 진단대상 파일(110)의 전체 해시 값을 추출하고, 추출된 전체 해시 값에 대응하는 정보가 블룸필터 데이터베이스(135a)에 존재하는가 여부를 확인한다.Further, if some CRC32 values and file size information of the diagnosis target file 110 exist in the bloom filter database 135a (step S=YES), the process proceeds to step S8, and in step S8, the preprocessing bloom filter 135 The entire hash value of the file 110 is extracted, and it is checked whether information corresponding to the extracted total hash value exists in the bloom filter database 135a.
단계 S9의 확인 결과 추출된 전체 해시 값이 블룸필터 데이터베이스(135a)에 존재하지 않으면 단계 S10으로 진행하여 그 파일을 정상파일로 판정하고 종료한다.If the total hash value extracted as a result of the confirmation in step S9 does not exist in the bloom filter database 135a, the process proceeds to step S10, the file is determined as a normal file, and ends.
또, 단계 S9의 확인 결과, 추출된 전체 해시 값에 대응하는 정보가 블룸필터 데이터베이스(135a)에 존재하면 전처리 블룸필터(135)는 그 파일은 악성코드 감염 의심파일로서 클라우드 서버(170)에 의한 악성코드 감염 여부 진단이 필요한 파일로 판정하고 단계 S11로 진행하며, 단계 S11에서 사용자 컴퓨터(130)의 진단 요청부(137)는 전처리 블룸필터(135)에 의해 악성코드 감염 의심파일로 판정된 파일의 전체 해시 값을 클라우드 서버(170)에 전송하여 악성코드 감염 여부 진단을 의뢰한다.In addition, as a result of confirming in step S9, if information corresponding to the extracted total hash value exists in the bloom filter database 135a, the pre-processing bloom filter 135 is a malicious code infection suspicious file and A file that is determined to be a file that needs to be diagnosed with malicious code infection and proceeds to step S11, and in step S11, the diagnosis request unit 137 of the user computer 130 is a file determined as a malicious code infection suspicious file by the preprocessing bloom filter 135 The entire hash value of is transmitted to the cloud server 170 to request diagnosis of malware infection.
추출된 진단대상 파일(110)의 일부 CRC32 값 및 파일 크기에 대응하는 정보와 전체 해시 값에 대응하는 정보가 블룸필터 데이터베이스(135a)에 존재하는가 여부의 확인은 앞에서 설명한 것과 동일하다.Confirmation of whether or not information corresponding to some CRC32 values and file sizes of the extracted diagnosis target file 110 and information corresponding to the total hash value exist in the bloom filter database 135a is the same as described above.
이상, 본 발명을 바람직한 실시형태에 의해 설명하였으나, 본 발명은 상기 실시형태에 한정되는 것은 아니며, 본 발명의 범위 내에서 다양한 변경 또는 변형이 가능함은 당연하다.As described above, the present invention has been described by preferred embodiments, but the present invention is not limited to the above embodiments, and it is natural that various changes or modifications are possible within the scope of the present invention.
예를 들어 상기 실시형태에서는 상기 일부 CRC32 값을 진단대상 파일(110)의 맨 앞쪽의 256바이트의 데이터와 맨 뒤쪽의 256바이트의 데이터로부터 추출한 4바이트의 CRC32 값으로 하고 있으나, 이에 한정되는 것은 아니며, 진단대상 파일(110)의 전체 파일 중 2개소 이상의 데이터로부터 추출한 CRC32 값으로 이루어지는 것이라면 어느 위치의 데이터로부터 추출한 것이라도 좋고, 또, 그 크기도 반드시 각각 256바이트로 한정되지는 않는다.For example, in the above embodiment, the partial CRC32 value is set as a CRC32 value of 4 bytes extracted from data of 256 bytes at the front and 256 bytes at the end of the diagnosis target file 110, but is not limited thereto. , As long as it consists of CRC32 values extracted from data at two or more of the entire files of the diagnosis target file 110, it may be extracted from data at any location, and the size is not necessarily limited to 256 bytes each.
또, 상기 실시형태에서는 해시 맵(HM)은 MD5 방식으로 추출한 각각 4바이트 단위의 4개의 MD5 파일에 대해 각각 시드 값 0을 적용해서 무어무어 해시 3 방식으로 맵핑하여 얻은 8메가바이트의 4개 파일로 이루어지는 비트맵으로 하고 있으나, 해시 값의 추출 및 맵핑은 반드시 MD5 방식 및 무어무어 해시 3에 한정되는 것은 아니며, 공지의 다른 방식을 이용해도 좋다.In addition, in the above embodiment, the hash map (HM) is 4 files of 8 megabytes obtained by mapping with the Moore Moore hash 3 method by applying a seed value of 0 to 4 MD5 files of 4 bytes each extracted by the MD5 method. Although it is a bitmap consisting of, the extraction and mapping of the hash value is not necessarily limited to the MD5 method and the Mooremoore hash 3, and other known methods may be used.
또, 상기 실시형태에서 설명한 전처리 화이트필터(133)에 의한 검사 결과 악성코드 감염이 의심되지 않는 정상파일로 판정된 경우에는 그때마다 정상파일로 판정된 파일의 파일 키 정보 및 파일정보를 캐시 데이터베이스(131a)에 추가하도록 해도 좋고, 또, 상기 실시형태에서 설명한 전처리 블룸필터(135)에 의한 검사 결과 악성코드 감염이 의심되지 않는 정상파일로 판정된 파일에 대해서도 동일하다.In addition, when it is determined that a malicious code infection is not suspected as a normal file as a result of the inspection by the preprocessing white filter 133 described in the above embodiment, the file key information and file information of the file determined as a normal file are stored in a cache database ( It may be added to 131a), and the same applies to a file determined as a normal file for which malicious code infection is not suspected as a result of the inspection by the preprocessing bloom filter 135 described in the above embodiment.
{부호의 설명}{Explanation of sign}
100 악성코드 진단시스템100 Malware Diagnosis System
110 진단대상 파일110 File to be diagnosed
130 사용자 컴퓨터130 user computers
131 진단 캐시131 diagnostic cache
131a 캐시 데이터베이스131a cache database
133 전처리 화이트필터133 Pretreatment White Filter
133a 화이트패턴 데이터베이스133a white pattern database
135 전처리 블룸필터135 Pretreatment Bloom Filter
135a 블룸필터 데이터베이스135a Bloom Filter Database
170 클라우드 서버170 Cloud Server
190 진단패턴 업데이트 서버190 diagnostic pattern update server

Claims (13)

  1. 사용자 컴퓨터에 설치되어서, 사용자 컴퓨터가 클라우드 서버에 악성코드 감염 여부 진단을 의뢰하기 전에, 진단대상 파일이 악성코드의 감염이 의심되지 않는 정상파일인가 여부를 검사하는 악성코드 진단장치로,This is a malicious code diagnosis device that is installed on the user's computer and checks whether the file to be diagnosed is a normal file that is not suspicious of malicious code infection before the user computer requests the cloud server to diagnose malicious code infection.
    진단대상 파일에서 추출한 파일 키 정보와 파일정보로부터 당해 진단대상 파일이 상기 정상파일인가 여부를 검사하는 진단 캐시와,A diagnostic cache for checking whether the diagnostic target file is the normal file from the file key information and the file information extracted from the diagnostic target file;
    상기 진단대상 파일 중 상기 진단 캐시가 정상파일이 아닌 것으로 판정한 파일에서 추출한 파일 경로, 파일 크기 및 파일 해시 값으로부터 그 파일이 상기 정상파일인가 여부를 검사하는 전처리 화이트필터와,A pre-processing white filter for checking whether the file is the normal file from the file path, file size, and file hash value extracted from the file that the diagnosis cache is determined to be not a normal file among the files to be diagnosed;
    상기 진단대상 파일 중 상기 전처리 화이트필터가 정상파일이 아닌 것으로 판정한 파일에서 추출한 일부 CRC32 값, 파일 크기정보 및 파일 해시 값으로부터 그 파일이 상기 정상파일인가 여부를 검사하는 전처리 블룸필터를 포함하는 악성코드 진단장치.Malware including a pre-processed bloom filter that checks whether the file is the normal file from some CRC32 values, file size information, and file hash values extracted from files that are determined to be non-normal files among the diagnosis target files Code diagnosis device.
  2. 청구항 1에 있어서,The method according to claim 1,
    상기 악성코드 진단장치는 이전에 악성코드 감염 여부 진단이 이루어진 파일의 파일정보와 함께 악성코드에 감염되지 않은 파일의 파일 키 정보를 캐시 데이터베이스에 보유하고 있고,The malicious code diagnosis device holds in a cache database file key information of a file that has not been infected with malicious code along with file information of a file for which a malicious code infection has been diagnosed previously,
    상기 진단 캐시는,The diagnostic cache,
    상기 진단대상 파일에서 추출한 파일 키 정보가 상기 캐시 데이터베이스에 있으면 그 진단대상 파일의 파일정보의 변조 여부를 검사하며,If the file key information extracted from the file to be diagnosed is in the cache database, it is checked whether the file information of the file to be diagnosed is altered,
    검사 결과 파일정보가 변조되지 않았으면 그 파일을 정상파일로 판정하는 악성코드 진단장치.Malware diagnosis device that determines the file as a normal file if the file information is not altered as a result of the scan.
  3. 청구항 1에 있어서,The method according to claim 1,
    상기 악성코드 진단장치는 이전에 이루어진 악성코드 감염 여부 진단결과 악성코드에 감염되지 않은 것으로 진단된 파일의 파일 경로와 파일 크기 및 파일의 전체 해시 값에 관한 정보를 화이트패턴 데이터베이스에 보유하고 있고,The malicious code diagnosis device retains information on the file path, file size, and total hash value of a file diagnosed as not infected by malicious code as a result of a previously performed malicious code infection diagnosis in a white pattern database,
    상기 전처리 화이트필터는 상기 진단대상 파일 중 상기 진단 캐시가 정상파일이 아닌 것으로 판정한 파일에서 추출한 파일 경로와 파일 크기 및 전체 해시 값에 대응하는 파일이 상기 화이트패턴 데이터베이스에 있으면 그 파일을 정상파일로 판정하는 악성코드 진단장치.The pre-processing white filter converts the file to a normal file if a file corresponding to a file path, file size, and total hash value extracted from a file that is determined to be a non-normal file among the diagnosis target files is in the white pattern database. Malware diagnosis device to determine.
  4. 청구항 1에 있어서,The method according to claim 1,
    상기 악성코드 진단장치는 이전에 이루어진 악성코드 감염 여부 진단결과 악성코드에 감염된 것으로 진단된 파일의 일부 CRC32 값과 파일 크기정보로부터 작성된 비트맵 형태의 CRC 맵과 파일의 전체 해시 값으로부터 작성된 비트맵 형태의 해시 맵으로 이루어지는 악성코드정보를 블룸필터 데이터베이스에 보유하고 있고,The malware diagnosis device is in the form of a bitmap created from a CRC map in the form of a bitmap created from some CRC32 values and file size information of a file diagnosed as infected with a malicious code as a result of a previously performed malware infection diagnosis, and a bitmap form created from the entire hash value of the file. It holds malicious code information consisting of hash maps of the bloom filter database,
    상기 전처리 블룸필터는,The pretreatment bloom filter,
    상기 진단대상 파일 중 상기 전처리 화이트필터가 정상파일이 아닌 것으로 판정한 파일에서 추출한 일부 CRC32 값과 파일 크기정보를 이용하여 비트맵화 한 값이 상기 CRC 맵에 없으면 그 파일을 정상 파일로 판정하고,If a bitmapped value using some CRC32 values and file size information extracted from a file that is determined to be a non-normal file among the diagnosis target files is not in the CRC map, the file is determined as a normal file,
    상기 전처리 화이트필터가 정상파일이 아닌 것으로 판정한 파일에서 추출한 일부 CRC32 값과 파일 크기정보를 이용하여 비트맵화 한 값이 상기 CRC 맵에 있어서 정상 파일이 아닌 것으로 판정된 경우, 당해 정상 파일이 아닌 것으로 판정된 파일의 전체 해시 값을 이용하여 비트맵화 한 값이 상기 해시 맵에 없으면 그 파일을 정상 파일로 판정하는 악성코드 진단장치.When it is determined that the bitmapped value using some CRC32 values and file size information extracted from the file determined by the preprocessing white filter as not being a normal file is not a normal file in the CRC map, the file is not considered a normal file. A malicious code diagnosis device that determines a file as a normal file if the bitmapped value by using the entire hash value of the determined file is not in the hash map.
  5. 청구항 4에 있어서,The method of claim 4,
    일부 CRC32 값은 진단대상 파일의 맨 앞쪽의 일부 데이터 및 맨 뒤쪽의 일부 데이터의 합계 데이터로부터 추출한 CRC32 값이고,Some CRC32 values are CRC32 values extracted from the sum data of some data at the top and some data at the end of the file to be diagnosed.
    상기 CRC 맵은 이전의 진단과정에서 악성코드에 감염된 것으로 진단된 파일로부터 추출한 상기 CRC32 값에 시드 값 0을 적용하여 무어무어 해시 3을 적용하여 작성된 비트맵과 상기 CRC32 값에 시드 값으로 파일 크기정보를 적용하여 무어무어 해시 3 방식으로 작성된 비트맵으로 구성되는 악성코드 진단장치.The CRC map is a bitmap created by applying a seed value of 0 to the CRC32 value extracted from a file diagnosed as infected with a malicious code in the previous diagnosis process and applying a Moore Moore hash 3 and file size information as a seed value to the CRC32 value. Malware diagnosis device consisting of bitmaps created in the Moore Moore hash 3 method by applying.
  6. 청구항 4에 있어서,The method of claim 4,
    상기 해시 맵은 이전의 진단과정에서 악성코드에 감염된 것으로 진단된 파일로부터 MD5 방식으로 추출한 4개의 MD5 파일에 각각 시드 값 0을 적용해서 무어무어 해시 3 방식으로 작성된 비트맵인 악성코드 진단장치.The hash map is a malware diagnosis device that is a bitmap created in a Moore Moore hash 3 method by applying a seed value of 0 to each of the four MD5 files extracted in the MD5 method from the file diagnosed as infected with the malicious code in the previous diagnosis process.
  7. 청구항 1에 있어서,The method according to claim 1,
    상기 악성코드 진단장치는 상기 전처리 블룸필터가 정상파일이 아닌 것으로 판정한 파일을 상기 클라우드 서버로 전송하여 악성코드 감염 여부 진단을 의뢰하는 악성코드 진단장치.The malicious code diagnosis device transmits a file determined by the preprocessing bloom filter as not a normal file to the cloud server to request diagnosis of malicious code infection.
  8. 사용자 컴퓨터에 설치되어서, 사용자 컴퓨터가 클라우드 서버에 악성코드 감염 여부 진단을 의뢰하기 전에, 진단대상 파일이 악성코드의 감염이 의심되지 않는 정상파일인가 여부를 검사하는 악성코드 진단장치에 의한 악성코드 진단방법으로,Malware diagnosis by a malicious code diagnosis device that is installed on the user's computer and checks whether the file to be diagnosed is a normal file that is not suspicious of malicious code infection before the user computer requests the cloud server to diagnose malicious code infection. Way,
    진단대상 파일에서 추출한 파일 키 정보와 파일정보로부터 당해 진단대상 파일이 상기 정상파일인가 여부를 검사하는 단계 a)와,Step a) of checking whether the diagnosis target file is the normal file from the file key information and the file information extracted from the diagnosis target file;
    상기 단계 a)에서 정상파일이 아닌 것으로 판정한 파일에서 추출한 파일 경로, 파일 크기 및 파일 해시 값으로부터 그 파일이 상기 정상파일인가 여부를 검사하는 단계 b)와,Step b) of checking whether the file is the normal file from the file path, file size, and file hash value extracted from the file determined to be not a normal file in step a); and
    상기 단계 b)에서 정상파일이 아닌 것으로 판정한 파일에서 추출한 일부 CRC32 값, 파일 크기정보 및 파일 해시 값으로부터 그 파일이 상기 정상파일인가 여부를 검사하는 단계 c)를 포함하는 악성코드 진단방법.And step c) of checking whether the file is the normal file from some CRC32 values, file size information, and file hash values extracted from the file determined as not being a normal file in step b).
  9. 청구항 8에 있어서,The method of claim 8,
    상기 사용자 컴퓨터는 이전에 악성코드 감염 여부 진단이 이루어진 파일의 파일정보와 함께 악성코드에 감염되지 않은 파일의 파일 키 정보를 캐시 데이터베이스에 보유하고 있고,The user computer holds the file key information of the file not infected with the malicious code in the cache database along with the file information of the file for which the malware infection has been diagnosed previously,
    상기 단계 a)에서는,In step a),
    상기 진단대상 파일에서 추출한 파일 키 정보가 상기 캐시 데이터베이스에 있으면 그 진단대상 파일의 파일정보의 변조 여부를 검사하고,If the file key information extracted from the diagnosis target file is in the cache database, it is checked whether the file information of the diagnosis target file is altered,
    검사 결과 파일정보가 변조되지 않았으면 그 파일을 정상파일로 판정하는 악성코드 진단방법.Malware diagnosis method that determines the file as a normal file if the file information is not altered as a result of the scan.
  10. 청구항 8에 있어서,The method of claim 8,
    상기 사용자 컴퓨터는 이전에 이루어진 악성코드 감염 여부 진단결과 악성코드에 감염되지 않은 것으로 진단된 파일의 파일 경로와 파일 크기 및 파일의 전체 해시 값에 관한 정보를 화이트패턴 데이터베이스에 보유하고 있고,The user computer holds information on the file path, file size, and total hash value of the file diagnosed as not infected by the malicious code as a result of the previously performed malicious code infection diagnosis in the white pattern database,
    상기 단계 b)에서는 상기 진단대상 파일 중 상기 단계 a)에서 정상파일이 아닌 것으로 판정한 파일에서 추출한 파일 경로와 파일 크기 및 전체 해시 값에 대응하는 파일이 상기 화이트패턴 데이터베이스에 있으면 그 파일을 정상파일로 판정하는 악성코드 진단방법.In step b), if a file corresponding to a file path, file size, and total hash value extracted from a file determined as not a normal file in step a) among the files to be diagnosed is in the white pattern database, the file is saved as a normal file. Malware diagnosis method determined by
  11. 청구항 8에 있어서,The method of claim 8,
    상기 사용자 컴퓨터는 이전에 이루어진 악성코드 감염 여부 진단결과 악성코드에 감염된 것으로 진단된 파일의 일부 CRC32 값과 파일 크기정보로부터 작성된 비트맵 형태의 CRC 맵과 파일의 전체 해시 값으로부터 작성된 비트맵 형태의 해시 맵으로 이루어지는 악성코드정보를 블룸필터 데이터베이스에 보유하고 있고,The user computer is a bitmap-type hash created from a bitmap-type CRC map created from some CRC32 values and file size information of a file diagnosed as infected with a malicious code as a result of a previously performed malware infection diagnosis result, and a bitmap-type hash created from the entire hash value of the file. Malicious code information consisting of maps is held in the Bloom Filter database,
    상기 단계 c)에서는,In step c),
    상기 진단대상 파일 중 상기 단계 b)에서 정상파일이 아닌 것으로 판정한 파일에서 추출한 일부 CRC32 값과 파일 크기정보를 이용하여 비트맵화 한 값이 상기 CRC 맵에 없으면 그 파일을 정상 파일로 판정하고,If a bitmapped value using some CRC32 values and file size information extracted from the files determined to be non-normal in step b) among the diagnosis target files is not in the CRC map, the file is determined as a normal file,
    상기 단계 b)에서 정상파일이 아닌 것으로 판정한 파일에서 추출한 일부 CRC32 값과 파일 크기정보를 이용하여 비트맵화 한 값이 상기 CRC 맵에 있어서 정상 파일이 아닌 것으로 판정된 경우, 당해 정상 파일이 아닌 것으로 판정된 파일의 전체 해시 값을 이용하여 비트맵화 한 값이 상기 해시 맵에 없으면 그 파일을 정상 파일로 판정하는 악성코드 진단방법.If it is determined that the bitmapped value using the partial CRC32 value and file size information extracted from the file determined to be not a normal file in step b) is not a normal file in the CRC map, it is determined that the file is not a normal file. A method for diagnosing malicious code in which if a bitmapped value by using the entire hash value of the determined file is not in the hash map, the file is determined as a normal file.
  12. 청구항 8에 있어서,The method of claim 8,
    진단대상 파일 중 상기 단계 c)에서 정상파일이 아닌 것으로 판정한 파일을 상기 클라우드 서버로 전송하여 악성코드 감염 여부 진단을 의뢰하는 단계 d)를 더 포함하는 악성코드 진단방법.A method for diagnosing malicious code, further comprising step d) of requesting diagnosis of malicious code infection by transmitting a file determined to be non-normal in step c) among the files to be diagnosed to the cloud server.
  13. 청구항 1 내지 7 중 어느 한 항의 악성코드 진단장치를 구비하는 사용자 컴퓨터와,A user computer provided with the malicious code diagnostic device of any one of claims 1 to 7,
    상기 사용자 컴퓨터와 통신망을 통해서 통신 가능하게 접속되며, 상기 사용자 컴퓨터로부터 의뢰된 파일의 악성코드 감염 여부를 진단하는 클라우드 서버를 포함하는 악성코드 진단시스템.A malicious code diagnosis system comprising a cloud server that is connected to the user computer and communicates through a communication network and diagnoses whether a file requested from the user computer is infected with a malicious code.
PCT/KR2019/003218 2019-03-20 2019-03-20 Diagnosis apparatus, diagnosis method, and diagnosis system for malicious code in cloud environment WO2020189822A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2019/003218 WO2020189822A1 (en) 2019-03-20 2019-03-20 Diagnosis apparatus, diagnosis method, and diagnosis system for malicious code in cloud environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/KR2019/003218 WO2020189822A1 (en) 2019-03-20 2019-03-20 Diagnosis apparatus, diagnosis method, and diagnosis system for malicious code in cloud environment

Publications (1)

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

Family

ID=72520949

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/003218 WO2020189822A1 (en) 2019-03-20 2019-03-20 Diagnosis apparatus, diagnosis method, and diagnosis system for malicious code in cloud environment

Country Status (1)

Country Link
WO (1) WO2020189822A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100116392A (en) * 2009-04-22 2010-11-01 주식회사 안철수연구소 Method and apparatus for longtime-maintaining reexamination protecting information for malicious code, and computer readable recording medium containing program thereof
KR101256461B1 (en) * 2012-09-03 2013-04-19 주식회사 안랩 Apparatus and method for detecting start point of process
KR101473658B1 (en) * 2013-05-31 2014-12-18 주식회사 안랩 Apparatus and system for detecting malicious code using filter and method thereof
KR20170087007A (en) * 2016-01-19 2017-07-27 삼성전자주식회사 Electronic Apparatus for detecting Malware and Method thereof
KR20190020998A (en) * 2017-08-22 2019-03-05 주식회사 하우리 Apparatus, method and system for detecting malicious code

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100116392A (en) * 2009-04-22 2010-11-01 주식회사 안철수연구소 Method and apparatus for longtime-maintaining reexamination protecting information for malicious code, and computer readable recording medium containing program thereof
KR101256461B1 (en) * 2012-09-03 2013-04-19 주식회사 안랩 Apparatus and method for detecting start point of process
KR101473658B1 (en) * 2013-05-31 2014-12-18 주식회사 안랩 Apparatus and system for detecting malicious code using filter and method thereof
KR20170087007A (en) * 2016-01-19 2017-07-27 삼성전자주식회사 Electronic Apparatus for detecting Malware and Method thereof
KR20190020998A (en) * 2017-08-22 2019-03-05 주식회사 하우리 Apparatus, method and system for detecting malicious code

Similar Documents

Publication Publication Date Title
WO2012091400A1 (en) System and method for detecting malware in file based on genetic map of file
WO2013089340A1 (en) Apparatus and method for detecting similarity between applications
WO2015056885A1 (en) Detection device and detection method for malicious android application
WO2016088937A1 (en) Apparatus, system and method for detecting and preventing malicious scripts using code pattern-based static analysis and api flow-based dynamic analysis
WO2014035043A1 (en) Apparatus and method for diagnosing malicious applications
WO2018182126A1 (en) System and method for authenticating safe software
WO2013077538A1 (en) Device and method for analyzing api-based application
WO2018056601A1 (en) Device and method for blocking ransomware using contents file access control
WO2011090329A2 (en) Apparatus, system, and method for preventing infection by malicious code
WO2019231122A1 (en) Electronic device detecting software vulnerability and method for operating same
WO2014088262A1 (en) Apparatus and method for detecting fraudulent/altered applications
WO2013100320A1 (en) System, user terminal, method, and apparatus for protecting and recovering system file.
WO2010123261A2 (en) Network-based malicious code diagnosis method and diagnosis server
KR102042045B1 (en) Apparatus, method and system for detecting malicious code
WO2024071451A1 (en) Method for detecting malicious macro in non-executable file by using ocr technology, and apparatus therefor
WO2022107964A1 (en) Adjacent-matrix-based malicious code detection and classification apparatus and malicious code detection and classification method
WO2017131355A1 (en) Device for self-defense security based on system environment and user behavior analysis, and operating method therefor
WO2021125517A1 (en) Dedicated artificial intelligence system
WO2012091341A1 (en) Method and apparatus for detecting a malware in files
WO2014010847A1 (en) Apparatus and method for diagnosing malicious applications
WO2020096262A1 (en) Electronic device, method for providing personal information using same, and computer-readable recording medium for recording same
WO2019225849A1 (en) Security device and method for providing security service through control of file input/output and integrity of guest operating system
WO2014077615A1 (en) Anti-malware system, method of processing packet in the same, and computing device
WO2020189822A1 (en) Diagnosis apparatus, diagnosis method, and diagnosis system for malicious code in cloud environment
WO2019093755A1 (en) System and method for font copyright protection

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: 19919726

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: 19919726

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 19.04.2022)

122 Ep: pct application non-entry in european phase

Ref document number: 19919726

Country of ref document: EP

Kind code of ref document: A1