Notas de control de acceso de Windows

El modelo de seguridad de Windows requiere que cuando un hilo abre un objeto (como un archivo, proceso, escritorio, etc.), debe especificar qué tipos de acciones espera realizar en el objeto. El administrador de objetos invoca SRM (Monitor de referencia segura) para realizar la verificación de acceso de acuerdo con los requisitos de acceso esperados por un subproceso. Si permite este acceso, asigna un identificador al proceso del subproceso y, por lo tanto, al subproceso u otros procesos en el proceso El hilo puede realizar más operaciones en el objeto a través de este controlador. SRM es un componente de Ntoskrnl.exe y funciona en modo kernel. Es responsable de: definir la estructura de datos del token de acceso para representar un entorno seguro, realizar comprobaciones de acceso a objetos, administrar privilegios y generar todos los mensajes de auditoría de seguridad resultantes .

 

Primero, el identificador de seguridad SID

https://docs.microsoft.com/en-us/windows/security/identity-protection/access-control/security-identifiers

Windows usa SID para identificar entidades (entidades de seguridad) que realizan diversas acciones en el sistema.Los usuarios tienen SID, grupos de usuarios locales, grupos de usuarios de dominio, equipos locales, dominios, miembros de dominio y servicios.

Por ejemplo, Windows usa un SID único para identificar una cuenta y un grupo de cuentas. Después de eso, la operación realizada por la cuenta o el grupo de cuentas (como acceder a una carpeta), Windows debe verificar su identidad y confirmar si tiene permiso para operar. El SID de una cuenta o grupo local es generado por la agencia de seguridad local (LSA) en la computadora y almacenado en el área de seguridad del registro junto con otra información de cuenta; el SID de la cuenta o grupo de dominio es generado por la agencia de seguridad de dominio

(LSA en el controlador de dominio) se genera y almacena en Active Directory en forma de atributos de objetos de usuario o grupo.

 

El formato de los SID comunes es el siguiente (los RID no están necesariamente disponibles):

SID de vista procexp:

 

 

Verifique el  SID de la cuenta de servicio local en el registro :

 

El registro para ver el RID de la cuenta de usuario local:

 

En general, RID 500 es Administrador, 501 es Invitado y 503 es DefalutAccount. El RID de cuentas y grupos de usuarios personalizados comienza desde 1000.

Además, Windows predefinirá algunas cuentas y grupos, como NT AUTHORITY \ Local Service S-1-5-19 , aquí puede ver el SID común:

https://support.microsoft.com/en-au/help/243330/well-known-security-identifiers-in-windows-operating-systems

https://docs.microsoft.com/en-us/windows/security/identity-protection/access-control/security-identifiers#well-known-sids

 

Segundo, control de integridad obligatorio (MIC, control de integridad obligatorio)

Para el mismo usuario, abra chrome.exe para descargar un programa desconocido y abra word.exe, las dos operaciones tienen un riesgo diferente y, obviamente, los permisos del proceso también deberían ser diferentes; por esta razón, Windows usa el control de integridad obligatorio (MIC) para controlar al mismo usuario Acceso a diferentes procesos para asegurar objetos.

 

El mecanismo MIC consta de dos partes: nivel de integridad y política de cumplimiento.Este mecanismo es complementario al control de acceso libre y ocurre antes de la verificación de acceso de la lista de control de acceso libre (DACL). 

2.1 Nivel de integridad

 

Tanto los sujetos de seguridad como los objetos de seguridad tienen niveles de integridad asignados, que se utilizan para describir los niveles de acceso de visitantes y encuestados.

1. Nivel de integridad del proceso y estrategia de aplicación de tokens ( TOKEN_MANDATORY_POLICY )

Cada proceso tiene un nivel de integridad en su token de acceso, que se propaga de acuerdo con las siguientes reglas:

 

 

Además del nivel de integridad del proceso, existe una estrategia obligatoria:

 

 

 

2. Nivel de integridad del objeto y estrategia de aplicación del sistema.

El objeto de seguridad tiene un nivel de integridad en la lista de control de acceso del sistema (SACL) de su descriptor de seguridad

  • Para ser compatibles con versiones anteriores de Windows y facilitar a los desarrolladores, todos los objetos tienen un nivel de integridad implícito de "medio"
  • Cuando un proceso crea un objeto, si no se especifica el nivel de integridad, el sistema determinará la integridad del objeto en función de la integridad en el token de proceso. Si el nivel de integridad del proceso es "Medio" o superior, el nivel de integridad implícito del objeto sigue siendo "Medio"; si el nivel de integridad del proceso es inferior a "Medio", se mostrará para que coincida con el token. Objetos a nivel de integridad.

  ¿Por qué el objeto no puede heredar el nivel de integridad "alto" del creador? Si el administrador deshabilita UAC y crea un objeto, el proceso está en el nivel de integridad "alto", si el objeto también hereda el nivel de integridad "alto", cuando UAC se habilita nuevamente El administrador no podrá modificar este objeto.

  • Los objetos también pueden tener un nivel de integridad establecido explícitamente por el sistema o el creador del objeto. Cuando se crean objetos como procesos, subprocesos, tokens y trabajos, el kernel asignará un nivel de integridad mostrado para que los procesos con el mismo nivel de integridad bajo el mismo usuario no puedan acceder o modificar estos objetos.

Además de los niveles de integridad, los objetos de seguridad también tienen una política obligatoria:

 

 

 Puede usar accesschk.exe -v para ver el nivel de integridad y las políticas de aplicación de objetos como procesos, archivos y registro:

 

 

 3. Token de acceso

SRM utiliza objetos de token para identificar el contexto de seguridad de un proceso o subproceso. El contenido más importante contenido en el token es el siguiente:

1. Fuente del token, que describe la entidad que creó el token

2. El token principal sigue siendo un token de imitación, y el nivel de imitación del token de imitación (descrito más adelante)

3. ID de token, equivalente al identificador de token, cada token es único.

4. ID de autenticación, LSASS es para todos los tokens heredados del mismo token de inicio de sesión inicial, y copia su ID de autenticación para que el programa verifique si el token y otros tokens pertenecen a la misma sesión de inicio de sesión.

5. Modifique la ID. Siempre que se modifiquen las características de un token, la ID modificada se actualizará.

6. Tiempo de caducidad, tiempo de caducidad del token

7. ID de sesión

8. Varias banderas determinan ciertos comportamientos de los mecanismos UAC y UIPI (descritos más adelante)

9. Sesión de inicio de sesión

10. Estrategia de aplicación, correspondiente a la estrategia de aplicación de tokens mencionada en la segunda parte.

11. El grupo principal predeterminado y la DACL predeterminada, el grupo principal predeterminado y la DACL predeterminada de los objetos creados por el proceso, por lo que no es necesario mostrar y especificar esta información cada vez que se crea el objeto.

12. SID de cuenta de usuario, cuenta a la que pertenece el proceso

13. Group SID, al que pertenece la cuenta de usuario

14. SID restringido, marque este SID como solo denegado, cuando la verificación de acceso se realiza más tarde, solo se coinciden las ACE de acceso denegado y se omiten las ACE de acceso permitido, que solo se utiliza para la denegación.

15. Privilegios (descritos más adelante)

 

 

 

 

 

 

 

 

Token simulado

https://www.anquanke.com/post/id/190207#h2-8

https://www.cnblogs.com/MyGuazi/p/11871420.html

Supongo que te gusta

Origin www.cnblogs.com/ring-lcy/p/12740907.html
Recomendado
Clasificación