Vulnerabilità (informatica)

Una vulnerabilità informatica è un difetto o una debolezza nel progetto, nella realizzazione o nel funzionamento e nella gestione di un sistema informatico, che potrebbe essere sfruttato per violare la politica di sicurezza del sistema.

Una vulnerabilità informatica è un difetto o una debolezza nel progetto, nella realizzazione o nel funzionamento e nella gestione di un sistema informatico, che potrebbe essere sfruttato per violare la politica di sicurezza del sistema.

La parola "vulnerabilità", che può anche essere riferita a persone, individui singoli o gruppi di individui (gruppi o comunità di vulnerabili), nel campo informatico indica una debolezza che può consentire ad un attacco informatico di compromettere un sistema, cioè di ridurre il livello di protezione fornito da tale sistema, fino al caso limite di inficiarne il funzionamento.

Particolarmente importanti sono le vulnerabilità dei sistemi informatici nei confronti di hacker o cracker.

Minaccia

Il concetto di vulnerabilità non va confuso con la minaccia, che è l'elemento attivo di potenziale innesco di un rischio. La minaccia è cioè l'agente che, sfruttando una vulnerabilità, potrebbe arrecare un disturbo, un attacco, un danno al sistema. Le minacce informatiche sono di vario tipo (ovviamente ci sono anche quelle di natura non informatica).

In pratica, la minaccia è la causa scatenante (spesso non controllabile direttamente), la vulnerabilità è la con-causa (questa sì controllabile) che consente l'azione della minaccia e quindi il manifestarsi del rischio e del relativo effetto (impatto, conseguenza).

Tipologie

Le vulnerabilità si possono presentare a qualsiasi livello di un sistema informatico, ne esistono principalmente di due tipi:

Vulnerabilità software (bug software): Si presenta ovunque ci sia un difetto di progettazione, codifica, installazione e configurazione del software. Le vulnerabilità software dovute a difetti di progettazione e codifica sono causate principalmente dalla mediazione incompleta dei dati forniti in input direttamente dall'utente e mancanza di controlli di sistema; un esempio classico è il buffer overflow, che permette ad un attaccante di inserire un volume di dati superiore alla dimensione prestabilita e riversare i dati in eccesso nello stack, sovrascrivendo l'instruction pointer che potrebbe puntare ad un programma (tipicamente uno Shellcode) opportunamente creato per compiere effetti indesiderati.

Vulnerabilità dei protocolli: si manifestano quando i protocolli di comunicazione non considerano i problemi legati alla sicurezza; l'esempio classico di vulnerabilità consiste nel permettere una connessione in chiaro (non crittografata) consentendo a possibili malintenzionati di intercettare le informazioni scambiate (eavesdropping) (es. Telnet). Il fatto che la documentazione (RFC) che descrive come questi protocolli debbano essere implementati sia pubblicamente disponibile permette ai possibili attaccanti e alle possibili vittime di conoscerne le debolezze. Tuttavia è altresì semplice scoprire le vulnerabilità di un protocollo, le cui specifiche non sono pubbliche, tramite procedure di reverse engineering del protocollo stesso. In tal caso, però, la vittima non è a conoscenza delle debolezze del protocollo e non ha strumenti per difendersi.

Le vulnerabilità quindi non compromettono un sistema, ma se utilizzate da quella che viene definita una minaccia (azione indesiderata) possono trasformarsi in un evento indesiderato.

Si possono trovare vulnerabilità anche in ambito hardware. La presenza di umidità, polvere, sporco e supporti di memorizzazione non protetti, possono causare perdita di informazioni.

In ambito umano e sociale la vulnerabilità può essere definita come segue (definizione del IFRC): "la vulnerabilità è un concetto dinamico e relativo, in stretta relazione con la capacità di un individuo o di una comunità di far fronte in un determinato momento a particolari minacce. La vulnerabilità può essere associata a certi elementi specifici della povertà, ma è anche propria di individui isolati, in situazioni di insicurezza ed indifesi da rischi, da shock e stress".

Con questa accezione, in ambito sociale, possono essere definiti i "gruppi vulnerabili" come: "persone o gruppi di persone esposte a situazioni che minacciano la loro sopravvivenza o la loro attitudine a vivere con un minimo di sicurezza sociale ed economica e di dignità umana", come ad esempio in caso di anziani, disabili, immigrati, minori, donne in difficoltà, carcerati, tossicodipendenti, pazienti ospedalizzati, etc.

Servizi correlati

Altre voci

O

OPST

L'OSSTMM Professional Security Tester (OPST) è una certificazione fornita da ISECOM - Institute for Security and Open Methodologies. Si tratta di una certificazione, basata su best practice, volta a migliorare il lavoro svolto dai professionisti che si occupano di sicurezza informatica, nello…

Leggi la voce →
P

Parrot OS

Parrot OS è una distribuzione GNU / Linux basata su Debian focalizzata su sicurezza, privacy e sviluppo. Parrot OS è utilizzato anche da numerosi penetration tester.

Leggi la voce →
Enigma (crittografia)E

Enigma (crittografia)

Enigma fu un dispositivo elettromeccanico per cifrare e decifrare messaggi. Macchina nata da un tentativo di commercializzazione poi fallito, fu ampiamente utilizzata dalle forze armate tedesche durante il periodo nazista e della seconda guerra mondiale. La facilità d'uso e la presunta…

Leggi la voce →
R

Red team

Un red team o red force è un gruppo indipendente che esegue un attacco a un'organizzazione per studiarne le debolezze, al fine di migliorare l'efficacia della stessa. In questo modo, si mettono in discussione nozioni preconcette e si raggiunge una comprensione migliore dei problemi di sicurezza…

Leggi la voce →
S

Security Operation Center

Un Security Operations Center (SOC) è un centro da cui vengono forniti servizi finalizzati alla sicurezza dei sistemi informativi dell'azienda stessa (SOC interno) o di clienti esterni; in quest'ultimo caso il SOC è utilizzato per l'erogazione di Managed Security Services (MSS) e l'azienda che…

Leggi la voce →
C

Carico utile (informatica)

In analogia con l'omonimo termine legato ai trasporti, nel linguaggio informatico il carico utile o payload indica la parte di dati trasmessi effettiva che è destinata all'utilizzatore, in contrasto con i metadati e con gli header che servono esclusivamente a far funzionare il protocollo di…

Leggi la voce →