# US 2017/0286249 A1 · External storage device security systems and methods

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2017/0286249 A1
- Document ID: US20170286249A1
- Status: Published application
- Kind: A1
- Application number: 15/374,901
- Filed: 2016-12-09
- Published: 2017-10-05
- Earliest claimed: 2016-03-29
- Assignees: Viewpost IP Holdings, LLC
- Applicants: Viewpost IP Holdings, LLC
- Inventors: Christopher Pierson; Andrew McCormack
- Web page: https://patentgrep.com/patent/US20170286249A1

## CPC

- G06F 11/3055: {Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available (error or fault processing without redundancy G06F11/0703; error detection or correction by redundancy in data representation G06F11/08; error detection or correction of the data by redundancy in operations G06F11/14; error detection or correction by redundancy in hardware G06F11/16)}
- G06F 11/3027: {where the computing system component is a bus}
- G06F 11/3048: {where the topology of the computing system or computing system component explicitly influences the monitoring activity, e.g. serial, hierarchical systems}
- G06F 11/3051: {Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs (verification or detection of system hardware configuration G06F11/2247)}
- G06F 13/385: {for adaptation of a particular data processing system to different peripheral devices}
- G06F 13/4072: {Drivers or receivers (G06F13/4086 takes precedence; for multistate logic circuits H03K19/0002)}
- G06F 13/4282: {on a serial bus, e.g. I2C bus, SPI bus (on daisy chain buses G06F13/4247)}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Systems and methods are presented for detecting, by a universal serial bus (USB) drive operatively coupled with a computing device, power from the computing device, and determining, by the USB drive, that drivers associated with the USB drive have been installed on the computing device. The systems and methods may determine that drivers associated with the USB drive have been installed by sending, to the computing device, a digital signal indicating a predetermined keystroke until the USB drive receives a response from the computing device, and receiving, from the computing device, a feedback response to the digital signal indicating the predetermined keystroke has been received. The systems and methods further executing, by the USB drive, a macro to download a payload to the computing device from a server computer, causing by the USB drive, the payload to execute on the computing device, and causing, by the USB drive, the downloaded payload to be deleted from the computing device

## Claims

### Claim 1

(canceled)

### Claim 2

A method comprising:
detecting, by an external storage device operatively coupled with a computing device, power from the computing device;
determining, by the external storage device, that drivers associated with the external storage device have been installed on the computing device by performing operations comprising:
sending, to the computing device, a digital signal indicating a predetermined keystroke until the external storage device receives a response from the computing device; and
receiving, from the computing device, a feedback response to the digital signal indicating the predetermined keystroke has been received;
executing, by the external storage device, a macro to download a payload to the computing device from a server computer;
causing, by the external storage device, the downloaded payload to execute on the computing device; and
causing, by the external storage device, the downloaded payload to be deleted from the computing device.

### Claim 3 (depends on 2)

The method of claim 2, wherein the external storage device is configured to be recognized by the computing device as a host device.

### Claim 4 (depends on 2)

The method of claim 2, wherein the external storage device is configured to be recognized by the computing device as a hybrid device comprising an external storage device and a keyboard.

### Claim 5 (depends on 2)

The method of claim 2, further comprising:
causing descriptors stored in the external storage device to be read by the computing device to identify the external storage device as a host device.

### Claim 6 (depends on 2)

The method of claim 2, wherein the external storage device comprises a stored unique identifier associated with the external storage device, and wherein the method further comprises:
causing the stored unique identifier to be sent to the server computer.

### Claim 7 (depends on 2)

The method of claim 2, wherein the external storage device comprises a stored unique customer identifier, and wherein the method further comprises:
causing the stored unique customer identifier to be sent to the server computer.

### Claim 8 (depends on 2)

The method of claim 2, wherein the payload is downloaded to the computing device, data is collected from the computing device, and the data is sent from the computing device to the server computer and stored by the server computer.

### Claim 9 (depends on 8)

The method of claim 8, wherein the data is identifying information associated with the computing device and a user associated with the computing device.

### Claim 10 (depends on 9)

The method of claim 9, wherein the identifying information includes at least one from a group comprising:
a username, a hostname, an IP address, a MAC address, a domain name, a computer name, a date, a time, an operating system, a screen capture, and a geolocation.

### Claim 11 (depends on 9)

The method of claim 9, wherein the identifying information comprises a username, a hostname, an IP address, a MAC address, a domain name, a computer name, a date, a time, an operating system, a screen capture, and a geolocation.

### Claim 12

An external storage device comprising:
a controller; and
a machine-readable medium coupled with the controller, the machine-readable medium comprising instructions stored thereon that are executable by the controller to cause the external storage device to perform operations comprising:
detecting power from a computing device;
determining that drivers associated with the external storage device have been installed on the computing device by performing operations comprising:
sending, to the computing device, a digital signal indicating a predetermined keystroke until the external storage device receives a response from the computing device; and
receiving, from the computing device, a feedback response to the digital signal indicating the predetermined keystroke has been received;
executing a macro to download a payload to the computing device from a server computer;
causing the downloaded payload to execute on the computing device; and
causing the downloaded payload to be deleted from the computing device.

### Claim 13 (depends on 12)

The external storage device of claim 12, wherein the external storage device is configured to be recognized by the computing device as a host device.

### Claim 14 (depends on 12)

The external storage device of claim 12, wherein the external storage device is configured to be recognized by the computing device as a hybrid device comprising an external storage device and a keyboard.

### Claim 15 (depends on 12)

The external storage device of claim 12, the operations further comprising:
causing descriptors stored in the external storage device to be read by the computing device to identify the external storage device as a host device.

### Claim 16 (depends on 12)

The external storage device of claim 12, wherein the external storage device comprises a stored unique identifier associated with the external storage device, and the operations further comprising:
causing the stored unique identifier to be sent to the server computer.

### Claim 17 (depends on 12)

The external storage device of claim 12, wherein the external storage device comprises a stored unique customer identifier.

### Claim 18 (depends on 12)

The external storage device of claim 12, the operation further comprising:
causing the stored unique customer identifier to be sent to the server computer.

### Claim 19

A non-transitory machine-readable medium comprising instructions stored thereon that are executable by one or more processors to cause an external storage device to perform operations comprising:
detecting power from a computing device;
determining that drivers associated with the external storage device have been installed on the computing device by performing operations comprising:
sending, to the computing device, a digital signal indicating a predetermined keystroke until the external storage device receives a response from the computing device; and
receiving, from the computing device, a feedback response to the digital signal indicating the predetermined keystroke has been received;
executing a macro to download a payload to the computing device from a server computer;
causing the downloaded payload to execute on the computing device; and
causing the downloaded payload to be deleted from the computing device.

### Claim 20 (depends on 19)

The non-transitory machine-readable medium of claim 19, wherein before causing the downloaded payload to execute on the computing device, the method further comprises:
detecting that the payload has been downloaded.

### Claim 21 (depends on 19)

The non-transitory machine-readable medium of claim 19, wherein the payload is deleted after the payload has been executed and is running in memory.
