Linus Torvalds Die zukĂŒnftige Version des Linux-Kernels 5.4 enthĂ€lt das Patch-Set â«, David Howells (arbeitet bei Red Hat) und Matthew Garrett (, arbeitet bei Google) zur EinschrĂ€nkung des Zugriffs des Benutzers root auf den Kernel. Die damit verbundene âLockdownâ-FunktionalitĂ€t wurde in ein optional ladbares LSM-Modul () ausgelagert, das eine Barriere zwischen UID 0 und dem Kernel schafft und bestimmte niedrigstufige Funktionen einschrĂ€nkt.
Wenn ein Angreifer im Rahmen eines Angriffs die AusfĂŒhrung von Code mit Root-Rechten erreicht hat, kann er seinen Code auch auf Kernel-Ebene ausfĂŒhren, zum Beispiel durch den Austausch des Kernels mit kexec oder durch Lesen/Schreiben von Speicher ĂŒber /dev/kmem. Eine der offensichtlichsten Folgen solcher AktivitĂ€ten könnte sein, von UEFI Secure Boot oder das Extrahieren sensibler Daten, die auf Kernel-Ebene gespeichert sind.
UrsprĂŒnglich wurden die Funktionen zur EinschrĂ€nkung von Root im Kontext der Verbesserung des Schutzes durch verifiziertes Booten entwickelt, und Distributionen verwenden bereits seit einiger Zeit externe Patches, um die Umgehung von UEFI Secure Boot zu blockieren. Diese EinschrĂ€nkungen wurden jedoch nicht in den Hauptkernel aufgenommen, da in ihrer Implementierung und Bedenken hinsichtlich der Störung bestehender Systeme bestanden. Das âLockdownâ-Modul bĂŒndelt bereits in Distributionen verwendete Patches, die in Form eines separaten Subsystems ĂŒberarbeitet wurden, das nicht an UEFI Secure Boot gebunden ist.
Im Lockdown-Modus wird der Zugriff auf /dev/mem, /dev/kmem, /dev/port, /proc/kcore, debugfs, den Debug-Modus von kprobes, mmiotrace, tracefs, BPF, PCMCIA CIS (Card Information Structure), einige ACPI-Schnittstellen und CPU-MSR-Register eingeschrĂ€nkt, die Aufrufe von kexec_file und kexec_load blockiert, der Ăbergang in den Ruhezustand verboten, die Verwendung von DMA fĂŒr PCI-GerĂ€te limitiert und der Import von ACPI-Code aus EFI-Variablen untersagt,
Manipulationen mit Ein- und Ausgabepunkten sind nicht erlaubt, einschlieĂlich der Ănderung der Interrupt-Nr. und des E/A-Ports fĂŒr serielle Ports.
StandardmĂ€Ăig ist das Lockdown-Modul nicht aktiviert, wird bei Angabe der OPTION SECURITY_LOCKDOWN_LSM in kconfig kompiliert und durch den Kernel-Parameter âlockdown=â, die Steuerdatei â/sys/kernel/security/lockdownâ oder Baueinstellungen aktiviert. , die die Werte âIntegritĂ€tâ und âVertraulichkeitâ annehmen können. Im ersten Fall werden Möglichkeiten blockiert, die Ănderungen am laufenden Kernel aus dem Benutzerspace ermöglichen, wĂ€hrend im zweiten Fall zusĂ€tzlich die FunktionalitĂ€t deaktiviert wird, die zum Extrahieren vertraulicher Informationen aus dem Kernel genutzt werden kann.
Es ist wichtig zu beachten, dass der Lockdown lediglich die regulĂ€ren Zugriffsrechte auf den Kernel einschrĂ€nkt, jedoch nicht vor Modifikationen durch die Ausnutzung von Schwachstellen schĂŒtzt. Um Ănderungen am laufenden Kernel durch den Einsatz von Exploits zu blockieren, hat das Projekt Openwall ein separates Modul (Linux Kernel Runtime Guard).
Quelle: opennet.ru
