9 oct 2019

La seguridad en HTTP3 (QUIC - Quick UDP Internet Connections). Parte 5


Hoy proseguiremos con la cadena de artículos sobre el protocolo HTTP/3, tratando los nuevos vectores de ataque del protocolo.

La aparición de las nuevas tecnologías que comentábamos en nuestro anterior artículo, junto con el gran apoyo de las grandes compañías de Internet y la fácil adopción y estandarización de las mismas es el caldo de cultivo perfecto para nuevos tipos de ataques de red, que se aprovechen de la situación actual.

Parte de la responsabilidad de los equipos de seguridad de las compañías reside en tener las capacidades de monitorización y control del tráfico de red. En este aspecto, también existe una escasez de herramientas que entiendan el protocolo QUIC y que permita la inspección de este tipo de tráfico. Cómo ejemplo, os mostramos a continuación una captura realizada con el software Wireshark:



Por otro lado, al tratarse de un protocolo basado en UDP, son muchas las compañías que no tienen contemplado dentro de sus políticas el bloqueo de la navegación por UDP o que no se está monitorizando e inspeccionando este tipo de tráfico.

Es por ello, que se han planteado una serie de potenciales ataques, derivados en mayor o menor medida, del desconocimiento de estos protocolos y su uso por defecto en los navegadores modernos.

Bypass de la detección de payloads maliciosos a nivel perimetral

Numerosos actores maliciosos hacen uso de tráfico cifrado para intentar proteger sus payloads frente a la detección en Sistemas de Prevención de Intrusos y otras soluciones de seguridad perimetral. Con el objetivo de evitar estos escenarios, surgen las soluciones de inspección de tráfico cifrado, que rompen la cadena de comunicaciones cifradas para poder observar el tráfico en claro, y así analizar cualquier muestra maliciosa que se envíe por la red.

Por sus características propias, el tráfico QUIC necesitará de nuevas implementaciones que todavía no se han desarrollado ni desplegado para la inspección de este tipo de comunicaciones. Esto abre una ventana de oportunidad a los actores maliciosos para evadir soluciones de seguridad perimetral, permitiendo de nuevo ocultar la información que se transmite a través de UDP. 

Por poner un ejemplo, hemos realizado una descarga del archivo EICAR que es detectado a través de inspección de tráfico cerrada, y hemos comprobado como pasa a ser indetectable en el perímetro una vez que se cambia el protocolo de comunicaciones a QUIC.

Esta misma prueba la hemos llevado a cabo con varios antivirus a nivel local, verificando como ninguno de ellos era capaz de detectar el archivo EICAR encapsulado bajo QUIC. A continuación podéis ver el mensaje de alerta estándar mostrado por el antivirus ESET, que frena perfectamente el archivo de pruebas EICAR:


Y a continuación podéis ver un ejemplo por QUIC que pasa desapercibido para el módulo de protección web de los motores de antivirus en general:


En ambos casos son mostrados los módulos activos del antivirus, con el fin de aclarar el módulo bypasseado por el protocolo QUIC.

Ataque MITM sobre QUIC

Actualmente, existen numerosos frameworks para la realización de ataques de Man-In-The-Middle (MiTM) en redes de comunicaciones. Sin embargo, no existe ningún framework específico capaz de lanzar este tipo de ataques sobre el protocolo QUIC. Lo mismo sucede con las herramientas para el trabajo relacionado con pentesting, como puedan ser los proxies Burp o ZAP Proxy. Sería necesario un esfuerzo de la comunidad en general por apoyar QUIC, e impulsar este tipo de implementaciones, ya que a través del uso de proxies específicos con capacidad para el trabajo con el protocolo QUIC, sería posible la realización de ataques MITM, permitiendo tanto la inspección del tráfico como la modificación de los datos enviados en tiempo real. 

De hecho, y dado que se trata de un protocolo cuya definición es abierta y se desarrolla bajo licencia open source, existen múltiples implementaciones del mismo en diversos lenguajes de scripting. Esto ha permitido el uso de QUIC como método de transporte para otros protocolos como FTP. La sencillez de la implementación del protocolo permitiría que pueda ser usado por malware, dificultando en gran medida las labores del equipo forense y de los analistas de seguridad.

En el próximo artículo de la cadena os presentaremos una implementación que realizamos del protocolo, y cuyo código os compartiremos con el fin de que podáis practicar con su uso.

Saludos!

No hay comentarios:

Publicar un comentario