Archivi giornalieri: 28 marzo 2013

Virus Machine – Testare malware in tutta sicurezza

virus

Il titolo sembra un pò anomalo per un utente “normale” 🙂 ma  uno smanettone ha sempre la voglia di sapere un pò tutto, compresi gli effetti di un malware su un sistema.

D’altronde è fondamentale anche per studiare e capire come funziona un virus, quali modifiche apporta al sistema, cosa intacca, etc. Gli sviluppatori di antivirus utilizzano questa tipologia di test per studiarne  e placarne gli effetti, in modo da rilasciare firme aggiornate per i loro software.

Ora vedremo vari modi che, se seguiti alla lettera, vi terranno lontani da eventuali problemi.

Non mi assumo alcuna responsabilità in caso di danni ai vostri dati e hardware! 


Backup completo

Prima di cominciare dobbiamo creare un’immagine completa del disco di sistema, questo per ripristinare velocemente e senza problemi lo stato iniziale, nel caso malaugurato un malware bypassi la virtual machine sandboxata (estremamente difficile, ma prevenire è meglio).

Non è indispensabile per l’utente esperto, lo è invece per il neofita.

Il miglior software del suo genere è Acronis True Image, ma purtroppo è a pagamento; altrimenti c’è una validissima alternativa gratuita: Paragon Backup & Recovery.

Non mi soffermerò a spiegarvi come fare il backup perchè non è il tema di questo post.

Vi posto questo video che spiega in modo esauriente come fare con B&R:

Fatto questo vitale passaggio possiamo cominciare.


Virtual Machine

Una VM non è altro che una macchina virtuale, un PC emulato all’interno di un sistema operativo (host, quello ospitante) che può eseguire a sua volta un altro sistema.

Esempio: Posso utilizzare Ubuntu Linux come sistema host, nativo e avviare una virtual machine che esegue Windows XP; in tal caso XP è il sistema ospite, guest.

Ovviamente si può fare in tanti modi, come eseguire Windows sia come host che guest.

virtualbox

Come vedete è un OS eseguito dentro un altro.

Il vantaggio è palese: riuscirete a vedere gli effetti di un malware rimanendo però isolato all’interno del sistema operativo virtuale.

La mia virtual machine prediletta è Virtualbox, perchè:

  • gratuita
  • prestante
  • portable
  • Multipiattaforma (Windows, Linux, Solaris, Mac OS)

Ho creato la mia copia minimale di XP con nLite (in formato ISO), poi ho creato una nuova macchina virtuale denominandola “Virus Machine” (da quì il nome del post).

Una volta installato il sistema, estensioni e guest additions (driver vari) bisogna prestare attenzione a non creare collegamenti (dischi di rete o altro) fra il sistema host e quello virtualizzato (guest).

Per evitare di dover ripulire, o comunque non rischiare di lasciare tracce di malware, è possibile creare un’istantanea del disco virtuale.

Farlo è semplicissimo; a sistema guest avviato andate su Macchina – Cattura Istantanea oppure premete il tasto host+T; verrà salvato un backup completo, un pò come fatto all’inizio per il sistema host. Così facendo sarete sicuri che il sistema virtuale tornerà sempre nello stato iniziale.

Oltre a vedere gli effetti “catastrofici” che un malware produce, è bene capire cosa il malware modifica; per fare questo ci vuole un programma di comparazione come Windows System State Analyzer, che crea uno snapshot in primis a sistema pulito, poi un secondo a sistema infetto, per infine compararli e vedere dove e cosa ha intaccato il malware di turno.

Volendo, per una sicurezza ulteriore, potete utilizzare una sandbox all’interno della VM, vediamo cos’è…


Sandbox

Una sandbox è una zona confinata del disco, protetta, dove una qualsiasi applicazione può essere eseguita senza possibilità di fare danni, e in modo che alla chiusura ogni modifica eseguita sul sistema venga poi rimossa. Sandboxie è uno dei migliori software in questa categoria, e che vi consiglio vivamente di utilizzare 🙂 L’immagine spiega chiaramente quanto accennato sopra:

I file vengono scritti in questa zona protetta in maniera contigua, e alla chiusura nessuna modifica sarà resa definitiva, per cui malware vari non possono fuoriuscire dalla nostra sandbox e compromettere realmente il sistema.

Un’altra OTTIMA alternativa è Returnil.

A differenza di Sandboxie (che crea come detto una zona del disco protetta) crea una copia virtuale della partizione di sistema, dove potrete sbizzarrirvi nel modo che preferite… al riavvio sarà come se non fosse mai successo nulla 😉

Purtroppo da qualche tempo non è più gratuito.

Altri software gratuiti (consigliatissimi) che lavorano come Returnil sono:


Wine su Linux

WINE è una… variazione sul tema 🙂 visto che anche con Linux ( e non solo) è possibile fare quanto detto con Virtualbox; quindi quanto proposto è assolutamente opzionale, un extra che ho voluto inserire 😉

WINE è l’acronimo di Wine Is Not an Emulator, e fornisce un pieno supporto alle API e librerie native di Windows.

Wine agisce solo a livello utente e, oltre questo, un malware scritto per Windows risulta innocuo su questo sistema operativo.

Consiglio comunque di smontare tutti i volumi che eventualmente condividono file con Windows (dual boot).

Una volta fatte le vostre prove basterà eliminare la cartella nascosta Wine (presente nella home utente) ed eventuali riferimenti in questi percorsi:

  • .local/share/applications/
  • .local/share/desktop-directories/
  • .local/share/icons/

Come detto non è soluzione ideale, ma è solo un esperimento “accademico”.


Virus Pack

Se volete provare a sperimentare ma vi manca la materia prima (i malware), basta cercare “virus pack download” su Google e troverete svariati risultati… non me la sono sentita di linkarvi direttamente l’archivio.

Ricordo nuovamente di fare estrema attenzione e di scaricare ed estrarre il virus pack solo quando sarete nella virtual machine.


Considerazioni finali

A parte la divagazione con Wine, il metodo più sicuro è senz’altro quello di utilizzare Virtualbox + Returnil (o similare).

Buon testing 🙂