¿Se puede comprometer trivialmente el SSO basado en contraseña?

4

Muchos proveedores de SSO en la nube ahora ofrecen "SSO basado en contraseña" (por ejemplo, enlace ), donde, incluso si el SaaS en el que desea iniciar sesión no es compatible con SAML o similar, aún puede hacer SSO, porque el servicio de SSO analizará el HTML, almacenará su contraseña y lo registrará en la aplicación SaaS de terceros.

Microsoft está anunciando esto. Y, por ejemplo, si realiza una búsqueda en Google de "Gusto SSO", verá muchos otros que lo anuncian. (Elegí a Gusto, porque no tienen SAML, y puedes ver en todos los servicios de SSO que afirman que lo admiten que es una plantilla autogenerada ...).

Ahora, para mí esta es una gran vulnerabilidad: la razón principal por la que queremos el SSO es que cuando abordamos a alguien, lo hagamos en un solo lugar, y cuando salgan, solo tengamos que revocar una contraseña: no docenas. De lo contrario, está obligado a olvidar que también tienen la contraseña para randomsaas.com ...

Pero, eso solo funciona si la contraseña no pasa por su navegador . Si se trata de un SSO basado en contraseña, y la aplicación de SSO simplemente está autotipando su inicio de sesión , el inicio de sesión pasa por su navegador y, por lo tanto, pueden rastrearlo y almacenarlo. Por lo tanto, incluso si revoca el SSO de los usuarios, todavía pueden tener almacenada la contraseña.

¿Hay alguna solución para esto?

    
pregunta SRobertJames 17.11.2016 - 08:15
fuente

1 respuesta

3

Técnicamente, el inicio de sesión único basado en contraseña de Azure AD (de su link ) no es una solución de SSO sino una de administración de contraseñas. La aplicación externa tiene sus propias credenciales, incluida la contraseña, y un complemento instalado en el navegador los escribe en un formulario HTML en nombre del usuario, exactamente lo que hace Lastpass.

Eso significa que esas credenciales deben administrarse individualmente: creadas para nuevos usuarios y revocadas si el usuario las abandona. No hacerlo dejará abiertas las brechas de seguridad, y la página enlazada quedará clara en ese punto, incluso cuando un administrador administre las credenciales (haga hincapié en las mías):

  

Las credenciales están ofuscadas por el usuario final durante el proceso de inicio de sesión automático; sin embargo, el usuario puede detectarlos técnicamente mediante las herramientas de depuración web, y los usuarios y administradores deben seguir las mismas políticas de seguridad como si las credenciales fueran presentadas directamente por el usuario .

Eso significa que debes tener diferentes credenciales para cada usuario y revocarlas individualmente si el usuario se retira.

Solo en verdaderas soluciones de SSO como SAML o CAS, donde hay una sola cuenta compartida por varias aplicaciones, tiene una única contraseña para revocar.

    
respondido por el Serge Ballesta 17.11.2016 - 11:35
fuente

Lea otras preguntas en las etiquetas