Virus e Contromisure

()

ANTIVIRUS: Un antivirus è un software finalizzato a prevenire, rilevare ed eventualmente rendere inoffensivi codici dannosi e malware per un computer come: virus, adware, backdoor, BHO, dialer, fraudtool, hijacker, keylogger, LSP, rootkit, spyware, trojan, worm, ransomware.

Generalmente tale tipo di programma non è in grado di proteggere totalmente un computer da tutte le di minacce informatiche esistenti – attacchi cibernetici, advanced persistent threat (APT), botnets, DDoS attack, phishing, scam, social engineering o spam – e quindi la sicurezza è generalmente offerta da prodotti compositi e servizi offerti dalle aziende produttrici di software.

Componenti
Un antivirus è composto da più parti differenti, alcune indipendenti tra di loro; alcuni software antivirus possono essere sprovvisti di una o di entrambe le parti 3 e 4, che sono quelle che lavorano “in tempo reale” e in questo caso, il database delle firme va aggiornato manualmente e l’antivirus non effettua controlli dinamici del sistema, per cui è possibile usarlo solo per effettuare scansioni su richiesta:

1 – Il file (o i file) delle firme: un archivio che contiene tutte le firme dei virus conosciuti, parte fondamentale ed essenziale per il funzionamento corretto di qualsiasi altro componente;
2 – il file binario: file in grado di ricercare il virus all’interno dei file del PC infettato e permette di eseguire su richiesta una serie di operazioni come sapere in che data è stato aggiornato l’ultima volta il database delle firme o effettuare una scansione completa del sistema su richiesta;
3 – il file binario che viene caricato in memoria all’avvio del sistema e vi rimane in esecuzione fino a quando non si spegne il PC: questo componente richiama l’antivirus ogni qual volta viene creato/modificato un nuovo file o viene modificata una zona di memoria, per controllare che il computer non sia stato infettato con questa operazione;
4 – il file binario che effettua gli aggiornamenti del file delle firme e di tutte le altre componenti dell’antivirus e che può far parte del file binario principale o essere un programma separato, la cui esecuzione è pianificata periodicamente.

Metodi di analisi

Firme (Signatures)
Il metodo delle signatures, ovvero delle firme, è fra quelli più utilizzati e, sostanzialmente, prevede il confronto del file da analizzare con un archivio in cui sono schedati tutti i malware conosciuti, o meglio le loro firme. L’efficienza di tale metodo si basa sulla completezza dell’archivio, diverso per ogni casa produttrice di software antivirus, e sulla velocità del software nell’eseguire il confronto tra il file e la firma, nonché sulla firma stessa. Una firma di un virus è una sequenza continua di byte che è comune per alcuni modelli di malware. Questo vuol dire che è contenuta all’interno del malware o di un file infetto e non nei file non danneggiati. Al giorno d’oggi, le firme non sono sufficienti per rilevare i file dannosi. I creatori dei malware utilizzano l’offuscazione, utilizzando diverse tecniche per coprire le loro tracce. Ecco perché i prodotti d’antivirus moderni devono utilizzare metodi di rilevamento più avanzati. I database degli antivirus contengono ancora firme (rappresentano oltre metà di tutte le voci del database), ma includono anche voci più sofisticate. L’archivio viene creato analizzando tutti i file presunti dannosi con cui si viene a contatto. Una volta trovato un file presunto dannoso, una casa produttrice di software antivirus, dovrà quindi analizzarlo e, eventualmente, aggiungere la firma di tale file al suo archivio.

Risulta abbastanza chiaro che tutte le vulnerabilità di un sistema operativo – sfruttate nel cosiddetto zero-day – e i malware non ancora scoperti, o semplicemente non ancora analizzati, non possono ovviamente far parte di un determinato archivio. Quindi, di fatto, questo metodo non può portare alla rilevazione totale di tutti i malware esistenti in quanto è presumibile che esisteranno sempre dei malware non ancora scoperti e/o analizzati. Neppure l’utilizzo incrociato di tutti i software antivirus esistenti al mondo potrebbe assicurare la completa inattaccabilità di un computer. Tuttavia, nonostante questo, il metodo delle signatures rimane uno dei metodi più efficienti e consolidati nell’industria del settore. Questo anche perché non tutti i malware si diffondono con la stessa rapidità e con la stessa intensità. Più un malware è infettivo, infatti, e più è probabile che sia arrivato nelle mani dei ricercatori delle aziende produttrici di software antivirus. Quindi, sebbene il metodo utilizzato non garantisca l’assoluta inviolabilità, garantisce comunque una sicurezza abbastanza elevata dai malware più diffusi. Inoltre, bisogna anche considerare che molti dei malware esistenti non sono più in corso di diffusione, la cui esistenza è limitata ai centri di ricerca antimalware, che li usano per i test interni. Infine, uno dei punti chiave per cui il metodo è ancora quello più utilizzato è il fatto che, se correttamente implementato, garantisce un numero esiguo (teoricamente nullo) di falsi positivi, dipendente da come si estrae la firma in quanto se la firma identifica univocamente il malware analizzato (e.g. hash MD5 dell’intero file), questa stessa firma non potrà mai portare a un falso positivo. Tuttavia, le aziende produttrici di software antivirus, per migliorare i loro prodotti al fine di rilevare anche programmi maligni non noti all’antivirus, cioè non ancora contenuti nel loro database dei malware, tendono a prendere solamente firme parziali dei malware. In generale, infatti, la signature estratta è rappresentata da un numero variabile (generalmente almeno tre) di sequenze di byte non consecutivi che rappresentano univocamente (con la migliore precisione possibile) il malware. In questo modo non solo diventa possibile la rilevazione di alcuni malware che non fanno ancora parte del database dell’antivirus, ma diventa anche più compatto il database stesso, con il conseguente aumento di velocità dell’antivirus nella scansione. Altri tipi di tecniche utilizzate per estrarre firme parziali sono i cosiddetti wildcards e le espressioni regolari.

Tecnologie euristiche

Comparazione del numero dei falsi positivi nei vari antivirus
La tecnologia euristica è un componente implementato da alcuni antivirus che consente di rilevare alcuni programmi maligni non noti all’antivirus, cioè non contenuti nel suo database dei malware. Viene generalmente utilizzata come tecnologia complementare al metodo delle firme. Vi sono diversi tipi di tecnologie euristiche, quali ad esempio la scansione della memoria o del codice sorgente in cerca di pattern noti come maligni. Altri metodi possono essere il controllo su sezioni con nomi sospetti o con grandezza dell’header irregolare.

Questa tecnologia non sempre è presente all’interno di un antivirus e non sempre garantisce buoni risultati. Infatti, in base a come viene implementata, se impostata ad un livello troppo sensibile, può portare a un maggior numero di “falsi positivi” e/o di falsi negativi. Allo stesso modo, se impostata ad un livello troppo permissivo, può rivelarsi pressoché inutile. Agli albori, una delle tecniche euristiche più utilizzate riguardava la divisione del file binario in diverse sezioni, come ad esempio la sezione di dati e quella di codice.

Infatti, un file binario legittimo inizia solitamente sempre dalla stessa posizione. I primi virus, invece, riorganizzavano la disposizione delle sezioni, o sovrascrivevano la parte iniziale della sezione per saltare alla fine del file in cui si trovava il codice malevolo. Infine ri-saltavano all’inizio del file per riprendere l’esecuzione del codice originale. Questo, ovviamente, è un pattern ben preciso, che non era utilizzato da software legittimi, e che quindi rappresentava una buona euristica per la rilevazione di file sospetti.

Analisi telemetriche
Poiché le aziende produttrici di software antivirus hanno molti clienti sparsi in tutto il mondo, al giorno d’oggi, ci sono un sacco di informazioni di telemetria che possono essere usate. Anzi, la maggior parte degli antivirus hanno sensori che salvano remotamente alcune informazioni che possono essere utilizzate per decidere, o per aiutare a decidere, se un binario osservato da un determinato cliente in una determinata posizione geografica è maligno o meno.

/ 5
Grazie per aver votato!

How useful was this post?

Click on a star to rate it!

Average rating / 5. Vote count:

No votes so far! Be the first to rate this post.

As you found this post useful...

Follow us on social media!

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?