Defending against malicious peripherals with Cinch
Sebastian Angel1,2 Riad S. Wahby3, Max Howald2,4, Joshua B. Leners5, Michael Spilo2, Zhen Sun2, Andrew J. Blumberg1, and Michael Walfish2
1UT Austin 2NYU 3Stanford 4The Cooper Union 5Two Sigma
Defending against malicious peripherals with Cinch Sebastian Angel - - PowerPoint PPT Presentation
Defending against malicious peripherals with Cinch Sebastian Angel 1,2 Riad S. Wahby 3 , Max Howald 2,4 , Joshua B. Leners 5 , Michael Spilo 2 , Zhen Sun 2 , Andrew J. Blumberg 1 , and Michael Walfish 2 1 UT Austin 2 NYU 3 Stanford 4 The Cooper
Sebastian Angel1,2 Riad S. Wahby3, Max Howald2,4, Joshua B. Leners5, Michael Spilo2, Zhen Sun2, Andrew J. Blumberg1, and Michael Walfish2
1UT Austin 2NYU 3Stanford 4The Cooper Union 5Two Sigma
Peripherals’ firmware can be modified with BadUSB [Nohl and Lell, Black Hat 2014]
Your machine Drivers
Host Controller
Hub
Government agencies intercept and modify shipments [Glenn Greenwald, The Guardian 2014]
Your machine Drivers
Host Controller
$@$#$#%$%
Hub
Your machine Drivers
Host Controller
write “evil” to <kernel address> Inception[Maartmann-Moe 2014], Funderbolt[Black Hat 2013]
Hub
Your machine Drivers
Host Controller
Hi, what are you?
Hub
I’m a keyboard J
Compromised hubs can eavesdrop and modify all traffic
Your machine Drivers
Host Controller
File_for_SSD.txt
Hub
File_for_SSD.txt
Your machine Drivers
Host Controller
Insert network security logic somewhere here
Your machine Drivers
Host Controller
peripherals
Hub Enforcer
Your machine Drivers Hub
Host Controller
Your machine
Host Controller
Drivers Hub
Your machine Drivers sacrificial machine
Host Controller
Drivers
Hub
network
Hypervisor Virtual Card
Hypervisor IOMMU
Data Data Data
Device can only write to configured addresses
Restrict I/O to VM’s address space Evil
Your machine
Host Controller
Drivers Hub
Your machine (VM) Drivers sacrificial machine (VM)
Host Controller
Drivers Hub
network
Hypervisor
Your machine (VM) Drivers sacrificial machine (VM)
Host Controller
Drivers Hub
Enforcer’s design is inspired by the Click modular router [Kohler et al., ACM TOCS 2000]
Enforcer Module 3 Module 2 Module 1
USB specifications Constraints on:
USB specifications Constraints on:
incoming packets Allow / Drop packet
Download / populate database with known malicious signatures Inspect incoming traffic for matches Allow / Drop packet
Your machine (VM) Drivers Enforcer sacrificial machine (VM)
Host Controller
Drivers Hub Unauthenticated cleartext communication
Authenticated and encrypted communication Cleartext
Your machine (VM) Drivers Enforcer sacrificial machine (VM)
Host Controller
Drivers Hub
Cleartext Authenticated and encrypted communication Cleartext
Your machine (VM) Drivers Enforcer sacrificial machine (VM)
Host Controller
Drivers Hub
layer protocols (e.g., access flash drives via NFS)
Baseline: connecting devices directly to your machine Experiment 1: transferring 1 GB file to a USB 3.0 SSD
Experiment 2: ping from a remote machine using USB Ethernet adapter