KR100645983B1 - Module for detecting an illegal process and method thereof - Google Patents

Module for detecting an illegal process and method thereof Download PDF

Info

Publication number
KR100645983B1
KR100645983B1 KR1020050080505A KR20050080505A KR100645983B1 KR 100645983 B1 KR100645983 B1 KR 100645983B1 KR 1020050080505 A KR1020050080505 A KR 1020050080505A KR 20050080505 A KR20050080505 A KR 20050080505A KR 100645983 B1 KR100645983 B1 KR 100645983B1
Authority
KR
South Korea
Prior art keywords
function
kernel
illegal
access
protection process
Prior art date
Application number
KR1020050080505A
Other languages
Korean (ko)
Inventor
이강수
박현철
황원일
Original Assignee
(주)와이즈로직
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)와이즈로직 filed Critical (주)와이즈로직
Priority to KR1020050080505A priority Critical patent/KR100645983B1/en
Application granted granted Critical
Publication of KR100645983B1 publication Critical patent/KR100645983B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

A module and a method for detecting illegal processes are provided to detect and block illegal access to a protected application program by monitoring the application program in a kernel level, not a user level. An access detector(110) detects an API(Application Program Interface) function request of the process by linking with a kernel interface of an OS(Operating System). A function blocking processor(120) returns permission information for performing an intrinsic function to a kernel in case that a malicious component is not present by analyzing the detected function request and blocks the function by returning blocking information to the kernel in the case that the malicious component is present. The function blocking processor transmits a processing result to the protected process(10).

Description

불법 프로세스 검출 모듈 및 그 방법{MODULE FOR DETECTING AN ILLEGAL PROCESS AND METHOD THEREOF}Illegal process detection module and its method {MODULE FOR DETECTING AN ILLEGAL PROCESS AND METHOD THEREOF}

도 1 은 컴퓨터 시스템 내에서 이루어지는 본 발명에 따른 불법 프로세스 검출 모듈의 작동 양상을 개략적으로 도시한 블록도.1 is a block diagram schematically illustrating an operation of an illegal process detection module according to the present invention in a computer system;

도 2a 및 도 2b 는 본 발명의 바람직한 실시예에 따른 불법 프로세스 검출 방법을 도시한 흐름도.2A and 2B are flowcharts illustrating an illegal process detection method according to a preferred embodiment of the present invention.

< 도면의 주요 부분에 대한 부호의 설명 ><Description of Symbols for Main Parts of Drawings>

10 : 보호 프로세스10: protection process

20 : 불법 프로세스20: illegal process

100 : 불법 프로세스 검출 모듈100: illegal process detection module

110 : 접근 검출부110: access detection unit

120 : 기능 차단 처리부120: function blocking processing unit

본 발명은 컴퓨터 시스템에서 실행 중인 임의의 프로세스(악의성 프로세스, 불법 프로세스)가 다양한 수단을 통해 특정 프로세스(보호하고자 하는 프로세스)에 접근하려 할 경우, 이를 검출하고 그 접근 시도를 차단할 수 있는 불법 프로세스 검출 모듈 및 그 방법에 관한 것이다.According to the present invention, when any process (malicious process or illegal process) running on a computer system attempts to access a specific process (process to be protected) through various means, it is an illegal process that can detect and block the access attempt. A detection module and a method thereof are provided.

최근 네트워크와 인터넷 기술의 발달에 부응하여 온라인 게임 산업 역시 빠른 속도로 진보하면서 클라이언트(게임 유저)들에게 다양한 재미를 주고 있지만, 그에 비례하여 부정한 방법 또는 악의적인 방법으로 자신의 이득을 취하거나 불법적인 시도를 통해 정상적인 게임 유저에게 피해를 주는 사례도 함께 증가하고 있어 큰 문제로 대두되고 있다. 이러한 현상은 장기적인 관점으로 건전한 게임 문화의 발전을 저해하여 사용자의 의욕을 저하시키고, 종국에는 게임 제공업체의 게임 운영 및 개발 의지를 꺾는 결과로 귀결됨이 자명하다. In response to the recent development of network and Internet technology, the online game industry is also rapidly advancing and providing various fun to the clients (game users), but in proportion to the illegal or malicious means to take advantage of their own or illegal Increasingly, cases of damage to normal game users through trials are becoming a big problem. In the long term, this phenomenon impedes the development of a healthy game culture, depressing the user's motivation, and ultimately results in the game provider's willingness to operate and develop the game.

보다 구체적으로, 온라인 게임에서 가칭 게임 핵(Game Hack)이라 불리는 해킹 툴(Hacking Tool)로 인해 게임 유저의 정보들, 예들 들어, 경험치와 레벨을 비롯하여 게임 토큰(사이버 머니) 등 게임에 관련된 다양한 속성이 해킹되는 경우가 빈번히 발생하고 있다. 이러한 경우 게임 유저 사이에 바람직하지 못한 불균형이 야기된다. 따라서, 이와 같은 폐해를 방지하기 위한 게임 보안 관련 기술의 필요성이 절실히 요구된다. 그 대표적인 기술들을 살펴보면 아래와 같다.More specifically, in the online game, a hacking tool called the game hack, the game user's information, such as experience and level, as well as game tokens (cyber money) such as game tokens (cyber money) This hacking case frequently occurs. This leads to undesirable imbalances between game users. Therefore, there is an urgent need for a game security related technology to prevent such harm. The representative technologies are as follows.

첫째, 바이러스 엔진(Virus Engine)을 이용하여 유포된 해킹 툴의 패턴을 추가하고 게임 유저의 컴퓨터 시스템에서 실행되는 응용프로그램의 프로세스 (Process)를 검사하여 기 등록된 패턴과 일치하는 응용프로그램을 강제 종료시키는 기술이 있다. 그 대표적인 예가 '파인드 핵'과 안철수연구소에서 개발한 'MFGS(MyFirewall For Game Service'이다.First, it adds the pattern of hacking tool distributed by using Virus Engine, and inspects the process of application running on the game user's computer system and forcibly terminates the application program matching the registered pattern. There is a technique to let. Typical examples are 'Find Nuclear' and 'MFGS (MyFirewall For Game Service)' developed by AhnLab.

둘째, 운영체제(OS)가 제공하는 API(Application Programming Interface)의 다양한 후킹(Hooking) 관련 함수를 이용하여 컴퓨터 시스템에서 실행되는 모든 프로세스를 검사하고 중요한 함수들의 기능을 제한하거나 차단시키는 기술이 있다.Second, there is a technology that examines all processes executed in a computer system and limits or blocks functions of important functions by using various hooking-related functions of an API (Application Programming Interface) provided by an operating system (OS).

여기서 'API 후킹(API Hooking)'이란 커널(Kernel) 기반의 API 함수 호출을 먼저 가로채서 조작하는 일련의 행위를 말한다. 또한 운영체제에서 메시지(Message)가 발생될 경우 메시지 핸들러(Message Handler)를 후킹하는 'MessageHooking'과는 달리 응용프로그램에서 특정 API, 예를 들면 'CreateWindow(...)', 'OpenProcess(...)'등의 API를 호출할 때 API 루틴(API Routine)이 있는 메모리 주소로 이동하지 않고 임의의 주소로 이동시키는 기법이다. 운영체제에서 실행파일(*.exe)이나 동적 라이브러리 파일(*.dll)에는 파일 내부에 'import table'이란 구조체를 유지하고 있어서 외부의 어떤 API를 'import'하고 있는지의 정보를 가지고 있다. Here, 'API Hooking' refers to a series of actions that first intercept and manipulate Kernel-based API function calls. In addition, unlike MessageHooking, which hooks a message handler when a message occurs in the operating system, certain APIs in the application, such as' CreateWindow (...) ',' OpenProcess (... When calling an API such as ',' it is a technique of moving to an arbitrary address instead of going to a memory address where an API routine is located. The executable file (* .exe) or dynamic library file (* .dll) in the operating system maintains a structure called 'import table' inside the file and contains information on which external APIs are 'imported'.

여기에는 API 하나당 함수 이름과 주소 정보를 보유하고 있어 해당 API가 호출될 때마다 이 테이블 정보가 참조가 된다. 따라서 후킹하고자 하는 API를 'import table'에서 찾아내서 그곳의 주소 필드를 임의의 함수 주소로 바꿔치기 하는 것이 'API 후킹'기술의 핵심이다.It holds the function name and address information per API, so this table information is referenced every time the API is called. Therefore, finding the API to be hooked in the 'import table' and replacing the address field with an arbitrary function address is the core of the 'API hooking' technology.

그러나 주지된 바와 같이 기본적으로 운영체제는 가상메모리 시스템(Virtual Memory System)을 이용하고 있는 바, 각각의 프로세스는 고유의 독립적인 메모리 주소 영역을 가지고 있어서 타 프로세스의 접근을 허용하지 않는다. 따라서 타 프로세스의 'import table'을 조작하기 위해선 필연적으로 타 프로세스의 주소 영역에 접근하는 방법(예컨대, 'DLL injection'기법)이 구현되어야 한다.However, as is well known, the operating system basically uses a virtual memory system, and each process has its own independent memory address area and thus does not allow other processes to access it. Therefore, in order to manipulate the 'import table' of another process, a method of accessing the address area of another process (eg, a 'DLL injection' technique) must be implemented.

이와에 관련한 대표적인 예로서, 국내등록특허 제10-2003-0087149호(발명의 명칭 : '온라인 게임 클라이언트 보안을 위한 실시간 프로세스 불법 접근 및 조작 차단 방법')에 개시되어 있다.As a representative example in this regard, Korean Patent Registration No. 10-2003-0087149 (name of the invention: 'real-time process illegal access and manipulation blocking method for online game client security') is disclosed.

그러나, 전자의 종래 기술은, 지속적으로 신규 해킹 툴들의 패턴을 추가해야 하는 단점이 있으며, 더욱이 기존 해킹 툴이 새롭게 컴파일(Compile)되거나 그 실행파일 자체가 압축되면 그 패턴이 변형되기 때문에 검출되지 않게 되는 기술상 치명적인 허점을 내포하고 있다. 그리고, 후자의 종래 기술은, 해킹 툴의 프로세스를 접근할 수 있는 권한을 획득하여 API를 후킹(Hooking)해야 하는데, 그 권한이 차단되면 올바른 기능 구현이 불가능 하다는 문제점이 있다.However, the former prior art has the disadvantage of constantly adding a pattern of new hacking tools, and furthermore, if the existing hacking tool is newly compiled or the executable itself is compressed, the pattern is modified so that it is not detected. It is a technically fatal loophole. In addition, the latter prior art has to hook the API by acquiring the right to access the process of the hacking tool, but there is a problem in that proper function implementation is impossible when the right is blocked.

본 발명은, 상기와 같은 종래 기술의 문제점들을 해결하기 위해 창안된 것으로서, 종래와 같이 사용자 모드 레벨(User Mode Level)이 아닌 커널 모드 레벨(Kernel Mode Level)에서 응용프로그램(프로세스)을 모니터링하여, 보호하고자 하는 응용프로그램(프로세스)으로의 불법적인 접근을 검출하고 차단할 수 있는 불법 프로세스 검출 모듈 및 그 방법을 제공함에 그 특징적인 목적이 있다.The present invention has been made to solve the problems of the prior art, by monitoring the application (process) at the kernel mode level (Kernel Mode Level), not the user mode level (User Mode Level), An object of the present invention is to provide an illegal process detection module and a method for detecting and blocking illegal access to an application (process) to be protected.

이러한 특징적인 목적을 달성하기 위한 본 발명의 불법 프로세스 검출 모듈(100)은, 운영체제(OS)의 커널 인터페이스(Kernel Interface)와 연동되어 프로세스에 의한 API 기능 요청을 감지하는 접근 검출부(110); 및 접근 검출부(110)로부터 검출된 기능 요청을 분석하여 악의적인 요소가 없다고 판단될 경우 본래의 기능을 수행토록 허용 정보를 커널(Kernel)로 리턴시키며, 악의적인 요소가 있다고 판단될 경우 차단 정보를 상기 커널로 리턴시켜 해당 기능을 차단하는 기능 차단 처리부(120); 를 포함한다.The illegal process detection module 100 of the present invention for achieving the characteristic object, the access detection unit 110 for interworking with the kernel interface (Kernel Interface) of the operating system (OS) to detect the API function request by the process; And if it is determined that there is no malicious element by analyzing the function request detected by the access detection unit 110, return permission information to the kernel to perform the original function, and block information if it is determined that there is a malicious element. A function blocking processing unit 120 to return to the kernel to block a corresponding function; It includes.

여기서, 상기 기능 차단 처리부(120)는, 상기 차단 정보를 상기 커널로 리턴시킴과 아울러 그 처리 결과를 보호 프로세스(10)로 전송하는 것이 바람직하다.Here, it is preferable that the function blocking processing unit 120 returns the blocking information to the kernel and transmits the processing result to the protection process 10.

한편, 커널 모드 레벨(Kernel Mode Level)에서 작동하는 불법 프로세스 검출 모듈(100)을 이용한 불법 프로세스 검출 방법은, (a) 상기 불법 프로세스 검출 모듈(100)이 초기화되는 단계; (b) API 기능 요청을 수행한 프로세스가 보호 프로세스(10)인지 여부를 판단하는 단계; (c) 상기 제 (b) 단계의 판단결과 보호 프로세스(10)가 아니고 상기 기능 요청의 대상이 보호 프로세스(10)인 경우, 차단 정보를 커널로 리턴시켜 요청된 해당 기능을 차단시키는 단계; 및 (d) 상기 제 (b) 단계의 판단결과, 보호 프로세스(10)라면, 허용 정보를 커널로 리턴시켜 요청된 해당 기능을 허용하는 단계; 로 구현된다.On the other hand, the illegal process detection method using the illegal process detection module 100 operating in the kernel mode level (Kernel Mode Level), (a) the illegal process detection module 100 is initialized; (b) determining whether the process that performed the API function request is the protection process 10; (c) when the determination result of step (b) is not the protection process 10 and the object of the function request is the protection process 10, returning blocking information to the kernel to block the requested function; And (d) if the protection process (10) results from the determination of step (b), returning permission information to the kernel to allow the requested corresponding function; Is implemented.

이때, 상기 제 (a) 단계는, (a-1) 커널 서비스의 초기화 및 보호 프로세스 (10) 사이의 명령어 채널을 설정하는 단계; (a-2) 커널에서 제공하는 원본 함수의 주소 및 그 인덱스를 검사하는 단계; (a-3) 커널 메모리를 할당하여 상기 원본 함수의 주소, 인덱스 및 해당 코드를 저장하는 단계; (a-4) 접근 검출용 함수를 커널 함수와 치환하는 단계; 및 (a-5) 상기 접근 검출용 함수가 대기 상태로 진입하는 하는 단계; 를 포함한다.In this case, step (a) may include: (a-1) establishing a command channel between the initialization and protection process of the kernel service (10); (a-2) checking the address of the original function provided by the kernel and its index; (a-3) allocating kernel memory to store an address, an index, and a corresponding code of the original function; (a-4) replacing the function for detecting access with a kernel function; And (a-5) entering the standby detection function into a standby state; It includes.

바람직하게, 상기 제 (a-4) 단계는, 커널 함수 테이블의 주소 일부를 커널 메모리에 로드된 접근 검출용 함수의 주소로 치환하는 방식으로 구현되거나, 또는 커널 함수 자체의 코드를 변조하여 접근 검출용 함수가 실행되도록 하는 방식으로 구현될 수 있다.Preferably, step (a-4) is implemented by replacing a part of an address of a kernel function table with an address of an access detecting function loaded in kernel memory, or modulating the code of the kernel function itself to detect access. It can be implemented in such a way that the function is executed.

본 발명의 특징 및 이점들은 첨부도면에 의거한 다음의 상세한 설명으로 더욱 명백해질 것이다. 이에 앞서, 본 명세서 및 청구범위에 사용된 용어나 단어는 발명자가 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야 할 것이다. 또한, 본 발명에 관련된 공지 기능 및 그 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는, 그 구체적인 설명을 생략하였음에 유의해야 할 것이다.The features and advantages of the present invention will become more apparent from the following detailed description based on the accompanying drawings. Prior to this, the terms or words used in the present specification and claims are defined in the technical spirit of the present invention on the basis of the principle that the inventor can appropriately define the concept of the term in order to explain his invention in the best way. It should be interpreted to mean meanings and concepts. In addition, when it is determined that the detailed description of the known function and its configuration related to the present invention may unnecessarily obscure the subject matter of the present invention, it should be noted that the detailed description is omitted.

도 1 은 컴퓨터 시스템 내에서 이루어지는 본 발명에 따른 불법 프로세스 검 출 모듈의 작동 양상을 개략적으로 도시한 블록도이다. 1 is a block diagram schematically illustrating an operation of an illegal process detection module according to the present invention in a computer system.

먼저, 사용자가 응용프로그램을 실행시키면 이를 구동시키기 위한 프로세스(Process)가 운영체제(OS)에서 실행된다. 주지하다시피 운영체제(OS) 상에는 다수의 프로세스가 실행될 수 있으며, 설명의 편의상 본 발명에서는 보호하고자 하는 프로세스(이하, '보호 프로세스')(10)와 보호 프로세스(10)에 접근을 시도하려는 악의적인 불법 프로세스(20)가 운영체제(OS) 상에서 실행되고 있는 것으로 상정한다.First, when a user executes an application, a process for running the application is executed in an operating system (OS). As is well known, a number of processes may be executed on an operating system (OS), and for convenience of description, in the present invention, a malicious process that attempts to access a process (hereinafter, referred to as a 'protection process') 10 and a protection process 10 is intended to be protected. It is assumed that the illegal process 20 is running on an operating system (OS).

보호 프로세스(10)는 상기와 같이 실행되면서 커널 수행부(Kernel Executive)의 커널 인터페이스(Kernel Interface)를 통해 커널 모드 레벨(Kernel Mode Level)에서 작동하는 본 발명의 불법 프로세스 검출 모듈(100)을 설치한다.The protection process 10 installs the illegal process detection module 100 of the present invention which operates as described above and operates at a kernel mode level through a kernel interface of a kernel executive. do.

여기서, 커널 모드 레벨(Kernel Mode Level)이란 컴퓨터 시스템의 리소스(이하, '시스템 리소스')를 직접 액세스할 수 있는 높은 권한의 레벨을 의미하며, 커널 모드 레벨에서 실행되는 컴포넌트(프로그램 형식의 기능성 모듈)들은 고의 또는 불의의 외부 간섭으로부터 프로세서(CPU) 자체의 설계에 의해 보호된다. Here, the kernel mode level (Kernel Mode Level) refers to a high level of authority to directly access the resources (hereinafter, 'system resources') of the computer system, and the component (program type functional module that is executed at the kernel mode level). Are protected by the design of the CPU itself from intentional or unintentional external interference.

반면에 사용자 모드 레벨(User Mode Level)은 리소스에 대해 직접적으로 액세스할 수 없는 상대적으로 낮은 권한의 레벨이며, 이는 운영체제(OS) 상에서 실행되는 응용프로그램에 해당한다. 이들 응용프로그램은 운영체제(OS)가 제공하는 API(Application Programming Interface)를 통해 시스템 리소스에 액세스할 수 있는데, 실제적으로는 사용자 모드 레벨에 포함된 Win32 서브시스템(예컨대 'USER32.DLL', 'KERNEL32.DLL', 'GDI32.DLL' 등)과 'NTOSKRNL.EXE' 및 'WIN32K.SYS' 등의 커널 수행부를 통해 액세스가 이루어진다. 이에 대한 보다 상세한 설명은 주지된 운영체제 구조(Windows™)와 같으므로 생략한다. On the other hand, the User Mode Level is a relatively low privilege level that does not allow direct access to resources, which corresponds to applications running on an operating system (OS). These applications can access system resources through an application programming interface (API) provided by the operating system (OS), which is actually a Win32 subsystem (eg 'USER32.DLL', 'KERNEL32.') Included in the user mode level. DLL ',' GDI32.DLL ', etc.), and kernel execution units such as' NTOSKRNL.EXE' and 'WIN32K.SYS'. A more detailed description thereof will be omitted as it is the same as the well-known operating system structure (Windows ™).

한편, 불법 프로세스(20)가 보호 프로세스(10)에 접근하기 위해 API를 호출하거나 키보드 이벤트 또는 마우스 이벤트를 발생시키면, 본 발명의 특징적인 양상에 따라 커널 모드 레벨에 탑재된 불법 프로세스 검출 모듈(100)이 이를 감지하여접근 시도가 악의적인지를 판단하고 요청한 기능을 차단함과 아울러 그 결과를 보호 프로세스(10)로 전송한다.Meanwhile, when the illegal process 20 calls an API or generates a keyboard event or a mouse event to access the protection process 10, the illegal process detection module 100 mounted at the kernel mode level according to a characteristic aspect of the present invention. ) Detects this, determines whether the access attempt is malicious, blocks the requested function, and sends the result to the protection process 10.

이러한 특징적인 기능을 수행하기 위한 불법 프로세스 검출 모듈(100)은, 도 1 에 도시된 바와 같이, 커널 인터페이스(Kernel Interface)와 연동되어 불법 프로세스(20)의 접근 시도를 감지하는 접근 검출부(110);와, 검출부(110)로부터 검출된 접근 시도를 분석하여 악의적인 요소가 없다고 판단될 경우 본래의 기능을 수행토록 하고, 악의적인 요소가 있다고 판단될 경우 그 결과(차단 정보)를 리턴시켜 해당 기능을 차단함과 아울러 접근 시도에 따른 정보를 보호 프로세스(10)로 전송하는 기능 차단 처리부(120);로 구성된다.As illustrated in FIG. 1, the illegal process detection module 100 for performing this characteristic function is connected to a kernel interface to detect an access attempt of the illegal process 20. And analyze the access attempt detected by the detection unit 110 to perform the original function when it is determined that there is no malicious element, and to return the result (blocking information) when it is determined that there is a malicious element. Blocking the function and the function blocking processing unit 120 for transmitting the information according to the access attempt to the protection process (10).

참고적으로, 불법 프로세스(20)가 보호 프로세스(10)에 접근하기 위해 이용하는 API로는, 'OpenProcess', 'ReadProcessMemory', 'WriteProcessMemory', 'SendInput', 'SendMessage', 'PostMessage', 'keydb_event', 'mouse_event' 등이 있으며, 이들의 구체적인 기능과 파라미터들에 대해서는 마이크로소프트사(Micosoft Company)가 제공하는 'MSDN'에 상세히 기술되어 있다.For reference, the APIs used by the illegal process 20 to access the protection process 10 include 'OpenProcess', 'ReadProcessMemory', 'WriteProcessMemory', 'SendInput', 'SendMessage', 'PostMessage' and 'keydb_event'. and 'mouse_event', and their specific functions and parameters are described in detail in 'MSDN' provided by Microsoft Corporation.

상기한 바와 같은 불법 프로세스 검출 모듈(100)은, 커널 모드 드라이버(Kernel Mode Driver) 형식으로 구현될 수 있다. 여기서 드라이버(Driver)란 커널 모드 레벨에서 수행되는 소정의 코드들로 이루어진 프로그램을 의미한다. 이러한 드라이버는 기본적으로 응용프로그램(보호 프로세스, 10)과 통상의 루틴들, 예컨대 디스패치, 로드, 언로드, 생성 등을 포함한 커널 서비스(Kernel Services) 및 보호 프로세스(10) 사이의 기본적인 명령어 채널(Instruction Channel)을 제공한다. 이와 관련한 구현 기술은 당업자 견지에서 용이하게 파악될 수 있으므로 보다 상세한 설명은 생략한다.The illegal process detection module 100 as described above may be implemented in the form of a kernel mode driver. Driver refers to a program consisting of predetermined codes executed at the kernel mode level. These drivers are basically a basic instruction channel between an application (protection process) 10 and kernel services, including dispatch, load, unload, create, etc., and the protection process 10. ). Implementation techniques related to this may be easily understood from the viewpoint of those skilled in the art, and thus a detailed description thereof will be omitted.

앞서 살펴보았듯이 악의적인 프로세스(해킹 툴)를 차단하기 위한 종래의 기술은 API를 후킹(Hooking)하여 그 악의적인 요소를 판별하는 방식으로서, 해킹 툴의 프로세스에 접근할 수 있는 권한을 얻어야 한다. 그러나 보다 진보한 해킹 툴의 경우 외부로부터 자신의 프로세스로의 접근을 차단시킬 수 있고, 그 결과 API 후킹 방식으로는 이러한 진보적인 해킹 툴을 차단할 수 없게 된다. 그러나 본 발명의 불법 프로세스 검출 모듈(100)은, 커널 모드 레벨에서 작동하면서 커널 인터페이스를 통해 들어오는 접근 시도들을 검출하고 악의적인 요소가 있을 경우 그 해당 기능을 무효화시킬 수 있게 된다.As described above, the conventional technique for blocking a malicious process (hacking tool) is a method of hooking an API to determine the malicious element, and the authority to access the process of the hacking tool should be obtained. However, more advanced hacking tools can block access to their processes from the outside, and as a result, the API hacking method cannot block these advanced hacking tools. However, the illegal process detection module 100 of the present invention can operate at the kernel mode level, detect access attempts coming through the kernel interface, and invalidate its corresponding function if there is a malicious element.

이하, 도 2a 및 도 2b 를 참조하여 본 발명의 기술적 사상을 보다 명확히 기 술한다. 도 2a 및 도 2b 는 본 발명의 바람직한 실시예에 따른 불법 프로세스 검출 방법을 도시한 흐름도이다. Hereinafter, the technical spirit of the present invention will be described more clearly with reference to FIGS. 2A and 2B. 2A and 2B are flowcharts illustrating an illegal process detection method according to a preferred embodiment of the present invention.

먼저, 보호 프로세스(10)가 운영체제(OS) 상에서 최초 스레딩(Threading) 및 스케쥴링(Scheduling)에 진입함과 동시에 본 발명의 불법 프로세스 검출 모듈(100)을 초기화한다(S210). 더욱 구체적으로 제 S210 단계는, 도 2b 에 도시된 바와 같이 커널 서비스(Kernel Services)의 초기화와 아울러 보호 프로세스(10) 사이의 명령어 채널(Instruction Channel)을 설정하는 단계(S211)와, 운영체제(OS)의 커널(Kernel)에서 제공하는 원본 함수(Primitive Functions)의 주소(Adress) 및 그 인덱스(Index)를 검사하는 단계(S212)와, 커널 메모리를 할당하여 원본 함수의 주소, 인덱스 및 해당 코드를 저장하는 단계(S213)와, 접근 검출용 함수(접근 검출용 코드)를 커널 함수와 치환하는 단계(S214)와, 검출용 함수가 대기 상태로 진입하는 하는 단계(S215)를 포함한다. First, the protection process 10 enters the initial threading and scheduling on the operating system (OS) and simultaneously initializes the illegal process detection module 100 of the present invention (S210). More specifically, in step S210, as shown in FIG. 2B, the kernel service may be initialized and an instruction channel between the protection processes 10 may be set (S211), and an operating system (OS) may be used. Examining the address (Adress) and the index (Index) of the primitive functions provided by the kernel of the kernel (S212), and allocates the kernel memory to the address, index and the code of the original function Storing (S213), replacing the access detection function (access detection code) with the kernel function (S214), and entering the standby state (S215).

여기서, 제 S214 단계는 커널 함수 테이블의 주소 일부를 커널 메모리에 로드된 접근 검출용 함수의 주소로 치환하는 방식, 또는 커널 함수 테이블의 주소 변경 없이 커널 함수 자체의 코드를 변조하여 접근 검출용 함수가 실행되도록 하는 방식으로 구현될 수 있다.Here, in step S214, a part of the address of the kernel function table is replaced with the address of an access detection function loaded in the kernel memory, or the access function is modified by modulating the code of the kernel function itself without changing the address of the kernel function table. It may be implemented in such a way as to be executed.

전술한 제 S215 단계 이후에 접근 검출부(110)는 커널 이벤트 대기 상태가 되며 응용프로그램(프로세스)이 API를 호출하면 그 호출 정보(요청 정보)가 커널 인터페이스를 통해 자동적으로 수신(Peeping)된다. 참고적으로 접근 검출용 함수는 바람직하게 'CallBack' 형식의 작동 양상(필터 훅 드라이버의 작동 양상과 유사함) 을 취할 수 있으며, 이를 통해 접근 검출부(110)는 프로세스들의 기능 요청 정보를 수신할 수 있게 된다. 한편, 보호 프로세스(10)가 종료될 경우에는 커널 메모리에 저장된 주소, 인덱스 및 해당 코드가 원상태로 복원된다.After the above-described step S215, the access detection unit 110 is in a kernel event waiting state, and when the application (process) calls the API, the call information (request information) is automatically received (Peeping) through the kernel interface. For reference, the access detection function may preferably take an operation aspect of 'CallBack' type (similar to that of the filter hook driver), and through this, the access detection unit 110 may receive function request information of processes. Will be. On the other hand, when the protection process 10 is terminated, the address, the index and the code stored in the kernel memory are restored to their original state.

상기 제 S210 단계의 실행 이후에, 전술한 바와 같이 기능 요청(API 및 이벤트를 이용한 기능 요청)을 수행한 프로세스가 보호 프로세스(10)인지 여부를 판단하여(S220), 만일 보호 프로세스(10)가 아닐 경우 불법 프로세스(20)에 의한 요청이라 간주하여 상기 기능 요청의 대상(접근 대상)이 보호 프로세스(10)인지 여부를 판단한다(S230). 제 S230 단계의 판단결과 상기 기능 요청의 대상이 보호 프로세스(10)라면 차단 정보를 커널(Kernel)로 리턴하여 그 기능이 수행될 수 없도록 차단시키고, 그 처리 결과를 보호 프로세스(10)로 전송한다(S240).After the execution of the step S210, it is determined whether the process that performed the function request (function request using the API and the event) as described above is the protection process 10 (S220), and if the protection process 10 If not, it is regarded as a request by the illegal process 20, and it is determined whether the object (access target) of the function request is the protection process 10 (S230). If it is determined in step S230 that the target of the function request is the protection process 10, the blocking information is returned to the kernel to block the function from being performed, and the processing result is transmitted to the protection process 10. (S240).

한편, 상기 제 S220 단계의 판단결과 보호 프로세스(10)에 의한 기능 요청이라면 해당 기능이 수행될 수 있도록 허용 정보를 커널(Kernel)로 리턴시킨다. 그리고, 제 S230 단계의 판단결과 기능 요청의 대상이 보호 프로세스(10)가 아닐 경우 전술한 바와 같이 해당 기능이 수행될 수 있도록 그 허용 정보를 커널(Kernel)로 리턴시킨다.On the other hand, if the function request by the protection process 10 as a result of the determination of step S220 returns the permission information to the kernel (Kernel) so that the corresponding function can be performed. If the target of the function request is not the protection process 10 as a result of the determination in step S230, the permission information is returned to the kernel so that the corresponding function can be performed as described above.

따라서, 커널 모드 레벨에서 작동하는 불법 프로세스 검출 모듈(100)을 통해 API 기능 요청을 분석하여 그 요청이 보호 프로세스(10)에 대한 악의적인 요소를 포함하고 있을 경우 그 요청된 해당 기능 무효화시킴으로써, 신뢰성 있게 보호 프로세스(10)를 보호할 수 있게 된다. 물론 이러한 특징적인 기능을 수행하는 본 발명의 불법 프로세스 검출 모듈(100)은 프로그래밍(Programming)을 통해 구현되는 바, 그 구현 방식(로직, Logic)은 다양하게 변형 실시될 수 있음은 자명하다.Thus, by analyzing the API function request through the illegal process detection module 100 operating at the kernel mode level, if the request contains malicious elements for the protection process 10, invalidating the requested function, The protection process 10 can be protected. Of course, the illegal process detection module 100 of the present invention performing such a characteristic function is implemented through programming, and its implementation manner (logic, logic) can be variously modified.

이상으로 본 발명의 기술적 사상을 예시하기 위한 바람직한 실시예와 관련하여 설명하고 도시하였지만, 본 발명은 이와 같이 도시되고 설명된 그대로의 구성 및 작용에만 국한되는 것이 아니며, 기술적 사상의 범주를 일탈함이 없이 본 발명에 대해 다수의 변경 및 수정이 가능함을 당업자들은 잘 이해할 수 있을 것이다. 따라서, 그러한 모든 적절한 변경 및 수정과 균등물들도 본 발명의 범위에 속하는 것으로 간주되어야 할 것이다. As described above and described with reference to a preferred embodiment for illustrating the technical idea of the present invention, the present invention is not limited to the configuration and operation as shown and described as described above, it is a deviation from the scope of the technical idea It will be understood by those skilled in the art that many modifications and variations can be made to the invention without departing from the scope of the invention. Accordingly, all such suitable changes and modifications and equivalents should be considered to be within the scope of the present invention.

상술한 본 발명에 따르면, 종래와는 달리 커널 모드 레벨(Kernel Mode Level)에서 응용프로그램(프로세스)을 모니터링하여, 보호 프로세스(10)로의 악의적인 접근을 검출하고 차단할 수 있는 효과가 있다.According to the present invention described above, unlike the prior art by monitoring the application (process) at the kernel mode level (Kernel Mode Level), there is an effect that can detect and block malicious access to the protection process (10).

Claims (7)

컴퓨터 시스템에 탑재되어 불법 프로세스(20)로부터의 악의적인 접근을 차단하기 위한 커널 모드 레벨(Kernel Mode Level)에서 작동하는 보호 프로세스(10)의 불법 프로세스 검출 모듈(100)에 있어서,In the illegal process detection module 100 of the protection process 10 mounted on the computer system to operate at the kernel mode level to block malicious access from the illegal process 20, 운영체제(OS)의 커널 인터페이스(Kernel Interface)와 연동되어 프로세스에 의한 API 기능 요청을 감지하는 접근 검출부(110); 및An access detection unit 110 interworking with a kernel interface of an operating system (OS) to detect an API function request by a process; And 상기 접근 검출부(110)로부터 검출된 기능 요청을 분석하여 악의적인 요소가 없다고 판단될 경우 본래의 기능을 수행토록 허용 정보를 커널(Kernel)로 리턴시키며, 악의적인 요소가 있다고 판단될 경우 차단 정보를 상기 커널로 리턴시켜 해당 기능을 차단하는 기능 차단 처리부(120); 를 포함하여 구성되는 것을 특징으로 하는 불법 프로세스 검출 모듈.If it is determined that there is no malicious element by analyzing the function request detected by the access detection unit 110, the permission information is returned to the kernel to perform the original function. A function blocking processing unit 120 to return to the kernel to block a corresponding function; Illegal process detection module, characterized in that comprising a. 제 1 항에 있어서,The method of claim 1, 상기 기능 차단 처리부(120)는, The function blocking processing unit 120, 상기 차단 정보를 상기 커널로 리턴시킴과 아울러 그 처리 결과를 보호 프로세스(10)로 전송하는 것을 특징으로 하는 불법 프로세스 검출 모듈.And returning the blocking information to the kernel and transmitting the result of the processing to the protection process (10). 커널 모드 레벨(Kernel Mode Level)에서 작동하는 불법 프로세스 검출 모듈(100)을 이용한 불법 프로세스 검출 방법에 있어서,In the illegal process detection method using the illegal process detection module 100 operating at the kernel mode level (Kernel Mode Level), (a) 상기 불법 프로세스 검출 모듈(100)이 초기화되는 단계;(a) initializing the illegal process detection module 100; (b) API 기능 요청을 수행한 프로세스가 보호 프로세스(10)인지 여부를 판단하는 단계;(b) determining whether the process that performed the API function request is the protection process 10; (c) 상기 제 (b) 단계의 판단결과, 보호 프로세스(10)가 아니고 상기 기능 요청의 대상이 보호 프로세스(10)인 경우, 차단 정보를 커널로 리턴시켜 요청된 해당 기능을 차단시키는 단계; 및(c) returning blocking information to the kernel to block the requested function when the determination result of step (b) is not the protection process 10 and the object of the function request is the protection process 10; And (d) 상기 제 (b) 단계의 판단결과, 보호 프로세스(10)라면, 허용 정보를 커널로 리턴시켜 요청된 해당 기능을 허용하는 단계; 를 포함하는 것을 특징으로 하는 불법 프로세스 검출 방법.(d) if it is determined in step (b) that the protection process (10), returning the permission information to the kernel to allow the requested corresponding function; Illegal process detection method comprising a. 제 3 항에 있어서,The method of claim 3, wherein 상기 제 (a) 단계는,Step (a) is, (a-1) 커널 서비스의 초기화 및 보호 프로세스(10) 사이의 명령어 채널을 설정하는 단계;(a-1) establishing a command channel between the initialization and protection process 10 of the kernel service; (a-2) 커널에서 제공하는 원본 함수의 주소 및 그 인덱스를 검사하는 단계;(a-2) checking the address of the original function provided by the kernel and its index; (a-3) 커널 메모리를 할당하여 상기 원본 함수의 주소, 인덱스 및 해당 코드 를 저장하는 단계; (a-3) allocating kernel memory to store an address, an index, and a corresponding code of the original function; (a-4) 접근 검출용 함수를 커널 함수와 치환하는 단계; 및 (a-4) replacing the function for detecting access with a kernel function; And (a-5) 상기 접근 검출용 함수가 대기 상태로 진입하는 하는 단계; 를 포함하는 것을 특징으로 하는 불법 프로세스 검출 방법.(a-5) entering the access detection function into a standby state; Illegal process detection method comprising a. 제 3 항에 있어서,The method of claim 3, wherein 상기 제 (c) 단계 이후에,After step (c), 상기 차단 정보가 커널로 리턴된 후 그 처리 결과를 보호 프로세스(10)로 전송하는 단계; 를 더 포함하는 것을 특징으로 하는 불법 프로세스 검출 방법.Transmitting the processing result to the protection process after the blocking information is returned to the kernel; Illegal process detection method further comprises. 제 4 항에 있어서,The method of claim 4, wherein 상기 제 (a-4) 단계는,The (a-4) step, 커널 함수 테이블의 주소 일부를 커널 메모리에 로드된 접근 검출용 함수의 주소로 치환하는 것을 특징으로 하는 불법 프로세스 검출 방법.And a part of an address of a kernel function table is replaced with an address of an access detection function loaded in kernel memory. 제 4 항에 있어서,The method of claim 4, wherein 상기 제 (a-4) 단계는,The (a-4) step, 커널 함수 자체의 코드를 변조하여 접근 검출용 함수가 실행되도록 하는 것을 특징으로 하는 불법 프로세스 검출 방법.The illegal process detection method, characterized in that the access detection function is executed by modulating the code of the kernel function itself.
KR1020050080505A 2005-08-31 2005-08-31 Module for detecting an illegal process and method thereof KR100645983B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050080505A KR100645983B1 (en) 2005-08-31 2005-08-31 Module for detecting an illegal process and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050080505A KR100645983B1 (en) 2005-08-31 2005-08-31 Module for detecting an illegal process and method thereof

Publications (1)

Publication Number Publication Date
KR100645983B1 true KR100645983B1 (en) 2006-11-14

Family

ID=37654621

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050080505A KR100645983B1 (en) 2005-08-31 2005-08-31 Module for detecting an illegal process and method thereof

Country Status (1)

Country Link
KR (1) KR100645983B1 (en)

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009035902A2 (en) * 2007-09-10 2009-03-19 Wisconsin Alumni Research Foundation Malware prevention system monitoring kernel events
WO2009132148A3 (en) * 2008-04-22 2010-03-18 The 41St Parameter, Inc. Systems and methods for security management based on cursor events
KR100968268B1 (en) * 2007-11-20 2010-07-06 주식회사 안철수연구소 Method for detecting automatically generated input
KR100979092B1 (en) 2008-04-30 2010-08-31 주식회사 잉카인터넷 method of judging whether an image-enhanced gamehack is used, and intercepting an image-enhanced gamehack
KR101033191B1 (en) 2010-02-19 2011-05-11 고려대학교 산학협력단 Buffer overflow malicious code detection by tracing executable memory
WO2011149150A1 (en) * 2010-05-25 2011-12-01 (주)잉카인터넷 Method for indicating information regarding whether a hack tool has been used in an on-line game
WO2012020948A2 (en) * 2010-08-10 2012-02-16 (주)잉카인터넷 Method for detecting and blocking a game-hack process
KR101155123B1 (en) 2010-10-26 2012-06-11 한국과학기술원 Apparatus and method for protecting memory of application from failure of kernel code
KR101153440B1 (en) 2011-01-24 2012-07-09 주식회사 잉카인터넷 Method for realtime displaying hack tool usage state in online game
KR101201495B1 (en) 2010-08-10 2012-11-14 주식회사 잉카인터넷 method for blocking auto-input in computer system
WO2012176978A2 (en) * 2011-06-23 2012-12-27 (주)잉카인터넷 Network access control system and method
KR101252188B1 (en) 2011-05-31 2013-04-05 주식회사 잉카인터넷 control method of accessing virtual memory data
US9521551B2 (en) 2012-03-22 2016-12-13 The 41St Parameter, Inc. Methods and systems for persistent cross-application mobile device identification
US9633201B1 (en) 2012-03-01 2017-04-25 The 41St Parameter, Inc. Methods and systems for fraud containment
US9703983B2 (en) 2005-12-16 2017-07-11 The 41St Parameter, Inc. Methods and apparatus for securely displaying digital images
US9754256B2 (en) 2010-10-19 2017-09-05 The 41St Parameter, Inc. Variable risk engine
US9754311B2 (en) 2006-03-31 2017-09-05 The 41St Parameter, Inc. Systems and methods for detection of session tampering and fraud prevention
US9948629B2 (en) 2009-03-25 2018-04-17 The 41St Parameter, Inc. Systems and methods of sharing information through a tag-based consortium
US9990631B2 (en) 2012-11-14 2018-06-05 The 41St Parameter, Inc. Systems and methods of global identification
US10091312B1 (en) 2014-10-14 2018-10-02 The 41St Parameter, Inc. Data structures for intelligently resolving deterministic and probabilistic device identifiers to device profiles and/or groups
US10417637B2 (en) 2012-08-02 2019-09-17 The 41St Parameter, Inc. Systems and methods for accessing records via derivative locators
US10453066B2 (en) 2003-07-01 2019-10-22 The 41St Parameter, Inc. Keystroke analysis
US10902327B1 (en) 2013-08-30 2021-01-26 The 41St Parameter, Inc. System and method for device identification and uniqueness
US10999298B2 (en) 2004-03-02 2021-05-04 The 41St Parameter, Inc. Method and system for identifying users and detecting fraud by use of the internet
KR102254159B1 (en) * 2020-12-09 2021-05-18 연세대학교 산학협력단 Method for detecting real-time error in operating system kernel memory
US11301585B2 (en) 2005-12-16 2022-04-12 The 41St Parameter, Inc. Methods and apparatus for securely displaying digital images
US11314838B2 (en) 2011-11-15 2022-04-26 Tapad, Inc. System and method for analyzing user device information

Cited By (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10453066B2 (en) 2003-07-01 2019-10-22 The 41St Parameter, Inc. Keystroke analysis
US11238456B2 (en) 2003-07-01 2022-02-01 The 41St Parameter, Inc. Keystroke analysis
US11683326B2 (en) 2004-03-02 2023-06-20 The 41St Parameter, Inc. Method and system for identifying users and detecting fraud by use of the internet
US10999298B2 (en) 2004-03-02 2021-05-04 The 41St Parameter, Inc. Method and system for identifying users and detecting fraud by use of the internet
US12079368B2 (en) 2005-12-16 2024-09-03 The 41St Parameter, Inc. Methods and apparatus for securely displaying digital images
US9703983B2 (en) 2005-12-16 2017-07-11 The 41St Parameter, Inc. Methods and apparatus for securely displaying digital images
US10726151B2 (en) 2005-12-16 2020-07-28 The 41St Parameter, Inc. Methods and apparatus for securely displaying digital images
US11301585B2 (en) 2005-12-16 2022-04-12 The 41St Parameter, Inc. Methods and apparatus for securely displaying digital images
US10089679B2 (en) 2006-03-31 2018-10-02 The 41St Parameter, Inc. Systems and methods for detection of session tampering and fraud prevention
US11727471B2 (en) 2006-03-31 2023-08-15 The 41St Parameter, Inc. Systems and methods for detection of session tampering and fraud prevention
US10535093B2 (en) 2006-03-31 2020-01-14 The 41St Parameter, Inc. Systems and methods for detection of session tampering and fraud prevention
US11195225B2 (en) 2006-03-31 2021-12-07 The 41St Parameter, Inc. Systems and methods for detection of session tampering and fraud prevention
US9754311B2 (en) 2006-03-31 2017-09-05 The 41St Parameter, Inc. Systems and methods for detection of session tampering and fraud prevention
US12093992B2 (en) 2006-03-31 2024-09-17 The 41St Parameter, Inc. Systems and methods for detection of session tampering and fraud prevention
WO2009035902A2 (en) * 2007-09-10 2009-03-19 Wisconsin Alumni Research Foundation Malware prevention system monitoring kernel events
WO2009035902A3 (en) * 2007-09-10 2009-05-14 Wisconsin Alumni Res Found Malware prevention system monitoring kernel events
US8065728B2 (en) 2007-09-10 2011-11-22 Wisconsin Alumni Research Foundation Malware prevention system monitoring kernel events
KR100968268B1 (en) * 2007-11-20 2010-07-06 주식회사 안철수연구소 Method for detecting automatically generated input
US9396331B2 (en) 2008-04-22 2016-07-19 The 41St Parameter, Inc. Systems and methods for security management based on cursor events
WO2009132148A3 (en) * 2008-04-22 2010-03-18 The 41St Parameter, Inc. Systems and methods for security management based on cursor events
KR100979092B1 (en) 2008-04-30 2010-08-31 주식회사 잉카인터넷 method of judging whether an image-enhanced gamehack is used, and intercepting an image-enhanced gamehack
US11750584B2 (en) 2009-03-25 2023-09-05 The 41St Parameter, Inc. Systems and methods of sharing information through a tag-based consortium
US9948629B2 (en) 2009-03-25 2018-04-17 The 41St Parameter, Inc. Systems and methods of sharing information through a tag-based consortium
US10616201B2 (en) 2009-03-25 2020-04-07 The 41St Parameter, Inc. Systems and methods of sharing information through a tag-based consortium
KR101033191B1 (en) 2010-02-19 2011-05-11 고려대학교 산학협력단 Buffer overflow malicious code detection by tracing executable memory
WO2011149150A1 (en) * 2010-05-25 2011-12-01 (주)잉카인터넷 Method for indicating information regarding whether a hack tool has been used in an on-line game
KR101201495B1 (en) 2010-08-10 2012-11-14 주식회사 잉카인터넷 method for blocking auto-input in computer system
WO2012020948A3 (en) * 2010-08-10 2012-04-19 (주)잉카인터넷 Method for detecting and blocking a game-hack process
WO2012020948A2 (en) * 2010-08-10 2012-02-16 (주)잉카인터넷 Method for detecting and blocking a game-hack process
US9754256B2 (en) 2010-10-19 2017-09-05 The 41St Parameter, Inc. Variable risk engine
KR101155123B1 (en) 2010-10-26 2012-06-11 한국과학기술원 Apparatus and method for protecting memory of application from failure of kernel code
KR101153440B1 (en) 2011-01-24 2012-07-09 주식회사 잉카인터넷 Method for realtime displaying hack tool usage state in online game
KR101252188B1 (en) 2011-05-31 2013-04-05 주식회사 잉카인터넷 control method of accessing virtual memory data
WO2012176978A3 (en) * 2011-06-23 2013-02-14 (주)잉카인터넷 Network access control system and method
WO2012176978A2 (en) * 2011-06-23 2012-12-27 (주)잉카인터넷 Network access control system and method
US9246937B2 (en) 2011-06-23 2016-01-26 Inca Internet Co., Ltd. Network access control system and method
US11314838B2 (en) 2011-11-15 2022-04-26 Tapad, Inc. System and method for analyzing user device information
US9633201B1 (en) 2012-03-01 2017-04-25 The 41St Parameter, Inc. Methods and systems for fraud containment
US11010468B1 (en) 2012-03-01 2021-05-18 The 41St Parameter, Inc. Methods and systems for fraud containment
US11886575B1 (en) 2012-03-01 2024-01-30 The 41St Parameter, Inc. Methods and systems for fraud containment
US9521551B2 (en) 2012-03-22 2016-12-13 The 41St Parameter, Inc. Methods and systems for persistent cross-application mobile device identification
US10862889B2 (en) 2012-03-22 2020-12-08 The 41St Parameter, Inc. Methods and systems for persistent cross application mobile device identification
US11683306B2 (en) 2012-03-22 2023-06-20 The 41St Parameter, Inc. Methods and systems for persistent cross-application mobile device identification
US10341344B2 (en) 2012-03-22 2019-07-02 The 41St Parameter, Inc. Methods and systems for persistent cross-application mobile device identification
US12058131B2 (en) 2012-03-22 2024-08-06 The 41St Parameter, Inc. Methods and systems for persistent cross-application mobile device identification
US10021099B2 (en) 2012-03-22 2018-07-10 The 41st Paramter, Inc. Methods and systems for persistent cross-application mobile device identification
US10417637B2 (en) 2012-08-02 2019-09-17 The 41St Parameter, Inc. Systems and methods for accessing records via derivative locators
US11301860B2 (en) 2012-08-02 2022-04-12 The 41St Parameter, Inc. Systems and methods for accessing records via derivative locators
US12002053B2 (en) 2012-08-02 2024-06-04 The 41St Parameter, Inc. Systems and methods for accessing records via derivative locators
US11410179B2 (en) 2012-11-14 2022-08-09 The 41St Parameter, Inc. Systems and methods of global identification
US9990631B2 (en) 2012-11-14 2018-06-05 The 41St Parameter, Inc. Systems and methods of global identification
US10395252B2 (en) 2012-11-14 2019-08-27 The 41St Parameter, Inc. Systems and methods of global identification
US11922423B2 (en) 2012-11-14 2024-03-05 The 41St Parameter, Inc. Systems and methods of global identification
US10853813B2 (en) 2012-11-14 2020-12-01 The 41St Parameter, Inc. Systems and methods of global identification
US12045736B1 (en) 2013-08-30 2024-07-23 The 41St Parameter, Inc. System and method for device identification and uniqueness
US11657299B1 (en) 2013-08-30 2023-05-23 The 41St Parameter, Inc. System and method for device identification and uniqueness
US10902327B1 (en) 2013-08-30 2021-01-26 The 41St Parameter, Inc. System and method for device identification and uniqueness
US11895204B1 (en) 2014-10-14 2024-02-06 The 41St Parameter, Inc. Data structures for intelligently resolving deterministic and probabilistic device identifiers to device profiles and/or groups
US10091312B1 (en) 2014-10-14 2018-10-02 The 41St Parameter, Inc. Data structures for intelligently resolving deterministic and probabilistic device identifiers to device profiles and/or groups
US11240326B1 (en) 2014-10-14 2022-02-01 The 41St Parameter, Inc. Data structures for intelligently resolving deterministic and probabilistic device identifiers to device profiles and/or groups
US10728350B1 (en) 2014-10-14 2020-07-28 The 41St Parameter, Inc. Data structures for intelligently resolving deterministic and probabilistic device identifiers to device profiles and/or groups
KR102254159B1 (en) * 2020-12-09 2021-05-18 연세대학교 산학협력단 Method for detecting real-time error in operating system kernel memory

Similar Documents

Publication Publication Date Title
KR100645983B1 (en) Module for detecting an illegal process and method thereof
US10949247B2 (en) Systems and methods for auditing a virtual machine
US10083294B2 (en) Systems and methods for detecting return-oriented programming (ROP) exploits
CN107690645B (en) Behavioral malware detection using interpreter virtual machines
US9237171B2 (en) System and method for indirect interface monitoring and plumb-lining
US8904537B2 (en) Malware detection
CN102799817B (en) For the system and method using Intel Virtualization Technology to carry out malware protection
EP2881881B1 (en) Machine-readable medium, method and system for detecting java sandbox escaping attacks based on java bytecode instrumentation and java method hooking
US7665139B1 (en) Method and apparatus to detect and prevent malicious changes to tokens
US20160232347A1 (en) Mitigating malware code injections using stack unwinding
US9183377B1 (en) Unauthorized account monitoring system and method
KR20180032566A (en) Systems and methods for tracking malicious behavior across multiple software entities
WO2015113052A1 (en) Detecting and preventing execution of software exploits
US20070266435A1 (en) System and method for intrusion detection in a computer system
AU2004285256A1 (en) System for invoking a privileged function in a device
JP2013168141A (en) Method for detecting malware
EP3652667B1 (en) System and method for detecting malware injected into memory of a computing device
US10372472B2 (en) System, method, and computer program product for conditionally preventing use of hardware virtualization
KR20110057297A (en) Dynamic analyzing system for malicious bot and methods therefore
KR20220080347A (en) Method and apparatus for monitoring server
Ayers et al. Tiered trust for useful embedded systems security
Zaheri et al. Preventing reflective dll injection on uwp apps
KR20090080220A (en) Malware(useless process) dectect/blocking and prevent recrudescence method
WO2022031275A1 (en) Detection of memory modification
CN114036468A (en) Process hiding method, device and equipment and readable storage medium

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120827

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20130826

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20141107

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20151026

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20161107

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20171106

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20181105

Year of fee payment: 13