Andrej Konovalov Googlov inženir programske opreme, je predstavil metodo za oddaljeno onemogočanje zaščite pred lockdown na voljo v jedru Linuxa, ki je na voljo v Ubuntuju. S katero kaže, da so zaščitne metode neučinkovite, poleg tega omenja tudi, da bi metode, ki jih je razkril teoretično, morale delovati tudi s jedrom Fedora in drugimi distribucijami (vendar niso bile preizkušene).
Za tiste, ki ne poznajo zaklepanja, vedeti bi morali, da je to komponenta jedra Linuxa, ki Njegova glavna naloga je omejiti dostop korenskega uporabnika v jedru sistema in to funkcionalnost je bil premaknjen v modul LSM neobvezno naložen (Linux Security Module), ki vzpostavi pregrado med UID 0 in jedrom, ki omejuje nekatere funkcije na nizki ravni.
To omogoča, da funkcija zaklepanja temelji na pravilniku in ne trdo kodira implicitne politike znotraj mehanizma, tako ključavnica, vključena v varnostni modul Linux, nudi izvedbo s preprostim pravilnikom namenjena za splošno uporabo. Ta pravilnik zagotavlja raven razdrobljenosti, ki jo je mogoče nadzorovati prek ukazne vrstice jedra.
Glede zaklepanja
Zaklepanje omeji korenski dostop do jedra in blokira poti varnega zagonskega obvoda UEFI.
Na primer, v načinu zaklepanja, dostopa do / dev / mem, / dev / kmem, / dev / port, / proc / kcore, debugfs, kbube v načinu odpravljanja napak, mmiotrace, tracefs, BPF, PCMCIA CIS, med drugim so nekateri vmesniki omejena, pa tudi ACPI in MSR registra CPU.
Medtem ko sta klica kexec_file in kexec_load zaklenjena, je način spanja prepovedan, uporaba DMA za naprave PCI je omejena, uvoz kode ACPI iz spremenljivk EFI je prepovedan in manipulacije z vhodno / izhodnimi vrati, vključno s spremembo številke prekinitve in I / O vrata za serijska vrata.
Kot nekateri morda vedo, mehanizem zaklepanje je bilo dodano v jedru Linux 5.4, vendar se še vedno izvaja v obliki popravkov ali dopolni z obliži na jedrih, priloženih distribucijam.
Tu je ena od razlik med vtičniki, ki so na voljo v distribucijah, in izvedbo vdelanega jedra zmožnost onemogočenja zaklepanja, če je fizični dostop do sistema.
Ubuntu in Fedora uporabljata kombinacijo tipk Alt + SysRq + X da onemogočite zaklepanje. Razume se, da kombinacija Alt + SysRq + X uporablja se lahko le s fizičnim dostopom do naprave in v primeru oddaljenega napada in korenskega dostopa napadalec ne bo mogel onemogočiti zaklepanja.
Zaklepanje lahko onemogočite na daljavo
Andrej Konovalov je to dokazal metode, povezane s tipkovnico potrditev fizične prisotnosti uporabnika neučinkovita.
El razkril, da bi najlažji način onemogočili zaklepanje s simulacijo pritisnite Alt + SysRq + X prek / dev / uinput, vendar je ta možnost sprva blokirana.
Vendar vsaj še dva načina zamenjave Alt + SysRq + X.
- Prva metoda vključuje uporabo vmesnika sysrq-sprožilec: za simulacijo preprosto omogočite ta vmesnik, tako da vtipkate "1" / proc / sys / kernel / sysrq in nato vtipkajte "x" / proc / sysrq-sprožilec.
Ta vrzel je bila odpravljena v decembrski posodobitvi jedra Ubuntu in v Fedori 31. Omeniti velja, da so razvijalci, tako kot v primeru / dev / uinput, so sprva poskušali blokirati to metodo, vendar blokiranje ni delovalo zaradi napake v kodi. - Druga metoda je posnemanje tipkovnice prek USB / IP in nato pošiljanje zaporedja Alt + SysRq + X z navidezne tipkovnice.
V jedru je USB / IP, ki ga dobavlja Ubuntu, privzeto omogočen in moduli usbip_core y vhci_hcd potreben digitalni podpis.
Napadalec lahko ustvari navidezno napravo USB tako, da na vmesniku z povratno zanko zažene omrežni krmilnik in ga prek USB / IP poveže kot oddaljeno napravo USB.
O navedeni metodi so poročali razvijalcem Ubuntuja, vendar rešitev še ni izdana.
vir: https://github.com