Вы находитесь на странице: 1из 13

UNIDAD N° 3

GUÍA DE PRÁCTICA N°. 3.1

1. TEMA
PROTECCIÓN CONTRA UN ATAQUE EAVESDROPPING UTILIZANDO LOS
PROTOCOLOS DE SEGURIDAD TLS Y SRTP.

2. FECHA LÍMITE DE ENTREGA


La práctica debe ser enviada en un plazo máximo de 7 días a partir de la realización de la
misma en el formato que se especifica posteriormente, hasta las 11:59 pm.

3. DOCUMENTACIÓN A ENTREGAR
La documentación a entregar después de realizar la práctica de laboratorio se compone de una
Memoria escrita por grupo en formato electrónico, archivo tipo .pdf, la cual debe ser enviada
por correo electrónico al mail del señor profesor (fracosta@espe.edu.ec).

El Asunto (Subject) del e-mail debe tener el siguiente formato (ejemplo):

NRC999 Informe#6_GrupoX

Se recomienda emplear procesadores de texto afines a la investigación científica tecnológica


como LATEX. Debe ser presentado en un formato tipo reporte o memoria, en el cual se
recomienda los siguientes ítems, pudiendo cambiar de acuerdo al criterio del grupo de trabajo:

• Abstract o Resumen
• Introducción
• Objetivos
• Materiales y Métodos
• Desarrollo
• Resolución de Preguntas
• Conclusiones y Recomendaciones
• Bibliografía

4. OBJETIVOS:
• Emplear los protocolos TLS Y SRTP que permita la protección contra un ataque
eavesdropping.
• Obtener un muestreo estadístico durante el transcurso de la llamada a través del uso del
softphone PhonerLite.
• Indicar el número de paquetes transmitidos, recibidos y paquetes perdidos, mediante el
empleo del softphone PhonerLite.

5. MATERIALES
• Computadora con Sistema operativo Linux-Ubuntu
• Router
• Softphones
• Smartphone

1
6. MARCO TEÓRICO
Eavesdropping es el término que hace referencia a la captura de información ya sea cifrada o
no. Traducido al español quiere decir “escuchar secretamente”.

Referirse a un ataque eavesdropping en términos de telefonía de voz sobre IP es hablar acerca


de la interceptación de llamadas VoIP por parte de una persona que no interviene directamente
en la conversación.

La comunicación de VoIP consta de dos partes fundamentales que son la señalización y el


flujo de datos, ambos utilizan protocolos diferentes. El protocolo más usado para señalización
es SIP, mientras que en el flujo de datos, los streams de audio se transportan sobre UDP
empelando el protocolo RTP. En un ataque eavesdropping se necesita interceptar las dos
partes tanto la señalización como la transmisión de datos, entonces lo que sucede es:

1. Se capturan y decodifican los paquetes RTP, con la ayuda de un sniffer como Wireshak,
que interpreta los paquetes UDP pertenecientes al protocolo RTP.
2. Se selecciona un flujo de datos para analizarlos como un flujo de datos continuo y no
como paquetes individuales.
3. Se analizan los datos RTP y se los rescata como un fichero de audio, para poder ser
reproducidos y escuchados.

Para evitar el ataque de eavesdropping se puede aplicar el uso de protocolos seguros como
son TLS y SRTP en la central telefónica.

TLS es un protocolo criptográfico diseñado para el transporte seguro de datos a nivel de


aplicación. Está basado en el intercambio de mensajes, cada mensaje consta de un campo
llamado content_type en el cual se especifica el protocolo de nivel superior utilizado, por
ejemplo SIP. Los mensajes pueden ser comprimidos, cifrados y empaquetados con un código
de autenticación de mensajes (MAC).

Realiza la negociación de sus algoritmos de cifrado utilizando técnicas como la criptográfica


de clave pública, cifrado simétrico y funciones hash. Para la autenticación utiliza certificados
digitales en los cuales se intercambiaran las claves para el cifrado según la negociación
establecida.

El protocolo SRTP está basado en el protocolo RTP. Requiere de un mecanismo de


intercambio de claves criptográficas antes del envió de cualquier paquete de voz o video.

Se implementa entre la aplicación de RTP y la capa de transporte. En el lado del emisor


intercepta los paquetes RTP, enviando un paquete equivalente SRTP, mientras que en el lado
del receptor, este intercepta el paquete SRTP y recibe un paquete equivalente RTP. Fue
desarrollado para dotar de mayor seguridad a los paquetes multimedia en la red.

7. PROCEDIMIENTO
Como primer paso, se deberá comunicar dos centrales entre sí como se vio en la práctica de
laboratorio número 5.

1. Configuración del Router

1.1. Para la configuración del Router, este se debe conectar mediante un cable de red a
la computadora con la primera central de Asterisk, y se ingresa al panel de
configuración con la dirección IP: 198.168.1.1, donde el usuario y contraseña por
defecto es: ubnt.

1.2. Se necesita de una conexión a internet, a través de una red WLAN por medio del
internet de la universidad para que el router 1 funcione como punto de acceso para
la primera central de Asterisk con una red LAN, para ello se coloca la siguiente
configuración, variando el SSID y el Pass WPA, dependiendo del Grupo de trabajo:

Cuadro 1: Configuración del Router WIRELESS

Cuadro 2: Configuración del Router NETWORK

1.3. Donde la IP asignada para la red con la primera central de Asterisk es: 192:168:1:1.
De la misma manera se debe realizar la configuración para la segunda central de
Asterisk, colocándola como puente de la central 1, y verificando la conexión de
cada Softphone o Smartphone, de cada central, que se van a utilizar para la práctica.
2. Ataque Eavesdropping

2.1. Con la ayuda de la herramienta Wireshark se capturaran las tramas durante el


transcurso de una llamada telefónica.

Figura 1: Recepción de tramas de una llamada


3

2.2. Al seleccionar la opción Telephony--> VoIP Calls, se desplegará una ventana en la


cual se puede escoger la llamada que se quiere escuchar, y luego se debe presionar
el botón Player para escucharla.
Figura 2: Lista de llamadas grabadas en Wireshark

2.3. Wireshark cuenta con su propio reproductor llamado RTP Player, aquí se podrá
escuchar la conversación telefónica.

Figura 3: Reproductor RTP Player de Wireshark

3. Implementación TLS

Para implementar SIP sobre TLS se utilizara la plataforma Asterisk 1.8, ya que Asterisk
brinda soporte TLS desde su versión 1.6 además de soporte SRTP. No se recomienda el
uso de versiones más antiguas porque se pueden presentar algunas dificultades en el
desarrollo.

3.1. Como primer paso se crearan los certificados digitales. Existen dos maneras de
crear un certificado, pueden ser auto-firmados o pueden ser firmados por una
autoridad reconocida. Para crear un certificado auto-firmado se utiliza la
herramienta OpenSSL que es un software de código abierto desarrollado por Eric
Young y Tim Hudson.

3.1.1. Crear un directorio para almacenar los archivos que serán generados, y le
damos permisos de lectura, escritura y ejecución, como se muestra en el
siguiente ejemplo:

mauricio@MauryUbuntu:˜$ sudo su
root@MauryUbuntu:/home/mauricio# cd /etc
root@MauryUbuntu:/etc# cd asterisk
root@MauryUbuntu:/etc/asterisk# mkdir certificados
root@MauryUbuntu:/etc/asterisk# chmod 777 certificados

3.1.2. Con el comando genrsa se genera una clave para el servidor Asterisk con
una longitud de 1024 bits, utilizando el algoritmo de cifrado RSA.
root@MauryUbuntu:/etc/asterisk# cd certificados
root@MauryUbuntu:/etc/asterisk/certificados# openssl genrsa 1024 >
host.key

3.1.3. Crear una solicitud de certificado cuyo formato es el X509 para certificados
digitales, con una duración de 365 días, y utilizando una función hash de
cifrado SHA-1. Para la creación del certificado se deben llenar algunos
datos como: el país, la provincia, ciudad, nombre de la empresa, nombre de
la sección de trabajo, e-mail, pero la más importante es el nombre común
(Common Name), en el cual se debe especificar la dirección IP del servidor
o su dominio.

root@MauryUbuntu:/etc/asterisk/certificados# openssl req -new -x509


-nodes -sha1 -days 365 -key host.key > host.cert

3.1.4. Finalmente en un solo archivo se deben juntar la clave y el certificado


generados con extensión .pem ya que es un requisito especificado en el
archivo de configuración sip.conf para poder ser reconocido.

root@MauryUbuntu:/etc/asterisk/certificados# cat host.cert host.key >


asterisk.pem

3.2. Configurar el archivo sip.conf de Asterisk de la siguiente manera:

tlsenable=yes; para habilitar el soporte TLS


tlsbindaddr=0.0.0.0:5061;La dirección IP del servidor para unirse a todas las
interfaces, se usa la dirección 0.0.0.0 y el puerto TLS por defecto es 5061
tlscertfile=/etc/asterisk/keys/asterisk.pem; indica el directorio en donde se
encuentra el certificado del servidor.
tlscafile=/etc/asterisk/keys/ca.crt;indica el directorio del certificado establecido
por la autoridad de certificación
tlscipher=ALL; ALL autoriza el cifrado más permisivo.

3.3. Se añaden a las configuraciones de los usuarios SIP, el tipo de transporte y puerto a
usarse:
[usuario]
transport=t
ls
port=5061

3.4. Se utilizara el Softphone PhonerLite ya que posee soporte TLS y SRTP.

Figura 4: Software PhonerLite para Ubuntu


5

4. Instalación de PhonerLite

4.1. Para la instalación de PhonerLite en Ubuntu, primero, descargamos el archivo


PhonerLite.zip de la página oficial de PhonerLite:
http://phonerlite.de/download_en.htm

4.2. Una vez descargado el archivo, abrimos el gestor de paquetes de ubuntu, y


verificamos si tenemos instalado el programa PlayOnLinux, si es que no, le damos
en instalar y luego nos aparecerá lo siguiente:

Figura 5: Instalación de PlayOnLinux

Figura 6: Ícono de PlayOnLinux


4.3. Ingresamos a la aplicación, y colocamos en: Instalar un programa no instalado,
como se observa en la siguiente figura:

Figura 7: Instalación de PhonerLite

4.4. Seguimos todos los pasos que nos indique el programa, y luego nos aparecerá una
opción para subir el archivo .exe de PhonerLite, para ello descomprimimos el
archivo PhonerLite.zip previamente descargado, y seleccionamos el archivo .exe
para la instalación.

4.5. Una vez realizada la instalación, vamos al archivo que está descomprimido, como
se observa en la figura 8, y le damos clic derecho abrir con Wine, y nos aparecerá
el programa PhonreLite como se observa en la figura 9.
6

Figura 8: Abrir programa PhonerLite


Figura 9: Ventana principal de PhonerLite

5. Configuración de PhonerLite

5.1. Se configura una cuenta de usuario. Indicando la dirección del servidor proxy o de
registro y el dominio. Además de la contraseña, nombre de autenticación y nombre
de usuario.

Figura 10: Configuración de un usuario en el Softphone PhonerLite

7
Figura 11: Configuración de un usuario en el Softphone PhonerLite
5.2. Se especifica el protocolo de transporte y el puerto a usarse, en este caso TLS y
5061 respectivamente.

Figura 12: Selección de protocolo de transporte y establecimiento del puerto local

5.3. En la pestaña Codecs se escoge el o los tipos de codecs a usarse, además de tener 3
opciones de protocolos para el cifrado de los paquetes d audio y video como son
SRPT, ZRTP y SAVP.

8
Figura 13: Selección de códec y protocolo para el cifrado de paquetes multimedia

5.4. En la siguiente pestaña denominada Certificado se deben cargar los certificados


creados, (si está utilizando máquina virtual es necesario copiar los archivos creados
en donde se encuentre instalado su PhonerLite, para de este modo poder
direccionarlos).

Figura 14: Certificados TLS en PhonerLite

5.5. Además PhonerLite tiene la capacidad de mostrar estadísticas durante el transcurso


de la llamada, indicando el número de paquetes transmitidos y recibidos, el número
de paquetes perdidos, buffer, entre otros.

9
Figura 15: Estadísticas de la llamada en transcurso con PhonerLite

6. Implementación SRTP

6.1. Se debe compilar la librería libSRTP para que Asterisk tenga soporte SRTP

root@MauryUbuntu:/home/mauricio# cd /usr/src
root@MauryUbuntu:/usr/src# wget http://srtp.sourceforge.net/srtp-1.4.2.tgz
root@MauryUbuntu:/usr/src# tar zxvf srtp-1.4.2.tgz
root@MauryUbuntu:/usr/src# cd srtp
root@MauryUbuntu:/usr/src/srtp# ./configure
root@MauryUbuntu:/usr/src/srtp# make
root@MauryUbuntu:/usr/src/srtp# make runtest
root@MauryUbuntu:/usr/src/srtp# make install

6.2. Es necesario activar la opción res_srtp en la configuración de Asterisk. Se logra


entrando a la carpeta de compilación, y aplicando el comando menuselec (con la
pantalla maximizada). En la opción Resource Modules, la opción res_srtp debe ser
activada, aparecerá el símbolo “*” para indicarlo.

root@MauryUbuntu:/usr/src/srtp# cd root@MauryUbuntu:/home/mauricio#
cd
/usr/local/
src/asterisk-certified-13.8-cert2
root@MauryUbuntu:/usr/src/srtp# make menuselect

10
11

Figura 16: Activación de la opción res_srtp

6.3. Como siguiente paso se modifican los archivos sip.conf y extensions.conf del
directorio de Asterisk. En el archive Sip.conf se añaden las siguientes líneas a las
características de los usuarios configuradas:

[812]
encryption=yes
srtpcapable=yes

6.4. En el archivo extensions.conf, en el contexto teléfonos, las extensiones de cada


usuario, deben tener habilitadas las opciones para que cada peer tenga soporte
SRTP.

[telefonos]
exten =>_4XXX,1,Set(_SIP_SRTP_SDES=optional) exten
=> _4XXX,2, Dial(IAX2/centralc/${EXTEN},90,tr) exten
=> _4XXX,3,Hangup
exten => 812,1,Set(_SIP_SRTP_SDES=1)
exten => 812,2,Set(_SIPSRTP=1)
exten => 812,3,Set(_SIPSRTP_CRYPTO=enable)
exten => 812,n,Dial(SIP/812,30,Ttm)
exten => 812,n,Hangup
exten => 812,102,Voicemail(812)
exten => 812,103,Hangup
exten => 5712,1,Set(_SIP_SRTP_SDES=1)
exten => 5712,2,Set(_SIPSRTP=1)
exten => 5712,3,Set(_SIPSRTP_CRYPTO=enable)
exten => 5712,n,Dial(SIP/812,30,Ttm)
11
exten => 5712,n,Hangup
exten => 5712,102,Voicemail(812)
exten => 5712,103,Hangup
6.5. Para poder realizar una llamada con protección de audio del protocolo SRTP, se
requiere tener un softphone que soporte este protocolo, se usará nuevamente
PhonerLite. Se sigue la misma configuración que se aplicó para TLS con la
diferencia que se activan las opciones para soporte de SRTP.

6.6. Se debe realizar varias llamadas de prueba de una central a la otra, para comprobar
la protección del ataque Eavesdropping, y posteriormente responder el banco de
preguntas.

8. PREGUNTAS
• Capturar las tramas con la ayuda de Wireshark durante una llamada establecida con
protección TLS, SRTP y cuando estén implementados ambos protocolos a la vez.
• Analizar los mensajes TLS de una trama y comprobar el cifrado de los mismos.
• Indicar el funcionamiento del protocolo basado en las tramas capturadas.
• Comprobar la protección del ataque eavesdropping con el uso de los protocolos TLS y SRTP,
utilizando el reproductor de RTP Player de Wireshark.

9. BIBLIOGRAFÍA
• Gómez López, J., & Gil Montoya, F. (2008). VoIP y Asterisk, Redescubrimiento de la
telefonía. Almería: Alfaomega.
• Carballar, J. A. VoIP, La telefonía de internet. España: Thomson.
13

Вам также может понравиться