(in) seguridad en voip

47
Saúl Ibarra Corretgé <http://www.saghul.net> ¿Son nuestras comunicaciones seguras? (in)seguridad en VoIP

Upload: saul-ibarra-corretge

Post on 19-May-2015

4.446 views

Category:

Technology


2 download

DESCRIPTION

Seguridad en VoIP y Asterisk.

TRANSCRIPT

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?

5(in)seguridad en VoIP – voip2day 2k8

¡Al ataque!

Terminales

Red

PBX

6(in)seguridad en VoIP – voip2day 2k8

Ataques

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

...

17(in)seguridad en VoIP – voip2day 2k8

Herramientas

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

26(in)seguridad en VoIP – voip2day 2k8

Wireshark(2)

27(in)seguridad en VoIP – voip2day 2k8

Wireshark(3)

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

30(in)seguridad en VoIP – voip2day 2k8

SiVuS(2)

31(in)seguridad en VoIP – voip2day 2k8

SiVuS(3)

32(in)seguridad en VoIP – voip2day 2k8

SiVuS(4)

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

35(in)seguridad en VoIP – voip2day 2k8

Contramedidas

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

42(in)seguridad en VoIP – voip2day 2k8

Personas

Alguien que configure bien tu sistema ;)

43(in)seguridad en VoIP – voip2day 2k8

Conclusiones

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.