Cenni sulla Sicurezza in Ambienti...

21
PAD Security 1 Cenni sulla Sicurezza in Ambienti 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.

Transcript of Cenni sulla Sicurezza in Ambienti...

Page 1: Cenni sulla Sicurezza in Ambienti Distribuiticorsiadistanza.polito.it/corsi/pdf/07EKEDC/security.pdfPAD Security 1 Cenni sulla Sicurezza in Ambienti Distribuiti Cenni sulla Sicurezza

PAD Security

1

Cenni sulla Sicurezza in Ambienti Distribuiti

Cenni sulla Sicurezza in Ambienti Distribuiti

Cataldo Basile< cataldo.basile @ polito.it >

Politecnico di TorinoDip. Automatica e Informatica

Motivazioni

l’architettura TCP/IPv4 è insicurail problema della sicurezza era risolto con la protezione fisica dei canalitutti i dati vengono posti dallo stack del sistema operativo in localenon c’è nessuna garanzia che siano esatti

sono necessarie delle modifichenuovi protocolli per integrare le funzionalitàIPv6etc.

Page 2: Cenni sulla Sicurezza in Ambienti Distribuiticorsiadistanza.polito.it/corsi/pdf/07EKEDC/security.pdfPAD Security 1 Cenni sulla Sicurezza in Ambienti Distribuiti Cenni sulla Sicurezza

PAD Security

2

Pacchetto IP

Pacchetto TCP

Page 3: Cenni sulla Sicurezza in Ambienti Distribuiticorsiadistanza.polito.it/corsi/pdf/07EKEDC/security.pdfPAD Security 1 Cenni sulla Sicurezza in Ambienti Distribuiti Cenni sulla Sicurezza

PAD Security

3

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 protocollipassivi

solo intercettazione senza modifiche ai pacchetti

attivicambiando i dati in modo opportuno

Attacchi Passivi: Sniffing

le reti locali di tipo Ethernet hanno un bus comunele schede di rete sono programmate per intercettare solo i pacchetti indirizzati ad un indirizzo MAC

si può utilizzare il modo promiscuosniffer

utilizza il modo promiscuo per intercettare tutti i pacchettili memorizza per analisi off-line

Page 4: Cenni sulla Sicurezza in Ambienti Distribuiticorsiadistanza.polito.it/corsi/pdf/07EKEDC/security.pdfPAD Security 1 Cenni sulla Sicurezza in Ambienti Distribuiti Cenni sulla Sicurezza

PAD Security

4

Attacchi Passivi: Sniffing

programmi che ricostruiscono le sessionisiti su cui sta navigando un altro utente

programmi che intercettanousername/password

alcuni strumentietherealdsniffanalyzer (Politecnico di Torino)webspy

Network Scanninggli attacchi sfruttano erroribisogna avere più informazioni possibili sul target dell’attacco

indirizzi IPporte aperterisorse più importantisistemi operativi

versioni, patch, service pack, ecc.server in funzione

ftp, http, ecc.versioni del software, patch

Page 5: Cenni sulla Sicurezza in Ambienti Distribuiticorsiadistanza.polito.it/corsi/pdf/07EKEDC/security.pdfPAD Security 1 Cenni sulla Sicurezza in Ambienti Distribuiti Cenni sulla Sicurezza

PAD Security

5

Network Scanningesistono strumenti in grado di ricavare automaticamente tutte le informazioni

ogni “componente” ha un comportamento particolare

risposte, ritardiripetono test noti e collezionano le informazioni

alcuni permettono di lanciare in automatico gli attacchi noti

Attacchi Attivi

si cambiano informazioni presenti nei pacchettidalla sorgente

indirizzo IPhping2

in transito router “corrotti”

si creano pacchetti ad-hocci si interpone nelle comunicazioni client-server

Page 6: Cenni sulla Sicurezza in Ambienti Distribuiticorsiadistanza.polito.it/corsi/pdf/07EKEDC/security.pdfPAD Security 1 Cenni sulla Sicurezza in Ambienti Distribuiti Cenni sulla Sicurezza

PAD Security

6

Attacchi: Denial of Service

consiste nel rendere inutilizzabili le risorse altrui

sovraccaricareretiserverworkstations

non c’è rimedio sicuroaumentare la capacità di ogni componente

Denial of Service: Smurfing

si manda un pacchetto che richiede rispostaad un numero elevato di computer connessi

broadcastcon indirizzo mittente falso (quello del bersaglio dell’attacco)le risposte andranno tutte al target rendendolo inutilizzabile

Page 7: Cenni sulla Sicurezza in Ambienti Distribuiticorsiadistanza.polito.it/corsi/pdf/07EKEDC/security.pdfPAD Security 1 Cenni sulla Sicurezza in Ambienti Distribuiti Cenni sulla Sicurezza

PAD Security

7

Denial of Service: Smurfing

Denial of Service: SYN Flooding

sfrutta il three-way handshake del TCPsi manda il primo pacchetto (flag SYN = 1) della connessione TCPnon si manda il terzo (ACK=1)il server lascia le risorse allocate in attesaripetendolo molte volte si esauriscono le risorse

timeout del serveroctopus

Page 8: Cenni sulla Sicurezza in Ambienti Distribuiticorsiadistanza.polito.it/corsi/pdf/07EKEDC/security.pdfPAD Security 1 Cenni sulla Sicurezza in Ambienti Distribuiti Cenni sulla Sicurezza

PAD Security

8

Altri Attacchi: man-in-the-middle

funzionano se si è “a metà strada” tra sorgente (client) e bersagliohijacking = dirottamento permette di inserirsi in una connessione (hunt)

si intercettano le richieste di connessione TCPsi cambia il sequence number

ARP spoofing e poisoning (hunt)il protocollo ARP mantiene la corrispondenza tra indirizzi MAC e IPricava le informazioni ascoltando la retesi 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 problemimettono a disposizione delle risorse

solo chi ne ha diritto dovrebbe poterle utilizzarerichiedono informazioni “sensibili”

riconoscimento dei client e dei serveri.e. numero di carta di credito

Page 9: Cenni sulla Sicurezza in Ambienti Distribuiticorsiadistanza.polito.it/corsi/pdf/07EKEDC/security.pdfPAD Security 1 Cenni sulla Sicurezza in Ambienti Distribuiti Cenni sulla Sicurezza

PAD Security

9

Le tre A della sicurezza

Autenticazionericonoscimento delle parti

Autorizzazioneper qualunque azione su qualunque risorsa si deve avere un’esplicita autorizzazione

Accountingbisogna mantenere le informazioni relative a quello che accade

malfunzionamentiattacchiutenti interni che non rispettano le regole

Integrità e Non Ripudio

Integritàpossibilità di verificare che nessuna modifica èstata fatta “nel mezzo”

non ripudiocaratteristica aggiuntiva dell’autenticazioneimpossibilità di negare di aver fatto una determinata azione

Page 10: Cenni sulla Sicurezza in Ambienti Distribuiticorsiadistanza.polito.it/corsi/pdf/07EKEDC/security.pdfPAD Security 1 Cenni sulla Sicurezza in Ambienti Distribuiti Cenni sulla Sicurezza

PAD Security

10

Tecniche di Protezione

protezione del canaleimpediscono di intercettare e modificare le informazioni che viaggiano tra le parti

protezione a livello applicativonuovi protocolli o integrazioni che permettono di ovviare ai problemi

S/MIME, etc.protezione delle reti

firewall, proxycrittografia

Crittografia

usata fin dall’antichitàcifrario di Cesare

formalizzata nella metà dell’ottocentoprincipio di Kerchoff

la sicurezza non deve basarsi sugli algoritmima su informazioni private condivise

permette dimantenere la segretezza (cifrare)autenticare (firma non ripudiabile)controllare l’integrità (hash)

Page 11: Cenni sulla Sicurezza in Ambienti Distribuiticorsiadistanza.polito.it/corsi/pdf/07EKEDC/security.pdfPAD Security 1 Cenni sulla Sicurezza in Ambienti Distribuiti Cenni sulla Sicurezza

PAD Security

11

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 1979chiave privata e pubblica sono legate da relazioni matematiche

la chiave pubblica può essere distribuita liberamentela chiave privata NO

se si cifra con la chiave pubblica si può decifrare con la chiave privata e viceversa

Page 12: Cenni sulla Sicurezza in Ambienti Distribuiticorsiadistanza.polito.it/corsi/pdf/07EKEDC/security.pdfPAD Security 1 Cenni sulla Sicurezza in Ambienti Distribuiti Cenni sulla Sicurezza

PAD Security

12

Crittografia a chiave pubblica

Crittografia a Chiave Pubblica + Crittografia a chiave privata

gli algoritmi con chiave pubblica sono molto lentimetodo combinato

si genera una chiave di sessionesi cifra con algoritmi a chiave pubblica la chiave di sessione (piccola)si cifra il canale con la chiave di sessione

alternativaprotocolli di scambio di chiavi

Diffie-Hellman

Page 13: Cenni sulla Sicurezza in Ambienti Distribuiticorsiadistanza.polito.it/corsi/pdf/07EKEDC/security.pdfPAD Security 1 Cenni sulla Sicurezza in Ambienti Distribuiti Cenni sulla Sicurezza

PAD Security

13

Hash

si basano sul concetto di funzioni one-waysi usano per garantire l’integritàesempio

si calcola l’hash di un pacchetto IPsi ottiene un digest

qualunque modifica al pacchetto viene individuata

il digest sarebbe molto diversonon posso costruire in maniera semplice un pacchetto IP che abbia lo stesso digest

Firma digitale

Page 14: Cenni sulla Sicurezza in Ambienti Distribuiticorsiadistanza.polito.it/corsi/pdf/07EKEDC/security.pdfPAD Security 1 Cenni sulla Sicurezza in Ambienti Distribuiti Cenni sulla Sicurezza

PAD Security

14

Firma Digitale

deve essere applicata ad un oggettol’hash garantisce che non venga modificatola cifratura dell’hash con la chiave privata garantisce l’autentacazionla verifica può essere fatta da chiunque

tramite la chiave pubblicanon ripudiabileinizia ad essere usata dalla Amministrazioni Pubbliche

Certificati

rimane il problema di legare una chiave pubblica ad un’entità

persona o serverlo standard più utilizzato è quello ISO/OSI X.509

una Certification Authority garantisce con la propria firma il legame chiave – identità

Page 15: Cenni sulla Sicurezza in Ambienti Distribuiticorsiadistanza.polito.it/corsi/pdf/07EKEDC/security.pdfPAD Security 1 Cenni sulla Sicurezza in Ambienti Distribuiti Cenni sulla Sicurezza

PAD Security

15

Certificati

IPsec

proposta IETF per la protezione delle reti IPv4offre

autenticazione (hash+firme)riservatezza (cifratura)

composto da due protocolli (+header aggiuntivi)

AH Authentication HeaderESP Encapsulating Security Payload

metodo per scambiare le chiaviIKE Internet Key Exchange

Page 16: Cenni sulla Sicurezza in Ambienti Distribuiticorsiadistanza.polito.it/corsi/pdf/07EKEDC/security.pdfPAD Security 1 Cenni sulla Sicurezza in Ambienti Distribuiti Cenni sulla Sicurezza

PAD Security

16

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

Internet

CANALE SICURO

Firewall

muro tagliafuocoserve a controllare e separare zone a diversi livelli di sicurezza

è un sistema hw+sw in grado difiltrare pacchettipuò fare controlli a diversi livelli

più si va in alto nella pila ISO/OSI - più informazioni si hanno- più è lento

Page 17: Cenni sulla Sicurezza in Ambienti Distribuiticorsiadistanza.polito.it/corsi/pdf/07EKEDC/security.pdfPAD Security 1 Cenni sulla Sicurezza in Ambienti Distribuiti Cenni sulla Sicurezza

PAD Security

17

Firewall: architettura Tipica

FW

INTERNET

Firewall: architettura tipica

DMZ

GW

INTERNET

Page 18: Cenni sulla Sicurezza in Ambienti Distribuiticorsiadistanza.polito.it/corsi/pdf/07EKEDC/security.pdfPAD Security 1 Cenni sulla Sicurezza in Ambienti Distribuiti Cenni sulla Sicurezza

PAD Security

18

Intrusion Detection Systems (IDS)

serve ad identificare la “presenza” di intrusisenza autorizzazione

vengono individuati comportamenti “anomali”statistiche

traffico troppo altotroppe password sbagliate

patterngli utenti autorizzati svolgono attività diverse da quelli non autorizzati

Intrusion Detection Systems (IDS)

essendo basati su statistichedevono essere fissate delle soglieperiodo di transizione finché non si riesce a modellare il comportamento degli utenti

falsi negativi e falsi positivipuò anche essere distribuito

sensori in diverse parti della rete e su diversi host

Page 19: Cenni sulla Sicurezza in Ambienti Distribuiticorsiadistanza.polito.it/corsi/pdf/07EKEDC/security.pdfPAD Security 1 Cenni sulla Sicurezza in Ambienti Distribuiti Cenni sulla Sicurezza

PAD Security

19

SSL e TLS

Secure Socket Layer di Netscapestandard IETF col nome Transport Layer Security

si applica concettualmente a livello sessione (OSI)non richiede modifiche dei protocolli sovrastanti

tranne il cambiamento della portaHTTP porta 80 HTTP sicuro porta 443- nel browser compare https://

SSL e TLS

SSL

TCP

IP

Internet

TCP

IP

Protocolli di livello Application

Protocolli di livello Application

SSL

Page 20: Cenni sulla Sicurezza in Ambienti Distribuiticorsiadistanza.polito.it/corsi/pdf/07EKEDC/security.pdfPAD Security 1 Cenni sulla Sicurezza in Ambienti Distribuiti Cenni sulla Sicurezza

PAD Security

20

SSL e TLS

composto da una serie di protocolliSSL 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 protocolliSSL RECORD PROTOCOL

è il protocollo che applica le caratteristiche richieste al canalequelle concordate con l’Handshake Protocol

Page 21: Cenni sulla Sicurezza in Ambienti Distribuiticorsiadistanza.polito.it/corsi/pdf/07EKEDC/security.pdfPAD Security 1 Cenni sulla Sicurezza in Ambienti Distribuiti Cenni sulla Sicurezza

PAD Security

21

SSL e TLS: Record Protocoldati applicatividati applicativi

compressione

F1F1 F2F2frammentazione

header HH

cifratura

padding MACMAC PP

calcolo del MAC MACMAC

Sicurezza a Livello Applicativo: S/MIME

serve ad aggiungere i requisiti di sicurezza alla posta elettronica

deve mantenere la compatibilità col passatotroppo diffusa per essere cambiata in bloccoSMTP T ESMTPRFC822 T MIME T S/MIME

si basa su certificati X.509applica firma digitale e/o cifraturaè necessario accordarsi sulle Capabilities (in maniera trasparente)