IBRS und Retpoline: Linux-Entwickler diskutieren weiter über Spectre-Paches

Nach ausfälligen Kommentaren von Linux-Chefentwickler Linus Torvalds erklärt ein Amazon-Entwickler ausführlich den geplanten Verwendungszweck der verschiedenen Patches gegen den Spectre-Angriff. Einigkeit über das Vorgehen herrscht aber immer noch nicht.

Artikel veröffentlicht am , Kristian Kißling/Linux Magazin
Wie weiter mit den Spectre-Pachtes? Die Kernel-Community ist sich da noch uneins.
Wie weiter mit den Spectre-Pachtes? Die Kernel-Community ist sich da noch uneins. (Bild: Liam Quinn, flickr.com/CC-BY-SA 2.0)

Nachdem sich Linux-Erfinder und -Chefentwickler Linus Torvalds über die derzeit verfügbaren Patches gegen eine Variante des Spectre-Angriffs aufgeregt hat, erklärt der ehemalige Intel-Entwickler und nun bei Amazon angestellte Kernel-Hacker David Woodhouse, was die drei neuen Funktionen bewirken, die über Microcode-Updates bereitgestellt werden, und wo die Alternative Retpoline genutzt werden kann.

Inhalt:
  1. IBRS und Retpoline: Linux-Entwickler diskutieren weiter über Spectre-Paches
  2. Retpoline für bessere Geschwindigkeit

Mit den Microcode-Updates sei wohl niemand wirklich glücklich, stellt Woodhouse zunächst fest, sie seien aber für aktuelle Hardware die einzige Möglichkeit, da man hier lediglich nachträgliche Änderungen am Microcode vornehmen könne. Also sei man auf diese Möglichkeiten beschränkt.

Die Funktionen sind alle dazu gedacht, das Ausnutzen der Spectre-2-Lücke (Branch Target Injection, CVE-2017-5715) zu verhindern. Über diese lässt sich die CPU dazu bewegen, das Ziel einer indirekten Codeausführung zu verfälschen, um so Zugriff auf privilegierten Speicher zu erhalten.

Drei Microcode-Funktionen

Funktion Nummer eins nennt sich Indirect Branch Prediction Barrier (IBPB). Die Barriere soll im Zuge von Kontextwechseln verhindern, dass der Prozessor bereits bekannte Branch Targets verwendet. Die Funktion ist laut Woodhouse recht CPU-intensiv und benötigt rund 4.000 CPU-Zyklen.

Stellenmarkt
  1. Senior Softwareentwickler Java (m/w/d)
    ayonik gmbh, Essen
  2. Systems Engineer (m/w/d) Betriebsführung
    Bausparkasse Schwäbisch Hall AG, Schwäbisch Hall
Detailsuche

Eine zweite Funktion trägt den Namen Single Thread Indirect Branch Predictors (STIBP). Sie hält Zwillingsthreads beim Hyperthreading davon ab, den Branch-Vorhersagen des anderen Zwillings zu folgen. Sinnvoll sei die Funktion, wenn unzusammenhängende Prozesse im Userspace laufen. Oder wenn verschiedene VM-Gäste beim Hyperthreading Zwillingsprozesse verwenden.

Die dritte Funktion ist etwas komplexer. Die Indirect Branch Restricted Speculation (IBRS) wird gesetzt, sobald die CPU in einen privilegierten Modus fällt. In diesem Fall sorgt der Code dafür, dass die CPU die in einem weniger privilegierten Modus erlernten Ziele für den Codezweig vergisst.

Speziell gegen IBRS richtete sich auch die Kritik von Linus Torvalds. Woodhouse räumt ein, dass IBRS bei jedem Eintritt in den Kernelspace gesetzt werden müsse, was es nicht nur teuer mache, sondern zugleich ein "mieser Hack" sei. Woodhouse hält ihn allerdings für alternativlos.

Da die CPU trotz IBRS nicht zwischen verschiedenen Userspace-Prozessen und Gast-VMs entscheiden könne, bräuchte man auch die IBP-Barriere für Kontextwechsel und Wechsel beim Beenden und Speichern einer Gast-VM (vmexit). Während die VMs laufen, benötige man zudem eventuell STIBP. Alles zusammen wirke sich recht negativ auf die Performance aus.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
Retpoline für bessere Geschwindigkeit 
  1. 1
  2. 2
  3.  


nille02 25. Jan 2018

AMD ist nicht mal im Ansatz so wie Intel betroffen, auch wenn Intel gerne ihren Dreck...

Icestorm 25. Jan 2018

Um die Gefahr durch gemeinsam genutzten Adressraum grundsätzlich zu beheben (wer wei...

GodFuture 25. Jan 2018

Herr Gruß: Aufmerksamkeit auf "Kaiser" schürte den Verdacht auf Sicherheitslücke. Haben...

nille02 24. Jan 2018

Nur stellt sich Intel hin und behauptet das Kind wäre schon immer im Brunnen und die...

short reader 24. Jan 2018

Spring falls but not a CPU. So gesehen stimme ich LT zu, denn um in einen "privilegierten...



Aktuell auf der Startseite von Golem.de
Kickstarter
Die Pibox ist ein Mini-NAS mit Raspberry Pi

Auf Basis des Raspberry Pi CM 4 entsteht die Pibox. Mittels Carrier-Platinen können daran zwei 2,5-Zoll-Laufwerke angeschlossen werden.

Kickstarter: Die Pibox ist ein Mini-NAS mit Raspberry Pi
Artikel
  1. Amazon, Apple, Google: Die EU macht ernst mit der Plattformregulierung
    Amazon, Apple, Google
    Die EU macht ernst mit der Plattformregulierung

    Die stärkere Regulierung von großen IT-Plattformen rückt näher. Die EU-Mitgliedstaaten unterstützen weitgehend die Pläne der EU-Kommission.
    Ein Bericht von Friedhelm Greis

  2. S9U fürs Homeoffice: Samsung stellt 49-Zoll-Ultrawide-Monitor mit KVM-Switch vor
    S9U fürs Homeoffice
    Samsung stellt 49-Zoll-Ultrawide-Monitor mit KVM-Switch vor

    Der S9U ist Samsungs neuer 32:9-Bildschirm. Er integriert USB-C mit 90 Watt Power Delivery und einen KVM-Switch. Das Panel schafft 120 Hz.

  3. .Net, Games, Displayport: Gute und kostenlose PC-Spiele bei Amazon Prime
    .Net, Games, Displayport
    Gute und kostenlose PC-Spiele bei Amazon Prime

    Sonst noch was? Was am 28. Oktober 2021 neben den großen Meldungen sonst noch passiert ist, in aller Kürze.

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 • WD Black SN750 1TB 89,90€ • Acer 27" FHD 165Hz 191,59€ • PS5 Digital + 2. Dualsense + 100€-Amazon-Gutschein mit o2-Vertrag sofort lieferbar • Switch OLED + Metroid Dread 399€ • Kingston 1TB PCIe 69,90€ • GTA Trilogy Definitive 59,99€ • Alternate (u. a. Apacer 960GB SATA 82,90€) [Werbung]
    •  /