Control de Acceso -...
Transcript of Control de Acceso -...
Control de AccesoCurso 2013/14
Grado Gestion Informatica Empresarial
Asignatura Auditorıa y Seguridad Informatica
Profesores Alfredo Cuesta [email protected] Herran [email protected]
Alfredo Cuesta @ 2014 ASI - Control de Acceso,1
Contenidos
Principios basicosDefinicionesPrincipio de privilegio mınimoRequerimientos de un sistema de control de acceso
Control de Acceso DiscrecionalEn que consisteEstructuras de datosDAC en la practica
ACLs en SO basados en UnixWindows y MacOS
Control de Acceso Basado en Roles¿Por que otro?Modelo Shandu et al. 1996TerminologıaModelo NIST 2001
Alfredo Cuesta @ 2014 ASI - Control de Acceso,2
Principios basicos
Prevenir el uso no autorizado, o de un modo no autorizado, de un recurso
I Control de acceso 6= Autenticacion !!
Usuario → Autenticacion → Sistema → Control de acceso → Recursos
Definiciones
Sujeto La entidad capacitada paraacceder a los objetos(Usuarios o procesos)
Objeto El recurso cuyo acceso escontrolado
Derecho La accion que realiza el sujetosobre el objeto
Carpetas
Ficheros
PropietarioNodosde red
Grupo
Mundo
Leer
Escribir
Ejecutar
Eliminar
Crear
Buscar
Sujeto ObjetoDerechos
Bloques, Mensajes, Prgramas...
Sujeto ObjetoDerechos
Principio de privilegio mınimo“A cada sujeto de un sistema se le otorga el conjunto de privilegios mas restrictivo(o la autorizacion mas baja) necesario para el desempeno de sus tareas autorizadas.”La aplicacion de este principio limita el dano que puede generar un accidente, error ouso no autorizado
Alfredo Cuesta @ 2014 ASI - Control de Acceso,3
Requerimientos de un sistema de control de acceso
Granularidad
I Grano grueso (coarse grain) significa que se asignan privilegiosmasivamente. Proporciona una rebaja en la carga de trabajo.
I Grano fino (fine grain) significa que se asignan privilegios demanera individual, a usuarios o archivos concretos.
I El sistema de control de acceso deberıa proporcionar ambos.
Grano grueso
Grano fino
Polıticas abiertas y cerradas
I En las polıticas abiertas las autorizaciones especifican que accesos estanprohibidos. Todo lo demas esta abierto.
I En las polıticas cerradas las autorizaciones especifican que accesos estanpermitidos. Todo lo demas esta prohibido.
Combinacion de politicas y resolucion de conflictosSi hay varias polıticas de control de acceso se debe contar con un protocolo pararesolver los conflictos que puedan surgir.
Alfredo Cuesta @ 2014 ASI - Control de Acceso,4
Control de Acceso Discrecional
En ingles Discretionary Access Control o DAC
En que consiste
I Metodo tradicional: acceso segun solicitante + reglas de acceso (autorizaciones)
I Discrecional = No sujeto a reglas.Los usuarios pueden cambiar los permisos de aquellos ficheros que les pertenecen.
I 3 estructuras de datos:– Matriz de accesos– Listas de control de acceso (ACL)– Tickets de capacitacion
Matriz de accesos– Sujetos frente a objetos– Cada celda contiene los derechos– Generalmente es una matriz dispersa
→ Se emplean las otras dos
ACL– Descomposicion de la matriz en cols.– Cada sujeto tiene un elemento asociado
en el ACL del objeto– Facil de averiguar todos los sujetos que
tienen un derecho sobre un objeto
Tickets de capacitacion– Descomposicion de la matriz en filas– Cada elemento de la lista es un ticket– Cada objeto tiene un ticket– Cada sujeto tiene una lista de tickets– Facil de averiguar los objetos sobre
los que el sujeto tiene un derecho
Alfredo Cuesta @ 2014 ASI - Control de Acceso,5
Ejemplo de estructuras DAC
¿Tiene el sujeto S el derecho D sobre el objeto O?
OwnReadWrite
ReadWrite
OwnReadWrite
OwnRW
AFile 1
•
Read
Read
Write Read
OwnReadWrite
OwnReadWrite
User A
User BSUBJECTS
OBJECTS
User C
File 2File 1
(a) Access matrix
Figure 4.3 Example of Access Control Structures
(b) Access control lists for files of part (a)
(c) Capability lists for files of part (a)
File 3 File 4
R
B
•
RW
C
File 1User C
•
R
File 2
•
RW
File 4
File 1User B
•
R W
File 2
• •
File 3 File 4Own
RW
BFile 2
•
R
C
OwnRW
OwnRW
OwnRW
OwnRW
File 1User A
•
File 3
OwnRW
AFile 3
•
W
B
OwnRW
B
R
File 4
•
C
R
OwnReadWrite
ReadWrite
OwnReadWrite
OwnRW
AFile 1
•
Read
Read
Write Read
OwnReadWrite
OwnReadWrite
User A
User BSUBJECTS
OBJECTS
User C
File 2File 1
(a) Access matrix
Figure 4.3 Example of Access Control Structures
(b) Access control lists for files of part (a)
(c) Capability lists for files of part (a)
File 3 File 4
R
B
•
RW
C
File 1User C
•
R
File 2
•
RW
File 4
File 1User B
•
R W
File 2
• •
File 3 File 4Own
RW
BFile 2
•
R
C
OwnRW
OwnRW
OwnRW
OwnRW
File 1User A
•
File 3
OwnRW
AFile 3
•
W
B
OwnRW
B
R
File 4
•
C
R
OwnReadWrite
ReadWrite
OwnReadWrite
OwnRW
AFile 1
•
Read
Read
Write Read
OwnReadWrite
OwnReadWrite
User A
User BSUBJECTS
OBJECTS
User C
File 2File 1
(a) Access matrix
Figure 4.3 Example of Access Control Structures
(b) Access control lists for files of part (a)
(c) Capability lists for files of part (a)
File 3 File 4
R
B
•
RW
C
File 1User C
•
R
File 2
•
RW
File 4
File 1User B
•
R W
File 2
• •
File 3 File 4Own
RW
BFile 2
•
R
C
OwnRW
OwnRW
OwnRW
OwnRW
File 1User A
•
File 3
OwnRW
AFile 3
•
W
B
OwnRW
B
R
File 4
•
C
R
Alfredo Cuesta @ 2014 ASI - Control de Acceso,6
DAC en la practica
Estandar POSIX(Portable Operating System Interface)
I 9 bits que asignan:I 3 permisos sobre un objeto:
lectura (r), escritura (w) y ejecucion (x)I 3 clases: propietario, al grupo o a otros.
-rwxrw-r-x propietario grupo resto = archivod = carpetaL = link
I El estardar no implementa ACLs↓ Los grupos pueden no reflejar la estructura organizativa↓ Diferentes administradores y aplicaciones aplican sus propios trucos para extender
estas capacidades.∗ En 1998 se retiro el patrocinio a los grupos de trabajo para estendarizar ACLs.
Alfredo Cuesta @ 2014 ASI - Control de Acceso,7
SO basados en Unix
I Cada usuario tiene un UID (User ID) que es unico.* Almacenados en el archivo /etc/passwd
I Cada usuario pertenece a un grupo principal y,opcionalmente, a otros grupos.
I Cada grupo tiene un GID (Group ID) que es unico.* Almacenados en el archivo /etc/group
I Los ficheros son propiedad de quien los crea.I Implementaciones:
– Linux: Parche con las propuestas en el Kernel de Nov.2002– FreeBSD: Minimal ACL + Extended ACL
Minimal ACLProteccion clasica basada en permisos de 9 bits = UGO(User Group Other)
Extended ACL
I Se anaden grupos y usuarios a la lista ACL,
I cada uno de ellos con permisos de 3 bits extra +
I una mascara que impide permisos si no coinciden con ella.
Ej. Si la mascara es mask::rw-,y hay un permiso para el usuario user:alfredo:r-x,entonces el usuario alfredo solo tiene permiso de lectura ya que es el unico quecoincide en permiso y en mascara.
Alfredo Cuesta @ 2014 ASI - Control de Acceso,8
ACLs en Windows y MacOS
Windows y MacOSI El sistema de archivos FAT no tiene
control de accesos. Todos los usuariospueden acceder a todos los recursos.
I Con el sistema de archivos NTFS,desde WinXP en adelante sı.
I Solo los usuarios que tienen permisossobre un objeto pueden ver la pestanaSeguridad haciendo clic-derecho yseleccionando propiedades.
I Alternativamente se puede utilizar elcomando cacls
I MacOS X implementa los mismosestandares POSIX que Linux. Tambienimplementa el estandar NFSv4 cuandose utiliza el sistema de archivos HFS+
Alfredo Cuesta @ 2014 ASI - Control de Acceso,9
Control de Acceso Basado en Roles (1/3)
En ingles Role-Based Access Control o RBAC
¿Por que hace falta otro?
I Las polıticas de seguridad son dinamicas porque- Los usuarios cambian con frecuencia de rol en la
organizacion, pero un rol suele necesitar siempre losmismos recursos para su tarea.
- Es muy frecuente dar de alta o baja a los usuariospero muy raro crear o eliminar roles.
I Los roles reflejan la estructura organizativa.
User 1
User 2
User 3
User 4
Rol 1
Rol 2
Rol 3
Recurso 1
Recurso 2
Recurso 5
Recurso 4
Recurso 3
Asignaciones"permanentes"
Asignaciones"dinámicas"
Usuarios
Sesiones
Roles
PermisosRestricciones
RBAC0
RBAC1 RBAC2
RBAC3 RBAC = Referencia0
RBAC = Restricciones1
RBAC = Jerarquía2
RBAC = Completo3
Modelo Shandu et al. 1996Consiste en un modelo de referencia RBAC0 al que se leanaden 2 componentes: RBAC1 y RBAC2.
I RBAC0: Relaciona usuarios y roles con sesiones,y roles con permisos.
I RBAC1: Anade restricciones
I RBAC2: Anade jerarquıas
En el grafico de la izquierdalas flechas con 1 punta indican relacion 1 a 1;
y con 2 puntas relacion 1 a varios.
Alfredo Cuesta @ 2014 ASI - Control de Acceso,10
Control de Acceso Basado en Roles (2/3)
Terminologıa
Permiso Aprobacion de un modo concreto de acceder a uno o mas recursos.Sesion Relacion temporal entre un usuario y los roles.
I El usuario establece la sesion solo con los roles necesarios para la tarea que debe realizar.I Proporciona flexibilidad y granulidad.
Grano fino es la posibilidad de especificar tareas muy concretasI Se asegura el principio de privilegio mınimo.I Una sesion no es una asignacion de roles al usuario !!
Asignación de roles vs. Establecimiento de sesiones
Rol 1
Rol 2
Rol 3
Rol 1
Rol 2
Rol 3
Sesión 1
Sesión 2
Sesión 3
Sesión 4
Jerarquıa Relaciones entre los rolesI Mas responsabilidad tendra mas autorizacion de acceso.I Roles subordinados a otros tendran un subconjunto de los derechos
de los roles por encima.I Un rol puede heredar los derechos de los roles subordinados.
Restricciones Limitaciones sobre usuarios, roles o permisos.I Roles mutuamente exclusivos.
La sesion limita el acceso a 1 unico rol.Un permiso solo puede ser otorgado a un conjunto de roles.
I Cardinalidad. Es la limitacion en cuanto al numero de roles.Imponer un maximo de 5 roles por sesion.Imponer un maximo de 3 roles para el permiso de borrado.
I Prerequisitos. Un permiso/rol se otorga solo si ya tiene otro necesario.
Alfredo Cuesta @ 2014 ASI - Control de Acceso,11
Control de Acceso Basado en Roles (3/3)
Modelo NIST 2001En 2001 el National Institute of Standards and Technology incorpora la
Especificacion Funcional Administrativa y de Sistemas(System and Administrative Functional Specification).
Dicha especificacion clasifica las funciones en 3 categorıas
I Funciones administrativasCapacitan para crear, borrar o gestionar elementos o relaciones entre ellos.
I Funciones de ayuda/soporte al sistemaFunciones para la gestion de sesiones y el control de acceso.
I Funciones de revisionCapacitan para realizar consultas a los elementos o relaciones.
En la siguiente transparencia hay ejemplos de las funciones de cada tipo para cada unode los componentes del NIST2001:
1. Nucleo
2. Jerarquıas
3. Separacion Estatica de tareas (SSD)
4. Separacion Dinamica de tareas (DSD)
Alfredo Cuesta @ 2014 ASI - Control de Acceso,12
Administrativas Ayuda / Soporte Revisión
Nucleo
-- Añadir / Borrar
-- Añadir / Borrar roles,
-- Crear / Eliminar asignaciones usuario - rol
-- Crear / Eliminar asignaciones permiso - rol
-- Crear una sesión con un conjunto de roles
activo por defecto.
-- Añadir / Borrar un rol a una sesión.
-- Comprobar que el sujeto de una sesión tiene
permiso para acceder al objeto que quiere.
Funciones para revisar todos los elementos,
relaciones, usuarios, asignaciones de roles,
sesiones…
Jerarquías
-- Crear / Borrar una relacion de herencia
inmediata entre 2 roles (*)
-- Crear un nuevo rol, Ascendente / Descendente
de otro que ya existe (*)
Ver pemisos y usuarios asociados, ya sea
directamente o mediante herencia, a cada rol.
Relaciones estáticas de
separación de tareas
(Static Separation of
Duty , SSD)
-- Crear conjuntos excluyentes de roles
(un usuario se asigna a un conjunto).
-- Asignar cardinalidad = número máximo de
usuarios permitidos en una SSD
Ver las propiedades de cada SSD
Relaciones dinámicas de
separación de tareas
(Dynamic Separation of
Duty , DSD)
(*) El rol R1 es descendiente de R2 si R1 incluye todos los permisos de R2 (hereda de R2) y todos los usuarios asignados a R1 son también asignados a R2
FuncionesComponentes
Igual que SSD (limitar los permisos de un usuario) pero ahora las limitaciones se hacen efectivas a partir de un núm. de sesiones abiertas a la vez.
Alfredo Cuesta @ 2014 ASI - Control de Acceso,13