Articulo de referencia

Identificador de seguridad

El identificador de seguridad ( SID ) es un identificador único e inmutable de una cuenta de usuario, grupo de usuarios u otra entidad de seguridad en la familia de sistemas ope...

El identificador de seguridad ( SID ) es un identificador único e inmutable de una cuenta de usuario, grupo de usuarios u otra entidad de seguridad en la familia de sistemas operativos Windows NT . Una entidad de seguridad tiene un único SID de por vida (en un dominio de Windows determinado ), y todas sus propiedades, incluido su nombre, están asociadas al SID. Este diseño permite cambiar el nombre de una entidad (por ejemplo, de "Jane Smith" a "Jane Jones") sin afectar los atributos de seguridad de los objetos que hacen referencia a ella.

Descripción general

Windows otorga privilegios y acceso a los recursos mediante listas de control de acceso (ACL). Cada entrada de la lista define un SID y un conjunto de permisos para dicho SID. Cuando un usuario inicia sesión en un PC , Windows genera un token de acceso que contiene el SID del usuario, los SID de grupo a los que pertenece la cuenta de usuario y el nivel de privilegio del usuario. Cuando un usuario solicita acceso a un recurso, su ACL se compara con el token de acceso del usuario para permitir o denegar una acción específica sobre un objeto determinado.

Estructura

La representación legible para humanos de un SID es una cadena que comienza con "S-" y consta de varios números separados por guiones. Por ejemplo, "S-1-5-21-3623811015-3361044348-30300820-1013" podría ser el SID de una cuenta de usuario. La siguiente tabla explica los componentes de este ejemplo de SID.

Originalmente, se suponía que los SID permitirían un anidamiento arbitrariamente profundo, permitiendo que cada nivel creara subautoridades debajo de sí mismo. Sin embargo, ese objetivo se abandonó al principio del desarrollo de Windows NT, cuando se decidió que sería demasiado difícil de manejar en la práctica; para entonces, sin embargo, el formato SID ya se había finalizado y se utilizaba ampliamente en el código de Windows. [ 1 ]

Autoridad de identificación

Las autoridades de identificación se definen formalmente como cantidades de seis bytes (48 bits). La autoridad de identificación se expresa en decimal si su valor es menor que 2 32 , de lo contrario en hexadecimal . [ 2 ] [ 3 ] Sin embargo, aunque este es el comportamiento definido formalmente por Microsoft e implementado por las API de Windows relevantes (por ejemplo RtlConvertSidToUnicodeString), [ 3 ] las autoridades de identificación hexadecimales parecen no haberse utilizado nunca en la práctica. Todos los valores conocidos caben en el byte menos significativo, y los otros 5 bytes son siempre cero. Las autoridades de identificación se almacenan en formato big-endian , incluso en arquitecturas de CPU little-endian .

Subautoridad

SID de dominio

Los SID que comienzan con "S-1-5-21" son notablemente más largos que la mayoría de los demás SID (con la notable excepción de los SID de servicio). Su formato general es: S-1-5-21-<Domain ID>-<RID>, donde <Domain ID>tiene la forma de <32-bit>-<32-bit>-<32-bit>.

El ID de dominio identifica de forma única un dominio de Windows . El RID especifica una entidad principal (cuenta de usuario, cuenta de grupo o cuenta de equipo) dentro de ese dominio.

Si la parte RID es mayor que 1000, el SID resultante corresponde a una cuenta de usuario, grupo de usuarios o cuenta de equipo definida por el administrador, por ejemplo, S-1-5-21-3361044348-303008203623811015-1001. El nombre de esta cuenta podría ser cualquiera, por ejemplo, Domain.local\JaneDoe.

Si la parte RID es menor que 1000, el SID resultante corresponde a una cuenta de usuario o grupo de usuarios predefinido (integrado). Por ejemplo, el RID 500 identifica la controvertida cuenta de usuario "Administrador", mientras que el RID 512 corresponde al grupo "Administradores de dominio".

Identificadores de seguridad de la máquina (SID)

Los SID de máquina son una variedad de SID de dominio (S-1-5-21) con un ID de dominio de 96 bits (una máquina se considera su propio dominio local) pero sin RID. Su formato general es: S-1-5-21-<Machine ID>, donde <Machine ID>tiene la forma de <32-bit>-<32-bit>-<32-bit>.

El SID de la máquina se almacena en la rama SECURITY del Registro de Windows , más específicamente en HKEY_LOCAL_MACHINE\SECURITY\SAM\Domains\Account. Esta clave tiene dos valores: F y V. Este último es un valor binario sin procesar que tiene el SID de la máquina incrustado al final de sus datos (últimos 96 bits). [ 19 ] (Algunas fuentes afirman que se almacena en la rama SAM en su lugar). Una copia de seguridad se encuentra en .SECURITY\Policy\PolAcDmS\@

NewSID garantiza que este SID esté en formato estándar NT 4.0 (tres subautoridades de 32 bits precedidas por tres campos de autoridad de 32 bits). A continuación, NewSID genera un nuevo SID aleatorio para el equipo. La generación de NewSID se esmera en crear un valor de 96 bits verdaderamente aleatorio, que reemplaza los 96 bits de los tres valores de subautoridad que componen el SID del equipo.

Léame de NewSID [ 20 ]

El SID de la máquina se almacena en formato de bytes sin procesar en el registro. Para convertirlo al formato numérico más común, se interpreta como tres enteros de 32 bits en formato little-endian , se convierten a decimal y se añaden guiones entre ellos.

SID de servicio

Los SID de servicio son una característica del aislamiento de servicios , introducida en Windows Vista y Windows Server 2008. [ 21 ] Cualquier servicio con la propiedad de tipo de SID "sin restricciones" tendrá un SID específico del servicio agregado al token de acceso del proceso host del servicio, lo que permite administrar los permisos para un solo servicio sin necesidad de crear cuentas de servicio.

Cada SID de servicio es un SID local a nivel de máquina que tiene la forma general de S-1-5-80-<Service ID>. Para generar <Service ID>, Windows copia el nombre del servicio (en codificación UTF-16 ), convierte todos los caracteres a mayúsculas y calcula el resumen SHA-1 de dicho nombre en mayúsculas. Este resumen se convierte en <Service ID>. El sc.execomando se puede usar para generar este valor SID especial; por ejemplo, dado el servicio "dnscache":

C:\> consulta sc NOMBRE: dnscache SID DEL SERVICIO: S-1-5-80-859482183-879914841-863379149-1145462774-2388618682

Por lo tanto, el servicio "dnscache" puede denominarse de cualquiera NT SERVICE\dnscachede las dos maneras S-1-5-80-859482183-879914841-863379149-1145462774-2388618682. Dado que el SID del servicio se determina exclusivamente por el nombre del servicio, el valor del SID para un servicio dado siempre es el mismo en todas las máquinas donde se ejecuta el servicio.

SID duplicados

Un método común para la producción en masa de PC con Windows consiste en instalar Windows en una máquina plantilla y duplicar su disco sector por sector en otras máquinas idénticas. Como resultado, estas máquinas producidas en masa son idénticas en todos los aspectos, incluidos sus SID. [ 20 ]

El ingeniero de Microsoft Mark Russinovich es el creador de una utilidad llamada NewSID, cuyo propósito es resolver el "Problema de duplicación de SID". [ 20 ] Microsoft retiró la utilidad el 2 de noviembre de 2009, ya que Mark y el equipo de seguridad de Windows concluyeron que los SID duplicados no representan ningún problema. [ 22 ]

Véase también

Notas a pie de página

Referencias

  1. " [ MS-AZOD ] : Identificadores de seguridad (SID)" . learn.microsoft.com . 2022-06-14 . Consultado el 2024-12-29 .
  2. " [ MS-DTYP ] : Sintaxis del formato de cadena SID" . learn.microsoft.com . 2023-12-12 . Consultado el 2024-12-29 .
  3. 1 2 "Función RtlConvertSidToUnicodeString (ntifs.h) - Controladores de Windows" . learn.microsoft.com . 4 de noviembre de 2022. Consultado el 29 de diciembre de 2024 .
  4. "Identificadores de seguridad conocidos en los sistemas operativos Windows" . support.microsoft.com . Consultado el 12 de diciembre de 2019 .
  5. 1 2 3 4 5 openspecs-office. " [ MS-DTYP ] : Estructuras SID conocidas" . docs.microsoft.com . Consultado el 3 de septiembre de 2020 .
  6. 1 2 3 4 " [ MS-PAC ] : Filtrado SID y transformación de reclamaciones" . learn.microsoft.com . 2023-06-28 . Consultado el 2024-12-29 .
  7. 1 2 3 4 Honeycutt, Jerry (2005). Guía del Registro de Microsoft Windows . Microsoft Press. pág. 11. ISBN  978-0-7356-2218-0.
  8. "Outlook2007CodeSamples/SampleWrappedPSTStoreProvider/WrapPST/EdkMdb.h en 10edfa1ce7e6895a4788ad7c766b9120bec0128d · microsoft/Outlook2007CodeSamples" . GitHub . Consultado el 29 de diciembre de 2024 .
  9. Consulte la sección "Principales personalizados" en https://msdn.microsoft.com/en-us/library/aa480244.aspx
  10. "Blog de Larry Osterman" . 17 de julio de 2020.
  11. "Ejemplo del impacto de las cuentas de Microsoft en las API de Windows en Windows 8/8.1 – Blog del equipo de soporte del SDK de Windows" . blogs.msdn.microsoft.com . 12 de diciembre de 2014.
  12. 1 2 "Identificadores de seguridad" . support.microsoft.com . 28 de agosto de 2021. Consultado el 2 de septiembre de 2020 .
  13. "Algunos SID no se resuelven en nombres descriptivos" . support.microsoft.com . 24 de septiembre de 2021. Consultado el 2 de septiembre de 2020 .
  14. "Constantes SID de capacidad (Winnt.h) - Aplicaciones Win32" . docs.microsoft.com . Consultado el 2 de septiembre de 2020 .
  15. "SYSTEM_MANDATORY_LABEL_ACE (winnt.h) - Aplicaciones Win32" . learn.microsoft.com . 22/02/2024 . Consultado el 29/12/2024 .
  16. 1 2 " [ MS-DTYP ] : SID_IDENTIFIER_AUTHORITY" . learn.microsoft.com . 2020-10-30 . Consultado el 2024-12-29 .
  17. "Sandboxing de productos antimalware para divertirse y obtener ganancias — Elastic Security Labs" . www.elastic.co . 21 de febrero de 2023. Consultado el 29 de diciembre de 2024 .
  18. "Identidades SID de grupos de aplicaciones de IIS" . winterdom . 2020-09-02.
  19. "Utilidad MS TechNet NewSID: cómo funciona" . Base de conocimientos . Microsoft . 1 de noviembre de 2006. Consultado el 5 de agosto de 2008 .
  20. ^ " NuevoSID v4.10 " . Componentes internos del sistema Windows . Microsoft. 2006-11-01.
  21. "Función de aislamiento de servicios de Windows" . Artículo . Windows IT Pro. 6 de junio de 2012. Consultado el 7 de diciembre de 2012 .
  22. Russinovich, Mark (3 de noviembre de 2009). "El mito de la duplicación del SID de la máquina" . Blog de Mark . Microsoft a través del archivo de blogs de Microsoft Learn .
  • Oficial
    • ObjectSID y Active Directory archivados el 16/01/2021 en Wayback Machine.
    • Microsoft TechNet: Server 2003: Referencia técnica de identificadores de seguridad
    • MSKB154599: Cómo asociar un nombre de usuario con un identificador de seguridad
    • MSKB243330: Identificadores de seguridad conocidos en los sistemas operativos Windows
    • Herramientas de soporte para Windows Server 2003 y Windows XP.
    • Identificadores de seguridad - Documentación de seguridad de Windows
  • Otro
    • Por qué es importante comprender los SID (Síndromes de Inmunización por Depresión).
    • Atributos del descriptor de seguridad de Microsoft (SID)  : Artículo tutorial sobre cómo manejar y convertir SID en scripts.