El día de la bestia

Sucedía el pasado viernes, 23 de septiembre de 2011, en Buenos Aires coincidiendo con la Ekoparty, una conferencia internacional de seguridad. Fue allí donde Juliano Rizzo y Thai Duong nos ofrecían una demostración de lo que se ha dado en llamar “BEAST” (Browser Exploit Against SSL/TLS), una de las vulnerabilidades más comentadas en los últimos años, cuya relevancia queda puesta de manifiesto si pensamos un momento en el papel protagonista que juega el navegador como punto de acceso a un número creciente y variado de servicios que, cada vez más, tienen que ver con las transacciones electrónicas seguras, sobre SSL/TLS y apoyadas en una infraestructura de seguridad cuyos elementos principales ya hemos visto que no resultan muy (con)fiables.

BEAST at Ekoparty

No se trata de que nos llevamos las manos a la cabeza. No se acaba el mundo: el viernes, que yo sepa, lo único que pasaba es que terminaba el verano y comenzaba un otoño (exactamente a las 11h05) que durará 89 días y 20 horas. No sabemos cuánto durará este “día de la bestia”; pero en cualquier caso constituye más que nada una llamada de atención y un “aviso a navegantes”, nunca mejora dicho; aunque los colegas del gremio apuntarán pertinentemente que no son solo los navegadores las aplicaciones que usan TLS en la Red, además de que las versiones 1.1 y 1.2 de este protocolo, además de implementaciones mejoradas de su antecesor, como OpenSSL, no se muestran vulnerables a este tipo de ataques.

La explicación del funcionamiento detallado del ataque se puede leer aquí y exige algo de tiempo y formación básica en seguridad y cifrado. En pocas palabras, lo que Duong y Rizzo mostraron en Ekoparty era la posibilidad de reventar la seguridad del protocolo TLS/SSL si eres capaz de tener acceso a alguna de las ‘cookies‘ que guarda nuestro navegador para identificarnos frente a los servidores que atienden nuestras peticiones en diferentes sitios web; y si, además, puedes modificar la información que precede a esa ‘cookie‘ en cada uno de los registros que se van a cifrar luego para enviarse sobre TLS.

La gracia del ataque que plantean Rizzo y Duong es que no solo introduce alguna mejora a la hora de explotar la deficiencia básica que se usa en el ‘exploit‘ original -basada en la propia naturaleza del cifrado de bloque encadenado (CBC), que está detrás de los esquemas más populares como AES y DES y los protocolos SSLv3 y TLS 1.0, documentada ya en 2004 e incluso anteriormente, en 1995, cuando se discutía la implementación del IPSec-, sino que consigue sacarle partido utilizando un vehículo cada vez más popular en un escenario plagado de ‘mashups‘, como son los WebSockets que les permite montar ataques de tipo ‘session riding‘ o CSRF.

Dicho rápido y mal, de lo que se trata es de jugar a “cazar” un secreto del usuario (el contenido de una cookie) byte a byte, metiendo un trozo de texto plano delante de los bloques a cifrar para deshacer luego la operación XOR que realiza el CBC y averiguando el vector de inicialización (IV), calculado habitualmente como el residuo de la operación, gracias a la posibilidad de realizar peticiones cruzadas (cross-site request) mediante CSRF.

El lector interesado puede repasar los descubrimientos de Duong y Rizzo sobre los que se basa BEAST, resumidos en su presentación del BlackHat Europe de 2010; además de estar atento a “la bestia”.

Twitter Digg Delicious Stumbleupon Technorati Facebook Email

No hay comentarios aún... ¡Se el primero en dejar una respuesta!

Dejar un Comentario