Sandbox

In ambito informatico, con il termine sandbox si indica un ambiente isolato e protetto in cui poter testare programmi e applicativi senza intaccare il sistema operativo vero e proprio.

E’ una tecnica che si sta diffondendo sempre più in ambito cybersecurity e che offre indubbi vantaggi, sebbene sia necessario adottare delle piccole accortezze nella sua configurazione.

Insomma, una sandbox si presta come un valido alleato nella lotta contro virus e malware.

Ma in che modo riesce nell’intento e quali sono le accortezze da adottare per configurare un ambiente sicuro al 100%?

In questo articolo approfondiremo le caratteristiche tecniche delle sandbox, nonché i vantaggi per la sicurezza di reti e dispositivi.

Sandbox: caratteristiche e ambiti applicativi

Il sandboxing è una tecnica di virtualizzazione che permette di ricreare in un ecosistema protetto in cui effettuare test e simulazioni sugli applicativi web.

Come tutti gli ambienti virtuali, anche le sandboxes presentano una caratteristica standard: ovvero l’accesso limitato alla rete e ai file system.

Il suo significato inglese fa riferimento ai recinti di sabbia utilizzati dai bambini per giocare in ambiente sicuro.

Oggi, come agli albori dell’informatica, rappresenta un validissimo strumento nelle mani dei programmatori e degli esperti di cybersecurity, poiché consente di effettuare valutazioni prima che software e programmi vengano commercializzati.

Infatti, le due macro-aree in cui viene maggiormente sfruttato il sandboxing sono essenzialmente:

  • Il software-testing, utilizzato nella fase di developement e di staging per ricercare eventuali falle nella compilazione dei codici sorgente, nonché nelle funzionalità software
  • e la sicurezza informatica, che lo sfrutta per determinare se gli applicativi possano o meno contenere agenti maliziosi

Ed è proprio quest’ultimo ambito a ricoprire un ruolo di una discreta importanza non soltanto per gli esperti, ma anche per utenti tradizionali privi di particolari competenze informatiche.

Quello delle sandboxes, infatti, rappresenta uno strumento attraverso cui

  • ricreare un ambiente operativo identico a quello su cui si è abituati ad agire, ma sterile, ovvero svincolato dalle risorse operative vere e proprie del device
  • eseguire programmi o aprire file potenzialmente sospetti
  • constatare se effettivamente questi presentano criticità

Sandbox escaping: ovvero quando i virus rimangono silenti

Nonostante gli indubbi vantaggi per la sicurezza, un sistema di sandboxing potrebbe infondere un falso senso di sicurezza negli utenti che lo utilizzano.

E ciò può portare a prestare scarsa attenzione alle impostazioni di default della sandbox stessa.

Notoriamente, infatti, queste sono sì svincolate dal sistema centrale della macchina, ma collegate agli altri device della rete mediante funzionalità di networking.

Inoltre gli hacker, consapevoli che tali strumenti sono ormai utilizzati per prassi, implementano sofisticazioni nei codici dei loro malware note come tecniche di sandbox escaping.

Non è insolito, infatti, che i pirati informatici inseriscano istruzioni tali per cui un malware sia in grado di

  • riconoscere se si trova all’interno di una sandbox, effettuando un check nella configurazione del sistema in cui sta operando
  • rimanere silente
  • e attivarsi soltanto nel momento in cui venga eseguito in un ambiente reale

Inoltre, qualora ci si trovi all’interno di una sandbox non particolarmente sicura, non è raro incappare in agenti maliziosi in grado di comprometterne l’integrità e arrivare così al sistema centrale.

Tipologie di sandbox

Sul mercato sono disponibili diverse tipologie di sandbox, vediamone insieme una breve carrellata.

Una prima distinzione può essere fatta sulle risorse hardware o software che l’applicativo può utilizzare. Si potranno pertanto utilizzare

  • sandbox basate su appliance
  • e sanbox basate su cloud

Nel primo caso si tratta di un’allocazione locale della sandbox, che necessita di tutta la strumentazione fisica necessaria. Non è raro, infatti, che una sandbox  di questo tipo sia dotata di router, connessione WI-FI e firewall dedicati.

Nella seconda ipotesi, invece, vengono sfruttate risorse hardware messe a disposizione da terze parti, usufruendo soltanto del software in cloud.

Al giorno d’oggi servizi come Paypal, Linux e soprattutto Windows 10 integrano di default nei loro applicativi sandbox che permettono di testare il funzionamento di un servizio in ambiente controllato.

A tal proposito, è opportuno operare un’ulteriore classificazione in base al canale su cui viene effettivamente implementata la sandbox, che a sua volta determina differenti modalità di fruizione e di servizi disponibili.

In base a questo criterio, si possono identificare

  • programmi stand-alone, applicazioni all’interno delle quali è possibile gestire più sandbox contemporaneamente. Basterà definire una cartella specifica e avviare l’applicativo perché tutti i software untrusted possano essere testati senza ripercussioni
  • macchine virtuali vere e proprie. Solitamente allocata su un server separato, poiché ha una portata computazionale maggiore, questa tipologia di sanfbox ha un esempio illustre nella Java Virtual Machine
  • plug-in sandbox, anche questi utilizzati per far girare applets Java (ovvero applicazioni Java che girano sul web) al fine di preservare disco fisso e RAM di sistema
  • e sandbox di sistema operativo. Constatando la loro funzionalità, anche gli sviluppatori di aziende come Windows o Linux hanno messo a disposizione degli utenti la possibilità di fruire di una sandbox direttamente integrata nel sistema operativo. Si tratta, come già accennato, di un notevole vantaggio anche per i normali utenti che possono in tal modo eseguire applicativi in maniera controllata e protetta, senza dover disporre di costose risorse hardware o di specifiche competenze informatiche.

Vantaggi della sandbox basata su cloud

Come si sarà intuito, la scelta delle aziende sta sempre più puntando su soluzioni cloud. Ciò è dovuto al fatto che queste ultime garantiscono tutta una serie di vantaggi per i fruitori.

Tra questi:

  • abbattimento dei costi di implementazione della struttura hardware e software
  • non necessità di appliance testing, ovvero di quel costoso processo di manutenzione indispensabile quando si possiede la struttura hardware e software in loco
  • standard di sicurezza sempre aggiornati e personale esperto dedicato
  • maggiore tutela nel lavoro da remoto e nell’analisi del traffico SSL, ovvero quel traffico dati sul web spesso mascherato come sicuro, ma all’interno del quale possono celarsi minacce

Come configurare una sandbox su Windows

Come accennato, uno strumento che può rivelarsi molto utile per gli utenti del web è quello implementato da Windows 10 che integra una sandbox direttamente nel sistema operativo.

Avviarla e utilizzarla è più semplice di quanto si possa pensare.

E’ bene però precisare che questa funzionalità è resa disponibile soltanto se si possiede una versione di Windows 10 Pro o Enterprise, altrimenti bisognerà acquistare una licenza di upgrade.

A tale prerequisito si aggiungono:

  • un’architettura AMD64
  • almeno 4GB di RAM
  • e 1 GB di spazio libero
  • processore DualCore 

Ecco di seguito gli step per una corretta configurazione della Windows Sandbox

  1. verificare nel BIOS che il device disponga del supporto di virtualizzazione
  2. in caso affermativo, abilitarla alla voce “Abilita supporto di virtualizzazione”
  3. tornando sul sistema, digitare la combinazione di tasti Windows+R
  4. effettuare la ricerca digitando “optionalfeatures”, spuntare la casella Windows Sandbox e premere OK

A questo punto, sarà sufficiente digitare nella barra di ricerca Windows Sandbox e cliccarvi per veder apparire una nuova finestra con la replica della finestra principale.

Per trasferire i file dal sistema alla sandbox sarà sufficiente

  • selezionarlo
  • copiarlo negli appunti tramite comando [Ctrl] + [C]
  • e incollarlo nella sandbox tramite [Ctrl] + [V]

Ciò che viene generato in questo caso è una immagine base dinamica del sistema.

La sigla sta a significare che, attraverso specifiche righe di codice inserite su file XML sarà possibile creare:

  • una copia dei soli file modificabili
  • o file di sola lettura, accessibili tramite un link di collegamento, che non vengono modificati nell’immagine Windows originale

Un’altra piccola accortezza da adottare per prevenire l’eventuale diffusione di malware è impedire alla sandbox e ai programmi presenti su di essa di accedere alla rete internet.

Per riuscire nell’intento sarà necessario creare un file XML contenente le seguenti istruzioni:

Configuration – Networking – Disable

Il file dovrà essere salvato in qualsiasi locazione di memoria con estensione .wsb.

Ciò che bisogna tenere a mente è che una volta chiusa la sandbox, tutte le modifiche apportate andranno perse.

I vantaggi per la sicurezza

Analizziamo ora quali riscontri positivi ha dimostrato l’utilizzo delle tecniche di sandboxing nella gestione della sicurezza informatica.

Per gli addetti ai lavori è indubbio il beneficio derivante dalla possibilità di

Questi vantaggi di tipo operativo si traducono poi per le aziende in

  • una mitigazione dell’esposizione ai rischi informatici
  • minori costi di gestione per i software di testing, che potranno in certa misura essere sostituiti dalle sandbox
  • allocazione più oculata delle risorse hardware

Conclusioni

Come abbiamo visto l’utilizzo di una sandbox in ottica di prevenzione del rischio informatico comporta notevoli vantaggi, sia dal punto di vista operativo che economico.

Inoltre un sistema di sandboxing si rivela utile

  • tanto agli addetti ai lavori, che necessitano costantemente di ambienti sicuri all’interno dei quali testare risorse e applicativi,
  • quanto agli utenti comuni, cui sono stati messi a disposizione software facili da configurare e utilizzare per gestione della loro sicurezza personale in rete

Ciò che non bisogna dimenticare è che di per sé una sandbox non rappresenta un sistema sicuro al 100%, ma saranno le nostre accortezze nel

  • valutarne il grado di affidabilità
  • e nel configurarne al meglio le impostazioni di default

a renderlo tale.

Chi è Onorato Informatica?

Azienda specializzata in sicurezza informatica da oltre 15 anni, certificata ISO 9001 e 27001

Onorato Informatica è un’azienda informatica, specializzata in sicurezza informatica, da oltre 15 anni.
Forniamo servizi di Vulnerability Assessment e Penetration Test a oltre 4500 clienti in tutta Italia.

Ci occupiamo di Cyber Security dalle nostre sedi di Mantova, Parma, Milano e Los Angeles. Siamo un’azienda certificata ISO 9001ISO 27001 e azienda etica.

Se vuoi conoscere i servizi di sicurezza informatica e sapere come possiamo aiutarti, contattaci.