A Lockdown védelem letiltásának módszerei Ubuntu alatt a távoli UEFI Secure Boot megkerüléshez

Andrej Konovalov a Google-tól közzétett a védelem távoli letiltásának módja Lockdown, amely a Linux kernelhez kínált csomagban található, amely az Ubuntu-ban érkezik (elméletileg javasolt módszerek kell Fedora kernellel és más disztribúciókkal dolgozni, de ezek nincsenek letesztelve).

A Lockdown korlátozza a root felhasználó hozzáférését a kernelhez, és blokkolja az UEFI Secure Boot elkerülésének módjait. Például a lockdown üzemmódban a hozzáférés le van korlátozva a /dev/mem, /dev/kmem, /dev/port, /proc/kcore, debugfs, kprobes, mmiotrace, tracefs, BPF, PCMCIA CIS (Kártya Információs Struktúra), néhány ACPI interfész és CPU MSR-regiszterekhez, blokkolják a kexec_file és kexec_load hívásokat, megtiltják az alvó üzemmódba való váltást, korlátozzák a DMA használatát PCI-eszközöknél, megtiltják az ACPI kód EFI változókból való importálását, nem engedélyezik a portok bemeneti/kimeneti manipulációját, beleértve a megszakítási szám és a soros port bemeneti/kimeneti port számának megváltoztatását.

A Lockdown mechanizmus nemrégiben került be a Linux kernel fő összetevőibe 5.4, de a disztribúciók kerneleiben továbbra is javított vagy patch-elt formában áll rendelkezésre. Az egyik különbség a disztribúciókban kínált kiterjesztések és a kernelbe beépített megvalósítás között az, hogy a blokkolás letiltható, ha fizikai hozzáférés áll rendelkezésre a rendszerhez.

Az Ubuntu és Fedora rendszerekben a Lockdown letiltásához az Alt+SysRq+X billentyűkombinációt lehet használni. Feltételezhető, hogy az Alt+SysRq+X kombinációt csak fizikai hozzáferés esetén lehet használni, és távoli behatolás esetén, ha a támadó root hozzáférést nyer, nem tudja letiltani a Lockdownot, és például nem tud nem aláírt digitális aláírással ellátott modult betölteni a kernelbe rootkittel.

Andrej Konovalov megmutatta, hogy a billentyűzet használatával kapcsolatos módszerek nem hatékonyak a felhasználó fizikai jelenlétének megerősítésére. A Lockdown letiltásának legegyszerűbb módja a szoftveres szimuláció az Alt+SysRq+X lenyomásának emulálására a /dev/uinput-on keresztül, de ez a lehetőség eredetileg blokkolva van. Ugyanakkor legalább még két módszert sikerült felfedezni az Alt+SysRq+X beillesztésére.

Az első módszer a „sysrq-trigger” interfész használatával kapcsolatos — a szimulációhoz elegendő ennek az interfésznek a bekapcsolása, amennyiben „1”-et írunk a /proc/sys/kernel/sysrq fájlba, majd „x”-et a /proc/sysrq-trigger fájlba. Az említett kiskaput eliminates az Ubuntu kernel decemberi frissítésében és a Fedora 31-ben található. Érdekes, hogy a fejlesztők, mint a /dev/uinput esetében, eredetileg próbálkoztak blokkolja ezt a módszert, de a blokkolás nem működött a következők miatt hiba a kódban.

A második módszer a billentyűzet emulálásával kapcsolatos, USB/IP majd az Alt+SysRq+X sorozat virtuális billentyűzetről való elküldésével. Az Ubuntu-szállítmányban az USB/IP alapértelmezés szerint engedélyezve van (CONFIG_USBIP_VHCI_HCD=m és CONFIG_USBIP_CORE=m), és szükséges, a digitális aláírás által hitelesített usbip_core és vhci_hcd modulok biztosítva vannak. A támadó képes lehet létrehozni virtuális USB-eszköz létrehozására, elindítva a hálózati kezelőt a loopback interfészen, és csatlakoztatva azt távoli USB-eszközként USB/IP segítségével. A megadott módszerről jelentettek az Ubuntu fejlesztőinek, de a javítás még nem került kiadásra.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster