Andrej Konovalov z firmy Google metóda vzdialeného vypnutia ochrany , ponúkanej v balíku s jadrom Linux, dodávaným v Ubuntu (teoreticky navrhnuté metódy fungovať s jadrom Fedora a inými distribúciami, ale neboli testované).
Lockdown obmedzuje prístup používateľa root k jadru a blokuje cesty obídenia UEFI Secure Boot. Napríklad v režime lockdown je obmedzený prístup k /dev/mem, /dev/kmem, /dev/port, /proc/kcore, debugfs, režimu ladenia kprobes, mmiotrace, tracefs, BPF, PCMCIA CIS (Card Information Structure), niektorým ACPI rozhraním a MSR registrami CPU, sú blokované volania kexec_file a kexec_load, zakazuje sa prechod do režimu spánku, obmedzuje sa používanie DMA pre PCI zariadenia, zakazuje sa import ACPI kódu z EFI premenných, nie sú povolené manipulácie s vstupno/výstupnými portami, vrátane zmeny čísla prerušenia a vstupno/výstupného portu pre sériový port.
Mechanizmus Lockdown bol nedávno pridaný do hlavnej súčasti jadra Linux , ale v dodávaných distribúciách jadier je stále realizovaný vo forme patchov alebo doplnený patchmi. Jedným z rozdielov poskytnutých v distribúciách nadstavieb od zabudovanej v jadre implementácie je možnosť vypnutia poskytovanej blokácie pri fyzickom prístupe k systému.
V Ubuntu a Fedore je na vypnutie Lockdown predpísaná kombinácia kláves Alt+SysRq+X. Předpokládá se, že kombináciu Alt+SysRq+X je možné použiť iba pri fyzickom prístupe k zariadeniu, a v prípade vzdialeného hacku a získania prístupových práv root útočník nemôže vypnúť Lockdown a napríklad načítať do jadra nezaznamenaný digitálne podpísaný modul s rootkitom.
Andrej Konovalov ukázal, že metódy potvrdzovania fyzickej prítomnosti používateľa súvisiace s používaním klávesnice sú neefektívne. Najjednoduchší spôsob vypnutia Lockdown by bol softvérový stlačenia Alt+SysRq+X cez /dev/uinput, ale táto možnosť je pôvodne zablokovaná. Napriek tomu sa podarilo identifikovať aspoň ďalšie dva spôsoby substitúcie Alt+SysRq+X.
Prvý spôsob sa týka použitia rozhrania „sysrq-trigger“ — na simuláciu stačí povoliť toto rozhranie, zapísať „1“ do /proc/sys/kernel/sysrq, a potom zapísať „x“ do /proc/sysrq-trigger. Uvedená diera bola v decembrovom aktualizácii jadra Ubuntu a vo Fedore 31. Zaujímavé je, že vývojári, ako v prípade /dev/uinput, pôvodne zablokovať túto metódu, ale blokovanie nefungovalo kvôli kódu.
Druhý spôsob je spojený s emuláciou klávesnice cez a následným odoslaním sekvencie Alt+SysRq+X z virtuálnej klávesnice. V dodávanom jadre Ubuntu je USB/IP predvolene povolené (CONFIG_USBIP_VHCI_HCD=m a CONFIG_USBIP_CORE=m) a sú poskytnuté potrebné certifikované digitálne moduly usbip_core a vhci_hcd. Útočník môže virtuálne USB zariadenie, sieťového spracovateľa na loopback rozhraní a pripojením ho ako vzdialené USB zariadenie pomocou USB/IP. O tejto metóde vývojárom Ubuntu, ale oprava zatiaľ nebola vydaná.
Zdroj: opennet.ru
