bk99.de entertain the web since 1997

Hardwarefehler erzwingt teure Kernel-Schutzmaßnahmen

Zusammenfassung

Anfang Januar 2018 kursierten Gerüchte über einen Hardwarefehler in Prozessoren, gegen den die Kernel-Entwickler eilig teure Schutzmaßnahmen einbauten. Felix von Leitner hielt den Verlust von ASLR zunächst für verschmerzbar, weil ASLR nur die Ausnutzung von Lücken erschwert. Ein Nachtrag korrigierte: Offenbar konnten normale Programme Kernelspeicher auslesen, und das ist ernst.

Was hinter dem Gerücht steckte

Wenige Tage später wurden Meltdown und Spectre veröffentlicht. Meltdown nutzte aus, dass vor allem Intel-Prozessoren bei der spekulativen Ausführung Speicherinhalte des Kernels kurzzeitig verarbeiten, bevor die Rechteprüfung greift. Über Messungen am Cache ließen sich diese Inhalte dann auslesen, etwa Schlüssel oder Passwörter. AMD-Prozessoren waren von Meltdown nicht betroffen, von Spectre dagegen schon.

Die Abwehr hieß Kernel Page Table Isolation: Der Kernel wird bei jedem Wechsel aus dem Userspace aus dem Adressraum entfernt. Das kostet bei jedem Systemaufruf Zeit und trifft vor allem Netzwerkdienste, Datenbanken und Virtualisierung.

Die Rolle von ASLR

ASLR verteilt Programme und Kernel zufällig im Speicher, damit Angreifer nicht wissen, wo sie hinspringen müssen. Von Leitner hatte recht, dass ASLR keine Lücke verhindert, sondern nur die Ausnutzung erschwert, und dass Sandboxing mit seccomp oder W^X wichtiger sind. Der Fall zeigt aber auch, wie schnell sich die Bewertung ändern kann, wenn die Details bekannt werden.

Ideen

  • ASLR erschwert die Ausnutzung von Lücken, verhindert sie aber nicht.
  • Spekulative Ausführung kann Speicherinhalte über Cache-Messungen verraten.
  • Kernel Page Table Isolation trennt den Kernel bei jedem Wechsel aus dem Adressraum der Programme.

Einsichten

  • Hardwarefehler lassen sich in Software oft nur mit Leistungseinbußen umgehen.
  • Frühe Einschätzungen zu Gerüchten müssen revidiert werden, sobald Details vorliegen.

Fakten

  • Meltdown und Spectre wurden Anfang Januar 2018 veröffentlicht.
  • AMD-Prozessoren waren von Meltdown nicht betroffen.
  • Die Gegenmaßnahme im Linux-Kernel heißt Kernel Page Table Isolation.

Referenzen

Kritik

  • Die erste Einschätzung im Beitrag unterschätzte die Lücke; der Nachtrag korrigiert das offen.

Bemerkungen

  • Neuere Prozessoren beheben Meltdown in Hardware, sodass die teure Gegenmaßnahme dort entfällt.

Empfehlungen

  • Halte Microcode und Kernel aktuell, denn Schutz vor Prozessorlücken kommt über beide Wege.
  • Miss nach Sicherheitsupdates die Leistung systemaufruflastiger Dienste und plane Reserven ein.

Originalbeitrag lesen →

Im Webarchiv suchen