Post on 06-Oct-2020
transcript
Sicurezza delle reti IP (netsec - dic'10)
© Antonio Lioy - Politecnico di Torino (1997-2010) 1
Antonio Lioy
< li @ lit it >
Sicurezza delle reti IP
< lioy @ polito.it >
Politecnico di Torino
Dip. Automatica e Informatica
Accesso remoto via canali dial-up
NAS
rete a commutazionedi circuito
(RTC / ISDN)
NAS(NetworkAccessServer)
rete IP(Internet)
Autenticazione di canali PPP
PPP è un protocollo ...
... per incapsulare pacchetti di rete (L3, es. IP) ...
... e trasportarli su un collegamento punto-punto
reale (es. RTC, ISDN)
virtuale L2 (es. xDSL con PPPOE)
virtuale L3 (es. L2TP su UDP/IP)
tre fasi, svolte in sequenza:
LCP (Link Control Protocol)
autenticazione (opzionale; PAP, CHAP o EAP)
L3 encapsulation (es. IPCP, IP Control Protocol)
Autenticazione degli accessi remoti
per accessi dial-up ma anche wireless o virtuali
PAP
Password Authentication Protocol
password in chiaro
CHAP
Challenge Handshake Authentication Protocol
sfida simmetrica
EAP
Extensible Authentication Protocol
aggancio a meccanismi esterni (sfide, OTP, TLS)
PAP
Password Authentication Protocol
RFC-1334
user-id e password inviate in chiaro
autenticazione solo all’attivazione del ll tcollegamento
molto pericoloso!
CHAP
RFC-1994 “PPP Challenge Handshake Authentication Protocol (CHAP)”
meccanismo a sfida simmetrico (basato sulla password)
sfida iniziale obbligatoria possibile ripetere la sfida iniziale obbligatoria, possibile ripetere la richiesta (con sfida diversa) durante la comunicazione a discrezione dell’NAS
chi supporta sia CHAP sia PAP, deve prima offrire CHAP
Sicurezza delle reti IP (netsec - dic'10)
© Antonio Lioy - Politecnico di Torino (1997-2010) 2
EAP
RFC-2284“PPP Extensible Authentication Protocol (EAP)”
un framework flessibile di autenticazione a livello data-link
tipi di autenticazione predefiniti: tipi di autenticazione predefiniti:
MD5-challenge (simile a CHAP)
OTP
generic token card
altri tipi possono essere aggiunti:
RFC-2716 “PPP EAP TLS authentication protocol”
RFC-3579 “RADIUS support for EAP”
EAP - incapsulamento
per trasportare i dati di autenticazione usa un proprio protocollo di incapsulamento (perché il livello 3 non è ancora attivo …)
caratteristiche dell’incapsulamento EAP:
indipendente da IP indipendente da IP
supporta qualsiasi link layer (es. PPP, 802, …)
ACK/NAK esplicito (no windowing)
assume no reordering
non supporta la frammentazione
EAP
il link non è considerato fisicamente sicuro
i metodi EAP devono provvedere ai necessari servizi di sicurezza
metodi EAP:
EAP TLS EAP-TLS
EAP-MD5
tunnelled TLS (permette di operare qualsiasi metodo EAP protetto da TLS)
EAP-SRP (Secure Remote Password)
GSS_API (incluso Kerberos)
AKA-SIM
EAP - architettura
methodlayer
TLS SRPAKA
SIM
EAPlayer
PPP
EAP
medialayer802.3 802.5 802.11
Autenticazione per collegamenti dial-up
Network co
lg
er
utenteabilitato?
rete IPAccessServer
AuthenticationServer
pro
toc
man
ag
Si / No,configurazione,
...
utenticonfig.
Le tre A
i produttori di NAS dicono che la sicurezza richiede tre funzioni:
Autenticazione
Autorizzazione
A ti Accounting
l’AS ricopre proprio queste tre funzioni dialogando con uno o più NAS tramite uno o più protocolli
Sicurezza delle reti IP (netsec - dic'10)
© Antonio Lioy - Politecnico di Torino (1997-2010) 3
Protocolli di autenticazione via rete
RADIUS
il più diffuso
funzionalità di proxy verso altri AS
DIAMETER
evoluzione di RADIUS
enfasi su roaming tra ISP diversi
elevata attenzione alla sicurezza
TACACS+ (TACACS, XTACACS)
in origine tecnicamente migliore di RADIUS ma meno diffuso perché proprietario
RADIUS
Remote Authentication Dial-In User Service Livingston Technologies UDP, porta 1812 (errore: UDP/1645) supporta autenticazione, autorizzazione e
accounting per l'accesso alla rete:g p porte fisiche (analogiche, ISDN, IEEE 802) porte virtuali (tunnel, accessi wireless)
amministrazione e accounting centralizzato schema client-server tra NAS e AS
timeout e ritrasmissione server secondari
RADIUS - RFC
RFC-2865 (protocollo)
RFC-2866 (accounting)
RFC-2867/2868 (accounting e attributi per tunnel)
RFC-2869 (estensioni)
RFC-3579 (RADIUS support for EAP)
RFC-3580 (guidelines for 802.1X with RADIUS)
RADIUS proxy
il server può fungere da proxy verso altri server di autenticazione
NAS1local
alice@NT.polito.it
b b localRADIUSDB
NAS2 barbara
barbara
NT domaincontroller
UNIXNIS server
serverRADIUS
alice
RADIUS: protezione dei dati
integrità ed autenticazione dei pacchetti tramite keyed-MD5:
key = shared-secret
client senza key sono ignorati
d t “ itt f t ” MD5 password trasmessa “crittografata” con MD5 (dopo averne fatto il padding a 128 bit con NUL):
(password || pad) ⊕ md5(key || autenticatore)
RADIUS
autenticazione dell’utente tramite PAP, CHAP, token-card e EAP
CISCO fornisce server per CryptoCard
altri offrono SecurID
f t d li tt ib ti TLV (f il t t dibil formato degli attributi TLV (facilmente estendibile senza modificare l’installato):
attribute Type – Length – Value
Sicurezza delle reti IP (netsec - dic'10)
© Antonio Lioy - Politecnico di Torino (1997-2010) 4
RADIUS - formato
code identif length
autenticatore
... attributi ...
RADIUS - pacchetti
ACCESS-REQUEST
ACCESS-REJECT
ACCESS-CHALLENGE
ACCESS-ACCEPT ( parametri ):
SLIP/PPP: IPaddr, netmask, MTU, ...
terminal: host, port
RADIUS - autenticatore
duplice scopo:
autenticare la risposta del server ed evitare replay
mascherare la password
in Access-Request:
si chiama Request Authenticator
sono 16 byte random generati dal NAS
in Access-Accept / Reject / Challenge
si chiama Response Authenticator
si calcola con un keyed-digest:
md5 (code || ID || length || RequestAuth || attributes || secret)
RADIUS - alcuni attributi
type = 1 (User-Name)
value = text, network access identifier (NAI), DN
type length value
value text, network access identifier (NAI), DN
type = 2 (User-Password)
value = password ⊕ md5 (key || RequestAuthent.)
type = 3 (Chap-Password)
value = user CHAP response (128 bit)
type = 60 (CHAP-Challenge)
value = sfida fatta dal NAS all’utente
NAI (Network Access Identifier)
RFC-2486
NAI = username [ @ realm ]
tutti dispositivi devono supportare almeno NAI lunghi 72 byte
l i t i tt di l è d itt la sintassi esatta di username e realm è descritta nell’RFC (si noti che include solo i caratteri ASCII < 128 ma li include tutti)
Esempio - CHAP + RADIUS
RADIUSserver
CHAP / Challenge-Request
CHAP / Challenge-ResponseCHAP / Challenge-ResponseRADIUS / Access-Request: - CHAP-Username- CHAP-Challenge- CHAP-Password
RADIUS / Access-Accept:- parametri, …CHAP / Success
IPCP
Sicurezza delle reti IP (netsec - dic'10)
© Antonio Lioy - Politecnico di Torino (1997-2010) 5
DIAMETER
evoluzione di RADIUS
particolare enfasi sul roaming tra ISP diversi
RFC-3588 “Diameter base protocol”
RFC-3589 “Commands for the 3GPP”
RFC-3539 “AAA transport profile”
RFC-4004 “Diameter mobile IPv4 application”
RFC-4005 “Diameter network access server application”
RFC-4006 “Diameter credit-control application”
RFC-4072 “Diameter EAP application”
Sicurezza di DIAMETER
protezione obbligatoria con IPsec o TLS:
client Diameter DEVE supportare IPsec e PUO’ supportare TLS
server Diameter DEVE supportare IPsec e TLS
fi i i bbli t i configurazioni obbligatorie:
(IPsec) ESP con algo non nulli sia per autenticazione sia per riservatezza
(TLS) mutua autenticazione (client DEVE avere un certificato a chiave pubblica)
(TLS) DEVE supportare RSA+RC4_128/3DES+ MD5/SHA1 e PUO’ usare RSA+AES_128+SHA1
IEEE 802.1x
Port-Based Network Access Control:
architettura di autenticazione per il livello 2(MAC - Media Access Control)
utile sugli switch di reti wired per bloccare l’accesso alla retel accesso alla rete
indispensabile nel caso di reti wireless
prime implementazioni:
Windows-XP e access-point wireless Cisco
http://standards.ieee.org/getieee802/download/802.1X-2001.pdf
IEEE 802.1x
un framework per autenticazione e key-management
802.1x può derivare chiavi di sessione da usare per autenticazione, integrità e segretezza dei pacchettip
sfrutta algoritmi standard per la derivazione delle chiavi (es. TLS, SRP, …)
servizi di sicurezza opzionali (autenticazione o autenticazione+cifratura)
enterprise or ISPnetwork
semi-public network /enterprise edge
802.1x - architettura
authenticator / etherNAS(es. Access Point or switch)
supplicant
authenticationserver
(es. RADIUS)
802.1x - vantaggi
sfrutta il livello applicativo per l’effettiva implementazione dei meccanismi di sicurezza
conversazione diretta tra supplicant e AS
NIC e NAS agiscono come “pass-through device”device
nessun cambiamento su NIC e NAS per implementare nuovi meccanismi di autenticazione
perfetta integrazione con AAA
Sicurezza delle reti IP (netsec - dic'10)
© Antonio Lioy - Politecnico di Torino (1997-2010) 6
RADIUSEAPOL
Ethernetlaptop
switch
server Radius
802.1x - messaggi
EAPOL-Start
access blockedport connect
Ethernet
EAP-Response/Identity
Radius-Access-Challenge
EAP-Response (credentials)
Radius-Access-Accept
EAP-Request/Identity
EAP-Request
access allowed
EAP-Success
Radius-Access-Request
Radius-Access-Request
A quale livello di rete è meglio realizzare la sicurezza?
Application
firewall? IPSEC?smart-card?
apparati cifranti?guardie armate?
Data Link
Network
Transport
Session
Presentation
Physical
Livello ottimale?
più si sale nello stack e più le funzioni saranno specifiche (es. possibile identificare l’utente, i comandi, i dati) ed indipendenti dalle reti sottostanti ma più saranno possibili attacchi di tipo DoS
più si resta in basso nello stack e più sarà possibile “espellere” in fretta gli intrusi ma i dati su cui basare questa decisione saranno più scarsi (es. solo indirizzo MAC o IP, no utenti, no comandi)
Sicurezza a livello fisico
protezione fisica:
del supporto trasmissivo
degli amplificatori / ripetitori / convertitori
tipicamente solo in reti chiuse (es. militari, lt fi )governo, alta finanza)
AMP CONV
e- e- e- γ
cavi elettrici fibra ottica
Misure di sicurezza a livello fisico
usare reti switched (ossia 10baseT o 100baseT) per eliminare lo sniffing:
evitare gli hub
evitare derivazioni multiple sulla stessa porta dello switchswitch
proteggere gli armadi / locali che contengono le apparecchiature di rete
proteggere i cavedi / pozzetti
Sicurezza a livello data-link
apparati cifranti per proteggere i dati a livello 2 (MAC)
solo per segmenti con tecnologia omogenea
LAN
spezzoni di WANp
router
0 1 1 0 1 1 0 1 1
ethernet frame relay
router
ISDN
Sicurezza delle reti IP (netsec - dic'10)
© Antonio Lioy - Politecnico di Torino (1997-2010) 7
Sicurezza a livello data-link
sebbene esistano schede cifranti da installare sui client, normalmente non si protegge il livello 2 sulle stazioni ma solo su tratte geografiche punto-punto
si comincia a pensare la gestione della LAN p gassociata a quella della sicurezza:
VLAN
switch con porte protette (es. 802.1x)
allarmi automatici al comparire di un nuovo MAC
assegnazione statica degli indirizzi IP
no a DHCP completamente dinamico
Sicurezza del DHCP
protocollo non autenticato
facilissimo attivare shadow server
attacchi possibili da parte del falso server:
denial-of-service
fornisco configurazione di rete sbagliata
MITM logico
fornisco configurazione con subnet da 2 bit + default gateway uguale alla macchina che vuole essere MITM
facendo NAT si intercettano anche le risposte
Protezione del DHCP
alcuni switch (es. Cisco) offrono:
DHCPsnooping = solo risposte da “trusted port”
IP guard = solo IP ottenuti da DHCP (ma ci sono limitazioni sul numero di indirizzi che si riesce a trattare)trattare)
RFC-3118 “Authentication for DHCP messages”
usa HMAC-MD5 per autenticare i messaggi
scarsamente adottato
Sicurezza a livello network
protezione end-to-end per reti omogenee a livello logico (es. IP)
possibile anche creare VPN (Virtual Private Network) per proteggere solo una parte del path
IPrete IP
router
router client
server
Che cos’è una VPN?
una tecnica (hardware e/o software) per realizzare una rete privata ...
... utilizzando canali e apparati di trasmissione condivisi o comunque non fidati
FIATTorino
FIATMelfi
ENIMilano
ENIRoma
rete "pubblica"
Dove si applica una VPN?
quando si attraversa una rete pubblica e/o non fidata ...
... per comunicazioni intra-aziendali tra sedi remote (Intranet)
per comunicazioni inter-aziendali chiuse tra ... per comunicazioni inter-aziendali chiuse tra aziende che si sono previamente accordate (Extranet)
Sicurezza delle reti IP (netsec - dic'10)
© Antonio Lioy - Politecnico di Torino (1997-2010) 8
Dove NON si applica una VPN?
quando si attraversa una rete pubblica e/o non fidata ...
... per comunicazioni inter-aziendali senza accordi precedenti
per comunicazioni con clienti non noti a priori ... per comunicazioni con clienti non noti a priori (commercio elettronico di tipo business-to-consumer)
Tecniche di realizzazione di una VPN mediante reti nascoste
mediante routing protetto (tunnel IP)
mediante protezione crittografica dei pacchetti rete (tunnel IP sicuro)
1. VPN mediante rete nascosta
le reti da collegare utilizzano un indirizzamento non standard per non essere raggiungibili da altre reti (es. reti nascoste IANA secondo RFC-1918)
è una protezione facilmente superabile se è una protezione facilmente superabile se qualcuno:
scopre gli indirizzi usati
può leggere i pacchetti in transito
ha accesso all’infrastruttura di comunicazione
2. VPN mediante tunnel
i router provvedono ad incapsulare i pacchetti di rete all’interno di altri pacchetti
IP in IP
IP over MPLS
lt altro
i router controllano l’accesso alle reti mediante ACL (Access Control List)
protezione superabile da chi gestisce i router o da chi può comunque leggere i pacchetti in transito
VPN mediante tunnel IP
rete pubblica
R1 R2
A → B A → BR1 → R2
A → B
rete1 rete2A B
IPv4 header( tunnel )
TCP/UDP header + dataIPv4 header
( end-to-end )
TCP/UDP header + dataIPv4 header
( end-to-end )
Tunnel IP: frammentazione
se il pacchetto da trasmettere ha la massima dimensione consentita, allora deve essere frammentato
massimo degrado = 50%
soffrono maggiormente gli applicativi con soffrono maggiormente gli applicativi con pacchetti grandi (tipicamente non interattivi)
Sicurezza delle reti IP (netsec - dic'10)
© Antonio Lioy - Politecnico di Torino (1997-2010) 9
3. VPN mediante tunnel IP sicuro
prima di essere incapsulati i pacchetti di rete vengono protetti con:
digest (per integrità ed autenticazione)
cifratura (per riservatezza)cifratura (per riservatezza)
numerazione (per evitare replay)
se gli algoritmi crittografici sono forti, allora l’unico attacco possibile è impedire le comunicazioni
anche detta S-VPN (Secure VPN)
VPN mediante tunnel IP sicuro
Internet
R1 R2TAP1 TAP2
rete1 rete2TAP3
IPsec
architettura IETF per fare sicurezza al livello 3 sia in IPv4 sia in IPv6:
creare VPN su reti non fidate
fare sicurezza end-to-end
d fi i d f ti ti l i definisce due formati particolari:
AH (Authentication Header)per integrità, autenticazione, no replay
ESP (Encapsulating Security Payload)per riservatezza (+AH)
usa un protocollo per scambio chiavi:
IKE (Internet Key Exchange)
Servizi di sicurezza IPsec
autenticazione dei pacchetti IP:
integrità dei dati
identificazione del mittente
protezione (parziale) da attacchi di tipo “replay”
riservatezza dei pacchetti IP:
cifratura dei dati
IPsec Security Association (SA)
connessione logica unidirezionale protetta tra due sistemi IPsec
ad ogni SA sono associabili caratteristiche di sicurezza diverse
occorrono due SA per avere protezione completa occorrono due SA per avere protezione completa di un canale bidirezionale
SA (A, B)
SA (B, A)
Database locali IPsec
SPD (Security Policy Database)
contiene le security policy da applicare ai diversi tipi di comunicazione
configurato a priori (es. manualmente) oppure agganciato ad un sistema automatico (es ISPSagganciato ad un sistema automatico (es. ISPS, Internet Security Policy System)
SAD (SA Database)
elenco delle SA attive e delle loro caratteristiche (algoritmi, chiavi, parametri)
Sicurezza delle reti IP (netsec - dic'10)
© Antonio Lioy - Politecnico di Torino (1997-2010) 10
modulo
Come funziona IPsec (spedizione)
pacchetto IP
SPD quale policy?
regole di sicurezza moduloIPsec
pacchetto IPcon IPsec
regole di sicurezza
SAD crea / legge SA
algoritmi / parametri
IPsec - seconda versione
novembre 1998
RFC-2411 = IPsec document roadmap
RFC-2401 = architecture
RFC-2402 = AH
RFC-2403 = HMAC-MD5-96 in ESP e AH
RFC-2404 = HMAC-SHA-1-96 in ESP e AH
RFC-2405 = ESP DES-CBC con IV esplicito
RFC-2406 = ESP
RFC-2410 = cifratura nulla in IPsec
RFC-2451 = algoritmi per ESP CBC
IPsec - scambio chiavi
RFC-2407 = interpretazione IPsec di ISAKMP
RFC-2408 = ISAKMP
RFC-2409 = IKE
RFC-2412 = OAKLEY
Header IPv4
0 4 8 16 19 31
Fragment offsetFlagsIdentification
Total lengthTOSIHLVers.
Destination IP Address
Options Padding
Source IP address
Header checksumProtocolTTL
Header IPv4
indirizzi IP (32 bit) del mittente e del destinatario
IHL (Internet Header Length) in 32-bit word
TOS (Type Of Service): mai usato (!)
L th di b t d l h tt IP Length: n. di byte del pacchetto IP
Identification: ID del pacchetto (per i frammenti)
Flags: may/don’t fragment, last/more fragments
TTL (Time To Live): numero massimo di hop
protocol: protocollo usato dal payload
IPsec in transport mode
usato per fare sicurezza end-to-end, ossia usato dagli host, non dai gateway (eccezione: traffico destinato al gateway, es. SNMP, ICMP)
vantaggio: computazionalmente leggero
svantaggio: non protegge i campi variabili
IPv4header
IPsecheader
TCP/UDP header + data
IPv4header
TCP/UDP header + data
svantaggio: non protegge i campi variabili
Sicurezza delle reti IP (netsec - dic'10)
© Antonio Lioy - Politecnico di Torino (1997-2010) 11
IPsec in tunnel mode
usato per fare VPN, solitamente dai gateway
vantaggio: protegge anche i campi variabili
svantaggio: computazionalmente pesante
IPv4 header( tunnel )
IPsecheader
TCP/UDP header + dataIPv4 header
( end-to-end )
IPv4 header( tunnel )
TCP/UDP header + dataIPv4 header
( end-to-end )
TCP/UDP header + dataIPv4 header
( end-to-end )
AH
Authentication Header
meccanismo (prima versione, RFC-1826):
integrità dei dati ed autenticazione del mittente
obbligatorio keyed-MD5 (RFC-1828)
opzionale keyed-SHA-1 (RFC-1852)
meccanismo (seconda versione, RFC-2402):
integrità dei dati, autenticazione del mittente e protezione da replay attack
HMAC-MD5-96
HMAC-SHA-1-96
AH - formato (RFC-2402)
Next Header Length reserved
Security Parameters Index (SPI)
Sequence number
d ti di t ti idati di autenticazione(ICV, Integrity Check Value)
calcolo del valoredi autenticazione
normalizzazione
SAD
algoritmo,parametri
SPI pacchetto IPnormalizzatoAH
pacchetto IPsec ricevuto
estrazione
estrazione
mittente falso e/opacchetto manomesso
mittente autentico epacchetto integro
valore diautenticazione
ricevuto
valore diautenticazione
calcolato
valoriuguali?
sì no
ICV
Normalizzazione per AH
azzerare il campo TTL / Hop Limit
se il pacchetto contiene un Routing Header, allora:
fissare il campo destinazione all’indirizzo del destinatario finaledestinatario finale
fissare il contenuto del routing header al valore che avrà a destinazione
fissare il campo Address Index al valore che avrà a destinazione
azzerare tutte le opzioni che hanno il bit C (change en route) attivo
Keyed-MD5 in AH
dato M normalizzarlo generando M’
allineare a 128 bit M’ (aggiungendo byte a zero) generando così M’p
allineare a 128 bit la chiave K (aggiungendo byte a zero) generando così Kpzero) generando così Kp
calcolare il valore di autenticazione:
ICV = md5 ( Kp || M’p || Kp )
Sicurezza delle reti IP (netsec - dic'10)
© Antonio Lioy - Politecnico di Torino (1997-2010) 12
HMAC-MD5-96
dato M normalizzarlo generando M’
allineare a 128 bit M’ (aggiungendo byte a zero) generando così M’p
allineare a 128 bit la chiave K (aggiungendo byte a zero) generando così Kpzero) generando così Kp
dati ip = 00110110 e op = 01011010 (ripetuti a formare 128 bit) calcolare la base di autenticazione:
B = md5 ( (Kp ⊕ op) || md5 ( (Kp ⊕ ip) || M’p ) )
ICV = 96 leftmost bit di B
ESP
Encapsulating Security Payload
prima versione (RFC-1827), solo riservatezza
meccanismo base: DES-CBC (RFC-1829)
possibili anche altri meccanismi
seconda versione (RFC-2406):
anche autenticazione (ma esclude l’header IP, quindi non dà la stessa copertura di AH)
riduce la dimensione del pacchetto e risparmia una SA
ESP in transport mode
usato dagli host, non dai gateway (eccezione: traffico destinato al gateway, es. SNMP, ICMP)
svantaggio: non nasconde l’header
IPv4C /
parte cifrata
IPv4header
TCP/UDP header + data
IPv4header
ESPheader
TCP/UDP header + dataESP
trailer
ESP in tunnel mode
usato solitamente dai gateway
vantaggio: nasconde anche gli header
TCP/UDP header + dataIPv4 header
( end-to-end )
parte cifrata
IPv4 header( tunnel )
TCP/UDP header + dataIPv4 header
( end-to-end )
IPv4 header( tunnel )
ESPheader
TCP/UDP header + dataIPv4 header
( end-to-end )ESP
trailer
ESP - formato (RFC-2406)
Security Parameters Index (SPI)
Sequence number
. .
.
...
dati crittografati. .
ESP-DES-CBC - formato (RFC-2406)
Security Parameters Index (SPI)
Sequence number
Initialization Vector (IV)
nti
ca
ted
. .
. Payload .
. .
PaddingPadding Length Payload Type
dati di autenticazione(ICV, Integrity Check Value)
en
cry
pte
d
au
the
Sicurezza delle reti IP (netsec - dic'10)
© Antonio Lioy - Politecnico di Torino (1997-2010) 13
Dettagli implementativi
sequence number:
non deve essere strettamente sequenziale (protezione solo da replay)
finestra minima di 32 pacchetti (consigliati 64)
l it i NULL algoritmi NULL:
per autenticazione
per crittografia (RFC-2410)
offrono trade-off protezione - prestazioni
End-to-end security
gateway
WAN
gateway
LAN LAN
IPsec IPseccanale virtuale sicuro(transport-mode SA)
Basic VPN
gateway
WAN
gatewayIPsec IPsec
canale virtuale sicuro(tunnel-mode SA)
LAN LAN
End-to-end security with basic VPN
gateway
WAN
gatewayIPsec IPsec
canale virtuale sicuro(tunnel-mode SA)
LAN LAN
IPsec IPseccanale virtuale sicuro(transport-mode SA)
Secure remote access
WAN
gatewayIPsec
LAN
IPseccanale virtuale sicuro(transport-mode SA)
IPsec
IPsec key management
componente fondamentale di IPsec
fornisce ai sistemi IPsec comunicanti le chiavi simmetriche necessarie per l’autenticazione e/o la cifratura dei pacchetti
distribuzione delle chiavi? distribuzione delle chiavi?
OOB (es. manuale)
automatica
Sicurezza delle reti IP (netsec - dic'10)
© Antonio Lioy - Politecnico di Torino (1997-2010) 14
ISAKMP
Internet Security Association and Key Management Protocol
RFC-2408
definisce le procedure necessarie per negoziare, stabilire modificare e cancellare le SAstabilire, modificare e cancellare le SA
non indica il metodo da usare per lo scambio delle chiavi
OAKLEY (RFC-2412): protocollo che realizza lo scambio autenticato delle chiavi simmetriche tra sistemi IPsec
IKE
Internet Key Exchange (RFC-2409)
= ISAKMP + OAKLEY
creazione di una SA per proteggere lo scambio ISAKMP
t SA t l i i d ll SA con questa SA protegge la negoziazione della SA richiesta da IPsec
la stessa SA ISAKMP può essere riusata più volte per negoziare altre SA IPsec
IKE - funzionamento
1
IKE phase 1 - negoziazione di una SA ISAKMP bidirezionale: “ i d ” “ i d ”
initiator responder
2
“main mode” o “aggressive mode”
IKE phase 2 - negoziazione della SA IPsec: “quick mode”
ISAKMP SA
initiator /responder
initiator /responder
IKE: “modi” di funzionamento
Main Mode:
6 messaggi
protegge l’identità delle parti
Aggressive Mode:
3 messaggi (ma non protegge l’identità delle parti)
Quick Mode:
3 messaggi
negoziazione solo della SA IPsec
New Group Mode:
2 messaggi
IKE: metodi di autenticazione
Digital Signature
non-repudiation della negoziazione IKE
Public Key Encryption
protezione dell’identità nell’aggressive mode
Revised Public Key Encryption
meno costoso, solo 2 operazioni a chiave pubblica
Pre-Shared Key
l’ID della controparte può essere solo il suo indirizzo IP (problema per gli utenti mobili)
IPsec nei sistemi operativi
IPsec è implementato in tutti gli Unix più recenti
implementazione SUN tramite SKIP in Solaris<8
Linux:
IPsec nativo nel kernel 2.6 (derivato da Kame)
FreeS/WAN (www.freeswan.org) e successori:
openswan (www.openswan.org)
strongswan (www.strongswan.org)
Microsoft lo ha introdotto nei suoi prodotti a partire da Windows-2000
Sicurezza delle reti IP (netsec - dic'10)
© Antonio Lioy - Politecnico di Torino (1997-2010) 15
IPsec nei router
tutti i principali fornitori di router (Cisco, 3COM, Nortel, ...) hanno IPsec sui router
tipicamente è usato solo per creare canali protetti tra i router ma non con gli end-node
Cisco ha anche l’autenticazione a chiave pubblica Cisco ha anche l autenticazione a chiave pubblica con certificati X.509
IPsec nei firewall
alcuni produttori di firewall (es. IBM, Checkpoint) offrono IPsec all’interno dei loro prodotti di tunnel sicuro
forniscono gratuitamente il client per Windows che però può creare un canale IPsec solo col p pproprio firewall
VPN concentrator
apparecchiature special-purpose che fungono da terminatori di tunnel IPsec:
per accesso remoto di singoli client
per creare VPN site-to-site
t i i lt l t i l i i ti prestazioni molto elevate in relazione ai costi (bassi)
Requisiti di sistema per IPsec
su router:
CPU potente o acceleratore crittografico
non gestito in outsourcing
su firewall:
CPU potente
su VPN concentrator:
massima indipendenza dalle altre misure di sicurezza
Influenza di IPsec sulle prestazioni
diminuizione del throughput di rete:
maggiore dimensione dei pacchetti
transport mode AH: +24 byte
transport mode ESP-DES-CBC: >= 32 byte
maggior numero di pacchetti (per attivare la SA)
di solito diminuizione contenuta
eccezione: link punto-punto in cui si usava compressione a livello 2 che diventa inutile o dannosa se associata a pacchetti ESP
possibile compensazione tramite IPComp(RFC-3173) o compressione applicativa
IPsec tunnel mode/L2TP
Windows rende sicuro l’accesso remoto dal client al gateway usando L2TP sicurizzato da IPsec
MS dichiara di aver fatto questa scelta perché l’IPsec tunnel mode:
non permette l’autenticazione dell’utente non permette l autenticazione dell utente
non supporta il multiprotocollo
non supporta il multicast
la scelta di L2TP causa:
un calo di prestazioni
problemi di interoperabilità tra sistemi diversi
Sicurezza delle reti IP (netsec - dic'10)
© Antonio Lioy - Politecnico di Torino (1997-2010) 16
Che cos’è L2TP?
Layer-2 Tunnel Protocol (RFC-2661)
incapsula i pacchetti PPP in IP
vantaggio:
possibilità di usufruire del supporto PPP per il lti t ll ( h IPX N tb imulti-protocollo (es. anche per IPX, Netbeui e
Appletalk)
autenticazione dell’utente (PAP / CHAP)
svantaggio: overhead
con L2TP ciascun end-point mantiene una PPP state machine come se i due fossero connessi da una linea seriale
IPsec over L2tp
I pacchetti PPP sono incapsulati 2 volte e poi trasmessitrasmessi come pacchetti IPsec
I pacchetti viaggiano normalmente come pacchetti IP anche se sono IPX o AppleTalk
Applicabilità di IPsec
solo pacchetti unicast (no broadcast, no multicast, no anycast)
tra parti che hanno attivato una SA:
tramite chiavi condivise
t it tifi ti X 509 tramite certificati X.509
… quindi in gruppi “chiusi”
Sicurezza di IP
indirizzi non autenticati
pacchetti non protetti:
integrità
autenticazione
riservatezza
replay
sono quindi attaccabili tutti i protocolli che usano IP come trasporto, soprattutto quelli di “servizio” ossia non di livello applicativo (ICMP, IGMP, DNS, RIP, …)
Sicurezza di ICMP
Internet Control and Management Protocol
vitale per la gestione della rete
possibili moltissimi attacchi perché completamente privo di autenticazione
f i i ICMP funzioni ICMP:
echo request / reply
destination unreachable (network / host / protocol / port unreachable)
source quence
redirect
time exceeded for a datagram
Smurfing attack
src = Adst = X.Y.255.255ICMP echo request
reflector(network X.Y)
ultimate target(A)
Sicurezza delle reti IP (netsec - dic'10)
© Antonio Lioy - Politecnico di Torino (1997-2010) 17
Contromisure anti-smurfing
per attacchi dall’esterno: rifiutare il broadcast IPinterface serial0no ip directed-broadcast
per attacchi dall’interno: identificare il per attacchi dall interno: identificare il responsabile tramite strumenti di network management
Fraggle attack
src = Adst = X.Y.255.255UDP echo request
reflector(network X.Y)
ultimate target(A)
ARP poisoning
ARP = Address resolution Protocol (RFC-826)
usato per scoprire l’indirizzo L2 di un nodo di cui è noto l’indirizzo L3
risultato memorizzato in ARP table
ARP i i i i d ti f l i i ARP t bl ARP poisoning = inserire dati falsi in ARP table:
nodi accettano ARP reply senza ARP request
nodi sovrascrivono entry ARP statiche con quelle dinamiche (ottenute da ARP reply)
il campo “ar$sha” (sender hw address) di ARP può differire dal campo src nel pacchetto 802.3
usato da strumenti di attacco (es. Ettercap)
TCP SYN flooding
SYN
SYN/ACK
connessionidi rete
SYN ACK
SYN
richieste multiple con IP spoofing
si satura la tabella delle connessioni sino a quando non vanno in timeout (valore tipico: 75”)
client server
ACK (?) SYN
Difesa da SYN flooding
abbassare il timeout
rischio di eliminare client validi ma lenti
aumentare le dimensioni della tabella
aggirabile con invio di più richieste
usare un router come “SYN interceptor”:
sostituisce il server nella prima fase
se l’handshake ha successo, trasferisce il canale al server
timeout “aggressivi” (rischio!)
usare un router come “SYN monitor”:
uccide i collegamenti pendenti (RST)
SYN cookie
idea di D.J.Bernstein (http://cr.yp.to)
unico sistema veramente efficace per evitare completamente il SYN flooding
usa il sequence number del pacchetto SYN-ACK per trasmettere un cookie al client e riconoscereper trasmettere un cookie al client e riconoscere così i client che hanno già inviato il SYN senza memorizzare niente sul server
disponibile su Linux e Solaris
Sicurezza delle reti IP (netsec - dic'10)
© Antonio Lioy - Politecnico di Torino (1997-2010) 18
Sicurezza del DNS
DNS (Domain Name System)
traduzione:
da nomi ad indirizzi IP
da indirizzi IP a nomi
servizio indispensabile
UDP/53 per le query
TCP/53 per zone transfer
nessun tipo di sicurezza
in corso di sviluppo DNS-SEC
Architettura del DNS
NS (de.)
root NS (.)
NS (it.)
NS(fiat.it.)
DNS
NS(polito.it.)
utente
client
(local) NS
cache
DNS shadow server
sniffing per intercettare le query
spoofing per generare risposte false(DoS o ridirezione del traffico su siti falsi)
nameserver
cachenameserver
IP (www.banca.it)?cache
(shadow)nameserver
DNS cache poisoning
attirare la vittima a fare una query sul proprio NS
fornire risposta anche a query non effettuate per forzare / sovrascrivere la cache della vittima
(victim)nameserver
(pirate)nameserver
IP (www.lioy.net)?
www.lioy.net = 7.2.1.5www.ibm.com = 7.2.1.5www.microsoft.com = 7.2.1.5
cache
DNS cache poisoning (2a versione)
fare una query e fornire subito la risposta (falsa) per inserirla nella cache della vittima
IP ( banca it)? (victim)recursive
nameserver(pirate)
DNS client
IP (www.banca.it)?
www.banca.it = 7.2.1.5(src=authoritative NS)
cache
(DNS) flash crowd
(victim)
migliaia di pirati(client o server)
(victim)nameserver
Sicurezza delle reti IP (netsec - dic'10)
© Antonio Lioy - Politecnico di Torino (1997-2010) 19
BIND
per la sicurezza del DNS si raccomanda l’uso (e l’aggiornamento periodico!) di BIND
Berkeley Internet Name Domain server
gratis
U i Wi 32 per Unix e Win-32
http://www.isc.org
iscriversi alla mailing list di sicurezza di BIND perché - essendo un programma enorme - ha talvolta bachi di sicurezza
DJBDNS
server DNS di D.J.Bernstein, progettato per essere sicuro:
semplice e modulare
sviluppo con tecniche di programmazione sicura
htt // t /djbd ht l http://cr.yp.to/djbdns.html
tre servizi distinti:
tiny DNS (nameserver autoritativo per un dominio)
dnscache (gestore della cache)
walldns (un reverse DNS wall)
Caratteristiche di sicurezza di DJBDNS
processi inoffensivi:
l’UID non è root
girano in chroot
dnscache scarta:
le richieste non provenienti da IP fidati
le risposte da IP diversi da quello a cui ha fatto richiesta
dnscache è immune al cache ‘poisoning’
tinydns e walldns non fanno caching di informazioni
walldns
maschera i veri nomi di una rete
serve nel caso di un server che chiede il record PTR prima di fornire i suoi servizi
i nomi veri non vengono mai rivelati, walldns fornisce solo nomi fasulli (per compiacere ilfornisce solo nomi fasulli (per compiacere il richiedente)
non soddisfa i “server paranoici”, cioè quelli che fanno un doppio lookup incrociato:
N = dns_query (client_IP, PTR_record)
A = dns_query (N, A_record)
A è uguale a client_IP?
DNSsec
firma digitale dei record DNS
chi è “authoritative” per un certo dominio?
quale PKI? (certificati, trusted root CA)
gestione più complessa dell'infrastruttura DNS
firme gerarchiche e delegate
firme distribuite
come trattare nomi inesistenti?
firmare anche l’ASSENZA di un record
richiede ordinamento dei record
Alcuni problemi di DNSsec
nessuna firma delle query DNS
nessuna sicurezza nel dialogo tra DNS client e DNS (local) server
usare IPsec o TSIG
itt fi i DNS crittografia sui server DNS
sovraccarico computazionale
sovraccarico gestionale (on-line secure crypto host)
maggior dimensione dei record
scarsa sperimentazione
configurazione? prestazioni?
Sicurezza delle reti IP (netsec - dic'10)
© Antonio Lioy - Politecnico di Torino (1997-2010) 20
Sicurezza del routing
bassa sicurezza nell’accesso sistemistico ai router per la gestione (telnet, SNMP)
bassa sicurezza nello scambio delle tabelle di routing
autenticazione basata sull’indirizzo IP
possibile attivare protezione con keyed-digest
richiede chiave condivisa!
richiede key-management!
variazioni dinamiche del routing anche sugli end-node tramite ICMP
Protezione fisica dei router
limitare l’accesso fisico ai router solo alle persone autorizzate
porta di console:
aggancio diretto di un terminale o PC
tt di tt i i i i il i permette accesso diretto coi massimi privilegi
proteggerla tramite una password (per default non c’è!)
Protezione logica dei router
attivare le ACL più comuni
proteggere l’accesso al file di configurazione (ovunque conservato) perché esso contiene:
le password (spesso in chiaro!)
l ACL b t i di i i IP le ACL basate su indirizzi IP
Protezione da IP spoofing
per proteggerci dagli impostori esterni
ma anche per proteggere l’esterno dai nostri impostori interni (=misura di net-etiquette)
RFC-2827 “Network ingress filtering: defeating Denial of Service attacks which employ IP sourceDenial of Service attacks which employ IP source address spoofing”
RFC-3704 “Ingress filtering for multihomed networks”
RFC-3013 “Recommended Internet Service Provider security services and procedures”
Filtri per protezione da IP spoofing
Internetper proteggere i nostri sistemi da impostori esterni
rete 132.5.1 rete 132.5.2
routerper proteggere i sistemi esterni dai nostri impostori
Esempio protezione da IP spoofing
access-list 101 deny ip132.5.0.0 0.0.255.255 0.0.0.0 255.255.255.255
interface serial 0ip access-group 101 in
li t 102 it iaccess-list 102 permit ip132.5.1.0 0.0.0.255 0.0.0.0 255.255.255.255
interface ethernet 0ip access-group 102 in
access-list 103 permit ip132.5.2.0 0.0.0.255 0.0.0.0 255.255.255.255
interface ethernet 1ip access-group 103 in
Sicurezza delle reti IP (netsec - dic'10)
© Antonio Lioy - Politecnico di Torino (1997-2010) 21
Sicurezza di SNMP
pacchetti UDP/161
SNMP (v1, v2, v3):
protezione di default tramite segreto condiviso trasmesso in chiaro(stringa di “community”)(stringa di community )
nessuna autenticazione dei client
nessuna protezione dei messaggi
SNMPv3 presta più attenzione alla sicurezza ma è raramente implementato e spesso senza la parte di sicurezza
Esempio protezione accessi SNMP
access-list 10 permit 132.5.1.1access-list 10 permit 132.5.1.2snmp-server community public RO 1snmp-server community private RW 1