Proprietà CIA
Quando parliamo di sicurezza dei sistemi, in realtà quello che vogliamo garantire sono tre proprietà fondamentali:
- confidentiality, ovvero le informazioni sono accessibili solamente a soggetti autorizzati,
- integrity, ovvero le informazioni non sono state modificate o rimosse in maniera non autorizzata,
- availability, che possiamo tradurre in italiano con "disponibilità", ovvero il servizio è garantito senza interruzioni agli utenti legittimi.
Queste tre proprietà si chiamano comunemente "triade CIA" e, anche se altri modelli sono stati proposti, rimane un buon framework per analizzare la sicurezza dei sistemi informatici.
Confidenzialità
Per confidenzialità si intende "la proprietà che l'informazione non è resa disponibile o pubblicata a soggetti, entità o processi non autorizzati". Il concetto può sembrare simile a privacy, ma in realtà la confidenzialità è una componente della privacy di soggetti, che garantisce e protegge i dati personali da accessi non autorizzati.
Esempi di violazioni di confidenzialità possono essere
- esfiltrazione di dati personali degli utenti,
- email sensibili inviate a indirizzi errati,
- lettura di una chiave di cifratura da parte di un processo o un utente non autorizzato.
Integrità
Per integrità si intende la proprietà che l'informazione è accurata e completa per il suo intero ciclo di vita. Questo vuol dire che non può essere modificata senza che questo venga rilevato in qualche modo.
Esempi di violazioni di integrità possono essere:
- la modifica delle transazioni in un database bancario,
- la modifica di pacchetti in transito da un client a un server (ad esempio tramite attacchi man-in-the-middle),
- la modifica di regioni di memoria in un processo da parte di utenti o altri processi non privilegiati.
Disponibilità
Per disponibilità si intende la proprietà che un sistema svolga le proprie funzionalità correttamente qualora venga utilizzato da un utente. Questo implica che l'intero sistema deve funzionare correttamente. Questa proprietà è all'intersezione tra sicurezza e affidabilità: periodi di down time possono accedere anche senza avere subito nessun attacco, ma semplicemente per un malfunzionamento del software.
Esempi di violazioni di disponibilità possono essere:
- un'applicazione web che non è disponibile perché sta subendo un attacco di tipo DDoS (distributed denial of service)
- un'applicazione non raggiungibile per un fallimento dei dispositivi di rete
- la non disponibilità di un servizio perché il disco fisso del server risulta non avere spazio disponibile.