Poodle: Padding Oracle On Downgraded Legacy Encryption

Lo prometido es deuda. Nunca publicamos dos posts el mismo día, pero tampoco se publican dos 0-day el mismo día.

En este caso, se trata de una vulnerabilidad crítica en SSLv3 (Secure Sockets Layer) que ha sido descubierta por el equipo de seguridad de Google y bautizada con el nombre de Poodle: Padding Oracle On Downgraded Legacy Encryption. No nos los pregunten. No sabemos si les gustó «Poodle» y buscaron una frase que le pegase, o salió así juntando las siglas. Este protocolo, que tiene más de 15 años y está ya obsoleto, solía utilizarse para securizar las comunicaciones SSL y fue reemplazado por TLS. Sin embargo, y aquí viene la gracia, por cuestiones de retrocompatibilidad la opción de hacer uso del SSL sigue estando disponible.

¿En qué consiste el ataque? Un hacker que consigue interceptar el tráfico enviado en SSL 3.0 entre un cliente y un servidor (por ejemplo, a través de un ataque de tipo MitM por ejemplo o gracias a un punto de acceso Wi-Fi malicioso), podría lograr descifrar y recuperar información crítica como las cookies de sesión.

¿No es viejo eso de SSLv3? Pues sí. No tanto como ustedes o yo, pero tiene ya sus añitos. Sin embargo, aunque SSL versión 3.0 fue reemplazado por TLS (Transport Layer Security) 1.0, luego 1.1 y 1.2, la mayoría de las implementaciones conservan la compatibilidad con SSL con el fin de seguir funcionando sin problemas con dispositivos o aplicaciones que no hayan sido actualizadas. Es decir, cuando un cliente y un servidor no consiguen negociar el uso de un protocolo más reciente, la conexión hace un downgrade y se establece sobre SSLv3.

Y técnicamente, ¿cómo es? El ataque denominado Poodle por los investigadores de Google se vale de un fallo en la manera que tiene SSLv3 de gestionar el relleno (o ‘padding’) de los cifrados por bloques en su modo CBC. Pueden leer los detalles técnicos en el PDF publicado por OpenSSL y en Genbeta han elaborado un post detallado al respecto.

¿Cómo nos protegemos? Según el equipo de seguridad de Google, el ataque descrito anteriormente requiere una conexión SSLv3 para que se pueda perpetrar, por lo que la desactivación del protocolo SSLv3 en el cliente o en el servidor (o ambos) debería ser suficiente para evitarlo, aunque puede presentar problemas de compatibilidad (cuando todavía hay IE 6.0 por ahí, qué les vamos a contar). Una solución intermedia y no tan drástica que recomiendan los mismos investigadores es hacer uso de la opción TLS_FALLBACK_SCSV presente en los estándares del IETF y define «Signaling Cipher Suite Value (SCSV)» que previene los ataques de downgrade sobre TLS.

Pueden obtener más información del post del blog de Google y de cualquiera de los enlaces proporcionados.

Nada más. Pasen un buen, largo y provechoso fin de semana.

(Fotografía CC por joner en Flickr)

Comments

  1. Gracias por la información Amine. Como bien dices mucha gente continúa usando navegadores y sistemas desactualizados, así que lo considero de relevancia.

    Saludos.