Compartir a través de


Tokens restringidos

Un token restringido es un principal o suplantación token de acceso que ha modificado la función CreateRestrictedToken. Un proceso de o suplantación de subprocesos que se ejecutan en el contexto de seguridad de un token restringido está restringido en su capacidad de acceder a objetos protegibles o realizar operaciones con privilegios. La función CreateRestrictedToken puede restringir un token de las maneras siguientes:

  • Quite privilegios del token.
  • Aplique el atributo de solo denegación a los SID del token para que no se puedan usar para acceder a objetos protegidos. Para obtener más información sobre el atributo de solo denegación, consulte atributos de SID en un token de acceso.
  • Especifique una lista de restricciones de SID, que puede limitar el acceso a objetos protegibles.

El sistema usa la lista de restricciones de SID cuando comprueba el acceso del token a un objeto protegible. Cuando un proceso o subproceso restringido intenta acceder a un objeto protegible, el sistema realiza dos comprobaciones de acceso: una mediante los SID habilitados del token y otra con la lista de restricciones de SID. Solo se concede acceso si ambas comprobaciones de acceso permiten los derechos de acceso solicitados. Para obtener más información sobre las comprobaciones de acceso, vea Cómo controlan los DACL el acceso a un objeto.

Puede usar unade token principal derestringido en una llamada a la funciónCreateProcessAsUser. Normalmente, el proceso que llama a CreateProcessAsUser debe tener el privilegio SE_ASSIGNPRIMARYTOKEN_NAME, que normalmente solo se mantiene en el código del sistema o en los servicios que se ejecutan en la cuenta localSystem. Sin embargo, si el createProcessAsUser llamada especifica una versión restringida del token principal del autor de la llamada, este privilegio no es necesario. Esto permite a las aplicaciones ordinarias crear procesos restringidos.

También puede usar un token de suplantación o principal restringido en la funciónImpersonateLoggedOnUser.

Para determinar si un token tiene una lista de SID de restricción, llame a la funciónisTokenRestricted.

Nota

Las aplicaciones que usan tokens restringidos deben ejecutar la aplicación restringida en escritorios distintos del escritorio predeterminado. Esto es necesario para evitar un ataque por una aplicación restringida, mediante SendMessage o PostMessage, para aplicaciones sin restricciones en el escritorio predeterminado. Si es necesario, cambie entre escritorios con fines de aplicación.