Andrei Konovalov from Google viis kaitse kaugväljalülitamiseks , mida pakutakse koos Ubuntu tarnitava Linuxi tuumaga (teoreetiliselt peaksid pakutud meetodid toimima ka Fedora tuuma ja teiste distributsioonidega, kuid neid ei ole testitud).
Lockdown piirab root-kasutaja juurdepääsu tuumale ja blokeerib UEFI Secure Booti ümbersõiduteed. Näiteks on lockdown-režiimis piiratud juurdepääsule /dev/mem, /dev/kmem, /dev/port, /proc/kcore, debugfs-ile, kprobesi silumisrežiimile, mmiotrace'ile, tracefs-ile, BPF-ile, PCMCIA CIS-ile (Card Information Structure), mõnele ACPI liidesele ja CPU MSR-registritele, blokeeritakse kexec_file- ja kexec_load-kutsed, keelatakse unerežiimi minek, piiratakse DMA kasutamist PCI-seadmete jaoks, keelatakse ACPI-koodi import EFI muutujatest ning ei lubata sisend-/väljundportidega manipuleerimist, sealhulgas katkestuse numbri ja jadapordi sisend-/väljundpordi muutmist.
Lockdowni mehhanism lisati hiljuti Linuxi tuuma põhikoosseisu , kuid distributsioonidega kaasas olevates tuumades on see endiselt rakendatud paikadena või täiendatud paikadega. Üks distributsioonides pakutavate lisakihtide erinevusi võrreldes tuuma sisseehitatud teostusega on võimalus olemasolev lukustus füüsilise juurdepääsu korral süsteemile välja lülitada.
Ubuntus ja Fedoras on Lockdowni väljalülitamiseks ette nähtud klahvikombinatsioon Alt+SysRq+X. Eeldatakse, et kombinatsiooni Alt+SysRq+X saab kasutada ainult füüsilise juurdepääsu korral seadmele ning kaugmurde ja root-õiguste saamise puhul ei saa ründaja Lockdowni välja lülitada ega näiteks laadida tuuma digitaalselt allkirjastamata rootkit'iga moodulit.
Andrei Konovalov näitas, et klaviatuuri kasutamisega seotud meetodid kasutaja füüsilise kohalolu kinnitamiseks ei ole tõhusad. Kõige lihtsam viis Lockdowni väljalülitamiseks oleks tarkvaraline klahvivajutusest Alt+SysRq+X läbi /dev/uinputi, kuid see variant on algselt blokeeritud. Seejuures õnnestus tuvastada vähemalt veel kaks viisi Alt+SysRq+X sisestuse jäljendamiseks.
Esimene viis on seotud liidese «sysrq-trigger» kasutamisega — simuleerimiseks piisab selle liidese lubamisest, kirjutades «1» faili /proc/sys/kernel/sysrq, ja seejärel kirjutades «x» faili /proc/sysrq-trigger. Nimetatud turvaauk detsembrikuises Ubuntu tuuma uuenduses ja Fedora 31-s. Tähelepanuväärne on see, et arendajad, nagu ka /dev/uinputi puhul, algselt selle meetodile blokeeringut rakendada, kuid blokeerimine ei töötanud koodis oleva vea tõttu.
Teine meetod on seotud klaviatuuri emuleerimisega abil ja seejärel järjestuse Alt+SysRq+X saatmisega virtuaalselt klaviatuurilt. Ubuntu tarnitavas tuumas on USB/IP vaikimisi lubatud (CONFIG_USBIP_VHCI_HCD=m ja CONFIG_USBIP_CORE=m) ning olemas on tööks vajalikud digitaalselt allkirjastatud moodulid usbip_core ja vhci_hcd. Ründaja saab virtuaalse USB-seadme luua, võrgukäsitleja loopback-liidesel ja ühendades selle USB/IP abil kaug-USB-seadmena. Sellest meetodist Ubuntu arendajatele, kuid parandust pole veel välja antud.
Allikas: opennet.ru
