29C3 - Version 1.9
Speakers | |
---|---|
Travis Goodspeed |
Schedule | |
---|---|
Day | Day 3 - 2012-12-29 |
Room | Saal 1 |
Start time | 17:15 |
Duration | 01:00 |
Info | |
ID | 5327 |
Event type | Lecture |
Language used for presentation | English |
Feedback | |
---|---|
Did you attend this event? Give Feedback |
Writing a Thumbdrive from Scratch
Prototyping Active Disk Antiforensics
This action-packed lecture presents the inner workings of the author's from-scratch implementation of a USB Mass Storage disk in user-land Python, along with some embarrassing bugs in operating systems that support such disks. The lecture concludes with an introduction to Active Antiforensics, in which a thumbdrive's own firmware can recognize and defend itself against disk imaging and other forensic tools.
USB is a lovely little conduit into the deepest parts of the kernel. Drivers are made to speak complicated protocols in hastily written C, leaving a goldmine of bugs and unexplored behaviors for a crafty attacker to exploit.
This lecture will show how a USB Mass Storage device was implemented from scratch in user-land Python for the Facedancer board. Along the way, we'll take a look at how to abuse a number of bugs in kernels, automounters, filesystems, and forensic utilities, all of which are easily confused.
As an example application of these techniques, the culmination of this lecture presents a prototype disk that actively resists forensics, wiping itself to an innocent state whenever it detects disk imaging, undeletes, access by the wrong operating system, or the presence a write blocker.