KR100994328B1 - Method and apparatus for program interception in using hash table - Google Patents

Method and apparatus for program interception in using hash table Download PDF

Info

Publication number
KR100994328B1
KR100994328B1 KR1020080041454A KR20080041454A KR100994328B1 KR 100994328 B1 KR100994328 B1 KR 100994328B1 KR 1020080041454 A KR1020080041454 A KR 1020080041454A KR 20080041454 A KR20080041454 A KR 20080041454A KR 100994328 B1 KR100994328 B1 KR 100994328B1
Authority
KR
South Korea
Prior art keywords
hash
program
hash table
information
extracted
Prior art date
Application number
KR1020080041454A
Other languages
Korean (ko)
Other versions
KR20090115544A (en
Inventor
박동훈
Original Assignee
닉스테크 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 닉스테크 주식회사 filed Critical 닉스테크 주식회사
Priority to KR1020080041454A priority Critical patent/KR100994328B1/en
Publication of KR20090115544A publication Critical patent/KR20090115544A/en
Application granted granted Critical
Publication of KR100994328B1 publication Critical patent/KR100994328B1/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/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/7453Address table lookup; Address filtering using hashing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명의 해시 테이블을 이용한 프로그램 차단 방법은, 특정 프로그램의 실행 요청 신호를 수신하는 단계, 상기 실행 요청 신호를 수신한 경우, 상기 특정 프로그램의 해시(HASH) 정보를 추출하는 단계, 상기 추출된 해시 정보가 기등록된 해시 테이블에 포함되었는지 여부를 판단하는 단계 및 상기 판단 결과 상기 추출된 해시 정보가 기등록된 해시 테이블에 포함 되지 않은 경우, 상기 특정 프로그램의 실행을 차단하는 단계를 포함한다.Program blocking method using a hash table of the present invention, receiving the execution request signal of a specific program, if receiving the execution request signal, extracting the hash (HASH) information of the specific program, the extracted hash Determining whether the information is included in the pre-registered hash table, and if the extracted hash information is not included in the pre-registered hash table, blocking the execution of the specific program.

해시, 보안, 프로그램 차단, 해킹 Hash, security, program blocking, hack

Description

해시 테이블을 이용한 프로그램 차단 방법 및 장치{METHOD AND APPARATUS FOR PROGRAM INTERCEPTION IN USING HASH TABLE}Program blocking method and device using hash table {METHOD AND APPARATUS FOR PROGRAM INTERCEPTION IN USING HASH TABLE}

본 발명은 해시 테이블을 이용한 프로그램 차단 방법 및 장치에 관한 것으로서, 보다 상세하게는 특정 프로그램의 실행 요청에 따라 상기 프로그램의 해시 정보가 기등록된 해시 테이블에 포함되었는지 여부를 판단하여 프로그램을 실행 또는 차단할 수 있는 해시 테이블을 이용한 프로그램 차단 방법 및 장치에 관한 것이다.The present invention relates to a method and a device for blocking a program using a hash table, and more particularly, to determine whether or not the hash information of the program is included in a pre-registered hash table according to a request for executing a specific program to execute or block a program. The present invention relates to a method and apparatus for blocking a program using a hash table.

오늘날 정보화 시대가 가속되고 있는 가운데 컴퓨터는 우리 생활에 없어서는 안 될 가장 중요한 가전 제품으로 자리 잡고 있다.As the information age is accelerating today, computers are becoming the most important home appliances in our lives.

인터넷 기술의 발달로 인해 하나 이상의 컴퓨터를 서로 공유하여 사용할 수 있으며, 그에 따른 정보 공유 및 차단 설정 등에 많은 관심이 증폭되고 있는 실정이다.Due to the development of Internet technology, one or more computers can be shared and used, and a lot of interest is being amplified according to information sharing and blocking settings.

특히, 컴퓨터 네트워크의 보완 취약점을 찾아내어 이를 악의적으로 이용하는 해킹 등을 통하여 개인 또는 회사의 컴퓨터에 저장된 정보가 유출 될 수도 있으며, 바이러스 등을 통하여 컴퓨터를 못 쓰게 만드는 경우도 자주 일어 나고 있다.In particular, information stored on an individual's or company's computer may be leaked through hacking and exploiting complementary vulnerabilities in computer networks, and it often happens that users cannot use computers through viruses.

이러한, 요즘에는 문제점을 보안 하기 위하여 보안 프로그램 또는 차단 프로 그램 등을 컴퓨터에 설치하여 임의적으로 수행되는 해킹 프로그램 또는 바이러스 프로그램 등을 사전에 예방 또는 차단 하고 있다.In recent years, in order to secure a problem, a security program or a blocking program is installed on a computer to prevent or block a hacking program or a virus program that is randomly performed.

종래의 차단 프로그램이나 보안 프로그램은 해킹 또는 바이러스 프로그램으로 판단되거나, 유해 사이트라고 의심되는 사이트의 주소를 기억하고 있는 차단 프로그램 정보 또는 차단 사이트 주소를 업데이트 하는 방식을 주로 사용하고 있다.The conventional blocking program or security program mainly uses a method of updating the blocking program information or the blocking site address, which stores the address of a site that is determined to be a hacking or a virus program or that is suspected to be a harmful site.

그러나, 상기와 같은 방식은 차단 프로그램의 용량 면에서 매우 방대한 분량을 저장하거나 업데이트 하여야 하며, 사용자가 원하는 프로그램이 임의적으로 차단되는 문제점이 있다.However, the above scheme has to store or update a very large amount in terms of the capacity of the blocking program, and there is a problem that a program desired by the user is randomly blocked.

본 발명은 상술한 종래기술의 문제점을 해결하기 위해 안출된 것으로서, 유해 프로그램 또는 바이러스 프로그램을 차단 할 수 있는 해시 테이블을 이용한 프로그램 차단 방법 및 장치를 제공하는데 그 목적이 있다.The present invention has been made to solve the above problems of the prior art, and an object thereof is to provide a program blocking method and apparatus using a hash table that can block harmful programs or virus programs.

또한, 본 발명은 해시 테이블에 등록된 프로그램만을 실행하도록 제어할 수 있는 방법을 제공하는데 그 목적이 있다.It is also an object of the present invention to provide a method capable of controlling to execute only a program registered in a hash table.

또한, 본 발명은 해시 테이블에 사용자가 원하는 프로그램을 차단 또는 실행 할 수 있도록 설정할 수 있는 방법을 제공하는데 그 목적이 있다.In addition, an object of the present invention is to provide a method that can be set in the hash table so that the user can block or execute the desired program.

상기의 목적을 달성하고, 상술한 종래기술의 문제점을 해결하기 위하여, 본 발명 일실시예에 따른 해시 테이블을 이용한 프로그램 차단 방법은, 특정 프로그램의 실행 요청 신호를 수신하는 단계, 상기 실행 요청 신호를 수신한 경우, 상기 특정 프로그램의 해시(HASH) 정보를 추출하는 단계, 상기 추출된 해시 정보가 기등록된 해시 테이블에 포함되었는지 여부를 판단하는 단계 및 상기 판단 결과 상기 추출된 해시 정보가 기등록된 해시 테이블에 포함 되지 않은 경우, 상기 특정 프로그램의 실행을 차단하는 단계를 포함한다. In order to achieve the above object and to solve the above-mentioned problems of the prior art, the program blocking method using a hash table according to an embodiment of the present invention, receiving the execution request signal of a specific program, the execution request signal If received, extracting hash information of the specific program, determining whether the extracted hash information is included in a pre-registered hash table, and as a result of the determination, the extracted hash information is pre-registered. If not included in the hash table, the step of blocking the execution of the particular program.

또한, 본 발명은 상기 판단 결과 상기 추출된 해시 정보가 기등록된 해시 테이블에 포함된 경우, 상기 특정 프로그램의 실행 요청에 따라 상기 특정 프로그램을 실행하는 단계를 더 포함한다.The present invention may further include executing the specific program in response to a request for executing the specific program when the extracted hash information is included in a pre-registered hash table.

상기의 목적을 달성하고, 상술한 종래기술의 문제점을 해결하기 위하여, 본 발명 일실시예에 따른 해시 테이블을 이용한 프로그램 차단 방법은, 특정 프로그램의 실행 요청 신호를 수신하는 수신부, 상기 실행 요청 신호를 수신한 경우, 상기 특정 프로그램의 해시(HASH) 정보를 추출하는 추출부, 상기 추출된 해시 정보가 기등록된 해시 테이블에 포함되었는지 여부를 판단하는 판단부 및 상기 판단 결과 상기 추출된 해시 정보가 기등록된 해시 테이블에 포함 되지 않은 경우, 상기 특정 프로그램의 실행을 차단하는 프로그램 실행 제어부를 포함한다. In order to achieve the above object and to solve the above-mentioned problems of the prior art, the program blocking method using a hash table according to an embodiment of the present invention, the receiving unit for receiving the execution request signal of a specific program, the execution request signal If received, the extraction unit for extracting the hash (HASH) information of the specific program, a determination unit for determining whether the extracted hash information is included in the pre-registered hash table and the extracted hash information as a result of the determination If it is not included in the registered hash table, the program execution control unit for blocking the execution of the specific program.

또한, 본 발명의 상기 프로그램 실행 제어부는, 상기 판단 결과 상기 추출된 해시 정보가 기등록된 해시 테이블에 포함된 경우, 상기 특정 프로그램의 실행 요청에 따라 상기 특정 프로그램을 실행한다. In addition, when the extracted hash information is included in a pre-registered hash table, the program execution control unit of the present invention executes the specific program according to the execution request of the specific program.

본 발명에 따르면 유해 프로그램 또는 바이러스 프로그램을 차단 할 수 있다.According to the present invention can block harmful programs or virus programs.

또한, 본 발명에 따르면 해시 테이블에 등록된 프로그램만을 실행하도록 제어할 수 있다.In addition, according to the present invention, it is possible to control to execute only a program registered in the hash table.

또한, 본 발명에 따르면 해시 테이블에 사용자가 원하는 프로그램을 차단 또는 실행 할 수 있도록 설정할 수 있다.In addition, according to the present invention, the hash table may be set to block or execute a desired program.

이하 첨부 도면들 및 첨부 도면들에 기재된 내용들을 참조하여 본 발명의 바람직한 실시예를 상세하게 설명하지만, 본 발명이 실시예에 의해 제한되거나 한정 되는 것은 아니다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings and the contents described in the accompanying drawings, but the present invention is not limited or limited to the embodiments.

한편, 본 발명을 설명함에 있어서, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는, 그 상세한 설명을 생략할 것이다. 그리고, 본 명세서에서 사용되는 용어(terminology)들은 본 발명의 바람직한 실시예를 적절히 표현하기 위해 사용된 용어들로서, 이는 사용자, 운용자의 의도 또는 본 발명이 속하는 분야의 관례 등에 따라 달라질 수 있다. 따라서, 본 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.On the other hand, in describing the present invention, when it is determined that the detailed description of the related known function or configuration may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted. Terminology used herein is a term used to properly express a preferred embodiment of the present invention, which may vary according to a user, an operator's intention, or a custom in the field to which the present invention belongs. Therefore, the definitions of the terms should be made based on the contents throughout the specification.

도 1은 본 발명의 일실시예에 따른 해시 테이블을 이용한 프로그램 차단 장치의 구성을 도시한 블록도이다.1 is a block diagram showing the configuration of a program blocking device using a hash table according to an embodiment of the present invention.

본 발명에 따른 해시 테이블을 이용한 프로그램 차단 장치(100)는 하나의 문자열을 원래의 것을 상징하는 더 짧은 길이의 값이나 키로 변환하여 사용하는 해시(hash)함수 사용하는 장치를 기초로 한다.The program blocking device 100 using the hash table according to the present invention is based on a device using a hash function that converts a string into a value or key of a shorter length symbolizing the original one.

본 발명을 도 1 및 관련 예시 도면을 참조하여, 정보의 흐름에 따라 순차적으로 설명하기로 한다.With reference to FIG. 1 and related exemplary drawings, the present invention will be described sequentially according to the flow of information.

먼저, 수신부(110)는 특정 프로그램의 실행 요청 신호를 수신한다.First, the receiver 110 receives a signal for executing a specific program.

사용자는 사용자 단말기를 통하여 다양한 프로그램을 실행할 수 있는데, 이때 기존 방식의 차단 프로그램은 등록되어 있는 유해 프로그램을 차단하는 반면, 본 발명에서는 해시 테이블에 등록되어 있는 프로그램만을 실행하도록 할 수 있다.The user can execute various programs through the user terminal. In this case, the conventional blocking program blocks the registered harmful programs, whereas in the present invention, only the programs registered in the hash table can be executed.

즉, 본 발명의 프로그램 차단 장치(100)는 임의의 프로그램 중 사용자가 실 행하고자 하는 특정 프로그램의 실행 요청 신호를 수신한다.That is, the program blocking device 100 of the present invention receives an execution request signal of a specific program that a user wants to execute among arbitrary programs.

다음으로, 추출부(120)는 상기 실행 요청 신호를 수신한 경우, 상기 특정 프로그램의 해시(HASH) 정보를 추출한다.Next, the extraction unit 120, when receiving the execution request signal, extracts the hash (HASH) information of the specific program.

본 발명은 해시 정보가 저장된 해시 테이블을 이용하여 특정 프로그램의 차단 또는 실행 여부를 판단 하기 때문에, 프로그램 실행 요청 신호가 수신된 경우, 해당 프로그램의 해시 정보를 추출한다.Since the present invention determines whether to block or execute a specific program using a hash table in which hash information is stored, when a program execution request signal is received, hash information of the corresponding program is extracted.

이러한, 상기 해시 정보는 정렬된 이름들 각각이 데이터베이스 내에서 개인들 데이터의 키가 될 수 있다. 데이터베이스 검색 수법은 일치하는 것이 먼저 발견될 때까지 각 이름들을 글자단위로 확인하기 시작해야만 한다. 그러나, 만약 이름들 각각이 해시된다면, 각 이름별로 예를 들어 4자리의 고유한 키를 생성하는 것이 가능해진다. This hash information may be that each of the sorted names is a key of individuals data in the database. The database search technique must start checking each name character by character until a match is found first. However, if each of the names is hashed, it is possible to generate a unique key, for example four digits for each name.

이때, 사용자는 정보 등록부(150)를 이용하여 하나 이상의 해시 정보를 상기 해시 테이블에 미리 등록해 놓을 수도 있다. 즉, 앞선 예와 같이 자주 쓰는 프로그램의 경우 해시 테이블에 해당 해시 정보를 등록함으로써, 추후 차단 프로그램으로 인식되지 않게 미리 조치할 수도 있다.In this case, the user may pre-register one or more hash information in the hash table using the information register 150. That is, in the case of a frequently used program as in the previous example, the hash information may be registered in the hash table, so that the program may not be recognized as a blocking program later.

다음으로, 판단부(130)는 상기 추출된 해시 정보가 기등록된 해시 테이블에 포함되었는지 여부를 판단한다.Next, the determination unit 130 determines whether the extracted hash information is included in the pre-registered hash table.

본 발명은 전술한 바와 같이, 장치 내부의 해시 테이블에 사용자가 차단하지 않고 실행하기 원하는 유해하지 않은 프로그램의 해시 정보가 등록되어 있으며, 상기 추출부(120)에 의하여 추출된 상기 특정 프로그램의 해시 정보를 상기 해시 테 이블에 포함되어 있는지 여부를 판단한다.In the present invention, as described above, hash information of a non-harmful program that a user wants to execute without blocking is registered in a hash table inside the device, and hash information of the specific program extracted by the extracting unit 120. Determine whether it is included in the hash table.

다음으로, 프로그램 실행 제어부(140)는 상기 판단 결과 상기 추출된 해시 정보가 기등록된 해시 테이블에 포함 되지 않은 경우, 상기 특정 프로그램의 실행을 차단한다.Next, the program execution control unit 140 blocks the execution of the specific program when the extracted hash information is not included in the pre-registered hash table.

즉, 본 발명은 추출부(120)를 통하여 실행 요청 신호가 수신된 특정 프로그램의 해시 정보를 추출하고, 상기 추출된 해시 정보가 판단부(130)를 통하여 해시 테이블에 존재하는지 여부를 판단하여 존재하지 않는 경우 프로그램 실행 제어부(140)에 의해 상기 특정 프로그램을 차단할 수 있다.That is, the present invention extracts the hash information of the specific program from which the execution request signal is received through the extractor 120, and determines whether the extracted hash information exists in the hash table through the determiner 130. If not, the program execution control unit 140 may block the specific program.

또한, 프로그램 실행 제어부(140)는, 상기 판단 결과 상기 추출된 해시 정보가 기등록된 해시 테이블에 포함된 경우, 상기 특정 프로그램의 실행 요청에 따라 상기 특정 프로그램을 실행한다.In addition, when the extracted hash information is included in a pre-registered hash table, the program execution control unit 140 executes the specific program according to the execution request of the specific program.

본 발명의 이해를 돕고자, 도 2 내지 관련 예시 도면을 참조하여 아래에서 설명하고자 한다.To help understand the present invention, it will be described below with reference to FIGS.

도 2는 본 발명의 일실시예에 따른 특정 프로그램의 차단 여부를 판단하는 예를 도시한 도면이다.2 is a diagram illustrating an example of determining whether a specific program is blocked according to an embodiment of the present invention.

본 발명은 도 2에 도시된 바와 같이, 사용자가 CMD, Explorer 등의 특정 프로그램을 실행하도록 하는 상기 실행 요청 신호를 수신한 경우, OS 내부에서 유저 에이피아이(UserAPI CreateProcess)가 호출된다. 이때 프로세서 내부에서 크리에이트 프로세스(CreateProcess)를 가로채서 대기시킨 후 실제 실행요청을 받은 파일내용을 기반으로 프로그램의 해시 정보를 해시 정보를 추출한다.As shown in FIG. 2, when the user receives the execution request signal for executing a specific program such as CMD or Explorer, a user API CreateProcess is called in the OS. At this time, the process intercepts and waits for the CreateProcess in the processor and extracts the hash information of the program based on the contents of the file that is actually requested.

즉, 상기 유저 에이피아이는 크리에이트 프로세스(CreateProcess) 형식 일 수 있으며, 상기 형식에 한정된 것은 아니다.That is, the user API may be in the form of a create process, but is not limited to the form.

다음으로, 상기 추출된 해시 정보가 기등록된 해시 테이블에 포함되었는지 여부를 판단하는데, 이는 프로세서의 중추적인 실행 제어부인 커널(kernel) 모드를 통하여 수행할 수 있다.Next, it is determined whether the extracted hash information is included in a pre-registered hash table, which may be performed through a kernel mode, which is a central execution control unit of the processor.

다음으로, 본 발명은 프로세서의 기등록된 해시 테이블에 상기 추출된 해시 정보가 포함되었는지 여부를 판단하고, 존재하는 경우에만 실행하고 존재하지 않는 경우 차단할 수 있다.Next, the present invention may determine whether the extracted hash information is included in the pre-registered hash table of the processor, and execute only if present, and block if not present.

본 발명의 관련 실시예 도면인 도 3 내지 도 4를 참조하면 보다 이해가 쉽다.3 to 4, which is a related embodiment drawing of the present invention, it is easier to understand.

도 3은 본 발명의 일실시예에 따라 프로그램이 실행되는 예를 도시한 도면이고, 도 4는 본 발명의 일실시예에 따라 프로그램이 차단되는 예를 도시한 도면이다. 3 is a diagram illustrating an example in which a program is executed according to an embodiment of the present invention, and FIG. 4 is a diagram illustrating an example in which a program is blocked according to an embodiment of the present invention.

예를 들어, 본 발명은 도 3에 도시된 바와 같이 ‘test1.exe’라는 프로그램의 실행 요청 신호가 수신된 경우, 프로세서의 해시 테이블을 검색하여 상기 ‘test1.exe’의 해시 정보가 존재하는지 여부를 판단한다.For example, when the execution request signal of the program 'test1.exe' is received as illustrated in FIG. 3, the present invention searches the hash table of the processor to determine whether the hash information of 'test1.exe' exists. Judge.

다음으로, 본 발명은 도 3에 도시된 바와 같이 상기 해시 테이블에 상기 ‘test1.exe’의 해시 정보가 존재하는 경우 상기 ‘test1.exe’를 실행하도록 허용하고 실행한다.Next, the present invention allows and executes 'test1.exe' when the hash information of 'test1.exe' exists in the hash table as shown in FIG.

하지만, 도 4에 도시된 바와 같이, ‘test2.exe’라는 프로그램의 실행 요청 신호가 수신된 경우에는 해시 테이블에 상기 ‘test2.exe’가 존재하지 않기 때문에 상기 ‘test2.exe’의 실행을 차단한다.However, as shown in FIG. 4, when the execution request signal of the program 'test2.exe' is received, the execution of 'test2.exe' is blocked because the 'test2.exe' does not exist in the hash table. do.

또한, 본 발명은 메시지 출력부(160)를 통하여 판단부(120)의 판단 결과 상기 추출된 해시 정보가 기등록된 해시 테이블에 포함 되지 않은 경우, 상기 추출된 해시 정보를 상기 해시 테이블에 등록할지 여부를 질의하는 메시지를 출력할 수도 있다.Also, when the extracted hash information is not included in the registered hash table as a result of the determination by the determination unit 120 through the message output unit 160, whether the extracted hash information is registered in the hash table. You can also output a message to query whether or not.

도 5는 본 발명의 일실시예에 따른 해시 정보 등록 여부를 결정하는 메시지가 송출된 화면을 도시한 도면이다.5 is a diagram illustrating a screen on which a message for determining whether to register hash information is sent according to an embodiment of the present invention.

예를 들어, 본 발명은 특정 프로그램의 해시 정보가 해시 테이블에 등록되어 있지 않아 프로그램이 차단된 경우, 도 5에 도시된 바와 같이 차단된 프로그램의 해시 정보를 등록할지 여부를 질의하는 메시지가 송출되도록 한다.For example, in the present invention, if the program is blocked because the hash information of the specific program is not registered in the hash table, as shown in FIG. 5, a message is transmitted to ask whether to register the hash information of the blocked program. do.

이때, 사용자가 상기 차단된 프로그램을 등록하기를 원하는 경우, 확인 버튼을 눌러 등록할 수도 있다.At this time, if the user wants to register the blocked program, the user may register by pressing a confirmation button.

즉, 사용자가 등록을 결정한 경우, 수신부(110)는 상기 질의 메시지에 따라 상기 추출된 해시 정보를 상기 해시 테이블에 등록 요청하는 신호를 수신하고, 정보 등록부(150)는 상기 등록 요청 신호에 따라 상기 추출된 해시 정보를 상기 해시 테이블에 등록할 수도 있다.That is, when the user determines to register, the receiver 110 receives a signal for requesting registration of the extracted hash information in the hash table according to the query message, and the information register 150 receives the signal according to the registration request signal. The extracted hash information may be registered in the hash table.

이러한 본 발명은 해시 테이블을 이용하여 프로그램의 차단 여부를 결정할 수 있는 방법을 제공하고 있으며, 이를 도 6 내지 도7을 참조하여 순차적으로 설명하도록 한다.The present invention provides a method of determining whether to block a program using a hash table, which will be described sequentially with reference to FIGS. 6 to 7.

이때, 상기 방법은 해시 테이블을 이용한 프로그램 차단 장치에 준하는 내용이므로, 상기 장치의 기능적 요소를 모두 포함하고 있기 때문에 그에 따른 상세한 설명은 생략하여 간략히 설명하기로 한다.In this case, since the method corresponds to a program blocking device using a hash table, since the method includes all the functional elements of the device, a detailed description thereof will be omitted.

도 6는 본 발명의 일실시예에 따른 해시 테이블을 이용한 프로그램 차단 방법을 도시한 흐름도이다.6 is a flowchart illustrating a program blocking method using a hash table according to an embodiment of the present invention.

먼저, 수신부(110)는 특정 프로그램의 실행 요청 신호를 수신한다(S610).First, the receiver 110 receives an execution request signal of a specific program (S610).

다음으로, 추출부(120)는 상기 실행 요청 신호를 수신한 경우, 상기 특정 프로그램의 해시(HASH) 정보를 추출한다(S620).Next, when receiving the execution request signal, the extraction unit 120 extracts the hash (HASH) information of the specific program (S620).

다음으로, 판단부(130)는 상기 추출된 해시 정보가 기등록된 해시 테이블에 포함되었는지 여부를 판단한다(S630).Next, the determination unit 130 determines whether the extracted hash information is included in the pre-registered hash table (S630).

이때, 프로그램 실행 제어부(140)는 상기 판단 결과 상기 추출된 해시 정보가 기등록된 해시 테이블에 포함 되지 않은 경우, 상기 특정 프로그램의 실행을 차단한다(S640).In this case, when the extracted hash information is not included in the pre-registered hash table, the program execution control unit 140 blocks the execution of the specific program (S640).

그러나, 프로그램 실행 제어부(140)는 상기 판단 결과 상기 추출된 해시 정보가 기등록된 해시 테이블에 포함된 경우, 상기 특정 프로그램의 실행 요청에 따라 상기 특정 프로그램을 실행한다(S650).However, when the extracted hash information is included in the pre-registered hash table, the program execution control unit 140 executes the specific program according to the execution request of the specific program (S650).

그러나, 본 발명은 상기와 같이 특정 프로그램이 차단된 경우, 차단된 프로그램을 등록하여 추후에 차단되지 않도록 할 수도 있다.However, in the present invention, when a specific program is blocked as described above, the blocked program may be registered so as not to be blocked later.

도 7은 본 발명의 일실시예에 따른 특정 프로그램이 차단된 경우 차단 프로그램의 해시 정보를 해시 테이블에 등록하는 방법을 도시한 흐름도이다.7 is a flowchart illustrating a method of registering hash information of a blocking program in a hash table when a specific program is blocked according to an embodiment of the present invention.

예를 들어, 본 발명은 도 7에 도시된 바와 같이 메시지 출력부(160)를 이용하여 상기 판단 결과 상기 추출된 해시 정보가 기등록된 해시 테이블에 포함 되지 않은 경우, 상기 추출된 해시 정보를 상기 해시 테이블에 등록할지 여부를 질의하는 메시지를 출력한다(S710).For example, when the extracted hash information is not included in the registered hash table as a result of the determination using the message output unit 160 as shown in FIG. 7, the extracted hash information is stored. A message for querying whether to register the hash table is output (S710).

다음으로, 수신부(110)는 상기 질의 메시지에 따라 상기 추출된 해시 정보를 상기 해시 테이블에 등록 요청하는 신호를 수신한다(S720). 다음으로, 정보 등록부(150)는 상기 등록 요청 신호에 따라 상기 추출된 해시 정보를 상기 해시 테이블에 등록할 수 있다(S730).Next, the receiving unit 110 receives a signal for requesting registration of the extracted hash information in the hash table according to the query message (S720). Next, the information registration unit 150 may register the extracted hash information in the hash table according to the registration request signal (S730).

본 발명에 따른 실시예들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(Floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Embodiments according to the present invention can be implemented in the form of program instructions that can be executed by various computer means can be recorded on 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. Examples of the computer-readable recording medium include magnetic media such as a hard disk, a floppy disk, and a magnetic tape; optical media such as CD-ROM and DVD; magnetic recording media such as a floppy disk; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and 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 described above, the present invention has been described by way of limited embodiments and drawings, but the present invention is not limited to the above embodiments, and those skilled in the art to which the present invention pertains various modifications and variations from such descriptions. This is possible. Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined not only by the claims below but also by the equivalents of the claims.

도 1은 본 발명의 일실시예에 따른 해시 테이블을 이용한 프로그램 차단 장치의 구성을 도시한 블록도이다.1 is a block diagram showing the configuration of a program blocking device using a hash table according to an embodiment of the present invention.

도 2는 본 발명의 일실시예에 따른 특정 프로그램의 차단 여부를 판단하는 예를 도시한 도면이다.2 is a diagram illustrating an example of determining whether a specific program is blocked according to an embodiment of the present invention.

도 3은 본 발명의 일실시예에 따라 프로그램이 실행되는 예를 도시한 도면이다.3 is a diagram illustrating an example of executing a program according to an embodiment of the present invention.

도 4는 본 발명의 일실시예에 따라 프로그램이 차단되는 예를 도시한 도면이다. 4 is a diagram illustrating an example in which a program is blocked according to an embodiment of the present invention.

도 5는 본 발명의 일실시예에 따른 해시 정보 등록 여부를 결정하는 메시지가 송출된 화면을 도시한 도면이다.5 is a diagram illustrating a screen on which a message for determining whether to register hash information is sent according to an embodiment of the present invention.

도 6는 본 발명의 일실시예에 따른 해시 테이블을 이용한 프로그램 차단 방법을 도시한 흐름도이다.6 is a flowchart illustrating a program blocking method using a hash table according to an embodiment of the present invention.

도 7은 본 발명의 일실시예에 따른 특정 프로그램이 차단된 경우 차단 프로그램의 해시 정보를 해시 테이블에 등록하는 방법을 도시한 흐름도이다.7 is a flowchart illustrating a method of registering hash information of a blocking program in a hash table when a specific program is blocked according to an embodiment of the present invention.

<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for main parts of the drawings>

110: 수신부110: receiver

120: 추출부120: extraction unit

130: 판단부130: judgment

140: 프로그램 실행 제어부140: program execution control unit

150: 정보 등록부150: information register

160: 메시지 출력부160: message output unit

Claims (12)

특정 프로그램의 실행 요청 신호를 수신하는 단계;Receiving a signal for executing a specific program; 상기 실행 요청 신호를 수신한 경우, 상기 특정 프로그램의 해시(HASH) 정보를 추출하는 단계;Extracting hash information of the specific program when the execution request signal is received; 상기 추출된 해시 정보가 기등록된 해시 테이블에 포함되었는지 여부를 프로세서의 커널(kernel) 모드를 통하여 판단하는 단계; 및Determining whether the extracted hash information is included in a pre-registered hash table through a kernel mode of a processor; And 상기 판단 결과 상기 추출된 해시 정보가 기등록된 해시 테이블에 포함 되지 않은 경우, 상기 특정 프로그램의 실행을 차단하는 단계Blocking execution of the specific program when the extracted hash information is not included in a pre-registered hash table as a result of the determination; 를 포함하는 것을 특징으로 하는 해시 테이블을 이용한 프로그램 차단 방법.Program blocking method using a hash table comprising a. 제1항에 있어서,The method of claim 1, 상기 판단 결과 상기 추출된 해시 정보가 기등록된 해시 테이블에 포함된 경우, 상기 특정 프로그램의 실행 요청에 따라 상기 특정 프로그램을 실행하는 단계If the extracted hash information is included in a pre-registered hash table, executing the specific program according to a request for executing the specific program; 를 더 포함하는 것을 특징으로 하는 해시 테이블을 이용한 프로그램 차단 방법.Program blocking method using a hash table further comprising a. 제1항에 있어서,The method of claim 1, 하나 이상의 해시 정보를 상기 해시 테이블에 등록하는 단계Registering one or more hash information to the hash table 를 더 포함하는 것을 특징으로 하는 해시 테이블을 이용한 프로그램 차단 방 법.Program blocking method using a hash table characterized in that it further comprises. 삭제delete 제1항에 있어서,The method of claim 1, 상기 실행 요청 신호를 수신한 경우, 상기 특정 프로그램의 해시(HASH) 정보를 추출하는 단계는,When receiving the execution request signal, extracting the hash (HASH) information of the specific program, 프로세서 내부의 유저 에이피아이(USER API)를 호출하여 상기 특정 프로그램의 해시 정보를 추출하는 것을 특징으로 하는 해시 테이블을 이용한 프로그램 차단 방법.A method for blocking a program using a hash table, comprising: extracting hash information of the specific program by calling a user API inside a processor. 제5항에 있어서,The method of claim 5, 상기 유저 에이피아이는 크리에이트 프로세스(CreateProcess) 형식인 것을 특징으로 하는 해시 테이블을 이용한 프로그램 차단 방법.The user API is a program blocking method using a hash table, characterized in that the Create Process (CreateProcess) type. 제1항에 있어서,The method of claim 1, 상기 판단 결과 상기 추출된 해시 정보가 기등록된 해시 테이블에 포함 되지 않은 경우, 상기 추출된 해시 정보를 상기 해시 테이블에 등록할지 여부를 질의하는 메시지를 출력하는 단계; Outputting a message inquiring whether to register the extracted hash information in the hash table when the extracted hash information is not included in a pre-registered hash table; 상기 질의 메시지에 따라 상기 추출된 해시 정보를 상기 해시 테이블에 등록 요청하는 신호를 수신하는 단계; 및Receiving a signal for requesting registration of the extracted hash information in the hash table according to the query message; And 상기 등록 요청 신호에 따라 상기 추출된 해시 정보를 상기 해시 테이블에 등록하는 단계Registering the extracted hash information in the hash table according to the registration request signal. 를 더 포함하는 것을 특징으로 하는 해시 테이블을 이용한 프로그램 차단 방법.Program blocking method using a hash table further comprising a. 제1항 내지 제3항 또는 제5항 내지 제7항의 어느 한 항의 방법을 실행하기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록 매체.A computer-readable recording medium in which a program for executing the method of any one of claims 1 to 3 or 5 to 7 is recorded. 특정 프로그램의 실행 요청 신호를 수신하는 수신부;A receiver which receives a signal for requesting execution of a specific program; 상기 실행 요청 신호를 수신한 경우, 상기 특정 프로그램의 해시(HASH) 정보를 추출하는 추출부;An extraction unit configured to extract hash information of the specific program when the execution request signal is received; 상기 추출된 해시 정보가 기등록된 해시 테이블에 포함되었는지 여부를 프로세서의 커널(kernel) 모드를 통하여 판단하는 판단부; 및A determination unit determining whether the extracted hash information is included in a pre-registered hash table through a kernel mode of a processor; And 상기 판단 결과 상기 추출된 해시 정보가 기등록된 해시 테이블에 포함 되지 않은 경우, 상기 특정 프로그램의 실행을 차단하는 프로그램 실행 제어부A program execution control unit for blocking execution of the specific program when the extracted hash information is not included in a pre-registered hash table as a result of the determination; 를 포함하는 것을 특징으로 하는 해시 테이블을 이용한 프로그램 차단 장치.Program blocking device using a hash table comprising a. 제9항에 있어서,10. The method of claim 9, 상기 프로그램 실행 제어부는, 상기 판단 결과 상기 추출된 해시 정보가 기등록된 해시 테이블에 포함된 경우, 상기 특정 프로그램의 실행 요청에 따라 상기 특정 프로그램을 실행하는 것을 특징으로 하는 해시 테이블을 이용한 프로그램 차단 장치.When the extracted hash information is included in the pre-registered hash table as a result of the determination, the program execution control unit executes the specific program according to the execution request of the specific program. . 제9항에 있어서,10. The method of claim 9, 하나 이상의 해시 정보를 상기 해시 테이블에 등록하는 정보 등록부An information register for registering one or more hash information into the hash table 를 더 포함하는 것을 특징으로 하는 해시 테이블을 이용한 프로그램 차단 장치.Program blocking device using a hash table, characterized in that it further comprises. 제11항에 있어서,The method of claim 11, 상기 판단 결과 상기 추출된 해시 정보가 기등록된 해시 테이블에 포함 되지 않은 경우, 상기 추출된 해시 정보를 상기 해시 테이블에 등록할지 여부를 질의하는 메시지를 출력하는 메시지 출력부If the extracted hash information is not included in the pre-registered hash table as a result of the determination, a message output unit outputs a message inquiring whether to register the extracted hash information in the hash table. 를 더 포함하고, More, 상기 수신부는 상기 질의 메시지에 따라 상기 추출된 해시 정보를 상기 해시 테이블에 등록 요청하는 신호를 수신하고,The receiving unit receives a signal for requesting registration of the extracted hash information in the hash table according to the query message, 상기 정보 등록부는 상기 등록 요청 신호에 따라 상기 추출된 해시 정보를 상기 해시 테이블에 등록하는 것을 특징으로 하는 해시 테이블을 이용한 프로그램 차단 장치.And the information registration unit registers the extracted hash information in the hash table according to the registration request signal.
KR1020080041454A 2008-05-02 2008-05-02 Method and apparatus for program interception in using hash table KR100994328B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080041454A KR100994328B1 (en) 2008-05-02 2008-05-02 Method and apparatus for program interception in using hash table

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080041454A KR100994328B1 (en) 2008-05-02 2008-05-02 Method and apparatus for program interception in using hash table

Publications (2)

Publication Number Publication Date
KR20090115544A KR20090115544A (en) 2009-11-05
KR100994328B1 true KR100994328B1 (en) 2010-11-12

Family

ID=41556667

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080041454A KR100994328B1 (en) 2008-05-02 2008-05-02 Method and apparatus for program interception in using hash table

Country Status (1)

Country Link
KR (1) KR100994328B1 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101302545B1 (en) * 2011-11-30 2013-09-02 (주)미디어랜드 Blocking Method Of Installation And Execution Of Illegal Software
KR101393911B1 (en) * 2012-07-19 2014-05-12 닉스테크 주식회사 System for preventing information outflow from inside using agent and network device cooperation
KR101482700B1 (en) * 2013-09-27 2015-01-14 (주)잉카엔트웍스 Method For Verifying Integrity of Program Using Hash
KR101483901B1 (en) * 2014-01-21 2015-01-16 (주)이스트소프트 Intranet security system and method
KR101484706B1 (en) * 2014-03-25 2015-01-20 새솔다이아몬드공업 주식회사 Manufacturing method of pad conditioner
KR102544118B1 (en) 2016-04-27 2023-06-16 엘에스일렉트릭(주) Apparatus for a hash table to minimize hash conflict
KR102355235B1 (en) * 2020-10-15 2022-02-07 주식회사 디알엠인사이드 Service providing method for security of contents based on web browser
KR102417811B1 (en) * 2020-11-17 2022-07-06 주식회사 한글과컴퓨터 Document translation service server which provides document translation services with personal information protection function and the operating method thereof

Also Published As

Publication number Publication date
KR20090115544A (en) 2009-11-05

Similar Documents

Publication Publication Date Title
KR100994328B1 (en) Method and apparatus for program interception in using hash table
US8726387B2 (en) Detecting a trojan horse
KR101956486B1 (en) Method and system for facilitating terminal identifiers
WO2014166312A1 (en) Method and system for advertisement plug-in recognition
JP5920169B2 (en) Unauthorized connection detection method, network monitoring apparatus and program
WO2014055354A1 (en) Protecting users from undesirable content
JP5225942B2 (en) Analysis system, analysis method, and analysis program
RU2653241C1 (en) Detecting a threat of a zero day with the use of comparison of a leading application/program with a user agent
JP2007280013A (en) Method and program for controlling communication by information processor
WO2009017382A2 (en) Method for verifying application programs and controlling the execution thereof
JP5478390B2 (en) Log extraction system and program
JP2012008732A (en) Installation control device and program
CN111241546B (en) Malicious software behavior detection method and device
JP5702352B2 (en) User terminal, reliability management server, unauthorized remote operation prevention method, and unauthorized remote operation prevention program
JP6297425B2 (en) Attack code detection apparatus, attack code detection method, and program
US20160352522A1 (en) User Terminal For Detecting Forgery Of Application Program Based On Signature Information And Method Of Detecting Forgery Of Application Program Using The Same
JP2016181208A (en) Illegality monitoring apparatus and illegality monitoring program
JP6258189B2 (en) Specific apparatus, specific method, and specific program
JP5851311B2 (en) Application inspection device
US20160210474A1 (en) Data processing apparatus, data processing method, and program
KR101983997B1 (en) System and method for detecting malignant code
JP2013077154A (en) Malware detection device and program
JP5478381B2 (en) Application determination system and program
JP2017045308A (en) Software alteration detection system and network security system
JP7067187B2 (en) Communication control device, communication control method, and program

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20141111

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150827

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20161109

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20171109

Year of fee payment: 8