Global Preloader
Vulnerabilidad
(27/Feb/2018) Vulnerabilidad generalizada encontrada en productos de inicio de sesión único

Vulnerabilidad generalizada encontrada en productos de inicio de sesión único

Una peculiaridad del comportamiento en las bibliotecas de SAML ha dejado muchas implementaciones de inicio de sesión único (SSO) vulnerables al abuso. Permite a un atacante que haya obtenido acceso autenticado engañar al sistema para que otorgue acceso adicional como un usuario diferente sin el conocimiento de la contraseña de ese usuario.

Esto podría ser utilizado por un atacante que haya comprometido una cuenta de acceso limitado de bajo nivel para adquirir acceso a servicios en la nube de terceros, o podría ser utilizado por un interno malintencionado que busca acceso a áreas de red reservadas (como las bases de datos de nómina o Registros de recursos humanos).

La vulnerabilidad fue descubierta por el equipo de investigación de Duo Security, que a su vez es un proveedor de SSO; y se describe en un blog publicado hoy. Afecta a muchos de los principales proveedores de SSO, y probablemente afecte a la mayoría de los desarrollos de SSO de la empresa propietaria.

Duo ha confirmado el error en OneLogin - python-saml ( CVE-2017-11427 ); OneLogin - ruby-saml ( CVE-2017-11428 ); Clever - saml2-js ( CVE-2017-11429 ); OmniAuth-SAML ( CVE-2017-11430 ); Shibboleth ( CVE-2018-0489 ); y Duo Network Gateway ( CVE-2018-7340 ).

El lenguaje de marcado de aserción de seguridad (SAML) es el protocolo subyacente utilizado por la mayoría de las implementaciones de SSO. Es lo que permite que se pase la autenticación entre el almacén de identidades de una empresa y, por ejemplo, un servicio de terceros. Normalmente, un usuario iniciará sesión en el almacén de identidades. Esto contiene las credenciales que permitirán que el mismo usuario acceda a otros servicios.

SAML se utiliza para pasar la autenticación, a través del navegador, del proveedor de identidad al servicio de terceros, otorgando acceso. El error radica en cómo SAML codifica la autenticación en la "respuesta" del proveedor.

La respuesta de autenticación SAML contiene dos elementos principales: la aserción y la firma. El elemento de afirmación dice que este NameID está autenticado. El elemento de firma está diseñado para evitar que el NameID de usuario autenticado se cambie en cualquier punto entre el proveedor de identidad y el servicio al que se accede. "Si el atacante puede modificar el 'NameID' sin invalidar la firma, eso sería malo", sugieren los investigadores de Duo; y luego proceda a explicar cómo se puede hacer.

"Una de las causas de esta vulnerabilidad es un comportamiento sutil y posiblemente inesperado de las bibliotecas XML como 'lxml' de Python o 'REXML' de Ruby", escriben los autores del blog. Los comentarios se pueden incluir en la firma, pero el proceso de canonización de las bibliotecas SAML tiende a soltar todo el texto después del primer nodo de texto para aislar el NameID.

"Entonces", explican los investigadores, "como un atacante con acceso a la cuenta ' [email protected] ', puedo modificar * mis propias * afirmaciones SAML para cambiar el NameID a ' [email protected] ' cuando sea procesado por el SP. " Los siete caracteres están insertados antes de .evil.com. Esto hace que el proceso de canonización caiga '.evil.com', dejando la cuenta autenticada como ' [email protected] '.

No todas las implementaciones de SSO son vulnerables a este problema; pero Duo ha demostrado que muchos lo son. Todo lo que se requiere del atacante es una cuenta genuina que puede 'modificar' a su objetivo de ataque, más la experiencia técnica relativamente menor para interceptar y editar la autenticación SAML a medida que pasa a través del navegador.

"La corrección de este problema", señala el informe, "depende en cierta medida de la relación que tenga con SAML". Se pone un poco complicado. "Duo ha lanzado actualizaciones para Duo Network Gateway en la versión?? 1.2.10 ?. Si utiliza DNG como proveedor de servicios SAML y no tiene la versión 1.2.10 o superior (en el momento de escribir esto, 1.2.10 es la última versión), recomendamos la actualización ".

Los diferentes SSO afectados tendrán diferentes recomendaciones específicas, y sería mejor consultarlas para obtener orientación. De forma similar, existen diferentes recomendaciones para los mantenedores de identidad o proveedores de servicios, mantenedores de bibliotecas de procesamiento de SAML y mantenedores de bibliotecas de análisis XML. Una cosa que ayudaría, sugieren los autores, es la capacidad de hacer cumplir la autenticación de múltiples factores, "porque esta vulnerabilidad solo permitiría eludir el primer factor de autenticación del usuario". Pero los autores también advierten que "si su IdP es responsable tanto de la autenticación de primer factor como de la segunda, es probable que esta vulnerabilidad pase por alto ambas".

Debido a que varios proveedores se ven afectados por esta vulnerabilidad, Duo Security trabajó con CERT / CC para coordinar la divulgación. Proporcionó la información de vulnerabilidad al CERT / CC el 18 de diciembre de 2017. Al 20 de febrero de 2018, todos los proveedores afectados notificados habían confirmado que estaban listos para la divulgación; y Duo Security ha revelado los detalles de vulnerabilidad hoy.

Duo Security, con sede en la nube y proveedor de soluciones de identidad y administración de acceso en la nube, anunció una ronda de financiación Serie D de $ 70 millones liderada por Meritech Capital Partners y Lead Edge Capital en octubre de 2017. Esto elevó el monto total a $ 119. millones, y valoró a la compañía en $ 1.17 mil millones.