Sandbox: scopo e utilizzo spiegati in maniera chiara

Un importante passaggio nello sviluppo di un software è la possibilità di verificare la funzionalità di un nuovo programma. Difatti anche se il codice sorgente non presenta errori visibili, nell’applicazione pratica potrebbero sopraggiungere complicazioni inattese. Ma anche testare un software non completo o sconosciuto comporta dei rischi: può infatti accadere che il programma, durante la sua installazione, modifichi o addirittura intacchi il sistema operativo tramite un codice dannoso o errato. In questo caso una sandbox può essere d’aiuto, perché offre l’opportunità di testare il codice, che sia proprio o di altri, in Internet, in un ambiente isolato senza conseguenze per il sistema.

Cos’è una sandbox?

Nel mondo informatico, i termini “sandbox” e “sandboxing” si sentono sempre più di frequente, ma cos’è effettivamente una sandbox e come viene utilizzata? Con la tecnica della sandbox potete creare un ambiente di prova isolato all’interno del vostro sistema. In questo modo, un programma esegue determinate azioni senza causare eventuali danni all’hardware. Una sandbox, in pratica, permette di schermare o proteggere il proprio sistema operativo da un codice errato o da un malware. Intanto, nel settore dello sviluppo software e della cybersicurezza, la sandbox è diventata una procedura standard e offre anche alle grandi aziende la protezione necessaria dai danni di sistema e dagli attacchi informatici.

La sandbox non è un’idea nuova, anzi è nata proprio con lo sviluppo dei primi sistemi PC. Negli anni ‘70 i programmatori utilizzavano le sandbox per effettuare test e simulazioni. In questo modo potevano stabilire se un determinato codice funzionava in un ambiente limitato. I primi sistemi di sicurezza come Hydra, non solo proteggevano i costosi hardware, ma presentavano anche un altro vantaggio: il sistema della sandbox consentiva di determinare i problemi che sarebbero emersi senza un isolamento.

Oggi ci sono determinati programmi che non vi danno solo la possibilità di richiamare e deviare i vostri registri di sistema, con le macchine virtuali (VM) potete addirittura simulare un intero calcolatore.

Come funziona una sandbox?

Le sandbox si possono realizzare in vari modi; mentre prima i programmatori sviluppavano un proprio ambiente di prova protetto, oggi avete a disposizione dei programmi pronti all’uso. A seconda del sistema operativo e dello scopo, esistono varie versioni di corrispondente portata e con diverse procedure. E questo per un buon motivo: uno sviluppatore che lavora a un nuovo programma per computer ha delle necessità diverse rispetto a un’azienda, che vuole soprattutto proteggere il suo sistema operativo da un codice sconosciuto e da attacchi informatici. La regola è: tanto più grande è l’ambiente di sistema reale che l’applicazione sanbox deve simulare, tanto più saranno le risorse necessarie.

Di seguito una piccola panoramica delle diverse versioni sandbox e del loro funzionamento.

  • Programmi sandbox: un programma stand-alone molto apprezzato nella tecnologia sandbox è “Sandboxie”, che mette a disposizione una sandbox già pronta per gli utenti Windows. Una volta attivato, tutti gli accessi di scrittura da parte di potenziali programmi dannosi per l’hardware vengono deviati in una cartella che potete definire autonomamente prima di iniziare il test. I file salvati nella sandbox possono essere trasmessi al sistema reale tramite un comando. All’interno di tali applicazioni potete gestire contemporaneamente più sandbox.
  • Sandbox nel sistema operativo: tramite alcune applicazioni potete utilizzare la sandbox direttamente nel vostro codice di programmazione tramite strati e livelli. In questo modo la sandbox diventa parte integrante del vostro sistema operativo, costituendone però una componente limitata in se stessa. Come per altri software sandbox, andrete a definire determinati parametri per il tempo di esecuzione del rispettivo programma, consentendo così un’analisi sandbox mirata. Con Windows 10 (dalla versione 1903, build 18305) riceverete subito la sandbox di Windows integrata, che potete attivare e disattivare autonomamente.
  • Macchine virtuali: le macchine virtuali (VM) hanno una portata maggiore rispetto ai singoli programmi. Una VM funziona come un normale computer e, data la sua dimensione, di solito si trova su un server separato. È possibile ripartire la virtualizzazione della VM in più sistemi ospite. Si tratta di quasi-sistemi indipendenti tra loro e completamente incapsulati nell’hardware. VM conosciute con interfacce complete sono Java Virtual Machine e FAUmachine per Linux e macOS.
  • Plug-in sandbox: un esempio di sandbox come plug-in è offerto dal linguaggio di programmazione Java. Qui la sandbox si utilizza tramite i cosiddetti applets Java. Gli applets sono programmi per computer eseguiti in un browser web. Attraverso la sandbox integrata, il codice di programmazione caricato in Internet gira in un ambiente isolato mantenendo così protetti il disco fisso, la memoria RAM e le funzioni del vostro sistema operativo.
N.B.

Oltre ai programmi sandbox basati su software esistono anche le cosiddette micro virtualizzazioni, eseguite direttamente nell’hardware. A differenza delle sandbox, però, non si concentrano sulla ricerca di un codice dannoso, bensì sulla protezione dalle ripercussioni dirette di malware.

Dove si utilizza il sandboxing?

Ci sono molti campi d’applicazione per il sandboxing. In generale, gli obiettivi perseguiti con questa tecnologia risiedono in due ambiti: software testing e cybersicurezza. Vi riassumiamo di seguito la loro funzione in questi settori.

Software testing: le sandbox hanno un ruolo importante in relazione ai collaudi di software di nuovo sviluppo. La virtualizzazione dei sistemi di calcolo aiuta i programmatori a sviluppare applicazioni sicure ed efficienti e a testarle in diversi ambienti. Il sandbox testing è quindi uno strumento che mostra agli sviluppatori quando è necessario modificare la programmazione di un codice. A volte il sandboxing è impiegato per isolare tra loro programmi eseguiti in parallelo, perché non sono compatibili tra loro. Visto che il codice viene eseguito in maniera sicura nella sandbox, gli esperti informatici utilizzano questa tecnologia anche per analizzare i malware e le loro conseguenze sul sistema operativo.

Cybersicurezza: anche quando si parla della sicurezza dei browser, insieme ai sistemi di sicurezza firewall gli strumenti sandbox rappresentano una soluzione apprezzata. Proteggono il sistema operativo da manipolazioni all’avvio da parte di applicazioni critiche. Soprattutto gli enti e le società che lavorano con dati sensibili, devono proteggersi da Advanced Persistent Threats (APTs), ossia da attacchi di hacker persistenti e avanzati che operano sul lungo periodo. Anche l’utente tradizionale di Internet può navigare in maniera più sicura con un’applicazione sandbox. Gli attuali browser basati su Chromium lavorano con processi sandbox distinti per ogni pagina internet o plug-in caricato, per evitare exploit del browser.

Quanto è sicuro il sandboxing?

Sono molti i pro dell’uso di tecnologie sandbox. Rimane però da capire quanto siano sicure le sandbox quando si parla di cybercrimine. In linea di massima gli utenti sandbox non dovrebbero farsi ingannare da un falso senso di sicurezza, perché proprio come i meccanismi di sicurezza, anche gli attacchi degli hacker sono in costante sviluppo. Gli attacchi informatici intelligenti riconoscono i classici ambienti sandbox e riescono ad aggirarli facendo apparire innocuo il codice dannoso prima dell’installazione. Per questo motivo gli esperti consigliano di non usare esclusivamente un sistema stand-alone, ma più tecnologie sandbox a diversi livelli. La tecnologia di array multisandbox utilizza ad esempio varie sandbox nello stesso cloud.

Di seguito vi proponiamo nuovamente un breve riepilogo di vantaggi e svantaggi delle sandbox:

Vantaggi Svantaggi
Ambiente di prova controllabile nel caso di nuovi software Gli utenti sono convinti di essere al sicuro e quindi prestano minor attenzione
Protezione di hardware, sistema operativo e registro di sistema Le sandbox più datate in particolare presentano delle falle di sicurezza
Nessun accesso dati non consentito sul sistema host I complessi strumenti sandbox richiedono molte risorse e sono costosi
Non ci sono conflitti tra programmi o sistema operativo e programma  
Navigazione sicura in Internet tramite protezione da malware  
In sintesi

Le sandbox offrono agli sviluppatori un ambiente sicuro per testare a dovere software non ancora completi. Nell’ambito della cybersicurezza le sandbox sono più efficaci se applicate a più livelli e combinate con altre misure di sicurezza.

Per offrirti una migliore esperienza di navigazione online questo sito web usa dei cookie, propri e di terze parti. Continuando a navigare sul sito acconsenti all’utilizzo dei cookie. Scopri di più sull’uso dei cookie e sulla possibilità di modificarne le impostazioni o negare il consenso.