Lennart Poettering hat eine neue Architektur fĂŒr die verifiziertes Booten von Linux vorgeschlagen.

Lennart Poettering hat einen Vorschlag zur Modernisierung des Bootprozesses von Linux-Distributionen veröffentlicht, der darauf abzielt, bestehende Probleme zu lösen und die Organisation eines vollstĂ€ndigen, verifizierten Bootvorgangs zu vereinfachen, der die IntegritĂ€t des Kernels und der grundlegenden Systemumgebung bestĂ€tigt. Die erforderlichen Änderungen fĂŒr die Implementierung der neuen Architektur sind bereits in den Quellcode von systemd integriert und betreffen Komponenten wie systemd-stub, systemd-measure, systemd-cryptenroll, systemd-cryptsetup, systemd-pcrphase und systemd-creds.

Die vorgeschlagenen Änderungen zielen darauf ab, ein einheitliches, universelles UKI-Format (Unified Kernel Image) zu schaffen, das das Linux-Kernel-Image, einen Bootloader fĂŒr den Kernel aus UEFI (UEFI Boot Stub) und das in den Speicher geladene Initrd-Systemumfeld kombiniert, das fĂŒr die initiale Initialisierung vor dem Mounten des Root-Dateisystems verwendet wird. Anstelle des RAM-Disk-Images Initrd kann im UKI auch das gesamte System verpackt werden, was die Erstellung vollstĂ€ndig verifizierter Systemumgebungen ermöglicht, die in den Arbeitsspeicher geladen werden. Das UKI-Image wird in Form einer ausfĂŒhrbaren Datei im PE-Format bereitgestellt, die nicht nur mit traditionellen Bootloadern geladen, sondern auch direkt aus der UEFI-Firmware aufgerufen werden kann.

Die Möglichkeit, aus UEFI aufgerufen zu werden, ermöglicht die ÜberprĂŒfung der IntegritĂ€t und AuthentizitĂ€t durch digitale Signaturen, die nicht nur den Kernel, sondern auch den Inhalt von Initrd abdecken. Gleichzeitig ermöglicht die UnterstĂŒtzung des Aufrufs durch traditionelle Bootloader, Funktionen wie die Bereitstellung mehrerer Kernel-Versionen und das automatische ZurĂŒckrollen auf den stabilen Kernel im Falle von Problemen mit dem neuen Kernel nach der Aktualisierung zu bewahren.

Derzeit wird in den meisten Linux-Distributionen im Initialisierungsprozess eine Kette verwendet: „Firmware → vom Microsoft-Schutzschild signierte Firmware → vom Distribution signierte GRUB-Bootloader → vom Distribution signierter Linux-Kernel → unsignierte Initrd-Umgebung → Root-FS“. Das Fehlen einer ÜberprĂŒfung von Initrd in traditionellen Distributionen fĂŒhrt zu Sicherheitsproblemen, da in dieser Umgebung unter anderem SchlĂŒssel zur EntschlĂŒsselung des Root-FS extrahiert werden.

Die Verifizierung des initrd-Images wird nicht unterstĂŒtzt, da diese Datei auf dem lokalen System des Benutzers erstellt wird und nicht mit der digitalen Signatur des Distributors signiert werden kann. Dies erschwert die ÜberprĂŒfung im SecureBoot-Modus erheblich (um initrd zu signieren, muss der Benutzer seine eigenen SchlĂŒssel generieren und in die UEFI-Firmware hochladen). DarĂŒber hinaus erlaubt die derzeitige Boot-Organisation nicht, Informationen aus den TPM PCR-Registren (Platform Configuration Register) zu verwenden, um die IntegritĂ€t der Benutzerdatenkomponenten, abgesehen von shim, grub und dem Kernel, zu kontrollieren. Zu den bestehenden Problemen gehört auch die KomplexitĂ€t des Upgrades des Bootloaders und das Fehlen der Möglichkeit, den Zugriff auf SchlĂŒssel im TPM fĂŒr veraltete Betriebssystemversionen einzuschrĂ€nken, die nach einem Upgrade nicht mehr relevant sind.

Die Hauptziele der EinfĂŒhrung einer neuen Boot-Architektur:

  • Bereitstellung eines vollstĂ€ndig verifizierten Bootprozesses, der alle Phasen von der Firmware bis zum Benutzerraum abdeckt und die AuthentizitĂ€t sowie IntegritĂ€t der geladenen Komponenten bestĂ€tigt.
  • Bindung der kontrollierten Ressourcen an die TPM PCR-Register mit einer Trennung nach EigentĂŒmern.
  • Möglichkeit zur Vorabkalkulation der PCR-Werte basierend auf den verwendeten Kernel-, Initrd-, Konfigurations- und Systemidentifikatoren.
  • Schutz vor Rollback-Angriffen, die durch das ZurĂŒckkehren zu einer frĂŒheren verwundbaren Systemversion verursacht werden.
  • Vereinfachung und Steigerung der ZuverlĂ€ssigkeit von Updates.
  • UnterstĂŒtzung von OS-Updates, die keine erneute Anwendung oder lokale Vorbereitung von durch TPM geschĂŒtzten Ressourcen erfordern.
  • Bereitschaft des Systems zur DurchfĂŒhrung einer Remote-Zertifizierung zur BestĂ€tigung der Korrektheit des geladenen OS und der Einstellungen.
  • Möglichkeit, vertrauliche Daten bestimmten Phasen des Bootvorgangs zuzuordnen, z. B. das Extrahieren von VerschlĂŒsselungsschlĂŒsseln aus dem TPM fĂŒr das Root-Dateisystem.
  • Bereitstellung eines sicheren, automatischen und benutzerunabhĂ€ngigen Prozesses zur Entsperrung von SchlĂŒsseln zur EntschlĂŒsselung des DatentrĂ€gers mit der Root-Partition.
  • Verwendung von Chips, die die TPM 2.0-Spezifikation unterstĂŒtzen, mit der Möglichkeit, auf Systeme ohne TPM zurĂŒckzugreifen.

Quelle: opennet.ru

Kaufen Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz, VPS VDS-Server đŸ”„ Kaufen Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster