Control de Acceso Discrecional (DAC) y Obligatorio (MAC)
1️⃣ Explicación en profundidad
🎯 Control de Acceso Discrecional (DAC) → "El dueño manda"
-
Cada archivo o recurso tiene un propietario.
-
Este propietario tiene control total sobre el recurso.
-
Puede decidir quién más puede leer, escribir o ejecutar ese recurso → se asigna vía ACL (listas de control de acceso).
-
Muy flexible → los usuarios pueden decidir fácilmente con quién comparten recursos.
-
Peligroso en ambientes corporativos críticos porque:
-
Es fácil que un usuario se equivoque y dé acceso a personas indebidas.
-
Si un atacante compromete la cuenta del propietario → hereda todos sus privilegios.
-
Ejemplo real:
-
Usuario "Pedro" en Windows crea un archivo llamado "ventas2025.xlsx".
-
Pedro tiene permiso total sobre ese archivo → puede darle permiso a Marta, Javier o cualquier otro.
-
Si Pedro cae en un ataque de phishing → el atacante hereda esos permisos.
🎯 Control de Acceso Obligatorio (MAC) → "Las reglas mandan"
-
No importa lo que quiera el usuario → las reglas establecen qué puede hacer y qué no.
-
Cada recurso tiene una etiqueta de clasificación.
-
Cada usuario tiene una autorización o nivel de seguridad.
-
Solo los usuarios con la clasificación adecuada pueden acceder al recurso → lectura descendente, escritura ascendente bloqueada.
Ejemplo real:
-
Archivo clasificado como "Alto Secreto".
-
Solo usuarios con autorización "Alto Secreto" pueden leerlo.
-
Usuarios con clasificación inferior → no pueden ni verlo.
-
Los de "Alto Secreto" → no pueden escribir o copiar esa info hacia archivos de nivel inferior → evita filtraciones.
Más seguro, pero menos flexible → útil en ambientes como:
-
Gobierno
-
Militar
-
Empresas que manejan secretos muy delicados
2️⃣ Aplicaciones y Herramientas en usos reales
🔧 DAC (Discrecional):
-
Sistemas de archivos NTFS (Windows) → Gestión de permisos por propietario.
-
chmod/chown en UNIX/Linux → Define permisos para propietario, grupo y otros.
-
Samba Shares (Linux) → Control discrecional para compartir archivos en red.
🔧 MAC (Obligatorio):
-
SELinux (Security-Enhanced Linux) → Impone reglas obligatorias sobre qué procesos pueden acceder a qué archivos.
-
AppArmor (Linux) → Similar a SELinux, pero más fácil de administrar.
-
Trusted Solaris / TrustedBSD → Sistemas operativos diseñados para ambientes de alta seguridad.
3️⃣ ¿Qué hace un líder Red, Blue y Purple Team al respecto?
🔴 Red Team (cómo puede atacarse)
-
Buscar usuarios propietarios con privilegios → comprometer cuentas para obtener acceso a sus archivos (DAC).
-
Abusar de configuraciones erróneas de permisos DAC → archivos "world readable" en Linux.
-
En MAC → mucho más difícil → intentan explotar vulnerabilidades para escalar permisos o saltarse etiquetas.
🔵 Blue Team (cómo se protege)
-
Auditar regularmente permisos → detectar exceso de privilegios en DAC.
-
Aplicar el principio de menor privilegio siempre.
-
Implementar MAC en entornos críticos → especialmente para datos ultra-sensibles.
-
Capacitar a usuarios para no cambiar permisos a la ligera.
🟣 Purple Team (cómo se defiende y valida)
-
Simular ataques para verificar si un atacante puede abusar de DAC.
-
Analizar la cobertura de políticas MAC → identificar brechas.
-
Ajustar etiquetas y permisos para evitar que usuarios tengan más acceso del necesario.
✅ Resumen práctico
📌 DAC → Control discrecional. El dueño del recurso decide quién accede. Muy flexible pero menos seguro. Ejemplo: NTFS, chmod/chown.
📌 MAC → Control obligatorio. Las reglas definen el acceso. Mucho más seguro pero rígido. Ejemplo: SELinux, AppArmor.
📌 Red Team → En DAC explota permisos mal configurados. En MAC intenta explotar vulnerabilidades.
📌 Blue Team → Auditar permisos, aplicar PoLP, usar MAC en entornos críticos.
📌 Purple Team → Simular abuso de DAC, validar políticas MAC y ajustar etiquetas para máxima seguridad.
🛡️ Purple Team → ¿Cómo se ataca y cómo se defiende?
Ataque potencial (DAC):
-
Un atacante compromete una cuenta de usuario.
-
Hereda todos los permisos del usuario → accede o roba datos confidenciales.
Defensa (MAC):
-
MAC bloquea al atacante aunque robe una cuenta → solo accede a recursos permitidos por la política.
-
Esto frena lateral movement y escalada de privilegios.
Control de acceso discrecional (DAC) y obligatorio (MAC)
🧠 1️⃣ Explicación en profundidad
¿Qué es el Control de Acceso?
Los sistemas deben controlar quién puede hacer qué. Esto se logra asignando derechos o permisos a las cuentas de usuario.
🔑 DAC → Control de Acceso Discrecional
El propietario del recurso (ej. un archivo) decide quién puede acceder y qué permisos tiene cada usuario.
Es flexible, pero débil para seguridad:
Se puede delegar acceso con facilidad.
Puede haber errores humanos.
Vulnerable a amenazas internas o cuentas comprometidas.
Ejemplo real:
En un servidor de archivos en Windows o Linux, el propietario puede decidir que su colega tenga permisos de lectura/escritura sobre un archivo. Si su cuenta se ve comprometida, el atacante también tendrá esos permisos.
🔐 MAC → Control de Acceso Obligatorio
No importa quién sea el propietario → Se basa en clasificación y etiquetas de seguridad.
Cada recurso tiene una etiqueta (Ejemplo: Alto Secreto).
Cada usuario tiene un nivel de autorización.
Se aplican reglas fijas → No se pueden cambiar de manera discrecional.
Más seguro pero menos flexible → Ideal para entornos militares o datos ultraconfidenciales.
Ejemplo real:
Un usuario con nivel "Confidencial" no podrá acceder a un archivo etiquetado como "Secreto". Aunque el usuario tenga altos privilegios, las reglas son estrictas y no pueden ser evitadas.
🛠️ 2️⃣ Aplicaciones y herramientas en usos reales
DAC (muy común en entornos empresariales):
NTFS (Windows ACL)
Linux (chmod, chown)
Bases de datos (grants, permissions)
MAC (entornos altamente seguros):
SELinux (Security-Enhanced Linux)
AppArmor
Sistemas militares o gubernamentales
🧹 3️⃣ ¿Qué hace un líder Red, Blue y Purple Team al respecto?
🔴 Red Team
Busca errores en las ACL para escalar privilegios.
Abusa de permisos heredados mal configurados.
Exfiltra datos debido a permisos demasiado abiertos.
🔵 Blue Team
Establece políticas de permisos estrictas (principio de menor privilegio).
Revisa y audita regularmente las ACLs.
Aplica MAC en sistemas críticos para evitar abusos discrecionales.
🟣 Purple Team
Valida que no existan permisos excesivos (Red → prueba ataques de escalada).
Monitorea cambios en ACLs y reglas MAC (Blue → verifica defensas).
Integra pruebas continuas para verificar que las configuraciones se mantienen seguras.
✅ 4️⃣ Resumen práctico
Control de Acceso Discrecional (DAC):
- Propietario decide permisos.
- Flexible pero vulnerable a abusos.
- Ejemplos: NTFS, Linux chmod.
Control de Acceso Obligatorio (MAC):
- Basado en etiquetas de seguridad.
- Reglas fijas, no modificables.
- Ejemplos: SELinux, AppArmor.
Consideraciones:
- DAC → mayor flexibilidad, menor seguridad.
- MAC → menor flexibilidad, máxima seguridad.
Purple Team:
- Red → Escalada de privilegios.
- Blue → Principio de menor privilegio y auditorías.
- Purple → Validación continua de configuraciones.
🟣 Purple Team → ¿Cómo se ataca y cómo se defiende?
Ataques esenciales posibles:
Exceso de permisos en DAC → Escalada lateral o de privilegios.
Permisos mal configurados heredados → Exposición de datos sensibles.
Uso de cuentas comprometidas con permisos amplios → Exfiltración.
Defensas clave:
Aplicar el principio de menor privilegio.
Implementar revisión y auditoría periódica de ACL.
Uso de MAC en sistemas críticos → Impide el acceso discrecional.
Segmentar los datos para que solo estén accesibles bajo necesidades reales.