KR20060093932A - Method that can secure keyboard key stroke using secure input filter driver and keyboard secure input bho of internet explorer in windows operating system - Google Patents
Method that can secure keyboard key stroke using secure input filter driver and keyboard secure input bho of internet explorer in windows operating system Download PDFInfo
- Publication number
- KR20060093932A KR20060093932A KR1020050015064A KR20050015064A KR20060093932A KR 20060093932 A KR20060093932 A KR 20060093932A KR 1020050015064 A KR1020050015064 A KR 1020050015064A KR 20050015064 A KR20050015064 A KR 20050015064A KR 20060093932 A KR20060093932 A KR 20060093932A
- Authority
- KR
- South Korea
- Prior art keywords
- keyboard
- security
- input
- hacking
- bho
- Prior art date
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
Abstract
본 발명은 인터넷 사용자의 키보드 하드웨어(100)와 마이크로소프트 사(社)의 인터넷 익스플로어(400) (이하 IE) 간의키보드 해킹을 방지하는 소프트웨어 기반의 해킹 방지 방법이다.The present invention is a software-based hacking prevention method for preventing keyboard hacking between the keyboard hardware 100 of the Internet user and the Internet Explorer 400 (hereinafter referred to as IE) of Microsoft Corporation.
본 발명은 커널 모드(Ring 0)에 보안 입력 필터 드라이버(200)을 설치함과 동시에 운영체제의 키보드 드라이버(120) 상단과 하단에 설치가 가능한 필터 드라이버와 인터럽트 서비스 루틴(이하 ISR)을 점검하여 사용자의 키보드 입력 정보를 커널 모드에서 해킹으로부터 원천적으로 보호하여 입력을 받고, 입력 받은 키보드 입력 정보를 IE(400) 내부에 설치한 키보드 입력 보안 BHO(300)에게 직접 전송함으로서 사용자 모드(Ring 3)와 커널 모드(Ring 0) 에서 키 스트로크 해킹을 원척적으로 보호할 수 있는 방법이다.The present invention installs the secure input filter driver 200 in the kernel mode (Ring 0) and checks the filter driver and the interrupt service routine (hereinafter referred to as ISR) that can be installed on the top and bottom of the keyboard driver 120 of the operating system. The keyboard input information of the kernel mode is protected from hacking at source and receives the input, and the input keyboard input information is directly transmitted to the keyboard input security BHO 300 installed inside the IE 400, so that the user mode (Ring 3) and In kernel mode (Ring 0), keystroke hacking is inherently protected.
보안 입력 필터 드라이버(200)와 키보드 입력 보안 BHO(300) 간의 데이터 송수신에서도 API 훅(Hook) 감시부(32)와섭 클래싱(Sub Classing) 감시부(330)를 통해 쌍방간의 전송을 감시 보호하는 기능을 포함하고 있다.In the data transmission / reception between the security input filter driver 200 and the keyboard input security BHO 300, the API hook monitoring unit 32 and the subclassing monitoring unit 330 monitor and protect the transmission between the two parties. It includes a function.
기존의 키 스트로크 발명들은 대부분 키보드에서 응용 소프트웨어 전 단계까지 보안을 하거나 또는그 중간의 특정 취약 부분을 보안하는 발명들이 대부분이었다.Most of the existing key stroke inventions have been secured from the keyboard all the way to the application software or in the middle of certain weak points.
인터넷 기술의 발전으로 인하여 이러한 종래의 기술들의 약점을 이용한 새로운 해킹 방법들이 나타나고 있다.Due to the development of Internet technology, new hacking methods using the weaknesses of these conventional technologies are emerging.
키 스트로크 보안을 키보드에서 입력된 정보가 사용자가 원하는 최종 응용 프로그램의 전단계까지가 아닌 입력까지라고 정의한다면 모든 응용 소프트웨어를 대상으로 한 일반적인 기존의 기술들로는 완벽한 보안을 이룬다는 것은 불가능하다.If keystroke security is defined as information entered from the keyboard, rather than up to the final stage of the end application desired by the user, it is not possible to achieve complete security with conventional techniques for all application software.
본 발명은 기존 기술들과 달리 특정 운영체제와 특정 응용 프로그램에 한하여서 키 스트로크를 보안한다.Unlike the existing technologies, the present invention secures a key stroke only for a specific operating system and a specific application.
본 발명은 PS/2 또는 USB 포트를 통해서 입력된 키보드 하드웨어(100) 입력 정보(키 스트로크)를 마이크로소프트 사(社)의 윈도우즈(Windows) 운영체제에서 마이크로소프트 (社)의 인터넷 익스플로러(400)의 IE 텍스트 박스(420)까지 키보드 입력 정보 해킹을 방지하는 것을 목적으로 한다.According to the present invention, keyboard hardware 100 input information (key stroke) input through a PS / 2 or a USB port may be used for the Microsoft Internet Explorer 400 of the Microsoft Windows operating system. It is aimed to prevent keyboard input information hacking up to the IE text box 420.
키보드, 보안, 해킹, 키 스트로크, 필터 드라이버, 브라우저 헬프 오브젝트(BHO), 인터럽트 서비스 루틴(ISR) Keyboard, Security, Hacking, Key Stroke, Filter Driver, Browser Help Object (BHO), Interrupt Service Routine (ISR)
Description
도 1은 윈도우즈 운영체제의 기본 키보드 입력 구조도를 작도하였다.1 illustrates a basic keyboard input structure diagram of a Windows operating system.
도 2는 본 발명에 따른 키보드 입력 구조도 중 보안 프로그램이 작동하지 않았을 경우를 작도하였다.2 illustrates a case in which a security program does not operate in the keyboard input structure diagram according to the present invention.
도 3은 본 발명에 따른 키보드 입력 구조도 중 보안 프로그램이 작동하였을 경우를 작도하였다.3 illustrates a case in which a security program operates among the keyboard input structure diagram according to the present invention.
도 4는 본 발명에 따른 키보드 입력 정보 보안 프로그램의 전체 구성도를 작도하였다.4 is a diagram illustrating the overall configuration of a keyboard input information security program according to the present invention.
도 5는 본 발명에 따른 키보드 입력 보안 BHO(300)의 흐름도를 작도하였다.5 illustrates a flow chart of a keyboard input security BHO 300 in accordance with the present invention.
도 6은 본 발명에 따른 보안 입력 필터 드라이버(200)의 흐름도를 작도하였다.6 illustrates a flow diagram of a secure
도 7은 본 발명에 따른 관리 서버(700)와 키보드 입력 보안 BHO(300) 간의 흐름도를 작도하였다.7 illustrates a flowchart between the management server 700 and the keyboard input security BHO 300 according to the present invention.
도 8은 본 발명에 따른 필터 드라이버 감시부(210)의 흐름도를 작도하였다.8 is a flowchart of the filter
도 9는 본 발명에 따른 인터럽트 서비스 루틴 감시부(230)의 흐름도를 작도하였다.9 illustrates a flowchart of an interrupt service
공개특허 특2001-0099090 "엑티브엑스 기반의 키보드 해킹 방지 입력 창"Korean Patent Application Laid-Open No. 2001-0099090 "ActiveX-based keyboard hacking prevention input window"
공개특허 특2002-0048313 "키보드 해킹 방지 방법"Korean Patent Application Publication No. 2002-0048313 "Keyboard hacking prevention method"
공개특허 10-2004-0092101 "가상 키보드 데이터 전송을 이용한 키보드 해킹 방지 방법"Patent Document 10-2004-0092101 "Keyboard hacking prevention method using a virtual keyboard data transmission"
공개특허 10-2004-0072044 "보안 입력 디바이스를 이용한 컴퓨터 보안 시스템"Publication 10-2004-0072044 "Computer security system using a security input device"
본 발명은 컴퓨터 정보 보안 중에서 사용자의 키보드 입력 정보 해킹을 방지하는 보안 시스템에 관한 것이다.The present invention relates to a security system for preventing hacking of keyboard input information of a user among computer information security.
인터넷 사용이 급속도로 발전함에 따라 일반 사용자들의 금전적인 거래(인터넷 뱅킹, 주식거래 등) 및 주요 개인정보를 담고 있는 수 많은 업무들이 인터넷 상으로 이루어지고 있다.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 a thread to a web browser will get a message that contains a mixture of key values rather than the 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-described security method, there is a patent-pending patent-protected input window based on ActiveX.
이 특허는 키보드 입력 정보를 버퍼링한 후 키보드 포트에 남아있는 키보드 흔적 데이터를 삭제한 후, 버퍼링 된 기존의 키보드 데이터 흐름이 아닌 별도의 전송 구간으로 키보드 데이터를 응용 프로그램으로 전달하는 방식으로 키보드 입력 정보를 보호하는 방법이다. 이 특허 기술로 인하여 앞서 말한 키보드 입력 정보를 가로채는 등의 응용 프로그램과 같은 상위 레벨의입력 데이터는 보호되어질 수가 있다. 그러나 공개특허 10-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 disclosed in Korean Patent Laid-Open Publication No. 10-2004-0072044, the keyboard input information can be intercepted before the secure input keyboard driver used in this technology.
도면 1에서 보면 키보드 드라이버(120)가 있는데 그 상위 또는 하위에 n개의 필터 드라이버를 설치할 수 있다.In FIG. 1, there is 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 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 "가상 키보드 데이터 전송을 이용한 키보드 해킹 방지 방법" 공개특허 10-2004-0072044 "보안 입력 디바이스를 이용한 컴퓨터 보안 시스템" 에서도 찾아볼 수가 있다.This can also be found in Patent Document 10-2004-0092101 "Keyboard hacking prevention method using a virtual keyboard data transmission" Publication 10-2004-0072044 "Computer security system using a secure input device".
공개특허 10-2004-0092101 "가상 키보드 데이터 전송을 이용한 키보드 해킹 방지 방법" 은 앞서 설명한 KT의 보안 프로그램과 그 기본 원리가 동일하다. 차이점은 KT의 것은 사용자 모드(Ring 3)에서 키보드 입력 정보를 받아 암호화를 하였다면 이 기술은 커널 모드(Ring 0) 내의 한 단계에서 암호화를 한다는 점이다. 그러나 결국 동일한 문제점들을 가지고 있다.Patent Document 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
공개특허 10-2004-0072044 "보안 입력 디바이스를 이용한 컴퓨터 보안 시스템"은 키보드 드라이버(120) 하단에 하단 필터 드라이버를 설치한 후 인터럽트 디스크립터 데이블(IDT)에 등록된 운영체제에서 기본적으로 제공하는 인터럽트 서비스 루틴(ISR)이 아닌 자체적으로 만든 인터럽트 서비스 루틴(ISR)을 등록한다. The "computer security system using a security input device" is an interrupt service routine that is basically provided by an operating system registered in an interrupt descriptor table (IDT) after installing a lower filter driver at 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.
공개특허 10-2004-0072044는 이것을 따르지 않는 설계로 되어 있으며 이 소프트웨어가 작동을 하게 되면 동일 시스템 내에서 운영체제의 인터럽트 서비스 루틴(ISR)을 필요로 하는 다른 소프트웨어나 자체 인터럽트 서비스 루틴(ISR)의 실행을 필요로 하는다른 소프트웨어들의 작동이 불가능하게 된다. 소프트웨어적인 충돌이 시스템 내에서 일어나게 된다. 자체 인터럽트 서비스 루틴(ISR)을 설치하는 것만으로 그 소프트웨어를 해킹 프로그램이라고 볼 수는 없다.Patent Document 10-2004-0072044 has a design that does not follow this, and when the software is running, the execution of its own interrupt service routine (ISR) or other software that requires an operating system's interrupt service routine (ISR) within 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(400)를 사용하였을 경우에 사용자의 키보드 하드웨어(100)에서 IE 텍스트 박스(420)까지의 키보드 입력 정보를 보호하는 데에 그 목적이 있다.The present invention aims to protect keyboard input information from the user's
사용자의 컴퓨터 내에서 발생되는 불법적인 키보드 입력 정보 해킹을 원천적으로 막고 이를 사용자에게 통보하며또한 사용자의 정상정인 기타 프로그램 실행에는 아무런 영향을 주지 말아야 한다.It is essential to prevent illegal keyboard input information hacking occurring within the user's computer and to notify the user of the hacking and to have no effect on the user's normal execution of other programs.
이를 위해 리스트에만 의존하는 기존 보안 프로그램의 방식이 아닌 프로세싱 자체를 모니터하는 기술과또한 인터럽트 서비스 루틴(ISR) 및 필터 드라이버 리스트를 관리 서버(700)로 전송하고 그 위험도를 통보받는 과정이 필요하다.To this end, a technique for monitoring the processing itself, not a method of an existing security program that relies only on a list, and a process of transmitting an interrupt service routine (ISR) and a filter driver list to the management server 700 and being notified of the risk are required.
IE(400) 전체를 하나의 응용 프로그램(500)으로 인식하여 한 단계로 보고 키보드 입력 정보를 넘기는 방식이 아니라 자체 키보드 입력 보안 BHO(300)를 만들어 IE(400) 내부에 설치하고 그것은 다시 IE 쓰레드 메시지 대기열(410)를 거치지 않고 IE 텍스트 박스(420)에 키보드 입력 정보를 입력해야 한다.Instead of recognizing the entire IE 400 as an
또한 커널 모드(Ring 0)에 설치한 보안 입력 필터 드라이버(200)와 키보드 입력 보안 BHO(300)는 서로 직접 통신해야만 한다. In addition, the secure
본 발명의 구성은 커널 모드(Ring 0)에 설치되는 보안 입력 필터 드라이버(200)와 사용자 모드(Ring 3)의 IE(400) 내에 설치되는 키보드 입력 보안 BHO(300), 그리고 관리 서버(700)로 구성되어져 있다.The configuration of the present invention is the security
도 1은 윈도우즈의 기본 키보드 입력 구조도이다.1 is a basic keyboard input structure diagram of Windows.
도 2에는 본 발명에 따른 키보드 입력 구조도인데 본 발명의 목적에 따라 도 1의 응용 프로그램(500)의 자리에는 IE(400)가 있으며 IE(400)는 다시 키보드 입력 보안 BHO(300)와 IE 쓰레드 메시지 대기열(410), IE 텍스트 상자(420)으로 구성되어져 있다. 키보드 드라이버(120) 하단과 상단에 n개의 필터 드라이버를 설치할 수가 있는데 본 발명에서는 그 상단에 보안 입력 필터 드라이버(200)를 설치한다.2 is a keyboard input structure diagram according to the present invention, in accordance with the purpose of the present invention, the
도 2는 보안 프로그램이 작동하지 않았을 경우의 키보드 입력 정보 흐름도이다. 흐름도에서 볼 수 있듯이 도 1과 비교할 때 커널 모드(Ring0)와 사용자 모드(Ring 3)의 단계만 많이졌을 뿐 동일한 경로를 통해서 키보드 입력 정보가 전달되어진다.2 is a flowchart illustrating keyboard input information when a security program is not operated. As shown in the flowchart, only the kernel mode (Ring0) and the user mode (Ring 3) have many steps compared to FIG. 1, and the keyboard input information is transmitted through the same path.
도 3은 도 2의 키보드 입력 구조도에서 본 발명으로 인한 보안 프로그램이 작동되었을 경우 키보드 입력 정보의 흐름을 나타낸다. 키보드 하드웨어(100)에서 키보드 입력 정보가 시작되어 운영체제의 키보드 드라이버(120)를 거쳐 보안 입력 필터 드라이버(200)까지 도착하면 보안 입력 필터 드라이버(200)는 상위에 존재하는 필터 드라이버나 운영체제의 키보드 클래스 드라이버(140) 등의 상위에 존재하 는 단계들을 거치지 않고 IE(400) 내의 키보드 보안 입력 BHO(300)으로 직접 키보드 입력 정보를 보낸다. 키보드 보안 입력 BHO(300)은 IE 쓰레드 메시지 대기열(410)을 거치지 않고 직접 IE 텍스트 상자(420)에 키보드 입력 정보를 입력한다.3 illustrates the flow of keyboard input information when the security program according to the present invention operates in the keyboard input structure diagram of FIG. 2. When the keyboard input information starts from the
도 3에서 직접적으로 키보드 입력 정보가 전달되어지는 단계들만을 자세하게 설명한 것이 도 4이다.In FIG. 3, only steps in which keyboard input information is directly transmitted are described in detail with reference to FIG. 4.
도 4에는 키보드 입력 보안 BHO(300) 내부의 구성과 보안 입력 필터 드라이버(200) 내부의 구성이 나타나있으며 관리 서버(700)도 나타나있다.4 shows a configuration inside the keyboard
본 발명은 사용자가 키보드 하드웨어(100)를 통해 입력을 시작 할 때 작동하는 것이 아니라 그 전 단계에서 사용자가 입력을 하기 위해 마우스를 IE 텍스트 상자(420)에 놓고 클릭을 하거나 또는 자동으로 그곳에 커서가 있는 경우, 즉 'got focus' 이벤트가 발생함과 동시에 보안 프로그램은 작동을 하게 된다.The present invention does not work when the user starts typing through the
도 5는 키보드 입력 보안 BHO(300)의 흐름도인다.5 is a flowchart of a keyboard
키보드 입력 보안 BHO(300)의 관리부(310)는 IE 텍스트 상자(420)에 포커스(Focus)가 있는가를 점검한다. 윈도우즈 운영체제는 멀티태스킹을 지원하는 운영체제로서 동시에 여러 개의 윈도우 즉 응용 프로그램(500)을 열어서 작업을 할 수가 있다. 하나의 키보드 하드웨어(100)를 통해서 여러 개의 응용 프로그램(500)에 데이터를 입력하는 방법을 쉽게 설명을 할 수 있는 것이 포커스이다. 즉 운영체제에 의해서 포커스가 있는 응용 프로그램(500)으로 키보드 입력 정보가 전달되어지게 된다. 사용자가 다른 응용 프로그램을 사용하다가(500)가 IE(400)을 열거나 또는 이미 열려져있었던 것을 선택하게 되면 IE(400)가 포커스를 받게 된다고 말할 수 있다. 좀 더 세부적으로 예를 들면 이메일을 확인하기 위해서 아이디 입력란에 마우스를 클릭을 하면 IE(400) 중에서도 해당되는 IE 텍스트 박스(420) 즉 이 경우에는 아이디 입력란이 포커스를 가지게 된다. 이 경우 본 발명에 의한 보안 프로그램이 작동을 하게 된다.The
도 5에서 관리부가 IE 텍스트 상자(420)에 포커스를 확인하고 포커스가 없으면 보안 입력 필터 드라이버(200)는 In FIG. 5, if the management unit checks the focus on the
보안 작동을 하지 않게 된다. 반대로 포커스를 가지게 보안 입력 필터 드라이버(200)가 작동을 하게 된다.(201) 키보드 입력 보안 BHO(300)는 마이크로소프트 사(社)로부터 공급되어진 DeviceIoControl API를 통해서 보안 입력 필터 드라이버(200)와 대화를 하게 된다. 그런데 이 단계에서 해커는 중간의 데이터를 모니터하기 위해서 API 훅(Hook)을 할 수 있다. 이것을 방지하기 위해서 관리부(310)는 API 훅 감시부(320)를 작동시킨다.It will not work securely. In contrast, the security
DeviceIoControl API는 kernel32.dll 에서 추출 되어진 것이므로 먼저 DeviceIoControl API 어드레스를 얻고 (321) 그것이 kernel32.dll 어드레스 공간의 일부인지를 점검한다.(322) 공간이 아니면 관리 서버(700)에 통보 후(312) 관리 서버(700)로 부터 결과를 수신하여 결과에 따른 동작을 한다.(313) 이 동작은 도 7에서 설명을 할 것이다.Since the DeviceIoControl API is extracted from kernel32.dll, we first obtain the DeviceIoControl API address (321) and check if it is part of the kernel32.dll address space (322). If not, notify the management server 700 (312) and then manage it. The result is received from the server 700 and the operation is performed according to the result. (313) This operation will be described with reference to FIG.
DeviceIoControl API 어드레스가 kernel32.dll 어드레스 공간의 일부이면 다시 kernel32.dll의 추출부분이 변경되었는지 확인하여 변경되었으면 다시 관리서버(700)에 통보한다.(312) 반대로 변경되지 않았으면 DeviceIoControl API를 호출하여 (324) 보안 입력 필터 드라이버(200)에 키보드 입력 정보를 보호 할 것을 통보한다.(314) 통보를 받게 되면 보안 입력 필터 드라이버(200)가 작동을 하게 된다.(201) 이 작동에 대한 흐름도가 도 6이다. If the DeviceIoControl API address is part of the kernel32.dll address space, it checks again whether the extracted part of kernel32.dll has changed and notifies the management server 700 if it has changed. (312) If the change has not been made, call DeviceIoControl API ( 324 Informs the security
보안 입력 필터 드라이버(200)는 키보드 드라이버(120)로부터 계속적으로 키보드 입력 값을 받게 된다. 이 때 키보드 입력 보안 BHO(300)로부터 보안 통보를 받았는지를 점검하여 받지 않았으면 상위 드라이버로 입력 값을 넘기고(205)The secure
통보를 받으면(314) 키보드 입력 값을 키보드 입력 보안 BHO(200)로 전송을 한다. 전송을 받은 키보드 입력 보안 BHO(300)는 IE 텍스트 상자(420)의 윈도우 프로시저(Window Procedure)를 호출해야 하는데 그 전에 섭 클래싱 감시부(330)를 작동시킨다. 섭 클래싱 감시부(330)의 동작은 먼저 IE 텍스트 상자(420)의 주소를 가져와 (332) 가져온 주소가 IE 메인실행주소 공간(IE main executable address space)의 일부인가를 점검하여(333) 일부가 아니면 관리서버(700)에 통보하고(312) 일부라면 IE 텍스트 상자(420)의 윈도우 프로시저를 호출하여 키보드 입력 값을 넘긴다.(334) 계속해서 IE 텍스트 상자(420)에 포커스가 있는지 확인하여 포커스가 없어지면 보안 입력 필터 드라이버(200)로 보안 해제 통보를 하여서(208) 보안 작동을 하지 않게 한다.(202) Upon receiving notification 314, the keyboard input value is transmitted to the keyboard
보안 해제 통보를 받은 보안 입력 필터 드라이버(200)는 도 6에서 설명한 것 과 같이 키보드 입력 값을 상위 드라이버로 전송하게 된다.(205)The security
계속 하여서 IE 텍스트 상자(420)에 포커스가 있으면 계속해서 보안 입력 필터 드라이버(200)로부터 키보드 입력 값을 받아(331) 동일한 동작을 포커스가 없어질 때까지 반복을 한다.Subsequently, if the
도 7은 관리서버(700)와 키보드 입력 보안 BHO(300) 간의 흐름도이다. 이 둘은 인터넷(600)을 통해서 대화한다. 관리서버(700)는 키보드 입력 보안 BHO(300)로 부터 API 훅, 섭 클래싱, 자체 ISR을 사용하는 하단 필터 드라이버 등의 사용자 컴퓨터 내에서 일어나는 모든 종류의 해킹 시도에 대한 정보를 받는다. (701)7 is a flowchart between the management server 700 and 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.
보안 입력 필터 드라이버(200)는 필터 드라이버 감시부(210)와 인터럽트 서비스 루틴(ISR) 감시부(230)가 있다.The secure
도 8은 필터 드라이버 감시부(210)의 흐름도이다.8 is a flowchart of the
먼저 키보드 드라이버(120) 상단에 설치될 수 있는 상단 필터 드라이버의 수를 점검한다.(211) 필터 드라이버의 수가 2개 이상이 아닌 경우 즉 보안 입력 필터 드라이버(200)만 설치 된 경우에는 디스플레이부(350)를 통해서 사용자에게 시스템이 안전하다는 통보를 한다.(351)First, the number of top filter drivers that may be installed on the top of the
또한 필터 드라이버의 수가 2개 이상인 경우라도 보안 입력 필터 드라이버(200)의 로드오더(Load order)가 최하단인 경우에도 사용자에게 안전하다는 통보를 한다.(351) 그러나 필터 드라이버의 수가 2개 이상이면서 보안 입력 필터 드라이버(200) 보다 하단에 설치되어있는 경우에는 키보드 입력 보안 BHO(300)의 로드오더 변환기(340)를 통해서 로드 오더를 변경한다.(214)In addition, even if the number of filter drivers is two or more, the user is notified that the user is safe even when the load order of the secure
악의적이며 고도의 기술을 쓰지 않는 이상 로드 오더는 변경되어지며 변경 후 디스플레이부(350)를 통해서 사용자에게 내용을 통보하고 시스템을 다시 시작할 것을 요청한다.(352) 그러나 로드오더가 변경이 되지 않는 경우가 발생할 수도 있는데 이와 같은 경우에는 관리서버(700)와 사용자에게 통보하여 더 이상의 작업을 진행하지 못하도록 한다.(353)Unless a malicious technique is used, the load order is changed, and after the change, the
키보드 드라이버(120)에서 공급하는 인터럽트 서비스 루틴(ISR)이 아닌 자체 인터럽트 서비스 루틴(ISR)을 사용하여 해킹을 할 수가 있다. 해커는 자체 인터럽트 서비스 루틴(ISR)을 만들고 그것을 인터럽트 디스크립터 테이블(IDT)에 등록을 할 수가 있다. 이때 정상적인 프로그램이라면 원하는 동작을 마친 후 운영체제에서 공급하는 인터럽트 서비스 루틴(ISR)을 다시 인터럽트 디스크립터 테이블(IDT)에 등록을 시켜야 하지만 해커에 의해 만들어진 인터럽트 서비스 루틴(ISR)은 키보드 입력 정보를 가져가는 것이 목적이므로 계속 자신의 인터럽트 서비스 루틴(ISR)을 유지하게 된다.Hacking may be performed using an interrupt service routine (ISR) instead of an interrupt service routine (ISR) provided by the
이와 같은 방법을 탐지하고 제거하는 부분이 인터럽트 서비스 루틴(ISR) 감시부(230)이다.The interrupt service routine (ISR)
도 9는 인터럽트 서비스 루틴(ISR) 감시부(230)의 흐름도이다.9 is a flowchart of an interrupt service routine (ISR)
먼저 인터럽트 디스크립터 데이블(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
베이스 어드레스를 가져온 이후에(232) 키보드 드라이버(120)의 파일 크기 값을 가져온다.(233) 그 후에 인터럽트 디스크립터 테이블(IDT)에서 가져온 키보드 인터럽트 서비스 루틴(ISR)의 주소가 키보드 드라이버(120)의 베이스 어드레스보다 크며 동시에 키보드 드라이버(120)의 베이스 어드레스에 키보드 드라이버(120)의 파일 크기 값을 더한 합계보다 작은가를 점검한다.(234)After obtaining the base address (232), the file size value of 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에서 설명한 것과 같은 동작을 실행한다. 점검 결과가 예 로 나오면 본 발명에 의한 키보드 보안 프로그램은 정상 작동을 한다.(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)에서 발생할 수 있는 해킹의 가능성을 리스트에 의존하는 방식이 아닌 동작 자체를 점검 하는 시스템을 포함하고 있어서 기존의 해킹 기술과 또한 응용 기술에 대한 보안성이 매우 높다. 이와 같은 점은 인터넷 환경이 급속도로 발전하고 그 이용 범위가 단순한 작업에서부터 금전적인 거래에 이르기까지 다양해지고 있는 현시점에 매우 중요한 역할을 하게 된다. 보안성을 높이게 되면 사용자들은 더욱 인터넷으로 하는 일련의 작업들을 사용하게 될 것이며 궁극적으로 인터넷 환경 발전을 이룰 수 있다.The security program of the present invention includes a system for checking the operation itself rather than a list-dependent method of hacking that may occur in kernel mode (Ring 0) and user mode (Ring 3). Security of application technology is very high. 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 (3)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050015064A KR100710032B1 (en) | 2005-02-23 | 2005-02-23 | Method and system that can secure keyboard key stroke using secure input filter driver and keyboard secure input BHO of Internet Explorer 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 that can secure keyboard key stroke using secure input filter driver and keyboard secure input BHO of Internet Explorer in windows operating system |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060093932A true KR20060093932A (en) | 2006-08-28 |
KR100710032B1 KR100710032B1 (en) | 2007-04-25 |
Family
ID=37601900
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050015064A KR100710032B1 (en) | 2005-02-23 | 2005-02-23 | Method and system that can secure keyboard key stroke using secure input filter driver and keyboard secure input BHO of Internet Explorer in windows operating system |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100710032B1 (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100734145B1 (en) * | 2005-10-12 | 2007-07-03 | 주식회사 안철수연구소 | Method of protecting hacking of a key input by using authorization of keyboard data |
WO2008048035A1 (en) * | 2006-10-16 | 2008-04-24 | Kings Information & Network | Apparatus and method for preservation of usb keyboard |
KR100846123B1 (en) * | 2006-10-24 | 2008-07-15 | 주식회사 하우리 | Method for keyboard security and storage medium recording keyboard security driver using the method |
KR100901465B1 (en) * | 2007-07-25 | 2009-06-08 | 주식회사 안철수연구소 | Method of protecting input/output packet of usb device |
KR100949790B1 (en) * | 2007-09-19 | 2010-03-30 | 소프트캠프(주) | Preservation method about data in IE memory altered without leave |
KR100952644B1 (en) * | 2009-04-17 | 2010-04-13 | 주식회사 잉카인터넷 | Security system and method of keyboard input data |
WO2010120157A2 (en) * | 2009-04-17 | 2010-10-21 | 엔에이치엔비즈니스플랫폼(주) | Method for providing computer security services using a hook, and apparatus and computer readable recording medium for same |
Families Citing this family (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 |
KR101602640B1 (en) | 2014-08-25 | 2016-03-21 | 주식회사 텔스카 | Mobile payment system and method using mobile communication terminal |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020048313A (en) * | 2002-03-07 | 2002-06-22 | 최동성 | Method for preventing key board hacking |
KR100447777B1 (en) * | 2002-07-24 | 2004-09-08 | 주식회사 잉카인터넷 | Hacking prevention of key stroke data |
KR100496462B1 (en) * | 2003-01-17 | 2005-06-22 | 주식회사 안철수연구소 | Method for protecting from keystroke logging |
KR20030036276A (en) * | 2003-02-07 | 2003-05-09 | 킹스정보통신(주) | Computer Security System using secure input device driver |
KR100735727B1 (en) * | 2003-04-24 | 2007-07-06 | 테커스 (주) | Apparatus and method for hacking protection using virtural data transmission |
US7243237B2 (en) * | 2003-05-02 | 2007-07-10 | Microsoft Corporation | Secure communication with a keyboard or related device |
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 |
-
2005
- 2005-02-23 KR KR1020050015064A patent/KR100710032B1/en not_active IP Right Cessation
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100734145B1 (en) * | 2005-10-12 | 2007-07-03 | 주식회사 안철수연구소 | Method of protecting hacking of a key input by using authorization of keyboard data |
WO2008048035A1 (en) * | 2006-10-16 | 2008-04-24 | Kings Information & Network | Apparatus and method for preservation of usb keyboard |
KR100846123B1 (en) * | 2006-10-24 | 2008-07-15 | 주식회사 하우리 | Method for keyboard security and storage medium recording keyboard security driver using the method |
KR100901465B1 (en) * | 2007-07-25 | 2009-06-08 | 주식회사 안철수연구소 | Method of protecting input/output packet of usb device |
KR100949790B1 (en) * | 2007-09-19 | 2010-03-30 | 소프트캠프(주) | Preservation method about data in IE memory altered without leave |
KR100952644B1 (en) * | 2009-04-17 | 2010-04-13 | 주식회사 잉카인터넷 | Security system and method of keyboard input data |
WO2010120157A2 (en) * | 2009-04-17 | 2010-10-21 | 엔에이치엔비즈니스플랫폼(주) | Method for providing computer security services using a hook, and apparatus and computer readable recording medium for same |
WO2010120055A2 (en) * | 2009-04-17 | 2010-10-21 | (주)잉카인터넷 | System and method for the security of keyboard input data |
WO2010120055A3 (en) * | 2009-04-17 | 2010-12-23 | (주)잉카인터넷 | System and method for the security of keyboard input data |
WO2010120157A3 (en) * | 2009-04-17 | 2011-01-20 | 엔에이치엔비즈니스플랫폼(주) | Method for providing computer security services using a hook, and apparatus and computer readable recording medium for same |
Also Published As
Publication number | Publication date |
---|---|
KR100710032B1 (en) | 2007-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100710032B1 (en) | Method and system that can secure keyboard key stroke using secure input filter driver and keyboard secure input BHO of Internet Explorer in windows operating system | |
US7665139B1 (en) | Method and apparatus to detect and prevent malicious changes to tokens | |
US20180196940A1 (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 | |
US9607093B2 (en) | Method and system for operating multiple web pages with anti-spoofing protection | |
US8001596B2 (en) | Software protection injection at load time | |
US7379918B2 (en) | Method and system for single reactivation of software product licenses | |
US8621608B2 (en) | System, method, and computer program product for dynamically adjusting a level of security applied to a system | |
US20160323314A1 (en) | Apparatus, system, and method for protecting against keylogging malware | |
US8578477B1 (en) | Secure computer system integrity check | |
US8347380B1 (en) | Protecting users from accidentally disclosing personal information in an insecure environment | |
US20110239306A1 (en) | Data leak protection application | |
US8214900B1 (en) | Method and apparatus for monitoring a computer to detect operating system process manipulation | |
US20070266444A1 (en) | Method and System for Securing Data Stored in a Storage Device | |
KR102116573B1 (en) | Dynamic reputation indicators for optimizing computer security operations | |
JP2007280013A (en) | Method and program for controlling communication by information processor | |
US20130198842A1 (en) | Method for detecting a malware | |
Pavlenko et al. | Hierarchical approach to analyzing security breaches in information systems | |
JP2009517732A (en) | Method and system for security of input data using USB keyboard | |
EP3482335B1 (en) | Mitigation of malicious actions associated with graphical user interface elements | |
KR100985076B1 (en) | Apparatus and method for protecting data in usb devices | |
US20220198013A1 (en) | Detecting suspicious activation of an application in a computer device | |
KR100496462B1 (en) | Method for protecting from keystroke logging | |
CN112805700A (en) | Controlling installation of unauthorized drivers on a computer system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130325 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20140407 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20150417 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20160411 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20180410 Year of fee payment: 12 |
|
LAPS | Lapse due to unpaid annual fee |