La gran parte delle abitazioni statunitensi ne ha uno nel giardino di casa: un piccolo rettangolo di sabbia (immerso nel verde del prato tagliato all'inglese) dove i bambini possono giocare in piena sicurezza e tranquillità. In ambito informatico, un sandbox svolge la medesima funzione: protegge il computer dall'esecuzione di una porzione di codice o di programmi che, altrimenti, potrebbero mettere a rischio la stabilità del sistema.
Il sandboxing permette di isolare programmi e applicazioni (o parte di essi) e testarli in un “ambiente operativo reale” senza però correre il rischio che possano arrecare danni al sistema informatico. Ideale, quindi, per testare gli effetti di un programma in via di sviluppo o di un virus di cui si sa ancora poco. Nonostante possa apparire come una funzione futuristica o riservata a una “élite” di programmatori e geek, è vero l'esatto contrario: pur non accorgendocene, abbiamo a che fare con sandbox tutti i giorni, nell'utilizzo quotidiano del PC: Google Chrome e Internet Explorer, ad esempio, sono dotati di “recinti di sabbia” nei quali far girare le pagine web che si visitano per evitare che queste possano provocare danni all'intero computer.
Perché i sandbox sono importanti per la sicurezza informatica
Il sandbox, come accennato, è un ambiente “sterile” posto sotto stretta sorveglianza dove programmi sospetti o sicuramente contenenti virus o codice malevolo possono essere eseguiti in condizioni più protette e sicure possibili.
I sandbox forniscono al programma (o alla porzione di codice) solamente i permessi strettamente necessari a eseguire le operazioni per cui sono stati progettati e soltanto all’interno dell’ambiente protetto in cui si trovano, impedendo l'accesso a altre porzioni del sistema che potrebbero essere compromesse dall'esecuzione di codice malevolo.
Cosa troviamo nel recinto
Molte software house hanno cominciato a distribuire i loro software dotati di ambienti protetti - sullo stile dei sandbox - all'interno dei quali far eseguire sessioni del programma, parte del codice o il programma stesso.
-
Pagine web. Come detto, Chrome e Internet Explorer caricano ogni singola pagina web all'interno di un sandbox. Ciò permette di aumentare i livelli di sicurezza e mettere al riparo l'internauta da potenziali malware contenuti nel codice web della pagina
-
Web plugin. Allo stesso modo, i contenuti caricati tramite specifici plugin per il web - come, ad esempio, Flash e Microsoft Silverlight - sono eseguiti all’interno di sandbox, onde evitare che possano provocare danni al sistema informatico esterno. Eseguire un contenuto Flash - un gioco, ad esempio - all’interno di una pagina web è più sicuro che scaricarlo e eseguirlo sulla memoria del computer: il plugin “isolerà” ogni contenuto dal resto dei programmi, dandogli accesso solo a una porzione limitata delle risorse del computer
-
PDF e altri documenti. Adobe e Microsoft sono corse ai ripari aprendo PDF e documenti di testo all’interno di sandbox, così da evitare che codice malevolo incluso nelle pagine PDF o nelle macro per Office possa finire con il compromettere la stabilità del computer
-
Browser e programmi potenzialmente vulnerabili. I browser sono i principali vettori di virus e attacchi informatici di ogni genere e rappresentano, di conseguenza, il principale pericolo per ogni sistema informatico. Per questo motivo questi programmi - oltre a caricare le pagine web in sandbox - sono a loro volta eseguiti in ambiente protetto
-
App mobile.In fase di installazione, infatti, l’applicazione chiederà all’amministratore di sistema di garantire determinate autorizzazioni per accedere ad alcune delle risorse del dispositivo (la lista chiamate, la rubrica, il modulo GPS o la connettività 3G e Wi-Fi, e così via)
-
Programmi Windows. Con l’introduzione dello User Account Control, Microsoft ha introdotto una sorta di sandbox che impedisce ai programmi in installazione di modificare file di sistema senza avere il permesso esplicito dell’utente o dell’amministratore del sistema. Rispetto a un sandbox vero e proprio, però, non offre grandissima sicurezza informatica: i programmi possono essere eseguiti in background e avere comunque accesso a tutti i file presenti nel disco rigido del computer
Come eseguire ogni programma in un sandbox
Come visto, solo un ristretto numero di programmi offre la protezione di un sandbox agli utenti. Volendo, però, è possibile estendere questa tipologia di protezione a tutti i. Due le strade più battute in questo caso.
-
Macchina virtuale. Installare una macchina virtuale all’interno del proprio sistema informatico e utilizzarla per testare applicativi potenzialmente pericolosi per la stabilità del sistema. Una virtual machine è un software che simula il funzionamento di una piattaforma hardware sulla quale installare un nuovo sistema operativo senza che questo, però, abbia pieno accesso a tutte le risorse del computer né, tanto meno, possa accedere alle risorse software del sistema operativo principale. Questa soluzione, quindi, permette di avere a disposizione un secondo sistema operativo nel “pieno” delle sue funzionalità, sul quale eseguire tutti i test - anche su virus, magari - senza che la stabilita del sistema principale ne risenta
-
Sandboxie. In alternativa, si può installare sul proprio computer Sandboxie, programma che crea ambienti virtuali limitati sia nelle dimensioni dello spazio di memoria allocato sia nell’accesso alle risorse del computer. Utile, quindi, per testare programmi dalla dubbia provenienza