DeviceVeil: Robust Authentication for Individual USB Devices Using Physical Unclonable Functions

The Universal Serial Bus (USB) supports a diverse and wide-ranging set of device types. To enable ease of use, USB devices are automatically detected and classified by common operating systems, without any authentication. This trust-by-default design principle can be easily exploited, and led to numerous attacks in the past (e.g., Stuxnet, BadUSB, BadAndroid), specifically targeting high-value organizations. Administrators' efforts to prevent these attacks may also be threatened by unscrupulous users who may insert any USB device, or malicious users (inside attackers) who may try to circumvent OS/kernel-enforced protection mechanisms (e.g., via OS replacement). The root causes of USB attacks appear to be the lack of robust authentication of individual USB devices and inadequate tamper-proofing of the solution mechanism itself. We propose DeviceVeil to address these limitations. To authenticate individual USB devices, we utilize the tamper-proof feature of Physical Unclonable Functions (PUFs); PUFs extract unique features from physical characteristics of an integrated circuit (IC) at a reasonable cost (less than 1 USD). To make our authentication mechanism robust, we implement it as a small hypervisor, and protect it by a novel combination of security technologies available in commodity PCs, e.g., Trusted Platform Module (TPM), customized secure boot, and virtualization support. The OS disk image with all user data is encrypted by a key sealed in TPM and can be decrypted by the hypervisor only. Customized secure boot allows the loading of the legitimate hypervisor and OS kernel only. The hypervisor enables pre-OS authentication to protect the trust-by-default OS from USB attacks. The chain of trust continues from power-on to the insertion of a USB device and disallows all illegitimate USB devices. DeviceVeil's PUF authentication takes about 1.7 seconds during device insertion.

[1]  Ahmad-Reza Sadeghi,et al.  Efficient Helper Data Key Extractor on FPGAs , 2008, CHES.

[2]  Angelos Stavrou,et al.  Attestation & Authentication for USB Communications , 2012, 2012 IEEE Sixth International Conference on Software Security and Reliability Companion.

[3]  Mohammad Mannan,et al.  Gracewipe: Secure and Verifiable Deletion under Coercion , 2015, NDSS.

[4]  Ahmad-Reza Sadeghi,et al.  Reconfigurable trusted computing in hardware , 2007, STC '07.

[5]  Ramarathnam Venkatesan,et al.  FPGAs for trusted cloud computing , 2012, 22nd International Conference on Field Programmable Logic and Applications (FPL).

[6]  Elisa Bertino,et al.  Authentication and key management for Advanced Metering Infrastructures utilizing physically unclonable functions , 2012, 2012 IEEE Third International Conference on Smart Grid Communications (SmartGridComm).

[7]  Zhi Wang,et al.  HyperSafe: A Lightweight Approach to Provide Lifetime Hypervisor Control-Flow Integrity , 2010, 2010 IEEE Symposium on Security and Privacy.

[8]  Daisuke Suzuki,et al.  The Glitch PUF: A New Delay-PUF Architecture Exploiting Glitch Shapes , 2010, CHES.

[9]  Klaus Kursawe Trusted Computing and its Applications: An Overview , 2004, ISSE.

[10]  Shigeru Chiba,et al.  BitVisor: a thin hypervisor for enforcing i/o device security , 2009, VEE '09.

[11]  Marten van Dijk,et al.  A technique to build a secret key in integrated circuits for identification and authentication applications , 2004, 2004 Symposium on VLSI Circuits. Digest of Technical Papers (IEEE Cat. No.04CH37525).

[12]  Srinivas Devadas,et al.  Modeling attacks on physical unclonable functions , 2010, CCS '10.

[13]  Zhi Wang,et al.  HyperSentry: enabling stealthy in-context measurement of hypervisor integrity , 2010, CCS '10.

[14]  Bernhard Kauer OSLO: Improving the Security of Trusted Computing , 2007, USENIX Security Symposium.

[15]  G. Edward Suh,et al.  Physical Unclonable Functions for Device Authentication and Secret Key Generation , 2007, 2007 44th ACM/IEEE Design Automation Conference.

[16]  Kevin R. B. Butler,et al.  Defending Against Malicious USB Firmware with GoodUSB , 2015, ACSAC.

[17]  Tilo Müller,et al.  PRIME: private RSA infrastructure for memory-less encryption , 2013, ACSAC.

[18]  Jing Wang,et al.  Protecting Private Keys against Memory Disclosure Attacks Using Hardware Transactional Memory , 2015, 2015 IEEE Symposium on Security and Privacy.

[19]  Patrick Traynor,et al.  Making USB Great Again with USBFILTER , 2016, USENIX Security Symposium.

[20]  D. Kushner,et al.  The real story of stuxnet , 2013, IEEE Spectrum.

[21]  Michael K. Reiter,et al.  Cross-VM side channels and their use to extract private keys , 2012, CCS.

[22]  Mike Bond,et al.  Cryptographic Processors-A Survey , 2006, Proceedings of the IEEE.

[23]  Patrick D. McDaniel,et al.  Kells: a protection framework for portable data , 2010, ACSAC '10.

[24]  Srinivas Devadas,et al.  Robust and Reverse-Engineering Resilient PUF Authentication and Key-Exchange by Substring Matching , 2014, IEEE Transactions on Emerging Topics in Computing.

[25]  Nicolas Christin,et al.  All Your Droid Are Belong to Us: A Survey of Current Android Attacks , 2011, WOOT.

[26]  Ulrich Rührmair,et al.  Combined Modeling and Side Channel Attacks on Strong PUFs , 2013, IACR Cryptol. ePrint Arch..

[27]  Thomas M. Chen,et al.  Lessons from Stuxnet , 2011, Computer.

[28]  Adrian Perrig,et al.  SecVisor: a tiny hypervisor to provide lifetime kernel code integrity for commodity OSes , 2007, SOSP.

[29]  Deepak Kumar,et al.  SoK: “Plug & Pray” Today – Understanding USB Insecurity in Versions 1 through C , 2017 .

[30]  Shin-Ming Cheng,et al.  SandUSB: An installation-free sandbox for USB peripherals , 2016, 2016 IEEE 3rd World Forum on Internet of Things (WF-IoT).

[31]  Brian R. Richardson Uefi Secure Boot in Modern Computer Security Solutions , 2013 .

[32]  Andreas Dewald,et al.  TRESOR Runs Encryption Securely Outside RAM , 2011, USENIX Security Symposium.

[33]  Sotiris Ioannidis,et al.  PixelVault: Using GPUs for Securing Cryptographic Operations , 2014, CCS.

[34]  Ariel J. Feldman,et al.  Lest we remember: cold-boot attacks on encryption keys , 2008, CACM.

[35]  Srinivas Devadas,et al.  PUF Modeling Attacks on Simulated and Silicon Data , 2013, IEEE Transactions on Information Forensics and Security.

[36]  Jennifer Rexford,et al.  Eliminating the hypervisor attack surface for a more secure cloud , 2011, CCS '11.

[37]  Kaori Ishii,et al.  A Comparative Legal Study on Data Breaches in Japan, the U.S., and the U.K , 2016, HCC.

[38]  Kevin R. B. Butler,et al.  ProvUSB: Block-level Provenance-Based Data Protection for USB Storage Devices , 2016, CCS.

[39]  Patrick Simmons,et al.  Security through amnesia: a software-based solution to the cold boot attack on disk encryption , 2011, ACSAC '11.

[40]  Herbert Bos,et al.  Research in Attacks, Intrusions, and Defenses , 2015, Lecture Notes in Computer Science.

[41]  Suela Kodra Fuzzy extractors : How to generate strong keys from biometrics and other noisy data , 2015 .

[42]  Adrian Perrig,et al.  TrustVisor: Efficient TCB Reduction and Attestation , 2010, 2010 IEEE Symposium on Security and Privacy.

[43]  Hyoung-Chun Kim,et al.  A Bad Dream: Subverting Trusted Platform Module While You Are Sleeping , 2018, USENIX Security Symposium.

[44]  Aristide Fattori,et al.  When hardware meets software: a bulletproof solution to forensic memory acquisition , 2012, ACSAC '12.

[45]  Miodrag Potkonjak,et al.  Techniques for Design and Implementation of Secure Reconfigurable PUFs , 2009, TRETS.

[46]  Matthew Tischer,et al.  Users Really Do Plug in USB Drives They Find , 2016, 2016 IEEE Symposium on Security and Privacy (SP).

[47]  Akashi Satoh,et al.  Pseudo-LFSR PUF: A Compact, Efficient and Reliable Physical Unclonable Function , 2011, 2011 International Conference on Reconfigurable Computing and FPGAs.

[48]  Patrick Stewin,et al.  Detecting peripheral-based attacks on the host memory , 2014 .

[49]  Anton Beitler,et al.  A transparent defense against USB eavesdropping attacks , 2016, EuroSec '16.

[50]  Ruby B. Lee,et al.  Characterizing hypervisor vulnerabilities in cloud computing servers , 2013, Cloud Computing '13.

[51]  Mohammad Mannan,et al.  Hypnoguard: Protecting Secrets across Sleep-wake Cycles , 2016, CCS.

[52]  Andrew J. Blumberg,et al.  Defending against Malicious Peripherals with Cinch , 2016, USENIX Security Symposium.

[53]  Hossein Saiedian,et al.  USBWall: A novel security mechanism to protect against maliciously reprogrammed USB devices , 2017, Inf. Secur. J. A Glob. Perspect..

[54]  Davide Balzarotti,et al.  Hypervisor Memory Forensics , 2013, RAID.

[55]  Evan R. Sparks A Security Assessment of Trusted Platform Modules , 2007 .

[56]  Andreas Dewald,et al.  AESSE: a cold-boot resistant implementation of AES , 2010, EUROSEC '10.

[57]  Mikhail J. Atallah,et al.  Robust Authentication Using Physically Unclonable Functions , 2009, ISC.