Andrej Konovalov von Google Möglichkeit zur Fernabschaltung des Schutzes , angeboten im Paket mit dem Linux-Kernel, der in Ubuntu bereitgestellt wird (theoretisch vorgeschlagene Methoden mit dem Fedora-Kernel und anderen Distributionen zu arbeiten, aber sie wurden nicht getestet).
Lockdown beschränkt den Zugriff des Root-Benutzers auf den Kernel und blockiert Ausweichpfade für UEFI Secure Boot. Zum Beispiel wird im Lockdown-Modus der Zugriff auf /dev/mem, /dev/kmem, /dev/port, /proc/kcore, debugfs, den Debug-Modus, 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, das Wechseln in den Ruhezustand ist untersagt, die Verwendung von DMA für PCI-Geräte wird eingeschränkt, der Import von ACPI-Code aus EFI-Variablen ist nicht zulässig, und Manipulationen an Eingangs-/Ausgangsporten, einschließlich der Änderung der Interruptnummer und des Eingangs-/Ausgangsports für den seriellen Port, sind nicht gestattet.
Der Lockdown-Mechanismus wurde kürzlich in den Hauptkern von Linux integriert. , aber in den in den Distributionen gelieferten Kernen wird es weiterhin in Form von Patches implementiert oder mit Patches ergänzt. Ein Unterschied zwischen den in den Distributionen bereitgestellten Erweiterungen und der im Kernel integrierten Implementierung ist die Möglichkeit, die bereitgestellte Sperre bei physischem Zugang zum System zu deaktivieren.
In Ubuntu und Fedora gibt es die Tastenkombination Alt+SysRq+X, um Lockdown zu deaktivieren. Es wird vorausgesetzt, dass die Kombination Alt+SysRq+X nur bei physischem Zugang zum Gerät verwendet werden kann, während ein Angreifer bei einem remote Hack und root-Zugriff nicht in der Lage ist, Lockdown zu deaktivieren und beispielsweise ein nicht signiertes Modul mit einem Rootkit in den Kernel zu laden.
Andrei Konovalov hat gezeigt, dass die mit der Tastatur verbundenen Methoden zur Bestätigung der physischen Anwesenheit des Benutzers ineffektiv sind. Der einfachste Weg, Lockdown zu deaktivieren, wäre eine softwarebasierte des Drückens von Alt+SysRq+X über /dev/uinput, aber diese Option ist ursprünglich blockiert. Dabei konnten mindestens zwei weitere Methoden zum Einsetzen von Alt+SysRq+X identifiziert werden.
Die erste Methode bezieht sich auf die Nutzung des „sysrq-trigger“-Interfaces – um dies zu simulieren, genügt es, dieses Interface zu aktivieren, indem man „1“ in /proc/sys/kernel/sysrq schreibt, und dann „x“ in /proc/sysrq-trigger. Diese Lücke wurde im Dezember-Update des Ubuntu-Kernels und in Fedora 31 entdeckt. Erwähnenswert ist, dass die Entwickler, ähnlich wie im Fall von /dev/uinput, ursprünglich diese Methode zu blockieren, aber die Blockade aufgrund von Fehlern im Code nicht funktioniert hat.
Die zweite Methode bezieht sich auf die Emulation von Tastaturen über und das anschließende Senden der Sequenz Alt+SysRq+X über eine virtuelle Tastatur. Im gelieferten Ubuntu-Kernel ist USB/IP standardmäßig aktiviert (CONFIG_USBIP_VHCI_HCD=m und CONFIG_USBIP_CORE=m) und es sind alle notwendigen, mit digitaler Signatur versehenen Module usbip_core und vhci_hcd bereitgestellt. Ein Angreifer kann ein virtuelles USB-Gerät, einen Netzwerk-Handler auf dem Loopback-Interface startet und ihn als entferntes USB-Gerät mittels USB/IP verbindet. Über diese Methode wurde den Ubuntu-Entwicklern, aber das Update wurde noch nicht veröffentlicht.
Quelle: opennet.ru
