Menetelmät lukitussuojauksen poistamiseksi käytöstä Ubuntussa UEFI-suojatun käynnistyksen ohittamiseksi etänä

Andrey Konovalov Googlelta julkaistu tapa poistaa suojaus etäältä Lockdowntarjotaan Ubuntun mukana toimitetussa Linux-ydinpaketissa (teoreettisesti ehdotetut tekniikat olla toimivat Fedoran ytimen ja muiden jakelujen kanssa, mutta niitä ei testata).

Lukitus rajoittaa pääkäyttäjän pääsyä ytimeen ja estää UEFI Secure Boot -ohituspolut. Esimerkiksi lukitustilassa pääsy tiedostoihin /dev/mem, /dev/kmem, /dev/port, /proc/kcore, debugfs, kprobes-virheenkorjaustila, mmiotrace, tracefs, BPF, PCMCIA CIS (Card Information Structure), jotkut rajapinnat on rajoitettu prosessorin ACPI- ja MSR-rekistereitä, kexec_file- ja kexec_load-kutsut estetty, lepotila on kielletty, DMA-käyttö PCI-laitteille on rajoitettu, ACPI-koodin tuonti EFI-muuttujista kielletty, manipulaatioita I/O-porttien kanssa ei sallittu, mukaan lukien sarjaportin keskeytysnumeron ja I/O-portin muuttaminen.

Lukitusmekanismi lisättiin äskettäin Linuxin pääytimeen 5.4, mutta jakeluissa toimitetuissa ytimissä se on edelleen toteutettu korjauspäivitysten muodossa tai täydennettynä korjaustiedostoilla. Yksi eroista jakelusarjojen lisäosien ja ytimeen sisäänrakennetun toteutuksen välillä on kyky poistaa toimitettu lukitus käytöstä, jos sinulla on fyysinen pääsy järjestelmään.

Ubuntussa ja Fedorassa on näppäinyhdistelmä Alt+SysRq+X lukituksen poistamiseksi käytöstä. Ymmärretään, että yhdistelmää Alt+SysRq+X voidaan käyttää vain fyysisellä pääsyllä laitteeseen, ja etähakkeroinnin ja pääkäyttäjän oikeuksien hankkimisen tapauksessa hyökkääjä ei voi poistaa lukitusta käytöstä ja esimerkiksi ladata moduuli rootkitillä, jota ei ole digitaalisesti allekirjoitettu ytimeen.

Andrey Konovalov osoitti, että näppäimistöön perustuvat menetelmät käyttäjän fyysisen läsnäolon vahvistamiseksi ovat tehottomia. Yksinkertaisin tapa poistaa lukitus käytöstä on ohjelmallisesti simulointi painamalla Alt+SysRq+X kautta /dev/uinput, mutta tämä vaihtoehto on aluksi estetty. Samalla oli mahdollista tunnistaa ainakin kaksi muuta substituutiomenetelmää Alt+SysRq+X.

Ensimmäinen menetelmä sisältää "sysrq-trigger"-liitännän käyttämisen - simuloidaksesi sitä, ota tämä käyttöliittymä käyttöön kirjoittamalla "1" kohtaan /proc/sys/kernel/sysrq ja kirjoittamalla sitten "x" kohtaan /proc/sysrq-trigger. Sanoi porsaanreikä eliminoitu joulukuun Ubuntu-ytimen päivityksessä ja Fedora 31:ssä. On huomionarvoista, että kehittäjät, kuten /dev/uinput, alun perin yritti estä tämä menetelmä, mutta esto ei toiminut, koska Virheitä koodissa.

Toinen menetelmä sisältää näppäimistöemuloinnin kautta USB/IP ja lähettää sitten sekvenssi Alt+SysRq+X virtuaalinäppäimistöltä. Ubuntun mukana toimitettu USB/IP-ydin on oletusarvoisesti käytössä (CONFIG_USBIP_VHCI_HCD=m ja CONFIG_USBIP_CORE=m) ja tarjoaa käyttöön tarvittavat digitaalisesti allekirjoitetut usbip_core- ja vhci_hcd-moduulit. Hyökkääjä voi luoda virtuaalinen USB-laite, käynnistetty verkkokäsittelijä silmukkaliitännässä ja kytkeä se USB-etälaitteena USB/IP:n kautta. Tietoja määritetystä menetelmästä raportoitu Ubuntu-kehittäjille, mutta korjausta ei ole vielä julkaistu.

Lähde: opennet.ru

Lisää kommentti