Come abbiamo spesso sottolineato, l’uso delle tecniche di “sandboxing” offre un valido ausilio nella lotta contro i più moderni ed aggressivi malware. Diversi esperti di sicurezza sono d’accordo sulla necessità, divenuta ormai sempre più pressante, che tutti i principali sviluppatori di browser web dotino i loro software di “sandbox” in grado di offrire un’elevata barriera contro attacchi ed infezioni.
La mancata applicazione di aggiornamenti per il browser o per il sistema operativo apre la porta alle aggressioni esterne che possono giungere, semplicemente, visitando una pagina web dannosa. I malintenzionati hanno a disposizione un buon numero di kit semi-automatizzati per confezionare pagine web in grado di “bersagliare” le varie vulnerabilità scoperte e via a via sanate, ad esempio, nei browser web così come nei più famosi plugin come Adobe Flash, Acrobat Reader e Java.
Premesso che – non ci stancheremo mai di ripeterlo – una delle migliori difese contro i malware che arrivano dalla Rete consiste nel mantenere sempre aggiornati sistema operativo ed applicazioni installate, applicando le patch periodicamente messe a disposizione dai rispettivi produttori, in queste settimane si fa un gran parlare delle tecniche di “sandboxing”.
Con Marco Giuliani, “malware technology specialist” per Prevx, abbiamo parlato delle differenze tra i vari browser web esaminando quali già oggi integrano meccanismi di “sandboxing” e quali non hanno ancora provveduto. “Sia Google Chrome che Internet Explorer 8 usano un’architettura a livelli sicuramente interessante ed efficace“, ha dichiarato Giuliani. Entrambi i browser, infatti, propongono l’utilizzo, per impostazione predefinita, di una “sandbox” che l’esperto di Prevx definisce come “un livello di protezione che avvolge il browser in modo da isolarlo dal sistema operativo e da contenere tutto ciò che avviene al suo interno“. Il concetto si basa su un assunto facile da comprendere: aumentando la complessità di un software (ed i browser web moderni devono essere capaci di gestire una moltitudine di funzionalità e caratteristiche differenti), cresce la possibilità che al suo interno si celino delle falle non individuate né in fase di programmazione, né durante il processo di beta testing, né successivamente – dopo il lancio del prodotto -. E’ quindi indispensabile individuare un approccio che consenta di arginare eventuali falle e mitigare eventuali problemi nel caso in cui le lacune di sicurezza venissero attaccate. “Sia Chrome che Internet Explorer 8“, ricorda Giuliani, “isolano ogni finestra di navigazione, creando per ognuna di esse un nuovo processo“.
Chrome crea un processo a sé stante, dotato di privilegi molto limitati, per ciascuna scheda di navigazione aperta. Il programma “parte dai privilegi dell’account utente che ha eseguito il browser ed elimina tutti i privilegi possibili“, spiega Giuliani. “In questo modo, anche se la sessione del browser venisse compromessa da qualche exploit basato su una falla al momento sconosciuta, l’eventuale malware erediterebbe solamente questi privilegi limitati“. Grazie a questo meccanismo, il malware non potrebbe compiere alcuna modifica sul sistema dell’utente. Nel caso di Chrome, inoltre, “ogni processo relativo ad una finestra di navigazione viene inserito in un <<job object>>, un particolare oggetto di Windows che permette di tenere ancor più sotto controllo ciò che avviene in un processo, applicando ulteriori restrizioni sia in termini di performance che in termini di sicurezza“.
Internet Explorer 8 impiega una tecnica simile facendo ampio uso delle misure di sicurezza aggiunte da parte di Microsoft in Windows Vista ed in Windows 7. “Ad ogni scheda di navigazione è associato un processo inserito in un <<job object>>, per poter tenerne sotto controllo le performance” spiega Giuliani. “In questo caso, ogni processo di ogni finestra eredita i privilegi dell’account utente che ha eseguito il browser, tuttavia utilizza un livello di integrità basso, inferiore agli altri processi che di default hanno un livello di integrità medio“. Tutti i processi con un livello di integrità basso, seppur eseguiti dallo stesso account utente, non possono accedere ai processi con un livello di integrità superiore e, inoltre, hanno limitato accesso alle risorse del sistema.
“L’unica nota negativa nel caso di Google Chrome“, fa presente il ricercatore “è che, purtroppo, di default esegue i vari plugin (vedi Adobe Flash Player ad esempio) al di fuori della sandbox, con i privilegi dell’account utente che ha eseguito il browser. Visto che molto spesso gli attacchi provenienti da Internet sfruttano le falle dei plugin, la logica conseguenza è che tutta la sicurezza della sandbox rischia di diventare vana“. Per eseguire entro la “sandbox” anche i plugin, è possibile richiamare Chrome facendo uso dello “switch” --safe-plugins
: alcuni plugin, tuttavia, non pensati per avere un accesso limitato alle risorse del sistema potrebbero così evidenziare malfunzionamenti od andare in crash.
Nel caso di Internet Explorer 8, invece, la funzionalità di “sandboxing” poggia interamente sulle tecnologie di protezione implementate in Windows Vista ed in Windows 7 (niente da fare, quindi, per gli utenti di Windows XP). Tra i “pro” del browser Microsoft, tuttavia, Giuliani inserisce il fatto che i plugin vengono eseguiti all’interno della “sandbox”.
Firefox ed Opera non contemplano al momento la possibilità di far uso delle “sandbox” quindi non isolano le singole schede di navigazione: il browser è eseguito utilizzando un unico processo, avviato con gli stessi privilegi dell’account impiegato dall’utente.
Il prossimo 1° giugno Mozilla dovrebbe rilasciare Firefox 3.6.4. Come spiegato in questa notizia, la nuova versione del browser integrerà un meccanismo capace di separare i plugin dal programma vero e proprio. Secondo Giuliani, il processo figlio che sovrintenderà il funzionamento dei plugin caricati in Mozilla Firefox sarà “eseguito con gli stessi privilegi dell’account utente che ha eseguito il browser. Di conseguenza se dovesse scoprirsi una falla in Adobe Flash, un eventuale malware potrebbe approfittarne“. Il “sandboxing” vero e proprio potrebbe “sbarcare” in Firefox (progetto “Electrolysis“) con il rilascio della quarta versione del prodotto (la distribuzione di Firefox 4.0 in versione RC1, non definitiva, è al momento fissato per il mese di ottobre).