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.
MCMX