We’re taught that computers are straightforward things. Even though there’s a huge amount of underlying complexity, that’s pretty much entirely abstracted away by well-defined interfaces. You write instructions. The computer executes them. Simple.
But what if that’s not true? What if these well-defined interfaces are leakier than you’d like to believe? What if your hardware couldn’t be trusted? What if your network card steals some of your packets? What if your firmware makes assumptions about the behaviour of your OS?
It turns out that computers are not your friends. They’ve been lying to you for decades. Maybe it’s your network hardware breaking one out of every 60,000 FTP sessions. Maybe it’s your firmware halting all execution periodically in order to decide whether to change the fan speed. Maybe your performance counters are mysteriously missing, or just lying to you. Do you even know where your keyboard controller is?
This presentation will describe some of the terrifying ways that computers lie, cheat and steal. From excessively intimate assumptions about OS behaviour to deliberate design decisions that probably won’t break anything if you’re lucky but woe betide you if you’re not, you’ll learn how you can’t trust your hardware, your firmware or (sometimes) even your CPU.
Matthew Garrett is a Linux kernel developer, firmware wrangler and meddler in cloud security. By day he works at Nebula, dealing with parts of the cloud that can be used to scare small children. By night, those parts of the cloud scare him.
Comments on this page are now closed.
For exhibition and sponsorship opportunities, contact Sharon Cordesse at email@example.com
For information on trade opportunities with O'Reilly conferences contact firstname.lastname@example.org
For media-related inquiries, contact Maureen Jennings at email@example.com
View a complete list of OSCON contacts