KR100710032B1 - Method and system for preventing hacking of keyboard input information of Internet Explorer user through secure input filter driver and keyboard security input BH in Windows operating system - Google Patents
Method and system for preventing hacking of keyboard input information of Internet Explorer user through secure input filter driver and keyboard security input BH in Windows operating system Download PDFInfo
- Publication number
- KR100710032B1 KR100710032B1 KR1020050015064A KR20050015064A KR100710032B1 KR 100710032 B1 KR100710032 B1 KR 100710032B1 KR 1020050015064 A KR1020050015064 A KR 1020050015064A KR 20050015064 A KR20050015064 A KR 20050015064A KR 100710032 B1 KR100710032 B1 KR 100710032B1
- Authority
- KR
- South Korea
- Prior art keywords
- keyboard input
- security
- keyboard
- bho
- hacking
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- D—TEXTILES; PAPER
- D03—WEAVING
- D03D—WOVEN FABRICS; METHODS OF WEAVING; LOOMS
- D03D49/00—Details or constructional features not specially adapted for looms of a particular type
- D03D49/04—Control of the tension in warp or cloth
- D03D49/06—Warp let-off mechanisms
-
- H—ELECTRICITY
- H05—ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
- H05B—ELECTRIC HEATING; ELECTRIC LIGHT SOURCES NOT OTHERWISE PROVIDED FOR; CIRCUIT ARRANGEMENTS FOR ELECTRIC LIGHT SOURCES, IN GENERAL
- H05B3/00—Ohmic-resistance heating
- H05B3/20—Heating elements having extended surface area substantially in a two-dimensional plane, e.g. plate-heater
- H05B3/34—Heating elements having extended surface area substantially in a two-dimensional plane, e.g. plate-heater flexible, e.g. heating nets or webs
- H05B3/342—Heating elements having extended surface area substantially in a two-dimensional plane, e.g. plate-heater flexible, e.g. heating nets or webs heaters used in textiles
- H05B3/347—Heating elements having extended surface area substantially in a two-dimensional plane, e.g. plate-heater flexible, e.g. heating nets or webs heaters used in textiles woven fabrics
-
- D—TEXTILES; PAPER
- D02—YARNS; MECHANICAL FINISHING OF YARNS OR ROPES; WARPING OR BEAMING
- D02G—CRIMPING OR CURLING FIBRES, FILAMENTS, THREADS, OR YARNS; YARNS OR THREADS
- D02G3/00—Yarns or threads, e.g. fancy yarns; Processes or apparatus for the production thereof, not otherwise provided for
- D02G3/44—Yarns or threads characterised by the purpose for which they are designed
-
- H—ELECTRICITY
- H05—ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
- H05B—ELECTRIC HEATING; ELECTRIC LIGHT SOURCES NOT OTHERWISE PROVIDED FOR; CIRCUIT ARRANGEMENTS FOR ELECTRIC LIGHT SOURCES, IN GENERAL
- H05B2203/00—Aspects relating to Ohmic resistive heating covered by group H05B3/00
- H05B2203/014—Heaters using resistive wires or cables not provided for in H05B3/54
- H05B2203/015—Heater wherein the heating element is interwoven with the textile
Landscapes
- Engineering & Computer Science (AREA)
- Textile Engineering (AREA)
- Storage Device Security (AREA)
Abstract
본 발명은 컴퓨터 정보 보안 중에서 사용자의 키보드 입력 정보 해킹을 방지하기 위한 보안 시스템의 보안 방법에 관한 것으로서, 더욱 상세하게는 커널 모드(Ring 0)에 보안 입력 필터 드라이버를 설치함과 동시에 필터 드라이버와 인터럽트 서비스 루틴을 점검하여 커널 모드에서 사용자의 키보드 입력 정보를 해킹으로부터 원천적으로 보호하여 입력 받고, 키보드 입력 정보를 인터넷 익스플로어(Internet Explorer; IE) 내부에 설치한 키보드 입력 보안 BHO에 직접 전송함으로써, 사용자 모드(Ring 3)와 커널 모드(Ring 0)에서 키 스트로크 해킹을 원천적으로 방지할 수 있는 방법에 관한 것이다.The present invention relates to a security method of a security system for preventing user keyboard input information hacking among computer information security. More particularly, the present invention relates to a filter driver and an interrupt while installing a secure input filter driver in kernel mode (Ring 0). By checking the service routine, the user's keyboard input information is protected and protected from hacking in kernel mode, and the keyboard input information is sent directly to the keyboard input security BHO installed inside Internet Explorer (IE). The present invention relates to a method for preventing key stroke hacking in mode (Ring 3) and kernel mode (Ring 0).
본 발명에 따른 윈도우즈 운영체제에서 보안 입력 필터 드라이버와 인터넷 익스플로러 내부의 키보드 보안 입력 비에이치오를 통한 인터넷 익스플로러 사용자의 키보드 입력 정보 해킹 방지 방법은, 키보드 입력 보안 BHO가 IE 텍스트 상자에 포커스(Focus)가 있는가를 점검하는 단계와; 상기 포커스 점검 단계에서 IE 텍스트 상자에 포커스가 없는 경우, 키보드 입력 보안 BHO가 보안 입력 필터 드라이버의 보안 작동을 중지시키는 단계와; 상기 포커스 점검 단계에서 IE 텍스트 상자에 포커스가 있는 경우, 키보드 입력 보안 BHO가 DeviceIoControl API(Application Programming Interface)에 대한 API 훅 여부를 판단하는 단계와; 상기 API 훅 여부 판단 단계에서 API 훅이 존재하는 것으로 판단되는 경우, 키보드 입력 보안 BHO가 관리 서버에 API 훅 정보를 전송하는 단계와; 상기 API 훅 여부 판단 단계에서 API 훅이 존재하지 않는 것으로 판단되는 경우, 키보드 입력 보안 BHO가 보안 입력 필터 드라이버에 키보드 입력 정보를 보호할 것을 통보하는 단계와; 보안 입력 필터 드라이버가 상기 키보드 입력 정보 보호 통보에 따라 보안 작동을 개시하여 키보드 드라이버로부터 수신되는 키보드 입력값을 키보드 입력 보안 BHO로 상기 수신된 키보드 입력값을 직접 전송하는 단계와; 키보드 입력 보안 BHO가 상기 IE 텍스트 상자에 대한 섭 클래싱이 존재하는지 여부를 판단하는 단계와; 상기 섭 클래싱 존재 여부 판단 단계에서 섭 클래싱이 존재하는 것으로 판단되는 경우, 키보드 입력 보안 BHO가 IE 텍스트 상자에 대한 섭 클래싱 정보를 관리 서버에 전송하는 단계와; 상기 섭 클래싱 존재 여부 판단 단계에서 섭 클래싱이 존재하지 않는 것으로 판단되는 경우, 키보드 입력 보안 BHO가 IE 텍스트 상자의 윈도우 프로시저를 호출하여 상기 수신된 키보드 입력 값을 전송하는 단계와; 관리 서버가 상기 키보드 입력 보안 BHO로부터 전송받은 정보를 바탕으로 내부의 DB를 검색하여 해킹 여부를 판단하는 단계와; 키보드 입력 보안 BHO가 상기 해킹 여부 판단 결과를 관리 서버로부터 수신하여, 상기 판단 결과에 따라 해킹에 해당되는 프로세싱을 삭제하는 해킹 프로세싱 삭제 단계를 포함하여 구성되는 점을 특징으로 한다.In the Windows operating system according to the present invention, a method of preventing hacking of keyboard input information of an Internet Explorer user through a secure input filter driver and a keyboard secure input BII in an Internet Explorer includes checking whether a keyboard input security BHO has a focus on an IE text box. Making a step; If there is no focus in the IE text box in the focus checking step, the keyboard input security BHO stops the security operation of the secure input filter driver; Determining, by the keyboard input security BHO, an API hook for a DeviceIoControl application programming interface (API) when the focus is on the IE text box in the focus checking step; If it is determined that the API hook exists in the API hook determination step, the keyboard input security BHO transmitting the API hook information to the management server; If it is determined that the API hook does not exist in the API hook determination step, the keyboard input security BHO notifies the secure input filter driver to protect the keyboard input information; A security input filter driver initiating a secure operation according to the keyboard input information protection notification to directly transmit the keyboard input value received from the keyboard driver to the keyboard input security BHO directly; Determining, by keyboard input security BHO, whether subclassing exists for the IE text box; If it is determined that subclassing exists in the subclassing determination step, the keyboard input security BHO transmits subclassing information on the IE text box to a management server; If it is determined that subclassing does not exist in the subclassing determination step, the keyboard input security BHO calls a window procedure of an IE text box to transmit the received keyboard input value; A management server searching an internal DB based on information received from the keyboard input security BHO and determining whether to be hacked; And a hack processing deletion step of receiving, by the keyboard input security BHO, a result of the hacking determination from the management server, and deleting the processing corresponding to the hack according to the determination result.
키보드, 보안, 해킹, 키 스트로크, 필터 드라이버, 브라우저 헬프 오브젝트(BHO), 인터럽트 서비스 루틴(ISR) Keyboard, Security, Hacking, Key Stroke, Filter Driver, Browser Help Object (BHO), Interrupt Service Routine (ISR)
Description
도 1은 윈도우즈 운영체제의 기본 키보드 입력 구조를 나타내는 도면.
도 2는 본 발명에 따른 키보드 입력 정보 해킹 방지 방법에서 보안이 작동하지 않을 때의 키보드 입력 구조를 나타내는 도면.
도 3은 본 발명에 따른 키보드 입력 정보 해킹 방지 방법에서 보안이 작동할 때의 키보드 입력 구조를 나타내는 도면.
도 4는 본 발명에 따른 키보드 입력 정보 해킹 방지 방법이 적용되는 보안 시스템의 구성도.
도 5는 본 발명의 일실시예에 따른 키보드 입력 정보 해킹 방지 방법을 나타내는 흐름도.1 is a diagram showing a basic keyboard input structure of the Windows operating system.
2 is a diagram illustrating a keyboard input structure when security is not operated in the keyboard input information hacking prevention method according to the present invention.
3 is a diagram illustrating a keyboard input structure when security is activated in the method for preventing keyboard input information hacking according to the present invention.
4 is a block diagram of a security system to which the keyboard input information hacking prevention method according to the present invention is applied.
5 is a flowchart illustrating a keyboard input information hacking prevention method according to an embodiment of the present invention.
삭제delete
삭제delete
삭제delete
삭제delete
도 6은 본 발명에 따른 보안 입력 필터 드라이버(200)의 흐름도
도 7은 관리 서버의 해킹 여부 판단 과정 및 키보드 입력 보안 BHO의 해킹 대응 동작 수행 과정을 나타내는 흐름도.
도 8은 본 발명의 일실시예에 따른 필터 드라이버 감시부의 동작을 나타내는 흐름도.6 is a flow diagram of a secure
7 is a flowchart illustrating a process of determining whether a management server is hacked and a process of performing a hacking response operation of a keyboard input security BHO.
8 is a flowchart illustrating an operation of a filter driver monitor according to an exemplary embodiment of the present invention.
도 9는 인터럽트 서비스 루틴 감시부의 동작을 나타내는 흐름도.9 is a flowchart showing the operation of the interrupt service routine monitoring unit.
삭제delete
삭제delete
본 발명은 컴퓨터 정보 보안 중에서 사용자의 키보드 입력 정보 해킹을 방지하기 위한 보안 시스템의 보안 방법에 관한 것으로서, 더욱 상세하게는 커널 모드(Ring 0)에 보안 입력 필터 드라이버를 설치함과 동시에 필터 드라이버와 인터럽트 서비스 루틴을 점검하여 커널 모드에서 사용자의 키보드 입력 정보를 해킹으로부터 원천적으로 보호하여 입력 받고, 키보드 입력 정보를 인터넷 익스플로어(Internet Explorer; IE) 내부에 설치한 키보드 입력 보안 BHO에 직접 전송함으로써, 사용자 모드(Ring 3)와 커널 모드(Ring 0)에서 키 스트로크 해킹을 원천적으로 방지할 수 있는 방법에 관한 것이다.The present invention relates to a security method of a security system for preventing user keyboard input information hacking among computer information security. More particularly, the present invention relates to a filter driver and an interrupt while installing a secure input filter driver in kernel mode (Ring 0). By checking the service routine, the user's keyboard input information is protected and protected from hacking in kernel mode, and the keyboard input information is sent directly to the keyboard input security BHO installed inside Internet Explorer (IE). The present invention relates to a method for preventing key stroke hacking in mode (Ring 3) and kernel mode (Ring 0).
삭제delete
삭제delete
삭제delete
삭제delete
인터넷 사용이 급속도로 발전함에 따라 일반 사용자들의 금전적인 거래(인터넷 뱅킹, 주식거래 등) 및 주요 개인정보를 담고 있는 수 많은 업무들이 인터넷 상으로 이루어지고 있다.With the rapid development of the Internet, a number of tasks are being carried out on the Internet that contain financial transactions (Internet banking, stock trading, etc.) and important personal information of ordinary users.
기존의 많은 보안 기술들이 서버 보안과 사용자와 서버 간의 데이터 전송 보안에 집중되어져 왔다.Many existing security technologies have focused on server security and data transmission between users and servers.
이와 같은 점을 악용하여 상대적으로 보안이 취약한 일반 사용자의 컴퓨터에 서 키보드 입력 정보를 가져가는 스파이웨어나 키 스트로크 로거를 설치하여 개인 정보를 취득 및 도용하는 사례가 늘고 있다.Increasingly, spyware or keystroke loggers, which take keyboard input information from general users' computers that are relatively insecure, have been used to acquire and steal personal information.
이와 같은 해킹에 가장 일반적인 방법은 사용자의 컴퓨터에 스파이웨어 탐지 및 제거 소프트웨어를 설치하는 것이다.The most common way to do this is to install spyware detection and removal software on your computer.
그러나 현재의 이러한 보안 소프트웨어들의 기본적인 작동원리로는 기존에 알려진 형태가 아닌 변형된 해킹 툴에 대해서는탐지를 할 수 없다.However, the basic principle of operation of such security software is that it cannot detect modified hacking tools that are not known.
가장 쉽게 사용자의 정보를 가져가는 방법 중 하나가 키보드 입력을 해킹하는 것인데 이와 같은 문제점을 해결하기 위하여 여러가지 방법이 개발되어지고 사용되고 있다.One of the easiest ways to get the user's information is to hack keyboard input. To solve this problem, various methods have been developed and used.
먼저 가장 일반적으로 키보드 해킹을 방지하는 방법으로 2005년 2월 현재까지 서비스 중인 KT의 키보드 해킹 방지 시스템이 있다. The most common way to prevent keyboard hacking is KT's keyboard hacking prevention system, which has been in service as of February 2005.
키보드 해킹 방지 프로그램은 IE(400) 쓰레드 메시지들을 해킹 방지 프로그램 고유의 메시지 대기열(Queue)로 전환시키길 AttachInputThread 를 통해 요청(230)한다. 이 요청을 하면 시스템은 그 이후부터 모든 IE(400)의 메시지를 키보드 보안 프로그램으로 보낸다. 이러한 메시지들은 키 값을 가지게 되며 키보드 보안 프로그램은 실제 키 값을 저장하고 가짜 키 값과 함께 입력 메시지를 생성한다. 그리고 그것을 IE 쓰레드 메시지 대기열(410)로 보낸다. The keyboard hacking prevention program requests 230 through AttachInputThread to turn IE 400 threaded messages into a message queue unique to the hacking prevention program. The request then sends all IE 400 messages to the keyboard security program. These messages have key values, and the keyboard security program stores the actual key values and generates an input message with the fake key values. And send it to the IE
그 후에 키보드 보안 프로그램은 저장되었던 실제 값을 IE(400)의 윈도우 프로시저(Window Procedure)로 보냄과 동시에 가짜 키 값을 삭제할 명령도 보내게 된다.After that, the keyboard security program sends the stored value to the window procedure of the IE 400 and at the same time sends a command to delete the fake key value.
결국 웹 브라우저의 쓰레드에 훅을 설치한 해커는 실제 키 값이 아닌 가짜 키 값이 섞여있는 메시지를 받게 된다.Eventually, a hacker who hooks into a thread in a web browser receives a message that contains a mixture of fake key values, not actual key values.
그러나 이와 같은 보안 시스템은 여러가지 방법을 통해 매우 쉽게 피할 수가 있다. 해커는 훅(Hook)을 보안 프로그램의 쓰레드(Thread)에 설치할 수 있다. 결국 해커는 IE 텍스트 박스(420)의 입력 메시지와보안 프로그램의 입력 메시지를 둘다 가질 수 있게 된다.However, such a security system can be easily avoided in many ways. Hackers can install hooks in the security program's thread. As a result, the hacker may have both the input message of the
또 다른 방법은 보안 프로그램이 운영체제에 AttachInputThread 를 요청한 다음에 해킹 프로그램이 다시 운영체제에 AttachInputThread를 요청할 수가 있게 된다. 윈도우즈의 운영체제의 특성상 시스템은 먼저 요청한 보안 프로그램이 아닌 Another way is that after a security program asks the operating system for an AttachInputThread, the hacking program can ask the operating system for an AttachInputThread again. Due to the nature of the Windows operating system, the system is not a security program
가장 마지막에 요청한 응용 프로그램(500) 즉 해킹 프로그램으로 입력 메시지를 보내게 된다.The input message is sent to the last requested
또 다른 방법으로는 해킹 프로그램을 이용하여 IE 텍스트 박스(420)의 윈도우 프로시저(Window Procedure)를 바꿀 수 있다.Alternatively, the hacking program may be used to change the window procedure of the IE
해킹 프로그램은 디폴트로 설정된 윈도우 프로시저를 해킹 프로그램 고유의 윈도우 프로시저로 바꾸는데 이 기술을 섭 클래싱(Sub Classing)이라고 한다. 이 기술을 활용하여 해커는 텍스트 박스 입력 메시지를 쉽게 가져 갈 수가 있다.The hacking program replaces the default window procedure with the hacking program's own window procedure. This technique is called subclassing. Using this technique, hackers can easily take text box input messages.
위와 같은 보안 방법이 아닌 다른 방법의 기술로 대한민국 특허공개공보 제2001-0099090호 "엑티브엑스 기반의 키보드 해킹 방지 입력 창"이 있다.As a technique of a method other than the above security method, there is a Korean Patent Publication No. 2001-0099090 "ActiveX-based keyboard hacking prevention input window".
이 특허는 키보드 입력 정보를 버퍼링한 후 키보드 포트에 남아있는 키보드 흔적 데이터를 삭제한 후, 버퍼링 된 기존의 키보드 데이터 흐름이 아닌 별도의 전송 구간으로 키보드 데이터를 응용 프로그램으로 전달하는 방식으로 키보드 입력 정보를 보호하는 방법이다. 이 특허 기술로 인하여 앞서 말한 키보드 입력 정보를 가로채는 등의 응용 프로그램과 같은 상위 레벨의입력 데이터는 보호되어질 수가 있다. 그러나 대한민국 특허공개공보 제2004-0072044호에서도 지적하였듯이 이 기술에서 사용하는 보안 입력 키보드 드라이버보다 먼저 키보드 입력 정보를 가로 챌 수 있다 This patent deletes the keyboard trace data remaining in the keyboard port after buffering the keyboard input information, and then transfers the keyboard data to the application as a separate transmission section instead of the existing buffered keyboard data flow. How to protect it. Due to this patented technology, higher level input data such as application programs such as intercepting the above-mentioned keyboard input information can be protected. However, as noted in Korean Patent Laid-Open Publication No. 2004-0072044, the keyboard input information can be intercepted before the secure input keyboard driver used in this technology.
도 1에는 키보드 드라이버(120)가 도시되어 있는데 그 상위 또는 하위에 n개의 필터 드라이버를 설치할 수 있다.1 illustrates a
즉 키보드 하드웨어(100)에서 키보드 드라이버(120)까지 n개의 하단 필터 드라이버를 설치할 수 있고 키보드 드라이버(120)와 키보드 클래스 드라이버(140) 사이에 n개의 상단 필터 드라이버를 설치할 수가 있다.That is, n bottom filter drivers may be installed from the
이와 같은 방법으로 해커는 이 기술에서 사용하는 보안 입력 키보드 드라이버보다 먼저 키보드 입력 정보를 받을 수 있다.In this way, a hacker can receive keyboard input information before the secure input keyboard driver used by this technology.
또 다른 보안 방법으로 대한민국 특허공개공보 제2002-0048313호 "키보드 해킹 방지 방법"이 있다. 이 방법에서는 커널 모드(Ring 0)에서 키보드 하드웨어(100)를 떠난 키보드 입력 정보가 사용자 모드(Ring 3)인 시스템 메시지 대기열(210) 까지 도달하는 과정을 보안 키보드 드라이버라고 하는 단 하나의 단계로 설명하고 있다.Another security method is Korea Patent Publication No. 2002-0048313 "Keyboard hacking prevention method". In this method, the keyboard input information leaving the
앞서 설명하였듯이 커널 모드(Ring 0)에서 키보드 하드웨어(100)를 떠난 키보드 입력 정보가 사용자 모드(Ring 3)의 시스템 메시지 대기열(210)까지 도달하려면 최소 두개의 운영체제에서 공급되어진 드라이버를 거쳐야 한다.As described above, in order to reach the
키보드 하드웨어(100)와 키보드 드라이버(120), 키보드 드라이버(120)와 키보드 클래스 드라이버(140) 사이는 드라이버 간의 통신 방법과 그 특징이 다르며 서로 다른 형식의 필터 드라이버가 설치가 가능한 영역이다. The
결국 이 공개특허에는 너무 간단한 기술적 설명으로 인하여 커널 모드(Ring 0)에서의 이 기술에서 말하는 보안 키보드 드라이버의 설치 위치와 명확하지 않으며 특히 필터 드라이버 간의 로드 오더(load order) 및 각각의 드라이버 간의 보안 방법에 대한 것이 설명되어있지 않으므로 해커는 로드 오더 변경 및 기타 여러 가지 방법을 통해 각 드라이버 간의 특징을 활용하여 정보를 중간에서 가로채거나 복사할 수 있다.After all, this patent discloses a technical description that is so simple that the installation location of the secure keyboard driver in this technology in kernel mode (Ring 0) is not clear and in particular the load order between filter drivers and the security method between each driver. Since it is not described, hackers can intercept or copy information in the middle by exploiting features between each driver through load order changes and other methods.
또한 테이블을 생성하여 중간에서 암호화하고 복호화하는 기술로는 특정 프로그램으로 전달하는 과정에서 다시금 키보드 입력 정보를 빼앗길 수가 있다. 즉 앞서 설명한 것과 같이 여러가지 종류의 브라우저와 모든 응용 프로그램에 이 기술이 적용된다는 말은 다르게 말하자면 이 기술은 응용프로그램(500)으로 전달하기 바로 전까지만 키보드 입력 정보를 보호한다는 것이다.In addition, as a technique for creating a table, encrypting and decrypting it in the middle, the keyboard input information can be lost again in the process of transferring to a specific program. In other words, as described above, the technology is applied to various types of browsers and all applications, in other words, the technology protects the keyboard input information only until it is transmitted to the
브라우저에는 인터넷 익스플로러(IE), 넷스케이프, 오페라 등 전혀 다른 응용 프로그램(500)이 존재하고 이들은 각각의 특징이 있다. There are completely
국내의 인터넷 환경을 고려할 때 대부분의 사용자가 윈도우즈 운영체제와 IE(400)를 사용하는데 IE(400) 만의 특징을 고려하지 않는다면 결국 실질적으로 사용자가 인터넷을 사용하는 과정 가운데서 키보드 입력 정보를 IE 텍스트 박스(420)까지 보호한다는 것은 불가능하다.Considering the domestic Internet environment, most users use the Windows operating system and the IE 400. If the user does not consider the features of the IE 400, the user may actually input the keyboard input information into the IE text box in the process of using the Internet. Protection up to 420 is impossible.
이와 같은 점은 대한민국 특허공개공보 제10-2004-0092101호 "가상 키보드 데이터 전송을 이용한 키보드 해킹 방지 방법"과 제2004-0072044호 "보안 입력 디바이스를 이용한 컴퓨터 보안 시스템" 에서도 찾아볼 수가 있다.This can also be found in Korean Patent Publication No. 10-2004-0092101 "Keyboard hacking prevention method using virtual keyboard data transmission" and 2004-0072044 "Computer security system using a security input device".
상기 특허공개공보 제10-2004-0092101호 "가상 키보드 데이터 전송을 이용한 키보드 해킹 방지 방법" 은 앞서 설명한 KT의 보안 프로그램과 그 기본 원리가 동일하다. 차이점은 KT의 것은 사용자 모드(Ring 3)에서 키보드 입력 정보를 받아 암호화를 하였다면 이 기술은 커널 모드(Ring 0) 내의 한 단계에서 암호화를 한다는 점이다. 그러나 결국 동일한 문제점들을 가지고 있다.Patent Publication No. 10-2004-0092101 "Keyboard hacking prevention method using a virtual keyboard data transmission" is the same as the security program of the above-described KT and its basic principle. The difference is that if KT receives and encrypts keyboard input information in user mode (Ring 3), the technology encrypts in one step in kernel mode (Ring 0). But in the end, they have the same problems.
먼저 커널 모드에서는 상단, 하단 필터 드라이버 간의 로드 오더(Load order)를 점검하지 않는 다는 것과 키보드 드라이버(120) 전 작동되는 인터럽트 서비스 루틴(ISR) 역시 점검하지 않는다. First, in kernel mode, the load order between the upper and lower filter drivers is not checked and the interrupt service routine (ISR) that is operated before the
이와 같은 점은 해커에게 이 보안 프로그램의 설치 이후에 다시금 해커로 인해 필터 드라이버 및 자체 인터럽트 서비스 루틴(ISR)을 설치할 수 있게 해주고 해 커는 이로 인해 키보드 입력 정보를 가져갈 수 있다. This allows hackers to install the filter driver and their own Interrupt Service Routine (ISR) again after the security program has been installed, which allows the hacker to take keyboard input information.
또한 사용자 모드(Ring 3)에서는 앞서 KT 의 보안 프로그램을 설명한 것과 동일한 문제점들을 가지고 있다. In addition, the user mode (Ring 3) has the same problems as described above KT security program.
결국 모든 암호와가 응용 프로그램 전에서 복호화되어 응용 프로그램으로 전달이 되는데 키보드 입력 정보 보안의 개념을 응용 프로그램 전까지가 아닌 응용 프로그램 내부까지라고 본다면 키보드 입력 정보 보안은 해당 응용 프로그램(500)에 따른 별도의 설계가 필요하다. 그렇지 않으면 각각의 응용 프로그램(500)의 특징을 이용하여 보안 프로그램에서 키보드 입력 정보를 응용 프로그램(500)으로 전달할 때 해킹을 할 수 있게 된다.Eventually, all passwords and passwords are decrypted before the application and passed to the application. If the concept of the keyboard input information security is not the application but the inside of the application, the keyboard input information security is separate according to the
한편 상기 특허공개특허 제2004-0072044호 "보안 입력 디바이스를 이용한 컴퓨터 보안 시스템"은 키보드 드라이버(120) 하단에 하단 필터 드라이버를 설치한 후 인터럽트 디스크립터 데이블(IDT)에 등록된 운영체제에서 기본적으로 제공하는 인터럽트 서비스 루틴(ISR)이 아닌 자체적으로 만든 인터럽트 서비스 루틴(ISR)을 등록한다. On the other hand, the Patent Publication No. 2004-0072044 "Computer security system using a security input device" is basically provided by the operating system registered in the interrupt descriptor table (IDT) after installing the lower filter driver on the bottom of the
결국 운영체제의 인터럽트 서비스 루틴(ISR)과 키보드 드라이버(120)를 거치지 않고 직접 사용자 모드(Ring 3) 상에 설치한 자체 입력 보안 DLL로 메시지를 전송한 후 보안 입력 DLL 에서 응용 프로그램(500)으로 전달하는 방법이다. Eventually, the message is sent to the self-input security DLL installed in the user mode (Ring 3) directly without passing through the operating system's interrupt service routine (ISR) and
또한 인터럽트 서비스 루틴(ISR)을 점검하여서 언제나 자체적으로 만든 인터럽트 서비스 루틴(ISR)을 유지하는 기능도 포함하고 있다.It also includes the ability to check for interrupt service routines (ISRs) and maintain their own interrupt service routines (ISRs).
이 기술은 문제점은 첫째로 인터럽트 서비스 루틴(ISR)을 교체한 후 다시 원 상태로 되돌려 놓는 과정이 없다. 이와 같은 동작은 마이크로소프트 사(社)의 운영체제 명세사항(Specification)에 어긋나는 동작이다.The problem with this technique is that there is no process of first replacing the interrupt service routine (ISR) and then undoing it. This behavior is inconsistent with Microsoft's operating system specifications.
소프트웨어 중에는 자체 인터럽트 서비스 루틴(ISR) 설치를 필요로 하는 수많은 프로그램들이 있다. 불법적인 소프트웨어를 제외하고는 인터럽트 서비스 루틴(ISR) 설치를 하려는 모든 소프트웨어는 마이크로소프트 사(社)의 운영체제 명세사항(Specification)을 따라야 한다. There are a number of programs in the software that require the installation of their own interrupt service routine (ISR). Except for illegal software, any software intended to install an Interrupt Service Routine (ISR) must comply with Microsoft's operating system specifications.
그러나 상기 특허문헌에 따른 보안 시스템 이것을 따르지 않는 설계로 되어 있으며 이 소프트웨어가 작동을 하게 되면 동일 시스템 내에서 운영체제의 인터럽트 서비스 루틴(ISR)을 필요로 하는 다른 소프트웨어나 자체 인터럽트 서비스 루틴(ISR)의 실행을 필요로 하는다른 소프트웨어들의 작동이 불가능하게 된다. 소프트웨어적인 충돌이 시스템 내에서 일어나게 된다. 자체 인터럽트 서비스 루틴(ISR)을 설치하는 것만으로 그 소프트웨어를 해킹 프로그램이라고 볼 수는 없다.However, the security system according to the patent document is designed not to comply with this, and when this software is operated, the execution of other software or its own interrupt service routine (ISR) that requires the operating system's interrupt service routine (ISR) in the same system. Other software that requires it will be disabled. Software conflicts occur in the system. Just installing your own Interrupt Service Routine (ISR) does not mean that the software is a hacking program.
특히 시스템 관리에 관련된 수많은 소프트웨어들은 대부분 이 기능을 포함하고 있다. 운영체제 명세사항(Specification)에 어긋나면서 정상적인 타 소프트웨어의 동작을 방해하는 일련의 동작들은 바이러스나 해킹 프로그램들에서나 보여지는 동작들이다. 결국 이 기술을 윈도우즈 운영체제에 적용을 한다면 그 자체가 운영체제에 의해 정상적인 프로세싱으로 인식되어지지 않으며 사용자는 다른 소프트웨어들을 사용하는데에 제약을 받게 된다.Many of the software, especially those related to system management, include this feature. A series of actions that violate operating system specifications and interfere with the normal operation of other software are those seen in viruses or hacking programs. After all, if you apply this technology to a Windows operating system, it will not be recognized as normal processing by the operating system itself, and you will be limited to using other software.
둘째는 사용자 모드(Ring 3)에 존재하는 보안 입력 DLL이 응용 프로그램(500)으로 데이터를 넘기는 과정에서 해킹의 위험성이있다. IE를 예로 들면 앞서 설명한 해킹 기술 중에 하나인 섭 클래싱 기술을 활용하면 보안 입력 DLL에서 IE까지 전송되어지는 키보드 입력 정보를 가로챌 수가 있다. Second, there is a risk of hacking in the process of passing the data to the
본 발명은 상기한 종래 기술에 따른 키보드 보안 방법의 문제점을 해결하기 위한 것으로서, 사용자의 컴퓨터 운영체제가 윈도우즈이며 웹브라우저로 IE를 사용하였을 경우에 사용자의 키보드 하드웨어에서 IE 텍스트 박스까지의 경로상에서 키보드 입력 정보를 보호하는 데에 그 목적이 있다.The present invention is to solve the problems of the keyboard security method according to the prior art, when the user's computer operating system is Windows and IE is used as a web browser keyboard input on the path from the user's keyboard hardware to the IE text box Its purpose is to protect information.
또한, 리스트에만 의존하는 기존 보안 프로그램의 방식 대신 프로세싱 자체를 모니터하는 동시에 인터럽트 서비스 루틴(ISR) 및 필터 드라이버 리스트를 관리 서버로 전송하고 관리 서버에서 사용자에게 그 위험도를 통보하도록 구성함으로써, 사용자의 컴퓨터 내에서 발생하는 불법적인 키보드 입력 정보 해킹을 원천적으로 방지하는 데에 또 다른 목적이 있다.
상기의 목적을 달성하기 위한 기술적 사상으로서의 본 발명은,
키보드 입력 보안 BHO가 IE 텍스트 상자에 포커스(Focus)가 있는가를 점검하는 단계와; 상기 포커스 점검 단계에서 IE 텍스트 상자에 포커스가 없는 경우, 키보드 입력 보안 BHO가 보안 입력 필터 드라이버의 보안 작동을 중지시키는 단계와; 상기 포커스 점검 단계에서 IE 텍스트 상자에 포커스가 있는 경우, 키보드 입력 보안 BHO가 DeviceIoControl API(Application Programming Interface)에 대한 API 훅 여부를 판단하는 단계와; 상기 API 훅 여부 판단 단계에서 API 훅이 존재하는 것으로 판단되는 경우, 키보드 입력 보안 BHO가 관리 서버에 API 훅 정보를 전송하는 단계와; 상기 API 훅 여부 판단 단계에서 API 훅이 존재하지 않는 것으로 판단되는 경우, 키보드 입력 보안 BHO가 보안 입력 필터 드라이버에 키보드 입력 정보를 보호할 것을 통보하는 단계와; 보안 입력 필터 드라이버가 상기 키보드 입력 정보 보호 통보에 따라 보안 작동을 개시하여 키보드 드라이버로부터 수신되는 키보드 입력값을 키보드 입력 보안 BHO로 상기 수신된 키보드 입력값을 직접 전송하는 단계와; 키보드 입력 보안 BHO가 섭 클래싱이 존재하는지 여부를 판단하는 단계와; 상기 섭 클래싱 존재 여부 판단 단계에서 섭 클래싱이 존재하는 것으로 판단되는 경우, 키보드 입력 보안 BHO가 섭 클래싱 정보를 관리 서버에 전송하는 단계와; 상기 섭 클래싱 존재 여부 판단 단계에서 섭 클래싱이 존재하지 않는 것으로 판단되는 경우, 키보드 입력 보안 BHO가 IE 텍스트 상자의 윈도우 프로시저를 호출하여 상기 수신된 키보드 입력 값을 전송하는 단계와; 관리 서버가 상기 키보드 입력 보안 BHO로부터 전송받은 정보를 바탕으로 내부의 DB를 검색하여 해킹 여부를 판단하는 단계와; 키보드 입력 보안 BHO가 상기 해킹 여부 판단 결과를 관리 서버로부터 수신하여, 상기 판단 결과에 따라 해킹에 해당되는 프로세싱을 삭제하는 해킹 프로세싱 삭제 단계를 포함하여 구성되는 것을 특징으로 하는 키보드 입력 정보 해킹 방지 방법을 제공한다.It also monitors the processing itself instead of relying on a traditional security program that relies solely on the list, while sending a list of interrupt service routines (ISRs) and filter drivers to the management server and configuring the management server to notify the user of the risk. Another purpose is to prevent illegal keyboard input information hacking occurring within.
The present invention as a technical idea for achieving the above object,
Checking, by the keyboard input security BHO, whether there is a focus in the IE text box; If there is no focus in the IE text box in the focus checking step, the keyboard input security BHO stops the security operation of the secure input filter driver; Determining, by the keyboard input security BHO, an API hook for a DeviceIoControl application programming interface (API) when the focus is on the IE text box in the focus checking step; If it is determined that the API hook exists in the API hook determination step, the keyboard input security BHO transmitting the API hook information to the management server; If it is determined that the API hook does not exist in the API hook determination step, the keyboard input security BHO notifies the secure input filter driver to protect the keyboard input information; A security input filter driver initiating a secure operation according to the keyboard input information protection notification to directly transmit the keyboard input value received from the keyboard driver to the keyboard input security BHO directly; Determining, by keyboard input security BHO, whether subclassing exists; If it is determined that subclassing exists in the subclassing step, the keyboard input security BHO transmits the subclassing information to the management server; If it is determined that subclassing does not exist in the subclassing determination step, the keyboard input security BHO calls a window procedure of an IE text box to transmit the received keyboard input value; A management server searching an internal DB based on information received from the keyboard input security BHO, and determining whether to be hacked; And a hacking processing deleting step of receiving, by the keyboard input security BHO, a result of the hacking determination from the management server, and deleting processing corresponding to the hacking according to the determination result. to provide.
삭제delete
삭제delete
이하, 본 발명의 바람직한 실시예를 첨부 도면에 의거하여 상세하게 설명하기로 한다.
도 2 및 도 3은 본 발명에 따른 키보드 입력 정보 해킹 방지 방법에서의 키보드 입력 구조를 나타내는 도면으로서, 도 2는 보안 프로그램이 작동하지 않았을 경우의 키보드 입력 정보 흐름을 나타내고, 도 3은 보안 프로그램이 작동되었을 경우의 키보드 입력 정보 흐름을 나타낸다.
도 2 및 도 3에 도시된 바와 같이, 본 발명에 따른 키보드 입력 정보 해킹 방지 방법에 적용되는 키보드 입력 구조는 도 1에 도시된 응용 프로그램의 자리에 IE(400)가 위치하는데, IE(400)는 다시 키보드 입력 보안 BHO(300)와 IE 쓰레드 메시지 대기열(410), IE 텍스트 상자(420)으로 구성되어 있다. 키보드 드라이버(120) 하단과 상단에 n개의 필터 드라이버를 설치할 수가 있는데 본 발명에서는 키보드 드라이버(120)의 상단에 보안 입력 필터 드라이버(200)를 설치한다.
여기서 키보드 입력 보안 BHO(300)는 키보드 입력 보안을 위해 IE(400) 내에 직접 설치되는 브라우저 핼프 오브젝트(Browser Helper Object; BHO)이다. BHO는 IE 구동시에 IE 메모리 영역 내에 로드되는 오브젝트(Object)인데, 프로그램 개발자는 자신이 만든 BHO를 통해 IE를 커스터마이즈(customize)할 수 있다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.
2 and 3 are diagrams illustrating a keyboard input structure in the method for preventing keyboard input information hacking according to the present invention. FIG. 2 is a flow chart illustrating keyboard input information when the security program is not operated. Shows keyboard input information flow when activated.
2 and 3, in the keyboard input structure applied to the method for preventing keyboard input information hacking according to the present invention, the IE 400 is located in place of the application program shown in FIG. Is again composed of keyboard
The keyboard
삭제delete
먼저 도 2에서와 같이 보안 프로그램이 작동하지 않는 경우에는, 도 1과 비교할 때 커널 모드(Ring0)와 사용자 모드(Ring 3)의 단계만 많이졌을 뿐 동일한 경로를 통해서 키보드 입력 정보가 전달되어진다.First, when the security program does not operate as shown in FIG. 2, compared to FIG. 1, only the kernel mode (Ring0) and the user mode (Ring 3) have many steps, and keyboard input information is transmitted through the same path.
한편, 도 3에서와 같이 보안 프로그램이 작동되는 경우에는, 키보드 하드웨어(100)에서 키보드 입력 정보가 시작되어 운영체제의 키보드 드라이버(120)를 거쳐 보안 입력 필터 드라이버(200)까지 도착하면 보안 입력 필터 드라이버(200)는 상위에 존재하는 필터 드라이버나 운영체제의 키보드 클래스 드라이버(140) 등의 상위에 존재하는 단계들을 거치지 않고 IE(400) 내의 키보드 보안 입력 BHO(300)으로 직접 키보드 입력 정보를 보낸다. 키보드 보안 입력 BHO(300)은 IE 쓰레드 메시지 대기열(410)을 거치지 않고 직접 IE 텍스트 상자(420)에 키보드 입력 정보를 입력한다.Meanwhile, when the security program is operated as shown in FIG. 3, when the keyboard input information starts from the
도 4는 본 발명에 따른 키보드 입력 정보 해킹 방지 방법이 적용되는 보안 시스템의 구성도이다.
도 4에 도시된 바와 같이, 본 발명에 따른 키보드 입력 정보 해킹 방지 방법이 적용되는 보안 시스템은 커널 모드(Ring 0)에 설치되어 키보드 입력 정보를 처리하는 보안 입력 필터 드라이버(200)와, 사용자 모드(Ring 3)의 IE(400) 내에 설치되어 상기 보안 입력 필터 드라이버(200)로부터 키보드 입력 정보를 직접 수신하여 수신된 키보드 입력 정보에 대응하는 문자를 인터넷 익스플로러의 텍스트 상자에 출력하는 키보드 입력 보안 BHO(300) 및 상기 키보드 입력 보안 BHO(300)와 인터넷을 통해 연결되어 해킹과 관련된 정보를 전달받아 처리하는 관리 서버(700)로 구성되어 있다.
상기 키보드 입력 보안 BHO(300)는 해킹 프로그램에 의한 API 훅을 감시하는 API 훅 감시부(320)와, 필터 드라이버의 로드 오더를 변경해주는 로드오더 변환기(340)와, IE 텍스트 상자(420)에 대한 섭 클래싱을 감시하는 섭 클래싱 감시부(330) 및 사용자에게 보안 상태 및 경고를 출력해주는 디스플레이부(350)으로 구성된다.
보안 입력 필터 드라이버(200)는 보안 입력 필터 드라이버(200) 이외의 필터 드라이버 설치 여부와 로드 오더를 감시하는 필터드라이버 감시부(210), 송수신부(220), 키보드 드라이버(120)에서 공급하는 인터럽트 서비스 루틴(ISR)이 아닌 자체 인터럽트 서비스 루틴을 사용하여 해킹이 이루어지는지를 감시하는 ISR 감시부(230)로 구성된다.4 is a configuration diagram of a security system to which a keyboard input information hacking prevention method according to the present invention is applied.
As shown in FIG. 4, the security system to which the keyboard input information hacking prevention method according to the present invention is applied includes a security
The keyboard
The security
도 5는 본 발명의 일실시예에 따른 키보드 입력 정보 해킹 방지 방법을 나타내는 흐름도이다.5 is a flowchart illustrating a keyboard input information hacking prevention method according to an embodiment of the present invention.
이하, 상기한 보안 시스템을 이용한 본 발명의 일실시예에 따른 키보드 입력 정보 해킹 방지 방법에 대하여 상세히 설명하기로 한다.Hereinafter, a keyboard input information hacking prevention method according to an embodiment of the present invention using the security system will be described in detail.
먼저, 키보드 입력 보안 BHO(300)의 관리부(310)는 IE 텍스트 상자(420)에 포커스(Focus)가 있는가를 점검한다. 본 발명의 일실시예에 따른 키보드 입력 정보 해킹 방지 방법은 사용자가 키보드 하드웨어(100)를 통해 입력을 시작 할 때 보안 기능을 작동하는 것이 아니라, 그 전에 사용자가 키보드 입력을 위해 마우스를 IE 텍스트 상자(420)에 놓고 클릭하거나 또는 자동으로 IE 텍스트 상자(420)에 커서가 위치하게 되는 경우, 즉 'got focus' 이벤트가 발생함과 동시에 보안 기능을 작동하게 된다. 윈도우즈 운영체제는 멀티태스킹을 지원하는 운영체제로서 동시에 여러 개의 윈도우 즉 응용 프로그램(500)을 열어서 작업을 할 수가 있다. 하나의 키보드 하드웨어(100)를 통해서 여러 개의 응용 프로그램(500)에 데이터를 입력하는 방법을 쉽게 설명을 할 수 있는 것이 포커스이다. 즉 운영체제에 의해서 포커스가 있는 응용 프로그램(500)으로 키보드 입력 정보가 전달되어지게 된다. 사용자가 다른 응용 프로그램을 사용하다가(500)가 IE(400)을 열거나 또는 이미 열려져있었던 것을 선택하게 되면 IE(400)가 포커스를 받게 된다고 말할 수 있다. 좀 더 세부적으로 예를 들면 이메일을 확인하기 위해서 아이디 입력란에 마우스를 클릭을 하면 IE(400) 중에서도 해당되는 IE 텍스트 박스(420) 즉 이 경우에는 아이디 입력란이 포커스를 가지게 된다. 이 경우 본 발명에 의한 보안 프로그램이 작동을 하게 된다.First, the
상기 키보드 입력 보안 BHO(300)의 관리부(310)가 IE 텍스트 상자(420)에 포커스를 확인하고 포커스가 없으면 보안 입력 필터 드라이버(200)는 보안 작동을 하지 않게 된다. 반대로 포커스를 가지는 경우, 관리부(310)는 API 훅 감시부(320)를 작동시켜 DeviceIoControl API에 대한 API 훅 여부를 판단한다. 키보드 입력 보안 BHO(300)는 마이크로소프트 사(社)로부터 공급되어진 DeviceIoControl API를 통해서 보안 입력 필터 드라이버(200)와 대화를 하게 된다. 그런데 이 단계에서 해커는 중간의 데이터를 모니터하기 위해서 API 훅(Hook)을 할 수 있다. 이것을 방지하기 위해서 관리부(310)는 API 훅 감시부(320)를 통해 API 훅에 의해 DeviceIoControl API의 어드레스가 변경되었는지를 점검하는 것이다. 여기서, DeviceIoControl API는 kernel32.dll에서 추출 되어진 것이므로 DeviceIoControl API의 어드레스가 kernel32.dll 어드레스 공간의 일부인지를 점검함으로써, API 훅에 의해 DeviceIoControl API의 어드레스가 변경되었는지를 판단할 수 있게 된다. 이와 같은 API 훅 여부 판단 과정을 보다 상세히 설명하면 다음과 같다.
API 훅 감시부(320)는 DeviceIoControl API 어드레스를 얻고(321), 상기 획득된 DeviceIoControl API의 어드레스가 kernel32.dll 어드레스 공간의 일부인지를 점검한다(322).If the
The API
삭제delete
상기 DeviceIoControl API의 어드레스 점검 단계(322)에서 DeviceIoControl API의 어드레스가 kernel32.dll 어드레스 공간의 일부가 아닌 경우, DeviceIoControl API에 대한 API 훅이 존재하는 것으로 판단하여 관리 서버(700)에 이를 통보한다(312)If the address of the DeviceIoControl API is not part of the kernel32.dll address space in the
한편, 상기 DeviceIoControl API의 어드레스 점검 단계(322)에서 DeviceIoControl API 어드레스가 kernel32.dll 어드레스 공간의 일부이면 다시 kernel32.dll의 추출부분이 변경되었는지 확인하여(323) kernel32.dll의 추출부분이 변경된 경우, DeviceIoControl API에 대한 API훅이 존재하는 것으로 판단하여 이를 관리서버(700)에 통보한다(312)
한편, kernel32.dll의 추출부분이 변경되지 않았으면, API 훅이 존재하지 않는 것으로 판단되어, 키보드 입력 보안 BHO(300)는 DeviceIoControl API를 호출하여(324), 보안 입력 필터 드라이버(200)에 키보드 입력 정보를 보호할 것을 통보한다(314). 이 작동에 대한 흐름도가 도 6이다.
이후, 상기 키보드 입력 정보 보호 통보를 받은 보안 입력 필터 드라이버(200)는 작동을 개시하여(201), 키보드 드라이버(120)로부터 수신되는 키보드 입력값을 키보드 입력 보안 BHO(300)로 상기 수신된 키보드 입력값을 전송한다(331).On the other hand, if the DeviceIoControl API address is part of the kernel32.dll address space in the
On the other hand, if the extracted portion of kernel32.dll has not been changed, it is determined that the API hook does not exist, the keyboard
Subsequently, the security
이어서, 키보드 입력 보안 BHO(300)는 IE 텍스트 상자(420)의 윈도우 프로시저(Window Procedure)를 호출해야 하는데, 그 전에 관리부(310)은 섭 클래싱 감시부(330)를 작동시켜 섭 클래싱(SubClassing)이 존재하는지 여부를 판단한다. 관리부(310)가 섭 클래싱이 존재하는지 여부를 판단하는 과정을 보다 상세히 설명하면 다음과 같다.
섭 클래싱 감시부(330)는 IE 텍스트 상자(420)의 주소를 가져온다(332). 이어서, 상기 IE 텍스트 상자(420)의 주소가 IE 메인실행주소 공간(IE main executable address space)의 일부인가를 점검하여(333), 일부가 아니면 섭 클래싱이 존재하는 것으로 판단하여 관리서버(700)에 통보하고(312), 일부이면 섭 클래싱이 존재하지 않는 것으로 판단하여 IE 텍스트 상자(420)의 윈도우 프로시저를 호출하여 상기 수신된 키보드 입력 값을 전송한다(334).
Subsequently, the keyboard
상기 키보드 입력값 전송 단계(334)후, 관리부(310)는 IE 텍스트 상자(420)에 포커스가 있는지 확인하여(335), 포커스가 없어지면 보안 입력 필터 드라이버(200)로 보안 해제를 통보하여(208) 보안 작동을 중지시키고(202), 포커스가 계속 남아 있으면 상기 보안 입력 필터 드라이버(200)로부터 키보드 입력 값을 받아(331) 동일한 동작을 포커스가 없어질 때까지 반복한다.After the keyboard input
삭제delete
도 7은 관리 서버의 해킹 여부 판단 과정 및 키보드 입력 보안 BHO의 해킹 대응 동작 수행 과정을 나타내는 흐름도이다. 먼저, 관리서버(700)는 키보드 입력 보안 BHO(300)로 부터 API 훅, 섭 클래싱, 자체 ISR을 사용하는 하단 필터 드라이버 등의 사용자 컴퓨터 내에서 일어나는 모든 종류의 해킹 시도에 대한 정보를 받는다. (701)7 is a flowchart illustrating a process of determining whether a management server is hacked and a process of performing a hacking response operation of a keyboard input security BHO. First, the management server 700 receives information about all kinds of hacking attempts occurring within the user's computer, such as API hook, subclassing, bottom filter driver using its own ISR, from the keyboard
이와 같은 기술들은 해킹을 목적으로 만들어진 기술들이 아니라 해커들에 의해서 이용되는 것 뿐이다. 다시 말해 다른 정상적인 많은 소프트웨어들이 사용자의 컴퓨터 내에서 위와 같은 기술들을 활용할 수 있다.Such technologies are used by hackers, not technologies intended for hacking. In other words, many other normal softwares can take advantage of these techniques in the user's computer.
보안 프로그램에 의해서 감지되어 해킹으로 의심되어지는 일련의 동작들에 대한 정보는 관리서버(700)로 보내져서 관리서버(700)의 DB를 통해 해킹(703), 알려지지 않음(704), 안전(705)로 나뉘어지고 그 결과는 다시 키보드 입력 보안 BHO(300)로 전송된다.(702)Information about a series of actions detected by the security program and suspected of being hacked is sent to the management server 700 to be hacked 703, unknown 704,
그 결과가 해킹(703)으로 판명이 되면 본 발명에 의한 보안 프로그램은 해킹에 해당되는 부분을 삭제한 후 디스플레이부(350)를 통해서 사용자에게 통보한다.(711) 그 결과가 알려지지 않음(704) 또는 안전(705)으로 나온 경우 디스플레이부(350)를 통해 사용자에게 이 사실을 알리고 해당 프로세싱의 진행여부를 묻는다 .(706) 사용자가 아니오 즉 삭제를 원할 경우 해당 프로세싱을 삭제한 후 사용자에게 결과를 통보한다.(711)When the result is found to be a
반대로 사용자가 알려지지 않았거나(704) 안전(705)하다고 판명된 부분의 실행을 원할 경우 본 발명에 의한 보안 프로그램은 계속 작동을 하면서 동시에 모니터링을 계속 한다.(707) 모니터링 결과 해킹과 같은 불법적인 동작을 하지 않으면 관리서버(700)에 통보하여 해당 프로세싱을 안전(705)으로 등록한 후 본 발명에 의한 보안 프로그램 동작을 계속 진행한다. 모니터링 결과 API 훅, 섭 클래싱, 자체 ISR의 비정상정인 운영 등의 동작들이 감지가 되면 관리서버(700)에 이 사실을 통보하여 해당 프로세싱을 해킹(703)으로 등록을 한 후 해당 프로세싱을 삭제한다. 그 후 다시 디스플레이부(350)를 통해서 사용자에게 내용을 통보한다.(711)On the contrary, if the user wants to execute a part that is unknown (704) or determined to be safe (705), the security program according to the present invention continues to operate while simultaneously monitoring. (707) Illegal operation such as hacking result of monitoring If not, the management server 700 notifies and registers the processing as
이와 같은 동작은 이미 알려진 해킹 툴 리스트에 의존하여 해당되는 해킹 툴을 검색하고 제거하는 기존의 스파이웨어 탐지 및 제거 프로그램의 기본 원리와는 다른 것으로 보다 근본적이고 지속적인 보안을 사용자에게 공급할 수 있는 기술이다.This behavior is different from the basic principle of the existing spyware detection and removal program that relies on a list of known hacking tools to search for and remove the hacking tools, and is a technology that can provide users with more fundamental and continuous security.
한편, 도 4에서와 같이, 보안 입력 필터 드라이버(200)는 필터 드라이버 감시부(210)와 ISR 감시부(230)를 포함하여 구성될 수 있는데, 이하, 필터 드라이버 감시부(210) 및 ISR 감시부(230)의 보안 동작에 대하여 설명하기로 한다.Meanwhile, as shown in FIG. 4, the security
도 8은 본 발명의 일실시예에 따른 필터 드라이버 감시부의 동작을 나타내는 흐름도이다.8 is a flowchart illustrating an operation of a filter driver monitor according to an exemplary embodiment of the present invention.
먼저 먼저 필터 드라이버 감시부(210)의 동작을 설명하면, 키보드 드라이버(120) 상단에 설치될 수 있는 상단 필터 드라이버의 수를 점검한다.(211) 필터 드라이버의 수가 2개 이상이 아닌 경우 즉 보안 입력 필터 드라이버(200)만 설치 된 경우에는 디스플레이부(350)를 통해서 사용자에게 시스템이 안전하다는 통보를 한다.(351)First, the operation of the filter
또한 필터 드라이버의 수가 2개 이상인 경우라도 보안 입력 필터 드라이버(200)의 로드오더(Load order)가 최하단인지를 판단하여(213), 보안 입력 필터 드라이버(200)의 로드 오더가 최하단인 경우에도 사용자에게 안전하다는 통보를 한다.(351) 그러나 보안 입력 필터 드라이버(200)의 로드 오더가 최하단이 아닌 경우, 즉 필터 드라이버의 수가 2개이상이면서 보안 입력 필터 드라이버(200)보다 하단에 설치되어있는 경우에는 키보드 입력 보안 BHO(300)의 로드오더 변환기(340)를 통해서 로드 오더를 변경한다(214).In addition, even when the number of filter drivers is two or more, it is determined whether the load order of the secure
악의적이며 고도의 기술을 쓰지 않는 이상 로드 오더 변경 단계(214)를 통해 로드 오더가 변경되어지는데, 변경 후 디스플레이부(350)를 통해서 사용자에게 내용을 통보하고 시스템을 다시 시작할 것을 요청한다.(352) 그러나 로드오더가 변경이 되지 않는 경우가 발생할 수도 있는데 이와 같은 경우에는 관리서버(700)와 사용자에게 통보하여 더 이상의 작업을 진행하지 못하도록 한다.(353)The load order is changed through the load
한편, ISR 감시부(230)는 키보드 드라이버(120)에서 공급하는 인터럽트 서비스 루틴(ISR)이 아닌 자체 인터럽트 서비스 루틴을 사용하여 해킹이 이루어지는지를 감시하는 기능을 수행한다. 해커는 자체 인터럽트 서비스 루틴(ISR)을 만들고 그것을 인터럽트 디스크립터 테이블(IDT)에 등록을 할 수가 있다. 이때 정상적인 프로그램이라면 원하는 동작을 마친 후 운영체제에서 공급하는 인터럽트 서비스 루틴(ISR)을 다시 인터럽트 디스크립터 테이블(IDT)에 등록을 시켜야 하지만 해커에 의해 만들어진 인터럽트 서비스 루틴(ISR)은 키보드 입력 정보를 가져가는 것이 목적이므로 계속 자신의 인터럽트 서비스 루틴(ISR)을 유지하게 된다.Meanwhile, the
이와 같은 방법을 탐지하고 제거하는 부분이 인터럽트 서비스 루틴(ISR) 감시부(230)이다.The interrupt service routine (ISR)
도 9는 ISR 감시부의 동작을 나타내는 흐름도이다.9 is a flowchart illustrating the operation of the ISR monitoring unit.
먼저 인터럽트 디스크립터 데이블(IDT)에서 키보드 인터럽트 서비스 루틴(ISR)을 주소를 가져온다.(231) 그 후 키보드 드라이버(120)의 베이스 어드레스를 가져온다.(232) 시스템이 시작을 하면 시스템은 드라이버들을 로드(loading)한다. 이때 각각의 드라이버들은 컴퓨터 RAM의 일정부분을 차지하게 된다. 예를 들어 드라이버가 1MB를 차지했다고 했을 때 그 공간의 가장 앞부분의 주소를 베이스 어드레스라 한다. First get the address of the keyboard interrupt service routine (ISR) from the Interrupt Descriptor Table (IDT). (231) Then get the base address of the
상기 키보드 드라이버(120)의 베이스 어드레스를 가져오는 단계(232)가 완료되면(232), 키보드 드라이버(120)의 파일 크기 값을 가져온다.(233) 그 후에 인터럽트 디스크립터 테이블(IDT)에서 가져온 키보드 인터럽트 서비스 루틴(ISR)의 주소가 키보드 드라이버(120)의 베이스 어드레스보다 크며 동시에 키보드 드라이버(120)의 베이스 어드레스에 키보드 드라이버(120)의 파일 크기 값을 더한 합계보다 작은가를 점검한다.(234)When the
운영체제에서 공급되어진 인터럽트 서비스 루틴(ISR)은 정확히 말하자면 키보드 드라이버(120)에서 공급되어진다.The Interrupt Service Routine (ISR) supplied by the operating system is, precisely, supplied by the
즉 인터럽트 서비스 루틴(ISR)은 키보드 드라이버(120) 내에 존재한다는 뜻이다. 그리고 그 주소가 인터럽트 디스크립터 테이블(IDT)에 등록되어 있는 것이다. 자체 인터럽트 서비스 루틴(ISR)을 만들면 그것 역시 컴퓨터 RAM의 어느 부분 에 존재하게 되는데 그것이 키보드 드라이버(120)보다 먼저 또는 나중에도 설치할 수가 있다.That is, an interrupt service routine (ISR) is present in the
결국 자체 인터럽트 서비스 루틴(ISR)은 RAM 어딘가에 존재하면서 그 어드레스만을 인터럽트 디스크립터 테이블(IDT)에 등록을 하는 것이다. 한 가지 확실한 것은 키보드 드라이버(120)의 앞부분 또는 뒷부분의 공간을 차지할 수 있지만 키보드 드라이버(120) 내부에는 설치를 할 수가 없다는 것이다.Eventually, its Interrupt Service Routine (ISR) is somewhere in RAM and only registers its address in the Interrupt Descriptor Table (IDT). One thing is certain, but it can take up space in the front or back of the
쉽게 표현하여 예를 들면 키보드 드라이버(120)의 베이스 어드레스가 100이고 키보드 드라이버(120)의 파일 크기가 200이면 키보드 드라이버(120)는 컴퓨터의 RAM에서 100에서부터 300에 해당되는 공간을 차지한다는 뜻이며 인터럽트 서비스 루틴(ISR)은 100 에서부터 300 사이 어느 공간에 저장되어져 있다는 뜻이다.For example, if the base address of the
즉 해커나 다른 프로그램에 의해서 만들어진 자체 인터럽트 서비스 루틴(ISR)은 컴퓨터 RAM에서 100 이전이나 300 이후의 공간 어딘가에 저장되어지게 된다. 이와 같은 내용을 이용하여 현재 사용되어지고 있는 키보드 인터럽트 서비스 루틴(ISR)이 키보드 드라이버(120)에서 공급되어진 것인지 아닌지를 점검할 수 있다.(234) 점검 결과가 아니오 로 나온다면 관리서버(700)에 통보하여 도 7에서 설명한 것과 같은 동작을 실행한다. 한편, 상기 키보드 ISR 점검 단계(234)에서의 점검 결과가 "예"로 나오면 본 발명에 따른 키보드 보안 프로그램은 정상 작동을 한다(235).In other words, their interrupt service routines (ISRs), created by hackers or other programs, are stored somewhere in the computer's RAM somewhere before 100 or after 300. By using the above information, it is possible to check whether the currently used keyboard interrupt service routine (ISR) is supplied from the
이상에서와 같이, 본 발명에 따른 키보드 입력 정보 해킹 방지 방법은 커널 모드(Ring 0)와 사용자 모드(Ring 3)에서 발생할 수 있는 해킹의 가능성을 리스트에 의존하는 방식이 아닌 동작 자체를 점검하는 시스템을 포함하고 있어서 기존의 해킹 기술과 또한 응용 기술에 대한 보안성이 매우 높다. 이와 같은 점은 인터넷 환경이 급속도로 발전하고 그 이용 범위가 단순한 작업에서부터 금전적인 거래에 이르기까지 다양해지고 있는 현시점에 매우 중요한 역할을 하게 된다. 보안성을 높이게 되면 사용자들은 더욱 인터넷으로 하는 일련의 작업들을 사용하게 될 것이며 궁극적으로 인터넷 환경 발전을 이룰 수 있다.As described above, the keyboard input information hacking prevention method according to the present invention is a system for checking the operation itself, rather than a method depending on the list of possible hacking that may occur in the kernel mode (Ring 0) and the user mode (Ring 3) It contains a very high security of the existing hacking technology and also the application technology. This plays a very important role at the present time when the Internet environment is rapidly developing and its use ranges from simple work to financial transactions. Increasing security will allow users to use more of the Internet's work and ultimately advance the Internet experience.
Claims (12)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050015064A KR100710032B1 (en) | 2005-02-23 | 2005-02-23 | Method and system for preventing hacking of keyboard input information of Internet Explorer user through secure input filter driver and keyboard security input BH in Windows operating system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050015064A KR100710032B1 (en) | 2005-02-23 | 2005-02-23 | Method and system for preventing hacking of keyboard input information of Internet Explorer user through secure input filter driver and keyboard security input BH in Windows operating system |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060093932A KR20060093932A (en) | 2006-08-28 |
KR100710032B1 true KR100710032B1 (en) | 2007-04-25 |
Family
ID=37601900
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050015064A Expired - Fee Related KR100710032B1 (en) | 2005-02-23 | 2005-02-23 | Method and system for preventing hacking of keyboard input information of Internet Explorer user through secure input filter driver and keyboard security input BH in Windows operating system |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100710032B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101483658B (en) * | 2009-01-09 | 2012-11-28 | 招商银行股份有限公司 | System and method for input content protection of browser |
KR20160024162A (en) | 2014-08-25 | 2016-03-04 | 주식회사 텔스카 | Mobile payment system and method using mobile communication terminal |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100734145B1 (en) * | 2005-10-12 | 2007-07-03 | 주식회사 안철수연구소 | How to prevent key input theft using keyboard data authentication |
KR100861104B1 (en) * | 2006-10-16 | 2008-09-30 | 킹스정보통신(주) | USS keyboard security device and method |
KR100846123B1 (en) * | 2006-10-24 | 2008-07-15 | 주식회사 하우리 | A recording medium recording a keyboard security method and a keyboard security driver using the method |
KR100901465B1 (en) * | 2007-07-25 | 2009-06-08 | 주식회사 안철수연구소 | I / O packet protection method of the USB device |
KR100949790B1 (en) * | 2007-09-19 | 2010-03-30 | 소프트캠프(주) | How to secure the data of unauthorized tampered memory |
KR100952644B1 (en) * | 2009-04-17 | 2010-04-13 | 주식회사 잉카인터넷 | Security system and method of keyboard input data |
KR101005593B1 (en) * | 2009-04-17 | 2011-01-05 | 엔에이치엔비즈니스플랫폼 주식회사 | Method and apparatus for providing computer security service using hook |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020048313A (en) * | 2002-03-07 | 2002-06-22 | 최동성 | Method for preventing key board hacking |
KR20040009575A (en) * | 2002-07-24 | 2004-01-31 | 주식회사 잉카인터넷 | Hacking prevention of key stroke data |
KR20040066237A (en) * | 2003-01-17 | 2004-07-27 | 주식회사 안철수연구소 | Method for protecting from keystroke logging |
KR20040072044A (en) * | 2003-02-07 | 2004-08-16 | 킹스정보통신(주) | Computer security system using security input device driver |
KR20040092101A (en) * | 2003-04-24 | 2004-11-03 | 테커스 (주) | Using Virtual Keystroke Data Transmission for Keystroke Hacking Protect |
KR20040094379A (en) * | 2003-05-02 | 2004-11-09 | 마이크로소프트 코포레이션 | Secure communication with a keyboard or related device |
KR20050090541A (en) * | 2004-03-09 | 2005-09-14 | 주식회사 하우리 | Method for preventing key input from hacking, computer-readable storage medium recorded with program for preventing key input from hacking |
-
2005
- 2005-02-23 KR KR1020050015064A patent/KR100710032B1/en not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020048313A (en) * | 2002-03-07 | 2002-06-22 | 최동성 | Method for preventing key board hacking |
KR20040009575A (en) * | 2002-07-24 | 2004-01-31 | 주식회사 잉카인터넷 | Hacking prevention of key stroke data |
KR20040066237A (en) * | 2003-01-17 | 2004-07-27 | 주식회사 안철수연구소 | Method for protecting from keystroke logging |
KR20040072044A (en) * | 2003-02-07 | 2004-08-16 | 킹스정보통신(주) | Computer security system using security input device driver |
KR20040092101A (en) * | 2003-04-24 | 2004-11-03 | 테커스 (주) | Using Virtual Keystroke Data Transmission for Keystroke Hacking Protect |
KR20040094379A (en) * | 2003-05-02 | 2004-11-09 | 마이크로소프트 코포레이션 | Secure communication with a keyboard or related device |
KR20050090541A (en) * | 2004-03-09 | 2005-09-14 | 주식회사 하우리 | Method for preventing key input from hacking, computer-readable storage medium recorded with program for preventing key input from hacking |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101483658B (en) * | 2009-01-09 | 2012-11-28 | 招商银行股份有限公司 | System and method for input content protection of browser |
KR20160024162A (en) | 2014-08-25 | 2016-03-04 | 주식회사 텔스카 | Mobile payment system and method using mobile communication terminal |
Also Published As
Publication number | Publication date |
---|---|
KR20060093932A (en) | 2006-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10515208B2 (en) | Isolation and presentation of untrusted data | |
US9158919B2 (en) | Threat level assessment of applications | |
US8239947B1 (en) | Method using kernel mode assistance for the detection and removal of threats which are actively preventing detection and removal from a running system | |
US8578477B1 (en) | Secure computer system integrity check | |
US7293251B2 (en) | Initiating and debugging a process in a high assurance execution environment | |
JP4159100B2 (en) | Method and program for controlling communication by information processing apparatus | |
US8347380B1 (en) | Protecting users from accidentally disclosing personal information in an insecure environment | |
US7665139B1 (en) | Method and apparatus to detect and prevent malicious changes to tokens | |
US20110239306A1 (en) | Data leak protection application | |
US20150186646A1 (en) | System, method, and computer program product for dynamically adjusting a level of security applied to a system | |
CN104778415B (en) | A kind of leakage-preventing system and method for data based on computer behavior | |
JP2001051742A (en) | Method and device for inspecting completeness of executable module and relative protection service provider module | |
KR20070118074A (en) | System and method for foreign code detection | |
US20070266444A1 (en) | Method and System for Securing Data Stored in a Storage Device | |
KR100710032B1 (en) | Method and system for preventing hacking of keyboard input information of Internet Explorer user through secure input filter driver and keyboard security input BH in Windows operating system | |
KR100985076B1 (en) | Usb device security device and method | |
US10063558B2 (en) | Method for blocking unauthorized data access and computing device with feature of blocking unauthorized data access | |
CN109791588B (en) | Mitigating malicious actions associated with graphical user interface elements | |
US20160112441A1 (en) | File security management apparatus and management method for system protection | |
US12326934B2 (en) | Detecting suspicious activation of an application in a computer device | |
KR100953355B1 (en) | How to protect your online e-commerce program | |
US7103783B1 (en) | Method and system for providing data security in a file system monitor with stack positioning | |
KR20180065535A (en) | System and method for detecting kernel rootkit | |
WO2006059335A1 (en) | Method and system for securing data stored in a storage device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
PA0109 | Patent application |
St.27 status event code: A-0-1-A10-A12-nap-PA0109 |
|
PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
D13-X000 | Search requested |
St.27 status event code: A-1-2-D10-D13-srh-X000 |
|
D14-X000 | Search report completed |
St.27 status event code: A-1-2-D10-D14-srh-X000 |
|
R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-3-3-R10-R18-oth-X000 |
|
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
R17-X000 | Change to representative recorded |
St.27 status event code: A-3-3-R10-R17-oth-X000 |
|
T11-X000 | Administrative time limit extension requested |
St.27 status event code: U-3-3-T10-T11-oth-X000 |
|
P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
E13-X000 | Pre-grant limitation requested |
St.27 status event code: A-2-3-E10-E13-lim-X000 |
|
P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-3-3-R10-R18-oth-X000 |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
St.27 status event code: A-1-2-D10-D22-exm-PE0701 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
St.27 status event code: A-2-4-F10-F11-exm-PR0701 |
|
PR1002 | Payment of registration fee |
St.27 status event code: A-2-2-U10-U11-oth-PR1002 Fee payment year number: 1 |
|
PG1601 | Publication of registration |
St.27 status event code: A-4-4-Q10-Q13-nap-PG1601 |
|
R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 4 |
|
PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 5 |
|
PN2301 | Change of applicant |
St.27 status event code: A-5-5-R10-R13-asn-PN2301 St.27 status event code: A-5-5-R10-R11-asn-PN2301 |
|
PN2301 | Change of applicant |
St.27 status event code: A-5-5-R10-R11-asn-PN2301 |
|
R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
R17-X000 | Change to representative recorded |
St.27 status event code: A-5-5-R10-R17-oth-X000 |
|
PN2301 | Change of applicant |
St.27 status event code: A-5-5-R10-R11-asn-PN2301 |
|
PN2301 | Change of applicant |
St.27 status event code: A-5-5-R10-R11-asn-PN2301 |
|
FPAY | Annual fee payment |
Payment date: 20130325 Year of fee payment: 7 |
|
PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 7 |
|
PN2301 | Change of applicant |
St.27 status event code: A-5-5-R10-R14-asn-PN2301 |
|
P14-X000 | Amendment of ip right document requested |
St.27 status event code: A-5-5-P10-P14-nap-X000 |
|
P16-X000 | Ip right document amended |
St.27 status event code: A-5-5-P10-P16-nap-X000 |
|
Q16-X000 | A copy of ip right certificate issued |
St.27 status event code: A-4-4-Q10-Q16-nap-X000 |
|
FPAY | Annual fee payment |
Payment date: 20140407 Year of fee payment: 8 |
|
PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 8 |
|
FPAY | Annual fee payment |
Payment date: 20150417 Year of fee payment: 9 |
|
PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 9 |
|
FPAY | Annual fee payment |
Payment date: 20160411 Year of fee payment: 10 |
|
PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 10 |
|
R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 11 |
|
R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
FPAY | Annual fee payment |
Payment date: 20180410 Year of fee payment: 12 |
|
PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 12 |
|
P22-X000 | Classification modified |
St.27 status event code: A-4-4-P10-P22-nap-X000 |
|
LAPS | Lapse due to unpaid annual fee | ||
PC1903 | Unpaid annual fee |
St.27 status event code: A-4-4-U10-U13-oth-PC1903 Not in force date: 20190417 Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE |
|
PC1903 | Unpaid annual fee |
St.27 status event code: N-4-6-H10-H13-oth-PC1903 Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE Not in force date: 20190417 |