CppCon 2018: Chandler Carruth “Spectre: Secrets, Side-Channels, Sandboxes, and Security”

http://CppCon.org — Presentation Slides, PDFs, Source Code and other presenter materials are available at: https://github.com/CppCon/CppCon2018 — The discovery of speculative execution side-channel attacks (called "Spectre") fundamentally changes the security model of every modern superscalar microprocessor. Extracting secret data (credit cards, cryptographic keys) through side-channels is not new and has challenged the cryptographic community for decades. Despite this, the industry has often been complacent in our response, viewing these attacks as impacting a tiny amount of code and being nearly impossible to weaponize. But speculative execution attack techniques have fundamentally altered the ease and applicability of side-channels, making them a serious threat to computer security. Responding to these issues has impacted CPU design, compiler design, library design, sandbox techniques and even the C++ programming language and standard. This talk will explain how these kinds of attacks work at a high level and provide a clear set of terminology to describe these classes of vulnerabilities and attacks. It will show how the different variants work at the low level of modern hardware to give a detailed and precise understanding of the mechanics involved on CPUs today. It will also provide guidance about what makes applications and services vulnerable and how to analyze your software to understand the degree of its exposure. It will include an overview of the numerous different mitigation techniques available, how to deploy them, and what tradeoffs come with them. Some of these mitigations will be covered in detail: how they work at a hardware level, where they don't work, and what attack vectors remain. Finally, the talk will show how traditional side-channel risks are made substantially easier to exploit due to speculative execution. This will cover how cryptographic and other libraries dealing in high-value secrets need to be adapted to correctly defend against these attacks. Further, it will introduce general problems of sandboxing untrusted code from secret data and the current best techniques in those circumstances. This talk will be accessible to most C and C++ programmers. No deep background on CPUs, assembly, hardware instructions, Spectre, side-channels, or security is needed. — Chandler Carruth, Google Software Engineer Chandler Carruth leads the Clang team at Google, building better diagnostics, tools, and more. Previously, he worked on several pieces of Google’s distributed build system. He makes guest appearances helping to maintain a few core C++ libraries across Google’s codebase, and is active in the LLVM and Clang open source communities. He received his M.S. and B.S. in Computer Science from Wake Forest University, but disavows all knowledge of the contents of his Master’s thesis. He is regularly found drinking Cherry Coke Zero in the daytime and pontificating over a single malt scotch in the evening. — Videos Filmed & Edited by Bash Films: http://www.BashFilms.com Work at Hudson River Trading (HRT): https://tinyurl.com/safxfctf --- Videos Filmed & Edited by Bash Films: http://www.BashFilms.com

CppCon 2018: “Closing Panel: Spectre”
▶︎

CppCon 2018: “Closing Panel: Spectre”

Zig 2026: No-AI Policy, $670K Foundation, Left GitHub & Why Zig Isn’t 1.0 - Andrew Kelley Explains
▶︎

Zig 2026: No-AI Policy, $670K Foundation, Left GitHub & Why Zig Isn’t 1.0 - Andrew Kelley Explains

We let AI buy a robot and a car, it does exactly what experts warned.
▶︎

We let AI buy a robot and a car, it does exactly what experts warned.

Every Level of Reverse Engineering Explained
▶︎

Every Level of Reverse Engineering Explained

CppCon 2018: Alan Talbot “Moving Faster: Everyday efficiency in modern C++”
▶︎

CppCon 2018: Alan Talbot “Moving Faster: Everyday efficiency in modern C++”

DEF CON 33 - Kill List: Hacking an Assassination Site on the Dark Web - Carl Miller, Chris Monteiro
▶︎

DEF CON 33 - Kill List: Hacking an Assassination Site on the Dark Web - Carl Miller, Chris Monteiro

China Just Built What Taiwan Couldn't
▶︎

China Just Built What Taiwan Couldn't

The Carbon Language: Road to 0.1 - Chandler Carruth - NDC TechTown 2024
▶︎

The Carbon Language: Road to 0.1 - Chandler Carruth - NDC TechTown 2024

A visual guide to Bayesian thinking
▶︎

A visual guide to Bayesian thinking

Turing Award Winner: Disagreeing with Google, Postgres, Future Problems | Mike Stonebraker
▶︎

Turing Award Winner: Disagreeing with Google, Postgres, Future Problems | Mike Stonebraker

Spectre & Meltdown - Computerphile
▶︎

Spectre & Meltdown - Computerphile

code::dive conference 2014 - Scott Meyers: Cpu Caches and Why You Care
▶︎

code::dive conference 2014 - Scott Meyers: Cpu Caches and Why You Care

C++Now 2019: Chandler Carruth “A clean and minimal map API”
▶︎

C++Now 2019: Chandler Carruth “A clean and minimal map API”

Andrew Kelley: A Practical Guide to Applying Data Oriented Design (DoD)
▶︎

Andrew Kelley: A Practical Guide to Applying Data Oriented Design (DoD)

If Prime Numbers Become Increasingly Rare, Then Why Do They Keep Showing Up In Pairs?
▶︎

If Prime Numbers Become Increasingly Rare, Then Why Do They Keep Showing Up In Pairs?

CppCon 2017: Matt Godbolt “What Has My Compiler Done for Me Lately? Unbolting the Compiler's Lid”
▶︎

CppCon 2017: Matt Godbolt “What Has My Compiler Done for Me Lately? Unbolting the Compiler's Lid”

A 28-year-old Steve Jobs gives a talk at the 1983 International Design Conference in Aspen
▶︎

A 28-year-old Steve Jobs gives a talk at the 1983 International Design Conference in Aspen

CppCon 2016: Chandler Carruth “Garbage In, Garbage Out: Arguing about Undefined Behavior..."
▶︎

CppCon 2016: Chandler Carruth “Garbage In, Garbage Out: Arguing about Undefined Behavior..."

Creator of C++: Bell Labs, Negative Overhead Abstraction, Mistakes | Bjarne Stroustrup
▶︎

Creator of C++: Bell Labs, Negative Overhead Abstraction, Mistakes | Bjarne Stroustrup

CppCon 2017: Chandler Carruth “Going Nowhere Faster”
▶︎

CppCon 2017: Chandler Carruth “Going Nowhere Faster”