La vulnerabilidad, cuyo código es CVE-2016-5696, permite a los atacantes secuestrar las comunicaciones en texto plano entre dos dispositivos que utilicen el protocolo TPC sobre Internet. “Este ataque puede ser utilizado contra conexiones a backends de larga duración como sesiones de bases de datos o gestión y motorización de canales”, comenta uno de los investigadores. “Desde que solo uno de los host de la conexión tiene que ser vulnerable, también los sitios web que ofrezcan sesiones interactivas sobre un túnel HTTP persistente podrían ser objetivo del ataque”.
Otros objetivos podrían ser actualizar los servidores para reemplazar el firmware en sistemas embebidos, cámaras de seguridad y aparatos inteligentes que mantienen una conexión constante con las infraestructuras del vendedor.
Cómo explotar la vulnerabilidad
RFC 5961 fue diseñado para hacer más difícil la realización de ataques de suplantación de TCP contra conexiones de larga duración, asegurando que el número de secuencia del paquete entrante coincida con el número de secuencia esperado para el siguiente. Además, el atacante también tendría que adivinar el valor ACK correcto dentro de un rango.
Hasta ahora estaba ampliamente aceptado que no es fácil para los atacantes saber qué dos nodos arbitrarios en Internet se estaban comunicando a través de TCP, así como alterar o interrumpir la conexión sin entrometerse en medio de la conexión. Sin embargo, los investigadores han encontrado que es posible hacer una interceptación sin ejecutar código malicioso sobre ninguna de las partes en la comunicación.
La característica de mensajes ACK, que fue implementada bajo RFC 5961, tiene como valor por defecto el generar 100 mensajes ACK por segundo. Ese límite es compartido a través de todos los canales, que permiten al estado compartido ser explotado desde el lado del canal. Los atacantes solo tienen que enviar paquetes suplantados a la conexión objetivo, acertando con el límite de 100 mensajes ACK por segundo, además de contar con el número de mensajes ACK recibidos en la conexión. Si el número es menor de 100, algunos mensajes ACK tienen que ser enviados sobre la conexión como respuestas a los paquetes suplantados.
Según Josh Bressers, estratega en seguridad de Red Hat, hay dos escenarios preocupantes en torno a este fallo de seguridad, estando el primero relacionado con las conexiones a través de texto plano y la segunda con ataques DDoS. Pero quizá lo peor de todo es saber que muchos dispositivos embebidos y móviles no pueden ser actualizados con facilidad. Esto quiere decir que muchos smartphones Android cargarán con esta vulnerabilidad para siempre.
Los investigadores sugieren aumentar el límite de mensajes ACK para paliar este problema, cosa que ya se ha hecho en Linux 4.7 al subirlo hasta 1.000. Para versiones anteriores el kernel Red Hat ya está trabajando con otras comunidades para lanzar los parches necesarios.
Más información:https://www.usenix.org/system/files/conference/usenixsecurity16/sec16_paper_cao.pdf
- Visto: 1230
