Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Como desarrollador que pretende diseñar e implementar aplicaciones que siguen los principios rectores de Confianza cero, quiere aumentar la seguridad de las aplicaciones con privilegios mínimos. Es imperativo reducir la superficie expuesta a ataques de la aplicación y el efecto de una infracción de seguridad.
En este artículo, aprenderá por qué las aplicaciones no deben solicitar más permisos de los que necesitan. Vais a aprender el término overprivilege. Descubra recomendaciones y procedimientos recomendados para limitar los privilegios en las aplicaciones, administrar el acceso y mejorar la seguridad.
¿Qué es el exceso de privilegios?
El sobreprivilegio se produce cuando una aplicación solicita o recibe más permisos de los que necesita para funcionar correctamente. Mejore su comprensión del exceso de privilegios con ejemplos de permisos no utilizados y reducibles en el resto de este artículo.
Permisos sin usar
Para este ejemplo de clave sin usar, imagine que hay tres puertas cerradas (azul, amarillo y verde), como se muestra en el diagrama siguiente.
Sus activos están detrás de las puertas. Tiene tres llaves (azul, amarillo y verde) que le permiten abrir su puerta correspondiente. Por ejemplo, la tecla azul puede abrir la puerta azul. Cuando solo necesitas acceso a la puerta amarilla, solo llevas la llave amarilla.
Para proteger mejor los recursos, solo lleva las claves que necesita cuando las necesita y mantiene las claves sin usar en una ubicación segura.
Permisos reducibles
El ejemplo de claves reducibles es más complicado que el ejemplo de clave sin usar al que ahora se agregan dos claves especiales, como se muestra en el diagrama siguiente.
La primera llave negra es una tecla de paso que puede abrir todas las puertas. La segunda llave negra puede abrir las puertas amarillas y verdes. Cuando solo necesitas acceso a las puertas amarillas y verdes, solo llevas la segunda llave negra. Mantenga la clave de paso en una ubicación segura con la clave verde redundante.
Con la plataforma de identidad de Microsoft, las claves son permisos de acceso. Usted y sus recursos, como titular de la clave, son aplicaciones. Si comprende el riesgo de llevar claves innecesarias, es consciente del riesgo de que las aplicaciones tengan permisos innecesarios.
Brecha de permisos y riesgo
¿Cómo pueden ayudar las puertas y las llaves a comprender cómo se produce el exceso de privilegios? ¿Por qué su aplicación puede tener los permisos adecuados para llevar a cabo una tarea, pero seguir teniendo demasiados privilegios? Echemos un vistazo a la brecha de permisos que podría provocar la discrepancia en el diagrama siguiente.
El eje X representa la hora y el eje Y representa permisos. Al principio del tiempo medido, solicitas y recibes permiso para su aplicación. A medida que la empresa crece y cambia con el tiempo, usted agrega nuevos permisos para satisfacer sus necesidades y se incrementa la pendiente de Permisos Concedidos. Los permisos usados pueden ser inferiores a los permisos concedidos cuando se olvida de quitar permisos innecesarios (por ejemplo, si la aplicación no se interrumpe) lo que da lugar a un intervalo de permisos.
Estas son observaciones interesantes en la plataforma de identidad de Microsoft.
- Tenemos más de 4000 API en Microsoft Graph.
- Hay más de 200 permisos de Microsoft Graph disponibles en la plataforma de identidad de Microsoft.
- Los desarrolladores tienen acceso a una amplia gama de datos y pueden aplicar granularidad a los permisos que solicitan sus aplicaciones.
- En nuestras investigaciones, encontramos que las aplicaciones solo usan 10% de permisos para sus escenarios.
Piense detenidamente en los permisos que requiere la aplicación. Tenga en cuenta la brecha de permisos y compruebe periódicamente los permisos de la aplicación.
Seguridad comprometida para sobreprivilegiados
Profundicemos en los riesgos resultantes de las brechas de permisos con un ejemplo. Este escenario en peligro consta de dos roles: administrador de TI y desarrollador.
- Administrador de TI: Jeff es un administrador de inquilinos que garantiza que las aplicaciones de Microsoft Entra ID sean confiables y seguras. Parte del trabajo de Jeff es conceder consentimiento a los permisos que requieren los desarrolladores de aplicaciones.
- Desarrollador: Kelly es un desarrollador de aplicaciones que usa la plataforma de identidad de Microsoft y posee aplicaciones. El trabajo de Kelly es asegurarse de que las aplicaciones tengan los permisos adecuados para realizar las tareas necesarias.
El siguiente escenario común de compromiso de seguridad por privilegios excesivos suele tener cuatro fases.
- El desarrollador comienza a configurar la aplicación y a agregar los permisos necesarios.
- El administrador de TI revisa los permisos necesarios y concede consentimiento.
- El actor malintencionado comienza a descifrar las credenciales de usuario y hackea con éxito la identidad del usuario.
- Si el usuario posee varias aplicaciones, también tiene privilegios excesivos. El actor malicioso puede usar rápidamente el token del permiso proporcionado para recuperar datos confidenciales.
Aplicaciones sobreprivilegadas
Una entidad se sobreprivilega cuando solicita o recibe más permisos de los que necesita. La definición de aplicación sobreprivilegada en la plataforma de identidad de Microsoft es cualquier aplicación con permisos no utilizables o reducibles.
Vamos a usar Microsoft Graph como parte de la plataforma de identidad de Microsoft en un ejemplo real para comprender mejor el permiso no utilizado y el permiso reducible.
El permiso sin usar se produce cuando la aplicación recibe permisos que no son necesarios para las tareas deseadas. Por ejemplo, está desarrollando una aplicación de calendario. La aplicación de calendario solicita y recibe Files.ReadWrite.All permiso. La aplicación no se integra con las APIs de archivos. Por lo tanto, su aplicación tiene un permiso sin usar Files.ReadWrite.All.
El permiso reducible es más difícil de detectar. Se produce cuando la aplicación recibe pocos permisos, pero tiene una alternativa con privilegios inferiores que proporcionaría acceso suficiente para las tareas necesarias. En el ejemplo de aplicación de calendario, la aplicación solicita y recibe Files.ReadWrite.All permiso. Sin embargo, solo necesita leer archivos del OneDrive del usuario que ha iniciado sesión y nunca necesita crear nuevos archivos ni modificar los existentes. En este caso, la aplicación solo utiliza Files.ReadWrite.All parcialmente, por lo que debe cambiar a Files.Read.All.
Recomendaciones para reducir escenarios sobreprivilegados
La seguridad es un recorrido, no un destino. Hay tres fases distintas en el ciclo de vida de seguridad:
- Prevención
- Auditing
- Remediación
En el diagrama siguiente se muestran recomendaciones para reducir escenarios sobreprivilegados.
- Prevent: al compilar una aplicación, comprenda completamente los permisos necesarios para las llamadas API que la aplicación necesita realizar. Solicite solo lo necesario para habilitar el escenario. La documentación de Microsoft Graph tiene referencias claras sobre los permisos desde los con privilegios mínimos hasta los más privilegiados para todos los puntos de conexión. Tenga en cuenta los escenarios sobreprivilegados a medida que determine qué permisos necesita.
- Auditoría: los administradores de TI y usted deben revisar periódicamente los privilegios concedidos previamente a las aplicaciones existentes.
- Corrección: si usted o los administradores de TI observan una aplicación con privilegios excesivos en el ecosistema, deben dejar de solicitar tokens para ese permiso. Los administradores de TI deben revocar los consentimientos concedidos. Este paso normalmente requiere un cambio de código.
Procedimientos recomendados para mantener el permiso con privilegios mínimos
Dos incentivos principales para mantener permisos de privilegios mínimos con tus aplicaciones son promover la adopción de las aplicaciones y frenar la propagación.
- Impulsar la adopción mediante la creación de una aplicación de confianza para los clientes que evita solicitudes de permisos excesivas. Limite los permisos de la aplicación solo a lo que necesita para completar su tarea. Esta práctica reduce el radio de explosión potencial de los ataques y aumenta la adopción por parte de los clientes de las aplicaciones. Aplique más examen al revisar los permisos que solicitan las aplicaciones y decidir si se conceden permisos de aplicación.
- Detenga la propagación asegurándose de que los actores incorrectos no puedan usar privilegios excesivos para obtener más acceso. Al crear una aplicación que solicite permisos innecesarios, es menos probable que reciba la aprobación o se deniegue por completo. La mejor manera de controlar los daños es evitar que los actores malos obtengan privilegios elevados que aumenten el ámbito del compromiso. Por ejemplo, si la aplicación solo tiene
User.ReadBasic.Allpara leer información básica del usuario, su OneDrive, Outlook, Teams y los datos confidenciales están seguros si una aplicación está comprometida.
Pasos siguientes
- Adquirir autorización para acceder a los recursos le ayuda a comprender cómo garantizar mejor Confianza cero al adquirir permisos de acceso a recursos para la aplicación.
- Creación de aplicaciones con un enfoque de confianza cero para la identidad proporciona información general sobre los permisos y los procedimientos recomendados de acceso.
- Personalizar tokens describe la información que puede recibir en tokens de Microsoft Entra. Se explica cómo personalizar tokens para mejorar la flexibilidad y el control, al tiempo que aumenta la seguridad de confianza cero de la aplicación con privilegios mínimos.
- Configurar reclamaciones de grupo y roles de aplicación en tokens muestra cómo configurar tus aplicaciones con definiciones de roles de aplicación y asignar grupos de seguridad a los roles de aplicación. Estos métodos ayudan a mejorar la flexibilidad y el control, al tiempo que aumentan la seguridad de confianza cero de la aplicación con privilegios mínimos.
- Lograr la preparación de confianza cero en las aplicaciones: el diseño de privilegios mínimos le ayuda a diseñar aplicaciones con el principio de acceso con privilegios mínimos con la plataforma de identidad de Microsoft.
- Aumentar la seguridad de las aplicaciones con el principio del mínimo privilegio le ayuda a reducir la superficie expuesta a ataques de una aplicación y el efecto de una infracción de seguridad (radio de impacto) si ocurre en una aplicación integrada en la plataforma de identidad de Microsoft.
- Graph Explorer y la referencia de permisos de Microsoft Graph le ayudan a seleccionar llamadas API de Microsoft Graph para habilitar un escenario de aplicación y buscar permisos correspondientes desde los privilegios menores hasta los mayores.