WO2018212610A1 - Malicious code diagnosis server, system, and method - Google Patents

Malicious code diagnosis server, system, and method Download PDF

Info

Publication number
WO2018212610A1
WO2018212610A1 PCT/KR2018/005672 KR2018005672W WO2018212610A1 WO 2018212610 A1 WO2018212610 A1 WO 2018212610A1 KR 2018005672 W KR2018005672 W KR 2018005672W WO 2018212610 A1 WO2018212610 A1 WO 2018212610A1
Authority
WO
WIPO (PCT)
Prior art keywords
file
information
diagnosis
malicious code
diagnostic
Prior art date
Application number
PCT/KR2018/005672
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 주식회사 안랩
Publication of WO2018212610A1 publication Critical patent/WO2018212610A1/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Definitions

  • the present invention relates to a malicious code diagnosis server, a system and a method, and more particularly, to a malicious code diagnosis server, a system and a method for providing a diagnosis result when a client terminal requests a malicious code diagnosis.
  • the malware diagnosis service for a client terminal is divided into a method of performing a diagnosis by installing a diagnosis engine on each client terminal and a method in which a plurality of client terminals request a diagnosis from a malicious code diagnosis server and receive a diagnosis result.
  • a method of requesting a diagnosis from a malicious code diagnosis server by a plurality of client terminals has an advantage of using less computing resources from the viewpoint of the client terminal.
  • the diagnosis rate is slower than a method of directly performing diagnosis by the client terminal.
  • the malicious code diagnosis server reads the file for diagnosing a file for which the client terminal requests a diagnosis, I / O occurs and thus slows down the diagnosis.
  • the problem to be solved in the embodiment of the present invention is to provide a technique for performing a faster diagnosis in using a method for requesting a diagnosis to the malicious code diagnosis server a plurality of client terminals.
  • the malware diagnosis server is intended to provide a technique for generating less I / O in performing the diagnosis at the request of the client terminal.
  • the malicious code diagnosis server is a communication unit for receiving the file information including the hash data of the file stored in each client terminal and the metadata of the file from each of the plurality of client terminals, the reception A file information configuration unit for grouping file information having the same hash data among one file information, a file information storage unit for mapping and storing diagnostic information of a file corresponding to the grouped file information together with the grouped file information, and the plurality of file information storage units Upon receiving a request for diagnosing a malicious code from a first client terminal among the client terminals of the client terminal, search for file information including metadata identical to metadata of a file for which the first client requests diagnosis, among the stored file information, and retrieve the file information. Diagnostic information to query diagnostic information mapped to Depending on the inquiry section, and the diagnostic information includes a diagnosis query is determined whether to determine whether the infection diagnosis for the file.
  • the file information stored by each client terminal is received when a predetermined event occurs, and the predetermined event receives a use registration request of a malicious code diagnostic service provided by the malicious code diagnosis server from each client terminal. It may be a first request to diagnose the malicious code from each of the client terminal.
  • the metadata of the file may include identification information of the client terminal that has transmitted the file information, location information of the file stored in the client terminal which has transmitted the file information, and a modification time of the file.
  • the diagnosis determining unit transmits the mapped diagnostic information to the first client without performing a malicious code diagnosis on a file requested by the first client. can do.
  • the diagnosis whether determiner performs a malicious code diagnosis on the file requested by the first client may be stored in the file information storage unit.
  • the diagnosis whether determiner performs a malicious code diagnosis on a file for which the first client requests a diagnosis, and diagnoses the diagnosis information of the diagnosed file as the retrieved file.
  • the information may be mapped and stored in the file information storage unit.
  • the diagnosis whether determiner may transmit diagnostic information about the files diagnosed as malicious to the plurality of client terminals through the communication unit when the file requested by the first client is diagnosed as malicious.
  • the malicious code diagnosis system includes the plurality of client terminals and the file information that transmit file information including hash data of a stored file and metadata of the file to the malicious code diagnosis server. Receives a group of the file information having the same hash data among the received file information, and grouping and storing the diagnostic information of the file corresponding to the grouped file information with the grouped file information, the plurality of client terminals Upon receiving a request for diagnosing a malicious code from a first client terminal, among the stored file information, file information including metadata identical to metadata of a file requested for diagnosis by the first client terminal is searched for, and the searched file information is searched for. Evil against the file based on mapped diagnostic information It may contain malicious code, diagnose server to determine whether the diagnosis code.
  • a method for diagnosing a malicious code comprising: receiving, from each of a plurality of client terminals, hash information of a file stored in each client terminal and file information including metadata of the file; Grouping file information having the same hash data among the received file information, mapping and storing diagnostic information of a file corresponding to the grouped file information together with the grouped file information, and among the plurality of client terminals 1
  • search for file information including metadata identical to metadata of a file for which the first client requests diagnosis from among the stored file information, and diagnosis information mapped to the retrieved file information.
  • Querying and in the query information La comprises the step of determining whether the infection diagnosis for the file.
  • the file information stored by each client terminal is received when a predetermined event occurs, and the predetermined event receives a use registration request of a malicious code diagnostic service provided by the malicious code diagnosis server from each client terminal. It may be a first request to diagnose the malicious code from each of the client terminal.
  • the metadata of the file may include identification information of the client terminal that has transmitted the file information, location information of the file stored in the client terminal which has transmitted the file information, and a modification time of the file.
  • the determining of whether to diagnose the malicious code comprises, when there is diagnostic information mapped to the retrieved file information, the mapped diagnostic information is not provided without performing a malicious code diagnosis on the file requested by the first client. And transmitting to the first client.
  • the determining of whether to diagnose the malicious code comprises: when there is no file information including the same metadata as the metadata of the file requested by the first client, the first client diagnoses the malicious code as malicious. And performing code diagnosis and storing hash data of the diagnosed file, metadata of the diagnosed file, and diagnostic information of the diagnosed file.
  • the determining of whether to diagnose the malicious code comprises: when there is no diagnostic information mapped to the searched file information, performing a malicious code diagnosis on a file requested by the first client and a diagnosis of the diagnosed file. Mapping and storing diagnostic information to the retrieved file information.
  • the determining of whether to diagnose the malicious code may further include transmitting diagnostic information of the file diagnosed as malicious to the plurality of client terminals when the file requested by the first client is diagnosed as malicious. Can be.
  • diagnostic information between client terminals can be shared with each other, thereby enabling faster diagnosis by preventing duplication of diagnosis of a file for which diagnosis has already been performed.
  • the client terminal uses metadata that does not generate I / O in determining whether the file for which the client terminal has requested the diagnosis is a file that has been diagnosed, the quick diagnosis is minimized by minimizing the computing resources used by the malware diagnosis server. Can be done.
  • the present invention is effective in preventing I / O storm due to simultaneous file checking of guest OSs in a virtual machine environment.
  • FIG. 1 is a block diagram of a malicious code diagnosis system according to an embodiment of the present invention.
  • FIG. 2 is a functional block diagram of a malicious code diagnostic server according to an embodiment of the present invention.
  • 3A and 3B are exemplary views of file information grouped according to an embodiment of the present invention.
  • FIG. 4 is an exemplary view for explaining that the malicious code diagnostic server according to an embodiment of the present invention transmits diagnostic information to a plurality of client terminals when the malicious code is diagnosed.
  • FIG. 5 is a flowchart illustrating a process of a malicious code diagnosis method according to an embodiment of the present invention.
  • FIG. 6 is a flowchart illustrating a detailed process of determining whether malicious code is diagnosed in step S560 illustrated in FIG. 5.
  • an expression such as 'first' and 'second' is used only for distinguishing a plurality of components, and does not limit the order or other features between the components.
  • FIG. 1 is a block diagram of a malicious code diagnosis system according to an embodiment of the present invention.
  • a malicious code diagnosis system includes a plurality of client terminals 100 and a malicious code diagnosis server 200.
  • Malicious code is a generic term for all software that may adversely affect a computer, such as malicious software or malware, and various computer viruses, spyware, adware, and fake vaccines are examples.
  • the client terminal 100 requests the malicious code diagnosis server 200 to diagnose the malicious code with respect to the file stored therein, and the malicious code diagnosis server 200 diagnoses the malicious code according to the request of the client terminal 100. After performing a diagnosis on a file stored by the client terminal 100 through a diagnosis engine held by the server 200, the diagnosis result is provided.
  • the plurality of client terminals 100 and the malicious code diagnosis server 200 may transmit and receive data to and from each other through a communication network.
  • the communication network may be a wired communication network such as a LAN or a wireless communication network such as CDMA, 3G, 4G, or LTE-A, but is not limited thereto.
  • the conventional method of requesting a plurality of client terminals to diagnose the malicious code diagnosis server has the advantage of using less computing resources from the viewpoint of the client terminal, but the diagnostic speed is higher than that of the client terminal to perform the diagnosis directly.
  • the disadvantage is slow.
  • the malicious code diagnosis server reads the file for diagnosing the file requested by the client terminal, I / O is generated, which causes a large consumption of computing resources in the malicious code diagnosis server.
  • each of the plurality of client terminals 100 in the malicious code diagnosis system has a hash data and a file meta data of a file stored at a predetermined event or periodically.
  • the file information including the data is transmitted to the malicious code diagnosis server 200, and the malicious code diagnosis server 200 has already performed a diagnosis on the file based on the file information received from the client terminal 100.
  • Inquiries can be made to perform faster diagnosis by omitting duplicate diagnosis for files that have already been diagnosed.
  • Figure 2 will be described a specific embodiment for preventing the duplicate diagnosis for the same file in the malicious code diagnostic server 200 according to an embodiment of the present invention.
  • FIG. 2 is a functional block diagram of a malicious code diagnostic server 200 according to an embodiment of the present invention.
  • the malicious code diagnosis server 200 may include a communication unit 210, a file information configuration unit 220, a file information storage unit 230, and a diagnostic information inquiry unit ( 240 and a diagnosis unit 250.
  • the communication unit 210 receives file information including hash data of a file stored in the client terminal 100 and metadata of a file. To this end, the communication unit 210 may include a communication module for exchanging data with the client terminal 100.
  • the file information received from the client terminal 100 determines whether a diagnosis has already been performed on a file requested by a specific client terminal (for example, 100a of FIG. 1) to prevent duplicate diagnosis of the same file. Used to Therefore, receiving the file information from each client terminal 100 may be performed periodically, or may be made only when a predetermined event occurs.
  • the predetermined event may be, for example, when the client terminal 100 requests the malicious code diagnosis server 200 to use the malicious code diagnosis service or when the client terminal 100 requests the malware diagnosis for the first time. It may be, but is not limited thereto.
  • the file information configuration unit 220 groups file information having the same hash data with respect to file information received from the plurality of client terminals 100. Accordingly, the file information storage unit 230 maps the diagnostic information of the file corresponding to the grouped file information together with the grouped file information and stores the diagnostic information of the file in the file information storage unit 230 to be described later.
  • the file information configuration unit 220 has the same hash data. Add the received file information to the group containing the file information.
  • the diagnostic information of the group is already mapped to 'normal' or 'malignant', the diagnostic information of the newly added file information is also mapped in the same way as the diagnostic information of the group.
  • the hash data is data generated through an algorithm for mapping a specific file to fixed length data.
  • algorithms for generating such hash data include MD5, SHA-256, and CRC-32.
  • the file information storage unit 230 may store and store file information received from different client terminals 100 based on the same hash data (CRC: 7be0ce54bf2a59df).
  • each client The file information sent by the terminal 100 is metadata of the corresponding file, and may include, for example, identification information of the client terminal 100, location information of a file stored in the client terminal 100, a modification time of the file, and the like. .
  • the grouped file information may share a diagnosis result of a file corresponding to one file information. That is, file information received from each client terminal mapped based on the same hash data may be stored by mapping diagnostic information of a file corresponding to the corresponding hash data.
  • the diagnostic information may not be mapped as shown in FIG. 3A, and at least one client terminal with respect to the grouped file information. If the malicious code diagnosis has been performed according to the request of 100, as shown in FIG. 3B, diagnostic information meaning 'normal' or 'malicious' may be mapped to and stored in the grouped file information.
  • the diagnostic information inquiry unit 240 receives a request for diagnosing a malicious code from the first client terminal 100a which is one of the plurality of client terminals 100 included in the malicious code diagnosis system, for example, the first client terminal ( Prior to diagnosing malicious code for 100a), it is inquired whether the first client terminal 100a stores already diagnosed information about a file for requesting diagnosis.
  • the diagnostic information inquiry unit 240 inquires whether the information corresponding to the file for which the first client terminal 100a requests diagnosis is stored in the file information storage unit 230. In this case, the diagnostic information inquiry unit 240 uses the metadata of the file requesting the diagnosis without using the first client terminal 100a to read the file for requesting the diagnosis, and uses the file information storage unit 230 to provide the corresponding file information. ) Does not generate I / O.
  • the diagnostic information inquiry unit 240 inquires the diagnostic information mapped to the file information including the same metadata as the metadata of the file requested by the first client among the file information stored in the file information storage unit 230. do.
  • the metadata of the file requested by the first client terminal 100a for diagnosis is metadata of the file information stored in the file information storage unit 230, for example, identification information of the client terminal, the client terminal. Search for location information where the file is stored and file information with the same modification time. Thus, if there is file information having the same metadata, the diagnostic information mapped to the file information is inquired.
  • the diagnosis determiner 250 determines whether to perform a malicious code diagnosis on the file requested by the first client terminal 100a based on the diagnosis information queried by the diagnosis information inquiry unit 240. Accordingly, the diagnosis determination unit 250 may not detect the metadata of the file that has been requested for diagnosis at all, or if the diagnostic information is not stored even if the metadata of the file that has been requested for the search is retrieved, the malicious information regarding the file may be malicious. Code diagnostics can be performed.
  • the diagnosis determination unit 250 performs malicious code diagnosis on the file, and hashes and diagnoses the file.
  • the metadata and the diagnostic information of the diagnosed file may be newly stored in the file information storage unit 230.
  • the content of the file may or may not be changed.
  • the hash data is changed. Therefore, when the metadata of the file for which the diagnosis is requested is changed, the diagnosis whether determiner 250 first performs malicious code diagnosis on the file. If the content of the file is changed, the file information configuration unit 220 groups the file information of the file for which the diagnosis is requested in a group including a file having the same hash data as the changed hash data and newly performed a diagnosis result. The diagnostic information of the file obtained by sharing is shared. In addition, the file information and the diagnostic information are stored in the file information storage unit 230.
  • file information (hash data and metadata) and diagnostic information of the diagnosed file are newly stored in the file information storage unit 230.
  • the file information configuration unit 220 adds file information of the file requesting diagnosis to the group including the same hash data, and diagnoses the file by the diagnosis determination unit 250. Share diagnostic information with other file information in the group. For example, if the diagnostic information is not stored in the group, the file information configuring unit 220 maps the performed diagnosis result to the group and stores the diagnostic information in the file information storage unit 230.
  • the file information construction unit 220 updates the stored diagnostic information with the diagnostic information obtained by the newly performed diagnosis result and stores the diagnostic information in the file information storage unit 230. . That is, when a diagnosis occurs, regardless of the previous diagnosis result, it is updated with the current diagnosis information, and the updated diagnosis information is shared in a group having the same hash data.
  • the file information storage unit 230 stores the diagnostic information determined by performing malicious code diagnosis on the file. If the diagnosis result is mapped to the grouped file information corresponding to the corresponding file stored in the file, the diagnosis result may be stored. If the diagnosis information is mapped to the retrieved file information as shown in FIG. The first client terminal 100 may be notified of the mapped diagnostic information without performing the diagnosis.
  • the diagnostic determination unit 250 notifies the first client only the diagnostic information of the file if the diagnosis file is determined to be normal, but if the diagnosis file is determined to be malicious, all clients of the malware diagnosis system as shown in FIG.
  • the diagnostic information on the diagnosed file may be shared with the terminal 100 to delete the corresponding file.
  • the diagnostic information transmitted to all client terminals may include hash data or metadata of the corresponding file, for example, a path of the corresponding file, and the like so that the client terminal 100 receiving the diagnostic information may specify the corresponding file. have.
  • the malicious code diagnostic server 200 may be implemented in a distributed manner over a network, such as a server farm, or may be implemented as a single computer device.
  • the file information configuration unit 220, the diagnostic information inquiry unit 240, and the diagnosis whether determiner 250 included in the above-described embodiment may include a memory including instructions programmed to perform their functions, and these instructions. It may be implemented by a computing device including a microprocessor to perform.
  • FIG. 5 is a flowchart illustrating a process of a malicious code diagnosis method according to an embodiment of the present invention. Each step of the malicious code diagnosis method according to FIG. 5 may be performed by the malicious code diagnosis server 200 described with reference to FIG. 2.
  • the malicious code diagnosis server 200 stores the hash data of the file stored in the client terminal 100 and the metadata of the file when a predetermined event occurs or periodically from each of the client terminals 100a, 100b, and 100c. Receive file information to be included (S510).
  • the malicious code diagnosis server 200 groups the file information having the same hash data among the received file information (S520), maps and stores the diagnostic information of the file corresponding to the grouped file information together with the grouped file information. (S530).
  • the malicious code diagnosis server 200 receives a request for diagnosing malicious code from the first client terminal 100a among the plurality of client terminals 100 (S540), the first client terminal 100a of the stored file information performs diagnosis.
  • the diagnostic information mapped to the file information including the same metadata as the metadata of the requested file is queried (S550), and based on the requested diagnostic information, it is determined whether to diagnose the malicious code for the file for which the diagnosis is requested (S560). .
  • FIG. 6 is a flowchart illustrating a detailed process of determining whether malicious code is diagnosed in step S560 illustrated in FIG. 5.
  • the malicious code diagnosis server 200 determines whether file information including metadata identical to metadata of a file for which a diagnosis is requested is stored (S561). In this case, if there is no corresponding file information, the malicious code of the requested file is diagnosed (S564), and the hash data of the diagnosed file, the metadata of the diagnosed file, and the diagnosis information of the diagnosed file are stored in the file information storage unit 230. New storage (S565). In this case, when the diagnosed file is diagnosed as malicious, file information and diagnostic information on the corresponding file may be transmitted to all client terminals (S566).
  • step S561 it is determined whether there is diagnostic information mapped to the corresponding file information (S562). At this time, if there is no diagnostic information, steps S564 to S566 described above are performed, but if there is diagnostic information, the client terminal 100 requesting the diagnosis is notified of the mapped diagnostic information without performing the diagnosis (S563).
  • a faster diagnosis can be omitted by omitting the case where the diagnosis of the same file that has already been performed by another client terminal 100 by sharing diagnostic information between the client terminals 100. Can be done.
  • the computing resource used by the malicious code diagnosis server 200 is minimized. You can make a quick diagnosis.
  • Embodiments of the present invention described above may be implemented through various means.
  • embodiments of the present invention may be implemented by hardware, firmware, software, or a combination thereof.
  • a method according to embodiments of the present invention may include one or more Application Specific Integrated Circuits (ASICs), Digital Signal Processors (DSPs), Digital Signal Processing Devices (DSPDs), and Programmable Logic Devices (PLDs). It may be implemented by field programmable gate arrays (FPGAs), processors, controllers, microcontrollers, microprocessors, and the like.
  • ASICs Application Specific Integrated Circuits
  • DSPs Digital Signal Processors
  • DSPDs Digital Signal Processing Devices
  • PLDs Programmable Logic Devices
  • FPGAs field programmable gate arrays
  • processors controllers, microcontrollers, microprocessors, and the like.
  • the method according to the embodiments of the present invention may be implemented in the form of a module, a procedure, or a function that performs the functions or operations described above.
  • the software code may be stored in a memory unit and driven by a processor.
  • the memory unit may be located inside or outside the processor, and may exchange data with the processor by various known means.

Abstract

A malicious code diagnosis server according to an embodiment of the present invention comprises: a communication unit which receives file information including hash data of a file and metadata of the file stored in each client terminal from each of the plurality of client terminals; a file information organizing unit which groups only the file information having the same hash data among the received file information; a file information storage unit which maps and stores diagnostic information of the file corresponding to the grouped file information together with the grouped file information; a diagnostic information inquiry unit which inquiries the diagnostic information which is mapped to the file information comprising the same metadata as the metadata of the file for which the diagnostic is requested by the first client among the stored file information when the malicious code diagnosis is requested from the first client terminal among the plurality of client terminals; and a unit for determining whether or not to diagnose which determines whether or not to diagnose malicious code for the file on the basis of the inquired diagnostic information.

Description

악성 코드 진단 서버, 시스템 및 방법Malware Diagnostic Servers, Systems, and Methods
본 발명은 악성 코드 진단 서버, 시스템 및 방법에 관한 것으로서, 보다 자세하게는 클라이언트 단말이 악성 코드 진단을 요청 시 진단 결과를 제공하는 악성 코드 진단 서버, 시스템 및 방법에 관한 것이다.The present invention relates to a malicious code diagnosis server, a system and a method, and more particularly, to a malicious code diagnosis server, a system and a method for providing a diagnosis result when a client terminal requests a malicious code diagnosis.
클라이언트 단말에 대한 악성 코드 진단 서비스는 진단 엔진을 각각의 클라이언트 단말에 설치하여 진단을 수행하는 방식과 복수의 클라이언트 단말이 악성 코드 진단 서버에 진단을 요청하여 진단 결과를 제공받는 방식으로 나뉘어져 있다. The malware diagnosis service for a client terminal is divided into a method of performing a diagnosis by installing a diagnosis engine on each client terminal and a method in which a plurality of client terminals request a diagnosis from a malicious code diagnosis server and receive a diagnosis result.
한편, 복수의 클라이언트 단말이 악성 코드 진단 서버에 진단을 요청하는 방식은 클라이언트 단말의 관점에서 컴퓨팅 자원을 덜 사용할 수 있다는 장점이 있으나, 클라이언트 단말이 직접 진단을 수행하는 방식에 비해 진단 속도가 느리다는 단점이 있다. 특히, 악성 코드 진단 서버가 클라이언트 단말이 진단을 요청하는 파일을 진단하기 위해 해당 파일을 읽는 경우 I/O가 발생하여 진단의 속도를 저하시킨다. On the other hand, a method of requesting a diagnosis from a malicious code diagnosis server by a plurality of client terminals has an advantage of using less computing resources from the viewpoint of the client terminal. However, the diagnosis rate is slower than a method of directly performing diagnosis by the client terminal. There are disadvantages. In particular, when the malicious code diagnosis server reads the file for diagnosing a file for which the client terminal requests a diagnosis, I / O occurs and thus slows down the diagnosis.
또한 복수의 클라이언트 단말이 같은 하드웨어를 공유하는 가상머신으로 구성되어 있는 환경에서 클라이언트 단말이 동시에 검사를 요청하는 경우, 대량의 I/O 요청이 발생할 수 있으며 이는 클라이언트 단말이 동작하는 시스템 전체에 심각한 병목을 초래할 수 있다.In addition, when the client terminal requests inspection at the same time in an environment where a plurality of client terminals are configured with the same hardware, a large amount of I / O requests may occur, which is a serious bottleneck for the entire system in which the client terminal operates. May result.
본 발명의 실시예에서 해결하고자 하는 과제는 복수의 클라이언트 단말이 악성 코드 진단 서버에 진단을 요청하는 방식을 사용함에 있어 보다 빠른 진단을 수행하도록 하는 기술을 제공하는 것이다. The problem to be solved in the embodiment of the present invention is to provide a technique for performing a faster diagnosis in using a method for requesting a diagnosis to the malicious code diagnosis server a plurality of client terminals.
특히, 악성 코드 진단 서버가 클라이언트 단말의 요청에 따라 진단을 수행함에 있어 I/O를 보다 적게 발생시키는 기술을 제공하고자 한다. In particular, the malware diagnosis server is intended to provide a technique for generating less I / O in performing the diagnosis at the request of the client terminal.
다만, 본 발명의 실시예가 이루고자 하는 기술적 과제는 이상에서 언급한 과제로 제한되지 않으며, 이하에서 설명할 내용으로부터 통상의 기술자에게 자명한 범위 내에서 다양한 기술적 과제가 도출될 수 있다.However, the technical problem to be achieved by the embodiment of the present invention is not limited to the above-mentioned problem, various technical problems can be derived within the scope apparent to those skilled in the art from the following description.
본 발명의 일 실시예에 따른 악성 코드 진단 서버는 복수의 클라이언트 단말의 각각으로부터, 각 클라이언트 단말이 저장하고 있는 파일의 해쉬 데이터 및 상기 파일의 메타 데이터를 포함하는 파일 정보를 수신하는 통신부, 상기 수신한 파일 정보 중 동일한 해쉬 데이터를 갖는 파일 정보끼리 그룹핑하는 파일 정보 구성부, 상기 그룹핑된 파일 정보와 함께 상기 그룹핑된 파일 정보에 대응되는 파일의 진단 정보를 매핑하여 저장하는 파일 정보 저장부, 상기 복수의 클라이언트 단말 중 제1 클라이언트 단말로부터 악성 코드 진단을 요청 받으면, 상기 저장된 파일 정보 중 상기 제1 클라이언트가 진단을 요청한 파일의 메타 데이터와 동일한 메타 데이터를 포함하는 파일 정보를 검색하고, 상기 검색된 파일 정보에 매핑된 진단 정보를 조회하는 진단 정보 조회부 및 상기 조회된 진단 정보에 따라 상기 파일에 대한 악성 코드 진단 여부를 결정하는 진단 여부 결정부를 포함한다. The malicious code diagnosis server according to an embodiment of the present invention is a communication unit for receiving the file information including the hash data of the file stored in each client terminal and the metadata of the file from each of the plurality of client terminals, the reception A file information configuration unit for grouping file information having the same hash data among one file information, a file information storage unit for mapping and storing diagnostic information of a file corresponding to the grouped file information together with the grouped file information, and the plurality of file information storage units Upon receiving a request for diagnosing a malicious code from a first client terminal among the client terminals of the client terminal, search for file information including metadata identical to metadata of a file for which the first client requests diagnosis, among the stored file information, and retrieve the file information. Diagnostic information to query diagnostic information mapped to Depending on the inquiry section, and the diagnostic information includes a diagnosis query is determined whether to determine whether the infection diagnosis for the file.
이때, 상기 각 클라이언트 단말이 저장하고 있는 상기 파일 정보는 소정의 이벤트 발생 시 수신하며, 상기 소정의 이벤트는 상기 각 클라이언트 단말로부터 상기 악성 코드 진단 서버가 제공하는 악성 코드 진단 서비스의 사용 등록 요청을 수신하는 것 또는 상기 각 클라이언트 단말로부터 악성 코드 진단을 처음으로 요청 받는 것일 수 있다. In this case, the file information stored by each client terminal is received when a predetermined event occurs, and the predetermined event receives a use registration request of a malicious code diagnostic service provided by the malicious code diagnosis server from each client terminal. It may be a first request to diagnose the malicious code from each of the client terminal.
또한, 상기 파일의 메타 데이터는 상기 파일 정보를 송신한 클라이언트 단말의 식별 정보, 상기 파일 정보를 송신한 클라이언트 단말에 저장된 상기 파일의 위치 정보 및 상기 파일의 수정 시간을 포함할 수 있다. The metadata of the file may include identification information of the client terminal that has transmitted the file information, location information of the file stored in the client terminal which has transmitted the file information, and a modification time of the file.
더불어, 상기 진단 여부 결정부는 상기 검색된 파일 정보에 매핑된 진단 정보가 있는 경우, 상기 제1 클라이언트가 진단을 요청한 파일에 대하여 악성 코드 진단을 수행하지 않고 상기 매핑된 진단 정보를 상기 제1 클라이언트에 송신할 수 있다. In addition, when there is diagnostic information mapped to the retrieved file information, the diagnosis determining unit transmits the mapped diagnostic information to the first client without performing a malicious code diagnosis on a file requested by the first client. can do.
아울러, 상기 진단 여부 결정부는 상기 제1 클라이언트가 진단을 요청한 파일의 메타 데이터와 동일한 메타 데이터를 포함하는 파일 정보가 없는 경우, 상기 제1 클라이언트가 진단을 요청한 파일에 대하여 악성 코드 진단을 수행하고, 상기 진단한 파일의 해쉬 데이터, 상기 진단한 파일의 메타 데이터 및 상기 진단한 파일의 진단 정보를 상기 파일 정보 저장부에 저장시킬 수 있다. In addition, when there is no file information including metadata equal to the metadata of the file requested by the first client, the diagnosis whether determiner performs a malicious code diagnosis on the file requested by the first client, The hash data of the diagnosed file, metadata of the diagnosed file, and diagnostic information of the diagnosed file may be stored in the file information storage unit.
또한, 상기 진단 여부 결정부는, 상기 검색된 파일 정보에 매핑된 진단 정보가 없는 경우, 상기 제1 클라이언트가 진단을 요청한 파일에 대하여 악성 코드 진단을 수행하고, 상기 진단한 파일의 진단 정보를 상기 검색된 파일 정보에 매핑하여 상기 파일 정보 저장부에 저장시킬 수 있다. In addition, when there is no diagnosis information mapped to the retrieved file information, the diagnosis whether determiner performs a malicious code diagnosis on a file for which the first client requests a diagnosis, and diagnoses the diagnosis information of the diagnosed file as the retrieved file. The information may be mapped and stored in the file information storage unit.
이때, 상기 진단 여부 결정부는 상기 제1 클라이언트가 진단을 요청한 파일이 악성으로 진단되면 상기 통신부를 통해 상기 복수의 클라이언트 단말에 악성으로 진단된 상기 파일에 대한 진단 정보를 송신할 수 있다. In this case, the diagnosis whether determiner may transmit diagnostic information about the files diagnosed as malicious to the plurality of client terminals through the communication unit when the file requested by the first client is diagnosed as malicious.
본 발명의 일 실시예에 따른 악성 코드 진단 시스템은, 저장하고 있는 파일의 해쉬 데이터 및 상기 파일의 메타 데이터를 포함하는 파일 정보를 상기 악성 코드 진단 서버에 송신하는 상기 복수의 클라이언트 단말 및 상기 파일 정보를 수신하여 상기 수신한 파일 정보 중 동일한 해쉬 데이터를 갖는 파일 정보끼리 그룹핑하고, 상기 그룹핑된 파일 정보와 함께 상기 그룹핑된 파일 정보에 대응되는 파일의 진단 정보를 매핑하여 저장하며, 상기 복수의 클라이언트 단말중 제 1 클라이언트 단말로부터 악성 코드 진단을 요청을 받으면, 상기 저장된 파일 정보 중 상기 제1 클라이언트 단말이 진단을 요청한 파일의 메타 데이터와 동일한 메타 데이터를 포함하는 파일 정보를 검색하고, 상기 검색된 파일 정보에 매핑된 진단 정보에 따라 상기 파일에 대한 악성 코드 진단 여부를 결정하는 악성 코드 진단 서버를 포함할 수 있다. The malicious code diagnosis system according to an embodiment of the present invention includes the plurality of client terminals and the file information that transmit file information including hash data of a stored file and metadata of the file to the malicious code diagnosis server. Receives a group of the file information having the same hash data among the received file information, and grouping and storing the diagnostic information of the file corresponding to the grouped file information with the grouped file information, the plurality of client terminals Upon receiving a request for diagnosing a malicious code from a first client terminal, among the stored file information, file information including metadata identical to metadata of a file requested for diagnosis by the first client terminal is searched for, and the searched file information is searched for. Evil against the file based on mapped diagnostic information It may contain malicious code, diagnose server to determine whether the diagnosis code.
본 발명의 일 실시예에 따른 악성 코드 진단 방법은, 복수의 클라이언트 단말의 각각으로부터, 각 클라이언트 단말이 저장하고 있는 파일의 해쉬 데이터 및 상기 파일의 메타 데이터를 포함하는 파일 정보를 수신하는 단계, 상기 수신한 파일 정보 중 동일한 해쉬 데이터를 갖는 파일 정보끼리 그룹핑하는 단계, 상기 그룹핑된 파일 정보와 함께 상기 그룹핑된 파일 정보에 대응되는 파일의 진단 정보를 매핑하여 저장하는 단계, 상기 복수의 클라이언트 단말 중 제1 클라이언트 단말로부터 악성 코드 진단을 요청 받으면, 상기 저장된 파일 정보 중 상기 제1 클라이언트가 진단을 요청한 파일의 메타 데이터와 동일한 메타 데이터를 포함하는 파일 정보를 검색하고, 상기 검색된 파일 정보에 매핑된 진단 정보를 조회하는 단계 및 상기 조회된 진단 정보에 따라 상기 파일에 대한 악성 코드 진단 여부를 결정하는 단계를 포함한다. In accordance with an aspect of the present invention, there is provided a method for diagnosing a malicious code, the method comprising: receiving, from each of a plurality of client terminals, hash information of a file stored in each client terminal and file information including metadata of the file; Grouping file information having the same hash data among the received file information, mapping and storing diagnostic information of a file corresponding to the grouped file information together with the grouped file information, and among the plurality of client terminals 1 When the client terminal receives a request for diagnosing a malicious code, search for file information including metadata identical to metadata of a file for which the first client requests diagnosis from among the stored file information, and diagnosis information mapped to the retrieved file information. Querying and in the query information La comprises the step of determining whether the infection diagnosis for the file.
이때, 상기 각 클라이언트 단말이 저장하고 있는 상기 파일 정보는 소정의 이벤트 발생 시 수신하며, 상기 소정의 이벤트는 상기 각 클라이언트 단말로부터 상기 악성 코드 진단 서버가 제공하는 악성 코드 진단 서비스의 사용 등록 요청을 수신하는 것 또는 상기 각 클라이언트 단말로부터 악성 코드 진단을 처음으로 요청 받는 것일 수 있다. In this case, the file information stored by each client terminal is received when a predetermined event occurs, and the predetermined event receives a use registration request of a malicious code diagnostic service provided by the malicious code diagnosis server from each client terminal. It may be a first request to diagnose the malicious code from each of the client terminal.
또한, 상기 파일의 메타 데이터는 상기 파일 정보를 송신한 클라이언트 단말의 식별 정보, 상기 파일 정보를 송신한 클라이언트 단말에 저장된 상기 파일의 위치 정보 및 상기 파일의 수정 시간을 포함할 수 있다. The metadata of the file may include identification information of the client terminal that has transmitted the file information, location information of the file stored in the client terminal which has transmitted the file information, and a modification time of the file.
아울러, 상기 악성 코드 진단 여부를 결정하는 단계는, 상기 검색된 파일 정보에 매핑된 진단 정보가 있는 경우, 상기 제1 클라이언트가 진단을 요청한 파일에 대하여 악성 코드 진단을 수행하지 않고 상기 매핑된 진단 정보를 상기 제1 클라이언트에 송신하는 단계를 포함할 수 있다. In addition, the determining of whether to diagnose the malicious code comprises, when there is diagnostic information mapped to the retrieved file information, the mapped diagnostic information is not provided without performing a malicious code diagnosis on the file requested by the first client. And transmitting to the first client.
더불어, 상기 악성 코드 진단 여부를 결정하는 단계는, 상기 제1 클라이언트가 진단을 요청한 파일의 메타 데이터와 동일한 메타 데이터를 포함하는 파일 정보가 없는 경우, 상기 제1 클라이언트가 진단을 요청한 파일에 대하여 악성 코드 진단을 수행하는 단계 및 상기 진단한 파일의 해쉬 데이터, 상기 진단한 파일의 메타 데이터 및 상기 진단한 파일의 진단 정보를 저장하는 단계를 포함할 수 있다. In addition, the determining of whether to diagnose the malicious code comprises: when there is no file information including the same metadata as the metadata of the file requested by the first client, the first client diagnoses the malicious code as malicious. And performing code diagnosis and storing hash data of the diagnosed file, metadata of the diagnosed file, and diagnostic information of the diagnosed file.
더하여, 상기 악성 코드 진단 여부를 결정하는 단계는, 상기 검색된 파일 정보에 매핑된 진단 정보가 없는 경우, 상기 제1 클라이언트가 진단을 요청한 파일에 대하여 악성 코드 진단을 수행하는 단계 및 상기 진단한 파일의 진단 정보를 상기 검색된 파일 정보에 매핑하여 저장하는 단계를 포함할 수 있다. In addition, the determining of whether to diagnose the malicious code comprises: when there is no diagnostic information mapped to the searched file information, performing a malicious code diagnosis on a file requested by the first client and a diagnosis of the diagnosed file. Mapping and storing diagnostic information to the retrieved file information.
이때, 상기 악성 코드 진단 여부를 결정하는 단계는 상기 제1 클라이언트가 진단을 요청한 파일이 악성으로 진단되면, 상기 복수의 클라이언트 단말에 악성으로 진단된 상기 파일의 진단 정보를 송신하는 단계를 더 포함할 수 있다. In this case, the determining of whether to diagnose the malicious code may further include transmitting diagnostic information of the file diagnosed as malicious to the plurality of client terminals when the file requested by the first client is diagnosed as malicious. Can be.
본 발명의 실시예에 따르면, 클라이언트 단말간의 진단 정보를 상호 공유할 수 있게 되어, 이미 진단이 수행된 적이 있는 파일에 대해 중복하여 진단하는 것을 방지함으로써 보다 빠른 진단을 수행하도록 할 수 있다. According to an exemplary embodiment of the present invention, diagnostic information between client terminals can be shared with each other, thereby enabling faster diagnosis by preventing duplication of diagnosis of a file for which diagnosis has already been performed.
또한, 클라이언트 단말이 악성 코드 진단을 요청한 파일이 진단이 수행된 적이 있는 파일인지 판단함에 있어 I/O를 발생시키지 않는 메타 데이터를 사용하므로 악성 코드 진단 서버가 사용하는 컴퓨팅 자원을 최소화하여 빠른 진단을 수행하도록 할 수 있다. In addition, since the client terminal uses metadata that does not generate I / O in determining whether the file for which the client terminal has requested the diagnosis is a file that has been diagnosed, the quick diagnosis is minimized by minimizing the computing resources used by the malware diagnosis server. Can be done.
더불어 컴퓨터 자원을 최소화하여 빠른 진단을 수행하도록 한다. 특히 본 발명은 가상머신 환경에서 게스트 OS 들의 동시 다발적인 파일 검사로 인한 I/O 스톰을 방지하는데 효과적이다.In addition, it minimizes computer resources to perform a quick diagnosis. In particular, the present invention is effective in preventing I / O storm due to simultaneous file checking of guest OSs in a virtual machine environment.
도 1은 본 발명의 일 실시예에 따른 악성 코드 진단 시스템의 구성도이다. 1 is a block diagram of a malicious code diagnosis system according to an embodiment of the present invention.
도 2는 본 발명의 일 실시예에 따른 악성 코드 진단 서버의 기능 블록도 이다.2 is a functional block diagram of a malicious code diagnostic server according to an embodiment of the present invention.
도 3a 및 도 3b는 본 발명의 일 실시예에 따라 그룹핑된 파일 정보의 예시도이다. 3A and 3B are exemplary views of file information grouped according to an embodiment of the present invention.
도 4는 본 발명의 일 실시예에 따른 악성 코드 진단 서버가 악성 코드 진단 시 복수의 클라이언트 단말에 진단 정보를 전송하는 것을 설명하기 위한 예시도이다. 4 is an exemplary view for explaining that the malicious code diagnostic server according to an embodiment of the present invention transmits diagnostic information to a plurality of client terminals when the malicious code is diagnosed.
도 5는 본 발명의 일 실시예에 따른 악성 코드 진단 방법의 프로세스를 도시하는 흐름도이다. 5 is a flowchart illustrating a process of a malicious code diagnosis method according to an embodiment of the present invention.
도 6은 도 5에 도시된 S560 단계의 악성 코드 진단 여부를 결정하는 상세 프로세스를 도시하는 흐름도이다. FIG. 6 is a flowchart illustrating a detailed process of determining whether malicious code is diagnosed in step S560 illustrated in FIG. 5.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명의 범주는 청구항에 의해 정의될 뿐이다.Advantages and features of the present invention and methods for achieving them will be apparent with reference to the embodiments described below in detail with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but can be implemented in various forms, only the embodiments are to make the disclosure of the present invention complete, and those skilled in the art to which the present invention pertains. It is provided to fully inform the scope of the invention, and the scope of the invention is defined only by the claims.
본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명은 본 발명의 실시예들을 설명함에 있어 실제로 필요한 경우 외에는 생략될 것이다.  그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다.  그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.In describing the embodiments of the present invention, detailed descriptions of well-known functions or configurations will be omitted unless they are actually necessary in describing the embodiments of the present invention. In addition, terms to be described below are terms defined in consideration of functions in the embodiments of the present invention, which may vary according to intentions or customs of users and operators. Therefore, the definition should be made based on the contents throughout the specification.
도면에 표시되고 아래에 설명되는 기능 블록들은 가능한 구현의 예들일 뿐이다. 다른 구현들에서는 상세한 설명의 사상 및 범위를 벗어나지 않는 범위에서 다른 기능 블록들이 사용될 수 있다. 또한 본 발명의 하나 이상의 기능 블록이 개별 블록들로 표시되지만, 본 발명의 기능 블록들 중 하나 이상은 동일 기능을 실행하는 다양한 하드웨어 및 소프트웨어 구성들의 조합일 수 있다.The functional blocks shown in the figures and described below are only examples of possible implementations. Other functional blocks may be used in other implementations without departing from the spirit and scope of the detailed description. Also, while one or more functional blocks of the present invention are represented by separate blocks, one or more of the functional blocks of the present invention may be a combination of various hardware and software configurations that perform the same function.
또한 어떤 구성 요소들을 포함한다는 표현은 개방형의 표현으로서 해당 구성 요소들이 존재하는 것을 단순히 지칭할 뿐이며, 추가적인 구성 요소들을 배제하는 것으로 이해되어서는 안 된다.In addition, the expression "comprising" certain components merely refers to the existence of the corresponding components as an open expression, and should not be understood as excluding additional components.
나아가 어떤 구성 요소가 다른 구성 요소에 연결되어 있다거나 접속되어 있다고 언급될 때에는, 그 다른 구성 요소에 직접적으로 연결 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 한다. Furthermore, when a component is referred to as being connected or connected to another component, it is to be understood that although the component may be directly connected or connected to the other component, there may be other components in between.
또한 '제1, 제2' 등과 같은 표현은 복수의 구성들을 구분하기 위한 용도로만 사용된 표현으로써, 구성들 사이의 순서나 기타 특징들을 한정하지 않는다. In addition, an expression such as 'first' and 'second' is used only for distinguishing a plurality of components, and does not limit the order or other features between the components.
이하에서는 도면들을 참조하여 본 발명의 실시예들에 대해 설명하도록 한다. Hereinafter, embodiments of the present invention will be described with reference to the drawings.
도 1은 본 발명의 일 실시예에 따른 악성 코드 진단 시스템의 구성도이다. 1 is a block diagram of a malicious code diagnosis system according to an embodiment of the present invention.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 악성 코드 진단 시스템은 복수의 클라이언트 단말(100) 및 악성 코드 진단 서버(200)를 포함한다. As shown in FIG. 1, a malicious code diagnosis system according to an embodiment of the present invention includes a plurality of client terminals 100 and a malicious code diagnosis server 200.
여기서 악성 코드는 악성 소프트웨어 또는 멀웨어(malware) 등 컴퓨터에 악영향을 끼칠 수 있는 모든 소프트웨어의 총칭하는 의미이며, 각종 컴퓨터 바이러스, 스파이웨어, 애드웨어, 허위 백신 등이 그 예이다.Malicious code is a generic term for all software that may adversely affect a computer, such as malicious software or malware, and various computer viruses, spyware, adware, and fake vaccines are examples.
클라이언트 단말(100)은 자신이 저장하고 있는 파일에 대하여 악성 코드 진단 서버(200)에 악성 코드의 진단을 요청하고, 악성 코드 진단 서버(200)는 클라이언트 단말(100)의 요청에 따라 악성 코드 진단 서버(200)가 보유한 진단 엔진을 통해 클라이언트 단말(100)이 저장하는 파일에 대해 진단을 수행한 후 진단 결과를 제공한다. The client terminal 100 requests the malicious code diagnosis server 200 to diagnose the malicious code with respect to the file stored therein, and the malicious code diagnosis server 200 diagnoses the malicious code according to the request of the client terminal 100. After performing a diagnosis on a file stored by the client terminal 100 through a diagnosis engine held by the server 200, the diagnosis result is provided.
이때 복수의 클라이언트 단말(100) 및 악성 코드 진단 서버(200)는 통신망을 통해 상호간 데이터를 송수신할 수 있다. 통신망은 LAN과 같은 유선 통신 네트워크이거나 CDMA, 3G, 4G, LTE-A 등과 같은 무선 통신 네트워크일 수 있으나, 이에 한정되지 않는다. In this case, the plurality of client terminals 100 and the malicious code diagnosis server 200 may transmit and receive data to and from each other through a communication network. The communication network may be a wired communication network such as a LAN or a wireless communication network such as CDMA, 3G, 4G, or LTE-A, but is not limited thereto.
한편, 기존에 복수의 클라이언트 단말이 악성 코드 진단 서버에 진단을 요청하는 방식은 클라이언트 단말의 관점에서 컴퓨팅 자원을 덜 사용할 수 있다는 장점이 있으나, 클라이언트 단말이 직접 진단을 수행하는 방식에 비해 진단 속도가 느리다는 단점이 있다. 특히, 악성 코드 진단 서버가 클라이언트 단말이 요청한 파일을 진단하기 위해 해당 파일을 읽는 경우 I/O가 발생하여 악성 코드 진단 서버에서 컴퓨팅 자원의 소모가 크게 발생한다. On the other hand, the conventional method of requesting a plurality of client terminals to diagnose the malicious code diagnosis server has the advantage of using less computing resources from the viewpoint of the client terminal, but the diagnostic speed is higher than that of the client terminal to perform the diagnosis directly. The disadvantage is slow. In particular, when the malicious code diagnosis server reads the file for diagnosing the file requested by the client terminal, I / O is generated, which causes a large consumption of computing resources in the malicious code diagnosis server.
이를 해결하기 위해, 본 발명의 일 실시예에 따른 악성 코드 진단 시스템에서 복수의 클라이언트 단말(100)의 각각은 소정의 이벤트가 발생 시 또는 주기적으로 자신이 저장하고 있는 파일의 해쉬 데이터 및 파일의 메타 데이터를 포함하는 파일 정보를 악성 코드 진단 서버(200)에 송신하고, 악성 코드 진단 서버(200)는 클라이언트 단말(100)로부터 수신한 파일 정보를 기초로 그 파일에 대해 이미 진단이 수행된 적이 있는지 조회하고, 이미 진단이 수행된 파일에 대해서는 중복 진단을 생략하여 보다 빠른 진단을 수행하도록 할 수 있다. 이에, 도 2를 참조하여 본 발명의 일 실시예에 따른 악성 코드 진단 서버(200)에서 동일한 파일에 대한 중복 진단을 방지하는 구체적인 실시예를 설명하기로 한다. In order to solve this problem, each of the plurality of client terminals 100 in the malicious code diagnosis system according to an embodiment of the present invention has a hash data and a file meta data of a file stored at a predetermined event or periodically. The file information including the data is transmitted to the malicious code diagnosis server 200, and the malicious code diagnosis server 200 has already performed a diagnosis on the file based on the file information received from the client terminal 100. Inquiries can be made to perform faster diagnosis by omitting duplicate diagnosis for files that have already been diagnosed. Thus, with reference to Figure 2 will be described a specific embodiment for preventing the duplicate diagnosis for the same file in the malicious code diagnostic server 200 according to an embodiment of the present invention.
도 2는 본 발명의 일 실시예에 따른 악성 코드 진단 서버(200)의 기능 블럭도이다.2 is a functional block diagram of a malicious code diagnostic server 200 according to an embodiment of the present invention.
도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 악성 코드 진단 서버(200)는 통신부(210), 파일 정보 구성부(220), 파일 정보 저장부(230), 진단 정보 조회부(240) 및 진단 여부 결정부(250)를 포함한다. As shown in FIG. 2, the malicious code diagnosis server 200 according to an exemplary embodiment of the present invention may include a communication unit 210, a file information configuration unit 220, a file information storage unit 230, and a diagnostic information inquiry unit ( 240 and a diagnosis unit 250.
통신부(210)는 소정의 이벤트가 발생하는 경우, 클라이언트 단말(100)이 저장하고 있는 파일의 해쉬 데이터 및 파일의 메타 데이터를 포함하는 파일 정보를 수신한다. 이를 위해, 통신부(210)는 클라이언트 단말(100)과 데이터를 주고 받기 위한 통신 모듈을 포함할 수 있다. When a predetermined event occurs, the communication unit 210 receives file information including hash data of a file stored in the client terminal 100 and metadata of a file. To this end, the communication unit 210 may include a communication module for exchanging data with the client terminal 100.
이때, 클라이언트 단말(100)로부터 수신하는 파일 정보는, 특정 클라이언트 단말(예를 들어, 도 1의 100a)이 진단 요청한 파일에 대하여 이미 진단이 수행되었는지 여부를 판정하여 동일한 파일에 대한 중복 진단을 방지하기 위해 사용된다. 따라서, 각각의 클라이언트 단말(100)로부터 파일 정보를 수신하는 것은 주기적으로 이루어질 수도 있고, 소정의 이벤트가 발생하는 경우에만 이루어질 수도 있다. 여기서 소정의 이벤트는, 예를 들면, 클라이언트 단말(100)이 악성 코드 진단 서버(200)에 악성 코드 진단 서비스의 사용을 신청하는 경우 또는 클라이언트 단말(100)이 악성 코드 진단을 처음으로 요청하는 경우일 수 있으나, 이에 한정되지는 않는다. In this case, the file information received from the client terminal 100 determines whether a diagnosis has already been performed on a file requested by a specific client terminal (for example, 100a of FIG. 1) to prevent duplicate diagnosis of the same file. Used to Therefore, receiving the file information from each client terminal 100 may be performed periodically, or may be made only when a predetermined event occurs. The predetermined event may be, for example, when the client terminal 100 requests the malicious code diagnosis server 200 to use the malicious code diagnosis service or when the client terminal 100 requests the malware diagnosis for the first time. It may be, but is not limited thereto.
파일 정보 구성부(220)는, 복수의 클라이언트 단말(100)로부터 수신한 파일 정보에 대하여 동일한 해쉬 데이터를 갖는 파일 정보끼리 그룹핑한다. 이에, 파일 정보 저장부(230)는 그룹핑된 파일 정보와 함께 그룹핑된 파일 정보에 대응되는 파일의 진단 정보를 매핑하여 후술하는 파일 정보 저장부(230)에 저장한다. 한편, 주기적으로 파일 정보가 전송될 때, 또는 소정의 이벤트가 발생할 때, 해쉬 데이터가 동일한 파일 정보가 그룹핑된 복수의 그룹이 이미 존재하는 경우, 파일 정보 구성부(220)는 동일한 해쉬 데이터를 갖는 파일 정보가 포함되어 있는 그룹에, 수신한 파일 정보를 새로 추가한다. 또한, 해당 그룹의 진단 정보가 '정상' 또는 '악성'으로 이미 매핑되어 있는 경우에는, 새로 추가된 파일 정보의 진단 정보도 해당 그룹의 진단 정보와 동일하게 매핑된다. The file information configuration unit 220 groups file information having the same hash data with respect to file information received from the plurality of client terminals 100. Accordingly, the file information storage unit 230 maps the diagnostic information of the file corresponding to the grouped file information together with the grouped file information and stores the diagnostic information of the file in the file information storage unit 230 to be described later. On the other hand, when the file information is periodically transmitted or when a predetermined event occurs, when there are already a plurality of groups in which the file information is the same as the hash data, the file information configuration unit 220 has the same hash data. Add the received file information to the group containing the file information. In addition, when the diagnostic information of the group is already mapped to 'normal' or 'malignant', the diagnostic information of the newly added file information is also mapped in the same way as the diagnostic information of the group.
여기서 해쉬 데이터는 특정 파일을 고정된 길이의 데이터로 매핑하는 알고리즘을 통해 생성된 데이터로서, 이러한 해쉬 데이터를 생성하는 알고리즘으로는 예를 들어, MD5, SHA-256, CRC-32 등이 있다. 이때, 해쉬 데이터의 값이 다르다면 각 해쉬 데이터의 원본 데이터도 상이한 파일이라는 것이 해쉬 데이터의 특징이므로, 각 클라이언트 단말(100)에서 보낸 파일이 동일한 파일이라면 각 파일의 해쉬 데이터도 동일하다. 따라서, 해쉬 데이터를 기준으로 각 클라이언트 단말(100)에서 보낸 파일 정보를 그룹핑하여 해당 그룹에 진단 정보를 매핑하여 저장한다. 도 3a 및 도 3b는 본 발명의 일 실시예에 따른 해쉬 데이터를 기준으로 그룹핑된 파일 정보의 예시도이다. Here, the hash data is data generated through an algorithm for mapping a specific file to fixed length data. Examples of algorithms for generating such hash data include MD5, SHA-256, and CRC-32. At this time, if the value of the hash data is different, since the original data of each hash data is also a different file characteristic of the hash data, if the file sent from each client terminal 100 is the same file, the hash data of each file is also the same. Therefore, the file information sent from each client terminal 100 is grouped based on the hash data, and the diagnostic information is mapped and stored in the corresponding group. 3A and 3B are exemplary views of file information grouped based on hash data according to an embodiment of the present invention.
도 3a 및 도 3b를 참조하면, 파일 정보 저장부(230)는 각기 다른 클라이언트 단말(100)로부터 수신한 파일 정보를 동일한 해쉬 데이터(CRC: 7be0ce54bf2a59df)를 기준으로 그룹핑하여 저장할 수 있으며, 이때 각 클라이언트 단말(100)이 보낸 파일 정보에는 해당 파일의 메타 데이터로서, 예를 들면, 클라이언트 단말(100)의 식별 정보, 클라이언트 단말(100)에 저장된 파일의 위치 정보 및 파일의 수정 시간 등이 포함될 수 있다. 3A and 3B, the file information storage unit 230 may store and store file information received from different client terminals 100 based on the same hash data (CRC: 7be0ce54bf2a59df). In this case, each client The file information sent by the terminal 100 is metadata of the corresponding file, and may include, for example, identification information of the client terminal 100, location information of a file stored in the client terminal 100, a modification time of the file, and the like. .
이때, 동일한 파일에 대해서는 악성 코드 진단 결과가 동일하므로, 그룹핑된 파일 정보들은 하나의 파일 정보에 해당하는 파일의 진단 결과를 공유할 수 있다. 즉, 동일한 해쉬 데이터를 기준으로 매핑되어 있는 각 클라이언트 단말로부터 수신한 파일 정보들은 해당 해쉬 데이터에 대응되는 파일의 진단 정보가 매핑되어 저장될 수 있다. In this case, since the malicious code diagnosis result is the same for the same file, the grouped file information may share a diagnosis result of a file corresponding to one file information. That is, file information received from each client terminal mapped based on the same hash data may be stored by mapping diagnostic information of a file corresponding to the corresponding hash data.
이때, 그룹핑된 파일 정보에 대해서 악성 코드 진단이 수행된 적이 없거나 캐싱 기법에 의해 정보가 리셋 되었다면 도 3a와 같이 진단 정보가 매핑되어 있지 않을 수 있으며, 그룹핑된 파일 정보에 대해 적어도 어느 하나의 클라이언트 단말(100)의 요청에 따라 악성 코드 진단이 수행된 적이 있다면 도 3b와 같이 해당 그룹핑된 파일 정보에 '정상' 또는 '악성'임을 의미하는 진단 정보가 매핑되어 저장될 수 있다. In this case, when the malicious code diagnosis has not been performed on the grouped file information or the information is reset by a caching technique, the diagnostic information may not be mapped as shown in FIG. 3A, and at least one client terminal with respect to the grouped file information. If the malicious code diagnosis has been performed according to the request of 100, as shown in FIG. 3B, diagnostic information meaning 'normal' or 'malicious' may be mapped to and stored in the grouped file information.
진단 정보 조회부(240)는, 예를 들어, 악성 코드 진단 시스템에 포함된 복수의 클라이언트 단말(100) 중 하나인 제1 클라이언트 단말(100a)로부터 악성 코드 진단을 요청 받으면, 제1 클라이언트 단말(100a)에 대해 악성 코드를 진단하기에 앞서 제1 클라이언트 단말(100a)이 진단을 요청하는 파일에 대하여 이미 진단한 정보를 저장하고 있는지 조회한다. When the diagnostic information inquiry unit 240 receives a request for diagnosing a malicious code from the first client terminal 100a which is one of the plurality of client terminals 100 included in the malicious code diagnosis system, for example, the first client terminal ( Prior to diagnosing malicious code for 100a), it is inquired whether the first client terminal 100a stores already diagnosed information about a file for requesting diagnosis.
이를 위해, 진단 정보 조회부(240)는 제1 클라이언트 단말(100a)이 진단을 요청하는 파일에 대응되는 정보가 파일 정보 저장부(230)에 저장되어 있는지 조회한다. 이때 진단 정보 조회부(240)는 제1 클라이언트 단말(100a)이 진단을 요청하는 파일을 읽을 필요없이, 진단을 요청하는 파일의 메타 데이터만을 사용하여 이와 대응되는 파일 정보를 파일 정보 저장부(230)에서 검색하기 때문에 I/O를 발생시키지 않는다. To this end, the diagnostic information inquiry unit 240 inquires whether the information corresponding to the file for which the first client terminal 100a requests diagnosis is stored in the file information storage unit 230. In this case, the diagnostic information inquiry unit 240 uses the metadata of the file requesting the diagnosis without using the first client terminal 100a to read the file for requesting the diagnosis, and uses the file information storage unit 230 to provide the corresponding file information. ) Does not generate I / O.
이에 따라, 진단 정보 조회부(240)는 파일 정보 저장부(230)에 저장된 파일 정보 중 제1 클라이언트가 진단을 요청한 파일의 메타 데이터와 동일한 메타 데이터를 포함하는 파일 정보에 매핑된 진단 정보를 조회한다. Accordingly, the diagnostic information inquiry unit 240 inquires the diagnostic information mapped to the file information including the same metadata as the metadata of the file requested by the first client among the file information stored in the file information storage unit 230. do.
도 3a 및 도 3b를 다시 참조하면, 제1 클라이언트 단말(100a)이 진단을 요청한 파일의 메타 데이터가 파일 정보 저장부(230)에 저장된 파일 정보의 메타 데이터, 가령 클라이언트 단말의 식별 정보, 클라이언트 단말에 파일이 저장된 위치 정보 및 파일의 수정 시간이 동일한 파일 정보가 있는지 검색한다. 이에, 동일한 메타 데이터를 갖는 파일 정보가 있다면, 해당 파일 정보에 매핑된 진단 정보를 조회한다. Referring again to FIGS. 3A and 3B, the metadata of the file requested by the first client terminal 100a for diagnosis is metadata of the file information stored in the file information storage unit 230, for example, identification information of the client terminal, the client terminal. Search for location information where the file is stored and file information with the same modification time. Thus, if there is file information having the same metadata, the diagnostic information mapped to the file information is inquired.
진단 여부 결정부(250)는, 진단 정보 조회부(240)에 의해 조회된 진단 정보에 기초하여 제1 클라이언트 단말(100a)이 진단을 요청한 파일에 대하여 악성 코드 진단을 수행할 것인지 여부를 결정한다. 이에 따라, 진단 여부 결정부(250)는 진단을 요청받은 파일에 대한 메타 데이터가 아예 검색되지 않거나, 진단을 요청받은 파일에 대한 메타 데이터가 검색되더라도 진단 정보가 저장되어 있지 않다면 해당 파일에 대한 악성 코드 진단을 수행할 수 있다. The diagnosis determiner 250 determines whether to perform a malicious code diagnosis on the file requested by the first client terminal 100a based on the diagnosis information queried by the diagnosis information inquiry unit 240. . Accordingly, the diagnosis determination unit 250 may not detect the metadata of the file that has been requested for diagnosis at all, or if the diagnostic information is not stored even if the metadata of the file that has been requested for the search is retrieved, the malicious information regarding the file may be malicious. Code diagnostics can be performed.
예를 들어, 진단 정보 조회 결과, 제1 클라이언트 단말(100a)이 진단을 요청한 파일에 대응되는 메타 데이터를 포함하는 파일 정보가 저장되어 있지 않은 경우가 있을 수 있다. 예를 들어, 제1 클라이언트 단말(100)이 악성 코드 진단 서버(200)가 저장하고 있지 않은 새로운 파일에 대해 진단을 요청한 경우거나, 제1 클라이언트 단말(100)에 저장된 파일의 저장 경로가 변경되거나 수정 시간이 변경되어 메타 데이터가 변경된 경우이다. 이와 같이, 메타 데이터가 변경된 것이라면 해당 파일의 내용에도 변경이 가해졌을 가능성이 크므로, 진단 여부 결정부(250)는 해당 파일에 대하여 악성 코드 진단을 수행하고 진단한 파일의 해쉬 데이터, 진단한 파일의 메타 데이터 및 진단한 파일의 진단 정보를 파일 정보 저장부(230)에 새롭게 저장시킬 수 있다. For example, there may be a case where file information including metadata corresponding to a file for which the first client terminal 100a requests a diagnosis is not stored as a result of the diagnosis information inquiry. For example, when the first client terminal 100 requests a diagnosis for a new file that the malicious code diagnosis server 200 does not store, or the storage path of the file stored in the first client terminal 100 is changed or This is the case when the modification time is changed and the metadata is changed. As such, if the meta data is changed, it is highly likely that a change has been made to the contents of the file. Therefore, the diagnosis determination unit 250 performs malicious code diagnosis on the file, and hashes and diagnoses the file. The metadata and the diagnostic information of the diagnosed file may be newly stored in the file information storage unit 230.
구체적으로, 진단을 요청한 파일의 메타 데이터가 변경된 경우, 해당 파일의 내용이 변경될 수 있고, 변경되지 않을 수도 있다. 또한, 해당 파일의 내용이 변경되었다면, 해쉬 데이터가 변경된다. 따라서, 진단 여부 결정부(250)는 진단을 요청한 파일의 메타 데이터가 변경된 경우, 우선적으로 해당 파일에 대하여 악성 코드 진단을 수행한다. 그리고, 파일의 내용이 변경된 경우라면, 파일 정보 구성부(220)는, 변경된 해쉬 데이터와 동일한 해쉬 데이터를 갖는 파일을 포함하는 그룹에, 진단을 요청한 파일의 파일 정보를 그룹핑하고 새롭게 수행된 진단 결과에 의해 얻어진 파일의 진단 정보를 공유한다. 또한, 해당 파일 정보 및 진단 정보는 파일 정보 저장부(230)에 저장된다. 변경된 해쉬 데이터와 동일한 해쉬 데이터를 갖는 파일을 포함하는 그룹이 존재하지 않는 경우, 진단한 파일의 파일 정보(해쉬 데이터 및 메타 데이터) 및 진단 정보를 파일 정보 저장부(230)에 새롭게 저장한다. 한편, 파일 내용이 변경되지 않은 경우라면, 파일 정보 구성부(220)는 동일한 해쉬 데이터가 포함된 그룹에 진단을 요청한 파일의 파일 정보를 추가하고, 진단 여부 결정부(250)에 의해 진단한 파일의 진단 정보를 해당 그룹의 다른 파일 정보와 공유한다. 예를 들어, 해당 그룹내에 진단 정보가 저장되어 있지 않다면, 파일 정보 구성부(220)는 수행된 진단 결과를 그룹내에 매핑하고 파일 정보 저장부(230)에 저장한다. 해당 그룹내에 진단 정보가 매핑되어 저장되어 있으면, 파일 정보 구성부(220)는 저장되어 있는 진단 정보를 새롭게 수행된 진단 결과에 의해 얻어진 진단 정보로 갱신하고, 파일 정보 저장부(230)에 저장한다. 즉, 진단이 발생하면, 이전의 진단 결과에 상관없이, 현재의 진단 정보로 갱신되며, 갱신된 진단 정보는 동일한 해쉬 데이터를 갖는 그룹내에서 공유된다.In detail, when the metadata of the file requesting diagnosis is changed, the content of the file may or may not be changed. In addition, if the contents of the file are changed, the hash data is changed. Therefore, when the metadata of the file for which the diagnosis is requested is changed, the diagnosis whether determiner 250 first performs malicious code diagnosis on the file. If the content of the file is changed, the file information configuration unit 220 groups the file information of the file for which the diagnosis is requested in a group including a file having the same hash data as the changed hash data and newly performed a diagnosis result. The diagnostic information of the file obtained by sharing is shared. In addition, the file information and the diagnostic information are stored in the file information storage unit 230. If a group including a file having the same hash data as the changed hash data does not exist, file information (hash data and metadata) and diagnostic information of the diagnosed file are newly stored in the file information storage unit 230. On the other hand, if the content of the file has not changed, the file information configuration unit 220 adds file information of the file requesting diagnosis to the group including the same hash data, and diagnoses the file by the diagnosis determination unit 250. Share diagnostic information with other file information in the group. For example, if the diagnostic information is not stored in the group, the file information configuring unit 220 maps the performed diagnosis result to the group and stores the diagnostic information in the file information storage unit 230. If the diagnostic information is mapped and stored in the group, the file information construction unit 220 updates the stored diagnostic information with the diagnostic information obtained by the newly performed diagnosis result and stores the diagnostic information in the file information storage unit 230. . That is, when a diagnosis occurs, regardless of the previous diagnosis result, it is updated with the current diagnosis information, and the updated diagnosis information is shared in a group having the same hash data.
한편, 도 3a와 같이 진단이 요청된 파일에 대응되는 것으로 검색된 파일 정보에 진단 정보가 매핑되어 있지 않는 경우, 해당 파일에 대하여 악성 코드 진단을 수행하여 판별된 진단 정보를 파일 정보 저장부(230)에 저장되어 있는 해당 파일과 대응되는 그룹핑된 파일 정보에 진단 결과를 매핑시켜 저장할 수 있고, 도 3b와 같이 진단이 요청된 파일에 대응되는 것으로 검색된 파일 정보에 진단 정보가 매핑되어 있다면 해당 파일에 대해서는 진단을 수행하지 않고 매핑된 진단 정보를 제1 클라이언트 단말(100)에 통보할 수 있다.On the other hand, when the diagnostic information is not mapped to the searched file information corresponding to the file for which the diagnosis is requested as illustrated in FIG. 3A, the file information storage unit 230 stores the diagnostic information determined by performing malicious code diagnosis on the file. If the diagnosis result is mapped to the grouped file information corresponding to the corresponding file stored in the file, the diagnosis result may be stored. If the diagnosis information is mapped to the retrieved file information as shown in FIG. The first client terminal 100 may be notified of the mapped diagnostic information without performing the diagnosis.
이때, 진단 여부 결정부(250)는 진단한 파일이 정상으로 판별되면 제1 클라이언트에게만 해당 파일의 진단 정보를 통보하지만, 진단한 파일이 악성으로 판별되면 도 4와 같이 악성 코드 진단 시스템의 모든 클라이언트 단말(100)에 진단된 파일에 대한 진단 정보를 공유하여 해당 파일을 삭제하도록 할 수 있다. 이를 위해, 모든 클라이언트 단말에 송신하는 진단 정보에는 해당 파일의 해쉬 데이터 또는 메타 데이터, 가령 해당 파일의 경로 등을 포함하여 송신함으로써 진단 정보를 수신한 클라이언트 단말(100)이 해당 파일을 특정하도록 할 수 있다. At this time, the diagnostic determination unit 250 notifies the first client only the diagnostic information of the file if the diagnosis file is determined to be normal, but if the diagnosis file is determined to be malicious, all clients of the malware diagnosis system as shown in FIG. The diagnostic information on the diagnosed file may be shared with the terminal 100 to delete the corresponding file. To this end, the diagnostic information transmitted to all client terminals may include hash data or metadata of the corresponding file, for example, a path of the corresponding file, and the like so that the client terminal 100 receiving the diagnostic information may specify the corresponding file. have.
한편, 본 발명의 일 실시예에 따른 악성 코드 진단 서버(200)는 서버 팜(Server Farm)과 같이 네트워크에 걸쳐서 분산형으로 구현될 수 있으며, 혹은 단일의 컴퓨터 장치로 구현될 수 있다. 또한 상술한 실시예가 포함하는 파일 정보 구성부(220), 진단 정보 조회부(240), 및 진단 여부 결정부(250)는 이들의 기능을 수행하도록 프로그램된 명령어를 포함하는 메모리, 및 이들 명령어를 수행하는 마이크로프로세서를 포함하는 연산 장치에 의해 구현될 수 있다. On the other hand, the malicious code diagnostic server 200 according to an embodiment of the present invention may be implemented in a distributed manner over a network, such as a server farm, or may be implemented as a single computer device. In addition, the file information configuration unit 220, the diagnostic information inquiry unit 240, and the diagnosis whether determiner 250 included in the above-described embodiment may include a memory including instructions programmed to perform their functions, and these instructions. It may be implemented by a computing device including a microprocessor to perform.
도 5는 본 발명의 일 실시예에 따른 악성 코드 진단 방법의 프로세스를 도시하는 흐름도이다. 도 5에 따른 악성 코드 진단 방법의 각 단계는 도 2를 통해 설명된 악성 코드 진단 서버(200)에 의해 수행될 수 있으며, 각 단계를 설명하면 다음과 같다.5 is a flowchart illustrating a process of a malicious code diagnosis method according to an embodiment of the present invention. Each step of the malicious code diagnosis method according to FIG. 5 may be performed by the malicious code diagnosis server 200 described with reference to FIG. 2.
우선, 악성 코드 진단 서버(200)는 각각의 클라이언트 단말(100a, 100b, 100c)로부터 소정의 이벤트가 발생 시 또는 주기적으로 클라이언트 단말(100)이 저장하고 있는 파일의 해쉬 데이터 및 파일의 메타 데이터를 포함하는 파일 정보를 수신한다(S510). First, the malicious code diagnosis server 200 stores the hash data of the file stored in the client terminal 100 and the metadata of the file when a predetermined event occurs or periodically from each of the client terminals 100a, 100b, and 100c. Receive file information to be included (S510).
이에, 악성 코드 진단 서버(200)는 수신한 파일 정보 중 동일한 해쉬 데이터를 갖는 파일 정보끼리 그룹핑하고(S520), 그룹핑된 파일 정보와 함께 그룹핑된 파일 정보에 대응되는 파일의 진단 정보를 매핑하여 저장한다(S530). Accordingly, the malicious code diagnosis server 200 groups the file information having the same hash data among the received file information (S520), maps and stores the diagnostic information of the file corresponding to the grouped file information together with the grouped file information. (S530).
이후, 악성 코드 진단 서버(200)가 복수의 클라이언트 단말(100) 중 제1 클라이언트 단말(100a)로부터 악성 코드 진단을 요청 받으면(S540), 저장된 파일 정보 중 제1 클라이언트 단말(100a)이 진단을 요청한 파일의 메타 데이터와 동일한 메타 데이터를 포함하는 파일 정보에 매핑된 진단 정보를 조회하고(S550), 조회된 진단 정보에 기초하여 진단이 요청된 파일에 대한 악성 코드 진단 여부를 결정한다(S560). Thereafter, when the malicious code diagnosis server 200 receives a request for diagnosing malicious code from the first client terminal 100a among the plurality of client terminals 100 (S540), the first client terminal 100a of the stored file information performs diagnosis. The diagnostic information mapped to the file information including the same metadata as the metadata of the requested file is queried (S550), and based on the requested diagnostic information, it is determined whether to diagnose the malicious code for the file for which the diagnosis is requested (S560). .
도 6은 도 5에 도시된 S560 단계의 악성 코드 진단 여부를 결정하는 상세 프로세스를 도시하는 흐름도이다. FIG. 6 is a flowchart illustrating a detailed process of determining whether malicious code is diagnosed in step S560 illustrated in FIG. 5.
도 6을 참조하면, 악성 코드 진단 서버(200)는 진단이 요청된 파일의 메타 데이터와 동일한 메타 데이터를 포함하는 파일 정보가 저장되어 있는지 판별한다(S561). 이때, 해당 파일 정보가 없다면 진단 요청 받은 파일의 악성 코드를 진단하고(S564), 진단한 파일의 해쉬 데이터, 진단한 파일의 메타 데이터 및 진단한 파일의 진단 정보를 파일 정보 저장부(230)에 새롭게 저장한다(S565). 이때 진단한 파일이 악성으로 진단된 경우, 모든 클라이언트 단말에 해당 파일에 대한 파일 정보 및 진단 정보를 송신할 수 있다(S566). Referring to FIG. 6, the malicious code diagnosis server 200 determines whether file information including metadata identical to metadata of a file for which a diagnosis is requested is stored (S561). In this case, if there is no corresponding file information, the malicious code of the requested file is diagnosed (S564), and the hash data of the diagnosed file, the metadata of the diagnosed file, and the diagnosis information of the diagnosed file are stored in the file information storage unit 230. New storage (S565). In this case, when the diagnosed file is diagnosed as malicious, file information and diagnostic information on the corresponding file may be transmitted to all client terminals (S566).
이와 달리, S561 단계에서 해당 파일 정보가 존재한다면 해당 파일 정보에 매핑된 진단 정보가 있는지 판별한다(S562). 이때, 진단 정보가 없다면 앞서 설명한 S564 내지 S566 단계를 수행하지만, 진단 정보가 있다면 진단을 수행하지 않고 매핑되어 있는 진단 정보를 진단을 요청한 클라이언트 단말(100)에 통보한다(S563). In contrast, if the corresponding file information exists in step S561, it is determined whether there is diagnostic information mapped to the corresponding file information (S562). At this time, if there is no diagnostic information, steps S564 to S566 described above are performed, but if there is diagnostic information, the client terminal 100 requesting the diagnosis is notified of the mapped diagnostic information without performing the diagnosis (S563).
따라서, 상술한 실시예에 따르면, 클라이언트 단말(100)간의 진단 정보를 상호 공유하여 이미 다른 클라이언트 단말(100)에 의하여 진단이 수행된 적이 있는 동일한 파일에 대해 중복 진단하는 경우를 생략하여 보다 빠른 진단을 수행하도록 할 수 있다. Therefore, according to the above-described embodiment, a faster diagnosis can be omitted by omitting the case where the diagnosis of the same file that has already been performed by another client terminal 100 by sharing diagnostic information between the client terminals 100. Can be done.
또한, 이미 다른 클라이언트 단말(100)에 의해 진단이 수행된 적이 있는 동일한 파일인지 판단함에 있어 I/O를 발생시키지 않는 메타 데이터를 사용하므로 악성 코드 진단 서버(200)가 사용하는 컴퓨팅 자원을 최소화하여 빠른 진단을 수행하도록 할 수 있다. In addition, since it uses metadata that does not generate I / O in determining whether the same file has been diagnosed by another client terminal 100, the computing resource used by the malicious code diagnosis server 200 is minimized. You can make a quick diagnosis.
상술한 본 발명의 실시예들은 다양한 수단을 통해 구현될 수 있다. 예를 들어, 본 발명의 실시예들은 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다.Embodiments of the present invention described above may be implemented through various means. For example, embodiments of the present invention may be implemented by hardware, firmware, software, or a combination thereof.
하드웨어에 의한 구현의 경우, 본 발명의 실시예들에 따른 방법은 하나 또는 그 이상의 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 프로세서, 컨트롤러, 마이크로 컨트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.For implementation in hardware, a method according to embodiments of the present invention may include one or more Application Specific Integrated Circuits (ASICs), Digital Signal Processors (DSPs), Digital Signal Processing Devices (DSPDs), and Programmable Logic Devices (PLDs). It may be implemented by 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 the embodiments of the present invention may be implemented in the form of a module, a procedure, or a function that performs the functions or operations described above. The software code may be stored in a memory unit and driven by a processor. The memory unit may be located inside or outside the processor, and may exchange data with the processor by various known means.
이와 같이, 본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.As such, those skilled in the art will appreciate that the present invention can be implemented in other specific forms without changing the technical spirit or essential features thereof. Therefore, the above-described embodiments are to be understood as illustrative in all respects and not as restrictive. The scope of the present invention is shown by the following claims rather than the detailed description, and all changes or modifications derived from the meaning and scope of the claims and their equivalents should be construed as being included in the scope of the present invention. do.

Claims (15)

  1. 복수의 클라이언트 단말의 각각으로부터, 각 클라이언트 단말이 저장하고 있는 파일의 해쉬 데이터 및 상기 파일의 메타 데이터를 포함하는 파일 정보를 수신하는 통신부;A communication unit for receiving, from each of the plurality of client terminals, file information including hash data of a file stored in each client terminal and metadata of the file;
    상기 수신한 파일 정보 중 동일한 해쉬 데이터를 갖는 파일 정보끼리 그룹핑하는 파일 정보 구성부;A file information configuration unit for grouping file information having the same hash data among the received file information;
    상기 그룹핑된 파일 정보와 함께 상기 그룹핑된 파일 정보에 대응되는 파일의 진단 정보를 매핑하여 저장하는 파일 정보 저장부;A file information storage unit which maps and stores diagnostic information of a file corresponding to the grouped file information together with the grouped file information;
    상기 복수의 클라이언트 단말 중 제1 클라이언트 단말로부터 악성 코드 진단을 요청 받으면, 상기 저장된 파일 정보 중 상기 제1 클라이언트가 진단을 요청한 파일의 메타 데이터와 동일한 메타 데이터를 포함하는 파일 정보를 검색하고, 상기 검색된 파일 정보에 매핑된 진단 정보를 조회하는 진단 정보 조회부; 및When receiving a request for diagnosing a malicious code from a first client terminal among the plurality of client terminals, search for file information including metadata identical to metadata of a file for which the first client requests diagnosis, among the stored file information, A diagnostic information inquiry unit for querying diagnostic information mapped to file information; And
    상기 조회된 진단 정보에 따라 상기 파일에 대한 악성 코드 진단 여부를 결정하는 진단 여부 결정부를 포함하는 And a diagnosis whether determiner that determines whether to diagnose the malicious code of the file according to the inquired diagnosis information.
    악성 코드 진단 서버.Malware Diagnostic Server.
  2. 제1항에 있어서,The method of claim 1,
    상기 각 클라이언트 단말이 저장하고 있는 상기 파일 정보는 소정의 이벤트 발생 시 수신하며, 상기 소정의 이벤트는 상기 각 클라이언트 단말로부터 상기 악성 코드 진단 서버가 제공하는 악성 코드 진단 서비스의 사용 등록 요청을 수신하는 것 또는 상기 각 클라이언트 단말로부터 악성 코드 진단을 처음으로 요청 받는 것인The file information stored by each client terminal is received when a predetermined event occurs, and the predetermined event receives a use registration request of a malicious code diagnostic service provided by the malicious code diagnosis server from each client terminal. Or receiving a first request for diagnosing malicious code from each client terminal.
    악성 코드 진단 서버.Malware Diagnostic Server.
  3. 제1항에 있어서,The method of claim 1,
    상기 파일의 메타 데이터는,The metadata of the file is
    상기 파일 정보를 송신한 클라이언트 단말의 식별 정보, 상기 파일 정보를 송신한 클라이언트 단말에 저장된 상기 파일의 위치 정보 및 상기 파일의 수정 시간을 포함하는Identification information of the client terminal that has sent the file information, location information of the file stored in the client terminal that has sent the file information, and a modification time of the file.
    악성 코드 진단 서버.Malware Diagnostic Server.
  4. 제1항에 있어서,The method of claim 1,
    상기 진단 여부 결정부는,The diagnosis or not determining unit,
    상기 검색된 파일 정보에 매핑된 진단 정보가 있는 경우, 상기 제1 클라이언트가 진단을 요청한 파일에 대하여 악성 코드 진단을 수행하지 않고 상기 매핑된 진단 정보를 상기 제1 클라이언트에 송신하는When there is diagnostic information mapped to the retrieved file information, the mapped diagnostic information is transmitted to the first client without performing a malicious code diagnosis on the file requested by the first client.
    악성 코드 진단 서버.Malware Diagnostic Server.
  5. 제1항에 있어서,The method of claim 1,
    상기 진단 여부 결정부는,The diagnosis or not determining unit,
    상기 제1 클라이언트가 진단을 요청한 파일의 메타 데이터와 동일한 메타 데이터를 포함하는 파일 정보가 없는 경우, 상기 제1 클라이언트가 진단을 요청한 파일에 대하여 악성 코드 진단을 수행하고, 상기 진단한 파일의 해쉬 데이터, 상기 진단한 파일의 메타 데이터 및 상기 진단한 파일의 진단 정보를 상기 파일 정보 저장부에 저장시키는If there is no file information including the same metadata as the metadata of the file requested by the first client, the first client performs a malicious code diagnosis on the file requested for diagnosis, and hash data of the diagnosed file. Storing metadata of the diagnosed file and diagnostic information of the diagnosed file in the file information storage unit.
    악성 코드 진단 서버.Malware Diagnostic Server.
  6. 제1항에 있어서,The method of claim 1,
    상기 진단 여부 결정부는, The diagnosis or not determining unit,
    상기 검색된 파일 정보에 매핑된 진단 정보가 없는 경우, 상기 제1 클라이언트가 진단을 요청한 파일에 대하여 악성 코드 진단을 수행하고, 상기 진단한 파일의 진단 정보를 상기 검색된 파일 정보에 매핑하여 상기 파일 정보 저장부에 저장시키는If there is no diagnostic information mapped to the retrieved file information, the first client performs a malicious code diagnosis on the file for which the diagnosis is requested, maps the diagnostic information of the diagnosed file to the retrieved file information, and stores the file information. Stored in wealth
    악성 코드 진단 서버.Malware Diagnostic Server.
  7. 제5항 또는 제6항에 있어서,The method according to claim 5 or 6,
    상기 진단 여부 결정부는,The diagnosis or not determining unit,
    상기 제1 클라이언트가 진단을 요청한 파일이 악성으로 진단되면, 상기 통신부를 통해 상기 복수의 클라이언트 단말에 악성으로 진단된 상기 파일에 대한 진단 정보를 송신하는If the file requested for diagnosis by the first client is diagnosed as malicious, transmitting diagnostic information about the file diagnosed as malicious to the plurality of client terminals through the communication unit.
    악성 코드 진단 서버.Malware Diagnostic Server.
  8. 복수의 클라이언트 단말 및 악성 코드 진단 서버를 포함하는 악성 코드 진단 시스템에 있어서,In the malicious code diagnostic system comprising a plurality of client terminals and malicious code diagnostic server,
    저장하고 있는 파일의 해쉬 데이터 및 상기 파일의 메타 데이터를 포함하는 파일 정보를 상기 악성 코드 진단 서버에 송신하는 상기 복수의 클라이언트 단말; 및The plurality of client terminals configured to transmit file information including hash data of the stored file and metadata of the file to the malicious code diagnosis server; And
    상기 파일 정보를 수신하여 상기 수신한 파일 정보 중 동일한 해쉬 데이터를 갖는 파일 정보끼리 그룹핑하고, 상기 그룹핑된 파일 정보와 함께 상기 그룹핑된 파일 정보에 대응되는 파일의 진단 정보를 매핑하여 저장하며, 상기 복수의 클라이언트 단말중 제1 클라이언트 단말로부터 악성 코드 진단을 요청을 받으면, 상기 저장된 파일 정보 중 상기 제1 클라이언트 단말이 진단을 요청한 파일의 메타 데이터와 동일한 메타 데이터를 포함하는 파일 정보를 검색하고, 상기 검색된 파일 정보에 매핑된 진단 정보에 따라 상기 파일에 대한 악성 코드 진단 여부를 결정하는 상기 악성 코드 진단 서버를 포함하는Receiving the file information and grouping file information having the same hash data among the received file information, mapping and storing diagnostic information of a file corresponding to the grouped file information together with the grouped file information, and storing the plurality of file information When the client terminal of the client terminal receives a request for diagnosing a malicious code from the first client terminal, the first client terminal searches for file information including the same metadata as the metadata of the file for which the first client terminal requests the diagnosis. The malware diagnosis server for determining whether to diagnose the malicious code for the file according to the diagnostic information mapped to the file information
    악성 코드 진단 시스템.Malware Diagnosis System.
  9. 악성 코드 진단 서버가 악성 코드 진단 방법을 수행함에 있어서,Malware Diagnosis When the server performs a malware diagnosis method,
    복수의 클라이언트 단말의 각각으로부터, 각 클라이언트 단말이 저장하고 있는 파일의 해쉬 데이터 및 상기 파일의 메타 데이터를 포함하는 파일 정보를 수신하는 단계;Receiving, from each of the plurality of client terminals, file information including hash data of a file stored in each client terminal and metadata of the file;
    상기 수신한 파일 정보 중 동일한 해쉬 데이터를 갖는 파일 정보끼리 그룹핑하는 단계;Grouping file information having the same hash data among the received file information;
    상기 그룹핑된 파일 정보와 함께 상기 그룹핑된 파일 정보에 대응되는 파일의 진단 정보를 매핑하여 저장하는 단계;Mapping and storing diagnostic information of a file corresponding to the grouped file information together with the grouped file information;
    상기 복수의 클라이언트 단말 중 제1 클라이언트 단말로부터 악성 코드 진단을 요청 받으면, 상기 저장된 파일 정보 중 상기 제1 클라이언트가 진단을 요청한 파일의 메타 데이터와 동일한 메타 데이터를 포함하는 파일 정보를 검색하고, 상기 검색된 파일 정보에 매핑된 진단 정보를 조회하는 단계; 및When receiving a request for diagnosing a malicious code from a first client terminal among the plurality of client terminals, search for file information including metadata identical to metadata of a file for which the first client requests diagnosis, among the stored file information, Querying diagnostic information mapped to file information; And
    상기 조회된 진단 정보에 따라 상기 파일에 대한 악성 코드 진단 여부를 결정하는 단계를 포함하는 Determining whether to diagnose the malicious code of the file according to the inquired diagnostic information.
    악성 코드 진단 방법.How to diagnose malware.
  10. 제9항에 있어서,The method of claim 9,
    상기 각 클라이언트 단말이 저장하고 있는 상기 파일 정보는 소정의 이벤트 발생 시 수신하며, 상기 소정의 이벤트는 상기 각 클라이언트 단말로부터 상기 악성 코드 진단 서버가 제공하는 악성 코드 진단 서비스의 사용 등록 요청을 수신하는 것 또는 상기 각 클라이언트 단말로부터 악성 코드 진단을 처음으로 요청 받는 것인The file information stored by each client terminal is received when a predetermined event occurs, and the predetermined event receives a use registration request of a malicious code diagnostic service provided by the malicious code diagnosis server from each client terminal. Or receiving a first request for diagnosing malicious code from each client terminal.
    악성 코드 진단 방법.How to diagnose malware.
  11. 제9항에 있어서,The method of claim 9,
    상기 파일의 메타 데이터는,The metadata of the file is
    상기 파일 정보를 송신한 클라이언트 단말의 식별 정보, 상기 파일 정보를 송신한 클라이언트 단말에 저장된 상기 파일의 위치 정보 및 상기 파일의 수정 시간을 포함하는Identification information of the client terminal that has sent the file information, location information of the file stored in the client terminal that has sent the file information, and a modification time of the file.
    악성 코드 진단 방법.How to diagnose malware.
  12. 제9항에 있어서,The method of claim 9,
    상기 악성 코드 진단 여부를 결정하는 단계는,Determining whether the malicious code is diagnosed,
    상기 검색된 파일 정보에 매핑된 진단 정보가 있는 경우, 상기 제1 클라이언트가 진단을 요청한 파일에 대하여 악성 코드 진단을 수행하지 않고 상기 매핑된 진단 정보를 상기 제1 클라이언트에 송신하는 단계를 포함하는If there is diagnostic information mapped to the retrieved file information, transmitting the mapped diagnostic information to the first client without performing a malicious code diagnosis on a file for which the first client requests a diagnosis.
    악성 코드 진단 방법.How to diagnose malware.
  13. 제9항에 있어서,The method of claim 9,
    상기 악성 코드 진단 여부를 결정하는 단계는,Determining whether the malicious code is diagnosed,
    상기 제1 클라이언트가 진단을 요청한 파일의 메타 데이터와 동일한 메타 데이터를 포함하는 파일 정보가 없는 경우, 상기 제1 클라이언트가 진단을 요청한 파일에 대하여 악성 코드 진단을 수행하는 단계; 및If there is no file information including metadata identical to metadata of a file requested by the first client, performing a malicious code diagnosis on the file requested by the first client; And
    상기 진단한 파일의 해쉬 데이터, 상기 진단한 파일의 메타 데이터 및 상기 진단한 파일의 진단 정보를 저장하는 단계를 포함하는Storing hash data of the diagnosed file, metadata of the diagnosed file, and diagnostic information of the diagnosed file.
    악성 코드 진단 방법.How to diagnose malware.
  14. 제9항에 있어서,The method of claim 9,
    상기 악성 코드 진단 여부를 결정하는 단계는,Determining whether the malicious code is diagnosed,
    상기 검색된 파일 정보에 매핑된 진단 정보가 없는 경우, 상기 제1 클라이언트가 진단을 요청한 파일에 대하여 악성 코드 진단을 수행하는 단계; 및If there is no diagnostic information mapped to the retrieved file information, performing a malicious code diagnosis on a file requested by the first client for diagnosis; And
    상기 진단한 파일의 진단 정보를 상기 검색된 파일 정보에 매핑하여 저장하는 단계를 포함하는Mapping and storing diagnostic information of the diagnosed file to the retrieved file information.
    악성 코드 진단 방법.How to diagnose malware.
  15. 제13항 또는 제14항에 있어서,The method according to claim 13 or 14,
    상기 악성 코드 진단 여부를 결정하는 단계는,Determining whether the malicious code is diagnosed,
    상기 제1 클라이언트가 진단을 요청한 파일이 악성으로 진단되면, 상기 복수의 클라이언트 단말에 악성으로 진단된 상기 파일의 진단 정보를 송신하는 단계를 더 포함하는If the file requested to be diagnosed by the first client is diagnosed as malicious, further comprising transmitting diagnostic information of the file diagnosed as malicious to the plurality of client terminals.
    악성 코드 진단 방법.How to diagnose malware.
PCT/KR2018/005672 2017-05-18 2018-05-17 Malicious code diagnosis server, system, and method WO2018212610A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170061592A KR101907037B1 (en) 2017-05-18 2017-05-18 Server, system and method for diagnosing malware
KR10-2017-0061592 2017-05-18

Publications (1)

Publication Number Publication Date
WO2018212610A1 true WO2018212610A1 (en) 2018-11-22

Family

ID=63876283

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2018/005672 WO2018212610A1 (en) 2017-05-18 2018-05-17 Malicious code diagnosis server, system, and method

Country Status (2)

Country Link
KR (1) KR101907037B1 (en)
WO (1) WO2018212610A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102338653B1 (en) * 2021-10-08 2021-12-14 주식회사 이글루시큐리티 Method of performing distributed grouping processing for each node to minimize shuffling in cluster environment of large data and apparatus thereof

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102189361B1 (en) 2019-12-02 2020-12-09 주식회사 파고네트웍스 Managed detection and response system and method based on endpoint

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110086198A (en) * 2010-01-22 2011-07-28 주식회사 안철수연구소 Malignancy code infection blocking apparatus and system, method for the same
JP2011186823A (en) * 2010-03-09 2011-09-22 Nec Corp Virus-checking system, virus-checking device and program
KR20120071817A (en) * 2010-12-23 2012-07-03 한국인터넷진흥원 Automatic management system for dna and meta-data of malicious code
US20150121449A1 (en) * 2013-10-24 2015-04-30 Chandan CP Agent assisted malicious application blocking in a network environment
US20160006757A1 (en) * 2012-04-18 2016-01-07 Mcafee, Inc. Detection and prevention of installation of malicious mobile applications

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110086198A (en) * 2010-01-22 2011-07-28 주식회사 안철수연구소 Malignancy code infection blocking apparatus and system, method for the same
JP2011186823A (en) * 2010-03-09 2011-09-22 Nec Corp Virus-checking system, virus-checking device and program
KR20120071817A (en) * 2010-12-23 2012-07-03 한국인터넷진흥원 Automatic management system for dna and meta-data of malicious code
US20160006757A1 (en) * 2012-04-18 2016-01-07 Mcafee, Inc. Detection and prevention of installation of malicious mobile applications
US20150121449A1 (en) * 2013-10-24 2015-04-30 Chandan CP Agent assisted malicious application blocking in a network environment

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102338653B1 (en) * 2021-10-08 2021-12-14 주식회사 이글루시큐리티 Method of performing distributed grouping processing for each node to minimize shuffling in cluster environment of large data and apparatus thereof

Also Published As

Publication number Publication date
KR101907037B1 (en) 2018-10-12

Similar Documents

Publication Publication Date Title
WO2012050296A2 (en) Cloud system and file compression and transmission method in a cloud system
WO2016190476A1 (en) Method for managing encryption key for cloud service and apparatus thereof
US20160006766A1 (en) Method and apparatus for providing analysis service based on behavior in mobile network environment
WO2012091400A1 (en) System and method for detecting malware in file based on genetic map of file
WO2012086920A2 (en) Distributed storage system having content-based overlap prevention function, method for storing object thereof, and storage medium readable by computer
RU2653241C1 (en) Detecting a threat of a zero day with the use of comparison of a leading application/program with a user agent
WO2010123261A2 (en) Network-based malicious code diagnosis method and diagnosis server
WO2012121482A2 (en) Data encryption processing device and method of a cloud storage system
US11082494B2 (en) Cross storage protocol access response for object data stores
WO2018212610A1 (en) Malicious code diagnosis server, system, and method
WO2014168408A1 (en) Device, system and method for diagnosing malware on basis of cloud
CN113709810A (en) Method, device and medium for configuring network service quality
CN109413001B (en) Method and device for carrying out security protection on interactive data in cloud computing system
CN115933975A (en) Data processing method, computing device and computer system
WO2014010847A1 (en) Apparatus and method for diagnosing malicious applications
WO2019168219A1 (en) Method for semantic resource search in m2m system
WO2013027922A1 (en) Compressed image file management device and method, for cloud computing system
US7359338B2 (en) Method and apparatus for transferring packets in network
WO2014175583A1 (en) Method and apparatus for inspecting malicous message
WO2021071089A1 (en) Blockchain data search method
WO2018182065A1 (en) Multi-resource subscription association method in m2m system
CN110519147A (en) Data frame transmission method, device, equipment and computer readable storage medium
WO2013100551A1 (en) P2p-based update client, server device, system, and method
US11036643B1 (en) Mid-level instruction cache
US11093405B1 (en) Shared mid-level data cache

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

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

Country of ref document: EP

Kind code of ref document: A1