Methoden zum Deaktivieren der Lockdown-Sicherheit in Ubuntu, um UEFI Secure Boot aus der Ferne zu umgehen

Andrey Konovalov von Google опубликовал Möglichkeit, den Schutz aus der Ferne zu deaktivieren Situationwird im Linux-Kernelpaket angeboten, das mit Ubuntu geliefert wird (theoretisch vorgeschlagene Techniken). haben funktionieren mit dem Kernel von Fedora und anderen Distributionen, sind aber nicht getestet).

Lockdown schränkt den Root-Benutzerzugriff auf den Kernel ein und blockiert UEFI Secure Boot-Umgehungspfade. Zum Beispiel im Sperrmodus Zugriff auf /dev/mem, /dev/kmem, /dev/port, /proc/kcore, debugfs, kprobes Debugging-Modus, mmiotrace, Tracefs, BPF, PCMCIA CIS (Card Information Structure), einige Schnittstellen sind eingeschränkt, ACPI- und MSR-Register der CPU, Aufrufe von kexec_file und kexec_load sind blockiert, Schlafmodus ist verboten, DMA-Nutzung für PCI-Geräte ist eingeschränkt, Import von ACPI-Code aus EFI-Variablen ist verboten, Manipulationen mit I/O-Ports nicht erlaubt, einschließlich der Änderung der Interrupt-Nummer und des I/O-Ports für den seriellen Port.

Der Lockdown-Mechanismus wurde kürzlich zum Haupt-Linux-Kernel hinzugefügt 5.4, wird aber in den in Distributionen mitgelieferten Kerneln noch in Form von Patches implementiert oder durch Patches ergänzt. Einer der Unterschiede zwischen den in Distributionskits bereitgestellten Add-ons und der im Kernel integrierten Implementierung besteht in der Möglichkeit, die bereitgestellte Sperre zu deaktivieren, wenn Sie physischen Zugriff auf das System haben.

In Ubuntu und Fedora steht die Tastenkombination Alt+SysRq+X zum Deaktivieren von Lockdown zur Verfügung. Es versteht sich, dass die Kombination Alt + SysRq + Modul mit einem Rootkit, das nicht digital im Kernel signiert ist.

Andrey Konovalov zeigte, dass tastaturbasierte Methoden zur Bestätigung der physischen Anwesenheit des Benutzers unwirksam sind. Der einfachste Weg, Lockdown zu deaktivieren, wäre die programmgesteuerte Deaktivierung Simulation Drücken von Alt+SysRq+X über /dev/uinput, aber diese Option ist zunächst blockiert. Gleichzeitig konnten mindestens zwei weitere Substitutionsmethoden Alt+SysRq+X identifiziert werden.

Die erste Methode beinhaltet die Verwendung der „sysrq-trigger“-Schnittstelle – um dies zu simulieren, aktivieren Sie einfach diese Schnittstelle, indem Sie „1“ in /proc/sys/kernel/sysrq und dann „x“ in /proc/sysrq-trigger schreiben. Besagte Lücke eliminiert im Dezember-Ubuntu-Kernel-Update und in Fedora 31. Bemerkenswert ist, dass die Entwickler, wie im Fall von /dev/uinput, zunächst versuchte zu Blockieren Sie diese Methode, aber das Blockieren hat aufgrund von nicht funktioniert Fehler im Code.

Die zweite Methode beinhaltet die Tastaturemulation über USB/IP und dann die Sequenz Alt+SysRq+X über die virtuelle Tastatur senden. Der mit Ubuntu ausgelieferte USB/IP-Kernel ist standardmäßig aktiviert (CONFIG_USBIP_VHCI_HCD=m und CONFIG_USBIP_CORE=m) und stellt die für den Betrieb erforderlichen digital signierten Module usbip_core und vhci_hcd bereit. Der Angreifer kann создать virtuelles USB-Gerät, gestartet Netzwerkhandler auf der Loopback-Schnittstelle und Verbinden als Remote-USB-Gerät über USB/IP. Über die angegebene Methode gemeldet an Ubuntu-Entwickler, aber es wurde noch kein Fix veröffentlicht.

Source: opennet.ru

Kommentar hinzufügen