Sandboxing contro "web ostile" ed applicazioni maligne

Il web è un ambiente intrinsecamente insicuro. In molti nostri articoli, abbiamo evidenziato la crescente tendenza, da parte degli autori di malware, di inserire le proprie pericolose "creature" non sono su siti sviluppati "ad hoc" ma anche su...

Il web è un ambiente intrinsecamente insicuro. In molti nostri articoli, abbiamo evidenziato la crescente tendenza, da parte degli autori di malware, di inserire le proprie pericolose “creature” non sono su siti sviluppati “ad hoc” ma anche su siti Internet legittimi ed ampiamente conosciuti. Come abbiamo già spiegato, ad esempio, in questo articolo, le tecniche che vengono messe in atto sono le più disparate: dall’invio di e-mail contenenti riferimenti a siti maligni, alla pubblicazione in Rete di falsi software di sicurezza che in realtà, se eseguiti, effettuano operazioni nocive, passando per gli attacchi XSS e SQL Injection, sino alla registrazione ed all’utilizzo di nomi di dominio che ricordano da vicino quello di siti web famosi ma differiscono per qualche carattere (“cybersquatting”). Il successo che i vari “social network” stanno universalmente riscuotendo viene in qualche modo “cavalcano” anche dagli autori di malware che hanno iniziato ad inviare agli utenti iscritti ai vari servizi messaggi facenti riferimento a pagine web dannose.

Per mettersi al riparo dagli attacchi, abbiamo precedentemente suggerito una serie di strumenti e metodologie:
Un’analisi delle minacce informatiche presenti e future
Sicurezza: minacce, difese e consigli tecnici

In questo articolo focalizziamo la nostra attenzione sui software per la sicurezza che impiegano tecniche di sandboxing per proteggere il sistema dell’utente. Si chiama “sandbox” un’area protetta e sorvegliata all’interno della quale possono essere ad esempio eseguite applicazioni maligne senza che queste possano realmente interferire con il sistema operativo vero e proprio. Sebbene alcuni malware più moderni si siano fatti più furbi riuscendo a riconoscere l’esecuzione nell’ambito di una macchina virtuale o comunque di una sandbox (in queste circostanze, viene evitato il caricamento di qualunque codice nocivo in modo tale da non insospettire i tool di scansione), le tecniche di “sandboxing” sono comunque utilizzate da molti produttori antivirus dal momento che si rivelano un buon strumento per lo studio di ogni genere di malware.

Mentre le varie soluzioni per la virtualizzazione come VirtualBox, Vmware Player e Workstation, Microsoft Virtual PC, i software di Parallels si prefiggono come obiettivo quello di “emulare” una macchina fisica eseguendo, in un ambiente protetto, un qualunque sistema operativo anche differente da quello installato sulla macchina “host”, le tecniche di sandboxing mirano a difendere solamente delle aree conosciute di Windows (ad esempio registro e cartelle di sistema).

Sandboxie

Un software molto compatto è Sandboxie. Compatibile con tutti i sistemi Windows a partire dalla versione 2000 in poi, il programma può essere sfruttato per eseguire qualunque applicazione nell’ambito di una sandbox, sia essa il browser web, il prompt dei comandi, la stessa shell del sistema operativo. Quando si esegue un’applicazione con Sandboxie, questa viene isolata dal resto del sistema e non ha la possibilità di alterare la configurazione del personal computer in uso. Se si esegue il browser web ricorrendo a Sandboxie, si navigherà in modo sicuro e qualunque file scaricato sarà anch’esso conservato all’interno della sandbox.

Ciò significa che un’applicazione maligna (i.e. “malware”) non è più in grado di andare a modificare le parti “vitali” del sistema operativo: ripulendo la “sandbox” l’utente potrà eliminare ogni eventuale “traccia” dell'”ospite sgradito” certo di non aver causato danni alla configurazione di Windows.
Ogni programma o processo che venga inizializzato da un programma ritenuto “non fidato” ed eseguito, mediante l’uso di SandBoxie, nella “sandbox”, sarà anch’esso eseguito all’interno dell’area protetta in modo tale che il suo funzionamento non abbia effetto sullo stato del sistema operativo.

Questo tipo di approccio ha i suoi pregi ed i suoi difetti. Tra i pregi, l’impossibilità per i componenti malware di intervenire sulle aree chiave del sistema operativo; tra i difetti citiamo quello più evidente: qualunque file legittimo scaricato, ad esempio, tramite il browser web eseguito nella “sandbox” sarà esso stesso conservato nella “sandbox”.

Prima di installare Sandboxie, suggeriamo di effettuare una copia di backup dell’intero sistema, magari servendosi di appositi strumenti per il disk imaging. Sandboxie installa sul sistema in uso un driver che costituisce il cuore dell’applicazione. Come ricordato in fase d’installazione del programma, è caldamente consigliato disabilitare temporaneamente eventuali software, presenti sul sistema, che abbiano come obiettivo quello di monitorare il comportamento delle applicazioni.

La finestra Sandboxie control, richiamabile in qualunque momento anche dal menù Start, Programmi di Windows, elenca tutti i processi in esecuzione all’interno della “sandbox”. Per controllare o modificare la cartella, su disco, ove viene salvato il contenuto della “sandbox”, è sufficiente cliccare sul menù Area virtuale, Imposta cartella di memorizzazione. Ove possibile, è bene indicare un’unità rimovibile (come un hard disk esterno) facendo attenzione a non scegliere lettere identificative corrispondenti ad unità CD/DVD.

Per impostazione predefinita, Sandboxie crea automaticamente una “sandbox” di default. E’ possibile comunque decidere, successivamente, di aggiungerne di nuove, secondo le proprie esigenze.

Cliccando con il tasto destro del mouse sull’icona di Sandboxie, visualizzata nell’area della traybar (generalmente in basso a destra, accanto all’orologio di sistema), quindi cliccando su DefaultBox ed infine su Avvia un programma…, è possibile avviare un software nella “sandbox” predefinita. Nel caso in cui si siano create più “sandbox” differenti, è sufficiente selezionare quella desiderata, in luogo di DefaultBox.

L’icona visualizzata nella traybar può assumere due diverse forme. Nel primo caso, quando è completamente di colore giallo, significa che non ci sono applicazioni al momento in esecuzione all’interno delle “sandbox”; viceversa, se l’icona si arricchisce di alcuni punti di colore rosso, significa che Sandboxie sta gestendo l’esecuzione di uno o più programmi.

Com’è immediato verificare, dallo stesso menù è possibile avviare il browser web di default, il programma per la gestione della posta elettronica o un’applicazione elencata nel menù Start di Windows. All’interno della barra del titolo di ciascun programma eseguito nel contesto della “sandbox”, Sandboxie aggiunge il simbolo [#]. In questo modo è immediato identificare a colpo d’occhio tutti quei software che sono avviati nell’area protetta.

In questo caso, abbiamo avviato il browser Firefox in modalità protetta, servendoci di Sandboxie. I processi SandboxieRpcSs.exe e SandboxieDcomLaunch.exe sono correlati al funzionamento del programma e non richiedono alcun intervento da parte dell’utente.

Eseguendo il browser web all’interno della “sandbox”, ogniqualvolta si effettua il download di un file, Sandboxie mostra una finestra di dialogo simile alla seguente:

Cosa significa “recupero”? Come precedentemente anticipato, Sandboxie memorizza tutti i file scaricati mediante un’istanza “sandboxed” del browser all’interno della sua area protetta. Qualunque nuovo elemento prelevato, quindi, non sarà immediatamente spostato sul sistema ma continuerà a risiedere nella “sandbox”. Attraverso la finestra Recupero immediato, si può indicare a Sandboxie se si desidera che il file prelevato venga subito salvato sul sistema, nella cartella specificata oppure in una posizione diversa. Cliccando su Chiudi, il file indicato continuerà invece a restare nella “sandbox”.

Per maggiore sicurezza, in modo da scongiurare la copia di file potenzialmente nocivi sul sistema, è possibile disattivare la funzionalità di ripristino immediato: è sufficiente cliccare con il tasto destro del mouse sulla “sandbox” (Area virtuale DefaultBox), nella finestra principale di Sandboxie, scegliere Impostazioni dell’area virtuale, Recupero, Recupero immediato e disabilitare la casella Abilita il recupero immediato.

Per recuperare un file dall’area virtuale (“sandbox”) e copiarlo sul sistema in uso è possibile usare due metodologie. Quella consigliata consiste nell’avviare Windows Explorer in modalità “sandboxed”: basta cliccare con il tasto destro del mouse sull’icona di Sandboxie, scegliere ad esempio DefaultBox quindi Avvia Esplora risorse. A questo punto, una volta individuati i file scaricati in precedenza, si potrà copiarli dalla “sandbox” al sistema “reale” con una semplice operazione di copia e incolla.
Si supponga di aver scaricato con Internet Explorer o con Firefox, avviati entro la “sandbox”, due file sul desktop. Tali file non saranno visibili sul sistema “reale” fintanto che non verranno recuperati dall’area protetta. Avviando Esplora risorse con Sandboxie, si noterà la presenza dei due file precedentemente scaricati sul desktop. Per ripristinarli ed estrarli dalla “sandbox” sarà possibile trascinarli in una qualunque cartella del sistema (aperta all’infuori dell’area protetta).

In alternativa, è possibile ottenere la lista dei file scaricati all’interno della “sandbox”, cliccando sul menù Visualizza, File e cartelle (finestra Sandboxie control). Cliccando con il tasto destro sui file d’interesse, quindi ricorrendo ai comandi Recupera nella stessa cartella o Recupera in un’altra cartella, sarà possibile avviare il ripristino.

Ancora, cliccando con il tasto destro del mouse sulla “sandbox”, sempre dalla finestra principale di Sandboxie (Sandboxie control), quindi su Recupero veloce, il programma mostrerà una schermata che riassume tutti i file e le cartelle create nell’area virtuale protetta e che possono essere ripristinati sul sistema “reale”.

Il comando Cancella il contenuto, anch’esso presente nel menù che compare cliccando con il tasto destro del mouse sull’icona di Sandboxie, consente di rimuovere rapidamente tutto il contenuto dell’area virtuale protetta.

GesWall

Un’altra interessante applicazione che utilizza la tecnica del “sandboxing” è GesWall. Il programma è in grado di isolare automaticamente alcune tipologie di applicazioni (browser, visualizzatori di file PDF, gestori di file compressi e così via), compresi tutti i processi da esse utilizzati, file e chiavi del registro di sistema impiegati.

Per avviare un’applicazione in modalità protetta – od “isolata”, come indica GesWall – è sufficiente fare clic con il tasto destro del mouse sull’eseguibile o sul collegamento allo stesso e scegliere il comando Run isolated. Mentre Sandboxie inserisce il simbolo [ # ] nella barra del titolo delle applicazioni avviate all’interno della “sandbox”, GesWall le evidenzia – in modo predefinito – facendo lampeggiare la barra del titolo stessa. Tale indicazione visuale è liberamente personalizzabile cliccando sull’icona “G” e scegliendo l’impostazione preferita (Blink effect).

Eseguendo normalmente, invece, una qualunque applicazione, GesWall richiederà se si desideri “isolarla” dal resto del sistema:

A seconda delle impostazioni del programma, la finestra di avvio può comparire nel momento in cui l’applicazione tenti di accedere ad una risorsa considerata come potenzialmente insicura oppure allorquando si accinga ad instaurare una connessione Internet. La casella Do not ask again permette di evitare di dover effettuare, successivamente, la medesima scelta (esecuzione del programma indicato in modalità “isolata” oppure normalmente, senza alcun tipo di protezione).

Nella versione freeware, completamente gratuita, GesWall dispone di un archivio di applicazioni conosciute (sezione Applications nella finestra principale del programma). Tale database non è tuttavia automaticamente aggiornabile: si tratta di una prerogativa offerta solamente agli acquirenti della versione “pro” dell’utilità.

L’Application wizard, avviabile cliccando con il tasto destro del mouse su qualunque eseguibile, permette di fare in modo che GesWall aggiunga una regola “ad hoc” all’interno del database. Il software monitorerà l’attività dell’applicazione indicata stabilendo a quali risorse essa tenta di accedere (file, registro di sistema e così via) e costruendo delle regole specifiche.
La modalità avanzata (Expert mode) è appannaggio degli utenti più smaliziati e permette di risolvere, principalmente, problematiche che si dovessero evidenziare durante l’esecuzione dell’applicazione in modalità protetta.

Nella sezione Resources di GesWall, è possibile consultare un elenco di risorse considerate come fidate oppure da trattare con cautela. Sono “trusted” quelle ritenute fidate: un’applicazione “isolata” non può modificarle (a meno che non sia stato concesso il diritto di farlo attraverso una specifica regola) ma solo eventualmente leggerle. Le risorse “confidential” non sono invece in alcun modo accessibili da parte di un’applicazione “isolata” mentre con “deny create” viene impedita la creazione di file e cartelle all’interno della directory specificata. Viceversa, le risorse classificate come “untrusted” sono liberamente utilizzabili anche da parte delle applicazioni isolate. Per impostazione predefinita, il software esegue in modalità protetta (“isolata”) tutte le applicazioni conosciute e presenti, quindi, nel suo database. Nel caso in cui si tenti di avviare un programma sconosciuto, GesWall mostra una finestra richiedendo un intervento da parte dell’utente ovvero di specificare se l’applicazione indicata debba essere eseguita o meno nella modalità protetta.

Durante la navigazione in modalità protetta, su alcuni siti che fanno ampio uso di codice JavaScript, è possibile rilevare dei rallentamenti, non riscontrati invece durante l’uso di Sandboxie.

(richiede Windows 2000, XP, Vista o Server 2003).

Returnil Virtual System Personal Edition

La soluzione offerta da Returnil è differente rispetto a quelle proposte da Sandboxie e GesWall. Il programma, infatti, consente di “produrre” una copia speculare del sistema in uso da avviare, al boot del personal computer, in luogo di quella utilizzata quotidianamente e correntemente installata sul disco fisso. Il programma consente di allestire un “ambiente virtuale” da impiegare per le comuni operazioni: ogni modifica effettuata in tale contesto non verrà automaticamente applicata sulla configurazione “reale” di Windows. Come spiegano gli sviluppatori di Returnil, se il sistema dovesse essere malauguratamente infettato da malware, per liberarsi dell’infezione sarà sufficiente riavviare il personal computer in modo da perdere tutte le modifiche operate sull’“ambiente virtuale”.

Prima di procedere con l’installazione di Returnil, è bene verificare di avere effettuato il login in Windows utilizzando un account dotato dei diritti di amministratore.

Durante l’installazione del programma, verrà richiesto di impostare le dimensioni della cache. All’interno di essa (la cache può essere creata in RAM oppure su disco), Returnil salverà una copia delle informazioni necessarie per il corretto funzionamento del sistema operativo. Se si prevede di gestire file di grandi dimensioni, è opportuno aumentare le dimensioni della cache.

Come ultimo passo, verrà richiesto se si desidera usare una “partizione virtuale”. Essa verrà memorizzata su disco fisso sotto forma di file con estensione .IMG e potrà essere automaticamente “montata” all’avvio di Windows (Mount Virtual Partition automatically at Windows boot): in questo modo il sistema operativo assegnerà immediatamente la lettera identificativa specificata (Virtual Partition Drive Letter) al contenuto della partizione virtuale. Impiegando la partizione virtuale, sarà possibile memorizzare dati in modo permanente.

La partizione virtuale, “vista” e trattata da Windows come una qualunque altra unità, offre la possibilità di salvare file sui quali si nutrono dubbi e che quindi non si considerano pienamente sicuri. “Smontando” la partizione od effettuando un reboot del personal computer, il contenuto della partizione virtuale non verrà perso.

Dopo il riavvio del sistema, Returnil mostrerà sia nella traybar, sia mediante la visualizzazione di una piccola barra sul desktop, lo stato della protezione. Quando “system protection” è su “off” significa che tutte le modifiche apportate sul sistema verranno realmente applicate. Con un doppio clic sull’icona di Returnil, è possibile configurare il funzionamento del programma.
Il link Change, in corrispondenza di Protection status è il fulcro del funzionamento di Returnil. Attivando la protezione (Turn the protection feature ON), le modifiche applicate al sistema saranno registrate in modo “virtuale”. Per intervenire sull’impostazione Protection status è indispensabile essere correntemente loggati con un account di tipo amministrativo.
Variando lo stato della protezione da “on” ad “off” e viceversa, sarà sempre necessario operare un riavvio del sistema operativo.
La funzionalità Session lock permette di abilitare temporaneamente la protezione di Returnil, facendo in modo che sia attiva esclusivamente durante la sessione di lavoro corrente: riavviando il sistema il programma tornerà ad operare utilizzando l’impostazione di default definita in precedenza. A differenza della modifica dello stato di protezione mediante il link Change (Protection status), l’abilitazione della funzione Session lock non implica il riavvio di Windows, purtuttavia – come ricorda il programma – è caldamente consigliata la chiusura di tutte le applicazioni in esecuzione.

Returnil include anche un meccanismo che consente di fare in modo che la protezione venga automaticamente abilitata su base programmatica. Cliccando su Change in corrispondenza della voce Protection scheduler, è possibile regolare Returnil affinché modifichi, periodicamente, lo stato della protezione.

Per fare in modo che le impostazioni di Returnil non possano essere variate da persone non autorizzate, cliccando sul pulsante Preferences quindi sulla scheda Others infine spuntando la casella Restrict program access, si potrà impostare una password.

Ti consigliamo anche

Link copiato negli appunti