Vor gut 7 Jahren habe ich begonnen, komplexe IT-Phänomene für Nicht-Techies zu erklären zu versuchen.

Der Anlass damals war das Bekanntwerden der Prozessor-Sicherheitslücken #Spectre und #Meltdown. Damit konnte ein Angreifer Speicher (und die darin verborgenen Geheimnisse) auslesen, ohne die notwendigen Rechte zu besitzen.

Dazu musste *der Prozessor selbst*(!) ausgetrickst werden. Eine kleine Revolution!
🧵
#MeltdownUndSpectre
https://marcel-waldvogel.ch/2018/01/15/meltdown-und-spectre-lesen-ohne-zu-lesen/

Meltdown und Spectre: Lesen ohne zu lesen

Die durch Meltdown und Spectre ausgenutzten Sicherheitslücken sind zur Zeit in aller Munde. Und werden uns noch lange beschäftigen. Denn die Schwachstellen sind tief in den heutigen superschnellen Prozessoren verwurzelt. Sie erlauben es einer Schadsoftware, Daten zu lesen, ohne dass ein Befehl zum L

Marcel Waldvogel

Um die aktuellen hohen CPU-Geschwindigkeiten zu erreichen, bearbeitet der Prozessor mehrere Befehle quasi gleichzeitig (überlappend in einer Pipeline). Wenn ein Sprungbefehl nötig ist um eine Entscheidung zu treffen oder mit einer Schleife mehrere Dinge zu verarbeiten, müssen diese ganzen angefangenen Befehle weggeworfen werden und neue gesammelt werden.

Das verlangsamt die Verarbeitung massiv. Deshalb "rät" der Prozessor so gut es geht und beginnt "schon mal" spekulativ
https://marcel-waldvogel.ch/2018/01/15/meltdown-und-spectre-lesen-ohne-zu-lesen/

Meltdown und Spectre: Lesen ohne zu lesen

Die durch Meltdown und Spectre ausgenutzten Sicherheitslücken sind zur Zeit in aller Munde. Und werden uns noch lange beschäftigen. Denn die Schwachstellen sind tief in den heutigen superschnellen Prozessoren verwurzelt. Sie erlauben es einer Schadsoftware, Daten zu lesen, ohne dass ein Befehl zum L

Marcel Waldvogel

Das kann schief gehen. Und das Aufräumen der fälschlich angefangenen Arbeiten ist nicht perfekt (Cache). Die CPU-Hersteller versuchen diese Lücken einzudämmen.

Nun haben Forscher der #ETH einen neuen Weg gefunden: Einige dieser "Branch Prediction"-Informationen werden vom Prozessor erst verzögert eingetragen.

Wenn genau in dieser Zeit in ein anderes Schutzniveau gewechselt wird, wird die Information falsch zugeordnet und kann missbraucht werden
#ETHZ #ETHZürich #Spectre
https://comsec.ethz.ch/research/microarch/branch-privilege-injection/

Branch Privilege Injection: Exploiting Branch Predictor Race Conditions – Computer Security Group