Security arrangements for extended USB protocol stack of a USB host system
AssigneeMCCI Corporation
InventorsTerrill M. Moore, John I. Garney, Salvatore Gregory Scaffidi, Jr., Christopher Jay Yokum
Life of this patent
Estimating the term…
Abstract
Security arrangements for a universal serial bus (USB) protocol stack of a USB host system are provided. The security arrangements prevent an unauthorized or suspicious USB device from communicating with the host system, detect suspicious activity originating from a device which is already communicating with the host system and may provide notification to a user.
Claims18
A method for protecting a host system from a first device connected to the host system, the method comprising:
- executing an extended protocol stack having security arrangements at a processor of the host system,
- compiling a first list of devices that are not authorized to communicate with the host system, the first list of devices maintained by the security arrangements of the extended protocol stack;
- compiling a second list of suspicious descriptors maintained by the security arrangements of the extended protocol stack, wherein devices with those descriptors are not authorized to communicate with the host system;
- identifying the first device and its descriptors, wherein the first device is a first USB device;
- comparing the first list and the second list to the identified device and its descriptors and, if there is a match,
- preventing communications between the first device and the host system;
- and
- detecting suspicious activities between a second USB device and the system through static analysis and heuristic analysis, wherein the heuristic analysis includes monitoring a rate of keystrokes originating from a third USB device identified as a keyboard and, if the keystroke rate exceeds a predetermined limit representing a maximum typing speed, flagging the third USB device as suspicious.
A system comprising:
- a host controller;
- a processor coupled to the host controller and adapted to execute an extended USB protocol stack having a security control module interfaced with a device identification database;
- and
- a memory adapted to store the device identification database and the security control module to:
- maintain a first list of USB devices that are not authorized to communicate with the host controller;
- maintain a second list of USB devices having suspicious combinations of descriptors that are not authorized to communicate with the host controller;
- maintain a third list of USB devices connected to the host controller that exhibit suspicious activities while communicating with the host controller;
- block communication between a first USB device connected to the host controller and the system if there is a match between the first USB device and the first list, the second list or the third list;
- and
- clear a second USB device to communicate with the system using a device identification module stored in the memory and adapted to detect suspicious activities between the second USB device and the system through static analysis and heuristic analysis, wherein the heuristic analysis includes monitoring a rate of keystroke originating from a third USB device identified as a keyboard and, if the keystroke rate exceeds a predetermined limit representing a maximum typing speed, flagging the third USB device as suspicious.
A non-transitory computer-readable medium containing instructions, the instructions when executed by a processor operable to:
- provide a universal serial bus (USB) protocol stack;
- extend the USB protocol stack to include security modules adapted to protect a host system from unauthorized activity initiated by a USB device connected to the host system, the security modules including a security control module operating to enable communication between the host system and a USB device connected to the host system when the USB device is identified as authorized to communicate with the host system, the security control module further operating to disable communication between the host system and the USB device when the USB device is identified as not authorized to communicate with the host system, the security control module further operating to disable further communication between the host system and the USB device when the USB device is identified as initiating unauthorized activity with respect to the host system;
- and
- clear a second USB device to communicate with the system using a device identification module stored in the memory and adapted to detect suspicious activities between the second USB device and the system through static analysis and heuristic analysis, wherein the heuristic analysis includes monitoring a rate of keystrokes originating from a third USB device identified as a keyboard and, if the keystroke rate exceeds a predetermined limit representing a maximum typing speed, flagging the third USB device as suspicious.
Dependencies are inferred from the claim text.