Linux 5.4 -ydin sai korjaustiedostoja, jotka rajoittavat pääkäyttäjän pääsyä ytimen sisäisiin osiin

Linus Torvalds hyväksytty Linux 5.4 -ytimen tulevaan julkaisuun sisältyy joukko korjaustiedostoja "Lockdown", ehdotettu David Howells (Red Hat) ja Matthew Garrett (Matthew garrett, toimii Googlessa) rajoittaakseen pääkäyttäjän pääsyä ytimeen. Lukitukseen liittyvät toiminnot sisältyvät valinnaisesti ladattavaan LSM-moduuliin (Linuxin suojausmoduuli), joka asettaa esteen UID 0:n ja ytimen väliin ja rajoittaa tiettyjä matalan tason toimintoja.

Jos hyökkääjä suorittaa koodin pääkäyttäjän oikeuksin, hän voi suorittaa koodinsa ydintasolla, esimerkiksi korvaamalla ytimen kexecillä tai luku-/kirjoitusmuistin kautta /dev/kmem. Selkein seuraus tällaisesta toiminnasta voi olla ohittaa UEFI Secure Boot tai ydintasolle tallennettujen arkaluontoisten tietojen hakeminen.

Aluksi juurirajoitustoimintoja kehitettiin vahvistetun käynnistyksen suojan vahvistamisen yhteydessä, ja jakelut ovat käyttäneet kolmannen osapuolen korjaustiedostoja estämään UEFI Secure Bootin ohituksen jo jonkin aikaa. Samaan aikaan tällaisia ​​rajoituksia ei sisällytetty ytimen pääkoostumukseen johtuen erimielisyyksiä niiden täytäntöönpanossa ja olemassa olevien järjestelmien häiriöiden pelossa. "Lockdown"-moduuli absorboi jakeluissa jo käytetyt korjaustiedostot, jotka suunniteltiin uudelleen erilliseksi alijärjestelmäksi, joka ei ollut sidottu UEFI Secure Bootiin.

Lukitustila rajoittaa pääsyä kohteisiin /dev/mem, /dev/kmem, /dev/port, /proc/kcore, debugfs, kprobes debug mode, mmiotrace, tracefs, BPF, PCMCIA CIS (Card Information Structure), eräät ACPI-liitännät ja suoritin. MSR-rekisterit, kexec_file- ja kexec_load-kutsut estetään, lepotila on kielletty, DMA-käyttö PCI-laitteille on rajoitettu, ACPI-koodin tuonti EFI-muuttujista on kielletty,
I/O-porttien käsittely ei ole sallittua, mukaan lukien sarjaportin keskeytysnumeron ja I/O-portin muuttaminen.

Oletusarvoisesti lukitusmoduuli ei ole aktiivinen, se rakennetaan, kun kconfigissa on määritetty SECURITY_LOCKDOWN_LSM-vaihtoehto ja se aktivoidaan ytimen parametrin "lockdown=", ohjaustiedoston "/sys/kernel/security/lockdown" tai kokoonpanoasetusten kautta. LOCK_DOWN_KERNEL_FORCE_*, joka voi ottaa arvot "eheys" ja "luottamuksellisuus". Ensimmäisessä tapauksessa estetään ominaisuudet, jotka mahdollistavat muutosten tekemisen käynnissä olevaan ytimeen käyttäjätilasta, ja toisessa tapauksessa estetään myös toiminnot, joilla voidaan poimia arkaluonteisia tietoja ytimestä.

On tärkeää huomata, että lukitus rajoittaa vain normaalia pääsyä ytimeen, mutta ei suojaa haavoittuvuuksien hyödyntämisen aiheuttamilta muutoksilta. Estä käynnissä olevan ytimen muutokset, kun Openwall-projekti käyttää hyväksikäyttöä on kehittymässä erillinen moduuli LKRG (Linux Kernel Runtime Guard).

Lähde: opennet.ru

Lisää kommentti