KR101017258B1 - Process protection system and method using object manager - Google Patents
Process protection system and method using object manager Download PDFInfo
- Publication number
- KR101017258B1 KR101017258B1 KR1020090090371A KR20090090371A KR101017258B1 KR 101017258 B1 KR101017258 B1 KR 101017258B1 KR 1020090090371 A KR1020090090371 A KR 1020090090371A KR 20090090371 A KR20090090371 A KR 20090090371A KR 101017258 B1 KR101017258 B1 KR 101017258B1
- Authority
- KR
- South Korea
- Prior art keywords
- callback
- object manager
- manager
- signal
- access message
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 195
- 230000008569 process Effects 0.000 title claims abstract description 176
- 238000001914 filtration Methods 0.000 claims abstract description 14
- 238000001514 detection method Methods 0.000 claims abstract description 5
- 239000000284 extract Substances 0.000 claims description 2
- 230000008685 targeting Effects 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 28
- 238000010586 diagram Methods 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 208000018883 loss of balance Diseases 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000007103 stamina Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/54—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
이 발명은 패치가드가 동작하는 64비트 윈도우즈 운영체제 환경에서 보안프로세스가 오브젝트매니저를 이용하여 보안프로세스 자체 보호를 하거나 타 프로세스를 보호하는 시스템 및 방법에 관한 것이다.The present invention relates to a system and method in which a security process protects itself or protects other processes using an object manager in a 64-bit Windows operating system environment in which PatchGuard operates.
이 발명에 따른 오브젝트매니저를 이용한 프로세스 보호시스템은, 오브젝트 접근 메시지를 수신하여 오브젝트를 대상하는 모든 작업을 관리하는 오브젝트매니저와, 상기 오브젝트매니저로 하여금 상기 오브젝트 접근 메시지 수신시 콜백신호를 출력하도록 오브젝트레지스트 콜백 함수를 등록하는 오브젝트콜백등록부와, 상기 오브젝트매니저로부터 상기 콜백신호를 수신하는 오브젝트접근감지부와, 상기 콜백신호로부터 상기 오브젝트 접근 메시지의 주체프로세스와 대상프로세스와 작업 종류를 추출하는 필터링부와, 상기 필터링부에서 추출된 주체프로세스와 대상프로세스와 작업 종류를 분석하는 분석부와, 상기 분석부의 분석결과에 따라 상기 오브젝트매니저에게 상기 콜백신호를 리턴하는 결과처리부를 포함한다.The process protection system using the object manager according to the present invention comprises: an object manager that receives an object access message and manages all tasks targeting the object; and an object register to cause the object manager to output a callback signal when the object access message is received. An object callback registration unit for registering a callback function, an object access detection unit for receiving the callback signal from the object manager, a filtering unit for extracting a subject process, a target process, and a job type of the object access message from the callback signal; An analysis unit for analyzing the subject process, the target process and the job type extracted by the filtering unit, and a result processing unit for returning the callback signal to the object manager according to the analysis result of the analysis unit.
오브젝트레지스트콜백, 오브젝트매니저, 보안프로세스, 보호, 콜백신호 Object Resist Callback, Object Manager, Security Process, Protection, Callback Signal
Description
이 발명은 프로세스의 보호에 관한 것으로서, 보다 상세하게는 패치가드가 동작하는 64비트 윈도우즈 운영체제 환경에서 보안프로세스가 오브젝트매니저를 이용하여 보안프로세스 자체 보호를 하거나 타 프로세스를 보호하는 시스템 및 방법에 관한 것이다.The present invention relates to the protection of a process, and more particularly, to a system and a method in which a security process protects itself or protects other processes using an object manager in a 64-bit Windows operating system environment in which PatchGuard operates. .
초고속인터넷이 널리 보급되면서 인터넷을 통해 다양한 업무들이 이루어지고 있는 바, 온라인 뱅킹, 온라인 게임, 물품 및 정보 구매 등이 인터넷의 웹사이트를 통해 이루어지고 있다.With the widespread use of high speed internet, various tasks are performed through the internet, and online banking, online games, purchase of goods and information are made through the website of the internet.
사용자가 온라인 뱅킹 웹사이트나 전자상거래 웹사이트에 접속하여 온라인 뱅킹 서비스나 물품 구매 서비스를 이용하면, 해당 웹사이트로부터 클라이언트시스템로 키보드보안프로그램을 다운로드하여 설치한다. 이 키보드보안프로그램을 포함한 프로그램 또는 파일이라 함은 컴퓨터를 실행시키기 위해 차례대로 작성된 명 령어 모음을 의미하며, 프로세스라 함은 컴퓨터 내에서 실행중인 프로그램을 일컫는다.When a user accesses an online banking website or an e-commerce website and uses an online banking service or an item purchasing service, a keyboard security program is downloaded and installed from the website to the client system. A program or file containing this keyboard security program refers to a collection of commands written in order to run the computer, and a process refers to a program running on the computer.
따라서, 키보드보안프로그램이 다운로드되어 클라이언트시스템에 설치되면 키보드보안프로세스가 구동하여 사용자가 입력한 아이디(ID)나 패스워드 같은 정보가 외부로 유출되지 않도록 보안한다. 따라서, 악성 프로세스는 이 키보드 보안프로세스를 무력화함으로써 사용자가 입력한 정보를 크랙(crack)하고자 시도한다.Therefore, when the keyboard security program is downloaded and installed in the client system, the keyboard security process is driven to secure the information such as the ID or password input by the user to the outside. Thus, a malicious process attempts to crack information entered by a user by disabling this keyboard security process.
한편, 온라인 게임의 경우, 게이머들은 게임 핵을 사용하고 싶어한다. 이는 게임 핵이 게임의 메모리를 조작하여 능력치나 체력 등과 같은 특정 데이터를 바꾸어 주거나, 격투기 게임의 경우 타격 속도나 타격 횟수를 증가시키거나, 매크로 기능을 부여함으로써, 게이머가 게임을 손쉽게 이길 수 있도록 해주기 때문이다. 온라인 게임에서의 게임 핵 사용은 사용자들간의 밸런스 붕괴, 게임서버로의 가중한 부하 등과 같은 문제를 일으킬 수 있다. 그렇기 때문에 온라인 게임사들은 클라이언트시스템에 온라인 게임을 서비스함과 동시에 게임 핵을 차단하는 온라인게임 보안프로세스를 설치한다. 그러나, 악성 프로세스는 이 온라인게임 보안프로세스를 무력화함으로써(강제로 종료시킴으로써), 온라인 게임 시 게임 핵을 사용하려고 시도한다.On the other hand, in the case of online games, gamers like to use game hacks. This allows the game hack to manipulate the game's memory to change certain data such as stats and stamina, increase the speed or number of hits in martial arts games, or provide macro functions, allowing gamers to easily win the game. Because. The use of game hacks in online games can cause problems such as a loss of balance among users and a heavy load on the game server. Therefore, online game companies install online game security processes to block game hacks while serving online games on client systems. However, malicious processes attempt to use game hacks in online games by disabling this online game security process.
이와 같이 오늘날 웹사이트에서 서비스되는 모든 보안프로세스는 악성 프로세스에 의해 공격될 가능성이 많기 때문에, 대부분의 보안프로세는 악성프로세스로부터 자신을 보호하는 기능을 포함하고 있는 바, 이와 같이 보안프로세스가 악성프로세스로부터 자신을 보호하는 기능을 자체 보호기능이라고 한다. 아울러, 보안프 로세스는 악성프로세스로부터 타 프로세스(예컨대, 게임프로세스나 타 보안프로세스)를 보호하는 기능을 포함하기도 한다.As all security processes serviced on websites today are likely to be attacked by malicious processes, most security processes include a function to protect themselves from malicious processes. Self-protection is called self-protection. In addition, the security process may include a function of protecting another process (eg, a game process or another security process) from a malicious process.
일반적으로 32비트 윈도우즈 운영체제 환경에서, 보안프로세스는 API(application programming interface) 함수를 후킹(hooking)하여 자체 보호 또는 타 프로세스 보호 기능을 수행한다.In general, in a 32-bit Windows operating system environment, the security process hooks an application programming interface (API) function to perform self protection or other process protection.
즉, 컴퓨터시스템의 커널 영역에 특정 API 함수를 후킹하는 API 후킹루틴을 설치한다. 임의의 프로세스가 이 특정 API 함수를 사용하여 API 후킹루틴을 통해 해당 특정 API 함수가 후킹되면, 그 특정 API 함수를 사용한 주체프로세스의 사용권한과 작업종류와 대상프로세스 등을 분석하여, 해당 특정 API 함수의 계속 처리 여부를 결정한다. 만약, 후킹된 특정 API 함수의 분석 결과, 악성 프로세스가 보안프로세스를 종료시키려는 함수로 판단되는 등 컴퓨터시스템의 보안에 악영향을 미치는 API 함수인 경우에는 해당 후킹된 특정 API 함수가 처리되지 않도록 한다. 그러나 만약 후킹된 API 함수의 분석 결과, 악성 프로세스나 보안프로세스와 관계없는 함수인 경우에는 해당 후킹된 특정 API 함수가 정상적으로 처리될 수 있도록 한다.That is, an API hooking routine is installed in the kernel area of a computer system that hooks specific API functions. When a specific API function is hooked by an API hooking routine using this specific API function, the specific API function is analyzed by analyzing the authority, operation type, and target process of the subject process using the specific API function. Determines whether to continue processing. If, as a result of the analysis of the hooked specific API function, the malicious function is determined to be a function to terminate the security process, the API function adversely affects the security of the computer system, so that the hooked specific API function is not processed. However, if the result of analysis of hooked API function is a function that is not related to malicious process or security process, the relevant hooked API function can be processed normally.
도 1은 종래 기술에 의한 프로세스 보호방법을 도시한 동작 흐름도이다.1 is a flowchart illustrating a process protection method according to the prior art.
먼저, 보안프로세스는 운영체제의 커널 영역에 특정 종류의 API를 후킹하기 위한 API 후킹루틴을 설치한다(S11). 여기서 특정 종류의 API에는 프로세스 종료 API(예컨대, killProcess API, exitProcess API, TerminateProcess API 등), 프로세스 판독 API(예컨대, ReadProcess API 등), 프로세스 기록 API(예컨대, WriteProces API 등)가 포함된다.First, the security process installs an API hooking routine for hooking a specific kind of API in the kernel region of the operating system (S11). The specific types of APIs here include a process termination API (eg, killProcess API, exitProcess API, TerminateProcess API, etc.), a process read API (eg, ReadProcess API, etc.), a process write API (eg, WriteProces API, etc.).
임의의 주체프로세스에 의해 위 특정 API가 사용되면 API 후킹루틴이 동작하여 해당 API를 후킹한다. 특정 API가 후킹되면(S12), 보안프로세스는 후킹된 API를 분석하여 해당 API를 사용한 주체프로세스와 작업 종류와 대상프로세스를 분석한다(S13).When the above specific API is used by any subject process, API hooking routine is executed to hook the API. When a specific API is hooked (S12), the security process analyzes the hooked API and analyzes the subject process, the job type, and the target process using the API (S13).
예컨대, 사용자가 윈도우 탐색기에서 워드 파일을 더블클릭하면 윈도우 탐색기 프로세스가 워드 프로세스를 여는 동작을 한다. 이때, 통상적으로 OpenProcess API가 사용되는데, 이 OpenProcess API의 주체프로세스는 윈도우 탐색기 프로세스이고, 작업 종류는 프로세스 열기이며, 대상프로세스는 워드 프로세스이다. 한편, 악성 프로세스가 보안프로세스를 종료시키고자 할 경우, 악성 프로세스는 보안프로세스를 대상으로 프로세스 종료 API(예컨대, killProcess API, exitProcess API, TerminateProcess API 등)를 발생한다. 이 경우, 보안프로세스는 이 프로세스 종료 API를 후킹하여 분석하는데, 이때 주체프로세스가 악성 프로세스이고, 대상프로세스는 보안프로세스이며, 작업 종료는 프로세스 종료이다.For example, when a user double-clicks a word file in the window explorer, the window explorer process operates to open the word process. At this time, the OpenProcess API is generally used. The main process of the OpenProcess API is a Windows Explorer process, the job type is Open Process, and the target process is a word process. On the other hand, when a malicious process wants to terminate the security process, the malicious process generates a process termination API (eg, killProcess API, exitProcess API, TerminateProcess API, etc.) for the security process. In this case, the security process hooks and analyzes this process termination API, where the subject process is a malicious process, the target process is a security process, and the task termination is a process termination.
단계 S13에서 보안프로세스는 후킹된 API를 분석하여 작업 종류와, 주체프로세스가 해당 작업의 사용권한이 있는지 여부와, 해당 API의 대상 프로세스가 보호해야 할 대상인지 여부를 검사한다. 주체프로세스가 작업 사용권한이 없고 대상프로세스가 보호 대상인 경우(S14), 후킹된 API의 실행을 차단한다(S15). 그러나, 주체프로세스가 API의 작업 사용권한이 있거나 대상프로세스가 보호 대상이 아닌 경우(S14), 후킹된 API의 실행을 허용한다(S16).In step S13, the security process analyzes the hooked API to check the type of work, whether the subject process has permission to use the work, and whether the target process of the API is to be protected. If the subject process does not have permission to use the work and the target process is protected (S14), execution of the hooked API is blocked (S15). However, if the subject process has permission to use the API or if the target process is not protected (S14), the hooked API is allowed to be executed (S16).
이와 같이 커널 영역에 특정 API 함수를 후킹하는 API 후킹루틴을 설치해야만 보안프로세스의 자체 보호 내지 타 프로세스의 보호가 가능하다.As such, an API hooking routine for hooking certain API functions in the kernel area is required to protect the security process itself or other processes.
그러나, 64비트 윈도우즈 운영체제(예컨대, 비스타)에서는 패치가드(patch guard) 기능을 구비하는 바, 이 패치가드에 따르면 API 후킹루틴을 설치하는 것이 불가능하다. 따라서, 64비트 윈도우즈 운영체제에서는 종래의 API 후킹루틴 설치방법으로는 보안프로세스의 자체 보호 기능을 구현할 수 없는 문제점이 있다.However, on 64-bit Windows operating systems (eg Vista), it has a patch guard feature, which makes it impossible to install API hooking routines. Therefore, there is a problem in that a 64-bit Windows operating system cannot implement a self-protection function of a security process using a conventional API hooking routine installation method.
상기한 문제점을 해결하기 위하여 안출된 이 발명의 목적은, 오브젝트 매니저에 오브젝트레지스트콜백함수를 등록하여 오브젝트 접근시 보안프로세스가 호출되도록 하고, 이 보안프로세스가 오브젝트의 접근 권한을 분석함으로써, 보안프로세스가 자체 보호 내지 타 프로세스 보호를 하는 시스템 및 방법을 제공하기 위한 것이다.In order to solve the above problems, the object of the present invention is to register an object registration callback function in the object manager so that the security process is called when the object is accessed. It is to provide a system and method for self-protection or other process protection.
상기한 목적을 달성하기 위한 이 발명에 따른 오브젝트매니저를 이용한 프로세스 보호시스템은, 오브젝트 접근 메시지를 수신하여 오브젝트를 대상하는 모든 작업을 관리하는 오브젝트매니저와, 상기 오브젝트매니저로 하여금 상기 오브젝트 접근 메시지 수신시 콜백신호를 출력하도록 오브젝트레지스트 콜백 함수를 등록하는 오브젝트콜백등록부와, 상기 오브젝트매니저로부터 상기 콜백신호를 수신하는 오브젝트접근감지부와, 상기 콜백신호로부터 상기 오브젝트 접근 메시지의 주체프로세스와 대상프로세스와 작업 종류를 추출하는 필터링부와, 상기 필터링부에서 추출된 주체프로세스와 대상프로세스와 작업 종류를 분석하는 분석부와, 상기 분석부의 분석결과에 따라 상기 오브젝트매니저에게 상기 콜백신호를 리턴하는 결과처리부를 포함한 것을 특징으로 한다.The process protection system using the object manager according to the present invention for achieving the above object is an object manager for receiving all object operations by receiving an object access message, and when the object manager receives the object access message An object callback register for registering an object resist callback function to output a callback signal, an object access detection unit for receiving the callback signal from the object manager, a subject process, a target process, and a task type of the object access message from the callback signal; A filtering unit for extracting a data source, an analysis unit for analyzing a subject process, a target process, and a job type extracted from the filtering unit, and a result processing unit for returning the callback signal to the object manager according to an analysis result of the analysis unit; .
또한, 이 발명에 따른 오브젝트매니저를 이용한 프로세스 보호방법은, 오브 젝트 접근 메시지를 수신하는 오브젝트매니저에 상기 오브젝트 접근 메시지 수신시 콜백신호를 출력하도록 오브젝트레지스트 콜백 함수를 등록하는 오브젝트콜백등록단계와, 상기 오브젝트매니저로부터 상기 콜백신호를 수신하는 오브젝트접근감지단계와, 상기 콜백신호로부터 상기 오브젝트 접근 메시지의 주체프로세스와 대상프로세스와 작업 종류를 추출하는 필터링단계와, 상기 필터링단계에서 추출된 주체프로세스와 대상프로세스와 작업 종류를 분석하는 분석단계와, 상기 분석단계의 분석결과에 따라 상기 오브젝트매니저에게 상기 콜백신호를 리턴하는 결과처리단계를 포함한 것을 특징으로 한다.In addition, the process protection method using the object manager according to the present invention, the object callback registration step of registering an object resist callback function to output a callback signal upon receiving the object access message to the object manager receiving the object access message, and An object approach detection step of receiving the callback signal from an object manager; a filtering step of extracting a subject process, a target process, and a task type of the object access message from the callback signal; and a subject process and a target process extracted in the filtering step And an analysis step of analyzing a work type, and a result processing step of returning the callback signal to the object manager according to the analysis result of the analysis step.
이상과 같이 이 발명에 따르면 64비트 윈도우즈 운영체제와 같이 패치가드가 설치된 환경에서도 보안프로세스의 자체 보호 내지 타 프로세스 보호 기능을 구현할 수 있는 효과가 있다.As described above, according to the present invention, even in an environment in which patch guard is installed, such as a 64-bit Windows operating system, self-protection or other process protection of the security process can be implemented.
이하, 첨부된 도면을 참조하여 이 발명의 한 실시예에 따른 오브젝트매니저를 이용한 프로세스 보호시스템 및 방법을 보다 상세하게 설명한다.Hereinafter, a process protection system and method using an object manager according to an embodiment of the present invention will be described in detail with reference to the accompanying drawings.
이 발명에 따른 프로세스 보호방법은 프로그램 형태로 제공된다. 통상적으로 '프로그램' 또는 '파일'은 컴퓨터를 실행시키기 위해 차례대로 작성된 명령어 모음을 의미하며, '프로세스'라 함은 컴퓨터 내에서 실행중인 프로그램을 일컫는 다. 즉, 이 발명의 프로세스 보호 프로그램은 컴퓨터 시스템 내에서 보안프로세스로서 실행된다. 이 보안프로세스의 실행 코드와 데이터가 컴퓨터시스템의 메모리에 로드된다. 또한, 메모리에는 각종 오브젝트(프로세스와 쓰레드)을 대상으로 하는 모든 작업(열기, 쓰기, 읽기, 종료 등등)을 관리하는 오브젝트매니저(ObjectManager)를 포함된다.The process protection method according to the invention is provided in the form of a program. Generally, a 'program' or a 'file' refers to a command set written in order to execute a computer, and a 'process' refers to a program running in the computer. In other words, the process protection program of the present invention is executed as a security process in a computer system. Executable code and data of this security process are loaded into the memory of the computer system. The memory also includes an ObjectManager (ObjectManager) that manages all operations (open, write, read, exit, etc.) targeting various objects (processes and threads).
도 2는 이 발명의 오브젝트매니저를 이용한 프로세스 보호방법을 구현하기 위한 보호시스템을 도시한 구성 블록도이다.2 is a block diagram illustrating a protection system for implementing a process protection method using the object manager of the present invention.
이 발명의 프로세스 보호시스템은 오브젝트매니저(210)와 보안프로세스(220)로 구현된다. 보안프로세스는 이 발명에 따른 프로세스 보호 기능의 프로그램을 컴퓨터시스템에 실행시킴으로써 메모리에 생성된다.The process protection system of the present invention is implemented by the
보안프로세스(220)는 오브젝트매니저(210)에 오브젝트레지스터콜백함수를 등록하는 오브젝트콜백등록부(221)와, 오브젝트매니저로부터 콜백신호를 수신하여 임의의 오브젝터로의 접근을 감지하는 오브젝트접근감지부(222)와, 상기 콜백신호로부터 접근 주체프로세스와 접근 대상프로세스와 작업 종류를 추출하는 필터링부(223)와, 상기 필터링부(223)에서 추출된 접근 주체프로세스와 접근 대상프로세스와 작업 종류를 분석하는 분석부(224)와, 상기 분석부(224)의 분석결과에 따라 상기 콜백신호를 리턴하는 결과처리부(225)를 포함한다.The
오브젝트매니저(210)는 컴퓨터시스템의 모든 오브젝트(프로세스와 쓰레드)에 접근하는 모든 작업들을 관리한다. 즉, 64비트 윈도우즈 운영체제에서 임의의 제1프로세스가 임의의 제2프로세스를 열거나 제2프로세스에 데이터를 기록하거나 제2 프로세스로부터 데이터를 읽거나 제2프로세스를 종료시키려면, 그 제1프로세스가 제2프로세스에 접근하기 위한 오브젝트 접근 메시지가 이 오브젝트매니저(210)에 전달된다. 따라서, 이 오브젝트 접근 메시지에는 이 오브젝트 접근 메시지를 발생시킨 주체프로세스(제1프로세스) 정보와, 이 오브젝트 접근 메시지가 수행하고자 하는 작업 종류(읽기, 쓰기, 열기, 종료 등) 정보와, 그 작업의 대상이 되는 대상프로세스(제2프로세스) 정보가 포함된다.The
오브젝트콜백등록부(221)는 오브젝트매니저(210)에 오브젝트 접근 메시지가 수신되면 오브젝트매니저(210)로 하여금 보안프로세스에게 콜백신호를 출력하도록 하는 오브젝트레지스트콜백함수를 등록한다. 이 콜백신호에는 오브젝트 접근 메시지에 포함된 정보들(오브젝트 접근 메시지의 주체프로세스와 작업 종류와 대상프로세스)가 포함된다.When the object access message is received by the
오브젝트접근감지부(222)는 오브젝트매니저(210)로부터 콜백신호를 수신함으로써 오브젝트 접근을 감지한다.The object
필터링부(223)는 콜백신호로부터 해당 오브젝트 접근 메시지의 주체프로세스와, 오브젝트 접근 메시지의 대상프로세스와, 오브젝트 접근 메시지의 작업 종류의 정보를 추출한다.The
분석부(224)는 보안이 필요한 작업 종류와 작업에 대한 사용권한 여부의 판단기준과 보호대상 프로세스 이름을 저장하고, 필터링부(223)에서 추출한 주체프로세스와 대상프로세스와 작업 종류 등을 종합적으로 분석하는데, 작업 종류가 보안이 필요한 작업인지 여부와, 주체프로세스가 해당 작업 사용권한이 있는지 여부, 및 대상프로세스가 보호대상인지 여부를 판단한다.The
결과처리부(225)는 작업 종류가 보안이 필요한 작업이고, 주체프로세스가 해당 작업 사용권한이 없으며, 대상프로세스가 보호대상인 경우 오브젝트매니저에게 콜백신호를 리턴하지 않음으로써, 대상프로세스를 보호한다. 한편, 결과처리부(225)는 작업 종류가 보안이 필요하지 않은 작업이거나, 주체프로세스가 해당 작업 권한이 있거나, 대상프로세스가 보호대상이 아닌 경우 오브젝트매니저에게 콜백신호를 리턴함으로써, 해당 오브젝트 접근 메시지에 따른 작업이 수행되도록 한다.The
도 3은 이 발명의 한 실시예에 따른 보안프로세스의 오브젝트매니저를 이용한 프로세스 보호방법을 도시한 동작 흐름도이다.3 is an operation flowchart illustrating a process protection method using the object manager of the security process according to an embodiment of the present invention.
보안프로세스는 오브젝트매니저에 오브젝트레지스트콜백함수를 등록한다(S31). 이 오브젝트레지스트콜백함수는 오브젝트 접근 메시지 수신시 보안프로세스에게 콜백신호를 출력하도록 하는 함수이며, 콜백신호에는 오브젝트 접근 메시지의 주체프로세스와 대상프로세스와 작업종류 정보가 포함된다.The security process registers an object registration callback function with the object manager (S31). This object registration callback function is a function that outputs a callback signal to the security process when an object access message is received. The callback signal includes the subject process, target process, and job type information of the object access message.
이후, 보안프로세스는 오브젝트매니저로부터 콜백신호가 입력되면(S32), 그 콜백신호로부터 오브젝트 접근 메시지의 주체프로세스와 대상프로세스와 작업 종류 정보를 필터링한다(S33).Thereafter, when the callback signal is input from the object manager (S32), the security process filters the subject process, the target process, and the job type information of the object access message from the callback signal (S33).
보안프로세스는 오브젝트 접근 메시지의 작업 종류가 보안이 필요한 작업인지 여부와, 오브젝트 접근 메시지의 주체프로세스가 해당 작업에 대한 사용권한이 있는지 여부와, 오브젝트 접근 메시지의 대상프로세스가 보호대상인지 여부를 분석한다(S34). 이를 위해, 보안프로세스는 보안이 필요한 작업 종류와, 작업에 대한 사용권한 여부의 판단기준과, 보호대상 프로세스명을 저장한다.The security process analyzes whether the task type of the object access message is a task that requires security, whether the subject process of the object access message has permission to the task, and whether the target process of the object access message is protected. (S34). To this end, the security process stores the type of work that requires security, the criteria for judging whether to use the work, and the process name.
단계 S34의 분석 결과, 오브젝트 접근 메시지의 작업 종류가 보안 필요 작업이고, 주체프로세스가 해당 작업에 대한 사용권한이 없으며, 대상프로세스가 보호대상프로세스이면(S35), 보안프로세스는 오브젝트매니저에게 콜백신호를 리턴하지 않음으로써 해당 오브젝트 접근 메시지가 수행되지 않도록 한다(S36).As a result of the analysis in step S34, if the task type of the object access message is a security-required task, the subject process does not have permission to the task, and the target process is a protected process (S35), the security process sends a callback signal to the object manager. By not returning, the object access message is not performed (S36).
한편, 단계 S34의 분석 결과, 오브젝트 접근 메시지의 작업 종류가 보안 필요 작업이 아니거나, 주체프로세스가 해당 작업에 대한 사용권한이 있거나, 대상프로세스가 보호대상프로세스이 아니면(S35), 보안프로세스는 오브젝트매니저에게 콜백신호를 리턴함으로써 해당 오브젝트 접근 메시지가 수행되도록 한다(S37).On the other hand, if the analysis result of step S34 indicates that the task type of the object access message is not a security-required task, the subject process has permission to the task, or the target process is not a protected process (S35), the security process is an object manager. The object access message is performed by returning a callback signal to the user (S37).
이상에서 본 발명에 대한 기술사상을 첨부도면과 함께 서술하였지만, 이는 본 발명의 가장 양호한 실시예를 예시적으로 설명한 것이지 본 발명을 한정하는 것은 아니다. 또한, 이 기술분야의 통상의 지식을 가진 자라면 누구나 본 발명의 기술사상의 범주를 이탈하지 않는 범위 내에서 다양한 변형 및 모방이 가능함은 명백한 사실이다.The technical spirit of the present invention has been described above with reference to the accompanying drawings, but this is by way of example only for describing the best embodiment of the present invention and not for limiting the present invention. In addition, it is a matter of course that various modifications and variations are possible without departing from the scope of the technical idea of the present invention by anyone having ordinary skill in the art.
도 1은 종래 기술에 의한 프로세스 보호방법을 도시한 동작 흐름도,1 is a flowchart illustrating a process protection method according to the prior art;
도 2는 이 발명의 오브젝트매니저를 이용한 프로세스 보호방법을 구현하기 위한 보호시스템을 도시한 구성 블록도,2 is a block diagram showing a protection system for implementing a process protection method using the object manager of the present invention;
도 3은 이 발명의 한 실시예에 따른 보안프로세스의 오브젝트매니저를 이용한 프로세스 보호방법을 도시한 동작 흐름도이다.3 is an operation flowchart illustrating a process protection method using the object manager of the security process according to an embodiment of the present invention.
Claims (6)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090090371A KR101017258B1 (en) | 2009-09-24 | 2009-09-24 | Process protection system and method using object manager |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090090371A KR101017258B1 (en) | 2009-09-24 | 2009-09-24 | Process protection system and method using object manager |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101017258B1 true KR101017258B1 (en) | 2011-02-28 |
Family
ID=43777879
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090090371A Active KR101017258B1 (en) | 2009-09-24 | 2009-09-24 | Process protection system and method using object manager |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101017258B1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030079145A1 (en) | 2001-08-01 | 2003-04-24 | Networks Associates Technology, Inc. | Platform abstraction layer for a wireless malware scanning engine |
KR20040023529A (en) * | 2002-09-11 | 2004-03-18 | 인터내셔널 비지네스 머신즈 코포레이션 | Methods and apparatus for managing dependencies in distributed systems |
US20080229024A1 (en) | 2007-03-12 | 2008-09-18 | Robert Plamondon | Systems and methods of dynamically checking freshness of cached objects based on link status |
US7673181B1 (en) * | 2006-06-07 | 2010-03-02 | Replay Solutions, Inc. | Detecting race conditions in computer programs |
-
2009
- 2009-09-24 KR KR1020090090371A patent/KR101017258B1/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030079145A1 (en) | 2001-08-01 | 2003-04-24 | Networks Associates Technology, Inc. | Platform abstraction layer for a wireless malware scanning engine |
KR20040023529A (en) * | 2002-09-11 | 2004-03-18 | 인터내셔널 비지네스 머신즈 코포레이션 | Methods and apparatus for managing dependencies in distributed systems |
US7673181B1 (en) * | 2006-06-07 | 2010-03-02 | Replay Solutions, Inc. | Detecting race conditions in computer programs |
US20080229024A1 (en) | 2007-03-12 | 2008-09-18 | Robert Plamondon | Systems and methods of dynamically checking freshness of cached objects based on link status |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Singh et al. | On the detection of kernel-level rootkits using hardware performance counters | |
KR102307534B1 (en) | Systems and methods for tracking malicious behavior across multiple software entities | |
EP2713302B1 (en) | System and method for countering detection of emulation by malware | |
US8904536B2 (en) | Heuristic method of code analysis | |
US8904537B2 (en) | Malware detection | |
CN103886252B (en) | Software Code Malicious Selection Evaluation Executed In Trusted Process Address Space | |
EP2548150B1 (en) | Malware protection | |
EP2745229B1 (en) | System and method for indirect interface monitoring and plumb-lining | |
JP6706273B2 (en) | Behavioral Malware Detection Using Interpreted Virtual Machines | |
EP3039608B1 (en) | Hardware and software execution profiling | |
US8752179B2 (en) | System and method for removal of malicious software from computer systems and management of treatment side-effects | |
JP5265061B1 (en) | Malicious file inspection apparatus and method | |
US9659173B2 (en) | Method for detecting a malware | |
US20130239214A1 (en) | Method for detecting and removing malware | |
Eresheim et al. | The evolution of process hiding techniques in malware-current threats and possible countermeasures | |
US11126721B2 (en) | Methods, systems and apparatus to detect polymorphic malware | |
US20160335439A1 (en) | Method and apparatus for detecting unsteady flow in program | |
KR101017258B1 (en) | Process protection system and method using object manager | |
JP2019008503A (en) | Information processing monitoring apparatus, information processing monitoring method, program, recording medium, and information processing apparatus | |
Yan et al. | MOSKG: countering kernel rootkits with a secure paging mechanism | |
KR100937010B1 (en) | Hazardous process detection / blocking prevention | |
Lukacs et al. | Hardware virtualization based security solution for embedded systems | |
Yamauchi et al. | Kernel rootkits detection method by monitoring branches using hardware features | |
Sun et al. | Detecting the code injection by hooking system calls in windows kernel mode | |
Liu et al. | Static-Dynamic Control Flow Integrity |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20090924 |
|
PA0201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20110214 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20110217 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20110218 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
FPAY | Annual fee payment |
Payment date: 20131216 Year of fee payment: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20131216 Start annual number: 4 End annual number: 4 |
|
FPAY | Annual fee payment |
Payment date: 20141215 Year of fee payment: 5 |
|
PR1001 | Payment of annual fee |
Payment date: 20141215 Start annual number: 5 End annual number: 5 |
|
FPAY | Annual fee payment |
Payment date: 20160201 Year of fee payment: 6 |
|
PR1001 | Payment of annual fee |
Payment date: 20160201 Start annual number: 6 End annual number: 6 |
|
FPAY | Annual fee payment |
Payment date: 20200217 Year of fee payment: 10 |
|
PR1001 | Payment of annual fee |
Payment date: 20200217 Start annual number: 10 End annual number: 10 |
|
PR1001 | Payment of annual fee |
Payment date: 20210215 Start annual number: 11 End annual number: 11 |
|
PR1001 | Payment of annual fee |
Payment date: 20220215 Start annual number: 12 End annual number: 12 |
|
PR1001 | Payment of annual fee |
Payment date: 20230215 Start annual number: 13 End annual number: 13 |
|
PR1001 | Payment of annual fee |
Payment date: 20240215 Start annual number: 14 End annual number: 14 |
|
PR1001 | Payment of annual fee |
Payment date: 20250217 Start annual number: 15 End annual number: 15 |