Metode za onemogućavanje sigurnosti zaključavanja u Ubuntuu radi zaobilaženja UEFI sigurnog pokretanja na daljinu

Andrey Konovalov iz Googlea objavljen način daljinskog onemogućavanja zaštite zaključannudi se u paketu Linux kernela koji se isporučuje s Ubuntuom (teoretski predložene tehnike imati rade s jezgrom Fedore i drugih distribucija, ali nisu testirane).

Zaključavanje ograničava pristup korijenskog korisnika kernelu i blokira UEFI Secure Boot zaobilazne staze. Na primjer, u zaključanom načinu rada pristup /dev/mem, /dev/kmem, /dev/port, /proc/kcore, debugfs, kprobes način otklanjanja pogrešaka, mmiotrace, tracefs, BPF, PCMCIA CIS (Card Information Structure), neki sučelja je ograničena ACPI i MSR registri CPU-a, pozivi na kexec_file i kexec_load su blokirani, način mirovanja je zabranjen, upotreba DMA za PCI uređaje je ograničena, uvoz ACPI koda iz EFI varijabli je zabranjen, manipulacije s I/O portovima nisu dopušteno, uključujući promjenu broja prekida i I/O porta za serijski port.

Mehanizam zaključavanja nedavno je dodan u glavnu jezgru Linuxa 5.4, no u kernelima koji se isporučuju u distribucijama još uvijek je implementiran u obliku zakrpa ili nadopunjen zakrpama. Jedna od razlika između dodataka koji se nalaze u distribucijskim kompletima i implementacije ugrađene u kernel je mogućnost da onemogućite osigurano zaključavanje ako imate fizički pristup sustavu.

U Ubuntuu i Fedori, kombinacija tipki Alt+SysRq+X dostupna je za onemogućavanje zaključavanja. Podrazumijeva se da se kombinacija Alt+SysRq+X može koristiti samo uz fizički pristup uređaju, au slučaju daljinskog hakiranja i dobivanja root pristupa, napadač neće moći onemogućiti Lockdown i npr. učitati modul s rootkitom koji nije digitalno potpisan u kernelu.

Andrey Konovalov pokazao je da su metode potvrđivanja fizičke prisutnosti korisnika temeljene na tipkovnici neučinkovite. Najjednostavniji način da onemogućite Lockdown bio bi programski simulacija pritiskom na Alt+SysRq+X preko /dev/uinput, ali ova opcija je inicijalno blokirana. U isto vrijeme, bilo je moguće identificirati još najmanje dvije metode zamjene Alt+SysRq+X.

Prva metoda uključuje korištenje sučelja “sysrq-trigger” - da biste ga simulirali, samo omogućite ovo sučelje upisivanjem “1” u /proc/sys/kernel/sysrq, a zatim upišite “x” u /proc/sysrq-trigger. Said puškarnica eliminiran u prosinačkom ažuriranju jezgre Ubuntua iu Fedori 31. Važno je napomenuti da su programeri, kao u slučaju /dev/uinput, u početku pokušao blokirati ovu metodu, ali blokiranje nije uspjelo zbog Pogreške u kodu.

Druga metoda uključuje emulaciju tipkovnice putem USB/IP a zatim slanje niza Alt+SysRq+X s virtualne tipkovnice. USB/IP kernel koji se isporučuje s Ubuntuom omogućen je prema zadanim postavkama (CONFIG_USBIP_VHCI_HCD=m i CONFIG_USBIP_CORE=m) i pruža digitalno potpisane usbip_core i vhci_hcd module potrebne za rad. Napadač može stvoriti virtualni USB uređaj, pokrenut mrežni rukovatelj na sučelju povratne petlje i povezivanje kao udaljeni USB uređaj pomoću USB/IP-a. O navedenoj metodi prijavio programerima Ubuntua, ali popravak još nije objavljen.

Izvor: opennet.ru

Dodajte komentar