Squip: Der CPU-Scheduler verrät Daten

Die Schwachstelle in AMDs Prozessoren hat, im Gegensatz zu Æpicleak, keine Homepage. Hierbei handelt es sich um eine Schwachstelle im Design der Ausführungsplanung für die Out-of-Order-Ausführung von Befehlen. Jeder moderne Prozessor enthält die meistgenutzten Einheiten, die ALU (Arithmetic Logic Unit) und AGU (Adress Generation Unit), in mehrfacher Ausführung. Die auszuführenden Programmbefehle zerlegen die Prozessoren in interne, sogenannte Mikrobefehle (μ-Ops).

Stellenmarkt
  1. (Junior) IT Business Partner / Demand Manager - Sales Units (m/w/d)
    Jungheinrich AG, Hamburg
  2. Projektleiter (w/m/d) im Bereich Breitbandinfrastruktur
    RBS wave GmbH, Stuttgart, Ettlingen
Detailsuche

Die μ-Ops werden von den einzelnen Funktionseinheiten abgearbeitet. Um die Auslastung der Einheiten zu steigern, können sie von einem sogenannten μ-Op-Scheduler umsortiert werden. Das ermöglicht es, Befehle früher auszuführen als sie im Programm auftauchen - vorausgesetzt, sie hängen nicht von den Ergebnissen vorhergehender Befehle ab, und alle benötigten Daten sind vorhanden. Bei AMDs Zen-2- und -3-Architektur sowie Apples M1 und M2 hat jede ALU ihren eigenen μ-Op-Scheduler. Darüber hinaus kann nicht jede ALU alles, multiplizieren kann bei AMD beispielsweise nur eine.

Und genau dort liegt die Schwachstelle: Ein Angreifer kann durch das Verwenden entsprechender Befehle gezielt einen Scheduler belasten. Läuft auf demselben Prozessorkern mittels SMT ein weiterer Prozess, konkurrieren beide um die Nutzung der ALU. Dadurch benötigt der Angreifer für die Ausführung einer festen Menge an Befehlen länger, nachfolgende Befehle im Programm werden verzögert.

Verzögerung ist messbar

Über die Messung der Ausführungsdauer einer Befehlssequenz kann ein Angreifer Schlüsse ziehen, was eine andere, mittels SMT auf demselben Kern ausgeführte Anwendung tut. Daher auch der Name, Squip steht für Scheduler Queue Usage via Interference Probing. Das Messen der Ausführungsdauer funktioniert auch, wenn Angreifer und Opfer in getrennten virtuellen Maschinen (VMs) laufen. Zuerst überprüften die Forscher dies, indem sie zwischen den beiden Prozessen indirekt Daten übertrugen. Dazu führte der Sendeprozess entweder eine lange Sequenz von Wartebefehlen (Nop) oder Multiplikationen aus.

Golem Karrierewelt
  1. CEH Certified Ethical Hacker v12: virtueller Fünf-Tage-Workshop
    14.-18.11.2022, Virtuell
  2. IPv6 Grundlagen: virtueller Zwei-Tage-Workshop
    19./20.12.2022, virtuell
Weitere IT-Trainings

Mit Squip lassen sich aber nicht nur willentlich indirekt Daten übertragen. Ist ein passendes Opfer ausgemacht, können auch beispielsweise Crypto-Schlüssel ausgelesen werden. Das konnten die Forscher anhand einer RSA-Signatur zeigen: Einen von mbedTLS genutzten, 4096 Bit langen Schlüssel konnten sie mit wenigen Bitfehlern ausleiten. Dabei machten sie sich eine Schwachstelle der Implementierung zunutze: Ein 0-Bit im Schlüssel führt zu einer anderen Code-Sequenz als ein 1-Bit. Die unterschiedlichen Sequenzen werden als unterschiedlich starke Auslastung der Integer-Multiplikationseinheit des Prozessorkerns sichtbar.

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

Ausleitung dauert etwa 40 Minuten

Indem der Angreifer kontinuierlich die Auslastung der Multiplikationseinheit misst, erkennt er, welche Sequenz von Bits verarbeitet wird. Dabei treten wenige Bit-Fehler auf - sind Opfer und Angreifer nicht durch eine VM getrennt, sind es im Mittel fünf, mit VM hingegen 18, da hier die Messungen weniger zuverlässig sind. Damit der Angriff funktioniert, müssen Opfer und Angreifer, wie bereits erwähnt, mittels SMT auf demselben Prozessorkern ausgeführt werden. Außerdem muss der Angreifer den Signaturprozess auslösen können und ihn oft beobachten - 50.500 Mal lösten die Forscher ihn aus.

Auch kann der Angriff leicht verhindert werden: Die einfachste Möglichkeit ist, SMT zu deaktivieren oder die Platzierung von zwei VMs auf einem physischen Kern zu verbieten. Auf Programmebene lässt er sich durch Vermeiden asymmetrischer Code-Pfade verhindern. Auch für zukünftige Implementierungen von μ-Op-Schedulern geben die Forscher Tipps. Eine Möglichkeit ist, wie Intel auf einen zentralen Scheduler zu setzen, eine andere die Funktionseinheiten gleich zu gestalten. Das würde dem Angreifer das gezielte Beobachten unmöglich machen.

Getestet haben die Forscher den Angriff auf einem Ryzen 7 3700X sowie einem Ryzen 7 5700X und einem Epyc 7443. Apples ARM-Prozessoren sind übrigens, trotz gleichen Scheduler-Deseigns, nicht betroffen, da sie kein SMT unterstützen. Beide Lücken sind aufgrund des recht hohen Aufwands in erster Linie für Unternehmen relevant.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
 Intel & AMD: Neue Sicherheitslücken in Prozessoren - SGX betroffen
  1.  
  2. 1
  3. 2


Aktuell auf der Startseite von Golem.de
Cloudgaming
Google Stadia scheiterte nur an sich selbst

Die Technik war nicht das Problem von Alphabets ambitioniertem Cloudgaming-Dienst. Das Problem liegt bei Google. Ein Nachruf.
Eine Analyse von Daniel Ziegener

Cloudgaming: Google Stadia scheiterte nur an sich selbst
Artikel
  1. Tiktok-Video: Witz über große Brüste kostet Apple-Manager den Job
    Tiktok-Video
    Witz über große Brüste kostet Apple-Manager den Job

    Er befummle von Berufs wegen großbrüstige Frauen, hatte ein Apple Vice President bei Tiktok gewitzelt. Das kostete ihn den Job.

  2. Copilot, Java, RISC-V, Javascript, Tor: KI macht produktiver und Rust gewinnt wichtige Unterstützer
    Copilot, Java, RISC-V, Javascript, Tor
    KI macht produktiver und Rust gewinnt wichtige Unterstützer

    Dev-Update Die Diskussion um die kommerzielle Verwertbarkeit von Open Source erreicht Akka und Apache Flink, OpenAI macht Spracherkennung, Facebook hilft Javascript-Enwicklern und Rust wird immer siegreicher.
    Von Sebastian Grüner

  3. Elektromobilität: Superschnelles Laden mit zwölf Megawatt
    Elektromobilität
    Superschnelles Laden mit zwölf Megawatt

    Das Unternehmen Paxos hat ein Hochleistungsladegerät mit Spezialstecker entwickelt. Der Industrie genügt eine weit geringere Leistung, aber autonome Fahrzeuge könnten das ändern.

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 • LG OLED TV 2022 65" 120 Hz 1.799€ • ASRock Mainboard f. Ryzen 7000 319€ • MindStar (G.Skill DDR5-6000 32GB 299€, Mega Fastro SSD 2TB 135€) • Alternate (G.Skill DDR5-6000 32GB 219,90€) • Xbox Series S + FIFA 23 259€ • PCGH-Ratgeber-PC 3000€ Radeon Edition 2.500€ [Werbung]
    •  /