KR100968268B1 - Method for detecting automatically generated input - Google Patents
Method for detecting automatically generated input Download PDFInfo
- Publication number
- KR100968268B1 KR100968268B1 KR1020070118464A KR20070118464A KR100968268B1 KR 100968268 B1 KR100968268 B1 KR 100968268B1 KR 1020070118464 A KR1020070118464 A KR 1020070118464A KR 20070118464 A KR20070118464 A KR 20070118464A KR 100968268 B1 KR100968268 B1 KR 100968268B1
- Authority
- KR
- South Korea
- Prior art keywords
- event
- device driver
- automatic input
- input
- driver
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/82—Protecting input, output or interconnection devices
- G06F21/83—Protecting input, output or interconnection devices input devices, e.g. keyboards, mice or controllers thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/038—Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
자동 입력 감지 방법은, 입력 수단에 의하여 발생되는 이벤트를 모니터링 할 수 있는 이벤트 감시용 디바이스 드라이버를 컴퓨터 운영 체제 내에서 구동시키는 단계, 메시지 또는 직접 입력의 형태로서 응용 프로그램에 전달되는 상기 입력 수단에 의하여 발생된 이벤트를 감시하는 응용 모듈을 상기 컴퓨터 운영 체제 내에서 구동시키는 단계, 상기 응용 모듈에 상기 이벤트가 전달된 경우, 상기 이벤트가 상기 이벤트 감시용 디바이스 드라이버를 통과한 이벤트에 의한 것인지를 검사하는 단계, 및 상기 이벤트가 상기 이벤트 감시용 디바이스 드라이버를 통과한 이벤트에 의한 것일 경우 정상적인 이벤트로 처리하고, 그렇지 않을 경우에는 자동 입력 수단에 의하여 발생된 비정상적인 이벤트로 판단하는 단계를 포함한다.The automatic input detection method includes driving an event monitoring device driver in a computer operating system capable of monitoring an event generated by an input means, by the input means transmitted to an application program in the form of a message or direct input. Driving an application module for monitoring the generated event in the computer operating system, and if the event is delivered to the application module, checking whether the event is due to an event passing through the event monitoring device driver And processing the event as a normal event if the event is caused by an event passing through the event monitoring device driver, and otherwise determining as an abnormal event generated by an automatic input means.
자동 입력, 오토 마우스, 마우스, 키보드 Auto Input, Auto Mouse, Mouse, Keyboard
Description
본 발명은 마우스 및 키보드 자동 입력을 감지하는 방법에 관한 것으로, 보다 상세하게는 마우스 및 키보드와 연관된 디바이스 드라이버를 통해 전달되는 이벤트만 정상적인 이벤트로 간주하고, 그렇지 않을 경우에는 소프트웨어적으로 자동화되어 발생되는 마우스 및 키보드 입력으로 판단하여 감지해내는 방법에 관한 것이다. The present invention relates to a method for detecting mouse and keyboard automatic input, and more particularly, only events transmitted through the device driver associated with the mouse and keyboard are regarded as normal events, and otherwise, are generated by software automation. The present invention relates to a method of detecting and detecting mouse and keyboard input.
최근의 초고속 인터넷 네트워크 기술의 발달로 인하여 인터넷 사용자가 폭발적으로 증가되었으며, 인터넷과 관련된 통신 기술 또한 지속적으로 새로운 모습으로 진화해 나가고 있다. 특히, 다수의 사용자가 동시에 인터넷에 접속하여 함께 게임을 즐길 수 있는 네트워크 게임은 매우 큰 인기를 끌고 있으며, 이러한 인기를 바탕으로 게임 개발 업체들은 다양한 네트워크 게임들을 출시하고 있다. Due to the recent development of high-speed Internet network technology, the number of Internet users has exploded and the communication technology related to the Internet is continuously evolving into a new shape. In particular, network games, in which a large number of users can simultaneously access the Internet and play games, have become very popular, and game developers are releasing various network games based on such popularity.
다양한 인터넷 네트워크 게임들 중 MMORPG(massively multiplayer online role playing game)라는 게임은 다수의 사용자가 동시에 게임 서버에 접속하여, 게임이 설정해 놓은 환타지나 미스터리 세계에서 각자의 역할을 수행하며 즐기는 게 임이다. MMORPG 게임의 플레이어들은 자기에게 지정된 캐릭터를 조종하면서 게임이 제공하는 계속적인 스토리 라인 안에서 발생하는 다양한 사건들을 마치 실제 세계에서 일어나는 것처럼 헤쳐나가게 된다. 즉, 사용자는 자기 자신을 나타내는 캐릭터를 사냥이나 전투를 통해 훈련시켜 레벨을 높이기도 하며, 다른 플레이어와 관계를 맺고 길드를 형성하기도 하며, 하나의 팀을 형성해 단체로 전투를 수행하거나, 매매를 통해 아이템을 구매하기도 한다. 대부분의 MMORPG 게임에서 캐릭터의 레벨이나 경험치를 높이기 위해서는 몬스터 사냥, 적과의 전투, 특정 지역 방문 등과 같은 미션을 반복적으로 수행하여야만 한다. 이러한, 반복적인 미션들은 일정하고 규칙적인 마우스의 움직임, 반복적인 클릭, 키보드의 특정 키에 대한 반복적이고 규칙적인 입력 등을 통해 수행할 수 있다. Among the various Internet network games, a game called massively multiplayer online role playing game (MMORPG) is a game in which a large number of users simultaneously access a game server and play their roles in a fantasy or mystery world set by the game. Players in MMORPG games manipulate their assigned characters and navigate through the various events that occur within the continuous storyline provided by the game as if it were happening in the real world. In other words, the user can raise the level by training a character representing himself through hunting or battle, form a guild by forming a relationship with other players, form a team to battle as a group, You can also buy items. In most MMORPG games, in order to increase your character's level or experience, you have to repeat missions such as hunting monsters, fighting enemies, visiting specific areas, and so on. These repetitive missions can be performed through constant and regular mouse movements, repetitive clicks, repetitive and regular inputs to specific keys on the keyboard, and the like.
한편, 이러한 반복적인 미션을 사용자의 실제 입력이 없이도 자동으로 마우스나 키보드의 이벤트를 발생시켜 수행할 수 있는 오토마우스 또는 오토플레이와 같은 자동 입력 프로그램들이 개발되고 있다. 몇몇 게임 플레이어들은 이러한 자동 입력 프로그램을 사용하여 자신의 캐릭터의 레벨이나 경험치를 높이고 있어서 문제가 되고 있다. 자동 입력 프로그램 또는 자동 입력 장치를 이용하면 반복적인 미션 수행을 직접 입력 없이도 수행할 수 있기 때문에, 자신이 조종하는 캐릭터의 레벨이나 경험치를 빠르게 높일 수 있게 되지만, 이러한 자동 입력에 의한 캐릭터 조종은 공평하고 공정한 게임 진행을 파괴하여 게임의 밸런스를 무너뜨릴 뿐만 아니라, 게임 아이템을 오프라인 상에서 불법적으로 판매하는 조직들에 의하여 사용되어 심각한 사회 문제를 야기하고 있다. On the other hand, automatic input programs such as auto mouse or auto play are being developed to perform such repetitive missions by automatically generating an event of a mouse or a keyboard without a user's actual input. Some game players use this automatic input program to raise their character level or experience, which is a problem. Using auto-input programs or auto-input devices, you can perform repetitive missions without direct input, so you can quickly increase the level or experience of your character. Not only does it destroy the game's balance by destroying fair game progress, but it is also used by organizations that illegally sell game items offline, causing serious social problems.
이와 같은, 마우스나 키보드의 자동 입력을 방지하기 위하여 현재는 자동 입력 프로그램에서 마우스나 키보드 이벤트를 프로그램적으로 발생시키는데 사용하는 API(Application Programming Interface)를 후킹하여 해당 이벤트가 게임에 영향을 줄 경우 해당 이벤트를 실패하게 하는 방법을 사용하고 있다. 예를 들면 SendInput 이라는 API는 마우스나 키보드의 이벤트를 프로그램적으로 발생할 수 있게 하는 기능을 제공하는데, 이러한 API를 이용하여 마우스나 키보드 이벤트가 발생한 것처럼 속이는 자동 입력 프로그램이 있다면 SendInput API를 후킹하여 자동 입력 프로그램이 SendInput API를 호출할 때 실패하도록 함으로써 방어를 수행하는 것이다. In order to prevent automatic input of a mouse or keyboard, hooking an API (Application Programming Interface), which is currently used to generate a mouse or keyboard event programmatically in an automatic input program, when the event affects a game We are using a method that causes an event to fail. For example, an API called SendInput provides the ability to programmatically trigger mouse or keyboard events. If you have an automatic input program that uses these APIs to deceive mouse or keyboard events, hooking the SendInput API to auto-input You do this by causing the program to fail when calling the SendInput API.
그러나 이와 같은 API 후킹 방식의 방어 방법은 후킹 방식 자체가 가지는 한계점을 모두 갖게 된다. 예를 들어, 자동 입력 프로그램이 후킹된 함수가 아닌 이와 동일한 기능을 가지는 다른 함수를 사용한다거나, API가 후킹되지 않은 초기 상태로 프로그램을 되돌리는 경우에는 자동 입력을 막을 수 없다. 또한, API 후킹 호출 방식이 아닌 디바이스 드라이버를 이용하여 하드웨어 레벨에서 자동 입력 이벤트를 생성해 내거나, 자동 입력 소프트웨어가 아닌 자동 입력 하드웨어를 사용하여 이벤트를 생성해내는 경우에는 전혀 방어를 수행할 수 없다는 문제점이 있다. However, this defense method of the API hooking method has all the limitations of the hooking method itself. For example, if the auto-input program uses a function other than the hooked function, or if the API returns the program to an unhooked initial state, the auto-input cannot be prevented. In addition, when generating an auto-input event at the hardware level using a device driver rather than an API hooking method or generating an event by using the auto-input hardware rather than the auto-input software, the defense cannot be performed at all. There is this.
한편, 앞서 설명한 API 후킹 방식의 방어 방법 외에도, 입력되는 이벤트들의 패턴을 분석하여 이 패턴이 사람에 의해서 직접 입력된 것이라고 볼 수 없을 만큼 매우 일정한 주기성을 가지거나 순서를 가질 때에 자동 입력에 의해서 발생된 이벤트라고 판정하는 방법이 존재한다. 즉, 마우스 클릭 사이의 간격, 키 입력 사이의 간격, 마우스가 클릭된 위치에서 다음 클릭이 이루어지는 위치까지의 거리, 키보드 키가 입력되는 순서의 패턴 등을 일정 시간 동안 모니터링 하여, 도저히 인간이 반복적으로 입력하는 것이라고 보기 어려울 정도의 정밀한 주기를 가지고 반복적으로 입력되거나, 특정한 순서를 갖는 키 입력 패턴이 일정 시간 이상 반복될 경우 사용자의 직접 입력에 의해서 발생된 이벤트가 아닌, 자동 입력 프로그램이나 자동 입력 장치에 의해서 발생된 이벤트라고 판정하는 방법이다.On the other hand, in addition to the defense method of the above-described API hooking method, the pattern of the input events is analyzed and generated by automatic input when the pattern has a very regular periodicity or sequence so that the pattern cannot be directly input by a human. There is a method of determining that it is an event. That is, the interval between mouse clicks, the distance between key inputs, the distance from the position where the mouse is clicked to the position where the next click is made, and the pattern of the order in which the keyboard keys are input are monitored for a certain period of time. If the input is repeated repeatedly with a precise period that is difficult to see as being input, or if the key input pattern having a specific order is repeated for a predetermined time or more, the event is not generated by the user's direct input, but instead to the automatic input program or the automatic input device. It is a method of determining that an event has occurred.
하지만, 게임의 종류에 따라 입력되는 이벤트들에서 특정한 패턴을 발견해 낼 수 없는 경우가 존재하기 때문에, 이와 같은 패턴 분석에 의한 방어 방법으로도 막아 낼 수 없는 한계가 있다. However, since there are cases where a specific pattern cannot be found in the input events according to the type of game, there is a limit that cannot be prevented even by a defense method by such a pattern analysis.
본 발명은 이와 같은 종래의 자동 입력 감지 방법의 문제점과 한계를 극복하기 위해 창안된 것으로서, 본 발명이 이루고자 하는 기술적 과제는 응용 프로그램에 입력되는 마우스나 키보드 이벤트가 마우스나 키보드의 디바이스 드라이버를 통과하여 전달된 경우에만 정상적인 입력으로 판단하고, 그렇지 않은 경우에는 소프트웨어적인 자동 입력으로 판단함으로써 API 후킹 방식을 통한 자동 입력 방어 방법의 한계 및 패턴 분석에 의한 방어 방법의 한계를 극복할 수 있는 자동 입력 감지 방법을 제공하는 데 있다. The present invention was devised to overcome the problems and limitations of the conventional automatic input detection method. The technical problem to be achieved by the present invention is that a mouse or keyboard event input to an application program passes through a mouse or keyboard device driver. Automatic input detection method that can overcome the limitations of automatic input defense method through API hooking method and the defense method by pattern analysis by judging normal input only when it is delivered and automatic input by software otherwise. To provide.
본 발명의 목적들은 이상에서 언급한 목적들로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The objects of the present invention are not limited to the above-mentioned objects, and other objects that are not mentioned will be clearly understood by those skilled in the art from the following description.
상기 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 자동 입력 감지 방법은, 마우스 또는 키보드에 의한 사용자 입력 수단에 의하여 발생되는 이벤트를 모니터링 할 수 있는 이벤트 감시용 디바이스 드라이버를 컴퓨터 운영 체제 내에서 구동시키는 단계, 메시지 또는 직접 입력의 형태로서 응용 프로그램에 전달되는 상기 이벤트를 감시하는 응용 모듈을 상기 컴퓨터 운영 체제 내에서 구동시키는 단계, 상기 응용 모듈에 상기 이벤트가 전달된 경우, 상기 이벤트가 상기 이벤트 감시용 디바이스 드라이버를 통과한 이벤트에 의한 것인지를 검사하는 단계, 및 상기 이벤트가 상기 이벤트 감시용 디바이스 드라이버를 통과한 이벤트에 의한 것일 경우 상기 이벤트를 정상적인 이벤트로 처리하고, 그렇지 않을 경우에는 자동 입력 수단에 의하여 발생된 비정상적인 이벤트로 판단하는 단계를 포함한다. In order to achieve the above object, the automatic input detection method according to an embodiment of the present invention, the event monitoring device driver that can monitor the event generated by the user input means by the mouse or keyboard in the computer operating system Driving, in the computer operating system, an application module for monitoring the event delivered to an application in the form of a message or direct input, if the event is delivered to the application module, the event is the event Checking whether the event is due to an event passing through the monitoring device driver, and if the event is due to an event passing through the event monitoring device driver, treating the event as a normal event; Caused by And determining the abnormal event.
상기 목적을 달성하기 위한, 본 발명의 다른 실시예에 따른 자동 입력 감지 방법은, 마우스 또는 키보드에 의한 사용자 입력 수단에 의하여 발생되는 이벤트를 모니터링 할 수 있는 이벤트 감시용 디바이스 드라이버를 컴퓨터 운영 체제 내에서 구동시키는 단계, 메시지 또는 직접 입력의 형태로 응용 프로그램으로 전달되는 상기 입력 수단에 의하여 발생된 이벤트를 감시하는 응용 모듈을 상기 컴퓨터 운영 체제 내에서 구동시키는 단계, 소정의 시간 동안 상기 이벤트 감시용 디바이스 드라이버를 통과한 이벤트의 개수를 카운트하는 단계, 상기 소정의 시간 동안 상기 응용 모듈에 전달되는 메시지 또는 직접 입력의 형태로 전달되는 이벤트의 개수를 카운트하는 단계, 상기 이벤트 감시용 디바이스 드라이버를 통과한 이벤트의 개수와 상기 응용 모듈에 전달된 이벤트의 개수를 비교하는 단계; 및 상기 이벤트 감시용 디바이스 드라이버를 통과한 이벤트의 개수와 상기 응용 모듈에 전달된 이벤트의 개수가 동일할 경우 정상적인 입력으로 처리하고, 그렇지 않을 경우에는 자동 입력 수단에 의하여 발생된 비정상적인 입력으로 판단하는 단계를 포함한다.In order to achieve the above object, the automatic input detection method according to another embodiment of the present invention, an event monitoring device driver that can monitor an event generated by a user input means by a mouse or a keyboard in a computer operating system Driving, in the computer operating system, an application module for monitoring an event generated by the input means delivered to an application program in the form of a message or direct input, the device driver for event monitoring for a predetermined time; Counting the number of events passing through, counting the number of events delivered in the form of a message or direct input to the application module during the predetermined time, and determining the number of events passing through the event monitoring device driver. Number and application modules Comparing the number of delivery events; And when the number of events passed through the event monitoring device driver and the number of events delivered to the application module are the same, process as normal input, and otherwise determine as abnormal input generated by the automatic input means. It includes.
상기 목적을 달성하기 위하여, 상기 본 발명의 실시예들에 따른 자동 입력 감지 방법은 컴퓨터 상에서 실행될 수 있는 프로그램의 형태로 구현될 수 있으며, 이 프로그램을 저장한 컴퓨터에서 읽을 수 있는 기록 매체의 형태로도 구현될 수 있다.In order to achieve the above object, the automatic input sensing method according to the embodiments of the present invention can be implemented in the form of a program that can be executed on a computer, in the form of a computer-readable recording medium storing the program May also be implemented.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다. Specific details of other embodiments are included in the detailed description and the drawings.
상기한 바와 같은 본 발명의 자동 입력 감지 방법에 따르면 다음과 같은 효과가 하나 혹은 그 이상 있다.According to the automatic input detection method of the present invention as described above has one or more of the following effects.
첫째, 응용 프로그램에 입력되는 마우스나 키보드 이벤트가 마우스나 키보드의 디바이스 드라이버를 통과하여 전달된 경우에만 정상적인 입력으로 판단하고, 그렇지 않은 경우에는 소프트웨어적인 자동 입력으로 판단하기 때문에, API 호출 방식이 아닌 디바이스 드라이버를 이용하여 하드웨어적으로 발생한 자동 입력 신호라 할지라도 이를 감지해 내어 방어 할 수 있다는 장점이 있다. First, it is judged as normal input only when the mouse or keyboard event input to the application is passed through the device driver of the mouse or keyboard. Otherwise, it is judged as software automatic input. Even the automatic input signal generated by hardware can be detected and defended by using a driver.
둘째, 일정한 패턴을 발견해 낼 수 없는 자동 입력이라고 할지라도 이를 감지해 낼 수 있다는 장점이 있다. Second, even if it is an automatic input that cannot detect a certain pattern, there is an advantage that it can detect it.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다 Advantages and features of the present invention and methods for achieving them will be apparent with reference to the embodiments described below in detail with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but can be implemented in various different forms, and only the embodiments make the disclosure of the present invention complete, and the general knowledge in the art to which the present invention belongs. It is provided to fully inform the person having the scope of the invention, which is defined only by the scope of the claims. Like reference numerals refer to like elements throughout the specification.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 실시예에 따른 자동 입력 감지 방법을 수행하기 위한 컴퓨터 운영 체제의 개념을 나타낸 개념도이다. 1 is a conceptual diagram illustrating the concept of a computer operating system for performing an automatic input detection method according to an embodiment of the present invention.
컴퓨터를 운영하는 컴퓨터 운영 체제(10)은 크게 커널 레벨(20)과 유저 레벨(30)으로 나눌 수 있다. 커널 레벨(20)은 컴퓨터의 주 기억 장치에 상주하는 운영 컴퓨터 운영 체제의 핵심적인 부분으로서, 시스템의 초기화와 인터럽트를 처리하기 위한 특별한 프로세스들, 프로세스 모니터, 프로세스들 사이의 환경 교환과 새로운 프로세스를 생성해 내는 모듈 등을 포함하고 있다. 또한, 컴퓨터에 연결된 입력 수단(40)의 인터럽트 신호를 처리하기 위한 디바이스 드라이버들이 위치된다. 한편, 유저 레벨(30)에서는 컴퓨터 운영 체제 내에서 각종 응용 프로그램이 구동되며, 커널 레벨(20)에서 처리된 프로세스, 인터럽트들이 응용 프로그램에 전달된다. 이때, 응용 프로그램에 전달되는 프로세스, 인터럽트들은 여러 가지 형태로 처리되어 응용 프로그램에 전달될 되는데, 메시지 큐(message queue)에 의해 메시지의 형태로 전달될 수도 있고, 메시지의 형태로 가공되지 않고 그 자체로 직접 전달이 될 수도 있다. The
예를 들면, 사용자가 키보드나 마우스와 같은 입력 수단(40)을 이용하여 입력 이벤트를 발생시키면, 이 이벤트는 컴퓨터의 운영 체제의 커널 레벨(20)에 위치하는 인터럽트 서비스 루틴(ISR : Interrupt Service Routine)에 의해서 인터럽트 신호로서 처리가 된다. ISR에서 처리된 이벤트는 상기 입력 수단을 구동하는 다수 의 디바이스 드라이버들이 모여 있는 디바이스 드라이버 스택(50)을 거쳐서 처리되고, 그 후 유저 레벨(30)로 전달이 된다. 유저 레벨(30)로 전달된 이벤트들은 그 자체로서 응용 프로그램(60)에 전달되거나 또는 메시지 큐(80)에 의해서 메시지 형태로 전달될 수 있다. 메시지의 형태로 전달되는 경우, 시스템 메시지 큐(SMQ : System Message Queue), 쓰레드 메시지 큐(TMQ : Thread Message Queue)와 같은 메시지 큐(80)를 통해서 메시지의 형태로 응용 프로그램(60)에 전달되며, 메시지를 전달받은 응용 프로그램(60)은 이에 대응하는 처리를 수행하게 된다. For example, when a user generates an input event using an input means 40 such as a keyboard or a mouse, the event is interrupt service routine (ISR) located at the
한편, 오토 마우스, 오토 플레이와 같은 자동 입력 프로그램들은 일반적으로 유저 레벨(30)에서 message hooking, API 호출 등의 방법으로 자동 입력 신호를 생성하여 응용 프로그램(60)에 전달하거나, 커널 레벨(20)에서 유저 레벨(30)로 넘어가는 단계에서 자동으로 생성된 이벤트들을 삽입하여 응용 프로그램(60)에 전달되게 한다. On the other hand, automatic input programs such as auto mouse and auto play generally generate automatic input signals through message hooking, API call, etc. at the
따라서, 본 발명의 실시예에 따른 자동 입력 감지 방법에 의하면, 커널 레벨(20)의 디바이스 드라이버 스택(50) 상에 이벤트 감시용 디바이스 드라이버(55)를 위치시키고, 이 이벤트 감시용 디바이스 드라이버(55)를 통과한 이벤트만 정상적인 이벤트로서 판단하여 응용 프로그램(60)에 처리될 수 있도록 함으로써, 디바이스 드라이버를 거치지 않고 자동 입력 프로그램에 의해서 발생된 자동 입력 이벤트들을 방어할 수 있는 것이다. Accordingly, according to the automatic input sensing method according to the embodiment of the present invention, the event
보다 자세히 설명하면, 마우스나 키보드와 같은 입력 수단(40)에 관련된 디바이스 드라이버 스택(50) 상에 이벤트를 감시할 수 있는 이벤트 감시용 디바이스 드라이버(55)를 위치시킨다. 마우스나 키보드와 같은 입력 수단(40)에 의해서 발생된 이벤트는 반드시 디바이스 드라이버 스택 상(50)에 위치시킨 이 이벤트 감시용 디바이스 드라이버(55)를 통과하여 유저 레벨(30)로 전달되게 된다. 상기 이벤트 감시용 디바이스 드라이버(55)는 입력 수단(40)에서 발생되는 이벤트를 필터링 할 수 있는 일종의 필터 드라이버로서, 상기 입력 수단(40)의 이벤트를 필터링할 수 있도록 디바이스 드라이버 스택(50) 상의 임의의 위치에서 구동될 수 있다. 또는, 상기 이벤트 감시용 디바이스 드라이버(55)는 디바이스 드라이버 스택(50) 상에 존재하는 임의의 드라이버를 후킹하여 입력 수단(40)의 이벤트를 모니터링하는 일종의 후킹 드라이버일 수도 있다. In more detail, an event
한편 유저 레벨(30)에는 응용 프로그램(60)에 전달되는 이벤트 또는 메시지를 감시할 수 있는 응용 모듈(70)을 위치시킨다. 상기 응용 모듈(70)은 응용 프로그램(60)에 전달되는 이벤트 또는 메시지를 감시할 수 있도록 유저 레벨(30) 상의 임의의 위치에서 구동될 수 있다. 상기 이벤트 감시용 디바이스 드라이버(55)를 통과한 이벤트는 DirectInput과 같은 형태로 직접 응용 프로그램(60)에 전달되거나, 메시지 큐(80)에서 메시지의 형태로 처리되어 응용 프로그램(60)에 전달될 수 있다. 또는, 다른 형태의 이벤트로 변형되어 전달될 수도 있다. 이때, 응용 모듈(70)이 상기 응용 프로그램(60)에 전달되는 이벤트 또는 메시지를 감시한다. 응용 모듈(70)은 전달되는 매 이벤트 또는 메시지마다, 이 이벤트 또는 메시지가 이벤트 감시용 디바이스 드라이버(55)를 통과한 것인가를 커널 레벨(20)에 위치한 이벤트 감시용 디바이스 드라이버(55)를 통해 확인하여, 만약 이벤트 감시용 디바이스 드 라이버(55)를 통과한 이벤트에 의한 것인 경우에는 정상적인 이벤트로 처리하고, 그렇지 않을 경우에는 자동 입력 수단에 의하여 발생된 비정상적인 이벤트로 판단한다. 즉, 커널 레벨(20)에서부터 이벤트를 감시하여 디바이스 드라이버를 통과한 이벤트만 정상적인 이벤트로 처리하기 때문에 유저레벨(30)에서 API 호출에 의한 방법으로 생성된 자동 입력을 모두 감지해 낼 수 있고, 디바이스 드라이버를 이용하여 커널 레벨(20)에서 하드웨어적으로 생성된 자동 입력이라고 할지라도 이에 대한 효과적인 방어를 수행할 수 있다.Meanwhile, at the
한편, 추가적으로, 입력되는 이벤트들의 일정 시간 동안의 패턴을 분석하는 분석 엔진(90)을 구동시켜 보다 확실한 자동 입력 감지를 해낼 수도 있다. 상기 분석 엔진(90)은 컴퓨터 운영 체제(10) 내의 어느 위치에라도 위치할 수 있다. 즉, 커널 레벨(20)이나 유저 레벨(30)의 임의의 단계에 위치할 수 있다. 분석 엔진(90)은 입력되는 이벤트들의 입력 패턴을 분석하여, 입력되는 패턴이 사용자에 의한 것인지, 아니면 자동 입력 장치의 의한 것인지 여부를 판단한다.On the other hand, in addition, it is possible to drive the
예를 들면, 분석 엔진(90)에 의해 입력되는 이벤트 간의 시간 간격이 소정 회수 이상 동일한 지 여부, 마우스 버튼 클릭에 의한 업/다운 이벤트 발생의 시간 차가 소정 회수 이상 동일한지 여부, 또는 키보드 키 스캔 코드가 동일한 패턴, 동일한 시간 간격으로 소정의 임계 회수 이상 발생하는 지 여부 등을 분석할 수 있다. 분석 엔진(90)의 패턴 분석 방법은 이외에도 다양한 형태가 존재할 수 있다. For example, whether a time interval between events input by the
이와 같이, 이벤트 감시용 디바이스 드라이버(55)와 응용 모듈(70)에 의하여 자동 입력된 이벤트로 판단하거나, 상기 분석 엔진(90)에 의해서 사용자가 아닌 자 동 입력 프로그램이나 자동 입력 장치에 의해서 발생된 이벤트로 판단되었을 경우에는, 응용 프로그램(60)에 전달되는 해당 이벤트를 무시하거나, 응용 프로그램(60) 자체를 종료시켜 자동 입력을 방어할 수 있다. 또는, 자동 입력 수단에 의한 비정상적인 이벤트로 판단되는 회수를 카운트하여, 카운트된 회수가 소정의 임계치 이상이 되었을 경우에 응용 프로그램(60)을 종료시켜 방어를 수행할 수도 있다.In this way, it is determined that the event is automatically input by the event
이하에서는, 도 2 내지 도 6을 참조하여, 본 발명의 실시예에 의한 자동 입력 감지 방법을 단계별로 자세히 설명한다.Hereinafter, with reference to Figures 2 to 6, the automatic input detection method according to an embodiment of the present invention will be described in detail step by step.
도 2 내지 도 6은 본 발명의 일 실시예에 따른 자동 입력 감지 방법을 나타낸 흐름도 이다. 2 to 6 are flowcharts illustrating an automatic input sensing method according to an embodiment of the present invention.
먼저, 키보드나 마우스와 같은 입력 수단(40)에 의하여 발생되는 이벤트를 모니터링 할 수 있는 이벤트 감시용 디바이스 드라이버(55)를 컴퓨터 운영 체제(10) 내에서 구동시킨다(S210). 상기 이벤트 감시용 디바이스 드라이버(55)는 입력 수단(40)과 관련된 디바이스 드라이버 스택(50) 상에 위치되어 구동된다. First, an event
그리고, 메시지 또는 직접 입력의 형태로서 응용 프로그램(60)으로 전달되는 상기 입력 수단(40)에 의하여 발생된 이벤트를 감시하기 위한 응용 모듈(70)을 컴퓨터 운영 체제(10) 내에서 구동 시킨다(S220). 상기 응용 모듈(70)은 상기 응용 프로그램(60)에 전달되는 상기 이벤트를 감시할 수 있는 컴퓨터 운영 체제(10)의 유저 레벨(20) 상의 임의의 위치에서 구동될 수 있다. Then, the
만약, 메시지 큐(80)를 통해서 상기 응용 모듈(70)에 메시지의 형태로 이벤 트가 전달되거나, 또는 직접 입력의 형태로 상기 응용 모듈에 이벤트가 전달된 경우, 상기 이벤트가 상기 이벤트 감시용 디바이스 드라이버(55)를 통과한 이벤트에 의한 것인지를 검사한다(S230). If an event is delivered to the
이 경우, 도 3을 참고하면, 응용 모듈(70)은 모든 이벤트에 대해서, 이벤트 감시용 디바이스 드라이버(55)를 통과한 이벤트인지를 묻는 큐어리(query) 메시지를 이벤트 감시용 디바이스 드라이버(55)에게 전달한다(S231). 그리고 이벤트 감시용 디바이스 드라이버(55)는 상기 메시지 또는 직접 입력의 형태로 응용 프로그램(60)에 전달되는 이벤트가 이벤트 감시용 디바이스 드라이버(55)를 통과하여 전달된 이벤트인지를 확인하여 응용 프로그램(60)에 전달한다(S232). In this case, referring to FIG. 3, the
또는, 도 4를 참고하면, 상기 이벤트 감시용 디바이스 드라이버(55)가 상기 응용 모듈(70)에 매 이벤트 마다 각 이벤트가 상기 이벤트 감시용 디바이스 드라이버(55)를 통과한 것인지를 알려 주고(S233), 응용 프로그램(60)에 전달되는 이벤트가 상기 이벤트 감시용 디바이스 드라이버(55)를 통과한 이벤트와 동일한 이벤트인지를 확인할 수도 있다(S234). Alternatively, referring to FIG. 4, the event
만약, 상기 이벤트가 상기 이벤트 감시용 디바이스 드라이버(55)를 통과한 이벤트에 의한 것으로 확인될 경우 사용자의 입력에 의한 정상적인 이벤트로 처리하고(S240), 그렇지 않을 경우에는 오토 마우스와 같은 자동 입력 수단에 의하여 발생된 비정상적인 이벤트로 판단한다(S241). If it is determined that the event is caused by an event that has passed through the event
한편, 상기 이벤트가 상기 이벤트 감시용 디바이스 드라이버를 통과한 이벤트에 의한 것으로 확인되어 사용자의 입력에 의한 정상적인 이벤트로 판단한 경 우(S240)라 할지라도, 추가적인 검사에 의해 더욱 확실하게 자동 입력을 감지해 낼 수도 있다. On the other hand, even if the event is determined to be caused by the event passed through the event monitoring device driver is determined to be a normal event by the user's input (S240), even if the automatic input is more reliably detected by additional inspection You can also pay.
도 5는 본 발명의 일 실시예에 따른 추가적인 검사에 의해 더욱 확실하게 자동 입력을 감지해 내는 방법을 나타낸 흐름도이다. 5 is a flowchart illustrating a method of more reliably detecting an automatic input by an additional test according to an embodiment of the present invention.
즉, 도 5를 참고하면, 상기 입력 수단에 의하여 입력되는 이벤트의 일정 시간 동안의 패턴을 분석하는 분석 엔진(90)을 구동시키고(S251), 상기 분석 엔진(90)에 의하여 분석된 이벤트의 패턴에 따라 자동 입력 여부를 판단할 수도 있다(S252). 예를 들어, 이벤트 패턴을 분석하여 도저히 사람에 의해서 입력되었다고 보기 어려운 정도의 정밀한 패턴을 가지고 입력되었다면, 이를 사용자가 아닌 자동 입력 프로그램이나 자동 입력 장치와 같은 자동 입력 수단에 의한 비정상적인 이벤트로 판단한다(S253). 분석 엔진(90)은 입력되는 이벤트 간의 시간 간격이 소정 회수 이상 동일한 지 여부, 마우스 버튼 클릭에 의한 업/다운 이벤트 발생의 시간 차가 소정 회수 이상 동일한지 여부, 또는 키보드의 키 스캔 코드가 동일한 패턴, 동일한 시간 간격으로 소정의 임계 회수 이상 발생하는 지 여부 등을 분석할 수 있다. 이외에도 이벤트의 패턴을 분석하는 방법은 다양한 방법이 존재할 수 있다. That is, referring to FIG. 5, the
이와 같이, 이벤트 감시용 디바이스 드라이버(55)와 응용 모듈(70)에 의하여 자동 입력된 이벤트로 판단하거나, 상기 분석 엔진(90)에 의해서 사용자가 아닌 자동 입력 프로그램이나 자동 입력 장치에 의해서 발생된 이벤트로 판단하여, 상기 메시지가 자동 입력 수단에 의한 비정상적 이벤트로 판단한 경우에는, 상기 이벤트를 응용 프로그램(60)에서 무시하거나, 상기 응용 프로그램(60)을 종료할 수 있 다(S260).In this way, the event is automatically determined by the event
또는, 도 6을 참고하면, 자동 입력 수단에 의한 비정상적인 이벤트로 판단될 때마다 감시 카운터를 하나씩 증가시키고(S271), 상기 감시 카운터가 소정의 임계치 이상이 되었을 경우에(S272), 상기 응용 프로그램을 종료하여(S273) 자동 입력에 대한 방어를 수행할 수도 있다.Alternatively, referring to FIG. 6, whenever an abnormal event is determined by the automatic input means, the monitoring counter is incremented by one (S271), and when the monitoring counter reaches a predetermined threshold or more (S272), the application program is executed. In operation S273, a defense against automatic input may be performed.
이하에서는 도7을 참고하여 본 발명의 또 다른 실시예에 따른 자동 입력 감지 방법을 설명한다. Hereinafter, an automatic input sensing method according to another embodiment of the present invention will be described with reference to FIG. 7.
도 7은 본 발명의 또 다른 실시예에 따른 자동 입력 감지 방법을 나타낸 흐름도이다. 7 is a flowchart illustrating an automatic input sensing method according to another embodiment of the present invention.
먼저, 입력 수단(40)에 의하여 발생되는 이벤트를 모니터링 할 수 있는 이벤트 감시용 디바이스 드라이버(55)를 컴퓨터 운영 체제(10) 내에서 구동시킨다(S310). 상기 이벤트 감시용 디바이스 드라이버(55)는 입력 수단(40)과 관련된 디바이스 드라이버 스택(50) 상에 위치되어 구동된다.First, an event
그리고, 메시지의 형태 또는 직접 입력의 형태로서 응용 프로그램(60)으로 전달되는 상기 입력 수단(40)에 의하여 발생된 이벤트를 감시하는 응용 모듈(70)을 상기 컴퓨터 운영 체제(10) 내에서 구동시킨다(S320). 상기 응용 모듈(70)은 상기 응용 프로그램(60)에 전달되는 상기 이벤트를 감시할 수 있는 컴퓨터 운영 체제(10)의 유저 레벨(20) 상의 임의의 위치에서 구동될 수 있다.Then, the
그리고, 소정의 시간 동안 상기 이벤트 감시용 디바이스 드라이버(55)를 통과한 이벤트의 개수 및 상기 응용 모듈(70)에 전달되는 이벤트의 개수를 카운트한 다(S330). In operation S330, the number of events passing through the event
그리고, 상기 이벤트 감시용 디바이스 드라이버(55)를 통과한 이벤트의 개수와 상기 응용 모듈(70)에 전달된 이벤트의 개수를 비교하여(S340), 상기 이벤트 감시용 디바이스 드라이버(55)를 통과한 이벤트의 개수와 상기 응용 모듈(70)에 전달된 이벤트의 개수가 동일할 경우에는 정상적인 입력으로 처리하고(S351), 그렇지 않을 경우에는 자동 입력 수단에 의하여 발생된 비정상적인 입력으로 판단한다(S352).In addition, by comparing the number of events passed through the event
위에서 설명한 바와 같이, 응용 프로그램에 입력되는 마우스나 키보드 이벤트가 마우스나 키보드의 디바이스 드라이버를 통과하여 전달된 경우에만 정상적인 입력으로 판단하고, 그렇지 않은 경우에는 소프트웨어적인 자동 입력으로 판단하기 때문에, API를 이용한 소프트웨어적으로 발생되는 자동 입력 신호 뿐만 아니라, API 호출 방식이 아닌 디바이스 드라이버를 이용하여 하드웨어적으로 발생한 자동 입력 신호라 할지라도 이를 감지해 내어 방어 할 수 있으며, 일정한 패턴을 발견해 낼 수 없는 자동 입력이라고 할지라도 이를 감지해 낼 수 있다는 장점이 있다. 또한, 분석 엔진을 통하여 2단계로 자동 입력을 감지하기 때문에 더욱 확실하게 자동 입력을 방어할 수 있다. As described above, since a mouse or keyboard event input to an application is passed through a device driver of a mouse or keyboard, it is determined to be normal input. Otherwise, it is determined as software automatic input. In addition to automatic input signals generated by software, even automatic input signals generated by hardware using device drivers rather than API calling methods can be detected and defended, and automatic inputs that cannot detect certain patterns. Even if you can detect this is an advantage. In addition, the automatic detection of automatic input in two stages is possible through the analysis engine, so that automatic input can be defended more reliably.
본 발명은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CO-ROM, 자기 테이프, 플로피 디 스크, 광 데이터 저장 장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.The present invention can be embodied as computer readable codes on a computer readable recording medium. The computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer system is stored. Examples of computer-readable recording media include ROM, RAM, CO-ROM, magnetic tape, floppy disks, optical data storage devices, and the like, which are also implemented in the form of carrier waves (e.g., transmission over the Internet). It also includes. The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. Although embodiments of the present invention have been described above with reference to the accompanying drawings, those skilled in the art to which the present invention pertains may implement the present invention in other specific forms without changing the technical spirit or essential features thereof. I can understand that. It is therefore to be understood that the above-described embodiments are illustrative in all aspects and not restrictive.
도 1은 본 발명의 일 실시예에 따른 자동 입력 감지 방법이 수행되는 컴퓨터 운영 체계의 개념을 보여주는 개념도이다. 1 is a conceptual diagram illustrating a concept of a computer operating system in which an automatic input sensing method is performed according to an embodiment of the present invention.
도 2는 본 발명의 일 실시예에 따른 자동 입력 감지 방법을 보여주는 흐름도이다.2 is a flowchart illustrating an automatic input sensing method according to an embodiment of the present invention.
도 3은 본 발명의 일 실시예에 따른 자동 입력 감지 방법에 있어서, 각 이벤트가 이벤트 감시용 디바이스 드라이버를 통과한 것인지 여부를 확인하는 방법 중 하나의 예를 보여주는 흐름도이다.3 is a flowchart illustrating an example of a method for checking whether each event passes a device driver for event monitoring in an automatic input sensing method according to an embodiment of the present invention.
도 4는 본 발명의 일 실시예에 따른 자동 입력 감지 방법에 있어서, 각 이벤트가 이벤트 감시용 디바이스 드라이버를 통과한 것인지 여부를 확인하는 방법 중 또 다른 하나의 예를 보여주는 흐름도이다.FIG. 4 is a flowchart illustrating still another example of a method for checking whether each event passes a device driver for event monitoring in an automatic input sensing method according to an embodiment of the present invention.
도 5는 본 발명의 일 실시예에 따른 자동 입력 감지 방법에 있어서, 추가적인 검사에 의해 더욱 확실하게 자동 입력을 감지해 내는 방법을 나타낸 흐름도이다.5 is a flowchart illustrating a method of detecting an automatic input more reliably by an additional test in the automatic input sensing method according to an embodiment of the present invention.
도 6은 본 발명의 일 실시예에 따른 자동 입력 감지 방법에 있어서, 감지 카운터를 증가시켜 자동 입력을 감지해 내는 방법을 보여주는 흐름도이다.6 is a flowchart illustrating a method of detecting an automatic input by increasing a detection counter in the automatic input sensing method according to an embodiment of the present invention.
도 7은 본 발명의 또 다른 실시예에 따른 자동 입력 감지 방법을 보여주는 흐름도이다. 7 is a flowchart illustrating an automatic input sensing method according to another embodiment of the present invention.
Claims (22)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070118464A KR100968268B1 (en) | 2007-11-20 | 2007-11-20 | Method for detecting automatically generated input |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070118464A KR100968268B1 (en) | 2007-11-20 | 2007-11-20 | Method for detecting automatically generated input |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090051977A KR20090051977A (en) | 2009-05-25 |
KR100968268B1 true KR100968268B1 (en) | 2010-07-06 |
Family
ID=40859883
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070118464A KR100968268B1 (en) | 2007-11-20 | 2007-11-20 | Method for detecting automatically generated input |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100968268B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101171717B1 (en) | 2011-12-28 | 2012-09-13 | (주)네오위즈게임즈 | Method and server of preventing automatic program for item auction site of on-line game |
KR101201495B1 (en) | 2010-08-10 | 2012-11-14 | 주식회사 잉카인터넷 | method for blocking auto-input in computer system |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9412123B2 (en) | 2003-07-01 | 2016-08-09 | The 41St Parameter, Inc. | Keystroke analysis |
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 |
US11301585B2 (en) | 2005-12-16 | 2022-04-12 | The 41St Parameter, Inc. | Methods and apparatus for securely displaying digital images |
US8938671B2 (en) | 2005-12-16 | 2015-01-20 | The 41St Parameter, Inc. | Methods and apparatus for securely displaying digital images |
US8151327B2 (en) | 2006-03-31 | 2012-04-03 | The 41St Parameter, Inc. | Systems and methods for detection of session tampering and fraud prevention |
US9396331B2 (en) | 2008-04-22 | 2016-07-19 | The 41St Parameter, Inc. | Systems and methods for security management based on cursor events |
US9112850B1 (en) | 2009-03-25 | 2015-08-18 | The 41St Parameter, Inc. | Systems and methods of sharing information through a tag-based consortium |
WO2012054646A2 (en) | 2010-10-19 | 2012-04-26 | The 41St Parameter, Inc. | Variable risk engine |
US10754913B2 (en) | 2011-11-15 | 2020-08-25 | 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 |
US9521551B2 (en) | 2012-03-22 | 2016-12-13 | The 41St Parameter, Inc. | Methods and systems for persistent cross-application mobile device identification |
WO2014022813A1 (en) | 2012-08-02 | 2014-02-06 | The 41St Parameter, Inc. | Systems and methods for accessing records via derivative locators |
WO2014078569A1 (en) | 2012-11-14 | 2014-05-22 | The 41St Parameter, Inc. | Systems and methods of global identification |
US10902327B1 (en) | 2013-08-30 | 2021-01-26 | The 41St Parameter, Inc. | System and method for device identification and uniqueness |
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 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100483700B1 (en) | 2003-12-03 | 2005-04-19 | 주식회사 잉카인터넷 | Method to cut off an illegal process access and manipulation for the security of online game client by real-time |
KR20060059757A (en) * | 2004-11-29 | 2006-06-02 | 주식회사 안철수연구소 | Preventing method of computer programmed automatic input |
KR100645983B1 (en) * | 2005-08-31 | 2006-11-14 | (주)와이즈로직 | Module for detecting an illegal process and method thereof |
-
2007
- 2007-11-20 KR KR1020070118464A patent/KR100968268B1/en active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100483700B1 (en) | 2003-12-03 | 2005-04-19 | 주식회사 잉카인터넷 | Method to cut off an illegal process access and manipulation for the security of online game client by real-time |
KR20060059757A (en) * | 2004-11-29 | 2006-06-02 | 주식회사 안철수연구소 | Preventing method of computer programmed automatic input |
KR100645983B1 (en) * | 2005-08-31 | 2006-11-14 | (주)와이즈로직 | Module for detecting an illegal process and method thereof |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101201495B1 (en) | 2010-08-10 | 2012-11-14 | 주식회사 잉카인터넷 | method for blocking auto-input in computer system |
KR101171717B1 (en) | 2011-12-28 | 2012-09-13 | (주)네오위즈게임즈 | Method and server of preventing automatic program for item auction site of on-line game |
WO2013100400A1 (en) * | 2011-12-28 | 2013-07-04 | (주)네오위즈게임즈 | Method for inhibiting automatic program in an item auction in an online game, and server |
US9457280B2 (en) | 2011-12-28 | 2016-10-04 | Intellectual Discovery Co., Ltd. | Auto program preventing method for auction house for on-line game item and server therefor |
Also Published As
Publication number | Publication date |
---|---|
KR20090051977A (en) | 2009-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100968268B1 (en) | Method for detecting automatically generated input | |
US9901831B2 (en) | System and method for online community management | |
JP7383198B2 (en) | Classification of gaming activities to identify abusive behavior | |
US7753795B2 (en) | Maintaining community integrity | |
Sepulveda et al. | Exploring dynamic difficulty adjustment in videogames | |
US11395971B2 (en) | Auto harassment monitoring system | |
CN110585723B (en) | Cheating user detection method, device and equipment based on block chain and storage medium | |
van Kesteren et al. | A step in the right direction: Botdetection in MMORPGs using movement analysis | |
WO2007109130A2 (en) | Network device validation and integrity maintenance | |
JP2009509647A5 (en) | ||
US11253785B1 (en) | Incentivizing fair gameplay through bot detection penalization within online gaming systems | |
CN111282284A (en) | Virtual object control method, device, terminal and storage medium | |
Oh et al. | Bot detection based on social interactions in MMORPGs | |
KR100976861B1 (en) | Method for detecting automatic input generated by hardware device and apparatus thereof | |
CN111558226B (en) | Method, device, equipment and storage medium for detecting abnormal operation behaviors | |
Choi et al. | Detecting and monitoring game bots based on large-scale user-behavior log data analysis in multiplayer online games | |
Han et al. | Cheating and detection method in massively multiplayer online role-playing game: systematic literature review | |
Islam et al. | GCI: A GPU-Based Transfer Learning Approach for Detecting Cheats of Computer Game | |
KR101201495B1 (en) | method for blocking auto-input in computer system | |
CN111939556A (en) | Method, device and system for detecting abnormal operation of game | |
Yeung et al. | Dynamic Bayesian approach for detecting cheats in multi-player online games | |
KR102119310B1 (en) | Method and apparatus for game cheating prevention | |
Silva | Towards automated server-side video game cheat detection | |
KR101139916B1 (en) | Apparatus and method for detecting automatic input through the hardware | |
Chow et al. | CAPTCHA challenges for massively multiplayer online games: Mini-game CAPTCHAs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130701 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20140630 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20160629 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20190701 Year of fee payment: 10 |