Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
Secure Communication Secure Communication SystemSystem
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March2
¿ Quiénes somos ?
José Luis VerdeguerJosé Luis VerdeguerIngeniero Técnico de Sistemas InformáticosMáster en Desarrollo y Programación de Servicios WebDirector de Sistemas en Zoon Suite (operador de VoIP)Autor del libro Hacking y Seguridad VoIP (de 0xWORD)
Víctor SevaVíctor SevaColaborador del proyecto Debian (VoIP team)Desarrollador del proyecto KamailioIngeniero de Software en SipwiseKamailio Award (2012) - empaquetado para Debian
@pepeluxx
@linuxmaniac
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
3
- Escuchas telefónicas
- Sistemas de espionaje
- Diferentes soluciones
- Propuestas
¿ De qué va esta charla ?
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March4
Escuchas telefónicas
Eavesdropping
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March5
Escuchas telefónicas
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March6
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March7
Escuchas telefónicas
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March8
Escuchas telefónicas
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March9
Escuchas telefónicas
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March10
Sistemas de espionaje
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March11
Sistemas de espionaje
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March12
Sistemas de espionaje
DragonWare
Carnivore: encargado de capturar la informaciónPacketeer: convierte los paquetes interceptados en textos coherentesCoolminer: analiza los datos obtenidos
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March13
Sistemas de espionaje
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March14
Sistemas de espionaje
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March15
Sistemas de espionaje
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March16
Sistemas de espionaje
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March17
Sistemas de espionaje
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March18
Sistemas de espionaje
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March19
Sistemas de espionaje
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March20
¿ Es posible establecer una comunicación de voz segura ?
“no se puede tener un 100% de seguridad y también un 100% de privacidad y ningún inconveniente”
Barack Obama
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March21
Soluciones: hardware
Cryptophone
- Diferentes tipos de terminales
- Proporciona llamadas cifradas de extremo a extremo
Problemas …
- Altos costes (1.500€ / terminal)
- Necesidad de un terminal por interlocutor
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March22
Soluciones: software
Zfone
- Fundado por Phil Zimmermann
- Basado en tecnología de VoIP
- Usa ZRTP para las comunicaciones
- Disponible en Windows, MAC OS y Linux
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March23
Soluciones: softwareRedPhone
- Creado por Moxie Marlinspike- Basado en tecnología de VoIP- Usa ZRTP para las comunicaciones
Problemas …
- Registra tu nº de teléfono en el sistema (validación por SMS)- Funciona sólo con Android- Sólo disponible en ciertos países
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March24
Soluciones: software
RedPhone
- Teóricamente, el servidor no tiene acceso a las claves usadas
- No tendrá acceso a las conversaciones
- Pero sabrá:· Tu número de teléfono· A quién has llamado· Cuándo· Duración de la llamada
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March25
Soluciones: software
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March26
Soluciones: software
SilentCircle
Servicios cifrados:- Envío de documentos: DOC, PDF, XLS, imágenes, …- Llamadas telefónicas, videoconferencias, …
Dirigido a:- Particulares- Empresas- Gobiernos
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March27
¿ Son seguras nuestras comunicaciones ?
Skype permite cifrar las comunicaciones, pero …
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March28
¿ Y Whatsapp ? ¿ Es seguro ?
¿ Son seguras nuestras comunicaciones ?
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March29
¿ Qué podemos hacer ?
La única forma de controlar nuestras comunicaciones es mediante un sistema propio:
- Sin telcos involucrados
- Sin intervención de terceros
En definitiva:
- Nuestro propio sistema de comunicaciones
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March30
Nuestro proyecto
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March31
Nuestro proyectoPara ello usaremos: Kamailio + Mediaproxy-ng
- Kamailio: Proxy SIP para la señalización- Mediaproxy-ng: Proxy RTP para la sesión media (NAT)
- Medidas para incrementar la seguridad:• Uso de TLS para la señalización• Forzado de SRTP para el media
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March32
Un poco de teoría sobre VoIP …
Fases en una comunicación SIP:
- Fase 1: Signaling (registro, solicitud de llamada, etc)
- Fase 2: Media Session (transmisión de audio o vídeo)
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March33
Fases en una comunicación SIP
Fase 1: Signaling
- Comunicación TCP o UDP
- Posibilidad de cifrado (TLS)
- Sintaxis similar al HTTP
- Diferentes tipos de mensajes
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March34
Fases en una comunicación SIP
Fase 1: Signaling - Ejemplo de registro, sin cifrado
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March35
Fase 1: Signaling - Ejemplo de registro, con cifrado
TLS ofrece seguridad en la capa de transporte
Utiliza cifrado RSA
Fases en una comunicación SIP
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March36
Fases en una comunicación SIP
Fase 1: Signaling - SIP + TLS
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March37
Fases en una comunicación SIP
Fase 2: Media Session
- Comunicación RTP (UDP) —> RFC-3350
- Posibilidad de cifrado SRTP —> RFC-3711
- Posibilidad de cifrado ZRTP —> RFC-6189
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March38
Fases en una comunicación SIP
Fase 2: Media Session
SRTP- Soporta el algoritmo AES (Advanced Encryption Standard)
- Confidencialidad mediante el cifrado del RTP.
- Integridad añadiendo MAC (Message Authentication Code).
- MKI (Master Key Identifier) para simplificar el intercambio de claves.
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March39
Fase 2: Media Session
ZRTP-Describe el establecimiento de un intercambio Diffie-Hellman de claves para el SRTP
-Creado por Phil Zimmermann (autor de PGP)
-Para negociar un intercambio de claves entre dos puntos
-Generadas para cada comunicación. Previenen ataques mitm
-Comprobación visual de la clave
Fases en una comunicación SIP
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March40
Fases en una comunicación SIP
Fase 2: Media Session
ZRTP
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March41
Nuestro proyecto
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March42
Nuestro proyectoURL: http://www.securecall.org
- Señalización por TLS
- Comunicaciones siempre cifradas por SRTP
- El usuario es un nick (no se necesita un número de teléfono)
- Contraseñas robustas generadas aleatoriamente
- Bloqueo automático ante ataques
- Detección de escáners SIP
- Posibilidad de usar teléfonos IP físicos, móviles o softphones
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March43
Nuestro proyecto
URL: http://www.securecall.org
- El servidor es un simple proxy (Kamailio + Mediaproxy-ng)
- No se almacenan datos personales
- No existe ningún registro de llamadas
- Es totalmente gratuito
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March44
Nuestro proyecto
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March45
Nuestro proyecto
DEMODEMO
Funcionamiento de nuestro sistema de comunicaciones cifrado
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March46
Nuestro proyecto
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March47
Nuestro proyecto
Mola, ¿ eh ?Mola, ¿ eh ?
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March48
Nuestro proyecto
¿ De verdad pensáis que es seguro ?
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March49
¿ Qué ha ocurrido ?
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March50
¿ Qué ha ocurrido ?- En un principio el servidor sólo actuaba como proxy y desviaba el tráfico de audio de un terminal a otro.
- Había un canal de comunicación entre los dos interlocutores.
Emisor <—> Receptor
- En el segundo caso, se desvía el tráfico a un segundo servidor.- Se establecen 2 canales de comunicación.
Emisor <—> ServidorServidor <—> Receptor
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March51
Conclusión
El único sistema seguro es aquel que controlamos al 100%
Por eso, hemos creado una VM para que cualquier pueda montar su propio sistema cifrado de comunicaciones.
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March52
Máquina Virtual
-Descargahttps://securecall.org/securecall_mysql.bz2
-Requisitos# apt-get install libvirt-bin virt-manager qemu-kvm# adduser USER libvirt libvirt-qemu
-Modificaciones para hacerla funcionar:# cat /etc/kamailio/README
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March53
Curiosidades
Ataques recibidos en el transcurso del proyecto
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March54
CuriosidadesHistórico de ataques
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
Curiosidades
55
Histórico de ataques: por países
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March
Curiosidades
56
Histórico de ataques: por IPs (o por “cansinos”)
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March57
Conclusiones finales
En esta charla se ha pretendido demostrar que:
-Ningún sistema es seguro (por muy bien que nos lo vendan)
-Podemos esforzarnos en que las comunicaciones viajen cifradas y un tercero no pueda interceptarlas pero, ¿qué hay del proveedor de servicios?
-Si quieres algo fiable, créalo tú mismo … aún así nunca tendrás una garantía del 100%
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March58
Conclusiones finales
José Luis Verdegueraka
Pepelux
@pepeluxx
Víctor Sevaaka
Linuxmaniac
@linuxmaniac