KR20080010918A - Keyboard security method preventing application hooking - Google Patents
Keyboard security method preventing application hooking Download PDFInfo
- Publication number
- KR20080010918A KR20080010918A KR1020060071613A KR20060071613A KR20080010918A KR 20080010918 A KR20080010918 A KR 20080010918A KR 1020060071613 A KR1020060071613 A KR 1020060071613A KR 20060071613 A KR20060071613 A KR 20060071613A KR 20080010918 A KR20080010918 A KR 20080010918A
- Authority
- KR
- South Korea
- Prior art keywords
- input
- keyboard
- security
- window
- information
- 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
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2101—Auditing as a secondary aspect
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Input From Keyboards Or The Like (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
Description
도 1은 로그인 입력창에 아이디 및 암호를 입력할 수 있는 방법을 나타내는 도면.1 is a view showing a method for inputting an ID and password in the login input window.
도 2는 해킹툴이 응용프로그램 후킹을 통해 인터넷 뱅킹 로그인 정보를 획득한 상태를 나타내는 도면.2 is a view showing a state in which the hacking tool obtained the Internet banking login information through the application hooking.
도 3은 키보드 입력 정보가 전달되는 경로를 나타내는 도면.3 is a diagram illustrating a path through which keyboard input information is transmitted.
도 4는 본 발명의 일실시예에 따른 응용프로그램 후킹을 방지하는 키보드 보안 방법이 적용되는 보안 솔루션의 구성도.4 is a configuration diagram of a security solution to which a keyboard security method for preventing application hooking according to an embodiment of the present invention is applied.
도 5는 본 발명의 일실시예에 따른 응용프로그램 후킹을 방지하는 키보드 보안 방법을 나타내는 순서도.5 is a flowchart illustrating a keyboard security method for preventing application hooking according to an embodiment of the present invention.
도 6은 도 5에 도시된 가상 윈도우 생성 단계에서 생성된 가상 윈도우를 예시하는 도면.FIG. 6 is a diagram illustrating a virtual window generated in the virtual window generating step shown in FIG. 5. FIG.
<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>
100 : 보안 드라이버 200 : 제어부100: security driver 200: control unit
210 : 데이터 수신부 220 : 드라이버 등록부210: data receiver 220: driver register
230 : 데이터 저장부 240 : 가상 출력부230: data storage unit 240: virtual output unit
241 : 가상 윈도우 250 : 데이터 발신부241: virtual window 250: data transmission unit
본 발명은 키보드 입력 정보를 해킹으로부터 보호해주는 보안 방법에 관한 것으로서, 더욱 상세하게는 응용프로그램의 입력창에 키보드 입력이 발생하였을 때, 커널 영역의 보안 키보드 드라이버로부터 사용자 영역의 보안 프로그램까지 연결된 보안 경로를 통해 키보드 입력 정보를 전송하고, 입력된 문자를 해당 입력창과 동일한 위치 및 크기를 가지는 투명한 가상 윈도우를 통해 출력하여 응용프로그램 후킹을 원천적으로 차단함으로써, 키보드 레벨과 응용프로그램 레벨의 보안을 모두 보장해주는 키보드 보안 방법에 관한 것이다.The present invention relates to a security method for protecting keyboard input information from hacking, and more particularly, when a keyboard input occurs in an input window of an application, a security path connected from a secure keyboard driver in a kernel area to a security program in a user area. Sends keyboard input information through and outputs inputted characters through transparent virtual window having the same position and size as the corresponding input window to block application hooking, which ensures both keyboard level and application level security. Keyboard security method.
최근 인터넷과 컴퓨터 기술이 급속도로 발전함에 따라 인터넷 뱅킹이나 주식 거래 등 중요한 개인 정보를 담고 있는 다양한 업무들이 개인 컴퓨터(PC)를 통해서 이루어지고 있다.Recently, with the rapid development of the Internet and computer technology, various tasks containing important personal information such as internet banking and stock trading are being performed through personal computers (PCs).
이러한 개인 정보를 보호하기 위하여 기존의 많은 보안 기술들이 주로 서버 보안과 사용자 컴퓨터와 서버 간의 데이터 전송 보안 영역에 집중적으로 개발되어, 인터넷을 통한 전송 경로 상에서의 데이터 보안은 상당 수준 보장이 되는 단계에 이르렀다.In order to protect such personal information, many existing security technologies have been mainly developed in the area of server security and data transmission security between user computer and server, and data security on the transmission path through the Internet has reached a level of guarantee. .
그러나, 상대적으로 보안 수준이 취약한 PC에서는, 스파이웨어(spyware)나 키스트로크 로거(keystroke logger)를 이용하여 키보드 입력 정보를 획득함으로써 개인 정보를 취득 및 도용하는 사례들이 증가하고 있다.However, on relatively insecure PCs, there are increasing cases of acquiring and stealing personal information by obtaining keyboard input information using spyware or keystroke loggers.
이러한 해킹 문제를 해결하기 위한 방법으로는 PC에 바이러스 백신, 스파이웨어 제거 도구 등을 설치하여 스파이웨어 등의 악성 프로그램을 탐지 및 제거하는 방법이 있다. 그러나, 이러한 방법은 변형 또는 신종 악성 프로그램이 발생한 경우에는 그 피해 상황이 보고된 이후에만 대처가 가능하므로, 사전에 피해를 예방하는 데에는 한계가 있다는 문제점이 있다.One way to solve this hacking problem is to install antivirus and spyware removal tools on your PC to detect and remove malicious programs such as spyware. However, when the modified or new malicious program occurs, it is possible to cope only after the damage situation is reported, and thus there is a limit in preventing the damage in advance.
이러한 문제점을 해결하기 위한 종래의 키보드 보안 방법으로는 한국등록특허공보 제 0378586호에 기재된 "엑티브엑스 기반의 키보드 해킹 방지 방법 및 장치"가 있다. 상기 문헌에는 키보드 입력 정보를 버퍼링한 후 키보드 포트에 남아있는 키보드 흔적 데이터를 삭제한 후, 버퍼링된 키보드 입력 정보를 기존의 키보드 데이터 흐름이 아닌 별도의 전송 구간을 통하여 응용프로그램(application)으로 전달하여 응용프로그램의 입력창에 출력되도록 하는 방식으로 키보드 입력 정보를 보호하는 방법이 기재되어 있다.Conventional keyboard security method for solving this problem is the "ActiveX-based keyboard hacking prevention method and apparatus" described in Korea Patent Publication No. 0378586. The document deletes the keyboard trace data remaining in the keyboard port after buffering the keyboard input information, and then transfers the buffered keyboard input information to the application through a separate transmission section instead of the existing keyboard data flow. A method of protecting keyboard input information is described in such a manner as to be output to an input window of an application program.
그러나, 이와 같은 키보드 보안 방법은 키보드 입력 정보가 응용프로그램에 전달되기 전까지의 보안은 가능하지만, 응용프로그램 자체에 대한 해킹 위험으로부터 키보드 입력 정보를 보호할 수 없다는 문제점이 있다.However, such a keyboard security method has security until keyboard input information is transmitted to an application, but there is a problem that keyboard input information cannot be protected from a hacking risk for the application itself.
도 1은 로그인 입력창에 아이디 및 암호를 입력할 수 있는 방법을 나타내는 도면이다.1 is a view illustrating a method of inputting an ID and a password in a login input window.
도 1에 도시된 바와 같이, 응용프로그램의 입력창에는 키보드를 통한 직접 입력 이외에도 카피앤패이스트(copy & paste)를 통해 입력하고자 하는 텍스트를 간접적으로 복사하여 붙여 넣는 방법과, 자동입력기능을 이용하여 서버에서 자동으로 입력되게 하는 방법 등이 있다. 여기서, 키보드를 통한 직접 입력 방법을 통해 키보드 입력 정보가 응용프로그램에 전달되기 전까지는 상기한 종래의 키보드 보안 방법에 의한 보호가 가능하지만, 상기한 다양한 방법을 통해 입력 정보가 응용프로그램으로 전달되어 입력창 등에 출력된 이후에 대한 응용프로그램 보안은 현재 전혀 이루어지지 않고 있는 실정이다.As shown in Figure 1, in addition to the direct input via the keyboard in the input window of the application program using a method of indirectly copying and pasting the text to be input through copy and paste, and using the automatic input function There is a way to automatically enter the server. Here, the keyboard can be protected by the conventional keyboard security method until the keyboard input information is transmitted to the application through the direct input method through the keyboard, but the input information is transmitted to the application through the various methods described above. Application security is not currently performed at all after being output to a window.
도 2는 해킹툴이 응용프로그램 후킹을 통해 인터넷 뱅킹 로그인 정보를 획득한 상태를 나타내는 도면이다.2 is a diagram illustrating a state in which a hacking tool acquires Internet banking login information through application program hooking.
도 2의 좌측에서와 같이, 인터넷 뱅킹을 위한 로그인 화면에 아이디와 비밀번호 정보를 입력하면, 웹브라우저는 입력된 문자 정보를 입력창에 출력하여 사용자가 인지할 수 있도록 해준다. 그러나, 소스 분석기나 해킹툴을 사용하면, 도 2의 우측에 도시된 바와 같이, 아이디 입력창 및 비밀번호 입력창의 속성과 각 입력창에 입력된 아이디와 비밀번호 정보를 용이하게 획득할 수 있다.As shown in the left side of Figure 2, when entering the ID and password information on the login screen for Internet banking, the web browser outputs the input character information to the input window so that the user can recognize. However, using the source analyzer or the hacking tool, as shown in the right side of FIG. 2, the attributes of the ID input window and the password input window and the ID and password information input to each input window can be easily obtained.
따라서, 키보드 입력 정보가 키보드로부터 응용프로그램으로 전달되는 과정에서의 키보드 보안 뿐만 아니라, 응용프로그램으로 입력 정보가 전달된후 응용프로그램 자체에 대한 보안을 제공해주는 보안 방법에 대한 연구 및 개발이 필수적으로 요구되고 있다.Therefore, not only keyboard security in the process of transferring keyboard input information from the keyboard to the application program, but also research and development on a security method that provides security for the application program itself after the input information is transmitted to the application program is essential. It is becoming.
본 발명은 상기한 종래 기술에 따른 키보드 보안 방법의 문제점을 해결하기 위한 것이다. 즉, 본 발명의 목적은, 키보드 입력 정보를 보안 키보드 드라이버로부터 보안 프로그램까지 연결된 보안 경로를 통해 키보드 입력 정보를 전송하고, 입력된 문자를 해당 입력창과 동일한 위치에 생성된 가상 윈도우를 통해 출력하여 응용프로그램 후킹을 원천적으로 차단함으로써, 입력된 정보를 키보드 레벨은 물론 응용프로그램 레벨에서도 안전하게 보호하는데에 있다.The present invention is to solve the above problems of the keyboard security method according to the prior art. That is, an object of the present invention is to transmit the keyboard input information through a secure path connected from the secure keyboard driver to the secure program, and output the input characters through a virtual window generated at the same position as the corresponding input window. By inherently blocking program hooking, it is intended to secure input information at the keyboard level as well as the application level.
상기의 목적을 달성하기 위한 기술적 사상으로서의 본 발명은,The present invention as a technical idea for achieving the above object,
웹 페이지 로딩 시, 웹 페이지를 분석하여 웹 페이지의 구성 정보를 생성 및 저장하는 제1 단계와; 웹 브라우저의 입력창으로의 포커스 이동을 감지하는 제2 단계와; 보안 드라이버를 인터럽트 디스크립터 테이블에 등록하는 제3 단계와; 사용자의 키보드 입력에 대응하여 보안 드라이버로부터 해당 키보드 입력 정보를 전송받는 제4 단계와; 수신된 키보드 입력 정보를 인식 가능한 문자 데이터로 변환한 후 버퍼에 저장하는 제5 단계와; 상기 제1 단계에서 저장된 웹 페이지 구성 정보 정보를 기반으로 해당 입력창의 위치에 가상 윈도우를 생성하는 제6 단계와; 상기 생성된 가상 윈도우에 상기 제5 단계에서 변환된 입력 문자를 출력하는 제7 단계와; 사용자로부터의 입력 종료 시, 상기 제6 단계에서 생성된 가상 윈도우를 제거하고, 버퍼에 저장된 입력 문자열을 PKI(Public Key Infrastructure)로 전송하는 제8 단계를 포함하여 구성되는 것을 특징으로 하는 응용프로그램 후킹을 방지하는 키보드 보안 방법을 제공한다.A first step of generating and storing configuration information of the web page by analyzing the web page when the web page is loaded; Detecting a focus movement to an input window of a web browser; Registering a security driver in an interrupt descriptor table; A fourth step of receiving corresponding keyboard input information from the security driver in response to the user's keyboard input; Converting the received keyboard input information into recognizable character data and storing it in a buffer; A sixth step of creating a virtual window at a position of a corresponding input window based on the web page configuration information stored in the first step; A seventh step of outputting the input character converted in the fifth step to the generated virtual window; And an eighth step of removing the virtual window created in the sixth step and transmitting the input string stored in the buffer to the public key infrastructure (PKI) when the input from the user is terminated. Provides a keyboard security method to prevent this.
이하, 본 발명의 바람직한 실시예를 첨부 도면에 의거하여 상세하게 설명하기로 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 3은 키보드 입력 정보가 전달되는 경로를 나타내는 도면으로서, 도 3의 (a)는 종래의 키보드 보안 방법에 의한 경로를, 도 3의 (b)는 본 발명의 일실시예에 따른 응용프로그램 후킹을 방지하는 키보드 보안 방법에 의한 경로를 보여주고 있다.3 is a diagram illustrating a path through which keyboard input information is transmitted, (a) of FIG. 3 illustrates a path according to a conventional keyboard security method, and FIG. 3 (b) illustrates hooking an application program according to an embodiment of the present invention. It shows the path by keyboard security method to prevent the error.
종래의 키보드 보안 방법은 키보드 하드웨어에서부터 커널 레벨의 키보드 드라이버와 유저 모드의 보안 프로그램을 거쳐 웹 브라우저의 텍스트 박스에 이르는 경로까지 키보드 입력 정보를 보호한다. 또한, 웹 브라우저의 텍스트 박스에 입력된 정보를 웹에 연결된 서버로 전송하는 경로에 대한 보안은 PKI(Public Key Infrastructure)가 별도로 담당한다. 여기서, 키보드 입력 정보에 해당하는 텍스트 내용이 웹 브라우저의 텍스트 박스에 그대로 입력되기 때문에 전술한 응용프로그램 해킹툴에 의해 텍스트 박스의 내용이 해킹당할 수 있는 위험이 있다.The conventional keyboard security method protects the keyboard input information from the keyboard hardware to the path from the kernel level keyboard driver and the user mode security program to the text box of the web browser. In addition, the Public Key Infrastructure (PKI) is responsible for securing the path for transmitting information entered in the text box of the web browser to the server connected to the web. Here, since the text content corresponding to the keyboard input information is directly input into the text box of the web browser, the content of the text box may be hacked by the aforementioned application hacking tool.
한편, 본 발명의 일실시예에 따른 응용프로그램 후킹을 방지하는 키보드 보안 방법은, 키보드 입력 정보를 커널 레벨의 키보드 드라이버로부터 PKI로 보안 경로를 통하여 바로 전송하고, 키보드 입력 정보에 대응하는 텍스트를 웹 브라우저의 텍스트 박스가 아닌 별도로 생성한 가상 윈도우 상에 출력해주기 때문에 응용프로그램 해킹툴에 의한 해킹을 원천적으로 차단할 수 있다.On the other hand, the keyboard security method for preventing application hooking according to an embodiment of the present invention, the keyboard input information is transmitted directly from the kernel-level keyboard driver to the PKI via a secure path, and the text corresponding to the keyboard input information is web Since it is displayed on the virtual window created separately instead of the text box of the browser, hacking by the application hacking tool can be basically blocked.
도 4는 본 발명의 일실시예에 따른 응용프로그램 후킹을 방지하는 키보드 보 안 방법이 적용되는 보안 솔루션의 구성도이다.4 is a block diagram of a security solution to which a keyboard security method for preventing application hooking according to an embodiment of the present invention is applied.
도 4에 도시된 바와 같이, 본 발명의 일실시예에 따른 응용프로그램 후킹을 방지하는 키보드 보안 방법이 적용되는 보안 솔루션은, 커널 모드(ring 0)에 설치되어 키보드(10)를 통한 입력 데이터를 처리하는 보안 드라이버(100)와, 사용자 모드(ring 3)에 설치되어 상기 보안 드라이버(100)로부터 키보드 입력 정보를 전송받아 키보드 입력 정보에 대한 보안 기능을 수행하는 제어부(200)를 포함하여 구성된다.As shown in FIG. 4, a security solution to which a keyboard security method for preventing application hooking according to an embodiment of the present invention is applied is installed in a kernel mode (ring 0) to receive input data through the
상기 제어부(200)는 보안 드라이버(100)를 인터럽트 디스크립터 테이블(interrupt descriptor table)에 등록해주는 드라이버 등록부(220)와, 보안 드라이버(100)로부터 키보드 입력 정보를 전송받는 데이터 수신부(210)와, 데이터 수신부(210)를 통해 수신된 키보드 입력 정보를 해당하는 문자 데이터로 변환하여 버퍼링하는 데이터 저장부(230)와, 웹 브라우저의 입력창 위에 가상 윈도우(241)를 생성하고 여기에 입력된 문자 데이터를 출력해주는 가상 출력부(240)와, 데이터 저장부(230)에 저장된 입력 정보를 외부의 PKI(20)에 전송해주는 데이터 발신부(250)를 포함하여 구성된다. 여기서, 가상 출력부(240)에서 가상 윈도우(241)를 생성하여 입력 문자를 출력하는 방법에 대해서는 후술하여 상세히 설명하기로 한다.The
도 5는 본 발명의 일실시예에 따른 응용프로그램 후킹을 방지하는 키보드 보안 방법을 나타내는 순서도이다.5 is a flowchart illustrating a keyboard security method for preventing application hooking according to an embodiment of the present invention.
이하, 상술한 바와 같이 구성된 보안 솔루션에 적용되는 본 발명의 일실시예 에 따른 응용프로그램 후킹을 방지하는 키보드 보안 방법에 대하여, 도 5를 참조하여 상세히 설명하기로 한다.Hereinafter, a keyboard security method for preventing hooking of an application program according to an embodiment of the present invention applied to the security solution configured as described above will be described in detail with reference to FIG. 5.
먼저, 키보드 보안을 적용할 웹 페이지가 로딩되면, 제어부(200)는 웹 페이지를 분석하여 웹 페이지를 구성하는 각 요소 즉, 입력창, 폼(form) 정보, 프레임(frame) 정보 및 아이프레임(iframe) 정보 등이 포함된 페이지 구성 정보를 생성하여 저장한다(S10). 상기 페이지 구성 정보는 각 구성 요소의 크기 및 위치 등의 속성 정보를 포함하며, 특히 입력창에 대해서는 해당 입력창이 일반 텍스트 입력창인지, 또는 비밀번호 입력창인지에 대한 정보도 포함할 수 있다. 여기서, 페이지 구성 정보는 페이지의 각 구성 요소를 트리 구조로 표현한 DOM(Document Object Model) 정보인 것이 바람직하다.First, when a web page to which keyboard security is to be loaded is loaded, the
이후, 사용자의 마우스 클릭 등에 의하여 웹 브라우저의 특정 입력창으로 포커스(focus)가 이동하면, 제어부(200)는 해당 입력창으로의 포커스 이동을 감지하고(S20), 보안 드라이버(100)의 저장 주소를 인터럽트 디스크립터 테이블(interrupt descriptor table)의 키보드 처리용 인터럽트 서비스 루틴으로 등록한다(S30).Subsequently, when the focus moves to a specific input window of the web browser by a user's mouse click, the
여기서, 인터럽트 디스크립터 테이블은 시스템의 운영체제에서 제공되는 영역으로서, 내외부 인터럽트 및 예외 처리를 담당하는 함수 주소에 대한 목록을 저장하고 있다. 키보드를 통하여 키보드 데이터가 입력되면 인터럽트가 발생하게 되고, 운영체제는 인터럽트 디스크립터 테이블에서 키보드를 처리하는 인터럽트 서비스 루틴(interrupt service routine)의 주소를 찾아서 해당 인터럽트 서비스 루틴 을 실행하게 된다. 따라서, 제어부(200)가 보안 드라이버(100)의 인터럽트 서비스 루틴 주소를 인터럽트 디스크립터 테이블에 등록하면, 키보드 입력에 의한 인터럽트가 발생했을 때 기존의 인터럽트 서비스 루틴, 즉 기존 키보드 드라이버가 아닌 상기 보안 드라이버(100)가 실행되어 키보드 입력 정보를 처리하게 된다.Here, the interrupt descriptor table is an area provided by the operating system of the system, and stores a list of function addresses that handle internal and external interrupts and exceptions. When keyboard data is input through the keyboard, an interrupt occurs. The operating system finds the address of the interrupt service routine that processes the keyboard in the interrupt descriptor table and executes the interrupt service routine. Therefore, when the
이후, 사용자가 키보드를 입력하면 상기 등록된 보안 드라이버(100)가 구동되고, 제어부(200)는 보안 드라이버(100)로부터 해당 키보드 입력 정보를 직접 연결된 보안 경로를 통하여 전송받는다(S40).Thereafter, when the user inputs the keyboard, the registered
이어서, 제어부(200)는 수신된 키보드 입력 정보를 인식 가능한 문자 데이터(readable character)로 변환한 후 버퍼에 저장한다(S50). 여기서, 수신된 키보드 입력 정보 중 입력된 키의 스캔 코드(scan code)를 그에 대응하는 인식 가능 문자 데이터로 변환한다.Subsequently, the
이후, 제어부(200)는 상기 DOM 생성 및 저장 단계(S10)에서 저장된 DOM 정보로부터 현재 입력창의 속성 정보를 독출하여 해당 입력창의 위치에 가상 윈도우를 생성하고(S60), 생성된 가상 윈도우에 상기 변환된 입력 문자를 출력시킨다(S70). 여기서, 생성된 가상 윈도우는 그 하부에 위치한 웹 브라우저의 입력창을 그대로 투영할 수 있도록 바탕색이 투명한 투명 윈도우인 것이 바람직하다. 즉, 도 6의 (a)에서와 같이 웹 브라우저 상에 존재하는 아이디 또는 비밀번호 입력창이나, 도 6의 (b)에서와 같이 공인인증서 비밀번호 입력창의 위치에, 투명한 가상 윈도우를 생성하고 여기에 실제 입력창에 출력되는 형태와 동일하게 입력 문자를 출력해줌으로써, 사용자로 하여금 실제 웹 브라우저로 문자가 입력되고 있는 것으로 인식하도 록 할 수 있다.Thereafter, the
이후, 제어부(200)는 사용자로부터의 입력이 종료되었는지를 판단하여(S80), 입력이 종료된 경우 상기 가상 윈도우 생성 단계(S60)에서 생성된 가상 윈도우를 제거하고(S90), 상기 입력 문자 변환 및 저장 단계(S50)에서 저장된 입력 문자열을 PKI로 전송해준다(S100).Thereafter, the
여기서, 상기 입력 종료 판단 단계(S80)는 사용자가 아이디 및 패스워드를 모두 입력한 후 '확인' 버튼을 클릭하여, PKI에서 해당 아이디 및 패스워드 정보를 요청하는 시점에 해당한다.In this case, the input termination determination step (S80) corresponds to the point in time when the user inputs both the ID and password, clicks the 'confirm' button, and requests the corresponding ID and password information from the PKI.
이어서, 제어부(200)는 기존의 키보드 드라이버 주소를 인터럽트 디스크립터 테이블의 키보드 처리용 인터럽트 서비스 루틴으로 등록하여, 보안 드라이버의 등록을 해제한다(S110).Subsequently, the
한편, 상기 입력 종료 판단 단계(S80)에서 사용자의 입력이 종료되지 않은 상태이면 상기 키보드 입력에 따른 키보드 입력 정보 전송 단계(S40)로 되돌아가서 그 이후의 단계들을 계속 수행한다.On the other hand, if the user's input is not terminated in the input end determination step (S80), the process returns to the keyboard input information transmission step (S40) according to the keyboard input and continues the subsequent steps.
상술한 본 발명의 일실시예에서는 웹 페이지의 로딩시에 PKI가 구동되고, 제어부(200)와 PKI가 서로 연동하도록 구성된 경우에 대하여 설명하였으나, 아이디 및 비밀번호 입력이 완료된 시점에 PKI 대신 웹 브라우저가 입력된 아이디 및 비밀번호 정보를 수집하여 네트워크 전송을 수행하는 경우, 상기 S100 단계에서 PKI가 아닌 웹 브라우저로 입력 문자열을 전송해주도록 구성할 수도 있다.In the above-described embodiment of the present invention, the PKI is driven when the web page is loaded, and the
이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것은 아니며, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백하다 할 것이다.The present invention described above is not limited to the above-described embodiments and the accompanying drawings, and various substitutions, modifications, and changes are possible in the art without departing from the technical spirit of the present invention. It will be clear to those of ordinary knowledge.
이상에서와 같이, 본 발명에 따른 응용프로그램 후킹을 방지하는 키보드 보안 방법은, 입력된 문자를 응용프로그램의 입력창이 아닌 해당 입력창과 동일한 위치에 생성된 가상 윈도우를 통해 출력하여 응용프로그램 후킹을 원천적으로 차단함으로써, 입력된 정보를 응용프로그램 레벨까지도 안전하게 보호해줄 수 있는 표과가 있다.As described above, the keyboard security method for preventing application hooking according to the present invention, by outputting the input character through the virtual window created in the same position as the input window, not the input window of the application program, the application hooking is fundamentally By blocking, there is a table of contents that can protect the entered information even at the application level.
Claims (8)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060071613A KR100835224B1 (en) | 2006-07-28 | 2006-07-28 | Keyboard security method preventing application hooking |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060071613A KR100835224B1 (en) | 2006-07-28 | 2006-07-28 | Keyboard security method preventing application hooking |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080010918A true KR20080010918A (en) | 2008-01-31 |
KR100835224B1 KR100835224B1 (en) | 2008-06-05 |
Family
ID=39222833
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060071613A KR100835224B1 (en) | 2006-07-28 | 2006-07-28 | Keyboard security method preventing application hooking |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100835224B1 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010038913A1 (en) * | 2008-10-02 | 2010-04-08 | Softcamp Co., Ltd | Preservation method about data in ie memory altered without leave |
CN106033523A (en) * | 2015-03-07 | 2016-10-19 | 汪风珍 | A physical and virtual keyboard password input system |
KR20190101120A (en) * | 2018-02-22 | 2019-08-30 | 주식회사 알파비트 | System for security using encryption mode in self-protected javascript and method thereof |
CN111857667A (en) * | 2020-07-23 | 2020-10-30 | 平安普惠企业管理有限公司 | Input method based on Hybird framework and related equipment |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100447777B1 (en) * | 2002-07-24 | 2004-09-08 | 주식회사 잉카인터넷 | Hacking prevention of key stroke data |
KR100959638B1 (en) * | 2004-03-09 | 2010-05-26 | 주식회사 하우리 | Method for preventing key input from hacking, computer-readable storage medium recorded with program for preventing key input from hacking |
-
2006
- 2006-07-28 KR KR1020060071613A patent/KR100835224B1/en not_active IP Right Cessation
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010038913A1 (en) * | 2008-10-02 | 2010-04-08 | Softcamp Co., Ltd | Preservation method about data in ie memory altered without leave |
CN106033523A (en) * | 2015-03-07 | 2016-10-19 | 汪风珍 | A physical and virtual keyboard password input system |
KR20190101120A (en) * | 2018-02-22 | 2019-08-30 | 주식회사 알파비트 | System for security using encryption mode in self-protected javascript and method thereof |
CN111857667A (en) * | 2020-07-23 | 2020-10-30 | 平安普惠企业管理有限公司 | Input method based on Hybird framework and related equipment |
Also Published As
Publication number | Publication date |
---|---|
KR100835224B1 (en) | 2008-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5451857B2 (en) | Active X-based keyboard hacking prevention input window | |
RU2610254C2 (en) | System and method of determining modified web pages | |
US7870610B1 (en) | Detection of malicious programs | |
US8307435B1 (en) | Software object corruption detection | |
JP4838505B2 (en) | Providing safe inputs and outputs to trusted agents in systems with highly guaranteed execution environments | |
US20120240224A1 (en) | Security systems and methods for distinguishing user-intended traffic from malicious traffic | |
US9886576B2 (en) | Security box | |
US9361460B1 (en) | Detecting malware through package behavior | |
US11288376B2 (en) | Identifying hard-coded secret vulnerability inside application source code | |
US8122518B2 (en) | Secure input method based on virtual machine | |
JP2005509214A5 (en) | ||
US20100082843A1 (en) | Method and System for Implementing Automatic Installation of Key Device | |
US20130104220A1 (en) | System and method for implementing a secure USB application device | |
KR101780764B1 (en) | An unauthorized command control method by the access control system for enhancing server security | |
CN104243475B (en) | The method and system of dynamic obfuscation based on WEB reverse proxys | |
KR100835224B1 (en) | Keyboard security method preventing application hooking | |
US8001173B2 (en) | Information processing apparatus, selector, remote operation system, scan code transmission method, and program product therefor | |
KR100985076B1 (en) | Apparatus and method for protecting data in usb devices | |
KR102482044B1 (en) | some kind of data processing | |
US20140068771A1 (en) | Transforming User-Input Data in Scripting Language | |
CN116192493A (en) | Online banking safety protection method, system, medium, equipment and terminal | |
JP2013506185A (en) | Windows Kernel Modification Detection Method | |
WO2009104720A1 (en) | Resource usage control system, method of controlling resource usage, program for controlling resource usage | |
WO2018053988A1 (en) | Secure input system and method, intelligent terminal, and storage medium | |
KR100854301B1 (en) | Keyboard security method using the security channel |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
N231 | Notification of change of applicant | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
J206 | Request for trial to confirm the scope of a patent right | ||
J121 | Written withdrawal of request for trial | ||
FPAY | Annual fee payment |
Payment date: 20130313 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20140609 Year of fee payment: 7 |
|
LAPS | Lapse due to unpaid annual fee |