Zum Hauptinhalt Zur Navigation

UEFI: Kexec bereitet Secure Boot weiter Probleme

Mit Kexec lassen sich leicht laufende Kernel ersetzen und anschließend nutzen. Unter Verwendung von UEFI mit Secure Boot verursacht dies aber nach wie vor Sicherheitsprobleme, eventuell sogar für Windows.
/ Sebastian Grüner
15 Kommentare News folgen (öffnet im neuen Fenster)
Mit Kexec lässt sich Secure Boot immer noch umgehen. (Bild: Daniel Pook/Golem.de)
Mit Kexec lässt sich Secure Boot immer noch umgehen. Bild: Daniel Pook/Golem.de

Die UEFI-Funktion Secure Boot soll Rechner eigentlich sicherer machen, indem der Boot-Vorgang durch einen Schlüssel verifiziert und abgesichert wird. Nach anfänglichen Problemen mit Secure Boot unterstützen mittlerweile auch viele Linux-Systeme diese Technik. Doch die Kexec-Funktion, mit der einfach laufende Kernel durch andere ersetzt werden können, kann nach wie vor dazu verwendet werden, diesen Sicherheitsmechanismus zu unterlaufen, worauf Kernel-Entwickler Matthew Garrett erneut hinweist(öffnet im neuen Fenster) .

Kexec startet unsignierten Code

Bereits im Januar dieses Jahres machte Garrett auf die mit Kexec verbundenen Probleme im Zusammenhang mit Secure Boot aufmerksam. Zudem stellte der Entwickler Patches bereit, die die Ausführung von Kexec in einer Secure-Boot-Umgebung verhindern. Diese sind allerdings nicht im Hauptzweig des Linux-Kernels eingepflegt und werden nicht von allen Distributionen genutzt.

So kann also auf einem Linux-System, das die Secure-Boot-Kette einhält, dennoch jeder unsignierte Kernel samt Modulen ausgeführt werden, solange die Ausführung von Kexec erlaubt ist. Zwar habe es in der Vergangenheit einige Versuche gegeben, diese Situation zu verbessern, doch eine zufriedenstellende Lösung dazu gebe es bis jetzt noch nicht, schreibt Garrett.

Kexec könnte Windows-Secure-Boot umgehen

Außerdem weist Garrett auf die Möglichkeit hin, dass mit Kexec nicht nur der Linux-Kernel, sondern sämtlicher Code gestartet werden kann, vermutlich auch ein Windows-Kernel. Das sei wohl trotz einigem Aufwand technisch durchaus denkbar, schreibt Garrett.

Dies ermöglicht es theoretisch, einen Windows-Kernel zu starten, der scheinbar mit Secure Boot gestartet wurde, tatsächlich aber Treibersignaturen nicht überprüft und jedweden Code ausführen kann. Dafür brauche es nur einige wenige Programme, die zusammen wohl nicht viel mehr als 10 MByte Speicher belegen und somit auf der EFI-System-Partition abgelegt werden könnten, um den Windows-Bootloader zu ersetzen.

Um derartige Szenarien zu verhindern, gibt es laut Garrett nach wie vor nur die Möglichkeit, das Laden von Kexec zu unterbinden, wie dies etwa beim Fedora-Projekt geschieht.


Relevante Themen