Linus Torvalds Im kommenden Release des Linux-Kernels 5.4 wird ein Patch-Set "«, entwickelt von David Howells (arbeitet bei Red Hat) und Matthew Garrett (, arbeitet bei Google) zur EinschrÀnkung des Zugriffs des Root-Benutzers auf den Kernel. Die mit "lockdown" verbundene FunktionalitÀt wird in ein optional ladbares LSM-Modul () ausgelagert, das eine Barriere zwischen UID 0 und dem Kernel setzt und bestimmte Low-Level-Funktionen einschrÀnkt.
Wenn ein Angreifer durch einen Angriff die AusfĂŒhrung von Code mit Root-Rechten erlangt, kann er seinen Code auch auf Kernel-Ebene ausfĂŒhren, zum Beispiel durch den Austausch des Kernels mit kexec oder durch das Lesen/Schreiben von Speicher ĂŒber /dev/kmem. Die offensichtlichste Folge einer solchen AktivitĂ€t könnte sein, dass des UEFI Secure Boot oder die Extraktion vertraulicher Daten, die auf Kernel-Ebene gespeichert sind.
UrsprĂŒnglich wurden die Funktionen zur EinschrĂ€nkung von Root im Kontext der Verbesserung der Sicherheit der verifiziertem Boot entwickelt, und Distributionen verwenden seit langem externe Patches, um die Umgehung des UEFI Secure Boot zu blockieren. Diese EinschrĂ€nkungen wurden jedoch nicht in den Hauptkern aufgenommen aufgrund von In ihrer Umsetzung und den Bedenken ĂŒber die BeeintrĂ€chtigung bestehender Systeme fasst das Modul âlockdownâ bereits in Distributionen verwendete Patches zusammen, 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 MSR-Register der CPU eingeschrĂ€nkt, kexec_file und kexec_load-Aufrufe werden blockiert, der Ăbergang in den Schlafmodus ist verboten, die Verwendung von DMA fĂŒr PCI-GerĂ€te wird limitiert, und das Importieren von ACPI-Code aus EFI-Variablen ist nicht zulĂ€ssig.
Manipulationen mit Ein-/Ausgabe-Ports sind nicht erlaubt, einschlieĂlich der Ănderung der Interruptnummer und des Ein-/Ausgabe-Ports fĂŒr den seriellen Port.
StandardmĂ€Ăig ist das Lockdown-Modul nicht aktiv. Es wird erstellt, wenn in kconfig die Option SECURITY_LOCKDOWN_LSM angegeben wird, und aktiviert sich ĂŒber den Kernel-Parameter âlockdown=â, die Steuerdatei â/sys/kernel/security/lockdownâ oder die Build-Optionen. , die Werte wie âIntegritĂ€tâ und âVertraulichkeitâ annehmen können. Im ersten Fall werden die Möglichkeiten blockiert, die es ermöglichen, Ănderungen am laufenden Kernel aus dem Benutzerspeicher vorzunehmen; im zweiten Fall wird zusĂ€tzlich die FunktionalitĂ€t deaktiviert, die zum Abrufen vertraulicher Informationen aus dem Kernel genutzt werden kann.
Es ist wichtig zu beachten, dass der Lockdown nur die standardmĂ€Ăigen Zugriffsmöglichkeiten auf den Kernel einschrĂ€nkt, jedoch nicht vor Modifikationen schĂŒtzt, die durch die Ausnutzung von Schwachstellen entstehen. Um Ănderungen am laufenden Kernel bei der Anwendung von Exploits zu verhindern, hat das Projekt Openwall ein separates Modul (Linux Kernel Runtime Guard) angenommen.
Quelle: opennet.ru
