Vulnerabilidad POODLE SSLv3
Esta semana toca
escribir sobre la vulnerabilidad de SSLv3 llamada POODLE
(Padding Oracle On Downloaded Legacy
Encryption). Existe muchísima información en Internet de
cómo se puede llegar a descifrar una sesión SSL utilizando la
vulnerabilidad del protocolo que aprovecha la manera que el cifrado
por bloques CBC es implementado dentro de SSLv3.
El protocolo de cifrado
SSLv3 fue diseñado hace 18 años para proporcionar comunicaciones
seguras en Internet. Aunque la mayoría de aplicaciones soportan el
protocolo TLS, siendo este mucho más robusto, aún muchos servicios
y navegadores soportan SSLv3.
¿Qué
dispositivos son vulnerables?
Todas las aplicaciones,
navegadores y servidores que soporten SSLv3.
¿Cuál
es exactamente la vulnerabilidad?
La vulnerabilidad
está basada principalmente en dos fallos de SSLv3:
- SSLv3 genera bytes de relleno de manera aleatoria.
- El Message Authentication Code (MAC) calculado para comprobar la integridad de cada mensaje después del cifrado no incluye estos bytes de relleno.
Por lo tanto, estos
bytes de relleno pueden ser modificados mediante un ataque Man In The
Middle sin ser detectado por el cliente ni el servidor.
¿Es
una vulnerabilidad importante?
Aunque se necesita
realizar un MITM para explotar la vulnerabilidad, sí que se
considera importante por la cantidad de aplicaciones y servicios que
están expuestos, ya que la mayoría de navegadores (Chrome, Firefox,
IE) soportan SSLv3, además de que la mayoría de sitios web HTTPS
también soportan SSLv3.
¿Debería
estar preocupado?
Teniendo en cuenta que
para explotar la vulnerabilidad el atacante debe encontrarse en la
misma red que la víctima, la ejecución satisfactoria del ataque
tiene unas necesidades muy específicas que sitúan la vulnerabilidad
por detrás de otras, como por ejemplo Heartbleed.
¿Cómo
puedo prevenir el ataque?
Hay dos maneras para
prevenir el ataque. Es suficiente con deshabilitar el soporte de
SSLv3, o los modos de CBC con SSLv3, en los servidores web y en los
navegadores y aplicaciones de clientes, sin embargo esto puede
presentar problemas de compatibilidad. La otra alternativa es
soportar TLS_FALLBACK_SCSV. Este último mecanismo resuelve el
problema de los re-intentos de conexión fallidos que puede provocar
un atacante para forzar a los navegadores a utilizar SSLv3. Y por
tanto también previene el downgrade de TLS 1.2 a TLS 1.1, además de
que puede ayudarnos a prevenir futuros ataques.
Esta última
vulnerabilidad, además de hacernos trabajar a todos los ingenieros
de seguridad para mitigarla lo antes posible, parece ser que puede
ser la punta del iceberg tras Heartbleed
para que fabricantes de software dejen de soportar el protocolo SSLv3
y trabajen exclusivamente con TLS.
Un saludos amigos!
Commentaires
Enregistrer un commentaire