¿Qué es SSL 3.0?
SSL 3.0 fue la última revisión del protocolo de comunicación seguro SSL
(“Secure Sockets Layers” por sus siglas en inglés y “Capa de Conexión
Segura” en español) antes de que evolucionara y pasara a denominarse TLS (y de paso, empezar de nuevo con la versión 1.0). Su función principal es permitir el envío de claves de cifrado
entre aquellas aplicaciones que lo implementen, de manera que se
establezca entre ellas una conexión segura que no pueda ser espiada.
Por ejemplo, si quieres conectarte a tu banco para realizar operaciones online, lo normal es que tu navegador solicite una conexión segura y la web de la entidad la proporcione. De esa forma, nadie debería poder acceder a tu usuario y contraseña mientras estés conectado, por ejemplo desde una red Wi-Fi compartida con otros usuarios.
¿Cómo funciona Poodle?
La vulnerabilidad en SSL 3.0 descubierta por
los investigadores de Google es diferente a Heartbleed, ya que no afecta
a la parte servidor (que aloja, por ejemplo, páginas web), sino a la parte cliente (navegadores de Internet, clientes de correo, etc.), lo que la hace menos grave y fácil de solucionar.
Básicamente consiste en aprovecharse de una
característica que hace que, cuando un intento de conexión segura falla,
se proceda a intentar realizar de nuevo esa conexión pero con un
protocolo de comunicación más antiguo. De esa forma, un atacante podría
ocasionar intencionadamente errores de conexión en protocolos seguros
como TLS 1.2, 1.1 y 1.0 y forzar así el uso de SSL 3.0 para aprovechar la nueva vulnerabilidad.
Podríamos decir que Poodle no está orientado a comprometer el sistema, sino a obtener la información que antes se enviaba cifrada y un atacante no podía descifrar.
¿Cómo se explota esta vulnerabilidad?
Como vemos, es un ataque en dos tiempos. Primero se fuerza el uso de un protocolo no seguro y luego se aprovecha una vulnerabilidad
en él. No obstante, para poder realizar este ataque se han de cumplir
una serie de condiciones, y es que el atacante ha de estar conectado a
la misma red que la víctima, por ejemplo, en una red Wi-Fi pública, para poder realizar un ataque Man In The Middle e interceptar así las comunicaciones de la víctima.
Además, para realizar un ataque de este tipo se requiere que JavaScript
se esté ejecutando en el navegador, algo bastante común pero que puede
desactivarse fácilmente. Esto limita su alcance, ya que si bien la
mayoría de navegadores utilizados en sistemas operativos para
ordenadores de sobremesa o portátiles incorporan JavasScript, no es el
caso en muchos dispositivos móviles y sus aplicaciones.
¿Qué puede hacer un atacante que explote esta vulnerabilidad?
Sobre el papel y aún a falta de conocer más
detalles en el futuro, se puede utilizar Poodle para realizar una amplia
variedad de ataques, pero quizá el más llamativo y que más puede
afectar a los usuarios sea el secuestro de las cookies de sesión o, lo que es lo mismo, registrarse en la cuenta de cualquier servicio online (correo, redes sociales, banca) sin necesidad de obtener previamente usuario y contraseña.
De esta forma, se podrían realizar robos de identidad
y publicar mensajes en redes sociales en nombre de la víctima, enviar
correos sin su permiso o realizar transferencias bancarias, aun sin
haber obtenido las credenciales de acceso. Este es el peligro más
inmediato que se nos viene a la cabeza.
¿Existe alguna solución?
Una vez ya hemos visto en qué consiste Poodle y
cómo puede ser utilizada por un atacante, es hora de hablar de las
posibles soluciones. Para ello hay que tener en cuenta que Poodle solo afecta a versiones antiguas de SSL
(y SSL 3.0 tiene ya 15 años) y por eso trata de forzar este tipo de
conexiones, aunque las aplicaciones estén configuradas para que utilicen
la más reciente: TLS 1.2.
Por eso, una de las mejores soluciones pasa por dejar de utilizar SSL 3.0 y todas sus versiones anteriores y usar solo TLS 1.0 y posteriores. De esta forma no se podría forzar que tanto el cliente como el servidor utilicen una versión insegura del protocolo.
Dejar de utilizar SSL 3.0 en los servidores
es una tarea que llevará tiempo, debido a que aún quedan muchos
usuarios que utilizan aplicaciones que no soportan versiones posteriores
a 3.0. Pensemos en los millones de usuarios que aún siguen utilizando
Internet Explorer 6.0, por ejemplo.
Sin embargo, es algo que se va a tener que
hacer tarde o temprano, y algunas de las empresas más importantes
encargadas de alojar un buen número de sitios web ya han anunciado que dejarán de soportar SSL 3.0 en breve. Además, Google aconseja habilitar el mecanismo TLS_FALLBACK_SCSV en servidores para evitar que un atacante produzca errores de conexión al usar el protocolo TLS y fuerce el uso de SSL 3.0.
No obstante, como usuario puedes evitar seguir
usando SSL 3.0 en los navegadores de forma sencilla. Es muy probable que
la mayoría de los más utilizados saquen una actualización
en breve que obligue a utilizar cifrado TLS 1.0 o posterior, pero
también podemos forzarlo de forma manual siguiendo estas instrucciones:
- Mozilla Firefox
Si escribes about:config en la barra
de direcciones, entrarás a un apartado de configuración donde puedes
cambiar muchos parámetros. Es importante no tocar nada que no sepas qué
es, y te dirijas únicamente a la siguiente línea:
security.tls.version.min
Una vez la hayas localizado, haz doble clic
sobre ella y cambia el valor de 0 a 1, cerrando esa pestaña una vez
hayas realizado el cambio:
- Google Chrome
Para forzar el uso exclusivo de TLS en Chrome,
deberás primero cerrar el navegador, ir al ícono de acceso directo en el
escritorio, y pulsar el botón derecho del mouse sobre él. Selecciona la opción “Propiedades” y en la pestaña “Acceso Directo” stúate sobre el campo “Destino”:
Es en ese campo donde deberás añadir, al final de la ruta donde se encuentra el ejecutable de Chrome, la siguiente cadena:
–ssl-version-min=tls1
Tras realizar estos ajustes, no deberías observar ningún cambio
mientras navegas, puesto que prácticamente todos los servidores están
preparados para utilizar TLS 1.0 o posterior. Aunque si no te ves
capacitado para realizar estos pasos, siempre puedes esperar a que los
propios navegadores se actualicen y activen esta opción por ti.
Conclusión
Esta vulnerabilidad en SSL 3.0 debería servir como una llamada de atención para dejar de utilizar un protocolo obsoleto
que se desarrolló hace 15 años y que no está pensado para hacer frente a
los desafíos de seguridad de hoy en día. Es por eso que esperamos una
rápida reacción por parte de los desarrolladores de aplicaciones que
todavía hacen uso de SSL 3.0 y que implementen el uso exclusivo de TLS, algo que solucionaría este problema de forma efectiva y sencilla.
Reporte en contrado de una pagina web de un hospital
No hay comentarios:
Publicar un comentario