Speculative execution side-channel attacks: Exploring cause, impact and mitigations

Master-Studiengang Information Security

Dipl.-Ing. Julian Rauchberger, BSc

Betreuer: FH-Prof. Dipl.-Ing. Dr. Sebastian Schrittwieser, Bakk.

Ausgangslage

Anfang 2018 wurde durch die Veröffentlichung der Sicherheitslücken Meltdown und Spectre neues Bewusstsein für die weitreichenden Folgen von hardwarebasierten Angriffsvektoren geschaffen. Durch die Entdeckung dieser Schwachstellen wurde eine neue Kategorie von Angriffen geschaffen. Die sogenannten Speculative Execution Side-Channel Attacks nutzen Schwächen im Design moderner CPUs aus, die überwiegend auf Grund von Performanceoptimierungen entstanden sind. Damit ist es einem/einer AngreiferIn möglich, eine Vielzahl an bisher für unüberwindbar gehaltene Sicherheitsbarrieren zu überwinden und unbefugten Lesezugriff auf geschützte Speicherbereiche zu erhalten. 

Ziel

Diese Arbeit hat als Ziel, die Ursachen, Auswirkungen und Gegenmaßnahmen dieser neuartigen Kategorie von Schwachstellen verständlich zu erklären. Dazu werden bestehende Angriffe sowie jene Komponenten der Hardware, die an Out-of-order Execution beteiligt sind, analysiert, um daraus die grundlegenden Ursachen der Sicherheitslücken abzuleiten. Weiters wird undokumentiertes Verhalten von CPUs analysiert, um die Grundlage für die Erforschung neuer Angriffsvektoren zu schaffen. 

Ergebnis

Speculative Execution Side-Channel Attacks stellen eine interessante neue sicherheitstechnische Herausforderung dar. Ihre komplette Behebung ist oft nicht möglich und ihre potentiellen Auswirkungen sind schwer abzuschätzen. Im Zuge der Arbeit wurden Meltdown und aktuell bekannte Varianten von Spectre durchleuchtet und im Detail erklärt. Daraus wurden drei grundlegende Ursachen für das Auftreten dieser Sicherheitslücken abgeleitet. Verschiedene neuartige Angriffsflächen wurden evaluiert und basierend auf dem darunterliegenden Hardwaredesign erforscht. Es wurde eine neuartige Methode, die es erlaubt spekulative Lesezugriffe zur Erkennung von Rootkits zu nutzen, entwickelt und getestet. Schlussendlich wurden drei mögliche Änderungen am Hardwaredesign zur Schließung der Sicherheitslücken erarbeitet, analysiert und eine Kombination aus zweien empfohlen, um in Zukunft bestmöglichen Schutz bei möglichst geringen Performanceeinbußen zu ermöglichen.