7. PROFILI DI SICUREZZA E
IMPATTO SULLA QOS
7.1 CONFRONTO DELLE PRESTAZIONI
Dal punto di vista delle prestazioni, abbiamo visto come l’adozione di SRTP e di uno schema di key exchange non ha ricadute significative.
Per la protezione del piano di segnalazione, Secure MIME si è rivelato più costoso rispetto a TLS e IPsec, in quanto introduce overhead nei messaggi SIP e molta latenza di elaborazione, a causa dei calcoli legati all’uso di crittografia asimmetrica per la cifratura dei messaggi. Se ci concentriamo sulla coppia TLS ed IPsec, abbiamo già considerato che il problema principale sta nella latenza per l’instaurazione della sessione, non nella trasmissione dei pacchetti a regime, la cui latenza aggiuntiva di elaborazione è trascurabile. Entrambi i protocolli prevedono però dei meccanismi per il richiamo di sessioni precedenti al fine di accelerare l’instaurazione di una sessione tra due endpoint che hanno già comunicato in passato. A vantaggio di IPsec si può portare la sua flessibilità e il suo supporto per UDP, ma d’altro canto ha maggiori problemi di interoperabilità (si pensi per esempio alla impossibilità di fare comunicare IKEv1 e IKEv2) rispetto a TLS, che è molto più semplice da implementare.
Ponendosi dal punto di vista dei costruttori, la scelta di SRTP per la protezione dei dati sembra essere largamente accettata. SRTP richiede un algoritmo per lo scambio dei
dati, che in una prima fase potrebbe essere il semplice schema SDES, (scambio della media key in chiaro all’interno dei campi SDP) affiancato da un protocollo di protezione della segnalazione (TLS o IPsec). Come soluzione a lungo termine è probabile l’utilizzo di MIKEY, le cui informazioni sarebbero alloggiate in opportune estensioni della sezione SDP dei messaggi SIP. Per quanto riguarda la protezione della segnalazione, la scelta tra TLS e IPsec ricadrebbe probabilmente sul primo, essendo già la sua implementazione obbligatoria per lo schema SIPS.
7.2 DEFINIZIONE LIVELLI DI SICUREZZA
Nei capitoli precedenti si è visto come in SIP le problematiche di sicurezza siano 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. Ciò è dovuto principalmente alla diversa genesi dei due protocolli.
H.323, come tutti i protocolli originati dalla ITU, è caratterizzato da una struttura molto rigida e quasi completamente definita in sede di progetto, che necessita di poche aggiunte successive, ma, d’altro canto, non permette di apportare facilmente modifiche al protocollo qualora se ne rilevasse il bisogno.
I protocolli IETF, come SIP, hanno invece una struttura maggiormente flessibile e modificabile ed estendibile più facilmente, a costo, però, della sistematicità e della rigorosità della descrizione.
Sembra quindi opportuno introdurre dei profili di sicurezza anche per SIP, che descrivano livelli di sicurezza incrementali, tramite l’utilizzo di alcuni dei protocolli visti precedentemente. Nel testo si fa spesso riferimento a quattro servizi fondamentali che un sistema deve garantire, se si propone di essere sicuro e affidabile:
x AUTENTICAZIONE: l’atto di stabilire o confermare qualcuno o qualcosa come autentico, ossia che le richieste da esso fatte sono legittime. Può essere debole, cioè fatta a livello di un dominio VoIP, o forte, cioè definita globalmente, in modo che sia valida e verificabile in più domini VoIP interconnessi.
x INTEGRITA’: la proprietà per cui un utente non autorizzato non può modificare dati.
x DISPONIBILITA’: la proprietà di un sistema di essere accessibile e utilizzabile senza problemi ogni volta che un utente lo desideri.
Una possibile stratificazione dei livelli di sicurezza può essere motivata dall’intenzione di fornire questi quattro servizi di sicurezza (o parte di essi) al piano di segnalazione, al piano dati, o ad entrambi, all’interno di una comunicazione SIP.
Prima però è bene indicare come i precedenti servizi fondamentali siano messi in discussione dagli attacchi descritti nella prima parte del testo.
Servizio Attaccato Tipo di attacco
AUTENTICAZIONE INTEGRITÀ’ CONFIDENZIALITA’ DISPONIBILITA’
Tracciamento dei pattern
di chiamata C, M
Cattura del traffico C, M
Raccolta degli ID C, M
Eavesdropping
Ricostruzione dei dati M
Insabbiamento di
chiamata C, M C, M C, M
Dirottamento di chiamata C, M C, M C, M
Alterazione dei dati M M
Intercettazione e modifica
Degrado della
conversazione C, M C, M M
Abuso di Call Conference C C
Abuso di PRS C, M C
Modifiche alla tariffazione C C
Abuso del servizio
Chiamata su conto altrui C C
Uso di falsa identità C, M
Furto di servizi C C Minacce sociali Contatti indesiderati (SPIT) C, M C, M Flooding di richieste C C, M Messaggi malformati C C, M
Violazione del QoS C M
Messaggi fittizi C C, M Attacchi DoS VoIP Specific Dirottamento di chiamata C, M C, M C, M Attacchi al parser C C Attacchi al DNS C C, M Attacchi diretti al protocollo SIP SQL injection C C
Esaurimento delle risorse C, M
Al meccanismo di autenticazione C, M Attacchi DoS di carattere generale All’architettura sottostante C, M
Tabella 7.1 – Attacchi e servizi fondamentali di sicurezza
In tabella 7.1 è riportata la relazione tra attacchi e servizi di sicurezza. Le lettere C ed M indicano che l’attacco inficia il servizio corrispondente alla colonna,
rispettivamente, nel piano di controllo e nel piano dati. Per esempio, l’attacco “degrado della conversazione” ha conseguenze sulla integrità e confidenzialità del piano controllo e del piano dati, ed anche sulla disponibilità del piano dati.
In tabella 7.2 è mostrata la definizione dei Profili di Sicurezza, proposta nell’ambito di questa tesi. Di default SIP è utilizzato nel profilo 1, con il solo protocollo di autenticazione HTTP Digest, per l’autenticazione debole dell’utente. Il profilo 2 implementa la protezione della segnalazione con l’uso di un protocollo di sicurezza. Il profilo 3 implementa la protezione sia della segnalazione che dei dati, tramite l’aggiunta di SRTP e di un protocollo per il key exchange. Il profilo 4 aggiunge anche la funzione di autenticazione forte dell’utente.
La proprietà di disponibilità può essere fornita correttamente solo se il sistema è progettato secondo una architettura ridondante e affidabile simile a quella vista nel capitolo 4.
Profilo di Sicurezza
Algoritmi e protocolli che lo
implementano Servizi forniti
0 Nessun protocollo addizionale /
1 Autenticazione utente di base
(HTTP Digest è il default) Autenticazione debole dell’utente
2
P1+ Protezione della segnalazione (TLS, IPsec S/MIME)
Piano di controllo: AUTENTICAZIONE, INTEGRITA’, CONFIDENZIALITA’, DISPONIBILITA’
3
P1 + P2 + SRTP + Algoritmo per lo scambio chiavi (MIKEY, SDES)
Piano dati e controllo: AUTENTICAZIONE, INTEGRITA’, CONFIDENZIALITA’,
DISPONIBILITA’
4 P1 + P2 + P3 + SIP Entity
Authentication (Identity, AIB)
Piano dati e controllo: AUTENTICAZIONE, INTEGRITA’, CONFIDENZIALITA’,
DISPONIBILITA’, Autenticazione forte dell’utente
Tabella 7.2 – Profili di Sicurezza per SIP
In tabella 7.3 sono infine elencate nuovamente le varie tipologie di attacco, affiancate da una possibile contromisura, e dal relativo Profilo di Sicurezza che la implementa. Per protezione (della segnalazione o dei dati) si intende non solo la cifratura, ma anche l’autenticazione e l’integrità, funzioni che vengono tutte fornite da un protocollo di sicurezza adeguato, come TLS o IPsec.
TIPO DI ATTACCO POSSIBILE SOLUZIONE PROFILO DI SICUREZZA
Tracciamento dei pattern
di chiamata Cifratura della segnalazione 2 Cattura del traffico Cifratura della segnalazione e dei dati 3 Raccolta degli ID Cifratura della segnalazione 2 Eavesdropping
Ricostruzione dei dati Cifratura dei dati 3 Insabbiamento di
chiamata Protezione della segnalazione 2 Dirottamento di chiamata Protezione della segnalazione 2 Alterazione dei dati Protezione dei dati 3 Intercettazione e
modifica
Degrado della
conversazione Protezione della segnalazione e dei dati 3 Abuso di Call Conference
Autenticazione dell’utente e della
segnalazione 2 Abuso di PRS
Autenticazione dell’utente e della
segnalazione 2 Modifiche alla tariffazione
Autenticazione dell’utente e della
segnalazione 2 Abuso del servizio
Chiamata su conto altrui
Autenticazione dell’utente e della
segnalazione 2 Uso di falsa identità Autenticazione dell’utente 4 Furto di servizi Autenticazione dell’utente 2 Minacce sociali
Contatti indesiderati
(SPIT) Autenticazione dell’utente 4 Flooding di richieste Monitoraggio e filtraggio del traffico 4 Messaggi malformati Parser di messaggi (IDS)
Violazione del QoS Protezione della segnalazione 2 Messaggi fittizi Protezione della segnalazione 2 Attacchi DoS VoIP
Specific
Dirottamento di chiamata Protezione della segnalazione 2 Attacchi al parser
Autenticazione dell’utente e parser dei
messaggi migliorati 2,4 Attacchi al DNS Architettura del server più efficiente 4 Attacchi diretti al
protocollo SIP
SQL injection
Architettura del server più efficiente e parser
di messaggi (IDS) 4 Esaurimento delle risorse Monitoraggio e filtraggio del traffico
Al meccanismo di
autenticazione Architettura del server più efficiente Attacchi DoS di
carattere generale
All’architettura sottostante Architettura del server più efficiente
Tabella 7.3 – Attacchi e profili di sicurezza
7.3 TRADE-OFF TRA PRESTAZIONI E SICUREZZA
Nella definizione dei profili, in corrispondenza ad ogni livello di protezione si sono elencati una serie di protocolli di sicurezza adatti a fornire le funzioni richieste. La scelta tra i possibili protocolli deve essere fatta seguendo altri principi, considerando le ricadute sulle prestazioni dei singoli protocolli, il grado di interoperabilità tra le varie versioni e la semplicità di implementazione.
Il profilo 4 è ovviamente quello che offre il grado di sicurezza massimo, proteggendo sia piano controllo che piano dati, e introducendo anche l’autenticazione forte dell’utente. Purtroppo è il più costoso dal punto di vista delle prestazioni ed è anche difficoltoso da implementare, dovendo risolvere notevoli problematiche di interoperabilità e relative allo sviluppo di una PKI globale.
Il profilo 1 non ha problematiche di interoperabilità, in quanto il meccanismo di HTTP Digest deve essere implementato obbligatoriamente in tutte le soluzioni che adottano SIP, ma questo profilo non fornisce alcuna protezione dagli attacchi esterni, come è evidente dalla tabella 7.3. Il profilo 2 è una valida alternativa, ma non è fornita la confidenzialità del flusso media, che viaggia in chiaro. Infine il profilo 3 implementa protezione sia del piano dati che del piano di controllo.
Tra i protocolli di protezione della segnalazione, appare esserci una sostanziale parità tra TLS e IPsec, per quello che riguarda i servizi offerti. I problemi di interoperabilità e di difficoltà di configurazione di IPsec, lo rendono forse più adatto per l’uso all’interno di reti locali o aziendali, nell’ambito di un singolo dominio SIP, dove tutte le macchine sono amministrate da una singola entità, e il traffico voce è separato dal traffico dati tramite VLAN distinte, al cui interno può essere o meno implementato IPsec. TLS è più semplice e maggiormente diffuso, quindi il suo utilizzo è consigliato come mezzo per garantire la sicurezza del flusso dati anche tra diversi domini SIP.
La sicurezza del flusso dati può essere garantita dal protocollo SRTP senza ricadute apprezzabili sul piano delle prestazioni. Come protocollo per lo scambio delle chiavi necessario al funzionamento di SRTP può essere scelto MIKEY, che rappresenta una soluzione efficiente e sicura. Le informazioni del protocollo MIKEY possono essere alloggiate nella sezione SDP del messaggio SIP secondo le regole già definite dal meccanismo “Key Management Extension for SDP” visto nel paragrafo 2.6.2.
7.4 CONCLUSIONI
I vantaggi provenienti dall’uso di una rete dati anche per la voce sono 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. 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.
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. Di conseguenza, obiettivo di questa tesi è stato, 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.
In tabella 7.2 è mostrata la definizione dei Profili di Sicurezza, proposta nell’ambito di questa tesi. Di default SIP è utilizzato nel profilo 1, con il solo protocollo di autenticazione HTTP Digest, per l’autenticazione debole dell’utente. Il profilo 2 implementa la protezione della segnalazione con l’uso di un protocollo di sicurezza. Il profilo 3 implementa la protezione sia della segnalazione che dei dati, tramite l’aggiunta di SRTP e di un protocollo per il key exchange. Il profilo 4 aggiunge anche la funzione di autenticazione forte dell’utente. Nella definizione dei profili, in corrispondenza ad ogni livello di protezione si sono elencati una serie di protocolli di sicurezza adatti a fornire le funzioni richieste. La scelta tra i possibili protocolli deve essere fatta seguendo altri principi, considerando le ricadute sulle prestazioni dei singoli protocolli, il grado di interoperabilità tra le varie versioni e la semplicità di implementazione.
Tra i protocolli di protezione della segnalazione, appare esserci una sostanziale parità tra TLS e IPsec, per quello che riguarda i servizi offerti. I problemi di interoperabilità e di difficoltà di configurazione di IPsec, lo rendono forse più adatto per l’uso all’interno di reti locali o aziendali, nell’ambito di un singolo dominio SIP, dove tutte le macchine sono amministrate da una singola entità, e il traffico voce è separato dal traffico dati tramite VLAN distinte, al cui interno può essere o meno implementato IPsec. TLS è più semplice e maggiormente diffuso, quindi il suo utilizzo
è consigliato come mezzo per garantire la sicurezza del flusso dati anche tra diversi domini SIP.
La sicurezza del flusso dati può essere garantita dal protocollo SRTP senza ricadute apprezzabili sul piano delle prestazioni. Come protocollo per lo scambio delle chiavi necessario al funzionamento di SRTP può essere scelto MIKEY, che rappresenta una soluzione efficiente e sicura. Le informazioni del protocollo MIKEY possono essere alloggiate nella sezione SDP del messaggio SIP.