2014-03 - RootedCon 2014 - Secure Communication System

59
Rooted CON 2014 6-7-8 Marzo // 6-7-8 March Secure Communication Secure Communication System System

description

Charla sobre sistemas de comunicaciones seguros ofrecida en la RootedCon 2014 por @linuxmaniac y @pepeluxx

Transcript of 2014-03 - RootedCon 2014 - Secure Communication System

Page 1: 2014-03 - RootedCon 2014 - Secure Communication System

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March

Secure Communication Secure Communication SystemSystem

Page 2: 2014-03 - RootedCon 2014 - Secure Communication System

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March2

¿ Quiénes somos ?

José Luis VerdeguerJosé Luis VerdeguerIngeniero Técnico de Sistemas Informáticos por la UAMáster en Desarrollo y Prog. de Aplicaciones y Serv. WebDirector de Sistemas en Zoon Suite (operador de VoIP)Autor del libro Hacking y Seguridad VoIP (de 0xWORD)

Víctor SevaVíctor SevaMantenedor de Debian (VoIP/Lua team)Desarrollador del proyecto KamailioIngeniero de Software en SipwiseKamailio Award (2012) - empaquetado para Debian

@pepeluxx

@linuxmaniac

Page 3: 2014-03 - RootedCon 2014 - Secure Communication System

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 ?

Page 4: 2014-03 - RootedCon 2014 - Secure Communication System

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March4

Escuchas telefónicas

Eavesdropping

Page 5: 2014-03 - RootedCon 2014 - Secure Communication System

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March5

Escuchas telefónicas

Page 6: 2014-03 - RootedCon 2014 - Secure Communication System

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March6

Page 7: 2014-03 - RootedCon 2014 - Secure Communication System

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March7

Escuchas telefónicas

Page 8: 2014-03 - RootedCon 2014 - Secure Communication System

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March8

Escuchas telefónicas

Page 9: 2014-03 - RootedCon 2014 - Secure Communication System

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March9

Escuchas telefónicas

Page 10: 2014-03 - RootedCon 2014 - Secure Communication System

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March10

Sistemas de espionaje

ECHELON

Page 11: 2014-03 - RootedCon 2014 - Secure Communication System

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March11

Sistemas de espionaje

Page 12: 2014-03 - RootedCon 2014 - Secure Communication System

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March12

Sistemas de espionaje

Carnivore: encargado de capturar la informaciónPacketeer: convierte los paquetes interceptados en textos coherentesCoolminer: analiza los datos obtenidos

DRAGON WARE

Page 13: 2014-03 - RootedCon 2014 - Secure Communication System

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March13

DRAGON WARE

Sistemas de espionaje

Page 14: 2014-03 - RootedCon 2014 - Secure Communication System

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March14

Sistemas de espionaje

NARUSINSIGHT

Page 15: 2014-03 - RootedCon 2014 - Secure Communication System

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March15

Sistemas de espionaje

Page 16: 2014-03 - RootedCon 2014 - Secure Communication System

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March16

Sistemas de espionaje

Page 17: 2014-03 - RootedCon 2014 - Secure Communication System

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March17

Sistemas de espionaje

SITEL

Page 18: 2014-03 - RootedCon 2014 - Secure Communication System

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March18

Sistemas de espionaje

Page 19: 2014-03 - RootedCon 2014 - Secure Communication System

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March19

Sistemas de espionaje

Page 20: 2014-03 - RootedCon 2014 - Secure Communication System

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

Page 21: 2014-03 - RootedCon 2014 - Secure Communication System

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March21

¿ Qué soluciones encontramos en el mercado ?

Page 22: 2014-03 - RootedCon 2014 - Secure Communication System

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March22

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

Page 23: 2014-03 - RootedCon 2014 - Secure Communication System

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March23

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

Page 24: 2014-03 - RootedCon 2014 - Secure Communication System

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March24

Soluciones: softwareRedPhone

- Creado por Moxie Marlinspike- Basado en tecnología de VoIP- Usa ZRTP para las comunicaciones

Inconvenientes …

- 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

Page 25: 2014-03 - RootedCon 2014 - Secure Communication System

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March25

Soluciones: software

RedPhone

-Teóricamente, el servidor no tiene acceso a las claves-No tendrá acceso a las conversaciones

-Pero sabrá:· Tu número de teléfono· Tu ubicación geográfica· A quién has llamado· Cuándo· Duración de la llamada

Page 26: 2014-03 - RootedCon 2014 - Secure Communication System

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March26

Soluciones: software

Page 27: 2014-03 - RootedCon 2014 - Secure Communication System

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March27

Soluciones: software

SilentCircle

Servicios cifrados:- Envío de documentos: DOC, PDF, XLS, imágenes, …- Llamadas telefónicas, videoconferencias, …

Servicio de pago dirigido a:- Particulares- Empresas- Gobiernos

Page 28: 2014-03 - RootedCon 2014 - Secure Communication System

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March28

¿ Son seguras nuestras comunicaciones ?

Skype permite cifrar las comunicaciones, pero …

Page 29: 2014-03 - RootedCon 2014 - Secure Communication System

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March29

¿ Y Whatsapp ? ¿ Es seguro ?

¿ Son seguras nuestras comunicaciones ?

Page 30: 2014-03 - RootedCon 2014 - Secure Communication System

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March30

¿ 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

Page 31: 2014-03 - RootedCon 2014 - Secure Communication System

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March31

Nuestro proyecto

Page 32: 2014-03 - RootedCon 2014 - Secure Communication System

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March32

Nuestro proyectoPara ello usaremos Debian con: Kamailio + Mediaproxy-ng

- Kamailio: Proxy SIP para la señalización- Mediaproxy-ng: Proxy RTP para la sesión media

- NAT: problemas one-audio- Uso como relay

- Medidas para incrementar la seguridad:• Uso de TLS para la señalización• Forzado de SRTP para el media

• configuración en cliente

Page 33: 2014-03 - RootedCon 2014 - Secure Communication System

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March33

Un poco de teoría sobre VoIP …

Protocolo SIP(RFC 3261):* unicast / multicast*audio, video, IM, presence

Fases en una comunicación de voz:- Fase 1: Signaling (establecer, modificar, cancelar sesión)

- Fase 2: Media Session (transmisión de audio)

Page 34: 2014-03 - RootedCon 2014 - Secure Communication System

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March34

Fases en una comunicación SIP

Fase 1: Signaling

- Comunicación TCP, UDP o SCTP

- Posibilidad de cifrado (TLS)

-Sintaxis similar al HTTP- Headers, Body- Request / Response- Auth Digest

- REGISTER, INVITE, CANCEL, …

Page 35: 2014-03 - RootedCon 2014 - Secure Communication System

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March35

Fases en una comunicación SIP

Fase 1: Signaling - Ejemplo de registro, sin cifrado

Page 36: 2014-03 - RootedCon 2014 - Secure Communication System

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March36

Fase 1: Signaling - Ejemplo de registro, con cifrado

TLS ofrece seguridad en la capa de transporte

Fases en una comunicación SIP

Page 37: 2014-03 - RootedCon 2014 - Secure Communication System

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

Page 38: 2014-03 - RootedCon 2014 - Secure Communication System

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March38

Fases en una comunicación SIP

Fase 2: Media Session

SRTP (RFC-3711)- 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.

Page 39: 2014-03 - RootedCon 2014 - Secure Communication System

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March39

Fase 2: Media Session

ZRTP (RFC-6189)-Describe el establecimiento de un intercambio Diffie-Hellman de claves para el SRTP

-Creado por Phil Zimmermann (autor de PGP)

-Negocia el intercambio de claves entre dos puntos

-Generadas por cada comunicación. Previenen ataques mitm

-Comprobación visual del SAS (Short Authentication String)

Fases en una comunicación SIP

Page 40: 2014-03 - RootedCon 2014 - Secure Communication System

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March40

Nuestro proyecto

Page 41: 2014-03 - RootedCon 2014 - Secure Communication System

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March41

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

Page 42: 2014-03 - RootedCon 2014 - Secure Communication System

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March42

Nuestro proyecto

URL: http://www.securecall.org

-El servidor es un simple proxy (Kamailio + Mediaproxy-ng)

-Todo el proyecto implementado con Software Libre

- No se almacenan datos personales

- No existe ningún registro de llamadas

- Es totalmente gratuito

Page 43: 2014-03 - RootedCon 2014 - Secure Communication System

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March43

Nuestro proyecto

Page 44: 2014-03 - RootedCon 2014 - Secure Communication System

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March44

Nuestro proyecto

Page 45: 2014-03 - RootedCon 2014 - Secure Communication System

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March45

Nuestro proyecto

DEMODEMO

Funcionamiento de nuestro sistema de comunicaciones cifrado

Page 46: 2014-03 - RootedCon 2014 - Secure Communication System

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March46

Mola, ¿ eh ?Mola, ¿ eh ?

Page 47: 2014-03 - RootedCon 2014 - Secure Communication System

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March47

¿ De verdad pensáis que es seguro ?

Page 48: 2014-03 - RootedCon 2014 - Secure Communication System

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March48

¿ Qué ha ocurrido ?

Page 49: 2014-03 - RootedCon 2014 - Secure Communication System

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March49

¿ 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 (RELAY).

- Había un único canal de comunicación entre los dos interlocutores.

Emisor <— CANAL CIFRADO —> Receptor

-En el segundo caso, se desvía el tráfico a otro servidor.-Se establecen 2 canales cifrados de comunicación.

Emisor <— CANAL 1 CIFRADO —> ServidorServidor <— CANAL 2 CIFRADO —> Receptor

Page 50: 2014-03 - RootedCon 2014 - Secure Communication System

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March50

Conclusión

El único sistema seguro es aquel que controlamos al 100%

… Y aún así no podemos estar confiados

Por eso, hemos creado una Máquina Virtual con nuestro ’Secure Communication System’ para que cualquiera pueda descargarlo y montar su propio sistema cifrado de comunicaciones.

Page 51: 2014-03 - RootedCon 2014 - Secure Communication System

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March51

¡ Ahora sí que mola !

¡ Ahora sí que mola !

Page 52: 2014-03 - RootedCon 2014 - Secure Communication System

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

Page 53: 2014-03 - RootedCon 2014 - Secure Communication System

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March53

-Modificaciones para hacerla funcionar:

# cat /etc/kamailio/README

*Para usar la VM tras una NAT hay que redirigir los puertos 5061/tcp y el 30000-50000/udp a la máquina virtual.

*Para usar una máquina pública y no la VM, lo mejor es instalar los paquetes y copiar las configuraciones de kamailio.

Máquina Virtual

Page 54: 2014-03 - RootedCon 2014 - Secure Communication System

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March54

Curiosidades

Ataques recibidos en el transcurso del proyecto

(desde Julio/2013 hasta Enero/2014)

Page 55: 2014-03 - RootedCon 2014 - Secure Communication System

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March55

CuriosidadesHistórico de ataques

Page 56: 2014-03 - RootedCon 2014 - Secure Communication System

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March

Curiosidades

56

Histórico de ataques: por países

Page 57: 2014-03 - RootedCon 2014 - Secure Communication System

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March

Curiosidades

57

Histórico de ataques: por IPs (o por “cansinos”)

Page 58: 2014-03 - RootedCon 2014 - Secure Communication System

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March58

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%

Page 59: 2014-03 - RootedCon 2014 - Secure Communication System

Rooted CON 2014 6-7-8 Marzo // 6-7-8 March59

José Luis Verdegueraka

Pepelux

@pepeluxx

Víctor Sevaaka

Linuxmaniac

@linuxmaniac