Che cos'è una vulnerabilità? Definizione + Esempi
Una vulnerabilità è un punto debole che può essere sfruttato dai criminali informatici per ottenere l'accesso non autorizzato a un sistema informatico. Dopo aver sfruttato una vulnerabilità, un attacco informatico può eseguire codice dannoso, installare malware e persino rubare dati sensibili.
Le vulnerabilità possono essere sfruttate con una varietà di metodi, tra cui SQL injection, buffer overflow, cross-site scripting (XSS) e kit di exploit open source che cercano vulnerabilità note e punti deboli della sicurezza nelle applicazioni web.
Molte vulnerabilità hanno un impatto sui software più diffusi, esponendo i numerosi clienti che utilizzano il software a un rischio maggiore di violazione dei dati o di attacco alla catena di approvvigionamento. Tali exploit zero-day sono registrati da MITRE come Common Vulnerability Exposure (CVE).

Esempi di vulnerabilità
Esistono diversi tipi di vulnerabilità, determinate dall'infrastruttura in cui si trovano. Le vulnerabilità possono essere classificate in sei grandi categorie:
1. Hardware
Qualsiasi suscettibilità all'umidità, alla polvere, allo sporco, ai disastri naturali, alla scarsa crittografia o alla vulnerabilità del firmware.
2. Software
Test insufficienti, mancanza di audit trail, difetti di progettazione, violazioni della sicurezza della memoria (overflow del buffer, letture eccessive, puntatori penzolanti), errori di convalida dell'input (iniezione di codice, cross-site scripting (XSS), attraversamento di directory, iniezione di e-mail, attacchi di stringhe di formato, iniezione di intestazioni HTTP, suddivisione della risposta HTTP, SQL injection), bug di confusione dei privilegi (clickjacking, contraffazione di richieste cross-site, attacco di rimbalzo FTP), race condition (gare di collegamento simbolico, tempo di controllo al tempo di utilizzo bug), attacchi al canale laterale, attacchi di temporizzazione e guasti dell'interfaccia utente (incolpare la vittima, condizioni di gara, affaticamento da avvertimento).
Scopri di più sulla vulnerabilità di MOVEit Transfer >
3. Rete
Linee di comunicazione non protette, attacchi man-in-the-middle, architettura di rete non sicura, mancanza di autenticazione, autenticazione predefinita o altra scarsa sicurezza della rete.
4. Personale
Politiche di reclutamento scadenti, mancanza di consapevolezza e formazione sulla sicurezza, scarsa aderenza alla formazione sulla sicurezza, cattiva gestione delle password o download di malware tramite allegati e-mail.
5. Sito fisico
Area soggetta a calamità naturali, fonte di alimentazione inaffidabile o nessun accesso con chiave magnetica.
6. Organizzazione
Controlli interni inadeguati, mancanza di audit, piano di continuità, sicurezza o piano di risposta agli incidenti.
Scopri i principali errori di configurazione che causano violazioni dei dati >
Quando le vulnerabilità note devono essere divulgate pubblicamente?
L'opportunità di divulgare pubblicamente le vulnerabilità note rimane una questione controversa. Ci sono due opzioni:
1. Divulgazione completa immediata
Alcuni esperti di sicurezza informatica sostengono la divulgazione immediata, comprese informazioni specifiche su come sfruttare la vulnerabilità. I sostenitori della divulgazione immediata ritengono che porti a un software sicuro e a un patching più rapido che migliora la sicurezza del software, la sicurezza delle applicazioni, la sicurezza del computer, la sicurezza del sistema operativo e la sicurezza delle informazioni.
2. Divulgazione limitata o nulla
Altri sono contrari alla divulgazione delle vulnerabilità perché ritengono che la vulnerabilità verrà sfruttata dagli hacker. I sostenitori della divulgazione limitata ritengono che limitare le informazioni a gruppi selezionati riduca il rischio di sfruttamento.
Come la maggior parte degli argomenti, ci sono argomenti validi da entrambe le parti.
Indipendentemente dalla parte in cui ti trovi, sappi che ora è comune per gli aggressori amichevoli e i criminali informatici cercare regolarmente vulnerabilità e testare exploit noti.
Alcune aziende hanno team di sicurezza interni il cui compito è quello di testare la sicurezza informatica e altre misure di sicurezza dell'organizzazione come parte del processo generale di gestione del rischio informativo e di valutazione del rischio di sicurezza informatica.
Le aziende migliori della categoria offrono bug bounty per incoraggiare chiunque a trovare e segnalare loro le vulnerabilità piuttosto che sfruttarle. I programmi di bug bounty sono ottimi e possono aiutare a ridurre al minimo il rischio che la tua organizzazione entri a far parte del nostro elenco delle maggiori violazioni dei dati.
In genere, l'importo del pagamento di un programma di bug bounty sarà commisurato alle dimensioni dell'organizzazione, alla difficoltà di sfruttare la vulnerabilità e all'impatto della vulnerabilità. Ad esempio, trovare una fuga di dati di informazioni di identificazione personale (PII) di un'azienda Fortune 500 con un programma di bug bounty sarebbe di valore superiore rispetto a una violazione dei dati del tuo negozio all'angolo locale.
Qual è la differenza tra vulnerabilità e rischio?
I rischi per la sicurezza informatica sono comunemente classificati come vulnerabilità. Tuttavia, vulnerabilità e rischio non sono la stessa cosa, il che può creare confusione.
Pensa al rischio come alla probabilità e all'impatto che una vulnerabilità venga sfruttata.
Se l'impatto e la probabilità che una vulnerabilità venga sfruttata è bassa, il rischio è basso. Al contrario, se l'impatto e la probabilità che una vulnerabilità venga sfruttata è elevata, il rischio è elevato.
In generale, l'impatto di un attacco informatico può essere legato alla triade della CIA o alla riservatezza, integrità o disponibilità della risorsa. Seguendo questa linea di ragionamento, ci sono casi in cui le vulnerabilità comuni non rappresentano un rischio. Ad esempio, quando il sistema informativo con la vulnerabilità non ha alcun valore per l'organizzazione.
Quando una vulnerabilità diventa sfruttabile?
>Una vulnerabilità con almeno un vettore di attacco noto e funzionante è classificata come vulnerabilità sfruttabile. La finestra di vulnerabilità è il tempo che intercorre tra l'introduzione della vulnerabilità e il momento in cui viene applicata la patch.
Se si dispone di solide procedure di sicurezza, molte vulnerabilità non sono sfruttabili per l'organizzazione.
Ad esempio, se la sicurezza S3 è stata configurata correttamente, la probabilità di perdita di dati è ridotta. Controlla le tue autorizzazioni S3, o qualcun altro lo farà.
Allo stesso modo, è possibile ridurre il rischio di terze parti e il rischio di quarta parte con la gestione del rischio di terze parti e le strategie di gestione del rischio del fornitore.
Che cos'è un exploit zero-day?
Un exploit zero-day (o zero-day) sfrutta una vulnerabilità zero-day. Una vulnerabilità zero-day (o 0-day) è una vulnerabilità sconosciuta o non risolta da coloro che desiderano correggere la vulnerabilità.
Fino a quando la vulnerabilità non viene risolta, gli aggressori possono sfruttarla per influire negativamente su un programma informatico, un data warehouse, un computer o una rete.
Il "giorno zero" è il giorno in cui la parte interessata viene a conoscenza della vulnerabilità, portando a una patch o a una soluzione alternativa per evitare lo sfruttamento.
La cosa fondamentale da capire è che meno giorni sono trascorsi dal Giorno Zero, maggiore è la probabilità che non sia stata sviluppata alcuna patch o mitigazione e maggiore è il rischio di un attacco riuscito.
Quali sono le cause delle vulnerabilità?
Esistono molte cause di vulnerabilità, tra cui:
- Complessità: i sistemi complessi aumentano la probabilità di un difetto, di una configurazione errata o di un accesso non intenzionale.
- Familiarità - Il codice, il software, i sistemi operativi e l'hardware comuni aumentano la probabilità che un utente malintenzionato possa trovare o avere informazioni su vulnerabilità note.
- Connettività: più un dispositivo è connesso, maggiore è la possibilità di una vulnerabilità.
- Gestione scadente delle password - Le password deboli possono essere violate con la forza bruta e il riutilizzo delle password può comportare una violazione dei dati che diventa molte.
- Difetti del sistema operativo - Come qualsiasi software, i sistemi operativi possono avere difetti. I sistemi operativi non sicuri per impostazione predefinita consentono a qualsiasi utente di accedere e potenzialmente iniettare virus e malware.
- Utilizzo di Internet - Internet è pieno di spyware e adware che possono essere installati automaticamente sui computer.
- Bug del software - I programmatori possono accidentalmente o deliberatamente lasciare un bug sfruttabile nel software. A volte gli utenti finali non riescono ad aggiornare il proprio software, lasciandolo senza patch e vulnerabile allo sfruttamento.
- Input utente non controllato - Se il tuo sito Web o software presume che tutti gli input siano sicuri, potrebbe eseguire comandi SQL non intenzionali.
- Persone - La più grande vulnerabilità in qualsiasi organizzazione è l'essere umano alla fine del sistema. L'ingegneria sociale è la più grande minaccia per la maggior parte delle organizzazioni. Questa categoria di minacce informatiche può essere affrontata con un programma interno di sensibilizzazione alle minacce informatiche.
Che cos'è la gestione delle vulnerabilità?
La gestione delle vulnerabilità è una pratica ciclica di identificazione, classificazione, correzione e mitigazione delle vulnerabilità di sicurezza. Gli elementi essenziali della gestione delle vulnerabilità includono il rilevamento delle vulnerabilità, la valutazione delle vulnerabilità e la correzione.
I metodi di rilevamento delle vulnerabilità includono:
- Scansione delle vulnerabilità
- Test di penetrazione
- Hacking di Google
Una volta individuata una vulnerabilità, questa passa attraverso il processo di valutazione della vulnerabilità:
1. Identificare le vulnerabilità
Analisi delle scansioni di rete, dei risultati dei pen test, dei registri del firewall e dei risultati delle scansioni delle vulnerabilità per individuare anomalie che suggeriscono che un attacco informatico potrebbe sfruttare una vulnerabilità.
2. Verifica le vulnerabilità
Decidere se la vulnerabilità identificata può essere sfruttata e classificare la gravità dell'exploit per comprendere il livello di rischio.
3. Mitigare le vulnerabilità
Decidi le contromisure e come misurarne l'efficacia se un cerotto non è disponibile.
4. Correggere le vulnerabilità
La correzione delle vulnerabilità richiede l'aggiornamento del software o dell'hardware interessato, ove possibile. A causa del fatto che gli attacchi informatici sono in continua evoluzione, la gestione delle vulnerabilità deve essere una pratica continua e ripetitiva per garantire che la tua organizzazione rimanga protetta.
Che cos'è la scansione delle vulnerabilità?
Uno scanner di vulnerabilità è un software progettato per valutare computer, reti o applicazioni alla ricerca di vulnerabilità note. Sono in grado di identificare e rilevare le vulnerabilità derivanti da una configurazione errata e da una programmazione difettosa all'interno di una rete ed eseguire scansioni autenticate e non autenticate:
- Scansioni autenticate: consente allo scanner di vulnerabilità di accedere direttamente alle risorse di rete utilizzando protocolli amministrativi remoti come Secure Shell (SSH) o RDP (Remote Desktop Protocol) e di autenticarsi utilizzando le credenziali di sistema fornite. In questo modo è possibile accedere a dati di basso livello, come servizi specifici e dettagli di configurazione, fornendo informazioni dettagliate e accurate sui sistemi operativi, sul software installato, sui problemi di configurazione e sulle patch di sicurezza mancanti.
- Scansioni non autenticate: producono falsi positivi e informazioni inaffidabili sui sistemi operativi e sul software installato. Questo metodo viene generalmente utilizzato dagli aggressori informatici e dagli analisti della sicurezza per cercare di determinare la posizione di sicurezza delle risorse rivolte all'esterno e per individuare possibili fughe di dati.
Che cos'è il test di penetrazione?
Il penetration test, noto anche come pen testing o hacking etico, è la pratica di testare una risorsa informatica per trovare vulnerabilità di sicurezza che un utente malintenzionato potrebbe sfruttare. I test di penetrazione possono essere automatizzati con software o eseguiti manualmente.
In entrambi i casi, il processo consiste nel raccogliere informazioni sull'obiettivo, identificare possibili vulnerabilità e tentare di sfruttarle e riferire sui risultati.
I test di penetrazione possono anche essere utilizzati per testare la politica di sicurezza di un'organizzazione, l'aderenza ai requisiti di conformità, la consapevolezza della sicurezza dei dipendenti e la capacità di un'organizzazione di identificare e rispondere agli incidenti di sicurezza.
Scopri di più sui test di penetrazione
Che cos'è l'hacking di Google?
L'hacking di Google è l'uso di un motore di ricerca, come Google o Bing di Microsoft, per individuare le vulnerabilità della sicurezza. L'hacking di Google si ottiene attraverso l'uso di operatori di ricerca avanzati nelle query che individuano informazioni difficili da trovare o informazioni che vengono esposte accidentalmente a causa di un'errata configurazione dei servizi cloud.
I ricercatori di sicurezza e gli utenti malintenzionati utilizzano queste query mirate per individuare informazioni riservate che non devono essere esposte al pubblico.
Queste vulnerabilità tendono a rientrare in due tipi:
- Vulnerabilità del software
- Configurazioni errate
Detto questo, la stragrande maggioranza degli aggressori tenderà a cercare errori di configurazione comuni degli utenti che sanno già come sfruttare e a cercare semplicemente i sistemi che hanno falle di sicurezza note.
Per prevenire l'hacking di Google, è necessario assicurarsi che tutti i servizi cloud siano configurati correttamente. Una volta che qualcosa viene esposto a Google, è pubblico, che ti piaccia o no.
Sì, Google svuota periodicamente la cache, ma fino ad allora i tuoi file sensibili vengono esposti al pubblico.
Cosa sono i database delle vulnerabilità?
Un database delle vulnerabilità è una piattaforma che raccoglie, mantiene e condivide informazioni sulle vulnerabilità scoperte. MITRE esegue uno dei più grandi, denominato CVE o Common Vulnerabilities and Exposures, e assegna un punteggio CVSS (Common Vulnerability Scoring System) per riflettere il potenziale rischio che una vulnerabilità potrebbe introdurre nell'organizzazione.
Questo elenco centrale di CVE funge da base per molti scanner di vulnerabilità.
Il vantaggio dei database pubblici delle vulnerabilità è che consentono alle organizzazioni di sviluppare, assegnare priorità ed eseguire patch e altre mitigazioni per correggere le vulnerabilità critiche.
Detto questo, possono anche causare la creazione di ulteriori vulnerabilità dalle patch rilasciate frettolosamente che risolvono la prima vulnerabilità ma ne creano un'altra.
Si veda l'argomento a favore della divulgazione completa vs. divulgazione limitata sopra.
Le vulnerabilità comuni elencate nei database delle vulnerabilità includono:
- Errore di distribuzione iniziale: la funzionalità per i database può sembrare corretta, ma senza test rigorosi, i difetti possono consentire agli utenti malintenzionati di infiltrarsi. Controlli di sicurezza inadeguati, password deboli o impostazioni di sicurezza predefinite possono rendere il materiale sensibile accessibile al pubblico.
- SQL injection: gli attacchi ai database sono comunemente registrati nei database di vulnerabilità.
- Configurazione errata: le aziende spesso non riescono a configurare correttamente i propri servizi cloud, lasciandoli vulnerabili e spesso accessibili al pubblico.
- Controllo inadeguato: senza controllo, è difficile sapere se i dati sono stati modificati o se è stato effettuato l'accesso. I database delle vulnerabilità hanno promulgato l'importanza dell'audit tracking come deterrente agli attacchi informatici.