(in) seguridad en VoIP
-
Upload
saul-ibarra-corretge -
Category
Technology
-
view
4.446 -
download
2
description
Transcript of (in) seguridad en VoIP
Saúl Ibarra Corretgé<http://www.saghul.net>
¿Son nuestras comunicaciones seguras?
(in)seguridad en VoIP
2(in)seguridad en VoIP – voip2day 2k8
Índice
Seguridad en la PSTNSeguridad en VoIP
AtaquesHerramientasContramedidas
Conclusiones
3(in)seguridad en VoIP – voip2day 2k8
Seguridad en la PSTN
¿Estamos seguros en la PSTN?EscuchasCaptura de tráficoSPAM...
¿Y en la VoIP, y en Internet?
4(in)seguridad en VoIP – voip2day 2k8
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?
7(in)seguridad en VoIP – voip2day 2k8
Ataques: Fuzzing
Black-Box TestingEnvío de paquetes malformados en busca de errores en la programación
Desbordamientos de buffer, sobrescritura de memoria...Fallos de segmentación
HerramientasPROTOS SIP FuzzerVoIPERSiVuS
8(in)seguridad en VoIP – voip2day 2k8
Ataques: Flooding
Ataques de denegación de servicio (DoS) por inundaciónLa víctima se ve saturada de paquetes inservibles y es incapaz de procesar peticiones válidasDiferentes opciones
Flooding de mensajes SIPFlooding UDPFlooding RTP
HerramientasInvitefloodUdpfloodRtpfloodSipsakSipp
9(in)seguridad en VoIP – voip2day 2k8
Ataques: Eavesdropping
El ataque más temido / impactanteA través de un Man-In-The-Middle previo, el atacante consigue “ver” toda la información
SeñalizaciónFlujo multimedia
Se compromete la privacidad del usuarioAnálisis de tráfico
10(in)seguridad en VoIP – voip2day 2k8
Ataques: SIP Password Cracking
SIP utiliza HTTP Digest (RFC2617) como mecanismo de autenticación
SencilloEficienteInseguro
FuncionamientoSe 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íaEl autenticador podrá validar las credenciales gracias al digest
11(in)seguridad en VoIP – voip2day 2k8
Ataques: SIP Password Cracking (2)
Dentro de un digest:Realm: Identifica el dominio del cual el servidor es responsableNonce: String generado de forma única para cada desafío (string arbitrario + marca de tiempo)Algorithm: De momento solo esta soportado MD5 -> se puede romper!
HerramientasSIPdump y SIPcrackCain & AbelJohn The Ripper
12(in)seguridad en VoIP – voip2day 2k8
Ataques: Exploits
Pequeños programas o scripts que se aprovechan de una vulnerabilidad para atacar un servicioAtaques DoSVulnerabilidades de Asterisk -> ASA
Asterisk 1.4.0 se cae si se llega un INVITE con el Content-Length en negativo
Xlite 1103Al enviarle un INVITE con el Content-Length >= 1073741823 se pone a consumir RAM y decae el rendimiento del sistema
...
13(in)seguridad en VoIP – voip2day 2k8
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 nivelAuntenticación de RE-INVITEsComprobaciones de to tag...
14(in)seguridad en VoIP – voip2day 2k8
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
15(in)seguridad en VoIP – voip2day 2k8
Ataques: Servicios
Los servidores Asterisk normalmente incluyen muchos servicios
DHCPTFTPE-Mail...
El ataque a estos servicios puede comprometer la integridad del sistema
16(in)seguridad en VoIP – voip2day 2k8
Ataques: Otros
Toll fraud
Register hijacking
Media and signalling mangling
Call teardown
...
18(in)seguridad en VoIP – voip2day 2k8
RTPflood, INVITEflood, UDPflood
Herramientas básicas de floodingAtaque DoS por inundación
Paquet lossLatenciaJitter
Uso (enviamos 1.000.000 de paquetes):
udpflood 192.168.1.3 192.168.1.251 9 5060 1000000inviteflood br0 200 192.168.21 192.168.1.251 1000000rtpflood 192.168.1.3 192.168.1.251 9 16384 1000000
15000 2000 1886986910
19(in)seguridad en VoIP – voip2day 2k8
RTPflood, INVITEflood, UDPflood
ConsecuenciasInterrupción del servicioNo recuperaciónDegradación del funcionamiento
20(in)seguridad en VoIP – voip2day 2k8
Sipsak y SIPp
Herramientas estándar para benchmarking y testing de SIPTambién las podemos usar para hacer flooding ;)Uso:
sipsak -F -s sip:[email protected] 192.168.1.111 (pulsar ++++)
21(in)seguridad en VoIP – voip2day 2k8
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 IPecho 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! :)
22(in)seguridad en VoIP – voip2day 2k8
SIPdump y SIPcrack
Herramientas para capturar tráfico SIP y crackear las contraseñasAlternativas
WiresharkJohn The Ripper
Uso:
sipdump -i eth0 superdump.pcapmkfifo mififojohn --incremental=alpha --stdout=8 > mififosipcrack -w mififo superdump.pcap
Ejemplo: Password 'saghul' crackeado ¡en 118s!
23(in)seguridad en VoIP – voip2day 2k8
VoIPER
Potente fuzzer con muchos casos de pruebaTesting para detectar fallos en software y hardwareUso:
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
24(in)seguridad en VoIP – voip2day 2k8
SIPVicious
Conjunto de herramientas de seguridad en VoIPSvmap (escaneador SIP)Svcrack (crackeador de contraseñas)Svwar (enumerador de extensiones)
Uso:
svmap.py 192.168.1.1-254svwar.py -e200-299 192.168.1.111svcrack.py -u200 dict.dat 192.168.1.111
25(in)seguridad en VoIP – voip2day 2k8
Wireshark
Potente herramienta de análisis de redesPlugins para VoIP
Análisis de tráfico
Podemos analizar los streams RTP¡Si el audio es g711, podemos escucharlo!
Ettercap + Wireshark = EAVESDROPPINGEscuchas no autorizadas
28(in)seguridad en VoIP – voip2day 2k8
Cain & Abel
Herramienta completa de cracking con funcionalidades de VoIP
ARP Pisoning con 1 click¡Eavesdropping con cualquier codec!
29(in)seguridad en VoIP – voip2day 2k8
SiVuS
Herramienta de auditoría, seguridad y generación de tráfico SIPPermite testear dispositivos SIP en busca de vulnerabilidades
33(in)seguridad en VoIP – voip2day 2k8
Herramientas para ataques a servicios
DHCPSi se agota el rango los terminales no podrán solicitar una nueva IPDhcpx
dhcpx -i eth0 -vv -D 192.168.1.254
TFTPTFTP no requiere autenticaciónLos terminales siempre piden los ficheros con un nombre concretoSe puede automatizar un ataque por fuerza bruta
34(in)seguridad en VoIP – voip2day 2k8
Herramientas: Asterisk
Números de teléfono +
scripting+
callfiles =
SPIT
36(in)seguridad en VoIP – voip2day 2k8
SIP sobre TCP/TLS
Evitamos el flooding (en gran medida)Números de secuenciaThree 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ónMecanismo fuerte de autenticación¡Ojo! No es end-to-endSe garantiza la autenticidad, confidencialidad, integridad y no repudio
A menos que sea un insider
37(in)seguridad en VoIP – voip2day 2k8
SRTP y ZRTP
Objetivo de SRTP (RFC3711): Asegurar el tráfico RTP
CifradoAutenticaciónIntegridad
Mecanismo de clave maestra y claves derivadas para el cifrado (AES)
Obtención de la primera clave maestraZRTPMIKEY
38(in)seguridad en VoIP – voip2day 2k8
SRTP y ZRTP (2)
ZRTP: Draft lanzado por Phil Zimmerman, John Callas y Alan Johnston en 2006Especifica un mecanismo de intercambio de claves basado en Diffie-HellmanLa 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
39(in)seguridad en VoIP – voip2day 2k8
Túneles VPN
Posibilidad de establecer conexiones seguras en medios hostiles
Internet
Relativamente sencillas de implementarBajo costeAlgunos terminales implementan soluciones VPN
Snom 370 (OpenVPN)
40(in)seguridad en VoIP – voip2day 2k8
VLANs
Nos permiten separar las redesVozDatos
Restricciones de accesoFiltrado por MACFiltrado por puerto 802.xQoS...
No imposibilitan los ataques pero lo ponen más difícil :)
41(in)seguridad en VoIP – voip2day 2k8
Sistemas de Detección de Intrusos (IDS)
Sistema para detectar accesos no autorizadosSistema IDS/IDP
Software LibrePlugins libres (Community)Plugins propietarios (VRT)
Plugins para VoIP y SIPComunity
44(in)seguridad en VoIP – voip2day 2k8
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 atacanteEs necesario disponer de acceso a recursos privilegiados
La VoIP tradicional (todo sobre UDP) es INSEGURAPERO, sabremos solucionarlo ;)
45(in)seguridad en VoIP – voip2day 2k8
Fin
“The power to destroy a thing is the absolute control over it.”
-- Paul Atreides
46(in)seguridad en VoIP – voip2day 2k8
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.
47(in)seguridad en VoIP – voip2day 2k8
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.