Skip to main content

You Don't Know How Your Computer Works

Matthew Garrett (CoreOS)
Average rating: ****.
(4.43, 7 ratings)
Slides:   1-BIN 

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.

Photo of Matthew Garrett

Matthew Garrett


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.


Picture of Matthew Garrett
Matthew Garrett
07/23/2014 9:10am PDT

I’ve uploaded the slides to the presentation page. Thank you for the reminder!

Tom Jahncke
07/23/2014 9:03am PDT

Can you post the slides?