KR100918626B1 - Method for verifying application programs and controlling the execution thereof - Google Patents

Method for verifying application programs and controlling the execution thereof Download PDF

Info

Publication number
KR100918626B1
KR100918626B1 KR1020070077657A KR20070077657A KR100918626B1 KR 100918626 B1 KR100918626 B1 KR 100918626B1 KR 1020070077657 A KR1020070077657 A KR 1020070077657A KR 20070077657 A KR20070077657 A KR 20070077657A KR 100918626 B1 KR100918626 B1 KR 100918626B1
Authority
KR
South Korea
Prior art keywords
application program
execution
verification data
user computer
dll
Prior art date
Application number
KR1020070077657A
Other languages
Korean (ko)
Other versions
KR20090013483A (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 KR1020070077657A priority Critical patent/KR100918626B1/en
Priority to CN2008801016476A priority patent/CN101802805B/en
Priority to TW097129402A priority patent/TWI419005B/en
Priority to PCT/KR2008/004485 priority patent/WO2009017382A2/en
Publication of KR20090013483A publication Critical patent/KR20090013483A/en
Application granted granted Critical
Publication of KR100918626B1 publication Critical patent/KR100918626B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • 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

Abstract

본 발명에 따르면, P2P 프로그램이나 메신저 관련 프로그램의 실행 파일, 또는 관리자로부터 허가되지 않은 게임 파일 등 그 실행이 방지되어야 하는 어플리케이션 프로그램을 찾아내어 그 실행의 차단 또는 허락 여부를 제어할 수 있도록 하며, 아울러 이와 같은 어플리케이션 프로그램들을 카테고리별로 분류하고 카테고리별로 설정된 환경 설정 정책에 따라서 실행을 차단하거나 실행을 허락할 수 있도록, 수집되는 각각의 어플리케이션 프로그램 파일들에 대해 프로그램 카테고리별로 어플리케이션 프로그램 검증 데이터 DB를 생성하는 DB 구축단계와, 어플리케이션 프로그램 검증 데이터 DB를 사용자 컴퓨터에 전송하는 단계와, 사용자 컴퓨터 내의 어플리케이션 프로그램의 실행이 초기화될 때, 상기 어플리케이션 프로그램의 실행을 유예시킨 다음에 실행되는 어플리케이션 프로그램의 검증 데이터를 추출하는 단계와, 그리고 사용자 컴퓨터에서 이용하려고 하는 어플리케이션 프로그램에 대해 상기 검증 데이터로써 상기 어플리케이션 프로그램 검증 데이터 DB를 검색하여 카테고리별 환경 설정 정책에 따라 실행 차단 또는 실행 허용을 제어하는 단계를 포함하여 이루어지는 어플리케이션 프로그램 검증 및 실행 제어 방법을 제공한다.According to the present invention, it is possible to find an application program that is to be prevented from executing, such as an executable file of a P2P program or a messenger related program, or an unauthorized game file from an administrator, and to control whether to block or allow execution thereof. DB that generates application program verification data DB by program category for each collected application program files so as to classify such application programs by category and block execution or allow execution according to the environment setting policy set by category Sending the application program verification data DB to the user computer, and when the execution of the application program in the user computer is initialized, suspend execution of the application program. Extracting the verification data of the application program to be executed; and searching the application program verification data DB as the verification data for the application program to be used by the user's computer to block execution or allow execution according to a category setting policy for each category. It provides an application program verification and execution control method comprising the step of controlling.

어플리케이션 프로그램, 검증 데이터, 카테고리, 실행 제어, 실행 차단 Application program, verification data, category, execution control, execution block

Description

어플리케이션 프로그램 검증 및 실행 제어 방법 {Method for verifying application programs and controlling the execution thereof}{Method for verifying application programs and controlling the execution}

본 발명은 사용자의 컴퓨터 내에 존재하는 어플리케이션 프로그램의 실행을 제어하기 위한 것으로서, 더욱 상세하게는 사용자 컴퓨터에서 실행되는 어플리케이션 프로그램의 종류를 판단하여 설정된 카테고리에 속하는 어플리케이션 프로그램의 실행을 제한하는 어플리케이션 프로그램 실행 제한 시스템 및 방법에 관한 것이다.The present invention is to control the execution of the application program existing in the user's computer, and more specifically, the application program execution restriction for limiting the execution of the application program belonging to the set category by determining the type of the application program to be executed on the user computer System and method.

사용자 컴퓨터 내에 설치되어 존재하고 있는 여러 다양한 어플리케이션 프로그램들 중에는 사용자의 필요에 따라 다운로드 받아서 설치된 파일뿐만 아니라 사용자가 프로그램의 정확한 실체를 파악하고 있지 못한 상황에서 잘못 설치된 응용 프로세스 파일 또는 바이러스 프로그램들이 존재할 수 있으며, 나아가 가정에서 사용하는 컴퓨터와 같이 다수의 사용자가 접근하여 사용하는 중에 주된 사용자가 설치를 원하지 않는 프로그램 실행 파일들이 보조 사용자에 의해 설치되는 경우도 있으며, 특히 청소년들이 유해 정보를 취득하는 통로를 제공할 가능성이 높은 P2P 또는 메신저 관련 프로그램의 실행 파일이나 부모 등의 관리자로부터 허가되지 않은 게임 파일 등이 실행될 수 있기에, 이와 같이 임의적인 실행이 방지되어야 하는 프로 그램을 찾아내어 그 실행을 방지하는 기능을 제공하는 시스템이나 방법에 대한 수요가 증가하는 추세에 있다.Among the various application programs installed in the user's computer, not only files downloaded and installed according to the user's needs, but also application process files or virus programs may be incorrectly installed in a situation where the user does not know the exact substance of the program. In addition, program executables that are not intended to be installed by the main user may be installed by a secondary user while being accessed and used by a large number of users, such as computers used in homes. Since the executable files of P2P or messenger related programs that are likely to be executed or game files that are not authorized by the administrator such as parents may be executed, the program which should be prevented from executing randomly is identified. There is an increasing demand for systems or methods that provide the ability to prevent their execution.

이러한 기능을 제공하기 위한 기존의 종래 기술을 살펴보면, 주기적으로 사용자 컴퓨터의 디스크 공간에 저장된 어플리케이션 프로그램들의 실행 파일명(xxx.exe)을 찾거나 전체 프로그램 또는 프로그램의 특정부분을 분석하여 특정의 문자열 찾아서 제어 대상이 되는 프로그램에 해당하는 경우에 이들 프로그램을 삭제할 수 있도록 하거나 또는 실시간으로 실행 프로그램들의 파일명(xxx.exe)을 찾거나 전체 프로그램 또는 프로그램의 특정부분을 분석하여 특정의 문자열을 찾아서 제어 대상이 되는 프로그램에 해당하는 경우에 그 프로그램의 실행을 차단시키는 기술 등이 제시되고 있다.Looking at the existing prior art to provide such a function, periodically find the executable file name (xxx.exe) of the application programs stored in the disk space of the user computer or analyze the entire program or a specific part of the program to find and control a specific string If it is the target program, you can delete these programs or find the filename (xxx.exe) of the running programs in real time, or analyze the whole program or specific part of the program to find a specific string to control. In the case of a program, a technique for blocking the execution of the program has been proposed.

그러나, 실행 프로그램들의 파일명(xxx.exe)은 임의로 변경될 수 있기에 파일명(xxx.exe)을 찾는 종래 기술의 경우에 그 효과가 제한적일 수밖에 없는 문제점이 있고, 그리고 전체 프로그램 또는 프로그램의 특정부분을 분석하여 특정의 문자열 찾는 종래 기술의 경우에는 프로세스 실행 단계에서 모든 프로그램에 대해 수행하기에 프로세서에 상당한 부담이 되는 문제점이 있으며, 나아가 다양한 응용 프로그램들에 대하여 이들을 카테고리별로 분류하여 실행 또는 차단 여부를 결정할 수 있는 카테고리별 분류 제어를 제공하지 못하고 있다는 문제점이 있다.However, since the file name (xxx.exe) of executable programs can be arbitrarily changed, the conventional technique of finding the file name (xxx.exe) has a problem that the effect is limited, and the whole program or a specific part of the program is analyzed. In the conventional technology of searching for a specific character string, there is a problem that the processor is burdened to perform all the programs in the process execution step, and further, it is possible to determine whether to execute or block by classifying them by category for various applications. There is a problem in that it does not provide classification control for each category.

본 발명에서는 인터넷 등을 통하여 입수되는 각종 어플리케이션 프로그램의 실행 파일을 분석하여 고유하게 존재하는 검증 데이터를 수집하여 이들을 카테고리별로 데이터베이스화하고 이러한 어플리케이션 프로그램 분류 검증 데이터베이스를 사용자 컴퓨터에 다운로드 시킨 다음에, 사용자 컴퓨터(PC)에서 어플리케이션 프로그램의 실행이 이루어지기 이전에 그 실행을 잠시 유예시킨 다음 어플리케이션 프로그램으로부터 검증 데이터를 추출하여 사용자 컴퓨터에 저장된 어플리케이션 프로그램 검증 데이터 데이터베이스의 각 항목과 일치하는지 여부를 검색함으로써 그 실행을 제어하도록 하는 수단을 제공하는 것을 과제로 삼고 있다.In the present invention, by analyzing the executable files of the various application programs obtained through the Internet, and the like to collect the uniquely existing verification data and database them by category and download the application program classification verification database to the user computer, then the user computer (PC) suspends execution before the execution of the application program, and extracts the verification data from the application program to search whether it matches each item of the application program verification data database stored in the user's computer. The challenge is to provide a means for control.

또한, 본 발명에서는 사용자 컴퓨터(PC)에서 실행되는 어플리케이션 프로그램의 카테고리를 판별하고 카테고리별로 설정된 제어 방법에 따라 어플리케이션 프로그램의 실행을 허용하거나 차단할 수 있도록 하는 수단을 제공하는 것도 과제로 삼고 있다.Another object of the present invention is to provide a means for determining a category of an application program executed in a user computer (PC) and allowing or blocking the execution of the application program according to a control method set for each category.

이와 같은 과제를 해결할 수 있는 수단으로서 본 발명은 어플리케이션 프로그램 검증 및 실행 제어 방법을 제공하는데, 구체적으로 살펴보면As a means to solve such a problem, the present invention provides an application program verification and execution control method.

인터넷 등을 통하여 수집되는 각각의 어플리케이션 프로그램 파일들에 대해 어플리케이션 프로그램 검증 서버에 의해 어플리케이션 프로그램들의 프로세스 실행에 필요한 DLL(Dynamic Link Library, 다이나믹 링크 라이브러리)들을 분석하고, 로딩하는 DLL들 중에서 어플리케이션 프로그램을 판별할 수 있도록 하는 DLL이 존재하는 경우 고유 DLL을 추출하고, 그리고 로딩하는 DLL들 중에서 어플리케이션 프로그램을 판별할 수 있도록 하는 DLL이 존재하는 않는 경우에는 어플리케이션 프로그램의 메타 정보를 식별자로서 추출하여 프로그램 카테고리별로 어플리케이션 프로그램 검증 데이터 DB를 생성하는 어플리케이션 프로그램 검증 데이터 DB 구축단계와;For each application program file collected through the Internet, the application program verification server analyzes DLLs (Dynamic Link Library) required for process execution of the application programs and determines an application program from among DLLs loaded. If there is a DLL that can be used to extract a native DLL, and if there is a DLL that can determine an application program among the DLLs to be loaded, extract the meta information of the application program as an identifier and An application program verification data DB construction step of generating a program verification data DB;

상기 어플리케이션 프로그램 검증 데이터 DB 구축단계에서 생성된 어플리케이션 프로그램 검증 데이터 DB를 사용자 컴퓨터에 전송하는 어플리케이션 프로그램 검증 데이터 DB 전송 단계와;An application program verification data DB transmission step of transmitting the application program verification data DB generated in the application program verification data DB construction step to a user computer;

사용자 컴퓨터 내의 어플리케이션 프로그램의 실행이 초기화될 때, 상기 어플리케이션 프로그램의 실행을 유예시킨 다음에 실행되는 어플리케이션 프로그램의 DLL 및 메타 정보를 프로그램 검증 데이터로서 추출하는 사용자 컴퓨터 어플리케이션 프로그램 검증 데이터 추출 단계와; 그리고When the execution of the application program in the user computer is initiated, extracting user computer application program verification data for extracting, as program verification data, DLL and meta information of the application program to be executed after suspending the execution of the application program; And

사용자 컴퓨터에서 이용하려고 하는 어플리케이션 프로그램에 대해 상기 검증 데이터로써 사용자 컴퓨터로 전송된 상기 어플리케이션 프로그램 검증 데이터 DB를 검색하여, 일치하는 항목이 없는 경우에는 유예된 상기 어플리케이션 프로그램의 실행을 허락하고 추출된 검증 데이터를 상기 어플리케이션 프로그램 검증 서버로 전송하며, 그리고 상기 어플리케이션 프로그램 검증 데이터 DB와의 비교에서 일치하는 항목을 발견한 경우에는 카테고리별 환경 설정 정책에 따라 실행 차단 또는 실행 허용을 제어하는 사용자 컴퓨터 어플리케이션 프로그램의 검증 및 실행 제어 단계를 포함하여 이루어지는 것을 특징으로 하는 어플리케이션 프로그램 검증 및 실행 제어 방법을 제공한다.The application program verification data DB transmitted to the user computer as the verification data is searched for the application program to be used in the user computer, and if there is no match, the execution of the deferred application program is allowed and the extracted verification data is extracted. To the application program verification server, and if a match is found in the comparison with the application program verification data DB, verifying the user computer application program controlling execution blocking or permission to execute according to the category setting policy. It provides an application program verification and execution control method comprising the execution control step.

본 발명에 따르면, 사용자 컴퓨터(PC)에서 실행되는 어플리케이션 프로그램들 중에서 잘못 설치된 응용 프로세스 파일, 바이러스 프로그램, 주된 사용자가 설치를 원하지 않는 프로그램 실행 파일, 청소년들이 유해 정보를 취득하는 통로를 제공할 가능성이 높은 P2P 프로그램이나 메신저 관련 프로그램의 실행 파일, 또는 부모 등의 관리자로부터 허가되지 않은 게임 파일 등이 실행될 수 있기에, 사용자 컴퓨터에서 어플리케이션 프로그램의 실행이 감지되면 그 실행을 잠시 유예시키고 어플리케이션 프로그램으로부터 검증 데이터를 추출하여 사용자 컴퓨터에 저장된 어플리케이션 프로그램 분류 검증 데이터베이스의 각 항목과 일치하는지 여부를 검색함으로써 검색 결과에 따라서 이와 같이 임의적인 실행이 방지되어야 하는 프로그램을 찾아내어 그 실행의 차단 또는 허락 여부를 제어할 수 있도록 하는 효과를 제공하며, 아울러 이와 같은 어플리케이션 프로그램들을 카테고리별로 분류하고 카테고리별로 설정된 환경 설정 정책에 따라서 실행을 차단하거나 실행을 허락할 수 있는 제어가 가능하도록 하는 효과를 제공한다.According to the present invention, among application programs running on a user's computer (PC), there is a possibility to provide a path for a wrongly installed application process file, a virus program, a program executable file that a main user does not want to install, and a way for adolescents to obtain harmful information. Executable files of high P2P programs or messenger related programs, or game files not authorized by the administrator such as parents may be executed. When the execution of the application program is detected on the user's computer, the execution is suspended for a while and the verification data is retrieved from the application program. By searching and matching each item in the application program classification verification database stored in the user's computer, the program is searched to find the program that should be prevented from executing randomly. It provides the effect of controlling whether to block or allow execution, and also classifies such application programs into categories and enables control to block or permit execution according to the configuration policy set by category. Provide effect.

이하에서는 첨부 도면을 참조하여, 본 발명의 바람직한 실시예에 따른 어플리케이션 프로그램 검증 및 실행 제어 방법 발명의 구성 및 단계적 수행 절차를 살펴보기로 한다.Hereinafter, with reference to the accompanying drawings, the configuration and step-by-step procedure of the application program verification and execution control method invention in accordance with a preferred embodiment of the present invention.

본 발명의 일 실시예에 따르면 첨부 도면 도 1 및 도 6에 도시된 바와 같이, 인터넷 등을 통하여 수집되는 각각의 어플리케이션 프로그램 파일들에 대해 어플리케이션 프로그램 검증 서버(100)에 의해 어플리케이션 프로그램들의 프로세스 실행에 필요한 DLL들을 분석하고, 로딩하는 DLL들 중에서 어플리케이션 프로그램을 판별할 수 있도록 하는 DLL이 존재하는 경우 고유 DLL을 추출하고, 그리고 로딩하는 DLL들 중에서 어플리케이션 프로그램을 판별할 수 있도록 하는 DLL이 존재하는 않는 경우에는 어플리케이션 프로그램의 메타 정보를 식별자로서 추출하여 프로그램 카테고리별로 어플리케이션 프로그램 검증 데이터 DB를 생성하는 어플리케이션 프로그램 검증 데이터 DB 구축단계(S100)와;According to an embodiment of the present invention, as shown in the accompanying drawings, Figures 1 and 6, the application program verification server 100 for the respective application program files collected through the Internet, etc. When a DLL exists that analyzes the necessary DLLs, and makes it possible to determine the application program among the loading DLLs. A DLL that extracts the native DLL, and when there is no DLL that makes it possible to determine the application program among the loading DLLs. The application program verification data DB construction step of generating the application program verification data DB for each program category by extracting the meta information of the application program as an identifier (S100);

상기 어플리케이션 프로그램 검증 데이터 DB 구축단계에서 생성된 어플리케이션 프로그램 검증 데이터 DB를 사용자 컴퓨터(200)에 전송하는 어플리케이션 프로그램 검증 데이터 DB 전송 단계(S200)와;An application program verification data DB transmission step (S200) of transmitting the application program verification data DB generated in the application program verification data DB construction step to a user computer (200);

사용자 컴퓨터(200) 내의 어플리케이션 프로그램의 실행이 초기화될 때, 상기 어플리케이션 프로그램의 실행을 유예시킨 다음에 실행되는 어플리케이션 프로그램의 DLL 및 메타 정보를 프로그램 검증 데이터로서 추출하는 사용자 컴퓨터 어플리케이션 프로그램 검증 데이터 추출 단계(S300)와; 그리고When the execution of the application program in the user computer 200 is initialized, the user computer application program verification data extraction step of deferring the execution of the application program and then extracting the DLL and meta information of the application program to be executed as program verification data ( S300); And

사용자 컴퓨터에서 이용하려고 하는 어플리케이션 프로그램에 대해 상기 검증 데이터로써 상기 어플리케이션 프로그램 검증 데이터 DB를 검색하여, 일치하는 항목이 없는 경우에는 유예된 상기 어플리케이션 프로그램의 실행을 허락하고 추출된 검증 데이터를 상기 어플리케이션 프로그램 검증 서버(100)로 전송하며, 그리고 상 기 어플리케이션 프로그램 검증 데이터 DB와의 비교에서 일치하는 항목을 발견한 경우에는 카테고리별 환경 설정 정책에 따라 실행 차단 또는 실행 허용을 제어하는 사용자 컴퓨터 어플리케이션 프로그램의 검증 및 실행 제어 단계(S400)를 포함하여 이루어지는데,Search the application program verification data DB with the verification data for the application program to be used by the user computer, and if there is no match, allow execution of the deferred application program and verify the extracted verification data with the application program. If it finds a match in the comparison with the application program verification data DB and transmits it to the server 100, the verification and execution of the user computer application program that controls execution blocking or execution permission according to the category-specific configuration policy. It comprises a control step (S400),

보다 바람직한 실시예로서 어플리케이션 프로그램 실행 허용/차단 이력 기록 단계를 추가적으로 포함한 실시예의 흐름도를 도시한 도 2에 도시된 바와 같이 상기 검증 및 실행 제어 단계(S400) 이후에, 상기 어플리케이션 프로그램의 실행 허용 이력과 실행 차단 이력을 카타고리별 DB와 비교하여 차단 통계를 추출하는데 사용하기 위하여, 상기 어플리케이션 프로그램의 실행 허용 또는 차단 이력을 사용자 컴퓨터의 상기 어플리케이션 프로그램 검증 데이터 DB에 기록하는 어플리케이션 프로그램 실행 허용/차단 이력 기록 단계(S500)를 추가적으로 포함하는 것이 보다 바람직하다.As a more preferred embodiment, after the verification and execution control step (S400) as shown in Figure 2 showing a flow chart of an embodiment further including the application program execution allow / block history recording step, and the execution permission history of the application program and Application program execution permission / blocking history recording step of recording execution permission or blocking history of the application program in the application program verification data DB of the user computer in order to use it to extract blocking statistics by comparing the execution blocking history with a category DB. More preferably, it is included (S500).

보다 구체적으로 상기 단계들을 살펴보면, 상기 어플리케이션 프로그램 검증 데이터 DB 구축단계(S100)에서는 어플리케이션 프로그램의 실행에 필요한 DLL들을 분석하게 되는데, 로딩하는 DLL들의 정보를 가지고 어플리케이션 프로그램을 판별할 검증 데이터 DB를 만들게 된다. 예컨대, MSM, 네이트온 등과 같은 상용 메신저 프로그램의 실행 프로세스를 분석하여 보면 프로그램이 실행이 되기 위해서는 특정의 고유 DLL들이 로딩됨을 알 수 있으며, 그리고 상용 프로그램들은 프로그램이 패치가 되어도 이러한 고유 DLL이 변동될 가능성이 작기 때문에 이를 포함한 어플리케이션 프로그램 검증 데이터 DB의 경우에는 빈번하게 업데이트되지 않아도 된다는 장점을 가지게 된다.More specifically, the steps of the application program verification data DB construction step (S100) is to analyze the DLLs required for the execution of the application program, to create a verification data DB to determine the application program with the information of the DLLs to load. . For example, when analyzing the execution process of commercial messenger program such as MSM, NateOn, etc., it can be seen that specific native DLLs are loaded in order for the program to be executed. Because of this small size, the application program verification data DB including the same does not need to be updated frequently.

또한, 어플리케이션 프로그램이 자신만의 고유한 DLL을 로딩하지 않는 프로그 램(예컨대, 윈도우 보조프로그램에 있는 카드놀이, 프리첼 등 같은 프로그램)일 경우에는 다른 프로그램들에서도 일반적으로 사용하는 DLL들을 로딩하기 때문에 해당 프로그램의 고유 DLL 정보를 추출하기 어려운데, 본 발명에서는 이와 같은 경우의 어플리케이션 프로그램들은 메타 정보(윈도우 캡션명, 실행파일 이미지이름 등)를 토대로 어플리케이션 프로그램을 판별할 수 있도록 하는 검증 데이터로서 추출하게 된다.In addition, if the application program does not load its own DLL (eg, programs such as Solitaire, Fricell, etc. in Windows Accessories), it loads DLLs commonly used by other programs. It is difficult to extract the unique DLL information of the program. In the present invention, the application programs in such a case are extracted as verification data for discriminating the application program based on meta information (window caption name, executable image name, etc.).

이와 같이 추출된 검증 데이터(고유 DLL 또는 메타 정보)들은 프로그램의 카테고리별로 분류되어 어플리케이션 프로그램 검증 데이터 DB(110)를 형성하게 되며DB에 들어가는 정보들은 프로그램 파일의 DLL 및 메타 정보를 가공한 특정한 해쉬값이 입력되게 되고, 검증 서버(100)에서 생성된 어플리케이션 프로그램 검증 데이터 DB(110)는 사용자 컴퓨터(200)에 전송하는 어플리케이션 프로그램 검증 데이터 DB 전송 단계(S200)를 거쳐서 사용자 컴퓨터(200)에 어플리케이션 프로그램 검증 데이터 DB(210)로 저장되어 이를 토대로 사용자 컴퓨터에서 수행되는 여러 종류의 어플리케이션 프로그램의 수행을 제어할 수 있게 된다.The extracted verification data (unique DLL or meta information) is classified according to the category of the program to form the application program verification data DB 110, and the information contained in the DB is a specific hash value that processes the DLL and meta information of the program file. Is input, the application program verification data DB 110 generated in the verification server 100 is an application program to the user computer 200 through the application program verification data DB transmission step (S200) to transmit to the user computer 200 The verification data is stored in the DB 210 and based on this, it is possible to control the execution of various types of application programs executed in the user computer.

한편, 본 발명의 추가적인 실시예로서 어플리케이션 프로그램 검증 데이터 DB 업데이트 단계를 구체적으로 도시한 흐름도의 형태로 제공되는 도 3에 도시된 바와 같이, 사용자 컴퓨터(200)가 부팅될 때 에이전트 프로그램이 실행되면서, 사용자 컴퓨터의 어플리케이션 프로그램 검증 데이터 DB(210)를 상기 어플리케이션 프로그램 검증 서버(100)의 어플리케이션 프로그램 검증 데이터 DB(110)와 비교하여 최신 상태인지 확인하여 최신 상태가 아니라면 업데이트하는 어플리케이션 프로그램 검 증 데이터 DB 업데이트 단계(S600)를 추가적으로 포함하여 이루어지는 것이 더욱 바람직하다.Meanwhile, as shown in FIG. 3, which is provided in the form of a flowchart specifically illustrating an application program verification data DB update step as an additional embodiment of the present invention, the agent program is executed when the user computer 200 is booted. The application program verification data DB 210 of the user computer is compared with the application program verification data DB 110 of the application program verification server 100 of the application program verification data DB to update the application program verification data DB if not updated. More preferably, step S600 is further included.

앞서 설명된 상기 어플리케이션 프로그램 검증 데이터 DB 구축단계(S100)는 상기 어플리케이션 프로그램 검증 서버(100)에 저장된 에이전트 프로그램에 의해 수행되고, 그리고 첨부 도면 도 4(본 발명에 따른 실시예에서 어플리케이션 프로그램 검증 데이터 DB 구축단계의 보다 구체적인 실시 단계를 도시한 흐름도)에 도시된 바와 같이 에이전트 프로그램을 실행시키는 에이전트 프로그램 실행 단계(S110); 어플리케이션 프로그램을 실행시키는 어플리케이션 프로그램 실행 단계(S120); 어플리케이션 프로그램의 실행시에 필요로 하는 필수 로딩 DLL을 추출하는 로딩 DLL 추출 단계(S130); 추출된 상기 필수 로딩 DLL 중에서 상기 어플리케이션 프로그램을 판별할 수 있는 고유 DLL이 존재하는지 여부를 판단하는 고유 DLL 판단 단계(S140); 상기 고유 DLL 판단 단계(S140)에서 고유 DLL이 존재하지 않는 것으로 판단되는 경우, 어플리케이션 프로그램의 메타 정보를 추출하는 메타 정보 추출 단계(S150); 및 상기 로딩 DLL 추출 단계(S130)에서 추출된 고유 DLL 또는 상기 메타 정보 추출 단계(S150)에서 추출된 어플리케이션 프로그램 메타 정보를 검증 데이터 DB에 항목으로 추가하는 검증 데이터 DB 항목 추가 단계(S160)를 포함하여 이루어지는 것이 바람직하다.The application program verification data DB building step (S100) described above is performed by an agent program stored in the application program verification server 100, and is shown in FIG. 4 (application program verification data DB in the embodiment according to the present invention). An agent program execution step (S110) of executing an agent program as shown in a flowchart illustrating a more specific implementation step of the building step; An application program execution step of executing an application program (S120); A loading DLL extraction step (S130) for extracting an essential loading DLL required when executing an application program; A unique DLL determination step (S140) of determining whether a unique DLL capable of determining the application program exists among the extracted essential loading DLLs; A meta information extraction step (S150) of extracting meta information of an application program when it is determined that the unique DLL does not exist in the unique DLL determination step (S140); And a verification data DB item adding step (S160) of adding the unique DLL extracted in the loading DLL extraction step (S130) or the application program meta information extracted in the meta information extraction step (S150) as an item to a verification data DB. It is preferable to make it.

상기 메타 정보 추출 단계(S150)에서 추출되는 상기 어플리케이션 프로그램 메타 정보는 어플리케이션 프로그램의 윈도우 타이틀명, 실행 이미지 파일명 등을 포함할 수 있다.The application program meta information extracted in the meta information extraction step S150 may include a window title name, an execution image file name, and the like of the application program.

그리고, 상기 사용자 컴퓨터 어플리케이션 프로그램 검증 데이터 추출 단계(S300) 및 상기 사용자 컴퓨터 어플리케이션 프로그램의 검증 및 실행 제어 단계(S400)들도 사용자 컴퓨터에 저장된 에이전트 프로그램에 의해 수행될 수 있다.The user computer application program verification data extraction step S300 and the verification and execution control steps S400 of the user computer application program may also be performed by an agent program stored in the user computer.

이들 단계들의 보다 구체적인 진행 상황을 첨부 도면 도 5를 참조하여 살펴보면, 상기 사용자 컴퓨터 어플리케이션 프로그램 검증 데이터 추출 단계(S300)는, 사용자 컴퓨터에서 어플리케이션 프로그램의 실행 시작 시점이 감지되는 단계(S310); 상기 어플리케이션 프로그램의 실행을 유예시키는 단계(S320); 상기 어플리케이션 프로그램으로부터 어플리케이션 프로그램의 실행시에 필요로 하는 DLL을 추출하는 단계(S330); 및 상기 어플리케이션 프로그램으로부터 메타 정보를 추출하는 단계(S340)를 포함하여 이루어진다.Referring to FIG. 5 for a more detailed progress of these steps, the user computer application program verification data extraction step (S300), step (S310) of detecting the start time of the execution of the application program on the user computer; Suspending execution of the application program (S320); Extracting a DLL required for executing an application program from the application program (S330); And extracting meta information from the application program (S340).

상기 단계(S310) 및 단계(S320)의 진행 상황을 구체적으로 살펴보면, 예컨대 에이전트 프로그램의 형태로 구현된 제어장치가 작동되어서(부팅과 함께) 검증 데이터 DB를 로딩시킨 후에 어플리케이션 프로그램의 실행을 감지하는 작동을 시작하며, 사용자 컴퓨터에서 어플리케이션 프로그램의 실행 시작 시점이 감지되면 프로그램 실행을 먼저 유예시킨다.Looking specifically at the progress of the step (S310) and step (S320), for example, the control device implemented in the form of an agent program is activated (with boot) to detect the execution of the application program after loading the verification data DB Starts the operation, and if the start time of the application program is detected on the user's computer, the program execution is suspended first.

그리고는, 상기 DLL을 추출하는 단계(S330)에서 로딩 DLL을 추출하는 과정은 윈도우에서 제공하는 프로세스 관련 API 함수를 이용하여 로딩하는 DLL들을 뽑아 내는 방법이 이용될 수 있으며, 상기 단계(S340)에서 추출되는 상기 어플리케이션 프로그램 메타 정보도 어플리케이션 프로그램의 윈도우 타이틀명, 실행 이미지 파일명 등을 포함할 수 있음은 당연하다.In the extracting of the DLL in the step of extracting the DLL (S330), a method of extracting the DLLs for loading using a process related API function provided by Windows may be used, and in the step (S340) Naturally, the extracted application program meta information may also include a window title name, an executable image file name, and the like of the application program.

나아가, 도 5에 도시된 바와 같이 상기 사용자 컴퓨터 어플리케이션 프로그램의 검증 및 실행 제어 단계(S400)는, 사용자 컴퓨터의 어플리케이션 프로그램으로부터 추출된 상기 DLL 또는 상기 메타 정보를 검증 데이터로서 사용자 컴퓨터의 상기 어플리케이션 프로그램 검증 데이터 DB(210)의 항목과의 일치 여부를 검색하는 단계(S410); 상기 (S410)단계에서 일치하는 경우, 상기 어플리케이션 프로그램을 상기 검증 데이터 DB에서 카테고리별로 분류하는 단계(S420); 상기 (S420)단계에서 분류된 카테고리별 제어 정책에 따라 상기 어플리케이션 프로그램의 실행 차단 여부를 판단하는 단계(S430); 상기 어플리케이션 프로그램의 실행을 허용하거나 차단하는 단계(S440, S450); 및 상기 (S410)단계에서 불일치하는 경우, 상기 검증 데이터를 상기 어플리케이션 프로그램 검증 서버(100)로 전송하고 사용자 컴퓨터에서 상기 어플리케이션 프로그램의 실행을 허용하는 단계(S460, S470)를 포함하여 이루어지게 된다.Further, as shown in FIG. 5, the verifying and executing control step (S400) of the user computer application program includes verifying the application program of the user computer using the DLL or the meta information extracted from the application program of the user computer as verification data. Searching for a match with an item of the data DB 210 (S410); If it matches in step S410, classifying the application program by category in the verification data DB (S420); Determining whether to block the execution of the application program according to the category-specific control policies classified at the step S420; Allowing or blocking execution of the application program (S440, S450); And in the case of inconsistency in step S410, transmitting the verification data to the application program verification server 100 and allowing execution of the application program in a user computer (S460 and S470).

상기 어플리케이션 프로그램 검증 데이터 DB(110, 210)에 포함되는 파일은 첨부 도면 도 6 내지 도 8에 도시된 바와 같이 카테고리별로 P2P 프로그램 카테고리(PR10), 게임 프로그램 카테고리(PR20), 메신저 프로그램 카테고리(PR30), 및 기타 프로그램 카테고리(PR40) 등으로 세분화될 수 있으며, 그리고, 상기 (S420)단계에서 분류된 카테고리별 제어 정책에 따라 상기 어플리케이션 프로그램의 실행 차단 여부를 판단하는 단계(S430)와 상기 어플리케이션 프로그램의 실행을 허용하거나 차단하는 단계(S440, S450)에서는 사용자가 설정한 환경설정을 통해 예컨대 게임 프로그램 카테고리(PR20)에 속하는 어플리케이션 프로그램만의 실행을 차단할 것인지, 메신저 프로그램 카테고리(PR10) 또는 P2P 프로그램 카테고리(PR30) 등에 속하는 어플리케이션 프로그램들도 함께 실행을 차단할 것인지를 설정할 수 있도록 함으로써 사용자의 다양한 요구에 부응할 수 있으며, 나아가 실행 차단이 된 경우 뿐만 아니라 실행 허용이 된 경우라도 어플리케이션 프로그램 카테고리별로 이러한 프로그램의 실행 허용 및 차단 이력에 대한 기록이 앞서 설명한 어플리케이션 프로그램 실행 허용/차단 이력 기록 단계(S500)를 통하여 기록 저장되도록 함으로써 통계 자료로써 활용될 수 있게 된다.The files included in the application program verification data DB 110 and 210 are P2P program category PR10, game program category PR20, and messenger program category PR30 for each category as shown in FIGS. 6 to 8. , And may be subdivided into other program categories (PR40) and the like, and determining whether to block the execution of the application program according to the category-specific control policies classified in the step S420 and the application program. In the step (S440, S450) of allowing or blocking execution, whether to block the execution of only the application program belonging to the game program category (PR20), for example, the messenger program category (PR10) or the P2P program category (for example, through the environment setting set by the user). Application programs belonging to the PR30) can also be executed. By allowing you to set whether or not to block, it is possible to meet various needs of users. Furthermore, even if the execution is blocked as well as the execution is allowed, the recording of the permission and the blocking history of the execution of these programs by application program category is described. Through the program execution allow / block history recording step (S500) to be stored and can be utilized as statistical data.

도 6에 도시된 본 발명에 따른 바람직한 방법 발명들이 구현되도록 구성된 시스템의 구성도에 따르면, 인터넷 등을 통하여 수집되는 각각의 어플리케이션 프로그램 파일들에 대해 어플리케이션 프로그램들의 프로세스 실행에 필요한 DLL들을 분석하고, 로딩하는 DLL들 중에서 어플리케이션 프로그램을 판별할 수 있도록 하는 DLL이 존재하는 경우에는 고유 DLL을 추출하고, 그리고 로딩하는 DLL들 중에서 어플리케이션 프로그램을 판별할 수 있도록 하는 DLL이 존재하는 않는 어플리케이션 프로그램들의 경우에는 메타 정보를 추출하여 프로그램 카테고리별로 어플리케이션 프로그램 검증 데이터 DB(110)를 생성하고 업데이트하는 어플리케이션 프로그램 검증 서버(100); 및 상기 어플리케이션 프로그램 검증 서버로부터 사용자 컴퓨터로 전송된 어플리케이션 프로그램 검증 데이터 DB(210)와 그리고, 사용자 컴퓨터 내의 어플리케이션 프로그램의 실행이 초기화될 때, 상기 어플리케이션 프로그램의 실행을 유예시킨 다음에 실행되는 어플리케이션 프로그램의 DLL 및 메타 정보를 프로그램 검증 데이터로서 추출하고, 추출된 상기 검증 데이터로써 상기 어플리케이션 프 로그램 검증 데이터 DB를 검색하여, 일치하는 항목이 없는 경우에는 상기 어플리케이션 프로그램의 실행 유예를 해제하고 추출된 검증 데이터를 상기 검증 서버로 전송하며, 상기 어플리케이션 프로그램 검증 데이터 DB와의 비교에서 일치하는 항목을 발견한 경우에는 카테고리별 환경 설정 정책에 따라 상기 어플리케이션 프로그램의 실행을 차단 또는 허용하는 검증 및 실행 제어부(220)를 포함하는 사용자 컴퓨터(200)를 포함하여 이루어지는 것을 특징으로 하는 어플리케이션 프로그램 검증 및 실행 제어 시스템이 제공된다.According to the configuration diagram of a system configured to implement preferred method inventions according to the present invention shown in FIG. 6, for each application program file collected through the Internet, etc., DLLs required for process execution of application programs are analyzed and loaded. If there is a DLL to determine an application program among the DLLs to be extracted, a native DLL is extracted, and meta-information for application programs without a DLL to determine an application program among the DLLs to be loaded. An application program verification server 100 for generating and updating the application program verification data DB 110 for each program category; And an application program verification data DB 210 transmitted from the application program verification server to the user computer and when the execution of the application program in the user computer is initialized, the application program executed after the execution of the application program is suspended. Extract DLL and meta information as program verification data, search the application program verification data DB with the extracted verification data, and if there is no match, release the execution suspension of the application program and extract the verification data Is transmitted to the verification server, and if a match is found in the comparison with the application program verification data DB, the execution of the application program is blocked or allowed according to the category setting policy for each category. The application program verification and execution control system comprising the user computer 200 is provided including a verification and execution control 220 which.

앞서 설명된 바와 같이 본 발명에 따른 바림직한 실시예에 따르면, 상기 검증 및 실행 제어부(220)는 소프트웨어적으로 어플리케이션 프로그램 검증 및 실행 제어 에이전트 프로그램에 의해 구현되는 것이 바람직하며, 이러한 어플리케이션 프로그램 검증 및 실행 제어 에이전트 프로그램은 첨부 도면 도 7에 도시된 바와 같이, 사용자가 카테고리별로 어플리케이션 프로그램의 실행 허용 또는 차단 여부를 사전 설정할 수 있도록 구성되는 카테고리별 허용/차단 제어 설정부(221), 사용자 컴퓨터 내의 어플리케이션 프로그램의 실행이 초기화됨을 감지하기 위한 프로그램 실행 실시간 감시부(222), 상기 어플리케이션 프로그램의 실행 허용 또는 차단 이력을 상기 어플리케이션 프로그램 검증 데이터 DB(220)에 기록하도록 구성되는 실행 허용 또는 차단 이력 기록부(223), 사용자 컴퓨터가 부팅될 때, 사용자 컴퓨터의 어플리케이션 프로그램 검증 데이터 DB(210)를 상기 어플리케이션 프로그램 검증 서버(100)의 어플리케이션 프로그램 검증 데이터 DB(110)와 비교하여 업데이트하는 검증 데이터 DB 업데이트부(224), 및 실행 및 차단을 사용자에게 알려주는 실 행 및 차단 알림부(225)를 추가적으로 포함하도록 구성되는 것이 바람직하다.According to a preferred embodiment according to the present invention as described above, the verification and execution control unit 220 is preferably implemented by an application program verification and execution control agent program in software, such application program verification and execution As shown in FIG. 7, the control agent program includes a category allow / block control setting unit 221 configured to allow a user to preset whether to allow or block execution of an application program for each category, and an application program in a user computer. Program execution real-time monitoring unit 222 for detecting that the execution of the execution, the execution permission or blocking history configured to record the execution permission or blocking history of the application program in the application program verification data DB 220 The recording unit 223 updates the verification data DB when the user computer is booted, comparing the application program verification data DB 210 of the user computer with the application program verification data DB 110 of the application program verification server 100. It is preferably configured to further include a unit 224, and the execution and blocking notification unit 225 for informing the user of the execution and blocking.

지금까지 본 발명을 바람직한 실시예를 참조하여 상세히 설명하였지만, 본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있으므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. Although the present invention has been described in detail with reference to the preferred embodiments, those skilled in the art to which the present invention pertains can implement the present invention in other specific forms without changing the technical spirit or essential features, The examples are to be understood in all respects as illustrative and not restrictive.

그리고, 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 특정되는 것이며, 특허청구범위의 의미 및 범위 그리고 그 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.In addition, the scope of the present invention is specified by the appended claims rather than the detailed description, and all changes or modifications derived from the meaning and scope of the claims and their equivalent concepts are included in the scope of the present invention. Should be interpreted as

도 1은 본 발명의 일 실시예를 도시한 흐름도.1 is a flow diagram illustrating one embodiment of the present invention.

도 2는 본 발명의 보다 바람직한 실시예로서 어플리케이션 프로그램 실행 허용/차단 이력 기록 단계를 추가적으로 포함한 실시예의 흐름도.Figure 2 is a flow chart of an embodiment further including the application program execution allow / block history recording step as a more preferred embodiment of the present invention.

도 3은 본 발명의 추가적인 실시예로서 어플리케이션 프로그램 검증 데이터 DB 업데이트 단계를 구체적으로 도시한 흐름도.3 is a flowchart specifically illustrating an application program verification data DB update step as an additional embodiment of the present invention.

도 4는 본 발명에 따른 실시예에서 어플리케이션 프로그램 검증 데이터 DB 구축단계의 보다 구체적인 실시 단계를 도시한 흐름도.4 is a flow chart showing more specific implementation steps of the application program verification data DB construction step in the embodiment according to the present invention.

도 5는 사용자 컴퓨터 어플리케이션 프로그램 검증 데이터 추출 단계(S300) 및 사용자 컴퓨터 어플리케이션 프로그램의 검증 및 실행 제어 단계(S400)가 사용자 컴퓨터에 저장된 에이전트 프로그램에 의해 수행되는 실시예의 진행 과정을 도시한 흐름도.5 is a flowchart illustrating a process of an embodiment in which the step of extracting user computer application program verification data (S300) and the step of verifying and executing execution of the user computer application program (S400) are performed by an agent program stored in a user computer.

도 6은 본 발명에 따른 바람직한 방법 발명들이 구현되도록 구성된 시스템의 구성도.6 is a schematic diagram of a system configured to implement preferred method inventions in accordance with the present invention.

도 7은 본 발명에 따른 어플리케이션 프로그램 검증 및 실행 제어 에이전트 프로그램의 바람직한 구성을 도시한 도면.7 illustrates a preferred configuration of an application program verification and execution control agent program in accordance with the present invention.

도 8은 본 발명에 따른 검증 데이터 DB의 파일의 일 실시예를 도시한 도면.8 illustrates an embodiment of a file of verification data DB in accordance with the present invention.

<도면부호에 대한 간단한 설명><Brief Description of Drawings>

S100: 어플리케이션 프로그램 검증 데이터 DB 구축단계S100: Application program verification data DB construction step

S200: 어플리케이션 프로그램 검증 데이터 DB 전송 단계S200: application program verification data DB transmission step

S300: 사용자 컴퓨터 어플리케이션 프로그램 검증 데이터 추출 단계S300: user computer application program verification data extraction step

S400: 사용자 컴퓨터 어플리케이션 프로그램의 검증 및 실행 제어 단계S400: Verification and execution control step of the user computer application program

S500: 어플리케이션 프로그램 실행 허용/차단 이력 기록 단계S500: Application program execution allow / block history recording step

S600: 어플리케이션 프로그램 검증 데이터 DB 업데이트 단계S600: Application program verification data DB update step

S110: 에이전트 프로그램 실행 단계S110: agent program execution step

S120: 어플리케이션 프로그램 실행 단계S120: application program execution step

S130: 로딩 DLL 추출 단계S130: Loading DLL Extraction Steps

S140: 고유 DLL 판단 단계S140: Steps to Determine Unique DLL

S150: 메타 정보 추출 단계S150: Meta Information Extraction Step

S160: 검증 데이터 DB 항목 추가 단계S160: step of adding verification data DB item

100: 어플리케이션 프로그램 검증 서버100: application program verification server

110: 어플리케이션 프로그램 검증 데이터 DB (검증 서버의)110: application program verification data DB (of the verification server)

200: 사용자 컴퓨터200: your computer

210: 어플리케이션 프로그램 검증 데이터 DB (사용자 컴퓨터의)210: Application program verification data DB (on user computer)

Claims (7)

삭제delete 인터넷 등을 통하여 수집되는 각각의 어플리케이션 프로그램 파일들에 대해 어플리케이션 프로그램 검증 서버(100)에 의해 어플리케이션 프로그램들의 프로세스 실행에 필요한 DLL들을 분석하고, 로딩하는 DLL들 중에서 어플리케이션 프로그램을 판별할 수 있도록 하는 DLL이 존재하는 경우 고유 DLL을 추출하고, 그리고 로딩하는 DLL들 중에서 어플리케이션 프로그램을 판별할 수 있도록 하는 DLL이 존재하는 않는 경우에는 어플리케이션 프로그램의 메타 정보를 식별자로서 추출하여 프로그램 카테고리별로 어플리케이션 프로그램 검증 데이터 DB를 생성하는 어플리케이션 프로그램 검증 데이터 DB 구축단계(S100)와;For each application program file collected through the Internet, a DLL for analyzing the DLLs required for process execution of the application programs by the application program verification server 100 and determining the application program from among DLLs loaded If present, extract the unique DLL, and if there is no DLL to determine the application program among the DLLs to be loaded, extract the meta information of the application program as an identifier and generate the application program verification data DB for each program category. An application program verification data DB building step (S100); 상기 어플리케이션 프로그램 검증 데이터 DB 구축단계에서 생성된 어플리케이션 프로그램 검증 데이터 DB를 사용자 컴퓨터에 전송하는 어플리케이션 프로그램 검증 데이터 DB 전송 단계(S200)와;An application program verification data DB transmission step (S200) of transmitting the application program verification data DB generated in the application program verification data DB construction step to a user computer; 사용자 컴퓨터 내의 어플리케이션 프로그램의 실행이 초기화될 때, 상기 어플리케이션 프로그램의 실행을 유예시킨 다음에 실행되는 어플리케이션 프로그램의 DLL 및 메타 정보를 프로그램 검증 데이터로서 추출하는 사용자 컴퓨터 어플리케이션 프로그램 검증 데이터 추출 단계(S300)와;When the execution of the application program in the user computer is initialized, the user computer application program verification data extraction step (S300) of deferring the execution of the application program and then extracting DLL and meta information of the application program to be executed as program verification data; ; 사용자 컴퓨터에서 이용하려고 하는 어플리케이션 프로그램에 대해 상기 검증 데이터로써 사용자 컴퓨터로 전송된 상기 어플리케이션 프로그램 검증 데이터 DB를 검색하여, 일치하는 항목이 없는 경우에는 유예된 상기 어플리케이션 프로그램의 실행을 허락하고 추출된 검증 데이터를 상기 어플리케이션 프로그램 검증 서버(100)로 전송하며, 그리고 상기 어플리케이션 프로그램 검증 데이터 DB와의 비교에서 일치하는 항목을 발견한 경우에는 카테고리별 환경 설정 정책에 따라 실행 차단 또는 실행 허용을 제어하는 사용자 컴퓨터 어플리케이션 프로그램의 검증 및 실행 제어 단계(S400)와; 그리고The application program verification data DB transmitted to the user computer as the verification data is searched for the application program to be used in the user computer, and if there is no match, the execution of the deferred application program is allowed and the extracted verification data is extracted. Is transmitted to the application program verification server 100, and if a match is found in comparison with the application program verification data DB, a user computer application program for controlling execution blocking or permission to execute according to a category setting policy for each category Verification and execution control of the step (S400); And 상기 어플리케이션 프로그램의 실행 허용 이력과 실행 차단 이력을 카타고리별 DB와 비교하여 차단 통계를 추출하는데 사용하기 위하여, 상기 어플리케이션 프로그램의 실행 허용 또는 실행 차단 이력을 사용자 컴퓨터의 상기 어플리케이션 프로그램 검증 데이터 DB(210)에 기록하는 어플리케이션 프로그램 실행 허용/차단 이력 기록 단계(S500)를 포함하는 것을 특징으로 하는 어플리케이션 프로그램 검증 및 실행 제어 방법.In order to extract the blocking statistics by comparing the execution permission history and the execution blocking history of the application program with the category-specific DB, the application program verification data DB 210 of the user computer is executed. Application program verification and execution control method comprising the step of recording the application program execution / block history recording step (S500). 제2항에 있어서, 사용자 컴퓨터가 부팅될 때, 사용자 컴퓨터의 어플리케이션 프로그램 검증 데이터 DB(210)를 상기 어플리케이션 프로그램 검증 서버(100)의 어플리케이션 프로그램 검증 데이터 DB(110)와 비교하여 업데이트하는 어플리케이션 프로그램 검증 데이터 DB 업데이트 단계(S600)를 추가적으로 포함하여 이루어지는 것을 특징으로 하는 어플리케이션 프로그램 검증 및 실행 제어 방법.The application program verification according to claim 2, wherein when the user computer is booted, the application program verification data DB 210 of the user computer is compared with the application program verification data DB 110 of the application program verification server 100 and updated. Application program verification and execution control method, characterized in that further comprises a data DB update step (S600). 제3항에 있어서, 상기 어플리케이션 프로그램 검증 데이터 DB 구축단계(S100) 는 상기 어플리케이션 프로그램 검증 서버(100)에 저장된 에이전트 프로그램에 의해 수행되고, 그리고The method of claim 3, wherein the application program verification data DB building step (S100) is performed by an agent program stored in the application program verification server 100, and 에이전트 프로그램을 실행시키는 에이전트 프로그램 실행 단계(S110);An agent program execution step of executing an agent program (S110); 어플리케이션 프로그램을 실행시키는 어플리케이션 프로그램 실행 단계(S120);An application program execution step of executing an application program (S120); 어플리케이션 프로그램의 실행시에 필요로 하는 필수 로딩 DLL을 추출하는 로딩 DLL 추출 단계(S130);A loading DLL extraction step (S130) for extracting an essential loading DLL required when executing an application program; 추출된 상기 필수 로딩 DLL 중에서 상기 어플리케이션 프로그램을 판별할 수 있는 고유 DLL이 존재하는지 여부를 판단하는 고유 DLL 판단 단계(S140);A unique DLL determination step (S140) of determining whether a unique DLL capable of determining the application program exists among the extracted essential loading DLLs; 상기 고유 DLL 판단 단계(S140)에서 고유 DLL이 존재하지 않는 것으로 판단되는 경우, 어플리케이션 프로그램의 메타 정보를 추출하는 메타 정보 추출 단계(S150); 및A meta information extraction step (S150) of extracting meta information of an application program when it is determined that the unique DLL does not exist in the unique DLL determination step (S140); And 상기 로딩 DLL 추출 단계(S130)에서 추출된 고유 DLL 또는 상기 메타 정보 추출 단계(S150)에서 추출된 어플리케이션 프로그램 메타 정보를 검증 데이터 DB에 탐색 항목으로 추가하는 검증 데이터 DB 탐색 항목 추가 단계(S160)를 포함하여 이루어지는 것을 특징으로 하는 어플리케이션 프로그램 검증 및 실행 제어 방법.A verification data DB search item adding step (S160) of adding the unique DLL extracted in the loading DLL extraction step (S130) or the application program meta information extracted in the meta information extraction step (S150) to the verification data DB as a search item; Application program verification and execution control method comprising the. 제4항에 있어서, 상기 메타 정보 추출 단계(S150)에서 추출되는 상기 어플리케이션 프로그램 메타 정보는 어플리케이션 프로그램의 윈도우 타이틀명, 실행 이미지 파일명 등을 포함하는 것을 특징으로 하는 어플리케이션 프로그램 검증 및 실행 제어 방법.5. The method of claim 4, wherein the application program meta information extracted in the meta information extraction step (S150) includes a window title name, an execution image file name, and the like of an application program. 제3항 내지 제5항 중 어느 하나의 항에 있어서, 상기 사용자 컴퓨터 어플리케이션 프로그램 검증 데이터 추출 단계(S300) 및 상기 사용자 컴퓨터 어플리케이션 프로그램의 검증 및 실행 제어 단계(S400)는 사용자 컴퓨터에 저장된 에이전트 프로그램에 의해 수행되고, The method of claim 3, wherein the extracting of the user computer application program verification data (S300) and the verifying and executing control of the user computer application program (S400) are performed on an agent program stored in the user computer. Performed by 상기 사용자 컴퓨터 어플리케이션 프로그램 검증 데이터 추출 단계(S300)는,The user computer application program verification data extraction step (S300), 사용자 컴퓨터에서 어플리케이션 프로그램의 실행 시작 시점이 감지되는 단계(S310);Detecting the start point of execution of the application program in the user computer (S310); 상기 어플리케이션 프로그램의 실행을 유예시키는 단계(S320);Suspending execution of the application program (S320); 상기 어플리케이션 프로그램으로부터 어플리케이션 프로그램의 실행시에 필요로 하는 DLL을 추출하는 단계(S330); 및Extracting a DLL required for executing an application program from the application program (S330); And 상기 어플리케이션 프로그램으로부터 메타 정보를 추출하는 단계(S340)를 포함하여 이루어지고, 그리고 And extracting meta information from the application program (S340), and 상기 사용자 컴퓨터 어플리케이션 프로그램의 검증 및 실행 제어 단계(S400)는,The verification and execution control step (S400) of the user computer application program, 사용자 컴퓨터의 어플리케이션 프로그램으로부터 추출된 상기 DLL 또는 상기 메타 정보를 검증 데이터로서 사용자 컴퓨터의 상기 어플리케이션 프로그램 검증 데이터 DB(210)의 항목과의 일치 여부를 검색하는 단계(S410);Searching whether the DLL or the meta information extracted from the application program of the user computer matches the item of the application program verification data DB 210 of the user computer as verification data (S410); 상기 (S410)단계에서 일치하는 경우, 상기 어플리케이션 프로그램을 상기 검증 데이터 DB에서 카테고리별로 분류하는 단계(S420);If it matches in step S410, classifying the application program by category in the verification data DB (S420); 상기 (S420)단계에서 분류된 카테고리별 제어 정책에 따라 상기 어플리케이션 프로그램의 실행 차단 여부를 판단하는 단계(S430);Determining whether to block the execution of the application program according to the category-specific control policies classified at the step S420; 상기 어플리케이션 프로그램의 실행을 허용하거나 차단하는 단계(S440, S450); 및Allowing or blocking execution of the application program (S440, S450); And 상기 (S410)단계에서 불일치하는 경우, 상기 검증 데이터를 상기 어플리케이션 프로그램 검증 서버(100)로 전송하고 사용자 컴퓨터에서 상기 어플리케이션 프로그램의 실행을 허용하는 단계(S460, S470)를 포함하여 이루어지는 것을 특징으로 하는 어플리케이션 프로그램 검증 및 실행 제어 방법.In case of inconsistency in the step S410, transmitting the verification data to the application program verification server 100 and allowing execution of the application program on a user computer (S460 and S470). Application program verification and execution control method. 제6항에 있어서, 상기 단계(S340)에서 추출되는 상기 어플리케이션 프로그램 메타 정보는 어플리케이션 프로그램의 윈도우 타이틀명, 실행 이미지 파일명 등을 포함하는 것을 특징으로 하는 어플리케이션 프로그램 검증 및 실행 제어 방법.7. The method of claim 6, wherein the application program meta information extracted in the step (S340) includes a window title name, an execution image file name, and the like of an application program.
KR1020070077657A 2007-08-02 2007-08-02 Method for verifying application programs and controlling the execution thereof KR100918626B1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020070077657A KR100918626B1 (en) 2007-08-02 2007-08-02 Method for verifying application programs and controlling the execution thereof
CN2008801016476A CN101802805B (en) 2007-08-02 2008-08-01 Method for verifying application programs and controlling the execution thereof
TW097129402A TWI419005B (en) 2007-08-02 2008-08-01 Method for verifying application programs and controlling the execution thereof
PCT/KR2008/004485 WO2009017382A2 (en) 2007-08-02 2008-08-01 Method for verifying application programs and controlling the execution thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070077657A KR100918626B1 (en) 2007-08-02 2007-08-02 Method for verifying application programs and controlling the execution thereof

Publications (2)

Publication Number Publication Date
KR20090013483A KR20090013483A (en) 2009-02-05
KR100918626B1 true KR100918626B1 (en) 2009-09-25

Family

ID=40305069

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070077657A KR100918626B1 (en) 2007-08-02 2007-08-02 Method for verifying application programs and controlling the execution thereof

Country Status (4)

Country Link
KR (1) KR100918626B1 (en)
CN (1) CN101802805B (en)
TW (1) TWI419005B (en)
WO (1) WO2009017382A2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101593899B1 (en) 2014-04-03 2016-02-15 주식회사 엘지씨엔에스 Cloud computing method, clould computing server performing the same and storage media storing the same
KR101700413B1 (en) * 2015-09-24 2017-02-13 주식회사 오앤파트너스 Method and system for integrity check of integrit of program
KR101743191B1 (en) * 2013-04-08 2017-06-15 시아오미 아이엔씨. Application program management method and apparatus, server, terminal device, program, and recording medium

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100970567B1 (en) * 2009-08-24 2010-07-16 윤성진 Method for firewalling using program database
KR101138746B1 (en) * 2010-03-05 2012-04-24 주식회사 안철수연구소 Apparatus and method for preventing malicious codes using executive files
KR101369250B1 (en) * 2011-12-29 2014-03-06 주식회사 안랩 Server, client and method for verifying integrity of data in peer to peer based network
US9712530B2 (en) * 2012-01-06 2017-07-18 Optio Labs, Inc. Systems and methods for enforcing security in mobile computing
KR101995260B1 (en) * 2012-04-30 2019-07-02 삼성전자 주식회사 Method and system for providing app service
JP5533935B2 (en) * 2012-05-10 2014-06-25 トヨタ自動車株式会社 Software distribution system and software distribution method
KR101594643B1 (en) * 2012-11-22 2016-02-16 단국대학교 산학협력단 Method for detecting software piracy and theft based on partial information of executable file, and apparatus therefor
CN102968338B (en) * 2012-12-13 2016-12-21 上海欧拉网络技术有限公司 Method, device and the electronic equipment classified for the application program of electronic equipment
CN103092604B (en) * 2012-12-13 2016-09-21 上海欧拉网络技术有限公司 A kind of application program sorting technique and device
CN103366104A (en) * 2013-07-22 2013-10-23 腾讯科技(深圳)有限公司 Method and device for controlling accessing of application
KR101654973B1 (en) * 2014-04-30 2016-09-06 단국대학교 산학협력단 Apparatus and method for software filtering
KR101899149B1 (en) * 2018-04-30 2018-09-14 에스엠테크놀러지(주) Abnormal Process Monitoring and Controlling System and Method, Recording Medium for Performing the Method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060011558A (en) * 2004-07-30 2006-02-03 주식회사 뉴테크웨이브 System for early prevention of computer virus
JP2007148805A (en) * 2005-11-28 2007-06-14 Nomura Research Institute Ltd Information processor, information processing method and program

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7093135B1 (en) * 2000-05-11 2006-08-15 Cybersoft, Inc. Software virus detection methods and apparatus
US7363657B2 (en) * 2001-03-12 2008-04-22 Emc Corporation Using a virus checker in one file server to check for viruses in another file server
US7600222B2 (en) * 2002-01-04 2009-10-06 Microsoft Corporation Systems and methods for managing drivers in a computing system
JP4487490B2 (en) * 2003-03-10 2010-06-23 ソニー株式会社 Information processing apparatus, access control processing method, information processing method, and computer program
CN1581144A (en) * 2003-07-31 2005-02-16 上海市电子商务安全证书管理中心有限公司 Digital certificate local identification method and system
CN100395721C (en) * 2003-12-20 2008-06-18 鸿富锦精密工业(深圳)有限公司 System and method for centralized monitoring of limited program

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060011558A (en) * 2004-07-30 2006-02-03 주식회사 뉴테크웨이브 System for early prevention of computer virus
JP2007148805A (en) * 2005-11-28 2007-06-14 Nomura Research Institute Ltd Information processor, information processing method and program

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101743191B1 (en) * 2013-04-08 2017-06-15 시아오미 아이엔씨. Application program management method and apparatus, server, terminal device, program, and recording medium
US10176214B2 (en) 2013-04-08 2019-01-08 Xiaomi Inc. Method for application management, as well as server and terminal device thereof
KR101593899B1 (en) 2014-04-03 2016-02-15 주식회사 엘지씨엔에스 Cloud computing method, clould computing server performing the same and storage media storing the same
KR101700413B1 (en) * 2015-09-24 2017-02-13 주식회사 오앤파트너스 Method and system for integrity check of integrit of program

Also Published As

Publication number Publication date
CN101802805A (en) 2010-08-11
TWI419005B (en) 2013-12-11
KR20090013483A (en) 2009-02-05
WO2009017382A3 (en) 2009-04-16
TW200912696A (en) 2009-03-16
CN101802805B (en) 2012-07-18
WO2009017382A2 (en) 2009-02-05

Similar Documents

Publication Publication Date Title
KR100918626B1 (en) Method for verifying application programs and controlling the execution thereof
US10210332B2 (en) Identifying an evasive malicious object based on a behavior delta
US9767280B2 (en) Information processing apparatus, method of controlling the same, information processing system, and information processing method
US9639697B2 (en) Method and apparatus for retroactively detecting malicious or otherwise undesirable software
US8250569B1 (en) Systems and methods for selectively blocking application installation
RU2571723C2 (en) System and method of reducing load on operating system when executing antivirus application
JP5446860B2 (en) Virtual machine operation system, virtual machine operation method and program
JP4936294B2 (en) Method and apparatus for dealing with malware
EP3223159B1 (en) Log information generation device and recording medium, and log information extraction device and recording medium
WO2009049555A1 (en) Method and apparatus for detecting the malicious behavior of computer program
KR101472321B1 (en) Malignant code detect method and system for application in the mobile
WO2012022251A1 (en) Whitelist-based inspection method for malicious process
KR101132197B1 (en) Apparatus and Method for Automatically Discriminating Malicious Code
JP6254414B2 (en) Information processing apparatus, information processing system, and information processing method
Gandotra et al. Integrated framework for classification of malwares
US9740865B2 (en) System and method for configuring antivirus scans
KR101605783B1 (en) Malicious application detecting method and computer program executing the method
JP4050253B2 (en) Computer virus information collection apparatus, computer virus information collection method, and program
Picazo-Sanchez et al. DeDup. js: Discovering Malicious and Vulnerable Extensions by Detecting Duplication.
Li et al. Understanding and detecting remote infection on linux-based iot devices
KR101267725B1 (en) Pattern collecting method of bot program for online game
JP7281998B2 (en) Information processing device, information processing method, information processing system and program
Flaglien Cross-computer malware detection in digital forensics
JP2021068133A (en) Information processing device, information processing method, information processing system and program
KR100970567B1 (en) Method for firewalling using program database

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20130916

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140915

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150914

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160919

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170912

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190906

Year of fee payment: 11