KR100901465B1 - Usb장치의 입출력 패킷 보호 방법 - Google Patents
Usb장치의 입출력 패킷 보호 방법 Download PDFInfo
- Publication number
- KR100901465B1 KR100901465B1 KR1020070074716A KR20070074716A KR100901465B1 KR 100901465 B1 KR100901465 B1 KR 100901465B1 KR 1020070074716 A KR1020070074716 A KR 1020070074716A KR 20070074716 A KR20070074716 A KR 20070074716A KR 100901465 B1 KR100901465 B1 KR 100901465B1
- Authority
- KR
- South Korea
- Prior art keywords
- input
- usb
- output packet
- driver
- routine
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
-
- 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/60—Protecting data
- G06F21/606—Protecting data by securing the transmission between two devices or processes
-
- 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
-
- 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
- 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
- G06F9/4413—Plug-and-play [PnP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5038—Address allocation for local use, e.g. in LAN or USB networks, or in a controller area network [CAN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0042—Universal serial bus [USB]
-
- 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/2123—Dummy operation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
- Information Transfer Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
Claims (16)
- a) 시스템에 존재하는 USB 호스트 컨트롤러에 필터 드라이버를 등록하고, 상기 필터 드라이버를 로드하는 단계;b) 제1 필터 드라이버 객체(Filter Device Object; FiDO)를 생성하고, 상기 제1 필터 드라이버 객체(FiDO)를 상기 USB 호스트 컨트롤러를 위한 디바이스 객체(Functional Device Object; FDO)에 연결(Attach)시켜 USB 장치들의 입출력 패킷을 감시하는 단계;c) 상기 입출력 패킷에 식별자가 존재하는지 여부를 판단하는 단계;d) 상기 판단 결과 상기 입출력 패킷에 상기 식별자가 존재하는 경우, 상기 입출력 패킷에 완료 루틴을 등록하는 단계; 및e) 상기 완료 루틴에서 상기 입출력 패킷을 소정 영역으로 복사하고, 상기 입출력 패킷을 임의의 값으로 교체하는 단계를 포함하는 것을 특징으로 하는 USB 장치의 입출력 패킷 보호 방법.
- 제 1 항에 있어서, 상기 필터 드라이버는,USB 버스 드라이버의 상위(Upper) 드라이버인 것을 특징으로 하는 USB 장치의 입출력 패킷 보호 방법.
- 제 1 항에 있어서, 상기 단계 a)에서,상기 USB 호스트 컨트롤러를 재 열거하여 상기 필터 드라이버가 로드되도록 구현하는 것을 특징으로 하는 USB 장치의 입출력 패킷 보호 방법.
- 제 1 항에 있어서, 상기 단계 b)에서,b-1) 제2 필터 드라이버 객체(Physical Filter Device Object; PiDO)를 생성하고 상기 제2 필터 드라이버 객체(PiDO)를 상기 USB 루트허브 장치를 위한 디바이스 객체(Physical Device Object; PDO)에 연결하여 입출력 패킷을 감시하는 단계를 더 포함하는 것을 특징으로 하는 USB 장치의 입출력 패킷 보호 방법.
- 제 4 항에 있어서, 상기 단계 b-1)에서,입출력 패킷 중 PnP(Plug and Play) 패킷을 감시하여, USB 버스 드라이버가 상기 USB 루트허브 장치에 대한 디바이스 객체(PDO)를 생성할 때, 상기 제2 필터 드라이버 객체(PiDO)를 생성하는 것을 특징으로 하는 USB 장치의 입출력 패킷 보호 방법.
- 제 5 항에 있어서, 상기 단계 b)에서,b-2) 상기 입출력 패킷이 상기 입출력 패킷에 상응하는 디바이스 스택에서 직접 상기 USB 호스트 컨트롤러를 위한 디바이스 객체(FDO)로 전달되는 경우, 상기 입출력 패킷을 상기 제1 필터 드라이버 객체(FiDO)로 전송하는 단계를 더 포함하는 것을 특징으로 하는 USB 장치의 입출력 패킷 보호 방법.
- 제 1 항 내지 제 6 항 중 어느 한 항에 있어서, 상기 단계 d)에서,상기 입출력 패킷에 USB BUS 드라이버 계층에서 식별 가능한 식별자를 이식하는 단계를 포함하는 것을 특징으로 하는 USB 장치의 입출력 패킷 보호 방법.
- ⅰ) USB 버스 드라이버의 객체를 복사하여 복제 드라이버 객체를 생성하는 단계;ⅱ) 상기 복제 드라이버 객체에서 디스패치 루틴(Dispatch Routine)의 주소를 소정 루틴의 주소로 변경하여 후킹하는 단계;ⅲ) 상기 단계 ⅱ)에서 후킹된 상기 소정 루틴에서, USB 루트 허브 디바이스객체의 DriverObject 필드 값을 상기 복제 드라이버 객체를 가리키도록 변경하는 단계;ⅳ) 상기 단계 ⅱ)에서 후킹한 상기 소정 루틴으로 수신되는 입출력 패킷에 식별자가 존재하는지 여부를 판단하는 단계;ⅴ) 상기 판단 결과 상기 입출력 패킷에 상기 식별자가 존재하는 경우, 상기 입출력 패킷에 완료 루틴을 등록하는 단계; 및ⅵ) 상기 완료 루틴에서 상기 입출력 패킷을 소정 영역으로 복사하고, 상기 입출력 패킷을 임의의 값으로 교체하는 단계를 포함하는 것을 특징으로 하는 USB 장치의 입출력 패킷 보호 방법.
- 제 8 항에 있어서, 상기 DriverObject는,상기 USB 루트 허브 스택을 위한 디바이스 객체(PDO; Physical Device Object)에 포함된 것임을 특징으로 하는 USB 장치의 입출력 패킷 보호 방법.
- 제 9 항에 있어서, 상기 단계 ⅱ)의 소정 루틴은,복제 디스패치 InternalIoControl 인 것을 특징으로 하는 USB 장치의 입출력 패킷 보호 방법.
- (ㄱ) 각 USB 버스 드라이버의 각 디스패치 루틴을 후킹하는 단계;(ㄴ) 상기 디스패치 루틴으로 수신되는 입출력 패킷에 식별자가 존재하는지 여부를 판단하는 단계;(ㄷ) 상기 판단 결과 상기 입출력 패킷에 상기 식별자가 존재하는 경우, 상기 입출력 패킷에 완료 루틴을 등록하는 단계; 및(ㄹ) 상기 완료 루틴에서 상기 입출력 패킷을 소정 영역으로 복사하고 상기 입출력 패킷을 임의의 값으로 교체하는 단계를 포함하는 것을 특징으로 하는 USB 장치의 입출력 패킷 보호 방법.
- 제 10 항 또는 제 11 항에 있어서, 상기 디스패치 루틴은,상기 입출력 패킷이 통과하게 되는 모든 IRP(I/O Request Packet)를 처리하는 것을 특징으로 하는 USB 장치의 입출력 패킷 보호 방법.
- 제 10 항 또는 제 11 항에 있어서, 상기 방법은,상기 입출력 패킷에 USB BUS 드라이버 계층에서 식별 가능한 식별자를 이식하는 단계를 포함하는 것을 특징으로 하는 USB 장치의 입출력 패킷 보호 방법.
- 가) HID(Human Interface Bus) USB 키보드를 찾아 상기 HID USB 키보드를 제어하는 HID USB 드라이버의 필터 드라이버를 등록하고 상기 필터 드라이버를 로드하는 단계;나) 상기 필터 드라이버의 소정 루틴에서 상기 HID USB 키보드에 의해 발생한 입출력 패킷을 감시하는 단계;다) 상기 입출력 패킷을 감시하던 중에 상기 소정 루틴에서 URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER USB Function 요청을 감지하는 단계; 및라) 상기 입출력 패킷에 USB BUS 드라이버 계층에서 식별 가능한 식별자를 이식하는 단계를 포함하는 것을 특징으로 하는 USB 장치의 입출력 패킷 보호 방법.
- 제 14 항에 있어서, 상기 단계 가)에서,해당 키보드를 재 열거하여 함으로써 상기 필터 드라이버를 로드하는 것을 특징으로 하는 USB 장치의 입출력 패킷 보호 방법.
- 제 14 항 또는 제 15항에 있어서, 상기 소정 루틴은,상기 필터 드라이버에서 IRP_MJ_INTERNAL_DEVICE_CONTROL 요청을 처리하는 루틴인 것을 특징으로 하는 USB 장치의 입출력 패킷 보호 방법.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070074716A KR100901465B1 (ko) | 2007-07-25 | 2007-07-25 | Usb장치의 입출력 패킷 보호 방법 |
US12/670,608 US8230127B2 (en) | 2007-07-25 | 2008-07-25 | Method of protecting input/output packet of USB device and apparatus thereof |
PCT/KR2008/004372 WO2009014402A2 (en) | 2007-07-25 | 2008-07-25 | Method of protecting input/output packet of usb device and apparatus thereof |
EP08778941.8A EP2181394B1 (en) | 2007-07-25 | 2008-07-25 | Method of protecting input/output packet of usb device and apparatus thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070074716A KR100901465B1 (ko) | 2007-07-25 | 2007-07-25 | Usb장치의 입출력 패킷 보호 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090011281A KR20090011281A (ko) | 2009-02-02 |
KR100901465B1 true KR100901465B1 (ko) | 2009-06-08 |
Family
ID=40281992
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070074716A KR100901465B1 (ko) | 2007-07-25 | 2007-07-25 | Usb장치의 입출력 패킷 보호 방법 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8230127B2 (ko) |
EP (1) | EP2181394B1 (ko) |
KR (1) | KR100901465B1 (ko) |
WO (1) | WO2009014402A2 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7400080B2 (en) | 2002-09-20 | 2008-07-15 | Danfoss A/S | Elastomer actuator and a method of making an actuator |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100985076B1 (ko) * | 2008-04-16 | 2010-10-04 | 주식회사 안철수연구소 | Usb 디바이스 보안 장치 및 방법 |
KR100986123B1 (ko) * | 2008-06-16 | 2010-10-07 | 킹스정보통신(주) | 유에스비 키보드의 보안방법 |
US9262147B1 (en) * | 2008-12-30 | 2016-02-16 | Google Inc. | Recording client events using application resident on removable storage device |
US9911109B2 (en) | 2011-07-14 | 2018-03-06 | Ecrebo Limited | Method of enhancing point-of-sale systems |
WO2014080659A1 (ja) * | 2012-11-22 | 2014-05-30 | Necカシオモバイルコミュニケーションズ株式会社 | 電子機器、ロック解除方法及びプログラム |
US20150365237A1 (en) | 2014-06-17 | 2015-12-17 | High Sec Labs Ltd. | Usb security gateway |
CN105224876A (zh) * | 2015-09-21 | 2016-01-06 | 山东超越数控电子有限公司 | Usb接口数据的保护方法和装置、带usb接口的设备 |
US11113425B2 (en) * | 2018-01-17 | 2021-09-07 | Crowd Strike, Inc. | Security component for devices on an enumerated bus |
US10831712B2 (en) * | 2018-04-27 | 2020-11-10 | Crowdstrike, Inc. | Identifying and correlating physical devices across disconnected device stacks |
CN112052477B (zh) * | 2020-08-31 | 2022-03-25 | 郑州信大捷安信息技术股份有限公司 | 基于便携式操作系统盘的隔离方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100537930B1 (ko) | 2004-10-26 | 2005-12-20 | 소프트캠프(주) | 유에스비 키보드를 통한 입력데이터의 보안방법과 이를구현하는 보안시스템 |
KR100577344B1 (ko) | 2005-01-10 | 2006-05-10 | 주식회사 잉카인터넷 | 접근 통제 정책 설정시스템 및 그 방법 |
KR20060093932A (ko) * | 2005-02-23 | 2006-08-28 | 제이알소프트 주식회사 | 윈도우즈 운영체제에서 보안 입력 필터 드라이버와 인터넷익스플로러 내부의 키보드 보안 입력 비에이치오를 통한 인터넷 익스플로러 사용자의 키보드 입력 정보 해킹 방지 방법 |
KR100696322B1 (ko) | 2005-10-27 | 2007-03-19 | 닉스테크 주식회사 | 하드웨어 매체 접근제어 시스템 및 이를 이용한 하드웨어매체 접근제어 방법 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6073205A (en) * | 1997-07-10 | 2000-06-06 | National Instruments Corporation | System and method of write posting in a universal serial bus system |
US6421738B1 (en) * | 1997-07-15 | 2002-07-16 | Microsoft Corporation | Method and system for capturing and encoding full-screen video graphics |
US7409694B2 (en) * | 1998-09-09 | 2008-08-05 | Microsoft Corporation | Highly componentized system architecture with loadable virtual memory manager |
US6614420B1 (en) * | 1999-02-22 | 2003-09-02 | Microsoft Corporation | Dual axis articulated electronic input device |
US6674743B1 (en) * | 1999-12-30 | 2004-01-06 | 3Com Corporation | Method and apparatus for providing policy-based services for internal applications |
US7212497B2 (en) * | 2000-12-19 | 2007-05-01 | Keys John S | Method and driver for detecting glitches |
US7779062B2 (en) * | 2004-08-18 | 2010-08-17 | Ripple Effects Holdings Limited | System for preventing keystroke logging software from accessing or identifying keystrokes |
US6978339B2 (en) * | 2002-02-22 | 2005-12-20 | Canon Kabushiki Kaisha | Communication system and method of controlling same |
US7232063B2 (en) * | 2003-06-09 | 2007-06-19 | Fujitsu Transaction Solutions Inc. | System and method for monitoring and diagnosis of point of sale devices having intelligent hardware |
TW200506637A (en) * | 2003-08-07 | 2005-02-16 | Ali Corp | Host-to-host USB bridge |
CN1918556A (zh) * | 2004-02-05 | 2007-02-21 | Kings情报通信 | 使用安全输入装置驱动器的计算机安全装置和方法 |
KR100549645B1 (ko) | 2004-11-05 | 2006-02-06 | 소프트캠프(주) | 키보드로 입력되는 데이터의 보안방법과 이를 구현하는보안시스템 |
JP2009517732A (ja) | 2005-11-24 | 2009-04-30 | ソフト−キャンプ カンパニー リミティッド | Usbキーボードによる入力データの保安方法及び保安システム |
-
2007
- 2007-07-25 KR KR1020070074716A patent/KR100901465B1/ko active IP Right Grant
-
2008
- 2008-07-25 EP EP08778941.8A patent/EP2181394B1/en not_active Not-in-force
- 2008-07-25 WO PCT/KR2008/004372 patent/WO2009014402A2/en active Application Filing
- 2008-07-25 US US12/670,608 patent/US8230127B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100537930B1 (ko) | 2004-10-26 | 2005-12-20 | 소프트캠프(주) | 유에스비 키보드를 통한 입력데이터의 보안방법과 이를구현하는 보안시스템 |
KR100577344B1 (ko) | 2005-01-10 | 2006-05-10 | 주식회사 잉카인터넷 | 접근 통제 정책 설정시스템 및 그 방법 |
KR20060093932A (ko) * | 2005-02-23 | 2006-08-28 | 제이알소프트 주식회사 | 윈도우즈 운영체제에서 보안 입력 필터 드라이버와 인터넷익스플로러 내부의 키보드 보안 입력 비에이치오를 통한 인터넷 익스플로러 사용자의 키보드 입력 정보 해킹 방지 방법 |
KR100696322B1 (ko) | 2005-10-27 | 2007-03-19 | 닉스테크 주식회사 | 하드웨어 매체 접근제어 시스템 및 이를 이용한 하드웨어매체 접근제어 방법 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7400080B2 (en) | 2002-09-20 | 2008-07-15 | Danfoss A/S | Elastomer actuator and a method of making an actuator |
Also Published As
Publication number | Publication date |
---|---|
EP2181394A4 (en) | 2011-10-05 |
US8230127B2 (en) | 2012-07-24 |
EP2181394A2 (en) | 2010-05-05 |
WO2009014402A2 (en) | 2009-01-29 |
EP2181394B1 (en) | 2013-06-12 |
KR20090011281A (ko) | 2009-02-02 |
WO2009014402A3 (en) | 2009-04-02 |
US20100257284A1 (en) | 2010-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100901465B1 (ko) | Usb장치의 입출력 패킷 보호 방법 | |
EP3662385B1 (en) | Secure storage device | |
US9081911B2 (en) | Mediating communication of a universal serial bus device | |
KR100861104B1 (ko) | 유에스비 키보드의 보안장치 및 그 방법 | |
US20160373408A1 (en) | Usb firewall devices | |
Tian et al. | Making {USB} great again with {USBFILTER} | |
US8578477B1 (en) | Secure computer system integrity check | |
JP2014509421A (ja) | Usbホストシステムの拡張usbプロトコルスタックのためのセキュリティ手段 | |
CN101840472A (zh) | 外部存储装置及其控制方法 | |
Schiffman et al. | The smm rootkit revisited: Fun with usb | |
US20080313370A1 (en) | Guarding Method For Input Data By Usb Keyboard and Guarding System | |
US8250263B2 (en) | Apparatus and method for securing data of USB devices | |
KR100549645B1 (ko) | 키보드로 입력되는 데이터의 보안방법과 이를 구현하는보안시스템 | |
CN111417947B (zh) | 用于车辆的单芯片系统 | |
US10339082B2 (en) | Technologies for stable secure channel identifier mapping for static and dynamic devices | |
EP1631910B1 (en) | Access protected bus system | |
JP2018519591A (ja) | データ処理デバイスおよび周辺デバイス間の通信を制御するための中間モジュール | |
WO2016209203A1 (en) | Usb firewall devices | |
US8214896B2 (en) | Method of securing USB keyboard | |
Abbasi et al. | Ghost in the plc vs ghostbuster: on the feasibility of detecting pin control attack in programmable logic controllers | |
EP3663947B1 (en) | Protected peripheral ports | |
RU2768196C9 (ru) | Защищённое запоминающее устройство |
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: 20130603 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20140602 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20150601 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20160601 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20170601 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20190603 Year of fee payment: 11 |