Sandbox: un nuovo livello di sicurezza

Di - 13 December 2012 - in

Google sa molto bene che uno degli obiettivi più importanti per Chromium, il progetto open-source che guida il browser Chrome, è quello relativo alla sicurezza. Certo è che con un progetto in continua crescita in termini di funzionalità e quindi di complessità, garantire la sicurezza di tutte le parti di codice di cui è composto è un’operazione molto difficile, se non quasi impossibile.

Per fornire rigide garanzie su ciò che un pezzo di codice può o non può fare, indipendentemente dall’input, il team di Chromium ha introdotto le sandbox. Una sandbox è un “contenitore” in cui viene racchiuso ed eseguito un processo client, come ad esempio un processo renderer (ricordiamo che ogni scheda o applicazione in Chrome rappresenta un processo renderer).
L’idea alla base della costruzione di questo nuovo oggetto è che ogni spezzone di codice/processo venga eseguito esclusivamente all’interno della sua sandbox, delimitandone quindi il suo scope, al fine di isolare un utente malintenzionato che sia eventualmente riuscito a sfruttare una vulnerabilità.

Per realizzare tutto ciò, gli ingegneri di Chromium hanno deciso di non re-inventare la ruota e di sfruttare la sicurezza fornita dal sistema operativo sottostante, estendendo il kernel con un sistema di maggiore sicurezza, creando quindi degli oggetti a livello applicazione con un modello di protezione personalizzato.
La configurazione minima di una sandbox è realizzata da due processi: un controller privilegiato, noto come broker, che supervisiona le attività di uno o più processi sandboxed conosciuti come target.
In Chrome il broker è sempre il processo browser, mentre i renderer sono sempre processi target.

L’ultima versione stabile di Chrome introduce un nuovo livello di sandbox per le versioni a 64 bit dei sistemi operativi Chrome OS e Linux, basata su una feature del kernel chiamata seccomp-bpf. Con questa funzionalità verrà installato un piccolo filtro nel kernel che cercherà di respingere gli attacchi degli utenti malintenzionati. In questo modo, ad esempio, sarà possibile istruire il processo broker per mantenere aggiornato l’elenco delle system call permesse (e quindi anche quelle escluse) dai processi renderer a seconda che ne abbiano bisogno o meno.

Questo nuovo livello di protezione viene automaticamente incluso nell’ultima versione di Chrome OS, mentre gli utenti Linux possono effettuare una verifica digitando nella barra degli indirizzi del browser la stringa chrome://sandbox e controllare che l’opzione “Seccomp-BPF sandbox” sia settata a “si”. In alternativa è possibile abilitare la feature nel proprio kernel, come ha fatto Ubuntu a partire dalla versione 12.04.

 

Via | Chromium blog

Leave a Reply

Fabrizio Variano Articolo scritto da

Laureato e specializzato in Informatica con il massimo dei voti, lavora come Software engineer con compiti di team leading progettando e sviluppando soluzioni in ambito web con tecnologie Java e “dintorni”. Grande appassionato di tecnologia, negli ultimi anni si è avvicinato all’ambito mobile, sia hardware che software, con l’intento di far suo questo mondo affascinante. Oltre a viaggiare, tra i suoi hobby ci sono: la moto, la cucina ed il cinema.

Contatta l'autore

Previous post:

Next post: