Spectre: Wenn Prozessoren beim Raten Geheimnisse verraten
Ein Designfehler in Prozessoren von Intel, AMD und Arm ließ Programme fremden Speicher lesen. Wie er wirkt, was die Fixes kosten und was jetzt zu tun ist.

Sofortmaßnahmen
- Installiere alle Updates für dein Betriebssystem und deinen Browser: Sie enthalten den Schutz gegen Spectre.
- Installiere Prozessor-Updates (Mikrocode), sobald dein Betriebssystem oder der Hersteller deines Geräts sie anbietet.
- Lass die Schutzmaßnahmen eingeschaltet; Linux aktiviert sie auf anfälligen Prozessoren standardmäßig.
- Jahr
- 2018
- CVSS-3.1-Wert
- 5,6 mittel
- Windows-Editionen brauchten Patches; für 41 gab es sie sechs Tage nach der Veröffentlichung
- 45
- Leistungsverlust mit allen Meltdown- und Spectre-Fixes in den von Red Hat getesteten Anwendungen, mit Retpoline
- 1–8 %
- Reichweite erfüllt
Die Lücke steckt in Prozessoren von Intel, AMD und Arm, die in Milliarden von Geräten arbeiten, vom Smartphone bis zum Cloud-Server (Spectre-Studie und Website der Forscher, 2018).
- Massenausnutzung nicht erfüllt
Kein echter Angriff ist bestätigt, und keine der beiden Spectre-CVEs steht auf der CISA-Liste ausgenutzter Schwachstellen (NVD, Oktober 2026).
- Schaden nicht erfüllt
Schäden durch Angriffe sind nicht dokumentiert; die Kosten lagen in den Fixes, die manche Systeme langsamer machten.
- Außergewöhnliche Reaktion erfüllt
Fixes von Prozessorherstellern, für Betriebssysteme, Compiler und Browser zugleich, mit Windows-Patches für 41 von 45 Editionen binnen sechs Tagen (Microsoft, 9. Januar 2018).
| Betroffen | Prozessoren von Intel, AMD und Arm, in Milliarden von Geräten |
|---|---|
| CVE | CVE-2017-5753, CVE-2017-5715 |
| CVSS-Vektor | CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:N/A:N |
| Schwachstellentyp (CWE) | CWE-203 |
| Behoben in | Kein einzelner Fix: Updates für Betriebssysteme, Browser, Compiler und Prozessor-Mikrocode, ab dem 3. Januar 2018 |
| Gefunden von | Google Project Zero und, unabhängig davon, Forscher von Universitäten und Unternehmen |
- 1Dem Hersteller gemeldet
- 2Sechs Tage früher als geplant veröffentlicht, zusammen mit den ersten Updates+216 Tage
- 3Der ursprünglich geplante Termin; Windows-Patches für 41 von 45 Editionen verfügbar+222 Tage
Am 3. Januar 2018 machten Google Project Zero und, unabhängig davon, Forscher mehrerer Universitäten und Unternehmen eine Schwachstelle im Design moderner Prozessoren öffentlich. Die Lücke namens Spectre erlaubt es einem Programm, den Prozessor so zu täuschen, dass er Speicher preisgibt, den das Programm nie lesen dürfte, etwa Daten des Betriebssystems oder anderer Programme. Die betroffenen Prozessoren von Intel, AMD und Arm stecken in Milliarden von Geräten, und laut Google war die Lücke schon seit fast 20 Jahren in den meisten Computern vorhanden.
Spectre ist kein Fehler in einem einzelnen Produkt, den ein einziges Update beseitigt. Die Lücke liegt in der Arbeitsweise der Prozessoren, deshalb mussten die Fixes von vielen Seiten zugleich kommen.
So funktionierte der Angriff
Um schnell zu sein, wartet ein moderner Prozessor nicht ab, bis er weiß, welchen Weg ein Programm als Nächstes nimmt. Er rät und arbeitet schon voraus. Das nennt man spekulative Ausführung. War die Vermutung falsch, verwirft der Prozessor die Ergebnisse. Er hinterlässt aber Spuren in seinem Cache, einem kleinen, schnellen Speicher, der kürzlich genutzte Daten griffbereit hält.
Spectre gibt es in zwei Varianten. Die erste missbraucht eine Prüfung, die sorgfältige Programme vornehmen: Bevor sie Eintrag Nummer x einer Liste lesen, prüfen sie, ob x innerhalb der Liste liegt. Der Angreifer trainiert den Prozessor zuerst darauf, zu erwarten, dass die Prüfung gelingt. Dann fragt er nach einem Eintrag weit außerhalb der Liste. Während die Prüfung noch läuft, rät der Prozessor, liest ein geheimes Byte hinter dem Ende der Liste und lädt damit ein Stück Speicher in den Cache. Das Ergebnis wird verworfen. Doch der Angreifer misst, wie schnell verschiedene Speicherstellen antworten, erkennt, welche geladen wurde, und schließt daraus auf das geheime Byte.
Bei der zweiten Variante trainiert der Angreifer die Vermutungen des Prozessors über Sprünge in einem anderen Programm, etwa im Betriebssystem oder in einem Hypervisor, der Software, die in einer Cloud die virtuellen Maschinen betreibt. Das Opfer führt dann kurz Codestücke aus, die der Angreifer ausgewählt hat und die auf dieselbe Weise Daten verraten.
- Programm des Angreiferstrainiert die Vermutungen des Prozessors
- Prozessorrät falsch und liest vorab ein geheimes Byte
- Cachebehält eine Spur des Bytes
- Zeitmessungschneller und langsamer Speicher verraten das Byte
Das Programm des Angreifers muss bereits auf demselben Gerät laufen, der Angriff ist schwer durchzuführen, und er kann Daten lesen, aber nicht verändern. Deshalb bewertet die US-amerikanische National Vulnerability Database Spectre nur mit 5,6 von 10. Trotzdem funktionierte der Angriff in den Tests von Google. Mit normalen Benutzerrechten las er den Speicher des Kernels, des Kerns des Betriebssystems, mit etwa 2.000 Byte pro Sekunde. Aus einer virtuellen Maschine heraus las er den Kernel-Speicher des Host-Rechners mit etwa 1.500 Byte pro Sekunde.
Reichweite und Kosten der Fixes
Laut den Forschern ist fast jedes System betroffen: Desktop-PCs, Laptops, Cloud-Server und Smartphones. Die Testangriffe von Google Project Zero liefen auf Prozessoren aller drei Hersteller: einem Intel Xeon, zwei AMD-Prozessoren und dem Arm-Prozessor eines Nexus-5X-Smartphones.
Wurde Spectre schon für echte Angriffe genutzt? Die Antwort der Forscher: „Wir wissen es nicht.“ Kein Angriff ist bestätigt, und keine der beiden Spectre-CVEs steht auf der Liste ausgenutzter Schwachstellen, die die US-Behörde CISA führt. Im Februar 2021 wurde ein funktionierender Exploit für Linux und Windows, also ein Programm, das den Angriff ausführt, bei VirusTotal hochgeladen, einem Dienst, der Dateien auf Schadsoftware prüft; das berichtete ein Sicherheitsforscher. Das ist ein fertiges Werkzeug, kein beobachteter Angriff.
Bezahlt wurde Spectre mit Geschwindigkeit. Manche Fixes hindern Prozessoren daran, bei bestimmten Sprüngen zu raten, oder lassen sie ihre Vermutungen öfter löschen, und das kostet Zeit. Die meisten veröffentlichten Messungen erfassen die Fixes für Spectre und für Meltdown zusammen, eine verwandte Prozessorlücke, die gemeinsam mit Spectre öffentlich wurde.
| Transaktionsdatenbanken, erste Fixes | 19 % | |
|---|---|---|
| Transaktionsdatenbanken, mit Retpoline | 8 % | |
| Datenanalyse und Java, erste Fixes | 7 % | |
| Datenanalyse und Java, mit Retpoline | 5 % | |
| Reine Rechenlast, erste Fixes | 5 % | |
| Reine Rechenlast, mit Retpoline | 2 % |
Red Hat, jeweils das obere Ende der gemessenen Spanne, für den Meltdown-Fix und beide Spectre-Varianten zusammen. Retpoline, unten erklärt, senkte die Kosten. Stand: März 2019.
Microsoft maß auf Windows-10-PCs mit Prozessoren ab etwa 2016 Leistungsverluste im einstelligen Prozentbereich. Ältere PCs und Windows Server wurden stärker gebremst, vor allem, wenn sie viele Daten lasen und schrieben. Google berichtete, es habe seine Fixes in der ganzen Cloud eingespielt, ohne dass Kunden es bemerkten: Dazu sei keine einzige Support-Anfrage eingegangen.
Die Fixes: viele kleine Reparaturen
Google Project Zero meldete die Sicherheitslücke am 1. Juni 2017 an Intel, AMD und Arm. Eine gemeinsame Veröffentlichung war für den 9. Januar 2018 geplant, doch Google ging sechs Tage früher an die Öffentlichkeit, weil bereits Berichte erschienen waren. Laut Google hatten alle seine Cloud-Dienste bis Dezember 2017 Schutz gegen alle bekannten Varianten.
Die Fixes kamen ab dem 3. Januar 2018 von mehreren Seiten: Updates für Betriebssysteme und Browser, neue Techniken in Compilern, den Werkzeugen, die Quellcode in Programme übersetzen, und Mikrocode-Updates, die das eingebaute Steuerprogramm des Prozessors ändern. Microsoft veröffentlichte seine ersten Updates am 3. Januar. Sechs Tage später gab es über Windows Update Patches für 41 der 45 Windows-Editionen, die Microsoft damals unterstützte.
| Variante | Was der Angreifer ausnutzt | Wichtigste Gegenmaßnahmen |
|---|---|---|
| 1, Umgehung der Grenzprüfung | die Vermutung, dass eine Prüfung an einer Liste gelingt | Barrieren oder Maskierung im Programmcode und damit neu übersetzte Programme |
| 2, Einschleusen von Sprungzielen | die Vermutungen über Sprünge in anderen Programmen | Retpoline in der Software oder neue Prozessorsteuerungen per Mikrocode |
Retpoline schreibt Sprünge in einem Programm so um, dass die Vermutungen des Prozessors in einer harmlosen Schleife enden. Laut Google schützt die Technik vollständig vor der zweiten Variante, ohne die Leistung für die Kunden zu beeinträchtigen, und der Linux-Kernel schaltet sie auf anfälligen Prozessoren standardmäßig ein. Neuere Prozessoren haben eine Hardwarefunktion namens Enhanced IBRS, die das Raten bei Sprüngen begrenzt; die Kernel-Dokumentation beschreibt sie als effizienter als Retpoline.
Quellen
- Google Project Zero: Auslesen von geschütztem Speicher über einen Seitenkanal projectzero.google
- Google Security Blog: die Prozessor-Schwachstelle und was du wissen musst security.googleblog.com
- Google Cloud: Schutz vor den neuen Schwachstellen ohne Leistungseinbußen cloud.google.com
- Website der Forscher zu Meltdown und Spectre, mit FAQ spectreattack.com
- Die Spectre-Studie (arXiv, Januar 2018) arxiv.org
- NVD: CVE-2017-5753 nvd.nist.gov
- Microsoft: Leistungseinbußen durch die Spectre- und Meltdown-Fixes unter Windows microsoft.com
- Red Hat: Leistungseinbußen durch die Meltdown- und Spectre-Fixes access.redhat.com
- Dokumentation des Linux-Kernels zu Spectre docs.kernel.org
- Ein Sicherheitsforscher über einen funktionierenden Spectre-Exploit auf VirusTotal (2021) dustri.org
Weiterlesen: MeltdownZurück: ProxyLogonÜbersicht: Schwachstellen