Le aziende oggi gestiscono moltissime informazioni, facendo un uso sempre più intenso della tecnologia. Ciò le espone a dei rischi quali la perdita o il furto di dati, la conseguente richiesta di riscatti o altre pratiche finalizzate all’estorsione che possono compromettere la loro operatività o la loro immagine e reputazione sul mercato.
Le operazioni di Vulnerability Assessment e di Penetration Test sono strumenti di verifica dei livelli di sicurezza per dati e sistemi di fondamentale importanza per qualsiasi tipologia di azienda, non soltanto per quelle appartenenti al settore enterprise.
Qualunque organizzazione che faccia affidamento sui dati, sensibili o meno, propri o di terzi, necessita di fare controlli periodici sulla tematica cybersecurity, perché la piccola media impresa è esposta allo stesso che investe le grandi aziende.
Le principali differenze tra grandi aziende e PMI restano infatti la disponibilità economica e la strutturazione, entrambi fattori importanti per il miglioramento della sicurezza, ed è proprio per questo motivo che le piccole e medie imprese, come insegnato dalle statistiche negli ultimi anni, rimangono l’obiettivo principale dei pirati informatici perché meno protette e più facilmente penetrabili.
Cosa sono il Vulnerability Assessment e il Penetration Test?
Il Vulnerability Assessment (VA) è l’insieme di azioni atte ad identificare le possibili debolezze che affliggono il sistema informatico oggetto di verifica (target).
Lo scopo principale di questa attività è stabilire la presenza o meno di vulnerabilità all’interno o all’esterno della rete obiettivo, analizzando in modo attento e scrupoloso tutto il “perimetro”, i sistemi, le macchine e le tecnologie.
Il Penetration Test (PT) invece è quell’insieme di tecniche e procedure utilizzate per violare la rete e i sistemi informativi del target.
La finalità del penetration test è dimostrare che le debolezze individuate durante la fase di vulnerability assessment possono essere realmente sfruttate per forzare i sistemi di sicurezza del target e valutare l’impatto che ciò può comportare per i dati, i sistemi e la continuità operativa.
Vediamo nel dettaglio le caratteristiche di entrambi.
Il Vulnerability Assessment
”Una valutazione della vulnerabilità è il processo di identificazione, quantificazione e definizione delle priorità delle vulnerabilità in un sistema.” Wikipedia
Prima di parlare di Vulnerability Assessment, tuttavia, sarebbe corretto introdurre il tema di Vulnerability Management.
Il vulnerability management è la procedura regolare di identificazione, valutazione, assegnazione di priorità, correzione e mitigazione delle vulnerabilità di un complesso informatico.
Questo processo interessa principalmente gli endpoint, le workstation, i sistemi e i loro applicativi. Si può affermare che il Vulnerability Assessment è una parte del Vulnerability Management, ma non l’inverso.
Come abbiamo anticipato, quindi, il Vulnerability Assessment è un insieme di azioni volte a classificare lo stato di esposizione della propria infrastruttura, rilevando la presenza di possibili vulnerabilità che potrebbero mettere a rischio la sicurezza del sistema, dei dati e delle applicazioni.
La finalità del Vulnerability Assessment di conseguenza è quella di valutare l’esposizione a possibili attacchi informatici oltre a permettere l’identificazione di tutte le superfici esposte e i possibili vettori di attacco.
Come viene valutata una vulnerabilità
Le vulnerabilità note vengono classificate attraverso uno standard internazionale, ovvero un sistema numerico chiamato CVSS (Common Vulnerability Scoring System) che inizia da 0 e arriva a 10 per ordine di gravità.
Questo sistema permette di trattare le singole vulnerabilità in base a diversi criteri che prendono il nome di “metriche” e possono essere di 3 tipi:
- Metrica BASE: rappresenta le caratteristiche intrinseche, quelle che non cambieranno né col tempo né col sistema considerato. La metrica base è il contenitore ha due sottogruppi:
- Sfruttabilità: valuta la complessità dell’attacco, il vettore/contesto della vulnerabilità, i privilegi richiesti e se necessita l’interazione da parte dei processi del target affinché si realizzi tale situazione.
- Impatto: rappresenta la componente che subisce il peggior “danno” in seguito allo sfruttamento ed è costituita da tre ulteriori sotto-metriche: Riservatezza, Integrità, Disponibilità.
- Metrica TEMPORALE: riguarda quelle vulnerabilità mutevoli nel tempo, e più precisamente la presenza o meno di patch e fix. La metrica temporale e composta da altri tre elementi:
- Maturità del Codice: afferma che la presenza di codice facilmente reperibile e facilmente utilizzabile farebbe incrementare questo score.
- Correzione: quando viene scoperta una nuova vulnerabilità ancora non esistono patch ufficiali e dunque richiede soluzioni temporanee alternative attuate dal tecnico incaricato. Essa valuta dunque il lasso temporale tra l’applicazione di una patch temporanea alla sua correzione definitiva.
- Report: ossia il livello di validità della vulnerabilità in questione, dimostrando la sua reale esecuzione e possibilità di impiego, chiarendo ed esplicitando il livello di competenze tecniche necessarie e richieste per il suo sfruttamento.
- Metrica AMBIENTALE: Varia in base agli asset interessati e permette di venire a conoscenza delle probabili conseguenze qualora un attacco andasse a buon fine. È composta da 2 elementi:
- Requisiti di sicurezza: indica la criticità dell’asset colpito, dalla commisurazione della triade confidenzialità, integrità e disponibilità rispetto al servizio erogato.
- Metrica di base modificate: correzioni delle metriche base messe in atto dall’operatore tecnico facendo riferimento al complesso degli elementi installati in azienda.
Tuttavia, esistono altri modelli di valutazione delle vulnerabilità, uno di questi è l’EPSS o “Exploit Prediction Scoring System”, che combina le attuali informazioni descrittive dei Common Vulnerability Expousure (CVE) con i dati riguardanti la tangibile prova dello sfruttamento nel “mondo reale”.
Il precedente CVSS del 2007 metteva a disposizione unicamente la severità di una vulnerabilità e non la sua reale possibilità di utilizzo, per questo nel 2019 si è dovuto sviluppare un framework che superasse queste limitazioni. Nacque così l’EPSS, che analizzando e confrontando i dati passati attraverso l’impiego di tecnologie come il machine learning e con l’ausilio di statistica ed analisi, riesce a stimare le probabilità di un eventuale sfruttamento nei successivi mesi e al tempo stesso elimina, o perlomeno riduce, le carenze del modello CVSS.
Il modello EPSS, in base alla probabilità di impiego e utilizzo della vulnerabilità riesce a predire un numero che va da 0 a 1, (1 equivale a “critico”), consentendo agli amministratori di fare una valutazione precisa sul rischio informatico riguardante la propria rete aziendale, inoltre, permette di priorizzare le operazioni di “fixing” e mitigazione da effettuare immediatamente.
L’ambito di analisi del Vulnerability Assessment compete asset a volte molto diversi tra loro, ma comunque facenti parte di una tipica infrastruttura interna alla PMI, la finalità del VA ciò nonostante resta sempre la stessa per tutte le “aree” di interesse.
Tipologie di Vulnerability Assessment
Alcune delle tipologie di Vulnerability Assessment più diffuse sono:
- Network scan: si occupa di esaminare e identificare eventuali dispositivi hardware connessi alla rete interna ma non presenti nell’inventario e dunque, possibili vettori di attacco.
- Host Based: riguarda la ricerca di vulnerabilità sugli host connessi alla rete come server, workstation, stampanti, telefoni e altri dispositivi fisici raggiungibili.
- Wireless Network: si assicura che la rete aziendale, come potrebbe essere la WLAN, sia configurata correttamente e in modo sicuro.
- Application scan: questo tipo di valutazione si occupa di analizzare e trovare software vulnerabile installato sulle macchine presenti nella rete.
- Database scan: ossia valutare le configurazioni dei database interni e determinare cosa sia più opportuno cambiare per prevenire possibili attacchi.
Perché è importante fare le attività di Vulnerability Assessment?
Lo scopo principale di un Vulnerability Assessment è dunque quello di fornire all’azienda una reportistica completa circa la superficie di attacco dei propri sistemi e le proprie applicazioni esposte a internet.
Un’analisi regolare e cadenzata della rete e dei sistemi interni ed esposti ad internet permette di avere conferma che i propri sistemi sono adeguatamente aggiornati e configurati, così da garantire una maggiore sicurezza dei sistemi e dei dati con questi trattati.
Al contrario, se l’assessment rileva nuove vulnerabilità, offre all’azienda l’opportunità di risolverle prima che possano essere sfruttate per un’intrusione criminale.
Tale impegno permette all’azienda di proteggersi dai rischi informatici, di ottenere una migliore conformità alle norme inerenti alla Privacy e alla protezione dei Dati Personali, oltre che di ottenere una migliore collocazione sul mercato qualora la fornitura dei suoi beni o servizi sia indirizzata ad azienda più strutturate e soggette a politiche o norme in ordine alla selezione dei fornitori.
Il problema della sicurezza informatica nella supply chain è infatti sempre più sentito in quanto gli scambi commerciali presuppongono oggi sempre più spesso la necessità di integrazione dei sistemi con i propri clienti e fornitori e l’interconnessione con organizzazioni non adeguatamente protette rischia di vanificare l’impegno e gli investimenti delle aziende più protette.
Il Penetration Test
“In informatica, il penetration test (o informalmente pen test) è il processo operativo di analisi o valutazione della sicurezza di un sistema informatico o di una rete.” — Wikipedia
Ricapitolando, lo scopo del Vulnerability Assessment è quello di identificare ed esaminare le vulnerabilità mentre, lo scopo del Penetration test è quello di ricreare un attacco informatico sfruttando le vulnerabilità e gli errori di configurazione rilevati tramite il VA, per ottenere accesso all’infrastruttura del target.
Penetration Test significa dunque agire attraverso il punto di vista dell’attaccante e, utilizzando i medesimi strumenti e metodologie da questo impiegate, dimostrare la potenziale minaccia e provare le possibili conseguenze qualora l’attacco andasse a buon fine.
Tipi di Penetration Test
Il Penetration Test può essere di varie tipologie, che in base agli obiettivi e ai risultati prefissati, richiedono tecniche diverse tra loro. Per questo in fase di definizione delle attività è di importanza fondamentale individuare con chiarezza gli obiettivi delle verifiche, l’ambito di analisi e le regole di ingaggio.
Le macro-metodologie principali sono tre:
BlackBox
Simula un vero e proprio attacco, infatti, con questo tipo di ingaggio il tester non ha a disposizione alcuna informazione sul target da attaccare ed agisce con gli stessi mezzi e conoscenze di cui dispone un vero attaccante malintenzionato. Anche per questo, il blackbox testing è molto dispendioso in termini di tempo e risorse.
WhiteBox
Il tester simula l’attacco avendo a disposizione tutte le informazioni di cui necessita circa l’infrastruttura, le tecnologie utilizzate e gli asset oggetto di test. Il penetration test white box permette di scoprire non solo vulnerabilità evidenti, ma anche le più critiche, che richiedono una maggiore comprensione del funzionamento dei target e della relazione tra le sue componenti. Questa metodologia di test è utile a supporto degli sviluppatori per la definizione dei fix più accurati e mirati a soluzione delle vulnerabilità rilevate.
GreyBox
In questo tipo di approccio, il tester ha una conoscenza del target limitata e funzionale allo svolgimento delle attività con il fine di simulare specifici scenari di attacco. Il penetration test GreyBox permette ad esempio di simulare un attacco da parte di un dipendente interno oppure un attacco in cui il perimetro esterno è già stato compromesso. In questo modo è possibile dimostrare le ripercussioni che potrebbe avere un’intrusione sotto uno scenario specifico e rilevante per il cliente.
Le fasi di un Penetration Test
1. Information gathering
Primo passo per realizzare un penetration test è la ricognizione del target. In questa prima fase, il tester acquisisce il maggior numero di informazioni possibili riguardo i sistemi oggetto di verifica, come ad esempio la tipologia di rete, i sistemi operativi installati su server e workstation, le applicazioni ed apparati utilizzati e le altre tecnologie implementate.
Questa fase può essere scomposta in ricognizione “Attiva” intendendo che c’è una concreta interazione con l’obiettivo oppure, “Passiva” ovvero l’interazione con il target è assente e si utilizzano mezzi di pubblico dominio per raccogliere le informazioni.
2. Enumerazione
In questa fase, il tester, si focalizza sui servizi in esecuzione sui sistemi oggetto di verifica. Lo scopo principale di questa fase è quello di ricavare dettagli e informazioni utili su potenziali vettori di attacco in un sistema.
3. Sfruttamento delle vulnerabilità (Exploitation)
Una volta identificate le vulnerabilità, il tester prova a sfruttarle. In questa fase il Pentester cerca di ottenere l’accesso principale alla macchina attaccata, per poi eventualmente spostarsi su altri asset in rete con l’obiettivo di raggiungere lo scopo prefissato in fase di accordo.
4. Reportistica
Ultimo ma non per importanza è la stesura del report. In questa fase saranno documentate tutte le operazioni effettuate, le vulnerabilità trovate e le procedure utilizzate. Nel report verranno inoltre incluse dettagliate spiegazioni riguardo le criticità rilevate, l’impatto che potrebbero avere se sfruttate da un utente ostile ed alcune note per la loro mitigazione e correzione.
Perché commissionare un’attività di Penetration Test
Con lo svilupparsi delle tecniche di intrusione impiegate dai cyber criminali ed a seguito dell’evolversi degli strumenti utilizzati e della semplicità del loro utilizzo, è importante avere la piena consapevolezza dei rischi informatici che interessano la propria azienda, la rispettiva infrastruttura e le applicazioni utilizzate, ma lo è anche conoscere le conseguenze che un attacco informatico può comportare per valutarne l’impatto sul business aziendale.
Nel caso delle aziende tecnologiche, che producono hardware e software, la verifica sul campo del livello di sicurezza dei prodotti in alcuni casi è addirittura obbligatorio per la certificazione rispetto a norme e standard di conformità.
Mentre tramite un Vulnerability Assessment sarà in grado di avere una visione generale ed ipotetica della superficie di attacco disponibile ad un attaccante o virus informatico, solo tramite un Penetration Test avrà una chiara rappresentazione della pervasività e gravità che possono avere attacchi su questa basati ed una migliore e più profonda consapevolezza tecnica delle modalità di sfruttamento, così da permetterle di mettere in campo una strategia di rimedio più mirata ed efficace.
La differenza sostanziale tra Vulnerability Assessment e Penetration Test
Dopo aver analizzato nel dettaglio le caratteristiche di entrambi, possiamo rispondere ad una delle domande che ascoltiamo più spesso: “Che differenza c’è tra Vulnerability Assessment e Penetration Test?”.
Come abbiamo visto, il Vulnerability Assessment si occupa principalmente di “mappare” l’obiettivo nel suo complesso. Identifica la cosiddetta “superficie di attacco”, ossia tutte le risorse informatiche (o asset) presenti, quali ad esempio server, NAS, workstation, enumerando le porte aperte e le vulnerabilità note sui servizi attivi in esse con l’obiettivo di fornire una visione generale, ma più superficiale, dell’esposizione a vulnerabilità. È ideale come prima verifica tecnica, ed eventualmente preliminare al Penetration Test, da programmare periodicamente ogni 1, 3, o 6 mesi in base alle caratteristiche dell’oggetto dell’analisi.
Il Penetration Test, invece, si può considerare come la fase successiva al VA, ovvero la fase in cui si sfruttano le vulnerabilità rilevate utilizzando le medesime tecniche offensive utilizzate dai cybercriminali, al fine di simulare un vero e proprio attacco alla rete target cercando di ottenere quindi accesso non autorizzato a dati e sistemi, per determinare le conseguenze tecniche cui potrebbe portare un attacco reale da parte da parte di utenti malintenzionati o di virus informatici.
Dal momento che il Penetration Test comprende una componente di VA seguita da uno o più tentativi di intrusione, i tempi di realizzazione sono più lunghi e i costi più elevati.
È importante infatti evidenziare che il Vulnerability Assessment è un’attività non intrusiva, che si limita all’analisi dei potenziali rischi, delle vulnerabilità e all’enumerazione del target, mentre il Penetration Test realizza materialmente l’attacco. Tuttavia, non è necessariamente vero che il Penetration Test è più “completo”, in quanto in base all’esigenza potrebbe essere limitato ad una specifica risorsa oppure esteso all’intera azienda; invece, il VA è un’indagine che prende in considerazione l’intero perimetro aziendale.
Conclusioni
Vulnerability Assessment e Penetration Test sono attività complementari che andrebbero svolte congiuntamente per realizzare una verifica approfondita del livello di sicurezza informatica aziendale o di uno specifico prodotto software, tuttavia, per ragioni di budget o di altre necessità e caratteristiche aziendali, non è sempre possibile realizzarli entrambi e ci si trova nella necessità di effettuare una scelta.
La scelta dipende da molteplici fattori e affidarsi ad un consulente competente è sicuramente la strada più efficace per ottenere i migliori risultati ottimizzando le risorse a disposizione.
Il team Linkspirit da 14 anni realizza Vulnerability Assessment e Penetration Test secondo gli standard più diffusi —OWASP, OSSTMM, PTES — e anche attraverso metodi elaborati internamente, che ottimizzano tempi e costi mantenendo gli alti livelli qualitativi dei test.
Affidati a Linkspirit per identificare le vulnerabilità informatiche che minacciano la tua azienda e per pianificare il progetto più adatto per proteggerla da attacchi informatici e da violazioni normative.
Contattaci per valutare la soluzione più adatta alla tua azienda.