I ricercatori di sicurezza informatica hanno fatto luce su una nuova tecnica di sfruttamento del kernel Linux denominata SLUBStick, che potrebbe essere sfruttata per elevare una vulnerabilità limitata del heap a una primitiva di lettura e scrittura arbitraria della memoria.
SLUBStick, come funziona la nuova tecnica di hacking del Kernel di Linux
“Inizialmente, sfrutta un canale laterale di temporizzazione dell’allocatore per eseguire un attacco cross-cache in modo affidabile“, ha dichiarato un gruppo di accademici della Graz University of Technology (resoconto visibile tramite questo PDF) e gli esperti hanno poi aggiunto: “Concretamente, sfruttare la fuoriuscita del canale laterale porta il tasso di successo sopra il 99% per le cache generiche utilizzate frequentemente.”
Le vulnerabilità della sicurezza della memoria che colpiscono il kernel Linux hanno capacità limitate e sono molto più difficili da sfruttare a causa delle funzionalità di sicurezza come la prevenzione dell’accesso in modalità supervisore (SMAP), la randomizzazione del layout dello spazio degli indirizzi del kernel (KASLR) e l’integrità del flusso di controllo del kernel (kCFI).
Fortunatamente, SLUBStick sembrerebbe avere dei limiti
Sebbene gli attacchi software cross-cache siano stati ideati come un modo per contrastare le strategie di rafforzamento del kernel come la separazione grossolana dell’heap, gli studi hanno dimostrato che i metodi esistenti hanno un tasso di successo solo del 40%.
SLUBStick è stato dimostrato sulle versioni 5.19 e 6.2 del kernel Linux utilizzando nove vulnerabilità di sicurezza (ad esempio, doppia liberazione, uso dopo la liberazione e scrittura fuori dai limiti) scoperte tra il 2021 e il 2023, portando all’elevazione dei privilegi a root senza autenticazione e alle evasioni dei container.
L’idea principale alla base dell’approccio è offrire la possibilità di modificare i dati del kernel e ottenere una primitiva di lettura e scrittura arbitraria della memoria in un modo che superi in modo affidabile le difese esistenti come KASLR.
Tuttavia, affinché ciò funzioni, il modello di minaccia presuppone la presenza di una vulnerabilità del heap nel kernel Linux e che un utente non privilegiato abbia capacità di esecuzione del codice.
“SLUBStick sfrutta sistemi più recenti, comprese le versioni 5.19 e 6.2, per una vasta gamma di vulnerabilità del heap“, hanno affermato i ricercatori.
Linux, il mito della sua “impenetrabilità” sempre meno vero
Nonostante la reputazione di Linux come un sistema operativo altamente sicuro e quasi impenetrabile, tecniche come SLUBStick dimostrano che questa percezione è sempre più lontana dalla realtà.
SLUBStick non è infatti il primo metodo scoperto per “perforare” il kernel: negli anni, sono emerse diverse tecniche avanzate di sfruttamento che hanno messo in evidenza vulnerabilità precedentemente non considerate.
Uno dei principali problemi di sicurezza su Linux è l’assenza di un metodo standardizzato di rilevamento dei virus, il che rende estremamente difficile per gli utenti sapere se i loro sistemi sono stati compromessi e questo piccolo problema nella sicurezza evidenzia la necessità di soluzioni più robuste e di una maggiore consapevolezza delle minacce emergenti, specialmente in un contesto in cui le tecniche di attacco diventano sempre più sofisticate.
Se su Windows, per esempio, abbiamo Windows Defender, non esiste (allo stato attuale) un corrispondente su sistemi operativi Linux, anche se progetti Open Source come ClamAV un po’ ci si avvicinano (ma sono difficili da configurare).
Recenti vulnerabilità scoperte su Linux
Negli ultimi tempi, sono state scoperte diverse vulnerabilità critiche nel kernel Linux che mettono in evidenza la necessità di una maggiore attenzione alla sicurezza. Alcune di queste includono:
- Dirty Pipe (CVE-2022-0847): una vulnerabilità che permette agli utenti non privilegiati di sovrascrivere dati nei file di sola lettura.
- Spectre e Meltdown: famiglie di vulnerabilità che sfruttano l’esecuzione speculativa dei processori per accedere a dati sensibili.
- StackRot (CVE-2023-3269): una vulnerabilità che consente di ottenere l’escalation dei privilegi attraverso una gestione impropria dello stack.
- BleedingTooth (CVE-2020-12351): un bug nel sottosistema Bluetooth che permette l’esecuzione di codice arbitrario da remoto.
- Sequoia (CVE-2021-33909): una vulnerabilità che consente l’escalation dei privilegi sfruttando una gestione impropria dei file system.
Queste scoperte evidenziano che, sebbene Linux sia generalmente considerato sicuro, non è immune da gravi vulnerabilità che richiedono attenzione e aggiornamenti tempestivi