CyberSec (S01 E09): Macchine virtuali e portable apps

Usare le macchine virtuali per creare ambienti sicuri

Se i sistemi di autenticazione, le password, la crittografia e i software per la cancellazione sicura dei dati sono strumenti che, nel corso degli ultimi anni, sono divenuti, per così dire, comuni, e possono essere utilizzati con benefici immediati anche da un utente che non sia molto esperto, vi sono due tipi di software, le macchine virtuali (virtual machines) e le portable apps, che sono, invece, leggermente più complessi da comprendere e da utilizzare ma che possono, a loro volta, contribuire a un quadro complessivo più sicuro del sistema del professionista.

Una macchina virtuale altro non è che un software che, all’interno del sistema operativo da noi utilizzato, è in grado di ospitare altri sistemi operativi. Nella pratica, la macchina virtuale crea dei “finti” computer all’interno del nostro computer principale che consentono di far girare sistemi operativi e applicazioni di famiglie assolutamente eterogenee tra loro. Un professionista, per fare un esempio, che usi un computer con sistema operativo Mac può avere sullo stesso computer, installando una macchina virtuale, tanti ambienti con tanti altri sistemi operativi: diverse versioni di Windows, di GNU/Linux, precedenti versioni di Mac OS e così via.

Perché può essere opportuno e utile avere su uno stesso computer più sistemi operativi anche nella vita professionale quotidiana? A che pro? I motivi possono essere diversi. Si pensi, ad esempio, a un utente che sia “affezionato” a un software che utilizza da tanti anni (ad esempio: un software per interrogare una banca dati giuridica) e che funziona solamente all’interno di una versione specifica di un sistema operativo (considerato oggi obsoleto) e, al contrario, non funziona nei sistemi moderni. Avere, sul proprio computer, una macchina virtuale con quel “vecchio” sistema operativo permette di continuare a far funzionare programmi che, altrimenti, non funzionerebbero.

Un secondo motivo è quello della compatibilità e interoperabilità dei dati e dei programmi: un professionista che ha sulla stessa macchina, ad esempio, le tre grandi famiglie di sistemi operativi oggi esistenti (Windows, Mac OS e GNU/Linux) potrà consultare tutti i documenti, e utilizzare tutte le applicazioni, presenti sul mercato.

Inoltre le machine virtuali sono interessanti per un motivo prettamente legato alla sicurezza. Come si diceva in esordio, la macchina virtuale dà origine a un “ambiente” stagno che è un vero e proprio computer virtuale all’interno del quale gira un sistema applicativo con le sue applicazioni. Ora, questo computer “virtuale” non comunica in alcun modo (a meno che l’utente non lo voglia) con il sistema operativo “reale” del computer principale, per cui un virus che, ad esempio, colpisca un software all’interno di una virtual machine non arriva a danneggiare il computer principale. In termini più semplici: le macchine virtuali consentono di creare all’interno del proprio sistema tanti piccoli computer che possono poi essere eliminati o che possono essere usati per fare esperimenti, per testare documenti o programmi di dubbia provenienza, e così via.

Oggi le potenze di calcolo molto elevate dei computer moderni permettono agevolmente di gestire questo sistema operativo “dentro” il sistema operativo, e le macchine virtuali più moderne sono pienamente compatibili con i prodotti in commercio più diffusi.

I software più sofisticati permettono, infine, di far sì che da dentro la macchina virtuale si possano trasmettere o trasferire documenti al sistema principale, consentendo così il “dialogo” tra ambienti diversi. La comodità è innegabile: non occorre più avere diversi computer per poter usare diversi sistemi operativi, ma uno li può contenere tutti.

Le portable apps, o applicazioni portatili, sono anch’esse state pensate con funzioni di comodità e di sicurezza. Il loro funzionamento è semplice: sono delle applicazioni – ad esempio un client per la posta elettronica, un word processor, un browser per navigare in Internet, un software per le chat – che possono essere installate in qualsiasi dispositivo “portabile” (di qui il nome), come una chiavetta USB o un disco esterno, e funzionano semplicemente appoggiandosi a un computer esterno con un determinato sistema operativo.

La differenza rispetto alle applicazioni che abbiamo installate sul nostro computer è che le portable apps non lasciano tracce della loro attività sul sistema che le ospita e, soprattutto, possono “viaggiare” insieme all’utente il quale semplicemente dovrà entrare in possesso di un computer con un determinato sistema operativo per lanciarle e utilizzarle.

Le portable apps forniscono un primo, evidente beneficio in termini di sicurezza quando vengono utilizzate al posto di un software presente su un computer sconosciuto e, pertanto, da considerarsi insicuro, che si trovi, ad esempio, in un luogo pubblico.

La differenza nell’azione è notevole: si pensi al caso in cui un turista voglia navigare in Internet da un computer presente in un Internet café o in un albergo. Se userà le applicazioni presenti sul computer che si trova davanti (ad esempio il browser Internet), lascerà su quella macchina, non appena se ne andrà, numerose tracce del suo operato (elenco dei siti che ha visitato, immagini o dati nella cache, informazioni su sue password e codici inseriti). Se, invece, semplicemente connetterà una sua chiavetta USB a detto computer e avvierà una portable app per navigare (ad esempio: Portable Firefox), utilizzando quel computer semplicemente come “potenza di calcolo” e con fini “parassitari”, quando estrarrà la chiavetta, chiuderà la portable app utilizzata (in questo caso un portable browser) e se ne andrà da quel luogo, non rimarrà più traccia alcuna delle sue attività sul computer che lo ha ospitato.

Il portarsi sempre con sé una chiavetta con le più utili portable apps permette così di poter usare computer altrui senza lasciare traccia alcuna del proprio operato e aumentare il livello di privacy personale quando siamo “lontani” dai nostri dispositivi. Queste app, infatti, tendono a memorizzare tutti i dati dell’attività stessa sulla chiavetta, non “sporcando” il computer altrui e non seminando, quindi, pericolosi indizi su computer di cui non abbiamo il controllo.