WO2011090329A2 - 악성 코드 감염 차단 장치 및 시스템과 그 방법 - Google Patents

악성 코드 감염 차단 장치 및 시스템과 그 방법 Download PDF

Info

Publication number
WO2011090329A2
WO2011090329A2 PCT/KR2011/000411 KR2011000411W WO2011090329A2 WO 2011090329 A2 WO2011090329 A2 WO 2011090329A2 KR 2011000411 W KR2011000411 W KR 2011000411W WO 2011090329 A2 WO2011090329 A2 WO 2011090329A2
Authority
WO
WIPO (PCT)
Prior art keywords
file
target file
dna
index information
dna value
Prior art date
Application number
PCT/KR2011/000411
Other languages
English (en)
French (fr)
Other versions
WO2011090329A3 (ko
Inventor
이재한
김정훈
김성현
Original Assignee
주식회사 안철수연구소
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 안철수연구소 filed Critical 주식회사 안철수연구소
Priority to US13/574,346 priority Critical patent/US8813229B2/en
Publication of WO2011090329A2 publication Critical patent/WO2011090329A2/ko
Publication of WO2011090329A3 publication Critical patent/WO2011090329A3/ko

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
    • G06F21/562Static detection
    • G06F21/564Static detection by virus signature recognition
    • 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
    • G06F21/567Computer malware detection or handling, e.g. anti-virus arrangements using dedicated hardware

Definitions

  • the present invention relates to malicious code blocking, and more particularly, to a malicious code infection prevention device and system and method for blocking malicious code infection of an agent system by using DNA values for each part of a specific file.
  • Anti-virus engine updates carry the risk of misleading files that perform dedicated functions running on the computer as malware, while updating computer systems carries the risk of incompatibility of dedicated programs.
  • a device installed with a Secure OS compares the hash value of an existing file with the entire hash value of an arbitrary file to check whether the file is allowed to execute before executing the arbitrary file. Check for a match.
  • the present invention has been made in view of the above, and when a particular file is to be executed, the DNA value is calculated for each part of the specific file, and then the specific value is obtained by comparing the calculated DNA value with the partial DNA value for the pre-stored file.
  • the present invention provides a malicious code infection prevention device and method capable of minimizing the load by determining whether the malicious or malicious is normal.
  • the present invention provides a system and method for preventing malicious code infection that can provide a server system with an initial DNA value of a specific file and then know whether a specific file is normal or malicious using a database of the server system.
  • a malware infection prevention device including a requesting file checker The.
  • an agent system for calculating a DNA value for a portion of an execution request target file, sending the calculated DNA value through a communication network, and requesting inspection of the target file, files and And a server database storing DNA information for each part of each file and index information indicating whether each file is normal or malicious, and searching the server database based on the DNA value transmitted through the communication network to receive the received data.
  • a server system for extracting files having a DNA value into a group, and providing index information and DNA values of the files in the extracted group to the agent system, wherein the agent system stores the index information provided from the server system.
  • the malware infection prevention system to check the destination file is provided to selectively output an additional DNA value of the other parts including the.
  • a method for preventing malicious code infection in an agent system comprising: calculating a DNA value of a part of an execution request target file in the agent system; and based on the calculated DNA value, the agent system Extracting files having the calculated DNA value into a group by searching a database in which files of the files and parts of DNA of each file and index information indicating whether each file is normal or malicious are stored; If the target file is determined to be normal based on the index information of the files in the group, allowing execution; calculating a DNA value for another portion that selectively includes a portion of the target file if the target file is not normal; When it is determined that the target file is not normal, the calculated DNA value of the other part and the Judging the target file as malicious or normal by comparing the DNA values of the files in the group extracted from the database and checking the index information of the file having the same DNA value, and executing the target file based on the determination result. Allowing, or calculating the DNA value of another portion of the target file is provided
  • a method for blocking malicious code infection comprising: calculating a DNA value of a part of an execution request target file in the agent system, and providing the calculated DNA value to the server system through a communication network for the target file; Requesting a test, extracting files having the calculated DNA value into a group by searching the server database in response to the request, and receiving index information and DNA values of the files in the extracted group; When the target file is determined to be normal based on the provided index information, Allowing execution of a target file, and re-checking the target file by calculating a DNA value of another portion selectively including a portion of the target file when it is determined that the target file is not normal. Infection prevention methods are provided.
  • the present invention checks whether a file is malicious or normal using only a DNA value of a part of the file, thereby preventing infection of malicious code with a small resource in a system having low specifications.
  • the present invention has the effect of minimizing the occurrence of network traffic by requesting a test to the server system using only the DNA value of a portion of the file, and receiving a response to block the malicious code infection.
  • FIG. 1 is a block diagram showing a malicious code infection prevention system according to an embodiment of the present invention
  • FIG. 2 is a view for explaining a method for calculating a DNA value according to an embodiment of the present invention
  • FIG. 3 is a flowchart illustrating a process for blocking malicious code infection using a DNA value according to an embodiment of the present invention.
  • 4 and 5 are exemplary diagrams illustrating a process of blocking a malicious code infection by interworking with a server system by a malicious code infection blocking device according to an embodiment of the present invention.
  • FIG. 1 is a block diagram illustrating a configuration of a malicious code infection blocking system according to an embodiment of the present invention, wherein the malicious code infection blocking system is largely provided with an agent system 100 having a malicious code infection blocking device 110 and a server database. Server system 150 having 152.
  • the agent system 100 may be a low-specified terminal, for example, a terminal for managing automation equipment in a factory, a production management system, a POS system, and the like.
  • the malicious code infection prevention apparatus 110 installed in the agent system 100 includes a database 106, a calculator 102, a file checker 104, and an updater 108.
  • the database 106 stores files installed in the agent system 100, information values of parts of each file, that is, DNA values and index information indicating whether each file is normal or malicious.
  • the calculating unit 102 When executing the arbitrary file in the agent system 100, the calculating unit 102 first determines the format of the file without reading the entire arbitrary file into the memory (not shown). If the arbitrary file is an executable file according to the determination of the file format, the DNA value is calculated from a predetermined portion of the arbitrary file according to the order in which the code is executed in the portion in which the executable code exists, and the extracted DNA value is calculated by Provided at 104. When the arbitrary file is a data file, the calculating unit 102 calculates a DNA value in a specific portion of the file according to the memory loading order of the data file, and provides the calculated DNA value to the file inspecting unit 104.
  • the calculation unit 102 calculates a primary DNA value of executable code in the unit 200 and then uses the file inspection unit. And a secondary DNA value of the code executable in the section 210 under the control of the file inspecting section 104. As shown, the portion where the secondary DNA value is calculated may be wider than the portion where the primary DNA value is calculated.
  • the DNA value in the embodiment of the present invention may be a value obtained by applying a CRC-based hash function to the extracted portion of the file.
  • the file inspecting unit 104 compares the DNA value provided from the calculating unit 102 with the DNA value pre-stored in the database 106 and extracts the files having the same DNA value from the database 106 as a group.
  • the file inspecting unit 104 checks index information of the extracted files in the group to determine whether any file is normal or malicious. If any file is determined to be malicious, additionally request that DNA be calculated from other parts of the file. If it is determined to be normal, execution of arbitrary files is allowed.
  • the file checker 104 may block the execution of any file.
  • the file inspecting unit 104 accesses the server system 150 through the communication network 120 and uses the calculated DNA value to determine the file. A test may be requested, and the calculation unit 102 may be requested to calculate a DNA value in another part of the file based on the test result of the server system 150, or the execution of the file may be allowed or blocked. .
  • the update unit 108 calculates the DNA value of each part of the new file by using the calculation unit 102 and updates the database 106 with the calculated DNA value when there is a request to execute a new file, or the server system (
  • the database 106 is updated by using data provided from 150, that is, data including DNA values of respective parts of an arbitrary file.
  • the new file is, for example, a file introduced into the agent system 100 through an external communication network, a change file in which an existing file is changed based on an administrator's request or an external request, or a predetermined program is installed or It may be a file generated by the data generation process.
  • FIG. 3 is a flowchart illustrating a process of checking whether a target file is malicious or normal by the malicious code blocking apparatus 110 according to an exemplary embodiment of the present invention.
  • the calculating unit 102 of the malicious code blocking apparatus 110 first calculates a DNA value in a first portion of an execution request target file (primary DNA value) (S300).
  • the file inspecting unit 104 compares the calculated primary DNA value with the primary DNA values of the files stored in the database 106 and extracts the files having the primary DNA values from the database 106 as primary groups (S302). ). Based on the index information indicating whether the files in the primary group are normal or malicious, it is determined whether a malicious file exists in the extracted primary group (S304).
  • step S304 if no malicious file exists in the extracted primary group, the file inspecting unit 104 determines the target file as normal without extracting additional DNA values from the target file and allows execution (S306). .
  • the file inspecting unit 104 checks the DNA value at the second portion different from the first portion of the target file in the calculating unit 102. Further calculation is requested (secondary DNA value) (S308).
  • the calculation unit 102 calculates the secondary DNA value in the second portion of the target file (S310) and provides the file to the file inspection unit 104.
  • the second portion of the target file may be expanded to include the first portion from which the primary DNA value was extracted.
  • the file inspecting unit 104 compares the secondary DNA values of the files in the primary group extracted from the database 106 with the secondary DNA values calculated by the calculating unit 102.
  • the files matching the secondary DNA values are extracted as the secondary group, and based on the index information of the extracted files in the secondary group, it is determined whether a malicious file exists in the extracted secondary group (S312).
  • step S312 if no malicious file exists in the extracted secondary group, the file inspecting unit 104 determines that the target file is normal and allows execution. However, if any malicious file exists, it is checked whether the calculated DNA value is nth order (S314), and if it is not nth order, it proceeds to step S308 and requests that the next order DNA be calculated in another part of the target file. Steps S308, S310, and S312 are repeatedly performed until the n-th DNA value is calculated, and if no malicious file exists in the n-th group extracted in step S312, the process proceeds to step S306 to allow execution of the target file. If the file exists, the flow advances to step S316 to block execution of the target file.
  • n is an integer value, and the value can be set by the file inspection unit 104.
  • the target file if there is no file in the database 106 that matches the n-th calculated DNA value in the process of extracting the n-th group by searching the database 106, the target file The DNA value up to n-th calculated from may be transmitted to the server system 150 through the communication network 120 to request the inspection of the file.
  • the index information of the target file is a malicious value
  • the n + 1st DNA value of the target file is extracted, and the index information of the target file is determined to be normal. You can allow the file to run when it is executed.
  • the malicious code infection blocking apparatus 110 updates the database 106 by using DNA values of respective orders of the target file.
  • the malicious code infection prevention apparatus 110 transmits the target file to the server system 150. Accordingly, the server system 150 scans the target file for malicious infection using a preset antivirus engine, generates index information on the target file based on the scan result, and generates the generated index information and the target file, The server database 152 is updated using the DNA values of the orders of the target file, and the database 106 of the malware infection prevention device 110 is updated.
  • the server system 150 updates the server database 152 based on DNA values of respective parts of the files provided from the plurality of agent systems 100, and updates the update information according to the update of the server database 152. By broadcasting to 100, the databases 106 in multiple agent systems 100 are updated.
  • the index information of each file stored in the server database 152 may be changed by the administrator's setting or based on an inspection through an antivirus engine, and according to the change of the index information, the server system 150 may change the changed information.
  • the database 106 of the agent system 100 is updated.
  • the agent system 100 calculates a primary DNA value of a predetermined portion of the target file, for example, 1234, using the calculation unit 102, and then calculates the primary DNA value, for example, 1234.
  • the server system 150 retrieves files having a primary DNA value received from the agent system 100 from the server database 152, extracts the files into groups, and transmits the files to the agent system 100. At this time, the secondary, tertiary,... Of each file in the group. , the n-th order DNA value and the index information of each file are transmitted with the group.
  • the file inspecting unit 104 of the agent system 100 determines whether to allow execution of the target file based on the group provided from the server system 150 and information about the same. That is, if the index information of all the files in the group indicates normal, execution of the target file is allowed. Otherwise, execution of the target file is blocked.
  • the server system 150 requests the agent system 100 for the target file.
  • the server system 150 receives the target file and scans the file using an antivirus engine, and transmits the scan result to the agent system 100 to inform whether the target file is allowed to be executed. Meanwhile, the server system 150 updates the server database 152 based on the first to nth DNA values for the target file from the agent system 100.
  • the agent system 100 calculates a primary DNA value, for example, 1234, for a target file through the calculator 102, and then searches the database 106 for the same primary DNA value.
  • files having a file name for example, files having DNA values such as 1234-5678, 1234-5778, and 1234-6698 are extracted into a group, and index information of all files in the group is retrieved. Even if the index information is all normal and allowed to execute, the file inspection unit 104 transmits the primary DNA value to the server system 150 to request inspection for more accurate diagnosis of the target file. Accordingly, the server system 150 searches for files having a primary DNA value of 1234 in the server database 152 and extracts the files into groups.
  • the server system 150 responds to the request with the 1234-9987 DNA value and its index information and DNA value. Sends a message to the agent system 100 for recalculation.
  • the file inspecting unit 104 of the agent system 100 receiving the message of the server system 150 controls the calculating unit 102 to calculate the secondary DNA value for the target file.
  • the file inspecting unit 104 then checks whether the calculated secondary DNA value is 9987 to determine whether the target file is malicious or normal.
  • the update unit 108 updates the database 106 by using the 1234-9987 DNA value and its index information.
  • the first and second DNA values are explained as described above.
  • the inspection may be requested by transmitting to the server system 150 or the inspection may be requested by transmitting the target file to the server system 150.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)

Abstract

악성 코드 감염 차단 장치는, 에이전트 시스템 내에 설치된 파일들 및 각 파일의 부분별 DNA값과 각 파일이 정상인지 또는 악성인지를 나타내는 인덱스 정보가 저장되어 있는 데이터베이스와; 에이전트 시스템에서 실행 요청 대상 파일의 일부분에 대한 DNA값을 산출하는 산출부와; 데이터베이스의 검색을 통해 산출부에서 산출된 DNA값을 갖는 파일들을 그룹으로 추출하고, 추출된 그룹 내 파일들의 인덱스 정보를 토대로 대상 파일이 정상인지 또는 악성인지를 검사하여 대상 파일의 실행을 허용하거나 대상 파일의 일부분을 선택적으로 포함하는 다른 부분에 대한 DNA값의 산출을 요청하는 파일 검사부를 포함한다.

Description

악성 코드 감염 차단 장치 및 시스템과 그 방법
본 발명은 악성 코드 차단에 관한 것으로, 더욱 상세하게는 특정 파일의 부분별로 DNA값을 이용하여 에이전트 시스템의 악성 코드 감염을 차단할 수 있는 악성 코드 감염 차단 장치 및 시스템과 그 방법에 관한 것이다.
일반적으로 전용 에이전트 시스템, 예컨대 전용 컴퓨터 시스템의 악성 코드 감염을 막기 위해서, 안티바이러스 엔진을 갖고 있는 클라이언트용 안티바이러스 제품이 해당 시스템에 설치되어진다. 개인 컴퓨터 시스템에 설치된 기존 안티바이러스 엔진은, 악성 코드의 감염을 막기 위해서, 주기적으로 스스로를 업데이트함과 더불어 시스템의 보안을 업데이트 할 필요가 있다. 관련 선행기술이 한국 출원 공개 특허 제 2006-0032855호(공개일 : 2006년 4월 18일)에 개시되어 있다.
안티바이러스 엔진 업데이트는 컴퓨터에서 기동 중인 전용 기능을 수행하는 파일을 악성코드로 오진할 위험성을 가지고 있으며, 컴퓨터 시스템의 업데이트는 전용 프로그램의 비호환성의 위험성을 갖고 있다.
대부분의 전용 컴퓨터는 시스템 사양이 업그레이드 되지 않기 때문에 사양이 낮은 편이다. 그러나, 안티바이러스 엔진은 각각의 컴퓨터에 설치되어 구동되기 때문에 낮은 사양의 컴퓨터에서 구동이 되면, 안티바이러스 엔진이 시스템 리소스, 예를 들면, CPU, 메모리, 네트워크 트래픽을 많이 사용하여 컴퓨터 내 설치된 프로그램들과 동작 중인 응용 프로그램의 구동을 방해하는 문제가 있다. 이런 이유로, 안티바이러스 엔진이 요구하는 사양보다 낮은 컴퓨터, 예컨대 POS(Point Of Sale) 단말기, 생산 설비에서 사용되는 저사양 컴퓨터에서도 사용 가능한 보안 프로그램이 필요하다.
특히, Secure OS(Operating System)가 설치된 단말기는 임의의 파일을 실행하기 전에 실행이 허용된 파일인지 여부를 확인하기 위해서 기존에 저장된 파일의 해쉬값과 임의의 파일의 전체 해쉬 값을 비교한 후 파일의 일치 여부를 확인한다.
이러한 단말기에서는 파일을 읽거나 실행하기 위해서 매번 파일의 해쉬 값을 확인하는 부하를 갖기 때문에 용량이 큰 파일의 경우 단말기의 부하가 증가하는 문제점이 있다.
본 발명은 상기 점에 감안하여 이루어진 것으로써, 특정 파일을 실행하고자 할 때 특정 파일의 부분별로 DNA값을 산출한 후 산출된 DNA값과 기 저장된 파일에 대한 부분별 DNA값의 비교를 통해 특정 파일이 악성인지 또는 정상인지를 판별함으로써, 부하를 최소화할 수 있는 악성 코드 감염 차단 장치 및 방법을 제공한다.
또한, 에이전트 시스템 내 특정 파일의 최초 DNA값을 서버 시스템에 제공한 후 서버 시스템의 데이터베이스를 이용하여 특정 파일이 정상 또는 악성인지를 알 수 있는 악성 코드 감염 차단 시스템 및 방법을 제공한다.
본 발명의 제 1 측면에 따르면, 에이전트 시스템의 악성 코드 감염 차단 장치에 있어서, 상기 에이전트 시스템 내에 설치된 파일들 및 각 파일의 부분별 DNA값과 상기 각 파일이 정상인지 또는 악성인지를 나타내는 인덱스 정보가 저장되어 있는 데이터베이스와, 상기 에이전트 시스템에서 실행 요청 대상 파일의 일부분에 대한 DNA값을 산출하는 산출부와, 상기 데이터베이스의 검색을 통해 상기 산출부에서 산출된 DNA값을 갖는 파일들을 그룹으로 추출하고, 상기 추출된 그룹 내 파일들의 인덱스 정보를 토대로 상기 대상 파일이 정상인지 또는 악성인지를 검사하여 상기 대상 파일의 실행을 허용하거나 상기 대상 파일의 일부분을 선택적으로 포함하는 다른 부분에 대한 DNA값의 산출을 요청하는 파일 검사부를 포함하는 악성 코드 감염 차단 장치가 제공된다.
본 발명의 제 2 측면에 따르면, 실행 요청 대상 파일의 일부분에 대한 DNA값을 산출하고, 상기 산출된 DNA값을 통신망을 통해 송출하여 상기 대상 파일에 대한 검사를 요청하는 에이전트 시스템과, 파일들 및 각 파일의 부분별 DNA값과 상기 각 파일이 정상인지 또는 악성인지를 나타내는 인덱스 정보가 저장되어 있는 서버 데이터베이스를 구비하며, 상기 통신망을 통해 전송받은 DNA값을 토대로 상기 서버 데이터베이스를 검색하여 상기 전송받은 DNA값을 갖는 파일들을 그룹으로 추출하고, 상기 추출된 그룹 내 파일들의 인덱스 정보와 DNA값을 상기 에이전트 시스템에 제공하는 서버 시스템을 포함하며, 상기 에이전트 시스템은, 상기 서버 시스템으로부터 제공받은 인덱스 정보를 토대로 상기 대상 파일을 정상으로 판단하거나, 또는 상기 대상 파일의 일부분을 선택적으로 포함하는 다른 부분의 DNA값을 추가로 산출하여 상기 대상 파일을 검사하는 악성 코드 감염 차단 시스템이 제공된다.
본 발명의 제 3 측면에 따르면, 에이전트 시스템에서의 악성 코드 감염 차단 방법으로써, 상기 에이전트 시스템에서 실행 요청 대상 파일의 일부분에 대한 DNA값을 산출하는 단계와, 상기 산출된 DNA값을 토대로 상기 에이전트 시스템 내 파일들 및 각 파일의 부분별 DNA값과 상기 각 파일이 정상인지 또는 악성인지를 나타내는 인덱스 정보가 저장되어 있는 데이터베이스를 검색하여, 상기 산출된 DNA값을 갖는 파일들을 그룹으로 추출하는 단계와, 상기 그룹 내 파일들의 인덱스 정보를 토대로 상기 대상 파일이 정상으로 판단되면 실행을 허용하고, 정상이 아니라고 판단되면 상기 대상 파일의 일부분을 선택적으로 포함하는 다른 부분에 대한 DNA값을 산출하는 단계와, 상기 대상 파일이 정상이 아니라고 판단될 시에, 상기 산출된 다른 부분의 DNA값과 상기 데이터베이스로부터 추출된 그룹 내 파일들의 DNA값을 비교하여DNA값이 일치하는 파일의 인덱스 정보를 확인함으로써 상기 대상 파일을 악성 또는 정상으로 판단하는 단계와, 상기 판단 결과에 의거하여 상기 대상 파일의 실행을 허용하거나, 상기 대상 파일의 또 다른 부분의 DNA값을 산출하여 상기 대상 파일의 악성 또는 정상 여부를 판단하는 단계를 기 정해진 회수까지 반복하는 단계를 포함하는 악성 코드 감염 차단 방법이 제공된다.
본 발명의 제 4 측면에 따르면, 파일들 및 각 파일의 부분별 DNA값과 상기 각 파일이 정상인지 또는 악성인지를 나타내는 인덱스 정보가 저장되어 있는 서버 데이터베이스를 구비하는 서버 시스템과 연동하여 에이전트 시스템에서 악성 코드 감염 차단을 수행하는 방법으로서, 상기 에이전트 시스템에서 실행 요청 대상 파일의 일부분에 대한 DNA값을 산출하는 단계와, 상기 산출된 DNA값을 통신망을 통해 상기 서버 시스템에 제공하여 상기 대상 파일에 대한 검사를 요청하는 단계와, 상기 요청에 대한 응답으로 상기 서버 데이터베이스의 검색을 통해 상기 산출된 DNA값을 갖는 파일들을 그룹으로 추출하고, 추출한 그룹 내 상기 파일들의 인덱스 정보와 DNA값을 제공받는 단계와, 상기 제공받은 인덱스 정보를 토대로 상기 대상 파일이 정상으로 판단될 때 상기 대상 파일의 실행을 허용하고, 상기 대상 파일이 정상이 아니라고 판단될 때 상기 대상 파일의 일부분을 선택적으로 포함하는 다른 부분의 DNA값 산출을 통해 상기 대상 파일을 다시 검사하는 단계를 포함하는 악성 코드 감염 차단 방법이 제공된다.
본 발명은 파일의 일부분에 대한 DNA값만을 이용하여 파일이 악성 또는 정상인지의 여부를 체크함으로써, 사양이 낮은 시스템에서 적은 리소스로 악성 코드의 감염을 차단할 수 있는 효과가 있다.
또한, 본 발명은 파일의 일부분에 대한 DNA값만을 이용하여 서버 시스템에 검사를 요청하고, 이에 따른 응답을 제공받아 악성 코드 감염을 차단함으로써, 네트워크 트래픽 발생을 최소화할 수 있는 효과가 있다.
도 1은 본 발명의 실시 예에 따른 악성 코드 감염 차단 시스템을 도시한 블록도이며,
도 2는 본 발명의 실시 예에 따른 DNA값을 산출하는 방법에 대해 설명하기 위한 도면이며,
도 3은 본 발명의 실시 예에 따른 DNA값을 이용한 악성 코드 감염 차단 과정을 도시한 흐름도이며,
도 4 및 도 5는 본 발명의 실시 예에 따른 악성 코드 감염 차단 장치가 서버 시스템과 연동하여 악성 코드 감염을 차단하는 과정을 도시한 예시도이다.
본 발명의 목적 및 효과, 그리고 그것들을 달성하기 위한 기술적 구성들은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 본 발명을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다.
이하, 첨부된 도면을 참조하여 본 발명의 실시 예를 상세히 설명하기로 한다.
도 1은 본 발명의 실시 예에 따른 악성 코드 감염 차단 시스템의 구성을 도시한 블록도로서, 악성 코드 감염 차단 시스템은 크게 악성 코드 감염 차단 장치(110)를 구비한 에이전트 시스템(100) 및 서버 데이터베이스(152)를 구비한 서버 시스템(150)으로 구성된다.
에이전트 시스템(100)은 저사양의 단말이 될 수 있으며, 그 예로 공장 내 자동화 설비를 관리하기 위한 단말, 생산 관리 시스템, POS 시스템 등을 들 수 있다. 에이전트 시스템(100)에 설치된 악성 코드 감염 차단 장치(110)는 데이터베이스(106), 산출부(102), 파일 검사부(104) 및 업데이트부(108)를 포함한다.
데이터베이스(106)는 에이전트 시스템(100)에 설치된 파일들, 각 파일의 부분별 정보값, 즉 DNA 값과 각 파일이 정상인지 또는 악성인지를 나타내는 인덱스 정보를 저장하고 있다.
산출부(102)는 에이전트 시스템(100)에서 임의의 파일을 실행할 때 임의의 파일 전체를 메모리(미도시됨)로 읽어 들이지 않고 우선 파일의 형식을 판별한다. 파일 형식의 판단에 따라 임의의 파일이 실행 가능한 파일인 경우, 실행 코드가 존재하는 부분에서 코드가 실행되는 순서에 따라서 임의의 파일의 소정 부분에서 DNA값을 산출하고, 추출된 DNA값을 파일 검사부(104)에 제공한다. 산출부(102)는 임의의 파일이 데이터 파일인 경우, 데이터 파일의 메모리 적재 순서에 따라 파일의 특정 부분에서 DNA값을 산출하며, 산출된 DNA값을 파일 검사부(104)에 제공한다.
예를 들어, 임의의 파일이 도 2에 도시된 바와 같이 다수의 실행 가능한 코드를 포함하는 경우 산출부(102)는 부분(200)에서 실행 가능한 코드의 1차 DNA값을 산출한 후 이를 파일 검사부(104)에 제공하며, 파일 검사부(104)의 제어에 의거하여 부분(210)에서 실행 가능한 코드의 2차 DNA값을 산출한다. 도시된 바와 같이, 2차 DNA값이 산출되는 부분은 1차 DNA값이 산출되는 부분보다 범위가 확대될 수 있다.
본 발명의 실시 예에서의 DNA값은 파일의 추출된 부분에 CRC 기반의 해쉬 함수를 적용한 값을 그 예로 들 수 있다.
파일 검사부(104)는 산출부(102)로부터 제공받은 DNA값과 데이터베이스(106)에 기저장되어 있는 DNA값을 비교하여 DNA값이 일치하는 파일들을 그룹으로 데이터베이스(106)에서 추출한다. 파일 검사부(104)는 추출된 그룹 내 파일들의 인덱스 정보를 확인하여 임의의 파일이 정상인지 또는 악성인지 여부를 판단한다. 임의의 파일이 악성이라고 판단되면 임의의 파일의 다른 부분에서 DNA값을 산출할 것을 추가로 요청. 하고, 정상이라고 판단되면 임의의 파일의 실행을 허용한다.
그러나, 데이터베이스(106) 내에 산출부(102)에서 산출된 DNA값을 갖는 파일이 존재하지 않을 경우, 파일 검사부(104)는 임의의 파일의 실행을 차단시킬 수도 있다. 대안으로, 데이터베이스(106) 내에 산출된 DNA값을 갖는 파일이 존재하지 않을 경우, 파일 검사부(104)는 통신망(120)을 통해 서버 시스템(150)에 접속하여 산출된 DNA값을 이용하여 파일의 검사를 요청할 수 있으며, 서버 시스템(150)의 검사 결과에 의거하여 임의의 파일의 다른 부분에서 DNA값을 산출하기를 산출부(102)에 요청할 수 있으며, 또는 파일의 실행을 허용하거나 차단할 수 있다.
업데이트부(108)는 새로운 파일의 실행 요청이 있을 경우 새로운 파일의 각 부분별 DNA값을 산출부(102)를 이용하여 산출하고 산출한 DNA값으로 데이터베이스(106)를 업데이트시키거나, 서버 시스템(150)으로부터 제공받은 데이터, 즉 임의의 파일에 대한 각 부분별 DNA값이 포함된 데이터를 이용하여 데이터베이스(106)를 업데이트시킨다.
본 발명의 실시 예에서 새로운 파일은, 예컨대, 외부의 통신망을 통해 에이전트 시스템(100)에 유입된 파일이거나, 관리자 또는 외부의 요청에 의거하여 기존의 파일이 변경된 변경 파일이거나, 소정의 프로그램 설치 또는 데이터 생성 과정에 의해 생성된 파일일 수 있다.
상기와 같은 에이전트 시스템(100)의 악성 코드 감염 차단 장치(110)가 파일을 검사하는 과정에 대해 도 3을 참조하여 설명하면 아래와 같다.
도 3은 본 발명의 실시 예에 따른 악성 코드 차단 장치(110)가 대상 파일이 악성인지 또는 정상인지를 검사하는 과정을 도시한 흐름도이다.
먼저, 도 3에 도시된 바와 같이, 악성 코드 차단 장치(110)의 산출부(102)는 실행 요청 대상 파일의 제 1 부분에서 1차로 DNA값을 산출한다(1차 DNA값)(S300).
파일 검사부(104)는 산출된 1차 DNA값과 데이터베이스(106)에 저장된 파일들의 1차 DNA값을 비교하여 1차 DNA값이 일치하는 파일들을 1차 그룹으로서 데이터베이스(106)에서 추출한다(S302). 1차 그룹 내 파일들이 정상 또는 악성인지를 나타내는 인덱스 정보를 토대로, 추출된 1차 그룹 내에 악성 파일이 존재하는지를 판단한다(S304).
단계 S304의 판단 결과, 추출된 1차 그룹 내에 악성 파일이 하나도 존재하지 않을 경우, 파일 검사부(104)는 대상 파일로부터 추가적인 DNA값의 추출 없이 대상 파일을 정상으로 판단하여 실행을 허용한다(S306).
그러나, 단계 S304의 판단 결과, 추출된 1차 그룹 내에 악성 파일이 하나라도 존재할 경우, 파일 검사부(104)는 산출부(102)에 대상 파일의 제 1 부분과는 다른 제 2 부분에서 DNA값의 산출을 추가로 요청한다(2차 DNA값)(S308). 산출부(102)는 대상 파일의 제 2 부분에서 2차 DNA값을 산출하여(S310) 파일 검사부(104)에 제공한다. 여기서, 대상 파일의 제 2 부분은 1차 DNA값이 추출되었던 제 1 부분을 포함하여 확장될 수 있다.
이에 따라, 파일 검사부(104)는 데이터베이스(106)에서 추출된 1차 그룹 내 파일들의 2차 DNA값과 산출부(102)에서 산출된 2차 DNA값간의 비교를 통해 1차 그룹 내 파일들 중 2차 DNA값이 일치하는 파일들을 2차 그룹으로서 추출하고, 추출된 2차 그룹 내 파일들의 인덱스 정보를 토대로, 추출된 2차 그룹 내에 악성 파일이 존재하는지를 판단한다(S312).
단계 S312의 판단 결과, 추출된 2차 그룹 내에 악성 파일이 하나도 존재하지 않을 경우, 파일 검사부(104)는 대상 파일을 정상으로 판단하여 실행을 허용한다. 그러나, 악성 파일이 하나라도 존재할 경우, 산출된 DNA값이 n차수인지 확인하여(S314) n차수가 아니라면 단계 S308로 진행하여 대상 파일의 또 다른 부분에서 다음 차수의 DNA를 산출할 것을 요청한다. 단계 S308, S310, S312를 n차 DNA값을 산출할 때까지 반복적으로 수행하여, 단계 S312에서 추출된 n차 그룹 내에 악성 파일이 존재하지 않으면 단계 S306으로 진행하여 대상 파일의 실행을 허용하며, 악성 파일이 존재하면 단계 S316으로 진행하여 대상 파일의 실행을 차단하게 된다. 여기서, n은 정수값으로, 파일 검사부(104)에서 그 값의 설정이 가능하다.
한편, 대안으로, 본 발명의 실시 예에서 데이터베이스(106)의 검색을 통해 n차 그룹을 추출하는 과정에서 n차 산출한 DNA값이 일치하는 파일이 데이터베이스(106)에 존재하지 않을 경우, 대상 파일에서 산출된 n차까지의 DNA 값을 통신망(120)을 통해 서버 시스템(150)에 전송하여 파일의 검사를 요청할 수도 있다. 서버 시스템(150)의 응답을 토대로 대상 파일의 인덱스 정보가 악성을 나타내는 값이라고 판단될 시에 대상 파일에 대한 n+1차 DNA값을 추출하고, 대상 파일의 인덱스 정보가 정상을 나타내는 값이라고 판단될 시에 파일의 실행을 허용할 수 있다. 여기서, 대상 파일이 정상으로 판단된 경우, 악성 코드 감염 차단 장치(110)는 대상 파일의 각 차수의 DNA값을 이용하여 데이터베이스(106)를 업데이트한다.
한편, 대상 파일의 각 차수의 DNA값과 일치하는 파일이 서버 시스템(150)에도 없는 경우에는, 악성 코드 감염 차단 장치(110)는 대상 파일을 서버 시스템(150)에 전송한다. 이에 따라, 서버 시스템(150)은 기 설정된 안티바이러스 엔진을 이용하여 대상 파일에 대한 악성 감염 여부를 검사한 후 검사 결과를 토대로 대상 파일에 대한 인덱스 정보를 생성하고, 생성된 인덱스 정보와 대상 파일, 대상 파일의 각 차수의 DNA값을 이용하여 서버 데이터베이스(152)를 업데이트시킴과 더불어 악성 코드 감염 차단 장치(110)의 데이터베이스(106)를 업데이트시킨다.
본 발명의 실시 예에 따르면, 파일 전체를 메모리로 읽어 들이지 않고 특정 부분에서의 DNA값의 산출을 통해 파일이 정상 또는 악성인지의 여부를 판단함으로써, 파일의 실행 가능 여부를 고속으로 판별할 수 있다.
서버 시스템(150)은 다수의 에이전트 시스템(100)으로부터 제공받은 파일의 각 부분별 DNA값을 토대로 서버 데이터베이스(152)를 업데이트하며, 서버 데이터베이스(152)의 업데이트에 따라 업데이트 정보를 다수의 에이전트 시스템(100)으로 브로드캐스팅함으로써, 다수의 에이전트 시스템(100) 내 데이터베이스(106)를 업데이트시킨다.
또한, 서버 데이터베이스(152)에 저장된 각 파일의 인덱스 정보는 관리자의 설정에 의해 변경되거나 안티바이러스 엔진을 통한 검사를 토대로 변경될 수 있으며, 인덱스 정보의 변경에 따라 서버 시스템(150)은 변경된 정보를 다수의 에이전트 시스템(100)에 브로드캐스팅함으로써, 에이전트 시스템(100)의 데이터베이스(106)를 업데이트시킨다.
상기와 같은 본 발명의 실시 예에 따른 에이전트 시스템(100)이 서버 시스템과 연동하여 악성 코드 감염을 차단하는 과정을 도 4 내지 도 5를 참조하여 설명한다.
도 4에 도시된 바와 같이, 에이전트 시스템(100)은 산출부(102)를 이용하여 실행 요청이 있는 대상 파일에 대한 소정 부분의 1차 DNA값, 예를 들면, 1234를 산출한 후 이를 서버 시스템(150)에 전송하여 파일 정보를 요청한다.
이에 따라, 서버 시스템(150)은 에이전트 시스템(100)으로부터 전송받은 1차 DNA값을 갖는 파일들을 서버 데이터베이스(152)에서 검색하여 그룹으로 추출한 후 이를 에이전트 시스템(100)에 전송한다. 이 때, 그룹 내 각 파일들의 2차, 3차,…, n차 DNA값 및 각 파일의 인덱스 정보가 그룹과 함께 전송된다.
에이전트 시스템(100)의 파일 검사부(104)는 서버 시스템(150)으로부터 제공받은 그룹과 그에 대한 정보를 토대로 대상 파일의 실행 허용 여부를 결정한다. 즉, 그룹 내 모든 파일의 인덱스 정보가 정상을 나타내는 경우에는 대상 파일의 실행을 허용하며, 그렇지 않을 경우 대상 파일의 실행을 차단시킨다.
한편, 서버 시스템(150)은 에이전트 시스템(100)으로부터 전송받은 1차 DNA값을 갖는 파일이 서버 데이터베이스(152)에서 검색되지 않을 경우 대상 파일을 에이전트 시스템(100)에 요청한다. 서버 시스템(150)은 대상 파일을 전송받아 안티바이러스 엔진을 이용하여 파일을 검사하고, 검사 결과를 에이전트 시스템(100)에 전송하여 대상 파일의 실행 허용 여부를 알려준다. 한편, 서버 시스템(150)은 에이전트 시스템(100)으로부터 대상 파일에 대한 1차에서 n차까지의 DNA값을 제공받은 후 이를 토대로 서버 데이터베이스(152)를 업데이트시킨다.
도 5를 참조하면, 에이전트 시스템(100)은 산출부(102)를 통해 대상 파일에 대한 1차 DNA값, 예를 들면, 1234를 산출한 후 데이터베이스(106)의 검색을 통해 같은 1차 DNA값을 갖는 파일들, 예를 들면, 1234-5678, 1234-5778, 1234-6698 등의 DNA값을 갖는 파일들을 그룹으로 추출하고, 그룹 내 모든 파일의 인덱스 정보를 검색한다. 인덱스 정보가 모두 정상이며 실행 허용이라고 나타내고 있어도, 대상 파일에 대한 더욱 정확한 진단을 위해 파일 검사부(104)는 1차 DNA값을 서버 시스템(150)에 전송하여 검사를 요청한다. 이에 따라 서버 시스템(150)은 1차 DNA값이 1234인 파일들을 서버 데이터베이스(152)에서 검색하여 그룹으로 추출한다. 그룹 내 파일의 인덱스 정보 검사 결과, 1234-9987의 DNA값을 가지는 파일의 인덱스 정보가 악성이라고 나타내고 있기 때문에 서버 시스템(150)은 요청에 대한 응답으로 1234-9987 DNA값과 그 인덱스 정보 및 DNA값을 재산출하도록 하는 메시지를 에이전트 시스템(100)에 전송한다.
서버 시스템(150)의 메시지를 수신한 에이전트 시스템(100)의 파일 검사부(104)는 산출부(102)를 제어하여 대상 파일에 대한 2차 DNA값을 산출한다. 그 다음, 파일 검사부(104)는 산출된 2차 DNA값이 9987인지를 검사하여 대상 파일이 악성인지 또는 정상인지를 판단한다. 업데이트부(108)는 1234-9987 DNA값과 그 인덱스 정보를 이용하여 데이터베이스(106)를 업데이트시킨다.
한편, 대상 파일의 산출한 2차 DNA값이 9987이 아니고 또한, 1차 DNA값이 1234인 모든 파일의 2차 DNA값과 일치하지 않는 경우에는, 상기에서 설명한 바와 같이 1, 2차 DNA값을 서버 시스템(150)에 전송하여 검사를 요청하거나 대상 파일을 서버 시스템(150)에 전송하여 검사를 요청할 수 있다.
이상, 본 발명의 바람직한 실시형태가 설명되었지만, 본 발명은 이들 특정의 실시형태에 한정되지 않고, 후속하는 청구범위의 범주로부터 벗어나지 않고 다양한 변경 및 변형이 이루어질 수 있으며, 그것도 본 발명의 범주내에 속한다 할 것이다.

Claims (18)

  1. 에이전트 시스템의 악성 코드 감염 차단 장치에 있어서,
    상기 에이전트 시스템 내에 설치된 파일들 및 각 파일의 부분별 DNA값과 상기 각 파일이 정상인지 또는 악성인지를 나타내는 인덱스 정보가 저장되어 있는 데이터베이스와,
    상기 에이전트 시스템에서 실행 요청 대상 파일의 일부분에 대한 DNA값을 산출하는 산출부와,
    상기 데이터베이스의 검색을 통해 상기 산출부에서 산출된 DNA값을 갖는 파일들을 그룹으로 추출하고, 상기 추출된 그룹 내 파일들의 인덱스 정보를 토대로 상기 대상 파일이 정상인지 또는 악성인지를 검사하여 상기 대상 파일의 실행을 허용하거나 상기 대상 파일의 일부분을 선택적으로 포함하는 다른 부분에 대한 DNA값의 산출을 요청하는 파일 검사부를 포함하는
    악성 코드 감염 차단 장치.
  2. 제 1 항에 있어서,
    상기 파일 검사부는,
    상기 산출된 DNA값을 갖는 파일이 상기 데이터베이스에 존재하지 않을 경우 상기 대상 파일의 실행을 차단시키는
    악성 코드 감염 차단 장치.
  3. 제 1 항에 있어서,
    상기 차단 장치는,
    변경 및/또는 새로 생성된 파일에 대한 DNA값과 인덱스 정보를 이용하여 상기 데이터베이스를 업데이트시키는 업데이트부를 더 포함하는
    악성 코드 감염 차단 장치.
  4. 제 1 항에 있어서,
    상기 산출부는, 상기 대상 파일이 실행 가능한 파일인 경우 실행 코드가 존재하는 부분에서 실행되는 순서에 의거하여 상기 일부분의 DNA값을 산출하는
    악성 코드 감염 차단 장치.
  5. 제 1 항에 있어서,
    상기 산출부는, 상기 대상 파일이 데이터 파일인 경우 상기 대상 파일이 메모리에 적재되는 순서에 의거하여 상기 일부분의 DNA값을 산출하는
    악성 코드 감염 차단 장치.
  6. 악성 코드 감염 차단 시스템에 있어서,
    실행 요청 대상 파일의 일부분에 대한 DNA값을 산출하고, 상기 산출된 DNA값을 통신망을 통해 송출하여 상기 대상 파일에 대한 검사를 요청하는 에이전트 시스템과,
    상기 에이전트 시스템에 설치된 파일들 및 각 파일의 부분별 DNA값과 상기 각 파일이 정상인지 또는 악성인지를 나타내는 인덱스 정보가 저장되어 있는 서버 데이터베이스를 구비하며, 상기 통신망을 통해 전송받은 DNA값을 토대로 상기 서버 데이터베이스를 검색하여 상기 전송받은 DNA값을 갖는 파일들을 그룹으로 추출하고, 상기 추출된 그룹 내 파일들의 인덱스 정보와 DNA값을 상기 에이전트 시스템에 제공하는 서버 시스템을 포함하며,
    상기 에이전트 시스템은, 상기 서버 시스템으로부터 제공받은 인덱스 정보를 토대로 상기 대상 파일을 정상으로 판단하거나, 또는 상기 대상 파일의 일부분을 선택적으로 포함하는 다른 부분의 DNA값을 추가로 산출하여 상기 대상 파일을 검사하는
    악성 코드 감염 차단 시스템.
  7. 제 6 항에 있어서,
    상기 에이전트 시스템은,
    상기 에이전트 시스템에서 관리되는 파일들 각각의 부분별 DNA값과 상기 각 파일이 정상인지 또는 악성인지를 나타내는 인덱스 정보가 저장되어 있는 데이터베이스를 구비하는
    악성 코드 감염 차단 시스템.
  8. 제 7 항에 있어서,
    상기 산출된 DNA값을 갖는 파일이 상기 데이터베이스에 존재하지 않을 경우 상기 통신망을 통해 상기 서버 시스템으로 상기 산출된 DNA값을 전송하여 상기 대상 파일에 대한 검사를 요청하는
    악성 코드 감염 차단 시스템.
  9. 제 7 항에 있어서,
    상기 에이전트 시스템은, 상기 서버 시스템으로부터 전송받은 상기 그룹 내 파일의 인덱스 정보와 DNA값을 이용하여 상기 데이터베이스를 업데이트시키는
    악성 코드 감염 차단 시스템.
  10. 제 6 항에 있어서,
    상기 에이전트 시스템은, 상기 대상 파일의 다른 부분의 DNA값과 상기 서버 시스템으로부터 전송받은 상기 그룹 내 각 파일의 DNA값을 비교하여 해당 DNA값이 일치하는 파일이 없을 경우 상기 대상 파일을 상기 서버 시스템에 전송하여 검사를 요청하는
    악성 코드 감염 차단 시스템.
  11. 제 10 항에 있어서,
    상기 서버 시스템은, 상기 전송받은 대상 파일을 기 설정된 안티바이러스 엔진을 이용하여 검사한 후 상기 검사 결과에 의거하여 인덱스 정보를 생성하고, 상기 대상 파일의 각 부분별 DNA값을 산출하여 상기 서버 데이터베이스를 업데이트하는
    악성 코드 감염 차단 시스템.
  12. 에이전트 시스템에서의 악성 코드 감염 차단 방법으로써,
    상기 에이전트 시스템에서 실행 요청 대상 파일의 일부분에 대한 DNA값을 산출하는 단계와,
    상기 산출된 DNA값을 토대로 상기 에이전트 시스템 내 파일들 및 각 파일의 부분별 DNA값과 상기 각 파일이 정상인지 또는 악성인지를 나타내는 인덱스 정보가 저장되어 있는 데이터베이스를 검색하여, 상기 산출된 DNA값을 갖는 파일들을 그룹으로 추출하는 단계와,
    상기 그룹 내 파일들의 인덱스 정보를 토대로 상기 대상 파일이 정상으로 판단되면 실행을 허용하고, 정상이 아니라고 판단되면 상기 대상 파일의 일부분을 선택적으로 포함하는 다른 부분에 대한 DNA값을 산출하는 단계와,
    상기 대상 파일이 정상이 아니라고 판단될 시에, 상기 산출된 다른 부분의 DNA값과 상기 데이터베이스로부터 추출된 그룹 내 파일들의 DNA값을 비교하여DNA값이 일치하는 파일의 인덱스 정보를 확인함으로써 상기 대상 파일을 악성 또는 정상으로 판단하는 단계와,
    상기 판단 결과에 의거하여 상기 대상 파일의 실행을 허용하거나, 상기 대상 파일의 또 다른 부분의 DNA값을 산출하여 상기 대상 파일의 악성 또는 정상 여부를 판단하는 단계를 기 정해진 회수까지 반복하는 단계를 포함하는
    악성 코드 감염 차단 방법.
  13. 제 12 항에 있어서,
    상기 대상 파일이 실행 가능한 파일인 경우 실행 코드가 존재하는 부분에서 실행되는 순서에 의거하여 상기 일부분의 DNA값을 산출하는
    악성 코드 감염 차단 방법.
  14. 제 12 항에 있어서,
    상기 대상 파일이 데이터 파일인 경우 상기 특정 파일이 메모리에 적재되는 순서에 의거하여 상기 일부분의 DNA값을 산출하는
    악성 코드 감염 차단 방법.
  15. 제 12 항에 있어서,
    상기 악성 코드 감염 차단 방법은,
    외부의 통신망을 통해 임의의 파일의 DNA값과 인덱스 정보가 상기 에이전트 시스템에 수신되면 상기 데이터베이스를 업데이트하는 단계를 더 포함하는
    악성 코드 감염 차단 방법.
  16. 에이전트 시스템에 설치된 파일들 및 각 파일의 부분별 DNA값과 상기 각 파일이 정상인지 또는 악성인지를 나타내는 인덱스 정보가 저장되어 있는 서버 데이터베이스를 구비하는 서버 시스템과 연동하여 상기 에이전트 시스템에서 악성 코드 감염 차단을 수행하는 방법으로서,
    상기 에이전트 시스템에서 실행 요청 대상 파일의 일부분에 대한 DNA값을 산출하는 단계와,
    상기 산출된 DNA값을 통신망을 통해 상기 서버 시스템에 제공하여 상기 대상 파일에 대한 검사를 요청하는 단계와,
    상기 요청에 대한 응답으로 상기 서버 데이터베이스의 검색을 통해 상기 산출된 DNA값을 갖는 파일들을 그룹으로 추출하고, 추출한 그룹 내 상기 파일들의 인덱스 정보와 DNA값을 제공받는 단계와,
    상기 제공받은 인덱스 정보를 토대로 상기 대상 파일이 정상으로 판단될 때 상기 대상 파일의 실행을 허용하고, 상기 대상 파일이 정상이 아니라고 판단될 때 상기 대상 파일의 일부분을 선택적으로 포함하는 다른 부분의 DNA값 산출을 통해 상기 대상 파일을 다시 검사하는 단계를 포함하는
    악성 코드 감염 차단 방법.
  17. 제 16 항에 있어서,
    상기 대상 파일이 정상이 아니라고 판단될 때 상기 다른 부분의 DNA값과 상기 서버 데이터베이스로부터 추출한 그룹 내 파일들의 DNA값을 비교하여 해당 DNA값이 일치하는 파일이 그룹 내에 존재하는지를 판단하는 단계와,
    상기 판단 결과, 상기 DNA값이 일치하는 파일이 존재하지 않을 경우 상기 대상 파일을 상기 서버 시스템에 전송하여 검사를 요청하는 단계와,
    상기 서버 시스템에서 상기 전송받은 대상 파일을 기 설정된 안티바이러스 엔진을 이용하여 검사하는 단계와,
    상기 검사 결과에 의거하여 인덱스 정보를 생성하고, 상기 대상 파일의 각 부분별 DNA값을 산출하여 상기 서버 데이터베이스를 업데이트하는 단계와,
    상기 인덱스 정보를 상기 서버 시스템으로부터 상기 에이전트 시스템으로 제공하는 단계와,
    상기 에이전트 시스템에서 상기 인덱스 정보를 토대로 상기 대상 파일의 실행을 차단 또는 허용하는 단계를 더 포함하는
    악성 코드 감염 차단 방법.
  18. 제 16 항에 있어서,
    상기 서버 데이터베이스 검색 결과 상기 산출된 DNA값을 갖는 파일이 존재하지 않을 경우 상기 에이전트 시스템에서 상기 서버 시스템으로 상기 대상 파일을 전송하는 단계와,
    상기 서버 시스템에서 수신한 상기 대상 파일을 기 설정된 안티바이러스 엔진을 이용하여 검사하는 단계와,
    상기 검사 결과에 의거하여 인덱스 정보를 생성하고, 상기 대상 파일의 각 부분별 DNA값을 산출하여 상기 서버 데이터베이스를 업데이트하는 단계와,
    상기 인덱스 정보를 상기 서버 시스템으로부터 상기 에이전트 시스템으로 제공하는 단계와,
    상기 에이전트 시스템에서 상기 인덱스 정보를 토대로 상기 대상 파일의 실행을 차단 또는 허용하는 단계를 더 포함하는
    악성 코드 감염 차단 방법.
PCT/KR2011/000411 2010-01-22 2011-01-20 악성 코드 감염 차단 장치 및 시스템과 그 방법 WO2011090329A2 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/574,346 US8813229B2 (en) 2010-01-22 2011-01-20 Apparatus, system, and method for preventing infection by malicious code

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2010-0005795 2010-01-22
KR1020100005795A KR101138748B1 (ko) 2010-01-22 2010-01-22 악성 코드 차단 장치, 시스템 및 방법

Publications (2)

Publication Number Publication Date
WO2011090329A2 true WO2011090329A2 (ko) 2011-07-28
WO2011090329A3 WO2011090329A3 (ko) 2011-12-01

Family

ID=44307403

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2011/000411 WO2011090329A2 (ko) 2010-01-22 2011-01-20 악성 코드 감염 차단 장치 및 시스템과 그 방법

Country Status (3)

Country Link
US (1) US8813229B2 (ko)
KR (1) KR101138748B1 (ko)
WO (1) WO2011090329A2 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9270467B1 (en) * 2013-05-16 2016-02-23 Symantec Corporation Systems and methods for trust propagation of signed files across devices
US9635041B1 (en) * 2014-06-16 2017-04-25 Amazon Technologies, Inc. Distributed split browser content inspection and analysis
KR101620931B1 (ko) 2014-09-04 2016-05-13 한국전자통신연구원 악성코드 특징 정보 기반의 유사 악성코드 검색 장치 및 방법
US10043004B2 (en) * 2015-01-30 2018-08-07 Denim Group, Ltd. Method of correlating static and dynamic application security testing results for a web and mobile application
KR101907037B1 (ko) * 2017-05-18 2018-10-12 주식회사 안랩 악성 코드 진단 서버, 시스템 및 방법
US11423160B2 (en) 2020-04-16 2022-08-23 Bank Of America Corporation System for analysis and authorization for use of executable environment data in a computing system using hash outputs
US11481484B2 (en) 2020-04-16 2022-10-25 Bank Of America Corporation Virtual environment system for secure execution of program code using cryptographic hashes
US11372982B2 (en) * 2020-07-02 2022-06-28 Bank Of America Corporation Centralized network environment for processing validated executable data based on authorized hash outputs
KR102426504B1 (ko) * 2020-11-16 2022-07-29 주식회사 하우리 악성코드 진단시스템 및 진단방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020024225A (ko) * 2002-02-06 2002-03-29 (주) 세이프아이 실시간 안티 바이러스 시스템
KR20030048933A (ko) * 2001-12-13 2003-06-25 주식회사 이글루시큐리티 위험도 추론 침입탐지시스템
KR20030051994A (ko) * 2001-12-20 2003-06-26 한국전자통신연구원 침입탐지시스템에서 로그 모니터링을 이용한 공격판단시스템 및 그 방법
KR20070049514A (ko) * 2005-11-08 2007-05-11 한국정보보호진흥원 악성 코드 감시 시스템 및 이를 이용한 감시 방법

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6021510A (en) * 1997-11-24 2000-02-01 Symantec Corporation Antivirus accelerator
US7024485B2 (en) * 2000-05-03 2006-04-04 Yahoo! Inc. System for controlling and enforcing playback restrictions for a media file by splitting the media file into usable and unusable portions for playback
GB2364404B (en) * 2000-07-01 2002-10-02 Marconi Comm Ltd Method of detecting malicious code
US7310817B2 (en) * 2001-07-26 2007-12-18 Mcafee, Inc. Centrally managed malware scanning
GB2400933B (en) * 2003-04-25 2006-11-22 Messagelabs Ltd A method of, and system for, heuristically detecting viruses in executable code by detecting files which have been maliciously altered
KR100660480B1 (ko) 2004-10-13 2006-12-26 주식회사 엔트로스 병렬처리 시스템용 안티 바이러스 시스템
US7631251B2 (en) * 2005-02-16 2009-12-08 Hewlett-Packard Development Company, L.P. Method and apparatus for calculating checksums
US7490352B2 (en) * 2005-04-07 2009-02-10 Microsoft Corporation Systems and methods for verifying trust of executable files
US7403137B1 (en) * 2007-03-30 2008-07-22 Juniper Networks, Inc. Memory efficient indexing for disk-based compression
US8302193B1 (en) * 2008-05-30 2012-10-30 Symantec Corporation Methods and systems for scanning files for malware
GB2463467B (en) * 2008-09-11 2013-03-06 F Secure Oyj Malware detection method and apparatus
US8230510B1 (en) * 2008-10-02 2012-07-24 Trend Micro Incorporated Scanning computer data for malicious codes using a remote server computer
US8832829B2 (en) * 2009-09-30 2014-09-09 Fireeye, Inc. Network-based binary file extraction and analysis for malware detection

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030048933A (ko) * 2001-12-13 2003-06-25 주식회사 이글루시큐리티 위험도 추론 침입탐지시스템
KR20030051994A (ko) * 2001-12-20 2003-06-26 한국전자통신연구원 침입탐지시스템에서 로그 모니터링을 이용한 공격판단시스템 및 그 방법
KR20020024225A (ko) * 2002-02-06 2002-03-29 (주) 세이프아이 실시간 안티 바이러스 시스템
KR20070049514A (ko) * 2005-11-08 2007-05-11 한국정보보호진흥원 악성 코드 감시 시스템 및 이를 이용한 감시 방법

Also Published As

Publication number Publication date
KR101138748B1 (ko) 2012-04-24
KR20110086198A (ko) 2011-07-28
US8813229B2 (en) 2014-08-19
US20130014260A1 (en) 2013-01-10
WO2011090329A3 (ko) 2011-12-01

Similar Documents

Publication Publication Date Title
WO2011090329A2 (ko) 악성 코드 감염 차단 장치 및 시스템과 그 방법
WO2012091400A1 (en) System and method for detecting malware in file based on genetic map of file
WO2018182126A1 (ko) 안전 소프트웨어 인증 시스템 및 방법
KR101724307B1 (ko) 악성코드를 검출하는 방법 및 시스템
EP1986120B1 (en) Systems, apparatus, and methods for detecting malware
US7424706B2 (en) Automatic detection and patching of vulnerable files
US8701192B1 (en) Behavior based signatures
WO2011055945A2 (ko) 악성 사이트 검출 장치 및 방법
US8966634B2 (en) System and method for correcting antivirus records and using corrected antivirus records for malware detection
WO2016088937A1 (en) Apparatus, system and method for detecting and preventing malicious scripts using code pattern-based static analysis and api flow-based dynamic analysis
JP5802848B2 (ja) モバイル環境用のトロイの木馬化されたアプリケーション(アプリ)を特定するためのコンピュータ実装方法、非一時コンピュータ読み取り可能な媒体およびコンピュータシステム
WO2013089340A1 (ko) 어플리케이션의 유사성 검출 장치 및 방법
WO2013077538A1 (ko) Api 기반 어플리케이션 분석 장치 및 방법
CN106355092B (zh) 用于优化反病毒测定的系统和方法
WO2010024606A2 (ko) 정상 파일 데이터베이스 제공 시스템 및 방법
US20180124070A1 (en) Cloud-based malware detection
EP3637292B1 (en) Determination device, determination method, and determination program
CN104537308A (zh) 提供应用安全审计功能的系统及方法
CN105631312A (zh) 恶意程序的处理方法及系统
CN114003794A (zh) 资产收集方法、装置、电子设备和介质
CN109818972B (zh) 一种工业控制系统信息安全管理方法、装置及电子设备
KR20160090566A (ko) 유효마켓 데이터를 이용한 apk 악성코드 검사 장치 및 방법
WO2014010847A1 (ko) 악성 애플리케이션 진단장치 및 방법
KR20120078017A (ko) 클라우드 컴퓨팅 기반 악성코드 분석 지원 시스템과 이를 사용하는 분석가 단말
CN113010268B (zh) 恶意程序识别方法及装置、存储介质、电子设备

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 13574346

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11734878

Country of ref document: EP

Kind code of ref document: A2