PAD Security Cenni Cenni sulla sulla Sicurezza Sicurezza in in Ambienti Ambienti Distribuiti Distribuiti Cataldo Basile < cataldo.basile @ polito.it > Politecnico di Torino Dip. Automatica e Informatica Motivazioni l’architettura TCP/IPv4 è insicura il problema della sicurezza era risolto con la protezione fisica dei canali tutti i dati vengono posti dallo stack del sistema operativo in locale non c’è nessuna garanzia che siano esatti sono necessarie delle modifiche nuovi protocolli per integrare le funzionalità IPv6 etc. 1 PAD Security Pacchetto IP Pacchetto TCP 2 PAD Security Attacchi servono ad avere informazioni e risorse a cui non si avrebbe diritto si cerca di sfruttare errori (bug) dei sistemi operativi limiti ed errori nei protocolli passivi solo intercettazione senza modifiche ai pacchetti attivi cambiando i dati in modo opportuno Attacchi Passivi: Sniffing le reti locali di tipo Ethernet hanno un bus comune le schede di rete sono programmate per intercettare solo i pacchetti indirizzati ad un indirizzo MAC si può utilizzare il modo promiscuo sniffer utilizza il modo promiscuo per intercettare tutti i pacchetti li memorizza per analisi off-line 3 PAD Security Attacchi Passivi: Sniffing programmi che ricostruiscono le sessioni siti su cui sta navigando un altro utente programmi che intercettano username/password alcuni strumenti ethereal dsniff analyzer (Politecnico di Torino) webspy Network Scanning gli attacchi sfruttano errori bisogna avere più informazioni possibili sul target dell’attacco indirizzi IP porte aperte risorse più importanti sistemi operativi versioni, patch, service pack, ecc. server in funzione ftp, http, ecc. versioni del software, patch 4 PAD Security Network Scanning esistono strumenti in grado di ricavare automaticamente tutte le informazioni ogni “componente” ha un comportamento particolare risposte, ritardi ripetono test noti e collezionano le informazioni alcuni permettono di lanciare in automatico gli attacchi noti Attacchi Attivi si cambiano informazioni presenti nei pacchetti dalla sorgente indirizzo IP hping2 in transito router “corrotti” si creano pacchetti ad-hoc ci si interpone nelle comunicazioni clientserver 5 PAD Security Attacchi: Denial of Service consiste nel rendere inutilizzabili le risorse altrui sovraccaricare reti server workstations non c’è rimedio sicuro aumentare la capacità di ogni componente Denial of Service: Smurfing si manda un pacchetto che richiede risposta ad un numero elevato di computer connessi broadcast con indirizzo mittente falso (quello del bersaglio dell’attacco) le risposte andranno tutte al target rendendolo inutilizzabile 6 PAD Security Denial of Service: Smurfing Denial of Service: SYN Flooding sfrutta il three-way handshake del TCP si manda il primo pacchetto (flag SYN = 1) della connessione TCP non si manda il terzo (ACK=1) il server lascia le risorse allocate in attesa ripetendolo molte volte si esauriscono le risorse timeout del server octopus 7 PAD Security Altri Attacchi: man-in-the-middle funzionano se si è “a metà strada” tra sorgente (client) e bersaglio hijacking = dirottamento permette di inserirsi in una connessione (hunt) si intercettano le richieste di connessione TCP si cambia il sequence number ARP spoofing e poisoning (hunt) il protocollo ARP mantiene la corrispondenza tra indirizzi MAC e IP ricava le informazioni ascoltando la rete si inviano pacchetti con false corrispondenze Problemi Aggiuntivi i sistemi distribuiti si basano per la grande maggioranza sull’architettura di rete TCP/IP ne ereditano tutti i problemi mettono a disposizione delle risorse solo chi ne ha diritto dovrebbe poterle utilizzare richiedono informazioni “sensibili” riconoscimento dei client e dei server i.e. numero di carta di credito 8 PAD Security Le tre A della sicurezza Autenticazione riconoscimento delle parti Autorizzazione per qualunque azione su qualunque risorsa si deve avere un’esplicita autorizzazione Accounting bisogna mantenere le informazioni relative a quello che accade malfunzionamenti attacchi utenti interni che non rispettano le regole Integrità e Non Ripudio Integrità possibilità di verificare che nessuna modifica è stata fatta “nel mezzo” non ripudio caratteristica aggiuntiva dell’autenticazione impossibilità di negare di aver fatto una determinata azione 9 PAD Security Tecniche di Protezione protezione del canale impediscono di intercettare e modificare le informazioni che viaggiano tra le parti protezione a livello applicativo nuovi protocolli o integrazioni che permettono di ovviare ai problemi S/MIME, etc. protezione delle reti firewall, proxy crittografia Crittografia usata fin dall’antichità cifrario di Cesare formalizzata nella metà dell’ottocento principio di Kerchoff la sicurezza non deve basarsi sugli algoritmi ma su informazioni private condivise permette di mantenere la segretezza (cifrare) autenticare (firma non ripudiabile) controllare l’integrità (hash) 10 PAD Security Crittografia a chiave privata si basa sullo scambio fidato di un’informazione segreta problemi di distribuzione sicura Crittografia a chiave pubblica Diffie-Hellman 1978, RSA 1979 chiave privata e pubblica sono legate da relazioni matematiche la chiave pubblica può essere distribuita liberamente la chiave privata NO se si cifra con la chiave pubblica si può decifrare con la chiave privata e viceversa 11 PAD Security Crittografia a chiave pubblica Crittografia a Chiave Pubblica + Crittografia a chiave privata gli algoritmi con chiave pubblica sono molto lenti metodo combinato si genera una chiave di sessione si cifra con algoritmi a chiave pubblica la chiave di sessione (piccola) si cifra il canale con la chiave di sessione alternativa protocolli di scambio di chiavi Diffie-Hellman 12 PAD Security Hash si basano sul concetto di funzioni one-way si usano per garantire l’integrità esempio si calcola l’hash di un pacchetto IP si ottiene un digest qualunque modifica al pacchetto viene individuata il digest sarebbe molto diverso non posso costruire in maniera semplice un pacchetto IP che abbia lo stesso digest Firma digitale 13 PAD Security Firma Digitale deve essere applicata ad un oggetto l’hash garantisce che non venga modificato la cifratura dell’hash con la chiave privata garantisce l’autentacazion la verifica può essere fatta da chiunque tramite la chiave pubblica non ripudiabile inizia ad essere usata dalla Amministrazioni Pubbliche Certificati rimane il problema di legare una chiave pubblica ad un’entità persona o server lo standard più utilizzato è quello ISO/OSI X.509 una Certification Authority garantisce con la propria firma il legame chiave – identità 14 PAD Security Certificati IPsec proposta IETF per la protezione delle reti IPv4 offre autenticazione (hash+firme) riservatezza (cifratura) composto da due protocolli (+header aggiuntivi) AH Authentication Header ESP Encapsulating Security Payload metodo per scambiare le chiavi IKE Internet Key Exchange 15 PAD Security IPsec viene utilizzato per creare le Virtual Private Network non potendo leggere i dati cifrati è come se le parti fossero connesse da un cavo privato CANALE SICURO Internet Firewall muro tagliafuoco serve a controllare e separare zone a diversi livelli di sicurezza è un sistema hw+sw in grado di filtrare pacchetti può fare controlli a diversi livelli più si va in alto nella pila ISO/OSI - più informazioni si hanno - più è lento 16 PAD Security Firewall: architettura Tipica INTERNET FW Firewall: architettura tipica INTERNET GW DMZ 17 PAD Security Intrusion Detection Systems (IDS) serve ad identificare la “presenza” di intrusi senza autorizzazione vengono individuati comportamenti “anomali” statistiche traffico troppo alto troppe password sbagliate pattern gli utenti autorizzati svolgono attività diverse da quelli non autorizzati Intrusion Detection Systems (IDS) essendo basati su statistiche devono essere fissate delle soglie periodo di transizione finché non si riesce a modellare il comportamento degli utenti falsi negativi e falsi positivi può anche essere distribuito sensori in diverse parti della rete e su diversi host 18 PAD Security SSL e TLS Secure Socket Layer di Netscape standard IETF col nome Transport Layer Security si applica concettualmente a livello sessione (OSI) non richiede modifiche dei protocolli sovrastanti tranne il cambiamento della porta HTTP porta 80 HTTP sicuro porta 443 - nel browser compare https:// SSL e TLS Protocolli di livello Application Protocolli di livello Application SSL SSL TCP TCP IP IP Internet 19 PAD Security SSL e TLS composto da una serie di protocolli SSL HANDSHAKE PROTOCOL serve a stabilire le caratteristiche del canale - algoritmo di cifratura - algoritmo di firma - algoritmo di scambio di chiavi SSL ALERT PROTOCOL e SSL CHANGE CIPHER SPEC protocolli di servizio - rilevazione errori e coerenza del protocollo SSL e TLS composto da una serie di protocolli SSL RECORD PROTOCOL è il protocollo che applica le caratteristiche richieste al canale quelle concordate con l’Handshake Protocol 20 PAD Security SSL e TLS: Record Protocol dati dati applicativi applicativi frammentazione F1 F1 F2 F2 compressione calcolo del MAC MAC MAC padding MAC MAC PP cifratura header HH Sicurezza a Livello Applicativo: S/MIME serve ad aggiungere i requisiti di sicurezza alla posta elettronica deve mantenere la compatibilità col passato troppo diffusa per essere cambiata in blocco SMTP T ESMTP RFC822 T MIME T S/MIME si basa su certificati X.509 applica firma digitale e/o cifratura è necessario accordarsi sulle Capabilities (in maniera trasparente) 21