Este es un ataque de Oracle Padding, una forma de descifrar información sin conocer la clave explotando las propiedades del relleno: por ejemplo, un cifrado de bloque de 256 bits requiere bloques de exactamente 256 bits de tamaño, por lo que si tiene menos información para enviar, necesitará para “rellenar” el bloque hasta llegar a la longitud deseada. La parte “oráculo” significa que puede generar bloques encriptados y pedirle al servidor que verifique si son válidos, por lo que la respuesta revela un solo byte de información cuando lo hace correctamente. Al variar ligeramente el contenido de los mensajes cifrados, puede revelar arbitrariamente muchos bytes, descifrando efectivamente (una parte de) el flujo de datos, sin siquiera saber o descifrar la clave de cifrado (preguntar bien en lugar de usar la fuerza bruta).
Las nuevas suites de cifrado no son vulnerables a este ataque debido a varias contramedidas que se han implementado, pero en este caso no importa, porque IE6 simplemente no morirá, por lo que los algoritmos antiguos y vulnerables deben ser compatibles como respaldo. Esto se llama un ataque de degradación, y fue muy útil para descifrar los archivos compartidos de Windows: solo intercepte el protocolo de enlace, que negocia qué versión de protocolo usar, y dígale al servidor que el cliente es realmente viejo y no admite nada nuevo (o, incluso mejor, no admite ningún cifrado en absoluto; de hecho, degrada la conexión completa al texto sin formato, no se requiere descifrado). En este caso, es aún más fácil que eso, ya que solo tiene que interrumpir temporalmente la conexión: el servidor y el cliente tomarán un intento de conexión fallido como una señal de que necesitan degradar su método de cifrado.
Todo lo anterior requiere un ataque Man-in-the-Middle, que es muy fácil de llevar a cabo: simplemente encienda su confiable veneno ARP; no importa si está en WiFi, red LAN basada en concentrador o LAN conmutada, siempre que esté en la misma red local que la víctima, está listo para comenzar. En ciertas circunstancias, incluso esta limitación se puede eliminar (por lo tanto, el gran problema de DNSSEC: se encontró un ataque que le permitió secuestrar cualquier conexión que desee, en cualquier lugar de Internet).
- Ciberataques específicos del sitio web: ¿Cómo se preparan las redes sociales populares contra los piratas informáticos?
- ¿Puede un programa de computadora o código apagar Internet?
- ¿El hackeo ético es una buena carrera?
- ¿Contratarías a un hacker que piratee tu sitio web?
- ¿Qué hago si mi correo electrónico ha sido pirateado?
La mitigación, como se describe en el artículo al que se vinculó, es a) decirle al servidor que ignore IE6 y usar solo algoritmos de cifrado seguros, ob) decirle a su navegador que no retroceda solo porque falló un intento de conexión (o, aún mejor, nunca rebajar a protocolos inseguros, incluso si el “servidor” lo solicita).