Sono stati adottati dei patch nel kernel Linux 5.4 per limitare l'accesso root alle internals del kernel

Linus Torvalds ha accettato nell'insieme del futuro rilascio del kernel Linux 5.4 un insieme di patch «lockdown«, proposto da David Howells (lavora in Red Hat) e Matthew Garrett (Matthew Garrett, lavora in Google) per limitare l'accesso dell'utente root al kernel. La funzionalità associata al «lockdown» è stata spostata in un modulo LSM caricabile opzionalmente (Linux Security Module) che stabilisce una barriera tra UID 0 e il kernel, limitando determinate funzionalità a basso livello.

Se un aggressore riuscisse a eseguire un codice con privilegi di root a causa di un attacco, potrebbe eseguire il proprio codice anche a livello kernel, ad esempio sostituendo il kernel tramite kexec o leggendo/scrivendo nella memoria tramite /dev/kmem. La conseguenza più ovvia di simili attività potrebbe essere il bypass del boot sicuro UEFI o l'estrazione di dati riservati memorizzati a livello kernel.

Inizialmente, le funzioni di limitazione per l'utente root si sono sviluppate nel contesto del rafforzamento della protezione del boot verificato e le distribuzioni utilizzano già da tempo patch di terze parti per bloccare il bypass del boot sicuro UEFI. Tuttavia, tali limitazioni non sono state incluse nel core del kernel a causa di disaccordi sulla loro implementazione e preoccupazioni riguardo il possibile malfunzionamento dei sistemi esistenti. Il modulo «lockdown» ha integrato le patch già utilizzate nelle distribuzioni, rielaborate come un sottosistema separato, non collegato al boot sicuro UEFI.

In modalità lockdown, l'accesso a /dev/mem, /dev/kmem, /dev/port, /proc/kcore, debugfs, alla modalità di debug kprobes, mmiotrace, tracefs, BPF, PCMCIA CIS (Card Information Structure), a determinate interfacce ACPI e ai registri MSR della CPU è limitato, le chiamate a kexec_file e kexec_load vengono bloccate, viene vietato il passaggio alla modalità sospensione, viene limitato l'uso del DMA per i dispositivi PCI, è vietato l'import di codice ACPI da variabili EFI,
non è consentito alcun intervento sulle porte di input/output, incluso il cambiamento del numero di interruzione e della porta di input/output per la porta seriale.

Per impostazione predefinita, il modulo lockdown non è attivo, viene compilato specificando nell'opzione kconfig SECURITY_LOCKDOWN_LSM e attivato tramite il parametro del kernel «lockdown=», gestendo il file «/sys/kernel/security/lockdown» o le opzioni di compilazione LOCK_DOWN_KERNEL_FORCE_*, che possono assumere i valori «integrity» e «confidentiality». Nel primo caso vengono bloccate le possibilità di apportare modifiche al kernel in funzione dallo spazio utente, mentre nel secondo caso viene disabilitata anche la funzionalità utilizzabile per estrarre informazioni riservate dal kernel.

È importante notare che il lockdown limita solo le normali capacità di accesso al kernel, ma non protegge da modifiche a seguito di sfruttamento di vulnerabilità. Per bloccare le modifiche apportate al kernel in funzione durante l'applicazione di exploit, il progetto Openwall è in fase di sviluppo un modulo separato LKRG (Linux Kernel Runtime Guard).

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster