IP Library Granted Patent US 11,113,425
Granted Patent B2
US 11,113,425 · App. 15/873,670 · Granted Sep 7, 2021

Security component for devices on an enumerated bus

Inventors: Aaron LeMasters (New York, NY); Ion-Alexandru Ionescu (Seattle, WA)
Assignee: Crowd Strike, Inc.
G06F21/82G06F9/4415G06F13/385G06F13/387G06F13/4063G06F21/554G06F21/56G06F21/572G06F21/71G06F21/85G06F13/20G06F2221/2141
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,113,425
App. No.
15/873,670
Granted
Sep 7, 2021
Kind
B2
Abstract

A plug-and-play (PnP) driver associated with a security agent is described herein. The PnP driver attaches to device stacks of enumerated bus devices of a computing device as upper-device or lower-device filters based on the device classes of the enumerated bus devices. For example, the PnP driver may attach to the device stack of a hub or controller device as an upper-device filter and to device stacks of other devices as lower-device filters. Either while attaching or after attachment, the PnP driver may take action to alter, limit, or otherwise block functionality of an enumerated bus device. The PnP driver may also perform a system inventory of enumerated bus devices connected to the computing device and create fingerprints for one or more of the computing devices. Additionally, the PnP driver may create and remove control device objects (CDOs) to enable communication with user-mode processes or threads.

Claims (30)

1. A system comprising:

a processor; and

a PnP driver attached as a filter in a device stack of an enumerated bus device of one or more enumerated bus devices plugged in to the system, the PnP driver being operated by the processor to:

receive a message directed through the device stack, the message specifying indicative features of at least one of the one or more enumerated bus devices or commanding the at least one of the one or more enumerated bus devices to take an action; and

based on the message, take an action to alter, limit, or otherwise block functionality of the at least one of the one or more enumerated bus devices, wherein the action includes:

sending a request to a hub device requesting that an individual port of the hub device associated with the at least one of the one or more enumerated bus devices be powered off, disabled, or power cycled, or

suspending the at least one of the one or more enumerated bus devices by updating a state machine of a hub device.

2. The system of claim 1 , wherein the action additionally or alternatively includes failing, by the PnP driver, a start routine initiated by a start device message received from a PnP manager.

3. The system of claim 1 , wherein the action additionally or alternatively includes returning a failure status for an add device routing to a PnP manager to cause a device stack for the at least one of the one or more enumerated bus devices to be torn down.

4. The system of claim 1 , wherein taking the action is based at least on part on configurable policies of the PnP driver.

5. The system of claim 1 , wherein the action additionally or alternatively includes altering installation strings for the at least one of the one or more enumerated bus devices.

6. The system of claim 1 , wherein the action additionally or alternatively includes altering capability flags for the at least one of the one or more enumerated bus devices.

7. A method implemented in a PnP driver attached as a filter in a device stack of an enumerated bus device of one or more enumerated bus devices, the method comprising:

receiving, by the PnP driver, a message directed through the device stack, the message commanding at least one of the one or more enumerated bus devices to take an action; and

based on the message, taking, by the PnP driver, an action to alter, limit, or otherwise block functionality of the at least one of the one or more enumerated bus devices, wherein the action includes:

sending a request to a hub device requesting that an individual port of the hub device associated with the at least one of the one or more enumerated bus devices be powered off, disabled, or power cycled, or

suspending the at least one of the one or more enumerated bus devices by updating a state machine of a hub device.

8. The method of claim 7 , wherein the action additionally or alternatively includes altering installation strings or capability flags for the at least one of the one or more enumerated bus devices.

9. The method of claim 7 , wherein taking the action is based at least on part on configurable policies of the PnP driver.

10. The method of claim 7 , wherein the action additionally or alternatively includes failing, by the PnP driver, a start routine initiated by a start device message received from a PnP manager.

11. The method of claim 7 , wherein the action additionally or alternatively includes returning a failure status for an add device routing to a PnP manager to cause a device stack for the at least one of the one or more enumerated bus devices to be torn down.

12. A non-transitory computer-readable medium having programming instructions stored thereon that, when executed by a PnP driver perform operations comprising:

receiving, by the PnP driver, a message directed through a device stack, the message specifying indicative features of at least one of one or more enumerated bus devices or commanding the at least one of the one or more enumerated bus devices to take an action, wherein the PnP driver is attached as a filter in the device stack of an enumerated bus device of the one or more enumerated bus devices; and

based on the message, taking, by the PnP driver, an action to alter, limit, or otherwise block functionality of the at least one of the one or more enumerated bus devices, wherein the action includes:

sending a request to a hub device requesting that an individual port of the hub associated with the at least one of the one or more enumerated bus devices be powered off, disabled, or power cycled, or

suspending the at least one of the one or more enumerated bus devices by updating a state machine of a hub device.

13. The non-transitory computer-readable medium of claim 12 , wherein the action additionally or alternatively includes altering installation strings or capability flags for the at least one of the one or more enumerated bus devices.

14. The non-transitory computer-readable medium of claim 12 , wherein the action additionally or alternatively includes failing, by the PnP driver, a start routine initiated by a start device message received from a PnP manager.

15. The non-transitory computer-readable medium of claim 12 , wherein the action additionally or alternatively includes returning a failure status for an add device routing to a PnP manager to cause a device stack for the at least one of the one or more enumerated bus devices to be torn down.

16. The non-transitory computer-readable medium of claim 12 , wherein taking the action is based at least on part on configurable policies of the PnP driver.

Assignments (4)
RELEASE OF SECURITY INTEREST Recorded Jan 6, 2026
From: FIRST-CITIZENS BANK & TRUST COMPANY
To: CROWDSTRIKE HOLDINGS, INC.; CROWDSTRIKE, INC.
Reel/Frame 074202/0710 →
PATENT SECURITY AGREEMENT Recorded Jan 5, 2021
From: CROWDSTRIKE HOLDINGS, INC.; CROWDSTRIKE, INC.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 054899/0848 →
SECURITY INTEREST Recorded Apr 22, 2019
From: CROWDSTRIKE HOLDINGS, INC.; CROWDSTRIKE, INC.; CROWDSTRIKE SERVICES, INC.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 048953/0205 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 17, 2018
From: LEMASTERS, AARON; IONESCU, ION-ALEXANDRU
To: CROWDSTRIKE, INC.
Reel/Frame 045083/0596 →
Continuity (1)
Related Publication 20190220626A1 · Jul 18, 2019