1. Antifrode e sicurezza
nei sistemi VoIP
Università degli Studi di Milano
Corso di laurea in Sicurezza delle Reti e dei Sistemi Informatici
Anno accademico Relatore: Ernesto Damiani
2011/2012 Corelatore: Valerio Bellandi
2. Perchè questa scelta?
Ambiente in rapida evoluzione:
dinamico e stimolante
Già avuto esperienze pregresse in
questo campo
BZSolutions ha personale altamente
specializzato e riconosciuto nel settore
Il VoIP ha molte analogie con la rete
mobile
3. Il protocollo SIP
RFC3261
Protocollo di signaling client-server (UAC-UAS)
Serve per gestire la segnalazione di una
comunicazione multimediale (autenticazione,
registrazione client, apertura-chiusura di una
comunicazione)
Ampiamente usato nel mercato delle TLC VoIP
Protocollo testuale
4. Lo scopo del lavoro di tesi
Creazione di una centrale telefonica
(conversione logiche da Asterisk a
FreeSwitch)
Raggiungere un discreto knowledge in
campo di VoIP Security e Fraud
Management
5. Il motivo del cambiamento
R&D
Un watchdog controllava che asterisk fosse attivo, in
caso contrario lo riavviava (circa un riavvio al giorno)
Maggior affidabilità delle nuove release (in alcuni
casi Asterisk ha reintrodotto vecchi bug in nuove
release)
Basse performances della soluzione con AGI in C
(molte macchine virtuali)
6. I goal raggiunti
1. Ricaricamento della configurazione del modulo “on-the-fly” .
2. Utilizzo di un pool di connessioni al database per evitare l’overhead
della crazione di una nuova connessione ad ogni query.
3. Rimozione del codice obsoleto/legacy.
4. Ottimizzazione del codice e di query SQL
5. Implementazione della tariffazione del cliente con approssimazione
1000 volte più precisa.
6. Protezione da attacchi di tipo SQL injection e da altri tipi di
comportamenti a considerati pericolosi.
7. Separazione logica tra database differenti (read, write, log)
7. L’applicazione bzsw_init
(queste operazioni vengono svolte in successione)
Riempimento del CDR
Lock sul mutex del pool di connessioni
Autenticazione
Gestione delle gerarchie
Controllo del credito
Gestione del “selectioncode”
Normalizzazione dei numeri telefonici
Vengono chiamati script esterni.
Controllo sulla portabilità del numero
Controllo se il numero è gestito dalla centrale locale
Controllo su costo della tratta di destinazione
Selezione della trunk di uscita
Script esterni
Scrittura dei file temporanei
8. L’applicazione bzsw_trydial
(queste operazioni vengono svolte in
successione)
Lock sul mutex del pool di connessioni
Lettura dei file temporanei
Acquisizione dei parametri di chiamata
Selezione della trunk successiva
Scrittura dei file temporanei
Rilascio del mutex
9. L’applicazione bzsw_postdial
(queste operazioni vengono svolte in successione)
Lock sul mutex del pool di connessioni
Lettura dei file temporanei
Acquisizione parametri di chiamata
Modifica del Real Time Status
Calcolo della tariffazione
Salvataggio del CDR e Tariffazione
Cancellazione di file temporanei
10. Benchmark e Review
E’ stato misurato un aumento delle prestazioni di
circa il 500%
Un server asterisk (con la configurazione
necessaria all’azienda) riesce a gestire una
media di massimo 120 chiamate contemporanee.
Il mio software è arrivato a gestirne una media di
300 con picchi di 500
Test effettuati con SIPp (software di HP) e con un
mirror del traffico reale
11. Tipi di test
Timeout sulle sessioni SIP ed SQL
SQL Injection su SIP
Chiamate multiple da uno stesso utente
Fuzzing su parametri SIP
Compliance con implementazioni SIP di
altre centrali
13. Security vs VoIP
Priorità del mondo delle TLC
1. Compatibilità del protocollo SIP tra vendor differenti
2. QoS e gestione prioritaria del traffico
3. Gestione ottimizzata dei trunk
4. Risoluzione delle problematiche relative al NAT
Mentre tra le priorità del mondo della sicurezza, per quanto riguarda
la gestione di un servizio VoIP abbiamo
1. Filtering a layer 7 del SIP
2. Firewalling e gestione del traffico
3. Blocco degli attacchi DoS
4. Crittografia delle chiamate
14. Una mia suddivisione:
Condotte da operatori:
F.A.S
Internal Fraud
Fraud on partnership
Condotte da gli utenti:
Subscription Fraud (comodo in italia con il prefisso nazionale che
corrisponde in alcuni casi al prefisso mobile)
Bnumber modification && Anumber modification
SIP attacks
Buchi di tariffazione
Buchi nelle offerte tariffarie
15. Metodi di reazione
Sospensione gli account degli
interessati.
Sospensione totale delle anagrafiche.
Eventuali ritorsioni legali, a seconda
della tipologia di frode.
Nel caso di frodi “B2B” report su siti
dedicati.
16. Il tentativo di attacco
1. Log analysis manuale
2. Vulnerabilità insita nel protocollo (SIP
Digest auth leak)
3. Il credito di alcuni utenti è stato
completamente esaurito
4. La destinazione è stata un numero
Cubano (una destinazione con alti costi
di interconnessione)
17. Come mitigare?
Facendo in modo che il reseller usi
password “strong”
Limitando l’esposizione di alcuni IP
(device ATA interni)
Bloccando i tentativi di enumeration
(fail2ban)
18. Esempio: una soluzione attuale
1. Un basso dialing time e un basso ACD rispetto alla norma, (comparata con altri carrier)
soprattutto con un accumulo di chiamate risposte da 0 a 2 secondi. La presenza di segreterie
telefoniche però può falsare questa statistica.
2. L’analisi della distribuzione del tempo di risposta e il suo cambiamento nel
tempo, permette di analizzare operatori che abilitano e disabilitano il FAS per evitare di essere
scoperto. La forma della curva della distribuzione del tempo di risposta sul tempo può indicare
l’attivazione del FAS.In questo modo non si viene ingannati dalla presenza di segreterie telefoniche che
sono una bias costante della misurazione.
3. Analisi della media e della varianza dell’ACD rispetto all’Answer Delay: questo
approccio permette di individuare I falsi positivi dovuti alle segreterie telefoniche, anche se va
ricordato che il loro tempo di risposta è mediamente più lungo del FAS, e solitamente le chiamate
durano poco (non vengono lasciati messaggi).
4. Analisi della covarianza tra ASR e ACD: Questi valori non sono statisticamente correlati tra
di loro, e la loro covarianza è prossima a zero. La pratica del FAS aumenta la correlazione, in quanto la
modifica dell’ASR e della durata aumenta la loro correlazione.
5. Analsi a lungo termine del comportamento di ogni numero telefonico. Per esempio,
si monitorano le chiamate verso numeri unici, e si tracciano le chiamate registrando il loro Answer
Delay. SIgnificativa varianza di questi valori nel tempo può indicare del FAS.
19. Le problematiche di
queste soluzioni
Uso di statistica puramente descrittiva e non inferenziale
Non ci sono tecniche di anomaly detection (non vengono
usati modelli di distribuzioni per descrivere i dati)
Non ci sono tecniche di behaviour analysis
Basate su assunzioni e valutazioni empiriche (+ qualità della
chiamata -> maggior durata)
Non si integrano in maniera omogenea con le centrali
20. La mia proposta
Assumere le chiamate passate come campione e fare inferenze sulle
chiamate future.
Analisi dinamica delle chiamate in tempo reale
Rilevamento delle anomalie sotto forma di outlier (ex: distribuzione
lognormale)
Modello della distribuzione delle chiamate su su più intervalli di tempo
(anno,mese,giorno) per avere granularità sull’andamento dei dati.
Analisi del traffico basata su grafi dove i nodi sono rappresentati dai
numeri di telefono
Modello della distribuzione di probabilità di ogni sottografo in base alle
variabili delle chiamate