CN109791531A - Usb设备过滤 - Google Patents
Usb设备过滤 Download PDFInfo
- Publication number
- CN109791531A CN109791531A CN201680088904.1A CN201680088904A CN109791531A CN 109791531 A CN109791531 A CN 109791531A CN 201680088904 A CN201680088904 A CN 201680088904A CN 109791531 A CN109791531 A CN 109791531A
- Authority
- CN
- China
- Prior art keywords
- function
- list
- usb
- equipments
- functions
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000001914 filtration Methods 0.000 title claims abstract description 69
- 230000006870 function Effects 0.000 claims abstract description 202
- 150000001875 compounds Chemical class 0.000 claims description 79
- 238000000034 method Methods 0.000 claims description 49
- 238000004891 communication Methods 0.000 claims description 33
- 230000004044 response Effects 0.000 claims description 6
- 230000002265 prevention Effects 0.000 description 13
- 239000002131 composite material Substances 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000000926 separation method Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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/85—Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line 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/42—Bus transfer protocol, e.g. handshake; Synchronisation
-
- 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/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- 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/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4295—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using an embedded synchronisation
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Information Transfer Systems (AREA)
Abstract
示例实现涉及USB设备过滤。示例控制器可以从USB设备接收接受USB设备类的请求,基于被过滤的设备功能与功能过滤列表的比较来过滤USB设备类的设备功能,以及基于比较,将第一设备功能传递到相关联的操作系统上或阻止第二设备功能被相关联的操作系统识别。
Description
背景技术
通用串行总线(USB)设备是利用USB连接来连接到设备的设备。USB设备可以包括在总线中使用的电缆、连接器和/或通信协议,用于计算机和电子设备之间的连接、通信和/或功率供给。复合USB设备(也称为USB复合设备)是包含多个USB接口的USB设备和/或具有多个功能的USB设备。
附图说明
图1图示了根据示例的包括处理资源、存储器资源和多个模块的计算系统的图;
图2图示了根据示例的包括处理资源、存储器资源和多个模块的控制器的图;
图3图示了根据示例的用于USB设备过滤的方法的图;以及
图4图示了根据示例的用于USB设备过滤的另一方法的图。
具体实施方式
USB设备可以用于标准化计算机外设(例如,键盘、定点设备、数码相机、智能电话、视频游戏控制台等)到计算设备的连接,用以通信和供给电力两者。复合USB设备可以是支持多于一个设备功能的外围设备。不同设备可以实现为复合USB设备。例如,复合USB设备可以包括被称为USB设备功能的多个逻辑子设备。单个USB设备可以提供若干功能,例如具有内置麦克风(音频设备功能)的网络摄像头(视频设备功能)。示例复合USB设备是包括相机、音频和存储功能的智能电话。可以通过类来限定USB设备的功能性,将所述类传达到相关联的计算设备以影响针对每个连接的USB设备的相关联驱动器的加载。USB设备类可以是执行共同功能的具有类似特性的设备的类别。例如,USB人机接口设备类可以是用于诸如键盘、游戏控制器和蓝牙设备等等的人机接口设备的设备类(例如,一种类型的计算机硬件)。
过滤驱动器可以用于过滤USB设备并且可以包括向外围设备添加值和/或支持计算系统中的专门化设备的驱动器。根据本公开的复合USB设备过滤可以包括过滤复合USB设备的功能(也称为子类)。
然而,对于复合USB设备过滤的一些方案包括阻止或允许整个USB设备。例如,在这类方案中,如果期望阻止USB复合USB设备的大容量存储功能,则阻止整个复合USB设备。类似地,如果期望允许复合USB设备的大容量存储功能,则允许整个复合USB设备。相比之下,本公开的示例允许选择性地阻止或允许复合USB设备的功能。
对于复合USB设备过滤的其他方案包括使用复合USB设备的特定供应商标识(ID)和产品ID以尝试过滤复合USB设备的功能。然而,类似的复合USB设备可能具有不同供应商ID和产品ID。这可能导致复合USB设备过滤设定的部署方面增大的难度,并可能以特定复合USB设备为工作对象。类似地,一些方案使用上层USB过滤驱动器来基于供应商ID和产品ID过滤单功能USB设备。如本文使用的,供应商ID指示开发USB设备的供应商,并且产品ID指示供应商创建的USB设备的型号。然而,这些方案可能再次导致整个设备被阻止或被允许。例如,可以限定特定设备供应商和/或其他特质,并且基于该限定阻止整个设备。此外,这些方案可能在USB设备枚举之后发生。
相比之下,本公开的示例可以使用低层USB过滤驱动器并且可以允许更一般的限定。例如,本公开的示例可以包括使用低层类USB过滤驱动器,以在USB设备枚举期间允许或过滤出特定复合USB设备功能。如本文使用的,上层过滤驱动器为设备提供添加的值特征。如本文所使用的低层过滤驱动器修改设备硬件的行为。上层过滤驱动器位于用于USB设备的驱动器(例如,功能驱动器)上面,并且低层过滤驱动器位于驱动器(例如,功能驱动器)下面并在USB设备的总线驱动器上面。在一些示例中,可以使用如本文描述的低层USB过滤驱动器来过滤复合USB设备和/或非复合USB设备的功能。
当USB设备第一次连接到计算设备或其他USB主机时,可以开始USB设备枚举。如本文使用的,计算设备可以是传输或修改能量以执行或辅助人类任务的执行的机械或电气设备。示例包括个人计算机、膝上型计算机、平板计算机和游戏控制台等等。计算设备可以具有能够与连接到计算设备的USB设备相关联的操作系统。通过USB设备接收重置信号,枚举可以开始。在重置信令期间可以确定USB设备的数据率。作为响应,可以由相关联的操作系统和/或计算设备来读取USB设备的信息,并且USB设备可以被分配唯一的地址。如本文使用的,相关联的操作系统是将与其连接到(并与之进行通信)的USB设备进行通信的操作系统,并且将识别和/或忽略USB设备的功能。如果相关联的操作系统支持USB设备,则可以加载用于与USB设备通信的USB设备驱动器并且可以将USB设备设置为配置状态。如果相关联的操作系统被重启,则可以对连接的USB设备重复枚举过程。可以控制去往USB设备的流量,使得USB设备响应于来自相关联计算设备和/或操作系统的控制器的请求而在总线上传送数据。
图1图示了根据示例的计算系统180的图,计算系统180包括处理资源182、存储器资源184和多个模块183、186、188。计算系统180可以利用指令(例如,软件和/或固件)、硬件和/或逻辑来执行包括本文描述的那些功能的多个功能。计算系统180可以是被配置为共享信息的硬件和程序指令的组合。例如,硬件可以包括处理资源182和/或存储器资源184(例如,计算机可读介质(CRM)、机器可读介质(MRM)等、数据库等)。
如本文使用的处理资源182可以包括能够执行存储器资源184存储的指令的处理器。处理资源382可以被实现在单个设备中或跨多个设备分布。程序指令(例如,机器可读指令(MRI))可以包括存储在存储器资源184上并由处理资源182可执行以实现期望的功能(例如,USB设备过滤)的指令。
存储器资源184可以与处理资源182进行通信。如本文使用的存储器资源184可以包括能够存储可以由处理资源182执行的指令的存储器组件。这类存储器资源184可以是非暂时性CRM或MRM。存储器资源184可以集成在单个设备中或跨多个设备分布。此外,存储器资源184可以完全或部分地集成在与处理资源182相同的设备中,或者其可以是分离的但对该设备和处理资源182是可访问的。因此,应指出,计算系统180可以实现在参与者设备上、服务器设备上、服务器设备集合上和/或用户设备与服务器设备的组合上。
存储器资源184可以经由通信链路(例如,路径)185与处理资源182进行通信。通信链路185可以对于与处理资源182相关联的机器(例如,计算系统)是本地或远程的。本地通信链路185的示例可以包括机器(例如,计算系统)内部的电子总线,其中存储器资源184是经由电子总线与处理资源182进行通信的易失性、非易失性、固定和/或可移除存储介质中的一个。
一个模块和/或多个模块183、186、188可以包括MRI,所述MRI当被处理资源182执行时可以执行包括本文所描述的那些功能的多个功能。多个模块183、186、188可以是其他模块的子模块。例如,过滤模块I186和过滤模块II 188可以是子模块和/或包含在同一计算系统内。在另一个示例中,多个模块183、186、188可以包括在分离和不同位置处的个体模块(例如,MRM等)。
多个模块183、186、188中的每个可以包括当被处理资源182执行时可以充当对应的引擎的指令。例如,拦截模块183可以包括当被处理资源182执行时可以充当拦截引擎的指令。类似地,多个模块186、188中的每个可以包括当被处理资源182执行时可以充当引擎的指令。
在一些示例中,引擎可以是包括数据库、子系统和多个引擎的系统(未图示)的部分。子系统可以包括经由通信链路(例如,图2中所参考的链路285)与数据库进行通信的多个引擎。系统可以表示网络控制器(例如,图2中所参考的系统230等)的指令和/或硬件。
多个引擎可以包括硬件和编程的组合,以执行包括本文描述的那些功能的功能。指令可以包括存储在存储器资源(例如,CRM、MRM等)以及硬连线程序(例如,逻辑)中的指令(例如,软件、固件等)。
在一些示例中,多个模块183、186、188可以用在软件即服务交付模型中。例如,计算系统180的组件可以存在于单个计算系统或多个计算系统(例如,分布式)中。例如,用户信任的web服务器或其他计算系统可以向个体数据流的服务器提供服务和/或代表用户充当用于恢复的处理代理。
在示例中,拦截模块183可以包括当被处理资源182执行时可以引起计算系统拦截多个复合USB设备和相关联的操作系统之间的通信的指令,所述通信包括复合USB设备描述符信息。USB设备可以在称为USB描述符的数据结构中提供关于其自身的信息。USB设备描述符信息可以包括与USB设备描述符、USB配置描述符、USB字符串描述符以及USB接口关联描述符相关联的信息。USB设备描述符可以作为整体包括关于USB设备(复合或非复合)的信息,USB配置描述符可以以称为USB配置的一系列接口的形式包括关于USB能力的信息(例如,关于每个设备配置的信息),USB字符串描述符可以包括其他USB描述符参考的描述符(例如,统一码文本字符串),并且USB接口关联描述符可以包括可以允许USB设备对属于一功能的接口进行分组的信息。在一些示例中,其他描述符也可以有助于USB设备描述符信息。
在一些示例中,拦截通信可以包括汇集关于USB设备的类和功能的信息。例如,可以汇集包括设备类信息、供应商ID、产品ID、设备能够执行的功能以及配置的信息。
过滤模块I186可以包括指令,所述指令当被处理资源182执行时可以引起计算系统基于过滤规则而过滤多个复合USB设备的第一功能并允许相关联的操作系统对第一功能的识别。例如,在该示例中,过滤规则可以限定置于允许列表上的设备功能。即,过滤规则可以用于基于过滤规则创建允许列表。该列表可以包括用于由相关联的操作系统识别的功能列表。可以阻止不在允许列表上的功能。这可以在多个复合USB设备的枚举期间完成。例如,复合USB设备可以包括蓝牙、音频和存储功能。被设置为允许音频功能的过滤规则可以导致对复合USB设备的音频功能的允许和对复合USB设备的蓝牙和存储功能的阻止。在这类示例中,相关联的操作系统不识别(例如,忽略)蓝牙和存储功能。
过滤模块II 188可以包括指令,所述指令当被处理资源182执行时可以引起计算系统基于过滤规则而过滤多个复合USB设备的第二功能并阻止相关联的操作系统对第二功能的识别。例如,在该示例中,过滤规则可以限定包括在阻止列表上的特定功能。即,过滤规则可以用于基于过滤规则创建阻止列表。该列表可以包括要阻止的并因此被相关联的操作设备忽略的功能列表。不在阻止列表上的功能可以被允许并被相关联的操作设备识别。这可以在多个复合USB设备的枚举期间完成。例如,复合USB设备可以包括蓝牙、音频和存储功能。被设置为阻止存储功能的过滤规则可以导致对复合USB设备的音频和蓝牙功能的允许以及对复合USB设备的存储功能的阻止。在这类示例中,相关联的操作系统不识别(例如,忽略)存储功能。在一些示例中,可以在过滤规则中指定多于一个复合USB设备功能。
在一些示例中,多个复合USB设备中的至少两个具有不同产品标识符和/或多个复合USB设备中的至少两个具有不同供应商ID。例如,如果过滤规则允许复合USB设备的键盘功能,则可以允许来自不同供应商(例如,具有不同供应商ID)的键盘功能。类似地,如果过滤规则允许复合USB设备的音频功能,则可以允许甚至具有不同产品ID的不同音频功能,诸如蓝牙和麦克风功能。类似地,在一些示例中,过滤规则可以阻止具有不同产品和/或供应商ID的复合USB设备的功能。
图2图示了根据示例的示例控制器230的图,示例控制器230包括处理资源282、存储器资源284和多个引擎232、234、236。例如,控制器230可以是硬件和指令的组合,用于数据恢复、数据验证和/或数据认证。例如,硬件可以包括处理资源282和/或存储器资源284(例如,MRM、CRM、数据存储等)。
如本文使用的,处理资源282可以包括能够执行由存储器资源284存储的指令的多个处理器。指令(例如,MRI)可以包括存储在存储器资源284上并由处理资源282可执行以实现期望的功能(例如,USB设备过滤)的指令。
如本文使用的,存储器资源284可以包括能够存储可以由处理资源282执行的非暂时性指令的多个存储器组件。存储器资源284可以集成在单个设备中或者跨多个设备分布。此外,存储器资源284可以完全或部分地集成在与处理资源282相同的设备中,或者其可以是分离的但对该设备和处理资源282是可访问的。因此,应指出,除其他可能性外,控制器230还可以实现在电子设备和/或电子设备集合上。
存储器资源284可以经由通信链路(例如,路径)285与处理资源282进行通信。通信链路285可以对于与处理资源282相关联的电子设备是本地或远程的。存储器资源284包括多个引擎(例如,请求引擎232、过滤引擎234、阻止/允许引擎236等)。与所图示的相比,存储器资源284可以包括附加的或更少的引擎以执行本文描述的各种功能。
多个引擎可以包括硬件和指令的组合,以执行本文描述的多个功能(例如,USB设备过滤)。除其他可能性外,还可以下载并在存储器资源(例如,MRM)以及硬连线程序(例如,逻辑)中存储指令(例如,软件、固件等)。
请求引擎232可以从USB设备接收接受USB设备类的请求。例如,可以经由描述符呈现设备类连同关于USB设备类的信息。例如,针对USB设备的配置描述符可以包括跟随有针对与USB设备相关联的一个接口或多个接口的描述符的配置头,以及针对每个接口的描述符。在一些示例中,USB设备是复合USB设备。针对复合USB设备的配置描述符包括跟随有针对与复合USB设备相关联的接口的描述符的配置头,以及针对每个接口的附加描述符。
过滤引擎234可以基于被过滤的设备功能与功能过滤列表的比较来过滤USB设备类的设备功能。在一些示例中,功能过滤列表可以包括设备功能阻止列表和/或设备功能允许列表。在一些示例中,低层USB过滤驱动器可以用于过滤设备功能。在这类示例中,单个USB过滤驱动器可以被使用并且可以具有多个功能。单个USB过滤驱动器可以依从向USB过滤驱动器呈现的一个过滤规则或多个过滤规则。虽然本文描述了单个USB过滤驱动器,但可以使用多于一个USB过滤驱动器。
阻止/允许引擎236可以确定将设备功能传递到相关联的操作系统上还是阻止设备功能被相关联的操作系统识别。例如,这可以基于比较。例如,如果功能过滤列表是包括设备功能的阻止列表,则可以阻止该设备功能被相关联的操作系统识别。相比之下,如果功能过滤列表是包括设备功能的允许列表,则可以将该设备功能传递到相关联的操作系统上。如果功能过滤列表是不包括设备功能的阻止列表,则可以将该设备功能传递到相关联的操作系统上。如果功能过滤列表是不包括设备功能的允许列表,则可以阻止该设备功能被相关联的操作系统识别。在一些示例中,控制器230可以在USB设备的枚举期间传递第一设备功能和/或阻止设备功能。
在一些示例中,可以阻止或允许USB设备。例如,过滤规则可以存在以将键盘置于USB设备允许列表上。在这类示例中,如果第一USB设备包括键盘并且第二USB设备包括具有内置智能卡读取器的键盘,则键盘在两种情形下都工作。然而,智能卡读取器不可以工作。相反,在其中过滤规则存在以将键盘置于USB设备阻止列表上的示例中,第一USB设备和第二USB设备都不工作。然而,关于第二USB设备,智能卡读取器可以运作而键盘不运作,这是因为设备管理器或即插即用管理器可以将键盘和智能卡读取器标识为分离的设备(例如,“键盘设备”和“智能卡读取器设备”)。
在一些示例中,控制器230可以包括指令,所述指令可执行以拦截USB设备与相关联的操作系统之间的通信,并基于被过滤的设备功能与功能过滤列表的比较以及所拦截的通信来过滤USB设备的设备功能。例如,除其他信息外,所拦截的通信还可以包括关于USB设备配置和功能的信息。该信息可以用于过滤USB设备的设备功能。例如,可以将信息与功能过滤列表进行比较,并且可以做出阻止或允许设备功能被相关联的操作系统识别的决策。
图3图示了根据示例的用于USB设备过滤的方法300的图。在302处,方法300可以包括使用低层过滤驱动器拦截复合USB设备与相关联的操作系统之间的通信。在一些示例中,拦截通信包括拦截复合USB设备的描述符信息。例如,可以拦截通信来确定关于复合USB设备类、功能和/或配置等等的信息。虽然关于复合USB设备描述了方法300,但可以使用低层过滤驱动器以类似的方式过滤非复合USB设备。
在304处,方法300可以包括使用低层过滤驱动器将所拦截的通信与功能过滤列表进行比较,并且在306处,方法300可以包括使用低层过滤驱动器并基于比较来将复合USB设备的多个功能过滤到阻止列表和/或允许列表中。例如,功能过滤列表可以包括功能和/或要阻止和/或允许的功能。可以将在通信拦截期间收集的信息与功能过滤列表进行比较。例如,在示例中,所拦截的通信包括连接的USB复合设备包括存储、音频和蓝牙功能的信息。
在308处,方法300可以包括响应于多个功能中的功能被确定为在阻止列表上并基于所拦截的通信,阻止该功能被操作系统识别。例如,当将所拦截的通信与功能过滤列表进行比较并且在所拦截的通信中和阻止列表上均找到特定功能时,则阻止该特定功能被识别。类似地,如果功能过滤列表是允许列表,并且特定功能不在允许列表上,则可以阻止该特定功能被操作系统识别。
在310处,方法300可以包括响应于功能被确定为在允许列表上并基于所拦截的通信,允许该功能被操作系统访问。例如,当将所拦截的通信与功能过滤列表进行比较并且在所拦截的通信中和允许列表上均找到特定功能时,则传递通过该特定功能以供操作系统识别。类似地,如果功能过滤列表是阻止列表,并且特定功能不在阻止列表上,则该特定功能可以被传递通过以供操作系统识别。
在一些示例中,方法300可以包括使用低层过滤驱动器并基于比较来将复合USB设备的多个接口过滤到阻止列表或允许列表中。方法300可以包括基于过滤来阻止多个接口中被确定为在阻止列表上的第一接口被操作系统识别,以及基于所拦截的通信允许多个接口中被确定为在允许列表上的第二接口被操作系统访问。接口可以包括复合USB设备的特定功能。例如,接口可以包括如先前描述的人机接口设备类,并且可以包括包含键盘、鼠标、游戏控制器和字母数字显示器设备等等的设备类。在这类示例中,可以基于接口类而不是指定供应商ID和产品ID两者来允许或阻止功能。
一些示例可以包括使用低层过滤驱动器基于比较或多个过滤规则来将复合USB设备的多个功能过滤到阻止列表和/或允许列表中。例如,一个过滤规则或多个过滤规则可以限定可以允许或阻止什么功能被操作系统识别。一个过滤规则或多个过滤规则可以限定功能过滤列表上有什么,以及功能过滤列表是允许列表还是阻止列表。低层过滤可以基于一个过滤规则或多个过滤规则以及功能过滤列表来过滤功能。例如,如果过滤规则限定存储功能是可允许的,则功能过滤列表可以是包括存储功能的允许列表或者是包括除了存储功能之外的一个功能或多个功能的阻止列表。低层过滤可以相应地过滤功能,从而允许存储功能传递到操作系统上,而阻止其他功能被操作系统识别。
类似地,如果过滤规则限定要阻止存储功能,则功能过滤列表可以是包括存储功能的阻止列表或者是包括除了存储功能之外的一个功能或多个功能的允许列表。低层过滤可以相应地过滤功能,从而阻止存储功能被操作系统识别,而允许其他功能传递到操作系统上。
在一些示例中,单个过滤规则可以用于每个复合USB设备,包括在不同品牌(例如,具有不同供应商ID)的复合USB设备间使用相同过滤规则。这可以允许对复合USB设备功能性的选择性允许或阻止。例如,当经由USB端口连接智能电话时,低层过滤驱动器可以过滤功能,使得允许相机功能,但是音频和存储功能不被操作系统识别,而不论智能电话品牌如何。
图4图示了根据示例的用于USB设备过滤的另一方法415的图。在416处,复合USB设备连接到计算设备。例如,可以接收接受复合USB设备的功能的请求。计算设备的操作系统可以检测连接到计算设备的新的USB设备(复合或非复合)。虽然关于复合USB设备描述了方法415,但可以使用低层过滤驱动器以类似的方式过滤非复合USB设备。
在418处,方法415可以包括复合USB设备过滤。例如,低层过滤驱动器可以基于过滤规则以及与功能过滤列表的比较来过滤复合USB设备的功能。在一些示例中,过滤规则可以限定要阻止和/或允许复合USB设备的什么功能。可以基于这些过滤规则来创建功能过滤列表,并且可以基于与功能过滤列表的比较来阻止或允许复合USB设备的功能。
如果在422处确定要阻止复合USB设备的功能,则在424处操作系统忽略该功能。例如,如果基于过滤规则和/或比较(例如,在阻止列表上)阻止功能,则操作系统不被允许识别该功能并忽略该功能。类似地,如果创建允许列表,并且特定功能不在允许列表上,则在424处操作系统可以忽略该特定功能。
如果在420处确定允许复合USB设备的功能,则在426处操作系统可以检测复合USB设备,并且操作系统可以开始发送信号到USB设备。信号可以例如包括对USB设备的有关标识、能力等的询问。USB设备可以利用标识复合USB设备及其功能的描述符来回应操作系统。例如,如果基于过滤规则和/或比较(例如,在允许列表上)允许功能,则在426处允许操作系统识别该功能。类似地,如果创建阻止列表,并且特定功能不在阻止列表上,则在426处可以允许该特定功能。
在426处,方法415可以包括操作系统枚举和加载驱动器,并且在428处,方法415可以包括操作系统向用户呈现USB设备功能。例如,操作系统确认复合USB设备和任何相关联的驱动器的安装完成和/或被识别。用户能够利用允许的功能。例如,如果用户想要使用连接到计算设备的智能电话的音频功能,并且音频功能在允许列表上(或不在阻止列表上),则向用户呈现用户音频功能。
在本公开的前述详细描述中,参考形成其一部分的附图,并且附图中通过图示的方式示出了可以如何实践本公开的示例。足够详细地描述了这些示例以使本领域普通技术人员能够实践本公开的示例,并且要理解,可以利用其他示例,并且在不脱离本公开的范围的情况下可以做出过程、电气和/或结构改变。
本文的图遵循编号惯例,其中第一数位对应于附图编号并且其余数位标识附图中的元件或组件。可以添加、交换和/或消除本文各图中示出的元件,以便提供本公开的多个附加示例。此外,图中提供的元件的比例和相对标度意图图示本公开的示例,并不应该当作具有限制意义。
Claims (15)
1.一种包括处理资源的控制器,所述处理资源与包括指令的存储器资源进行通信,所述指令可执行以:
从通用串行总线(USB)设备接收接受USB设备类的请求;
基于被过滤的设备功能与功能过滤列表的比较来过滤USB设备类的设备功能;以及
基于所述比较,确定将设备功能传递到相关联的操作系统上还是阻止设备功能被相关联的操作系统识别。
2.根据权利要求1所述的控制器,其中USB设备是复合USB设备。
3.根据权利要求1所述的控制器,其中功能过滤列表是设备功能阻止列表。
4.根据权利要求1所述的控制器,其中功能过滤列表是设备功能允许列表。
5.根据权利要求1所述的控制器,还包括指令,所述指令可执行以在USB设备的枚举期间确定将第一设备功能传递到相关联的操作系统上还是阻止设备功能被相关联的操作系统识别。
6.根据权利要求1所述的控制器,还包括指令,所述指令可执行以使用低层USB过滤驱动器基于被过滤的设备功能与功能过滤列表的比较来过滤USB设备类的设备功能。
7.根据权利要求1所述的控制器,还包括指令,所述指令可执行以:
拦截USB设备和相关联的操作系统之间的通信;以及
基于被过滤的设备功能与功能过滤列表的比较以及所拦截的通信来过滤USB设备的设备功能。
8.一种方法,包括:
使用低层过滤驱动器拦截复合USB设备和相关联的操作系统之间的通信;
使用低层过滤驱动器将所拦截的通信与功能过滤列表进行比较;
使用低层过滤驱动器并基于所述比较来将复合USB设备的多个功能过滤到阻止列表或允许列表中;
响应于多个功能中的功能被确定为在阻止列表上并基于所拦截的通信,阻止所述功能被操作系统识别;以及
响应于功能被确定为在允许列表上并基于所拦截的通信,允许所述功能被操作系统访问。
9.根据权利要求8所述的方法,其中拦截通信包括拦截复合USB设备的描述符信息。
10.根据权利要求8所述的方法,还包括:
使用低层过滤驱动器并基于所述比较来将复合USB设备的多个接口过滤到阻止列表或允许列表中;
基于所述过滤来阻止多个接口中被确定为在阻止列表上的第一接口被操作系统识别;以及
基于所拦截的通信允许多个接口中被确定为在允许列表上的第二接口被操作系统访问。
11.根据权利要求8所述的方法,还包括使用低层过滤驱动器基于所述比较和多个过滤规则来将复合USB设备的多个功能过滤到阻止列表和允许列表中。
12.一种存储指令的非暂时性机器可读介质,所述指令由处理资源可执行以引起计算系统:
拦截多个复合USB设备和相关联的操作系统之间的通信,所述通信包括复合USB设备描述符信息;以及
在多个复合USB设备的枚举期间:
基于过滤规则过滤多个复合USB设备的第一功能并允许相关联的操作系统对第一功能的识别;以及
基于过滤规则过滤多个复合USB设备的第二功能并阻止相关联的操作系统对第二功能的识别。
13.根据权利要求12所述的非暂时性机器可读介质,其中多个复合USB设备中的至少两个具有不同产品标识符。
14.根据权利要求12所述的非暂时性机器可读介质,其中多个复合USB设备中的至少两个具有不同供应商标识符。
15.根据权利要求12所述的非暂时性机器可读介质,还包括可执行以基于过滤规则创建阻止列表或允许列表的指令。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2016/055484 WO2018067139A1 (en) | 2016-10-05 | 2016-10-05 | Usb device filtering |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109791531A true CN109791531A (zh) | 2019-05-21 |
Family
ID=61831449
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680088904.1A Pending CN109791531A (zh) | 2016-10-05 | 2016-10-05 | Usb设备过滤 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20190050607A1 (zh) |
EP (1) | EP3482299A4 (zh) |
CN (1) | CN109791531A (zh) |
WO (1) | WO2018067139A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10409734B1 (en) * | 2017-03-27 | 2019-09-10 | Symantec Corporation | Systems and methods for controlling auxiliary device access to computing devices based on device functionality descriptors |
US11237988B2 (en) * | 2019-09-26 | 2022-02-01 | Dell Products L.P. | Blocking individual interfaces of USB composite devices |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090222814A1 (en) * | 2008-02-28 | 2009-09-03 | Sony Ericsson Mobile Communications Ab | Selective exposure to usb device functionality for a virtual machine |
CN101561855A (zh) * | 2009-05-27 | 2009-10-21 | 北京飞天诚信科技有限公司 | 一种计算机对usb设备进行访问的控制方法和系统 |
US20100031250A1 (en) * | 2006-11-30 | 2010-02-04 | Canon Kabushiki Kaisha | Information processing apparatus and control method for information processing apparatus |
CN102362241A (zh) * | 2009-02-02 | 2012-02-22 | 施克莱无线公司 | 用于多功能设备枚举的系统和方法 |
CN103299285A (zh) * | 2010-11-29 | 2013-09-11 | 美思系统有限公司 | 连接到usb外围设备的主机设备及其操作方法 |
CN104156328A (zh) * | 2013-05-15 | 2014-11-19 | 中兴通讯股份有限公司 | 一种识别操作系统类型的方法及usb设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SG123627A1 (en) | 2004-12-20 | 2006-07-26 | Trek 2000 Int Ltd | Method for overcoming system administration blockage |
-
2016
- 2016-10-05 US US16/074,725 patent/US20190050607A1/en not_active Abandoned
- 2016-10-05 CN CN201680088904.1A patent/CN109791531A/zh active Pending
- 2016-10-05 WO PCT/US2016/055484 patent/WO2018067139A1/en unknown
- 2016-10-05 EP EP16918421.5A patent/EP3482299A4/en not_active Withdrawn
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100031250A1 (en) * | 2006-11-30 | 2010-02-04 | Canon Kabushiki Kaisha | Information processing apparatus and control method for information processing apparatus |
US20090222814A1 (en) * | 2008-02-28 | 2009-09-03 | Sony Ericsson Mobile Communications Ab | Selective exposure to usb device functionality for a virtual machine |
CN102362241A (zh) * | 2009-02-02 | 2012-02-22 | 施克莱无线公司 | 用于多功能设备枚举的系统和方法 |
CN101561855A (zh) * | 2009-05-27 | 2009-10-21 | 北京飞天诚信科技有限公司 | 一种计算机对usb设备进行访问的控制方法和系统 |
CN103299285A (zh) * | 2010-11-29 | 2013-09-11 | 美思系统有限公司 | 连接到usb外围设备的主机设备及其操作方法 |
CN104156328A (zh) * | 2013-05-15 | 2014-11-19 | 中兴通讯股份有限公司 | 一种识别操作系统类型的方法及usb设备 |
Also Published As
Publication number | Publication date |
---|---|
EP3482299A4 (en) | 2020-01-15 |
EP3482299A1 (en) | 2019-05-15 |
US20190050607A1 (en) | 2019-02-14 |
WO2018067139A1 (en) | 2018-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106033514B (zh) | 一种可疑进程的探测方法及装置 | |
CN109600441B (zh) | 联盟链信息发布控制方法及终端设备 | |
US20160072819A1 (en) | Determination method for identifying user authority based on fingerprints in a mobile terminal and system employing the same | |
CN107730077A (zh) | 节点任务数据显示方法、装置、存储介质和计算机设备 | |
CN109873804A (zh) | 基于行为的服务识别方法、装置、设备及可读存储介质 | |
CN105874464B (zh) | 用于在子系统输出信号中引入变化以防止设备指纹分析的系统和方法 | |
CN104699423B (zh) | Linux系统中绑定盘符的方法和装置 | |
SG176471A1 (en) | Method, apparatus and system for authentication of external storage devices | |
CN105447927A (zh) | 门禁电锁开启的控制方法、门禁控制器及门禁控制系统 | |
CN109446259B (zh) | 数据处理方法及装置、处理机及存储介质 | |
CN110427775A (zh) | 数据查询权限控制方法及装置 | |
CN109885993B (zh) | 一种身份认证系统、设备及计算机可读存储介质 | |
CN101140545B (zh) | 情报处理装置、外围装置及程序 | |
CN108763062A (zh) | 埋点名称的过滤方法及终端设备 | |
CN102882870A (zh) | 帐号管理系统及方法 | |
CN109791531A (zh) | Usb设备过滤 | |
CN105991898A (zh) | 装置、信息处理系统和信息处理方法 | |
CN107526580B (zh) | 终端应用识别方法及装置 | |
CN108540293A (zh) | 一种身份认证方法及装置 | |
CN114157662B (zh) | 一种云平台参数适配方法、装置、终端设备及储存介质 | |
CN104507069A (zh) | 一种终端用户身份识别方法及系统 | |
JPH04147361A (ja) | 処理画面変更処理方式 | |
CN109871708A (zh) | 数据传输方法、装置、电子设备及存储介质 | |
CN110401934A (zh) | 一种管理设备的方法、管理设备及计算机可读存储介质 | |
CN108965108A (zh) | 一种消息推送方法及相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190521 |