Leck in Intel-Prozessoren: TLBleed-Lücke verrät geheime Schlüssel
Forscher nutzen Hyper-Threading und den Translation Lookaside Buffer (TLB) von Intel-Prozessoren, um geschützte Informationen per Seitenkanal abzuschöpfen.
Auf der Blackhat USA 2018 Anfang August stellt Ben Gras von der Vrije Universiteit Amsterdam die Sicherheitslücke TLBleed vor. Damit lassen sich bei Intel-Prozessoren mit Hyper-Threading vermeintlich geschützte Informationen aus einem Thread auslesen, der gemeinsam mit dem bösartigen Thread auf demselben CPU-Kern läuft. Die Forscher nutzen für diese Seitenkanalattacke die Eigenschaften des Translation Lookaside Buffers (TLB), einem Bestandteil des Caches.
Bei Experimenten mit Intel-Prozessoren verschiedener Generationen gelang die TLBleed-Attacke in mehr als 99 Prozent der Fälle. TLBleed könnte einer der Angriffe sein, wegen denen sich OpenBSD dazu entschieden hat, Hyper-Threading bei Intel-Prozessoren standardmäßig abzuschalten.
Intel wiegelt ab
Obwohl TLBleed eigentlich erst auf der Blackhat USA präsentiert werden soll, hat Ben Gras viele Details bereits der britischen Webseite The Register erklärt. Demmach wiegelt Intel allerdings ab: Kritische Code-Abschnitte könnten so geschrieben werden, dass TLBleed nicht funktioniert. Insbesondere wenn man Intels eigene kryptografische Primitives verwende, die kritische Abschnitte in jeweils konstanter Zeit ausführen, sei der Code vor TLBleed sicher. Daher wolle Intel, so Gras, den niederländischen Forschern auch nichts aus dem Bug-Bounty-Programm für den Nachweis von Seitenkanalattacken auszahlen. Mit den Spectre-Angriffen hat TLBleed auch nichts zu tun.
Nach den Informationen von The Register konnte das Team um Ben Gras in eigenen Experimenten jedenfalls einen geheimen 256-Bit-Schlüssel auslesen, während ein Thread eine Signatur mit dem Curve25519-EdDSA-Algorithmus aus der offenen Bibliothek libgcrypt berechnete. Der Angriff benötigte rund 17 Sekunden Zeit und arbeitet unter anderem mit KI-Funktionen. Zusätzlich muss Schadcode auch noch die zufällige Zuweisung von Speicheradressen (ASLR) aushebeln.
[Update:] Laut Gras soll etwa auch die RSA-Implementierung in libgcrypt für TLBleed anfällig sein. (ciw)