WO2010120157A2 - 훅을 이용한 컴퓨터 보안 서비스 제공 방법, 장치 및 컴퓨터 판독가능한 기록매체 - Google Patents
훅을 이용한 컴퓨터 보안 서비스 제공 방법, 장치 및 컴퓨터 판독가능한 기록매체 Download PDFInfo
- Publication number
- WO2010120157A2 WO2010120157A2 PCT/KR2010/002421 KR2010002421W WO2010120157A2 WO 2010120157 A2 WO2010120157 A2 WO 2010120157A2 KR 2010002421 W KR2010002421 W KR 2010002421W WO 2010120157 A2 WO2010120157 A2 WO 2010120157A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- input message
- hook
- message
- time information
- virtual input
- Prior art date
Links
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/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
-
- 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
-
- 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
Definitions
- the present invention relates to computer security, and more particularly to computer security using a hook.
- Macrohack is an advanced behavior of Auto Mouse, which automatically delivers mouse input to the game and enables the game to run automatically without the user. This means passing the input to the game so that it can run repeatedly.
- speed hacking means changing the response time of a game program by changing the time-related information of the computer so that the time of the computer becomes faster or slower than the actual time. Using this speed hack, the character's movement or attack speed in the game is several to hundreds of times faster, and the packet sent from the client to the server is also faster.
- control DLLs since the control DLLs must be injected into all APIs used for generating virtual inputs, memory and CPU usage are increased, and the speed of the computer is reduced, and collisions may occur when performing hooking for each API. There is a problem that can be.
- the conventional method has a problem that it cannot block the macro hack attempt using a virtual input driver at the kernel level.
- the present invention has been made in view of the above-described problem, and a method and apparatus for providing a computer security service using a hook capable of detecting a hacking attempt by using a time information at a kernel level or determining a virtual input message flag in an input message. It is technical problem to provide.
- Another object of the present invention is to provide a method and apparatus for providing a computer security service using a hook that can determine whether an input message is changed using a virtual input message generated by itself.
- Another object of the present invention is to provide a method and apparatus for providing a computer security service using a hook that can reduce the load of a computer by installing a hook in a system message queue.
- the present invention also provides a method and apparatus for providing a computer security service using a hook that can detect a hacking attempt by using a difference between a time at the kernel level obtained from an input message and a time at a user level obtained from a time-related API. It is another technical problem to provide.
- Computer security service providing method using a hook comprises the steps of monitoring the input message received from the operating system (Operating System) using a hook (Hook); Determining whether a virtual input message flag is included in the input message; And detecting whether a macro hack is generated using the determination result.
- the input message in the detecting of the macro hacking occurrence, if the virtual input message flag is included in the input message, the input message is determined as a virtual input message of a first type, and the macro hack is determined to be generated. It is characterized by.
- the first type of virtual input message may be a virtual input message generated using a user level window API (Application Programming Interface).
- a user level window API Application Programming Interface
- the method may further include filtering the input message when it is detected that the macro hack is generated.
- the hook is characterized in that it comprises a keyboard low level hook or a mouse low level hook.
- the hook is characterized in that installed in the system message queue where all the messages are temporarily stored.
- the virtual input message of the second type is generated using a virtual input driver at a kernel level
- the first time information is a difference value between a key down time and a key up time obtained from the input message. It is characterized by.
- the method may further include detecting whether a speed hack is generated using first time information at a kernel level obtained from the input message and second time information at a user level obtained from a time-related API.
- the first time information is a difference value between the key down time and the key up time at the kernel level
- the second time information is a difference value between the key down time and the key up time at the user level calculated using a time-related API. It is characterized by.
- the speed nucleus may be determined to be generated when a difference between the first time information and the second time information is greater than or equal to a threshold value.
- Device for providing a computer security service using a hook comprises a hook management module for monitoring an input message received from the operating system using a hook; A macro hack detection module for detecting whether a macro hack is generated by determining whether the input message includes a virtual input message flag; And a filtering module for filtering the input message if it is detected that a macro hack has been generated.
- the macro hack attempted at the user level can be detected by determining whether a virtual input message flag exists in the input message, or the macro hack attempted at the kernel level can be detected using time information at the kernel level. This has the effect of easy implementation of computer security.
- the present invention can determine whether or not to change the input message by using the virtual input message generated by itself, the original attempt to conceal the attempt of the macro hack by deleting the virtual input message flag included in the input message. There is an effect that can be blocked.
- the present invention has the effect that the load on the computer can be reduced by installing the hook in the system message queue.
- the present invention can easily detect the speed hack attempt using only the difference between the time at the kernel level obtained from the input message and the time at the user level obtained from the time-related API. There is.
- FIG. 1 is a view showing a speed nuclear blocking method according to the prior art.
- FIG. 2 is a schematic block diagram of an apparatus for providing a computer security service according to an embodiment of the present invention.
- FIG. 3 is a flowchart showing a macro nuclear blocking method according to the first embodiment of the present invention.
- FIG. 4 is a flowchart showing a macronuclear blocking method according to a second embodiment of the present invention.
- FIG. 5 is a flowchart showing a speed nucleus blocking method according to a third embodiment of the present invention.
- an input message refers to actual input generated by an input device such as a keyboard or a mouse, virtual input generated by software using an API (application programming interface) or a device driver, and virtual input generated using a virtual input driver. It means a message generated by the operating system based on the basis. Input messages generated by the operating system are temporarily stored in the system message queue, classified by process, and assigned to the thread message queue of each process.
- the above-described input message may be a window input message.
- the input message is a window input message. However, this is just one example. It will not be limited.
- a hook is a system message handling mechanism that can be installed by an application to monitor the traffic of an input message. You can use this hook to check the contents of a Windows input message from the operating system.
- the hook may be a window message hook for hooking a window message.
- the hook is assumed to be a window message hook. However, this hook is only one example and the hook is limited to a window message hook. It won't work.
- the apparatus 300 for providing a computer security service according to an embodiment of the present invention is a macro hack or a speed hack in which a malicious user attempts to take advantage of a game by interworking with the computer system 302. Detects and blocks macro or speed hacks.
- the computer security service providing apparatus 300 includes a window message hook management module 310, a macro nuclear detection module 320, and a filtering module 330 as shown.
- the window message hook management module 310 installs a window message hook and monitors a window input message received from the operating system 340 using the installed window message hook.
- the window message hook management module 310 may install a window message hook in the system message queue 350 in which all window messages transmitted from the operating system 340 are temporarily stored.
- the window message hook management module 310 to install the window message hook to the system message queue 350, the window message hook to install the window message hook in the thread message queue 360 is temporarily stored in each process window message If the window message hooks need to be installed for each thread message queue 360, the load of the system may be increased.
- the window message hook installed by the window message hook management module 310 may include a keyboard low level message hook or a mouse low level message hook.
- the window message hook management module 310 may install a window message hook by calling a function as described below.
- IdHook refers to a window message hook type to be installed.
- the hook type may include a keyboard low level message hook or a mouse low level message hook as described above.
- the hook type may be set to "WH_KEYBOARD_LL”
- the hook type may be set to "WH_MOUSE_LL”.
- Ipfn means a pointer of the window message hook management module 310
- hMod means a handle of a DLL having the window message hook management module 310
- dwThreadId refers to an identifier of a thread message queue associated with the window message hook management module 310. If the value is set to 0, the window message hook management module 310 may display all thread messages existing in the system. It indicates that the window message hook management module 310 associated with the queue.
- the macro hack detection module 320 detects whether the macro hack is attempted by determining whether the virtual input message flag is included in the window input message monitored by the window input message hook management module 310.
- the virtual input message flag refers to a flag that is inserted into the window input message when the operating system 340 generates the window input message based on the virtual input when the virtual input is generated using the window API at the user level.
- the macro nucleus detection module 320 may determine whether the corresponding window input message is a virtual input message by determining whether the monitored window input message includes a virtual input message flag.
- the macro hack detection module 320 determines that the window input message is a virtual input message, and that the macro hack is attempted by a malicious user. To judge.
- the window input message determined as not the virtual input message by the macro hack detection module 320 is allocated to the thread message queue 360 from the system message queue 350 and then processed by the message processing unit 410.
- the window input message is filtered from the system message queue 350 to the thread message queue 370 by filtering the window input message. Do not allow assignment.
- the present invention determines whether a virtual input message flag exists in a window input message generated based on the virtual input. By detecting a macro hack attempt, if a macro hack attempt is detected, the macro hack attempt is blocked by filtering the corresponding window input message.
- the macro hack detection module 320 has been described as detecting the macro hack by determining whether the virtual input message flag is included in the window input message.
- the malicious user installs the window message hook again in the system message queue 350 after the window message hook management module 310 installs the window message hook in the system message queue 350, the malicious user has a window.
- the window input message may be monitored before the message hook management module 310 may allow a malicious user to delete the virtual input message flag from the window input message.
- the macro detection module 320 may be used. The window input message is not judged as a virtual input message, and thus the macro hack is determined not to be attempted.
- the apparatus for providing a computer security service may further include a virtual input generation module 370 and a change determination module 380.
- the virtual input generation module 370 generates a virtual input by itself and serves to provide the operating system 340 and the change determination module 380 to be described later. In one embodiment, the virtual input generation module 370 generates a virtual input by using a value having no meaning, such as "0xFF", in order to prevent the virtual input from affecting the computer system. Can be generated.
- the operating system 340 when the operating system 340 generates the window input message based on the virtual input generated by the virtual input generation module 370, the operating system 340 inserts the virtual input message flag in the window input message like the general window input message.
- the change determination module 380 determines whether the virtual input message flag is included in the window input message generated based on the virtual input by the virtual input generation module 370 among the window input messages transmitted from the operating system 340. To judge. As a result of determination, when the virtual input message flag is not included in the corresponding window input message, it is determined that the corresponding window input message is changed.
- the virtual input message flag is included in the window input message generated based on the virtual input even though the virtual input message flag must be included. Not included means that the user artificially deleted the virtual input message flag from the window input message, which means that the malicious user altered the window input message using the window message hook.
- the computer security service providing apparatus 300 blocks the attempted macro hack using a virtual input generated through the Windows API.
- macro hacks may be attempted using virtual input generated via the Windows API as well as virtual input generated using a virtual input driver at the kernel level. In this case, as described above, the macro hack cannot be detected by whether the window input message includes the virtual input message flag.
- the present invention may further include a time information generation module 390 as shown to block the macro hack attempted using the virtual input generated by the virtual input driver at the kernel level.
- the time information generation module 390 generates first time information at the kernel level using the window input message monitored by the window message hook management module 310.
- the time information generation module 390 may calculate the first time information by using a difference value between the key down occurrence time and the key up occurrence time at the kernel level obtained from the window input message.
- the macro nucleus detection module 320 determines whether the first time information generated by the time information generation module 390 is the same for each window input message. As a result of determination, when the first time information is the same for each window input message, the macro hack detection module 320 determines that the window input message is a virtual input message at the kernel level, and determines that the macro hack is generated.
- the macro nucleus detection module 320 determines that the window input message is a virtual input message in the case of a virtual input generated mechanically using a virtual input driver. This is because the first time information, which is the difference between the down occurrence time and the keyup occurrence time, is likely to be the same in all the window input messages.
- the computer security service providing apparatus 300 describes the attempted detection of a macro nucleus using a virtual input, but further includes a speed nucleus detection module 400 to hook the time-related API. Speed nuclear attempts can also be detected.
- the time information generation module 390 described above generates not only the first time information at the kernel level obtained from the window input message, but also the second time information at the user level obtained from the time-related API.
- the time-related API may include GetTickCount, SetTimer, timeGetTime, etc.
- the second time information may be generated using a difference value between the key down occurrence time and the key up occurrence time at the user level obtained from the time related API. Can be.
- the speed nucleus detection module 400 detects whether a speed nucleus is generated by using the first time information and the second time information generated by the time information generation module 390 described above. Specifically, the speed nucleus detection module 400 determines that the speed nucleus is generated when the difference between the first time information and the second time information is greater than or equal to a threshold. That is, the difference between the first time information and the second time information more than the threshold value means that the malicious user has changed the time using a time-related API at the user level, and thus, the speed hack is determined to have occurred.
- FIG. 3 is a flowchart showing a method of blocking a macro hack using a window message hook according to the first embodiment of the present invention.
- the macro hack blocking method shown in FIG. 3 shows a method of blocking a macro hack attempted by using a virtual input generated by a malicious user using the Windows API at the user level.
- the window message hook may be installed in a system message queue in which all window messages are temporarily stored, and the installed window message hook may include a keyboard low level message hook or a mouse low level message hook.
- the corresponding window input message is determined not to be a virtual input message, and the corresponding window message is processed according to the message loop (S440).
- the present invention provides a process (not shown) for generating a virtual input by itself and providing it to the operating system after the above-described window message hook installation process, and a window input message generated based on the generated virtual input.
- the method may further include determining whether the window input message is changed by monitoring (not shown).
- the corresponding window input message may be determined to be changed.
- FIG. 4 is a flowchart showing a method of blocking a macro nucleus using a hook according to a second embodiment of the present invention.
- the macro hack blocking method shown in FIG. 4 shows a method of blocking a macro hack attempted using a virtual input generated by a malicious user using a virtual input driver at the kernel level.
- the window message hook may be installed in a system message queue where all window messages are temporarily stored, and the installed window message hook may be a keyboard low level message hook or a mouse low level message hook.
- the first time information at the kernel level is generated using the monitored window input message (S520).
- the first time information may be generated using a difference value between the key down time and the key up time obtained from the window input message.
- the window message hook installation process for preventing a malicious user from attempting to conceal the macro hack by deleting the virtual input message flag from the window input message. Determining whether the window input message has been changed by monitoring the window input message generated by the virtual input by itself and providing the operating system to the operating system (not shown), and by monitoring the window input message generated based on the virtual input generated by itself. It may further include a process (not shown). Since this has been described in detail already, the detailed description will be omitted.
- macro nucleus detection using the Windows API at the user level and macro nucleus detection using the virtual input driver at the kernel level are described as being performed separately. It may be performed.
- the macro nuclear detection process using the virtual input driver at the kernel level or the macro nuclear detection process using the virtual input driver at the kernel level is performed. You can then perform a macro hacking process using the Windows API at the user level.
- FIG. 5 is a flowchart showing a method of blocking a speed hack using a hook according to a third embodiment of the present invention.
- the window message hook may be installed in a system message queue where all window messages are temporarily stored, and the installed window message hook may be a keyboard low level message hook or a mouse low level message hook.
- the first time information at the kernel level is generated using the monitored window input message, and the second time information at the user level is generated using the time-related API (S620).
- the first time information may be generated using a difference between a key down occurrence time and a key up occurrence time obtained from a window input message, and the second time information may be obtained using a time related API.
- the difference between the key down occurrence time and the key up occurrence time can be generated.
- a difference value between the first time information and the second time information is calculated (S630), and it is determined whether the calculated difference value is greater than or equal to a threshold value (S640).
- the calculated difference value is greater than or equal to the threshold value, it is determined that the speed hack is attempted, and the corresponding window input message is filtered (S650). If the calculated difference value is less than the threshold value, the corresponding window input message is processed according to the message loop ( S660).
- the computer security service providing method described above may be embodied in the form of program instructions that can be executed by various computer means and recorded in a computer-readable recording medium.
- the computer-readable recording medium may include program instructions, data files, data structures, and the like, alone or in combination.
- the program instructions recorded on the recording medium may be those specially designed and configured for the present invention, or may be known and available to those skilled in computer software.
- Computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks such as floppy disks. Magnetic-Optical Media, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like.
- the recording medium may be a transmission medium such as an optical or metal wire, a waveguide, or the like including a carrier wave for transmitting a signal specifying a program command, a data structure, or the like.
- program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.
- the hardware device described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- User Interface Of Digital Computer (AREA)
- Computer And Data Communications (AREA)
- Storage Device Security (AREA)
Abstract
입력 메시지에 가상 입력 메시지 플래그의 유무 판단 또는 커널 레벨에서의 시간 정보를 이용하여 해킹 시도를 탐지할 수 있는 본 발명의 일 실시예에 따른 훅을 이용한 컴퓨터 보안 서비스 제공 방법은 운영체제(Operating System)로부터 수신되는 입력 메시지를 훅(Hook)을 이용하여 모니터링하는 단계; 상기 입력 메시지에 가상 입력 메시지 플래그가 포함되어 있는지 여부를 판단하는 단계; 및 판단결과를 이용하여 매크로 핵(Macro Hack) 발생 여부를 탐지하는 단계를 포함한다.
Description
본 발명은 컴퓨터 보안에 관한 것으로서 보다 상세하게는 훅을 이용한 컴퓨터 보안에 관한 것이다.
통신기술의 발달 및 초고속 인터넷 보급의 대중화로 인해 기존의 오프라인에서 수행되던 많은 업무들이 온라인을 통해 수행되고 있으며, 최근에는 온라인 상에서 수행될 수 있는 업무 분야가 확대되어 게임 서비스 제공도 온라인을 이용해서 수행되고 있다.
특히, 온라인 게임 서비스 제공의 증가가 급증함에 따라 다양한 게임 해킹(핵) 시도가 발생되고 있다. 이러한 게임 핵 중 대표적인 유형으로는 매크로 핵(Macro Hack)과 스피드 팩(Speed Hack)이 있다.
매크로 핵이란 자동으로 마우스의 입력을 게임에게 전달하여 사용자 없이도 자동으로 게임 실행이 가능하게 하는 오토 마우스(Auto Mouse)의 발전된 행태로써, 프로그램을 짜듯이 원하는 키보드나 마우스의 입력을 만들어 놓고 자동으로 그 입력을 게임에게 전달하여 반복 실행하도록 하는 것을 의미한다.
또한, 스피드 핵이란 컴퓨터의 시간 관련 정보를 변경하여 컴퓨터의 시간이 실제 시간보다 빨라지거나 혹은 느려지도록 함으로써 게임 프로그램의 반응 속도를 변경시키는 것을 의미한다. 이러한 스피드 핵을 사용하게 되면, 게임 내에서 캐릭터의 움직임이나 공격속도 등이 수배 내지 수백 배 빨라지며, 클라이언트로부터 서버로 전송되는 패킷의 속도도 함께 빨라진다.
이러한 게임 해킹은 일반적인 해킹과 달리 게임 프로세스의 메모리를 조작하여 캐릭터의 능력치나 체력 등과 같은 특정 데이터를 바꾸는 것이기 때문에 사용자간의 밸런스가 붕괴됨은 물론, 게임 서버로의 가중한 부하 등과 같은 심각한 문제를 일으킬 수 있기 때문에, 이러한 다양한 게임 해킹을 방지하기 위한 게임 보안에 대한 인식과 개념에 대한 관심이 증가하고 있다.
일 예로, 매크로 핵으로 악의적인 사용자가 가상 입력을 발생시키는 것을 방지하기 위해 가상 입력 발생에 이용되는 API의 후킹을 통해 해당 API의 호출을 차단하는 방식이 제안된 바 있다.
그러나, 상술한 방법의 경우 가상 입력 발생에 이용되는 모든 API에 제어용 Dll을 인젝션 하여야 하므로 메모리 및 CPU 사용량이 증가하게 되어 컴퓨터의 속도가 저하되며, 각각의 API에 대한 후킹을 수행함에 있어서 충돌이 발생할 수 있다는 문제점이 있다.
또한, 기존의 방법은 커널 레벨에서의 가상 입력 드라이버를 이용한 매크로 핵 시도는 차단할 수 없다는 문제점이 있다.
한편, 스피드 핵의 경우에는 도 1에 도시된 바와 같은 시간 관련 API들을 후킹함으로써 수행되기 때문에, 이러한 스피드 핵을 방지하기 위해 시간 관련 API들의 후킹 여부를 판단하여 시간 관련 API가 후킹된 것으로 판단되면 스피드 핵인 것으로 판단하는 방법이 제시된 바 있지만, 시간 관련 API가 후킹 되었는지 여부를 판단하는 것이 용이하지 않다는 문제점이 있다.
본 발명은 상술한 문제점을 해결하기 위한 것으로서, 입력 메시지에 가상 입력 메시지 플래그의 유무 판단 또는 커널 레벨에서의 시간 정보를 이용하여 해킹 시도를 탐지할 수 있는 훅을 이용한 컴퓨터 보안 서비스 제공 방법 및 장치를 제공하는 것을 기술적 과제로 한다.
또한, 본 발명은 자체적으로 발생시킨 가상 입력 메시지를 이용하여 입력 메시지의 변경 여부를 판단할 수 있는 훅을 이용한 컴퓨터 보안 서비스 제공 방법 및 장치를 제공하는 것을 다른 기술적 과제로 한다.
또한, 본 발명은 훅을 시스템 메시지 큐에 설치함으로써 컴퓨터의 부하를 경감시킬 수 있는 훅을 이용한 컴퓨터 보안 서비스 제공 방법 및 장치를 제공하는 것을 또 다른 기술적 과제로 한다.
또한, 본 발명은 입력 메시지로부터 획득되는 커널 레벨에서의 시간과 시간 관련 API로부터 획득되는 유저 레벨에서의 시간의 차이를 이용하여 해킹 시도를 탐지할 수 있는 훅을 이용한 컴퓨터 보안 서비스 제공 방법 및 장치를 제공하는 것을 또 다른 기술적 과제로 한다.
상술한 목적을 달성하기 위한 본 발명의 일 측면에 따른 훅을 이용한 컴퓨터 보안 서비스 제공 방법은 운영체제(Operating System)로부터 수신되는 입력 메시지를 훅(Hook)을 이용하여 모니터링하는 단계; 상기 입력 메시지에 가상 입력 메시지 플래그가 포함되어 있는지 여부를 판단하는 단계; 및 판단결과를 이용하여 매크로 핵(Macro Hack) 발생 여부를 탐지하는 단계를 포함한다.
일 실시예에 있어서, 매크로 핵 발생 여부 탐지 단계에서, 상기 입력 메시지에 상기 가상 입력 메시지 플래그가 포함 되어 있으면 상기 입력 메시지를 제1 타입의 가상 입력 메시지로 판단하고, 매크로 핵이 발생된 것으로 결정하는 것을 특징으로 한다.
이때, 상기 제1 타입의 가상 입력 메시지는 유저 레벨 윈도우 API(Application Programming Interface)를 이용하여 발생된 가상 입력 메시지인 것을 특징으로 한다.
또한, 매크로 핵이 발생된 것으로 탐지되면, 상기 입력 메시지를 필터링하는 단계를 더 포함할 수 있다.
일 실시예에 있어서, 상기 훅은 키보드 로우 레벨 훅 또는 마우스 로우 레벨 훅을 포함하는 것을 특징으로 한다.
한편, 훅은 모든 메시지들이 임시로 저장되는 시스템 메시지 큐에 설치되는 것을 특징으로 한다.
한편, 가상 입력을 발생시켜 상기 운영체제로 제공하는 단계; 및 상기 가상 입력을 기초로 생성된 제1 입력 메시지를 상기 훅을 통해 모니터링함으로써 상기 제1 입력 메시지의 변경 여부를 판단하는 단계를 더 포함할 수 있다.
이때, 상기 제1 입력 메시지 변경 여부 판단 단계에서, 상기 제1 입력 메시지에 상기 가상 입력 메시지 플래그가 포함되어 있지 않은 경우 상기 제1 입력 메시지가 변경된 것으로 판단하는 것을 특징으로 한다.
일 실시예에 있어서, 상기 입력 메시지를 이용하여 커널 레벨에서의 제1 시간 정보를 생성하는 단계; 및 상기 제1 시간 정보가 각 입력 메시지 별로 동일한 경우 상기 입력 메시지를 제2 타입의 가상 입력 메시지로 판단하고, 매크로 핵이 발생된 것으로 결정하는 단계를 더 포함할 수 있다.
이때, 상기 제2 타입의 가상 입력 메시지는 커널 레벨에서 가상 입력 드라이버를 이용하여 발생된 것임을 특징으로 하고, 상기 제1 시간 정보는 상기 입력 메시지로부터 획득되는 키 다운 시간과 키 업 시간의 차이값인 것을 특징으로 한다.
한편, 상기 입력 메시지로부터 획득되는 커널 레벨에서의 제1 시간 정보와 시간 관련 API로부터 획득되는 유저 레벨에서의 제2 시간정보를 이용하여 스피드 핵 발생 여부를 탐지하는 단계를 더 포함할 수 있다.
이때, 제1 시간 정보는 커널 레벨에서의 키 다운 시간과 키 업 시간의 차이값이고, 제2 시간 정보는 시간 관련 API를 이용해서 산출된 유저 레벨에서 키 다운 시간과 키 업 시간의 차이값인 것을 특징으로 한다.
또한, 상기 스피드 핵 발생 여부를 탐지하는 단계에서, 상기 제1 시간 정보와 상기 제2 시간 정보의 차이가 임계치 이상인 경우 상기 스피드 핵이 발생된 것으로 결정하는 것을 특징으로 한다.
상술한 목적을 달성하기 위한 본 발명의 일 측면에 따른 훅을 이용한 컴퓨터 보안 서비스 제공 장치는 훅을 이용하여 운영체제로부터 수신되는 입력 메시지를 모니터링하는 훅 관리 모듈; 상기 입력 메시지에 가상 입력 메시지 플래그가 포함되어 있는지 여부의 판단을 통해 매크로 핵 발생 여부를 탐지하는 매크로 핵 탐지 모듈; 및 매크로 핵이 발생된 것으로 탐지되면, 상기 입력 메시지를 필터링하는 필터링 모듈을 포함한다.
본 발명에 따르면, 입력 메시지에 가상 입력 메시지 플래그가 존재하는지 여부의 판단을 통해 유저 레벨에서 시도되는 매크로 핵을 탐지하거나 커널 레벨에서의 시간 정보를 이용하여 커널 레벨에서 시도되는 매크로 핵을 탐지할 수 있어 컴퓨터 보안의 구현이 용이하다는 효과가 있다.
또한, 본 발명은 자체적으로 발생시킨 가상 입력 메시지를 이용하여 입력 메시지의 변경 여부를 판단할 수 있으므로, 입력 메시지에 포함되어 있는 가상 입력 메시지 플래그를 삭제함으로써 매크로 핵의 시도를 은닉하려는 시도를 원천적으로 봉쇄할 수 있다는 효과가 있다.
또한, 본 발명은 훅을 시스템 메시지 큐에 설치함으로써 컴퓨터의 부하를 경감시킬 수 있다는 효과가 있다.
또한, 본 발명은 입력 메시지로부터 획득되는 커널 레벨에서의 시간과 시간 관련 API로부터 획득되는 유저 레벨에서의 시간의 차이만을 이용하여 스피드 핵의 시도를 탐지할 수 있어 스피드 핵 탐지의 구현이 용이하다는 효과가 있다.
도 1은 종래기술에 따른 스피드 핵 차단 방법을 보여주는 도면.
도 2는 본 발명의 일 실시예에 따른 컴퓨터 보안 서비스 제공 장치의 개략적인 블록도.
도 3은 본 발명의 제1 실시예에 따른 매크로 핵 차단 방법을 보여주는 플로우차트.
도 4는 본 발명의 제2 실시예에 따른 매크로 핵 차단 방법을 보여주는 플로우차트.
도 5는 본 발명의 제3 실시예에 따른 스피드 핵 차단 방법을 보여주는 플로우차트.
<도면의 주요부분에 대한 부호의 설명>
310: 윈도우 메시지 훅 관리 모듈
320: 매크로 핵 탐지 모듈
330: 필터링 모듈
370: 가상 입력 발생 모듈
380: 변경 판단 모듈
390: 시간 정보 생성 모듈
400: 스피드 핵 탐지 모듈
본 발명에 대해 설명하기에 앞서 본 발명에서 사용되는 입력 메시지와 훅에 대해 간략히 설명하기로 한다.
먼저, 입력 메시지란 키보드나 마우스 등과 같은 입력 장치에 의해 발생되는 실제 입력, API(Application Programming Interface)나 장치 드라이버를 이용하여 소프트웨어적으로 발생되는 가상 입력, 가상 입력 드라이버를 이용하여 발생되는 가상 입력을 기초로 하여 운영체제(Operating System)에 의해 생성되는 메시지를 의미한다. 운영체제에 의해 생성된 입력 메시지는 시스템 메시지 큐에 임시로 저장되었다가 각 프로세스 별로 분류되어 각 프로세스 별 스레드 메시지 큐로 할당된다. 일 실시예에 있어서, 상술한 입력 메시지는 윈도우 입력 메시지일 수 있는데, 이하에서는 설명의 편의를 위해 입력 메시지가 윈도우 입력 메시지인 것으로 가정하여 설명하지만, 이는 하나의 예일 뿐 입력 메시지가 윈도우 입력 메시지로 한정되지는 않을 것이다.
다음으로, 훅(Hook)이란 입력 메시지의 트래픽을 모니터링 하기 위해 어플리케이션에서 설치할 수 있는 시스템 메시지 핸들링 메커니즘을 의미한다. 이러한 훅을 이용하여 운영체제로부터 전달되는 윈도우 입력 메시지의 내용을 확인할 수 있다. 일 실시예에 있어서 이러한 훅은 윈도우 메시지를 후킹하기 위한 윈도우 메시지 훅일 수 있는데, 이하에서는 설명의 편의를 위해 훅이 윈도우 메시지 훅인 것으로 가정하여 설명하지만, 이는 하나의 예일 뿐 훅이 윈도우 메시지 훅으로 한정되지는 않을 것이다.
이하 첨부된 도면을 참조하여 본 발명의 실시예에 대해 상세히 설명한다.
도 2는 본 발명의 일 실시예에 따른 컴퓨터 보안 서비스 제공 장치를 컴퓨터 시스템에 적용한 도면이다. 본 발명의 일 실시예에 따른 컴퓨터 보안 서비스 제공 장치(300)는 컴퓨터 시스템(302)과 연동함으로써 악의적인 사용자가 게임에서 이득을 취하기 위해 시도하는 매크로 핵(Macro Hack)이나 스피드 핵(Speed Hack)을 탐지하고, 매크로 핵이나 스피드 핵을 차단하는 역할을 수행한다.
이러한 컴퓨터 보안 서비스 제공 장치(300)는 도시된 바와 같이 윈도우 메시지 훅 관리 모듈(310), 매크로 핵 탐지 모듈(320), 및 필터링 모듈(330)을 포함한다.
먼저, 윈도우 메시지 훅 관리 모듈(310)은 윈도우 메시지 훅(Hook)을 설치(Install)하고, 설치된 윈도우 메시지 훅을 이용하여 운영체제(340)로부터 수신되는 윈도우 입력 메시지를 모니터링한다.
이때, 윈도우 메시지 훅 관리 모듈(310)은 운영체제(340)로부터 전달되는 모든 윈도우 메시지들이 임시로 저장되는 시스템 메시지 큐(350)에 윈도우 메시지 훅을 설치할 수 있다. 본 발명에서 윈도우 메시지 훅 관리 모듈(310)이 윈도우 메시지 훅을 시스템 메시지 큐(350)에 설치하는 것은, 각 프로세스 별 윈도우 메시지들이 임시로 저장되는 스레드 메시지 큐(360)에 윈도우 메시지 훅을 설치하게 되면, 각 스레드 메시지 큐(360)별로 윈도우 메시지 훅을 모두 설치해야 하기 때문에, 시스템의 부하가 가중될 수 있기 때문이다.
일 실시예에 있어서, 윈도우 메시지 훅 관리 모듈(310)에 의해 설치되는 윈도우 메시지 훅은 키보드 로우 레벨 메시지 훅 또는 마우스 로우 레벨 메시지 훅을 포함할 수 있다.
상술한 윈도우 메시지 훅 관리 모듈(310)은 아래와 같은 함수를 호출함으로써 윈도우 메시지 훅을 설치할 수 있다.
HHOOK SetWIndowsHookEx[Int IdHook, HOOKLPROC Ipfn, HINSTANCE hMod, DWORD dwThreadId]
여기서, IdHook는 설치할 윈도우 메시지 훅 타입을 의미하는 것으로서, 일 실시예에 있어서 훅 타입은 상술한 바와 같이 키보드 로우 레벨 메시지 훅 또는 마우스 로우 레벨 메시지 훅이 있을 수 있다. 훅 타입이 키보드 로우 레벨 메시지 훅인 경우 훅 타입은 "WH_KEYBOARD_LL"로 설정되고, 훅 타입이 마우스 로우 레벨 메시지 훅인 경우 훅 타입은 "WH_MOUSE_LL"로 설정될 수 있다.
다음으로, Ipfn은 윈도우 메시지 훅 관리 모듈(310)의 포인터를 의미하며, hMod는 윈도우 메시지 훅 관리 모듈(310)을 가지고 있는 DLL의 핸들을 의미한다. 또한, dwThreadId는 윈도우 메시지 훅 관리 모듈(310)과 관련된 스레드 메시지 큐의 식별자를 의미하는 것으로서, 그 값이 0으로 설정되어 있는 경우 해당 윈도우 메시지 훅 관리 모듈(310)은 시스템에 존재하는 모든 스레드 메시지 큐와 관련된 윈도우 메시지 훅 관리 모듈(310)이라는 것을 나타낸다.
다음으로, 매크로 핵 탐지 모듈(320)은 윈도우 입력 메시지 훅 관리 모듈(310)의해 모니터링된 윈도우 입력 메시지에 가상 입력 메시지 플래그가 포함되어 있는지 여부를 판단함으로써 매크로 핵이 시도되는지 여부를 탐지한다.
여기서, 가상 입력 메시지 플래그란 유저 레벨에서 윈도우 API를 이용해서 가상 입력이 발생 되면 운영체제(340)가 가상 입력을 기초로 윈도우 입력 메시지를 생성할 때 윈도우 입력 메시지에 삽입하는 플래그를 의미한다.
따라서, 매크로 핵 탐지 모듈(320)은 모니터링된 윈도우 입력 메시지에 가상 입력 메시지 플래그가 포함되어 있는지 여부를 판단함으로써 해당 윈도우 입력 메시지가 가상 입력 메시지인지 여부를 판단할 수 있다.
판단 결과, 윈도우 입력 메시지에 가상 입력 메시지 플래그가 포함되어 있는 경우, 매크로 핵 탐지 모듈(320)은 해당 윈도우 입력 메시지를 가상 입력 메시지인 것으로 결정하고, 악의적인 사용자에 의해 매크로 핵이 시도되고 있는 것으로 판단한다.
한편, 매크로 핵 탐지 모듈(320)에 의해 가상 입력 메시지가 아닌 것으로 판단된 윈도우 입력 메시지는 시스템 메시지 큐(350)로부터 스레드 메시지 큐(360)에 할당된 후 메시지 처리부(410)에 의해 처리된다.
필터링 모듈(330)은 매크로 핵 탐지 모듈(320)에 의해 매크로 핵이 시도되는 것으로 판단되면, 해당 윈도우 입력 메시지를 필터링 함으로써 해당 윈도우 입력 메시지가 시스템 메시지 큐(350)에서 스레드 메시지 큐(370)로 할당되지 못하도록 한다.
이와 같이 본 발명은, 악의적인 사용자가 매크로 핵을 시도하기 위해 윈도우 API를 이용하여 가상 입력을 발생 시킨 경우, 해당 가상 입력에 기초하여 생성된 윈도우 입력 메시지에 가상 입력 메시지 플래그가 존재하는지 여부를 판단함으로써 매크로 핵 시도를 탐지할 수 있고, 매크로 핵 시도가 탐지되면 해당 윈도우 입력 메시지를 필터링 함으로써 매크로 핵 시도를 차단하게 된다.
상술한 실시예에 있어서 매크로 핵 탐지 모듈(320)은 윈도우 입력 메시지에 가상 입력 메시지 플래그가 포함되어 있는지 여부의 판단을 통해 매크로 핵을 탐지하는 것으로 기재하였다.
그러나, 윈도우 메시지 훅 관리 모듈(310)이 시스템 메시지 큐(350)에 윈도우 메시지 훅을 설치한 후 악의적인 사용자가 시스템 메시지 큐(350)에 다시 윈도우 메시지 훅을 설치하는 경우, 악의적인 사용자가 윈도우 메시지 훅 관리 모듈(310)보다 먼저 윈도우 입력 메시지를 모니터링할 수 있어 악의적인 사용자가 윈도우 입력 메시지에서 가상 입력 메시지 플래그를 삭제할 수 있게 된다.
이러한 경우 윈도우 메시지 훅 관리 모듈(310)에 의해 모니터링되는 윈도우 입력 메시지가 가상 입력 메시지라 하더라도 이미 악의적인 사용자에 의해 윈도우 입력 메시지에서 가상 입력 메시지 플래그가 삭제되어 있기 때문에, 매크로 탐지 모듈(320)은 해당 윈도우 입력 메시지를 가상 입력 메시지로 판단하지 않게 되고 따라서 매크로 핵이 시도되지 않은 것으로 판단하게 된다.
이를 방지하기 위해 본 발명에 따른 컴퓨터 보안 서비스 제공 장치(300)는 가상 입력 발생 모듈(370)과 변경 판단 모듈(380)을 더 포함할 수 있다.
가상 입력 발생 모듈(370)은 자체적으로 가상 입력을 발생시켜 운영체제(340) 및 후술할 변경 판단 모듈(380)로 제공하는 역할을 수행한다. 일 실시예에 있어서, 가상 입력 발생 모듈(370)은 가상 입력을 발생시킴에 있어서, 가상 입력이 컴퓨터 시스템에 영향을 미치지 않도록 하기 위해 "0xFF"와 같이 아무런 의미를 가지지 않는 값을 이용하여 가상 입력을 발생시킬 수 있다.
이후, 운영체제(340)는 가상 입력 발생 모듈(370)에 의해 생성된 가상 입력을 기초로 윈도우 입력 메시지를 생성할 때, 일반적인 윈도우 입력 메시지와 같이 윈도우 입력 메시지에 가상 입력 메시지 플래그를 삽입한다.
변경 판단 모듈(380)은, 운영체제(340)로부터 전달되는 윈도우 입력 메시지들 중 가상 입력 발생 모듈(370)에 의한 가상 입력에 기초하여 생성된 윈도우 입력 메시지에 가상 입력 메시지 플래그가 포함되어 있는지 여부를 판단한다. 판단결과, 해당 윈도우 입력 메시지에 가상 입력 메시지 플래그가 포함되어 있지 않은 경우 해당 윈도우 입력 메시지가 변경된 것으로 판단한다.
즉, 자체적으로 발생시킨 가상 입력을 기초로 생성된 윈도우 입력 메시지는 가상 입력 메시지이므로 가상 입력 메시지 플래그가 포함되어 있어야 함에도 불구하고, 해당 가상 입력을 기초로 생성된 윈도우 입력 메시지에 가상 입력 메시지 플래그가 포함되어 있지 않다는 것은 사용자가 인위적으로 윈도우 입력 메시지에서 가상 입력 메시지 플래그를 삭제하였다는 것을 의미하고, 이는 악의적인 사용자가 윈도우 메시지 훅을 이용하여 윈도우 입력 메시지를 변경하였음을 의미한다.
한편, 상술한 실시예에 있어서는 컴퓨터 보안 서비스 제공 장치(300)가 윈도우 API를 통해 발생된 가상 입력을 이용하여 시도되는 매크로 핵을 차단하는 것으로 기재하였다. 그러나, 매크로 핵은 윈도우 API를 통해 발생된 가상 입력뿐만 아니라 커널 레벨에서 가상 입력 드라이버를 이용하여 생성된 가상 입력을 이용하여 시도될 수도 있다. 이러한 경우에는 상술한 바와 같이 윈도우 입력 메시지에 가상 입력 메시지 플래그가 포함되어 있는지 여부로 매크로 핵을 탐지할 수 없다.
따라서, 본 발명은 커널 레벨에서 가상 입력 드라이버로 발생시킨 가상 입력을 이용하여 시도되는 매크로 핵을 차단하기 위해 도시된 바와 같이 시간 정보 생성 모듈(390)을 더 포함할 수 있다.
시간 정보 생성 모듈(390)은 윈도우 메시지 훅 관리 모듈(310)에 의해 모니터링된 윈도우 입력 메시지를 이용하여 커널 레벨에서의 제1 시간 정보를 생성한다. 일 실시예에 있어서, 시간 정보 생성 모듈(390)은 윈도우 입력 메시지로부터 획득되는 커널 레벨에서의 키 다운 발생 시간과 키 업 발생 시간 간의 차이값을 이용하여 제1 시간 정보를 산출할 수 있다.
이러한 실시예에 의하는 경우, 매크로 핵 탐지 모듈(320)은 시간 정보 생성 모듈(390)에 의해 생성된 제1 시간 정보가 각 윈도우 입력 메시지 별로 동일한지 여부를 판단한다. 판단결과, 제1 시간 정보가 윈도우 입력 메시지 별로 동일한 경우, 매크로 핵 탐지 모듈(320)은 해당 윈도우 입력 메시지를 커널 레벨에서의 가상 입력 메시지로 판단하고, 매크로 핵이 발생된 것으로 결정한다.
여기서, 매크로 핵 탐지 모듈(320)이 제1 시간 정보가 각 윈도우 입력 메시지 별로 동일한 경우 해당 윈도우 입력 메시지를 가상 입력 메시지로 판단하는 것은, 가상 입력 드라이버를 이용하여 기계적으로 발생되는 가상 입력의 경우 키다운 발생 시간과 키업 발생 시간의 차이값인 제1 시간 정보가 모든 윈도우 입력 메시지에 있어서 동일할 가능성이 높기 때문이다.
한편, 상술한 실시예에 있어서는 컴퓨터 보안 서비스 제공 장치(300)가 가상 입력을 이용하여 시도되는 매크로 핵을 탐지하는 것으로 기재하였지만, 스피드 핵 탐지 모듈(400)을 더 포함함으로써 시간 관련 API의 후킹을 이용한 스피드 핵 시도도 탐지할 수 있다.
스피드 핵 탐지를 위해, 상술한 시간 정보 생성 모듈(390)은 윈도우 입력 메시지로부터 획득되는 커널 레벨에서의 제1 시간 정보뿐만 아니라, 시간 관련 API로부터 획득되는 유저 레벨에서의 제2 시간정보를 생성한다. 여기서, 시간 관련 API는 GetTickCount, SetTimer, timeGetTime 등을 포함할 수 있으며, 제2 시간 정보는 시간 관련 API로부터 획득되는 유저 레벨에서의 키 다운 발생 시간과 키 업 발생 시간 간의 차이값을 이용하여 생성될 수 있다.
스피드 핵 탐지 모듈(400)은 상술한 시간 정보 생성 모듈(390)에 의해 생성된 제1 시간 정보 및 제2 시간정보를 이용하여 스피드 핵 발생 여부를 탐지한다. 구체적으로, 스피드 핵 탐지 모듈(400)은 제1 시간 정보와 제2 시간 정보의 차이가 임계치 이상인 경우 스피드 핵이 발생된 것으로 판단한다. 즉, 제1 시간 정보와 제2 시간 정보가 임계치 이상 차이가 나는 것은 악의적인 사용자가 유저 레벨에서 시간 관련 API를 이용하여 시간을 변경하였다는 것을 의미하므로 스피드 핵이 발생된 것으로 판단하게 되는 것이다.
이하에서는 도 3 내지 도 5를 참조하여 본 발명에 따른 훅을 이용한 컴퓨터 보안 서비스 제공 방법에 대해 설명하기로 한다.
도 3은 본 발명의 제1 실시예에 따라 윈도우 메시지 훅을 이용하여 매크로 핵을 차단하는 방법을 보여주는 플로우차트이다. 도 3에 도시된 매크로 핵 차단 방법은 악의적인 사용자가 유저 레벨에서 윈도우 API를 이용하여 발생시킨 가상 입력을 이용하여 시도되는 매크로 핵을 차단하는 방법을 보여준다.
도시된 바와 같이, 먼저 윈도우 메시지 훅을 설치한다(S400). 일 실시예에 있어서, 윈도우 메시지 훅은 모든 윈도우 메시지들이 임시로 저장되는 시스템 메시지 큐에 설치할 수 있으며, 이때 설치되는 윈도우 메시지 훅은 키보드 로우 레벨 메시지 훅 또는 마우스 로우 레벨 메시지 훅을 포함할 수 있다.
이후, 윈도우 메시지 훅이 정상적으로 설치되었는지 여부를 판단하여(S405), 정상적으로 설치된 경우, 설치된 윈도우 메시지 훅을 이용하여 운영체제로부터 수신되는 윈도우 입력 메시지를 모니터링한다(S410).
다음으로, 모니터링되는 윈도우 입력 메시지에 가상 입력 메시지 플래그가 포함되어 있는지 여부를 판단한다(S420).
판단결과, 윈도우 입력 메시지에 가상 입력 메시지 플래그가 포함 되어 있으면 해당 윈도우 입력 메시지를 가상 입력 메시지로 판단함으로써 매크로 핵이 발생된 것으로 결정하고, 해당 윈도우 입력 메시지를 필터링한다(S430).
S420에서 윈도우 입력 메시지에 가상 입력 메시지 플래그가 포함되어 있지 않으면 해당 윈도우 입력 메시지는 가상 입력 메시지가 아닌 것으로 판단하고, 해당 윈도우 메시지를 메시지 루프에 따라서 처리한다(S440).
한편, 상술한 도 3에는 도시하지 않았지만, 악의적인 사용자가 윈도우 메시지 훅 설치 이후에 다시 윈도우 메시지 훅을 설치하는 경우, 악의적인 사용자가 먼저 윈도우 입력 메시지를 모니터링하고, 악의적인 사용자가 윈도우 입력 메시지에서 가상 입력 메시지 플래그를 삭제함으로써 매크로 핵을 은닉할 수 있다.
이를 방지하기 위해 본 발명은 상술한 윈도우 메시지 훅 설치 과정 이후에, 자체적으로 가상 입력을 발생시켜 운영체제로 제공하는 과정(미도시)과, 자체적으로 발생된 가상 입력을 기초로 생성된 윈도우 입력 메시지를 모니터링함으로써 윈도우 입력 메시지의 변경 여부를 판단하는 과정(미도시)을 더 포함할 수 있다.
이때, 윈도우 입력 메시지 변경 여부 판단시, 자체적으로 발생된 가상 입력에 기초하여 생성된 윈도우 입력 메시지에 가상 입력 메시지 플래그가 포함되어 있지 않은 경우 해당 윈도우 입력 메시지가 변경된 것으로 판단할 수 있다.
도 4는 본 발명의 제2 실시예에 따라 훅을 이용하여 매크로 핵을 차단하는 방법을 보여주는 플로우차트이다. 도 4에 도시된 매크로 핵 차단 방법은 악의적인 사용자가 커널 레벨에서 가상 입력 드라이버를 이용하여 발생시킨 가상 입력을 이용하여 시도되는 매크로 핵을 차단하는 방법을 보여준다.
도시된 바와 같이, 먼저 윈도우 메시지 훅을 설치한다(S500). 제1 실시예에서와 같이 윈도우 메시지 훅은 모든 윈도우 메시지들이 임시로 저장되는 시스템 메시지 큐에 설치할 수 있으며, 이때 설치되는 윈도우 메시지 훅은 키보드 로우 레벨 메시지 훅 또는 마우스 로우 레벨 메시지 훅일 수 있다.
이후, 윈도우 메시지 훅이 정상적으로 설치되었는지 여부를 판단하여(S505), 정상적으로 설치된 경우, 설치된 윈도우 메시지 훅을 이용하여 운영체제로부터 수신되는 윈도우 입력 메시지를 모니터링한다(S510).
다음으로, 모니터링된 윈도우 입력 메시지를 이용하여 커널 레벨에서의 제1 시간 정보를 생성한다(S520). 일 실시예에 있어서, 제1 시간 정보는 윈도우 입력 메시지로부터 획득되는 키 다운 시간과 키 업 시간의 차이값을 이용하여 생성할 수 있다.
이후, 각 윈도우 입력 메시지 별로 S520에서 생성된 제1 시간 정보가 동일한지 여부를 판단한다(S530).
판단결과, 각 윈도우 입력 메시지 별로 제1 시간 정보가 동일한 경우 해당 윈도우 입력 메시지를 가상 입력 메시지로 판단함으로써 매크로 핵이 발생된 것으로 결정하고, 해당 윈도우 입력 메시지를 필터링한다(S540).
S530의 판단결과 각 윈도우 입력 메시지 별로 제1 시간 정보가 동일하지 않은 경우 해당 윈도우 입력 메시지를 가상 입력 메시지가 아닌 것으로 판단하고, 해당 윈도우 메시지를 메시지 루프에 따라서 처리한다(S550).
한편, 제2 실시예에 있어서도, 제1 실시예에서와 동일하게 악의적인 사용자가 윈도우 입력 메시지에서 가상 입력 메시지 플래그를 삭제함으로써 매크로 핵을 은닉하려는 시도를 방지하기 위해 상술한 윈도우 메시지 훅 설치 과정 이후에, 자체적으로 가상 입력을 발생시켜 운영체제로 제공하는 과정(미도시)과, 자체적으로 발생된 가상 입력을 기초로 생성된 윈도우 입력 메시지를 윈도우 메시지 훅을 통해 모니터링함으로써 윈도우 입력 메시지의 변경 여부를 판단하는 과정(미도시)을 더 포함할 수 있다. 이에 대한 설명은 이미 구체적으로 설명하였으므로 상세한 설명은 생략하기로 한다.
상술한 실시예에 있어서는 유저 레벨에서의 윈도우 API를 이용한 매크로 핵 탐지와 커널 레벨에서의 가상 입력 드라이버를 이용한 매크로 핵 탐지가 별개의 과정을 수행되는 것으로 기재하였지만, 변형된 실시예에 있어서는 하나로 통합되어 수행될 수도 있을 것이다.
즉, 유저 레벨에서의 윈도우 API를 이용한 매크로 핵 탐지 과정을 수행한 후 커널 레벨에서의 가상 입력 드라이버를 이용한 매크로 핵 탐지 과정을 수행하거나, 커널 레벨에서의 가상 입력 드라이버를 이용한 매크로 핵 탐지 과정을 수행한 후 유저 레벨에서의 윈도우 API를 이용한 매크로 핵 탐지 과정을 수행할 수 있을 것이다.
도 5는 본 발명의 제3 실시예에 따라 훅을 이용하여 스피드 핵을 차단하는 방법을 보여주는 플로우차트이다.
도시된 바와 같이, 먼저 윈도우 메시지 훅을 설치한다(S600). 제1 실시예에서와 같이 윈도우 메시지 훅은 모든 윈도우 메시지들이 임시로 저장되는 시스템 메시지 큐에 설치할 수 있으며, 이때 설치되는 윈도우 메시지 훅은 키보드 로우 레벨 메시지 훅 또는 마우스 로우 레벨 메시지 훅일 수 있다.
이후, 윈도우 메시지 훅이 정상적으로 설치되었는지 여부를 판단하여(S605), 정상적으로 설치된 경우, 설치된 윈도우 메시지 훅을 이용하여 운영체제로부터 수신되는 윈도우 입력 메시지를 모니터링한다(S610).
다음으로, 모니터링된 윈도우 입력 메시지를 이용하여 커널 레벨에서의 제1 시간 정보를 생성하고, 시간 관련 API를 이용하여 유저 레벨에서의 제2 시간 정보를 생성한다(S620).
일 실시예에 있어서, 제1 시간 정보는 윈도우 입력 메시지로부터 획득되는 키 다운 발생 시간과 키 업 발생 시간의 차이값을 이용하여 생성할 수 있고, 제2 시간 정보는 시간 관련 API를 이용하여 획득되는 키 다운 발생 시간과 키 업 발생 시간의 차이값을 이용하여 생성할 수 있다.
이후, 제1 시간 정보와 제2 시간 정보의 차이값을 산출하고(S630), 산출된 차이값이 임계치 이상인지 여부를 판단한다(S640).
판단결과, 산출된 차이값이 임계치 이상인 경우 스피드 핵이 시도된 것으로 판단하여 해당 윈도우 입력 메시지를 필터링하고(S650), 산출된 차이값이 임계치 미만인 경우 해당 윈도우 입력 메시지를 메시지 루프에 따라서 처리한다(S660).
상술한 컴퓨터 보안 서비스 제공 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터로 판독 가능한 기록 매체에 기록될 수 있다. 이때, 컴퓨터로 판독 가능한 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 한편, 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터로 판독 가능한 기록매체에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM, DVD와 같은 광기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 한편, 이러한 기록매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다.
또한, 프로그램 명령에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
한편, 본 발명이 속하는 기술분야의 당업자는 상술한 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다.
그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
Claims (26)
- 운영체제(Operating System)로부터 수신되는 입력 메시지를 훅(Hook)을 이용하여 모니터링하는 단계;상기 입력 메시지에 가상 입력 메시지 플래그가 포함되어 있는지 여부를 판단하는 단계; 및판단결과를 이용하여 매크로 핵(Macro Hack) 발생 여부를 탐지하는 단계를 포함하는 것을 특징으로 하는 훅을 이용한 컴퓨터 보안 서비스 제공 방법.
- 제1항에 있어서, 상기 매크로 핵 발생 여부 탐지 단계에서,상기 입력 메시지에 상기 가상 입력 메시지 플래그가 포함 되어 있으면 상기 입력 메시지를 제1 타입의 가상 입력 메시지로 판단하고, 매크로 핵이 발생된 것으로 결정하는 것을 특징으로 하는 훅을 이용한 컴퓨터 보안 서비스 제공 방법.
- 제2항에 있어서, 상기 제1 타입의 가상 입력 메시지는 유저 레벨 API(Application Programming Interface)를 이용하여 발생된 가상 입력 메시지인 것을 특징으로 하는 훅을 이용한 컴퓨터 보안 서비스 제공 방법.
- 제1항에 있어서,매크로 핵이 발생된 것으로 탐지되면, 상기 입력 메시지를 필터링하는 단계를 더 포함하는 것을 특징으로 하는 훅을 이용한 컴퓨터 보안 서비스 제공 방법.
- 제1항에 있어서,상기 훅은 키보드 로우 레벨 훅 또는 마우스 로우 레벨 훅을 포함하는 것을 특징으로 하는 훅을 이용한 컴퓨터 보안 서비스 제공 방법.
- 제1항에 있어서,상기 훅은 모든 메시지들이 임시로 저장되는 시스템 메시지 큐에 설치되는 것을 특징으로 하는 훅을 이용한 컴퓨터 보안 서비스 제공 방법.
- 제1항에 있어서,가상 입력을 발생시켜 상기 운영체제로 제공하는 단계; 및상기 가상 입력을 기초로 생성된 제1 입력 메시지를 상기 훅을 통해 모니터링함으로써 상기 제1 입력 메시지의 변경 여부를 판단하는 단계를 더 포함하는 것을 특징으로 하는 훅을 이용한 컴퓨터 보안 서비스 제공 방법.
- 제7항에 있어서, 상기 제1 메시지 변경 여부 판단 단계에서,상기 제1 메시지에 상기 가상 입력 메시지 플래그가 포함되어 있지 않은 경우 상기 제1 메시지가 변경된 것으로 판단하는 것을 특징으로 하는 훅을 이용한 컴퓨터 보안 서비스 제공 방법.
- 제1항에 있어서,상기 입력 메시지를 이용하여 커널 레벨에서의 제1 시간 정보를 생성하는 단계;상기 제1 시간 정보가 각 입력 메시지 별로 동일한 경우 상기 입력 메시지를 제2 타입의 가상 입력 메시지로 판단하고, 매크로 핵이 발생된 것으로 결정하는 단계를 더 포함하는 것을 특징으로 하는 훅을 이용한 컴퓨터 보안 서비스 제공 방법.
- 제9항에 있어서,상기 제2 타입의 가상 입력 메시지는 커널 레벨에서 가상 입력 드라이버를 이용하여 발생된 것임을 특징으로 하는 훅을 이용한 컴퓨터 보안 서비스 제공 방법.
- 제9항에 있어서,상기 제1 시간 정보는 상기 입력 메시지로부터 획득되는 키 다운 시간과 키 업 시간의 차이값인 것을 특징으로 하는 훅을 이용한 컴퓨터 보안 서비스 제공 방법.
- 제1항에 있어서,상기 입력 메시지로부터 획득되는 커널 레벨에서의 제1 시간 정보와 시간 관련 API로부터 획득되는 유저 레벨에서의 제2 시간정보를 이용하여 스피드 핵 발생 여부를 탐지하는 단계를 더 포함하는 것을 특징으로 하는 훅을 이용한 컴퓨터 보안 서비스 제공 방법.
- 제12항에 있어서,제1 시간 정보는 커널 레벨에서의 키 다운 시간과 키 업 시간의 차이값이고, 제2 시간 정보는 시간 관련 API를 이용해서 산출된 유저 레벨에서 키 다운 시간과 키 업 시간의 차이값인 것을 특징으로 하는 훅을 이용한 컴퓨터 보안 서비스 제공 방법.
- 제12항에 있어서, 상기 스피드 핵 발생 여부를 탐지하는 단계에서,상기 제1 시간 정보와 상기 제2 시간 정보의 차이가 임계치 이상인 경우 상기 스피드 핵이 발생된 것으로 결정하는 것을 특징으로 하는 훅을 이용한 컴퓨터 보안 서비스 제공 방법.
- 제1항 내지 제14항에 기재된 어느 하나의 방법을 수행하기 위한 컴퓨터로 판독 가능한 프로그램이 기록된 기록 매체.
- 훅을 이용하여 운영체제로부터 수신되는 입력 메시지를 모니터링하는 훅 관리 모듈;상기 입력 메시지에 가상 입력 메시지 플래그가 포함되어 있는지 여부의 판단을 통해 매크로 핵 발생 여부를 탐지하는 매크로 핵 탐지 모듈; 및매크로 핵이 발생된 것으로 탐지되면, 상기 입력 메시지를 필터링하는 필터링 모듈을 포함하는 것을 특징으로 하는 훅을 이용한 컴퓨터 보안 서비스 제공 장치.
- 제16항에 있어서,상기 매크로 핵 탐지 모듈은, 상기 입력 메시지에 상기 가상 입력 메시지 플래그가 포함 되어 있으면 상기 입력 메시지를 제1 타입의 가상 입력 메시지로 판단하고, 매크로 핵이 발생된 것으로 결정하는 것을 특징으로 하는 훅을 이용한 컴퓨터 보안 서비스 제공 장치.
- 제17항에 있어서,상기 제1 타입의 가상 입력 메시지는 유저 레벨 API를 통해 발생된 가상 입력 메시지인 것을 특징으로 하는 훅을 이용한 컴퓨터 보안 서비스 제공 장치.
- 제16항에 있어서,상기 훅은 키보드 로우 레벨 훅 또는 마우스 로우 레벨 훅을 포함하는 것을 특징으로 하는 훅을 이용한 컴퓨터 보안 서비스 제공 장치.
- 제16항에 있어서,상기 훅 관리 모듈은 상기 운영체제로부터 전달되는 모든 메시지들이 임시로 저장되는 시스템 메시지 큐에 상기 훅을 설치하는 것을 특징으로 하는 훅을 이용한 컴퓨터 보안 서비스 제공 장치.
- 제16항에 있어서,가상 입력을 발생시켜 상기 운영체제로 제공하는 가상 입력 발생부; 및상기 가상 입력을 기초로 생성된 제1 입력 메시지에 상기 가상 입력 메시지 플래그가 포함되어 있지 않은 경우 상기 제1 입력 메시지가 변경된 것으로 판단하는 변경 판단 모듈을 더 포함하는 것을 특징으로 하는 훅을 이용한 컴퓨터 보안 서비스 제공 장치.
- 제16항에 있어서,상기 입력 메시지를 이용하여 커널 레벨에서의 제1 시간 정보를 생성하는 시간 정보 생성 모듈을 더 포함하고,상기 매크로 핵 탐지 모듈은, 상기 제1 시간 정보가 각 입력 메시지 별로 동일한 경우 상기 입력 메시지를 제2 타입의 가상 입력 메시지로 판단하고, 매크로 핵이 발생된 것으로 결정하는 것을 특징으로 하는 훅을 이용한 컴퓨터 보안 서비스 제공 장치.
- 제22항에 있어서,상기 제2 타입의 가상 입력 메시지는 가상 입력 드라이버를 이용하여 발생된 것임을 특징으로 하는 훅을 이용한 컴퓨터 보안 서비스 제공 장치.
- 제16항에 있어서,상기 제1 입력 메시지로부터 획득되는 커널 레벨에서의 제1 시간 정보와 시간 관련 API로부터 획득되는 유저 레벨에서의 제2 시간정보를 생성하는 시간 정보 생성 모듈; 및상기 제1 시간 정보 및 제2 시간정보를 이용하여 스피드 핵 발생 여부를 탐지하는 스피드 핵 탐지 모듈을 더 포함하는 것을 특징으로 하는 훅을 이용한 컴퓨터 보안 서비스 제공 장치.
- 제24항에 있어서,상기 시간 정보 산출 모듈은, 커널 레벨에서의 키 다운 발생 시간과 키 업 발생 시간 간의 차이값을 이용하여 상기 제1 시간 정보를 산출하고, 시간 관련 API로부터 획득되는 유저 레벨에서의 키 다운 발생 시간과 키 업 발생 시간 간의 차이값을 이용하여 상기 제2 시간 정보를 생성하는 것을 특징으로 하는 훅을 이용한 컴퓨터 보안 서비스 제공 장치.
- 제24항에 있어서,상기 스피드 핵 탐지 모듈은, 상기 제1 시간 정보와 상기 제2 시간 정보의 차이가 임계치 이상인 경우 상기 스피드 핵이 발생된 것으로 판단하는 것을 특징으로 하는 훅을 이용한 컴퓨터 보안 서비스 제공 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012505829A JP5580878B2 (ja) | 2009-04-17 | 2010-04-19 | フックを利用したコンピュータセキュリティサービス提供方法、装置及びコンピュータ読み取り可能な記録媒体 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090033432A KR101005593B1 (ko) | 2009-04-17 | 2009-04-17 | 훅을 이용한 컴퓨터 보안 서비스 제공 방법 및 장치 |
KR10-2009-0033432 | 2009-04-17 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2010120157A2 true WO2010120157A2 (ko) | 2010-10-21 |
WO2010120157A3 WO2010120157A3 (ko) | 2011-01-20 |
Family
ID=42983031
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2010/002421 WO2010120157A2 (ko) | 2009-04-17 | 2010-04-19 | 훅을 이용한 컴퓨터 보안 서비스 제공 방법, 장치 및 컴퓨터 판독가능한 기록매체 |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP5580878B2 (ko) |
KR (1) | KR101005593B1 (ko) |
WO (1) | WO2010120157A2 (ko) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101434094B1 (ko) * | 2013-03-18 | 2014-08-26 | 한양대학교 에리카산학협력단 | 안드로이드 플랫폼에서 인텐트 모니터링을 통한 유해 어플리케이션 차단 방법 |
KR101421633B1 (ko) | 2013-04-02 | 2014-07-23 | 주식회사 잉카인터넷 | 스피드 핵 검출 시스템 및 방법 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040042731A (ko) * | 2002-11-15 | 2004-05-20 | 엘지엔시스(주) | 호스트 시스템의 파일 및 레지스트리 모니터링방법 |
KR20050090541A (ko) * | 2004-03-09 | 2005-09-14 | 주식회사 하우리 | 키보드 해킹차단 방법 및 그 프로그램을 기록한 기록매체 |
KR20060059795A (ko) * | 2004-11-29 | 2006-06-02 | 주식회사 안철수연구소 | 컴퓨터 시스템에서 내부 시간 변경 감지 방법 |
KR20060059757A (ko) * | 2004-11-29 | 2006-06-02 | 주식회사 안철수연구소 | 컴퓨터 프로그램에 의한 자동입력 방지방법 |
KR20060093932A (ko) * | 2005-02-23 | 2006-08-28 | 제이알소프트 주식회사 | 윈도우즈 운영체제에서 보안 입력 필터 드라이버와 인터넷익스플로러 내부의 키보드 보안 입력 비에이치오를 통한 인터넷 익스플로러 사용자의 키보드 입력 정보 해킹 방지 방법 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4439711B2 (ja) | 2000-10-19 | 2010-03-24 | Necエレクトロニクス株式会社 | データ処理装置およびシステム |
KR100483700B1 (ko) * | 2003-12-03 | 2005-04-19 | 주식회사 잉카인터넷 | 온라인 게임 클라이언트 보안을 위한 실시간 프로세스 불법 접근 및 조작 차단 방법 |
WO2007037640A1 (en) * | 2005-09-28 | 2007-04-05 | Ahn Lab, Inc. | Method for detecting modification of internal time in computer system |
-
2009
- 2009-04-17 KR KR1020090033432A patent/KR101005593B1/ko active IP Right Grant
-
2010
- 2010-04-19 JP JP2012505829A patent/JP5580878B2/ja active Active
- 2010-04-19 WO PCT/KR2010/002421 patent/WO2010120157A2/ko active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040042731A (ko) * | 2002-11-15 | 2004-05-20 | 엘지엔시스(주) | 호스트 시스템의 파일 및 레지스트리 모니터링방법 |
KR20050090541A (ko) * | 2004-03-09 | 2005-09-14 | 주식회사 하우리 | 키보드 해킹차단 방법 및 그 프로그램을 기록한 기록매체 |
KR20060059795A (ko) * | 2004-11-29 | 2006-06-02 | 주식회사 안철수연구소 | 컴퓨터 시스템에서 내부 시간 변경 감지 방법 |
KR20060059757A (ko) * | 2004-11-29 | 2006-06-02 | 주식회사 안철수연구소 | 컴퓨터 프로그램에 의한 자동입력 방지방법 |
KR20060093932A (ko) * | 2005-02-23 | 2006-08-28 | 제이알소프트 주식회사 | 윈도우즈 운영체제에서 보안 입력 필터 드라이버와 인터넷익스플로러 내부의 키보드 보안 입력 비에이치오를 통한 인터넷 익스플로러 사용자의 키보드 입력 정보 해킹 방지 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR20100114969A (ko) | 2010-10-27 |
JP2012524325A (ja) | 2012-10-11 |
JP5580878B2 (ja) | 2014-08-27 |
KR101005593B1 (ko) | 2011-01-05 |
WO2010120157A3 (ko) | 2011-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2016114601A1 (ko) | 위치정보 수집이 필요 없는 재난알림 서비스 방법 및 이를 위한 재난알림 서버, 애플리케이션 시스템 | |
WO2013169059A1 (ko) | 웹 서비스 모니터링 시스템 및 방법 | |
WO2019231135A1 (ko) | 차량 침입 감지 및 방지 시스템 | |
WO2018000673A1 (zh) | 一种终端应用程序运行的方法及装置 | |
WO2019022573A1 (en) | METHODS AND APPARATUS FOR MONITORING AUTHORIZED MASKED SENSITIVE APPLICATION BEHAVIOR DURING EXECUTION | |
WO2014088361A1 (en) | Method and apparatus for operating application of data processor based on priority | |
WO2018174486A1 (ko) | 서버 보안 강화를 위한 접근통제 시스템의 비인가 명령어 통제 방법 | |
WO2012060669A1 (ko) | Sms를 통해 원격 디바이스를 제어하는 방법 및 이를 위한 장치 | |
WO2015194829A2 (ko) | 인터넷 접속 요청을 하는 클라이언트 단말의 인터넷 접속 요청 트래픽으로부터 동일한 공인 ip를 이용하는 사설 네트워크상의 복수개의 클라이언트 단말 중에서 추가 비지정 도메인 네임을 구비한 웹서버에 의해 선별된 디바이스의 대수를 검출하는 방법 및 공인 ip 공유 상태의 디바이스의 선별적인 검출 시스템 | |
WO2014035094A1 (ko) | 통화 시도시 이동 통신 단말기로 부가 정보를 제공하는 시스템 및 방법 | |
WO2021112494A1 (ko) | 엔드포인트에 기반한 관리형 탐지 및 대응 시스템과 방법 | |
WO2019231215A1 (ko) | 단말 장치 및 이에 의한 악성 ap의 식별 방법 | |
WO2016064024A1 (ko) | 이상 접속 검출 장치 및 방법 | |
WO2010120157A2 (ko) | 훅을 이용한 컴퓨터 보안 서비스 제공 방법, 장치 및 컴퓨터 판독가능한 기록매체 | |
WO2014157826A1 (ko) | 스마트 기기 기반 악성코드의 침입을 차단하기 위한 시스템 및 그 방법 | |
WO2024210304A1 (ko) | 애플리케이션 사용량에 기반하여 계정에 등급을 부여하기 위한 방법 | |
WO2013022183A1 (en) | Device and method for controlling network for downloading file and network system therefor | |
WO2019066099A1 (ko) | 통합된 분석 모델에 기초하여 이상 행동을 감지하는 시스템 및 그 방법 | |
WO2011065768A2 (en) | Method for protecting application and method for executing application using the same | |
WO2019231163A1 (ko) | 메시지 전송 지연 관리 장치 및 방법 | |
WO2016190485A1 (ko) | 데이터 무단 엑세스 차단 방법 및 그 기능이 구비된 컴퓨팅 장치 | |
WO2021225329A1 (ko) | 사용자 식별자 및 서명 수집을 이용한 모바일 애플리케이션 위변조 탐지 방법 및 시스템 | |
WO2018221998A1 (ko) | 실시간 병목 자동 분석 방법 및 이러한 방법을 수행하는 장치 | |
WO2021107493A1 (ko) | 보안성이 강화된 카메라 사용환경 설정 능력을 구비하는 영상 감시 시스템 | |
WO2012077966A1 (en) | Apparatus and method for removing malicious code |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 10764696 Country of ref document: EP Kind code of ref document: A2 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2012505829 Country of ref document: JP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 10764696 Country of ref document: EP Kind code of ref document: A2 |