Sicurezza nel Mirino: I Ricercatori Violano la Sandbox di Avast per Attaccare il Kernel
Un’analisi approfondita di come il software di sicurezza stesso sia diventato il bersaglio, permettendo agli aggressori di rivolgere le difese di Avast contro gli utenti.
Il software di sicurezza dovrebbe proteggerci, ma cosa succede quando gli stessi strumenti di cui ci fidiamo diventano il rischio più grande? Le recenti rivelazioni su gravi falle in Avast Antivirus svelano una verità inquietante: anche i protettori possono essere violati - e a volte, le fortezze più sicure nascondono porte che nessuno si aspetta.
Dentro la Violazione: Come la Sandbox è Diventata una Botola
Avast Antivirus, presente su milioni di PC, si affida a driver kernel per isolare le minacce e imporre confini di sicurezza. Ma i ricercatori di SAFA hanno scoperto che uno di questi driver, aswSnx, nascondeva un gruppo di vulnerabilità che potevano permettere agli aggressori di prendere silenziosamente il controllo dell’intero sistema.
Il cuore del problema risiede in come il driver aswSnx gestisce la comunicazione con le applicazioni utente. Tramite un meccanismo chiamato IOCTL (Input/Output Control), i processi utente possono richiedere al kernel operazioni privilegiate. Il driver aswSnx, pensato per isolare il codice non affidabile, esponeva una vasta gamma di IOCTL - alcuni dei quali si sono rivelati pericolosamente accessibili.
La falla più critica era un bug noto come “double fetch”. Durante l’elaborazione di stringhe Unicode, il kernel controllava la lunghezza dei dati forniti dall’utente, allocava un buffer di memoria e poi copiava i dati - senza verificare che i dati non fossero cambiati nel frattempo. Un attaccante abile poteva modificare la lunghezza della stringa al momento giusto, inducendo il kernel ad allocare troppa poca memoria. Il risultato: un heap overflow, con i dati dell’attaccante che si riversano nello spazio privilegiato del kernel.
Forse il dettaglio più interessante? Il gestore IOCTL vulnerabile era raggiungibile solo dall’interno della sandbox di Avast stessa. Invece del classico attacco di “evasione”, i ricercatori hanno dovuto “entrare”. Analizzando al contrario i file di configurazione di Avast ed esplorando un altro IOCTL, hanno registrato il loro processo di exploit come applicazione in sandbox, ottenendo così l’accesso necessario per attivare le vulnerabilità.
Insieme al double fetch, sono state individuate altre tre varianti che colpivano diverse codifiche di stringa, oltre a due bug di denial-of-service dovuti a controlli mancanti sui puntatori. La risposta di Avast è stata rapida: le patch sono arrivate in meno di due settimane, con correzioni focalizzate sull’eliminazione dei pattern di codice rischiosi e sul rafforzamento dei controlli di memoria.
Riflessioni: Quando i Difensori Hanno Bisogno di Difesa
Questo episodio è un severo promemoria: nessun software, per quanto affidabile, è immune da falle. Gli strumenti di sicurezza operano con privilegi di sistema profondi, rendendo ogni bug una potenziale miniera d’oro per gli aggressori. Come difensori, dobbiamo pretendere i più alti standard dai nostri guardiani - e ricordare sempre che anche i muri possono avere crepe.