Vulnerabilità del software

Il termine “vulnerabilità” viene menzionato di frequente nell’ambito della sicurezza IT, nei contesti più diversi.

Nel suo senso più ampio, tale termine viene associato alla violazione di una policy di sicurezza. Ciò può essere determinato dall’adozione di norme di sicurezza che si rivelano deboli e insufficienti, oppure da qualche particolare problema od errore a livello di software. In teoria, tutti i sistemi informatici possono presentare delle vulnerabilità. L’entità del danno potenziale provocato da un attacco malware in grado di sfruttare una determinata vulnerabilità permette di suddividere le vulnerabilità stesse in due distinte categorie: quelle attivamente utilizzate e quelle che non vengono affatto impiegate dai cybercriminali.

Sono stati intrapresi numerosi tentativi per cercare di definire esattamente il termine “vulnerabilità”, distinguendo i due principali significati ad esso attribuiti. A tal proposito, il MITRE, noto gruppo di ricerca finanziato dal governo federale degli Stati Uniti – impegnato nell’analisi e nella soluzione di problemi di sicurezza di particolare criticità – ha messo a punto le seguenti definizioni:

Secondo la terminologia CVE elaborata dal MITRE:

[…] Una vulnerabilità è la particolare condizione di un sistema informatico (o di alcuni sistemi) che consente ad un attacker di realizzare quanto segue:

  • eseguire comandi a nome di un altro utente;
  • ottenere l’accesso a dati ai quali tale utente non può accedere;
  • farsi passare per un’altra entità;
  • condurre un attacco di tipo DoS (Denial of Service).

Sono stati intrapresi numerosi tentativi per cercare di definire esattamente il termine “vulnerabilità”, distinguendo i due principali significati ad esso attribuiti.

Il MITRE ritiene che un attacco condotto a seguito dell’applicazione di policy di sicurezza deboli o inappropriate possa essere meglio descritto con il termine “exposure” (esposizione).

Un’esposizione è la particolare condizione di un sistema informatico (o di alcuni sistemi) che non rappresenta, di per se stessa, una vulnerabilità, ma:

  • consente ad un attacker di effettuare la raccolta di informazioni protette;
  • consente ad un attacker di nascondere la propria attività;
  • presenta funzionalità che si comportano come previsto, ma possono essere facilmente compromesse, e quindi utilizzate per scopi illeciti;
  • costituisce il punto di ingresso primario nel sistema informatico, che un attacker può cercare di utilizzare per ottenere l’accesso al sistema o ai dati.

Quando un hacker cerca di ottenere l’accesso non autorizzato al sistema informatico preso di mira, egli effettua, abitualmente, una raccolta di informazioni (a livello di indagine) riguardo al proprio obiettivo; l’hacker raccoglie qualsiasi dato possa rivelarsi accessibile, ed infine sfrutta i punti deboli o le vulnerabilità insite nella policy di sicurezza applicata dall’utente. Le vulnerabilità e le esposizioni eventualmente esistenti rappresentano importanti elementi da sottoporre a controlli particolarmente attenti ed accurati, nel momento in cui si effettua la messa in sicurezza del sistema nei confronti di possibili accessi non autorizzati.