KR20110008854A - Method, system and computer readable recording medium for detecting exploit code - Google Patents

Method, system and computer readable recording medium for detecting exploit code Download PDF

Info

Publication number
KR20110008854A
KR20110008854A KR1020090066396A KR20090066396A KR20110008854A KR 20110008854 A KR20110008854 A KR 20110008854A KR 1020090066396 A KR1020090066396 A KR 1020090066396A KR 20090066396 A KR20090066396 A KR 20090066396A KR 20110008854 A KR20110008854 A KR 20110008854A
Authority
KR
South Korea
Prior art keywords
file
hash value
malicious code
server
client terminal
Prior art date
Application number
KR1020090066396A
Other languages
Korean (ko)
Other versions
KR101043299B1 (en
Inventor
김기홍
정가람
Original Assignee
(주) 세인트 시큐리티
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주) 세인트 시큐리티 filed Critical (주) 세인트 시큐리티
Priority to KR1020090066396A priority Critical patent/KR101043299B1/en
Publication of KR20110008854A publication Critical patent/KR20110008854A/en
Application granted granted Critical
Publication of KR101043299B1 publication Critical patent/KR101043299B1/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
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines

Landscapes

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

Abstract

PURPOSE: A malicious code detection method and a system, and a computer-readable storage medium are provided to rapidly correspond a new malicious code by processing a task deciding the malicious code in the file processed in the client terminal. CONSTITUTION: An executor(322) executes an uploaded file uploaded from a client terminal in a virtual OS(Operating System). A comparison unit(323) collects the behavior created in the executor and compares with the behavior information. A determining unit determines a malicious code by comparing a comparison result with the degree of danger. The determining unit decides the malicious code. A storage(325) extracts a hash value of the file.

Description

악성 코드 탐지 방법, 시스템 및 컴퓨터 판독 가능한 저장매체 {METHOD, SYSTEM AND COMPUTER READABLE RECORDING MEDIUM FOR DETECTING EXPLOIT CODE}[0001] METHOD, SYSTEM AND COMPUTER READABLE RECORDING MEDIUM FOR DETECTING EXPLOIT CODE [0002]

본 발명은 악성코드 탐지 방법, 악성코드 탐지 시스템 및 악성 코드 탐지 방법이 저장된 컴퓨터 판독 가능한 저장매체에 관한 것으로서, 보다 상세하게는 클라이언트 단말과 연결된 서버에서 클라이언트 단말에서 실행되는 파일에 대한 악성코드 여부를 판단하는 악성코드 탐지 방법, 악성코드 탐지 시스템 및 악성 코드 탐지 방법이 저장된 컴퓨터 판독 가능한 저장매체에 관한 것이다. The present invention relates to a computer readable storage medium storing a malicious code detection method, a malicious code detection system and a malicious code detection method, and more particularly to a computer readable storage medium storing a malicious code for a file executed in a client terminal A malicious code detection method, a malicious code detection method, and a computer readable storage medium storing the malicious code detection method.

메모리와 통신기술의 눈부신 발달로 인하여 컴퓨터의 성능은 매우 발달하게 되었고, 이와 더불어 네트워크 기반 시설의 발달에 따른 인터넷의 보급이 세계 곳곳에 확장되어 가고 있는 추세이다. 이러한 인터넷의 보급은 긍정적인 효과와 더불어 부정적인 효과도 야기시키고 있는데, 특히 인터넷 사용자의 정보를 허가없이 해킹하거나 다른 인터넷 사용자의 컴퓨터 단말기, 서버 등을 잠식하는 행위등이 사회적인 문제로 대두되고 있다. 예를 들어 웜바이러스 및 악성 코드를 이용한 타 시스템의 공격, 타 단말기 정보 파괴 문제 등이 증가되고 있다. Due to the remarkable development of memory and communication technology, the performance of computer has become very advanced, and with the development of network infrastructure, the spread of internet has been spreading all over the world. The diffusion of the Internet has a positive effect as well as a negative effect. Especially, the hacking of the information of the Internet users without authorization or the encroachment of the computer terminals and servers of other Internet users are becoming social problems. For example, attacks by other systems using worm viruses and malicious codes, and the problem of destroying other terminals are increasing.

컴퓨터 단말기 내에 이러한 악성 코드가 존재하는지를 탐지하기 위한 여러가지 프로그램 및 탐지 방법들이 개발되고 있다. 그러나 이러한 탐지 방법 및 프로그램들은 악성코드인지 여부를 판별하기 위해서 수작업에 의해 판독 작업이 이루어지고 이러한 판독 작업에 의해 저장된 데이터를 이용해서 악성코드의 존재를 탐지하는 방법이 이루어지고 있다. Various programs and detection methods have been developed to detect the presence of such malicious code in a computer terminal. However, these detection methods and programs are performed by manual operation in order to determine whether or not the malicious codes are detected, and a method of detecting the presence of malicious codes by using the data stored by the reading operation is performed.

그러나, 근래들어 악성 코드의 변종이 하루에도 수백종씩 나오고 그 변종에 대해서 샘플을 수집하여 분석하지 못하면 탐지도 할 수 없는 문제점이 있다. 또한 근래의 악성코드들은 실행압축, 코드 변형, 가상화, 코드 난독화 등의 복합 기술을 사용하여 그 분석을 힘들게 하고 있다. However, in recent years, there are problems that malicious code variants can not be detected if hundreds of malicious codes come out every day and samples can not be collected and analyzed. In addition, recent malicious codes are using complex technologies such as executable compression, code modification, virtualization, and code obfuscation to make the analysis difficult.

본 발명은, 상기한 문제점을 해결하기 위해서, 클라이언트 단말에서 실행되는 파일에 대해서 악성코드 여부를 판단하는 작업을 서버에서 일괄적으로 처리하게 하여 새로운 변종 악성 코드에 대한 대응이 빠른 악성코드 탐지 방법 및 시스템을 제공하는 것을 목적으로 한다. In order to solve the above-described problem, the present invention provides a malicious code detection method and a malicious code detection method in which a server executes a task of determining whether malicious code is executed on a file executed in a client terminal, System.

본 발명의 일측면은, 클라이언트 단말에서 실행파일에 대한 해쉬값을 추출하는 단계와, 상기 추출된 해쉬값을 서버로 전송하는 단계와, 상기 서버에서 상기 전송된 해쉬값을 이용하여 해당 파일의 악성코드 여부를 분석하는 단계, 및 상기 분석의 결과를 상기 클라이언트 단말로 전송하는 단계를 포함하는 악성코드 탐지 방법을 제공할 수 있다. According to an aspect of the present invention, there is provided a method for managing a malicious file, comprising: extracting a hash value for an executable file from a client terminal; transmitting the extracted hash value to a server; And transmitting the result of the analysis to the client terminal. According to another aspect of the present invention, there is provided a malicious code detection method comprising the steps of:

상기 악성코드 여부를 분석하는 단계는, 상기 전송된 해쉬값을 상기 서버에 기 저장된 해쉬값과 비교하여 상기 전송된 해쉬값을 갖는 파일에 대해 악성코드 여부를 판단할 수 있다.The step of analyzing whether the malicious code is detected may compare malicious code with a file having the transmitted hash value by comparing the transmitted hash value with a previously stored hash value in the server.

상기 악성코드 탐지 방법은, 상기 전송된 해쉬값을 가지는 파일에 대한 정보가 상기 서버에 없는 경우에는, 상기 클라이언트가 상기 실행파일을 상기 서버로 업로드하는 단계, 및 상기 서버에서 상기 업로드된 파일의 악성코드 여부를 분석하는 단계를 더 포함할 수 있다. The malicious code detection method may further include the steps of the client uploading the executable file to the server when the server does not have information on the file having the hash value transmitted thereto, And a step of analyzing whether or not the code is included.

상기 업로드된 파일의 악성코드 여부를 분석하는 단계는, 상기 업로드된 파일을 가상 운영체제에서 실행시켜 발생되는 행위를 모니터링하는 단계와, 상기 발생되는 행위를 실시간으로 수집하여 기 정의된 행위 정보와 비교하는 단계, 및 상기 비교 결과가 기 정의된 위험도를 초과하는 경우 해당 파일을 악성 코드로 판단하고 해당 파일의 해쉬값을 추출하여 데이터 베이스에 저장하는 단계를 포함할 수 있다. The step of analyzing whether or not the uploaded file is malicious code includes the steps of monitoring an action generated by executing the uploaded file in a virtual operating system, collecting the generated action in real time, And if the comparison result exceeds the predefined risk, determining the file as a malicious code, extracting a hash value of the file, and storing the extracted file in a database.

본 발명의 다른 일측면은, 실행파일에 대한 해쉬값을 추출하여 서버에 전송하는 클라이언트 단말, 및 상기 클라이언트 단말에서 전송된 해쉬값을 이용하여 해당 파일의 악성코드 여부를 분석하고, 분석된 결과를 상기 클라이언트 단말에 제공하는 서버를 포함하는 악성코드 탐지 시스템을 제공할 수 있다.According to another aspect of the present invention, there is provided a client terminal for extracting a hash value for an executable file and transmitting the extracted hash value to a server, and a client terminal for analyzing the malicious code of the file using the hash value transmitted from the client terminal, And a server for providing the malicious code to the client terminal.

상기 서버는, 상기 전송된 해쉬값을 상기 서버에 기 저장된 해쉬값과 비교하여 상기 전송된 해쉬값을 갖는 파일에 대해 악성코드 여부를 판단하는 분석부를 포함할 수 있다.The server may include an analyzer that compares the transmitted hash value with a previously stored hash value in the server to determine whether or not the file having the transmitted hash value is malicious code.

상기 클라이언트 단말은, 상기 전송된 해쉬값을 가지는 파일에 대한 정보가 상기 서버에 없는 경우, 상기 실행파일을 상기 서버에 업로드할 수 있다. The client terminal may upload the executable file to the server when the server does not have information about the transferred file having the hash value.

상기 서버는, 상기 업로드된 파일을 가상 운영체제에서 실행시켜 발생되는 행위를 모니터링하는 실행부와, 상기 실행부에서 발생되는 행위를 실시간으로 수집하여 기정의된 행위 정보와 비교하는 비교부와, 상기 비교부에서 비교 결과가 기 정의된 위험도를 초과하는지에 따라 악성코드 여부를 판단하는 판단부, 및 상기 판단부에서 악성코드로 판단된 경우 해당 파일의 해쉬값을 추출하여 데이터 베이스에 저장하는 저장부를 포함할 수 있다. The server includes an execution unit for monitoring an action that is generated by executing the uploaded file in a virtual operating system, a comparison unit for collecting the action generated in the execution unit in real time and comparing the action information with the predetermined action information, And a storage unit for storing the hash value of the file in the database when the determination unit determines that the malicious code is a malicious code, can do.

본 발명의 또 다른 일측면은, 클라이언트 단말에서 실행파일에 대한 해쉬값을 추출하는 단계와, 상기 추출된 해쉬값을 서버에 전송하는 단계, 및 상기 서버에서 전송되는 분석 결과를 수신받는 단계를 포함하는 악성 코드 탐지 방법이 저장된 컴퓨터 판독 가능한 저장매체를 제공할 수 있다.According to another aspect of the present invention, there is provided a method for managing a hash value, comprising: extracting a hash value for an executable file from a client terminal; transmitting the extracted hash value to a server; and receiving an analysis result transmitted from the server The malicious code detection method of the present invention can provide a computer-readable storage medium storing the malicious code detection method.

상기 악성 코드 탐지 방법이 저장된 컴퓨터 판독 가능한 저장매체는, 상기 서버에 상기 전송된 해쉬값을 가지는 파일에 대한 정보가 없는 경우에, 상기 실행파일을 상기 서버에 업로드하는 단계를 더 포함할 수 있다. The computer readable storage medium storing the malicious code detection method may further include a step of uploading the executable file to the server when the server does not have information on the file having the hash value transmitted to the server.

본 발명의 또 다른 일측면은, 클라이언트 단말로부터 해쉬값을 수신하는 단계와, 상기 수신된 해쉬값을 서버에 기 저장된 해쉬값과 비교하여 상기 수신된 해 쉬값을 갖는 파일에 대해 악성코드 여부를 분석하는 단계, 및 상기 분석의 결과를 상기 클라이언트 단말에 전송하는 단계를 포함하는 악성 코드 탐지 방법이 저장된 컴퓨터 판독 가능한 저장매체를 제공할 수 있다. According to another aspect of the present invention, there is provided a computer readable recording medium storing a program for causing a computer to execute the steps of: receiving a hash value from a client terminal; comparing the received hash value with a hash value stored in the server; And transmitting the result of the analysis to the client terminal. The malicious code detection method of the present invention may further comprise the steps of:

상기 악성 코드 탐지 방법이 저장된 컴퓨터 판독 가능한 저장매체는, 상기 수신된 해쉬값을 가지는 파일에 대한 정보가 상기 서버에 없는 경우, 상기 클라이언트 단말에서 업로드된 파일에 대한 분석을 수행하는 단계를 더 포함할 수 있다. The computer readable storage medium storing the malicious code detection method may further include analyzing the uploaded file at the client terminal when information on the file having the received hash value is not present in the server .

상기 파일에 대한 분석을 수행하는 단계는, 상기 업로드된 파일을 가상 운영체제에서 실행시켜 발생되는 행위를 모니터링하는 단계와, 상기 발생되는 행위를 실시간으로 수집하여 기 정의된 행위 정보와 비교하는 단계, 및 상기 비교 결과가 기 정의된 위험도를 초과하는 경우 해당 파일을 악성 코드로 판단하고 해당 파일의 해쉬값을 추출하여 데이터 베이스에 저장하는 단계를 포함할 수 있다. The step of analyzing the file may include the steps of monitoring an action generated by executing the uploaded file in a virtual operating system, collecting the generated action in real time, and comparing the generated action with predefined action information, If the comparison result exceeds the predefined risk, it may be determined that the file is a malicious code, and a hash value of the file is extracted and stored in the database.

본 발명에 따르면, 악성코드 탐지 속도가 빠르며, 새로운 변종 악성 코드에 대한 대응이 빠른 악성코드 탐지 방법 및 시스템을 얻을 수 있다.According to the present invention, it is possible to obtain a malicious code detection method and system that can detect a malicious code at a high speed and respond quickly to a new variant malicious code.

이하, 첨부된 도면을 참조하여 본 발명을 상세히 설명하겠다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

본 명세서에서 '악성코드'는 컴퓨터상에서 발생되는 바이러스, 웜 바이러스, 스파이웨어, 애드웨어 등을 포함하는 포괄적인 개념이다.In this specification, 'malicious code' is a comprehensive concept including viruses, worm viruses, spyware, adware and the like which are generated on a computer.

도 1은 본 발명의 일실시 형태에 따른 악성코드 탐지방법의 순서도이다. 1 is a flowchart of a malicious code detection method according to an embodiment of the present invention.

도 1을 참조하면, 본 실시형태에 따른 악성코드 탐지 방법(100)은 클라이언트 단말에서 실행파일에 대한 해쉬값을 추출하는 제1 단계(110)와, 상기 추출된 해쉬값을 서버로 전송하는 제2 단계(120)와, 상기 서버에서 상기 전송된 해쉬값을 이용하여 해당 파일의 악성코드 여부를 분석하는 제3 단계(130) 및 상기 분석의 결과를 상기 클라이언트 단말로 전송하는 제4 단계(140)를 포함할 수 있다.Referring to FIG. 1, a malicious code detection method 100 according to the present embodiment includes a first step 110 of extracting a hash value for an executable file from a client terminal, a first step 110 for transmitting the extracted hash value to a server A third step (120) of analyzing the hash value of the file, a third step (130) of analyzing whether the file is malicious code using the transmitted hash value, and a fourth step (140) of transmitting a result of the analysis to the client terminal ).

본 실시형태에 따른 악성코드 탐지방법은, 악성코드 여부의 판단 대상이 되는 파일을 클라이언트 단말에서 실행하고, 상기 실행된 파일에 대한 악성코드 여부는 상기 클라이언트 단말과 연결된 서버에서 판단하도록 할 수 있다. 따라서, 종래에 각각의 클라이언트 단말에서 악성코드 판단을 수행하던 경우에 비해 새로운 종류의 악성코드를 판단하고 분석하여 대처할 수 있는 시간을 줄일 수 있다. The malicious code detection method according to the present embodiment can execute a file to be judged as malicious code in the client terminal and judge whether or not the malicious code for the executed file is determined at the server connected to the client terminal. Therefore, it is possible to reduce the time required to determine and analyze a new kind of malicious code and cope with the malicious code compared to the case where malicious code is judged at each client terminal.

상기 제1 단계(110)는 클라이언트 단말에서 검사 대상이 되는 파일을 실행시키고 실행 파일의 해쉬값을 추출할 수 있다. 상기 해쉬값을 추출하는 것은 해쉬함수를 이용하여 추출할 수 있다. 상기 클라이언트 단말은 개인용 컴퓨터 뿐만이 아니라 이동통신 단말기 등이 포함될 수 있다. In the first step 110, a client terminal can execute a file to be inspected and extract a hash value of the executable file. The hash value can be extracted using a hash function. The client terminal may include not only a personal computer but also a mobile communication terminal.

제2 단계(120)에서는 상기 제1 단계에서 추출된 실행파일에 대한 해쉬값을 서버로 전송할 수 있다. 본 실시형태에서는 클라이언트 단말에서 직접 악성코드 여부를 판단하지 않고 실행파일에 대한 해쉬값을 서버로 전송하여 해당 파일이 악성코드에 해당되는지 여부를 물을 수 있다. In the second step 120, the hash value of the executable file extracted in the first step may be transmitted to the server. In the present embodiment, the hash value of the executable file may be transmitted to the server without asking the client terminal directly to determine whether or not the malicious code is present, so as to inquire whether or not the file corresponds to the malicious code.

제3 단계(130)는 상기 전송된 해쉬값을 이용하여 해당 파일이 악성코드인지를 분석할 수 있다. 본 실시형태에서, 상기 서버에는 기분석된 악성코드들에 대한 해쉬값이 정의되어 저장될 수 있다. 상기 서버에서는 상기 클라이언트 단말에서 전송된 해쉬값을 상기 기저장되어 있는 해쉬값과 비교하여 상기 클라이언트 단말에서 실행된 파일에 대한 악성 코드 여부를 분석할 수 있다. 상기 서버에는 해쉬값에 따라 해당 파일이 악성코드인지 아닌지에 대한 정보가 저장될 수 있다.The third step 130 may analyze whether the corresponding file is a malicious code by using the transmitted hash value. In the present embodiment, a hash value for previously analyzed malicious codes may be defined and stored in the server. The server compares the hash value transmitted from the client terminal with the hash value stored in the client terminal, and analyzes the malicious code for the file executed in the client terminal. The server may store information on whether or not the corresponding file is a malicious code according to a hash value.

제4 단계(140)는 상기 제3 단계(130)에서 분석된 결과를 상기 클라이언트 단말로 전송할 수 있다. 상기 클라이언트 단말에서는 상기 분석 결과를 전송받고, 상기 분석 결과에 따라 대응할 수 있다. 예를 들어, 상기 제3 단계(130)에서 해당 파일을 악성 코드로 판단한 경우에는 상기 클라이언트 단말에서는 이후에 상기 파일에 대한 치료 과정을 거칠 수 있다. 상기 제3 단계(130)에서 해당 파일이 악성코드가 아닌 것으로 판단된 경우에는 상기 클라이언트 단말에서는 해당 파일의 실행을 계속 수행할 수 있다. The fourth step 140 may transmit the analyzed result in the third step 130 to the client terminal. The client terminal may receive the analysis result and respond to the analysis result. For example, if the file is determined to be a malicious code in the third step 130, the client terminal may subsequently perform a process for the file. If it is determined in the third step 130 that the file is not a malicious code, the client terminal can continue execution of the file.

본 실시형태는, 전송된 해쉬값을 가지는 파일에 대한 정보가 상기서버에 없 는 경우(101)에 상기 클라이언트 단말에서 상기 파일을 서버로 업로드 하는 제5 단계(150) 및 상기 서버에서 상기 업로드된 파일의 악성코드 여부를 분석하는 제6 단계(160)를 더 포함할 수 있다. In the present embodiment, if the server does not have information on a file having a hash value (101), the client terminal uploads the file to a server (150). In the fifth step (150) And a sixth step 160 of analyzing whether the file is malicious code.

상기 제5 단계(150)는, 상기 제2 단계(120)에서 전송된 해쉬값에 해당하는 파일 정보가 상기 서버에 기정의되어 있지 않은 경우에 진행될 수 있다. 따라서, 상기 클라이언트 단말에서는 이러한 파일에 대해 악성코드로 의심을 하게되어 상기 파일 자체를 상기 서버로 전송할 수 있다. The fifth step 150 may be performed when the file information corresponding to the hash value transmitted in the second step 120 is not predetermined in the server. Therefore, the client terminal suspends malicious code on such a file, and can transmit the file itself to the server.

상기 제6 단계(160)에서는 상기 클라이언트 단말로부터 업로드된 파일에 대해서 악성코드 여부 분석을 수행할 수 있다. 본 실시형태에서는 상기 업로드된 파일을 가상화 환경에서 실행시키고 이 때 발생되는 행위를 모니터링하여 해당 파일이 악성코드인지 여부를 판단할 수 있다. 본 단계에서 악성 코드로 판단된 경우에는 상기 서버에서는 해당 파일에 대한 해쉬값을 추출하여 저장할 수 있다. In the sixth step 160, malicious code analysis may be performed on the file uploaded from the client terminal. In this embodiment, the uploaded file is executed in a virtualized environment, and an action occurring at this time is monitored to determine whether the file is a malicious code. If it is determined as a malicious code in this step, the server can extract and store a hash value for the file.

상기 서버는 상기 제6 단계(160)에서 분석된 결과를 상기 클라이언트 컴퓨터로 다시 전송(140)할 수 있다. 이 때, 상기 제6 단계에서 분석된 해당 파일에 대한 정보를 상기 서버에 저장하고, 상기 서버에 연결된 다른 클라이언트 단말들로부터 해당 파일에 대한 해쉬값이 전송될 해당파일에 대한 정보를 공유할 수 있다. The server may transmit the analyzed result in the sixth step 160 to the client computer 140 again. At this time, information on the file analyzed in the sixth step is stored in the server, and information about the file to be transmitted with the hash value of the file can be shared from other client terminals connected to the server .

이처럼, 본 실시형태에 따른 악성코드 탐지 방법은, 클라이언트 단말에서는 실행파일에 대한 해쉬값 추출 또는 실행파일 업로드 과정을 수행하고, 상기 실행파 일이 악성코드에 해당하는지에 대한 분석은 서버에서 실행할 수 있다. 즉, 상기 서버에 악성코드를 검사하기 위한 데이터 베이스 파일이 저장되어 있고, 상기 클라이언트 단말에서는 상기 서버에 저장된 데이터 베이스를 이용하기 위한 최소의 작동만을 할 수 있다. 따라서, 악성 코드를 검사하기 위한 데이터 베이스 파일이 큰 경우 이를 실제 클라이언트 단말에 저장하여 사용하는 경우에 비해 검사 시간을 줄일 수 있다. 또한, 클라이언트 단말의 시스템을 가볍게 구성할 수 있는 효과가 있다. As described above, in the malicious code detection method according to the present embodiment, the client terminal performs a process of extracting a hash value or uploading an executable file to an executable file, and analyzing whether the executable file corresponds to a malicious code can be executed in the server have. That is, a database file for inspecting a malicious code is stored in the server, and the client terminal can perform only a minimum operation for using the database stored in the server. Therefore, when the database file for checking malicious code is large, the inspection time can be reduced as compared with the case where the malicious code is stored in the actual client terminal. Further, there is an effect that the system of the client terminal can be configured lightly.

도 2는, 본 발명의 다른 실시형태에 따른 악성코드 탐지방법을 나타내는 순서도이다. 본 실시형태에 따른 악성코드 탐지방법은 상기 도 1에 개시된 업로드된 파일을 분석하는 단계(160)의 구체적인 형태일 수 있다. 즉, 본 실시형태에 따른 악성코드 탐지방법은 클라이언트 단말에서 전송된 해쉬값에 대한 정보가 상기 서버에 저장되어 있지 않은 경우 상기 파일 자체가 서버에 업로드 되었을 때 실행될 수 있는 방법이다. 2 is a flowchart showing a malicious code detection method according to another embodiment of the present invention. The malicious code detection method according to the present embodiment may be a specific form of the step 160 of analyzing the uploaded file shown in FIG. That is, the malicious code detection method according to the present embodiment is a method that can be executed when the file itself is uploaded to the server when the information about the hash value transmitted from the client terminal is not stored in the server.

도 2에 개시된 악성코드 탐지방법(200)은 업로드된 파일을 가상 운영체제에서 실행시켜 발생되는 행위를 모니터링하는 제7 단계(261)와, 상기 발생되는 행위를 실시간으로 수집하여 기 정의된 행위 정보와 비교하는 제8 단계(262), 및 상기 비교 결과가 기 정의된 위험도를 초과하는 경우 해당 파일을 악성 코드로 판단하고 해당 파일의 해쉬값을 추출하여 데이터 베이스에 저장하는 제9 단계(263, 264, 265)를 포함할 수 있다. The malicious code detection method 200 shown in FIG. 2 includes a seventh step 261 of monitoring an action generated by executing an uploaded file in a virtual operating system, a step 261 of collecting the generated action in real time, An eighth step (262) of comparing the file with the predetermined risk, and a ninth step (263, 264) of judging the file as a malicious code and extracting a hash value of the file, , 265).

상기 제7 단계(261)는, 상기 클라이언트 단말에서 업로드된 파일을 서버의 가상 운영체제에서 실행시키고 상기 가상 운영체제에서 파일 실행시 발생되는 행위를 모니터링할 수 있다. 여기서, 가상 운영체제란 악성코드가 각각의 운영체제에서 어떻게 동작하는지 알아보기 위한 것으로서 Windows 2000, Windows XP, Windows 2003, Windows CE, 리눅스(LINUX), 및 유닉스(UNIX) 등이 포함될 수 있다. 한편 상기 모니터링은 시스템의 커널 레벨에서 수행되며 상기 모니터링의 대상이 되는 예로는 파일의 생성과 삭제, 메모리의 생성, 삭제 및 수정, 리지스트리의 생성, 삭제 및 수정 및 네트워크의 정보흐름 등이 포함될 수 있다. The seventh step 261 may execute a file uploaded from the client terminal in the virtual operating system of the server and monitor an action occurring when the file is executed in the virtual operating system. Here, the virtual operating system is used to determine how malicious code operates in each operating system, and may include Windows 2000, Windows XP, Windows 2003, Windows CE, Linux, and UNIX. Meanwhile, the monitoring is performed at the kernel level of the system. Examples of the monitoring include generation and deletion of a file, creation, deletion and modification of a memory, creation, deletion and modification of a registry, and information flow of a network have.

상기 제8 단계(262)에서는 상기 제7 단계(261)에서 발생되는 행위를 실시간으로 수집하여 상기 서버에 저장되어 있는 기정의된 행위정보와 비교할 수 있다. 여기서 상기 서버에 저장되어 있는 기정의된 행위정보란 악성코드로 분류된 파일의 실행시 발생되는 행위정보일 수 있다. 본 단계에서는 상기 업로드된 파일의 실행시 발생되는 행위들을 상기 서버에 저장된 행위와 비교하여 일치하는 행위의 개수 또는 퍼센티지를 카운트할 수 있다.In the eighth step 262, the action generated in the seventh step 261 may be collected in real time and compared with the predetermined action information stored in the server. Here, the default behavior information stored in the server may be behavior information generated upon execution of a file classified as a malicious code. In this step, the actions occurring at the time of execution of the uploaded file may be compared with the actions stored in the server to count the number or percentage of matching actions.

상기 제9 단계에서는, 먼저 상기 제8 단계에서 비교된 행위의 일치 정도에 따라 상기 실행 파일의 위험도를 판단(263)할 수 있다. 상기 해당파일의 실행된 행위가 기설정된 위험도를 초과하면 상기 서버에서는 상기 실행파일을 악성 코드로 판단(264)할 수 있다. 상기 기설정된 위험도는 상기 제8 단계(262)에서 수집된 행위와 서버에 저장된 기정의된 행위정보와의 일치 정도로 설정할 수 있다. 상기 서 버에서는 상기 악성 코드로 판단된 파일의 해쉬값을 추출하고 이를 저장(265)할 수 있다. 이렇게 저장된 파일에 대한 해쉬값은 이후에 클라이언트 컴퓨터에서 상기 해당 파일과 동일한 형태의 파일에 대한 해쉬값이 전송되는 경우 해당 파일에 대한 악성코드 여부를 판단하도록 할 수 있다. In the ninth step, the risk of the executable file may be determined (263) according to the degree of coincidence of the actions compared in the eighth step. If the action of the corresponding file exceeds a predetermined risk, the server may determine the executable file as a malicious code (264). The predetermined risk may be set to a degree of coincidence between the action collected in the eighth step 262 and the predefined action information stored in the server. The server may extract the hash value of the file determined to be the malicious code and store it (step 265). The hash value of the stored file can be used to determine whether the malicious code for the file is transmitted if the hash value of the file of the same type as that of the corresponding file is transmitted later on the client computer.

상기 제8 단계에서 비교된 행위의 일치 정도가 기설정된 위험도를 초과하지 않으면, 상기 해당파일을 정상파일로 판단(266)할 수 있다. If the degree of coincidence of the actions compared in the eighth step does not exceed the predetermined risk, the corresponding file may be determined to be a normal file (266).

본 실시형태에서는 업로드된 파일의 정상 여부를 판단하여 그 결과를 다시 클라이언트 단말로 전송할 수 있다. In this embodiment, it is possible to determine whether or not the uploaded file is normal and transmit the result to the client terminal again.

도 3은, 본 발명의 다른 실시형태에 따른 악성코드 탐지 시스템의 구성도이다. 3 is a configuration diagram of a malicious code detection system according to another embodiment of the present invention.

본 실시형태에 따른 악성코드 탐지 시스템(300)은, 클라이언트 단말(310) 및 서버(320)를 포함할 수 있다. The malicious code detection system 300 according to the present embodiment may include a client terminal 310 and a server 320. [

상기 클라이언트 단말(310)은, 실행파일에 대한 해쉬값을 추출하여 서버(320)에 전송(311)할 수 있다. 또한, 전송된 해쉬값에 대한 정보가 상기 서버에 존재하지 않으면, 상기 실행파일을 상기 서버(320)에 업로드(312)할 수 있다. 상기 클라이언트 단말(310)은 개인용 컴퓨터 뿐만이 아니라 서버와 유선 또는 무선으로 연결될 수 있는 이동통신 단말기를 포함할 수 있다. The client terminal 310 may extract the hash value of the executable file and transmit 311 the hash value to the server 320. [ In addition, if information on the transmitted hash value does not exist in the server, the upload file may be uploaded to the server 320 (312). The client terminal 310 may include not only a personal computer but also a mobile communication terminal that can be connected to a server by wire or wireless.

상기 서버(320)는 상기 클라이언트 단말(310)에서 전송된 해쉬값을 이용하여 해당 파일의 악성코드 여부를 분석하고, 분석된 결과를 상기 클라이언트 단말에 제공할 수 있다. 여기서, 상기 서버는 상기 전송된 해쉬값을 상기 서버에 저장된 기 정의된 해쉬값과 비교하여 상기 전송된 해쉬값을 갖는 실행파일의 악성 코드 여부를 분석하는 분석부(321)를 포함할 수 있다. 상기 서버(320)에는 기분석된 악성코드들에 대한 해쉬값이 정의되어 저장될 수 있다. 상기 분석부(321)에서는 상기 전송된 해쉬값이 상기 기저장된 해쉬값에 해당하는지를 판단할 수 있다. The server 320 may analyze the malicious code of the corresponding file using the hash value transmitted from the client terminal 310 and provide the analyzed result to the client terminal. The server may include an analyzer 321 for analyzing the malicious code of the executable file having the transmitted hash value by comparing the transmitted hash value with a predefined hash value stored in the server. The server 320 may define and store a hash value for malicious codes analyzed earlier. The analyzer 321 can determine whether the transmitted hash value corresponds to the previously stored hash value.

또한, 본 실시형태에서 상기 서버(320)는, 실행부(322), 비교부(323), 판단부(324) 및 저장부(325)를 더 포함할 수 있다. The server 320 may further include an execution unit 322, a comparison unit 323, a determination unit 324, and a storage unit 325 in this embodiment.

상기 실행부(322)는 상기 클라이언트 단말(310)로부터 업로드된 파일을 가상 운영체제에서 실행시켜 발생되는 행위를 모니터링할 수 있다. 상기 가상 운영체제란 악성코드가 각각의 운영체제에서 어떻게 동작하는지 알아보기 위한 것으로서, Windows 2000, Windows XP, Windows 2003, Windows CE, 리눅스(LINUX), 및 유닉스(UNIX) 등이 포함될 수 있다. 한편 상기 모니터링의 대상에는 파일의 생성과 삭제, 메모리의 생성, 삭제 및 수정, 리지스트리의 생성, 삭제 및 수정 및 네트워크의 정보흐름 등이 포함될 수 있다. The execution unit 322 can monitor an action generated by executing a file uploaded from the client terminal 310 in a virtual operating system. The virtual operating system is for detecting malicious code in each operating system and may include Windows 2000, Windows XP, Windows 2003, Windows CE, LINUX, and UNIX. On the other hand, the objects of the monitoring may include creation and deletion of files, creation, deletion and modification of memory, creation, deletion and modification of the registry, and information flow of the network.

상기 비교부(323)는 상기 실행부(322)에서 발생되는 행위를 실시간으로 수집하여 기정의된 행위 정보와 비교할 수 있다. 상기 기정의된 행위 정보는 악성코드로 분류된 파일의 실행시 발생되는 행위정보일 수 있다. 상기 비교부(323)에서는 상기 업로드된 파일의 실행시 발생되는 행위들을 상기 기정의된 행위 정보와 비교하여 일치하는 행위의 개수 또는 퍼센티지를 카운트할 수 있다. The comparing unit 323 may collect the action generated by the executing unit 322 in real time and compare the action with the predetermined action information. The predefined behavior information may be behavior information generated upon execution of a file classified as a malicious code. The comparison unit 323 compares the actions occurring at the execution of the uploaded file with the predefined action information, and counts the number or percentage of matching actions.

상기 판단부(324)는, 상기 비교부(323)에서 비교 결과가 기 정의된 위험도를 초과하는지에 따라 악성코드 여부를 판단하고 판단된 결과를 상기 클라이언트 단말(310)로 전송할 수 있다. 상기 기정의된 위험도는 상기 비교부(323)에서 수집된 행위와 기정의된 행위정보와의 일치 정도로 설정할 수 있다. The determination unit 324 may determine whether the comparison result is malicious code according to whether the comparison result exceeds a predetermined risk level, and may transmit the determined result to the client terminal 310. The predetermined risk level can be set to a degree of matching between the action collected by the comparison unit 323 and the predetermined action information.

상기 저장부(325)는 상기 판단부(324)에서 해당 파일이 악성코드로 판단된 경우 해당 파일의 해쉬값을 추출하여 데이터 베이스에 저장할 수 있다. 이렇게 저장된 데이터는 이후에 클라이언트 단말에서 해당 파일을 실행하여 해쉬값이 추출되면 상기 해쉬값에 대한 정보를 제공 할 수 있다. When the determination unit 324 determines that the file is a malicious code, the storage unit 325 may extract a hash value of the file and store the extracted hash value in a database. The stored data may be used to provide information on the hash value if the hash value is extracted by executing the corresponding file in the client terminal.

본 실시형태에서는 분석부(321), 실행부(322), 비교부(323), 및 판단부(324)를 각각 다른 구성으로 표시하였으나, 이들은 상기 서버 내에서 일련의 연산을 수행하는 것이므로 하나의 연산 장치로 구현될 수도 있다. In the present embodiment, the analyzing unit 321, the executing unit 322, the comparing unit 323, and the determining unit 324 are displayed in different configurations, but since they perform a series of operations in the server, May be implemented as a computing device.

도 4는, 본 발명의 또 다른 실시형태에 따른 컴퓨터 판독 가능한 저장매체에 저장된 악성코드 탐지방법의 구성도이다.4 is a configuration diagram of a malicious code detection method stored in a computer-readable storage medium according to still another embodiment of the present invention.

도 4를 참조하면, 본 실시형태에 따른 컴퓨터 판독 가능한 저장매체(400)에는 클라이언트 단말에서 실행파일에 대한 해쉬값을 추출하는 단계(410)와, 상기 추 출된 해쉬값을 서버에 전송하는 단계(420)와, 상기 서버에서 전송되는 분석 결과를 수신받는 단계(440)를 포함하는 악성 코드 탐지 방법이 저장될 수 있다. Referring to FIG. 4, a computer readable storage medium 400 according to an embodiment of the present invention includes a step 410 of extracting a hash value of an executable file from a client terminal, a step of transmitting the extracted hash value to a server 420), and receiving the analysis result transmitted from the server (440).

본 실시형태에 따른 저장매체(400)는, 상기 서버에 상기 전송된 해쉬값을 가지는 파일에 대한 정보가 없는 경우 상기 실행파일을 상기 서버에 업로드하는 단계(450)를 더 포함할 수 있다. The storage medium 400 according to the present embodiment may further include a step (450) of uploading the executable file to the server if the server does not have information on the transferred file having the hash value.

본 실시형태에 따른 저장매체(400)에 저장된 악성 코드 탐지 방법은 클라이언트 단말에 저장되어 상기 클라이언트 단말을 제어할 수 있다. 본 실시형태에 따른 저장매체에 저장된 악성 코드 탐지 방법은, 클라이언트 단말에서 실행되는 파일의 해쉬값을 추출하여 서버로 전송하고, 상기 전송된 해쉬값에 대한 정보가 상기 서버에 없을 때에는 실행 파일 자체를 서버로 업로드 할 수 있다. 이처럼, 본 실시형태에 따른 악성 코드 탐지 방법을 이용하면 클라이언트 단말에서 직접 실행파일에 대한 악성코드를 분석할 필요가 없어서 상기 클라이언트 단말을 가볍게 구현할 수 있다. The malicious code detection method stored in the storage medium 400 according to the present embodiment can be stored in the client terminal to control the client terminal. The malicious code detection method stored in the storage medium according to the present embodiment extracts a hash value of a file executed in the client terminal and transmits the extracted hash value to the server. When there is no information on the transmitted hash value in the server, You can upload to the server. As described above, when the malicious code detection method according to the present embodiment is used, it is not necessary to directly analyze the malicious code for the executable file at the client terminal, so that the client terminal can be implemented lightly.

도 5는, 본 발명의 또 다른 실시형태에 따른 컴퓨터 판독 가능한 저장매체의 구성도이다.5 is a configuration diagram of a computer-readable storage medium according to still another embodiment of the present invention.

도 5를 참조하면, 본 실시형태에 따른 저장매체(500)에는 클라이언트 단말로부터 해쉬값을 수신하는 단계(510)와, 상기 수신된 해쉬값을 기 정의된 해쉬값과 비교하여 악성코드 여부를 분석하는 단계(530)와 상기 분석의 결과값을 상기 클라이언트 단말에 전송하는 단계(540)를 포함하는 악성 코드 탐지 방법이 저장될 수 있다. 5, a storage medium 500 according to an embodiment of the present invention includes a step 510 of receiving a hash value from a client terminal, comparing the received hash value with a predefined hash value, And transmitting the result of the analysis to the client terminal (540).

본 실시형태에서 상기 저장매체(500)에 저장된 악성코드 탐지방법은, 수신된 해쉬값을 가지는 파일에 대한 정보가 서버에 없는 경우(520)에는 클라이언트 단말에서 업로드된 파일에 대한 분석을 수행하는 단계(560)를 더 포함할 수 있다. 상기 분석을 수행하는 단계(560)는, 상기 업로드된 파일을 가상 운영체제에서 실행시켜 발생되는 행위를 모니터링하는 단계(561)와, 상기 발생되는 행위를 실시간으로 수집하여 기 정의된 행위 정보와 비교하는 단계(562) 및 상기 비교 결과가 기 정의된 위험도를 초과하는 경우 해당 파일을 악성 코드로 판단하고 해당 파일의 해쉬값을 추출하여 데이터 베이스에 저장하는 단계(563)를 포함할 수 있다. 상기 업로드된 파일에 대한 분석을 수행하는 단계는 상기 도 2에 도시된 방법이 사용될 수 있다.In the present embodiment, the malicious code detection method stored in the storage medium 500 may include analyzing (520) the uploaded file in the case where the server does not have information on the file having the received hash value (520) (560). The analyzing step 560 may include monitoring (561) an action generated by executing the uploaded file in a virtual operating system, collecting the generated action in real time, and comparing the generated action with previously defined action information If the comparison result exceeds the predefined risk level, it is determined that the file is a malicious code, and a hash value of the file is extracted and stored in a database (563). The step of analyzing the uploaded file can be performed by the method shown in FIG.

본 실시형태에 따른 저장매체(500)에 저장된 악성 코드 탐지 방법은 서버에 저장되어 상기 서버를 제어할 수 있다. 본 실시형태에 따르면, 상기 전송된 해쉬값을 기 정의된 해쉬값과 비교하여 악성코드 여부를 분석하는 단계(530)에서는 상기 전송된 해쉬값이 상기 서버에 저장된 기분석된 악성코드들에 대한 해쉬값에 해당하는지 여부에 따라 악성코드 여부를 분석할 수 있다. The malicious code detection method stored in the storage medium 500 according to the present embodiment can be stored in the server to control the server. According to the present exemplary embodiment, in step 530 of comparing the transmitted hash value with a predefined hash value to determine whether the malicious code is present, the transmitted hash value is compared with a hash value of the analyzed malicious codes stored in the server It is possible to analyze whether or not it is malicious code according to whether or not it corresponds to the value.

또한, 본 실시형태에 따른 저장매체에 저장된 악성 코드 탐지 방법에 의하면, 상기 클라이언트 단말로부터 파일 자체가 업로드된 경우에는, 상기 업로드된 파일을 분석하도록 상기 서버를 제어할 수 있다. According to the malicious code detection method stored in the storage medium according to the present embodiment, when the file itself is uploaded from the client terminal, the server can be controlled to analyze the uploaded file.

본 발명은 상술한 실시형태 및 첨부된 도면에 의해 한정되는 것이 아니며, 첨부된 청구범위에 의해 한정하고자 한다. 따라서, 청구범위에 기재된 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 당 기술분야의 통상의 지식을 가진 자에 의해 다양한 형태의 치환, 변형 및 변경이 가능할 것이며, 이 또한 본 발명의 범위에 속한다고 할 것이다.The present invention is not limited by the above-described embodiments and the accompanying drawings, but is intended to be limited only by the appended claims. It will be apparent to those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. something to do.

도 1은, 본 발명의 일실시 형태에 따른 악성코드 탐지 방법의 순서도이다.1 is a flowchart of a malicious code detection method according to an embodiment of the present invention.

도 2는, 본 발명의 다른 실시형태에 따른 악성코드 탐지 방법의 순서도이다.2 is a flowchart of a malicious code detection method according to another embodiment of the present invention.

도 3은, 본 발명의 다른 측면에 따른 악성코드 탐지 시스템의 구성도이다. 3 is a block diagram of a malicious code detection system according to another aspect of the present invention.

도 4는, 본 발명의 또 다른 측면의 일실시형태에 따른 악성코드 탐지 방법이 저장된 기록매체의 구성도이다. 4 is a configuration diagram of a recording medium storing a malicious code detection method according to an embodiment of another aspect of the present invention.

도 5는, 본 발명의 또 다른 측면의 다른 실시형태에 따른 악성코드 탐지 방법이 저장된 기록매체의 구성도이다. 5 is a configuration diagram of a recording medium on which a malicious code detection method according to another embodiment of the present invention is stored.

<도면의 주요 부분에 대한 부호설명>Description of the Related Art [0002]

310 : 클라이언트 단말 320 : 서버310: client terminal 320: server

321 : 분석부 322 : 실행부321: Analysis unit 322: Execution unit

323 : 비교부 324 : 판단부323: comparator 324:

325 : 저장부325:

Claims (13)

클라이언트 단말에서 실행파일에 대한 해쉬값을 추출하는 단계;Extracting a hash value for an executable file from a client terminal; 상기 추출된 해쉬값을 서버로 전송하는 단계;Transmitting the extracted hash value to a server; 상기 서버에서 상기 전송된 해쉬값을 이용하여 해당 파일의 악성코드 여부를 분석하는 단계; 및Analyzing whether the file is malicious code using the transmitted hash value; And 상기 분석의 결과를 상기 클라이언트 단말로 전송하는 단계Transmitting the result of the analysis to the client terminal 를 포함하는 악성코드 탐지 방법.A malicious code detection method. 제1항에 있어서,The method according to claim 1, 상기 악성코드 여부를 분석하는 단계는,The method of claim 1, 상기 전송된 해쉬값을 상기 서버에 기 저장된 해쉬값과 비교하여 상기 전송된 해쉬값을 갖는 파일에 대해 악성코드 여부를 판단하는 것을 특징으로 하는 악성코드 탐지 방법.Comparing the transmitted hash value with a hash value previously stored in the server, and determining whether the malicious code is a file having the transmitted hash value. 제1항에 있어서,The method according to claim 1, 상기 전송된 해쉬값을 가지는 파일에 대한 정보가 상기 서버에 없는 경우에는,If the server does not have information on a file having the hash value, 상기 클라이언트가 상기 실행파일을 상기 서버로 업로드하는 단계; 및 Uploading the executable file to the server by the client; And 상기 서버에서 상기 업로드된 파일의 악성코드 여부를 분석하는 단계Analyzing whether the uploaded file is malicious code in the server 를 더 포함하는 것을 특징으로 하는 악성코드 탐지 방법.The malicious code detection method further comprising: 제3항에 있어서,The method of claim 3, 상기 업로드된 파일의 악성코드 여부를 분석하는 단계는, The step of analyzing whether the uploaded file is malicious code includes: 상기 업로드된 파일을 가상 운영체제에서 실행시켜 발생되는 행위를 모니터링하는 단계;Monitoring an action generated by executing the uploaded file in a virtual operating system; 상기 발생되는 행위를 실시간으로 수집하여 기 정의된 행위 정보와 비교하는 단계; 및Collecting the generated actions in real time and comparing them with predefined action information; And 상기 비교 결과가 기 정의된 위험도를 초과하는 경우 해당 파일을 악성 코드로 판단하고 해당 파일의 해쉬값을 추출하여 데이터 베이스에 저장하는 단계If the comparison result exceeds the pre-defined risk, the file is determined as a malicious code, and a hash value of the file is extracted and stored in a database 를 포함하는 것을 특징으로 하는 악성코드 탐지 방법.The malicious code detection method comprising the steps of: 실행파일에 대한 해쉬값을 추출하여 서버에 전송하는 클라이언트 단말; 및A client terminal for extracting a hash value for the executable file and transmitting the extracted hash value to the server; And 상기 클라이언트 단말에서 전송된 해쉬값을 이용하여 해당 파일의 악성코드 여부를 분석하고, 분석된 결과를 상기 클라이언트 단말에 제공하는 서버A server for analyzing a malicious code of a corresponding file using the hash value transmitted from the client terminal and providing the analyzed result to the client terminal, 를 포함하는 악성코드 탐지 시스템.A malicious code detection system. 제5항에 있어서,6. The method of claim 5, 상기 서버는,The server comprises: 상기 전송된 해쉬값을 상기 서버에 기 저장된 해쉬값과 비교하여 상기 전송된 해쉬값을 갖는 파일에 대해 악성코드 여부를 판단하는 분석부An analysis unit for comparing the transmitted hash value with a hash value previously stored in the server and determining whether the file has the transmitted hash value, 를 포함하는 것을 특징으로 하는 악성코드 탐지 시스템.And a malicious code detection system. 제5항에 있어서, 6. The method of claim 5, 상기 클라이언트 단말은, The client terminal, 상기 전송된 해쉬값을 가지는 파일에 대한 정보가 상기 서버에 없는 경우,If the server does not have information about a file having the hash value, 상기 실행파일을 상기 서버에 업로드하는 것을 특징으로 하는 악성코드 탐지 시스템.And uploads the executable file to the server. 제7항에 있어서,8. The method of claim 7, 상기 서버는, The server comprises: 상기 업로드된 파일을 가상 운영체제에서 실행시켜 발생되는 행위를 모니터링하는 실행부;An execution unit for monitoring an activity generated by executing the uploaded file in a virtual operating system; 상기 실행부에서 발생되는 행위를 실시간으로 수집하여 기정의된 행위 정보와 비교하는 비교부;A comparing unit for collecting an action generated by the executing unit in real time and comparing the same with the predetermined action information; 상기 비교부에서 비교 결과가 기 정의된 위험도를 초과하는지에 따라 악성코드 여부를 판단하는 판단부; 및A determination unit for determining whether the comparison result is a malicious code according to whether the comparison result exceeds a predefined risk level; And 상기 판단부에서 악성코드로 판단된 경우 해당 파일의 해쉬값을 추출하여 데이터 베이스에 저장하는 저장부A hash value extracting unit for extracting a hash value of the file and storing the extracted hash value in a database, 를 포함하는 것을 특징으로 하는 악성코드 탐지 시스템.And a malicious code detection system. 클라이언트 단말에서 실행파일에 대한 해쉬값을 추출하는 단계;Extracting a hash value for an executable file from a client terminal; 상기 추출된 해쉬값을 서버에 전송하는 단계; 및Transmitting the extracted hash value to a server; And 상기 서버에서 전송되는 분석 결과를 수신받는 단계Receiving an analysis result transmitted from the server 를 포함하는 악성 코드 탐지 방법이 저장된 컴퓨터 판독 가능한 저장매체.Wherein the malicious code detection method comprises the steps of: 제9항에 있어서,10. The method of claim 9, 상기 서버에 상기 전송된 해쉬값을 가지는 파일에 대한 정보가 없는 경우에,If there is no information on the file having the hash value transmitted to the server, 상기 실행파일을 상기 서버에 업로드하는 단계Uploading the executable file to the server 를 더 포함하는 것을 특징으로 하는 악성 코드 탐지방법이 저장된 컴퓨터 판독 가능한 저장매체.Wherein the malicious code detection method further comprises the steps of: 클라이언트 단말로부터 해쉬값을 수신하는 단계;Receiving a hash value from a client terminal; 상기 수신된 해쉬값을 서버에 기 저장된 해쉬값과 비교하여 상기 수신된 해쉬값을 갖는 파일에 대해 악성코드 여부를 분석하는 단계; 및Comparing the received hash value with a hash value previously stored in the server, and analyzing whether or not the file having the received hash value is malicious code; And 상기 분석의 결과를 상기 클라이언트 단말에 전송하는 단계Transmitting the result of the analysis to the client terminal 를 포함하는 악성 코드 탐지 방법이 저장된 컴퓨터 판독 가능한 저장매체.Wherein the malicious code detection method comprises the steps of: 제11항에 있어서,12. The method of claim 11, 상기 수신된 해쉬값을 가지는 파일에 대한 정보가 상기 서버에 없는 경우,If the server does not have information about a file having the received hash value, 상기 클라이언트 단말에서 업로드된 파일에 대한 분석을 수행하는 단계Analyzing the uploaded file from the client terminal 를 더 포함하는 것을 특징으로 하는 악성 코드 탐지 방법이 저장된 컴퓨터 판독 가능한 저장매체. Wherein the malicious code detection method further comprises the steps of: 제12항에 있어서,13. The method of claim 12, 상기 파일에 대한 분석을 수행하는 단계는,The step of analyzing the file may include: 상기 업로드된 파일을 가상 운영체제에서 실행시켜 발생되는 행위를 모니터링하는 단계;Monitoring an action generated by executing the uploaded file in a virtual operating system; 상기 발생되는 행위를 실시간으로 수집하여 기 정의된 행위 정보와 비교하는 단계; 및Collecting the generated actions in real time and comparing them with predefined action information; And 상기 비교 결과가 기 정의된 위험도를 초과하는 경우 해당 파일을 악성 코드로 판단하고 해당 파일의 해쉬값을 추출하여 데이터 베이스에 저장하는 단계If the comparison result exceeds the pre-defined risk, the file is determined as a malicious code, and a hash value of the file is extracted and stored in a database 를 포함하는 것을 특징으로 하는 악성 코드 탐지 방법이 저장된 컴퓨터 판독 가능한 저장매체. Wherein the malicious code detection method comprises the steps of:
KR1020090066396A 2009-07-21 2009-07-21 Method, system and computer readable recording medium for detecting exploit code KR101043299B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090066396A KR101043299B1 (en) 2009-07-21 2009-07-21 Method, system and computer readable recording medium for detecting exploit code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090066396A KR101043299B1 (en) 2009-07-21 2009-07-21 Method, system and computer readable recording medium for detecting exploit code

Publications (2)

Publication Number Publication Date
KR20110008854A true KR20110008854A (en) 2011-01-27
KR101043299B1 KR101043299B1 (en) 2011-06-22

Family

ID=43614801

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090066396A KR101043299B1 (en) 2009-07-21 2009-07-21 Method, system and computer readable recording medium for detecting exploit code

Country Status (1)

Country Link
KR (1) KR101043299B1 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101126532B1 (en) * 2011-09-01 2012-03-22 주식회사 윈스테크넷 Malware execution preventing method based on positive security using reputation information and system thereof
KR101295644B1 (en) * 2011-11-11 2013-09-16 한국전자통신연구원 System and method for verifying smart phone application
US9280663B2 (en) 2011-12-13 2016-03-08 Samsung Electronics Co., Ltd. Apparatus and method for analyzing malware in data analysis system
KR20180055626A (en) * 2016-11-16 2018-05-25 숭실대학교산학협력단 Device and method for detecting rooting, recording medium for performing the method
KR20180076174A (en) * 2016-12-27 2018-07-05 한국인터넷진흥원 A method and apparatus for detecting malicious scripts based on mobile device
KR101968633B1 (en) * 2018-08-27 2019-04-12 조선대학교산학협력단 Method for providing real-time recent malware and security handling service
KR102395097B1 (en) * 2021-11-24 2022-05-09 케이디시스 주식회사 Data backup system
WO2024005490A1 (en) * 2022-07-01 2024-01-04 주식회사 안랩 Behavior scan service system, and method for providing behavior scan service

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101270497B1 (en) * 2011-07-07 2013-06-04 (주) 세인트 시큐리티 System for collecting and analyzing mobile malware automatically
CN102789506B (en) * 2012-07-19 2014-09-24 腾讯科技(深圳)有限公司 Method and device for extracting characteristic information of application program installation package as well as client equipment
KR101369254B1 (en) * 2013-04-19 2014-03-06 주식회사 안랩 Apparatus and method for detecting malicious application
KR101436496B1 (en) 2013-09-02 2014-10-14 주식회사 안랩 System for remote diagnosis of malware

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7490352B2 (en) * 2005-04-07 2009-02-10 Microsoft Corporation Systems and methods for verifying trust of executable files
KR100690187B1 (en) * 2005-06-21 2007-03-09 주식회사 안철수연구소 Method and apparatus and system for cutting malicious codes
KR100762973B1 (en) 2007-02-07 2007-10-02 (주)노애드 Method and apparatus for detecting and deleting a virus code, and information storage medium storing a program thereof
KR102200708B1 (en) * 2019-04-09 2021-01-08 주식회사 현대엘앤씨 Roll guard screen type glass guardrail

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101126532B1 (en) * 2011-09-01 2012-03-22 주식회사 윈스테크넷 Malware execution preventing method based on positive security using reputation information and system thereof
KR101295644B1 (en) * 2011-11-11 2013-09-16 한국전자통신연구원 System and method for verifying smart phone application
US9280663B2 (en) 2011-12-13 2016-03-08 Samsung Electronics Co., Ltd. Apparatus and method for analyzing malware in data analysis system
KR20180055626A (en) * 2016-11-16 2018-05-25 숭실대학교산학협력단 Device and method for detecting rooting, recording medium for performing the method
KR20180076174A (en) * 2016-12-27 2018-07-05 한국인터넷진흥원 A method and apparatus for detecting malicious scripts based on mobile device
KR101968633B1 (en) * 2018-08-27 2019-04-12 조선대학교산학협력단 Method for providing real-time recent malware and security handling service
KR102395097B1 (en) * 2021-11-24 2022-05-09 케이디시스 주식회사 Data backup system
WO2024005490A1 (en) * 2022-07-01 2024-01-04 주식회사 안랩 Behavior scan service system, and method for providing behavior scan service

Also Published As

Publication number Publication date
KR101043299B1 (en) 2011-06-22

Similar Documents

Publication Publication Date Title
KR101043299B1 (en) Method, system and computer readable recording medium for detecting exploit code
Arshad et al. SAMADroid: a novel 3-level hybrid malware detection model for android operating system
CN109586282B (en) Power grid unknown threat detection system and method
JP6188956B2 (en) Malware detection inspection method and apparatus
KR100938672B1 (en) The method and apparatus for detecting dll inserted by malicious code
US11356467B2 (en) Log analysis device, log analysis method, and log analysis program
US9781151B1 (en) Techniques for identifying malicious downloadable applications
JP6711000B2 (en) Information processing apparatus, virus detection method, and program
CN110417778B (en) Access request processing method and device
KR101623073B1 (en) System and method for detecting malignant code based on application program interface
KR101132197B1 (en) Apparatus and Method for Automatically Discriminating Malicious Code
CN102413142A (en) Active defense method based on cloud platform
KR101589649B1 (en) System and method for analysing large-scale malignant code
KR20150044490A (en) A detecting device for android malignant application and a detecting method therefor
US11575688B2 (en) Method of malware characterization and prediction
WO2015062541A1 (en) Cloud checking and killing method, device and system for combating anti-antivirus test
CN107395650B (en) Method and device for identifying Trojan back connection based on sandbox detection file
CN109815702B (en) Software behavior safety detection method, device and equipment
CN106529342B (en) Virtual machine monitor dynamic integrity detection method based on security chip
CN112565278A (en) Attack capturing method and honeypot system
CN105791250B (en) Application program detection method and device
KR101228902B1 (en) Cloud Computing-Based System for Supporting Analysis of Malicious Code
CN108090352B (en) Detection system and detection method
US11509657B2 (en) Determination device, determination method, and determination program
KR101270497B1 (en) System for collecting and analyzing mobile malware automatically

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20140425

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150504

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160608

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170327

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180716

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190425

Year of fee payment: 9