Andrej Konovalov Softwarový inženýr Google, představila metodu pro vzdálené vypnutí ochrany před uzamčení nabízené v linuxovém jádře dodávaném v Ubuntu. S níž ukazuje, že metody ochrany jsou neúčinné, plus také zmiňuje, že metody, které teoreticky zveřejnil, by měly fungovat také s jádrem Fedory a dalšími distribucemi (ale nebyly testovány).
Pro ty, kteří nevědí o uzamčení, měli by vědět, že je to součást linuxového jádra Jeho hlavní funkcí je omezit přístup uživatele root v jádře systému a tato funkce byl přesunut do modulu LSM volitelně načten (Linux Security Module), který vytváří bariéru mezi UID 0 a jádrem, což omezuje určité funkce nízké úrovně.
To umožňuje, aby funkce uzamčení byla spíše založená na zásadách než pevném kódování implicitní politiky v rámci mechanismu, zámek zahrnutý v modulu zabezpečení Linux poskytuje implementaci s jednoduchou zásadou určené pro všeobecné použití. Tato zásada poskytuje úroveň granularity, kterou lze ovládat pomocí příkazového řádku jádra.
O uzamčení
Zámek omezuje přístup root k jádru a blokuje cesty bypassu zabezpečeného bootování UEFI.
Například v uzamčeném režimu jsou mimo jiné přístup k / dev / mem, / dev / kmem, / dev / port, / proc / kcore, debugfs, debug mode kprobes, mmiotrace, tracefs, BPF, PCMCIA CIS, omezené, stejně jako registry ACPI a MSR CPU.
Zatímco jsou volání kexec_file a kexec_load blokována, režim spánku je zakázán, použití DMA pro zařízení PCI je omezeno, je zakázán import kódu ACPI z proměnných EFI a manipulace se vstupními / výstupními porty, včetně změny čísla přerušení a I / O port pro sériový port.
Jak někteří možná vědí, mechanismus lockdown byl přidán do linuxového jádra 5.4, ale stále je implementován ve formě oprav nebo doplněn opravami na jádrech dodávaných s distribucemi.
Zde je jedním z rozdílů mezi pluginy poskytovanými v distribucích a implementací vloženého jádra schopnost deaktivovat zámek, který je k dispozici, pokud existuje fyzický přístup k systému.
Ubuntu a Fedora používají kombinaci kláves Alt + SysRq + X deaktivovat zámek. Rozumí se, že kombinace Alt + SysRq + X lze jej použít pouze s fyzickým přístupem k zařízení a v případě vzdáleného útoku a přístupu root nebude útočník schopen zámek deaktivovat.
Uzamčení lze deaktivovat na dálku
Andrei Konovalov to dokázal metody související s klávesnicí pro potvrzení fyzické přítomnosti uživatele jsou neúčinné.
On popsáno, že nejjednodušší způsob, jak deaktivovat zámek, je simulovat lis Alt + SysRq + X přes / dev / uinput, ale tato možnost je zpočátku blokována.
Ale alespoň dva další způsoby nahrazení Alt + SysRq + X.
- První metoda zahrnuje použití rozhraní sysrq-trigger: pro simulaci stačí povolit toto rozhraní zadáním "1" do / proc / sys / kernel / sysrq a poté zadejte „x“ / proc / sysrq-trigger.
Tato mezera byla opravena v prosincové aktualizaci jádra Ubuntu a ve Fedoře 31. Je pozoruhodné, že vývojáři, jako v případě / dev / uinput, původně se snažili tuto metodu zablokovat, ale blokování nefungovalo kvůli chybě v kódu. - Druhým způsobem je emulace klávesnice přes USB / IP a následné odeslání sekvence Alt + SysRq + X z virtuální klávesnice.
V jádře je standardně povoleno USB / IP dodávané Ubuntu a moduly usbip_core y vhci_hcd nezbytné jsou opatřeny požadovaným digitálním podpisem.
Útočník může vytvořit virtuální zařízení USB spuštěním síťového ovladače na rozhraní zpětné smyčky a jeho připojením jako vzdáleného zařízení USB pomocí rozhraní USB / IP.
Uvedená metoda byla nahlášena vývojářům Ubuntu, ale dosud nebylo vydáno řešení.
zdroj: https://github.com