vulnerability in this type of devices is the Windows
OS autorun, which allows to execute automatically
any code or software in a Windows OS.
The second category, ”U3 smart drives with mali-
cious payloads”, groups the devices that have a spe-
cial partition that is seen as a CD-ROM device when
the device is enumerated by the host. Like the de-
vices in the first category, these USB devices are also
used as a means to deliver malware. The device is
not malicious by itself, but it can contain files that
are malicious in nature. However, in a mass storage
USB device the infection might be accidental, but on
a U3 smart drive the infection is generally intentional
(Crenshaw, 2011).
The third category was renamed to ”USB devices
in the Middle (USBiM)” to be able to group all de-
vices that are inserted between a non malicious USB
device and the host computer. The most common de-
vices that fit this category are keyloggers; some of
these are sold as forensic tools (TechGuru, 2017),
however, other devices fit this category with malicious
purposes, such as printer loggers, or hardware USB
sniffers
1
.
The fourth category, ”USB with Programmable
HID”, represents a relatively new kind of threat where
malicious code is embedded in device’s firmware to
request USB interfaces that usually are not mass stor-
age. This feature provides unacknowledged and mali-
cious functionality that lies outside the apparent pur-
pose of the device (Tian et al., 2015). The advan-
tage of these type of devices is that with a USB HID
it does not matter if autorun is disabled or not. By
default, most OS seem to automatically install and
configure USB HIDs as soon as they are inserted,
regardless of the privilege level of the current user.
Author in (Crenshaw, 2011) released a blog entry de-
scribing a programmable USB device that was capa-
ble of emulating a keyboard and ”typing” out com-
mands specified in a script stored on the device. This
technique allowed commands to be executed automat-
ically by emulating a known keyboard type and ven-
dor. Authors in (Cannon, 2010; Veres-Szentkiralyi,
2012; Benchoff, 2013) developed this concept to be
able to allow perform data exfiltration through the
USB-HID protocol. In 2016 (Kamkar, 2016) created
another type of programmable HID called PoisonTap.
This device uses a Raspeberry Pi Zero to emulate a
fast gigabit network card that is able to exfiltrate data,
even from locked computers.
Finally, the fifth category, ”Denial of Service USB
devices”, is proposed to group multiple devices that
have the malicious purpose to disrupt a service. One
1
Project to build a hardware USB sniffer
https://github.com/dominicgs/USBProxy
example is the USB killer (USBKill.com, 2017) that
use the USB power lines to charge its capacitors, and
then discharge 200V DC over the data lines of the
host device, burning any circuit board that does not
provide electrical surge protection
2
.
The current paper proposes a system protection
agent for Windows OS that focus into devices of the
fourth category by identifying the device functional-
ity and also, by scanning processes running on back-
ground originated from external devices. Devices
from categories one and two can also be addressed by
aiding the user to detect false USB devices, spoofed
firmware or other threats to the system that might oc-
cur from USB devices. Our proposed solution inter-
sects the operating system requests to install a de-
vice driver and hands over to the user the option to
white list or blacklist the device based on the identi-
fied functionalities by the HID.
This paper is organized as follows. Section 2
presents the actual techniques used for protection
against bad USB devices. Section 3 details the pro-
posed system protection agent for Windows Operative
System based on white listing of known good USB
devices technique. Section 4 presents the validation
procedures of the current proposal. Finally, section 5
presents the conclusions and future work.
2 BACKGROUND
Awareness of USB attacks is becoming more notice-
able, since these devices can be used effectively to
deploy malicious code in computers and networks
where they connected. USB drives are a known secu-
rity threat and they were already blamed for the instal-
lation of Conficker, a worm type of malware, on the
Manchester City Council computers in the year 2009
(Andreasson, 2011) (Greene, 2010). There are many
solutions to defend computer systems from malicious
USB devices, but none of them solves the problem ef-
fectively without affecting the performance of the sys-
tem or matching the end user requirements. We can
define five general categories of defense approaches:
• malicious software detection;
• disable autorun;
• behavior detection;
• physical block of USB ports;
• device installation restrictions;
Malicious software detection and disabling au-
torun are the most common defense approaches
2
Video of USB Killer tests on different devices
https://youtu.be/faKX P1Be50
IoTBDS 2018 - 3rd International Conference on Internet of Things, Big Data and Security
238