SEGURIDAD EN VOZ SOBRE IP

 

 

Introducción

 

Las compañías buscan implementar VoIP como una alternativa más rentable para migrar de sus sistemas tradicionales a las telecomunicaciones del futuro. Por ello, la seguridad end-to-end no puede ser añadida posteriormente al plan de comunicaciones, sino que debe ser concebida como su complemento.

Muchas empresas se mostraban reticentes a implementar VoIP en sus redes, precisamente por el tema de la seguridad. Hasta ahora, con los productos disponibles en el mercado, estos sistemas generaban posibles agujeros en la política de seguridad corporativa, exponiendo a la empresa a varios tipos de ataques de red. Al combinar tráfico de voz y datos en una única red convergente, se requiere que la seguridad sea global, manejable y de rendimiento óptimo, incluyendo funciones de autorización, autenticación, confidencialidad e integridad.

Voz sobre IP introduce algunos riesgos a los Carriers y a sus clientes, riesgos que aún no están completamente estimados.

Responder a estas  amenazas  requiere de algunas especificaciones técnicas y equipos firewall que puedan manejar un retardo especial y requerimientos de desempeño de la VoIP

Esto puede parecer  penosamente obvio, pero es importante recordar que que la red de VoIP es una red IP. Algún dispositivo VoIP es un dispositivo IP, y por consiguiente vulnerable al mismo tipo de ataques como algunos otros dispositivos IP.  En adición, una red VoIP casi siempre tendrá ataques de dispositivos no-VoIP y son conectados a otroas redes de misión crítica.

 

 

 

 

Ventajas

Las ventajas que permitirán a las empresas implementar telecomunicaciones IP seguras son las siguientes:

·         Completo Soporte de Seguridad - Soporte nativo y completo para todos los protocolos VoIP, incluyendo SIP, H.323 y RTP/RTCP y compatibilidad con la traducción de las direcciones de la red para garantizar la seguridad en las comunicaciones.

·         Fiabilidad Mejorada - Jerarquía de prioridades integrada, alta disponibilidad y gestión de tráfico latente en cola de VoIP sobre VPNs, empleando FloodGate-1 de Check Point.

·         Facilidad de Gestión - Gestión integrada de las políticas VoIP a escala empresarial con la posibilidad de registrarse y realizar auditorías de seguridad a través de SMARTCenter de Check Point (nueva consola de gestión).

·         Rendimiento Multi-gigabit - Con Stateful Inspection se obtiene una mayor velocidad de procesamiento comparada con otras soluciones VoIP basadas en proxy.

 

 

 

 

Problemas con los Firewalls

 

Diseño:

 

 

Los Firewalls

Los gateways y teléfonos pueden comunicarse unos a otros libremente y pueden hablar a su gatekeeper local libremente.  Con la finalidad de comunicarse con  un dispositivo remoto, ellos pueden tener la aprobación del gatekeeper, el cual controlará el dispositivo firewall de VoIP para permitir el tráfico a través de él.

 

Como trabaja el Firewall

Los gatekeepers gestionan a través de sus firewall el control de la conexión de los dispositivos firewall de VoIP, los cuales abrirán los pinholes que permitirán el paso del tráfico relevante a través del firewall de VoIP.  Abrir o cerrar un pinhole es literalmente tan simple como hacer una simple función de llamada dentro de una librería API, especificando los detalles de la conexión o sesión a ser transmitida.

Sobre la inicialización, el firewall de VoIP es configurado con cualquier pinhole  que sea requerido para iniciar la llamada, así como también cualquier supervisor IP estático por el dominio (por ejemplo permitir las aplicaciones de facturación, o e-mail y así sucesivamente), ningún otros tráfico puede pasar.

Como cada llamada es establecida, pinholes adecuados son configurados, en tiempo real, para permitir precisamente el tráfico requerido para transportar la llamada al gateway remoto.  De nuevo ningún otro tráfico es permitido.  En un instante dado, la data que solo puede pasar a través del firewall de VoIP es el tráfico especialmente designado como requerido para transportar la llamada establecida y la data de información de la llamada.  Cuando la llamada es desconectada, una función simple de llamada es usada para cerrar todos los pinoles abiertos que fueron requeridos para la llamada.

 

En esencia, el firewall de VoIP chequea cada paquete  que entre o salga de cada dominio.  Este verifica que cada paquete tenga una razón legítima para pasar.  Las únicas razones legítimas son:

 

El proceso de apertura y cierre de los pinholes es completado a través del protocolo específico del firewall de VoIP.  El protocolo es  parecido al RPC, basado en UDP y usa autenticación.  La librería API describe la implementación de este protocolo y provee una interfaz funcional simple a las capacidades del firewall de VoIP, permitiendo la integración con el software del gatekeeper .

El firewall VoIP usa  hardware adaptado para reducir el retardo por paquete a mucho menos de un milisegundo.  Sin embargo la infraestructura de VoIP es segura sin ningún efecto adverso en la calidad de la voz.

 

 

La transmisión de voz en VoIP

 

La transmisión se realiza sobre paquetes UDP, pues aunque UDP no ofrece integridad en los datos, el aprovechamiento del ancho de banda es mayor que con TCP.

 

También se usa RTP (Real Time Protocol), el cual maneja los aspectos relativos a la temporización, marcando los paquetes UDP con la información necesaria para la correcta entrega de los mismos en recepción.  Y para controlar la transmisión está el protocolo RTCP (Real Time Control Protocol), que se utiliza principalmente para detectar situaciones de congestión de la red y tomar, en su caso, acciones correctoras.

El protocolo de datagramas de usuario (UDP) puede ser la alternativa al TCP en algunos casos en los que no sea necesario el gran nivel de complejidad proporcionado por el TCP. Puesto que UDP no admite numeración de los datagramas, éste protocolo se utiliza principalmente cuando el orden en que se reciben los mismos no es un factor fundamental, o también cuando se quiere enviar información de poco tamaño que cabe en un único datagrama.

Cuando se utiliza UDP la garantía de que un paquete llegue a su destino es mucho menor que con TCP debido a que no se utilizan las señales de confirmación. Por todas estas características la cabecera del UDP es bastante menor en tamaño que la de TCP. Esta simplificación resulta en una mayor eficiencia en determinadas ocasiones.

Un ejemplo típico de una situación en la que se utiliza el UDP es cuando se pretende conectar con un ordenador de la red, utilizando para ello el nombre del sistema. Este nombre tendrá que ser convertido a la dirección IP que le corresponde y, por tanto, tendrá que ser enviado a algún servidor que posea la base de datos necesaria para efectuar la conversión. En este caso es mucho más conveniente el uso de UDP.

 

 

 

 

Seguridad en VoIP

Un aspecto que se presenta a raíz de la conexión de un sistema de telefonía IP a un vínculo WAN, ya  sea vía vínculos conmutados fijos o por VPN, es naturalmente la Seguridad. Donde quiera que una interfaz sea accesible desde afuera, la red se hace susceptible a un ataque potencial. Esto vale para las interfaces preexistentes, incluso sin VoIP. Para conducir la telefonía IP sobre el firewall, se necesita uno en el cual se pueda liberar el puerto UDP con reglas a definir, dado que, vía este puerto, se cursa la comunicación en el entorno de VoIP.

Un punto de discusión que surge constantemente es la interfaz central del Gateway. Aquí se franquea también una interfaz que es accesible desde afuera. Pero esto no es el caso, al menos cuando se apaga la función de la aplicación Sharing vía Gateway. El Gateway ya no tiene entonces sino la función de intercambiar trafico de voz entre Intranet y la red de telefonía pública ISDN.

 

 

Firewall de Alto rendimiento H.323 para soluciones de VoIP

 

Problemas del H.323 en soluciones de Voz sobre IP

 

·         Localización dinámica del puerto

H.323 usa TCP y UDP durante el establecimiento de llamadas  y durante el transporte de la  voz.  TCP y UDP son servicios IP y usan así llamado “número de puertos” en sus paquetes para identificar conexiones o circuitos individuales.  Estos números de puertos son un elemento clave para estos paquetes, usados por los firewalls para clasificar el tráfico, por lo tanto la supervisión puede ser aplicada.

Desafortunadamente  H.323 usa dinámicamente la asignación del número de puerto.  Esto es, la mayor cantidad de tráfico de datos generados para una llamada H.323 usa puertos TCP y UDP que son asignados durante el establecimiento de la llamada.  Un firewall tradicional, con definición de supervisión estática, no puede predecir cuál puerto será usado para cada llamada.  El resultado es que el firewall estándar puede permitir toda posibilidad de número de puertos para pasar llamadas.

Abriendo todos los puertos posibles que podrían usarse por H.323, los cuales hacen supervisión estática, se permite que la red esté abierta a una variedad de ataques de jackers.

 

Voz sobre IP requiere un firewall que pueda dinámicamente modificar sus puertos de supervisión como llamadas que son establecidas y desconectadas por el  H.323 del punto destino.  De hecho debería ser ideal si el H.323 del punto destino pudiera automáticamente controlar un firewall dinámico.  Visualmente esto puede ser visto como un sólido “brick wall” firewall modelo, con unos estrechos agujeros  o “pinholes” a través de éste, creados por el Gateway H.323 de acuerdo a la necesidad de la llamada, y cerrado cuando la llamada finaliza.

 

·         Comunicación en tiempo real

El otro gran problema con la función del firewall H.323 es que cuando transporta la voz es muy sensible al retardo.  El enfoque tradicional de la  seguridad en la red a la asignación dinámica de puertos es una asignación proxy.  Este es un componente software de los firewall que actualmente forma parte del protocolo.  En el contexto H.323, un proxy debería tomar parte en la conversación H.323, quizá establecer la llamada hasta el firewall y crear una segunda llamada para el destino final y finalmente conectar las dos llamadas. 

Esto simplemente no trabaja para H.323, por las siguientes razones:

v      El software es complejo, es sobre el firewall y por consiguiente es vulnerable a los ataques.

v      La técnica de conexión del software es inadecuada para los protocolos en tiempo real, introduciendo milisegundos de retardo por cada llamada, de las cuales pueden haber muchas.

v      El firewall es ahora un cuello de botella, duplicando el trabajo de establecimiento/desconexión, tan bien es como mover todo el tráfico de voz para todos los Gateways intentando hablar a través del firewall.

v      Introduce el retardo que degrada la calidad de la voz.

 

 

Resolviendo el problema del H.323 y las soluciones de VoIP

 

§         HFCI – Firewall controlado dinámicamente

El concepto de un simple ( y por lo tanto probablemente seguro)  firewall, con un simple mecanismo “pinholing” es exactamente soportado por  la Interface de Control Firewall H.323 (HFCI).  Este es un API estándar propuesto, Interface de Programación de Aplicación (API), el cual ha sido presentado a la organización: IETF (Internet Engineering Task Force) y a la TIPHON (Telecommunications andf Internet Protocolo Harmonization Over Networks). El HFCI provee un conjunto simple de llamadas que el software del Gateway H.323 puede usar para asegurar la comunicación con algún firewall soportado por dispositivos que abren y cierran los “pinholes” necesarios para permitir que el tráfico H.323 fluya para cada llamada autorizada.

El mismo dispositivo firewall da por hecho que solo entiende los paquetes filtrados y que no conoce otra cosa del H.323 ni de otros protocolos relacionados.

 

§         Firewall dinámico con tecnología de filtraje de alta velocidad

La simplicidad del HFCI permite a estos dispositivos ser simples, usando filtraje de paquetes sin estado, y de este modo entregar esta clase de muy alto rendimiento a un costo razonable.  Esta implementación del HFCI permite a los pinholes ser entrenados y subidos a un porcentaje superior a las 100 llamadas por segundo. 

 

 

 

 

Respondiendo a las amenazas

 

Técnicas específicas

Es posible utilizar dispositivos que puedan detectar estos tipos comunes de ataques o inclusive prevenirlos.  Por ejemplo, es prácticamente muy sencillo, de identificar paquetes malformados los cuales son utilizados en mucho de los dispositivos atacados y simplemente lo descarta en el grupo de bit  antes de que ellos alcancen el dispositivo que será atacado.

 

Es también posible identificar aplicaciones vulnerables y prohibirle el acceso a excepto de aquellos host confiables.  Adicionalmente, se puede “espiar” la red, viendo el tráfico en busca de signos de ataques específicos y dinámicamente bloquear el host  desde los cuales vienen los ataques.

 

 

Plan de acción integral

Mientras  los  recursos son necesarios para construir una arquitectura de red segura, ellos no son suficientes.  La dificultad es que estos recursos solo previenen los ataques conocidos.  Los nuevos ataques están siendo desarrollados por jackers y expertos en seguridad.   Con la finalidad de prevenir estos ataques o minimizar la vulnerabilidad de la red, es necesario establecer algunos diseños generales de seguridad.

Estos diseños pueden ser  resumidos como “No permitir tráfico en la red distinto al cual se conozca legítimamente”.  Implementar cada diseño general podría incluir los siguientes pasos:

·         Determinar cuáles aplicaciones del host necesitan comunicarse con cuales otras aplicaciones.  Proyectar e implementar un diseño que permita al tráfico de la red  surgir para soportar estas comunicaciones, pero no otro tráfico de red.

·         Algunas veces el acceso general puede ser dado a una aplicación en un host (Por ejemplo un Servidor Web).  Cuando esto es necesario, asegura que el acceso general sea dado solamente a la aplicación que pueda ser accesada (Por ejemplo, el Servidor Web pero no el agente de transferencia de  correo).  Además, tomar medidas para asegurar la misma aplicación y también el monitoreo de la aplicación por compromiso. 

·         Dondequiera posiblemente, se examinan los paquetes para “reconocer las diferencias generales”, que son, verificar que todos los elementos estándares de la cabecera del paquete tienen valores razonables (especialmente las direcciones fuente y destino de la red), verificar que las longitudes de los paquetes están dentro de los rangos razonables.

·         Requiere aplicaciones que puedan usar  fuertes autenticaciones y/o encriptaciones.  Entonces prohibe el tráfico no-autenticado y no encriptado de dondequiera.

 

Si todas estas medidas pueden ser llevadas a cabo a un grado razonable, entonces algún nuevo ataque, con la finalidad de tener éxito dentro de la red, puede parecer tráfico legítimo a un servidor generalmente accesible de algún tipo.  Unicamente otro tráfico permitido en la red es tráfico específico desde un host confiable a otro. Y es imposible para un ataque externo hacerse pasar por un host confiable si el paso 3 es llevado a cabo cuidadosamente.

 

 

Conclusiones

El firewall dinámico en VoIP es  perfectamente  conveniente para proveer seguridad en un ambiente de telefonía IP.

La tecnología provee un alto rendimiento, bajo retardo en el filtraje de los paquetes, junto con un alto rendimiento en API para abrir y cerrar los pinoles a través de los cuales pasa el tráfico de voz sobre IP autorizado.

El firewall de VoIP incluye un desarrollador de herramientas, los cuales contienen un conjunto de interfaces, librerias y software que hacen la integración  de estos aspectos de seguridad con el gatekeeper de VoIP fácil y  de forma perfectamente integrado.

La especificación API es abierta y ha sido propuesta a la IETF (Internet Engineering Task Force – el cual es el organismo que define los estándares relacionados con TCP/IP).