KR101126532B1 - Malware execution preventing method based on positive security using reputation information and system thereof - Google Patents

Malware execution preventing method based on positive security using reputation information and system thereof Download PDF

Info

Publication number
KR101126532B1
KR101126532B1 KR1020110088405A KR20110088405A KR101126532B1 KR 101126532 B1 KR101126532 B1 KR 101126532B1 KR 1020110088405 A KR1020110088405 A KR 1020110088405A KR 20110088405 A KR20110088405 A KR 20110088405A KR 101126532 B1 KR101126532 B1 KR 101126532B1
Authority
KR
South Korea
Prior art keywords
file
information
reputation
malicious code
hash
Prior art date
Application number
KR1020110088405A
Other languages
Korean (ko)
Inventor
임태희
Original Assignee
주식회사 윈스테크넷
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 윈스테크넷 filed Critical 주식회사 윈스테크넷
Priority to KR1020110088405A priority Critical patent/KR101126532B1/en
Application granted granted Critical
Publication of KR101126532B1 publication Critical patent/KR101126532B1/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/562Static detection
    • G06F21/565Static detection by checking file integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks

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)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Automation & Control Theory (AREA)
  • Bioethics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

PURPOSE: A positive security-based malicious code execution preventing method and a malicious code execution preventing system are provided to originally block the execution of a malicious code by applying a positive security technique to a file on a non-allowed path. CONSTITUTION: A kernel driver(110) hooks a kernel of a user computer and obtains a control right about file execution. A white-list database(150) stores file information or a computer path. A hash extracting module(170) extracts the hash information of the file. A reputation security server(200) supplies evaluation information to a user computer.

Description

평판 정보를 이용한 포지티브 보안 기반의 악성코드 실행 방지 방법 및 이를 이용한 악성코드 실행 방지 시스템{MALWARE EXECUTION PREVENTING METHOD BASED ON POSITIVE SECURITY USING REPUTATION INFORMATION AND SYSTEM THEREOF}Positive security-based malware execution prevention method using reputation information and malware execution prevention system using same {MALWARE EXECUTION PREVENTING METHOD BASED ON POSITIVE SECURITY USING REPUTATION INFORMATION AND SYSTEM THEREOF}

본 발명의 개념에 따른 실시 예는 악성코드 실행 방지 기술에 대한 것으로, 더욱 상세하게는 평판 정보(Reputation Information)를 활용한 사용자의 승인을 통하여 실행 파일의 실행 여부를 결정하는 포지티브 보안 기반의 악성코드 실행 방지 방법 및 이를 이용한 시스템에 관한 것이다.An embodiment according to the concept of the present invention relates to a technique for preventing malicious code execution, and more particularly, a positive security based malware for determining whether to execute an executable file through approval of a user using reputation information. An execution prevention method and a system using the same.

일반적으로 악성코드(Malware)는 컴퓨터 시스템에 피해를 주고자 의도적으로 제작된 프로그램 코드를 통칭하며, 바이러스, 웜(Worm), 트로이 목마(Trojan Horse), 백도어(Backdoor), 하이재커(Hijacker), 스파이웨어(Spyware) 또는 각종 해킹 프로그램 등을 포함한다. 웹 서비스, 이메일 등 다양한 경로로부터 전파되는 악성코드는 익스플로잇 코드(Exploit code) 등을 통하여 사용자의 의도와 상관없이 실행되며, 사용자의 컴퓨터를 감염시켜 컴퓨터 내의 시스템 자원을 훼손하거나 사용자의 개인정보를 유출하고 사용자의 컴퓨터를 DDoS(Distributed Denial of Service) 공격을 위한 좀비 컴퓨터로 만들기도 한다. 종래에는 이러한 악성코드로부터 시스템을 보호하고자 네거티브 보안 기반의 시그니처(Signature) 탐지 기법이 주로 연구 및 개발되어 왔다. 상기 시그니처 탐지 기법은 해당 공격이 시스템 내부에서 활동하는 형태와 흐름, 시스템 내부의 특정 대상으로 이루어지는 매커니즘 등을 시그니처 방식에 의해 분석하여 적용하는 기법으로, 이미 알려진 바이러스 및 웜 등의 패턴을 저장하고 있는 데이터베이스를 보유하고 의심되는 실행 파일 또는 프로세스를 상기 데이터베이스에 저장된 패턴과 비교하여 위협을 탐지하는 방식이다. 일반적으로 시그니처 방법은 해당 공격 패턴이나 흐름 등을 분석한 후에 적용하기 때문에 알려진 공격 기법에 대해서는 매우 뛰어난 방어 효과를 보일 수 있으나, 알려지지 않은 공격을 대상으로 한 예방 효과는 기대할 수 없었고, 악성코드의 패턴 중 일부가 수정될 경우에도 해당 악성코드를 탐지할 수 없는 문제점이 있었다. 최근에는 상기 시그니처를 이용한 탐지 기술의 한계를 극복하기 위한 방편 중 하나로 통계적 기법을 사용한 휴리스틱(Heuristic) 기법이 사용되고 있으나, 상기 휴리스틱 기법은 시그니처 기법에 비해 시스템에 매우 큰 부하를 초래하고, 오탐지율 마저 매우 높아 효율성에 대한 문제점이 지적되고 있다. 이러한 네거티브 방식의 악성 코드 차단 기술들은 공개특허 제2009-0080220, 공개특허 제2006-0011558 등에 상세히 개시되어 있다.Malware generally refers to program codes that are intentionally designed to damage computer systems, and include viruses, worms, Trojan horses, backdoors, hijackers, and spies. Spyware or various hacking programs. Malware that spreads from various paths such as web services and e-mails is executed regardless of the intention of the user through exploit code, etc., and infects the user's computer to damage system resources or leak user's personal information. It also makes your computer a zombie computer for DDoS (Distributed Denial of Service) attacks. In the past, negative security-based signature detection techniques have been mainly researched and developed to protect the system from such malicious codes. The signature detection technique is a technique that analyzes and applies the form and flow of the attack in the system, and the mechanism consisting of a specific target in the system by the signature method, and stores patterns such as known viruses and worms. A threat is detected by holding a database and comparing a suspect executable or process with a pattern stored in the database. Generally, the signature method is applied after analyzing the attack pattern or flow, so it can show a very good defense against known attack techniques, but the prevention effect against unknown attacks could not be expected. Even if some of them were modified, there was a problem that the malicious code could not be detected. Recently, a heuristic technique using a statistical technique has been used as one of the methods for overcoming the limitation of the detection technique using the signature. It is so high that the problem of efficiency is pointed out. Such negative type malicious code blocking techniques are disclosed in detail in Korean Patent Nos. 2009-0080220, 2006-0011558, and the like.

본 발명이 이루고자 하는 기술적인 과제는 실행 파일의 실행을 평판 정보를 활용한 사용자의 승인을 통하여 결정함으로써 악성코드 감염을 원천적으로 차단할 수 있는 포지티브 보안 기반의 악성코드 실행 방지 방법 및 이를 이용한 시스템을 제공하는 것이다.The technical problem to be achieved by the present invention is to determine the execution of the executable file through the approval of the user using the reputation information by providing a positive security-based method for preventing malicious code execution and system using the same that can prevent malware infection inherently It is.

또한, 평판 정보 활용시 정상파일로 판명된 실행 파일에 대해서는 보안 경고창을 띄우지 않고 곧바로 실행될 수 있도록 함으로써 포지티브 보안 기술의 불편함을 최소화할 수 있는 악성코드 차단 방법 및 이를 이용한 시스템을 제공하는 것이다.In addition, it provides a malicious code blocking method and a system using the same by minimizing the inconvenience of the positive security technology by allowing the executable file that is found to be a normal file to be executed immediately without using a security warning window when using reputation information.

본 발명의 실시 예에 따른 포지티브 기반의 악성코드 실행 차단 방법은 커널 드라이버가 사용자 컴퓨터의 커널을 후킹(Hooking)하여 파일 실행에 대한 제어권을 획득하는 단계와 임의 파일의 실행 시도가 상기 커널 드라이버에서 감지된 경우, 해쉬추출모듈이 상기 임의 파일의 해쉬정보를 추출하여 평판 보안 서버로 전송하는 단계와 상기 평판 보안 서버가 상기 전송된 해쉬정보에 상응하는 평가정보를 생성하여 악성코드 차단모듈로 제공하는 단계 및 상기 악성코드 차단모듈이 상기 제공된 평가정보를 포함하는 보안 경고창을 디스플레이하여 사용자에게 상기 임의 파일에 대한 실행 결정을 유도하는 단계를 포함한다.According to an embodiment of the present invention, a method of blocking malicious code execution based on a positive method includes a step in which a kernel driver hooks a kernel of a user computer to obtain control of file execution and an attempt to execute an arbitrary file is detected by the kernel driver. If so, the hash extraction module extracts the hash information of the arbitrary file and transmits it to the reputation security server, and the reputation security server to generate the evaluation information corresponding to the transmitted hash information to provide to the malicious code blocking module And displaying, by the malicious code blocking module, a security warning window including the provided evaluation information to induce a user to execute execution of the arbitrary file.

상기 임의 파일의 컴퓨터 경로가 화이트 리스트 DB에 존재하지 않은 경우에는 상기 임의 파일의 해쉬정보를 추출하여 평판 보안 서버로 전송한다. If the computer path of the random file does not exist in the white list DB, hash information of the random file is extracted and transmitted to the flatbed security server.

상기 포지티브 기반의 악성코드 실행 차단 방법은, 상기 임의 파일의 실행 시도시, 상기 임의 파일의 컴퓨터 경로가 상기 화이트 리스트 DB에 존재하거나 상기 임의 파일에 상기 디지털 서명이 되어있는 경우에는 상기 커널 드라이버가 상기 임의 파일을 곧바로 실행하는 단계를 더 포함할 수 있다.The positive-based malicious code execution blocking method may further include: when attempting to execute the arbitrary file, when the computer path of the arbitrary file exists in the white list DB or when the digital file is digitally signed in the arbitrary file, It may further comprise the step of executing any file directly.

상기 포지티브 기반의 악성코드 실행 차단 방법은, 상기 보안 경고창을 통하여 상기 임의 파일이 실행되는 경우에 상기 평판 보안 서버가 상기 임의 파일에 대한 평판도를 상향 조정하고, 상기 임의 파일이 치료 또는 삭제되는 경우에 상기 평판도를 하향 조정하는 단계를 더 포함한다.The positive-based malicious code execution blocking method includes, when the arbitrary file is executed through the security alert window, when the reputation security server adjusts the reputation level of the arbitrary file and the random file is cured or deleted. And further adjusting the flatness.

실시 예에 따라, 상기 포지티브 기반의 악성코드 실행 차단 방법은, 상기 평판 보안 서버가 상기 임의 파일에 대한 평판도 상향 조정 또는 하향 조정 결과를 상기 평가정보에 반영하여 갱신하고, 갱신된 상기 평가 정보를 상기 악성 코드 차단 모듈로 실시간 전송하는 단계를 더 포함할 수 있다.According to an embodiment of the present disclosure, the positive-based malicious code execution blocking method may include updating, by the reputation security server, a result of increasing or decreasing the reputation degree of the arbitrary file in the evaluation information and updating the updated evaluation information. The method may further include transmitting in real time to the malicious code blocking module.

상기 임의 파일의 컴퓨터 경로는 윈도우 시스템 경로 또는 프로그램 설치 경로를 포함하고, 상기 화이트 리스트 DB는 상기 사용자가 실행 가능하도록 지정한 컴퓨터 경로를 저장한다.The computer path of the arbitrary file includes a window system path or a program installation path, and the white list DB stores a computer path designated by the user to be executable.

상기 평가정보는 상기 임의 파일에 대한 악성코드 여부와 전문가 분석정보 또는 상기 임의 파일에 대한 사용자 평판도 중 적어도 어느 하나를 포함할 수 있다.The evaluation information may include at least one of whether malicious code for the random file and expert analysis information or user reputation for the random file.

상기 평가정보를 생성하여 상기 악성코드 차단모듈로 제공하는 단계는, 상기 평판 보안 서버가 상기 전송된 해쉬정보에 대한 파일 정보를 보유한 경우 상기 임의 파일의 악성코드 여부 및 사용자 평판도 중 적어도 어느 하나를 포함하는 평가정보를 생성하여 제공한다.Generating the evaluation information and providing the evaluation information to the malicious code blocking module may include at least one of malicious code of the arbitrary file and user reputation when the reputation security server has file information on the transmitted hash information. Create and provide evaluation information.

상기 평가정보를 생성하여 상기 악성코드 차단모듈로 제공하는 단계는, 상기 평판 보안 서버가 상기 전송된 해쉬정보에 대한 파일 정보를 보유하지 않은 경우 상기 악성코드 차단모듈로 상기 임의 파일 수집에 대한 동의를 요청하는 단계와 상기 악성코드 차단모듈의 동의 시 상기 임의 파일을 전문가 서버로 전송하고 상기 전문가 서버로부터 상기 임의 파일에 대한 전문가 분석정보를 수집하는 단계 및 상기 수집된 전문가 분석정보 및 사용자 평판도 중 적어도 어느 하나를 포함하는 평가정보를 생성하여 제공하는 단계를 포함한다.The generating of the evaluation information and providing the evaluation information to the malicious code blocking module may include agreeing to collecting the random file with the malicious code blocking module when the reputation security server does not have file information on the transmitted hash information. Requesting and agreeing with the malicious code blocking module, transmitting the arbitrary file to an expert server, collecting expert analysis information on the arbitrary file from the expert server, and at least one of the collected expert analysis information and user reputation. And generating and providing evaluation information including one.

본 발명의 실시 예에 따른 포지티브 기반의 악성코드 실행 차단 시스템은, 사용자 컴퓨터의 커널을 후킹(Hooking)하여 파일 실행에 대한 제어권을 획득하는 커널 드라이버와 사용자로부터 사전 지정된 컴퓨터 경로를 저장하는 화이트 리스트 DB와 상기 커널에서 실행되고자 하는 임의 파일의 컴퓨터 경로가 상기 화이트 리스트 DB에 등록되지 않은 경우, 상기 임의 파일의 해쉬정보를 추출하는 해쉬 추출모듈 및 상기 해쉬 추출모듈로부터 상기 추출된 해쉬정보를 수신하고 상기 해쉬정보에 상응하는 평가정보를 생성하여 상기 사용자 컴퓨터로 제공하는 평판 보안 서버를 포함한다.Positive-based malicious code execution blocking system according to an embodiment of the present invention, a white list DB for hooking the kernel of the user's computer to obtain control over the execution of the file and a predetermined computer path from the user And a hash extracting module for extracting hash information of the arbitrary file, and receiving the extracted hash information from the hash extracting module when the computer path of the arbitrary file to be executed in the kernel is not registered in the white list DB. And a reputation security server for generating evaluation information corresponding to the hash information and providing the same to the user computer.

상기 포지티브 기반의 악성코드 실행 차단 시스템은, 상기 평판 보안 서버로부터 상기 임의 파일을 수신하여 분석한 전문가 분석정보를 상기 평판 보안 서버로 전송하는 전문가 서버를 더 포함할 수 있다.The positive-based malicious code execution blocking system may further include an expert server that receives the expert file from the reputation security server and transmits the expert analysis information analyzed to the reputation security server.

상기 평판 보안 서버는, 상기 사용자 컴퓨터로 제공된 평가정보를 통해 임의 파일이 실행되는 경우 상기 임의 파일에 대한 평판도를 상향 조정하고, 상기 임의 파일이 치료 또는 삭제되는 경우 상기 평판도를 하향 조정한다.The reputation security server, based on the evaluation information provided to the user computer, and adjusts the reputation for the random file up when the file is executed, and if the random file is treated or deleted, adjusts the reputation down.

실시 예에 따라 상기 평판 보안 서버는 상기 임의 파일에 대한 평판도 상향 조정 또는 하향 조정 결과를 상기 평가정보에 반영하여 갱신하고, 갱신된 상기 평가 정보를 상기 사용자 컴퓨터로 실시간 제공한다.According to an embodiment, the reputation security server updates the evaluation information by reflecting the result of the reputation degree up or down adjustment for the arbitrary file in the evaluation information and provides the updated evaluation information to the user computer in real time.

본 발명의 실시 예에 따른 악성코드 차단 방법 및 이를 이용한 시스템은 허용되지 않은 경로에서 실행되려는 파일을 사전 검증하는 포지티브 보안 기술을 적용함으로써 알려지지 않은 악성코드의 실행을 원천적으로 차단할 수 있는 효과가 있다.The malicious code blocking method and the system using the same according to an embodiment of the present invention have the effect of blocking the execution of unknown malicious code by applying a positive security technology that pre-verifies a file to be executed in an unauthorized path.

또한, 본 발명의 실시 예에 따른 악성코드 차단 방법 및 이를 이용한 시스템은 실행 파일의 사전 검증시 평판 보안 데이터 베이스로부터 해당 실행 파일의 평판 정보를 제공받을 수 있으므로 사용자는 보다 안전하게 해당 파일의 실행 여부를 결정할 수 있는 효과가 있다.In addition, the malicious code blocking method and the system using the same according to an embodiment of the present invention can receive the reputation information of the executable file from the reputation security database when pre-verification of the executable file, so that the user can safely execute the file. There is an effect that can be determined.

본 발명의 상세한 설명에서 인용되는 도면을 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 실시 예에 따른 악성코드 차단 시스템의 내부 블럭도를 나타낸다.
도 2는 본 발명의 실시 예에 따른 보안 경고창의 내부 블럭도를 나타낸다.
도 3은 본 발명의 일 실시 예에 따른 포지티브 기반 악성코드 차단 방법을 설명하기 위한 순서도이다.
도 4는 본 발명의 다른 실시 예에 따른 포지티브 기반 악성코드 차단 방법을 설명하기 위한 순서도이다.
도 5는 본 발명의 또 다른 실시 예에 따른 포지티브 기반 악성코드 차단 방법을 설명하기 위한 순서도이다.
The detailed description of each drawing is provided in order to provide a thorough understanding of the drawings referred to in the detailed description of the invention.
Figure 1 shows an internal block diagram of a malicious code blocking system according to an embodiment of the present invention.
2 is a block diagram illustrating an internal security warning window according to an embodiment of the present invention.
3 is a flow chart illustrating a method for blocking positive based malware according to an embodiment of the present invention.
Figure 4 is a flow chart for explaining a positive based malware blocking method according to another embodiment of the present invention.
5 is a flowchart illustrating a method for blocking positive malware based on another embodiment of the present invention.

본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.Specific structural or functional descriptions of the embodiments according to the inventive concept disclosed herein are provided for the purpose of describing the embodiments according to the inventive concept only. It may be embodied in various forms and is not limited to the embodiments described herein.

본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.Embodiments according to the inventive concept may be variously modified and have various forms, so embodiments are illustrated in the drawings and described in detail herein. However, this is not intended to limit the embodiments in accordance with the concept of the invention to the specific forms disclosed, it includes all changes, equivalents, or substitutes included in the spirit and scope of the present invention.

제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1구성요소는 제2구성요소로 명명될 수 있고, 유사하게 제2구성요소는 제1구성요소로도 명명될 수 있다.The terms first, second, etc. may be used to describe various elements, but the elements should not be limited by the terms. The terms are intended to distinguish one element from another, for example, without departing from the scope of the invention in accordance with the concepts of the present invention, the first element may be termed the second element, The second component may also be referred to as a first component.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.When a component is said to be "connected" or "connected" to another component, it may be directly connected to or connected to that other component, but it may be understood that another component may exist in between. Should be. On the other hand, when a component is said to be "directly connected" or "directly connected" to another component, it should be understood that there is no other component in between. Other expressions describing the relationship between components, such as "between" and "immediately between," or "neighboring to," and "directly neighboring to" should be interpreted as well.

본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this specification, terms such as "comprise" or "have" are intended to indicate that the described feature, number, step, operation, component, part, or combination thereof exists, and one or more other features or numbers are present. It should be understood that it does not exclude in advance the possibility of the presence or addition of steps, actions, components, parts or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in the commonly used dictionaries should be construed as having meanings consistent with the meanings in the context of the related art, and are not construed in ideal or excessively formal meanings unless expressly defined herein. Do not.

이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시 예에 따른 포지티브 기반의 악성코드 차단 시스템의 내부 블럭도를 나타낸다.Figure 1 shows an internal block diagram of a positive-based malware blocking system according to an embodiment of the present invention.

도 1을 참조하면, 악성코드 차단 시스템(10)은 사용자의 컴퓨터에 탑재되는 악성 코드 차단 모듈(100)과 평판 보안 서버(200)를 포함한다.Referring to FIG. 1, the malicious code blocking system 10 includes a malicious code blocking module 100 and a reputation security server 200 mounted on a user's computer.

실시 예에 따라 악성코드 차단 시스템(10)은 전문가 보안 서버(300)를 더 포함할 수 있으며, 상기 사용자의 컴퓨터는 데스크 탑, 노트북, 랩 탑 등 다양한 형태의 컴퓨터나 네트워크 통신과 인터넷 접속이 가능한 모바일 폰, PDA 등 다양한 전자 기기일 수 있다.According to an embodiment, the malicious code blocking system 10 may further include an expert security server 300. The user's computer may be connected to various types of computers or network communication such as a desktop, a laptop, a laptop, and an internet connection. Various electronic devices such as mobile phones and PDAs may be used.

본 명세서에서의 모듈(module)이라 함은 본 명세서에서 설명되는 각각의 명칭에 따른 기능과 동작을 수행할 수 있는 하드웨어를 의미할 수도 있고, 또한 특정한 기능과 동작을 수행할 수 있는 컴퓨터 프로그램 코드를 의미할 수도 있고, 또한 특정한 기능과 동작을 수행시킬 수 있는 컴퓨터 프로그램 코드가 탑재된 전자적 기록 매체, 예컨대 프로세서를 의미할 수도 있다.A module in the present specification may mean hardware capable of performing functions and operations according to each name described in the present specification, and also refers to computer program code capable of performing specific functions and operations. It may also mean an electronic recording medium, such as a processor, on which computer program code is capable of performing specific functions and operations.

다시 말해 모듈이란 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적, 구조적 결합을 의미할 수 있다. In other words, a module may mean a functional and structural combination of hardware for performing the technical idea of the present invention and software for driving the hardware.

악성 코드 차단 모듈(100)은 커널 드라이버(110), 화이트 리스트 DB(130), 검색 비교 모듈(150) 및 해쉬 추출 모듈(170)을 포함한다.The malicious code blocking module 100 includes a kernel driver 110, a white list DB 130, a search comparison module 150, and a hash extraction module 170.

커널 드라이버(110)는 상기 사용자 컴퓨터의 커널을 후킹(Hooking)하여 파일 실행에 대한 제어권을 획득하는 역할을 수행한다.The kernel driver 110 hooks the kernel of the user computer to obtain control over file execution.

보다 상세히 설명하면, 커널 드라이버(110)는 커널 모드에서 동작하며 쓰레드(Thread)로 소정의 시간, 예들 들어10ms 마다 교환 버퍼를 검사하다 드라이버로부터 파일 실행 요청이 발견되면, 상기 파일의 실행을 차단하고 파일 실행의 제어권을 사용자에게로 전달한다In more detail, the kernel driver 110 operates in the kernel mode and checks the exchange buffer every predetermined time, for example, 10 ms, by a thread. Transfer control of file execution to user

즉, 종래의 네거티브 기반의 보안 기술과 달리 본 발명의 실시 예에 따른 악성코드 차단 시스템(10)은 후킹된 커널 드라이버(110)에 의해서 모든 실행 파일을 실행되기 전에 검증하는 포지티브 방식의 보안 시스템이다.That is, unlike the conventional negative based security technology, the malware blocking system 10 according to the embodiment of the present invention is a positive security system that verifies all executable files by the hooked kernel driver 110 before being executed. .

따라서, 사용자가 인터넷 서핑 중 해커에 의해 감염된 웹 사이트를 방문하게 될 경우 익스플로잇 코드(Exploit code)에 의해 사용자 동의 없이 실행파일이 다운로드 및 실행되는 것을 원천적으로 차단할 수 있다.Therefore, when a user visits a web site infected by a hacker while surfing the Internet, an exploit code may prevent the execution file from being downloaded and executed without the user's consent.

화이트 리스트 DB(130)는 사용자가 파일 실행을 허용하도록 지정한 실행파일에 대한 정보 또는 컴퓨터 경로, 예컨대 윈도우 시스템 경로 또는 프로그램 설치 경로가 저장된다.The white list DB 130 stores information on an executable file or a computer path, such as a window system path or a program installation path, which the user has designated to allow file execution.

검색 비교 모듈(150)은 상기 커널에서 실행되려는 임의의 실행 파일의 컴퓨터 경로가 화이트 리스트 DB(130)에 저장되어 있는지 검색 비교한다.The search comparison module 150 searches and compares whether the computer path of any executable file to be executed in the kernel is stored in the white list DB 130.

또한 검색 비교 모듈(150)은 상기 임의의 실행 파일이 사용자가 지정한 파일로서 화이트 리스트 DB(130)에 저장되어 있는지 검색 비교한다. In addition, the search comparison module 150 searches and compares whether the arbitrary executable file is stored in the white list DB 130 as a file designated by the user.

즉, 검색 비교 모듈(150)은 실행되려는 파일의 컴퓨터 경로, 예컨대 윈도우 시스템 경로 또는 프로그램 설치 경로 등을 확인하여 사용자가 신뢰한 경로로서 등록한 화이트 리스트 DB(130)에 존재하는지 검색 비교한다.That is, the search comparison module 150 checks the computer path of the file to be executed, for example, a window system path or a program installation path, and searches and compares whether the file exists in the white list DB 130 registered as a path trusted by the user.

상기 비교 결과, 상기 실행하려는 임의 파일의 컴퓨터 경로가 화이트 리스트 DB(130)에 존재하는 경우에 검색 비교 모듈(150)은 상기 비교 결과(R1)를 커널 드라이버(110)에 전송하고, 커널 드라이버(110)는 이에 응답하여 상기 임의 파일이 실행되도록 제어한다.As a result of the comparison, when the computer path of the arbitrary file to be executed exists in the white list DB 130, the search comparison module 150 transmits the comparison result R1 to the kernel driver 110, and the kernel driver ( In response, 110 controls the arbitrary file to be executed.

실시 예에 따라 상기 임의 파일에 디지털 서명이 있는 경우 검색 비교 모듈(150)은 앞서 설명한 임의 파일의 컴퓨터 경로가 화이트 리스트 DB(130)에 존재하는 경우와 유사하게, 상기 임의 파일을 검증 없이 곧바로 실행될 수 있도록 하는 사용자 옵션을 구비할 수 있다.According to an embodiment, if the random file has a digital signature, the search comparison module 150 executes the random file immediately without verification, similar to the case where the computer path of the random file described above exists in the white list DB 130. It may have a user option to enable it.

만일 상기 임의 파일의 컴퓨터 경로가 화이트 리스트 DB(130)에 존재하지 않는다면, 검색 비교 모듈(150)은 그 비교 결과(R2)를 해쉬 추출모듈(170)로 전송한다.If the computer path of the arbitrary file does not exist in the white list DB 130, the search comparison module 150 transmits the comparison result R2 to the hash extraction module 170.

해쉬 추출모듈(170)은 검색 비교 모듈(150)로부터 전송된 비교 결과(R2)에 응답하여, 상기 임의 실행파일에 대한 해쉬값(hash1)을 추출하고 상기 추출한 해쉬값(hash1)을 평판 보안 서버(200)로 전송한다.The hash extracting module 170 extracts a hash value hash1 for the arbitrary executable file in response to the comparison result R2 transmitted from the search comparing module 150 and converts the extracted hash value hash1 into a reputation security server. Send to 200.

또한 실시 예에 따라 검색 비교 모듈(150)은 윈도우 업데이트 파일과 같이 전자 서명(Digital Signature)이 되어 있는 파일에 대해서는 화이트리스트 DB(130)에 포함되어 있지 않더라도 정상 파일로 인지할 수 있다.Also, according to an embodiment, the search comparison module 150 may recognize a file having a digital signature, such as a window update file, as a normal file even if the file is not included in the whitelist DB 130.

따라서 검색 비교 모듈(150)은 상기와 같이 디지털 서명이 되어 있는 파일에 대해서는 평판 보안 서버(200)에 검증을 요청할 필요 없이 곧바로 실행되도록 커널 드라이버(110)로 요청할 수도 있다.Accordingly, the search comparison module 150 may request the kernel driver 110 to execute the file that has been digitally signed as described above without immediately requesting verification from the reputation security server 200.

악성코드 차단 시스템(10)의 평판 보안 서버(200)는 검색 제어모듈(210), 평판도 DB(230), 악성 코드 DB(250), 전문가 분석 DB(270) 및 평가정보 생성모듈(290)을 포함한다The reputation security server 200 of the malicious code blocking system 10 includes a search control module 210, a reputation DB 230, a malicious code DB 250, an expert analysis DB 270, and an evaluation information generation module 290. Contains

실시 예에 따라, 평판 보안 서버(200)는 샌드박스(Sandbox, 280) 또는 안티 바이러스/백신 서버(285)를 더 포함할 수 있다.According to an embodiment, the reputation security server 200 may further include a sandbox 280 or an antivirus / vaccine server 285.

앞서 설명한 임의 파일에 대한 해쉬정보(hash1)가 해쉬 추출모듈(170)로부터 평판 보안 서버(200)로 전송되면, 평판 보안 서버(200)의 검색 제어모듈(210)은 상기 해쉬정보(hash1)에 상응하는 파일정보가 평판도 DB(230), 악성코드 DB(250) 또는 전문가 분석 DB(270)에 존재하는지 검색한다.When the hash information (hash1) for the arbitrary file described above is transmitted from the hash extraction module 170 to the flatbed security server 200, the search control module 210 of the flatbed security server 200 is stored in the hash information (hash1) Search whether the corresponding file information exists in the reputation DB 230, the malicious code DB 250 or the expert analysis DB 270.

이때, 평판도 DB(230)는 해당 파일들 각각에 대한 사용자들의 평판 정보(Reputation information)를 수집하여 저장하고 있는 데이터 베이스이고, 악성코드 DB(250)는 악성코드로 알려져 있는 파일 정보들을 보유하고 있는 데이터 베이스이며, 전문가 분석 DB(270)는 해당 파일들 각각에 대한 전문가 의견 및 분석 결과가 저장된 데이터 베이스이다.At this time, the reputation DB 230 is a database that collects and stores reputation information (Reputation information) of the user for each of the files, the malware DB 250 has file information known as malicious code The expert analysis DB 270 is a database in which expert opinions and analysis results of respective files are stored.

검색 제어모듈(210)이 상기 해쉬정보(hash1)에 상응하는 파일 정보를 악성코드 DB(250) 및 평판도 DB(230)에서 검색한 경우, 평가정보 생성모듈(290)은 검색된 파일정보를 바탕으로 상기 임의 파일의 악성코드 여부를 판단하고 상기 임의 파일에 대한 사용자들의 평판도를 산출한다.When the search control module 210 searches for file information corresponding to the hash information hash1 in the malicious code DB 250 and the reputation DB 230, the evaluation information generation module 290 is based on the retrieved file information. It determines whether the arbitrary file is malicious code and calculates the reputation of users for the arbitrary file.

평가정보 생성모듈(290)은 상기 악성코드 여부 판단 및 사용자들의 평판도를 포함하는 평가정보를 생성하여 악성 코드 차단 모듈(100)로 전송한다.Evaluation information generation module 290 generates the evaluation information including the determination of the malicious code and the reputation of the user and transmits to the malicious code blocking module 100.

또한 상기 파일정보가 악성코드 DB(250)에만 존재하는 경우, 평가정보 생성모듈(290)은 상기 임의 파일이 악성코드인지 또는 정상파일인지에 대한 판단한 결과로 평가정보를 생성하여 악성 코드 차단 모듈(100)로 전송한다.In addition, when the file information exists only in the malicious code DB 250, the evaluation information generation module 290 generates evaluation information as a result of judging whether the arbitrary file is a malicious code or a normal file. 100).

이와 유사하게 상기 파일정보가 평판도 DB(230)에만 존재하는 경우, 평가정보 생성모듈(290)은 상기 임의 파일에 대한 사용자들의 평판도로 상기 평가정보를 생성하여 악성 코드 차단 모듈(100)로 전송한다.Similarly, when the file information exists only in the reputation DB 230, the evaluation information generation module 290 generates the evaluation information with the reputation of users for the arbitrary file and transmits the evaluation information to the malicious code blocking module 100. .

한편, 상기 해쉬 정보(hash1)에 상응하는 파일정보가 평판도 DB(230) 또는 악성코드 DB(250)에 존재하지 않는 경우, 검색 제어모듈(210)은 상기 임의 파일에 대한 수집 동의 여부를 묻는 메시지(que)를 악성코드 차단모듈(100)로 전송한다.On the other hand, if the file information corresponding to the hash information (hash1) does not exist in the reputation DB 230 or malicious code DB 250, the search control module 210 asks whether to agree to the collection of the arbitrary file (que) is transmitted to the malicious code blocking module 100.

검색 제어모듈(210)이 상기 전송한 메시지(que)에 응답한 악성코드 차단모듈(100)로부터 동의 메시지(ack)를 수신하면, 검색 제어모듈(210)는 상기 임의 파일에 대한 정보를 악성코드 차단모듈(100)로부터 수집하고 수집한 상기 임의 파일에 대한 정보를 전문가 서버(300)로 전송한다.When the search control module 210 receives the consent message (ack) from the malicious code blocking module 100 in response to the transmitted message (que), the search control module 210 receives the information about the arbitrary file malicious code Information about the random file collected and collected from the blocking module 100 is transmitted to the expert server 300.

전문가 서버(300)는 상기 전송된 임의 파일에 대한 정보를 분석하여 상기 임의 파일이 악성코드인지 정상 파일인지에 대한 분석 정보나 기타 임의 파일에 대한 세부 정보를 전문가 분석정보로서 평판 보안 서버(200)에 전송한다.The expert server 300 analyzes the information on the transmitted random file and uses the analysis information on whether the random file is a malicious code or a normal file or detailed information on other random files as the expert analysis information as the reputation security server 200. To transmit.

검색 제어모듈(210)은 상기 전문가 서버(300)로부터 전송된 전문가 분석정보를 수신하여 전문가 DB(270)에 저장하고, 평가정보 생성모듈(290)은 상기 전문가 분석정보에 기초한 평가정보(eval)를 생성하여 악성 코드 차단 모듈(100)로 전송한다.The search control module 210 receives expert analysis information transmitted from the expert server 300 and stores the expert analysis information in the expert DB 270, and the evaluation information generating module 290 evaluates the evaluation information based on the expert analysis information. Create and transmit to the malicious code blocking module 100.

실시 예에 따라 평판 보안 서버(200)는 상기 수집한 임의 파일을 자체적으로, 예컨대 샌드박스(280)나 안티 바이러스/백신 서버(285)를 이용하여 분석하고 분석 결과에 따라 상기 임의 파일에 대한 정보를 악성코드 DB(250)에 저장할 수 있다.According to an embodiment, the reputation security server 200 analyzes the collected arbitrary files on its own, for example, using a sandbox 280 or an antivirus / vaccine server 285, and the information on the arbitrary files according to the analysis result. It can be stored in the malware DB (250).

상기와 같이 평판 보안 서버(200)는 상기 임의 파일이 실행되려 할 때, 상기 임의 파일이 악성코드인지 정상코드인지의 검증과 사용자들의 상기 실행파일에 대한 평판 정보 또는 전문가의 분석정보를 제공해 주는 역할을 수행한다.As described above, when the arbitrary file is about to be executed, the reputation security server 200 serves to verify whether the arbitrary file is malicious code or normal code and provide reputation information or expert analysis information about the executable file of users. Do this.

한편, 악성 코드 차단 모듈(100)은 평판 보안 서버(200)로부터 상기 평가정보를 수신하고, 수신한 평가정보를 포함하는 보안 경고창(WIN)을 사용자 컴퓨터의 디스플레이에 표시한다.On the other hand, the malicious code blocking module 100 receives the evaluation information from the reputation security server 200, and displays a security warning window (WIN) including the received evaluation information on the display of the user computer.

따라서 상기 컴퓨터의 사용자는 상기 디스플레이에 표시된 보안 경고창(WIN)을 통해 실행되려는 임의 파일에 대한 평가정보를 확인할 수 있다.Therefore, the user of the computer can check the evaluation information for any file to be executed through the security warning window (WIN) displayed on the display.

도 2는 본 발명의 실시 예에 따른 보안 경고창의 내부 블럭도를 나타낸다.2 is a block diagram illustrating an internal security warning window according to an embodiment of the present invention.

도 1 및 도 2를 참조하면, 보안 경고창(WIN)은 평판도 표시부(D1), 전문가 정보 표시부(D2), 실행버튼(B1), 치료버튼(B2) 및 중지버튼(B3)을 포함한다.1 and 2, the security warning window WIN includes a flatness display unit D1, an expert information display unit D2, an execution button B1, a treatment button B2, and a stop button B3.

평판도 표시부(D1)에는 실행되려는 임의 파일에 대한 사용자들의 평판도가 표시되고, 전문가 정보 표시부(D2)에는 상기 임의 파일에 대한 전문가 분석 정보가 표시된다.The reputation degree of the user about the arbitrary file to be executed is displayed on the reputation display unit D1, and the expert analysis information on the arbitrary file is displayed on the expert information display unit D2.

실시 예에 따라 상기 평판도는 파이차트(Pie chart)와 같은 그래프 형태로 구현될 수 있다. According to an embodiment, the flatness may be implemented in the form of a graph such as a pie chart.

상기 평판도 표시부(D1)에 평판도가 표시되는 과정 및 전문가 정보 표시부(D2)에 전문가 분석 정보가 표시되는 과정은 도 1에 대한 설명에서 상세히 기술하였으므로 도 2에 대한 설명에서는 불필요한 설명을 생략한다.The process of displaying the flatness degree on the flatness display part D1 and the process of displaying expert analysis information on the expert information display part D2 has been described in detail in the description of FIG. 1, and thus unnecessary description thereof will be omitted.

보안 경고창(WIN)을 통해 사용자가 실행버튼(B1)을 클릭하여 상기 임의 파일을 실행하면, 악성 코드 차단 모듈(100)은 실행버튼 클릭정보(CL1)를 평판 보안 서버(200)로 전송한다.When the user executes the arbitrary file by clicking the execution button B1 through the security warning window WIN, the malicious code blocking module 100 transmits the execution button click information CL1 to the flatbed security server 200.

평판 보안 서버(200)는 전송된 실행버튼 클릭정보(CL1)에 응답하여, 해당 임의 파일의 평판도를 상향 조정한 값으로 평판도 DB(230)를 업데이트 한다.In response to the transmitted execution button click information CL1, the reputation security server 200 updates the reputation DB 230 with a value of adjusting the reputation degree of the corresponding arbitrary file.

이와 달리, 상기 사용자가 상기 임의 파일을 치료하기 위해 치료버튼(B2)을 클릭하는 경우에는, 악성 코드 차단 모듈(100)은 치료버튼 클릭정보(CL2)를 평판 보안 서버(200)로 전송한다.On the contrary, when the user clicks the treatment button B2 to treat the arbitrary file, the malicious code blocking module 100 transmits the treatment button click information CL2 to the reputation security server 200.

평판 보안 서버(200)는 전송된 치료버튼 클릭정보(CL2)에 응답하여, 해당 임의 파일의 평판도를 하향 조정한 값으로 평판도 DB(230)를 업데이트 한다.In response to the transmitted treatment button click information CL2, the reputation security server 200 updates the reputation DB 230 with a value of adjusting the reputation degree of the corresponding arbitrary file.

평판 보안 서버(200)는 상기 사용자의 실행버튼(B1) 또는 치료버튼(B2)의 클릭에 상응하는 평판도 DB(230)의 업데이트를 행한 후, 악성 코드 차단 모듈(100)로 상기 업데이트 결과를 즉시 피드백 한다.The reputation security server 200 updates the reputation DB 230 corresponding to the click of the execution button B1 or the treatment button B2 of the user, and immediately sends the update result to the malicious code blocking module 100. Feedback.

따라서 악성 코드 차단 모듈(100)은 평판도 표시부(D1)을 통해 실시간 업데이트되는 평판도를 디스플레이 할 수 있으며, 상기 사용자 또한 자신의 선택이 즉각적으로 반영된 결과를 확인할 수 있다.Therefore, the malicious code blocking module 100 may display a reputation that is updated in real time through the reputation display unit D1, and the user may check a result in which his / her selection is immediately reflected.

한편, 상기 임의 파일을 실행할 것인지 치료할 것인지에 대한 판단이 곤란한 경우, 사용자는 중지버튼(B3)을 클릭하여 상기 임의 파일의 실행을 일시적으로 중단할 수 있다.On the other hand, when it is difficult to determine whether to execute or treat the arbitrary file, the user can temporarily stop the execution of the arbitrary file by clicking the stop button B3.

도 2의 설명에서는 상기 임의 파일을 치료하거나 중지하기 위해 치료버튼(B2)이나 중지버튼(B3)을 사용자가 클릭해야 하는 것으로 설명하였지만, 반드시 이에 한정하는 것은 아니며 설계에 따라 상기 임의 파일을 자동으로 치료하거나 중지할 수 있는 옵션을 구비할 수도 있다.In the description of FIG. 2, the user has to click the treatment button B2 or the stop button B3 in order to treat or stop the random file. It may also have the option of treating or stopping.

도 3은 본 발명의 일 실시 예에 따른 포지티브 기반 악성코드 차단 방법을 설명하기 위한 순서도이다.3 is a flow chart illustrating a method for blocking positive based malware according to an embodiment of the present invention.

도 1 내지 도 3을 참조하면, 커널 드라이버(110)가 사용자 컴퓨터의 커널을 후킹(Hooking)하여 파일 실행에 대한 제어권을 획득한다(S10).1 to 3, the kernel driver 110 hooks a kernel of a user computer to obtain control of file execution (S10).

임의 파일의 실행 시도가 상기 커널 드라이버(110)에서 감지(S30)된 경우, 해쉬 추출 모듈(170)은 상기 임의 파일의 해쉬정보(hash1)를 추출하여 평판 보안 서버(200)로 전송한다(S50).When an attempt to execute a random file is detected by the kernel driver 110 (S30), the hash extracting module 170 extracts the hash information hash1 of the random file and transmits the hash information (hash1) to the flatbed security server 200 (S50). ).

평판 보안 서버(200)가 상기 전송된 해쉬정보(hash1)에 상응하는 평가정보(eval)를 생성하여 악성코드 차단 모듈(100)로 제공한다(S70).The reputation security server 200 generates evaluation information (eval) corresponding to the transmitted hash information (hash1) and provides it to the malicious code blocking module 100 (S70).

악성코드 차단 모듈(100)은 상기 제공된 평가정보(eval)를 포함하는 보안 경고창(WIN)을 상기 사용자 컴퓨터의 모니터에 디스플레이하여(S90), 사용자에게 상기 임의 파일에 대한 실행 또는 차단 결정을 유도한다.The malicious code blocking module 100 displays a security warning window WIN including the provided evaluation information (eval) on the monitor of the user's computer (S90) to induce a user to execute or block the arbitrary file. .

도 4는 본 발명의 다른 실시 예에 따른 포지티브 기반 악성코드 차단 방법을 설명하기 위한 순서도이다.Figure 4 is a flow chart for explaining a positive based malware blocking method according to another embodiment of the present invention.

도 1, 도 2 및 도 4를 참조하면, 커널 드라이버(110)는 사용자 컴퓨터의 커널을 후킹하여 파일 실행에 대한 제어권을 획득한다(S110).1, 2 and 4, the kernel driver 110 hooks the kernel of the user computer to obtain control of file execution (S110).

임의 파일의 실행 시도가 상기 커널 드라이버(110)에서 감지된 경우(120), 검색 비교 모듈(150)은 상기 임의 파일의 컴퓨터 경로가 화이트 리스트 DB(130)에 존재하는지를 검색한다(S130).When an attempt to execute an arbitrary file is detected by the kernel driver 110 (120), the search comparison module 150 searches whether the computer path of the arbitrary file exists in the white list DB 130 (S130).

상기 검색 결과, 상기 임의 파일의 컴퓨터 경로가 화이트 리스트 DB(130)에 존재하는 경우에 검색 비교 모듈(150)은 상기 검색결과(R1)를 커널 드라이버(110)로 전송한다.As a result of the search, when the computer path of the arbitrary file exists in the white list DB 130, the search comparison module 150 transmits the search result R1 to the kernel driver 110.

커널 드라이버(110)는 상기 전송된 검색결과(R1)에 응답하여 보안경고창(WIN)의 디스플레이 없이 상기 임의 파일을 곧바로 실행한다(S350).The kernel driver 110 directly executes the arbitrary file without displaying the security warning window WIN in response to the transmitted search result R1 (S350).

한편, 상기 임의 파일의 컴퓨터 경로가 화이트 리스트 DB(130)에 존재하지 않는 경우, 검색 비교 모듈(150)은 그 검색결과(R2)를 해쉬 추출모듈(170)로 전송한다.On the other hand, if the computer path of the arbitrary file does not exist in the white list DB 130, the search comparison module 150 transmits the search result (R2) to the hash extraction module 170.

해쉬 추출모듈(170)은 검색 비교 모듈(150)로부터 전송된 검색결과(R2)에 응답하여, 상기 임의 실행파일에 대한 해쉬값(hash1)을 추출하고 상기 추출한 해쉬값(hash1)을 평판 보안 서버(200)로 전송한다(S150).The hash extracting module 170 extracts a hash value hash1 for the arbitrary executable file in response to the search result R2 transmitted from the search comparing module 150 and converts the extracted hash value hash1 into a reputation security server. It transmits to 200 (S150).

상기 임의 파일에 대한 해쉬정보(hash1)가 평판 보안 서버(200)로 전송되면, 평판 보안 서버(200)의 검색 제어모듈(210)은 상기 해쉬정보(hash1)에 상응하는 파일정보가 악성코드 DB(250)에 존재하는지 검색한다(S170).When the hash information (hash1) for the arbitrary file is transmitted to the flatbed security server 200, the search control module 210 of the flatbed security server 200 is the file information corresponding to the hash information (hash1) malicious code DB It is searched whether it exists in 250 (S170).

상기 해쉬정보(hash1)에 상응하는 파일 정보가 악성코드 DB(250)에서 악성코드로 검색된 경우, 검색 제어모듈(210)은 상기 검색결과(R3)를 커널 드라이버(110)로 전송하고, 커널 드라이버(110)는 상기 전송된 검색결과(R3)에 응답하여 상기 임의 파일을 자동 삭제한다(S400).When the file information corresponding to the hash information (hash1) is detected as a malicious code in the malicious code DB 250, the search control module 210 transmits the search result (R3) to the kernel driver 110, kernel driver 110 automatically deletes the random file in response to the transmitted search result R3 (S400).

순차적으로 평판 보안 서버(200)의 검색 제어모듈(210)은 상기 해쉬정보(hash1)에 상응하는 파일정보가 평판도 DB(230)에 존재하는지 검색한다(S190).The search control module 210 of the reputation security server 200 sequentially searches whether file information corresponding to the hash information hash1 exists in the reputation DB 230 (S190).

상기 해쉬정보(hash1)에 상응하는 파일 정보가 악성코드 DB(250)에서 악성코드로 검색되지 않고 평판도 DB(230)에서 검색되는 경우, 평가정보 생성모듈(290)은 상기 파일 정보에 해당하는 평판도로부터 평가정보(eva1)를 생성하여 악성 코드 차단 모듈(100)로 전송한다(S210).If the file information corresponding to the hash information (hash1) is retrieved from the reputation DB 230 without being detected as a malicious code in the malicious code DB (250), the evaluation information generation module 290 is the reputation information corresponding to the file information The evaluation information (eva1) is generated from and transmitted to the malicious code blocking module 100 (S210).

상기 해쉬 정보(hash1)에 상응하는 파일정보가 평판도 DB(230) 또는 악성코드 DB(250)에 존재하지 않는 경우, 검색 제어모듈(210)은 상기 임의 파일에 대한 수집 동의 여부를 묻는 메시지(que)를 악성코드 차단모듈(100)로 전송한다(S230).If the file information corresponding to the hash information (hash1) does not exist in the reputation DB 230 or the malicious code DB 250, the search control module 210 asks whether or not to consent to the collection of the arbitrary file (que ) Is transmitted to the malicious code blocking module 100 (S230).

검색 제어모듈(210)이 상기 전송한 메시지(que)에 응답한 악성코드 차단모듈(100)로부터 동의 메시지(ack)를 수신하면, 검색 제어모듈(210)는 상기 임의 파일에 대한 정보를 악성코드 차단모듈(100)로부터 수집하고 수집한 상기 임의 파일에 대한 정보를 전문가 서버(300)로 전송한다(S250).When the search control module 210 receives the consent message (ack) from the malicious code blocking module 100 in response to the transmitted message (que), the search control module 210 receives the information about the arbitrary file malicious code The information on the random file collected and collected from the blocking module 100 is transmitted to the expert server 300 (S250).

전문가 서버(300)는 상기 전송된 임의 파일에 대한 정보를 분석하여 상기 임의 파일이 악성코드인지 정상 파일인지에 대한 분석 정보나 기타 임의 파일에 대한 세부 정보를 전문가 분석정보로서 평판 보안 서버(200)에 전송한다.The expert server 300 analyzes the information on the transmitted random file and uses the analysis information on whether the random file is a malicious code or a normal file or detailed information on other random files as the expert analysis information as the reputation security server 200. To transmit.

검색 제어모듈(210)은 상기 전문가 서버(300)로부터 전송된 전문가 분석정보를 수신하여 전문가 DB(270)에 저장하고(S270), 평가정보 생성모듈(290)은 상기 전문가 분석정보에 기초한 평가정보(eva2)를 생성하여 악성 코드 차단 모듈(100)로 전송한다(S290).The search control module 210 receives expert analysis information transmitted from the expert server 300 and stores the expert analysis information in the expert DB 270 (S270), and the evaluation information generating module 290 evaluates the information based on the expert analysis information. Create (eva2) and transmits to the malicious code blocking module 100 (S290).

악성 코드 차단 모듈(100)은 평가정보 생성모듈(290)로부터 평가정보(eva1 또는 eva2)를 수신하고, 수신한 평가정보(eva1 또는 eva2)를 포함하는 보안 경고창(WIN)을 사용자 컴퓨터의 디스플레이에 표시한다(S300).The malicious code blocking module 100 receives the evaluation information eva1 or eva2 from the evaluation information generation module 290, and displays a security warning window WIN including the received evaluation information eva1 or eva2 on the display of the user's computer. It is displayed (S300).

사용자가 보안 경고창(WIN)을 통해 실행버튼(B1)을 클릭하면, 악성 코드 차단 모듈(100)은 상기 임의 파일을 실행하고, 실행버튼 클릭정보(CL1)를 평판 보안 서버(200)로 전송한다(S310).When the user clicks the execute button B1 through the security alert window WIN, the malicious code blocking module 100 executes the arbitrary file and transmits the execute button click information CL1 to the flatbed security server 200. (S310).

평판 보안 서버(200)는 전송된 실행버튼 클릭정보(CL1)에 응답하여, 해당 임의 파일의 평판도를 상향 조정한 값으로 평판도 DB(230)를 업데이트 한다(S320).In response to the transmitted execution button click information CL1, the reputation security server 200 updates the reputation DB 230 with a value of increasing the reputation of the corresponding arbitrary file (S320).

상기 사용자가 상기 임의 파일을 치료하기 위해 치료버튼(B2)을 클릭하는 경우에는, 악성 코드 차단 모듈(100)은 상기 임의 파일을 치료하고, 치료버튼 클릭정보(CL2)를 평판 보안 서버(200)로 전송한다.When the user clicks the clean button B2 to clean the random file, the malicious code blocking module 100 cleans the random file and returns the clean button click information CL2 to the reputation security server 200. To send.

평판 보안 서버(200)는 전송된 치료버튼 클릭정보(CL2)에 응답하여, 해당 임의 파일의 평판도를 하향 조정한 값으로 평판도 DB(230)를 업데이트 한다(S330).In response to the transmitted treatment button click information CL2, the reputation security server 200 updates the reputation DB 230 with a value of lowering the reputation of the corresponding random file (S330).

도 5는 본 발명의 또 다른 실시 예에 따른 포지티브 기반 악성코드 차단 방법을 설명하기 위한 순서도이다.5 is a flowchart illustrating a method for blocking positive malware based on another embodiment of the present invention.

도 1, 도 2 및 도 5를 참조하면, 커널 드라이버(110)는 사용자 컴퓨터의 커널을 후킹하여 파일 실행에 대한 제어권을 획득한다(S410).1, 2 and 5, the kernel driver 110 hooks the kernel of the user computer to obtain control of file execution (S410).

임의 파일의 실행 시도가 상기 커널 드라이버(110)에서 감지된 경우(S420), 검색 비교 모듈(150)은 상기 임의 파일의 컴퓨터 경로가 화이트 리스트 DB(130)에 존재하는지를 검색한다(S430).When an attempt to execute an arbitrary file is detected by the kernel driver 110 (S420), the search comparison module 150 searches whether the computer path of the arbitrary file exists in the white list DB 130 (S430).

상기 검색 결과, 상기 임의 파일의 컴퓨터 경로가 화이트 리스트 DB(130)에 존재하는 경우에 검색 비교 모듈(150)은 상기 검색결과(R1)를 커널 드라이버(110)로 전송한다.As a result of the search, when the computer path of the arbitrary file exists in the white list DB 130, the search comparison module 150 transmits the search result R1 to the kernel driver 110.

커널 드라이버(110)는 상기 전송된 검색결과(R1)에 응답하여 보안경고창(WIN)의 디스플레이 없이 상기 임의 파일을 곧바로 실행한다(S700).The kernel driver 110 directly executes the arbitrary file without displaying the security warning window WIN in response to the transmitted search result R1 (S700).

상기 임의 파일의 컴퓨터 경로가 화이트 리스트 DB(130)에 존재하지 않는 경우, 검색 비교 모듈(150)은 그 검색결과(R2)를 해쉬 추출모듈(170)로 전송한다.If the computer path of the arbitrary file does not exist in the white list DB 130, the search comparison module 150 transmits the search result R2 to the hash extraction module 170.

해쉬 추출모듈(170)은 검색 비교 모듈(150)로부터 전송된 검색결과(R2)에 응답하여, 상기 임의 실행파일에 대한 해쉬값(hash1)을 추출하고 상기 추출한 해쉬값(hash1)을 평판 보안 서버(200)로 전송한다(S450).The hash extracting module 170 extracts a hash value hash1 for the arbitrary executable file in response to the search result R2 transmitted from the search comparing module 150 and converts the extracted hash value hash1 into a reputation security server. Transfer to step 200 (S450).

상기 임의 파일에 대한 해쉬정보(hash1)가 평판 보안 서버(200)로 전송되면, 평판 보안 서버(200)의 검색 제어모듈(210)은 상기 해쉬정보(hash1)에 상응하는 파일정보가 평판도 DB(230)에 존재하는지 검색한다(S470).When the hash information (hash1) for the arbitrary file is transmitted to the flatbed security server 200, the search control module 210 of the flatbed security server 200, the file information corresponding to the hash information (hash1) is a reputation table DB ( In step 230, it is searched whether it exists.

상기 해쉬정보(hash1)에 상응하는 파일 정보가 평판도 DB(230)에서 검색되는 경우, 평가정보 생성모듈(290)은 상기 파일 정보에 해당하는 평판도로부터 평가정보(eva1)를 생성하여 악성 코드 차단 모듈(100)로 전송한다(S490).When file information corresponding to the hash information hash1 is retrieved from the reputation DB 230, the evaluation information generation module 290 generates evaluation information eva1 from the reputation corresponding to the file information to block malicious code. Transmit to 100 (S490).

상기 해쉬정보(hash1)에 상응하는 파일정보가 평판도 DB(230)에 존재하지 않는 경우, 검색 제어모듈(210)은 상기 임의 파일에 대한 수집 동의 여부를 묻는 메시지(que)를 악성코드 차단모듈(100)로 전송한다(S500).When the file information corresponding to the hash information (hash1) does not exist in the reputation DB 230, the search control module 210 sends a message (que) asking whether to consent to the collection of the arbitrary file (block) of the malware code module ( 100) (S500).

검색 제어모듈(210)이 상기 전송한 메시지(que)에 응답한 악성코드 차단모듈(100)로부터 동의 메시지(ack)를 수신하면, 검색 제어모듈(210)는 상기 임의 파일에 대한 정보를 악성코드 차단모듈(100)로부터 수집하고(S280) 수집한 상기 임의 파일에 대한 정보를 샌드박스(280)로 전송한다(S520).When the search control module 210 receives the consent message (ack) from the malicious code blocking module 100 in response to the transmitted message (que), the search control module 210 receives the information about the arbitrary file malicious code Collecting from the blocking module 100 (S280) and transmits the information on the collected arbitrary files to the sandbox (280) (S520).

샌드박스(280)는 상기 전송된 임의 파일에 대한 정보를 분석하여 상기 임의 파일이 악성코드인지 정상 파일인지에 대한 분석 정보나 기타 임의 파일에 대한 세부 정보를 평판 보안 서버(200)에 전송한다(S540).The sandbox 280 analyzes the information on the transmitted random file and transmits analysis information on whether the random file is a malicious code or a normal file or detailed information on other random files to the reputation security server 200 ( S540).

검색 제어모듈(210)은 샌드박스(280)로부터 전송된 분석정보를 수신하여 악성코드 DB(250) 또는 전문가 분석 DB(270)에 저장하고, 평가정보 생성모듈(290)은 상기 분석정보에 기초한 평가정보(eva2)를 생성하여 악성 코드 차단 모듈(100)로 전송한다(S560).The search control module 210 receives the analysis information transmitted from the sandbox 280 and stores the analysis information in the malicious code DB 250 or the expert analysis DB 270, and the evaluation information generation module 290 is based on the analysis information. The evaluation information eva2 is generated and transmitted to the malicious code blocking module 100 (S560).

악성 코드 차단 모듈(100)은 평가정보 생성모듈(290)로부터 평가정보(eva1 또는 eva2)를 수신하고, 수신한 평가정보(eva1 또는 eva2)를 포함하는 보안 경고창(WIN)을 사용자 컴퓨터의 디스플레이에 표시한다(S580).The malicious code blocking module 100 receives the evaluation information eva1 or eva2 from the evaluation information generation module 290, and displays a security warning window WIN including the received evaluation information eva1 or eva2 on the display of the user's computer. To display (S580).

사용자가 보안 경고창(WIN)을 통해 실행버튼(B1)을 클릭하면, 악성 코드 차단 모듈(100)은 상기 임의 파일을 실행하고, 실행버튼 클릭정보(CL1)를 평판 보안 서버(200)로 전송한다(S600).When the user clicks the execute button B1 through the security alert window WIN, the malicious code blocking module 100 executes the arbitrary file and transmits the execute button click information CL1 to the flatbed security server 200. (S600).

평판 보안 서버(200)는 전송된 실행버튼 클릭정보(CL1)에 응답하여, 해당 임의 파일의 평판도를 상향 조정한 값으로 평판도 DB(230)를 업데이트 한다(S610).In response to the transmitted execution button click information CL1, the reputation security server 200 updates the reputation DB 230 with a value that raises the reputation of the corresponding arbitrary file (S610).

상기 사용자가 상기 임의 파일을 치료하기 위해 치료버튼(B2)을 클릭하는 경우에는, 악성 코드 차단 모듈(100)은 상기 임의 파일을 치료하고, 치료버튼 클릭정보(CL2)를 평판 보안 서버(200)로 전송한다.When the user clicks the clean button B2 to clean the random file, the malicious code blocking module 100 cleans the random file and returns the clean button click information CL2 to the reputation security server 200. To send.

평판 보안 서버(200)는 전송된 치료버튼 클릭정보(CL2)에 응답하여, 해당 임의 파일의 평판도를 하향 조정한 값으로 평판도 DB(230)를 업데이트 한다(S630).In response to the transmitted treatment button click information CL2, the reputation security server 200 updates the reputation DB 230 with a value of adjusting the reputation degree of the corresponding arbitrary file (S630).

실시 예에 따라, 평판 보안 서버(200)는 상기 평판도 DB(230)의 업데이트를 행한 후(S610 또는 S630 이후), 악성 코드 차단 모듈(100)로 상기 업데이트 결과를 피드백 할 수 있다.According to an embodiment, after updating the reputation DB 230 (after S610 or S630), the reputation security server 200 may feed back the update result to the malicious code blocking module 100.

본 발명에 실시 예에 따른 포지티브 기반의 악성코드 실행 차단 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다.Positive-based malicious code execution blocking method according to an embodiment of the present invention is implemented in the form of program instructions that can be executed by various computer means may be recorded in a computer readable medium.

상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination.

상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.Program instructions recorded on the media may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well-known and available to those having skill in the computer software arts.

컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media) 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다.Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks. Hardware devices specially configured to store and execute program instructions such as magneto-optical media and ROM, RAM, flash memory and the like.

상기 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다.The medium may be a transmission medium such as an optical or metal line, a wave guide, or the like, including a carrier wave for transmitting a signal designating a program command, a data structure, or the like.

프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.

상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The hardware device described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

결국 본 발명의 실시 예에 따른 악성코드 차단 방법 및 이를 이용한 시스템은 허용되지 않은 경로에서 실행되려는 파일을 사전 검증하는 포지티브 보안 기술을 적용함으로써 알려지지 않은 악성코드의 실행을 원천적으로 차단할 수 있는 효과가 있으며, 실행 파일의 사전 검증시 평판 보안 데이터 베이스로부터 해당 실행 파일의 평판 정보를 제공받을 수 있으므로 사용자는 보다 안전하게 해당 파일의 실행 여부를 결정할 수 있는 효과가 있다.As a result, the malicious code blocking method and the system using the same according to an embodiment of the present invention have the effect of blocking the execution of unknown malicious code by applying a positive security technology that pre-verifies a file to be executed in an unauthorized path. For example, when pre-verification of an executable file, the reputation information of the executable file may be provided from the reputation security database, the user may safely determine whether to execute the file.

본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.Although the present invention has been described with reference to one embodiment shown in the drawings, this is merely exemplary, and those skilled in the art will understand that various modifications and equivalent other embodiments are possible therefrom. Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.

10 : 악성코드 차단 시스템
100: 악성 코드 차단 모듈
110: 커널 드라이버
130: 화이트 리스트 DB
150: 검색 비교 모듈
170: 해쉬 추출 모듈
200: 평판 보안 서버
210: 검색 제어모듈
230: 평판도 DB
250: 악성코드 DB
270: 전문가 분석 DB
280: 샌드박스
285: 안티 바이러스/백신 서버
290: 평가정보 생성모듈
300: 전문가 서버
10: malware blocking system
100: Malware Protection Module
110: kernel driver
130: white list DB
150: search comparison module
170: hash extraction module
200: Reputation Security Server
210: search control module
230: reputation DB
250: malware DB
270 Expert Analysis DB
280: sandbox
285: Antivirus / Vaccine Server
290: evaluation information generation module
300: expert server

Claims (14)

커널 드라이버가 사용자 컴퓨터의 커널을 후킹(Hooking)하여 파일 실행에 대한 제어권을 획득하는 단계;
임의 파일의 실행 시도가 상기 커널 드라이버에서 감지된 경우, 해쉬추출모듈이 상기 임의 파일의 해쉬정보를 추출하여 평판 보안 서버로 전송하는 단계;
상기 평판 보안 서버가 상기 전송된 해쉬정보에 상응하는 평가정보를 생성하여 악성코드 차단모듈로 제공하는 단계;
상기 악성코드 차단모듈이 상기 제공된 평가정보를 포함하는 보안 경고창을 디스플레이하여 사용자에게 상기 임의 파일에 대한 실행 결정을 유도하는 단계; 및
상기 보안 경고창을 통하여 상기 임의 파일이 실행되는 경우에 상기 평판 보안 서버가 상기 임의 파일에 대한 평판도를 상향 조정하고, 상기 임의 파일이 치료되는 경우에 상기 평판도를 하향 조정하는 단계;를 포함하는 포지티브 기반의 악성코드 실행 차단 방법.
Hooking a kernel of a user computer by a kernel driver to obtain control over file execution;
If an attempt to execute an arbitrary file is detected by the kernel driver, extracting hash information of the arbitrary file by the hash extracting module and transmitting the hash information of the arbitrary file to a reputation security server;
Providing, by the reputation security server, evaluation information corresponding to the transmitted hash information to a malicious code blocking module;
Displaying, by the malicious code blocking module, a security warning window including the provided evaluation information to induce a user to execute execution of the arbitrary file; And
And adjusting the reputation level of the random file by the reputation security server when the random file is executed through the security alert window, and lowering the reputation level when the random file is cleaned. How to block malware execution.
제1항에 있어서, 상기 해쉬추출모듈이 상기 임의 파일의 해쉬정보를 추출하여 평판 보안 서버로 전송하는 단계는,
상기 임의 파일의 컴퓨터 경로가 화이트 리스트 DB에 존재하지 않거나 상기 임의 파일에 디지털 서명이 되어있지 않은 경우에, 상기 임의 파일의 해쉬정보를 추출하여 평판 보안 서버로 전송하는 포지티브 기반의 악성코드 실행 차단 방법.
The method of claim 1, wherein the hash extraction module extracts the hash information of the arbitrary file and transmits the hash information to the flat panel security server.
Positive-based malicious code execution blocking method of extracting the hash information of the random file and transmitting it to the reputation security server when the computer path of the random file does not exist in the white list DB or the random file is not digitally signed. .
제1항에 있어서, 상기 포지티브 기반의 악성코드 실행 차단 방법은,
상기 임의 파일의 실행 시도시, 상기 임의 파일의 컴퓨터 경로가 화이트 리스트 DB에 존재하는 경우에는 상기 커널 드라이버가 상기 임의 파일을 곧바로 실행하는 단계를 더 포함하는 포지티브 기반의 악성코드 실행 차단 방법.
The method of claim 1, wherein the positive based malware blocking method is executed.
And if the computer path of the random file exists in the white list DB when the random file is executed, the kernel driver further includes executing the random file directly.
삭제delete 제1항에 있어서, 상기 포지티브 기반의 악성코드 실행 차단 방법은,
상기 평판 보안 서버가 상기 임의 파일에 대한 평판도 상향 조정 또는 하향 조정 결과를 상기 평가정보에 반영하여 갱신하고, 갱신된 상기 평가 정보를 상기 악성 코드 차단 모듈로 실시간 전송하는 단계를 더 포함하는 포지티브 기반의 악성코드 실행 차단 방법.
The method of claim 1, wherein the positive based malware blocking method is executed.
The reputation security server further includes the step of updating the reputation information of the arbitrary file to increase or decrease the adjustment result reflected in the evaluation information, and further comprising the step of transmitting the updated evaluation information to the malicious code blocking module in real time How to block malware execution.
삭제delete 제1항에 있어서,
상기 평가정보는 상기 임의 파일에 대한 악성코드 여부와 전문가 분석정보 또는 상기 임의 파일에 대한 사용자 평판도 중 적어도 어느 하나를 포함하는 포지티브 기반의 악성코드 실행 차단 방법.
The method of claim 1,
And the evaluation information includes at least one of whether malicious code for the random file and expert analysis information or user reputation for the random file.
제7항에 있어서, 상기 평가정보를 생성하여 상기 악성코드 차단모듈로 제공하는 단계는,
상기 평판 보안 서버가 상기 전송된 해쉬정보에 대한 파일 정보를 보유한 경우 상기 임의 파일의 악성코드 여부 및 사용자 평판도 중 적어도 어느 하나를 포함하는 평가정보를 생성하여 제공하는 포지티브 기반의 악성코드 실행 차단 방법.
The method of claim 7, wherein the generating of the evaluation information and providing the evaluation information to the malicious code blocking module include:
Positive reputation malicious code execution blocking method for generating and providing the evaluation information including at least one of the malicious code and the user reputation of the arbitrary file when the reputation security server has file information on the transmitted hash information.
제7항에 있어서, 상기 평가정보를 생성하여 상기 악성코드 차단모듈로 제공하는 단계는,
상기 평판 보안 서버가 상기 전송된 해쉬정보에 대한 파일 정보를 보유하지 않은 경우 상기 악성코드 차단모듈로 상기 임의 파일 수집에 대한 동의를 요청하는 단계;
상기 악성코드 차단모듈로부터의 수집 동의 시 상기 임의 파일을 전문가 서버로 전송하고 상기 전문가 서버로부터 상기 임의 파일에 대한 전문가 분석정보를 수집하는 단계; 및
상기 수집된 전문가 분석정보 및 사용자 평판도 중 적어도 어느 하나를 포함하는 평가정보를 생성하여 제공하는 단계;를 포함하는 포지티브 기반의 악성코드 실행 차단 방법.
The method of claim 7, wherein the generating of the evaluation information and providing the evaluation information to the malicious code blocking module include:
If the reputation security server does not hold file information on the transmitted hash information, requesting consent for collecting the arbitrary file to the malicious code blocking module;
Transmitting the arbitrary file to an expert server and collecting expert analysis information on the arbitrary file from the expert server when consent to collect from the malicious code blocking module; And
And generating and providing evaluation information including at least one of the collected expert analysis information and user reputation.
제1항 내지 제3항, 제5항, 제7항 내지 제9항 중 어느 한 항의 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체.A computer-readable recording medium having recorded thereon a program for executing the method of any one of claims 1 to 3, 5, and 7-9. 사용자 컴퓨터의 커널을 후킹(Hooking)하여 파일 실행에 대한 제어권을 획득하는 커널 드라이버;
사용자로부터 파일 실행을 허용하도록 지정된 파일 정보 또는 컴퓨터 경로를 저장하는 화이트 리스트 DB;
상기 커널에서 실행되고자하는 임의 파일에 대한 파일 정보 또는 컴퓨터 경로가 상기 화이트 리스트 DB에 등록되지 않은 경우, 상기 임의 파일의 해쉬정보를 추출하는 해쉬 추출모듈; 및
상기 해쉬 추출모듈로부터 상기 추출된 해쉬정보를 수신하고 상기 해쉬정보에 상응하는 평가정보를 생성하여 상기 사용자 컴퓨터로 제공하는 평판 보안 서버;를 포함하며,
상기 평판 보안 서버는,
상기 사용자 컴퓨터로 제공된 평가정보를 통해 상기 임의 파일이 실행되는 경우 상기 임의 파일에 대한 평판도를 상향 조정하고, 상기 임의 파일이 치료되는 경우 상기 평판도를 하향 조정하는 포지티브 기반의 악성코드 실행 차단 시스템.
A kernel driver that hooks a kernel of a user computer to obtain control over file execution;
A white list DB that stores file information or a computer path designated to allow file execution from a user;
A hash extraction module for extracting hash information of the arbitrary file when the file information or the computer path of the arbitrary file to be executed in the kernel is not registered in the white list DB; And
And a flatbed security server that receives the extracted hash information from the hash extraction module and generates evaluation information corresponding to the hash information and provides the same to the user computer.
The reputation security server,
Positive-based malware execution blocking system for adjusting the reputation of the random file when the random file is executed through the evaluation information provided to the user computer, and lowering the reputation when the random file is cleaned.
제11항에 있어서, 상기 포지티브 기반의 악성코드 실행 차단 시스템은,
상기 평판 보안 서버로부터 상기 임의 파일을 수신하여 분석한 전문가 분석정보를 상기 평판 보안 서버로 전송하는 전문가 서버를 더 포함하는 포지티브 기반의 악성코드 실행 차단 시스템.
The system of claim 11, wherein the positive based malware blocking system is
Positive-based malicious code execution blocking system further comprises an expert server for transmitting the expert analysis information received by analyzing the arbitrary file from the reputation security server to the reputation security server.
삭제delete 제 11항에 있어서, 상기 평판 보안 서버는,
상기 임의 파일에 대한 평판도 상향 조정 또는 하향 조정 결과를 상기 평가정보에 반영하여 갱신하고, 갱신된 상기 평가 정보를 상기 사용자 컴퓨터로 실시간 제공하는 포지티브 기반의 악성코드 실행 차단 시스템.
The flat panel security server of claim 11,
Positive-based malicious code execution blocking system for updating and reflecting the result of the increase or decrease the reputation of the arbitrary file in the evaluation information, and provides the updated evaluation information to the user computer in real time.
KR1020110088405A 2011-09-01 2011-09-01 Malware execution preventing method based on positive security using reputation information and system thereof KR101126532B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110088405A KR101126532B1 (en) 2011-09-01 2011-09-01 Malware execution preventing method based on positive security using reputation information and system thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110088405A KR101126532B1 (en) 2011-09-01 2011-09-01 Malware execution preventing method based on positive security using reputation information and system thereof

Publications (1)

Publication Number Publication Date
KR101126532B1 true KR101126532B1 (en) 2012-03-22

Family

ID=46142235

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110088405A KR101126532B1 (en) 2011-09-01 2011-09-01 Malware execution preventing method based on positive security using reputation information and system thereof

Country Status (1)

Country Link
KR (1) KR101126532B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101908104B1 (en) 2017-05-19 2018-10-17 주식회사 안랩 System lock management apparatus and system lock management method
CN113282921A (en) * 2021-06-11 2021-08-20 深信服科技股份有限公司 File detection method, device, equipment and storage medium
KR20210132545A (en) * 2020-04-27 2021-11-04 (주)세이퍼존 Apparatus and method for detecting abnormal behavior and system having the same

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100054940A (en) * 2008-11-17 2010-05-26 포항공과대학교 산학협력단 Apparatus and method for preventing malware using signature verification for embedded linux
KR20110008854A (en) * 2009-07-21 2011-01-27 (주) 세인트 시큐리티 Method, system and computer readable recording medium for detecting exploit code

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100054940A (en) * 2008-11-17 2010-05-26 포항공과대학교 산학협력단 Apparatus and method for preventing malware using signature verification for embedded linux
KR20110008854A (en) * 2009-07-21 2011-01-27 (주) 세인트 시큐리티 Method, system and computer readable recording medium for detecting exploit code

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101908104B1 (en) 2017-05-19 2018-10-17 주식회사 안랩 System lock management apparatus and system lock management method
KR20210132545A (en) * 2020-04-27 2021-11-04 (주)세이퍼존 Apparatus and method for detecting abnormal behavior and system having the same
KR102393913B1 (en) * 2020-04-27 2022-05-03 (주)세이퍼존 Apparatus and method for detecting abnormal behavior and system having the same
CN113282921A (en) * 2021-06-11 2021-08-20 深信服科技股份有限公司 File detection method, device, equipment and storage medium

Similar Documents

Publication Publication Date Title
US10282548B1 (en) Method for detecting malware within network content
US9734332B2 (en) Behavior profiling for malware detection
JP5326062B1 (en) Non-executable file inspection apparatus and method
US9015829B2 (en) Preventing and responding to disabling of malware protection software
US8918878B2 (en) Restoration of file damage caused by malware
US9065826B2 (en) Identifying application reputation based on resource accesses
US7941852B2 (en) Detecting an audio/visual threat
EP2754081B1 (en) Dynamic cleaning for malware using cloud technology
US8332946B1 (en) Method and system for protecting endpoints
US20060236393A1 (en) System and method for protecting a limited resource computer from malware
US20100154061A1 (en) System and method for identifying malicious activities through non-logged-in host usage
KR102180098B1 (en) A malware detecting system performing monitoring of malware and controlling a device of user
US9275231B1 (en) Method and apparatus for securing a computer using an optimal configuration for security software based on user behavior
KR101126532B1 (en) Malware execution preventing method based on positive security using reputation information and system thereof
US9069964B2 (en) Identification of malicious activities through non-logged-in host usage
WO2016062193A1 (en) Method for dynamically controlling application function based on environment detection
JP7320462B2 (en) Systems and methods for performing tasks on computing devices based on access rights
US7840958B1 (en) Preventing spyware installation
US8640242B2 (en) Preventing and detecting print-provider startup malware
KR20110111714A (en) Terminal device and method for depending malicious code of the terminal device, device and method for analyzing reliability
CN113596044B (en) Network protection method and device, electronic equipment and storage medium
CN109460658A (en) It is a kind of for the detection method for maliciously extorting sample
Yadav et al. A complete study on malware types and detecting ransomware using API calls
EP1902384B1 (en) Securing network services using network action control lists
US11934515B2 (en) Malware deterrence using computer environment indicators

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated 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: 20150304

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170303

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180307

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190307

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20200309

Year of fee payment: 9