Original-URL des Artikels: https://www.golem.de/news/retpoline-linux-kernel-soll-besseren-spectre-schutz-bekommen-1901-138448.html    Veröffentlicht: 02.01.2019 10:24    Kurz-URL: https://glm.io/138448

Retpoline

Linux-Kernel soll besseren Spectre-Schutz bekommen

Die bisher im Linux-Kernel neben anderen Techniken als Spectre-Schutz eingesetzten Retpolines sollen schneller werden. Ermöglicht werden soll das mit ganz viel Assembler-Code, wobei aber auch alle indirekten Code-Branches gepatcht werden sollen, nicht nur ausgewählte.

Vor knapp einem Jahr sind die Sicherheitslücken Meltdown und Spectre bekanntgeworden. Während Patches gegen Meltdown vergleichsweise klar von der Linux-Kernel-Community umgesetzt werden konnten, gab es zunächst viele konkurrierende Ansätze gegen die Spectre-Variante 2. Eine dieser Varianten sind die sogenannten Retpolines, deren Idee nun anders umgesetzt und dadurch noch beschleunigt werden soll. Dazu hat der VMware-Entwickler Nadav Amit die zweite Serie seiner Patch-Serie auf der Mailingliste der Kernel-Hacker vorgestellt.

Die Patches von Amit hießen ursprünglich Relpoline, sind inzwischen aber in Optpoline umbenannt worden, um die Ähnlichkeit zu den Retpolines zu verringern. Der Vorteil dieser neuen Technik soll vor allem darin liegen, dass Entwickler ihren Code nicht wie bisher eigens für die Verwendung der Sicherheitspatches anpassen müssen. Bei den Optpolines werden die indirekten Funktionsaufrufe vielmehr ohne derartige Vorarbeiten automatisch optimiert.

Die dafür notwendige Vorgehensweise beschreibt Amit in der ersten Version seiner Patches als "Assembler-Makro-Magie". In der aktuellen Version werden die Modifizierungen am Code-Ablauf mit Hilfe eines GCC-Plugins realisiert. Das ermöglicht es der Kernel-Community, bestimmte eigene Bestandteile ihres Code von der Verwendung der Optpoline-Technik einfach auszunehmen.

Ersten eingeschränkten Tests zufolge beschleunigt die neue Technik den Code im Vergleich zu den Retpolines ein wenig, im besten Fall sogar um zehn Prozent. Darüber hinaus wird der Kernel sogar dann leicht beschleunigt, wenn die Retpolines nicht aktiv sind. Ob und inwiefern die Optpoline-Technik letztlich in den Hauptzweig des Kernels eingepflegt wird, ist derzeit noch unklar. So gibt es noch einige andere Ideen zum Beschleunigen des Spectre-Schutzes. Ebenso diskutieren die Beteiligten noch das konkrete weitere Vorgehen in Bezug auf die Optpolines.  (sg)


Verwandte Artikel:
Windows 10: Retpoline-Patch gegen Spectre verbessert CPU-Leistung   
(22.10.2018, https://glm.io/137253 )
Betriebssysteme: Linux 4.20 beschleunigt Dateizugriffe, verhindert Ausfälle   
(28.12.2018, https://glm.io/138423 )
Kernel: Security-Entwickler fühlt sich von Linux-Community zermalmt   
(24.10.2018, https://glm.io/137278 )
STIBP: Spectre-v2-Schutz wieder aus Stable-Kernel entfernt   
(23.11.2018, https://glm.io/137878 )
STIBP: Linux-Kernel-Entwickler mögen Spectre-v2-Schutz nicht   
(20.11.2018, https://glm.io/137808 )

© 1997–2019 Golem.de, https://www.golem.de/