Scansione virus e malware con più motori diversi senza inviare nulla a VirusTotal

È sempre importante sottoporre a scansione virus tutti i file che si scaricano sul personal computer, specie quelli provenienti da fonti sconosciute.

È sempre importante sottoporre a scansione virus tutti i file che si scaricano sul personal computer, specie quelli provenienti da fonti sconosciute. Prima di avviarli od aprirli è bene verificarne la “bontà”. Come più volte rimarcato, gli antivirus che utilizzano metodologie di scansione virus basate sull’analisi delle firme virali potrebbero non riuscire a riconoscere sempre tutte le minacce, specie quelle di più recente fattura. I database delle firme virali, che debbono essere mantenuti costantemente aggiornati, infatti, vengono quotidianamente ampliati da parte dei tecnici che lavorano nei laboratori delle software house produttrici di soluzioni antivirus ed antimalware. È cosa piuttosto comune, quindi, che talvolta alcuni motori di scansione antivirus riconoscano come nocivo un file quando altri prodotti non rilevano alcunché.
Ecco perché, prima di avviare un file, soprattutto se sospetto o comunque qualora si nutrissero dubbi sulla sua vera “identità”, è cosa ragionevole sottoporlo ad una scansione virus simultanea con più motori antivirus. Uno dei più noti ed apprezzati servizi che offre tale interessante ed utilissima opportunità è VirusTotal.

VirusTotal consente di ricevere in ingresso file di dimensioni massime pari a 32 MB: gli elementi da porre sotto esame dovranno essere manualmente caricati online, uno per uno, trasmettendoli al sito www.virustotal.com.
La società spagnola che ha realizzato VirusTotal ha poi messo a disposizione degli interessati uno strumento (VirusTotal Uploader) che dà modo di caricare uno o più file sul servizio attingendo direttamente al contenuto del proprio sistema o ad un URL remoto. Scaricabile cliccando qui, VirusTotal Uploader effettua comunque il caricamento, uno per uno, di ciascun file indicato quindi provvede ad aprire il browser web predefinito per mostrare il responso di ogni analisi.

Nell’articolo “controllare automaticamente con VirusTotal tutti i file che vengono scaricati“, che vi invitiamo comunque a rileggere, avevamo presentato un approccio differente. Facendo leva sul fatto che VirusTotal tiene traccia delle firme digitali di ciascun file, avevamo sviluppato un semplice script che si occupa di calcolare la firma MD5 di ogni elemento e di trasmetterla a VirusTotal verificando se fosse già disponibile un resoconto prodotto al termine di una precedente analisi del medesimo file. Così facendo, senza caricare alcun file, si ha la possibilità di effettuare rapidamente una scansione virus e controllare se un file possa ritenersi “pulito” oppure sospetto.
Dal momento che VirusTotal è un servizio utilizzato mensilmente da milioni di utenti in tutto il mondo, le probabilità che i file coi quali si ha a che fare siano stati già oggetto di scansione sono molto elevate. Per effettuare velocemente un controllo su un insieme di file, allora, perché non utilizzare il ricco database delle scansioni costantemente aggiornato da VirusTotal e conservato sui server dell’azienda iberica?

Sottoporre a scansione virus un insieme di file senza inviarli a VirusTotal

Se nell’articolo “controllare automaticamente con VirusTotal tutti i file che vengono scaricati” avevamo spiegato come realizzare uno script capace di “sorvegliare” costantemente il contenuto di una cartella ed esaminare i file in essa memorizzati mano a mano che essi vengono salvati nella directory, questa volta vi proponiamo un ottimo software che permette di avviare una scansione antimalware “su richiesta” (on demand).

L’idea è venuta ad un nostro lettore (wargus), che ringraziamo sentitamente. Il meccanismo alla base del funzionamento dello script VBS qui presentato ha funto da base per lo sviluppo di uno script AutoIt, successivamente compilato sotto forma di file eseguibile.
AutoIt è una sorta di linguaggio di scripting che eredita e fa propria gran parte della sintassi BASIC. Distribuito gratuitamente attraverso il sito web ufficiale, AutoIt permette di sviluppare applicazioni Windows anche piuttosto complesse e di automatizzare insiemi di attività.

Il software che vi offriamo gratuitamente calcola la firma SHA1 (hash) di ogni elemento e la trasmette a VirusTotal. In questo modo, è possibile verificare se il file dotato della medesima firma SHA1 sia stato precedentemente già analizzato su VirusTotal stabilendo, quindi, se sia da ritenersi “pulito” oppure dannoso.
VirusTotal è un servizio utilizzato mensilmente da milioni di utenti in tutto il mondo: le probabilità che i file coi quali si ha a che fare siano stati già oggetto di scansione virus sono quindi molto elevate.

L’applicazione sviluppata da wargus utilizzando AutoIt, come illustrato in questa discussione, riceve in input da uno a n file (è possibile specificare anche intere cartelle), ne calcola la firma SHA1, quindi provvede ad interrogare VirusTotal verificando per quali oggetti gli oltre 40 motori antivirus implementati abbiano precedentemente segnalato la presenza di un’infezione.

La procedura da seguire in tre passi per utilizzare il software di controllo antimalware e scansione virus

Il software che vi offriamo per il controllo automatizzato di più file e cartelle su VirusTotal consta di una comoda interfaccia grafica: insiemi di file e cartelle possono essere controllati dalla shell di Windows (cliccando con il tasto destro del mouse e scegliendo Invia a, Invia l’Hash del file a VirusTotal) oppure dalla finestra principale del programma stesso.
Una volta completata la procedura di scansione virus interfacciandosi con VirusTotal, il software visualizza una finestra che funge da riepilogo degli oggetti analizzati. Per impostazione predefinita vengono immediatamente mostrati i file sospetti insieme con la corrispondente firma SHA1 (colonna Hash) ed il numero di report positivi (il numero dei motori di scansione antivirus che hanno rilevato come dannoso il file indicato). Agendo sul menù a tendina, si possono mostrare i file noti come legittimi, quelli che non sono stati trovati nell’archivio di VirusTotal nonché la lista completa degli elementi posti sotto esame.

propone l’intero codice sorgente dell’applicazione.

, si accederà immediatamente alla finestra principale del programma.

Da qui, cliccando sul menù Opzioni quindi sulla voce Aggiungi al menù contestuale di Windows, il programma provvederà ad inserire automaticamente il comando “Invia l’Hash del file a VirusTotal” nel menù “Invia a” di Windows. Ciò significa che selezionando uno o più file e cartelle da Esplora risorse, cliccandovi con il tasto destro del mouse, quindi selezionando Invia a, Invia l’Hash del file a VirusTotal, si avvierà immediatamente il controllo antimalware:

Qualora si volesse rimuovere la voce dal menù contestuale del sistema operativo, basterà, successivamente, selezionare nuovamente il menù Opzioni quindi cliccare su Rimuovi dal menù contestuale di Windows.

Via a via che i file saranno analizzati su VirusTotal, il programma informerà l’utente sullo stato di avanzamento dell’operazione di controllo:

Anziché utilizzare il menù “Invia a” di Windows, è sempre possibile avviare una scansione di file e cartelle servendosi del menù File quindi dei comandi Aggiungi file ed Aggiungi cartelle.

Dopo alcuni secondi di attesa (suggeriamo di aspettare pazientemente soprattutto se i file da controllare sono molti), si otterrà il responso finale:

Nella schermata principale vengono mostrati tutti i file posti sotto la lente. Per visualizzare solo quelli sospetti, basta selezionare Mostra solo i file positivi dall’apposito menù a tendina.
È bene tenere presente che alcuni file potrebbero essere segnalati come potenzialmente nocivi quando, in realtà, non lo sono affatto. Tale comportamento non è riconducibile alla scansione virus effettuata dall’applicazione che vi abbiamo presentato 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 taluni 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 virus 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.
Situazioni simili sono generalmente riconoscibili: quando sono solo uno o due i motori antivirus a rilevare come dannoso un file, è altamente probabile che si tratti di un errore in fase di riconoscimento.

Agendo sul menù a tendina, si può ottenere l’elenco di tutti i file analizzati, degli elementi riconosciuti come legittimi e di quelli non trovati nel database mantenuto costantemente aggiornato da parte di VirusTotal.

I pulsanti Copia e Salva consentono, rispettivamente, di copiare o memorizzare su disco – sotto forma di file di testo – il resoconto finale prodotto dal software. Cliccando con il tasto destro del mouse su un qualunque elemento in elenco quindi scegliendo il comando Mostra il report dal sito per il file selezionato, verrà immediatamente aperta la pagina web contenente l’analisi più aggiornata conservata su VirusTotal.

Il funzionamento dell’applicazione è personalizzabile aprendo, con un normale editor di testo, il file virustotal.ini:

Le opzioni contenute nel file di configurazione sono “autoesplicative”: per impostazione predefinita, il software prende in considerazione i file dotati di qualunque estensione, fatta eccezione per le tipologie indicate con il parametro ESCLUDI_FILE.
Per default, inoltre, il programma esamina ricorsivamente (parametro RICORSIVO impostato a “1”) il contenuto di tutte le sottocartelle eventualmente presenti in una stessa directory.

Ci preme ricordare che il programma proposto in quest’articolo è interamente frutto di una realizzazione autonoma dei nostri lettori: essa non è in alcun modo correlata o correlabile con la società Hispasec Sistemas, sviluppatrice ed amministratrice del servizio VirusTotal.

Lista delle modifiche applicate (“changelog”):

Versione 1.2.0:
– L’interfaccia grafica (gui) si apre all’inizio dell’analisi (e non alla fine, come nelle versioni più vecchie, cosa che costringeva a un’attesa fiduciosa prima di veder comparire i risultati).
– Possibilità di accedere al programma non solo via menù contestuale ma anche direttamente con un doppio clic sull’eseguibile.
– Possibilità di caricare file o cartelle via drag&drop.
– Aggiunta di menù alla gui (i.e. il menu Opzioni che adesso contiene solo la voce per l’aggiunta al menù contestuale di Windows ma che nelle prossime versioni permetterà di personalizzare diversi parametri).
– Aggiunta automatica del link nella cartella “Invia a” di Windows per la creazione della voce nel menù contestuale.
– Stabilito un limite sulle dimensioni del file log raggiunte le quali esso viene cancellato (di default è fissato a 1 MB, può essere modificato inserendo il valore preferito in KB nel file .ini alla voce LOG_MAXDIMENSION).

Versione 1.2.1:
– Alcune correzioni e ottimizzazioni del codice. In particolare, l’opzione per l’aggiunta della voce nel menu “Invia a” di Windows adesso funziona anche in Windows XP. Il programma “ricorda” la dimensione della gui (nel caso in cui venisse ridimensionata) e la posizione relativa sullo schermo.
– Ricommentato completamente il codice sorgente (per coloro a cui dovesse interessare).

Versione: 1.2.2
– Corretti alcuni piccoli bug.
– Eliminata la funzione che permetteva al programma di memorizzare le dimensioni della gui ridimensionata (così come era stata implementata portava più svantaggi che benefici). Ogni volta che la gui viene richiamata, a prescindere da un precedente ridimensionamento, le dimensioni tornano ad essere quelle di default.

Versione 1.2.3:
– Corretto un bug che su Windows XP mandava in crash il programma. In conseguenza di ciò si è reso necessario:
– riscrivere parzialmente il loop di analisi (quello che nel sorgente è indicato come _MainLoop) per renderlo libero da rischi di crash. Tale riscrittura ha probabilmente reso leggermente più lenta l’analisi (in realtà dovrebbe trattarsi di un tempo generalmente impercettibile).
– cambiare il modo in cui veniva catturato il sorgente della pagina html con i risultati della scansione di VirusTotal. Allo stato attuale non viene più utilizzata la funzione nativa di AutoIt che apriva un’istanza nascosta di IE (questa funzione, o quella immediatamente dipendente, è responsabile del crash su XP) ma si utilizza direttamente un oggetto “winhttp.winhttprequest.5.1” che sostanzialmente ottiene lo stesso risultato e sembra immune da problemi.

Un sentito ringraziamento va all’autore, wargus, per aver sviluppato il programma e per lo svolgimento della costantemente opera di ottimizzazione ed aggiornamento.

Ti consigliamo anche

Link copiato negli appunti