U
U
N
N
I
I
V
V
E
E
R
R
S
S
I
I
T
T
À
À
D
D
E
E
G
G
L
L
I
I
S
S
T
T
U
U
D
D
I
I
D
D
I
I
P
P
I
I
S
S
A
A
FACOLTÀ DI INGEGNERIA
Corso di Laurea in
INGEGNERIA DELLE TELECOMUNICAZIONI
SISTEMI VOIP:
PROFILI DI SICUREZZA E IMPATTO
SULLA QUALITÀ DEL SERVIZIO
Tesi di Laurea di:
Giancarlo Goretti
Relatori:
Prof. Ing. Michele Pagano
Prof. Ing. Rosario G. Garroppo
Ing. Giuseppe Risi
INDICE
INTRODUZIONE...1
1. TASSONOMIA DEGLI ATTACCHI AL VOIP ...4
1.1 EAVESDROPPING... 5
1.1.1 TRACCIAMENTO DEI PATTERN DI CHIAMATA ... 5
1.1.2 CATTURA DEL TRAFFICO... 5
1.1.3 RACCOLTA DEGLI ID ... 5
1.1.4 RICOSTRUZIONE DEI DATI ... 5
1.2 INTERCETTAZIONE E MODIFICA... 6
1.2.1 INSABBIAMENTO DI CHIAMATA ... 6
1.2.2 DIROTTAMENTO DI CHIAMATA ... 6
1.2.3 ALTERAZIONE DEI DATI... 6
1.2.4 DEGRADO DELLA CONVERSAZIONE... 6
1.3 ABUSO DEL SERVIZIO... 7
1.3.1 ABUSO DI CALL CONFERENCE ... 7
1.3.2 ABUSO DI SERVIZI PREMIUM (PRS) ... 7
1.3.3 MODIFICHE AL SERVIZIO DI TARIFFAZIONE ... 7
1.3.4 CHIAMATA SU CONTO ALTRUI... 7
1.3.5 ALTRI ACCESSI ILLECITI ... 7
1.4 MINACCE SOCIALI ... 7
1.4.1 USO DI FALSA IDENTITÀ ... 8
1.4.2 FURTO DI SERVIZI ... 8
1.4.3 CONTATTI INDESIDERATI ... 8
1.5 ATTACCHI DENIAL OF SERVICE (DOS) ... 8
1.5.1 ATTACCHI DOS GENERALI... 9
1.5.2 ATTACCHI DOS VOIP SPECIFIC ... 12
1.6 ATTACCHI DIRETTI AL PROTOCOLLO SIP... 15
1.6.1 ATTACCHI RELATIVI AL FLUSSO DI MESSAGGI... 15
1.6.3 ATTACCHI AL DNS ... 21
1.6.4 ATTACCHI DI TIPO SQL INJECTION... 21
2. SICUREZZA IN SIP... 24
2.1 L’ARCHITETTURA SIP... 24
2.2 HTTP DIGEST AUTHENTICATION SCHEME ... 27
2.3 SECURE MIME... 29
2.4 TRANSPORT LAYER SECURITY ... 31
2.4.1 INSTAURAZIONE DI UNA SESSIONE TLS ... 32
2.5 IPSEC... 35
2.5.1 INSTAURAZIONE DI UNA SESSIONE IPSEC... 37
2.5.2 IKE VERSIONE 2 ... 41
2.6 SRTP E LO SCAMBIO DELLE MEDIA KEYS... 41
2.6.1 SDP SECURITY DESCRIPTIONS (SDES)... 43
2.6.2 KEY MANAGEMENT EXTENSIONS FOR SDP E MIKEY ... 44
2.7 SIP ENTITY AUTHENTICATION... 46
2.7.1 SIP IDENTITY ... 47
2.7.2 AUTHENTICATION IDENTITY BODY... 47
3. SICUREZZA IN H.323... 49
3.1 L’ARCHITETTURA H.323... 49
3.2 LA RACCOMANDAZIONE H.235 ... 50
3.3 H.235 VERSIONE 2... 51
3.3.1 H.235V2 ANNEX D – BASELINE SECURITY PROFILE... 51
3.3.2 H.235V2 ANNEX E – SIGNATURE SECURITY PROFILE... 52
3.3.3 H.235V2 ANNEX F – HYBRID SECURITY PROFILE ... 53
3.4 H.235 VERSIONE 3... 54
3.5 H.235 VERSIONE 4... 55
4.1 LATENZA... 58
4.2 JITTER... 59
4.3 BANDA ... 59
4.4 PERDITA DI PACCHETTI ... 60
4.5 INTRUSION DETECTION SYSTEM... 61
4.5.2 SIP EXPRESS ROUTER... 64
4.6 ARCHITETTURA PER SICUREZZA... 64
4.6.1 BASTION HOST... 65
4.6.2 SERVER SIP ESTESO ... 65
4.7 ARCHITETTURA PER DISPONIBILITÀ ... 66
5. ANALISI SPERIMENTALE...68
5.1 SCENARIO DELL’ANALISI SPERIMENTALE... 68
5.1.1 DESCRIZIONE DEL TESTBED ... 68
5.1.2 STRUMENTI UTILIZZATI ... 69
5.2 SPOOFING DELL’ID DEL CHIAMANTE... 73
5.3 INSERZIONE DI UN FLUSSO RTP... 74
6. COMPLESSITA’ DEI PROTOCOLLI...77
6.1 ALGORITMI DI CRITTOGRAFIA ... 78
6.2 TLS... 81
6.3 IPSEC... 86
6.4 S/MIME ... 89
6.4.1 PROCEDURA DI REGISTRAZIONE ... 89
6.4.2 INSTAURAZIONE CHIAMATA SIP CON METODO INVITE... 90
6.5 SRTP E KEY EXCHANGE... 91
7. PROFILI DI SICUREZZA E IMPATTO SULLA QOS ... 92
7.1 CONFRONTO DELLE PRESTAZIONI... 92
7.2 DEFINIZIONE LIVELLI DI SICUREZZA... 93
7.3 TRADE-OFF TRA PRESTAZIONI E SICUREZZA... 96
7.4 CONCLUSIONI... 97
APPENDICE. ELEMENTI DI CRITTOGRAFIA ... 100
ALGORITMI DI CIFRATURA... 100
ALGORITMI A CHIAVE SIMMETRICA ... 100
ALGORITMI A CHIAVE PUBBLICA ... 109
SCAMBIO DI CHIAVI DIFFIE HELLMAN... 110
FUNZIONI DI HASHING... 111
MESSAGE AUTHENTICATION CODE... 114
BIBLIOGRAFIA... 115
INTRODUZIONE
L’idea di utilizzare reti dati per la trasmissione della voce fu proposta già intorno agli anni ’70, tuttavia, questa idea è diventata una realtà commerciale soltanto negli ultimi anni. Il termine VoIP (Voice over Internet Protocol) fa riferimento alla trasmissione delle chiamate voce su reti a pacchetto. Al contrario della tradizionale rete PSTN (Public Switched Telephone Network), il VoIP utilizza una rete comune per il trasporto della voce e della segnalazione, permettendo così una flessibilità ed una estendibilità prima impensabili. Oltre a fornire sevizi analoghi a quelli della rete PSTN, il VoIP deve garantire anche gli stessi livelli di sicurezza, affidabilità e disponibilità.
I vantaggi provenienti dall’uso di una rete dati anche per la voce sono però mitigati dalla nascita di nuove problematiche, in settori importanti quali la qualità del servizio offerto (QoS) e la sicurezza della comunicazione. Le chiamate effettuate su VoIP sono soggette a fenomeni tipici delle reti a pacchetto, quali jitter o perdita dei pacchetti; inoltre, sia il piano di segnalazione che il piano dati sono nuove possibili vittime di attacchi già noti in ambito Internet.
Le minacce alla sicurezza delle chiamate sono considerate pressoché minime nelle attuali reti a circuito. Ciò perché queste ultime sono dedicate ad una singola applicazione (la voce) e quindi sono in un certo senso reti “chiuse”. Al contrario, in un ambiente aperto come Internet, progettare un attacco ad un server di telefonia è molto più semplice ed anche economico, supponendo di avere una connessione ad Internet di tipo “flat”.
Ciò è dovuto al fatto che i servizi VoIP sono basati su tecnologie e standard aperti (per esempio SIP, H.323, MEGACO) e, di conseguenza, tali servizi sono vulnerabili rispetto agli stessi attacchi che minacciano i servizi HTTP. A titolo di esempio, invece di generare migliaia di costose chiamate voce, un attaccante può molto più facilmente inviare migliaia di richieste di connessione VoIP allo stesso modo di come attaccherebbe un server Web.
La telefonia su Internet fa uso di diversi protocolli di segnalazione, come H.323, SIP, MGCP o MEGACO, per l’instaurazione delle chiamate. Tuttavia, SIP sembra destinato a soppiantare gli altri nell’uso corrente, ed è già stato adottato da varie organizzazioni di standardizzazione, come IETF e 3GPP, per motivi che meglio si vedranno nei prossimi capitoli. Per questa ragione, nel seguito ci si concentrerà principalmente sugli aspetti di sicurezza che riguardano il protocollo SIP.
In SIP le problematiche di sicurezza sono affrontate in maniera ancora vaga. Si fa riferimento ad una serie di protocolli di sicurezza già affermati in ambito Internet, ma non se ne definisce l’uso in profili di sicurezza organici come, invece, è stato fatto nella definizione di H.323. Obiettivo di questa tesi sarà, a partire da un’analisi dettagliata dei protocolli esistenti e da prove sperimentali condotte su un testbed di laboratorio, la definizione di profili di sicurezza anche per SIP, che descrivano livelli di sicurezza incrementali.
Nel capitolo 1 si farà una tassonomia degli attacchi al VoIP, ossia si elencheranno e si analizzeranno le possibili minacce alla telefonia su Internet. Varie tassonomie sono state pubblicate per seguire l’evoluzione delle tecniche di attacco. Una delle più esaustive è stata prodotta dal consorzio VOIPSA (VoIP Security Alliance) ed è a questa classificazione che faremo riferimento nel seguito.
Il capitolo 2 è dedicato agli aspetti di sicurezza nel protocollo SIP. Si inizierà con una breve panoramica del funzionamento del protocollo e poi si vedranno separatamente le diverse tecniche utilizzate per fornire i servizi di sicurezza sia al piano di segnalazione (HTTP Digest, TLS, IPsec, S/MIME) che al piano dati (SRTP).
Nel capitolo 3 si vedrà come sono affrontate le problematiche di sicurezza nell’ambito del protocollo H.323. Dopo una breve introduzione al protocollo H.323 si analizzerà la raccomandazione H.235, che definisce diversi profili di sicurezza per le raccomandazioni ITU-T della serie H, nelle sue differenti versioni.
1 2
Nel capitolo 4 si analizzeranno gli aspetti relativi alla QoS, e si definiranno i parametri utili per la sua valutazione, come jitter, percentuale di perdita dei pacchetti, o latenza. Inoltre, si descriveranno due possibili architetture per l’infrastruttura VoIP.
Il capitolo 5 sarà dedicato alla analisi sperimentale, condotta con l’ausilio di un testbed sviluppato ad-hoc. Saranno anche descritte due tipologie di attacco che sono state effettuate ed analizzate sul testbed.
Il capitolo 6 tratterà della complessità computazionale dei protocolli di sicurezza descritti nel capitolo 2 e delle loro prestazioni.
Nel capitolo 7 si definiranno i livelli di sicurezza relativi al protocollo SIP e si confronteranno i risultati del capitolo precedente per indicare quali sono i protocolli di sicurezza che hanno minori ricadute sulle prestazioni e che quindi sono più adatti ad essere implementati in una architettura VoIP.
Infine, un’Appendice riprenderà ed approfondirà i concetti di crittografia accennati nelle sezioni precedenti, al fine di chiarire alcuni aspetti per una migliore comprensione.