viernes, julio 10, 2015

Bug en OpenSSL: Alternative chains certificate forgery

Llevábamos unos días analizando qué podría ser el nuevo bug que había sido anunciado en el proyecto OpenSSL en un parche nuevo. Después de un año y medio movido, con HeartBleed de por medio, todos estábamos listos para ver qué podría ser este fallo. En Eleven Paths habíamos incluso organizado una vigilancia especial por si en había que sacar una Prueba de Concepto rápido para nuestros sistema de pentesting persistente. Pero al final, aunque es de riesgo muy alto, no será tan crítico como lo fue Heartbleed que permitía robar datos masivamente.

Figura 1: Alternative Chains Certificate Forgery en OpenSSL

El fallo que se ha anunciado en OpenSSL se ha bautizado como Alternative Chains Certificate Forgery y se le ha asignado el CVE-2015-1793. El problema se encuentra en la forma en la que algunas versiones de OpenSSL verifican la cadena de confianza de un certificado digital. Es decir, salvo que se haga una implementación de un proceso de Certificate Pinning, un certificado digital se da por bueno si está firmado por una cadena de certificados que lleva a una raíz de confianza.

Verificación de la cadena de confianza

En un certificado A, si esté está firmado por un certificado B, emitido por una entidad certificadora de primer nivel C de la que se confía, entonces se dará por correcto y no se lanzará ninguna alerta de seguridad. Esta validación de certificados se produce tanto cuando un navegador cliente tiene que verificar el certificado de un servidor web, como cuando un servidor tiene que verificar el certificado de un cliente en un proceso de autenticación de usuarios basado en certificados digitales.

Figura 2: Bug de Alternative Chains Certificate Forgery en OpenSSL

Sin embargo, el bug de Alternative Chains Certificate Forgery permite que, en determinadas condiciones y en 4 versiones en concreto de OpenSSL, se pueda hacer que esa verificación de cadena de confianza hasta un certificado raíz se de por buena aún no siendo correcta del todo la cadena de certificación.

Entornos de explotación

En otras palabras, alguien podría usurpar la identidad de un servidor si el cliente utiliza el software de OpenSSL en el cliente (no lo usan Apple Safari, Internet Explorer, Chrome o Firefox, pero sí muchas aplicaciones móviles o de escritorio clientes) que combinado con un ataque de phishing o pharming ayudarán a robar datos de cliente, o lo que es más peligroso aún, alguien podría suplantar el certificado de un cliente en un entorno de autenticación de usuarios basado en certificados digitales como si se pudiesen crear todas las credenciales a gusto -

Figura 3: Configuración de autenticación de cliente SSL en servidor NGINX con OpenSSL

Este último escenario es el realmente peligroso, ya que se podría conseguir acceder a sistemas informáticos creando los certificados adecuados de los usuarios que tienen acceso a la plataforma. Por esto, es necesario que se actualice cuanto antes el software si estás haciendo uso de este tipo de autenticación en tus plataformas.

Saludos Malignos!

7 comentarios:

Anónimo dijo...

Al parecer afecta a las versiones
- 1.0.2b: publicada el 11 de Junio de 2015
- 1.0.2c: publicada el 12 de Junio de 2015
- 1.0.1n: publicada el 11 de Junio de 2015
- 1.0.1o: publicada el 12 de Junio de 2015

Las versiones de las ramas 1.0.0 y 0.9.8 no están afectadas.

Salu2

Anónimo dijo...
Este comentario ha sido eliminado por el autor.
Anónimo dijo...
Este comentario ha sido eliminado por el autor.
Anónimo dijo...
Este comentario ha sido eliminado por el autor.
Anónimo dijo...
Este comentario ha sido eliminado por el autor.
Anónimo dijo...

¿lleva tilde? vaya! - y yo que pensaba que dicha palabra se escribia con H, es decir: "Hayudarán" XD.

Nota para la crítica: Notese que puse tilde (en plural) para las pabras Hayudarán y Crítica. No sea que se sofoque usted.

Tony.

Anónimo dijo...

Aún así parece bastante grave, pero ya saldrán los activistas del "código superior" a quitarle hierro al asunto. Las cosas "open" tienen ése escudo mágico.

Entrada destacada

10 maneras de sacarle el jugo a tu cuenta de @MyPublicInbox si eres un Perfil Público

Cuando doy una charla a algún amigo, conocido, o a un grupo de personas que quieren conocer MyPublicInbox , siempre se acaban sorprendiendo ...

Entradas populares