Elementi di sicurezza
nelle reti
Problemi di sicurezza attiva
Trasmissione di dati attraverso una rete con
tecniche di cifratura che evitano che i dati
vengano:
– intercettati e letti (secrecy)
– modificati (message integrity)
 Autenticazione e certificazione della propria
identità (authentication)
 Le funzionalità di sicurezza sono presenti in più
livelli dell’architettura di rete

Network Security
Alice e Bob (possono essere router, host, applicativi
di posta, ecc.) vogliono comunicare in modo
sicuro.
Esempi comuni di situazioni in cui si richiede
sicurezza:
 relazioni sentimentali
 comunicazioni in tempo di guerra
 transazioni commerciali
Bob
Alice
Trudy
Trudy può essere passiva o attiva.
“Sicurezza” in Internet
Tecniche crittografiche
Tipi di attacchi
attacco solo sul messaggio cifrato
(cyphertext only)
 attacco conoscendo il messaggio in chiaro
(known plaintext)
 attacco scegliendo il messaggio in chiaro
(chosen plaintext)

Tecniche crittografiche
Due approcci fondamentali:
 chiavi simmetriche: la cifratura e la decifratura usano
una stessa chiave segreta (es. cifratore di Cesare;
cifratore monoalfabetico; cifratore di de Vigenere o
polialfabetico; DES – Data Encryption Standard)
 chiavi pubbliche: solo la chiave di decifratura è
segreta; la chiave di cifratura è nota a tutti (es.
algoritmo RSA – Rivest Shamir Adleman; funzioni
ellittiche)
DES: Data
Encryption
Standard
(US National
Bureau of
Standards)
La funzione f(·) compone in
OR gruppi di 4 bit di Ki e di
Ri espansi a gruppi di 6 bit.
Il risultato va in XOR con Li.
Sicurezza del DES
DES usa chiavi da 64 bit di cui 8 di parità.
 Il 1999 DES Challenge III (gara di “cracking” del
DES-56) è stato vinto in 22 ore, utilizzando un
calcolatore progettato appositamente e una rete di
volontari.
 Si può migliorare la sicurezza applicando più volte il
DES con chiavi diverse. Per esempio il triplo DES
(3DES) è stato proposto come standard crittografico
per il Point-to-Point Protocol (PPP).

Crittografia con chiave
pubblica
L’utente genera, utilizzando software opportuno,
una coppia di chiavi (sequenze di bit).
 Le due chiavi sono correlate matematicamente,
ma dall’una non si può ricavare l’altra.
 Una, la chiave pubblica, viene distribuita, l’altra,
la chiave privata, viene tenuta segreta.

Crittografia con chiave
pubblica
Protezione dalla lettura
Chi vuole inviare all’utente X un messaggio M
senza che questo venga letto da estranei, usa la
chiave pubblica E dell’utente X per cifrarlo. Il
messaggio cifrato si calcola come F(E,M)
 La funzione F usata per cifrare non è invertibile
 Il messaggio potrà essere decifrato solo dal
possessore della chiave privata D (la chiave
pubblica non è più in grado di farlo) applicando
nuovamente la funzione F:
M=F(D,F(E,M))=F(E,F(D,M))

Algoritmo RSA
Si scelgono due numeri primi grandi p e q.
 Si calcola n = pq e z = (p-1)(q-1).
 Si sceglie un numero e < n che non abbia fattori
comuni con z.
 Si trova un numero d in modo che ed-1 sia
esattamente divisibile per z.
 La chiave pubblica è (n,e), la chiave privata (n,d).
La codifica è
c = me mod n.
La decodifica è m = cd mod n.

Perché funziona RSA?
Teorema di Fermat-Eulero:
a(n) = 1 mod n
a<n
(n) = funzione  di Eulero: conta il
numero di numeri primi con n
 Piccolo teorema di Fermat:
ap-1 = 1 mod p
a < p, p primo
 se n = pq, con p e q primi,
(pq) = (p) (q) = (p-1) (q-1)
 Infine: m = mde mod n = mde mod z + k z mod n
= m1 + k(p-1)(q-1) mod pq = m

Autenticazione del mittente
L’utente X invia un’email (o effettua un posting su
Usenet), cifrandola mediante la propria chiave
privata
Se i destinatari sono in possesso della chiave
pubblica del mittente, potranno decifrare il mail e,
automaticamente, essere sicuri che è stato
inviato dall’utente X
… o è stato solo codificato dall’utente X?
Autenticazione
Autenticazione
Cifrare la password non aiuta!
Autenticazione
Utilizzo del nonce (numero usato una
sola volta) e chiave simmetrica.
Autenticazione
Utilizzo del nonce e chiave pubblica.
Autenticazione?
Deve essere sicuro lo scambio della chiave pubblica!
Man-in-the-middle attack
Alice e Bob non
si accorgono della
presenza di Trudy!
Protezione da contraffazione
(message integrity)
Firma digitale
Per ridurre la complessità computazionale sovente
si “firmano” i message digest:
Firma digitale
L’utente X “condensa” il messaggio usando un
algoritmo di “hash”, quindi ne codifica il risultato
(message digest) con la propria chiave privata.
 Il messaggio viene inviato in chiaro, e l’utente X
vi acclude il digest codificato.
 Se il destinatario (o meglio il suo programma di
email) riesce a decodificare con la chiave
pubblica di X il digest, il messaggio non è
contraffatto.

Firma digitale:
trasmissione
Firma digitale:
ricezione
Message Digest
E’ un sommario o “impronta” del messaggio, simile
a un controllo di parità.
Algoritmi di hashing:
 MD5 (RFC1321, RFC1810)
 SHA-1 (Secure Hashing Algorithm), standard
federale (USA)
Distribuzione delle chiavi
Le chiavi devono essere distribuite in modo sicuro.
Servono “notai elettronici”:
 Key Distribution Center per sistemi a chiave
simmetrica (es.: Kerberos - RFC1510 - sviluppato
al MIT)
 Certification Authority per sistemi a chiave
pubblica
Key Distribution Center
Il server del KDC ha una chiave simmetrica segreta
KX,KDC per ogni utente registrato X.
R1 = one-time
session key
Occorre essere certi delle
chiavi pubbliche!
Certification Authority
Compiti:
 verificare l’identità delle entità
 mantenere le chiavi pubbliche delle entità
 distribuire certificati (firmati dalla Certification
Authority) che legano la chiave pubblica di
un’entità alla sua identità
ITU (X.509) e IETF (RFC1422) hanno standard per
Certification Authority.
Certification Authority
I certificati
Un certificato è una chiave pubblica “firmata” con
la chiave privata di una Certification Authority
 Esistono gerarchie di autenticazione (chi certifica
le singole Authority?) con certificati conformi allo
standard X.509
 Richiedere un certificato ad una CA è possibile a
chiunque (ma spesso si paga...)

Un certificato
e-mail sicura
Segretezza, autenticazione e integrità del messaggio.
In Internet PGP (Pretty Good Privacy - http://www.pgpi.com)
funziona sostanzialmente secondo questo schema.
e-mail sicura
eA(.)
H(.)
Autenticazione e integrità del messaggio: si usa una firma
digitale sul message digest.
e-mail sicura
Segretezza del messaggio: si usa una chiave simmetrica
perché richiede un minor sforzo computazionale.
Sicurezza in Internet
Livello applicativo: es. PGP
 Livello trasporto: Secure Socket Layer (SSL),
sviluppato da Netscape; Secure Electronic
Transactions (SET) progettato da Visa International
e MasterCard per transazioni con carte di credito
 Livello IP: IP Security protocol (IPsec - RFC2401,
RFC2411)

Problemi di sicurezza passiva
Senza adeguate protezioni, la rete Internet è
vulnerabile ad attachi mirati a:
– penetrare all’interno di sistemi remoti
– usare sistemi penetrati per sferrare attacchi
verso altre reti e sistemi
 Questi problemi sorgono a causa di:
– vulnerabilità intrinseca degli host
– configurazioni approssimative e assenza di
controlli

Esempi recenti e frequenti
 Vulnerabilità
di sendmail (UNIX). Problema
amplificato dalla vasta diffusione del programma
 Vulnerabilità di server FTP, soprattutto nella
configurazione anonymous
 Installazione di “sniffer” (programmi in grado di
carpire le password, che viaggiano “in chiaro”
sulla rete, ed altre informazioni)
Pericoli in Internet
Autenticazione debole
 Monitoraggio di password
 spoofing
 Denial-of-Service
 Servizi LAN di scarsa affidabilità
 Host “a fiducia reciproca”
 Disponibilità del software di rete
 Poca scalabilità della sicurezza degli host

Autenticazione debole
Problema presente su sistemi Unix multiuser
 Normalmente, le password sono contenute (cifrate)
in file leggibili da qualsiasi utente
 Usando programmi adatti è possibile decrittare le
password prelevate dal file
 Soluzione: shadow password. Il file di password
non è più leggibile dall’utente senza privilegi

Monitoraggio di password

Diverse tecniche:
– Normalmente, un telnet o ftp tra sistemi Unix
invia le password in chiaro in rete. Attraverso
uno sniffer è possibile intercettarle
– Utenti incauti possono inviare password
all’interno di email, intercettabili anch’esse
– Uso di programmi che “leggono” i tasti battuti
da un utente su un terminale Xwindow
Spoofing
 Letteralmente,
“spacciarsi per un altro host”
 Sostalzialmente, si tratta di assumere
l’indirizzo IP di un host “fidato” che ha
accesso su un sistema protetto
 Il modo più semplice consiste nell’attendere
che l’host “reale” venga spento e non si
creino conflitti tra indirizzo IP e indirizzo MAC
Spoofing con source routing

Uno spoofing più sofisticato prevede l’uso
dell’opzione di source routing IP:
– l’host “cattivo” assume l’indirizzo IP del “buono”
– il “cattivo” costruisce una richiesta client in cui
specifica, hop per hop, il percorso dei pacchetti
tra sé e il sistema attaccato, e ritorno
– il sistema remoto accetta la richiesta come
provenisse dal “buono” e risponde al “cattivo”
attraverso la source route indicatagli
Denial-of-Service
Attacco “subdolo” mirato ad alterare l’attività
dell’interfaccia di rete o del software di rete,
finché l’host va in “crisi”
 Esempi:
– Bombardamento di ‘ping’
– Apertura “parziale” di connessioni multiple (syn
flooding)

Denial-of-Service:
il syn flooding
Consiste nell’inviare ad un server TCP una
sequenza ininterrotta di segmenti SYN senza mai
chiudere il three-way handshake
 Il server riesce a tenere “in coda” solo un numero
limitato di richieste di connessione, e non riesce
più a servire quelle “vere”
 L’hacker spesso modifica il proprio indirizzo di
provenienza sui pacchetti IP, rendendo
impossibile qualunque difesa

Servizi LAN a scarsa affidabilità
Un esempio: NIS (Network Information Services)
e NFS (Network File System)
 Idea: gestisco il sistema in maniera distribuita
(password, file system ...)
 … ma in questo modo aumento la vulnerabilità
globale perchè la violazione di uno degli host
“regala” all’hacker l’accesso a tutti gli altri

Host a “fiducia reciproca”

Soprattutto in relazione al servizio “rlogin”: la
connessione di un utente da un certo host sono
accettati senza password se la coppia
(utente,host) è dichiarata “di fiducia”
– vantaggio: non trasmetto la password sulla
rete
– svantaggio: se l’utente sull’host “di fiducia”
viene violato, lo saranno, a catena, tutti quelli
che si fidano
Disponibilità del software
di rete
Il software TCP/IP ed i suoi meccanismi sono ben
noti
 Il codice è disponibile liberamente, e può essere
studiato per individuarne eventuali debolezze
 Il pericoli di nuovi attacchi, sotto forme diverse, è
dunque sempre attuale!

Poca scalabilità
Vulnerabilità accertate sono difficili da risolvere se la
sicurezza è gestita a livello di host
 Occorre un approccio net-wide
 La soluzione comunemente scelta è il ricorso ad un
firewall

Firewall
Lo scopo principale di un firewall è di controllare
l’accesso da e a una rete protetta
 Il controllo è effettuato obbligando le connessioni
a passare attraverso il firewall, dove vengono
esaminate e valutate
 Un firewall può essere un router o anche un PC,
posizionati topologicamente per proteggere host
o sottoreti

I benefici di un firewall
Protezione di servizi vulnerabili (come NFS, o
spoofing con source routing)
 Accesso controllato agli host interni (es.: solo
accesso a mail server o WWW server)
 Sicurezza concentrata  scalabilità
 Statistiche di accesso, logging di traffico
 ...

Funzionalità di un firewall

Politica di accesso alla rete

meccanismi avanzati di autenticazione

filtraggio dei pacchetti

funzioni di proxy

… combinazioni delle singole funzionalità
Firewall
Politiche di accesso alla rete
Affronta il problema ad “alto livello”:
– quali servizi possono avere accesso alla rete
(es.: tutti, tranne quelli esplicitamente negati)
– quali servizi devono essere “negati”
(es.: tutti, tranne quelli esplicitamente permessi)
 … e a “basso livello”:
– quali soluzioni pratiche vanno seguite per
accettare o rifiutare i servizi

Firewall
Meccanismi avanzati di autenticazione

Poiché i firewall centralizzano il controllo
dell’accesso ai siti, sono il punto più logico dove
installare servizi avanzati di autenticazione (es:
one-time password )
TELNET, FTP
non autenticati
FIREWALL
Internet
TELNET, FTP
autenticati
Firewall
Filtraggio di pacchetti

Realizzato attraverso un router in grado di
scartare o accettare pacchetti in IP in base a:
– indirizzo sorgente IP
– indirizzo destinazione IP
– porta sorgente TCP/UDP
– porta destinazione TCP/UDP
Firewall
Funzioni di proxy
Un firewall, sotto forma di application gateway,
può “connettere” traffico in ingresso ed in uscita
sostituendosi di volta in volta alla sorgente e alla
destinazione
 Può essere usato per una varietà di servizi (da
FTP e Telnet, fino al più comune scambio clientserver WWW)

La funzione di proxy
F
client
server
1. Un client interno invia una richiesta ad un server
esterno alla rete
2. Il firewall/proxy intercetta la richiesta e la propaga
all’esterno come se fosse sua.
3. Quando torna la risposta, se ne fa (eventualmente)
una copia e poi la propaga al client come se
provenisse direttamente dal server remoto
Problemi irrisolti

Un firewall può introdurre dei problemi e può
talvolta essere inefficace:
– Accesso limitato a servizi “desiderati” (telnet, ftp, NFS)
– Presenza di backdoors (connessioni modem che
“aggirano” il firewall)
– Nessuna protezione contro attacchi “dall’interno” della
rete
– Nessuna protezione contro virus scaricati dalla rete!
– Possibili limiti sul throughput in ingresso/uscita dal sito
Scarica

intro-SEC