Al lavoro la società che si occupa di gestire l’antivirus aziendale, utilizza anche le analisi di VirusTotal (non chiedetemi perché, sono anni che me lo domando) per decidere se un file è malevolo e, spesso e volentieri, commette degli errori clamorosi bloccando computer, o costringendo noi IT a controlli e formattazioni dei sistemi per dei file normalissimi e più che sicuri. In molti casi si tratta di documenti Office con una macro di troppo o di eseguibili prodotti in azienda, senza firma digitale, e ritenuti non sicuri dall’antivirus installato nei computer. Casi simili capitano anche a molte persone che navigano su Internet e scaricano un file che il loro antivirus blocca perché lo considera un malware.
Vorrei quindi provare a chiarire alcuni punti per capire come affrontare, e riconoscere, questi falsi positivi e per farlo utilizzeremo proprio le analisi di Virustotal.com.
Un falso positivo è qualcosa che l’antivirus, o i sistemi di sicurezza, riconosce come malevolo ma che in realtà non lo è.
Perché succede?
Le cause possono essere tante di questa errata segnalazione, un eseguibile non firmato dal suo creatore, un programma creato in casa/azienda, come vedrete dopo in un esempio che farò, un particolare tipo di linguaggio scelto per creare il nostro eseguibile, o parti del suo codice, che lo può rendere simile a un altro virus, il tipo di azioni che compie una volta avviato, il livello delle protezioni troppo alto, ma prima di gridare al “Malware”, e cestinare il file, vediamo di ragionarci un attimo sopra.
Esempi di falsi positivi
Come primo caso vediamo questo JSKeyfinder.exe, un vecchio programma in grado di leggere le licenze di Windows e Office, una sola rilevazione da parte di MaxSecure, antivirus indiano di certo non tra i più famosi.
E’ un falso positivo? Direi che è abbastanza probabile.
Se l’unica rilevazione arrivasse da Kaspersky, o Bitdefender, allora potrei pensare di essermi imbattuto in un malware nuovo, non riconosciuto da altri antivirus, e aspetterei qualche giorno prima di utilizzarlo, oppure lo metterei sotto accurato esame con altri strumenti.
Verificate sempre la data dell'ultima analisi, perché potrebbe essere già passato su VirusTotal, se troppo vecchia potete usare Reanalyze
per rifare un nuovo controllo. Con tutti gli aggiornamenti degli antivirus un file "buono" potrebbe essere diventato "cattivo" e viceversa.
Per dimostrare quanto può ingannare l’analisi di VirusTotal, questo file “PericolosoVirus2.exe” è solo un file di comandi .bat, contenente un dir c: e regedit.exe come comandi, da me convertito in eseguibile, viene classificato come un Trojan, ma andiamo a vedere quali sono gli antivirus che lo rilevano, anche se sono diciotto non sono certo tra i più noti e affidabili.
Questo è lo stesso file .bat convertito in .exe, il nome del file era PericolosoVirus.exe in realtà, utilizzando un diverso programma, le rilevazioni scendono a dodici però ci sono in mezzo dei “nomi noti”, come Avira o Avast. Probabilmente la differenza nel numero di rilevazioni è dovuta al programma usato per la conversione in eseguibile.
Questo è il caso di BlueScreenSumulator, disponibile su Github, ci sono ben cinquantasei rilevazioni, con anvirus piuttosto famosi che lo classificano come un malware, in realtà è solo un simulatore delle schermate blu di Windows, un “BadJoke” o uno scherzo.
Con una nota nella pagina di Github, lo sviluppatore del programma avvisa delle false rilevazioni da parte di molti antivirus.
Un altro caso è rappresentato da ProduKey della Nirsoft, si tratta di un tool per recuperare le licenze di Windows e Microsoft Office, niente di pericoloso o di malevolo quindi, però ci sono trentotto rilevazioni e un non esperto si potrebbe spaventare e rifiutarsi di utilizzarlo. Tutti i tool della Nirsoft, se scaricati dal sito ufficiale, o almeno da uno sicuro, non sono malevoli, però mi era capitato di trovarli accompagnati a qualche virus per rubare le password da qualche computer infetto e quindi possono fare scattare molti allarmi negli antivirus per via delle azioni che possono compiere.
La scheda Behavior
Sino ad ora abbiamo visto come può essere facile farsi ingannare dalle analisi di VirusTotal se guardiamo solo i numeri rossi del risultato.
Questo file tabcal.exe è un vero virus, nonostante siano “solo” cinquantatré gli antivirus che lo rilevano, tutti i migliori lo classificano come un trojan, anche se con nomi diversi.
Nella scheda Behavior si trovano tante, anche troppe, informazioni su cosa è in grado di fare il file che è stato appena analizzato. Scartando le informazioni di troppo, alcune non credo siano legate al virus, quelle difficili da leggere a meno di non essere esperti di cybersecurity, vediamo le cose più alla portata di tutti e troviamo le analisi fatte in alcune sandbox online che lo classificano come malware.
Altri dati molto importanti li troviamo nei Crowdsourced Sigma Rules e IDS rules, dove, senza guardarli tutti, si vede che il virus vuole disattivare Microsoft Defender, creare operazioni pianificate, nascondersi nel sistema e tante altre azioni malevole.
Altre informazioni significative sulla pericolosità di questo virus le ricaviamo da File system actions e da Registry actions, dove si vede quali, e quanti, file, o chiavi di registro, vengono aperti, modificati, creati e cancellati dall’azione del virus.
Se si va a leggere la scheda Behavior dell’analisi del file BluescreenSimulator.exe visto in precedenza, o quella dei due eseguibili che ho creato io, non si trovano tutte le azioni dannose per il sistema operativo fatte questo virus, eppure aveva cinquantasei rilevazioni, ma i numeri non contano, o almeno non del tutto.
Vediamo ora la scheda Behavior di Filezilla, questa è la sua analisi, non si tratta di un malware ma di una applicazione che durante la sua installazione offre la possibilità di scaricare altri programmi sponsor. Per questo alcuni antivirus lo bloccano e lo ritengono almeno “sgradito”.
Nella scheda Behavior vediamo che va a contattare il sito playnext.com che offre il programma sponsor. Anche il virus precedente contatta dei siti esterni, ho scelto Filezilla solo perché è più visibile dove si collega.
Nei processi creati vediamo che l’installazione di Filezilla ha scaricato Avast Browser, il programma sponsor, e questo è un modo per vedere cosa fanno dei file sospetti di cui non siamo del tutto sicuri.
Un ottimo esempio di quanto possono essere ingannevoli le analisi di VirusTotal.com, se guardiamo solo il numero di rilevazioni, lo abbiamo in questa discussione del nostro forum. Uno dei file analizzati ha un sola rilevazione, di Kaspersky e quindi piuttosto pesante, mentre l'altro non ne ha nessuna. Se si va però a guardare le scheda Behavior si vede quanti danni sono in grado di fare al sistema operativo.
Un ultimo sguardo lo potete dare anche alla scheda Community
dove ci sono i giudizi, sempre da prendere con le molle, degli altri utenti.
Considerazioni
Vediamo di trarre qualche ragionamento finale, per riconoscere i falsi positivi, da quello che abbiamo visto:
- I numeri delle rilevazioni non sempre contano, a volte può essere più pericoloso il file infetto da un malware nuovo, rilevato da un solo antivirus, però uno di quelli importanti, che quello con un numero di rilevazioni più alto, ma di antivirus sconosciuti ai più, e segnalato con nomi e caratteristiche diverse.
- L’importanza delle fonti da cui scaricate un file: se i tool della Nirsoft, per esempio, li scaricate dal sito ufficiale sono sicuri, anche se possono avere tante rilevazioni o il vostro antivirus li blocca. Se invece li scaricate da un qualche oscuro sito, o da un circuito P2P poco affidabile, le possibilità che siano veramente infetti potrebbero essere alte.
- Anche le dimensioni contano: prendo di nuovo a esempio i tool Nirsoft, se scaricati dal sito ufficiale, sono tutti piuttosto piccoli, nell’ordine di qualche Kb, se li trovate in altri siti, anche se avessero lo stesso nome, e sono grandi qualche Mb, allora diventano decisamente sospetti che ci sia molto altro in questi eseguibili.
- La firma digitale del file: una volta si poteva dire che un file firmato digitalmente era un file sicuro, ora non è sempre così, ci sono stati vari casi di malware firmati digitalmente, sfruttando certificati rubati o riuscendo ad alterare i file originali di installazione per cui la firma digitale non ha più così importanza (Vedi 1, 2, 3).
- Se proprio volete provare a tutti i costi uno di questi file “dubbiosi” (scelta personale con possibili rischi connessi), utilizzate almeno una macchina virtuale di VirtualBox o Sandboxie per isolare l’azione di questi file.
- Una volta gli antivirus basavano il riconoscimento del virus sulla sua “firma”, aggiornavano le definizioni e vi inserivano il riconoscimento del nuovo virus. Ora questo non basta più perché i virus sono sempre più pericolosi e si nascondono sempre meglio agli strumenti di protezione per non essere rilevati. Anche gli antivirus si sono dotati di più strumenti di rilevazione per intercettare comportamenti strani nel computer o nuovi virus appena usciti e non contenuti nelle sue definizioni. Alzare al massimo i livelli di protezione potrebbe però generare troppi falsi positivi, vedi il nostro antivirus aziendale di cui parlavo all’inizio, e portarvi a sostituire l’antivirus usato per l’elevato allarmismo generato.
- Il falso negativo si ha quando l’antivirus non riconosce il malware, nonostante le sue protezioni attive, e si scatena l’infezione nel computer. Quindi è meglio un falso positivo di troppo che un falso negativo. Però basta non esagerare con i falsi positivi.
- Se vi serve qualche strumento online alternativo per analizzare i file potete utilizzare: Hybrid-Analysis, Metadefender, Kaspersky, Any.run.
Conclusioni finali
Per chiudere il discorso, ci possiamo fidare solo del numero delle rilevazioni?
No, o almeno non sempre, vi ho fatto vedere un BluescreenSimulator.exe che ha più rilevazioni di un vero trojan.
Ci possiamo fidare di un file che ha poche rilevazioni?
Dipende dalla fonte di provenienza, principalmente, se vi arriva da un link sconosciuto, o un presunto amico ve lo consiglia via mail, difficilmente sarà qualcosa di buono e magari nel giro di qualche ora le poche rilevazioni diventeranno tante, i virus 0-day o virus appena creati e diffusi.
I malware sono diventati talmente complessi che non basta più una normale rilevazione da parte delle firme dell’antivirus, che può portare al falso positivo come avete visto con i miei eseguibili fatti in casa, ma bisogna guardare cosa succede nella scheda Behavior per capire se quel file è pericoloso. Sicuramente non è facile capire tutti i dati presenti, alcune cose non lo sono neanche per me, però se avete dei dubbi, e ci condividete il link dell’analisi di VirusTotal in una discussione nel forum possiamo darvi una mano.
Se ve la cavate bene con l’inglese potete guardare questo video fatto proprio da persone di VirusTotal, in cui spiegano meglio i falsi positivi.Ringrazio CUB3 e Zigul per alcune idee che mi hanno fornito per portare a termine l'articolo.