KR100846123B1 - 키보드 보안 방법 및 상기 방법을 이용한 키보드 보안드라이버를 기록한 기록 매체 - Google Patents
키보드 보안 방법 및 상기 방법을 이용한 키보드 보안드라이버를 기록한 기록 매체 Download PDFInfo
- Publication number
- KR100846123B1 KR100846123B1 KR1020060103248A KR20060103248A KR100846123B1 KR 100846123 B1 KR100846123 B1 KR 100846123B1 KR 1020060103248 A KR1020060103248 A KR 1020060103248A KR 20060103248 A KR20060103248 A KR 20060103248A KR 100846123 B1 KR100846123 B1 KR 100846123B1
- Authority
- KR
- South Korea
- Prior art keywords
- security
- keyboard
- irp
- driver
- function
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/82—Protecting input, output or interconnection devices
- G06F21/83—Protecting input, output or interconnection devices input devices, e.g. keyboards, mice or controllers thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0623—Securing storage systems in relation to content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Human Computer Interaction (AREA)
- Storage Device Security (AREA)
Abstract
Description
Claims (13)
- USB 허브 드라이버의 IRP 디스패치 테이블의 호출 함수를 변경하여 키보드 입력 정보의 유출을 차단시키는 키보드 보안 드라이버 프로그램은,입력 데이터를 보호할 디바이스 객체들에 대한 목록을 저장하는 보호 디바이스 목록 데이터베이스;USB 허브 드라이버의 IRP 디스패치 테이블의 호출 함수들을 보안용 호출 함수들로 변경시키고, 입력 데이터를 보호할 디바이스 객체들을 상기 보호 디바이스 목록 데이터베이스에 등록시키는 보안 드라이버 설치 모듈;상기 보안 드라이버 설치 모듈의 동작이 완료된 후, 상기 USB 허브 드라이버의 IRP 디스패치 테이블의 내용이 변경되는지 여부를 지속적으로 감시하고, 만약 상기 IRP 디스패치 테이블의 내용이 변경되는 경우 IRP 디스패치 테이블의 호출 함수를 상기 보안용 호출 함수들로 다시 변경시키는 설정 변경 감시 모듈;을 구비하는 키보드 보안 드라이버 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록 매체.
- 제1항에 있어서, 상기 보안 드라이버 설치 모듈은상기 USB 허브 드라이버에 저장되어 있는 디바이스 객체들을 검색하고, 검색된 디바이스 객체로부터 장치기술자를 획득한 후, 상기 장치기술자를 이용하여 키보드 장치임이 확인되는 경우, 해당 장치에 대한 디바이스 객체를 상기 보호 디바 이스 목록 데이터베이스에 등록시키는 보호 디바이스 등록부,상기 USB 허브 드라이버의 IRP 디스패치 테이블 중 IRP_MJ_INTERNAL_DEVICE_CONTROL에 대한 호출 함수를 보안용 장치 제어 함수로 변경시키는 장치 제어 함수 설치부,상기 USB 허브 드라이버의 IRP 디스패치 테이블 중 IRP_MJ_PNP에 대한 호출 함수를 보안용 디바이스 연결 해지 처리 함수로 변경시키는 디바이스 연결 해지 처리 함수 설치부를 구비하는 것을 특징으로 하는 키보드 보안 드라이버 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록 매체.
- 제2항에 있어서, 상기 보안용 장치 제어 함수는IRP_MJ_INTERNAL_DEVICE_CONTROL의 제어 코드 및 파라메터 값을 확인하고,만약 상기 제어코드 및 파라메터 값을 통해 키보드 입력 데이터를 요청하는 URB인 것으로 판단되는 경우, 변경 전의 기존의 완료 루틴(completion routine)의 호출 함수 및 콘텍스트(context)에 대한 주소값을 저장시키고, 완료 루틴(completion routine)의 호출 함수를 보안용 입력 데이터 처리 함수로 변경시키고, IRP_MJ_INTERNAL_DEVICE_CONTROL의 콘텍스트(context)를 상기 기존의 주소값이 저장된 메모리의 주소값으로 변경시키는 것을 특징으로 하는 키보드 보안 드라이버 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록 매체.
- 제3항에 있어서, 상기 보안용 입력 데이터 처리 함수는 URB를 통해 키보드로부터 전달된 입력 데이터를 복사하여 암호화하고, 기존의 버퍼에 저장된 입력 데이터는 삭제시키며, 기저장된 기존의 IRP 완료 루틴가 콘텍스트로 IRP 정보를 복원시킨 후, 기존의 IRP 완료 루틴을 호출하는 것을 특징으로 하는 키보드 보안 드라이버 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록 매체.
- 제2항에 있어서, 상기 보안용 장치 제어 함수는IRP_MJ_INTERNAL_DEVICE_CONTROL의 제어 코드 및 파라메터 값을 확인하고,만약 상기 제어코드 및 파라메터 값을 통해 장치정보를 요청하는 URB인 것으로 판단되는 경우, 변경 전의 기존의 완료 루틴(completion routine)의 호출 함수 및 콘텍스트(context)에 대한 주소값을 저장시키고, 완료 루틴(completion routine)의 호출 함수를 새장치기술자 처리 함수로 변경시키고, IRP_MJ_INTERNAL_DEVICE_CONTROL의 콘텍스트(context)를 상기 기존의 주소값이 저장된 메모리의 주소값으로 변경시키는 것을 특징으로 하는 키보드 보안 드라이버 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록 매체.
- 제5항에 있어서, 상기 새장치기술자 처리 함수는URB를 통해 전달된 새로운 장치의 장치 기술자를 분석하고, 만약 상기 분석결과 해당 장치가 키보드 장치인 것으로 확인되는 경우, 보호 디바이스 목록 데이터베이스에 해당 장치의 디바이스 객체를 추가하는 것을 특징으로 하는 키보드 보 안 드라이버 프로그램이 기록한 컴퓨터로 읽을 수 있는 기록 매체.
- 제2항에 있어서, 상기 보안용 디바이스 연결 해지 처리 함수는 연결 해지된 디바이스 객체를 상기 보호 디바이스 목록 데이터베이스로부터 삭제시키는 것을 특징으로 하는 키보드 보안 드라이버 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록 매체.
- USB 허브 드라이버의 IRP 디스패치 테이블의 호출 함수를 변경하여 키보드 입력 정보의 유출을 차단시키는 키보드 보안 방법은,(a) USB 허브 드라이버의 IRP 디스패치 테이블 중 IRP_MJ_INTERNAL_DEVICE_CONTROL에 대한 호출 함수를 보안용 장치 제어 함수로 변경시키는 단계;(b) USB 허브 드라이버의 IRP 디스패치 테이블 중 키보드 연결 해지 요청 IRP에 대한 호출 함수들을 보안용 디바이스 연결 해지 처리 함수로 변경시키는 단계;(c) 입력 데이터를 보호할 디바이스 객체들을 보호 디바이스 목록 데이터베이스에 등록시키는 단계;(d) USB 허브 드라이버의 IRP 디스패치 테이블의 내용이 변경되는지 여부를 지속적으로 감시하고, 만약 상기 IRP 디스패치 테이블의 내용이 변경되는 경우 상기 (a) 및 (b) 단계를 재실행하는 단계;를 구비하여 키보드 입력 데이터가 외부로 유출되는 것을 방지하는 키보드 보안 방법.
- 제8항에 있어서, 상기 (c) 단계는(c1) 상기 USB 허브 드라이버에 저장되어 있는 디바이스 객체들을 검색하는 단계,(c2) 검색된 디바이스 객체로부터 USB 장치 기술자를 획득하는 단계,(c3) 획득된 USB 장치 기술자를 판독하여 키보드 장치임을 나타내는 디바이스 객체를 확인하는 단계,(c4) 상기 확인된 디바이스 객체를 상기 보호 디바이스 목록 데이터베이스에 등록시키는 단계를 포함하는 것을 특징으로 하는 키보드 입력 데이터가 외부로 유출되는 것을 방지하는 키보드 보안 방법.
- 제8항에 있어서, 상기 (a) 단계의 상기 보안용 장치 제어 함수는(a1) IRP_MJ_INTERNAL_DEVICE_CONTROL의 제어 코드와 URB의 기능 코드를 확인하는 단계,(a2) 만약 상기 확인 결과 키보드 입력 데이터이거나 장치정보를 요청하는 경우, IRP의 완료 루틴(completion routine)의 호출 함수 및 콘텍스트(context)의 주소값을 저장하고, 상기 완료 루틴의 호출 함수를 보안용 입력 데이터 처리 함수 또는 새장치기술자 처리 함수로 변경시키는 단계, 및(a3) IRP_MJ_INTERNAL_DEVICE_CONTROL의 콘텍스트(context)를 상기 저장된 호출 함수 및 기존의 콘텍스트의 주소값을 저장한 메모리의 주소값으로 변경시키는 단계를 포함하는 것을 특징으로 하는 키보드 입력 데이터가 외부로 유출되는 것을 방지하는 키보드 보안 방법.
- 제10항에 있어서, 상기 보안용 입력 데이터 처리 함수는 상기 IRP의 완료 루틴을 통해 수신된 키보드 입력 데이터를 암호화시켜 외부의 보안 통제 모듈로 전송시키고, 원래의 키보드 입력 데이터는 삭제시키는 것을 특징으로 하는 키보드 입력 데이터가 외부로 유출되는 것을 방지하는 키보드 보안 방법.
- 제8항에 있어서, 상기 보안용 디바이스 연결 해지 처리 함수는 IRP_MJ_PNP의 연결 해지 요청이 발생된 디바이스 객체를 상기 보호 디바이스 목록 데이터베이스로부터 삭제시키는 것을 특징으로 하는 키보드 입력 데이터가 외부로 유출되는 것을 방지하는 키보드 보안 방법.
- 제10항에 있어서, 상기 새장치기술자 처리 함수는URB를 통해 전달된 새로운 장치의 장치 기술자를 분석하고, 만약 상기 분석결과 해당 장치가 키보드 장치인 것으로 확인되는 경우, 보호 디바이스 목록 데이터베이스에 해당 장치의 디바이스 객체를 추가하는 것을 특징으로 하는 키보드 입 력 데이터가 외부로 유출되는 것을 방지하는 키보드 보안 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060103248A KR100846123B1 (ko) | 2006-10-24 | 2006-10-24 | 키보드 보안 방법 및 상기 방법을 이용한 키보드 보안드라이버를 기록한 기록 매체 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060103248A KR100846123B1 (ko) | 2006-10-24 | 2006-10-24 | 키보드 보안 방법 및 상기 방법을 이용한 키보드 보안드라이버를 기록한 기록 매체 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080036699A KR20080036699A (ko) | 2008-04-29 |
KR100846123B1 true KR100846123B1 (ko) | 2008-07-15 |
Family
ID=39574963
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060103248A KR100846123B1 (ko) | 2006-10-24 | 2006-10-24 | 키보드 보안 방법 및 상기 방법을 이용한 키보드 보안드라이버를 기록한 기록 매체 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100846123B1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100985076B1 (ko) * | 2008-04-16 | 2010-10-04 | 주식회사 안철수연구소 | Usb 디바이스 보안 장치 및 방법 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020073342A1 (en) | 2000-12-11 | 2002-06-13 | International Business Machines Corporation | Verifying physical universal serial bus keystrokes |
EP1286242A1 (en) | 2001-08-22 | 2003-02-26 | Sonera SmartTrust, Ltd. | System and method for protected data input of security data |
KR20040094379A (ko) * | 2003-05-02 | 2004-11-09 | 마이크로소프트 코포레이션 | 키보드를 사용한 보안 통신 및 관련 장치 |
JP2005228147A (ja) | 2004-02-13 | 2005-08-25 | Nec Fielding Ltd | マッピング変換機能を備えたキーボード |
KR20050090541A (ko) * | 2004-03-09 | 2005-09-14 | 주식회사 하우리 | 키보드 해킹차단 방법 및 그 프로그램을 기록한 기록매체 |
KR20060093932A (ko) * | 2005-02-23 | 2006-08-28 | 제이알소프트 주식회사 | 윈도우즈 운영체제에서 보안 입력 필터 드라이버와 인터넷익스플로러 내부의 키보드 보안 입력 비에이치오를 통한 인터넷 익스플로러 사용자의 키보드 입력 정보 해킹 방지 방법 |
KR20070040539A (ko) * | 2005-10-12 | 2007-04-17 | 주식회사 안철수연구소 | 키보드 데이터 인증을 이용한 키 입력 도용 방지 방법 |
-
2006
- 2006-10-24 KR KR1020060103248A patent/KR100846123B1/ko active IP Right Grant
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020073342A1 (en) | 2000-12-11 | 2002-06-13 | International Business Machines Corporation | Verifying physical universal serial bus keystrokes |
EP1286242A1 (en) | 2001-08-22 | 2003-02-26 | Sonera SmartTrust, Ltd. | System and method for protected data input of security data |
KR20040094379A (ko) * | 2003-05-02 | 2004-11-09 | 마이크로소프트 코포레이션 | 키보드를 사용한 보안 통신 및 관련 장치 |
JP2005228147A (ja) | 2004-02-13 | 2005-08-25 | Nec Fielding Ltd | マッピング変換機能を備えたキーボード |
KR20050090541A (ko) * | 2004-03-09 | 2005-09-14 | 주식회사 하우리 | 키보드 해킹차단 방법 및 그 프로그램을 기록한 기록매체 |
KR20060093932A (ko) * | 2005-02-23 | 2006-08-28 | 제이알소프트 주식회사 | 윈도우즈 운영체제에서 보안 입력 필터 드라이버와 인터넷익스플로러 내부의 키보드 보안 입력 비에이치오를 통한 인터넷 익스플로러 사용자의 키보드 입력 정보 해킹 방지 방법 |
KR20070040539A (ko) * | 2005-10-12 | 2007-04-17 | 주식회사 안철수연구소 | 키보드 데이터 인증을 이용한 키 입력 도용 방지 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR20080036699A (ko) | 2008-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200050765A1 (en) | Methods and apparatus for identifying and removing malicious applications | |
US11797677B2 (en) | Cloud based just in time memory analysis for malware detection | |
AU2006235058B2 (en) | System and method for foreign code detection | |
EP3123311B1 (en) | Malicious code protection for computer systems based on process modification | |
KR101759379B1 (ko) | 확장된 데이터를 갖는 메모리 덤프 및 사용자 프라이버시 보호 기법 | |
US20040243829A1 (en) | System and method for computer virus detection utilizing heuristic analysis | |
KR101006721B1 (ko) | 키보드 입력정보 보안장치 및 그 방법 | |
US9804948B2 (en) | System, method, and computer program product for simulating at least one of a virtual environment and a debugging environment to prevent unwanted code from executing | |
WO2016033966A1 (zh) | 应用数据的保护方法及装置 | |
JP5832954B2 (ja) | タグ付与装置及びタグ付与方法 | |
WO2018233379A1 (zh) | 数据明文获取方法、装置、电子终端及可读存储介质 | |
US10902122B2 (en) | Just in time memory analysis for malware detection | |
KR100985076B1 (ko) | Usb 디바이스 보안 장치 및 방법 | |
US8141153B1 (en) | Method and apparatus for detecting executable software in an alternate data stream | |
Huber et al. | A flexible framework for mobile device forensics based on cold boot attacks | |
de Assumpção et al. | Forensic method for decrypting TPM-protected BitLocker volumes using Intel DCI | |
KR100846123B1 (ko) | 키보드 보안 방법 및 상기 방법을 이용한 키보드 보안드라이버를 기록한 기록 매체 | |
JPWO2010032330A1 (ja) | 情報処理装置及びそのメモリ保護方法 | |
CN117034330B (zh) | 基于macOS的安全防护方法、设备及存储介质 | |
US11899782B1 (en) | Preserving DLL hooks | |
CN111625784B (zh) | 一种应用的反调试方法、相关装置及存储介质 | |
KR20040042731A (ko) | 호스트 시스템의 파일 및 레지스트리 모니터링방법 | |
JP2005032182A (ja) | プログラム、攻撃コード抽出装置およびその方法 | |
US20220092171A1 (en) | Malicious code protection for computer systems based on system call table modification and runtime application patching | |
CN117938483A (zh) | 一种外发文件保护方法、装置、电子设备及存储介质 |
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: 20130708 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20140708 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20150708 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20160708 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20170707 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20180712 Year of fee payment: 11 |