Il vulnerability assessment cerca in modo ampio e ripetuto le vulnerabilità note dei tuoi sistemi e le ordina per gravità; il penetration test prova a sfruttarne alcune, come farebbe un attaccante, per dimostrare fin dove si può arrivare. Il primo risponde a "quanti punti deboli ho e quali sistemo prima?", il secondo a "un attacco reale riuscirebbe?". Non sono alternativi: il primo è la manutenzione continua, il secondo una verifica in profondità a intervalli.
Vulnerability assessment e penetration test: le differenze in breve
La confusione nasce perché entrambi partono da una ricognizione dei sistemi e usano in parte gli stessi strumenti. Cambiano però lo scopo, il modo di lavorare e il risultato che ricevi.
| Aspetto | Vulnerability assessment | Penetration test |
|---|---|---|
| Domanda a cui risponde | Quali vulnerabilità note ci sono e quanto sono gravi? | Un attaccante riuscirebbe a entrare, e fin dove arriverebbe? |
| Ampiezza e profondità | Ampio: tutti gli host, i servizi e le applicazioni in perimetro | Profondo: un perimetro e degli obiettivi concordati |
| Metodo | Scansioni automatizzate, con verifica dei risultati | Lavoro manuale di specialisti, supportato da strumenti |
| Sfruttamento delle vulnerabilità | No: le individua senza sfruttarle | Sì, in modo controllato e concordato |
| Impatto sui sistemi | Basso, se le scansioni sono non invasive | Da pianificare: alcune prove possono disturbare i servizi |
| Frequenza tipica | Continua o periodica, e dopo ogni cambiamento | Periodica (spesso annuale) e dopo modifiche importanti |
| Risultato | Elenco di vulnerabilità con severità, CVE e rimedi, confrontabile nel tempo | Rapporto con gli scenari di attacco riusciti, le prove e le raccomandazioni |
| Costo relativo | Più contenuto per singolo ciclo, ripetibile | Più alto per singolo intervento, legato alle giornate di lavoro |
La sigla VAPT (Vulnerability Assessment and Penetration Testing) indica l'uso combinato delle due attività: prima si mappano le debolezze, poi si verifica quali sono davvero sfruttabili.
Cos'è un vulnerability assessment
Un vulnerability assessment è un controllo sistematico dei sistemi alla ricerca di vulnerabilità note: software non aggiornato, servizi esposti senza motivo, configurazioni deboli, protocolli e certificati obsoleti, credenziali predefinite. Ogni rilievo viene di solito associato a un identificativo CVE, il catalogo pubblico delle vulnerabilità, e a un punteggio di gravità.
Il suo punto di forza è la copertura: guarda tutto il perimetro, non un campione. E diventa davvero utile quando è ripetuto nel tempo. Ogni settimana vengono pubblicate nuove vulnerabilità, e un sistema pulito oggi può non esserlo fra un mese. Un assessment continuo ti dice cosa è comparso di nuovo, cosa hai risolto e cosa resta aperto: è lo strumento operativo del patch management.
Il limite è altrettanto chiaro: un vulnerability assessment non dimostra che una vulnerabilità sia sfruttabile nel tuo contesto, e non vede le debolezze che nascono dalla logica di un'applicazione o dalla combinazione di più problemi minori.
Cos'è un penetration test
Un penetration test è un attacco simulato, autorizzato e circoscritto, condotto da specialisti. Si parte da regole d'ingaggio scritte: cosa si può toccare, in quali orari, con quali tecniche, chi avvisare se qualcosa va storto. Poi il tester cerca di raggiungere un obiettivo, per esempio ottenere privilegi di amministratore, leggere un archivio riservato o passare da un'applicazione web alla rete interna.
Il valore sta nella profondità. Un tester può concatenare tre vulnerabilità di gravità media e ottenere un risultato grave, o trovare un errore nella logica di un'applicazione che nessuno scanner riconoscerebbe. Si distingue spesso fra test black box (nessuna informazione iniziale), grey box (qualche credenziale o documentazione) e white box (accesso completo a configurazioni o codice).
Il limite è il rovescio del pregio: un penetration test è una fotografia approfondita di un perimetro ristretto, in un momento preciso. Non ti dice cosa succederà dopo il prossimo aggiornamento o la prossima regola di firewall aperta.
Automatico, manuale e falsi positivi
Si dice spesso che il vulnerability assessment è automatico e il penetration test manuale. È vero solo in parte. Gli scanner lavorano confrontando versioni, risposte e configurazioni con un archivio di test, e per questo producono due tipi di errore:
- falsi positivi: una vulnerabilità segnalata che in realtà non c'è, per esempio perché il produttore ha corretto il difetto senza cambiare il numero di versione;
- falsi negativi: una vulnerabilità presente che lo strumento non vede, perché il servizio non risponde come previsto o il test non esiste ancora.
Un report pieno di falsi positivi fa perdere tempo e, peggio, fa perdere fiducia: dopo il terzo allarme infondato si smette di leggerlo. Per questo un buon vulnerability assessment prevede una verifica manuale dei risultati e un modo per dichiarare un falso positivo una volta, senza ritrovarlo a ogni scansione. Anche il penetration test usa strumenti automatici; ciò che lo distingue è il ragionamento umano che collega i risultati e prova a sfruttarli.
CVSS: come si leggono le severità
Il CVSS (Common Vulnerability Scoring System), mantenuto dall'organizzazione FIRST, assegna a ogni vulnerabilità un punteggio da 0 a 10. Le fasce qualitative sono: bassa (da 0,1 a 3,9), media (da 4,0 a 6,9), alta (da 7,0 a 8,9) e critica (da 9,0 a 10). La versione più recente è la 4.0, ma molte fonti pubbliche riportano ancora i punteggi calcolati con la 3.1.
Il punteggio di base descrive la gravità intrinseca, non il rischio per la tua azienda. Una vulnerabilità critica su un server isolato e spento può pesare meno di una media su un servizio esposto a Internet che gestisce i pagamenti. Il CVSS serve per ordinare il lavoro; la decisione finale va presa sul contesto, cioè con un'analisi dei rischi. Conta anche se la vulnerabilità è già sfruttata attivamente, come accade con gli zero-day.
Scansione interna, esterna e web application
Sia il vulnerability assessment sia il penetration test si possono fare da punti di vista diversi, e ciascuno simula un attaccante diverso.
Esterna
Parte da Internet e vede ciò che vede chiunque: indirizzi pubblici, porte aperte, servizi esposti, VPN, posta. È il punto di vista di un attaccante qualsiasi e conviene ripeterlo spesso, perché il perimetro cambia più di quanto si pensi. Vedi il vulnerability assessment della rete esterna e il monitoraggio della superficie di attacco.
Interna
Parte dalla rete aziendale e simula chi è già dentro: un dipendente infedele, un PC infettato da un allegato, un dispositivo compromesso. Qui emergono server non aggiornati, stampanti e apparati dimenticati, cartelle condivise aperte a tutti. Richiede una sonda o un accesso alla rete, come nel vulnerability assessment della rete interna.
Web application
Siti, portali, CRM e gestionali online sono spesso sviluppati su misura, quindi possono avere difetti nel codice oltre che nelle versioni. Uno scanner per applicazioni web trova configurazioni errate, pannelli esposti, componenti vulnerabili e alcune classi di errore come le SQL injection; i difetti di logica (un utente che vede i dati di un altro cambiando un numero nell'indirizzo) richiedono di solito un test manuale. Per i siti c'è il vulnerability assessment delle web application.
Frequenza e costi a confronto
Il vulnerability assessment si presta a una cadenza regolare, settimanale o anche più fitta per il perimetro esterno, e a un controllo dopo ogni cambiamento rilevante. Il costo di un singolo ciclo è contenuto perché il lavoro è in gran parte automatizzato, e cresce con il numero di sistemi controllati e con la quantità di verifica manuale prevista.
Il penetration test si pianifica di solito una volta l'anno, prima di mettere in produzione un'applicazione importante o dopo una modifica significativa dell'infrastruttura. Il costo dipende dalle giornate di lavoro degli specialisti, quindi dal perimetro, dalla complessità e dal tipo di test. A parità di budget, un penetration test copre molto meno superficie, ma la esplora a fondo.
Un errore frequente. Comprare un penetration test annuale e considerarlo sufficiente. Fra un test e l'altro passano dodici mesi di nuove vulnerabilità, nuovi servizi e nuove configurazioni: è proprio lo spazio che copre un vulnerability assessment continuo.
Cosa chiedono NIS2, ISO 27001, PCI DSS e GDPR
Le norme raramente dicono "fai un penetration test": chiedono di gestire le vulnerabilità e di verificare che le misure funzionino. Il modo di dimostrarlo, però, passa quasi sempre da queste due attività.
- NIS2: fra le misure di gestione del rischio ci sono la gestione e la divulgazione delle vulnerabilità e le procedure per valutare l'efficacia delle misure adottate. Le specifiche ACN chiedono di identificare e trattare le vulnerabilità; un assessment periodico, documentato, è il modo più diretto per farlo. Vedi la guida NIS2: chi è obbligato.
- ISO/IEC 27001:2022: il controllo 8.8 dell'Allegato A riguarda la gestione delle vulnerabilità tecniche; il controllo 8.29 i test di sicurezza nello sviluppo e nell'accettazione. Lo standard non impone il penetration test, ma un auditor si aspetta di vedere come individui e tratti le vulnerabilità. Vedi ISO/IEC 27001.
- PCI DSS v4.0.1, per chi tratta carte di pagamento: scansioni di vulnerabilità interne almeno ogni tre mesi e dopo cambiamenti significativi, scansioni esterne trimestrali eseguite da un fornitore approvato (ASV), e penetration test interno ed esterno almeno una volta l'anno e dopo modifiche significative.
- GDPR: l'articolo 32 chiede una procedura per testare, verificare e valutare regolarmente l'efficacia delle misure di sicurezza. Le scansioni periodiche sono un'evidenza concreta. Vedi GDPR.
- DORA, per il settore finanziario: prevede un programma di test della resilienza digitale e, per alcune entità individuate dalle autorità, test avanzati basati sulle minacce (TLPT). Vedi DORA.
Quando serve l'uno e quando l'altro
Per la maggior parte delle PMI la risposta è un ordine, non una scelta.
- Prima il vulnerability assessment, in continuo. Se non conosci i tuoi sistemi e le loro vulnerabilità note, un penetration test troverà le stesse cose che troverebbe uno scanner, a un costo più alto.
- Poi il penetration test, mirato. Quando le vulnerabilità note sono sotto controllo, il test serve a cercare ciò che gli strumenti non vedono: catene di attacco, errori di logica, configurazioni che sembrano corrette e non lo sono.
Il penetration test è particolarmente indicato prima di pubblicare un'applicazione web che gestisce dati personali o pagamenti, dopo una migrazione o una riorganizzazione della rete, quando un cliente o una norma lo chiedono espressamente, e quando vuoi verificare che i controlli di rilevamento si accorgano davvero di un attacco.
Come ti aiuta Dottor Box
Dottor Box fa vulnerability assessment continuo, non penetration test. Le scansioni sono automatizzate e semi-automatizzate, non invasive, su rete interna (con la sonda Cyber Drill), rete esterna e applicazioni web, con oltre 130.000 test di rete e oltre 6.500 controlli per le web application. Le scansioni sono integrate da verifiche manuali di personale qualificato, per eliminare falsi positivi e falsi negativi; un falso positivo dichiarato non torna nelle scansioni successive.
Ogni rilievo ha severità CVSS, CVE e descrizione in italiano, e a ogni giro vedi cosa è nuovo e cosa è stato risolto. Quando serve un penetration test vero e proprio, per esempio su un'applicazione web, è un'attività di consulenza distinta dalla piattaforma: puoi parlarne con i nostri specialisti tramite la consulenza specializzata.