Patch-uri pentru limitarea accesului root la nucleul Linux 5.4 au fost acceptate.

Linus Torvalds a acceptat în compunerea viitoarei versiuni a nucleului Linux 5.4, setul de patch-uri „lockdown«, propus de David Howells (care lucrează la Red Hat) și Matthew Garrett (Matthew Garrett, care lucrează la Google) pentru a limita accesul utilizatorului root la nucleu. Funcționalitatea asociată „lockdown” a fost separată într-un modul LSM opțional încărcabil (Linux Security Module), care stabilește o barieră între UID 0 și nucleu, limitând anumite funcționalități de bază.

Dacă un atacator reușește să execute cod cu drepturi de root în urma unei atacuri, acesta poate rula codul său și la nivelul nucleului, de exemplu, prin înlocuirea nucleului folosind kexec sau prin citirea/scrierea memoriei prin /dev/kmem. Cel mai evident rezultat al unei astfel de activități poate fi o ocolire a UEFI Secure Boot sau extragerea de date confidențiale stocate la nivelul nucleului.

Inițial, funcțiile de limitare a root-ului s-au dezvoltat în contextul sporirii securității boot-ului verificat, iar distribuțiile au folosit de mult timp patch-uri externe pentru a bloca ocolirea UEFI Secure Boot. Cu toate acestea, aceste limitări nu au fost incluse în nucleul principal din cauza disputelor privind implementarea lor și a temerilor că ar putea afecta funcționarea sistemelor existente. Modulul „lockdown” a reunit deja patch-uri utilizate în distribuții, care au fost reproiectate sub forma unui subsistem separat, nelegat de UEFI Secure Boot.

În modul lockdown, accesul la /dev/mem, /dev/kmem, /dev/port, /proc/kcore, debugfs, modul de depanare kprobes, mmiotrace, tracefs, BPF, PCMCIA CIS (Card Information Structure), anumite interfețe ACPI și registrele MSR ale CPU-ului este restricționat, apelurile kexec_file și kexec_load sunt blocate, trecerea în modul de somn este interzisă, utilizarea DMA pentru dispozitive PCI este limitată, importul codului ACPI din variabile EFI este interzis,
manipulările cu porturi de intrare/ieșire nu sunt permise, inclusiv modificarea numărului de întrerupere și a portului de intrare/ieșire pentru portul serial.

Implicit, modulul lockdown nu este activ, este compilat la specificarea opțiunii în kconfig, SECURITY_LOCKDOWN_LSM și se activează prin parametrul kernel „lockdown=”, prin fișierul de control „/sys/kernel/security/lockdown” sau prin opțiunile de compilare LOCK_DOWN_KERNEL_FORCE_*, care pot lua valorile „integritate” și „confidențialitate”. În primul caz se blochează opțiunile care permit modificarea nucleului în execuție din spațiul utilizatorului, iar în al doilea caz, pe lângă aceasta, se dezactivează funcționalitatea care poate fi utilizată pentru a extrage informații confidențiale din nucleu.

Este important de menționat că lockdown-ul restricționează doar capacitățile standard de acces la nucleu, dar nu protejează împotriva modificărilor rezultate din exploatarea vulnerabilităților. Pentru a bloca modificările în nucleul în execuție în urma utilizării exploit-urilor, proiectul Openwall se dezvoltă modul separat LKRG (Linux Kernel Runtime Guard).

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster