Lockdown kaitse keelamise meetodid Ubuntu's UEFI Secure Boot'i kaugrikkumise jaoks

Andrei Konovalov from Google avalikustas viis kaitse kaugväljalülitamiseks Lockdown, mida pakutakse koos Ubuntu tarnitava Linuxi tuumaga (teoreetiliselt peaksid pakutud meetodid peate 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 5.4, 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 simuleerimine 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 on kõrvaldatud detsembrikuises Ubuntu tuuma uuenduses ja Fedora 31-s. Tähelepanuväärne on see, et arendajad, nagu ka /dev/uinputi puhul, algselt püüdsid selle meetodile blokeeringut rakendada, kuid blokeerimine ei töötanud vead koodis oleva vea tõttu.

Teine meetod on seotud klaviatuuri emuleerimisega USB/IP 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 luua virtuaalse USB-seadme luua, käivitades võrgukäsitleja loopback-liidesel ja ühendades selle USB/IP abil kaug-USB-seadmena. Sellest meetodist teatati Ubuntu arendajatele, kuid parandust pole veel välja antud.

Allikas: opennet.ru

Osta usaldusväärne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid 🔥 Osta usaldusväärne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid - ProHoster