Intel & AMD: Neue Sicherheitslücken in Prozessoren - SGX betroffen

Aktuelle CPUs von Intel und AMD haben Schwachstellen, über die fremde Daten ausgelesen werden können.

Eine Analyse von Johannes Hiltscher veröffentlicht am
Neu entdeckte Schwachstellen in Prozessoren ermöglichen es, Crypto-Schlüssel zu klauen.
Neu entdeckte Schwachstellen in Prozessoren ermöglichen es, Crypto-Schlüssel zu klauen. (Bild: Cory Doctorow (Flickr)/CC-BY-SA 2.0)

Update: Intel und AMD haben Anleitungen zum Umgang mit Æpicleak und Squip veröffentlicht.

Inhalt:
  1. Intel & AMD: Neue Sicherheitslücken in Prozessoren - SGX betroffen
  2. Squip: Der CPU-Scheduler verrät Daten

Wer dachte, nach Spectre und Meltdown hätten die CPU-Hersteller ihre Lektionen gelernt, wird eines Besseren belehrt: Auch aktuelle Prozessoren von AMD und Intel enthalten Schwachstellen, die Angreifer nutzen können, um Daten auszuleiten. Gefunden haben sie zwei Forschergruppen um Daniel Gruss von der TU Graz, der bereits im Kontext von Spectre und Meltdown aktiv war.

Die erste Lücke - genauer gesagt ein Designfehler - betrifft Intels CPUs und wurde von ihren Entdeckern Æpicleak getauft ( CVE-2022-21233, Paper (PDF)). Bei der zweiten handelt es sich um einen Seitenkanalangriff, der über Simultanes Multi-Threading (SMT) ausgenutzt werden kann (CVE-2021- 46778, Paper (PDF)). Er betrifft AMDs CPUs mit Zen-2- und Zen-3-Architektur, die ursächliche Schwachstelle findet sich allerdings auch in Apples M1. Hier haben sich die Entdecker den Namen Squip ausgedacht - was der bedeutet, klären wir später.

Die Lücke Æpicleak ist bei weitem die brisantere von beiden. Sie betrifft alle auf Intels Sunny-Cove-Architektur basierenden Prozessoren, also Ice Lake, Alder Lake und Ice Lake SP (Xeon). Mit ihr können Daten aus SGX-Enklaven ausgeleitet werden. Dadurch werden diese als Sicherheitsmechanismus endgültig unbrauchbar.

Der Interrupt-Controller verrät Daten

Stellenmarkt
  1. Senior Solution Architect Azure (m/w/d)
    operational services GmbH & Co. KG, Hamburg, Frankfurt am Main, München
  2. IT-Lizenzmanager:in/IT-Vertr- agsmanager:in (m/w/d)
    Hochschule RheinMain, Wiesbaden
Detailsuche

Der Auslöser für Æpicleak dürfte eher Programmierern bekannt sein: Alte Daten werden nicht überschrieben und können so von anderen gelesen werden. Schuldig ist der Interrupt-Controller (APIC), dessen Register in den Adressraum des Prozessors eingeblendet werden. Dadurch können sie gelesen und geschrieben werden wie normaler Speicher, was als Memory Mapped IO (MMIO) bezeichnet wird.

Die Register des APIC sind regelmäßig angeordnet: Jeweils 4 Byte befinden sich an einer 16-Byte-Grenze, dazwischen sind 12 Byte frei. Was passiert, wenn hier gelesen oder geschrieben wird, ist laut Intel undefiniert. Bei den betroffenen Prozessoren kommen beim Lesen Daten zurück, die zuvor zwischen L2- und L3-Cache verschoben wurden. Zugriffe erfolgen hier als Cache-Line mit 64 Byte Größe.

Die Forscher vermuten, dass beim Zugriff auf den APIC die sogenannte Super Queue, eine Warteschlange für den L3-Zugriff, für die Rückgabe der Registerinhalte genutzt wird. Allerdings scheint der APIC nur dort Daten zu schreiben, wo seine Register liegen - an den anderen Stellen bleibt der alte Inhalt erhalten.

Schüttel die Enklave, und es fallen Schlüssel raus

Zum Angriff auf SGX wird das, da ein Angreifer die Enklave zum Auslagern ihrer Speicherseiten zwingen kann - sofern er Administratorrechte hat, was aber, so die Forscher, beim Angriff auf SGX-Enklaven eine übliche Annahme sei. Sie bezeichnen das als "SGX Shaking". Es können sogar Daten ausgelesen werden, die sich aktuell in Prozessorregistern befinden. Möglich wird das, da eine Enklave beispielsweise bei einem Interrupt alle internen Daten im Speicher sichert und die Arbeit einstellt. Sie muss dann explizit wieder aktiviert werden.

Apropos Speicher: Der sollte bei einer SGX-Enklave eigentlich verschlüsselt sein. Die Verschlüsselung erfolgt aber erst, wenn die Daten die CPU verlassen. Innerhalb der Cache-Hierarchie sind sie unverschlüsselt, und da greift Æpicleak sie ab. Eine Hürde mussten die Forscher noch nehmen: Zwar lässt sich das Auslagern einer Speicherseite der Enklave erzwingen - welche das ist, entscheidet aber der Prozessor. Doch der lässt sich mit einer Technik namens "Zero Freezing" so manipulieren, dass er eine bestimmte Speicherseite auslagert.

Hacking & Security: Das umfassende Handbuch. 2. aktualisierte Auflage des IT-Standardwerks (Deutsch) Gebundene Ausgabe

Angreifer muss mit Einschränkungen leben

Ganz unbeschwert ist der Weg eines Angreifers allerdings nicht, Æpicleak hat einige Einschränkungen. So können, wie oben erwähnt, von jeweils 16 Bytes nur 12 ausgelesen werden. Auch können nur Cache-Lines gelesen werden, die an einer 128-Byte-Grenze ausgerichtet sind - die "ungerade" ausgerichteten werden, so vermuten die Forscher, direkt in der Queue überschrieben. Ähnliches gilt für die Inhalte der Register - nicht alle lassen sich ausleiten. Ein wenig Brute Force bleibt erforderlich.

Trotz dieser Einschränkungen konnten die Forscher in Tests den größten Teil von AES-NI- und RSA-Schlüsseln aus einer SGX-Enklave ausleiten. Auch Intels Quoting-Enklave, die zur Identitätsprüfung verwendet wird, ist davor nicht sicher - Angreifer können dann Identitäten fälschen. Zero Freezing funktioniert zudem nur, wenn Hyperthreading aktiviert ist. Allerdings wird der Angriff mit deaktiviertem Hyperthreading lediglich ineffizienter, nicht unmöglich.

Wirksamen Schutz bieten das Abschalten von SGX oder die Einblendung der APIC-Register in den Speicherbereich zu verhindern. Daneben können die Speicherseiten der SGX-Enklave als nicht-cachebar markiert werden, was sie vor dem Angriff versteckt. Mittelfristig hoffen die Forscher auf ein Update des Microcodes für die betroffenen Prozessoren, langfristig auf eine korrekte Implementierung. Auch zwischen VMs funktioniert der Angriff nicht, da hier der Zugriff auf den APIC emuliert wird.

Kommen wir zur zweiten gefundenen Schwachstelle.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
Squip: Der CPU-Scheduler verrät Daten 
  1. 1
  2. 2
  3.  


Aktuell auf der Startseite von Golem.de
e.Go Life getestet
Abgesang auf ein schwer erfüllbares Versprechen

Der e.Go Life aus Aachen sollte Elektromobilität erschwinglich machen. Doch nach 1.500 ausgelieferten Exemplaren ist nun Schluss. Was nachvollziehbar ist.
Ein Bericht von Friedhelm Greis

e.Go Life getestet: Abgesang auf ein schwer erfüllbares Versprechen
Artikel
  1. Azure Firewall Basic: Microsoft verkauft günstigere Firewall für kleine Firmen
    Azure Firewall Basic
    Microsoft verkauft günstigere Firewall für kleine Firmen

    Die Azure Firewall Basic kann für weniger Geld gemietet werden und ist in andere Azure-Dienste integriert. Allerdings gibt es Abstriche.

  2. Lochstreifenleser selbst gebaut: Lochstreifen für das 21. Jahrhundert
    Lochstreifenleser selbst gebaut
    Lochstreifen für das 21. Jahrhundert

    Früher wurden Daten auf Lochstreifen gespeichert - lesen kann man sie heute nicht mehr so leicht. Es sei denn, man verwendet Jürgen Müllers Lesegerät auf Arduino-Basis.
    Von Tobias Költzsch

  3. Elektroauto: Hyundai Ioniq 6 soll 614 km pro Ladung fahren
    Elektroauto
    Hyundai Ioniq 6 soll 614 km pro Ladung fahren

    Beim Ioniq 6 zeigt sich wieder einmal, dass ein niedriger Luftwiderstandsbeiwert essentiell ist.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • PS5 jetzt bestellbar • MindStar (Gigabyte RTX 3090 Ti 1.099€, RTX 3070 539€) • Alternate (Team Group DDR4/DDR5-RAM u. SSD) • Günstig wie nie: MSI Curved 27" WQHD 165Hz 289€, Philips LED TV 55" Ambilight 549€, Inno3D RTX 3090 Ti 1.199€ • 3 Spiele für 49€ [Werbung]
    •  /