Nel kernel Linux 5.4 sono stati accettati patch per limitare l'accesso root alle risorse interne del kernel

Linus Torvalds ha accolto nel prossimo rilascio del kernel Linux 5.4 una serie 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 a "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 attaccante riesce a eseguire codice con privilegi di root, può eseguire il suo codice anche a livello di kernel, ad esempio, sostituendo il kernel tramite kexec o leggendo/scrivendo nella memoria attraverso /dev/kmem. La conseguenza più ovvia di tale attività potrebbe essere il bypass del UEFI Secure Boot o l'estrazione di dati riservati memorizzati a livello di kernel.

Inizialmente, le funzioni di limitazione dell'accesso root sono state sviluppate nel contesto del potenziamento della protezione dell'avvio verificato e le distribuzioni hanno già applicato da tempo patch di terze parti per bloccare il bypass del UEFI Secure Boot. Tuttavia, tali limitazioni non sono state incluse nel kernel principale a causa di disaccordi nella loro attuazione e preoccupazioni per il malfunzionamento dei sistemi esistenti. Il modulo 'lockdown' ha incorporato patch già utilizzate nelle distribuzioni, rielaborate sotto forma di un sottosistema separato, non legato a UEFI Secure Boot.

In modalità lockdown l'accesso a /dev/mem, /dev/kmem, /dev/port, /proc/kcore, debugfs, la modalità di debug kprobes, mmiotrace, tracefs, BPF, la CIS PCMCIA (Card Information Structure), alcune interfacce ACPI e i registri MSR della CPU è limitato, vengono bloccate le chiamate a kexec_file e kexec_load, viene vietato il passaggio in modalità sospensione, viene limitato l'uso del DMA per i dispositivi PCI, è vietato l'importazione di codice ACPI da variabili EFI.
non sono consentite operazioni con le porte di input/output, inclusa la modifica del numero di interruzioni 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=', il file di controllo '/sys/kernel/security/lockdown' o le opzioni di compilation. LOCK_DOWN_KERNEL_FORCE_*, che possono assumere i valori «integrità» e «riservatezza». Nel primo caso vengono bloccate le capacità di apportare modifiche al kernel funzionante dallo spazio utente, mentre nel secondo caso oltre a ciò viene disabilitata la funzionalità che può essere utilizzata per l'estrazione di informazioni riservate dal kernel.

È importante notare che il lockdown limita solo le capacità di accesso al kernel, ma non protegge da modifiche dovute all sfruttamento delle vulnerabilità. Per bloccare le modifiche al kernel funzionante durante l'applicazione di exploit, il progetto Openwall si sviluppa 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