Control de Acceso -...

13
Control de Acceso Curso 2013/14 Grado Gesti´onInform´ atica Empresarial Asignatura Auditor´ ıa y Seguridad Inform´ atica Profesores Alfredo Cuesta Infante [email protected] Alberto Herr´ an Gonz´ alez [email protected] Alfredo Cuesta @ 2014 ASI - Control de Acceso,1

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