.. meta:: :language: it :description language=it: Sicurezza: Introduzione :description language=en: Security: Introduction :keywords: IT Security, introduction to IT security :author: Luciano De Falco Alfano .. role:: underline :class: underline 01 Sicurezza: introduzione ========================== .. contents:: :local: [*Lezione del 8 ott 2019*] Per introdurre il problema della sicurezza, vediamo un esempio. Il 2 Novembre 1998 il primo computer worm esce dal MIT, colpendo 3000 computer. In 12 ore MIT, Berkley e Purdue creano e distribuiscono una patch per arrestarlo. Nel frattempo la stima dei danni prodotti oscilla tra 1 e 100 milioni di dollari. La successiva indagine porta alla condanna di uno studente della Cornell University. La sicurezza ha dei costi, ad es. l'addestramento del personale. Non perseguirla prima o poi porta a danni dai costi superiori. Sicurezza: definizioni di base ------------------------------ Cosa si intende per sicurezza? * giudicare con quale probabilità il sistema possa resistere a intrusioni (Ian Sommerville); * impedire che qualcuno possa fare cose che non vuoi siano fatte con, o dai, tuoi computer (William R. Cheswick); * gestione del rischio (Bruce Schneider). Per poter analizzare contesti diversi, è utile introdurre il concetto di **rischio**. Un privato ha un basso rischio se non ha risorse di elevato valore esposte. D'altro canto una azienda ha sicuramente risorse di valore elevato esposte; si pensi ai dati per il funzionamento dell'azienda. Quindi in questo caso il rischio è alto. **Modello della sicurezza della rete**. Un modello è una versione semplificata della realtà. Il nostro modello è illustrato nel seguente diagramma: .. image:: ./images/01_model.svg in cui abbiamo: * un mittente (*sender*) che invia tramite un * canale di comunicazione (*channel*) * un messaggio in forma riservata (*message* + *secret info*); * e un destinatario (*recipient*) che lo riceve e lo legge utilizzando le *secret info*. Vi può essere: * un avversario (*adversary*) che cerca di intercettare la comunicazione, * e una terza parte (*trusted third party*) che si fa garante dell'identità del mittente. Il nostro modello verrà utilizzato per analizzare tre concetti: * *servizi* di sicurezza; * *attacchi* alla sicurezza; * *meccanismi* di sicurezza. In generale possiamo dire che un **servizio di sicurezza** viene implementato tramite uno o più **meccanismi di sicurezza**, ed è usato come contromisura degli **attacchi alla sicurezza**. I *servizi di sicurezza*: * secondo *ISO X800* sono quelli forniti da uno strato di protocollo (di comunicazione); * secondo *RFC 2828* sono implementati tramite meccanismi di sicurezza. Possiamo avere servizi di sicurezza per: * confidenzialità; * autenticazione; * non ripudio; * integrità; * disponibilità; * controllo dell'accesso. Mentre :underline:`esempi` di meccanismi di sicurezza sono: * crittografia, * hash, * firma digitale. Sicurezza: servizi -------------------- **Confidenzialità**. Il contento del messaggio è conosciuto solo da mittente e destinatatrio. Contrasta la *minaccia* di **intercettazione** [#]_, assicurando che l'accesso all'informazione sia possibile solo a chi ne ha l'autorizzazione. Come si implementa? Crittografando il messaggio [#]_. A esempio con AES, che è un tipo di crittografia simmetrica, o con RSA, che è asimmetrica. **Autenticazione**. L'identità del mittente è certa. Contrasta la minaccia di **falsificazione** (*fabrication*), ovvero la possibilità che un mittente invii messaggi contraffatti (*counterfeit*) facendo credere di essere un'altra persona. L'autenticazione si ottiene tramite protocolli di autenticazione, quali: Keberos o X.509 authentication service. **Integrità**. Il messaggio ricevuto è uguale al messaggio inviato. In questo caso la minaccia è la **modifica** del messaggio. La modifica è in senso generale: può riguardare un cambiamento al contenuto, al suo ordinamento, alla cancellazione di sue parti ... I meccanismi di sicurezza utilizzati sono le firme digitali: DSA, RSA con SHA-1. **Non ripudio**. Una entità non può negare di avere inviato (o ricevuto) un messaggio. La minaccia è un **tentativo di ripudio**. Ovvero uno di partecipanti alla conversazione pubblica il proprio messaggio in forma anonima e poi dichiara, falsamente, che il contenuto gli era stato sottratto. Questa minaccia è forse la più complessa da gestire. Meccanismi di sicurezza: la firma digitale: RSA con SHA-1. **Controllo dell'accesso**. Prevenire l'uso non autorizzato di risorse. La minaccia è **l'accesso non autorizzato**, che consiste nell'uso non autorizzato di risorse. Meccanismi di sicurezza sono le *Access control list*, o il controllo dell'accesso basato su regole (*role based access control*). **Disponibilità dei servizi**. Ovvero i servizi devono essere disponibili per gli utenti autorizzati. Le minacce sono: **interruzione delle comunicazioni** o la **negazione del servizio** (*denial of service*), che consiste nel consumare risorse del sistema che fornisce il servizio, minando la sua apacità di rispondere agli utenti. Meccanismi di sicurezza per contrastare le minacce consistono nell'incremento delle infrastrutture di supporto, ricorrendo alle repliche, incrementando la banda passante, l'hardware ... Ad esempio Google usa in modo esteso il concetto di replica del servizio, che lo rende molto resistente alle minacce *denial of service*. Attacchi --------- I servizi di sicurezza servono per prevenire gli attacchi. Sia ISO X800 che RFC2828 classificano gli attacchi come **attivi** e **passivi**. Gli attacchi passivi sono del tipo sniff della rete e analisi dei dati raccolti. Gli attacchi attivi invece iniettano o alterano i dati nella rete. Tra gli attacchi attivi: * *replay* [#]_; * modifica dei messaggi; * ... Tra gli attacchi passivi: * analisi del traffico dati; * invio di contenuti. Meccanismi di sicurezza ------------------------ Come *meccanismi di sicurezza* abbiamo: * crittografia (*encryption*): * algoritmi di hash; * firma digitale; * ... Il punto di vista di W.Stallings ---------------------------------- Stallings organizza la materia secondo le aree : * **Cryptographic technics**, composta da *crypt. algoritms* + *crypt. protocols*; * **Communication security**, che usa le *cryptographic technics*. .. image:: ./images/00_areas.svg :align: center :width: 50% con questi obiettivi chiave [#]_: * **Confidentiality**, include *Data confid.* + *Privacy*; * **Integrity**, include *Data Integr.* + *System Integr.*; * **Availability**. .. image:: ./images/31_key_concepts.svg :align: center :width: 50% cui a volte si aggiungono: * **Authenticity**, * **Accountability** ---------------------------- .. [#] Si noti che l'originaria rete telefonica e le prime reti mobili non erano sicure. Trasmettevano in chiaro, e chi poteva ascoltare il traffico era in grado di accedere ai relativi contenuti. .. [#] La crittografia è un meccanismo di sicurezza. .. [#] Un attacco di tipo *reply* consiste nel ripetere o ritardare una trasmissione dati in modo fraudolento. Ad esempio, *A* invia una password a *B* per identificarsi. Se *E* intercetta la password, la può inviare a *B* in un momento successivo per identificarsi al posto di *A*. .. [#] mnemonico: la **CIA triad**.