Nell’era informatica in cui viviamo, dove gli attacchi informatici sia alle aziende che ai privati aumentano in modo esponenziale, effettuare correttamente un Vulnerability Assessment consente di proteggere i nostri dati e la nostra privacy (o almeno tentare di farlo) e sapere se la nostra azienda o il sito web presentino delle vulnerabilità che qualcuno potrebbe sfruttare per prenderne il controllo o rubare dei dati.
A tal proposito, gli esperti del Clusit, Associazione Italiana per la Sicurezza Informatica, affermano che al 31 dicembre 2019 sono stati registrati 10.087 attacchi noti di particolare gravità, ovvero che hanno avuto un impatto significativo per le vittime in termini di perdite economiche, di danni alla reputazione, di diffusione di dati sensibili (personali e non) o che comunque prefigurano scenari particolarmente preoccupanti.
Indice degli argomenti
Cos’è un Vulnerability Assessment
La maggior parte delle intrusioni ad un server avviene tramite lo sfruttamento di vulnerabilità, che si conoscono e i cui rimedi sono già conosciuti.
In ambito informatico, per Vulnerability Assessment si intende quel processo finalizzato a identificare e classificare i rischi e le vulnerabilità, in termini di sicurezza, dei sistemi informativi aziendali.
Il Vulnerability Assessment è un’analisi di sicurezza che ha come obiettivo l’identificazione di tutte le vulnerabilità potenziali dei sistemi e delle applicazioni valutando il danno potenziale che l’eventuale “attaccante” può infliggere all’unità produttiva.
Queste attività hanno lo scopo di scovare all’interno o all’esterno di un’organizzazione gli eventuali errori di programmazione o di errate configurazioni, commessi durante un’installazione o un upgrade dei sistemi informativi. Uno degli aspetti chiave di questa tipologia di analisi è l’isolamento tempestivo delle vulnerabilità evidenziate che potrebbero causare un blocco temporale o una grave perdita di dati.
Un buon strumento di Vulnerability Assessment permette all’utente di avere una situazione aggiornata del livello di sicurezza degli asset IT. Ovviamente, questo è il punto di partenza per ottimizzare tutti gli sforzi di security management.
Perché fare un Vulnerability Assessment
Uno degli errori più comuni commessi dalle aziende è la convinzione di sentirsi invulnerabili.
Un’azienda dotata dei migliori sistemi di antivirus, firewall, IDS e IPS non è immune agli attacchi informatici oggi sempre più frequenti. Una configurazione errata, una dimenticanza, un passaggio di consegna non eseguito alla lettera, può risultare fatale per il corretto funzionamento della rete aziendale, di conseguenza, una valutazione delle vulnerabilità ben cadenzata è fondamentale per mantenere la continuità operativa di un’azienda.
Cosa sono le vulnerabilità?
La vulnerabilità è intesa come una componente di un sistema, in corrispondenza della quale le misure di sicurezza sono assenti, ridotte o compromesse, il che rappresenta un punto debole che consente a un eventuale aggressore di iniettare del codice malevolo compromettendo la sicurezza dell’intero sistema.
Se questo avviene, l’attaccante avrà la chiave universale per accedere all’intera infrastruttura o quasi, permettendo l’esfiltrazione di dati sensibili che possono causare una danno reputazionale importante.
Come funziona il processo di Vulnerability Assessment
Il Vulnerability Assessment è composto da delle scansioni che vengono effettuate sulle Web app o sulle reti aziendali mediante strumenti professionali, i cosiddetti vulnerability scanner, che setacciano i target aziendali che possono essere:
- scansioni relative al networking e quindi ai dispositivi di rete;
- scansioni relative agli host/server;
- scansioni specifiche per le reti wireless;
- scansioni relative alle Web application;
- scansioni relative ai database.
Sul mercato esistono diversi vulnerability scanner, strumenti sia opensource che commerciali che possono essere utilizzati, ma in questo articolo tratteremo solo uno strumento tra i più conosciuti: Nessus, un vulnerability scanner prodotto da Tenable e disponibile in due versioni:
- Essentials, versione community con funzioni limitate e un massimo di scansioni di 16 IP, ideale per chi voglia intraprendere una carriera nella cyber security;
- Professional: per consulenti e pentester, con scansioni degli IP illimitati e molte funzioni professionali non disponibili nella versione community.
Individuazione dei livelli di gravità (classificazione dei rischi)
Prima di effettuare una scansione alla ricerca di possibili vulnerabilità, dobbiamo conoscere i livelli di gravità e l’intervallo di punteggio CVSS (Common Vulnerability Scoring System) corrispondente utilizzati in tutto il documento per valutare la vulnerabilità e l’impatto del rischio.
Gravità | CVSS V3 | Definizione |
---|---|---|
Critical | 9.0-10.0 | Lo sfruttamento è semplice e di solito comporta un compromesso a livello di sistema. Si consiglia di formare immediatamente un piano d’azione e di patch. |
High | 7.0-8.9 | Lo sfruttamento è più difficile ma potrebbe causare privilegi elevati e potenzialmente una perdita di dati o tempi di inattività. Si consiglia di formare un piano d’azione e patch il più presto possibile. |
Moderate | 4.0-6.9 | Esistono vulnerabilità ma non sono sfruttabili o richiedono passaggi aggiuntivi come il social engineering. Si consiglia di formare un piano di azione e patch dopo che i problemi ad alta priorità sono stati risolti. |
Low | 0.1-3.9 | Le vulnerabilità non sono sfruttabili ma ridurrebbero la superficie di attacco di un’organizzazione. Si consiglia di formare un piano di azione e patch durante la successiva finestra di manutenzione. |
Informational | N/A | Non esiste alcuna vulnerabilità. Ulteriori informazioni vengono fornite per quanto riguarda gli elementi rilevati durante i test, i controlli efficaci e la documentazione aggiuntiva. |
Ecco come effettuare un Vulnerability Assessment
Come già anticipato, Tenable fornisce due versioni del software Nessus, quella commerciale (a pagamento) e la community limitata alla scansione di un massimo di 16 indirizzi IP.
Scarichiamo l’ultima versione di Nessus dal sito web di Tenable e otteniamo il codice di attivazione.
Ora iniziamo la nostra vera avventura.
All’apertura troveremo la home page per la gestione delle scansioni.
Nella sezione Settings troviamo diverse opzioni di configurazione del programma, partendo dalle informazioni di sistema in modo da settarlo a nostro piacere, all’upgrade della versione alle configurazioni di accesso, al consumo delle risorse (utile in scansioni di reti complesse), alla configurazione del proxy, fino notifiche e molto altro.
Cosa sono le policies? Una policy è un insieme di opzioni di configurazione predefinite relative all’esecuzione di una scansione. Dopo aver creato un criterio, è possibile riutilizzarlo come modello quando si esegue una scansione comune. In sostanza sono parametri che controllano tutti gli aspetti tecnici della scansione come timeout, numero di host, tipo di porte, scansioni di database Oracle autenticate, autenticazione basata su HTTP, FTP, POP, IMAP o Kerberos, controlli dei criteri di conformità del database, verbosità dei report, impostazioni di scansione del rilevamento del servizio, controlli di conformità Unix e molto altro.
Per un pentester è una funzione molto comoda, una volta stabilita la sua politica di scansione, la può riutilizzare in un secondo momento.
Supponiamo che ad ogni cliente, oltre alle richieste specifiche di quest’ultimo, si voglia fare una scansione per identificare gli host attivi, le porte aperte o i servizi attivi, possiamo creare una policy personalizzata che potremo importare prima di effettuare una scansione.
Creiamo una nuova policy dal menu a sinistra della home page e clicchiamo su Advanced Scan per personalizzare la nostra scansione che chiameremo first policy.
Quindi ora creiamo la nostra nuova scansione cliccando in alto a sinistra su Scan, poi sul pulsante New scan in alto a destra e, nella schermata successiva dove troviamo l’elenco delle policies, andiamo sul tab User Defined per selezionare la nostra policy personalizzata e la selezioniamo.
Salviamo la scansione e la eseguiamo cliccando sul simbolo del play.
Cosa ottengo con un Vulnerability Assessment
Una volta conclusa la prima scansione Nessus evidenzierà, se ce ne sono, le vulnerabilità ed i relativi livelli di gravità creando report finale.
Cliccando sulla scansione ci appare una schermata riassuntiva con tre tab.
Il primo, Hosts, ci elenca i dispositivi trovati nella rete con eventuali descrizioni e vulnerabilità.
Il secondo, Vulnerability, elenca tutte le vulnerabilità a partire dalle più critiche, e il terzo è uno storico delle scansioni effettuate.
Inoltre, nell’angolo in basso a destra, Nessus ci mostra in un grafico a torta, una statistica delle debolezze sugli hosts scansionati.
- Executive Summary: Un unico foglio riassuntivo per l’amministratore o il titolare dell’azienda che viene avvisato della presenza di vulnerabilità (qual ora ce ne fossero).
- Custom: che contiene L’elenco completo delle vulnerabilità con descrizione tecnica e soluzione da adottare a disposizione dei sistemisti o sviluppatori che gestiscono l’infrastruttura.
Quando eseguire un Vulnerability Assessment?
È dunque evidente che un eventuale Vulnerability Assessment deve essere eseguito il prima possibile. Come già anticipato, al giorno d’oggi, dove la tecnologia è ormai alla portata di tutti, basti pensare la pandemia che stiamo affrontando e come ci si connette sempre più, aziende, industria 4.0, IOT, scuole, ospedali e molto altro, un controllo sulla sicurezza per proteggere i propri dati è fondamentale.
Devo fermare la mia azienda?
Assolutamente no. Il Vulnerability Assessment, a differenza di un PenTest non è invasivo e non rallenta l’infrastruttura ma, ovviamente, deve essere eseguito da personale tecnico esperto.
Ogni quanto lo devo eseguire?
Non c’è una regola fissa che stabilisce quando eseguirlo o meno: si consiglia di schedularlo almeno una volta l’anno, anche se una scansione trimestrale, data la continua evoluzione dei sistemi, darebbe una maggiore garanzia sulla sicurezza.