Quando si preleva un file dalla rete Internet com’è possibile verificare, immediatamente, se si tratti di un oggetto legittimo o di un elemento che, al suo interno, contiene una minaccia? Il primo livello di difesa è certamente il software antivirus installato sul personal computer ma… è sufficiente? E’ cosa nota, ormai, che gli antivirus facenti uso dei soli database delle firme virali potrebbero avere non poche difficoltà a riconoscere malware da poco apparsi in Rete. Prima di eseguire un file, quindi, soprattutto quegli elementi sui quali si nutre qualche dubbio, il primo banale consiglio consiste nel verificarne l’identità ricorrendo ad un servizio come VirusTotal. Ne abbiamo parlato in decine di nostri articoli: VirusTotal è un sito web che si occupa di sottoporre a scansione qualunque tipologia di file usando, contemporaneamente, oltre 40 motori antivirus, sviluppati dalle varie software house. Se sul proprio sistema si è optato per l’installazione dell’antivirus “A”, utilizzando VirusTotal si potrà ottenere il responso emesso dai motori di scansioni di ulteriori 42 produttori diversi. A VirusTotal è possibile inviare, per richiederne l’analisi, qualunque tipologia di file, a patto che non superi i 32 MB complessivi.
Ci siamo chiesti se fosse possibile mettere a punto un meccanismo, rapido da implementare, che consenta di sottoporre ad analisi tutti i file che, ad esempio, vengono scaricati dalla rete Internet sottoponendoli a VirusTotal.
Ovviamente, è impensabile automatizzare la procedura di controllo per tutti i file scaricati effettuandone, di volta in volta, l’upload su VirusTotal. Utilizzando un approccio simile si sprecherebbe banda inutilmente e si finirebbe col rallentare la connessione in uso.
Perché, allora, non interrogare VirusTotal fornendo solo la firma MD5 di ciascun file prelevato dalla Rete? Come abbiamo spiegato in questo nostro articolo, gli algoritmi di hashing consentono di produrre, per qualunque file, una stringa di caratteri che rappresenta l'”identificatore” univoco di quello specifico elemento.
VirusTotal è un servizio che, quotidianamente, viene utilizzato da parte di utenti di tutto il mondo: ogniqualvolta viene richiesta una scansione su un file, il servizio provvede ad annotare – all’interno dei suoi database – gli hash e quindi le firme del file (MD5, SHA1 e SHA256) oltre, ovviamente, all’esito dell’analisi (presenza di malware o meno).
Copiando l’indirizzo https://www.virustotal.com/latest-scan/
nella barra degli URL del browser quindi aggiungendo una qualunque firma MD5, SHA1 o SHA256, è possibile visualizzare istantaneamente il risultato dell’ultima analisi che è stata condotta sul file corrispondente.
Perché non sfruttare questa interessante funzionalità per produrre un file Visual Basic Script in grado di rilevare ogni nuovo file salvato sul disco fisso ed interagire dinamicamente con VirusTotal?
è il risultato della nostra idea.
Per poterlo utilizzare, innanzi tutto, suggeriamo di creare una cartella sul disco C: (ad esempio: c:\virustotalvbs
) e di salvarvi il file virustotalvbs.txt
avendo poi cura di rinominarlo manualmente come virustotalvbs.vbs
.
Nella medesima cartella si dovrà collocare anche il file MD5.exe
, contenuto in questo archivio compresso.
A questo punto, si dovrà aprire il file virustotalvbs.vbs
utilizzando un editor di testo (ad esempio, Notepad++ o TextPad).
L’unica riga che si dovrà modificare è la numero 10 (cartella = "C:\Users\Michele\Downloads"
). Tale riga indica allo script VBS il percorso che deve essere monitorato.
Nel nostro caso, abbiamo deciso di specificare la cartella all’interno della quale preleviamo, con il browser web, tutti i file (si tratta della cartella di sistema Download). Il percorso C:\Users\Michele\Downloads
dovrà essere quindi sostituito con la directory corretta nel vostro caso.
Dopo aver salvato il contenuto del file virustotalvbs.vbs
, lo script è già pronto per l’uso: facendo doppio clic su tale script, questo inizierà a monitorare la cartella indicata rilevando, in tempo reale (il controllo viene effettuato ogni tre secondi), la memorizzazione di nuovi file.
Nel nostro esempio, non appena salveremo dei nuovi file nella cartella C:\Users\Michele\Downloads
, lo script ne calcolerà l’hash MD5 quindi provvederà a trasmettere tale informazione a VirusTotal. Se il file è conosciuto a VirusTotal ed è stato bollato come potenzialmente pericoloso da almeno due motori antivirus, verrà mostrato il seguente messaggio:
Qualora il file venisse indicato come potenzialmente dannoso solo da un unico motore di scansione, lo script visualizzerà il messaggio che segue:
Se la firma MD5 del file fosse sconosciuta a VirusTotal oppure se una precedente scansione del file non avesse rilevato la presenza di alcuna minaccia, lo script VBS non esporrà alcun genere di messaggio e rimarrà costantemente in esecuzione (presenza del processo wscript.exe
nella finestra Gestione attività o Task manager di Windows):
E’ bene rimarcare che lo script VBS non prende alcuna iniziativa nei confronti del file indicato da VirusTotal come potenzialmente pericoloso (non cancella il file, non lo sposta e non lo rinomina). Sarà l’utente a dover manualmente verificare la segnalazione (magari ricollegandosi con VirusTotal e sottoponendo il file in questione ad una nuova scansione). E’ bene tenere ben presente, inoltre, che alcuni file potrebbero essere segnalati come potenzialmente nocivi quando, in realtà, non lo sono affatto. Tale comportamento non è riconducibile allo script VBS quanto alle firme virali rilasciate dai vari produttori di software antivirus. Può capitare infatti, soprattutto con alcune utilità shareware e freeware, con alcune tipologie di software per la gestione remota, con alcuni programmi distribuiti usando particolari strumenti di compressione, che un elemento sia erroneamente riportato come potenzialmente dannoso (“falso positivo”). In questi frangenti è sempre opportuno effettuare una nuova scansione su VirusTotal, leggere i commenti spesso presenti in calce all’analisi e svolgere qualche verifica in Rete in modo tale da assicurarsi della bontà dell’oggetto.
Se si desidera che lo script VBS venga avviato automaticamente ad ogni ingresso in Windows, è possibile fare clic, con il tasto destro del mouse, sul gruppo Esecuzione automatica del menù Start, quindi cliccare su Apri:
Non appena apparirà la finestra di “Esecuzione automatica“, si dovrà fare clic col tasto destro del mouse in un’area libera della stessa quindi selezionare Nuovo, Collegamento dal menù contestuale.
Nella casella Immettere il percorso per il collegamento si dovrà digitare, ad esempio, c:\virustotalvbs\virustotalvbs.vbs
Nella finestra seguente, in corrispondenza della casella Immettere il nome del collegamento, si potrà digitare, semplicemente, qualcosa come VirusTotal VBS
.
I lettori che necessitassero di chiarimenti sul funzionamento dello script, possono inviare le loro richieste pubblicando un commento.
L’uso dello script VBS, ovviamente, non esime l’utente dall’installare e mantenere aggiornato un software antivirus. Suggeriamo di valutare anche l’adozione di prodotti di nuova generazione che, oltre a poggiare sui database delle firme, abbinino almeno l’uso dell’analisi comportamentale.