¿Permitir que un usuario sepa que sus propias capacidades autorizadas reduce la seguridad?

2

En un sistema con un conjunto complejo de autorizaciones computadas, ¿permitir de manera conveniente que un usuario determinado acceda a ver todas sus autorizaciones reduce la seguridad?

En un sistema de "Política como código" que se basa en que los consumidores de su API desarrollen sus propias integraciones, parece una buena idea permitir una visualización conveniente de TODAS las autorizaciones de los usuarios, ya que un usuario determinado puede solicitar el acceso más fácilmente y aproveche el "código como documentación", en lugar de molestar a InfoSec por el estado de sus autorizaciones según sea necesario.

Me parece una cuestión de "seguridad a través de la oscuridad" para bloquear el acceso a una lista completa de las propias autorizaciones computadas de un usuario, ya que es probable que los usuarios exploren el sistema para averiguar a qué pueden y no pueden acceder.

Esto surgió en una discusión que tuve con un compañero de trabajo sobre el tema de esta publicación de la lista de correo de Vault sobre la visualización de la Política de Vault:

¿Inspecciona las políticas de tu propio token?

Pero se aplica a muchas otras cosas. De todos modos, estoy haciendo esta pregunta porque me he equivocado antes, creo que es prematuro para mí declarar que "es simplemente la oscuridad":

¿Permitir que un usuario vea fácilmente TODAS sus autorizaciones reduce la seguridad?

    
pregunta Nathan Basanese 27.11.2018 - 20:36
fuente

3 respuestas

2

Has hecho una pregunta de alto nivel, por lo que te proporcionaré una respuesta de alto nivel.

No piense en el problema en términos de "seguridad decreciente" (que en el mejor de los casos no está definido), piense en términos de "vulnerabilidad" y "peligro".

  • ¿Qué vulnerabilidades (debilidades del sistema y control) se exponen a través de la divulgación de la información?
  • ¿Qué peligros (condiciones inseguras que podrían resultar en accidentes) se crean a través de la divulgación de la información?

Para responder a esto, no creas un modelo de amenaza, sino que creas un modelo de vulnerabilidad. ¿Dónde está vulnerable su sistema y dónde se pueden crear peligros a través del uso o mal uso del sistema?

Si la divulgación de la información no afecta los puntos vulnerables de su sistema y si la información no se puede utilizar para crear un peligro, o si los impactos y la probabilidad son lo suficientemente bajos como para ser tolerados, entonces tiene su riesgo responder.

    
respondido por el schroeder 28.11.2018 - 11:55
fuente
2

El principio de Kerckhoff se aplica aquí: no debería.

En teoría, la lista de privilegios del usuario debe coincidir con lo que el usuario está autorizado a hacer. En la práctica, un descuido puede hacer que le otorgue a un usuario más privilegios de los que realmente necesita, y divulgar la información de autorización solo hace que sea más fácil para ellos descubrirlo.

El único inconveniente aquí es si al usuario realmente se le otorga más acceso del que necesitaba. Luego, la información de autorización puede avisar al usuario de que tiene más privilegios de los que debería tener. Sin embargo, en última instancia, este no es el problema causado por la divulgación de información de autorización, sino que, para empezar, el privilegio del token era demasiado amplio.

    
respondido por el Lie Ryan 28.11.2018 - 12:26
fuente
1

Creo que la respuesta más precisa depende de la aplicación. La autorización es una bestia matizada, y el control de acceso adecuado requiere un análisis del sistema subyacente.

Dicho esto, mi opinión personal es que si bien puede o no ser la mejor UX o proporcionar la interfaz de usuario más clara, exponer las autorizaciones a los usuarios probablemente no comprometa la seguridad. Si un rol de usuario puede hacer algo, creo que alguien con ese rol probablemente lo resolverá eventualmente.

* La advertencia es importante aquí: una vez más, la respuesta real depende de la aplicación. Esto es solo una especulación y muy bien podría estar equivocado (una vez más, dependiendo de la naturaleza de su aplicación). YMMV, GLHF, etc. etc. etc.

    
respondido por el securityOrange 28.11.2018 - 05:53
fuente