Seit Linux 5.18 gibt es im Mainline-Kernel Indirect Branch Tracking (IBT), das von Intel als Teil seiner Control-Flow Enforcement Technology (CET) beigesteuert wurde. Für Linux 6.4 haben Intel-Ingenieure versucht, die Shadow Stack-Unterstützung als anderen Teil von CET zu integrieren, aber Probleme wurden in letzter Minute aufgedeckt. Hoffentlich wird die Shadow Stack-Unterstützung für den v6.5-Zyklus zusammengeführt, aber über diese Host-Unterstützung hinaus haben Intel-Ingenieure auch an der CET-Virtualisierung gearbeitet, um diese Sicherheitsfunktionen für die Verwendung in virtuellen Maschinen zu ermöglichen.

Heute findet die dritte Iteration der Patches von Intel für die CET-Virtualisierung statt, um diese CPU-Hardwarefunktionen – die es seit Intel Tiger Lake-Prozessoren gibt – zu nutzen, um Kontrollfluss-Subversionsangriffe im ROP/JOP-Stil innerhalb von VMs abzuwehren.

Mit den aktuellen Patches funktioniert die Control-Flow-Enforcement-Technologie für Benutzer-Shadow Stack und Indirect Branch Tracking sowie Unterstützung für Kernel Indirect Branch Tracking. An der Unterstützung für den Shadow Stack des Intel CET-Supervisors muss in Zukunft noch gearbeitet werden.

Neben der Notwendigkeit dieses ausstehenden Codes sowie des Shadow Stack-Codes, der ab Version 6.4 noch nicht Mainline ist, sind auch einige ausstehende QEMU-Patches für diese CET-Virtualisierung erforderlich. Wer sich für die neuesten Kernel-Patches für diesen Zweck interessiert, findet sie über diesen LKML-Patch Serie. Die v3-Patches wurden auf Linux-Next umgestellt und enthalten mehrere Korrekturen gegenüber den vorherigen Patch-Iterationen.

Categories: IT Info