È possibile sconfiggere un problema (quasi) inevitabile?

Falsi positivi: ecco come combatterli

Contenuti

Il processo di scansione di un oggetto (un file o una risorsa web), eseguito tramite un programma per la sicurezza in Internet, si riassume, essenzialmente, nel prendere una decisione di tipo binario: pericoloso o innocuo? Un motore antivirus ipotizza sempre che l’oggetto esaminato sia dannoso e verifica, quindi, se quest’ultimo effettivamente lo è oppure no. Visto che, purtroppo, non esistono soluzioni antivirus perfette, talvolta possono esserci degli errori, i quali, generalmente, si suddividono in due diverse tipologie. Gli errori del primo tipo si hanno quando un oggetto sicuro viene identificato come pericoloso; gli errori riconducibili alla seconda tipologia si producono, al contrario, quando un oggetto nocivo viene riconosciuto come sicuro. In base alla specifica terminologia ereditata dalla statistica matematica, gli errori del primo tipo assumono la denominazione di “falsi positivi”.

Le società specializzate nello sviluppo di sistemi di sicurezza hanno atteggiamenti diversi nei confronti dei falsi positivi. Alcune ritengono che la maggiore priorità sia rappresentata dal combattere le infezioni informatiche. La posizione di Kaspersky Lab in merito a tale problematica è assolutamente chiara: prevenire i falsi positivi è importante quanto assicurare una valida protezione contro il malware. Esamineremo, qui di seguito, i possibili metodi di lotta nei confronti dei falsi positivi, basandoci sull’esempio offerto a tal proposito dalla nostra azienda.

Quando il positivo è negativo

Per l’utente, un falso rilevamento effettuato dalla soluzione di sicurezza IT può significare non essere in grado di accedere ad una determinata risorsa web, oppure non poter utilizzare un programma di fatto sicuro. Indipendentemente dall’importanza del file o del sito web specifico, un rilevamento errato genera sempre un notevole fastidio, e può tra l’altro rallentare o interrompere le attività di business condotte dall’impresa.

Se viene erroneamente identificato come pericoloso un programma che un utente ha appena finito di scrivere, il suo autore inoltrerà di sicuro le proprie lamentele al produttore del software antivirus; a loro volta, gli analisti riconosceranno l’errore, correggendo poi lo stesso con la successiva release di aggiornamento dei database. Tale operazione richiede abitualmente diverse ore di lavoro, a condizione che, ovviamente, il programma risulti davvero innocuo e non faccia quindi nulla che vada oltre ciò che è consentito alle applicazioni di natura legittima.

Si presenta invece una situazione del tutto diversa nel caso in cui venga riconosciuto come dannoso un componente del sistema operativo stesso. Questo può portare a conseguenze ben più gravi, e provocare, talvolta, persino il malfuzionamento o il crash del sistema. Se tale genere di falso positivo va poi ad interessare una grande azienda, si avranno inevitabilmente dei tempi di inattività e, come risultato finale, significative perdite in termini di profitto realizzato. Riteniamo, pertanto, che le società impegnate nello sviluppo dei sistemi di sicurezza IT debbano prestare molta attenzione a questo genere di errori, cercando di ridurre gli stessi ai minimi termini.

Le cause dei falsi positivi

Occorre in primo luogo identificare le cause che determinano il manifestarsi di tali errori. Di fatto, ne possono esistere diverse.

Una possibile causa di rilevamento erroneo è ad esempio rappresentata dal fattore umano; un analista antivirus non può essere sicuramente immune dal commettere errori. Al giorno d’oggi, tuttavia, casi del genere sono davvero rari, visto che attualmente quasi tutte le minacce (99%) vengono rilevate in maniera automatica.

Un falso positivo può verificarsi quando gli sviluppatori di applicazioni legittime utilizzano strumenti di offuscamento del codice e strumenti di compressione del file eseguibile. Tali metodi vengono spesso impiegati dai malintenzionati per ostacolare l’analisi dei programmi malware; per tale motivo, i sistemi di sicurezza possono sospettare che l’applicazione esaminata sia dannosa.

Un falso positivo può essere ugualmente il risultato dell’utilizzo di una firma generica per il rilevamento di oggetti nocivi simili tra loro. Siamo ormai da tempo consapevoli del fatto che numerosi oggetti dannosi sono spesso varianti dello stesso identico codice. Questo significa che, avvalendosi di metodi di classificazione più “intelligenti”, possiamo identificare una parte comune a tutti i sample maligni simili tra loro e creare in tal modo un’unica logica di rilevamento (cioè una firma) in grado di individuare tutti gli oggetti similari. Tali firme generiche vengono create da vari sistemi di rilevamento. Più ampi sono i criteri utilizzati da un sistema per identificare la parte comune a vari oggetti malevoli, maggiori saranno le probabilità che la firma rilevi, in seguito, un oggetto innocuo provvisto di caratteristiche simili.

Infine, un oggetto può essere erroneamente classificato come nocivo quando si ricorre all’utilizzo di tecnologie preposte all’analisi del comportamento dei programmi. Ad esempio, se un’applicazione sconosciuta comincia ad apportare modifiche sospette al registro di sistema, oppure ad inviare i dati personali dell’utente attraverso la rete, il componente che effettua il monitoraggio degli eventi del sistema operativo dovrebbe dare l’allarme. Il fatto è che un simile comportamento può essere rilevato anche relativamente ad un programma del tutto sicuro ed innocuo, ma non utilizzato di frequente.

La lotta nei confronti dei falsi positivi

Le potenziali conseguenze nefaste dei falsi positivi sono state ben comprese, da parte degli analisti, sin dalla stessa nascita dell’industria IT. A quel tempo, tuttavia, sia il numero degli utenti, sia il numero delle minacce Internet risultavano migliaia di volte inferiori rispetto a quanto si registra attualmente; tra l’altro, lo stesso rilascio dei database anti-virus avveniva con una frequenza molto minore. Stando così le cose, i metodi utilizzati 18 anni fa per controllare i database anti-virus non erano particolarmente complessi: gli sviluppatori disponevano di una raccolta di file critici “puliti” (soprattutto file di sistema); prima di rilasciare un aggiornamento, gli esperti effettuavano semplicemente la scansione di tale “collezione”, utilizzando il nuovo database. Se veniva poi riscontrato un falso positivo, il corrispondente rilevamento veniva eliminato, una volta ricevute le prime lamentele. In pratica, il team degli analisti correggeva i database manualmente; così, la potenziale minaccia non avrebbe di sicuro raggiunto un elevato numero di utenti.

Con il trascorrere del tempo, l’entità del flusso di programmi malware è aumentata di migliaia di volte, mentre sono divenuti progressivamente più complessi e sofisticati sia gli stessi software nocivi, sia le tecnologie impiegate per il rilevamento degli oggetti maligni. Kaspersky Lab rileva attualmente, ogni giorno, 325.000 nuovi oggetti dannosi. Nel frattempo, si è considerevolmente ampliato anche l’arsenale relativo ai metodi utilizzati per combattere le minacce Internet. Mentre negli anni Novanta i metodi di rilevamento basati sulle firme dei virus si dimostravano perfettamente all’altezza del compito loro assegnato (la protezione del computer), i prodotti Kaspersky Lab comprendono, adesso, sia avanzate tecnologie volte a prevenire in maniera automatica lo sfruttamento delle vulnerabilità del software, sia appositi strumenti adibiti al controllo dei privilegi delle applicazioni; abbiamo inoltre implementato uno speciale componente in grado di monitorare gli eventi del sistema operativo, così come una serie di ulteriori tecnologie. Occorre poi dire che gli attuali database del software attendibile sono così vasti al punto da occupare, ormai, vari terabyte di spazio su disco.

Ovviamente, viste le specifiche circostanze, non possono più essere utilizzati metodi “arcaici”, per combattere i falsi positivi. Le tecnologie attualmente impiegate per prevenire i falsi positivi sono, di fatto, molto più diversificate ed efficaci. Tali metodi vengono utilizzati sia nella fase di rilevamento degli oggetti dannosi, sia durante la fase di testing e rilascio dei database. Esiste, inoltre, un’ulteriore serie di metodi la cui applicazione consente di ridurre al minimo le probabilità che possano manifestarsi dei falsi positivi durante il normale funzionamento della soluzione di sicurezza IT.

Il controllo delle firme

Come direbbe Capitan Ovvio, il metodo più semplice per evitare i falsi positivi è quello di rilasciare firme che non contengano errori. È per tale motivo che viene prestata particolare attenzione proprio alle varie fasi di creazione delle firme relative agli oggetti nocivi. Se poi in seguito si manifesta un errore, esiste comunque un modo per rimediare rapidamente alla situazione, anche nel caso in cui i database siano stati già installati sul computer dell’utente.

Fase di rilevamento (creazione di firme statiche)

In primo luogo, un sistema dedicato di verifica automatica analizza le firme statiche aggiunte manualmente ai database dagli analisti di virus. Questo perché una persona, concentrandosi con grande attenzione sull’analisi del codice, potrebbe lasciarsi sfuggire la visione completa del quadro esaminato. Così, se qualcuno cerca di aggiungere una firma al database, relativamente ad un oggetto che il sistema percepisce come “pulito”, in base a determinati criteri, il sistema automatico provvede a segnalare il potenziale errore all’analista, evidenziando, tra l’altro, le argomentazioni per cui l’oggetto in questione viene ritenuto tale.

In secondo luogo, per testare le nuove firme in relazione ai falsi positivi, viene utilizzata una raccolta di hash (risultati unici della trasformazione del codice in base ad uno specifico algoritmo) inerenti ad oggetti notoriamente “puliti”. La firma eventualmente creata mediante l’utilizzo di un frammento di codice dannoso viene così confrontata con gli hash presenti nell’apposita raccolta. Se il sistema rileva che la nuova firma, sulla base di determinati criteri, corrisponde all’hash di un oggetto legittimo, viene allora selezionata una diversa porzione di codice per generare la firma relativa a questa minaccia.

Kaspersky Lab mantiene inoltre, a parte, uno speciale database contenente i record “personali” di ogni oggetto maligno a suo tempo analizzato tramite le tecnologie di protezione. Quando si crea un “rilevamento”, viene tenuto in debita considerazione il passato dell’oggetto rilevato; se tale oggetto, in precedenza, non ha destato alcun sospetto, esso viene sottoposto ad un’ulteriore verifica.
Allo stesso modo, per prevenire eventuali errori, si fa ricorso alla speciale raccolta che riunisce quei file che, in passato, hanno generato falsi positivi. Questo permette di evitare il ripetersi degli incidenti nel caso in cui un oggetto sia stato leggermente modificato (ad esempio in occasione della release di una nuova versione di un determinato programma).

Ai database delle firme statiche vengono periodicamente aggiunte firme generiche: se il sistema di rilevamento automatico registra un elevato numero di sample di malware simili tra loro, per combattere tali oggetti nocivi viene creata un’unica logica di rilevamento.

Fase di testing e rilascio dei database

Per assicurarsi che le firme (statiche o generiche) non siano attivate da software “pulito”, i database appena creati vengono sottoposti ad opportuna verifica, tramite la knowledge base denominata Dynamic Whitelist. Si tratta di un’enorme raccolta – peraltro in continua espansione – del software legittimo e sicuro; essa contiene ugualmente vari dati aggiuntivi riguardo ad ogni singolo oggetto (sviluppatore, denominazione del prodotto, versione dell’ultimo update rilasciato, e molto altro ancora). Maggiori informazioni sul funzionamento di Dynamic Whitelist possono essere reperite qui.

Presso Kaspersky Lab opera una speciale divisione adibita alla raccolta e al tempestivo aggiornamento dei dati inerenti al database in causa. Grazie ad accordi stipulati con oltre seicento società specializzate nello sviluppo di software, entra a far parte di tale “collezione” la maggior parte delle applicazioni più popolari, prima che le stesse siano disponibili in commercio per un vasto pubblico di utenti.

Merita inoltre una menzione speciale il sistema preposto alle relative operazioni di scansione. Poiché il volume della raccolta di software legittimo è di fatto enorme, e i database anti-virus vengono in pratica aggiornati ogni ora, è del tutto evidente come non risulti possibile eseguire il processo di scansione mediante l’utilizzo di un normale server. È stato quindi specificamente sviluppato per tale scopo un sistema di elaborazione distribuita dei dati; esso si avvale di decine di server e di appositi sistemi di storage dei dati per ottenere un perfetto bilanciamento del carico.

Tutte le firme che hanno destato il benché minimo sospetto vengono inserite in un registro distinto, la cui funzione è quella di raccogliere i “verdetti” potenzialmente pericolosi. Tali firme sono poi sottoposte ad ulteriori verifiche, che vedono di frequente il coinvolgimento degli stessi analisti di malware.

Una risposta rapida (combattere i falsi positivi durante la fase operativa)

Una volta superati tutti i controlli per essi previsti, i database anti-virus vengono distribuiti agli utenti. A questo punto entra in azione il KSN (Kaspersky Security Network), la sofisticata infrastruttura di sicurezza globale implementata “in-the-cloud” da Kaspersky Lab, la quale raccoglie i dati statistici relativi ad ogni rilevamento eseguito sui computer degli utenti, monitorando così il numero di volte in cui una determinata firma viene attivata.

Gli analisti responsabili del rilascio dei database delle firme continuano quindi a monitorare con attenzione la risposta delle soluzioni di sicurezza IT nei confronti degli aggiornamenti eseguiti. Se viene registrata un’anomalia (quando, ad esempio, in un breve intervallo di tempo una specifica minaccia viene rilevata sui computer di un numero troppo elevato di utenti), questo può essere il segnale che siamo in presenza di un falso positivo. In tal caso, l’analista riceve una segnalazione di allerta e inizia ad eseguire un’ulteriore analisi dell’oggetto rilevato.

Se dall’analisi svolta emerge in maniera evidente che l’oggetto è stato identificato come dannoso a causa di un errore, viene attivata la tecnologia Record Management System. Essa consente di richiamare un record in pochi secondi, facendo uso del Kaspersky Security Network. Inoltre, la firma errata viene rimossa dai database. Se infine si constata che una firma generica, tra le altre cose, rileva erroneamente oggetti “puliti”, gli analisti provvedono a modificare la logica di rilevamento, ed apportano le necessarie correzioni al database. Ad ogni caso, con il successivo aggiornamento del database, l’errore in questione risulterà ormai corretto.

Monitoraggio degli eventuali errori generati dalle tecnologie proattive

Nella fase di sviluppo non si rivela così semplice verificare, in relazione ai falsi positivi, le tecnologie preposte a rilevare il comportamento anomalo dei programmi sui computer degli utenti. In effetti, è praticamente impossibile prevedere tutte le varianti a livello di azioni eseguite dall’utente sulla propria macchina, così come tutte le possibili varianti di software “pulito” che quest’ultimo può utilizzare in tali circostanze. Per tale motivo, sono in primo luogo le tecnologie cloud a proteggere l’utente nei confronti degli eventuali rilevamenti erronei effettuati dalle tecnologie proattive.

Quando il prodotto rileva un oggetto sconosciuto, riguardo al quale non sono ancora presenti informazioni nei database anti-virus locali, l’hash di tale oggetto viene immediatamente inviato all’infrastruttura cloud; quest’ultima, in una frazione di secondo, risponde che l’oggetto in questione è in realtà noto, fornendo tutte le informazioni disponibili. Se si trova nella whitelist del software attendibile, l’oggetto viene riconosciuto come sicuro.

Inoltre, le tecnologie cloud consentono di verificare l’autenticità della firma digitale di un file sospetto, così come il livello di reputazione della società che ha emesso il certificato relativo alla firma digitale. Se la reputazione è ineccepibile e il certificato si rivela autentico, siamo in presenza di due ulteriori fattori che testimoniano in maniera inequivocabile l’assoluta legittimità dell’oggetto. Occorre notare come i dati relativi alla firma digitale e al grado di reputazione della società non siano per nulla statici. In effetti, il prodursi di incidenti informatici può comportare la perdita del livello di fiducia relativo a tali parametri; questo determina un cambiamento nel modo in cui la soluzione di sicurezza IT reagisce nei confronti dei file in causa.

Gli strumenti adibiti al rilevamento proattivo debbono essere monitorati con particolare attenzione proprio nel momento in cui viene eseguito l’update delle funzionalità del prodotto. Quando le tecnologie sottoposte ad aggiornamento iniziano ad operare “sul campo” per la prima volta, dopo i test condotti in laboratorio, possono verificarsi errori imprevisti. È per tale motivo che si ricorre ad un approccio graduale, invece di attivare immediatamente, su tutti i prodotti, i nuovi meccanismi di protezione. Inizialmente, gli aggiornamenti vengono forniti ad un gruppo limitato di tester. Se non si manifestano falsi positivi, le nuove funzioni introdotte vengono rese disponibili per un gruppo più ampio di utenti. In tal modo, anche se una nuova tecnologia presenta qualche difetto, la maggior parte degli utenti non verrà mai a conoscenza di quanto si è verificato in fase di testing.

La lotta contro i falsi positivi a livello di scansione dei siti web

Vale di sicuro la pena illustrare brevemente le tecnologie adibite alla protezione nei confronti dei falsi positivi nel momento in cui viene effettuata la scansione delle risorse web. La rete globale di sicurezza Kaspersky Security Network permette di monitorare nel tempo la reputazione di un sito Internet. Nel caso in cui venga rilevato del contenuto dannoso in una delle pagine del sito, dipenderà dalla reputazione di quest’ultimo se l’accesso a tale risorsa web verrà bloccato parzialmente o completamente. Se il sito gode di una reputazione impeccabile, le soluzioni Kaspersky Lab bloccheranno non l’intero sito, ma solo la pagina che, di fatto, rappresenta una minaccia per gli utenti.

Inoltre, il Kaspersky Security Network effettua ugualmente, a livello statistico, il monitoraggio delle visite ricevute dalle risorse web. Se viene identificato come pericoloso un sito Internet particolarmente popolare presso il pubblico degli utenti della Rete, il sistema automatico provvederà ad avvertire gli analisti, i quali andranno ad eseguire ulteriori verifiche. Questo consente di evitare la comparsa di falsi positivi nell’ambito di una risorsa web molto frequentata.

Conclusioni

I falsi positivi, a livello di prodotti adibiti alla protezione IT, sono in pratica inevitabili: non esistono soluzioni ideali. L’obiettivo dei vendor, tuttavia, è quello di ridurre gli stessi ai minimi termini. E questo è un compito realizzabile.

Gli esperti di Kaspersky Lab monitorano attentamente il funzionamento delle tecnologie di protezione, per impedire loro di commettere errori. Per ogni tipo di oggetto in cui è potenzialmente possibile incontrare una minaccia IT (pagine web, file, banner, settori di avvio, flussi di traffico, etc.), esistono speciali meccanismi appositamente progettati per evitare il manifestarsi di falsi positivi, così come speciali raccolte di oggetti notoriamente “puliti”.

Presso Kaspersky Lab opera un team dedicato, responsabile del perfezionamento dei metodi attualmente esistenti per la lotta nei confronti dei falsi positivi; al contempo, questa divisione specializzata sviluppa nuove tecnologie a tal riguardo. Essa indaga in relazione ad ogni specifico caso, ne analizza le cause, e crea gli strumenti che permettono di prevenire il ripetersi, in futuro, di errori analoghi.

Grazie soprattutto agli sforzi profusi da questo gruppo di esperti, durante i test recentemente eseguiti sui prodotti Kaspersky Lab da parte di ricercatori indipendenti, non è emerso, in pratica, nessun falso positivo.

Post correlati

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *