(in)seguridad en VoIP - Asterisk-ES

Transcripción

(in)seguridad en VoIP - Asterisk-ES
(in)seguridad en VoIP
¿Son nuestras comunicaciones seguras?
Saúl Ibarra Corretgé
<http://www.saghul.net>
Índice
Seguridad en la PSTN
Seguridad en VoIP
Ataques
Herramientas
Contramedidas
Conclusiones
(in)seguridad en VoIP – voip2day 2k8
2
Seguridad en la PSTN
¿Estamos seguros en la PSTN?
Escuchas
Captura de tráfico
SPAM
...
¿Y en la VoIP, y en Internet?
(in)seguridad en VoIP – voip2day 2k8
3
Seguridad en VoIP
Autenticación: ¿Puede un usuario 'robar' la identidad
de otro?
Integridad: ¿El mensaje SIP recibido es igual al
enviado?
Confidencialidad: ¿Puede alguien escuchar nuestros
mensajes SIP?
No repudio: ¿Sabemos quién es quién?
(in)seguridad en VoIP – voip2day 2k8
4
¡Al ataque!
Terminales
PBX
Red
(in)seguridad en VoIP – voip2day 2k8
5
Ataques
(in)seguridad en VoIP – voip2day 2k8
6
Ataques: Fuzzing
Black-Box Testing
Envío de paquetes malformados en busca de errores
en la programación
Desbordamientos de buffer, sobrescritura de
memoria...
Fallos de segmentación
Herramientas
PROTOS SIP Fuzzer
VoIPER
SiVuS
(in)seguridad en VoIP – voip2day 2k8
7
Ataques: Flooding
Ataques de denegación de servicio (DoS) por
inundación
La víctima se ve saturada de paquetes inservibles y
es incapaz de procesar peticiones válidas
Diferentes opciones
Flooding de mensajes SIP
Flooding UDP
Flooding RTP
Herramientas
Inviteflood
Udpflood
Rtpflood
Sipsak
Sipp
(in)seguridad en VoIP – voip2day 2k8
8
Ataques: Eavesdropping
El ataque más temido / impactante
A través de un Man-In-The-Middle previo, el atacante
consigue “ver” toda la información
Señalización
Flujo multimedia
Se compromete la privacidad del usuario
Análisis de tráfico
(in)seguridad en VoIP – voip2day 2k8
9
Ataques: SIP Password Cracking
SIP utiliza HTTP Digest (RFC2617) como mecanismo
de autenticación
Sencillo
Eficiente
Inseguro
Funcionamiento
Se genera el texto del desafío (digest) y se le envía al
usuario que se quiere autenticar (junto al error 407)
El usuario lo cifra con su información (realm, usuario,
contraseña) y lo envía
El autenticador podrá validar las credenciales gracias al
digest
(in)seguridad en VoIP – voip2day 2k8
10
Ataques: SIP Password Cracking (2)
Dentro de un digest:
Realm: Identifica el dominio del cual el servidor es
responsable
Nonce: String generado de forma única para cada
desafío (string arbitrario + marca de tiempo)
Algorithm: De momento solo esta soportado MD5 -> se
puede romper!
Herramientas
SIPdump y SIPcrack
Cain & Abel
John The Ripper
(in)seguridad en VoIP – voip2day 2k8
11
Ataques: Exploits
Pequeños programas o scripts que se aprovechan de
una vulnerabilidad para atacar un servicio
Ataques DoS
Vulnerabilidades de Asterisk -> ASA
Asterisk 1.4.0 se cae si se llega un INVITE con el
Content-Length en negativo
Xlite 1103
Al enviarle un INVITE con el Content-Length >=
1073741823 se pone a consumir RAM y decae el
rendimiento del sistema
...
(in)seguridad en VoIP – voip2day 2k8
12
Ataques: Errores de configuración
Asterisk
;allowguest=no
; Allow or reject guest calls
(default is yes)
Contextos adecuados al nivel de privilegios del
usuario.
T: Allow the calling user to transfer the call by
hitting the blind xfer keys (features.conf)
OpenSER/Kamailio/OpenSIPS/...
Tenemos todo el control a muy bajo nivel
Auntenticación de RE-INVITEs
Comprobaciones de to tag
...
(in)seguridad en VoIP – voip2day 2k8
13
Ataques: SPIT
Spam Over Internet Telephony
¡Hola amigo! ¿Desea ser tan feliz como yo? Pues
ya puede serlo enviando 1 dolar a Hombre Feliz al
742 de Evergreen Terrace , no lo dude ¡la felicidad
eterna esta a solo un dolar!
--Homer J. Simpson
(in)seguridad en VoIP – voip2day 2k8
14
Ataques: Servicios
Los servidores Asterisk normalmente incluyen
muchos servicios
DHCP
TFTP
E-Mail
...
El ataque a estos servicios puede comprometer la
integridad del sistema
(in)seguridad en VoIP – voip2day 2k8
15
Ataques: Otros
Toll fraud
Register hijacking
Media and signalling mangling
Call teardown
...
(in)seguridad en VoIP – voip2day 2k8
16
Herramientas
(in)seguridad en VoIP – voip2day 2k8
17
RTPflood, INVITEflood, UDPflood
Herramientas básicas de flooding
Ataque DoS por inundación
Paquet loss
Latencia
Jitter
Uso (enviamos 1.000.000 de paquetes):
udpflood 192.168.1.3 192.168.1.251 9 5060 1000000
inviteflood br0 200 192.168.21 192.168.1.251 1000000
rtpflood 192.168.1.3 192.168.1.251 9 16384 1000000
15000 2000 1886986910
(in)seguridad en VoIP – voip2day 2k8
18
RTPflood, INVITEflood, UDPflood
Consecuencias
Interrupción del servicio
No recuperación
Degradación del funcionamiento
(in)seguridad en VoIP – voip2day 2k8
19
Sipsak y SIPp
Herramientas estándar para benchmarking y testing
de SIP
También las podemos usar para hacer flooding ;)
Uso:
sipsak -F -s sip:[email protected]
sipp 192.168.1.111 (pulsar ++++)
(in)seguridad en VoIP – voip2day 2k8
20
Ettercap
Herramienta popular para realizar ataques MitM (Man
In The Middle)
Para capturar señalización / flujo multimedia
necesitamos ponernos “en medio”
Uso:
Habilitamos el forwarding de paquetes IP
echo 1 > /proc/sys/net/ipv4/ip_forward
Nos ponemos “en medio” :)
ettercap -o -T -P repoison_arp -M arp:remote /
192.168.1.111/ //
¡Ahora podemos capturar todo el tráfico! :)
(in)seguridad en VoIP – voip2day 2k8
21
SIPdump y SIPcrack
Herramientas para capturar tráfico SIP y crackear las
contraseñas
Alternativas
Wireshark
John The Ripper
Uso:
sipdump -i eth0 superdump.pcap
mkfifo mififo
john --incremental=alpha --stdout=8 > mififo
sipcrack -w mififo superdump.pcap
Ejemplo: Password 'saghul' crackeado ¡en 118s!
(in)seguridad en VoIP – voip2day 2k8
22
VoIPER
Potente fuzzer con muchos casos de prueba
Testing para detectar fallos en software y hardware
Uso:
python fuzzer.py -f SIPInviteCommonFuzzer -i
192.168.3.101 -p 5060 -a sessions/scen1 -c 0
python fuzzer.py -f SIPInviteCommonFuzzer -c 2 -i
192.168.3.101 -p 5060 -a sessions/scen2 -m 1024
python torturer.py -i 192.168.1.2 -p 5060 -c 0 -t invalid
(in)seguridad en VoIP – voip2day 2k8
23
SIPVicious
Conjunto de herramientas de seguridad en VoIP
Svmap (escaneador SIP)
Svcrack (crackeador de contraseñas)
Svwar (enumerador de extensiones)
Uso:
svmap.py 192.168.1.1-254
svwar.py -e200-299 192.168.1.111
svcrack.py -u200 dict.dat 192.168.1.111
(in)seguridad en VoIP – voip2day 2k8
24
Wireshark
Potente herramienta de análisis de redes
Plugins para VoIP
Análisis de tráfico
Podemos analizar los streams RTP
¡Si el audio es g711, podemos escucharlo!
Ettercap + Wireshark = EAVESDROPPING
Escuchas no autorizadas
(in)seguridad en VoIP – voip2day 2k8
25
Wireshark(2)
(in)seguridad en VoIP – voip2day 2k8
26
Wireshark(3)
(in)seguridad en VoIP – voip2day 2k8
27
Cain & Abel
Herramienta completa de cracking con
funcionalidades de VoIP
ARP Pisoning con 1 click
¡Eavesdropping con cualquier codec!
(in)seguridad en VoIP – voip2day 2k8
28
SiVuS
Herramienta de auditoría, seguridad y generación de
tráfico SIP
Permite testear dispositivos SIP en busca de
vulnerabilidades
(in)seguridad en VoIP – voip2day 2k8
29
SiVuS(2)
(in)seguridad en VoIP – voip2day 2k8
30
SiVuS(3)
(in)seguridad en VoIP – voip2day 2k8
31
SiVuS(4)
(in)seguridad en VoIP – voip2day 2k8
32
Herramientas para ataques a servicios
DHCP
Si se agota el rango los terminales no podrán solicitar
una nueva IP
Dhcpx
dhcpx -i eth0 -vv -D 192.168.1.254
TFTP
TFTP no requiere autenticación
Los terminales siempre piden los ficheros con un
nombre concreto
Se puede automatizar un ataque por fuerza bruta
(in)seguridad en VoIP – voip2day 2k8
33
Herramientas: Asterisk
Números de teléfono
+
scripting
+
callfiles
=
SPIT
(in)seguridad en VoIP – voip2day 2k8
34
Contramedidas
(in)seguridad en VoIP – voip2day 2k8
35
SIP sobre TCP/TLS
Evitamos el flooding (en gran medida)
Números de secuencia
Three way handshake
Si se usa TCP es necesario que TODOS los
terminales usen exclusivamente TCP.
Posibilidad de usar TLS (RFC2246)
Cifrado de la señalización
Mecanismo fuerte de autenticación
¡Ojo! No es end-to-end
Se garantiza la autenticidad, confidencialidad,
integridad y no repudio
A menos que sea un insider
(in)seguridad en VoIP – voip2day 2k8
36
SRTP y ZRTP
Objetivo de SRTP (RFC3711): Asegurar el tráfico
RTP
Cifrado
Autenticación
Integridad
Mecanismo de clave maestra y claves derivadas para
el cifrado (AES)
Obtención de la primera clave maestra
ZRTP
MIKEY
(in)seguridad en VoIP – voip2day 2k8
37
SRTP y ZRTP (2)
ZRTP: Draft lanzado por Phil Zimmerman, John
Callas y Alan Johnston en 2006
Especifica un mecanismo de intercambio de claves
basado en Diffie-Hellman
La negociación se realiza a nivel de RTP (inband)
Agnóstico a la señalización (H323, Jabber,...)
No se necesitan claves compartidas ni estructura PKI
(claves efímeras)
Una vez negociadas las claves la comunicación se
cifra mediante SRTP
(in)seguridad en VoIP – voip2day 2k8
38
Túneles VPN
Posibilidad de establecer conexiones seguras en
medios hostiles
Internet
Relativamente sencillas de implementar
Bajo coste
Algunos terminales implementan soluciones VPN
Snom 370 (OpenVPN)
(in)seguridad en VoIP – voip2day 2k8
39
VLANs
Nos permiten separar las redes
Voz
Datos
Restricciones de acceso
Filtrado por MAC
Filtrado por puerto 802.x
QoS
...
No imposibilitan los ataques pero lo ponen más
difícil :)
(in)seguridad en VoIP – voip2day 2k8
40
Sistemas de Detección de Intrusos (IDS)
Sistema para detectar accesos no autorizados
Sistema IDS/IDP
Software Libre
Plugins libres (Community)
Plugins propietarios (VRT)
Plugins para VoIP y SIP
Comunity
(in)seguridad en VoIP – voip2day 2k8
41
Personas
Alguien que configure bien tu
sistema ;)
(in)seguridad en VoIP – voip2day 2k8
42
Conclusiones
(in)seguridad en VoIP – voip2day 2k8
43
Conclusiones
Mantener un sistema 100% seguro es complicado
$$$
La gente no suele preocuparse mucho por la
seguridad
Preguntas en Asterisk-ES
Las herramientas actuales (algunas) requieren
amplios conocimientos por parte del atacante
Es necesario disponer de acceso a recursos
privilegiados
La VoIP tradicional (todo sobre UDP) es INSEGURA
PERO, sabremos solucionarlo ;)
(in)seguridad en VoIP – voip2day 2k8
44
Fin
“The power to destroy a thing is the absolute
control over it.”
-- Paul Atreides
(in)seguridad en VoIP – voip2day 2k8
45
Referencias
Hacking Exposed: VoIP (David Endler & Mark Collier)
Presentación de Txipi (http://www.slideshare.net/txipi)
http://www.voipsa.org/Resources/tools.php
Todas las imágenes son propiedad de sus
respectivos autores.
(in)seguridad en VoIP – voip2day 2k8
46
Licencia
Saúl Ibarra Corretgé - http://www.saghul.net
Reconocimiento - No comercial - Compartir igual: El
material creado por un artista puede ser distribuido,
copiado y exhibido por terceros si se muestra en los
créditos. No se puede obtener ningún beneficio
comercial y las obras derivadas tienen que estar bajo
los mismos términos de licencia que el trabajo original.
(in)seguridad en VoIP – voip2day 2k8
47

Documentos relacionados