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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring 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/53—Monitoring 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; 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
Description
본 발명은 악성코드 탐지 방법, 악성코드 탐지 시스템 및 악성 코드 탐지 방법이 저장된 컴퓨터 판독 가능한 저장매체에 관한 것으로서, 보다 상세하게는 클라이언트 단말과 연결된 서버에서 클라이언트 단말에서 실행되는 파일에 대한 악성코드 여부를 판단하는 악성코드 탐지 방법, 악성코드 탐지 시스템 및 악성 코드 탐지 방법이 저장된 컴퓨터 판독 가능한 저장매체에 관한 것이다. 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
본 실시형태에 따른 악성코드 탐지방법은, 악성코드 여부의 판단 대상이 되는 파일을 클라이언트 단말에서 실행하고, 상기 실행된 파일에 대한 악성코드 여부는 상기 클라이언트 단말과 연결된 서버에서 판단하도록 할 수 있다. 따라서, 종래에 각각의 클라이언트 단말에서 악성코드 판단을 수행하던 경우에 비해 새로운 종류의 악성코드를 판단하고 분석하여 대처할 수 있는 시간을 줄일 수 있다. 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
제2 단계(120)에서는 상기 제1 단계에서 추출된 실행파일에 대한 해쉬값을 서버로 전송할 수 있다. 본 실시형태에서는 클라이언트 단말에서 직접 악성코드 여부를 판단하지 않고 실행파일에 대한 해쉬값을 서버로 전송하여 해당 파일이 악성코드에 해당되는지 여부를 물을 수 있다. In the
제3 단계(130)는 상기 전송된 해쉬값을 이용하여 해당 파일이 악성코드인지를 분석할 수 있다. 본 실시형태에서, 상기 서버에는 기분석된 악성코드들에 대한 해쉬값이 정의되어 저장될 수 있다. 상기 서버에서는 상기 클라이언트 단말에서 전송된 해쉬값을 상기 기저장되어 있는 해쉬값과 비교하여 상기 클라이언트 단말에서 실행된 파일에 대한 악성 코드 여부를 분석할 수 있다. 상기 서버에는 해쉬값에 따라 해당 파일이 악성코드인지 아닌지에 대한 정보가 저장될 수 있다.The
제4 단계(140)는 상기 제3 단계(130)에서 분석된 결과를 상기 클라이언트 단말로 전송할 수 있다. 상기 클라이언트 단말에서는 상기 분석 결과를 전송받고, 상기 분석 결과에 따라 대응할 수 있다. 예를 들어, 상기 제3 단계(130)에서 해당 파일을 악성 코드로 판단한 경우에는 상기 클라이언트 단말에서는 이후에 상기 파일에 대한 치료 과정을 거칠 수 있다. 상기 제3 단계(130)에서 해당 파일이 악성코드가 아닌 것으로 판단된 경우에는 상기 클라이언트 단말에서는 해당 파일의 실행을 계속 수행할 수 있다. The
본 실시형태는, 전송된 해쉬값을 가지는 파일에 대한 정보가 상기서버에 없 는 경우(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
상기 제5 단계(150)는, 상기 제2 단계(120)에서 전송된 해쉬값에 해당하는 파일 정보가 상기 서버에 기정의되어 있지 않은 경우에 진행될 수 있다. 따라서, 상기 클라이언트 단말에서는 이러한 파일에 대해 악성코드로 의심을 하게되어 상기 파일 자체를 상기 서버로 전송할 수 있다. The
상기 제6 단계(160)에서는 상기 클라이언트 단말로부터 업로드된 파일에 대해서 악성코드 여부 분석을 수행할 수 있다. 본 실시형태에서는 상기 업로드된 파일을 가상화 환경에서 실행시키고 이 때 발생되는 행위를 모니터링하여 해당 파일이 악성코드인지 여부를 판단할 수 있다. 본 단계에서 악성 코드로 판단된 경우에는 상기 서버에서는 해당 파일에 대한 해쉬값을 추출하여 저장할 수 있다. In the
상기 서버는 상기 제6 단계(160)에서 분석된 결과를 상기 클라이언트 컴퓨터로 다시 전송(140)할 수 있다. 이 때, 상기 제6 단계에서 분석된 해당 파일에 대한 정보를 상기 서버에 저장하고, 상기 서버에 연결된 다른 클라이언트 단말들로부터 해당 파일에 대한 해쉬값이 전송될 해당파일에 대한 정보를 공유할 수 있다. The server may transmit the analyzed result in the
이처럼, 본 실시형태에 따른 악성코드 탐지 방법은, 클라이언트 단말에서는 실행파일에 대한 해쉬값 추출 또는 실행파일 업로드 과정을 수행하고, 상기 실행파 일이 악성코드에 해당하는지에 대한 분석은 서버에서 실행할 수 있다. 즉, 상기 서버에 악성코드를 검사하기 위한 데이터 베이스 파일이 저장되어 있고, 상기 클라이언트 단말에서는 상기 서버에 저장된 데이터 베이스를 이용하기 위한 최소의 작동만을 할 수 있다. 따라서, 악성 코드를 검사하기 위한 데이터 베이스 파일이 큰 경우 이를 실제 클라이언트 단말에 저장하여 사용하는 경우에 비해 검사 시간을 줄일 수 있다. 또한, 클라이언트 단말의 시스템을 가볍게 구성할 수 있는 효과가 있다. 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
도 2에 개시된 악성코드 탐지방법(200)은 업로드된 파일을 가상 운영체제에서 실행시켜 발생되는 행위를 모니터링하는 제7 단계(261)와, 상기 발생되는 행위를 실시간으로 수집하여 기 정의된 행위 정보와 비교하는 제8 단계(262), 및 상기 비교 결과가 기 정의된 위험도를 초과하는 경우 해당 파일을 악성 코드로 판단하고 해당 파일의 해쉬값을 추출하여 데이터 베이스에 저장하는 제9 단계(263, 264, 265)를 포함할 수 있다. The malicious
상기 제7 단계(261)는, 상기 클라이언트 단말에서 업로드된 파일을 서버의 가상 운영체제에서 실행시키고 상기 가상 운영체제에서 파일 실행시 발생되는 행위를 모니터링할 수 있다. 여기서, 가상 운영체제란 악성코드가 각각의 운영체제에서 어떻게 동작하는지 알아보기 위한 것으로서 Windows 2000, Windows XP, Windows 2003, Windows CE, 리눅스(LINUX), 및 유닉스(UNIX) 등이 포함될 수 있다. 한편 상기 모니터링은 시스템의 커널 레벨에서 수행되며 상기 모니터링의 대상이 되는 예로는 파일의 생성과 삭제, 메모리의 생성, 삭제 및 수정, 리지스트리의 생성, 삭제 및 수정 및 네트워크의 정보흐름 등이 포함될 수 있다. The
상기 제8 단계(262)에서는 상기 제7 단계(261)에서 발생되는 행위를 실시간으로 수집하여 상기 서버에 저장되어 있는 기정의된 행위정보와 비교할 수 있다. 여기서 상기 서버에 저장되어 있는 기정의된 행위정보란 악성코드로 분류된 파일의 실행시 발생되는 행위정보일 수 있다. 본 단계에서는 상기 업로드된 파일의 실행시 발생되는 행위들을 상기 서버에 저장된 행위와 비교하여 일치하는 행위의 개수 또는 퍼센티지를 카운트할 수 있다.In the
상기 제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
상기 제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
상기 클라이언트 단말(310)은, 실행파일에 대한 해쉬값을 추출하여 서버(320)에 전송(311)할 수 있다. 또한, 전송된 해쉬값에 대한 정보가 상기 서버에 존재하지 않으면, 상기 실행파일을 상기 서버(320)에 업로드(312)할 수 있다. 상기 클라이언트 단말(310)은 개인용 컴퓨터 뿐만이 아니라 서버와 유선 또는 무선으로 연결될 수 있는 이동통신 단말기를 포함할 수 있다. The
상기 서버(320)는 상기 클라이언트 단말(310)에서 전송된 해쉬값을 이용하여 해당 파일의 악성코드 여부를 분석하고, 분석된 결과를 상기 클라이언트 단말에 제공할 수 있다. 여기서, 상기 서버는 상기 전송된 해쉬값을 상기 서버에 저장된 기 정의된 해쉬값과 비교하여 상기 전송된 해쉬값을 갖는 실행파일의 악성 코드 여부를 분석하는 분석부(321)를 포함할 수 있다. 상기 서버(320)에는 기분석된 악성코드들에 대한 해쉬값이 정의되어 저장될 수 있다. 상기 분석부(321)에서는 상기 전송된 해쉬값이 상기 기저장된 해쉬값에 해당하는지를 판단할 수 있다. The
또한, 본 실시형태에서 상기 서버(320)는, 실행부(322), 비교부(323), 판단부(324) 및 저장부(325)를 더 포함할 수 있다. The
상기 실행부(322)는 상기 클라이언트 단말(310)로부터 업로드된 파일을 가상 운영체제에서 실행시켜 발생되는 행위를 모니터링할 수 있다. 상기 가상 운영체제란 악성코드가 각각의 운영체제에서 어떻게 동작하는지 알아보기 위한 것으로서, Windows 2000, Windows XP, Windows 2003, Windows CE, 리눅스(LINUX), 및 유닉스(UNIX) 등이 포함될 수 있다. 한편 상기 모니터링의 대상에는 파일의 생성과 삭제, 메모리의 생성, 삭제 및 수정, 리지스트리의 생성, 삭제 및 수정 및 네트워크의 정보흐름 등이 포함될 수 있다. The
상기 비교부(323)는 상기 실행부(322)에서 발생되는 행위를 실시간으로 수집하여 기정의된 행위 정보와 비교할 수 있다. 상기 기정의된 행위 정보는 악성코드로 분류된 파일의 실행시 발생되는 행위정보일 수 있다. 상기 비교부(323)에서는 상기 업로드된 파일의 실행시 발생되는 행위들을 상기 기정의된 행위 정보와 비교하여 일치하는 행위의 개수 또는 퍼센티지를 카운트할 수 있다. The comparing
상기 판단부(324)는, 상기 비교부(323)에서 비교 결과가 기 정의된 위험도를 초과하는지에 따라 악성코드 여부를 판단하고 판단된 결과를 상기 클라이언트 단말(310)로 전송할 수 있다. 상기 기정의된 위험도는 상기 비교부(323)에서 수집된 행위와 기정의된 행위정보와의 일치 정도로 설정할 수 있다. The
상기 저장부(325)는 상기 판단부(324)에서 해당 파일이 악성코드로 판단된 경우 해당 파일의 해쉬값을 추출하여 데이터 베이스에 저장할 수 있다. 이렇게 저장된 데이터는 이후에 클라이언트 단말에서 해당 파일을 실행하여 해쉬값이 추출되면 상기 해쉬값에 대한 정보를 제공 할 수 있다. When the
본 실시형태에서는 분석부(321), 실행부(322), 비교부(323), 및 판단부(324)를 각각 다른 구성으로 표시하였으나, 이들은 상기 서버 내에서 일련의 연산을 수행하는 것이므로 하나의 연산 장치로 구현될 수도 있다. In the present embodiment, the analyzing
도 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
본 실시형태에 따른 저장매체(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
본 실시형태에서 상기 저장매체(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
본 실시형태에 따른 저장매체(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
또한, 본 실시형태에 따른 저장매체에 저장된 악성 코드 탐지 방법에 의하면, 상기 클라이언트 단말로부터 파일 자체가 업로드된 경우에는, 상기 업로드된 파일을 분석하도록 상기 서버를 제어할 수 있다. 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)
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)
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)
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)
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 |
-
2009
- 2009-07-21 KR KR1020090066396A patent/KR101043299B1/en active IP Right Grant
Cited By (8)
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 |